Difference between revisions of "Get Known Abilities"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with " Get Known Abilities 0005e200: 00051040 sll r2,r5,0x01 Generic Job ID * 2 0005e204: 00451021 addu r2,r2,r5 ID * 3 0005e208: 00822021 addu r4,r4,r2 0005e20c: 90820099 lbu...")
 
m
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
  Get Known Abilities
+
'''SCUS_942.21''' - Get Known Abilities
  0005e200: 00051040 sll r2,r5,0x01 Generic Job ID * 2
+
---------------------------------------------------------------------------------------
  0005e204: 00451021 addu r2,r2,r5 ID * 3
+
Parameter : r4 = POinter to Unit Battle stats
  0005e208: 00822021 addu r4,r4,r2
+
            r5 = Skillset ID-5 : used as generic job offset in unit data (Hardcoded shit)
  0005e20c: 90820099 lbu r2,0x0099(r4) Load Known Abilities 1-8
+
Returns : r2 holding known abilities flags
  0005e210: 9083009a lbu r3,0x009a(r4) Load Known Abilities 9-16
+
---------------------------------------------------------------------------------------
  0005e214: 9084009b lbu r4,0x009b(r4) Load Known R/S/M 1-6
+
  0005e200: 00051040 sll r2,r5,0x01           |{{f/std|(Skillset ID-5)*2}}
  0005e218: 00021400 sll r2,r2,0x10
+
  0005e204: 00451021 addu r2,r2,r5           |{{f/std|ID * 3}} {{f/std|Hardcoded way to set generic job offset based on skillset ID}}
  0005e21c: 00031a00 sll r3,r3,0x08
+
  0005e208: 00822021 addu r4,r4,r2           |{{f/adr|Unit data pointer }}
  0005e220: 00431021 addu r2,r2,r3
+
  0005e20c: 90820099 lbu r2,0x0099(r4)       |{{f/load|Load Known Abilities 1-8 (AA)}}
  0005e224: 03e00008 jr r31
+
  0005e210: 9083009a lbu r3,0x009a(r4)       |{{f/load|Load Known Abilities 9-16 (BB)}}
  0005e228: 00441025 or r2,r2,r4 r2 = Known Abilities
+
  0005e214: 9084009b lbu r4,0x009b(r4)       |{{f/load|Load Known R/S/M 1-6 (SS)}}
 +
  0005e218: 00021400 sll r2,r2,0x10           |{{f/std|0x00AA0000}}
 +
  0005e21c: 00031a00 sll r3,r3,0x08           |{{f/std|0x0000BB00}}
 +
  0005e220: 00431021 addu r2,r2,r3           |{{f/std|0x00AABB00}}
 +
  0005e224: 03e00008 jr r31                   |
 +
  0005e228: 00441025 or r2,r2,r4             |{{f/std|returns know abilities flags as 0x00AABBSS}}
 +
===Return location===
 +
'''Battle.bin'''
 +
0018195c: [[Load_ability_data_for_skillset]]

Latest revision as of 18:14, 3 August 2023

SCUS_942.21 -  Get Known Abilities
---------------------------------------------------------------------------------------
Parameter : r4 = POinter to Unit Battle stats
            r5 = Skillset ID-5 : used as generic job offset in unit data (Hardcoded shit)
Returns : r2 holding known abilities flags
---------------------------------------------------------------------------------------
0005e200: 00051040 sll r2,r5,0x01           |(Skillset ID-5)*2
0005e204: 00451021 addu r2,r2,r5            |ID * 3 Hardcoded way to set generic job offset based on skillset ID
0005e208: 00822021 addu r4,r4,r2            |Unit data pointer 
0005e20c: 90820099 lbu r2,0x0099(r4)        |Load Known Abilities 1-8 (AA)
0005e210: 9083009a lbu r3,0x009a(r4)        |Load Known Abilities 9-16 (BB)
0005e214: 9084009b lbu r4,0x009b(r4)        |Load Known R/S/M 1-6 (SS)
0005e218: 00021400 sll r2,r2,0x10           |0x00AA0000
0005e21c: 00031a00 sll r3,r3,0x08           |0x0000BB00
0005e220: 00431021 addu r2,r2,r3            |0x00AABB00
0005e224: 03e00008 jr r31                   |
0005e228: 00441025 or r2,r2,r4              |returns know abilities flags as 0x00AABBSS

Return location

Battle.bin
0018195c: Load_ability_data_for_skillset