Effect Related (0x1a1d28)

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
801a1d28: 3c07801c lui r7,0x801c
801a1d2c: 24e79158 addiu r7,r7,-0x6ea8              #   next effect phase to execute
801a1d30: 3c06801c lui r6,0x801c
801a1d34: 24c6bf90 addiu r6,r6,-0x4070              #   currently executing effect phase
801a1d38: 84e20000 lh r2,0x0000(r7)                 #   load next effect phase
801a1d3c: 94c50000 lhu r5,0x0000(r6)                #   load currently executing effect phase
801a1d40: 00022140 sll r4,r2,0x05                   #   
801a1d44: 00822023 subu r4,r4,r2                    #   
801a1d48: 000420c0 sll r4,r4,0x03                   #   phase ID * 0xF8
801a1d4c: 3c01801c lui r1,0x801c
801a1d50: 00240821 addu r1,r1,r4
801a1d54: 9423f02c lhu r3,-0x0fd4(r1)               #   load queued phase
801a1d58: 00000000 nop
801a1d5c: a4e30000 sh r3,0x0000(r7)                 #   store as next phase ID
801a1d60: 3c01801c lui r1,0x801c
801a1d64: 00240821 addu r1,r1,r4
801a1d68: a425f02c sh r5,-0x0fd4(r1)                #   store current effect phase into next effect phase (phase 0 executed twice per any other phase (queues itself)
801a1d6c: a4c20000 sh r2,0x0000(r6)                 #   store next phase into currently executing phase
801a1d70: 3c01801c lui r1,0x801c
801a1d74: 00240821 addu r1,r1,r4
801a1d78: 9423f04a lhu r3,-0x0fb6(r1)               #   *(0x801bf04a + offset)
801a1d7c: 27bdfff8 addiu r29,r29,-0x0008            
801a1d80: 34630001 ori r3,r3,0x0001                 #   *(0x801bf04a + offset) | 1
801a1d84: 3c01801c lui r1,0x801c
801a1d88: 00240821 addu r1,r1,r4
801a1d8c: a423f04a sh r3,-0x0fb6(r1)                #   store with 0x1 bitflag? (skips some step?)
801a1d90: 27bd0008 addiu r29,r29,0x0008             
801a1d94: 03e00008 jr r31                           #   return effect phase to initialise?
801a1d98: 00000000 nop