mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-06-02 21:54:45 -05:00
PokedexApp_MainSeq_80
This commit is contained in:
parent
8b377b79b7
commit
da9a7a3fb7
264
asm/overlay_18.s
264
asm/overlay_18.s
|
|
@ -8,7 +8,6 @@
|
|||
.extern ov18_021E590C
|
||||
.extern ov18_021E595C
|
||||
.extern ov18_021E59A8
|
||||
.extern ov18_021E5E70
|
||||
.extern ov18_021E613C
|
||||
.extern ov18_021E66EC
|
||||
.extern ov18_021E6714
|
||||
|
|
@ -31,269 +30,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start PokedexApp_MainSeq_80
|
||||
PokedexApp_MainSeq_80: ; 0x021ECF58
|
||||
push {r4, lr}
|
||||
sub sp, #0x18
|
||||
add r1, sp, #0x14
|
||||
add r4, r0, #0
|
||||
bl ov18_021F7D30
|
||||
mov r1, #0
|
||||
mvn r1, r1
|
||||
cmp r0, r1
|
||||
beq _021ECF70
|
||||
cmp r0, #0xc
|
||||
bls _021ECF72
|
||||
_021ECF70:
|
||||
b _021ED144
|
||||
_021ECF72:
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_021ECF7E: ; jump table
|
||||
.short _021ECF98 - _021ECF7E - 2 ; case 0
|
||||
.short _021ECFBA - _021ECF7E - 2 ; case 1
|
||||
.short _021ECFDC - _021ECF7E - 2 ; case 2
|
||||
.short _021ECFFE - _021ECF7E - 2 ; case 3
|
||||
.short _021ED014 - _021ECF7E - 2 ; case 4
|
||||
.short _021ED042 - _021ECF7E - 2 ; case 5
|
||||
.short _021ED06E - _021ECF7E - 2 ; case 6
|
||||
.short _021ED09C - _021ECF7E - 2 ; case 7
|
||||
.short _021ED042 - _021ECF7E - 2 ; case 8
|
||||
.short _021ED09C - _021ECF7E - 2 ; case 9
|
||||
.short _021ED0CA - _021ECF7E - 2 ; case 10
|
||||
.short _021ED0F8 - _021ECF7E - 2 ; case 11
|
||||
.short _021ED122 - _021ECF7E - 2 ; case 12
|
||||
_021ECF98:
|
||||
ldr r0, [sp, #0x14]
|
||||
cmp r0, #1
|
||||
bne _021ECFA6
|
||||
ldr r0, _021ED14C ; =0x000008E9
|
||||
bl PlaySE
|
||||
b _021ECFAC
|
||||
_021ECFA6:
|
||||
ldr r0, _021ED150 ; =0x000008E8
|
||||
bl PlaySE
|
||||
_021ECFAC:
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
mov r2, #1
|
||||
bl ov18_021EC1DC
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
_021ECFBA:
|
||||
ldr r0, [sp, #0x14]
|
||||
cmp r0, #1
|
||||
bne _021ECFC8
|
||||
ldr r0, _021ED14C ; =0x000008E9
|
||||
bl PlaySE
|
||||
b _021ECFCE
|
||||
_021ECFC8:
|
||||
ldr r0, _021ED150 ; =0x000008E8
|
||||
bl PlaySE
|
||||
_021ECFCE:
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
mov r2, #2
|
||||
bl ov18_021EC1DC
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
_021ECFDC:
|
||||
ldr r0, [sp, #0x14]
|
||||
cmp r0, #1
|
||||
bne _021ECFEA
|
||||
ldr r0, _021ED14C ; =0x000008E9
|
||||
bl PlaySE
|
||||
b _021ECFF0
|
||||
_021ECFEA:
|
||||
ldr r0, _021ED150 ; =0x000008E8
|
||||
bl PlaySE
|
||||
_021ECFF0:
|
||||
add r0, r4, #0
|
||||
mov r1, #0x10
|
||||
mov r2, #0x50
|
||||
bl ov18_021EDC28
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
_021ECFFE:
|
||||
mov r0, #0x25
|
||||
lsl r0, r0, #6
|
||||
bl PlaySE
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
mov r2, #0xff
|
||||
bl ov18_021EC1DC
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
_021ED014:
|
||||
add r0, r4, #0
|
||||
sub r1, r1, #1
|
||||
mov r2, #2
|
||||
bl ov18_021EDF14
|
||||
cmp r0, #1
|
||||
bne _021ED03C
|
||||
ldr r0, [sp, #0x14]
|
||||
cmp r0, #1
|
||||
bne _021ED030
|
||||
ldr r0, _021ED14C ; =0x000008E9
|
||||
bl PlaySE
|
||||
b _021ED036
|
||||
_021ED030:
|
||||
ldr r0, _021ED150 ; =0x000008E8
|
||||
bl PlaySE
|
||||
_021ED036:
|
||||
add sp, #0x18
|
||||
mov r0, #0x52
|
||||
pop {r4, pc}
|
||||
_021ED03C:
|
||||
add sp, #0x18
|
||||
mov r0, #0x50
|
||||
pop {r4, pc}
|
||||
_021ED042:
|
||||
add r0, r4, #0
|
||||
mov r2, #1
|
||||
bl ov18_021EDF14
|
||||
cmp r0, #1
|
||||
bne _021ED068
|
||||
ldr r0, [sp, #0x14]
|
||||
cmp r0, #1
|
||||
bne _021ED05C
|
||||
ldr r0, _021ED14C ; =0x000008E9
|
||||
bl PlaySE
|
||||
b _021ED062
|
||||
_021ED05C:
|
||||
ldr r0, _021ED150 ; =0x000008E8
|
||||
bl PlaySE
|
||||
_021ED062:
|
||||
add sp, #0x18
|
||||
mov r0, #0x52
|
||||
pop {r4, pc}
|
||||
_021ED068:
|
||||
add sp, #0x18
|
||||
mov r0, #0x50
|
||||
pop {r4, pc}
|
||||
_021ED06E:
|
||||
mov r1, #2
|
||||
add r0, r4, #0
|
||||
add r2, r1, #0
|
||||
bl ov18_021EDF14
|
||||
cmp r0, #1
|
||||
bne _021ED096
|
||||
ldr r0, [sp, #0x14]
|
||||
cmp r0, #1
|
||||
bne _021ED08A
|
||||
ldr r0, _021ED14C ; =0x000008E9
|
||||
bl PlaySE
|
||||
b _021ED090
|
||||
_021ED08A:
|
||||
ldr r0, _021ED150 ; =0x000008E8
|
||||
bl PlaySE
|
||||
_021ED090:
|
||||
add sp, #0x18
|
||||
mov r0, #0x53
|
||||
pop {r4, pc}
|
||||
_021ED096:
|
||||
add sp, #0x18
|
||||
mov r0, #0x50
|
||||
pop {r4, pc}
|
||||
_021ED09C:
|
||||
mov r1, #1
|
||||
add r0, r4, #0
|
||||
add r2, r1, #0
|
||||
bl ov18_021EDF14
|
||||
cmp r0, #1
|
||||
bne _021ED0C4
|
||||
ldr r0, [sp, #0x14]
|
||||
cmp r0, #1
|
||||
bne _021ED0B8
|
||||
ldr r0, _021ED14C ; =0x000008E9
|
||||
bl PlaySE
|
||||
b _021ED0BE
|
||||
_021ED0B8:
|
||||
ldr r0, _021ED150 ; =0x000008E8
|
||||
bl PlaySE
|
||||
_021ED0BE:
|
||||
add sp, #0x18
|
||||
mov r0, #0x53
|
||||
pop {r4, pc}
|
||||
_021ED0C4:
|
||||
add sp, #0x18
|
||||
mov r0, #0x50
|
||||
pop {r4, pc}
|
||||
_021ED0CA:
|
||||
add r0, sp, #0x10
|
||||
add r1, sp, #0xc
|
||||
bl System_GetTouchHeldCoords
|
||||
ldr r1, [sp, #0x10]
|
||||
ldr r2, [sp, #0xc]
|
||||
add r0, r4, #0
|
||||
bl ov18_021F6258
|
||||
cmp r0, #1
|
||||
bne _021ED0E6
|
||||
add sp, #0x18
|
||||
mov r0, #0x54
|
||||
pop {r4, pc}
|
||||
_021ED0E6:
|
||||
ldr r0, _021ED154 ; =0x00000868
|
||||
add r1, r4, r0
|
||||
ldr r0, [sp, #0x10]
|
||||
strh r0, [r1]
|
||||
ldr r0, [sp, #0xc]
|
||||
add sp, #0x18
|
||||
strh r0, [r1, #2]
|
||||
mov r0, #0x55
|
||||
pop {r4, pc}
|
||||
_021ED0F8:
|
||||
ldr r0, _021ED158 ; =0x000018C4
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #1
|
||||
beq _021ED144
|
||||
ldr r0, _021ED14C ; =0x000008E9
|
||||
bl PlaySE
|
||||
mov r0, #0xf
|
||||
str r0, [sp]
|
||||
mov r0, #2
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x56
|
||||
mov r2, #0x11
|
||||
str r0, [sp, #8]
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
add r3, r2, #0
|
||||
bl ov18_021EDC50
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
_021ED122:
|
||||
ldr r0, [sp, #0x14]
|
||||
cmp r0, #1
|
||||
bne _021ED130
|
||||
ldr r0, _021ED14C ; =0x000008E9
|
||||
bl PlaySE
|
||||
b _021ED136
|
||||
_021ED130:
|
||||
ldr r0, _021ED150 ; =0x000008E8
|
||||
bl PlaySE
|
||||
_021ED136:
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
mov r2, #4
|
||||
bl ov18_021EC1DC
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
_021ED144:
|
||||
mov r0, #0x50
|
||||
add sp, #0x18
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_021ED14C: .word 0x000008E9
|
||||
_021ED150: .word 0x000008E8
|
||||
_021ED154: .word 0x00000868
|
||||
_021ED158: .word 0x000018C4
|
||||
thumb_func_end PokedexApp_MainSeq_80
|
||||
|
||||
thumb_func_start PokedexApp_MainSeq_81
|
||||
PokedexApp_MainSeq_81: ; 0x021ED15C
|
||||
push {r4, r5, lr}
|
||||
|
|
|
|||
|
|
@ -388,6 +388,7 @@ int ov18_021EDBB8(PokedexAppData *pokedexApp, int a1, int a2, int a3);
|
|||
int ov18_021EDBDC(PokedexAppData *pokedexApp, int a1, int a2, int a3);
|
||||
int ov18_021EDC00(PokedexAppData *pokedexApp, int a1, int a2, int a3, int a4, int a5);
|
||||
int ov18_021EDC28(PokedexAppData *pokedexApp, int a1, int a2);
|
||||
int ov18_021EDC50(PokedexAppData *pokedexApp, int a1, int a2, int a3, int a4, int a5, int a6);
|
||||
void ov18_021EDC74(PokedexAppData *pokedexApp, int a1);
|
||||
void ov18_021EDCD4(PokedexAppData *pokedexApp);
|
||||
void ov18_021EDDA4(PokedexAppData *pokedexApp, int a1);
|
||||
|
|
@ -396,6 +397,7 @@ int ov18_021EDE04(PokedexAppData *pokedexApp);
|
|||
void ov18_021EDE4C(PokedexAppData *pokedexApp, int a1, int a2, int a3);
|
||||
void ov18_021EDE64(PokedexAppData *pokedexApp);
|
||||
void ov18_021EDEB0(PokedexAppData *pokedexApp);
|
||||
int ov18_021EDF14(PokedexAppData *pokedexApp, int a1, int a2);
|
||||
void ov18_021EE068(PokedexAppData *pokedexApp);
|
||||
void ov18_021EE0CC(PokedexAppData *pokedexApp);
|
||||
int ov18_021EE0F0(PokedexAppData *pokedexApp, int a1, int a2);
|
||||
|
|
@ -520,6 +522,7 @@ void ov18_021F4A50(PokedexAppData *pokedexApp);
|
|||
void ov18_021F5DC0(PokedexAppData *pokedexApp);
|
||||
void ov18_021F5DE0(PokedexAppData *pokedexApp);
|
||||
void ov18_021F619C(PokedexAppData *pokedexApp, s8 a1, s8 a2, int a3);
|
||||
int ov18_021F6258(PokedexAppData *pokedexApp, int a1, int a2);
|
||||
int ov18_021F62B4(PokedexAppData *pokedexApp, u32 x, u32 y);
|
||||
BOOL ov18_021F63DC(PokedexAppData *pokedexApp, u32 x, u32 y);
|
||||
int ov18_021F64F4(PokedexAppData *pokedexApp, int a1);
|
||||
|
|
@ -549,6 +552,7 @@ u32 ov18_021F7974(PokedexAppData *pokedexApp, int a1);
|
|||
void ov18_021F7B74(PokedexAppData *pokedexApp);
|
||||
u32 ov18_021F7C14(PokedexAppData *pokedexApp, u32 *a1);
|
||||
u32 ov18_021F7D00(PokedexAppData *pokedexApp, u32 *a1);
|
||||
u32 ov18_021F7D30(PokedexAppData *pokedexApp, u32 *a1);
|
||||
void ov18_021F7ED4(PokedexAppData *pokedexApp, u8 a1, u32 a2, u32 a3, u32 a4, u32 a5, u32 a6, u32 a7, u32 a8, u32 a9, u32 a10, u32 a11);
|
||||
u32 ov18_021F8824(PokedexAppData *pokedexApp);
|
||||
u16 ov18_021F8838(PokedexAppData *pokedexApp);
|
||||
|
|
|
|||
|
|
@ -2871,3 +2871,110 @@ int PokedexApp_MainSeq_79(PokedexAppData *pokedexApp) {
|
|||
|
||||
return POKEDEXAPP_MAINSEQ_79;
|
||||
}
|
||||
|
||||
int PokedexApp_MainSeq_80(PokedexAppData *pokedexApp) {
|
||||
u32 sp14;
|
||||
|
||||
switch (ov18_021F7D30(pokedexApp, &sp14)) {
|
||||
case 0:
|
||||
if (sp14 == 1) {
|
||||
PlaySE(SEQ_SE_GS_ZKN04);
|
||||
} else {
|
||||
PlaySE(SEQ_SE_GS_ZKN03);
|
||||
}
|
||||
return ov18_021EC1DC(pokedexApp, 0, 1);
|
||||
case 1:
|
||||
if (sp14 == 1) {
|
||||
PlaySE(SEQ_SE_GS_ZKN04);
|
||||
} else {
|
||||
PlaySE(SEQ_SE_GS_ZKN03);
|
||||
}
|
||||
return ov18_021EC1DC(pokedexApp, 0, 2);
|
||||
case 2:
|
||||
if (sp14 == 1) {
|
||||
PlaySE(SEQ_SE_GS_ZKN04);
|
||||
} else {
|
||||
PlaySE(SEQ_SE_GS_ZKN03);
|
||||
}
|
||||
return ov18_021EDC28(pokedexApp, 16, 80);
|
||||
case 3:
|
||||
PlaySE(SEQ_SE_GS_GEARCANCEL);
|
||||
return ov18_021EC1DC(pokedexApp, 0, 255);
|
||||
case 4:
|
||||
if (ov18_021EDF14(pokedexApp, -2, 2) == 1) {
|
||||
if (sp14 == 1) {
|
||||
PlaySE(SEQ_SE_GS_ZKN04);
|
||||
} else {
|
||||
PlaySE(SEQ_SE_GS_ZKN03);
|
||||
}
|
||||
return POKEDEXAPP_MAINSEQ_82;
|
||||
} else {
|
||||
return POKEDEXAPP_MAINSEQ_80;
|
||||
}
|
||||
case 5:
|
||||
case 8:
|
||||
if (ov18_021EDF14(pokedexApp, -1, 1) == 1) {
|
||||
if (sp14 == 1) {
|
||||
PlaySE(SEQ_SE_GS_ZKN04);
|
||||
} else {
|
||||
PlaySE(SEQ_SE_GS_ZKN03);
|
||||
}
|
||||
return POKEDEXAPP_MAINSEQ_82;
|
||||
} else {
|
||||
return POKEDEXAPP_MAINSEQ_80;
|
||||
}
|
||||
case 6:
|
||||
if (ov18_021EDF14(pokedexApp, 2, 2) == 1) {
|
||||
if (sp14 == 1) {
|
||||
PlaySE(SEQ_SE_GS_ZKN04);
|
||||
} else {
|
||||
PlaySE(SEQ_SE_GS_ZKN03);
|
||||
}
|
||||
return POKEDEXAPP_MAINSEQ_83;
|
||||
} else {
|
||||
return POKEDEXAPP_MAINSEQ_80;
|
||||
}
|
||||
case 7:
|
||||
case 9:
|
||||
if (ov18_021EDF14(pokedexApp, 1, 1) == 1) {
|
||||
if (sp14 == 1) {
|
||||
PlaySE(SEQ_SE_GS_ZKN04);
|
||||
} else {
|
||||
PlaySE(SEQ_SE_GS_ZKN03);
|
||||
}
|
||||
return POKEDEXAPP_MAINSEQ_83;
|
||||
} else {
|
||||
return POKEDEXAPP_MAINSEQ_80;
|
||||
}
|
||||
case 10: {
|
||||
u32 x, y;
|
||||
System_GetTouchHeldCoords(&x, &y);
|
||||
if (ov18_021F6258(pokedexApp, x, y) == 1) {
|
||||
return POKEDEXAPP_MAINSEQ_84;
|
||||
} else {
|
||||
PokedexAppData_UnkSub0868_State16 *r1 = &pokedexApp->unk_0868.state_16;
|
||||
|
||||
r1->unk_0 = x;
|
||||
r1->unk_2 = y;
|
||||
return POKEDEXAPP_MAINSEQ_85;
|
||||
}
|
||||
} break;
|
||||
case 11:
|
||||
if (pokedexApp->numSeenForms != 1) {
|
||||
PlaySE(SEQ_SE_GS_ZKN04);
|
||||
return ov18_021EDC50(pokedexApp, 0, 17, 17, 15, 2, POKEDEXAPP_MAINSEQ_86);
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
if (sp14 == 1) {
|
||||
PlaySE(SEQ_SE_GS_ZKN04);
|
||||
} else {
|
||||
PlaySE(SEQ_SE_GS_ZKN03);
|
||||
}
|
||||
return ov18_021EC1DC(pokedexApp, 0, 4);
|
||||
case -1:
|
||||
break;
|
||||
}
|
||||
|
||||
return POKEDEXAPP_MAINSEQ_80;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user