Birthday Menu Graphics Related? (0x697b0)

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
#   ROUTINE: ? 0x697b0
#       Birthday menu graphics related?
#       Parameters:
#           r4 = (p1) ptr (Sometimes 0x80085f44)
#           r5 = (p2) ptr (Sometimes 0x80085fc4)
#       Returns:
#           r2 = *0x800852a8 (Value before being incremented)
#               Seems to always be:
#                   1 when making selections in birthday menu
#                   2 for confirm dialog in birthday menu

800697b0: 3c078008 lui r7,0x8008
800697b4: 24e76098 addiu r7,r7,0x6098               #   0x80086098
800697b8: 8ca60000 lw r6,0x0000(r5)                 #   *p2
800697bc: 3c028008 lui r2,0x8008
800697c0: 8c4252a8 lw r2,0x52a8(r2)                 #   *0x800852a8
800697c4: 00063080 sll r6,r6,0x02                   #   *p2 * 4
800697c8: 00c43021 addu r6,r6,r4                    #   (*p2 * 4) + p1
800697cc: 000218c0 sll r3,r2,0x03                   #   *0x800852a8 * 8
800697d0: 00621823 subu r3,r3,r2                    #   *0x800852a8 * 7
800697d4: 000318c0 sll r3,r3,0x03                   #   *0x800852a8 * 56
800697d8: 00671021 addu r2,r3,r7                    #   (*0x800852a8 * 56) + 0x80086098
800697dc: 2404ffc3 addiu r4,r0,-0x003d              #   0xffffffc3
800697e0: acc20000 sw r2,0x0000(r6)                 #   *((*p2 * 4) + p1) = (*0x800852a8 * 56) + 0x80086098
800697e4: 3c018008 lui r1,0x8008
800697e8: 24216098 addiu r1,r1,0x6098               #   0x80086098
800697ec: 00230821 addu r1,r1,r3                    #   0x80086098 + (*0x800852a8 * 56)
800697f0: 8c220000 lw r2,0x0000(r1)                 #   *(0x80086098 + (*0x800852a8 * 56))
800697f4: 24e70034 addiu r7,r7,0x0034               #   0x800860cc
800697f8: 3c018008 lui r1,0x8008
800697fc: 242160b0 addiu r1,r1,0x60b0               #   0x800860b0
80069800: 00230821 addu r1,r1,r3                    #   0x800860b0 + (*0x800852a8 * 56)
80069804: ac200000 sw r0,0x0000(r1)                 #   *(0x800860b0 + (*0x800852a8 * 56)) = 0
80069808: 00441024 and r2,r2,r4                     #   *(0x80086098 + (*0x800852a8 * 56)) & 0xffffffc3
8006980c: 3c018008 lui r1,0x8008
80069810: 24216098 addiu r1,r1,0x6098               #   0x80086098
80069814: 00230821 addu r1,r1,r3                    #   0x80086098 + (*0x800852a8 * 56)
80069818: ac220000 sw r2,0x0000(r1)                 #   *(0x80086098 + (*0x800852a8 * 56)) = *(0x80086098 + (*0x800852a8 * 56)) & 0xffffffc3        // Removing 0x3d flags
8006981c: 00671821 addu r3,r3,r7                    #   (*0x800852a8 * 56) + 0x800860cc
80069820: 34040080 ori r4,r0,0x0080                 #   0x80
80069824: a0640000 sb r4,0x0000(r3)                 #   *((*0x800852a8 * 56) + 0x800860cc) = 0x80
80069828: 3c038008 lui r3,0x8008
8006982c: 8c6352a8 lw r3,0x52a8(r3)                 #   *0x800852a8
80069830: 00000000 nop
80069834: 000310c0 sll r2,r3,0x03                   #   *0x800852a8 * 8
80069838: 00431023 subu r2,r2,r3                    #   *0x800852a8 * 7
8006983c: 000210c0 sll r2,r2,0x03                   #   *0x800852a8 * 56
80069840: 00471021 addu r2,r2,r7                    #   (*0x800852a8 * 56) + 0x800860cc
80069844: a0440001 sb r4,0x0001(r2)                 #   *((*0x800852a8 * 56) + 0x800860cd) = 0x80
80069848: 3c038008 lui r3,0x8008
8006984c: 8c6352a8 lw r3,0x52a8(r3)                 #   *0x800852a8
80069850: 00000000 nop
80069854: 000310c0 sll r2,r3,0x03                   #   *0x800852a8 * 8
80069858: 00431023 subu r2,r2,r3                    #   *0x800852a8 * 7
8006985c: 000210c0 sll r2,r2,0x03                   #   *0x800852a8 * 56
80069860: 00471021 addu r2,r2,r7                    #   (*0x800852a8 * 56) + 0x800860cc
80069864: a0440002 sb r4,0x0002(r2)                 #   *((*0x800852a8 * 56) + 0x800860ce) = 0x80
80069868: 3c038008 lui r3,0x8008
8006986c: 8c6352a8 lw r3,0x52a8(r3)                 #   *0x800852a8
80069870: 00000000 nop
80069874: 000310c0 sll r2,r3,0x03                   #   *0x800852a8 * 8
80069878: 00431023 subu r2,r2,r3                    #   *0x800852a8 * 7
8006987c: 000210c0 sll r2,r2,0x03                   #   *0x800852a8 * 56
80069880: 3c018008 lui r1,0x8008
80069884: 242160ac addiu r1,r1,0x60ac               #   0x800860ac
80069888: 00220821 addu r1,r1,r2                    #   0x800860ac + (*0x800852a8 * 56)
8006988c: ac200000 sw r0,0x0000(r1)                 #   *(0x800860ac + (*0x800852a8 * 56)) = 0
80069890: 8ca20000 lw r2,0x0000(r5)                 #   *p2
80069894: 00000000 nop
80069898: 24420001 addiu r2,r2,0x0001               #   *p2 + 1
8006989c: aca20000 sw r2,0x0000(r5)                 #   *p2 = *p2 + 1
800698a0: 3c028008 lui r2,0x8008
800698a4: 8c4252a8 lw r2,0x52a8(r2)                 #   result = *0x800852a8
800698a8: 00000000 nop
800698ac: 24430001 addiu r3,r2,0x0001               #   *0x800852a8 + 1
800698b0: 3c018008 lui r1,0x8008
800698b4: ac2352a8 sw r3,0x52a8(r1)                 #   *0x800852a8 = *0x800852a8 + 1
800698b8: 03e00008 jr r31                           #   return result;
800698bc: 00000000 nop