#pragma once

#include "flags.h"
#include "global.h"
#include "types.h"

typedef u32 AdventureFlag;
typedef u16 AdventureFlag_Half;
enum AdventureFlag_ {
    /*    -1 */ AdventureFlag_Unset                          = 0xFFFF,
    /* 0x000 */ AdventureFlag_Nothing                        = FLAG(0, 0),
    /* 0x001 */ AdventureFlag_Unk_001                        = FLAG(0, 1),
    /* 0x002 */ AdventureFlag_ObtainedSpiritTrain            = FLAG(0, 2),
    /* 0x003 */ AdventureFlag_ObtainedRecruitSword           = FLAG(0, 3),
    /* 0x004 */ AdventureFlag_ObtainedForestSource           = FLAG(0, 4),
    /* 0x005 */ AdventureFlag_ObtainedSnowSource             = FLAG(0, 5), // gets rid of the blizzard
    /* 0x006 */ AdventureFlag_ObtainedOceanSource            = FLAG(0, 6),
    /* 0x007 */ AdventureFlag_ObtainedFireSource             = FLAG(0, 7),
    /* 0x008 */ AdventureFlag_CompletedForestRestorationSong = FLAG(0, 8),
    /* 0x009 */ AdventureFlag_CompletedOceanRestorationSong  = FLAG(0, 9),
    /* 0x00A */ AdventureFlag_CompletedSnowRestorationSong   = FLAG(0, 10),
    /* 0x00B */ AdventureFlag_CompletedFireRestorationSong   = FLAG(0, 11),
    /* 0x00C */ AdventureFlag_CompletedSandRestorationSong   = FLAG(0, 12),
    /* 0x00D */ AdventureFlag_OpenedDarkRealmPortal          = FLAG(0, 13),
    /* 0x00E */ AdventureFlag_TalkedToDovokLostWoods         = FLAG(0, 14),
    /* 0x00F */ AdventureFlag_ObtainedForestGlyph            = FLAG(0, 15), // unlocks track map
    /* 0x010 */ AdventureFlag_ObtainedSnowGlyph              = FLAG(0, 16),
    /* 0x011 */ AdventureFlag_ObtainedOceanGlyph             = FLAG(0, 17),
    /* 0x012 */ AdventureFlag_ObtainedFireGlyph              = FLAG(0, 18),
    /* 0x013 */ AdventureFlag_Unk_013                        = FLAG(0, 19),
    /* 0x014 */ AdventureFlag_CompletedSwordTutorial         = FLAG(0, 20),
    /* 0x015 */ AdventureFlag_PlayedHyruleGuardGetLostText =
        FLAG(0, 21), // hyrule castle guard tells Link to get lost (before Cole shows up)
    /* 0x016 */ AdventureFlag_HyruleGuardMovesAfterCole =
        FLAG(0, 22), // hyrule castle guard moves out of the way of stairs leading to throne room
    /* 0x017 */ AdventureFlag_WatchedHyruleGuardColeCS =
        FLAG(0, 23), // hyrule castle intro Cole walks into throne room cs over
    /* 0x018 */ AdventureFlag_ObtainedEngineerCertificate   = FLAG(0, 24),
    /* 0x019 */ AdventureFlag_WatchedZeldasBedroomFirstCS   = FLAG(0, 25), // zelda bedroom conversation pre-spirit zelda
    /* 0x01A */ AdventureFlag_WatchedSpiritTowerSplitCS     = FLAG(0, 26),
    /* 0x01B */ AdventureFlag_MayscoreLostWoodsHintBranches = FLAG(0, 27),
    /* 0x01C */ AdventureFlag_MayscoreLostWoodsHint4thTree  = FLAG(0, 28),
    /* 0x01D */ AdventureFlag_TalkedToYamahikoFirstTime =
        FLAG(0, 29), // talk to yellow guy (?) in Mayascore for the first time
    /* 0x01E */ AdventureFlag_EnteredForestTemple = FLAG(0, 30),
    /* 0x01F */ AdventureFlag_ObtainedTrainCannon = FLAG(0, 31), // set after alfonzo text, but before cannon exits garage

    /* 0x020 */ AdventureFlag_ObtainedSpiritTrainCar                   = FLAG(1, 0),
    /* 0x021 */ AdventureFlag_ObtainedTrainWagon                       = FLAG(1, 1),
    /* 0x022 */ AdventureFlag_MetAnjeanFirstTime                       = FLAG(1, 2), // loads the train in ToS
    /* 0x023 */ AdventureFlag_Unk_023                                  = FLAG(1, 3),
    /* 0x024 */ AdventureFlag_FleeFirstPhantomTOS                      = FLAG(1, 4), // zelda text after first phantom spawns
    /* 0x025 */ AdventureFlag_SpawnFirstPhantomTOS                     = FLAG(1, 5),
    /* 0x026 */ AdventureFlag_Unk_026                                  = FLAG(1, 6),
    /* 0x027 */ AdventureFlag_Unk_027                                  = FLAG(1, 7),
    /* 0x028 */ AdventureFlag_SummonKeyMastersOnceForestTemple         = FLAG(1, 8),
    /* 0x029 */ AdventureFlag_SummonKeyMastersTwiceForestTemple        = FLAG(1, 9),
    /* 0x02A */ AdventureFlag_InteractedWithForestTempleBossKeyMap     = FLAG(1, 10),
    /* 0x02B */ AdventureFlag_Unk_02B                                  = FLAG(1, 11),
    /* 0x02C */ AdventureFlag_BossKeyTextForestTemple                  = FLAG(1, 12), // boss key text (?)
    /* 0x02D */ AdventureFlag_RouteDrawTutorial                        = FLAG(1, 13), // train quill tutorial (?)
    /* 0x02E */ AdventureFlag_EnteredLostWoodsFirstTime                = FLAG(1, 14),
    /* 0x02F */ AdventureFlag_WrongPathLostWoodsPostHints              = FLAG(1, 15),
    /* 0x030 */ AdventureFlag_Unk_030                                  = FLAG(1, 16),
    /* 0x031 */ AdventureFlag_Unk_031                                  = FLAG(1, 17),
    /* 0x032 */ AdventureFlag_WatchedHyruleCastleSpiritZeldaCS         = FLAG(1, 18),
    /* 0x033 */ AdventureFlag_EscortedZeldaToCastleTown                = FLAG(1, 19),
    /* 0x034 */ AdventureFlag_ObtainedSpiritPipes                      = FLAG(1, 20), // spirit flute = spirit pipes
    /* 0x035 */ AdventureFlag_OutsetVillageBoardTrainFirstTime         = FLAG(1, 21),
    /* 0x036 */ AdventureFlag_TalkedToHyruleCastleBackExitGuardNoSword = FLAG(1, 22),
    /* 0x037 */ AdventureFlag_WatchedThroneRoomSpiritZeldaCS           = FLAG(1, 23),
    /* 0x038 */ AdventureFlag_MetPostmanFirstLetter                    = FLAG(1, 24), // also got postmaster letter
    /* 0x039 */ AdventureFlag_ReceivedZeldasLetter                     = FLAG(1, 25),
    /* 0x03A */ AdventureFlag_ReceivedAlfonzosLetter                   = FLAG(1, 26),
    /* 0x03B */ AdventureFlag_ReceivedRussellsLetter                   = FLAG(1, 27),
    /* 0x03C */ AdventureFlag_ObtainedLinebecksLetter                  = FLAG(1, 28), // also opens the door to the grotto
    /* 0x03D */ AdventureFlag_ReceivedBeedlesFirstLetter               = FLAG(1, 29),
    /* 0x03E */ AdventureFlag_Unk_03E                                  = FLAG(1, 30),
    /* 0x03F */ AdventureFlag_Unk_03F                                  = FLAG(1, 31),

    /* 0x040 */ AdventureFlag_Unk_040                    = FLAG(2, 0),
    /* 0x041 */ AdventureFlag_Unk_041                    = FLAG(2, 1),
    /* 0x042 */ AdventureFlag_Unk_042                    = FLAG(2, 2),
    /* 0x043 */ AdventureFlag_Unk_043                    = FLAG(2, 3),
    /* 0x044 */ AdventureFlag_Unk_044                    = FLAG(2, 4),
    /* 0x045 */ AdventureFlag_Unk_045                    = FLAG(2, 5),
    /* 0x046 */ AdventureFlag_ReceivedCarbensLetter      = FLAG(2, 6), // after song of restoration
    /* 0x047 */ AdventureFlag_ReceivedNikosLetter        = FLAG(2, 7),
    /* 0x048 */ AdventureFlag_ReceivedFerrusLetter1      = FLAG(2, 8),
    /* 0x049 */ AdventureFlag_ReceivedFerrusLetter2      = FLAG(2, 9),
    /* 0x04A */ AdventureFlag_ReceivedFerrusLetter3      = FLAG(2, 10),
    /* 0x04B */ AdventureFlag_ReceivedKagoronsLetter     = FLAG(2, 11),
    /* 0x04C */ AdventureFlag_CarbenBoardsTrain          = FLAG(2, 12),
    /* 0x04D */ AdventureFlag_CarbenEnterSanctuary       = FLAG(2, 13),
    /* 0x04E */ AdventureFlag_OpenedMarineTemplePath     = FLAG(2, 14), // set when all three orbs are activated
    /* 0x04F */ AdventureFlag_WonCarbenPirateAmbush      = FLAG(2, 15),
    /* 0x050 */ AdventureFlag_EnteredMarineTemple        = FLAG(2, 16), // zelda text + stop evil train from spawning?
    /* 0x051 */ AdventureFlag_TalkedToFerrusOceanRealm   = FLAG(2, 17),
    /* 0x052 */ AdventureFlag_EnteredOceanFloorFirstTime = FLAG(2, 18),
    /* 0x053 */ AdventureFlag_MetWiseOne                 = FLAG(2, 19),
    /* 0x054 */ AdventureFlag_VisitedPapuziaFirstTime    = FLAG(2, 20), // visit papuzia (intro cutscene?)
    /* 0x055 */ AdventureFlag_SawCarbenWithBirdsPapuzia  = FLAG(2, 21),
    /* 0x056 */ AdventureFlag_IslandSanctuaryFirstTime   = FLAG(2, 22),
    /* 0x057 */ AdventureFlag_ReadCarbensSignInSanctuary = FLAG(2, 23),
    /* 0x058 */ AdventureFlag_TalkedToCarbenPapuzia      = FLAG(2, 24),
    /* 0x059 */ AdventureFlag_AnoukiPuzzleStart          = FLAG(2, 25),
    /* 0x05A */ AdventureFlag_Unk_05A                    = FLAG(2, 26),
    /* 0x05B */ AdventureFlag_FerrusBlizzardTempleHint   = FLAG(2, 27),
    /* 0x05C */ AdventureFlag_AnoukiPuzzleComplete       = FLAG(2, 28),
    /* 0x05D */ AdventureFlag_Unk_05D                    = FLAG(2, 29),
    /* 0x05E */ AdventureFlag_Unk_05E                    = FLAG(2, 30),
    /* 0x05F */ AdventureFlag_ReadMapInFerrusHouse       = FLAG(2, 31),

    /* 0x060 */ AdventureFlag_Unk_060                              = FLAG(3, 0),
    /* 0x061 */ AdventureFlag_EnteredBlizzardTemple                = FLAG(3, 1),
    /* 0x062 */ AdventureFlag_BeatSnowRealmRocktite                = FLAG(3, 2),
    /* 0x063 */ AdventureFlag_AnoukiHonchoBlizzardAdvice           = FLAG(3, 3),
    /* 0x064 */ AdventureFlag_BoughtMegaIceFromNoko                = FLAG(3, 4),
    /* 0x065 */ AdventureFlag_TalkedToLinebeckRegalRingPreKenzo    = FLAG(3, 5),
    /* 0x066 */ AdventureFlag_MetBridgeWorkerFirstTime             = FLAG(3, 6),
    /* 0x067 */ AdventureFlag_MetLinebeckFirstTime                 = FLAG(3, 7),
    /* 0x068 */ AdventureFlag_ObtainedLuciaForceGem                = FLAG(3, 8),
    /* 0x069 */ AdventureFlag_ObtainedOrcaForceGem                 = FLAG(3, 9),
    /* 0x06A */ AdventureFlag_ObtainedCarbenForceGem               = FLAG(3, 10),
    /* 0x06B */ AdventureFlag_ObtainedRaelForceGem                 = FLAG(3, 11),
    /* 0x06C */ AdventureFlag_ObtainedJoeForceGem                  = FLAG(3, 12),
    /* 0x06D */ AdventureFlag_ObtainedMonaForceGem                 = FLAG(3, 13),
    /* 0x06E */ AdventureFlag_ObtainedHarryForceGem                = FLAG(3, 14),
    /* 0x06F */ AdventureFlag_ObtainedMashForceGem                 = FLAG(3, 15),
    /* 0x070 */ AdventureFlag_ObtainedFerrusForceGem1              = FLAG(3, 16),
    /* 0x071 */ AdventureFlag_ObtainedYekoForceGem                 = FLAG(3, 17),
    /* 0x072 */ AdventureFlag_ObtainedNokoForceGem                 = FLAG(3, 18),
    /* 0x073 */ AdventureFlag_ObtainedGoronAdultAnoukiForceGem     = FLAG(3, 19),
    /* 0x074 */ AdventureFlag_ObtainedSteemForceGem                = FLAG(3, 20),
    /* 0x075 */ AdventureFlag_ObtainedLinebeckForceGem             = FLAG(3, 21),
    /* 0x076 */ AdventureFlag_ObtainedWadatsumiForceGem            = FLAG(3, 22),
    /* 0x077 */ AdventureFlag_ObtainedNiboshiForceGem              = FLAG(3, 23),
    /* 0x078 */ AdventureFlag_ObtainedGoronAdultMegaIceForceGem    = FLAG(3, 24),
    /* 0x079 */ AdventureFlag_ObtainedFerrusForceGem2              = FLAG(3, 25),
    /* 0x07A */ AdventureFlag_ObtainedKofuForceGem                 = FLAG(3, 26),
    /* 0x07B */ AdventureFlag_ObtainedChildGoronForceGem           = FLAG(3, 27),
    /* 0x07C */ AdventureFlag_WatchedWarpPhantomFirstTimeWarpingCS = FLAG(3, 28), // this flag don't exist on JP
    /* 0x07D */ AdventureFlag_FailedFirstTrainRide                 = FLAG(3, 29),
    /* 0x07E */ AdventureFlag_TextPhantomInLava                    = FLAG(3, 30),
    /* 0x07F */ AdventureFlag_TextTOSEntrance4F                    = FLAG(3, 31),

