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_801A9A74(void);
 | 
			
		||||
 | 
			
		||||
void GameOver_Init(PlayState* play);
 | 
			
		||||
void GameOver_FadeLights(PlayState* play);
 | 
			
		||||
void GameOver_Update(PlayState* play);
 | 
			
		||||
void Regs_InitData(PlayState* play);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,6 +39,7 @@
 | 
			
		|||
#include "z64eff_footmark.h"
 | 
			
		||||
#include "z64effect.h"
 | 
			
		||||
#include "z64frameadvance.h"
 | 
			
		||||
#include "z64game_over.h"
 | 
			
		||||
#include "z64interface.h"
 | 
			
		||||
#include "z64item.h"
 | 
			
		||||
#include "z64light.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -615,22 +616,6 @@ typedef struct {
 | 
			
		|||
    /* 0x1 */ u8   ambienceId;
 | 
			
		||||
} 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 {
 | 
			
		||||
    /* 0x00000 */ GameState state;
 | 
			
		||||
    /* 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_Destroy(void);
 | 
			
		||||
void ShrinkWindow_Update(s32 framerateDivisor);
 | 
			
		||||
void ShrinkWindow_Draw(GraphicsContext* gfxCtx);
 | 
			
		||||
void ShrinkWindow_Draw(struct GraphicsContext* gfxCtx);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,10 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
#include "z64game_over.h"
 | 
			
		||||
#include "z64rumble.h"
 | 
			
		||||
#include "z64shrink_window.h"
 | 
			
		||||
#include "z64.h"
 | 
			
		||||
#include "functions.h"
 | 
			
		||||
#include "variables.h"
 | 
			
		||||
#include "macros.h"
 | 
			
		||||
 | 
			
		||||
void GameOver_Init(PlayState* play) {
 | 
			
		||||
    play->gameOverCtx.state = GAMEOVER_INACTIVE;
 | 
			
		||||
| 
						 | 
				
			
			@ -67,6 +71,7 @@ void GameOver_Update(PlayState* play) {
 | 
			
		|||
            Rumble_Request(0.0f, 126, 124, 63);
 | 
			
		||||
            gameOverCtx->state = GAMEOVER_DEATH_WAIT_GROUND;
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case GAMEOVER_DEATH_FADE_OUT:
 | 
			
		||||
            if (Audio_GetActiveSequence(SEQ_PLAYER_FANFARE) != NA_BGM_GAME_OVER) {
 | 
			
		||||
                func_80169F78(&play->state);
 | 
			
		||||
| 
						 | 
				
			
			@ -83,31 +88,36 @@ void GameOver_Update(PlayState* play) {
 | 
			
		|||
                Rumble_StateReset();
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case GAMEOVER_REVIVE_START:
 | 
			
		||||
            gameOverCtx->state++;
 | 
			
		||||
            gameOverCtx->state++; // GAMEOVER_REVIVE_RUMBLE
 | 
			
		||||
            sGameOverTimer = 0;
 | 
			
		||||
            Kankyo_InitGameOverLights(play);
 | 
			
		||||
            ShrinkWindow_Letterbox_SetSizeTarget(32);
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case GAMEOVER_REVIVE_RUMBLE:
 | 
			
		||||
            sGameOverTimer = 50;
 | 
			
		||||
            gameOverCtx->state++;
 | 
			
		||||
            gameOverCtx->state++; // GAMEOVER_REVIVE_WAIT_GROUND
 | 
			
		||||
            Rumble_Request(0.0f, 126, 124, 63);
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case GAMEOVER_REVIVE_WAIT_GROUND:
 | 
			
		||||
            sGameOverTimer--;
 | 
			
		||||
            if (sGameOverTimer == 0) {
 | 
			
		||||
                sGameOverTimer = 64;
 | 
			
		||||
                gameOverCtx->state++;
 | 
			
		||||
                gameOverCtx->state++; // GAMEOVER_REVIVE_WAIT_FAIRY
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case GAMEOVER_REVIVE_WAIT_FAIRY:
 | 
			
		||||
            sGameOverTimer--;
 | 
			
		||||
            if (sGameOverTimer == 0) {
 | 
			
		||||
                sGameOverTimer = 50;
 | 
			
		||||
                gameOverCtx->state++;
 | 
			
		||||
                gameOverCtx->state++; // GAMEOVER_REVIVE_FADE_OUT
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case GAMEOVER_REVIVE_FADE_OUT:
 | 
			
		||||
            Kankyo_FadeOutGameOverLights(play);
 | 
			
		||||
            sGameOverTimer--;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -962,7 +962,7 @@ void KaleidoScope_Update(PlayState* play) {
 | 
			
		|||
            pauseCtx->promptChoice = PAUSE_PROMPT_YES;
 | 
			
		||||
            pauseCtx->state++;
 | 
			
		||||
            if (gameOverCtx->state == GAMEOVER_INACTIVE) {
 | 
			
		||||
                pauseCtx->state++;
 | 
			
		||||
                pauseCtx->state++; // GAMEOVER_DEATH_START
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue