mirror of
https://github.com/pret/pokestadium.git
synced 2026-10-01 06:17:20 -05:00
Merge branch 'master' of github.com:pret/pokestadium
This commit is contained in:
@@ -54,8 +54,8 @@
|
||||
#define FRAGMENT_ID(fragment) ((((u32)fragment##_TEXT_START & 0x0FF00000) >> 0x14) - 0x10)
|
||||
#define ASSET_ID(asset) (((u32)asset & 0x0F000000) >> 0x18)
|
||||
|
||||
#define FRAGMENT_LOAD(load_func, fragment) ( \
|
||||
load_func(FRAGMENT_ID(fragment), fragment##_ROM_START, fragment##_relocs_ROM_END) \
|
||||
#define FRAGMENT_LOAD(fragment) ( \
|
||||
func_80004454(FRAGMENT_ID(fragment), fragment##_ROM_START, fragment##_relocs_ROM_END) \
|
||||
)
|
||||
|
||||
#define FRAGMENT_LOAD_AND_CALL(fragment, arg0, arg1) (\
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
extern u8 fragment1_TEXT_START[];
|
||||
extern u8 fragment1_ROM_START[];
|
||||
extern u8 fragment1_ROM_END[];
|
||||
extern u8 fragment1_relocs_ROM_END[];
|
||||
|
||||
// fragment 2
|
||||
extern u8 fragment2_TEXT_START[];
|
||||
@@ -28,16 +29,19 @@ extern u8 fragment4_relocs_ROM_END[];
|
||||
extern u8 fragment5_TEXT_START[];
|
||||
extern u8 fragment5_ROM_START[];
|
||||
extern u8 fragment5_ROM_END[];
|
||||
extern u8 fragment5_relocs_ROM_END[];
|
||||
|
||||
// fragment 6
|
||||
extern u8 fragment6_TEXT_START[];
|
||||
extern u8 fragment6_ROM_START[];
|
||||
extern u8 fragment6_ROM_END[];
|
||||
extern u8 fragment6_relocs_ROM_END[];
|
||||
|
||||
// fragment 7
|
||||
extern u8 fragment7_TEXT_START[];
|
||||
extern u8 fragment7_ROM_START[];
|
||||
extern u8 fragment7_ROM_END[];
|
||||
extern u8 fragment7_relocs_ROM_END[];
|
||||
|
||||
// fragment 8
|
||||
extern u8 fragment8_TEXT_START[];
|
||||
@@ -49,26 +53,31 @@ extern u8 fragment8_relocs_ROM_END[];
|
||||
extern u8 fragment9_TEXT_START[];
|
||||
extern u8 fragment9_ROM_START[];
|
||||
extern u8 fragment9_ROM_END[];
|
||||
extern u8 fragment9_relocs_ROM_END[];
|
||||
|
||||
// fragment 10
|
||||
extern u8 fragment10_TEXT_START[];
|
||||
extern u8 fragment10_ROM_START[];
|
||||
extern u8 fragment10_ROM_END[];
|
||||
extern u8 fragment10_relocs_ROM_END[];
|
||||
|
||||
// fragment 11
|
||||
extern u8 fragment11_TEXT_START[];
|
||||
extern u8 fragment11_ROM_START[];
|
||||
extern u8 fragment11_ROM_END[];
|
||||
extern u8 fragment11_relocs_ROM_END[];
|
||||
|
||||
// fragment 12
|
||||
extern u8 fragment12_TEXT_START[];
|
||||
extern u8 fragment12_ROM_START[];
|
||||
extern u8 fragment12_ROM_END[];
|
||||
extern u8 fragment12_relocs_ROM_END[];
|
||||
|
||||
// fragment 13
|
||||
extern u8 fragment13_TEXT_START[];
|
||||
extern u8 fragment13_ROM_START[];
|
||||
extern u8 fragment13_ROM_END[];
|
||||
extern u8 fragment13_relocs_ROM_END[];
|
||||
|
||||
// fragment 14
|
||||
extern u8 fragment14_TEXT_START[];
|
||||
@@ -104,21 +113,25 @@ extern u8 fragment18_relocs_ROM_END[];
|
||||
extern u8 fragment19_TEXT_START[];
|
||||
extern u8 fragment19_ROM_START[];
|
||||
extern u8 fragment19_ROM_END[];
|
||||
extern u8 fragment19_relocs_ROM_END[];
|
||||
|
||||
// fragment 20
|
||||
extern u8 fragment20_TEXT_START[];
|
||||
extern u8 fragment20_ROM_START[];
|
||||
extern u8 fragment20_ROM_END[];
|
||||
extern u8 fragment20_relocs_ROM_END[];
|
||||
|
||||
// fragment 21
|
||||
extern u8 fragment21_TEXT_START[];
|
||||
extern u8 fragment21_ROM_START[];
|
||||
extern u8 fragment21_ROM_END[];
|
||||
extern u8 fragment21_relocs_ROM_END[];
|
||||
|
||||
// fragment 22
|
||||
extern u8 fragment22_TEXT_START[];
|
||||
extern u8 fragment22_ROM_START[];
|
||||
extern u8 fragment22_ROM_END[];
|
||||
extern u8 fragment22_relocs_ROM_END[];
|
||||
|
||||
// fragment 23
|
||||
extern u8 fragment23_TEXT_START[];
|
||||
@@ -179,6 +192,7 @@ extern u8 fragment33_TEXT_START[];
|
||||
extern u8 fragment33_ROM_START[];
|
||||
extern u8 fragment33_ROM_END[];
|
||||
extern u8 fragment33_relocs_ROM_END[];
|
||||
extern u8 fragment33_misc_ROM_START[];
|
||||
|
||||
// fragment 34
|
||||
extern u8 fragment34_TEXT_START[];
|
||||
@@ -214,6 +228,7 @@ extern u8 fragment38_relocs_ROM_END[];
|
||||
extern u8 fragment39_TEXT_START[];
|
||||
extern u8 fragment39_ROM_START[];
|
||||
extern u8 fragment39_ROM_END[];
|
||||
extern u8 fragment39_relocs_ROM_END[];
|
||||
|
||||
// fragment 40
|
||||
extern u8 fragment40_TEXT_START[];
|
||||
@@ -225,6 +240,7 @@ extern u8 fragment40_relocs_ROM_END[];
|
||||
extern u8 fragment41_TEXT_START[];
|
||||
extern u8 fragment41_ROM_START[];
|
||||
extern u8 fragment41_ROM_END[];
|
||||
extern u8 fragment41_relocs_ROM_END[];
|
||||
|
||||
// fragment 42
|
||||
extern u8 fragment42_TEXT_START[];
|
||||
@@ -479,11 +495,9 @@ extern u8 _6C4E50_ROM_END[];
|
||||
|
||||
extern u8 D_124570[];
|
||||
|
||||
extern u32 fragment1_relocs_ROM_END[];
|
||||
|
||||
extern u8 _675FA0_ROM_START[];
|
||||
extern u8 _675FA0_ROM_END[];
|
||||
|
||||
extern u8 _696350_ROM_START[];
|
||||
extern u8 textdata_ROM_START[]; // 783760
|
||||
extern u8 textdata_ROM_END[]; // 783760
|
||||
|
||||
|
||||
@@ -86,6 +86,7 @@ void func_800238D8(UNUSED MainPoolBlock* arg0, u32 arg1);
|
||||
void func_80023990(s32 arg0);
|
||||
s32 func_80023A04(s32 arg0);
|
||||
void func_80023AF8(s32);
|
||||
void func_80023D60(s32);
|
||||
void func_80023F78(s32 arg0);
|
||||
void func_80024040(s32 arg0);
|
||||
s32 func_800240A0(void);
|
||||
|
||||
44
src/29BA0.c
44
src/29BA0.c
@@ -97,9 +97,9 @@ s32 func_800290E4(s16 arg0) {
|
||||
|
||||
main_pool_push_state('Demo');
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(func_80004454, fragment2);
|
||||
FRAGMENT_LOAD(func_80004454, fragment3);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
FRAGMENT_LOAD(fragment2);
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
|
||||
D_800AE540.unk_0000 = arg0;
|
||||
|
||||
@@ -113,9 +113,9 @@ s32 func_800290E4(s16 arg0) {
|
||||
void func_800291E0(void) {
|
||||
main_pool_push_state('demo');
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(func_80004454, fragment2);
|
||||
FRAGMENT_LOAD(func_80004454, fragment3);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
FRAGMENT_LOAD(fragment2);
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
|
||||
if (D_800AE540.unk_11F2 != 0) {
|
||||
FRAGMENT_LOAD_AND_CALL(fragment16, 0, 0);
|
||||
@@ -149,26 +149,26 @@ void func_800293CC(void) {
|
||||
main_pool_push_state('DEMO');
|
||||
|
||||
if (D_800AE540.unk_0000 == 0x10) {
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
|
||||
} else {
|
||||
ASSET_LOAD(D_3000000, _675FA0, 0);
|
||||
FRAGMENT_LOAD(func_80004454, fragment2);
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment2);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
|
||||
switch (D_800AE540.unk_0003) {
|
||||
case 3:
|
||||
FRAGMENT_LOAD(func_80004454, fragment4);
|
||||
FRAGMENT_LOAD(fragment4);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment8, 1, 0);
|
||||
break;
|
||||
|
||||
case 9:
|
||||
FRAGMENT_LOAD(func_80004454, fragment3);
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment14, 1, 0);
|
||||
break;
|
||||
|
||||
case 13:
|
||||
FRAGMENT_LOAD(func_80004454, fragment3);
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment18, 1, 0);
|
||||
break;
|
||||
}
|
||||
@@ -198,7 +198,7 @@ void func_800296E0(void) {
|
||||
func_80005E40(0x10000, 0);
|
||||
temp_s0 = func_80007444(1, 1, 2, 0, 2, 1);
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
func_80007678(temp_s0);
|
||||
FRAGMENT_LOAD_AND_CALL2(fragment67, 1, 0);
|
||||
|
||||
@@ -302,7 +302,7 @@ void func_80029BC0(void) {
|
||||
|
||||
main_pool_push_state('STAD');
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
|
||||
|
||||
main_pool_pop_state('STAD');
|
||||
@@ -400,7 +400,7 @@ void func_8002A06C(void) {
|
||||
|
||||
main_pool_push_state('FREE');
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
|
||||
|
||||
main_pool_pop_state('FREE');
|
||||
@@ -476,7 +476,7 @@ void func_8002A400(void) {
|
||||
|
||||
main_pool_push_state('STAD');
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
|
||||
|
||||
main_pool_pop_state('STAD');
|
||||
@@ -633,7 +633,7 @@ void func_8002AAA8(void) {
|
||||
|
||||
main_pool_push_state('STAD');
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
|
||||
|
||||
main_pool_pop_state('STAD');
|
||||
@@ -681,7 +681,7 @@ void func_8002ADE8(s32 arg0) {
|
||||
|
||||
main_pool_push_state('FIGT');
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
|
||||
|
||||
main_pool_pop_state('FIGT');
|
||||
@@ -701,7 +701,7 @@ void func_8002AF38(void) {
|
||||
|
||||
main_pool_push_state('FIGT');
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
|
||||
|
||||
main_pool_pop_state('FIGT');
|
||||
@@ -720,10 +720,10 @@ void func_8002B07C(void) {
|
||||
|
||||
main_pool_push_state('DOSE');
|
||||
|
||||
frag_43_entry = FRAGMENT_LOAD(func_80004454, fragment43);
|
||||
frag_43_entry = FRAGMENT_LOAD(fragment43);
|
||||
frag_43_entry();
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment75, 0, 0);
|
||||
|
||||
gCurrentGameState = STATE_TITLE_SCREEN;
|
||||
@@ -737,7 +737,7 @@ void func_8002B180(void) {
|
||||
func_8002BC64(1, 0, 2, 0);
|
||||
func_800367A0(0xA0, 0xA, 0);
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
|
||||
|
||||
main_pool_pop_state('STAD');
|
||||
|
||||
16
src/2E110.c
16
src/2E110.c
@@ -2,17 +2,19 @@
|
||||
#include "src/3FB0.h"
|
||||
#include "src/memory.h"
|
||||
|
||||
#define D_800AF740_NUM_FILES 42
|
||||
|
||||
static BinArchive* D_800AF740;
|
||||
static char** D_800AF744;
|
||||
static s32* D_800AF744;
|
||||
|
||||
void func_8002D510(void) {
|
||||
s32 i;
|
||||
|
||||
D_800AF740 = func_800044F4(textdata_ROM_START, NULL, 1, 0);
|
||||
D_800AF744 = main_pool_alloc(0xA8, 0);
|
||||
D_800AF744 = main_pool_alloc(D_800AF740_NUM_FILES * sizeof(s32), 0);
|
||||
|
||||
for (i = 0; i < 42; i++) {
|
||||
D_800AF744[i] = NULL;
|
||||
for (i = 0; i < D_800AF740_NUM_FILES; i++) {
|
||||
D_800AF744[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,9 +60,9 @@ void func_8002D628(char* arg0, u32 arg1, s8* arg2) {
|
||||
if (temp_v0 == 0x23) {
|
||||
temp_v0 = *arg2++;
|
||||
|
||||
temp_v0 -= 0x30;
|
||||
temp_v0 = (*arg2++ + (temp_v0 * 10)) - 0x30;
|
||||
if ((temp_v0 > 0) && (temp_v0 < 0xA)) {
|
||||
temp_v0 -= '0';
|
||||
temp_v0 = (*arg2++ + (temp_v0 * 10)) - '0';
|
||||
if ((temp_v0 > 0) && (temp_v0 < 10)) {
|
||||
sprintf(&sp58, "%d", D_800AF744[temp_v0]);
|
||||
var_s4 = &sp58;
|
||||
var_s2 = 1;
|
||||
|
||||
69
src/2E460.c
69
src/2E460.c
@@ -1,4 +1,13 @@
|
||||
#include "global.h"
|
||||
#include "2E460.h"
|
||||
#include "src/20330.h"
|
||||
#include "src/22630.h"
|
||||
#include "src/26820.h"
|
||||
#include "src/29BA0.h"
|
||||
#include "src/49790.h"
|
||||
#include "src/6A40.h"
|
||||
#include "src/controller.h"
|
||||
#include "src/memory.h"
|
||||
#include "src/stage_loader.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2E460/func_8002D860.s")
|
||||
|
||||
@@ -52,7 +61,63 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2E460/func_8002EF18.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2E460/func_8002EF44.s")
|
||||
void func_8002EF44(void) {
|
||||
s32 game_state;
|
||||
s32 var_s4;
|
||||
|
||||
FRAGMENT_LOAD_AND_CALL(fragment33, 1, 0);
|
||||
|
||||
if (func_80029080() == -1) {
|
||||
gCurrentGameState = STATE_AREA_SELECT;
|
||||
return;
|
||||
}
|
||||
|
||||
var_s4 = 0;
|
||||
game_state = STATE_POKEMON_LAB;
|
||||
|
||||
do {
|
||||
if (game_state == STATE_POKEMON_LAB) {
|
||||
main_pool_push_state('PLAB');
|
||||
|
||||
if (func_80029080() != -1) {
|
||||
func_80028AFC(3);
|
||||
func_80023D60(func_80029080());
|
||||
}
|
||||
|
||||
func_80005E40(0x16000, 0);
|
||||
func_80007678(func_80007444(1, 1, 2, 0, 2, 1));
|
||||
|
||||
FRAGMENT_LOAD_AND_CALL2(fragment22, var_s4, 0);
|
||||
|
||||
while ((game_state == STATE_POKEMON_LAB) && (D_800AE520.unk_00 != 0)) {
|
||||
D_800AE520.unk_00 = 0;
|
||||
game_state = func_80029008(D_800AE520.fragment_id, D_800AE520.rom_start, D_800AE520.rom_end,
|
||||
D_800AE520.arg0, D_800AE520.arg1);
|
||||
}
|
||||
|
||||
func_800076C0();
|
||||
func_80005EAC();
|
||||
|
||||
main_pool_pop_state('PLAB');
|
||||
} else {
|
||||
switch (game_state) {
|
||||
case 0x10000:
|
||||
FRAGMENT_LOAD_AND_CALL(fragment41, 0, 0);
|
||||
var_s4 = 2;
|
||||
game_state = STATE_POKEMON_LAB;
|
||||
break;
|
||||
|
||||
case 0x10001:
|
||||
FRAGMENT_LOAD_AND_CALL(fragment33, 0, 0);
|
||||
var_s4 = 1;
|
||||
game_state = STATE_POKEMON_LAB;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} while (game_state != STATE_AREA_SELECT);
|
||||
|
||||
gCurrentGameState = STATE_AREA_SELECT;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2E460/func_8002F1C0.s")
|
||||
|
||||
|
||||
118
src/2FEA0.c
118
src/2FEA0.c
@@ -1,3 +1,119 @@
|
||||
#include "2FEA0.h"
|
||||
#include "src/29BA0.h"
|
||||
#include "src/3FB0.h"
|
||||
#include "src/memory.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2FEA0/func_8002F2A0.s")
|
||||
void func_8002F2A0(void) {
|
||||
u32 var_s0;
|
||||
u32 sp60;
|
||||
void (*func)(void);
|
||||
s32 sp58;
|
||||
UNUSED s32 pad[2];
|
||||
|
||||
main_pool_push_state('KDCM');
|
||||
|
||||
sp60 = 0;
|
||||
var_s0 = 0;
|
||||
sp58 = 1;
|
||||
|
||||
func = FRAGMENT_LOAD(fragment2);
|
||||
func();
|
||||
|
||||
while (sp58 != 0) {
|
||||
if ((var_s0 == 0) || (var_s0 == 1) || (var_s0 == 4)) {
|
||||
sp60 = FRAGMENT_LOAD_AND_CALL(fragment39, var_s0, sp60);
|
||||
}
|
||||
|
||||
if (sp60 != 0) {
|
||||
main_pool_push_state('mini');
|
||||
|
||||
ASSET_LOAD(D_3000000, _675FA0, 0);
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
|
||||
switch (sp60) {
|
||||
case 1:
|
||||
FRAGMENT_LOAD(fragment4);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment6, 0, 0);
|
||||
break;
|
||||
case 2:
|
||||
FRAGMENT_LOAD(fragment4);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment7, 0, 0);
|
||||
break;
|
||||
case 3:
|
||||
FRAGMENT_LOAD(fragment4);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment8, 0, 0);
|
||||
break;
|
||||
case 4:
|
||||
FRAGMENT_LOAD(fragment4);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment9, 0, 0);
|
||||
break;
|
||||
case 5:
|
||||
FRAGMENT_LOAD(fragment5);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment10, 0, 0);
|
||||
break;
|
||||
case 6:
|
||||
FRAGMENT_LOAD(fragment5);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment11, 0, 0);
|
||||
break;
|
||||
case 7:
|
||||
FRAGMENT_LOAD(fragment5);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment12, 0, 0);
|
||||
break;
|
||||
case 8:
|
||||
FRAGMENT_LOAD(fragment5);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment13, 0, 0);
|
||||
break;
|
||||
case 9:
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment14, 0, 0);
|
||||
break;
|
||||
case 10:
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment15, 0, 0);
|
||||
break;
|
||||
case 11:
|
||||
FRAGMENT_LOAD(fragment5);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment16, 0, 0);
|
||||
break;
|
||||
case 12:
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment17, 0, 0);
|
||||
break;
|
||||
case 13:
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment18, 0, 0);
|
||||
break;
|
||||
case 14:
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment19, 0, 0);
|
||||
break;
|
||||
case 15:
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment20, 0, 0);
|
||||
break;
|
||||
case 16:
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
var_s0 = FRAGMENT_LOAD_AND_CALL(fragment21, 0, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
main_pool_pop_state('mini');
|
||||
|
||||
switch (var_s0) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 3:
|
||||
case 4:
|
||||
break;
|
||||
|
||||
case 2:
|
||||
sp58 = 0;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
sp58 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
main_pool_pop_state('KDCM');
|
||||
}
|
||||
|
||||
12
src/30640.c
12
src/30640.c
@@ -38,8 +38,8 @@ void func_8002FA40(void) {
|
||||
main_pool_push_state('SNPM');
|
||||
func_8004B1CC(0x4B);
|
||||
|
||||
FRAGMENT_LOAD(func_80004454, fragment43)();
|
||||
FRAGMENT_LOAD(func_80004454, fragment34);
|
||||
FRAGMENT_LOAD(fragment43)();
|
||||
FRAGMENT_LOAD(fragment34);
|
||||
|
||||
do {
|
||||
temp_s0 = Util_ConvertAddrToVirtAddr(val);
|
||||
@@ -72,10 +72,10 @@ void func_8002FA40(void) {
|
||||
|
||||
case 1:
|
||||
case 6:
|
||||
FRAGMENT_LOAD(func_80004454, fragment2)();
|
||||
FRAGMENT_LOAD(fragment2)();
|
||||
ASSET_LOAD(D_3000000, _675FA0, 0);
|
||||
FRAGMENT_LOAD(func_80004454, fragment3);
|
||||
FRAGMENT_LOAD(func_80004454, fragment31);
|
||||
FRAGMENT_LOAD(fragment3);
|
||||
FRAGMENT_LOAD(fragment31);
|
||||
|
||||
if (var_s5 == 1) {
|
||||
var_s0 = 0;
|
||||
@@ -144,7 +144,7 @@ void func_8002FA40(void) {
|
||||
break;
|
||||
|
||||
case 5:
|
||||
FRAGMENT_LOAD(func_80004454, fragment61);
|
||||
FRAGMENT_LOAD(fragment61);
|
||||
switch (var_s2) {
|
||||
case 1:
|
||||
var_s0 = 1;
|
||||
|
||||
@@ -64,8 +64,11 @@ extern ALSeqFile* D_800FC708;
|
||||
extern ALSeqFile* D_800FC714;
|
||||
extern u32* D_800FC798;
|
||||
|
||||
s32 func_800367A0(u32, s32, s32);
|
||||
s32 func_80037234(s32, u32);
|
||||
void func_80037360(u32*, u32, s32);
|
||||
s32 func_800367A0(u32 arg0, s32 arg1, s32 arg2);
|
||||
s32 func_80037234(s32 arg0, u32 arg1);
|
||||
void func_8003733C(void);
|
||||
void func_80037340(void* arg0);
|
||||
void func_80037360(u32* arg0, u32 arg1, s32 arg2);
|
||||
s32 func_800373D8(void);
|
||||
|
||||
#endif // _373A0_H_
|
||||
|
||||
@@ -25,6 +25,7 @@ OSTask* func_8003CADC(OSTask*);
|
||||
void __clearAudioDMA(void);
|
||||
void func_8003D32C(void);
|
||||
s32 func_8003D494(void);
|
||||
void func_8003D4A0(s32);
|
||||
void func_8003D68C(s32);
|
||||
void func_8003D918(u32 arg0, u32 arg1);
|
||||
void func_8003DB84(s32 arg0);
|
||||
|
||||
12
src/DDC0.c
12
src/DDC0.c
@@ -6,6 +6,9 @@
|
||||
#include "5580.h"
|
||||
#include "373A0.h"
|
||||
#include "src/50860.h"
|
||||
#include "src/490A0.h"
|
||||
#include "src/4BA90.h"
|
||||
#include "src/4BDC0.h"
|
||||
|
||||
extern s32 D_800A83A0;
|
||||
|
||||
@@ -18,15 +21,6 @@ extern OSThread D_800A8480;
|
||||
|
||||
extern u8 D_800AA660[];
|
||||
|
||||
s32 func_800484E0(void);
|
||||
void func_80009210(void);
|
||||
void func_8004FD44(void);
|
||||
void func_8004B9C4();
|
||||
void func_8003D4A0(s32);
|
||||
void func_8004AF24(s32);
|
||||
void func_8004FD64(s32);
|
||||
void func_8004AE90(s32, s32);
|
||||
|
||||
void func_8000D1C0(void) {
|
||||
}
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ void func_8000D738(UnkInputStruct8000D738* arg0) {
|
||||
D_800AA660 = main_pool_alloc(0x2210, 0);
|
||||
D_800AA664 = main_pool_alloc(0x21E0, 0);
|
||||
|
||||
func_80004454(FRAGMENT_ID(fragment1), fragment1_ROM_START, fragment1_relocs_ROM_END);
|
||||
FRAGMENT_LOAD(fragment1);
|
||||
temp_v0 = ASSET_LOAD2(func_800044F4, fonts, 1, 1);
|
||||
|
||||
D_800AA660->unk_21FC = func_8000484C(temp_v0, 0);
|
||||
|
||||
@@ -952,7 +952,7 @@ void func_864025A0(UNUSED s32 arg0, UNUSED s32 arg1) {
|
||||
sp24 = func_80007444(0, 1, 3, 1, 2, 1);
|
||||
D_87B000E0 = func_8001E94C(0x16, 0);
|
||||
ASSET_LOAD(D_1000000, _4BD6B0, 0);
|
||||
FRAGMENT_LOAD(func_80004454, fragment31);
|
||||
FRAGMENT_LOAD(fragment31);
|
||||
func_86402130();
|
||||
func_80007678(sp24);
|
||||
func_86401B3C();
|
||||
|
||||
@@ -830,7 +830,7 @@ void func_86501E9C(UNUSED s32 arg0, UNUSED s32 arg1) {
|
||||
D_87B000E0 = func_8001E94C(0x16, 0);
|
||||
|
||||
ASSET_LOAD(D_1000000, _4BD6B0, 0);
|
||||
FRAGMENT_LOAD(func_80004454, fragment31);
|
||||
FRAGMENT_LOAD(fragment31);
|
||||
|
||||
func_86501AAC();
|
||||
func_80007678(sp24);
|
||||
|
||||
@@ -1204,7 +1204,7 @@ void func_86002778(UNUSED s32 arg0, UNUSED s32 arg1) {
|
||||
D_86003B7C = func_8001E94C(0x36, 0);
|
||||
|
||||
ASSET_LOAD(D_1000000, _4BD6B0, 0);
|
||||
FRAGMENT_LOAD(func_80004454, fragment31);
|
||||
FRAGMENT_LOAD(fragment31);
|
||||
|
||||
func_80004454((((u32)D_8D000000 & 0x0FF00000) >> 0x14) - 0x10, _5C7A70_ROM_START, _5C7A70_ROM_END);
|
||||
|
||||
|
||||
@@ -1890,7 +1890,7 @@ void func_86104474(UNUSED s32 arg0, UNUSED s32 arg1) {
|
||||
D_861054B4 = func_8001E94C(0x36, 0);
|
||||
|
||||
ASSET_LOAD(D_1000000, _4BD6B0, 0);
|
||||
FRAGMENT_LOAD(func_80004454, fragment31);
|
||||
FRAGMENT_LOAD(fragment31);
|
||||
|
||||
func_80004454((((u32)D_8D000000 & 0x0FF00000) >> 0x14) - 0x10, _5C7A70_ROM_START, _5C7A70_ROM_END);
|
||||
|
||||
|
||||
@@ -1404,7 +1404,7 @@ void func_8620369C(s32 arg0, UNUSED s32 arg1) {
|
||||
|
||||
ASSET_LOAD(D_1000000, _4BD6B0, 0);
|
||||
ASSET_LOAD(D_4000000, _6C4CE0, 0);
|
||||
FRAGMENT_LOAD(func_80004454, fragment31);
|
||||
FRAGMENT_LOAD(fragment31);
|
||||
|
||||
func_80004454((((u32)&D_8D000000 & 0x0FF00000) >> 0x14) - 0x10, _5C7A70_ROM_START, _5C7A70_ROM_END);
|
||||
|
||||
|
||||
@@ -586,7 +586,7 @@ void func_86301474(UNUSED s32 arg0, UNUSED s32 arg1) {
|
||||
D_86301728 = func_8001E94C(0x26, 0);
|
||||
|
||||
ASSET_LOAD(D_1000000, _4BD6B0, 0);
|
||||
FRAGMENT_LOAD(func_80004454, fragment31);
|
||||
FRAGMENT_LOAD(fragment31);
|
||||
|
||||
func_80004454((((u32)&D_8D000000 & 0x0FF00000) >> 0x14) - 0x10, _5C7A70_ROM_START, _5C7A70_ROM_END);
|
||||
|
||||
|
||||
@@ -420,7 +420,8 @@
|
||||
- [0x7CEC0, .rodata, 29BA0]
|
||||
- [0x7CFD0, .rodata, 2C1C0]
|
||||
- [0x7D030, .rodata, 2E110]
|
||||
- [0x7D040, rodata, rom_rodata_7D040]
|
||||
- [0x7D040, rodata, rom_rodata_7D040] # 2E460
|
||||
- [0x7D090, .rodata, 2FEA0]
|
||||
- [0x7D0F0, .rodata, 30640]
|
||||
- [0x7D110, rodata, rom_rodata_7D110]
|
||||
- [0x7D1B0, rodata, rom_rodata_7D1B0]
|
||||
|
||||
Reference in New Issue
Block a user