    /* 0x080 */ AdventureFlag_Unk_080                                 = FLAG(4, 0),
    /* 0x081 */ AdventureFlag_Unk_081                                 = FLAG(4, 1),
    /* 0x082 */ AdventureFlag_Unk_082                                 = FLAG(4, 2),
    /* 0x083 */ AdventureFlag_Unk_083                                 = FLAG(4, 3),
    /* 0x084 */ AdventureFlag_TalkedToWoodAboutWhipMinigame           = FLAG(4, 4),
    /* 0x085 */ AdventureFlag_BeatRecordFirstTimeWhipMinigame         = FLAG(4, 5),
    /* 0x086 */ AdventureFlag_BeatRecordFirstTimeWhipMinigameText     = FLAG(4, 6),
    /* 0x087 */ AdventureFlag_Unk_087                                 = FLAG(4, 7),
    /* 0x088 */ AdventureFlag_Unk_088                                 = FLAG(4, 8),
    /* 0x089 */ AdventureFlag_DefeatSpinutsAroundHyruleCastleGuard    = FLAG(4, 9),
    /* 0x08A */ AdventureFlag_TeacherPanicHyruleCastle                = FLAG(4, 10),
    /* 0x08B */ AdventureFlag_HitBeehiveOutsetVillage                 = FLAG(4, 11),
    /* 0x08C */ AdventureFlag_JoeRunsOffAfterHittingBeehive           = FLAG(4, 12),
    /* 0x08D */ AdventureFlag_TalkedToAlfonzoHyruleCastle             = FLAG(4, 13),
    /* 0x08E */ AdventureFlag_AlfonzoBoardsTrainToOutsetVillage       = FLAG(4, 14),
    /* 0x08F */ AdventureFlag_Unk_08F                                 = FLAG(4, 15),
    /* 0x090 */ AdventureFlag_WatchedIntroCS                          = FLAG(4, 16),
    /* 0x091 */ AdventureFlag_WatchedFirstPhantomPossessionCS         = FLAG(4, 17),
    /* 0x092 */ AdventureFlag_WatchedForestTempleCompletedCS          = FLAG(4, 18),
    /* 0x093 */ AdventureFlag_TalkedToZeldaMayscoreFirstTime          = FLAG(4, 19),
    /* 0x094 */ AdventureFlag_TalkedToZeldaPhantomPossessionFirstTime = FLAG(4, 20),
    /* 0x095 */ AdventureFlag_Unk_095                                 = FLAG(4, 21),
    /* 0x096 */ AdventureFlag_TalkedToPhantomWithZeldaTOS2F           = FLAG(4, 22),
    /* 0x097 */ AdventureFlag_Unk_097                                 = FLAG(4, 23),
    /* 0x098 */ AdventureFlag_Unk_098                                 = FLAG(4, 24),
    /* 0x099 */ AdventureFlag_Unk_099                                 = FLAG(4, 25),
    /* 0x09A */ AdventureFlag_Unk_09A                                 = FLAG(4, 26),
    /* 0x09B */ AdventureFlag_WhipMinigameTutorial                    = FLAG(4, 27),
    /* 0x09C */ AdventureFlag_Unk_09C                                 = FLAG(4, 28),
    /* 0x09D */ AdventureFlag_Unk_09D                                 = FLAG(4, 29),
    /* 0x09E */ AdventureFlag_Unk_09E                                 = FLAG(4, 30),
    /* 0x09F */ AdventureFlag_Unk_09F                                 = FLAG(4, 31),

    /* 0x0A0 */ AdventureFlag_Unk_0A0                           = FLAG(5, 0),
    /* 0x0A1 */ AdventureFlag_Unk_0A1                           = FLAG(5, 1),
    /* 0x0A2 */ AdventureFlag_TalkedPapuziaNagi                 = FLAG(5, 2), // NPC near the station
    /* 0x0A3 */ AdventureFlag_TalkedPapuziaNigoshi              = FLAG(5, 3),
    /* 0x0A4 */ AdventureFlag_TalkedPapuziaOrca                 = FLAG(5, 4), // south house
    /* 0x0A5 */ AdventureFlag_TalkedPapuziaFuku                 = FLAG(5, 5), // north-east house
    /* 0x0A6 */ AdventureFlag_ObtainedAnjeanDesertForceGem      = FLAG(5, 6),
    /* 0x0A7 */ AdventureFlag_Unk_0A7                           = FLAG(5, 7),
    /* 0x0A8 */ AdventureFlag_Unk_0A8                           = FLAG(5, 8),
    /* 0x0A9 */ AdventureFlag_Unk_0A9                           = FLAG(5, 9),
    /* 0x0AA */ AdventureFlag_Unk_0AA                           = FLAG(5, 10),
    /* 0x0AB */ AdventureFlag_TextForestTempleBossKeyDoor       = FLAG(5, 11),
    /* 0x0AC */ AdventureFlag_TalkedAnjeanAfterFirstPhantom     = FLAG(5, 12),
    /* 0x0AD */ AdventureFlag_HitByFirstPhantomInsteadOfFleeing = FLAG(5, 13),
    /* 0x0AE */ AdventureFlag_ReenterTOS1FAfterFleeing          = FLAG(5, 14),
    /* 0x0AF */ AdventureFlag_Unk_0AF                           = FLAG(5, 15),
    /* 0x0B0 */ AdventureFlag_ObtainedBowOfLight                = FLAG(5, 16),
    /* 0x0B1 */ AdventureFlag_Unk_0B1                           = FLAG(5, 17),
    /* 0x0B2 */ AdventureFlag_Unk_0B2                           = FLAG(5, 18),
    /* 0x0B3 */ AdventureFlag_ForestSongPracticeReady           = FLAG(5, 19),
    /* 0x0B4 */ AdventureFlag_ForestSongPracticeDone            = FLAG(5, 20),
    /* 0x0B5 */ AdventureFlag_ForestSnowSandSongsFailedOnce     = FLAG(5, 21),
    /* 0x0B6 */ AdventureFlag_Unk_0B6                           = FLAG(5, 22),
    /* 0x0B7 */ AdventureFlag_WatchedBlizzardTempleCompletedCS  = FLAG(5, 23),
    /* 0x0B8 */ AdventureFlag_WatchedMarineTempleCompletedCS    = FLAG(5, 24),
    /* 0x0B9 */ AdventureFlag_MetStavenInTOSAfterFireGlyphCS    = FLAG(5, 25),
    /* 0x0BA */ AdventureFlag_Unk_0BA                           = FLAG(5, 26),
    /* 0x0BB */ AdventureFlag_ForestTracksRestoredFromGlyphCS   = FLAG(5, 27),
    /* 0x0BC */ AdventureFlag_OpenedOceanRealm                  = FLAG(5, 28), // giving regal ring, linebeck accepts treasures
    /* 0x0BD */ AdventureFlag_TalkedToAnjeanAfterGlyph          = FLAG(5, 29),
    /* 0x0BE */ AdventureFlag_TalkedToAnjeanAfterTemple         = FLAG(5, 30),
    /* 0x0BF */ AdventureFlag_PlayRussellSwordTrainingMinigame  = FLAG(5, 31),

    /* 0x0C0 */ AdventureFlag_HyruleCastleZeldaControlsTutorial = FLAG(6, 0),
    /* 0x0C1 */ AdventureFlag_WatchedZeldaSpiritThroneCS        = FLAG(6, 1),
    /* 0x0C2 */ AdventureFlag_WatchedEnterZeldasBedroomCS =
        FLAG(6, 2), // set to false when zelda puts back spirit pipes, then to TRUE after spirit zelda CS
    /* 0x0C3 */ AdventureFlag_MetKagoronFirstTime               = FLAG(6, 3),
    /* 0x0C4 */ AdventureFlag_ZeldaTextAfterAnoukiPuzzleStart   = FLAG(6, 4),
    /* 0x0C5 */ AdventureFlag_KenzoBoardsTrainToFixBridge       = FLAG(6, 5),
    /* 0x0C6 */ AdventureFlag_GotKenzoToTradingPost             = FLAG(6, 6),
    /* 0x0C7 */ AdventureFlag_LinebeckTalksToKenzoAboutPayment  = FLAG(6, 7),
    /* 0x0C8 */ AdventureFlag_MetSteemFirstTime                 = FLAG(6, 8),
    /* 0x0C9 */ AdventureFlag_SnowSongPracticeDone              = FLAG(6, 9),
    /* 0x0CA */ AdventureFlag_Unk_0CA                           = FLAG(6, 10),
    /* 0x0CB */ AdventureFlag_ObtainedSandWand                  = FLAG(6, 11),
    /* 0x0CC */ AdventureFlag_DefeatedRocktiteInDesertCave      = FLAG(6, 12),
    /* 0x0CD */ AdventureFlag_MetRaelFirstTime                  = FLAG(6, 13),
    /* 0x0CE */ AdventureFlag_SandSongPraticeDone               = FLAG(6, 14),
    /* 0x0CF */ AdventureFlag_Unk_0CF                           = FLAG(6, 15),
    /* 0x0D0 */ AdventureFlag_ObtainedDesertSource              = FLAG(6, 16),
    /* 0x0D1 */ AdventureFlag_FerrusPassengerTutorial           = FLAG(6, 17),
    /* 0x0D2 */ AdventureFlag_TextRockNearRabbitland            = FLAG(6, 18),
    /* 0x0D3 */ AdventureFlag_TextZeldaRequireCannon            = FLAG(6, 19),
    /* 0x0D4 */ AdventureFlag_CannonTutorial                    = FLAG(6, 20),
    /* 0x0D5 */ AdventureFlag_Unk_0D5                           = FLAG(6, 21),
    /* 0x0D6 */ AdventureFlag_ObtainedRabbitNet                 = FLAG(6, 22), // might actually be rabbit tutorial?
    /* 0x0D7 */ AdventureFlag_Unk_0D7                           = FLAG(6, 23),
    /* 0x0D8 */ AdventureFlag_FailedKenzoTrainRideToTradingPost = FLAG(6, 24),
    /* 0x0D9 */ AdventureFlag_WatchedOutsetTrainGarageCS        = FLAG(6, 25), // unsets for the cannon
    /* 0x0DA */ AdventureFlag_MetCarbenFirstTime                = FLAG(6, 26),
    /* 0x0DB */ AdventureFlag_OceanSongPracticeDone             = FLAG(6, 27),
    /* 0x0DC */ AdventureFlag_OceanSongFailedOnce               = FLAG(6, 28),
    /* 0x0DD */ AdventureFlag_ZeldaTextTOS8F                    = FLAG(6, 29),
    /* 0x0DE */ AdventureFlag_ZeldaTextTOS13F                   = FLAG(6, 30), // obtained the net/ToS 13F zelda entry text
    /* 0x0DF */ AdventureFlag_ZeldaTextTorchPhantomTOS9F        = FLAG(6, 31),

