Use structs.h generated from Ghidra project

This commit is contained in:
rozlette 2019-09-29 01:37:21 -05:00
parent 0ecea6b626
commit a8060ddcff
21 changed files with 1791 additions and 514 deletions

View File

@ -7,6 +7,9 @@
#include <guint.h>
#include <unk.h>
#include <structs.h>
#include <structs_bitfields.h>
#include <stdlib.h>
#include <xstdio.h>
UNK_RET start(void); // func_80080060
void Init_ClearMemory(UNK_PTR, UNK_PTR); // func_80080150
@ -21,13 +24,13 @@ UNK_RET func_800805E0(UNK_TYPE); // func_800805E0
UNK_RET func_80080748(void); // func_80080748
s32 Dmamgr_DoDmaTransfer(void*, void*, s32); // func_80080790
void Dmamgr_osEPiStartDmaWrapper(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction); // func_800808D4
DmadataEntry* Dmamgr_FindDmaEntry(u32); // func_800808F4
z_DmadataEntry* Dmamgr_FindDmaEntry(u32); // func_800808F4
s32 Dmamgr_TranslateVromToRom(u32); // func_80080950
s32 Dmamgr_FindDmaIndex(u32); // func_800809BC
UNK_TYPE* func_800809F4(u32); // func_800809F4
void Dmamgr_HandleRequest(s80080A08*); // func_80080A08
void Dmamgr_HandleRequest(z_DmaRequest*); // func_80080A08
void Dmamgr_ThreadEntry(void*); // func_80080B84
s32 Dmamgr_SendRequest(s80080A08*, UNK_FUN_ARG, UNK_PTR, UNK_TYPE, UNK_TYPE, OSMesgQueue*, UNK_TYPE); // func_80080C04
s32 Dmamgr_SendRequest(z_DmaRequest*, UNK_FUN_ARG, UNK_PTR, UNK_TYPE, UNK_TYPE, OSMesgQueue*, UNK_TYPE); // func_80080C04
s32 Dmamgr_SendRequestAndWait(UNK_TYPE, UNK_PTR, UNK_TYPE); // func_80080C90
void Dmamgr_Start(void); // func_80080D0C
void Dmamgr_Stop(void); // func_80080E00
@ -46,7 +49,7 @@ UNK_RET Irqmgr_HandlePrenmi3(UNK_ARGS); // func_80081550
UNK_RET Irqmgr_CheckThreadStatus(UNK_ARGS); // func_800815A8
UNK_RET Irqmgr_HandleFrame(UNK_ARGS); // func_800815CC
UNK_RET Irqmgr_ThreadEntry(UNK_ARGS); // func_80081684
UNK_RET Irqmgr_Start(UNK_PTR, s80085320*, UNK_TYPE, UNK_TYPE); // func_80081754
UNK_RET Irqmgr_Start(UNK_PTR, z_ThreadInfo*, UNK_TYPE, UNK_TYPE); // func_80081754
void nop_80081820(void); // func_80081820
void nop_80081828(void); // func_80081828
void func_80081830(void); // func_80081830
@ -139,11 +142,11 @@ UNK_RET func_80085204(UNK_ARGS); // func_80085204
UNK_RET func_8008520C(UNK_ARGS); // func_8008520C
UNK_RET func_8008522C(UNK_ARGS); // func_8008522C
UNK_RET func_8008524C(UNK_ARGS); // func_8008524C
void thread_info_init(s80085320*, UNK_PTR, UNK_PTR, UNK_TYPE, UNK_TYPE, UNK_PTR); // func_80085320
UNK_RET func_800853F8(s80085320*); // func_800853F8
UNK_TYPE get_thread_stack_status(s80085320*); // func_80085468
void thread_info_init(z_ThreadInfo*, UNK_PTR, UNK_PTR, UNK_TYPE, UNK_TYPE, UNK_PTR); // func_80085320
UNK_RET func_800853F8(z_ThreadInfo*); // func_800853F8
UNK_TYPE get_thread_stack_status(z_ThreadInfo*); // func_80085468
UNK_TYPE check_all_thread_status(UNK_ARGS); // func_800854E0
UNK_RET check_thread_status(s80085320*); // func_80085538
UNK_RET check_thread_status(z_ThreadInfo*); // func_80085538
UNK_RET func_80085570(UNK_ARGS); // func_80085570
UNK_RET func_800859BC(UNK_ARGS); // func_800859BC
UNK_RET func_80085A08(UNK_ARGS); // func_80085A08
@ -493,11 +496,11 @@ UNK_RET func_80096880(UNK_ARGS); // func_80096880
u32 func_800968B0(const u8*, const u8*); // func_800968B0
UNK_RET func_80096930(UNK_ARGS); // func_80096930
UNK_RET EnAObj_Init(void*, UNK_TYPE); // func_800A5AC0
UNK_RET EnAObj_Fini(s800A5AC0*, z_GlobalContext*); // func_800A5B6C
UNK_RET EnAObj_Update1(s800A5AC0*, UNK_TYPE); // func_800A5B98
UNK_RET EnAObj_Update2(s800A5AC0*); // func_800A5C28
UNK_RET EnAObj_Main(s800A5AC0*, UNK_TYPE); // func_800A5C60
UNK_RET EnAObj_Draw(s800A5AC0*, UNK_TYPE); // func_800A5CB8
UNK_RET EnAObj_Fini(z_ActorEnAObj*, z_GlobalContext*); // func_800A5B6C
UNK_RET EnAObj_Update1(z_ActorEnAObj*, UNK_TYPE); // func_800A5B98
UNK_RET EnAObj_Update2(z_ActorEnAObj*); // func_800A5C28
UNK_RET EnAObj_Main(z_ActorEnAObj*, UNK_TYPE); // func_800A5C60
UNK_RET EnAObj_Draw(z_ActorEnAObj*, UNK_TYPE); // func_800A5CB8
UNK_RET EnItem00_UpdateForNewObjectId(UNK_ARGS); // func_800A5D00
UNK_RET EnItem00_Init(UNK_ARGS); // func_800A5D70
UNK_RET EnItem00_Fini(UNK_ARGS); // func_800A637C
@ -605,7 +608,7 @@ UNK_RET func_800B13D8(UNK_ARGS); // func_800B13D8
UNK_RET func_800B14D4(UNK_ARGS); // func_800B14D4
UNK_RET func_800B1598(UNK_ARGS); // func_800B1598
UNK_RET func_800B165C(UNK_ARGS); // func_800B165C
UNK_RET func_800B16B8(z_GlobalContext*, z_Vector3D*, UNK_PTR, UNK_PTR, UNK_PTR, UNK_PTR); // func_800B16B8
UNK_RET func_800B16B8(z_GlobalContext*, z_Vector3f*, UNK_PTR, UNK_PTR, UNK_PTR, UNK_PTR); // func_800B16B8
UNK_RET EffectSS_LoadSparkle(UNK_ARGS); // func_800B16F4
UNK_RET func_800B1830(UNK_ARGS); // func_800B1830
UNK_RET EffectSS_LoadBomb2(UNK_ARGS); // func_800B1908
@ -714,7 +717,7 @@ UNK_RET func_800B6608(UNK_ARGS); // func_800B6608
UNK_RET func_800B6680(UNK_ARGS); // func_800B6680
UNK_RET Actor_MarkForDeath(z_Actor*); // func_800B670C
UNK_RET func_800B672C(UNK_ARGS); // func_800B672C
UNK_RET func_800B675C(s800A5AC0*, UNK_TYPE); // func_800B675C
UNK_RET func_800B675C(z_ActorEnAObj*, UNK_TYPE); // func_800B675C
UNK_RET func_800B67A0(UNK_ARGS); // func_800B67A0
UNK_RET func_800B67C0(UNK_ARGS); // func_800B67C0
UNK_RET Actor_SetScale(z_Actor*, f32); // func_800B67E0
@ -778,12 +781,12 @@ UNK_RET func_800B8248(UNK_ARGS); // func_800B8248
UNK_RET func_800B82EC(UNK_ARGS); // func_800B82EC
UNK_RET func_800B83BC(UNK_ARGS); // func_800B83BC
UNK_RET func_800B83F8(UNK_ARGS); // func_800B83F8
UNK_TYPE func_800B84D0(s800A5AC0*, UNK_TYPE); // func_800B84D0
UNK_TYPE func_800B84D0(z_ActorEnAObj*, UNK_TYPE); // func_800B84D0
UNK_RET func_800B8500(UNK_ARGS); // func_800B8500
UNK_RET func_800B85E0(UNK_ARGS); // func_800B85E0
UNK_RET func_800B8614(UNK_ARGS); // func_800B8614
UNK_RET func_800B863C(s800A5AC0*, UNK_TYPE); // func_800B863C
UNK_TYPE func_800B867C(s800A5AC0*); // func_800B867C
UNK_RET func_800B863C(z_ActorEnAObj*, UNK_TYPE); // func_800B863C
UNK_TYPE func_800B867C(z_ActorEnAObj*); // func_800B867C
UNK_RET func_800B86C8(UNK_ARGS); // func_800B86C8
UNK_RET func_800B8708(UNK_ARGS); // func_800B8708
UNK_RET func_800B8718(UNK_ARGS); // func_800B8718
@ -888,7 +891,7 @@ UNK_RET func_800BDB6C(UNK_ARGS); // func_800BDB6C
UNK_RET func_800BDC5C(UNK_ARGS); // func_800BDC5C
UNK_RET func_800BDCF4(UNK_ARGS); // func_800BDCF4
UNK_RET func_800BDFB0(UNK_ARGS); // func_800BDFB0
UNK_RET func_800BDFC0(UNK_TYPE, UNK_TYPE, UNK_TYPE, s800A5AC0*); // func_800BDFC0
UNK_RET func_800BDFC0(UNK_TYPE, UNK_TYPE, UNK_TYPE, z_ActorEnAObj*); // func_800BDFC0
void func_800BE03C(z_GlobalContext*, UNK_TYPE); // func_800BE03C
UNK_RET func_800BE0B8(UNK_ARGS); // func_800BE0B8
UNK_RET func_800BE184(UNK_ARGS); // func_800BE184
@ -1620,7 +1623,7 @@ UNK_RET func_800F01C8(UNK_ARGS); // func_800F01C8
UNK_RET func_800F0390(UNK_ARGS); // func_800F0390
UNK_RET func_800F03C0(UNK_ARGS); // func_800F03C0
UNK_RET func_800F048C(UNK_ARGS); // func_800F048C
UNK_RET func_800F0568(z_GlobalContext*, z_Vector3D*, UNK_TYPE, UNK_TYPE); // func_800F0568
UNK_RET func_800F0568(z_GlobalContext*, z_Vector3f*, UNK_TYPE, UNK_TYPE); // func_800F0568
UNK_RET func_800F0590(UNK_ARGS); // func_800F0590
UNK_RET func_800F05C0(UNK_ARGS); // func_800F05C0
UNK_RET func_800F07C0(UNK_ARGS); // func_800F07C0
@ -1812,27 +1815,27 @@ UNK_RET func_800FF2F8(UNK_ARGS); // func_800FF2F8
UNK_RET func_800FF3A0(UNK_ARGS); // func_800FF3A0
s16 Lib_rand_s(s16 a0, s16 a1); // func_800FF450
s16 Lib_randStride_s(s16 a0, s16 a1, s16 a2); // func_800FF4A4
UNK_RET Lib_CopyVec3f(z_Vector3D* dst, z_Vector3D* src); // func_800FF50C
UNK_RET Lib_CopyVec3s(z_Vector3Ds16* dst, z_Vector3Ds16* src); // func_800FF52C
UNK_RET Lib_ToVec3f(z_Vector3D* dst, z_Vector3Ds16* src); // func_800FF54C
UNK_RET Lib_ToVec3s(z_Vector3Ds16* dst, z_Vector3D* src); // func_800FF584
UNK_RET Lib_AddVec3f(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2); // func_800FF5BC
UNK_RET Lib_SubVec3f(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2); // func_800FF5F4
UNK_RET Lib_SubVec3sToVec3f(z_Vector3D* a0, z_Vector3Ds16* a1, z_Vector3Ds16* a2); // func_800FF62C
UNK_RET Lib_ScaleInPlaceVec3f(z_Vector3D* a0, f32 a1); // func_800FF688
UNK_RET Lib_ScaleVec3f(z_Vector3D* a0, f32 a1, z_Vector3D* a2); // func_800FF6C4
UNK_RET Lib_LerpVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3); // func_800FF6F8
UNK_RET Lib_AddScaledVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3); // func_800FF750
UNK_RET Lib_ModifyRandScaled(z_Vector3D* a0, f32 a1, z_Vector3D* a2); // func_800FF79C
UNK_RET Lib_ScaledNormalizedDifferenceVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3); // func_800FF810
f32 Lib_DistanceVec3f(z_Vector3D* a0, z_Vector3D* a1); // func_800FF884
f32 Lib_DistanceAndDifferenceVec3f(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2); // func_800FF8D4
f32 Lib_DistanceXZVec3f(z_Vector3D* a0, z_Vector3D* a1); // func_800FF92C
f32 Lib_DistanceAndDifferenceXZVec3f(z_Vector3D* a0, z_Vector3D* a1, f32* a2, f32* a3); // func_800FF960
UNK_RET Lib_PushAwayXZVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2); // func_800FF9A4
f32 Lib_DistanceYVec3f(z_Vector3D* a0, z_Vector3D* a1); // func_800FFA4C
UNK_TYPE Lib_YawVec3f(z_Vector3D* a0, z_Vector3D* a1); // func_800FFA60
UNK_TYPE Lib_PitchVec3f(z_Vector3D* a0, z_Vector3D* a1); // func_800FFA94
UNK_RET Lib_CopyVec3f(z_Vector3f* dst, z_Vector3f* src); // func_800FF50C
UNK_RET Lib_CopyVec3s(z_Vector3s* dst, z_Vector3s* src); // func_800FF52C
UNK_RET Lib_ToVec3f(z_Vector3f* dst, z_Vector3s* src); // func_800FF54C
UNK_RET Lib_ToVec3s(z_Vector3s* dst, z_Vector3f* src); // func_800FF584
UNK_RET Lib_AddVec3f(z_Vector3f* a0, z_Vector3f* a1, z_Vector3f* a2); // func_800FF5BC
UNK_RET Lib_SubVec3f(z_Vector3f* a0, z_Vector3f* a1, z_Vector3f* a2); // func_800FF5F4
UNK_RET Lib_SubVec3sToVec3f(z_Vector3f* a0, z_Vector3s* a1, z_Vector3s* a2); // func_800FF62C
UNK_RET Lib_ScaleInPlaceVec3f(z_Vector3f* a0, f32 a1); // func_800FF688
UNK_RET Lib_ScaleVec3f(z_Vector3f* a0, f32 a1, z_Vector3f* a2); // func_800FF6C4
UNK_RET Lib_LerpVec3f(z_Vector3f* a0, z_Vector3f* a1, f32 a2, z_Vector3f* a3); // func_800FF6F8
UNK_RET Lib_AddScaledVec3f(z_Vector3f* a0, z_Vector3f* a1, f32 a2, z_Vector3f* a3); // func_800FF750
UNK_RET Lib_ModifyRandScaled(z_Vector3f* a0, f32 a1, z_Vector3f* a2); // func_800FF79C
UNK_RET Lib_ScaledNormalizedDifferenceVec3f(z_Vector3f* a0, z_Vector3f* a1, f32 a2, z_Vector3f* a3); // func_800FF810
f32 Lib_DistanceVec3f(z_Vector3f* a0, z_Vector3f* a1); // func_800FF884
f32 Lib_DistanceAndDifferenceVec3f(z_Vector3f* a0, z_Vector3f* a1, z_Vector3f* a2); // func_800FF8D4
f32 Lib_DistanceXZVec3f(z_Vector3f* a0, z_Vector3f* a1); // func_800FF92C
f32 Lib_DistanceAndDifferenceXZVec3f(z_Vector3f* a0, z_Vector3f* a1, f32* a2, f32* a3); // func_800FF960
UNK_RET Lib_PushAwayXZVec3f(z_Vector3f* a0, z_Vector3f* a1, f32 a2); // func_800FF9A4
f32 Lib_DistanceYVec3f(z_Vector3f* a0, z_Vector3f* a1); // func_800FFA4C
UNK_TYPE Lib_YawVec3f(z_Vector3f* a0, z_Vector3f* a1); // func_800FFA60
UNK_TYPE Lib_PitchVec3f(z_Vector3f* a0, z_Vector3f* a1); // func_800FFA94
void Lib_ApplyActorInitVars(z_Actor*, z_ActorCompInitEntry*); // func_800FFADC
UNK_RET Lib_ApplyActorInitVarByte1(u8* a0, z_ActorCompInitEntry* a1); // func_800FFB54
UNK_RET Lib_ApplyActorInitVarByte2(u8* a0, z_ActorCompInitEntry* a1); // func_800FFB70
@ -1854,9 +1857,9 @@ UNK_RET Lib_CopyColor(u8* a0, u8* a1); // func_8010007C
UNK_RET func_801000A4(u16 a0); // func_801000A4
UNK_RET func_801000CC(u16 a0); // func_801000CC
UNK_RET func_801000F4(UNK_TYPE a0, u16 a1); // func_801000F4
UNK_RET Lib_TranslateAndRotateYVec3f(z_Vector3D* a0, s16 a1, z_Vector3D* a2, z_Vector3D* a3); // func_8010011C
UNK_RET Lib_TranslateAndRotateYVec3f(z_Vector3f* a0, s16 a1, z_Vector3f* a2, z_Vector3f* a3); // func_8010011C
UNK_RET Lib_LerpRGB(u8* a0, u8* a1, f32 a2, u8* a3); // func_801001B8
f32 Lib_PushAwayVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2); // func_80100448
f32 Lib_PushAwayVec3f(z_Vector3f* a0, z_Vector3f* a1, f32 a2); // func_80100448
UNK_RET Lib_Nop801004FC(void); // func_801004FC
UNK_TYPE Lib_PtrSegToPhys(u32 a0); // func_80100504
UNK_TYPE Lib_PtrSegToPhysNull(u32 a0); // func_8010053C
@ -1882,13 +1885,13 @@ UNK_RET Lights_MapperGetNextFreeSlot(UNK_ARGS); // func_80101D0C
UNK_RET Lights_MapPositionalWithReference(UNK_ARGS); // func_80101D3C
UNK_RET Lights_MapPositional(UNK_ARGS); // func_801020A0
UNK_RET Lights_MapDirectional(UNK_ARGS); // func_80102284
UNK_RET Lights_MapLights(UNK_TYPE, UNK_TYPE, UNK_TYPE, z_GlobalContext*); // func_801022F0
UNK_RET Lights_MapLights(UNK_TYPE, z_Light*, UNK_TYPE, z_GlobalContext*); // func_801022F0
UNK_RET Lights_FindFreeSlot(UNK_ARGS); // func_801023D8
UNK_RET Lights_Free(UNK_ARGS); // func_80102464
UNK_RET Lights_Init(UNK_ARGS); // func_801024AC
UNK_RET Lights_SetAmbientColor(UNK_ARGS); // func_80102518
UNK_RET func_80102544(UNK_ARGS); // func_80102544
UNK_TYPE Lights_CreateMapper(UNK_PTR, z_GraphicsContext*); // func_80102580
UNK_TYPE Lights_CreateMapper(z_LightingContext*, z_GraphicsContext*); // func_80102580
UNK_RET Lights_ClearHead(UNK_ARGS); // func_801025B8
UNK_RET Lights_RemoveAll(UNK_ARGS); // func_801025C8
UNK_RET Lights_Insert(UNK_ARGS); // func_80102624
@ -3250,7 +3253,7 @@ UNK_RET Math3D_XZLength(UNK_ARGS); // func_8017A610
UNK_RET Math3D_XZDistanceSquared(UNK_ARGS); // func_8017A634
UNK_RET Math3D_XZDistance(UNK_ARGS); // func_8017A678
UNK_RET Math3D_LengthSquared(UNK_ARGS); // func_8017A6A8
f32 Math3D_Length(z_Vector3D*); // func_8017A6D4
f32 Math3D_Length(z_Vector3f*); // func_8017A6D4
UNK_RET Math3D_DistanceSquared(UNK_ARGS); // func_8017A6F8
UNK_RET Math3D_Distance(UNK_ARGS); // func_8017A720
UNK_RET Math3D_DistanceS(UNK_ARGS); // func_8017A740

