Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

Commit 8e73a86

Browse files
committed
Move data_0_5_3 to C
1 parent 1df1326 commit 8e73a86

4 files changed

Lines changed: 40 additions & 68 deletions

File tree

data/data_0_5_3.s

Lines changed: 0 additions & 31 deletions
This file was deleted.

ldscript.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ SECTIONS {
349349
src/game/character_select.o(.rodata);
350350
src/game/special_stage/game_2_0.o(.rodata);
351351
src/game/game_2_1.o(.rodata);
352-
data/data_0_5_3.o(.rodata);
352+
src/game/staff_credits.o(.rodata);
353353
src/data/credits.o(.rodata);
354354
data/data_sound_test.o(.rodata);
355355
src/game/sound_test.o(.rodata);

src/game/game_2_1.c

Lines changed: 30 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
#include "constants/ui_graphics.h"
1414
#include "constants/vram_hardcoded.h"
15+
#include "constants/songs.h"
1516
#include "constants/zones.h"
1617

1718
typedef struct Game_2_1_2C {
@@ -60,12 +61,6 @@ void sub_805D4F0(void);
6061
void TaskDestructor_805E1E4(struct Task *t);
6162

6263
extern u8 gUnknown_08487134[NUM_TIME_ATTACK_ZONES * ACTS_PER_ZONE];
63-
extern const char gUnknown_08688688[1]; // TODO: Inline as string!
64-
extern const char gUnknown_0868868C[3]; // TODO: Inline as string!
65-
extern const char gUnknown_08688690[3]; // TODO: Inline as string!
66-
extern const char gUnknown_08688694[3]; // TODO: Inline as string!
67-
extern const char gUnknown_08688698[3]; // TODO: Inline as string!
68-
extern const char gUnknown_0868869C[3]; // TODO: Inline as string!
6964

7065
void sub_805C900(u8 arg0)
7166
{
@@ -303,7 +298,7 @@ NONMATCH("asm/non_matching/game/game2_1__sub_805D048.inc", void sub_805D048(u8 a
303298
gBgScrollRegs[3][1] = 0;
304299

305300
if (gSpecialStageCollectedRings >= gSpecialStageTargetRings) {
306-
m4aSongNumStart(0x2FU);
301+
m4aSongNumStart(MUS_047);
307302
sp24 = 1;
308303
sp20 = 0x2710;
309304
if (GetBit(LOADED_SAVE->chaosEmeralds, gUnknown_08487134[gCurrentLevel])) {
@@ -313,7 +308,7 @@ NONMATCH("asm/non_matching/game/game2_1__sub_805D048.inc", void sub_805D048(u8 a
313308
var_r8 = 0;
314309
}
315310
} else {
316-
m4aSongNumStart(0x2EU);
311+
m4aSongNumStart(MUS_SPECIAL_STAGE_RESULT_LOSE);
317312
var_r8 = 0;
318313
sp24 = 0;
319314
sp20 = 0;
@@ -831,7 +826,7 @@ void sub_805D9E4()
831826
} else {
832827
strc34->u.strc0.byteCount = 1;
833828
strc34->u.strc0.unkA = (0xBB - var_r6);
834-
sub_8052F78((const char *)&gUnknown_08688688[0], &strc34->u.overB);
829+
sub_8052F78(" ", &strc34->u.overB);
835830
}
836831
} else {
837832
s32 divResB = Div((s32)strc34->u.strc0.unk2, 25);
@@ -845,7 +840,7 @@ void sub_805D9E4()
845840
} else {
846841
strc34->u.strc0.byteCount = 1;
847842
strc34->u.strc0.unkA = 0xB7U;
848-
sub_8052C84((const char *)&gUnknown_08688688[0], &strc34->u.strc0);
843+
sub_8052C84(" ", &strc34->u.strc0);
849844
}
850845
}
851846
strc34->u.strc0.unkA = temp_r7;
@@ -874,7 +869,7 @@ void Task_805DB04(void)
874869
strc34->u.overB.unkE = 0;
875870
strc34->u.overB.qUnkA = -0x80;
876871
} else {
877-
sub_8052F78((const char *)&gUnknown_0868868C[0], &strc34->u.overB);
872+
sub_8052F78("&'(", &strc34->u.overB);
878873
}
879874

880875
sub_805D9E4();
@@ -885,11 +880,11 @@ void Task_805DB04(void)
885880
strc34->u.strc0.unk2 = 0x100;
886881
strc34->u.strc0.unkA = 0x29;
887882
strc34->u.strc0.unkC = 0x6D;
888-
sub_8052F78((const char *)&gUnknown_0868868C[0], &strc34->u.overB);
883+
sub_8052F78("&'(", &strc34->u.overB);
889884
} else {
890885
strc34->u.strc0.unkA = 0x19U;
891886
strc34->u.strc0.unkC = (0x77 - (strc34->u.strc0.unk2 >> 4));
892-
sub_8052C84((const char *)&gUnknown_0868868C[0], &strc34->u.strc0);
887+
sub_8052C84("&'(", &strc34->u.strc0);
893888
}
894889

895890
sub_805D9E4();
@@ -902,7 +897,7 @@ void Task_805DB04(void)
902897
strc34->u.strc0.unk2 = 0x100;
903898
}
904899

905-
sub_8052C84((const char *)&gUnknown_0868868C[0], &strc34->u.strc0);
900+
sub_8052C84("&'(", &strc34->u.strc0);
906901
sub_805D9E4();
907902
}
908903
}
@@ -955,7 +950,7 @@ void sub_805DBF0(void)
955950
} else {
956951
strc34->u.strc0.byteCount = 1;
957952
strc34->u.strc0.unkA = (0xBB - var_r6);
958-
sub_8052F78((const char *)&gUnknown_08688688[0], &strc34->u.overB);
953+
sub_8052F78(" ", &strc34->u.overB);
959954
}
960955
} else {
961956
s32 divResB = Div((s32)strc34->u.strc0.unk2, 25);
@@ -969,7 +964,7 @@ void sub_805DBF0(void)
969964
} else {
970965
strc34->u.strc0.byteCount = 1;
971966
strc34->u.strc0.unkA = 0xB7U;
972-
sub_8052C84((const char *)&gUnknown_08688688[0], &strc34->u.strc0);
967+
sub_8052C84(" ", &strc34->u.strc0);
973968
}
974969
}
975970
strc34->u.strc0.unkA = temp_r7;
@@ -998,7 +993,7 @@ void Task_805DD10(void)
998993
strc34->u.overB.unkE = 0;
999994
strc34->u.overB.qUnkA = -0x80;
1000995
} else {
1001-
sub_8052F78((const char *)&gUnknown_08688690[0], &strc34->u.overB);
996+
sub_8052F78("#$%", &strc34->u.overB);
1002997
}
1003998