    /* 0x0E0 */ AdventureFlag_ZeldaTextKeyMastersTOS10F              = FLAG(7, 0),
    /* 0x0E1 */ AdventureFlag_Unk_0E1                                = FLAG(7, 1),
    /* 0x0E2 */ AdventureFlag_TorchPhantomPossession                 = FLAG(7, 2),
    /* 0x0E3 */ AdventureFlag_Unk_0E3                                = FLAG(7, 3),
    /* 0x0E4 */ AdventureFlag_Unk_0E4                                = FLAG(7, 4),
    /* 0x0E5 */ AdventureFlag_ZeldaTextDefeatedGeozardChiefTOS11F    = FLAG(7, 5),
    /* 0x0E6 */ AdventureFlag_Unk_0E6                                = FLAG(7, 6),
    /* 0x0E7 */ AdventureFlag_Unk_0E7                                = FLAG(7, 7),
    /* 0x0E8 */ AdventureFlag_Unk_0E8                                = FLAG(7, 8),
    /* 0x0E9 */ AdventureFlag_PlayGoronTargetRangeMinigame           = FLAG(7, 9),
    /* 0x0EA */ AdventureFlag_WarpPhantomPossession                  = FLAG(7, 10),
    /* 0x0EB */ AdventureFlag_Unk_0EB                                = FLAG(7, 11),
    /* 0x0EC */ AdventureFlag_ZeldaTextTorchPhantomPossession        = FLAG(7, 12),
    /* 0x0ED */ AdventureFlag_ZeldaTextWarpPhantomPossession         = FLAG(7, 13),
    /* 0x0EE */ AdventureFlag_ZeldaTextWreckerPhantomPossession      = FLAG(7, 14),
    /* 0x0EF */ AdventureFlag_WreckerPhantomPossession               = FLAG(7, 15),
    /* 0x0F0 */ AdventureFlag_Unk_0F0                                = FLAG(7, 16),
    /* 0x0F1 */ AdventureFlag_Unk_0F1                                = FLAG(7, 17),
    /* 0x0F2 */ AdventureFlag_Unk_0F2                                = FLAG(7, 18),
    /* 0x0F3 */ AdventureFlag_Unk_0F3                                = FLAG(7, 19),
    /* 0x0F4 */ AdventureFlag_Unk_0F4                                = FLAG(7, 20),
    /* 0x0F5 */ AdventureFlag_Unk_0F5                                = FLAG(7, 21),
    /* 0x0F6 */ AdventureFlag_TalkedFerrusOceanTwice                 = FLAG(7, 22),
    /* 0x0F7 */ AdventureFlag_MetEmbroseFirstTime                    = FLAG(7, 23),
    /* 0x0F8 */ AdventureFlag_FireSongPracticeDone                   = FLAG(7, 24),
    /* 0x0F9 */ AdventureFlag_FireSongFailedOnce                     = FLAG(7, 25),
    /* 0x0FA */ AdventureFlag_ObtainedThreeKeysToMountainTemple      = FLAG(7, 26),
    /* 0x0FB */ AdventureFlag_TalkedToGoronAdultNearStationFirstTime = FLAG(7, 27),
    /* 0x0FC */ AdventureFlag_GoronAdultTextAfterObtainingWagon      = FLAG(7, 28),
    /* 0x0FD */ AdventureFlag_Unk_0FD                                = FLAG(7, 29),
    /* 0x0FE */ AdventureFlag_Unk_0FE                                = FLAG(7, 30),
    /* 0x0FF */ AdventureFlag_GiveMegaIceToKagoron                   = FLAG(7, 31),

    /* 0x100 */ AdventureFlag_WatchedStavenPostBattleCS               = FLAG(8, 0),
    /* 0x101 */ AdventureFlag_TalkedToGoronElderAfterFireSong         = FLAG(8, 1),
    /* 0x102 */ AdventureFlag_WatchedMalladusOnTOSSummitCS            = FLAG(8, 2),
    /* 0x103 */ AdventureFlag_Unk_103                                 = FLAG(8, 3),
    /* 0x104 */ AdventureFlag_WatchedMountainTempleCompletedCS        = FLAG(8, 4),
    /* 0x105 */ AdventureFlag_MegaIceToGoronVillageMainQuest          = FLAG(8, 5), // set to false when quest is over
    /* 0x106 */ AdventureFlag_Unk_106                                 = FLAG(8, 6),
    /* 0x107 */ AdventureFlag_Unk_107                                 = FLAG(8, 7),
    /* 0x108 */ AdventureFlag_Unk_108                                 = FLAG(8, 8),
    /* 0x109 */ AdventureFlag_MetGoronElderFirstTime                  = FLAG(8, 9),
    /* 0x10A */ AdventureFlag_TalkedToGoronElderAfterMountainTemple   = FLAG(8, 10),
    /* 0x10B */ AdventureFlag_ReturnedToGoronAdultAfterMeetingKagoron = FLAG(8, 11),
    /* 0x10C */ AdventureFlag_KagoronTextAfterGivingMegaIce           = FLAG(8, 12),
    /* 0x10D */ AdventureFlag_OpenedLargeDoorsTOS23F                  = FLAG(8, 13),
    /* 0x10E */ AdventureFlag_Unk_10E                                 = FLAG(8, 14),
    /* 0x10F */ AdventureFlag_Unk_10F                                 = FLAG(8, 15),
    /* 0x110 */ AdventureFlag_BoughtGoronShopQuiver                   = FLAG(8, 16),
    /* 0x111 */ AdventureFlag_BoughtBombBagFromBeedle                 = FLAG(8, 17),
    /* 0x112 */ AdventureFlag_WatchedFireLandVolcanoEruptionCS        = FLAG(8, 18),
    /* 0x113 */ AdventureFlag_PurchasedLumberFirstTime                = FLAG(8, 19),
    /* 0x114 */ AdventureFlag_PurchasedFishFirstTime                  = FLAG(8, 20),
    /* 0x115 */ AdventureFlag_PurchasedVesselFirstTime                = FLAG(8, 21),
    /* 0x116 */ AdventureFlag_Unk_116                                 = FLAG(8, 22),
    /* 0x117 */ AdventureFlag_Unk_117                                 = FLAG(8, 23),
    /* 0x118 */ AdventureFlag_Unk_118                                 = FLAG(8, 24),
    /* 0x119 */ AdventureFlag_Unk_119                                 = FLAG(8, 25),
    /* 0x11A */ AdventureFlag_Unk_11A                                 = FLAG(8, 26),
    /* 0x11B */ AdventureFlag_Unk_11B                                 = FLAG(8, 27),
    /* 0x11C */ AdventureFlag_Unk_11C                                 = FLAG(8, 28),
    /* 0x11D */ AdventureFlag_Unk_11D                                 = FLAG(8, 29),
    /* 0x11E */ AdventureFlag_Unk_11E                                 = FLAG(8, 30),
    /* 0x11F */ AdventureFlag_ZeldaTextVisitPirateHideoutFirstTime    = FLAG(8, 31),

    /* 0x120 */ AdventureFlag_Unk_120                              = FLAG(9, 0),
    /* 0x121 */ AdventureFlag_WadatsumiBoardsTrain2                = FLAG(9, 1),
    /* 0x122 */ AdventureFlag_PurchasedCuccosFirstTime             = FLAG(9, 2),
    /* 0x123 */ AdventureFlag_HyruleGuardsOutsideEntranceMoveAside = FLAG(9, 3),
    /* 0x124 */ AdventureFlag_LinebeckTextAfterKenzoTakesRegalRing = FLAG(9, 4),
    /* 0x125 */ AdventureFlag_TalkedToJoeAfterHeRanFromBees        = FLAG(9, 5),
    /* 0x126 */ AdventureFlag_ObtainedRussellHeartContainer        = FLAG(9, 6),
    /* 0x127 */ AdventureFlag_Unk_127                              = FLAG(9, 7),
    /* 0x128 */ AdventureFlag_Unk_128                              = FLAG(9, 8),
    /* 0x129 */ AdventureFlag_ObtainedStampBook                    = FLAG(9, 9),
    /* 0x12A */ AdventureFlag_ObtainedAncientShield                = FLAG(9, 10),
    /* 0x12B */ AdventureFlag_ObtainedEngineersClothes             = FLAG(9, 11),
    /* 0x12C */ AdventureFlag_ObtainedSwordsmansScroll2            = FLAG(9, 12),
    /* 0x12D */ AdventureFlag_ObtainedCompassOfLight               = FLAG(9, 13),
    /* 0x12E */ AdventureFlag_ZeldaTextAfterCompassOfLight         = FLAG(9, 14),
    /* 0x12F */ AdventureFlag_WatchedLokomoSwordCS                 = FLAG(9, 15),
    /* 0x130 */ AdventureFlag_ObtainedWoodBombBag        = FLAG(9, 16), // wood = Mayscore guy who runs the Whip mini-game
    /* 0x131 */ AdventureFlag_ObtainedWoodHeartContainer = FLAG(9, 17),
    /* 0x132 */ AdventureFlag_WatchedEndTOS1SwordFadeCS  = FLAG(9, 18),
    /* 0x133 */ AdventureFlag_ZeldaTextEndTOS1           = FLAG(9, 19),
    /* 0x134 */ AdventureFlag_WatchedEndTOS3SwordFadeCS  = FLAG(9, 20),
    /* 0x135 */ AdventureFlag_ZeldaTextEndTOS3           = FLAG(9, 21),
    /* 0x136 */ AdventureFlag_StateTorch1TOS8F           = FLAG(9, 22),
    /* 0x137 */ AdventureFlag_StateTorch2TOS8F           = FLAG(9, 23),
    /* 0x138 */ AdventureFlag_StateTorch3TOS8F           = FLAG(9, 24),
    /* 0x139 */ AdventureFlag_StateTorch4TOS8F           = FLAG(9, 25),
    /* 0x13A */ AdventureFlag_StateTorch5TOS8F           = FLAG(9, 26),
    /* 0x13B */ AdventureFlag_StateTorch6TOS8F           = FLAG(9, 27),
    /* 0x13C */ AdventureFlag_StateTorch1TOS9F           = FLAG(9, 28),
    /* 0x13D */ AdventureFlag_StateTorch2TOS9F           = FLAG(9, 29),
    /* 0x13E */ AdventureFlag_StateTorch3TOS9F           = FLAG(9, 30),
    /* 0x13F */ AdventureFlag_StateTorch4TOS9F           = FLAG(9, 31),

    /* 0x140 */ AdventureFlag_StateTorch5TOS9F                  = FLAG(10, 0),
    /* 0x141 */ AdventureFlag_StateTorch6TOS9F                  = FLAG(10, 1),
    /* 0x142 */ AdventureFlag_StateTorch7TOS9F                  = FLAG(10, 2),
    /* 0x143 */ AdventureFlag_StateTorch8TOS9F                  = FLAG(10, 3),
    /* 0x144 */ AdventureFlag_StateTorch9TOS9F                  = FLAG(10, 4),
    /* 0x145 */ AdventureFlag_StateTorch10TOS9F                 = FLAG(10, 5),
    /* 0x146 */ AdventureFlag_StateTorch11TOS9F                 = FLAG(10, 6),
    /* 0x147 */ AdventureFlag_StateTorch12TOS9F                 = FLAG(10, 7),
    /* 0x148 */ AdventureFlag_StateTorch13TOS9F                 = FLAG(10, 8),
    /* 0x149 */ AdventureFlag_Unk_149                           = FLAG(10, 9),
    /* 0x14A */ AdventureFlag_StateBlueDoorTOS9F                = FLAG(10, 10),
    /* 0x14B */ AdventureFlag_StateBlueDoorTOS10F               = FLAG(10, 11),
    /* 0x14C */ AdventureFlag_DefeatedGeozardChiefTOS11F        = FLAG(10, 12),
    /* 0x14D */ AdventureFlag_StateRoomLightTOS10F              = FLAG(10, 13),
    /* 0x14E */ AdventureFlag_StateWestBlueDoorTOS13F           = FLAG(10, 14),
    /* 0x14F */ AdventureFlag_ZeldaTextGeozardTOS6F             = FLAG(10, 15),
    /* 0x150 */ AdventureFlag_ZeldaTextDefeatedTOS6F            = FLAG(10, 16),
    /* 0x151 */ AdventureFlag_ZeldaTextPhantomSpawnTOS30F       = FLAG(10, 17),
    /* 0x152 */ AdventureFlag_Unk_152                           = FLAG(10, 18),
    /* 0x153 */ AdventureFlag_Unk_153                           = FLAG(10, 19),
    /* 0x154 */ AdventureFlag_Unk_154                           = FLAG(10, 20),
    /* 0x155 */ AdventureFlag_PlayGoronTargetRangeExtendedTrack = FLAG(10, 21),
    /* 0x156 */ AdventureFlag_Unk_156                           = FLAG(10, 22),
    /* 0x157 */ AdventureFlag_Unk_157                           = FLAG(10, 23),
    /* 0x158 */ AdventureFlag_Unk_158                           = FLAG(10, 24),
    /* 0x159 */ AdventureFlag_Unk_159                           = FLAG(10, 25),
    /* 0x15A */ AdventureFlag_GaveMegaIceToGoronAdultSidequest  = FLAG(10, 26),
    /* 0x15B */ AdventureFlag_Unk_15B                           = FLAG(10, 27),
    /* 0x15C */ AdventureFlag_StateBlueDoorTOS15F               = FLAG(10, 28),
    /* 0x15D */ AdventureFlag_StateBridgeTOS13F                 = FLAG(10, 29),
    /* 0x15E */ AdventureFlag_StateTorchTOS13F                  = FLAG(10, 30),
    /* 0x15F */ AdventureFlag_StateExistenceSWKeyChestTOS13F    = FLAG(10, 31),

