Display Menu Text Entry
Jump to navigation
Jump to search
# ROUTINE: DISPLAY MENU TEXT ENTRY # Parameters: # r4 = [Combined Text Index] for lookup # 16-bit value: # (Upper 5 bits): Text Section # (Lower 11 bits): Inner string index within Section # r5 = [Parameter 2]; Pointer; Used as Parameter 2 in Routine 0x14bd88 # Sometimes varies by menu, sometimes is the same # Example values: 0x8016eb84 (Most menus), 0x801c3a7c (AT menu, part of Option menu) 0x801e5730 (Unit list) # r6 = [Parameter 3]; Menu data pointer? # Example value: 0x80165fa0 (Always seems to be this value) 0014b2f0: 27bdffe8 addiu r29,r29,0xffe8 0014b2f4: 3c028015 lui r2,0x8015 0014b2f8: 2442b394 addiu r2,r2,0xb394 # 0x8014b394: Address of routine to call 0014b2fc: afbf0010 sw r31,0x0010(r29) 0014b300: 3c018017 lui r1,0x8017 0014b304: ac223ca8 sw r2,0x3ca8(r1) # (Pseudo)-Parameter: Routine to call: Display Menu Text 0014b308: 0c0533ad jal 0x0014ceb4 # Routine: Call Inner Subroutine 0014b30c: 00003821 addu r7,r0,r0 # Parameters: ([Combined Text Index], [Parameter 2], [Parameter 3], 0) 0014b310: 8fbf0010 lw r31,0x0010(r29) 0014b314: 27bd0018 addiu r29,r29,0x0018 0014b318: 03e00008 jr r31 0014b31c: 00000000 nop