Game States

From CloudModding OoT Wiki
(Redirected from Game State)
Jump to: navigation, search

Game States are the top level states of the Zelda 64 engine.

Types of Game States

Ocarina of Time has six different game states:

Code File Description
n/a Initial Game State
ovl_title Displays the Nintendo Logo
ovl_opening Initializes the Title Screen cutscene
n/a Main Game
ovl_file_choose File Select menu
ovl_select Map Select menu

Game State Table

code (File)
Game State
VersionOffsetVRomVRam
Debug1029D000B969D000B96AF08011F8308011F950
NTSC 1.00E02A000B672A000B673C0800F1340800F1460
PAL MQ0DD29000B6529000B653B0800EE190800EE2B0

This table defines the top-level states the game can execute in (Map Select, Boot Logo, the playable game itself, etc.), and reserves variable space for each state

Format

/* 0x00 */ uint RamStart; //location of overlay in ram, or 0 in rom
/* 0x04 */ int VRomStart; //if applicable
/* 0x08 */ int VRomEnd;   //if applicable
/* 0x0C */ int VRamStart; //if applicable

/* 0x10 */ int VRamEnd;   //if applicable
/* 0x14 */ uint unknown2;
/* 0x18 */ ptr VRamInitialization; //initializes and executes the given context
/* 0x1C */ ptr VRamDeconstructor; //"deconstructs" the context, and sets the next context to load

/* 0x20-0x2B */ //unknown

/* 0x2C */ int AllocateSize; //Size of initialized instance of the overlay

Debug Rom

VRom Start VRom End VRam Start VRam End VRam
Initialization
VRam
Deconstructor
Instance
Variables
File Description
00000000 00000000 00000000 00000000 800C4104 800C40FC 000000A4 N/A
00BCFAC0 00BD2B20 80800B90 80803BF0 80801E44 80801E0C 00000240 ovl_select Map Select
00BCEF30 00BCFAC0 80800000 80800B90 80800878 80800858 000001E8 ovl_title Nintendo Logo (on Boot)
00000000 00000000 00000000 00000000 800BCA64 800BC8EC 00012518 N/A Main Game. Instance variables are known as the Global Context
00BD2B20 00BD2C70 80803BF0 80803D40 80803CAC 80803CA4 000001D0 ovl_opening
00BD2C70 00BE2730 80803D40 80813820 80811A20 80811A18 0001CAE0 ovl_file_choose

NTSC 1.0

VRom Start VRom End VRam Start VRam End VRam
Initialization
VRam
Deconstructor
Instance
Variables
File Description
00000000 00000000 00000000 00000000 800A0748 800A073C 000000A4 N/A
00B9E400 00BA1160 808009C0 80803720 80801C14 80801C08 00000240 ovl_select Map Select
00B9DA40 00B9E400 80800000 808009C0 808007B0 80800750 000001E8 ovl_title Nintendo Logo (on Boot)
00000000 00000000 00000000 00000000 8009A750 8009A5C0 00012518 N/A Main Game. Instance variables are known as the Global Context
00BA1160 00BA12C0 80803720 80803880 808037E8 808037DC 000001D0 ovl_opening
00BA12C0 00BB11E0 80803880 808137C0 80812394 80812388 0001CAD0 ovl_file_choose

PAL MQ

VRom Start VRom End VRam Start VRam End VRam
Initialization
VRam
Deconstructor
Instance
Variables
File Description
00000000 00000000 00000000 00000000 800A02D8 800A02CC 000000A4 N/A
00B8AA80 00B8D700 80800850 808034D0 80801A40 80801A34 00000240 ovl_select Map Select
00B8A230 00B8AA80 80800000 80800850 808006C0 808006A0 000001E8 ovl_title Nintendo Logo (on Boot)
00000000 00000000 00000000 00000000 8009A4CC 8009A360 00012518 N/A Main Game. Instance variables are known as the Global Context
00B8D700 00B8D860 808034D0 80803630 80803598 8080358C 000001D0 ovl_opening
00B8D860 00B9C470 80803630 80812260 80810C54 80810C48 0001CAE0 ovl_file_choose