    /* 0x160 */ AdventureFlag_StateBlueDoorCenterTOS14F                  = FLAG(11, 0),
    /* 0x161 */ AdventureFlag_StateSWSandBridgeTOS14F                    = FLAG(11, 1),
    /* 0x162 */ AdventureFlag_StateSEBlueDoorTOS14F                      = FLAG(11, 2),
    /* 0x163 */ AdventureFlag_ActivatedSWSandBridgeTOS14F                = FLAG(11, 3),
    /* 0x164 */ AdventureFlag_StateBlueDoorTOS16F                        = FLAG(11, 4),
    /* 0x165 */ AdventureFlag_StateWestBlueDoorTOS20F                    = FLAG(11, 5),
    /* 0x166 */ AdventureFlag_StateNWBlueDoorTOS20F                      = FLAG(11, 6),
    /* 0x167 */ AdventureFlag_StateFlamesTOS22F                          = FLAG(11, 7),
    /* 0x168 */ AdventureFlag_PressedNWSwitchTOS18F                      = FLAG(11, 8),
    /* 0x169 */ AdventureFlag_StateSpikesTOS18F                          = FLAG(11, 9),
    /* 0x16A */ AdventureFlag_HitEyeSwitchCenterTOS19F                   = FLAG(11, 10),
    /* 0x16B */ AdventureFlag_Unk_16B                                    = FLAG(11, 11),
    /* 0x16C */ AdventureFlag_StateSEBridgeTOS19F                        = FLAG(11, 12),
    /* 0x16D */ AdventureFlag_WatchedCameraPanCSToNWBlueDoorTOS20F       = FLAG(11, 13),
    /* 0x16E */ AdventureFlag_DefeatedEnemiesTOS21F                      = FLAG(11, 14),
    /* 0x16F */ AdventureFlag_StateFarWestBlueDoorTOS29F                 = FLAG(11, 15),
    /* 0x170 */ AdventureFlag_StateRightTorchTOS29F                      = FLAG(11, 16),
    /* 0x171 */ AdventureFlag_StateLeftTorchTOS29F                       = FLAG(11, 17),
    /* 0x172 */ AdventureFlag_SpawnedSWLargeChestsTOS28F                 = FLAG(11, 18),
    /* 0x173 */ AdventureFlag_StateNWLeftTorchTOS28F                     = FLAG(11, 19),
    /* 0x174 */ AdventureFlag_StateNWRightTorchTOS28F                    = FLAG(11, 20),
    /* 0x175 */ AdventureFlag_Unk_175                                    = FLAG(11, 21),
    /* 0x176 */ AdventureFlag_StateEastSpikesTOS30F                      = FLAG(11, 22),
    /* 0x177 */ AdventureFlag_StateFarNEBlueDoorTOS30F                   = FLAG(11, 23),
    /* 0x178 */ AdventureFlag_WatchedEndTOS2SwordFadeCS                  = FLAG(11, 24),
    /* 0x179 */ AdventureFlag_StateNEBlueDoorTOS29F                      = FLAG(11, 25),
    /* 0x17A */ AdventureFlag_Unk_17A                                    = FLAG(11, 26),
    /* 0x17B */ AdventureFlag_StateBlueDoorTOS26F                        = FLAG(11, 27),
    /* 0x17C */ AdventureFlag_DestroyedRocksAroundReisHouse              = FLAG(11, 28),
    /* 0x17D */ AdventureFlag_TalkedToReiAfterDestroyingRocks            = FLAG(11, 29),
    /* 0x17E */ AdventureFlag_MetLinebeckFirstTime2                      = FLAG(11, 30),
    /* 0x17F */ AdventureFlag_TalkedToHyruleCastleBackExitGuardWithSword = FLAG(11, 31),

    /* 0x180 */ AdventureFlag_CompletedLuciaSidequest                    = FLAG(12, 0),
    /* 0x181 */ AdventureFlag_CompletedFerrusSidequest1                  = FLAG(12, 1),
    /* 0x182 */ AdventureFlag_GoronTargetRangeShortTrack                 = FLAG(12, 2),
    /* 0x183 */ AdventureFlag_ActivatedSWSnowPortal                      = FLAG(12, 3),
    /* 0x184 */ AdventureFlag_ActivatedSouthSnowPortal                   = FLAG(12, 4),
    /* 0x185 */ AdventureFlag_ActivateSEForestPortal                     = FLAG(12, 5),
    /* 0x186 */ AdventureFlag_ActivatedSWForestPortal                    = FLAG(12, 6),
    /* 0x187 */ AdventureFlag_ActivatedSWFirePortal                      = FLAG(12, 7),
    /* 0x188 */ AdventureFlag_ActivatedNEDesertPortal                    = FLAG(12, 8),
    /* 0x189 */ AdventureFlag_ActivatedNESnowPortal                      = FLAG(12, 9),
    /* 0x18A */ AdventureFlag_ActivatedWestOceanPortal                   = FLAG(12, 10),
    /* 0x18B */ AdventureFlag_WatchedSecondPhantomPossessionCS           = FLAG(12, 11),
    /* 0x18C */ AdventureFlag_ZeldaTextSecondPhantomPossession           = FLAG(12, 12),
    /* 0x18D */ AdventureFlag_WrongPathLostWoodsPreHints                 = FLAG(12, 13),
    /* 0x18E */ AdventureFlag_Unk_18E                                    = FLAG(12, 14),
    /* 0x18F */ AdventureFlag_Unk_18F                                    = FLAG(12, 15),
    /* 0x190 */ AdventureFlag_Unk_190                                    = FLAG(12, 16),
    /* 0x191 */ AdventureFlag_Unk_191                                    = FLAG(12, 17),
    /* 0x192 */ AdventureFlag_ObtainedBeedleFreebieCard                  = FLAG(12, 18),
    /* 0x193 */ AdventureFlag_ObtainedBeedleQuintuplePointsCard          = FLAG(12, 19),
    /* 0x194 */ AdventureFlag_ObtainedBeedlePointsCard                   = FLAG(12, 20),
    /* 0x195 */ AdventureFlag_Unk_195                                    = FLAG(12, 21),
    /* 0x196 */ AdventureFlag_Unk_196                                    = FLAG(12, 22),
    /* 0x197 */ AdventureFlag_Unk_197                                    = FLAG(12, 23),
    /* 0x198 */ AdventureFlag_Unk_198                                    = FLAG(12, 24),
    /* 0x199 */ AdventureFlag_MetGoronIronSellerFirstTime                = FLAG(12, 25),
    /* 0x19A */ AdventureFlag_MetMiddleGoronInDarkOreMine                = FLAG(12, 26),
    /* 0x19B */ AdventureFlag_AcceptGoronAdultRequestForMegaIceSidequest = FLAG(12, 27),
    /* 0x19C */ AdventureFlag_Unk_19C                                    = FLAG(12, 28),
    /* 0x19D */ AdventureFlag_TalkedToNiboshiAboutIceForFish             = FLAG(12, 29),
    /* 0x19E */ AdventureFlag_GaveIceToNiboshi                           = FLAG(12, 30),
    /* 0x19F */ AdventureFlag_TalkedToMashAboutIronForAxes               = FLAG(12, 31),

    /* 0x1A0 */ AdventureFlag_GaveIronToMash                 = FLAG(13, 0),
    /* 0x1A1 */ AdventureFlag_Unk_1A1                        = FLAG(13, 1),
    /* 0x1A2 */ AdventureFlag_Unk_1A2                        = FLAG(13, 2),
    /* 0x1A3 */ AdventureFlag_ObtainedBowAndArrows           = FLAG(13, 3),
    /* 0x1A4 */ AdventureFlag_MetMashFirstTime               = FLAG(13, 4),
    /* 0x1A5 */ AdventureFlag_MetWadatsumiFirstTime          = FLAG(13, 5),
    /* 0x1A6 */ AdventureFlag_WadatsumiBoardsTrain           = FLAG(13, 6),
    /* 0x1A7 */ AdventureFlag_WadatsumiMeetsOrca             = FLAG(13, 7),
    /* 0x1A8 */ AdventureFlag_Unk_1A8                        = FLAG(13, 8),
    /* 0x1A9 */ AdventureFlag_Unk_1A9                        = FLAG(13, 9),
    /* 0x1AA */ AdventureFlag_WatchedOrcaWadatsumiCS         = FLAG(13, 10),
    /* 0x1AB */ AdventureFlag_Unk_1AB                        = FLAG(13, 11),
    /* 0x1AC */ AdventureFlag_MetOrcaFirstTime               = FLAG(13, 12),
    /* 0x1AD */ AdventureFlag_TalkedToOrcaAboutManToMarry    = FLAG(13, 13),
    /* 0x1AE */ AdventureFlag_YamahikoBoardsTrain            = FLAG(13, 14),
    /* 0x1AF */ AdventureFlag_MorrisBoardsTrain              = FLAG(13, 15),
    /* 0x1B0 */ AdventureFlag_MashBoardsTrain                = FLAG(13, 16),
    /* 0x1B1 */ AdventureFlag_Unk_1B1                        = FLAG(13, 17),
    /* 0x1B2 */ AdventureFlag_DovokBoardsTrain               = FLAG(13, 18),
    /* 0x1B3 */ AdventureFlag_WatchedOrcaDovokCS             = FLAG(13, 19),
    /* 0x1B4 */ AdventureFlag_WatchedOrcaYamahikoCS          = FLAG(13, 20),
    /* 0x1B5 */ AdventureFlag_WatchedOrcaMorrisCS            = FLAG(13, 21),
    /* 0x1B6 */ AdventureFlag_WatchedOrcaMashCS              = FLAG(13, 22),
    /* 0x1B7 */ AdventureFlag_Unk_1B7                        = FLAG(13, 23),
    /* 0x1B8 */ AdventureFlag_Unk_1B8                        = FLAG(13, 24),
    /* 0x1B9 */ AdventureFlag_CompletedLinebeckSidequest     = FLAG(13, 25),
    /* 0x1BA */ AdventureFlag_CompletedHarrySidequest        = FLAG(13, 26),
    /* 0x1BB */ AdventureFlag_CompletedChildGoronSidequest   = FLAG(13, 27),
    /* 0x1BC */ AdventureFlag_TalkedToTeacherPostSpiritZelda = FLAG(13, 28),
    /* 0x1BD */ AdventureFlag_KofuBoardsTrain                = FLAG(13, 29),
    /* 0x1BE */ AdventureFlag_FailedKofuTrainRide            = FLAG(13, 30),
    /* 0x1BF */ AdventureFlag_Unk_1BF                        = FLAG(13, 31),

    /* 0x1C0 */ AdventureFlag_CompletedKofuSidequest              = FLAG(14, 0),
    /* 0x1C1 */ AdventureFlag_GoronAdultBoardsTrain               = FLAG(14, 1),
    /* 0x1C2 */ AdventureFlag_FailedGoronAdultTrainRide           = FLAG(14, 2),
    /* 0x1C3 */ AdventureFlag_ConfirmedToGoronAdultAboutSnow      = FLAG(14, 3),
    /* 0x1C4 */ AdventureFlag_CompletedGoronAdultSidequest        = FLAG(14, 4),
    /* 0x1C5 */ AdventureFlag_FailedWadatsumiTrainRide            = FLAG(14, 5),
    /* 0x1C6 */ AdventureFlag_FailedYamahikoTrainRide             = FLAG(14, 6),
    /* 0x1C7 */ AdventureFlag_FailedMorrisTrainRide               = FLAG(14, 7),
    /* 0x1C8 */ AdventureFlag_FailedMashTrainRide                 = FLAG(14, 8),
    /* 0x1C9 */ AdventureFlag_Unk_1C9                             = FLAG(14, 9),
    /* 0x1CA */ AdventureFlag_FailedDovokTrainRide                = FLAG(14, 10),
    /* 0x1CB */ AdventureFlag_GotYamahikoToPapuzia                = FLAG(14, 11),
    /* 0x1CC */ AdventureFlag_GotMorrisToPapuzia                  = FLAG(14, 12),
    /* 0x1CD */ AdventureFlag_GotMashToPapuzia                    = FLAG(14, 13),
    /* 0x1CE */ AdventureFlag_Unk_1CE                             = FLAG(14, 14),
    /* 0x1CF */ AdventureFlag_GotDovokToPapuzia                   = FLAG(14, 15),
    /* 0x1D0 */ AdventureFlag_ChildGoronBoardsTrain               = FLAG(14, 16),
    /* 0x1D1 */ AdventureFlag_FailedChildGoronTrainRide           = FLAG(14, 17),
    /* 0x1D2 */ AdventureFlag_TalkedToChildGoronAboutCastleTown   = FLAG(14, 18),
    /* 0x1D3 */ AdventureFlag_GotChildGoronToCastleTown           = FLAG(14, 19),
    /* 0x1D4 */ AdventureFlag_NokoBoardsTrain                     = FLAG(14, 20),
    /* 0x1D5 */ AdventureFlag_FailedNokoTrainRide                 = FLAG(14, 21),
    /* 0x1D6 */ AdventureFlag_GotNokoToIcySpring                  = FLAG(14, 22),
    /* 0x1D7 */ AdventureFlag_FerrusBoardsTrainToOutset           = FLAG(14, 23),
    /* 0x1D8 */ AdventureFlag_FailedFerrusTrainRideToOutset       = FLAG(14, 24),
    /* 0x1D9 */ AdventureFlag_GotFerrusToOutsetVillage            = FLAG(14, 25),
    /* 0x1DA */ AdventureFlag_FerrusBoardsTrainToMarineTemple     = FLAG(14, 26),
    /* 0x1DB */ AdventureFlag_FailedFerrusTrainRideToMarineTemple = FLAG(14, 27),
    /* 0x1DC */ AdventureFlag_CompletedFerrusSidequest2           = FLAG(14, 28),
    /* 0x1DD */ AdventureFlag_MonaBoardsTrain                     = FLAG(14, 29),
    /* 0x1DE */ AdventureFlag_FailedMonaTrainRide                 = FLAG(14, 30),
    /* 0x1DF */ AdventureFlag_GotMonaToRabbitHaven                = FLAG(14, 31),

