Difference between revisions of "User:Pride"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
Line 2: Line 2:
  
 
  8006c3dc - [[Bar Menu Idle Routine|Menu Controller]]
 
  8006c3dc - [[Bar Menu Idle Routine|Menu Controller]]
  80092208 - [[00092208 - 00092408|Display Fact Name Outer]]
+
  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 Inner (x2F)]]
+
  800928ac - [[000928ac - 00092b00|Display Fact Name Outer (x2F)]]
  
 
==Secondary Routines==
 
==Secondary Routines==

Revision as of 01:05, 24 March 2021

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

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