Skip to content

Commit 826a110

Browse files
committed
Merge branch 'master' of github.com:pret/pokestadium
2 parents 6e95355 + 5d69e32 commit 826a110

19 files changed

+260
-63
lines changed

include/macros.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@
5454
#define FRAGMENT_ID(fragment) ((((u32)fragment##_TEXT_START & 0x0FF00000) >> 0x14) - 0x10)
5555
#define ASSET_ID(asset) (((u32)asset & 0x0F000000) >> 0x18)
5656

57-
#define FRAGMENT_LOAD(load_func, fragment) ( \
58-
load_func(FRAGMENT_ID(fragment), fragment##_ROM_START, fragment##_relocs_ROM_END) \
57+
#define FRAGMENT_LOAD(fragment) ( \
58+
func_80004454(FRAGMENT_ID(fragment), fragment##_ROM_START, fragment##_relocs_ROM_END) \
5959
)
6060

6161
#define FRAGMENT_LOAD_AND_CALL(fragment, arg0, arg1) (\

include/sections.h

+17-3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
extern u8 fragment1_TEXT_START[];
66
extern u8 fragment1_ROM_START[];
77
extern u8 fragment1_ROM_END[];
8+
extern u8 fragment1_relocs_ROM_END[];
89

910
// fragment 2
1011
extern u8 fragment2_TEXT_START[];
@@ -28,16 +29,19 @@ extern u8 fragment4_relocs_ROM_END[];
2829
extern u8 fragment5_TEXT_START[];
2930
extern u8 fragment5_ROM_START[];
3031
extern u8 fragment5_ROM_END[];
32+
extern u8 fragment5_relocs_ROM_END[];
3133

3234
// fragment 6
3335
extern u8 fragment6_TEXT_START[];
3436
extern u8 fragment6_ROM_START[];
3537
extern u8 fragment6_ROM_END[];
38+
extern u8 fragment6_relocs_ROM_END[];
3639

3740
// fragment 7
3841
extern u8 fragment7_TEXT_START[];
3942
extern u8 fragment7_ROM_START[];
4043
extern u8 fragment7_ROM_END[];
44+
extern u8 fragment7_relocs_ROM_END[];
4145

4246
// fragment 8
4347
extern u8 fragment8_TEXT_START[];
@@ -49,26 +53,31 @@ extern u8 fragment8_relocs_ROM_END[];
4953
extern u8 fragment9_TEXT_START[];
5054
extern u8 fragment9_ROM_START[];
5155
extern u8 fragment9_ROM_END[];
56+
extern u8 fragment9_relocs_ROM_END[];
5257

5358
// fragment 10
5459
extern u8 fragment10_TEXT_START[];
5560
extern u8 fragment10_ROM_START[];
5661
extern u8 fragment10_ROM_END[];
62+
extern u8 fragment10_relocs_ROM_END[];
5763

5864
// fragment 11
5965
extern u8 fragment11_TEXT_START[];
6066
extern u8 fragment11_ROM_START[];
6167
extern u8 fragment11_ROM_END[];
68+
extern u8 fragment11_relocs_ROM_END[];
6269

6370
// fragment 12
6471
extern u8 fragment12_TEXT_START[];
6572
extern u8 fragment12_ROM_START[];
6673
extern u8 fragment12_ROM_END[];
74+
extern u8 fragment12_relocs_ROM_END[];
6775

6876
// fragment 13
6977
extern u8 fragment13_TEXT_START[];
7078
extern u8 fragment13_ROM_START[];
7179
extern u8 fragment13_ROM_END[];
80+
extern u8 fragment13_relocs_ROM_END[];
7281

7382
// fragment 14
7483
extern u8 fragment14_TEXT_START[];
@@ -104,21 +113,25 @@ extern u8 fragment18_relocs_ROM_END[];
104113
extern u8 fragment19_TEXT_START[];
105114
extern u8 fragment19_ROM_START[];
106115
extern u8 fragment19_ROM_END[];
116+
extern u8 fragment19_relocs_ROM_END[];
107117

108118
// fragment 20
109119
extern u8 fragment20_TEXT_START[];
110120
extern u8 fragment20_ROM_START[];
111121
extern u8 fragment20_ROM_END[];
122+
extern u8 fragment20_relocs_ROM_END[];
112123

113124
// fragment 21
114125
extern u8 fragment21_TEXT_START[];
115126
extern u8 fragment21_ROM_START[];
116127
extern u8 fragment21_ROM_END[];
128+
extern u8 fragment21_relocs_ROM_END[];
117129

118130
// fragment 22
119131
extern u8 fragment22_TEXT_START[];
120132
extern u8 fragment22_ROM_START[];
121133
extern u8 fragment22_ROM_END[];
134+
extern u8 fragment22_relocs_ROM_END[];
122135

123136
// fragment 23
124137
extern u8 fragment23_TEXT_START[];
@@ -179,6 +192,7 @@ extern u8 fragment33_TEXT_START[];
179192
extern u8 fragment33_ROM_START[];
180193
extern u8 fragment33_ROM_END[];
181194
extern u8 fragment33_relocs_ROM_END[];
195+
extern u8 fragment33_misc_ROM_START[];
182196

183197
// fragment 34
184198
extern u8 fragment34_TEXT_START[];
@@ -214,6 +228,7 @@ extern u8 fragment38_relocs_ROM_END[];
214228
extern u8 fragment39_TEXT_START[];
215229
extern u8 fragment39_ROM_START[];
216230
extern u8 fragment39_ROM_END[];
231+
extern u8 fragment39_relocs_ROM_END[];
217232

218233
// fragment 40
219234
extern u8 fragment40_TEXT_START[];
@@ -225,6 +240,7 @@ extern u8 fragment40_relocs_ROM_END[];
225240
extern u8 fragment41_TEXT_START[];
226241
extern u8 fragment41_ROM_START[];
227242
extern u8 fragment41_ROM_END[];
243+
extern u8 fragment41_relocs_ROM_END[];
228244

229245
// fragment 42
230246
extern u8 fragment42_TEXT_START[];
@@ -479,11 +495,9 @@ extern u8 _6C4E50_ROM_END[];
479495

480496
extern u8 D_124570[];
481497

482-
extern u32 fragment1_relocs_ROM_END[];
483-
484498
extern u8 _675FA0_ROM_START[];
485499
extern u8 _675FA0_ROM_END[];
486-
500+
extern u8 _696350_ROM_START[];
487501
extern u8 textdata_ROM_START[]; // 783760
488502
extern u8 textdata_ROM_END[]; // 783760
489503

src/22630.h

+1
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ void func_800238D8(UNUSED MainPoolBlock* arg0, u32 arg1);
8686
void func_80023990(s32 arg0);
8787
s32 func_80023A04(s32 arg0);
8888
void func_80023AF8(s32);
89+
void func_80023D60(s32);
8990
void func_80023F78(s32 arg0);
9091
void func_80024040(s32 arg0);
9192
s32 func_800240A0(void);

src/29BA0.c

+22-22
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ s32 func_800290E4(s16 arg0) {
9797

9898
main_pool_push_state('Demo');
9999

100-
FRAGMENT_LOAD(func_80004454, fragment34);
101-
FRAGMENT_LOAD(func_80004454, fragment2);
102-
FRAGMENT_LOAD(func_80004454, fragment3);
100+
FRAGMENT_LOAD(fragment34);
101+
FRAGMENT_LOAD(fragment2);
102+
FRAGMENT_LOAD(fragment3);
103103

104104
D_800AE540.unk_0000 = arg0;
105105

@@ -113,9 +113,9 @@ s32 func_800290E4(s16 arg0) {
113113
void func_800291E0(void) {
114114
main_pool_push_state('demo');
115115

116-
FRAGMENT_LOAD(func_80004454, fragment34);
117-
FRAGMENT_LOAD(func_80004454, fragment2);
118-
FRAGMENT_LOAD(func_80004454, fragment3);
116+
FRAGMENT_LOAD(fragment34);
117+
FRAGMENT_LOAD(fragment2);
118+
FRAGMENT_LOAD(fragment3);
119119

120120
if (D_800AE540.unk_11F2 != 0) {
121121
FRAGMENT_LOAD_AND_CALL(fragment16, 0, 0);
@@ -149,26 +149,26 @@ void func_800293CC(void) {
149149
main_pool_push_state('DEMO');
150150

151151
if (D_800AE540.unk_0000 == 0x10) {
152-
FRAGMENT_LOAD(func_80004454, fragment34);
152+
FRAGMENT_LOAD(fragment34);
153153
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
154154
} else {
155155
ASSET_LOAD(D_3000000, _675FA0, 0);
156-
FRAGMENT_LOAD(func_80004454, fragment2);
157-
FRAGMENT_LOAD(func_80004454, fragment34);
156+
FRAGMENT_LOAD(fragment2);
157+
FRAGMENT_LOAD(fragment34);
158158

159159
switch (D_800AE540.unk_0003) {
160160
case 3:
161-
FRAGMENT_LOAD(func_80004454, fragment4);
161+
FRAGMENT_LOAD(fragment4);
162162
FRAGMENT_LOAD_AND_CALL(fragment8, 1, 0);
163163
break;
164164

165165
case 9:
166-
FRAGMENT_LOAD(func_80004454, fragment3);
166+
FRAGMENT_LOAD(fragment3);
167167
FRAGMENT_LOAD_AND_CALL(fragment14, 1, 0);
168168
break;
169169

170170
case 13:
171-
FRAGMENT_LOAD(func_80004454, fragment3);
171+
FRAGMENT_LOAD(fragment3);
172172
FRAGMENT_LOAD_AND_CALL(fragment18, 1, 0);
173173
break;
174174
}
@@ -198,7 +198,7 @@ void func_800296E0(void) {
198198
func_80005E40(0x10000, 0);
199199
temp_s0 = func_80007444(1, 1, 2, 0, 2, 1);
200200

201-
FRAGMENT_LOAD(func_80004454, fragment34);
201+
FRAGMENT_LOAD(fragment34);
202202
func_80007678(temp_s0);
203203
FRAGMENT_LOAD_AND_CALL2(fragment67, 1, 0);
204204

@@ -302,7 +302,7 @@ void func_80029BC0(void) {
302302

303303
main_pool_push_state('STAD');
304304

305-
FRAGMENT_LOAD(func_80004454, fragment34);
305+
FRAGMENT_LOAD(fragment34);
306306
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
307307

308308
main_pool_pop_state('STAD');
@@ -400,7 +400,7 @@ void func_8002A06C(void) {
400400

401401
main_pool_push_state('FREE');
402402

403-
FRAGMENT_LOAD(func_80004454, fragment34);
403+
FRAGMENT_LOAD(fragment34);
404404
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
405405

406406
main_pool_pop_state('FREE');
@@ -476,7 +476,7 @@ void func_8002A400(void) {
476476

477477
main_pool_push_state('STAD');
478478

479-
FRAGMENT_LOAD(func_80004454, fragment34);
479+
FRAGMENT_LOAD(fragment34);
480480
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
481481

482482
main_pool_pop_state('STAD');
@@ -633,7 +633,7 @@ void func_8002AAA8(void) {
633633

634634
main_pool_push_state('STAD');
635635

636-
FRAGMENT_LOAD(func_80004454, fragment34);
636+
FRAGMENT_LOAD(fragment34);
637637
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
638638

639639
main_pool_pop_state('STAD');
@@ -681,7 +681,7 @@ void func_8002ADE8(s32 arg0) {
681681

682682
main_pool_push_state('FIGT');
683683

684-
FRAGMENT_LOAD(func_80004454, fragment34);
684+
FRAGMENT_LOAD(fragment34);
685685
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
686686

687687
main_pool_pop_state('FIGT');
@@ -701,7 +701,7 @@ void func_8002AF38(void) {
701701

702702
main_pool_push_state('FIGT');
703703

704-
FRAGMENT_LOAD(func_80004454, fragment34);
704+
FRAGMENT_LOAD(fragment34);
705705
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
706706

707707
main_pool_pop_state('FIGT');
@@ -720,10 +720,10 @@ void func_8002B07C(void) {
720720

721721
main_pool_push_state('DOSE');
722722

723-
frag_43_entry = FRAGMENT_LOAD(func_80004454, fragment43);
723+
frag_43_entry = FRAGMENT_LOAD(fragment43);
724724
frag_43_entry();
725725

726-
FRAGMENT_LOAD(func_80004454, fragment34);
726+
FRAGMENT_LOAD(fragment34);
727727
FRAGMENT_LOAD_AND_CALL(fragment75, 0, 0);
728728

729729
gCurrentGameState = STATE_TITLE_SCREEN;
@@ -737,7 +737,7 @@ void func_8002B180(void) {
737737
func_8002BC64(1, 0, 2, 0);
738738
func_800367A0(0xA0, 0xA, 0);
739739

740-
FRAGMENT_LOAD(func_80004454, fragment34);
740+
FRAGMENT_LOAD(fragment34);
741741
FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540);
742742

743743
main_pool_pop_state('STAD');

src/2E110.c

+9-7
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@
22
#include "src/3FB0.h"
33
#include "src/memory.h"
44

5+
#define D_800AF740_NUM_FILES 42
6+
57
static BinArchive* D_800AF740;
6-
static char** D_800AF744;
8+
static s32* D_800AF744;
79

810
void func_8002D510(void) {
911
s32 i;
1012

1113
D_800AF740 = func_800044F4(textdata_ROM_START, NULL, 1, 0);
12-
D_800AF744 = main_pool_alloc(0xA8, 0);
14+
D_800AF744 = main_pool_alloc(D_800AF740_NUM_FILES * sizeof(s32), 0);
1315

14-
for (i = 0; i < 42; i++) {
15-
D_800AF744[i] = NULL;
16+
for (i = 0; i < D_800AF740_NUM_FILES; i++) {
17+
D_800AF744[i] = 0;
1618
}
1719
}
1820

@@ -58,9 +60,9 @@ void func_8002D628(char* arg0, u32 arg1, s8* arg2) {
5860
if (temp_v0 == 0x23) {
5961
temp_v0 = *arg2++;
6062

61-
temp_v0 -= 0x30;
62-
temp_v0 = (*arg2++ + (temp_v0 * 10)) - 0x30;
63-
if ((temp_v0 > 0) && (temp_v0 < 0xA)) {
63+
temp_v0 -= '0';
64+
temp_v0 = (*arg2++ + (temp_v0 * 10)) - '0';
65+
if ((temp_v0 > 0) && (temp_v0 < 10)) {
6466
sprintf(&sp58, "%d", D_800AF744[temp_v0]);
6567
var_s4 = &sp58;
6668
var_s2 = 1;

0 commit comments

Comments
 (0)