mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
Decomp LoadAndCompareScriptVars
This commit is contained in:
parent
23e20d9c8b
commit
77c3c59567
|
|
@ -1,5 +1,4 @@
|
|||
#pragma once
|
||||
.public CompareScriptVariables
|
||||
.public DEBUG_SPECIAL_EPISODE_NUMBER
|
||||
.public Debug_Print
|
||||
.public Debug_Print0
|
||||
|
|
@ -631,7 +631,7 @@
|
|||
.public UpdateScriptVarWithVar
|
||||
.public CompareScriptVariablesVeneer
|
||||
.public CompareScriptVarWithParam
|
||||
.public sub_0204BF88
|
||||
.public LoadAndCompareScriptVars
|
||||
.public sub_0204C5DC
|
||||
.public sub_0204C6C8
|
||||
.public sub_0204C734
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
.text
|
||||
|
||||
arm_func_start sub_0204BF88
|
||||
sub_0204BF88: ; 0x0204BF88
|
||||
arm_func_start LoadAndCompareScriptVars
|
||||
LoadAndCompareScriptVars: ; 0x0204BF88
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r7, r0
|
||||
mov r6, r2
|
||||
|
|
@ -19,7 +19,7 @@ sub_0204BF88: ; 0x0204BF88
|
|||
mov r2, r5
|
||||
bl CompareScriptVariables
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
arm_func_end sub_0204BF88
|
||||
arm_func_end LoadAndCompareScriptVars
|
||||
|
||||
arm_func_start EventFlagResume
|
||||
EventFlagResume: ; 0x0204BFC0
|
||||
|
|
|
|||
692
asm/main_0204BFC0.s
Normal file
692
asm/main_0204BFC0.s
Normal file
|
|
@ -0,0 +1,692 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "main_0204BFC0.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start EventFlagResume
|
||||
EventFlagResume: ; 0x0204BFC0
|
||||
stmdb sp!, {r4, lr}
|
||||
bl GetGameMode
|
||||
cmp r0, #1
|
||||
ldmlsia sp!, {r4, pc}
|
||||
sub r4, r0, #2
|
||||
ldr r0, _0204C1E0 ; =_0209CF64
|
||||
mov r1, r4
|
||||
bl Debug_Print0
|
||||
mov r0, r4, lsl #0x10
|
||||
mov r2, r0, lsr #0x10
|
||||
mov r0, #0
|
||||
mov r1, #0x21
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x1c
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, r4, lsl #0x10
|
||||
mov r2, r0, lsr #0x10
|
||||
mov r0, #0
|
||||
mov r1, #0x22
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x1d
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, #0
|
||||
mov r1, #0x23
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x1e
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, #0
|
||||
mov r1, #0x24
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x1f
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, #0
|
||||
mov r1, #0x25
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x20
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, #0
|
||||
mov r1, #0x2d
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x27
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, r4, lsl #0x10
|
||||
mov r2, r0, lsr #0x10
|
||||
mov r0, #0
|
||||
mov r1, #0x2e
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x28
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, r4, lsl #0x10
|
||||
mov r2, r0, lsr #0x10
|
||||
mov r0, #0
|
||||
mov r1, #0x2f
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x29
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, r4, lsl #0x10
|
||||
mov r2, r0, lsr #0x10
|
||||
mov r0, #0
|
||||
mov r1, #0x30
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x2a
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, #0
|
||||
mov r1, #0x31
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x2b
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, #0
|
||||
mov r1, #0x32
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x2c
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, #0
|
||||
mov r1, #0x37
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x34
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, #0
|
||||
mov r1, #0x38
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x35
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, r4, lsl #0x10
|
||||
mov r2, r0, lsr #0x10
|
||||
mov r0, #0
|
||||
mov r1, #0x39
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r2, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x36
|
||||
bl SaveScriptVariableValue
|
||||
bl sub_0204CBE8
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_0204C1E0: .word _0209CF64
|
||||
arm_func_end EventFlagResume
|
||||
|
||||
arm_func_start EventFlagBackup
|
||||
EventFlagBackup: ; 0x0204C1E4
|
||||
stmdb sp!, {r4, lr}
|
||||
bl GetGameMode
|
||||
cmp r0, #1
|
||||
ldmlsia sp!, {r4, pc}
|
||||
sub r4, r0, #2
|
||||
ldr r0, _0204C404 ; =_0209CF84
|
||||
mov r1, r4
|
||||
bl Debug_Print0
|
||||
mov r0, #0
|
||||
mov r1, #0x1c
|
||||
bl LoadScriptVariableValue
|
||||
mov r1, r4, lsl #0x10
|
||||
mov r3, r0
|
||||
mov r2, r1, lsr #0x10
|
||||
mov r0, #0
|
||||
mov r1, #0x21
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x1d
|
||||
bl LoadScriptVariableValue
|
||||
mov r3, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x22
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x1e
|
||||
bl LoadScriptVariableValue
|
||||
mov r3, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x23
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x1f
|
||||
bl LoadScriptVariableValue
|
||||
mov r3, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x24
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x20
|
||||
bl LoadScriptVariableValue
|
||||
mov r3, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x25
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x27
|
||||
bl LoadScriptVariableValue
|
||||
mov r3, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x2d
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x28
|
||||
bl LoadScriptVariableValue
|
||||
mov r1, r4, lsl #0x10
|
||||
mov r3, r0
|
||||
mov r2, r1, lsr #0x10
|
||||
mov r0, #0
|
||||
mov r1, #0x2e
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x29
|
||||
bl LoadScriptVariableValue
|
||||
mov r1, r4, lsl #0x10
|
||||
mov r2, r1, lsr #0x10
|
||||
mov r3, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x2f
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x2a
|
||||
bl LoadScriptVariableValue
|
||||
mov r3, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x30
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x2b
|
||||
bl LoadScriptVariableValue
|
||||
mov r3, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x31
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x2c
|
||||
bl LoadScriptVariableValue
|
||||
mov r3, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x32
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x34
|
||||
bl LoadScriptVariableValue
|
||||
mov r3, r0
|
||||
mov r0, #0
|
||||
mov r1, #0x37
|
||||
mov r2, r4, lsl #0x10
|
||||
mov r2, r2, lsr #0x10
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x35
|
||||
bl LoadScriptVariableValue
|
||||
mov r3, r0
|
||||
mov r0, r4, lsl #0x10
|
||||
mov r2, r0, lsr #0x10
|
||||
mov r0, #0
|
||||
mov r1, #0x38
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r0, #0
|
||||
mov r1, #0x36
|
||||
bl LoadScriptVariableValue
|
||||
mov r1, r4, lsl #0x10
|
||||
mov r3, r0
|
||||
mov r2, r1, lsr #0x10
|
||||
mov r0, #0
|
||||
mov r1, #0x39
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
bl ScenarioFlagBackup
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_0204C404: .word _0209CF84
|
||||
arm_func_end EventFlagBackup
|
||||
|
||||
arm_func_start DumpScriptVariableValues
|
||||
DumpScriptVariableValues: ; 0x0204C408
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r4, r0
|
||||
bl EventFlagBackup
|
||||
ldr r1, _0204C42C ; =SCRIPT_VARS_VALUES
|
||||
mov r0, r4
|
||||
mov r2, #0x400
|
||||
bl MemcpySimple
|
||||
mov r0, #1
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_0204C42C: .word SCRIPT_VARS_VALUES
|
||||
arm_func_end DumpScriptVariableValues
|
||||
|
||||
arm_func_start RestoreScriptVariableValues
|
||||
RestoreScriptVariableValues: ; 0x0204C430
|
||||
stmdb sp!, {r4, lr}
|
||||
sub sp, sp, #8
|
||||
mov r1, #0
|
||||
mov r4, r0
|
||||
add r0, sp, #0
|
||||
mov r2, r1
|
||||
bl LoadScriptVariableRaw
|
||||
ldr r0, _0204C484 ; =SCRIPT_VARS_VALUES
|
||||
mov r1, r4
|
||||
mov r2, #0x400
|
||||
bl MemcpySimple
|
||||
ldr r1, [sp]
|
||||
ldr r0, [sp, #4]
|
||||
ldrsh r1, [r1, #0xa]
|
||||
ldr r0, [r0]
|
||||
cmp r1, r0
|
||||
moveq r0, #1
|
||||
movne r0, #0
|
||||
and r0, r0, #0xff
|
||||
add sp, sp, #8
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_0204C484: .word SCRIPT_VARS_VALUES
|
||||
arm_func_end RestoreScriptVariableValues
|
||||
|
||||
arm_func_start InitScenarioScriptVars
|
||||
InitScenarioScriptVars: ; 0x0204C488
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
||||
mov r1, #0
|
||||
mov r2, r1
|
||||
mov r0, #2
|
||||
bl SetScenarioScriptVar
|
||||
mov r1, #0
|
||||
mov r2, r1
|
||||
mov r0, #3
|
||||
bl SetScenarioScriptVar
|
||||
mov r1, #0
|
||||
mov r2, r1
|
||||
mov r0, #4
|
||||
bl SetScenarioScriptVar
|
||||
mov r1, #0
|
||||
mov r2, r1
|
||||
mov r0, #5
|
||||
bl SetScenarioScriptVar
|
||||
mov r1, #0
|
||||
mov r2, r1
|
||||
mov r0, #6
|
||||
bl SetScenarioScriptVar
|
||||
mov r1, #0
|
||||
mov r0, #7
|
||||
mov r2, r1
|
||||
bl SetScenarioScriptVar
|
||||
mov r1, #0
|
||||
mov r0, #8
|
||||
mov r2, r1
|
||||
bl SetScenarioScriptVar
|
||||
mov r1, #0
|
||||
mov r0, #9
|
||||
mov r2, r1
|
||||
bl SetScenarioScriptVar
|
||||
mov r1, #0
|
||||
mov r0, #0xa
|
||||
mov r2, r1
|
||||
bl SetScenarioScriptVar
|
||||
mov r1, #0
|
||||
mov r0, #0xb
|
||||
mov r2, r1
|
||||
bl SetScenarioScriptVar
|
||||
mov r1, #0
|
||||
mov r0, #0xc
|
||||
mov r2, r1
|
||||
bl SetScenarioScriptVar
|
||||
mov r0, #0
|
||||
mov r1, #0x11
|
||||
bl ZinitScriptVariable
|
||||
mov r0, #0
|
||||
mov r1, #0x1b
|
||||
bl ZinitScriptVariable
|
||||
mov r8, #0
|
||||
mov r6, #0x1a
|
||||
mov r7, r8
|
||||
mov r5, r8
|
||||
mov r4, r6
|
||||
_0204C568:
|
||||
mov r2, r8, lsl #0x10
|
||||
mov r0, r7
|
||||
mov r1, r6
|
||||
mov r3, r7
|
||||
mov r2, r2, lsr #0x10
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
add r0, r8, #4
|
||||
mov r2, r0, lsl #0x10
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
mov r3, r5
|
||||
mov r2, r2, lsr #0x10
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
add r8, r8, #1
|
||||
cmp r8, #4
|
||||
blt _0204C568
|
||||
mov r0, #0
|
||||
mov r2, r0
|
||||
mov r1, #0x13
|
||||
bl SaveScriptVariableValue
|
||||
mov r1, #0x14
|
||||
sub r2, r1, #0x15
|
||||
mov r0, #0
|
||||
bl SaveScriptVariableValue
|
||||
mov r0, #0
|
||||
mov r2, r0
|
||||
mov r1, #0x6f
|
||||
bl SaveScriptVariableValue
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
arm_func_end InitScenarioScriptVars
|
||||
|
||||
arm_func_start sub_0204C5DC
|
||||
sub_0204C5DC: ; 0x0204C5DC
|
||||
stmdb sp!, {r4, r5, r6, lr}
|
||||
mov r6, r0
|
||||
mov r5, r1
|
||||
mov r0, #0
|
||||
mov r4, r2
|
||||
mov r1, r6
|
||||
mov r2, r0
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
str r0, [r5]
|
||||
mov r1, r6
|
||||
mov r0, #0
|
||||
mov r2, #1
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
str r0, [r4]
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
arm_func_end sub_0204C5DC
|
||||
|
||||
arm_func_start SetScenarioScriptVar
|
||||
SetScenarioScriptVar: ; 0x0204C618
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
||||
sub sp, sp, #0xc
|
||||
mov r8, r0
|
||||
mov r7, r1
|
||||
mov r0, #0
|
||||
mov r6, r2
|
||||
mov r1, r8
|
||||
mov r2, r0
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r5, r0
|
||||
mov r1, r8
|
||||
mov r0, #0
|
||||
mov r2, #1
|
||||
bl LoadScriptVariableValueAtIndex
|
||||
mov r4, r0
|
||||
stmia sp, {r4, r7}
|
||||
ldr r1, _0204C6C4 ; =_0209DFA0
|
||||
mov r0, #9
|
||||
mov r2, r8
|
||||
mov r3, r5
|
||||
str r6, [sp, #8]
|
||||
bl Debug_Print
|
||||
cmp r8, #3
|
||||
bne _0204C694
|
||||
cmp r7, r5
|
||||
cmpeq r6, r4
|
||||
beq _0204C694
|
||||
mov r0, #0
|
||||
mov r2, r0
|
||||
mov r1, #0x33
|
||||
bl SaveScriptVariableValue
|
||||
_0204C694:
|
||||
mov r0, #0
|
||||
mov r1, r8
|
||||
mov r2, r0
|
||||
mov r3, r7
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
mov r1, r8
|
||||
mov r3, r6
|
||||
mov r0, #0
|
||||
mov r2, #1
|
||||
bl SaveScriptVariableValueAtIndex
|
||||
add sp, sp, #0xc
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
||||
.align 2, 0
|
||||
_0204C6C4: .word _0209DFA0
|
||||
arm_func_end SetScenarioScriptVar
|
||||
|
||||
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
|
||||
|
|
@ -3378,7 +3378,7 @@ _022DF064:
|
|||
mov r1, r1, asr #0x10
|
||||
mov r3, r5
|
||||
add r0, r4, #0x6c
|
||||
bl sub_0204BF88
|
||||
bl LoadAndCompareScriptVars
|
||||
cmp r0, #0
|
||||
ldrneh r0, [r6, #6]
|
||||
ldrne r1, [r4, #0x14]
|
||||
|
|
|
|||
|
|
@ -48,5 +48,6 @@ void UpdateScriptVarWithParam(union script_var_value sv_local[], const enum scri
|
|||
void UpdateScriptVarWithVar(union script_var_value sv_local[], enum script_var_id sv_id_1, enum script_var_id sv_id_2, enum script_calc_operation operation);
|
||||
bool8 CompareScriptVariablesVeneer(s32 param_1, s32 param_2, enum compare_operation operation);
|
||||
s32 CompareScriptVarWithParam(union script_var_value sv_local[], enum script_var_id sv_id, s32 param, enum compare_operation op);
|
||||
s32 LoadAndCompareScriptVars(union script_var_value sv_local[], enum script_var_id sv_id_1, enum script_var_id sv_id_2, enum compare_operation op);
|
||||
|
||||
#endif //PMDSKY_SCRIPTING_H
|
||||
|
|
|
|||
2
main.lsf
2
main.lsf
|
|
@ -82,7 +82,7 @@ Static main
|
|||
Object asm/main_0204B018.o
|
||||
Object src/scripting.o
|
||||
Object asm/main_rodata_0209CECC.o
|
||||
Object asm/main_0204BF88.o
|
||||
Object asm/main_0204BFC0.o
|
||||
Object src/main_0204C938.o
|
||||
Object asm/main_0204C94C.o
|
||||
Object src/dungeon_recruitment_3.o
|
||||
|
|
|
|||
|
|
@ -471,4 +471,11 @@ s32 CompareScriptVarWithParam(union script_var_value sv_local[], enum script_var
|
|||
{
|
||||
s32 value = LoadScriptVariableValue(sv_local, sv_id);
|
||||
return CompareScriptVariables(value, param, op);
|
||||
}
|
||||
|
||||
s32 sub_0204BF88(union script_var_value sv_local[], enum script_var_id sv_id_1, enum script_var_id sv_id_2, enum compare_operation op)
|
||||
{
|
||||
s32 value_1 = LoadScriptVariableValue(sv_local, sv_id_1);
|
||||
s32 value_2 = LoadScriptVariableValue(sv_local, sv_id_2);
|
||||
return CompareScriptVariables(value_1, value_2, op);
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user