Handle Menu Action (WORLD.BIN)

From Final Fantasy Hacktics Wiki
Revision as of 14:21, 1 July 2020 by Glain (talk | contribs) (Created page with " # ROUTINE: HANDLE MENU ACTION (WORLD.BIN) # Handles taking a menu action. # This function is an analog to Handle Menu Action in BATTLE.BIN. # Param...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
#   ROUTINE: HANDLE MENU ACTION (WORLD.BIN)
#       Handles taking a menu action.
#       This function is an analog to Handle Menu Action in BATTLE.BIN.
#       Parameters:
#           r4 = (p1) Struct data for menu (Example value: 0x8018c0d8)
#           r5 = (p2) Row index

800ebb08: 3c028015 lui r2,0x8015
800ebb0c: 944232da lhu r2,0x32da(r2)
800ebb10: 27bdffb0 addiu r29,r29,-0x0050
800ebb14: afb70044 sw r23,0x0044(r29)
800ebb18: 00a0b821 addu r23,r5,r0
800ebb1c: afb00028 sw r16,0x0028(r29)
800ebb20: 34100002 ori r16,r0,0x0002
800ebb24: afbf004c sw r31,0x004c(r29)
800ebb28: afbe0048 sw r30,0x0048(r29)
800ebb2c: afb60040 sw r22,0x0040(r29)
800ebb30: afb5003c sw r21,0x003c(r29)
800ebb34: afb40038 sw r20,0x0038(r29)
800ebb38: afb30034 sw r19,0x0034(r29)
800ebb3c: afb20030 sw r18,0x0030(r29)
800ebb40: afb1002c sw r17,0x002c(r29)
800ebb44: 14500007 bne r2,r16,0x800ebb64
800ebb48: afa40010 sw r4,0x0010(r29)
800ebb4c: 0c03bc6a jal 0x800ef1a8
800ebb50: 34040028 ori r4,r0,0x0028
800ebb54: 02e21007 srav r2,r2,r23
800ebb58: 30420001 andi r2,r2,0x0001
800ebb5c: 1440008e bne r2,r0,0x800ebd98
800ebb60: 00000000 nop
800ebb64: 3c028019 lui r2,0x8019
800ebb68: 8c425c34 lw r2,0x5c34(r2)
800ebb6c: 00000000 nop
800ebb70: 30420020 andi r2,r2,0x0020
800ebb74: 10400088 beq r2,r0,0x800ebd98
800ebb78: 0000b021 addu r22,r0,r0
800ebb7c: 0c03ae8c jal 0x800eba30
800ebb80: 00000000 nop
800ebb84: 10400084 beq r2,r0,0x800ebd98
800ebb88: 00000000 nop
800ebb8c: 3c02801d lui r2,0x801d
800ebb90: 8c42d170 lw r2,-0x2e90(r2)
800ebb94: 00000000 nop
800ebb98: 00021a80 sll r3,r2,0x0a
800ebb9c: 3c018019 lui r1,0x8019
800ebba0: 00230821 addu r1,r1,r3
800ebba4: 8c225d24 lw r2,0x5d24(r1)
800ebba8: 00000000 nop
800ebbac: 14400007 bne r2,r0,0x800ebbcc
800ebbb0: 00000000 nop
800ebbb4: 3c018019 lui r1,0x8019
800ebbb8: 00230821 addu r1,r1,r3
800ebbbc: ac305d24 sw r16,0x5d24(r1)
800ebbc0: 3c018019 lui r1,0x8019
800ebbc4: 00230821 addu r1,r1,r3
800ebbc8: ac205d20 sw r0,0x5d20(r1)
800ebbcc: 8fa80010 lw r8,0x0010(r29)
800ebbd0: 00000000 nop
800ebbd4: 8d100024 lw r16,0x0024(r8)
800ebbd8: 00000000 nop
800ebbdc: 2602000f addiu r2,r16,0x000f
800ebbe0: 2c42000f sltiu r2,r2,0x000f
800ebbe4: 14400004 bne r2,r0,0x800ebbf8
800ebbe8: 0200a021 addu r20,r16,r0
800ebbec: 00171040 sll r2,r23,0x01
800ebbf0: 00501021 addu r2,r2,r16
800ebbf4: 84540000 lh r20,0x0000(r2)
800ebbf8: 00000000 nop
800ebbfc: 06800023 bltz r20,0x800ebc8c
800ebc00: 32821000 andi r2,r20,0x1000
800ebc04: 10400003 beq r2,r0,0x800ebc14
800ebc08: 00000000 nop
800ebc0c: 34160001 ori r22,r0,0x0001
800ebc10: 2694f000 addiu r20,r20,-0x1000
800ebc14: 0680001d bltz r20,0x800ebc8c
800ebc18: 2a820100 slti r2,r20,0x0100
800ebc1c: 10400016 beq r2,r0,0x800ebc78
800ebc20: 00148100 sll r16,r20,0x04
800ebc24: 02148023 subu r16,r16,r20
800ebc28: 00108080 sll r16,r16,0x02
800ebc2c: 3c02801d lui r2,0x801d
800ebc30: 8c42d7e0 lw r2,-0x2820(r2)
800ebc34: 3c04801d lui r4,0x801d
800ebc38: 8c84d170 lw r4,-0x2e90(r4)
800ebc3c: 02021021 addu r2,r16,r2
800ebc40: 8c450028 lw r5,0x0028(r2)
800ebc44: 0c03ff5c jal 0x800ffd70
800ebc48: 2484ffff addiu r4,r4,-0x0001
800ebc4c: 00003021 addu r6,r0,r0
800ebc50: 00003821 addu r7,r0,r0
800ebc54: 3c04801d lui r4,0x801d
800ebc58: 8c84d170 lw r4,-0x2e90(r4)
800ebc5c: 3c05801d lui r5,0x801d
800ebc60: 8ca5d7e0 lw r5,-0x2820(r5)
800ebc64: 2484ffff addiu r4,r4,-0x0001
800ebc68: 0c03ffc2 jal 0x800fff08
800ebc6c: 02052821 addu r5,r16,r5
800ebc70: 0803af57 j 0x800ebd5c
800ebc74: 00000000 nop
800ebc78: 340204d2 ori r2,r0,0x04d2
800ebc7c: 16820037 bne r20,r2,0x800ebd5c
800ebc80: 00000000 nop
800ebc84: 0803af57 j 0x800ebd5c
800ebc88: 2417ffff addiu r23,r0,-0x0001
800ebc8c: 0014a023 subu r20,r0,r20
800ebc90: 00009821 addu r19,r0,r0
800ebc94: 34050001 ori r5,r0,0x0001
800ebc98: 34040003 ori r4,r0,0x0003
800ebc9c: 3c038019 lui r3,0x8019
800ebca0: 24635d1c addiu r3,r3,0x5d1c
800ebca4: 8c620000 lw r2,0x0000(r3)
800ebca8: 00000000 nop
800ebcac: 14450002 bne r2,r5,0x800ebcb8
800ebcb0: 26730001 addiu r19,r19,0x0001
800ebcb4: ac640000 sw r4,0x0000(r3)
800ebcb8: 2a620011 slti r2,r19,0x0011
800ebcbc: 1440fff9 bne r2,r0,0x800ebca4
800ebcc0: 24630400 addiu r3,r3,0x0400
800ebcc4: 1a800025 blez r20,0x800ebd5c
800ebcc8: 00009821 addu r19,r0,r0
800ebccc: 34150008 ori r21,r0,0x0008
800ebcd0: 3c1e8015 lui r30,0x8015
800ebcd4: 27de31c8 addiu r30,r30,0x31c8
800ebcd8: 3c02801d lui r2,0x801d
800ebcdc: 8c42d170 lw r2,-0x2e90(r2)
800ebce0: 34030001 ori r3,r0,0x0001
800ebce4: 02621021 addu r2,r19,r2
800ebce8: 00022280 sll r4,r2,0x0a
800ebcec: 3c018019 lui r1,0x8019
800ebcf0: 00240821 addu r1,r1,r4
800ebcf4: ac235cd8 sw r3,0x5cd8(r1)
800ebcf8: 14550014 bne r2,r21,0x800ebd4c
800ebcfc: 00000000 nop
800ebd00: 1a800012 blez r20,0x800ebd4c
800ebd04: 00008821 addu r17,r0,r0
800ebd08: 03c09021 addu r18,r30,r0
800ebd0c: 02b18023 subu r16,r21,r17
800ebd10: 0c040059 jal 0x80100164
800ebd14: 02002021 addu r4,r16,r0
800ebd18: 10400009 beq r2,r0,0x800ebd40
800ebd1c: 26310001 addiu r17,r17,0x0001
800ebd20: 00101280 sll r2,r16,0x0a
800ebd24: 3c018019 lui r1,0x8019
800ebd28: 00220821 addu r1,r1,r2
800ebd2c: 8c225cd0 lw r2,0x5cd0(r1)
800ebd30: 00000000 nop
800ebd34: 94420038 lhu r2,0x0038(r2)
800ebd38: 00000000 nop
800ebd3c: a6420000 sh r2,0x0000(r18)
800ebd40: 0234102a slt r2,r17,r20
800ebd44: 1440fff1 bne r2,r0,0x800ebd0c
800ebd48: 26520002 addiu r18,r18,0x0002
800ebd4c: 26730001 addiu r19,r19,0x0001
800ebd50: 0274102a slt r2,r19,r20
800ebd54: 1440ffe0 bne r2,r0,0x800ebcd8
800ebd58: 00000000 nop
800ebd5c: 8fa80010 lw r8,0x0010(r29)
800ebd60: 00000000 nop
800ebd64: 8d020034 lw r2,0x0034(r8)
800ebd68: 3c018019 lui r1,0x8019
800ebd6c: ac205c34 sw r0,0x5c34(r1)
800ebd70: a4570000 sh r23,0x0000(r2)
800ebd74: 3c028015 lui r2,0x8015
800ebd78: 8c4232a0 lw r2,0x32a0(r2)
800ebd7c: 00000000 nop
800ebd80: 14400005 bne r2,r0,0x800ebd98
800ebd84: 00000000 nop
800ebd88: 16c00003 bne r22,r0,0x800ebd98
800ebd8c: 00000000 nop
800ebd90: 0c0387ac jal 0x800e1eb0
800ebd94: 00000000 nop
800ebd98: 8fbf004c lw r31,0x004c(r29)
800ebd9c: 8fbe0048 lw r30,0x0048(r29)
800ebda0: 8fb70044 lw r23,0x0044(r29)
800ebda4: 8fb60040 lw r22,0x0040(r29)
800ebda8: 8fb5003c lw r21,0x003c(r29)
800ebdac: 8fb40038 lw r20,0x0038(r29)
800ebdb0: 8fb30034 lw r19,0x0034(r29)
800ebdb4: 8fb20030 lw r18,0x0030(r29)
800ebdb8: 8fb1002c lw r17,0x002c(r29)
800ebdbc: 8fb00028 lw r16,0x0028(r29)
800ebdc0: 27bd0050 addiu r29,r29,0x0050
800ebdc4: 03e00008 jr r31
800ebdc8: 00000000 nop