1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-05 23:44:53 +00:00

Decompile z_play.c and Match/Document some of z_view.c (#74)

* Decompile z_play.c and Match/Document some of z_view.c

Also fix the last non matching in z_sample.c and update some game state functions.

* Suggestions from PR #74

* Fix undefined reference to Gameplay_DrawOverlay

* Suggestion from PR #74 (2)

* Fix a fake argument in func_800BC450
This commit is contained in:
Roman971 2020-04-16 23:36:12 +02:00 committed by GitHub
parent 9ac1f8130d
commit 262f6c507c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
278 changed files with 5139 additions and 5939 deletions

View file

@ -307,7 +307,7 @@ void func_8002DE04(GlobalContext* globalCtx, Actor* actorA, Actor* actorB);
void func_8002DE74(GlobalContext* globalCtx, Player* player);
void func_8002DECC(GlobalContext* globalCtx, Player* player, Actor* actor);
s32 func_8002DEEC(Player* player);
void func_8002DF18(GlobalContext* globalCtx, ActorContext* actorCtx);
void func_8002DF18(GlobalContext* globalCtx, Player* player);
u32 func_8002DF38(GlobalContext* globalCtx, Actor* actor, u8 newAction);
s32 func_8002DF54(GlobalContext* globalCtx, Actor* actor, u8 arg2);
void func_8002DF90(DynaPolyActor* dynaActor);
@ -362,6 +362,7 @@ void func_800304DC(GlobalContext* globalCtx, ActorContext* actorCtx, ActorEntry*
void Actor_UpdateAll(GlobalContext* globalCtx, ActorContext* actorCtx);
s32 func_800314D4(GlobalContext* globalCtx, Actor* actorB, Vec3f* arg2, f32 arg3);
void func_80031B14(GlobalContext* globalCtx, ActorContext* actorCtx);
void func_80031C3C(ActorContext* actorCtx, GlobalContext* globalCtx);
Actor* Actor_Spawn(ActorContext* actorCtx, GlobalContext* globalCtx, s16 actorId, f32 posX, f32 posY, f32 posZ,
s16 rotX, s16 rotY, s16 rotZ, s16 params);
Actor* Actor_SpawnAttached(ActorContext* actorCtx, Actor* attachedTo, GlobalContext* globalCtx, s16 actorId, f32 posX,
@ -475,10 +476,10 @@ void func_80038A28(CollisionPoly*, f32, f32, f32, MtxF*);
// ? func_8003C55C(?);
// ? func_8003C614(?);
f32 func_8003C8EC(GlobalContext*, CollisionContext*, CollisionPoly**, Vec3f*);
// ? func_8003C940(?);
f32 func_8003C940(CollisionContext*, CollisionPoly**, s32*, Vec3f*);
// ? func_8003C9A4(?);
f32 func_8003CA0C(GlobalContext*, CollisionContext*, CollisionPoly**, u32*, Actor*, Vec3f*);
// ? func_8003CB30(?);
f32 func_8003CB30(GlobalContext*, CollisionContext*, PosRot*, MtxF*);
f32 func_8003CCA4(CollisionContext*, CollisionPoly**, s32*, Vec3f*);
// ? func_8003CDD4(?);
s32 func_8003D52C(CollisionContext*, Vec3f*, Vec3f*, Vec3f*, f32, CollisionPoly**, u32*, Actor*, f32);
@ -631,14 +632,14 @@ f32 func_800437F0(f32, f32);
// ? func_80057C6C(?);
// ? func_80057FC4(?);
// ? func_80058148(?);
// ? func_80058354(?);
void Camera_ChangeStatus(Camera* camera, s16 status);
// ? func_800584E8(?);
// ? func_800588B4(?);
// ? func_80058CF8(?);
// ? func_80058D34(?);
// ? func_80058E8C(?);
// ? func_800591EC(?);
// ? func_80059EC8(?);
void func_80059EC8(Camera* camera);
// ? func_8005A02C(?);
// ? func_8005A04C(?);
// ? func_8005A444(?);
@ -646,9 +647,9 @@ f32 func_800437F0(f32, f32);
// ? func_8005A77C(?);
// ? func_8005A7A8(?);
// ? func_8005A8C4(?);
s16 func_8005A970(u32 gl790);
s16 func_8005A970(Vec3s, Camera*);
s16 func_8005A9F4(Camera* camera);
// ? func_8005AA90(?);
s32 func_8005AA90(Camera*, s32, Vec3f*);
// ? func_8005AC48(?);
// ? func_8005AC60(?);
// ? func_8005AC6C(?);
@ -727,7 +728,7 @@ s32 func_8005D1E0(GlobalContext* globalCtx, ColliderCylinderMain* collision);
// ? func_8005D334(?);
// ? func_8005D3A4(?);
// ? func_8005D3BC(?);
void func_8005D400(UNK_TYPE, UNK_TYPE);
void func_8005D400(GlobalContext*, SubGlobalContext11E60*);
// ? func_8005D40C(?);
// ? func_8005D4DC(?);
// ? func_8005D62C(?);
@ -812,13 +813,13 @@ s32 func_8006C4A4(GlobalContext*, s32);
// ? func_8006D0AC(?);
// ? func_8006D0EC(?);
// ? func_8006D684(?);
// ? func_8006DC68(?);
void func_8006DC68(GlobalContext* globalCtx, Player* player);
u32 Jpeg_SendTask(JpegContext* ctx);
void Jpeg_CopyToZbuffer(u16* src, u16* zbuffer, s32 x, s32 y);
u16 Jpeg_GetU16(u8* ptr);
void Jpeg_ParseMarkers(u8* ptr, JpegContext* ctx);
s32 Jpeg_Decode(void* data, u16* zbuffer, JpegWork* workBuff, u32 workSize);
// ? func_8006EA30(?);
void func_8006EA30(GlobalContext* globalCtx);
// ? func_8006ECF4(?);
void func_8006EE48(UNK_TYPE);
// ? func_8006EE50(?);
@ -828,7 +829,7 @@ void func_8006EE48(UNK_TYPE);
// ? func_8006F0A0(?);
// ? func_8006F0D4(?);
// ? func_8006F0FC(?);
// ? func_8006F140(?);
u8 func_8006F140(GlobalContext*, EnvironmentContext*, UNK_TYPE);
f32 func_8006F93C(u16, u16, u16);
f32 func_8006F9BC(u16, u16, u16, u16, u16);
// ? func_8006FB94(?);
@ -838,7 +839,7 @@ f32 func_8006F9BC(u16, u16, u16, u16, u16);
// ? func_80070718(?);
// ? func_80070C24(?);
// ? func_800730DC(?);
// ? func_80073988(?);
void func_80073988(GlobalContext*, EnvironmentContext*, View*, GraphicsContext*, Vec3f, UNK_TYPE);
// ? func_80073A5C(?);
f32 func_800746DC();
// ? func_80074704(?);
@ -854,7 +855,7 @@ f32 func_800746DC();
// ? func_800760F4(?);
// ? func_800763A8(?);
// ? func_800766C4(?);
// ? func_8007672C(?);
void func_8007672C(GraphicsContext*, u8, u8, u8, u8, UNK_TYPE);
// ? func_80076934(?);
void func_800773A8(GlobalContext* globalCtx, f32 arg1, f32 arg2, f32 arg3, f32 arg4);
s32 func_800775CC();
@ -963,7 +964,7 @@ f32 func_8007BF90(Vec3f*, Vec3f*);
// ? func_8007C850(?);
// ? func_8007FFE0(?);
// ? func_80080024(?);
s16 func_800800F8(GlobalContext* globalCtx, u32 arg1, u32 arg2, Actor* actor, u32 arg4);
s16 func_800800F8(GlobalContext* globalCtx, s16 arg1, s16 arg2, Actor* actor, s16 arg4);
// ? func_800803F0(?);
// ? func_80080480(?);
void func_80080788(UNK_TYPE, UNK_TYPE);
@ -1012,10 +1013,10 @@ void Path_CopyLastPoint(Path* path, Vec3f* dest);
// ? func_8008E6A0(?);
// ? func_8008E6AC(?);
// ? func_8008E750(?);
UNK_TYPE func_8008E8DC(GlobalContext*, Player*);
UNK_TYPE func_8008E988(GlobalContext*);
UNK_TYPE func_8008E9C4(Player* player);
UNK_TYPE func_8008E9D0(Player* player);
s32 func_8008E8DC(GlobalContext*, Player*);
s32 func_8008E988(GlobalContext*);
s32 func_8008E9C4(Player* player);
s32 func_8008E9D0(Player* player);
// ? func_8008E9F8(?);
// ? func_8008EA40(?);
// ? func_8008EB2C(?);
@ -1023,22 +1024,22 @@ UNK_TYPE func_8008E9D0(Player* player);
void func_8008ECAC(GlobalContext*, Player* player);
void func_8008EDF0(Player*);
// ? func_8008EE08(?);
UNK_TYPE func_8008EF44(GlobalContext*, UNK_TYPE);
s32 func_8008EF44(GlobalContext*, s32);
// ? func_8008F034(?);
u8 func_8008F080(GlobalContext*);
void func_8008F08C(GlobalContext*);
UNK_TYPE func_8008F098(GlobalContext*);
UNK_TYPE func_8008F0AC(GlobalContext*);
s32 func_8008F0D8(Player* player, UNK_TYPE);
UNK_TYPE func_8008F104(Player* player);
UNK_TYPE func_8008F128(Player* player);
s32 func_8008F158(UNK_TYPE);
s32 func_8008F098(GlobalContext*);
s32 func_8008F0AC(GlobalContext*);
s32 func_8008F0D8(Player* player, s32);
s32 func_8008F104(Player* player);
s32 func_8008F128(Player* player);
s32 func_8008F158(s32);
void func_8008F180(Player* player);
UNK_TYPE func_8008F1A0(Player* player);
s32 func_8008F1A0(Player* player);
// ? func_8008F1CC(?);
s32 func_8008F224(Player* player, UNK_TYPE);
s32 func_8008F224(Player* player, s32);
void func_8008F250(Player* player);
s32 func_8008F270(Player* player, UNK_TYPE);
s32 func_8008F270(Player* player, s32);
s32 func_8008F29C(Player* player);
s32 func_8008F2F8(GlobalContext*);
// ? func_8008F470(?);
@ -1114,7 +1115,7 @@ Gfx* Gfx_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1
u32 x2, u32 y2, s32 width2, s32 height2, s32 r, s32 g, s32 b, s32 a);
void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b);
void func_80095974(GraphicsContext* gfxCtx);
void func_80095AA0(GlobalContext* globalCtx, Room* room, UNK_TYPE arg2, UNK_TYPE arg3);
void func_80095AA0(GlobalContext* globalCtx, Room* room, Input* arg2, UNK_TYPE arg3);
// ? func_8009638C(?);
void func_80096FD4(GlobalContext* globalCtx, Room* room);
u32 func_80096FE8(GlobalContext* globalCtx, RoomContext* roomCtx);
@ -1122,12 +1123,7 @@ s32 func_8009728C(GlobalContext* globalCtx, RoomContext* roomCtx, s32 roomNum);
s32 func_800973FC(GlobalContext* globalCtx, RoomContext* roomCtx);
void Room_Draw(GlobalContext* globalCtx, Room* room, u32 flags);
void func_80097534(GlobalContext* globalCtx, RoomContext* roomCtx);
void Sample_Calc(SampleContext* this);
void Sample_Draw(SampleContext* this);
void Sample_Update(SampleContext* this);
void Sample_Destroy(SampleContext* this);
void Sample_SetupView(SampleContext* this);
void Sample_LoadTitleStatic(SampleContext* this);
void Sample_Init(SampleContext* this);
void Inventory_ChangeEquipment(s16 equipment, u16 value);
u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment);
@ -1263,21 +1259,19 @@ u32 func_800AA148();
void func_800AA15C();
void func_800AA16C();
void func_800AA178(u32);
void func_800AA190(UnkViewStruct* arg0, Viewport* viewport);
View* func_800AA1F8(GraphicsContext* gfxCtx);
void func_800AA250(View* view);
void func_800AA278(View*, GraphicsContext*);
void func_800AA358(View* view, Vec3f* vec1, Vec3f* vec2, Vec3f* vec3);
void func_800AA3F0(View* view, Vec3f* vec1, Vec3f* vec2, Vec3f* vec3);
void func_800AA43C(View* view, f32 arg1);
void func_800AA454(View* view, f32* arg1);
void func_800AA460(View* view, f32 fieldOfView, f32 fogDistance, f32 zDepth);
void func_800AA48C(View* view, f32* fieldOfView, f32* fogDistance, f32* zDepth);
void func_800AA4A8(View* view, f32 fieldOfView, f32 fogDistance, f32 zDepth);
void func_800AA4E0(View* view, f32* fieldOfView, f32* fogDistance, f32* zDepth);
void func_800AA4FC(View* view, Viewport* viewport);
void func_800AA52C(View* view, Viewport* viewport);
void func_800AA550(View* view);
View* View_New(GraphicsContext* gfxCtx);
void View_Free(View* view);
void View_Init(View*, GraphicsContext*);
void func_800AA358(View* view, Vec3f* eye, Vec3f* vec2, Vec3f* vec3);
void func_800AA3F0(View* view, Vec3f* eye, Vec3f* vec2, Vec3f* vec3);
void View_SetScale(View* view, f32 scale);
void View_GetScale(View* view, f32* scale);
void func_800AA460(View* view, f32 fovy, f32 near, f32 far);
void func_800AA48C(View* view, f32* fovy, f32* near, f32* far);
void func_800AA4A8(View* view, f32 fovy, f32 near, f32 far);
void func_800AA4E0(View* view, f32* fovy, f32* near, f32* far);
void View_SetViewport(View* view, Viewport* viewport);
void View_GetViewport(View* view, Viewport* viewport);
void func_800AA76C(View* view, f32 arg1, f32 arg2, f32 arg3);
void func_800AA78C(View* view, f32 arg1, f32 arg2, f32 arg3);
void func_800AA7AC(View* view, f32 arg1);
@ -1291,7 +1285,7 @@ s32 func_800AB0A8(View* view);
s32 func_800AB2C4(View* view);
s32 func_800AB560(View* view);
s32 func_800AB944(View* view);
// ? func_800AB9EC(?);
s32 func_800AB9EC(View* view, s32 arg1, Gfx** p);
s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ);
// ? func_800AC030(?);
// ? func_800AC2F4(?);
@ -1308,7 +1302,7 @@ s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ);
// ? func_800AD054(?);
// ? func_800AD080(?);
// ? func_800AD394(?);
// ? func_800AD5C0(?);
void func_800AD5C0(UNK_PTR, Gfx**);
// ? func_800AD920(?);
// ? func_800AD950(?);
// ? func_800AD958(?);
@ -1318,50 +1312,50 @@ s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ);
// ? func_800AF178(?);
// ? func_800AF218(?);
// ? func_800B0E50(?);
// ? func_800B1030(?);
// ? func_800B10C4(?);
void func_800B1030(SkyboxContext*, f32, f32, f32);
void func_800B10C4(SkyboxContext*, GraphicsContext*, s16, s16, f32, f32, f32);
// ? func_800B1744(?);
void PlayerCall_InitFuncPtrs();
// ? func_800B18B0(?);
// ? func_800B1CFC(?);
// ? func_800B1DBC(?);
void func_800B1DBC(TransitionStruct*);
// ? func_800B1E84(?);
// ? func_800B2074(?);
// ? func_800B2188(?);
// ? func_800B23E8(?);
// ? func_800B2400(?);
// ? func_800B2438(?);
// ? func_800B24D0(?);
// ? func_800B24D8(?);
// ? func_800B25EC(?);
// ? func_800B25F4(?);
// ? func_800B2604(?);
// ? func_800B2944(?);
// ? func_800B29D0(?);
// ? func_800B2A88(?);
// ? func_800B2AB0(?);
// ? func_800B2AB8(?);
// ? func_800B2B98(?);
// ? func_800B2DD4(?);
// ? func_800B2DDC(?);
// ? func_800B2E1C(?);
// ? func_800B2E30(?);
// ? func_800B301C(?);
// ? func_800B3044(?);
// ? func_800B304C(?);
// ? func_800B31D0(?);
// ? func_800B346C(?);
// ? func_800B3474(?);
// ? func_800B34CC(?);
// ? func_800B34D4(?);
// ? func_800B34E0(?);
// ? func_800B3538(?);
// ? func_800B3560(?);
// ? func_800B3568(?);
// ? func_800B3718(?);
// ? func_800B37DC(?);
// ? func_800B37E4(?);
// ? func_800B37EC(?);
void func_800B2188(TransitionStruct*, Gfx**);
void func_800B23E8(TransitionStruct*);
void func_800B2400(UNK_ARGS);
void func_800B2438(UNK_ARGS);
void func_800B24D0(UNK_ARGS);
void func_800B24D8(UNK_ARGS);
void func_800B25EC(UNK_ARGS);
void func_800B25F4(UNK_ARGS);
void func_800B2604(UNK_ARGS);
s32 func_800B2944(UNK_ARGS);
void func_800B29D0(UNK_ARGS);
void func_800B2A88(UNK_ARGS);
void func_800B2AB0(UNK_ARGS);
void func_800B2AB8(UNK_ARGS);
void func_800B2B98(UNK_ARGS);
s32 func_800B2DD4(UNK_ARGS);
void func_800B2DDC(UNK_ARGS);
void func_800B2E1C(UNK_ARGS);
void func_800B2E30(UNK_ARGS);
void func_800B301C(UNK_ARGS);
void func_800B3044(UNK_ARGS);
void func_800B304C(UNK_ARGS);
void func_800B31D0(UNK_ARGS);
s32 func_800B346C(UNK_ARGS);
void func_800B3474(UNK_ARGS);
void func_800B34CC(UNK_ARGS);
void func_800B34D4(UNK_ARGS);
void func_800B34E0(UNK_ARGS);
void func_800B3538(UNK_ARGS);
void func_800B3560(UNK_ARGS);
void func_800B3568(UNK_ARGS);
void func_800B3718(UNK_ARGS);
s32 func_800B37DC(UNK_ARGS);
void func_800B37E4(UNK_ARGS);
void func_800B37EC(UNK_ARGS);
// ? func_800B3840(?);
// ? func_800B3898(?);
// ? func_800B38A4(?);
@ -1422,45 +1416,40 @@ void KaleidoScopeCall_Init(GlobalContext* globalCtx);
void KaleidoScopeCall_Destroy(GlobalContext* globalCtx);
void KaleidoScopeCall_Update(GlobalContext* globalCtx);
void KaleidoScopeCall_Draw(GlobalContext* globalCtx);
// ? func_800BC450(?);
// ? func_800BC490(?);
s32 func_800BC56C(GlobalContext*, s16);
// ? func_800BC5E0(?);
void func_800BC88C(GlobalContext*);
Gfx* func_800BC8A0(GlobalContext* globalCtx, Gfx* a1);
void func_800BC8EC(GlobalContext*);
UNK_TYPE func_800BCA64(UNK_ARGS);
// ? func_800BD314(?);
// ? func_800BED40(?);
// ? func_800BEDD8(?);
// ? func_800BFAE4(?);
s32 func_800BFC84(GlobalContext* globalCtx);
f32 func_800BFCB8(GlobalContext* globalCtx, MtxF* a1, Vec3f* a2);
void* func_800BFE5C(GlobalContext* globalCtx, RomFile* file);
// ? func_800BFEC4(?);
// ? func_800BFF0C(?);
// ? Area_Spawn(?);
// ? func_800C016C(?);
// ? func_800C0230(?);
s16 func_800C030C(GlobalContext* globalCtx);
// ? func_800C0314(?);
// ? func_800C0384(?);
Camera* func_800C04A4(GlobalContext*, s16);
// ? func_800C04D8(?);
void func_800C0704(GlobalContext*, s16, f32);
// ? func_800C0744(?);
// ? func_800C078C(?);
// ? func_800C0808(?);
// ? func_800C0874(?);
void func_800C0C88(GlobalContext* globalCtx);
// ? func_800C0A44(?);
// ? func_800C0A88(?);
void func_800C0AF4(GlobalContext*, s8, s16);
void func_800C0B60(GlobalContext* globalCtx);
void func_800C0BB4(GlobalContext* globalCtx);
// ? func_800C0CB8(?);
void func_800BC490(GlobalContext* globalCtx, s16 point);
s32 func_800BC56C(GlobalContext* globalCtx, s16 arg1);
void func_800BC590(GlobalContext* globalCtx);
void func_800BC5E0(GlobalContext* globalCtx, s32 arg1);
Gfx* func_800BC8A0(GlobalContext* globalCtx, Gfx* gfx);
void Gameplay_Destroy(GlobalContext* globalCtx);
void Gameplay_Init(GlobalContext* globalCtx);
void Gameplay_Main(GlobalContext* globalCtx);
s32 Gameplay_InCsMode(GlobalContext* globalCtx);
f32 func_800BFCB8(GlobalContext* globalCtx, MtxF* mf, Vec3f* vec);
void* Gameplay_LoadFile(GlobalContext* globalCtx, RomFile* file);
void Gameplay_SpawnScene(GlobalContext* globalCtx, s32 sceneNum, s32 spawn);
void func_800C016C(GlobalContext* globalCtx, Vec3f* src, Vec3f* dest);
s16 Gameplay_CreateSubCamera(GlobalContext* globalCtx);
s16 Gameplay_GetActiveCamId(GlobalContext* globalCtx);
void Gameplay_ChangeCameraStatus(GlobalContext* globalCtx, s16 camId, s16 status);
void Gameplay_ClearCamera(GlobalContext* globalCtx, s16 camId);
void Gameplay_ClearAllSubCameras(GlobalContext* globalCtx);
Camera* Gameplay_GetCamera(GlobalContext* globalCtx, s16 camId);
s32 func_800C04D8(GlobalContext* globalCtx, s16 camId, Vec3f* arg2, Vec3f* arg3);
s32 func_800C05E4(GlobalContext* globalCtx, s16 camId, Vec3f* arg2, Vec3f* arg3, Vec3f* arg4);
s32 func_800C0704(GlobalContext* globalCtx, s16 camId, f32 arg2);
s32 func_800C0744(GlobalContext* globalCtx, s16 camId, s16 arg2);
void func_800C078C(GlobalContext* globalCtx, s16 camId1, s16 camId2);
void func_800C0808(GlobalContext* globalCtx, s16 camId, s32 arg2, s16 arg3);
void func_800C0874(GlobalContext* globalCtx, s16 camId, s16 arg2);
void func_800C08AC(GlobalContext* globalCtx, s16 camId, s16 arg2);
void Gameplay_SaveSceneFlags(GlobalContext* globalCtx);
void Gameplay_SetupRespawnPoint(GlobalContext* globalCtx, s32 respawnMode, s32 playerParams);
void Gameplay_TriggerVoidOut(GlobalContext* globalCtx);
void Gameplay_TriggerRespawn(GlobalContext* globalCtx);
s32 func_800C0CB8(GlobalContext* globalCtx);
s32 func_800C0D28(GlobalContext* globalCtx);
// ? func_800C0D34(?);
s32 func_800C0D34(GlobalContext* globalCtx, Actor* actor, s16* yaw);
// ? func_800C0E70(?);
// ? func_800C0EA8(?);
// ? func_800C0ED8(?);
@ -1623,7 +1612,7 @@ f32 func_800CA774(f32);
// ? func_800CB600(?);
// ? func_800CB628(?);
// ? func_800CB650(?);
// ? func_800CB678(?);
f32 func_800CB678(Vec3f*, Vec3f*);
// ? func_800CB698(?);
// ? func_800CB7B4(?);
// ? func_800CB824(?);
@ -2361,7 +2350,7 @@ s16 sins(u16);
// ? func_80101AA4(?);
// ? func_80101B40(?);
// ? func_80101B90(?);
void func_80101E34(MtxF*, f32, f32, f32, f32, f32, f32, f32, f32, f32);
void func_80101E34(Mtx*, f32, f32, f32, f32, f32, f32, f32, f32, f32);
// ? func_80101EB0(?);
// ? func_801021E4(?);
// ? osStopTimer(?);
@ -2415,7 +2404,7 @@ void func_80104D00(u8 a0);
// ? func_80105CF0(?);
// s32 osReadMempak(OSMesgQueue* ctrlrqueue, u32 ctrlridx, s16 addr, PIF_mempak_data_t* data)
u8 osMempakAddrCRC(u16 addr);
u8 osMempakDataCRC(u8 *data);
u8 osMempakDataCRC(u8* data);
u32 __osSpGetStatus();
void __osSpSetStatus(u32 status);
// ? osWritebackDCacheAll(?);
@ -2432,7 +2421,7 @@ OSThread* __osGetCurrFaultedThread();
// ? func_80106760(?);
// ? func_801067A0(?);
f32 absf(f32);
// ? func_80106860(?);
void* func_80106860(void* ptr, s32 val, size_t size);
// ? func_801068B0(?);
// ? func_801069B0(?);
u8 func_80106BC8(GlobalContext* globalCtx);