Portrait loading routine
Jump to navigation
Jump to search
Formation Screen Portrait Loading 0x0010cab0: Portrait loading routine
# ATTACK.OUT: Portrait loading routine (ATTACK.OUT) 00059af0: Get Party Data Pointer 0005a8a4: Get Job Data Pointer 000eaa50: 000eaa50 - 000eabc8 0010cab0: 27bdffe0 addiu r29,r29,0xffe0 0010cab4: afb20018 sw r18,0x0018(r29) 0010cab8: 00a09021 addu r18,r5,r0 0010cabc: afbf001c sw r31,0x001c(r29) 0010cac0: afb10014 sw r17,0x0014(r29) 0010cac4: 0c0166bc jal 0x00059af0 Get Party Data Pointer 0010cac8: afb00010 sw r16,0x0010(r29) 0010cacc: 00408021 addu r16,r2,r0 0010cad0: 92050000 lbu r5,0x0000(r16) Load Sprite Set 0010cad4: 00000000 nop 0010cad8: 2ca20080 sltiu r2,r5,0x0080 Set if not generic 0010cadc: 14400026 bne r2,r0,0x0010cb78 Branch if special unit 0010cae0: 00051040 sll r2,r5,0x01 Shift left 1 bits (*0x2) (*2) 0010cae4: 34020080 ori r2,r0,0x0080 0010cae8: 14a2000a bne r5,r2,0x0010cb14 Branch if not male 0010caec: 34020081 ori r2,r0,0x0081 0010caf0: 92020002 lbu r2,0x0002(r16) Load job 0010caf4: 00000000 nop 0010caf8: 2443ffb6 addiu r3,r2,0xffb6 job - 4a 0010cafc: 00032040 sll r4,r3,0x01 Shift left 1 bits (*0x2) (*2) 0010cb00: 3403005d ori r3,r0,0x005d r3 = (0x5D) 93 0010cb04: 14430013 bne r2,r3,0x0010cb54 Branch if != 5D (93) 0010cb08: 24850060 addiu r5,r4,0x0060 0010cb0c: 080432d5 j 0x0010cb54 0010cb10: 2485005e addiu r5,r4,0x005e 0010cb14: 14a2000a bne r5,r2,0x0010cb40 Branch if 0xCC != 0010cb18: 00000000 nop 0010cb1c: 92020002 lbu r2,0x0002(r16) Load job 0010cb20: 00000000 nop 0010cb24: 2443ffb6 addiu r3,r2,0xffb6 job - 4a 0010cb28: 00032040 sll r4,r3,0x01 0x37* 0x4 (* 4) 0010cb2c: 3403005d ori r3,r0,0x005d r3 = (0x5D) 93 0010cb30: 14430008 bne r2,r3,0x0010cb54 Branch if != 5D (93) 0010cb34: 24850061 addiu r5,r4,0x0061 0010cb38: 080432d5 j 0x0010cb54 0010cb3c: 2485005f addiu r5,r4,0x005f 0010cb40: 92040002 lbu r4,0x0002(r16) Load job 0010cb44: 0c016a29 jal 0x0005a8a4 Get Job Data Pointer 0010cb48: 00000000 nop 0010cb4c: 00408821 addu r17,r2,r0 0010cb50: 9045002d lbu r5,0x002d(r2) Load ??? 0010cb54: 92030002 lbu r3,0x0002(r16) Load job 0010cb58: 3402005b ori r2,r0,0x005b r2 = (0x5B) 91 0010cb5c: 14620002 bne r3,r2,0x0010cb68 Branch if != 5B (91) 0010cb60: 3402005c ori r2,r0,0x005c r2 = (0x5C) 92 0010cb64: 34050082 ori r5,r0,0x0082 r5 = (0x82) 130 0010cb68: 14620003 bne r3,r2,0x0010cb78 Branch if != 5C (92) 0010cb6c: 00051040 sll r2,r5,0x01 Shift left 1 bits (*0x2) (*2) 0010cb70: 34050083 ori r5,r0,0x0083 r5 = (0x83) 131 0010cb74: 00051040 sll r2,r5,0x01 82 (130)* 0x4 (* 4) 0010cb78: 92030000 lbu r3,0x0000(r16) Load Sprite Set 0010cb7c: 3c018019 lui r1,0x8019 0010cb80: 00220821 addu r1,r1,r2 0010cb84: 9425a8b8 lhu r5,-0x5748(r1) Load portrait + palette 0010cb88: 14600002 bne r3,r0,0x0010cb94 Branch if != 0x0 0010cb8c: 34020082 ori r2,r0,0x0082 r2 = (0x82) 130 0010cb90: 00002821 addu r5,r0,r0 0010cb94: 14620006 bne r3,r2,0x0010cbb0 Branch if != 82 (130) 0010cb98: 30a20300 andi r2,r5,0x0300 0 & 0x300 0010cb9c: 9222002e lbu r2,0x002e(r17) Load ??? 0010cba0: 00000000 nop 0010cba4: 00021280 sll r2,r2,0x0a Shift left 10 bits (*0x400) (*1024) 0010cba8: 00a22825 or r5,r5,r2 r5 = 0 0010cbac: 30a20300 andi r2,r5,0x0300 | 0 & 0x300 0010cbb0: 14400003 bne r2,r0,0x0010cbc0 Branch if | 0 & 0x300 != 0x0 0010cbb4: 00000000 nop 0010cbb8: 0c03aa94 jal 0x000eaa50 000eaa50 - 000eabc8 0010cbbc: 02402021 addu r4,r18,r0 0010cbc0: 8fbf001c lw r31,0x001c(r29) Load Stack + 0x1C 0010cbc4: 8fb20018 lw r18,0x0018(r29) Load Stack + 0x18 0010cbc8: 8fb10014 lw r17,0x0014(r29) Load Stack + 0x14 0010cbcc: 8fb00010 lw r16,0x0010(r29) Load Stack + 0x10 0010cbd0: 27bd0020 addiu r29,r29,0x0020 0010cbd4: 03e00008 jr r31 Jump to Address 0010cbd8: 00000000 nop