Difference between revisions of "Set evade type data, item and throw stone hardcoding"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m (→‎Navigation: Formatting)
m
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
  000689a4: 27bdff20 addiu r29,r29,0xff20
+
  000689a4: 27bdff20 addiu r29,r29,-0x00e0    |
  000689a8: afb000d8 sw r16,0x00d8(r29)
+
  000689a8: afb000d8 sw r16,0x00d8(r29)       |
  000689ac: 00808021 addu r16,r4,r0
+
  000689ac: 00808021 addu r16,r4,r0           |{{f/std|Preserves Unit misc pointer}}
  000689b0: afbf00dc sw r31,0x00dc(r29)
+
  000689b0: afbf00dc sw r31,0x00dc(r29)       |
  000689b4: 0c01a1f8 jal 0x000687e0 set special effects of attack based on evade type
+
  000689b4: 0c01a1f8 jal 0x000687e0           |{{f/jal|Set_evade_special_effects_based_on_Evade_Type|Set_evade_special_effects_based_on_Evade_Type}}
  000689b8: 27a50010 addiu r5,r29,0x0010
+
  000689b8: 27a50010 addiu r5,r29,0x0010     |{{f/adr|Pass stack pointer}}
  000689bc: 96030138 lhu r3,0x0138(r16) load ability ID
+
  000689bc: 96030138 lhu r3,0x0138(r16)       |{{f/load|load used ability ID}}
  000689c0: 34020094 ori r2,r0,0x0094
+
  000689c0: 34020094 ori r2,r0,0x0094         |
  000689c4: 14620003 bne r3,r2,0x000689d4 branch if not throw stone
+
  000689c4: 14620003 bne r3,r2,0x000689d4     {{f/Cond|If throw stone}} {{f/Cond|branch if not throw stone}}
  000689c8: 3402017e ori r2,r0,0x017e
+
  000689c8: 3402017e ori r2,r0,0x017e             |
  000689cc: 0801a281 j 0x00068a04
+
  000689cc: 0801a281 j 0x00068a04                 {{f/jump|jump to routine }} r4 = 0x06
  000689d0: 34040006 ori r4,r0,0x0006
+
  000689d0: 34040006 ori r4,r0,0x0006             |
  000689d4: 1062000b beq r3,r2,0x00068a04
+
                                            '''Else'''
  000689d8: 34040010 ori r4,r0,0x0010
+
  000689d4: 1062000b beq r3,r2,0x00068a04         {{f/Cond|Branch to routine if used ability is shuriken}} r4 = 0x10
  000689dc: 96020138 lhu r2,0x0138(r16) load ability ID
+
  000689d8: 34040010 ori r4,r0,0x0010                 |
  000689e0: 00000000 nop
+
  000689dc: 96020138 lhu r2,0x0138(r16)           |{{f/load|load used ability ID}}
  000689e4: 2442fe90 addiu r2,r2,0xfe90
+
  000689e0: 00000000 nop                         |
  000689e8: 2c42001a sltiu r2,r2,0x001a set if item/throw
+
  000689e4: 2442fe90 addiu r2,r2,-0x0170          |{{f/std|ID - 0x170}}
  000689ec: 14400005 bne r2,r0,0x00068a04 branch if so
+
  000689e8: 2c42001a sltiu r2,r2,0x001a           |{{f/std|1 if Ability is item or throw}}
  000689f0: 00000000 nop
+
  000689ec: 14400005 bne r2,r0,0x00068a04         {{f/Cond|Branch to routine if used ability is item or throw}} r4 = 0x10
  000689f4: 9202013b lbu r2,0x013b(r16) load used weapon type
+
  000689f0: 00000000 nop                             |
  000689f8: 3c018009 lui r1,0x8009
+
  000689f4: 9202013b lbu r2,0x013b(r16)           |{{f/load|load used weapon type}}
  000689fc: 00220821 addu r1,r1,r2
+
  000689f8: 3c018009 lui r1,0x8009               |
  00068a00: 902443c4 lbu r4,0x43c4(r1) load some animation related to weapon type? all weapons are 0, except for crossbow (3) and bow (1)
+
  000689fc: 00220821 addu r1,r1,r2               |
  00068a04: 0c06b79f jal 0x001ade7c
