Difference between revisions of "User:Pride"
Jump to navigation
Jump to search
(2 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
8006c3dc - [[Bar Menu Idle Routine|Menu Controller]] | 8006c3dc - [[Bar Menu Idle Routine|Menu Controller]] | ||
− | 80092208 - [[00092208 - 00092408|Display Fact Name | + | 80092208 - [[00092208 - 00092408|Display Fact Name Inner]] |
80092434 - [[00092434 - 00092614|Fact Menu Idle (x2E)]] | 80092434 - [[00092434 - 00092614|Fact Menu Idle (x2E)]] | ||
80092618 - [[00092618 - 000928a8|Display Fact Description]] | 80092618 - [[00092618 - 000928a8|Display Fact Description]] | ||
− | 800928ac - [[000928ac - 00092b00|Display Fact Name | + | 800928ac - [[000928ac - 00092b00|Display Fact Name Outer (x2F)]] |
==Secondary Routines== | ==Secondary Routines== | ||
Line 15: | Line 15: | ||
==Unknown Routines== | ==Unknown Routines== | ||
− | 8008fc88 - [[0008fc88 - 0008fcc4|Called in Fact Menu Idle]] | + | 8008fc88 - [[0008fc88 - 0008fcc4|Called in Fact Menu Idle]] (Takes in r4 as input) |
==Comments== | ==Comments== | ||
Line 27: | Line 27: | ||
==Data Locations== | ==Data Locations== | ||
800bb4f0 - Menu Depth | 800bb4f0 - Menu Depth | ||
+ | 800bbc70 - Graphic Display Data | ||
+ | 0x0000 - Graphic Displayed? | ||
+ | |||
800d4580 - Next Menu Routine (This pointer is updated by 4 and is loaded as a word, I've seen many routines use 800d4584 as the base offset to store this data.) | 800d4580 - Next Menu Routine (This pointer is updated by 4 and is loaded as a word, I've seen many routines use 800d4584 as the base offset to store this data.) |
Latest revision as of 02:21, 24 March 2021
Contents
Important Fact Routines
8006c3dc - Menu Controller 80092208 - Display Fact Name Inner 80092434 - Fact Menu Idle (x2E) 80092618 - Display Fact Description 800928ac - Display Fact Name Outer (x2F)
Secondary Routines
80068bc4 - Load WLDMES Sector 80090d30 - Play Sound (Ultimately this routine just calls the routine at 0x00043ff8) 80073778 - Display Yes or No Selection 800ffeec - Check Thread Running Status 800fff08 - Store Thread
Unknown Routines
8008fc88 - Called in Fact Menu Idle (Takes in r4 as input)
Comments
8009e690 is the location of the pointer table for the Menu Controller routine, Facts are called with the routines x2E (80092434 - Fact Menu Idle) and x2F (800928ac - Display Fact Name?). It appears pointers x3A - x3C are empty and available for custom functions if needed.
The way the game processes the next menu is that at the end of the routine a value (ranging from x00 to at least x3c) is stored at 800d4580 + Menu "Depth" * 4. The Menu Controller then uses this value to load the offset from the pointer table.
- Menu Depth being how many menu's deep you are until you're out of the menus screen.
Data Locations
800bb4f0 - Menu Depth 800bbc70 - Graphic Display Data 0x0000 - Graphic Displayed?
800d4580 - Next Menu Routine (This pointer is updated by 4 and is loaded as a word, I've seen many routines use 800d4584 as the base offset to store this data.)