27
include/stdlib.h Normal file
View File

@ -0,0 +1,27 @@
#ifndef _STDLIB_H_
#define _STDLIB_H_
typedef struct {
/* 0x0 */ int quot;
/* 0x4 */ int rem;
} div_t;
typedef struct {
/* 0x0 */ long quot;
/* 0x4 */ long rem;
} ldiv_t;
typedef struct {
/* 0x0 */ long long quot;
/* 0x8 */ long long rem;
} lldiv_t;
typedef unsigned int size_t;
typedef int ssize_t;
typedef long wchar_t;
#endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
#ifndef _STRUCTS_BITFIELDS_H_
#define _STRUCTS_BITFIELDS_H_
#include <PR/ultratypes.h>
typedef struct {
u32 cont : 1;
u32 type : 4;
u32 offset : 11;
s32 value : 16;
} z_ActorCompInitEntry;
#endif

View File

@ -4,6 +4,9 @@
#include <PR/ultratypes.h>
#define UNK_TYPE s32
#define UNK_TYPE1 s8
#define UNK_TYPE2 s16
#define UNK_TYPE4 s32
#define UNK_PTR void*
#define UNK_RET void
#define UNK_FUN_ARG void(*)(void)

View File

@ -7,6 +7,9 @@
#include <guint.h>
#include <unk.h>
#include <structs.h>
#include <structs_bitfields.h>
#include <stdlib.h>
#include <xstdio.h>
//extern UNK_TYPE D_0000AB44;
//extern UNK_TYPE D_0000ABD4;
@ -556,8 +559,8 @@ extern UNK_TYPE* D_80096B60; // D_80096B60
//extern UNK_TYPE D_80096BE4;
//extern UNK_TYPE D_80096C20;
//extern UNK_TYPE D_80096C30;
extern s80085320* g_s80085320_ListHead; // D_80096C40
extern s80085320* g_s80085320_ListTail; // D_80096C44
extern z_ThreadInfo* g_s80085320_ListHead; // D_80096C40
extern z_ThreadInfo* g_s80085320_ListTail; // D_80096C44
//extern UNK_TYPE D_80096C50;
//extern UNK_TYPE D_80096CD0;
//extern UNK_TYPE D_80096CF0;
@ -788,22 +791,22 @@ extern float __libm_qnan_f; // D_80099450
//extern UNK_TYPE D_800994C8;
extern UNK_TYPE D_800994D0; // D_800994D0
extern UNK_TYPE D_800994DC; // D_800994DC
extern s80085320 D_80099500; // D_80099500
extern z_ThreadInfo D_80099500; // D_80099500
extern OSThread D_80099520; // D_80099520
extern UNK_TYPE D_800996D0; // D_800996D0
extern s80085320 D_80099AD0; // D_80099AD0
extern z_ThreadInfo D_80099AD0; // D_80099AD0
extern UNK_TYPE D_80099AF0; // D_80099AF0
extern UNK_TYPE D_80099EF0; // D_80099EF0
extern UNK_TYPE D_8009A170; // D_8009A170
extern s80085320 D_8009A670; // D_8009A670
extern z_ThreadInfo D_8009A670; // D_8009A670
extern UNK_TYPE D_8009A690; // D_8009A690
extern UNK_TYPE D_8009A840; // D_8009A840
extern s80085320 D_8009B140; // D_8009B140
extern z_ThreadInfo D_8009B140; // D_8009B140
extern UNK_TYPE D_8009B160; // D_8009B160
extern UNK_TYPE D_8009B228; // D_8009B228
extern u32* D_8009B240; // D_8009B240
extern u8 D_8009B290; // D_8009B290
extern s80085320 D_8009B2A0; // D_8009B2A0
extern z_ThreadInfo D_8009B2A0; // D_8009B2A0
extern u16 D_8009B2BC; // D_8009B2BC
extern OSMesgQueue D_8009B2C0; // D_8009B2C0
extern UNK_TYPE D_8009B2D8; // D_8009B2D8
@ -881,7 +884,7 @@ extern UNK_TYPE D_8009E624; // D_8009E624
//extern UNK_TYPE D_8009F870;
//extern UNK_TYPE D_8009F888;
//extern UNK_TYPE D_8009F8A0;
extern DmadataEntry dmadata[]; // D_8009F8B0
extern z_DmadataEntry dmadata[]; // D_8009F8B0
//extern UNK_TYPE D_800A0004;
//extern UNK_TYPE D_80186028;
//extern UNK_TYPE D_801AAAB0;
@ -977,7 +980,7 @@ extern z_ParticleOverlayTableEntry particleOverlayTable[]; // D_801AE4A0
//extern UNK_TYPE D_801AEFB8;
//extern UNK_TYPE D_801AEFBC;
//extern UNK_TYPE D_801AEFC0;
extern s800BF9A0 D_801AEFD0; // D_801AEFD0
extern z_ActorOverlayTableEntry D_801AEFD0; // D_801AEFD0
//extern UNK_TYPE D_801AEFE0;
//extern UNK_TYPE D_801AEFE4;
//extern UNK_TYPE D_801AEFEE;
@ -16022,7 +16025,7 @@ extern f32 D_80ACB650; // D_80ACB650
//extern UNK_TYPE D_80BD52F4;
//extern UNK_TYPE D_80BD52F8;
//extern UNK_TYPE D_80BD52FC;
extern z_ActorInit bgIkanaRayInitVar; // D_80BD55D0
extern z_ActorInitData bgIkanaRayInitVar; // D_80BD55D0
extern UNK_TYPE D_80BD55F0; // D_80BD55F0
extern z_ActorCompInitEntry bgIkanaRayCompInit[]; // D_80BD561C
extern UNK_TYPE D_80BD562C; // D_80BD562C

