Difference between revisions of "User:Pride"
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
==Secondary Routines== | ==Secondary Routines== | ||
− | 80090d30 - [[00090d30 - 00090d4c|Play Sound]] (Ultimately this routine just calls the routine at 0x00043ff8) | + | 80090d30 - [[00090d30 - 00090d4c|Play Sound]] (Ultimately this routine just calls the routine at 0x00043ff8) |
− | 800fff08 - [[Store Thread Function Parameters (WORLD.BIN) |Store Thread]] | + | 800fff08 - [[Store Thread Function Parameters (WORLD.BIN) |Store Thread]] |
==Comments== | ==Comments== |
Revision as of 23:00, 23 March 2021
Important Fact Routines
8006c3dc - Menu Controller 80092208 - Display Fact Name Outer 80092434 - Fact Menu Idle (x2E) 80092618 - Display Fact Description 800928ac - Display Fact Name Inner (x2F)
Secondary Routines
80090d30 - Play Sound (Ultimately this routine just calls the routine at 0x00043ff8) 800fff08 - Store Thread
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
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.)