move more data to src

This commit is contained in:
Seth Barberee 2024-03-17 11:26:00 -07:00
parent d2d712aaa6
commit 9abab93ad3
7 changed files with 258 additions and 371 deletions

View File

@ -1647,248 +1647,8 @@ gWindowBGColors: @ 8109954
.global gUnknown_8109984
gUnknown_8109984: @ 8109984
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x01, 0x00
@ ???
.string "pksdir0\0"
.align 2,0
.global gStoryMissionText
gStoryMissionText: @ 8109994
@ replacing .incbin "baserom.gba", 0x109994, 0x314
.4byte gUnknown_8109C94
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109C80
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109C70
.byte 0x00, 0x01, 0x00, 0x00
.4byte gUnknown_8109C60
.byte 0x02, 0x03, 0x00, 0x00
.4byte gUnknown_8109C4C
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109C3C
.byte 0x04, 0x05, 0x00, 0x00
.4byte gUnknown_8109C30
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109C24
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109C24
.byte 0x06, 0x07, 0x00, 0x00
.4byte gUnknown_8109C24
.byte 0x08, 0x09, 0x00, 0x00
.4byte gUnknown_8109C14
.byte 0xff, 0x0a, 0x00, 0x00
.4byte gUnknown_8109C00
.byte 0x0b, 0x0c, 0x00, 0x00
.4byte gUnknown_8109BE8
.byte 0x0e, 0x0f, 0x00, 0x00
.4byte gUnknown_8109BC8
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109BB4
.byte 0x10, 0x11, 0x00, 0x00
.4byte gUnknown_8109BA0
.byte 0xff, 0x21, 0x00, 0x00
.4byte gUnknown_8109B8C
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109B78
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109B60
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109C30
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109B4C
.byte 0x14, 0x15, 0x00, 0x00
.4byte gUnknown_8109B38
.byte 0x16, 0x17, 0x00, 0x00
.4byte gUnknown_8109B24
.byte 0x18, 0x19, 0x00, 0x00
.4byte gUnknown_8109B10
.byte 0xff, 0x1a, 0x00, 0x00
.4byte gUnknown_8109AF8
.byte 0x12, 0x13, 0x00, 0x00
.4byte gUnknown_8109AE8
.byte 0x1b, 0x1c, 0x00, 0x00
.4byte gUnknown_8109AD8
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109AC4
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109AB0
.byte 0xff, 0x20, 0x00, 0x00
.4byte gUnknown_8109C14
.byte 0xff, 0xff, 0x00, 0x00
.4byte gUnknown_8109A94
.byte 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00
.global gUnknown_8109A94
gUnknown_8109A94: @ 8109A94
.string "Break Gardevoir{APOSTROPHE}s curse.\0"
.align 2, 0
.global gUnknown_8109AB0
gUnknown_8109AB0: @ 8109AB0
.string "Rescue Medicham.\0"
.align 2, 0
.global gUnknown_8109AC4
gUnknown_8109AC4: @ 8109AC4
.string "Investigate Relic.\0"
.align 2, 0
.global gUnknown_8109AD8
gUnknown_8109AD8: @ 8109AD8
.string "Rescue Latias.\0"
.align 2, 0
.global gUnknown_8109AE8
gUnknown_8109AE8: @ 8109AE8
.string "Catch thief.\0"
.align 2, 0
.global gUnknown_8109AF8
gUnknown_8109AF8: @ 8109AF8
.string "Meet toughest Pokémon.\0"
.align 2, 0
.global gUnknown_8109B10
gUnknown_8109B10: @ 8109B10
.string "Mirage Pokémon 4\0"
.align 2, 0
.global gUnknown_8109B24
gUnknown_8109B24: @ 8109B24
.string "Mirage Pokémon 3\0"
.align 2, 0
.global gUnknown_8109B38
gUnknown_8109B38: @ 8109B38
.string "Mirage Pokémon 2\0"
.align 2, 0
.global gUnknown_8109B4C
gUnknown_8109B4C: @ 8109B4C
.string "Mirage Pokémon 1\0"
.align 2, 0
.global gUnknown_8109B60
gUnknown_8109B60: @ 8109B60
.string "Check mystery Pokémon.\0"
.align 2, 0
.global gUnknown_8109B78
gUnknown_8109B78: @ 8109B78
.string "Meet sea guardian.\0"
.align 2, 0
.global gUnknown_8109B8C
gUnknown_8109B8C: @ 8109B8C
.string "Explore seafloor.\0"
.align 2, 0
.global gUnknown_8109BA0
gUnknown_8109BA0: @ 8109BA0
.string "Rescue Smeargle.\0"
.align 2, 0
.global gUnknown_8109BB4
gUnknown_8109BB4: @ 8109BB4
.string "Punish bad Mankey.\0"
.align 2, 0
.global gUnknown_8109BC8
gUnknown_8109BC8: @ 8109BC8
.string "{COLOR_1 YELLOW_3}Scenario Progress Dummy{END_COLOR_TEXT_1}\0"
.align 2, 0
.global gUnknown_8109BE8
gUnknown_8109BE8: @ 8109BE8
.string "Seek Rayquaza{APOSTROPHE}s help.\0"
.align 2, 0
.global gUnknown_8109C00
gUnknown_8109C00: @ 8109C00
.string "Rescue Alakazam.\0"
.align 2, 0
.global gUnknown_8109C14
gUnknown_8109C14: @ 8109C14
.string "Meet Ninetales.\0"
.align 2, 0
.global gUnknown_8109C24
gUnknown_8109C24: @ 8109C24
.string "Fugitive\0"
.align 2, 0
.global gUnknown_8109C30
gUnknown_8109C30: @ 8109C30
.string "Meet Xatu.\0"
.align 2, 0
.global gUnknown_8109C3C
gUnknown_8109C3C: @ 8109C3C
.string "Rescue Shiftry.\0"
.align 2, 0
.global gUnknown_8109C4C
gUnknown_8109C4C: @ 8109C4C
.string "Rescue Jumpluff.\0"
.align 2, 0
.global gUnknown_8109C60
gUnknown_8109C60: @ 8109C60
.string "Rescue Metapod.\0"
.align 2, 0
.global gUnknown_8109C70
gUnknown_8109C70: @ 8109C70
.string "Rescue Diglett.\0"
.align 2, 0
.global gUnknown_8109C80
gUnknown_8109C80: @ 8109C80
.string "Rescue Magnemite.\0"
.align 2, 0
.global gUnknown_8109C94
gUnknown_8109C94: @ 8109C94
.string "Rescue Caterpie.\0"
.align 2, 0
.global gDummyScenarioText
gDummyScenarioText: @ 8109CA8
.string "{COLOR_1 YELLOW_3}Scenario try dummy{END_COLOR_TEXT_1}\0"
.align 2,0
.global gUnknown_8109CC0
gUnknown_8109CC0: @ 8109CC0
.string "{COLOR_1 RED_2}???{END_COLOR_TEXT_1}\0"
.align 2,0
@ code_80972F4.c
.string "pksdir0\0"
.global gMeetNinetalesText
gMeetNinetalesText: @ 8109CD4
.string "Meet Ninetales.\0"
.align 2,0
.global gAvoidCaptureText
gAvoidCaptureText: @ 8109CE4
.string "Avoid capture.\0"
.align 2,0
.global gFinalScenarioText
gFinalScenarioText: @ 8109CF4
@ replacing .incbin "baserom.gba", 0x109CF4, 0x3C
.string "Defeat the final Pokémon.\0"
.align 2, 0
@ ???
.string "pksdir0\0"
@ ???
.string "pksdir0\0"
@ ???
.string "pksdir0\0"
@ ???.c
.string "pksdir0\0"
@ 8109D30
#include "dungeon/dungeon_data.inc"
.align 2,0

