Animate Unit Distorts
Jump to navigation
Jump to search
0008b234: 27bdffe8 addiu r29,r29,0xffe8 0008b238: afbf0010 sw r31,0x0010(r29) 0008b23c: 90830087 lbu r3,0x0087(r4) load value set by ffc1? 0008b240: 00000000 nop 0008b244: 1060000d beq r3,r0,0x0008b27c #Branch if 0 0008b248: 2c620012 sltiu r2,r3,0x0012 |set r2 = 1 if r3 < 0x12 0008b24c: 10400009 beq r2,r0,0x0008b274 $Branch if r3 >= 0x12 (calls error) 0008b250: 00031080 sll r2,r3,0x02 |?? * 4 0008b254: 3c018009 lui r1,0x8009 | 0008b258: 00220821 addu r1,r1,r2 |pointer of some kind 0008b25c: 8c223da0 lw r2,0x3da0(r1) |Loads table for... locations 0008b260: 00000000 nop | 0008b264: 0040f809 jalr r2,r31 |jump and link to r2 0008b268: 00000000 nop | 0008b26c: 08022c9f j 0x0008b27c #jump to end of routine 0008b270: 00000000 nop | 0008b274: 0c011282 jal 0x00044a08 $00044a08 - 00044a30 0008b278: 34040017 ori r4,r0,0x0017 |r4 = 0x17 0008b27c: 8fbf0010 lw r31,0x0010(r29) # 0008b280: 27bd0018 addiu r29,r29,0x0018 0008b284: 03e00008 jr r31 0008b288: 00000000 nop
- Call Table 0x00093da0
0 - 80089638 (cannot be called, only contains a jr r31) 1 - 80089640 Teleport distortion anim 2 - 80089748 00089748 - 000897d8 sorts some data related to the unit's height but it never actually seems to resolve? used by rush 3 - 800897dc Finalise Rush movement - returns unit to original position? final movement present in rush. 4 - 80089da0 moves unit to a new destination? 00089da0 - 00089dbc sets r5 input to 1 (allow height change), jumps to 000898a0 - 00089b9c 5 - 80089dc0 6 - 80089f24 00089f24 - 0008a114 - moves height of unit only? 7 - 8008a118 8 - 80089de0 9 - 80089e00 A - 8008a34c (only has one function: clears 0x87 and continues) B - 8008a354 (only has one function: clears 0x87 and continues) C - 8008a35c Mounting distort anim 2 D - 8008a4ac 0008a4ac - 0008a6d4 - used by rush E - 8008a924 0008a924 - 0008ab30 - has a whole plethora of complicated routines that i am NOT looking at today. F - 8008ab34 0008ab34 - 0008adf4 - moves unit to a destination 10 - 8008adf8 11 - 8008b0c8