Difference between revisions of "User:Pride"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
==Important Fact Routines==
 
==Important Fact Routines==
  
[[Bar Menu Idle Routine|Menu Controller]]
+
8006c3dc - [[Bar Menu Idle Routine|Menu Controller]]
 +
80092208 - [[00092208 - 00092408|Display Fact Name Inner]]
 +
80092434 - [[00092434 - 00092614|Fact Menu Idle (x2E)]]
 +
80092618 - [[00092618 - 000928a8|Display Fact Description]]
 +
800928ac - [[000928ac - 00092b00|Display Fact Name Outer (x2F)]]
 +
 
 +
==Secondary Routines==
 +
80068bc4 - [[00068bc4 - 00068c60|Load WLDMES Sector]]
 +
80090d30 - [[00090d30 - 00090d4c|Play Sound]] (Ultimately this routine just calls the routine at 0x00043ff8)
 +
80073778 - [[00073778 - 00073b28|Display Yes or No Selection]]
 +
800ffeec - [[Check Thread Running Status (WORLD.BIN)|Check Thread Running Status]]
 +
800fff08 - [[Store Thread Function Parameters (WORLD.BIN)|Store Thread]]
 +
 
 +
==Unknown Routines==
 +
8008fc88 - [[0008fc88 - 0008fcc4|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.)

Latest revision as of 02:21, 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 (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.)