26
include/xstdio.h Normal file
View File

@ -0,0 +1,26 @@
#ifndef _XSTDIO_H_
#define _XSTDIO_H_
typedef double ldouble;
typedef struct {
/* 0x0 */ union {
/* 0x0 */ long long ll;
/* 0x0 */ ldouble ld;
} v;
/* 0x8 */ unsigned char* s;
/* 0xC */ int n0;
/* 0x10 */ int nz0;
/* 0x14 */ int n1;
/* 0x18 */ int nz1;
/* 0x1C */ int n2;
/* 0x20 */ int nz2;
/* 0x24 */ int prec;
/* 0x28 */ int width;
/* 0x2C */ size_t nchar;
/* 0x30 */ unsigned int flags;
/* 0x34 */ unsigned char qual;
} _Pft;
#endif

View File

@ -20,17 +20,17 @@ UNK_RET func_80ACB50C(z_ActorBgFuKaiten* this);
void z_bg_fu_kaiten_main(z_ActorBgFuKaiten* this, z_GlobalContext* ctxt);
void func_80ACB5A0(z_ActorBgFuKaiten* this, z_GlobalContext* ctxt);
z_ActorInit bgBgFuKaitenInitVar = {
z_ActorInitData bgBgFuKaitenInitVar = {
0x01AE,
1,
0,
0x30,
0x01A0,
sizeof(z_ActorBgFuKaiten),
(z_ActorFunc)z_bg_fu_kaiten_init,
(z_ActorFunc)z_bg_fu_kaiten_fini,
(z_ActorFunc)z_bg_fu_kaiten_main,
(z_ActorFunc)func_80ACB5A0
(actor_func)z_bg_fu_kaiten_init,
(actor_func)z_bg_fu_kaiten_fini,
(actor_func)z_bg_fu_kaiten_main,
(actor_func)func_80ACB5A0
};
f32 D_80ACB650 = 0.002;

View File

@ -18,17 +18,17 @@ void func_80BD54BC(z_ActorBgIkanaRay* this, z_GlobalContext* ctxt);
void func_80BD5500(z_ActorBgIkanaRay* this);
void func_80BD5530(z_ActorBgIkanaRay* this, z_GlobalContext* ctxt);
z_ActorInit bgIkanaRayInitVar = {
z_ActorInitData bgIkanaRayInitVar = {
0x0256,
6,
0,
0,
0x0203,
sizeof(z_ActorBgIkanaRay),
(z_ActorFunc)z_bg_ikana_ray_init,
(z_ActorFunc)z_bg_ikana_ray_fini,
(z_ActorFunc)z_bg_ikana_ray_main,
(z_ActorFunc)z_bg_ikana_ray_draw
(actor_func)z_bg_ikana_ray_init,
(actor_func)z_bg_ikana_ray_fini,
(actor_func)z_bg_ikana_ray_main,
(actor_func)z_bg_ikana_ray_draw
};
GLOBAL_ASM(
@ -119,7 +119,7 @@ void func_80BD54BC(z_ActorBgIkanaRay* this, z_GlobalContext* ctxt) {
}
void func_80BD5500(z_ActorBgIkanaRay* this) {
this->baseActor.drawFunc = (z_ActorFunc)z_bg_ikana_ray_draw;
this->baseActor.drawFunc = (actor_func)z_bg_ikana_ray_draw;
this->baseActor.unk4 &= 0xFFFFFFEF;
this->unk404 = func_80BD5530;
}

View File

@ -43,7 +43,7 @@ UNK_RET func_80080250(void) {
sp28 = *v0;
*v0 = 0;
func_80080C04((s80080A08*)&sp48, (UNK_FUN_ARG)func_800A5AC0, v1, (u32)t7 - (u32)v1, 0, &sp30, 0);
func_80080C04((z_DmaRequest*)&sp48, (UNK_FUN_ARG)func_800A5AC0, v1, (u32)t7 - (u32)v1, 0, &sp30, 0);
func_8008019C();
func_800801EC();
osRecvMesg(&sp30, 0, 1);

View File

@ -1,9 +1,9 @@
#include <ultra64.h>
#include <global.h>
void func_80085320(s80085320* a0, UNK_PTR a1, UNK_PTR a2, UNK_TYPE a3, UNK_TYPE sp10, UNK_PTR sp14) {
void func_80085320(z_ThreadInfo* a0, UNK_PTR a1, UNK_PTR a2, UNK_TYPE a3, UNK_TYPE sp10, UNK_PTR sp14) {
UNK_TYPE* i;
s80085320* v0;
z_ThreadInfo* v0;
if (a0 == NULL) {
g_s80085320_ListHead = NULL;
@ -42,7 +42,7 @@ void func_80085320(s80085320* a0, UNK_PTR a1, UNK_PTR a2, UNK_TYPE a3, UNK_TYPE
}
}
UNK_RET func_800853F8(s80085320* a0) {
UNK_RET func_800853F8(z_ThreadInfo* a0) {
if (a0->prev == NULL) {
if (g_s80085320_ListHead == a0) {
g_s80085320_ListHead = a0->next;
@ -58,7 +58,7 @@ UNK_RET func_800853F8(s80085320* a0) {
}
}
UNK_TYPE func_80085468(s80085320* a0) {
UNK_TYPE func_80085468(z_ThreadInfo* a0) {
UNK_TYPE* v1 = a0->unk8;
UNK_TYPE* a1 = a0->unkC;
UNK_TYPE* v0 = v1;
@ -83,7 +83,7 @@ UNK_TYPE func_80085468(s80085320* a0) {
}
UNK_TYPE func_800854E0(UNK_ARGS) {
s80085320* s0 = g_s80085320_ListHead;
z_ThreadInfo* s0 = g_s80085320_ListHead;
UNK_TYPE ret = 0;
while (s0 != NULL) {
if (func_80085468(s0) != 0) {
@ -95,7 +95,7 @@ UNK_TYPE func_800854E0(UNK_ARGS) {
return ret;
}
UNK_RET func_80085538(s80085320* a0) {
UNK_RET func_80085538(z_ThreadInfo* a0) {
if (a0 == NULL) {
func_800854E0();
} else {

View File

@ -48,8 +48,8 @@ void Dmamgr_osEPiStartDmaWrapper(OSPiHandle* pihandle, OSIoMesg* mb, s32 directi
osEPiStartDma(pihandle, mb, direction);
}
DmadataEntry* Dmamgr_FindDmaEntry(u32 a0) {
DmadataEntry* curr;
z_DmadataEntry* Dmamgr_FindDmaEntry(u32 a0) {
z_DmadataEntry* curr;
for (curr = dmadata; curr->vromEnd != 0; curr++) {
if (a0 < curr->vromStart) continue;
@ -62,7 +62,7 @@ DmadataEntry* Dmamgr_FindDmaEntry(u32 a0) {
}
s32 Dmamgr_TranslateVromToRom(u32 a0) {
DmadataEntry* v0 = Dmamgr_FindDmaEntry(a0);
z_DmadataEntry* v0 = Dmamgr_FindDmaEntry(a0);
if (v0 != NULL) {
if (v0->romEnd == 0) {
@ -80,7 +80,7 @@ s32 Dmamgr_TranslateVromToRom(u32 a0) {
}
s32 Dmamgr_FindDmaIndex(u32 a0) {
DmadataEntry* v0 = Dmamgr_FindDmaEntry(a0);
z_DmadataEntry* v0 = Dmamgr_FindDmaEntry(a0);
if (v0 != NULL) {
return v0 - dmadata;
@ -95,7 +95,7 @@ UNK_TYPE* func_800809F4(u32 a0) {
#ifdef NONMATCHING
void Dmamgr_HandleRequest(s80080A08* a0) {
void Dmamgr_HandleRequest(z_DmaRequest* a0) {
UNK_TYPE sp34;
UNK_TYPE sp30;
UNK_TYPE sp2C;
@ -149,9 +149,9 @@ GLOBAL_ASM("./asm/nonmatching/z_std_dma/Dmamgr_HandleRequest.asm")
#ifdef NONMATCHING
void Dmamgr_ThreadEntry(void* a0) {
s80080A08* sp34;
z_DmaRequest* sp34;
UNK_TYPE pad;
s80080A08* s0;
z_DmaRequest* s0;
for (;;) {
osRecvMesg(&D_8009B2C0, (OSMesg)&sp34, 1);
@ -172,7 +172,7 @@ GLOBAL_ASM("./asm/nonmatching/z_std_dma/Dmamgr_ThreadEntry.asm")
#ifdef NONMATCHING
s32 Dmamgr_SendRequest(s80080A08* a0, UNK_FUN_PTR(a1), UNK_PTR a2, UNK_TYPE a3, UNK_TYPE sp30, OSMesgQueue* sp34, UNK_TYPE sp38) {
s32 Dmamgr_SendRequest(z_DmaRequest* a0, UNK_FUN_PTR(a1), UNK_PTR a2, UNK_TYPE a3, UNK_TYPE sp30, OSMesgQueue* sp34, UNK_TYPE sp38) {
// TODO this isn't correct, it uses a lui, addiu to get the address of D_80096B60, then loads it,
// meaning that this is likely just "if (*D_80096B60 >= 2)". However, I can not get it to not
// produce the usual lui, lw combo to load from an address :/
@ -199,7 +199,7 @@ GLOBAL_ASM("./asm/nonmatching/z_std_dma/Dmamgr_SendRequest.asm")
#endif
s32 Dmamgr_SendRequestAndWait(UNK_TYPE a0, UNK_PTR a1, UNK_TYPE a2) {
s80080A08 sp48;
z_DmaRequest sp48;
OSMesgQueue sp30;
OSMesg sp2C;
s32 ret;
@ -220,7 +220,7 @@ s32 Dmamgr_SendRequestAndWait(UNK_TYPE a0, UNK_PTR a1, UNK_TYPE a2) {
#ifdef NONMATCHING
void Dmamgr_Start() {
DmadataEntry* v0;
z_DmadataEntry* v0;
u32 v1;
// TODO register load ordering is wrong
Dmamgr_DoDmaTransfer(&dmadataRomStart, dmadata, (u8*)&dmadataRomEnd - (u8*)&dmadataRomStart);

View File

@ -6,48 +6,48 @@
// This file is most likely En_A_Obj
UNK_RET EnAObj_Init(void* a0, UNK_TYPE a1) {
s800A5AC0* s0 = (s800A5AC0*)a0;
s0->unk116 = ((s0->unk1C >> 8) & 0xFF) | 0x300;
s0->unk1C = (s0->unk1C & 0xFF) - 9;
z_ActorEnAObj* s0 = (z_ActorEnAObj*)a0;
s0->base.textId = ((s0->base.variable >> 8) & 0xFF) | 0x300;
s0->base.variable = (s0->base.variable & 0xFF) - 9;
Lib_ApplyActorInitVars((z_Actor*)s0, (z_ActorCompInitEntry*)&D_801ADEAC);
func_800B3BA4(&s0->unkBC, 0, (UNK_PTR)&func_800B3FC0, 12);
Collision_InitCylinder(a1, &s0->unk148, (z_Actor*)s0, &D_801ADE80);
Collision_CylinderMoveToActor((z_Actor*)s0, &s0->unk148);
s0->unkB6 = 255;
s0->unk144 = EnAObj_Update1;
func_800B3BA4(&s0->base.unkBC, 0, (UNK_PTR)&func_800B3FC0, 12);
Collision_InitCylinder(a1, &s0->collision, (z_Actor*)s0, &D_801ADE80);
Collision_CylinderMoveToActor((z_Actor*)s0, &s0->collision);
s0->base.unkA0.unk16 = 255;
s0->update = (actor_func)EnAObj_Update1;
}
UNK_RET EnAObj_Fini(s800A5AC0* a0, z_GlobalContext* a1) {
UNK_TYPE* a2 = &a0->unk148;
UNK_RET EnAObj_Fini(z_ActorEnAObj* a0, z_GlobalContext* a1) {
z_ColCylinder* a2 = &a0->collision;
Collision_FiniCylinder(a1, a2);
}
UNK_RET EnAObj_Update1(s800A5AC0* a0, UNK_TYPE a1) {
UNK_RET EnAObj_Update1(z_ActorEnAObj* a0, UNK_TYPE a1) {
s16 v0;
s32 v1;
if (func_800B84D0(a0, a1) != 0) {
a0->unk144 = (void(*)(s800A5AC0*, UNK_TYPE))EnAObj_Update2; //! Is this cast correct?
a0->update = (actor_func)EnAObj_Update2;
} else {
v0 = a0->unk92 - a0->unkBE;
v0 = a0->base.unk92 - a0->base.unkBC.rotation.y;
v1 = (v0 < 0)? -v0 : v0;
if ((v1 < 10240) || ((a0->unk1C == 1) && (v1 > 22528))) {
if ((v1 < 10240) || ((a0->base.variable == 1) && (v1 > 22528))) {
func_800B863C(a0, a1);
}
}
}
UNK_RET EnAObj_Update2(s800A5AC0* a0) {
UNK_RET EnAObj_Update2(z_ActorEnAObj* a0) {
if (func_800B867C(a0) != 0) {
a0->unk144 = EnAObj_Update1;
a0->update = (actor_func)EnAObj_Update1;
}
}
UNK_RET EnAObj_Main(s800A5AC0* a0, UNK_TYPE a1) {
(a0->unk144)(a0, a1);
UNK_RET EnAObj_Main(z_ActorEnAObj* a0, UNK_TYPE a1) {
(a0->update)((z_Actor*)a0, (z_GlobalContext*)a1);
func_800B675C(a0, 0x42340000);
Collision_AddOT(a1, a1 + 0x18884, &a0->unk148);
Collision_AddOT(a1, a1 + 0x18884, &a0->collision);
}
UNK_RET EnAObj_Draw(s800A5AC0* a0, UNK_TYPE a1) {
func_800BDFC0(a1, D_801ADEB0[a0->unk1C], a1, a0);
UNK_RET EnAObj_Draw(z_ActorEnAObj* a0, UNK_TYPE a1) {
func_800BDFC0(a1, D_801ADEB0[a0->base.variable], a1, a0);
}

View File

@ -3,7 +3,7 @@
UNK_RET func_800BF9A0(UNK_TYPE a0, UNK_TYPE a1) {
s32 i;
s800BF9A0* s0;
z_ActorOverlayTableEntry* s0;
UNK_TYPE v1;
func_8008439C(-2, 0);
@ -11,27 +11,27 @@ UNK_RET func_800BF9A0(UNK_TYPE a0, UNK_TYPE a1) {
func_800847CC(&D_801DCBC4);
for (i = 0, s0 = &D_801AEFD0; i < D_801B4610; i++, s0++) {
v1 = s0->unkC - s0->unk8;
if (s0->unk10 == 0) continue;
func_800847CC(&D_801DCBE4, i, s0->unk10, s0->unk10 + v1, s0->unk1E, &D_801DCBFC);
v1 = s0->vramEnd - s0->vramStart;
if (s0->ramAddr == 0) continue;
func_800847CC(&D_801DCBE4, i, s0->ramAddr, s0->ramAddr + v1, s0->clients, &D_801DCBFC);
}
}
UNK_TYPE func_800BFA78(UNK_TYPE a0, UNK_TYPE a1) {
s32 i;
s800BF9A0* v0 = &D_801AEFD0;
z_ActorOverlayTableEntry* v0 = &D_801AEFD0;
UNK_TYPE t1;
UNK_TYPE a2;
UNK_TYPE a0_2 = a0;
for (i = 0; i < D_801B4610; i++, v0++) {
t1 = v0->unk8 - v0->unk10;
a2 = v0->unkC - v0->unk8;
t1 = v0->vramStart - v0->ramAddr;
a2 = v0->vramEnd - v0->vramStart;
if (v0->unk10 == 0) continue;
if (a0_2 < v0->unk10) continue;
if (v0->ramAddr == 0) continue;
if (a0_2 < v0->ramAddr) continue;
if (a0_2 < (v0->unk10 + a2)) {
if (a0_2 < (v0->ramAddr + a2)) {
return a0_2 + t1;
}
}

View File

@ -15,8 +15,8 @@ UNK_RET func_800CAAD0(UNK_TYPE a0, UNK_TYPE a1, UNK_TYPE a2) {
v1 = (s800CAAD0*)(a0 + a1 * 100);
func_80139894(&spD0, v1->unk68, v1->unk6C, v1->unk70, v1->unk72, v1->unk74,
v1->unk76, v1->unk7C, v1->unk80, v1->unk84);
func_80139894(&spD0, v1->unk68, v1->unk6C, v1->unk70, v1->unk74, v1->unk76,
v1->unk78, v1->unk7C, v1->unk80, v1->unk84);
if (func_80139188(&spD0, &sp90) == 2) return;

View File

@ -6,7 +6,7 @@ void EffectSS_Init(z_GlobalContext* ctxt, s32 numEntries) {
z_LoadedParticleEntry* iter;
z_ParticleOverlayTableEntry* iter2;
EffectSS2Info.data_table = (z_LoadedParticleEntry*)GameStateHeap_AllocFromEnd(&ctxt->unk74, numEntries * sizeof(z_LoadedParticleEntry));
EffectSS2Info.data_table = (z_LoadedParticleEntry*)GameStateHeap_AllocFromEnd(&ctxt->commonVars.heap, numEntries * sizeof(z_LoadedParticleEntry));
EffectSS2Info.searchIndex = 0;
EffectSS2Info.size = numEntries;
@ -81,11 +81,11 @@ void EffectSS_ResetLoadedParticleEntry(z_LoadedParticleEntry* particle) {
particle->priority = 128;
particle->draw = NULL;
particle->update = NULL;
particle->unk38 = 0;
particle->displayList = 0;
particle->unk3C = 0;
for (i = 0; i != 13; i++) {
particle->unk40[i] = 0;
particle->regs[i] = 0;
}
}
@ -282,9 +282,9 @@ void EffectSS_DrawAllParticles(z_GlobalContext* ctxt) {
UNK_TYPE s0;
s32 i;
s0 = Lights_CreateMapper(&ctxt->unk818, ctxt->unk0);
Lights_MapLights(s0, ctxt->unk818, 0, ctxt);
Lights_UploadLights(s0, ctxt->unk0);
s0 = Lights_CreateMapper(&ctxt->lightsContext, ctxt->commonVars.graphicsContext);
Lights_MapLights(s0, ctxt->lightsContext.lightsHead, 0, ctxt);
Lights_UploadLights(s0, ctxt->commonVars.graphicsContext);
for (i = 0; i < EffectSS2Info.size; i++) {
if (EffectSS2Info.data_table[i].life > -1) {

View File

@ -255,7 +255,7 @@ s16 Lib_randStride_s(s16 a0, s16 a1, s16 a2) {
return (s16)(randZeroOne() * a2) * a1 + a0;
}
UNK_RET Lib_CopyVec3f(z_Vector3D* dst, z_Vector3D* src) {
UNK_RET Lib_CopyVec3f(z_Vector3f* dst, z_Vector3f* src) {
f32 x = src->x;
f32 y = src->y;
f32 z = src->z;
@ -265,7 +265,7 @@ UNK_RET Lib_CopyVec3f(z_Vector3D* dst, z_Vector3D* src) {
dst->z = z;
}
UNK_RET Lib_CopyVec3s(z_Vector3Ds16* dst, z_Vector3Ds16* src) {
UNK_RET Lib_CopyVec3s(z_Vector3s* dst, z_Vector3s* src) {
s16 x = src->x;
s16 y = src->y;
s16 z = src->z;
@ -275,7 +275,7 @@ UNK_RET Lib_CopyVec3s(z_Vector3Ds16* dst, z_Vector3Ds16* src) {
dst->z = z;
}
UNK_RET Lib_ToVec3f(z_Vector3D* dst, z_Vector3Ds16* src) {
UNK_RET Lib_ToVec3f(z_Vector3f* dst, z_Vector3s* src) {
f32 x = src->x;
f32 y = src->y;
f32 z = src->z;
@ -285,7 +285,7 @@ UNK_RET Lib_ToVec3f(z_Vector3D* dst, z_Vector3Ds16* src) {
dst->z = z;
}
UNK_RET Lib_ToVec3s(z_Vector3Ds16* dst, z_Vector3D* src) {
UNK_RET Lib_ToVec3s(z_Vector3s* dst, z_Vector3f* src) {
f32 x = src->x;
f32 y = src->y;
f32 z = src->z;
@ -295,55 +295,55 @@ UNK_RET Lib_ToVec3s(z_Vector3Ds16* dst, z_Vector3D* src) {
dst->z = z;
}
UNK_RET Lib_AddVec3f(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2) {
UNK_RET Lib_AddVec3f(z_Vector3f* a0, z_Vector3f* a1, z_Vector3f* a2) {
a2->x = a0->x + a1->x;
a2->y = a0->y + a1->y;
a2->z = a0->z + a1->z;
}
UNK_RET Lib_SubVec3f(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2) {
UNK_RET Lib_SubVec3f(z_Vector3f* a0, z_Vector3f* a1, z_Vector3f* a2) {
a2->x = a0->x - a1->x;
a2->y = a0->y - a1->y;
a2->z = a0->z - a1->z;
}
UNK_RET Lib_SubVec3sToVec3f(z_Vector3D* a0, z_Vector3Ds16* a1, z_Vector3Ds16* a2) {
UNK_RET Lib_SubVec3sToVec3f(z_Vector3f* a0, z_Vector3s* a1, z_Vector3s* a2) {
a0->x = a1->x - a2->x;
a0->y = a1->y - a2->y;
a0->z = a1->z - a2->z;
}
UNK_RET Lib_ScaleInPlaceVec3f(z_Vector3D* a0, f32 a1) {
UNK_RET Lib_ScaleInPlaceVec3f(z_Vector3f* a0, f32 a1) {
a0->x *= a1;
a0->y *= a1;
a0->z *= a1;
}
UNK_RET Lib_ScaleVec3f(z_Vector3D* a0, f32 a1, z_Vector3D* a2) {
UNK_RET Lib_ScaleVec3f(z_Vector3f* a0, f32 a1, z_Vector3f* a2) {
a2->x = a0->x * a1;
a2->y = a0->y * a1;
a2->z = a0->z * a1;
}
UNK_RET Lib_LerpVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3) {
UNK_RET Lib_LerpVec3f(z_Vector3f* a0, z_Vector3f* a1, f32 a2, z_Vector3f* a3) {
a3->x = (a1->x - a0->x) * a2 + a0->x;
a3->y = (a1->y - a0->y) * a2 + a0->y;
a3->z = (a1->z - a0->z) * a2 + a0->z;
}
UNK_RET Lib_AddScaledVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3) {
UNK_RET Lib_AddScaledVec3f(z_Vector3f* a0, z_Vector3f* a1, f32 a2, z_Vector3f* a3) {
a3->x = a1->x * a2 + a0->x;
a3->y = a1->y * a2 + a0->y;
a3->z = a1->z * a2 + a0->z;
}
UNK_RET Lib_ModifyRandScaled(z_Vector3D* a0, f32 a1, z_Vector3D* a2) {
UNK_RET Lib_ModifyRandScaled(z_Vector3f* a0, f32 a1, z_Vector3f* a2) {
a2->x = randPlusMinusPoint5Scaled(a1) + a0->x;
a2->y = randPlusMinusPoint5Scaled(a1) + a0->y;
a2->z = randPlusMinusPoint5Scaled(a1) + a0->z;
}
void Lib_ScaledNormalizedDifferenceVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3) {
void Lib_ScaledNormalizedDifferenceVec3f(z_Vector3f* a0, z_Vector3f* a1, f32 a2, z_Vector3f* a3) {
f32 f0 = Lib_DistanceAndDifferenceVec3f(a0, a1, a3);
f32 f2;
@ -358,24 +358,24 @@ void Lib_ScaledNormalizedDifferenceVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2,
a3->z *= f2;
}
f32 Lib_DistanceVec3f(z_Vector3D* a0, z_Vector3D* a1) {
z_Vector3D sp1C;
f32 Lib_DistanceVec3f(z_Vector3f* a0, z_Vector3f* a1) {
z_Vector3f sp1C;
Lib_SubVec3f(a1, a0, &sp1C);
return sqrtf((sp1C.x * sp1C.x) + (sp1C.y * sp1C.y) + (sp1C.z * sp1C.z));
}
f32 Lib_DistanceAndDifferenceVec3f(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2) {
f32 Lib_DistanceAndDifferenceVec3f(z_Vector3f* a0, z_Vector3f* a1, z_Vector3f* a2) {
Lib_SubVec3f(a1, a0, a2);
return sqrtf((a2->x * a2->x) + (a2->y * a2->y) + (a2->z * a2->z));
}
f32 Lib_DistanceXZVec3f(z_Vector3D* a0, z_Vector3D* a1) {
f32 Lib_DistanceXZVec3f(z_Vector3f* a0, z_Vector3f* a1) {
f32 dx = a1->x - a0->x;
f32 dz = a1->z - a0->z;
return sqrtf((dx * dx) + (dz * dz));
}
f32 Lib_DistanceAndDifferenceXZVec3f(z_Vector3D* a0, z_Vector3D* a1, f32* a2, f32* a3) {
f32 Lib_DistanceAndDifferenceXZVec3f(z_Vector3f* a0, z_Vector3f* a1, f32* a2, f32* a3) {
*a2 = a1->x - a0->x;
*a3 = a1->z - a0->z;
return sqrtf((*a2 * *a2) + (*a3 * *a3));
@ -383,7 +383,7 @@ f32 Lib_DistanceAndDifferenceXZVec3f(z_Vector3D* a0, z_Vector3D* a1, f32* a2, f3
#ifdef NONMATCHING
UNK_RET Lib_PushAwayXZVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2) {
UNK_RET Lib_PushAwayXZVec3f(z_Vector3f* a0, z_Vector3f* a1, f32 a2) {
f32 sp24;
f32 sp20;
f32 f0 = Lib_DistanceAndDifferenceXZVec3f(a1, a0, &sp24, &sp20);
@ -405,17 +405,17 @@ GLOBAL_ASM("./asm/nonmatching/z_lib/Lib_PushAwayXZVec3f.asm")
#endif
f32 Lib_DistanceYVec3f(z_Vector3D* a0, z_Vector3D* a1) {
f32 Lib_DistanceYVec3f(z_Vector3f* a0, z_Vector3f* a1) {
return a1->y - a0->y;
}
UNK_TYPE Lib_YawVec3f(z_Vector3D* a0, z_Vector3D* a1) {
UNK_TYPE Lib_YawVec3f(z_Vector3f* a0, z_Vector3f* a1) {
f32 f14 = a1->x - a0->x;
f32 f12 = a1->z - a0->z;
return atans_flip(f12, f14);
}
UNK_TYPE Lib_PitchVec3f(z_Vector3D* a0, z_Vector3D* a1) {
UNK_TYPE Lib_PitchVec3f(z_Vector3f* a0, z_Vector3f* a1) {
return atans_flip(Lib_DistanceXZVec3f(a0, a1), a0->y - a1->y);
}
@ -458,7 +458,7 @@ UNK_RET Lib_ApplyActorInitVarFloat1000th(u8* a0, z_ActorCompInitEntry* a1) {
}
UNK_RET Lib_ApplyActorInitVarVector3f(u8* a0, z_ActorCompInitEntry* a1) {
z_Vector3D* v0 = (z_Vector3D*)(a0 + a1->offset);
z_Vector3f* v0 = (z_Vector3f*)(a0 + a1->offset);
f32 f0 = (f32)(a1->value);
v0->z = f0;
@ -467,7 +467,7 @@ UNK_RET Lib_ApplyActorInitVarVector3f(u8* a0, z_ActorCompInitEntry* a1) {
}
UNK_RET Lib_ApplyActorInitVarVector3f1000th(u8* a0, z_ActorCompInitEntry* a1) {
z_Vector3D* v0 = (z_Vector3D*)(a0 + a1->offset);
z_Vector3f* v0 = (z_Vector3f*)(a0 + a1->offset);
f32 f0 = (f32)(a1->value) / 1000;
v0->z = f0;
@ -476,7 +476,7 @@ UNK_RET Lib_ApplyActorInitVarVector3f1000th(u8* a0, z_ActorCompInitEntry* a1) {
}
UNK_RET Lib_ApplyActorInitVarVector3s(u8* a0, z_ActorCompInitEntry* a1) {
z_Vector3Ds16* v0 = (z_Vector3Ds16*)(a0 + a1->offset);
z_Vector3s* v0 = (z_Vector3s*)(a0 + a1->offset);
s16 v1 = (s16)(a1->value);
v0->z = v1;
@ -600,7 +600,7 @@ UNK_RET func_801000F4(UNK_TYPE a0, u16 a1) {
func_8019F1C0(a0, a1);
}
void Lib_TranslateAndRotateYVec3f(z_Vector3D* a0, s16 a1, z_Vector3D* a2, z_Vector3D* a3) {
void Lib_TranslateAndRotateYVec3f(z_Vector3f* a0, s16 a1, z_Vector3f* a2, z_Vector3f* a3) {
f32 sp1C;
f32 f0;
@ -626,8 +626,8 @@ GLOBAL_ASM("./asm/nonmatching/z_lib/Lib_LerpRGB.asm")
#endif
f32 Lib_PushAwayVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2) {
z_Vector3D sp24;
f32 Lib_PushAwayVec3f(z_Vector3f* a0, z_Vector3f* a1, f32 a2) {
z_Vector3f sp24;
f32 f2;
f32 f0;

View File

@ -30,10 +30,10 @@ void osInitialize(void) {
while (__osSiRawReadIo(0x1FC007FC, &pifdata) != 0);
while (__osSiRawWriteIo(0x1FC007FC, pifdata | 8) != 0);
*(s8008A6FC*)0x80000000 = *((s8008A6FC*)__osExceptionPreamble);
*(s8008A6FC*)0x80000080 = *((s8008A6FC*)__osExceptionPreamble);
*(s8008A6FC*)0x80000100 = *((s8008A6FC*)__osExceptionPreamble);
*(s8008A6FC*)0x80000180 = *((s8008A6FC*)__osExceptionPreamble);
*(__osExceptionVector*)0x80000000 = *((__osExceptionVector*)__osExceptionPreamble);
*(__osExceptionVector*)0x80000080 = *((__osExceptionVector*)__osExceptionPreamble);
*(__osExceptionVector*)0x80000100 = *((__osExceptionVector*)__osExceptionPreamble);
*(__osExceptionVector*)0x80000180 = *((__osExceptionVector*)__osExceptionPreamble);
osWritebackDCache((void*)0x80000000, 400);
osInvalICache((void*)0x80000000, 400);

View File

@ -13,13 +13,13 @@
0x80080748:("func_80080748","UNK_RET","void"),
0x80080790:("Dmamgr_DoDmaTransfer","s32","void*, void*, s32"),
0x800808D4:("Dmamgr_osEPiStartDmaWrapper","void","OSPiHandle* pihandle, OSIoMesg* mb, s32 direction"),
0x800808F4:("Dmamgr_FindDmaEntry","DmadataEntry*","u32"),
0x800808F4:("Dmamgr_FindDmaEntry","z_DmadataEntry*","u32"),
0x80080950:("Dmamgr_TranslateVromToRom","s32","u32"),
0x800809BC:("Dmamgr_FindDmaIndex","s32","u32"),
0x800809F4:("func_800809F4","UNK_TYPE*","u32"),
0x80080A08:("Dmamgr_HandleRequest","void","s80080A08*"),
0x80080A08:("Dmamgr_HandleRequest","void","z_DmaRequest*"),
0x80080B84:("Dmamgr_ThreadEntry","void","void*"),
0x80080C04:("Dmamgr_SendRequest","s32","s80080A08*, UNK_FUN_ARG, UNK_PTR, UNK_TYPE, UNK_TYPE, OSMesgQueue*, UNK_TYPE"),
0x80080C04:("Dmamgr_SendRequest","s32","z_DmaRequest*, UNK_FUN_ARG, UNK_PTR, UNK_TYPE, UNK_TYPE, OSMesgQueue*, UNK_TYPE"),
0x80080C90:("Dmamgr_SendRequestAndWait","s32","UNK_TYPE, UNK_PTR, UNK_TYPE"),
0x80080D0C:("Dmamgr_Start","void","void"),
0x80080E00:("Dmamgr_Stop","void","void"),
@ -38,7 +38,7 @@
0x800815A8:("Irqmgr_CheckThreadStatus","UNK_RET","UNK_ARGS"),
0x800815CC:("Irqmgr_HandleFrame","UNK_RET","UNK_ARGS"),
0x80081684:("Irqmgr_ThreadEntry","UNK_RET","UNK_ARGS"),
0x80081754:("Irqmgr_Start","UNK_RET","UNK_PTR, s80085320*, UNK_TYPE, UNK_TYPE"),
0x80081754:("Irqmgr_Start","UNK_RET","UNK_PTR, z_ThreadInfo*, UNK_TYPE, UNK_TYPE"),
0x80081820:("nop_80081820","void","void"),
0x80081828:("nop_80081828","void","void"),
0x80081830:("func_80081830","void","void"),
@ -131,11 +131,11 @@
0x8008520C:("func_8008520C","UNK_RET","UNK_ARGS"),
0x8008522C:("func_8008522C","UNK_RET","UNK_ARGS"),
0x8008524C:("func_8008524C","UNK_RET","UNK_ARGS"),
0x80085320:("thread_info_init","void","s80085320*, UNK_PTR, UNK_PTR, UNK_TYPE, UNK_TYPE, UNK_PTR"),
0x800853F8:("func_800853F8","UNK_RET","s80085320*"),
0x80085468:("get_thread_stack_status","UNK_TYPE","s80085320*"),
0x80085320:("thread_info_init","void","z_ThreadInfo*, UNK_PTR, UNK_PTR, UNK_TYPE, UNK_TYPE, UNK_PTR"),
0x800853F8:("func_800853F8","UNK_RET","z_ThreadInfo*"),
0x80085468:("get_thread_stack_status","UNK_TYPE","z_ThreadInfo*"),
0x800854E0:("check_all_thread_status","UNK_TYPE","UNK_ARGS"),
0x80085538:("check_thread_status","UNK_RET","s80085320*"),
0x80085538:("check_thread_status","UNK_RET","z_ThreadInfo*"),
0x80085570:("func_80085570","UNK_RET","UNK_ARGS"),
0x800859BC:("func_800859BC","UNK_RET","UNK_ARGS"),
0x80085A08:("func_80085A08","UNK_RET","UNK_ARGS"),
@ -485,11 +485,11 @@
0x800968B0:("func_800968B0","u32","const u8*, const u8*"),
0x80096930:("func_80096930","UNK_RET","UNK_ARGS"),
0x800A5AC0:("EnAObj_Init","UNK_RET","void*, UNK_TYPE"),
0x800A5B6C:("EnAObj_Fini","UNK_RET","s800A5AC0*, z_GlobalContext*"),
0x800A5B98:("EnAObj_Update1","UNK_RET","s800A5AC0*, UNK_TYPE"),
0x800A5C28:("EnAObj_Update2","UNK_RET","s800A5AC0*"),
0x800A5C60:("EnAObj_Main","UNK_RET","s800A5AC0*, UNK_TYPE"),
0x800A5CB8:("EnAObj_Draw","UNK_RET","s800A5AC0*, UNK_TYPE"),
0x800A5B6C:("EnAObj_Fini","UNK_RET","z_ActorEnAObj*, z_GlobalContext*"),
0x800A5B98:("EnAObj_Update1","UNK_RET","z_ActorEnAObj*, UNK_TYPE"),
0x800A5C28:("EnAObj_Update2","UNK_RET","z_ActorEnAObj*"),
0x800A5C60:("EnAObj_Main","UNK_RET","z_ActorEnAObj*, UNK_TYPE"),
0x800A5CB8:("EnAObj_Draw","UNK_RET","z_ActorEnAObj*, UNK_TYPE"),
0x800A5D00:("EnItem00_UpdateForNewObjectId","UNK_RET","UNK_ARGS"),
0x800A5D70:("EnItem00_Init","UNK_RET","UNK_ARGS"),
0x800A637C:("EnItem00_Fini","UNK_RET","UNK_ARGS"),
@ -597,7 +597,7 @@
0x800B14D4:("func_800B14D4","UNK_RET","UNK_ARGS"),
0x800B1598:("func_800B1598","UNK_RET","UNK_ARGS"),
0x800B165C:("func_800B165C","UNK_RET","UNK_ARGS"),
0x800B16B8:("func_800B16B8","UNK_RET","z_GlobalContext*, z_Vector3D*, UNK_PTR, UNK_PTR, UNK_PTR, UNK_PTR"),
0x800B16B8:("func_800B16B8","UNK_RET","z_GlobalContext*, z_Vector3f*, UNK_PTR, UNK_PTR, UNK_PTR, UNK_PTR"),
0x800B16F4:("EffectSS_LoadSparkle","UNK_RET","UNK_ARGS"),
0x800B1830:("func_800B1830","UNK_RET","UNK_ARGS"),
0x800B1908:("EffectSS_LoadBomb2","UNK_RET","UNK_ARGS"),
@ -706,7 +706,7 @@
0x800B6680:("func_800B6680","UNK_RET","UNK_ARGS"),
0x800B670C:("Actor_MarkForDeath","UNK_RET","z_Actor*"),
0x800B672C:("func_800B672C","UNK_RET","UNK_ARGS"),
0x800B675C:("func_800B675C","UNK_RET","s800A5AC0*, UNK_TYPE"),
0x800B675C:("func_800B675C","UNK_RET","z_ActorEnAObj*, UNK_TYPE"),
0x800B67A0:("func_800B67A0","UNK_RET","UNK_ARGS"),
0x800B67C0:("func_800B67C0","UNK_RET","UNK_ARGS"),
0x800B67E0:("Actor_SetScale","UNK_RET","z_Actor*, f32"),
@ -770,12 +770,12 @@
0x800B82EC:("func_800B82EC","UNK_RET","UNK_ARGS"),
0x800B83BC:("func_800B83BC","UNK_RET","UNK_ARGS"),
0x800B83F8:("func_800B83F8","UNK_RET","UNK_ARGS"),
0x800B84D0:("func_800B84D0","UNK_TYPE","s800A5AC0*, UNK_TYPE"),
0x800B84D0:("func_800B84D0","UNK_TYPE","z_ActorEnAObj*, UNK_TYPE"),
0x800B8500:("func_800B8500","UNK_RET","UNK_ARGS"),
0x800B85E0:("func_800B85E0","UNK_RET","UNK_ARGS"),
0x800B8614:("func_800B8614","UNK_RET","UNK_ARGS"),
0x800B863C:("func_800B863C","UNK_RET","s800A5AC0*, UNK_TYPE"),
0x800B867C:("func_800B867C","UNK_TYPE","s800A5AC0*"),
0x800B863C:("func_800B863C","UNK_RET","z_ActorEnAObj*, UNK_TYPE"),
0x800B867C:("func_800B867C","UNK_TYPE","z_ActorEnAObj*"),
0x800B86C8:("func_800B86C8","UNK_RET","UNK_ARGS"),
0x800B8708:("func_800B8708","UNK_RET","UNK_ARGS"),
0x800B8718:("func_800B8718","UNK_RET","UNK_ARGS"),
@ -880,7 +880,7 @@
0x800BDC5C:("func_800BDC5C","UNK_RET","UNK_ARGS"),
0x800BDCF4:("func_800BDCF4","UNK_RET","UNK_ARGS"),
0x800BDFB0:("func_800BDFB0","UNK_RET","UNK_ARGS"),
0x800BDFC0:("func_800BDFC0","UNK_RET","UNK_TYPE, UNK_TYPE, UNK_TYPE, s800A5AC0*"),
0x800BDFC0:("func_800BDFC0","UNK_RET","UNK_TYPE, UNK_TYPE, UNK_TYPE, z_ActorEnAObj*"),
0x800BE03C:("func_800BE03C","void","z_GlobalContext*, UNK_TYPE"),
0x800BE0B8:("func_800BE0B8","UNK_RET","UNK_ARGS"),
0x800BE184:("func_800BE184","UNK_RET","UNK_ARGS"),
@ -1612,7 +1612,7 @@
0x800F0390:("func_800F0390","UNK_RET","UNK_ARGS"),
0x800F03C0:("func_800F03C0","UNK_RET","UNK_ARGS"),
0x800F048C:("func_800F048C","UNK_RET","UNK_ARGS"),
0x800F0568:("func_800F0568","UNK_RET","z_GlobalContext*, z_Vector3D*, UNK_TYPE, UNK_TYPE"),
0x800F0568:("func_800F0568","UNK_RET","z_GlobalContext*, z_Vector3f*, UNK_TYPE, UNK_TYPE"),
0x800F0590:("func_800F0590","UNK_RET","UNK_ARGS"),
0x800F05C0:("func_800F05C0","UNK_RET","UNK_ARGS"),
0x800F07C0:("func_800F07C0","UNK_RET","UNK_ARGS"),
@ -1804,27 +1804,27 @@
0x800FF3A0:("func_800FF3A0","UNK_RET","UNK_ARGS"),
0x800FF450:("Lib_rand_s","s16","s16 a0, s16 a1"),
0x800FF4A4:("Lib_randStride_s","s16","s16 a0, s16 a1, s16 a2"),
0x800FF50C:("Lib_CopyVec3f","UNK_RET","z_Vector3D* dst, z_Vector3D* src"),
0x800FF52C:("Lib_CopyVec3s","UNK_RET","z_Vector3Ds16* dst, z_Vector3Ds16* src"),
0x800FF54C:("Lib_ToVec3f","UNK_RET","z_Vector3D* dst, z_Vector3Ds16* src"),
0x800FF584:("Lib_ToVec3s","UNK_RET","z_Vector3Ds16* dst, z_Vector3D* src"),
0x800FF5BC:("Lib_AddVec3f","UNK_RET","z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2"),
0x800FF5F4:("Lib_SubVec3f","UNK_RET","z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2"),
0x800FF62C:("Lib_SubVec3sToVec3f","UNK_RET","z_Vector3D* a0, z_Vector3Ds16* a1, z_Vector3Ds16* a2"),
0x800FF688:("Lib_ScaleInPlaceVec3f","UNK_RET","z_Vector3D* a0, f32 a1"),
0x800FF6C4:("Lib_ScaleVec3f","UNK_RET","z_Vector3D* a0, f32 a1, z_Vector3D* a2"),
0x800FF6F8:("Lib_LerpVec3f","UNK_RET","z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3"),
0x800FF750:("Lib_AddScaledVec3f","UNK_RET","z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3"),
0x800FF79C:("Lib_ModifyRandScaled","UNK_RET","z_Vector3D* a0, f32 a1, z_Vector3D* a2"),
0x800FF810:("Lib_ScaledNormalizedDifferenceVec3f","UNK_RET","z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3"),
0x800FF884:("Lib_DistanceVec3f","f32","z_Vector3D* a0, z_Vector3D* a1"),
0x800FF8D4:("Lib_DistanceAndDifferenceVec3f","f32","z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2"),
0x800FF92C:("Lib_DistanceXZVec3f","f32","z_Vector3D* a0, z_Vector3D* a1"),
0x800FF960:("Lib_DistanceAndDifferenceXZVec3f","f32","z_Vector3D* a0, z_Vector3D* a1, f32* a2, f32* a3"),
0x800FF9A4:("Lib_PushAwayXZVec3f","UNK_RET","z_Vector3D* a0, z_Vector3D* a1, f32 a2"),
0x800FFA4C:("Lib_DistanceYVec3f","f32","z_Vector3D* a0, z_Vector3D* a1"),
0x800FFA60:("Lib_YawVec3f","UNK_TYPE","z_Vector3D* a0, z_Vector3D* a1"),
0x800FFA94:("Lib_PitchVec3f","UNK_TYPE","z_Vector3D* a0, z_Vector3D* a1"),
0x800FF50C:("Lib_CopyVec3f","UNK_RET","z_Vector3f* dst, z_Vector3f* src"),
0x800FF52C:("Lib_CopyVec3s","UNK_RET","z_Vector3s* dst, z_Vector3s* src"),
0x800FF54C:("Lib_ToVec3f","UNK_RET","z_Vector3f* dst, z_Vector3s* src"),
0x800FF584:("Lib_ToVec3s","UNK_RET","z_Vector3s* dst, z_Vector3f* src"),
0x800FF5BC:("Lib_AddVec3f","UNK_RET","z_Vector3f* a0, z_Vector3f* a1, z_Vector3f* a2"),
0x800FF5F4:("Lib_SubVec3f","UNK_RET","z_Vector3f* a0, z_Vector3f* a1, z_Vector3f* a2"),
0x800FF62C:("Lib_SubVec3sToVec3f","UNK_RET","z_Vector3f* a0, z_Vector3s* a1, z_Vector3s* a2"),
0x800FF688:("Lib_ScaleInPlaceVec3f","UNK_RET","z_Vector3f* a0, f32 a1"),
0x800FF6C4:("Lib_ScaleVec3f","UNK_RET","z_Vector3f* a0, f32 a1, z_Vector3f* a2"),
0x800FF6F8:("Lib_LerpVec3f","UNK_RET","z_Vector3f* a0, z_Vector3f* a1, f32 a2, z_Vector3f* a3"),
0x800FF750:("Lib_AddScaledVec3f","UNK_RET","z_Vector3f* a0, z_Vector3f* a1, f32 a2, z_Vector3f* a3"),
0x800FF79C:("Lib_ModifyRandScaled","UNK_RET","z_Vector3f* a0, f32 a1, z_Vector3f* a2"),
0x800FF810:("Lib_ScaledNormalizedDifferenceVec3f","UNK_RET","z_Vector3f* a0, z_Vector3f* a1, f32 a2, z_Vector3f* a3"),
0x800FF884:("Lib_DistanceVec3f","f32","z_Vector3f* a0, z_Vector3f* a1"),
0x800FF8D4:("Lib_DistanceAndDifferenceVec3f","f32","z_Vector3f* a0, z_Vector3f* a1, z_Vector3f* a2"),
0x800FF92C:("Lib_DistanceXZVec3f","f32","z_Vector3f* a0, z_Vector3f* a1"),
0x800FF960:("Lib_DistanceAndDifferenceXZVec3f","f32","z_Vector3f* a0, z_Vector3f* a1, f32* a2, f32* a3"),
0x800FF9A4:("Lib_PushAwayXZVec3f","UNK_RET","z_Vector3f* a0, z_Vector3f* a1, f32 a2"),
0x800FFA4C:("Lib_DistanceYVec3f","f32","z_Vector3f* a0, z_Vector3f* a1"),
0x800FFA60:("Lib_YawVec3f","UNK_TYPE","z_Vector3f* a0, z_Vector3f* a1"),
0x800FFA94:("Lib_PitchVec3f","UNK_TYPE","z_Vector3f* a0, z_Vector3f* a1"),
0x800FFADC:("Lib_ApplyActorInitVars","void","z_Actor*, z_ActorCompInitEntry*"),
0x800FFB54:("Lib_ApplyActorInitVarByte1","UNK_RET","u8* a0, z_ActorCompInitEntry* a1"),
0x800FFB70:("Lib_ApplyActorInitVarByte2","UNK_RET","u8* a0, z_ActorCompInitEntry* a1"),
@ -1846,9 +1846,9 @@
0x801000A4:("func_801000A4","UNK_RET","u16 a0"),
0x801000CC:("func_801000CC","UNK_RET","u16 a0"),
0x801000F4:("func_801000F4","UNK_RET","UNK_TYPE a0, u16 a1"),
0x8010011C:("Lib_TranslateAndRotateYVec3f","UNK_RET","z_Vector3D* a0, s16 a1, z_Vector3D* a2, z_Vector3D* a3"),
0x8010011C:("Lib_TranslateAndRotateYVec3f","UNK_RET","z_Vector3f* a0, s16 a1, z_Vector3f* a2, z_Vector3f* a3"),
0x801001B8:("Lib_LerpRGB","UNK_RET","u8* a0, u8* a1, f32 a2, u8* a3"),
0x80100448:("Lib_PushAwayVec3f","f32","z_Vector3D* a0, z_Vector3D* a1, f32 a2"),
0x80100448:("Lib_PushAwayVec3f","f32","z_Vector3f* a0, z_Vector3f* a1, f32 a2"),
0x801004FC:("Lib_Nop801004FC","UNK_RET","void"),
0x80100504:("Lib_PtrSegToPhys","UNK_TYPE","u32 a0"),
0x8010053C:("Lib_PtrSegToPhysNull","UNK_TYPE","u32 a0"),
@ -1874,13 +1874,13 @@
0x80101D3C:("Lights_MapPositionalWithReference","UNK_RET","UNK_ARGS"),
0x801020A0:("Lights_MapPositional","UNK_RET","UNK_ARGS"),
0x80102284:("Lights_MapDirectional","UNK_RET","UNK_ARGS"),
0x801022F0:("Lights_MapLights","UNK_RET","UNK_TYPE, UNK_TYPE, UNK_TYPE, z_GlobalContext*"),
0x801022F0:("Lights_MapLights","UNK_RET","UNK_TYPE, z_Light*, UNK_TYPE, z_GlobalContext*"),
0x801023D8:("Lights_FindFreeSlot","UNK_RET","UNK_ARGS"),
0x80102464:("Lights_Free","UNK_RET","UNK_ARGS"),
0x801024AC:("Lights_Init","UNK_RET","UNK_ARGS"),
0x80102518:("Lights_SetAmbientColor","UNK_RET","UNK_ARGS"),
0x80102544:("func_80102544","UNK_RET","UNK_ARGS"),
0x80102580:("Lights_CreateMapper","UNK_TYPE","UNK_PTR, z_GraphicsContext*"),
0x80102580:("Lights_CreateMapper","UNK_TYPE","z_LightingContext*, z_GraphicsContext*"),
0x801025B8:("Lights_ClearHead","UNK_RET","UNK_ARGS"),
0x801025C8:("Lights_RemoveAll","UNK_RET","UNK_ARGS"),
0x80102624:("Lights_Insert","UNK_RET","UNK_ARGS"),
@ -3242,7 +3242,7 @@
0x8017A634:("Math3D_XZDistanceSquared","UNK_RET","UNK_ARGS"),
0x8017A678:("Math3D_XZDistance","UNK_RET","UNK_ARGS"),
0x8017A6A8:("Math3D_LengthSquared","UNK_RET","UNK_ARGS"),
0x8017A6D4:("Math3D_Length","f32","z_Vector3D*"),
0x8017A6D4:("Math3D_Length","f32","z_Vector3f*"),
0x8017A6F8:("Math3D_DistanceSquared","UNK_RET","UNK_ARGS"),
0x8017A720:("Math3D_Distance","UNK_RET","UNK_ARGS"),
0x8017A740:("Math3D_DistanceS","UNK_RET","UNK_ARGS"),

View File

@ -29,8 +29,8 @@
0x80096B40:("","OSPiHandle*",False),
0x80096B50:("","UNK_TYPE",False),
0x80096B60:("","UNK_TYPE*",False),
0x80096C40:("g_s80085320_ListHead","s80085320*",False), # TODO rename?
0x80096C44:("g_s80085320_ListTail","s80085320*",False), # TODO rename?
0x80096C40:("g_s80085320_ListHead","z_ThreadInfo*",False), # TODO rename?
0x80096C44:("g_s80085320_ListTail","z_ThreadInfo*",False), # TODO rename?
0x80097590:("","UNK_TYPE",False),
0x80097E10:("__osThreadTail","OSThread*",False),
0x80097E18:("__osRunQueue","OSThread*",False),
@ -82,24 +82,24 @@
0x80099450:("__libm_qnan_f", "float",False),
0x800994D0:("","UNK_TYPE",False),
0x800994DC:("","UNK_TYPE",False),
0x80099500:("","s80085320",False),
0x80099500:("","z_ThreadInfo",False),
0x80099520:("","OSThread",False),
0x800996D0:("","UNK_TYPE",False),
0x800975E0:("sintable","short",True),
# 0x80097DDE:("sintable","short",True), # NOTE this is just the end of sintable
0x80099AD0:("","s80085320",False),
0x80099AD0:("","z_ThreadInfo",False),
0x80099AF0:("","UNK_TYPE",False),
0x80099EF0:("","UNK_TYPE",False),
0x8009A170:("","UNK_TYPE",False),
0x8009A670:("","s80085320",False),
0x8009A670:("","z_ThreadInfo",False),
0x8009A690:("","UNK_TYPE",False),
0x8009A840:("","UNK_TYPE",False),
0x8009B140:("","s80085320",False),
0x8009B140:("","z_ThreadInfo",False),
0x8009B160:("","UNK_TYPE",False),
0x8009B228:("","UNK_TYPE",False),
0x8009B240:("","u32*",False),
0x8009B290:("","u8",False),
0x8009B2A0:("","s80085320",False),
0x8009B2A0:("","z_ThreadInfo",False),
0x8009B2BC:("","u16",False), # Count of entries in dmadata
0x8009B2C0:("","OSMesgQueue",False),
0x8009B2D8:("","UNK_TYPE",False),
@ -135,7 +135,7 @@
0x8009E5C0:("__osTimerCounter","UNK_TYPE",False),
0x8009E610:("","OSPiHandle",False),
0x8009E624:("","UNK_TYPE",False),
0x8009F8B0:("dmadata","DmadataEntry",True), # RAM copy of dmadata
0x8009F8B0:("dmadata","z_DmadataEntry",True), # RAM copy of dmadata
0x801ADE80:("","UNK_TYPE",False),
0x801ADEAC:("","UNK_TYPE",False),
0x801ADEB0:("D_801ADEB0","int",True), # TODO better array representation
@ -153,7 +153,7 @@
0x801AE214:("D_801AE214","u8",True), # length 32
0x801AE3A0:("EffectSS2Info","z_EffectTableInfo",False),
0x801AE4A0:("particleOverlayTable","z_ParticleOverlayTableEntry",True), # length 0x28
0x801AEFD0:("","s800BF9A0",False),
0x801AEFD0:("","z_ActorOverlayTableEntry",False),
0x801B4610:("","UNK_TYPE",False),
0x801B9F20:("","s800E03A0",False), # actually an array of size 23?
0x801BDB30:("","u8",True),
@ -209,9 +209,9 @@
# En_Test
0x808637D0:("","f32",False),
0x80ACB650:("bgBgFuKaitenInitVar","z_ActorInit",False),
0x80ACB650:("bgBgFuKaitenInitVar","z_ActorInitData",False),
0x80ACB650:("","f32",False),
0x80BD55D0:("bgIkanaRayInitVar","z_ActorInit",False),
0x80BD55D0:("bgIkanaRayInitVar","z_ActorInitData",False),
0x80BD55F0:("","UNK_TYPE",False),
0x80BD561C:("bgIkanaRayCompInit","z_ActorCompInitEntry",True),
0x80BD562C:("","UNK_TYPE",False)

View File

@ -642,7 +642,7 @@ class Disassembler:
with open(path + "/functions.h", 'w', newline='\n') as f:
f.write("#ifndef _FUNCTIONS_H_\n#define _FUNCTIONS_H_\n\n");
f.write('#include <PR/ultratypes.h>\n#include <osint.h>\n#include <viint.h>\n#include <guint.h>\n#include <unk.h>\n#include <structs.h>\n\n');
f.write('#include <PR/ultratypes.h>\n#include <osint.h>\n#include <viint.h>\n#include <guint.h>\n#include <unk.h>\n#include <structs.h>\n#include <structs_bitfields.h>\n#include <stdlib.h>\n#include <xstdio.h>\n\n');
for addr in sorted(self.functions):
if addr in known_funcs:
@ -655,7 +655,7 @@ class Disassembler:
with open(path + "/variables.h", 'w', newline='\n') as f:
f.write("#ifndef _VARIABLES_H_\n#define _VARIABLES_H_\n\n");
f.write('#include <PR/ultratypes.h>\n#include <osint.h>\n#include <viint.h>\n#include <guint.h>\n#include <unk.h>\n#include <structs.h>\n\n');
f.write('#include <PR/ultratypes.h>\n#include <osint.h>\n#include <viint.h>\n#include <guint.h>\n#include <unk.h>\n#include <structs.h>\n#include <structs_bitfields.h>\n#include <stdlib.h>\n#include <xstdio.h>\n\n');
for addr in sorted(self.vars):
if addr in known_vars: