mirror of
https://github.com/zeldaret/oot
synced 2026-07-09 14:45:41 -04:00
Decompile z_play.c and Match/Document some of z_view.c (#74)
* Decompile z_play.c and Match/Document some of z_view.c Also fix the last non matching in z_sample.c and update some game state functions. * Suggestions from PR #74 * Fix undefined reference to Gameplay_DrawOverlay * Suggestion from PR #74 (2) * Fix a fake argument in func_800BC450
This commit is contained in:
+10
-4
@@ -1,12 +1,18 @@
|
||||
#ifndef _COLOR_H_
|
||||
#define _COLOR_H_
|
||||
|
||||
typedef struct {
|
||||
u8 r, g, b;
|
||||
typedef union {
|
||||
struct {
|
||||
u8 r, g, b;
|
||||
};
|
||||
u32 rgb;
|
||||
} Color_RGB8;
|
||||
|
||||
typedef struct {
|
||||
u8 r, g, b, a;
|
||||
typedef union {
|
||||
struct {
|
||||
u8 r, g, b, a;
|
||||
};
|
||||
u32 rgba;
|
||||
} Color_RGBA8;
|
||||
|
||||
typedef struct {
|
||||
|
||||
+120
-131
@@ -307,7 +307,7 @@ void func_8002DE04(GlobalContext* globalCtx, Actor* actorA, Actor* actorB);
|
||||
void func_8002DE74(GlobalContext* globalCtx, Player* player);
|
||||
void func_8002DECC(GlobalContext* globalCtx, Player* player, Actor* actor);
|
||||
s32 func_8002DEEC(Player* player);
|
||||
void func_8002DF18(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
void func_8002DF18(GlobalContext* globalCtx, Player* player);
|
||||
u32 func_8002DF38(GlobalContext* globalCtx, Actor* actor, u8 newAction);
|
||||
s32 func_8002DF54(GlobalContext* globalCtx, Actor* actor, u8 arg2);
|
||||
void func_8002DF90(DynaPolyActor* dynaActor);
|
||||
@@ -362,6 +362,7 @@ void func_800304DC(GlobalContext* globalCtx, ActorContext* actorCtx, ActorEntry*
|
||||
void Actor_UpdateAll(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
s32 func_800314D4(GlobalContext* globalCtx, Actor* actorB, Vec3f* arg2, f32 arg3);
|
||||
void func_80031B14(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
void func_80031C3C(ActorContext* actorCtx, GlobalContext* globalCtx);
|
||||
Actor* Actor_Spawn(ActorContext* actorCtx, GlobalContext* globalCtx, s16 actorId, f32 posX, f32 posY, f32 posZ,
|
||||
s16 rotX, s16 rotY, s16 rotZ, s16 params);
|
||||
Actor* Actor_SpawnAttached(ActorContext* actorCtx, Actor* attachedTo, GlobalContext* globalCtx, s16 actorId, f32 posX,
|
||||
@@ -475,10 +476,10 @@ void func_80038A28(CollisionPoly*, f32, f32, f32, MtxF*);
|
||||
// ? func_8003C55C(?);
|
||||
// ? func_8003C614(?);
|
||||
f32 func_8003C8EC(GlobalContext*, CollisionContext*, CollisionPoly**, Vec3f*);
|
||||
// ? func_8003C940(?);
|
||||
f32 func_8003C940(CollisionContext*, CollisionPoly**, s32*, Vec3f*);
|
||||
// ? func_8003C9A4(?);
|
||||
f32 func_8003CA0C(GlobalContext*, CollisionContext*, CollisionPoly**, u32*, Actor*, Vec3f*);
|
||||
// ? func_8003CB30(?);
|
||||
f32 func_8003CB30(GlobalContext*, CollisionContext*, PosRot*, MtxF*);
|
||||
f32 func_8003CCA4(CollisionContext*, CollisionPoly**, s32*, Vec3f*);
|
||||
// ? func_8003CDD4(?);
|
||||
s32 func_8003D52C(CollisionContext*, Vec3f*, Vec3f*, Vec3f*, f32, CollisionPoly**, u32*, Actor*, f32);
|
||||
@@ -631,14 +632,14 @@ f32 func_800437F0(f32, f32);
|
||||
// ? func_80057C6C(?);
|
||||
// ? func_80057FC4(?);
|
||||
// ? func_80058148(?);
|
||||
// ? func_80058354(?);
|
||||
void Camera_ChangeStatus(Camera* camera, s16 status);
|
||||
// ? func_800584E8(?);
|
||||
// ? func_800588B4(?);
|
||||
// ? func_80058CF8(?);
|
||||
// ? func_80058D34(?);
|
||||
// ? func_80058E8C(?);
|
||||
// ? func_800591EC(?);
|
||||
// ? func_80059EC8(?);
|
||||
void func_80059EC8(Camera* camera);
|
||||
// ? func_8005A02C(?);
|
||||
// ? func_8005A04C(?);
|
||||
// ? func_8005A444(?);
|
||||
@@ -646,9 +647,9 @@ f32 func_800437F0(f32, f32);
|
||||
// ? func_8005A77C(?);
|
||||
// ? func_8005A7A8(?);
|
||||
// ? func_8005A8C4(?);
|
||||
s16 func_8005A970(u32 gl790);
|
||||
s16 func_8005A970(Vec3s, Camera*);
|
||||
s16 func_8005A9F4(Camera* camera);
|
||||
// ? func_8005AA90(?);
|
||||
s32 func_8005AA90(Camera*, s32, Vec3f*);
|
||||
// ? func_8005AC48(?);
|
||||
// ? func_8005AC60(?);
|
||||
// ? func_8005AC6C(?);
|
||||
@@ -727,7 +728,7 @@ s32 func_8005D1E0(GlobalContext* globalCtx, ColliderCylinderMain* collision);
|
||||
// ? func_8005D334(?);
|
||||
// ? func_8005D3A4(?);
|
||||
// ? func_8005D3BC(?);
|
||||
void func_8005D400(UNK_TYPE, UNK_TYPE);
|
||||
void func_8005D400(GlobalContext*, SubGlobalContext11E60*);
|
||||
// ? func_8005D40C(?);
|
||||
// ? func_8005D4DC(?);
|
||||
// ? func_8005D62C(?);
|
||||
@@ -812,13 +813,13 @@ s32 func_8006C4A4(GlobalContext*, s32);
|
||||
// ? func_8006D0AC(?);
|
||||
// ? func_8006D0EC(?);
|
||||
// ? func_8006D684(?);
|
||||
// ? func_8006DC68(?);
|
||||
void func_8006DC68(GlobalContext* globalCtx, Player* player);
|
||||
u32 Jpeg_SendTask(JpegContext* ctx);
|
||||
void Jpeg_CopyToZbuffer(u16* src, u16* zbuffer, s32 x, s32 y);
|
||||
u16 Jpeg_GetU16(u8* ptr);
|
||||
void Jpeg_ParseMarkers(u8* ptr, JpegContext* ctx);
|
||||
s32 Jpeg_Decode(void* data, u16* zbuffer, JpegWork* workBuff, u32 workSize);
|
||||
// ? func_8006EA30(?);
|
||||
void func_8006EA30(GlobalContext* globalCtx);
|
||||
// ? func_8006ECF4(?);
|
||||
void func_8006EE48(UNK_TYPE);
|
||||
// ? func_8006EE50(?);
|
||||
@@ -828,7 +829,7 @@ void func_8006EE48(UNK_TYPE);
|
||||
// ? func_8006F0A0(?);
|
||||
// ? func_8006F0D4(?);
|
||||
// ? func_8006F0FC(?);
|
||||
// ? func_8006F140(?);
|
||||
u8 func_8006F140(GlobalContext*, EnvironmentContext*, UNK_TYPE);
|
||||
f32 func_8006F93C(u16, u16, u16);
|
||||
f32 func_8006F9BC(u16, u16, u16, u16, u16);
|
||||
// ? func_8006FB94(?);
|
||||
@@ -838,7 +839,7 @@ f32 func_8006F9BC(u16, u16, u16, u16, u16);
|
||||
// ? func_80070718(?);
|
||||
// ? func_80070C24(?);
|
||||
// ? func_800730DC(?);
|
||||
// ? func_80073988(?);
|
||||
void func_80073988(GlobalContext*, EnvironmentContext*, View*, GraphicsContext*, Vec3f, UNK_TYPE);
|
||||
// ? func_80073A5C(?);
|
||||
f32 func_800746DC();
|
||||
// ? func_80074704(?);
|
||||
@@ -854,7 +855,7 @@ f32 func_800746DC();
|
||||
// ? func_800760F4(?);
|
||||
// ? func_800763A8(?);
|
||||
// ? func_800766C4(?);
|
||||
// ? func_8007672C(?);
|
||||
void func_8007672C(GraphicsContext*, u8, u8, u8, u8, UNK_TYPE);
|
||||
// ? func_80076934(?);
|
||||
void func_800773A8(GlobalContext* globalCtx, f32 arg1, f32 arg2, f32 arg3, f32 arg4);
|
||||
s32 func_800775CC();
|
||||
@@ -963,7 +964,7 @@ f32 func_8007BF90(Vec3f*, Vec3f*);
|
||||
// ? func_8007C850(?);
|
||||
// ? func_8007FFE0(?);
|
||||
// ? func_80080024(?);
|
||||
s16 func_800800F8(GlobalContext* globalCtx, u32 arg1, u32 arg2, Actor* actor, u32 arg4);
|
||||
s16 func_800800F8(GlobalContext* globalCtx, s16 arg1, s16 arg2, Actor* actor, s16 arg4);
|
||||
// ? func_800803F0(?);
|
||||
// ? func_80080480(?);
|
||||
void func_80080788(UNK_TYPE, UNK_TYPE);
|
||||
@@ -1012,10 +1013,10 @@ void Path_CopyLastPoint(Path* path, Vec3f* dest);
|
||||
// ? func_8008E6A0(?);
|
||||
// ? func_8008E6AC(?);
|
||||
// ? func_8008E750(?);
|
||||
UNK_TYPE func_8008E8DC(GlobalContext*, Player*);
|
||||
UNK_TYPE func_8008E988(GlobalContext*);
|
||||
UNK_TYPE func_8008E9C4(Player* player);
|
||||
UNK_TYPE func_8008E9D0(Player* player);
|
||||
s32 func_8008E8DC(GlobalContext*, Player*);
|
||||
s32 func_8008E988(GlobalContext*);
|
||||
s32 func_8008E9C4(Player* player);
|
||||
s32 func_8008E9D0(Player* player);
|
||||
// ? func_8008E9F8(?);
|
||||
// ? func_8008EA40(?);
|
||||
// ? func_8008EB2C(?);
|
||||
@@ -1023,22 +1024,22 @@ UNK_TYPE func_8008E9D0(Player* player);
|
||||
void func_8008ECAC(GlobalContext*, Player* player);
|
||||
void func_8008EDF0(Player*);
|
||||
// ? func_8008EE08(?);
|
||||
UNK_TYPE func_8008EF44(GlobalContext*, UNK_TYPE);
|
||||
s32 func_8008EF44(GlobalContext*, s32);
|
||||
// ? func_8008F034(?);
|
||||
u8 func_8008F080(GlobalContext*);
|
||||
void func_8008F08C(GlobalContext*);
|
||||
UNK_TYPE func_8008F098(GlobalContext*);
|
||||
UNK_TYPE func_8008F0AC(GlobalContext*);
|
||||
s32 func_8008F0D8(Player* player, UNK_TYPE);
|
||||
UNK_TYPE func_8008F104(Player* player);
|
||||
UNK_TYPE func_8008F128(Player* player);
|
||||
s32 func_8008F158(UNK_TYPE);
|
||||
s32 func_8008F098(GlobalContext*);
|
||||
s32 func_8008F0AC(GlobalContext*);
|
||||
s32 func_8008F0D8(Player* player, s32);
|
||||
s32 func_8008F104(Player* player);
|
||||
s32 func_8008F128(Player* player);
|
||||
s32 func_8008F158(s32);
|
||||
void func_8008F180(Player* player);
|
||||
UNK_TYPE func_8008F1A0(Player* player);
|
||||
s32 func_8008F1A0(Player* player);
|
||||
// ? func_8008F1CC(?);
|
||||
s32 func_8008F224(Player* player, UNK_TYPE);
|
||||
s32 func_8008F224(Player* player, s32);
|
||||
void func_8008F250(Player* player);
|
||||
s32 func_8008F270(Player* player, UNK_TYPE);
|
||||
s32 func_8008F270(Player* player, s32);
|
||||
s32 func_8008F29C(Player* player);
|
||||
s32 func_8008F2F8(GlobalContext*);
|
||||
// ? func_8008F470(?);
|
||||
@@ -1114,7 +1115,7 @@ Gfx* Gfx_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1
|
||||
u32 x2, u32 y2, s32 width2, s32 height2, s32 r, s32 g, s32 b, s32 a);
|
||||
void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b);
|
||||
void func_80095974(GraphicsContext* gfxCtx);
|
||||
void func_80095AA0(GlobalContext* globalCtx, Room* room, UNK_TYPE arg2, UNK_TYPE arg3);
|
||||
void func_80095AA0(GlobalContext* globalCtx, Room* room, Input* arg2, UNK_TYPE arg3);
|
||||
// ? func_8009638C(?);
|
||||
void func_80096FD4(GlobalContext* globalCtx, Room* room);
|
||||
u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx);
|
||||
@@ -1122,12 +1123,7 @@ s32 func_8009728C(GlobalContext* globalCtx, RoomContext* roomCtx, s32 roomNum);
|
||||
s32 func_800973FC(GlobalContext* globalCtx, RoomContext* roomCtx);
|
||||
void Room_Draw(GlobalContext* globalCtx, Room* room, u32 flags);
|
||||
void func_80097534(GlobalContext* globalCtx, RoomContext* roomCtx);
|
||||
void Sample_Calc(SampleContext* this);
|
||||
void Sample_Draw(SampleContext* this);
|
||||
void Sample_Update(SampleContext* this);
|
||||
void Sample_Destroy(SampleContext* this);
|
||||
void Sample_SetupView(SampleContext* this);
|
||||
void Sample_LoadTitleStatic(SampleContext* this);
|
||||
void Sample_Init(SampleContext* this);
|
||||
void Inventory_ChangeEquipment(s16 equipment, u16 value);
|
||||
u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment);
|
||||
@@ -1263,21 +1259,19 @@ u32 func_800AA148();
|
||||
void func_800AA15C();
|
||||
void func_800AA16C();
|
||||
void func_800AA178(u32);
|
||||
void func_800AA190(UnkViewStruct* arg0, Viewport* viewport);
|
||||
View* func_800AA1F8(GraphicsContext* gfxCtx);
|
||||
void func_800AA250(View* view);
|
||||
void func_800AA278(View*, GraphicsContext*);
|
||||
void func_800AA358(View* view, Vec3f* vec1, Vec3f* vec2, Vec3f* vec3);
|
||||
void func_800AA3F0(View* view, Vec3f* vec1, Vec3f* vec2, Vec3f* vec3);
|
||||
void func_800AA43C(View* view, f32 arg1);
|
||||
void func_800AA454(View* view, f32* arg1);
|
||||
void func_800AA460(View* view, f32 fieldOfView, f32 fogDistance, f32 zDepth);
|
||||
void func_800AA48C(View* view, f32* fieldOfView, f32* fogDistance, f32* zDepth);
|
||||
void func_800AA4A8(View* view, f32 fieldOfView, f32 fogDistance, f32 zDepth);
|
||||
void func_800AA4E0(View* view, f32* fieldOfView, f32* fogDistance, f32* zDepth);
|
||||
void func_800AA4FC(View* view, Viewport* viewport);
|
||||
void func_800AA52C(View* view, Viewport* viewport);
|
||||
void func_800AA550(View* view);
|
||||
View* View_New(GraphicsContext* gfxCtx);
|
||||
void View_Free(View* view);
|
||||
void View_Init(View*, GraphicsContext*);
|
||||
void func_800AA358(View* view, Vec3f* eye, Vec3f* vec2, Vec3f* vec3);
|
||||
void func_800AA3F0(View* view, Vec3f* eye, Vec3f* vec2, Vec3f* vec3);
|
||||
void View_SetScale(View* view, f32 scale);
|
||||
void View_GetScale(View* view, f32* scale);
|
||||
void func_800AA460(View* view, f32 fovy, f32 near, f32 far);
|
||||
void func_800AA48C(View* view, f32* fovy, f32* near, f32* far);
|
||||
void func_800AA4A8(View* view, f32 fovy, f32 near, f32 far);
|
||||
void func_800AA4E0(View* view, f32* fovy, f32* near, f32* far);
|
||||
void View_SetViewport(View* view, Viewport* viewport);
|
||||
void View_GetViewport(View* view, Viewport* viewport);
|
||||
void func_800AA76C(View* view, f32 arg1, f32 arg2, f32 arg3);
|
||||
void func_800AA78C(View* view, f32 arg1, f32 arg2, f32 arg3);
|
||||
void func_800AA7AC(View* view, f32 arg1);
|
||||
@@ -1291,7 +1285,7 @@ s32 func_800AB0A8(View* view);
|
||||
s32 func_800AB2C4(View* view);
|
||||
s32 func_800AB560(View* view);
|
||||
s32 func_800AB944(View* view);
|
||||
// ? func_800AB9EC(?);
|
||||
s32 func_800AB9EC(View* view, s32 arg1, Gfx** p);
|
||||
s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ);
|
||||
// ? func_800AC030(?);
|
||||
// ? func_800AC2F4(?);
|
||||
@@ -1308,7 +1302,7 @@ s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ);
|
||||
// ? func_800AD054(?);
|
||||
// ? func_800AD080(?);
|
||||
// ? func_800AD394(?);
|
||||
// ? func_800AD5C0(?);
|
||||
void func_800AD5C0(UNK_PTR, Gfx**);
|
||||
// ? func_800AD920(?);
|
||||
// ? func_800AD950(?);
|
||||
// ? func_800AD958(?);
|
||||
@@ -1318,50 +1312,50 @@ s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ);
|
||||
// ? func_800AF178(?);
|
||||
// ? func_800AF218(?);
|
||||
// ? func_800B0E50(?);
|
||||
// ? func_800B1030(?);
|
||||
// ? func_800B10C4(?);
|
||||
void func_800B1030(SkyboxContext*, f32, f32, f32);
|
||||
void func_800B10C4(SkyboxContext*, GraphicsContext*, s16, s16, f32, f32, f32);
|
||||
// ? func_800B1744(?);
|
||||
void PlayerCall_InitFuncPtrs();
|
||||
// ? func_800B18B0(?);
|
||||
// ? func_800B1CFC(?);
|
||||
// ? func_800B1DBC(?);
|
||||
void func_800B1DBC(TransitionStruct*);
|
||||
// ? func_800B1E84(?);
|
||||
// ? func_800B2074(?);
|
||||
// ? func_800B2188(?);
|
||||
// ? func_800B23E8(?);
|
||||
// ? func_800B2400(?);
|
||||
// ? func_800B2438(?);
|
||||
// ? func_800B24D0(?);
|
||||
// ? func_800B24D8(?);
|
||||
// ? func_800B25EC(?);
|
||||
// ? func_800B25F4(?);
|
||||
// ? func_800B2604(?);
|
||||
// ? func_800B2944(?);
|
||||
// ? func_800B29D0(?);
|
||||
// ? func_800B2A88(?);
|
||||
// ? func_800B2AB0(?);
|
||||
// ? func_800B2AB8(?);
|
||||
// ? func_800B2B98(?);
|
||||
// ? func_800B2DD4(?);
|
||||
// ? func_800B2DDC(?);
|
||||
// ? func_800B2E1C(?);
|
||||
// ? func_800B2E30(?);
|
||||
// ? func_800B301C(?);
|
||||
// ? func_800B3044(?);
|
||||
// ? func_800B304C(?);
|
||||
// ? func_800B31D0(?);
|
||||
// ? func_800B346C(?);
|
||||
// ? func_800B3474(?);
|
||||
// ? func_800B34CC(?);
|
||||
// ? func_800B34D4(?);
|
||||
// ? func_800B34E0(?);
|
||||
// ? func_800B3538(?);
|
||||
// ? func_800B3560(?);
|
||||
// ? func_800B3568(?);
|
||||
// ? func_800B3718(?);
|
||||
// ? func_800B37DC(?);
|
||||
// ? func_800B37E4(?);
|
||||
// ? func_800B37EC(?);
|
||||
void func_800B2188(TransitionStruct*, Gfx**);
|
||||
void func_800B23E8(TransitionStruct*);
|
||||
void func_800B2400(UNK_ARGS);
|
||||
void func_800B2438(UNK_ARGS);
|
||||
void func_800B24D0(UNK_ARGS);
|
||||
void func_800B24D8(UNK_ARGS);
|
||||
void func_800B25EC(UNK_ARGS);
|
||||
void func_800B25F4(UNK_ARGS);
|
||||
void func_800B2604(UNK_ARGS);
|
||||
s32 func_800B2944(UNK_ARGS);
|
||||
void func_800B29D0(UNK_ARGS);
|
||||
void func_800B2A88(UNK_ARGS);
|
||||
void func_800B2AB0(UNK_ARGS);
|
||||
void func_800B2AB8(UNK_ARGS);
|
||||
void func_800B2B98(UNK_ARGS);
|
||||
s32 func_800B2DD4(UNK_ARGS);
|
||||
void func_800B2DDC(UNK_ARGS);
|
||||
void func_800B2E1C(UNK_ARGS);
|
||||
void func_800B2E30(UNK_ARGS);
|
||||
void func_800B301C(UNK_ARGS);
|
||||
void func_800B3044(UNK_ARGS);
|
||||
void func_800B304C(UNK_ARGS);
|
||||
void func_800B31D0(UNK_ARGS);
|
||||
s32 func_800B346C(UNK_ARGS);
|
||||
void func_800B3474(UNK_ARGS);
|
||||
void func_800B34CC(UNK_ARGS);
|
||||
void func_800B34D4(UNK_ARGS);
|
||||
void func_800B34E0(UNK_ARGS);
|
||||
void func_800B3538(UNK_ARGS);
|
||||
void func_800B3560(UNK_ARGS);
|
||||
void func_800B3568(UNK_ARGS);
|
||||
void func_800B3718(UNK_ARGS);
|
||||
s32 func_800B37DC(UNK_ARGS);
|
||||
void func_800B37E4(UNK_ARGS);
|
||||
void func_800B37EC(UNK_ARGS);
|
||||
// ? func_800B3840(?);
|
||||
// ? func_800B3898(?);
|
||||
// ? func_800B38A4(?);
|
||||
@@ -1422,45 +1416,40 @@ void KaleidoScopeCall_Init(GlobalContext* globalCtx);
|
||||
void KaleidoScopeCall_Destroy(GlobalContext* globalCtx);
|
||||
void KaleidoScopeCall_Update(GlobalContext* globalCtx);
|
||||
void KaleidoScopeCall_Draw(GlobalContext* globalCtx);
|
||||
// ? func_800BC450(?);
|
||||
// ? func_800BC490(?);
|
||||
s32 func_800BC56C(GlobalContext*, s16);
|
||||
// ? func_800BC5E0(?);
|
||||
void func_800BC88C(GlobalContext*);
|
||||
Gfx* func_800BC8A0(GlobalContext* globalCtx, Gfx* a1);
|
||||
void func_800BC8EC(GlobalContext*);
|
||||
UNK_TYPE func_800BCA64(UNK_ARGS);
|
||||
// ? func_800BD314(?);
|
||||
// ? func_800BED40(?);
|
||||
// ? func_800BEDD8(?);
|
||||
// ? func_800BFAE4(?);
|
||||
s32 func_800BFC84(GlobalContext* globalCtx);
|
||||
f32 func_800BFCB8(GlobalContext* globalCtx, MtxF* a1, Vec3f* a2);
|
||||
void* func_800BFE5C(GlobalContext* globalCtx, RomFile* file);
|
||||
// ? func_800BFEC4(?);
|
||||
// ? func_800BFF0C(?);
|
||||
// ? Area_Spawn(?);
|
||||
// ? func_800C016C(?);
|
||||
// ? func_800C0230(?);
|
||||
s16 func_800C030C(GlobalContext* globalCtx);
|
||||
// ? func_800C0314(?);
|
||||
// ? func_800C0384(?);
|
||||
Camera* func_800C04A4(GlobalContext*, s16);
|
||||
// ? func_800C04D8(?);
|
||||
void func_800C0704(GlobalContext*, s16, f32);
|
||||
// ? func_800C0744(?);
|
||||
// ? func_800C078C(?);
|
||||
// ? func_800C0808(?);
|
||||
// ? func_800C0874(?);
|
||||
void func_800C0C88(GlobalContext* globalCtx);
|
||||
// ? func_800C0A44(?);
|
||||
// ? func_800C0A88(?);
|
||||
void func_800C0AF4(GlobalContext*, s8, s16);
|
||||
void func_800C0B60(GlobalContext* globalCtx);
|
||||
void func_800C0BB4(GlobalContext* globalCtx);
|
||||
// ? func_800C0CB8(?);
|
||||
void func_800BC490(GlobalContext* globalCtx, s16 point);
|
||||
s32 func_800BC56C(GlobalContext* globalCtx, s16 arg1);
|
||||
void func_800BC590(GlobalContext* globalCtx);
|
||||
void func_800BC5E0(GlobalContext* globalCtx, s32 arg1);
|
||||
Gfx* func_800BC8A0(GlobalContext* globalCtx, Gfx* gfx);
|
||||
void Gameplay_Destroy(GlobalContext* globalCtx);
|
||||
void Gameplay_Init(GlobalContext* globalCtx);
|
||||
void Gameplay_Main(GlobalContext* globalCtx);
|
||||
s32 Gameplay_InCsMode(GlobalContext* globalCtx);
|
||||
f32 func_800BFCB8(GlobalContext* globalCtx, MtxF* mf, Vec3f* vec);
|
||||
void* Gameplay_LoadFile(GlobalContext* globalCtx, RomFile* file);
|
||||
void Gameplay_SpawnScene(GlobalContext* globalCtx, s32 sceneNum, s32 spawn);
|
||||
void func_800C016C(GlobalContext* globalCtx, Vec3f* src, Vec3f* dest);
|
||||
s16 Gameplay_CreateSubCamera(GlobalContext* globalCtx);
|
||||
s16 Gameplay_GetActiveCamId(GlobalContext* globalCtx);
|
||||
void Gameplay_ChangeCameraStatus(GlobalContext* globalCtx, s16 camId, s16 status);
|
||||
void Gameplay_ClearCamera(GlobalContext* globalCtx, s16 camId);
|
||||
void Gameplay_ClearAllSubCameras(GlobalContext* globalCtx);
|
||||
Camera* Gameplay_GetCamera(GlobalContext* globalCtx, s16 camId);
|
||||
s32 func_800C04D8(GlobalContext* globalCtx, s16 camId, Vec3f* arg2, Vec3f* arg3);
|
||||
s32 func_800C05E4(GlobalContext* globalCtx, s16 camId, Vec3f* arg2, Vec3f* arg3, Vec3f* arg4);
|
||||
s32 func_800C0704(GlobalContext* globalCtx, s16 camId, f32 arg2);
|
||||
s32 func_800C0744(GlobalContext* globalCtx, s16 camId, s16 arg2);
|
||||
void func_800C078C(GlobalContext* globalCtx, s16 camId1, s16 camId2);
|
||||
void func_800C0808(GlobalContext* globalCtx, s16 camId, s32 arg2, s16 arg3);
|
||||
void func_800C0874(GlobalContext* globalCtx, s16 camId, s16 arg2);
|
||||
void func_800C08AC(GlobalContext* globalCtx, s16 camId, s16 arg2);
|
||||
void Gameplay_SaveSceneFlags(GlobalContext* globalCtx);
|
||||
void Gameplay_SetupRespawnPoint(GlobalContext* globalCtx, s32 respawnMode, s32 playerParams);
|
||||
void Gameplay_TriggerVoidOut(GlobalContext* globalCtx);
|
||||
void Gameplay_TriggerRespawn(GlobalContext* globalCtx);
|
||||
s32 func_800C0CB8(GlobalContext* globalCtx);
|
||||
s32 func_800C0D28(GlobalContext* globalCtx);
|
||||
// ? func_800C0D34(?);
|
||||
s32 func_800C0D34(GlobalContext* globalCtx, Actor* actor, s16* yaw);
|
||||
// ? func_800C0E70(?);
|
||||
// ? func_800C0EA8(?);
|
||||
// ? func_800C0ED8(?);
|
||||
@@ -1623,7 +1612,7 @@ f32 func_800CA774(f32);
|
||||
// ? func_800CB600(?);
|
||||
// ? func_800CB628(?);
|
||||
// ? func_800CB650(?);
|
||||
// ? func_800CB678(?);
|
||||
f32 func_800CB678(Vec3f*, Vec3f*);
|
||||
// ? func_800CB698(?);
|
||||
// ? func_800CB7B4(?);
|
||||
// ? func_800CB824(?);
|
||||
@@ -2361,7 +2350,7 @@ s16 sins(u16);
|
||||
// ? func_80101AA4(?);
|
||||
// ? func_80101B40(?);
|
||||
// ? func_80101B90(?);
|
||||
void func_80101E34(MtxF*, f32, f32, f32, f32, f32, f32, f32, f32, f32);
|
||||
void func_80101E34(Mtx*, f32, f32, f32, f32, f32, f32, f32, f32, f32);
|
||||
// ? func_80101EB0(?);
|
||||
// ? func_801021E4(?);
|
||||
// ? osStopTimer(?);
|
||||
@@ -2415,7 +2404,7 @@ void func_80104D00(u8 a0);
|
||||
// ? func_80105CF0(?);
|
||||
// s32 osReadMempak(OSMesgQueue* ctrlrqueue, u32 ctrlridx, s16 addr, PIF_mempak_data_t* data)
|
||||
u8 osMempakAddrCRC(u16 addr);
|
||||
u8 osMempakDataCRC(u8 *data);
|
||||
u8 osMempakDataCRC(u8* data);
|
||||
u32 __osSpGetStatus();
|
||||
void __osSpSetStatus(u32 status);
|
||||
// ? osWritebackDCacheAll(?);
|
||||
@@ -2432,7 +2421,7 @@ OSThread* __osGetCurrFaultedThread();
|
||||
// ? func_80106760(?);
|
||||
// ? func_801067A0(?);
|
||||
f32 absf(f32);
|
||||
// ? func_80106860(?);
|
||||
void* func_80106860(void* ptr, s32 val, size_t size);
|
||||
// ? func_801068B0(?);
|
||||
// ? func_801069B0(?);
|
||||
u8 func_80106BC8(GlobalContext* globalCtx);
|
||||
|
||||
+8
-4
@@ -13,14 +13,16 @@
|
||||
#define SQ(x) ((x)*(x))
|
||||
#define ABS(x) ((x) >= 0 ? (x) : -(x))
|
||||
#define DECR(x) ((x) == 0 ? 0 : ((x) -= 1))
|
||||
#define CLAMP(x,min,max) ((x) < (min) ? (min) : (x) > (max) ? (max) : (x))
|
||||
#define CLAMP(x, min, max) ((x) < (min) ? (min) : (x) > (max) ? (max) : (x))
|
||||
|
||||
#define RGBA8(r, g, b, a) (((r & 0xFF) << 24) | ((g & 0xFF) << 16) | ((b & 0xFF) << 8) | ((a & 0xFF) << 0))
|
||||
|
||||
#define PLAYER ((Player*)globalCtx->actorCtx.actorList[ACTORTYPE_PLAYER].first)
|
||||
|
||||
#define YEARS_CHILD 5
|
||||
#define YEARS_ADULT 17
|
||||
#define LINK_IS_CHILD (gSaveContext.link_age != 0)
|
||||
#define LINK_IS_ADULT (gSaveContext.link_age == 0)
|
||||
#define LINK_IS_CHILD (gSaveContext.linkAge != 0)
|
||||
#define LINK_IS_ADULT (gSaveContext.linkAge == 0)
|
||||
#define LINK_AGE_IN_YEARS (LINK_IS_CHILD ? YEARS_CHILD : YEARS_ADULT)
|
||||
|
||||
#define SLOT(item) gItemSlots[item]
|
||||
@@ -35,6 +37,8 @@
|
||||
#define CAPACITY(upg, value) gUpgradeCapacities[upg][value]
|
||||
#define CUR_CAPACITY(upg) CAPACITY(upg, CUR_UPG_VALUE(upg))
|
||||
|
||||
#define CHECK_QUEST_ITEM(item) (gBitFlags[item] & gSaveContext.questItems)
|
||||
|
||||
#define SET_NEXT_GAMESTATE(curState, newInit, newStruct) \
|
||||
(curState)->init = newInit; \
|
||||
(curState)->size = sizeof(newStruct);
|
||||
@@ -43,8 +47,8 @@
|
||||
LogUtils_LogThreadId(file, line); \
|
||||
osSyncPrintf(exp " = " format "\n", value);
|
||||
|
||||
#define LOG_ADDRESS(exp, value, file, line) LOG(exp, value, "%08x", file, line)
|
||||
#define LOG_STRING(string, file, line) LOG(#string, string, "%s", file, line)
|
||||
#define LOG_ADDRESS(exp, value, file, line) LOG(exp, value, "%08x", file, line)
|
||||
#define LOG_TIME(exp, value, file, line) LOG(exp, value, "%lld", file, line)
|
||||
#define LOG_NUM(exp, value, file, line) LOG(exp, value, "%d", file, line)
|
||||
|
||||
|
||||
@@ -4188,7 +4188,7 @@ _DW({ \
|
||||
#endif /* _HW_VERSION_1 */
|
||||
|
||||
#define gDPSetScissor(pkt, mode, ulx, uly, lrx, lry) \
|
||||
{ \
|
||||
_DW({ \
|
||||
Gfx *_g = (Gfx *)pkt; \
|
||||
\
|
||||
_g->words.w0 = _SHIFTL(G_SETSCISSOR, 24, 8) | \
|
||||
@@ -4197,7 +4197,7 @@ _DW({ \
|
||||
_g->words.w1 = _SHIFTL(mode, 24, 2) | \
|
||||
_SHIFTL((int)((float)(lrx)*4.0F), 12, 12) | \
|
||||
_SHIFTL((int)((float)(lry)*4.0F), 0, 12); \
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
#define gDPSetScissorFrac(pkt, mode, ulx, uly, lrx, lry) \
|
||||
|
||||
@@ -32,8 +32,7 @@ typedef union {
|
||||
typedef float MtxF_t[4][4];
|
||||
typedef union {
|
||||
MtxF_t mf;
|
||||
struct
|
||||
{
|
||||
struct {
|
||||
float xx, xy, xz, xw,
|
||||
yx, yy, yz, yw,
|
||||
zx, zy, zz, zw,
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
#define UNK_RET void
|
||||
#define UNK_FUN_ARG void(*)(void)
|
||||
#define UNK_FUN_PTR(name) void(*name)(void)
|
||||
#define UNK_ARGS void
|
||||
#define UNK_ARGS
|
||||
#define UNK_SIZE 1
|
||||
#define UNK_LINE 1
|
||||
|
||||
|
||||
+3
-13
@@ -506,7 +506,6 @@ extern Scene gSceneTable[110];
|
||||
//extern ? D_8012A71C;
|
||||
extern u8 gLetterTLUT[4][32]; // original name: "moji_tlut"
|
||||
extern u8 gFontFF[]; // original name: "font_ff"
|
||||
//extern ? D_8012ABF0;
|
||||
//extern ? D_8012AC90;
|
||||
//extern ? D_8012ACA0;
|
||||
//extern ? D_8012AD20;
|
||||
@@ -619,7 +618,6 @@ extern u8 gFontFF[]; // original name: "font_ff"
|
||||
extern KaleidoManagerOvl gKaleidoMgrOverlayTable[KALEIDO_OVL_COUNT];
|
||||
extern KaleidoManagerOvl* gKaleidoMgrCurOvl;
|
||||
extern void* D_8012D1F0;
|
||||
//extern ? D_8012D1F8;
|
||||
//extern ? D_8012D200;
|
||||
//extern ? D_8012D207;
|
||||
//extern ? D_8012D210;
|
||||
@@ -627,8 +625,8 @@ extern void* D_8012D1F0;
|
||||
//extern ? D_8012D248;
|
||||
//extern ? D_8012D260;
|
||||
//extern ? D_8012D264;
|
||||
extern u32 gScreenWidth;
|
||||
extern u32 gScreenHeight;
|
||||
extern s32 gScreenWidth;
|
||||
extern s32 gScreenHeight;
|
||||
extern u32 gSystemHeapSize;
|
||||
extern volatile u32 D_8012D290;
|
||||
//extern ? D_8012D2A0;
|
||||
@@ -3488,15 +3486,8 @@ extern u8 D_801610DA;
|
||||
//extern ? D_801612F0;
|
||||
//extern ? D_80161358;
|
||||
//extern ? D_80161360;
|
||||
//extern ? D_801613B0;
|
||||
//extern ? D_8016148C;
|
||||
extern s32 D_80161490;
|
||||
//extern ? D_80161498;
|
||||
extern Color_RGBA8 D_801614B0;
|
||||
//extern ? D_801614B3;
|
||||
//extern ? D_801614B8;
|
||||
//extern ? D_801614C8;
|
||||
//extern ? D_80163FFF;
|
||||
//extern ? D_801664D0;
|
||||
//extern ? D_801664F0;
|
||||
//extern ? D_80166500;
|
||||
@@ -3514,9 +3505,8 @@ extern Color_RGBA8 D_801614B0;
|
||||
extern PreNmiBuff* gAppNmiBufferPtr;
|
||||
//extern ? gSchedContext;
|
||||
//extern u8 gPadMgr[];
|
||||
extern u8 D_80166B68;
|
||||
//extern ? D_80166D28;
|
||||
extern u32 gSegments[];
|
||||
extern u32 gSegments[NUM_SEGMENTS];
|
||||
//extern ? D_8016A500;
|
||||
//extern ? D_8016A504;
|
||||
//extern ? D_8016A508;
|
||||
|
||||
+241
-208
@@ -45,8 +45,8 @@ typedef struct {
|
||||
} GameInfo; // size = 0x15D4
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 button_items[4];
|
||||
/* 0x04 */ u8 c_button_slots[3];
|
||||
/* 0x00 */ u8 buttonItems[4];
|
||||
/* 0x04 */ u8 cButtonSlots[3];
|
||||
/* 0x08 */ u16 equipment;
|
||||
} ItemEquips; // size = 0x0A
|
||||
|
||||
@@ -56,8 +56,8 @@ typedef struct {
|
||||
/* 0x08 */ u32 clear;
|
||||
/* 0x0C */ u32 collect;
|
||||
/* 0x10 */ u32 unk;
|
||||
/* 0x14 */ u32 rooms_1;
|
||||
/* 0x18 */ u32 rooms_2;
|
||||
/* 0x14 */ u32 rooms1;
|
||||
/* 0x18 */ u32 rooms2;
|
||||
} SaveSceneFlags; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
@@ -69,12 +69,12 @@ typedef struct {
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ s16 yaw;
|
||||
/* 0x0E */ s16 player_params;
|
||||
/* 0x10 */ s16 entrance_index;
|
||||
/* 0x12 */ u8 room_index;
|
||||
/* 0x0E */ s16 playerParams;
|
||||
/* 0x10 */ s16 entranceIndex;
|
||||
/* 0x12 */ u8 roomIndex;
|
||||
/* 0x13 */ s8 data;
|
||||
/* 0x14 */ u32 temp_swch_flags;
|
||||
/* 0x18 */ u32 temp_collect_flags;
|
||||
/* 0x14 */ u32 tempSwchFlags;
|
||||
/* 0x18 */ u32 tempCollectFlags;
|
||||
} RespawnData; // size = 0x1C
|
||||
|
||||
typedef enum {
|
||||
@@ -90,32 +90,31 @@ typedef enum {
|
||||
|
||||
// Save Context (dbg ram start: 8015E660)
|
||||
typedef struct {
|
||||
/* 0x0000 */ s32 entrance_index;
|
||||
/* 0x0004 */ s32 link_age; // 0: Adult; 1: Child
|
||||
/* 0x0008 */ s32 cutscene_index;
|
||||
/* 0x000C */ u16 day_time; // "zelda_time"
|
||||
/* 0x0010 */ s32 night_flag;
|
||||
/* 0x0000 */ s32 entranceIndex;
|
||||
/* 0x0004 */ s32 linkAge; // 0: Adult; 1: Child
|
||||
/* 0x0008 */ s32 cutsceneIndex;
|
||||
/* 0x000C */ u16 dayTime; // "zelda_time"
|
||||
/* 0x0010 */ s32 nightFlag;
|
||||
/* 0x0014 */ s32 unk_14;
|
||||
/* 0x0018 */ s32 unk_18;
|
||||
/* 0x001C */ char newf[6]; // string "ZELDAZ"
|
||||
/* 0x0022 */ s16 deaths;
|
||||
/* 0x0024 */ char player_name[8];
|
||||
/* 0x002C */ s16 n64dd_flag;
|
||||
/* 0x002E */ s16 health_capacity; // "max_life"
|
||||
/* 0x0024 */ char playerName[8];
|
||||
/* 0x002C */ s16 n64ddFlag;
|
||||
/* 0x002E */ s16 healthCapacity; // "max_life"
|
||||
/* 0x0030 */ s16 health; // "now_life"
|
||||
/* 0x0032 */ s8 magic_level;
|
||||
/* 0x0032 */ s8 magicLevel;
|
||||
/* 0x0033 */ s8 magic;
|
||||
/* 0x0034 */ s16 rupees;
|
||||
/* 0x0036 */ u16 bgs_hits_left;
|
||||
/* 0x0038 */ u16 navi_timer;
|
||||
/* 0x003A */ u8 magic_acquired;
|
||||
/* 0x0036 */ u16 bgsHitsLeft;
|
||||
/* 0x0038 */ u16 naviTimer;
|
||||
/* 0x003A */ u8 magicAcquired;
|
||||
/* 0x003B */ char unk_3B[0x0001];
|
||||
/* 0x003C */ u8 double_magic;
|
||||
/* 0x003D */ u8 double_defense;
|
||||
/* 0x003E */ s8 bgs_flag;
|
||||
/* 0x003F */ char unk_3F;
|
||||
/* 0x0040 */ ItemEquips child_equips;
|
||||
/* 0x004A */ ItemEquips adult_equips;
|
||||
/* 0x003C */ u8 doubleMagic;
|
||||
/* 0x003D */ u8 doubleDefense;
|
||||
/* 0x003E */ s8 bgsFlag;
|
||||
/* 0x0040 */ ItemEquips childEquips;
|
||||
/* 0x004A */ ItemEquips adultEquips;
|
||||
/* 0x0054 */ char unk_54[0x0014];
|
||||
/* 0x0068 */ ItemEquips equips;
|
||||
/* 0x0072 */ char unk_72[0x0002];
|
||||
@@ -123,58 +122,56 @@ typedef struct {
|
||||
/* 0x008C */ s8 ammo[16];
|
||||
/* 0x009C */ u16 equipment;
|
||||
/* 0x00A0 */ u32 upgrades;
|
||||
/* 0x00A4 */ u32 quest_items;
|
||||
/* 0x00A8 */ u8 dungeon_items[20];
|
||||
/* 0x00BC */ s8 dungeon_keys[19];
|
||||
/* 0x00CF */ s8 defense_hearts;
|
||||
/* 0x00D0 */ s16 gs_tokens;
|
||||
/* 0x00D4 */ SaveSceneFlags scene_flags[124];
|
||||
/* 0x00A4 */ u32 questItems;
|
||||
/* 0x00A8 */ u8 dungeonItems[20];
|
||||
/* 0x00BC */ s8 dungeonKeys[19];
|
||||
/* 0x00CF */ s8 defenseHearts;
|
||||
/* 0x00D0 */ s16 gsTokens;
|
||||
/* 0x00D4 */ SaveSceneFlags sceneFlags[124];
|
||||
struct {
|
||||
/* 0x0E64 */ s32 pos_x;
|
||||
/* 0x0E68 */ s32 pos_y;
|
||||
/* 0x0E6C */ s32 pos_z;
|
||||
/* 0x0E64 */ Vec3i pos;
|
||||
/* 0x0E70 */ s32 yaw;
|
||||
/* 0x0E74 */ s32 player_params;
|
||||
/* 0x0E78 */ s32 entrance_index;
|
||||
/* 0x0E7C */ s32 room_index;
|
||||
/* 0x0E74 */ s32 playerParams;
|
||||
/* 0x0E78 */ s32 entranceIndex;
|
||||
/* 0x0E7C */ s32 roomIndex;
|
||||
/* 0x0E80 */ s32 set;
|
||||
/* 0x0E84 */ s32 temp_swch_flags;
|
||||
/* 0x0E88 */ s32 temp_collect_flags;
|
||||
/* 0x0E84 */ s32 tempSwchFlags;
|
||||
/* 0x0E88 */ s32 tempCollectFlags;
|
||||
} fw;
|
||||
/* 0x0E8C */ char unk_E8C[0x0010];
|
||||
/* 0x0E9C */ u8 gs_flags[24];
|
||||
/* 0x0E9C */ u8 gsFlags[24];
|
||||
/* 0x0EB4 */ char unk_EB4[0x0020];
|
||||
/* 0x0ED4 */ u16 event_chk_inf[14];
|
||||
/* 0x0EF0 */ u16 item_get_inf[4];
|
||||
/* 0x0EF8 */ u16 inf_table[30];
|
||||
/* 0x0ED4 */ u16 eventChkInf[14]; // "event_chk_inf"
|
||||
/* 0x0EF0 */ u16 itemGetInf[4]; // "item_get_inf"
|
||||
/* 0x0EF8 */ u16 infTable[30]; // "inf_table"
|
||||
/* 0x0F34 */ char unk_F34[0x0004];
|
||||
/* 0x0F38 */ u32 world_map_area_data; // "area_arrival"
|
||||
/* 0x0F38 */ u32 worldMapAreaData; // "area_arrival"
|
||||
/* 0x0F3C */ char unk_F3C[0x040C];
|
||||
/* 0x1348 */ HorseData horse_data;
|
||||
/* 0x1348 */ HorseData horseData;
|
||||
/* 0x1352 */ u16 checksum; // "check_sum"
|
||||
/* 0x1354 */ s32 file_num; // "file_no"
|
||||
/* 0x1354 */ s32 fileNum; // "file_no"
|
||||
/* 0x1358 */ char unk_1358[0x0004];
|
||||
/* 0x135C */ s32 game_mode;
|
||||
/* 0x1360 */ s32 scene_setup_index;
|
||||
/* 0x1364 */ s32 respawn_flag; // "restart_flag"
|
||||
/* 0x135C */ s32 gameMode;
|
||||
/* 0x1360 */ s32 sceneSetupIndex;
|
||||
/* 0x1364 */ s32 respawnFlag; // "restart_flag"
|
||||
/* 0x1368 */ RespawnData respawn[3]; // "restart_data"
|
||||
/* 0x13BC */ char unk_13BC[0x0008];
|
||||
/* 0x13C4 */ s16 dogParams;
|
||||
/* 0x13C6 */ char unk_13C6[0x0001];
|
||||
/* 0x13C7 */ u8 unk_13C7;
|
||||
/* 0x13C8 */ u16 nayrus_love_timer;
|
||||
/* 0x13C8 */ u16 nayrusLoveTimer;
|
||||
/* 0x13CA */ char unk_13CA[0x0002];
|
||||
/* 0x13CC */ s16 rupee_accumulator;
|
||||
/* 0x13CE */ s16 timer_1_state;
|
||||
/* 0x13D0 */ s16 timer_1_value;
|
||||
/* 0x13D2 */ s16 timer_2_state;
|
||||
/* 0x13D4 */ s16 timer_2_value;
|
||||
/* 0x13D6 */ s16 timer_x[2];
|
||||
/* 0x13DA */ s16 timer_y[2];
|
||||
/* 0x13CC */ s16 rupeeAccumulator;
|
||||
/* 0x13CE */ s16 timer1State;
|
||||
/* 0x13D0 */ s16 timer1Value;
|
||||
/* 0x13D2 */ s16 timer2State;
|
||||
/* 0x13D4 */ s16 timer2Value;
|
||||
/* 0x13D6 */ s16 timerX[2];
|
||||
/* 0x13DA */ s16 timerY[2];
|
||||
/* 0x13DE */ char unk_13DE[0x0002];
|
||||
/* 0x13E0 */ u8 seq_index;
|
||||
/* 0x13E1 */ u8 night_sfx;
|
||||
/* 0x13E2 */ u8 button_status[5];
|
||||
/* 0x13E0 */ u8 seqIndex;
|
||||
/* 0x13E1 */ u8 nightSeqIndex;
|
||||
/* 0x13E2 */ u8 buttonStatus[5];
|
||||
/* 0x13E7 */ u8 unk_13E7;
|
||||
/* 0x13E8 */ u16 unk_13E8; // alpha type?
|
||||
/* 0x13EA */ u16 unk_13EA; // also alpha type?
|
||||
@@ -185,31 +182,31 @@ typedef struct {
|
||||
/* 0x13F4 */ s16 unk_13F4;
|
||||
/* 0x13F6 */ s16 unk_13F6;
|
||||
/* 0x13F8 */ s16 unk_13F8;
|
||||
/* 0x13FA */ u16 event_inf[4];
|
||||
/* 0x1402 */ u16 dungeon_index;
|
||||
/* 0x1404 */ u16 minigame_state;
|
||||
/* 0x1406 */ u16 minigame_score; // "yabusame_total"
|
||||
/* 0x13FA */ u16 eventInf[4]; // "event_inf"
|
||||
/* 0x1402 */ u16 dungeonIndex;
|
||||
/* 0x1404 */ u16 minigameState;
|
||||
/* 0x1406 */ u16 minigameScore; // "yabusame_total"
|
||||
/* 0x1408 */ char unk_1408[0x0001];
|
||||
/* 0x1409 */ u8 language;
|
||||
/* 0x140A */ u8 audio_settings;
|
||||
/* 0x140A */ u8 audioSetting;
|
||||
/* 0x140B */ char unk_140B[0x0001];
|
||||
/* 0x140C */ u8 z_targeting;
|
||||
/* 0x140C */ u8 zTargetingSetting; // 0: Switch; 1: Hold
|
||||
/* 0x140E */ u16 unk_140E; // bgm related
|
||||
/* 0x1410 */ u8 unk_1410;
|
||||
/* 0x1411 */ u8 unk_1411;
|
||||
/* 0x1412 */ u16 next_cutscene_index;
|
||||
/* 0x1414 */ u8 cutscene_trigger;
|
||||
/* 0x1415 */ u8 chamber_cutscene_num;
|
||||
/* 0x1416 */ u16 next_day_time; // "next_zelda_time"
|
||||
/* 0x1418 */ u8 fade_duration;
|
||||
/* 0x1412 */ u16 nextCutsceneIndex;
|
||||
/* 0x1414 */ u8 cutsceneTrigger;
|
||||
/* 0x1415 */ u8 chamberCutsceneNum;
|
||||
/* 0x1416 */ u16 nextDayTime; // "next_zelda_time"
|
||||
/* 0x1418 */ u8 fadeDuration;
|
||||
/* 0x1419 */ u8 unk_1419; // transition related
|
||||
/* 0x141A */ u16 environment_time;
|
||||
/* 0x141A */ u16 environmentTime;
|
||||
/* 0x141C */ u8 dogIsLost;
|
||||
/* 0x141D */ u8 transition_type;
|
||||
/* 0x141D */ u8 nextTransition;
|
||||
/* 0x141E */ char unk_141E[0x0002];
|
||||
/* 0x1420 */ s16 world_map_area;
|
||||
/* 0x1420 */ s16 worldMapArea;
|
||||
/* 0x1422 */ s16 unk_1422; // day time related
|
||||
/* 0x1424 */ s16 health_accumulator;
|
||||
/* 0x1424 */ s16 healthAccumulator;
|
||||
} SaveContext; // size = 0x1428
|
||||
|
||||
typedef struct {
|
||||
@@ -260,13 +257,13 @@ typedef struct GraphicsContext {
|
||||
/* 0x0078 */ OSScTask task; // size of OSScTask might be wrong
|
||||
/* 0x00D0 */ char unk_0D0[0xE0];
|
||||
/* 0x01B0 */ Gfx* workBuffer;
|
||||
/* 0x01B4 */ TwoHeadGfxArena work;
|
||||
/* 0x01B4 */ TwoHeadGfxArena work;
|
||||
/* 0x01C4 */ char unk_01C4[0xC0];
|
||||
/* 0x0284 */ OSViMode* viMode;
|
||||
/* 0x0288 */ char unk_0288[0x20];
|
||||
/* 0x02A8 */ TwoHeadGfxArena overlay;
|
||||
/* 0x02B8 */ TwoHeadGfxArena polyOpa;
|
||||
/* 0x02C8 */ TwoHeadGfxArena polyXlu;
|
||||
/* 0x02A8 */ TwoHeadGfxArena overlay;
|
||||
/* 0x02B8 */ TwoHeadGfxArena polyOpa;
|
||||
/* 0x02C8 */ TwoHeadGfxArena polyXlu;
|
||||
/* 0x02D8 */ u32 gfxPoolIdx;
|
||||
/* 0x02DC */ u16* curFrameBuffer;
|
||||
/* 0x02E0 */ char unk_2E0[0x04];
|
||||
@@ -329,7 +326,7 @@ typedef struct {
|
||||
/* 0x0290 */ PadState pads[4]; // 0x6 each = 0x18 total
|
||||
/* 0x02A8 */ volatile u8 validCtrlrsMask;
|
||||
/* 0x02A9 */ s8 ncontrollers;
|
||||
/* 0x02AA */ u8 ctrlrIsConnected[4]; // Key_switch in original code
|
||||
/* 0x02AA */ u8 ctrlrIsConnected[4]; // "Key_switch" originally
|
||||
/* 0x02AE */ u8 pakType[4]; // 1 if rumble pack, 2 if mempak?
|
||||
/* 0x02B2 */ volatile u8 rumbleEnable[4];
|
||||
/* 0x02B6 */ u8 rumbleCounter[4]; // not clear exact meaning
|
||||
@@ -342,48 +339,35 @@ typedef struct {
|
||||
} PadMgr; // size = 0x468
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ s16 unk_0;
|
||||
/* 0x0002 */ s16 unk_2;
|
||||
/* 0x0004 */ u16 unk_4;
|
||||
/* 0x0004 */ u16 unk_6;
|
||||
/* 0x0008 */ s16 unk_8;
|
||||
/* 0x000A */ s16 unk_A;
|
||||
/* 0x000C */ u16 unk_C;
|
||||
/* 0x000E */ u16 unk_E;
|
||||
} UnkViewStruct; // size = 0x10, probably a viewport in disguise
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ s32 topY; // uly (upper left y)
|
||||
/* 0x0004 */ s32 bottomY; // lry (lower right y)
|
||||
/* 0x0008 */ s32 leftX; // ulx (upper left x)
|
||||
/* 0x000C */ s32 rightX; // lrx (lower right x)
|
||||
/* 0x0000 */ s32 topY; // uly (upper left y)
|
||||
/* 0x0004 */ s32 bottomY; // lry (lower right y)
|
||||
/* 0x0008 */ s32 leftX; // ulx (upper left x)
|
||||
/* 0x000C */ s32 rightX; // lrx (lower right x)
|
||||
} Viewport; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ s32 magic; // string literal "VIEW" / 0x56494557
|
||||
/* 0x0004 */ GraphicsContext* gfxCtx;
|
||||
/* 0x0008 */ Viewport viewport;
|
||||
/* 0x0018 */ f32 fieldOfView; // fovy
|
||||
/* 0x001C */ f32 fogDistance; // near
|
||||
/* 0x0020 */ f32 zDepth; // far
|
||||
/* 0x0024 */ f32 unk_24; // scale
|
||||
/* 0x0018 */ f32 fovy; // vertical field of view in degrees
|
||||
/* 0x001C */ f32 near; // distance to near clipping plane
|
||||
/* 0x0020 */ f32 far; // distance to far clipping plane
|
||||
/* 0x0024 */ f32 scale; // scale for matrix elements
|
||||
/* 0x0028 */ Vec3f eye;
|
||||
/* 0x0034 */ Vec3f unk_34;
|
||||
/* 0x0040 */ Vec3f unk_40;
|
||||
/* 0x004C */ char unk_4C[0x04];
|
||||
/* 0x0050 */ Viewport unk_50;
|
||||
/* 0x0060 */ Mtx unk_60;
|
||||
/* 0x00A0 */ MtxF unk_A0;
|
||||
/* 0x00E0 */ Mtx* unk_E0;
|
||||
/* 0x00E4 */ MtxF* unk_E4;
|
||||
/* 0x0050 */ Vp vp;
|
||||
/* 0x0060 */ Mtx projection;
|
||||
/* 0x00A0 */ Mtx viewing;
|
||||
/* 0x00E0 */ Mtx* projectionPtr;
|
||||
/* 0x00E4 */ Mtx* viewingPtr;
|
||||
/* 0x00E8 */ Vec3f unk_E8;
|
||||
/* 0x00F4 */ Vec3f unk_F4;
|
||||
/* 0x0100 */ f32 unk_100;
|
||||
/* 0x0104 */ Vec3f unk_104;
|
||||
/* 0x0110 */ Vec3f unk_110;
|
||||
/* 0x011C */ u16 unk_11C; // normal
|
||||
/* 0x011E */ u16 unk_11E;
|
||||
/* 0x0120 */ s32 unk_120;
|
||||
/* 0x011C */ u16 normal; // used to normalize the projection matrix
|
||||
/* 0x0120 */ u32 flags;
|
||||
/* 0x0124 */ s32 unk_124;
|
||||
} View; // size = 0x128
|
||||
|
||||
@@ -405,8 +389,8 @@ typedef struct {
|
||||
/* 0x0068 */ char unk_68[0x0C];
|
||||
/* 0x0074 */ Vec3f unk_74;
|
||||
/* 0x0080 */ Vec3f unk_80;
|
||||
/* 0x008C */ struct GlobalContext *globalCtx;
|
||||
/* 0x0090 */ Player *player;
|
||||
/* 0x008C */ struct GlobalContext* globalCtx;
|
||||
/* 0x0090 */ Player* player;
|
||||
/* 0x0094 */ PosRot unk_94;
|
||||
/* 0x00A8 */ char unk_A8[0x18];
|
||||
/* 0x00C0 */ Vec3f unk_C0;
|
||||
@@ -425,7 +409,8 @@ typedef struct {
|
||||
/* 0x0128 */ s32 unk_128;
|
||||
/* 0x012C */ s16 unk_12C;
|
||||
/* 0x012E */ s16 unk_12E;
|
||||
/* 0x0130 */ char unk_130[0x10];
|
||||
/* 0x0130 */ s16 unk_130;
|
||||
/* 0x0132 */ char unk_132[0x0E];
|
||||
/* 0x0140 */ s16 unk_140;
|
||||
/* 0x0142 */ s16 unk_142; // related to door camera (see func_8005AD40)
|
||||
/* 0x0144 */ s16 unk_144;
|
||||
@@ -451,10 +436,10 @@ typedef struct {
|
||||
} Camera; // size = 0x16C
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ Camera activeCameras[4];
|
||||
/* 0x05B0 */ Camera* activeCameraPtrs[4];
|
||||
/* 0x05C0 */ s16 unk_5C0;
|
||||
/* 0x05C2 */ s16 unk_5C2;
|
||||
/* 0x0000 */ Camera cameras[4];
|
||||
/* 0x05B0 */ Camera* cameraPtrs[4];
|
||||
/* 0x05C0 */ s16 activeCamera;
|
||||
/* 0x05C2 */ s16 nextCamera;
|
||||
} CameraContext; // size = 0x5C4
|
||||
|
||||
typedef struct {
|
||||
@@ -463,6 +448,11 @@ typedef struct {
|
||||
/* 0x02 */ char unk_02[0x2];
|
||||
} SoundContext; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 unk_0;
|
||||
/* 0x04 */ char unk_4[0x4];
|
||||
} SubGlobalContext7B8; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x2];
|
||||
/* 0x02 */ s16 unk_02;
|
||||
@@ -575,22 +565,26 @@ typedef struct {
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
/* 0x10 */ u16 frames;
|
||||
/* 0x12 */ u16 unk_12;
|
||||
union {
|
||||
/* 0x14 */ s32 unk_14_all;
|
||||
struct {
|
||||
s16 unk_14;
|
||||
s16 unk_16;
|
||||
};
|
||||
};
|
||||
/* 0x14 */ s32 unk_14;
|
||||
/* 0x18 */ u16 unk_18;
|
||||
/* 0x1A */ u8 unk_1A;
|
||||
/* 0x1B */ u8 unk_1B;
|
||||
/* 0x1C */ CutsceneCameraPoint* cameraFocus;
|
||||
/* 0x20 */ CutsceneCameraPoint* cameraPosition;
|
||||
/* 0x24 */ CsCmdActorAction* linkAction;
|
||||
/* 0x28 */ CsCmdActorAction* actorActions[10];
|
||||
/* 0x28 */ CsCmdActorAction* actorActions[10]; // "npcdemopnt"
|
||||
} CutsceneContext; // size = 0x50
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_0[0x4];
|
||||
} SubGlobalContext1F74; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ char unk_00[0x140];
|
||||
/* 0x140 */ s16 unk_140;
|
||||
/* 0x142 */ char unk_142[0x0E];
|
||||
} SkyboxContext; // size = 0x150
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ View view;
|
||||
/* 0x0128 */ char unk_128[0xE188];
|
||||
@@ -631,7 +625,7 @@ typedef struct {
|
||||
/* 0x01A0 */ char unk_1A0[0x20];
|
||||
/* 0x01C0 */ OSMesgQueue loadQueue;
|
||||
/* 0x01D8 */ OSMesg loadMsg;
|
||||
/* 0x01DC */ s32 unk_1DC[4];
|
||||
/* 0x01DC */ Viewport viewport;
|
||||
/* 0x01EC */ s16 unk_1EC;
|
||||
/* 0x01EE */ u16 unk_1EE;
|
||||
/* 0x01F0 */ u16 unk_1F0;
|
||||
@@ -713,6 +707,61 @@ typedef struct {
|
||||
/* 0x025A */ char unk_25A[0x066];
|
||||
} PauseContext; // size = 0x2C0
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x02];
|
||||
/* 0x02 */ u16 unk_02;
|
||||
/* 0x04 */ Vec3f unk_04;
|
||||
/* 0x10 */ char unk_10[0x03];
|
||||
/* 0x13 */ u8 unk_13;
|
||||
/* 0x14 */ char unk_14[0x01];
|
||||
/* 0x15 */ u8 skyDisabled;
|
||||
/* 0x16 */ u8 sunMoonDisabled;
|
||||
/* 0x17 */ u8 gloomySky;
|
||||
/* 0x18 */ u8 unk_18;
|
||||
/* 0x19 */ u8 unk_19;
|
||||
/* 0x1A */ u16 unk_1A;
|
||||
/* 0x1C */ char unk_1C[0x02];
|
||||
/* 0x1E */ u8 unk_1E;
|
||||
/* 0x1F */ u8 unk_1F;
|
||||
/* 0x20 */ u8 unk_20;
|
||||
/* 0x21 */ u8 unk_21;
|
||||
/* 0x22 */ u16 unk_22;
|
||||
/* 0x24 */ u16 unk_24;
|
||||
/* 0x26 */ char unk_26[0x04];
|
||||
/* 0x2A */ s8 unk_2A;
|
||||
/* 0x2B */ s8 unk_2B;
|
||||
/* 0x2C */ s8 unk_2C;
|
||||
/* 0x2D */ char unk_2D[0x5E];
|
||||
/* 0x8C */ s16 unk_8C[6];
|
||||
/* 0x98 */ char unk_98[0x08];
|
||||
/* 0xA0 */ s16 unk_A0;
|
||||
/* 0xA2 */ char unk_A2[0x06];
|
||||
/* 0xA8 */ s16 unk_A8;
|
||||
/* 0xAA */ s16 unk_AA;
|
||||
/* 0xAC */ s16 unk_AC;
|
||||
/* 0xB0 */ f32 unk_B0;
|
||||
/* 0xB4 */ u8 nbLightSettings;
|
||||
/* 0xB8 */ UNK_PTR lightSettingsList;
|
||||
/* 0xBC */ char unk_BC[0x03];
|
||||
/* 0xBF */ u8 unk_BF;
|
||||
/* 0xC0 */ char unk_C0[0x18];
|
||||
/* 0xD8 */ f32 unk_D8;
|
||||
/* 0xDC */ u8 unk_DC;
|
||||
/* 0xDD */ u8 gloomySkyEvent;
|
||||
/* 0xDE */ u8 unk_DE;
|
||||
/* 0xDF */ u8 lightning;
|
||||
/* 0xE0 */ u8 unk_E0;
|
||||
/* 0xE1 */ u8 unk_E1;
|
||||
/* 0xE2 */ u8 unk_E2[4];
|
||||
/* 0xE6 */ u8 unk_E6;
|
||||
/* 0xE7 */ u8 unk_E7;
|
||||
/* 0xE8 */ u8 unk_E8;
|
||||
/* 0xE9 */ char unk_E9[0x05];
|
||||
/* 0xEE */ u8 unk_EE[4];
|
||||
/* 0xF2 */ u8 unk_F2[4];
|
||||
/* 0xF6 */ char unk_F6[0x06];
|
||||
} EnvironmentContext; // size = 0xFC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x04 */ void* segment;
|
||||
@@ -833,9 +882,41 @@ typedef struct {
|
||||
} RoomContext; // size = 0x74
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x028C];
|
||||
/* 0x00 */ char unk_00[0x028C];
|
||||
} SubGlobalContext11E60; // size = 0x28C
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x10];
|
||||
/* 0x10 */ u16* unk_10;
|
||||
/* 0x14 */ u16* unk_14;
|
||||
/* 0x18 */ u16* unk_18;
|
||||
/* 0x1C */ char unk_1C[0x87];
|
||||
/* 0xA3 */ s8 unk_A3;
|
||||
} PreRenderContext; // size = 0xA4
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0xDC];
|
||||
/* 0xDC */ u16* unk_DC;
|
||||
} TransitionStruct; // size = 0xE0
|
||||
|
||||
typedef struct {
|
||||
/* 0x000 */ char unk_00[0x228];
|
||||
/* 0x228 */ s32 unk_228;
|
||||
/* 0x22C */ void (*unk_22C)(UNK_ARGS);
|
||||
/* 0x230 */ void (*unk_230)(UNK_ARGS);
|
||||
/* 0x234 */ void (*unk_234)(UNK_ARGS);
|
||||
/* 0x238 */ void (*unk_238)(UNK_ARGS);
|
||||
/* 0x23C */ void (*unk_23C)(UNK_ARGS);
|
||||
/* 0x240 */ void (*unk_240)(UNK_ARGS);
|
||||
/* 0x244 */ void (*unk_244)(UNK_ARGS);
|
||||
/* 0x248 */ void (*unk_248)(UNK_ARGS);
|
||||
/* 0x24C */ s32 (*unk_24C)(UNK_ARGS);
|
||||
} TransitionContext; // size = 0x250
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x0C];
|
||||
} SubGlobalContext1241C; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x02 */ Vec3s pos;
|
||||
@@ -859,11 +940,6 @@ typedef struct {
|
||||
/* 0x01 */ u8 room;
|
||||
} EntranceEntry;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
} RomFile; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ void* read_buff;
|
||||
} Sram; // size = 0x4
|
||||
@@ -887,7 +963,7 @@ typedef struct GameState {
|
||||
/* 0x0C */ void (*init)(struct GameState*);
|
||||
/* 0x10 */ u32 size;
|
||||
/* 0x14 */ Input input[4];
|
||||
/* 0x74 */ char tha[0x10];
|
||||
/* 0x74 */ TwoHeadArena tha;
|
||||
/* 0x84 */ GameAlloc alloc;
|
||||
/* 0x98 */ u32 running;
|
||||
/* 0x9C */ u32 frames;
|
||||
@@ -905,17 +981,16 @@ typedef struct {
|
||||
/* 0x01DA */ u16 visibleDuration; // not used in mq dbg
|
||||
/* 0x01DC */ s16 ult;
|
||||
/* 0x01DE */ s16 uls;
|
||||
/* 0x01E0 */ char unk_1E0;
|
||||
/* 0x01E0 */ char unk_1E0[0x01];
|
||||
/* 0x01E1 */ u8 exit;
|
||||
/* 0x01E2 */ char unk_1E2[6];
|
||||
/* 0x01E2 */ char unk_1E2[0x06];
|
||||
} TitleContext; // size = 0x1E8
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ GameState state;
|
||||
/* 0x00A4 */ void* staticSegment;
|
||||
/* 0x00A8 */ View view;
|
||||
} SampleContext;
|
||||
} SampleContext; // size = 0x1D0
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 byte0;
|
||||
@@ -930,76 +1005,28 @@ typedef struct GlobalContext {
|
||||
/* 0x000A4 */ s16 sceneNum;
|
||||
/* 0x000A6 */ u8 sceneConfig;
|
||||
/* 0x000A7 */ char unk_A7[0x9];
|
||||
/* 0x000B0 */ SceneCmd* unk_B0;
|
||||
/* 0x000B0 */ void* sceneSegment;
|
||||
/* 0x000B4 */ char unk_B4[0x4];
|
||||
/* 0x000B8 */ View view;
|
||||
/* 0x001E0 */ CameraContext cameraCtx; // "camera"
|
||||
/* 0x001E0 */ Camera cameras[4];
|
||||
/* 0x00790 */ Camera* cameraPtrs[4];
|
||||
/* 0x007A0 */ s16 activeCamera;
|
||||
/* 0x007A2 */ s16 nextCamera;
|
||||
/* 0x007A4 */ SoundContext soundCtx;
|
||||
/* 0x007A8 */ LightingContext lightCtx;
|
||||
/* 0x007B8 */ s32 unk_7B8;
|
||||
/* 0x007BC */ char unk7BC[0x4];
|
||||
/* 0x007B8 */ SubGlobalContext7B8 sub_7B8;
|
||||
/* 0x007C0 */ CollisionContext colCtx;
|
||||
/* 0x01C24 */ ActorContext actorCtx;
|
||||
/* 0x01D64 */ CutsceneContext csCtx; // "demo_play"
|
||||
/* 0x01DB4 */ char unk_1DB4[0x1C4];
|
||||
/* 0x01F78 */ u16 unk_1F78;
|
||||
/* 0x01F7A */ char unk_1F7A[0x15E];
|
||||
/* 0x01DB4 */ char unk_1DB4[0x1C0];
|
||||
/* 0x01F74 */ SubGlobalContext1F74 sub_1F74;
|
||||
/* 0x01F78 */ SkyboxContext skyboxCtx;
|
||||
/* 0x020C8 */ char unk_20C8[0x10];
|
||||
/* 0x020D8 */ MessageContext msgCtx; // "message"
|
||||
/* 0x104F0 */ InterfaceContext interfaceCtx; // "parameter"
|
||||
/* 0x10760 */ PauseContext pauseCtx;
|
||||
/* 0x10A20 */ u16 unk_10A20;
|
||||
/* 0x10A22 */ char unk_10A22[0x2];
|
||||
/* 0x10A24 */ u16 unk_10A24;
|
||||
/* 0x10A26 */ u16 unk_10A26;
|
||||
/* 0x10A28 */ f32 unk_10A28;
|
||||
/* 0x10A2C */ f32 unk_10A2C;
|
||||
/* 0x10A30 */ f32 unk_10A30;
|
||||
/* 0x10A34 */ char unk_10A34[0x5];
|
||||
/* 0x10A39 */ u8 skyDisabled;
|
||||
/* 0x10A3A */ u8 sunMoonDisabled;
|
||||
/* 0x10A3B */ u8 gloomySky;
|
||||
/* 0x10A3C */ u8 unk_10A3C;
|
||||
/* 0x10A3D */ u8 unk_10A3D;
|
||||
/* 0x10A3E */ u16 unk_10A3E;
|
||||
/* 0x10A40 */ char unk_10A40[0x2];
|
||||
/* 0x10A42 */ u8 unk_10A42;
|
||||
/* 0x10A43 */ u8 unk_10A43;
|
||||
/* 0x10A44 */ u8 unk_10A44;
|
||||
/* 0x10A45 */ u8 unk_10A45;
|
||||
/* 0x10A46 */ u16 unk_10A46;
|
||||
/* 0x10A48 */ u16 unk_10A48;
|
||||
/* 0x10A4A */ char unk_10A4A[0x4];
|
||||
/* 0x10A4E */ s8 unk_10A4E;
|
||||
/* 0x10A4F */ s8 unk_10A4F;
|
||||
/* 0x10A50 */ s8 unk_10A50;
|
||||
/* 0x10A51 */ char unk_10A51[0x5F];
|
||||
/* 0x10AB0 */ s16 unk_10AB0[6];
|
||||
/* 0x10ABC */ char unk_10ABC[0x8];
|
||||
/* 0x10AC4 */ s16 unk_10AC4;
|
||||
/* 0x10AC6 */ char unk_10AC6[0x6];
|
||||
/* 0x10ACC */ s16 unk_10ACC;
|
||||
/* 0x10ACE */ s16 unk_10ACE;
|
||||
/* 0x10AD0 */ s16 unk_10AD0;
|
||||
/* 0x10AD4 */ f32 unk_10AD4;
|
||||
/* 0x10AD8 */ u8 nbLightSettings;
|
||||
/* 0x10AD9 */ char unk_10AD9[0x3];
|
||||
/* 0x10ADC */ UNK_PTR lightSettingsList;
|
||||
/* 0x10AE0 */ char unk_10AE0[0x3];
|
||||
/* 0x10AE3 */ u8 unk_10AE3;
|
||||
/* 0x10AE4 */ char unk_10AE4[0x18];
|
||||
/* 0x10AFC */ f32 unk_10AFC;
|
||||
/* 0x10B00 */ u8 unk_10B00;
|
||||
/* 0x10B01 */ u8 gloomySkyEvent;
|
||||
/* 0x10B02 */ u8 unk_10B02;
|
||||
/* 0x10B03 */ u8 lightning;
|
||||
/* 0x10B04 */ u8 unk_10B04;
|
||||
/* 0x10B05 */ u8 unk_10B05;
|
||||
/* 0x10B06 */ u8 unk_10B06[4];
|
||||
/* 0x10B0A */ u8 unk_10B0A;
|
||||
/* 0x10B0B */ char unk_10B0B[0x7];
|
||||
/* 0x10B12 */ u8 unk_10B12[4];
|
||||
/* 0x10B16 */ u8 unk_10B16[4];
|
||||
/* 0x10B1A */ char unk_10B1A[0x6];
|
||||
/* 0x10A24 */ EnvironmentContext envCtx;
|
||||
/* 0x10B20 */ AnimationContext animationCtx;
|
||||
/* 0x117A4 */ ObjectContext objectCtx;
|
||||
/* 0x11CBC */ RoomContext roomCtx;
|
||||
@@ -1011,7 +1038,7 @@ typedef struct GlobalContext {
|
||||
/* 0x11D5C */ char unk_11D5C[0x4];
|
||||
/* 0x11D60 */ MtxF mf_11D60;
|
||||
/* 0x11DA0 */ MtxF mf_11DA0;
|
||||
/* 0x11DE0 */ char unk_11DE0[0x4];
|
||||
/* 0x11DE0 */ Mtx* unk_11DE0;
|
||||
/* 0x11DE4 */ u32 gameplayFrames;
|
||||
/* 0x11DE8 */ u8 linkAgeOnLoad;
|
||||
/* 0x11DE9 */ u8 unk_11DE9;
|
||||
@@ -1029,19 +1056,22 @@ typedef struct GlobalContext {
|
||||
/* 0x11E10 */ char unk_11E10[0x4];
|
||||
/* 0x11E14 */ u8 skyboxId;
|
||||
/* 0x11E15 */ s8 sceneLoadFlag; // "fade_direction"
|
||||
/* 0x11E16 */ char unk_11E16[0x4];
|
||||
/* 0x11E16 */ s16 unk_11E16;
|
||||
/* 0x11E18 */ s16 unk_11E18;
|
||||
/* 0x11E1A */ s16 nextEntranceIndex;
|
||||
/* 0x11E1C */ char unk_11E1C[0x40];
|
||||
/* 0x11E5C */ s8 unk_11E5C;
|
||||
/* 0x11E5D */ s8 bombchuBowlingAmmo; // "bombchu_game_flag"
|
||||
/* 0x11E5E */ u8 fadeOutTransition;
|
||||
/* 0x11E5E */ u8 fadeTransition;
|
||||
/* 0x11E5F */ char unk_11E5F[0x1];
|
||||
/* 0x11E60 */ SubGlobalContext11E60 sub_11E60;
|
||||
/* 0x120EC */ char unk_120EC[0x304];
|
||||
/* 0x123F0 */ s32 unk_123F0;
|
||||
/* 0x123F4 */ char unk_123F4[0x27];
|
||||
/* 0x120EC */ char unk_120EC[0x38];
|
||||
/* 0x12124 */ PreRenderContext preRenderCtx;
|
||||
/* 0x121C8 */ TransitionContext transitionCtx;
|
||||
/* 0x12418 */ char unk_12418[0x3];
|
||||
/* 0x1241B */ u8 unk_1241B; // "fbdemo_wipe_modem"
|
||||
/* 0x1241C */ char unk_1241C[0xF];
|
||||
/* 0x1241C */ SubGlobalContext1241C sub_1241C;
|
||||
/* 0x12428 */ char unk_12428[0x3];
|
||||
/* 0x1242B */ u8 unk_1242B;
|
||||
/* 0x1242C */ Scene* loadedScene;
|
||||
/* 0x12430 */ char unk_12430[0xE8];
|
||||
@@ -1111,10 +1141,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 scene;
|
||||
/* 0x01 */ s8 spawn;
|
||||
/* 0x02 */ u16 continueBgm : 1;
|
||||
/* 0x02 */ u16 displayTitleCard : 1;
|
||||
/* 0x02 */ u16 fadeInTransition : 7;
|
||||
/* 0x02 */ u16 fadeOutTransition : 7;
|
||||
/* 0x02 */ u16 field;
|
||||
} EntranceInfo; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
@@ -1527,4 +1554,10 @@ typedef struct {
|
||||
/* 0xB4 */ JpegWork* workBuf;
|
||||
} JpegContext; // size = 0xB8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x08];
|
||||
/* 0x08 */ Color_RGBA8 color;
|
||||
/* 0x0C */ char unk_0C[0x0C];
|
||||
} VisMonoStruct; // size = 0x18
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 entrance; // entrance index upon which the cutscene should trigger
|
||||
/* 0x02 */ u8 ageRestriction; // 0 for adult only, 1 for child only, 2 for both ages
|
||||
/* 0x03 */ u8 flag; // event_chk_inf flag bound to the entrance cutscene
|
||||
/* 0x03 */ u8 flag; // eventChkInf flag bound to the entrance cutscene
|
||||
/* 0x04 */ u32 segAddr; // segment offset location of the cutscene
|
||||
} EntranceCutscene; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 continueFlag;
|
||||
/* 0x01 */ s8 cameraRoll;
|
||||
/* 0x02 */ s16 nextPointFrame;
|
||||
/* 0x02 */ u16 nextPointFrame;
|
||||
/* 0x04 */ f32 viewAngle; // in degrees
|
||||
/* 0x08 */ Vec3s pos;
|
||||
} CutsceneCameraPoint; // size = 0x10
|
||||
@@ -69,7 +69,7 @@ typedef struct {
|
||||
} CsCmdTextbox; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 action;
|
||||
/* 0x00 */ u16 action; // "dousa"
|
||||
/* 0x02 */ u16 startFrame;
|
||||
/* 0x04 */ u16 endFrame;
|
||||
/* 0x06 */ Vec3s rot;
|
||||
|
||||
@@ -19,6 +19,34 @@ typedef enum {
|
||||
/* 0x07 */ UPG_NUTS
|
||||
} UpgradeType;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ QUEST_MEDALLION_FOREST,
|
||||
/* 0x01 */ QUEST_MEDALLION_FIRE,
|
||||
/* 0x02 */ QUEST_MEDALLION_WATER,
|
||||
/* 0x03 */ QUEST_MEDALLION_SPIRIT,
|
||||
/* 0x04 */ QUEST_MEDALLION_SHADOW,
|
||||
/* 0x05 */ QUEST_MEDALLION_LIGHT,
|
||||
/* 0x06 */ QUEST_SONG_MINUET,
|
||||
/* 0x07 */ QUEST_SONG_BOLERO,
|
||||
/* 0x08 */ QUEST_SONG_SERENADE,
|
||||
/* 0x09 */ QUEST_SONG_REQUIEM,
|
||||
/* 0x0A */ QUEST_SONG_NOCTURNE,
|
||||
/* 0x0B */ QUEST_SONG_PRELUDE,
|
||||
/* 0x0C */ QUEST_SONG_LULLABY,
|
||||
/* 0x0D */ QUEST_SONG_EPONA,
|
||||
/* 0x0E */ QUEST_SONG_SARIA,
|
||||
/* 0x0F */ QUEST_SONG_SUN,
|
||||
/* 0x10 */ QUEST_SONG_TIME,
|
||||
/* 0x11 */ QUEST_SONG_STORMS,
|
||||
/* 0x12 */ QUEST_KOKIRI_EMERALD,
|
||||
/* 0x13 */ QUEST_GORON_RUBY,
|
||||
/* 0x14 */ QUEST_ZORA_SAPPHIRE,
|
||||
/* 0x15 */ QUEST_STONE_OF_AGONY,
|
||||
/* 0x16 */ QUEST_GERUDO_CARD,
|
||||
/* 0x17 */ QUEST_SKULL_TOKEN,
|
||||
/* 0x18 */ QUEST_HEART_PIECE
|
||||
} QuestItem;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ SLOT_STICK,
|
||||
/* 0x01 */ SLOT_NUT,
|
||||
|
||||
+7
-4
@@ -2,10 +2,13 @@
|
||||
#define _Z64SCENE_H_
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 sceneVromStart;
|
||||
/* 0x04 */ u32 sceneVromEnd;
|
||||
/* 0x08 */ u32 titleVromStart;
|
||||
/* 0x0C */ u32 titleVromEnd;
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
} RomFile; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ RomFile sceneFile;
|
||||
/* 0x08 */ RomFile titleFile;
|
||||
/* 0x10 */ u8 unk_10;
|
||||
/* 0x11 */ u8 config;
|
||||
/* 0x12 */ u8 unk_12;
|
||||
|
||||
Reference in New Issue
Block a user