mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
Merge pull request #212 from slaw-22/Scripting4
Some checks failed
build / build (push) Has been cancelled
Some checks failed
build / build (push) Has been cancelled
Decomp more script variable functions
This commit is contained in:
commit
a798662c1d
|
|
@ -1,5 +1,4 @@
|
|||
#pragma once
|
||||
.public CalcScriptVariables
|
||||
.public DEBUG_SPECIAL_EPISODE_NUMBER
|
||||
.public Debug_Print
|
||||
.public Debug_Print0
|
||||
|
|
@ -16,5 +15,4 @@
|
|||
.public _0209CF64
|
||||
.public _0209CF84
|
||||
.public _0209DFA0
|
||||
.public CompareScriptVariables
|
||||
.public sub_0204CBE8
|
||||
|
|
@ -626,12 +626,12 @@
|
|||
.public sub_0204AE80
|
||||
.public sub_0204AEE0
|
||||
.public sub_0204B3D0
|
||||
.public sub_0204BECC
|
||||
.public sub_0204BED8
|
||||
.public sub_0204BF10
|
||||
.public sub_0204BF5C
|
||||
.public sub_0204BF68
|
||||
.public sub_0204BF88
|
||||
.public CalcScriptVariablesVeneer
|
||||
.public UpdateScriptVarWithParam
|
||||
.public UpdateScriptVarWithVar
|
||||
.public CompareScriptVariablesVeneer
|
||||
.public CompareScriptVarWithParam
|
||||
.public LoadAndCompareScriptVars
|
||||
.public sub_0204C5DC
|
||||
.public sub_0204C6C8
|
||||
.public sub_0204C734
|
||||
|
|
|
|||
|
|
@ -1,95 +1,8 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "main_0204BECC.inc"
|
||||
.include "main_0204BFC0.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start sub_0204BECC
|
||||
sub_0204BECC: ; 0x0204BECC
|
||||
ldr ip, _0204BED4 ; =CalcScriptVariables
|
||||
bx ip
|
||||
.align 2, 0
|
||||
_0204BED4: .word CalcScriptVariables
|
||||
arm_func_end sub_0204BECC
|
||||
|
||||
arm_func_start sub_0204BED8
|
||||
sub_0204BED8: ; 0x0204BED8
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r5, r2
|
||||
mov r4, r3
|
||||
mov r7, r0
|
||||
mov r6, r1
|
||||
bl LoadScriptVariableValue
|
||||
mov r1, r5
|
||||
mov r2, r4
|
||||
bl CalcScriptVariables
|
||||
mov r2, r0
|
||||
mov r0, r7
|
||||
mov r1, r6
|
||||
bl SaveScriptVariableValue
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
arm_func_end sub_0204BED8
|
||||
|
||||
arm_func_start sub_0204BF10
|
||||
sub_0204BF10: ; 0x0204BF10
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
||||
mov r8, r0
|
||||
mov r6, r2
|
||||
mov r7, r1
|
||||
mov r5, r3
|
||||
bl LoadScriptVariableValue
|
||||
mov r4, r0
|
||||
mov r0, r8
|
||||
mov r1, r6
|
||||
bl LoadScriptVariableValue
|
||||
mov r1, r0
|
||||
mov r0, r4
|
||||
mov r2, r5
|
||||
bl CalcScriptVariables
|
||||
mov r2, r0
|
||||
mov r0, r8
|
||||
mov r1, r7
|
||||
bl SaveScriptVariableValue
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
arm_func_end sub_0204BF10
|
||||
|
||||
arm_func_start sub_0204BF5C
|
||||
sub_0204BF5C: ; 0x0204BF5C
|
||||
ldr ip, _0204BF64 ; =CompareScriptVariables
|
||||
bx ip
|
||||
.align 2, 0
|
||||
_0204BF64: .word CompareScriptVariables
|
||||
arm_func_end sub_0204BF5C
|
||||
|
||||
arm_func_start sub_0204BF68
|
||||
sub_0204BF68: ; 0x0204BF68
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
mov r5, r2
|
||||
mov r4, r3
|
||||
bl LoadScriptVariableValue
|
||||
mov r1, r5
|
||||
mov r2, r4
|
||||
bl CompareScriptVariables
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
arm_func_end sub_0204BF68
|
||||
|
||||
arm_func_start sub_0204BF88
|
||||
sub_0204BF88: ; 0x0204BF88
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r7, r0
|
||||
mov r6, r2
|
||||
mov r5, r3
|
||||
bl LoadScriptVariableValue
|
||||
mov r4, r0
|
||||
mov r0, r7
|
||||
mov r1, r6
|
||||
bl LoadScriptVariableValue
|
||||
mov r1, r0
|
||||
mov r0, r4
|
||||
mov r2, r5
|
||||
bl CompareScriptVariables
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
arm_func_end sub_0204BF88
|
||||
|
||||
arm_func_start EventFlagResume
|
||||
EventFlagResume: ; 0x0204BFC0
|
||||
stmdb sp!, {r4, lr}
|
||||
|
|
@ -3196,7 +3196,7 @@ _022DEDC4: ; 0x022DEDC4
|
|||
mov r3, r5
|
||||
mov r2, r0
|
||||
add r0, r4, #0x6c
|
||||
bl sub_0204BED8
|
||||
bl UpdateScriptVarWithParam
|
||||
b _022E2474
|
||||
_022DEE00: ; 0x022DEE00
|
||||
ldrh r0, [r6]
|
||||
|
|
@ -3214,7 +3214,7 @@ _022DEE00: ; 0x022DEE00
|
|||
add r0, r4, #0x6c
|
||||
mov r2, r2, lsl #0x10
|
||||
mov r2, r2, asr #0x10
|
||||
bl sub_0204BF10
|
||||
bl UpdateScriptVarWithVar
|
||||
b _022E2474
|
||||
_022DEE44: ; 0x022DEE44
|
||||
ldrh r0, [r6]
|
||||
|
|
@ -3335,7 +3335,7 @@ _022DEFD0:
|
|||
add r0, r4, #0x6c
|
||||
mov r1, r1, asr #0x10
|
||||
mov r3, #2
|
||||
bl sub_0204BF68
|
||||
bl CompareScriptVarWithParam
|
||||
cmp r0, #0
|
||||
ldrneh r0, [r6, #4]
|
||||
ldrne r1, [r4, #0x14]
|
||||
|
|
@ -3356,7 +3356,7 @@ _022DF014:
|
|||
mov r1, r1, asr #0x10
|
||||
mov r3, r5
|
||||
add r0, r4, #0x6c
|
||||
bl sub_0204BF68
|
||||
bl CompareScriptVarWithParam
|
||||
cmp r0, #0
|
||||
ldrneh r0, [r6, #6]
|
||||
ldrne r1, [r4, #0x14]
|
||||
|
|
@ -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]
|
||||
|
|
@ -3419,7 +3419,7 @@ _022DF0FC:
|
|||
bl LoadScriptVariableValueSum
|
||||
mov r1, r5
|
||||
mov r2, r7
|
||||
bl sub_0204BF5C
|
||||
bl CompareScriptVariablesVeneer
|
||||
cmp r0, #0
|
||||
ldrneh r0, [r6, #6]
|
||||
ldrne r1, [r4, #0x14]
|
||||
|
|
@ -3616,7 +3616,7 @@ _022DF3DC:
|
|||
bl LoadScriptVariableValue
|
||||
mov r1, r5
|
||||
mov r2, r7
|
||||
bl sub_0204BECC
|
||||
bl CalcScriptVariablesVeneer
|
||||
mov r7, r0
|
||||
b _022DF6FC
|
||||
_022DF424:
|
||||
|
|
@ -3641,7 +3641,7 @@ _022DF424:
|
|||
mov r2, r7
|
||||
mov r1, r0
|
||||
mov r0, r5
|
||||
bl sub_0204BECC
|
||||
bl CalcScriptVariablesVeneer
|
||||
mov r7, r0
|
||||
b _022DF6FC
|
||||
_022DF484:
|
||||
|
|
@ -9304,7 +9304,7 @@ _022E4448:
|
|||
mov r1, sb
|
||||
mov r0, r7
|
||||
mov r2, fp
|
||||
bl sub_0204BF5C
|
||||
bl CompareScriptVariablesVeneer
|
||||
cmp r0, #0
|
||||
beq _022E44A0
|
||||
ldrh r3, [r5, #4]
|
||||
|
|
@ -9332,7 +9332,7 @@ _022E44AC:
|
|||
ldrh r2, [r5, #2]
|
||||
mov r1, sb
|
||||
mov r0, r7
|
||||
bl sub_0204BF5C
|
||||
bl CompareScriptVariablesVeneer
|
||||
cmp r0, #0
|
||||
beq _022E4508
|
||||
ldrh r3, [r5, #6]
|
||||
|
|
@ -9364,7 +9364,7 @@ _022E4514:
|
|||
mov r1, r0
|
||||
ldrh r2, [r5, #2]
|
||||
mov r0, r7
|
||||
bl sub_0204BF5C
|
||||
bl CompareScriptVariablesVeneer
|
||||
cmp r0, #0
|
||||
beq _022E4580
|
||||
ldrh r3, [r5, #6]
|
||||
|
|
@ -14712,7 +14712,7 @@ _022E8AE4:
|
|||
mov r1, #0x2a
|
||||
mov r2, #1
|
||||
mov r3, #2
|
||||
bl sub_0204BED8
|
||||
bl UpdateScriptVarWithParam
|
||||
bl sub_0204F034
|
||||
mov r4, r0
|
||||
bl sub_0204F050
|
||||
|
|
|
|||
|
|
@ -43,5 +43,11 @@ void SaveScriptVariableValueBytes(const enum script_var_id sv_id, u8* result, s3
|
|||
s32 ScriptVariablesEqual(union script_var_value sv_val_ptr_local[], enum script_var_id sv_id_1, enum script_var_id sv_id_2);
|
||||
s32 CalcScriptVariables(s32 param_1, s32 param_2, enum script_calc_operation operation);
|
||||
bool8 CompareScriptVariables(s32 param_1, s32 param_2, enum compare_operation operation);
|
||||
s32 CalcScriptVariablesVeneer(s32 param_1, s32 param_2, enum script_calc_operation operation);
|
||||
void UpdateScriptVarWithParam(union script_var_value sv_local[], const enum script_var_id script_var_id, s32 param, enum script_calc_operation operation);
|
||||
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
|
||||
4
main.lsf
4
main.lsf
|
|
@ -80,9 +80,9 @@ Static main
|
|||
Object asm/main_0203C774.o
|
||||
Object src/main_0204AFF8.o
|
||||
Object asm/main_0204B018.o
|
||||
Object src/scripting.o
|
||||
Object src/script_variable.o
|
||||
Object asm/main_rodata_0209CECC.o
|
||||
Object asm/main_0204BECC.o
|
||||
Object asm/main_0204BFC0.o
|
||||
Object src/main_0204C938.o
|
||||
Object asm/main_0204C94C.o
|
||||
Object src/dungeon_recruitment_3.o
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#include "dungeon_recruitment_3.h"
|
||||
#include "enums.h"
|
||||
#include "scripting.h"
|
||||
#include "script_variable.h"
|
||||
#include "util.h"
|
||||
|
||||
bool8 HasPlayedOldGame()
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include "main_0204C938.h"
|
||||
#include "main_0204CB94.h"
|
||||
#include "main_020517D4.h"
|
||||
#include "scripting.h"
|
||||
#include "script_variable.h"
|
||||
|
||||
extern struct bag_items *BAG_ITEMS_PTR_MIRROR;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#include "main_0204C938.h"
|
||||
#include "scripting.h"
|
||||
#include "script_variable.h"
|
||||
|
||||
s32 GetExecuteSpecialEpisodeType()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#include "main_0204CB94.h"
|
||||
#include "scripting.h"
|
||||
#include "script_variable.h"
|
||||
|
||||
u8 GetScenarioBalance()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include "debug.h"
|
||||
#include "enums.h"
|
||||
#include "main_0200224C.h"
|
||||
#include "scripting.h"
|
||||
#include "script_variable.h"
|
||||
|
||||
// Global script variable definitions
|
||||
extern struct script_var_def SCRIPT_VARS[];
|
||||
|
|
@ -441,3 +441,41 @@ bool8 CompareScriptVariables(s32 param_1, s32 param_2, enum compare_operation op
|
|||
Debug_FatalError(&ppi, &EVENT_FLAG_RULE_ERROR, operation);
|
||||
}
|
||||
}
|
||||
|
||||
s32 CalcScriptVariablesVeneer(s32 param_1, s32 param_2, enum script_calc_operation operation)
|
||||
{
|
||||
return CalcScriptVariables(param_1, param_2, operation);
|
||||
}
|
||||
|
||||
void UpdateScriptVarWithParam(union script_var_value sv_local[], const enum script_var_id script_var_id, s32 param, enum script_calc_operation operation)
|
||||
{
|
||||
s32 value = LoadScriptVariableValue(sv_local, script_var_id);
|
||||
s32 result = CalcScriptVariables(value, param, operation);
|
||||
SaveScriptVariableValue(sv_local, script_var_id, result);
|
||||
}
|
||||
|
||||
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 op)
|
||||
{
|
||||
s32 value_1 = LoadScriptVariableValue(sv_local, sv_id_1);
|
||||
s32 value_2 = LoadScriptVariableValue(sv_local, sv_id_2);
|
||||
s32 result = CalcScriptVariables(value_1, value_2, op);
|
||||
SaveScriptVariableValue(sv_local, sv_id_1, result);
|
||||
}
|
||||
|
||||
bool8 CompareScriptVariablesVeneer(s32 param_1, s32 param_2, enum compare_operation op)
|
||||
{
|
||||
return CompareScriptVariables(param_1, param_2, op);
|
||||
}
|
||||
|
||||
s32 CompareScriptVarWithParam(union script_var_value sv_local[], enum script_var_id sv_id, s32 param, enum compare_operation op)
|
||||
{
|
||||
s32 value = LoadScriptVariableValue(sv_local, sv_id);
|
||||
return CompareScriptVariables(value, param, 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)
|
||||
{
|
||||
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