Difference between revisions of "Check if Status Should/Can be Added"
Jump to navigation
Jump to search
(Created page with "<font face='Courier New'> 0019e5d8: 27bdffc0 addiu r29,r29,0xffc0 0019e5dc: afbe0038 sw r30,0x0038(r29) 0019e5e0: 3c1e801a lui r30,0x801a 0019e5e4: 27def3c4 addiu r30,r3...") |
|||
Line 1: | Line 1: | ||
− | + | ||
− | + | Check if Status Should/Can be Added | |
− | + | r4 = clockticks till unit acts | |
− | + | 0xX0 - set to use * 8 | |
− | + | 0x0X - status to check for (0x80 srav 0x0X) | |
− | + | 0019ef24: 00804021 addu r8,r4,r0 r8 = Clockticks Required (CT till unit acts) | |
− | + | 0019ef28: 04c10002 bgez r6,0x0019ef34 Branch if Status Mod >= 0 | |
− | + | 0019ef2c: 00c01021 addu r2,r6,r0 r2 = Status Mod | |
− | + | 0019ef30: 24c20007 addiu r2,r6,0x0007 | |
− | + | 0019ef34: 000210c3 sra r2,r2,0x03 Status Mod / 8 | |
− | + | 0019ef38: 00a23821 addu r7,r5,r2 | |
− | + | 0019ef3c: 90e40058 lbu r4,0x0058(r7) Load Unit's Statuses | |
− | + | 0019ef40: 000210c0 sll r2,r2,0x03 Status Mod / 8 * 8 | |
− | + | 0019ef44: 00c21023 subu r2,r6,r2 Status Mod MOD 8 | |
− | + | 0019ef48: 34030080 ori r3,r0,0x0080 Current Status = 0x80 | |
− | + | 0019ef4c: 00431807 srav r3,r3,r2 (get chosen status) | |
− | + | 0019ef50: 00832024 and r4,r4,r3 | |
− | + | 0019ef54: 10800013 beq r4,r0,0x0019efa4 Branch if Chosen Status isn't present | |
− | + | 0019ef58: 34020005 ori r2,r0,0x0005 r2 = 5 | |
− | + | 0019ef5c: 14c20004 bne r6,r2,0x0019ef70 Branch if not checking for Dead | |
− | + | 0019ef60: 28c20018 slti r2,r6,0x0018 | |
− | + | 0019ef64: 90a2015d lbu r2,0x015d(r5) Load Unit's Current Ability CT | |
− | + | 0019ef68: 08067be7 j 0x0019ef9c | |
− | + | 0019ef6c: 0048102a slt r2,r2,r8 (Check for CT < Clockticks Required) | |
− | + | ||
− | + | 0019ef70: 1440000d bne r2,r0,0x0019efa8 Branch if Status doesn't have a CT | |
− | + | 0019ef74: 34020001 ori r2,r0,0x0001 r2 = 1 (Fail) | |
− | + | 0019ef78: 90e2004e lbu r2,0x004e(r7) Load Innate Statuses | |
− | + | 0019ef7c: 00000000 nop | |
− | + | 0019ef80: 00431024 and r2,r2,r3 | |
− | + | 0019ef84: 14400008 bne r2,r0,0x0019efa8 Branch if Chosen Status is Innate | |
− | + | 0019ef88: 34020001 ori r2,r0,0x0001 r2 = 1 (Fail) | |
− | + | 0019ef8c: 00a61021 addu r2,r5,r6 | |
− | + | 0019ef90: 90420045 lbu r2,0x0045(r2) Load Status' CT | |
− | + | 0019ef94: 00000000 nop | |
− | + | 0019ef98: 0048102a slt r2,r2,r8 | |
− | + | 0019ef9c: 10400002 beq r2,r0,0x0019efa8 Branch if CT >= Clockticks Required | |
− | + | 0019efa0: 34020001 ori r2,r0,0x0001 r2 = 1 (Fail) | |
− | + | 0019efa4: 00001021 addu r2,r0,r0 r2 = 0 (Success) | |
− | + | 0019efa8: 03e00008 jr r31 | |
− | + | 0019efac: 00000000 nop | |
− | + | return r2 = 1 if | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 16:34, 22 February 2015
Check if Status Should/Can be Added r4 = clockticks till unit acts 0xX0 - set to use * 8 0x0X - status to check for (0x80 srav 0x0X) 0019ef24: 00804021 addu r8,r4,r0 r8 = Clockticks Required (CT till unit acts) 0019ef28: 04c10002 bgez r6,0x0019ef34 Branch if Status Mod >= 0 0019ef2c: 00c01021 addu r2,r6,r0 r2 = Status Mod 0019ef30: 24c20007 addiu r2,r6,0x0007 0019ef34: 000210c3 sra r2,r2,0x03 Status Mod / 8 0019ef38: 00a23821 addu r7,r5,r2 0019ef3c: 90e40058 lbu r4,0x0058(r7) Load Unit's Statuses 0019ef40: 000210c0 sll r2,r2,0x03 Status Mod / 8 * 8 0019ef44: 00c21023 subu r2,r6,r2 Status Mod MOD 8 0019ef48: 34030080 ori r3,r0,0x0080 Current Status = 0x80 0019ef4c: 00431807 srav r3,r3,r2 (get chosen status) 0019ef50: 00832024 and r4,r4,r3 0019ef54: 10800013 beq r4,r0,0x0019efa4 Branch if Chosen Status isn't present 0019ef58: 34020005 ori r2,r0,0x0005 r2 = 5 0019ef5c: 14c20004 bne r6,r2,0x0019ef70 Branch if not checking for Dead 0019ef60: 28c20018 slti r2,r6,0x0018 0019ef64: 90a2015d lbu r2,0x015d(r5) Load Unit's Current Ability CT 0019ef68: 08067be7 j 0x0019ef9c 0019ef6c: 0048102a slt r2,r2,r8 (Check for CT < Clockticks Required)
0019ef70: 1440000d bne r2,r0,0x0019efa8 Branch if Status doesn't have a CT 0019ef74: 34020001 ori r2,r0,0x0001 r2 = 1 (Fail) 0019ef78: 90e2004e lbu r2,0x004e(r7) Load Innate Statuses 0019ef7c: 00000000 nop 0019ef80: 00431024 and r2,r2,r3 0019ef84: 14400008 bne r2,r0,0x0019efa8 Branch if Chosen Status is Innate 0019ef88: 34020001 ori r2,r0,0x0001 r2 = 1 (Fail) 0019ef8c: 00a61021 addu r2,r5,r6 0019ef90: 90420045 lbu r2,0x0045(r2) Load Status' CT 0019ef94: 00000000 nop 0019ef98: 0048102a slt r2,r2,r8 0019ef9c: 10400002 beq r2,r0,0x0019efa8 Branch if CT >= Clockticks Required 0019efa0: 34020001 ori r2,r0,0x0001 r2 = 1 (Fail) 0019efa4: 00001021 addu r2,r0,r0 r2 = 0 (Success) 0019efa8: 03e00008 jr r31 0019efac: 00000000 nop return r2 = 1 if