mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-09 09:35:45 -05:00
Match UpdateMakuhitaDialogue
This commit is contained in:
@@ -1,268 +0,0 @@
|
||||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start UpdateMakuhitaDialogue
|
||||
UpdateMakuhitaDialogue:
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x18
|
||||
ldr r1, _0802FFA4
|
||||
ldr r0, [r1]
|
||||
ldr r0, [r0, 0x8]
|
||||
adds r5, r1, 0
|
||||
cmp r0, 0xD
|
||||
bls _0802FF9A
|
||||
b _080301A0
|
||||
_0802FF9A:
|
||||
lsls r0, 2
|
||||
ldr r1, _0802FFA8
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0802FFA4: .4byte gUnknown_203B318
|
||||
_0802FFA8: .4byte _0802FFAC
|
||||
.align 2, 0
|
||||
_0802FFAC:
|
||||
.4byte _0802FFE4
|
||||
.4byte _08030000
|
||||
.4byte _08030038
|
||||
.4byte _08030050
|
||||
.4byte _08030068
|
||||
.4byte _08030074
|
||||
.4byte _080300DC
|
||||
.4byte _080300C4
|
||||
.4byte _080300F4
|
||||
.4byte _0803010C
|
||||
.4byte _08030148
|
||||
.4byte _08030174
|
||||
.4byte _08030180
|
||||
.4byte _080301A0
|
||||
_0802FFE4:
|
||||
bl DrawMakuhitaMainMenu
|
||||
ldr r2, _0802FFF8
|
||||
ldr r0, _0802FFFC
|
||||
ldr r5, [r0]
|
||||
ldr r1, [r5, 0x4]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
b _0803000E
|
||||
.align 2, 0
|
||||
_0802FFF8: .4byte gMakuhitaDialogue
|
||||
_0802FFFC: .4byte gUnknown_203B318
|
||||
_08030000:
|
||||
ldr r2, _08030034
|
||||
ldr r5, [r5]
|
||||
ldr r1, [r5, 0x4]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
adds r2, 0x4
|
||||
_0803000E:
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
ldr r2, [r5, 0x14]
|
||||
adds r3, r5, 0
|
||||
adds r3, 0x18
|
||||
movs r4, 0
|
||||
str r4, [sp]
|
||||
movs r1, 0x4
|
||||
str r1, [sp, 0x4]
|
||||
str r4, [sp, 0x8]
|
||||
ldr r1, [r5, 0x68]
|
||||
str r1, [sp, 0xC]
|
||||
movs r1, 0xC
|
||||
str r1, [sp, 0x10]
|
||||
movs r1, 0
|
||||
bl sub_8014248
|
||||
b _080301A0
|
||||
.align 2, 0
|
||||
_08030034: .4byte gMakuhitaDialogue
|
||||
_08030038:
|
||||
ldr r3, [r5]
|
||||
movs r0, 0xD
|
||||
str r0, [r3, 0xC]
|
||||
ldr r2, _0803004C
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
adds r2, 0x8
|
||||
b _0803015A
|
||||
.align 2, 0
|
||||
_0803004C: .4byte gMakuhitaDialogue
|
||||
_08030050:
|
||||
ldr r3, [r5]
|
||||
movs r0, 0x4
|
||||
str r0, [r3, 0xC]
|
||||
ldr r2, _08030064
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
adds r2, 0xC
|
||||
b _0803015A
|
||||
.align 2, 0
|
||||
_08030064: .4byte gMakuhitaDialogue
|
||||
_08030068:
|
||||
movs r0, 0x3
|
||||
movs r1, 0
|
||||
movs r2, 0xA
|
||||
bl sub_80302E8
|
||||
b _080301A0
|
||||
_08030074:
|
||||
ldr r1, [r5]
|
||||
movs r0, 0xD
|
||||
str r0, [r1, 0xC]
|
||||
movs r2, 0x10
|
||||
ldrsh r0, [r1, r2]
|
||||
bl sub_80A2740
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _080300B4
|
||||
ldr r1, [sp, 0x14]
|
||||
ands r1, r2
|
||||
orrs r1, r0
|
||||
ldr r0, _080300B8
|
||||
ands r1, r0
|
||||
movs r0, 0x80
|
||||
lsls r0, 1
|
||||
orrs r1, r0
|
||||
str r1, [sp, 0x14]
|
||||
ldr r0, _080300BC
|
||||
add r1, sp, 0x14
|
||||
bl PrintYellowDungeonNametoBuffer
|
||||
ldr r2, _080300C0
|
||||
ldr r3, [r5]
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
adds r2, 0x10
|
||||
b _0803015A
|
||||
.align 2, 0
|
||||
_080300B4: .4byte 0xffffff00
|
||||
_080300B8: .4byte 0xffff00ff
|
||||
_080300BC: .4byte gAvailablePokemonNames
|
||||
_080300C0: .4byte gMakuhitaDialogue
|
||||
_080300C4:
|
||||
ldr r3, [r5]
|
||||
movs r0, 0xD
|
||||
str r0, [r3, 0xC]
|
||||
ldr r2, _080300D8
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
adds r2, 0x18
|
||||
b _0803015A
|
||||
.align 2, 0
|
||||
_080300D8: .4byte gMakuhitaDialogue
|
||||
_080300DC:
|
||||
ldr r3, [r5]
|
||||
movs r0, 0xD
|
||||
str r0, [r3, 0xC]
|
||||
ldr r2, _080300F0
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
adds r2, 0x14
|
||||
b _0803015A
|
||||
.align 2, 0
|
||||
_080300F0: .4byte gMakuhitaDialogue
|
||||
_080300F4:
|
||||
ldr r3, [r5]
|
||||
movs r0, 0x9
|
||||
str r0, [r3, 0xC]
|
||||
ldr r2, _08030108
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
adds r2, 0x1C
|
||||
b _0803015A
|
||||
.align 2, 0
|
||||
_08030108: .4byte gMakuhitaDialogue
|
||||
_0803010C:
|
||||
ldr r4, _08030138
|
||||
bl GetPlayerPokemonStruct
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x6
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
ldr r0, _0803013C
|
||||
ldr r1, [r0]
|
||||
movs r0, 0xB
|
||||
str r0, [r1, 0xC]
|
||||
movs r0, 0xCB
|
||||
bl PlaySound
|
||||
ldr r0, _08030140
|
||||
ldr r3, _08030144
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_80141B4
|
||||
b _080301A0
|
||||
.align 2, 0
|
||||
_08030138: .4byte gPlayerName
|
||||
_0803013C: .4byte gUnknown_203B318
|
||||
_08030140: .4byte gMakuhitaDojoBonslyDoll
|
||||
_08030144: .4byte 0x00000101
|
||||
_08030148:
|
||||
ldr r3, [r5]
|
||||
movs r0, 0xD
|
||||
str r0, [r3, 0xC]
|
||||
ldr r2, _0803016C
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
adds r2, 0x20
|
||||
_0803015A:
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
ldr r2, [r3, 0x68]
|
||||
ldr r3, _08030170
|
||||
movs r1, 0
|
||||
bl sub_80141B4
|
||||
b _080301A0
|
||||
.align 2, 0
|
||||
_0803016C: .4byte gMakuhitaDialogue
|
||||
_08030170: .4byte 0x0000010d
|
||||
_08030174:
|
||||
movs r0, 0x1
|
||||
movs r1, 0x49
|
||||
movs r2, 0x1
|
||||
bl sub_801B60C
|
||||
b _080301A0
|
||||
_08030180:
|
||||
ldr r3, [r5]
|
||||
movs r0, 0x1
|
||||
str r0, [r3, 0xC]
|
||||
ldr r2, _080301A8
|
||||
ldr r1, [r3, 0x4]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
adds r2, 0x24
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
ldr r2, [r3, 0x68]
|
||||
ldr r3, _080301AC
|
||||
movs r1, 0
|
||||
bl sub_80141B4
|
||||
_080301A0:
|
||||
add sp, 0x18
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080301A8: .4byte gMakuhitaDialogue
|
||||
_080301AC: .4byte 0x0000010d
|
||||
thumb_func_end UpdateMakuhitaDialogue
|
||||
|
||||
.align 2,0
|
||||
@@ -1,3 +1,8 @@
|
||||
#ifndef GUARD_MAKUHITA_DOJO_H
|
||||
#define GUARD_MAKUHITA_DOJO_H
|
||||
|
||||
#include "constants/dungeon.h"
|
||||
|
||||
// size: 0xCC
|
||||
struct unkStruct_203B318
|
||||
{
|
||||
@@ -21,3 +26,17 @@ struct unkStruct_203B318
|
||||
struct UnkTextStruct2 unk6C[4];
|
||||
};
|
||||
|
||||
// size: 0xD0
|
||||
struct unkStruct_203B31C
|
||||
{
|
||||
s16 unk0[NUM_DUNGEON_MAZE];
|
||||
/* 0x30 */ struct MenuInputStruct input;
|
||||
u32 unk64;
|
||||
struct UnkTextStruct2 *unk68;
|
||||
struct UnkTextStruct2 unk6C[4];
|
||||
u8 unkCC[4];
|
||||
};
|
||||
|
||||
bool8 sub_80302E8(s32, struct UnkTextStruct2_sub *, u32);
|
||||
|
||||
#endif // GUARD_MAKUHITA_DOJO_H
|
||||
@@ -3,15 +3,16 @@
|
||||
|
||||
#include "input.h"
|
||||
|
||||
// size: 0x8
|
||||
struct MenuItem
|
||||
{
|
||||
const u8 *text;
|
||||
s32 menuAction; // action??
|
||||
};
|
||||
|
||||
// size: 0x50
|
||||
struct MenuStruct
|
||||
{
|
||||
// size: 0x50
|
||||
const u8 *unk0; // header text?
|
||||
/* 0x4 */ const struct MenuItem *menuItems;
|
||||
const u32 *menuTextColorArray;
|
||||
|
||||
@@ -142,7 +142,6 @@ SECTIONS {
|
||||
asm/wonder_mail_3_mid.o(.text);
|
||||
src/wonder_mail_3_1.o(.text);
|
||||
src/makuhita_dojo.o(.text);
|
||||
asm/makuhita_dojo.o(.text);
|
||||
src/makuhita_dojo_1.o(.text);
|
||||
src/wonder_mail_4.o(.text);
|
||||
src/wonder_mail_5.o(.text);
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "constants/colors.h"
|
||||
#include "constants/dungeon.h"
|
||||
#include "constants/input.h"
|
||||
#include "code_800D090.h"
|
||||
#include "dungeon.h"
|
||||
@@ -11,19 +10,10 @@
|
||||
#include "makuhita_dojo.h"
|
||||
#include "menu_input.h"
|
||||
|
||||
// size: 0xD0
|
||||
struct unkStruct_203B31C
|
||||
{
|
||||
s16 unk0[NUM_DUNGEON_MAZE];
|
||||
/* 0x30 */ struct MenuInputStruct input;
|
||||
u32 unk64;
|
||||
struct UnkTextStruct2 *unk68;
|
||||
struct UnkTextStruct2 unk6C[4];
|
||||
u8 unkCC[4];
|
||||
};
|
||||
|
||||
extern struct unkStruct_203B31C *gUnknown_203B31C;
|
||||
extern struct unkStruct_203B318 *gUnknown_203B318;
|
||||
extern u8 gAvailablePokemonNames[];
|
||||
extern u8 gPlayerName[];
|
||||
|
||||
static const u8 makuhita_dojo_fill[] = "pksdir0";
|
||||
|
||||
@@ -49,33 +39,108 @@ ALIGNED(4) const u8 gUnknown_80E0824[] = _("{STAR_BULLET}");
|
||||
ALIGNED(4) const u8 gMakuhitaCoursePlaceholder[] = _("{COLOR_2}%c%s{END_COLOR_TEXT_2}");
|
||||
static const u8 makuhita_dojo_fill2[] = "pksdir0";
|
||||
|
||||
extern const u8 *gMakuhitaDialogue[2][10];
|
||||
extern u8 gMakuhitaDojoGoTrain[];
|
||||
extern const u8 gMakuhitaDojoBonslyDoll[];
|
||||
extern u8 *gUnknown_80D4934[];
|
||||
extern u8 *gUnknown_80D4970[];
|
||||
|
||||
extern bool8 sub_8097504(s16);
|
||||
extern s16 sub_80A26CC(s16 r0);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern u8 sub_80A2740(s32 r0);
|
||||
extern s16 sub_80A2668(u32 r0);
|
||||
extern bool8 IsMazeCompleted(s32);
|
||||
extern s32 sub_8030668(void);
|
||||
extern void sub_80304C8();
|
||||
extern void DrawDojoCourseList(void);
|
||||
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern void sub_803053C(void);
|
||||
extern u8 sub_80306A4(void);
|
||||
extern void sub_8008C54(u32);
|
||||
extern u32 sub_80095E4(s16, u32);
|
||||
extern void sub_80141B4(const u8 *, u32, struct OpenedFile **, u32);
|
||||
extern void sub_8014248(const u8 *, u32, u32, const struct MenuItem *, void *, u32, u32, struct OpenedFile **, u32);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
void UpdateMakuhitaState(s32);
|
||||
extern u32 sub_801B60C(u32, u8, u8);
|
||||
extern u32 sub_801B6AC(void);
|
||||
extern void sub_801B72C(void);
|
||||
extern s16 sub_8030418(void);
|
||||
extern u32 sub_80303AC(u8);
|
||||
extern s16 sub_8030418(void);
|
||||
extern void sub_8030480(void);
|
||||
extern void sub_80304C8();
|
||||
extern void sub_803053C(void);
|
||||
extern s32 sub_8030668(void);
|
||||
extern u8 sub_80306A4(void);
|
||||
extern bool8 sub_8097504(s16);
|
||||
extern s16 sub_80A2668(u32 r0);
|
||||
extern s16 sub_80A26CC(s16 r0);
|
||||
extern u8 sub_80A2740(s32 r0);
|
||||
|
||||
extern void DrawDojoCourseList(void);
|
||||
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
|
||||
extern bool8 IsMazeCompleted(s32);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern void PlaySound(u16);
|
||||
extern void PrintColoredPokeNameToBuffer(u8 *, struct PokemonStruct *, s32);
|
||||
extern void PrintYellowDungeonNametoBuffer(u8 *, struct DungeonLocation *);
|
||||
|
||||
void DrawMakuhitaMainMenu(void);
|
||||
void UpdateMakuhitaState(s32);
|
||||
|
||||
void UpdateMakuhitaDialogue(void)
|
||||
{
|
||||
struct DungeonLocation dLoc;
|
||||
|
||||
switch (gUnknown_203B318->state) {
|
||||
case 0:
|
||||
DrawMakuhitaMainMenu();
|
||||
sub_8014248(gMakuhitaDialogue[gUnknown_203B318->unk4][0], 0, gUnknown_203B318->menuAction, gUnknown_203B318->unk18, NULL, 4, 0, gUnknown_203B318->unk68, 12);
|
||||
break;
|
||||
case 1:
|
||||
sub_8014248(gMakuhitaDialogue[gUnknown_203B318->unk4][1], 0, gUnknown_203B318->menuAction, gUnknown_203B318->unk18, NULL, 4, 0, gUnknown_203B318->unk68, 12);
|
||||
break;
|
||||
case 2:
|
||||
gUnknown_203B318->fallbackState = 13;
|
||||
sub_80141B4(gMakuhitaDialogue[gUnknown_203B318->unk4][2], 0, gUnknown_203B318->unk68, 0x10D);
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B318->fallbackState = 4;
|
||||
sub_80141B4(gMakuhitaDialogue[gUnknown_203B318->unk4][3], 0, gUnknown_203B318->unk68, 0x10D);
|
||||
break;
|
||||
case 4:
|
||||
sub_80302E8(3, NULL, 10);
|
||||
break;
|
||||
case 5:
|
||||
gUnknown_203B318->fallbackState = 13;
|
||||
dLoc.id = sub_80A2740(gUnknown_203B318->unk10);
|
||||
dLoc.floor = 1;
|
||||
PrintYellowDungeonNametoBuffer(gAvailablePokemonNames, &dLoc);
|
||||
sub_80141B4(gMakuhitaDialogue[gUnknown_203B318->unk4][4], 0, gUnknown_203B318->unk68, 0x10D);
|
||||
break;
|
||||
case 7:
|
||||
gUnknown_203B318->fallbackState = 13;
|
||||
sub_80141B4(gMakuhitaDialogue[gUnknown_203B318->unk4][6], 0, gUnknown_203B318->unk68, 0x10D);
|
||||
break;
|
||||
case 6:
|
||||
gUnknown_203B318->fallbackState = 13;
|
||||
sub_80141B4(gMakuhitaDialogue[gUnknown_203B318->unk4][5], 0, gUnknown_203B318->unk68, 0x10D);
|
||||
break;
|
||||
case 8:
|
||||
gUnknown_203B318->fallbackState = 9;
|
||||
sub_80141B4(gMakuhitaDialogue[gUnknown_203B318->unk4][7], 0, gUnknown_203B318->unk68, 0x10D);
|
||||
break;
|
||||
case 9:
|
||||
PrintColoredPokeNameToBuffer(gPlayerName, GetPlayerPokemonStruct(), COLOR_YELLOW);
|
||||
gUnknown_203B318->fallbackState = 11;
|
||||
PlaySound(0xCB);
|
||||
sub_80141B4(gMakuhitaDojoBonslyDoll, 0, 0, 0x101);
|
||||
break;
|
||||
case 10:
|
||||
gUnknown_203B318->fallbackState = 13;
|
||||
sub_80141B4(gMakuhitaDialogue[gUnknown_203B318->unk4][8], 0, gUnknown_203B318->unk68, 0x10D);
|
||||
break;
|
||||
case 11:
|
||||
sub_801B60C(1, ITEM_GINSENG, 1);
|
||||
break;
|
||||
case 12:
|
||||
gUnknown_203B318->fallbackState = 1;
|
||||
sub_80141B4(gMakuhitaDialogue[gUnknown_203B318->unk4][9], 0, gUnknown_203B318->unk68, 0x10D);
|
||||
break;
|
||||
case 13:
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void DrawMakuhitaMainMenu(void) {
|
||||
|
||||
@@ -105,6 +170,7 @@ void sub_8030208(void)
|
||||
s32 menuAction;
|
||||
if (sub_80144A4(&menuAction) == 0) {
|
||||
gUnknown_203B318->menuAction = menuAction;
|
||||
|
||||
switch (menuAction) {
|
||||
case 2:
|
||||
UpdateMakuhitaState(3);
|
||||
@@ -159,10 +225,10 @@ void GotoMakuhitaFallbackState(void)
|
||||
UpdateMakuhitaState(gUnknown_203B318->fallbackState);
|
||||
}
|
||||
|
||||
bool8 sub_80302E8(int param_1, struct UnkTextStruct2_sub *param_2, u32 param_3)
|
||||
bool8 sub_80302E8(s32 param_1, struct UnkTextStruct2_sub *param_2, u32 param_3)
|
||||
{
|
||||
if (sub_80306A4())
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
if (gUnknown_203B31C == NULL)
|
||||
gUnknown_203B31C = MemoryAlloc(sizeof(struct unkStruct_203B31C), 8);
|
||||
@@ -176,38 +242,38 @@ bool8 sub_80302E8(int param_1, struct UnkTextStruct2_sub *param_2, u32 param_3)
|
||||
if (param_2 != NULL)
|
||||
gUnknown_203B31C->unk6C[gUnknown_203B31C->unk64].unk8 = *param_2;
|
||||
|
||||
sub_8012D08(gUnknown_203B31C->unk68,param_3);
|
||||
sub_8012D08(gUnknown_203B31C->unk68, param_3);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B31C->unk6C,1,1);
|
||||
sub_8013818(&gUnknown_203B31C->input,sub_8030668(),param_3,param_1);
|
||||
sub_800641C(gUnknown_203B31C->unk6C, 1, 1);
|
||||
sub_8013818(&gUnknown_203B31C->input, sub_8030668(), param_3, param_1);
|
||||
sub_80304C8();
|
||||
DrawDojoCourseList();
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u32 sub_80303AC(u8 param_1)
|
||||
{
|
||||
if (param_1 == 0) {
|
||||
sub_8013660(&gUnknown_203B31C->input);
|
||||
return 0;
|
||||
}
|
||||
if (param_1 == 0) {
|
||||
sub_8013660(&gUnknown_203B31C->input);
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (GetKeyPress(&gUnknown_203B31C->input)) {
|
||||
case INPUT_B_BUTTON:
|
||||
PlayMenuSoundEffect(1);
|
||||
return 2;
|
||||
case INPUT_A_BUTTON:
|
||||
PlayMenuSoundEffect(0);
|
||||
return 3;
|
||||
default:
|
||||
if (sub_80138B8(&gUnknown_203B31C->input, 1)) {
|
||||
sub_80304C8();
|
||||
DrawDojoCourseList();
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
switch (GetKeyPress(&gUnknown_203B31C->input)) {
|
||||
case INPUT_B_BUTTON:
|
||||
PlayMenuSoundEffect(1);
|
||||
return 2;
|
||||
case INPUT_A_BUTTON:
|
||||
PlayMenuSoundEffect(0);
|
||||
return 3;
|
||||
default:
|
||||
if (sub_80138B8(&gUnknown_203B31C->input, 1)) {
|
||||
sub_80304C8();
|
||||
DrawDojoCourseList();
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
s16 sub_8030418(void)
|
||||
@@ -236,6 +302,23 @@ void sub_8030480(void)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_80304C8(void)
|
||||
{
|
||||
s16 test;
|
||||
|
||||
gUnknown_203B31C->unkCC[0] = 1;
|
||||
gUnknown_203B31C->unkCC[1] = 0;
|
||||
gUnknown_203B31C->unkCC[2] = 8;
|
||||
gUnknown_203B31C->unkCC[3] = 0;
|
||||
|
||||
test = sub_80095E4(gUnknown_203B31C->input.unk1A, 12) + 2;
|
||||
gUnknown_203B31C->unk6C[gUnknown_203B31C->unk64].unkE = test;
|
||||
gUnknown_203B31C->unk6C[gUnknown_203B31C->unk64].unk10 = test + 2;
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B31C->unk6C, 1, 1);
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_80304C8(void)
|
||||
{
|
||||
@@ -295,6 +378,7 @@ void sub_80304C8(void)
|
||||
"\t.align 2, 0\n"
|
||||
"_08030538: .4byte gUnknown_203B31C");
|
||||
}
|
||||
#endif // NONMATCHING
|
||||
|
||||
void DrawDojoCourseList(void)
|
||||
{
|
||||
@@ -331,18 +415,18 @@ void DrawDojoCourseList(void)
|
||||
|
||||
s32 sub_8030668(void)
|
||||
{
|
||||
s32 index;
|
||||
s32 counter;
|
||||
|
||||
counter = 0;
|
||||
s32 index;
|
||||
s32 counter;
|
||||
|
||||
for (index = 0; index < NUM_DUNGEON_MAZE; index++) {
|
||||
if (sub_8097504(index)) {
|
||||
gUnknown_203B31C->unk0[counter] = sub_80A26CC(index);
|
||||
counter++;
|
||||
counter = 0;
|
||||
|
||||
for (index = 0; index < NUM_DUNGEON_MAZE; index++) {
|
||||
if (sub_8097504(index)) {
|
||||
gUnknown_203B31C->unk0[counter] = sub_80A26CC(index);
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return counter;
|
||||
return counter;
|
||||
}
|
||||
|
||||
bool8 sub_80306A4(void)
|
||||
|
||||
Reference in New Issue
Block a user