Difference between revisions of "Set r5 as New Variable Value"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
− | + | Parameters : r4 = Variable ID | |
+ | r5 = New Variable Value | ||
− | 0013b644: 27bdffe0 addiu r29,r29, | + | This routine will first clear Variable r4 value and then store r5 as new Variable value |
− | 0013b648: afb00010 sw r16,0x0010(r29) | + | ---------------------------------------------------------------------------------------------- |
− | 0013b64c: 00808021 addu r16,r4,r0 | + | 0013b644: 27bdffe0 addiu r29,r29,-0x0020 | |
− | 0013b650: afb10014 sw r17,0x0014(r29) | + | 0013b648: afb00010 sw r16,0x0010(r29) | |
− | 0013b654: 3c028016 lui r2,0x8016 | + | 0013b64c: 00808021 addu r16,r4,r0 |{{f/std|<nowiki>r16 = Variable ID</nowiki>}} |
− | 0013b658: 8c425f9c lw r2,0x5f9c(r2) | + | 0013b650: afb10014 sw r17,0x0014(r29) | |
− | 0013b65c: 3403002c ori r3,r0,0x002c | + | 0013b654: 3c028016 lui r2,0x8016 | |
− | 0013b660: afbf001c sw r31,0x001c(r29) | + | 0013b658: 8c425f9c lw r2,0x5f9c(r2) |{{f/adr|<nowiki>r2 = Variable 0x00 data pointer</nowiki>}} |
− | 0013b664: afb20018 sw r18,0x0018(r29) | + | 0013b65c: 3403002c ori r3,r0,0x002c |{{f/std|<nowiki>r3 = 0x2c</nowiki>}} |
− | 0013b668: 8c520000 lw r18,0x0000(r2) | + | 0013b660: afbf001c sw r31,0x001c(r29) | |
− | 0013b66c: 16030008 bne r16,r3,0x0013b690 | + | 0013b664: afb20018 sw r18,0x0018(r29) | |
− | 0013b670: 00a08821 addu r17,r5,r0 | + | 0013b668: 8c520000 lw r18,0x0000(r2) |{{f/load|<nowiki>r18 = Variable 0x00 value</nowiki>}} |
− | 0013b674: 3c0205f5 lui r2,0x05f5 | + | 0013b66c: 16030008 bne r16,r3,0x0013b690 {{f/Cond|If Variable ID is war funds}} |
− | 0013b678: 3442e0ff ori r2,r2,0xe0ff | + | 0013b670: 00a08821 addu r17,r5,r0 |{{f/std|<nowiki>r17 = Input Value</nowiki>}} |
− | 0013b67c: 0051102a slt r2,r2,r17 | + | 0013b674: 3c0205f5 lui r2,0x05f5 | |
− | 0013b680: 10400004 beq r2,r0,0x0013b694 | + | 0013b678: 3442e0ff ori r2,r2,0xe0ff |{{f/std|<nowiki>r2 = 0x05f5e0ff</nowiki>}} {{f/std|99 999 999}} |
− | 0013b684: 340400be ori r4,r0,0x00be | + | 0013b67c: 0051102a slt r2,r2,r17 |{{f/std|<nowiki>r2 = 0x01 if 99 999 999 < War funds</nowiki>}} |
− | 0013b688: 3c1105f5 lui r17,0x05f5 | + | 0013b680: 10400004 beq r2,r0,0x0013b694 {{f/Cond|If War funds > 99 999 999 gils}} |
− | 0013b68c: 3631e0ff ori r17,r17,0xe0ff | + | 0013b684: 340400be ori r4,r0,0x00be |{{f/std|<nowiki>r4 = 0xbe</nowiki>}} |
− | 0013b690: 340400be ori r4,r0,0x00be | + | 0013b688: 3c1105f5 lui r17,0x05f5 |{{f/std| }} |
− | 0013b694: 02002821 addu r5,r16,r0 | + | 0013b68c: 3631e0ff ori r17,r17,0xe0ff |{{f/std|<nowiki>r17 = 0x05f5e0ff</nowiki>}} {{f/std|(max warfunds is 99 999 999 gils)}} |
− | 0013b698: 00003021 addu r6,r0,r0 | + | 0013b690: 340400be ori r4,r0,0x00be |{{f/std|<nowiki>r4 = 0xbe </nowiki>}} |
− | 0013b69c: 0c052806 jal 0x0014a018 | + | 0013b694: 02002821 addu r5,r16,r0 |{{f/std|<nowiki>r5 = Variable ID</nowiki>}} |
− | 0013b6a0: 00003821 addu r7,r0,r0 | + | 0013b698: 00003021 addu r6,r0,r0 |{{f/std|<nowiki>r6 = 0x00</nowiki>}} |
− | 0013b6a4: 340400b0 ori r4,r0,0x00b0 | + | 0013b69c: 0c052806 jal 0x0014a018 |{{f/jal|Run_Script_Variable_Command|Run_Script_Variable_Command}} Nullify Variable (r5) |
− | 0013b6a8: 02002821 addu r5,r16,r0 | + | 0013b6a0: 00003821 addu r7,r0,r0 |{{f/std|<nowiki>r7 = 0x00</nowiki>}} |
− | 0013b6ac: 02203021 addu r6,r17,r0 | + | 0013b6a4: 340400b0 ori r4,r0,0x00b0 |{{f/std|<nowiki>r4 = 0xb0</nowiki>}} |
− | 0013b6b0: 0c052806 jal 0x0014a018 | + | 0013b6a8: 02002821 addu r5,r16,r0 |{{f/std|<nowiki>r5 = Variable ID</nowiki>}} |
− | 0013b6b4: 00003821 addu r7,r0,r0 | + | 0013b6ac: 02203021 addu r6,r17,r0 |{{f/std|<nowiki>r6 = Input Value (or Max War Funds)</nowiki>}} |
− | 0013b6b8: 3c028016 lui r2,0x8016 | + | 0013b6b0: 0c052806 jal 0x0014a018 |{{f/jal|Run_Script_Variable_Command|Run_Script_Variable_Command}} Add Input Value (r6) to Variable (r5) |
− | 0013b6bc: 8c425f9c lw r2,0x5f9c(r2) | + | 0013b6b4: 00003821 addu r7,r0,r0 |{{f/std|<nowiki>r7 = 0x00</nowiki>}} |
− | 0013b6c0: 00000000 nop | + | 0013b6b8: 3c028016 lui r2,0x8016 | |
− | 0013b6c4: ac520000 sw r18,0x0000(r2) | + | 0013b6bc: 8c425f9c lw r2,0x5f9c(r2) |{{f/adr|<nowiki>r2 = Variable 0x00 data pointer</nowiki>}} |
− | 0013b6c8: 8fbf001c lw r31,0x001c(r29) | + | 0013b6c0: 00000000 nop | |
− | 0013b6cc: 8fb20018 lw r18,0x0018(r29) | + | 0013b6c4: ac520000 sw r18,0x0000(r2) |{{f/store|Restore Variable 0x00 Value}} |
− | 0013b6d0: 8fb10014 lw r17,0x0014(r29) | + | 0013b6c8: 8fbf001c lw r31,0x001c(r29) |
− | 0013b6d4: 8fb00010 lw r16,0x0010(r29) | + | 0013b6cc: 8fb20018 lw r18,0x0018(r29) |
− | 0013b6d8: 27bd0020 addiu r29,r29,0x0020 | + | 0013b6d0: 8fb10014 lw r17,0x0014(r29) |
− | 0013b6dc: 03e00008 jr r31 | + | 0013b6d4: 8fb00010 lw r16,0x0010(r29) |
+ | 0013b6d8: 27bd0020 addiu r29,r29,0x0020 | ||
+ | 0013b6dc: 03e00008 jr r31 | ||
0013b6e0: 00000000 nop | 0013b6e0: 00000000 nop | ||
− | + | === Return locations === | |
− | + | '''SCUS_942.21''' | |
+ | 0004eeb8: | ||
+ | 00031330: | ||
+ | 0003133c: | ||
+ | |||
+ | '''Battle.bin''' | ||
+ | 00070d84: | ||
+ | 00070db0: | ||
+ | 0008ea14: | ||
+ | 0008ea50: | ||
+ | 0012fad4: | ||
+ | 00130900: | ||
+ | 00132280: | ||
+ | 00132314: | ||
+ | 00132334: | ||
+ | 00134238: | ||
+ | 0013b5ec: | ||
+ | 0013cd98: | ||
+ | 0013e994: | ||
+ | 0013e9ac: | ||
+ | 00141c80: | ||
+ | 00141d2c: | ||
+ | 00141d98: | ||
+ | 00141dec: | ||
+ | 001422e8: | ||
+ | 00142b2c: | ||
+ | 00142bf4: | ||
+ | 00142c00: | ||
+ | 00142c14: | ||
+ | 00142e8c: | ||
+ | 00142edc: | ||
+ | 00142f30: | ||
+ | 00142f3c: | ||
+ | 00142fb0: | ||
+ | 001432f8: | ||
+ | 00143748: | ||
+ | 00143cc4: | ||
+ | 00143cd0: | ||
+ | 00143cdc: | ||
+ | 00143eac: | ||
+ | 00143eb8: | ||
+ | 00143ef0: | ||
+ | 00143fc4: | ||
+ | 00143fdc: | ||
+ | 00144330: | ||
+ | 001443a0: | ||
+ | 00144b40: | ||
+ | 00145e90: | ||
+ | 0014621c: | ||
+ | 0014b53c: | ||
+ | 0014b5a8: | ||
+ | 0014b5b4: | ||
+ | 0014b5c8: | ||
+ | 0018eb38: [[Add_price_of_item_/_4_to_total_gil]] |
Revision as of 20:34, 15 March 2022
Parameters : r4 = Variable ID r5 = New Variable Value This routine will first clear Variable r4 value and then store r5 as new Variable value ---------------------------------------------------------------------------------------------- 0013b644: 27bdffe0 addiu r29,r29,-0x0020 | 0013b648: afb00010 sw r16,0x0010(r29) | 0013b64c: 00808021 addu r16,r4,r0 |r16 = Variable ID 0013b650: afb10014 sw r17,0x0014(r29) | 0013b654: 3c028016 lui r2,0x8016 | 0013b658: 8c425f9c lw r2,0x5f9c(r2) |r2 = Variable 0x00 data pointer 0013b65c: 3403002c ori r3,r0,0x002c |r3 = 0x2c 0013b660: afbf001c sw r31,0x001c(r29) | 0013b664: afb20018 sw r18,0x0018(r29) | 0013b668: 8c520000 lw r18,0x0000(r2) |r18 = Variable 0x00 value 0013b66c: 16030008 bne r16,r3,0x0013b690 #If Variable ID is war funds 0013b670: 00a08821 addu r17,r5,r0 |r17 = Input Value 0013b674: 3c0205f5 lui r2,0x05f5 | 0013b678: 3442e0ff ori r2,r2,0xe0ff |r2 = 0x05f5e0ff 99 999 999 0013b67c: 0051102a slt r2,r2,r17 |r2 = 0x01 if 99 999 999 < War funds 0013b680: 10400004 beq r2,r0,0x0013b694 #If War funds > 99 999 999 gils 0013b684: 340400be ori r4,r0,0x00be |r4 = 0xbe 0013b688: 3c1105f5 lui r17,0x05f5 | 0013b68c: 3631e0ff ori r17,r17,0xe0ff |r17 = 0x05f5e0ff (max warfunds is 99 999 999 gils) 0013b690: 340400be ori r4,r0,0x00be |r4 = 0xbe 0013b694: 02002821 addu r5,r16,r0 |r5 = Variable ID 0013b698: 00003021 addu r6,r0,r0 |r6 = 0x00 0013b69c: 0c052806 jal 0x0014a018 |-->Run_Script_Variable_Command Nullify Variable (r5) 0013b6a0: 00003821 addu r7,r0,r0 |r7 = 0x00 0013b6a4: 340400b0 ori r4,r0,0x00b0 |r4 = 0xb0 0013b6a8: 02002821 addu r5,r16,r0 |r5 = Variable ID 0013b6ac: 02203021 addu r6,r17,r0 |r6 = Input Value (or Max War Funds) 0013b6b0: 0c052806 jal 0x0014a018 |-->Run_Script_Variable_Command Add Input Value (r6) to Variable (r5) 0013b6b4: 00003821 addu r7,r0,r0 |r7 = 0x00 0013b6b8: 3c028016 lui r2,0x8016 | 0013b6bc: 8c425f9c lw r2,0x5f9c(r2) |r2 = Variable 0x00 data pointer 0013b6c0: 00000000 nop | 0013b6c4: ac520000 sw r18,0x0000(r2) |Restore Variable 0x00 Value 0013b6c8: 8fbf001c lw r31,0x001c(r29) 0013b6cc: 8fb20018 lw r18,0x0018(r29) 0013b6d0: 8fb10014 lw r17,0x0014(r29) 0013b6d4: 8fb00010 lw r16,0x0010(r29) 0013b6d8: 27bd0020 addiu r29,r29,0x0020 0013b6dc: 03e00008 jr r31 0013b6e0: 00000000 nop
Return locations
SCUS_942.21 0004eeb8: 00031330: 0003133c: Battle.bin 00070d84: 00070db0: 0008ea14: 0008ea50: 0012fad4: 00130900: 00132280: 00132314: 00132334: 00134238: 0013b5ec: 0013cd98: 0013e994: 0013e9ac: 00141c80: 00141d2c: 00141d98: 00141dec: 001422e8: 00142b2c: 00142bf4: 00142c00: 00142c14: 00142e8c: 00142edc: 00142f30: 00142f3c: 00142fb0: 001432f8: 00143748: 00143cc4: 00143cd0: 00143cdc: 00143eac: 00143eb8: 00143ef0: 00143fc4: 00143fdc: 00144330: 001443a0: 00144b40: 00145e90: 0014621c: 0014b53c: 0014b5a8: 0014b5b4: 0014b5c8: 0018eb38: Add_price_of_item_/_4_to_total_gil