mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Merge pull request #169 from Ryan-Myers/master
Larger commit to add function headers to menu.h
This commit is contained in:
+1
-1
@@ -265,7 +265,7 @@ typedef struct LevelHeader {
|
||||
/* 0x9E */ u8 bgColorGreen;
|
||||
/* 0x9F */ u8 bgColorBlue;
|
||||
/* 0xA0 */ s32 unkA0;
|
||||
/* 0xA4 */ s32 unkA4;
|
||||
/* 0xA4 */ TextureHeader *unkA4;
|
||||
/* 0xA8 */ u16 unkA8;
|
||||
/* 0xAA */ u16 unkAA;
|
||||
/* 0xAC */ PulsatingLightData *pulseLightData;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "types.h"
|
||||
#include "macros.h"
|
||||
#include "libultra_internal.h"
|
||||
#include "memory.h"
|
||||
#include "../src/memory.h"
|
||||
|
||||
s32 D_800E38D0 = 0;
|
||||
|
||||
|
||||
+8
-6
@@ -683,13 +683,15 @@ u16 func_80001CB8(u16 arg0) {
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/audio/func_80001D04.s")
|
||||
|
||||
void func_80001EA8(u16 arg0, unknown_struct_80001EA8 arg1, u32 *arg2) {
|
||||
if(arg2 == NULL){
|
||||
arg2 = &D_80115F84;
|
||||
void func_80001EA8(u16 arg0, f32 x, f32 y, f32 z, s32 **arg4) {
|
||||
if (arg4 == NULL) {
|
||||
arg4 = &D_80115F84;
|
||||
}
|
||||
func_80001D04(arg0, arg2);
|
||||
if(*arg2){
|
||||
func_80009B7C(*arg2, arg1.unk00, arg1.unk04, arg1.unk08);
|
||||
|
||||
func_80001D04(arg0, arg4);
|
||||
|
||||
if (*arg4 != NULL) {
|
||||
func_80009B7C(*arg4, x, y, z);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-7
@@ -23,12 +23,6 @@ extern s32 D_800DC66C;
|
||||
extern u8 D_800DC670;
|
||||
extern u8 D_800DC65C;
|
||||
|
||||
typedef struct unknown_struct_80001EA8_s{
|
||||
u32 unk00;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
}unknown_struct_80001EA8;
|
||||
|
||||
/* Size: 0x0A bytes */
|
||||
typedef struct unk80115D18 {
|
||||
u8 pad0[6];
|
||||
@@ -112,7 +106,7 @@ void play_sound(u8 arg0);
|
||||
u32 func_80001C08(void);
|
||||
void func_80001C5C(u16 arg0);
|
||||
u16 func_80001CB8(u16 arg0);
|
||||
void func_80001EA8(u16 arg0, unknown_struct_80001EA8 arg1, u32 *arg2);
|
||||
void func_80001EA8(u16 arg0, f32 x, f32 y, f32 z, s32 **arg4);
|
||||
void func_80001F14(u16 sndIndx, u32 *arg1);
|
||||
u16 ALBankFile_80115D14_GetSoundCount(void);
|
||||
u8 ALSeqFile_80115CF8_GetSeqCount(void);
|
||||
@@ -130,5 +124,6 @@ void func_8000232C(ALCSPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq); //Non Ma
|
||||
f32 func_800015F8(void); //Non Matching
|
||||
void func_80001FB8(u16 arg0); //Non Matching
|
||||
void func_8000232C(ALCSPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq); // Non Matching
|
||||
void func_80009B7C(s32 *arg0, f32 x, f32 y, f32 z); // Non Matching
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
/* RAM_POS: 0x80065EA0 */
|
||||
|
||||
#include "camera.h"
|
||||
#include "audio.h"
|
||||
|
||||
extern u32 osTvType;
|
||||
|
||||
|
||||
@@ -108,7 +108,6 @@ extern s32 D_A4000000;
|
||||
extern s32 SP_IMEM;
|
||||
|
||||
//TODO: Remove from here once header files for below are created with these signatures.
|
||||
void func_800014BC(f32 arg0); //audio.c
|
||||
s8* get_misc_asset(s32 arg0); //unknown_00BC20
|
||||
void func_8006F870(Matrix, Matrix); //unknown_070110
|
||||
s16 get_level_segment_index_from_position(f32 xPos, f32 yPos, f32 zPos); //unknown_0255E0
|
||||
|
||||
@@ -406,7 +406,7 @@ GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C0B00.s")
|
||||
GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C1130.s")
|
||||
|
||||
void render_fade_barndoor_horizontal(Gfx **dlist, s32 arg1, s32 arg2) {
|
||||
func_8007B3D0();
|
||||
func_8007B3D0(dlist);
|
||||
gSPDisplayList((*dlist)++, D_800E3648)
|
||||
// TODO: Need to clean this up.
|
||||
gDkrVertices((*dlist)++, (s32)D_800E31C0[D_800E31D0[0]] + 0x80000000, (((s32)D_800E31C0[D_800E31D0[0]] + 0x80000000) & 6) | 0x58, 0x70)
|
||||
@@ -416,7 +416,7 @@ void render_fade_barndoor_horizontal(Gfx **dlist, s32 arg1, s32 arg2) {
|
||||
|
||||
// This is exactly the same as render_fade_barndoor_horizontal; I wonder what gets changed then?
|
||||
void render_fade_barndoor_vertical(Gfx **dlist, s32 arg1, s32 arg2) {
|
||||
func_8007B3D0();
|
||||
func_8007B3D0(dlist);
|
||||
gSPDisplayList((*dlist)++, D_800E3648)
|
||||
// TODO: Need to clean this up.
|
||||
gDkrVertices((*dlist)++, (s32)D_800E31C0[D_800E31D0[0]] + 0x80000000, (((s32)D_800E31C0[D_800E31D0[0]] + 0x80000000) & 6) | 0x58, 0x70)
|
||||
@@ -430,7 +430,7 @@ GLOBAL_ASM("asm/non_matchings/fade_transition/func_800C1EE8.s")
|
||||
#ifdef NON_MATCHING
|
||||
void render_fade_circle(Gfx **dlist, s32 arg1, s32 arg2) {
|
||||
u8 *addr, *addr2;
|
||||
func_8007B3D0();
|
||||
func_8007B3D0(dlist);
|
||||
gSPDisplayList((*dlist)++, D_800E3648)
|
||||
addr = (D_800E31C0[D_800E31D0[0]] + 0x80000000);
|
||||
addr2 = (D_800E31C8[D_800E31D0[0]] + 0x80000000);
|
||||
@@ -476,7 +476,7 @@ GLOBAL_ASM("asm/non_matchings/fade_transition/render_fade_waves.s")
|
||||
#endif
|
||||
|
||||
void render_fade_barndoor_diagonal(Gfx **dlist, s32 arg1, s32 arg2) {
|
||||
func_8007B3D0();
|
||||
func_8007B3D0(dlist);
|
||||
gSPDisplayList((*dlist)++, D_800E3648)
|
||||
// TODO: Need to clean this up.
|
||||
gDkrVertices((*dlist)++, (s32)D_800E31C0[D_800E31D0[0]] + 0x80000000, (((s32)D_800E31C0[D_800E31D0[0]] + 0x80000000) & 6) | 0x48, 0x5E)
|
||||
|
||||
@@ -54,4 +54,4 @@ void func_800C2640(FadeTransition *transition); //Non Matching
|
||||
s32 func_800C018C(void); //Non Matching
|
||||
s32 func_800C01D8(FadeTransition *transition); //Non Matching
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
/* RAM_POS: 0x800C3C00 */
|
||||
|
||||
#include "font.h"
|
||||
#include "menu.h"
|
||||
|
||||
/************ .data ************/
|
||||
|
||||
|
||||
+1
-3
@@ -12,6 +12,7 @@
|
||||
#include "asset_sections.h"
|
||||
#include "libultra_internal.h"
|
||||
#include "f3ddkr.h"
|
||||
#include "textures_sprites.h"
|
||||
|
||||
typedef struct unk8012A7E8_24 {
|
||||
u8 unk00;
|
||||
@@ -124,9 +125,6 @@ typedef struct FontData {
|
||||
#define unk8012A7E8_TOTAL_SIZE (sizeof(unk8012A7E8) * unk8012A7E8_COUNT)
|
||||
#define unk8012A7EC_TOTAL_SIZE (sizeof(unk8012A7EC) * unk8012A7EC_COUNT)
|
||||
|
||||
f32 func_8009E9B0(s32 arg0, Gfx **arg1, s32 *arg2, s32 *arg3); //menu.c
|
||||
void func_8009E9A0(void); //menu.c
|
||||
void func_8009E9A8(void); //menu.c
|
||||
//TextureHeader *load_texture(s32 arg0); //texture_sprites.c NON_MATCHING
|
||||
|
||||
void load_fonts(void);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
/* RAM_POS: 0x800C29F0 */
|
||||
|
||||
#include "game_text.h"
|
||||
#include "menu.h"
|
||||
|
||||
/************ .data ************/
|
||||
|
||||
|
||||
@@ -23,8 +23,6 @@ extern u32 osTvType;
|
||||
|
||||
void func_8005A3B0(void); //unknown_043920.c
|
||||
s32 func_8000C8B4(s32 arg0); //unknown_00BC20.c
|
||||
void func_8009CFB0(void); //menu.c
|
||||
s32 func_8009CFEC(u32 arg0); //menu.c
|
||||
|
||||
void func_800C29F0(void);
|
||||
void func_800C2AB4(void);
|
||||
|
||||
@@ -23,7 +23,6 @@ s32 byteswap32(u8 *arg0);
|
||||
s32 get_asset_uncompressed_size(s32 assetIndex, s32 assetOffset);
|
||||
u8 *gzip_inflate(u8 *compressedInput, u8 *decompressedOutput);
|
||||
|
||||
|
||||
s32 gzip_inflate_block(void); // Non Matching
|
||||
void gzip_huft_build(u32 *b, u32 n, u32 s, u16 *d, u16 *e, huft **t, s32 *m); // Non Matching
|
||||
|
||||
|
||||
+2
-1
@@ -2,6 +2,7 @@
|
||||
/* RAM_POS: 0x80070B30 */
|
||||
|
||||
#include "memory.h"
|
||||
#include "printf.h"
|
||||
|
||||
/************ .rodata ************/
|
||||
|
||||
@@ -40,7 +41,7 @@ s32 D_80123ED0[64];
|
||||
s32 D_80123FD0[8];
|
||||
s32 D_80123FF0[8];
|
||||
|
||||
extern MemoryPoolSlot *gMainMemoryPool;
|
||||
extern MemoryPoolSlot gMainMemoryPool;
|
||||
|
||||
/******************************/
|
||||
|
||||
|
||||
+16
-188
@@ -12,6 +12,13 @@
|
||||
#include "structs.h"
|
||||
#include "f3ddkr.h"
|
||||
#include "video.h"
|
||||
#include "audio.h"
|
||||
#include "camera.h"
|
||||
#include "font.h"
|
||||
#include "game_text.h"
|
||||
#include "object_models.h"
|
||||
#include "printf.h"
|
||||
#include "textures_sprites.h"
|
||||
|
||||
/**
|
||||
* @file Contains all the code used for every menu in the game.
|
||||
@@ -22,13 +29,6 @@
|
||||
// The bss section needs to stay above the data section!
|
||||
// Otherwise the bss variables will get reordered, which is bad.
|
||||
|
||||
|
||||
typedef struct unk801263C0 {
|
||||
s8 unk0;
|
||||
s8 unk1;
|
||||
s16 unk2;
|
||||
} unk801263C0;
|
||||
|
||||
unk800DFC10 *D_80126390;
|
||||
unk800DFC10 *D_80126394;
|
||||
s32 D_80126398;
|
||||
@@ -45,12 +45,6 @@ unk801263C0 D_801263C0;
|
||||
|
||||
s32 gIgnorePlayerInput;
|
||||
s32 D_801263C8;
|
||||
|
||||
/* Size: 0xE bytes. */
|
||||
typedef struct unk801263CC {
|
||||
u8 pad0[0xC];
|
||||
s16 unkC;
|
||||
} unk801263CC;
|
||||
unk801263CC (*D_801263CC)[8];
|
||||
|
||||
s32 D_801263D0;
|
||||
@@ -91,15 +85,6 @@ s32 D_80126494;
|
||||
s32 D_80126498;
|
||||
s32 D_8012649C;
|
||||
|
||||
/* Size: 0x0C Bytes */
|
||||
typedef struct unk801264A0 {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u16 unk2;
|
||||
char name[4];
|
||||
u32 pad8;
|
||||
} unk801264A0;
|
||||
|
||||
unk801264A0 D_801264A0[4];
|
||||
|
||||
s32 D_801264D0;
|
||||
@@ -109,17 +94,6 @@ s32 D_801264DC;
|
||||
s8 D_801264E0;
|
||||
s8 D_801264E1;
|
||||
|
||||
#define TT_MENU_ROOT 0
|
||||
#define TT_MENU_CONT_PAK_ERROR_1 1
|
||||
#define TT_MENU_CONT_PAK_ERROR_2 2
|
||||
#define TT_MENU_CONT_PAK_ERROR_3 3
|
||||
#define TT_MENU_GAME_STATUS 4
|
||||
#define TT_MENU_INTRODUCTION 5
|
||||
#define TT_MENU_INSERT_CONT_PAK 6
|
||||
#define TT_MENU_INSERT_RUMBLE_PAK 7
|
||||
#define TT_MENU_SAVE_GHOST 8
|
||||
#define TT_MENU_EXIT 10
|
||||
|
||||
s8 D_801264E2;
|
||||
|
||||
s8 D_801264E2;
|
||||
@@ -1168,11 +1142,6 @@ s16 *D_800E14BC[32] = {
|
||||
NULL, NULL, &D_800E13A8[0], &D_800E13A8[48]
|
||||
};
|
||||
|
||||
typedef struct unk800E153C {
|
||||
TextureHeader *texture;
|
||||
u32 unk4; // Flags?
|
||||
} unk800E153C;
|
||||
|
||||
unk800E153C D_800E153C[] = {
|
||||
{ NULL, 0x00000000 },
|
||||
{ NULL, 0x00400000 },
|
||||
@@ -1539,59 +1508,6 @@ const char D_800E8250[] = "loadFrontEndItem() - Item no %d out of range 0-%d\n";
|
||||
|
||||
/*********************************/
|
||||
|
||||
Settings *get_settings(void);
|
||||
void func_8009C4A8(s16 *arg0);
|
||||
void func_8009C674(s16 *arg0);
|
||||
void func_8008E4B0(void);
|
||||
s8 *get_misc_asset(s32 arg0);
|
||||
void func_80001D04(s32, s32*);
|
||||
void update_camera_fov(f32 arg0);
|
||||
void func_8009C508(s32 arg0);
|
||||
void *allocate_from_main_pool_safe(s32, u32);
|
||||
void func_800C4170(s32 arg0);
|
||||
void play_music(s32 arg0);
|
||||
void render_textured_rectangle(Gfx **dlist, DrawTexture *arg1, s32 arg2, s32 arg3, u8 red, u8 green, u8 blue, u8 alpha);
|
||||
void func_8007B3D0(Gfx **dlist);
|
||||
void func_8009BD5C(void);
|
||||
void load_level_for_menu(s32, s32, s32);
|
||||
void func_8008CACC(void);
|
||||
void reset_character_id_slots(void);
|
||||
void func_80000FDC(s32, s32, f32);
|
||||
void decompress_filename_string(u32 compressedFilename, char *output, s32 length);
|
||||
void calculate_and_display_rom_checksum(void);
|
||||
void func_800851FC(void);
|
||||
void set_music_volume_slider(s32);
|
||||
s32 music_is_playing(void);
|
||||
void set_text_color(s32 red, s32 green, s32 blue, s32 alpha, s32 opacity);
|
||||
void func_80082FAC(void);
|
||||
void func_8009ABAC(void);
|
||||
void func_800C31EC(s32); //game_text.h
|
||||
void update_controller_sticks(void);
|
||||
void func_80078D00(Gfx**, void *element, s32, s32, f32, f32, u32, s32);
|
||||
|
||||
void reset_controller_sticks(void);
|
||||
void menu_logos_screen_init(void);
|
||||
void menu_title_screen_init(void);
|
||||
void menu_options_init(void);
|
||||
void menu_audio_options_init(void);
|
||||
void menu_save_options_init(void);
|
||||
void menu_magic_codes_init(void);
|
||||
void menu_magic_codes_list_init(void);
|
||||
void menu_character_select_init(void);
|
||||
void menu_game_select_init(void);
|
||||
void menu_file_select_init(void);
|
||||
void menu_track_select_init(void);
|
||||
void menu_5_init(void);
|
||||
void menu_11_init(void);
|
||||
void menu_trophy_race_round_init(void);
|
||||
void menu_trophy_race_rankings_init(void);
|
||||
void menu_23_init(void);
|
||||
void menu_ghost_data_init(void);
|
||||
void menu_credits_init(void);
|
||||
void menu_boot_init(void);
|
||||
void menu_caution_init(void);
|
||||
void func_80001844(void);
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
// Should be functionally equivalent
|
||||
@@ -2349,8 +2265,6 @@ s32 menu_logo_screen_loop(s32 arg0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void set_magic_code_flags(s32 flags);
|
||||
|
||||
void func_80082FAC(void) {
|
||||
if (D_80126448 & 2) {
|
||||
set_magic_code_flags(2);
|
||||
@@ -2478,10 +2392,6 @@ void func_800841B8(s32 arg0) {
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
void func_80084734(void);
|
||||
void set_language(s32 language);
|
||||
|
||||
// Should be functionally equivalent
|
||||
s32 menu_options_loop(s32 arg0) {
|
||||
s32 buttonsPressed;
|
||||
@@ -2517,7 +2427,7 @@ s32 menu_options_loop(s32 arg0) {
|
||||
|
||||
if ((buttonsPressed & B_BUTTON) || ((buttonsPressed & (A_BUTTON | START_BUTTON)) && D_800DF460 == 5)) {
|
||||
// Leave the option menu
|
||||
func_80000C98(-0x80, D_800DF460, analogX);
|
||||
func_80000C98(-0x80);
|
||||
gMenuDelay = -1;
|
||||
func_800C01D8(&D_800DF774);
|
||||
func_80001D04(0x241, 0);
|
||||
@@ -2538,12 +2448,12 @@ s32 menu_options_loop(s32 arg0) {
|
||||
// Enable/Disable subtitles.
|
||||
if (D_80126448 & 0x2000000) {
|
||||
func_80001D04(0xEB, 0);
|
||||
func_8009EABC(0, 0x2000000);
|
||||
func_8009EABC(0);
|
||||
func_800C2AF4(0);
|
||||
gOptionMenuStrings[1] = gMenuText[183];
|
||||
} else {
|
||||
func_80001D04(0xEB, 0);
|
||||
func_8009EA78(0, 0x2000000);
|
||||
func_8009EA78(0);
|
||||
func_800C2AF4(1);
|
||||
gOptionMenuStrings[1] = gMenuText[182];
|
||||
}
|
||||
@@ -2603,8 +2513,6 @@ void func_80084734(void) {
|
||||
func_800C422C(2);
|
||||
}
|
||||
|
||||
void func_8009C8A4(s16 *arg0);
|
||||
|
||||
void menu_audio_options_init(void) {
|
||||
gOptionsMenuItemIndex = 0;
|
||||
D_801263BC = 0;
|
||||
@@ -2833,15 +2741,6 @@ void menu_save_options_init(void) {
|
||||
GLOBAL_ASM("asm/non_matchings/menu/func_800853D0.s")
|
||||
GLOBAL_ASM("asm/non_matchings/menu/func_80085B9C.s")
|
||||
|
||||
/* Size: 0x10 Bytes */
|
||||
typedef struct unk800860A8 {
|
||||
s8 unk0;
|
||||
u8 pad1[0x5];
|
||||
s8 unk6;
|
||||
u8 pad7[0x5];
|
||||
s32 unkC;
|
||||
} unk800860A8;
|
||||
|
||||
s32 func_800860A8(s32 arg0, s32 *arg1, unk800860A8 *arg2, s32 *arg3, s32 arg4) {
|
||||
s32 temp_v1;
|
||||
s32 phi_t0;
|
||||
@@ -2871,19 +2770,6 @@ s32 func_800860A8(s32 arg0, s32 *arg1, unk800860A8 *arg2, s32 *arg3, s32 arg4) {
|
||||
return phi_t0;
|
||||
}
|
||||
|
||||
/* Size: 0x10 bytes */
|
||||
typedef struct unk800861C8 {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
u8 pad3;
|
||||
u16 pad4;
|
||||
s8 unk6;
|
||||
s8 pad7;
|
||||
u32 pad8;
|
||||
u32 unkC;
|
||||
} unk800861C8;
|
||||
|
||||
void func_800861C8(unk800861C8 *arg0, s32 *arg1) {
|
||||
s32 i;
|
||||
for(i = 0; i < 3; i++) {
|
||||
@@ -3015,11 +2901,6 @@ void menu_boot_init(void) {
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void func_800887E8(void);
|
||||
void func_800887C4(void);
|
||||
s32 func_800C018C(void);
|
||||
s32 func_800890AC(s32);
|
||||
|
||||
s32 menu_boot_loop(s32 arg0) {
|
||||
// arg0 = sp30
|
||||
s32 out; // sp2C
|
||||
@@ -3376,9 +3257,6 @@ void func_8008A8F8(s32 arg0, s32 arg1, s32 arg2) {
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
void func_8008AD1C(void);
|
||||
|
||||
s32 menu_magic_codes_list_loop(s32 arg0) {
|
||||
s32 phi_a2;
|
||||
s32 sp48;
|
||||
@@ -3838,10 +3716,6 @@ void menu_caution_init(void) {
|
||||
gPlayerHasSeenCautionMenu = 1;
|
||||
}
|
||||
|
||||
void func_8008C4E8(void);
|
||||
|
||||
void draw_menu_elements(s32, MenuElement*, f32);
|
||||
|
||||
s32 menu_caution_loop(s32 arg0) {
|
||||
if (gMenuDelay != 0) {
|
||||
gMenuDelay += arg0;
|
||||
@@ -4146,7 +4020,7 @@ void render_file_select_menu(s32 arg0) {
|
||||
for (i = 0; i < 3; i++) {
|
||||
if (D_801264A0[i].unk1 != 0) {
|
||||
s2 = 0xB;
|
||||
func_8007BF1C(0, 0xFF);
|
||||
func_8007BF1C(0);
|
||||
if (D_801264A0[i].unk0 != 0) {
|
||||
s2 = 0xC;
|
||||
}
|
||||
@@ -4366,20 +4240,8 @@ GLOBAL_ASM("asm/non_matchings/menu/menu_track_select_init.s")
|
||||
GLOBAL_ASM("asm/non_matchings/menu/func_8008F00C.s")
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
// Close to done with this function. Just a regalloc issue remains.
|
||||
|
||||
void func_8008F534(void);
|
||||
void func_8008FF1C(s32 arg0);
|
||||
void func_800904E8(s32 arg0);
|
||||
void func_80090918(s32 arg0);
|
||||
void func_80090ED8(s32 arg0);
|
||||
void render_track_select_setup_ui(s32 arg0);
|
||||
void func_80092188(s32 arg0);
|
||||
void func_8008E4EC(void);
|
||||
s32 get_thread30_level_id_to_load(void);
|
||||
void set_relative_volume_for_music(u8 arg0);
|
||||
|
||||
s32 menu_track_select_loop(s32 arg0) {
|
||||
s32 phi_a2;
|
||||
Settings *settings;
|
||||
@@ -4837,7 +4699,7 @@ void menu_5_init(void) {
|
||||
Settings *settings;
|
||||
s32 result;
|
||||
s32 s0;
|
||||
s32 temp;
|
||||
s16 temp;
|
||||
|
||||
settings = get_settings();
|
||||
gTrackIdForPreview = 0;
|
||||
@@ -4849,13 +4711,13 @@ void menu_5_init(void) {
|
||||
if ((result == 5) || (result == 8) || (!(result & 0x40) && (!(settings->courseFlagsPtr[s0] & 2)))) {
|
||||
temp = D_800E0758[s0];
|
||||
if (temp != -1) {
|
||||
func_80000FDC(temp & 0xFFFF, 0, 1.0f);
|
||||
func_80000FDC(temp, 0, 1.0f);
|
||||
}
|
||||
D_801263E0 = -1;
|
||||
} else {
|
||||
temp = D_800E0758[s0];
|
||||
if (temp != -1) {
|
||||
func_80000FDC(temp & 0xFFFF, 0, 0.5f);
|
||||
func_80000FDC(temp, 0, 0.5f);
|
||||
}
|
||||
func_80000BE0(0x18);
|
||||
play_music(0x18);
|
||||
@@ -4889,9 +4751,6 @@ GLOBAL_ASM("asm/non_matchings/menu/func_80092E94.s")
|
||||
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
void func_80093A0C(void);
|
||||
|
||||
// Regalloc issues
|
||||
s32 menu_5_loop(s32 arg0) {
|
||||
s32 temp0;
|
||||
@@ -5052,13 +4911,13 @@ void func_80094C14(s32 arg0) {
|
||||
D_801263D8 += arg0;
|
||||
switch(D_800DF460) {
|
||||
case 0:
|
||||
if (func_8000C8B4(0xF0, &D_80126A94) < D_801263D8) {
|
||||
if (func_8000C8B4(0xF0) < D_801263D8) {
|
||||
func_80000C98(-0x100);
|
||||
D_800DF460 = 1;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (func_8000C8B4(0x12C, &D_80126A94) < D_801263D8) {
|
||||
if (func_8000C8B4(0x12C) < D_801263D8) {
|
||||
func_80000BE0(0x18);
|
||||
play_music(0x18);
|
||||
func_80000C98(0x100);
|
||||
@@ -5109,7 +4968,6 @@ GLOBAL_ASM("asm/non_matchings/menu/func_80095624.s")
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/menu/func_80095728.s")
|
||||
|
||||
void func_800981E8(void);
|
||||
|
||||
void func_80096790(void) {
|
||||
s32 temp;
|
||||
@@ -5304,9 +5162,6 @@ void func_80098208(void) {
|
||||
set_time_trial_enabled(0);
|
||||
}
|
||||
|
||||
extern s32 D_800E0980;
|
||||
s8 *get_misc_asset(s32 arg0);
|
||||
|
||||
#if 1
|
||||
GLOBAL_ASM("asm/non_matchings/menu/menu_trophy_race_round_init.s")
|
||||
#else
|
||||
@@ -5497,7 +5352,6 @@ GLOBAL_ASM("asm/non_matchings/menu/menu_ghost_data_init.s")
|
||||
GLOBAL_ASM("asm/non_matchings/menu/func_80099E8C.s")
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
// Regalloc issue: v0 & v1 need to swap!
|
||||
s32 menu_ghost_data_loop(s32 arg0) {
|
||||
s32 i;
|
||||
@@ -5754,19 +5608,6 @@ void func_8009BCF0(void) {
|
||||
func_8006F564(0);
|
||||
}
|
||||
|
||||
/* Unknown size */
|
||||
typedef struct unk80069D20 {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
u8 pad6[6];
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
} unk80069D20;
|
||||
|
||||
void func_8001D5E0(f32 arg0, f32 arg1, f32 arg2);
|
||||
|
||||
void func_8009BD5C(void) {
|
||||
unk80069D20 *temp_v0;
|
||||
s16 sp2A;
|
||||
@@ -6021,11 +5862,6 @@ s32 get_number_of_active_players(void) {
|
||||
return gNumberOfActivePlayers;
|
||||
}
|
||||
|
||||
typedef struct unk8006BDB0 {
|
||||
u8 pad[0x4C];
|
||||
s8 unk4C;
|
||||
} unk8006BDB0;
|
||||
|
||||
s32 func_8009C3D8(void) {
|
||||
unk8006BDB0 *temp = (unk8006BDB0*)get_current_level_header();
|
||||
if (gIsInTwoPlayerAdventure && !gIsInTracksMode) {
|
||||
@@ -6065,11 +5901,6 @@ void func_8009C4A8(s16 *arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
void free_texture(u32 arg0);
|
||||
void free_sprite(u32 arg0);
|
||||
void gParticlePtrList_addObject(u32 arg0);
|
||||
void func_8005FF40(u32 arg0);
|
||||
|
||||
void func_8009C508(s32 arg0) {
|
||||
if (D_80126750[arg0] != 0) {
|
||||
if (D_80126550[arg0] != 0) {
|
||||
@@ -6116,8 +5947,6 @@ void func_8009C674(s16 *arg0) {
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/menu/func_8009C6D4.s")
|
||||
|
||||
void func_8009C904(s32 arg0);
|
||||
|
||||
void func_8009C8A4(s16 *arg0) {
|
||||
s32 index = 0;
|
||||
while (arg0[index] != -1) {
|
||||
@@ -6125,7 +5954,6 @@ void func_8009C8A4(s16 *arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
s32 get_random_number_from_range(s32, s32);
|
||||
void func_8009C904(s32 arg0) {
|
||||
if (D_800DF75C == NULL) {
|
||||
D_800DF75C = allocate_from_main_pool_safe(sizeof(unk800DF510) * 18, COLOR_TAG_RED);
|
||||
|
||||
+320
-69
@@ -3,6 +3,18 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "structs.h"
|
||||
#include "PR/gbi.h"
|
||||
|
||||
#define TT_MENU_ROOT 0
|
||||
#define TT_MENU_CONT_PAK_ERROR_1 1
|
||||
#define TT_MENU_CONT_PAK_ERROR_2 2
|
||||
#define TT_MENU_CONT_PAK_ERROR_3 3
|
||||
#define TT_MENU_GAME_STATUS 4
|
||||
#define TT_MENU_INTRODUCTION 5
|
||||
#define TT_MENU_INSERT_CONT_PAK 6
|
||||
#define TT_MENU_INSERT_RUMBLE_PAK 7
|
||||
#define TT_MENU_SAVE_GHOST 8
|
||||
#define TT_MENU_EXIT 10
|
||||
|
||||
#define CHEAT(index) 1 << index
|
||||
|
||||
@@ -77,6 +89,140 @@ enum Language {
|
||||
JAPANESE
|
||||
};
|
||||
|
||||
/* Size: 0x20 bytes */
|
||||
typedef struct unk800DF510 {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
s16 unk18;
|
||||
s8 unk1A;
|
||||
s8 unk1B;
|
||||
s8 unk1C;
|
||||
s8 unk1D;
|
||||
u8 pad1E[2];
|
||||
} unk800DF510;
|
||||
|
||||
typedef struct unk80126460 {
|
||||
MenuElement elem[2];
|
||||
} unk80126460;
|
||||
|
||||
typedef struct unk801263C0 {
|
||||
s8 unk0;
|
||||
s8 unk1;
|
||||
s16 unk2;
|
||||
} unk801263C0;
|
||||
|
||||
/* Size: 0x30 bytes */
|
||||
typedef struct unk800DF83C {
|
||||
char *unk0; // Pointer to ascii text.
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
f32 unk18;
|
||||
f32 unk1C;
|
||||
f32 unk20;
|
||||
f32 unk24;
|
||||
f32 unk28;
|
||||
} unk800DF83C;
|
||||
|
||||
typedef struct unk800DFA3C {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
u8 unk6;
|
||||
u8 unk7;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u8 unkA;
|
||||
u8 unkB;
|
||||
u32* unkC;
|
||||
} unk800DFA3C;
|
||||
|
||||
typedef struct unk800DFC10 {
|
||||
u32 *unk0;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
u32 *unk8;
|
||||
s32 unkC;
|
||||
} unk800DFC10;
|
||||
|
||||
typedef struct unk800E03CC {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
s16 unkC;
|
||||
s16 unkE;
|
||||
} unk800E03CC;
|
||||
|
||||
/* Size: 0xE bytes. */
|
||||
typedef struct unk801263CC {
|
||||
u8 pad0[0xC];
|
||||
s16 unkC;
|
||||
} unk801263CC;
|
||||
|
||||
/* Size: 0x0C Bytes */
|
||||
typedef struct unk801264A0 {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u16 unk2;
|
||||
char name[4];
|
||||
u32 pad8;
|
||||
} unk801264A0;
|
||||
|
||||
typedef struct unk800E153C {
|
||||
TextureHeader *texture;
|
||||
u32 unk4; // Flags?
|
||||
} unk800E153C;
|
||||
|
||||
/* Size: 0x10 Bytes */
|
||||
typedef struct unk800860A8 {
|
||||
s8 unk0;
|
||||
u8 pad1[0x5];
|
||||
s8 unk6;
|
||||
u8 pad7[0x5];
|
||||
s32 unkC;
|
||||
} unk800860A8;
|
||||
|
||||
/* Size: 0x10 bytes */
|
||||
typedef struct unk800861C8 {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
u8 pad3;
|
||||
u16 pad4;
|
||||
s8 unk6;
|
||||
s8 pad7;
|
||||
u32 pad8;
|
||||
u32 unkC;
|
||||
} unk800861C8;
|
||||
|
||||
/* Unknown size */
|
||||
typedef struct unk80069D20 {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
u8 pad6[6];
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
} unk80069D20;
|
||||
|
||||
typedef struct unk8006BDB0 {
|
||||
u8 pad[0x4C];
|
||||
s8 unk4C;
|
||||
} unk8006BDB0;
|
||||
|
||||
extern s8 D_800DF450;
|
||||
extern f32 D_800DF454;
|
||||
extern s32 D_800DF458;
|
||||
@@ -125,24 +271,6 @@ extern s8 D_800DF4EC;
|
||||
// Unused?
|
||||
extern s32 D_800DF4F0[];
|
||||
|
||||
/* Size: 0x20 bytes */
|
||||
typedef struct unk800DF510 {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
s16 unk18;
|
||||
s8 unk1A;
|
||||
s8 unk1B;
|
||||
s8 unk1C;
|
||||
s8 unk1D;
|
||||
u8 pad1E[2];
|
||||
} unk800DF510;
|
||||
|
||||
extern unk800DF510 D_800DF510[18];
|
||||
|
||||
extern s16 *D_800DF750[1];
|
||||
@@ -168,21 +296,6 @@ extern s16 D_800DF7C4[12];
|
||||
|
||||
extern DrawTexture D_800DF7DC[12];
|
||||
|
||||
/* Size: 0x30 bytes */
|
||||
typedef struct unk800DF83C {
|
||||
char *unk0; // Pointer to ascii text.
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
f32 unk18;
|
||||
f32 unk1C;
|
||||
f32 unk20;
|
||||
f32 unk24;
|
||||
f32 unk28;
|
||||
} unk800DF83C;
|
||||
|
||||
// Title screen cinematic text
|
||||
extern unk800DF83C D_800DF83C[10];
|
||||
|
||||
@@ -194,20 +307,6 @@ extern char *gOptionMenuStrings[7];
|
||||
|
||||
extern s16 D_800DFA2C[8];
|
||||
|
||||
typedef struct unk800DFA3C {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
u8 unk6;
|
||||
u8 unk7;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u8 unkA;
|
||||
u8 unkB;
|
||||
u32* unkC;
|
||||
} unk800DFA3C;
|
||||
|
||||
extern unk800DFA3C gAudioMenuStrings[8];
|
||||
|
||||
extern s32 D_800DFABC;
|
||||
@@ -242,14 +341,6 @@ extern s32* D_800DFBE0[10];
|
||||
extern s32 D_800DFC08;
|
||||
extern s32 D_800DFC0C;
|
||||
|
||||
typedef struct unk800DFC10 {
|
||||
u32 *unk0;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
u32 *unk8;
|
||||
s32 unkC;
|
||||
} unk800DFC10;
|
||||
|
||||
extern unk800DFC10 D_800DFC10;
|
||||
extern unk800DFC10 D_800DFC20;
|
||||
extern unk800DFC10 D_800DFC30;
|
||||
@@ -303,17 +394,6 @@ extern s16 D_800E0398[6];
|
||||
|
||||
extern s16 D_800E03A4[6];
|
||||
|
||||
typedef struct unk800E03CC {
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
s16 unkC;
|
||||
s16 unkE;
|
||||
} unk800E03CC;
|
||||
|
||||
extern unk800E03CC D_800E03CC[3];
|
||||
|
||||
extern s16 D_800E03FC[10];
|
||||
@@ -565,8 +645,179 @@ extern s16 D_800E1E2C[10];
|
||||
|
||||
extern s16 D_800E1E40[10];
|
||||
|
||||
typedef struct unk80126460 {
|
||||
MenuElement elem[2];
|
||||
} unk80126460;
|
||||
Settings *get_settings(void); //src/unknown_06B2B0.c
|
||||
s8* get_misc_asset(s32 arg0); //unknown_00BC20
|
||||
void render_textured_rectangle(Gfx **dlist, DrawTexture *arg1,
|
||||
s32 arg2, s32 arg3, u8 red, u8 green, u8 blue, u8 alpha); // Non Matching src/unknown_078050.c
|
||||
void load_level_for_menu(s32 levelId, s32 numberOfPlayers, s32 cutsceneId); //src/unknown_06B2B0.c
|
||||
void func_80078D00(Gfx**, void *element, s32, s32, f32, f32, u32, s32); //Non Matching src/unknown_078050.c
|
||||
s32 get_thread30_level_id_to_load(void); //src/thread30.c
|
||||
void func_8001D5E0(f32 arg0, f32 arg1, f32 arg2); //unknown_00BC20
|
||||
void gParticlePtrList_addObject(Object *object); //src/unknown_00BC20.c
|
||||
s32 get_random_number_from_range(s32, s32); // Non Matching src/unknown_070110.c
|
||||
|
||||
void func_8007FF88(void);
|
||||
void func_80080E6C(void);
|
||||
void func_800813C0(void);
|
||||
void menu_init(u32 menuId);
|
||||
s32 menu_loop(Gfx **arg0, s32 **arg1, s32 **arg2, s32 **arg3, s32 arg4);
|
||||
void func_80081800(s32 arg0, s32 arg1, s32 arg2, u8 arg3, u8 arg4, u8 arg5, u8 arg6);
|
||||
void func_80081E54(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5);
|
||||
void func_800828B8(void);
|
||||
void func_800829F8(s32 arg0, s32 arg1);
|
||||
void menu_logos_screen_init(void);
|
||||
s32 menu_logo_screen_loop(s32 arg0);
|
||||
void func_80082FAC(void);
|
||||
void menu_title_screen_init(void);
|
||||
void func_80084118(void);
|
||||
void menu_options_init(void);
|
||||
void func_800841B8(s32 arg0);
|
||||
void func_80084734(void);
|
||||
void menu_audio_options_init(void);
|
||||
void func_800851FC(void);
|
||||
void menu_save_options_init(void);
|
||||
s32 func_800860A8(s32 arg0, s32 *arg1, unk800860A8 *arg2, s32 *arg3, s32 arg4);
|
||||
void func_800861C8(unk800861C8 *arg0, s32 *arg1);
|
||||
s32 func_800874D0(s32 arg0, s32 arg1);
|
||||
s32 func_800875E4(s32 arg0, s32 arg1);
|
||||
s32 func_800876CC(s32 arg0, s32 arg1);
|
||||
void func_80087EB8(void);
|
||||
void menu_boot_init(void);
|
||||
void func_800887C4(void);
|
||||
void func_800887E8(void);
|
||||
void func_800895A4(void);
|
||||
void func_8008A4C8(void);
|
||||
void menu_magic_codes_list_init(void);
|
||||
void func_8008A8F8(s32 arg0, s32 arg1, s32 arg2);
|
||||
void func_8008AD1C(void);
|
||||
void func_8008AEB4(s32 arg0, s32 *arg1);
|
||||
void set_active_player_index(s32 controllerIndex);
|
||||
void menu_character_select_init(void);
|
||||
void draw_character_select_text(s32 arg0);
|
||||
void func_8008BFE8(s32 arg0, s8 *arg1, s32 arg2, u16 arg3, u16 arg4);
|
||||
void func_8008C128(void);
|
||||
void menu_caution_init(void);
|
||||
void func_8008C4E8(void);
|
||||
void func_8008CACC(void);
|
||||
void menu_file_select_init(void);
|
||||
void func_8008CC28(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6);
|
||||
void func_8008E428(void);
|
||||
void func_8008E45C(void);
|
||||
void func_8008E4B0(void);
|
||||
void func_8008F534(void);
|
||||
void func_80090ED8(s32 arg0);
|
||||
s32 func_80092BE0(s32 arg0);
|
||||
void menu_5_init(void);
|
||||
void func_80093A0C(void);
|
||||
void n_alSynRemovePlayer(void);
|
||||
void n_alSeqpDelete(void);
|
||||
void func_80094604(void);
|
||||
void func_80094C14(s32 arg0);
|
||||
void func_80096790(void);
|
||||
void menu_11_init(void);
|
||||
void func_800976CC(void);
|
||||
void decompress_filename_string(u32 compressedFilename, char *output, s32 length);
|
||||
s32 compress_filename_string(unsigned char *filename, s32 length);
|
||||
void func_80097874(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 *arg4, s32 arg5, s32 arg6);
|
||||
void func_800981E8(void);
|
||||
void func_80098208(void);
|
||||
void func_800983C0(s32 arg0);
|
||||
void func_80098754(void);
|
||||
void func_80099600(void);
|
||||
s32 get_trophy_race_world_id(void);
|
||||
void func_8009ABAC(void);
|
||||
void func_8009ABD8(s8 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5);
|
||||
void menu_23_init(void);
|
||||
void func_8009AF18(void);
|
||||
void menu_credits_init(void);
|
||||
void func_8009B1E4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
void func_8009BCF0(void);
|
||||
void func_8009BD5C(void);
|
||||
void func_8009BE54();
|
||||
void reset_controller_sticks(void);
|
||||
void reset_character_id_slots(void);
|
||||
s32 get_save_file_index(void);
|
||||
s32 get_track_id_to_load(void);
|
||||
s8 get_character_id_from_slot(s32 slot);
|
||||
s8 get_character_id_from_slot_unused(s32 slot);
|
||||
s8 get_player_selected_vehicle(s32 playerNum);
|
||||
void set_player_selected_vehicle(s32 playerNum, s32 index);
|
||||
s8 *func_8009C274(void);
|
||||
s8 get_player_character(s32 controllerIndex);
|
||||
void enable_tracks_mode(s32 boolean);
|
||||
s32 is_in_tracks_mode(void);
|
||||
void set_magic_code_flags(s32 flags);
|
||||
s32 get_filtered_cheats(void);
|
||||
s32 get_number_of_active_players(void);
|
||||
s32 func_8009C3D8(void);
|
||||
s32 get_multiplayer_racer_count(void);
|
||||
Settings** func_8009C490(void);
|
||||
void func_8009C49C(void);
|
||||
void func_8009C4A8(s16 *arg0);
|
||||
void func_8009C508(s32 arg0);
|
||||
void func_8009C674(s16 *arg0);
|
||||
void func_8009C8A4(s16 *arg0);
|
||||
void func_8009C904(s32 arg0);
|
||||
void func_8009CA58(void);
|
||||
void func_8009CF68(s32 arg0);
|
||||
void func_8009CFB0(void);
|
||||
s32 func_8009CFEC(u32 arg0);
|
||||
void func_8009D118(s32 arg0);
|
||||
void func_8009D1B8(s32 arg0, s32 arg1, s32 arg2);
|
||||
void func_8009D26C(void);
|
||||
void func_8009D324(void);
|
||||
void func_8009D330(s32 arg0);
|
||||
void func_8009D33C(s32 arg0, s32 arg1);
|
||||
s32 taj_menu_loop(void);
|
||||
s32 func_8009D9F4(void);
|
||||
s32 trophy_race_cabinet_menu_loop(void);
|
||||
void func_8009E9A0(void);
|
||||
void func_8009E9A8(void);
|
||||
f32 func_8009E9B0(s32 arg0, Gfx **arg1, s32 *arg2, s32 *arg3);
|
||||
s64 *func_8009EA6C(void);
|
||||
s32 func_8009EA78(s64 arg0);
|
||||
s32 func_8009EABC(s64 arg0);
|
||||
s64 func_8009EB08(void);
|
||||
s32 get_language(void);
|
||||
void set_language(s32 language);
|
||||
s32 is_adventure_two_unlocked(void);
|
||||
s32 is_in_adventure_two(void);
|
||||
s32 is_in_two_player_adventure(void);
|
||||
s32 is_tt_unlocked(void);
|
||||
s32 is_drumstick_unlocked(void);
|
||||
|
||||
// Non Matching functions below here
|
||||
void load_menu_text(s32 language); // Non Matching
|
||||
void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2);
|
||||
s32 menu_audio_options_loop(s32 arg0);
|
||||
s32 menu_options_loop(s32 arg0);
|
||||
s32 func_800890AC(s32);
|
||||
s32 menu_boot_loop(s32 arg0);
|
||||
void menu_magic_codes_init(void);
|
||||
void render_magic_codes_list_menu_text(s32 arg0);
|
||||
s32 menu_magic_codes_list_loop(s32 arg0);
|
||||
void calculate_and_display_rom_checksum(void);
|
||||
void randomize_ai_racer_slots(s32 arg0);
|
||||
void menu_game_select_init(void);
|
||||
void func_8008C698(s32 arg0);
|
||||
s32 menu_game_select_loop(s32 arg0);
|
||||
void render_file_select_menu(s32 arg0);
|
||||
s32 menu_track_select_loop(s32 arg0);
|
||||
void func_8008FF1C(s32 arg0);
|
||||
void func_800904E8(s32 arg0);
|
||||
void func_80090918(s32 arg0);
|
||||
void render_track_select_setup_ui(s32 arg0);
|
||||
void func_80092188(s32 arg0);
|
||||
void func_8008E4EC(void);
|
||||
s32 menu_5_loop(s32 arg0);
|
||||
void func_80095624(s32 arg0);
|
||||
s32 trim_filename_string(u8 *input, u8 *output);
|
||||
void menu_trophy_race_round_init(void);
|
||||
void menu_ghost_data_init(void);
|
||||
s32 menu_ghost_data_loop(s32 arg0);
|
||||
void update_controller_sticks(void);
|
||||
s32 tt_menu_loop(void);
|
||||
void menu_track_select_init(void);
|
||||
void menu_trophy_race_rankings_init(void);
|
||||
|
||||
#endif
|
||||
|
||||
+1
-10
@@ -1,9 +1,8 @@
|
||||
/* The comment below is needed for this file to be picked up by generate_ld */
|
||||
/* RAM_POS: 0x8005F850 */
|
||||
|
||||
#include "types.h"
|
||||
#include "object_models.h"
|
||||
#include "macros.h"
|
||||
#include "structs.h"
|
||||
#include "memory.h"
|
||||
#include "asset_sections.h"
|
||||
|
||||
@@ -27,12 +26,6 @@ const char D_800E6BE0[] = "MOD Error: Tryed to deallocate non-existent model!!\n
|
||||
|
||||
/************ .bss ************/
|
||||
|
||||
/* 8 Bytes */
|
||||
typedef struct unk8011D624 {
|
||||
s32 unk0;
|
||||
ObjectModel *model;
|
||||
} unk8011D624;
|
||||
|
||||
s32 *D_8011D620;
|
||||
unk8011D624 *D_8011D624; // Array of unk8011D624
|
||||
s32 *D_8011D628;
|
||||
@@ -47,8 +40,6 @@ s32 D_8011D648[66];
|
||||
|
||||
/******************************/
|
||||
|
||||
void func_80024D54(void);
|
||||
|
||||
void func_8005F850(void) {
|
||||
s32 i;
|
||||
s32 checksum;
|
||||
|
||||
+18
-1
@@ -2,8 +2,25 @@
|
||||
#define _UNKNOWN_060450_H_
|
||||
|
||||
#include "types.h"
|
||||
#include "PR/gbi.h"
|
||||
#include "structs.h"
|
||||
|
||||
/* 8 Bytes */
|
||||
typedef struct unk8011D624 {
|
||||
s32 unk0;
|
||||
ObjectModel *model;
|
||||
} unk8011D624;
|
||||
|
||||
extern s32 D_800DCEA0;
|
||||
extern s32 D_800DCEA4;
|
||||
|
||||
#endif
|
||||
void func_80024D54(Gfx *, s32, s32, s32, s32); //Non Matching src/unknown_0255E0.c
|
||||
void func_8005C25C(void); //src/unkown_043920.c
|
||||
|
||||
void func_8005F850(void);
|
||||
void func_800619F4(s32 arg0);
|
||||
|
||||
void free_object_model(ObjectModel *model); //Non Matching
|
||||
void func_8005FF40(ObjectModel **modelPtr); //Non Matching
|
||||
|
||||
#endif
|
||||
|
||||
+3
-117
@@ -1,10 +1,11 @@
|
||||
/* The comment below is needed for this file to be picked up by generate_ld */
|
||||
/* RAM_POS: 0x800AE270 */
|
||||
|
||||
#include "particles.h"
|
||||
#include "types.h"
|
||||
#include "macros.h"
|
||||
#include "structs.h"
|
||||
#include "asset_sections.h"
|
||||
#include "memory.h"
|
||||
|
||||
/************ .rodata ************/
|
||||
|
||||
@@ -35,68 +36,6 @@ const char D_800E8B44[] = "\nError :: particle %x is not indexed correctly in tr
|
||||
|
||||
/*********************************/
|
||||
|
||||
/* Size: 0xA0 bytes */
|
||||
typedef struct ParticleBehavior {
|
||||
s32 flags;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
u8 pad10[4];
|
||||
s16 unk14;
|
||||
s16 unk16;
|
||||
s16 unk18;
|
||||
s16 unk1A;
|
||||
s16 unk1C;
|
||||
s16 unk1E;
|
||||
s16 unk20;
|
||||
s16 unk22;
|
||||
s16 unk24;
|
||||
s16 unk26;
|
||||
u8 pad28[0x74];
|
||||
s32 *unk9C;
|
||||
} ParticleBehavior;
|
||||
|
||||
typedef struct unk800AF29C_C_4000 {
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
} unk800AF29C_C_4000;
|
||||
|
||||
typedef struct unk800AF29C_C_400 {
|
||||
s32 *unkC;
|
||||
s16 unk10;
|
||||
s16 unk12;
|
||||
s16 unk14;
|
||||
s16 unk16;
|
||||
} unk800AF29C_C_400;
|
||||
|
||||
typedef struct unk800AF29C_C {
|
||||
s16 unkC;
|
||||
s16 unkE;
|
||||
s16 unk10;
|
||||
s16 unk12;
|
||||
s16 unk14;
|
||||
s16 unk16;
|
||||
} unk800AF29C_C;
|
||||
|
||||
typedef struct unk800AF29C {
|
||||
ParticleBehavior *unk0;
|
||||
s16 unk4;
|
||||
u8 unk6;
|
||||
u8 unk7;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
union {
|
||||
unk800AF29C_C_4000 unkC_4000;
|
||||
unk800AF29C_C_400 unkC_400;
|
||||
unk800AF29C_C unkC;
|
||||
};
|
||||
s16 unk18;
|
||||
s16 unk1A;
|
||||
s16 unk1C;
|
||||
s16 unk1E;
|
||||
} unk800AF29C;
|
||||
|
||||
/************ .data ************/
|
||||
|
||||
// I woundn't be suprised if most of these zeroes are really just null pointers.
|
||||
@@ -121,34 +60,19 @@ s32 *D_800E2CE4 = NULL;
|
||||
s32 gParticlesAssetTableCount = 0;
|
||||
s32 *gParticlesAssets = NULL;
|
||||
|
||||
typedef struct unk800E2CF0 {
|
||||
u8 pad0[8];
|
||||
s16 unk8;
|
||||
} unk800E2CF0;
|
||||
|
||||
unk800E2CF0 **gParticlesAssetTable = NULL;
|
||||
s32 gParticleBehaviorsAssetTableCount = 0;
|
||||
s32 *gParticleBehaviorsAssets = NULL;
|
||||
ParticleBehavior **gParticleBehaviorsAssetTable = NULL;
|
||||
s32 D_800E2D00[2] = { 0, 0 };
|
||||
|
||||
/* Size: 0x10 bytes */
|
||||
typedef struct unk800E2D08 {
|
||||
s16 unk0, unk2, unk4, unk6, unk8, unkA, unkC, unkE;
|
||||
} unk800E2D08;
|
||||
|
||||
/* Size: 6 bytes */
|
||||
typedef struct unk800E2D58 {
|
||||
s16 unk0, unk2, unk4;
|
||||
} unk800E2D58;
|
||||
|
||||
// Are these just Triangles?
|
||||
unk800E2D08 D_800E2D08[5] = {
|
||||
{ 0x4000, 0x0102, 0x0100, 0x0000, 0x0000, 0x01E0, 0x0100, 0x01E0 },
|
||||
{ 0x4000, 0x0203, 0x0100, 0x0000, 0x0100, 0x01E0, 0x01E0, 0x01E0 },
|
||||
{ 0x4001, 0x0204, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x01E0 },
|
||||
{ 0x4002, 0x0305, 0x0100, 0x0000, 0x01E0, 0x0000, 0x01E0, 0x01E0 },
|
||||
{ 0x4000, 0x0103, 0x0100, 0x0000, 0x0000, 0x01E0, 0x01E0, 0x01E0 }
|
||||
{ 0x4000, 0x0103, 0x0100, 0x0000, 0x0000, 0x01E0, 0x01E0, 0x01E0 },
|
||||
};
|
||||
|
||||
unk800E2D58 D_800E2D58[5] = {
|
||||
@@ -258,11 +182,6 @@ s32 D_801297E8[6];
|
||||
|
||||
/******************************/
|
||||
|
||||
void func_800AE2D8(void);
|
||||
void func_800AE374(void);
|
||||
void func_800AE438(void);
|
||||
void func_800AE490(void);
|
||||
|
||||
void func_800AE270(void) {
|
||||
func_800AE374();
|
||||
func_800AE438();
|
||||
@@ -347,15 +266,6 @@ void func_800AE490(void) {
|
||||
gParticleBehaviorsAssetTable = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct unk800AF024 {
|
||||
u8 pad0[4];
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
Vertex *unk8;
|
||||
Triangle *unkC;
|
||||
} unk800AF024;
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void init_particle_assets(void) {
|
||||
s32 i;
|
||||
@@ -537,29 +447,6 @@ void func_800AF0F0(Object *obj) {
|
||||
temp_v1->unk1C = temp_t8;
|
||||
}
|
||||
|
||||
void func_800AF29C(unk800AF29C *arg0, s32 arg1, s32 arg2, s16 arg3, s16 arg4, s16 arg5);
|
||||
|
||||
typedef struct unk800B2260_C {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
u8 pad8[0x32];
|
||||
s16 unk3A;
|
||||
u8 pad3C[0x34];
|
||||
void *unk70; // unk800B2260 *
|
||||
u8 unk74;
|
||||
} unk800B2260_C;
|
||||
|
||||
typedef struct unk800B2260 {
|
||||
ParticleBehavior *unk0;
|
||||
s16 unk4;
|
||||
u8 unk6;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
unk800B2260_C **unkC;
|
||||
} unk800B2260;
|
||||
|
||||
void func_800B2260(unk800B2260 *arg0);
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void func_800AF134(unk800B2260 *arg0, s32 arg1, s32 arg2, s16 arg3, s16 arg4, s16 arg5) {
|
||||
if (arg2 >= gParticlesAssetTableCount) {
|
||||
@@ -724,4 +611,3 @@ GLOBAL_ASM("asm/non_matchings/particles/func_800B263C.s")
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/particles/func_800B26E0.s")
|
||||
GLOBAL_ASM("asm/non_matchings/particles/func_800B2FBC.s")
|
||||
|
||||
|
||||
+133
@@ -0,0 +1,133 @@
|
||||
#ifndef _PARTICLES_H_
|
||||
#define _PARTICLES_H_
|
||||
|
||||
#include "types.h"
|
||||
#include "structs.h"
|
||||
|
||||
/* Size: 0xA0 bytes */
|
||||
typedef struct ParticleBehavior {
|
||||
s32 flags;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
u8 pad10[4];
|
||||
s16 unk14;
|
||||
s16 unk16;
|
||||
s16 unk18;
|
||||
s16 unk1A;
|
||||
s16 unk1C;
|
||||
s16 unk1E;
|
||||
s16 unk20;
|
||||
s16 unk22;
|
||||
s16 unk24;
|
||||
s16 unk26;
|
||||
u8 pad28[0x74];
|
||||
s32 *unk9C;
|
||||
} ParticleBehavior;
|
||||
|
||||
typedef struct unk800AF29C_C_4000 {
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
} unk800AF29C_C_4000;
|
||||
|
||||
typedef struct unk800AF29C_C_400 {
|
||||
s32 *unkC;
|
||||
s16 unk10;
|
||||
s16 unk12;
|
||||
s16 unk14;
|
||||
s16 unk16;
|
||||
} unk800AF29C_C_400;
|
||||
|
||||
typedef struct unk800AF29C_C {
|
||||
s16 unkC;
|
||||
s16 unkE;
|
||||
s16 unk10;
|
||||
s16 unk12;
|
||||
s16 unk14;
|
||||
s16 unk16;
|
||||
} unk800AF29C_C;
|
||||
|
||||
typedef struct unk800AF29C {
|
||||
ParticleBehavior *unk0;
|
||||
s16 unk4;
|
||||
u8 unk6;
|
||||
u8 unk7;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
union {
|
||||
unk800AF29C_C_4000 unkC_4000;
|
||||
unk800AF29C_C_400 unkC_400;
|
||||
unk800AF29C_C unkC;
|
||||
};
|
||||
s16 unk18;
|
||||
s16 unk1A;
|
||||
s16 unk1C;
|
||||
s16 unk1E;
|
||||
} unk800AF29C;
|
||||
|
||||
typedef struct unk800E2CF0 {
|
||||
u8 pad0[8];
|
||||
s16 unk8;
|
||||
} unk800E2CF0;
|
||||
|
||||
/* Size: 0x10 bytes */
|
||||
typedef struct unk800E2D08 {
|
||||
s16 unk0, unk2, unk4, unk6, unk8, unkA, unkC, unkE;
|
||||
} unk800E2D08;
|
||||
|
||||
/* Size: 6 bytes */
|
||||
typedef struct unk800E2D58 {
|
||||
s16 unk0, unk2, unk4;
|
||||
} unk800E2D58;
|
||||
|
||||
typedef struct unk800AF024 {
|
||||
u8 pad0[4];
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
Vertex *unk8;
|
||||
Triangle *unkC;
|
||||
} unk800AF024;
|
||||
|
||||
typedef struct unk800B2260_C {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
u8 pad8[0x32];
|
||||
s16 unk3A;
|
||||
u8 pad3C[0x34];
|
||||
void *unk70; // unk800B2260 *
|
||||
u8 unk74;
|
||||
} unk800B2260_C;
|
||||
|
||||
//Could be the same as Object_6C
|
||||
typedef struct unk800B2260 {
|
||||
ParticleBehavior *unk0;
|
||||
s16 unk4;
|
||||
u8 unk6;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
unk800B2260_C **unkC;
|
||||
} unk800B2260;
|
||||
|
||||
void func_800AE270(void);
|
||||
void func_800AE2A0(void);
|
||||
void func_800AE2D8(void);
|
||||
void func_800AE374(void);
|
||||
void func_800AE438(void);
|
||||
void func_800AE490(void);
|
||||
void func_800AEE14(unk800AF024 *arg0, Vertex **arg1, Triangle **arg2);
|
||||
void func_800AEEB8(unk800AF024 *arg0, Vertex **arg1, Triangle **arg2);
|
||||
void func_800AEF88(unk800AF024 *arg0, Vertex **arg1, Triangle **arg2);
|
||||
void func_800AF024(unk800AF024 *arg0, Vertex **arg1, Triangle **arg2);
|
||||
void func_800AF0A4(Object *obj);
|
||||
void func_800AF0F0(Object *obj);
|
||||
void func_800AF1E0(unk800AF29C *arg0, s32 arg1, s32 arg2);
|
||||
void func_800AF29C(unk800AF29C *arg0, s32 arg1, s32 arg2, s16 arg3, s16 arg4, s16 arg5);
|
||||
void func_800AF6E4(Object *obj, s32 arg1);
|
||||
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
|
||||
|
||||
#endif
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user