    /* 0x1E0 */ AdventureFlag_FailedCarbenTrainRide                      = FLAG(15, 0),
    /* 0x1E1 */ AdventureFlag_JoeBoardsTrain                             = FLAG(15, 1),
    /* 0x1E2 */ AdventureFlag_FailedJoeTrainRide                         = FLAG(15, 2),
    /* 0x1E3 */ AdventureFlag_GotJoeToBeedlesAirShop                     = FLAG(15, 3),
    /* 0x1E4 */ AdventureFlag_KenzoBoardsTrainToBuildFence               = FLAG(15, 4),
    /* 0x1E5 */ AdventureFlag_FailedKenzoTrainRideToAnouki               = FLAG(15, 5),
    /* 0x1E6 */ AdventureFlag_GotKenzoToAnouki                           = FLAG(15, 6),
    /* 0x1E7 */ AdventureFlag_ZeldaTextBigRockBlockingSnowLand           = FLAG(15, 7),
    /* 0x1E8 */ AdventureFlag_YekoTextAfterKenzoStartsWorkOnFence        = FLAG(15, 8),
    /* 0x1E9 */ AdventureFlag_TalkedToYekoAboutLumberAndHandyman         = FLAG(15, 9),
    /* 0x1EA */ AdventureFlag_YekoTextAfterBringingKenzo                 = FLAG(15, 10),
    /* 0x1EB */ AdventureFlag_YekoTextAfterKenzoStartsWorkOnFence2       = FLAG(15, 11),
    /* 0x1EC */ AdventureFlag_NokoTextAfterReceivingForceGem             = FLAG(15, 12),
    /* 0x1ED */ AdventureFlag_SafeZoneTutorial                           = FLAG(15, 13),
    /* 0x1EE */ AdventureFlag_EnteredSnowLandFirstTime                   = FLAG(15, 14),
    /* 0x1EF */ AdventureFlag_ReadStoneTabletDisorientationStation       = FLAG(15, 15),
    /* 0x1F0 */ AdventureFlag_HyruleGuardTextDisorientationStation       = FLAG(15, 16),
    /* 0x1F1 */ AdventureFlag_FoundTreasureDisorientationStation         = FLAG(15, 17),
    /* 0x1F2 */ AdventureFlag_FailedToSaveWadatsumi                      = FLAG(15, 18),
    /* 0x1F3 */ AdventureFlag_GoronAdultTextAfterAcceptingMegaIceRequest = FLAG(15, 19),
    /* 0x1F4 */ AdventureFlag_FoundRegalRingTradingPost                  = FLAG(15, 20),
    /* 0x1F5 */ AdventureFlag_Unk_1F5                                    = FLAG(15, 21),
    /* 0x1F6 */ AdventureFlag_WatchedBunnioMonaCS                        = FLAG(15, 22),
    /* 0x1F7 */ AdventureFlag_Unk_1F7                                    = FLAG(15, 23),
    /* 0x1F8 */ AdventureFlag_VisitedDarkOreMineFirstTime                = FLAG(15, 24),
    /* 0x1F9 */ AdventureFlag_PlayedGoronTargetRange                     = FLAG(15, 25),
    /* 0x1FA */ AdventureFlag_MetGoronAtGoronTargetRangeFirstTime        = FLAG(15, 26),
    /* 0x1FB */ AdventureFlag_Unk_1FB                                    = FLAG(15, 27),
    /* 0x1FC */ AdventureFlag_Unk_1FC                                    = FLAG(15, 28),
    /* 0x1FD */ AdventureFlag_Unk_1FD                                    = FLAG(15, 29),
    /* 0x1FE */ AdventureFlag_CompletedMonaSidequest                     = FLAG(15, 30),
    /* 0x1FF */ AdventureFlag_Unk_1FF                                    = FLAG(15, 31),

    /* 0x200 */ AdventureFlag_TalkedToFerrusAboutOutset           = FLAG(16, 0),
    /* 0x201 */ AdventureFlag_TalkedToKofuInGoronHouse            = FLAG(16, 1),
    /* 0x202 */ AdventureFlag_ZeldaTextActivatePortalFirstTime    = FLAG(16, 2),
    /* 0x203 */ AdventureFlag_FailedToSaveWadatsumi2              = FLAG(16, 3),
    /* 0x204 */ AdventureFlag_Unk_204                             = FLAG(16, 4),
    /* 0x205 */ AdventureFlag_GaveVesselToSteem                   = FLAG(16, 5),
    /* 0x206 */ AdventureFlag_Unk_206                             = FLAG(16, 6),
    /* 0x207 */ AdventureFlag_Unk_207                             = FLAG(16, 7),
    /* 0x208 */ AdventureFlag_ZeldaTextTOS18F                     = FLAG(16, 8),
    /* 0x209 */ AdventureFlag_ZeldaTextTOS30F                     = FLAG(16, 9),
    /* 0x20A */ AdventureFlag_Unk_20A                             = FLAG(16, 10),
    /* 0x20B */ AdventureFlag_Unk_20B                             = FLAG(16, 11),
    /* 0x20C */ AdventureFlag_Unk_20C                             = FLAG(16, 12),
    /* 0x20D */ AdventureFlag_CompletedSteemSidequest             = FLAG(16, 13),
    /* 0x20E */ AdventureFlag_Unk_20E                             = FLAG(16, 14),
    /* 0x20F */ AdventureFlag_Unk_20F                             = FLAG(16, 15),
    /* 0x210 */ AdventureFlag_Unk_210                             = FLAG(16, 16),
    /* 0x211 */ AdventureFlag_ZeldaTextKeyMastersTOS22F           = FLAG(16, 17),
    /* 0x212 */ AdventureFlag_ZeldaTextPostCameraPanCSTOS20F      = FLAG(16, 18),
    /* 0x213 */ AdventureFlag_Unk_213                             = FLAG(16, 19), // ToS-related
    /* 0x214 */ AdventureFlag_TeacherBoardsTrain                  = FLAG(16, 20),
    /* 0x215 */ AdventureFlag_Unk_215                             = FLAG(16, 21),
    /* 0x216 */ AdventureFlag_TalkedToHarryWithInsufficientCuccos = FLAG(16, 22),
    /* 0x217 */ AdventureFlag_ZeldaTextMayscoreFirstTime          = FLAG(16, 23),
    /* 0x218 */ AdventureFlag_Unk_218                             = FLAG(16, 24),
    /* 0x219 */ AdventureFlag_Unk_219                             = FLAG(16, 25),
    /* 0x21A */ AdventureFlag_Unk_21A                             = FLAG(16, 26),
    /* 0x21B */ AdventureFlag_Unk_21B                             = FLAG(16, 27),
    /* 0x21C */ AdventureFlag_Unk_21C                             = FLAG(16, 28),
    /* 0x21D */ AdventureFlag_Unk_21D                             = FLAG(16, 29),
    /* 0x21E */ AdventureFlag_GotTeacherToAnoukiVillage           = FLAG(16, 30),
    /* 0x21F */ AdventureFlag_Unk_21F                             = FLAG(16, 31),

    /* 0x220 */ AdventureFlag_FailedTeacherTrainRide             = FLAG(17, 0),
    /* 0x221 */ AdventureFlag_ZeldaTextSWPerchTOS6F              = FLAG(17, 1),
    /* 0x222 */ AdventureFlag_TalkedToRaelAboutCuccos            = FLAG(17, 2),
    /* 0x223 */ AdventureFlag_CompletedRaelSidequest             = FLAG(17, 3),
    /* 0x224 */ AdventureFlag_Unk_224                            = FLAG(17, 4),
    /* 0x225 */ AdventureFlag_TalkedToFerrusAboutMarineTemple    = FLAG(17, 5),
    /* 0x226 */ AdventureFlag_StateBlueDoor1TOS25F               = FLAG(17, 6),
    /* 0x227 */ AdventureFlag_StateBlueDoor2TOS25F               = FLAG(17, 7),
    /* 0x228 */ AdventureFlag_StateFarSWTorchTOS29F              = FLAG(17, 8),
    /* 0x229 */ AdventureFlag_SpawnWarpPhantomsTOS29F            = FLAG(17, 9),
    /* 0x22A */ AdventureFlag_ObtainedNESmallKeyTOS6F            = FLAG(17, 10),
    /* 0x22B */ AdventureFlag_StateCenterBlueDoorTOS27F          = FLAG(17, 11),
    /* 0x22C */ AdventureFlag_PressedNWSwitch                    = FLAG(17, 12),
    /* 0x22D */ AdventureFlag_StateSouthBlueDoorTOS30F           = FLAG(17, 13),
    /* 0x22E */ AdventureFlag_StateEastBlueDoorTOS30F            = FLAG(17, 14),
    /* 0x22F */ AdventureFlag_Unk_22F                            = FLAG(17, 15),
    /* 0x230 */ AdventureFlag_OpenedDoubleDoorsTOS1F             = FLAG(17, 16),
    /* 0x231 */ AdventureFlag_Unk_231                            = FLAG(17, 17),
    /* 0x232 */ AdventureFlag_StateSETorchNextToEyeTOS29F        = FLAG(17, 18),
    /* 0x233 */ AdventureFlag_ShotSEEyeSwitch29F                 = FLAG(17, 19),
    /* 0x234 */ AdventureFlag_ShotSEEyeSwitch29F2                = FLAG(17, 20),
    /* 0x235 */ AdventureFlag_ZeldaTextAfterEndTOS2SwordFadeCS   = FLAG(17, 21),
    /* 0x236 */ AdventureFlag_UncoveredSongOfBirdsStatue         = FLAG(17, 22),
    /* 0x237 */ AdventureFlag_Unk_237                            = FLAG(17, 23),
    /* 0x238 */ AdventureFlag_Unk_238                            = FLAG(17, 24),
    /* 0x239 */ AdventureFlag_LeftBeedleAfterJoeSidequest        = FLAG(17, 25),
    /* 0x23A */ AdventureFlag_Unk_23A                            = FLAG(17, 26),
    /* 0x23B */ AdventureFlag_WiseOneFortuneForSongOfBirdsStatue = FLAG(17, 27),
    /* 0x23C */ AdventureFlag_WiseOneFortuneFirstTime            = FLAG(17, 28),
    /* 0x23D */ AdventureFlag_Unk_23D                            = FLAG(17, 29),
    /* 0x23E */ AdventureFlag_Unk_23E                            = FLAG(17, 30),
    /* 0x23F */ AdventureFlag_Unk_23F                            = FLAG(17, 31),

    /* 0x240 */ AdventureFlag_Unk_240                            = FLAG(18, 0),
    /* 0x241 */ AdventureFlag_Unk_241                            = FLAG(18, 1),
    /* 0x242 */ AdventureFlag_WadatsumiMinigameSequence          = FLAG(18, 2),
    /* 0x243 */ AdventureFlag_EncouragedChildGoronCityLife       = FLAG(18, 3),
    /* 0x244 */ AdventureFlag_WatchedAlfonzoCannonCS             = FLAG(18, 4),
    /* 0x245 */ AdventureFlag_Unk_245                            = FLAG(18, 5),
    /* 0x246 */ AdventureFlag_ShotNorthEyeSwitchTOS27F           = FLAG(18, 6),
    /* 0x247 */ AdventureFlag_ShotSouthEyeSwitchTOS27F           = FLAG(18, 7),
    /* 0x248 */ AdventureFlag_BrokeLeftWestArmosTOS30F           = FLAG(18, 8),
    /* 0x249 */ AdventureFlag_BrokeSouthArmosTOS30F2             = FLAG(18, 9),
    /* 0x24A */ AdventureFlag_BrokeRightWestArmorTOS30F          = FLAG(18, 10),
    /* 0x24B */ AdventureFlag_BrokeSouthArmosTOS30F              = FLAG(18, 11),
    /* 0x24C */ AdventureFlag_StateSouthBlueDoorTOS27F           = FLAG(18, 12),
    /* 0x24D */ AdventureFlag_Unk_24D                            = FLAG(18, 13),
    /* 0x24E */ AdventureFlag_SpawnThreePhantomEyesTOS27F        = FLAG(18, 14),
    /* 0x24F */ AdventureFlag_ReachedBeyondWestSandPitTOS27F     = FLAG(18, 15),
    /* 0x250 */ AdventureFlag_ReachedLargeFarWestSandPitTOS27F   = FLAG(18, 16),
    /* 0x251 */ AdventureFlag_StateTorch1TOS29F                  = FLAG(18, 17),
    /* 0x252 */ AdventureFlag_StateTorch2TOS29F                  = FLAG(18, 18),
    /* 0x253 */ AdventureFlag_StateTorch3TOS29F                  = FLAG(18, 19),
    /* 0x254 */ AdventureFlag_StateTorch4TOS29F                  = FLAG(18, 20),
    /* 0x255 */ AdventureFlag_Unk_255                            = FLAG(18, 21),
    /* 0x256 */ AdventureFlag_Unk_256                            = FLAG(18, 22),
    /* 0x257 */ AdventureFlag_Unk_257                            = FLAG(18, 23),
    /* 0x258 */ AdventureFlag_Unk_258                            = FLAG(18, 24),
    /* 0x259 */ AdventureFlag_Unk_259                            = FLAG(18, 25),
    /* 0x25A */ AdventureFlag_TalkedToWarpPhantomWithZeldaTOS29F = FLAG(18, 26),
    /* 0x25B */ AdventureFlag_Unk_25B                            = FLAG(18, 27),
    /* 0x25C */ AdventureFlag_TalkedToPhantomWithZeldaTOS25F     = FLAG(18, 28),
    /* 0x25D */ AdventureFlag_Unk_25D                            = FLAG(18, 29),
    /* 0x25E */ AdventureFlag_Unk_25E                            = FLAG(18, 30),
    /* 0x25F */ AdventureFlag_Unk_25F                            = FLAG(18, 31),

