1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-04 15:04:31 +00:00

Partially format header files

This commit is contained in:
Roman971 2020-03-22 22:50:11 +01:00
parent 8cfe7cce9f
commit 51290f6126
417 changed files with 832 additions and 1445 deletions

View file

@ -1,18 +1,15 @@
#ifndef _COLOR_H_ #ifndef _COLOR_H_
#define _COLOR_H_ #define _COLOR_H_
typedef struct typedef struct {
{
u8 r, g, b; u8 r, g, b;
} Color_RGB8; } Color_RGB8;
typedef struct typedef struct {
{
u8 r, g, b, a; u8 r, g, b, a;
} Color_RGBA8; } Color_RGBA8;
typedef struct typedef struct {
{
f32 r, g, b, a; f32 r, g, b, a;
} Color_RGBAf; } Color_RGBAf;

View file

@ -26,7 +26,8 @@ void DmaMgr_ThreadEntry(void* arg0);
s32 DmaMgr_SendRequestImpl(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk, OSMesgQueue* queue, OSMesg msg); s32 DmaMgr_SendRequestImpl(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk, OSMesgQueue* queue, OSMesg msg);
s32 DmaMgr_SendRequest0(u32 ram, u32 vrom, u32 size); s32 DmaMgr_SendRequest0(u32 ram, u32 vrom, u32 size);
void DmaMgr_Start(); void DmaMgr_Start();
s32 DmaMgr_SendRequest2(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk5, OSMesgQueue* queue, OSMesg msg, const char* file, s32 line); s32 DmaMgr_SendRequest2(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk5, OSMesgQueue* queue, OSMesg msg,
const char* file, s32 line);
s32 DmaMgr_SendRequest1(void* ram0, u32 vrom, u32 size, const char* file, s32 line); s32 DmaMgr_SendRequest1(void* ram0, u32 vrom, u32 size, const char* file, s32 line);
void* Yaz0_FirstDMA(); void* Yaz0_FirstDMA();
void* Yaz0_NextDMA(void* curSrcPos); void* Yaz0_NextDMA(void* curSrcPos);
@ -46,13 +47,16 @@ u32 is_proutSyncPrintf(void* arg0, const char *str, s32 count);
void func_80002384(const char* exp, const char* file, u32 line); void func_80002384(const char* exp, const char* file, u32 line);
OSPiHandle* osDriveRomInit(); OSPiHandle* osDriveRomInit();
void Yaz0_Old_DecompressImpl(Yaz0Header* hdr, u8* dst); void Yaz0_Old_DecompressImpl(Yaz0Header* hdr, u8* dst);
void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 initValue, s32 minSpace, const char* name); void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 initValue, s32 minSpace,
const char* name);
void StackCheck_Cleanup(StackEntry* entry); void StackCheck_Cleanup(StackEntry* entry);
StackStatus StackCheck_GetState(StackEntry* entry); StackStatus StackCheck_GetState(StackEntry* entry);
u32 StackCheck_CheckAll(); u32 StackCheck_CheckAll();
u32 StackCheck_Check(StackEntry* entry); u32 StackCheck_Check(StackEntry* entry);
float LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, float var1, const char* var2Name, float var2, const char* var3Name, float var3); float LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, float var1, const char* var2Name,
s32 LogUtils_CheckIntRange(const char* exp, s32 arg1, const char* var1Name, s32 var1, const char* var2Name, s32 var2, const char* var3Name, s32 var3); float var2, const char* var3Name, float var3);
s32 LogUtils_CheckIntRange(const char* exp, s32 arg1, const char* var1Name, s32 var1, const char* var2Name, s32 var2,
const char* var3Name, s32 var3);
void LogUtils_LogHexDump(void* ptr, s32 size0); void LogUtils_LogHexDump(void* ptr, s32 size0);
void LogUtils_LogPointer(s32 value, u32 max, void* ptr, const char* name, const char* file, s32 line); void LogUtils_LogPointer(s32 value, u32 max, void* ptr, const char* name, const char* file, s32 line);
void LogUtils_CheckBoundary(const char* name, s32 value, s32 unk, const char* file, s32 line); void LogUtils_CheckBoundary(const char* name, s32 value, s32 unk, const char* file, s32 line);
@ -223,8 +227,8 @@ void func_80028B74(GlobalContext*, Vec3f*, UNK_PTR, UNK_PTR, Color_RGB8*, Color_
// ? func_80028FD8(?); // ? func_80028FD8(?);
// ? func_80029060(?); // ? func_80029060(?);
void Effect_SpawnFragment(GlobalContext* globalCtx, Vec3f* burstDepthY, Vec3f* burstDepthX, Vec3f* burstOrigin, void Effect_SpawnFragment(GlobalContext* globalCtx, Vec3f* burstDepthY, Vec3f* burstDepthX, Vec3f* burstOrigin,
s16 gravityInfluence, s16 u0, s16 rotSpeed, s16 burstVel, u8 u1, s16 scale, u8 u2, s16 gravityInfluence, s16 u0, s16 rotSpeed, s16 burstVel, u8 u1, s16 scale, u8 u2, s16 jitter,
s16 jitter, s32 duration, s16 u3, s16 objNumber, u32 dList); s32 duration, s16 u3, s16 objNumber, u32 dList);
// ? func_800292DC(?); // ? func_800292DC(?);
// ? func_80029320(?); // ? func_80029320(?);
// ? func_80029444(?); // ? func_80029444(?);
@ -238,7 +242,8 @@ void Effect_SpawnFragment(GlobalContext* globalCtx, Vec3f* burstDepthY, Vec3f* b
// ? func_8002A32C(?); // ? func_8002A32C(?);
// ? func_8002A3C4(?); // ? func_8002A3C4(?);
void func_8002A65C(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, u32 arg3, u32 arg4); void func_8002A65C(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, u32 arg3, u32 arg4);
void func_8002A6B8(GlobalContext* globalCtx, Vec3f* pos, Vec3f* arg2, Vec3f* arg3, u32 arg4, s32 arg5, u32 arg6, u32 arg7, u32 arg8, u32 arg9, u32 arg10, u32 arg11, u32 arg12, u32 arg13, u32 arg14, u32 arg15); void func_8002A6B8(GlobalContext* globalCtx, Vec3f* pos, Vec3f* arg2, Vec3f* arg3, u32 arg4, s32 arg5, u32 arg6,
u32 arg7, u32 arg8, u32 arg9, u32 arg10, u32 arg11, u32 arg12, u32 arg13, u32 arg14, u32 arg15);
// ? func_8002A894(?); // ? func_8002A894(?);
// ? func_8002A95C(?); // ? func_8002A95C(?);
// ? func_8002A9F4(?); // ? func_8002A9F4(?);
@ -268,10 +273,10 @@ void Flags_SetTempClear(GlobalContext* globalCtx, s32 flag);
void Flags_UnsetTempClear(GlobalContext* globalCtx, s32 flag); void Flags_UnsetTempClear(GlobalContext* globalCtx, s32 flag);
s32 Flags_GetCollectible(GlobalContext* globalCtx, s32 flag); s32 Flags_GetCollectible(GlobalContext* globalCtx, s32 flag);
void Flags_SetCollectible(GlobalContext* globalCtx, s32 flag); void Flags_SetCollectible(GlobalContext* globalCtx, s32 flag);
void TitleCard_InitBossName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture, void TitleCard_InitBossName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture, s16 arg3, s16 arg4,
s16 arg3, s16 arg4, u8 arg5, u8 arg6); u8 arg5, u8 arg6);
void TitleCard_InitPlaceName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture, void TitleCard_InitPlaceName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture, s32 arg3, s32 arg4,
s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7); s32 arg5, s32 arg6, s32 arg7);
s32 func_8002D53C(GlobalContext* globalCtx, TitleCardContext* titleCtx); s32 func_8002D53C(GlobalContext* globalCtx, TitleCardContext* titleCtx);
void Actor_Kill(Actor* actor); void Actor_Kill(Actor* actor);
void Actor_SetHeight(Actor* actor, f32 offset); void Actor_SetHeight(Actor* actor, f32 offset);
@ -357,18 +362,18 @@ void func_800304DC(GlobalContext* globalCtx, ActorContext* actorCtx, ActorEntry*
void Actor_UpdateAll(GlobalContext* globalCtx, ActorContext* actorCtx); void Actor_UpdateAll(GlobalContext* globalCtx, ActorContext* actorCtx);
s32 func_800314D4(GlobalContext* globalCtx, Actor* actorB, Vec3f* arg2, f32 arg3); s32 func_800314D4(GlobalContext* globalCtx, Actor* actorB, Vec3f* arg2, f32 arg3);
void func_80031B14(GlobalContext* globalCtx, ActorContext* actorCtx); void func_80031B14(GlobalContext* globalCtx, ActorContext* actorCtx);
Actor* Actor_Spawn(ActorContext* actorCtx, GlobalContext* globalCtx, s16 actorId, Actor* Actor_Spawn(ActorContext* actorCtx, GlobalContext* globalCtx, s16 actorId, f32 posX, f32 posY, f32 posZ,
f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s16 params); s16 rotX, s16 rotY, s16 rotZ, s16 params);
Actor* Actor_SpawnAttached(ActorContext* actorCtx, Actor* attachedTo, GlobalContext* globalCtx, s16 actorId, Actor* Actor_SpawnAttached(ActorContext* actorCtx, Actor* attachedTo, GlobalContext* globalCtx, s16 actorId, f32 posX,
f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s16 params); f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s16 params);
void Actor_SpawnTransitionActors(GlobalContext* globalCtx, ActorContext* actorCtx); void Actor_SpawnTransitionActors(GlobalContext* globalCtx, ActorContext* actorCtx);
Actor* Actor_SpawnEntry(ActorContext* actorCtx, ActorEntry* actorEntry, GlobalContext* globalCtx); Actor* Actor_SpawnEntry(ActorContext* actorCtx, ActorEntry* actorEntry, GlobalContext* globalCtx);
Actor* Actor_Delete(ActorContext* actorCtx, Actor* actor, GlobalContext* globalCtx); Actor* Actor_Delete(ActorContext* actorCtx, Actor* actor, GlobalContext* globalCtx);
Actor* func_80032AF0(GlobalContext* globalCtx, ActorContext* actorCtx, Actor** actorPtr, Player* player); Actor* func_80032AF0(GlobalContext* globalCtx, ActorContext* actorCtx, Actor** actorPtr, Player* player);
Actor* Actor_Find(ActorContext* actorCtx, s32 actorId, s32 actorType); Actor* Actor_Find(ActorContext* actorCtx, s32 actorId, s32 actorType);
void func_80032C7C(GlobalContext* globalCtx, Actor* actor); void func_80032C7C(GlobalContext* globalCtx, Actor* actor);
void func_80033260(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3, void func_80033260(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3, s32 arg4, f32 arg5, s16 arg6,
s32 arg4, f32 arg5, s16 arg6, s16 arg7, u8 arg8); s16 arg7, u8 arg8);
void func_80033480(GlobalContext* globalCtx, Vec3f* arg1, f32 arg2, s32 arg3, s16 arg4, s16 arg5, u8 arg6); void func_80033480(GlobalContext* globalCtx, Vec3f* arg1, f32 arg2, s32 arg3, s16 arg4, s16 arg5, u8 arg6);
Actor* func_80033640(GlobalContext* globalCtx, Collider* collider); Actor* func_80033640(GlobalContext* globalCtx, Collider* collider);
Actor* func_80033684(GlobalContext* globalCtx, Actor* explosiveActor); Actor* func_80033684(GlobalContext* globalCtx, Actor* explosiveActor);
@ -389,10 +394,13 @@ void func_8003424C(GlobalContext* globalCtx, Vec3f* arg1);
void func_8003426C(Actor* actor, s16 arg1, s16 arg2, s16 arg3, s16 arg4); void func_8003426C(Actor* actor, s16 arg1, s16 arg2, s16 arg3, s16 arg4);
Hilite* func_800342EC(Vec3f* object, GlobalContext* globalCtx); Hilite* func_800342EC(Vec3f* object, GlobalContext* globalCtx);
Hilite* func_8003435C(Vec3f* object, GlobalContext* globalCtx); Hilite* func_8003435C(Vec3f* object, GlobalContext* globalCtx);
s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, u16 (*unkFunc1)(GlobalContext*, Actor*), s16 (*unkFunc2)(GlobalContext*, Actor*)); s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, u16 (*unkFunc1)(GlobalContext*, Actor*),
s16 (*unkFunc2)(GlobalContext*, Actor*));
s16 func_800347E8(s16 arg0); s16 func_800347E8(s16 arg0);
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor, s16 alpha); void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor,
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor, s16 alpha); s16 alpha);
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor,
s16 alpha);
void func_80034EC0(SkelAnime* skelAnime, struct_80034EC0_Entry* arg1, s32 arg2); void func_80034EC0(SkelAnime* skelAnime, struct_80034EC0_Entry* arg1, s32 arg2);
void Actor_Noop(Actor* actor, GlobalContext* globalCtx); void Actor_Noop(Actor* actor, GlobalContext* globalCtx);
void Draw_DListOpa(GlobalContext* globalCtx, u32 dlist); void Draw_DListOpa(GlobalContext* globalCtx, u32 dlist);
@ -688,7 +696,8 @@ s32 func_8005C328(GlobalContext* globalCtx, ColliderDimensions* dest, ColliderDi
s32 ActorCollider_AllocCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision); s32 ActorCollider_AllocCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision);
s32 ActorCollider_FreeCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision); s32 ActorCollider_FreeCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision);
s32 func_8005C3F4(GlobalContext* globalCtx, ColliderCylinderMain* collision, ColliderCylinderInit* arg2); s32 func_8005C3F4(GlobalContext* globalCtx, ColliderCylinderMain* collision, ColliderCylinderInit* arg2);
s32 ActorCollider_InitCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision, Actor* actor, ColliderCylinderInit* src); s32 ActorCollider_InitCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision, Actor* actor,
ColliderCylinderInit* src);
s32 func_8005C508(GlobalContext* globalCtx, ColliderCylinderMain* collision); s32 func_8005C508(GlobalContext* globalCtx, ColliderCylinderMain* collision);
s32 func_8005C540(GlobalContext* globalCtx, ColliderCylinderMain* collision); s32 func_8005C540(GlobalContext* globalCtx, ColliderCylinderMain* collision);
s32 func_8005C578(GlobalContext* globalCtx, ColliderCylinderMain* collision); s32 func_8005C578(GlobalContext* globalCtx, ColliderCylinderMain* collision);
@ -721,9 +730,12 @@ void func_8005D400(UNK_TYPE, UNK_TYPE);
// ? func_8005D40C(?); // ? func_8005D40C(?);
// ? func_8005D4DC(?); // ? func_8005D4DC(?);
// ? func_8005D62C(?); // ? func_8005D62C(?);
s32 Actor_CollisionCheck_SetAT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups, ColliderCylinderMain* collision); s32 Actor_CollisionCheck_SetAT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups,
s32 Actor_CollisionCheck_SetAC(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups, ColliderCylinderMain* collision); ColliderCylinderMain* collision);
s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups, ColliderCylinderMain* collision); s32 Actor_CollisionCheck_SetAC(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups,
ColliderCylinderMain* collision);
s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups,
ColliderCylinderMain* collision);
// ? func_8005DF2C(?); // ? func_8005DF2C(?);
// ? func_8005DF50(?); // ? func_8005DF50(?);
// ? func_8005DF74(?); // ? func_8005DF74(?);
@ -768,9 +780,9 @@ void func_8006375C(s32 arg0, s32 arg1, float* d_80855320);
// ? func_80063C04(?); // ? func_80063C04(?);
// ? func_80063D7C(?); // ? func_80063D7C(?);
void DebugDisplay_Init(void); void DebugDisplay_Init(void);
DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, f32 scaleX,
f32 scaleX, f32 scaleY, f32 scaleZ, u8 red, u8 green, u8 blue, u8 alpha, f32 scaleY, f32 scaleZ, u8 red, u8 green, u8 blue, u8 alpha, s16 type,
s16 type, GraphicsContext* gfxCtx); GraphicsContext* gfxCtx);
void DebugDisplay_DrawObjects(GlobalContext* globalCtx); void DebugDisplay_DrawObjects(GlobalContext* globalCtx);
void func_8006450C(GlobalContext* globalCtx, CutsceneContext* csCtx); void func_8006450C(GlobalContext* globalCtx, CutsceneContext* csCtx);
void func_80064534(GlobalContext* globalCtx, CutsceneContext* csCtx); void func_80064534(GlobalContext* globalCtx, CutsceneContext* csCtx);
@ -884,9 +896,12 @@ void Health_InitData(GlobalContext* globalCtx);
void Health_UpdateData(GlobalContext* globalCtx); void Health_UpdateData(GlobalContext* globalCtx);
void Interface_DrawHealth(GlobalContext* globalCtx); void Interface_DrawHealth(GlobalContext* globalCtx);
void Health_HandleCriticalAlarm(GlobalContext* globalCtx); void Health_HandleCriticalAlarm(GlobalContext* globalCtx);
void Lights_InitPositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius, u32 type); void Lights_InitPositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue,
void Lights_InitType0PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius); s16 radius, u32 type);
void Lights_InitType2PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius); void Lights_InitType0PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue,
s16 radius);
void Lights_InitType2PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue,
s16 radius);
void Lights_SetPositionalLightColorAndRadius(LightInfoPositional* info, u8 red, u8 green, u8 blue, s16 radius); void Lights_SetPositionalLightColorAndRadius(LightInfoPositional* info, u8 red, u8 green, u8 blue, s16 radius);
void Lights_InitDirectional(LightInfoDirectional* info, s8 dirX, s8 dirY, s8 dirZ, u8 red, u8 green, u8 blue); void Lights_InitDirectional(LightInfoDirectional* info, s8 dirX, s8 dirY, s8 dirZ, u8 red, u8 green, u8 blue);
void Lights_MapperInit(LightMapper* mapper, u8 red, u8 green, u8 blue); void Lights_MapperInit(LightMapper* mapper, u8 red, u8 green, u8 blue);
@ -1082,8 +1097,10 @@ Gfx* func_800946E4(Gfx* a0);
// ? func_80094DB8(?); // ? func_80094DB8(?);
Gfx* func_80094E78(GraphicsContext* gfxCtx, u32 x, u32 y); Gfx* func_80094E78(GraphicsContext* gfxCtx, u32 x, u32 y);
Gfx* Draw_TexScroll(GraphicsContext* gfxCtx, u32 x, u32 y, s32 width, s32 height); Gfx* Draw_TexScroll(GraphicsContext* gfxCtx, u32 x, u32 y, s32 width, s32 height);
Gfx* Draw_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2); Gfx* Draw_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2,
Gfx* Draw_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2, s32 red, s32 green, s32 blue, s32 alpha); u32 y2, s32 width2, s32 height2);
Gfx* Draw_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2,
u32 x2, u32 y2, s32 width2, s32 height2, s32 red, s32 green, s32 blue, s32 alpha);
// ? func_80095248(?); // ? func_80095248(?);
void func_80095AA0(GlobalContext* globalCtx, Room* room, UNK_TYPE arg2, UNK_TYPE arg3); void func_80095AA0(GlobalContext* globalCtx, Room* room, UNK_TYPE arg2, UNK_TYPE arg3);
// ? func_8009638C(?); // ? func_8009638C(?);
@ -1116,15 +1133,18 @@ void Scene_Draw(GlobalContext* globalCtx);
// ? func_800A0D94(?); // ? func_800A0D94(?);
// ? func_800A106C(?); // ? func_800A106C(?);
// ? func_800A1344(?); // ? func_800A1344(?);
void SkelAnime_Draw(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0, void* internal1); void SkelAnime_Draw(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0,
void* internal1);
// ? func_800A180C(?); // ? func_800A180C(?);
void func_800A1AC8(GlobalContext *globalCtx, u32 limbIndex, u32 actorDrawTbl, u32 dListCount, void* posUpdateFunc, void *drawFunc, Actor* actor); void func_800A1AC8(GlobalContext* globalCtx, u32 limbIndex, u32 actorDrawTbl, u32 dListCount, void* posUpdateFunc,
void* drawFunc, Actor* actor);
// ? func_800A1D8C(?); // ? func_800A1D8C(?);
// ? func_800A1FC8(?); // ? func_800A1FC8(?);
s32 SkelAnime_GetFrameCount(u32 animation); s32 SkelAnime_GetFrameCount(u32 animation);
// ? func_800A2044(?); // ? func_800A2044(?);
// ? func_800A24A0(?); // ? func_800A24A0(?);
Gfx* func_800A273C(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0, void* internal1, Actor* actor, Gfx* gfx); Gfx* func_800A273C(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0, void* internal1,
Actor* actor, Gfx* gfx);
// ? func_800A2E70(?); // ? func_800A2E70(?);
// ? func_800A32EC(?); // ? func_800A32EC(?);
// ? func_800A3334(?); // ? func_800A3334(?);
@ -1139,8 +1159,10 @@ Gfx* func_800A273C(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDLis
// ? func_800A3F08(?); // ? func_800A3F08(?);
// ? func_800A3D70(?); // ? func_800A3D70(?);
// ? func_800A4478(?); // ? func_800A4478(?);
void SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u16* unk0, u16* unk1, u8 unk2); void SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u16* unk0, u16* unk1,
void func_800A46F8(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u16* unk0, u16* unk1, u8 unk2); u8 unk2);
void func_800A46F8(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u16* unk0, u16* unk1,
u8 unk2);
// ? func_800A4A20(?); // ? func_800A4A20(?);
// ? func_800A4AD8(?); // ? func_800A4AD8(?);
// ? func_800A4D9C(?); // ? func_800A4D9C(?);
@ -1150,7 +1172,8 @@ void func_800A46F8(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton,
s32 SkelAnime_FrameUpdateMatrix(SkelAnime* skelAnime); s32 SkelAnime_FrameUpdateMatrix(SkelAnime* skelAnime);
// ? func_800A4C58(?); // ? func_800A4C58(?);
// ? func_800A4FE4(?); // ? func_800A4FE4(?);
void SkelAnime_ChangeAnimation(SkelAnime* skelAnime, u32 animation, f32 playbackSpeed, f32 unk0, f32 frameCount, u8 unk1, f32 transitionRate); void SkelAnime_ChangeAnimation(SkelAnime* skelAnime, u32 animation, f32 playbackSpeed, f32 unk0, f32 frameCount,
u8 unk1, f32 transitionRate);
void func_800A51E8(SkelAnime* skelAnime, u32 animation); void func_800A51E8(SkelAnime* skelAnime, u32 animation);
void func_800A5240(SkelAnime* skelAnime, u32 animation, f32 unk0); void func_800A5240(SkelAnime* skelAnime, u32 animation, f32 unk0);
void func_800A529C(SkelAnime* skelAnime, u32 animation, f32 unk0, Actor* actor); void func_800A529C(SkelAnime* skelAnime, u32 animation, f32 unk0, Actor* actor);
@ -2296,7 +2319,8 @@ s16 sins(u16);
// ? func_80103210(?); // ? func_80103210(?);
// ? func_8010328C(?); // ? func_8010328C(?);
// ? func_801032B0(?); // ? func_801032B0(?);
void func_80103A70(UNK_PTR, Gfx*, Hilite*, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32); void func_80103A70(UNK_PTR, Gfx*, Hilite*, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32,
s32, s32);
// ? func_80103B30(?); // ? func_80103B30(?);
// ? func_80103B60(?); // ? func_80103B60(?);
// ? func_80103BB0(?); // ? func_80103BB0(?);

View file

@ -1,8 +1,7 @@
#ifndef _ICHAIN_H_ #ifndef _ICHAIN_H_
#define _ICHAIN_H_ #define _ICHAIN_H_
typedef struct typedef struct {
{
u32 cont: 1; u32 cont: 1;
u32 type: 4; u32 type: 4;
u32 offset: 11; u32 offset: 11;
@ -11,8 +10,7 @@ typedef struct
#define OFFSETOF(structure, member) ((size_t)&(((structure*)0)->member)) #define OFFSETOF(structure, member) ((size_t)&(((structure*)0)->member))
typedef enum typedef enum {
{
/* 0x0 */ ICHAINTYPE_U8, // sets byte /* 0x0 */ ICHAINTYPE_U8, // sets byte
/* 0x1 */ ICHAINTYPE_S8, /* 0x1 */ ICHAINTYPE_S8,
/* 0x2 */ ICHAINTYPE_U16, // sets short /* 0x2 */ ICHAINTYPE_U16, // sets short

View file

@ -6,8 +6,7 @@
#include <ultra64/controller.h> #include <ultra64/controller.h>
typedef struct typedef struct {
{
/* 0x0000 */ OSContStatus pad_status[4]; /* 0x0000 */ OSContStatus pad_status[4];
/* 0x0010 */ OSMesg msgbuf1[1]; /* 0x0010 */ OSMesg msgbuf1[1];
/* 0x0014 */ OSMesg msgbuf2[1]; /* 0x0014 */ OSMesg msgbuf2[1];
@ -38,4 +37,4 @@ typedef struct
} PadMgr; // size = 0x468 } PadMgr; // size = 0x468
#endif //_PADMGR_H_ #endif

View file

@ -13,8 +13,7 @@
#define OS_SC_RCP_MASK 0x0003 #define OS_SC_RCP_MASK 0x0003
#define OS_SC_TYPE_MASK 0x0007 #define OS_SC_TYPE_MASK 0x0007
typedef struct OSScTask typedef struct OSScTask {
{
/* 0x00 */ struct OSScTask* next; /* 0x00 */ struct OSScTask* next;
/* 0x04 */ u32 state; /* 0x04 */ u32 state;
/* 0x08 */ u32 flags; /* 0x08 */ u32 flags;
@ -24,14 +23,12 @@ typedef struct OSScTask
/* 0x54 */ OSMesg msg; /* 0x54 */ OSMesg msg;
} OSScTask; } OSScTask;
typedef struct typedef struct {
{
/* 0x00 */ char unk_00[0x12]; /* 0x00 */ char unk_00[0x12];
/* 0x12 */ s8 unk_12; /* 0x12 */ s8 unk_12;
} struct_800C8BC4; } struct_800C8BC4;
typedef struct typedef struct {
{
/* 0x0000 */ OSMesgQueue interruptQ; /* 0x0000 */ OSMesgQueue interruptQ;
/* 0x0018 */ OSMesg intBuf[8]; /* 0x0018 */ OSMesg intBuf[8];
/* 0x0038 */ OSMesgQueue cmdQ; /* 0x0038 */ OSMesgQueue cmdQ;

View file

@ -1091,5 +1091,4 @@ DECLARE_ROM_SEGMENT(testroom_room_2)
DECLARE_ROM_SEGMENT(testroom_room_3) DECLARE_ROM_SEGMENT(testroom_room_3)
DECLARE_ROM_SEGMENT(testroom_room_4) DECLARE_ROM_SEGMENT(testroom_room_4)
#endif #endif

View file

@ -1,14 +1,12 @@
#ifndef _STDLIB_H_ #ifndef _STDLIB_H_
#define _STDLIB_H_ #define _STDLIB_H_
typedef struct lldiv_t typedef struct lldiv_t {
{
long long quot; long long quot;
long long rem; long long rem;
} lldiv_t; } lldiv_t;
typedef struct ldiv_t typedef struct ldiv_t {
{
long quot; long quot;
long rem; long rem;
} ldiv_t; } ldiv_t;

View file

@ -1,6 +1,8 @@
#ifndef _STRING_H_ #ifndef _STRING_H_
#define _STRING_H_ #define _STRING_H_
#include <ultra64/types.h> #include <ultra64/types.h>
void* memcpy(void*, const void*, size_t); void* memcpy(void*, const void*, size_t);
size_t strlen(const u8* str); size_t strlen(const u8* str);
const u8* strchr(const u8* str, s32 ch); const u8* strchr(const u8* str, s32 ch);

View file

@ -24,15 +24,13 @@ typedef double f64;
typedef long int Mtx_t[4][4]; typedef long int Mtx_t[4][4];
typedef union typedef union {
{
Mtx_t m; Mtx_t m;
long long int forc_structure_alignment; long long int forc_structure_alignment;
} Mtx; } Mtx;
typedef float MtxF_t[4][4]; typedef float MtxF_t[4][4];
typedef union typedef union {
{
MtxF_t mf; MtxF_t mf;
struct struct
{ {

View file

@ -31,25 +31,22 @@
// Game Info aka. Static Context (dbg ram start: 80210A10) // Game Info aka. Static Context (dbg ram start: 80210A10)
// Data normally accessed through REG macros (see regs.h) // Data normally accessed through REG macros (see regs.h)
typedef struct typedef struct {
{
/* 0x00 */ s32 regPage; // 1 is first page /* 0x00 */ s32 regPage; // 1 is first page
/* 0x04 */ s32 regGroup; // "register" group (R, RS, RO, RP etc.) /* 0x04 */ s32 regGroup; // "register" group (R, RS, RO, RP etc.)
/* 0x08 */ s32 regCur; // selected register within page /* 0x08 */ s32 regCur; // selected register within page
/* 0x0C */ s32 dpadLast; /* 0x0C */ s32 dpadLast;
/* 0x10 */ s32 repeat; /* 0x10 */ s32 repeat;
/* 0x14 */ s16 data[REG_GROUPS * REG_PER_GROUP]; //0xAE0 /* 0x14 */ s16 data[REG_GROUPS * REG_PER_GROUP]; // 0xAE0 bytes
} GameInfo; // size = 0x15D4 } GameInfo; // size = 0x15D4
typedef struct typedef struct {
{
/* 0x00 */ u8 button_items[4]; /* 0x00 */ u8 button_items[4];
/* 0x04 */ u8 c_button_slots[3]; /* 0x04 */ u8 c_button_slots[3];
/* 0x08 */ u16 equipment; /* 0x08 */ u16 equipment;
} ItemEquips; // size = 0x0A } ItemEquips; // size = 0x0A
typedef struct typedef struct {
{
/* 0x00 */ u32 chest; /* 0x00 */ u32 chest;
/* 0x04 */ u32 swch; /* 0x04 */ u32 swch;
/* 0x08 */ u32 clear; /* 0x08 */ u32 clear;
@ -59,15 +56,13 @@ typedef struct
/* 0x18 */ u32 rooms_2; /* 0x18 */ u32 rooms_2;
} SaveSceneFlags; // size = 0x1C } SaveSceneFlags; // size = 0x1C
typedef struct typedef struct {
{
/* 0x00 */ s16 scene; /* 0x00 */ s16 scene;
/* 0x02 */ Vec3s pos; /* 0x02 */ Vec3s pos;
/* 0x08 */ s16 angle; /* 0x08 */ s16 angle;
} HorseData; // size = 0x0A } HorseData; // size = 0x0A
typedef struct typedef struct {
{
/* 0x00 */ Vec3f pos; /* 0x00 */ Vec3f pos;
/* 0x0C */ s16 yaw; /* 0x0C */ s16 yaw;
/* 0x0E */ s16 player_params; /* 0x0E */ s16 player_params;
@ -78,22 +73,19 @@ typedef struct
/* 0x18 */ u32 temp_collect_flags; /* 0x18 */ u32 temp_collect_flags;
} RespawnData; // size = 0x1C } RespawnData; // size = 0x1C
typedef enum typedef enum {
{
/* 0x00 */ RESPAWN_MODE_DOWN, /* Normal Void Outs */ /* 0x00 */ RESPAWN_MODE_DOWN, /* Normal Void Outs */
/* 0x01 */ RESPAWN_MODE_RETURN, /* Grotto Returnpoints */ /* 0x01 */ RESPAWN_MODE_RETURN, /* Grotto Returnpoints */
/* 0x02 */ RESPAWN_MODE_TOP /* Farore's Wind */ /* 0x02 */ RESPAWN_MODE_TOP /* Farore's Wind */
} RespawnMode; } RespawnMode;
typedef enum typedef enum {
{
/* 0x00 */ BTN_ENABLED, /* 0x00 */ BTN_ENABLED,
/* 0xFF */ BTN_DISABLED = 0xFF /* 0xFF */ BTN_DISABLED = 0xFF
} ButtonStatus; } ButtonStatus;
// Save Context (dbg ram start: 8015E660) // Save Context (dbg ram start: 8015E660)
typedef struct typedef struct {
{
/* 0x0000 */ s32 entrance_index; /* 0x0000 */ s32 entrance_index;
/* 0x0004 */ s32 link_age; // 0: Adult; 1: Child /* 0x0004 */ s32 link_age; // 0: Adult; 1: Child
/* 0x0008 */ s32 cutscene_index; /* 0x0008 */ s32 cutscene_index;
@ -133,8 +125,7 @@ typedef struct
/* 0x00CF */ s8 defense_hearts; /* 0x00CF */ s8 defense_hearts;
/* 0x00D0 */ s16 gs_tokens; /* 0x00D0 */ s16 gs_tokens;
/* 0x00D4 */ SaveSceneFlags scene_flags[124]; /* 0x00D4 */ SaveSceneFlags scene_flags[124];
struct struct {
{
/* 0x0E64 */ s32 pos_x; /* 0x0E64 */ s32 pos_x;
/* 0x0E68 */ s32 pos_y; /* 0x0E68 */ s32 pos_y;
/* 0x0E6C */ s32 pos_z; /* 0x0E6C */ s32 pos_z;
@ -217,8 +208,7 @@ typedef struct
/* 0x1424 */ s16 health_accumulator; /* 0x1424 */ s16 health_accumulator;
} SaveContext; // size = 0x1428 } SaveContext; // size = 0x1428
typedef struct typedef struct {
{
/* 0x00000 */ u16 headMagic; // 1234 /* 0x00000 */ u16 headMagic; // 1234
/* 0x00008 */ Gfx polyOpaBuffer[0x17E0]; /* 0x00008 */ Gfx polyOpaBuffer[0x17E0];
/* 0x0BF08 */ Gfx polyXluBuffer[0x800]; /* 0x0BF08 */ Gfx polyXluBuffer[0x800];
@ -228,24 +218,21 @@ typedef struct
/* 0x12408 */ u16 tailMagic; // 5678 /* 0x12408 */ u16 tailMagic; // 5678
} GfxPool; // size = 0x12410 } GfxPool; // size = 0x12410
typedef struct typedef struct {
{
/* 0x0000 */ u32 size; /* 0x0000 */ u32 size;
/* 0x0004 */ u8* bufp; /* 0x0004 */ u8* bufp;
/* 0x0008 */ u8* head; /* 0x0008 */ u8* head;
/* 0x000C */ u8* tail; /* 0x000C */ u8* tail;
} TwoHeadArena; // size = 0x10 } TwoHeadArena; // size = 0x10
typedef struct typedef struct {
{
/* 0x0000 */ u32 size; /* 0x0000 */ u32 size;
/* 0x0004 */ Gfx* bufp; /* 0x0004 */ Gfx* bufp;
/* 0x0008 */ Gfx* p; /* 0x0008 */ Gfx* p;
/* 0x000C */ Gfx* d; /* 0x000C */ Gfx* d;
} TwoHeadGfxArena; // size = 0x10 } TwoHeadGfxArena; // size = 0x10
typedef struct typedef struct {
{
/* 0x0000 */ char unk_00[0x01B4]; /* 0x0000 */ char unk_00[0x01B4];
/* 0x01B4 */ TwoHeadGfxArena work; /* 0x01B4 */ TwoHeadGfxArena work;
/* 0x01C4 */ char unk_1C4[0x00E4]; /* 0x01C4 */ char unk_1C4[0x00E4];
@ -254,12 +241,9 @@ typedef struct
/* 0x02C8 */ TwoHeadGfxArena polyXlu; /* 0x02C8 */ TwoHeadGfxArena polyXlu;
} GraphicsContext; } GraphicsContext;
typedef struct typedef struct {
{ /* 0x00 */ union {
/* 0x00 */ union struct {
{
struct
{
u16 a : 1; u16 a : 1;
u16 b : 1; u16 b : 1;
u16 z : 1; u16 z : 1;
@ -282,8 +266,7 @@ typedef struct
/* 0x03 */ s8 y; /* 0x03 */ s8 y;
} RawInput; // size = 0x4 } RawInput; // size = 0x4
typedef struct typedef struct {
{
/* 0x00 */ RawInput raw; /* 0x00 */ RawInput raw;
/* 0x04 */ u16 status; /* 0x04 */ u16 status;
/* 0x06 */ RawInput rawPrev; /* 0x06 */ RawInput rawPrev;
@ -298,8 +281,7 @@ typedef struct
/* 0x16 */ char unk_16[0x02]; /* 0x16 */ char unk_16[0x02];
} Input; // size = 0x18 } Input; // size = 0x18
typedef struct typedef struct {
{
/* 0x0000 */ char unk_00[0x28]; /* 0x0000 */ char unk_00[0x28];
/* 0x0028 */ Vec3f eye; /* 0x0028 */ Vec3f eye;
/* 0x0034 */ char unk_34[0xEC]; /* 0x0034 */ char unk_34[0xEC];
@ -307,15 +289,13 @@ typedef struct
/* 0x0124 */ char unk_124[4]; /* 0x0124 */ char unk_124[4];
} View; // size = 0x128 } View; // size = 0x128
typedef struct typedef struct {
{
f32 unk_00; f32 unk_00;
s16 unk_04; s16 unk_04;
s16 unk_06; s16 unk_06;
} struct_80045714; // used in z_camera.c and code_8007BF90 } struct_80045714; // used in z_camera.c and code_8007BF90
typedef struct typedef struct {
{
/* 0x0000 */ s32 unk_00; /* 0x0000 */ s32 unk_00;
/* 0x0004 */ s16 unk_04; /* 0x0004 */ s16 unk_04;
/* 0x0006 */ s16 unk_06; /* 0x0006 */ s16 unk_06;
@ -372,49 +352,42 @@ typedef struct
/* 0x016A */ s16 unk_16A; // unknown if used /* 0x016A */ s16 unk_16A; // unknown if used
} Camera; // size = 0x16C } Camera; // size = 0x16C
typedef struct typedef struct {
{
/* 0x0000 */ Camera activeCameras[4]; /* 0x0000 */ Camera activeCameras[4];
/* 0x05B0 */ Camera* activeCameraPtrs[4]; /* 0x05B0 */ Camera* activeCameraPtrs[4];
/* 0x05C0 */ s16 unk_5C0; /* 0x05C0 */ s16 unk_5C0;
/* 0x05C2 */ s16 unk_5C2; /* 0x05C2 */ s16 unk_5C2;
} CameraContext; // size = 0x5C4 } CameraContext; // size = 0x5C4
typedef struct typedef struct {
{
/* 0x00 */ u8 musicSeq; /* 0x00 */ u8 musicSeq;
/* 0x01 */ u8 nighttimeSFX; /* 0x01 */ u8 nighttimeSFX;
/* 0x02 */ char unk_02[0x2]; /* 0x02 */ char unk_02[0x2];
} SoundContext; // size = 0x4 } SoundContext; // size = 0x4
typedef struct typedef struct {
{
/* 0x00 */ char unk_00[0x50]; /* 0x00 */ char unk_00[0x50];
} StaticCollisionContext; // size = 0x50 } StaticCollisionContext; // size = 0x50
typedef struct typedef struct {
{
/* 0x0000 */ char unk_00[0x04]; /* 0x0000 */ char unk_00[0x04];
/* 0x0004 */ ActorMesh actorMeshArr[50]; /* 0x0004 */ ActorMesh actorMeshArr[50];
/* 0x138C */ u16 flags[50]; /* 0x138C */ u16 flags[50];
/* 0x13F0 */ char unk_13F0[0x24]; /* 0x13F0 */ char unk_13F0[0x24];
} DynaCollisionContext; // size = 0x1414 } DynaCollisionContext; // size = 0x1414
typedef struct typedef struct {
{
/* 0x0000 */ StaticCollisionContext stat; /* 0x0000 */ StaticCollisionContext stat;
/* 0x0050 */ DynaCollisionContext dyna; /* 0x0050 */ DynaCollisionContext dyna;
} CollisionContext; // size = 0x1464 } CollisionContext; // size = 0x1464
typedef struct typedef struct {
{
/* 0x00 */ Vec3f pos; /* 0x00 */ Vec3f pos;
/* 0x0C */ f32 unk_0C; // radius? /* 0x0C */ f32 unk_0C; // radius?
/* 0x10 */ Color_RGB8 color; /* 0x10 */ Color_RGB8 color;
} TargetContextEntry; // size = 0x14 } TargetContextEntry; // size = 0x14
typedef struct typedef struct {
{
/* 0x00 */ Vec3f naviRefPos; // possibly wrong /* 0x00 */ Vec3f naviRefPos; // possibly wrong
/* 0x0C */ Vec3f targetCenterPos; /* 0x0C */ Vec3f targetCenterPos;
/* 0x18 */ Color_RGBAf naviInner; /* 0x18 */ Color_RGBAf naviInner;
@ -434,8 +407,7 @@ typedef struct
/* 0x94 */ Actor* unk_94; /* 0x94 */ Actor* unk_94;
} TargetContext; // size = 0x98 } TargetContext; // size = 0x98
typedef struct typedef struct {
{
/* 0x00 */ u32 texture; /* 0x00 */ u32 texture;
/* 0x04 */ s16 unk_4; /* 0x04 */ s16 unk_4;
/* 0x06 */ s16 unk_6; /* 0x06 */ s16 unk_6;
@ -447,14 +419,12 @@ typedef struct
/* 0x0E */ s16 unk_E; /* 0x0E */ s16 unk_E;
} TitleCardContext; // size = 0x10 } TitleCardContext; // size = 0x10
typedef struct typedef struct {
{
/* 0x00 */ u32 length; // number of actors loaded of this type /* 0x00 */ u32 length; // number of actors loaded of this type
/* 0x04 */ Actor* first; // pointer to first actor of this type /* 0x04 */ Actor* first; // pointer to first actor of this type
} ActorListEntry; // size = 0x08 } ActorListEntry; // size = 0x08
typedef struct typedef struct {
{
/* 0x0000 */ u8 unk_00; /* 0x0000 */ u8 unk_00;
/* 0x0001 */ char unk_01[0x01]; /* 0x0001 */ char unk_01[0x01];
/* 0x0002 */ u8 unk_02; /* 0x0002 */ u8 unk_02;
@ -464,8 +434,7 @@ typedef struct
/* 0x0009 */ char unk_09[0x03]; /* 0x0009 */ char unk_09[0x03];
/* 0x000C */ ActorListEntry actorList[12]; /* 0x000C */ ActorListEntry actorList[12];
/* 0x006C */ TargetContext targetCtx; /* 0x006C */ TargetContext targetCtx;
struct struct {
{
/* 0x0104 */ u32 swch; /* 0x0104 */ u32 swch;
/* 0x0108 */ u32 tempSwch; /* 0x0108 */ u32 tempSwch;
/* 0x010C */ u32 unk0; /* 0x010C */ u32 unk0;
@ -481,19 +450,16 @@ typedef struct
/* 0x013C */ void* absoluteSpace; // Space used to allocate actor overlays of alloc type 1 /* 0x013C */ void* absoluteSpace; // Space used to allocate actor overlays of alloc type 1
} ActorContext; // size = 0x140 } ActorContext; // size = 0x140
typedef struct typedef struct {
{
/* 0x00 */ char unk_00[0x4]; /* 0x00 */ char unk_00[0x4];
/* 0x04 */ void* segment; /* 0x04 */ void* segment;
/* 0x08 */ u8 state; /* 0x08 */ u8 state;
/* 0x0C */ f32 unk_0C; /* 0x0C */ f32 unk_0C;
/* 0x10 */ u16 frames; /* 0x10 */ u16 frames;
/* 0x12 */ u16 unk_12; /* 0x12 */ u16 unk_12;
union union {
{
/* 0x14 */ s32 unk_14_all; /* 0x14 */ s32 unk_14_all;
struct struct {
{
s16 unk_14; s16 unk_14;
s16 unk_16; s16 unk_16;
}; };
@ -507,8 +473,7 @@ typedef struct
/* 0x28 */ CsCmdActorAction* actorActions[10]; /* 0x28 */ CsCmdActorAction* actorActions[10];
} CutsceneContext; // size = 0x50 } CutsceneContext; // size = 0x50
typedef struct typedef struct {
{
/* 0x0000 */ View view; /* 0x0000 */ View view;
/* 0x0128 */ char unk_128[0xE188]; /* 0x0128 */ char unk_128[0xE188];
/* 0xE2B0 */ void* textboxSegment; // "fukidashiSegment" /* 0xE2B0 */ void* textboxSegment; // "fukidashiSegment"
@ -534,8 +499,7 @@ typedef struct
/* 0xE40E */ char unk_E40E[0x0A]; /* 0xE40E */ char unk_E40E[0x0A];
} MessageContext; // size = 0xE418 } MessageContext; // size = 0xE418
typedef struct typedef struct {
{
/* 0x00 */ u32 vromAddr; // VROM address (source) /* 0x00 */ u32 vromAddr; // VROM address (source)
/* 0x04 */ void* dramAddr; // DRAM address (destination) /* 0x04 */ void* dramAddr; // DRAM address (destination)
/* 0x08 */ u32 size; // File Transfer size /* 0x08 */ u32 size; // File Transfer size
@ -546,8 +510,7 @@ typedef struct
/* 0x1C */ OSMesg notifyMsg; // Completion notification message /* 0x1C */ OSMesg notifyMsg; // Completion notification message
} DmaRequest; // size = 0x20 } DmaRequest; // size = 0x20
typedef struct typedef struct {
{
/* 0x0000 */ View view; /* 0x0000 */ View view;
/* 0x0128 */ Vtx* vtx_128; /* 0x0128 */ Vtx* vtx_128;
/* 0x012C */ Vtx* vtx_12C; /* 0x012C */ Vtx* vtx_12C;
@ -602,8 +565,7 @@ typedef struct
/* 0x025E */ char unk_25E[0x002]; /* 0x025E */ char unk_25E[0x002];
/* 0x0260 */ u8 unk_260; /* 0x0260 */ u8 unk_260;
/* 0x0261 */ u8 unk_261; /* 0x0261 */ u8 unk_261;
struct struct {
{
/* 0x0262 */ u8 hGauge; // "h_gage"; unknown? /* 0x0262 */ u8 hGauge; // "h_gage"; unknown?
/* 0x0263 */ u8 bButton; // "b_button" /* 0x0263 */ u8 bButton; // "b_button"
/* 0x0264 */ u8 aButton; // "a_button" /* 0x0264 */ u8 aButton; // "a_button"
@ -619,8 +581,7 @@ typedef struct
} restrictions; } restrictions;
} InterfaceContext; // size = 0x270 } InterfaceContext; // size = 0x270
typedef struct typedef struct {
{
/* 0x0000 */ View view; /* 0x0000 */ View view;
/* 0x0128 */ void* unk_128; /* 0x0128 */ void* unk_128;
/* 0x012C */ char unk_12C[0x03C]; /* 0x012C */ char unk_12C[0x03C];
@ -645,8 +606,7 @@ typedef struct
/* 0x025A */ char unk_25A[0x066]; /* 0x025A */ char unk_25A[0x066];
} PauseContext; // size = 0x2C0 } PauseContext; // size = 0x2C0
typedef struct typedef struct {
{
/* 0x00 */ s16 id; /* 0x00 */ s16 id;
/* 0x04 */ void* segment; /* 0x04 */ void* segment;
/* 0x08 */ DmaRequest dmaRequest; /* 0x08 */ DmaRequest dmaRequest;
@ -654,8 +614,7 @@ typedef struct
/* 0x40 */ OSMesg loadMsg; /* 0x40 */ OSMesg loadMsg;
} ObjectStatus; // size = 0x44 } ObjectStatus; // size = 0x44
typedef struct typedef struct {
{
/* 0x0000 */ void* spaceStart; /* 0x0000 */ void* spaceStart;
/* 0x0004 */ void* spaceEnd; // original name: "endSegment" /* 0x0004 */ void* spaceEnd; // original name: "endSegment"
/* 0x0008 */ u8 num; // number of objects in bank /* 0x0008 */ u8 num; // number of objects in bank
@ -665,30 +624,26 @@ typedef struct
/* 0x000C */ ObjectStatus status[OBJECT_EXCHANGE_BANK_MAX]; /* 0x000C */ ObjectStatus status[OBJECT_EXCHANGE_BANK_MAX];
} ObjectContext; // size = 0x514 } ObjectContext; // size = 0x514
typedef struct typedef struct {
{
/* 0x00 */ Gfx* opa; /* 0x00 */ Gfx* opa;
/* 0x04 */ Gfx* xlu; /* 0x04 */ Gfx* xlu;
} PolygonDlist; // size = 0x8 } PolygonDlist; // size = 0x8
typedef struct typedef struct {
{
/* 0x00 */ u8 type; /* 0x00 */ u8 type;
/* 0x01 */ u8 num; // number of dlist entries /* 0x01 */ u8 num; // number of dlist entries
/* 0x04 */ void* start; /* 0x04 */ void* start;
/* 0x08 */ void* end; /* 0x08 */ void* end;
} Polygon; // size = 0xC } Polygon; // size = 0xC
typedef struct typedef struct {
{
/* 0x00 */ u8 type; /* 0x00 */ u8 type;
/* 0x01 */ u8 num; // number of dlist entries /* 0x01 */ u8 num; // number of dlist entries
/* 0x04 */ void* start; /* 0x04 */ void* start;
/* 0x08 */ void* end; /* 0x08 */ void* end;
} PolygonType0; // size = 0xC } PolygonType0; // size = 0xC
typedef struct typedef struct {
{
/* 0x00 */ u16 unk_00; /* 0x00 */ u16 unk_00;
/* 0x02 */ u8 id; /* 0x02 */ u8 id;
/* 0x04 */ u32 source; /* 0x04 */ u32 source;
@ -702,15 +657,12 @@ typedef struct
/* 0x18 */ u16 tlutCount; /* 0x18 */ u16 tlutCount;
} BgImage; // size = 0x1C } BgImage; // size = 0x1C
typedef struct typedef struct {
{
/* 0x00 */ u8 type; /* 0x00 */ u8 type;
/* 0x01 */ u8 format; // 1 = single, 2 = multi /* 0x01 */ u8 format; // 1 = single, 2 = multi
/* 0x04 */ void* dlist; /* 0x04 */ void* dlist;
union union {
{ struct {
struct
{
/* 0x08 */ u32 source; /* 0x08 */ u32 source;
/* 0x0C */ u32 unk_0C; /* 0x0C */ u32 unk_0C;
/* 0x10 */ u32 tlut; /* 0x10 */ u32 tlut;
@ -721,40 +673,35 @@ typedef struct
/* 0x1A */ u16 mode0; /* 0x1A */ u16 mode0;
/* 0x1C */ u16 tlutCount; /* 0x1C */ u16 tlutCount;
} single; } single;
struct struct {
{
/* 0x08 */ u8 count; /* 0x08 */ u8 count;
/* 0x0C */ BgImage* list; /* 0x0C */ BgImage* list;
} multi; } multi;
}; };
} PolygonType1; } PolygonType1;
typedef struct typedef struct {
{
/* 0x00 */ Vec3s pos; /* 0x00 */ Vec3s pos;
/* 0x06 */ s16 unk_06; /* 0x06 */ s16 unk_06;
/* 0x08 */ Gfx* opa; /* 0x08 */ Gfx* opa;
/* 0x0C */ Gfx* xlu; /* 0x0C */ Gfx* xlu;
} PolygonDlist2; // size = 0x8 } PolygonDlist2; // size = 0x8
typedef struct typedef struct {
{
/* 0x00 */ u8 type; /* 0x00 */ u8 type;
/* 0x01 */ u8 num; // number of dlist entries /* 0x01 */ u8 num; // number of dlist entries
/* 0x04 */ void* start; /* 0x04 */ void* start;
/* 0x08 */ void* end; /* 0x08 */ void* end;
} PolygonType2; // size = 0xC } PolygonType2; // size = 0xC
typedef union typedef union {
{
Polygon polygon; Polygon polygon;
PolygonType0 polygon0; PolygonType0 polygon0;
PolygonType1 polygon1; PolygonType1 polygon1;
PolygonType2 polygon2; PolygonType2 polygon2;
} Mesh; // "Ground Shape" } Mesh; // "Ground Shape"
typedef struct typedef struct {
{
/* 0x00 */ s8 num; /* 0x00 */ s8 num;
/* 0x01 */ u8 unk_01; /* 0x01 */ u8 unk_01;
/* 0x02 */ u8 unk_02; /* 0x02 */ u8 unk_02;
@ -766,8 +713,7 @@ typedef struct
/* 0x10 */ char unk_10[0x4]; /* 0x10 */ char unk_10[0x4];
} Room; // size = 0x14 } Room; // size = 0x14
typedef struct typedef struct {
{
/* 0x00 */ Room curRoom; /* 0x00 */ Room curRoom;
/* 0x14 */ Room prevRoom; /* 0x14 */ Room prevRoom;
/* 0x28 */ void* bufPtrs[2]; /* 0x28 */ void* bufPtrs[2];
@ -779,21 +725,18 @@ typedef struct
/* 0x70 */ OSMesg loadMsg; /* 0x70 */ OSMesg loadMsg;
} RoomContext; // size = 0x74 } RoomContext; // size = 0x74
typedef struct typedef struct {
{
/* 0x00 */ char unk_00[0x028C]; /* 0x00 */ char unk_00[0x028C];
} SubGlobalContext11E60; // size = 0x28C } SubGlobalContext11E60; // size = 0x28C
typedef struct typedef struct {
{
/* 0x00 */ s16 id; /* 0x00 */ s16 id;
/* 0x02 */ Vec3s pos; /* 0x02 */ Vec3s pos;
/* 0x08 */ Vec3s rot; /* 0x08 */ Vec3s rot;
/* 0x0E */ s16 params; /* 0x0E */ s16 params;
} ActorEntry; // size = 0x10 } ActorEntry; // size = 0x10
typedef struct typedef struct {
{
/* 0x00 */ s8 frontRoom; // Room to switch to when triggered from the front of the object /* 0x00 */ s8 frontRoom; // Room to switch to when triggered from the front of the object
/* 0x01 */ s8 frontEffects; // How the camera reacts during the front transition /* 0x01 */ s8 frontEffects; // How the camera reacts during the front transition
/* 0x02 */ s8 backRoom; // Room to switch to when triggered from the back of the object /* 0x02 */ s8 backRoom; // Room to switch to when triggered from the back of the object
@ -804,39 +747,33 @@ typedef struct
/* 0x0E */ s16 params; /* 0x0E */ s16 params;
} TransitionActorEntry; // size = 0x10 } TransitionActorEntry; // size = 0x10
typedef struct typedef struct {
{
/* 0x00 */ u8 spawn; /* 0x00 */ u8 spawn;
/* 0x01 */ u8 room; /* 0x01 */ u8 room;
} EntranceEntry; } EntranceEntry;
typedef struct typedef struct {
{
/* 0x00 */ u32 vromStart; /* 0x00 */ u32 vromStart;
/* 0x04 */ u32 vromEnd; /* 0x04 */ u32 vromEnd;
} RomFile; // size = 0x8 } RomFile; // size = 0x8
typedef struct typedef struct {
{
/* 0x00 */ void* read_buff; /* 0x00 */ void* read_buff;
} Sram; // size = 0x4 } Sram; // size = 0x4
typedef struct GameAllocEntry typedef struct GameAllocEntry {
{
/* 0x00 */ struct GameAllocEntry* next; /* 0x00 */ struct GameAllocEntry* next;
/* 0x04 */ struct GameAllocEntry* prev; /* 0x04 */ struct GameAllocEntry* prev;
/* 0x08 */ u32 size; /* 0x08 */ u32 size;
/* 0x0C */ u32 unk_0C; /* 0x0C */ u32 unk_0C;
} GameAllocEntry; // size = 0x10 } GameAllocEntry; // size = 0x10
typedef struct typedef struct {
{
/* 0x00 */ GameAllocEntry base; /* 0x00 */ GameAllocEntry base;
/* 0x10 */ GameAllocEntry* head; /* 0x10 */ GameAllocEntry* head;
} GameAlloc; // size = 0x14 } GameAlloc; // size = 0x14
typedef struct GameState typedef struct GameState {
{
/* 0x00 */ GraphicsContext* gfxCtx; /* 0x00 */ GraphicsContext* gfxCtx;
/* 0x04 */ void (*main)(struct GameState*); /* 0x04 */ void (*main)(struct GameState*);
/* 0x08 */ void (*destroy)(struct GameState*); // "cleanup" /* 0x08 */ void (*destroy)(struct GameState*); // "cleanup"
@ -850,8 +787,7 @@ typedef struct GameState
/* 0xA0 */ u32 unk_A0; /* 0xA0 */ u32 unk_A0;
} GameState; // size = 0xA4 } GameState; // size = 0xA4
typedef struct typedef struct {
{
/* 0x0000 */ GameState state; /* 0x0000 */ GameState state;
/* 0x00A4 */ void* staticSegment; /* 0x00A4 */ void* staticSegment;
/* 0x00A8 */ View view; /* 0x00A8 */ View view;
@ -875,8 +811,7 @@ typedef struct
} SampleContext; } SampleContext;
// Global Context (dbg ram start: 80212020) // Global Context (dbg ram start: 80212020)
typedef struct GlobalContext typedef struct GlobalContext {
{
/* 0x00000 */ GameState state; /* 0x00000 */ GameState state;
/* 0x000A4 */ s16 sceneNum; /* 0x000A4 */ s16 sceneNum;
/* 0x000A6 */ u8 sceneConfig; /* 0x000A6 */ u8 sceneConfig;
@ -997,22 +932,19 @@ typedef struct GlobalContext
/* 0x12430 */ char unk_12430[0xE8]; /* 0x12430 */ char unk_12430[0xE8];
} GlobalContext; // size = 0x12518 } GlobalContext; // size = 0x12518
typedef struct typedef struct {
{
/* 0x0000 */ GameState state; /* 0x0000 */ GameState state;
/* 0x00A4 */ char unk_A4[4]; /* 0x00A4 */ char unk_A4[4];
/* 0x00A8 */ View view; /* 0x00A8 */ View view;
} OpeningContext; // size = 0x1D0 } OpeningContext; // size = 0x1D0
typedef enum typedef enum {
{
DPM_UNK = 0, DPM_UNK = 0,
DPM_PLAYER = 1, DPM_PLAYER = 1,
DPM_ENEMY = 2 DPM_ENEMY = 2
} DynaPolyMoveFlag; } DynaPolyMoveFlag;
typedef struct LoadedParticleEntry typedef struct LoadedParticleEntry {
{
/* 0x0000 */ Vec3f position; /* 0x0000 */ Vec3f position;
/* 0x000C */ Vec3f velocity; /* 0x000C */ Vec3f velocity;
/* 0x0018 */ Vec3f acceleration; /* 0x0018 */ Vec3f acceleration;
@ -1031,8 +963,7 @@ typedef struct LoadedParticleEntry
} LoadedParticleEntry; // size = 0x60 } LoadedParticleEntry; // size = 0x60
// Some animation related structure // Some animation related structure
typedef struct typedef struct {
{
/* 0x00 */ u32 animation; /* 0x00 */ u32 animation;
/* 0x04 */ f32 playbackSpeed; /* 0x04 */ f32 playbackSpeed;
/* 0x08 */ f32 unk_08; /* 0x08 */ f32 unk_08;
@ -1041,8 +972,7 @@ typedef struct
/* 0x14 */ f32 transitionRate; /* 0x14 */ f32 transitionRate;
} struct_80034EC0_Entry; // size = 0x18 } struct_80034EC0_Entry; // size = 0x18
typedef struct typedef struct {
{
/* 0x00 */ u8 limbCount; /* 0x00 */ u8 limbCount;
/* 0x01 */ char unk_01[0x01]; /* 0x01 */ char unk_01[0x01];
/* 0x02 */ u8 dListCount; /* 0x02 */ u8 dListCount;
@ -1067,14 +997,12 @@ typedef struct
/* 0x42 */ u16 unk_42; /* 0x42 */ u16 unk_42;
} SkelAnime; // size = 0x44 } SkelAnime; // size = 0x44
typedef struct typedef struct {
{
/* 0x00 */ u32 unk_00; /* 0x00 */ u32 unk_00;
/* 0x04 */ u32(*init)(GlobalContext*, u32, LoadedParticleEntry*, void*); /* 0x04 */ u32(*init)(GlobalContext*, u32, LoadedParticleEntry*, void*);
} ParticleOverlayInfo; } ParticleOverlayInfo;
typedef struct typedef struct {
{
/* 0x00 */ u32 vromStart; /* 0x00 */ u32 vromStart;
/* 0x04 */ u32 vromEnd; /* 0x04 */ u32 vromEnd;
/* 0x0C */ void* vramStart; /* 0x0C */ void* vramStart;
@ -1084,15 +1012,13 @@ typedef struct
/* 0x18 */ u32 unk_18; // Always 0x01000000? /* 0x18 */ u32 unk_18; // Always 0x01000000?
} ParticleOverlay; } ParticleOverlay;
typedef struct typedef struct {
{
/* 0x00 */ LoadedParticleEntry* data_table; // Name from debug assert /* 0x00 */ LoadedParticleEntry* data_table; // Name from debug assert
/* 0x04 */ s32 searchIndex; /* 0x04 */ s32 searchIndex;
/* 0x08 */ s32 size; /* 0x08 */ s32 size;
} EffectTableInfo; } EffectTableInfo;
typedef struct typedef struct {
{
/* 0x00 */ s8 scene; /* 0x00 */ s8 scene;
/* 0x01 */ s8 spawn; /* 0x01 */ s8 spawn;
/* 0x02 */ u16 continueBgm : 1; /* 0x02 */ u16 continueBgm : 1;
@ -1101,8 +1027,7 @@ typedef struct
/* 0x02 */ u16 fadeOutTransition : 7; /* 0x02 */ u16 fadeOutTransition : 7;
} EntranceInfo; // size = 0x4 } EntranceInfo; // size = 0x4
typedef struct typedef struct {
{
/* 0x00 */ void* loadedRamAddr; /* 0x00 */ void* loadedRamAddr;
/* 0x04 */ u32 vromStart; // if applicable /* 0x04 */ u32 vromStart; // if applicable
/* 0x08 */ u32 vromEnd; // if applicable /* 0x08 */ u32 vromEnd; // if applicable
@ -1117,21 +1042,18 @@ typedef struct
/* 0x2C */ u32 instanceSize; /* 0x2C */ u32 instanceSize;
} GameStateOverlay; // size = 0x30 } GameStateOverlay; // size = 0x30
typedef struct PreNMIContext typedef struct PreNMIContext {
{
/* 0x00 */ GameState state; /* 0x00 */ GameState state;
/* 0xA4 */ u32 timer; /* 0xA4 */ u32 timer;
/* 0xA8 */ UNK_TYPE unk_A8; /* 0xA8 */ UNK_TYPE unk_A8;
} PreNMIContext; // size = 0xAC } PreNMIContext; // size = 0xAC
typedef struct typedef struct {
{
/* 0x00 */ s8 chestFlag; // chest icon is only displayed if this flag is not set for the current room /* 0x00 */ s8 chestFlag; // chest icon is only displayed if this flag is not set for the current room
/* 0x01 */ u8 x, y; // coordinates to place the icon (top-left corner), relative to the minimap texture /* 0x01 */ u8 x, y; // coordinates to place the icon (top-left corner), relative to the minimap texture
} MapMarkPoint; // size = 0x3 } MapMarkPoint; // size = 0x3
typedef struct typedef struct {
{
/* 0x00 */ s8 markType; // 0 for the chest icon, 1 for the boss skull icon, -1 for none /* 0x00 */ s8 markType; // 0 for the chest icon, 1 for the boss skull icon, -1 for none
/* 0x01 */ u8 count; // number of icons to display /* 0x01 */ u8 count; // number of icons to display
/* 0x02 */ MapMarkPoint points[12]; /* 0x02 */ MapMarkPoint points[12];
@ -1139,8 +1061,7 @@ typedef struct
typedef MapMarkData MapMarksData[3]; // size = 0x72 typedef MapMarkData MapMarksData[3]; // size = 0x72
typedef struct DebugDispObject typedef struct DebugDispObject {
{
/* 0x00 */ Vec3f pos; /* 0x00 */ Vec3f pos;
/* 0x0C */ Vec3s rot; /* 0x0C */ Vec3s rot;
/* 0x14 */ Vec3f scale; /* 0x14 */ Vec3f scale;
@ -1149,8 +1070,7 @@ typedef struct DebugDispObject
/* 0x28 */ struct DebugDispObject* next; /* 0x28 */ struct DebugDispObject* next;
} DebugDispObject; // size = 0x2C } DebugDispObject; // size = 0x2C
typedef struct typedef struct {
{
/* 0x00 */ Vec3s colAbsMin; /* 0x00 */ Vec3s colAbsMin;
/* 0x06 */ Vec3s colAbsMax; /* 0x06 */ Vec3s colAbsMax;
/* 0x0C */ s16 nbVertices; /* 0x0C */ s16 nbVertices;
@ -1163,30 +1083,26 @@ typedef struct
/* 0x28 */ void* waterBoxes; /* 0x28 */ void* waterBoxes;
} CollisionHeader; } CollisionHeader;
typedef enum typedef enum {
{
MTXMODE_NEW, // generates a new matrix MTXMODE_NEW, // generates a new matrix
MTXMODE_APPLY // applies transformation to the current matrix MTXMODE_APPLY // applies transformation to the current matrix
} MatrixMode; } MatrixMode;
typedef struct FaultClient typedef struct FaultClient {
{
struct FaultClient* next; struct FaultClient* next;
u32 callback; u32 callback;
u32 param1; u32 param1;
u32 param2; u32 param2;
} FaultClient; } FaultClient;
typedef struct FaultAddrConvClient typedef struct FaultAddrConvClient {
{
struct FaultAddrConvClient* next; struct FaultAddrConvClient* next;
u32 callback; u32 callback;
u32 param; u32 param;
} FaultAddrConvClient; } FaultAddrConvClient;
typedef struct typedef struct {
{
u32 (*callback)(u32, u32); u32 (*callback)(u32, u32);
u32 param0; u32 param0;
u32 param1; u32 param1;
@ -1195,8 +1111,7 @@ typedef struct
OSMesg msg; OSMesg msg;
} FaultClientContext; } FaultClientContext;
typedef struct FaultThreadStruct typedef struct FaultThreadStruct {
{
OSThread thread; OSThread thread;
u8 unk_1B0[0x600]; u8 unk_1B0[0x600];
OSMesgQueue queue; OSMesgQueue queue;
@ -1217,8 +1132,7 @@ typedef struct FaultThreadStruct
u8 unk_84C[4]; u8 unk_84C[4];
} FaultThreadStruct; } FaultThreadStruct;
typedef struct typedef struct {
{
u16* fb; u16* fb;
u16 w; u16 w;
u16 h; u16 h;
@ -1241,8 +1155,7 @@ typedef struct
void(*inputCallback)(); void(*inputCallback)();
} FaultDrawer; } FaultDrawer;
typedef struct GfxPrint typedef struct GfxPrint {
{
/* 0x00 */ struct GfxPrint*(*callback)(struct GfxPrint*, const char*, size_t); /* 0x00 */ struct GfxPrint*(*callback)(struct GfxPrint*, const char*, size_t);
/* 0x04 */ Gfx* dlist; /* 0x04 */ Gfx* dlist;
/* 0x08 */ u16 posX; /* 0x08 */ u16 posX;
@ -1253,8 +1166,7 @@ typedef struct GfxPrint
/* 0x10 */ Color_RGBA8 color; /* 0x10 */ Color_RGBA8 color;
} GfxPrint; } GfxPrint;
typedef enum typedef enum {
{
GFXPRINT_FLAG1 = 1, GFXPRINT_FLAG1 = 1,
GFXPRINT_USE_RGBA16 = 2, GFXPRINT_USE_RGBA16 = 2,
GFXPRINT_FLAG4 = 4, GFXPRINT_FLAG4 = 4,
@ -1263,8 +1175,7 @@ typedef enum
GFXPRINT_OPEN = 0x80 GFXPRINT_OPEN = 0x80
} GfxPrintFlag; } GfxPrintFlag;
typedef struct StackEntry typedef struct StackEntry {
{
/* 0x00 */ struct StackEntry* next; /* 0x00 */ struct StackEntry* next;
/* 0x04 */ struct StackEntry* prev; /* 0x04 */ struct StackEntry* prev;
/* 0x08 */ u32 head; /* 0x08 */ u32 head;
@ -1274,15 +1185,13 @@ typedef struct StackEntry
/* 0x18 */ const char* name; /* 0x18 */ const char* name;
} StackEntry; } StackEntry;
typedef enum typedef enum {
{
STACK_STATUS_OK = 0, STACK_STATUS_OK = 0,
STACK_STATUS_WARNING = 1, STACK_STATUS_WARNING = 1,
STACK_STATUS_OVERFLOW = 2 STACK_STATUS_OVERFLOW = 2
} StackStatus; } StackStatus;
typedef struct typedef struct {
{
/* 0x00 */ u32 magic; // IS64 /* 0x00 */ u32 magic; // IS64
/* 0x04 */ u32 get; /* 0x04 */ u32 get;
/* 0x08 */ u8 unk_08[0x14-0x08]; /* 0x08 */ u8 unk_08[0x14-0x08];
@ -1291,22 +1200,18 @@ typedef struct
/* 0x20 */ u8 data[0x10000-0x20]; /* 0x20 */ u8 data[0x10000-0x20];
} ISVDbg; } ISVDbg;
typedef struct typedef struct {
{
/* 0x00 */ u32 vromStart; /* 0x00 */ u32 vromStart;
/* 0x04 */ u32 vromEnd; /* 0x04 */ u32 vromEnd;
/* 0x08 */ u32 romStart; /* 0x08 */ u32 romStart;
/* 0x0C */ u32 romEnd; /* 0x0C */ u32 romEnd;
} DmaEntry; } DmaEntry;
typedef struct typedef struct {
{
char name[0x18]; char name[0x18];
u32 mediaFormat; u32 mediaFormat;
union union {
{ struct {
struct
{
u16 cartId; u16 cartId;
u8 countryCode; u8 countryCode;
u8 version; u8 version;
@ -1315,8 +1220,7 @@ typedef struct
}; };
} LocaleCartInfo; } LocaleCartInfo;
typedef struct typedef struct {
{
char magic[4]; // Yaz0 char magic[4]; // Yaz0
u32 decSize; u32 decSize;
u32 compInfoOffset; // only used in yaz0_old.c u32 compInfoOffset; // only used in yaz0_old.c
@ -1334,14 +1238,12 @@ typedef struct {
char misc[30]; char misc[30];
} OSScMsg; } OSScMsg;
typedef struct IrqMgrClient typedef struct IrqMgrClient {
{
struct IrqMgrClient* prev; struct IrqMgrClient* prev;
OSMesgQueue* queue; OSMesgQueue* queue;
} IrqMgrClient; } IrqMgrClient;
typedef struct typedef struct {
{
/* 0x000 */ OSScMsg retraceMsg; // this apparently got moved from OSSched /* 0x000 */ OSScMsg retraceMsg; // this apparently got moved from OSSched
/* 0x020 */ OSScMsg prenmiMsg; // this apparently got moved from OSSched /* 0x020 */ OSScMsg prenmiMsg; // this apparently got moved from OSSched
/* 0x040 */ OSScMsg nmiMsg; /* 0x040 */ OSScMsg nmiMsg;
@ -1357,8 +1259,7 @@ typedef struct
struct ArenaNode; struct ArenaNode;
typedef struct Arena typedef struct Arena {
{
/* 0x00 */ struct ArenaNode* head; /* 0x00 */ struct ArenaNode* head;
/* 0x04 */ void* start; /* 0x04 */ void* start;
/* 0x08 */ OSMesgQueue lock; /* 0x08 */ OSMesgQueue lock;
@ -1367,8 +1268,7 @@ typedef struct Arena
/* 0x22 */ u8 flag; /* 0x22 */ u8 flag;
} Arena; // size = 0x24 } Arena; // size = 0x24
typedef struct ArenaNode typedef struct ArenaNode {
{
/* 0x00 */ s16 magic; /* 0x00 */ s16 magic;
/* 0x02 */ s16 isFree; /* 0x02 */ s16 isFree;
/* 0x04 */ u32 size; /* 0x04 */ u32 size;
@ -1391,8 +1291,7 @@ typedef struct OverlayRelocationSection {
/* 0x14 */ u32 relocations[1]; /* 0x14 */ u32 relocations[1];
} OverlayRelocationSection; // size >= 0x18 } OverlayRelocationSection; // size >= 0x18
typedef struct typedef struct {
{
/* 0x00 */ void* loadedRamAddr; /* 0x00 */ void* loadedRamAddr;
/* 0x04 */ u32 vromStart; /* 0x04 */ u32 vromStart;
/* 0x08 */ u32 vromEnd; /* 0x08 */ u32 vromEnd;
@ -1406,14 +1305,12 @@ typedef struct
#define KALEIDO_OVL_PLAYER_ACTOR 1 #define KALEIDO_OVL_PLAYER_ACTOR 1
#define KALEIDO_OVL_COUNT 2 #define KALEIDO_OVL_COUNT 2
typedef struct ListAlloc typedef struct ListAlloc {
{
/* 0x00 */ struct ListAlloc* prev; /* 0x00 */ struct ListAlloc* prev;
/* 0x04 */ struct ListAlloc* next; /* 0x04 */ struct ListAlloc* next;
} ListAlloc; // size = 0x8 } ListAlloc; // size = 0x8
typedef struct typedef struct {
{
/* 0x00 */ u32 resetting; /* 0x00 */ u32 resetting;
/* 0x04 */ u32 resetCount; /* 0x04 */ u32 resetCount;
/* 0x08 */ OSTime duration; /* 0x08 */ OSTime duration;

View file

@ -13,34 +13,28 @@ struct GlobalContext;
// From z64light.h // From z64light.h
struct LightMapper; struct LightMapper;
typedef struct typedef struct {
{
f32 x, y; f32 x, y;
} Vec2f; } Vec2f;
typedef struct typedef struct {
{
f32 x, y, z; f32 x, y, z;
} Vec3f; } Vec3f;
typedef struct typedef struct {
{
s16 x, y, z; s16 x, y, z;
} Vec3s; } Vec3s;
typedef struct typedef struct {
{
s32 x, y, z; s32 x, y, z;
} Vec3i; } Vec3i;
typedef struct typedef struct {
{
Vec3f pos; Vec3f pos;
Vec3s rot; Vec3s rot;
} PosRot; // size = 0x14 } PosRot; // size = 0x14
typedef struct typedef struct {
{
/* 0x00 */ char unk_00[0x8]; /* 0x00 */ char unk_00[0x8];
/* 0x08 */ Vec3s norm; // Normal vector /* 0x08 */ Vec3s norm; // Normal vector
/* 0x0E */ s16 dist; // Plane distance from origin /* 0x0E */ s16 dist; // Plane distance from origin
@ -48,8 +42,7 @@ typedef struct
typedef void (*ActorFunc)(struct Actor*, struct GlobalContext*); typedef void (*ActorFunc)(struct Actor*, struct GlobalContext*);
typedef struct typedef struct {
{
/* 0x00 */ s16 id; /* 0x00 */ s16 id;
/* 0x02 */ u8 type; // Classifies actor and determines when actor will execute /* 0x02 */ u8 type; // Classifies actor and determines when actor will execute
/* 0x03 */ u8 room; // Room instance was spawned in. If value set to FF in rom, instance does not despawn when swapping rooms /* 0x03 */ u8 room; // Room instance was spawned in. If value set to FF in rom, instance does not despawn when swapping rooms
@ -62,15 +55,13 @@ typedef struct
/* 0x1C */ ActorFunc draw; // Draw function /* 0x1C */ ActorFunc draw; // Draw function
} ActorInit; // size = 0x20 } ActorInit; // size = 0x20
typedef enum typedef enum {
{
ALLOCTYPE_NORMAL, ALLOCTYPE_NORMAL,
ALLOCTYPE_ABSOLUTE, ALLOCTYPE_ABSOLUTE,
ALLOCTYPE_PERMANENT ALLOCTYPE_PERMANENT
} AllocType; } AllocType;
typedef struct typedef struct {
{
/* 0x00 */ u32 vromStart; /* 0x00 */ u32 vromStart;
/* 0x04 */ u32 vromEnd; /* 0x04 */ u32 vromEnd;
/* 0x08 */ void* vramStart; /* 0x08 */ void* vramStart;
@ -82,25 +73,21 @@ typedef struct
/* 0x1E */ s8 nbLoaded; // original name: "clients" /* 0x1E */ s8 nbLoaded; // original name: "clients"
} ActorOverlay; // size = 0x20 } ActorOverlay; // size = 0x20
typedef struct typedef struct {
{ struct {
struct
{
char damage : 4; char damage : 4;
char effect : 4; char effect : 4;
} attack[32]; } attack[32];
} ActorDamageChart; } ActorDamageChart;
typedef struct typedef struct {
{
/* 0x00 */ u8 health; /* 0x00 */ u8 health;
/* 0x02 */ s16 unk_02; /* 0x02 */ s16 unk_02;
/* 0x04 */ s16 unk_04; /* 0x04 */ s16 unk_04;
/* 0x06 */ u8 mass; /* 0x06 */ u8 mass;
} SubActor98Init; } SubActor98Init;
typedef struct typedef struct {
{
/* 0x00 */ ActorDamageChart* damageChart; // For actors which contain a damage chart (example: Stalfos)... /* 0x00 */ ActorDamageChart* damageChart; // For actors which contain a damage chart (example: Stalfos)...
/* 0x04 */ Vec3f displacement; // Amount to correct velocity (0x5C) by when colliding into a body /* 0x04 */ Vec3f displacement; // Amount to correct velocity (0x5C) by when colliding into a body
/* 0x10 */ s16 unk_10; /* 0x10 */ s16 unk_10;
@ -114,8 +101,7 @@ typedef struct
/* 0x1B */ u8 unk_1B; /* 0x1B */ u8 unk_1B;
} SubActorStruct98; // size = 0x1C } SubActorStruct98; // size = 0x1C
typedef struct typedef struct {
{
/* 0x00 */ Vec3s rot; // Current actor shape rotation /* 0x00 */ Vec3s rot; // Current actor shape rotation
/* 0x06 */ u8 unk_06; /* 0x06 */ u8 unk_06;
/* 0x08 */ f32 unk_08; // Model y axis offset. Represents model space units. collision mesh related /* 0x08 */ f32 unk_08; // Model y axis offset. Represents model space units. collision mesh related
@ -125,8 +111,7 @@ typedef struct
/* 0x15 */ u8 unk_15; /* 0x15 */ u8 unk_15;
} ActorShape; // size = 0x18 } ActorShape; // size = 0x18
typedef struct Actor typedef struct Actor {
{
/* 0x000 */ s16 id; // Actor Id /* 0x000 */ s16 id; // Actor Id
/* 0x002 */ u8 type; // Actor Type. Refer to the corresponding enum for values /* 0x002 */ u8 type; // Actor Type. Refer to the corresponding enum for values
/* 0x003 */ s8 room; // Room number the actor is part of. FF denotes that the actor won't despawn on a room change /* 0x003 */ s8 room; // Room number the actor is part of. FF denotes that the actor won't despawn on a room change
@ -198,16 +183,14 @@ typedef struct Actor
/* From here on, the structure and size varies for each actor */ /* From here on, the structure and size varies for each actor */
} Actor; // size = 0x14C } Actor; // size = 0x14C
typedef enum typedef enum {
{
COLTYPE_CYLINDER = 1, COLTYPE_CYLINDER = 1,
COLTYPE_CYLINDER_GROUP = 0, COLTYPE_CYLINDER_GROUP = 0,
COLTYPE_QUAD = 3, COLTYPE_QUAD = 3,
COLTYPE_TRIANGLE_GROUP = 2 COLTYPE_TRIANGLE_GROUP = 2
} ColliderType; } ColliderType;
typedef struct typedef struct {
{
/* 0x00 */ Actor* actor; /* 0x00 */ Actor* actor;
/* 0x04 */ Actor* at; /* 0x04 */ Actor* at;
/* 0x08 */ Actor* ac; /* 0x08 */ Actor* ac;
@ -220,15 +203,13 @@ typedef struct
/* 0x15 */ u8 type; /* Cylinder Collection, Cylinder, Triangle Collection, Quad */ /* 0x15 */ u8 type; /* Cylinder Collection, Cylinder, Triangle Collection, Quad */
} Collider; // size = 0x18 } Collider; // size = 0x18
typedef struct typedef struct {
{
/* 0x00 */ s32 flags; /* Toucher Attack Identifier Flags */ /* 0x00 */ s32 flags; /* Toucher Attack Identifier Flags */
/* 0x04 */ u8 unk_04; /* 0x04 */ u8 unk_04;
/* 0x05 */ u8 damage; /* Damage or Stun Timer */ /* 0x05 */ u8 damage; /* Damage or Stun Timer */
} ColliderTouch; // size = 0x08 } ColliderTouch; // size = 0x08
typedef struct typedef struct {
{
/* 0x00 */ s32 flags; /* Collision Exclusion Mask */ /* 0x00 */ s32 flags; /* Collision Exclusion Mask */
/* 0x04 */ u8 effect; /* Damage Effect (Knockback, Fire, etc.) */ /* 0x04 */ u8 effect; /* Damage Effect (Knockback, Fire, etc.) */
/* 0x05 */ u8 unk_05; /* 0x05 */ u8 unk_05;
@ -237,8 +218,7 @@ typedef struct
/* 0x0A */ s16 unk_0A; /* 0x0A */ s16 unk_0A;
} ColliderBump; // size = 0x0C } ColliderBump; // size = 0x0C
typedef struct ColliderBody typedef struct ColliderBody {
{
/* 0x00 */ ColliderTouch toucher; /* 0x00 */ ColliderTouch toucher;
/* 0x08 */ ColliderBump bumper; /* 0x08 */ ColliderBump bumper;
/* 0x14 */ u8 flags; /* 0x14 */ u8 flags;
@ -251,14 +231,12 @@ typedef struct ColliderBody
/* 0x24 */ struct ColliderBody* colliding; /* 0x24 */ struct ColliderBody* colliding;
} ColliderBody; // size = 0x28 } ColliderBody; // size = 0x28
typedef struct ColliderBodyEntry typedef struct ColliderBodyEntry {
{
/* 0x00 */ ColliderBody c; /* 0x00 */ ColliderBody c;
/* 0x28 */ char unk_28[0x18]; /* 0x28 */ char unk_28[0x18];
} ColliderBodyEntry; // size = 0x40 } ColliderBodyEntry; // size = 0x40
typedef struct typedef struct {
{
/* 0x00 */ u8 bodyFlags; /* 0x00 */ u8 bodyFlags;
/* 0x01 */ u8 unk_09[0x3]; /* 000000 */ /* 0x01 */ u8 unk_09[0x3]; /* 000000 */
/* 0x04 */ s32 toucherMask; /* Attack Toucher Exclusion Mask */ /* 0x04 */ s32 toucherMask; /* Attack Toucher Exclusion Mask */
@ -273,8 +251,7 @@ typedef struct
/* 0x17 */ u8 unk_1F; /* 00 */ /* 0x17 */ u8 unk_1F; /* 00 */
} ColliderBodyInfoInner; // size = 0x1A } ColliderBodyInfoInner; // size = 0x1A
typedef struct typedef struct {
{
/* 0x00 */ u8 unk_00; /* 0x00 */ u8 unk_00;
/* 0x01 */ u8 colliderFlags; /* Collider Flags */ /* 0x01 */ u8 colliderFlags; /* Collider Flags */
/* 0x02 */ u8 collideFlags; /* Collide Flags */ /* 0x02 */ u8 collideFlags; /* Collide Flags */
@ -284,30 +261,26 @@ typedef struct
/* 0x06 */ u8 unk_06[0x2]; /* 0000 */ /* 0x06 */ u8 unk_06[0x2]; /* 0000 */
} ColliderBodyInfo; // size = 0x08 } ColliderBodyInfo; // size = 0x08
typedef struct typedef struct {
{
/* 0x00 */ s16 radius; /* Cylinder Radius */ /* 0x00 */ s16 radius; /* Cylinder Radius */
/* 0x02 */ s16 height; /* Cylinder Height */ /* 0x02 */ s16 height; /* Cylinder Height */
/* 0x04 */ s16 yShift; /* Shift Cylinder on Y Axis */ /* 0x04 */ s16 yShift; /* Shift Cylinder on Y Axis */
/* 0x06 */ Vec3s position; /* {X, Y, Z} position of Cylinder */ /* 0x06 */ Vec3s position; /* {X, Y, Z} position of Cylinder */
} ColliderDimensions; // size = 0xC } ColliderDimensions; // size = 0xC
typedef struct typedef struct {
{
/* 0x00 */ Collider base; /* 0x00 */ Collider base;
/* 0x18 */ ColliderBody body; /* 0x18 */ ColliderBody body;
/* 0x40 */ ColliderDimensions dim; /* 0x40 */ ColliderDimensions dim;
} ColliderCylinderMain; // size = 0x4C } ColliderCylinderMain; // size = 0x4C
typedef struct typedef struct {
{
/* 0x00 */ ColliderBodyInfo body; /* 0x00 */ ColliderBodyInfo body;
/* 0x06 */ ColliderBodyInfoInner inner; /* 0x06 */ ColliderBodyInfoInner inner;
/* 0x20 */ ColliderDimensions dim; /* 0x20 */ ColliderDimensions dim;
} ColliderCylinderInit; // size = 0x2C } ColliderCylinderInit; // size = 0x2C
typedef struct typedef struct {
{
/* 0x00 */ Actor* actor; /* 0x00 */ Actor* actor;
/* 0x04 */ char unk_04[0x10]; /* 0x04 */ char unk_04[0x10];
/* 0x14 */ Vec3f scale1; /* 0x14 */ Vec3f scale1;
@ -319,8 +292,7 @@ typedef struct
/* 0x54 */ char unk_54[0x10]; /* 0x54 */ char unk_54[0x10];
} ActorMesh; // size = 0x64 } ActorMesh; // size = 0x64
typedef struct typedef struct {
{
/* 0x000 */ Actor actor; /* 0x000 */ Actor actor;
/* 0x14C */ u32 dynaPolyId; /* 0x14C */ u32 dynaPolyId;
/* 0x150 */ f32 unk_150; /* 0x150 */ f32 unk_150;
@ -332,8 +304,7 @@ typedef struct
/* 0x162 */ s16 unk_162; /* 0x162 */ s16 unk_162;
} DynaPolyActor; // size = 0x164 } DynaPolyActor; // size = 0x164
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ s8 currentTunic; /* 0x014C */ s8 currentTunic;
/* 0x014D */ s8 currentSword; /* 0x014D */ s8 currentSword;
@ -410,8 +381,7 @@ typedef struct
/* 0x0A79 */ char unk_A79[0x1B]; /* 0x0A79 */ char unk_A79[0x1B];
} Player; // size = 0xA94 } Player; // size = 0xA94
typedef enum typedef enum {
{
/* 0x00 */ ACTORTYPE_SWITCH, /* 0x00 */ ACTORTYPE_SWITCH,
/* 0x01 */ ACTORTYPE_BG, /* 0x01 */ ACTORTYPE_BG,
/* 0x02 */ ACTORTYPE_PLAYER, /* 0x02 */ ACTORTYPE_PLAYER,
@ -426,8 +396,7 @@ typedef enum
/* 0x0B */ ACTORTYPE_CHEST /* 0x0B */ ACTORTYPE_CHEST
} ActorType; } ActorType;
typedef enum typedef enum {
{
/* 0x0000 */ ACTOR_PLAYER, /* 0x0000 */ ACTOR_PLAYER,
/* 0x0001 */ ACTOR_UNSET_1, /* 0x0001 */ ACTOR_UNSET_1,
/* 0x0002 */ ACTOR_EN_TEST, /* 0x0002 */ ACTOR_EN_TEST,

View file

@ -1,16 +1,14 @@
#ifndef _Z64CUTSCENE_H_ #ifndef _Z64CUTSCENE_H_
#define _Z64CUTSCENE_H_ #define _Z64CUTSCENE_H_
typedef struct typedef struct {
{
/* 0x00 */ u16 entrance; // entrance index upon which the cutscene should trigger /* 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 /* 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; // event_chk_inf flag bound to the entrance cutscene
/* 0x04 */ u32 segAddr; // segment offset location of the cutscene /* 0x04 */ u32 segAddr; // segment offset location of the cutscene
} EntranceCutscene; // size = 0x8 } EntranceCutscene; // size = 0x8
typedef struct typedef struct {
{
/* 0x00 */ s8 continueFlag; /* 0x00 */ s8 continueFlag;
/* 0x01 */ s8 cameraRoll; /* 0x01 */ s8 cameraRoll;
/* 0x02 */ s16 nextPointFrame; /* 0x02 */ s16 nextPointFrame;
@ -18,38 +16,33 @@ typedef struct
/* 0x08 */ Vec3s pos; /* 0x08 */ Vec3s pos;
} CutsceneCameraPoint; // size = 0x10 } CutsceneCameraPoint; // size = 0x10
typedef struct typedef struct {
{
/* 0x00 */ u16 base; /* 0x00 */ u16 base;
/* 0x02 */ u16 startFrame; /* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame; /* 0x04 */ u16 endFrame;
} CsCmdBase; } CsCmdBase;
typedef struct typedef struct {
{
/* 0x00 */ u8 unk_00; /* 0x00 */ u8 unk_00;
/* 0x01 */ u8 setting; /* 0x01 */ u8 setting;
/* 0x02 */ u16 startFrame; /* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame; /* 0x04 */ u16 endFrame;
} CsCmdEnvLighting; } CsCmdEnvLighting;
typedef struct typedef struct {
{
/* 0x00 */ u8 unk_00; /* 0x00 */ u8 unk_00;
/* 0x01 */ u8 sequence; /* 0x01 */ u8 sequence;
/* 0x02 */ u16 startFrame; /* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame; /* 0x04 */ u16 endFrame;
} CsCmdMusicChange; } CsCmdMusicChange;
typedef struct typedef struct {
{
/* 0x00 */ u16 type; /* 0x00 */ u16 type;
/* 0x02 */ u16 startFrame; /* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame; /* 0x04 */ u16 endFrame;
} CsCmdMusicFade; } CsCmdMusicFade;
typedef struct typedef struct {
{
/* 0x00 */ u16 unk_00; /* 0x00 */ u16 unk_00;
/* 0x02 */ u16 startFrame; /* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame; /* 0x04 */ u16 endFrame;
@ -58,8 +51,7 @@ typedef struct
/* 0x08 */ u8 unk_08; /* 0x08 */ u8 unk_08;
} CsCmdUnknown9; } CsCmdUnknown9;
typedef struct typedef struct {
{
/* 0x00 */ u16 unk_00; /* 0x00 */ u16 unk_00;
/* 0x02 */ u16 startFrame; /* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame; /* 0x04 */ u16 endFrame;
@ -67,8 +59,7 @@ typedef struct
/* 0x07 */ u8 minute; /* 0x07 */ u8 minute;
} CsCmdDayTime; } CsCmdDayTime;
typedef struct typedef struct {
{
/* 0x00 */ u16 base; /* 0x00 */ u16 base;
/* 0x02 */ u16 startFrame; /* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame; /* 0x04 */ u16 endFrame;
@ -77,8 +68,7 @@ typedef struct
/* 0x0A */ u16 textId2; /* 0x0A */ u16 textId2;
} CsCmdTextbox; // size = 0xC } CsCmdTextbox; // size = 0xC
typedef struct typedef struct {
{
/* 0x00 */ u16 action; /* 0x00 */ u16 action;
/* 0x02 */ u16 startFrame; /* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame; /* 0x04 */ u16 endFrame;
@ -88,8 +78,7 @@ typedef struct
/* 0x24 */ Vec3i normal; /* 0x24 */ Vec3i normal;
} CsCmdActorAction; // size = 0x30 } CsCmdActorAction; // size = 0x30
typedef enum typedef enum {
{
CS_STATE_IDLE, CS_STATE_IDLE,
CS_STATE_SKIPPABLE_INIT, CS_STATE_SKIPPABLE_INIT,
CS_STATE_SKIPPABLE_EXEC, CS_STATE_SKIPPABLE_EXEC,
@ -97,8 +86,7 @@ typedef enum
CS_STATE_UNSKIPPABLE_EXEC CS_STATE_UNSKIPPABLE_EXEC
} CutsceneState; } CutsceneState;
typedef enum typedef enum {
{
CS_CMD_00 = 0x0000, CS_CMD_00 = 0x0000,
CS_CMD_CAMERA_POS = 0x0001, CS_CMD_CAMERA_POS = 0x0001,
CS_CMD_CAMERA_FOCUS = 0x0002, CS_CMD_CAMERA_FOCUS = 0x0002,

View file

@ -2,9 +2,8 @@
#define _Z64EFFECT_H_ #define _Z64EFFECT_H_
#include <color.h> #include <color.h>
/* gz has trail related structs but they seem to be different in dbg*/ // gz has trail related structs but they seem to be different in dbg
typedef struct typedef struct {
{
/* 0x0000 */ char unk_00[0x184]; /* 0x0000 */ char unk_00[0x184];
/* 0x0184 */ Color_RGBA8 p1Start; /* 0x0184 */ Color_RGBA8 p1Start;
/* 0x0188 */ Color_RGBA8 p2Start; /* 0x0188 */ Color_RGBA8 p2Start;

View file

@ -1,16 +1,14 @@
#ifndef _Z64ITEM_H_ #ifndef _Z64ITEM_H_
#define _Z64ITEM_H_ #define _Z64ITEM_H_
typedef enum typedef enum {
{
/* 0x00 */ EQUIP_SWORD, /* 0x00 */ EQUIP_SWORD,
/* 0x01 */ EQUIP_SHIELD, /* 0x01 */ EQUIP_SHIELD,
/* 0x02 */ EQUIP_TUNIC, /* 0x02 */ EQUIP_TUNIC,
/* 0x03 */ EQUIP_BOOTS /* 0x03 */ EQUIP_BOOTS
} EquipmentType; } EquipmentType;
typedef enum typedef enum {
{
/* 0x00 */ UPG_QUIVER, /* 0x00 */ UPG_QUIVER,
/* 0x01 */ UPG_BOMB_BAG, /* 0x01 */ UPG_BOMB_BAG,
/* 0x02 */ UPG_STRENGTH, /* 0x02 */ UPG_STRENGTH,
@ -21,8 +19,7 @@ typedef enum
/* 0x07 */ UPG_NUTS /* 0x07 */ UPG_NUTS
} UpgradeType; } UpgradeType;
typedef enum typedef enum {
{
/* 0x00 */ SLOT_STICK, /* 0x00 */ SLOT_STICK,
/* 0x01 */ SLOT_NUT, /* 0x01 */ SLOT_NUT,
/* 0x02 */ SLOT_BOMB, /* 0x02 */ SLOT_BOMB,
@ -50,8 +47,7 @@ typedef enum
/* 0xFF */ SLOT_NONE = 0xFF /* 0xFF */ SLOT_NONE = 0xFF
} InventorySlot; } InventorySlot;
typedef enum typedef enum {
{
/* 0x00 */ ITEM_STICK, /* 0x00 */ ITEM_STICK,
/* 0x01 */ ITEM_NUT, /* 0x01 */ ITEM_NUT,
/* 0x02 */ ITEM_BOMB, /* 0x02 */ ITEM_BOMB,
@ -212,8 +208,7 @@ typedef enum
} ItemID; } ItemID;
// Get Item result may vary depending on context (chest/shop/scrub/drop) // Get Item result may vary depending on context (chest/shop/scrub/drop)
typedef enum typedef enum {
{
/* 0x00 */ GI_INVALID, // Link picks up chest and it sends him flying upwards /* 0x00 */ GI_INVALID, // Link picks up chest and it sends him flying upwards
/* 0x01 */ GI_BOMBS_5, /* 0x01 */ GI_BOMBS_5,
/* 0x02 */ GI_NUTS_5, /* 0x02 */ GI_NUTS_5,

View file

@ -4,15 +4,13 @@
#include <ultra64.h> #include <ultra64.h>
#include <ultra64/gbi.h> #include <ultra64/gbi.h>
typedef struct z_Light_t typedef struct z_Light_t {
{
/* 0x0 */ struct LightInfo* info; /* 0x0 */ struct LightInfo* info;
/* 0x4 */ struct z_Light_t* prev; /* 0x4 */ struct z_Light_t* prev;
/* 0x8 */ struct z_Light_t* next; /* 0x8 */ struct z_Light_t* next;
} z_Light; } z_Light;
typedef struct typedef struct {
{
/* 0x0 */ z_Light* lightsHead; /* 0x0 */ z_Light* lightsHead;
/* 0x4 */ u8 ambientRed; /* 0x4 */ u8 ambientRed;
/* 0x5 */ u8 ambientGreen; /* 0x5 */ u8 ambientGreen;
@ -24,21 +22,18 @@ typedef struct
/* 0xC */ s16 unk_0C; /* 0xC */ s16 unk_0C;
} LightingContext; } LightingContext;
typedef struct typedef struct {
{
/* 0x000 */ int numOccupied; /* 0x000 */ int numOccupied;
/* 0x004 */ int nextFree; /* 0x004 */ int nextFree;
/* 0x008 */ z_Light lights[32]; /* 0x008 */ z_Light lights[32];
} LightsList; } LightsList;
typedef struct typedef struct {
{
/* 0x0 */ u8 type; /* 0x0 */ u8 type;
/* 0x2 */ u16 params[6]; /* 0x2 */ u16 params[6];
} LightInfo; } LightInfo;
typedef struct typedef struct {
{
/* 0x0 */ s8 dirX; /* 0x0 */ s8 dirX;
/* 0x1 */ s8 dirY; /* 0x1 */ s8 dirY;
/* 0x2 */ s8 dirZ; /* 0x2 */ s8 dirZ;
@ -48,8 +43,7 @@ typedef struct
/* 0x6 */ u16 pad[3]; /* 0x6 */ u16 pad[3];
} LightInfoDirectionalParams; } LightInfoDirectionalParams;
typedef struct typedef struct {
{
/* 0x0 */ s16 posX; /* 0x0 */ s16 posX;
/* 0x2 */ s16 posY; /* 0x2 */ s16 posY;
/* 0x4 */ s16 posZ; /* 0x4 */ s16 posZ;
@ -60,8 +54,7 @@ typedef struct
/* 0xA */ s16 radius; /* 0xA */ s16 radius;
} LightInfoPositionalParams; } LightInfoPositionalParams;
typedef struct typedef struct {
{
/* 0x00 */ u8 numLights; /* 0x00 */ u8 numLights;
/* 0x01 */ u8 enablePosLights; /* 0x01 */ u8 enablePosLights;
/* 0x02 */ UNK_TYPE1 pad2[6]; /* 0x02 */ UNK_TYPE1 pad2[6];
@ -69,14 +62,12 @@ typedef struct
/* 0x10 */ Light lights[7]; /* 0x10 */ Light lights[7];
} LightMapper; } LightMapper;
typedef struct typedef struct {
{
/* 0x0 */ u8 type; /* 0x0 */ u8 type;
/* 0x2 */ LightInfoDirectionalParams params; /* 0x2 */ LightInfoDirectionalParams params;
} LightInfoDirectional; } LightInfoDirectional;
typedef struct typedef struct {
{
/* 0x0 */ u8 type; /* 0x0 */ u8 type;
/* 0x2 */ LightInfoPositionalParams params; /* 0x2 */ LightInfoPositionalParams params;
} LightInfoPositional; } LightInfoPositional;

View file

@ -3,8 +3,7 @@
#define OBJECT_EXCHANGE_BANK_MAX 19 #define OBJECT_EXCHANGE_BANK_MAX 19
typedef enum typedef enum {
{
/* 0x0000 */ OBJECT_UNSET_0, /* 0x0000 */ OBJECT_UNSET_0,
/* 0x0001 */ OBJECT_GAMEPLAY_KEEP, /* 0x0001 */ OBJECT_GAMEPLAY_KEEP,
/* 0x0002 */ OBJECT_GAMEPLAY_FIELD_KEEP, /* 0x0002 */ OBJECT_GAMEPLAY_FIELD_KEEP,

View file

@ -1,8 +1,7 @@
#ifndef _Z64SCENE_H_ #ifndef _Z64SCENE_H_
#define _Z64SCENE_H_ #define _Z64SCENE_H_
typedef struct typedef struct {
{
/* 0x00 */ u32 sceneVromStart; /* 0x00 */ u32 sceneVromStart;
/* 0x04 */ u32 sceneVromEnd; /* 0x04 */ u32 sceneVromEnd;
/* 0x08 */ u32 titleVromStart; /* 0x08 */ u32 titleVromStart;
@ -13,50 +12,43 @@ typedef struct
/* 0x13 */ u8 unk_13; /* 0x13 */ u8 unk_13;
} Scene; // size = 0x14 } Scene; // size = 0x14
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x04 */ u32 data2; /* 0x04 */ u32 data2;
} SCmdBase; } SCmdBase;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdSpawnList; } SCmdSpawnList;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 num; /* 0x01 */ u8 num;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdActorList; } SCmdActorList;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdCsCameraList; } SCmdCsCameraList;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdColHeader; } SCmdColHeader;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 num; /* 0x01 */ u8 num;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdRoomList; } SCmdRoomList;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x02 */ char pad[2]; /* 0x02 */ char pad[2];
@ -66,71 +58,61 @@ typedef struct
/* 0x07 */ u8 unk_07; /* 0x07 */ u8 unk_07;
} SCmdWindSettings; } SCmdWindSettings;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdEntranceList; } SCmdEntranceList;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 naviMsgNum; /* 0x01 */ u8 naviMsgNum;
/* 0x04 */ u32 keepObjectId; /* 0x04 */ u32 keepObjectId;
} SCmdSpecialFiles; } SCmdSpecialFiles;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 gpFlag1; /* 0x01 */ u8 gpFlag1;
/* 0x04 */ u32 gpFlag2; /* 0x04 */ u32 gpFlag2;
} SCmdRoomBehavior; } SCmdRoomBehavior;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdMesh; } SCmdMesh;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 num; /* 0x01 */ u8 num;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdObjectList; } SCmdObjectList;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 num; /* 0x01 */ u8 num;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdLightList; } SCmdLightList;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdPathList; } SCmdPathList;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 num; /* 0x01 */ u8 num;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdTransiActorList; } SCmdTransiActorList;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 num; /* 0x01 */ u8 num;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdLightSettingList; } SCmdLightSettingList;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x02 */ char pad[2]; /* 0x02 */ char pad[2];
@ -139,8 +121,7 @@ typedef struct
/* 0x06 */ u8 unk_06; /* 0x06 */ u8 unk_06;
} SCmdTimeSettings; } SCmdTimeSettings;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x02 */ char pad[2]; /* 0x02 */ char pad[2];
@ -149,8 +130,7 @@ typedef struct
/* 0x06 */ u8 unk_06; /* 0x06 */ u8 unk_06;
} SCmdSkyboxSettings; } SCmdSkyboxSettings;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x02 */ char pad[2]; /* 0x02 */ char pad[2];
@ -158,22 +138,19 @@ typedef struct
/* 0x05 */ u8 unk_05; /* 0x05 */ u8 unk_05;
} SCmdSkyboxDisables; } SCmdSkyboxDisables;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x04 */ u32 data2; /* 0x04 */ u32 data2;
} SCmdEndMarker; } SCmdEndMarker;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdExitList; } SCmdExitList;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 bgmId; /* 0x01 */ u8 bgmId;
/* 0x02 */ char pad[4]; /* 0x02 */ char pad[4];
@ -181,42 +158,36 @@ typedef struct
/* 0x07 */ u8 musicSeq; /* 0x07 */ u8 musicSeq;
} SCmdSoundSettings; } SCmdSoundSettings;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x02 */ char pad[5]; /* 0x02 */ char pad[5];
/* 0x07 */ u8 echo; /* 0x07 */ u8 echo;
} SCmdEchoSettings; } SCmdEchoSettings;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdCutsceneData; } SCmdCutsceneData;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 data1; /* 0x01 */ u8 data1;
/* 0x04 */ u32 segment; /* 0x04 */ u32 segment;
} SCmdAltHeaders; } SCmdAltHeaders;
typedef struct typedef struct {
{
/* 0x00 */ u8 code; /* 0x00 */ u8 code;
/* 0x01 */ u8 cameraMovement; /* 0x01 */ u8 cameraMovement;
/* 0x04 */ u32 area; /* 0x04 */ u32 area;
} SCmdMiscSettings; } SCmdMiscSettings;
typedef struct typedef struct {
{
u8 headerType; u8 headerType;
} MeshHeaderBase; } MeshHeaderBase;
typedef struct typedef struct {
{
MeshHeaderBase base; MeshHeaderBase base;
u8 numEntries; u8 numEntries;
@ -224,101 +195,77 @@ typedef struct
u32 dListEnd; u32 dListEnd;
} MeshHeader0; } MeshHeader0;
typedef struct typedef struct {
{
u32 opaqueDList; u32 opaqueDList;
u32 translucentDList; u32 translucentDList;
} MeshEntry0; } MeshEntry0;
typedef struct typedef struct {
{
MeshHeaderBase base; MeshHeaderBase base;
u8 format; u8 format;
u32 entryRecord; u32 entryRecord;
} MeshHeader1Base; } MeshHeader1Base;
typedef struct typedef struct {
{
MeshHeader1Base base; MeshHeader1Base base;
u32 imagePtr; // 0x08 u32 imagePtr; // 0x08
u32 unknown; // 0x0C u32 unknown; // 0x0C
u32 unknown2; // 0x10 u32 unknown2; // 0x10
u16 bgWidth; // 0x14 u16 bgWidth; // 0x14
u16 bgHeight; // 0x16 u16 bgHeight; // 0x16
u8 imageFormat; // 0x18 u8 imageFormat; // 0x18
u8 imageSize; // 0x19 u8 imageSize; // 0x19
u16 imagePal; // 0x1A u16 imagePal; // 0x1A
u16 imageFlip; // 0x1C u16 imageFlip; // 0x1C
} MeshHeader1Single; } MeshHeader1Single;
typedef struct typedef struct {
{
MeshHeader1Base base; MeshHeader1Base base;
u8 bgCnt; u8 bgCnt;
u32 bgRecordPtr; u32 bgRecordPtr;
} MeshHeader1Multi; } MeshHeader1Multi;
typedef struct typedef struct {
{
u16 unknown; // 0x00 u16 unknown; // 0x00
s8 bgID; // 0x02 s8 bgID; // 0x02
u32 imagePtr; // 0x04 u32 imagePtr; // 0x04
u32 unknown2; // 0x08 u32 unknown2; // 0x08
u32 unknown3; // 0x0C u32 unknown3; // 0x0C
u16 bgWidth; // 0x10 u16 bgWidth; // 0x10
u16 bgHeight; // 0x12 u16 bgHeight; // 0x12
u8 imageFmt; // 0x14 u8 imageFmt; // 0x14
u8 imageSize; // 0x15 u8 imageSize; // 0x15
u16 imagePal; // 0x16 u16 imagePal; // 0x16
u16 imageFlip; // 0x18 u16 imageFlip; // 0x18
} BackgroundRecord; } BackgroundRecord;
typedef struct typedef struct {
{
s16 playerXMax, playerZMax; s16 playerXMax, playerZMax;
s16 playerXMin, playerZMin; s16 playerXMin, playerZMin;
u32 opaqueDList; u32 opaqueDList;
u32 translucentDList; u32 translucentDList;
} MeshEntry2; } MeshEntry2;
typedef struct typedef struct {
{
MeshHeaderBase base; MeshHeaderBase base;
u8 numEntries; u8 numEntries;
u32 dListStart; u32 dListStart;
u32 dListEnd; u32 dListEnd;
} MeshHeader2; } MeshHeader2;
typedef struct typedef struct {
{
u8 ambientClrR, ambientClrG, ambientClrB; u8 ambientClrR, ambientClrG, ambientClrB;
u8 diffuseClrA_R, diffuseClrA_G, diffuseClrA_B; u8 diffuseClrA_R, diffuseClrA_G, diffuseClrA_B;
u8 diffuseDirA_X, diffuseDirA_Y, diffuseDirA_Z; u8 diffuseDirA_X, diffuseDirA_Y, diffuseDirA_Z;
u8 diffuseClrB_R, diffuseClrB_G, diffuseClrB_B; u8 diffuseClrB_R, diffuseClrB_G, diffuseClrB_B;
u8 diffuseDirB_X, diffuseDirB_Y, diffuseDirB_Z; u8 diffuseDirB_X, diffuseDirB_Y, diffuseDirB_Z;
u8 fogClrR, fogClrG, fogClrB; u8 fogClrR, fogClrG, fogClrB;
u16 unk; u16 unk;
u16 drawDistance; u16 drawDistance;
} LightSettings; } LightSettings;
typedef struct typedef struct {
{
s16 absMinX, absMinY, absMinZ; s16 absMinX, absMinY, absMinZ;
s16 absMaxX, absMaxY, absMaxZ; s16 absMaxX, absMaxY, absMaxZ;
s16 numVerts; s16 numVerts;
@ -327,61 +274,51 @@ typedef struct
s32 polySegmentOffset; s32 polySegmentOffset;
s32 polyTypeDefSegmentOffset; s32 polyTypeDefSegmentOffset;
s32 camDataSegmentOffset; s32 camDataSegmentOffset;
s16 numWaterBoxes; s16 numWaterBoxes;
s32 waterBoxSegmentOffset; s32 waterBoxSegmentOffset;
} ColHeader; } ColHeader;
typedef struct typedef struct {
{
s16 cameraSType; // 0x00 s16 cameraSType; // 0x00
s16 numCameras; // 0x02 s16 numCameras; // 0x02
s32 camPosDataSeg; // 0x04 s32 camPosDataSeg; // 0x04
} CamData; } CamData;
typedef struct typedef struct {
{
u32 unknown; u32 unknown;
u32 camPosDataSeg; u32 camPosDataSeg;
} CamPosDataEntry; } CamPosDataEntry;
/* /*
typedef union typedef union {
{
_CamData data; _CamData data;
long long int forceStructAlignment; long long int forceStructAlignment;
} CamData; } CamData;
*/ */
typedef struct typedef struct {
{
s16 posX, posY, posZ; s16 posX, posY, posZ;
s16 rotX, rotY, rotZ; s16 rotX, rotY, rotZ;
s16 fov; s16 fov;
s16 jfifId; s16 jfifId;
s16 unk; s16 unk;
//s16 unk2;
//s32 unk;
} CamPosData; } CamPosData;
/* /*
typedef union typedef union {
{
_CamPosData data; _CamPosData data;
long long int forceStructAlignment; long long int forceStructAlignment;
} CamPosData; } CamPosData;
*/ */
typedef struct typedef struct {
{
s16 type; s16 type;
s16 vtxA, vtxB, vtxC; s16 vtxA, vtxB, vtxC;
s16 a, b, c, d; s16 a, b, c, d;
} RoomPoly; } RoomPoly;
typedef struct typedef struct {
{
s16 xMin; s16 xMin;
s16 ySurface; s16 ySurface;
s16 zMin; s16 zMin;
@ -390,14 +327,12 @@ typedef struct
s32 properties; s32 properties;
} WaterBoxHeader; } WaterBoxHeader;
typedef struct typedef struct {
{
/* 0x00 */ u8 count; // Total number of points in the path for the actor to follow /* 0x00 */ u8 count; // Total number of points in the path for the actor to follow
/* 0x04 */ Vec3s* path; // Segment Address of the start of the path list /* 0x04 */ Vec3s* path; // Segment Address of the start of the path list
} Path; // size = 0x8 } Path; // size = 0x8
typedef union typedef union {
{
SCmdBase base; SCmdBase base;
SCmdSpawnList spawnList; SCmdSpawnList spawnList;
SCmdActorList actorList; SCmdActorList actorList;
@ -426,8 +361,7 @@ typedef union
SCmdAltHeaders altHeaders; SCmdAltHeaders altHeaders;
} SceneCmd; // size = 0x8 } SceneCmd; // size = 0x8
typedef enum typedef enum {
{
/* 0x00 */ SCENE_YDAN, /* 0x00 */ SCENE_YDAN,
/* 0x01 */ SCENE_DDAN, /* 0x01 */ SCENE_DDAN,
/* 0x02 */ SCENE_BDAN, /* 0x02 */ SCENE_BDAN,

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xCC]; /* 0x014C */ char unk_14C[0xCC];
} ArmsHook; // size = 0x0218 } ArmsHook; // size = 0x0218

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} ArrowFire; // size = 0x016C } ArrowFire; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} ArrowIce; // size = 0x016C } ArrowIce; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} ArrowLight; // size = 0x016C } ArrowLight; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x70]; /* 0x014C */ char unk_14C[0x70];
} BgBdanObjects; // size = 0x01BC } BgBdanObjects; // size = 0x01BC

View file

@ -6,8 +6,7 @@
#include "../ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h" #include "../ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h"
typedef struct typedef struct {
{
/* 0x0000 */ DynaPolyActor dyna; /* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ ActorFunc actionFunc; /* 0x0164 */ ActorFunc actionFunc;
/* 0x0168 */ u8 unk_168; /* 0x0168 */ u8 unk_168;

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x158]; /* 0x014C */ char unk_14C[0x158];
} BgBombwall; // size = 0x02A4 } BgBombwall; // size = 0x02A4

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x3C]; /* 0x014C */ char unk_14C[0x3C];
} BgBowlWall; // size = 0x0188 } BgBowlWall; // size = 0x0188

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xA4]; /* 0x014C */ char unk_14C[0xA4];
} BgBreakwall; // size = 0x01F0 } BgBreakwall; // size = 0x01F0

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x24]; /* 0x014C */ char unk_14C[0x24];
} BgDdanJd; // size = 0x0170 } BgDdanJd; // size = 0x0170

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x7C]; /* 0x014C */ char unk_14C[0x7C];
} BgDdanKd; // size = 0x01C8 } BgDdanKd; // size = 0x01C8

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x104]; /* 0x014C */ char unk_14C[0x104];
} BgDodoago; // size = 0x0250 } BgDodoago; // size = 0x0250

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x3768]; /* 0x014C */ char unk_14C[0x3768];
} BgDyYoseizo; // size = 0x38B4 } BgDyYoseizo; // size = 0x38B4

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x40]; /* 0x014C */ char unk_14C[0x40];
} BgGanonOtyuka; // size = 0x018C } BgGanonOtyuka; // size = 0x018C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x30]; /* 0x014C */ char unk_14C[0x30];
} BgGateShutter; // size = 0x017C } BgGateShutter; // size = 0x017C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1C]; /* 0x014C */ char unk_14C[0x1C];
} BgGjyoBridge; // size = 0x0168 } BgGjyoBridge; // size = 0x0168

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x24]; /* 0x014C */ char unk_14C[0x24];
} BgGndDarkmeiro; // size = 0x0170 } BgGndDarkmeiro; // size = 0x0170

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x2C]; /* 0x014C */ char unk_14C[0x2C];
} BgGndFiremeiro; // size = 0x0178 } BgGndFiremeiro; // size = 0x0178

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x28]; /* 0x014C */ char unk_14C[0x28];
} BgGndIceblock; // size = 0x0174 } BgGndIceblock; // size = 0x0174

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x54]; /* 0x014C */ char unk_14C[0x54];
} BgGndSoulmeiro; // size = 0x01A0 } BgGndSoulmeiro; // size = 0x01A0

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1C]; /* 0x014C */ char unk_14C[0x1C];
} BgHaka; // size = 0x0168 } BgHaka; // size = 0x0168

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x28]; /* 0x014C */ char unk_14C[0x28];
} BgHakaGate; // size = 0x0174 } BgHakaGate; // size = 0x0174

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} BgHakaHuta; // size = 0x016C } BgHakaHuta; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} BgHakaMegane; // size = 0x016C } BgHakaMegane; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} BgHakaMeganeBG; // size = 0x016C } BgHakaMeganeBG; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1EC]; /* 0x014C */ char unk_14C[0x1EC];
} BgHakaSgami; // size = 0x0338 } BgHakaSgami; // size = 0x0338

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x2C]; /* 0x014C */ char unk_14C[0x2C];
} BgHakaShip; // size = 0x0178 } BgHakaShip; // size = 0x0178

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x150]; /* 0x014C */ char unk_14C[0x150];
} BgHakaTrap; // size = 0x029C } BgHakaTrap; // size = 0x029C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xB8]; /* 0x014C */ char unk_14C[0xB8];
} BgHakaTubo; // size = 0x0204 } BgHakaTubo; // size = 0x0204

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x8]; /* 0x014C */ char unk_14C[0x8];
} BgHakaWater; // size = 0x0154 } BgHakaWater; // size = 0x0154

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x6C]; /* 0x014C */ char unk_14C[0x6C];
} BgHakaZou; // size = 0x01B8 } BgHakaZou; // size = 0x01B8

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x2C]; /* 0x014C */ char unk_14C[0x2C];
} BgHeavyBlock; // size = 0x0178 } BgHeavyBlock; // size = 0x0178

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x58]; /* 0x014C */ char unk_14C[0x58];
} BgHidanCurtain; // size = 0x01A4 } BgHidanCurtain; // size = 0x01A4

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1B0]; /* 0x014C */ char unk_14C[0x1B0];
} BgHidanDalm; // size = 0x02FC } BgHidanDalm; // size = 0x02FC

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x54]; /* 0x014C */ char unk_14C[0x54];
} BgHidanFirewall; // size = 0x01A0 } BgHidanFirewall; // size = 0x01A0

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ DynaPolyActor dyna; /* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ ActorFunc actionFunc; /* 0x0164 */ ActorFunc actionFunc;
/* 0x0168 */ s16 unk_168; /* 0x0168 */ s16 unk_168;

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x54]; /* 0x014C */ char unk_14C[0x54];
} BgHidanFwbig; // size = 0x01A0 } BgHidanFwbig; // size = 0x01A0

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xFC]; /* 0x014C */ char unk_14C[0xFC];
} BgHidanHamstep; // size = 0x0248 } BgHidanHamstep; // size = 0x0248

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xF8]; /* 0x014C */ char unk_14C[0xF8];
} BgHidanHrock; // size = 0x0244 } BgHidanHrock; // size = 0x0244

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} BgHidanKousi; // size = 0x016C } BgHidanKousi; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x78]; /* 0x014C */ char unk_14C[0x78];
} BgHidanKowarerukabe; // size = 0x01C4 } BgHidanKowarerukabe; // size = 0x01C4

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x7C]; /* 0x014C */ char unk_14C[0x7C];
} BgHidanRock; // size = 0x01C8 } BgHidanRock; // size = 0x01C8

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1BC]; /* 0x014C */ char unk_14C[0x1BC];
} BgHidanRsekizou; // size = 0x0308 } BgHidanRsekizou; // size = 0x0308

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1C8]; /* 0x014C */ char unk_14C[0x1C8];
} BgHidanSekizou; // size = 0x0314 } BgHidanSekizou; // size = 0x0314

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xC0]; /* 0x014C */ char unk_14C[0xC0];
} BgHidanSima; // size = 0x020C } BgHidanSima; // size = 0x020C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x28]; /* 0x014C */ char unk_14C[0x28];
} BgIceObjects; // size = 0x0174 } BgIceObjects; // size = 0x0174

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xB8]; /* 0x014C */ char unk_14C[0xB8];
} BgIceShelter; // size = 0x0204 } BgIceShelter; // size = 0x0204

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1C]; /* 0x014C */ char unk_14C[0x1C];
} BgIceShutter; // size = 0x0168 } BgIceShutter; // size = 0x0168

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x6C]; /* 0x014C */ char unk_14C[0x6C];
} BgIceTurara; // size = 0x01B8 } BgIceTurara; // size = 0x01B8

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1C]; /* 0x014C */ char unk_14C[0x1C];
} BgIngate; // size = 0x0168 } BgIngate; // size = 0x0168

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x70]; /* 0x014C */ char unk_14C[0x70];
} BgJya1flift; // size = 0x01BC } BgJya1flift; // size = 0x01BC

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x28]; /* 0x014C */ char unk_14C[0x28];
} BgJyaBigmirror; // size = 0x0174 } BgJyaBigmirror; // size = 0x0174

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x18]; /* 0x014C */ char unk_14C[0x18];
} BgJyaBlock; // size = 0x0164 } BgJyaBlock; // size = 0x0164

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x6C]; /* 0x014C */ char unk_14C[0x6C];
} BgJyaBombchuiwa; // size = 0x01B8 } BgJyaBombchuiwa; // size = 0x01B8

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x7C]; /* 0x014C */ char unk_14C[0x7C];
} BgJyaBombiwa; // size = 0x01C8 } BgJyaBombiwa; // size = 0x01C8

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1058]; /* 0x014C */ char unk_14C[0x1058];
} BgJyaCobra; // size = 0x11A4 } BgJyaCobra; // size = 0x11A4

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x70]; /* 0x014C */ char unk_14C[0x70];
} BgJyaGoroiwa; // size = 0x01BC } BgJyaGoroiwa; // size = 0x01BC

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x68]; /* 0x014C */ char unk_14C[0x68];
} BgJyaHaheniron; // size = 0x01B4 } BgJyaHaheniron; // size = 0x01B4

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x68]; /* 0x014C */ char unk_14C[0x68];
} BgJyaIronobj; // size = 0x01B4 } BgJyaIronobj; // size = 0x01B4

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} BgJyaLift; // size = 0x016C } BgJyaLift; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1F0]; /* 0x014C */ char unk_14C[0x1F0];
} BgJyaMegami; // size = 0x033C } BgJyaMegami; // size = 0x033C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x24]; /* 0x014C */ char unk_14C[0x24];
} BgJyaZurerukabe; // size = 0x0170 } BgJyaZurerukabe; // size = 0x0170

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x64]; /* 0x014C */ char unk_14C[0x64];
} BgMenkuriEye; // size = 0x01B0 } BgMenkuriEye; // size = 0x01B0

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x170]; /* 0x014C */ char unk_14C[0x170];
} BgMizuBwall; // size = 0x02BC } BgMizuBwall; // size = 0x02BC

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x3C]; /* 0x014C */ char unk_14C[0x3C];
} BgMizuMovebg; // size = 0x0188 } BgMizuMovebg; // size = 0x0188

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x44]; /* 0x014C */ char unk_14C[0x44];
} BgMizuShutter; // size = 0x0190 } BgMizuShutter; // size = 0x0190

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x14]; /* 0x014C */ char unk_14C[0x14];
} BgMizuWater; // size = 0x0160 } BgMizuWater; // size = 0x0160

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ DynaPolyActor dyna; /* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ s8 objBankIndex; /* 0x0164 */ s8 objBankIndex;
/* 0x0168 */ ActorFunc actionFunc; /* 0x0168 */ ActorFunc actionFunc;

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} BgMoriBigst; // size = 0x016C } BgMoriBigst; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x28]; /* 0x014C */ char unk_14C[0x28];
} BgMoriElevator; // size = 0x0174 } BgMoriElevator; // size = 0x0174

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x84]; /* 0x014C */ char unk_14C[0x84];
} BgMoriHashigo; // size = 0x01D0 } BgMoriHashigo; // size = 0x01D0

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} BgMoriHashira4; // size = 0x016C } BgMoriHashira4; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} BgMoriHineri; // size = 0x016C } BgMoriHineri; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x14]; /* 0x014C */ char unk_14C[0x14];
} BgMoriIdomizu; // size = 0x0160 } BgMoriIdomizu; // size = 0x0160

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x3C]; /* 0x014C */ char unk_14C[0x3C];
} BgMoriKaitenkabe; // size = 0x0188 } BgMoriKaitenkabe; // size = 0x0188

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x2C]; /* 0x014C */ char unk_14C[0x2C];
} BgMoriRakkatenjo; // size = 0x0178 } BgMoriRakkatenjo; // size = 0x0178

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xFC]; /* 0x014C */ char unk_14C[0xFC];
} BgPoEvent; // size = 0x0248 } BgPoEvent; // size = 0x0248

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x64]; /* 0x014C */ char unk_14C[0x64];
} BgPoSyokudai; // size = 0x01B0 } BgPoSyokudai; // size = 0x01B0

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ DynaPolyActor dyna; /* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ ActorFunc actionFunc; /* 0x0164 */ ActorFunc actionFunc;
} BgPushbox; // size = 0x0168 } BgPushbox; // size = 0x0168

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x20]; /* 0x014C */ char unk_14C[0x20];
} BgRelayObjects; // size = 0x016C } BgRelayObjects; // size = 0x016C

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x34]; /* 0x014C */ char unk_14C[0x34];
} BgSpot00Hanebasi; // size = 0x0180 } BgSpot00Hanebasi; // size = 0x0180

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x28]; /* 0x014C */ char unk_14C[0x28];
} BgSpot01Idohashira; // size = 0x0174 } BgSpot01Idohashira; // size = 0x0174

View file

@ -4,8 +4,7 @@
#include <ultra64.h> #include <ultra64.h>
#include <global.h> #include <global.h>
typedef struct typedef struct {
{
/* 0x0000 */ Actor actor; /* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0xC]; /* 0x014C */ char unk_14C[0xC];
} BgSpot01Idomizu; // size = 0x0158 } BgSpot01Idomizu; // size = 0x0158

Some files were not shown because too many files have changed in this diff Show more