mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-08 18:45:06 -05:00
323 lines
6.0 KiB
ArmAsm
323 lines
6.0 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_8083D4C
|
|
sub_8083D4C: @ 8083D4C
|
|
push {lr}
|
|
ldr r0, _08083D60 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08083D64
|
|
movs r0, 0
|
|
b _08083D6A
|
|
.align 2, 0
|
|
_08083D60: .4byte gMain
|
|
_08083D64:
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
_08083D6A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8083D4C
|
|
|
|
thumb_func_start MoriDebugMenu_SearchChild
|
|
MoriDebugMenu_SearchChild: @ 8083D70
|
|
push {r4-r6,lr}
|
|
sub sp, 0x34
|
|
ldr r0, _08083DE4 @ =gPlayerParty
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
adds r0, r4, 0
|
|
bl sub_8041870
|
|
adds r5, r0, 0
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
movs r6, 0xB
|
|
adds r1, r4, 0
|
|
muls r1, r6
|
|
ldr r4, _08083DE8 @ =gSpeciesNames
|
|
adds r1, r4
|
|
mov r0, sp
|
|
bl StringCopy
|
|
ldr r1, _08083DEC @ =gUnknown_0839B24D
|
|
mov r0, sp
|
|
bl StringAppend
|
|
adds r1, r5, 0
|
|
muls r1, r6
|
|
adds r1, r4
|
|
mov r0, sp
|
|
bl StringAppend
|
|
ldr r1, _08083DF0 @ =gUnknown_0839B255
|
|
mov r0, sp
|
|
bl StringAppend
|
|
bl MenuZeroFillScreen
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0x1E
|
|
movs r3, 0x13
|
|
bl MenuDrawTextWindow
|
|
mov r0, sp
|
|
movs r1, 0x1
|
|
movs r2, 0xF
|
|
bl MenuPrint
|
|
ldr r1, _08083DF4 @ =gCallback_03004AE8
|
|
ldr r0, _08083DF8 @ =sub_8083D4C
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
add sp, 0x34
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08083DE4: .4byte gPlayerParty
|
|
_08083DE8: .4byte gSpeciesNames
|
|
_08083DEC: .4byte gUnknown_0839B24D
|
|
_08083DF0: .4byte gUnknown_0839B255
|
|
_08083DF4: .4byte gCallback_03004AE8
|
|
_08083DF8: .4byte sub_8083D4C
|
|
thumb_func_end MoriDebugMenu_SearchChild
|
|
|
|
thumb_func_start MoriDebugMenu_Egg
|
|
MoriDebugMenu_Egg: @ 8083DFC
|
|
push {lr}
|
|
ldr r0, _08083E24 @ =gSaveBlock1 + 0x2F9C
|
|
bl daycare_count_pokemon
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
bne _08083E1A
|
|
bl daycare_relationship_score_from_savegame
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08083E1A
|
|
bl sub_8041940
|
|
_08083E1A:
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08083E24: .4byte gSaveBlock1 + 0x2F9C
|
|
thumb_func_end MoriDebugMenu_Egg
|
|
|
|
thumb_func_start MoriDebugMenu_MaleEgg
|
|
MoriDebugMenu_MaleEgg: @ 8083E28
|
|
push {lr}
|
|
ldr r0, _08083E50 @ =gSaveBlock1 + 0x2F9C
|
|
bl daycare_count_pokemon
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
bne _08083E46
|
|
bl daycare_relationship_score_from_savegame
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08083E46
|
|
bl sub_8041950
|
|
_08083E46:
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08083E50: .4byte gSaveBlock1 + 0x2F9C
|
|
thumb_func_end MoriDebugMenu_MaleEgg
|
|
|
|
thumb_func_start MoriDebugMenu_1000Steps
|
|
MoriDebugMenu_1000Steps: @ 8083E54
|
|
push {lr}
|
|
movs r0, 0xFA
|
|
lsls r0, 2
|
|
bl sub_8041790
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end MoriDebugMenu_1000Steps
|
|
|
|
thumb_func_start MoriDebugMenu_10000Steps
|
|
MoriDebugMenu_10000Steps: @ 8083E68
|
|
push {lr}
|
|
ldr r0, _08083E7C @ =0x00002710
|
|
bl sub_8041790
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08083E7C: .4byte 0x00002710
|
|
thumb_func_end MoriDebugMenu_10000Steps
|
|
|
|
thumb_func_start MoriDebugMenu_MoveTutor
|
|
MoriDebugMenu_MoveTutor: @ 8083E80
|
|
push {lr}
|
|
bl sub_8132670
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end MoriDebugMenu_MoveTutor
|
|
|
|
thumb_func_start MoriDebugMenu_BreedEgg
|
|
MoriDebugMenu_BreedEgg: @ 8083E90
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
movs r5, 0
|
|
movs r6, 0
|
|
_08083E98:
|
|
movs r0, 0x64
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, _08083EE0 @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08083EBC
|
|
mov r0, sp
|
|
strb r6, [r0]
|
|
adds r0, r4, 0
|
|
movs r1, 0x20
|
|
mov r2, sp
|
|
bl SetMonData
|
|
_08083EBC:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x5
|
|
bls _08083E98
|
|
ldr r0, _08083EE4 @ =gSaveBlock1
|
|
ldr r1, _08083EE8 @ =0x000030b6
|
|
adds r0, r1
|
|
movs r1, 0xFD
|
|
strb r1, [r0]
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08083EE0: .4byte gPlayerParty
|
|
_08083EE4: .4byte gSaveBlock1
|
|
_08083EE8: .4byte 0x000030b6
|
|
thumb_func_end MoriDebugMenu_BreedEgg
|
|
|
|
thumb_func_start MoriDebugMenu_LongName
|
|
MoriDebugMenu_LongName: @ 8083EEC
|
|
push {lr}
|
|
ldr r0, _08083F04 @ =gPlayerParty
|
|
ldr r2, _08083F08 @ =gUnknown_0839B257
|
|
movs r1, 0x2
|
|
bl SetMonData
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08083F04: .4byte gPlayerParty
|
|
_08083F08: .4byte gUnknown_0839B257
|
|
thumb_func_end MoriDebugMenu_LongName
|
|
|
|
thumb_func_start MoriDebugMenu_PokeblockCase
|
|
MoriDebugMenu_PokeblockCase: @ 8083F0C
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_08083F10:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl sub_810CA6C
|
|
adds r4, 0x1
|
|
cmp r4, 0x27
|
|
ble _08083F10
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end MoriDebugMenu_PokeblockCase
|
|
|
|
thumb_func_start MoriDebugMenuProcessInput
|
|
MoriDebugMenuProcessInput: @ 8083F2C
|
|
push {lr}
|
|
bl ProcessMenuInput
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08083F52
|
|
adds r0, 0x1
|
|
cmp r1, r0
|
|
beq _08083F60
|
|
ldr r2, _08083F58 @ =gCallback_03004AE8
|
|
ldr r0, _08083F5C @ =gMoriDebugMenuActions
|
|
lsls r1, 3
|
|
adds r0, 0x4
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
str r0, [r2]
|
|
_08083F52:
|
|
movs r0, 0
|
|
b _08083F66
|
|
.align 2, 0
|
|
_08083F58: .4byte gCallback_03004AE8
|
|
_08083F5C: .4byte gMoriDebugMenuActions
|
|
_08083F60:
|
|
bl sub_8071C20
|
|
movs r0, 0x1
|
|
_08083F66:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end MoriDebugMenuProcessInput
|
|
|
|
thumb_func_start InitMoriDebugMenu
|
|
InitMoriDebugMenu: @ 8083F6C
|
|
push {lr}
|
|
sub sp, 0x8
|
|
bl MenuZeroFillScreen
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0xA
|
|
movs r3, 0x13
|
|
bl MenuDrawTextWindow
|
|
ldr r3, _08083FB0 @ =gMoriDebugMenuActions
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
movs r2, 0x9
|
|
bl PrintMenuItems
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x9
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x1
|
|
movs r3, 0x9
|
|
bl InitMenu
|
|
ldr r1, _08083FB4 @ =gCallback_03004AE8
|
|
ldr r0, _08083FB8 @ =MoriDebugMenuProcessInput
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
add sp, 0x8
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08083FB0: .4byte gMoriDebugMenuActions
|
|
_08083FB4: .4byte gCallback_03004AE8
|
|
_08083FB8: .4byte MoriDebugMenuProcessInput
|
|
thumb_func_end InitMoriDebugMenu
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|