Difference between revisions of "Palette adjustment based on Tile Type"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 0006ba38: 27bdffe8 addiu r29,r29,0xffe8 0006ba3c: afb00010 sw r16,0x0010(r29) 0006ba40: 00808021 addu r16,r4,r0 0006ba44: afbf0014 sw r31,0x001...")
 
Line 1: Line 1:
 
<font face='Courier New'>
 
<font face='Courier New'>
 +
Palette adjustment based on Tile Type 6ba38: [[0006ba38 - 0006bad4]]
 
   
 
   
  0006ba38: 27bdffe8 addiu r29,r29,0xffe8
+
00183fb4: [[Get Tile's Data Pointer]]
  0006ba3c: afb00010 sw r16,0x0010(r29)
+
00068b14: [[Call palette routine 6]]
 +
00068af4: [[Call palette routine 5]]
 +
 +
  0006ba38: 27bdffe8 addiu r29,r29,0xffe8
 +
  0006ba3c: afb00010 sw r16,0x0010(r29) Store 0x0 onto Stack
 
  0006ba40: 00808021 addu r16,r4,r0
 
  0006ba40: 00808021 addu r16,r4,r0
  0006ba44: afbf0014 sw r31,0x0014(r29)
+
  0006ba44: afbf0014 sw r31,0x0014(r29) Store 0x0 onto Stack
  0006ba48: 8e020080 lw r2,0x0080(r16)
+
  0006ba48: 8e020080 lw r2,0x0080(r16) Load ??1
  0006ba4c: 3c030200 lui r3,0x0200
+
  0006ba4c: 3c030200 lui r3,0x0200
  0006ba50: 00431024 and r2,r2,r3
+
  0006ba50: 00431024 and r2,r2,r3 0x200 &
  0006ba54: 1440001b bne r2,r0,0x0006bac4
+
  0006ba54: 1440001b bne r2,r0,0x0006bac4 Branch if 0x200 &  != 0x0
 
  0006ba58: 00000000 nop
 
  0006ba58: 00000000 nop
  0006ba5c: 92040080 lbu r4,0x0080(r16)
+
  0006ba5c: 92040080 lbu r4,0x0080(r16) Load ???
  0006ba60: 92050081 lbu r5,0x0081(r16)
+
  0006ba60: 92050081 lbu r5,0x0081(r16) Load ???
  0006ba64: 92060082 lbu r6,0x0082(r16)
+
  0006ba64: 92060082 lbu r6,0x0082(r16) Load ???
  0006ba68: 0c060fed jal 0x00183fb4
+
  0006ba68: 0c060fed jal 0x00183fb4 [[Get Tile's Data Pointer]]
 
  0006ba6c: 00000000 nop
 
  0006ba6c: 00000000 nop
  0006ba70: 10400014 beq r2,r0,0x0006bac4
+
  0006ba70: 10400014 beq r2,r0,0x0006bac4 Branch if Tile Data  == 0x0
 
  0006ba74: 00000000 nop
 
  0006ba74: 00000000 nop
  0006ba78: 90420000 lbu r2,0x0000(r2)
+
  0006ba78: 90420000 lbu r2,0x0000(r2) Load Tile Type
 
  0006ba7c: 00000000 nop
 
  0006ba7c: 00000000 nop
  0006ba80: 3042003f andi r2,r2,0x003f
+
  0006ba80: 3042003f andi r2,r2,0x003f Tile Type & 0x3F
 
  0006ba84: 2443ffff addiu r3,r2,0xffff
 
  0006ba84: 2443ffff addiu r3,r2,0xffff
  0006ba88: 2c62002e sltiu r2,r3,0x002e
+
  0006ba88: 2c62002e sltiu r2,r3,0x002e Set if -0x1 < 46
  0006ba8c: 1040000d beq r2,r0,0x0006bac4
+
  0006ba8c: 1040000d beq r2,r0,0x0006bac4 Branch if not
  0006ba90: 00031080 sll r2,r3,0x02
+
  0006ba90: 00031080 sll r2,r3,0x02 Shift left 2 bits (*0x4) (*4)
  0006ba94: 3c018006 lui r1,0x8006
+
  0006ba94: 3c018006 lui r1,0x8006
 
  0006ba98: 00220821 addu r1,r1,r2
 
  0006ba98: 00220821 addu r1,r1,r2
  0006ba9c: 8c227320 lw r2,0x7320(r1)
+
  0006ba9c: 8c227320 lw r2,0x7320(r1) Load ??1
 
  0006baa0: 00000000 nop
 
  0006baa0: 00000000 nop
  0006baa4: 00400008 jr r2
+
  0006baa4: 00400008 jr r2 Jump to Address
 
  0006baa8: 00000000 nop
 
  0006baa8: 00000000 nop
  0006baac: 0c01a2c5 jal 0x00068b14
+
  0006baac: 0c01a2c5 jal 0x00068b14 [[Call palette routine 6]]
 
  0006bab0: 02002021 addu r4,r16,r0
 
  0006bab0: 02002021 addu r4,r16,r0
  0006bab4: 0801aeb1 j 0x0006bac4
+
  0006bab4: 0801aeb1 j 0x0006bac4
 
  0006bab8: 00000000 nop
 
  0006bab8: 00000000 nop
  0006babc: 0c01a2bd jal 0x00068af4
+
  0006babc: 0c01a2bd jal 0x00068af4 [[Call palette routine 5]]
 
  0006bac0: 02002021 addu r4,r16,r0
 
  0006bac0: 02002021 addu r4,r16,r0
  0006bac4: 8fbf0014 lw r31,0x0014(r29)
+
  0006bac4: 8fbf0014 lw r31,0x0014(r29) Load Stack + 0x14
  0006bac8: 8fb00010 lw r16,0x0010(r29)
+
  0006bac8: 8fb00010 lw r16,0x0010(r29) Load Stack + 0x10
  0006bacc: 27bd0018 addiu r29,r29,0x0018
+
  0006bacc: 27bd0018 addiu r29,r29,0x0018
  0006bad0: 03e00008 jr r31
+
  0006bad0: 03e00008 jr r31 Jump to Address
 
  0006bad4: 00000000 nop
 
  0006bad4: 00000000 nop
</font>
+
 +
 +
</font>

Revision as of 20:16, 12 February 2015

Palette adjustment based on Tile Type 6ba38: 0006ba38 - 0006bad4

	00183fb4: Get Tile's Data Pointer
	00068b14: Call palette routine 6
	00068af4: Call palette routine 5

0006ba38: 27bdffe8 addiu r29,r29,0xffe8			
0006ba3c: afb00010 sw r16,0x0010(r29)			Store 0x0 onto Stack
0006ba40: 00808021 addu r16,r4,r0
0006ba44: afbf0014 sw r31,0x0014(r29)			Store 0x0 onto Stack
0006ba48: 8e020080 lw r2,0x0080(r16)			Load ??1
0006ba4c: 3c030200 lui r3,0x0200			
0006ba50: 00431024 and r2,r2,r3			0x200 & 
0006ba54: 1440001b bne r2,r0,0x0006bac4			Branch if 0x200 &  != 0x0
0006ba58: 00000000 nop
0006ba5c: 92040080 lbu r4,0x0080(r16)			Load ???
0006ba60: 92050081 lbu r5,0x0081(r16)			Load ???
0006ba64: 92060082 lbu r6,0x0082(r16)			Load ???
0006ba68: 0c060fed jal 0x00183fb4			Get Tile's Data Pointer
0006ba6c: 00000000 nop
0006ba70: 10400014 beq r2,r0,0x0006bac4			Branch if Tile Data  == 0x0
0006ba74: 00000000 nop
0006ba78: 90420000 lbu r2,0x0000(r2)			Load Tile Type
0006ba7c: 00000000 nop
0006ba80: 3042003f andi r2,r2,0x003f			Tile Type & 0x3F
0006ba84: 2443ffff addiu r3,r2,0xffff
0006ba88: 2c62002e sltiu r2,r3,0x002e			Set if -0x1 < 46
0006ba8c: 1040000d beq r2,r0,0x0006bac4			Branch if not
0006ba90: 00031080 sll r2,r3,0x02			Shift left 2 bits (*0x4) (*4)
0006ba94: 3c018006 lui r1,0x8006			
0006ba98: 00220821 addu r1,r1,r2
0006ba9c: 8c227320 lw r2,0x7320(r1)			Load ??1
0006baa0: 00000000 nop
0006baa4: 00400008 jr r2			Jump to Address
0006baa8: 00000000 nop
0006baac: 0c01a2c5 jal 0x00068b14			Call palette routine 6
0006bab0: 02002021 addu r4,r16,r0
0006bab4: 0801aeb1 j 0x0006bac4			
0006bab8: 00000000 nop
0006babc: 0c01a2bd jal 0x00068af4			Call palette routine 5
0006bac0: 02002021 addu r4,r16,r0
0006bac4: 8fbf0014 lw r31,0x0014(r29)			Load Stack + 0x14
0006bac8: 8fb00010 lw r16,0x0010(r29)			Load Stack + 0x10
0006bacc: 27bd0018 addiu r29,r29,0x0018			
0006bad0: 03e00008 jr r31			Jump to Address
0006bad4: 00000000 nop