    /* 0x260 */ AdventureFlag_Unk_260                                    = FLAG(19, 0),
    /* 0x261 */ AdventureFlag_Unk_261                                    = FLAG(19, 1),
    /* 0x262 */ AdventureFlag_TalkedToGoronElderAfterChildGoronSidequest = FLAG(19, 2),
    /* 0x263 */ AdventureFlag_Unk_263                                    = FLAG(19, 3),
    /* 0x264 */ AdventureFlag_Unk_264                                    = FLAG(19, 4),
    /* 0x265 */ AdventureFlag_StateTorch5TOS29F                          = FLAG(19, 5),
    /* 0x266 */ AdventureFlag_BrokeArmos2TOS27F                          = FLAG(19, 6),
    /* 0x267 */ AdventureFlag_BrokeArmos4TOS27F                          = FLAG(19, 7),
    /* 0x268 */ AdventureFlag_BrokeArmos3TOS27F                          = FLAG(19, 8),
    /* 0x269 */ AdventureFlag_BrokeArmos1TOS27F                          = FLAG(19, 9),
    /* 0x26A */ AdventureFlag_BrokeBlockPillar1TOS27F                    = FLAG(19, 10),
    /* 0x26B */ AdventureFlag_BrokeBlockPillar2TOS27F                    = FLAG(19, 11),
    /* 0x26C */ AdventureFlag_BrokeBlockPillar3TOS27F                    = FLAG(19, 12),
    /* 0x26D */ AdventureFlag_BrokeBlockPillar4TOS27F                    = FLAG(19, 13),
    /* 0x26E */ AdventureFlag_Unk_26E                                    = FLAG(19, 14),
    /* 0x26F */ AdventureFlag_Unk_26F                                    = FLAG(19, 15),
    /* 0x270 */ AdventureFlag_Unk_270                                    = FLAG(19, 16),
    /* 0x271 */ AdventureFlag_Unk_271                                    = FLAG(19, 17),
    /* 0x272 */ AdventureFlag_BrokeArmos2TOS25F                          = FLAG(19, 18),
    /* 0x273 */ AdventureFlag_BrokeArmos3TOS25F                          = FLAG(19, 19),
    /* 0x274 */ AdventureFlag_BrokeArmos4TOS25F                          = FLAG(19, 20),
    /* 0x275 */ AdventureFlag_TalkedToKenzoDuringFenceWork               = FLAG(19, 21),
    /* 0x276 */ AdventureFlag_Unk_276                                    = FLAG(19, 22),
    /* 0x277 */ AdventureFlag_ZeldaTextGotLostInBlizzard                 = FLAG(19, 23),
    /* 0x278 */ AdventureFlag_Unk_278                                    = FLAG(19, 24),
    /* 0x279 */ AdventureFlag_Unk_279                                    = FLAG(19, 25),
    /* 0x27A */ AdventureFlag_WatchedOrcaWadatsumiCS2                    = FLAG(19, 26),
    /* 0x27B */ AdventureFlag_ObtainedWhip                               = FLAG(19, 27),
    /* 0x27C */ AdventureFlag_OrcaSidequestStart                         = FLAG(19, 28), // set to false when sidequest is over
    /* 0x27D */ AdventureFlag_Unk_27D = FLAG(19, 29), // Yamahiko complains about lack of women (?)
    /* 0x27E */ AdventureFlag_Unk_27E = FLAG(19, 30),
    /* 0x27F */ AdventureFlag_Unk_27F = FLAG(19, 31),

    /* 0x280 */ AdventureFlag_EnteredOceanLandFirstTime             = FLAG(20, 0),
    /* 0x281 */ AdventureFlag_EnteredFireLandFirstTime              = FLAG(20, 1),
    /* 0x282 */ AdventureFlag_StateNESouthOrbSwitchTOS30F           = FLAG(20, 2),
    /* 0x283 */ AdventureFlag_StateNENorthOrbSwitchTOS30F           = FLAG(20, 3),
    /* 0x284 */ AdventureFlag_StateSETorchTOS29F                    = FLAG(20, 4),
    /* 0x285 */ AdventureFlag_ObtainedSmallKeyFromSpinutTOS5F       = FLAG(20, 5),
    /* 0x286 */ AdventureFlag_Unk_286                               = FLAG(20, 6),
    /* 0x287 */ AdventureFlag_WatchedCameraPanEyeSwitch1CSTOS27F    = FLAG(20, 7),
    /* 0x288 */ AdventureFlag_WatchedCameraPanEyeSwitch2CSTOS27F    = FLAG(20, 8),
    /* 0x289 */ AdventureFlag_SpawnedPhantomTOS30F                  = FLAG(20, 9),
    /* 0x28A */ AdventureFlag_Unk_28A                               = FLAG(20, 10),
    /* 0x28B */ AdventureFlag_ObtainedBunnioHeartContainer5Rabbits  = FLAG(20, 11),
    /* 0x28C */ AdventureFlag_ObtainedBunnioRewardEveryVariety      = FLAG(20, 12),
    /* 0x28D */ AdventureFlag_ObtainedBunnioReward10ForestRabbits   = FLAG(20, 13),
    /* 0x28E */ AdventureFlag_ObtainedBunnioReward10SnowRabbits     = FLAG(20, 14),
    /* 0x28F */ AdventureFlag_ObtainedBunnioReward10OceanRabbits    = FLAG(20, 15),
    /* 0x290 */ AdventureFlag_ObtainedBunnioReward10MountainRabbits = FLAG(20, 16),
    /* 0x291 */ AdventureFlag_ObtainedBunnioReward10DesertRabbits   = FLAG(20, 17),
    /* 0x292 */ AdventureFlag_BunnioTextAfterMonaAndHimGetAlong     = FLAG(20, 18),
    /* 0x293 */ AdventureFlag_ObtainedSwordsmansScroll1             = FLAG(20, 19),
    /* 0x294 */ AdventureFlag_Unk_294                               = FLAG(20, 20), // related to ToS
    /* 0x295 */ AdventureFlag_Unk_295                               = FLAG(20, 21),
    /* 0x296 */ AdventureFlag_Unk_296                               = FLAG(20, 22),
    /* 0x297 */ AdventureFlag_EnteredTOSStaircaseFirstTime          = FLAG(20, 23),
    /* 0x298 */ AdventureFlag_ZeldaTextTOSStaircaseHigher           = FLAG(20, 24),
    /* 0x299 */ AdventureFlag_ZeldaTextTOS29F                       = FLAG(20, 25),
    /* 0x29A */ AdventureFlag_ZeldaTextTOS28F                       = FLAG(20, 26),
    /* 0x29B */ AdventureFlag_Unk_29B                               = FLAG(20, 27),
    /* 0x29C */ AdventureFlag_ZeldaTextTOS26F                       = FLAG(20, 28),
    /* 0x29D */ AdventureFlag_ZeldaTextDefeatedEnemiesTOS26F        = FLAG(20, 29),
    /* 0x29E */ AdventureFlag_ZeldaTextTOS25F                       = FLAG(20, 30),
    /* 0x29F */ AdventureFlag_CompletedAllFerrusSidequests          = FLAG(20, 31),

    /* 0x2A0 */ AdventureFlag_Unk_2A0                                              = FLAG(21, 0),
    /* 0x2A1 */ AdventureFlag_Unk_2A1                                              = FLAG(21, 1),
    /* 0x2A2 */ AdventureFlag_GaveLumberToYeko                                     = FLAG(21, 2),
    /* 0x2A3 */ AdventureFlag_ZeldaTextEnterPortalFirstTime                        = FLAG(21, 3),
    /* 0x2A4 */ AdventureFlag_Unk_2A4                                              = FLAG(21, 4),
    /* 0x2A5 */ AdventureFlag_ZeldaTextEncounterSnurgleFirstTime                   = FLAG(21, 5),
    /* 0x2A6 */ AdventureFlag_WatchedKagoronGoronAdultPreWagonCS                   = FLAG(21, 6),
    /* 0x2A7 */ AdventureFlag_EnteredTwistedTunnelsFirstTime                       = FLAG(21, 7),
    /* 0x2A8 */ AdventureFlag_WatchedStavenPreBattleCS                             = FLAG(21, 8),
    /* 0x2A9 */ AdventureFlag_EscapedTwistedTunnelsFirstTime                       = FLAG(21, 9),
    /* 0x2AA */ AdventureFlag_GotDarkRealmTearOfLightFirstTime                     = FLAG(21, 10),
    /* 0x2AB */ AdventureFlag_Unk_2AB                                              = FLAG(21, 11),
    /* 0x2AC */ AdventureFlag_ToldHyruleGuardTruthAboutFriendDisorientationStation = FLAG(21, 12),
    /* 0x2AD */ AdventureFlag_BridgeRepairQuestStart =
        FLAG(21, 13), // starts after talking to anjean with ocean glyph, ends when paying kenzo for bridge fix
    /* 0x2AE */ AdventureFlag_DestroyDesertTempleCannonsQuestStart =
        FLAG(21, 14), // set when approaching desert temple, set to false when all cannons are down
    /* 0x2AF */ AdventureFlag_ZeldaTextBrokenBridge                 = FLAG(21, 15),
    /* 0x2B0 */ AdventureFlag_DefeatedRocktiteEastTunnelFireLand    = FLAG(21, 16),
    /* 0x2B1 */ AdventureFlag_Unk_2B1                               = FLAG(21, 17),
    /* 0x2B2 */ AdventureFlag_Unk_2B2                               = FLAG(21, 18),
    /* 0x2B3 */ AdventureFlag_Unk_2B3                               = FLAG(21, 19),
    /* 0x2B4 */ AdventureFlag_Unk_2B4                               = FLAG(21, 20),
    /* 0x2B5 */ AdventureFlag_Unk_2B5                               = FLAG(21, 21),
    /* 0x2B6 */ AdventureFlag_WatchedDarkTrainForestLandCS          = FLAG(21, 22),
    /* 0x2B7 */ AdventureFlag_CompletedSnowdriftStationPuzzle       = FLAG(21, 23),
    /* 0x2B8 */ AdventureFlag_ZeldaTextSlipperyStationFirstTime     = FLAG(21, 24),
    /* 0x2B9 */ AdventureFlag_CompletedSlipperyStationRaces         = FLAG(21, 25),
    /* 0x2BA */ AdventureFlag_ObtainedRegalRingEndOfTheEarthStation = FLAG(21, 26),
    /* 0x2BB */ AdventureFlag_RocktiteEastTunnelFireLandBattleStart =
        FLAG(21, 27), // set to false after zelda text outside tunnel
    /* 0x2BC */ AdventureFlag_ZeldaTextPreDemonTrainBattle = FLAG(21, 28),
    /* 0x2BD */ AdventureFlag_DefeatedDemonTrain           = FLAG(21, 29),
    /* 0x2BE */ AdventureFlag_LearntSongOfAwakening        = FLAG(21, 30),
    /* 0x2BF */ AdventureFlag_ZeldaTextSandWand            = FLAG(21, 31),

    /* 0x2C0 */ AdventureFlag_StateSWBridgeTOS27F = FLAG(22, 0),
    /* 0x2C1 */ AdventureFlag_Unk_2C1 =
        FLAG(22, 1), // set to true when reaching right key door staircase ToS 28F, but false for left and middle staircases
    /* 0x2C2 */ AdventureFlag_StateWestBridgeTOS15F                 = FLAG(22, 2),
    /* 0x2C3 */ AdventureFlag_Unk_2C3                               = FLAG(22, 3),
    /* 0x2C4 */ AdventureFlag_TalkedToMashAfterOrcaSidequest        = FLAG(22, 4),
    /* 0x2C5 */ AdventureFlag_TalkedToWoodNearWhipMinigameFirstTime = FLAG(22, 5),
    /* 0x2C6 */ AdventureFlag_Unk_2C6                               = FLAG(22, 6),
    /* 0x2C7 */ AdventureFlag_VisitedIslandSanctuaryFirstTime       = FLAG(22, 7), // set to false immediately after
    /* 0x2C8 */ AdventureFlag_Unk_2C8                               = FLAG(22, 8),
    /* 0x2C9 */ AdventureFlag_GoronAdultTextAfterGivingMegaIce      = FLAG(22, 9),
    /* 0x2CA */ AdventureFlag_WatchedLavaGoneGoronVillageCS         = FLAG(22, 10),
    /* 0x2CB */ AdventureFlag_SavedWadatsumi                        = FLAG(22, 11), // set to false immediately after
    /* 0x2CC */ AdventureFlag_Unk_2CC                               = FLAG(22, 12),
    /* 0x2CD */ AdventureFlag_DefeatedDemonTrain2                   = FLAG(22, 13), // uncertain
    /* 0x2CE */ AdventureFlag_Unk_2CE                               = FLAG(22, 14),
    /* 0x2CF */ AdventureFlag_Unk_2CF                               = FLAG(22, 15),
    /* 0x2D0 */ AdventureFlag_Unk_2D0                               = FLAG(22, 16),
    /* 0x2D1 */ AdventureFlag_Unk_2D1                               = FLAG(22, 17),
    /* 0x2D2 */ AdventureFlag_Unk_2D2                               = FLAG(22, 18),
    /* 0x2D3 */ AdventureFlag_Unk_2D3                               = FLAG(22, 19),
    /* 0x2D4 */ AdventureFlag_Unk_2D4                               = FLAG(22, 20),
    /* 0x2D5 */ AdventureFlag_Unk_2D5                               = FLAG(22, 21),
    /* 0x2D6 */ AdventureFlag_Unk_2D6                               = FLAG(22, 22),
    /* 0x2D7 */ AdventureFlag_Unk_2D7                               = FLAG(22, 23),
    /* 0x2D8 */ AdventureFlag_Unk_2D8                               = FLAG(22, 24),
    /* 0x2D9 */ AdventureFlag_Unk_2D9                               = FLAG(22, 25),
    /* 0x2DA */ AdventureFlag_Unk_2DA                               = FLAG(22, 26),
    /* 0x2DB */ AdventureFlag_Unk_2DB                               = FLAG(22, 27),
    /* 0x2DC */ AdventureFlag_Unk_2DC                               = FLAG(22, 28),
    /* 0x2DD */ AdventureFlag_Unk_2DD                               = FLAG(22, 29),
    /* 0x2DE */ AdventureFlag_Unk_2DE                               = FLAG(22, 30),
    /* 0x2DF */ AdventureFlag_Unk_2DF                               = FLAG(22, 31),

