mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Merge pull request #171 from Ryan-Myers/master
Several more large-ish changes for header files
This commit is contained in:
@@ -905,4 +905,36 @@ typedef struct Object {
|
||||
u32 unk378[174]; // Not an array. Unknown values.
|
||||
} Object;
|
||||
|
||||
/* Size: 0x44 bytes, might just be Object? */
|
||||
typedef struct unk80120AC0 {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
u8 pad6[6];
|
||||
f32 x_position;
|
||||
f32 y_position;
|
||||
f32 z_position;
|
||||
f32 pad18;
|
||||
f32 unk1C;
|
||||
f32 pad20;
|
||||
f32 unk24;
|
||||
f32 unk28;
|
||||
f32 unk2C;
|
||||
f32 unk30;
|
||||
s16 unk34;
|
||||
s16 pad36;
|
||||
s16 unk38;
|
||||
s8 pad3A;
|
||||
s8 unk3B;
|
||||
u8 pad3C[8];
|
||||
} unk80120AC0;
|
||||
|
||||
typedef struct unk80027FC4 {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
} unk80027FC4;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -143,7 +143,7 @@ ALMicroTime alEvtqNextEvent(ALEventQueue *evtq, ALEvent *evt) {
|
||||
}
|
||||
|
||||
|
||||
void alEvtqNew(ALEventQueue *evtq, ALEventListItem *items, s32 itemCount){
|
||||
void alEvtqNew(ALEventQueue *evtq, ALEventListItem *items, s32 itemCount) {
|
||||
s32 i;
|
||||
|
||||
evtq->eventCount = 0;
|
||||
|
||||
+1
-9
@@ -9,7 +9,7 @@
|
||||
#include "asset_sections.h"
|
||||
#include "asset_loading.h"
|
||||
#include "audio_internal.h"
|
||||
|
||||
#include "unknown_003260.h"
|
||||
|
||||
/* Size: 0x08 bytes */
|
||||
typedef struct unk80115D48 {
|
||||
@@ -100,14 +100,6 @@ u32 D_80115F88;
|
||||
|
||||
/******************************/
|
||||
|
||||
typedef struct audioMgrConfig_s{
|
||||
u32 unk00;
|
||||
u32 unk04;
|
||||
u32 maxChannels;
|
||||
ALHeap *hp;
|
||||
u16 unk10;
|
||||
} audioMgrConfig;
|
||||
|
||||
void audio_init(u32 arg0) {
|
||||
s32 iCnt;
|
||||
ALSynConfig synth_config;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "audio.h"
|
||||
#include "unknown_00BC20.h"
|
||||
#include "unknown_06B2B0.h"
|
||||
#include "unknown_0255E0.h"
|
||||
|
||||
extern u32 osTvType;
|
||||
|
||||
|
||||
@@ -59,30 +59,6 @@ typedef struct unk80121110 {
|
||||
s8 unk6;
|
||||
} unk80121110;
|
||||
|
||||
/* Size: 0x44 bytes, might just be Object? */
|
||||
typedef struct unk80120AC0 {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
u8 pad6[6];
|
||||
f32 x_position;
|
||||
f32 y_position;
|
||||
f32 z_position;
|
||||
f32 pad18;
|
||||
f32 unk1C;
|
||||
f32 pad20;
|
||||
f32 unk24;
|
||||
f32 unk28;
|
||||
f32 unk2C;
|
||||
f32 unk30;
|
||||
s16 unk34;
|
||||
s16 pad36;
|
||||
s16 unk38;
|
||||
s8 pad3A;
|
||||
s8 unk3B;
|
||||
u8 pad3C[8];
|
||||
} unk80120AC0;
|
||||
|
||||
extern ScreenViewport gScreenViewports[4];
|
||||
|
||||
// Not sure about the typing here
|
||||
@@ -109,7 +85,6 @@ extern s32 SP_IMEM;
|
||||
|
||||
//TODO: Remove from here once header files for below are created with these signatures.
|
||||
void func_8006F870(Matrix, Matrix); //unknown_070110
|
||||
s16 get_level_segment_index_from_position(f32 xPos, f32 yPos, f32 zPos); //unknown_0255E0
|
||||
void func_800705F8(s32, f32, f32, f32); //From unknown_070110
|
||||
|
||||
f32 sqrtf(f32); //IDO?
|
||||
|
||||
@@ -129,5 +129,6 @@ void func_800B2260(unk800B2260 *arg0);
|
||||
void func_800AF134(unk800B2260 *arg0, s32 arg1, s32 arg2, s16 arg3, s16 arg4, s16 arg5); // Non Matching
|
||||
void func_800AF404(s32 arg0); // Non Matching
|
||||
void func_800B263C(unk800B2260_C *arg0); // Non Matching
|
||||
void func_800AFC3C(Object *, s32); // Non Matching
|
||||
|
||||
#endif
|
||||
|
||||
+8
-38
@@ -4,19 +4,6 @@
|
||||
#include "unknown_003260.h"
|
||||
#include "memory.h"
|
||||
|
||||
#define AL_SNDP_PLAY_EVT (1 << 0)
|
||||
#define AL_SNDP_STOP_EVT (1 << 1)
|
||||
#define AL_SNDP_PAN_EVT (1 << 2)
|
||||
#define AL_SNDP_VOL_EVT (1 << 3)
|
||||
#define AL_SNDP_PITCH_EVT (1 << 4)
|
||||
#define AL_SNDP_API_EVT (1 << 5)
|
||||
#define AL_SNDP_DECAY_EVT (1 << 6)
|
||||
#define AL_SNDP_END_EVT (1 << 7)
|
||||
#define AL_SNDP_FX_EVT (1 << 8)
|
||||
|
||||
extern void func_80002A98(void*);
|
||||
extern u32 func_80003008;
|
||||
|
||||
/************ .bss ************/
|
||||
|
||||
// All of these are defined in unknown_003260_bss.c
|
||||
@@ -45,7 +32,6 @@ extern OSMesgQueue D_80119AF0;
|
||||
extern OSMesg D_80119B08[50];
|
||||
extern unk800DC6BC D_80119BD0;
|
||||
extern u16 *D_80119C28;
|
||||
|
||||
extern f32 gVideoRefreshRate;
|
||||
|
||||
/******************************/
|
||||
@@ -92,12 +78,10 @@ const char D_800E4B80[] = "WARNING: Attempt to stop NULL sound aborted\n";
|
||||
|
||||
/*********************************/
|
||||
|
||||
void *alHeapDBAlloc(u8 *, s32, ALHeap *, s32, s32);
|
||||
|
||||
#if 1
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_003260/audioNewThread.s")
|
||||
#else
|
||||
void audioNewThread(ALSynConfig *c, OSPri p, s32 arg2){
|
||||
void audioNewThread(ALSynConfig *c, OSPri p, s32 arg2) {
|
||||
u32 *reg_v0;
|
||||
void *reg_s0;
|
||||
u32 tmp_size;
|
||||
@@ -178,11 +162,7 @@ void func_8000318C(s32 arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
ALMicroTime _sndpVoiceHandler(void *node);
|
||||
|
||||
void alSndPNew(audioMgrConfig *c){
|
||||
void alSndPNew(audioMgrConfig *c) {
|
||||
u32 i;
|
||||
unk800DC6BC_40 *tmp1;
|
||||
ALEvent sp_38;
|
||||
@@ -220,7 +200,7 @@ void alSndPNew(audioMgrConfig *c){
|
||||
#if 1
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_003260/_sndpVoiceHandler.s")
|
||||
#else
|
||||
ALMicroTime _sndpVoiceHandler(void *node){
|
||||
ALMicroTime _sndpVoiceHandler(void *node) {
|
||||
unk800DC6BC *sndp = (unk800DC6BC *) node;
|
||||
ALSndpEvent evt;
|
||||
|
||||
@@ -244,29 +224,20 @@ ALMicroTime _sndpVoiceHandler(void *node){
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_003260/_handleEvent.s")
|
||||
#else
|
||||
|
||||
#endif
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_8000410C.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_8000418C.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_800041FC.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_800042CC.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80004384.s")
|
||||
|
||||
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80004520.s")
|
||||
|
||||
|
||||
void func_80004604(u8 *arg0, u8 arg1){
|
||||
void func_80004604(u8 *arg0, u8 arg1) {
|
||||
if (arg0)
|
||||
arg0[0x36]=arg1;
|
||||
}
|
||||
|
||||
u8 func_8000461C(u8 *arg0){
|
||||
u8 func_8000461C(u8 *arg0) {
|
||||
if (arg0)
|
||||
return arg0[0x3F];
|
||||
return 0;
|
||||
@@ -276,16 +247,15 @@ void func_80004638(ALBank *bnk, s16 sndIndx, s32 arg2) {
|
||||
func_80004668(bnk, sndIndx, 0, arg2);
|
||||
}
|
||||
|
||||
|
||||
#if 1
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80004668.s")
|
||||
#else
|
||||
void func_80004668(ALBank *bnk, s16 sndIndx, u8, s32){
|
||||
void func_80004668(ALBank *bnk, s16 sndIndx, u8, s32) {
|
||||
}
|
||||
#endif
|
||||
|
||||
//input typing not right (some type of struct)
|
||||
void func_8000488C(u8 *arg0){
|
||||
void func_8000488C(u8 *arg0) {
|
||||
ALEvent sp_18;
|
||||
sp_18.type = 1024;
|
||||
((u32*)(&sp_18))[1] = (u32) arg0;
|
||||
@@ -300,7 +270,7 @@ void func_800049D8(void) {
|
||||
func_800048D8(3);
|
||||
}
|
||||
|
||||
void func_800049F8(void * sndState,s16 type, u32 arg2){
|
||||
void func_800049F8(void * sndState,s16 type, u32 arg2) {
|
||||
ALSndpEvent sndEvt;
|
||||
sndEvt.snd_event.type = type;
|
||||
sndEvt.snd_event.state = sndState;
|
||||
|
||||
@@ -7,6 +7,16 @@
|
||||
#include "asset_sections.h"
|
||||
#include "libultra_internal.h"
|
||||
|
||||
#define AL_SNDP_PLAY_EVT (1 << 0)
|
||||
#define AL_SNDP_STOP_EVT (1 << 1)
|
||||
#define AL_SNDP_PAN_EVT (1 << 2)
|
||||
#define AL_SNDP_VOL_EVT (1 << 3)
|
||||
#define AL_SNDP_PITCH_EVT (1 << 4)
|
||||
#define AL_SNDP_API_EVT (1 << 5)
|
||||
#define AL_SNDP_DECAY_EVT (1 << 6)
|
||||
#define AL_SNDP_END_EVT (1 << 7)
|
||||
#define AL_SNDP_FX_EVT (1 << 8)
|
||||
|
||||
typedef struct unk800DC6BC_40 {
|
||||
ALLink node;
|
||||
u8 pad0C[0x38];
|
||||
@@ -82,6 +92,33 @@ extern unk800DC6BC* gAlSndPlayer;
|
||||
extern s32 sfxVolumeSlider;
|
||||
extern s32 D_800DC6C4;
|
||||
|
||||
extern void func_80002A98(void*);
|
||||
extern u32 func_80003008;
|
||||
void *alHeapDBAlloc(u8 *file, s32 line, ALHeap *hp, s32 num, s32 size); //lib/src/al
|
||||
void alEvtqNew(ALEventQueue *evtq, ALEventListItem *items, s32 itemCount); //lib/src/unknown_0C9C90.c
|
||||
ALMicroTime alEvtqNextEvent(ALEventQueue *evtq, ALEvent *evt); //lib/src/unknown_0C9C90.c
|
||||
void alSynAddPlayer(ALSynth *drvr, ALPlayer *client); //lib/src/unknown_0C9C90.c
|
||||
void alEvtqPostEvent(ALEventQueue *evtq, ALEvent *evt, ALMicroTime delta); //lib/src/unknown_0C9C90.c Non Matching
|
||||
|
||||
void audioStartThread(void);
|
||||
void audioStopThread(void);
|
||||
void set_sfx_volume_slider(u32 arg0);
|
||||
s32 sfxGetVolumeSlider(void);
|
||||
void func_8000318C(s32 arg0);
|
||||
void alSndPNew(audioMgrConfig *c);
|
||||
void func_80004604(u8 *arg0, u8 arg1);
|
||||
u8 func_8000461C(u8 *arg0);
|
||||
void func_80004638(ALBank *bnk, s16 sndIndx, s32 arg2);
|
||||
//Causes issues with its type
|
||||
//void func_8000488C(u8 *arg0);
|
||||
void func_800049D8(void);
|
||||
void func_800049F8(void * sndState,s16 type, u32 arg2);
|
||||
u16 func_80004A3C(u8 arg0);
|
||||
|
||||
|
||||
// Non Matching
|
||||
ALMicroTime _sndpVoiceHandler(void *node);
|
||||
void func_80004668(ALBank *bnk, s16 sndIndx, u8, s32);
|
||||
void audioNewThread(ALSynConfig *c, OSPri p, s32 arg2);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/* The comment below is needed for this file to be picked up by generate_ld */
|
||||
/* RAM_POS: 0x80008040 */
|
||||
|
||||
#include "unknown_008C40.h"
|
||||
#include "types.h"
|
||||
#include "macros.h"
|
||||
#include "audio_internal.h"
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef _UNKNOWN_008C40_H_
|
||||
#define _UNKNOWN_008C40_H_
|
||||
|
||||
#include "types.h"
|
||||
|
||||
void func_80008168(void);
|
||||
|
||||
void func_80009558(u16, f32 x, f32 y, f32 z, s32, s32 *); // Non Matching
|
||||
void func_80009968(f32, f32, f32, u8, u8, s32); // Non Matching
|
||||
void func_800096D8(s32, f32, f32, f32); // Non Matching
|
||||
|
||||
#endif
|
||||
@@ -245,7 +245,7 @@ s32 D_8011B000;
|
||||
s32 D_8011B004;
|
||||
s32 D_8011B008;
|
||||
s32 D_8011B010[4];
|
||||
u32 *D_8011B020[10];
|
||||
Object *D_8011B020[10];
|
||||
s32 D_8011B048[4];
|
||||
s32 D_8011B058[4];
|
||||
s32 D_8011B068[4];
|
||||
@@ -300,7 +300,7 @@ GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000B38C.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000B750.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000BADC.s")
|
||||
|
||||
u32 *func_8000BF44(s32 arg0) {
|
||||
Object *func_8000BF44(s32 arg0) {
|
||||
if (arg0 == -1) {
|
||||
arg0 = D_800DC760;
|
||||
}
|
||||
@@ -1868,7 +1868,7 @@ void run_object_loop_func(Object *obj, s32 arg1) {
|
||||
func_80039330(obj, arg1);
|
||||
break;
|
||||
case 64:
|
||||
obj_loop_world_key(obj, arg1);
|
||||
obj_loop_world_key(obj, arg1); //arg1=speed
|
||||
break;
|
||||
case 65:
|
||||
func_8003D3FC(obj, arg1);
|
||||
|
||||
@@ -119,7 +119,7 @@ extern u16 D_800DC864;
|
||||
void free_tt_ghost_data(void); //unknown_043920.c
|
||||
f32 func_800707F8(s16); //?
|
||||
|
||||
u32 *func_8000BF44(s32 arg0);
|
||||
Object *func_8000BF44(s32 arg0);
|
||||
void func_8000BF8C(void);
|
||||
void func_8000C460(void);
|
||||
void func_8000C604(void);
|
||||
@@ -211,6 +211,7 @@ void func_800228EC(s32 arg0);
|
||||
s8 func_8002341C(void);
|
||||
s32 func_80023568(void);
|
||||
s8 func_800235C0(void);
|
||||
void func_800235D0(s32 arg0);
|
||||
void func_800238BC(Object *arg0);
|
||||
void run_object_loop_func(Object *obj, s32 arg1);
|
||||
void func_8002458C(s32 arg0);
|
||||
@@ -227,5 +228,9 @@ void func_80011960(Object*, s32, u32, Object_64*, u32, u32, u32, u32, f32);
|
||||
void func_80011AD0(Object *this);
|
||||
void func_80012E28(Object *this);
|
||||
void func_8001D5E0(f32 arg0, f32 arg1, f32 arg2);
|
||||
s32 func_80014814(s32 *);
|
||||
void func_80015348(s32, s32);
|
||||
Object *func_8000EA54(unk80027FC4*, s32);
|
||||
s32 func_8001F460(Object*, s32, Object*);
|
||||
|
||||
#endif
|
||||
|
||||
+12
-120
@@ -8,30 +8,12 @@
|
||||
#include "structs.h"
|
||||
#include "f3ddkr.h"
|
||||
#include "PR/gu.h"
|
||||
|
||||
/* Size: 0x44 bytes */
|
||||
typedef struct unk80120AC0 {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
u8 pad6[6];
|
||||
f32 x_position;
|
||||
f32 y_position;
|
||||
f32 z_position;
|
||||
f32 pad18;
|
||||
f32 unk1C;
|
||||
f32 pad20;
|
||||
f32 unk24;
|
||||
f32 unk28;
|
||||
f32 unk2C;
|
||||
f32 unk30;
|
||||
s16 unk34;
|
||||
s16 pad36;
|
||||
s16 unk38;
|
||||
s8 pad3A;
|
||||
s8 unk3B;
|
||||
u8 pad3C[8];
|
||||
} unk80120AC0;
|
||||
#include "textures_sprites.h"
|
||||
#include "unknown_00BC20.h"
|
||||
#include "unknown_06B2B0.h"
|
||||
#include "memory.h"
|
||||
#include "unknown_043920.h"
|
||||
#include "camera.h"
|
||||
|
||||
/************ .data ************/
|
||||
|
||||
@@ -141,17 +123,7 @@ s32 D_8011D0E8;
|
||||
s32 D_8011D0EC;
|
||||
s32 D_8011D0F0;
|
||||
s32 D_8011D0F4;
|
||||
|
||||
/* Size: 0x10 bytes */
|
||||
typedef struct unk8011D0F8 {
|
||||
f32 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
} unk8011D0F8;
|
||||
|
||||
unk8011D0F8 D_8011D0F8[3];
|
||||
|
||||
s32 D_8011D128[15];
|
||||
s32 D_8011D164;
|
||||
s32 D_8011D168[84];
|
||||
@@ -163,37 +135,13 @@ s32 D_8011D314;
|
||||
s32 D_8011D318;
|
||||
s32 D_8011D31C;
|
||||
s32 D_8011D320[4];
|
||||
|
||||
|
||||
/* Size: 0x10 bytes */
|
||||
typedef struct unk8011D330 {
|
||||
u8 pad0[0x10];
|
||||
} unk8011D330;
|
||||
|
||||
unk8011D330 *D_8011D330;
|
||||
s32 D_8011D334;
|
||||
|
||||
s32 D_8011D338[4];
|
||||
|
||||
/* Size: 0xA bytes */
|
||||
typedef struct unk8011D348 {
|
||||
u8 pad0[0x9];
|
||||
u8 unk9;
|
||||
} unk8011D348;
|
||||
unk8011D348 *D_8011D348;
|
||||
|
||||
s32 D_8011D34C;
|
||||
s32 D_8011D350[4];
|
||||
|
||||
/* Size: 0x8 bytes */
|
||||
typedef struct unk8011D360 {
|
||||
u8 pad0[4];
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
} unk8011D360;
|
||||
|
||||
unk8011D360 *D_8011D360;
|
||||
|
||||
s32 D_8011D364;
|
||||
s32 D_8011D368;
|
||||
s32 D_8011D36C;
|
||||
@@ -203,36 +151,8 @@ s32 D_8011D378;
|
||||
s32 D_8011D37C;
|
||||
f32 D_8011D380;
|
||||
u32 D_8011D384;
|
||||
|
||||
/* Size: 0x38 bytes */
|
||||
typedef struct unk8011D388 {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
s32 unk14;
|
||||
s32 unk18;
|
||||
s32 unk1C;
|
||||
s32 unk20;
|
||||
s32 unk24;
|
||||
u8 unk28;
|
||||
u8 unk29;
|
||||
u8 unk2A;
|
||||
s16 unk2C;
|
||||
s16 unk2E;
|
||||
s32 unk30;
|
||||
s32 unk34;
|
||||
} unk8011D388;
|
||||
unk8011D388 D_8011D388[4];
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 x;
|
||||
/* 0x04 */ s32 y;
|
||||
/* 0x08 */ s32 z;
|
||||
} unk8011D468;
|
||||
unk8011D468 D_8011D468;
|
||||
|
||||
s32 D_8011D474;
|
||||
s32 D_8011D478;
|
||||
s32 D_8011D47C;
|
||||
@@ -256,16 +176,6 @@ s32 D_8011D4BC;
|
||||
|
||||
/******************************/
|
||||
|
||||
f32 func_800BB2F4(s32, f32, f32, f32*);
|
||||
void func_8007B3D0(Gfx**);
|
||||
Object *get_object(s32);
|
||||
Settings *get_settings();
|
||||
void traverse_segments_bsp_tree(s32 nodeIndex, s32 segmentIndex, s32 segmentIndex2, u8 *segmentsOrder, u32 *segmentsOrderIndex);
|
||||
s32 func_80014814(s32*);
|
||||
void func_80015348(s32, s32);
|
||||
void render_level_segment(s32 segmentId, s32 nonOpaque);
|
||||
|
||||
|
||||
s32 func_800249E0(s32 arg0) {
|
||||
D_8011D37C = arg0;
|
||||
return 0;
|
||||
@@ -274,7 +184,7 @@ s32 func_800249E0(s32 arg0) {
|
||||
#if 1
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_800249F0.s")
|
||||
#else
|
||||
void func_800249F0(u32 arg0, u32 arg1, s32 arg2, u32 arg3, u32 arg4, u32 arg5, u32 arg6){
|
||||
void func_800249F0(u32 arg0, u32 arg1, s32 arg2, u32 arg3, u32 arg4, u32 arg5, u32 arg6) {
|
||||
s32 i;
|
||||
s32 tmp_a2;
|
||||
|
||||
@@ -370,17 +280,6 @@ GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80027568.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_800278E8.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80027E24.s")
|
||||
|
||||
typedef struct unk80027FC4 {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
} unk80027FC4;
|
||||
|
||||
void func_8005A3D0(void);
|
||||
Object * func_8000EA54(unk80027FC4*, s32);
|
||||
|
||||
void func_80027FC4(s32 arg0) {
|
||||
unk80027FC4 sp20;
|
||||
|
||||
@@ -424,7 +323,7 @@ void func_800289B8(void){
|
||||
}
|
||||
#endif
|
||||
|
||||
void render_skydome(void){
|
||||
void render_skydome(void) {
|
||||
unk80120AC0 * v0_some_struct;
|
||||
if(D_8011B0B8 == NULL)
|
||||
return;
|
||||
@@ -720,9 +619,6 @@ GLOBAL_ASM("asm/non_matchings/unknown_0255E0/render_level_segment.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
void add_segment_to_order(s32 segmentIndex, u32 *segmentsOrderIndex, u8 *segmentsOrder);
|
||||
|
||||
// Regalloc issues.
|
||||
void traverse_segments_bsp_tree(s32 nodeIndex, s32 segmentIndex, s32 segmentIndex2, u8 *segmentsOrder, u32 *segmentsOrderIndex) {
|
||||
BspTreeNode *curNode;
|
||||
@@ -811,7 +707,6 @@ GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_80029DE0.s")
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
// Has regalloc issues.
|
||||
s32 get_level_segment_index_from_position(f32 xPos, f32 yPos, f32 zPos) {
|
||||
LevelModelSegmentBoundingBox *bb;
|
||||
@@ -843,13 +738,12 @@ s32 get_level_segment_index_from_position(f32 xPos, f32 yPos, f32 zPos) {
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/get_level_segment_index_from_position.s")
|
||||
#endif
|
||||
|
||||
|
||||
s32 func_8002A05C(s32 arg0, s32 arg1, s32 *arg2){
|
||||
s32 func_8002A05C(s32 arg0, s32 arg1, s32 *arg2) {
|
||||
s32 i;
|
||||
s32 cnt = 0;
|
||||
LevelModelSegmentBoundingBox * a0;
|
||||
@@ -895,14 +789,14 @@ s32 func_8002A134(s32 *arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5, s
|
||||
return phi_v1;
|
||||
}
|
||||
|
||||
LevelModelSegment *func_8002A2C8(s32 arg0){
|
||||
LevelModelSegment *func_8002A2C8(s32 arg0) {
|
||||
if(arg0 < 0 || gCurrentLevelModel->numberOfSegments < arg0)
|
||||
return NULL;
|
||||
|
||||
return gCurrentLevelModel->segments + arg0;
|
||||
}
|
||||
|
||||
LevelModelSegmentBoundingBox *func_8002A2DC(s32 arg0){
|
||||
LevelModelSegmentBoundingBox *func_8002A2DC(s32 arg0) {
|
||||
if(arg0 < 0 || gCurrentLevelModel->numberOfSegments < arg0)
|
||||
return NULL;
|
||||
|
||||
@@ -912,8 +806,6 @@ LevelModelSegmentBoundingBox *func_8002A2DC(s32 arg0){
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002A31C.s")
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
f32 func_80066348(f32, f32, f32);
|
||||
|
||||
// Has some minor issues, but should be functionally equivalent.
|
||||
s32 func_8002A5F8(LevelModelSegmentBoundingBox *bb) {
|
||||
s64 sp48;
|
||||
@@ -1210,4 +1102,4 @@ void func_80031018(void) {
|
||||
D_8011D468.x = (s32) x;
|
||||
D_8011D468.y = (s32) y;
|
||||
D_8011D468.z = (s32) z;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,59 @@ typedef struct unknown800DC874 {
|
||||
s16 unk06;
|
||||
} unknown800DC874;
|
||||
|
||||
/* Size: 0x10 bytes */
|
||||
typedef struct unk8011D0F8 {
|
||||
f32 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
} unk8011D0F8;
|
||||
|
||||
/* Size: 0x10 bytes */
|
||||
typedef struct unk8011D330 {
|
||||
u8 pad0[0x10];
|
||||
} unk8011D330;
|
||||
|
||||
/* Size: 0xA bytes */
|
||||
typedef struct unk8011D348 {
|
||||
u8 pad0[0x9];
|
||||
u8 unk9;
|
||||
} unk8011D348;
|
||||
|
||||
/* Size: 0x8 bytes */
|
||||
typedef struct unk8011D360 {
|
||||
u8 pad0[4];
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
} unk8011D360;
|
||||
|
||||
/* Size: 0x38 bytes */
|
||||
typedef struct unk8011D388 {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
s32 unk14;
|
||||
s32 unk18;
|
||||
s32 unk1C;
|
||||
s32 unk20;
|
||||
s32 unk24;
|
||||
u8 unk28;
|
||||
u8 unk29;
|
||||
u8 unk2A;
|
||||
s16 unk2C;
|
||||
s16 unk2E;
|
||||
s32 unk30;
|
||||
s32 unk34;
|
||||
} unk8011D388;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 x;
|
||||
/* 0x04 */ s32 y;
|
||||
/* 0x08 */ s32 z;
|
||||
} unk8011D468;
|
||||
|
||||
extern s32 D_800DC870;
|
||||
extern unknown800DC874 D_800DC874;
|
||||
extern unknown800DC874 D_800DC87C;
|
||||
@@ -31,4 +84,38 @@ extern s32 D_800DC928;
|
||||
|
||||
extern s8 D_800DC92C[24];
|
||||
|
||||
f32 func_800BB2F4(s32, f32, f32, f32*); //waves.c //Non Matching
|
||||
|
||||
s32 func_800249E0(s32 arg0);
|
||||
void func_800257D0(void);
|
||||
void func_80027FC4(s32 arg0);
|
||||
void func_80028044(s32 arg0);
|
||||
void render_skydome(void);
|
||||
void func_80028FA0(s32 arg0);
|
||||
void add_segment_to_order(s32 segmentIndex, u32 *segmentsOrderIndex, u8 *segmentsOrder);
|
||||
s32 func_8002A05C(s32 arg0, s32 arg1, s32 *arg2);
|
||||
s32 func_8002A134(s32 *arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5, s16 arg6);
|
||||
LevelModelSegment *func_8002A2C8(s32 arg0);
|
||||
LevelModelSegmentBoundingBox *func_8002A2DC(s32 arg0);
|
||||
void func_8002ACC8(s32 arg0);
|
||||
s32 func_8002ACD4(f32 *arg0, f32 *arg1, f32 *arg2);
|
||||
s32 func_8002B9BC(Object *obj, f32 *arg1, f32 *arg2, s32 arg3);
|
||||
void func_8002C71C(LevelModelSegment *segment);
|
||||
LevelModel *func_8002C7C4(void);
|
||||
void func_80030750(s32 arg0, s16 *arg1, s16 *arg2, s8 *arg3, s8 *arg4, s8 *arg5);
|
||||
void func_800307BC(s32 arg0);
|
||||
void func_80030838(s32 arg0, s32 arg1);
|
||||
void func_8003093C(s32 arg0);
|
||||
void func_80031018(void);
|
||||
|
||||
//Non Matching
|
||||
void traverse_segments_bsp_tree(s32 nodeIndex, s32 segmentIndex, s32 segmentIndex2,
|
||||
u8 *segmentsOrder, u32 *segmentsOrderIndex);
|
||||
void render_level_segment(s32 segmentId, s32 nonOpaque);
|
||||
void render_level_geometry_and_objects(void);
|
||||
s32 func_80029DE0(Object *obj, s32 segmentIndex);
|
||||
s32 get_level_segment_index_from_position(f32 xPos, f32 yPos, f32 zPos);
|
||||
s32 func_8002A5F8(LevelModelSegmentBoundingBox *bb);
|
||||
void func_80030664(s32 arg0, s16 arg1, s16 arg2, u8 arg3, u8 arg4, u8 arg5);
|
||||
|
||||
#endif
|
||||
|
||||
+19
-482
File diff suppressed because it is too large
Load Diff
+565
-1
File diff suppressed because it is too large
Load Diff
@@ -11,6 +11,7 @@
|
||||
#include "structs.h"
|
||||
#include "asset_sections.h"
|
||||
//#include "controller_pak.h"
|
||||
#include "unknown_008C40.h"
|
||||
|
||||
/* Size: 8 bytes */
|
||||
typedef struct GhostHeader {
|
||||
@@ -741,9 +742,6 @@ void func_800570A4(Object *arg0, s32 arg1, s32 arg2) {
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
void func_80009558(u16, f32 x, f32 y, f32 z, s32, s32 *); //unknown_008C40
|
||||
|
||||
typedef struct Object_64_800570B8 {
|
||||
u8 pad0[3];
|
||||
s8 unk3;
|
||||
@@ -882,10 +880,6 @@ GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80058B84.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80058D5C.s")
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
s32 func_8007066C(s32, s32);
|
||||
s16 get_level_segment_index_from_position(f32, f32, f32);
|
||||
|
||||
void func_80058F44(f32 arg0, Object *arg1, Object *arg2) {
|
||||
s32 temp0, temp1;
|
||||
temp0 = (s32)arg0;
|
||||
@@ -894,7 +888,6 @@ void func_80058F44(f32 arg0, Object *arg1, Object *arg2) {
|
||||
gCameraObject->z_rotation -= (gCameraObject->z_rotation * temp0) >> 4;
|
||||
gCameraObject->unk34 = get_level_segment_index_from_position(gCameraObject->x_position, arg2->unk3C_a.unk3C_f, gCameraObject->z_position);
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_043920/func_80058F44.s")
|
||||
#endif
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define _UNKNOWN_043920_H_
|
||||
|
||||
#include "types.h"
|
||||
#include "structs.h"
|
||||
|
||||
extern s32 D_800DCB50;
|
||||
extern s16 D_800DCB54;
|
||||
@@ -46,5 +47,8 @@ extern s32 D_800DCDD0;
|
||||
extern s16 D_800DCDD4[4];
|
||||
|
||||
s32 func_80059B7C(s32 arg0, s32 arg1, s16 arg2, s16 arg3, s16 arg4);
|
||||
void func_8005A3D0(void);
|
||||
|
||||
void set_ghost_position_and_rotation(Object *obj); // Non Matching
|
||||
|
||||
#endif
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "audio.h"
|
||||
#include "unknown_00BC20.h"
|
||||
#include "unknown_005740.h"
|
||||
#include "unknown_008C40.h"
|
||||
|
||||
/************ .data ************/
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@ typedef struct unk8005D048 {
|
||||
|
||||
extern s16 D_800DCDE0[16];
|
||||
|
||||
void func_80009558(u16, f32 x, f32 y, f32 z, s32, s32 *); //unknown_008C40
|
||||
s32 get_random_number_from_range(s32, s32); //?
|
||||
|
||||
void func_8005C2F0(Object *object, unk8005C2F0 *arg1);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user