Birthday Menu Graphics Related? (0x697b0)
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