15
data/data_8109D10.s Normal file
View File

@ -0,0 +1,15 @@
.section .rodata
@ ???
.string "pksdir0\0"
@ ???
.string "pksdir0\0"
@ ???
.string "pksdir0\0"
@ ???.c
.string "pksdir0\0"
@ 8109D30
#include "dungeon/dungeon_data.inc"
.align 2,0

View File

@ -6,7 +6,7 @@
// size: 0x8
typedef struct MissionText
{
/* 0x0 */ u8 *text;
/* 0x0 */ const u8 *text;
u8 unk4;
u8 unk5;
u8 unk6;
@ -26,4 +26,4 @@ const u8 *sub_80975DC(u32);
//bool8 sub_8097384(s16);
//bool8 sub_80973F4(s16);
#endif // GUARD_CODE_80972F4_H
#endif // GUARD_CODE_80972F4_H

View File

@ -322,6 +322,7 @@ SECTIONS {
src/code_80958E8_1.o(.text);
asm/code_8096AF8.o(.text);
src/code_80972F4.o(.text);
src/code_8097504.o(.text);
src/code_8097670.o(.text);
asm/code_8097670.o(.text);
src/code_8097DD0.o(.text);
@ -545,6 +546,9 @@ SECTIONS {
src/dungeon_capabilities.o(.rodata);
src/dungeon_ai_targeting.o(.rodata);
data/data_8107010.o(.rodata);
src/code_80972F4.o(.rodata);
src/code_8097504.o(.rodata);
data/data_8109D10.o(.rodata);
src/pokemon_3.o(.rodata);
src/items.o(.rodata);
src/code_8048480.o(.rodata);

View File

@ -8,12 +8,10 @@
#include "code_80A26CC.h"
#include "code_80972F4.h"
extern MissionText gStoryMissionText[];
extern const char gFinalScenarioText[];
extern const char gMeetNinetalesText[];
extern const char gAvoidCaptureText[];
extern const u8 gUnknown_8109CC0[];
extern const u8 gDummyScenarioText[];
#include "data/story_missions.h"
ALIGNED(4) const u8 gDummyScenarioText[] = _("{COLOR_1 YELLOW_3}Scenario try dummy{END_COLOR_TEXT_1}");
ALIGNED(4) const u8 gBlankMission[] = _("{COLOR_1 RED_2}???{END_COLOR_TEXT_1}");
extern void sub_800199C(u8, u8, u16, s32);
extern void SaveDungeonLocation(struct unkStruct_8094924*, DungeonLocation*);
@ -392,7 +390,7 @@ void sub_8097418(s16 index,bool32 param_2)
bool8 param_2_u8 = param_2;
if (index_s32 != 0xd) {
if ((param_2_u8) && (sub_800199C(0,0x2c,index_s32,0), index_s32 < 0x1f)) {
MissionText *mt = &gStoryMissionText[index_s32];
const MissionText *mt = &gStoryMissionText[index_s32];
if (mt->unk4 != 0xFF) {
sub_8097FA8(mt->unk4);
}
@ -436,12 +434,12 @@ const u8 *GetCurrentMissionText(s16 index)
{
if(index < 0x1F)
{
MissionText *mt = &gStoryMissionText[index];
const MissionText *mt = &gStoryMissionText[index];
return mt->text;
}
else
{
return gUnknown_8109CC0;
return gBlankMission;
}
}
@ -454,122 +452,3 @@ void sub_80974E8(void)
void nullsub_208(void)
{
}
bool8 sub_8097504(s16 mazeIndex)
{
s32 mazeIndex_s32;
#ifndef NONMATCHING
register s32 mazeIndex_s32_1 asm("r1");
#else
s32 mazeIndex_s32_1;
#endif
s32 uVar3;
mazeIndex_s32 = mazeIndex;
mazeIndex_s32_1 = mazeIndex_s32;
if(mazeIndex_s32 < 17)
{
switch(mazeIndex_s32) {
case 2:
case 10:
case 11:
case 12:
uVar3 = 14;
break;
case 0:
case 1:
case 5:
case 7:
case 9:
case 14:
uVar3 = 15;
break;
case 3:
case 4:
case 6:
case 8:
return TRUE;
case 13:
uVar3 = 6;
break;
default:
return TRUE;
}
}
else
{
if (mazeIndex_s32_1 > 22) return FALSE;
if (mazeIndex_s32_1 == 22) return FALSE;
if (mazeIndex_s32_1 == 21) return FALSE;
uVar3 = 6;
}
if (!sub_80023E4(uVar3)) {
return FALSE;
}
else {
return TRUE;
}
}
// TODO: this should probably be bool8 but can't get a match just yet
bool32 IsMazeCompleted(s16 mazeIndex)
{
bool32 mazeCompletion;
mazeCompletion = sub_8001784(0, 0x2e, mazeIndex);
if (mazeCompletion) {
mazeCompletion = TRUE;
}
return mazeCompletion;
}
void sub_80975A8(s16 param_1,u8 param_2)
{
u16 param_1_u16 = param_1;
sub_800199C(0,0x2e,param_1_u16,param_2);
}
const u8 *sub_80975C4(s16 index)
{
return GetDungeonName1(sub_80A2728(index));
}
const u8 *sub_80975DC(u32 r0)
{
// TODO: slight hack but matches
r0 <<= 16;
if((0xffe90000 + r0) >> 16 < 2)
if(sub_8001D08(0x3, 0xE, -1))
return gMeetNinetalesText;
else
return gAvoidCaptureText;
else
return gFinalScenarioText;
}
bool8 HasCompletedAllMazes(void)
{
s32 index;
for(index = 0; index < NUM_BASIC_DUNGEON_MAZE; index++)
{
if(!(bool8)IsMazeCompleted(index))
return FALSE;
}
return TRUE;
}
bool8 sub_8097640(void)
{
if(sub_8001784(0, 0x2E, 0x1F) == 0 && HasCompletedAllMazes())
{
sub_800199C(0, 0x2E, 0x1F, 1);
return TRUE;
}
else
{
return FALSE;
}
}

135
src/code_8097504.c Normal file
View File

@ -0,0 +1,135 @@
#include "global.h"
#include "globaldata.h"
#include "constants/dungeon.h"
#include "dungeon.h"
#include "event_flag.h"
#include "code_80A26CC.h"
ALIGNED(4) const char gMeetNinetalesText[] = "Meet Ninetales.";
ALIGNED(4) const char gAvoidCaptureText[] = "Avoid capture.";
ALIGNED(4) const char gFinalScenarioText[] = _("Defeat the final Pokémon.");
extern void sub_800199C(u8, u8, u16, s32);
extern u32 sub_8001784(u32, u32, u16);
extern void sub_80018D8(u8, u8, u32);
bool8 sub_8097504(s16 mazeIndex)
{
s32 mazeIndex_s32;
#ifndef NONMATCHING
register s32 mazeIndex_s32_1 asm("r1");
#else
s32 mazeIndex_s32_1;
#endif
s32 uVar3;
mazeIndex_s32 = mazeIndex;
mazeIndex_s32_1 = mazeIndex_s32;
if(mazeIndex_s32 < 17)
{
switch(mazeIndex_s32) {
case 2:
case 10:
case 11:
case 12:
uVar3 = 14;
break;
case 0:
case 1:
case 5:
case 7:
case 9:
case 14:
uVar3 = 15;
break;
case 3:
case 4:
case 6:
case 8:
return TRUE;
case 13:
uVar3 = 6;
break;
default:
return TRUE;
}
}
else
{
if (mazeIndex_s32_1 > 22) return FALSE;
if (mazeIndex_s32_1 == 22) return FALSE;
if (mazeIndex_s32_1 == 21) return FALSE;
uVar3 = 6;
}
if (!sub_80023E4(uVar3)) {
return FALSE;
}
else {
return TRUE;
}
}
// TODO: this should probably be bool8 but can't get a match just yet
bool32 IsMazeCompleted(s16 mazeIndex)
{
bool32 mazeCompletion;
mazeCompletion = sub_8001784(0, 0x2e, mazeIndex);
if (mazeCompletion) {
mazeCompletion = TRUE;
}
return mazeCompletion;
}
void sub_80975A8(s16 param_1,u8 param_2)
{
u16 param_1_u16 = param_1;
sub_800199C(0,0x2e,param_1_u16,param_2);
}
const u8 *sub_80975C4(s16 index)
{
return GetDungeonName1(sub_80A2728(index));
}
const u8 *sub_80975DC(u32 r0)
{
// TODO: slight hack but matches
r0 <<= 16;
if((0xffe90000 + r0) >> 16 < 2)
if(sub_8001D08(0x3, 0xE, -1))
return gMeetNinetalesText;
else
return gAvoidCaptureText;
else
return gFinalScenarioText;
}
bool8 HasCompletedAllMazes(void)
{
s32 index;
for(index = 0; index < NUM_BASIC_DUNGEON_MAZE; index++)
{
if(!(bool8)IsMazeCompleted(index))
return FALSE;
}
return TRUE;
}
bool8 sub_8097640(void)
{
if(sub_8001784(0, 0x2E, 0x1F) == 0 && HasCompletedAllMazes())
{
sub_800199C(0, 0x2E, 0x1F, 1);
return TRUE;
}
else
{
return FALSE;
}
}

94
src/data/story_missions.h Normal file
View File

@ -0,0 +1,94 @@
static const u8 gUnknown_8109C94[];
static const u8 gUnknown_8109C80[];
static const u8 gUnknown_8109C70[];
static const u8 gUnknown_8109C60[];
static const u8 gUnknown_8109C4C[];
static const u8 gUnknown_8109C3C[];
static const u8 gUnknown_8109C30[];
static const u8 gUnknown_8109C24[];
static const u8 gUnknown_8109C24[];
static const u8 gUnknown_8109C24[];
static const u8 gUnknown_8109C14[];
static const u8 gUnknown_8109C00[];
static const u8 gUnknown_8109BE8[];
static const u8 gUnknown_8109BC8[];
static const u8 gUnknown_8109BB4[];
static const u8 gUnknown_8109BA0[];
static const u8 gUnknown_8109B8C[];
static const u8 gUnknown_8109B78[];
static const u8 gUnknown_8109B60[];
static const u8 gUnknown_8109C30[];
static const u8 gUnknown_8109B4C[];
static const u8 gUnknown_8109B38[];
static const u8 gUnknown_8109B24[];
static const u8 gUnknown_8109B10[];
static const u8 gUnknown_8109AF8[];
static const u8 gUnknown_8109AE8[];
static const u8 gUnknown_8109AD8[];
static const u8 gUnknown_8109AC4[];
static const u8 gUnknown_8109AB0[];
static const u8 gUnknown_8109C14[];
static const u8 gUnknown_8109A94[];
static const MissionText gStoryMissionText[] = {
{ gUnknown_8109C94, -1, -1, 0, 0 },
{ gUnknown_8109C80, -1, -1, 0, 0 },
{ gUnknown_8109C70, 0, 1, 0, 0 },
{ gUnknown_8109C60, 2, 3, 0, 0 },
{ gUnknown_8109C4C, -1, -1, 0, 0 },
{ gUnknown_8109C3C, 4, 5, 0, 0 },
{ gUnknown_8109C30, -1, -1, 0, 0 },
{ gUnknown_8109C24, -1, -1, 0, 0 },
{ gUnknown_8109C24, 6, 7, 0, 0 },
{ gUnknown_8109C24, 8, 9, 0, 0 },
{ gUnknown_8109C14, -1, 10, 0, 0 },
{ gUnknown_8109C00, 11, 12, 0, 0 },
{ gUnknown_8109BE8, 14, 15, 0, 0 },
{ gUnknown_8109BC8, -1, -1, 0, 0 },
{ gUnknown_8109BB4, 16, 17, 0, 0 },
{ gUnknown_8109BA0, -1, 33, 0, 0 },
{ gUnknown_8109B8C, -1, -1, 0, 0 },
{ gUnknown_8109B78, -1, -1, 0, 0 },
{ gUnknown_8109B60, -1, -1, 0, 0 },
{ gUnknown_8109C30, -1, -1, 0, 0 },
{ gUnknown_8109B4C, 20, 21, 0, 0 },
{ gUnknown_8109B38, 22, 23, 0, 0 },
{ gUnknown_8109B24, 24, 25, 0, 0 },
{ gUnknown_8109B10, -1, 26, 0, 0 },
{ gUnknown_8109AF8, 18, 19, 0, 0 },
{ gUnknown_8109AE8, 27, 28, 0, 0 },
{ gUnknown_8109AD8, -1, -1, 0, 0 },
{ gUnknown_8109AC4, -1, -1, 0, 0 },
{ gUnknown_8109AB0, -1, 32, 0, 0 },
{ gUnknown_8109C14, -1, -1, 0, 0 },
{ gUnknown_8109A94, -1, -1, 0, 0 },
{ NULL, -1, -1, 0, 0 },
};
ALIGNED(4) const u8 gUnknown_8109A94[] = _("Break Gardevoir{APOSTROPHE}s curse.");
ALIGNED(4) const u8 gUnknown_8109AB0[] = _("Rescue Medicham.");
ALIGNED(4) const u8 gUnknown_8109AC4[] = _("Investigate Relic.");
ALIGNED(4) const u8 gUnknown_8109AD8[] = _("Rescue Latias.");
ALIGNED(4) const u8 gUnknown_8109AE8[] = _("Catch thief.");
ALIGNED(4) const u8 gUnknown_8109AF8[] = _("Meet toughest Pokémon.");
ALIGNED(4) const u8 gUnknown_8109B10[] = _("Mirage Pokémon 4");
ALIGNED(4) const u8 gUnknown_8109B24[] = _("Mirage Pokémon 3");
ALIGNED(4) const u8 gUnknown_8109B38[] = _("Mirage Pokémon 2");
ALIGNED(4) const u8 gUnknown_8109B4C[] = _("Mirage Pokémon 1");
ALIGNED(4) const u8 gUnknown_8109B60[] = _("Check mystery Pokémon.");
ALIGNED(4) const u8 gUnknown_8109B78[] = _("Meet sea guardian.");
ALIGNED(4) const u8 gUnknown_8109B8C[] = _("Explore seafloor.");
ALIGNED(4) const u8 gUnknown_8109BA0[] = _("Rescue Smeargle.");
ALIGNED(4) const u8 gUnknown_8109BB4[] = _("Punish bad Mankey.");
ALIGNED(4) const u8 gUnknown_8109BC8[] = _("{COLOR_1 YELLOW_3}Scenario Progress Dummy{END_COLOR_TEXT_1}");
ALIGNED(4) const u8 gUnknown_8109BE8[] = _("Seek Rayquaza{APOSTROPHE}s help.");
ALIGNED(4) const u8 gUnknown_8109C00[] = _("Rescue Alakazam.");
ALIGNED(4) const u8 gUnknown_8109C14[] = _("Meet Ninetales.");
ALIGNED(4) const u8 gUnknown_8109C24[] = _("Fugitive");
ALIGNED(4) const u8 gUnknown_8109C30[] = _("Meet Xatu.");
ALIGNED(4) const u8 gUnknown_8109C3C[] = _("Rescue Shiftry.");
ALIGNED(4) const u8 gUnknown_8109C4C[] = _("Rescue Jumpluff.");
ALIGNED(4) const u8 gUnknown_8109C60[] = _("Rescue Metapod.");
ALIGNED(4) const u8 gUnknown_8109C70[] = _("Rescue Diglett.");
ALIGNED(4) const u8 gUnknown_8109C80[] = _("Rescue Magnemite.");
ALIGNED(4) const u8 gUnknown_8109C94[] = _("Rescue Caterpie.");