mirror of
https://github.com/pret/pokestadium.git
synced 2026-09-29 14:01:24 -04:00
2E110
This commit is contained in:
@@ -483,5 +483,6 @@ extern u32 fragment1_relocs_ROM_END[];
|
||||
|
||||
extern u8 _675FA0_ROM_START[];
|
||||
extern u8 _675FA0_ROM_END[];
|
||||
extern u8 _783760_ROM_START[];
|
||||
|
||||
#endif // _SECTIONS_H_
|
||||
|
||||
+126
-7
@@ -1,15 +1,134 @@
|
||||
#include "2E110.h"
|
||||
#include "src/3FB0.h"
|
||||
#include "src/memory.h"
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2E110/func_8002D510.s")
|
||||
static BinArchive* D_800AF740;
|
||||
static char** D_800AF744;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2E110/func_8002D5AC.s")
|
||||
void func_8002D510(void) {
|
||||
s32 i;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2E110/func_8002D5D4.s")
|
||||
D_800AF740 = func_800044F4(_783760_ROM_START, NULL, 1, 0);
|
||||
D_800AF744 = main_pool_alloc(0xA8, 0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2E110/func_8002D600.s")
|
||||
for (i = 0; i < 42; i++) {
|
||||
D_800AF744[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2E110/func_8002D628.s")
|
||||
char* func_8002D5AC(s32 file_number) {
|
||||
return (char*)func_8000484C(D_800AF740, file_number);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2E110/func_8002D7C0.s")
|
||||
void func_8002D5D4(u32 arg0, s32 arg1) {
|
||||
if ((arg0 >= 0x14) && (arg0 < 0x2A)) {
|
||||
D_800AF744[arg0] = arg1;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/us/nonmatchings/2E110/func_8002D80C.s")
|
||||
void func_8002D600(u32 arg0, s32 arg1) {
|
||||
if ((arg0 != 0) && (arg0 < 0xA)) {
|
||||
D_800AF744[arg0] = arg1;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8002D628(char* arg0, u32 arg1, s8* arg2) {
|
||||
u32 i;
|
||||
s32 var_s2;
|
||||
s32 temp_v0;
|
||||
char sp58[12];
|
||||
s8* var_s4;
|
||||
char* sp54;
|
||||
u32 var_s3;
|
||||
|
||||
var_s2 = 0;
|
||||
var_s3 = 0;
|
||||
sp54 = var_s4;
|
||||
var_s4 = sp54;
|
||||
i = 0;
|
||||
|
||||
while (i < arg1 - 1u) {
|
||||
switch (var_s2) {
|
||||
case 0:
|
||||
temp_v0 = *arg2++;
|
||||
if (temp_v0 == 0) {
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (temp_v0 == 0x23) {
|
||||
temp_v0 = *arg2++;
|
||||
|
||||
temp_v0 -= 0x30;
|
||||
temp_v0 = (*arg2++ + (temp_v0 * 10)) - 0x30;
|
||||
if ((temp_v0 > 0) && (temp_v0 < 0xA)) {
|
||||
sprintf(&sp58, "%d", D_800AF744[temp_v0]);
|
||||
var_s4 = &sp58;
|
||||
var_s2 = 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((temp_v0 >= 0x14) && (temp_v0 < 0x2A)) {
|
||||
if (D_800AF744[temp_v0] != 0) {
|
||||
var_s4 = D_800AF744[temp_v0];
|
||||
var_s2 = 1;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
*arg0++ = temp_v0;
|
||||
var_s3++;
|
||||
i++;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
temp_v0 = *var_s4++;
|
||||
if (temp_v0 == 0) {
|
||||
var_s2 = 0;
|
||||
} else {
|
||||
*arg0++ = temp_v0;
|
||||
var_s3++;
|
||||
i++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
sp54 = var_s4;
|
||||
end:
|
||||
*arg0++ = 0;
|
||||
}
|
||||
|
||||
char* func_8002D7C0(char* arg0, s32 arg1, char** arg2, s32 file_number) {
|
||||
char* sp1C;
|
||||
char* sp18 = (u32)arg2 + (u32)arg2[file_number + 1];
|
||||
|
||||
if (arg0 == NULL) {
|
||||
sp1C = sp18;
|
||||
} else {
|
||||
sp1C = arg0;
|
||||
func_8002D628(arg0, arg1, sp18);
|
||||
}
|
||||
|
||||
return sp1C;
|
||||
}
|
||||
|
||||
s32 func_8002D80C(s8* arg0) {
|
||||
s32 last_chr = 0;
|
||||
s32 line_count = 0;
|
||||
s32 chr = *arg0++;
|
||||
|
||||
while (chr != 0) {
|
||||
last_chr = chr;
|
||||
if (chr == '\n') {
|
||||
line_count++;
|
||||
}
|
||||
chr = *arg0++;
|
||||
}
|
||||
|
||||
if (last_chr != '\n') {
|
||||
line_count++;
|
||||
}
|
||||
|
||||
return line_count;
|
||||
}
|
||||
|
||||
+4
-4
@@ -4,10 +4,10 @@
|
||||
#include "global.h"
|
||||
|
||||
void func_8002D510(void);
|
||||
s32 func_8002D5AC(s32);
|
||||
void func_8002D600(s32, s16);
|
||||
char* func_8002D7C0(char* arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
s32 func_8002D80C(char*);
|
||||
char* func_8002D5AC(s32);
|
||||
void func_8002D600(u32, s32);
|
||||
char* func_8002D7C0(char* arg0, s32 arg1, char** arg2, s32 arg3);
|
||||
s32 func_8002D80C(s8*);
|
||||
|
||||
|
||||
#endif // _2E110_H_
|
||||
|
||||
@@ -17,7 +17,7 @@ extern u32 D_87806670[];
|
||||
extern u32 D_878065B0[];
|
||||
extern u32 D_87806730[];
|
||||
|
||||
s32 D_87806330 = 0;
|
||||
char** D_87806330 = NULL;
|
||||
|
||||
static s32 D_8780FA20;
|
||||
static s32 D_8780FA24;
|
||||
|
||||
@@ -8,7 +8,7 @@ typedef struct unk_func_87801684 {
|
||||
/* 0x04 */ s16 unk_04;
|
||||
} unk_func_87801684; // size = 0x8
|
||||
|
||||
extern s32 D_87806330;
|
||||
extern char** D_87806330;
|
||||
extern s16 D_87806338;
|
||||
extern u32* D_8780633C[];
|
||||
extern u32* D_8780634C[];
|
||||
|
||||
+3
-2
@@ -419,7 +419,7 @@
|
||||
- [0x7CD40, .rodata, 26820]
|
||||
- [0x7CEC0, .rodata, 29BA0]
|
||||
- [0x7CFD0, .rodata, 2C1C0]
|
||||
- [0x7D030, rodata, rom_rodata_7D030]
|
||||
- [0x7D030, .rodata, 2E110]
|
||||
- [0x7D040, rodata, rom_rodata_7D040]
|
||||
- [0x7D0F0, .rodata, 30640]
|
||||
- [0x7D110, rodata, rom_rodata_7D110]
|
||||
@@ -497,7 +497,8 @@
|
||||
- {vram: 0x800AC880, type: .bss, name: 20330}
|
||||
- {vram: 0x800AC890, type: bss, name: unk_bss_11}
|
||||
- {vram: 0x800AE520, type: .bss, name: 29BA0}
|
||||
- {vram: 0x800AF740, type: bss, name: unk_bss_7}
|
||||
- {vram: 0x800AF740, type: .bss, name: 2E110}
|
||||
- {vram: 0x800AF750, type: bss, name: unk_bss_7}
|
||||
- {vram: 0x800B32A0, type: .bss, name: 373A0}
|
||||
- {vram: 0x800FC7A0, type: .bss, name: 38BB0}
|
||||
- {vram: 0x800FC820, type: bss, name: unk_bss_12}
|
||||
|
||||
Reference in New Issue
Block a user