1004999
sub_805DBF0();
@@ -1009,11 +1004,11 @@ void Task_805DD10(void)
10091004
strc34->u.strc0.unk2 = 0x100;
10101005
strc34->u.strc0.unkA = 0x29;
10111006
strc34->u.strc0.unkC = 0x5B;
1012-
sub_8052F78((const char *)&gUnknown_08688690[0], &strc34->u.overB);
1007+
sub_8052F78("#$%", &strc34->u.overB);
10131008
} else {
10141009
strc34->u.strc0.unkA = 0x19U;
10151010
strc34->u.strc0.unkC = (0x65 - (strc34->u.strc0.unk2 >> 4));
1016-
sub_8052C84((const char *)&gUnknown_08688690[0], &strc34->u.strc0);
1011+
sub_8052C84("#$%", &strc34->u.strc0);
10171012
}
10181013

10191014
sub_805DBF0();
@@ -1026,7 +1021,7 @@ void Task_805DD10(void)
10261021
strc34->u.strc0.unk2 = 0x100;
10271022
}
10281023

1029-
sub_8052C84((const char *)&gUnknown_08688690[0], &strc34->u.strc0);
1024+
sub_8052C84("#$%", &strc34->u.strc0);
10301025
sub_805DBF0();
10311026
}
10321027
}
@@ -1080,7 +1075,7 @@ void sub_805DE0C(void)
10801075
} else {
10811076
strc34->u.strc0.byteCount = 1;
10821077
strc34->u.strc0.unkA = (0xBB - var_r6);
1083-
sub_8052F78((const char *)&gUnknown_08688688[0], &strc34->u.overB);
1078+
sub_8052F78(" ", &strc34->u.overB);
10841079
}
10851080
} else {
10861081
s32 divResB = Div((s32)strc34->u.strc0.unk2, 25);
@@ -1094,7 +1089,7 @@ void sub_805DE0C(void)
10941089
} else {
10951090
strc34->u.strc0.byteCount = 1;
10961091
strc34->u.strc0.unkA = 0xB7U;
1097-
sub_8052C84((const char *)&gUnknown_08688688[0], &strc34->u.strc0);
1092+
sub_8052C84(" ", &strc34->u.strc0);
10981093
}
10991094
}
11001095
strc34->u.strc0.unkA = temp_r7;
@@ -1122,7 +1117,7 @@ void Task_805DF2C(void)
11221117
strc34->u.overB.unkE = 0;
11231118
strc34->u.overB.qUnkA = -0x80;
11241119
} else {
1125-
sub_8052F78((const char *)&gUnknown_08688694[0], &strc34->u.overB);
1120+
sub_8052F78(" !\"", &strc34->u.overB);
11261121
}
11271122

