Some height/Map coordinate calculation for all units

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

Some height/Map coordinate calculation for all units

 0019cb94: 27bdffd8 addiu r29,r29,0xffd8
 0019cb98: 00002021 addu r4,r0,r0
 0019cb9c: afb10014 sw r17,0x0014(r29)
 0019cba0: 3c11801a lui r17,0x801a
 0019cba4: 2631f3c4 addiu r17,r17,0xf3c4
 0019cba8: 02201821 addu r3,r17,r0
 0019cbac: afbf0024 sw r31,0x0024(r29)
 0019cbb0: afb40020 sw r20,0x0020(r29)
 0019cbb4: afb3001c sw r19,0x001c(r29)
 0019cbb8: afb20018 sw r18,0x0018(r29)
 0019cbbc: afb00010 sw r16,0x0010(r29)
 0019cbc0: a4600b4c sh r0,0x0b4c(r3)
 0019cbc4: a4600b70 sh r0,0x0b70(r3)
 0019cbc8: 24840001 addiu r4,r4,0x0001
 0019cbcc: 28820012 slti r2,r4,0x0012
 0019cbd0: 1440fffb bne r2,r0,0x0019cbc0
 0019cbd4: 24630002 addiu r3,r3,0x0002
 0019cbd8: 00009821 addu r19,r0,r0
 0019cbdc: 34148000 ori r20,r0,0x8000
 0019cbe0: 00009021 addu r18,r0,r0
 0019cbe4: 3c028019 lui r2,0x8019
 0019cbe8: 244208cc addiu r2,r2,0x08cc               unit data
 0019cbec: 02428021 addu r16,r18,r2
 0019cbf0: 92030001 lbu r3,0x0001(r16)
 0019cbf4: 340200ff ori r2,r0,0x00ff
 0019cbf8: 1062005b beq r3,r2,0x0019cd68
 0019cbfc: 00000000 nop
 0019cc00: 92020092 lbu r2,0x0092(r16)                
 0019cc04: 00000000 nop
 0019cc08: 30420080 andi r2,r2,0x0080
 0019cc0c: 10400056 beq r2,r0,0x0019cd68                branch if no monster skill
 0019cc10: 00000000 nop
 0019cc14: 920201ba lbu r2,0x01ba(r16)
 0019cc18: 92230e39 lbu r3,0x0e39(r17)
 0019cc1c: 30420030 andi r2,r2,0x0030
 0019cc20: 14430051 bne r2,r3,0x0019cd68                branch if not acting units team
 0019cc24: 00000000 nop
 0019cc28: 02002021 addu r4,r16,r0
 0019cc2c: 0c01786c jal 0x0005e1b0                         status checks
 0019cc30: 34050004 ori r5,r0,0x0004
 0019cc34: 1440004c bne r2,r0,0x0019cd68
 0019cc38: 00000000 nop
 0019cc3c: 92030048 lbu r3,0x0048(r16)                   load coordinate
 0019cc40: 92220e3a lbu r2,0x0e3a(r17)                   load map max x
 0019cc44: 00000000 nop
 0019cc48: 00620018 mult r3,r2
 0019cc4c: 00004021 addu r8,r0,r0
 0019cc50: 96020048 lhu r2,0x0048(r16)
 0019cc54: 92040047 lbu r4,0x0047(r16)
 0019cc58: 000213c2 srl r2,r2,0x0f
 0019cc5c: 00021200 sll r2,r2,0x08
 0019cc60: 00001812 mflo r3
 0019cc64: 00431021 addu r2,r2,r3
 0019cc68: 00441021 addu r2,r2,r4
 0019cc6c: 000210c0 sll r2,r2,0x03
 0019cc70: 3c018019 lui r1,0x8019
 0019cc74: 00220821 addu r1,r1,r2
 0019cc78: 902bf8ce lbu r11,-0x0732(r1)                 load panel height?
 0019cc7c: 92030047 lbu r3,0x0047(r16)
 0019cc80: 3c01801a lui r1,0x801a
 0019cc84: 00280821 addu r1,r1,r8
 0019cc88: 9022f358 lbu r2,-0x0ca8(r1)
 0019cc8c: 00000000 nop
 0019cc90: 00623821 addu r7,r3,r2
 0019cc94: 04e00030 bltz r7,0x0019cd58
 0019cc98: 00000000 nop
 0019cc9c: 92220e3a lbu r2,0x0e3a(r17)
 0019cca0: 00000000 nop
 0019cca4: 00e2102a slt r2,r7,r2
 0019cca8: 1040002b beq r2,r0,0x0019cd58
 0019ccac: 00000000 nop
 0019ccb0: 92030048 lbu r3,0x0048(r16)
 0019ccb4: 3c01801a lui r1,0x801a
 0019ccb8: 00280821 addu r1,r1,r8
 0019ccbc: 9022f359 lbu r2,-0x0ca7(r1)
 0019ccc0: 00000000 nop
 0019ccc4: 00622821 addu r5,r3,r2
 0019ccc8: 04a00023 bltz r5,0x0019cd58
 0019cccc: 00000000 nop
 0019ccd0: 92220e3b lbu r2,0x0e3b(r17)
 0019ccd4: 00000000 nop
 0019ccd8: 00a2102a slt r2,r5,r2
 0019ccdc: 1040001e beq r2,r0,0x0019cd58
 0019cce0: 00000000 nop
 0019cce4: 00002021 addu r4,r0,r0
 0019cce8: 00055040 sll r10,r5,0x01
 0019ccec: 00f44807 srav r9,r20,r7
 0019ccf0: 02203021 addu r6,r17,r0
 0019ccf4: 92220e3a lbu r2,0x0e3a(r17)
 0019ccf8: 00000000 nop
 0019ccfc: 00a20018 mult r5,r2
 0019cd00: 00041200 sll r2,r4,0x08
 0019cd04: 00001812 mflo r3
 0019cd08: 00431021 addu r2,r2,r3
 0019cd0c: 00471021 addu r2,r2,r7
 0019cd10: 000210c0 sll r2,r2,0x03
 0019cd14: 3c018019 lui r1,0x8019
 0019cd18: 00220821 addu r1,r1,r2
 0019cd1c: 9022f8ce lbu r2,-0x0732(r1)
 0019cd20: 00000000 nop
 0019cd24: 004b1023 subu r2,r2,r11
 0019cd28: 24420002 addiu r2,r2,0x0002
 0019cd2c: 2c420005 sltiu r2,r2,0x0005
 0019cd30: 10400007 beq r2,r0,0x0019cd50
 0019cd34: 24840001 addiu r4,r4,0x0001
 0019cd38: 24c30b4c addiu r3,r6,0x0b4c
 0019cd3c: 01431821 addu r3,r10,r3
 0019cd40: 94620000 lhu r2,0x0000(r3)
 0019cd44: 00000000 nop
 0019cd48: 00491025 or r2,r2,r9
 0019cd4c: a4620000 sh r2,0x0000(r3)
 0019cd50: 1880ffe8 blez r4,0x0019ccf4
 0019cd54: 24c60024 addiu r6,r6,0x0024
 0019cd58: 25080002 addiu r8,r8,0x0002
 0019cd5c: 29020008 slti r2,r8,0x0008
 0019cd60: 1440ffc6 bne r2,r0,0x0019cc7c
 0019cd64: 00000000 nop
 0019cd68: 26730001 addiu r19,r19,0x0001
 0019cd6c: 2a620015 slti r2,r19,0x0015
 0019cd70: 1440ff9c bne r2,r0,0x0019cbe4
 0019cd74: 265201c0 addiu r18,r18,0x01c0
 
 0019cd78: 8fbf0024 lw r31,0x0024(r29)
 0019cd7c: 8fb40020 lw r20,0x0020(r29)
 0019cd80: 8fb3001c lw r19,0x001c(r29)
 0019cd84: 8fb20018 lw r18,0x0018(r29)
 0019cd88: 8fb10014 lw r17,0x0014(r29)
 0019cd8c: 8fb00010 lw r16,0x0010(r29)
 0019cd90: 27bd0028 addiu r29,r29,0x0028
 0019cd94: 03e00008 jr r31
 0019cd98: 00000000 nop