From ebfa8e26394d9076971eff2cac5468a97fa83205 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 1 Oct 2015 15:03:20 -0400 Subject: [PATCH 1/4] Restore point --- main.asm | 92 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/main.asm b/main.asm index e1406ff47..16d322d5b 100644 --- a/main.asm +++ b/main.asm @@ -25284,11 +25284,11 @@ Function24d19: ; 24d19 ld hl, MenuDataHeader_0x24d3f call LoadMenuDataHeader call Function24d47 - call Function24d91 + call PopulateMonMenu ld a, 1 ld [hBGMapMode], a - call Function24d59 + call MonMenuLoop ld [MenuSelection], a call ExitMenu @@ -25316,8 +25316,8 @@ Function24d47: ; 24d47 ret ; 24d59 -Function24d59: ; 24d59 -.asm_24d59 +MonMenuLoop: ; 24d59 +.loop ld a, $a0 ld [wcf91], a ld a, [Buffer1] @@ -25330,16 +25330,16 @@ Function24d59: ; 24d59 call PlaySFX ld a, [hJoyPressed] bit 0, a ; A - jr nz, .asm_24d84 + jr nz, .select bit 1, a ; B - jr nz, .asm_24d81 - jr .asm_24d59 + jr nz, .cancel + jr .loop -.asm_24d81 +.cancel ld a, 18 ; CANCEL ret -.asm_24d84 +.select ld a, [wcfa9] dec a ld c, a @@ -25350,42 +25350,42 @@ Function24d59: ; 24d59 ret ; 24d91 -Function24d91: ; 24d91 +PopulateMonMenu: ; 24d91 call Function1cfd - ld bc, $002a + ld bc, $002a ; 42 add hl, bc ld de, Buffer2 -.asm_24d9b +.loop ld a, [de] inc de - cp $ff + cp -1 ret z push de push hl - call Function24db0 + call GetMonMenuString pop hl call PlaceString - ld bc, $0028 + ld bc, $0028 ; 40 add hl, bc pop de - jr .asm_24d9b + jr .loop ; 24db0 -Function24db0: ; 24db0 +GetMonMenuString: ; 24db0 ld hl, MonMenuOptions + 1 - ld de, $0003 + ld de, 3 call IsInArray dec hl ld a, [hli] - cp $1 - jr z, .asm_24dc8 + cp 1 + jr z, .NotMove inc hl ld a, [hl] ld [wd265], a call GetMoveName ret -.asm_24dc8 +.NotMove inc hl ld a, [hl] dec a @@ -25400,35 +25400,35 @@ Function24dd4: ; 24dd4 call Function24e68 ld a, [CurPartySpecies] cp EGG - jr z, .asm_24e3f + jr z, .egg ld a, [InLinkBattle] and a - jr nz, .asm_24e03 + jr nz, .skip ld a, PartyMon1Moves - PartyMon1 call GetPartyParamLocation ld d, h ld e, l ld c, NUM_MOVES -.asm_24ded +.loop push bc push de ld a, [de] and a - jr z, .asm_24dfd + jr z, .next push hl call Function24e52 pop hl - jr nc, .asm_24dfd + jr nc, .next call Function24e83 -.asm_24dfd +.next pop de inc de pop bc dec c - jr nz, .asm_24ded + jr nz, .loop -.asm_24e03 +.skip ld a, $f call Function24e83 ld a, $10 @@ -25437,7 +25437,7 @@ Function24dd4: ; 24dd4 call Function24e83 ld a, [InLinkBattle] and a - jr nz, .asm_24e2f + jr nz, .skip2 push hl ld a, PartyMon1Item - PartyMon1 call GetPartyParamLocation @@ -25445,24 +25445,24 @@ Function24dd4: ; 24dd4 callba ItemIsMail pop hl ld a, $14 - jr c, .asm_24e2c + jr c, .ok ld a, $11 -.asm_24e2c +.ok call Function24e83 -.asm_24e2f +.skip2 ld a, [Buffer1] cp $8 - jr z, .asm_24e3b + jr z, .ok2 ld a, $12 call Function24e83 -.asm_24e3b +.ok2 call Function24e76 ret -.asm_24e3f +.egg ld a, $f call Function24e83 ld a, $10 @@ -48260,7 +48260,7 @@ UnknownScript_0x506c8: ; 0x506c8 callasm GetPartyNick writetext UnknownText_0x50726 closetext - callasm Function506ef + callasm SweetScentEncounter iffalse UnknownScript_0x506e9 checkflag ENGINE_BUG_CONTEST_TIMER iftrue UnknownScript_0x506e5 @@ -48281,29 +48281,29 @@ UnknownScript_0x506e9: ; 0x506e9 end ; 0x506ef -Function506ef: ; 506ef +SweetScentEncounter: ; 506ef callba Function97cfd - jr nc, .asm_5071e + jr nc, .no_battle ld hl, StatusFlags2 bit 2, [hl] - jr nz, .asm_50712 + jr nz, .not_in_bug_contest callba GetMapEncounterRate ld a, b and a - jr z, .asm_5071e + jr z, .no_battle callba ChooseWildEncounter - jr nz, .asm_5071e - jr .asm_50718 + jr nz, .no_battle + jr .start_battle -.asm_50712 +.not_in_bug_contest callba Function97d31 -.asm_50718 +.start_battle ld a, $1 ld [ScriptVar], a ret -.asm_5071e +.no_battle xor a ld [ScriptVar], a ld [BattleType], a From c50b49bd6257ab6aba27210dc0e241414b723d87 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 1 Oct 2015 16:55:24 -0400 Subject: [PATCH 2/4] Renamed some unused specials --- engine/events.asm | 4 +- engine/events_2.asm | 66 ++++++++++++++++----------------- engine/specials.asm | 48 ++++++++++++------------ main.asm | 90 +++++++++++++++++++++++---------------------- maps/IlexForest.asm | 2 +- 5 files changed, 106 insertions(+), 104 deletions(-) diff --git a/engine/events.asm b/engine/events.asm index ae28e0c38..3fedf691d 100644 --- a/engine/events.asm +++ b/engine/events.asm @@ -382,7 +382,7 @@ CheckTileEvent: ; 96874 call CheckBit4_ScriptFlags3 jr z, .ok - call Function97cc0 + call RockSmashEncounter ret c jr .ok @@ -582,7 +582,7 @@ CheckAPressOW: ; 96999 ret c call TryReadSign ret c - call Function97c5f + call CheckFacingTileEvent ret c xor a ret diff --git a/engine/events_2.asm b/engine/events_2.asm index 019894298..5a8ce7c2c 100644 --- a/engine/events_2.asm +++ b/engine/events_2.asm @@ -44,7 +44,7 @@ Function97c4f:: ; 97c4f ret ; 97c5f -Function97c5f:: ; 97c5f +CheckFacingTileEvent:: ; 97c5f call GetFacingTileCoord ld [EngineBuffer1], a ld c, a @@ -95,41 +95,41 @@ Function97c5f:: ; 97c5f ; 97cc0 -Function97cc0:: ; 97cc0 +RockSmashEncounter:: ; 97cc0 ; Rock Smash encounter call Function968c7 - jr c, .asm_97ce2 - call Function97cfd - jr nc, .asm_97ce2 + jr c, .nope + call CanUseSweetScent + jr nc, .nope ld hl, StatusFlags2 bit 2, [hl] - jr nz, .asm_97cdb + jr nz, .bug_contest callba TryWildEncounter - jr nz, .asm_97ce2 - jr .asm_97ce6 + jr nz, .nope + jr .ok -.asm_97cdb - call Function97d23 - jr nc, .asm_97ce2 - jr .asm_97ced +.bug_contest + call _TryWildEncounter_BugContest + jr nc, .nope + jr .ok_bug_contest -.asm_97ce2 +.nope ld a, 1 and a ret -.asm_97ce6 +.ok ld a, BANK(RockSmashBattleScript) ld hl, RockSmashBattleScript - jr .asm_97cf4 + jr .done -.asm_97ced +.ok_bug_contest ld a, BANK(BugCatchingContestBattleScript) ld hl, BugCatchingContestBattleScript - jr .asm_97cf4 + jr .done -.asm_97cf4 +.done call CallScript scf ret @@ -142,45 +142,45 @@ RockSmashBattleScript: ; 97cf9 end ; 97cfd -Function97cfd:: ; 97cfd +CanUseSweetScent:: ; 97cfd ld hl, StatusFlags bit 5, [hl] - jr nz, .asm_97d21 + jr nz, .no ld a, [wPermission] cp $4 - jr z, .asm_97d17 + jr z, .ice_check cp $7 - jr z, .asm_97d17 + jr z, .ice_check callba Function149dd - jr nc, .asm_97d21 + jr nc, .no -.asm_97d17 +.ice_check ld a, [StandingTile] call CheckIceTile - jr z, .asm_97d21 + jr z, .no scf ret -.asm_97d21 +.no and a ret ; 97d23 -Function97d23: ; 97d23 +_TryWildEncounter_BugContest: ; 97d23 call TryWildEncounter_BugContest ret nc - call Function97d31 + call ChooseWildEncounter_BugContest callba CheckRepelEffect ret ; 97d31 -Function97d31:: ; 97d31 +ChooseWildEncounter_BugContest:: ; 97d31 ; Pick a random mon out of ContestMons. -.asm_97d31 +.loop call Random cp 100 << 1 - jr nc, .asm_97d31 + jr nc, .loop srl a ld hl, ContestMons @@ -232,10 +232,10 @@ TryWildEncounter_BugContest: ; 97d64 ld a, [StandingTile] call CheckSuperTallGrassTile ld b, $66 - jr z, .asm_97d70 + jr z, .ok ld b, $33 -.asm_97d70 +.ok callba ApplyMusicEffectOnEncounterRate callba ApplyCleanseTagEffectOnEncounterRate call Random diff --git a/engine/specials.asm b/engine/specials.asm index 5a10090ec..8cf052f28 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -83,11 +83,11 @@ SpecialsPointers:: ; c029 add_special PlayMapMusic add_special RestartMapMusic add_special HealMachineAnim - add_special Function8379 - add_special Functionc25a - add_special Functionc268 - add_special Functionc276 - add_special Functionc284 + add_special Special_SurfStartStep + add_special Special_FindGreaterThanThatLevel + add_special Special_FindAtLeastThatHappy + add_special Special_FindThatSpecies + add_special Special_FindThatSpeciesYourTrainerID add_special Functionc3ef add_special Function17421 add_special Function17440 @@ -163,7 +163,7 @@ SpecialsPointers:: ; c029 add_special Function103612 add_special SpecialHoOhChamber add_special Function102142 - add_special Function4989a + add_special Special_CelebiShrineEvent add_special Function49bf9 add_special SpecialPokeSeer add_special SpecialBuenasPassword @@ -225,40 +225,40 @@ SpecialSeenMon: ; c252 ret ; c25a -Functionc25a: ; c25a +Special_FindGreaterThanThatLevel: ; c25a ld a, [ScriptVar] ld b, a - callba Function4dbd2 - jr z, Functionc298 - jr Functionc292 + callba _FindGreaterThanThatLevel + jr z, FoundNone + jr FoundOne -Functionc268: ; c268 +Special_FindAtLeastThatHappy: ; c268 ld a, [ScriptVar] ld b, a - callba Function4dbd9 - jr z, Functionc298 - jr Functionc292 + callba _FindAtLeastThatHappy + jr z, FoundNone + jr FoundOne -Functionc276: ; c276 +Special_FindThatSpecies: ; c276 ld a, [ScriptVar] ld b, a - callba Function4dbe0 - jr z, Functionc298 - jr Functionc292 + callba _FindThatSpecies + jr z, FoundNone + jr FoundOne -Functionc284: ; c284 +Special_FindThatSpeciesYourTrainerID: ; c284 ld a, [ScriptVar] ld b, a - callba Function4dbe6 - jr z, Functionc298 - jr Functionc292 + callba _FindThatSpeciesYourTrainerID + jr z, FoundNone + jr FoundOne -Functionc292: ; c292 +FoundOne: ; c292 ld a, $1 ld [ScriptVar], a ret -Functionc298: ; c298 +FoundNone: ; c298 xor a ld [ScriptVar], a ret diff --git a/main.asm b/main.asm index 16d322d5b..d7c522e34 100644 --- a/main.asm +++ b/main.asm @@ -3728,7 +3728,7 @@ Function8341: ; 8341 ret ; 8379 -Function8379: ; 8379 +Special_SurfStartStep: ; 8379 call Function1b1e call Function8388 call Function1b3f @@ -5008,7 +5008,7 @@ UsedSurfScript: ; c986 special Special_ReplaceKrisSprite special PlayMapMusic ; step into the water - special Function8379 ; (slow_step_x, step_end) + special Special_SurfStartStep ; (slow_step_x, step_end) applymovement PLAYER, MovementBuffer ; PLAYER, MovementBuffer end ; c9a2 @@ -40555,13 +40555,13 @@ Unknown_4985a: ; unreferenced db $a8, $00, $b5, $b0, $de, $e8, $fc, $1c db $ba, $66, $f7, $0e, $ba, $5e, $43, $bd -Function4989a: ; 4989a +Special_CelebiShrineEvent: ; 4989a call DelayFrame ld a, [VramState] push af xor a ld [VramState], a - call Function49912 + call LoadCelebiGFX ld de, $0750 ld a, $2c call Function3b2a @@ -40623,7 +40623,7 @@ endr ret ; 49912 -Function49912: ; 49912 +LoadCelebiGFX: ; 49912 callba Function8cf53 ld de, SpecialCelebiLeafGFX ld hl, VTiles1 @@ -45031,26 +45031,26 @@ Function4dbb8: ; 4dbb8 (13:5bb8) ld [CurPartyLevel], a ret -Function4dbd2: ; 4dbd2 +_FindGreaterThanThatLevel: ; 4dbd2 ld hl, PartyMon1Level - call Function4dc31 + call FindGreaterThanThatLevel ret ; 4dbd9 -Function4dbd9: ; 4dbd9 +_FindAtLeastThatHappy: ; 4dbd9 ld hl, PartyMon1Happiness - call Function4dc0a + call FindAtLeastThatHappy ret ; 4dbe0 -Function4dbe0: ; 4dbe0 +_FindThatSpecies: ; 4dbe0 ld hl, PartyMon1Species - jp Function4dc56 + jp FindThatSpecies ; 4dbe6 -Function4dbe6: ; 4dbe6 +_FindThatSpeciesYourTrainerID: ; 4dbe6 ld hl, PartyMon1Species - call Function4dc56 + call FindThatSpecies ret z ld a, c ld hl, PartyMon1ID @@ -45058,25 +45058,27 @@ Function4dbe6: ; 4dbe6 call AddNTimes ld a, [PlayerID] cp [hl] - jr nz, .asm_4dc08 + jr nz, .nope inc hl ld a, [PlayerID + 1] cp [hl] - jr nz, .asm_4dc08 + jr nz, .nope ld a, $1 and a ret -.asm_4dc08 +.nope xor a ret ; 4dc0a -Function4dc0a: ; 4dc0a +FindAtLeastThatHappy: ; 4dc0a +; Sets the bits for the Pokemon that have a happiness greater than or equal to b. +; The lowest bits are used. Sets z if no Pokemon in your party is at least that happy. ld c, $0 ld a, [PartyCount] ld d, a -.asm_4dc10 +.loop ld a, d dec a push hl @@ -45087,29 +45089,29 @@ Function4dc0a: ; 4dc0a ld a, b cp [hl] pop hl - jr z, .asm_4dc22 - jr nc, .asm_4dc26 + jr z, .greater_equal + jr nc, .lower -.asm_4dc22 +.greater_equal ld a, c or $1 ld c, a -.asm_4dc26 +.lower sla c dec d - jr nz, .asm_4dc10 - call Function4dc67 + jr nz, .loop + call RetroactivelyIgnoreEggs ld a, c and a ret ; 4dc31 -Function4dc31: ; 4dc31 +FindGreaterThanThatLevel: ; 4dc31 ld c, $0 ld a, [PartyCount] ld d, a -.asm_4dc37 +.loop ld a, d dec a push hl @@ -45120,52 +45122,52 @@ Function4dc31: ; 4dc31 ld a, b cp [hl] pop hl - jr c, .asm_4dc4b + jr c, .greater ld a, c or $1 ld c, a -.asm_4dc4b +.greater sla c dec d - jr nz, .asm_4dc37 - call Function4dc67 + jr nz, .loop + call RetroactivelyIgnoreEggs ld a, c and a ret ; 4dc56 -Function4dc56: ; 4dc56 - ld c, $ff +FindThatSpecies: ; 4dc56 + ld c, -1 ld hl, PartySpecies -.asm_4dc5b +.loop ld a, [hli] - cp $ff + cp -1 ret z inc c cp b - jr nz, .asm_4dc5b + jr nz, .loop ld a, $1 and a ret ; 4dc67 -Function4dc67: ; 4dc67 - ld e, $fe +RetroactivelyIgnoreEggs: ; 4dc67 + ld e, -2 ld hl, PartySpecies -.asm_4dc6c +.loop ld a, [hli] - cp $ff + cp -1 ret z cp EGG - jr nz, .asm_4dc77 + jr nz, .skip_notegg ld a, c and e ld c, a -.asm_4dc77 +.skip_notegg rlc e - jr .asm_4dc6c + jr .loop ; 4dc7b @@ -48282,7 +48284,7 @@ UnknownScript_0x506e9: ; 0x506e9 ; 0x506ef SweetScentEncounter: ; 506ef - callba Function97cfd + callba CanUseSweetScent jr nc, .no_battle ld hl, StatusFlags2 bit 2, [hl] @@ -48296,7 +48298,7 @@ SweetScentEncounter: ; 506ef jr .start_battle .not_in_bug_contest - callba Function97d31 + callba ChooseWildEncounter_BugContest .start_battle ld a, $1 diff --git a/maps/IlexForest.asm b/maps/IlexForest.asm index 12830b890..dc4203a8e 100644 --- a/maps/IlexForest.asm +++ b/maps/IlexForest.asm @@ -455,7 +455,7 @@ UnknownScript_0x6ee42: spriteface PLAYER, DOWN pause 20 clearflag ENGINE_HAVE_EXAMINED_GS_BALL - special Function4989a + special Special_CelebiShrineEvent loadpokedata CELEBI, 30 startbattle returnafterbattle From 726c4bc1d61ed8ac1975de12f30d34135a624d05 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 2 Oct 2015 22:49:26 -0400 Subject: [PATCH 3/4] Moved time-related functions in bank 4 to engine/time.asm --- engine/time.asm | 464 ++++++++++++++++++++++++++++++ main.asm | 467 +------------------------------ maps/ElmsLab.asm | 8 +- maps/LakeofRageMagikarpHouse.asm | 2 +- 4 files changed, 471 insertions(+), 470 deletions(-) create mode 100755 engine/time.asm diff --git a/engine/time.asm b/engine/time.asm new file mode 100755 index 000000000..0daedaef4 --- /dev/null +++ b/engine/time.asm @@ -0,0 +1,464 @@ +Function113d6: ; 113d6 + call Function114dd + ret +; 113da + +Function113da: ; 113da + xor a + ld [wdc2d], a + ld [wdc3a], a + ld [wdc1c], a + ret +; 113e5 + +Function113e5:: ; 113e5 + xor a + ld [wd464], a + +Function113e9: ; 113e9 + ld a, [wd464] + cp 3 + jr c, .asm_113f2 + ld a, 3 + +.asm_113f2 + ld e, a + ld d, 0 + ld hl, .data_113fd + add hl, de + ld a, [hl] + jp Function1142e +; 113fd + +.data_113fd + db 20, 10, 5, 3 +; 11401 + +Function11401: ; 11401 + call Function1143c + ret nc + ld hl, wd464 + ld a, [hl] + cp 3 + jr nc, .asm_1140e + inc [hl] + +.asm_1140e + call Function113e9 + scf + ret +; 11413 + +Function11413: ; 11413 + ld a, 1 + +Function11415: ; 11415 + ld [hl], a + push hl + call UpdateTime + pop hl + inc hl + call Function11621 + ret +; 11420 + +Function11420: ; 11420 + inc hl + push hl + call Function115cf + call Function115c8 + pop hl + dec hl + call Function11586 + ret +; 1142e + +Function1142e: ; 1142e + ld hl, wd465 + ld [hl], a + call UpdateTime + ld hl, wd466 + call Function1162e + ret +; 1143c + +Function1143c: ; 1143c + ld hl, wd466 + call Function115d6 + call Function115ae + ld hl, wd465 + call Function11586 + ret +; 1144c + +Function1144c: ; 1144c + ld hl, wdc1c + jp Function11413 +; 11452 + +Function11452:: ; 11452 + ld hl, wdc1c + call Function11420 + ret nc + xor a + ld hl, DailyFlags +rept 3 + ld [hli], a +endr + ld [hl], a + ld hl, wDailyRematchFlags +rept 4 + ld [hli], a +endr + ld hl, wDailyPhoneItemFlags +rept 4 + ld [hli], a +endr + ld hl, wDailyPhoneTimeOfDayFlags +rept 4 + ld [hli], a +endr + ld hl, wdc58 + ld a, [hl] + and a + jr z, .asm_11480 + dec [hl] + jr nz, .asm_11483 + +.asm_11480 + call Function11485 + +.asm_11483 + jr Function1144c +; 11485 + +Function11485: ; 11485 + call Random + and 3 + add 3 + ld [wdc58], a + ret +; 11490 + +Function11490: ; 11490 + ld a, $14 + ld [wd46c], a + ld a, $0 + ld [wd46d], a + call UpdateTime + ld hl, wdc35 + call Function11613 + ret +; 114a4 + + +Function114a4:: ; 114a4 (4:54a4) + ld hl, wdc35 + call Function115db + ld a, [wcfd7] + and a + jr nz, .asm_114d4 + ld a, [wcfd6] + and a + jr nz, .asm_114d4 + ld a, [wcfd4] + ld b, a + ld a, [wd46d] + sub b + jr nc, .asm_114c2 + add $3c +.asm_114c2 + ld [wd46d], a + ld a, [wcfd5] + ld b, a + ld a, [wd46c] + sbc b + ld [wd46c], a + jr c, .asm_114d4 + and a + ret +.asm_114d4 + xor a + ld [wd46c], a + ld [wd46d], a + scf + ret + + +Function114dd: ; 114dd + call UpdateTime + ld hl, wdc23 + call Function11621 + ret +; 114e7 + +Function114e7:: ; 114e7 + ld hl, wdc23 + call Function115cf + call Function115c8 + and a + jr z, .asm_114fa + + ld b, a + callba ApplyPokerusTick + +.asm_114fa + xor a + ret +; 114fc + +Function114fc: ; 114fc + ld a, $2 + ld hl, wdc3a + ld [hl], a + call UpdateTime + ld hl, wdc3b + call Function11621 + ret +; 1150c + +Function1150c: ; 1150c + ld hl, wdc3b + call Function115cf + call Function115c8 + ld hl, wdc3a + call Function11586 + ret +; 1151c + +Function1151c: ; 1151c + ld hl, DailyFlags + set 2, [hl] + ret +; 11522 + +Function11522: ; 11522 + and a + ld hl, DailyFlags + bit 2, [hl] + ret nz + scf + ret +; 1152b + +Function1152b: ; 1152b + call Function11534 + ld hl, wdc2d + jp Function11415 +; 11534 + +Function11534: ; 11534 + call GetWeekday + ld c, a + ld a, $5 + sub c + jr z, .asm_1153f + jr nc, .asm_11541 + +.asm_1153f + add $7 + +.asm_11541 + ret +; 11542 + +Function11542: ; 11542 + ld hl, wdc2d + jp Function11420 +; 11548 + +Function11548: ; 11548 + ld a, BANK(s0_abfa) + call GetSRAMBank + ld hl, s0_abfa + ld a, [hli] + ld [Buffer1], a + ld a, [hl] + ld [Buffer2], a + call CloseSRAM + ld hl, Buffer1 + call Function11420 + jr nc, .asm_11572 + ld hl, Buffer1 + call Function11413 + call CloseSRAM + callba Function1050c8 + +.asm_11572 + ld a, BANK(s0_abfa) + call GetSRAMBank + ld hl, Buffer1 + ld a, [hli] + ld [s0_abfa], a + ld a, [hl] + ld [s0_abfa + 1], a + call CloseSRAM + ret +; 11586 + +Function11586: ; 11586 + cp $ff + jr z, .asm_11595 + ld c, a + ld a, [hl] + sub c + jr nc, .asm_11590 + xor a + +.asm_11590 + ld [hl], a + jr z, .asm_11595 + xor a + ret + +.asm_11595 + xor a + ld [hl], a + scf + ret +; 11599 + +Function11599: ; 11599 + ld a, [wcfd7] + and a + jr nz, Function115cc + ld a, [wcfd6] + and a + jr nz, Function115cc + ld a, [wcfd5] + jr nz, Function115cc + ld a, [wcfd4] + ret +; 115ae + +Function115ae: ; 115ae + ld a, [wcfd7] + and a + jr nz, Function115cc + ld a, [wcfd6] + and a + jr nz, Function115cc + ld a, [wcfd5] + ret +; 115be + +Function115be: ; 115be + ld a, [wcfd7] + and a + jr nz, Function115cc + ld a, [wcfd6] + ret +; 115c8 + +Function115c8: ; 115c8 + ld a, [wcfd7] + ret +; 115cc + +Function115cc: ; 115cc + ld a, $ff + ret +; 115cf + +Function115cf: ; 115cf + xor a + jr Function11605 +; 115d2 + +Function115d2: ; 115d2 + inc hl + xor a + jr Function115f8 +; 115d6 + +Function115d6: ; 115d6 +rept 2 + inc hl +endr + xor a + jr Function115eb +; 115db + +Function115db: ; 115db +rept 3 + inc hl +endr + ld a, [hSeconds] + ld c, a + sub [hl] + jr nc, .asm_115e6 + add 60 +.asm_115e6 + ld [hl], c + dec hl + ld [wcfd4], a + +Function115eb: ; 115eb + ld a, [hMinutes] + ld c, a + sbc [hl] + jr nc, .asm_115f3 + add 60 +.asm_115f3 + ld [hl], c + dec hl + ld [wcfd5], a + +Function115f8: ; 115f8 + ld a, [hHours] + ld c, a + sbc [hl] + jr nc, .asm_11600 + add 24 +.asm_11600 + ld [hl], c + dec hl + ld [wcfd6], a + +Function11605 + ld a, [CurDay] + ld c, a + sbc [hl] + jr nc, .skip + add 20 * 7 +.skip + ld [hl], c + ld [wcfd7], a + ret +; 11613 + +Function11613: ; 11613 + ld a, [CurDay] + ld [hli], a + ld a, [hHours] + ld [hli], a + ld a, [hMinutes] + ld [hli], a + ld a, [hSeconds] + ld [hli], a + ret +; 11621 + +Function11621: ; 11621 + ld a, [CurDay] + ld [hl], a + ret +; 11626 + +Function11626: ; 11626 + ld a, [CurDay] + ld [hli], a + ld a, [hHours] + ld [hli], a + ret +; 1162e + +Function1162e: ; 1162e + ld a, [CurDay] + ld [hli], a + ld a, [hHours] + ld [hli], a + ld a, [hMinutes] + ld [hli], a + ret +; 11639 \ No newline at end of file diff --git a/main.asm b/main.asm index d7c522e34..746cf01de 100644 --- a/main.asm +++ b/main.asm @@ -10284,471 +10284,7 @@ SECTION "bank4", ROMX, BANK[$4] INCLUDE "engine/pack.asm" - -Function113d6: ; 113d6 - call Function114dd - ret -; 113da - -Function113da: ; 113da - xor a - ld [wdc2d], a - ld [wdc3a], a - ld [wdc1c], a - ret -; 113e5 - -Function113e5:: ; 113e5 - xor a - ld [wd464], a - -Function113e9: ; 113e9 - ld a, [wd464] - cp 3 - jr c, .asm_113f2 - ld a, 3 - -.asm_113f2 - ld e, a - ld d, 0 - ld hl, .data_113fd - add hl, de - ld a, [hl] - jp Function1142e -; 113fd - -.data_113fd - db 20, 10, 5, 3 -; 11401 - -Function11401: ; 11401 - call Function1143c - ret nc - ld hl, wd464 - ld a, [hl] - cp 3 - jr nc, .asm_1140e - inc [hl] - -.asm_1140e - call Function113e9 - scf - ret -; 11413 - -Function11413: ; 11413 - ld a, 1 - -Function11415: ; 11415 - ld [hl], a - push hl - call UpdateTime - pop hl - inc hl - call Function11621 - ret -; 11420 - -Function11420: ; 11420 - inc hl - push hl - call Function115cf - call Function115c8 - pop hl - dec hl - call Function11586 - ret -; 1142e - -Function1142e: ; 1142e - ld hl, wd465 - ld [hl], a - call UpdateTime - ld hl, wd466 - call Function1162e - ret -; 1143c - -Function1143c: ; 1143c - ld hl, wd466 - call Function115d6 - call Function115ae - ld hl, wd465 - call Function11586 - ret -; 1144c - -Function1144c: ; 1144c - ld hl, wdc1c - jp Function11413 -; 11452 - -Function11452:: ; 11452 - ld hl, wdc1c - call Function11420 - ret nc - xor a - ld hl, DailyFlags -rept 3 - ld [hli], a -endr - ld [hl], a - ld hl, wDailyRematchFlags -rept 4 - ld [hli], a -endr - ld hl, wDailyPhoneItemFlags -rept 4 - ld [hli], a -endr - ld hl, wDailyPhoneTimeOfDayFlags -rept 4 - ld [hli], a -endr - ld hl, wdc58 - ld a, [hl] - and a - jr z, .asm_11480 - dec [hl] - jr nz, .asm_11483 - -.asm_11480 - call Function11485 - -.asm_11483 - jr Function1144c -; 11485 - -Function11485: ; 11485 - call Random - and 3 - add 3 - ld [wdc58], a - ret -; 11490 - -Function11490: ; 11490 - ld a, $14 - ld [wd46c], a - ld a, $0 - ld [wd46d], a - call UpdateTime - ld hl, wdc35 - call Function11613 - ret -; 114a4 - - -Function114a4:: ; 114a4 (4:54a4) - ld hl, wdc35 - call Function115db - ld a, [wcfd7] - and a - jr nz, .asm_114d4 - ld a, [wcfd6] - and a - jr nz, .asm_114d4 - ld a, [wcfd4] - ld b, a - ld a, [wd46d] - sub b - jr nc, .asm_114c2 - add $3c -.asm_114c2 - ld [wd46d], a - ld a, [wcfd5] - ld b, a - ld a, [wd46c] - sbc b - ld [wd46c], a - jr c, .asm_114d4 - and a - ret -.asm_114d4 - xor a - ld [wd46c], a - ld [wd46d], a - scf - ret - - -Function114dd: ; 114dd - call UpdateTime - ld hl, wdc23 - call Function11621 - ret -; 114e7 - -Function114e7:: ; 114e7 - ld hl, wdc23 - call Function115cf - call Function115c8 - and a - jr z, .asm_114fa - - ld b, a - callba ApplyPokerusTick - -.asm_114fa - xor a - ret -; 114fc - -Function114fc: ; 114fc - ld a, $2 - ld hl, wdc3a - ld [hl], a - call UpdateTime - ld hl, wdc3b - call Function11621 - ret -; 1150c - -Function1150c: ; 1150c - ld hl, wdc3b - call Function115cf - call Function115c8 - ld hl, wdc3a - call Function11586 - ret -; 1151c - -Function1151c: ; 1151c - ld hl, DailyFlags - set 2, [hl] - ret -; 11522 - -Function11522: ; 11522 - and a - ld hl, DailyFlags - bit 2, [hl] - ret nz - scf - ret -; 1152b - -Function1152b: ; 1152b - call Function11534 - ld hl, wdc2d - jp Function11415 -; 11534 - -Function11534: ; 11534 - call GetWeekday - ld c, a - ld a, $5 - sub c - jr z, .asm_1153f - jr nc, .asm_11541 - -.asm_1153f - add $7 - -.asm_11541 - ret -; 11542 - -Function11542: ; 11542 - ld hl, wdc2d - jp Function11420 -; 11548 - -Function11548: ; 11548 - ld a, BANK(s0_abfa) - call GetSRAMBank - ld hl, s0_abfa - ld a, [hli] - ld [Buffer1], a - ld a, [hl] - ld [Buffer2], a - call CloseSRAM - ld hl, Buffer1 - call Function11420 - jr nc, .asm_11572 - ld hl, Buffer1 - call Function11413 - call CloseSRAM - callba Function1050c8 - -.asm_11572 - ld a, BANK(s0_abfa) - call GetSRAMBank - ld hl, Buffer1 - ld a, [hli] - ld [s0_abfa], a - ld a, [hl] - ld [s0_abfa + 1], a - call CloseSRAM - ret -; 11586 - -Function11586: ; 11586 - cp $ff - jr z, .asm_11595 - ld c, a - ld a, [hl] - sub c - jr nc, .asm_11590 - xor a - -.asm_11590 - ld [hl], a - jr z, .asm_11595 - xor a - ret - -.asm_11595 - xor a - ld [hl], a - scf - ret -; 11599 - -Function11599: ; 11599 - ld a, [wcfd7] - and a - jr nz, Function115cc - ld a, [wcfd6] - and a - jr nz, Function115cc - ld a, [wcfd5] - jr nz, Function115cc - ld a, [wcfd4] - ret -; 115ae - -Function115ae: ; 115ae - ld a, [wcfd7] - and a - jr nz, Function115cc - ld a, [wcfd6] - and a - jr nz, Function115cc - ld a, [wcfd5] - ret -; 115be - -Function115be: ; 115be - ld a, [wcfd7] - and a - jr nz, Function115cc - ld a, [wcfd6] - ret -; 115c8 - -Function115c8: ; 115c8 - ld a, [wcfd7] - ret -; 115cc - -Function115cc: ; 115cc - ld a, $ff - ret -; 115cf - -Function115cf: ; 115cf - xor a - jr Function11605 -; 115d2 - -Function115d2: ; 115d2 - inc hl - xor a - jr Function115f8 -; 115d6 - -Function115d6: ; 115d6 -rept 2 - inc hl -endr - xor a - jr Function115eb -; 115db - -Function115db: ; 115db -rept 3 - inc hl -endr - ld a, [hSeconds] - ld c, a - sub [hl] - jr nc, .asm_115e6 - add 60 -.asm_115e6 - ld [hl], c - dec hl - ld [wcfd4], a - -Function115eb: ; 115eb - ld a, [hMinutes] - ld c, a - sbc [hl] - jr nc, .asm_115f3 - add 60 -.asm_115f3 - ld [hl], c - dec hl - ld [wcfd5], a - -Function115f8: ; 115f8 - ld a, [hHours] - ld c, a - sbc [hl] - jr nc, .asm_11600 - add 24 -.asm_11600 - ld [hl], c - dec hl - ld [wcfd6], a - -Function11605 - ld a, [CurDay] - ld c, a - sbc [hl] - jr nc, .asm_1160e - add 140 -.asm_1160e - ld [hl], c - ld [wcfd7], a - ret -; 11613 - -Function11613: ; 11613 - ld a, [CurDay] - ld [hli], a - ld a, [hHours] - ld [hli], a - ld a, [hMinutes] - ld [hli], a - ld a, [hSeconds] - ld [hli], a - ret -; 11621 - -Function11621: ; 11621 - ld a, [CurDay] - ld [hl], a - ret -; 11626 - -Function11626: ; 11626 - ld a, [CurDay] - ld [hli], a - ld a, [hHours] - ld [hli], a - ret -; 1162e - -Function1162e: ; 1162e - ld a, [CurDay] - ld [hli], a - ld a, [hHours] - ld [hli], a - ld a, [hMinutes] - ld [hli], a - ret -; 11639 +INCLUDE "engine/time.asm" CanLearnTMHMMove: ; 11639 ld a, [CurPartySpecies] @@ -93615,3 +93151,4 @@ INCBIN "misc/stadium2_2.bin" ELSE INCBIN "misc/stadium2_1.bin" ENDC + diff --git a/maps/ElmsLab.asm b/maps/ElmsLab.asm index d39eb9afe..7345fcaa7 100644 --- a/maps/ElmsLab.asm +++ b/maps/ElmsLab.asm @@ -105,10 +105,10 @@ ElmCheckEverstone: checkevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE iffalse ElmCheckTogepiEgg writebyte TOGEPI - special Functionc284 + special Special_FindThatSpeciesYourTrainerID iftrue ShowElmTogepiScript writebyte TOGETIC - special Functionc284 + special Special_FindThatSpeciesYourTrainerID iftrue ShowElmTogepiScript writetext UnknownText_0x79a40 closetext @@ -117,10 +117,10 @@ ElmCheckEverstone: ElmEggHatchedScript: writebyte TOGEPI - special Functionc284 + special Special_FindThatSpeciesYourTrainerID iftrue ShowElmTogepiScript writebyte TOGETIC - special Functionc284 + special Special_FindThatSpeciesYourTrainerID iftrue ShowElmTogepiScript jump ElmCheckGotEggAgain diff --git a/maps/LakeofRageMagikarpHouse.asm b/maps/LakeofRageMagikarpHouse.asm index d8d74ed54..34214dc01 100644 --- a/maps/LakeofRageMagikarpHouse.asm +++ b/maps/LakeofRageMagikarpHouse.asm @@ -37,7 +37,7 @@ UnknownScript_0x19a6d7: UnknownScript_0x19a6e0: writebyte MAGIKARP - special Functionc276 + special Special_FindThatSpecies iffalse UnknownScript_0x19a6d7 writetext UnknownText_0x19a93e closetext From 2770cfc354b883f0e3f7e632374051ed9b5e936a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 4 Oct 2015 14:14:51 -0400 Subject: [PATCH 4/4] soft reset --- battle/core.asm | 4 +- constants/map_constants.asm | 7 + engine/specials.asm | 22 +- engine/time.asm | 12 +- home/text.asm | 158 +++--- items/item_effects.asm | 14 +- macros.asm | 7 + macros/charmap.asm | 19 +- macros/event.asm | 8 + main.asm | 50 +- maps/CeladonGameCornerPrizeRoom.asm | 6 +- maps/DragonShrine.asm | 2 +- maps/ElmsLab.asm | 6 +- maps/GoldenrodGameCorner.asm | 6 +- maps/KrissHouse1F.asm | 4 +- maps/MountMortarB1F.asm | 2 +- maps/map_headers.asm | 776 ++++++++++++++-------------- sram.asm | 136 +++++ wram.asm | 140 +---- 19 files changed, 716 insertions(+), 663 deletions(-) create mode 100644 sram.asm diff --git a/battle/core.asm b/battle/core.asm index 30d53c7d5..c7f0e7bb5 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -8786,7 +8786,7 @@ Function3f77c: ; 3f77c callba Function106187 ld c, $c8 call DelayFrames - ld a, $1 + ld a, BANK(sLinkBattleStats) call GetSRAMBank call Function3fa42 call Function3f85f @@ -8861,7 +8861,7 @@ Function3f85f: ; 3f85f call .asm_3f8e0 hlcoord 0, 8 ld b, $5 - ld de, $b268 + ld de, sLinkBattleStats + $8 .asm_3f870 push bc push hl diff --git a/constants/map_constants.asm b/constants/map_constants.asm index dabc6fc33..2ea5cea7e 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -830,3 +830,10 @@ NUM_SPAWNS EQU const_value const SPRITEMOVEFN_1F const SPRITEMOVEFN_20 const SPRITEMOVEFN_21 + + const_def + const PALETTE_AUTO + const PALETTE_DAY + const PALETTE_NITE + const PALETTE_MORN + const PALETTE_DARK diff --git a/engine/specials.asm b/engine/specials.asm index 8cf052f28..58cf5d646 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -186,8 +186,8 @@ SpecialsPointers:: ; c029 add_special Function4ae12 add_special LoadMapPalettes add_special Function4a927 - add_special Function90a54 - add_special Function90a88 + add_special Special_InitialSetDSTFlag + add_special Special_InitialClearDSTFlag add_special SpecialNone ; c224 @@ -314,9 +314,9 @@ Special_KrissHousePC: ; c2e7 ; c2f6 Special_CheckMysteryGift: ; c2f6 - ld a, BANK(s0_abe2) + ld a, BANK(sMysteryGiftItem) call GetSRAMBank - ld a, [s0_abe2] + ld a, [sMysteryGiftItem] and a jr z, .no inc a @@ -328,9 +328,9 @@ Special_CheckMysteryGift: ; c2f6 ; c309 Special_GetMysteryGiftItem: ; c309 - ld a, BANK(s0_abe2) + ld a, BANK(sMysteryGiftItem) call GetSRAMBank - ld a, [s0_abe2] + ld a, [sMysteryGiftItem] ld [CurItem], a ld a, $1 ld [wd10c], a @@ -338,12 +338,12 @@ Special_GetMysteryGiftItem: ; c309 call ReceiveItem jr nc, .asm_c33d xor a - ld [s0_abe2], a + ld [sMysteryGiftItem], a call CloseSRAM ld a, [CurItem] ld [wd265], a call GetItemName - ld hl, UnknownText_0xc345 + ld hl, .ReceiveItemText call PrintText ld a, $1 ld [ScriptVar], a @@ -356,7 +356,7 @@ Special_GetMysteryGiftItem: ; c309 ret ; c345 -UnknownText_0xc345: ; 0xc345 +.ReceiveItemText: ; 0xc345 ; received item text_jump UnknownText_0x1bd3be db "@" @@ -639,8 +639,8 @@ Functionc4ac: ; c4ac ; c4b9 SpecialTrainerHouse: ; 0xc4b9 - ld a, BANK(s0_abfd) + ld a, BANK(sMysteryGiftTrainerHouseFlag) call GetSRAMBank - ld a, [s0_abfd] + ld a, [sMysteryGiftTrainerHouseFlag] ld [ScriptVar], a jp CloseSRAM diff --git a/engine/time.asm b/engine/time.asm index 0daedaef4..d47c4fbaa 100755 --- a/engine/time.asm +++ b/engine/time.asm @@ -297,21 +297,21 @@ Function11548: ; 11548 ; 11586 Function11586: ; 11586 - cp $ff - jr z, .asm_11595 + cp -1 + jr z, .skip ld c, a ld a, [hl] sub c - jr nc, .asm_11590 + jr nc, .ok xor a -.asm_11590 +.ok ld [hl], a - jr z, .asm_11595 + jr z, .skip xor a ret -.asm_11595 +.skip xor a ld [hl], a scf diff --git a/home/text.asm b/home/text.asm index c76504c53..fdbafec22 100644 --- a/home/text.asm +++ b/home/text.asm @@ -221,49 +221,65 @@ else endc jp z, \2 endm - dict $15, Char15 - dict $4f, Line - dict $4e, NextLine - dict $16, Char16 + +dict2: macro +if \1 == 0 + and a +else + cp \1 +endc + jr nz, \@ + ld a, \2 +\@: +endm + +dict3: macro +if \1 == 0 + and a +else + cp \1 +endc + jr z, \2 +endm + + dict "", Char15 + dict "", LineChar + dict "", NextLineChar + dict TX_FAR, TextFar dict $00, NullChar - dict $4c, Function1337 + dict $4c, Char4C dict $4b, Char4B - dict $51, Paragraph - dict $49, PrintMomsName - dict $52, PrintPlayerName - dict $53, PrintRivalName + dict "", Paragraph + dict "", PrintMomsName + dict "", PrintPlayerName + dict "", PrintRivalName dict $35, Char35 dict $36, Char36 dict $37, Char37 - dict $38, PrintRedsName - dict $39, PrintGreensName - dict $54, Char54 - dict $5b, Char5B - dict $5e, Char5E - dict $5c, Char5C - dict $5d, Char5D + dict "", PrintRedsName + dict "", PrintGreensName + dict "#", PlacePOKe + dict "", PCChar + dict "", RocketChar + dict "", TMChar + dict "", TrainerChar dict $23, Char23 dict $22, Char22 - dict $55, ContText - dict $56, Char56 - dict $57, DoneText - dict $58, PromptText - dict $4a, Char4A - dict $24, Char24 + dict "", ContText + dict "<......>", SixDotsChar + dict "", DoneText + dict "", PromptText + dict "", PlacePKMN + dict $24, PlacePOKE dict $25, NextChar - cp $1f - jr nz, .ok - ld a, $7f -.ok + dict2 $1f, " " dict $5f, Char5F - dict $59, Char59 - dict $5a, Char5A - dict $3f, Char3F - dict $14, Char14 - cp $e4 ; handakuten - jr z, .place - cp $e5 ; dakuten - jr z, .place + dict "", PlaceMoveTargetsName + dict "", PlaceMoveUsersName + dict "", PlaceEnemysName + dict "", PlaceGenderedPlayerName + dict3 $e4, .place + dict3 $e5, .place jr .nope ld b, a @@ -319,7 +335,7 @@ Char15:: ; 117b print_name: macro push de ld de, \1 - jp Function126a + jp PlaceCommandCharacter endm PrintMomsName: print_name MomsName ; 1186 @@ -328,46 +344,46 @@ PrintRivalName: print_name RivalName ; 1194 PrintRedsName: print_name RedsName ; 119b PrintGreensName: print_name GreensName ; 11a2 -Char5D: print_name Char5DText ; 11a9 -Char5C: print_name Char5CText ; 11b0 -Char5B: print_name Char5BText ; 11b7 -Char5E: print_name Char5EText ; 11be -Char54: print_name Char54Text ; 11c5 +TrainerChar: print_name TrainerCharText ; 11a9 +TMChar: print_name TMCharText ; 11b0 +PCChar: print_name PCCharText ; 11b7 +RocketChar: print_name RocketCharText ; 11be +PlacePOKe: print_name PlacePOKeText ; 11c5 Char23: print_name Char23Text ; 11cc -Char56: print_name Char56Text ; 11d3 -Char4A: print_name Char4AText ; 11da -Char24: print_name Char24Text ; 11e1 +SixDotsChar: print_name SixDotsCharText ; 11d3 +PlacePKMN: print_name PlacePKMNText ; 11da +PlacePOKE: print_name PlacePOKEText ; 11e1 Char35: print_name Char35Text ; 11e8 Char36: print_name Char36Text ; 11ef Char37: print_name Char37Text ; 11f6 -Char59:: ; 11fd +PlaceMoveTargetsName:: ; 11fd ld a, [hBattleTurn] xor 1 - jr Char59_5A + jr PlaceMoveTargetsName_5A -Char5A:: ; 1203 +PlaceMoveUsersName:: ; 1203 ld a, [hBattleTurn] -Char59_5A: ; 1205 +PlaceMoveTargetsName_5A: ; 1205 push de and a jr nz, .enemy ld de, BattleMonNick - jr Function126a + jr PlaceCommandCharacter .enemy - ld de, Char5AText ; Enemy + ld de, EnemyText ; Enemy call PlaceString ld h, b ld l, c ld de, EnemyMonNick - jr Function126a + jr PlaceCommandCharacter -Char3F:: ; 121b +PlaceEnemysName:: ; 121b push de ld a, [InLinkBattle] @@ -390,18 +406,18 @@ Char3F:: ; 121b callab Battle_GetTrainerName pop hl ld de, StringBuffer1 - jr Function126a + jr PlaceCommandCharacter .rival ld de, RivalName - jr Function126a + jr PlaceCommandCharacter .linkbattle ld de, OTName - jr Function126a + jr PlaceCommandCharacter -Char14:: ; 1252 +PlaceGenderedPlayerName:: ; 1252 push de ld de, PlayerName call PlaceString @@ -410,12 +426,12 @@ Char14:: ; 1252 ld a, [PlayerGender] bit 0, a ld de, String12a5 - jr z, Function126a + jr z, PlaceCommandCharacter ld de, String12a6 - jr Function126a + jr PlaceCommandCharacter -Function126a:: ; 126a +PlaceCommandCharacter:: ; 126a call PlaceString ld h, b ld l, c @@ -423,16 +439,16 @@ Function126a:: ; 126a jp NextChar ; 0x1273 -Char5CText:: db "TM@" ; 1273 -Char5DText:: db "TRAINER@" ; 1276 -Char5BText:: db "PC@" ; 127e -Char5EText:: db "ROCKET@" ; 1281 -Char54Text:: db "POKé@" ; 1288 +TMCharText:: db "TM@" ; 1273 +TrainerCharText:: db "TRAINER@" ; 1276 +PCCharText:: db "PC@" ; 127e +RocketCharText:: db "ROCKET@" ; 1281 +PlacePOKeText:: db "POKé@" ; 1288 Char23Text:: db "こうげき@" ; 128d -Char56Text:: db "……@" ; 1292 -Char5AText:: db "Enemy @" ; 1295 -Char4AText:: db $e1, $e2, "@" ; PK MN ; 129c -Char24Text:: db $70, $71, "@" ; PO KE ; 129f +SixDotsCharText:: db "……@" ; 1292 +EnemyText:: db "Enemy @" ; 1295 +PlacePKMNText:: db "@" ; PK MN ; 129c +PlacePOKEText:: db "@" ; PO KE ; 129f String12a2:: db " @" ; 12a2 Char35Text:: Char36Text:: @@ -441,7 +457,7 @@ String12a5:: db "@" ; 12a5 String12a6:: db "@" ; 12a6 ; 12a7 -NextLine:: ; 12a7 +NextLineChar:: ; 12a7 pop hl ld bc, SCREEN_WIDTH * 2 add hl, bc @@ -457,7 +473,7 @@ Char22:: ; 12b0 jp NextChar ; 12b9 -Char16:: ; 12b9 +TextFar:: ; 12b9 pop hl push de ld bc, -TileMap + $10000 @@ -500,7 +516,7 @@ Char16:: ; 12b9 ; 12ea -Line:: ; 12ea +LineChar:: ; 12ea pop hl hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2 push hl @@ -549,7 +565,7 @@ Char4B:: ; 131f or a call z, Function13cd -Function1337:: ; 1337 +Char4C:: ; 1337 push de call Function138c call Function138c diff --git a/items/item_effects.asm b/items/item_effects.asm index 6ad0d8947..4978a54a1 100644 --- a/items/item_effects.asm +++ b/items/item_effects.asm @@ -658,27 +658,27 @@ endr ld b, $0 callba Function116c1 - ld a, $1 + ld a, BANK(sBoxMonNicknames) call GetSRAMBank ld hl, wd050 - ld de, $b082 - ld bc, $000b + ld de, sBoxMonNicknames + ld bc, PKMN_NAME_LENGTH call CopyBytes - ld hl, $b082 + ld hl, sBoxMonNicknames ld de, StringBuffer1 call InitName call CloseSRAM .asm_ebaf - ld a, $1 + ld a, BANK(sBoxMonNicknames) call GetSRAMBank - ld hl, $b082 + ld hl, sBoxMonNicknames ld de, wd050 - ld bc, $000b + ld bc, PKMN_NAME_LENGTH call CopyBytes call CloseSRAM diff --git a/macros.asm b/macros.asm index 7ed3ecf36..4370886b2 100644 --- a/macros.asm +++ b/macros.asm @@ -104,6 +104,13 @@ dwcoord: MACRO endr ENDM +ldcoord: MACRO + if _NARG < 3 + ld [TileMap + SCREEN_WIDTH * (\2) + (\1)], a + else + ld [\3 + SCREEN_WIDTH * (\2) + (\1)], a + endc + ENDM ; pic animations frame: MACRO diff --git a/macros/charmap.asm b/macros/charmap.asm index bc5f16c4f..48ef2cad3 100644 --- a/macros/charmap.asm +++ b/macros/charmap.asm @@ -282,5 +282,22 @@ charmap "", $5a charmap "", $3f charmap "", $4a - + charmap "", $e1 + charmap "", $e2 + charmap "", $70 + charmap "", $71 + charmap "", $49 + charmap "", $24 charmap "", $14 ; + gender + charmap "", $51 + charmap "", $4f + charmap "", $4e + charmap "", $55 + charmap "", $57 + charmap "", $58 + charmap "", $15 + charmap "", $5b + charmap "", $5c + charmap "", $5d + charmap "", $5e + charmap "<......>", $56 diff --git a/macros/event.asm b/macros/event.asm index 56028bf6a..22652abbd 100644 --- a/macros/event.asm +++ b/macros/event.asm @@ -300,12 +300,20 @@ givepoke: macro db givepoke_command db \1 ; pokemon db \2 ; level + if _NARG >= 3 db \3 ; item + if _NARG >= 4 db \4 ; trainer if \4 dw \5 ; trainer_name_pointer dw \6 ; pkmn_nickname endc + else + db 0 + endc + else + db 0, 0 + endc endm enum giveegg_command diff --git a/main.asm b/main.asm index 746cf01de..37213c669 100644 --- a/main.asm +++ b/main.asm @@ -239,9 +239,9 @@ _ResetWRAM: ; 5bae ld [wRoamMon2MapNumber], a ld [wRoamMon3MapNumber], a - ld a, BANK(s0_abe2) + ld a, BANK(sMysteryGiftItem) call GetSRAMBank - ld hl, s0_abe2 + ld hl, sMysteryGiftItem xor a ld [hli], a dec a @@ -29292,7 +29292,7 @@ Function28926: ; 28926 .asm_28946 ld a, $7f - ld [TileMap + 11 + 16 * SCREEN_WIDTH], a + ldcoord 11, 16 ld a, $13 ld [wcfa8], a ld a, $1 @@ -29324,7 +29324,7 @@ Function28926: ; 28926 .asm_2898d ld a, $7f - ld [TileMap + 1 + 16 * SCREEN_WIDTH], a + ldcoord 1, 16 ld a, $23 ld [wcfa8], a ld a, $1 @@ -29470,7 +29470,7 @@ Function28ac9: ; 28ac9 Function28ade: ; 28ade .asm_28ade ld a, $ed - ld [TileMap + 9 + 17 * SCREEN_WIDTH], a + ldcoord 9, 17 .asm_28ae3 call Functiona57 ld a, [$ffa9] @@ -29480,7 +29480,7 @@ Function28ade: ; 28ade jr nz, .asm_28b0b push af ld a, $7f - ld [TileMap + 9 + 17 * SCREEN_WIDTH], a + ldcoord 9, 17 pop af bit 6, a jr z, .asm_28b03 @@ -29495,7 +29495,7 @@ Function28ade: ; 28ade .asm_28b0b ld a, $ec - ld [TileMap + 9 + 17 * SCREEN_WIDTH], a + ldcoord 9, 17 ld a, $f ld [wcf56], a callba Function16d6ce @@ -35456,9 +35456,9 @@ GetTrainerName:: ; 3994c cp CAL jr nz, .not_cal2 - ld a, BANK(s0_abfd) + ld a, BANK(sMysteryGiftTrainerHouseFlag) call GetSRAMBank - ld a, [s0_abfd] + ld a, [sMysteryGiftTrainerHouseFlag] and a call CloseSRAM jr z, .not_cal2 @@ -39988,8 +39988,8 @@ Function49797: ; 49797 ld a, $4 call Function49336 ld a, $3 - ld [AttrMap + 0 + 1 * SCREEN_WIDTH], a ; (0, 1) - ld [AttrMap + 0 + 14 * SCREEN_WIDTH], a ; (0, 14) + ldcoord 0, 1, AttrMap + ldcoord 0, 14, AttrMap hlcoord 2, 0, AttrMap ld bc, $0812 ld a, $5 @@ -62694,7 +62694,7 @@ Unknown_8c490: ; 8c490 macro_8c490: MACRO db \1 dw \2 - dw TileMap + SCREEN_WIDTH * \4 + \3 + dwcoord \3, \4 ENDM macro_8c490 0, Unknown_8c538, 1, 6 @@ -63241,10 +63241,10 @@ Function8c913: ; 8c913 ; 8c938 Unknown_8c938: ; 8c938 - dw TileMap + 8 + 10 * SCREEN_WIDTH - dw TileMap + 8 + 6 * SCREEN_WIDTH - dw TileMap + 6 + 8 * SCREEN_WIDTH - dw TileMap + 10 + 8 * SCREEN_WIDTH + dwcoord 8, 10 + dwcoord 8, 6 + dwcoord 6, 8 + dwcoord 10, 8 ; 8c940 Function8c940: ; 8c940 @@ -68913,7 +68913,7 @@ UnknownText_0x90a4f: ; 0x90a4f db "@" ; 0x90a54 -Function90a54: ; 90a54 +Special_InitialSetDSTFlag: ; 90a54 ld a, [wDST] set 7, a ld [wDST], a @@ -68944,7 +68944,7 @@ UnknownText_0x90a83: ; 0x90a83 db "@" ; 0x90a88 -Function90a88: ; 90a88 +Special_InitialClearDSTFlag: ; 90a88 ld a, [wDST] res 7, a ld [wDST], a @@ -74100,13 +74100,13 @@ UnknownText_0x931b9: ; 0x931b9 Function931ba: ; 931ba ld a, [EffectFailed] add $25 - ld [TileMap + 2 + 13 * SCREEN_WIDTH], a + ldcoord 2, 13 inc a - ld [TileMap + 2 + 14 * SCREEN_WIDTH], a + ldcoord 2, 14 inc a - ld [TileMap + 3 + 13 * SCREEN_WIDTH], a + ldcoord 3, 13 inc a - ld [TileMap + 3 + 14 * SCREEN_WIDTH], a + ldcoord 3, 14 hlcoord 18, 17 ld [hl], $ee ld hl, UnknownText_0x931db @@ -89233,7 +89233,7 @@ endr Function104a71: ; 104a71 (41:4a71) call Function105106 ld a, $1 - ld [s0_abfd], a + ld [sMysteryGiftTrainerHouseFlag], a ld hl, wc903 ld de, s0_abfe ld bc, $b @@ -90168,7 +90168,7 @@ Function1050c8: ; 1050c8 Function1050d9: ; 1050d9 call Function105106 - ld hl, s0_abe2 + ld hl, sMysteryGiftItem ld de, s0_abe4 ld a, [hli] ld [de], a @@ -90182,7 +90182,7 @@ Function1050d9: ; 1050d9 Function1050ea: ; 1050ea (41:50ea) call Function105106 ld hl, s0_abe4 - ld de, s0_abe2 + ld de, sMysteryGiftItem ld a, [hli] ld [de], a inc de diff --git a/maps/CeladonGameCornerPrizeRoom.asm b/maps/CeladonGameCornerPrizeRoom.asm index 7f924da85..2b8267f79 100644 --- a/maps/CeladonGameCornerPrizeRoom.asm +++ b/maps/CeladonGameCornerPrizeRoom.asm @@ -147,7 +147,7 @@ UnknownScript_0x727ed: closetext writebyte PIKACHU special Special_GameCornerPrizeMonCheckDex - givepoke PIKACHU, 25, 0, 0 + givepoke PIKACHU, 25 takecoins 2222 jump UnknownScript_0x727d3 @@ -165,7 +165,7 @@ UnknownScript_0x7281b: closetext writebyte PORYGON special Special_GameCornerPrizeMonCheckDex - givepoke PORYGON, 15, 0, 0 + givepoke PORYGON, 15 takecoins 5555 jump UnknownScript_0x727d3 @@ -183,7 +183,7 @@ UnknownScript_0x72849: closetext writebyte LARVITAR special Special_GameCornerPrizeMonCheckDex - givepoke LARVITAR, 40, 0, 0 + givepoke LARVITAR, 40 takecoins 8888 jump UnknownScript_0x727d3 diff --git a/maps/DragonShrine.asm b/maps/DragonShrine.asm index e5cbf358a..dd44f70a8 100644 --- a/maps/DragonShrine.asm +++ b/maps/DragonShrine.asm @@ -211,7 +211,7 @@ ElderScript_0x18d1a5: writetext UnknownText_0x18d697 playsound SFX_CAUGHT_MON waitbutton - givepoke DRATINI, 15, 0, 0 + givepoke DRATINI, 15 checkevent EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG special SpecialDratini setevent EVENT_GOT_DRATINI diff --git a/maps/ElmsLab.asm b/maps/ElmsLab.asm index 7345fcaa7..0981badf2 100644 --- a/maps/ElmsLab.asm +++ b/maps/ElmsLab.asm @@ -177,7 +177,7 @@ CyndaquilPokeBallScript: playsound SFX_CAUGHT_MON waitbutton keeptextopen - givepoke CYNDAQUIL, 5, BERRY, 0 + givepoke CYNDAQUIL, 5, BERRY loadmovesprites checkcode VAR_FACING if_equal $3, ElmDirectionsScript @@ -207,7 +207,7 @@ TotodilePokeBallScript: playsound SFX_CAUGHT_MON waitbutton keeptextopen - givepoke TOTODILE, 5, BERRY, 0 + givepoke TOTODILE, 5, BERRY loadmovesprites applymovement PLAYER, AfterTotodileMovement jump ElmDirectionsScript @@ -235,7 +235,7 @@ ChikoritaPokeBallScript: playsound SFX_CAUGHT_MON waitbutton keeptextopen - givepoke CHIKORITA, 5, BERRY, 0 + givepoke CHIKORITA, 5, BERRY loadmovesprites applymovement PLAYER, AfterChikoritaMovement jump ElmDirectionsScript diff --git a/maps/GoldenrodGameCorner.asm b/maps/GoldenrodGameCorner.asm index 324812d87..0d97236b5 100644 --- a/maps/GoldenrodGameCorner.asm +++ b/maps/GoldenrodGameCorner.asm @@ -176,7 +176,7 @@ UnknownScript_0x56d26: closetext writebyte ABRA special Special_GameCornerPrizeMonCheckDex - givepoke ABRA, 5, 0, 0 + givepoke ABRA, 5 takecoins 100 jump UnknownScript_0x56d0c @@ -194,7 +194,7 @@ UnknownScript_0x56d54: closetext writebyte CUBONE special Special_GameCornerPrizeMonCheckDex - givepoke CUBONE, 15, 0, 0 + givepoke CUBONE, 15 takecoins 800 jump UnknownScript_0x56d0c @@ -212,7 +212,7 @@ UnknownScript_0x56d82: closetext writebyte WOBBUFFET special Special_GameCornerPrizeMonCheckDex - givepoke WOBBUFFET, 15, 0, 0 + givepoke WOBBUFFET, 15 takecoins 1500 jump UnknownScript_0x56d0c diff --git a/maps/KrissHouse1F.asm b/maps/KrissHouse1F.asm index 34785def8..0f5fc3583 100644 --- a/maps/KrissHouse1F.asm +++ b/maps/KrissHouse1F.asm @@ -48,13 +48,13 @@ UnknownScript_0x7a519: writetext UnknownText_0x7a742 yesorno iffalse UnknownScript_0x7a52a - special Function90a54 + special Special_InitialSetDSTFlag yesorno iffalse UnknownScript_0x7a519 jump UnknownScript_0x7a531 UnknownScript_0x7a52a: - special Function90a88 + special Special_InitialClearDSTFlag yesorno iffalse UnknownScript_0x7a519 UnknownScript_0x7a531: diff --git a/maps/MountMortarB1F.asm b/maps/MountMortarB1F.asm index 041b8f505..a284e808e 100644 --- a/maps/MountMortarB1F.asm +++ b/maps/MountMortarB1F.asm @@ -30,7 +30,7 @@ UnknownScript_0x7e217: writetext UnknownText_0x7e355 playsound SFX_CAUGHT_MON waitbutton - givepoke TYROGUE, 10, 0, 0 + givepoke TYROGUE, 10 setevent EVENT_GOT_TYROGUE_FROM_KIYO UnknownScript_0x7e231: writetext UnknownText_0x7e36a diff --git a/maps/map_headers.asm b/maps/map_headers.asm index 3b6b69d3b..bb65ec8be 100644 --- a/maps/map_headers.asm +++ b/maps/map_headers.asm @@ -30,466 +30,466 @@ MapGroupPointers:: MapGroup1: - map_header OlivinePokeCenter1F, $7, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header OlivineGym, $12, INDOOR, OLIVINE_CITY, MUSIC_GYM, 1, 1, 1 - map_header OlivineVoltorbHouse, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header OlivineHouseBeta, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header OlivinePunishmentSpeechHouse, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header OlivineGoodRodHouse, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header OlivineCafe, $e, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header OlivineMart, $c, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header Route38EcruteakGate, $8, GATE, ROUTE_38, MUSIC_ROUTE_37, 0, 1, 1 - map_header Route39Barn, $10, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, 0, 1, 1 - map_header Route39Farmhouse, $5, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, 0, 1, 1 - map_header Route38, $1, ROUTE, ROUTE_38, MUSIC_ROUTE_37, 0, 0, 1 - map_header Route39, $1, ROUTE, ROUTE_39, MUSIC_ROUTE_37, 0, 0, 1 - map_header OlivineCity, $1, TOWN, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 0, 1 + map_header OlivinePokeCenter1F, $7, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header OlivineGym, $12, INDOOR, OLIVINE_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header OlivineVoltorbHouse, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header OlivineHouseBeta, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header OlivinePunishmentSpeechHouse, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header OlivineGoodRodHouse, $5, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header OlivineCafe, $e, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header OlivineMart, $c, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header Route38EcruteakGate, $8, GATE, ROUTE_38, MUSIC_ROUTE_37, 0, PALETTE_DAY, 1 + map_header Route39Barn, $10, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1 + map_header Route39Farmhouse, $5, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1 + map_header Route38, $1, ROUTE, ROUTE_38, MUSIC_ROUTE_37, 0, PALETTE_AUTO, 1 + map_header Route39, $1, ROUTE, ROUTE_39, MUSIC_ROUTE_37, 0, PALETTE_AUTO, 1 + map_header OlivineCity, $1, TOWN, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, 1 MapGroup2: - map_header MahoganyRedGyaradosSpeechHouse, $5, INDOOR, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, 1, 1 - map_header MahoganyGym, $f, INDOOR, MAHOGANY_TOWN, MUSIC_GYM, 1, 1, 1 - map_header MahoganyPokeCenter1F, $7, INDOOR, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header Route42EcruteakGate, $8, GATE, ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, 1, 1 - map_header Route42, $1, ROUTE, ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, 0, 3 - map_header Route44, $1, ROUTE, ROUTE_44, MUSIC_LAKE_OF_RAGE, 0, 0, 4 - map_header MahoganyTown, $1, TOWN, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, 0, 1 + map_header MahoganyRedGyaradosSpeechHouse, $5, INDOOR, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1 + map_header MahoganyGym, $f, INDOOR, MAHOGANY_TOWN, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header MahoganyPokeCenter1F, $7, INDOOR, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header Route42EcruteakGate, $8, GATE, ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1 + map_header Route42, $1, ROUTE, ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 3 + map_header Route44, $1, ROUTE, ROUTE_44, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 4 + map_header MahoganyTown, $1, TOWN, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_AUTO, 1 MapGroup3: - map_header SproutTower1F, $17, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, 1, 1 - map_header SproutTower2F, $17, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, 1, 1 - map_header SproutTower3F, $17, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, 1, 1 - map_header TinTower1F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, 1, 1 - map_header TinTower2F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, 1, 1 - map_header TinTower3F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, 1, 1 - map_header TinTower4F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, 1, 1 - map_header TinTower5F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, 1, 1 - map_header TinTower6F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, 1, 1 - map_header TinTower7F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, 1, 1 - map_header TinTower8F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, 1, 1 - map_header TinTower9F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, 1, 1 - map_header BurnedTower1F, $17, DUNGEON, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, 2, 1 - map_header BurnedTowerB1F, $18, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, 2, 1 - map_header NationalPark, $19, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, 0, 0, 1 - map_header NationalParkBugContest, $19, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, 0, 0, 1 - map_header RadioTower1F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, 1, 1 - map_header RadioTower2F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, 1, 1 - map_header RadioTower3F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, 1, 1 - map_header RadioTower4F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, 1, 1 - map_header RadioTower5F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, 1, 1 - map_header RuinsofAlphOutside, $1, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, 0, 4 - map_header RuinsofAlphHoOhChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header RuinsofAlphKabutoChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header RuinsofAlphOmanyteChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header RuinsofAlphAerodactylChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header RuinsofAlphInnerChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, 1, 1, 1 - map_header RuinsofAlphResearchCenter, $b, INDOOR, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, 1, 1 - map_header RuinsofAlphHoOhItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header RuinsofAlphKabutoItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header RuinsofAlphOmanyteItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header RuinsofAlphAerodactylItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header RuinsofAlphHoOhWordRoom, $21, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header RuinsofAlphKabutoWordRoom, $22, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header RuinsofAlphOmanyteWordRoom, $23, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header RuinsofAlphAerodactylWordRoom, $24, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, 1, 1 - map_header UnionCave1F, $18, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, 2, 3 - map_header UnionCaveB1F, $18, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, 2, 3 - map_header UnionCaveB2F, $18, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, 2, 1 - map_header SlowpokeWellB1F, $18, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 1, 2, 3 - map_header SlowpokeWellB2F, $18, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 1, 2, 3 - map_header OlivineLighthouse1F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, 1, 1 - map_header OlivineLighthouse2F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, 1, 1 - map_header OlivineLighthouse3F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, 1, 1 - map_header OlivineLighthouse4F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, 1, 1 - map_header OlivineLighthouse5F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, 1, 1 - map_header OlivineLighthouse6F, $13, DUNGEON, LIGHTHOUSE, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header MahoganyMart1F, $10, INDOOR, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, 1, 1, 1 - map_header TeamRocketBaseB1F, $1c, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, 1, 1 - map_header TeamRocketBaseB2F, $b, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, 1, 1 - map_header TeamRocketBaseB3F, $b, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, 1, 1 - map_header IlexForest, $1f, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, 0, 2, 4 - map_header WarehouseEntrance, $8, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, 1, 1 - map_header UndergroundPathSwitchRoomEntrances, $f, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, 1, 1 - map_header GoldenrodDeptStoreB1F, $1c, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, 1, 1 - map_header UndergroundWarehouse, $1c, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, 1, 1 - map_header MountMortar1FOutside, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, 2, 3 - map_header MountMortar1FInside, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, 2, 3 - map_header MountMortar2FInside, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, 2, 3 - map_header MountMortarB1F, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, 2, 3 - map_header IcePath1F, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, 2, 5 - map_header IcePathB1F, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, 2, 5 - map_header IcePathB2FMahoganySide, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, 2, 5 - map_header IcePathB2FBlackthornSide, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, 2, 5 - map_header IcePathB3F, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, 2, 5 - map_header WhirlIslandNW, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, 4, 10 - map_header WhirlIslandNE, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, 4, 10 - map_header WhirlIslandSW, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, 4, 10 - map_header WhirlIslandCave, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, 4, 10 - map_header WhirlIslandSE, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, 4, 10 - map_header WhirlIslandB1F, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, 4, 10 - map_header WhirlIslandB2F, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, 4, 10 - map_header WhirlIslandLugiaChamber, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, 4, 10 - map_header SilverCaveRoom1, $1e, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, 4, 3 - map_header SilverCaveRoom2, $18, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, 2, 3 - map_header SilverCaveRoom3, $18, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, 1, 3 - map_header SilverCaveItemRooms, $18, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, 2, 3 - map_header DarkCaveVioletEntrance, $1e, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, 1, 4, 3 - map_header DarkCaveBlackthornEntrance, $1e, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, 1, 4, 3 - map_header DragonsDen1F, $18, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, 2, 5 - map_header DragonsDenB1F, $1, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, 2, 5 - map_header DragonShrine, $a, INDOOR, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, 2, 1 - map_header TohjoFalls, $18, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, 1, 2, 3 - map_header DiglettsCave, $18, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, 1, 2, 1 - map_header MountMoon, $18, CAVE, MT_MOON, MUSIC_MT_MOON, 1, 2, 1 - map_header Underground, $1c, GATE, UNDERGROUND, MUSIC_MT_MOON, 0, 2, 1 - map_header RockTunnel1F, $1e, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, 4, 1 - map_header RockTunnelB1F, $1e, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, 4, 1 - map_header SafariZoneFuchsiaGateBeta, $8, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header SafariZoneBeta, $19, CAVE, FUCHSIA_CITY, MUSIC_EVOLUTION, 0, 0, 1 - map_header VictoryRoad, $18, CAVE, VICTORY_ROAD, MUSIC_VICTORY_ROAD, 1, 2, 1 + map_header SproutTower1F, $17, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, 1 + map_header SproutTower2F, $17, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, 1 + map_header SproutTower3F, $17, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, 1 + map_header TinTower1F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1 + map_header TinTower2F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1 + map_header TinTower3F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1 + map_header TinTower4F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1 + map_header TinTower5F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1 + map_header TinTower6F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1 + map_header TinTower7F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1 + map_header TinTower8F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1 + map_header TinTower9F, $17, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, 1 + map_header BurnedTower1F, $17, DUNGEON, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, PALETTE_NITE, 1 + map_header BurnedTowerB1F, $18, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, PALETTE_NITE, 1 + map_header NationalPark, $19, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, 0, PALETTE_AUTO, 1 + map_header NationalParkBugContest, $19, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, 0, PALETTE_AUTO, 1 + map_header RadioTower1F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1 + map_header RadioTower2F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1 + map_header RadioTower3F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1 + map_header RadioTower4F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1 + map_header RadioTower5F, $1b, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1 + map_header RuinsofAlphOutside, $1, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, PALETTE_AUTO, 4 + map_header RuinsofAlphHoOhChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header RuinsofAlphKabutoChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header RuinsofAlphOmanyteChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header RuinsofAlphAerodactylChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header RuinsofAlphInnerChamber, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, 1, PALETTE_DAY, 1 + map_header RuinsofAlphResearchCenter, $b, INDOOR, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, PALETTE_DAY, 1 + map_header RuinsofAlphHoOhItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header RuinsofAlphKabutoItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header RuinsofAlphOmanyteItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header RuinsofAlphAerodactylItemRoom, $1a, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header RuinsofAlphHoOhWordRoom, $21, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header RuinsofAlphKabutoWordRoom, $22, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header RuinsofAlphOmanyteWordRoom, $23, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header RuinsofAlphAerodactylWordRoom, $24, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header UnionCave1F, $18, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3 + map_header UnionCaveB1F, $18, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3 + map_header UnionCaveB2F, $18, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 1 + map_header SlowpokeWellB1F, $18, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 3 + map_header SlowpokeWellB2F, $18, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 3 + map_header OlivineLighthouse1F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1 + map_header OlivineLighthouse2F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1 + map_header OlivineLighthouse3F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1 + map_header OlivineLighthouse4F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1 + map_header OlivineLighthouse5F, $13, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, 1 + map_header OlivineLighthouse6F, $13, DUNGEON, LIGHTHOUSE, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header MahoganyMart1F, $10, INDOOR, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, 1, PALETTE_DAY, 1 + map_header TeamRocketBaseB1F, $1c, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, 1 + map_header TeamRocketBaseB2F, $b, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, 1 + map_header TeamRocketBaseB3F, $b, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, 1 + map_header IlexForest, $1f, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, 0, PALETTE_NITE, 4 + map_header WarehouseEntrance, $8, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header UndergroundPathSwitchRoomEntrances, $f, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header GoldenrodDeptStoreB1F, $1c, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, 1 + map_header UndergroundWarehouse, $1c, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, 1 + map_header MountMortar1FOutside, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3 + map_header MountMortar1FInside, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3 + map_header MountMortar2FInside, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3 + map_header MountMortarB1F, $1e, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3 + map_header IcePath1F, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5 + map_header IcePathB1F, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5 + map_header IcePathB2FMahoganySide, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5 + map_header IcePathB2FBlackthornSide, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5 + map_header IcePathB3F, $1d, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, 5 + map_header WhirlIslandNW, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10 + map_header WhirlIslandNE, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10 + map_header WhirlIslandSW, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10 + map_header WhirlIslandCave, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10 + map_header WhirlIslandSE, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10 + map_header WhirlIslandB1F, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10 + map_header WhirlIslandB2F, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10 + map_header WhirlIslandLugiaChamber, $1e, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, 10 + map_header SilverCaveRoom1, $1e, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_DARK, 3 + map_header SilverCaveRoom2, $18, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_NITE, 3 + map_header SilverCaveRoom3, $18, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_DAY, 3 + map_header SilverCaveItemRooms, $18, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_NITE, 3 + map_header DarkCaveVioletEntrance, $1e, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, 1, PALETTE_DARK, 3 + map_header DarkCaveBlackthornEntrance, $1e, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, 1, PALETTE_DARK, 3 + map_header DragonsDen1F, $18, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, 5 + map_header DragonsDenB1F, $1, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, 5 + map_header DragonShrine, $a, INDOOR, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, 1 + map_header TohjoFalls, $18, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, 1, PALETTE_NITE, 3 + map_header DiglettsCave, $18, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, 1, PALETTE_NITE, 1 + map_header MountMoon, $18, CAVE, MT_MOON, MUSIC_MT_MOON, 1, PALETTE_NITE, 1 + map_header Underground, $1c, GATE, UNDERGROUND, MUSIC_MT_MOON, 0, PALETTE_NITE, 1 + map_header RockTunnel1F, $1e, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, PALETTE_DARK, 1 + map_header RockTunnelB1F, $1e, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, PALETTE_DARK, 1 + map_header SafariZoneFuchsiaGateBeta, $8, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header SafariZoneBeta, $19, CAVE, FUCHSIA_CITY, MUSIC_EVOLUTION, 0, PALETTE_AUTO, 1 + map_header VictoryRoad, $18, CAVE, VICTORY_ROAD, MUSIC_VICTORY_ROAD, 1, PALETTE_NITE, 1 MapGroup4: - map_header EcruteakHouse, $17, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, 1, 1 - map_header WiseTriosRoom, $10, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, 1, 1 - map_header EcruteakPokeCenter1F, $7, INDOOR, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header EcruteakLugiaSpeechHouse, $10, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, 1, 1 - map_header DanceTheatre, $10, INDOOR, ECRUTEAK_CITY, MUSIC_DANCING_HALL, 0, 1, 1 - map_header EcruteakMart, $c, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, 1, 1 - map_header EcruteakGym, $17, INDOOR, ECRUTEAK_CITY, MUSIC_GYM, 1, 1, 1 - map_header EcruteakItemfinderHouse, $10, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, 1, 1 - map_header EcruteakCity, $1, TOWN, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, 0, 4 + map_header EcruteakHouse, $17, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1 + map_header WiseTriosRoom, $10, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, PALETTE_DAY, 1 + map_header EcruteakPokeCenter1F, $7, INDOOR, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header EcruteakLugiaSpeechHouse, $10, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1 + map_header DanceTheatre, $10, INDOOR, ECRUTEAK_CITY, MUSIC_DANCING_HALL, 0, PALETTE_DAY, 1 + map_header EcruteakMart, $c, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1 + map_header EcruteakGym, $17, INDOOR, ECRUTEAK_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header EcruteakItemfinderHouse, $10, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1 + map_header EcruteakCity, $1, TOWN, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_AUTO, 4 MapGroup5: - map_header BlackthornGym1F, $f, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, 1, 1, 1 - map_header BlackthornGym2F, $f, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, 1, 1, 1 - map_header BlackthornDragonSpeechHouse, $5, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, 1, 1 - map_header BlackthornDodrioTradeHouse, $5, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, 1, 1 - map_header BlackthornMart, $c, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, 1, 1 - map_header BlackthornPokeCenter1F, $7, INDOOR, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header MoveDeletersHouse, $5, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, 1, 1 - map_header Route45, $1, ROUTE, ROUTE_45, MUSIC_ROUTE_36, 0, 0, 9 - map_header Route46, $1, ROUTE, ROUTE_46, MUSIC_ROUTE_36, 0, 0, 1 - map_header BlackthornCity, $1, TOWN, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, 0, 4 + map_header BlackthornGym1F, $f, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header BlackthornGym2F, $f, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header BlackthornDragonSpeechHouse, $5, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 + map_header BlackthornDodrioTradeHouse, $5, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 + map_header BlackthornMart, $c, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 + map_header BlackthornPokeCenter1F, $7, INDOOR, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header MoveDeletersHouse, $5, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 + map_header Route45, $1, ROUTE, ROUTE_45, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 9 + map_header Route46, $1, ROUTE, ROUTE_46, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1 + map_header BlackthornCity, $1, TOWN, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_AUTO, 4 MapGroup6: - map_header CinnabarPokeCenter1F, $7, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header CinnabarPokeCenter2FBeta, $7, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header Route19FuchsiaGate, $8, GATE, ROUTE_19, MUSIC_ROUTE_3, 0, 1, 1 - map_header SeafoamGym, $18, INDOOR, SEAFOAM_ISLANDS, MUSIC_GYM, 1, 1, 1 - map_header Route19, $3, ROUTE, ROUTE_19, MUSIC_ROUTE_3, 0, 0, 1 - map_header Route20, $3, ROUTE, ROUTE_20, MUSIC_ROUTE_3, 0, 0, 2 - map_header Route21, $3, ROUTE, ROUTE_21, MUSIC_ROUTE_3, 0, 0, 2 - map_header CinnabarIsland, $3, TOWN, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, 0, 0, 2 + map_header CinnabarPokeCenter1F, $7, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header CinnabarPokeCenter2FBeta, $7, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header Route19FuchsiaGate, $8, GATE, ROUTE_19, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1 + map_header SeafoamGym, $18, INDOOR, SEAFOAM_ISLANDS, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header Route19, $3, ROUTE, ROUTE_19, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1 + map_header Route20, $3, ROUTE, ROUTE_20, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 2 + map_header Route21, $3, ROUTE, ROUTE_21, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 2 + map_header CinnabarIsland, $3, TOWN, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 2 MapGroup7: - map_header CeruleanGymBadgeSpeechHouse, $5, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header CeruleanPoliceStation, $5, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header CeruleanTradeSpeechHouse, $5, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header CeruleanPokeCenter1F, $7, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header CeruleanPokeCenter2FBeta, $7, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header CeruleanGym, $9, INDOOR, CERULEAN_CITY, MUSIC_GYM, 1, 1, 0 - map_header CeruleanMart, $c, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header Route10PokeCenter1F, $7, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header Route10PokeCenter2FBeta, $7, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header PowerPlant, $b, INDOOR, POWER_PLANT, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header BillsHouse, $5, INDOOR, ROUTE_25, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header Route4, $3, ROUTE, ROUTE_4, MUSIC_ROUTE_3, 0, 0, 0 - map_header Route9, $3, ROUTE, ROUTE_9, MUSIC_ROUTE_3, 0, 0, 3 - map_header Route10North, $3, ROUTE, ROUTE_10, MUSIC_ROUTE_3, 0, 0, 3 - map_header Route24, $3, ROUTE, ROUTE_24, MUSIC_ROUTE_3, 0, 0, 3 - map_header Route25, $3, ROUTE, ROUTE_25, MUSIC_ROUTE_3, 0, 0, 3 - map_header CeruleanCity, $3, TOWN, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 0, 0 + map_header CeruleanGymBadgeSpeechHouse, $5, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header CeruleanPoliceStation, $5, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header CeruleanTradeSpeechHouse, $5, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header CeruleanPokeCenter1F, $7, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header CeruleanPokeCenter2FBeta, $7, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header CeruleanGym, $9, INDOOR, CERULEAN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 0 + map_header CeruleanMart, $c, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header Route10PokeCenter1F, $7, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header Route10PokeCenter2FBeta, $7, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header PowerPlant, $b, INDOOR, POWER_PLANT, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header BillsHouse, $5, INDOOR, ROUTE_25, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header Route4, $3, ROUTE, ROUTE_4, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 0 + map_header Route9, $3, ROUTE, ROUTE_9, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3 + map_header Route10North, $3, ROUTE, ROUTE_10, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3 + map_header Route24, $3, ROUTE, ROUTE_24, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3 + map_header Route25, $3, ROUTE, ROUTE_25, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3 + map_header CeruleanCity, $3, TOWN, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 0 MapGroup8: - map_header AzaleaPokeCenter1F, $7, INDOOR, AZALEA_TOWN, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header CharcoalKiln, $5, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, 1, 1 - map_header AzaleaMart, $c, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, 1, 1 - map_header KurtsHouse, $10, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, 1, 1 - map_header AzaleaGym, $f, INDOOR, AZALEA_TOWN, MUSIC_GYM, 1, 1, 1 - map_header Route33, $2, ROUTE, ROUTE_33, MUSIC_ROUTE_30, 0, 0, 1 - map_header AzaleaTown, $2, TOWN, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, 0, 1 + map_header AzaleaPokeCenter1F, $7, INDOOR, AZALEA_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header CharcoalKiln, $5, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 + map_header AzaleaMart, $c, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 + map_header KurtsHouse, $10, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 + map_header AzaleaGym, $f, INDOOR, AZALEA_TOWN, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header Route33, $2, ROUTE, ROUTE_33, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 1 + map_header AzaleaTown, $2, TOWN, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_AUTO, 1 MapGroup9: - map_header LakeofRageHiddenPowerHouse, $5, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, 1, 1 - map_header LakeofRageMagikarpHouse, $5, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, 1, 1 - map_header Route43MahoganyGate, $8, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, 1, 1 - map_header Route43Gate, $8, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, 1, 1 - map_header Route43, $1, ROUTE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, 0, 4 - map_header LakeofRage, $1, TOWN, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, 0, 8 + map_header LakeofRageHiddenPowerHouse, $5, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1 + map_header LakeofRageMagikarpHouse, $5, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1 + map_header Route43MahoganyGate, $8, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1 + map_header Route43Gate, $8, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, 1 + map_header Route43, $1, ROUTE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 4 + map_header LakeofRage, $1, TOWN, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, 8 MapGroup10: - map_header Route32, $1, ROUTE, ROUTE_32, MUSIC_ROUTE_30, 0, 0, 11 - map_header Route35, $1, ROUTE, ROUTE_35, MUSIC_ROUTE_36, 0, 0, 4 - map_header Route36, $1, ROUTE, ROUTE_36, MUSIC_ROUTE_36, 0, 0, 1 - map_header Route37, $1, ROUTE, ROUTE_37, MUSIC_ROUTE_36, 0, 0, 1 - map_header VioletCity, $1, TOWN, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, 0, 4 - map_header VioletMart, $c, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header VioletGym, $f, INDOOR, VIOLET_CITY, MUSIC_GYM, 1, 1, 1 - map_header EarlsPokemonAcademy, $a, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header VioletNicknameSpeechHouse, $10, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header VioletPokeCenter1F, $7, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header VioletOnixTradeHouse, $10, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header Route32RuinsofAlphGate, $8, GATE, ROUTE_32, MUSIC_ROUTE_30, 0, 1, 1 - map_header Route32PokeCenter1F, $7, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header Route35Goldenrodgate, $8, GATE, ROUTE_35, MUSIC_ROUTE_36, 0, 1, 1 - map_header Route35NationalParkgate, $8, INDOOR, ROUTE_35, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header Route36RuinsofAlphgate, $8, GATE, ROUTE_36, MUSIC_ROUTE_36, 0, 1, 1 - map_header Route36NationalParkgate, $8, INDOOR, ROUTE_36, MUSIC_GOLDENROD_CITY, 0, 1, 1 + map_header Route32, $1, ROUTE, ROUTE_32, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 11 + map_header Route35, $1, ROUTE, ROUTE_35, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 4 + map_header Route36, $1, ROUTE, ROUTE_36, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1 + map_header Route37, $1, ROUTE, ROUTE_37, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1 + map_header VioletCity, $1, TOWN, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, 4 + map_header VioletMart, $c, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header VioletGym, $f, INDOOR, VIOLET_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header EarlsPokemonAcademy, $a, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header VioletNicknameSpeechHouse, $10, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header VioletPokeCenter1F, $7, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header VioletOnixTradeHouse, $10, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header Route32RuinsofAlphGate, $8, GATE, ROUTE_32, MUSIC_ROUTE_30, 0, PALETTE_DAY, 1 + map_header Route32PokeCenter1F, $7, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header Route35Goldenrodgate, $8, GATE, ROUTE_35, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1 + map_header Route35NationalParkgate, $8, INDOOR, ROUTE_35, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header Route36RuinsofAlphgate, $8, GATE, ROUTE_36, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1 + map_header Route36NationalParkgate, $8, INDOOR, ROUTE_36, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 MapGroup11: - map_header Route34, $2, ROUTE, ROUTE_34, MUSIC_ROUTE_36, 0, 0, 1 - map_header GoldenrodCity, $2, TOWN, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 0, 1 - map_header GoldenrodGym, $f, INDOOR, GOLDENROD_CITY, MUSIC_GYM, 1, 1, 1 - map_header GoldenrodBikeShop, $12, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodHappinessRater, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodBillsHouse, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodMagnetTrainStation, $11, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodFlowerShop, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodPPSpeechHouse, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodNameRatersHouse, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodDeptStore1F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodDeptStore2F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodDeptStore3F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodDeptStore4F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodDeptStore5F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodDeptStore6F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodDeptStoreElevator, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodDeptStoreRoof, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, 1, 1 - map_header GoldenrodGameCorner, $e, INDOOR, GOLDENROD_CITY, MUSIC_GAME_CORNER, 0, 1, 1 - map_header GoldenrodPokeCenter1F, $7, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header GoldenrodPokeComCenter2FMobile, $15, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header IlexForestAzaleaGate, $8, GATE, ROUTE_34, MUSIC_ROUTE_36, 0, 1, 1 - map_header Route34IlexForestGate, $8, GATE, ROUTE_34, MUSIC_ROUTE_36, 0, 1, 1 - map_header DayCare, $5, INDOOR, ROUTE_34, MUSIC_AZALEA_TOWN, 0, 1, 1 + map_header Route34, $2, ROUTE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1 + map_header GoldenrodCity, $2, TOWN, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_AUTO, 1 + map_header GoldenrodGym, $f, INDOOR, GOLDENROD_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header GoldenrodBikeShop, $12, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodHappinessRater, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodBillsHouse, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodMagnetTrainStation, $11, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodFlowerShop, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodPPSpeechHouse, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodNameRatersHouse, $5, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodDeptStore1F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodDeptStore2F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodDeptStore3F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodDeptStore4F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodDeptStore5F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodDeptStore6F, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodDeptStoreElevator, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodDeptStoreRoof, $c, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, 1 + map_header GoldenrodGameCorner, $e, INDOOR, GOLDENROD_CITY, MUSIC_GAME_CORNER, 0, PALETTE_DAY, 1 + map_header GoldenrodPokeCenter1F, $7, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header GoldenrodPokeComCenter2FMobile, $15, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header IlexForestAzaleaGate, $8, GATE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1 + map_header Route34IlexForestGate, $8, GATE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1 + map_header DayCare, $5, INDOOR, ROUTE_34, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 MapGroup12: - map_header Route6, $3, ROUTE, ROUTE_6, MUSIC_ROUTE_3, 0, 0, 4 - map_header Route11, $3, ROUTE, ROUTE_11, MUSIC_ROUTE_12, 0, 0, 1 - map_header VermilionCity, $3, TOWN, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 0, 2 - map_header VermilionHouseFishingSpeechHouse, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 1, 1 - map_header VermilionPokeCenter1F, $7, INDOOR, VERMILION_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header VermilionPokeCenter2FBeta, $7, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 1, 1 - map_header PokemonFanClub, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 1, 1 - map_header VermilionMagnetTrainSpeechHouse, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 1, 1 - map_header VermilionMart, $c, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 1, 1 - map_header VermilionHouseDiglettsCaveSpeechHouse, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 1, 1 - map_header VermilionGym, $e, INDOOR, VERMILION_CITY, MUSIC_GYM, 1, 1, 1 - map_header Route6SaffronGate, $8, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, 1, 1 - map_header Route6UndergroundEntrance, $8, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, 1, 1 + map_header Route6, $3, ROUTE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 4 + map_header Route11, $3, ROUTE, ROUTE_11, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 1 + map_header VermilionCity, $3, TOWN, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_AUTO, 2 + map_header VermilionHouseFishingSpeechHouse, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1 + map_header VermilionPokeCenter1F, $7, INDOOR, VERMILION_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header VermilionPokeCenter2FBeta, $7, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1 + map_header PokemonFanClub, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1 + map_header VermilionMagnetTrainSpeechHouse, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1 + map_header VermilionMart, $c, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1 + map_header VermilionHouseDiglettsCaveSpeechHouse, $5, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1 + map_header VermilionGym, $e, INDOOR, VERMILION_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header Route6SaffronGate, $8, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1 + map_header Route6UndergroundEntrance, $8, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1 MapGroup13: - map_header Route1, $3, ROUTE, ROUTE_1, MUSIC_ROUTE_1, 0, 0, 1 - map_header PalletTown, $3, TOWN, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, 0, 2 - map_header RedsHouse1F, $6, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, 1, 1 - map_header RedsHouse2F, $6, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, 1, 1 - map_header BluesHouse, $5, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, 1, 1 - map_header OaksLab, $a, INDOOR, PALLET_TOWN, MUSIC_POKEMON_TALK, 0, 1, 1 + map_header Route1, $3, ROUTE, ROUTE_1, MUSIC_ROUTE_1, 0, PALETTE_AUTO, 1 + map_header PalletTown, $3, TOWN, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_AUTO, 2 + map_header RedsHouse1F, $6, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, 1 + map_header RedsHouse2F, $6, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, 1 + map_header BluesHouse, $5, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, 1 + map_header OaksLab, $a, INDOOR, PALLET_TOWN, MUSIC_POKEMON_TALK, 0, PALETTE_DAY, 1 MapGroup14: - map_header Route3, $3, ROUTE, ROUTE_3, MUSIC_ROUTE_3, 0, 0, 1 - map_header PewterCity, $3, TOWN, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, 0, 1 - map_header PewterNidoranSpeechHouse, $5, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header PewterGym, $17, INDOOR, PEWTER_CITY, MUSIC_GYM, 1, 1, 1 - map_header PewterMart, $c, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header PewterPokeCenter1F, $7, INDOOR, PEWTER_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header PewterPokeCEnter2FBeta, $7, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header PewterSnoozeSpeechHouse, $5, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 + map_header Route3, $3, ROUTE, ROUTE_3, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1 + map_header PewterCity, $3, TOWN, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 1 + map_header PewterNidoranSpeechHouse, $5, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header PewterGym, $17, INDOOR, PEWTER_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header PewterMart, $c, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header PewterPokeCenter1F, $7, INDOOR, PEWTER_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header PewterPokeCEnter2FBeta, $7, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header PewterSnoozeSpeechHouse, $5, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 MapGroup15: - map_header OlivinePort, $9, ROUTE, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 0, 2 - map_header VermilionPort, $9, ROUTE, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 0, 2 - map_header FastShip1F, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, 1, 1 - map_header FastShipCabins_NNW_NNE_NE, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, 1, 1 - map_header FastShipCabins_SW_SSW_NW, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, 1, 1 - map_header FastShipCabins_SE_SSE_CaptainsCabin, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, 1, 1 - map_header FastShipB1F, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, 1, 1 - map_header OlivinePortPassage, $1c, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, 1, 1 - map_header VermilionPortPassage, $1c, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, 1, 1 - map_header MountMoonSquare, $3, ROUTE, MT_MOON, MUSIC_MT_MOON_SQUARE, 0, 0, 1 - map_header MountMoonGiftShop, $10, INDOOR, MT_MOON, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header TinTowerRoof, $17, ROUTE, TIN_TOWER, MUSIC_TIN_TOWER, 0, 0, 1 + map_header OlivinePort, $9, ROUTE, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, 2 + map_header VermilionPort, $9, ROUTE, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_AUTO, 2 + map_header FastShip1F, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1 + map_header FastShipCabins_NNW_NNE_NE, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1 + map_header FastShipCabins_SW_SSW_NW, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1 + map_header FastShipCabins_SE_SSE_CaptainsCabin, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1 + map_header FastShipB1F, $13, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, 1 + map_header OlivinePortPassage, $1c, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, 1 + map_header VermilionPortPassage, $1c, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, 1 + map_header MountMoonSquare, $3, ROUTE, MT_MOON, MUSIC_MT_MOON_SQUARE, 0, PALETTE_AUTO, 1 + map_header MountMoonGiftShop, $10, INDOOR, MT_MOON, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header TinTowerRoof, $17, ROUTE, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_AUTO, 1 MapGroup16: - map_header Route23, $3, TOWN, ROUTE_23, MUSIC_INDIGO_PLATEAU, 0, 0, 1 - map_header IndigoPlateauPokeCenter1F, $7, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 0, 1, 1 - map_header WillsRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, 1, 1 - map_header KogasRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, 1, 1 - map_header BrunosRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, 1, 1 - map_header KarensRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, 1, 1 - map_header LancesRoom, $12, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, 1, 1 - map_header HallOfFame, $1d, INDOOR, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, 1, 1, 1 + map_header Route23, $3, TOWN, ROUTE_23, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, 1 + map_header IndigoPlateauPokeCenter1F, $7, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 0, PALETTE_DAY, 1 + map_header WillsRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1 + map_header KogasRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1 + map_header BrunosRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1 + map_header KarensRoom, $f, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1 + map_header LancesRoom, $12, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, 1 + map_header HallOfFame, $1d, INDOOR, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, 1, PALETTE_DAY, 1 MapGroup17: - map_header Route13, $3, ROUTE, ROUTE_13, MUSIC_ROUTE_12, 0, 0, 13 - map_header Route14, $3, ROUTE, ROUTE_14, MUSIC_ROUTE_12, 0, 0, 1 - map_header Route15, $3, ROUTE, ROUTE_15, MUSIC_ROUTE_12, 0, 0, 1 - map_header Route18, $3, ROUTE, ROUTE_18, MUSIC_ROUTE_3, 0, 0, 1 - map_header FuchsiaCity, $3, TOWN, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, 0, 8 - map_header FuchsiaMart, $c, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header SafariZoneMainOffice, $e, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header FuchsiaGym, $a, INDOOR, FUCHSIA_CITY, MUSIC_GYM, 1, 1, 1 - map_header FuchsiaBillSpeechHouse, $5, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header FuchsiaPokeCenter1F, $7, INDOOR, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header FuchsiaPokeCenter2FBeta, $7, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header SafariZoneWardensHome, $5, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header Route15FuchsiaGate, $8, GATE, ROUTE_15, MUSIC_ROUTE_12, 0, 1, 1 + map_header Route13, $3, ROUTE, ROUTE_13, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 13 + map_header Route14, $3, ROUTE, ROUTE_14, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 1 + map_header Route15, $3, ROUTE, ROUTE_15, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 1 + map_header Route18, $3, ROUTE, ROUTE_18, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1 + map_header FuchsiaCity, $3, TOWN, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_AUTO, 8 + map_header FuchsiaMart, $c, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header SafariZoneMainOffice, $e, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header FuchsiaGym, $a, INDOOR, FUCHSIA_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header FuchsiaBillSpeechHouse, $5, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header FuchsiaPokeCenter1F, $7, INDOOR, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header FuchsiaPokeCenter2FBeta, $7, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header SafariZoneWardensHome, $5, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header Route15FuchsiaGate, $8, GATE, ROUTE_15, MUSIC_ROUTE_12, 0, PALETTE_DAY, 1 MapGroup18: - map_header Route8, $3, ROUTE, ROUTE_8, MUSIC_ROUTE_3, 0, 0, 1 - map_header Route12, $3, ROUTE, ROUTE_12, MUSIC_ROUTE_12, 0, 0, 13 - map_header Route10South, $3, ROUTE, ROUTE_10, MUSIC_ROUTE_3, 0, 0, 3 - map_header LavenderTown, $3, TOWN, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, 0, 1 - map_header LavenderPokeCenter1F, $7, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header LavenderPokeCenter2FBeta, $7, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header MrFujisHouse, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, 1, 1 - map_header LavenderTownSpeechHouse, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, 1, 1 - map_header LavenderNameRater, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, 1, 1 - map_header LavenderMart, $c, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, 1, 1 - map_header SoulHouse, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, 1, 1 - map_header LavRadioTower1F, $1b, INDOOR, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, 0, 1, 1 - map_header Route8SaffronGate, $8, GATE, ROUTE_8, MUSIC_ROUTE_3, 0, 1, 1 - map_header Route12SuperRodHouse, $5, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, 0, 1, 1 + map_header Route8, $3, ROUTE, ROUTE_8, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1 + map_header Route12, $3, ROUTE, ROUTE_12, MUSIC_ROUTE_12, 0, PALETTE_AUTO, 13 + map_header Route10South, $3, ROUTE, ROUTE_10, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 3 + map_header LavenderTown, $3, TOWN, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_AUTO, 1 + map_header LavenderPokeCenter1F, $7, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header LavenderPokeCenter2FBeta, $7, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header MrFujisHouse, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1 + map_header LavenderTownSpeechHouse, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1 + map_header LavenderNameRater, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1 + map_header LavenderMart, $c, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1 + map_header SoulHouse, $5, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1 + map_header LavRadioTower1F, $1b, INDOOR, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, 1 + map_header Route8SaffronGate, $8, GATE, ROUTE_8, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1 + map_header Route12SuperRodHouse, $5, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 MapGroup19: - map_header Route28, $3, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, 0, 0, 4 - map_header SilverCaveOutside, $3, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, 0, 0, 4 - map_header SilverCavePokeCenter1F, $7, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header Route28FamousSpeechHouse, $5, INDOOR, ROUTE_28, MUSIC_AZALEA_TOWN, 0, 1, 1 + map_header Route28, $3, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, 4 + map_header SilverCaveOutside, $3, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, 4 + map_header SilverCavePokeCenter1F, $7, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header Route28FamousSpeechHouse, $5, INDOOR, ROUTE_28, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 MapGroup20: - map_header PokeCenter2F, $7, INDOOR, SPECIAL_MAP, MUSIC_POKEMON_CENTER, 1, 1, 1 - map_header TradeCenter, $8, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, 1, 1 - map_header Colosseum, $8, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, 1, 1 - map_header TimeCapsule, $8, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, 1, 1 - map_header MobileTradeRoomMobile, $d, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, 1, 1 - map_header MobileBattleRoom, $d, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, 1, 1 + map_header PokeCenter2F, $7, INDOOR, SPECIAL_MAP, MUSIC_POKEMON_CENTER, 1, PALETTE_DAY, 1 + map_header TradeCenter, $8, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1 + map_header Colosseum, $8, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1 + map_header TimeCapsule, $8, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1 + map_header MobileTradeRoomMobile, $d, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1 + map_header MobileBattleRoom, $d, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, 1 MapGroup21: - map_header Route7, $3, ROUTE, ROUTE_7, MUSIC_ROUTE_3, 0, 0, 1 - map_header Route16, $3, ROUTE, ROUTE_16, MUSIC_ROUTE_3, 0, 0, 1 - map_header Route17, $3, ROUTE, ROUTE_17, MUSIC_ROUTE_3, 0, 0, 0 - map_header CeladonCity, $3, TOWN, CELADON_CITY, MUSIC_CELADON_CITY, 0, 0, 0 - map_header CeladonDeptStore1F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonDeptStore2F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonDeptStore3F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonDeptStore4F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonDeptStore5F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonDeptStore6F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonDeptStoreElevator, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonMansion1F, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonMansion2F, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonMansion3F, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonMansionRoof, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonMansionRoofHouse, $5, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonPokeCenter1F, $7, INDOOR, CELADON_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header CeladonPokeCenter2FBeta, $7, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonGameCorner, $e, INDOOR, CELADON_CITY, MUSIC_GAME_CORNER, 0, 1, 1 - map_header CeladonGameCornerPrizeRoom, $e, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header CeladonGym, $11, INDOOR, CELADON_CITY, MUSIC_GYM, 1, 1, 1 - map_header CeladonCafe, $e, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, 1, 1 - map_header Route16FuchsiaSpeechHouse, $5, INDOOR, ROUTE_16, MUSIC_CELADON_CITY, 0, 1, 1 - map_header Route16Gate, $8, GATE, ROUTE_16, MUSIC_ROUTE_3, 0, 1, 1 - map_header Route7SaffronGate, $8, GATE, ROUTE_7, MUSIC_ROUTE_3, 0, 1, 1 - map_header Route1718Gate, $8, GATE, ROUTE_17, MUSIC_ROUTE_3, 0, 1, 1 + map_header Route7, $3, ROUTE, ROUTE_7, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1 + map_header Route16, $3, ROUTE, ROUTE_16, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1 + map_header Route17, $3, ROUTE, ROUTE_17, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 0 + map_header CeladonCity, $3, TOWN, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_AUTO, 0 + map_header CeladonDeptStore1F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonDeptStore2F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonDeptStore3F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonDeptStore4F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonDeptStore5F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonDeptStore6F, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonDeptStoreElevator, $c, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonMansion1F, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonMansion2F, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonMansion3F, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonMansionRoof, $d, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonMansionRoofHouse, $5, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonPokeCenter1F, $7, INDOOR, CELADON_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header CeladonPokeCenter2FBeta, $7, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonGameCorner, $e, INDOOR, CELADON_CITY, MUSIC_GAME_CORNER, 0, PALETTE_DAY, 1 + map_header CeladonGameCornerPrizeRoom, $e, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header CeladonGym, $11, INDOOR, CELADON_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header CeladonCafe, $e, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header Route16FuchsiaSpeechHouse, $5, INDOOR, ROUTE_16, MUSIC_CELADON_CITY, 0, PALETTE_DAY, 1 + map_header Route16Gate, $8, GATE, ROUTE_16, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1 + map_header Route7SaffronGate, $8, GATE, ROUTE_7, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1 + map_header Route1718Gate, $8, GATE, ROUTE_17, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1 MapGroup22: - map_header Route40, $1, ROUTE, ROUTE_40, MUSIC_ROUTE_36, 0, 0, 1 - map_header Route41, $1, ROUTE, ROUTE_41, MUSIC_ROUTE_36, 0, 0, 2 - map_header CianwoodCity, $1, TOWN, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, 0, 1 - map_header ManiasHouse, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, 1, 1 - map_header CianwoodGym, $17, INDOOR, CIANWOOD_CITY, MUSIC_GYM, 1, 1, 1 - map_header CianwoodPokeCenter1F, $7, INDOOR, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header CianwoodPharmacy, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, 1, 1 - map_header CianwoodCityPhotoStudio, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, 1, 1 - map_header CianwoodLugiaSpeechHouse, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, 1, 1 - map_header PokeSeersHouse, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, 1, 1 - map_header BattleTower1F, $16, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, 1, 1, 1 - map_header BattleTowerBattleRoom, $16, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 1, 1, 1 - map_header BattleTowerElevator, $16, INDOOR, BATTLE_TOWER, MUSIC_NONE, 1, 1, 1 - map_header BattleTowerHallway, $16, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 1, 1, 1 - map_header Route40BattleTowerGate, $8, GATE, BATTLE_TOWER, MUSIC_ROUTE_36, 0, 1, 1 - map_header BattleTowerOutside, $4, ROUTE, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 0, 0, 1 + map_header Route40, $1, ROUTE, ROUTE_40, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 1 + map_header Route41, $1, ROUTE, ROUTE_41, MUSIC_ROUTE_36, 0, PALETTE_AUTO, 2 + map_header CianwoodCity, $1, TOWN, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_AUTO, 1 + map_header ManiasHouse, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1 + map_header CianwoodGym, $17, INDOOR, CIANWOOD_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header CianwoodPokeCenter1F, $7, INDOOR, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header CianwoodPharmacy, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1 + map_header CianwoodCityPhotoStudio, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1 + map_header CianwoodLugiaSpeechHouse, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1 + map_header PokeSeersHouse, $5, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, 1 + map_header BattleTower1F, $16, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, 1, PALETTE_DAY, 1 + map_header BattleTowerBattleRoom, $16, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 1, PALETTE_DAY, 1 + map_header BattleTowerElevator, $16, INDOOR, BATTLE_TOWER, MUSIC_NONE, 1, PALETTE_DAY, 1 + map_header BattleTowerHallway, $16, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 1, PALETTE_DAY, 1 + map_header Route40BattleTowerGate, $8, GATE, BATTLE_TOWER, MUSIC_ROUTE_36, 0, PALETTE_DAY, 1 + map_header BattleTowerOutside, $4, ROUTE, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 0, PALETTE_AUTO, 1 MapGroup23: - map_header Route2, $3, ROUTE, ROUTE_2, MUSIC_ROUTE_2, 0, 0, 1 - map_header Route22, $3, ROUTE, ROUTE_22, MUSIC_ROUTE_3, 0, 0, 4 - map_header ViridianCity, $3, TOWN, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 0, 4 - map_header ViridianGym, $11, INDOOR, VIRIDIAN_CITY, MUSIC_GYM, 1, 1, 1 - map_header ViridianNicknameSpeechHouse, $5, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header TrainerHouse1F, $5, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header TrainerHouseB1F, $b, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header ViridianMart, $c, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header ViridianPokeCenter1F, $7, INDOOR, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header ViridianPokeCenter2FBeta, $7, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header Route2NuggetSpeechHouse, $5, INDOOR, ROUTE_2, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header Route2Gate, $8, GATE, ROUTE_2, MUSIC_ROUTE_2, 0, 1, 1 - map_header VictoryRoadGate, $8, GATE, ROUTE_26, MUSIC_INDIGO_PLATEAU, 0, 1, 1 + map_header Route2, $3, ROUTE, ROUTE_2, MUSIC_ROUTE_2, 0, PALETTE_AUTO, 1 + map_header Route22, $3, ROUTE, ROUTE_22, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 4 + map_header ViridianCity, $3, TOWN, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 4 + map_header ViridianGym, $11, INDOOR, VIRIDIAN_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header ViridianNicknameSpeechHouse, $5, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header TrainerHouse1F, $5, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header TrainerHouseB1F, $b, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header ViridianMart, $c, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header ViridianPokeCenter1F, $7, INDOOR, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header ViridianPokeCenter2FBeta, $7, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header Route2NuggetSpeechHouse, $5, INDOOR, ROUTE_2, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header Route2Gate, $8, GATE, ROUTE_2, MUSIC_ROUTE_2, 0, PALETTE_DAY, 1 + map_header VictoryRoadGate, $8, GATE, ROUTE_26, MUSIC_INDIGO_PLATEAU, 0, PALETTE_DAY, 1 MapGroup24: - map_header Route26, $1, ROUTE, ROUTE_26, MUSIC_ROUTE_26, 0, 0, 2 - map_header Route27, $1, ROUTE, ROUTE_27, MUSIC_ROUTE_26, 0, 0, 2 - map_header Route29, $1, ROUTE, ROUTE_29, MUSIC_ROUTE_29, 0, 0, 1 - map_header NewBarkTown, $1, TOWN, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, 0, 2 - map_header ElmsLab, $a, INDOOR, NEW_BARK_TOWN, MUSIC_PROF_ELM, 0, 1, 1 - map_header KrissHouse1F, $6, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, 1, 1 - map_header KrissHouse2F, $14, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, 1, 1 - map_header KrissNeighborsHouse, $5, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, 1, 1 - map_header ElmsHouse, $6, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, 1, 1 - map_header Route26HealSpeechHouse, $5, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, 0, 1, 1 - map_header Route26DayofWeekSiblingsHouse, $5, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, 0, 1, 1 - map_header Route27SandstormHouse, $5, INDOOR, ROUTE_27, MUSIC_AZALEA_TOWN, 0, 1, 1 - map_header Route2946Gate, $8, GATE, ROUTE_29, MUSIC_ROUTE_29, 0, 1, 1 + map_header Route26, $1, ROUTE, ROUTE_26, MUSIC_ROUTE_26, 0, PALETTE_AUTO, 2 + map_header Route27, $1, ROUTE, ROUTE_27, MUSIC_ROUTE_26, 0, PALETTE_AUTO, 2 + map_header Route29, $1, ROUTE, ROUTE_29, MUSIC_ROUTE_29, 0, PALETTE_AUTO, 1 + map_header NewBarkTown, $1, TOWN, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_AUTO, 2 + map_header ElmsLab, $a, INDOOR, NEW_BARK_TOWN, MUSIC_PROF_ELM, 0, PALETTE_DAY, 1 + map_header KrissHouse1F, $6, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1 + map_header KrissHouse2F, $14, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1 + map_header KrissNeighborsHouse, $5, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1 + map_header ElmsHouse, $6, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, 1 + map_header Route26HealSpeechHouse, $5, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 + map_header Route26DayofWeekSiblingsHouse, $5, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 + map_header Route27SandstormHouse, $5, INDOOR, ROUTE_27, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, 1 + map_header Route2946Gate, $8, GATE, ROUTE_29, MUSIC_ROUTE_29, 0, PALETTE_DAY, 1 MapGroup25: - map_header Route5, $3, ROUTE, ROUTE_5, MUSIC_ROUTE_3, 0, 0, 1 - map_header SaffronCity, $3, TOWN, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, 0, 1 - map_header FightingDojo, $11, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header SaffronGym, $1c, INDOOR, SAFFRON_CITY, MUSIC_GYM, 1, 1, 1 - map_header SaffronMart, $c, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header SaffronPokeCenter1F, $7, INDOOR, SAFFRON_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header SaffronPokeCenter2FBeta, $7, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header MrPsychicsHouse, $5, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header SaffronTrainStation, $11, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header SilphCo1F, $b, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header CopycatsHouse1F, $6, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header CopycatsHouse2F, $6, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header Route5UndergroundEntrance, $8, GATE, ROUTE_5, MUSIC_ROUTE_3, 0, 1, 1 - map_header Route5SaffronCityGate, $8, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, 1, 1 - map_header Route5CleanseTagSpeechHouse, $5, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, 1, 1 + map_header Route5, $3, ROUTE, ROUTE_5, MUSIC_ROUTE_3, 0, PALETTE_AUTO, 1 + map_header SaffronCity, $3, TOWN, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, 1 + map_header FightingDojo, $11, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header SaffronGym, $1c, INDOOR, SAFFRON_CITY, MUSIC_GYM, 1, PALETTE_DAY, 1 + map_header SaffronMart, $c, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header SaffronPokeCenter1F, $7, INDOOR, SAFFRON_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header SaffronPokeCenter2FBeta, $7, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header MrPsychicsHouse, $5, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header SaffronTrainStation, $11, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header SilphCo1F, $b, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header CopycatsHouse1F, $6, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header CopycatsHouse2F, $6, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header Route5UndergroundEntrance, $8, GATE, ROUTE_5, MUSIC_ROUTE_3, 0, PALETTE_DAY, 1 + map_header Route5SaffronCityGate, $8, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 + map_header Route5CleanseTagSpeechHouse, $5, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, 1 MapGroup26: - map_header Route30, $1, ROUTE, ROUTE_30, MUSIC_ROUTE_30, 0, 0, 4 - map_header Route31, $1, ROUTE, ROUTE_31, MUSIC_ROUTE_30, 0, 0, 4 - map_header CherrygroveCity, $1, TOWN, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, 0, 1 - map_header CherrygroveMart, $c, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, 1, 1 - map_header CherrygrovePokeCenter1F, $7, INDOOR, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, 0, 1, 1 - map_header CherrygroveGymSpeechHouse, $5, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, 1, 1 - map_header GuideGentsHouse, $5, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, 1, 1 - map_header CherrygroveEvolutionSpeechHouse, $5, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, 1, 1 - map_header Route30BerrySpeechHouse, $5, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 0, 1, 1 - map_header MrPokemonsHouse, $b, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 0, 1, 1 - map_header Route31VioletGate, $8, GATE, ROUTE_31, MUSIC_ROUTE_30, 0, 1, 1 + map_header Route30, $1, ROUTE, ROUTE_30, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 4 + map_header Route31, $1, ROUTE, ROUTE_31, MUSIC_ROUTE_30, 0, PALETTE_AUTO, 4 + map_header CherrygroveCity, $1, TOWN, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_AUTO, 1 + map_header CherrygroveMart, $c, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1 + map_header CherrygrovePokeCenter1F, $7, INDOOR, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, 1 + map_header CherrygroveGymSpeechHouse, $5, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1 + map_header GuideGentsHouse, $5, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1 + map_header CherrygroveEvolutionSpeechHouse, $5, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1 + map_header Route30BerrySpeechHouse, $5, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1 + map_header MrPokemonsHouse, $b, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, 1 + map_header Route31VioletGate, $8, GATE, ROUTE_31, MUSIC_ROUTE_30, 0, PALETTE_DAY, 1 diff --git a/sram.asm b/sram.asm new file mode 100644 index 000000000..ce62cc240 --- /dev/null +++ b/sram.asm @@ -0,0 +1,136 @@ +SECTION "Scratch", SRAM, BANK [0] + +sScratch:: + + +SECTION "SRAM Bank 0", SRAM [$a600], BANK [0] + +s0_a600:: ds $11a +s0_a71a:: ds $11a +s0_a834:: ds $1d7 +s0_aa0b:: ds $1d7 + +sMysteryGiftItem:: ds 1 +s0_abe3:: ds 1 +s0_abe4:: ds 1 +s0_abe5:: ds 1 +s0_abe6:: ds 10 +s0_abf0:: ds 10 +s0_abfa:: ds 2 + ds 1 +sMysteryGiftTrainerHouseFlag:: ds 1 +s0_abfe:: ds 12 +sMysteryGiftTrainer:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 1 + ds 1 +s0_abe4End:: + + ds $30 + +s0_ac60:: ds 8 +s0_ac68:: ds 1 +s0_ac69:: ds 1 +s0_ac6a:: ds 1 + + ds $b200 - $ac6b + +sBackupOptions:: ds OptionsEnd - Options + +s0_b208:: ds 1 + +sBackupGameData:: +sBackupPlayerData:: ds wPlayerDataEnd - wPlayerData +sBackupMapData:: ds wMapDataEnd - wMapData +sBackupPokemonData:: ds wPokemonDataEnd - wPokemonData +sBackupGameDataEnd:: + +; bd83 + ds $18a +; bf0d + +sBackupChecksum:: ds 2 +s0_bf0f:: ds 1 +sStackTop:: ds 2 + + +SECTION "SRAM Bank 1", SRAM, BANK [1] + +sOptions:: ds OptionsEnd - Options + +s1_a008:: ds 1 + +sGameData:: +sPlayerData:: ds wPlayerDataEnd - wPlayerData +sMapData:: ds wMapDataEnd - wMapData +sPokemonData:: ds wPokemonDataEnd - wPokemonData +sGameDataEnd:: + +; ab83 + ds $18a +; ad0d + +sChecksum:: ds 2 +s1_ad0f:: ds 1 + +; ad10 + box sBox +; b160 + + ds $100 + +sLinkBattleStats:: ; b260 +sLinkBattleWins:: ds 2 +sLinkBattleLosses:: ds 2 +sLinkBattleDraws:: ds 2 + ds $5a +sLinkBattleStatsEnd:: + +sHallOfFame:: ; b2c0 + ds HOF_LENGTH * NUM_HOF_TEAMS +sHallOfFameEnd:: + +s1_be3c:: ds 1 + +sCrystalData:: + ds wCrystalDataEnd - wCrystalData +s1_be44:: ds 1 +s1_be45:: ds 1 + +; data of the BattleTower must be in SRAM because you can save and leave between battles +sBattleTower:: ; be46 +sNrOfBeatenBattleTowerTrainers:: +sbe46:: ds 1 +sbe47:: ds 1 +; The 7 trainers of the BattleTower are saved here, so nobody appears more than once +sBTTrainers:: ; sbe48 + ds 7 +sbe4f:: ds 1 +sbe50:: ds 1 +; Pkmn of previous trainer +sBTPkmnOfTrainers:: ; 0xbe51 +sBTPkmnPrevTrainer1:: + ds 1 +sBTPkmnPrevTrainer2:: ds 1 +sBTPkmnPrevTrainer3:: ds 1 +; Pkmn of preprevious trainer +sBTPkmnPrevPrevTrainer1:: ds 1 +sBTPkmnPrevPrevTrainer2:: ds 1 +sBTPkmnPrevPrevTrainer3:: ds 1 + + +SECTION "Boxes 1-7", SRAM, BANK [2] + box sBox1 + box sBox2 + box sBox3 + box sBox4 + box sBox5 + box sBox6 + box sBox7 + +SECTION "Boxes 8-14", SRAM, BANK [3] + box sBox8 + box sBox9 + box sBox10 + box sBox11 + box sBox12 + box sBox13 + box sBox14 diff --git a/wram.asm b/wram.asm index d8ec0b595..e862e3938 100644 --- a/wram.asm +++ b/wram.asm @@ -129,8 +129,6 @@ channel_struct: MACRO ds 1 ; c132 ENDM - - SECTION "CHR0", VRAM [$8000], BANK [0] VTiles0:: SECTION "CHR1", VRAM [$8800], BANK [0] @@ -2726,140 +2724,4 @@ SECTION "WRAM 6", WRAMX, BANK [6] w6_d000:: ds $600 w6_d600:: ds $600 - -SECTION "Scratch", SRAM, BANK [0] - -sScratch:: - - -SECTION "SRAM Bank 0", SRAM [$a600], BANK [0] - -s0_a600:: ds $11a -s0_a71a:: ds $11a -s0_a834:: ds $1d7 -s0_aa0b:: ds $1d7 - -s0_abe2:: ds 1 -s0_abe3:: ds 1 -s0_abe4:: ds 1 -s0_abe5:: ds 1 -s0_abe6:: ds 10 -s0_abf0:: ds 10 -s0_abfa:: ds 2 - ds 1 -s0_abfd:: ds 1 -s0_abfe:: ds 12 -sMysteryGiftTrainer:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 1 - ds 1 -s0_abe4End:: - - ds $30 - -s0_ac60:: ds 8 -s0_ac68:: ds 1 -s0_ac69:: ds 1 -s0_ac6a:: ds 1 - - ds $b200 - $ac6b - -sBackupOptions:: ds OptionsEnd - Options - -s0_b208:: ds 1 - -sBackupGameData:: -sBackupPlayerData:: ds wPlayerDataEnd - wPlayerData -sBackupMapData:: ds wMapDataEnd - wMapData -sBackupPokemonData:: ds wPokemonDataEnd - wPokemonData -sBackupGameDataEnd:: - -; bd83 - ds $18a -; bf0d - -sBackupChecksum:: ds 2 -s0_bf0f:: ds 1 -sStackTop:: ds 2 - - -SECTION "SRAM Bank 1", SRAM, BANK [1] - -sOptions:: ds OptionsEnd - Options - -s1_a008:: ds 1 - -sGameData:: -sPlayerData:: ds wPlayerDataEnd - wPlayerData -sMapData:: ds wMapDataEnd - wMapData -sPokemonData:: ds wPokemonDataEnd - wPokemonData -sGameDataEnd:: - -; ab83 - ds $18a -; ad0d - -sChecksum:: ds 2 -s1_ad0f:: ds 1 - -; ad10 - box sBox -; b160 - - ds $100 - -sLinkBattleStats:: ; b260 -sLinkBattleWins:: ds 2 -sLinkBattleLosses:: ds 2 -sLinkBattleDraws:: ds 2 - ds $5a -sLinkBattleStatsEnd:: - -sHallOfFame:: ; b2c0 - ds HOF_LENGTH * NUM_HOF_TEAMS -sHallOfFameEnd:: - -s1_be3c:: ds 1 - -sCrystalData:: - ds wCrystalDataEnd - wCrystalData -s1_be44:: ds 1 -s1_be45:: ds 1 - -; data of the BattleTower must be in SRAM because you can save and leave between battles -sBattleTower:: ; be46 -sNrOfBeatenBattleTowerTrainers:: -sbe46:: ds 1 -sbe47:: ds 1 -; The 7 trainers of the BattleTower are saved here, so nobody appears more than once -sBTTrainers:: ; sbe48 - ds 7 -sbe4f:: ds 1 -sbe50:: ds 1 -; Pkmn of previous trainer -sBTPkmnOfTrainers:: ; 0xbe51 -sBTPkmnPrevTrainer1:: - ds 1 -sBTPkmnPrevTrainer2:: ds 1 -sBTPkmnPrevTrainer3:: ds 1 -; Pkmn of preprevious trainer -sBTPkmnPrevPrevTrainer1:: ds 1 -sBTPkmnPrevPrevTrainer2:: ds 1 -sBTPkmnPrevPrevTrainer3:: ds 1 - - -SECTION "Boxes 1-7", SRAM, BANK [2] - box sBox1 - box sBox2 - box sBox3 - box sBox4 - box sBox5 - box sBox6 - box sBox7 - -SECTION "Boxes 8-14", SRAM, BANK [3] - box sBox8 - box sBox9 - box sBox10 - box sBox11 - box sBox12 - box sBox13 - box sBox14 +INCLUDE "sram.asm"