11281123
sub_805DE0C();
@@ -1133,11 +1128,11 @@ void Task_805DF2C(void)
11331128
strc34->u.strc0.unk2 = 0x100;
11341129
strc34->u.strc0.unkA = 0x29;
11351130
strc34->u.strc0.unkC = 0x49;
1136-
sub_8052F78((const char *)&gUnknown_08688694[0], &strc34->u.overB);
1131+
sub_8052F78(" !\"", &strc34->u.overB);
11371132
} else {
11381133
strc34->u.strc0.unkA = 0x19U;
11391134
strc34->u.strc0.unkC = (0x53 - (strc34->u.strc0.unk2 >> 4));
1140-
sub_8052C84((const char *)&gUnknown_08688694[0], &strc34->u.strc0);
1135+
sub_8052C84(" !\"", &strc34->u.strc0);
11411136
}
11421137

11431138
sub_805DE0C();
@@ -1150,7 +1145,7 @@ void Task_805DF2C(void)
11501145
strc34->u.strc0.unk2 = 0x100;
11511146
}
11521147

1153-
sub_8052C84((const char *)&gUnknown_08688694[0], &strc34->u.strc0);
1148+
sub_8052C84(" !\"", &strc34->u.strc0);
11541149
sub_805DE0C();
11551150
}
11561151
}
@@ -1189,13 +1184,13 @@ void sub_805E018()
11891184
if (GetBit(strc34->unk29, i)) {
11901185
strc34->u.overB.unk12 = (u16)(0xD - (i >> 1));
11911186
if (i & 1) {
1192-
sub_8052F78((void *)&gUnknown_08688698[0], &strc34->u.overB);
1187+
sub_8052F78("!", &strc34->u.overB);
11931188
} else {
1194-
sub_8052F78((void *)&gUnknown_08688688[0], &strc34->u.overB);
1189+
sub_8052F78(" ", &strc34->u.overB);
11951190
}
11961191
} else {
11971192
strc34->u.overB.unk12 = 0xB;
1198-
sub_8052F78((void *)&gUnknown_0868869C[0], &strc34->u.overB);
1193+
sub_8052F78("\"", &strc34->u.overB);
11991194
}
12001195
}
12011196
}
@@ -1205,13 +1200,13 @@ void sub_805E018()
12051200
if ((strc34->unk29 >> i) & 1) {
12061201
strc34->u.overB.unk12 = (13 - (i >> 1));
12071202
if (i & 1) {
1208-
sub_8052F78((const char *)&gUnknown_08688698[0], &strc34->u.overB);
1203+
sub_8052F78("!", &strc34->u.overB);
12091204
} else {
1210-
sub_8052F78((const char *)&gUnknown_08688688[0], &strc34->u.overB);
1205+
sub_8052F78(" ", &strc34->u.overB);
12111206
}
12121207
} else {
12131208
strc34->u.overB.unk12 = 0xB;
1214-
sub_8052F78((const char *)&gUnknown_0868869C[0], &strc34->u.overB);
1209+
sub_8052F78("\"", &strc34->u.overB);
12151210
}
12161211
}
12171212
} else if (temp_r1 > 0x31U) {
@@ -1228,13 +1223,13 @@ void sub_805E018()
12281223
if ((strc34->unk29 >> i) & 1) {
12291224
strc34->u.overB.unk12 = (u16)(0xD - (i >> 1));
12301225
if (i & 1) {
1231-
sub_8052F78((const char *)&gUnknown_08688698[0], &strc34->u.overB);
1226+
sub_8052F78("!", &strc34->u.overB);
12321227
} else {
1233-
sub_8052F78((const char *)&gUnknown_08688688[0], &strc34->u.overB);
1228+
sub_8052F78(" ", &strc34->u.overB);
12341229
}
12351230
} else {
12361231
strc34->u.overB.unk12 = 0xB;
1237-
sub_8052F78((const char *)&gUnknown_0868869C[0], &strc34->u.overB);
1232+
sub_8052F78("\"", &strc34->u.overB);
12381233
}
12391234
}
12401235
}

src/game/staff_credits.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,15 @@
1515
#include "constants/vram_hardcoded.h"
1616

1717
extern const u8 gUnknown_0868483C[0x500];
18-
extern const u16 gUnknown_086886A0[12];
18+
19+
const ALIGNED(4) u16 gUnknown_086886A0[12] = {
20+
22, 0, //
21+
79, 0, //
22+
139, 0, //
23+
322, 0, //
24+
322, 0, //
25+
322, 0, //
26+
};
1927

2028
typedef struct StaffCredits {
2129
/* 0x00 */ Sprite s;

0 commit comments

Comments
 (0)