    /* 0x2E0 */ AdventureFlag_Unk_2E0 = FLAG(23, 0),
    /* 0x2E1 */ AdventureFlag_Unk_2E1 = FLAG(23, 1),
    /* 0x2E2 */ AdventureFlag_Unk_2E2 = FLAG(23, 2),
    /* 0x2E3 */ AdventureFlag_Unk_2E3 = FLAG(23, 3),
    /* 0x2E4 */ AdventureFlag_Unk_2E4 = FLAG(23, 4),
    /* 0x2E5 */ AdventureFlag_Unk_2E5 = FLAG(23, 5),
    /* 0x2E6 */ AdventureFlag_Unk_2E6 = FLAG(23, 6),
    /* 0x2E7 */ AdventureFlag_Unk_2E7 = FLAG(23, 7),
    /* 0x2E8 */ AdventureFlag_Unk_2E8 = FLAG(23, 8),
    /* 0x2E9 */ AdventureFlag_Unk_2E9 = FLAG(23, 9),
    /* 0x2EA */ AdventureFlag_Unk_2EA = FLAG(23, 10),
    /* 0x2EB */ AdventureFlag_Unk_2EB = FLAG(23, 11),
    /* 0x2EC */ AdventureFlag_Unk_2EC = FLAG(23, 12),
    /* 0x2ED */ AdventureFlag_Unk_2ED = FLAG(23, 13),
    /* 0x2EE */ AdventureFlag_Unk_2EE = FLAG(23, 14),
    /* 0x2EF */ AdventureFlag_Unk_2EF = FLAG(23, 15),
    /* 0x2F0 */ AdventureFlag_Unk_2F0 = FLAG(23, 16),
    /* 0x2F1 */ AdventureFlag_Unk_2F1 = FLAG(23, 17),
    /* 0x2F2 */ AdventureFlag_Unk_2F2 = FLAG(23, 18),
    /* 0x2F3 */ AdventureFlag_Unk_2F3 = FLAG(23, 19),
    /* 0x2F4 */ AdventureFlag_Unk_2F4 = FLAG(23, 20),
    /* 0x2F5 */ AdventureFlag_Unk_2F5 = FLAG(23, 21),
    /* 0x2F6 */ AdventureFlag_Unk_2F6 = FLAG(23, 22),
    /* 0x2F7 */ AdventureFlag_Unk_2F7 = FLAG(23, 23),
    /* 0x2F8 */ AdventureFlag_Unk_2F8 = FLAG(23, 24),
    /* 0x2F9 */ AdventureFlag_Unk_2F9 = FLAG(23, 25),
    /* 0x2FA */ AdventureFlag_Unk_2FA = FLAG(23, 26),
    /* 0x2FB */ AdventureFlag_Unk_2FB = FLAG(23, 27),
    /* 0x2FC */ AdventureFlag_Unk_2FC = FLAG(23, 28),
    /* 0x2FD */ AdventureFlag_Unk_2FD = FLAG(23, 29),
    /* 0x2FE */ AdventureFlag_Unk_2FE = FLAG(23, 30),
    /* 0x2FF */ AdventureFlag_Unk_2FF = FLAG(23, 31),

    /* 0x300 */ AdventureFlag_Unk_300 = FLAG(24, 0),
    /* 0x301 */ AdventureFlag_Unk_301 = FLAG(24, 1),
    /* 0x302 */ AdventureFlag_Unk_302 = FLAG(24, 2),
    /* 0x303 */ AdventureFlag_Unk_303 = FLAG(24, 3),
    /* 0x304 */ AdventureFlag_Unk_304 = FLAG(24, 4),
    /* 0x305 */ AdventureFlag_Unk_305 = FLAG(24, 5),
    /* 0x306 */ AdventureFlag_Unk_306 = FLAG(24, 6),
    /* 0x307 */ AdventureFlag_Unk_307 = FLAG(24, 7),
    /* 0x308 */ AdventureFlag_Unk_308 = FLAG(24, 8),
    /* 0x309 */ AdventureFlag_Unk_309 = FLAG(24, 9),
    /* 0x30A */ AdventureFlag_Unk_30A = FLAG(24, 10),
    /* 0x30B */ AdventureFlag_Unk_30B = FLAG(24, 11),
    /* 0x30C */ AdventureFlag_Unk_30C = FLAG(24, 12),
    /* 0x30D */ AdventureFlag_Unk_30D = FLAG(24, 13),
    /* 0x30E */ AdventureFlag_Unk_30E = FLAG(24, 14),
    /* 0x30F */ AdventureFlag_Unk_30F = FLAG(24, 15),
    /* 0x310 */ AdventureFlag_Unk_310 = FLAG(24, 16),
    /* 0x311 */ AdventureFlag_Unk_311 = FLAG(24, 17),
    /* 0x312 */ AdventureFlag_Unk_312 = FLAG(24, 18),
    /* 0x313 */ AdventureFlag_Unk_313 = FLAG(24, 19),
    /* 0x314 */ AdventureFlag_Unk_314 = FLAG(24, 20),
    /* 0x315 */ AdventureFlag_Unk_315 = FLAG(24, 21),
    /* 0x316 */ AdventureFlag_Unk_316 = FLAG(24, 22),
    /* 0x317 */ AdventureFlag_Unk_317 = FLAG(24, 23),
    /* 0x318 */ AdventureFlag_Unk_318 = FLAG(24, 24),
    /* 0x319 */ AdventureFlag_Unk_319 = FLAG(24, 25),
    /* 0x31A */ AdventureFlag_Unk_31A = FLAG(24, 26),
    /* 0x31B */ AdventureFlag_Unk_31B = FLAG(24, 27),
    /* 0x31C */ AdventureFlag_Unk_31C = FLAG(24, 28),
    /* 0x31D */ AdventureFlag_Unk_31D = FLAG(24, 29),
    /* 0x31E */ AdventureFlag_Unk_31E = FLAG(24, 30),
    /* 0x31F */ AdventureFlag_Unk_31F = FLAG(24, 31),

    /* 0x320 */ AdventureFlag_Unk_320 = FLAG(25, 0),
    /* 0x321 */ AdventureFlag_Unk_321 = FLAG(25, 1),
    /* 0x322 */ AdventureFlag_Unk_322 = FLAG(25, 2),
    /* 0x323 */ AdventureFlag_Unk_323 = FLAG(25, 3),
    /* 0x324 */ AdventureFlag_Unk_324 = FLAG(25, 4),
    /* 0x325 */ AdventureFlag_Unk_325 = FLAG(25, 5),
    /* 0x326 */ AdventureFlag_Unk_326 = FLAG(25, 6),
    /* 0x327 */ AdventureFlag_Unk_327 = FLAG(25, 7),
    /* 0x328 */ AdventureFlag_Unk_328 = FLAG(25, 8),
    /* 0x329 */ AdventureFlag_Unk_329 = FLAG(25, 9),
    /* 0x32A */ AdventureFlag_Unk_32A = FLAG(25, 10),
    /* 0x32B */ AdventureFlag_Unk_32B = FLAG(25, 11),
    /* 0x32C */ AdventureFlag_Unk_32C = FLAG(25, 12),
    /* 0x32D */ AdventureFlag_Unk_32D = FLAG(25, 13),
    /* 0x32E */ AdventureFlag_Unk_32E = FLAG(25, 14),
    /* 0x32F */ AdventureFlag_Unk_32F = FLAG(25, 15),
    /* 0x330 */ AdventureFlag_Unk_330 = FLAG(25, 16),
    /* 0x331 */ AdventureFlag_Unk_331 = FLAG(25, 17),
    /* 0x332 */ AdventureFlag_Unk_332 = FLAG(25, 18),
    /* 0x333 */ AdventureFlag_Unk_333 = FLAG(25, 19),
    /* 0x334 */ AdventureFlag_Unk_334 = FLAG(25, 20),
    /* 0x335 */ AdventureFlag_Unk_335 = FLAG(25, 21),
    /* 0x336 */ AdventureFlag_Unk_336 = FLAG(25, 22),
    /* 0x337 */ AdventureFlag_Unk_337 = FLAG(25, 23),
    /* 0x338 */ AdventureFlag_Unk_338 = FLAG(25, 24),
    /* 0x339 */ AdventureFlag_Unk_339 = FLAG(25, 25),
    /* 0x33A */ AdventureFlag_Unk_33A = FLAG(25, 26),
    /* 0x33B */ AdventureFlag_Unk_33B = FLAG(25, 27),
    /* 0x33C */ AdventureFlag_Unk_33C = FLAG(25, 28),
    /* 0x33D */ AdventureFlag_Unk_33D = FLAG(25, 29),
    /* 0x33E */ AdventureFlag_Unk_33E = FLAG(25, 30),
    /* 0x33F */ AdventureFlag_Unk_33F = FLAG(25, 31),

    /* 0x340 */ AdventureFlag_Unk_340 = FLAG(26, 0),
    /* 0x341 */ AdventureFlag_Unk_341 = FLAG(26, 1),
    /* 0x342 */ AdventureFlag_Unk_342 = FLAG(26, 2),
    /* 0x343 */ AdventureFlag_Unk_343 = FLAG(26, 3),
    /* 0x344 */ AdventureFlag_Unk_344 = FLAG(26, 4),
    /* 0x345 */ AdventureFlag_Unk_345 = FLAG(26, 5),
    /* 0x346 */ AdventureFlag_Unk_346 = FLAG(26, 6),
    /* 0x347 */ AdventureFlag_Unk_347 = FLAG(26, 7),
    /* 0x348 */ AdventureFlag_Unk_348 = FLAG(26, 8),
    /* 0x349 */ AdventureFlag_Unk_349 = FLAG(26, 9),
    /* 0x34A */ AdventureFlag_Unk_34A = FLAG(26, 10),
    /* 0x34B */ AdventureFlag_Unk_34B = FLAG(26, 11),
    /* 0x34C */ AdventureFlag_Unk_34C = FLAG(26, 12),
    /* 0x34D */ AdventureFlag_Unk_34D = FLAG(26, 13),
    /* 0x34E */ AdventureFlag_Unk_34E = FLAG(26, 14),
    /* 0x34F */ AdventureFlag_Unk_34F = FLAG(26, 15),
    /* 0x350 */ AdventureFlag_Unk_350 = FLAG(26, 16),
    /* 0x351 */ AdventureFlag_Unk_351 = FLAG(26, 17),
    /* 0x352 */ AdventureFlag_Unk_352 = FLAG(26, 18),
    /* 0x353 */ AdventureFlag_Unk_353 = FLAG(26, 19),
    /* 0x354 */ AdventureFlag_Unk_354 = FLAG(26, 20),
    /* 0x355 */ AdventureFlag_Unk_355 = FLAG(26, 21),
    /* 0x356 */ AdventureFlag_Unk_356 = FLAG(26, 22),
    /* 0x357 */ AdventureFlag_Unk_357 = FLAG(26, 23),
    /* 0x358 */ AdventureFlag_Unk_358 = FLAG(26, 24),
    /* 0x359 */ AdventureFlag_Unk_359 = FLAG(26, 25),
    /* 0x35A */ AdventureFlag_Unk_35A = FLAG(26, 26),
    /* 0x35B */ AdventureFlag_Unk_35B = FLAG(26, 27),
    /* 0x35C */ AdventureFlag_Unk_35C = FLAG(26, 28),
    /* 0x35D */ AdventureFlag_Unk_35D = FLAG(26, 29),
    /* 0x35E */ AdventureFlag_Unk_35E = FLAG(26, 30),
    /* 0x35F */ AdventureFlag_Unk_35F = FLAG(26, 31),

    /* 0x360 */ AdventureFlag_Unk_360 = FLAG(27, 0),
    /* 0x361 */ AdventureFlag_Unk_361 = FLAG(27, 1),
    /* 0x362 */ AdventureFlag_Unk_362 = FLAG(27, 2),
    /* 0x363 */ AdventureFlag_Unk_363 = FLAG(27, 3),
    /* 0x364 */ AdventureFlag_Unk_364 = FLAG(27, 4),
    /* 0x365 */ AdventureFlag_Unk_365 = FLAG(27, 5),
    /* 0x366 */ AdventureFlag_Unk_366 = FLAG(27, 6),
    /* 0x367 */ AdventureFlag_Unk_367 = FLAG(27, 7),
    /* 0x368 */ AdventureFlag_Unk_368 = FLAG(27, 8),
    /* 0x369 */ AdventureFlag_Unk_369 = FLAG(27, 9),
    /* 0x36A */ AdventureFlag_Unk_36A = FLAG(27, 10),
    /* 0x36B */ AdventureFlag_Unk_36B = FLAG(27, 11),
    /* 0x36C */ AdventureFlag_Unk_36C = FLAG(27, 12),
    /* 0x36D */ AdventureFlag_Unk_36D = FLAG(27, 13),
    /* 0x36E */ AdventureFlag_Unk_36E = FLAG(27, 14),
    /* 0x36F */ AdventureFlag_Unk_36F = FLAG(27, 15),
    /* 0x370 */ AdventureFlag_Unk_370 = FLAG(27, 16),
    /* 0x371 */ AdventureFlag_Unk_371 = FLAG(27, 17),
    /* 0x372 */ AdventureFlag_Unk_372 = FLAG(27, 18),
    /* 0x373 */ AdventureFlag_Unk_373 = FLAG(27, 19),
    /* 0x374 */ AdventureFlag_Unk_374 = FLAG(27, 20),
    /* 0x375 */ AdventureFlag_Unk_375 = FLAG(27, 21),
    /* 0x376 */ AdventureFlag_Unk_376 = FLAG(27, 22),
    /* 0x377 */ AdventureFlag_Unk_377 = FLAG(27, 23),
    /* 0x378 */ AdventureFlag_Unk_378 = FLAG(27, 24),
    /* 0x379 */ AdventureFlag_Unk_379 = FLAG(27, 25),
    /* 0x37A */ AdventureFlag_Unk_37A = FLAG(27, 26),
    /* 0x37B */ AdventureFlag_Unk_37B = FLAG(27, 27),
    /* 0x37C */ AdventureFlag_Unk_37C = FLAG(27, 28),
    /* 0x37D */ AdventureFlag_Unk_37D = FLAG(27, 29),
    /* 0x37E */ AdventureFlag_Unk_37E = FLAG(27, 30),
    /* 0x37F */ AdventureFlag_Unk_37F = FLAG(27, 31),

