pmd-sky/asm/main_0204C6C8.s
2025-11-28 20:38:56 +00:00

208 lines
4.0 KiB
ArmAsm

.include "asm/macros.inc"
.include "main_0204C408.inc"
.text
arm_func_start sub_0204C6C8
sub_0204C6C8: ; 0x0204C6C8
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r6, r1
mov r0, #0
mov r5, r2
mov r1, r7
mov r2, r0
bl LoadScriptVariableValueAtIndex
mov r4, r0
mov r1, r7
mov r0, #0
mov r2, #1
bl LoadScriptVariableValueAtIndex
cmp r4, #0x35
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
cmp r4, r6
movlt r0, #1
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
bne _0204C72C
cmp r5, #0
blt _0204C72C
cmp r0, r5
movlt r0, #1
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
_0204C72C:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end sub_0204C6C8
arm_func_start sub_0204C734
sub_0204C734: ; 0x0204C734
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r6, r1
mov r0, #0
mov r5, r2
mov r1, r7
mov r2, r0
bl LoadScriptVariableValueAtIndex
mov r4, r0
mov r1, r7
mov r0, #0
mov r2, #1
bl LoadScriptVariableValueAtIndex
cmp r4, #0x35
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
cmp r4, r6
movlt r0, #1
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
bne _0204C7A4
cmp r5, #0
blt _0204C79C
cmp r0, r5
bgt _0204C7A4
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0204C79C:
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0204C7A4:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end sub_0204C734
arm_func_start sub_0204C7AC
sub_0204C7AC: ; 0x0204C7AC
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r6, r1
mov r0, #0
mov r5, r2
mov r1, r7
mov r2, r0
bl LoadScriptVariableValueAtIndex
mov r4, r0
mov r1, r7
mov r0, #0
mov r2, #1
bl LoadScriptVariableValueAtIndex
cmp r4, r6
bne _0204C800
cmp r5, #0
movlt r0, #1
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
cmp r0, r5
moveq r0, #1
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
_0204C800:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end sub_0204C7AC
arm_func_start sub_0204C808
sub_0204C808: ; 0x0204C808
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r6, r1
mov r0, #0
mov r5, r2
mov r1, r7
mov r2, r0
bl LoadScriptVariableValueAtIndex
mov r4, r0
mov r1, r7
mov r0, #0
mov r2, #1
bl LoadScriptVariableValueAtIndex
cmp r4, #0x35
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
cmp r4, r6
movgt r0, #1
ldmgtia sp!, {r3, r4, r5, r6, r7, pc}
bne _0204C878
cmp r5, #0
blt _0204C870
cmp r0, r5
blt _0204C878
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0204C870:
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0204C878:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end sub_0204C808
arm_func_start sub_0204C880
sub_0204C880: ; 0x0204C880
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r6, r1
mov r0, #0
mov r5, r2
mov r1, r7
mov r2, r0
bl LoadScriptVariableValueAtIndex
mov r4, r0
mov r1, r7
mov r0, #0
mov r2, #1
bl LoadScriptVariableValueAtIndex
cmp r4, #0x35
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
cmp r4, r6
movgt r0, #1
ldmgtia sp!, {r3, r4, r5, r6, r7, pc}
bne _0204C8E4
cmp r5, #0
blt _0204C8E4
cmp r0, r5
movgt r0, #1
ldmgtia sp!, {r3, r4, r5, r6, r7, pc}
_0204C8E4:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end sub_0204C880
arm_func_start GetSpecialEpisodeType
GetSpecialEpisodeType: ; 0x0204C8EC
ldr ip, _0204C8FC ; =LoadScriptVariableValue
mov r0, #0
mov r1, #0x4a
bx ip
.align 2, 0
_0204C8FC: .word LoadScriptVariableValue
arm_func_end GetSpecialEpisodeType
arm_func_start SetSpecialEpisodeType
SetSpecialEpisodeType: ; 0x0204C900
ldr ip, _0204C914 ; =SaveScriptVariableValue
mov r2, r0
mov r0, #0
mov r1, #0x4a
bx ip
.align 2, 0
_0204C914: .word SaveScriptVariableValue
arm_func_end SetSpecialEpisodeType
arm_func_start sub_0204C918
sub_0204C918: ; 0x0204C918
ldr r0, _0204C924 ; =DEBUG_SPECIAL_EPISODE_NUMBER
ldr r0, [r0]
bx lr
.align 2, 0
_0204C924: .word DEBUG_SPECIAL_EPISODE_NUMBER
arm_func_end sub_0204C918
arm_func_start sub_0204C928
sub_0204C928: ; 0x0204C928
ldr r1, _0204C934 ; =DEBUG_SPECIAL_EPISODE_NUMBER
str r0, [r1]
bx lr
.align 2, 0
_0204C934: .word DEBUG_SPECIAL_EPISODE_NUMBER
arm_func_end sub_0204C928