mirror of https://github.com/zeldaret/mm.git
`z64game_over.h` (#1183)
* z64game_over.h * format * Update include/z64game_over.h Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> --------- Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
This commit is contained in:
parent
147e4fcedc
commit
045c3537a9
|
@ -2989,9 +2989,6 @@ u8 func_801A982C(void);
|
||||||
// void func_801A99B8(void);
|
// void func_801A99B8(void);
|
||||||
// void func_801A9A74(void);
|
// void func_801A9A74(void);
|
||||||
|
|
||||||
void GameOver_Init(PlayState* play);
|
|
||||||
void GameOver_FadeLights(PlayState* play);
|
|
||||||
void GameOver_Update(PlayState* play);
|
|
||||||
void Regs_InitData(PlayState* play);
|
void Regs_InitData(PlayState* play);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include "z64eff_footmark.h"
|
#include "z64eff_footmark.h"
|
||||||
#include "z64effect.h"
|
#include "z64effect.h"
|
||||||
#include "z64frameadvance.h"
|
#include "z64frameadvance.h"
|
||||||
|
#include "z64game_over.h"
|
||||||
#include "z64interface.h"
|
#include "z64interface.h"
|
||||||
#include "z64item.h"
|
#include "z64item.h"
|
||||||
#include "z64light.h"
|
#include "z64light.h"
|
||||||
|
@ -615,22 +616,6 @@ typedef struct {
|
||||||
/* 0x1 */ u8 ambienceId;
|
/* 0x1 */ u8 ambienceId;
|
||||||
} SequenceContext; // size = 0x2
|
} SequenceContext; // size = 0x2
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
/* 0 */ GAMEOVER_INACTIVE,
|
|
||||||
/* 1 */ GAMEOVER_DEATH_START,
|
|
||||||
/* 2 */ GAMEOVER_DEATH_WAIT_GROUND, // wait for player to fall and hit the ground
|
|
||||||
/* 3 */ GAMEOVER_DEATH_FADE_OUT, // wait before fading out
|
|
||||||
/* 20 */ GAMEOVER_REVIVE_START = 20,
|
|
||||||
/* 21 */ GAMEOVER_REVIVE_RUMBLE,
|
|
||||||
/* 22 */ GAMEOVER_REVIVE_WAIT_GROUND, // wait for player to fall and hit the ground
|
|
||||||
/* 23 */ GAMEOVER_REVIVE_WAIT_FAIRY, // wait for the fairy to rise all the way up out of player's body
|
|
||||||
/* 24 */ GAMEOVER_REVIVE_FADE_OUT // fade out the game over lights as player is revived and gets back up
|
|
||||||
} GameOverState;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
/* 0x0 */ u16 state;
|
|
||||||
} GameOverContext; // size = 0x2
|
|
||||||
|
|
||||||
typedef struct PlayState {
|
typedef struct PlayState {
|
||||||
/* 0x00000 */ GameState state;
|
/* 0x00000 */ GameState state;
|
||||||
/* 0x000A4 */ s16 sceneId;
|
/* 0x000A4 */ s16 sceneId;
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
#ifndef Z64GAME_OVER_H
|
||||||
|
#define Z64GAME_OVER_H
|
||||||
|
|
||||||
|
#include "ultra64.h"
|
||||||
|
|
||||||
|
struct PlayState;
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum GameOverState {
|
||||||
|
/* 0 */ GAMEOVER_INACTIVE,
|
||||||
|
/* 1 */ GAMEOVER_DEATH_START,
|
||||||
|
/* 2 */ GAMEOVER_DEATH_WAIT_GROUND, // wait for player to fall and hit the ground
|
||||||
|
/* 3 */ GAMEOVER_DEATH_FADE_OUT, // wait before fading out
|
||||||
|
/* 20 */ GAMEOVER_REVIVE_START = 20,
|
||||||
|
/* 21 */ GAMEOVER_REVIVE_RUMBLE,
|
||||||
|
/* 22 */ GAMEOVER_REVIVE_WAIT_GROUND, // wait for player to fall and hit the ground
|
||||||
|
/* 23 */ GAMEOVER_REVIVE_WAIT_FAIRY, // wait for the fairy to rise all the way up out of player's body
|
||||||
|
/* 24 */ GAMEOVER_REVIVE_FADE_OUT // fade out the game over lights as player is revived and gets back up
|
||||||
|
} GameOverState;
|
||||||
|
|
||||||
|
typedef struct GameOverContext {
|
||||||
|
/* 0x0 */ u16 state;
|
||||||
|
} GameOverContext; // size = 0x2
|
||||||
|
|
||||||
|
|
||||||
|
void GameOver_Init(struct PlayState* play);
|
||||||
|
void GameOver_FadeLights(struct PlayState* play);
|
||||||
|
void GameOver_Update(struct PlayState* play);
|
||||||
|
|
||||||
|
#endif
|
|
@ -18,6 +18,6 @@ s32 ShrinkWindow_Pillarbox_GetSize(void);
|
||||||
void ShrinkWindow_Init(void);
|
void ShrinkWindow_Init(void);
|
||||||
void ShrinkWindow_Destroy(void);
|
void ShrinkWindow_Destroy(void);
|
||||||
void ShrinkWindow_Update(s32 framerateDivisor);
|
void ShrinkWindow_Update(s32 framerateDivisor);
|
||||||
void ShrinkWindow_Draw(GraphicsContext* gfxCtx);
|
void ShrinkWindow_Draw(struct GraphicsContext* gfxCtx);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
#include "global.h"
|
#include "z64game_over.h"
|
||||||
#include "z64rumble.h"
|
#include "z64rumble.h"
|
||||||
#include "z64shrink_window.h"
|
#include "z64shrink_window.h"
|
||||||
|
#include "z64.h"
|
||||||
|
#include "functions.h"
|
||||||
|
#include "variables.h"
|
||||||
|
#include "macros.h"
|
||||||
|
|
||||||
void GameOver_Init(PlayState* play) {
|
void GameOver_Init(PlayState* play) {
|
||||||
play->gameOverCtx.state = GAMEOVER_INACTIVE;
|
play->gameOverCtx.state = GAMEOVER_INACTIVE;
|
||||||
|
@ -67,6 +71,7 @@ void GameOver_Update(PlayState* play) {
|
||||||
Rumble_Request(0.0f, 126, 124, 63);
|
Rumble_Request(0.0f, 126, 124, 63);
|
||||||
gameOverCtx->state = GAMEOVER_DEATH_WAIT_GROUND;
|
gameOverCtx->state = GAMEOVER_DEATH_WAIT_GROUND;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAMEOVER_DEATH_FADE_OUT:
|
case GAMEOVER_DEATH_FADE_OUT:
|
||||||
if (Audio_GetActiveSequence(SEQ_PLAYER_FANFARE) != NA_BGM_GAME_OVER) {
|
if (Audio_GetActiveSequence(SEQ_PLAYER_FANFARE) != NA_BGM_GAME_OVER) {
|
||||||
func_80169F78(&play->state);
|
func_80169F78(&play->state);
|
||||||
|
@ -83,31 +88,36 @@ void GameOver_Update(PlayState* play) {
|
||||||
Rumble_StateReset();
|
Rumble_StateReset();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAMEOVER_REVIVE_START:
|
case GAMEOVER_REVIVE_START:
|
||||||
gameOverCtx->state++;
|
gameOverCtx->state++; // GAMEOVER_REVIVE_RUMBLE
|
||||||
sGameOverTimer = 0;
|
sGameOverTimer = 0;
|
||||||
Kankyo_InitGameOverLights(play);
|
Kankyo_InitGameOverLights(play);
|
||||||
ShrinkWindow_Letterbox_SetSizeTarget(32);
|
ShrinkWindow_Letterbox_SetSizeTarget(32);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAMEOVER_REVIVE_RUMBLE:
|
case GAMEOVER_REVIVE_RUMBLE:
|
||||||
sGameOverTimer = 50;
|
sGameOverTimer = 50;
|
||||||
gameOverCtx->state++;
|
gameOverCtx->state++; // GAMEOVER_REVIVE_WAIT_GROUND
|
||||||
Rumble_Request(0.0f, 126, 124, 63);
|
Rumble_Request(0.0f, 126, 124, 63);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAMEOVER_REVIVE_WAIT_GROUND:
|
case GAMEOVER_REVIVE_WAIT_GROUND:
|
||||||
sGameOverTimer--;
|
sGameOverTimer--;
|
||||||
if (sGameOverTimer == 0) {
|
if (sGameOverTimer == 0) {
|
||||||
sGameOverTimer = 64;
|
sGameOverTimer = 64;
|
||||||
gameOverCtx->state++;
|
gameOverCtx->state++; // GAMEOVER_REVIVE_WAIT_FAIRY
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAMEOVER_REVIVE_WAIT_FAIRY:
|
case GAMEOVER_REVIVE_WAIT_FAIRY:
|
||||||
sGameOverTimer--;
|
sGameOverTimer--;
|
||||||
if (sGameOverTimer == 0) {
|
if (sGameOverTimer == 0) {
|
||||||
sGameOverTimer = 50;
|
sGameOverTimer = 50;
|
||||||
gameOverCtx->state++;
|
gameOverCtx->state++; // GAMEOVER_REVIVE_FADE_OUT
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAMEOVER_REVIVE_FADE_OUT:
|
case GAMEOVER_REVIVE_FADE_OUT:
|
||||||
Kankyo_FadeOutGameOverLights(play);
|
Kankyo_FadeOutGameOverLights(play);
|
||||||
sGameOverTimer--;
|
sGameOverTimer--;
|
||||||
|
|
|
@ -962,7 +962,7 @@ void KaleidoScope_Update(PlayState* play) {
|
||||||
pauseCtx->promptChoice = PAUSE_PROMPT_YES;
|
pauseCtx->promptChoice = PAUSE_PROMPT_YES;
|
||||||
pauseCtx->state++;
|
pauseCtx->state++;
|
||||||
if (gameOverCtx->state == GAMEOVER_INACTIVE) {
|
if (gameOverCtx->state == GAMEOVER_INACTIVE) {
|
||||||
pauseCtx->state++;
|
pauseCtx->state++; // GAMEOVER_DEATH_START
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue