Remove Close Range Routine
Jump to navigation
Jump to search
Remove Close Range Routine r4 = Caster X r5 = Caster Y r6 = 2 00179424: 27bdfff0 addiu r29,r29,0xfff0 00179428: 3c02800e lui r2,0x800e 0017942c: 90424ea0 lbu r2,0x4ea0(r2) r2 = Max Map Y 00179430: 00000000 nop 00179434: 18400035 blez r2,0x0017950c End if Y is negative 00179438: 00004021 addu r8,r0,r0 r8 = Y counter 0017943c: 00a8102a slt r2,r5,r8 If Caster Y < Y Counter 00179440: 14400002 bne r2,r0,0x0017944c Branch if true 00179444: 01054823 subu r9,r8,r5 Y Counter - Caster Y = r9 00179448: 00a84823 subu r9,r5,r8 Caster Y - Y Counter = r9 0017944c: 3c02800e lui r2,0x800e 00179450: 90424e9c lbu r2,0x4e9c(r2) r2 = Max Map X 00179454: 00000000 nop 00179458: 18400026 blez r2,0x001794f4 go to Y counter++ if negative 0017945c: 00003821 addu r7,r0,r0 r7 = X Counter 00179460: 0087102a slt r2,r4,r7 If Caster X < X Counter 00179464: 14400002 bne r2,r0,0x00179470 Branch if true 00179468: 00e41023 subu r2,r7,r4 r2 = X Counter - Caster X 0017946c: 00871023 subu r2,r4,r7 r2 = Caster X - X Counter 00179470: 01221021 addu r2,r9,r2 Caster Y- + Caster X- = r2 00179474: 00c2102a slt r2,r6,r2 if Caster-Counter Sum > 2 00179478: 14400018 bne r2,r0,0x001794dc skip AoE blanking if true 0017947c: 00000000 nop 00179480: 3c02800e lui r2,0x800e 00179484: 90424e9c lbu r2,0x4e9c(r2) r2 = Max Map X 00179488: 00000000 nop 0017948c: 01020018 mult r8,r2 Y Counter * Max X 00179490: 00001812 mflo r3 00179494: 00671821 addu r3,r3,r7 Y Counter * Max X + X Counter 00179498: 00031080 sll r2,r3,0x02 0017949c: 00431021 addu r2,r2,r3 001794a0: 3c018019 lui r1,0x8019 001794a4: 00220821 addu r1,r1,r2 001794a8: a0202dd8 sb r0,0x2dd8(r1) Blank Counter Low Tile's AoE data 001794ac: 3c02800e lui r2,0x800e 001794b0: 90424e9c lbu r2,0x4e9c(r2) r2 = Max Map X 001794b4: 00000000 nop 001794b8: 01020018 mult r8,r2 Y Counter * Max X 001794bc: 24e20100 addiu r2,r7,0x0100 r2 = X Counter + 0x0100 001794c0: 00001812 mflo r3 001794c4: 00621821 addu r3,r3,r2 001794c8: 00031080 sll r2,r3,0x02 001794cc: 00431021 addu r2,r2,r3 001794d0: 3c018019 lui r1,0x8019 001794d4: 00220821 addu r1,r1,r2 001794d8: a0202dd8 sb r0,0x2dd8(r1) Blank Counter High Tile's AoE data 001794dc: 3c02800e lui r2,0x800e 001794e0: 90424e9c lbu r2,0x4e9c(r2) r2 = Max Map X 001794e4: 24e70001 addiu r7,r7,0x0001 X Counter ++ 001794e8: 00e2102a slt r2,r7,r2 If X Counter < Max X 001794ec: 1440ffdd bne r2,r0,0x00179464 Branch back if True 001794f0: 0087102a slt r2,r4,r7 If Caster X < X Counter 001794f4: 3c02800e lui r2,0x800e 001794f8: 90424ea0 lbu r2,0x4ea0(r2) r2 = Max Map Y 001794fc: 25080001 addiu r8,r8,0x0001 Y Counter++ 00179500: 0102102a slt r2,r8,r2 If Y Counter < Max Y 00179504: 1440ffce bne r2,r0,0x00179440 Branch Back if true 00179508: 00a8102a slt r2,r5,r8 If Caster Y < Y Counter 0017950c: 27bd0010 addiu r29,r29,0x0010 00179510: 03e00008 jr r31 00179514: 00000000 nop