    /* 0x380 */ AdventureFlag_Unk_380 = FLAG(28, 0),
    /* 0x381 */ AdventureFlag_Unk_381 = FLAG(28, 1),
    /* 0x382 */ AdventureFlag_Unk_382 = FLAG(28, 2),
    /* 0x383 */ AdventureFlag_Unk_383 = FLAG(28, 3),
    /* 0x384 */ AdventureFlag_Unk_384 = FLAG(28, 4),
    /* 0x385 */ AdventureFlag_Unk_385 = FLAG(28, 5),
    /* 0x386 */ AdventureFlag_Unk_386 = FLAG(28, 6),
    /* 0x387 */ AdventureFlag_Unk_387 = FLAG(28, 7),
    /* 0x388 */ AdventureFlag_Unk_388 = FLAG(28, 8),
    /* 0x389 */ AdventureFlag_Unk_389 = FLAG(28, 9),
    /* 0x38A */ AdventureFlag_Unk_38A = FLAG(28, 10),
    /* 0x38B */ AdventureFlag_Unk_38B = FLAG(28, 11),
    /* 0x38C */ AdventureFlag_Unk_38C = FLAG(28, 12),
    /* 0x38D */ AdventureFlag_Unk_38D = FLAG(28, 13),
    /* 0x38E */ AdventureFlag_Unk_38E = FLAG(28, 14),
    /* 0x38F */ AdventureFlag_Unk_38F = FLAG(28, 15),
    /* 0x390 */ AdventureFlag_Unk_390 = FLAG(28, 16),
    /* 0x391 */ AdventureFlag_Unk_391 = FLAG(28, 17),
    /* 0x392 */ AdventureFlag_Unk_392 = FLAG(28, 18),
    /* 0x393 */ AdventureFlag_Unk_393 = FLAG(28, 19),
    /* 0x394 */ AdventureFlag_Unk_394 = FLAG(28, 20),
    /* 0x395 */ AdventureFlag_Unk_395 = FLAG(28, 21),
    /* 0x396 */ AdventureFlag_Unk_396 = FLAG(28, 22),
    /* 0x397 */ AdventureFlag_Unk_397 = FLAG(28, 23),
    /* 0x398 */ AdventureFlag_Unk_398 = FLAG(28, 24),
    /* 0x399 */ AdventureFlag_Unk_399 = FLAG(28, 25),
    /* 0x39A */ AdventureFlag_Unk_39A = FLAG(28, 26),
    /* 0x39B */ AdventureFlag_Unk_39B = FLAG(28, 27),
    /* 0x39C */ AdventureFlag_Unk_39C = FLAG(28, 28),
    /* 0x39D */ AdventureFlag_Unk_39D = FLAG(28, 29),
    /* 0x39E */ AdventureFlag_Unk_39E = FLAG(28, 30),
    /* 0x39F */ AdventureFlag_Unk_39F = FLAG(28, 31),

    /* 0x3A0 */ AdventureFlag_Unk_3A0 = FLAG(29, 0),
    /* 0x3A1 */ AdventureFlag_Unk_3A1 = FLAG(29, 1),
    /* 0x3A2 */ AdventureFlag_Unk_3A2 = FLAG(29, 2),
    /* 0x3A3 */ AdventureFlag_Unk_3A3 = FLAG(29, 3),
    /* 0x3A4 */ AdventureFlag_Unk_3A4 = FLAG(29, 4),
    /* 0x3A5 */ AdventureFlag_Unk_3A5 = FLAG(29, 5),
    /* 0x3A6 */ AdventureFlag_Unk_3A6 = FLAG(29, 6),
    /* 0x3A7 */ AdventureFlag_Unk_3A7 = FLAG(29, 7),
    /* 0x3A8 */ AdventureFlag_Unk_3A8 = FLAG(29, 8),
    /* 0x3A9 */ AdventureFlag_Unk_3A9 = FLAG(29, 9),
    /* 0x3AA */ AdventureFlag_Unk_3AA = FLAG(29, 10),
    /* 0x3AB */ AdventureFlag_Unk_3AB = FLAG(29, 11),
    /* 0x3AC */ AdventureFlag_Unk_3AC = FLAG(29, 12),
    /* 0x3AD */ AdventureFlag_Unk_3AD = FLAG(29, 13),
    /* 0x3AE */ AdventureFlag_Unk_3AE = FLAG(29, 14),
    /* 0x3AF */ AdventureFlag_Unk_3AF = FLAG(29, 15),
    /* 0x3B0 */ AdventureFlag_Unk_3B0 = FLAG(29, 16),
    /* 0x3B1 */ AdventureFlag_Unk_3B1 = FLAG(29, 17),
    /* 0x3B2 */ AdventureFlag_Unk_3B2 = FLAG(29, 18),
    /* 0x3B3 */ AdventureFlag_Unk_3B3 = FLAG(29, 19),
    /* 0x3B4 */ AdventureFlag_Unk_3B4 = FLAG(29, 20),
    /* 0x3B5 */ AdventureFlag_Unk_3B5 = FLAG(29, 21),
    /* 0x3B6 */ AdventureFlag_Unk_3B6 = FLAG(29, 22),
    /* 0x3B7 */ AdventureFlag_Unk_3B7 = FLAG(29, 23),
    /* 0x3B8 */ AdventureFlag_Unk_3B8 = FLAG(29, 24),
    /* 0x3B9 */ AdventureFlag_Unk_3B9 = FLAG(29, 25),
    /* 0x3BA */ AdventureFlag_Unk_3BA = FLAG(29, 26),
    /* 0x3BB */ AdventureFlag_Unk_3BB = FLAG(29, 27),
    /* 0x3BC */ AdventureFlag_Unk_3BC = FLAG(29, 28),
    /* 0x3BD */ AdventureFlag_Unk_3BD = FLAG(29, 29),
    /* 0x3BE */ AdventureFlag_Unk_3BE = FLAG(29, 30),
    /* 0x3BF */ AdventureFlag_Unk_3BF = FLAG(29, 31),

    /* 0x3C0 */ AdventureFlag_Unk_3C0 = FLAG(30, 0),
    /* 0x3C1 */ AdventureFlag_Unk_3C1 = FLAG(30, 1),
    /* 0x3C2 */ AdventureFlag_Unk_3C2 = FLAG(30, 2),
    /* 0x3C3 */ AdventureFlag_Unk_3C3 = FLAG(30, 3),
    /* 0x3C4 */ AdventureFlag_Unk_3C4 = FLAG(30, 4),
    /* 0x3C5 */ AdventureFlag_Unk_3C5 = FLAG(30, 5),
    /* 0x3C6 */ AdventureFlag_Unk_3C6 = FLAG(30, 6),
    /* 0x3C7 */ AdventureFlag_Unk_3C7 = FLAG(30, 7),
    /* 0x3C8 */ AdventureFlag_Unk_3C8 = FLAG(30, 8),
    /* 0x3C9 */ AdventureFlag_Unk_3C9 = FLAG(30, 9),
    /* 0x3CA */ AdventureFlag_Unk_3CA = FLAG(30, 10),
    /* 0x3CB */ AdventureFlag_Unk_3CB = FLAG(30, 11),
    /* 0x3CC */ AdventureFlag_Unk_3CC = FLAG(30, 12),
    /* 0x3CD */ AdventureFlag_Unk_3CD = FLAG(30, 13),
    /* 0x3CE */ AdventureFlag_Unk_3CE = FLAG(30, 14),
    /* 0x3CF */ AdventureFlag_Unk_3CF = FLAG(30, 15),
    /* 0x3D0 */ AdventureFlag_Unk_3D0 = FLAG(30, 16),
    /* 0x3D1 */ AdventureFlag_Unk_3D1 = FLAG(30, 17),
    /* 0x3D2 */ AdventureFlag_Unk_3D2 = FLAG(30, 18),
    /* 0x3D3 */ AdventureFlag_Unk_3D3 = FLAG(30, 19),
    /* 0x3D4 */ AdventureFlag_Unk_3D4 = FLAG(30, 20),
    /* 0x3D5 */ AdventureFlag_Unk_3D5 = FLAG(30, 21),
    /* 0x3D6 */ AdventureFlag_Unk_3D6 = FLAG(30, 22),
    /* 0x3D7 */ AdventureFlag_Unk_3D7 = FLAG(30, 23),
    /* 0x3D8 */ AdventureFlag_Unk_3D8 = FLAG(30, 24),
    /* 0x3D9 */ AdventureFlag_Unk_3D9 = FLAG(30, 25),
    /* 0x3DA */ AdventureFlag_Unk_3DA = FLAG(30, 26),
    /* 0x3DB */ AdventureFlag_Unk_3DB = FLAG(30, 27),
    /* 0x3DC */ AdventureFlag_Unk_3DC = FLAG(30, 28),
    /* 0x3DD */ AdventureFlag_Unk_3DD = FLAG(30, 29),
    /* 0x3DE */ AdventureFlag_Unk_3DE = FLAG(30, 30),
    /* 0x3DF */ AdventureFlag_Unk_3DF = FLAG(30, 31),

    /* 0x3E0 */ AdventureFlag_Unk_3E0 = FLAG(31, 0),
    /* 0x3E1 */ AdventureFlag_Unk_3E1 = FLAG(31, 1),
    /* 0x3E2 */ AdventureFlag_Unk_3E2 = FLAG(31, 2),
    /* 0x3E3 */ AdventureFlag_Unk_3E3 = FLAG(31, 3),
    /* 0x3E4 */ AdventureFlag_Unk_3E4 = FLAG(31, 4),
    /* 0x3E5 */ AdventureFlag_Unk_3E5 = FLAG(31, 5),
    /* 0x3E6 */ AdventureFlag_Unk_3E6 = FLAG(31, 6),
    /* 0x3E7 */ AdventureFlag_Unk_3E7 = FLAG(31, 7),
    /* 0x3E8 */ AdventureFlag_Unk_3E8 = FLAG(31, 8),
    /* 0x3E9 */ AdventureFlag_Unk_3E9 = FLAG(31, 9),
    /* 0x3EA */ AdventureFlag_Unk_3EA = FLAG(31, 10),
    /* 0x3EB */ AdventureFlag_Unk_3EB = FLAG(31, 11),
    /* 0x3EC */ AdventureFlag_Unk_3EC = FLAG(31, 12),
    /* 0x3ED */ AdventureFlag_Unk_3ED = FLAG(31, 13),
    /* 0x3EE */ AdventureFlag_Unk_3EE = FLAG(31, 14),
    /* 0x3EF */ AdventureFlag_Unk_3EF = FLAG(31, 15),
    /* 0x3F0 */ AdventureFlag_Unk_3F0 = FLAG(31, 16),
    /* 0x3F1 */ AdventureFlag_Unk_3F1 = FLAG(31, 17),
    /* 0x3F2 */ AdventureFlag_Unk_3F2 = FLAG(31, 18),
    /* 0x3F3 */ AdventureFlag_Unk_3F3 = FLAG(31, 19),
    /* 0x3F4 */ AdventureFlag_Unk_3F4 = FLAG(31, 20),
    /* 0x3F5 */ AdventureFlag_Unk_3F5 = FLAG(31, 21),
    /* 0x3F6 */ AdventureFlag_Unk_3F6 = FLAG(31, 22),
    /* 0x3F7 */ AdventureFlag_Unk_3F7 = FLAG(31, 23),
    /* 0x3F8 */ AdventureFlag_Unk_3F8 = FLAG(31, 24),
    /* 0x3F9 */ AdventureFlag_Unk_3F9 = FLAG(31, 25),
    /* 0x3FA */ AdventureFlag_Unk_3FA = FLAG(31, 26),
    /* 0x3FB */ AdventureFlag_Unk_3FB = FLAG(31, 27),
    /* 0x3FC */ AdventureFlag_Unk_3FC = FLAG(31, 28),
    /* 0x3FD */ AdventureFlag_Unk_3FD = FLAG(31, 29),
    /* 0x3FE */ AdventureFlag_Unk_3FE = FLAG(31, 30),
    /* 0x3FF */ AdventureFlag_Unk_3FF = FLAG(31, 31),
    /* 0x400 */ AdventureFlag_None    = 0x400,
};
