Set Script Variable
Jump to navigation
Jump to search
# ROUTINE: SET SCRIPT VARIABLE # Parameters: # r4 = (VariableID) Variable ID (https://ffhacktics.com/wiki/Variables) # r5 = (Value) New value for variable to be set to 8013b644: 27bdffe0 addiu r29,r29,-0x0020 8013b648: afb00010 sw r16,0x0010(r29) 8013b64c: 00808021 addu r16,r4,r0 # VariableID 8013b650: afb10014 sw r17,0x0014(r29) 8013b654: 3c028016 lui r2,0x8016 8013b658: 8c425f9c lw r2,0x5f9c(r2) # Variable_0_Pointer = *0x80165f9c 8013b65c: 3403002c ori r3,r0,0x002c # 0x2c 8013b660: afbf001c sw r31,0x001c(r29) 8013b664: afb20018 sw r18,0x0018(r29) 8013b668: 8c520000 lw r18,0x0000(r2) # Old_Variable_0_Value = *Variable_0_Pointer 8013b66c: 16030008 bne r16,r3,0x8013b690 8013b670: 00a08821 addu r17,r5,r0 # newValue = Value # if (VariableID == 0x2c) { // War Funds 8013b674: 3c0205f5 lui r2,0x05f5 8013b678: 3442e0ff ori r2,r2,0xe0ff # 99999999 8013b67c: 0051102a slt r2,r2,r17 8013b680: 10400004 beq r2,r0,0x8013b694 # 8013b684: 340400be ori r4,r0,0x00be # 0xbe # if (99999999 < value) { 8013b688: 3c1105f5 lui r17,0x05f5 8013b68c: 3631e0ff ori r17,r17,0xe0ff # newValue = 99999999 # } # } 8013b690: 340400be ori r4,r0,0x00be # 0xbe 8013b694: 02002821 addu r5,r16,r0 # p1 8013b698: 00003021 addu r6,r0,r0 # 0 8013b69c: 0c052806 jal 0x8014a018 # ROUTINE: Run Script Variable Command (0xbe, p1, 0, 0) // ZERO (VariableID) 8013b6a0: 00003821 addu r7,r0,r0 # 0 8013b6a4: 340400b0 ori r4,r0,0x00b0 # 0xb0 8013b6a8: 02002821 addu r5,r16,r0 # p1 8013b6ac: 02203021 addu r6,r17,r0 # newValue 8013b6b0: 0c052806 jal 0x8014a018 # ROUTINE: Run Script Variable Command (0xb0, p1, newValue, 0) // ADD (VariableID, newValue) 8013b6b4: 00003821 addu r7,r0,r0 # 0 8013b6b8: 3c028016 lui r2,0x8016 8013b6bc: 8c425f9c lw r2,0x5f9c(r2) # Variable_0_Pointer = *0x80165f9c 8013b6c0: 00000000 nop 8013b6c4: ac520000 sw r18,0x0000(r2) # *(Variable_0_Pointer) = Old_Variable_0_Value 8013b6c8: 8fbf001c lw r31,0x001c(r29) 8013b6cc: 8fb20018 lw r18,0x0018(r29) 8013b6d0: 8fb10014 lw r17,0x0014(r29) 8013b6d4: 8fb00010 lw r16,0x0010(r29) 8013b6d8: 27bd0020 addiu r29,r29,0x0020 8013b6dc: 03e00008 jr r31 8013b6e0: 00000000 nop