-
Notifications
You must be signed in to change notification settings - Fork 5
GameBits
The GameBits system is a set of bit-packed tables that store game state information. There are four tables in total:
Tbl | Offset | Size | Note |
---|---|---|---|
0 | 803a4198 | 0080 | temporary table |
1 | 00000564 | 0074 | |
2 | 00000024 | 0144 | |
3 | 000005D8 | 00AC |
Table 0 is temporary (offset is a RAM address); the other three are saved (offset is within the save file).
The difference between the three non-temporary tables seems arbitrary. Table 1 contains most of the map act values; table 2 contains most item and progression states; table 3 is very small and mostly contains object group states. Many different types of value are spread across all three, though.
- Table 3 is excluded from being backed up when making certain respawn points.
"Size" is number of bytes. Each "bit" (as the game calls them) is a variable number of (binary) bits wide (1 to 32) packed in the table.
The file BITTABLE.bin
defines the location of each Bit:
Offset | Type | Description |
---|---|---|
000000 | u16 | Bit (not byte) offset into table |
000002 | u8 | Flags and table index |
000003 | u8 | Hint text index |
Flags are a bitfield: TTHSSSSS
- S: Size (number of binary bits)
- H: Whether this bit has an associated hint text
- T: Which table this bit belongs to
If the bit has a hint text, the hint text index + 0xF4 gives the GameText ID. The first phrase of this text is the description that shows on the save select screen when the task is cleared; the rest are Slippy's hint for when the task isn't cleared. The IDs are in order of when they're encountered in-game, so to display the previous hints, just iterate backward.
Curiosities:
- Bits 0x95, 0x96 are forced to always be 1 and 0 respectively. These are used to mark items in the shop as always or never available.
- Many objects' parameters include GameBit IDs, eg to make the object's state or visibility depend on a GameBit. These are often set to 0x95 or 0x96, even though the objects usually also accept 0xFFFF to mean "always".
- A GameBit's value can be inverted by setting bit 15 of its ID. eg reading bit 0x8095 always returns 0. This capability seems to only be used by a single object. If used on a Bit whose size is greater than 1, the value is masked with 0x1 and then inverted.
- Bits above 0xF4A may access out of bounds data. The game's range check is incorrect and assumes there are twice as many bits as there actually are. In practice, nothing ever tries to access these.
- Bit 0x1BE tracks how many scarabs you have, and is displayed in the C menu under Give Scarabs. However, a separate variable tracks how many you have for spending, and is shown in the HUD.
- Most items use the same bit for "have item" and "bought item"; however, there are a few exceptions, such as Tricky's Ball.
- Some bits in table 0 have a hint text. Since table 0 isn't saved to the save file, the descriptions can never be seen. This is probably a bug.
- Many entries in BITTABLE.BIN are all zeroes, suggesting deleted entries.
Map Bits:
- Some maps have an Act Number, which is a GameBit that ranges from 0 to 15. Objects can be set to only appear during certain acts.
- Previously these have been called state or chapter, but debug message refer to them as act number.
- Act 0 is never used. It causes all objects to appear, which often crashes the game due to memory shortage.
- Some maps have an Object Groups value, which is a GameBit whose value is 32 binary bits, each tracking the state of an object group.
- Some messages also refer to this as "MapBits" or "Flags".
- This is independent from the Act Number. Objects' scripts can modify these bits, and use them to determine whether a given object should appear.
- It's not clear what determines whether an object is assigned a bit in this field, or its own GameBit.
- The same Act Number and Object Groups are shared by related maps. Some maps have only one or neither of these values.
Items:
- Items can have three bits:
- A "have item" bit, which tells if you obtained the item
- A "used item" bit, which tells if you used up the item and it should no longer appear in your inventory
- A "can't use item" bit, which dims the item in the inventory
- Curiously, Krazoa Spirits and SpellStones don't work this way. Setting the "used" bit does not remove them from your HUD; instead, the game clears the "have" bit when they're used.
- The C menu contents are a list of these GameBits, except for Tricky's, which are binary bit masks for the unlocked skills.
The following lists all known bits by ID.
- Name: a name I've made up
- HT: Hint text ID
- H: Has hint text (otherwise HT is ignored)
- MaxValue: the largest possible value (size of this field)
- NewGame: value at the very beginning of the game
- ChapterN: value in Chapter N (from the hidden chapter select)
- EndGame: value near the very end of the game (after collecting the last spirit)
- Note: a note, surprisingly enough
values are in hex.
Bits 0x95 and 0x96 are overridden in the function that checks bits, ignoring the actual values shown here.
The full table is too large for the wiki, so only known entries are shown. Refer to data/U0/gamebits.xml
in the main repository for the full list.
Bit# | Name | HT | H | MaxValue | NewGame | Chapter2 | Chapter3 | Chapter4 | Chapter5 | EndGame | Note |
---|---|---|---|---|---|---|---|---|---|---|---|
0000 | CantCallTricky | 00 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | |
0001 | HaveTrickyFind | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0002 | HaveCallTricky | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0003 | HaveTrickyStay | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0004 | HaveTrickyFlame | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0018 | ClimbOnSnowHorn | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | climbing onto SnowHorn (will warp you to nearby one) |
0019 | ClimbOffSnowHorn | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0095 | Always1 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | used for always-available shop items |
0096 | Always0 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | used for never-available (unused) shop items |
0241 | HaveSilverKey241 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
03D8 | DinoHorn_3D8 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
03E3 | SnowHorn03E3 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to riding SnowHorn |
03E9 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | did collect something (defNo 0x319) | |
03F1 | DinoHorn_3F1 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
044F | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to menus | |
04E3 | TrickyTalk | 00 | 0 | FF | 0 | FF | FF | FF | FF | 0 | if < FF, can talk to Tricky, but he won't say anything |
058D | NoMapData | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Force No Map Data |
05BA | SnowHown05BA | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to riding SnowHorn |
05BB | SnowHown05BB | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to riding SnowHorn |
091E | WarpRelated091E | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to warp pads |
09D5 | IncomingCommunication | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Slippy calling you |
0BC7 | MapFlagsLinkI | 00 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | |
0C30 | PlayerIsDisguised | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0EFB | WarpRelated0EFB | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to warp pads |
0EFE | ShopRelated0EFE | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to shopkeeper |
0F3C | 00 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | should be UsedCheatToken8, but that doesn't exist? |
Bit# | Name | ?? | ? | MaxValue | NewGame | Chapter2 | Chapter3 | Chapter4 | Chapter5 | EndGame | Note |
---|---|---|---|---|---|---|---|---|---|---|---|
0005 | HaveTrickysBall | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | separate from BoughtTrickysBall |
0044 | HavePrisonKey | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0075 | HaveStaff | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
00DF | MapBitsHightop | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
00E0 | MapBitsDiscovery | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
00E2 | MapBitsMazeCave | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
00E4 | MapBitsWarlock | 00 | 0 | F | 1 | 1 | 2 | 3 | 4 | 6 | Krazoa Palace |
00E5 | MapBitsFortress | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
00E6 | MapBitsWallCity | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 2 | |
00E7 | MapBitsSwapCircle | 00 | 0 | F | 1 | 1 | 1 | 6 | 6 | 6 | LightFoot Village |
00E8 | MapBitsCloudTreasure | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
00E9 | MapBitsCloudDungeon | 00 | 0 | F | 1 | 1 | 0 | 0 | 0 | 0 | |
00EA | MapBitsCloudTrap | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
00EB | MapBitsMoonPass | 00 | 0 | F | 1 | 1 | 2 | 2 | 2 | 2 | |
00ED | MapBitsIceMountain | 00 | 0 | F | 1 | 2 | 2 | 2 | 2 | 2 | newicemount, newicemount2, newicemount3 |
00EF | MapBitsDfShrine | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
00F0 | MapBitsAnimTest | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
0144 | MapBitsMagicCave | 00 | 0 | F | 1 | 2 | 2 | 2 | 2 | 1 | |
0229 | MapBitsSnowMines3 | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
02D6 | HaveFireGem | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0336 | HaveKey336 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | XXX where is this key from? |
0349 | MapBitsFinalBoss | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
03EE | MapBitsDiamondBay | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
0492 | MapBitsSnowMines | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
04AB | WaterSpellStone1_4AB | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to spellstone |
04B7 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to object targeting | |
0547 | MapBitsTrexBoss | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
05D0 | MapBitsKrazTest | 00 | 0 | F | 1 | 1 | 1 | 2 | 2 | 2 | also dfptop |
076E | MapBitsDragRock | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
076F | MapBitsDragRockBottom | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
07BF | HaveSpellStone7BF | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
08EC | MapBitsOldKrazoaPalace | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | old "krazoapalace" map |
0902 | WaterSpellStone1_902 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
091C | HaveKPGoldKey | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | from Krazoa Palace |
0970 | SavedWithOneLessHealth | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | game saved with one less health - no idea why this exists |
0A7B | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | did collect something | |
0ABA | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | WarpStone related | |
0B81 | MapBitsLinkA | 00 | 0 | F | 1 | 1 | 3 | 3 | 3 | 3 | |
0CC2 | MapBitsGreatFox | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 |
Bit# | Name | ?? | ? | MaxValue | NewGame | Chapter2 | Chapter3 | Chapter4 | Chapter5 | EndGame | Note |
---|---|---|---|---|---|---|---|---|---|---|---|
0025 | BoughtTrickysBall | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | separate from HaveTrickysBall |
0028 | AlpineRoot_028 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
002A | UsedShackleKey | 27 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
002B | HaveShackleKey | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
002D | HaveFireballSpell | 0B | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0040 | HaveSharpClawDisguise | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
0051 | HaveRedCrystal | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | power gems in CloudRunner Fortress |
0052 | HaveGreenCrystal | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0053 | HaveBlueCrystal | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0060 | HavePowerKey | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | in CloudRunner Fortress |
009E | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to Queen EarthWalker | |
00A9 | NumFireGems | 00 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | |
00B4 | UsedUnknownItem | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
00BF | 1A | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | related to Queen EarthWalker | |
00C1 | NumTrickyFoods | 00 | 0 | F | 0 | 9 | B | B | F | F | Number of Tricky foods (GrubTub Fungus) |
00C2 | NumMushroomsFedToQueen | 00 | 0 | 7 | 0 | 6 | 6 | 6 | 6 | 6 | |
00C7 | HaveUnknownItem | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Item name is "Unknown" |
00E1 | MapBitsHollow | 00 | 0 | F | 1 | 3 | 4 | 5 | 7 | 8 | ThornTail Hollow (top and bottom) |
00E3 | MapBitsWastes | 00 | 0 | F | 1 | 1 | 1 | 1 | 1 | 1 | |
00EE | MapBitsCapeClaw | 00 | 0 | F | 1 | 1 | 2 | 3 | 3 | 3 | |
00FF | HaveKrazoaSpirit | 6F | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | XXX which? |
0107 | HaveGroundQuake | 40 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
0123 | HaveFireSpellStone1 | 35 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | |
012F | 00 | 0 | FFFFFFFF | 0 | FFFFFFFE | FFFFFFFE | FFFFFFFE | FFFFFFFE | FFFFFFFE | related to hint texts | |
013D | NumFireflies | 00 | 0 | 1F | 0 | 4 | 6 | 6 | 6 | 7 | |
013E | HaveFireflyLantern | 1D | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
016F | AlpineRoot_16F | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0170 | NumAlpineRoots170 | 00 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | two separate counters? |
0174 | HaveKrazoaSpirit | B2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | XXX which? |
017B | HaveCog1 | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
017E | HaveCog2 | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
017F | HaveCog3 | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0180 | HaveCog4 | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0181 | PlacedCog1 | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0182 | PlacedCog2 | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0183 | PlacedCog3 | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0184 | PlacedCog4 | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0186 | LoadTrickyBadge | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
018B | StaffRelated018B | 0A | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0190 | FireWeed_190 | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
0191 | FireWeed_191 | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
0192 | FireWeed_192 | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
0194 | NumFireWeeds | 00 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | |
0196 | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | related to bomb spores | |
019D | SnowHornArtifact19D | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | set when using artifact |
019F | SnowHornArtifact19F | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | checked when using artifact |
01A2 | BoughtSnowHornArtifact | 85 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
01A3 | UsedSnowHownArtifact | 86 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
01B8 | MapId01B8 | 00 | 0 | FF | 0 | 5F | 10 | 15 | 15 | 35 | destination map ID of some warp - dimhornplinth, clouddungeon, kraztest, kamdrag |
01BE | MoneyGiveScarabs | 00 | 0 | FF | 0 | 2C | B | 13 | 14 | 22 | Money (in Give Scarabs option) |
01EE | HaveDinosaurHorn | 2C | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
01F1 | HaveGoldKey | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
01F3 | HaveSilverKey1F3 | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0201 | HaveSunStone | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
0202 | UsedSunStone | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
0219 | UsedGoldKey | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
021A | UsedSilverKey1F3 | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
022B | UsedFireSpellStone1 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0242 | UsedSilverKey241 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0243 | UsedMoonStone | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
025A | UsedGoldTooth | 00 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | |
025B | UsedSilverTooth | 00 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | |
0264 | HaveMoonStone | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
0282 | HaveSilverKey282 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0283 | UsedSilverKey282 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
029A | 48 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to transporter | |
029B | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | related to transporter | |
02B6 | TestOfStrengthBestTime1 | 00 | 0 | FFFF | 0 | 0 | 0 | 2E1 | 2E1 | 279 | |
02B7 | TrackingTestBestTime1 | 00 | 0 | FFFF | 0 | 0 | 0 | 2C7A | 2C7A | 2B04 | |
02CB | TrackingTestBestTime2 | 00 | 0 | FFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
02CC | TrackingTestBestTime3 | 00 | 0 | FFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
02D7 | TestOfStrengthBestTime2 | 00 | 0 | FFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
02D8 | TestOfStrengthBestTime3 | 00 | 0 | FFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
02E8 | HaveWaterSpellStone1 | 5C | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | |
0316 | 08 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | related to transporter | |
03F0 | NumGoldBarsGiven | 00 | 0 | 7 | 0 | 0 | 4 | 4 | 4 | 4 | |
03F4 | 4B | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | related to gold bars | |
03F5 | NumFuelCells | 00 | 0 | FF | 0 | 1 | 0 | 0 | A | 18 | |
03F8 | CanThrowBall | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | set after throwing and you can throw multiple balls! |
03F9 | WorldMapDarkIce | 24 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | unlocked DarkIce Mines on world map |
03FA | WorldMapCloudFort | 4F | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | unlocked CloudRunner Fortress on world map |
03FB | WorldMapWallCity | 73 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | unlocked Walled City on world map |
03FC | WorldMapDragRock | 8C | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | unlocked Dragon Rock on world map |
0453 | UsedKey611 | 37 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
04E4 | CanUseTricky | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | can use Tricky commands |
04FE | MapBitsTemple | 00 | 0 | F | 1 | 1 | 1 | 2 | 2 | 2 | |
0511 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to transporter | |
0576 | NumAlpineRoots576 | 00 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | |
0578 | NumAlpineRootsUsed | 00 | 0 | 7 | 0 | 2 | 2 | 2 | 2 | 2 | or "used at least one root" |
059D | HaveVolcanoMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | Have Volcano Force Point Map |
059E | HaveDarkIceMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | Have DarkIce Mines Map |
05A0 | HaveSnowWastesMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | Have SnowHorn Wastes Map |
05A1 | HaveCloudFortMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | Have CloudRunner Fortress Map |
05A2 | HaveLightFootMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | Have LightFoot Village Map |
05A3 | HaveHollowMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | Have ThornTail Hollow Map |
05BD | HaveOpenPortal | 00 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | |
05CE | HaveIceBlast | 3A | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
05D6 | NumFirefliesNotShown | 00 | 0 | 1F | 0 | 4 | 6 | 6 | 6 | 7 | |
0611 | HaveKey611 | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
0647 | UsedBlock2 | 00 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | |
0651 | DinoHorn_651 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
066C | NumBombSpores | 00 | 0 | 7 | 0 | 0 | 3 | 2 | 4 | 3 | |
066D | NumWhiteMushrooms | 00 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | |
07BD | HaveSpellStone7BD | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | unused? |
07DD | HaveDragRockMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
07E5 | HaveKrazoaMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
07E9 | HaveOceanMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | Have Ocean Force Point Map |
081D | HaveSilverTooth | 00 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | |
081E | HaveGoldTooth | 00 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | |
082E | HaveWallCityMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
082F | HaveCapeClawMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
0835 | HaveMoonPassMap | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
083A | HaveSpellStone83A | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | unused? |
083B | HaveFireSpellStone2 | 7D | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | |
083C | HaveWaterSpellStone2 | 9D | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | |
086A | NumMoonSeeds | 00 | 0 | 7 | 0 | 0 | 1 | 1 | 0 | 7 | |
0886 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to rock candy | |
08A0 | HaveUnknownItem8A0 | 71 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
08A2 | UsedUnknownItem8A0 | 00 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | set at chapter 4 |
090D | DidCollectMagic | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | Have collected a Staff Energy Gem (if 0, explain it when you collect one) |
090E | DidCollectBigHealth | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
090F | DidCollectApple | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | small health pickup |
0912 | DidSeeWarpPad | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | if not, explains what it is when touching one |
0919 | Have50ScarabBag | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
091A | Have100ScarabBag | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
091B | Have200ScarabBag | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | |
0953 | HaveFlute | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
0957 | HaveStaffBooster | 1C | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0958 | HaveLaserSpell | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Have Rapid Fire Laser Spell (unused) |
0960 | CantUsePortalSpell | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0961 | StaffRelated0961 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0964 | CantUseStaffBooster | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0965 | StaffRelated0965 | 00 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | |
0967 | CantUseFireflies | 00 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | disables lantern in menu |
0969 | CantUseSharpClawDisguise | 00 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | |
096B | CantUseSuperQuake | 00 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | |
0986 | CantUseFireballSpell | 00 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | |
09A8 | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | did collect something (moon seed?) | |
0A63 | WorldMapDinoPlanet | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | unlocked Dinosaur Planet on world map (automatically set when loading the world map) |
0ADA | UsedKPGoldKey | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | in Krazoa Palace |
0AF7 | NumGoldBars | 00 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | |
0B98 | ShowBombCounter | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | on HUD |
0B99 | ShowTrickyFoodCounter | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0B9A | ShowFireflyCounter | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0B9B | ShowMoonSeedCounter | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
0B9C | ShowScarabCounter | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0BA8 | HaveKrazoaSpirit1 | 07 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0BDE | UsedBlock3 | 00 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | |
0BE5 | UsedBlock1 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
0BFD | HaveKrazoaSpirit | 44 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | XXX which? |
0C11 | HaveTricky | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | maybe wrong |
0C25 | HaveBlock1 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | in LightFoot Village |
0C26 | HaveBlock2 | 00 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | |
0C27 | HaveBlock3 | 00 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | |
0C55 | HaveSuperQuake | 78 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | |
0C64 | HaveViewfinder | A5 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | aka High-Defnition Display Device or Zoom Goggles |
0C6E | HaveKrazoaSpirit | 88 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | XXX which? |
0C70 | 8A | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to transporter | |
0C71 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | related to transporter | |
0C7C | BoughtRockCandy | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0C7D | UsedRockCandy | 0E | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0C7E | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to rock candy | |
0C85 | HaveKrazoaSpirit | AD | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | XXX which? |
0C8B | LinkETunnelOpen | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | broke open wind tunnel in LinkE |
0C8D | HavePDA | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0CA3 | GoldBar1NotReturned | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0CA4 | GoldBar2NotReturned | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0CA5 | GoldBar3NotReturned | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0CA6 | GoldBar4NotReturned | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0CB5 | B0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | related to transporter | |
0CB7 | B3 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to transporter | |
0CB8 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to transporter | |
0CBC | CantUseSpellStone | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | dims them in the menu |
0CC0 | DidCollectBafomdad | 00 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
0D16 | UsedGateKey | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0D20 | HaveGateKey | 1F | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0D97 | ShowFuelCellCounter | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | on HUD |
0DDC | HaveCheatToken0 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | Display Credits |
0DDD | HaveCheatToken3 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | Dino Language |
0DDE | HaveCheatToken2 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Music Test |
0DDF | HaveCheatToken6 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0DE0 | HaveCheatToken4 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
0DE1 | HaveCheatToken7 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
0DE2 | HaveCheatToken1 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Sepia Mode |
0DE3 | HaveCheatToken5 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
0DE4 | HaveCheatToken8 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | No corresponding UsedCheatToken8? doesn't show up in C menu |
0DE5 | HaveCheat0_Credits | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Display Credits |
0DE6 | HaveCheat3_Dino | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Dino Language |
0DE7 | HaveCheat2_MusicTest | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Music Test |
0DE8 | HaveCheat6 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0DE9 | HaveCheat4 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0DEA | HaveCheat7 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0DEB | HaveCheat1_Sepia | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Sepia Mode |
0DEC | HaveCheat5 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0DED | HaveCheat8 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0EB0 | BoughtBadGuyAlert | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | unused shop item |
0EB1 | HaveMagic | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | |
0EB2 | HaveBafomdadHolder | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
0EB5 | CantUseFlute | 00 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | |
0EE5 | SnowHornArtifactEE5 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | set when using artifact |
0EE6 | SnowHornArtifactEE6 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | set when using artifact |
0F10 | MapBits | 00 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | up to F1C? |
0F34 | UsedCheatToken0 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Display Credits |
0F35 | UsedCheatToken3 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Dino Language |
0F36 | UsedCheatToken2 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Music Test |
0F37 | UsedCheatToken6 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0F38 | UsedCheatToken4 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0F39 | UsedCheatToken7 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0F3A | UsedCheatToken1 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Sepia Mode |
0F3B | UsedCheatToken5 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit# | Name | ?? | ? | MaxValue | NewGame | Chapter2 | Chapter3 | Chapter4 | Chapter5 | EndGame | Note |
---|---|---|---|---|---|---|---|---|---|---|---|
0145 | MapFlagsMagicCave | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
02BA | Envfx02BA | 00 | 0 | FF | 0 | C | 3 | F | 0 | 5 | related to player envfx |
036A | MapFlagsWallCity | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | C23 | C23 | C23 | |
0373 | MapFlagsSnowMines2 | 00 | 0 | FFFFFFFF | 0 | 40002 | 40002 | 40002 | 40002 | 40002 | |
0397 | MapFlagsDiamondBay | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
03AD | MapFlagsIceMountain | 00 | 0 | FFFFFFFF | 0 | 80803 | 80803 | 80803 | 80803 | 80C01 | |
03B0 | Envfx03B0 | 00 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | related to envfx |
03B7 | MapFlagsCapeClaw | 00 | 0 | FFFFFFFF | 80000001 | 80000001 | 1 | 60000001 | 60000001 | 60000001 | |
03E0 | MapFlagsFrontEnd | 00 | 0 | FFFFFFFF | 2 | 6 | 6 | 6 | 6 | 6 | also galleonship |
0405 | MapFlagsWarlock | 00 | 0 | FFFFFFFF | 23 | C18 | C00 | 10 | 10 | E0000C10 | |
0421 | MapFlagsInsideGal | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
042E | MapFlagsMoonPass | 00 | 0 | FFFFFFFF | 0 | 0 | 800 | 800 | 800 | 800 | |
0443 | MapFlagsSnowMines3 | 00 | 0 | FFFFFFFF | 0 | 6 | 6 | 6 | 6 | 6 | |
0452 | MapFlagsHollow | 00 | 0 | FFFFFFFF | 42D | 800046D | 800042D | 800042D | 800042D | 800042D | also LinkG |
0458 | MapFlagsFortress | 00 | 0 | FFFFFFFF | 0 | 0 | 10001 | 10001 | 10001 | 10001 | |
045A | MapFlagsCloudTreasure | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
0473 | MapFlagsDbShrine | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
047B | MapFlagsMazeCave | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
047C | MapFlagsCloudDungeon | 00 | 0 | FFFFFFFF | 0 | 0 | 9 | 9 | 9 | 9 | |
0480 | MapFlagsDiscovery | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
0493 | MapFlagsSnowMines | 00 | 0 | FFFFFFFF | 400001 | 101240 | 101240 | 101240 | 101240 | 101000 | |
04A3 | MapFlagsCloudRace | 00 | 0 | FFFFFFFF | 0 | 0 | 2 | 2 | 2 | 2 | |
04A6 | MapFlagsSwapCircle | 00 | 0 | FFFFFFFF | 0 | 1 | 1 | 1 | 1 | 1 | |
04AE | MapFlagsWastes | 00 | 0 | FFFFFFFF | 0 | 80000480 | 80000480 | 80000480 | 80000480 | 80000480 | also LinkB |
0500 | MapFlagsTemple | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
0517 | MapFlagsAnimTest | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
0548 | MapFlagsTrexBoss | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
05D1 | MapFlagsKrazTest | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 4 | 4 | 4 | also dfptop |
05DB | MapFlagsDragRock | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 18000 | 18000 | |
05DC | MapFlagsDragBot | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
0601 | MapFlagsSwapStore | 00 | 0 | FFFFFFFF | 0 | 61 | 61 | 61 | 61 | 61 | |
07CE | MapFlagsHighTop | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
08ED | MapFlagsOldKrazoaPalace | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
0966 | CantUseDinosaurHorn | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0968 | CantFeedTricky | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | |
0A62 | MapFlagsFinalBoss | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 8 | 8 | |
0A7F | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | related to music? | |
0C84 | MapFlagsDfShrine | 00 | 0 | FFFFFFFF | 0 | 0 | 2 | 2 | 2 | 2 | |
0D00 | NoBallsAllowed | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Disables/despawns Tricky's ball |
0D38 | MapFlagsLinkF | 00 | 0 | FFFFFFFF | 0 | 0 | 80000000 | 80000000 | 80000000 | 80000000 | |
0D75 | MapFlagsLinkH | 00 | 0 | FFFFFFFF | 0 | 0 | 0 | 0 | 0 | 0 | |
0DD1 | MapFlagsLinkD | 00 | 0 | FFFFFFFF | 0 | 2 | 2 | 2 | 2 | 2 |