mirror of
https://github.com/zeldaret/af.git
synced 2026-10-05 00:47:39 -04:00
m_play (#50)
* m_play * Some warnings * lots of function renames from the gcn version * fix warnings * format * a * a * PR * PR2 --------- Co-authored-by: Maide <you@example.com> Co-authored-by: angie <angheloalf95@gmail.com>
This commit is contained in:
+5
-3
@@ -3,12 +3,14 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
// void func_80059BF0_jp();
|
||||
// void func_80059C24_jp();
|
||||
struct PlayState;
|
||||
|
||||
void func_80059BF0_jp(void);
|
||||
void banti_move(struct PlayState* play);
|
||||
// void func_80059EC0_jp();
|
||||
// void func_8005A070_jp();
|
||||
// void func_8005A154_jp();
|
||||
// void func_8005A238_jp();
|
||||
// void func_8005A2FC_jp();
|
||||
void banti_draw(struct PlayState* play);
|
||||
|
||||
#endif
|
||||
|
||||
+2
-1
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
struct GameState;
|
||||
|
||||
// void func_8005ABA0_jp();
|
||||
@@ -108,7 +109,7 @@ struct GameState;
|
||||
// void func_8005DCCC_jp();
|
||||
// void mBGMPsComp_make_ps_lost_fanfare();
|
||||
// void func_8005DD5C_jp();
|
||||
// void func_8005DDE4_jp();
|
||||
void mBGMPsComp_make_ps_wipe(s32 arg0, struct PlayState* play);
|
||||
// void func_8005DE0C_jp();
|
||||
// void func_8005DE60_jp();
|
||||
// void func_8005DE88_jp();
|
||||
|
||||
+6
-4
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
|
||||
// void func_8005F390_jp();
|
||||
// void func_8005F3DC_jp();
|
||||
// void func_8005F4E4_jp();
|
||||
@@ -41,7 +43,7 @@
|
||||
// void func_80060970_jp();
|
||||
// void func_80060A6C_jp();
|
||||
// void func_80060B18_jp();
|
||||
// void Camera2_ClearActorTalking_Cull();
|
||||
void Camera2_ClearActorTalking_Cull(struct PlayState* play);
|
||||
// void func_80060D1C_jp();
|
||||
// void func_80060D58_jp();
|
||||
// void func_80060D6C_jp();
|
||||
@@ -154,9 +156,9 @@
|
||||
// void func_80064EF0_jp();
|
||||
// void func_80064F08_jp();
|
||||
// void func_80064F28_jp();
|
||||
// void func_80064F48_jp();
|
||||
void func_80064F48_jp(struct PlayState* play);
|
||||
// void func_80064F84_jp();
|
||||
// void func_80064FD8_jp();
|
||||
// void func_80065028_jp();
|
||||
void Camera2_process(struct PlayState* play);
|
||||
void Camera2_draw(struct PlayState* play);
|
||||
|
||||
#endif
|
||||
|
||||
+4
-3
@@ -5,6 +5,7 @@
|
||||
|
||||
struct Input;
|
||||
struct GraphicsContext;
|
||||
struct PlayState;
|
||||
|
||||
// void func_8007A620_jp();
|
||||
// void func_8007A630_jp();
|
||||
@@ -70,14 +71,14 @@ void Debug_mode_output(struct GraphicsContext* gfxCtx);
|
||||
// void func_8007CB50_jp();
|
||||
// void func_8007CBEC_jp();
|
||||
// void func_8007CC9C_jp();
|
||||
// void func_8007CDB8_jp();
|
||||
void mDemo_stock_clear(void);
|
||||
// void func_8007CDD8_jp();
|
||||
// void func_8007CF00_jp();
|
||||
// void func_8007CF34_jp();
|
||||
// void func_8007CF44_jp();
|
||||
// void func_8007CF84_jp();
|
||||
// void func_8007CFB4_jp();
|
||||
// void func_8007CFD8_jp();
|
||||
void mDemo_Main(struct PlayState* play);
|
||||
void func_8007CFD8_jp(struct PlayState* play);
|
||||
// void func_8007D030_jp();
|
||||
// void func_8007D048_jp();
|
||||
// void func_8007D080_jp();
|
||||
|
||||
+17
-11
@@ -3,22 +3,28 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
|
||||
typedef struct Play80804480 {
|
||||
/* 0x00 */ char unk00[0xDC];
|
||||
} Play80804480; // size = 0xDC
|
||||
|
||||
// void func_800831E0_jp();
|
||||
// void func_800835AC_jp();
|
||||
// void func_8008366C_jp();
|
||||
// void func_800836F8_jp();
|
||||
void fbdemo_cleanup(Play80804480* arg0);
|
||||
s32 fbdemo_init(Play80804480* arg0, s32 arg1, s32 arg2, struct PlayState* play);
|
||||
// void func_80083870_jp();
|
||||
// void func_80083984_jp();
|
||||
void fbdemo_draw(Play80804480* arg0, Gfx** gfx);
|
||||
// void func_80083AB0_jp();
|
||||
// void func_80083BE4_jp();
|
||||
void fbdemo_move(Play80804480* arg0);
|
||||
// void func_80083BF0_jp();
|
||||
// void func_80083C00_jp();
|
||||
// void func_80083CBC_jp();
|
||||
void fbdemo_triforce_startup(void*);
|
||||
void fbdemo_triforce_init(void*);
|
||||
// void func_80083CE8_jp();
|
||||
// void func_80083D14_jp();
|
||||
// void func_80083E08_jp();
|
||||
// void func_8008400C_jp();
|
||||
// void func_80084018_jp();
|
||||
// void func_80084068_jp();
|
||||
void fbdemo_triforce_move(void*, u8);
|
||||
void fbdemo_triforce_draw(void*, Gfx**);
|
||||
s32 fbdemo_triforce_is_finish(void*, PlayState* play);
|
||||
void fbdemo_triforce_settype(void*, s32);
|
||||
void fbdemo_triforce_setcolor_rgba8888(void*, s32);
|
||||
|
||||
#endif
|
||||
|
||||
+7
-7
@@ -3,13 +3,13 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
// void func_80084080_jp();
|
||||
// void func_800840AC_jp();
|
||||
// void func_8008418C_jp();
|
||||
// void func_800843C8_jp();
|
||||
// void func_80084480_jp();
|
||||
// void func_800844B0_jp();
|
||||
void fbdemo_wipe1_init(void*);
|
||||
void fbdemo_wipe1_move(void*, u8);
|
||||
void fbdemo_wipe1_draw(void*, Gfx**);
|
||||
void fbdemo_wipe1_startup(void*);
|
||||
void fbdemo_wipe1_settype(void*, s32);
|
||||
void fbdemo_wipe1_setcolor_rgba8888(void*, s32);
|
||||
// void func_800844BC_jp();
|
||||
// void func_800844C8_jp();
|
||||
s32 fbdemo_wipe1_is_finish(void*, PlayState* play);
|
||||
|
||||
#endif
|
||||
|
||||
+13
-7
@@ -3,12 +3,18 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
// void func_800844E0_jp();
|
||||
// void func_8008450C_jp();
|
||||
// void func_800845EC_jp();
|
||||
// void func_8008468C_jp();
|
||||
// void func_800846D4_jp();
|
||||
// void func_800846E0_jp();
|
||||
// void func_800846EC_jp();
|
||||
struct PlayState;
|
||||
|
||||
typedef struct PlayState2128 {
|
||||
/* 0x00 */ char unk00[0x10];
|
||||
} PlayState2128; // size = 0x10
|
||||
|
||||
void fbdemo_fade_init(void* arg0);
|
||||
void fbdemo_fade_move(void* arg0, u8 arg1);
|
||||
void fbdemo_fade_draw(void* arg0, Gfx** gfx);
|
||||
void fbdemo_fade_startup(void* arg0);
|
||||
void fbdemo_fade_settype(void* arg0, s32 arg1);
|
||||
void fbdemo_fade_setcolor_rgba8888(void* arg0, s32 arg1);
|
||||
s32 fbdemo_fade_is_finish(void* arg0, struct PlayState* play);
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -15,6 +15,6 @@
|
||||
// void func_800A63F8_jp();
|
||||
// void func_800A6450_jp();
|
||||
// void func_800A6548_jp();
|
||||
// void func_800A65C4_jp();
|
||||
void func_800A65C4_jp(void);
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -32,6 +32,6 @@
|
||||
// void func_800AFCAC_jp();
|
||||
// void func_800AFCD8_jp();
|
||||
// void func_800AFDA8_jp();
|
||||
// void func_800B0010_jp();
|
||||
void func_800B0010_jp(void);
|
||||
|
||||
#endif
|
||||
|
||||
+3
-1
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
|
||||
// void func_800B67C0_jp();
|
||||
// void func_800B6838_jp();
|
||||
// void func_800B68E8_jp();
|
||||
@@ -28,7 +30,7 @@
|
||||
// void func_800B7468_jp();
|
||||
// void func_800B74E8_jp();
|
||||
// void func_800B7560_jp();
|
||||
// void func_800B7624_jp();
|
||||
void mPO_business_proc(struct PlayState* play);
|
||||
// void func_800B7680_jp();
|
||||
// void func_800B7700_jp();
|
||||
|
||||
|
||||
+6
-4
@@ -3,8 +3,10 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
|
||||
// void func_800BD2B0_jp();
|
||||
// void func_800BD37C_jp();
|
||||
Gfx* gfx_set_fog_nosync(Gfx* gfx, u8 arg1, u8 arg2, u8 arg3, s32 arg4, s16 arg5, s16 arg6);
|
||||
// void func_800BD3EC_jp();
|
||||
// void func_800BD428_jp();
|
||||
// void func_800BD448_jp();
|
||||
@@ -21,7 +23,7 @@
|
||||
// void func_800BD68C_jp();
|
||||
// void func_800BD6D0_jp();
|
||||
// void func_800BD6F8_jp();
|
||||
// void func_800BD720_jp();
|
||||
Gfx* func_800BD720_jp(Gfx* gfx);
|
||||
// void func_800BD748_jp();
|
||||
// void func_800BD770_jp();
|
||||
// void func_800BD798_jp();
|
||||
@@ -32,8 +34,8 @@
|
||||
// void func_800BD9FC_jp();
|
||||
// void func_800BDA20_jp();
|
||||
// void two_tex_scroll();
|
||||
// void DisplayList_initialize();
|
||||
// void func_800BDF90_jp();
|
||||
void DisplayList_initialize(GraphicsContext* gfxCtx, u8 arg1, u8 arg2, u8 arg3, struct PlayState* play);
|
||||
void fade_rgba8888_draw(Gfx** gfx, s32 arg1);
|
||||
// void func_800BE030_jp();
|
||||
// void fade_black_draw();
|
||||
// void func_800BE094_jp();
|
||||
|
||||
+1
-1
@@ -77,6 +77,6 @@
|
||||
// void func_800C2D8C_jp();
|
||||
// void func_800C2DF0_jp();
|
||||
// void func_800C2E80_jp();
|
||||
// void func_800C2EE0_jp();
|
||||
void func_800C2EE0_jp(void);
|
||||
|
||||
#endif
|
||||
|
||||
+16
-7
@@ -3,6 +3,15 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
|
||||
typedef struct PlayState1CBC {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ char unk04[0x8];
|
||||
/* 0x0C */ s32 unk_0C;
|
||||
/* 0x10 */ char unk10[0xE0];
|
||||
} PlayState1CBC; // size = 0xF0
|
||||
|
||||
// void func_800C4420_jp();
|
||||
// void func_800C4440_jp();
|
||||
// void func_800C453C_jp();
|
||||
@@ -11,24 +20,24 @@
|
||||
// void mSM_ovlptr_dllcnv();
|
||||
// void func_800C47B4_jp();
|
||||
// void func_800C497C_jp();
|
||||
// void func_800C49D4_jp();
|
||||
// void func_800C4C60_jp();
|
||||
void func_800C49D4_jp(struct PlayState* play);
|
||||
void mSM_submenu_ovlptr_cleanup(PlayState1CBC* arg0);
|
||||
// void load_player();
|
||||
// void func_800C4D1C_jp();
|
||||
// void func_800C4D80_jp();
|
||||
void mSM_submenu_ct(PlayState1CBC* arg0);
|
||||
void mSM_submenu_dt(PlayState1CBC* arg0);
|
||||
// void func_800C4D8C_jp();
|
||||
// void func_800C4DB0_jp();
|
||||
// void func_800C4DD8_jp();
|
||||
// void func_800C4DFC_jp();
|
||||
// void func_800C4E2C_jp();
|
||||
// void func_800C4E58_jp();
|
||||
void mSM_submenu_ctrl(struct PlayState* play);
|
||||
// void func_800C50C4_jp();
|
||||
// void func_800C50EC_jp();
|
||||
// void func_800C510C_jp();
|
||||
// void func_800C5228_jp();
|
||||
// void func_800C524C_jp();
|
||||
// void func_800C5328_jp();
|
||||
// void func_800C535C_jp();
|
||||
void mSM_submenu_move(PlayState1CBC* arg0);
|
||||
void mSM_submenu_draw(PlayState1CBC* arg0, struct PlayState* play);
|
||||
// void func_800C53B8_jp();
|
||||
// void func_800C543C_jp();
|
||||
// void func_800C54A8_jp();
|
||||
|
||||
+5
-5
@@ -19,22 +19,22 @@ struct PlayState_unk_0110;
|
||||
// void func_800C5E10_jp();
|
||||
// void func_800C5EA0_jp();
|
||||
// void func_800C5F0C_jp();
|
||||
// void func_800C5F64_jp();
|
||||
void mSc_dmacopy_data_bank(struct PlayState_unk_0110* arg0);
|
||||
s32 mSc_bank_regist_check(struct PlayState_unk_0110* arg0, s16 arg1);
|
||||
void func_800C6144_jp(struct PlayState_unk_0110* arg0, s16 arg1);
|
||||
void mSc_regist_initial_exchange_bank(struct PlayState* play);
|
||||
// void func_800C62C4_jp();
|
||||
// void func_800C639C_jp();
|
||||
// void mSc_data_bank_ct();
|
||||
// void mSc_decide_exchange_bank();
|
||||
void mSc_data_bank_ct(struct PlayState* play, struct PlayState_unk_0110* arg1);
|
||||
void mSc_decide_exchange_bank(struct PlayState_unk_0110* arg0);
|
||||
// void func_800C6690_jp();
|
||||
// void Scene_ct();
|
||||
void Scene_ct(struct PlayState* play, void* arg1);
|
||||
// void func_800C6960_jp();
|
||||
// void func_800C69F4_jp();
|
||||
// void func_800C6A28_jp();
|
||||
// void func_800C6A5C_jp();
|
||||
// void func_800C6A90_jp();
|
||||
// void Door_info_ct();
|
||||
void Door_info_ct(s32* arg0);
|
||||
// void func_800C6AD0_jp();
|
||||
// void func_800C6AE0_jp();
|
||||
// void func_800C6B50_jp();
|
||||
|
||||
+5
-3
@@ -3,15 +3,17 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
|
||||
// void func_800C8D40_jp();
|
||||
// void func_800C8D98_jp();
|
||||
// void func_800C8E08_jp();
|
||||
// void func_800C8E50_jp();
|
||||
void mTD_player_keydata_init(struct PlayState* play);
|
||||
// void func_800C8ECC_jp();
|
||||
// void func_800C8F5C_jp();
|
||||
// void func_800C8F84_jp();
|
||||
// void func_800C8FB8_jp();
|
||||
// void func_800C9010_jp();
|
||||
void title_demo_move(struct PlayState* play);
|
||||
void func_800C9010_jp(void);
|
||||
// void func_800C9088_jp();
|
||||
// void mTD_get_titledemo_no();
|
||||
// void func_800C90BC_jp();
|
||||
|
||||
+3
-1
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
|
||||
// void func_800C90F0_jp();
|
||||
// void func_800C91E0_jp();
|
||||
// void func_800C92FC_jp();
|
||||
@@ -18,6 +20,6 @@
|
||||
// void func_800C98A0_jp();
|
||||
// void func_800C9D38_jp();
|
||||
// void func_800C9F88_jp();
|
||||
// void func_800CA008_jp();
|
||||
void mTRC_move(struct PlayState* play);
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
// void func_800CA070_jp();
|
||||
// void mTM_set_season();
|
||||
void mTM_set_season(void);
|
||||
// void func_800CA230_jp();
|
||||
// void func_800CA240_jp();
|
||||
// void func_800CA278_jp();
|
||||
|
||||
+5
-3
@@ -3,9 +3,11 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
// void func_800CBF80_jp();
|
||||
// void func_800CBFBC_jp();
|
||||
// void func_800CC3EC_jp();
|
||||
struct PlayState;
|
||||
|
||||
void func_800CBF80_jp(void);
|
||||
void watch_my_step_move(struct PlayState* play);
|
||||
void watch_my_step_draw(struct PlayState* play);
|
||||
// void func_800CC9C4_jp();
|
||||
// void func_800CC9EC_jp();
|
||||
// void func_800CCB44_jp();
|
||||
|
||||
+7
-4
@@ -3,6 +3,9 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
struct PlayState_Unk_1EE8;
|
||||
|
||||
// void func_800D18B0_jp();
|
||||
// void func_800D195C_jp();
|
||||
// void func_800D197C_jp();
|
||||
@@ -61,18 +64,18 @@
|
||||
// void func_800D22A4_jp();
|
||||
// void func_800D22CC_jp();
|
||||
// void func_800D22F4_jp();
|
||||
// void func_800D2314_jp();
|
||||
// void func_800D2334_jp();
|
||||
s32 sAdo_BgmFadeoutCheck(void);
|
||||
s32 func_800D2334_jp(struct PlayState_Unk_1EE8* arg0, struct PlayState* play);
|
||||
// void func_800D2354_jp();
|
||||
// void func_800D2360_jp();
|
||||
// void sAdo_RoomType();
|
||||
void sAdo_RoomType(u8 arg0);
|
||||
// void func_800D2394_jp();
|
||||
// void func_800D23B4_jp();
|
||||
// void func_800D2438_jp();
|
||||
// void func_800D24C4_jp();
|
||||
// void func_800D24EC_jp();
|
||||
// void func_800D252C_jp();
|
||||
// void func_800D2568_jp();
|
||||
void func_800D2568_jp(s32 arg0);
|
||||
// void func_800D2578_jp();
|
||||
|
||||
#endif
|
||||
|
||||
+21
-8
@@ -3,13 +3,26 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef struct ListAlloc {
|
||||
/* 0x0 */ struct ListAlloc* prev;
|
||||
/* 0x4 */ struct ListAlloc* next;
|
||||
} ListAlloc; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk00[0x10];
|
||||
/* 0x10 */ UNK_PTR unk_10;
|
||||
/* 0x14 */ UNK_PTR unk_14;
|
||||
/* 0x18 */ UNK_PTR unk_18;
|
||||
/* 0x1C */ char unk1C[0x34];
|
||||
} PreRender; // size = 0x50
|
||||
|
||||
// void wallpaper_draw1();
|
||||
// void wallpaper_draw();
|
||||
// void gfx_SetUpCFB();
|
||||
// void PreRender_setup_savebuf();
|
||||
// void PreRender_init();
|
||||
// void PreRender_setup_renderbuf();
|
||||
// void PreRender_cleanup();
|
||||
void PreRender_setup_savebuf(PreRender* render, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5);
|
||||
void PreRender_init(PreRender* render);
|
||||
void PreRender_setup_renderbuf(PreRender* render, s32 arg1, s32 arg2, void* arg3, void* arg4);
|
||||
void PreRender_cleanup(PreRender* render);
|
||||
// void PreRender_TransBufferCopy();
|
||||
// void PreRender_TransBuffer();
|
||||
// void PreRender_TransBuffer1_env();
|
||||
@@ -18,15 +31,15 @@
|
||||
// void PreRender_ShowCoveredge();
|
||||
// void PreRender_CopyRGBC();
|
||||
// void PreRender_saveZBuffer();
|
||||
// void PreRender_saveFrameBuffer();
|
||||
// void PreRender_saveCVG();
|
||||
void PreRender_saveFrameBuffer(PreRender* render, Gfx** gfx);
|
||||
void PreRender_saveCVG(PreRender* render, Gfx** gfx);
|
||||
// void PreRender_loadZBuffer();
|
||||
// void PreRender_loadFrameBuffer();
|
||||
// void PreRender_loadFrameBufferAlpha();
|
||||
// void PreRender_loadFrameBufferCopy();
|
||||
void PreRender_loadFrameBufferCopy(PreRender* render, Gfx** gfx);
|
||||
// void ASAlgorithm();
|
||||
// void AntiAliasFilter();
|
||||
// void PreRender_ConvertFrameBuffer_fg();
|
||||
void PreRender_ConvertFrameBuffer_fg(PreRender* render);
|
||||
// void PreRender_ConvertFrameBuffer();
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#ifndef BUILD_H
|
||||
#define BUILD_H
|
||||
|
||||
extern const char gBuildTeam[];
|
||||
extern const char gBuildDate[];
|
||||
extern const char gBuildMakeOption[];
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,80 @@
|
||||
#ifndef _COLOR_H_
|
||||
#define _COLOR_H_
|
||||
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
// For checking the alpha bit in an RGBA16 pixel
|
||||
#define RGBA16_PIXEL_OPAQUE 1
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 r;
|
||||
/* 0x1 */ u8 g;
|
||||
/* 0x2 */ u8 b;
|
||||
} Color_RGB8; // size = 0x3
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 r;
|
||||
/* 0x1 */ u8 g;
|
||||
/* 0x2 */ u8 b;
|
||||
/* 0x3 */ u8 a;
|
||||
} Color_RGBA8; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s16 r;
|
||||
/* 0x2 */ s16 g;
|
||||
/* 0x4 */ s16 b;
|
||||
} Color_RGB16; // size = 0x6
|
||||
|
||||
// only use when necessary for alignment purposes
|
||||
typedef union {
|
||||
struct {
|
||||
u8 r, g, b, a;
|
||||
};
|
||||
u32 rgba;
|
||||
} Color_RGBA8_u32;
|
||||
|
||||
typedef struct {
|
||||
f32 r, g, b, a;
|
||||
} Color_RGBAf;
|
||||
|
||||
typedef struct {
|
||||
u32 r, g, b, a;
|
||||
} Color_RGBAu32;
|
||||
|
||||
typedef union {
|
||||
struct {
|
||||
u16 r : 5;
|
||||
u16 g : 5;
|
||||
u16 b : 5;
|
||||
u16 a : 1;
|
||||
};
|
||||
u16 rgba;
|
||||
} Color_RGBA16;
|
||||
|
||||
typedef union {
|
||||
struct {
|
||||
u32 r : 5;
|
||||
u32 g : 5;
|
||||
u32 b : 5;
|
||||
u32 a : 1;
|
||||
};
|
||||
u16 rgba;
|
||||
} Color_RGBA16_2;
|
||||
|
||||
typedef union{
|
||||
struct {
|
||||
u32 r : 3;
|
||||
u32 g : 3;
|
||||
u32 b : 3;
|
||||
u32 a : 5;
|
||||
};
|
||||
u16 rgba;
|
||||
} Color_RGBA14;
|
||||
|
||||
#define RGBA8(r, g, b, a) ((((r) & 0xFF) << 24) | (((g) & 0xFF) << 16) | (((b) & 0xFF) << 8) | (((a) & 0xFF) << 0))
|
||||
|
||||
#define RGBA16_GET_R(pixel) (((pixel) >> 11) & 0x1F)
|
||||
#define RGBA16_GET_G(pixel) (((pixel) >> 6) & 0x1F)
|
||||
#define RGBA16_GET_B(pixel) (((pixel) >> 1) & 0x1F)
|
||||
|
||||
#endif
|
||||
+1
-1
@@ -55,7 +55,7 @@ typedef struct GameState {
|
||||
/* 0x88 */ GameAlloc alloc;
|
||||
/* 0x9C */ u8 unk_9C;
|
||||
/* 0x9D */ u8 unk_9D;
|
||||
/* 0x9E */ UNK_TYPE1 unk_9E[0x1];
|
||||
/* 0x9E */ UNK_TYPE1 unk9E[0x1];
|
||||
/* 0x9F */ u8 running;
|
||||
/* 0xA0 */ s32 unk_A0;
|
||||
/* 0xA4 */ UNK_TYPE1 unk_A4[0x4];
|
||||
|
||||
+3
-2
@@ -22,14 +22,15 @@ typedef struct GraphicsContext {
|
||||
/* 0x2C0 */ TwoHeadGfxArena unk_2C0;
|
||||
/* 0x2D0 */ TwoHeadGfxArena light;
|
||||
/* 0x2E0 */ UNK_TYPE1 unk_2E0[0x4];
|
||||
/* 0x2E4 */ s32 unk_2E4;
|
||||
/* 0x2E4 */ UNK_PTR unk_2E4;
|
||||
/* 0x2E8 */ UNK_TYPE1 unk_2E8[0x4];
|
||||
/* 0x2EC */ s32 unk_2EC;
|
||||
/* 0x2F0 */ u8 unk_2F0;
|
||||
/* 0x2F1 */ UNK_TYPE1 unk_2F1[0x1];
|
||||
/* 0x2F2 */ u8 unk_2F2;
|
||||
/* 0x2F3 */ UNK_TYPE1 unk_2F3[0x1];
|
||||
/* 0x2F4 */ UNK_TYPE1 unk_2F4[0x8];
|
||||
/* 0x2F4 */ s32 unk_2F4;
|
||||
/* 0x2F8 */ s32 unk_2F8;
|
||||
/* 0x2FC */ f32 unk_2FC;
|
||||
/* 0x300 */ f32 unk_300;
|
||||
} GraphicsContext; // size >= 0x304
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
Gfx* gfxopen(Gfx* gfxHead);
|
||||
void gfxclose(Gfx* gfxHead, Gfx* gfx);
|
||||
Gfx* gfxclose(Gfx* gfxHead, Gfx* gfx);
|
||||
// void gfxalloc();
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#ifndef ALLOCA_H
|
||||
#define ALLOCA_H
|
||||
|
||||
void* alloca(u32);
|
||||
#define alloca __builtin_alloca
|
||||
|
||||
#endif
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
// void qrand();
|
||||
// void sqrand();
|
||||
// void fqrand();
|
||||
f32 fqrand(void);
|
||||
// void fqrand2();
|
||||
// void sqrand_r();
|
||||
// void qrand_r();
|
||||
|
||||
@@ -2,23 +2,28 @@
|
||||
#define LIBU64_GFX_PRINT_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "color.h"
|
||||
|
||||
typedef struct gfxprint {
|
||||
/* 0x00 */ char unk00[0x30];
|
||||
} gfxprint; // size = 0x30
|
||||
|
||||
// void gfxprint_setup();
|
||||
// void gfxprint_color();
|
||||
void gfxprint_color(gfxprint* this, u8 r, u8 g, u8 b, u8 a);
|
||||
// void gfxprint_locate();
|
||||
// void gfxprint_locate8x8();
|
||||
void gfxprint_locate8x8(gfxprint* this, s32 arg1, s32 arg2);
|
||||
// void gfxprint_setoffset();
|
||||
// void gfxprint_putc1();
|
||||
// void gfxprint_putc();
|
||||
// void gfxprint_write();
|
||||
// void gfxprint_puts();
|
||||
// void gfxprint_prout();
|
||||
// void gfxprint_init();
|
||||
// void gfxprint_cleanup();
|
||||
// void gfxprint_open();
|
||||
// void gfxprint_close();
|
||||
void gfxprint_init(gfxprint* this);
|
||||
void gfxprint_cleanup(gfxprint* this);
|
||||
void gfxprint_open(gfxprint* this, Gfx* gfx);
|
||||
Gfx* gfxprint_close(gfxprint* this);
|
||||
// void gfxprint_vprintf();
|
||||
// void gfxprint_printf();
|
||||
void gfxprint_printf(gfxprint* this, const char* fmt, ...);
|
||||
|
||||
// extern UNK_TYPE gfxprint_moji_tlut;
|
||||
// extern UNK_TYPE gfxprint_rainbow_tlut;
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
// void func_8006B97C_jp();
|
||||
// void func_8006BAA8_jp();
|
||||
// void func_8006BAE4_jp();
|
||||
// void func_8006BB64_jp();
|
||||
void func_8006BB64_jp(void);
|
||||
// void func_8006BB9C_jp();
|
||||
// void func_8006BBE8_jp();
|
||||
// void func_8006BBF8_jp();
|
||||
@@ -105,9 +105,9 @@
|
||||
// void func_8006C4B4_jp();
|
||||
// void func_8006C5A8_jp();
|
||||
// void func_8006C634_jp();
|
||||
// void func_8006C740_jp();
|
||||
void mCoBG_CalcTimerDecalCircle(void);
|
||||
// void func_8006C7B4_jp();
|
||||
// void func_8006C8D0_jp();
|
||||
void func_8006C8D0_jp(void);
|
||||
// void func_8006C910_jp();
|
||||
// void func_8006C980_jp();
|
||||
// void func_8006D3B0_jp();
|
||||
|
||||
@@ -12,6 +12,12 @@ typedef struct CollisionCheck_Status {
|
||||
} CollisionCheck_Status; // size >= 0x18
|
||||
|
||||
|
||||
typedef struct PlayState2138 {
|
||||
/* 0x00 */ char unk00[0xD0];
|
||||
} PlayState2138; // size = 0xD0
|
||||
|
||||
struct PlayState;
|
||||
|
||||
// void func_80076B40_jp();
|
||||
// void func_80076BA4_jp();
|
||||
// void func_80076BD4_jp();
|
||||
@@ -49,9 +55,9 @@ typedef struct CollisionCheck_Status {
|
||||
// void func_80077410_jp();
|
||||
// void func_800774B4_jp();
|
||||
// void func_80077580_jp();
|
||||
// void func_80077620_jp();
|
||||
// void func_80077640_jp();
|
||||
// void func_80077650_jp();
|
||||
void func_80077620_jp(struct PlayState* play, PlayState2138* arg1);
|
||||
void CollisionCheck_dt(struct PlayState* play, PlayState2138* arg1);
|
||||
void CollisionCheck_clear(struct PlayState* play, PlayState2138* arg1);
|
||||
// void CollisionCheck_setOC();
|
||||
// void func_80077794_jp();
|
||||
// void func_800777D0_jp();
|
||||
@@ -61,7 +67,7 @@ typedef struct CollisionCheck_Status {
|
||||
// void func_80077F20_jp();
|
||||
// void func_80077FF0_jp();
|
||||
// void func_80078014_jp();
|
||||
// void func_80078070_jp();
|
||||
void CollisionCheck_OC(struct PlayState* play, PlayState2138* arg1);
|
||||
// void func_80078214_jp();
|
||||
// void func_80078258_jp();
|
||||
// void func_8007841C_jp();
|
||||
|
||||
+39
-6
@@ -9,7 +9,7 @@ struct ActorOverlay;
|
||||
struct struct_801161E8_jp;
|
||||
struct PlayState_unk_0110;
|
||||
struct CommonData_unk_1004C_unk_14_arg0;
|
||||
|
||||
struct PlayState;
|
||||
|
||||
typedef UNK_RET (*CommonData_unk_1004C_unk_04)(struct ActorOverlay*, const struct struct_801161E8_jp*, size_t, s32);
|
||||
typedef UNK_RET (*CommonData_unk_1004C_unk_08)(void);
|
||||
@@ -53,25 +53,58 @@ typedef struct CommonData_unk_10098 {
|
||||
/* 0x10 */ CommonData_unk_10098_unk_10 unk_10;
|
||||
} CommonData_unk_10098; // size >= 0x10
|
||||
|
||||
typedef struct CommonData10138_Sub {
|
||||
/* 0x00 */ char unk00[0x3];
|
||||
/* 0x03 */ u8 unk_03;
|
||||
/* 0x04 */ char unk04[0x1];
|
||||
/* 0x05 */ u8 unk_05;
|
||||
/* 0x06 */ u16 unk_06;
|
||||
/* 0x08 */ u8 unk_08;
|
||||
} CommonData10138_Sub; // size >= 0xC
|
||||
|
||||
typedef struct CommonData10138 {
|
||||
/* 0x000 */ char unk000[0xA86];
|
||||
/* 0xA86 */ CommonData10138_Sub unk_A86;
|
||||
} CommonData10138; // size >= 0xA90
|
||||
|
||||
typedef void (*CommonData_100E4_Func)(struct PlayState*);
|
||||
|
||||
typedef struct CommonData {
|
||||
/* 0x00000 */ UNK_TYPE1 unk_00000[0x10000];
|
||||
/* 0x00000 */ u8 unk00000[0x14];
|
||||
/* 0x00014 */ s32 unk_00014;
|
||||
/* 0x00018 */ u8 unk00018[0xFFE8];
|
||||
/* 0x10000 */ u8 unk_10000; // named "game_started" in AC GCN decomp
|
||||
/* 0x10001 */ UNK_TYPE1 unk_10001[0x3];
|
||||
/* 0x10001 */ u8 unk_10001;
|
||||
/* 0x10002 */ u8 unk10002[0x1];
|
||||
/* 0x10003 */ u8 unk_10003;
|
||||
/* 0x10004 */ s32 unk_10004; // named "last_scene_no" in AC GCN decomp
|
||||
/* 0x10008 */ UNK_TYPE1 unk_10008[0x44];
|
||||
/* 0x1004C */ CommonData_unk_1004C *unk_1004C;
|
||||
/* 0x10050 */ UNK_TYPE1 unk_10050[0x48];
|
||||
/* 0x10098 */ CommonData_unk_10098 *unk_10098;
|
||||
/* 0x1009C */ UNK_TYPE1 unk_1009C[0xAC];
|
||||
/* 0x10148 */ UNK_TYPE1 unk_10148[0x3];
|
||||
/* 0x1009C */ UNK_TYPE1 unk_1009C[0x48];
|
||||
/* 0x100E4 */ CommonData_100E4_Func* unk_100E4;
|
||||
/* 0x100E8 */ u8 unk100E8[0x37];
|
||||
/* 0x1011F */ u8 unk_1011F;
|
||||
/* 0x10120 */ u8 unk10120[0x1];
|
||||
/* 0x10121 */ u8 unk_10121;
|
||||
/* 0x10122 */ u16 unk_10122;
|
||||
/* 0x10124 */ u8 unk10124[0x14];
|
||||
/* 0x10138 */ CommonData10138* unk_10138;
|
||||
/* 0x1013C */ u8 unk1013C[0xD];
|
||||
/* 0x10149 */ u8 unk_10149;
|
||||
/* 0x1014A */ u8 unk_1014A;
|
||||
/* 0x1014B */ u8 unk_1014B; // named "wipeType" in AC GCN decomp
|
||||
/* 0x1014C */ UNK_TYPE1 unk_1014C[0x2];
|
||||
/* 0x1014E */ s16 unk_1014E;
|
||||
/* 0x10150 */ UNK_TYPE1 unk_10150[0x664];
|
||||
/* 0x107B4 */ UNK_TYPE1 unk_107B4[0x2];
|
||||
/* 0x107B6 */ s16 unk_107B6; // named "demo_profile" in AC GCN decomp (though it's an array of two s16s in that game)
|
||||
/* 0x107B8 */ UNK_TYPE1 unk_107B8[0x2F8];
|
||||
/* 0x107B8 */ u8 unk107B8[0x2C];
|
||||
/* 0x107E4 */ s16 unk_107E4;
|
||||
/* 0x107E6 */ u8 unk107E6[0x29C];
|
||||
/* 0x10A82 */ s16 unk_10A82;
|
||||
/* 0x10A84 */ u8 unk10A84[0x2C];
|
||||
/* 0x10AB0 */ u8 unk_10AB0; // named "pad_connected" in AC GCN decomp
|
||||
/* 0x10AB1 */ UNK_TYPE1 unk_10AB1[0x7];
|
||||
} CommonData; // size = 0x10AB8
|
||||
|
||||
@@ -3,9 +3,11 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
// void Debug_Display_init();
|
||||
struct PlayState;
|
||||
|
||||
void Debug_Display_init(void);
|
||||
// void Debug_Display_new();
|
||||
// void Debug_Display_output();
|
||||
void Debug_Display_output(struct PlayState* play);
|
||||
// void debug_display_output_sprite_16x16_I8();
|
||||
// void debug_display_output_polygon();
|
||||
|
||||
|
||||
+15
-4
@@ -3,6 +3,17 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef struct PlayState1EBC {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ u8 unk_02;
|
||||
/* 0x03 */ u8 unk_03;
|
||||
/* 0x04 */ s16 unk_04;
|
||||
/* 0x06 */ s16 unk_06;
|
||||
/* 0x08 */ s32 unk_08;
|
||||
/* 0x0C */ s32 unk_0C;
|
||||
} PlayState1EBC; // size = 0x10
|
||||
|
||||
// void func_8007D140_jp();
|
||||
// void func_8007D180_jp();
|
||||
// void func_8007D1A8_jp();
|
||||
@@ -81,12 +92,12 @@ s32 mEv_CheckTitleDemo(void);
|
||||
// void func_8007F358_jp();
|
||||
// void func_8007F6A0_jp();
|
||||
// void func_8007F764_jp();
|
||||
// void func_8007F858_jp();
|
||||
void func_8007F858_jp(PlayState1EBC* arg0);
|
||||
// void func_8007F8A4_jp();
|
||||
// void func_8007F8DC_jp();
|
||||
void mEv_2nd_init(PlayState1EBC* arg0);
|
||||
// void func_8007F950_jp();
|
||||
// void func_8007F988_jp();
|
||||
// void func_8007FB44_jp();
|
||||
void mEv_run(PlayState1EBC* arg0);
|
||||
void mEv_finish(PlayState1EBC* arg0);
|
||||
// void func_8007FCB8_jp();
|
||||
// void func_8007FD40_jp();
|
||||
// void func_8007FDA8_jp();
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
// void func_80086F08_jp();
|
||||
// void func_80086FA8_jp();
|
||||
// void func_80086FEC_jp();
|
||||
// void func_80087004_jp();
|
||||
// void func_80087280_jp();
|
||||
void func_80087004_jp(void);
|
||||
void func_80087280_jp(void);
|
||||
// void func_80087380_jp();
|
||||
// void func_80087420_jp();
|
||||
// void func_800874CC_jp();
|
||||
|
||||
@@ -3,13 +3,15 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
// void func_800928C0_jp();
|
||||
// void func_800928E8_jp();
|
||||
struct PlayState;
|
||||
|
||||
void Balloon_init(struct PlayState* play);
|
||||
void Balloon_move(struct PlayState* play);
|
||||
// void func_80092B7C_jp();
|
||||
// void func_80092B8C_jp();
|
||||
// void func_80092BA0_jp();
|
||||
// void func_80092BE8_jp();
|
||||
// void func_80092C2C_jp();
|
||||
void mHsRm_GetHuusuiRoom(s32 arg0, u8 arg1);
|
||||
// void func_80092D10_jp();
|
||||
// void func_80092E14_jp();
|
||||
// void func_80092E80_jp();
|
||||
|
||||
+9
-4
@@ -5,6 +5,7 @@
|
||||
#include "unk.h"
|
||||
|
||||
struct Actor;
|
||||
struct LightContext;
|
||||
|
||||
typedef void (*Kankyo_unk_C0)(struct Actor*);
|
||||
|
||||
@@ -14,7 +15,11 @@ typedef struct Kankyo {
|
||||
/* 0x03 */ s8 unk_03;
|
||||
/* 0x04 */ s8 unk_04;
|
||||
/* 0x05 */ UNK_TYPE1 unk_05[0x3];
|
||||
/* 0x08 */ UNK_TYPE1 unk_08[0xB8];
|
||||
/* 0x08 */ UNK_TYPE1 unk_08[0xA6];
|
||||
/* 0xAE */ u8 unk_AE;
|
||||
/* 0xAF */ u8 unk_AF;
|
||||
/* 0xB0 */ u8 unk_B0;
|
||||
/* 0xB1 */ UNK_TYPE1 unk_B1[0xF];
|
||||
/* 0xC0 */ Kankyo_unk_C0 unk_C0;
|
||||
/* 0xC4 */ UNK_TYPE1 unk_C4[0x4];
|
||||
} Kankyo; // size = 0xC8
|
||||
@@ -26,7 +31,7 @@ typedef struct Kankyo {
|
||||
// void func_80096F5C_jp();
|
||||
// void func_80097048_jp();
|
||||
// void mEnv_RoomTypeLightSet();
|
||||
// void Global_kankyo_ct();
|
||||
void Global_kankyo_ct(struct PlayState* play, struct Kankyo* kankyo);
|
||||
// void mEnv_MakeShadowInfo();
|
||||
// void mEnv_set_time();
|
||||
// void func_800976BC_jp();
|
||||
@@ -44,7 +49,7 @@ typedef struct Kankyo {
|
||||
// void func_800981B8_jp();
|
||||
// void func_8009836C_jp();
|
||||
// void func_800983F0_jp();
|
||||
// void func_800984CC_jp();
|
||||
void Global_kankyo_set(struct PlayState* play, struct Kankyo* kankyo, struct LightContext* arg2);
|
||||
// void func_80098558_jp();
|
||||
// void func_8009867C_jp();
|
||||
// void func_80098794_jp();
|
||||
@@ -52,7 +57,7 @@ typedef struct Kankyo {
|
||||
// void func_80098980_jp();
|
||||
// void func_80098990_jp();
|
||||
// void func_80098A90_jp();
|
||||
// void func_80098B50_jp();
|
||||
void mEnv_WindMove(void);
|
||||
// void func_80098CCC_jp();
|
||||
// void func_80098D88_jp();
|
||||
// void func_80098DE0_jp();
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ s16 search_position_angleY(Vec3f* arg0, Vec3f* arg1);
|
||||
// void add_calc_short_angle3();
|
||||
// void adds();
|
||||
// void rgba_t_move();
|
||||
// void none_proc1();
|
||||
UNK_RET none_proc1(void);
|
||||
// void none_proc2();
|
||||
// void Cheap_gfx_display();
|
||||
// void Cheap_gfx_display_xlu();
|
||||
|
||||
+13
-4
@@ -4,6 +4,7 @@
|
||||
#include "ultra64.h"
|
||||
#include "z64math.h"
|
||||
#include "unk.h"
|
||||
#include "color.h"
|
||||
|
||||
struct GraphicsContext;
|
||||
struct PlayState;
|
||||
@@ -12,9 +13,17 @@ typedef struct Lights {
|
||||
/* 0x00 */ UNK_TYPE1 unk_00[0x80];
|
||||
} Lights; // size = 0x80
|
||||
|
||||
typedef struct LightNode {
|
||||
/* 0x00 */ char unk00[0xC];
|
||||
} LightNode; // size = 0xC
|
||||
|
||||
typedef struct LightContext {
|
||||
/* 0x0 */ UNK_TYPE4 unk_0;
|
||||
} LightContext; // size >= 0x4
|
||||
/* 0x0 */ LightNode* listHead;
|
||||
/* 0x4 */ Color_RGB8 ambient;
|
||||
/* 0x7 */ Color_RGB8 fogColor;
|
||||
/* 0xA */ s16 fogNear; // how close until fog starts taking effect. range 0 - 996
|
||||
/* 0xC */ s16 zFar; // draw distance. range 0 - 12800
|
||||
} LightContext; // size = 0x10
|
||||
|
||||
// void func_8009B1E0_jp();
|
||||
// void func_8009B23C_jp();
|
||||
@@ -27,10 +36,10 @@ void LightsN_disp(Lights* light, struct GraphicsContext* gfxCtx);
|
||||
// void func_8009B534_jp();
|
||||
// void func_8009B72C_jp();
|
||||
// void func_8009B81C_jp();
|
||||
void LightsN_list_check(Lights* light, UNK_TYPE4 arg1, Vec3f* arg2);
|
||||
void LightsN_list_check(Lights* light, LightNode* lightNode, Vec3f* arg2);
|
||||
// void func_8009B954_jp();
|
||||
// void func_8009B9E0_jp();
|
||||
// void Global_light_ct();
|
||||
void Global_light_ct(LightContext* arg0);
|
||||
// void func_8009BA94_jp();
|
||||
// void func_8009BAC0_jp();
|
||||
Lights* Global_light_read(LightContext* lightCtx, struct GraphicsContext* gfxCtx);
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
|
||||
// void func_8009D1F0_jp();
|
||||
// void func_8009D200_jp();
|
||||
// void func_8009D210_jp();
|
||||
@@ -281,11 +283,11 @@
|
||||
// void func_800A3190_jp();
|
||||
// void func_800A31D8_jp();
|
||||
// void func_800A3220_jp();
|
||||
// void func_800A32D0_jp();
|
||||
// void func_800A3304_jp();
|
||||
void mMsg_ct(struct PlayState* play);
|
||||
void func_800A3304_jp(struct PlayState* play);
|
||||
// void func_800A332C_jp();
|
||||
// void func_800A339C_jp();
|
||||
// void func_800A33D8_jp();
|
||||
void mMsg_Main(struct PlayState* play);
|
||||
void mMsg_Draw(struct PlayState* play);
|
||||
// void func_800A3400_jp();
|
||||
// void func_800A3420_jp();
|
||||
// void func_800A345C_jp();
|
||||
|
||||
+1
-1
@@ -103,7 +103,7 @@ typedef struct Npc {
|
||||
// void func_800A9F9C_jp();
|
||||
// void func_800AA028_jp();
|
||||
// void func_800AA0B8_jp();
|
||||
// void func_800AA124_jp();
|
||||
void func_800AA124_jp(void);
|
||||
// void func_800AA14C_jp();
|
||||
// void mNpc_GetLooks();
|
||||
// void func_800AA218_jp();
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
#include "ultra64.h"
|
||||
#include "libu64/pad.h"
|
||||
|
||||
typedef struct Pause{
|
||||
typedef struct Pause {
|
||||
/* 0x0 */ s32 enabled;
|
||||
/* 0x4 */ s32 timer;
|
||||
} Pause; // size = 0x8
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
struct Player;
|
||||
struct PlayState;
|
||||
|
||||
|
||||
// void func_800B1160_jp();
|
||||
// void func_800B11B0_jp();
|
||||
// void func_800B11F8_jp();
|
||||
@@ -34,7 +33,7 @@ struct PlayState;
|
||||
// void func_800B19C4_jp();
|
||||
// void func_800B1A28_jp();
|
||||
// void func_800B1A60_jp();
|
||||
// void func_800B1AA0_jp();
|
||||
void mPlib_Object_Exchange_keep_Player_dt(struct PlayState* play);
|
||||
// void func_800B1AE0_jp();
|
||||
// void func_800B1B3C_jp();
|
||||
// void func_800B1B6C_jp();
|
||||
@@ -159,7 +158,7 @@ struct Player* get_player_actor_withoutCheck(struct PlayState* play);
|
||||
// void func_800B58C4_jp();
|
||||
// void func_800B5910_jp();
|
||||
// void func_800B593C_jp();
|
||||
// void func_800B594C_jp();
|
||||
void func_800B594C_jp(void);
|
||||
// void func_800B5980_jp();
|
||||
// void func_800B5AA0_jp();
|
||||
// void func_800B5AB8_jp();
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef M_SCENE_TABLE_H
|
||||
#define M_SCENE_TABLE_H
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "z64math.h"
|
||||
|
||||
extern Struct_8010EAA0 scene_data_status[];
|
||||
|
||||
#endif
|
||||
+25
-4
@@ -3,27 +3,48 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
|
||||
struct PlayState;
|
||||
struct GraphicsContext;
|
||||
|
||||
typedef struct PlayState1938 {
|
||||
/* 0x000 */ char unk000[0x28];
|
||||
/* 0x028 */ Vec3f unk_028;
|
||||
/* 0x034 */ char unk034[0x2C];
|
||||
/* 0x060 */ Mtx unk_060;
|
||||
/* 0x0A0 */ Mtx unk_0A0;
|
||||
/* 0x0E0 */ char unk0E0[0x40];
|
||||
/* 0x120 */ s32 unk_120;
|
||||
/* 0x124 */ char unk124[0x4];
|
||||
} PlayState1938; // size = 0x128
|
||||
|
||||
typedef struct ScissorViewArg1 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x08 */ s32 unk_08;
|
||||
/* 0x0C */ s32 unk_0C;
|
||||
} ScissorViewArg1; // size = 0x10
|
||||
|
||||
// void set_viewport();
|
||||
// void initView();
|
||||
void initView(PlayState1938* arg0, struct GraphicsContext* gfxCtx);
|
||||
// void setLookAtView();
|
||||
// void getLookAtView();
|
||||
// void setScaleView();
|
||||
// void getScaleView();
|
||||
// void setPerspectiveView();
|
||||
// void getPerspectiveView();
|
||||
// void setScissorView();
|
||||
void setScissorView(PlayState1938* arg0, ScissorViewArg1* arg1);
|
||||
// void getScissorView();
|
||||
// void setScissorX();
|
||||
// void setScissorOvl();
|
||||
// void setScissor();
|
||||
// void stretchViewInit();
|
||||
// void do_stretch_view();
|
||||
// void showView();
|
||||
void showView(PlayState1938* arg0, s32 arg1, struct PlayState* play);
|
||||
// void showPerspectiveView();
|
||||
// void showOrthoView();
|
||||
// void showOverLayView();
|
||||
// void showPerspectiveOverLayView();
|
||||
// void showOrthoView1();
|
||||
// void showView1();
|
||||
void showView1(PlayState1938* arg0, s32 arg1, Gfx** gfx);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -5,6 +5,14 @@
|
||||
#include "libc/stdint.h"
|
||||
#include "libc/stdbool.h"
|
||||
#include "unk.h"
|
||||
#include "other_types.h"
|
||||
|
||||
typedef struct Struct_8010EAA0 {
|
||||
/* 0x00 */ RomOffset unk_00;
|
||||
/* 0x04 */ RomOffset unk_04;
|
||||
/* 0x08 */ char unk08[0xB];
|
||||
/* 0x13 */ u8 unk_13;
|
||||
} Struct_8010EAA0; // size = 0x14
|
||||
|
||||
typedef struct struct_801161E8_jp {
|
||||
/* 0x0 */ UNK_TYPE1 unk_0[0x8];
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef BUILD_H
|
||||
#define BUILD_H
|
||||
|
||||
extern const char __Creator__[];
|
||||
extern const char __DateTime__[];
|
||||
extern const char __MakeOption__[];
|
||||
|
||||
#endif
|
||||
@@ -507,9 +507,9 @@ RO_DBL_8003E8E8_jp = 0x8003E8E8; // type:f64
|
||||
RO_8003E8F0_jp = 0x8003E8F0; // type:s64
|
||||
RO_8003E8F8_jp = 0x8003E8F8; // type:s64
|
||||
|
||||
gBuildTeam = 0x8003E900; // type:asciz
|
||||
gBuildDate = 0x8003E924; // type:asciz
|
||||
gBuildMakeOption = 0x8003E938; // type:asciz
|
||||
__Creator__ = 0x8003E900; // type:asciz
|
||||
__DateTime__ = 0x8003E924; // type:asciz
|
||||
__MakeOption__ = 0x8003E938; // type:asciz
|
||||
|
||||
// .bss
|
||||
|
||||
|
||||
@@ -163,12 +163,12 @@ mAc_UnagiActorShadow = 0x80059AE0; // type:func
|
||||
mAc_ActorShadowCircle = 0x80059B34; // type:func
|
||||
mAc_ActorShadowEllipse = 0x80059B90; // type:func
|
||||
func_80059BF0_jp = 0x80059BF0; // type:func
|
||||
func_80059C24_jp = 0x80059C24; // type:func
|
||||
banti_move = 0x80059C24; // type:func
|
||||
func_80059EC0_jp = 0x80059EC0; // type:func
|
||||
func_8005A070_jp = 0x8005A070; // type:func
|
||||
func_8005A154_jp = 0x8005A154; // type:func
|
||||
func_8005A238_jp = 0x8005A238; // type:func
|
||||
func_8005A2FC_jp = 0x8005A2FC; // type:func
|
||||
banti_draw = 0x8005A2FC; // type:func
|
||||
func_8005ABA0_jp = 0x8005ABA0; // type:func
|
||||
func_8005ABE0_jp = 0x8005ABE0; // type:func
|
||||
func_8005ACA8_jp = 0x8005ACA8; // type:func
|
||||
@@ -272,7 +272,7 @@ func_8005DC9C_jp = 0x8005DC9C; // type:func
|
||||
func_8005DCCC_jp = 0x8005DCCC; // type:func
|
||||
mBGMPsComp_make_ps_lost_fanfare = 0x8005DD2C; // type:func
|
||||
func_8005DD5C_jp = 0x8005DD5C; // type:func
|
||||
func_8005DDE4_jp = 0x8005DDE4; // type:func
|
||||
mBGMPsComp_make_ps_wipe = 0x8005DDE4; // type:func
|
||||
func_8005DE0C_jp = 0x8005DE0C; // type:func
|
||||
func_8005DE60_jp = 0x8005DE60; // type:func
|
||||
func_8005DE88_jp = 0x8005DE88; // type:func
|
||||
@@ -500,8 +500,8 @@ func_80064F08_jp = 0x80064F08; // type:func
|
||||
func_80064F28_jp = 0x80064F28; // type:func
|
||||
func_80064F48_jp = 0x80064F48; // type:func
|
||||
func_80064F84_jp = 0x80064F84; // type:func
|
||||
func_80064FD8_jp = 0x80064FD8; // type:func
|
||||
func_80065028_jp = 0x80065028; // type:func
|
||||
Camera2_process = 0x80064FD8; // type:func
|
||||
Camera2_draw = 0x80065028; // type:func
|
||||
func_80065040_jp = 0x80065040; // type:func
|
||||
func_80065064_jp = 0x80065064; // type:func
|
||||
func_80065158_jp = 0x80065158; // type:func
|
||||
@@ -705,7 +705,7 @@ func_8006BF0C_jp = 0x8006BF0C; // type:func
|
||||
func_8006C4B4_jp = 0x8006C4B4; // type:func
|
||||
func_8006C5A8_jp = 0x8006C5A8; // type:func
|
||||
func_8006C634_jp = 0x8006C634; // type:func
|
||||
func_8006C740_jp = 0x8006C740; // type:func
|
||||
mCoBG_CalcTimerDecalCircle = 0x8006C740; // type:func
|
||||
func_8006C7B4_jp = 0x8006C7B4; // type:func
|
||||
func_8006C8D0_jp = 0x8006C8D0; // type:func
|
||||
func_8006C910_jp = 0x8006C910; // type:func
|
||||
@@ -892,8 +892,8 @@ func_80077410_jp = 0x80077410; // type:func
|
||||
func_800774B4_jp = 0x800774B4; // type:func
|
||||
func_80077580_jp = 0x80077580; // type:func
|
||||
func_80077620_jp = 0x80077620; // type:func
|
||||
func_80077640_jp = 0x80077640; // type:func
|
||||
func_80077650_jp = 0x80077650; // type:func
|
||||
CollisionCheck_dt = 0x80077640; // type:func
|
||||
CollisionCheck_clear = 0x80077650; // type:func
|
||||
CollisionCheck_setOC = 0x800776B4; // type:func
|
||||
func_80077794_jp = 0x80077794; // type:func
|
||||
func_800777D0_jp = 0x800777D0; // type:func
|
||||
@@ -903,7 +903,7 @@ func_80077EF4_jp = 0x80077EF4; // type:func
|
||||
func_80077F20_jp = 0x80077F20; // type:func
|
||||
func_80077FF0_jp = 0x80077FF0; // type:func
|
||||
func_80078014_jp = 0x80078014; // type:func
|
||||
func_80078070_jp = 0x80078070; // type:func
|
||||
CollisionCheck_OC = 0x80078070; // type:func
|
||||
func_80078214_jp = 0x80078214; // type:func
|
||||
func_80078258_jp = 0x80078258; // type:func
|
||||
func_8007841C_jp = 0x8007841C; // type:func
|
||||
@@ -1037,13 +1037,13 @@ func_8007CB28_jp = 0x8007CB28; // type:func
|
||||
func_8007CB50_jp = 0x8007CB50; // type:func
|
||||
func_8007CBEC_jp = 0x8007CBEC; // type:func
|
||||
func_8007CC9C_jp = 0x8007CC9C; // type:func
|
||||
func_8007CDB8_jp = 0x8007CDB8; // type:func
|
||||
mDemo_stock_clear = 0x8007CDB8; // type:func
|
||||
func_8007CDD8_jp = 0x8007CDD8; // type:func
|
||||
func_8007CF00_jp = 0x8007CF00; // type:func
|
||||
func_8007CF34_jp = 0x8007CF34; // type:func
|
||||
func_8007CF44_jp = 0x8007CF44; // type:func
|
||||
func_8007CF84_jp = 0x8007CF84; // type:func
|
||||
func_8007CFB4_jp = 0x8007CFB4; // type:func
|
||||
mDemo_Main = 0x8007CFB4; // type:func
|
||||
func_8007CFD8_jp = 0x8007CFD8; // type:func
|
||||
func_8007D030_jp = 0x8007D030; // type:func
|
||||
func_8007D048_jp = 0x8007D048; // type:func
|
||||
@@ -1135,10 +1135,10 @@ func_8007F6A0_jp = 0x8007F6A0; // type:func
|
||||
func_8007F764_jp = 0x8007F764; // type:func
|
||||
func_8007F858_jp = 0x8007F858; // type:func
|
||||
func_8007F8A4_jp = 0x8007F8A4; // type:func
|
||||
func_8007F8DC_jp = 0x8007F8DC; // type:func
|
||||
mEv_2nd_init = 0x8007F8DC; // type:func
|
||||
func_8007F950_jp = 0x8007F950; // type:func
|
||||
func_8007F988_jp = 0x8007F988; // type:func
|
||||
func_8007FB44_jp = 0x8007FB44; // type:func
|
||||
mEv_run = 0x8007F988; // type:func
|
||||
mEv_finish = 0x8007FB44; // type:func
|
||||
func_8007FCB8_jp = 0x8007FCB8; // type:func
|
||||
func_8007FD40_jp = 0x8007FD40; // type:func
|
||||
func_8007FDA8_jp = 0x8007FDA8; // type:func
|
||||
@@ -1208,36 +1208,36 @@ func_80082FA0_jp = 0x80082FA0; // type:func
|
||||
func_80083038_jp = 0x80083038; // type:func
|
||||
func_800831E0_jp = 0x800831E0; // type:func
|
||||
func_800835AC_jp = 0x800835AC; // type:func
|
||||
func_8008366C_jp = 0x8008366C; // type:func
|
||||
func_800836F8_jp = 0x800836F8; // type:func
|
||||
fbdemo_cleanup = 0x8008366C; // type:func
|
||||
fbdemo_init = 0x800836F8; // type:func
|
||||
func_80083870_jp = 0x80083870; // type:func
|
||||
func_80083984_jp = 0x80083984; // type:func
|
||||
fbdemo_draw = 0x80083984; // type:func
|
||||
func_80083AB0_jp = 0x80083AB0; // type:func
|
||||
func_80083BE4_jp = 0x80083BE4; // type:func
|
||||
fbdemo_move = 0x80083BE4; // type:func
|
||||
func_80083BF0_jp = 0x80083BF0; // type:func
|
||||
func_80083C00_jp = 0x80083C00; // type:func
|
||||
func_80083CBC_jp = 0x80083CBC; // type:func
|
||||
fbdemo_triforce_startup = 0x80083C00; // type:func
|
||||
fbdemo_triforce_init = 0x80083CBC; // type:func
|
||||
func_80083CE8_jp = 0x80083CE8; // type:func
|
||||
func_80083D14_jp = 0x80083D14; // type:func
|
||||
func_80083E08_jp = 0x80083E08; // type:func
|
||||
func_8008400C_jp = 0x8008400C; // type:func
|
||||
func_80084018_jp = 0x80084018; // type:func
|
||||
func_80084068_jp = 0x80084068; // type:func
|
||||
func_80084080_jp = 0x80084080; // type:func
|
||||
func_800840AC_jp = 0x800840AC; // type:func
|
||||
func_8008418C_jp = 0x8008418C; // type:func
|
||||
func_800843C8_jp = 0x800843C8; // type:func
|
||||
func_80084480_jp = 0x80084480; // type:func
|
||||
func_800844B0_jp = 0x800844B0; // type:func
|
||||
fbdemo_triforce_move = 0x80083D14; // type:func
|
||||
fbdemo_triforce_draw = 0x80083E08; // type:func
|
||||
fbdemo_triforce_is_finish = 0x8008400C; // type:func
|
||||
fbdemo_triforce_settype = 0x80084018; // type:func
|
||||
fbdemo_triforce_setcolor_rgba8888 = 0x80084068; // type:func
|
||||
fbdemo_wipe1_init = 0x80084080; // type:func
|
||||
fbdemo_wipe1_move = 0x800840AC; // type:func
|
||||
fbdemo_wipe1_draw = 0x8008418C; // type:func
|
||||
fbdemo_wipe1_startup = 0x800843C8; // type:func
|
||||
fbdemo_wipe1_settype = 0x80084480; // type:func
|
||||
fbdemo_wipe1_setcolor_rgba8888 = 0x800844B0; // type:func
|
||||
func_800844BC_jp = 0x800844BC; // type:func
|
||||
func_800844C8_jp = 0x800844C8; // type:func
|
||||
func_800844E0_jp = 0x800844E0; // type:func
|
||||
func_8008450C_jp = 0x8008450C; // type:func
|
||||
func_800845EC_jp = 0x800845EC; // type:func
|
||||
func_8008468C_jp = 0x8008468C; // type:func
|
||||
func_800846D4_jp = 0x800846D4; // type:func
|
||||
func_800846E0_jp = 0x800846E0; // type:func
|
||||
func_800846EC_jp = 0x800846EC; // type:func
|
||||
fbdemo_wipe1_is_finish = 0x800844C8; // type:func
|
||||
fbdemo_fade_init = 0x800844E0; // type:func
|
||||
fbdemo_fade_move = 0x8008450C; // type:func
|
||||
fbdemo_fade_draw = 0x800845EC; // type:func
|
||||
fbdemo_fade_startup = 0x8008468C; // type:func
|
||||
fbdemo_fade_settype = 0x800846D4; // type:func
|
||||
fbdemo_fade_setcolor_rgba8888 = 0x800846E0; // type:func
|
||||
fbdemo_fade_is_finish = 0x800846EC; // type:func
|
||||
func_80084700_jp = 0x80084700; // type:func
|
||||
func_80084748_jp = 0x80084748; // type:func
|
||||
func_800848AC_jp = 0x800848AC; // type:func
|
||||
@@ -1588,13 +1588,13 @@ func_80092468_jp = 0x80092468; // type:func
|
||||
func_800924CC_jp = 0x800924CC; // type:func
|
||||
func_80092538_jp = 0x80092538; // type:func
|
||||
func_8009264C_jp = 0x8009264C; // type:func
|
||||
func_800928C0_jp = 0x800928C0; // type:func
|
||||
func_800928E8_jp = 0x800928E8; // type:func
|
||||
Balloon_init = 0x800928C0; // type:func
|
||||
Balloon_move = 0x800928E8; // type:func
|
||||
func_80092B7C_jp = 0x80092B7C; // type:func
|
||||
func_80092B8C_jp = 0x80092B8C; // type:func
|
||||
func_80092BA0_jp = 0x80092BA0; // type:func
|
||||
func_80092BE8_jp = 0x80092BE8; // type:func
|
||||
func_80092C2C_jp = 0x80092C2C; // type:func
|
||||
mHsRm_GetHuusuiRoom = 0x80092C2C; // type:func
|
||||
func_80092D10_jp = 0x80092D10; // type:func
|
||||
func_80092E14_jp = 0x80092E14; // type:func
|
||||
func_80092E80_jp = 0x80092E80; // type:func
|
||||
@@ -1735,7 +1735,7 @@ func_80098158_jp = 0x80098158; // type:func
|
||||
func_800981B8_jp = 0x800981B8; // type:func
|
||||
func_8009836C_jp = 0x8009836C; // type:func
|
||||
func_800983F0_jp = 0x800983F0; // type:func
|
||||
func_800984CC_jp = 0x800984CC; // type:func
|
||||
Global_kankyo_set = 0x800984CC; // type:func
|
||||
func_80098558_jp = 0x80098558; // type:func
|
||||
func_8009867C_jp = 0x8009867C; // type:func
|
||||
func_80098794_jp = 0x80098794; // type:func
|
||||
@@ -1743,7 +1743,7 @@ func_8009895C_jp = 0x8009895C; // type:func
|
||||
func_80098980_jp = 0x80098980; // type:func
|
||||
func_80098990_jp = 0x80098990; // type:func
|
||||
func_80098A90_jp = 0x80098A90; // type:func
|
||||
func_80098B50_jp = 0x80098B50; // type:func
|
||||
mEnv_WindMove = 0x80098B50; // type:func
|
||||
func_80098CCC_jp = 0x80098CCC; // type:func
|
||||
func_80098D88_jp = 0x80098D88; // type:func
|
||||
func_80098DE0_jp = 0x80098DE0; // type:func
|
||||
@@ -2179,11 +2179,11 @@ func_800A2EAC_jp = 0x800A2EAC; // type:func
|
||||
func_800A3190_jp = 0x800A3190; // type:func
|
||||
func_800A31D8_jp = 0x800A31D8; // type:func
|
||||
func_800A3220_jp = 0x800A3220; // type:func
|
||||
func_800A32D0_jp = 0x800A32D0; // type:func
|
||||
mMsg_ct = 0x800A32D0; // type:func
|
||||
func_800A3304_jp = 0x800A3304; // type:func
|
||||
func_800A332C_jp = 0x800A332C; // type:func
|
||||
func_800A339C_jp = 0x800A339C; // type:func
|
||||
func_800A33D8_jp = 0x800A33D8; // type:func
|
||||
mMsg_Main = 0x800A339C; // type:func
|
||||
mMsg_Draw = 0x800A33D8; // type:func
|
||||
func_800A3400_jp = 0x800A3400; // type:func
|
||||
func_800A3420_jp = 0x800A3420; // type:func
|
||||
func_800A345C_jp = 0x800A345C; // type:func
|
||||
@@ -2529,7 +2529,7 @@ func_800B1960_jp = 0x800B1960; // type:func
|
||||
func_800B19C4_jp = 0x800B19C4; // type:func
|
||||
func_800B1A28_jp = 0x800B1A28; // type:func
|
||||
func_800B1A60_jp = 0x800B1A60; // type:func
|
||||
func_800B1AA0_jp = 0x800B1AA0; // type:func
|
||||
mPlib_Object_Exchange_keep_Player_dt = 0x800B1AA0; // type:func
|
||||
func_800B1AE0_jp = 0x800B1AE0; // type:func
|
||||
func_800B1B3C_jp = 0x800B1B3C; // type:func
|
||||
func_800B1B6C_jp = 0x800B1B6C; // type:func
|
||||
@@ -2708,7 +2708,7 @@ func_800B7350_jp = 0x800B7350; // type:func
|
||||
func_800B7468_jp = 0x800B7468; // type:func
|
||||
func_800B74E8_jp = 0x800B74E8; // type:func
|
||||
func_800B7560_jp = 0x800B7560; // type:func
|
||||
func_800B7624_jp = 0x800B7624; // type:func
|
||||
mPO_business_proc = 0x800B7624; // type:func
|
||||
func_800B7680_jp = 0x800B7680; // type:func
|
||||
func_800B7700_jp = 0x800B7700; // type:func
|
||||
func_800B7780_jp = 0x800B7780; // type:func
|
||||
@@ -2873,7 +2873,7 @@ func_800BCFC8_jp = 0x800BCFC8; // type:func
|
||||
func_800BD02C_jp = 0x800BD02C; // type:func
|
||||
func_800BD1E4_jp = 0x800BD1E4; // type:func
|
||||
func_800BD2B0_jp = 0x800BD2B0; // type:func
|
||||
func_800BD37C_jp = 0x800BD37C; // type:func
|
||||
gfx_set_fog_nosync = 0x800BD37C; // type:func
|
||||
func_800BD3EC_jp = 0x800BD3EC; // type:func
|
||||
func_800BD428_jp = 0x800BD428; // type:func
|
||||
func_800BD448_jp = 0x800BD448; // type:func
|
||||
@@ -2902,7 +2902,7 @@ func_800BD9FC_jp = 0x800BD9FC; // type:func
|
||||
func_800BDA20_jp = 0x800BDA20; // type:func
|
||||
two_tex_scroll = 0x800BDAA8; // type:func
|
||||
DisplayList_initialize = 0x800BDBB4; // type:func
|
||||
func_800BDF90_jp = 0x800BDF90; // type:func
|
||||
fade_rgba8888_draw = 0x800BDF90; // type:func
|
||||
func_800BE030_jp = 0x800BE030; // type:func
|
||||
fade_black_draw = 0x800BE070; // type:func
|
||||
func_800BE094_jp = 0x800BE094; // type:func
|
||||
@@ -3043,23 +3043,23 @@ mSM_ovlptr_dllcnv = 0x800C4728; // type:func
|
||||
func_800C47B4_jp = 0x800C47B4; // type:func
|
||||
func_800C497C_jp = 0x800C497C; // type:func
|
||||
func_800C49D4_jp = 0x800C49D4; // type:func
|
||||
func_800C4C60_jp = 0x800C4C60; // type:func
|
||||
mSM_submenu_ovlptr_cleanup = 0x800C4C60; // type:func
|
||||
load_player = 0x800C4CC4; // type:func
|
||||
func_800C4D1C_jp = 0x800C4D1C; // type:func
|
||||
func_800C4D80_jp = 0x800C4D80; // type:func
|
||||
mSM_submenu_ct = 0x800C4D1C; // type:func
|
||||
mSM_submenu_dt = 0x800C4D80; // type:func
|
||||
func_800C4D8C_jp = 0x800C4D8C; // type:func
|
||||
func_800C4DB0_jp = 0x800C4DB0; // type:func
|
||||
func_800C4DD8_jp = 0x800C4DD8; // type:func
|
||||
func_800C4DFC_jp = 0x800C4DFC; // type:func
|
||||
func_800C4E2C_jp = 0x800C4E2C; // type:func
|
||||
func_800C4E58_jp = 0x800C4E58; // type:func
|
||||
mSM_submenu_ctrl = 0x800C4E58; // type:func
|
||||
func_800C50C4_jp = 0x800C50C4; // type:func
|
||||
func_800C50EC_jp = 0x800C50EC; // type:func
|
||||
func_800C510C_jp = 0x800C510C; // type:func
|
||||
func_800C5228_jp = 0x800C5228; // type:func
|
||||
func_800C524C_jp = 0x800C524C; // type:func
|
||||
func_800C5328_jp = 0x800C5328; // type:func
|
||||
func_800C535C_jp = 0x800C535C; // type:func
|
||||
mSM_submenu_move = 0x800C5328; // type:func
|
||||
mSM_submenu_draw = 0x800C535C; // type:func
|
||||
func_800C53B8_jp = 0x800C53B8; // type:func
|
||||
func_800C543C_jp = 0x800C543C; // type:func
|
||||
func_800C54A8_jp = 0x800C54A8; // type:func
|
||||
@@ -3087,7 +3087,7 @@ func_800C5D68_jp = 0x800C5D68; // type:func
|
||||
func_800C5E10_jp = 0x800C5E10; // type:func
|
||||
func_800C5EA0_jp = 0x800C5EA0; // type:func
|
||||
func_800C5F0C_jp = 0x800C5F0C; // type:func
|
||||
func_800C5F64_jp = 0x800C5F64; // type:func
|
||||
mSc_dmacopy_data_bank = 0x800C5F64; // type:func
|
||||
mSc_bank_regist_check = 0x800C60EC; // type:func
|
||||
func_800C6144_jp = 0x800C6144; // type:func
|
||||
mSc_regist_initial_exchange_bank = 0x800C61CC; // type:func
|
||||
@@ -3150,11 +3150,11 @@ mSN_snowman_init = 0x800C8D04; // type:func
|
||||
func_800C8D40_jp = 0x800C8D40; // type:func
|
||||
func_800C8D98_jp = 0x800C8D98; // type:func
|
||||
func_800C8E08_jp = 0x800C8E08; // type:func
|
||||
func_800C8E50_jp = 0x800C8E50; // type:func
|
||||
mTD_player_keydata_init = 0x800C8E50; // type:func
|
||||
func_800C8ECC_jp = 0x800C8ECC; // type:func
|
||||
func_800C8F5C_jp = 0x800C8F5C; // type:func
|
||||
func_800C8F84_jp = 0x800C8F84; // type:func
|
||||
func_800C8FB8_jp = 0x800C8FB8; // type:func
|
||||
title_demo_move = 0x800C8FB8; // type:func
|
||||
func_800C9010_jp = 0x800C9010; // type:func
|
||||
func_800C9088_jp = 0x800C9088; // type:func
|
||||
mTD_get_titledemo_no = 0x800C909C; // type:func
|
||||
@@ -3174,7 +3174,7 @@ func_800C9728_jp = 0x800C9728; // type:func
|
||||
func_800C98A0_jp = 0x800C98A0; // type:func
|
||||
func_800C9D38_jp = 0x800C9D38; // type:func
|
||||
func_800C9F88_jp = 0x800C9F88; // type:func
|
||||
func_800CA008_jp = 0x800CA008; // type:func
|
||||
mTRC_move = 0x800CA008; // type:func
|
||||
func_800CA070_jp = 0x800CA070; // type:func
|
||||
mTM_set_season = 0x800CA1DC; // type:func
|
||||
func_800CA230_jp = 0x800CA230; // type:func
|
||||
@@ -3209,8 +3209,8 @@ showPerspectiveOverLayView = 0x800CB7B0; // type:func
|
||||
showOrthoView1 = 0x800CBA70; // type:func
|
||||
showView1 = 0x800CBC00; // type:func
|
||||
func_800CBF80_jp = 0x800CBF80; // type:func
|
||||
func_800CBFBC_jp = 0x800CBFBC; // type:func
|
||||
func_800CC3EC_jp = 0x800CC3EC; // type:func
|
||||
watch_my_step_move = 0x800CBFBC; // type:func
|
||||
watch_my_step_draw = 0x800CC3EC; // type:func
|
||||
func_800CC9C4_jp = 0x800CC9C4; // type:func
|
||||
func_800CC9EC_jp = 0x800CC9EC; // type:func
|
||||
func_800CCB44_jp = 0x800CCB44; // type:func
|
||||
@@ -3374,7 +3374,7 @@ func_800D227C_jp = 0x800D227C; // type:func
|
||||
func_800D22A4_jp = 0x800D22A4; // type:func
|
||||
func_800D22CC_jp = 0x800D22CC; // type:func
|
||||
func_800D22F4_jp = 0x800D22F4; // type:func
|
||||
func_800D2314_jp = 0x800D2314; // type:func
|
||||
sAdo_BgmFadeoutCheck = 0x800D2314; // type:func
|
||||
func_800D2334_jp = 0x800D2334; // type:func
|
||||
func_800D2354_jp = 0x800D2354; // type:func
|
||||
func_800D2360_jp = 0x800D2360; // type:func
|
||||
|
||||
@@ -181,34 +181,34 @@ func_808029D0_jp = 0x808029D0; // type:func
|
||||
first_game_cleanup = 0x80802A20; // type:func
|
||||
first_game_init = 0x80802A2C; // type:func
|
||||
func_80802A60_jp = 0x80802A60; // type:func
|
||||
func_80802AE0_jp = 0x80802AE0; // type:func
|
||||
func_80802B40_jp = 0x80802B40; // type:func
|
||||
func_80802B64_jp = 0x80802B64; // type:func
|
||||
func_80802B8C_jp = 0x80802B8C; // type:func
|
||||
func_80802BB8_jp = 0x80802BB8; // type:func
|
||||
func_80802BF4_jp = 0x80802BF4; // type:func
|
||||
func_80802C90_jp = 0x80802C90; // type:func
|
||||
func_80802CBC_jp = 0x80802CBC; // type:func
|
||||
func_80802D9C_jp = 0x80802D9C; // type:func
|
||||
func_80802DF0_jp = 0x80802DF0; // type:func
|
||||
func_80802E10_jp = 0x80802E10; // type:func
|
||||
func_80802E34_jp = 0x80802E34; // type:func
|
||||
func_80802E74_jp = 0x80802E74; // type:func
|
||||
func_808030D0_jp = 0x808030D0; // type:func
|
||||
func_80803124_jp = 0x80803124; // type:func
|
||||
func_80803174_jp = 0x80803174; // type:func
|
||||
Game_play_Reset_destiny = 0x80802AE0; // type:func
|
||||
event_title_flag_on = 0x80802B40; // type:func
|
||||
event_title_flag_off = 0x80802B64; // type:func
|
||||
Game_play_camera_proc = 0x80802B8C; // type:func
|
||||
Game_play_fbdemo_wipe_destroy = 0x80802BB8; // type:func
|
||||
Game_play_fbdemo_wipe_create_sub = 0x80802BF4; // type:func
|
||||
Game_play_fbdemo_wipe_create = 0x80802C90; // type:func
|
||||
Game_play_fbdemo_wipe_init = 0x80802CBC; // type:func
|
||||
Game_play_fbdemo_fade_in_move_end = 0x80802D9C; // type:func
|
||||
Game_play_fbdemo_fade_out_start_emu_move_end = 0x80802DF0; // type:func
|
||||
Game_play_fbdemo_fade_out_game_end_move_end = 0x80802E10; // type:func
|
||||
Game_play_change_scene_move_end = 0x80802E34; // type:func
|
||||
Game_play_fbdemo_wipe_move = 0x80802E74; // type:func
|
||||
Game_play_fbdemo_wipe_proc = 0x808030D0; // type:func
|
||||
game_play_set_fog = 0x80803124; // type:func
|
||||
Game_play_fbdemo_proc = 0x80803174; // type:func
|
||||
play_cleanup = 0x80803210; // type:func
|
||||
play_init = 0x808032F8; // type:func
|
||||
func_80803544_jp = 0x80803544; // type:func
|
||||
func_8080367C_jp = 0x8080367C; // type:func
|
||||
Game_play_move_fbdemo_not_move = 0x80803544; // type:func
|
||||
Game_play_move = 0x8080367C; // type:func
|
||||
func_80803810_jp = 0x80803810; // type:func
|
||||
func_808039D0_jp = 0x808039D0; // type:func
|
||||
func_80803A18_jp = 0x80803A18; // type:func
|
||||
func_80803A40_jp = 0x80803A40; // type:func
|
||||
func_80803B08_jp = 0x80803B08; // type:func
|
||||
func_80803E40_jp = 0x80803E40; // type:func
|
||||
func_80803F48_jp = 0x80803F48; // type:func
|
||||
func_8080407C_jp = 0x8080407C; // type:func
|
||||
setupFog = 0x808039D0; // type:func
|
||||
setupViewer = 0x80803A18; // type:func
|
||||
setupViewMatrix = 0x80803A40; // type:func
|
||||
makeBumpTexture = 0x80803B08; // type:func
|
||||
draw_version = 0x80803E40; // type:func
|
||||
Game_play_draw = 0x80803F48; // type:func
|
||||
play_main = 0x8080407C; // type:func
|
||||
func_80804138_jp = 0x80804138; // type:func
|
||||
func_808041A4_jp = 0x808041A4; // type:func
|
||||
Gameplay_Scene_Init = 0x808041C4; // type:func
|
||||
@@ -233,10 +233,10 @@ jtbl_80804410_jp = 0x80804410; // type:jtbl
|
||||
|
||||
// .bss
|
||||
|
||||
B_80804480_jp = 0x80804480; //
|
||||
fbdemo = 0x80804480; //
|
||||
B_8080455C_jp = 0x8080455C; //
|
||||
B_80804560_jp = 0x80804560; // type:s16
|
||||
B_80804562_jp = 0x80804562; // type:s16
|
||||
S_back_title_timer = 0x80804560; // type:s16
|
||||
S_se_endcheck_timeout = 0x80804562; // type:s16
|
||||
|
||||
// .text
|
||||
|
||||
|
||||
@@ -107,6 +107,9 @@ void game_debug_draw_last(GameState* gameState, GraphicsContext* gfxCtx) {
|
||||
gfxclose(gfxHead, gfx);
|
||||
POLY_OPA_DISP = gfx;
|
||||
|
||||
do {
|
||||
} while (0);
|
||||
|
||||
CLOSE_DISPS(gfxCtx);
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -264,7 +264,7 @@ void Actor_draw(PlayState* play, Actor* actor) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
light = Global_light_read(&play->lightCtx, play->state.gfxCtx);
|
||||
LightsN_list_check(light, play->lightCtx.unk_0, (actor->flags & ACTOR_FLAG_400000) ? NULL : &actor->world.pos);
|
||||
LightsN_list_check(light, play->lightCtx.listHead, (actor->flags & ACTOR_FLAG_400000) ? NULL : &actor->world.pos);
|
||||
LightsN_disp(light, play->state.gfxCtx);
|
||||
|
||||
Matrix_softcv3_load(actor->world.pos.x, actor->world.pos.y + actor->shape.unk_08 * actor->scale.y,
|
||||
@@ -1121,7 +1121,7 @@ Hilite* Setpos_HiliteReflect_init(Vec3f* object, PlayState* play) {
|
||||
sp24.x = play->kankyo.unk_02;
|
||||
sp24.y = play->kankyo.unk_03;
|
||||
sp24.z = play->kankyo.unk_04;
|
||||
return HiliteReflect_init(object, &play->unk_1960, &sp24, play->state.gfxCtx);
|
||||
return HiliteReflect_init(object, &play->unk_1938.unk_028, &sp24, play->state.gfxCtx);
|
||||
}
|
||||
|
||||
Hilite* Setpos_HiliteReflect_xlu_init(Vec3f* object, PlayState* play) {
|
||||
@@ -1130,7 +1130,7 @@ Hilite* Setpos_HiliteReflect_xlu_init(Vec3f* object, PlayState* play) {
|
||||
sp24.x = play->kankyo.unk_02;
|
||||
sp24.y = play->kankyo.unk_03;
|
||||
sp24.z = play->kankyo.unk_04;
|
||||
return HiliteReflect_xlu_init(object, &play->unk_1960, &sp24, play->state.gfxCtx);
|
||||
return HiliteReflect_xlu_init(object, &play->unk_1938.unk_028, &sp24, play->state.gfxCtx);
|
||||
}
|
||||
|
||||
Hilite* Setpos_HiliteReflect_light_init(Vec3f* object, PlayState* play) {
|
||||
@@ -1139,5 +1139,5 @@ Hilite* Setpos_HiliteReflect_light_init(Vec3f* object, PlayState* play) {
|
||||
sp24.x = play->kankyo.unk_02;
|
||||
sp24.y = play->kankyo.unk_03;
|
||||
sp24.z = play->kankyo.unk_04;
|
||||
return HiliteReflect_xlu_init(object, &play->unk_1960, &sp24, play->state.gfxCtx);
|
||||
return HiliteReflect_xlu_init(object, &play->unk_1938.unk_028, &sp24, play->state.gfxCtx);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,871 @@
|
||||
#include "global.h"
|
||||
#include "m_play.h"
|
||||
#include "6A6E80.h"
|
||||
#include "m_npc.h"
|
||||
#include "m_handbill.h"
|
||||
#include "m_field_make.h"
|
||||
#include "m_malloc.h"
|
||||
#include "m_msg_main.h"
|
||||
#include "m_debug.h"
|
||||
#include "m_player_lib.h"
|
||||
#include "6F5550.h"
|
||||
#include "6EC9E0.h"
|
||||
#include "6EDD10.h"
|
||||
#include "69E2C0.h"
|
||||
#include "683030.h"
|
||||
#include "6E30B0.h"
|
||||
#include "6C97F0.h"
|
||||
#include "6EFC20.h"
|
||||
#include "67D890.h"
|
||||
#include "6DA460.h"
|
||||
#include "6ECD90.h"
|
||||
#include "6BA500.h"
|
||||
#include "libc64/qrand.h"
|
||||
#include "m_controller.h"
|
||||
#include "m_debug_display.h"
|
||||
#include "6E0F50.h"
|
||||
#include "6D2720.h"
|
||||
#include "m_lights.h"
|
||||
#include "m_skin_matrix.h"
|
||||
#include "gfxalloc.h"
|
||||
#include "version.h"
|
||||
#include "libu64/gfxprint.h"
|
||||
#include "libc/alloca.h"
|
||||
#include "z_std_dma.h"
|
||||
#include "67E840.h"
|
||||
#include "overlays/gamestates/ovl_famicom_emu/famicom_emu.h"
|
||||
#include "overlays/gamestates/ovl_trademark/m_trademark.h"
|
||||
#include "6A7D20.h"
|
||||
#include "m_scene_table.h"
|
||||
|
||||
void play_main(GameState* gameState);
|
||||
void Gameplay_Scene_Read(PlayState* play, s16 arg1);
|
||||
void Game_play_fbdemo_wipe_create(PlayState* play);
|
||||
void Game_play_fbdemo_wipe_init(PlayState* play);
|
||||
void Game_play_fbdemo_wipe_move(PlayState* play);
|
||||
|
||||
PlayStateUnkFuncsStruct D_80804320_jp = {
|
||||
fbdemo_wipe1_init,
|
||||
(void*)none_proc1,
|
||||
fbdemo_wipe1_move,
|
||||
fbdemo_wipe1_draw,
|
||||
fbdemo_wipe1_startup,
|
||||
fbdemo_wipe1_settype,
|
||||
fbdemo_wipe1_setcolor_rgba8888,
|
||||
NULL,
|
||||
fbdemo_wipe1_is_finish,
|
||||
};
|
||||
|
||||
PlayStateUnkFuncsStruct D_80804344_jp = {
|
||||
fbdemo_triforce_init,
|
||||
(void*)none_proc1,
|
||||
fbdemo_triforce_move,
|
||||
fbdemo_triforce_draw,
|
||||
fbdemo_triforce_startup,
|
||||
fbdemo_triforce_settype,
|
||||
fbdemo_triforce_setcolor_rgba8888,
|
||||
NULL,
|
||||
fbdemo_triforce_is_finish,
|
||||
};
|
||||
|
||||
PlayStateUnkFuncsStruct D_80804368_jp = {
|
||||
fbdemo_fade_init,
|
||||
(void*)none_proc1,
|
||||
fbdemo_fade_move,
|
||||
fbdemo_fade_draw,
|
||||
fbdemo_fade_startup,
|
||||
fbdemo_fade_settype,
|
||||
fbdemo_fade_setcolor_rgba8888,
|
||||
NULL,
|
||||
fbdemo_fade_is_finish,
|
||||
};
|
||||
|
||||
PlayStateUnkFuncsStruct* D_8080438C_jp[] = {
|
||||
&D_80804320_jp, &D_80804344_jp, &D_80804368_jp, &D_80804368_jp, &D_80804344_jp, &D_80804344_jp, &D_80804368_jp,
|
||||
};
|
||||
|
||||
typedef void (*PlayStateUnkFunc)(PlayState* play);
|
||||
PlayStateUnkFunc D_808043A8_jp[] = {
|
||||
(void*)none_proc1,
|
||||
Game_play_fbdemo_wipe_create,
|
||||
Game_play_fbdemo_wipe_init,
|
||||
Game_play_fbdemo_wipe_move,
|
||||
};
|
||||
|
||||
static Play80804480 fbdemo;
|
||||
static void* B_8080455C_jp;
|
||||
static u16 S_back_title_timer;
|
||||
static u16 S_se_endcheck_timeout;
|
||||
|
||||
void Game_play_Reset_destiny(void) {
|
||||
CommonData10138_Sub* temp = &common_data.unk_10138->unk_A86;
|
||||
u8* one = &common_data.unk_1011F;
|
||||
u8* two = &common_data.unk_10121;
|
||||
|
||||
if ((temp->unk_08 != 0) &&
|
||||
((common_data.unk_10122 != temp->unk_06) || (*two != temp->unk_05) || (*one != temp->unk_03))) {
|
||||
temp->unk_08 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void event_title_flag_on(void) {
|
||||
if (common_data.unk_107E4 != 0) {
|
||||
common_data.unk_10A82 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void event_title_flag_off(void) {
|
||||
if (common_data.unk_107E4 == 2) {
|
||||
common_data.unk_107E4 = 0;
|
||||
common_data.unk_10A82 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Game_play_camera_proc(PlayState* play) {
|
||||
Camera2_ClearActorTalking_Cull(play);
|
||||
Camera2_process(play);
|
||||
}
|
||||
|
||||
void Game_play_fbdemo_wipe_destroy(PlayState* play) {
|
||||
play->unk_1EE8.unk_21C.unk_04(&play->unk_1EE8, play);
|
||||
play->unk_1EE3 = 0;
|
||||
play->unk_1EE8.unk_218 = -1;
|
||||
}
|
||||
|
||||
void Game_play_fbdemo_wipe_create_sub(PlayState* play) {
|
||||
s32 sp1C = play->unk_1EE1;
|
||||
|
||||
bzero(&play->unk_1EE8, sizeof(PlayState_Unk_1EE8));
|
||||
if (sp1C >= 7) {
|
||||
sp1C = 1;
|
||||
}
|
||||
play->unk_1EE8.unk_218 = sp1C;
|
||||
|
||||
{
|
||||
PlayStateUnkFuncsStruct* temp_v0 = D_8080438C_jp[sp1C];
|
||||
|
||||
play->unk_1EE8.unk_21C.unk_00 = temp_v0->unk_00;
|
||||
play->unk_1EE8.unk_21C.unk_04 = temp_v0->unk_04;
|
||||
play->unk_1EE8.unk_21C.unk_08 = temp_v0->unk_08;
|
||||
play->unk_1EE8.unk_21C.unk_0C = temp_v0->unk_0C;
|
||||
play->unk_1EE8.unk_21C.unk_10 = temp_v0->unk_10;
|
||||
play->unk_1EE8.unk_21C.unk_14 = temp_v0->unk_14;
|
||||
play->unk_1EE8.unk_21C.unk_18 = temp_v0->unk_18;
|
||||
play->unk_1EE8.unk_21C.unk_20 = temp_v0->unk_20;
|
||||
}
|
||||
}
|
||||
|
||||
void Game_play_fbdemo_wipe_create(PlayState* play) {
|
||||
Game_play_fbdemo_wipe_create_sub(play);
|
||||
Game_play_fbdemo_wipe_init(play);
|
||||
}
|
||||
|
||||
void Game_play_fbdemo_wipe_init(PlayState* play) {
|
||||
PlayState_Unk_1EE8* temp_s0 = &play->unk_1EE8;
|
||||
u8 var_v0;
|
||||
|
||||
play->unk_1EE8.unk_21C.unk_00(temp_s0);
|
||||
|
||||
common_data.unk_1014A = 14;
|
||||
common_data.unk_10149 = 30;
|
||||
|
||||
temp_s0->unk_21C.unk_18(temp_s0, 0);
|
||||
|
||||
var_v0 = play->unk_1EE0;
|
||||
if (temp_s0->unk_218 == 4) {
|
||||
var_v0 |= 0x80;
|
||||
} else if (temp_s0->unk_218 == 5) {
|
||||
var_v0 |= 0x40;
|
||||
}
|
||||
|
||||
temp_s0->unk_21C.unk_14(temp_s0, var_v0);
|
||||
temp_s0->unk_21C.unk_10(temp_s0);
|
||||
|
||||
play->unk_1EE3 = 3;
|
||||
S_back_title_timer = 300;
|
||||
S_se_endcheck_timeout = 300;
|
||||
}
|
||||
|
||||
void Game_play_fbdemo_fade_in_move_end(PlayState* play) {
|
||||
Game_play_fbdemo_wipe_destroy(play);
|
||||
if (play->unk_1EE2 == 3) {
|
||||
fbdemo_cleanup(&fbdemo);
|
||||
play->unk_1EE2 = 0;
|
||||
SetGameFrame(3);
|
||||
}
|
||||
}
|
||||
|
||||
void Game_play_fbdemo_fade_out_start_emu_move_end(PlayState* play) {
|
||||
STOP_GAMESTATE(&play->state);
|
||||
SET_NEXT_GAMESTATE(&play->state, famicom_emu_init, sizeof(FamicomEmuState));
|
||||
}
|
||||
|
||||
void Game_play_fbdemo_fade_out_game_end_move_end(PlayState* play) {
|
||||
STOP_GAMESTATE(&play->state);
|
||||
SET_NEXT_GAMESTATE(&play->state, trademark_init, sizeof(TrademarkState));
|
||||
}
|
||||
|
||||
void Game_play_change_scene_move_end(PlayState* play) {
|
||||
game_goto_next_game_play(&play->state);
|
||||
common_data.unk_10004 = common_data.unk_00014;
|
||||
common_data.unk_00014 = play->unk_1E18;
|
||||
}
|
||||
|
||||
void Game_play_fbdemo_wipe_move(PlayState* play) {
|
||||
UNUSED s32 pad[2];
|
||||
s16 sp26 = 0;
|
||||
s32 sp20 = 1;
|
||||
PlayState_Unk_1EE8* sp18 = &play->unk_1EE8;
|
||||
|
||||
if (play->unk_1EE8.unk_21C.unk_20(sp18, play) != 0) {
|
||||
if ((play->unk_1EE0 != 1) && (play->unk_1EE0 != 11)) {
|
||||
if (S_se_endcheck_timeout != 0) {
|
||||
S_se_endcheck_timeout--;
|
||||
}
|
||||
|
||||
if ((func_800D2334_jp(sp18, play) == 0) && (S_se_endcheck_timeout != 0)) {
|
||||
sp20 = 0;
|
||||
} else {
|
||||
func_800D2568_jp(1);
|
||||
}
|
||||
}
|
||||
|
||||
if (play->unk_1EE0 == 11) {
|
||||
func_800D2568_jp(2);
|
||||
}
|
||||
|
||||
if (sp20 == 1) {
|
||||
switch (play->unk_1EE0) {
|
||||
case 1:
|
||||
Game_play_fbdemo_fade_in_move_end(play);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
//! FAKE
|
||||
if (1) {}
|
||||
if (1) {}
|
||||
Game_play_fbdemo_fade_out_start_emu_move_end(play);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
case 6:
|
||||
if (S_back_title_timer == 300) {
|
||||
mBGMPsComp_make_ps_wipe(0x168, play);
|
||||
}
|
||||
|
||||
case 5:
|
||||
case 10:
|
||||
if (S_back_title_timer != 0) {
|
||||
S_back_title_timer--;
|
||||
}
|
||||
|
||||
if ((sAdo_BgmFadeoutCheck() == 1) || (S_back_title_timer == 0)) {
|
||||
Game_play_fbdemo_fade_out_game_end_move_end(play);
|
||||
} else {
|
||||
sp26 = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 8:
|
||||
if (common_data.unk_100E4 != NULL) {
|
||||
if (*common_data.unk_100E4 != NULL) {
|
||||
(*common_data.unk_100E4)(play);
|
||||
Game_play_change_scene_move_end(play);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 9:
|
||||
if (S_back_title_timer != 0) {
|
||||
S_back_title_timer--;
|
||||
}
|
||||
|
||||
if ((sAdo_BgmFadeoutCheck() == 1) || (S_back_title_timer == 0)) {
|
||||
Game_play_change_scene_move_end(play);
|
||||
} else {
|
||||
sp26 = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
Game_play_change_scene_move_end(play);
|
||||
break;
|
||||
}
|
||||
|
||||
if (sp26 == 0) {
|
||||
play->unk_1EE0 = 0;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
sp18->unk_21C.unk_08(sp18, game_GameFrame);
|
||||
}
|
||||
}
|
||||
|
||||
void Game_play_fbdemo_wipe_proc(PlayState* play) {
|
||||
if ((play->unk_1EE3 == 0) && (play->unk_1EE0 != 0)) {
|
||||
play->unk_1EE3 = 1;
|
||||
}
|
||||
D_808043A8_jp[play->unk_1EE3](play);
|
||||
}
|
||||
|
||||
Gfx* game_play_set_fog(PlayState* play, Gfx* gfx) {
|
||||
return gfx_set_fog_nosync(gfx, play->lightCtx.fogColor.r, play->lightCtx.fogColor.g, play->lightCtx.fogColor.b, 0,
|
||||
play->lightCtx.fogNear, play->lightCtx.zFar);
|
||||
}
|
||||
|
||||
void Game_play_fbdemo_proc(PlayState* play) {
|
||||
UNUSED s32 pad;
|
||||
GraphicsContext* gfxCtx = play->state.gfxCtx;
|
||||
|
||||
switch (play->unk_1EE2) {
|
||||
case 2:
|
||||
if (fbdemo_init(&fbdemo, 10, 7, play) == 0) {
|
||||
play->unk_1EE2 = 0;
|
||||
} else {
|
||||
B_8080455C_jp = gfxCtx->unk_008;
|
||||
play->unk_1EE2 = 3;
|
||||
SetGameFrame(1);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
fbdemo_move(&fbdemo);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void play_cleanup(GameState* gameState) {
|
||||
PlayState* play = (PlayState*)gameState;
|
||||
|
||||
func_800A3304_jp(play);
|
||||
play->state.gfxCtx->unk_2F4 = 0;
|
||||
play->state.gfxCtx->unk_2F8 = 0;
|
||||
play->unk_1CBC.unk_00 = 0;
|
||||
PreRender_cleanup(&play->unk_1DC0);
|
||||
CollisionCheck_dt(play, &play->unk_2138);
|
||||
|
||||
if (play->unk_1EE2 == 3) {
|
||||
fbdemo_cleanup(&fbdemo);
|
||||
play->unk_1EE2 = 0;
|
||||
}
|
||||
|
||||
if (play->unk_1EE3 == 3) {
|
||||
Game_play_fbdemo_wipe_destroy(play);
|
||||
}
|
||||
|
||||
Actor_info_dt(&play->actorInfo, play);
|
||||
mEv_finish(&play->unk_1EBC);
|
||||
func_800AA124_jp();
|
||||
mSM_submenu_dt(&play->unk_1CBC);
|
||||
play->unk_1DAC = -1;
|
||||
mSM_submenu_ovlptr_cleanup(&play->unk_1CBC);
|
||||
mPlib_Object_Exchange_keep_Player_dt(play);
|
||||
mHsRm_GetHuusuiRoom(0, common_data.unk_10003);
|
||||
func_80087280_jp();
|
||||
zelda_CleanupArena();
|
||||
}
|
||||
|
||||
void play_init(GameState* gameState) {
|
||||
PlayState* play = (PlayState*)gameState;
|
||||
GraphicsContext* gfxCtx = play->state.gfxCtx;
|
||||
u32 temp_v1;
|
||||
u32 temp_v0_2;
|
||||
UNUSED s32 pad[2];
|
||||
u8 temp;
|
||||
s32 sp30;
|
||||
|
||||
//! FAKE
|
||||
if (play && play && play) {}
|
||||
|
||||
game_resize_hyral(&play->state, 0x7D0000);
|
||||
func_800D2568_jp(0);
|
||||
event_title_flag_on();
|
||||
func_800C9010_jp();
|
||||
mTM_set_season();
|
||||
func_800B594C_jp();
|
||||
func_800C49D4_jp(play);
|
||||
func_8007CFD8_jp(play);
|
||||
func_8007F858_jp(&play->unk_1EBC);
|
||||
initView(&play->unk_1938, gfxCtx);
|
||||
func_80064F48_jp(play);
|
||||
func_80077620_jp(play, &play->unk_2138);
|
||||
func_8006BB64_jp();
|
||||
func_8006C8D0_jp();
|
||||
play->unk_1DAC = -1;
|
||||
Gameplay_Scene_Read(play, common_data.unk_00014);
|
||||
mSM_submenu_ct(&play->unk_1CBC);
|
||||
play->unk_1CBC.unk_00 = 0;
|
||||
PreRender_init(&play->unk_1DC0);
|
||||
PreRender_setup_savebuf(&play->unk_1DC0, 0x140, 0xF0, 0, 0, 0);
|
||||
PreRender_setup_renderbuf(&play->unk_1DC0, 0x140, 0xF0, NULL, NULL);
|
||||
|
||||
//! FAKE
|
||||
if (1) {}
|
||||
play->unk_1EE2 = 0;
|
||||
play->unk_1EE3 = 0;
|
||||
play->unk_1EE0 = 1;
|
||||
|
||||
temp = 1;
|
||||
if (common_data.unk_1014B != 0xFF) {
|
||||
temp = common_data.unk_1014B;
|
||||
common_data.unk_1014B = 0xFF;
|
||||
}
|
||||
play->unk_1EE1 = temp;
|
||||
|
||||
Pause_ct(&play->pause);
|
||||
new_Matrix(&play->state);
|
||||
play->state.main = play_main;
|
||||
play->state.destroy = play_cleanup;
|
||||
fbdemo_fade_init(&play->unk_2128);
|
||||
fbdemo_fade_settype(&play->unk_2128, 7);
|
||||
fbdemo_fade_setcolor_rgba8888(&play->unk_2128, 0xA0A0A0FF);
|
||||
fbdemo_fade_startup(&play->unk_2128);
|
||||
play->unk_220C = 0;
|
||||
sp30 = THA_getFreeBytes(&play->state.heap);
|
||||
temp_v0_2 = (u32)THA_alloc16(&play->state.heap, sp30);
|
||||
temp_v1 = ALIGN16(temp_v0_2);
|
||||
//! FAKE
|
||||
zelda_InitArena((void*)(temp_v1 & 0xFFFFFFFF), (sp30 - temp_v1) + temp_v0_2);
|
||||
func_800C2EE0_jp();
|
||||
func_80087004_jp();
|
||||
Actor_info_ct(play, &play->actorInfo, play->unk_1EA8);
|
||||
play->unk_2208 = (void*)none_proc1;
|
||||
mMsg_ct(play);
|
||||
mEv_2nd_init(&play->unk_1EBC);
|
||||
mTD_player_keydata_init(play);
|
||||
Balloon_init(play);
|
||||
func_800A65C4_jp();
|
||||
func_80059BF0_jp();
|
||||
func_800CBF80_jp();
|
||||
event_title_flag_off();
|
||||
}
|
||||
|
||||
void Game_play_move_fbdemo_not_move(PlayState* play) {
|
||||
UNUSED s32 pad[2];
|
||||
|
||||
play->state.unk_9D = 0x8F;
|
||||
play->state.unk_9C = 1;
|
||||
mSM_submenu_ctrl(play);
|
||||
if (play->unk_1CBC.unk_0C == 0) {
|
||||
play->state.unk_9C = 2;
|
||||
mDemo_Main(play);
|
||||
play->state.unk_9C = 3;
|
||||
mEv_run(&play->unk_1EBC);
|
||||
}
|
||||
play->state.unk_9C = 4;
|
||||
mDemo_stock_clear();
|
||||
play->state.unk_9C = 5;
|
||||
mSc_dmacopy_data_bank(play->unk_0110);
|
||||
play->state.unk_9C = 6;
|
||||
mSM_submenu_move(&play->unk_1CBC);
|
||||
if ((play->unk_1CBC.unk_0C == 0) && (REGADDR(IREG, 0x48) == 0)) {
|
||||
play->unk_1EA0++;
|
||||
play->state.unk_9C = 7;
|
||||
CollisionCheck_OC(play, &play->unk_2138);
|
||||
play->state.unk_9C = 8;
|
||||
CollisionCheck_clear(play, &play->unk_2138);
|
||||
play->state.unk_9D = 0x90;
|
||||
play->state.unk_9C = 0;
|
||||
Actor_info_call_actor(play, &play->actorInfo);
|
||||
play->state.unk_9D = 0x91;
|
||||
play->state.unk_9C = 1;
|
||||
mCoBG_CalcTimerDecalCircle();
|
||||
play->state.unk_9C = 2;
|
||||
mMsg_Main(play);
|
||||
}
|
||||
fbdemo_fade_move(&play->unk_2128, game_GameFrame);
|
||||
}
|
||||
|
||||
void Game_play_move(PlayState* play) {
|
||||
PlayState_unk_0110* p = play->unk_0110;
|
||||
s32 var_v1;
|
||||
|
||||
play->state.unk_9D = 0x8D;
|
||||
play->state.unk_9C = 1;
|
||||
Game_play_Reset_destiny();
|
||||
gSegments[4] = (uintptr_t)OS_K0_TO_PHYSICAL(p->segment);
|
||||
gSegments[2] = (uintptr_t)OS_K0_TO_PHYSICAL(play->unk_010C);
|
||||
play->state.unk_9C = 2;
|
||||
|
||||
if (zurumode_flag >= 2) {
|
||||
var_v1 = Pause_proc(&play->pause, CONTROLLER2(&play->state)) == 0;
|
||||
} else {
|
||||
var_v1 = 0;
|
||||
}
|
||||
|
||||
play->state.unk_9D = 0x8E;
|
||||
play->state.unk_9C = 0;
|
||||
|
||||
if (var_v1 == 0) {
|
||||
play->state.unk_9C = 1;
|
||||
Game_play_fbdemo_wipe_proc(play);
|
||||
play->state.unk_9C = 2;
|
||||
Game_play_fbdemo_proc(play);
|
||||
play->state.unk_9C = 3;
|
||||
if (play->unk_1EE2 != 3) {
|
||||
Game_play_move_fbdemo_not_move(play);
|
||||
}
|
||||
}
|
||||
|
||||
if (play->unk_1CBC.unk_0C == 0) {
|
||||
play->state.unk_9D = 0x92;
|
||||
play->state.unk_9C = 1;
|
||||
Game_play_camera_proc(play);
|
||||
play->state.unk_9C = 2;
|
||||
mPO_business_proc(play);
|
||||
play->state.unk_9C = 3;
|
||||
mTRC_move(play);
|
||||
play->state.unk_9C = 4;
|
||||
Balloon_move(play);
|
||||
}
|
||||
|
||||
play->state.unk_9D = 0x93;
|
||||
play->state.unk_9C = 1;
|
||||
Global_kankyo_set(play, &play->kankyo, &play->lightCtx);
|
||||
play->state.unk_9C = 2;
|
||||
mEnv_WindMove();
|
||||
play->state.unk_9C = 3;
|
||||
watch_my_step_move(play);
|
||||
play->state.unk_9C = 4;
|
||||
banti_move(play);
|
||||
play->state.unk_9C = 5;
|
||||
title_demo_move(play);
|
||||
play->state.unk_9D = 0x95;
|
||||
play->state.unk_9C = 0;
|
||||
}
|
||||
|
||||
void func_80803810_jp(PlayState* play, GraphicsContext* gfxCtx) {
|
||||
void* temp_v0 = play->unk_0110[0].segment;
|
||||
|
||||
gSegments[4] = (uintptr_t)OS_K0_TO_PHYSICAL(temp_v0);
|
||||
gSegments[2] = (uintptr_t)OS_K0_TO_PHYSICAL(play->unk_010C);
|
||||
|
||||
OPEN_DISPS(gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x00, NULL);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x00, NULL);
|
||||
gSPSegment(OVERLAY_DISP++, 0x00, NULL);
|
||||
gSPSegment(UNK_2B0_DISP++, 0x00, NULL);
|
||||
gSPSegment(UNK_2C0_DISP++, 0x00, NULL);
|
||||
gSPSegment(LIGHT_DISP++, 0x00, NULL);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x04, temp_v0);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x04, temp_v0);
|
||||
gSPSegment(OVERLAY_DISP++, 0x04, temp_v0);
|
||||
gSPSegment(UNK_2B0_DISP++, 0x04, temp_v0);
|
||||
gSPSegment(UNK_2C0_DISP++, 0x04, temp_v0);
|
||||
gSPSegment(LIGHT_DISP++, 0x04, temp_v0);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x02, play->unk_010C);
|
||||
gSPSegment(POLY_XLU_DISP++, 0x02, play->unk_010C);
|
||||
gSPSegment(OVERLAY_DISP++, 0x02, play->unk_010C);
|
||||
gSPSegment(UNK_2B0_DISP++, 0x02, play->unk_010C);
|
||||
gSPSegment(UNK_2C0_DISP++, 0x02, play->unk_010C);
|
||||
gSPSegment(LIGHT_DISP++, 0x02, play->unk_010C);
|
||||
|
||||
CLOSE_DISPS(gfxCtx);
|
||||
}
|
||||
|
||||
void setupFog(PlayState* play, GraphicsContext* gfxCtx) {
|
||||
OPEN_DISPS(gfxCtx);
|
||||
|
||||
POLY_OPA_DISP = game_play_set_fog(play, POLY_OPA_DISP);
|
||||
POLY_XLU_DISP = game_play_set_fog(play, POLY_XLU_DISP);
|
||||
|
||||
CLOSE_DISPS(gfxCtx);
|
||||
}
|
||||
|
||||
void setupViewer(PlayState* play) {
|
||||
showView(&play->unk_1938, 0xF, play);
|
||||
}
|
||||
|
||||
void setupViewMatrix(PlayState* play, GraphicsContext* __gfxCtx, GraphicsContext* gfxCtx2) {
|
||||
// TODO: A way to fit OPEN_DISPS/CLOSE_DISPS on the stack
|
||||
Matrix_MtxtoMtxF(&play->unk_1938.unk_0A0, &play->billboardMtxF);
|
||||
Matrix_MtxtoMtxF(&play->unk_1938.unk_060, &play->viewProjectionMtxF);
|
||||
Skin_Matrix_MulMatrix(&play->viewProjectionMtxF, &play->billboardMtxF, &play->viewProjectionMtxF);
|
||||
|
||||
play->billboardMtxF.mf[0][3] = 0.0f;
|
||||
play->billboardMtxF.mf[1][3] = 0.0f;
|
||||
play->billboardMtxF.mf[2][3] = 0.0f;
|
||||
play->billboardMtxF.mf[3][0] = 0.0f;
|
||||
play->billboardMtxF.mf[3][1] = 0.0f;
|
||||
play->billboardMtxF.mf[3][2] = 0.0f;
|
||||
|
||||
Matrix_reverse(&play->billboardMtxF);
|
||||
|
||||
play->unk_1E9C = _MtxF_to_Mtx(&play->billboardMtxF, GRAPH_ALLOC(gfxCtx2, sizeof(MtxF) * 1));
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x01, play->unk_1E9C);
|
||||
}
|
||||
|
||||
s32 makeBumpTexture(PlayState* play, GraphicsContext* __gfxCtx, GraphicsContext* gfxCtx2) {
|
||||
// TODO: A way to fit OPEN_DISPS/CLOSE_DISPS on the stack
|
||||
{
|
||||
Gfx* sp194;
|
||||
Gfx* sp190;
|
||||
sp190 = POLY_OPA_DISP;
|
||||
sp194 = gfxopen(sp190);
|
||||
|
||||
gSPDisplayList(OVERLAY_DISP++, sp194);
|
||||
|
||||
if (play->unk_1EE3 == 3) {
|
||||
PlayState1938 sp60;
|
||||
ScissorViewArg1 sp50;
|
||||
|
||||
initView(&sp60, gfxCtx2);
|
||||
{
|
||||
sp60.unk_120 = 10;
|
||||
//! FAKE
|
||||
label2:;
|
||||
}
|
||||
sp50.unk_04 = 0xF0, sp50.unk_0C = 0x140;
|
||||
sp50.unk_00 = 0;
|
||||
sp50.unk_08 = 0;
|
||||
setScissorView(&sp60, &sp50);
|
||||
showView1(&sp60, 0xF, &sp194);
|
||||
play->unk_1EE8.unk_21C.unk_0C(&play->unk_1EE8, &sp194);
|
||||
}
|
||||
|
||||
fbdemo_fade_draw(&play->unk_2128, &sp194);
|
||||
fade_rgba8888_draw(&sp194, play->unk_220C);
|
||||
|
||||
gSPEndDisplayList(sp194++);
|
||||
|
||||
gfxclose(sp190, sp194);
|
||||
POLY_OPA_DISP = sp194;
|
||||
}
|
||||
|
||||
if (play->unk_1EE2 == 3) {
|
||||
Gfx* sp48 = POLY_OPA_DISP;
|
||||
|
||||
fbdemo_draw(&fbdemo, &sp48);
|
||||
POLY_OPA_DISP = sp48;
|
||||
return 1;
|
||||
}
|
||||
|
||||
PreRender_setup_renderbuf(&play->unk_1DC0, 0x140, 0xF0, gfxCtx2->unk_2E4, gfxCtx2->unk_008);
|
||||
if (play->unk_1CBC.unk_00 == 2) {
|
||||
func_800B0010_jp();
|
||||
PreRender_ConvertFrameBuffer_fg(&play->unk_1DC0);
|
||||
play->unk_1CBC.unk_00 = 3;
|
||||
} else if (play->unk_1CBC.unk_00 >= 5) {
|
||||
play->unk_1CBC.unk_00 = 0;
|
||||
}
|
||||
|
||||
if (play->unk_1CBC.unk_00 == 3) {
|
||||
Gfx* sp44 = POLY_OPA_DISP;
|
||||
|
||||
PreRender_loadFrameBufferCopy(&play->unk_1DC0, &sp44);
|
||||
POLY_OPA_DISP = sp44;
|
||||
return 1;
|
||||
}
|
||||
|
||||
{
|
||||
Lights* sp40 = Global_light_read(&play->lightCtx, gfxCtx2);
|
||||
|
||||
LightsN_list_check(sp40, play->lightCtx.listHead, NULL);
|
||||
LightsN_disp(sp40, gfxCtx2);
|
||||
}
|
||||
|
||||
Actor_info_draw_actor(play, &play->actorInfo);
|
||||
Camera2_draw(play);
|
||||
mMsg_Draw(play);
|
||||
Debug_Display_output(play);
|
||||
|
||||
if ((play->unk_1CBC.unk_00 == 1) || (play->unk_1EE2 == 1)) {
|
||||
Gfx* sp3C;
|
||||
Gfx* sp38;
|
||||
|
||||
sp38 = POLY_OPA_DISP;
|
||||
sp3C = gfxopen(sp38);
|
||||
|
||||
gSPDisplayList(OVERLAY_DISP++, sp3C);
|
||||
|
||||
play->unk_1DC0.unk_10 = gfxCtx2->unk_2E4;
|
||||
play->unk_1DC0.unk_14 = gfxCtx2->unk_008;
|
||||
PreRender_saveFrameBuffer(&play->unk_1DC0, &sp3C);
|
||||
|
||||
if (play->unk_1CBC.unk_00 == 1) {
|
||||
play->unk_1DC0.unk_18 = gfxCtx2->unk_2E4;
|
||||
PreRender_saveCVG(&play->unk_1DC0, &sp3C);
|
||||
play->unk_1CBC.unk_00 = 2;
|
||||
} else {
|
||||
play->unk_1EE2 = 2;
|
||||
}
|
||||
|
||||
gSPEndDisplayList(sp3C++);
|
||||
|
||||
gfxclose(sp38, sp3C);
|
||||
POLY_OPA_DISP = sp3C;
|
||||
|
||||
REGADDR(SREG, 0x21) |= 1;
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
void draw_version(GraphicsContext* gfxCtx) {
|
||||
Gfx* temp_s0;
|
||||
gfxprint* printer;
|
||||
|
||||
OPEN_DISPS(gfxCtx);
|
||||
|
||||
temp_s0 = func_800BD720_jp(OVERLAY_DISP);
|
||||
printer = alloca(sizeof(gfxprint));
|
||||
|
||||
gfxprint_init(printer);
|
||||
gfxprint_open(printer, temp_s0);
|
||||
gfxprint_color(printer, 255, 155, 255, 255);
|
||||
gfxprint_color(printer, 255, 255, 255, 255);
|
||||
if (temp_s0 && temp_s0 && temp_s0) {}
|
||||
gfxprint_locate8x8(printer, 7, 0x1A);
|
||||
gfxprint_printf(printer, "[Creator:%s]", __Creator__);
|
||||
gfxprint_locate8x8(printer, 7, 0x1B);
|
||||
gfxprint_printf(printer, "[Date:%s]", __DateTime__);
|
||||
temp_s0 = gfxprint_close(printer);
|
||||
gfxprint_cleanup(printer);
|
||||
OVERLAY_DISP = temp_s0;
|
||||
|
||||
CLOSE_DISPS(gfxCtx);
|
||||
}
|
||||
|
||||
void Game_play_draw(PlayState* play) {
|
||||
GraphicsContext* gfxCtx = play->state.gfxCtx;
|
||||
u8 sp2B = 0;
|
||||
u8 sp2A = 0;
|
||||
u8 sp29 = 0;
|
||||
|
||||
//! FAKE
|
||||
label:;
|
||||
func_80803810_jp(play, gfxCtx);
|
||||
if (common_data.unk_10001 == 0) {
|
||||
if (mEv_CheckTitleDemo() != -9) {
|
||||
sp2B = play->kankyo.unk_AE;
|
||||
sp2A = play->kankyo.unk_AF;
|
||||
sp29 = play->kankyo.unk_B0;
|
||||
}
|
||||
}
|
||||
|
||||
DisplayList_initialize(gfxCtx, sp2B, sp2A, sp29, play);
|
||||
setupFog(play, gfxCtx);
|
||||
setupViewer(play);
|
||||
setupViewMatrix(play, gfxCtx, gfxCtx);
|
||||
|
||||
//! FAKE
|
||||
if (1) {}
|
||||
if (1) {}
|
||||
if (1) {}
|
||||
|
||||
if (makeBumpTexture(play, gfxCtx, gfxCtx) == 1) {
|
||||
watch_my_step_draw(play);
|
||||
banti_draw(play);
|
||||
mSM_submenu_draw(&play->unk_1CBC, play);
|
||||
}
|
||||
|
||||
if (zurumode_flag != 0) {
|
||||
switch (mEv_CheckTitleDemo()) {
|
||||
case -9:
|
||||
case -1:
|
||||
default:
|
||||
draw_version(gfxCtx);
|
||||
break;
|
||||
|
||||
case 0:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void play_main(GameState* gameState) {
|
||||
PlayState* play = (PlayState*)gameState;
|
||||
|
||||
play->state.unk_9D = 0x6E;
|
||||
play->state.unk_9C = 0;
|
||||
fqrand();
|
||||
play->state.unk_9D = 0x78;
|
||||
play->state.unk_9C = 0;
|
||||
mCon_main(&play->state);
|
||||
play->state.unk_9D = 0x82;
|
||||
play->state.unk_9C = 0;
|
||||
Debug_Display_init();
|
||||
play->state.unk_9D = 0x8C;
|
||||
play->state.unk_9C = 0;
|
||||
Game_play_move(play);
|
||||
play->state.unk_9D = 0xAA;
|
||||
play->state.unk_9C = 0;
|
||||
Game_play_draw(play);
|
||||
play->state.unk_9D = 0xB4;
|
||||
play->state.unk_9C = 0;
|
||||
if (play->unk_1CBC.unk_00 != 2) {
|
||||
GraphicsContext* gfxCtx = play->state.gfxCtx;
|
||||
|
||||
game_debug_draw_last(&play->state, gfxCtx);
|
||||
game_draw_last(gfxCtx);
|
||||
play->state.unk_9C = 0;
|
||||
}
|
||||
play->state.unk_9D = 0xBE;
|
||||
}
|
||||
|
||||
void* func_80804138_jp(PlayState* play, Struct_8010EAA0* arg1) {
|
||||
u32 sp24 = arg1->unk_04 - arg1->unk_00;
|
||||
void* sp20 = THA_alloc16(&play->state.heap, sp24);
|
||||
|
||||
func_80026E10_jp(sp20, arg1->unk_00, sp24, "../m_play.c", 2302);
|
||||
return sp20;
|
||||
}
|
||||
|
||||
void func_808041A4_jp(PlayState* play) {
|
||||
Global_kankyo_ct(play, &play->kankyo);
|
||||
}
|
||||
|
||||
void Gameplay_Scene_Init(PlayState* play) {
|
||||
play->unk_1EA8 = NULL;
|
||||
play->unk_1EA5 = 0;
|
||||
play->unk_1EA6 = 0;
|
||||
play->unk_1EA7 = 0;
|
||||
play->unk_1EB8 = 0;
|
||||
mSc_data_bank_ct(play, play->unk_0110);
|
||||
Global_light_ct(&play->lightCtx);
|
||||
Door_info_ct(&play->unk_1E10);
|
||||
common_data_clear();
|
||||
Scene_ct(play, play->unk_010C);
|
||||
mSc_decide_exchange_bank(play->unk_0110);
|
||||
func_808041A4_jp(play);
|
||||
}
|
||||
|
||||
s32 mPl_SceneNo2SoundRoomType(s32 arg0) {
|
||||
switch (arg0) {
|
||||
case 20:
|
||||
return 1;
|
||||
case 6:
|
||||
case 9:
|
||||
case 12:
|
||||
case 14:
|
||||
case 18:
|
||||
case 21:
|
||||
case 31:
|
||||
return 2;
|
||||
case 17:
|
||||
case 22:
|
||||
case 23:
|
||||
case 24:
|
||||
case 25:
|
||||
case 29:
|
||||
return 3;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Gameplay_Scene_Read(PlayState* play, s16 arg1) {
|
||||
Struct_8010EAA0* sp1C = &scene_data_status[arg1];
|
||||
|
||||
sp1C->unk_13 = 0;
|
||||
play->unk_2210 = sp1C;
|
||||
play->unk_00E0 = arg1;
|
||||
play->unk_010C = func_80804138_jp(play, sp1C);
|
||||
sp1C->unk_13 = 0;
|
||||
gSegments[2] = (uintptr_t)OS_K0_TO_PHYSICAL(play->unk_010C);
|
||||
Gameplay_Scene_Init(play);
|
||||
sAdo_RoomType(mPl_SceneNo2SoundRoomType(common_data.unk_00014));
|
||||
}
|
||||
@@ -1,14 +1,26 @@
|
||||
#ifndef M_PLAY_H
|
||||
#define M_PLAY_H
|
||||
|
||||
#include "m_collision_obj.h"
|
||||
#include "m_event.h"
|
||||
#include "6E80C0.h"
|
||||
#include "ultra64.h"
|
||||
#include "game.h"
|
||||
#include "gfx.h"
|
||||
#include "m_actor.h"
|
||||
#include "m_kankyo.h"
|
||||
#include "m_lights.h"
|
||||
#include "z64math.h"
|
||||
#include "PreRender.h"
|
||||
#include "unknown_structs.h"
|
||||
#include "sys_matrix.h"
|
||||
#include "unk.h"
|
||||
#include "m_common_data.h"
|
||||
#include "m_lib.h"
|
||||
#include "m_view.h"
|
||||
#include "m_lights.h"
|
||||
#include "m_collision_bg.h"
|
||||
#include "m_pause.h"
|
||||
#include "6A8180.h"
|
||||
#include "6E9650.h"
|
||||
|
||||
struct Actor;
|
||||
struct ActorEntry;
|
||||
@@ -17,6 +29,34 @@ struct PlayState;
|
||||
typedef void (*PlayState_unk_1C58)(struct Actor*);
|
||||
typedef UNK_RET (*PlayState_unk_2208)(struct Actor*, struct PlayState*);
|
||||
|
||||
typedef void (*PlayStateUnkFunc_00)(void*);
|
||||
typedef void (*PlayStateUnkFunc_04)(void*, struct PlayState*);
|
||||
typedef void (*PlayStateUnkFunc_08)(void*, u8);
|
||||
typedef void (*PlayStateUnkFunc_0C)(void*, Gfx**);
|
||||
typedef void (*PlayStateUnkFunc_10)(void*);
|
||||
typedef void (*PlayStateUnkFunc_14)(void*, s32);
|
||||
typedef void (*PlayStateUnkFunc_18)(void*, s32);
|
||||
typedef void (*PlayStateUnkFunc_1C)(void);
|
||||
typedef s32 (*PlayStateUnkFunc_20)(void*, struct PlayState*);
|
||||
|
||||
typedef struct PlayStateUnkFuncsStruct {
|
||||
/* 0x00 */ PlayStateUnkFunc_00 unk_00;
|
||||
/* 0x04 */ PlayStateUnkFunc_04 unk_04;
|
||||
/* 0x08 */ PlayStateUnkFunc_08 unk_08;
|
||||
/* 0x0C */ PlayStateUnkFunc_0C unk_0C;
|
||||
/* 0x10 */ PlayStateUnkFunc_10 unk_10;
|
||||
/* 0x14 */ PlayStateUnkFunc_14 unk_14;
|
||||
/* 0x18 */ PlayStateUnkFunc_18 unk_18;
|
||||
/* 0x1C */ PlayStateUnkFunc_1C unk_1C;
|
||||
/* 0x20 */ PlayStateUnkFunc_20 unk_20;
|
||||
} PlayStateUnkFuncsStruct; // size = 0x24
|
||||
|
||||
typedef struct PlayState_Unk_1EE8 {
|
||||
/* 0x000 */ char unk000[0x218];
|
||||
/* 0x218 */ s32 unk_218;
|
||||
/* 0x21C */ PlayStateUnkFuncsStruct unk_21C;
|
||||
} PlayState_Unk_1EE8; // size = 0x240
|
||||
|
||||
typedef struct PlayState {
|
||||
/* 0x0000 */ GameState state;
|
||||
/* 0x00E0 */ s16 unk_00E0;
|
||||
@@ -24,34 +64,56 @@ typedef struct PlayState {
|
||||
/* 0x00E4 */ s8 unk_00E4;
|
||||
/* 0x00E5 */ s8 unk_00E5;
|
||||
/* 0x00E6 */ UNK_TYPE1 unk_00E6[0x2];
|
||||
/* 0x00E8 */ UNK_TYPE1 unk_00E8[0x28];
|
||||
/* 0x00E8 */ UNK_TYPE1 unk_00E8[0x24];
|
||||
/* 0x010C */ void* unk_010C;
|
||||
/* 0x0110 */ PlayState_unk_0110 unk_0110[UNK_SIZE];
|
||||
/* 0x0164 */ UNK_TYPE1 unk_0164[0x17A8];
|
||||
/* 0x190C */ s32 unk_190C;
|
||||
/* 0x1910 */ UNK_TYPE1 unk_1910[0x50];
|
||||
/* 0x1960 */ Vec3f unk_1960;
|
||||
/* 0x196C */ UNK_TYPE1 unk_196C[0x22C];
|
||||
/* 0x1910 */ UNK_TYPE1 unk_1910[0x28];
|
||||
/* 0x1938 */ PlayState1938 unk_1938;
|
||||
/* 0x1A60 */ UNK_TYPE1 unk_1A60[0x138];
|
||||
/* 0x1B98 */ Kankyo kankyo;
|
||||
/* 0x1C60 */ LightContext lightCtx;
|
||||
/* 0x1C64 */ UNK_TYPE1 unk_1C64[0x14];
|
||||
/* 0x1C70 */ Pause pause;
|
||||
/* 0x1C78 */ ActorInfo actorInfo;
|
||||
/* 0x1CBC */ UNK_TYPE1 unk_1CBC[0x160];
|
||||
/* 0x1CBC */ PlayState1CBC unk_1CBC;
|
||||
/* 0x1DAC */ s8 unk_1DAC;
|
||||
/* 0x1DAD */ UNK_TYPE1 unk_1DAD[0x3];
|
||||
/* 0x1DB0 */ UNK_TYPE1 unk_1DB0[0x10];
|
||||
/* 0x1DC0 */ PreRender unk_1DC0;
|
||||
/* 0x1E10 */ s32 unk_1E10;
|
||||
/* 0x1E14 */ char unk_1E14[0x4];
|
||||
/* 0x1E18 */ s32 unk_1E18;
|
||||
/* 0x1E1C */ MtxF viewProjectionMtxF;
|
||||
/* 0x1E5C */ MtxF billboardMtxF;
|
||||
/* 0x1E9C */ UNK_TYPE1 unk_1E9C[0x8];
|
||||
/* 0x1E9C */ Mtx* unk_1E9C;
|
||||
/* 0x1EA0 */ s32 unk_1EA0;
|
||||
/* 0x1EA4 */ UNK_TYPE1 unk_1EA4[0x1];
|
||||
/* 0x1EA5 */ u8 unk_1EA5;
|
||||
/* 0x1EA6 */ u8 unk_1EA6;
|
||||
/* 0x1EA7 */ UNK_TYPE1 unk_1EA7[0x1];
|
||||
/* 0x1EA8 */ UNK_TYPE1 unk_1EA8[0x4];
|
||||
/* 0x1EAC */ struct ActorEntry *unk_1EAC;
|
||||
/* 0x1EA7 */ u8 unk_1EA7;
|
||||
/* 0x1EA8 */ struct ActorEntry* unk_1EA8;
|
||||
/* 0x1EAC */ struct ActorEntry* unk_1EAC;
|
||||
/* 0x1EB0 */ s16 *unk_1EB0;
|
||||
/* 0x1EB4 */ UNK_TYPE1 unk_1EB4[0x354];
|
||||
/* 0x1EB4 */ UNK_TYPE1 unk_1EB4[0x4];
|
||||
/* 0x1EB8 */ s32 unk_1EB8;
|
||||
/* 0x1EBC */ PlayState1EBC unk_1EBC;
|
||||
/* 0x1ECC */ UNK_TYPE1 unk_1ECC[0x14];
|
||||
/* 0x1EE0 */ u8 unk_1EE0;
|
||||
/* 0x1EE1 */ u8 unk_1EE1;
|
||||
/* 0x1EE2 */ u8 unk_1EE2;
|
||||
/* 0x1EE3 */ u8 unk_1EE3;
|
||||
/* 0x1EE4 */ UNK_TYPE1 unk_1EE4[0x4];
|
||||
/* 0x1EE8 */ PlayState_Unk_1EE8 unk_1EE8;
|
||||
/* 0x2128 */ PlayState2128 unk_2128;
|
||||
/* 0x2138 */ PlayState2138 unk_2138;
|
||||
/* 0x2208 */ PlayState_unk_2208 unk_2208;
|
||||
/* 0x220C */ UNK_TYPE1 unk_220C[0x204];
|
||||
/* 0x220C */ s32 unk_220C;
|
||||
/* 0x2210 */ Struct_8010EAA0* unk_2210;
|
||||
/* 0x2214 */ UNK_TYPE1 unk_2214[0x1FC];
|
||||
} PlayState; // size = 0x2410
|
||||
|
||||
void play_init(GameState *thisx);
|
||||
void play_cleanup(GameState *thisx);
|
||||
void play_init(GameState* gameState);
|
||||
void play_cleanup(GameState* gameState);
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -283,7 +283,7 @@
|
||||
- [0x019C90, .rodata, ../lib/ultralib/src/libc/xldtob]
|
||||
- [0x019CF0, .rodata, ../lib/ultralib/src/libc/llcvt]
|
||||
|
||||
- [0x019D00, rodata, boot/build]
|
||||
- [0x019D00, rodata, boot/version]
|
||||
|
||||
- { start: 0x019D40, type: .bss, vram: 0x8003E940, name: boot/boot_main }
|
||||
- { start: 0x019D40, type: .bss, vram: 0x8003F330, name: boot/idle }
|
||||
|
||||
@@ -43,10 +43,10 @@
|
||||
compress: True
|
||||
bss_size: 0xF0
|
||||
subsegments:
|
||||
- [0x741FB0, asm, overlays/gamestates/ovl_play/m_play]
|
||||
- [0x7437F0, data, overlays/gamestates/ovl_play/m_play]
|
||||
- [0x743890, rodata, overlays/gamestates/ovl_play/m_play]
|
||||
- { start: 0x743950, type: bss, vram: 0x80804480, name: overlays/gamestates/ovl_play/m_play }
|
||||
- [0x741FB0, c, overlays/gamestates/ovl_play/m_play]
|
||||
- [0x7437F0, .data, overlays/gamestates/ovl_play/m_play]
|
||||
- [0x743890, .rodata, overlays/gamestates/ovl_play/m_play]
|
||||
- { start: 0x743950, type: .bss, vram: 0x80804480, name: overlays/gamestates/ovl_play/m_play }
|
||||
- name: ovl_play_reloc
|
||||
type: code
|
||||
start: 0x743950
|
||||
|
||||
Reference in New Issue
Block a user