+
  00068a00: 902443c4 lbu r4,0x43c4(r1)           |{{f/load|load some animation related to weapon type? all weapons are 0, except for crossbow (3) and bow (1)}}
  00068a08: 27a50010 addiu r5,r29,0x0010 parse stack
+
  00068a04: 0c06b79f jal 0x001ade7c           |{{f/jal|001ade7c_-_001adfa8|001ade7c_-_001adfa8}} - r4 determines the projectile
  00068a0c: 8fbf00dc lw r31,0x00dc(r29)
+
  00068a08: 27a50010 addiu r5,r29,0x0010     |
 +
  00068a0c: 8fbf00dc lw r31,0x00dc(r29)       END
 
  00068a10: 8fb000d8 lw r16,0x00d8(r29)
 
  00068a10: 8fb000d8 lw r16,0x00d8(r29)
 
  00068a14: 27bd00e0 addiu r29,r29,0x00e0
 
  00068a14: 27bd00e0 addiu r29,r29,0x00e0
 
  00068a18: 03e00008 jr r31
 
  00068a18: 03e00008 jr r31
 
  00068a1c: 00000000 nop
 
  00068a1c: 00000000 nop
 +
  
 
==Return locations==
 
==Return locations==

Latest revision as of 20:15, 28 December 2023

000689a4: 27bdff20 addiu r29,r29,-0x00e0    |
000689a8: afb000d8 sw r16,0x00d8(r29)       |
000689ac: 00808021 addu r16,r4,r0           |Preserves Unit misc pointer
000689b0: afbf00dc sw r31,0x00dc(r29)       |
000689b4: 0c01a1f8 jal 0x000687e0           |-->Set_evade_special_effects_based_on_Evade_Type
000689b8: 27a50010 addiu r5,r29,0x0010      |Pass stack pointer
000689bc: 96030138 lhu r3,0x0138(r16)       |load used ability ID
000689c0: 34020094 ori r2,r0,0x0094         |
000689c4: 14620003 bne r3,r2,0x000689d4     #If throw stone #branch if not throw stone
000689c8: 3402017e ori r2,r0,0x017e             |
000689cc: 0801a281 j 0x00068a04                 >>jump to routine  r4 = 0x06
000689d0: 34040006 ori r4,r0,0x0006             |
                                            Else
000689d4: 1062000b beq r3,r2,0x00068a04         #Branch to routine if used ability is shuriken r4 = 0x10
000689d8: 34040010 ori r4,r0,0x0010                 |
000689dc: 96020138 lhu r2,0x0138(r16)           |load used ability ID
000689e0: 00000000 nop                          |
000689e4: 2442fe90 addiu r2,r2,-0x0170          |ID - 0x170
000689e8: 2c42001a sltiu r2,r2,0x001a           |1 if Ability is item or throw
000689ec: 14400005 bne r2,r0,0x00068a04         #Branch to routine if used ability is item or throw r4 = 0x10
000689f0: 00000000 nop                              |
000689f4: 9202013b lbu r2,0x013b(r16)           |load used weapon type
000689f8: 3c018009 lui r1,0x8009                |
000689fc: 00220821 addu r1,r1,r2                |
00068a00: 902443c4 lbu r4,0x43c4(r1)            |load some animation related to weapon type? all weapons are 0, except for crossbow (3) and bow (1)
00068a04: 0c06b79f jal 0x001ade7c           |-->001ade7c_-_001adfa8 - r4 determines the projectile
00068a08: 27a50010 addiu r5,r29,0x0010      |
00068a0c: 8fbf00dc lw r31,0x00dc(r29)       END
00068a10: 8fb000d8 lw r16,0x00d8(r29)
00068a14: 27bd00e0 addiu r29,r29,0x00e0
00068a18: 03e00008 jr r31
00068a1c: 00000000 nop


Return locations

Battle.bin
00084b00: 00084818 - 00085230	Load Unit graphics from sprite sheet
000853d4: 0008526c - 00085a14	Load WEP/EFF graphics from WEP1/EFF Sheet

< BATTLE.BIN Routines

< Set evade type data and weapon element effect
set some palette stuff >