User:Pride

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

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.)