From 506a14084e32d7532b8400a6457f46492bbc47ab Mon Sep 17 00:00:00 2001 From: Rangi <35663410+Rangi42@users.noreply.github.com> Date: Tue, 13 Apr 2021 18:24:37 -0400 Subject: [PATCH 001/119] The 'def_trainers' macro checks that trainers' event flag bits are correct (#318) --- macros/scripts/events.asm | 22 ---------------------- macros/scripts/maps.asm | 27 +++++++++++++++++---------- scripts/AgathasRoom.asm | 8 +++++--- scripts/BrunosRoom.asm | 8 +++++--- scripts/CeladonGym.asm | 6 ++++-- scripts/CeruleanCaveB1F.asm | 4 +++- scripts/CeruleanGym.asm | 4 +++- scripts/FightingDojo.asm | 4 +++- scripts/FuchsiaGym.asm | 4 +++- scripts/LancesRoom.asm | 8 +++++--- scripts/LoreleisRoom.asm | 8 +++++--- scripts/MtMoon1F.asm | 4 +++- scripts/MtMoonB2F.asm | 4 +++- scripts/PewterGym.asm | 4 +++- scripts/PokemonMansion1F.asm | 4 +++- scripts/PokemonMansion2F.asm | 4 +++- scripts/PokemonMansion3F.asm | 4 +++- scripts/PokemonMansionB1F.asm | 4 +++- scripts/PokemonTower3F.asm | 4 +++- scripts/PokemonTower4F.asm | 4 +++- scripts/PokemonTower5F.asm | 4 +++- scripts/PokemonTower6F.asm | 4 +++- scripts/PokemonTower7F.asm | 4 +++- scripts/PowerPlant.asm | 8 +++++--- scripts/RockTunnel1F.asm | 4 +++- scripts/RockTunnelB1F.asm | 6 ++++-- scripts/RocketHideoutB1F.asm | 4 +++- scripts/RocketHideoutB2F.asm | 4 +++- scripts/RocketHideoutB3F.asm | 4 +++- scripts/RocketHideoutB4F.asm | 4 +++- scripts/Route10.asm | 4 +++- scripts/Route11.asm | 10 ++++++---- scripts/Route12.asm | 6 ++++-- scripts/Route13.asm | 10 ++++++---- scripts/Route14.asm | 10 ++++++---- scripts/Route15.asm | 10 ++++++---- scripts/Route16.asm | 4 +++- scripts/Route17.asm | 10 ++++++---- scripts/Route18.asm | 4 +++- scripts/Route19.asm | 10 ++++++---- scripts/Route20.asm | 10 ++++++---- scripts/Route21.asm | 8 +++++--- scripts/Route24.asm | 4 +++- scripts/Route25.asm | 8 +++++--- scripts/Route3.asm | 8 +++++--- scripts/Route4.asm | 4 +++- scripts/Route6.asm | 4 +++- scripts/Route8.asm | 8 +++++--- scripts/Route9.asm | 8 +++++--- scripts/SSAnne1FRooms.asm | 4 +++- scripts/SSAnne2FRooms.asm | 4 +++- scripts/SSAnneB1FRooms.asm | 4 +++- scripts/SSAnneBow.asm | 4 +++- scripts/SaffronGym.asm | 6 ++++-- scripts/SeafoamIslandsB4F.asm | 4 ++++ scripts/SilphCo10F.asm | 4 +++- scripts/SilphCo11F.asm | 4 +++- scripts/SilphCo2F.asm | 4 +++- scripts/SilphCo3F.asm | 4 +++- scripts/SilphCo4F.asm | 4 +++- scripts/SilphCo5F.asm | 4 +++- scripts/SilphCo6F.asm | 6 ++++-- scripts/SilphCo7F.asm | 6 ++++-- scripts/SilphCo8F.asm | 4 +++- scripts/SilphCo9F.asm | 4 +++- scripts/VermilionGym.asm | 4 +++- scripts/VictoryRoad1F.asm | 4 +++- scripts/VictoryRoad2F.asm | 4 +++- scripts/VictoryRoad3F.asm | 4 +++- scripts/ViridianForest.asm | 4 +++- scripts/ViridianGym.asm | 8 +++++--- 71 files changed, 274 insertions(+), 149 deletions(-) diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm index f8b52a8e..e55aa00e 100644 --- a/macros/scripts/events.asm +++ b/macros/scripts/events.asm @@ -242,28 +242,6 @@ ResetEvents: MACRO ENDM -;\1 = event index -;\2 = number of bytes away from the base address (optional, for matching the ROM) -dbEventFlagBit: MACRO - IF _NARG > 1 - db ((\1) % 8) + ((\2) * 8) - ELSE - db ((\1) % 8) - ENDC -ENDM - - -;\1 = event index -;\2 = number of bytes away from the base address (optional, for matching the ROM) -dwEventFlagAddress: MACRO - IF _NARG > 1 - dw wEventFlags + ((\1) / 8) - (\2) - ELSE - dw wEventFlags + ((\1) / 8) - ENDC -ENDM - - ;\1 = start ;\2 = end SetEventRange: MACRO diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index a282acba..204098ad 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -92,23 +92,30 @@ warp_to: MACRO ENDM +;\1 first bit offset / first object id +def_trainers: MACRO +IF _NARG == 1 +CURRENT_TRAINER_BIT = \1 +ELSE +CURRENT_TRAINER_BIT = 1 +ENDC +ENDM + ;\1 event flag ;\2 view range ;\3 TextBeforeBattle ;\4 TextAfterBattle ;\5 TextEndBattle trainer: MACRO - IF _NARG > 5 - dbEventFlagBit \1, \2 - db (\3 << 4) - dwEventFlagAddress \1, \2 - SHIFT - ELSE - dbEventFlagBit \1 - db (\2 << 4) - dwEventFlagAddress \1 - ENDC +_ev_bit = \1 % 8 +_cur_bit = CURRENT_TRAINER_BIT % 8 + ASSERT _ev_bit == _cur_bit, \ + "Expected \1 to be bit {d:_cur_bit}, got {d:_ev_bit}" + db CURRENT_TRAINER_BIT + db \2 << 4 + dw wEventFlags + (\1 - CURRENT_TRAINER_BIT) / 8 dw \3, \5, \4, \4 +CURRENT_TRAINER_BIT = CURRENT_TRAINER_BIT + 1 ENDM ;\1 x position diff --git a/scripts/AgathasRoom.asm b/scripts/AgathasRoom.asm index 3c5740e9..abe22a4f 100644 --- a/scripts/AgathasRoom.asm +++ b/scripts/AgathasRoom.asm @@ -1,7 +1,7 @@ AgathasRoom_Script: call AgathaShowOrHideExitBlock call EnableAutoTextBoxDrawing - ld hl, AgathaTrainerHeader0 + ld hl, AgathasRoomTrainerHeaders ld de, AgathasRoom_ScriptPointers ld a, [wAgathasRoomCurScript] call ExecuteCurMapScriptInTable @@ -120,13 +120,15 @@ AgathasRoom_TextPointers: dw AgathaText1 dw AgathaDontRunAwayText -AgathaTrainerHeader0: +AgathasRoomTrainerHeaders: + def_trainers +AgathasRoomTrainerHeader0: trainer EVENT_BEAT_AGATHAS_ROOM_TRAINER_0, 0, AgathaBeforeBattleText, AgathaEndBattleText, AgathaAfterBattleText db -1 ; end AgathaText1: text_asm - ld hl, AgathaTrainerHeader0 + ld hl, AgathasRoomTrainerHeader0 call TalkToTrainer jp TextScriptEnd diff --git a/scripts/BrunosRoom.asm b/scripts/BrunosRoom.asm index 578cbb98..ca8f5418 100644 --- a/scripts/BrunosRoom.asm +++ b/scripts/BrunosRoom.asm @@ -1,7 +1,7 @@ BrunosRoom_Script: call BrunoShowOrHideExitBlock call EnableAutoTextBoxDrawing - ld hl, BrunoTrainerHeader0 + ld hl, BrunosRoomTrainerHeaders ld de, BrunosRoom_ScriptPointers ld a, [wBrunosRoomCurScript] call ExecuteCurMapScriptInTable @@ -117,13 +117,15 @@ BrunosRoom_TextPointers: dw BrunoText1 dw BrunoDontRunAwayText -BrunoTrainerHeader0: +BrunosRoomTrainerHeaders: + def_trainers +BrunosRoomTrainerHeader0: trainer EVENT_BEAT_BRUNOS_ROOM_TRAINER_0, 0, BrunoBeforeBattleText, BrunoEndBattleText, BrunoAfterBattleText db -1 ; end BrunoText1: text_asm - ld hl, BrunoTrainerHeader0 + ld hl, BrunosRoomTrainerHeader0 call TalkToTrainer jp TextScriptEnd diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm index 2b695819..30e4fa35 100644 --- a/scripts/CeladonGym.asm +++ b/scripts/CeladonGym.asm @@ -4,7 +4,7 @@ CeladonGym_Script: res 6, [hl] call nz, .LoadNames call EnableAutoTextBoxDrawing - ld hl, CeladonGymTrainerHeader0 + ld hl, CeladonGymTrainerHeaders ld de, CeladonGym_ScriptPointers ld a, [wCeladonGymCurScript] call ExecuteCurMapScriptInTable @@ -83,6 +83,8 @@ CeladonGym_TextPointers: dw TM21Text dw TM21NoRoomText +CeladonGymTrainerHeaders: + def_trainers 2 CeladonGymTrainerHeader0: trainer EVENT_BEAT_CELADON_GYM_TRAINER_0, 2, CeladonGymBattleText2, CeladonGymEndBattleText2, CeladonGymAfterBattleText2 CeladonGymTrainerHeader1: @@ -96,7 +98,7 @@ CeladonGymTrainerHeader4: CeladonGymTrainerHeader5: trainer EVENT_BEAT_CELADON_GYM_TRAINER_5, 2, CeladonGymBattleText7, CeladonGymEndBattleText7, CeladonGymAfterBattleText7 CeladonGymTrainerHeader6: - trainer EVENT_BEAT_CELADON_GYM_TRAINER_6, 1, 3, CeladonGymBattleText8, CeladonGymEndBattleText8, CeladonGymAfterBattleText8 + trainer EVENT_BEAT_CELADON_GYM_TRAINER_6, 3, CeladonGymBattleText8, CeladonGymEndBattleText8, CeladonGymAfterBattleText8 db -1 ; end CeladonGymText1: diff --git a/scripts/CeruleanCaveB1F.asm b/scripts/CeruleanCaveB1F.asm index 621815b0..0c0ce766 100644 --- a/scripts/CeruleanCaveB1F.asm +++ b/scripts/CeruleanCaveB1F.asm @@ -1,6 +1,6 @@ CeruleanCaveB1F_Script: call EnableAutoTextBoxDrawing - ld hl, MewtwoTrainerHeader + ld hl, CeruleanCaveB1FTrainerHeaders ld de, CeruleanCaveB1F_ScriptPointers ld a, [wCeruleanCaveB1FCurScript] call ExecuteCurMapScriptInTable @@ -17,6 +17,8 @@ CeruleanCaveB1F_TextPointers: dw PickUpItemText dw PickUpItemText +CeruleanCaveB1FTrainerHeaders: + def_trainers MewtwoTrainerHeader: trainer EVENT_BEAT_MEWTWO, 0, MewtwoBattleText, MewtwoBattleText, MewtwoBattleText db -1 ; end diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index a6630cf8..14219748 100644 --- a/scripts/CeruleanGym.asm +++ b/scripts/CeruleanGym.asm @@ -4,7 +4,7 @@ CeruleanGym_Script: res 6, [hl] call nz, .LoadNames call EnableAutoTextBoxDrawing - ld hl, CeruleanGymTrainerHeader0 + ld hl, CeruleanGymTrainerHeaders ld de, CeruleanGym_ScriptPointers ld a, [wCeruleanGymCurScript] call ExecuteCurMapScriptInTable @@ -79,6 +79,8 @@ CeruleanGym_TextPointers: dw CeruleanGymText6 dw CeruleanGymText7 +CeruleanGymTrainerHeaders: + def_trainers 2 CeruleanGymTrainerHeader0: trainer EVENT_BEAT_CERULEAN_GYM_TRAINER_0, 3, CeruleanGymBattleText1, CeruleanGymEndBattleText1, CeruleanGymAfterBattleText1 CeruleanGymTrainerHeader1: diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm index e5d0a0a7..fc9f68ea 100644 --- a/scripts/FightingDojo.asm +++ b/scripts/FightingDojo.asm @@ -1,6 +1,6 @@ FightingDojo_Script: call EnableAutoTextBoxDrawing - ld hl, FightingDojoTrainerHeader0 + ld hl, FightingDojoTrainerHeaders ld de, FightingDojo_ScriptPointers ld a, [wFightingDojoCurScript] call ExecuteCurMapScriptInTable @@ -90,6 +90,8 @@ FightingDojo_TextPointers: dw FightingDojoText7 dw FightingDojoText8 +FightingDojoTrainerHeaders: + def_trainers 2 FightingDojoTrainerHeader0: trainer EVENT_BEAT_FIGHTING_DOJO_TRAINER_0, 4, FightingDojoBattleText1, FightingDojoEndBattleText1, FightingDojoAfterBattleText1 FightingDojoTrainerHeader1: diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm index 6f4f28fc..9216ab08 100644 --- a/scripts/FuchsiaGym.asm +++ b/scripts/FuchsiaGym.asm @@ -1,7 +1,7 @@ FuchsiaGym_Script: call .LoadNames call EnableAutoTextBoxDrawing - ld hl, FuchsiaGymTrainerHeader0 + ld hl, FuchsiaGymTrainerHeaders ld de, FuchsiaGym_ScriptPointers ld a, [wFuchsiaGymCurScript] call ExecuteCurMapScriptInTable @@ -84,6 +84,8 @@ FuchsiaGym_TextPointers: dw FuchsiaGymText10 dw FuchsiaGymText11 +FuchsiaGymTrainerHeaders: + def_trainers 2 FuchsiaGymTrainerHeader0: trainer EVENT_BEAT_FUCHSIA_GYM_TRAINER_0, 2, FuchsiaGymBattleText1, FuchsiaGymEndBattleText1, FuchsiaGymAfterBattleText1 FuchsiaGymTrainerHeader1: diff --git a/scripts/LancesRoom.asm b/scripts/LancesRoom.asm index 6de0283e..9c316416 100644 --- a/scripts/LancesRoom.asm +++ b/scripts/LancesRoom.asm @@ -1,7 +1,7 @@ LancesRoom_Script: call LanceShowOrHideEntranceBlocks call EnableAutoTextBoxDrawing - ld hl, LanceTrainerHeader0 + ld hl, LancesRoomTrainerHeaders ld de, LancesRoom_ScriptPointers ld a, [wLancesRoomCurScript] call ExecuteCurMapScriptInTable @@ -128,13 +128,15 @@ LanceScript3: LancesRoom_TextPointers: dw LanceText1 -LanceTrainerHeader0: +LancesRoomTrainerHeaders: + def_trainers +LancesRoomTrainerHeader0: trainer EVENT_BEAT_LANCES_ROOM_TRAINER_0, 0, LanceBeforeBattleText, LanceEndBattleText, LanceAfterBattleText db -1 ; end LanceText1: text_asm - ld hl, LanceTrainerHeader0 + ld hl, LancesRoomTrainerHeader0 call TalkToTrainer jp TextScriptEnd diff --git a/scripts/LoreleisRoom.asm b/scripts/LoreleisRoom.asm index 8e9730ff..1f42fa2e 100644 --- a/scripts/LoreleisRoom.asm +++ b/scripts/LoreleisRoom.asm @@ -1,7 +1,7 @@ LoreleisRoom_Script: call LoreleiShowOrHideExitBlock call EnableAutoTextBoxDrawing - ld hl, LoreleiTrainerHeader0 + ld hl, LoreleisRoomTrainerHeaders ld de, LoreleisRoom_ScriptPointers ld a, [wLoreleisRoomCurScript] call ExecuteCurMapScriptInTable @@ -119,13 +119,15 @@ LoreleisRoom_TextPointers: dw LoreleiText1 dw LoreleiDontRunAwayText -LoreleiTrainerHeader0: +LoreleisRoomTrainerHeaders: + def_trainers +LoreleisRoomTrainerHeader0: trainer EVENT_BEAT_LORELEIS_ROOM_TRAINER_0, 0, LoreleiBeforeBattleText, LoreleiEndBattleText, LoreleiAfterBattleText db -1 ; end LoreleiText1: text_asm - ld hl, LoreleiTrainerHeader0 + ld hl, LoreleisRoomTrainerHeader0 call TalkToTrainer jp TextScriptEnd diff --git a/scripts/MtMoon1F.asm b/scripts/MtMoon1F.asm index 68dacf29..d0477d2c 100644 --- a/scripts/MtMoon1F.asm +++ b/scripts/MtMoon1F.asm @@ -1,6 +1,6 @@ MtMoon1F_Script: call EnableAutoTextBoxDrawing - ld hl, MtMoon1TrainerHeader0 + ld hl, MtMoon1TrainerHeaders ld de, MtMoon1F_ScriptPointers ld a, [wMtMoon1FCurScript] call ExecuteCurMapScriptInTable @@ -28,6 +28,8 @@ MtMoon1F_TextPointers: dw PickUpItemText dw MtMoon1Text14 +MtMoon1TrainerHeaders: + def_trainers MtMoon1TrainerHeader0: trainer EVENT_BEAT_MT_MOON_1_TRAINER_0, 2, MtMoon1BattleText2, MtMoon1EndBattleText2, MtMoon1AfterBattleText2 MtMoon1TrainerHeader1: diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm index ab6e673e..dbfca6a3 100644 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -1,6 +1,6 @@ MtMoonB2F_Script: call EnableAutoTextBoxDrawing - ld hl, MtMoon3TrainerHeader0 + ld hl, MtMoon3TrainerHeaders ld de, MtMoonB2F_ScriptPointers ld a, [wMtMoonB2FCurScript] call ExecuteCurMapScriptInTable @@ -166,6 +166,8 @@ MtMoonB2F_TextPointers: dw PickUpItemText dw MtMoon3Text_49f99 +MtMoon3TrainerHeaders: + def_trainers 2 MtMoon3TrainerHeader0: trainer EVENT_BEAT_MT_MOON_3_TRAINER_0, 4, MtMoon3BattleText2, MtMoon3EndBattleText2, MtMoon3AfterBattleText2 MtMoon3TrainerHeader1: diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index ba0bdd00..f65d5506 100644 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -4,7 +4,7 @@ PewterGym_Script: res 6, [hl] call nz, .LoadNames call EnableAutoTextBoxDrawing - ld hl, PewterGymTrainerHeader0 + ld hl, PewterGymTrainerHeaders ld de, PewterGym_ScriptPointers ld a, [wPewterGymCurScript] call ExecuteCurMapScriptInTable @@ -86,6 +86,8 @@ PewterGym_TextPointers: dw PewterGymText5 dw PewterGymText6 +PewterGymTrainerHeaders: + def_trainers 2 PewterGymTrainerHeader0: trainer EVENT_BEAT_PEWTER_GYM_TRAINER_0, 5, PewterGymBattleText1, PewterGymEndBattleText1, PewterGymAfterBattleText1 db -1 ; end diff --git a/scripts/PokemonMansion1F.asm b/scripts/PokemonMansion1F.asm index ac86d626..247562a9 100644 --- a/scripts/PokemonMansion1F.asm +++ b/scripts/PokemonMansion1F.asm @@ -1,7 +1,7 @@ PokemonMansion1F_Script: call Mansion1Subscript1 call EnableAutoTextBoxDrawing - ld hl, Mansion1TrainerHeader0 + ld hl, Mansion1TrainerHeaders ld de, PokemonMansion1F_ScriptPointers ld a, [wPokemonMansion1FCurScript] call ExecuteCurMapScriptInTable @@ -66,6 +66,8 @@ PokemonMansion1F_TextPointers: dw PickUpItemText dw Mansion1Text4 +Mansion1TrainerHeaders: + def_trainers Mansion1TrainerHeader0: trainer EVENT_BEAT_MANSION_1_TRAINER_0, 3, Mansion1BattleText2, Mansion1EndBattleText2, Mansion1AfterBattleText2 db -1 ; end diff --git a/scripts/PokemonMansion2F.asm b/scripts/PokemonMansion2F.asm index 2edd0fb6..a887913a 100644 --- a/scripts/PokemonMansion2F.asm +++ b/scripts/PokemonMansion2F.asm @@ -1,7 +1,7 @@ PokemonMansion2F_Script: call Mansion2Script_51fee call EnableAutoTextBoxDrawing - ld hl, Mansion2TrainerHeader0 + ld hl, Mansion2TrainerHeaders ld de, PokemonMansion2F_ScriptPointers ld a, [wPokemonMansion2FCurScript] call ExecuteCurMapScriptInTable @@ -63,6 +63,8 @@ PokemonMansion2F_TextPointers: dw Mansion2Text4 dw Mansion2Text5 +Mansion2TrainerHeaders: + def_trainers Mansion2TrainerHeader0: trainer EVENT_BEAT_MANSION_2_TRAINER_0, 0, Mansion2BattleText1, Mansion2EndBattleText1, Mansion2AfterBattleText1 db -1 ; end diff --git a/scripts/PokemonMansion3F.asm b/scripts/PokemonMansion3F.asm index 0f62d6e0..2fc7c18d 100644 --- a/scripts/PokemonMansion3F.asm +++ b/scripts/PokemonMansion3F.asm @@ -1,7 +1,7 @@ PokemonMansion3F_Script: call Mansion3Script_52204 call EnableAutoTextBoxDrawing - ld hl, Mansion3TrainerHeader0 + ld hl, Mansion3TrainerHeaders ld de, PokemonMansion3F_ScriptPointers ld a, [wPokemonMansion3FCurScript] call ExecuteCurMapScriptInTable @@ -90,6 +90,8 @@ PokemonMansion3F_TextPointers: dw Mansion3Text5 dw Mansion3Text6 +Mansion3TrainerHeaders: + def_trainers Mansion3TrainerHeader0: trainer EVENT_BEAT_MANSION_3_TRAINER_0, 0, Mansion3BattleText1, Mansion3EndBattleText1, Mansion3AfterBattleText1 Mansion3TrainerHeader1: diff --git a/scripts/PokemonMansionB1F.asm b/scripts/PokemonMansionB1F.asm index f3b62793..4ca84624 100644 --- a/scripts/PokemonMansionB1F.asm +++ b/scripts/PokemonMansionB1F.asm @@ -1,7 +1,7 @@ PokemonMansionB1F_Script: call Mansion4Script_523cf call EnableAutoTextBoxDrawing - ld hl, Mansion4TrainerHeader0 + ld hl, Mansion4TrainerHeaders ld de, PokemonMansionB1F_ScriptPointers ld a, [wPokemonMansionB1FCurScript] call ExecuteCurMapScriptInTable @@ -69,6 +69,8 @@ PokemonMansionB1F_TextPointers: dw PickUpItemText dw Mansion3Text6 +Mansion4TrainerHeaders: + def_trainers Mansion4TrainerHeader0: trainer EVENT_BEAT_MANSION_4_TRAINER_0, 0, Mansion4BattleText1, Mansion4EndBattleText1, Mansion4AfterBattleText1 Mansion4TrainerHeader1: diff --git a/scripts/PokemonTower3F.asm b/scripts/PokemonTower3F.asm index cf56904f..158bc9d7 100644 --- a/scripts/PokemonTower3F.asm +++ b/scripts/PokemonTower3F.asm @@ -1,6 +1,6 @@ PokemonTower3F_Script: call EnableAutoTextBoxDrawing - ld hl, PokemonTower3TrainerHeader0 + ld hl, PokemonTower3TrainerHeaders ld de, PokemonTower3F_ScriptPointers ld a, [wPokemonTower3FCurScript] call ExecuteCurMapScriptInTable @@ -18,6 +18,8 @@ PokemonTower3F_TextPointers: dw PokemonTower3Text3 dw PickUpItemText +PokemonTower3TrainerHeaders: + def_trainers PokemonTower3TrainerHeader0: trainer EVENT_BEAT_POKEMONTOWER_3_TRAINER_0, 2, PokemonTower3BattleText1, PokemonTower3EndBattleText1, PokemonTower3AfterBattleText1 PokemonTower3TrainerHeader1: diff --git a/scripts/PokemonTower4F.asm b/scripts/PokemonTower4F.asm index e3431644..9bd291d2 100644 --- a/scripts/PokemonTower4F.asm +++ b/scripts/PokemonTower4F.asm @@ -1,6 +1,6 @@ PokemonTower4F_Script: call EnableAutoTextBoxDrawing - ld hl, PokemonTower4TrainerHeader0 + ld hl, PokemonTower4TrainerHeaders ld de, PokemonTower4F_ScriptPointers ld a, [wPokemonTower4FCurScript] call ExecuteCurMapScriptInTable @@ -20,6 +20,8 @@ PokemonTower4F_TextPointers: dw PickUpItemText dw PickUpItemText +PokemonTower4TrainerHeaders: + def_trainers PokemonTower4TrainerHeader0: trainer EVENT_BEAT_POKEMONTOWER_4_TRAINER_0, 2, PokemonTower4BattleText1, PokemonTower4EndBattleText1, PokemonTower4AfterBattleText1 PokemonTower4TrainerHeader1: diff --git a/scripts/PokemonTower5F.asm b/scripts/PokemonTower5F.asm index 10189a8e..4d89befb 100644 --- a/scripts/PokemonTower5F.asm +++ b/scripts/PokemonTower5F.asm @@ -1,6 +1,6 @@ PokemonTower5F_Script: call EnableAutoTextBoxDrawing - ld hl, PokemonTower5TrainerHeader0 + ld hl, PokemonTower5TrainerHeaders ld de, PokemonTower5F_ScriptPointers ld a, [wPokemonTower5FCurScript] call ExecuteCurMapScriptInTable @@ -57,6 +57,8 @@ PokemonTower5F_TextPointers: dw PickUpItemText dw PokemonTower5Text7 +PokemonTower5TrainerHeaders: + def_trainers 2 PokemonTower5TrainerHeader0: trainer EVENT_BEAT_POKEMONTOWER_5_TRAINER_0, 2, PokemonTower5BattleText1, PokemonTower5EndBattleText1, PokemonTower5AfterBattleText1 PokemonTower5TrainerHeader1: diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm index e236488e..03cb49f4 100644 --- a/scripts/PokemonTower6F.asm +++ b/scripts/PokemonTower6F.asm @@ -1,6 +1,6 @@ PokemonTower6F_Script: call EnableAutoTextBoxDrawing - ld hl, PokemonTower6TrainerHeader0 + ld hl, PokemonTower6TrainerHeaders ld de, PokemonTower6F_ScriptPointers ld a, [wPokemonTower6FCurScript] call ExecuteCurMapScriptInTable @@ -104,6 +104,8 @@ PokemonTower6F_TextPointers: dw PokemonTower6Text6 dw PokemonTower6Text7 +PokemonTower6TrainerHeaders: + def_trainers PokemonTower6TrainerHeader0: trainer EVENT_BEAT_POKEMONTOWER_6_TRAINER_0, 3, PokemonTower6BattleText1, PokemonTower6EndBattleText1, PokemonTower6AfterBattleText1 PokemonTower6TrainerHeader1: diff --git a/scripts/PokemonTower7F.asm b/scripts/PokemonTower7F.asm index e098b95f..5ed5aabd 100644 --- a/scripts/PokemonTower7F.asm +++ b/scripts/PokemonTower7F.asm @@ -1,6 +1,6 @@ PokemonTower7F_Script: call EnableAutoTextBoxDrawing - ld hl, PokemonTower7TrainerHeader0 + ld hl, PokemonTower7TrainerHeaders ld de, PokemonTower7F_ScriptPointers ld a, [wPokemonTower7FCurScript] call ExecuteCurMapScriptInTable @@ -192,6 +192,8 @@ PokemonTower7F_TextPointers: dw PokemonTower7Text3 dw PokemonTower7FujiText +PokemonTower7TrainerHeaders: + def_trainers PokemonTower7TrainerHeader0: trainer EVENT_BEAT_POKEMONTOWER_7_TRAINER_0, 3, PokemonTower7BattleText1, PokemonTower7EndBattleText1, PokemonTower7AfterBattleText1 PokemonTower7TrainerHeader1: diff --git a/scripts/PowerPlant.asm b/scripts/PowerPlant.asm index 76859218..67056e07 100644 --- a/scripts/PowerPlant.asm +++ b/scripts/PowerPlant.asm @@ -1,6 +1,6 @@ PowerPlant_Script: call EnableAutoTextBoxDrawing - ld hl, Voltorb0TrainerHeader + ld hl, PowerPlantTrainerHeaders ld de, PowerPlant_ScriptPointers ld a, [wPowerPlantCurScript] call ExecuteCurMapScriptInTable @@ -28,6 +28,8 @@ PowerPlant_TextPointers: dw PickUpItemText dw PickUpItemText +PowerPlantTrainerHeaders: + def_trainers Voltorb0TrainerHeader: trainer EVENT_BEAT_POWER_PLANT_VOLTORB_0, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText Voltorb1TrainerHeader: @@ -43,9 +45,9 @@ Voltorb5TrainerHeader: Voltorb6TrainerHeader: trainer EVENT_BEAT_POWER_PLANT_VOLTORB_6, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText Voltorb7TrainerHeader: - trainer EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText + trainer EVENT_BEAT_POWER_PLANT_VOLTORB_7, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText ZapdosTrainerHeader: - trainer EVENT_BEAT_ZAPDOS, 1, 0, ZapdosBattleText, ZapdosBattleText, ZapdosBattleText + trainer EVENT_BEAT_ZAPDOS, 0, ZapdosBattleText, ZapdosBattleText, ZapdosBattleText db -1 ; end InitVoltorbBattle: diff --git a/scripts/RockTunnel1F.asm b/scripts/RockTunnel1F.asm index 606e0317..cafdbe62 100644 --- a/scripts/RockTunnel1F.asm +++ b/scripts/RockTunnel1F.asm @@ -1,6 +1,6 @@ RockTunnel1F_Script: call EnableAutoTextBoxDrawing - ld hl, RockTunnel1TrainerHeader0 + ld hl, RockTunnel1TrainerHeaders ld de, RockTunnel1F_ScriptPointers ld a, [wRockTunnel1FCurScript] call ExecuteCurMapScriptInTable @@ -22,6 +22,8 @@ RockTunnel1F_TextPointers: dw RockTunnel1Text7 dw RockTunnel1Text8 +RockTunnel1TrainerHeaders: + def_trainers RockTunnel1TrainerHeader0: trainer EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0, 4, RockTunnel1BattleText1, RockTunnel1EndBattleText1, RockTunnel1AfterBattleText1 RockTunnel1TrainerHeader1: diff --git a/scripts/RockTunnelB1F.asm b/scripts/RockTunnelB1F.asm index 9cba9c3e..fa9cafda 100644 --- a/scripts/RockTunnelB1F.asm +++ b/scripts/RockTunnelB1F.asm @@ -1,6 +1,6 @@ RockTunnelB1F_Script: call EnableAutoTextBoxDrawing - ld hl, RockTunnel2TrainerHeader0 + ld hl, RockTunnel2TrainerHeaders ld de, RockTunnelB1F_ScriptPointers ld a, [wRockTunnelB1FCurScript] call ExecuteCurMapScriptInTable @@ -22,6 +22,8 @@ RockTunnelB1F_TextPointers: dw RockTunnel2Text7 dw RockTunnel2Text8 +RockTunnel2TrainerHeaders: + def_trainers RockTunnel2TrainerHeader0: trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0, 4, RockTunnel2BattleText2, RockTunnel2EndBattleText2, RockTunnel2AfterBattleText2 RockTunnel2TrainerHeader1: @@ -37,7 +39,7 @@ RockTunnel2TrainerHeader5: RockTunnel2TrainerHeader6: trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6, 3, RockTunnel2BattleText8, RockTunnel2EndBattleText8, RockTunnel2AfterBattleText8 RockTunnel2TrainerHeader7: - trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1, 3, RockTunnel2BattleText9, RockTunnel2EndBattleText9, RockTunnel2AfterBattleText9 + trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 3, RockTunnel2BattleText9, RockTunnel2EndBattleText9, RockTunnel2AfterBattleText9 db -1 ; end RockTunnel2Text1: diff --git a/scripts/RocketHideoutB1F.asm b/scripts/RocketHideoutB1F.asm index f20c0892..44964e14 100644 --- a/scripts/RocketHideoutB1F.asm +++ b/scripts/RocketHideoutB1F.asm @@ -1,7 +1,7 @@ RocketHideoutB1F_Script: call RocketHideout1Script_44be0 call EnableAutoTextBoxDrawing - ld hl, RocketHideout1TrainerHeader0 + ld hl, RocketHideout1TrainerHeaders ld de, RocketHideoutB1F_ScriptPointers ld a, [wRocketHideoutB1FCurScript] call ExecuteCurMapScriptInTable @@ -44,6 +44,8 @@ RocketHideoutB1F_TextPointers: dw PickUpItemText dw PickUpItemText +RocketHideout1TrainerHeaders: + def_trainers RocketHideout1TrainerHeader0: trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0, 3, RocketHideout1BattleText2, RocketHideout1EndBattleText2, RocketHideout1AfterBattleTxt2 RocketHideout1TrainerHeader1: diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm index d6fae24f..4fa32e34 100644 --- a/scripts/RocketHideoutB2F.asm +++ b/scripts/RocketHideoutB2F.asm @@ -1,6 +1,6 @@ RocketHideoutB2F_Script: call EnableAutoTextBoxDrawing - ld hl, RocketHideout2TrainerHeader0 + ld hl, RocketHideout2TrainerHeaders ld de, RocketHideoutB2F_ScriptPointers ld a, [wRocketHideoutB2FCurScript] call ExecuteCurMapScriptInTable @@ -276,6 +276,8 @@ RocketHideoutB2F_TextPointers: dw PickUpItemText dw PickUpItemText +RocketHideout2TrainerHeaders: + def_trainers RocketHideout2TrainerHeader0: trainer EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0, 4, RocketHideout2BattleText2, RocketHideout2EndBattleText2, RocketHideout2AfterBattleTxt2 db -1 ; end diff --git a/scripts/RocketHideoutB3F.asm b/scripts/RocketHideoutB3F.asm index 88876f04..996790ec 100644 --- a/scripts/RocketHideoutB3F.asm +++ b/scripts/RocketHideoutB3F.asm @@ -1,6 +1,6 @@ RocketHideoutB3F_Script: call EnableAutoTextBoxDrawing - ld hl, RocketHideout3TrainerHeader0 + ld hl, RocketHideout3TrainerHeaders ld de, RocketHideoutB3F_ScriptPointers ld a, [wRocketHideoutB3FCurScript] call ExecuteCurMapScriptInTable @@ -130,6 +130,8 @@ RocketHideoutB3F_TextPointers: dw PickUpItemText dw PickUpItemText +RocketHideout3TrainerHeaders: + def_trainers RocketHideout3TrainerHeader0: trainer EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0, 2, RocketHideout3BattleText2, RocketHideout3EndBattleText2, RocketHideout3AfterBattleTxt2 RocketHideout3TrainerHeader1: diff --git a/scripts/RocketHideoutB4F.asm b/scripts/RocketHideoutB4F.asm index bc13da12..a65ffb54 100644 --- a/scripts/RocketHideoutB4F.asm +++ b/scripts/RocketHideoutB4F.asm @@ -1,7 +1,7 @@ RocketHideoutB4F_Script: call RocketHideout4Script_45473 call EnableAutoTextBoxDrawing - ld hl, RocketHideout4TrainerHeader0 + ld hl, RocketHideout4TrainerHeaders ld de, RocketHideoutB4F_ScriptPointers ld a, [wRocketHideoutB4FCurScript] call ExecuteCurMapScriptInTable @@ -84,6 +84,8 @@ RocketHideoutB4F_TextPointers: dw PickUpItemText dw RocketHideout4Text10 +RocketHideout4TrainerHeaders: + def_trainers 2 RocketHideout4TrainerHeader0: trainer EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0, 0, RocketHideout4BattleText2, RocketHideout4EndBattleText2, RocketHideout4AfterBattleText2 RocketHideout4TrainerHeader1: diff --git a/scripts/Route10.asm b/scripts/Route10.asm index 93012b9a..70a7e013 100644 --- a/scripts/Route10.asm +++ b/scripts/Route10.asm @@ -1,6 +1,6 @@ Route10_Script: call EnableAutoTextBoxDrawing - ld hl, Route10TrainerHeader0 + ld hl, Route10TrainerHeaders ld de, Route10_ScriptPointers ld a, [wRoute10CurScript] call ExecuteCurMapScriptInTable @@ -24,6 +24,8 @@ Route10_TextPointers: dw Route10Text9 dw Route10Text10 +Route10TrainerHeaders: + def_trainers Route10TrainerHeader0: trainer EVENT_BEAT_ROUTE_10_TRAINER_0, 4, Route10BattleText1, Route10EndBattleText1, Route10AfterBattleText1 Route10TrainerHeader1: diff --git a/scripts/Route11.asm b/scripts/Route11.asm index 924c0276..724d8d89 100644 --- a/scripts/Route11.asm +++ b/scripts/Route11.asm @@ -1,6 +1,6 @@ Route11_Script: call EnableAutoTextBoxDrawing - ld hl, Route11TrainerHeader0 + ld hl, Route11TrainerHeaders ld de, Route11_ScriptPointers ld a, [wRoute11CurScript] call ExecuteCurMapScriptInTable @@ -25,6 +25,8 @@ Route11_TextPointers: dw Route11Text10 dw Route11Text11 +Route11TrainerHeaders: + def_trainers Route11TrainerHeader0: trainer EVENT_BEAT_ROUTE_11_TRAINER_0, 3, Route11BattleText1, Route11EndBattleText1, Route11AfterBattleText1 Route11TrainerHeader1: @@ -40,11 +42,11 @@ Route11TrainerHeader5: Route11TrainerHeader6: trainer EVENT_BEAT_ROUTE_11_TRAINER_6, 3, Route11BattleText7, Route11EndBattleText7, Route11AfterBattleText7 Route11TrainerHeader7: - trainer EVENT_BEAT_ROUTE_11_TRAINER_7, 1, 4, Route11BattleText8, Route11EndBattleText8, Route11AfterBattleText8 + trainer EVENT_BEAT_ROUTE_11_TRAINER_7, 4, Route11BattleText8, Route11EndBattleText8, Route11AfterBattleText8 Route11TrainerHeader8: - trainer EVENT_BEAT_ROUTE_11_TRAINER_8, 1, 3, Route11BattleText9, Route11EndBattleText9, Route11AfterBattleText9 + trainer EVENT_BEAT_ROUTE_11_TRAINER_8, 3, Route11BattleText9, Route11EndBattleText9, Route11AfterBattleText9 Route11TrainerHeader9: - trainer EVENT_BEAT_ROUTE_11_TRAINER_9, 1, 4, Route11BattleText10, Route11EndBattleText10, Route11AfterBattleText10 + trainer EVENT_BEAT_ROUTE_11_TRAINER_9, 4, Route11BattleText10, Route11EndBattleText10, Route11AfterBattleText10 db -1 ; end Route11Text1: diff --git a/scripts/Route12.asm b/scripts/Route12.asm index 3c0d77e1..d46a95bb 100644 --- a/scripts/Route12.asm +++ b/scripts/Route12.asm @@ -1,6 +1,6 @@ Route12_Script: call EnableAutoTextBoxDrawing - ld hl, Route12TrainerHeader0 + ld hl, Route12TrainerHeaders ld de, Route12_ScriptPointers ld a, [wRoute12CurScript] call ExecuteCurMapScriptInTable @@ -76,6 +76,8 @@ Route12_TextPointers: dw Route12Text13 dw Route12Text14 +Route12TrainerHeaders: + def_trainers 2 Route12TrainerHeader0: trainer EVENT_BEAT_ROUTE_12_TRAINER_0, 4, Route12BattleText1, Route12EndBattleText1, Route12AfterBattleText1 Route12TrainerHeader1: @@ -89,7 +91,7 @@ Route12TrainerHeader4: Route12TrainerHeader5: trainer EVENT_BEAT_ROUTE_12_TRAINER_5, 4, Route12BattleText6, Route12EndBattleText6, Route12AfterBattleText6 Route12TrainerHeader6: - trainer EVENT_BEAT_ROUTE_12_TRAINER_6, 1, 1, Route12BattleText7, Route12EndBattleText7, Route12AfterBattleText7 + trainer EVENT_BEAT_ROUTE_12_TRAINER_6, 1, Route12BattleText7, Route12EndBattleText7, Route12AfterBattleText7 db -1 ; end Route12Text1: diff --git a/scripts/Route13.asm b/scripts/Route13.asm index c01ed514..d7f55f28 100644 --- a/scripts/Route13.asm +++ b/scripts/Route13.asm @@ -1,6 +1,6 @@ Route13_Script: call EnableAutoTextBoxDrawing - ld hl, Route13TrainerHeader0 + ld hl, Route13TrainerHeaders ld de, Route13_ScriptPointers ld a, [wRoute13CurScript] call ExecuteCurMapScriptInTable @@ -27,6 +27,8 @@ Route13_TextPointers: dw Route13Text12 dw Route13Text13 +Route13TrainerHeaders: + def_trainers Route13TrainerHeader0: trainer EVENT_BEAT_ROUTE_13_TRAINER_0, 2, Route13BattleText2, Route13EndBattleText2, Route13AfterBattleText2 Route13TrainerHeader1: @@ -42,11 +44,11 @@ Route13TrainerHeader5: Route13TrainerHeader6: trainer EVENT_BEAT_ROUTE_13_TRAINER_6, 4, Route13BattleText8, Route13EndBattleText8, Route13AfterBattleText8 Route13TrainerHeader7: - trainer EVENT_BEAT_ROUTE_13_TRAINER_7, 1, 2, Route13BattleText9, Route13EndBattleText9, Route13AfterBattleText9 + trainer EVENT_BEAT_ROUTE_13_TRAINER_7, 2, Route13BattleText9, Route13EndBattleText9, Route13AfterBattleText9 Route13TrainerHeader8: - trainer EVENT_BEAT_ROUTE_13_TRAINER_8, 1, 2, Route13BattleText10, Route13EndBattleText10, Route13AfterBattleText10 + trainer EVENT_BEAT_ROUTE_13_TRAINER_8, 2, Route13BattleText10, Route13EndBattleText10, Route13AfterBattleText10 Route13TrainerHeader9: - trainer EVENT_BEAT_ROUTE_13_TRAINER_9, 1, 4, Route13BattleText11, Route13EndBattleText11, Route13AfterBattleText11 + trainer EVENT_BEAT_ROUTE_13_TRAINER_9, 4, Route13BattleText11, Route13EndBattleText11, Route13AfterBattleText11 db -1 ; end Route13Text1: diff --git a/scripts/Route14.asm b/scripts/Route14.asm index 988fbe32..3c3fe50f 100644 --- a/scripts/Route14.asm +++ b/scripts/Route14.asm @@ -1,6 +1,6 @@ Route14_Script: call EnableAutoTextBoxDrawing - ld hl, Route14TrainerHeader0 + ld hl, Route14TrainerHeaders ld de, Route14_ScriptPointers ld a, [wRoute14CurScript] call ExecuteCurMapScriptInTable @@ -25,6 +25,8 @@ Route14_TextPointers: dw Route14Text10 dw Route14Text11 +Route14TrainerHeaders: + def_trainers Route14TrainerHeader0: trainer EVENT_BEAT_ROUTE_14_TRAINER_0, 2, Route14BattleText1, Route14EndBattleText1, Route14AfterBattleText1 Route14TrainerHeader1: @@ -40,11 +42,11 @@ Route14TrainerHeader5: Route14TrainerHeader6: trainer EVENT_BEAT_ROUTE_14_TRAINER_6, 4, Route14BattleText7, Route14EndBattleText7, Route14AfterBattleText7 Route14TrainerHeader7: - trainer EVENT_BEAT_ROUTE_14_TRAINER_7, 1, 4, Route14BattleText8, Route14EndBattleText8, Route14AfterBattleText8 + trainer EVENT_BEAT_ROUTE_14_TRAINER_7, 4, Route14BattleText8, Route14EndBattleText8, Route14AfterBattleText8 Route14TrainerHeader8: - trainer EVENT_BEAT_ROUTE_14_TRAINER_8, 1, 3, Route14BattleText9, Route14EndBattleText9, Route14AfterBattleText9 + trainer EVENT_BEAT_ROUTE_14_TRAINER_8, 3, Route14BattleText9, Route14EndBattleText9, Route14AfterBattleText9 Route14TrainerHeader9: - trainer EVENT_BEAT_ROUTE_14_TRAINER_9, 1, 4, Route14BattleText10, Route14EndBattleText10, Route14AfterBattleText10 + trainer EVENT_BEAT_ROUTE_14_TRAINER_9, 4, Route14BattleText10, Route14EndBattleText10, Route14AfterBattleText10 db -1 ; end Route14Text1: diff --git a/scripts/Route15.asm b/scripts/Route15.asm index 3eed25d5..d3fb18bf 100644 --- a/scripts/Route15.asm +++ b/scripts/Route15.asm @@ -1,6 +1,6 @@ Route15_Script: call EnableAutoTextBoxDrawing - ld hl, Route15TrainerHeader0 + ld hl, Route15TrainerHeaders ld de, Route15_ScriptPointers ld a, [wRoute15CurScript] call ExecuteCurMapScriptInTable @@ -26,6 +26,8 @@ Route15_TextPointers: dw PickUpItemText dw Route15Text12 +Route15TrainerHeaders: + def_trainers Route15TrainerHeader0: trainer EVENT_BEAT_ROUTE_15_TRAINER_0, 2, Route15BattleText1, Route15EndBattleText1, Route15AfterBattleText1 Route15TrainerHeader1: @@ -41,11 +43,11 @@ Route15TrainerHeader5: Route15TrainerHeader6: trainer EVENT_BEAT_ROUTE_15_TRAINER_6, 3, Route15BattleText7, Route15EndBattleText7, Route15AfterBattleText7 Route15TrainerHeader7: - trainer EVENT_BEAT_ROUTE_15_TRAINER_7, 1, 3, Route15BattleText8, Route15EndBattleText8, Route15AfterBattleText8 + trainer EVENT_BEAT_ROUTE_15_TRAINER_7, 3, Route15BattleText8, Route15EndBattleText8, Route15AfterBattleText8 Route15TrainerHeader8: - trainer EVENT_BEAT_ROUTE_15_TRAINER_8, 1, 3, Route15BattleText9, Route15EndBattleText9, Route15AfterBattleText9 + trainer EVENT_BEAT_ROUTE_15_TRAINER_8, 3, Route15BattleText9, Route15EndBattleText9, Route15AfterBattleText9 Route15TrainerHeader9: - trainer EVENT_BEAT_ROUTE_15_TRAINER_9, 1, 3, Route15BattleText10, Route15EndBattleText10, Route15AfterBattleText10 + trainer EVENT_BEAT_ROUTE_15_TRAINER_9, 3, Route15BattleText10, Route15EndBattleText10, Route15AfterBattleText10 db -1 ; end Route15Text1: diff --git a/scripts/Route16.asm b/scripts/Route16.asm index e7b1eb9a..b77bbf61 100644 --- a/scripts/Route16.asm +++ b/scripts/Route16.asm @@ -1,6 +1,6 @@ Route16_Script: call EnableAutoTextBoxDrawing - ld hl, Route16TrainerHeader0 + ld hl, Route16TrainerHeaders ld de, Route16_ScriptPointers ld a, [wRoute16CurScript] call ExecuteCurMapScriptInTable @@ -74,6 +74,8 @@ Route16_TextPointers: dw Route16Text10 dw Route16Text11 +Route16TrainerHeaders: + def_trainers Route16TrainerHeader0: trainer EVENT_BEAT_ROUTE_16_TRAINER_0, 3, Route16BattleText1, Route16EndBattleText1, Route16AfterBattleText1 Route16TrainerHeader1: diff --git a/scripts/Route17.asm b/scripts/Route17.asm index 27693f9f..526b2576 100644 --- a/scripts/Route17.asm +++ b/scripts/Route17.asm @@ -1,6 +1,6 @@ Route17_Script: call EnableAutoTextBoxDrawing - ld hl, Route17TrainerHeader0 + ld hl, Route17TrainerHeaders ld de, Route17_ScriptPointers ld a, [wRoute17CurScript] call ExecuteCurMapScriptInTable @@ -30,6 +30,8 @@ Route17_TextPointers: dw Route17Text15 dw Route17Text16 +Route17TrainerHeaders: + def_trainers Route17TrainerHeader0: trainer EVENT_BEAT_ROUTE_17_TRAINER_0, 3, Route17BattleText1, Route17EndBattleText1, Route17AfterBattleText1 Route17TrainerHeader1: @@ -45,11 +47,11 @@ Route17TrainerHeader5: Route17TrainerHeader6: trainer EVENT_BEAT_ROUTE_17_TRAINER_6, 4, Route17BattleText7, Route17EndBattleText7, Route17AfterBattleText7 Route17TrainerHeader7: - trainer EVENT_BEAT_ROUTE_17_TRAINER_7, 1, 2, Route17BattleText8, Route17EndBattleText8, Route17AfterBattleText8 + trainer EVENT_BEAT_ROUTE_17_TRAINER_7, 2, Route17BattleText8, Route17EndBattleText8, Route17AfterBattleText8 Route17TrainerHeader8: - trainer EVENT_BEAT_ROUTE_17_TRAINER_8, 1, 3, Route17BattleText9, Route17EndBattleText9, Route17AfterBattleText9 + trainer EVENT_BEAT_ROUTE_17_TRAINER_8, 3, Route17BattleText9, Route17EndBattleText9, Route17AfterBattleText9 Route17TrainerHeader9: - trainer EVENT_BEAT_ROUTE_17_TRAINER_9, 1, 4, Route17BattleText10, Route17EndBattleText10, Route17AfterBattleText10 + trainer EVENT_BEAT_ROUTE_17_TRAINER_9, 4, Route17BattleText10, Route17EndBattleText10, Route17AfterBattleText10 db -1 ; end Route17Text1: diff --git a/scripts/Route18.asm b/scripts/Route18.asm index f6738fc6..42c83f4c 100644 --- a/scripts/Route18.asm +++ b/scripts/Route18.asm @@ -1,6 +1,6 @@ Route18_Script: call EnableAutoTextBoxDrawing - ld hl, Route18TrainerHeader0 + ld hl, Route18TrainerHeaders ld de, Route18_ScriptPointers ld a, [wRoute18CurScript] call ExecuteCurMapScriptInTable @@ -19,6 +19,8 @@ Route18_TextPointers: dw Route18Text4 dw Route18Text5 +Route18TrainerHeaders: + def_trainers Route18TrainerHeader0: trainer EVENT_BEAT_ROUTE_18_TRAINER_0, 3, Route18BattleText1, Route18EndBattleText1, Route18AfterBattleText1 Route18TrainerHeader1: diff --git a/scripts/Route19.asm b/scripts/Route19.asm index 8d0c9629..7467ee1e 100644 --- a/scripts/Route19.asm +++ b/scripts/Route19.asm @@ -1,6 +1,6 @@ Route19_Script: call EnableAutoTextBoxDrawing - ld hl, Route19TrainerHeader0 + ld hl, Route19TrainerHeaders ld de, Route19_ScriptPointers ld a, [wRoute19CurScript] call ExecuteCurMapScriptInTable @@ -25,6 +25,8 @@ Route19_TextPointers: dw Route19Text10 dw Route19Text11 +Route19TrainerHeaders: + def_trainers Route19TrainerHeader0: trainer EVENT_BEAT_ROUTE_19_TRAINER_0, 4, Route19BattleText1, Route19EndBattleText1, Route19AfterBattleText1 Route19TrainerHeader1: @@ -40,11 +42,11 @@ Route19TrainerHeader5: Route19TrainerHeader6: trainer EVENT_BEAT_ROUTE_19_TRAINER_6, 3, Route19BattleText7, Route19EndBattleText7, Route19AfterBattleText7 Route19TrainerHeader7: - trainer EVENT_BEAT_ROUTE_19_TRAINER_7, 1, 4, Route19BattleText8, Route19EndBattleText8, Route19AfterBattleText8 + trainer EVENT_BEAT_ROUTE_19_TRAINER_7, 4, Route19BattleText8, Route19EndBattleText8, Route19AfterBattleText8 Route19TrainerHeader8: - trainer EVENT_BEAT_ROUTE_19_TRAINER_8, 1, 4, Route19BattleText9, Route19EndBattleText9, Route19AfterBattleText9 + trainer EVENT_BEAT_ROUTE_19_TRAINER_8, 4, Route19BattleText9, Route19EndBattleText9, Route19AfterBattleText9 Route19TrainerHeader9: - trainer EVENT_BEAT_ROUTE_19_TRAINER_9, 1, 4, Route19BattleText10, Route19EndBattleText10, Route19AfterBattleText10 + trainer EVENT_BEAT_ROUTE_19_TRAINER_9, 4, Route19BattleText10, Route19EndBattleText10, Route19AfterBattleText10 db -1 ; end Route19Text1: diff --git a/scripts/Route20.asm b/scripts/Route20.asm index f9904d4e..fd20f722 100644 --- a/scripts/Route20.asm +++ b/scripts/Route20.asm @@ -2,7 +2,7 @@ Route20_Script: CheckAndResetEvent EVENT_IN_SEAFOAM_ISLANDS call nz, Route20Script_50cc6 call EnableAutoTextBoxDrawing - ld hl, Route20TrainerHeader0 + ld hl, Route20TrainerHeaders ld de, Route20_ScriptPointers ld a, [wRoute20CurScript] call ExecuteCurMapScriptInTable @@ -75,6 +75,8 @@ Route20_TextPointers: dw Route20Text11 dw Route20Text12 +Route20TrainerHeaders: + def_trainers Route20TrainerHeader0: trainer EVENT_BEAT_ROUTE_20_TRAINER_0, 4, Route20BattleText1, Route20EndBattleText1, Route20AfterBattleText1 Route20TrainerHeader1: @@ -90,11 +92,11 @@ Route20TrainerHeader5: Route20TrainerHeader6: trainer EVENT_BEAT_ROUTE_20_TRAINER_6, 2, Route20BattleText7, Route20EndBattleText7, Route20AfterBattleText7 Route20TrainerHeader7: - trainer EVENT_BEAT_ROUTE_20_TRAINER_7, 1, 4, Route20BattleText8, Route20EndBattleText8, Route20AfterBattleText8 + trainer EVENT_BEAT_ROUTE_20_TRAINER_7, 4, Route20BattleText8, Route20EndBattleText8, Route20AfterBattleText8 Route20TrainerHeader8: - trainer EVENT_BEAT_ROUTE_20_TRAINER_8, 1, 3, Route20BattleText9, Route20EndBattleText9, Route20AfterBattleText9 + trainer EVENT_BEAT_ROUTE_20_TRAINER_8, 3, Route20BattleText9, Route20EndBattleText9, Route20AfterBattleText9 Route20TrainerHeader9: - trainer EVENT_BEAT_ROUTE_20_TRAINER_9, 1, 4, Route20BattleText10, Route20EndBattleText10, Route20AfterBattleText10 + trainer EVENT_BEAT_ROUTE_20_TRAINER_9, 4, Route20BattleText10, Route20EndBattleText10, Route20AfterBattleText10 db -1 ; end Route20Text1: diff --git a/scripts/Route21.asm b/scripts/Route21.asm index 7afe350f..c4267816 100644 --- a/scripts/Route21.asm +++ b/scripts/Route21.asm @@ -1,6 +1,6 @@ Route21_Script: call EnableAutoTextBoxDrawing - ld hl, Route21TrainerHeader0 + ld hl, Route21TrainerHeaders ld de, Route21_ScriptPointers ld a, [wRoute21CurScript] call ExecuteCurMapScriptInTable @@ -23,6 +23,8 @@ Route21_TextPointers: dw Route21Text8 dw Route21Text9 +Route21TrainerHeaders: + def_trainers Route21TrainerHeader0: trainer EVENT_BEAT_ROUTE_21_TRAINER_0, 0, Route21BattleText1, Route21EndBattleText1, Route21AfterBattleText1 Route21TrainerHeader1: @@ -38,9 +40,9 @@ Route21TrainerHeader5: Route21TrainerHeader6: trainer EVENT_BEAT_ROUTE_21_TRAINER_6, 3, Route21BattleText7, Route21EndBattleText7, Route21AfterBattleText7 Route21TrainerHeader7: - trainer EVENT_BEAT_ROUTE_21_TRAINER_7, 1, 0, Route21BattleText8, Route21EndBattleText8, Route21AfterBattleText8 + trainer EVENT_BEAT_ROUTE_21_TRAINER_7, 0, Route21BattleText8, Route21EndBattleText8, Route21AfterBattleText8 Route21TrainerHeader8: - trainer EVENT_BEAT_ROUTE_21_TRAINER_8, 1, 0, Route21BattleText9, Route21EndBattleText9, Route21AfterBattleText9 + trainer EVENT_BEAT_ROUTE_21_TRAINER_8, 0, Route21BattleText9, Route21EndBattleText9, Route21AfterBattleText9 db -1 ; end Route21Text1: diff --git a/scripts/Route24.asm b/scripts/Route24.asm index aed112ac..5cbb78a6 100644 --- a/scripts/Route24.asm +++ b/scripts/Route24.asm @@ -1,6 +1,6 @@ Route24_Script: call EnableAutoTextBoxDrawing - ld hl, Route24TrainerHeader0 + ld hl, Route24TrainerHeaders ld de, Route24_ScriptPointers ld a, [wRoute24CurScript] call ExecuteCurMapScriptInTable @@ -86,6 +86,8 @@ Route24_TextPointers: dw Route24Text7 dw PickUpItemText +Route24TrainerHeaders: + def_trainers 2 Route24TrainerHeader0: trainer EVENT_BEAT_ROUTE_24_TRAINER_0, 4, Route24BattleText1, Route24EndBattleText1, Route24AfterBattleText1 Route24TrainerHeader1: diff --git a/scripts/Route25.asm b/scripts/Route25.asm index fba28bc4..265a8310 100644 --- a/scripts/Route25.asm +++ b/scripts/Route25.asm @@ -1,7 +1,7 @@ Route25_Script: call Route25Script_515e1 call EnableAutoTextBoxDrawing - ld hl, Route25TrainerHeader0 + ld hl, Route25TrainerHeaders ld de, Route25_ScriptPointers ld a, [wRoute25CurScript] call ExecuteCurMapScriptInTable @@ -53,6 +53,8 @@ Route25_TextPointers: dw PickUpItemText dw Route25Text11 +Route25TrainerHeaders: + def_trainers Route25TrainerHeader0: trainer EVENT_BEAT_ROUTE_25_TRAINER_0, 2, Route25BattleText1, Route25EndBattleText1, Route25AfterBattleText1 Route25TrainerHeader1: @@ -68,9 +70,9 @@ Route25TrainerHeader5: Route25TrainerHeader6: trainer EVENT_BEAT_ROUTE_25_TRAINER_6, 3, Route25BattleText7, Route25EndBattleText7, Route25AfterBattleText7 Route25TrainerHeader7: - trainer EVENT_BEAT_ROUTE_25_TRAINER_7, 1, 2, Route25BattleText8, Route25EndBattleText8, Route25AfterBattleText8 + trainer EVENT_BEAT_ROUTE_25_TRAINER_7, 2, Route25BattleText8, Route25EndBattleText8, Route25AfterBattleText8 Route25TrainerHeader8: - trainer EVENT_BEAT_ROUTE_25_TRAINER_8, 1, 2, Route25BattleText9, Route25EndBattleText9, Route25AfterBattleText9 + trainer EVENT_BEAT_ROUTE_25_TRAINER_8, 2, Route25BattleText9, Route25EndBattleText9, Route25AfterBattleText9 db -1 ; end Route25Text1: diff --git a/scripts/Route3.asm b/scripts/Route3.asm index 74140b40..ecc16a0c 100644 --- a/scripts/Route3.asm +++ b/scripts/Route3.asm @@ -1,6 +1,6 @@ Route3_Script: call EnableAutoTextBoxDrawing - ld hl, Route3TrainerHeader0 + ld hl, Route3TrainerHeaders ld de, Route3_ScriptPointers ld a, [wRoute3CurScript] call ExecuteCurMapScriptInTable @@ -24,6 +24,8 @@ Route3_TextPointers: dw Route3Text9 dw Route3Text10 +Route3TrainerHeaders: + def_trainers 2 Route3TrainerHeader0: trainer EVENT_BEAT_ROUTE_3_TRAINER_0, 2, Route3BattleText1, Route3EndBattleText1, Route3AfterBattleText1 Route3TrainerHeader1: @@ -37,9 +39,9 @@ Route3TrainerHeader4: Route3TrainerHeader5: trainer EVENT_BEAT_ROUTE_3_TRAINER_5, 3, Route3BattleText6, Route3EndBattleText6, Route3AfterBattleText6 Route3TrainerHeader6: - trainer EVENT_BEAT_ROUTE_3_TRAINER_6, 1, 3, Route3BattleText7, Route3EndBattleText7, Route3AfterBattleText7 + trainer EVENT_BEAT_ROUTE_3_TRAINER_6, 3, Route3BattleText7, Route3EndBattleText7, Route3AfterBattleText7 Route3TrainerHeader7: - trainer EVENT_BEAT_ROUTE_3_TRAINER_7, 1, 2, Route3BattleText8, Route3EndBattleText8, Route3AfterBattleText8 + trainer EVENT_BEAT_ROUTE_3_TRAINER_7, 2, Route3BattleText8, Route3EndBattleText8, Route3AfterBattleText8 db -1 ; end Route3Text1: diff --git a/scripts/Route4.asm b/scripts/Route4.asm index b69a88c7..d62f797d 100644 --- a/scripts/Route4.asm +++ b/scripts/Route4.asm @@ -1,6 +1,6 @@ Route4_Script: call EnableAutoTextBoxDrawing - ld hl, Route4TrainerHeader0 + ld hl, Route4TrainerHeaders ld de, Route4_ScriptPointers ld a, [wRoute4CurScript] call ExecuteCurMapScriptInTable @@ -20,6 +20,8 @@ Route4_TextPointers: dw Route4Text5 dw Route4Text6 +Route4TrainerHeaders: + def_trainers 2 Route4TrainerHeader0: trainer EVENT_BEAT_ROUTE_4_TRAINER_0, 3, Route4BattleText1, Route4EndBattleText1, Route4AfterBattleText1 db -1 ; end diff --git a/scripts/Route6.asm b/scripts/Route6.asm index 36883e09..de1f8918 100644 --- a/scripts/Route6.asm +++ b/scripts/Route6.asm @@ -1,6 +1,6 @@ Route6_Script: call EnableAutoTextBoxDrawing - ld hl, Route6TrainerHeader0 + ld hl, Route6TrainerHeaders ld de, Route6_ScriptPointers ld a, [wRoute6CurScript] call ExecuteCurMapScriptInTable @@ -21,6 +21,8 @@ Route6_TextPointers: dw Route6Text6 dw Route6Text7 +Route6TrainerHeaders: + def_trainers Route6TrainerHeader0: trainer EVENT_BEAT_ROUTE_6_TRAINER_0, 0, Route6BattleText1, Route6EndBattleText1, Route6AfterBattleText1 Route6TrainerHeader1: diff --git a/scripts/Route8.asm b/scripts/Route8.asm index f50167c0..7ecdbe09 100644 --- a/scripts/Route8.asm +++ b/scripts/Route8.asm @@ -1,6 +1,6 @@ Route8_Script: call EnableAutoTextBoxDrawing - ld hl, Route8TrainerHeader0 + ld hl, Route8TrainerHeaders ld de, Route8_ScriptPointers ld a, [wRoute8CurScript] call ExecuteCurMapScriptInTable @@ -24,6 +24,8 @@ Route8_TextPointers: dw Route8Text9 dw Route8Text10 +Route8TrainerHeaders: + def_trainers Route8TrainerHeader0: trainer EVENT_BEAT_ROUTE_8_TRAINER_0, 4, Route8BattleText1, Route8EndBattleText1, Route8AfterBattleText1 Route8TrainerHeader1: @@ -39,9 +41,9 @@ Route8TrainerHeader5: Route8TrainerHeader6: trainer EVENT_BEAT_ROUTE_8_TRAINER_6, 2, Route8BattleText7, Route8EndBattleText7, Route8AfterBattleText7 Route8TrainerHeader7: - trainer EVENT_BEAT_ROUTE_8_TRAINER_7, 1, 2, Route8BattleText8, Route8EndBattleText8, Route8AfterBattleText8 + trainer EVENT_BEAT_ROUTE_8_TRAINER_7, 2, Route8BattleText8, Route8EndBattleText8, Route8AfterBattleText8 Route8TrainerHeader8: - trainer EVENT_BEAT_ROUTE_8_TRAINER_8, 1, 4, Route8BattleText9, Route8EndBattleText9, Route8AfterBattleText9 + trainer EVENT_BEAT_ROUTE_8_TRAINER_8, 4, Route8BattleText9, Route8EndBattleText9, Route8AfterBattleText9 db -1 ; end Route8Text1: diff --git a/scripts/Route9.asm b/scripts/Route9.asm index 5dc060c4..72c43a5c 100644 --- a/scripts/Route9.asm +++ b/scripts/Route9.asm @@ -1,6 +1,6 @@ Route9_Script: call EnableAutoTextBoxDrawing - ld hl, Route9TrainerHeader0 + ld hl, Route9TrainerHeaders ld de, Route9_ScriptPointers ld a, [wRoute9CurScript] call ExecuteCurMapScriptInTable @@ -25,6 +25,8 @@ Route9_TextPointers: dw PickUpItemText dw Route9Text11 +Route9TrainerHeaders: + def_trainers Route9TrainerHeader0: trainer EVENT_BEAT_ROUTE_9_TRAINER_0, 3, Route9BattleText1, Route9EndBattleText1, Route9AfterBattleText1 Route9TrainerHeader1: @@ -40,9 +42,9 @@ Route9TrainerHeader5: Route9TrainerHeader6: trainer EVENT_BEAT_ROUTE_9_TRAINER_6, 4, Route9BattleText7, Route9EndBattleText7, Route9AfterBattleText7 Route9TrainerHeader7: - trainer EVENT_BEAT_ROUTE_9_TRAINER_7, 1, 2, Route9BattleText8, Route9EndBattleText8, Route9AfterBattleText8 + trainer EVENT_BEAT_ROUTE_9_TRAINER_7, 2, Route9BattleText8, Route9EndBattleText8, Route9AfterBattleText8 Route9TrainerHeader8: - trainer EVENT_BEAT_ROUTE_9_TRAINER_8, 1, 2, Route9BattleText9, Route9EndBattleText9, Route9AfterBattleText9 + trainer EVENT_BEAT_ROUTE_9_TRAINER_8, 2, Route9BattleText9, Route9EndBattleText9, Route9AfterBattleText9 db -1 ; end Route9Text1: diff --git a/scripts/SSAnne1FRooms.asm b/scripts/SSAnne1FRooms.asm index e4e4813d..f958dff8 100644 --- a/scripts/SSAnne1FRooms.asm +++ b/scripts/SSAnne1FRooms.asm @@ -1,6 +1,6 @@ SSAnne1FRooms_Script: call EnableAutoTextBoxDrawing - ld hl, SSAnne8TrainerHeader0 + ld hl, SSAnne8TrainerHeaders ld de, SSAnne1FRooms_ScriptPointers ld a, [wSSAnne1FRoomsCurScript] call ExecuteCurMapScriptInTable @@ -25,6 +25,8 @@ SSAnne1FRooms_TextPointers: dw PickUpItemText dw SSAnne8Text11 +SSAnne8TrainerHeaders: + def_trainers SSAnne8TrainerHeader0: trainer EVENT_BEAT_SS_ANNE_8_TRAINER_0, 2, SSAnne8BattleText1, SSAnne8EndBattleText1, SSAnne8AfterBattleText1 SSAnne8TrainerHeader1: diff --git a/scripts/SSAnne2FRooms.asm b/scripts/SSAnne2FRooms.asm index 3fe2d34f..4fa679e3 100644 --- a/scripts/SSAnne2FRooms.asm +++ b/scripts/SSAnne2FRooms.asm @@ -3,7 +3,7 @@ SSAnne2FRooms_Script: ld [wAutoTextBoxDrawingControl], a xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, SSAnne9TrainerHeader0 + ld hl, SSAnne9TrainerHeaders ld de, SSAnne2FRooms_ScriptPointers ld a, [wSSAnne2FRoomsCurScript] call ExecuteCurMapScriptInTable @@ -30,6 +30,8 @@ SSAnne2FRooms_TextPointers: dw SSAnne9Text12 dw SSAnne9Text13 +SSAnne9TrainerHeaders: + def_trainers SSAnne9TrainerHeader0: trainer EVENT_BEAT_SS_ANNE_9_TRAINER_0, 2, SSAnne9BattleText1, SSAnne9EndBattleText1, SSAnne9AfterBattleText1 SSAnne9TrainerHeader1: diff --git a/scripts/SSAnneB1FRooms.asm b/scripts/SSAnneB1FRooms.asm index 2a077c33..610a0ca0 100644 --- a/scripts/SSAnneB1FRooms.asm +++ b/scripts/SSAnneB1FRooms.asm @@ -1,6 +1,6 @@ SSAnneB1FRooms_Script: call EnableAutoTextBoxDrawing - ld hl, SSAnne10TrainerHeader0 + ld hl, SSAnne10TrainerHeaders ld de, SSAnneB1FRooms_ScriptPointers ld a, [wSSAnneB1FRoomsCurScript] call ExecuteCurMapScriptInTable @@ -25,6 +25,8 @@ SSAnneB1FRooms_TextPointers: dw PickUpItemText dw PickUpItemText +SSAnne10TrainerHeaders: + def_trainers SSAnne10TrainerHeader0: trainer EVENT_BEAT_SS_ANNE_10_TRAINER_0, 2, SSAnne10BattleText1, SSAnne10EndBattleText1, SSAnne10AfterBattleText1 SSAnne10TrainerHeader1: diff --git a/scripts/SSAnneBow.asm b/scripts/SSAnneBow.asm index 0621785d..80d98668 100644 --- a/scripts/SSAnneBow.asm +++ b/scripts/SSAnneBow.asm @@ -1,6 +1,6 @@ SSAnneBow_Script: call EnableAutoTextBoxDrawing - ld hl, SSAnne5TrainerHeader0 + ld hl, SSAnne5TrainerHeaders ld de, SSAnneBow_ScriptPointers ld a, [wSSAnneBowCurScript] call ExecuteCurMapScriptInTable @@ -19,6 +19,8 @@ SSAnneBow_TextPointers: dw SSAnne5Text4 dw SSAnne5Text5 +SSAnne5TrainerHeaders: + def_trainers 4 SSAnne5TrainerHeader0: trainer EVENT_BEAT_SS_ANNE_5_TRAINER_0, 3, SSAnne5BattleText1, SSAnne5EndBattleText1, SSAnne5AfterBattleText1 SSAnne5TrainerHeader1: diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index f90bba65..a55c58ff 100644 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -4,7 +4,7 @@ SaffronGym_Script: res 6, [hl] call nz, .LoadNames call EnableAutoTextBoxDrawing - ld hl, SaffronGymTrainerHeader0 + ld hl, SaffronGymTrainerHeaders ld de, SaffronGym_ScriptPointers ld a, [wSaffronGymCurScript] call ExecuteCurMapScriptInTable @@ -84,6 +84,8 @@ SaffronGym_TextPointers: dw SaffronGymText11 dw SaffronGymText12 +SaffronGymTrainerHeaders: + def_trainers 2 SaffronGymTrainerHeader0: trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_0, 3, SaffronGymBattleText1, SaffronGymEndBattleText1, SaffronGymAfterBattleText1 SaffronGymTrainerHeader1: @@ -97,7 +99,7 @@ SaffronGymTrainerHeader4: SaffronGymTrainerHeader5: trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_5, 3, SaffronGymBattleText6, SaffronGymEndBattleText6, SaffronGymAfterBattleText6 SaffronGymTrainerHeader6: - trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1, 3, SaffronGymBattleText7, SaffronGymEndBattleText7, SaffronGymAfterBattleText7 + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 3, SaffronGymBattleText7, SaffronGymEndBattleText7, SaffronGymAfterBattleText7 db -1 ; end SaffronGymText1: diff --git a/scripts/SeafoamIslandsB4F.asm b/scripts/SeafoamIslandsB4F.asm index bf80d3e0..5fa51bb7 100644 --- a/scripts/SeafoamIslandsB4F.asm +++ b/scripts/SeafoamIslandsB4F.asm @@ -137,6 +137,10 @@ SeafoamIslandsB4F_TextPointers: dw SeafoamIslands5Text4 dw SeafoamIslands5Text5 +; Articuno is object 3, but its event flag is bit 2. +; This is not a problem because its sight range is 0, and +; trainer headers were not stored by ExecuteCurMapScriptInTable. + def_trainers 2 ArticunoTrainerHeader: trainer EVENT_BEAT_ARTICUNO, 0, ArticunoBattleText, ArticunoBattleText, ArticunoBattleText db -1 ; end diff --git a/scripts/SilphCo10F.asm b/scripts/SilphCo10F.asm index 29b640fd..b8b5bfea 100644 --- a/scripts/SilphCo10F.asm +++ b/scripts/SilphCo10F.asm @@ -1,7 +1,7 @@ SilphCo10F_Script: call SilphCo10Script_5a14f call EnableAutoTextBoxDrawing - ld hl, SilphCo10TrainerHeader0 + ld hl, SilphCo10TrainerHeaders ld de, SilphCo10F_ScriptPointers ld a, [wSilphCo10FCurScript] call ExecuteCurMapScriptInTable @@ -47,6 +47,8 @@ SilphCo10F_TextPointers: dw PickUpItemText dw PickUpItemText +SilphCo10TrainerHeaders: + def_trainers SilphCo10TrainerHeader0: trainer EVENT_BEAT_SILPH_CO_10F_TRAINER_0, 3, SilphCo10BattleText1, SilphCo10EndBattleText1, SilphCo10AfterBattleText1 SilphCo10TrainerHeader1: diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm index f3a7088b..70119331 100644 --- a/scripts/SilphCo11F.asm +++ b/scripts/SilphCo11F.asm @@ -1,7 +1,7 @@ SilphCo11F_Script: call SilphCo11Script_62110 call EnableAutoTextBoxDrawing - ld hl, SilphCo11TrainerHeader0 + ld hl, SilphCo11TrainerHeaders ld de, SilphCo11F_ScriptPointers ld a, [wSilphCo11FCurScript] call ExecuteCurMapScriptInTable @@ -280,6 +280,8 @@ SilphCo11F_TextPointers: dw SilphCo11Text5 dw SilphCo11Text6 +SilphCo11TrainerHeaders: + def_trainers 4 SilphCo11TrainerHeader0: trainer EVENT_BEAT_SILPH_CO_11F_TRAINER_0, 4, SilphCo11BattleText1, SilphCo11EndBattleText1, SilphCo11AfterBattleText1 SilphCo11TrainerHeader1: diff --git a/scripts/SilphCo2F.asm b/scripts/SilphCo2F.asm index 4b96c314..f8e157e8 100644 --- a/scripts/SilphCo2F.asm +++ b/scripts/SilphCo2F.asm @@ -1,7 +1,7 @@ SilphCo2F_Script: call SilphCo2Script_59d07 call EnableAutoTextBoxDrawing - ld hl, SilphCo2TrainerHeader0 + ld hl, SilphCo2TrainerHeaders ld de, SilphCo2F_ScriptPointers ld a, [wSilphCo2FCurScript] call ExecuteCurMapScriptInTable @@ -98,6 +98,8 @@ SilphCo2F_TextPointers: dw SilphCo2Text4 dw SilphCo2Text5 +SilphCo2TrainerHeaders: + def_trainers 2 SilphCo2TrainerHeader0: trainer EVENT_BEAT_SILPH_CO_2F_TRAINER_0, 3, SilphCo2BattleText1, SilphCo2EndBattleText1, SilphCo2AfterBattleText1 SilphCo2TrainerHeader1: diff --git a/scripts/SilphCo3F.asm b/scripts/SilphCo3F.asm index 69dfdad9..eb92dd78 100644 --- a/scripts/SilphCo3F.asm +++ b/scripts/SilphCo3F.asm @@ -1,7 +1,7 @@ SilphCo3F_Script: call SilphCo3Script_59f71 call EnableAutoTextBoxDrawing - ld hl, SilphCo3TrainerHeader0 + ld hl, SilphCo3TrainerHeaders ld de, SilphCo3F_ScriptPointers ld a, [wSilphCo3FCurScript] call ExecuteCurMapScriptInTable @@ -61,6 +61,8 @@ SilphCo3F_TextPointers: dw SilphCo3Text3 dw PickUpItemText +SilphCo3TrainerHeaders: + def_trainers 2 SilphCo3TrainerHeader0: trainer EVENT_BEAT_SILPH_CO_3F_TRAINER_0, 2, SilphCo3BattleText1, SilphCo3EndBattleText1, SilphCo3AfterBattleText1 SilphCo3TrainerHeader1: diff --git a/scripts/SilphCo4F.asm b/scripts/SilphCo4F.asm index 8d5d696a..486b68ac 100644 --- a/scripts/SilphCo4F.asm +++ b/scripts/SilphCo4F.asm @@ -1,7 +1,7 @@ SilphCo4F_Script: call SilphCo4Script_19d21 call EnableAutoTextBoxDrawing - ld hl, SilphCo4TrainerHeader0 + ld hl, SilphCo4TrainerHeaders ld de, SilphCo4F_ScriptPointers ld a, [wSilphCo4FCurScript] call ExecuteCurMapScriptInTable @@ -100,6 +100,8 @@ SilphCo4F_TextPointers: dw PickUpItemText dw PickUpItemText +SilphCo4TrainerHeaders: + def_trainers 2 SilphCo4TrainerHeader0: trainer EVENT_BEAT_SILPH_CO_4F_TRAINER_0, 4, SilphCo4BattleText2, SilphCo4EndBattleText2, SilphCo4AfterBattleText2 SilphCo4TrainerHeader1: diff --git a/scripts/SilphCo5F.asm b/scripts/SilphCo5F.asm index 975dacac..58b64ba2 100644 --- a/scripts/SilphCo5F.asm +++ b/scripts/SilphCo5F.asm @@ -1,7 +1,7 @@ SilphCo5F_Script: call SilphCo5Script_19f4d call EnableAutoTextBoxDrawing - ld hl, SilphCo5TrainerHeader0 + ld hl, SilphCo5TrainerHeaders ld de, SilphCo5F_ScriptPointers ld a, [wSilphCo5FCurScript] call ExecuteCurMapScriptInTable @@ -83,6 +83,8 @@ SilphCo5F_TextPointers: dw SilphCo5Text10 dw SilphCo5Text11 +SilphCo5TrainerHeaders: + def_trainers 2 SilphCo5TrainerHeader0: trainer EVENT_BEAT_SILPH_CO_5F_TRAINER_0, 1, SilphCo5BattleText2, SilphCo5EndBattleText2, SilphCo5AfterBattleText2 SilphCo5TrainerHeader1: diff --git a/scripts/SilphCo6F.asm b/scripts/SilphCo6F.asm index ea8c20c2..74cad978 100644 --- a/scripts/SilphCo6F.asm +++ b/scripts/SilphCo6F.asm @@ -1,7 +1,7 @@ SilphCo6F_Script: call SilphCo6Script_1a1bf call EnableAutoTextBoxDrawing - ld hl, SilphCo6TrainerHeader0 + ld hl, SilphCo6TrainerHeaders ld de, SilphCo6F_ScriptPointers ld a, [wSilphCo6FCurScript] call ExecuteCurMapScriptInTable @@ -51,12 +51,14 @@ SilphCo6F_TextPointers: dw PickUpItemText dw PickUpItemText +SilphCo6TrainerHeaders: + def_trainers 6 SilphCo6TrainerHeader0: trainer EVENT_BEAT_SILPH_CO_6F_TRAINER_0, 2, SilphCo6BattleText2, SilphCo6EndBattleText2, SilphCo6AfterBattleText2 SilphCo6TrainerHeader1: trainer EVENT_BEAT_SILPH_CO_6F_TRAINER_1, 3, SilphCo6BattleText3, SilphCo6EndBattleText3, SilphCo6AfterBattleText3 SilphCo6TrainerHeader2: - trainer EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1, 2, SilphCo6BattleText4, SilphCo6EndBattleText4, SilphCo6AfterBattleText4 + trainer EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 2, SilphCo6BattleText4, SilphCo6EndBattleText4, SilphCo6AfterBattleText4 db -1 ; end SilphCo6Script_1a22f: diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index 59f90f0e..ac4aaa89 100644 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -1,7 +1,7 @@ SilphCo7F_Script: call SilphCo7Script_51b77 call EnableAutoTextBoxDrawing - ld hl, SilphCo7TrainerHeader0 + ld hl, SilphCo7TrainerHeaders ld de, SilphCo7F_ScriptPointers ld a, [wSilphCo7FCurScript] call ExecuteCurMapScriptInTable @@ -279,6 +279,8 @@ SilphCo7F_TextPointers: dw SilphCo7Text14 dw SilphCo7Text15 +SilphCo7TrainerHeaders: + def_trainers 5 SilphCo7TrainerHeader0: trainer EVENT_BEAT_SILPH_CO_7F_TRAINER_0, 2, SilphCo7BattleText1, SilphCo7EndBattleText1, SilphCo7AfterBattleText1 SilphCo7TrainerHeader1: @@ -286,7 +288,7 @@ SilphCo7TrainerHeader1: SilphCo7TrainerHeader2: trainer EVENT_BEAT_SILPH_CO_7F_TRAINER_2, 3, SilphCo7BattleText3, SilphCo7EndBattleText3, SilphCo7AfterBattleText3 SilphCo7TrainerHeader3: - trainer EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1, 4, SilphCo7BattleText4, SilphCo7EndBattleText4, SilphCo7AfterBattleText4 + trainer EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 4, SilphCo7BattleText4, SilphCo7EndBattleText4, SilphCo7AfterBattleText4 db -1 ; end SilphCo7Text1: diff --git a/scripts/SilphCo8F.asm b/scripts/SilphCo8F.asm index c4e022d4..d86f433a 100644 --- a/scripts/SilphCo8F.asm +++ b/scripts/SilphCo8F.asm @@ -1,7 +1,7 @@ SilphCo8F_Script: call SilphCo8Script_5651a call EnableAutoTextBoxDrawing - ld hl, SilphCo8TrainerHeader0 + ld hl, SilphCo8TrainerHeaders ld de, SilphCo8F_ScriptPointers ld a, [wSilphCo8FCurScript] call ExecuteCurMapScriptInTable @@ -81,6 +81,8 @@ SilphCo8F_TextPointers: dw SilphCo8Text3 dw SilphCo8Text4 +SilphCo8TrainerHeaders: + def_trainers 2 SilphCo8TrainerHeader0: trainer EVENT_BEAT_SILPH_CO_8F_TRAINER_0, 4, SilphCo8BattleText1, SilphCo8EndBattleText1, SilphCo8AfterBattleText1 SilphCo8TrainerHeader1: diff --git a/scripts/SilphCo9F.asm b/scripts/SilphCo9F.asm index 1efb3d78..3f76fb52 100644 --- a/scripts/SilphCo9F.asm +++ b/scripts/SilphCo9F.asm @@ -1,7 +1,7 @@ SilphCo9F_Script: call SilphCo9Script_5d7d1 call EnableAutoTextBoxDrawing - ld hl, SilphCo9TrainerHeader0 + ld hl, SilphCo9TrainerHeaders ld de, SilphCo9F_ScriptPointers ld a, [wSilphCo9FCurScript] call ExecuteCurMapScriptInTable @@ -129,6 +129,8 @@ SilphCo9F_TextPointers: dw SilphCo9Text3 dw SilphCo9Text4 +SilphCo9TrainerHeaders: + def_trainers 2 SilphCo9TrainerHeader0: trainer EVENT_BEAT_SILPH_CO_9F_TRAINER_0, 4, SilphCo9BattleText1, SilphCo9EndBattleText1, SilphCo9AfterBattleText1 SilphCo9TrainerHeader1: diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm index 7343f37f..3673f9b9 100644 --- a/scripts/VermilionGym.asm +++ b/scripts/VermilionGym.asm @@ -9,7 +9,7 @@ VermilionGym_Script: res 6, [hl] call nz, VermilionGymSetDoorTile call EnableAutoTextBoxDrawing - ld hl, VermilionGymTrainerHeader0 + ld hl, VermilionGymTrainerHeaders ld de, VermilionGym_ScriptPointers ld a, [wVermilionGymCurScript] call ExecuteCurMapScriptInTable @@ -99,6 +99,8 @@ VermilionGym_TextPointers: dw ReceivedTM24Text dw TM24NoRoomText +VermilionGymTrainerHeaders: + def_trainers 2 VermilionGymTrainerHeader0: trainer EVENT_BEAT_VERMILION_GYM_TRAINER_0, 3, VermilionGymBattleText1, VermilionGymEndBattleText1, VermilionGymAfterBattleText1 VermilionGymTrainerHeader1: diff --git a/scripts/VictoryRoad1F.asm b/scripts/VictoryRoad1F.asm index b70f0dd4..e07e549e 100644 --- a/scripts/VictoryRoad1F.asm +++ b/scripts/VictoryRoad1F.asm @@ -4,7 +4,7 @@ VictoryRoad1F_Script: res 5, [hl] call nz, .next call EnableAutoTextBoxDrawing - ld hl, VictoryRoad1TrainerHeader0 + ld hl, VictoryRoad1TrainerHeaders ld de, VictoryRoad1F_ScriptPointers ld a, [wVictoryRoad1FCurScript] call ExecuteCurMapScriptInTable @@ -47,6 +47,8 @@ VictoryRoad1F_TextPointers: dw BoulderText dw BoulderText +VictoryRoad1TrainerHeaders: + def_trainers VictoryRoad1TrainerHeader0: trainer EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0, 2, VictoryRoad1BattleText1, VictoryRoad1EndBattleText1, VictoryRoad1AfterBattleText1 VictoryRoad1TrainerHeader1: diff --git a/scripts/VictoryRoad2F.asm b/scripts/VictoryRoad2F.asm index 61843e5e..d86c7a16 100644 --- a/scripts/VictoryRoad2F.asm +++ b/scripts/VictoryRoad2F.asm @@ -8,7 +8,7 @@ VictoryRoad2F_Script: res 5, [hl] call nz, VictoryRoad2Script_517c9 call EnableAutoTextBoxDrawing - ld hl, VictoryRoad2TrainerHeader0 + ld hl, VictoryRoad2TrainerHeaders ld de, VictoryRoad2F_ScriptPointers ld a, [wVictoryRoad2FCurScript] call ExecuteCurMapScriptInTable @@ -81,6 +81,8 @@ VictoryRoad2F_TextPointers: dw BoulderText dw BoulderText +VictoryRoad2TrainerHeaders: + def_trainers VictoryRoad2TrainerHeader0: trainer EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0, 4, VictoryRoad2BattleText1, VictoryRoad2EndBattleText1, VictoryRoad2AfterBattleText1 VictoryRoad2TrainerHeader1: diff --git a/scripts/VictoryRoad3F.asm b/scripts/VictoryRoad3F.asm index 7febdd3d..c0a0f191 100644 --- a/scripts/VictoryRoad3F.asm +++ b/scripts/VictoryRoad3F.asm @@ -1,7 +1,7 @@ VictoryRoad3F_Script: call VictoryRoad3Script_44996 call EnableAutoTextBoxDrawing - ld hl, VictoryRoad3TrainerHeader0 + ld hl, VictoryRoad3TrainerHeaders ld de, VictoryRoad3F_ScriptPointers ld a, [wVictoryRoad3FCurScript] call ExecuteCurMapScriptInTable @@ -86,6 +86,8 @@ VictoryRoad3F_TextPointers: dw BoulderText dw BoulderText +VictoryRoad3TrainerHeaders: + def_trainers VictoryRoad3TrainerHeader0: trainer EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0, 1, VictoryRoad3BattleText2, VictoryRoad3EndBattleText2, VictoryRoad3AfterBattleText2 VictoryRoad3TrainerHeader1: diff --git a/scripts/ViridianForest.asm b/scripts/ViridianForest.asm index a7e4acf8..14081694 100644 --- a/scripts/ViridianForest.asm +++ b/scripts/ViridianForest.asm @@ -1,6 +1,6 @@ ViridianForest_Script: call EnableAutoTextBoxDrawing - ld hl, ViridianForestTrainerHeader0 + ld hl, ViridianForestTrainerHeaders ld de, ViridianForest_ScriptPointers ld a, [wViridianForestCurScript] call ExecuteCurMapScriptInTable @@ -28,6 +28,8 @@ ViridianForest_TextPointers: dw ViridianForestText13 dw ViridianForestText14 +ViridianForestTrainerHeaders: + def_trainers 2 ViridianForestTrainerHeader0: trainer EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0, 4, ViridianForestBattleText1, ViridianForestEndBattleText1, ViridianForestAfterBattleText1 ViridianForestTrainerHeader1: diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index 68da9301..b7b4a34d 100644 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -3,7 +3,7 @@ ViridianGym_Script: ld de, .LeaderName call LoadGymLeaderAndCityName call EnableAutoTextBoxDrawing - ld hl, ViridianGymTrainerHeader0 + ld hl, ViridianGymTrainerHeaders ld de, ViridianGym_ScriptPointers ld a, [wViridianGymCurScript] call ExecuteCurMapScriptInTable @@ -181,6 +181,8 @@ ViridianGym_TextPointers: dw ViridianGymText13 dw ViridianGymText14 +ViridianGymTrainerHeaders: + def_trainers 2 ViridianGymTrainerHeader0: trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0, 4, ViridianGymBattleText1, ViridianGymEndBattleText1, ViridianGymAfterBattleText1 ViridianGymTrainerHeader1: @@ -194,9 +196,9 @@ ViridianGymTrainerHeader4: ViridianGymTrainerHeader5: trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5, 4, ViridianGymBattleText6, ViridianGymEndBattleText6, ViridianGymAfterBattleText6 ViridianGymTrainerHeader6: - trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1, 3, ViridianGymBattleText7, ViridianGymEndBattleText7, ViridianGymAfterBattleText7 + trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 3, ViridianGymBattleText7, ViridianGymEndBattleText7, ViridianGymAfterBattleText7 ViridianGymTrainerHeader7: - trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1, 4, ViridianGymBattleText8, ViridianGymEndBattleText8, ViridianGymAfterBattleText8 + trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 4, ViridianGymBattleText8, ViridianGymEndBattleText8, ViridianGymAfterBattleText8 db -1 ; end ViridianGymText1: From 4b64b146e4d723980d26470d171fb18e63f4a215 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 13 Apr 2021 20:08:07 -0400 Subject: [PATCH 002/119] Use assertions to catch the GetName bug, and use a NAME_BUFFER_LENGTH constant --- constants/text_constants.asm | 1 + engine/movie/oak_speech/oak_speech2.asm | 2 +- home/names2.asm | 24 +++++++++++++++--------- wram.asm | 6 +++++- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/constants/text_constants.asm b/constants/text_constants.asm index aa8374e5..e0d36148 100644 --- a/constants/text_constants.asm +++ b/constants/text_constants.asm @@ -1,5 +1,6 @@ NAME_LENGTH EQU 11 ITEM_NAME_LENGTH EQU 13 +NAME_BUFFER_LENGTH EQU 20 ; PrintNumber const_def 5 diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm index 28208ddc..84df7968 100644 --- a/engine/movie/oak_speech/oak_speech2.asm +++ b/engine/movie/oak_speech/oak_speech2.asm @@ -210,7 +210,7 @@ GetDefaultName: ld h, d ld l, e ld de, wcd6d - ld bc, $14 + ld bc, NAME_BUFFER_LENGTH jp CopyData INCLUDE "data/player_names_list.asm" diff --git a/home/names2.asm b/home/names2.asm index 39ba1f55..cb53154c 100644 --- a/home/names2.asm +++ b/home/names2.asm @@ -20,6 +20,12 @@ GetName:: ; TM names are separate from item names. ; BUG: This applies to all names instead of just items. + assert NUM_POKEMON_INDEXES < HM01, \ + "A bug in GetName will get TM/HM names for Pokémon above ${x:HM01}." + assert NUM_ATTACKS < HM01, \ + "A bug in GetName will get TM/HM names for moves above ${x:HM01}." + assert NUM_TRAINERS < HM01, \ + "A bug in GetName will get TM/HM names for trainers above ${x:HM01}." cp HM01 jp nc, GetMachineName @@ -28,10 +34,10 @@ GetName:: push hl push bc push de - ld a, [wNameListType] ;List3759_entrySelector + ld a, [wNameListType] dec a jr nz, .otherEntries - ;1 = MON_NAMES + ; 1 = MONSTER_NAME call GetMonName ld hl, NAME_LENGTH add hl, de @@ -39,11 +45,11 @@ GetName:: ld d, h jr .gotPtr .otherEntries - ;2-7 = OTHER ENTRIES + ; 2-7 = other names ld a, [wPredefBank] ldh [hLoadedROMBank], a ld [MBC1RomBank], a - ld a, [wNameListType] ;VariousNames' entryID + ld a, [wNameListType] dec a add a ld d, 0 @@ -62,8 +68,8 @@ GetName:: ldh a, [hSwapTemp + 1] ld l, a ld a, [wd0b5] - ld b, a - ld c, 0 + ld b, a ; wanted entry + ld c, 0 ; entry counter .nextName ld d, h ld e, l @@ -71,14 +77,14 @@ GetName:: ld a, [hli] cp "@" jr nz, .nextChar - inc c ;entry counter - ld a, b ;wanted entry + inc c + ld a, b cp c jr nz, .nextName ld h, d ld l, e ld de, wcd6d - ld bc, $14 + ld bc, NAME_BUFFER_LENGTH call CopyData .gotPtr ld a, e diff --git a/wram.asm b/wram.asm index 26f6f053..ce354a2d 100644 --- a/wram.asm +++ b/wram.asm @@ -1173,7 +1173,11 @@ wNumMovesMinusOne:: UNION -wcd6d:: ds 4 ; buffer for various data +wcd6d:: ds NAME_BUFFER_LENGTH ; buffer for various data + +NEXTU + + ds 4 wStatusScreenCurrentPP:: ; temp variable used to print a move's current PP on the status screen From dd690920c9f8502b649f1022fadbb99fab67a44a Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 17 Apr 2021 19:06:56 -0400 Subject: [PATCH 003/119] Use rgbds 0.5.0 features: - FOR loops - {interpolation} - REDEF EQUS - \# for all macro args --- constants/item_constants.asm | 23 +++--------- data/moves/tmhm_moves.asm | 24 ++---------- data/tilesets/collision_tile_ids.asm | 7 ++-- data/tilesets/door_tile_ids.asm | 7 ++-- data/tilesets/warp_carpet_tile_ids.asm | 7 ++-- data/tilesets/warp_tile_ids.asm | 7 ++-- data/trainers/move_choices.asm | 7 ++-- engine/overworld/healing_machine.asm | 4 +- home/vcopy.asm | 22 +++++------ macros/asserts.asm | 42 ++++++++------------- macros/data.asm | 20 +++------- macros/scripts/events.asm | 8 ++-- macros/scripts/maps.asm | 52 +++++++++----------------- macros/scripts/text.asm | 7 ++-- rgbdscheck.asm | 16 +++++--- 15 files changed, 90 insertions(+), 163 deletions(-) diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 9002a87b..d4566c71 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -29,8 +29,8 @@ const POTION ; $14 const BOULDERBADGE ; $15 const CASCADEBADGE ; $16 -SAFARI_BAIT EQU $15 ; overload -SAFARI_ROCK EQU $16 ; overload +SAFARI_BAIT EQU $15 ; overload +SAFARI_ROCK EQU $16 ; overload const THUNDERBADGE ; $17 const RAINBOWBADGE ; $18 const SOULBADGE ; $19 @@ -128,17 +128,10 @@ IF !DEF(HM01) HM01 EQU const_value __tmhm_value__ = NUM_TMS + 1 ENDC -HM_VALUE EQU __tmhm_value__ - NUM_TMS -IF HM_VALUE < 10 -MOVE_FOR_HM EQUS "HM0{d:HM_VALUE}_MOVE" -ELSE -MOVE_FOR_HM EQUS "HM{d:HM_VALUE}_MOVE" -ENDC -MOVE_FOR_HM = \1 -PURGE MOVE_FOR_HM -PURGE HM_VALUE const HM_\1 \1_TMNUM EQU __tmhm_value__ +__HM_VALUE = __tmhm_value__ - NUM_TMS +HM{02d:__HM_VALUE}_MOVE EQU \1 __tmhm_value__ = __tmhm_value__ + 1 ENDM @@ -159,15 +152,9 @@ IF !DEF(TM01) TM01 EQU const_value __tmhm_value__ = 1 ENDC -IF __tmhm_value__ < 10 -MOVE_FOR_TM EQUS "TM0{d:__tmhm_value__}_MOVE" -ELSE -MOVE_FOR_TM EQUS "TM{d:__tmhm_value__}_MOVE" -ENDC -MOVE_FOR_TM = \1 -PURGE MOVE_FOR_TM const TM_\1 \1_TMNUM EQU __tmhm_value__ +TM{02d:__tmhm_value__}_MOVE EQU \1 __tmhm_value__ = __tmhm_value__ + 1 ENDM diff --git a/data/moves/tmhm_moves.asm b/data/moves/tmhm_moves.asm index 123df8c6..6b279f5a 100644 --- a/data/moves/tmhm_moves.asm +++ b/data/moves/tmhm_moves.asm @@ -4,28 +4,12 @@ TechnicalMachines: table_width 1, TechnicalMachines -n = 1 -REPT NUM_TMS -IF n < 10 -MOVE_FOR_TM EQUS "TM0{d:n}_MOVE" -ELSE -MOVE_FOR_TM EQUS "TM{d:n}_MOVE" -ENDC - db MOVE_FOR_TM -PURGE MOVE_FOR_TM -n = n + 1 +FOR n, 1, NUM_TMS + 1 + db TM{02d:n}_MOVE ENDR assert_table_length NUM_TMS -n = 1 -REPT NUM_HMS -IF n < 10 -MOVE_FOR_HM EQUS "HM0{d:n}_MOVE" -ELSE -MOVE_FOR_HM EQUS "HM{d:n}_MOVE" -ENDC - db MOVE_FOR_HM -PURGE MOVE_FOR_HM -n = n + 1 +FOR n, 1, NUM_HMS + 1 + db HM{02d:n}_MOVE ENDR assert_table_length NUM_TM_HM diff --git a/data/tilesets/collision_tile_ids.asm b/data/tilesets/collision_tile_ids.asm index d348d5d5..c1bee7ce 100644 --- a/data/tilesets/collision_tile_ids.asm +++ b/data/tilesets/collision_tile_ids.asm @@ -1,8 +1,7 @@ coll_tiles: MACRO -REPT _NARG - db \1 - shift -ENDR + IF _NARG + db \# ; all args + ENDC db -1 ; end ENDM diff --git a/data/tilesets/door_tile_ids.asm b/data/tilesets/door_tile_ids.asm index c371e92b..716f76f3 100644 --- a/data/tilesets/door_tile_ids.asm +++ b/data/tilesets/door_tile_ids.asm @@ -15,10 +15,9 @@ DoorTileIDPointers: db -1 ; end door_tiles: MACRO -REPT _NARG - db \1 - shift -ENDR + IF _NARG + db \# ; all args + ENDC db 0 ; end ENDM diff --git a/data/tilesets/warp_carpet_tile_ids.asm b/data/tilesets/warp_carpet_tile_ids.asm index be327599..a8a19011 100644 --- a/data/tilesets/warp_carpet_tile_ids.asm +++ b/data/tilesets/warp_carpet_tile_ids.asm @@ -5,10 +5,9 @@ WarpTileListPointers: dw .FacingRightWarpTiles warp_carpet_tiles: MACRO -REPT _NARG - db \1 - shift -ENDR + IF _NARG + db \# ; all args + ENDC db -1 ; end ENDM diff --git a/data/tilesets/warp_tile_ids.asm b/data/tilesets/warp_tile_ids.asm index 94c5397c..80df6cdf 100644 --- a/data/tilesets/warp_tile_ids.asm +++ b/data/tilesets/warp_tile_ids.asm @@ -27,10 +27,9 @@ WarpTileIDPointers: assert_table_length NUM_TILESETS warp_tiles: MACRO -REPT _NARG - db \1 - shift -ENDR + IF _NARG + db \# ; all args + ENDC db -1 ; end ENDM diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm index d4900c9f..2c3498af 100644 --- a/data/trainers/move_choices.asm +++ b/data/trainers/move_choices.asm @@ -1,8 +1,7 @@ move_choices: MACRO -REPT _NARG - db \1 - shift -ENDR + IF _NARG + db \# ; all args + ENDC db 0 ; end list_index = list_index + 1 ENDM diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index 62abc7ee..63c8f9ea 100644 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -91,9 +91,9 @@ FlashSprite8Times: CopyHealingMachineOAM: ; copy one OAM entry and advance the pointers - REPT 4 +REPT 4 ld a, [de] inc de ld [hli], a - ENDR +ENDR ret diff --git a/home/vcopy.asm b/home/vcopy.asm index 882773a8..0b0e0144 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -23,7 +23,7 @@ ClearBgMap:: jr .next ld a, l .next - ld de, $400 ; size of VRAM background map + ld de, BG_MAP_WIDTH * BG_MAP_HEIGHT ld l, e .loop ld [hli], a @@ -69,7 +69,7 @@ RedrawRowOrColumn:: .noCarry ; the following 4 lines wrap us from bottom to top if necessary ld a, d - and $03 + and $3 or $98 ld d, a dec c @@ -169,21 +169,19 @@ AutoBgMapTransfer:: TransferBgRows:: ; unrolled loop and using pop for speed - - REPT 20 / 2 - 1 +REPT SCREEN_WIDTH / 2 - 1 pop de ld [hl], e inc l ld [hl], d inc l - ENDR - +ENDR pop de ld [hl], e inc l ld [hl], d - ld a, 32 - (20 - 1) + ld a, BG_MAP_WIDTH - (SCREEN_WIDTH - 1) add l ld l, a jr nc, .ok @@ -261,7 +259,7 @@ VBlankCopyDouble:: ldh [hVBlankCopyDoubleSize], a .loop - REPT 3 +REPT LEN_2BPP_TILE / 4 - 1 pop de ld [hl], e inc l @@ -271,8 +269,7 @@ VBlankCopyDouble:: inc l ld [hl], d inc l - ENDR - +ENDR pop de ld [hl], e inc l @@ -339,14 +336,13 @@ VBlankCopy:: ldh [hVBlankCopySize], a .loop - REPT 7 +REPT LEN_2BPP_TILE / 2 - 1 pop de ld [hl], e inc l ld [hl], d inc l - ENDR - +ENDR pop de ld [hl], e inc l diff --git a/macros/asserts.asm b/macros/asserts.asm index d04c7942..a07bc553 100644 --- a/macros/asserts.asm +++ b/macros/asserts.asm @@ -2,33 +2,27 @@ table_width: MACRO CURRENT_TABLE_WIDTH = \1 -IF DEF(CURRENT_TABLE_START) -PURGE CURRENT_TABLE_START -ENDC IF _NARG == 2 -CURRENT_TABLE_START EQUS "\2" +REDEF CURRENT_TABLE_START EQUS "\2" ELSE -CURRENT_TABLE_START EQUS "._table_width\@" -CURRENT_TABLE_START: +REDEF CURRENT_TABLE_START EQUS "._table_width\@" +{CURRENT_TABLE_START}: ENDC ENDM assert_table_length: MACRO x = \1 - ASSERT x * CURRENT_TABLE_WIDTH == @ - CURRENT_TABLE_START, \ + ASSERT x * CURRENT_TABLE_WIDTH == @ - {CURRENT_TABLE_START}, \ "{CURRENT_TABLE_START}: expected {d:x} entries, each {d:CURRENT_TABLE_WIDTH} bytes" ENDM list_start: MACRO list_index = 0 -IF DEF(CURRENT_LIST_START) -PURGE CURRENT_LIST_START -ENDC IF _NARG == 1 -CURRENT_LIST_START EQUS "\1" +REDEF CURRENT_LIST_START EQUS "\1" ELSE -CURRENT_LIST_START EQUS "._list_start\@" -CURRENT_LIST_START: +REDEF CURRENT_LIST_START EQUS "._list_start\@" +{CURRENT_LIST_START}: ENDC ENDM @@ -46,42 +40,36 @@ ENDM def_grass_wildmons: MACRO ;\1: encounter rate -if DEF(CURRENT_GRASS_WILDMONS_LABEL) -PURGE CURRENT_GRASS_WILDMONS_LABEL -endc CURRENT_GRASS_WILDMONS_RATE = \1 -CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1" -CURRENT_GRASS_WILDMONS_LABEL: +REDEF CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1" +{CURRENT_GRASS_WILDMONS_LABEL}: db \1 ENDM end_grass_wildmons: MACRO IF CURRENT_GRASS_WILDMONS_RATE == 0 - assert 1 == @ - CURRENT_GRASS_WILDMONS_LABEL, \ + assert 1 == @ - {CURRENT_GRASS_WILDMONS_LABEL}, \ "def_grass_wildmons {d:CURRENT_GRASS_WILDMONS_RATE}: expected 1 byte" ELSE - assert WILDDATA_LENGTH == @ - CURRENT_GRASS_WILDMONS_LABEL, \ + assert WILDDATA_LENGTH == @ - {CURRENT_GRASS_WILDMONS_LABEL}, \ "def_grass_wildmons {d:CURRENT_GRASS_WILDMONS_RATE}: expected {d:WILDDATA_LENGTH} bytes" ENDC ENDM def_water_wildmons: MACRO ;\1: encounter rate -if DEF(CURRENT_WATER_WILDMONS_LABEL) -PURGE CURRENT_WATER_WILDMONS_LABEL -endc CURRENT_WATER_WILDMONS_RATE = \1 -CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1" -CURRENT_WATER_WILDMONS_LABEL: +REDEF CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1" +{CURRENT_WATER_WILDMONS_LABEL}: db \1 ENDM end_water_wildmons: MACRO IF CURRENT_WATER_WILDMONS_RATE == 0 - assert 1 == @ - CURRENT_WATER_WILDMONS_LABEL, \ + assert 1 == @ - {CURRENT_WATER_WILDMONS_LABEL}, \ "def_water_wildmons {d:CURRENT_WATER_WILDMONS_RATE}: expected 1 byte" ELSE - assert WILDDATA_LENGTH == @ - CURRENT_WATER_WILDMONS_LABEL, \ + assert WILDDATA_LENGTH == @ - {CURRENT_WATER_WILDMONS_LABEL}, \ "def_water_wildmons {d:CURRENT_WATER_WILDMONS_RATE}: expected {d:WILDDATA_LENGTH} bytes" ENDC ENDM diff --git a/macros/data.asm b/macros/data.asm index 7ea7af2c..fb8ea844 100644 --- a/macros/data.asm +++ b/macros/data.asm @@ -19,33 +19,23 @@ money EQUS "bcd3" ; used in data/pokemon/base_stats/*.asm tmhm: MACRO ; initialize bytes to 0 -n = 0 -REPT (NUM_TM_HM + 7) / 8 -_TM_BYTE EQUS "_tm{d:n}" -_TM_BYTE = 0 -PURGE _TM_BYTE -n = n + 1 +FOR n, (NUM_TM_HM + 7) / 8 +_tm{d:n} = 0 ENDR ; set bits of bytes REPT _NARG IF DEF(\1_TMNUM) n = (\1_TMNUM - 1) / 8 i = (\1_TMNUM - 1) % 8 -_TM_BYTE EQUS "_tm{d:n}" -_TM_BYTE = _TM_BYTE | (1 << i) -PURGE _TM_BYTE +_tm{d:n} = _tm{d:n} | (1 << i) ELSE FAIL "\1 is not a TM or HM move" ENDC SHIFT ENDR ; output bytes -n = 0 -REPT (NUM_TM_HM + 7) / 8 -_TM_BYTE EQUS "_tm{d:n}" - db _TM_BYTE -PURGE _TM_BYTE -n = n + 1 +FOR n, (NUM_TM_HM + 7) / 8 + db _tm{d:n} ENDR ENDM diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm index e55aa00e..c7fdb484 100644 --- a/macros/scripts/events.asm +++ b/macros/scripts/events.asm @@ -184,8 +184,8 @@ ENDM SetEvents: MACRO SetEvent \1 REPT _NARG - 1 - SetEventReuseHL \2 - SHIFT + SetEventReuseHL \2 + SHIFT ENDR ENDM @@ -236,8 +236,8 @@ ENDM ResetEvents: MACRO ResetEvent \1 REPT _NARG - 1 - ResetEventReuseHL \2 - SHIFT + ResetEventReuseHL \2 + SHIFT ENDR ENDM diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index 204098ad..8ab5c46d 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -1,10 +1,7 @@ def_objects: MACRO - IF DEF(_NUM_OBJECTS) - PURGE _NUM_OBJECTS - ENDC -_NUM_OBJECTS EQUS "_NUM_OBJECTS_\@" - db _NUM_OBJECTS -_NUM_OBJECTS = 0 +REDEF _NUM_OBJECTS EQUS "_NUM_OBJECTS_\@" + db {_NUM_OBJECTS} +{_NUM_OBJECTS} = 0 ENDM ;\1 sprite id @@ -32,16 +29,13 @@ object: MACRO ELSE db \6 ENDC -_NUM_OBJECTS = _NUM_OBJECTS + 1 +{_NUM_OBJECTS} = {_NUM_OBJECTS} + 1 ENDM def_warps: MACRO - IF DEF(_NUM_WARPS) - PURGE _NUM_WARPS - ENDC -_NUM_WARPS EQUS "_NUM_WARPS_\@" - db _NUM_WARPS -_NUM_WARPS = 0 +REDEF _NUM_WARPS EQUS "_NUM_WARPS_\@" + db {_NUM_WARPS} +{_NUM_WARPS} = 0 ENDM ;\1 x position @@ -50,19 +44,15 @@ ENDM ;\4 destination map (-1 = wLastMap) warp: MACRO db \2, \1, \3, \4 -_TMP EQUS "\n_WARP_{d:{_NUM_WARPS}}_X = \1\n_WARP_{d:{_NUM_WARPS}}_Y = \2" - _TMP - PURGE _TMP -_NUM_WARPS = _NUM_WARPS + 1 +_WARP_{d:{_NUM_WARPS}}_X = \1 +_WARP_{d:{_NUM_WARPS}}_Y = \2 +{_NUM_WARPS} = {_NUM_WARPS} + 1 ENDM def_signs: MACRO - IF DEF(_NUM_SIGNS) - PURGE _NUM_SIGNS - ENDC -_NUM_SIGNS EQUS "_NUM_SIGNS_\@" - db _NUM_SIGNS -_NUM_SIGNS = 0 +REDEF _NUM_SIGNS EQUS "_NUM_SIGNS_\@" + db {_NUM_SIGNS} +{_NUM_SIGNS} = 0 ENDM ;\1 x position @@ -70,17 +60,13 @@ ENDM ;\3 sign id sign: MACRO db \2, \1, \3 -_NUM_SIGNS = _NUM_SIGNS + 1 +{_NUM_SIGNS} = {_NUM_SIGNS} + 1 ENDM ;\1 source map def_warps_to: MACRO -N = 0 - REPT _NUM_WARPS -_TMP EQUS "warp_to _WARP_{d:N}_X, _WARP_{d:N}_Y, \1_WIDTH" - _TMP - PURGE _TMP -N = N + 1 + FOR n, _NUM_WARPS + warp_to _WARP_{d:n}_X, _WARP_{d:n}_Y, \1_WIDTH ENDR ENDM @@ -146,10 +132,8 @@ ENDM ; Comes after map_header and connection macros end_map_header: MACRO - dw CURRENT_MAP_OBJECT - PURGE CURRENT_MAP_WIDTH - PURGE CURRENT_MAP_HEIGHT - PURGE CURRENT_MAP_OBJECT + dw {CURRENT_MAP_OBJECT} + PURGE CURRENT_MAP_WIDTH, CURRENT_MAP_HEIGHT, CURRENT_MAP_OBJECT ENDM ; Connections go in order: north, south, west, east diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm index a947ca2f..c446c6c7 100644 --- a/macros/scripts/text.asm +++ b/macros/scripts/text.asm @@ -169,10 +169,9 @@ ENDM script_mart: MACRO db TX_SCRIPT_MART db _NARG ; number of items -REPT _NARG - db \1 ; item id - SHIFT -ENDR + IF _NARG + db \# ; all item ids + ENDC db -1 ; end ENDM diff --git a/rgbdscheck.asm b/rgbdscheck.asm index 63df3575..59810eac 100644 --- a/rgbdscheck.asm +++ b/rgbdscheck.asm @@ -1,14 +1,18 @@ -; pokered requires rgbds 0.4.2 or newer. MAJOR EQU 0 -MINOR EQU 4 -PATCH EQU 2 +MINOR EQU 5 +PATCH EQU 0 + +wrong_rgbds: MACRO + fail "pokered requires rgbds v0.5.0 or newer." +ENDM IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) - fail "pokered requires rgbds 0.4.2 or newer." + wrong_rgbds ELSE IF (__RGBDS_MAJOR__ < MAJOR) || \ (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ < MINOR) || \ - (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ == MINOR && __RGBDS_PATCH__ < PATCH) - fail "pokered requires rgbds 0.4.2 or newer." + (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ == MINOR && __RGBDS_PATCH__ < PATCH) || \ + (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ == MINOR && __RGBDS_PATCH__ == PATCH && DEF(__RGBDS_RC__)) + wrong_rgbds ENDC ENDC From 955e4eddf8fdfbb68dad3ada8712faf6fb44a417 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 17 Apr 2021 19:16:12 -0400 Subject: [PATCH 004/119] Actually use rgbds 0.5.0 --- .travis.yml | 2 +- tools/unnamed.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0d3b9f7a..a0b965f7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ os: install: - |- ( cd - git clone -b v0.4.2 --depth=1 https://github.com/gbdev/rgbds + git clone -b v0.5.0 --depth=1 https://github.com/gbdev/rgbds sudo make -C rgbds install rm -rf rgbds ) diff --git a/tools/unnamed.py b/tools/unnamed.py index f99a38d8..4268879e 100755 --- a/tools/unnamed.py +++ b/tools/unnamed.py @@ -82,7 +82,7 @@ for objfile in objects: elif magic == b'RGB9': obj_ver = 10 + unpack_file(" Date: Sat, 17 Apr 2021 19:20:14 -0400 Subject: [PATCH 005/119] Fix tools/unnamed.py --- tools/unnamed.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/unnamed.py b/tools/unnamed.py index 4268879e..e4634541 100755 --- a/tools/unnamed.py +++ b/tools/unnamed.py @@ -89,7 +89,7 @@ for objfile in objects: num_symbols = unpack_file(" Date: Sat, 17 Apr 2021 19:28:38 -0400 Subject: [PATCH 006/119] Prevent some gcc versions from complaining about {0} in tools/scan_includes.c --- tools/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/Makefile b/tools/Makefile index a9906fad..7ab1d146 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -1,7 +1,7 @@ .PHONY: all clean CC := gcc -CFLAGS := -O3 -std=c99 -Wall -Wextra -pedantic +CFLAGS := -O3 -std=c99 -Wall -Wextra -Wno-missing-field-initializers tools := scan_includes gfx pkmncompress From b920ea060aca9e95b215425770c3facfd25a6914 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 18 Apr 2021 15:20:48 -0400 Subject: [PATCH 007/119] Explain how to use a local copy of rgbds --- INSTALL.md | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 57c9e987..135a745a 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -42,9 +42,9 @@ Run setup and leave the default settings. At the "**Select Packages**" step, cho Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install/windows) for Windows with Cygwin to install **rgbds 0.4.2**. +Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install/windows) for Windows with Cygwin to install **rgbds 0.5.0**. -**Note:** If you already have an older rgbds, you will need to update to 0.4.2. Ignore this if you have never installed rgbds before. If a version newer than 0.4.2 does not work, try downloading 0.4.2. +**Note:** If you already have an older rgbds, you will need to update to 0.5.0. Ignore this if you have never installed rgbds before. If a version newer than 0.5.0 does not work, try downloading 0.5.0. Now open the **Cygwin terminal** and enter the following commands. @@ -67,7 +67,7 @@ Install [**Homebrew**](https://brew.sh/). Follow the official instructions. Open **Terminal** and prepare to enter commands. -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/macos) for macOS to install **rgbds 0.4.2**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/macos) for macOS to install **rgbds 0.5.0**. Now you're ready to [build **pokered**](#build-pokered). @@ -84,7 +84,7 @@ To install the software required for **pokered**: sudo apt-get install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.4.2** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.0** from source. ### OpenSUSE @@ -94,7 +94,7 @@ To install the software required for **pokered**: sudo zypper install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.4.2** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.0** from source. ### Arch Linux @@ -104,9 +104,9 @@ To install the software required for **pokered**: sudo pacman -S make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/arch) for Arch Linux to install **rgbds 0.4.2**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/arch) for Arch Linux to install **rgbds 0.5.0**. -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.4.2** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.0** from source. ### Termux @@ -122,7 +122,7 @@ To install **rgbds**: sudo apt install rgbds ``` -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.4.2** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.0** from source. ### Other distros @@ -133,7 +133,7 @@ If your distro is not listed here, try to find the required software in its repo - `git` - `rgbds` -If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.4.2** from source. +If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.0** from source. Now you're ready to [build **pokered**](#build-pokered). @@ -152,3 +152,11 @@ To build **pokered.gbc** and **pokeblue.gbc**: ```bash make ``` + +### Build with a local rgbds version + +If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.5.0 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.5.0/`. Then specifiy it when you run `make`: + +```bash +make RGBDS=rgbds-0.5.0/ +``` From e2c8614cb1a888cc38f7b103953241db78b7f34f Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 18 Apr 2021 15:22:00 -0400 Subject: [PATCH 008/119] Fix a typo --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index 135a745a..e981ee5f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -155,7 +155,7 @@ make ### Build with a local rgbds version -If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.5.0 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.5.0/`. Then specifiy it when you run `make`: +If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.5.0 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.5.0/`. Then specify it when you run `make`: ```bash make RGBDS=rgbds-0.5.0/ From 21ff7695173821ac333039df4ab1c68c227aea0a Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 18 Apr 2021 15:32:06 -0400 Subject: [PATCH 009/119] Install rgbds with `brew` on macOS so Travis CI will pass Building rgbds on macOS with `make` uses the system `bison`, which is an older version that doesn't support `-Wall`. --- .travis.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index a0b965f7..0b0973db 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,9 +5,13 @@ os: install: - |- ( cd - git clone -b v0.5.0 --depth=1 https://github.com/gbdev/rgbds - sudo make -C rgbds install - rm -rf rgbds + if [ $TRAVIS_OS_NAME = linux ]; then + git clone -b v0.5.0 --depth=1 https://github.com/gbdev/rgbds; + sudo make -C rgbds install; + rm -rf rgbds; + else + brew install rgbds; + fi ) before_script: - |- From 5d74bf5126b57c6aef45f5a67e2cb1cbccb5a980 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 18 Apr 2021 15:49:34 -0400 Subject: [PATCH 010/119] Don't let brew auto-update everything, just install rgbds --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0b0973db..e5c15e79 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ install: sudo make -C rgbds install; rm -rf rgbds; else - brew install rgbds; + HOMEBREW_NO_AUTO_UPDATE=1 brew install rgbds; fi ) before_script: From 84694218926e2668ef137783f3c2607f62fa936f Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 18 Apr 2021 15:57:28 -0400 Subject: [PATCH 011/119] Change how Travis CI builds on macOS Install an updated version of bison with brew, then build rgbds with make --- .travis.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index e5c15e79..4896c98e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,13 +5,13 @@ os: install: - |- ( cd - if [ $TRAVIS_OS_NAME = linux ]; then - git clone -b v0.5.0 --depth=1 https://github.com/gbdev/rgbds; - sudo make -C rgbds install; - rm -rf rgbds; - else - HOMEBREW_NO_AUTO_UPDATE=1 brew install rgbds; + if [ "$TRAVIS_OS_NAME" = osx ]; then + HOMEBREW_NO_AUTO_UPDATE=1 brew install bison + export PATH="/usr/local/opt/bison/bin:$PATH" fi + git clone -b v0.5.0 --depth=1 https://github.com/gbdev/rgbds + sudo make -C rgbds install + rm -rf rgbds ) before_script: - |- From bcc4380d40767983a0b253d486bb3c82f0f1fd07 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 19 Apr 2021 16:30:07 -0400 Subject: [PATCH 012/119] Port 'add_tmnum' from pokecrystal --- constants/item_constants.asm | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/constants/item_constants.asm b/constants/item_constants.asm index d4566c71..bb779fe4 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -118,23 +118,25 @@ NUM_FLOORS EQU const_value - 1 - NUM_ITEMS ; match the actual number below. NUM_TMS EQU 50 +__tmhm_value__ = NUM_TMS + 1 + +add_tmnum: MACRO +\1_TMNUM EQU __tmhm_value__ +__tmhm_value__ = __tmhm_value__ + 1 +ENDM + add_hm: MACRO ; Defines three constants: ; - HM_\1: the item id, starting at $C4 ; - \1_TMNUM: the learnable TM/HM flag, starting at 51 ; - HM##_MOVE: alias for the move id, equal to the value of \1 -; The first usage also defines HM01 as the first HM item id. -IF !DEF(HM01) -HM01 EQU const_value -__tmhm_value__ = NUM_TMS + 1 -ENDC const HM_\1 -\1_TMNUM EQU __tmhm_value__ -__HM_VALUE = __tmhm_value__ - NUM_TMS -HM{02d:__HM_VALUE}_MOVE EQU \1 -__tmhm_value__ = __tmhm_value__ + 1 +HM_VALUE = __tmhm_value__ - NUM_TMS +HM{02d:HM_VALUE}_MOVE EQU \1 + add_tmnum \1 ENDM +HM01 EQU const_value add_hm CUT ; $C4 add_hm FLY ; $C5 add_hm SURF ; $C6 @@ -142,22 +144,19 @@ ENDM add_hm FLASH ; $C8 NUM_HMS EQU const_value - HM01 +__tmhm_value__ = 1 + add_tm: MACRO ; Defines three constants: ; - TM_\1: the item id, starting at $C9 ; - \1_TMNUM: the learnable TM/HM flag, starting at 1 ; - TM##_MOVE: alias for the move id, equal to the value of \1 -; The first usage also defines TM01 as the first TM item id. -IF !DEF(TM01) -TM01 EQU const_value -__tmhm_value__ = 1 -ENDC const TM_\1 -\1_TMNUM EQU __tmhm_value__ TM{02d:__tmhm_value__}_MOVE EQU \1 -__tmhm_value__ = __tmhm_value__ + 1 + add_tmnum \1 ENDM +TM01 EQU const_value add_tm MEGA_PUNCH ; $C9 add_tm RAZOR_WIND ; $CA add_tm SWORDS_DANCE ; $CB From 6a31663c960a5c1da9dbbf12d49e0252860b96d0 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 27 Apr 2021 15:49:59 -0400 Subject: [PATCH 013/119] Use {interpolation} to generate sequences of RAM labels Fixes #319 --- constants/gfx_constants.asm | 3 + constants/map_object_constants.asm | 2 + engine/battle/misc.asm | 2 +- engine/battle/read_trainer_party.asm | 2 +- engine/events/give_pokemon.asm | 2 +- engine/items/item_effects.asm | 16 +-- engine/link/cable_club.asm | 8 +- engine/menus/save.asm | 2 +- engine/movie/oak_speech/init_player_data.asm | 2 +- engine/pokemon/add_mon.asm | 8 +- engine/pokemon/bills_pc.asm | 10 +- engine/pokemon/remove_mon.asm | 2 +- sram.asm | 31 +++-- vram.asm | 32 ++--- wram.asm | 128 ++++++++++--------- 15 files changed, 135 insertions(+), 115 deletions(-) diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 19f935f6..91463e7c 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -17,6 +17,9 @@ HP_BAR_GREEN EQU 0 HP_BAR_YELLOW EQU 1 HP_BAR_RED EQU 2 +; wOAMBuffer +NUM_SPRITE_OAM_STRUCTS EQU 40 + ; hAutoBGTransferEnabled TRANSFERTOP EQU 0 TRANSFERMIDDLE EQU 1 diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm index 9993a6a9..899e01f0 100644 --- a/constants/map_object_constants.asm +++ b/constants/map_object_constants.asm @@ -38,6 +38,8 @@ SPRITESTATEDATA1_LENGTH EQU const_value const SPRITESTATEDATA2_0F ; f SPRITESTATEDATA2_LENGTH EQU const_value +NUM_SPRITESTATEDATA_STRUCTS EQU 16 + ; different kinds of people events ITEM EQU $80 TRAINER EQU $40 diff --git a/engine/battle/misc.asm b/engine/battle/misc.asm index 33af6f6f..524ec161 100644 --- a/engine/battle/misc.asm +++ b/engine/battle/misc.asm @@ -113,7 +113,7 @@ GetMonSpecies: ld hl, wBoxSpecies jr .getSpecies .enemyParty - ld hl, wEnemyPartyMons + ld hl, wEnemyPartySpecies .getSpecies ld d, 0 add hl, de diff --git a/engine/battle/read_trainer_party.asm b/engine/battle/read_trainer_party.asm index a0132a4f..a9e09a30 100644 --- a/engine/battle/read_trainer_party.asm +++ b/engine/battle/read_trainer_party.asm @@ -5,7 +5,7 @@ ReadTrainer: and a ret nz -; set [wEnemyPartyCount] to 0, [wEnemyPartyMons] to FF +; set [wEnemyPartyCount] to 0, [wEnemyPartySpecies] to FF ; XXX first is total enemy pokemon? ; XXX second is species of first pokemon? ld hl, wEnemyPartyCount diff --git a/engine/events/give_pokemon.asm b/engine/events/give_pokemon.asm index ef01ef99..14dcea42 100644 --- a/engine/events/give_pokemon.asm +++ b/engine/events/give_pokemon.asm @@ -7,7 +7,7 @@ _GivePokemon:: ld a, [wPartyCount] cp PARTY_LENGTH jr c, .addToParty - ld a, [wNumInBox] + ld a, [wBoxCount] cp MONS_PER_BOX jr nc, .boxFull ; add to box diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 0448866e..38ea37c0 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -120,7 +120,7 @@ ItemUseBall: ld a, [wPartyCount] ; is party full? cp PARTY_LENGTH jr nz, .canUseBall - ld a, [wNumInBox] ; is box full? + ld a, [wBoxCount] ; is box full? cp MONS_PER_BOX jp z, BoxFullCannotThrowBall @@ -2638,7 +2638,7 @@ IsKeyItem_:: INCLUDE "data/items/key_items.asm" SendNewMonToBox: - ld de, wNumInBox + ld de, wBoxCount ld a, [de] inc a ld [de], a @@ -2657,7 +2657,7 @@ SendNewMonToBox: call GetMonHeader ld hl, wBoxMonOT ld bc, NAME_LENGTH - ld a, [wNumInBox] + ld a, [wBoxCount] dec a jr z, .asm_e7ee dec a @@ -2668,7 +2668,7 @@ SendNewMonToBox: ld d, h ld e, l pop hl - ld a, [wNumInBox] + ld a, [wBoxCount] dec a ld b, a .asm_e7db @@ -2689,7 +2689,7 @@ SendNewMonToBox: ld de, wBoxMonOT ld bc, NAME_LENGTH call CopyData - ld a, [wNumInBox] + ld a, [wBoxCount] dec a jr z, .asm_e82a ld hl, wBoxMonNicks @@ -2702,7 +2702,7 @@ SendNewMonToBox: ld d, h ld e, l pop hl - ld a, [wNumInBox] + ld a, [wBoxCount] dec a ld b, a .asm_e817 @@ -2723,7 +2723,7 @@ SendNewMonToBox: ld a, NAME_MON_SCREEN ld [wNamingScreenType], a predef AskName - ld a, [wNumInBox] + ld a, [wBoxCount] dec a jr z, .asm_e867 ld hl, wBoxMons @@ -2736,7 +2736,7 @@ SendNewMonToBox: ld d, h ld e, l pop hl - ld a, [wNumInBox] + ld a, [wBoxCount] dec a ld b, a .asm_e854 diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index b6389fe3..f3bf3b5d 100644 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -648,7 +648,7 @@ TradeCenter_DrawPartyLists: ld de, wPartySpecies call TradeCenter_PrintPartyListNames hlcoord 2, 9 - ld de, wEnemyPartyMons + ld de, wEnemyPartySpecies ; fall through TradeCenter_PrintPartyListNames: @@ -701,7 +701,7 @@ TradeCenter_Trade: ld bc, NAME_LENGTH call CopyData ld a, [wTradingWhichEnemyMon] - ld hl, wEnemyPartyMons + ld hl, wEnemyPartySpecies ld c, a ld b, 0 add hl, bc @@ -798,7 +798,7 @@ TradeCenter_Trade: ld a, [wTradingWhichEnemyMon] ld c, a ld [wWhichPokemon], a - ld hl, wEnemyPartyMons + ld hl, wEnemyPartySpecies ld d, 0 ld e, a add hl, de @@ -818,7 +818,7 @@ TradeCenter_Trade: ld a, $1 ld [wForceEvolution], a ld a, [wTradingWhichEnemyMon] - ld hl, wEnemyPartyMons + ld hl, wEnemyPartySpecies ld b, 0 ld c, a add hl, bc diff --git a/engine/menus/save.asm b/engine/menus/save.asm index dc2e27c2..07eb5acb 100644 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -580,7 +580,7 @@ GetMonCountsForAllBoxes: ld c, a ld b, 0 add hl, bc - ld a, [wNumInBox] + ld a, [wBoxCount] ld [hl], a ret diff --git a/engine/movie/oak_speech/init_player_data.asm b/engine/movie/oak_speech/init_player_data.asm index 53ca24f3..f722ebff 100644 --- a/engine/movie/oak_speech/init_player_data.asm +++ b/engine/movie/oak_speech/init_player_data.asm @@ -14,7 +14,7 @@ InitPlayerData2: ld hl, wPartyCount call InitializeEmptyList - ld hl, wNumInBox + ld hl, wBoxCount call InitializeEmptyList ld hl, wNumBagItems call InitializeEmptyList diff --git a/engine/pokemon/add_mon.asm b/engine/pokemon/add_mon.asm index 46a8b2b9..611aebf4 100644 --- a/engine/pokemon/add_mon.asm +++ b/engine/pokemon/add_mon.asm @@ -348,7 +348,7 @@ _MoveMon:: ld hl, wDayCareMon jr z, .findMonDataSrc ; else it's PARTY_TO_BOX - ld hl, wNumInBox + ld hl, wBoxCount ld a, [hl] cp MONS_PER_BOX jr nz, .partyOrBoxNotFull @@ -385,7 +385,7 @@ _MoveMon:: ; if it's PARTY_TO_BOX ld hl, wBoxMons ld bc, wBoxMon2 - wBoxMon1 ; $21 - ld a, [wNumInBox] + ld a, [wBoxCount] .addMonOffset dec a call AddNTimes @@ -435,7 +435,7 @@ _MoveMon:: ld a, [wPartyCount] jr nz, .addOToffset ld hl, wBoxMonOT - ld a, [wNumInBox] + ld a, [wBoxCount] .addOToffset dec a call SkipFixedLengthTextEntries @@ -466,7 +466,7 @@ _MoveMon:: ld a, [wPartyCount] jr nz, .addNickOffset ld hl, wBoxMonNicks - ld a, [wNumInBox] + ld a, [wBoxCount] .addNickOffset dec a call SkipFixedLengthTextEntries diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index f83ed434..7aba8001 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -212,7 +212,7 @@ BillsPCDeposit: call PrintText jp BillsPCMenu .partyLargeEnough - ld a, [wNumInBox] + ld a, [wBoxCount] cp MONS_PER_BOX jr nz, .boxNotFull ld hl, BoxFullText @@ -254,7 +254,7 @@ BillsPCDeposit: jp BillsPCMenu BillsPCWithdraw: - ld a, [wNumInBox] + ld a, [wBoxCount] and a jr nz, .boxNotEmpty ld hl, NoMonText @@ -268,7 +268,7 @@ BillsPCWithdraw: call PrintText jp BillsPCMenu .partyNotFull - ld hl, wNumInBox + ld hl, wBoxCount call DisplayMonListMenu jp c, BillsPCMenu call DisplayDepositWithdrawMenu @@ -291,14 +291,14 @@ BillsPCWithdraw: jp BillsPCMenu BillsPCRelease: - ld a, [wNumInBox] + ld a, [wBoxCount] and a jr nz, .loop ld hl, NoMonText call PrintText jp BillsPCMenu .loop - ld hl, wNumInBox + ld hl, wBoxCount call DisplayMonListMenu jp c, BillsPCMenu ld hl, OnceReleasedText diff --git a/engine/pokemon/remove_mon.asm b/engine/pokemon/remove_mon.asm index c85b96bf..60ec8c27 100644 --- a/engine/pokemon/remove_mon.asm +++ b/engine/pokemon/remove_mon.asm @@ -3,7 +3,7 @@ _RemovePokemon:: ld a, [wRemoveMonFromBox] and a jr z, .usePartyCount - ld hl, wNumInBox + ld hl, wBoxCount .usePartyCount ld a, [hl] dec a diff --git a/sram.asm b/sram.asm index 48542dc7..f6bac35c 100644 --- a/sram.asm +++ b/sram.asm @@ -21,25 +21,30 @@ sTileAnimations:: ds 1 sMainDataCheckSum:: ds 1 +; The PC boxes will not fit into one SRAM bank, +; so they use multiple SECTIONs +box_n = 0 +boxes: MACRO +rept \1 +box_n = box_n + 1 +sBox{d:box_n}:: ds wBoxDataEnd - wBoxDataStart +endr +ENDM + SECTION "Saved Boxes 1", SRAM ; BANK 2 -sBox1:: ds wBoxDataEnd - wBoxDataStart -sBox2:: ds wBoxDataEnd - wBoxDataStart -sBox3:: ds wBoxDataEnd - wBoxDataStart -sBox4:: ds wBoxDataEnd - wBoxDataStart -sBox5:: ds wBoxDataEnd - wBoxDataStart -sBox6:: ds wBoxDataEnd - wBoxDataStart +; sBox1 - sBox6 + boxes 6 sBank2AllBoxesChecksum:: ds 1 sBank2IndividualBoxChecksums:: ds 6 - SECTION "Saved Boxes 2", SRAM ; BANK 3 -sBox7:: ds wBoxDataEnd - wBoxDataStart -sBox8:: ds wBoxDataEnd - wBoxDataStart -sBox9:: ds wBoxDataEnd - wBoxDataStart -sBox10:: ds wBoxDataEnd - wBoxDataStart -sBox11:: ds wBoxDataEnd - wBoxDataStart -sBox12:: ds wBoxDataEnd - wBoxDataStart +; sBox7 - sBox12 + boxes 6 sBank3AllBoxesChecksum:: ds 1 sBank3IndividualBoxChecksums:: ds 6 + +; All 12 boxes fit within 2 SRAM banks + assert box_n == NUM_BOXES, \ + "boxes: Expected {d:NUM_BOXES} total boxes, got {d:box_n}" diff --git a/vram.asm b/vram.asm index d69d3f44..21230ac0 100644 --- a/vram.asm +++ b/vram.asm @@ -2,30 +2,30 @@ SECTION "VRAM", VRAM UNION ; generic -vChars0:: ds $800 -vChars1:: ds $800 -vChars2:: ds $800 -vBGMap0:: ds $400 -vBGMap1:: ds $400 +vChars0:: ds $80 tiles +vChars1:: ds $80 tiles +vChars2:: ds $80 tiles +vBGMap0:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT +vBGMap1:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT NEXTU ; battle/menu -vSprites:: ds $800 -vFont:: ds $800 -vFrontPic:: ds 7 * 7 * $10 -vBackPic:: ds 7 * 7 * $10 +vSprites:: ds $80 tiles +vFont:: ds $80 tiles +vFrontPic:: ds 7 * 7 tiles +vBackPic:: ds 7 * 7 tiles NEXTU ; overworld -vNPCSprites:: ds $800 -vNPCSprites2:: ds $800 -vTileset:: ds $800 +vNPCSprites:: ds $80 tiles +vNPCSprites2:: ds $80 tiles +vTileset:: ds $80 tiles NEXTU ; title - ds $800 -vTitleLogo:: ds $800 - ds 7 * 7 * $10 -vTitleLogo2:: ds $1e0 + ds $80 tiles +vTitleLogo:: ds $80 tiles + ds 7 * 7 tiles +vTitleLogo2:: ds 30 tiles ENDU diff --git a/wram.asm b/wram.asm index ce354a2d..e8ea699c 100644 --- a/wram.asm +++ b/wram.asm @@ -175,22 +175,11 @@ wSpriteStateData1:: ; - D ; - E ; - F -wSpritePlayerStateData1:: spritestatedata1 wSpritePlayerStateData1 -wSprite01StateData1:: spritestatedata1 wSprite01StateData1 -wSprite02StateData1:: spritestatedata1 wSprite02StateData1 -wSprite03StateData1:: spritestatedata1 wSprite03StateData1 -wSprite04StateData1:: spritestatedata1 wSprite04StateData1 -wSprite05StateData1:: spritestatedata1 wSprite05StateData1 -wSprite06StateData1:: spritestatedata1 wSprite06StateData1 -wSprite07StateData1:: spritestatedata1 wSprite07StateData1 -wSprite08StateData1:: spritestatedata1 wSprite08StateData1 -wSprite09StateData1:: spritestatedata1 wSprite09StateData1 -wSprite10StateData1:: spritestatedata1 wSprite10StateData1 -wSprite11StateData1:: spritestatedata1 wSprite11StateData1 -wSprite12StateData1:: spritestatedata1 wSprite12StateData1 -wSprite13StateData1:: spritestatedata1 wSprite13StateData1 -wSprite14StateData1:: spritestatedata1 wSprite14StateData1 -wSprite15StateData1:: spritestatedata1 wSprite15StateData1 +wSpritePlayerStateData1:: spritestatedata1 wSpritePlayerStateData1 ; player is struct 0 +; wSprite02StateData1 - wSprite15StateData1 +for n, 1, NUM_SPRITESTATEDATA_STRUCTS +wSprite{02d:n}StateData1:: spritestatedata1 wSprite{02d:n}StateData1 +endr wSpriteStateData2:: ; more data for all sprites on the current map @@ -213,23 +202,16 @@ wSpriteStateData2:: ; - D: picture ID ; - E: sprite image base offset (in video ram, player always has value 1, used to compute sprite image index) ; - F -wSpritePlayerStateData2:: spritestatedata2 wSpritePlayerStateData2 -wSprite01StateData2:: spritestatedata2 wSprite01StateData2 -wSprite02StateData2:: spritestatedata2 wSprite02StateData2 -wSprite03StateData2:: spritestatedata2 wSprite03StateData2 -wSprite04StateData2:: spritestatedata2 wSprite04StateData2 -wSprite05StateData2:: spritestatedata2 wSprite05StateData2 -wSprite06StateData2:: spritestatedata2 wSprite06StateData2 -wSprite07StateData2:: spritestatedata2 wSprite07StateData2 -wSprite08StateData2:: spritestatedata2 wSprite08StateData2 -wSprite09StateData2:: spritestatedata2 wSprite09StateData2 -wSprite10StateData2:: spritestatedata2 wSprite10StateData2 -wSprite11StateData2:: spritestatedata2 wSprite11StateData2 -wSprite12StateData2:: spritestatedata2 wSprite12StateData2 -wSprite13StateData2:: spritestatedata2 wSprite13StateData2 -wSprite14StateData2:: spritestatedata2 wSprite14StateData2 -wSprite15StateData2:: spritestatedata2 wSprite15StateData2 +wSpritePlayerStateData2:: spritestatedata2 wSpritePlayerStateData2 ; player is struct 0 +; wSprite02StateData2 - wSprite15StateData2 +for n, 1, NUM_SPRITESTATEDATA_STRUCTS +wSprite{02d:n}StateData2:: spritestatedata2 wSprite{02d:n}StateData2 +endr +; The high byte of a pointer to anywhere within wSpriteStateData1 can be incremented +; to reach within wSpriteStateData2, and vice-versa for decrementing. +assert HIGH(wSpriteStateData1) + 1 == HIGH(wSpriteStateData2) +assert LOW(wSpriteStateData1) == 0 wSpriteDataEnd:: @@ -238,7 +220,10 @@ SECTION "OAM Buffer", WRAM0 wOAMBuffer:: ; buffer for OAM data. Copied to OAM by DMA - ds 4 * 40 +; wOAMBufferSprite00 - wOAMBufferSprite39 +for n, NUM_SPRITE_OAM_STRUCTS +wOAMBufferSprite{02d:n}:: ds 4 +endr wOAMBufferEnd:: wTileMap:: @@ -2027,7 +2012,7 @@ wRepelRemainingSteps:: wMoves:: ; list of moves for FormatMovesString - ds 4 + ds NUM_MOVES wMoveNum:: ds 1 @@ -2236,20 +2221,26 @@ wPlayerName:: wPartyDataStart:: -wPartyCount:: ds 1 -wPartySpecies:: ds PARTY_LENGTH -wPartyEnd:: ds 1 +wPartyCount:: ds 1 +wPartySpecies:: ds PARTY_LENGTH + 1 wPartyMons:: -wPartyMon1:: party_struct wPartyMon1 -wPartyMon2:: party_struct wPartyMon2 -wPartyMon3:: party_struct wPartyMon3 -wPartyMon4:: party_struct wPartyMon4 -wPartyMon5:: party_struct wPartyMon5 -wPartyMon6:: party_struct wPartyMon6 +; wPartyMon1 - wPartyMon6 +for n, 1, PARTY_LENGTH + 1 +wPartyMon{d:n}:: party_struct wPartyMon{d:n} +endr -wPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH -wPartyMonNicks:: ds NAME_LENGTH * PARTY_LENGTH +wPartyMonOT:: +; wPartyMon1OT - wPartyMon6OT +for n, 1, PARTY_LENGTH + 1 +wPartyMon{d:n}OT:: ds NAME_LENGTH +endr + +wPartyMonNicks:: +; wPartyMon1Nick - wPartyMon6Nick +for n, 1, PARTY_LENGTH + 1 +wPartyMon{d:n}Nick:: ds NAME_LENGTH +endr wPartyMonNicksEnd:: wPartyDataEnd:: @@ -3071,18 +3062,25 @@ wSerialEnemyDataBlock:: ds 9 wEnemyPartyCount:: ds 1 -wEnemyPartyMons:: ds PARTY_LENGTH + 1 +wEnemyPartySpecies:: ds PARTY_LENGTH + 1 wEnemyMons:: -wEnemyMon1:: party_struct wEnemyMon1 -wEnemyMon2:: party_struct wEnemyMon2 -wEnemyMon3:: party_struct wEnemyMon3 -wEnemyMon4:: party_struct wEnemyMon4 -wEnemyMon5:: party_struct wEnemyMon5 -wEnemyMon6:: party_struct wEnemyMon6 +; wEnemyMon1 - wEnemyMon6 +for n, 1, PARTY_LENGTH + 1 +wEnemyMon{d:n}:: party_struct wEnemyMon{d:n} +endr -wEnemyMonOT:: ds NAME_LENGTH * PARTY_LENGTH -wEnemyMonNicks:: ds NAME_LENGTH * PARTY_LENGTH +wEnemyMonOT:: +; wEnemyMon1OT - wEnemyMon6OT +for n, 1, PARTY_LENGTH + 1 +wEnemyMon{d:n}OT:: ds NAME_LENGTH +endr + +wEnemyMonNicks:: +; wEnemyMon1Nick - wEnemyMon6Nick +for n, 1, PARTY_LENGTH + 1 +wEnemyMon{d:n}Nick:: ds NAME_LENGTH +endr ENDU @@ -3139,15 +3137,27 @@ wMainDataEnd:: wBoxDataStart:: -wNumInBox:: ds 1 +wBoxCount:: ds 1 wBoxSpecies:: ds MONS_PER_BOX + 1 wBoxMons:: -wBoxMon1:: box_struct wBoxMon1 -wBoxMon2:: ds BOX_STRUCT_LENGTH * (MONS_PER_BOX - 1) -wBoxMonOT:: ds NAME_LENGTH * MONS_PER_BOX -wBoxMonNicks:: ds NAME_LENGTH * MONS_PER_BOX +; wBoxMon1 - wBoxMon20 +for n, 1, MONS_PER_BOX + 1 +wBoxMon{d:n}:: box_struct wBoxMon{d:n} +endr + +wBoxMonOT:: +; wBoxMon1OT - wBoxMon20OT +for n, 1, MONS_PER_BOX + 1 +wBoxMon{d:n}OT:: ds NAME_LENGTH +endr + +wBoxMonNicks:: +; wBoxMon1Nick - wBoxMon20Nick +for n, 1, MONS_PER_BOX + 1 +wBoxMon{d:n}Nick:: ds NAME_LENGTH +endr wBoxMonNicksEnd:: wBoxDataEnd:: From ed11bfeca134277d6202857ef583e56c481aed1c Mon Sep 17 00:00:00 2001 From: SatoMew Date: Sat, 1 May 2021 15:44:43 +0100 Subject: [PATCH 014/119] Identify the unused cry that was carried over to GSC --- audio.asm | 8 ++++---- audio/music/{unusedsong.asm => unused_song.asm} | 0 audio/sfx/{unused_1.asm => unused_cry.asm} | 11 ++++++----- audio/sfx/{unused_2.asm => unused_cry_copy.asm} | 11 ++++++----- audio/sfx/{unused_3.asm => unused_cry_copy2.asm} | 11 ++++++----- 5 files changed, 22 insertions(+), 19 deletions(-) rename audio/music/{unusedsong.asm => unused_song.asm} (100%) rename audio/sfx/{unused_1.asm => unused_cry.asm} (67%) rename audio/sfx/{unused_2.asm => unused_cry_copy.asm} (66%) rename audio/sfx/{unused_3.asm => unused_cry_copy2.asm} (66%) diff --git a/audio.asm b/audio.asm index df065576..de27e25c 100644 --- a/audio.asm +++ b/audio.asm @@ -80,7 +80,7 @@ INCLUDE "audio/sfx/push_boulder_1.asm" INCLUDE "audio/sfx/ss_anne_horn_1.asm" INCLUDE "audio/sfx/withdraw_deposit_1.asm" INCLUDE "audio/sfx/safari_zone_pa.asm" -INCLUDE "audio/sfx/unused_1.asm" +INCLUDE "audio/sfx/unused_cry.asm" INCLUDE "audio/sfx/cry09_1.asm" INCLUDE "audio/sfx/cry23_1.asm" INCLUDE "audio/sfx/cry24_1.asm" @@ -206,7 +206,7 @@ INCLUDE "audio/sfx/battle_33.asm" INCLUDE "audio/sfx/battle_34.asm" INCLUDE "audio/sfx/battle_35.asm" INCLUDE "audio/sfx/battle_36.asm" -INCLUDE "audio/sfx/unused_2.asm" +INCLUDE "audio/sfx/unused_cry_copy.asm" INCLUDE "audio/sfx/cry09_2.asm" INCLUDE "audio/sfx/cry23_2.asm" INCLUDE "audio/sfx/cry24_2.asm" @@ -314,7 +314,7 @@ INCLUDE "audio/sfx/slots_stop_wheel.asm" INCLUDE "audio/sfx/slots_reward.asm" INCLUDE "audio/sfx/slots_new_spin.asm" INCLUDE "audio/sfx/shooting_star.asm" -INCLUDE "audio/sfx/unused_3.asm" +INCLUDE "audio/sfx/unused_cry_copy2.asm" INCLUDE "audio/sfx/cry09_3.asm" INCLUDE "audio/sfx/cry23_3.asm" INCLUDE "audio/sfx/cry24_3.asm" @@ -388,7 +388,7 @@ INCLUDE "audio/music/routes3.asm" INCLUDE "audio/music/routes4.asm" INCLUDE "audio/music/indigoplateau.asm" INCLUDE "audio/music/pallettown.asm" -INCLUDE "audio/music/unusedsong.asm" +INCLUDE "audio/music/unused_song.asm" INCLUDE "audio/music/cities1.asm" INCLUDE "audio/sfx/get_item1_1.asm" INCLUDE "audio/music/museumguy.asm" diff --git a/audio/music/unusedsong.asm b/audio/music/unused_song.asm similarity index 100% rename from audio/music/unusedsong.asm rename to audio/music/unused_song.asm diff --git a/audio/sfx/unused_1.asm b/audio/sfx/unused_cry.asm similarity index 67% rename from audio/sfx/unused_1.asm rename to audio/sfx/unused_cry.asm index b7a8b4a0..e2046976 100644 --- a/audio/sfx/unused_1.asm +++ b/audio/sfx/unused_cry.asm @@ -1,4 +1,5 @@ -SFX_Unused_1_Ch5: +; This corresponds to Cry_Unused_Ch5 in pokegold and pokecrystal. +SFX_UnusedCry_Ch5: ; unreferenced duty_cycle_pattern 3, 3, 0, 0 square_note 15, 14, 0, 1920 square_note 15, 15, 0, 1924 @@ -8,8 +9,8 @@ SFX_Unused_1_Ch5: square_note 8, 7, 1, 1924 sound_ret - -SFX_Unused_1_Ch6: +; This corresponds to Cry_Unused_Ch6 in pokegold and pokecrystal. +SFX_UnusedCry_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 square_note 15, 11, 0, 1859 @@ -19,8 +20,8 @@ SFX_Unused_1_Ch6: square_note 8, 3, 1, 1862 sound_ret - -SFX_Unused_1_Ch8: +; This corresponds to Cry_Unused_Ch8 in pokegold and pokecrystal. +SFX_UnusedCry_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 noise_note 15, 13, 0, 58 diff --git a/audio/sfx/unused_2.asm b/audio/sfx/unused_cry_copy.asm similarity index 66% rename from audio/sfx/unused_2.asm rename to audio/sfx/unused_cry_copy.asm index 7a050ea4..01efa326 100644 --- a/audio/sfx/unused_2.asm +++ b/audio/sfx/unused_cry_copy.asm @@ -1,4 +1,5 @@ -SFX_Unused_2_Ch5: +; This corresponds to Cry_Unused_Ch5 in pokegold and pokecrystal. +SFX_UnusedCryCopy_Ch5: ; unreferenced duty_cycle_pattern 3, 3, 0, 0 square_note 15, 14, 0, 1920 square_note 15, 15, 0, 1924 @@ -8,8 +9,8 @@ SFX_Unused_2_Ch5: square_note 8, 7, 1, 1924 sound_ret - -SFX_Unused_2_Ch6: +; This corresponds to Cry_Unused_Ch6 in pokegold and pokecrystal. +SFX_UnusedCryCopy_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 square_note 15, 11, 0, 1859 @@ -19,8 +20,8 @@ SFX_Unused_2_Ch6: square_note 8, 3, 1, 1862 sound_ret - -SFX_Unused_2_Ch8: +; This corresponds to Cry_Unused_Ch8 in pokegold and pokecrystal. +SFX_UnusedCryCopy_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 noise_note 15, 13, 0, 58 diff --git a/audio/sfx/unused_3.asm b/audio/sfx/unused_cry_copy2.asm similarity index 66% rename from audio/sfx/unused_3.asm rename to audio/sfx/unused_cry_copy2.asm index a204fc10..955740de 100644 --- a/audio/sfx/unused_3.asm +++ b/audio/sfx/unused_cry_copy2.asm @@ -1,4 +1,5 @@ -SFX_Unused_3_Ch5: +; This corresponds to Cry_Unused_Ch5 in pokegold and pokecrystal. +SFX_UnusedCryCopy2_Ch5: ; unreferenced duty_cycle_pattern 3, 3, 0, 0 square_note 15, 14, 0, 1920 square_note 15, 15, 0, 1924 @@ -8,8 +9,8 @@ SFX_Unused_3_Ch5: square_note 8, 7, 1, 1924 sound_ret - -SFX_Unused_3_Ch6: +; This corresponds to Cry_Unused_Ch6 in pokegold and pokecrystal. +SFX_UnusedCryCopy2_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 square_note 15, 11, 0, 1859 @@ -19,8 +20,8 @@ SFX_Unused_3_Ch6: square_note 8, 3, 1, 1862 sound_ret - -SFX_Unused_3_Ch8: +; This corresponds to Cry_Unused_Ch8 in pokegold and pokecrystal. +SFX_UnusedCryCopy2_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 noise_note 15, 13, 0, 58 From e2a70c9c43e1f219d57efdfacbfd8237cd10ca74 Mon Sep 17 00:00:00 2001 From: SatoMew Date: Sat, 1 May 2021 20:42:12 +0100 Subject: [PATCH 015/119] Incorporate the suggested fixes --- audio.asm | 8 ++++---- audio/music/{unused_song.asm => unusedsong.asm} | 0 audio/sfx/{unused_cry.asm => unused_cry_1.asm} | 10 ++++------ audio/sfx/{unused_cry_copy.asm => unused_cry_2.asm} | 10 ++++------ audio/sfx/{unused_cry_copy2.asm => unused_cry_3.asm} | 10 ++++------ 5 files changed, 16 insertions(+), 22 deletions(-) rename audio/music/{unused_song.asm => unusedsong.asm} (100%) rename audio/sfx/{unused_cry.asm => unused_cry_1.asm} (67%) rename audio/sfx/{unused_cry_copy.asm => unused_cry_2.asm} (66%) rename audio/sfx/{unused_cry_copy2.asm => unused_cry_3.asm} (66%) diff --git a/audio.asm b/audio.asm index de27e25c..35b0d872 100644 --- a/audio.asm +++ b/audio.asm @@ -80,7 +80,7 @@ INCLUDE "audio/sfx/push_boulder_1.asm" INCLUDE "audio/sfx/ss_anne_horn_1.asm" INCLUDE "audio/sfx/withdraw_deposit_1.asm" INCLUDE "audio/sfx/safari_zone_pa.asm" -INCLUDE "audio/sfx/unused_cry.asm" +INCLUDE "audio/sfx/unused_cry_1.asm" INCLUDE "audio/sfx/cry09_1.asm" INCLUDE "audio/sfx/cry23_1.asm" INCLUDE "audio/sfx/cry24_1.asm" @@ -206,7 +206,7 @@ INCLUDE "audio/sfx/battle_33.asm" INCLUDE "audio/sfx/battle_34.asm" INCLUDE "audio/sfx/battle_35.asm" INCLUDE "audio/sfx/battle_36.asm" -INCLUDE "audio/sfx/unused_cry_copy.asm" +INCLUDE "audio/sfx/unused_cry_2.asm" INCLUDE "audio/sfx/cry09_2.asm" INCLUDE "audio/sfx/cry23_2.asm" INCLUDE "audio/sfx/cry24_2.asm" @@ -314,7 +314,7 @@ INCLUDE "audio/sfx/slots_stop_wheel.asm" INCLUDE "audio/sfx/slots_reward.asm" INCLUDE "audio/sfx/slots_new_spin.asm" INCLUDE "audio/sfx/shooting_star.asm" -INCLUDE "audio/sfx/unused_cry_copy2.asm" +INCLUDE "audio/sfx/unused_cry_3.asm" INCLUDE "audio/sfx/cry09_3.asm" INCLUDE "audio/sfx/cry23_3.asm" INCLUDE "audio/sfx/cry24_3.asm" @@ -388,7 +388,7 @@ INCLUDE "audio/music/routes3.asm" INCLUDE "audio/music/routes4.asm" INCLUDE "audio/music/indigoplateau.asm" INCLUDE "audio/music/pallettown.asm" -INCLUDE "audio/music/unused_song.asm" +INCLUDE "audio/music/unusedsong.asm" INCLUDE "audio/music/cities1.asm" INCLUDE "audio/sfx/get_item1_1.asm" INCLUDE "audio/music/museumguy.asm" diff --git a/audio/music/unused_song.asm b/audio/music/unusedsong.asm similarity index 100% rename from audio/music/unused_song.asm rename to audio/music/unusedsong.asm diff --git a/audio/sfx/unused_cry.asm b/audio/sfx/unused_cry_1.asm similarity index 67% rename from audio/sfx/unused_cry.asm rename to audio/sfx/unused_cry_1.asm index e2046976..0ff7c79a 100644 --- a/audio/sfx/unused_cry.asm +++ b/audio/sfx/unused_cry_1.asm @@ -1,5 +1,5 @@ -; This corresponds to Cry_Unused_Ch5 in pokegold and pokecrystal. -SFX_UnusedCry_Ch5: ; unreferenced +; This corresponds to Cry_Unused_Ch5, Cry_Unused_Ch6, and Cry_Unused_Ch8 in pokegold and pokecrystal. +SFX_UnusedCry_1_Ch5: ; unreferenced duty_cycle_pattern 3, 3, 0, 0 square_note 15, 14, 0, 1920 square_note 15, 15, 0, 1924 @@ -9,8 +9,7 @@ SFX_UnusedCry_Ch5: ; unreferenced square_note 8, 7, 1, 1924 sound_ret -; This corresponds to Cry_Unused_Ch6 in pokegold and pokecrystal. -SFX_UnusedCry_Ch6: ; unreferenced +SFX_UnusedCry_1_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 square_note 15, 11, 0, 1859 @@ -20,8 +19,7 @@ SFX_UnusedCry_Ch6: ; unreferenced square_note 8, 3, 1, 1862 sound_ret -; This corresponds to Cry_Unused_Ch8 in pokegold and pokecrystal. -SFX_UnusedCry_Ch8: ; unreferenced +SFX_UnusedCry_1_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 noise_note 15, 13, 0, 58 diff --git a/audio/sfx/unused_cry_copy.asm b/audio/sfx/unused_cry_2.asm similarity index 66% rename from audio/sfx/unused_cry_copy.asm rename to audio/sfx/unused_cry_2.asm index 01efa326..4924e560 100644 --- a/audio/sfx/unused_cry_copy.asm +++ b/audio/sfx/unused_cry_2.asm @@ -1,5 +1,5 @@ -; This corresponds to Cry_Unused_Ch5 in pokegold and pokecrystal. -SFX_UnusedCryCopy_Ch5: ; unreferenced +; This corresponds to Cry_Unused_Ch5, Cry_Unused_Ch6, and Cry_Unused_Ch8 in pokegold and pokecrystal. +SFX_UnusedCry_2_Ch5: ; unreferenced duty_cycle_pattern 3, 3, 0, 0 square_note 15, 14, 0, 1920 square_note 15, 15, 0, 1924 @@ -9,8 +9,7 @@ SFX_UnusedCryCopy_Ch5: ; unreferenced square_note 8, 7, 1, 1924 sound_ret -; This corresponds to Cry_Unused_Ch6 in pokegold and pokecrystal. -SFX_UnusedCryCopy_Ch6: ; unreferenced +SFX_UnusedCry_2_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 square_note 15, 11, 0, 1859 @@ -20,8 +19,7 @@ SFX_UnusedCryCopy_Ch6: ; unreferenced square_note 8, 3, 1, 1862 sound_ret -; This corresponds to Cry_Unused_Ch8 in pokegold and pokecrystal. -SFX_UnusedCryCopy_Ch8: ; unreferenced +SFX_UnusedCry_2_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 noise_note 15, 13, 0, 58 diff --git a/audio/sfx/unused_cry_copy2.asm b/audio/sfx/unused_cry_3.asm similarity index 66% rename from audio/sfx/unused_cry_copy2.asm rename to audio/sfx/unused_cry_3.asm index 955740de..6f3e2737 100644 --- a/audio/sfx/unused_cry_copy2.asm +++ b/audio/sfx/unused_cry_3.asm @@ -1,5 +1,5 @@ -; This corresponds to Cry_Unused_Ch5 in pokegold and pokecrystal. -SFX_UnusedCryCopy2_Ch5: ; unreferenced +; This corresponds to Cry_Unused_Ch5, Cry_Unused_Ch6, and Cry_Unused_Ch8 in pokegold and pokecrystal. +SFX_UnusedCry_3_Ch5: ; unreferenced duty_cycle_pattern 3, 3, 0, 0 square_note 15, 14, 0, 1920 square_note 15, 15, 0, 1924 @@ -9,8 +9,7 @@ SFX_UnusedCryCopy2_Ch5: ; unreferenced square_note 8, 7, 1, 1924 sound_ret -; This corresponds to Cry_Unused_Ch6 in pokegold and pokecrystal. -SFX_UnusedCryCopy2_Ch6: ; unreferenced +SFX_UnusedCry_3_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 square_note 15, 11, 0, 1859 @@ -20,8 +19,7 @@ SFX_UnusedCryCopy2_Ch6: ; unreferenced square_note 8, 3, 1, 1862 sound_ret -; This corresponds to Cry_Unused_Ch8 in pokegold and pokecrystal. -SFX_UnusedCryCopy2_Ch8: ; unreferenced +SFX_UnusedCry_3_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 noise_note 15, 13, 0, 58 From b155e59ffa627cb735abeae927fd88c5e06ec67e Mon Sep 17 00:00:00 2001 From: SatoMew Date: Sat, 1 May 2021 21:54:19 +0100 Subject: [PATCH 016/119] Restore extra line breaks --- audio/sfx/unused_cry_1.asm | 2 ++ audio/sfx/unused_cry_2.asm | 2 ++ audio/sfx/unused_cry_3.asm | 2 ++ 3 files changed, 6 insertions(+) diff --git a/audio/sfx/unused_cry_1.asm b/audio/sfx/unused_cry_1.asm index 0ff7c79a..342ca2ab 100644 --- a/audio/sfx/unused_cry_1.asm +++ b/audio/sfx/unused_cry_1.asm @@ -9,6 +9,7 @@ SFX_UnusedCry_1_Ch5: ; unreferenced square_note 8, 7, 1, 1924 sound_ret + SFX_UnusedCry_1_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 @@ -19,6 +20,7 @@ SFX_UnusedCry_1_Ch6: ; unreferenced square_note 8, 3, 1, 1862 sound_ret + SFX_UnusedCry_1_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 diff --git a/audio/sfx/unused_cry_2.asm b/audio/sfx/unused_cry_2.asm index 4924e560..aa6218e1 100644 --- a/audio/sfx/unused_cry_2.asm +++ b/audio/sfx/unused_cry_2.asm @@ -9,6 +9,7 @@ SFX_UnusedCry_2_Ch5: ; unreferenced square_note 8, 7, 1, 1924 sound_ret + SFX_UnusedCry_2_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 @@ -19,6 +20,7 @@ SFX_UnusedCry_2_Ch6: ; unreferenced square_note 8, 3, 1, 1862 sound_ret + SFX_UnusedCry_2_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 diff --git a/audio/sfx/unused_cry_3.asm b/audio/sfx/unused_cry_3.asm index 6f3e2737..95721633 100644 --- a/audio/sfx/unused_cry_3.asm +++ b/audio/sfx/unused_cry_3.asm @@ -9,6 +9,7 @@ SFX_UnusedCry_3_Ch5: ; unreferenced square_note 8, 7, 1, 1924 sound_ret + SFX_UnusedCry_3_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 @@ -19,6 +20,7 @@ SFX_UnusedCry_3_Ch6: ; unreferenced square_note 8, 3, 1, 1862 sound_ret + SFX_UnusedCry_3_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 From c8626595b447358e568a8d23738b832f50351f77 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 6 May 2021 23:04:00 -0400 Subject: [PATCH 017/119] =?UTF-8?q?Use=20BANK("Pics=20#")=20for=20Pok?= =?UTF-8?q?=C3=A9mon=20and=20trainer=20pics?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- engine/battle/core.asm | 3 ++- gfx/pics.asm | 1 - home/pics.asm | 26 +++++++++++++------------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/engine/battle/core.asm b/engine/battle/core.asm index d9bcdddb..5cb4fa13 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6308,6 +6308,7 @@ LoadPlayerBackPic: ld de, OldManPicBack .next ld a, BANK(RedPicBack) + assert BANK(RedPicBack) == BANK(OldManPicBack) call UncompressSpriteFromDE predef ScaleSpriteByTwo ld hl, wOAMBuffer @@ -6880,7 +6881,7 @@ _LoadTrainerPic: ld d, a ; de contains pointer to trainer pic ld a, [wLinkState] and a - ld a, BANK(TrainerPics) ; this is where all the trainer pics are (not counting Red's) + ld a, BANK("Pics 6") ; this is where all the trainer pics are (not counting Red's) jr z, .loadSprite ld a, BANK(RedPicFront) .loadSprite diff --git a/gfx/pics.asm b/gfx/pics.asm index 94286c9a..134516cd 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -327,7 +327,6 @@ VictreebelPicBack:: INCBIN "gfx/pokemon/back/victreebelb.pic" SECTION "Pics 6", ROMX -TrainerPics:: YoungsterPic:: INCBIN "gfx/trainers/youngster.pic" BugCatcherPic:: INCBIN "gfx/trainers/bugcatcher.pic" LassPic:: INCBIN "gfx/trainers/lass.pic" diff --git a/home/pics.asm b/home/pics.asm index ef668620..3bce1532 100644 --- a/home/pics.asm +++ b/home/pics.asm @@ -9,14 +9,14 @@ UncompressMonSprite:: ld a, [hl] ld [wSpriteInputPtr+1], a ; define (by index number) the bank that a pokemon's image is in -; index = Mew, bank 1 -; index = Kabutops fossil, bank $B -; index < $1F, bank 9 -; $1F ≤ index < $4A, bank $A -; $4A ≤ index < $74, bank $B -; $74 ≤ index < $99, bank $C -; $99 ≤ index, bank $D - ld a, [wcf91] ; XXX name for this ram location +; index = MEW: bank $1 +; index = FOSSIL_KABUTOPS: bank $B +; index < $1F: bank $9 ("Pics 1") +; $1F ≤ index < $4A: bank $A ("Pics 2") +; $4A ≤ index < $74: bank $B ("Pics 3") +; $74 ≤ index < $99: bank $C ("Pics 4") +; $99 ≤ index: bank $D ("Pics 5") + ld a, [wcf91] ld b, a cp MEW ld a, BANK(MewPicFront) @@ -27,21 +27,21 @@ UncompressMonSprite:: jr z, .GotBank ld a, b cp TANGELA + 1 - ld a, BANK(TangelaPicFront) + ld a, BANK("Pics 1") jr c, .GotBank ld a, b cp MOLTRES + 1 - ld a, BANK(MoltresPicFront) + ld a, BANK("Pics 2") jr c, .GotBank ld a, b cp BEEDRILL + 2 - ld a, BANK(BeedrillPicFront) + ld a, BANK("Pics 3") jr c, .GotBank ld a, b cp STARMIE + 1 - ld a, BANK(StarmiePicFront) + ld a, BANK("Pics 4") jr c, .GotBank - ld a, BANK(VictreebelPicFront) + ld a, BANK("Pics 5") .GotBank jp UncompressSpriteData From b3364f9f8819a87f562ca612199aaa0d4da7fcee Mon Sep 17 00:00:00 2001 From: SatoMew Date: Sat, 8 May 2021 13:24:33 +0100 Subject: [PATCH 018/119] Identify the connections between Routes 22 and 23 as unused --- data/maps/headers/Route22.asm | 2 +- data/maps/headers/Route23.asm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/maps/headers/Route22.asm b/data/maps/headers/Route22.asm index e235efa1..b507e853 100644 --- a/data/maps/headers/Route22.asm +++ b/data/maps/headers/Route22.asm @@ -1,5 +1,5 @@ map_header Route22, ROUTE_22, OVERWORLD, NORTH | EAST - connection north, Route23, ROUTE_23, 0 + connection north, Route23, ROUTE_23, 0 ; unused connection east, ViridianCity, VIRIDIAN_CITY, -4 end_map_header diff --git a/data/maps/headers/Route23.asm b/data/maps/headers/Route23.asm index e1535c9d..12955c3b 100644 --- a/data/maps/headers/Route23.asm +++ b/data/maps/headers/Route23.asm @@ -1,5 +1,5 @@ map_header Route23, ROUTE_23, PLATEAU, NORTH | SOUTH connection north, IndigoPlateau, INDIGO_PLATEAU, 0 - connection south, Route22, ROUTE_22, 0 + connection south, Route22, ROUTE_22, 0 ; unused end_map_header From d966193d7b5ff1a287a91585d6cee6db446be957 Mon Sep 17 00:00:00 2001 From: SatoMew Date: Sat, 8 May 2021 23:20:52 +0100 Subject: [PATCH 019/119] Change terminology as per feedback --- data/maps/headers/Route22.asm | 2 +- data/maps/headers/Route23.asm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/maps/headers/Route22.asm b/data/maps/headers/Route22.asm index b507e853..a045838e 100644 --- a/data/maps/headers/Route22.asm +++ b/data/maps/headers/Route22.asm @@ -1,5 +1,5 @@ map_header Route22, ROUTE_22, OVERWORLD, NORTH | EAST - connection north, Route23, ROUTE_23, 0 ; unused + connection north, Route23, ROUTE_23, 0 ; unnecessary connection east, ViridianCity, VIRIDIAN_CITY, -4 end_map_header diff --git a/data/maps/headers/Route23.asm b/data/maps/headers/Route23.asm index 12955c3b..66c2936f 100644 --- a/data/maps/headers/Route23.asm +++ b/data/maps/headers/Route23.asm @@ -1,5 +1,5 @@ map_header Route23, ROUTE_23, PLATEAU, NORTH | SOUTH connection north, IndigoPlateau, INDIGO_PLATEAU, 0 - connection south, Route22, ROUTE_22, 0 ; unused + connection south, Route22, ROUTE_22, 0 ; unnecessary end_map_header From 82f31b05c12c803d78f9b99b078198ed24cccdb1 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 9 May 2021 12:54:31 -0400 Subject: [PATCH 020/119] Require rgbds 0.5.1 This allows new features: \<10> macro args, SECTION UNION, SIZEOF/STARTOF, and CHARLEN/CHARSUB --- .travis.yml | 2 +- INSTALL.md | 22 +++++++++++----------- rgbdscheck.asm | 4 ++-- tools/unnamed.py | 6 +++--- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4896c98e..5ff72754 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,7 @@ install: HOMEBREW_NO_AUTO_UPDATE=1 brew install bison export PATH="/usr/local/opt/bison/bin:$PATH" fi - git clone -b v0.5.0 --depth=1 https://github.com/gbdev/rgbds + git clone -b v0.5.1 --depth=1 https://github.com/gbdev/rgbds sudo make -C rgbds install rm -rf rgbds ) diff --git a/INSTALL.md b/INSTALL.md index e981ee5f..02ac7125 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -42,9 +42,9 @@ Run setup and leave the default settings. At the "**Select Packages**" step, cho Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install/windows) for Windows with Cygwin to install **rgbds 0.5.0**. +Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install/windows) for Windows with Cygwin to install **rgbds 0.5.1**. -**Note:** If you already have an older rgbds, you will need to update to 0.5.0. Ignore this if you have never installed rgbds before. If a version newer than 0.5.0 does not work, try downloading 0.5.0. +**Note:** If you already have an older rgbds, you will need to update to 0.5.1. Ignore this if you have never installed rgbds before. If a version newer than 0.5.1 does not work, try downloading 0.5.1. Now open the **Cygwin terminal** and enter the following commands. @@ -67,7 +67,7 @@ Install [**Homebrew**](https://brew.sh/). Follow the official instructions. Open **Terminal** and prepare to enter commands. -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/macos) for macOS to install **rgbds 0.5.0**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/macos) for macOS to install **rgbds 0.5.1**. Now you're ready to [build **pokered**](#build-pokered). @@ -84,7 +84,7 @@ To install the software required for **pokered**: sudo apt-get install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.0** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.1** from source. ### OpenSUSE @@ -94,7 +94,7 @@ To install the software required for **pokered**: sudo zypper install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.0** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.1** from source. ### Arch Linux @@ -104,9 +104,9 @@ To install the software required for **pokered**: sudo pacman -S make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/arch) for Arch Linux to install **rgbds 0.5.0**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/arch) for Arch Linux to install **rgbds 0.5.1**. -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.0** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.1** from source. ### Termux @@ -122,7 +122,7 @@ To install **rgbds**: sudo apt install rgbds ``` -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.0** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.1** from source. ### Other distros @@ -133,7 +133,7 @@ If your distro is not listed here, try to find the required software in its repo - `git` - `rgbds` -If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.0** from source. +If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.1** from source. Now you're ready to [build **pokered**](#build-pokered). @@ -155,8 +155,8 @@ make ### Build with a local rgbds version -If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.5.0 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.5.0/`. Then specify it when you run `make`: +If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.5.1 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.5.1/`. Then specify it when you run `make`: ```bash -make RGBDS=rgbds-0.5.0/ +make RGBDS=rgbds-0.5.1/ ``` diff --git a/rgbdscheck.asm b/rgbdscheck.asm index 59810eac..25277131 100644 --- a/rgbdscheck.asm +++ b/rgbdscheck.asm @@ -1,9 +1,9 @@ MAJOR EQU 0 MINOR EQU 5 -PATCH EQU 0 +PATCH EQU 1 wrong_rgbds: MACRO - fail "pokered requires rgbds v0.5.0 or newer." + fail "pokered requires rgbds v0.5.1 or newer." ENDM IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) diff --git a/tools/unnamed.py b/tools/unnamed.py index e4634541..c5544437 100755 --- a/tools/unnamed.py +++ b/tools/unnamed.py @@ -82,14 +82,14 @@ for objfile in objects: elif magic == b'RGB9': obj_ver = 10 + unpack_file(" Date: Tue, 18 May 2021 20:58:24 +0200 Subject: [PATCH 021/119] Standardize names of wild maps entities Standardize the name of entities of maps for wild pokemon --- data/wild/grass_water.asm | 496 +++++++++++++-------------- data/wild/maps/CeruleanCave1F.asm | 2 +- data/wild/maps/CeruleanCave2F.asm | 2 +- data/wild/maps/CeruleanCaveB1F.asm | 2 +- data/wild/maps/DiglettsCave.asm | 2 +- data/wild/maps/MtMoon1F.asm | 2 +- data/wild/maps/MtMoonB1F.asm | 2 +- data/wild/maps/MtMoonB2F.asm | 2 +- data/wild/maps/PokemonMansion1F.asm | 2 +- data/wild/maps/PokemonMansion2F.asm | 2 +- data/wild/maps/PokemonMansion3F.asm | 2 +- data/wild/maps/PokemonMansionB1F.asm | 2 +- data/wild/maps/PokemonTower1F.asm | 2 +- data/wild/maps/PokemonTower2F.asm | 2 +- data/wild/maps/PokemonTower3F.asm | 2 +- data/wild/maps/PokemonTower4F.asm | 2 +- data/wild/maps/PokemonTower5F.asm | 2 +- data/wild/maps/PokemonTower6F.asm | 2 +- data/wild/maps/PokemonTower7F.asm | 2 +- data/wild/maps/PowerPlant.asm | 2 +- data/wild/maps/RockTunnel1F.asm | 2 +- data/wild/maps/RockTunnelB1F.asm | 2 +- data/wild/maps/Route1.asm | 2 +- data/wild/maps/Route10.asm | 2 +- data/wild/maps/Route11.asm | 2 +- data/wild/maps/Route12.asm | 2 +- data/wild/maps/Route13.asm | 2 +- data/wild/maps/Route14.asm | 2 +- data/wild/maps/Route15.asm | 2 +- data/wild/maps/Route16.asm | 2 +- data/wild/maps/Route17.asm | 2 +- data/wild/maps/Route18.asm | 2 +- data/wild/maps/Route2.asm | 2 +- data/wild/maps/Route21.asm | 2 +- data/wild/maps/Route22.asm | 2 +- data/wild/maps/Route23.asm | 2 +- data/wild/maps/Route24.asm | 2 +- data/wild/maps/Route25.asm | 2 +- data/wild/maps/Route3.asm | 2 +- data/wild/maps/Route4.asm | 2 +- data/wild/maps/Route5.asm | 2 +- data/wild/maps/Route6.asm | 2 +- data/wild/maps/Route7.asm | 2 +- data/wild/maps/Route8.asm | 2 +- data/wild/maps/Route9.asm | 2 +- data/wild/maps/SafariZoneCenter.asm | 2 +- data/wild/maps/SafariZoneEast.asm | 2 +- data/wild/maps/SafariZoneNorth.asm | 2 +- data/wild/maps/SafariZoneWest.asm | 2 +- data/wild/maps/SeaRoutes.asm | 2 +- data/wild/maps/SeafoamIslands1F.asm | 2 +- data/wild/maps/SeafoamIslandsB1F.asm | 2 +- data/wild/maps/SeafoamIslandsB2F.asm | 2 +- data/wild/maps/SeafoamIslandsB3F.asm | 2 +- data/wild/maps/SeafoamIslandsB4F.asm | 2 +- data/wild/maps/VictoryRoad1F.asm | 2 +- data/wild/maps/VictoryRoad2F.asm | 2 +- data/wild/maps/VictoryRoad3F.asm | 2 +- data/wild/maps/ViridianForest.asm | 2 +- data/wild/maps/nothing.asm | 2 +- engine/battle/wild_encounters.asm | 2 +- engine/overworld/wild_mons.asm | 2 +- wram.asm | 2 +- 63 files changed, 310 insertions(+), 310 deletions(-) diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm index 1dd8e049..ee65db79 100644 --- a/data/wild/grass_water.asm +++ b/data/wild/grass_water.asm @@ -1,253 +1,253 @@ WildDataPointers: table_width 2, WildDataPointers - dw NoMons ; PALLET_TOWN - dw NoMons ; VIRIDIAN_CITY - dw NoMons ; PEWTER_CITY - dw NoMons ; CERULEAN_CITY - dw NoMons ; LAVENDER_TOWN - dw NoMons ; VERMILION_CITY - dw NoMons ; CELADON_CITY - dw NoMons ; FUCHSIA_CITY - dw NoMons ; CINNABAR_ISLAND - dw NoMons ; INDIGO_PLATEAU - dw NoMons ; SAFFRON_CITY - dw NoMons ; unused - dw Route1Mons ; ROUTE_1 - dw Route2Mons ; ROUTE_2 - dw Route3Mons ; ROUTE_3 - dw Route4Mons ; ROUTE_4 - dw Route5Mons ; ROUTE_5 - dw Route6Mons ; ROUTE_6 - dw Route7Mons ; ROUTE_7 - dw Route8Mons ; ROUTE_8 - dw Route9Mons ; ROUTE_9 - dw Route10Mons ; ROUTE_10 - dw Route11Mons ; ROUTE_11 - dw Route12Mons ; ROUTE_12 - dw Route13Mons ; ROUTE_13 - dw Route14Mons ; ROUTE_14 - dw Route15Mons ; ROUTE_15 - dw Route16Mons ; ROUTE_16 - dw Route17Mons ; ROUTE_17 - dw Route18Mons ; ROUTE_18 - dw WaterMons ; ROUTE_19 - dw WaterMons ; ROUTE_20 - dw Route21Mons ; ROUTE_21 - dw Route22Mons ; ROUTE_22 - dw Route23Mons ; ROUTE_23 - dw Route24Mons ; ROUTE_24 - dw Route25Mons ; ROUTE_25 - dw NoMons ; REDS_HOUSE_1F - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw ForestMons ; ViridianForest - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw MoonMons1 - dw MoonMonsB1 - dw MoonMonsB2 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw TunnelMonsB1 - dw PowerPlantMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw PlateauMons1 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw TowerMons1 - dw TowerMons2 - dw TowerMons3 - dw TowerMons4 - dw TowerMons5 - dw TowerMons6 - dw TowerMons7 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw IslandMonsB1 - dw IslandMonsB2 - dw IslandMonsB3 - dw IslandMonsB4 - dw NoMons - dw NoMons - dw MansionMons1 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw IslandMons1 - dw NoMons - dw PlateauMons2 - dw NoMons - dw NoMons - dw CaveMons - dw PlateauMons3 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw MansionMons2 - dw MansionMons3 - dw MansionMonsB1 - dw ZoneMons1 - dw ZoneMons2 - dw ZoneMons3 - dw ZoneMonsCenter - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw DungeonMons2 - dw DungeonMonsB1 - dw DungeonMons1 - dw NoMons - dw NoMons - dw NoMons - dw TunnelMonsB2 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons + dw NotingWildMons ; PALLET_TOWN + dw NotingWildMons ; VIRIDIAN_CITY + dw NotingWildMons ; PEWTER_CITY + dw NotingWildMons ; CERULEAN_CITY + dw NotingWildMons ; LAVENDER_TOWN + dw NotingWildMons ; VERMILION_CITY + dw NotingWildMons ; CELADON_CITY + dw NotingWildMons ; FUCHSIA_CITY + dw NotingWildMons ; CINNABAR_ISLAND + dw NotingWildMons ; INDIGO_PLATEAU + dw NotingWildMons ; SAFFRON_CITY + dw NotingWildMons ; unused + dw Route1WildMons ; ROUTE_1 + dw Route2WildMons ; ROUTE_2 + dw Route3WildMons ; ROUTE_3 + dw Route4WildMons ; ROUTE_4 + dw Route5WildMons ; ROUTE_5 + dw Route6WildMons ; ROUTE_6 + dw Route7WildMons ; ROUTE_7 + dw Route8WildMons ; ROUTE_8 + dw Route9WildMons ; ROUTE_9 + dw Route10WildMons ; ROUTE_10 + dw Route11WildMons ; ROUTE_11 + dw Route12WildMons ; ROUTE_12 + dw Route13WildMons ; ROUTE_13 + dw Route14WildMons ; ROUTE_14 + dw Route15WildMons ; ROUTE_15 + dw Route16WildMons ; ROUTE_16 + dw Route17WildMons ; ROUTE_17 + dw Route18WildMons ; ROUTE_18 + dw SeaRoutesWildMons ; ROUTE_19 + dw SeaRoutesWildMons ; ROUTE_20 + dw Route21WildMons ; ROUTE_21 + dw Route22WildMons ; ROUTE_22 + dw Route23WildMons ; ROUTE_23 + dw Route24WildMons ; ROUTE_24 + dw Route25WildMons ; ROUTE_25 + dw NotingWildMons ; REDS_HOUSE_1F + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw ViridianForestWildMons ; ViridianForest + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw MtMoon1FWildMons + dw MtMoonB1FWildMons + dw MtMoonB2FWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw RockTunnel1FWildMons + dw PowerPlantWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw VictoryRoad1FWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw PokemonTower1FWildMons + dw PokemonTower2FWildMons + dw PokemonTower3FWildMons + dw PokemonTower4FWildMons + dw PokemonTower5FWildMons + dw PokemonTower6FWildMons + dw PokemonTower7FWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw SeafoamIslandsB1FWildMons + dw SeafoamIslandsB2FWildMons + dw SeafoamIslandsB3FWildMons + dw SeafoamIslandsB4FWildMons + dw NotingWildMons + dw NotingWildMons + dw PokemonMansion1FWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw SeafoamIslands1FWildMons + dw NotingWildMons + dw VictoryRoad2FWildMons + dw NotingWildMons + dw NotingWildMons + dw DiglettsCaveWildMons + dw VictoryRoad3FWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw PokemonMansion2FWildMons + dw PokemonMansion3FWildMons + dw PokemonMansionB1FWildMons + dw SafariZoneEastWildMons + dw SafariZoneNorthWildMons + dw SafariZoneWestWildMons + dw SafariZoneCenterWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw CeruleanCave2FWildMons + dw CeruleanCaveB1FWildMons + dw CeruleanCave1FWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw RockTunnelB1FWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons + dw NotingWildMons assert_table_length NUM_MAPS dw -1 ; end diff --git a/data/wild/maps/CeruleanCave1F.asm b/data/wild/maps/CeruleanCave1F.asm index ae593741..243f88bb 100644 --- a/data/wild/maps/CeruleanCave1F.asm +++ b/data/wild/maps/CeruleanCave1F.asm @@ -1,4 +1,4 @@ -DungeonMons1: +CeruleanCave1FWildMons: def_grass_wildmons 10 ; encounter rate db 46, GOLBAT db 46, HYPNO diff --git a/data/wild/maps/CeruleanCave2F.asm b/data/wild/maps/CeruleanCave2F.asm index f2648150..5366fa58 100644 --- a/data/wild/maps/CeruleanCave2F.asm +++ b/data/wild/maps/CeruleanCave2F.asm @@ -1,4 +1,4 @@ -DungeonMons2: +CeruleanCave2FWildMons: def_grass_wildmons 15 ; encounter rate db 51, DODRIO db 51, VENOMOTH diff --git a/data/wild/maps/CeruleanCaveB1F.asm b/data/wild/maps/CeruleanCaveB1F.asm index 10752548..a1889041 100644 --- a/data/wild/maps/CeruleanCaveB1F.asm +++ b/data/wild/maps/CeruleanCaveB1F.asm @@ -1,4 +1,4 @@ -DungeonMonsB1: +CeruleanCaveB1FWildMons: def_grass_wildmons 25 ; encounter rate db 55, RHYDON db 55, MAROWAK diff --git a/data/wild/maps/DiglettsCave.asm b/data/wild/maps/DiglettsCave.asm index e5ba5fa5..50ef0828 100644 --- a/data/wild/maps/DiglettsCave.asm +++ b/data/wild/maps/DiglettsCave.asm @@ -1,4 +1,4 @@ -CaveMons: +DiglettsCaveWildMons: def_grass_wildmons 20 ; encounter rate db 18, DIGLETT db 19, DIGLETT diff --git a/data/wild/maps/MtMoon1F.asm b/data/wild/maps/MtMoon1F.asm index 6ecc8f35..a62f9817 100644 --- a/data/wild/maps/MtMoon1F.asm +++ b/data/wild/maps/MtMoon1F.asm @@ -1,4 +1,4 @@ -MoonMons1: +MtMoon1FWildMons: def_grass_wildmons 10 ; encounter rate db 8, ZUBAT db 7, ZUBAT diff --git a/data/wild/maps/MtMoonB1F.asm b/data/wild/maps/MtMoonB1F.asm index ab793cf9..85645fbe 100644 --- a/data/wild/maps/MtMoonB1F.asm +++ b/data/wild/maps/MtMoonB1F.asm @@ -1,4 +1,4 @@ -MoonMonsB1: +MtMoonB1FWildMons: def_grass_wildmons 10 ; encounter rate db 8, ZUBAT db 7, ZUBAT diff --git a/data/wild/maps/MtMoonB2F.asm b/data/wild/maps/MtMoonB2F.asm index 119b414e..2e845ce3 100644 --- a/data/wild/maps/MtMoonB2F.asm +++ b/data/wild/maps/MtMoonB2F.asm @@ -1,4 +1,4 @@ -MoonMonsB2: +MtMoonB2FWildMons: def_grass_wildmons 10 ; encounter rate db 9, ZUBAT db 9, GEODUDE diff --git a/data/wild/maps/PokemonMansion1F.asm b/data/wild/maps/PokemonMansion1F.asm index d67ceb07..61f4262e 100644 --- a/data/wild/maps/PokemonMansion1F.asm +++ b/data/wild/maps/PokemonMansion1F.asm @@ -1,4 +1,4 @@ -MansionMons1: +PokemonMansion1FWildMons: def_grass_wildmons 10 ; encounter rate IF DEF(_RED) db 32, KOFFING diff --git a/data/wild/maps/PokemonMansion2F.asm b/data/wild/maps/PokemonMansion2F.asm index 01a48f1c..c98d3bf3 100644 --- a/data/wild/maps/PokemonMansion2F.asm +++ b/data/wild/maps/PokemonMansion2F.asm @@ -1,4 +1,4 @@ -MansionMons2: +PokemonMansion2FWildMons: def_grass_wildmons 10 ; encounter rate IF DEF(_RED) db 32, GROWLITHE diff --git a/data/wild/maps/PokemonMansion3F.asm b/data/wild/maps/PokemonMansion3F.asm index 28c3bf88..a707687f 100644 --- a/data/wild/maps/PokemonMansion3F.asm +++ b/data/wild/maps/PokemonMansion3F.asm @@ -1,4 +1,4 @@ -MansionMons3: +PokemonMansion3FWildMons: def_grass_wildmons 10 ; encounter rate IF DEF(_RED) db 31, KOFFING diff --git a/data/wild/maps/PokemonMansionB1F.asm b/data/wild/maps/PokemonMansionB1F.asm index 2d0312af..767038c6 100644 --- a/data/wild/maps/PokemonMansionB1F.asm +++ b/data/wild/maps/PokemonMansionB1F.asm @@ -1,4 +1,4 @@ -MansionMonsB1: +PokemonMansionB1FWildMons: def_grass_wildmons 10 ; encounter rate IF DEF(_RED) db 33, KOFFING diff --git a/data/wild/maps/PokemonTower1F.asm b/data/wild/maps/PokemonTower1F.asm index 5e061298..023b996d 100644 --- a/data/wild/maps/PokemonTower1F.asm +++ b/data/wild/maps/PokemonTower1F.asm @@ -1,4 +1,4 @@ -TowerMons1: +PokemonTower1FWildMons: def_grass_wildmons 0 ; encounter rate end_grass_wildmons diff --git a/data/wild/maps/PokemonTower2F.asm b/data/wild/maps/PokemonTower2F.asm index 39794a20..f958e167 100644 --- a/data/wild/maps/PokemonTower2F.asm +++ b/data/wild/maps/PokemonTower2F.asm @@ -1,4 +1,4 @@ -TowerMons2: +PokemonTower2FWildMons: def_grass_wildmons 0 ; encounter rate end_grass_wildmons diff --git a/data/wild/maps/PokemonTower3F.asm b/data/wild/maps/PokemonTower3F.asm index ef52127d..0d4440cb 100644 --- a/data/wild/maps/PokemonTower3F.asm +++ b/data/wild/maps/PokemonTower3F.asm @@ -1,4 +1,4 @@ -TowerMons3: +PokemonTower3FWildMons: def_grass_wildmons 10 ; encounter rate db 20, GASTLY db 21, GASTLY diff --git a/data/wild/maps/PokemonTower4F.asm b/data/wild/maps/PokemonTower4F.asm index da578f90..de278221 100644 --- a/data/wild/maps/PokemonTower4F.asm +++ b/data/wild/maps/PokemonTower4F.asm @@ -1,4 +1,4 @@ -TowerMons4: +PokemonTower4FWildMons: def_grass_wildmons 10 ; encounter rate db 20, GASTLY db 21, GASTLY diff --git a/data/wild/maps/PokemonTower5F.asm b/data/wild/maps/PokemonTower5F.asm index cbfc5b7b..507dba26 100644 --- a/data/wild/maps/PokemonTower5F.asm +++ b/data/wild/maps/PokemonTower5F.asm @@ -1,4 +1,4 @@ -TowerMons5: +PokemonTower5FWildMons: def_grass_wildmons 10 ; encounter rate db 20, GASTLY db 21, GASTLY diff --git a/data/wild/maps/PokemonTower6F.asm b/data/wild/maps/PokemonTower6F.asm index c8596bbd..f0197631 100644 --- a/data/wild/maps/PokemonTower6F.asm +++ b/data/wild/maps/PokemonTower6F.asm @@ -1,4 +1,4 @@ -TowerMons6: +PokemonTower6FWildMons: def_grass_wildmons 15 ; encounter rate db 21, GASTLY db 22, GASTLY diff --git a/data/wild/maps/PokemonTower7F.asm b/data/wild/maps/PokemonTower7F.asm index 85289ad1..2b3d952b 100644 --- a/data/wild/maps/PokemonTower7F.asm +++ b/data/wild/maps/PokemonTower7F.asm @@ -1,4 +1,4 @@ -TowerMons7: +PokemonTower7FWildMons: def_grass_wildmons 15 ; encounter rate db 21, GASTLY db 22, GASTLY diff --git a/data/wild/maps/PowerPlant.asm b/data/wild/maps/PowerPlant.asm index 9950a866..60b5d420 100644 --- a/data/wild/maps/PowerPlant.asm +++ b/data/wild/maps/PowerPlant.asm @@ -1,4 +1,4 @@ -PowerPlantMons: +PowerPlantWildMons: def_grass_wildmons 10 ; encounter rate db 21, VOLTORB db 21, MAGNEMITE diff --git a/data/wild/maps/RockTunnel1F.asm b/data/wild/maps/RockTunnel1F.asm index 0b6b07bd..6ca947c0 100644 --- a/data/wild/maps/RockTunnel1F.asm +++ b/data/wild/maps/RockTunnel1F.asm @@ -1,4 +1,4 @@ -TunnelMonsB1: +RockTunnel1FWildMons: def_grass_wildmons 15 ; encounter rate db 16, ZUBAT db 17, ZUBAT diff --git a/data/wild/maps/RockTunnelB1F.asm b/data/wild/maps/RockTunnelB1F.asm index f4dad48d..4edd716c 100644 --- a/data/wild/maps/RockTunnelB1F.asm +++ b/data/wild/maps/RockTunnelB1F.asm @@ -1,4 +1,4 @@ -TunnelMonsB2: +RockTunnelB1FWildMons: def_grass_wildmons 15 ; encounter rate db 16, ZUBAT db 17, ZUBAT diff --git a/data/wild/maps/Route1.asm b/data/wild/maps/Route1.asm index 481650a8..a9ed6a4a 100644 --- a/data/wild/maps/Route1.asm +++ b/data/wild/maps/Route1.asm @@ -1,4 +1,4 @@ -Route1Mons: +Route1WildMons: def_grass_wildmons 25 ; encounter rate db 3, PIDGEY db 3, RATTATA diff --git a/data/wild/maps/Route10.asm b/data/wild/maps/Route10.asm index 5e5a0a95..f2d1b8f6 100644 --- a/data/wild/maps/Route10.asm +++ b/data/wild/maps/Route10.asm @@ -1,4 +1,4 @@ -Route10Mons: +Route10WildMons: def_grass_wildmons 15 ; encounter rate db 16, VOLTORB db 16, SPEAROW diff --git a/data/wild/maps/Route11.asm b/data/wild/maps/Route11.asm index 853daebf..87cf94fa 100644 --- a/data/wild/maps/Route11.asm +++ b/data/wild/maps/Route11.asm @@ -1,4 +1,4 @@ -Route11Mons: +Route11WildMons: def_grass_wildmons 15 ; encounter rate IF DEF(_RED) db 14, EKANS diff --git a/data/wild/maps/Route12.asm b/data/wild/maps/Route12.asm index f4c7911c..4c9388d3 100644 --- a/data/wild/maps/Route12.asm +++ b/data/wild/maps/Route12.asm @@ -1,4 +1,4 @@ -Route12Mons: +Route12WildMons: def_grass_wildmons 15 ; encounter rate IF DEF(_RED) db 24, ODDISH diff --git a/data/wild/maps/Route13.asm b/data/wild/maps/Route13.asm index 1af1b533..c6196233 100644 --- a/data/wild/maps/Route13.asm +++ b/data/wild/maps/Route13.asm @@ -1,4 +1,4 @@ -Route13Mons: +Route13WildMons: def_grass_wildmons 20 ; encounter rate IF DEF(_RED) db 24, ODDISH diff --git a/data/wild/maps/Route14.asm b/data/wild/maps/Route14.asm index 839834ce..dbc218fb 100644 --- a/data/wild/maps/Route14.asm +++ b/data/wild/maps/Route14.asm @@ -1,4 +1,4 @@ -Route14Mons: +Route14WildMons: def_grass_wildmons 15 ; encounter rate IF DEF(_RED) db 24, ODDISH diff --git a/data/wild/maps/Route15.asm b/data/wild/maps/Route15.asm index 7c2a23a5..c437a97d 100644 --- a/data/wild/maps/Route15.asm +++ b/data/wild/maps/Route15.asm @@ -1,4 +1,4 @@ -Route15Mons: +Route15WildMons: def_grass_wildmons 15 ; encounter rate IF DEF(_RED) db 24, ODDISH diff --git a/data/wild/maps/Route16.asm b/data/wild/maps/Route16.asm index d9556d72..15ef2bf1 100644 --- a/data/wild/maps/Route16.asm +++ b/data/wild/maps/Route16.asm @@ -1,4 +1,4 @@ -Route16Mons: +Route16WildMons: def_grass_wildmons 25 ; encounter rate db 20, SPEAROW db 22, SPEAROW diff --git a/data/wild/maps/Route17.asm b/data/wild/maps/Route17.asm index a7a0acc3..b3b2b672 100644 --- a/data/wild/maps/Route17.asm +++ b/data/wild/maps/Route17.asm @@ -1,4 +1,4 @@ -Route17Mons: +Route17WildMons: def_grass_wildmons 25 ; encounter rate db 20, SPEAROW db 22, SPEAROW diff --git a/data/wild/maps/Route18.asm b/data/wild/maps/Route18.asm index 66c203cf..d2a1269a 100644 --- a/data/wild/maps/Route18.asm +++ b/data/wild/maps/Route18.asm @@ -1,4 +1,4 @@ -Route18Mons: +Route18WildMons: def_grass_wildmons 25 ; encounter rate db 20, SPEAROW db 22, SPEAROW diff --git a/data/wild/maps/Route2.asm b/data/wild/maps/Route2.asm index 7696f5af..9ec6d912 100644 --- a/data/wild/maps/Route2.asm +++ b/data/wild/maps/Route2.asm @@ -1,4 +1,4 @@ -Route2Mons: +Route2WildMons: def_grass_wildmons 25 ; encounter rate db 3, RATTATA db 3, PIDGEY diff --git a/data/wild/maps/Route21.asm b/data/wild/maps/Route21.asm index d1ed0288..99cddd60 100644 --- a/data/wild/maps/Route21.asm +++ b/data/wild/maps/Route21.asm @@ -1,4 +1,4 @@ -Route21Mons: +Route21WildMons: def_grass_wildmons 25 ; encounter rate db 21, RATTATA db 23, PIDGEY diff --git a/data/wild/maps/Route22.asm b/data/wild/maps/Route22.asm index 387130f7..49e95bc9 100644 --- a/data/wild/maps/Route22.asm +++ b/data/wild/maps/Route22.asm @@ -1,4 +1,4 @@ -Route22Mons: +Route22WildMons: def_grass_wildmons 25 ; encounter rate db 3, RATTATA IF DEF(_RED) diff --git a/data/wild/maps/Route23.asm b/data/wild/maps/Route23.asm index 36620813..a2cde010 100644 --- a/data/wild/maps/Route23.asm +++ b/data/wild/maps/Route23.asm @@ -1,4 +1,4 @@ -Route23Mons: +Route23WildMons: def_grass_wildmons 10 ; encounter rate IF DEF(_RED) db 26, EKANS diff --git a/data/wild/maps/Route24.asm b/data/wild/maps/Route24.asm index 63633831..3c06d810 100644 --- a/data/wild/maps/Route24.asm +++ b/data/wild/maps/Route24.asm @@ -1,4 +1,4 @@ -Route24Mons: +Route24WildMons: def_grass_wildmons 25 ; encounter rate IF DEF(_RED) db 7, WEEDLE diff --git a/data/wild/maps/Route25.asm b/data/wild/maps/Route25.asm index 944e28a8..9c59549f 100644 --- a/data/wild/maps/Route25.asm +++ b/data/wild/maps/Route25.asm @@ -1,4 +1,4 @@ -Route25Mons: +Route25WildMons: def_grass_wildmons 15 ; encounter rate IF DEF(_RED) db 8, WEEDLE diff --git a/data/wild/maps/Route3.asm b/data/wild/maps/Route3.asm index ebb9e4b4..9a78dba7 100644 --- a/data/wild/maps/Route3.asm +++ b/data/wild/maps/Route3.asm @@ -1,4 +1,4 @@ -Route3Mons: +Route3WildMons: def_grass_wildmons 20 ; encounter rate db 6, PIDGEY db 5, SPEAROW diff --git a/data/wild/maps/Route4.asm b/data/wild/maps/Route4.asm index 4f94a21a..c4f1f536 100644 --- a/data/wild/maps/Route4.asm +++ b/data/wild/maps/Route4.asm @@ -1,4 +1,4 @@ -Route4Mons: +Route4WildMons: def_grass_wildmons 20 ; encounter rate db 10, RATTATA db 10, SPEAROW diff --git a/data/wild/maps/Route5.asm b/data/wild/maps/Route5.asm index 6414eefe..3af2ebd9 100644 --- a/data/wild/maps/Route5.asm +++ b/data/wild/maps/Route5.asm @@ -1,4 +1,4 @@ -Route5Mons: +Route5WildMons: def_grass_wildmons 15 ; encounter rate IF DEF(_RED) db 13, ODDISH diff --git a/data/wild/maps/Route6.asm b/data/wild/maps/Route6.asm index 5c843ec9..593e890b 100644 --- a/data/wild/maps/Route6.asm +++ b/data/wild/maps/Route6.asm @@ -1,4 +1,4 @@ -Route6Mons: +Route6WildMons: def_grass_wildmons 15 ; encounter rate IF DEF(_RED) db 13, ODDISH diff --git a/data/wild/maps/Route7.asm b/data/wild/maps/Route7.asm index c0bf1193..51f78880 100644 --- a/data/wild/maps/Route7.asm +++ b/data/wild/maps/Route7.asm @@ -1,4 +1,4 @@ -Route7Mons: +Route7WildMons: def_grass_wildmons 15 ; encounter rate db 19, PIDGEY IF DEF(_RED) diff --git a/data/wild/maps/Route8.asm b/data/wild/maps/Route8.asm index 8d2771af..52995d1b 100644 --- a/data/wild/maps/Route8.asm +++ b/data/wild/maps/Route8.asm @@ -1,4 +1,4 @@ -Route8Mons: +Route8WildMons: def_grass_wildmons 15 ; encounter rate db 18, PIDGEY IF DEF(_RED) diff --git a/data/wild/maps/Route9.asm b/data/wild/maps/Route9.asm index 6a1cdca5..e771040a 100644 --- a/data/wild/maps/Route9.asm +++ b/data/wild/maps/Route9.asm @@ -1,4 +1,4 @@ -Route9Mons: +Route9WildMons: def_grass_wildmons 15 ; encounter rate db 16, RATTATA db 16, SPEAROW diff --git a/data/wild/maps/SafariZoneCenter.asm b/data/wild/maps/SafariZoneCenter.asm index 72be93e0..f0599e4b 100644 --- a/data/wild/maps/SafariZoneCenter.asm +++ b/data/wild/maps/SafariZoneCenter.asm @@ -1,4 +1,4 @@ -ZoneMonsCenter: +SafariZoneCenterWildMons: def_grass_wildmons 30 ; encounter rate IF DEF(_RED) db 22, NIDORAN_M diff --git a/data/wild/maps/SafariZoneEast.asm b/data/wild/maps/SafariZoneEast.asm index ea7cbc22..883f181d 100644 --- a/data/wild/maps/SafariZoneEast.asm +++ b/data/wild/maps/SafariZoneEast.asm @@ -1,4 +1,4 @@ -ZoneMons1: +SafariZoneEastWildMons: def_grass_wildmons 30 ; encounter rate IF DEF(_RED) db 24, NIDORAN_M diff --git a/data/wild/maps/SafariZoneNorth.asm b/data/wild/maps/SafariZoneNorth.asm index 864124c3..40b4adcc 100644 --- a/data/wild/maps/SafariZoneNorth.asm +++ b/data/wild/maps/SafariZoneNorth.asm @@ -1,4 +1,4 @@ -ZoneMons2: +SafariZoneNorthWildMons: def_grass_wildmons 30 ; encounter rate IF DEF(_RED) db 22, NIDORAN_M diff --git a/data/wild/maps/SafariZoneWest.asm b/data/wild/maps/SafariZoneWest.asm index fb8962da..821c0ed0 100644 --- a/data/wild/maps/SafariZoneWest.asm +++ b/data/wild/maps/SafariZoneWest.asm @@ -1,4 +1,4 @@ -ZoneMons3: +SafariZoneWestWildMons: def_grass_wildmons 30 ; encounter rate IF DEF(_RED) db 25, NIDORAN_M diff --git a/data/wild/maps/SeaRoutes.asm b/data/wild/maps/SeaRoutes.asm index badf0bed..7ec50889 100644 --- a/data/wild/maps/SeaRoutes.asm +++ b/data/wild/maps/SeaRoutes.asm @@ -1,4 +1,4 @@ -WaterMons: +SeaRoutesWildMons: def_grass_wildmons 0 ; encounter rate end_grass_wildmons diff --git a/data/wild/maps/SeafoamIslands1F.asm b/data/wild/maps/SeafoamIslands1F.asm index 67c87ce2..42949942 100644 --- a/data/wild/maps/SeafoamIslands1F.asm +++ b/data/wild/maps/SeafoamIslands1F.asm @@ -1,4 +1,4 @@ -IslandMons1: +SeafoamIslands1FWildMons: def_grass_wildmons 15 ; encounter rate db 30, SEEL IF DEF(_RED) diff --git a/data/wild/maps/SeafoamIslandsB1F.asm b/data/wild/maps/SeafoamIslandsB1F.asm index b2f0f699..86cabb9e 100644 --- a/data/wild/maps/SeafoamIslandsB1F.asm +++ b/data/wild/maps/SeafoamIslandsB1F.asm @@ -1,4 +1,4 @@ -IslandMonsB1: +SeafoamIslandsB1FWildMons: def_grass_wildmons 10 ; encounter rate IF DEF(_RED) db 30, STARYU diff --git a/data/wild/maps/SeafoamIslandsB2F.asm b/data/wild/maps/SeafoamIslandsB2F.asm index 4237fcd1..0375bd51 100644 --- a/data/wild/maps/SeafoamIslandsB2F.asm +++ b/data/wild/maps/SeafoamIslandsB2F.asm @@ -1,4 +1,4 @@ -IslandMonsB2: +SeafoamIslandsB2FWildMons: def_grass_wildmons 10 ; encounter rate db 30, SEEL IF DEF(_RED) diff --git a/data/wild/maps/SeafoamIslandsB3F.asm b/data/wild/maps/SeafoamIslandsB3F.asm index 3d29664f..1706f520 100644 --- a/data/wild/maps/SeafoamIslandsB3F.asm +++ b/data/wild/maps/SeafoamIslandsB3F.asm @@ -1,4 +1,4 @@ -IslandMonsB3: +SeafoamIslandsB3FWildMons: def_grass_wildmons 10 ; encounter rate IF DEF(_RED) db 31, SLOWPOKE diff --git a/data/wild/maps/SeafoamIslandsB4F.asm b/data/wild/maps/SeafoamIslandsB4F.asm index 9bc08333..fd1d7cb9 100644 --- a/data/wild/maps/SeafoamIslandsB4F.asm +++ b/data/wild/maps/SeafoamIslandsB4F.asm @@ -1,4 +1,4 @@ -IslandMonsB4: +SeafoamIslandsB4FWildMons: def_grass_wildmons 10 ; encounter rate IF DEF(_RED) db 31, HORSEA diff --git a/data/wild/maps/VictoryRoad1F.asm b/data/wild/maps/VictoryRoad1F.asm index 162fef86..055b61bc 100644 --- a/data/wild/maps/VictoryRoad1F.asm +++ b/data/wild/maps/VictoryRoad1F.asm @@ -1,4 +1,4 @@ -PlateauMons1: +VictoryRoad1FWildMons: def_grass_wildmons 15 ; encounter rate db 24, MACHOP db 26, GEODUDE diff --git a/data/wild/maps/VictoryRoad2F.asm b/data/wild/maps/VictoryRoad2F.asm index 4cb9e8da..47fc4041 100644 --- a/data/wild/maps/VictoryRoad2F.asm +++ b/data/wild/maps/VictoryRoad2F.asm @@ -1,4 +1,4 @@ -PlateauMons2: +VictoryRoad2FWildMons: def_grass_wildmons 10 ; encounter rate db 22, MACHOP db 24, GEODUDE diff --git a/data/wild/maps/VictoryRoad3F.asm b/data/wild/maps/VictoryRoad3F.asm index c525839c..ae12d403 100644 --- a/data/wild/maps/VictoryRoad3F.asm +++ b/data/wild/maps/VictoryRoad3F.asm @@ -1,4 +1,4 @@ -PlateauMons3: +VictoryRoad3FWildMons: def_grass_wildmons 15 ; encounter rate db 24, MACHOP db 26, GEODUDE diff --git a/data/wild/maps/ViridianForest.asm b/data/wild/maps/ViridianForest.asm index 71319e71..82a63569 100644 --- a/data/wild/maps/ViridianForest.asm +++ b/data/wild/maps/ViridianForest.asm @@ -1,4 +1,4 @@ -ForestMons: +ViridianForestWildMons: def_grass_wildmons 8 ; encounter rate IF DEF(_RED) db 4, WEEDLE diff --git a/data/wild/maps/nothing.asm b/data/wild/maps/nothing.asm index 1ccba991..67d2572e 100644 --- a/data/wild/maps/nothing.asm +++ b/data/wild/maps/nothing.asm @@ -1,4 +1,4 @@ -NoMons: +NotingWildMons: def_grass_wildmons 0 ; encounter rate end_grass_wildmons diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 8c9c1529..1f458850 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -67,7 +67,7 @@ TryDoWildEncounter: lda_coord 8, 9 cp $14 ; is the bottom left tile (8,9) of the half-block we're standing in a water tile? jr nz, .gotWildEncounterType ; else, it's treated as a grass tile by default - ld hl, wWaterMons + ld hl, wSeaRoutesWildMons ; since the bottom right tile of a "left shore" half-block is $14 but the bottom left tile is not, ; "left shore" half-blocks (such as the one in the east coast of Cinnabar) load grass encounters. .gotWildEncounterType diff --git a/engine/overworld/wild_mons.asm b/engine/overworld/wild_mons.asm index 2593e0ec..d372cfe4 100644 --- a/engine/overworld/wild_mons.asm +++ b/engine/overworld/wild_mons.asm @@ -26,7 +26,7 @@ LoadWildData:: ld [wWaterRate], a and a ret z ; if no water data, we're done - ld de, wWaterMons ; otherwise, load surfing data + ld de, wSeaRoutesWildMons ; otherwise, load surfing data ld bc, $14 jp CopyData diff --git a/wram.asm b/wram.asm index e8ea699c..40c41146 100644 --- a/wram.asm +++ b/wram.asm @@ -3046,7 +3046,7 @@ wGrassMons:: ds 8 wWaterRate:: db -wWaterMons:: +wSeaRoutesWildMons:: ds 10 * 2 NEXTU From 653b62139d9447b7bdcc116a44ad13f3c1c63f1a Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 23 May 2021 18:33:14 -0400 Subject: [PATCH 022/119] Use macros for packed arrays of nybbles --- data/items/tm_prices.asm | 79 +++++++----- data/pokemon/menu_icons.asm | 231 ++++++++++++++++++++++++------------ macros/asserts.asm | 35 ++++++ 3 files changed, 240 insertions(+), 105 deletions(-) diff --git a/data/items/tm_prices.asm b/data/items/tm_prices.asm index 22bcb074..89501e32 100644 --- a/data/items/tm_prices.asm +++ b/data/items/tm_prices.asm @@ -1,29 +1,54 @@ TechnicalMachinePrices: ; In thousands (nybbles). - table_width 1, TechnicalMachinePrices - dn 3, 2 ; TM01, TM02 - dn 2, 1 ; TM03, TM04 - dn 3, 4 ; TM05, TM06 - dn 2, 4 ; TM07, TM08 - dn 3, 4 ; TM09, TM10 - dn 2, 1 ; TM11, TM12 - dn 4, 5 ; TM13, TM14 - dn 5, 5 ; TM15, TM16 - dn 3, 2 ; TM17, TM18 - dn 3, 2 ; TM19, TM20 - dn 5, 5 ; TM21, TM22 - dn 5, 2 ; TM23, TM24 - dn 5, 4 ; TM25, TM26 - dn 5, 2 ; TM27, TM28 - dn 4, 1 ; TM29, TM30 - dn 2, 1 ; TM31, TM32 - dn 1, 2 ; TM33, TM34 - dn 4, 2 ; TM35, TM36 - dn 2, 5 ; TM37, TM38 - dn 2, 4 ; TM39, TM40 - dn 2, 2 ; TM41, TM42 - dn 5, 2 ; TM43, TM44 - dn 2, 4 ; TM45, TM46 - dn 3, 4 ; TM47, TM48 - dn 4, 2 ; TM49, TM50 - assert_table_length (NUM_TMS + 1) / 2 + nybble_array TechnicalMachinePrices + nybble 3 ; TM01 + nybble 2 ; TM02 + nybble 2 ; TM03 + nybble 1 ; TM04 + nybble 3 ; TM05 + nybble 4 ; TM06 + nybble 2 ; TM07 + nybble 4 ; TM08 + nybble 3 ; TM09 + nybble 4 ; TM10 + nybble 2 ; TM11 + nybble 1 ; TM12 + nybble 4 ; TM13 + nybble 5 ; TM14 + nybble 5 ; TM15 + nybble 5 ; TM16 + nybble 3 ; TM17 + nybble 2 ; TM18 + nybble 3 ; TM19 + nybble 2 ; TM20 + nybble 5 ; TM21 + nybble 5 ; TM22 + nybble 5 ; TM23 + nybble 2 ; TM24 + nybble 5 ; TM25 + nybble 4 ; TM26 + nybble 5 ; TM27 + nybble 2 ; TM28 + nybble 4 ; TM29 + nybble 1 ; TM30 + nybble 2 ; TM31 + nybble 1 ; TM32 + nybble 1 ; TM33 + nybble 2 ; TM34 + nybble 4 ; TM35 + nybble 2 ; TM36 + nybble 2 ; TM37 + nybble 5 ; TM38 + nybble 2 ; TM39 + nybble 4 ; TM40 + nybble 2 ; TM41 + nybble 2 ; TM42 + nybble 5 ; TM43 + nybble 2 ; TM44 + nybble 2 ; TM45 + nybble 4 ; TM46 + nybble 3 ; TM47 + nybble 4 ; TM48 + nybble 4 ; TM49 + nybble 2 ; TM50 + end_nybble_array NUM_TMS diff --git a/data/pokemon/menu_icons.asm b/data/pokemon/menu_icons.asm index 80a45e49..d6ed5b35 100644 --- a/data/pokemon/menu_icons.asm +++ b/data/pokemon/menu_icons.asm @@ -1,79 +1,154 @@ MonPartyData: - table_width 1, MonPartyData - dn ICON_GRASS, ICON_GRASS ; Bulbasaur / Ivysaur - dn ICON_GRASS, ICON_MON ; Venusaur / Charmander - dn ICON_MON, ICON_MON ; Charmeleon / Charizard - dn ICON_WATER, ICON_WATER ; Squirtle / Wartortle - dn ICON_WATER, ICON_BUG ; Blastoise / Caterpie - dn ICON_BUG, ICON_BUG ; Metapod / Butterfree - dn ICON_BUG, ICON_BUG ; Weedle / Kakuna - dn ICON_BUG, ICON_BIRD ; Beedrill / Pidgey - dn ICON_BIRD, ICON_BIRD ; Pidgeotto / Pidgeot - dn ICON_QUADRUPED, ICON_QUADRUPED ; Rattata / Raticate - dn ICON_BIRD, ICON_BIRD ; Spearow / Fearow - dn ICON_SNAKE, ICON_SNAKE ; Ekans / Arbok - dn ICON_FAIRY, ICON_FAIRY ; Pikachu / Raichu - dn ICON_MON, ICON_MON ; Sandshrew / Sandslash - dn ICON_MON, ICON_MON ; NidoranF / Nidorina - dn ICON_MON, ICON_MON ; Nidoqueen / NidoranM - dn ICON_MON, ICON_MON ; Nidorino / Nidoking - dn ICON_FAIRY, ICON_FAIRY ; Clefairy / Clefable - dn ICON_QUADRUPED, ICON_QUADRUPED ; Vulpix / Ninetales - dn ICON_FAIRY, ICON_FAIRY ; Jigglypuff / Wigglytuff - dn ICON_MON, ICON_MON ; Zubat / Golbat - dn ICON_GRASS, ICON_GRASS ; Oddish / Gloom - dn ICON_GRASS, ICON_BUG ; Vileplume / Paras - dn ICON_BUG, ICON_BUG ; Parasect / Venonat - dn ICON_BUG, ICON_MON ; Venomoth / Diglett - dn ICON_MON, ICON_MON ; Dugtrio / Meowth - dn ICON_MON, ICON_MON ; Persian / Psyduck - dn ICON_MON, ICON_MON ; Golduck / Mankey - dn ICON_MON, ICON_QUADRUPED ; Primeape / Growlithe - dn ICON_QUADRUPED, ICON_MON ; Arcanine / Poliwag - dn ICON_MON, ICON_MON ; Poliwhirl / Poliwrath - dn ICON_MON, ICON_MON ; Abra / Kadabra - dn ICON_MON, ICON_MON ; Alakazam / Machop - dn ICON_MON, ICON_MON ; Machoke / Machamp - dn ICON_GRASS, ICON_GRASS ; Bellsprout / Weepinbell - dn ICON_GRASS, ICON_WATER ; Victreebel / Tentacool - dn ICON_WATER, ICON_MON ; Tentacruel / Geodude - dn ICON_MON, ICON_MON ; Graveler / Golem - dn ICON_QUADRUPED, ICON_QUADRUPED ; Ponyta / Rapidash - dn ICON_QUADRUPED, ICON_MON ; Slowpoke / Slowbro - dn ICON_BALL, ICON_BALL ; Magnemite / Magneton - dn ICON_BIRD, ICON_BIRD ; Farfetch'd / Doduo - dn ICON_BIRD, ICON_WATER ; Dodrio / Seel - dn ICON_WATER, ICON_MON ; Dewgong / Grimer - dn ICON_MON, ICON_HELIX ; Muk / Shellder - dn ICON_HELIX, ICON_MON ; Cloyster / Gastly - dn ICON_MON, ICON_MON ; Haunter / Gengar - dn ICON_SNAKE, ICON_MON ; Onix / Drowzee - dn ICON_MON, ICON_WATER ; Hypno / Krabby - dn ICON_WATER, ICON_BALL ; Kingler / Voltorb - dn ICON_BALL, ICON_GRASS ; Electrode / Exeggcute - dn ICON_GRASS, ICON_MON ; Exeggutor / Cubone - dn ICON_MON, ICON_MON ; Marowak / Hitmonlee - dn ICON_MON, ICON_MON ; Hitmonchan / Lickitung - dn ICON_MON, ICON_MON ; Koffing / Weezing - dn ICON_QUADRUPED, ICON_MON ; Rhyhorn / Rhydon - dn ICON_FAIRY, ICON_GRASS ; Chansey / Tangela - dn ICON_MON, ICON_WATER ; Kangaskhan / Horsea - dn ICON_WATER, ICON_WATER ; Seadra / Goldeen - dn ICON_WATER, ICON_HELIX ; Seaking / Staryu - dn ICON_HELIX, ICON_MON ; Starmie / Mr.Mime - dn ICON_BUG, ICON_MON ; Scyther / Jynx - dn ICON_MON, ICON_MON ; Electabuzz / Magmar - dn ICON_BUG, ICON_QUADRUPED ; Pinsir / Tauros - dn ICON_WATER, ICON_SNAKE ; Magikarp / Gyarados - dn ICON_WATER, ICON_MON ; Lapras / Ditto - dn ICON_QUADRUPED, ICON_QUADRUPED ; Eevee / Vaporeon - dn ICON_QUADRUPED, ICON_QUADRUPED ; Jolteon / Flareon - dn ICON_MON, ICON_HELIX ; Porygon / Omanyte - dn ICON_HELIX, ICON_HELIX ; Omastar / Kabuto - dn ICON_HELIX, ICON_BIRD ; Kabutops / Aerodactyl - dn ICON_MON, ICON_BIRD ; Snorlax / Articuno - dn ICON_BIRD, ICON_BIRD ; Zapdos / Moltres - dn ICON_SNAKE, ICON_SNAKE ; Dratini / Dragonair - dn ICON_SNAKE, ICON_MON ; Dragonite / Mewtwo - dn ICON_MON, 0 ; Mew / padding - assert_table_length (NUM_POKEMON + 1) / 2 + nybble_array MonPartyData + nybble ICON_GRASS ; Bulbasaur + nybble ICON_GRASS ; Ivysaur + nybble ICON_GRASS ; Venusaur + nybble ICON_MON ; Charmander + nybble ICON_MON ; Charmeleon + nybble ICON_MON ; Charizard + nybble ICON_WATER ; Squirtle + nybble ICON_WATER ; Wartortle + nybble ICON_WATER ; Blastoise + nybble ICON_BUG ; Caterpie + nybble ICON_BUG ; Metapod + nybble ICON_BUG ; Butterfree + nybble ICON_BUG ; Weedle + nybble ICON_BUG ; Kakuna + nybble ICON_BUG ; Beedrill + nybble ICON_BIRD ; Pidgey + nybble ICON_BIRD ; Pidgeotto + nybble ICON_BIRD ; Pidgeot + nybble ICON_QUADRUPED ; Rattata + nybble ICON_QUADRUPED ; Raticate + nybble ICON_BIRD ; Spearow + nybble ICON_BIRD ; Fearow + nybble ICON_SNAKE ; Ekans + nybble ICON_SNAKE ; Arbok + nybble ICON_FAIRY ; Pikachu + nybble ICON_FAIRY ; Raichu + nybble ICON_MON ; Sandshrew + nybble ICON_MON ; Sandslash + nybble ICON_MON ; NidoranF + nybble ICON_MON ; Nidorina + nybble ICON_MON ; Nidoqueen + nybble ICON_MON ; NidoranM + nybble ICON_MON ; Nidorino + nybble ICON_MON ; Nidoking + nybble ICON_FAIRY ; Clefairy + nybble ICON_FAIRY ; Clefable + nybble ICON_QUADRUPED ; Vulpix + nybble ICON_QUADRUPED ; Ninetales + nybble ICON_FAIRY ; Jigglypuff + nybble ICON_FAIRY ; Wigglytuff + nybble ICON_MON ; Zubat + nybble ICON_MON ; Golbat + nybble ICON_GRASS ; Oddish + nybble ICON_GRASS ; Gloom + nybble ICON_GRASS ; Vileplume + nybble ICON_BUG ; Paras + nybble ICON_BUG ; Parasect + nybble ICON_BUG ; Venonat + nybble ICON_BUG ; Venomoth + nybble ICON_MON ; Diglett + nybble ICON_MON ; Dugtrio + nybble ICON_MON ; Meowth + nybble ICON_MON ; Persian + nybble ICON_MON ; Psyduck + nybble ICON_MON ; Golduck + nybble ICON_MON ; Mankey + nybble ICON_MON ; Primeape + nybble ICON_QUADRUPED ; Growlithe + nybble ICON_QUADRUPED ; Arcanine + nybble ICON_MON ; Poliwag + nybble ICON_MON ; Poliwhirl + nybble ICON_MON ; Poliwrath + nybble ICON_MON ; Abra + nybble ICON_MON ; Kadabra + nybble ICON_MON ; Alakazam + nybble ICON_MON ; Machop + nybble ICON_MON ; Machoke + nybble ICON_MON ; Machamp + nybble ICON_GRASS ; Bellsprout + nybble ICON_GRASS ; Weepinbell + nybble ICON_GRASS ; Victreebel + nybble ICON_WATER ; Tentacool + nybble ICON_WATER ; Tentacruel + nybble ICON_MON ; Geodude + nybble ICON_MON ; Graveler + nybble ICON_MON ; Golem + nybble ICON_QUADRUPED ; Ponyta + nybble ICON_QUADRUPED ; Rapidash + nybble ICON_QUADRUPED ; Slowpoke + nybble ICON_MON ; Slowbro + nybble ICON_BALL ; Magnemite + nybble ICON_BALL ; Magneton + nybble ICON_BIRD ; Farfetch'd + nybble ICON_BIRD ; Doduo + nybble ICON_BIRD ; Dodrio + nybble ICON_WATER ; Seel + nybble ICON_WATER ; Dewgong + nybble ICON_MON ; Grimer + nybble ICON_MON ; Muk + nybble ICON_HELIX ; Shellder + nybble ICON_HELIX ; Cloyster + nybble ICON_MON ; Gastly + nybble ICON_MON ; Haunter + nybble ICON_MON ; Gengar + nybble ICON_SNAKE ; Onix + nybble ICON_MON ; Drowzee + nybble ICON_MON ; Hypno + nybble ICON_WATER ; Krabby + nybble ICON_WATER ; Kingler + nybble ICON_BALL ; Voltorb + nybble ICON_BALL ; Electrode + nybble ICON_GRASS ; Exeggcute + nybble ICON_GRASS ; Exeggutor + nybble ICON_MON ; Cubone + nybble ICON_MON ; Marowak + nybble ICON_MON ; Hitmonlee + nybble ICON_MON ; Hitmonchan + nybble ICON_MON ; Lickitung + nybble ICON_MON ; Koffing + nybble ICON_MON ; Weezing + nybble ICON_QUADRUPED ; Rhyhorn + nybble ICON_MON ; Rhydon + nybble ICON_FAIRY ; Chansey + nybble ICON_GRASS ; Tangela + nybble ICON_MON ; Kangaskhan + nybble ICON_WATER ; Horsea + nybble ICON_WATER ; Seadra + nybble ICON_WATER ; Goldeen + nybble ICON_WATER ; Seaking + nybble ICON_HELIX ; Staryu + nybble ICON_HELIX ; Starmie + nybble ICON_MON ; Mr.Mime + nybble ICON_BUG ; Scyther + nybble ICON_MON ; Jynx + nybble ICON_MON ; Electabuzz + nybble ICON_MON ; Magmar + nybble ICON_BUG ; Pinsir + nybble ICON_QUADRUPED ; Tauros + nybble ICON_WATER ; Magikarp + nybble ICON_SNAKE ; Gyarados + nybble ICON_WATER ; Lapras + nybble ICON_MON ; Ditto + nybble ICON_QUADRUPED ; Eevee + nybble ICON_QUADRUPED ; Vaporeon + nybble ICON_QUADRUPED ; Jolteon + nybble ICON_QUADRUPED ; Flareon + nybble ICON_MON ; Porygon + nybble ICON_HELIX ; Omanyte + nybble ICON_HELIX ; Omastar + nybble ICON_HELIX ; Kabuto + nybble ICON_HELIX ; Kabutops + nybble ICON_BIRD ; Aerodactyl + nybble ICON_MON ; Snorlax + nybble ICON_BIRD ; Articuno + nybble ICON_BIRD ; Zapdos + nybble ICON_BIRD ; Moltres + nybble ICON_SNAKE ; Dratini + nybble ICON_SNAKE ; Dragonair + nybble ICON_SNAKE ; Dragonite + nybble ICON_MON ; Mewtwo + nybble ICON_MON ; Mew + end_nybble_array NUM_POKEMON diff --git a/macros/asserts.asm b/macros/asserts.asm index a07bc553..33021b45 100644 --- a/macros/asserts.asm +++ b/macros/asserts.asm @@ -38,6 +38,41 @@ x = \1 "{CURRENT_LIST_START}: expected {d:x} entries, got {d:list_index}" ENDM +nybble_array: MACRO +CURRENT_NYBBLE_ARRAY_VALUE = 0 +CURRENT_NYBBLE_ARRAY_LENGTH = 0 +IF _NARG == 1 +REDEF CURRENT_NYBBLE_ARRAY_START EQUS "\1" +ELSE +REDEF CURRENT_NYBBLE_ARRAY_START EQUS "._nybble_array\@" +{CURRENT_NYBBLE_ARRAY_START}: +ENDC +ENDM + +nybble: MACRO + ASSERT 0 <= (\1) && (\1) < $10, "nybbles must be 0-15" +CURRENT_NYBBLE_ARRAY_VALUE = (\1) | (CURRENT_NYBBLE_ARRAY_VALUE << 4) +CURRENT_NYBBLE_ARRAY_LENGTH = CURRENT_NYBBLE_ARRAY_LENGTH + 1 +IF CURRENT_NYBBLE_ARRAY_LENGTH % 2 == 0 + db CURRENT_NYBBLE_ARRAY_VALUE +CURRENT_NYBBLE_ARRAY_VALUE = 0 +ENDC +ENDM + +end_nybble_array: MACRO +IF CURRENT_NYBBLE_ARRAY_LENGTH % 2 + db CURRENT_NYBBLE_ARRAY_VALUE +ENDC +IF _NARG == 1 +x = \1 + ASSERT x == CURRENT_NYBBLE_ARRAY_LENGTH, \ + "{CURRENT_NYBBLE_ARRAY_START}: expected {d:x} nybbles, got {d:CURRENT_NYBBLE_ARRAY_LENGTH}" +x = (x + 1) / 2 + ASSERT x == @ - {CURRENT_NYBBLE_ARRAY_START}, \ + "{CURRENT_NYBBLE_ARRAY_START}: expected {d:x} bytes" +ENDC +ENDM + def_grass_wildmons: MACRO ;\1: encounter rate CURRENT_GRASS_WILDMONS_RATE = \1 From 715496bf351a4141fb8a47977ef49c956857d26e Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 23 May 2021 21:51:20 -0400 Subject: [PATCH 023/119] Fix end_nybble_array --- macros/asserts.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/asserts.asm b/macros/asserts.asm index 33021b45..3082b26c 100644 --- a/macros/asserts.asm +++ b/macros/asserts.asm @@ -61,7 +61,7 @@ ENDM end_nybble_array: MACRO IF CURRENT_NYBBLE_ARRAY_LENGTH % 2 - db CURRENT_NYBBLE_ARRAY_VALUE + db CURRENT_NYBBLE_ARRAY_VALUE << 4 ENDC IF _NARG == 1 x = \1 From 346ce9454aac5ed9bd000d637f146b31f5a6f29d Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 23 May 2021 22:09:02 -0400 Subject: [PATCH 024/119] Use macros for bit arrays --- constants/item_constants.asm | 2 +- data/items/key_items.asm | 191 +++++++++++++++------------------- engine/items/item_effects.asm | 3 +- macros/asserts.asm | 35 +++++++ 4 files changed, 124 insertions(+), 107 deletions(-) diff --git a/constants/item_constants.asm b/constants/item_constants.asm index bb779fe4..53f765af 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -3,7 +3,7 @@ ; - ItemNames (see data/items/names.asm) ; - ItemPrices (see data/items/prices.asm) ; - TechnicalMachinePrices (see data/items/tm_prices.asm) -; - KeyItemBitfield (see data/items/key_items.asm) +; - KeyItemFlags (see data/items/key_items.asm) ; - ItemUsePtrTable (see engine/items/item_effects.asm) const_def const NO_ITEM ; $00 diff --git a/data/items/key_items.asm b/data/items/key_items.asm index 13a69ea4..b0c4b1ad 100644 --- a/data/items/key_items.asm +++ b/data/items/key_items.asm @@ -1,105 +1,86 @@ -key_item_bits: MACRO -_bit = 0 -_byte = 0 -REPT _NARG -_byte = _byte | ((\1) << _bit) -_bit = _bit + 1 -IF _bit == 8 - db _byte -_byte = 0 -_bit = 0 -ENDC -SHIFT -ENDR -IF _bit > 0 - db _byte -ENDC -ENDM - -KeyItemBitfield: - table_width 1, KeyItemBitfield - key_item_bits \ - FALSE, \ ; MASTER_BALL - FALSE, \ ; ULTRA_BALL - FALSE, \ ; GREAT_BALL - FALSE, \ ; POKE_BALL - TRUE, \ ; TOWN_MAP - TRUE, \ ; BICYCLE - TRUE, \ ; SURFBOARD - TRUE, \ ; SAFARI_BALL - TRUE, \ ; POKEDEX - FALSE, \ ; MOON_STONE - FALSE, \ ; ANTIDOTE - FALSE, \ ; BURN_HEAL - FALSE, \ ; ICE_HEAL - FALSE, \ ; AWAKENING - FALSE, \ ; PARLYZ_HEAL - FALSE, \ ; FULL_RESTORE - FALSE, \ ; MAX_POTION - FALSE, \ ; HYPER_POTION - FALSE, \ ; SUPER_POTION - FALSE, \ ; POTION - TRUE, \ ; BOULDERBADGE - TRUE, \ ; CASCADEBADGE - TRUE, \ ; THUNDERBADGE - TRUE, \ ; RAINBOWBADGE - TRUE, \ ; SOULBADGE - TRUE, \ ; MARSHBADGE - TRUE, \ ; VOLCANOBADGE - TRUE, \ ; EARTHBADGE - FALSE, \ ; ESCAPE_ROPE - FALSE, \ ; REPEL - TRUE, \ ; OLD_AMBER - FALSE, \ ; FIRE_STONE - FALSE, \ ; THUNDER_STONE - FALSE, \ ; WATER_STONE - FALSE, \ ; HP_UP - FALSE, \ ; PROTEIN - FALSE, \ ; IRON - FALSE, \ ; CARBOS - FALSE, \ ; CALCIUM - FALSE, \ ; RARE_CANDY - TRUE, \ ; DOME_FOSSIL - TRUE, \ ; HELIX_FOSSIL - TRUE, \ ; SECRET_KEY - TRUE, \ ; UNUSED_ITEM - TRUE, \ ; BIKE_VOUCHER - FALSE, \ ; X_ACCURACY - FALSE, \ ; LEAF_STONE - TRUE, \ ; CARD_KEY - FALSE, \ ; NUGGET - FALSE, \ ; PP_UP_2 - FALSE, \ ; POKE_DOLL - FALSE, \ ; FULL_HEAL - FALSE, \ ; REVIVE - FALSE, \ ; MAX_REVIVE - FALSE, \ ; GUARD_SPEC - FALSE, \ ; SUPER_REPEL - FALSE, \ ; MAX_REPEL - FALSE, \ ; DIRE_HIT - FALSE, \ ; COIN - FALSE, \ ; FRESH_WATER - FALSE, \ ; SODA_POP - FALSE, \ ; LEMONADE - TRUE, \ ; S_S_TICKET - TRUE, \ ; GOLD_TEETH - FALSE, \ ; X_ATTACK - FALSE, \ ; X_DEFEND - FALSE, \ ; X_SPEED - FALSE, \ ; X_SPECIAL - TRUE, \ ; COIN_CASE - TRUE, \ ; OAKS_PARCEL - TRUE, \ ; ITEMFINDER - TRUE, \ ; SILPH_SCOPE - TRUE, \ ; POKE_FLUTE - TRUE, \ ; LIFT_KEY - FALSE, \ ; EXP_ALL - TRUE, \ ; OLD_ROD - TRUE, \ ; GOOD_ROD - TRUE, \ ; SUPER_ROD - FALSE, \ ; PP_UP - FALSE, \ ; ETHER - FALSE, \ ; MAX_ETHER - FALSE, \ ; ELIXER - FALSE ; MAX_ELIXER - assert_table_length (NUM_ITEMS + 7) / 8 +KeyItemFlags: + bit_array KeyItemFlags + dbit FALSE ; MASTER_BALL + dbit FALSE ; ULTRA_BALL + dbit FALSE ; GREAT_BALL + dbit FALSE ; POKE_BALL + dbit TRUE ; TOWN_MAP + dbit TRUE ; BICYCLE + dbit TRUE ; SURFBOARD + dbit TRUE ; SAFARI_BALL + dbit TRUE ; POKEDEX + dbit FALSE ; MOON_STONE + dbit FALSE ; ANTIDOTE + dbit FALSE ; BURN_HEAL + dbit FALSE ; ICE_HEAL + dbit FALSE ; AWAKENING + dbit FALSE ; PARLYZ_HEAL + dbit FALSE ; FULL_RESTORE + dbit FALSE ; MAX_POTION + dbit FALSE ; HYPER_POTION + dbit FALSE ; SUPER_POTION + dbit FALSE ; POTION + dbit TRUE ; BOULDERBADGE + dbit TRUE ; CASCADEBADGE + dbit TRUE ; THUNDERBADGE + dbit TRUE ; RAINBOWBADGE + dbit TRUE ; SOULBADGE + dbit TRUE ; MARSHBADGE + dbit TRUE ; VOLCANOBADGE + dbit TRUE ; EARTHBADGE + dbit FALSE ; ESCAPE_ROPE + dbit FALSE ; REPEL + dbit TRUE ; OLD_AMBER + dbit FALSE ; FIRE_STONE + dbit FALSE ; THUNDER_STONE + dbit FALSE ; WATER_STONE + dbit FALSE ; HP_UP + dbit FALSE ; PROTEIN + dbit FALSE ; IRON + dbit FALSE ; CARBOS + dbit FALSE ; CALCIUM + dbit FALSE ; RARE_CANDY + dbit TRUE ; DOME_FOSSIL + dbit TRUE ; HELIX_FOSSIL + dbit TRUE ; SECRET_KEY + dbit TRUE ; UNUSED_ITEM + dbit TRUE ; BIKE_VOUCHER + dbit FALSE ; X_ACCURACY + dbit FALSE ; LEAF_STONE + dbit TRUE ; CARD_KEY + dbit FALSE ; NUGGET + dbit FALSE ; PP_UP_2 + dbit FALSE ; POKE_DOLL + dbit FALSE ; FULL_HEAL + dbit FALSE ; REVIVE + dbit FALSE ; MAX_REVIVE + dbit FALSE ; GUARD_SPEC + dbit FALSE ; SUPER_REPEL + dbit FALSE ; MAX_REPEL + dbit FALSE ; DIRE_HIT + dbit FALSE ; COIN + dbit FALSE ; FRESH_WATER + dbit FALSE ; SODA_POP + dbit FALSE ; LEMONADE + dbit TRUE ; S_S_TICKET + dbit TRUE ; GOLD_TEETH + dbit FALSE ; X_ATTACK + dbit FALSE ; X_DEFEND + dbit FALSE ; X_SPEED + dbit FALSE ; X_SPECIAL + dbit TRUE ; COIN_CASE + dbit TRUE ; OAKS_PARCEL + dbit TRUE ; ITEMFINDER + dbit TRUE ; SILPH_SCOPE + dbit TRUE ; POKE_FLUTE + dbit TRUE ; LIFT_KEY + dbit FALSE ; EXP_ALL + dbit TRUE ; OLD_ROD + dbit TRUE ; GOOD_ROD + dbit TRUE ; SUPER_ROD + dbit FALSE ; PP_UP + dbit FALSE ; ETHER + dbit FALSE ; MAX_ETHER + dbit FALSE ; ELIXER + dbit FALSE ; MAX_ELIXER + end_bit_array NUM_ITEMS diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 38ea37c0..915d4930 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -2614,9 +2614,10 @@ IsKeyItem_:: jr nc, .checkIfItemIsHM ; if the item is not an HM or TM push af - ld hl, KeyItemBitfield + ld hl, KeyItemFlags ld de, wBuffer ld bc, 15 ; only 11 bytes are actually used + assert 15 >= (NUM_ITEMS + 7) / 8 call CopyData pop af dec a diff --git a/macros/asserts.asm b/macros/asserts.asm index 3082b26c..3e0a7a8b 100644 --- a/macros/asserts.asm +++ b/macros/asserts.asm @@ -73,6 +73,41 @@ x = (x + 1) / 2 ENDC ENDM +bit_array: MACRO +CURRENT_BIT_ARRAY_VALUE = 0 +CURRENT_BIT_ARRAY_LENGTH = 0 +IF _NARG == 1 +REDEF CURRENT_BIT_ARRAY_START EQUS "\1" +ELSE +REDEF CURRENT_BIT_ARRAY_START EQUS "._bit_array\@" +{CURRENT_BIT_ARRAY_START}: +ENDC +ENDM + +dbit: MACRO + ASSERT (\1) == 0 || (\1) == 1, "bits must be 0 or 1" +CURRENT_BIT_ARRAY_VALUE = CURRENT_BIT_ARRAY_VALUE | ((\1) << (CURRENT_BIT_ARRAY_LENGTH % 8)) +CURRENT_BIT_ARRAY_LENGTH = CURRENT_BIT_ARRAY_LENGTH + 1 +IF CURRENT_BIT_ARRAY_LENGTH % 8 == 0 + db CURRENT_BIT_ARRAY_VALUE +CURRENT_BIT_ARRAY_VALUE = 0 +ENDC +ENDM + +end_bit_array: MACRO +IF CURRENT_BIT_ARRAY_LENGTH % 8 + db CURRENT_BIT_ARRAY_VALUE +ENDC +IF _NARG == 1 +x = \1 + ASSERT x == CURRENT_BIT_ARRAY_LENGTH, \ + "{CURRENT_BIT_ARRAY_START}: expected {d:x} bits, got {d:CURRENT_BIT_ARRAY_LENGTH}" +x = (x + 7) / 8 + ASSERT x == @ - {CURRENT_BIT_ARRAY_START}, \ + "{CURRENT_BIT_ARRAY_START}: expected {d:x} bytes" +ENDC +ENDM + def_grass_wildmons: MACRO ;\1: encounter rate CURRENT_GRASS_WILDMONS_RATE = \1 From 223b7b21a45e93af4c66b050f0fe5779977df15a Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 23 May 2021 22:35:28 -0400 Subject: [PATCH 025/119] Add labels to unreferenced mart inventories and remove redundant comments --- data/items/marts.asm | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/data/items/marts.asm b/data/items/marts.asm index 80d62931..c6a80de5 100644 --- a/data/items/marts.asm +++ b/data/items/marts.asm @@ -1,64 +1,50 @@ ; mart inventories are below ; they are texts -; Viridian ViridianCashierText:: script_mart POKE_BALL, ANTIDOTE, PARLYZ_HEAL, BURN_HEAL -; Pewter PewterCashierText:: script_mart POKE_BALL, POTION, ESCAPE_ROPE, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL -; Cerulean CeruleanCashierText:: script_mart POKE_BALL, POTION, REPEL, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL -; Bike shop +BikeShopCashierText:: ; unreferenced script_mart BICYCLE -; Vermilion VermilionCashierText:: script_mart POKE_BALL, SUPER_POTION, ICE_HEAL, AWAKENING, PARLYZ_HEAL, REPEL -; Lavender LavenderCashierText:: script_mart GREAT_BALL, SUPER_POTION, REVIVE, ESCAPE_ROPE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, PARLYZ_HEAL -; Celadon Dept. Store 2F (1) CeladonMart2Clerk1Text:: script_mart GREAT_BALL, SUPER_POTION, REVIVE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, AWAKENING, PARLYZ_HEAL -; Celadon Dept. Store 2F (2) CeladonMart2Clerk2Text:: script_mart TM_DOUBLE_TEAM, TM_REFLECT, TM_RAZOR_WIND, TM_HORN_DRILL, TM_EGG_BOMB, TM_MEGA_PUNCH, TM_MEGA_KICK, TM_TAKE_DOWN, TM_SUBMISSION -; Celadon Dept. Store 4F CeladonMart4ClerkText:: script_mart POKE_DOLL, FIRE_STONE, THUNDER_STONE, WATER_STONE, LEAF_STONE -; Celadon Dept. Store 5F (1) CeladonMart5Clerk1Text:: script_mart X_ACCURACY, GUARD_SPEC, DIRE_HIT, X_ATTACK, X_DEFEND, X_SPEED, X_SPECIAL -; Celadon Dept. Store 5F (2) CeladonMart5Clerk2Text:: script_mart HP_UP, PROTEIN, IRON, CARBOS, CALCIUM -; Fuchsia FuchsiaCashierText:: script_mart ULTRA_BALL, GREAT_BALL, SUPER_POTION, REVIVE, FULL_HEAL, SUPER_REPEL -; unused? +UnusedCashierText:: ; unreferenced script_mart GREAT_BALL, HYPER_POTION, SUPER_POTION, FULL_HEAL, REVIVE -; Cinnabar CinnabarCashierText:: script_mart ULTRA_BALL, GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE -; Saffron SaffronCashierText:: script_mart GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE -; Indigo IndigoCashierText:: script_mart ULTRA_BALL, GREAT_BALL, FULL_RESTORE, MAX_POTION, FULL_HEAL, REVIVE, MAX_REPEL From ce62dca69be6c316f0cd549a498ff04aaeef8d4d Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 30 May 2021 17:28:26 -0400 Subject: [PATCH 026/119] Eliminate unnecessary data macros --- data/events/prizes.asm | 28 ++-- data/items/prices.asm | 194 +++++++++++++-------------- data/items/vending_prices.asm | 2 +- data/trainers/pic_pointers_money.asm | 2 +- macros/data.asm | 8 -- 5 files changed, 113 insertions(+), 121 deletions(-) diff --git a/data/events/prizes.asm b/data/events/prizes.asm index 684add94..34cd75d7 100644 --- a/data/events/prizes.asm +++ b/data/events/prizes.asm @@ -19,14 +19,14 @@ ENDC PrizeMenuMon1Cost: IF DEF(_RED) - coins 180 - coins 500 + bcd2 180 + bcd2 500 ENDC IF DEF(_BLUE) - coins 120 - coins 750 + bcd2 120 + bcd2 750 ENDC - coins 1200 + bcd2 1200 db "@" PrizeMenuMon2Entries: @@ -43,14 +43,14 @@ ENDC PrizeMenuMon2Cost: IF DEF(_RED) - coins 2800 - coins 5500 - coins 9999 + bcd2 2800 + bcd2 5500 + bcd2 9999 ENDC IF DEF(_BLUE) - coins 2500 - coins 4600 - coins 6500 + bcd2 2500 + bcd2 4600 + bcd2 6500 ENDC db "@" @@ -61,7 +61,7 @@ PrizeMenuTMsEntries: db "@" PrizeMenuTMsCost: - coins 3300 - coins 5500 - coins 7700 + bcd2 3300 + bcd2 5500 + bcd2 7700 db "@" diff --git a/data/items/prices.asm b/data/items/prices.asm index 3740df8a..6c1c2891 100644 --- a/data/items/prices.asm +++ b/data/items/prices.asm @@ -1,101 +1,101 @@ ItemPrices:: table_width 3, ItemPrices - money 0 ; MASTER_BALL - money 1200 ; ULTRA_BALL - money 600 ; GREAT_BALL - money 200 ; POKE_BALL - money 0 ; TOWN_MAP - money 0 ; BICYCLE - money 0 ; SURFBOARD - money 1000 ; SAFARI_BALL - money 0 ; POKEDEX - money 0 ; MOON_STONE - money 100 ; ANTIDOTE - money 250 ; BURN_HEAL - money 250 ; ICE_HEAL - money 200 ; AWAKENING - money 200 ; PARLYZ_HEAL - money 3000 ; FULL_RESTORE - money 2500 ; MAX_POTION - money 1500 ; HYPER_POTION - money 700 ; SUPER_POTION - money 300 ; POTION - money 0 ; BOULDERBADGE - money 0 ; CASCADEBADGE - money 0 ; THUNDERBADGE - money 0 ; RAINBOWBADGE - money 0 ; SOULBADGE - money 0 ; MARSHBADGE - money 0 ; VOLCANOBADGE - money 0 ; EARTHBADGE - money 550 ; ESCAPE_ROPE - money 350 ; REPEL - money 0 ; OLD_AMBER - money 2100 ; FIRE_STONE - money 2100 ; THUNDER_STONE - money 2100 ; WATER_STONE - money 9800 ; HP_UP - money 9800 ; PROTEIN - money 9800 ; IRON - money 9800 ; CARBOS - money 9800 ; CALCIUM - money 4800 ; RARE_CANDY - money 0 ; DOME_FOSSIL - money 0 ; HELIX_FOSSIL - money 0 ; SECRET_KEY - money 0 ; XXX - money 0 ; BIKE_VOUCHER - money 950 ; X_ACCURACY - money 2100 ; LEAF_STONE - money 0 ; CARD_KEY - money 10000 ; NUGGET - money 9800 ; XXX PP_UP - money 1000 ; POKE_DOLL - money 600 ; FULL_HEAL - money 1500 ; REVIVE - money 4000 ; MAX_REVIVE - money 700 ; GUARD_SPEC - money 500 ; SUPER_REPEL - money 700 ; MAX_REPEL - money 650 ; DIRE_HIT - money 10 ; COIN - money 200 ; FRESH_WATER - money 300 ; SODA_POP - money 350 ; LEMONADE - money 0 ; S_S_TICKET - money 0 ; GOLD_TEETH - money 500 ; X_ATTACK - money 550 ; X_DEFEND - money 350 ; X_SPEED - money 350 ; X_SPECIAL - money 0 ; COIN_CASE - money 0 ; OAKS_PARCEL - money 0 ; ITEMFINDER - money 0 ; SILPH_SCOPE - money 0 ; POKE_FLUTE - money 0 ; LIFT_KEY - money 0 ; EXP_ALL - money 0 ; OLD_ROD - money 0 ; GOOD_ROD - money 0 ; SUPER_ROD - money 0 ; PP_UP - money 0 ; ETHER - money 0 ; MAX_ETHER - money 0 ; ELIXER - money 0 ; MAX_ELIXER + bcd3 0 ; MASTER_BALL + bcd3 1200 ; ULTRA_BALL + bcd3 600 ; GREAT_BALL + bcd3 200 ; POKE_BALL + bcd3 0 ; TOWN_MAP + bcd3 0 ; BICYCLE + bcd3 0 ; SURFBOARD + bcd3 1000 ; SAFARI_BALL + bcd3 0 ; POKEDEX + bcd3 0 ; MOON_STONE + bcd3 100 ; ANTIDOTE + bcd3 250 ; BURN_HEAL + bcd3 250 ; ICE_HEAL + bcd3 200 ; AWAKENING + bcd3 200 ; PARLYZ_HEAL + bcd3 3000 ; FULL_RESTORE + bcd3 2500 ; MAX_POTION + bcd3 1500 ; HYPER_POTION + bcd3 700 ; SUPER_POTION + bcd3 300 ; POTION + bcd3 0 ; BOULDERBADGE + bcd3 0 ; CASCADEBADGE + bcd3 0 ; THUNDERBADGE + bcd3 0 ; RAINBOWBADGE + bcd3 0 ; SOULBADGE + bcd3 0 ; MARSHBADGE + bcd3 0 ; VOLCANOBADGE + bcd3 0 ; EARTHBADGE + bcd3 550 ; ESCAPE_ROPE + bcd3 350 ; REPEL + bcd3 0 ; OLD_AMBER + bcd3 2100 ; FIRE_STONE + bcd3 2100 ; THUNDER_STONE + bcd3 2100 ; WATER_STONE + bcd3 9800 ; HP_UP + bcd3 9800 ; PROTEIN + bcd3 9800 ; IRON + bcd3 9800 ; CARBOS + bcd3 9800 ; CALCIUM + bcd3 4800 ; RARE_CANDY + bcd3 0 ; DOME_FOSSIL + bcd3 0 ; HELIX_FOSSIL + bcd3 0 ; SECRET_KEY + bcd3 0 ; XXX + bcd3 0 ; BIKE_VOUCHER + bcd3 950 ; X_ACCURACY + bcd3 2100 ; LEAF_STONE + bcd3 0 ; CARD_KEY + bcd3 10000 ; NUGGET + bcd3 9800 ; XXX PP_UP + bcd3 1000 ; POKE_DOLL + bcd3 600 ; FULL_HEAL + bcd3 1500 ; REVIVE + bcd3 4000 ; MAX_REVIVE + bcd3 700 ; GUARD_SPEC + bcd3 500 ; SUPER_REPEL + bcd3 700 ; MAX_REPEL + bcd3 650 ; DIRE_HIT + bcd3 10 ; COIN + bcd3 200 ; FRESH_WATER + bcd3 300 ; SODA_POP + bcd3 350 ; LEMONADE + bcd3 0 ; S_S_TICKET + bcd3 0 ; GOLD_TEETH + bcd3 500 ; X_ATTACK + bcd3 550 ; X_DEFEND + bcd3 350 ; X_SPEED + bcd3 350 ; X_SPECIAL + bcd3 0 ; COIN_CASE + bcd3 0 ; OAKS_PARCEL + bcd3 0 ; ITEMFINDER + bcd3 0 ; SILPH_SCOPE + bcd3 0 ; POKE_FLUTE + bcd3 0 ; LIFT_KEY + bcd3 0 ; EXP_ALL + bcd3 0 ; OLD_ROD + bcd3 0 ; GOOD_ROD + bcd3 0 ; SUPER_ROD + bcd3 0 ; PP_UP + bcd3 0 ; ETHER + bcd3 0 ; MAX_ETHER + bcd3 0 ; ELIXER + bcd3 0 ; MAX_ELIXER assert_table_length NUM_ITEMS - money 0 ; FLOOR_B2F - money 0 ; FLOOR_B1F - money 0 ; FLOOR_1F - money 0 ; FLOOR_2F - money 0 ; FLOOR_3F - money 0 ; FLOOR_4F - money 0 ; FLOOR_5F - money 0 ; FLOOR_6F - money 0 ; FLOOR_7F - money 0 ; FLOOR_8F - money 0 ; FLOOR_9F - money 0 ; FLOOR_10F - money 0 ; FLOOR_11F - money 0 ; FLOOR_B4F + bcd3 0 ; FLOOR_B2F + bcd3 0 ; FLOOR_B1F + bcd3 0 ; FLOOR_1F + bcd3 0 ; FLOOR_2F + bcd3 0 ; FLOOR_3F + bcd3 0 ; FLOOR_4F + bcd3 0 ; FLOOR_5F + bcd3 0 ; FLOOR_6F + bcd3 0 ; FLOOR_7F + bcd3 0 ; FLOOR_8F + bcd3 0 ; FLOOR_9F + bcd3 0 ; FLOOR_10F + bcd3 0 ; FLOOR_11F + bcd3 0 ; FLOOR_B4F assert_table_length NUM_ITEMS + NUM_FLOORS diff --git a/data/items/vending_prices.asm b/data/items/vending_prices.asm index 131d525d..9680c48d 100644 --- a/data/items/vending_prices.asm +++ b/data/items/vending_prices.asm @@ -1,6 +1,6 @@ vend_item: MACRO db \1 - money \2 + bcd3 \2 ENDM VendingPrices: diff --git a/data/trainers/pic_pointers_money.asm b/data/trainers/pic_pointers_money.asm index 3143095c..c60a3ef9 100644 --- a/data/trainers/pic_pointers_money.asm +++ b/data/trainers/pic_pointers_money.asm @@ -1,6 +1,6 @@ pic_money: MACRO dw \1 - money \2 + bcd3 \2 ENDM TrainerPicAndMoneyPointers:: diff --git a/macros/data.asm b/macros/data.asm index fb8ea844..eb5b5564 100644 --- a/macros/data.asm +++ b/macros/data.asm @@ -13,9 +13,6 @@ bcd3: MACRO dn ((\1) / 10) % 10, (\1) % 10 ENDM -coins EQUS "bcd2" -money EQUS "bcd3" - ; used in data/pokemon/base_stats/*.asm tmhm: MACRO ; initialize bytes to 0 @@ -63,8 +60,3 @@ ENDM dab: MACRO dwb \1, BANK(\1) ENDM - -dbbw: MACRO - db \1, \2 - dw \3 -ENDM From 78b08c3a76a62a5fee8b2b62b6bb34bccef02b66 Mon Sep 17 00:00:00 2001 From: Amber Brault Date: Mon, 31 May 2021 11:41:36 -0400 Subject: [PATCH 027/119] Partially document CeruleanCity.asm --- scripts/CeruleanCity.asm | 80 ++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 39 deletions(-) diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 7505cb20..d72174c7 100644 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -40,18 +40,18 @@ IF DEF(_DEBUG) ret nz ENDC CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF - jr nz, .asm_194f7 + jr nz, .skipRocketThiefEncounter ld hl, CeruleanCityCoords1 call ArePlayerCoordsInArray - jr nc, .asm_194f7 + jr nc, .skipRocketThiefEncounter ld a, [wCoordIndex] cp $1 ld a, PLAYER_DIR_UP ld b, SPRITE_FACING_DOWN - jr nz, .asm_194e6 + jr nz, .playerBelowRocketThief ld a, PLAYER_DIR_DOWN ld b, SPRITE_FACING_UP -.asm_194e6 +.playerBelowRocketThief ld [wPlayerMovingDirection], a ld a, b ld [wSprite02StateData1FacingDirection], a @@ -59,7 +59,7 @@ ENDC ld a, $2 ldh [hSpriteIndexOrTextID], a jp DisplayTextID -.asm_194f7 +.skipRocketThiefEncounter CheckEvent EVENT_BEAT_CERULEAN_RIVAL ret nz ld hl, CeruleanCityCoords2 @@ -67,11 +67,11 @@ ENDC ret nc ld a, [wWalkBikeSurfState] and a - jr z, .asm_19512 + jr z, .walking ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound -.asm_19512 +.walking ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic @@ -80,15 +80,15 @@ ENDC ld a, $f0 ld [wJoyIgnore], a ld a, [wXCoord] - cp 20 - jr z, .asm_19535 + cp 20 ;is the player standing on the right side of the bridge? + jr z, .playerOnRightSideOfBridge ld a, $1 ldh [hSpriteIndex], a ld a, SPRITESTATEDATA2_MAPX ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData2 ld [hl], 25 -.asm_19535 +.playerOnRightSideOfBridge ld a, HS_CERULEAN_RIVAL ld [wMissableObjectIndex], a predef ShowObject @@ -183,13 +183,13 @@ CeruleanCityScript2: ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] - cp 20 - jr nz, .asm_195f0 + cp 20 ;is the player standing on the right side of the bridge? + jr nz, .playerOnRightSideOfBridge ld de, CeruleanCityMovement4 - jr .asm_195f3 -.asm_195f0 + jr .skip +.playerOnRightSideOfBridge ld de, CeruleanCityMovement3 -.asm_195f3 +.skip ld a, $1 ldh [hSpriteIndex], a call MoveSprite @@ -284,7 +284,7 @@ CeruleanCityText_19677: CeruleanCityText2: text_asm CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF - jr nz, .asm_4ca20 + jr nz, .beatRocketThief ld hl, CeruleanCityText_196d9 call PrintText ld hl, wd72d @@ -300,7 +300,7 @@ CeruleanCityText2: ld a, $4 ld [wCeruleanCityCurScript], a jp TextScriptEnd -.asm_4ca20 +.beatRocketThief ld hl, CeruleanCityText_196f3 call PrintText lb bc, TM_DIG, 1 @@ -361,21 +361,22 @@ CeruleanCityText6: CeruleanCityText7: text_asm ldh a, [hRandomAdd] - cp 180 - jr c, .asm_e9fc9 + cp 180 ;76/256 chance of 1st dialogue + jr c, .notFirstText ld hl, CeruleanCityText_19730 call PrintText - jr .asm_d486e -.asm_e9fc9 - cp 100 - jr c, .asm_df99b + jr .end +.notFirstText + cp 100 ;80/256 chance of 2nd dialogue + jr c, .notSecondText ld hl, CeruleanCityText_19735 call PrintText - jr .asm_d486e -.asm_df99b + jr .end +.notSecondText + ;100/256 chance of 3rd dialogue ld hl, CeruleanCityText_1973a call PrintText -.asm_d486e +.end jp TextScriptEnd CeruleanCityText_19730: @@ -393,27 +394,28 @@ CeruleanCityText_1973a: CeruleanCityText8: text_asm ldh a, [hRandomAdd] - cp 180 - jr c, .asm_e28da + cp 180 ;76/256 chance of 1st dialogue + jr c, .notFirstText ld hl, CeruleanCityText_1976f call PrintText - jr .asm_f2f38 -.asm_e28da - cp 120 - jr c, .asm_15d08 + jr .end +.notFirstText + cp 120 ;60/256 chance of 2nd dialogue + jr c, .notSecondText ld hl, CeruleanCityText_19774 call PrintText - jr .asm_f2f38 -.asm_15d08 - cp 60 - jr c, .asm_d7fea + jr .end +.notSecondText + cp 60 ;60/256 chance of 3rd dialogue + jr c, .notThirdText ld hl, CeruleanCityText_19779 call PrintText - jr .asm_f2f38 -.asm_d7fea + jr .end +.notThirdText + ;60/256 chance of 4th dialogue ld hl, CeruleanCityText_1977e call PrintText -.asm_f2f38 +.end jp TextScriptEnd CeruleanCityText_1976f: From 8701ef4d61a6a55ee71aa1a964d4f7d10eded87e Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 31 May 2021 11:46:10 -0400 Subject: [PATCH 028/119] Improve some RAM formatting --- constants/item_constants.asm | 2 +- data/battle_anims/subanimations.asm | 2 +- engine/battle/core.asm | 2 +- engine/items/item_effects.asm | 2 +- home/names2.asm | 6 +- layout.link | 2 +- macros/asserts.asm | 8 +- macros/wram.asm | 51 +- sram.asm | 29 +- wram.asm | 1145 +++++++++------------------ 10 files changed, 450 insertions(+), 799 deletions(-) diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 53f765af..d8a5910f 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -207,7 +207,7 @@ TM01 EQU const_value add_tm ROCK_SLIDE ; $F8 add_tm TRI_ATTACK ; $F9 add_tm SUBSTITUTE ; $FA -assert NUM_TMS == const_value - TM01, "NUM_TMS ({d:NUM_TMS}) does not match the number of add_tm definitions" +ASSERT NUM_TMS == const_value - TM01, "NUM_TMS ({d:NUM_TMS}) does not match the number of add_tm definitions" NUM_TM_HM EQU NUM_TMS + NUM_HMS diff --git a/data/battle_anims/subanimations.asm b/data/battle_anims/subanimations.asm index 530192f6..54d346a6 100644 --- a/data/battle_anims/subanimations.asm +++ b/data/battle_anims/subanimations.asm @@ -92,7 +92,7 @@ SubanimationPointers: ; subanim type, count ; REPT count ; db frame block id, base coordinate id, frame block mode -; endr +; ENDR subanim: MACRO db (\1 << 5) | \2 diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 5cb4fa13..8eee39d2 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6308,7 +6308,7 @@ LoadPlayerBackPic: ld de, OldManPicBack .next ld a, BANK(RedPicBack) - assert BANK(RedPicBack) == BANK(OldManPicBack) + ASSERT BANK(RedPicBack) == BANK(OldManPicBack) call UncompressSpriteFromDE predef ScaleSpriteByTwo ld hl, wOAMBuffer diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 915d4930..8114db2b 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -2617,7 +2617,7 @@ IsKeyItem_:: ld hl, KeyItemFlags ld de, wBuffer ld bc, 15 ; only 11 bytes are actually used - assert 15 >= (NUM_ITEMS + 7) / 8 + ASSERT 15 >= (NUM_ITEMS + 7) / 8 call CopyData pop af dec a diff --git a/home/names2.asm b/home/names2.asm index cb53154c..7b905fc5 100644 --- a/home/names2.asm +++ b/home/names2.asm @@ -20,11 +20,11 @@ GetName:: ; TM names are separate from item names. ; BUG: This applies to all names instead of just items. - assert NUM_POKEMON_INDEXES < HM01, \ + ASSERT NUM_POKEMON_INDEXES < HM01, \ "A bug in GetName will get TM/HM names for Pokémon above ${x:HM01}." - assert NUM_ATTACKS < HM01, \ + ASSERT NUM_ATTACKS < HM01, \ "A bug in GetName will get TM/HM names for moves above ${x:HM01}." - assert NUM_TRAINERS < HM01, \ + ASSERT NUM_TRAINERS < HM01, \ "A bug in GetName will get TM/HM names for trainers above ${x:HM01}." cp HM01 jp nc, GetMachineName diff --git a/layout.link b/layout.link index 87ab7e0e..1ac07b3f 100644 --- a/layout.link +++ b/layout.link @@ -182,7 +182,7 @@ WRAM0 org $c100 "Sprite State Data" "OAM Buffer" - org $dfff + org $df00 "Stack" VRAM "VRAM" diff --git a/macros/asserts.asm b/macros/asserts.asm index 3e0a7a8b..946add28 100644 --- a/macros/asserts.asm +++ b/macros/asserts.asm @@ -118,10 +118,10 @@ ENDM end_grass_wildmons: MACRO IF CURRENT_GRASS_WILDMONS_RATE == 0 - assert 1 == @ - {CURRENT_GRASS_WILDMONS_LABEL}, \ + ASSERT 1 == @ - {CURRENT_GRASS_WILDMONS_LABEL}, \ "def_grass_wildmons {d:CURRENT_GRASS_WILDMONS_RATE}: expected 1 byte" ELSE - assert WILDDATA_LENGTH == @ - {CURRENT_GRASS_WILDMONS_LABEL}, \ + ASSERT WILDDATA_LENGTH == @ - {CURRENT_GRASS_WILDMONS_LABEL}, \ "def_grass_wildmons {d:CURRENT_GRASS_WILDMONS_RATE}: expected {d:WILDDATA_LENGTH} bytes" ENDC ENDM @@ -136,10 +136,10 @@ ENDM end_water_wildmons: MACRO IF CURRENT_WATER_WILDMONS_RATE == 0 - assert 1 == @ - {CURRENT_WATER_WILDMONS_LABEL}, \ + ASSERT 1 == @ - {CURRENT_WATER_WILDMONS_LABEL}, \ "def_water_wildmons {d:CURRENT_WATER_WILDMONS_RATE}: expected 1 byte" ELSE - assert WILDDATA_LENGTH == @ - {CURRENT_WATER_WILDMONS_LABEL}, \ + ASSERT WILDDATA_LENGTH == @ - {CURRENT_WATER_WILDMONS_LABEL}, \ "def_water_wildmons {d:CURRENT_WATER_WILDMONS_RATE}: expected {d:WILDDATA_LENGTH} bytes" ENDC ENDM diff --git a/macros/wram.asm b/macros/wram.asm index 41fd1dad..9d412f2d 100644 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -61,19 +61,19 @@ battle_struct: MACRO ENDM spritestatedata1: MACRO -\1PictureID:: db -\1MovementStatus:: db -\1ImageIndex:: db -\1YStepVector:: db -\1YPixels:: db -\1XStepVector:: db -\1XPixels:: db +\1PictureID:: db +\1MovementStatus:: db +\1ImageIndex:: db +\1YStepVector:: db +\1YPixels:: db +\1XStepVector:: db +\1XPixels:: db \1IntraAnimFrameCounter:: db -\1AnimFrameCounter:: db -\1FacingDirection:: db -\1YAdjusted:: db -\1XAdjusted:: db -\1CollisionData:: db +\1AnimFrameCounter:: db +\1FacingDirection:: db +\1YAdjusted:: db +\1XAdjusted:: db +\1CollisionData:: db ds 3 \1End:: ENDM @@ -81,17 +81,24 @@ ENDM spritestatedata2: MACRO \1WalkAnimationCounter:: db ds 1 -\1YDisplacement:: db -\1XDisplacement:: db -\1MapY:: db -\1MapX:: db -\1MovementByte1:: db -\1GrassPriority:: db -\1MovementDelay:: db -\1OrigFacingDirection:: db +\1YDisplacement:: db +\1XDisplacement:: db +\1MapY:: db +\1MapX:: db +\1MovementByte1:: db +\1GrassPriority:: db +\1MovementDelay:: db +\1OrigFacingDirection:: db ds 3 -\1PictureID:: db -\1ImageBaseOffset:: db +\1PictureID:: db +\1ImageBaseOffset:: db ds 1 \1End:: ENDM + +sprite_oam_struct: MACRO +\1YCoord:: db +\1XCoord:: db +\1TileID:: db +\1Attributes:: db +ENDM diff --git a/sram.asm b/sram.asm index f6bac35c..a4c9a38c 100644 --- a/sram.asm +++ b/sram.asm @@ -1,4 +1,4 @@ -SECTION "Sprite Buffers", SRAM ; BANK 0 +SECTION "Sprite Buffers", SRAM sSpriteBuffer0:: ds SPRITEBUFFERSIZE sSpriteBuffer1:: ds SPRITEBUFFERSIZE @@ -9,42 +9,43 @@ sSpriteBuffer2:: ds SPRITEBUFFERSIZE sHallOfFame:: ds HOF_TEAM * HOF_TEAM_CAPACITY -SECTION "Save Data", SRAM ; BANK 1 +SECTION "Save Data", SRAM + ds $598 sPlayerName:: ds NAME_LENGTH -sMainData:: ds wMainDataEnd - wMainDataStart +sMainData:: ds wMainDataEnd - wMainDataStart sSpriteData:: ds wSpriteDataEnd - wSpriteDataStart -sPartyData:: ds wPartyDataEnd - wPartyDataStart -sCurBoxData:: ds wBoxDataEnd - wBoxDataStart -sTileAnimations:: ds 1 -sMainDataCheckSum:: ds 1 +sPartyData:: ds wPartyDataEnd - wPartyDataStart +sCurBoxData:: ds wBoxDataEnd - wBoxDataStart +sTileAnimations:: db +sMainDataCheckSum:: db ; The PC boxes will not fit into one SRAM bank, ; so they use multiple SECTIONs box_n = 0 boxes: MACRO -rept \1 +REPT \1 box_n = box_n + 1 sBox{d:box_n}:: ds wBoxDataEnd - wBoxDataStart -endr +ENDR ENDM -SECTION "Saved Boxes 1", SRAM ; BANK 2 +SECTION "Saved Boxes 1", SRAM ; sBox1 - sBox6 boxes 6 -sBank2AllBoxesChecksum:: ds 1 +sBank2AllBoxesChecksum:: db sBank2IndividualBoxChecksums:: ds 6 -SECTION "Saved Boxes 2", SRAM ; BANK 3 +SECTION "Saved Boxes 2", SRAM ; sBox7 - sBox12 boxes 6 -sBank3AllBoxesChecksum:: ds 1 +sBank3AllBoxesChecksum:: db sBank3IndividualBoxChecksums:: ds 6 ; All 12 boxes fit within 2 SRAM banks - assert box_n == NUM_BOXES, \ + ASSERT box_n == NUM_BOXES, \ "boxes: Expected {d:NUM_BOXES} total boxes, got {d:box_n}" diff --git a/wram.asm b/wram.asm index e8ea699c..47c40101 100644 --- a/wram.asm +++ b/wram.asm @@ -8,11 +8,9 @@ INCLUDE "vram.asm" SECTION "WRAM", WRAM0 -wUnusedC000:: - ds 1 +wUnusedC000:: db -wSoundID:: - ds 1 +wSoundID:: db wMuteAudioAndPauseMusic:: ; bit 7: whether sound has been muted @@ -23,14 +21,11 @@ wMuteAudioAndPauseMusic:: ; Store 0 to resume music. ds 1 -wDisableChannelOutputWhenSfxEnds:: - ds 1 +wDisableChannelOutputWhenSfxEnds:: db -wStereoPanning:: - ds 1 +wStereoPanning:: db -wSavedVolume:: - ds 1 +wSavedVolume:: db wChannelCommandPointers:: ds 16 @@ -117,35 +112,25 @@ wChannelVolumes:: ; also includes fade for hardware channels that support it ds 8 -wMusicWaveInstrument:: - ds 1 +wMusicWaveInstrument:: db -wSfxWaveInstrument:: - ds 1 +wSfxWaveInstrument:: db -wMusicTempo:: - ds 2 +wMusicTempo:: dw -wSfxTempo:: - ds 2 +wSfxTempo:: dw -wSfxHeaderPointer:: - ds 2 +wSfxHeaderPointer:: dw -wNewSoundID:: - ds 1 +wNewSoundID:: db -wAudioROMBank:: - ds 1 +wAudioROMBank:: db -wAudioSavedROMBank:: - ds 1 +wAudioSavedROMBank:: db -wFrequencyModifier:: - ds 1 +wFrequencyModifier:: db -wTempoModifier:: - ds 1 +wTempoModifier:: db ds 13 @@ -177,9 +162,9 @@ wSpriteStateData1:: ; - F wSpritePlayerStateData1:: spritestatedata1 wSpritePlayerStateData1 ; player is struct 0 ; wSprite02StateData1 - wSprite15StateData1 -for n, 1, NUM_SPRITESTATEDATA_STRUCTS +FOR n, 1, NUM_SPRITESTATEDATA_STRUCTS wSprite{02d:n}StateData1:: spritestatedata1 wSprite{02d:n}StateData1 -endr +ENDR wSpriteStateData2:: ; more data for all sprites on the current map @@ -204,14 +189,14 @@ wSpriteStateData2:: ; - F wSpritePlayerStateData2:: spritestatedata2 wSpritePlayerStateData2 ; player is struct 0 ; wSprite02StateData2 - wSprite15StateData2 -for n, 1, NUM_SPRITESTATEDATA_STRUCTS +FOR n, 1, NUM_SPRITESTATEDATA_STRUCTS wSprite{02d:n}StateData2:: spritestatedata2 wSprite{02d:n}StateData2 -endr +ENDR ; The high byte of a pointer to anywhere within wSpriteStateData1 can be incremented ; to reach within wSpriteStateData2, and vice-versa for decrementing. -assert HIGH(wSpriteStateData1) + 1 == HIGH(wSpriteStateData2) -assert LOW(wSpriteStateData1) == 0 +ASSERT HIGH(wSpriteStateData1) + 1 == HIGH(wSpriteStateData2) +ASSERT LOW(wSpriteStateData1) == 0 wSpriteDataEnd:: @@ -221,9 +206,9 @@ SECTION "OAM Buffer", WRAM0 wOAMBuffer:: ; buffer for OAM data. Copied to OAM by DMA ; wOAMBufferSprite00 - wOAMBufferSprite39 -for n, NUM_SPRITE_OAM_STRUCTS -wOAMBufferSprite{02d:n}:: ds 4 -endr +FOR n, NUM_SPRITE_OAM_STRUCTS +wOAMBufferSprite{02d:n}:: sprite_oam_struct wOAMBufferSprite{02d:n} +ENDR wOAMBufferEnd:: wTileMap:: @@ -263,10 +248,8 @@ wRedrawRowOrColumnSrcTiles:: ds SCREEN_WIDTH * 2 ; coordinates of the position of the cursor for the top menu item (id 0) -wTopMenuItemY:: - ds 1 -wTopMenuItemX:: - ds 1 +wTopMenuItemY:: db +wTopMenuItemX:: db wCurrentMenuItem:: ; the id of the currently selected menu item @@ -312,8 +295,7 @@ wBattleAndStartSavedMenuItem:: ; a sub-menu is shown. It's reset at the start of each battle. ds 1 -wPlayerMoveListIndex:: - ds 1 +wPlayerMoveListIndex:: db wPlayerMonNumber:: ; index in party of currently battling mon @@ -345,8 +327,7 @@ wMenuWatchMovingOutOfBounds:: ; allows the caller to scroll the entire menu up or down when this happens. ds 1 -wTradeCenterPointerTableIndex:: - ds 1 +wTradeCenterPointerTableIndex:: db ds 1 @@ -422,16 +403,13 @@ wCheckFor180DegreeTurn:: ds 1 -wMissableObjectIndex:: - ds 1 +wMissableObjectIndex:: db -wPredefID:: - ds 1 +wPredefID:: db wPredefRegisters:: ds 6 -wTrainerHeaderFlagBit:: - ds 1 +wTrainerHeaderFlagBit:: db ds 1 @@ -481,14 +459,11 @@ wBoostExpByExpAll:: wAnimationType:: ; values between 0-6. Shake screen horizontally, shake screen vertically, blink Pokemon... -wNPCMovementDirections:: - ds 1 +wNPCMovementDirections:: db -wDexRatingNumMonsOwned:: - ds 1 +wDexRatingNumMonsOwned:: db -wDexRatingText:: - ds 1 +wDexRatingText:: db wSlotMachineSavedROMBank:: ; ROM back to return to when the player is done with the slot machine @@ -496,8 +471,7 @@ wSlotMachineSavedROMBank:: ds 26 -wAnimPalette:: - ds 1 +wAnimPalette:: db ds 29 @@ -520,8 +494,7 @@ ENDU ds 10 -wRLEByteCount:: - ds 1 +wRLEByteCount:: db wAddedToParty:: ; 0 = not added @@ -541,19 +514,15 @@ wCanEvolveFlags:: ; Other methods of evolution simply set it by calling TryEvolvingMon. ds 1 -wForceEvolution:: - ds 1 +wForceEvolution:: db ; if [wAILayer2Encouragement] != 1, the second AI layer is not applied -wAILayer2Encouragement:: - ds 1 +wAILayer2Encouragement:: db ds 1 ; current HP of player and enemy substitutes -wPlayerSubstituteHP:: - ds 1 -wEnemySubstituteHP:: - ds 1 +wPlayerSubstituteHP:: db +wEnemySubstituteHP:: db wTestBattlePlayerSelectedMove:: ; The player's selected move during a test battle. @@ -566,13 +535,10 @@ wMoveMenuType:: ; 0=regular, 1=mimic, 2=above message box (relearn, heal pp..) ds 1 -wPlayerSelectedMove:: - ds 1 -wEnemySelectedMove:: - ds 1 +wPlayerSelectedMove:: db +wEnemySelectedMove:: db -wLinkBattleRandomNumberListIndex:: - ds 1 +wLinkBattleRandomNumberListIndex:: db wAICount:: ; number of times remaining that AI action can occur @@ -580,8 +546,7 @@ wAICount:: ds 2 -wEnemyMoveListIndex:: - ds 1 +wEnemyMoveListIndex:: db wLastSwitchInEnemyMonHP:: ; The enemy mon's HP when it was switched in or when the current player mon @@ -593,15 +558,12 @@ wTotalPayDayMoney:: ; total amount of money made using Pay Day during the current battle ds 3 -wSafariEscapeFactor:: - ds 1 -wSafariBaitFactor:: - ds 1 +wSafariEscapeFactor:: db +wSafariBaitFactor:: db ds 1 -wTransformedEnemyMonOriginalDVs:: - ds 2 +wTransformedEnemyMonOriginalDVs:: dw wMonIsDisobedient:: ds 1 @@ -629,8 +591,7 @@ wLowHealthAlarmDisabled:: ; battle. ds 1 -wPlayerMonMinimized:: - ds 1 +wPlayerMonMinimized:: db ds 13 @@ -646,72 +607,51 @@ wEnemyBideAccumulatedDamage:: wInGameTradeGiveMonSpecies:: -wPlayerMonUnmodifiedLevel:: - ds 1 +wPlayerMonUnmodifiedLevel:: db wInGameTradeTextPointerTablePointer:: -wPlayerMonUnmodifiedMaxHP:: - ds 2 +wPlayerMonUnmodifiedMaxHP:: dw wInGameTradeTextPointerTableIndex:: -wPlayerMonUnmodifiedAttack:: - ds 1 -wInGameTradeGiveMonName:: - ds 1 -wPlayerMonUnmodifiedDefense:: - ds 2 -wPlayerMonUnmodifiedSpeed:: - ds 2 -wPlayerMonUnmodifiedSpecial:: - ds 2 +wPlayerMonUnmodifiedAttack:: db +wInGameTradeGiveMonName:: db +wPlayerMonUnmodifiedDefense:: dw +wPlayerMonUnmodifiedSpeed:: dw +wPlayerMonUnmodifiedSpecial:: dw ; stat modifiers for the player's current pokemon ; value can range from 1 - 13 ($1 to $D) ; 7 is normal wPlayerMonStatMods:: -wPlayerMonAttackMod:: - ds 1 -wPlayerMonDefenseMod:: - ds 1 -wPlayerMonSpeedMod:: - ds 1 -wPlayerMonSpecialMod:: - ds 1 +wPlayerMonAttackMod:: db +wPlayerMonDefenseMod:: db +wPlayerMonSpeedMod:: db +wPlayerMonSpecialMod:: db wInGameTradeReceiveMonName:: -wPlayerMonAccuracyMod:: - ds 1 -wPlayerMonEvasionMod:: - ds 1 +wPlayerMonAccuracyMod:: db +wPlayerMonEvasionMod:: db ds 2 wPlayerMonStatModsEnd:: ds 1 -wEnemyMonUnmodifiedLevel:: - ds 1 -wEnemyMonUnmodifiedMaxHP:: - ds 2 -wEnemyMonUnmodifiedAttack:: - ds 2 -wEnemyMonUnmodifiedDefense:: - ds 1 +wEnemyMonUnmodifiedLevel:: db +wEnemyMonUnmodifiedMaxHP:: dw +wEnemyMonUnmodifiedAttack:: dw +wEnemyMonUnmodifiedDefense:: db -wInGameTradeMonNick:: - ds 1 +wInGameTradeMonNick:: db -wEnemyMonUnmodifiedSpeed:: - ds 2 -wEnemyMonUnmodifiedSpecial:: - ds 1 +wEnemyMonUnmodifiedSpeed:: dw +wEnemyMonUnmodifiedSpecial:: db -wEngagedTrainerClass:: - ds 1 +wEngagedTrainerClass:: db wEngagedTrainerSet:: ; ds 1 @@ -720,21 +660,14 @@ wEngagedTrainerSet:: ; 7 is normal wEnemyMonStatMods:: -wEnemyMonAttackMod:: - ds 1 -wEnemyMonDefenseMod:: - ds 1 -wEnemyMonSpeedMod:: - ds 1 -wEnemyMonSpecialMod:: - ds 1 -wEnemyMonAccuracyMod:: - ds 1 -wEnemyMonEvasionMod:: - ds 1 +wEnemyMonAttackMod:: db +wEnemyMonDefenseMod:: db +wEnemyMonSpeedMod:: db +wEnemyMonSpecialMod:: db +wEnemyMonAccuracyMod:: db +wEnemyMonEvasionMod:: db -wInGameTradeReceiveMonSpecies:: - ds 1 +wInGameTradeReceiveMonSpecies:: db ds 1 wEnemyMonStatModsEnd:: @@ -875,8 +808,7 @@ wWhichTrade:: wTrainerSpriteOffset:: -wUnusedCD3D:: - ds 1 +wUnusedCD3D:: db wHUDPokeballGfxOffsetX:: ; difference in X between the next ball and the current one @@ -920,8 +852,7 @@ wPlayerSpinWhileMovingUpOrDownAnimMaxY:: wHiddenObjectFunctionRomBank:: -wTrainerEngageDistance:: - ds 1 +wTrainerEngageDistance:: db wHUDGraphicsTiles:: ; 3 bytes @@ -954,8 +885,7 @@ wPlayerSpinWhileMovingUpOrDownAnimFrameDelay:: wHiddenObjectIndex:: -wTrainerFacingDirection:: - ds 1 +wTrainerFacingDirection:: db wHoFMonOrPlayer:: ; show mon or show player? @@ -970,8 +900,7 @@ wHiddenObjectY:: wTrainerScreenY:: -wOptionsCancelCursorX:: - ds 1 +wOptionsCancelCursorX:: db wDayCarePerLevelCost:: ; 2-byte BCD number (always set to $100) @@ -991,41 +920,34 @@ wNumFieldMoves:: wSlotMachineWheel1BottomTile:: -wTrainerScreenX:: - ds 1 +wTrainerScreenX:: db ; a lot of the uses for these values use more than the said address wHoFTeamNo:: wSlotMachineWheel1MiddleTile:: -wFieldMovesLeftmostXCoord:: - ds 1 +wFieldMovesLeftmostXCoord:: db wLastFieldMoveID:: ; unused -wSlotMachineWheel1TopTile:: - ds 1 +wSlotMachineWheel1TopTile:: db -wSlotMachineWheel2BottomTile:: - ds 1 +wSlotMachineWheel2BottomTile:: db -wSlotMachineWheel2MiddleTile:: - ds 1 +wSlotMachineWheel2MiddleTile:: db wTempCoins1:: ; 2 bytes ; temporary variable used to add payout amount to the player's coins -wSlotMachineWheel2TopTile:: - ds 1 +wSlotMachineWheel2TopTile:: db wBattleTransitionSpiralDirection:: ; 0 = outward, 1 = inward -wSlotMachineWheel3BottomTile:: - ds 1 +wSlotMachineWheel3BottomTile:: db wSlotMachineWheel3MiddleTile:: @@ -1070,8 +992,7 @@ wCutTile:: wSlotMachineWheel2SlipCounter:: ; wheel 2 can "slip" while this is non-zero -wTradedEnemyMonOT:: - ds 1 +wTradedEnemyMonOT:: db wSavedPlayerScreenY:: @@ -1094,8 +1015,7 @@ wWhichAnimationOffsets:: ; 0 = cut animation, 1 = boulder dust animation ds 9 -wTradedEnemyMonOTID:: - ds 2 +wTradedEnemyMonOTID:: dw wStandingOnWarpPadOrHole:: ; 0 = neither @@ -1104,14 +1024,11 @@ wStandingOnWarpPadOrHole:: wOAMBaseTile:: -wGymTrashCanIndex:: - ds 1 +wGymTrashCanIndex:: db -wSymmetricSpriteOAMAttributes:: - ds 1 +wSymmetricSpriteOAMAttributes:: db -wMonPartySpriteSpecies:: - ds 1 +wMonPartySpriteSpecies:: db wLeftGBMonSpecies:: ; in the trade animation, the mon that leaves the left gameboy @@ -1204,16 +1121,14 @@ wLearningMovesFromDayCare:: wChangeMonPicEnemyTurnSpecies:: -wHPBarMaxHP:: - ds 1 +wHPBarMaxHP:: db wNamingScreenSubmitName:: ; non-zero when the player has chosen to submit the name wChangeMonPicPlayerTurnSpecies:: -wEvoNewSpecies:: - ds 1 +wEvoNewSpecies:: db wAlphabetCase:: ; 0 = upper case @@ -1221,34 +1136,27 @@ wAlphabetCase:: wEvoMonTileOffset:: -wHPBarOldHP:: - ds 1 +wHPBarOldHP:: db -wEvoCancelled:: - ds 1 +wEvoCancelled:: db wNamingScreenLetter:: -wHPBarNewHP:: - ds 2 -wHPBarDelta:: - ds 1 +wHPBarNewHP:: dw +wHPBarDelta:: db -wHPBarTempHP:: - ds 2 +wHPBarTempHP:: dw ds 11 -wHPBarHPDifference:: - ds 1 +wHPBarHPDifference:: db ds 7 wAIItem:: ; the item that the AI used ds 1 -wUsedItemOnWhichPokemon:: - ds 1 +wUsedItemOnWhichPokemon:: db wAnimSoundID:: ; sound ID during battle animations @@ -1296,8 +1204,7 @@ wTextPredefFlag:: ; to the current map's bank ds 1 -wPredefParentBank:: - ds 1 +wPredefParentBank:: db wSpriteIndex:: ds 1 @@ -1311,20 +1218,17 @@ wNPCMovementScriptSpriteOffset:: ; sprite offset of sprite being controlled by NPC movement script ds 1 -wScriptedNPCWalkCounter:: - ds 1 +wScriptedNPCWalkCounter:: db ds 1 -wGBC:: - ds 1 +wGBC:: db wOnSGB:: ; if running on SGB, it's 1, else it's 0 ds 1 -wDefaultPaletteCommand:: - ds 1 +wDefaultPaletteCommand:: db wPlayerHPBarColor:: @@ -1332,8 +1236,7 @@ wWholeScreenPaletteMonSpecies:: ; species of the mon whose palette is used for the whole screen ds 1 -wEnemyHPBarColor:: - ds 1 +wEnemyHPBarColor:: db ; 0: green ; 1: yellow @@ -1341,8 +1244,7 @@ wEnemyHPBarColor:: wPartyMenuHPBarColors:: ds 6 -wStatusScreenHPBarColor:: - ds 1 +wStatusScreenHPBarColor:: db ds 7 @@ -1350,8 +1252,7 @@ wCopyingSGBTileData:: wWhichPartyMenuHPBar:: -wPalPacket:: - ds 1 +wPalPacket:: db wPartyMenuBlkPacket:: ; $30 bytes @@ -1365,8 +1266,7 @@ wcf4b:: ; storage buffer for various strings ds 2 -wGainBoostedExp:: - ds 1 +wGainBoostedExp:: db ds 17 @@ -1379,16 +1279,14 @@ wGymLeaderName:: wItemList:: ds 16 -wListPointer:: - ds 2 +wListPointer:: dw wUnusedCF8D:: ; 2 bytes ; used to store pointers, but never read ds 2 -wItemPrices:: - ds 2 +wItemPrices:: dw wcf91:: ds 1 ; used with a lot of things (too much to list here) @@ -1421,11 +1319,9 @@ wMoveMonType:: ; 3 = move from party to daycare ds 1 -wItemQuantity:: - ds 1 +wItemQuantity:: db -wMaxItemQuantity:: - ds 1 +wMaxItemQuantity:: db ; LoadMonData copies mon data here wLoadedMon:: party_struct wLoadedMon @@ -1457,11 +1353,9 @@ wAudioFadeOutControl:: ; audio, it zeroes this variable and starts playing the sound ID stored in it. ds 1 -wAudioFadeOutCounterReloadValue:: - ds 1 +wAudioFadeOutCounterReloadValue:: db -wAudioFadeOutCounter:: - ds 1 +wAudioFadeOutCounter:: db wLastMusicSoundID:: ; This is used to determine whether the default music is already playing when @@ -1482,36 +1376,22 @@ wUpdateSpritesEnabled:: ; other values aren't used ds 1 -wEnemyMoveNum:: - ds 1 -wEnemyMoveEffect:: - ds 1 -wEnemyMovePower:: - ds 1 -wEnemyMoveType:: - ds 1 -wEnemyMoveAccuracy:: - ds 1 -wEnemyMoveMaxPP:: - ds 1 -wPlayerMoveNum:: - ds 1 -wPlayerMoveEffect:: - ds 1 -wPlayerMovePower:: - ds 1 -wPlayerMoveType:: - ds 1 -wPlayerMoveAccuracy:: - ds 1 -wPlayerMoveMaxPP:: - ds 1 +wEnemyMoveNum:: db +wEnemyMoveEffect:: db +wEnemyMovePower:: db +wEnemyMoveType:: db +wEnemyMoveAccuracy:: db +wEnemyMoveMaxPP:: db +wPlayerMoveNum:: db +wPlayerMoveEffect:: db +wPlayerMovePower:: db +wPlayerMoveType:: db +wPlayerMoveAccuracy:: db +wPlayerMoveMaxPP:: db -wEnemyMonSpecies2:: - ds 1 -wBattleMonSpecies2:: - ds 1 +wEnemyMonSpecies2:: db +wBattleMonSpecies2:: db wEnemyMonNick:: ds NAME_LENGTH @@ -1525,13 +1405,11 @@ wBattleMonNick:: ds NAME_LENGTH wBattleMon:: battle_struct wBattleMon -wTrainerClass:: - ds 1 +wTrainerClass:: db ds 1 -wTrainerPicPointer:: - ds 2 +wTrainerPicPointer:: dw ds 1 wTempMoveNameBuffer:: @@ -1545,8 +1423,7 @@ wTrainerBaseMoney:: ; money received after battle = base money × level of highest-level enemy mon ds 2 -wMissableObjectCounter:: - ds 1 +wMissableObjectCounter:: db ds 1 @@ -1603,8 +1480,7 @@ wCriticalHitOrOHKO:: ; $ff = failed OHKO ds 1 -wMoveMissed:: - ds 1 +wMoveMissed:: db wPlayerStatsToDouble:: ; always 0 @@ -1650,22 +1526,17 @@ wEnemyStatsToHalve:: ; always 0 ds 1 -wEnemyBattleStatus1:: - ds 1 -wEnemyBattleStatus2:: - ds 1 -wEnemyBattleStatus3:: - ds 1 +wEnemyBattleStatus1:: db +wEnemyBattleStatus2:: db +wEnemyBattleStatus3:: db wPlayerNumAttacksLeft:: ; when the player is attacking multiple times, the number of attacks left ds 1 -wPlayerConfusedCounter:: - ds 1 +wPlayerConfusedCounter:: db -wPlayerToxicCounter:: - ds 1 +wPlayerToxicCounter:: db wPlayerDisabledMove:: ; high nibble: which move is disabled (1-4) @@ -1678,11 +1549,9 @@ wEnemyNumAttacksLeft:: ; when the enemy is attacking multiple times, the number of attacks left ds 1 -wEnemyConfusedCounter:: - ds 1 +wEnemyConfusedCounter:: db -wEnemyToxicCounter:: - ds 1 +wEnemyToxicCounter:: db wEnemyDisabledMove:: ; high nibble: which move is disabled (1-4) @@ -1709,11 +1578,9 @@ wEscapedFromBattle:: wAmountMoneyWon:: ; 3-byte BCD number -wObjectToHide:: - ds 1 +wObjectToHide:: db -wObjectToShow:: - ds 1 +wObjectToShow:: db ds 1 @@ -1742,10 +1609,8 @@ wSavedListScrollOffset:: ds 2 ; base coordinates of frame block -wBaseCoordX:: - ds 1 -wBaseCoordY:: - ds 1 +wBaseCoordX:: db +wBaseCoordY:: db ; low health alarm counter/enable ; high bit = enable, others = timer to cycle frequencies @@ -1755,8 +1620,7 @@ wFBTileCounter:: ; counts how many tiles of the current frame block have been drawn ds 1 -wMovingBGTilesCounter2:: - ds 1 +wMovingBGTilesCounter2:: db wSubAnimFrameDelay:: ; duration of each frame of the current subanimation in terms of screen refreshes @@ -1794,8 +1658,7 @@ wNewSlotMachineBallTile:: wCoordAdjustmentAmount:: ; how much to add to the X/Y coord -wUnusedD08A:: - ds 1 +wUnusedD08A:: db wSpiralBallsBaseX:: @@ -1814,16 +1677,13 @@ wSubAnimTransform:: ; 04: reverse the subanimation ds 1 -wEndBattleWinTextPointer:: - ds 2 +wEndBattleWinTextPointer:: dw -wEndBattleLoseTextPointer:: - ds 2 +wEndBattleLoseTextPointer:: dw ds 2 -wEndBattleTextRomBank:: - ds 1 +wEndBattleTextRomBank:: db ds 1 @@ -1843,8 +1703,7 @@ wSubAnimSubEntryAddr:: ds 2 -wOutwardSpiralTileMapPointer:: - ds 1 +wOutwardSpiralTileMapPointer:: db wPartyMenuAnimMonEnabled:: @@ -1852,8 +1711,7 @@ wTownMapSpriteBlinkingEnabled:: ; non-zero when enabled. causes nest locations to blink on and off. ; the town selection cursor will blink regardless of what this value is -wUnusedD09B:: - ds 1 +wUnusedD09B:: db wFBDestAddr:: ; current destination address in OAM for frame blocks (big endian) @@ -1892,14 +1750,10 @@ wSlideMonUpBottomRowLeftTile:: wDisableVBlankWYUpdate:: ds 1 ; if non-zero, don't update WY during V-blank -wSpriteCurPosX:: - ds 1 -wSpriteCurPosY:: - ds 1 -wSpriteWidth:: - ds 1 -wSpriteHeight:: - ds 1 +wSpriteCurPosX:: db +wSpriteCurPosY:: db +wSpriteWidth:: db +wSpriteHeight:: db wSpriteInputCurByte:: ; current input byte ds 1 @@ -1918,10 +1772,8 @@ wSpriteLoadFlags:: ; bit 0 determines used buffer (0 -> sSpriteBuffer1, 1 -> sSpriteBuffer2) ; bit 1 loading last sprite chunk? (there are at most 2 chunks per load operation) ds 1 -wSpriteUnpackMode:: - ds 1 -wSpriteFlipped:: - ds 1 +wSpriteUnpackMode:: db +wSpriteFlipped:: db wSpriteInputPtr:: ; pointer to next input byte @@ -1941,11 +1793,9 @@ wSpriteDecodeTable1Ptr:: wd0b5:: ds 1 ; used as a temp storage area for Pokemon Species, and other Pokemon/Battle related things -wNameListType:: - ds 1 +wNameListType:: db -wPredefBank:: - ds 1 +wPredefBank:: db wMonHeader:: @@ -1955,39 +1805,26 @@ wMonHIndex:: ds 1 wMonHBaseStats:: -wMonHBaseHP:: - ds 1 -wMonHBaseAttack:: - ds 1 -wMonHBaseDefense:: - ds 1 -wMonHBaseSpeed:: - ds 1 -wMonHBaseSpecial:: - ds 1 +wMonHBaseHP:: db +wMonHBaseAttack:: db +wMonHBaseDefense:: db +wMonHBaseSpeed:: db +wMonHBaseSpecial:: db wMonHTypes:: -wMonHType1:: - ds 1 -wMonHType2:: - ds 1 +wMonHType1:: db +wMonHType2:: db -wMonHCatchRate:: - ds 1 -wMonHBaseEXP:: - ds 1 -wMonHSpriteDim:: - ds 1 -wMonHFrontSprite:: - ds 2 -wMonHBackSprite:: - ds 2 +wMonHCatchRate:: db +wMonHBaseEXP:: db +wMonHSpriteDim:: db +wMonHFrontSprite:: dw +wMonHBackSprite:: dw wMonHMoves:: ds NUM_MOVES -wMonHGrowthRate:: - ds 1 +wMonHGrowthRate:: db wMonHLearnset:: ; bit field @@ -2002,26 +1839,22 @@ wSavedTileAnimations:: ds 2 -wDamage:: - ds 2 +wDamage:: dw ds 2 -wRepelRemainingSteps:: - ds 1 +wRepelRemainingSteps:: db wMoves:: ; list of moves for FormatMovesString ds NUM_MOVES -wMoveNum:: - ds 1 +wMoveNum:: db wMovesString:: ds 56 -wUnusedD119:: - ds 1 +wUnusedD119:: db wWalkBikeSurfStateCopy:: ; wWalkBikeSurfState is sometimes copied here, but it doesn't seem to be used for anything @@ -2073,24 +1906,19 @@ wNumRunAttempts:: ; number of times the player has tried to run from battle ds 1 -wEvolutionOccurred:: - ds 1 +wEvolutionOccurred:: db -wVBlankSavedROMBank:: - ds 1 +wVBlankSavedROMBank:: db ds 1 -wIsKeyItem:: - ds 1 +wIsKeyItem:: db -wTextBoxID:: - ds 1 +wTextBoxID:: db wCurrentMapScriptFlags:: ds 1 ; not exactly sure what this is used for, but it seems to be used as a multipurpose temp flag value -wCurEnemyLVL:: - ds 1 +wCurEnemyLVL:: db wItemListPointer:: ; pointer to list of items terminated by $FF @@ -2100,11 +1928,9 @@ wListCount:: ; number of entries in a list ds 1 -wLinkState:: - ds 1 +wLinkState:: db -wTwoOptionMenuID:: - ds 1 +wTwoOptionMenuID:: db wChosenMenuItem:: ; the id of the menu item the player ultimately chose @@ -2137,22 +1963,17 @@ wGymGateTileBlock:: ; a horizontal or vertical gate block ds 1 -wSavedSpriteScreenY:: - ds 1 +wSavedSpriteScreenY:: db -wSavedSpriteScreenX:: - ds 1 +wSavedSpriteScreenX:: db -wSavedSpriteMapY:: - ds 1 +wSavedSpriteMapY:: db -wSavedSpriteMapX:: - ds 1 +wSavedSpriteMapX:: db ds 5 -wWhichPrize:: - ds 1 +wWhichPrize:: db wIgnoreInputCounter:: ; counts downward each frame @@ -2167,26 +1988,20 @@ wNumberOfNoRandomBattleStepsLeft:: ; after a battle, you have at least 3 steps before a random battle can occur ds 1 -wPrize1:: - ds 1 -wPrize2:: - ds 1 -wPrize3:: - ds 1 +wPrize1:: db +wPrize2:: db +wPrize3:: db ds 1 wSerialRandomNumberListBlock:: ; the first 7 bytes are the preamble -wPrize1Price:: - ds 2 +wPrize1Price:: dw -wPrize2Price:: - ds 2 +wPrize2Price:: dw -wPrize3Price:: - ds 2 +wPrize3Price:: dw ds 1 @@ -2204,16 +2019,13 @@ wPseudoItemID:: ; that case, this would be ESCAPE_ROPE. ds 1 -wUnusedD153:: - ds 1 +wUnusedD153:: db ds 2 -wEvoStoneItemID:: - ds 1 +wEvoStoneItemID:: db -wSavedNPCMovementDirections2Index:: - ds 1 +wSavedNPCMovementDirections2Index:: db wPlayerName:: ds NAME_LENGTH @@ -2226,21 +2038,21 @@ wPartySpecies:: ds PARTY_LENGTH + 1 wPartyMons:: ; wPartyMon1 - wPartyMon6 -for n, 1, PARTY_LENGTH + 1 +FOR n, 1, PARTY_LENGTH + 1 wPartyMon{d:n}:: party_struct wPartyMon{d:n} -endr +ENDR wPartyMonOT:: ; wPartyMon1OT - wPartyMon6OT -for n, 1, PARTY_LENGTH + 1 +FOR n, 1, PARTY_LENGTH + 1 wPartyMon{d:n}OT:: ds NAME_LENGTH -endr +ENDR wPartyMonNicks:: ; wPartyMon1Nick - wPartyMon6Nick -for n, 1, PARTY_LENGTH + 1 +FOR n, 1, PARTY_LENGTH + 1 wPartyMon{d:n}Nick:: ds NAME_LENGTH -endr +ENDR wPartyMonNicksEnd:: wPartyDataEnd:: @@ -2257,8 +2069,7 @@ wPokedexSeen:: wPokedexSeenEnd:: -wNumBagItems:: - ds 1 +wNumBagItems:: db wBagItems:: ; item, quantity ds BAG_ITEM_CAPACITY * 2 @@ -2295,22 +2106,18 @@ wLetterPrintingDelayFlags:: ; bit 1: If 0, no delay. ds 1 -wPlayerID:: - ds 2 +wPlayerID:: dw -wMapMusicSoundID:: - ds 1 +wMapMusicSoundID:: db -wMapMusicROMBank:: - ds 1 +wMapMusicROMBank:: db wMapPalOffset:: ; offset subtracted from FadePal4 to get the background and object palettes for the current map ; normally, it is 0. it is 6 when Flash is needed, causing FadePal2 to be used instead of FadePal4 ds 1 -wCurMap:: - ds 1 +wCurMap:: db wCurrentTileBlockMapViewPointer:: ; pointer to the upper left corner of the current view in the tile block map @@ -2320,24 +2127,19 @@ wYCoord:: ; player's position on the current map ds 1 -wXCoord:: - ds 1 +wXCoord:: db wYBlockCoord:: ; player's y position (by block) ds 1 -wXBlockCoord:: - ds 1 +wXBlockCoord:: db -wLastMap:: - ds 1 +wLastMap:: db -wUnusedD366:: - ds 1 +wUnusedD366:: db -wCurMapTileset:: - ds 1 +wCurMapTileset:: db wCurMapHeight:: ; blocks @@ -2347,114 +2149,79 @@ wCurMapWidth:: ; blocks ds 1 -wMapDataPtr:: - ds 2 +wMapDataPtr:: dw -wMapTextPtr:: - ds 2 +wMapTextPtr:: dw -wMapScriptPtr:: - ds 2 +wMapScriptPtr:: dw wMapConnections:: ; connection byte ds 1 -wMapConn1Ptr:: - ds 1 +wMapConn1Ptr:: db -wNorthConnectionStripSrc:: - ds 2 +wNorthConnectionStripSrc:: dw -wNorthConnectionStripDest:: - ds 2 +wNorthConnectionStripDest:: dw -wNorthConnectionStripWidth:: - ds 1 +wNorthConnectionStripWidth:: db -wNorthConnectedMapWidth:: - ds 1 +wNorthConnectedMapWidth:: db -wNorthConnectedMapYAlignment:: - ds 1 +wNorthConnectedMapYAlignment:: db -wNorthConnectedMapXAlignment:: - ds 1 +wNorthConnectedMapXAlignment:: db -wNorthConnectedMapViewPointer:: - ds 2 +wNorthConnectedMapViewPointer:: dw -wMapConn2Ptr:: - ds 1 +wMapConn2Ptr:: db -wSouthConnectionStripSrc:: - ds 2 +wSouthConnectionStripSrc:: dw -wSouthConnectionStripDest:: - ds 2 +wSouthConnectionStripDest:: dw -wSouthConnectionStripWidth:: - ds 1 +wSouthConnectionStripWidth:: db -wSouthConnectedMapWidth:: - ds 1 +wSouthConnectedMapWidth:: db -wSouthConnectedMapYAlignment:: - ds 1 +wSouthConnectedMapYAlignment:: db -wSouthConnectedMapXAlignment:: - ds 1 +wSouthConnectedMapXAlignment:: db -wSouthConnectedMapViewPointer:: - ds 2 +wSouthConnectedMapViewPointer:: dw -wMapConn3Ptr:: - ds 1 +wMapConn3Ptr:: db -wWestConnectionStripSrc:: - ds 2 +wWestConnectionStripSrc:: dw -wWestConnectionStripDest:: - ds 2 +wWestConnectionStripDest:: dw -wWestConnectionStripHeight:: - ds 1 +wWestConnectionStripHeight:: db -wWestConnectedMapWidth:: - ds 1 +wWestConnectedMapWidth:: db -wWestConnectedMapYAlignment:: - ds 1 +wWestConnectedMapYAlignment:: db -wWestConnectedMapXAlignment:: - ds 1 +wWestConnectedMapXAlignment:: db -wWestConnectedMapViewPointer:: - ds 2 +wWestConnectedMapViewPointer:: dw -wMapConn4Ptr:: - ds 1 +wMapConn4Ptr:: db -wEastConnectionStripSrc:: - ds 2 +wEastConnectionStripSrc:: dw -wEastConnectionStripDest:: - ds 2 +wEastConnectionStripDest:: dw -wEastConnectionStripHeight:: - ds 1 +wEastConnectionStripHeight:: db -wEastConnectedMapWidth:: - ds 1 +wEastConnectedMapWidth:: db -wEastConnectedMapYAlignment:: - ds 1 +wEastConnectedMapYAlignment:: db -wEastConnectedMapXAlignment:: - ds 1 +wEastConnectedMapXAlignment:: db -wEastConnectedMapViewPointer:: - ds 2 +wEastConnectedMapViewPointer:: dw wSpriteSet:: ; sprite set for the current map (11 sprite picture ID's) @@ -2464,8 +2231,7 @@ wSpriteSetID:: ; sprite set ID for the current map ds 1 -wObjectDataPointerTemp:: - ds 2 +wObjectDataPointerTemp:: dw ds 2 @@ -2505,10 +2271,8 @@ wNumSprites:: ; these two variables track the X and Y offset in blocks from the last special warp used ; they don't seem to be used for anything -wYOffsetSinceLastSpecialWarp:: - ds 1 -wXOffsetSinceLastSpecialWarp:: - ds 1 +wYOffsetSinceLastSpecialWarp:: db +wXOffsetSinceLastSpecialWarp:: db wMapSpriteData:: ; two bytes per sprite (movement byte 2, text ID) @@ -2548,15 +2312,13 @@ wPlayerDirection:: ; if the player is not moving, the last the direction in which the player moved ds 1 -wTilesetBank:: - ds 1 +wTilesetBank:: db wTilesetBlocksPtr:: ; maps blocks (4x4 tiles) to tiles ds 2 -wTilesetGfxPtr:: - ds 2 +wTilesetGfxPtr:: dw wTilesetCollisionPtr:: ; list of all walkable tiles @@ -2565,13 +2327,11 @@ wTilesetCollisionPtr:: wTilesetTalkingOverTiles:: ds 3 -wGrassTile:: - ds 1 +wGrassTile:: db ds 4 -wNumBoxItems:: - ds 1 +wNumBoxItems:: db wBoxItems:: ; item, quantity ds PC_ITEM_CAPACITY * 2 @@ -2586,8 +2346,7 @@ wNumHoFTeams:: ; number of HOF teams ds 1 -wUnusedD5A3:: - ds 1 +wUnusedD5A3:: db wPlayerCoins:: ds 2 ; BCD @@ -2610,215 +2369,119 @@ wMissableObjectList:: wGameProgressFlags:: ; $c8 bytes -wOaksLabCurScript:: - ds 1 -wPalletTownCurScript:: - ds 1 - ds 1 -wBluesHouseCurScript:: - ds 1 -wViridianCityCurScript:: +wOaksLabCurScript:: db +wPalletTownCurScript:: db ds 1 +wBluesHouseCurScript:: db +wViridianCityCurScript:: db ds 2 -wPewterCityCurScript:: +wPewterCityCurScript:: db +wRoute3CurScript:: db +wRoute4CurScript:: db ds 1 -wRoute3CurScript:: - ds 1 -wRoute4CurScript:: - ds 1 - ds 1 -wViridianGymCurScript:: - ds 1 -wPewterGymCurScript:: - ds 1 -wCeruleanGymCurScript:: - ds 1 -wVermilionGymCurScript:: - ds 1 -wCeladonGymCurScript:: - ds 1 -wRoute6CurScript:: - ds 1 -wRoute8CurScript:: - ds 1 -wRoute24CurScript:: - ds 1 -wRoute25CurScript:: - ds 1 -wRoute9CurScript:: - ds 1 -wRoute10CurScript:: - ds 1 -wMtMoon1FCurScript:: - ds 1 -wMtMoonB2FCurScript:: - ds 1 -wSSAnne1FRoomsCurScript:: - ds 1 -wSSAnne2FRoomsCurScript:: - ds 1 -wRoute22CurScript:: - ds 1 - ds 1 -wRedsHouse2FCurScript:: - ds 1 -wViridianMartCurScript:: - ds 1 -wRoute22GateCurScript:: - ds 1 -wCeruleanCityCurScript:: +wViridianGymCurScript:: db +wPewterGymCurScript:: db +wCeruleanGymCurScript:: db +wVermilionGymCurScript:: db +wCeladonGymCurScript:: db +wRoute6CurScript:: db +wRoute8CurScript:: db +wRoute24CurScript:: db +wRoute25CurScript:: db +wRoute9CurScript:: db +wRoute10CurScript:: db +wMtMoon1FCurScript:: db +wMtMoonB2FCurScript:: db +wSSAnne1FRoomsCurScript:: db +wSSAnne2FRoomsCurScript:: db +wRoute22CurScript:: db ds 1 +wRedsHouse2FCurScript:: db +wViridianMartCurScript:: db +wRoute22GateCurScript:: db +wCeruleanCityCurScript:: db ds 7 -wSSAnneBowCurScript:: +wSSAnneBowCurScript:: db +wViridianForestCurScript:: db +wMuseum1FCurScript:: db +wRoute13CurScript:: db +wRoute14CurScript:: db +wRoute17CurScript:: db +wRoute19CurScript:: db +wRoute21CurScript:: db +wSafariZoneGateCurScript:: db +wRockTunnelB1FCurScript:: db +wRockTunnel1FCurScript:: db ds 1 -wViridianForestCurScript:: +wRoute11CurScript:: db +wRoute12CurScript:: db +wRoute15CurScript:: db +wRoute16CurScript:: db +wRoute18CurScript:: db +wRoute20CurScript:: db +wSSAnneB1FRoomsCurScript:: db +wVermilionCityCurScript:: db +wPokemonTower2FCurScript:: db +wPokemonTower3FCurScript:: db +wPokemonTower4FCurScript:: db +wPokemonTower5FCurScript:: db +wPokemonTower6FCurScript:: db +wPokemonTower7FCurScript:: db +wRocketHideoutB1FCurScript:: db +wRocketHideoutB2FCurScript:: db +wRocketHideoutB3FCurScript:: db +wRocketHideoutB4FCurScript:: db ds 1 -wMuseum1FCurScript:: +wRoute6GateCurScript:: db +wRoute8GateCurScript:: db ds 1 -wRoute13CurScript:: +wCinnabarIslandCurScript:: db +wPokemonMansion1FCurScript:: db ds 1 -wRoute14CurScript:: +wPokemonMansion2FCurScript:: db +wPokemonMansion3FCurScript:: db +wPokemonMansionB1FCurScript:: db +wVictoryRoad2FCurScript:: db +wVictoryRoad3FCurScript:: db ds 1 -wRoute17CurScript:: - ds 1 -wRoute19CurScript:: - ds 1 -wRoute21CurScript:: - ds 1 -wSafariZoneGateCurScript:: - ds 1 -wRockTunnelB1FCurScript:: - ds 1 -wRockTunnel1FCurScript:: - ds 1 - ds 1 -wRoute11CurScript:: - ds 1 -wRoute12CurScript:: - ds 1 -wRoute15CurScript:: - ds 1 -wRoute16CurScript:: - ds 1 -wRoute18CurScript:: - ds 1 -wRoute20CurScript:: - ds 1 -wSSAnneB1FRoomsCurScript:: - ds 1 -wVermilionCityCurScript:: - ds 1 -wPokemonTower2FCurScript:: - ds 1 -wPokemonTower3FCurScript:: - ds 1 -wPokemonTower4FCurScript:: - ds 1 -wPokemonTower5FCurScript:: - ds 1 -wPokemonTower6FCurScript:: - ds 1 -wPokemonTower7FCurScript:: - ds 1 -wRocketHideoutB1FCurScript:: - ds 1 -wRocketHideoutB2FCurScript:: - ds 1 -wRocketHideoutB3FCurScript:: - ds 1 -wRocketHideoutB4FCurScript:: - ds 2 -wRoute6GateCurScript:: - ds 1 -wRoute8GateCurScript:: - ds 2 -wCinnabarIslandCurScript:: - ds 1 -wPokemonMansion1FCurScript:: - ds 2 -wPokemonMansion2FCurScript:: - ds 1 -wPokemonMansion3FCurScript:: - ds 1 -wPokemonMansionB1FCurScript:: - ds 1 -wVictoryRoad2FCurScript:: - ds 1 -wVictoryRoad3FCurScript:: - ds 1 - ds 1 -wFightingDojoCurScript:: - ds 1 -wSilphCo2FCurScript:: - ds 1 -wSilphCo3FCurScript:: - ds 1 -wSilphCo4FCurScript:: - ds 1 -wSilphCo5FCurScript:: - ds 1 -wSilphCo6FCurScript:: - ds 1 -wSilphCo7FCurScript:: - ds 1 -wSilphCo8FCurScript:: - ds 1 -wSilphCo9FCurScript:: - ds 1 -wHallOfFameCurScript:: - ds 1 -wChampionsRoomCurScript:: - ds 1 -wLoreleisRoomCurScript:: - ds 1 -wBrunosRoomCurScript:: - ds 1 -wAgathasRoomCurScript:: - ds 1 -wCeruleanCaveB1FCurScript:: - ds 1 -wVictoryRoad1FCurScript:: - ds 1 - ds 1 -wLancesRoomCurScript:: +wFightingDojoCurScript:: db +wSilphCo2FCurScript:: db +wSilphCo3FCurScript:: db +wSilphCo4FCurScript:: db +wSilphCo5FCurScript:: db +wSilphCo6FCurScript:: db +wSilphCo7FCurScript:: db +wSilphCo8FCurScript:: db +wSilphCo9FCurScript:: db +wHallOfFameCurScript:: db +wChampionsRoomCurScript:: db +wLoreleisRoomCurScript:: db +wBrunosRoomCurScript:: db +wAgathasRoomCurScript:: db +wCeruleanCaveB1FCurScript:: db +wVictoryRoad1FCurScript:: db ds 1 +wLancesRoomCurScript:: db ds 4 -wSilphCo10FCurScript:: +wSilphCo10FCurScript:: db +wSilphCo11FCurScript:: db ds 1 -wSilphCo11FCurScript:: +wFuchsiaGymCurScript:: db +wSaffronGymCurScript:: db ds 1 +wCinnabarGymCurScript:: db +wGameCornerCurScript:: db +wRoute16Gate1FCurScript:: db +wBillsHouseCurScript:: db +wRoute5GateCurScript:: db +wPowerPlantCurScript:: ; overload +wRoute7GateCurScript:: db ds 1 -wFuchsiaGymCurScript:: - ds 1 -wSaffronGymCurScript:: - ds 1 - ds 1 -wCinnabarGymCurScript:: - ds 1 -wGameCornerCurScript:: - ds 1 -wRoute16Gate1FCurScript:: - ds 1 -wBillsHouseCurScript:: - ds 1 -wRoute5GateCurScript:: - ds 1 -wPowerPlantCurScript:: -wRoute7GateCurScript:: -; overload - ds 1 - ds 1 -wSSAnne2FCurScript:: - ds 1 -wSeafoamIslandsB3FCurScript:: - ds 1 -wRoute23CurScript:: - ds 1 -wSeafoamIslandsB4FCurScript:: - ds 1 -wRoute18Gate1FCurScript:: - ds 1 - +wSSAnne2FCurScript:: db +wSeafoamIslandsB3FCurScript:: db +wRoute23CurScript:: db +wSeafoamIslandsB4FCurScript:: db +wRoute18Gate1FCurScript:: db ds 78 wGameProgressFlagsEnd:: @@ -2827,8 +2490,7 @@ wGameProgressFlagsEnd:: wObtainedHiddenItemsFlags:: ds 14 -wObtainedHiddenCoinsFlags:: - ds 2 +wObtainedHiddenCoinsFlags:: dw wWalkBikeSurfState:: ; $00 = walking @@ -2859,34 +2521,29 @@ wEnemyMonOrTrainerClass:: ; trainer classes start at OPP_ID_OFFSET ds 1 -wPlayerJumpingYScreenCoordsIndex:: - ds 1 +wPlayerJumpingYScreenCoordsIndex:: db -wRivalStarter:: - ds 1 +wRivalStarter:: db ds 1 -wPlayerStarter:: - ds 1 +wPlayerStarter:: db wBoulderSpriteIndex:: ; sprite index of the boulder the player is trying to push ds 1 -wLastBlackoutMap:: - ds 1 +wLastBlackoutMap:: db wDestinationMap:: ; destination map (for certain types of special warps, not ordinary walking) ds 1 -wUnusedD71B:: - ds 1 +wUnusedD71B:: db wTileInFrontOfBoulderAndBoulderCollisionResult:: ; used to store the tile in front of the boulder when trying to push a boulder -; also used to store the result of the collision check ($ff for a collision and $00 for no collision) +; also used to store the result of the collision check ($ff for a collision and $00 FOR no collision) ds 1 wDungeonWarpDestinationMap:: @@ -2897,8 +2554,7 @@ wWhichDungeonWarp:: ; which dungeon warp within the source map was used ds 1 -wUnusedD71F:: - ds 1 +wUnusedD71F:: db ds 8 @@ -2986,7 +2642,7 @@ wFlags_D733:: ; bit 1: prevent music from changing when entering new map ; bit 2: skip the joypad check in CheckWarpsNoCollision (used for the forced warp down the waterfall in the Seafoam Islands) ; bit 3: trainer wants to battle -; bit 4: use variable [wCurMapScript] instead of the provided index for next frame's map script (used to start battle when talking to trainers) +; bit 4: use variable [wCurMapScript] instead of the provided index FOR next frame's map script (used to start battle when talking to trainers) ; bit 7: used fly out of battle ds 1 @@ -3005,32 +2661,25 @@ wd736:: ; bit 7: player sprite spinning due to spin tiles (Rocket hideout / Viridian Gym) ds 1 -wCompletedInGameTradeFlags:: - ds 2 +wCompletedInGameTradeFlags:: dw ds 2 -wWarpedFromWhichWarp:: - ds 1 +wWarpedFromWhichWarp:: db -wWarpedFromWhichMap:: - ds 1 +wWarpedFromWhichMap:: db ds 2 -wCardKeyDoorY:: - ds 1 +wCardKeyDoorY:: db -wCardKeyDoorX:: - ds 1 +wCardKeyDoorX:: db ds 2 -wFirstLockTrashCanIndex:: - ds 1 +wFirstLockTrashCanIndex:: db -wSecondLockTrashCanIndex:: - ds 1 +wSecondLockTrashCanIndex:: db ds 2 @@ -3066,27 +2715,26 @@ wEnemyPartySpecies:: ds PARTY_LENGTH + 1 wEnemyMons:: ; wEnemyMon1 - wEnemyMon6 -for n, 1, PARTY_LENGTH + 1 +FOR n, 1, PARTY_LENGTH + 1 wEnemyMon{d:n}:: party_struct wEnemyMon{d:n} -endr +ENDR wEnemyMonOT:: ; wEnemyMon1OT - wEnemyMon6OT -for n, 1, PARTY_LENGTH + 1 +FOR n, 1, PARTY_LENGTH + 1 wEnemyMon{d:n}OT:: ds NAME_LENGTH -endr +ENDR wEnemyMonNicks:: ; wEnemyMon1Nick - wEnemyMon6Nick -for n, 1, PARTY_LENGTH + 1 +FOR n, 1, PARTY_LENGTH + 1 wEnemyMon{d:n}Nick:: ds NAME_LENGTH -endr +ENDR ENDU -wTrainerHeaderPtr:: - ds 2 +wTrainerHeaderPtr:: dw ds 6 @@ -3094,8 +2742,7 @@ wOpponentAfterWrongAnswer:: ; the trainer the player must face after getting a wrong answer in the Cinnabar ; gym quiz -wUnusedDA38:: - ds 1 +wUnusedDA38:: db wCurMapScript:: ; index of current map script, mostly used as index for function pointer array @@ -3104,22 +2751,15 @@ wCurMapScript:: ds 7 -wPlayTimeHours:: - ds 1 -wPlayTimeMaxed:: - ds 1 -wPlayTimeMinutes:: - ds 1 -wPlayTimeSeconds:: - ds 1 -wPlayTimeFrames:: - ds 1 +wPlayTimeHours:: db +wPlayTimeMaxed:: db +wPlayTimeMinutes:: db +wPlayTimeSeconds:: db +wPlayTimeFrames:: db -wSafariZoneGameOver:: - ds 1 +wSafariZoneGameOver:: db -wNumSafariBalls:: - ds 1 +wNumSafariBalls:: db wDayCareInUse:: @@ -3143,21 +2783,21 @@ wBoxSpecies:: ds MONS_PER_BOX + 1 wBoxMons:: ; wBoxMon1 - wBoxMon20 -for n, 1, MONS_PER_BOX + 1 +FOR n, 1, MONS_PER_BOX + 1 wBoxMon{d:n}:: box_struct wBoxMon{d:n} -endr +ENDR wBoxMonOT:: ; wBoxMon1OT - wBoxMon20OT -for n, 1, MONS_PER_BOX + 1 +FOR n, 1, MONS_PER_BOX + 1 wBoxMon{d:n}OT:: ds NAME_LENGTH -endr +ENDR wBoxMonNicks:: ; wBoxMon1Nick - wBoxMon20Nick -for n, 1, MONS_PER_BOX + 1 +FOR n, 1, MONS_PER_BOX + 1 wBoxMon{d:n}Nick:: ds NAME_LENGTH -endr +ENDR wBoxMonNicksEnd:: wBoxDataEnd:: @@ -3165,7 +2805,10 @@ wBoxDataEnd:: SECTION "Stack", WRAM0 +; the stack grows downward + ds $100 - 1 wStack:: + ds 1 INCLUDE "sram.asm" From 7b2eb6b2524db4c441e8c050e5dc703601575b23 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 31 May 2021 12:37:15 -0400 Subject: [PATCH 029/119] Simplify the tileset headers --- data/tilesets/tileset_headers.asm | 60 +++++++++++++++---------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/data/tilesets/tileset_headers.asm b/data/tilesets/tileset_headers.asm index fc1f34e8..375b0687 100644 --- a/data/tilesets/tileset_headers.asm +++ b/data/tilesets/tileset_headers.asm @@ -1,36 +1,36 @@ tileset: MACRO - db BANK(\2) ; BANK(GFX) - dw \1, \2, \3 ; Block, GFX, Coll - db \4, \5, \6 ; counter tiles - db \7 ; grass tile - db \8 ; animations (TILEANIM_* value) + db BANK(\1_GFX) + dw \1_Block, \1_GFX, \1_Coll + db \2, \3, \4 ; counter tiles + db \5 ; grass tile + db \6 ; animations (TILEANIM_* value) ENDM Tilesets: table_width 12, Tilesets - ; block, gfx, coll, 3 counter tiles, grass tile, animations - tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, TILEANIM_WATER_FLOWER - tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE - tileset Mart_Block, Mart_GFX, Mart_Coll, $18,$19,$1E, $FF, TILEANIM_NONE - tileset Forest_Block, Forest_GFX, Forest_Coll, $FF,$FF,$FF, $20, TILEANIM_WATER - tileset RedsHouse2_Block, RedsHouse2_GFX, RedsHouse2_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE - tileset Dojo_Block, Dojo_GFX, Dojo_Coll, $3A,$FF,$FF, $FF, TILEANIM_WATER_FLOWER - tileset Pokecenter_Block, Pokecenter_GFX, Pokecenter_Coll, $18,$19,$1E, $FF, TILEANIM_NONE - tileset Gym_Block, Gym_GFX, Gym_Coll, $3A,$FF,$FF, $FF, TILEANIM_WATER_FLOWER - tileset House_Block, House_GFX, House_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE - tileset ForestGate_Block, ForestGate_GFX, ForestGate_Coll, $17,$32,$FF, $FF, TILEANIM_NONE - tileset Museum_Block, Museum_GFX, Museum_Coll, $17,$32,$FF, $FF, TILEANIM_NONE - tileset Underground_Block, Underground_GFX, Underground_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE - tileset Gate_Block, Gate_GFX, Gate_Coll, $17,$32,$FF, $FF, TILEANIM_NONE - tileset Ship_Block, Ship_GFX, Ship_Coll, $FF,$FF,$FF, $FF, TILEANIM_WATER - tileset ShipPort_Block, ShipPort_GFX, ShipPort_Coll, $FF,$FF,$FF, $FF, TILEANIM_WATER - tileset Cemetery_Block, Cemetery_GFX, Cemetery_Coll, $12,$FF,$FF, $FF, TILEANIM_NONE - tileset Interior_Block, Interior_GFX, Interior_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE - tileset Cavern_Block, Cavern_GFX, Cavern_Coll, $FF,$FF,$FF, $FF, TILEANIM_WATER - tileset Lobby_Block, Lobby_GFX, Lobby_Coll, $15,$36,$FF, $FF, TILEANIM_NONE - tileset Mansion_Block, Mansion_GFX, Mansion_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE - tileset Lab_Block, Lab_GFX, Lab_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE - tileset Club_Block, Club_GFX, Club_Coll, $07,$17,$FF, $FF, TILEANIM_NONE - tileset Facility_Block, Facility_GFX, Facility_Coll, $12,$FF,$FF, $FF, TILEANIM_WATER - tileset Plateau_Block, Plateau_GFX, Plateau_Coll, $FF,$FF,$FF, $45, TILEANIM_WATER + ; name, 3 counter tiles, grass tile, animations + tileset Overworld, -1, -1, -1, $52, TILEANIM_WATER_FLOWER + tileset RedsHouse1, -1, -1, -1, -1, TILEANIM_NONE + tileset Mart, $18,$19,$1E, -1, TILEANIM_NONE + tileset Forest, -1, -1, -1, $20, TILEANIM_WATER + tileset RedsHouse2, -1, -1, -1, -1, TILEANIM_NONE + tileset Dojo, $3A, -1, -1, -1, TILEANIM_WATER_FLOWER + tileset Pokecenter, $18,$19,$1E, -1, TILEANIM_NONE + tileset Gym, $3A, -1, -1, -1, TILEANIM_WATER_FLOWER + tileset House, -1, -1, -1, -1, TILEANIM_NONE + tileset ForestGate, $17,$32, -1, -1, TILEANIM_NONE + tileset Museum, $17,$32, -1, -1, TILEANIM_NONE + tileset Underground, -1, -1, -1, -1, TILEANIM_NONE + tileset Gate, $17,$32, -1, -1, TILEANIM_NONE + tileset Ship, -1, -1, -1, -1, TILEANIM_WATER + tileset ShipPort, -1, -1, -1, -1, TILEANIM_WATER + tileset Cemetery, $12, -1, -1, -1, TILEANIM_NONE + tileset Interior, -1, -1, -1, -1, TILEANIM_NONE + tileset Cavern, -1, -1, -1, -1, TILEANIM_WATER + tileset Lobby, $15,$36, -1, -1, TILEANIM_NONE + tileset Mansion, -1, -1, -1, -1, TILEANIM_NONE + tileset Lab, -1, -1, -1, -1, TILEANIM_NONE + tileset Club, $07,$17, -1, -1, TILEANIM_NONE + tileset Facility, $12, -1, -1, -1, TILEANIM_WATER + tileset Plateau, -1, -1, -1, $45, TILEANIM_WATER assert_table_length NUM_TILESETS From dfc81962d227a91d355b23e9aaaf8795860644ab Mon Sep 17 00:00:00 2001 From: Yoann Fievez Date: Mon, 31 May 2021 18:49:02 +0200 Subject: [PATCH 030/119] Fix typo noting to nothing and align vertically comments --- data/wild/grass_water.asm | 428 ++++++++++++++++++------------------- data/wild/maps/nothing.asm | 2 +- 2 files changed, 215 insertions(+), 215 deletions(-) diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm index ee65db79..a09fdce6 100644 --- a/data/wild/grass_water.asm +++ b/data/wild/grass_water.asm @@ -1,147 +1,147 @@ WildDataPointers: table_width 2, WildDataPointers - dw NotingWildMons ; PALLET_TOWN - dw NotingWildMons ; VIRIDIAN_CITY - dw NotingWildMons ; PEWTER_CITY - dw NotingWildMons ; CERULEAN_CITY - dw NotingWildMons ; LAVENDER_TOWN - dw NotingWildMons ; VERMILION_CITY - dw NotingWildMons ; CELADON_CITY - dw NotingWildMons ; FUCHSIA_CITY - dw NotingWildMons ; CINNABAR_ISLAND - dw NotingWildMons ; INDIGO_PLATEAU - dw NotingWildMons ; SAFFRON_CITY - dw NotingWildMons ; unused - dw Route1WildMons ; ROUTE_1 - dw Route2WildMons ; ROUTE_2 - dw Route3WildMons ; ROUTE_3 - dw Route4WildMons ; ROUTE_4 - dw Route5WildMons ; ROUTE_5 - dw Route6WildMons ; ROUTE_6 - dw Route7WildMons ; ROUTE_7 - dw Route8WildMons ; ROUTE_8 - dw Route9WildMons ; ROUTE_9 - dw Route10WildMons ; ROUTE_10 - dw Route11WildMons ; ROUTE_11 - dw Route12WildMons ; ROUTE_12 - dw Route13WildMons ; ROUTE_13 - dw Route14WildMons ; ROUTE_14 - dw Route15WildMons ; ROUTE_15 - dw Route16WildMons ; ROUTE_16 - dw Route17WildMons ; ROUTE_17 - dw Route18WildMons ; ROUTE_18 - dw SeaRoutesWildMons ; ROUTE_19 - dw SeaRoutesWildMons ; ROUTE_20 - dw Route21WildMons ; ROUTE_21 - dw Route22WildMons ; ROUTE_22 - dw Route23WildMons ; ROUTE_23 - dw Route24WildMons ; ROUTE_24 - dw Route25WildMons ; ROUTE_25 - dw NotingWildMons ; REDS_HOUSE_1F - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons ; PALLET_TOWN + dw NothingWildMons ; VIRIDIAN_CITY + dw NothingWildMons ; PEWTER_CITY + dw NothingWildMons ; CERULEAN_CITY + dw NothingWildMons ; LAVENDER_TOWN + dw NothingWildMons ; VERMILION_CITY + dw NothingWildMons ; CELADON_CITY + dw NothingWildMons ; FUCHSIA_CITY + dw NothingWildMons ; CINNABAR_ISLAND + dw NothingWildMons ; INDIGO_PLATEAU + dw NothingWildMons ; SAFFRON_CITY + dw NothingWildMons ; unused + dw Route1WildMons ; ROUTE_1 + dw Route2WildMons ; ROUTE_2 + dw Route3WildMons ; ROUTE_3 + dw Route4WildMons ; ROUTE_4 + dw Route5WildMons ; ROUTE_5 + dw Route6WildMons ; ROUTE_6 + dw Route7WildMons ; ROUTE_7 + dw Route8WildMons ; ROUTE_8 + dw Route9WildMons ; ROUTE_9 + dw Route10WildMons ; ROUTE_10 + dw Route11WildMons ; ROUTE_11 + dw Route12WildMons ; ROUTE_12 + dw Route13WildMons ; ROUTE_13 + dw Route14WildMons ; ROUTE_14 + dw Route15WildMons ; ROUTE_15 + dw Route16WildMons ; ROUTE_16 + dw Route17WildMons ; ROUTE_17 + dw Route18WildMons ; ROUTE_18 + dw SeaRoutesWildMons ; ROUTE_19 + dw SeaRoutesWildMons ; ROUTE_20 + dw Route21WildMons ; ROUTE_21 + dw Route22WildMons ; ROUTE_22 + dw Route23WildMons ; ROUTE_23 + dw Route24WildMons ; ROUTE_24 + dw Route25WildMons ; ROUTE_25 + dw NothingWildMons ; REDS_HOUSE_1F + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons dw ViridianForestWildMons ; ViridianForest - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons dw MtMoon1FWildMons dw MtMoonB1FWildMons dw MtMoonB2FWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons dw RockTunnel1FWildMons dw PowerPlantWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons dw VictoryRoad1FWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons dw PokemonTower1FWildMons dw PokemonTower2FWildMons dw PokemonTower3FWildMons @@ -149,71 +149,71 @@ WildDataPointers: dw PokemonTower5FWildMons dw PokemonTower6FWildMons dw PokemonTower7FWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons dw SeafoamIslandsB1FWildMons dw SeafoamIslandsB2FWildMons dw SeafoamIslandsB3FWildMons dw SeafoamIslandsB4FWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons dw PokemonMansion1FWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons dw SeafoamIslands1FWildMons - dw NotingWildMons + dw NothingWildMons dw VictoryRoad2FWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons dw DiglettsCaveWildMons dw VictoryRoad3FWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons dw PokemonMansion2FWildMons dw PokemonMansion3FWildMons dw PokemonMansionB1FWildMons @@ -221,33 +221,33 @@ WildDataPointers: dw SafariZoneNorthWildMons dw SafariZoneWestWildMons dw SafariZoneCenterWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons dw CeruleanCave2FWildMons dw CeruleanCaveB1FWildMons dw CeruleanCave1FWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons dw RockTunnelB1FWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons - dw NotingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons + dw NothingWildMons assert_table_length NUM_MAPS dw -1 ; end diff --git a/data/wild/maps/nothing.asm b/data/wild/maps/nothing.asm index 67d2572e..47b94a28 100644 --- a/data/wild/maps/nothing.asm +++ b/data/wild/maps/nothing.asm @@ -1,4 +1,4 @@ -NotingWildMons: +NothingWildMons: def_grass_wildmons 0 ; encounter rate end_grass_wildmons From 21c266b950e5f4379bb7c3f605689b9070c8f48d Mon Sep 17 00:00:00 2001 From: Yoann Fievez Date: Mon, 31 May 2021 18:50:16 +0200 Subject: [PATCH 031/119] Change name wSeaRoutesWildMons to wWaterMons in WRAM --- engine/battle/wild_encounters.asm | 2 +- engine/overworld/wild_mons.asm | 2 +- wram.asm | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 1f458850..8c9c1529 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -67,7 +67,7 @@ TryDoWildEncounter: lda_coord 8, 9 cp $14 ; is the bottom left tile (8,9) of the half-block we're standing in a water tile? jr nz, .gotWildEncounterType ; else, it's treated as a grass tile by default - ld hl, wSeaRoutesWildMons + ld hl, wWaterMons ; since the bottom right tile of a "left shore" half-block is $14 but the bottom left tile is not, ; "left shore" half-blocks (such as the one in the east coast of Cinnabar) load grass encounters. .gotWildEncounterType diff --git a/engine/overworld/wild_mons.asm b/engine/overworld/wild_mons.asm index d372cfe4..2593e0ec 100644 --- a/engine/overworld/wild_mons.asm +++ b/engine/overworld/wild_mons.asm @@ -26,7 +26,7 @@ LoadWildData:: ld [wWaterRate], a and a ret z ; if no water data, we're done - ld de, wSeaRoutesWildMons ; otherwise, load surfing data + ld de, wWaterMons ; otherwise, load surfing data ld bc, $14 jp CopyData diff --git a/wram.asm b/wram.asm index 40c41146..e8ea699c 100644 --- a/wram.asm +++ b/wram.asm @@ -3046,7 +3046,7 @@ wGrassMons:: ds 8 wWaterRate:: db -wSeaRoutesWildMons:: +wWaterMons:: ds 10 * 2 NEXTU From c2ad19728aad7df0f5ed7a39dc7dc37fe21c2c74 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 31 May 2021 13:09:33 -0400 Subject: [PATCH 032/119] Reformat MoveBoulderDustFunctionPointerTable --- engine/overworld/dust_smoke.asm | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/engine/overworld/dust_smoke.asm b/engine/overworld/dust_smoke.asm index a20a0591..bb291567 100644 --- a/engine/overworld/dust_smoke.asm +++ b/engine/overworld/dust_smoke.asm @@ -51,22 +51,16 @@ GetMoveBoulderDustFunctionPointer: pop hl ret +boulder_dust_adjust: MACRO + db \1, \2 ; coords + dw \3 ; function +ENDM + MoveBoulderDustFunctionPointerTable: -; facing down - db $FF,$00 - dw AdjustOAMBlockYPos - -; facing up - db $01,$00 - dw AdjustOAMBlockYPos - -; facing left - db $01,$01 - dw AdjustOAMBlockXPos - -; facing right - db $FF,$01 - dw AdjustOAMBlockXPos + boulder_dust_adjust -1, 0, AdjustOAMBlockYPos ; down + boulder_dust_adjust 1, 0, AdjustOAMBlockYPos ; up + boulder_dust_adjust 1, 1, AdjustOAMBlockXPos ; left + boulder_dust_adjust -1, 1, AdjustOAMBlockXPos ; right LoadSmokeTileFourTimes:: ld hl, vChars1 tile $7c From a448ac897d5480bba4b40b4be8a4bfe5a5c31be7 Mon Sep 17 00:00:00 2001 From: Yoann Fievez Date: Mon, 17 May 2021 12:48:26 +0200 Subject: [PATCH 033/119] Clean many labels of scripts of all gyms --- scripts/CeladonGym.asm | 84 +++++------ scripts/CeruleanGym.asm | 94 ++++++------ scripts/CinnabarGym.asm | 299 ++++++++++++++++++++------------------- scripts/FuchsiaGym.asm | 99 ++++++------- scripts/PewterGym.asm | 111 ++++++++------- scripts/SaffronGym.asm | 114 +++++++-------- scripts/VermilionGym.asm | 30 ++-- scripts/ViridianGym.asm | 121 ++++++++-------- text/CeladonGym.asm | 8 +- text/CeruleanGym.asm | 14 +- text/CinnabarGym.asm | 54 +++---- text/FuchsiaGym.asm | 2 +- text/FuchsiaGym_2.asm | 8 +- text/PewterGym.asm | 2 +- text/PewterGym_2.asm | 16 +-- text/SaffronGym.asm | 14 +- text/VermilionGym_2.asm | 8 +- text/ViridianGym.asm | 12 +- 18 files changed, 547 insertions(+), 543 deletions(-) diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm index 30e4fa35..2ffa1995 100644 --- a/scripts/CeladonGym.asm +++ b/scripts/CeladonGym.asm @@ -22,7 +22,7 @@ CeladonGym_Script: .LeaderName: db "ERIKA@" -CeladonGymText_48943: +CeladonGymResetScripts: xor a ld [wJoyIgnore], a ld [wCeladonGymCurScript], a @@ -33,16 +33,16 @@ CeladonGym_ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle - dw CeladonGymScript3 + dw CeladonGymErikaPostBattle -CeladonGymScript3: +CeladonGymErikaPostBattle: ld a, [wIsInBattle] cp $ff - jp z, CeladonGymText_48943 + jp z, CeladonGymResetScripts ld a, $f0 ld [wJoyIgnore], a -CeladonGymText_48963: +CeladonGymReceiveTM21: ld a, $9 ldh [hSpriteIndexOrTextID], a call DisplayTextID @@ -68,19 +68,19 @@ CeladonGymText_48963: ; deactivate gym trainers SetEventRange EVENT_BEAT_CELADON_GYM_TRAINER_0, EVENT_BEAT_CELADON_GYM_TRAINER_6 - jp CeladonGymText_48943 + jp CeladonGymResetScripts CeladonGym_TextPointers: - dw CeladonGymText1 - dw CeladonGymText2 - dw CeladonGymText3 - dw CeladonGymText4 - dw CeladonGymText5 - dw CeladonGymText6 - dw CeladonGymText7 - dw CeladonGymText8 - dw CeladonGymText9 - dw TM21Text + dw ErikaText + dw CeladonGymTrainerText1 + dw CeladonGymTrainerText2 + dw CeladonGymTrainerText3 + dw CeladonGymTrainerText4 + dw CeladonGymTrainerText5 + dw CeladonGymTrainerText6 + dw CeladonGymTrainerText7 + dw ErikaRainbowBadgeInfoText + dw ReceivedTM21Text dw TM21NoRoomText CeladonGymTrainerHeaders: @@ -101,27 +101,27 @@ CeladonGymTrainerHeader6: trainer EVENT_BEAT_CELADON_GYM_TRAINER_6, 3, CeladonGymBattleText8, CeladonGymEndBattleText8, CeladonGymAfterBattleText8 db -1 ; end -CeladonGymText1: +ErikaText: text_asm CheckEvent EVENT_BEAT_ERIKA - jr z, .beginBattle + jr z, .beforeBeat CheckEventReuseA EVENT_GOT_TM21 - jr nz, .afterVictory - call z, CeladonGymText_48963 + jr nz, .afterBeat + call z, CeladonGymReceiveTM21 call DisableWaitingAfterTextDisplay jr .done -.afterVictory - ld hl, CeladonGymText_48a68 +.afterBeat + ld hl, ErikaPostBattleAdviceText call PrintText jr .done -.beginBattle - ld hl, CeladonGymText_48a5e +.beforeBeat + ld hl, ErikaPreBattleText call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, CeladonGymText_48a63 - ld de, CeladonGymText_48a63 + ld hl, ReceivedRainbowBadgeText + ld de, ReceivedRainbowBadgeText call SaveEndBattleTextPointers ldh a, [hSpriteIndex] ld [wSpriteIndex], a @@ -135,23 +135,23 @@ CeladonGymText1: .done jp TextScriptEnd -CeladonGymText_48a5e: - text_far _CeladonGymText_48a5e +ErikaPreBattleText: + text_far _ErikaPreBattleText text_end -CeladonGymText_48a63: - text_far _CeladonGymText_48a63 +ReceivedRainbowBadgeText: + text_far _ReceivedRainbowBadgeText text_end -CeladonGymText_48a68: - text_far _CeladonGymText_48a68 +ErikaPostBattleAdviceText: + text_far _ErikaPostBattleAdviceText text_end -CeladonGymText9: - text_far _CeladonGymText9 +ErikaRainbowBadgeInfoText: + text_far _ErikaRainbowBadgeInfoText text_end -TM21Text: +ReceivedTM21Text: text_far _ReceivedTM21Text sound_get_item_1 text_far _TM21ExplanationText @@ -161,7 +161,7 @@ TM21NoRoomText: text_far _TM21NoRoomText text_end -CeladonGymText2: +CeladonGymTrainerText1: text_asm ld hl, CeladonGymTrainerHeader0 call TalkToTrainer @@ -179,7 +179,7 @@ CeladonGymAfterBattleText2: text_far _CeladonGymAfterBattleText2 text_end -CeladonGymText3: +CeladonGymTrainerText2: text_asm ld hl, CeladonGymTrainerHeader1 call TalkToTrainer @@ -197,7 +197,7 @@ CeladonGymAfterBattleText3: text_far _CeladonGymAfterBattleText3 text_end -CeladonGymText4: +CeladonGymTrainerText3: text_asm ld hl, CeladonGymTrainerHeader2 call TalkToTrainer @@ -215,7 +215,7 @@ CeladonGymAfterBattleText4: text_far _CeladonGymAfterBattleText4 text_end -CeladonGymText5: +CeladonGymTrainerText4: text_asm ld hl, CeladonGymTrainerHeader3 call TalkToTrainer @@ -233,7 +233,7 @@ CeladonGymAfterBattleText5: text_far _CeladonGymAfterBattleText5 text_end -CeladonGymText6: +CeladonGymTrainerText5: text_asm ld hl, CeladonGymTrainerHeader4 call TalkToTrainer @@ -251,7 +251,7 @@ CeladonGymAfterBattleText6: text_far _CeladonGymAfterBattleText6 text_end -CeladonGymText7: +CeladonGymTrainerText6: text_asm ld hl, CeladonGymTrainerHeader5 call TalkToTrainer @@ -269,7 +269,7 @@ CeladonGymAfterBattleText7: text_far _CeladonGymAfterBattleText7 text_end -CeladonGymText8: +CeladonGymTrainerText7: text_asm ld hl, CeladonGymTrainerHeader6 call TalkToTrainer diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index 14219748..798716e3 100644 --- a/scripts/CeruleanGym.asm +++ b/scripts/CeruleanGym.asm @@ -22,7 +22,7 @@ CeruleanGym_Script: .LeaderName: db "MISTY@" -CeruleanGymScript_5c6ed: +CeruleanGymResetScripts: xor a ld [wJoyIgnore], a ld [wCeruleanGymCurScript], a @@ -33,16 +33,16 @@ CeruleanGym_ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle - dw CeruleanGymScript3 + dw CeruleanGymMistyPostBattle -CeruleanGymScript3: +CeruleanGymMistyPostBattle: ld a, [wIsInBattle] cp $ff - jp z, CeruleanGymScript_5c6ed + jp z, CeruleanGymResetScripts ld a, $f0 ld [wJoyIgnore], a -CeruleanGymScript_5c70d: +CeruleanGymReceiveTM11: ld a, $5 ldh [hSpriteIndexOrTextID], a call DisplayTextID @@ -68,16 +68,16 @@ CeruleanGymScript_5c70d: ; deactivate gym trainers SetEvents EVENT_BEAT_CERULEAN_GYM_TRAINER_0, EVENT_BEAT_CERULEAN_GYM_TRAINER_1 - jp CeruleanGymScript_5c6ed + jp CeruleanGymResetScripts CeruleanGym_TextPointers: - dw CeruleanGymText1 - dw CeruleanGymText2 - dw CeruleanGymText3 - dw CeruleanGymText4 - dw CeruleanGymText5 - dw CeruleanGymText6 - dw CeruleanGymText7 + dw MistyText + dw CeruleanGymTrainerText1 + dw CeruleanGymTrainerText2 + dw CeruleanGymGuideText + dw MistyCascadeBadgeInfoText + dw ReceivedTM11Text + dw TM11NoRoomText CeruleanGymTrainerHeaders: def_trainers 2 @@ -87,27 +87,27 @@ CeruleanGymTrainerHeader1: trainer EVENT_BEAT_CERULEAN_GYM_TRAINER_1, 3, CeruleanGymBattleText2, CeruleanGymEndBattleText2, CeruleanGymAfterBattleText2 db -1 ; end -CeruleanGymText1: +MistyText: text_asm CheckEvent EVENT_BEAT_MISTY - jr z, .beginBattle + jr z, .beforeBeat CheckEventReuseA EVENT_GOT_TM11 - jr nz, .afterVictory - call z, CeruleanGymScript_5c70d + jr nz, .afterBeat + call z, CeruleanGymReceiveTM11 call DisableWaitingAfterTextDisplay jr .done -.afterVictory - ld hl, CeruleanGymText_5c7c3 +.afterBeat + ld hl, TM11ExplanationText call PrintText jr .done -.beginBattle - ld hl, CeruleanGymText_5c7be +.beforeBeat + ld hl, MistyPreBattleText call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, CeruleanGymText_5c7d8 - ld de, CeruleanGymText_5c7d8 + ld hl, ReceivedCascadeBadgeText + ld de, ReceivedCascadeBadgeText call SaveEndBattleTextPointers ldh a, [hSpriteIndex] ld [wSpriteIndex], a @@ -122,34 +122,34 @@ CeruleanGymText1: .done jp TextScriptEnd -CeruleanGymText_5c7be: - text_far _CeruleanGymText_5c7be +MistyPreBattleText: + text_far _MistyPreBattleText text_end -CeruleanGymText_5c7c3: - text_far _CeruleanGymText_5c7c3 +TM11ExplanationText: + text_far _TM11ExplanationText text_end -CeruleanGymText5: - text_far _CeruleanGymText_5c7c8 +MistyCascadeBadgeInfoText: + text_far _MistyCascadeBadgeInfoText text_end -CeruleanGymText6: +ReceivedTM11Text: text_far _ReceivedTM11Text sound_get_item_1 text_end -CeruleanGymText7: - text_far _CeruleanGymText_5c7d3 +TM11NoRoomText: + text_far _TM11NoRoomText text_end -CeruleanGymText_5c7d8: - text_far _CeruleanGymText_5c7d8 +ReceivedCascadeBadgeText: + text_far _ReceivedCascadeBadgeText sound_get_key_item ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded text_promptbutton text_end -CeruleanGymText2: +CeruleanGymTrainerText1: text_asm ld hl, CeruleanGymTrainerHeader0 call TalkToTrainer @@ -167,7 +167,7 @@ CeruleanGymAfterBattleText1: text_far _CeruleanGymAfterBattleText1 text_end -CeruleanGymText3: +CeruleanGymTrainerText2: text_asm ld hl, CeruleanGymTrainerHeader1 call TalkToTrainer @@ -185,23 +185,23 @@ CeruleanGymAfterBattleText2: text_far _CeruleanGymAfterBattleText2 text_end -CeruleanGymText4: +CeruleanGymGuideText: text_asm CheckEvent EVENT_BEAT_MISTY - jr nz, .asm_5c821 - ld hl, CeruleanGymText_5c82a + jr nz, .afterBeat + ld hl, CeruleanGymGuidePreBattleText call PrintText - jr .asm_5c827 -.asm_5c821 - ld hl, CeruleanGymText_5c82f + jr .done +.afterBeat + ld hl, CeruleanGymGuidePostBattleText call PrintText -.asm_5c827 +.done jp TextScriptEnd -CeruleanGymText_5c82a: - text_far _CeruleanGymText_5c82a +CeruleanGymGuidePreBattleText: + text_far _CeruleanGymGuidePreBattleText text_end -CeruleanGymText_5c82f: - text_far _CeruleanGymText_5c82f +CeruleanGymGuidePostBattleText: + text_far _CeruleanGymGuidePostBattleText text_end diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index 5703bb1d..370a875f 100644 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -1,11 +1,11 @@ CinnabarGym_Script: - call CinnabarGymScript_75759 + call CinnabarGymSetMapAndTiles call EnableAutoTextBoxDrawing ld hl, CinnabarGym_ScriptPointers ld a, [wCinnabarGymCurScript] jp CallFunctionInTable -CinnabarGymScript_75759: +CinnabarGymSetMapAndTiles: ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] @@ -29,7 +29,7 @@ CinnabarGymScript_75759: .LeaderName: db "BLAINE@" -CinnabarGymScript_75792: +CinnabarGymResetScripts: xor a ld [wJoyIgnore], a ld [wCinnabarGymCurScript], a @@ -37,7 +37,7 @@ CinnabarGymScript_75792: ld [wOpponentAfterWrongAnswer], a ret -CinnabarGymScript_757a0: +CinnabarGymSetTrainerHeader: ldh a, [hSpriteIndexOrTextID] ld [wTrainerHeaderFlagBit], a ret @@ -46,7 +46,7 @@ CinnabarGym_ScriptPointers: dw CinnabarGymScript0 dw CinnabarGymScript1 dw CinnabarGymScript2 - dw CinnabarGymScript3 + dw CinnabarGymBlainePostBattle CinnabarGymScript0: ld a, [wOpponentAfterWrongAnswer] @@ -57,25 +57,25 @@ CinnabarGymScript0: jr nz, .asm_757c3 ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a - ld de, MovementData_757d7 - jr .asm_757cb + ld de, MovementNpcToLeftAndUp + jr .MoveSprite .asm_757c3 - ld de, MovementData_757da + ld de, MovementNpcToLeft ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a -.asm_757cb +.MoveSprite call MoveSprite ld a, $1 ld [wCinnabarGymCurScript], a ld [wCurMapScript], a ret -MovementData_757d7: +MovementNpcToLeftAndUp: db NPC_MOVEMENT_LEFT db NPC_MOVEMENT_UP db -1 ; end -MovementData_757da: +MovementNpcToLeft: db NPC_MOVEMENT_LEFT db -1 ; end @@ -96,7 +96,7 @@ CinnabarGymFlagAction: CinnabarGymScript2: ld a, [wIsInBattle] cp $ff - jp z, CinnabarGymScript_75792 + jp z, CinnabarGymResetScripts ld a, [wTrainerHeaderFlagBit] ldh [hGymGateIndex], a AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 @@ -135,13 +135,14 @@ CinnabarGymScript2: ld [wCurMapScript], a ret -CinnabarGymScript3: +CinnabarGymBlainePostBattle: ld a, [wIsInBattle] cp $ff - jp z, CinnabarGymScript_75792 + jp z, CinnabarGymResetScripts ld a, $f0 ld [wJoyIgnore], a -CinnabarGymScript3_75857: +; fallthrough +CinnabarGymReceiveTM38: ld a, $a ldh [hSpriteIndexOrTextID], a call DisplayTextID @@ -170,19 +171,19 @@ CinnabarGymScript3_75857: ld hl, wCurrentMapScriptFlags set 5, [hl] - jp CinnabarGymScript_75792 + jp CinnabarGymResetScripts CinnabarGym_TextPointers: - dw CinnabarGymText1 - dw CinnabarGymText2 - dw CinnabarGymText3 - dw CinnabarGymText4 - dw CinnabarGymText5 - dw CinnabarGymText6 - dw CinnabarGymText7 - dw CinnabarGymText8 - dw CinnabarGymText9 - dw BlaineBadgeText + dw BlaineText + dw CinnabarGymTrainerText1 + dw CinnabarGymTrainerText2 + dw CinnabarGymTrainerText3 + dw CinnabarGymTrainerText4 + dw CinnabarGymTrainerText5 + dw CinnabarGymTrainerText6 + dw CinnabarGymTrainerText7 + dw CinnabarGymGuideText + dw BlaineVolcanoBadgeInfoText dw ReceivedTM38Text dw TM38NoRoomText @@ -206,45 +207,45 @@ CinnabarGymScript_758b7: ld [wCurMapScript], a jp TextScriptEnd -CinnabarGymText1: +BlaineText: text_asm CheckEvent EVENT_BEAT_BLAINE - jr z, .beginBattle + jr z, .beforeBeat CheckEventReuseA EVENT_GOT_TM38 - jr nz, .afterVictory - call z, CinnabarGymScript3_75857 + jr nz, .afterBeat + call z, CinnabarGymReceiveTM38 call DisableWaitingAfterTextDisplay jp TextScriptEnd -.afterVictory - ld hl, BlaineFireBlastText +.afterBeat + ld hl, BlainePostBattleAdviceText call PrintText jp TextScriptEnd -.beginBattle - ld hl, BlaineBattleText +.beforeBeat + ld hl, BlainePreBattleText call PrintText - ld hl, BlaineEndBattleText - ld de, BlaineEndBattleText + ld hl, ReceivedVolcanoBadgeText + ld de, ReceivedVolcanoBadgeText call SaveEndBattleTextPointers ld a, $7 ld [wGymLeaderNo], a jp CinnabarGymScript_758b7 -BlaineBattleText: - text_far _BlaineBattleText +BlainePreBattleText: + text_far _BlainePreBattleText text_end -BlaineEndBattleText: - text_far _BlaineEndBattleText +ReceivedVolcanoBadgeText: + text_far _ReceivedVolcanoBadgeText sound_get_key_item ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded text_waitbutton text_end -BlaineFireBlastText: - text_far _BlaineFireBlastText +BlainePostBattleAdviceText: + text_far _BlainePostBattleAdviceText text_end -BlaineBadgeText: - text_far _BlaineBadgeText +BlaineVolcanoBadgeInfoText: + text_far _BlaineVolcanoBadgeInfoText text_end ReceivedTM38Text: @@ -257,218 +258,218 @@ TM38NoRoomText: text_far _TM38NoRoomText text_end -CinnabarGymText2: +CinnabarGymTrainerText1: text_asm - call CinnabarGymScript_757a0 + call CinnabarGymSetTrainerHeader CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_0 jr nz, .asm_46bb4 - ld hl, CinnabarGymText_7595f + ld hl, CinnabarGymBattleText2 call PrintText - ld hl, CinnabarGymText_75964 - ld de, CinnabarGymText_75964 + ld hl, CinnabarGymEndBattleText2 + ld de, CinnabarGymEndBattleText2 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 .asm_46bb4 - ld hl, CinnabarGymText_75969 + ld hl, CinnabarGymAfterBattleText2 call PrintText jp TextScriptEnd -CinnabarGymText_7595f: - text_far _CinnabarGymText_7595f +CinnabarGymBattleText2: + text_far _CinnabarGymBattleText2 text_end -CinnabarGymText_75964: - text_far _CinnabarGymText_75964 +CinnabarGymEndBattleText2: + text_far _CinnabarGymEndBattleText2 text_end -CinnabarGymText_75969: - text_far _CinnabarGymText_75969 +CinnabarGymAfterBattleText2: + text_far _CinnabarGymAfterBattleText2 text_end -CinnabarGymText3: +CinnabarGymTrainerText2: text_asm - call CinnabarGymScript_757a0 + call CinnabarGymSetTrainerHeader CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_1 jr nz, .asm_4b406 - ld hl, CinnabarGymText_75994 + ld hl, CinnabarGymBattleText1 call PrintText - ld hl, CinnabarGymText_75999 - ld de, CinnabarGymText_75999 + ld hl, CinnabarGymEndBattleText1 + ld de, CinnabarGymEndBattleText1 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 .asm_4b406 - ld hl, CinnabarGymText_7599e + ld hl, CinnabarGymAfterBattleText1 call PrintText jp TextScriptEnd -CinnabarGymText_75994: - text_far _CinnabarGymText_75994 +CinnabarGymBattleText1: + text_far _CinnabarGymBattleText1 text_end -CinnabarGymText_75999: - text_far _CinnabarGymText_75999 +CinnabarGymEndBattleText1: + text_far _CinnabarGymEndBattleText1 text_end -CinnabarGymText_7599e: - text_far _CinnabarGymText_7599e +CinnabarGymAfterBattleText1: + text_far _CinnabarGymAfterBattleText1 text_end -CinnabarGymText4: +CinnabarGymTrainerText3: text_asm - call CinnabarGymScript_757a0 + call CinnabarGymSetTrainerHeader CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_2 - jr nz, .asm_c0673 - ld hl, CinnabarGymText_759c9 + jr nz, .afterBeat + ld hl, CinnabarGymBattleText3 call PrintText - ld hl, CinnabarGymText_759ce - ld de, CinnabarGymText_759ce + ld hl, CinnabarGymEndBattleText3 + ld de, CinnabarGymEndBattleText3 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_c0673 - ld hl, CinnabarGymText_759d3 +.afterBeat + ld hl, CinnabarGymAfterBattleText3 call PrintText jp TextScriptEnd -CinnabarGymText_759c9: - text_far _CinnabarGymText_759c9 +CinnabarGymBattleText3: + text_far _CinnabarGymBattleText3 text_end -CinnabarGymText_759ce: - text_far _CinnabarGymText_759ce +CinnabarGymEndBattleText3: + text_far _CinnabarGymEndBattleText3 text_end -CinnabarGymText_759d3: - text_far _CinnabarGymText_759d3 +CinnabarGymAfterBattleText3: + text_far _CinnabarGymAfterBattleText3 text_end -CinnabarGymText5: +CinnabarGymTrainerText4: text_asm - call CinnabarGymScript_757a0 + call CinnabarGymSetTrainerHeader CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_3 - jr nz, .asm_5cfd7 - ld hl, CinnabarGymText_759fe + jr nz, .afterBeat + ld hl, CinnabarGymBattleText4 call PrintText - ld hl, CinnabarGymText_75a03 - ld de, CinnabarGymText_75a03 + ld hl, CinnabarGymEndBattleText4 + ld de, CinnabarGymEndBattleText4 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_5cfd7 - ld hl, CinnabarGymText_75a08 +.afterBeat + ld hl, CinnabarGymAfterBattleText4 call PrintText jp TextScriptEnd -CinnabarGymText_759fe: - text_far _CinnabarGymText_759fe +CinnabarGymBattleText4: + text_far _CinnabarGymBattleText4 text_end -CinnabarGymText_75a03: - text_far _CinnabarGymText_75a03 +CinnabarGymEndBattleText4: + text_far _CinnabarGymEndBattleText4 text_end -CinnabarGymText_75a08: - text_far _CinnabarGymText_75a08 +CinnabarGymAfterBattleText4: + text_far _CinnabarGymAfterBattleText4 text_end -CinnabarGymText6: +CinnabarGymTrainerText5: text_asm - call CinnabarGymScript_757a0 + call CinnabarGymSetTrainerHeader CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_4 - jr nz, .asm_776b4 - ld hl, CinnabarGymText_75a33 + jr nz, .afterBeat + ld hl, CinnabarGymBattleText5 call PrintText - ld hl, CinnabarGymText_75a38 - ld de, CinnabarGymText_75a38 + ld hl, CinnabarGymEndBattleText5 + ld de, CinnabarGymEndBattleText5 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_776b4 - ld hl, CinnabarGymText_75a3d +.afterBeat + ld hl, CinnabarGymAfterBattleText5 call PrintText jp TextScriptEnd -CinnabarGymText_75a33: - text_far _CinnabarGymText_75a33 +CinnabarGymBattleText5: + text_far _CinnabarGymBattleText5 text_end -CinnabarGymText_75a38: - text_far _CinnabarGymText_75a38 +CinnabarGymEndBattleText5: + text_far _CinnabarGymEndBattleText5 text_end -CinnabarGymText_75a3d: - text_far _CinnabarGymText_75a3d +CinnabarGymAfterBattleText5: + text_far _CinnabarGymAfterBattleText5 text_end -CinnabarGymText7: +CinnabarGymTrainerText6: text_asm - call CinnabarGymScript_757a0 + call CinnabarGymSetTrainerHeader CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_5 - jr nz, .asm_2f755 - ld hl, CinnabarGymText_75a68 + jr nz, .afterBeat + ld hl, CinnabarGymBattleText6 call PrintText - ld hl, CinnabarGymText_75a6d - ld de, CinnabarGymText_75a6d + ld hl, CinnabarGymEndBattleText6 + ld de, CinnabarGymEndBattleText6 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_2f755 - ld hl, CinnabarGymText_75a72 +.afterBeat + ld hl, CinnabarGymAfterBattleText6 call PrintText jp TextScriptEnd -CinnabarGymText_75a68: - text_far _CinnabarGymText_75a68 +CinnabarGymBattleText6: + text_far _CinnabarGymBattleText6 text_end -CinnabarGymText_75a6d: - text_far _CinnabarGymText_75a6d +CinnabarGymEndBattleText6: + text_far _CinnabarGymEndBattleText6 text_end -CinnabarGymText_75a72: - text_far _CinnabarGymText_75a72 +CinnabarGymAfterBattleText6: + text_far _CinnabarGymAfterBattleText6 text_end -CinnabarGymText8: +CinnabarGymTrainerText7: text_asm - call CinnabarGymScript_757a0 + call CinnabarGymSetTrainerHeader CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_6 - jr nz, .asm_d87be - ld hl, CinnabarGymText_75a9d + jr nz, .afterBeat + ld hl, CinnabarGymBattleText7 call PrintText - ld hl, CinnabarGymText_75aa2 - ld de, CinnabarGymText_75aa2 + ld hl, CinnabarGymEndBattleText7 + ld de, CinnabarGymEndBattleText7 call SaveEndBattleTextPointers jp CinnabarGymScript_758b7 -.asm_d87be - ld hl, CinnabarGymText_75aa7 +.afterBeat + ld hl, CinnabarGymAfterBattleText7 call PrintText jp TextScriptEnd -CinnabarGymText_75a9d: - text_far _CinnabarGymText_75a9d +CinnabarGymBattleText7: + text_far _CinnabarGymBattleText7 text_end -CinnabarGymText_75aa2: - text_far _CinnabarGymText_75aa2 +CinnabarGymEndBattleText7: + text_far _CinnabarGymEndBattleText7 text_end -CinnabarGymText_75aa7: - text_far _CinnabarGymText_75aa7 +CinnabarGymAfterBattleText7: + text_far _CinnabarGymAfterBattleText7 text_end -CinnabarGymText9: +CinnabarGymGuideText: text_asm CheckEvent EVENT_BEAT_BLAINE - jr nz, .asm_627d9 - ld hl, CinnabarGymText_75ac2 - jr .asm_0b11d -.asm_627d9 - ld hl, CinnabarGymText_75ac7 -.asm_0b11d + jr nz, .afterBeat + ld hl, CinnabarGymGuidePreBattleText + jr .done +.afterBeat + ld hl, CinnabarGymGuidePostBattleText +.done call PrintText jp TextScriptEnd -CinnabarGymText_75ac2: - text_far _CinnabarGymText_75ac2 +CinnabarGymGuidePreBattleText: + text_far _CinnabarGymGuidePreBattleText text_end -CinnabarGymText_75ac7: - text_far _CinnabarGymText_75ac7 +CinnabarGymGuidePostBattleText: + text_far _CinnabarGymGuidePostBattleText text_end diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm index 9216ab08..8dc93d22 100644 --- a/scripts/FuchsiaGym.asm +++ b/scripts/FuchsiaGym.asm @@ -24,7 +24,7 @@ FuchsiaGym_Script: .LeaderName: db "KOGA@" -FuchsiaGymScript_75477: +FuchsiaGymResetScripts: xor a ld [wJoyIgnore], a ld [wFuchsiaGymCurScript], a @@ -35,15 +35,16 @@ FuchsiaGym_ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle - dw FuchsiaGymScript3 + dw FuchsiaGymKogaPostBattle -FuchsiaGymScript3: +FuchsiaGymKogaPostBattle: ld a, [wIsInBattle] cp $ff - jp z, FuchsiaGymScript_75477 + jp z, FuchsiaGymResetScripts ld a, $f0 ld [wJoyIgnore], a -FuchsiaGymScript3_75497: +; fallthrough +FuchsiaGymReceiveTM06: ld a, $9 ldh [hSpriteIndexOrTextID], a call DisplayTextID @@ -69,20 +70,20 @@ FuchsiaGymScript3_75497: ; deactivate gym trainers SetEventRange EVENT_BEAT_FUCHSIA_GYM_TRAINER_0, EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 - jp FuchsiaGymScript_75477 + jp FuchsiaGymResetScripts FuchsiaGym_TextPointers: - dw FuchsiaGymText1 - dw FuchsiaGymText2 - dw FuchsiaGymText3 - dw FuchsiaGymText4 - dw FuchsiaGymText5 - dw FuchsiaGymText6 - dw FuchsiaGymText7 - dw FuchsiaGymText8 - dw FuchsiaGymText9 - dw FuchsiaGymText10 - dw FuchsiaGymText11 + dw KogaText + dw FuchsiaGymTrainerText1 + dw FuchsiaGymTrainerText2 + dw FuchsiaGymTrainerText3 + dw FuchsiaGymTrainerText4 + dw FuchsiaGymTrainerText5 + dw FuchsiaGymTrainerText6 + dw FuchsiaGymGuideText + dw KogaSoulBadgeInfoText + dw ReceivedTM06Text + dw TM06NoRoomText FuchsiaGymTrainerHeaders: def_trainers 2 @@ -100,27 +101,27 @@ FuchsiaGymTrainerHeader5: trainer EVENT_BEAT_FUCHSIA_GYM_TRAINER_5, 2, FuchsiaGymBattleText6, FuchsiaGymEndBattleText6, FuchsiaGymAfterBattleText6 db -1 ; end -FuchsiaGymText1: +KogaText: text_asm CheckEvent EVENT_BEAT_KOGA - jr z, .beginBattle + jr z, .beforeBeat CheckEventReuseA EVENT_GOT_TM06 - jr nz, .afterVictory - call z, FuchsiaGymScript3_75497 + jr nz, .afterBeat + call z, FuchsiaGymReceiveTM06 call DisableWaitingAfterTextDisplay jr .done -.afterVictory - ld hl, KogaExplainToxicText +.afterBeat + ld hl, KogaPostBattleAdviceText call PrintText jr .done -.beginBattle +.beforeBeat ld hl, KogaBeforeBattleText call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, KogaAfterBattleText - ld de, KogaAfterBattleText + ld hl, ReceivedSoulBadgeText + ld de, ReceivedSoulBadgeText call SaveEndBattleTextPointers ldh a, [hSpriteIndex] ld [wSpriteIndex], a @@ -139,19 +140,19 @@ KogaBeforeBattleText: text_far _KogaBeforeBattleText text_end -KogaAfterBattleText: - text_far _KogaAfterBattleText +ReceivedSoulBadgeText: + text_far _ReceivedSoulBadgeText text_end -KogaExplainToxicText: - text_far _KogaExplainToxicText +KogaPostBattleAdviceText: + text_far _KogaPostBattleAdviceText text_end -FuchsiaGymText9: - text_far _FuchsiaGymText9 +KogaSoulBadgeInfoText: + text_far _KogaSoulBadgeInfoText text_end -FuchsiaGymText10: +ReceivedTM06Text: text_far _ReceivedTM06Text sound_get_key_item @@ -159,11 +160,11 @@ TM06ExplanationText: text_far _TM06ExplanationText text_end -FuchsiaGymText11: +TM06NoRoomText: text_far _TM06NoRoomText text_end -FuchsiaGymText2: +FuchsiaGymTrainerText1: text_asm ld hl, FuchsiaGymTrainerHeader0 call TalkToTrainer @@ -181,7 +182,7 @@ FuchsiaGymAfterBattleText1: text_far _FuchsiaGymAfterBattleText1 text_end -FuchsiaGymText3: +FuchsiaGymTrainerText2: text_asm ld hl, FuchsiaGymTrainerHeader1 call TalkToTrainer @@ -199,7 +200,7 @@ FuchsiaGymAfterBattleText2: text_far _FuchsiaGymAfterBattleText2 text_end -FuchsiaGymText4: +FuchsiaGymTrainerText3: text_asm ld hl, FuchsiaGymTrainerHeader2 call TalkToTrainer @@ -217,7 +218,7 @@ FuchsiaGymAfterBattleText3: text_far _FuchsiaGymAfterBattleText3 text_end -FuchsiaGymText5: +FuchsiaGymTrainerText4: text_asm ld hl, FuchsiaGymTrainerHeader3 call TalkToTrainer @@ -235,7 +236,7 @@ FuchsiaGymAfterBattleText4: text_far _FuchsiaGymAfterBattleText4 text_end -FuchsiaGymText6: +FuchsiaGymTrainerText5: text_asm ld hl, FuchsiaGymTrainerHeader4 call TalkToTrainer @@ -253,7 +254,7 @@ FuchsiaGymAfterBattleText5: text_far _FuchsiaGymAfterBattleText5 text_end -FuchsiaGymText7: +FuchsiaGymTrainerText6: text_asm ld hl, FuchsiaGymTrainerHeader5 call TalkToTrainer @@ -271,20 +272,20 @@ FuchsiaGymAfterBattleText6: text_far _FuchsiaGymAfterBattleText6 text_end -FuchsiaGymText8: +FuchsiaGymGuideText: text_asm CheckEvent EVENT_BEAT_KOGA - ld hl, FuchsiaGymText_75653 - jr nz, .asm_50671 - ld hl, FuchsiaGymText_7564e -.asm_50671 + ld hl, FuchsiaGymGuidePostBattleText + jr nz, .afterBeat + ld hl, FuchsiaGymGuidePreBattleText +.afterBeat call PrintText jp TextScriptEnd -FuchsiaGymText_7564e: - text_far _FuchsiaGymText_7564e +FuchsiaGymGuidePreBattleText: + text_far _FuchsiaGymGuidePreBattleText text_end -FuchsiaGymText_75653: - text_far _FuchsiaGymText_75653 +FuchsiaGymGuidePostBattleText: + text_far _FuchsiaGymGuidePostBattleText text_end diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index f65d5506..798285d3 100644 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -22,7 +22,7 @@ PewterGym_Script: .LeaderName: db "BROCK@" -PewterGymScript_5c3bf: +PewterGymResetScripts: xor a ld [wJoyIgnore], a ld [wPewterGymCurScript], a @@ -33,15 +33,16 @@ PewterGym_ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle - dw PewterGymScript3 + dw PewterGymBrockPostBattle -PewterGymScript3: +PewterGymBrockPostBattle: ld a, [wIsInBattle] cp $ff - jp z, PewterGymScript_5c3bf + jp z, PewterGymResetScripts ld a, $f0 ld [wJoyIgnore], a -PewterGymScript_5c3df: +; fallthrough +PewterGymScriptReceiveTM34: ld a, $4 ldh [hSpriteIndexOrTextID], a call DisplayTextID @@ -76,15 +77,15 @@ PewterGymScript_5c3df: ; deactivate gym trainers SetEvent EVENT_BEAT_PEWTER_GYM_TRAINER_0 - jp PewterGymScript_5c3bf + jp PewterGymResetScripts PewterGym_TextPointers: - dw PewterGymText1 - dw PewterGymText2 - dw PewterGymText3 - dw PewterGymText4 - dw PewterGymText5 - dw PewterGymText6 + dw BrockText + dw PewterGymTrainerText1 + dw PewterGymGuideText + dw BeforeReceivedTM34Text + dw ReceivedTM34Text + dw TM34NoRoomText PewterGymTrainerHeaders: def_trainers 2 @@ -92,27 +93,27 @@ PewterGymTrainerHeader0: trainer EVENT_BEAT_PEWTER_GYM_TRAINER_0, 5, PewterGymBattleText1, PewterGymEndBattleText1, PewterGymAfterBattleText1 db -1 ; end -PewterGymText1: +BrockText: text_asm CheckEvent EVENT_BEAT_BROCK - jr z, .beginBattle + jr z, .beforeBeat CheckEventReuseA EVENT_GOT_TM34 - jr nz, .gymVictory - call z, PewterGymScript_5c3df + jr nz, .afterBeat + call z, PewterGymScriptReceiveTM34 call DisableWaitingAfterTextDisplay jr .done -.gymVictory - ld hl, PewterGymText_5c4a3 +.afterBeat + ld hl, BrockPostBattleAdviceText call PrintText jr .done -.beginBattle - ld hl, PewterGymText_5c49e +.beforeBeat + ld hl, BrockPreBattleText call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, PewterGymText_5c4bc - ld de, PewterGymText_5c4bc + ld hl, ReceivedBoulderBadgeText + ld de, ReceivedBoulderBadgeText call SaveEndBattleTextPointers ldh a, [hSpriteIndex] ld [wSpriteIndex], a @@ -128,35 +129,35 @@ PewterGymText1: .done jp TextScriptEnd -PewterGymText_5c49e: - text_far _PewterGymText_5c49e +BrockPreBattleText: + text_far _BrockPreBattleText text_end -PewterGymText_5c4a3: - text_far _PewterGymText_5c4a3 +BrockPostBattleAdviceText: + text_far _BrockPostBattleAdviceText text_end -PewterGymText4: - text_far _TM34PreReceiveText +BeforeReceivedTM34Text: + text_far _BeforeReceivedTM34Text text_end -PewterGymText5: +ReceivedTM34Text: text_far _ReceivedTM34Text sound_get_item_1 text_far _TM34ExplanationText text_end -PewterGymText6: +TM34NoRoomText: text_far _TM34NoRoomText text_end -PewterGymText_5c4bc: - text_far _PewterGymText_5c4bc +ReceivedBoulderBadgeText: + text_far _ReceivedBoulderBadgeText sound_level_up ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded - text_far _PewterGymText_5c4c1 + text_far _BrockBoulerBadgeInfoText ; Text to tell that the flash technique can be used text_end -PewterGymText2: +PewterGymTrainerText1: text_asm ld hl, PewterGymTrainerHeader0 call TalkToTrainer @@ -174,49 +175,49 @@ PewterGymAfterBattleText1: text_far _PewterGymAfterBattleText1 text_end -PewterGymText3: +PewterGymGuideText: text_asm ld a, [wBeatGymFlags] bit BIT_BOULDERBADGE, a - jr nz, .asm_5c50c - ld hl, PewterGymText_5c515 + jr nz, .afterBeat + ld hl, PewterGymGuidePreAdviceText call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_5c4fe - ld hl, PewterGymText_5c51a + jr nz, .PewterGymGuideBeginAdviceText + ld hl, PewterGymGuideBeginAdviceText call PrintText - jr .asm_5c504 -.asm_5c4fe + jr .PewterGymGuideAdviceText +.PewterGymGuideBeginAdviceText ld hl, PewterGymText_5c524 call PrintText -.asm_5c504 - ld hl, PewterGymText_5c51f +.PewterGymGuideAdviceText + ld hl, PewterGymGuideAdviceText call PrintText - jr .asm_5c512 -.asm_5c50c - ld hl, PewterGymText_5c529 + jr .done +.afterBeat + ld hl, PewterGymGuidePostBattleText call PrintText -.asm_5c512 +.done jp TextScriptEnd -PewterGymText_5c515: - text_far _PewterGymText_5c515 +PewterGymGuidePreAdviceText: + text_far _PewterGymGuidePreAdviceText text_end -PewterGymText_5c51a: - text_far _PewterGymText_5c51a +PewterGymGuideBeginAdviceText: + text_far _PewterGymGuideBeginAdviceText text_end -PewterGymText_5c51f: - text_far _PewterGymText_5c51f +PewterGymGuideAdviceText: + text_far _PewterGymGuideAdviceText text_end PewterGymText_5c524: text_far _PewterGymText_5c524 text_end -PewterGymText_5c529: - text_far _PewterGymText_5c529 +PewterGymGuidePostBattleText: + text_far _PewterGymGuidePostBattleText text_end diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index a55c58ff..23b2dd85 100644 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -22,7 +22,7 @@ SaffronGym_Script: .LeaderName: db "SABRINA@" -SaffronGymText_5d048: +SaffronGymResetScripts: xor a ld [wJoyIgnore], a ld [wSaffronGymCurScript], a @@ -33,16 +33,16 @@ SaffronGym_ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle - dw SaffronGymScript3 + dw SaffronGymSabrinaPostBattle -SaffronGymScript3: +SaffronGymSabrinaPostBattle: ld a, [wIsInBattle] cp $ff - jp z, SaffronGymText_5d048 + jp z, SaffronGymResetScripts ld a, $f0 ld [wJoyIgnore], a -SaffronGymText_5d068: +SaffronGymReceiveTM46: ld a, $a ldh [hSpriteIndexOrTextID], a call DisplayTextID @@ -68,21 +68,21 @@ SaffronGymText_5d068: ; deactivate gym trainers SetEventRange EVENT_BEAT_SAFFRON_GYM_TRAINER_0, EVENT_BEAT_SAFFRON_GYM_TRAINER_6 - jp SaffronGymText_5d048 + jp SaffronGymResetScripts SaffronGym_TextPointers: - dw SaffronGymText1 - dw SaffronGymText2 - dw SaffronGymText3 - dw SaffronGymText4 - dw SaffronGymText5 - dw SaffronGymText6 - dw SaffronGymText7 - dw SaffronGymText8 - dw SaffronGymText9 - dw SaffronGymText10 - dw SaffronGymText11 - dw SaffronGymText12 + dw SabrinaText + dw SaffronGymTrainerText1 + dw SaffronGymTrainerText2 + dw SaffronGymTrainerText3 + dw SaffronGymTrainerText4 + dw SaffronGymTrainerText5 + dw SaffronGymTrainerText6 + dw SaffronGymTrainerText7 + dw SaffronGymGuideText + dw KogaMarshBadgeInfoText + dw ReceivedTM46Text + dw TM46NoRoomText SaffronGymTrainerHeaders: def_trainers 2 @@ -102,27 +102,27 @@ SaffronGymTrainerHeader6: trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 3, SaffronGymBattleText7, SaffronGymEndBattleText7, SaffronGymAfterBattleText7 db -1 ; end -SaffronGymText1: +SabrinaText: text_asm CheckEvent EVENT_BEAT_SABRINA - jr z, .beginBattle + jr z, .beforeBeat CheckEventReuseA EVENT_GOT_TM46 - jr nz, .afterVictory - call z, SaffronGymText_5d068 + jr nz, .afterBeat + call z, SaffronGymReceiveTM46 call DisableWaitingAfterTextDisplay jr .done -.afterVictory - ld hl, SaffronGymText_5d16e +.afterBeat + ld hl, SabrinaPostBattleAdviceText call PrintText jr .done -.beginBattle - ld hl, SaffronGymText_5d162 +.beforeBeat + ld hl, SabrinaPreBattleText call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, SaffronGymText_5d167 - ld de, SaffronGymText_5d167 + ld hl, ReceivedMarshBadgeText + ld de, ReceivedMarshBadgeText call SaveEndBattleTextPointers ldh a, [hSpriteIndex] ld [wSpriteIndex], a @@ -135,95 +135,95 @@ SaffronGymText1: .done jp TextScriptEnd -SaffronGymText_5d162: - text_far _SaffronGymText_5d162 +SabrinaPreBattleText: + text_far _SabrinaPreBattleText text_end -SaffronGymText_5d167: - text_far _SaffronGymText_5d167 +ReceivedMarshBadgeText: + text_far _ReceivedMarshBadgeText sound_get_key_item ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded text_promptbutton text_end -SaffronGymText_5d16e: - text_far _SaffronGymText_5d16e +SabrinaPostBattleAdviceText: + text_far _SabrinaPostBattleAdviceText text_end -SaffronGymText10: - text_far _SaffronGymText_5d173 +KogaMarshBadgeInfoText: + text_far _KogaMarshBadgeInfoText text_end -SaffronGymText11: - text_far ReceivedTM46Text +ReceivedTM46Text: + text_far _ReceivedTM46Text sound_get_item_1 text_far _TM46ExplanationText text_end -SaffronGymText12: +TM46NoRoomText: text_far _TM46NoRoomText text_end -SaffronGymText2: +SaffronGymTrainerText1: text_asm ld hl, SaffronGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd -SaffronGymText3: +SaffronGymTrainerText2: text_asm ld hl, SaffronGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd -SaffronGymText4: +SaffronGymTrainerText3: text_asm ld hl, SaffronGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd -SaffronGymText5: +SaffronGymTrainerText4: text_asm ld hl, SaffronGymTrainerHeader3 call TalkToTrainer jp TextScriptEnd -SaffronGymText6: +SaffronGymTrainerText5: text_asm ld hl, SaffronGymTrainerHeader4 call TalkToTrainer jp TextScriptEnd -SaffronGymText7: +SaffronGymTrainerText6: text_asm ld hl, SaffronGymTrainerHeader5 call TalkToTrainer jp TextScriptEnd -SaffronGymText8: +SaffronGymTrainerText7: text_asm ld hl, SaffronGymTrainerHeader6 call TalkToTrainer jp TextScriptEnd -SaffronGymText9: +SaffronGymGuideText: text_asm CheckEvent EVENT_BEAT_SABRINA - jr nz, .asm_5d1dd - ld hl, SaffronGymText_5d1e6 + jr nz, .afterBeat + ld hl, SaffronGymGuidePreBattleText call PrintText - jr .asm_5d1e3 -.asm_5d1dd - ld hl, SaffronGymText_5d1eb + jr .done +.afterBeat + ld hl, SaffronGymGuidePostBattleText call PrintText -.asm_5d1e3 +.done jp TextScriptEnd -SaffronGymText_5d1e6: - text_far _SaffronGymText_5d1e6 +SaffronGymGuidePreBattleText: + text_far _SaffronGymGuidePreBattleText text_end -SaffronGymText_5d1eb: - text_far _SaffronGymText_5d1eb +SaffronGymGuidePostBattleText: + text_far _SaffronGymGuidePostBattleText text_end SaffronGymBattleText1: diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm index 3673f9b9..3bbb8743 100644 --- a/scripts/VermilionGym.asm +++ b/scripts/VermilionGym.asm @@ -94,8 +94,8 @@ VermilionGym_TextPointers: dw VermilionGymTrainerText1 dw VermilionGymTrainerText2 dw VermilionGymTrainerText3 - dw VermilionGymFanText - dw LTSurgeThunderbadgeInfoText + dw VermilionGymGuideText + dw LTSurgeThunderBadgeInfoText dw ReceivedTM24Text dw TM24NoRoomText @@ -128,8 +128,8 @@ LTSurgeText: ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, ReceivedThunderbadgeText - ld de, ReceivedThunderbadgeText + ld hl, ReceivedThunderBadgeText + ld de, ReceivedThunderBadgeText call SaveEndBattleTextPointers ldh a, [hSpriteIndex] ld [wSpriteIndex], a @@ -153,8 +153,8 @@ LTSurgePostBattleAdviceText: text_far _LTSurgePostBattleAdviceText text_end -LTSurgeThunderbadgeInfoText: - text_far _LTSurgeThunderbadgeInfoText +LTSurgeThunderBadgeInfoText: + text_far _LTSurgeThunderBadgeInfoText text_end ReceivedTM24Text: @@ -167,8 +167,8 @@ TM24NoRoomText: text_far _TM24NoRoomText text_end -ReceivedThunderbadgeText: - text_far _ReceivedThunderbadgeText +ReceivedThunderBadgeText: + text_far _ReceivedThunderBadgeText text_end VermilionGymTrainerText1: @@ -225,24 +225,24 @@ VermilionGymAfterBattleText3: text_far _VermilionGymAfterBattleText3 text_end -VermilionGymFanText: +VermilionGymGuideText: text_asm ld a, [wBeatGymFlags] bit BIT_THUNDERBADGE, a jr nz, .afterBeat - ld hl, VermilionGymFanPreBattleText + ld hl, VermilionGymGuidePreBattleText call PrintText jr .done .afterBeat - ld hl, VermilionGymFanPostBattleText + ld hl, VermilionGymGuidePostBattleText call PrintText .done jp TextScriptEnd -VermilionGymFanPreBattleText: - text_far _VermilionGymFanPreBattleText +VermilionGymGuidePreBattleText: + text_far _VermilionGymGuidePreBattleText text_end -VermilionGymFanPostBattleText: - text_far _VermilionGymFanPostBattleText +VermilionGymGuidePostBattleText: + text_far _VermilionGymGuidePostBattleText text_end diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index b7b4a34d..0b90383c 100644 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -16,7 +16,7 @@ ViridianGym_Script: .LeaderName: db "GIOVANNI@" -ViridianGymScript_748d6: +ViridianGymResetScripts: xor a ld [wJoyIgnore], a ld [wViridianGymCurScript], a @@ -27,7 +27,7 @@ ViridianGym_ScriptPointers: dw ViridianGymScript0 dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle - dw ViridianGymScript3 + dw ViridianGymGiovanniPostBattle dw ViridianGymScript4 ViridianGymScript0: @@ -116,7 +116,7 @@ ViridianGymArrowMovement12: ViridianGymScript4: ld a, [wSimulatedJoypadStatesIndex] and a - jr nz, .asm_74980 + jr nz, .ViridianGymLoadSpinnerArrow xor a ld [wJoyIgnore], a ld hl, wd736 @@ -124,16 +124,17 @@ ViridianGymScript4: ld a, $0 ld [wCurMapScript], a ret -.asm_74980 +.ViridianGymLoadSpinnerArrow farjp LoadSpinnerArrowTiles -ViridianGymScript3: +ViridianGymGiovanniPostBattle: ld a, [wIsInBattle] cp $ff - jp z, ViridianGymScript_748d6 + jp z, ViridianGymResetScripts ld a, $f0 ld [wJoyIgnore], a -ViridianGymScript3_74995: +; fallthrough +ViridianGymReceiveTM27: ld a, $c ldh [hSpriteIndexOrTextID], a call DisplayTextID @@ -163,23 +164,23 @@ ViridianGymScript3_74995: ld [wMissableObjectIndex], a predef ShowObject SetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE - jp ViridianGymScript_748d6 + jp ViridianGymResetScripts ViridianGym_TextPointers: - dw ViridianGymText1 - dw ViridianGymText2 - dw ViridianGymText3 - dw ViridianGymText4 - dw ViridianGymText5 - dw ViridianGymText6 - dw ViridianGymText7 - dw ViridianGymText8 - dw ViridianGymText9 - dw ViridianGymText10 + dw GiovanniText + dw ViridianGymTrainerText1 + dw ViridianGymTrainerText2 + dw ViridianGymTrainerText3 + dw ViridianGymTrainerText4 + dw ViridianGymTrainerText5 + dw ViridianGymTrainerText6 + dw ViridianGymTrainerText7 + dw ViridianGymTrainerText8 + dw ViridianGymGuideText dw PickUpItemText - dw ViridianGymText12 - dw ViridianGymText13 - dw ViridianGymText14 + dw GiovanniEarthBadgeInfoText + dw ReceivedTM27Text + dw TM27NoRoomText ViridianGymTrainerHeaders: def_trainers 2 @@ -201,19 +202,19 @@ ViridianGymTrainerHeader7: trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 4, ViridianGymBattleText8, ViridianGymEndBattleText8, ViridianGymAfterBattleText8 db -1 ; end -ViridianGymText1: +GiovanniText: text_asm CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI - jr z, .beginBattle + jr z, .beforeBeat CheckEventReuseA EVENT_GOT_TM27 - jr nz, .afterVictory - call z, ViridianGymScript3_74995 + jr nz, .afterBeat + call z, ViridianGymReceiveTM27 call DisableWaitingAfterTextDisplay jr .done -.afterVictory +.afterBeat ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, ViridianGymText_74ad9 + ld hl, GiovanniPostBattleAdviceText call PrintText call GBFadeOutToBlack ld a, HS_VIRIDIAN_GYM_GIOVANNI @@ -223,14 +224,14 @@ ViridianGymText1: call Delay3 call GBFadeInFromBlack jr .done -.beginBattle - ld hl, ViridianGymText_74ace +.beforeBeat + ld hl, GiovanniPreBattleText call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, ViridianGymText_74ad3 - ld de, ViridianGymText_74ad3 + ld hl, ReceivedEarthBadgeText + ld de, ReceivedEarthBadgeText call SaveEndBattleTextPointers ldh a, [hSpriteIndex] ld [wSpriteIndex], a @@ -243,25 +244,25 @@ ViridianGymText1: .done jp TextScriptEnd -ViridianGymText_74ace: - text_far _ViridianGymText_74ace +GiovanniPreBattleText: + text_far _GiovanniPreBattleText text_end -ViridianGymText_74ad3: - text_far _ViridianGymText_74ad3 +ReceivedEarthBadgeText: + text_far _ReceivedEarthBadgeText sound_level_up ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded text_end -ViridianGymText_74ad9: - text_far _ViridianGymText_74ad9 +GiovanniPostBattleAdviceText: + text_far _GiovanniPostBattleAdviceText text_waitbutton text_end -ViridianGymText12: - text_far _ViridianGymText12 +GiovanniEarthBadgeInfoText: + text_far _GiovanniEarthBadgeInfoText text_end -ViridianGymText13: +ReceivedTM27Text: text_far _ReceivedTM27Text sound_get_item_1 @@ -269,11 +270,11 @@ TM27ExplanationText: text_far _TM27ExplanationText text_end -ViridianGymText14: +TM27NoRoomText: text_far _TM27NoRoomText text_end -ViridianGymText2: +ViridianGymTrainerText1: text_asm ld hl, ViridianGymTrainerHeader0 call TalkToTrainer @@ -291,7 +292,7 @@ ViridianGymAfterBattleText1: text_far _ViridianGymAfterBattleText1 text_end -ViridianGymText3: +ViridianGymTrainerText2: text_asm ld hl, ViridianGymTrainerHeader1 call TalkToTrainer @@ -309,7 +310,7 @@ ViridianGymAfterBattleText2: text_far _ViridianGymAfterBattleText2 text_end -ViridianGymText4: +ViridianGymTrainerText3: text_asm ld hl, ViridianGymTrainerHeader2 call TalkToTrainer @@ -327,7 +328,7 @@ ViridianGymAfterBattleText3: text_far _ViridianGymAfterBattleText3 text_end -ViridianGymText5: +ViridianGymTrainerText4: text_asm ld hl, ViridianGymTrainerHeader3 call TalkToTrainer @@ -345,7 +346,7 @@ ViridianGymAfterBattleText4: text_far _ViridianGymAfterBattleText4 text_end -ViridianGymText6: +ViridianGymTrainerText5: text_asm ld hl, ViridianGymTrainerHeader4 call TalkToTrainer @@ -363,7 +364,7 @@ ViridianGymAfterBattleText5: text_far _ViridianGymAfterBattleText5 text_end -ViridianGymText7: +ViridianGymTrainerText6: text_asm ld hl, ViridianGymTrainerHeader5 call TalkToTrainer @@ -381,7 +382,7 @@ ViridianGymAfterBattleText6: text_far _ViridianGymAfterBattleText6 text_end -ViridianGymText8: +ViridianGymTrainerText7: text_asm ld hl, ViridianGymTrainerHeader6 call TalkToTrainer @@ -399,7 +400,7 @@ ViridianGymAfterBattleText7: text_far _ViridianGymAfterBattleText7 text_end -ViridianGymText9: +ViridianGymTrainerText8: text_asm ld hl, ViridianGymTrainerHeader7 call TalkToTrainer @@ -417,23 +418,23 @@ ViridianGymAfterBattleText8: text_far _ViridianGymAfterBattleText8 text_end -ViridianGymText10: +ViridianGymGuideText: text_asm CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI - jr nz, .asm_1abd1 - ld hl, ViridianGymText_74bd4 + jr nz, .afterBeat + ld hl, ViridianGymGuidePreBattleText call PrintText - jr .asm_6064d -.asm_1abd1 - ld hl, ViridianGymText_74bd9 + jr .done +.afterBeat + ld hl, ViridianGymGuidePostBattleText call PrintText -.asm_6064d +.done jp TextScriptEnd -ViridianGymText_74bd4: - text_far _ViridianGymText_74bd4 +ViridianGymGuidePreBattleText: + text_far _ViridianGymGuidePreBattleText text_end -ViridianGymText_74bd9: - text_far _ViridianGymText_74bd9 +ViridianGymGuidePostBattleText: + text_far _ViridianGymGuidePostBattleText text_end diff --git a/text/CeladonGym.asm b/text/CeladonGym.asm index 5d354bbb..2ea0dc44 100644 --- a/text/CeladonGym.asm +++ b/text/CeladonGym.asm @@ -1,4 +1,4 @@ -_CeladonGymText_48a5e:: +_ErikaPreBattleText:: text "Hello. Lovely" line "weather isn't it?" cont "It's so pleasant." @@ -25,7 +25,7 @@ _CeladonGymText_48a5e:: line "shall not lose." done -_CeladonGymText_48a63:: +_ReceivedRainbowBadgeText:: text "Oh!" line "I concede defeat." @@ -36,7 +36,7 @@ _CeladonGymText_48a63:: line "the RAINBOWBADGE." prompt -_CeladonGymText_48a68:: +_ErikaPostBattleAdviceText:: text "You are cataloging" line "#MON? I must" cont "say I'm impressed." @@ -47,7 +47,7 @@ _CeladonGymText_48a68:: cont "unattractive." done -_CeladonGymText9:: +_ErikaRainbowBadgeInfoText:: text "The RAINBOWBADGE" line "will make #MON" cont "up to L50 obey." diff --git a/text/CeruleanGym.asm b/text/CeruleanGym.asm index d302ec3a..2c90ed15 100644 --- a/text/CeruleanGym.asm +++ b/text/CeruleanGym.asm @@ -1,4 +1,4 @@ -_CeruleanGymText_5c7be:: +_MistyPreBattleText:: text "Hi, you're a new" line "face!" @@ -17,7 +17,7 @@ _CeruleanGymText_5c7be:: cont "#MON!" done -_CeruleanGymText_5c7c3:: +_TM11ExplanationText:: text "TM11 teaches" line "BUBBLEBEAM!" @@ -25,7 +25,7 @@ _CeruleanGymText_5c7c3:: line "aquatic #MON!" done -_CeruleanGymText_5c7c8:: +_MistyCascadeBadgeInfoText:: text "The CASCADEBADGE" line "makes all #MON" cont "up to L30 obey!" @@ -50,12 +50,12 @@ _ReceivedTM11Text:: line "TM11!@" text_end -_CeruleanGymText_5c7d3:: +_TM11NoRoomText:: text "You better make" line "room for this!" done -_CeruleanGymText_5c7d8:: +_ReceivedCascadeBadgeText:: text "Wow!" line "You're too much!" @@ -105,7 +105,7 @@ _CeruleanGymAfterBattleText2:: line "someone like you!" done -_CeruleanGymText_5c82a:: +_CeruleanGymGuidePreBattleText:: text "Yo! Champ in" line "making!" @@ -123,7 +123,7 @@ _CeruleanGymText_5c82a:: line "electricity!" done -_CeruleanGymText_5c82f:: +_CeruleanGymGuidePostBattleText:: text "You beat MISTY!" line "What'd I tell ya?" diff --git a/text/CinnabarGym.asm b/text/CinnabarGym.asm index bf6cc0fb..00fa7084 100644 --- a/text/CinnabarGym.asm +++ b/text/CinnabarGym.asm @@ -1,4 +1,4 @@ -_BlaineBattleText:: +_BlainePreBattleText:: text "Hah!" para "I am BLAINE! I" @@ -13,7 +13,7 @@ _BlaineBattleText:: line "have BURN HEAL!" done -_BlaineEndBattleText:: +_ReceivedVolcanoBadgeText:: text "I have" line "burnt out!" @@ -21,7 +21,7 @@ _BlaineEndBattleText:: line "the VOLCANOBADGE!@" text_end -_BlaineFireBlastText:: +_BlainePostBattleAdviceText:: text "FIRE BLAST is the" line "ultimate fire" cont "technique!" @@ -30,7 +30,7 @@ _BlaineFireBlastText:: line "water #MON!" done -_BlaineBadgeText:: +_BlaineVolcanoBadgeInfoText:: text "Hah!" para "The VOLCANOBADGE" @@ -68,18 +68,18 @@ _TM38NoRoomText:: line "gift!" done -_CinnabarGymText_7595f:: +_CinnabarGymBattleText2:: text "Do you know how" line "hot #MON fire" cont "breath can get?" done -_CinnabarGymText_75964:: +_CinnabarGymEndBattleText2:: text "Yow!" line "Hot, hot, hot!" prompt -_CinnabarGymText_75969:: +_CinnabarGymAfterBattleText2:: text "Fire, or to be" line "more precise," cont "combustion..." @@ -88,66 +88,66 @@ _CinnabarGymText_75969:: line "blah..." done -_CinnabarGymText_75994:: +_CinnabarGymBattleText1:: text "I was a thief, but" line "I became straight" cont "as a trainer!" done -_CinnabarGymText_75999:: +_CinnabarGymEndBattleText1:: text "I" line "surrender!" prompt -_CinnabarGymText_7599e:: +_CinnabarGymAfterBattleText1:: text "I can't help" line "stealing other" cont "people's #MON!" done -_CinnabarGymText_759c9:: +_CinnabarGymBattleText3:: text "You can't win!" line "I have studied" cont "#MON totally!" done -_CinnabarGymText_759ce:: +_CinnabarGymEndBattleText3:: text "Waah!" line "My studies!" prompt -_CinnabarGymText_759d3:: +_CinnabarGymAfterBattleText3:: text "My theories are" line "too complicated" cont "for you!" done -_CinnabarGymText_759fe:: +_CinnabarGymBattleText4:: text "I just like using" line "fire #MON!" done -_CinnabarGymText_75a03:: +_CinnabarGymEndBattleText4:: text "Too hot" line "to handle!" prompt -_CinnabarGymText_75a08:: +_CinnabarGymAfterBattleText4:: text "I wish there was" line "a thief #MON!" cont "I'd use that!" done -_CinnabarGymText_75a33:: +_CinnabarGymBattleText5:: text "I know why BLAINE" line "became a trainer!" done -_CinnabarGymText_75a38:: +_CinnabarGymEndBattleText5:: text "Ow!" prompt -_CinnabarGymText_75a3d:: +_CinnabarGymAfterBattleText5:: text "BLAINE was lost" line "in the mountains" cont "when a fiery bird" @@ -158,40 +158,40 @@ _CinnabarGymText_75a3d:: cont "his way down!" done -_CinnabarGymText_75a68:: +_CinnabarGymBattleText6:: text "I've been to many" line "GYMs, but this is" cont "my favorite!" done -_CinnabarGymText_75a6d:: +_CinnabarGymEndBattleText6:: text "Yowza!" line "Too hot!" prompt -_CinnabarGymText_75a72:: +_CinnabarGymAfterBattleText6:: text "Us fire #MON" line "fans like PONYTA" cont "and NINETALES!" done -_CinnabarGymText_75a9d:: +_CinnabarGymBattleText7:: text "Fire is weak" line "against H2O!" done -_CinnabarGymText_75aa2:: +_CinnabarGymEndBattleText7:: text "Oh!" line "Snuffed out!" prompt -_CinnabarGymText_75aa7:: +_CinnabarGymAfterBattleText7:: text "Water beats fire!" line "But, fire melts" cont "ice #MON!" done -_CinnabarGymText_75ac2:: +_CinnabarGymGuidePreBattleText:: text "Yo! Champ in" line "making!" @@ -206,7 +206,7 @@ _CinnabarGymText_75ac2:: line "some BURN HEALs!" done -_CinnabarGymText_75ac7:: +_CinnabarGymGuidePostBattleText:: text "! You beat" line "that fire brand!" done diff --git a/text/FuchsiaGym.asm b/text/FuchsiaGym.asm index 9108fc79..3b2c01e9 100644 --- a/text/FuchsiaGym.asm +++ b/text/FuchsiaGym.asm @@ -16,7 +16,7 @@ _KogaBeforeBattleText:: cont "techniques!" done -_KogaAfterBattleText:: +_ReceivedSoulBadgeText:: text "Humph!" line "You have proven" cont "your worth!" diff --git a/text/FuchsiaGym_2.asm b/text/FuchsiaGym_2.asm index e8043e24..b6443a5a 100644 --- a/text/FuchsiaGym_2.asm +++ b/text/FuchsiaGym_2.asm @@ -1,4 +1,4 @@ -_KogaExplainToxicText:: +_KogaPostBattleAdviceText:: text "When afflicted by" line "TOXIC, #MON" cont "suffer more and" @@ -9,7 +9,7 @@ _KogaExplainToxicText:: line "terrorize foes!" done -_FuchsiaGymText9:: +_KogaSoulBadgeInfoText:: text "Now that you have" line "the SOULBADGE," cont "the DEFENSE of" @@ -170,7 +170,7 @@ _FuchsiaGymAfterBattleText6:: cont "choose?" done -_FuchsiaGymText_7564e:: +_FuchsiaGymGuidePreBattleText:: text "Yo! Champ in" line "making!" @@ -187,7 +187,7 @@ _FuchsiaGymText_7564e:: cont "to reach him!" done -_FuchsiaGymText_75653:: +_FuchsiaGymGuidePostBattleText:: text "It's amazing how" line "ninja can terrify" cont "even now!" diff --git a/text/PewterGym.asm b/text/PewterGym.asm index 6426dd72..9114ec7b 100644 --- a/text/PewterGym.asm +++ b/text/PewterGym.asm @@ -1,4 +1,4 @@ -_PewterGymText_5c49e:: +_BrockPreBattleText:: text "I'm BROCK!" line "I'm PEWTER's GYM" cont "LEADER!" diff --git a/text/PewterGym_2.asm b/text/PewterGym_2.asm index b3c079a4..2f651278 100644 --- a/text/PewterGym_2.asm +++ b/text/PewterGym_2.asm @@ -1,4 +1,4 @@ -_PewterGymText_5c4a3:: +_BrockPostBattleAdviceText:: text "There are all" line "kinds of trainers" cont "in the world!" @@ -12,7 +12,7 @@ _PewterGymText_5c4a3:: cont "your abilities!" done -_TM34PreReceiveText:: +_BeforeReceivedTM34Text:: text "Wait! Take this" line "with you!" done @@ -51,7 +51,7 @@ _TM34NoRoomText:: line "room for this!" done -_PewterGymText_5c4bc:: +_ReceivedBoulderBadgeText:: text "I took" line "you for granted." @@ -63,7 +63,7 @@ _PewterGymText_5c4bc:: line "the BOULDERBADGE!@" text_end -_PewterGymText_5c4c1:: +_BrockBoulerBadgeInfoText:: text_start para "That's an official" @@ -102,7 +102,7 @@ _PewterGymAfterBattleText1:: cont "as BROCK!" done -_PewterGymText_5c515:: +_PewterGymGuidePreAdviceText:: text "Hiya! I can tell" line "you have what it" cont "takes to become a" @@ -116,12 +116,12 @@ _PewterGymText_5c515:: line "to the top!" done -_PewterGymText_5c51a:: +_PewterGymGuideBeginAdviceText:: text "All right! Let's" line "get happening!" prompt -_PewterGymText_5c51f:: +_PewterGymGuideAdviceText:: text "The 1st #MON" line "out in a match is" cont "at the top of the" @@ -139,7 +139,7 @@ _PewterGymText_5c524:: cont "get happening!" prompt -_PewterGymText_5c529:: +_PewterGymGuidePostBattleText:: text "Just as I thought!" line "You're #MON" cont "champ material!" diff --git a/text/SaffronGym.asm b/text/SaffronGym.asm index ae8556c0..090b951a 100644 --- a/text/SaffronGym.asm +++ b/text/SaffronGym.asm @@ -1,4 +1,4 @@ -_SaffronGymText_5d162:: +_SabrinaPreBattleText:: text "I had a vision of" line "your arrival!" @@ -16,7 +16,7 @@ _SaffronGymText_5d162:: cont "you my powers!" done -_SaffronGymText_5d167:: +_ReceivedMarshBadgeText:: text "I'm" line "shocked!" cont "But, a loss is a" @@ -30,14 +30,14 @@ _SaffronGymText_5d167:: line "MARSHBADGE!@" text_end -_SaffronGymText_5d16e:: +_SabrinaPostBattleAdviceText:: text "Everyone has" line "psychic power!" cont "People just don't" cont "realize it!" done -_SaffronGymText_5d173:: +_KogaMarshBadgeInfoText:: text "The MARSHBADGE" line "makes #MON up" cont "to L70 obey you!" @@ -55,7 +55,7 @@ _SaffronGymText_5d173:: line "this TM with you!" done -ReceivedTM46Text:: +_ReceivedTM46Text:: text " received" line "TM46!@" text_end @@ -74,7 +74,7 @@ _TM46NoRoomText:: line "of other items!" done -_SaffronGymText_5d1e6:: +_SaffronGymGuidePreBattleText:: text "Yo! Champ in" line "making!" @@ -91,7 +91,7 @@ _SaffronGymText_5d1e6:: cont "even aim a punch!" done -_SaffronGymText_5d1eb:: +_SaffronGymGuidePostBattleText:: text "Psychic power," line "huh?" diff --git a/text/VermilionGym_2.asm b/text/VermilionGym_2.asm index bf50422d..02af599d 100644 --- a/text/VermilionGym_2.asm +++ b/text/VermilionGym_2.asm @@ -10,7 +10,7 @@ _LTSurgePostBattleAdviceText:: cont "type #MON!" done -_LTSurgeThunderbadgeInfoText:: +_LTSurgeThunderBadgeInfoText:: text "The THUNDERBADGE" line "cranks up your" cont "#MON's SPEED!" @@ -45,7 +45,7 @@ _TM24NoRoomText:: line "in your pack!" done -_ReceivedThunderbadgeText:: +_ReceivedThunderBadgeText:: text "Whoa!" para "You're the real" @@ -113,7 +113,7 @@ _VermilionGymAfterBattleText3:: cont "next to it!" done -_VermilionGymFanPreBattleText:: +_VermilionGymGuidePreBattleText:: text "Yo! Champ in" line "making!" @@ -139,7 +139,7 @@ _VermilionGymFanPreBattleText:: cont "get to him!" done -_VermilionGymFanPostBattleText:: +_VermilionGymGuidePostBattleText:: text "Whew! That match" line "was electric!" done diff --git a/text/ViridianGym.asm b/text/ViridianGym.asm index 2b1f67ae..feac7963 100644 --- a/text/ViridianGym.asm +++ b/text/ViridianGym.asm @@ -1,4 +1,4 @@ -_ViridianGymText_74ace:: +_GiovanniPreBattleText:: text "Fwahahaha! This is" line "my hideout!" @@ -18,7 +18,7 @@ _ViridianGymText_74ace:: cont "greatest trainer!" done -_ViridianGymText_74ad3:: +_ReceivedEarthBadgeText:: text "Ha!" line "That was a truly" cont "intense fight!" @@ -27,7 +27,7 @@ _ViridianGymText_74ad3:: cont "the EARTHBADGE!@" text_end -_ViridianGymText_74ad9:: +_GiovanniPostBattleAdviceText:: text "Having lost, I" line "cannot face my" cont "underlings!" @@ -43,7 +43,7 @@ _ViridianGymText_74ad9:: cont "Farewell!@" text_end -_ViridianGymText12:: +_GiovanniEarthBadgeInfoText:: text "The EARTHBADGE" line "makes #MON of" cont "any level obey!" @@ -215,7 +215,7 @@ _ViridianGymAfterBattleText8:: cont "our GYM LEADER!" done -_ViridianGymText_74bd4:: +_ViridianGymGuidePreBattleText:: text "Yo! Champ in" line "making!" @@ -233,7 +233,7 @@ _ViridianGymText_74bd4:: cont "#MON!" done -_ViridianGymText_74bd9:: +_ViridianGymGuidePostBattleText:: text "Blow me away!" line "GIOVANNI was the" cont "GYM LEADER here?" From 5c73cffee6b854e4e08db04a776aa8a71d3a82cd Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 31 May 2021 15:04:28 -0400 Subject: [PATCH 034/119] Start reformatting WRAM labels wLabel:: ; comment ds N becomes ; comment wLabel:: ds N --- wram.asm | 1000 ++++++++++++++++++++---------------------------------- 1 file changed, 367 insertions(+), 633 deletions(-) diff --git a/wram.asm b/wram.asm index 47c40101..4a83a8e8 100644 --- a/wram.asm +++ b/wram.asm @@ -12,14 +12,13 @@ wUnusedC000:: db wSoundID:: db -wMuteAudioAndPauseMusic:: ; bit 7: whether sound has been muted ; all bits: whether the effective is active ; Store 1 to activate effect (any value in the range [1, 127] works). ; All audio is muted and music is paused. Sfx continues playing until it ; ends normally. ; Store 0 to resume music. - ds 1 +wMuteAudioAndPauseMusic:: db wDisableChannelOutputWhenSfxEnds:: db @@ -27,90 +26,64 @@ wStereoPanning:: db wSavedVolume:: db -wChannelCommandPointers:: - ds 16 +wChannelCommandPointers:: ds 16 -wChannelReturnAddresses:: - ds 16 +wChannelReturnAddresses:: ds 16 -wChannelSoundIDs:: - ds 8 +wChannelSoundIDs:: ds 8 -wChannelFlags1:: - ds 8 +wChannelFlags1:: ds 8 -wChannelFlags2:: - ds 8 +wChannelFlags2:: ds 8 -wChannelDutyCycles:: - ds 8 +wChannelDutyCycles:: ds 8 -wChannelDutyCyclePatterns:: - ds 8 +wChannelDutyCyclePatterns:: ds 8 -wChannelVibratoDelayCounters:: ; reloaded at the beginning of a note. counts down until the vibrato begins. - ds 8 +wChannelVibratoDelayCounters:: ds 8 -wChannelVibratoExtents:: - ds 8 +wChannelVibratoExtents:: ds 8 -wChannelVibratoRates:: ; high nybble is rate (counter reload value) and low nybble is counter. ; time between applications of vibrato. - ds 8 +wChannelVibratoRates:: ds 8 -wChannelFrequencyLowBytes:: - ds 8 +wChannelFrequencyLowBytes:: ds 8 -wChannelVibratoDelayCounterReloadValues:: ; delay of the beginning of the vibrato from the start of the note - ds 8 +wChannelVibratoDelayCounterReloadValues:: ds 8 -wChannelPitchSlideLengthModifiers:: - ds 8 +wChannelPitchSlideLengthModifiers:: ds 8 -wChannelPitchSlideFrequencySteps:: - ds 8 +wChannelPitchSlideFrequencySteps:: ds 8 -wChannelPitchSlideFrequencyStepsFractionalPart:: - ds 8 +wChannelPitchSlideFrequencyStepsFractionalPart:: ds 8 -wChannelPitchSlideCurrentFrequencyFractionalPart:: - ds 8 +wChannelPitchSlideCurrentFrequencyFractionalPart:: ds 8 -wChannelPitchSlideCurrentFrequencyHighBytes:: - ds 8 +wChannelPitchSlideCurrentFrequencyHighBytes:: ds 8 -wChannelPitchSlideCurrentFrequencyLowBytes:: - ds 8 +wChannelPitchSlideCurrentFrequencyLowBytes:: ds 8 -wChannelPitchSlideTargetFrequencyHighBytes:: - ds 8 +wChannelPitchSlideTargetFrequencyHighBytes:: ds 8 -wChannelPitchSlideTargetFrequencyLowBytes:: - ds 8 +wChannelPitchSlideTargetFrequencyLowBytes:: ds 8 -wChannelNoteDelayCounters:: ; Note delays are stored as 16-bit fixed-point numbers where the integer part ; is 8 bits and the fractional part is 8 bits. - ds 8 +wChannelNoteDelayCounters:: ds 8 -wChannelLoopCounters:: - ds 8 +wChannelLoopCounters:: ds 8 -wChannelNoteSpeeds:: - ds 8 +wChannelNoteSpeeds:: ds 8 -wChannelNoteDelayCountersFractionalPart:: - ds 8 +wChannelNoteDelayCountersFractionalPart:: ds 8 -wChannelOctaves:: - ds 8 +wChannelOctaves:: ds 8 -wChannelVolumes:: ; also includes fade for hardware channels that support it - ds 8 +wChannelVolumes:: ds 8 wMusicWaveInstrument:: db @@ -139,10 +112,9 @@ SECTION "Sprite State Data", WRAM0 wSpriteDataStart:: -wSpriteStateData1:: ; data for all sprites on the current map ; holds info for 16 sprites with $10 bytes each -; player sprite is always sprite 0 +wSpriteStateData1:: ; struct fields: ; - 0: picture ID (fixed, loaded at map init) ; - 1: movement status (0: uninitialized, 1: ready, 2: delayed, 3: moving) @@ -166,10 +138,9 @@ FOR n, 1, NUM_SPRITESTATEDATA_STRUCTS wSprite{02d:n}StateData1:: spritestatedata1 wSprite{02d:n}StateData1 ENDR -wSpriteStateData2:: ; more data for all sprites on the current map ; holds info for 16 sprites with $10 bytes each -; player sprite is always sprite 0 +wSpriteStateData2:: ; struct fields: ; - 0: walk animation counter (counting from $10 backwards when moving) ; - 1: @@ -203,184 +174,157 @@ wSpriteDataEnd:: SECTION "OAM Buffer", WRAM0 -wOAMBuffer:: ; buffer for OAM data. Copied to OAM by DMA +wOAMBuffer:: ; wOAMBufferSprite00 - wOAMBufferSprite39 FOR n, NUM_SPRITE_OAM_STRUCTS wOAMBufferSprite{02d:n}:: sprite_oam_struct wOAMBufferSprite{02d:n} ENDR wOAMBufferEnd:: -wTileMap:: ; buffer for tiles that are visible on screen (20 columns by 18 rows) - ds SCREEN_WIDTH * SCREEN_HEIGHT +wTileMap:: ds SCREEN_WIDTH * SCREEN_HEIGHT UNION -wTileMapBackup:: ; buffer for temporarily saving and restoring current screen's tiles ; (e.g. if menus are drawn on top) - ds SCREEN_WIDTH * SCREEN_HEIGHT +wTileMapBackup:: ds SCREEN_WIDTH * SCREEN_HEIGHT NEXTU -wSerialPartyMonsPatchList:: ; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer - ds 200 +wSerialPartyMonsPatchList:: ds 200 -wSerialEnemyMonsPatchList:: ; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer - ds 200 +wSerialEnemyMonsPatchList:: ds 200 ENDU ds 80 UNION -wOverworldMap:: - ds 1300 +wOverworldMap:: ds 1300 wOverworldMapEnd:: NEXTU -wTempPic:: - ds 7 * 7 tiles +wTempPic:: ds 7 * 7 tiles ENDU -wRedrawRowOrColumnSrcTiles:: ; the tiles of the row or column to be redrawn by RedrawRowOrColumn - ds SCREEN_WIDTH * 2 +wRedrawRowOrColumnSrcTiles:: ds SCREEN_WIDTH * 2 ; coordinates of the position of the cursor for the top menu item (id 0) wTopMenuItemY:: db wTopMenuItemX:: db -wCurrentMenuItem:: ; the id of the currently selected menu item ; the top item has id 0, the one below that has id 1, etc. ; note that the "top item" means the top item currently visible on the screen ; add this value to [wListScrollOffset] to get the item's position within the list - ds 1 +wCurrentMenuItem:: db -wTileBehindCursor:: ; the tile that was behind the menu cursor's current location - ds 1 +wTileBehindCursor:: db -wMaxMenuItem:: ; id of the bottom menu item - ds 1 +wMaxMenuItem:: db -wMenuWatchedKeys:: ; bit mask of keys that the menu will respond to - ds 1 +wMenuWatchedKeys:: db -wLastMenuItem:: ; id of previously selected menu item - ds 1 +wLastMenuItem:: db -wPartyAndBillsPCSavedMenuItem:: ; It is mainly used by the party menu to remember the cursor position while the ; menu isn't active. ; It is also used to remember the cursor position of mon lists (for the ; withdraw/deposit/release actions) in Bill's PC so that it doesn't get lost ; when you choose a mon from the list and a sub-menu is shown. It's reset when ; you return to the main Bill's PC menu. - ds 1 +wPartyAndBillsPCSavedMenuItem:: db -wBagSavedMenuItem:: ; It is used by the bag list to remember the cursor position while the menu ; isn't active. - ds 1 +wBagSavedMenuItem:: db -wBattleAndStartSavedMenuItem:: ; It is used by the start menu to remember the cursor position while the menu ; isn't active. ; The battle menu uses it so that the cursor position doesn't get lost when ; a sub-menu is shown. It's reset at the start of each battle. - ds 1 +wBattleAndStartSavedMenuItem:: db wPlayerMoveListIndex:: db -wPlayerMonNumber:: ; index in party of currently battling mon - ds 1 +wPlayerMonNumber:: db -wMenuCursorLocation:: ; the address of the menu cursor's current location within wTileMap - ds 2 +wMenuCursorLocation:: dw ds 2 -wMenuJoypadPollCount:: ; how many times should HandleMenuInput poll the joypad state before it returns? - ds 1 +wMenuJoypadPollCount:: db -wMenuItemToSwap:: ; id of menu item selected for swapping (counts from 1) (0 means that no menu item has been selected for swapping) - ds 1 +wMenuItemToSwap:: db -wListScrollOffset:: ; offset of the current top menu item from the beginning of the list ; keeps track of what section of the list is on screen - ds 1 +wListScrollOffset:: db -wMenuWatchMovingOutOfBounds:: ; If non-zero, then when wrapping is disabled and the player tries to go past ; the top or bottom of the menu, return from HandleMenuInput. This is useful for ; menus that have too many items to display at once on the screen because it ; allows the caller to scroll the entire menu up or down when this happens. - ds 1 +wMenuWatchMovingOutOfBounds:: db wTradeCenterPointerTableIndex:: db ds 1 -wTextDest:: ; destination pointer for text output ; this variable is written to, but is never read from - ds 2 +wTextDest:: dw -wDoNotWaitForButtonPressAfterDisplayingText:: ; if non-zero, skip waiting for a button press after displaying text in DisplayTextID - ds 1 +wDoNotWaitForButtonPressAfterDisplayingText:: db -wSerialSyncAndExchangeNybbleReceiveData:: ; the final received nybble is stored here by Serial_SyncAndExchangeNybble +wSerialSyncAndExchangeNybbleReceiveData:: -wSerialExchangeNybbleTempReceiveData:: ; temporary nybble used by Serial_ExchangeNybble +wSerialExchangeNybbleTempReceiveData:: -wLinkMenuSelectionReceiveBuffer:: ; two byte buffer ; the received menu selection is stored twice - ds 1 +wLinkMenuSelectionReceiveBuffer:: db -wSerialExchangeNybbleReceiveData:: ; the final received nybble is stored here by Serial_ExchangeNybble - ds 1 +wSerialExchangeNybbleReceiveData:: db ds 3 -wSerialExchangeNybbleSendData:: ; this nybble is sent when using Serial_SyncAndExchangeNybble or Serial_ExchangeNybble +wSerialExchangeNybbleSendData:: -wLinkMenuSelectionSendBuffer:: ; two byte buffer ; the menu selection byte is stored twice before sending +wLinkMenuSelectionSendBuffer:: ds 5 +; 1 byte wLinkTimeoutCounter:: -; 1 byte -wUnknownSerialCounter:: ; 2 bytes +wUnknownSerialCounter:: -wEnteringCableClub:: ; 1 byte - ds 2 +wEnteringCableClub:: dw -wWhichTradeMonSelectionMenu:: ; $00 = player mons ; $01 = enemy mons +wWhichTradeMonSelectionMenu:: -wMonDataLocation:: ; 0 = player's party ; 1 = enemy party ; 2 = current box @@ -390,74 +334,69 @@ wMonDataLocation:: ; AddPartyMon uses it slightly differently. ; If the lower nybble is 0, the mon is added to the player's party, else the enemy's. ; If the entire value is 0, then the player is allowed to name the mon. - ds 1 +wMonDataLocation:: db -wMenuWrappingEnabled:: ; set to 1 if you can go from the bottom to the top or top to bottom of a menu ; set to 0 if you can't go past the top or bottom of the menu - ds 1 +wMenuWrappingEnabled:: db -wCheckFor180DegreeTurn:: ; whether to check for 180-degree turn (0 = don't, 1 = do) - ds 1 +wCheckFor180DegreeTurn:: db ds 1 wMissableObjectIndex:: db wPredefID:: db -wPredefRegisters:: - ds 6 +wPredefRegisters:: ds 6 wTrainerHeaderFlagBit:: db ds 1 -wNPCMovementScriptPointerTableNum:: ; which NPC movement script pointer is being used ; 0 if an NPC movement script is not running - ds 1 +wNPCMovementScriptPointerTableNum:: db -wNPCMovementScriptBank:: ; ROM bank of current NPC movement script - ds 1 +wNPCMovementScriptBank:: db ds 2 wUnusedCC5B:: -wVermilionDockTileMapBuffer:: ; 180 bytes +wVermilionDockTileMapBuffer:: wOaksAideRewardItemName:: wDexRatingNumMonsSeen:: -wFilteredBagItems:: ; List of bag items that has been filtered to a certain type of items, ; such as drinks or fossils. +wFilteredBagItems:: wElevatorWarpMaps:: -wMonPartySpritesSavedOAM:: ; Saved copy of OAM for the first frame of the animation to make it easy to ; flip back from the second frame. ; $60 bytes +wMonPartySpritesSavedOAM:: -wTrainerCardBlkPacket:: ; $40 bytes +wTrainerCardBlkPacket:: -wSlotMachineSevenAndBarModeChance:: ; If a random number greater than this value is generated, then the player is ; allowed to have three 7 symbols or bar symbols line up. ; So, this value is actually the chance of NOT entering that mode. ; If the slot is lucky, it equals 250, giving a 5/256 (~2%) chance. ; Otherwise, it equals 253, giving a 2/256 (~0.8%) chance. +wSlotMachineSevenAndBarModeChance:: +; values between 0-6. Shake screen horizontally, shake screen vertically, blink Pokemon... wHallOfFame:: wBoostExpByExpAll:: wAnimationType:: -; values between 0-6. Shake screen horizontally, shake screen vertically, blink Pokemon... wNPCMovementDirections:: db @@ -465,9 +404,8 @@ wDexRatingNumMonsOwned:: db wDexRatingText:: db -wSlotMachineSavedROMBank:: ; ROM back to return to when the player is done with the slot machine - ds 1 +wSlotMachineSavedROMBank:: db ds 26 @@ -476,87 +414,75 @@ wAnimPalette:: db ds 29 UNION -wNPCMovementDirections2:: - ds 10 - -NEXTU -wSwitchPartyMonTempBuffer:: -; temporary buffer when swapping party mon data - ds 49 - -NEXTU - ds 10 - -wNumStepsToTake:: +wNPCMovementDirections2:: ds 10 ; used in Pallet Town scripted movement - ds 1 +wNumStepsToTake:: db + +NEXTU +; temporary buffer when swapping party mon data +wSwitchPartyMonTempBuffer:: ds 49 ENDU ds 10 wRLEByteCount:: db -wAddedToParty:: ; 0 = not added ; 1 = added +wAddedToParty:: -wSimulatedJoypadStatesEnd:: ; this is the end of the joypad states ; the list starts above this address and extends downwards in memory until here ; overloaded with below labels +wSimulatedJoypadStatesEnd:: wParentMenuItem:: -wCanEvolveFlags:: ; 1 flag for each party member indicating whether it can evolve ; The purpose of these flags is to track which mons levelled up during the ; current battle at the end of the battle when evolution occurs. ; Other methods of evolution simply set it by calling TryEvolvingMon. - ds 1 +wCanEvolveFlags:: db wForceEvolution:: db ; if [wAILayer2Encouragement] != 1, the second AI layer is not applied wAILayer2Encouragement:: db + ds 1 ; current HP of player and enemy substitutes wPlayerSubstituteHP:: db wEnemySubstituteHP:: db -wTestBattlePlayerSelectedMove:: ; The player's selected move during a test battle. ; InitBattleVariables sets it to the move Pound. - ds 1 +wTestBattlePlayerSelectedMove:: db ds 1 -wMoveMenuType:: ; 0=regular, 1=mimic, 2=above message box (relearn, heal pp..) - ds 1 +wMoveMenuType:: db wPlayerSelectedMove:: db wEnemySelectedMove:: db wLinkBattleRandomNumberListIndex:: db -wAICount:: ; number of times remaining that AI action can occur - ds 1 +wAICount:: db ds 2 wEnemyMoveListIndex:: db -wLastSwitchInEnemyMonHP:: ; The enemy mon's HP when it was switched in or when the current player mon ; was switched in, which was more recent. ; It's used to determine the message to print when switching out the player mon. - ds 2 +wLastSwitchInEnemyMonHP:: dw -wTotalPayDayMoney:: ; total amount of money made using Pay Day during the current battle - ds 3 +wTotalPayDayMoney:: ds 3 wSafariEscapeFactor:: db wSafariBaitFactor:: db @@ -570,10 +496,9 @@ wMonIsDisobedient:: ds 1 wPlayerDisabledMoveNumber:: ds 1 wEnemyDisabledMoveNumber:: ds 1 -wInHandlePlayerMonFainted:: ; When running in the scope of HandlePlayerMonFainted, it equals 1. ; When running in the scope of HandleEnemyMonFainted, it equals 0. - ds 1 +wInHandlePlayerMonFainted:: db wPlayerUsedMove:: ds 1 wEnemyUsedMove:: ds 1 @@ -582,14 +507,12 @@ wEnemyMonMinimized:: ds 1 wMoveDidntMiss:: ds 1 -wPartyFoughtCurrentEnemyFlags:: ; flags that indicate which party members have fought the current enemy mon - flag_array 6 +wPartyFoughtCurrentEnemyFlags:: flag_array 6 -wLowHealthAlarmDisabled:: ; Whether the low health alarm has been disabled due to the player winning the ; battle. - ds 1 +wLowHealthAlarmDisabled:: db wPlayerMonMinimized:: db @@ -597,11 +520,11 @@ wPlayerMonMinimized:: db wLuckySlotHiddenObjectIndex:: -wEnemyNumHits:: ; number of hits by enemy in attacks like Double Slap, etc. +wEnemyNumHits:: -wEnemyBideAccumulatedDamage:: ; the amount of damage accumulated by the enemy while biding (2 bytes) +wEnemyBideAccumulatedDamage:: ds 10 @@ -637,6 +560,7 @@ wPlayerMonAccuracyMod:: db wPlayerMonEvasionMod:: db ds 2 + wPlayerMonStatModsEnd:: ds 1 @@ -646,14 +570,14 @@ wEnemyMonUnmodifiedMaxHP:: dw wEnemyMonUnmodifiedAttack:: dw wEnemyMonUnmodifiedDefense:: db +; ds 11 wInGameTradeMonNick:: db wEnemyMonUnmodifiedSpeed:: dw wEnemyMonUnmodifiedSpecial:: db wEngagedTrainerClass:: db -wEngagedTrainerSet:: -; ds 1 +wEngagedTrainerSet:: ; db ; stat modifiers for the enemy's current pokemon ; value can range from 1 - 13 ($1 to $D) @@ -670,6 +594,7 @@ wEnemyMonEvasionMod:: db wInGameTradeReceiveMonSpecies:: db ds 1 + wEnemyMonStatModsEnd:: ds 1 @@ -678,59 +603,54 @@ wNPCMovementDirections2Index:: wUnusedCD37:: -wFilteredBagItemsCount:: ; number of items in wFilteredBagItems list - ds 1 +wFilteredBagItemsCount:: db -wSimulatedJoypadStatesIndex:: ; the next simulated joypad state is at wSimulatedJoypadStatesEnd plus this value minus 1 ; 0 if the joypad state is not being simulated - ds 1 +wSimulatedJoypadStatesIndex:: db -wWastedByteCD39:: ; written to but nothing ever reads it - ds 1 +wWastedByteCD39:: db -wWastedByteCD3A:: ; written to but nothing ever reads it - ds 1 +wWastedByteCD3A:: db -wOverrideSimulatedJoypadStatesMask:: ; mask indicating which real button presses can override simulated ones ; XXX is it ever not 0? - ds 1 +wOverrideSimulatedJoypadStatesMask:: db ds 1 -wFallingObjectsMovementData:: ; up to 20 bytes (one byte for each falling object) +wFallingObjectsMovementData:: wSavedY:: wTempSCX:: -wBattleTransitionCircleScreenQuadrantY:: ; 0 = upper half (Y < 9) ; 1 = lower half (Y >= 9) +wBattleTransitionCircleScreenQuadrantY:: -wBattleTransitionCopyTilesOffset:: ; 2 bytes ; after 1 row/column has been copied, the offset to the next one to copy from +wBattleTransitionCopyTilesOffset:: -wInwardSpiralUpdateScreenCounter:: ; counts down from 7 so that every time 7 more tiles of the spiral have been ; placed, the tile map buffer is copied to VRAM so that progress is visible +wInwardSpiralUpdateScreenCounter:: wHoFTeamIndex:: -wSSAnneSmokeDriftAmount:: ; multiplied by 16 to get the number of times to go right by 2 pixels +wSSAnneSmokeDriftAmount:: wRivalStarterTemp:: -wBoxMonCounts:: ; 12 bytes ; array of the number of mons in each box +wBoxMonCounts:: wDexMaxSeenMon:: @@ -742,20 +662,20 @@ wCanPlaySlots:: wNumShakes:: -wDayCareStartLevel:: ; the level of the mon at the time it entered day care +wDayCareStartLevel:: wWhichBadge:: -wPriceTemp:: ; 3-byte BCD number +wPriceTemp:: wTitleMonSpecies:: wPlayerCharacterOAMTile:: -wMoveDownSmallStarsOAMCount:: ; the number of small stars OAM entries to move down +wMoveDownSmallStarsOAMCount:: wChargeMoveNum:: @@ -769,23 +689,23 @@ wSwappedMenuItem:: wHoFMonSpecies:: -wFieldMoves:: ; 4 bytes ; the current mon's field moves +wFieldMoves:: -wBadgeNumberTile:: ; tile ID of the badge number being drawn +wBadgeNumberTile:: -wRodResponse:: ; 0 = no bite ; 1 = bite ; 2 = no fish on map +wRodResponse:: wWhichTownMapLocation:: -wStoppingWhichSlotMachineWheel:: ; which wheel the player is trying to stop ; 0 = none, 1 = wheel 1, 2 = wheel 2, 3 or greater = wheel 3 +wStoppingWhichSlotMachineWheel:: wTradedPlayerMonSpecies:: @@ -803,19 +723,19 @@ wBoxNumString:: wHiddenObjectFunctionArgument:: -wWhichTrade:: ; which entry from TradeMons to select +wWhichTrade:: wTrainerSpriteOffset:: wUnusedCD3D:: db -wHUDPokeballGfxOffsetX:: ; difference in X between the next ball and the current one +wHUDPokeballGfxOffsetX:: -wBattleTransitionCircleScreenQuadrantX:: ; 0 = left half (X < 10) ; 1 = right half (X >= 10) +wBattleTransitionCircleScreenQuadrantX:: wSSAnneSmokeX:: @@ -829,14 +749,14 @@ wTrainerInfoTextBoxWidth:: wHoFPartyMonIndex:: -wNumCreditsMonsDisplayed:: ; the number of credits mons that have been displayed so far +wNumCreditsMonsDisplayed:: -wBadgeNameTile:: ; first tile ID of the name being drawn +wBadgeNameTile:: -wFlyLocationsList:: ; NUM_CITY_MAPS bytes plus $ff sentinel values at each end +wFlyLocationsList:: wSlotMachineWheel1Offset:: @@ -854,11 +774,11 @@ wHiddenObjectFunctionRomBank:: wTrainerEngageDistance:: db -wHUDGraphicsTiles:: ; 3 bytes +wHUDGraphicsTiles:: -wDayCareTotalCost:: ; 2-byte BCD number +wDayCareTotalCost:: wJigglypuffFacingDirections:: @@ -868,10 +788,10 @@ wTrainerInfoTextBoxNextRowOffset:: wHoFMonLevel:: -wBadgeOrFaceTiles:: ; 8 bytes ; a list of the first tile IDs of each badge or face (depending on whether the ; badge is owned) to be drawn on the trainer screen +wBadgeOrFaceTiles:: wSlotMachineWheel2Offset:: @@ -887,10 +807,10 @@ wHiddenObjectIndex:: wTrainerFacingDirection:: db -wHoFMonOrPlayer:: ; show mon or show player? ; 0 = mon ; 1 = player +wHoFMonOrPlayer:: wSlotMachineWheel3Offset:: @@ -902,8 +822,8 @@ wTrainerScreenY:: wOptionsCancelCursorX:: db -wDayCarePerLevelCost:: ; 2-byte BCD number (always set to $100) +wDayCarePerLevelCost:: wHoFTeamIndex2:: @@ -913,8 +833,8 @@ wTradedPlayerMonOT:: wHiddenObjectX:: -wSlotMachineWinningSymbol:: ; the OAM tile number of the upper left corner of the winning symbol minus 2 +wSlotMachineWinningSymbol:: wNumFieldMoves:: @@ -929,8 +849,8 @@ wSlotMachineWheel1MiddleTile:: wFieldMovesLeftmostXCoord:: db -wLastFieldMoveID:: ; unused +wLastFieldMoveID:: wSlotMachineWheel1TopTile:: db @@ -938,89 +858,82 @@ wSlotMachineWheel2BottomTile:: db wSlotMachineWheel2MiddleTile:: db -wTempCoins1:: ; 2 bytes ; temporary variable used to add payout amount to the player's coins +wTempCoins1:: wSlotMachineWheel2TopTile:: db -wBattleTransitionSpiralDirection:: ; 0 = outward, 1 = inward +wBattleTransitionSpiralDirection:: wSlotMachineWheel3BottomTile:: db wSlotMachineWheel3MiddleTile:: -wFacingDirectionList:: ; 4 bytes (also, the byte before the start of the list (wSlotMachineWheel3BottomTile) ; is used a temp variable when the list is rotated) ; used when spinning the player's sprite - ds 1 +wFacingDirectionList:: db wSlotMachineWheel3TopTile:: -wTempObtainedBadgesBooleans:: ; 8 bytes ; temporary list created when displaying the badges on the trainer screen ; one byte for each badge; 0 = not obtained, 1 = obtained - ds 1 +wTempObtainedBadgesBooleans:: db -wTempCoins2:: ; 2 bytes ; temporary variable used to subtract the bet amount from the player's coins +wTempCoins2:: -wPayoutCoins:: ; 2 bytes - ds 2 +wPayoutCoins:: dw wTradedPlayerMonOTID:: -wSlotMachineFlags:: ; These flags are set randomly and control when the wheels stop. ; bit 6: allow the player to win in general ; bit 7: allow the player to win with 7 or bar (plus the effect of bit 6) - ds 1 +wSlotMachineFlags:: db -wSlotMachineWheel1SlipCounter:: ; wheel 1 can "slip" while this is non-zero +wSlotMachineWheel1SlipCounter:: -wCutTile:: ; $3d = tree tile ; $52 = grass tile - ds 1 +wCutTile:: db -wSlotMachineWheel2SlipCounter:: ; wheel 2 can "slip" while this is non-zero +wSlotMachineWheel2SlipCounter:: wTradedEnemyMonOT:: db wSavedPlayerScreenY:: -wSlotMachineRerollCounter:: ; The remaining number of times wheel 3 will roll down a symbol until a match is ; found, when winning is enabled. It's initialized to 4 each bet. +wSlotMachineRerollCounter:: -wEmotionBubbleSpriteIndex:: ; the index of the sprite the emotion bubble is to be displayed above - ds 1 +wEmotionBubbleSpriteIndex:: db wWhichEmotionBubble:: -wSlotMachineBet:: ; how many coins the player bet on the slot machine (1 to 3) +wSlotMachineBet:: wSavedPlayerFacingDirection:: -wWhichAnimationOffsets:: ; 0 = cut animation, 1 = boulder dust animation - ds 9 +wWhichAnimationOffsets:: ds 9 wTradedEnemyMonOTID:: dw -wStandingOnWarpPadOrHole:: ; 0 = neither ; 1 = warp pad ; 2 = hole +wStandingOnWarpPadOrHole:: wOAMBaseTile:: @@ -1030,25 +943,21 @@ wSymmetricSpriteOAMAttributes:: db wMonPartySpriteSpecies:: db -wLeftGBMonSpecies:: ; in the trade animation, the mon that leaves the left gameboy - ds 1 +wLeftGBMonSpecies:: db -wRightGBMonSpecies:: ; in the trade animation, the mon that leaves the right gameboy - ds 1 +wRightGBMonSpecies:: db -wFlags_0xcd60:: ; bit 0: is player engaged by trainer (to avoid being engaged by multiple trainers simultaneously) ; bit 1: boulder dust animation (from using Strength) pending ; bit 3: using generic PC ; bit 5: don't play sound when A or B is pressed in menu ; bit 6: tried pushing against boulder once (you need to push twice before it will move) - ds 1 +wFlags_0xcd60:: db ds 9 -wActionResultOrTookBattleTurn:: ; This has overlapping related uses. ; When the player tries to use an item or use certain field moves, 0 is stored ; when the attempt fails and 1 is stored when the attempt succeeds. @@ -1058,20 +967,18 @@ wActionResultOrTookBattleTurn:: ; something other than a move (e.g. using an item or switching pokemon). ; So, when an item is successfully used in battle, this value becomes non-zero ; and the player is not allowed to make a move and the two uses are compatible. - ds 1 +wActionResultOrTookBattleTurn:: db -wJoyIgnore:: ; Set buttons are ignored. - ds 1 +wJoyIgnore:: db -wDownscaledMonSize:: ; size of downscaled mon pic used in pokeball entering/exiting animation ; $00 = 5×5 ; $01 = 3×3 +wDownscaledMonSize:: -wNumMovesMinusOne:: ; FormatMovesString stores the number of moves minus one here - ds 1 +wNumMovesMinusOne:: db UNION @@ -1081,15 +988,13 @@ NEXTU ds 4 -wStatusScreenCurrentPP:: ; temp variable used to print a move's current PP on the status screen - ds 1 +wStatusScreenCurrentPP:: db ds 6 -wNormalMaxPPList:: ; list of normal max PP (without PP up) values - ds 9 +wNormalMaxPPList:: ds 9 NEXTU @@ -1098,41 +1003,40 @@ wEvosMoves:: ds MAX_EVOLUTIONS * EVOLUTION_SIZE + 1 ENDU -wSerialOtherGameboyRandomNumberListBlock:: ; buffer for transferring the random number list generated by the other gameboy +wSerialOtherGameboyRandomNumberListBlock:: -wTileMapBackup2:: ; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top) - ds 20 * 18 +wTileMapBackup2:: ds 20 * 18 wNamingScreenNameLength:: wEvoOldSpecies:: -wBuffer:: ; Temporary storage area of 30 bytes. +wBuffer:: -wTownMapCoords:: ; lower nybble is x, upper nybble is y +wTownMapCoords:: -wLearningMovesFromDayCare:: ; whether WriteMonMoves is being used to make a mon learn moves from day care ; non-zero if so +wLearningMovesFromDayCare:: wChangeMonPicEnemyTurnSpecies:: wHPBarMaxHP:: db -wNamingScreenSubmitName:: ; non-zero when the player has chosen to submit the name +wNamingScreenSubmitName:: wChangeMonPicPlayerTurnSpecies:: wEvoNewSpecies:: db -wAlphabetCase:: ; 0 = upper case ; 1 = lower case +wAlphabetCase:: wEvoMonTileOffset:: @@ -1150,73 +1054,62 @@ wHPBarTempHP:: dw ds 11 wHPBarHPDifference:: db + ds 7 -wAIItem:: ; the item that the AI used - ds 1 +wAIItem:: db wUsedItemOnWhichPokemon:: db -wAnimSoundID:: ; sound ID during battle animations - ds 1 +wAnimSoundID:: db -wBankswitchHomeSavedROMBank:: ; used as a storage value for the bank to return to after a BankswitchHome (bankswitch in homebank) - ds 1 +wBankswitchHomeSavedROMBank:: db -wBankswitchHomeTemp:: ; used as a temp storage value for the bank to switch to - ds 1 +wBankswitchHomeTemp:: db -wBoughtOrSoldItemInMart:: ; 0 = nothing bought or sold in pokemart ; 1 = bought or sold something in pokemart ; this value is not used for anything - ds 1 +wBoughtOrSoldItemInMart:: db -wBattleResult:: ; $00 - win ; $01 - lose ; $02 - draw - ds 1 +wBattleResult:: db -wAutoTextBoxDrawingControl:: ; bit 0: if set, DisplayTextID automatically draws a text box - ds 1 +wAutoTextBoxDrawingControl:: db wcf0d:: ds 1 ; used with some overworld scripts (not exactly sure what it's used for) -wTilePlayerStandingOn:: ; used in CheckForTilePairCollisions2 to store the tile the player is on - ds 1 +wTilePlayerStandingOn:: db wNPCNumScriptedSteps:: ds 1 -wNPCMovementScriptFunctionNum:: ; which script function within the pointer table indicated by ; wNPCMovementScriptPointerTableNum - ds 1 +wNPCMovementScriptFunctionNum:: db -wTextPredefFlag:: ; bit 0: set when printing a text predef so that DisplayTextID doesn't switch ; to the current map's bank - ds 1 +wTextPredefFlag:: db wPredefParentBank:: db wSpriteIndex:: ds 1 -wCurSpriteMovement2:: ; movement byte 2 of current sprite - ds 1 +wCurSpriteMovement2:: db ds 2 -wNPCMovementScriptSpriteOffset:: ; sprite offset of sprite being controlled by NPC movement script - ds 1 +wNPCMovementScriptSpriteOffset:: db wScriptedNPCWalkCounter:: db @@ -1224,25 +1117,22 @@ wScriptedNPCWalkCounter:: db wGBC:: db -wOnSGB:: ; if running on SGB, it's 1, else it's 0 - ds 1 +wOnSGB:: db wDefaultPaletteCommand:: db wPlayerHPBarColor:: -wWholeScreenPaletteMonSpecies:: ; species of the mon whose palette is used for the whole screen - ds 1 +wWholeScreenPaletteMonSpecies:: db wEnemyHPBarColor:: db ; 0: green ; 1: yellow ; 2: red -wPartyMenuHPBarColors:: - ds 6 +wPartyMenuHPBarColors:: ds 6 wStatusScreenHPBarColor:: db @@ -1254,70 +1144,60 @@ wWhichPartyMenuHPBar:: wPalPacket:: db -wPartyMenuBlkPacket:: ; $30 bytes - ds 29 +wPartyMenuBlkPacket:: ds 29 -wExpAmountGained:: ; 2-byte big-endian number ; the total amount of exp a mon gained +wExpAmountGained:: -wcf4b:: ; storage buffer for various strings - ds 2 +wcf4b:: dw wGainBoostedExp:: db ds 17 -wGymCityName:: - ds 17 +wGymCityName:: ds 17 -wGymLeaderName:: - ds NAME_LENGTH +wGymLeaderName:: ds NAME_LENGTH -wItemList:: - ds 16 +wItemList:: ds 16 wListPointer:: dw -wUnusedCF8D:: ; 2 bytes ; used to store pointers, but never read - ds 2 +wUnusedCF8D:: dw wItemPrices:: dw wcf91:: ds 1 ; used with a lot of things (too much to list here) -wWhichPokemon:: ; which pokemon you selected - ds 1 +wWhichPokemon:: db -wPrintItemPrices:: ; if non-zero, then print item prices when displaying lists - ds 1 +wPrintItemPrices:: db -wHPBarType:: ; type of HP bar ; $00 = enemy HUD in battle ; $01 = player HUD in battle / status screen ; $02 = party menu +wHPBarType:: -wListMenuID:: ; ID used by DisplayListMenuID - ds 1 +wListMenuID:: db -wRemoveMonFromBox:: ; if non-zero, RemovePokemon will remove the mon from the current box, ; else it will remove the mon from the party +wRemoveMonFromBox:: -wMoveMonType:: ; 0 = move from box to party ; 1 = move from party to box ; 2 = move from daycare to party ; 3 = move from party to daycare - ds 1 +wMoveMonType:: db wItemQuantity:: db @@ -1326,22 +1206,18 @@ wMaxItemQuantity:: db ; LoadMonData copies mon data here wLoadedMon:: party_struct wLoadedMon -wFontLoaded:: ; bit 0: The space in VRAM that is used to store walk animation tile patterns ; for the player and NPCs is in use for font tile patterns. ; This means that NPC movement must be disabled. ; The other bits are unused. - ds 1 +wFontLoaded:: db -wWalkCounter:: ; walk animation counter - ds 1 +wWalkCounter:: db -wTileInFrontOfPlayer:: ; background tile number in front of the player (either 1 or 2 steps ahead) - ds 1 +wTileInFrontOfPlayer:: db -wAudioFadeOutControl:: ; The desired fade counter reload value is stored here prior to calling ; PlaySound in order to cause the current music to fade out before the new ; music begins playing. Storing 0 causes no fade out to occur and the new music @@ -1351,13 +1227,12 @@ wAudioFadeOutControl:: ; in this variable. FadeOutAudio checks if it's non-zero every V-Blank and ; fades out the current audio if it is. Once it has finished fading out the ; audio, it zeroes this variable and starts playing the sound ID stored in it. - ds 1 +wAudioFadeOutControl:: db wAudioFadeOutCounterReloadValue:: db wAudioFadeOutCounter:: db -wLastMusicSoundID:: ; This is used to determine whether the default music is already playing when ; attempting to play the default music (in order to avoid restarting the same ; music) and whether the music has already been stopped when attempting to @@ -1367,14 +1242,13 @@ wLastMusicSoundID:: ; contain $ff (if the music has been stopped) or 0 (because some routines zero ; it in order to prevent assumptions from being made about the current state of ; the music). - ds 1 +wLastMusicSoundID:: db -wUpdateSpritesEnabled:: ; $00 = causes sprites to be hidden and the value to change to $ff ; $01 = enabled ; $ff = disabled ; other values aren't used - ds 1 +wUpdateSpritesEnabled:: db wEnemyMoveNum:: db wEnemyMoveEffect:: db @@ -1410,87 +1284,74 @@ wTrainerClass:: db ds 1 wTrainerPicPointer:: dw + ds 1 wTempMoveNameBuffer:: -wLearnMoveMonName:: ; The name of the mon that is learning a move. - ds 16 +wLearnMoveMonName:: ds 16 -wTrainerBaseMoney:: ; 2-byte BCD number ; money received after battle = base money × level of highest-level enemy mon - ds 2 +wTrainerBaseMoney:: dw wMissableObjectCounter:: db ds 1 -wTrainerName:: ; 13 bytes for the letters of the opposing trainer ; the name is terminated with $50 with possible ; unused trailing letters - ds 13 +wTrainerName:: ds 13 -wIsInBattle:: ; lost battle, this is -1 ; no battle, this is 0 ; wild battle, this is 1 ; trainer battle, this is 2 - ds 1 +wIsInBattle:: db -wPartyGainExpFlags:: ; flags that indicate which party members should be be given exp when GainExperience is called - flag_array 6 +wPartyGainExpFlags:: flag_array 6 -wCurOpponent:: ; in a wild battle, this is the species of pokemon ; in a trainer battle, this is the trainer class + OPP_ID_OFFSET - ds 1 +wCurOpponent:: db -wBattleType:: ; in normal battle, this is 0 ; in old man battle, this is 1 ; in safari battle, this is 2 - ds 1 +wBattleType:: db -wDamageMultipliers:: ; bits 0-6: Effectiveness ; $0 = immune ; $5 = not very effective ; $a = neutral ; $14 = super-effective ; bit 7: STAB - ds 1 +wDamageMultipliers:: db -wLoneAttackNo:: ; which entry in LoneAttacks to use -wGymLeaderNo:: ; it's actually the same thing as ^ - ds 1 -wTrainerNo:: +wLoneAttackNo:: +wGymLeaderNo:: db ; which instance of [youngster, lass, etc] is this? - ds 1 +wTrainerNo:: db -wCriticalHitOrOHKO:: ; $00 = normal attack ; $01 = critical hit ; $02 = successful OHKO ; $ff = failed OHKO - ds 1 +wCriticalHitOrOHKO:: db wMoveMissed:: db -wPlayerStatsToDouble:: ; always 0 - ds 1 +wPlayerStatsToDouble:: db -wPlayerStatsToHalve:: ; always 0 - ds 1 +wPlayerStatsToHalve:: db -wPlayerBattleStatus1:: ; bit 0 - bide ; bit 1 - thrash / petal dance ; bit 2 - attacking multiple times (e.g. double kick) @@ -1499,9 +1360,8 @@ wPlayerBattleStatus1:: ; bit 5 - using multi-turn move (e.g. wrap) ; bit 6 - invulnerable to normal attack (using fly/dig) ; bit 7 - confusion - ds 1 +wPlayerBattleStatus1:: db -wPlayerBattleStatus2:: ; bit 0 - X Accuracy effect ; bit 1 - protected by "mist" ; bit 2 - focus energy effect @@ -1509,74 +1369,66 @@ wPlayerBattleStatus2:: ; bit 5 - need to recharge ; bit 6 - rage ; bit 7 - leech seeded - ds 1 +wPlayerBattleStatus2:: db -wPlayerBattleStatus3:: ; bit 0 - toxic ; bit 1 - light screen ; bit 2 - reflect ; bit 3 - transformed - ds 1 +wPlayerBattleStatus3:: db -wEnemyStatsToDouble:: ; always 0 - ds 1 +wEnemyStatsToDouble:: db -wEnemyStatsToHalve:: ; always 0 - ds 1 +wEnemyStatsToHalve:: db wEnemyBattleStatus1:: db wEnemyBattleStatus2:: db wEnemyBattleStatus3:: db -wPlayerNumAttacksLeft:: ; when the player is attacking multiple times, the number of attacks left - ds 1 +wPlayerNumAttacksLeft:: db wPlayerConfusedCounter:: db wPlayerToxicCounter:: db -wPlayerDisabledMove:: ; high nibble: which move is disabled (1-4) ; low nibble: disable turns left - ds 1 +wPlayerDisabledMove:: db ds 1 -wEnemyNumAttacksLeft:: ; when the enemy is attacking multiple times, the number of attacks left - ds 1 +wEnemyNumAttacksLeft:: db wEnemyConfusedCounter:: db wEnemyToxicCounter:: db -wEnemyDisabledMove:: ; high nibble: which move is disabled (1-4) ; low nibble: disable turns left - ds 1 +wEnemyDisabledMove:: db ds 1 -wPlayerNumHits:: ; number of hits by player in attacks like Double Slap, etc. +wPlayerNumHits:: -wPlayerBideAccumulatedDamage:: ; the amount of damage accumulated by the player while biding (2 bytes) +wPlayerBideAccumulatedDamage:: -wUnknownSerialCounter2:: ; 2 bytes +wUnknownSerialCounter2:: ds 4 -wEscapedFromBattle:: ; non-zero when an item or move that allows escape from battle was used - ds 1 +wEscapedFromBattle:: db -wAmountMoneyWon:: ; 3-byte BCD number +wAmountMoneyWon:: wObjectToHide:: db @@ -1584,27 +1436,24 @@ wObjectToShow:: db ds 1 -wDefaultMap:: ; the map you will start at when the debug bit is set +wDefaultMap:: wMenuItemOffset:: -wAnimationID:: ; ID number of the current battle animation - ds 1 +wAnimationID:: db wNamingScreenType:: wPartyMenuTypeOrMessageID:: -wTempTilesetNumTiles:: ; temporary storage for the number of tiles in a tileset - ds 1 +wTempTilesetNumTiles:: db -wSavedListScrollOffset:: ; used by the pokemart code to save the existing value of wListScrollOffset ; so that it can be restored when the player is done with the pokemart NPC - ds 1 +wSavedListScrollOffset:: db ds 2 @@ -1616,47 +1465,42 @@ wBaseCoordY:: db ; high bit = enable, others = timer to cycle frequencies wLowHealthAlarm:: ds 1 -wFBTileCounter:: ; counts how many tiles of the current frame block have been drawn - ds 1 +wFBTileCounter:: db wMovingBGTilesCounter2:: db -wSubAnimFrameDelay:: ; duration of each frame of the current subanimation in terms of screen refreshes - ds 1 -wSubAnimCounter:: +wSubAnimFrameDelay:: db ; counts the number of subentries left in the current subanimation - ds 1 +wSubAnimCounter:: db -wSaveFileStatus:: ; 1 = no save file or save file is corrupted ; 2 = save file exists and no corruption has been detected - ds 1 +wSaveFileStatus:: db -wNumFBTiles:: ; number of tiles in current battle animation frame block - ds 1 +wNumFBTiles:: db wFlashScreenLongCounter:: wSpiralBallsBaseY:: -wFallingObjectMovementByte:: ; bits 0-6: index into FallingObjects_DeltaXs array (0 - 8) ; bit 7: direction; 0 = right, 1 = left +wFallingObjectMovementByte:: wNumShootingBalls:: -wTradedMonMovingRight:: ; $01 if mon is moving from left gameboy to right gameboy; $00 if vice versa +wTradedMonMovingRight:: wOptionsInitialized:: wNewSlotMachineBallTile:: -wCoordAdjustmentAmount:: ; how much to add to the X/Y coord +wCoordAdjustmentAmount:: wUnusedD08A:: db @@ -1666,16 +1510,15 @@ wNumFallingObjects:: wSlideMonDelay:: -wAnimCounter:: ; generic counter variable for various animations +wAnimCounter:: -wSubAnimTransform:: ; controls what transformations are applied to the subanimation ; 01: flip horizontally and vertically ; 02: flip horizontally and translate downwards 40 pixels ; 03: translate base coordinates of frame blocks, but don't change their internal coordinates or flip their tiles ; 04: reverse the subanimation - ds 1 +wSubAnimTransform:: db wEndBattleWinTextPointer:: dw @@ -1687,19 +1530,17 @@ wEndBattleTextRomBank:: db ds 1 -wSubAnimAddrPtr:: ; the address _of the address_ of the current subanimation entry - ds 2 +wSubAnimAddrPtr:: dw -wSlotMachineAllowMatchesCounter:: ; If non-zero, the allow matches flag is always set. ; There is a 1/256 (~0.4%) chance that this value will be set to 60, which is ; the only way it can increase. Winning certain payout amounts will decrement it ; or zero it. +wSlotMachineAllowMatchesCounter:: -wSubAnimSubEntryAddr:: ; the address of the current subentry of the current subanimation - ds 2 +wSubAnimSubEntryAddr:: dw ds 2 @@ -1707,28 +1548,26 @@ wOutwardSpiralTileMapPointer:: db wPartyMenuAnimMonEnabled:: -wTownMapSpriteBlinkingEnabled:: ; non-zero when enabled. causes nest locations to blink on and off. ; the town selection cursor will blink regardless of what this value is +wTownMapSpriteBlinkingEnabled:: wUnusedD09B:: db -wFBDestAddr:: ; current destination address in OAM for frame blocks (big endian) - ds 2 +wFBDestAddr:: dw -wFBMode:: ; controls how the frame blocks are put together to form frames ; specifically, after finishing drawing the frame block, the frame block's mode determines what happens ; 00: clean OAM buffer and delay ; 02: move onto the next frame block with no delay and no cleaning OAM buffer ; 03: delay, but don't clean OAM buffer ; 04: delay, without cleaning OAM buffer, and do not advance [wFBDestAddr], so that the next frame block will overwrite this one - ds 1 +wFBMode:: db -wLinkCableAnimBulgeToggle:: ; 0 = small ; 1 = big +wLinkCableAnimBulgeToggle:: wIntroNidorinoBaseTile:: @@ -1740,13 +1579,12 @@ wNewTileBlockID:: wWhichBattleAnimTileset:: -wSquishMonCurrentDirection:: ; 0 = left ; 1 = right +wSquishMonCurrentDirection:: -wSlideMonUpBottomRowLeftTile:: ; the tile ID of the leftmost tile in the bottom row in AnimationSlideMonUp_ - ds 1 +wSlideMonUpBottomRowLeftTile:: db wDisableVBlankWYUpdate:: ds 1 ; if non-zero, don't update WY during V-blank @@ -1754,42 +1592,34 @@ wSpriteCurPosX:: db wSpriteCurPosY:: db wSpriteWidth:: db wSpriteHeight:: db -wSpriteInputCurByte:: ; current input byte - ds 1 -wSpriteInputBitCounter:: +wSpriteInputCurByte:: db ; bit offset of last read input bit - ds 1 +wSpriteInputBitCounter:: db -wSpriteOutputBitOffset:: ; determines where in the output byte the two bits are placed. Each byte contains four columns (2bpp data) +; determines where in the output byte the two bits are placed. Each byte contains four columns (2bpp data) ; 3 -> XX000000 1st column ; 2 -> 00XX0000 2nd column ; 1 -> 0000XX00 3rd column ; 0 -> 000000XX 4th column - ds 1 +wSpriteOutputBitOffset:: db -wSpriteLoadFlags:: ; bit 0 determines used buffer (0 -> sSpriteBuffer1, 1 -> sSpriteBuffer2) ; bit 1 loading last sprite chunk? (there are at most 2 chunks per load operation) - ds 1 +wSpriteLoadFlags:: db wSpriteUnpackMode:: db wSpriteFlipped:: db -wSpriteInputPtr:: ; pointer to next input byte - ds 2 -wSpriteOutputPtr:: +wSpriteInputPtr:: dw ; pointer to current output byte - ds 2 -wSpriteOutputPtrCached:: +wSpriteOutputPtr:: dw ; used to revert pointer for different bit offsets - ds 2 -wSpriteDecodeTable0Ptr:: +wSpriteOutputPtrCached:: dw ; pointer to differential decoding table (assuming initial value 0) - ds 2 -wSpriteDecodeTable1Ptr:: +wSpriteDecodeTable0Ptr:: dw ; pointer to differential decoding table (assuming initial value 1) - ds 2 +wSpriteDecodeTable1Ptr:: dw wd0b5:: ds 1 ; used as a temp storage area for Pokemon Species, and other Pokemon/Battle related things @@ -1799,10 +1629,9 @@ wPredefBank:: db wMonHeader:: -wMonHIndex:: ; In the ROM base stats data structure, this is the dex number, but it is ; overwritten with the internal index number after the header is copied to WRAM. - ds 1 +wMonHIndex:: db wMonHBaseStats:: wMonHBaseHP:: db @@ -1821,21 +1650,19 @@ wMonHSpriteDim:: db wMonHFrontSprite:: dw wMonHBackSprite:: dw -wMonHMoves:: - ds NUM_MOVES +wMonHMoves:: ds NUM_MOVES wMonHGrowthRate:: db -wMonHLearnset:: ; bit field - flag_array NUM_TMS + NUM_HMS +wMonHLearnset:: flag_array NUM_TMS + NUM_HMS ds 1 + wMonHeaderEnd:: -wSavedTileAnimations:: ; saved at the start of a battle and then written back at the end of the battle - ds 1 +wSavedTileAnimations:: db ds 2 @@ -1845,36 +1672,30 @@ wDamage:: dw wRepelRemainingSteps:: db -wMoves:: ; list of moves for FormatMovesString - ds NUM_MOVES +wMoves:: ds NUM_MOVES wMoveNum:: db -wMovesString:: - ds 56 +wMovesString:: ds 56 wUnusedD119:: db -wWalkBikeSurfStateCopy:: ; wWalkBikeSurfState is sometimes copied here, but it doesn't seem to be used for anything - ds 1 +wWalkBikeSurfStateCopy:: db -wInitListType:: ; the type of list for InitList to init - ds 1 +wInitListType:: db -wCapturedMonSpecies:: ; 0 if no mon was captured - ds 1 +wCapturedMonSpecies:: db -wFirstMonsNotOutYet:: ; Non-zero when the first player mon and enemy mon haven't been sent out yet. ; It prevents the game from asking if the player wants to choose another mon ; when the enemy sends out their first mon and suppresses the "no will to fight" ; message when the game searches for the first non-fainted mon in the party, ; which will be the first mon sent out. - ds 1 +wFirstMonsNotOutYet:: db wPokeBallCaptureCalcTemp:: @@ -1897,14 +1718,12 @@ wNumSetBits:: wd11e:: ds 1 ; used as a Pokemon and Item storage value. Also used as an output value for CountSetBits -wForcePlayerToChooseMon:: ; When this value is non-zero, the player isn't allowed to exit the party menu ; by pressing B and not choosing a mon. - ds 1 +wForcePlayerToChooseMon:: db -wNumRunAttempts:: ; number of times the player has tried to run from battle - ds 1 +wNumRunAttempts:: db wEvolutionOccurred:: db @@ -1920,26 +1739,22 @@ wCurrentMapScriptFlags:: ds 1 ; not exactly sure what this is used for, but it s wCurEnemyLVL:: db -wItemListPointer:: ; pointer to list of items terminated by $FF - ds 2 +wItemListPointer:: dw -wListCount:: ; number of entries in a list - ds 1 +wListCount:: db wLinkState:: db wTwoOptionMenuID:: db -wChosenMenuItem:: ; the id of the menu item the player ultimately chose +wChosenMenuItem:: -wOutOfBattleBlackout:: ; non-zero when the whole party has fainted due to out-of-battle poison damage - ds 1 +wOutOfBattleBlackout:: db -wMenuExitMethod:: ; the way the user exited a menu ; for list menus and the buy/sell/quit menu: ; $01 = the user pressed A to choose a menu item @@ -1947,21 +1762,20 @@ wMenuExitMethod:: ; for two-option menus: ; $01 = the user pressed A with the first menu item selected ; $02 = the user pressed B or pressed A with the second menu item selected - ds 1 +wMenuExitMethod:: db -wDungeonWarpDataEntrySize:: ; the size is always 6, so they didn't need a variable in RAM for this +wDungeonWarpDataEntrySize:: -wWhichPewterGuy:: ; 0 = museum guy ; 1 = gym guy +wWhichPewterGuy:: -wWhichPrizeWindow:: ; there are 3 windows, from 0 to 2 +wWhichPrizeWindow:: -wGymGateTileBlock:: ; a horizontal or vertical gate block - ds 1 +wGymGateTileBlock:: db wSavedSpriteScreenY:: db @@ -1975,18 +1789,15 @@ wSavedSpriteMapX:: db wWhichPrize:: db -wIgnoreInputCounter:: ; counts downward each frame ; when it hits 0, bit 5 (ignore input bit) of wd730 is reset - ds 1 +wIgnoreInputCounter:: db -wStepCounter:: ; counts down once every step - ds 1 +wStepCounter:: db -wNumberOfNoRandomBattleStepsLeft:: ; after a battle, you have at least 3 steps before a random battle can occur - ds 1 +wNumberOfNoRandomBattleStepsLeft:: db wPrize1:: db wPrize2:: db @@ -1994,8 +1805,8 @@ wPrize3:: db ds 1 -wSerialRandomNumberListBlock:: ; the first 7 bytes are the preamble +wSerialRandomNumberListBlock:: wPrize1Price:: dw @@ -2005,19 +1816,17 @@ wPrize3Price:: dw ds 1 -wLinkBattleRandomNumberList:: ; shared list of 9 random numbers, indexed by wLinkBattleRandomNumberListIndex - ds 10 +wLinkBattleRandomNumberList:: ds 10 -wSerialPlayerDataBlock:: ; the first 6 bytes are the preamble +wSerialPlayerDataBlock:: -wPseudoItemID:: ; When a real item is being used, this is 0. ; When a move is acting as an item, this is the ID of the item it's acting as. ; For example, out-of-battle Dig is executed using a fake Escape Rope item. In ; that case, this would be ESCAPE_ROPE. - ds 1 +wPseudoItemID:: db wUnusedD153:: db @@ -2027,8 +1836,7 @@ wEvoStoneItemID:: db wSavedNPCMovementDirections2Index:: db -wPlayerName:: - ds NAME_LENGTH +wPlayerName:: ds NAME_LENGTH wPartyDataStart:: @@ -2060,28 +1868,21 @@ wPartyDataEnd:: wMainDataStart:: -wPokedexOwned:: - flag_array NUM_POKEMON +wPokedexOwned:: flag_array NUM_POKEMON wPokedexOwnedEnd:: -wPokedexSeen:: - flag_array NUM_POKEMON +wPokedexSeen:: flag_array NUM_POKEMON wPokedexSeenEnd:: wNumBagItems:: db -wBagItems:: ; item, quantity - ds BAG_ITEM_CAPACITY * 2 - ds 1 ; end +wBagItems:: ds BAG_ITEM_CAPACITY * 2 + 1 -wPlayerMoney:: - ds 3 ; BCD +wPlayerMoney:: ds 3 ; BCD -wRivalName:: - ds NAME_LENGTH +wRivalName:: ds NAME_LENGTH -wOptions:: ; bit 7 = battle animation ; 0: On ; 1: Off @@ -2092,19 +1893,17 @@ wOptions:: ; 1: Fast ; 3: Medium ; 5: Slow - ds 1 +wOptions:: db -wObtainedBadges:: - flag_array 8 +wObtainedBadges:: flag_array 8 ds 1 -wLetterPrintingDelayFlags:: ; bit 0: If 0, limit the delay to 1 frame. Note that this has no effect if ; the delay has been disabled entirely through bit 1 of this variable ; or bit 6 of wd730. ; bit 1: If 0, no delay. - ds 1 +wLetterPrintingDelayFlags:: db wPlayerID:: dw @@ -2112,26 +1911,22 @@ wMapMusicSoundID:: db wMapMusicROMBank:: db -wMapPalOffset:: ; offset subtracted from FadePal4 to get the background and object palettes for the current map ; normally, it is 0. it is 6 when Flash is needed, causing FadePal2 to be used instead of FadePal4 - ds 1 +wMapPalOffset:: db wCurMap:: db -wCurrentTileBlockMapViewPointer:: ; pointer to the upper left corner of the current view in the tile block map - ds 2 +wCurrentTileBlockMapViewPointer:: dw -wYCoord:: ; player's position on the current map - ds 1 +wYCoord:: db wXCoord:: db -wYBlockCoord:: ; player's y position (by block) - ds 1 +wYBlockCoord:: db wXBlockCoord:: db @@ -2141,13 +1936,11 @@ wUnusedD366:: db wCurMapTileset:: db -wCurMapHeight:: ; blocks - ds 1 +wCurMapHeight:: db -wCurMapWidth:: ; blocks - ds 1 +wCurMapWidth:: db wMapDataPtr:: dw @@ -2155,9 +1948,8 @@ wMapTextPtr:: dw wMapScriptPtr:: dw -wMapConnections:: ; connection byte - ds 1 +wMapConnections:: db wMapConn1Ptr:: db @@ -2223,152 +2015,125 @@ wEastConnectedMapXAlignment:: db wEastConnectedMapViewPointer:: dw -wSpriteSet:: ; sprite set for the current map (11 sprite picture ID's) - ds 11 +wSpriteSet:: ds 11 -wSpriteSetID:: ; sprite set ID for the current map - ds 1 +wSpriteSetID:: db wObjectDataPointerTemp:: dw ds 2 -wMapBackgroundTile:: ; the tile shown outside the boundaries of the map - ds 1 +wMapBackgroundTile:: db -wNumberOfWarps:: ; number of warps in current map - ds 1 +wNumberOfWarps:: db -wWarpEntries:: ; current map warp entries - ds 128 +wWarpEntries:: ds 128 -wDestinationWarpID:: ; if $ff, the player's coordinates are not updated when entering the map - ds 1 +wDestinationWarpID:: db ds 128 -wNumSigns:: ; number of signs in the current map (up to 16) - ds 1 +wNumSigns:: db -wSignCoords:: ; 2 bytes each ; Y, X - ds 32 +wSignCoords:: ds 32 -wSignTextIDs:: - ds 16 +wSignTextIDs:: ds 16 -wNumSprites:: ; number of sprites on the current map - ds 1 +wNumSprites:: db ; these two variables track the X and Y offset in blocks from the last special warp used ; they don't seem to be used for anything wYOffsetSinceLastSpecialWarp:: db wXOffsetSinceLastSpecialWarp:: db -wMapSpriteData:: ; two bytes per sprite (movement byte 2, text ID) - ds 32 +wMapSpriteData:: ds 32 -wMapSpriteExtraData:: ; two bytes per sprite (trainer class/item ID, trainer set ID) - ds 32 +wMapSpriteExtraData:: ds 32 -wCurrentMapHeight2:: ; map height in 2x2 meta-tiles - ds 1 +wCurrentMapHeight2:: db -wCurrentMapWidth2:: ; map width in 2x2 meta-tiles - ds 1 +wCurrentMapWidth2:: db -wMapViewVRAMPointer:: ; the address of the upper left corner of the visible portion of the BG tile map in VRAM - ds 2 +wMapViewVRAMPointer:: dw ; In the comments for the player direction variables below, "moving" refers to ; both walking and changing facing direction without taking a step. -wPlayerMovingDirection:: ; if the player is moving, the current direction ; if the player is not moving, zero ; map scripts write to this in order to change the player's facing direction - ds 1 +wPlayerMovingDirection:: db -wPlayerLastStopDirection:: ; the direction in which the player was moving before the player last stopped - ds 1 +wPlayerLastStopDirection:: db -wPlayerDirection:: ; if the player is moving, the current direction ; if the player is not moving, the last the direction in which the player moved - ds 1 +wPlayerDirection:: db wTilesetBank:: db -wTilesetBlocksPtr:: ; maps blocks (4x4 tiles) to tiles - ds 2 +wTilesetBlocksPtr:: dw wTilesetGfxPtr:: dw -wTilesetCollisionPtr:: ; list of all walkable tiles - ds 2 +wTilesetCollisionPtr:: dw -wTilesetTalkingOverTiles:: - ds 3 +wTilesetTalkingOverTiles:: ds 3 wGrassTile:: db ds 4 wNumBoxItems:: db -wBoxItems:: ; item, quantity - ds PC_ITEM_CAPACITY * 2 - ds 1 ; end +wBoxItems:: ds PC_ITEM_CAPACITY * 2 + 1 -wCurrentBoxNum:: ; bits 0-6: box number ; bit 7: whether the player has changed boxes before - ds 2 +wCurrentBoxNum:: dw -wNumHoFTeams:: ; number of HOF teams - ds 1 +wNumHoFTeams:: db wUnusedD5A3:: db -wPlayerCoins:: - ds 2 ; BCD +wPlayerCoins:: ds 2 ; BCD -wMissableObjectFlags:: ; bit array of missable objects. set = removed - ds 32 +wMissableObjectFlags:: ds 32 wMissableObjectFlagsEnd:: ds 7 -wd5cd:: ds 1 ; temp copy of SPRITESTATEDATA1_IMAGEINDEX (used for sprite facing/anim) +; temp copy of SPRITESTATEDATA1_IMAGEINDEX (used for sprite facing/anim) +wd5cd:: db -wMissableObjectList:: ; each entry consists of 2 bytes ; * the sprite ID (depending on the current map) ; * the missable object index (global, used for wMissableObjectFlags) ; terminated with $FF - ds 17 * 2 +wMissableObjectList:: ds 17 * 2 -wGameProgressFlags:: ; $c8 bytes +wGameProgressFlags:: wOaksLabCurScript:: db wPalletTownCurScript:: db ds 1 @@ -2487,39 +2252,32 @@ wGameProgressFlagsEnd:: ds 56 -wObtainedHiddenItemsFlags:: - ds 14 +wObtainedHiddenItemsFlags:: ds 14 wObtainedHiddenCoinsFlags:: dw -wWalkBikeSurfState:: ; $00 = walking ; $01 = biking ; $02 = surfing - ds 1 +wWalkBikeSurfState:: db ds 10 -wTownVisitedFlag:: - flag_array NUM_CITY_MAPS +wTownVisitedFlag:: flag_array NUM_CITY_MAPS -wSafariSteps:: ; starts at 502 - ds 2 +wSafariSteps:: dw -wFossilItem:: ; item given to cinnabar lab - ds 1 +wFossilItem:: db -wFossilMon:: ; mon that will result from the item - ds 1 +wFossilMon:: db ds 2 -wEnemyMonOrTrainerClass:: ; trainer classes start at OPP_ID_OFFSET - ds 1 +wEnemyMonOrTrainerClass:: db wPlayerJumpingYScreenCoordsIndex:: db @@ -2529,36 +2287,30 @@ wRivalStarter:: db wPlayerStarter:: db -wBoulderSpriteIndex:: ; sprite index of the boulder the player is trying to push - ds 1 +wBoulderSpriteIndex:: db wLastBlackoutMap:: db -wDestinationMap:: ; destination map (for certain types of special warps, not ordinary walking) - ds 1 +wDestinationMap:: db wUnusedD71B:: db -wTileInFrontOfBoulderAndBoulderCollisionResult:: ; used to store the tile in front of the boulder when trying to push a boulder -; also used to store the result of the collision check ($ff for a collision and $00 FOR no collision) - ds 1 +; also used to store the result of the collision check ($ff for a collision and $00 for no collision) +wTileInFrontOfBoulderAndBoulderCollisionResult:: db -wDungeonWarpDestinationMap:: ; destination map for dungeon warps - ds 1 +wDungeonWarpDestinationMap:: db -wWhichDungeonWarp:: ; which dungeon warp within the source map was used - ds 1 +wWhichDungeonWarp:: db wUnusedD71F:: db ds 8 -wd728:: ; bit 0: using Strength outside of battle ; bit 1: set by IsSurfingAllowed when surfing's allowed, but the caller resets it after checking the result ; bit 3: received Old Rod @@ -2566,23 +2318,20 @@ wd728:: ; bit 5: received Super Rod ; bit 6: gave one of the Saffron guards a drink ; bit 7: set by ItemUseCardKey, which is leftover code from a previous implementation of the Card Key - ds 1 +wd728:: db ds 1 -wBeatGymFlags:: ; redundant because it matches wObtainedBadges ; used to determine whether to show name on statue and in two NPC text scripts - ds 1 +wBeatGymFlags:: db ds 1 -wd72c:: ; bit 0: if not set, the 3 minimum steps between random battles have passed ; bit 1: prevent audio fade out - ds 1 +wd72c:: db -wd72d:: ; This variable is used for temporary flags and as the destination map when ; warping to the Trade Center or Colosseum. ; bit 0: sprite facing directions have been initialised in the Trade Center @@ -2593,9 +2342,8 @@ wd72d:: ; but they do not appear to affect anything. Bit 6 is reset after all battles ; and bit 7 is reset after trainer battles (but it's only set before trainer ; battles anyway). - ds 1 +wd72d:: db -wd72e:: ; bit 0: the player has received Lapras in the Silph Co. building ; bit 1: set in various places, but doesn't appear to have an effect ; bit 2: the player has healed pokemon at a pokemon center at least once @@ -2604,20 +2352,18 @@ wd72e:: ; bit 5: set when a battle ends and when the player blacks out in the overworld due to poison ; bit 6: using the link feature ; bit 7: set if scripted NPC movement has been initialised - ds 1 +wd72e:: db ds 1 -wd730:: ; bit 0: NPC sprite being moved by script ; bit 5: ignore joypad input ; bit 6: print text with no delay between each letter ; bit 7: set if joypad states are being simulated in the overworld or an NPC's movement is being scripted - ds 1 +wd730:: db ds 1 -wd732:: ; bit 0: play time being counted ; bit 1: remnant of debug mode; only set by the debug build. ; if it is set: @@ -2635,31 +2381,28 @@ wd732:: ; bit 4: jumped into hole (Pokemon Mansion, Seafoam Islands, Victory Road) or went down waterfall (Seafoam Islands), so the target warp is a "dungeon warp" ; bit 5: currently being forced to ride bike (cycling road) ; bit 6: map destination is [wLastBlackoutMap] (usually the last used pokemon center, but could be the player's house) - ds 1 +wd732:: db -wFlags_D733:: ; bit 0: running a test battle ; bit 1: prevent music from changing when entering new map ; bit 2: skip the joypad check in CheckWarpsNoCollision (used for the forced warp down the waterfall in the Seafoam Islands) ; bit 3: trainer wants to battle -; bit 4: use variable [wCurMapScript] instead of the provided index FOR next frame's map script (used to start battle when talking to trainers) +; bit 4: use variable [wCurMapScript] instead of the provided index for next frame's map script (used to start battle when talking to trainers) ; bit 7: used fly out of battle - ds 1 +wFlags_D733:: db -wBeatLorelei:: ; bit 1: set when you beat Lorelei and reset in Indigo Plateau lobby ; the game uses this to tell when Elite 4 events need to be reset - ds 1 +wBeatLorelei:: db ds 1 -wd736:: ; bit 0: check if the player is standing on a door and make him walk down a step if so ; bit 1: the player is currently stepping down from a door ; bit 2: standing on a warp ; bit 6: jumping down a ledge / fishing animation ; bit 7: player sprite spinning due to spin tiles (Rocket hideout / Viridian Gym) - ds 1 +wd736:: db wCompletedInGameTradeFlags:: dw @@ -2683,30 +2426,25 @@ wSecondLockTrashCanIndex:: db ds 2 -wEventFlags:: - flag_array NUM_EVENTS +wEventFlags:: flag_array NUM_EVENTS UNION wGrassRate:: db -wGrassMons:: - ds 10 * 2 +wGrassMons:: ds 10 * 2 ds 8 wWaterRate:: db -wWaterMons:: - ds 10 * 2 +wWaterMons:: ds 10 * 2 NEXTU -wLinkEnemyTrainerName:: ; linked game's trainer name - ds NAME_LENGTH +wLinkEnemyTrainerName:: ds NAME_LENGTH ds 1 -wSerialEnemyDataBlock:: -; ds $1a8 +wSerialEnemyDataBlock:: ; ds $1a8 ds 9 @@ -2738,16 +2476,15 @@ wTrainerHeaderPtr:: dw ds 6 -wOpponentAfterWrongAnswer:: ; the trainer the player must face after getting a wrong answer in the Cinnabar ; gym quiz +wOpponentAfterWrongAnswer:: wUnusedDA38:: db -wCurMapScript:: ; index of current map script, mostly used as index for function pointer array ; mostly copied from map-specific map script pointer and written back later - ds 1 +wCurMapScript:: db ds 7 @@ -2762,10 +2499,9 @@ wSafariZoneGameOver:: db wNumSafariBalls:: db -wDayCareInUse:: ; 0 if no pokemon is in the daycare ; 1 if pokemon is in the daycare - ds 1 +wDayCareInUse:: db wDayCareMonName:: ds NAME_LENGTH wDayCareMonOT:: ds NAME_LENGTH @@ -2781,7 +2517,6 @@ wBoxCount:: ds 1 wBoxSpecies:: ds MONS_PER_BOX + 1 wBoxMons:: - ; wBoxMon1 - wBoxMon20 FOR n, 1, MONS_PER_BOX + 1 wBoxMon{d:n}:: box_struct wBoxMon{d:n} @@ -2807,8 +2542,7 @@ SECTION "Stack", WRAM0 ; the stack grows downward ds $100 - 1 -wStack:: - ds 1 +wStack:: db INCLUDE "sram.asm" From 7b5bcbc024b1a94de240c813cf2f25bbc2d4a505 Mon Sep 17 00:00:00 2001 From: Amber Brault Date: Mon, 31 May 2021 16:00:32 -0400 Subject: [PATCH 035/119] Update CeruleanCity.asm --- scripts/CeruleanCity.asm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index d72174c7..ae4350cd 100644 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -80,7 +80,7 @@ ENDC ld a, $f0 ld [wJoyIgnore], a ld a, [wXCoord] - cp 20 ;is the player standing on the right side of the bridge? + cp 20 ; is the player standing on the right side of the bridge? jr z, .playerOnRightSideOfBridge ld a, $1 ldh [hSpriteIndex], a @@ -183,7 +183,7 @@ CeruleanCityScript2: ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] - cp 20 ;is the player standing on the right side of the bridge? + cp 20 ; is the player standing on the right side of the bridge? jr nz, .playerOnRightSideOfBridge ld de, CeruleanCityMovement4 jr .skip @@ -361,19 +361,19 @@ CeruleanCityText6: CeruleanCityText7: text_asm ldh a, [hRandomAdd] - cp 180 ;76/256 chance of 1st dialogue + cp 180 ; 76/256 chance of 1st dialogue jr c, .notFirstText ld hl, CeruleanCityText_19730 call PrintText jr .end .notFirstText - cp 100 ;80/256 chance of 2nd dialogue + cp 100 ; 80/256 chance of 2nd dialogue jr c, .notSecondText ld hl, CeruleanCityText_19735 call PrintText jr .end .notSecondText - ;100/256 chance of 3rd dialogue + ; 100/256 chance of 3rd dialogue ld hl, CeruleanCityText_1973a call PrintText .end @@ -394,25 +394,25 @@ CeruleanCityText_1973a: CeruleanCityText8: text_asm ldh a, [hRandomAdd] - cp 180 ;76/256 chance of 1st dialogue + cp 180 ; 76/256 chance of 1st dialogue jr c, .notFirstText ld hl, CeruleanCityText_1976f call PrintText jr .end .notFirstText - cp 120 ;60/256 chance of 2nd dialogue + cp 120 ; 60/256 chance of 2nd dialogue jr c, .notSecondText ld hl, CeruleanCityText_19774 call PrintText jr .end .notSecondText - cp 60 ;60/256 chance of 3rd dialogue + cp 60 ; 60/256 chance of 3rd dialogue jr c, .notThirdText ld hl, CeruleanCityText_19779 call PrintText jr .end .notThirdText - ;60/256 chance of 4th dialogue + ; 60/256 chance of 4th dialogue ld hl, CeruleanCityText_1977e call PrintText .end From f9ae7b1240863b4311d24944ae7ec3c1d9b24507 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 31 May 2021 16:25:16 -0400 Subject: [PATCH 036/119] More WRAM label cleanup (still needs UNIONs and renaming) --- engine/battle/core.asm | 8 +- engine/items/town_map.asm | 2 +- engine/menus/party_menu.asm | 2 +- engine/predefs.asm | 10 +- home/overworld.asm | 42 +- home/predef.asm | 12 +- macros/wram.asm | 11 + scripts/VermilionDock.asm | 4 +- wram.asm | 800 ++++++++++++------------------------ 9 files changed, 308 insertions(+), 583 deletions(-) diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 8eee39d2..f325350f 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6900,9 +6900,9 @@ ResetCryModifiers: ; animates the mon "growing" out of the pokeball AnimateSendingOutMon: - ld a, [wPredefRegisters] + ld a, [wPredefHL] ld h, a - ld a, [wPredefRegisters + 1] + ld a, [wPredefHL + 1] ld l, a ldh a, [hStartTileID] ldh [hBaseTileID], a @@ -6940,9 +6940,9 @@ AnimateSendingOutMon: jr CopyUncompressedPicToHL CopyUncompressedPicToTilemap: - ld a, [wPredefRegisters] + ld a, [wPredefHL] ld h, a - ld a, [wPredefRegisters + 1] + ld a, [wPredefHL + 1] ld l, a ldh a, [hStartTileID] CopyUncompressedPicToHL:: diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index 42d313d9..a12c0c8a 100644 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -249,7 +249,7 @@ ToText: db "To@" BuildFlyLocationsList: - ld hl, wFlyLocationsList - 1 + ld hl, wFlyAnimUsingCoordList ld [hl], $ff inc hl ld a, [wTownVisitedFlag] diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index ddb92f75..f77beb26 100644 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -131,7 +131,7 @@ RedrawPartyMenu_:: ld l, a ld de, wEvosMoves ld a, BANK(EvosMovesPointerTable) - ld bc, wEvosMoves.end - wEvosMoves + ld bc, wEvosMovesEnd - wEvosMoves call FarCopyData ld hl, wEvosMoves ld de, .notAbleToEvolveText diff --git a/engine/predefs.asm b/engine/predefs.asm index a9877739..faf0029e 100644 --- a/engine/predefs.asm +++ b/engine/predefs.asm @@ -1,20 +1,20 @@ GetPredefPointer:: -; Store the contents of the register -; pairs (hl, de, bc) at wPredefRegisters. +; Back up the contents of the registers (hl, de, bc). ; Then put the bank and address of predef ; wPredefID in [wPredefBank] and hl. ld a, h - ld [wPredefRegisters], a + ld [wPredefHL], a ld a, l - ld [wPredefRegisters + 1], a + ld [wPredefHL + 1], a - ld hl, wPredefRegisters + 2 + ld hl, wPredefDE ld a, d ld [hli], a ld a, e ld [hli], a + ASSERT wPredefDE + 2 == wPredefBC ld a, b ld [hli], a ld [hl], c diff --git a/home/overworld.asm b/home/overworld.asm index be2c5d55..eb6f2ddb 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -550,7 +550,7 @@ CheckMapConnections:: ld a, [wXCoord] cp $ff jr nz, .checkEastMap - ld a, [wMapConn3Ptr] + ld a, [wWestConnectedMap] ld [wCurMap], a ld a, [wWestConnectedMapXAlignment] ; new X coordinate upon entering west map ld [wXCoord], a @@ -587,7 +587,7 @@ CheckMapConnections:: ld a, [wCurrentMapWidth2] ; map width cp b jr nz, .checkNorthMap - ld a, [wMapConn4Ptr] + ld a, [wEastConnectedMap] ld [wCurMap], a ld a, [wEastConnectedMapXAlignment] ; new X coordinate upon entering east map ld [wXCoord], a @@ -623,7 +623,7 @@ CheckMapConnections:: ld a, [wYCoord] cp $ff jr nz, .checkSouthMap - ld a, [wMapConn1Ptr] + ld a, [wNorthConnectedMap] ld [wCurMap], a ld a, [wNorthConnectedMapYAlignment] ; new Y coordinate upon entering north map ld [wYCoord], a @@ -651,7 +651,7 @@ CheckMapConnections:: ld a, [wCurrentMapHeight2] cp b jr nz, .didNotEnterConnectedMap - ld a, [wMapConn2Ptr] + ld a, [wSouthConnectedMap] ld [wCurMap], a ld a, [wSouthConnectedMapYAlignment] ; new Y coordinate upon entering south map ld [wYCoord], a @@ -937,7 +937,7 @@ LoadTileBlockMap:: dec b jr nz, .rowLoop .northConnection - ld a, [wMapConn1Ptr] + ld a, [wNorthConnectedMap] cp $ff jr z, .southConnection call SwitchToMapRomBank @@ -949,13 +949,13 @@ LoadTileBlockMap:: ld e, a ld a, [wNorthConnectionStripDest + 1] ld d, a - ld a, [wNorthConnectionStripWidth] + ld a, [wNorthConnectionStripLength] ldh [hNorthSouthConnectionStripWidth], a ld a, [wNorthConnectedMapWidth] ldh [hNorthSouthConnectedMapWidth], a call LoadNorthSouthConnectionsTileMap .southConnection - ld a, [wMapConn2Ptr] + ld a, [wSouthConnectedMap] cp $ff jr z, .westConnection call SwitchToMapRomBank @@ -967,13 +967,13 @@ LoadTileBlockMap:: ld e, a ld a, [wSouthConnectionStripDest + 1] ld d, a - ld a, [wSouthConnectionStripWidth] + ld a, [wSouthConnectionStripLength] ldh [hNorthSouthConnectionStripWidth], a ld a, [wSouthConnectedMapWidth] ldh [hNorthSouthConnectedMapWidth], a call LoadNorthSouthConnectionsTileMap .westConnection - ld a, [wMapConn3Ptr] + ld a, [wWestConnectedMap] cp $ff jr z, .eastConnection call SwitchToMapRomBank @@ -985,13 +985,13 @@ LoadTileBlockMap:: ld e, a ld a, [wWestConnectionStripDest + 1] ld d, a - ld a, [wWestConnectionStripHeight] + ld a, [wWestConnectionStripLength] ld b, a ld a, [wWestConnectedMapWidth] ldh [hEastWestConnectedMapWidth], a call LoadEastWestConnectionsTileMap .eastConnection - ld a, [wMapConn4Ptr] + ld a, [wEastConnectedMap] cp $ff jr z, .done call SwitchToMapRomBank @@ -1003,7 +1003,7 @@ LoadTileBlockMap:: ld e, a ld a, [wEastConnectionStripDest + 1] ld d, a - ld a, [wEastConnectionStripHeight] + ld a, [wEastConnectionStripLength] ld b, a ld a, [wEastConnectedMapWidth] ldh [hEastWestConnectedMapWidth], a @@ -2046,32 +2046,32 @@ LoadMapHeader:: jr nz, .copyFixedHeaderLoop ; initialize all the connected maps to disabled at first, before loading the actual values ld a, $ff - ld [wMapConn1Ptr], a - ld [wMapConn2Ptr], a - ld [wMapConn3Ptr], a - ld [wMapConn4Ptr], a + ld [wNorthConnectedMap], a + ld [wSouthConnectedMap], a + ld [wWestConnectedMap], a + ld [wEastConnectedMap], a ; copy connection data (if any) to WRAM ld a, [wMapConnections] ld b, a .checkNorth bit 3, b jr z, .checkSouth - ld de, wMapConn1Ptr + ld de, wNorthConnectionHeader call CopyMapConnectionHeader .checkSouth bit 2, b jr z, .checkWest - ld de, wMapConn2Ptr + ld de, wSouthConnectionHeader call CopyMapConnectionHeader .checkWest bit 1, b jr z, .checkEast - ld de, wMapConn3Ptr + ld de, wWestConnectionHeader call CopyMapConnectionHeader .checkEast bit 0, b jr z, .getObjectDataPointer - ld de, wMapConn4Ptr + ld de, wEastConnectionHeader call CopyMapConnectionHeader .getObjectDataPointer ld a, [hli] @@ -2094,7 +2094,7 @@ LoadMapHeader:: ld c, a ld de, wWarpEntries .warpLoop ; one warp per loop iteration - ld b, $04 + ld b, 4 .warpInnerLoop ld a, [hli] ld [de], a diff --git a/home/predef.asm b/home/predef.asm index 69aa7347..14ac07b5 100644 --- a/home/predef.asm +++ b/home/predef.asm @@ -35,16 +35,16 @@ Predef:: GetPredefRegisters:: ; Restore the contents of register pairs ; when GetPredefPointer was called. - ld a, [wPredefRegisters + 0] + ld a, [wPredefHL] ld h, a - ld a, [wPredefRegisters + 1] + ld a, [wPredefHL + 1] ld l, a - ld a, [wPredefRegisters + 2] + ld a, [wPredefDE] ld d, a - ld a, [wPredefRegisters + 3] + ld a, [wPredefDE + 1] ld e, a - ld a, [wPredefRegisters + 4] + ld a, [wPredefBC] ld b, a - ld a, [wPredefRegisters + 5] + ld a, [wPredefBC + 1] ld c, a ret diff --git a/macros/wram.asm b/macros/wram.asm index 9d412f2d..872e7f57 100644 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -102,3 +102,14 @@ sprite_oam_struct: MACRO \1TileID:: db \1Attributes:: db ENDM + +map_connection_struct: MACRO +\1ConnectedMap:: db +\1ConnectionStripSrc:: dw +\1ConnectionStripDest:: dw +\1ConnectionStripLength:: db +\1ConnectedMapWidth:: db +\1ConnectedMapYAlignment:: db +\1ConnectedMapXAlignment:: db +\1ConnectedMapViewPointer:: dw +ENDM diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index ea1fae79..f98e1250 100644 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -182,12 +182,12 @@ VermilionDock_1dc7c: VermilionDock_EraseSSAnne: ; Fill the area the S.S. Anne occupies in BG map 0 with water tiles. ld hl, wVermilionDockTileMapBuffer - ld bc, (5 * BG_MAP_WIDTH) + SCREEN_WIDTH + ld bc, wVermilionDockTileMapBufferEnd - wVermilionDockTileMapBuffer ld a, $14 ; water tile call FillMemory hlbgcoord 0, 10 ld de, wVermilionDockTileMapBuffer - ld bc, (6 * BG_MAP_WIDTH) / 16 + lb bc, BANK(wVermilionDockTileMapBuffer), 12 call CopyVideoData ; Replace the blocks of the lower half of the ship with water blocks. This diff --git a/wram.asm b/wram.asm index 4a83a8e8..da21cc43 100644 --- a/wram.asm +++ b/wram.asm @@ -26,83 +26,54 @@ wStereoPanning:: db wSavedVolume:: db -wChannelCommandPointers:: ds 16 +wChannelCommandPointers:: ds NUM_CHANNELS * 2 +wChannelReturnAddresses:: ds NUM_CHANNELS * 2 -wChannelReturnAddresses:: ds 16 - -wChannelSoundIDs:: ds 8 - -wChannelFlags1:: ds 8 - -wChannelFlags2:: ds 8 - -wChannelDutyCycles:: ds 8 - -wChannelDutyCyclePatterns:: ds 8 +wChannelSoundIDs:: ds NUM_CHANNELS +wChannelFlags1:: ds NUM_CHANNELS +wChannelFlags2:: ds NUM_CHANNELS +wChannelDutyCycles:: ds NUM_CHANNELS +wChannelDutyCyclePatterns:: ds NUM_CHANNELS ; reloaded at the beginning of a note. counts down until the vibrato begins. -wChannelVibratoDelayCounters:: ds 8 - -wChannelVibratoExtents:: ds 8 - +wChannelVibratoDelayCounters:: ds NUM_CHANNELS +wChannelVibratoExtents:: ds NUM_CHANNELS ; high nybble is rate (counter reload value) and low nybble is counter. ; time between applications of vibrato. -wChannelVibratoRates:: ds 8 - -wChannelFrequencyLowBytes:: ds 8 - +wChannelVibratoRates:: ds NUM_CHANNELS +wChannelFrequencyLowBytes:: ds NUM_CHANNELS ; delay of the beginning of the vibrato from the start of the note -wChannelVibratoDelayCounterReloadValues:: ds 8 - -wChannelPitchSlideLengthModifiers:: ds 8 - -wChannelPitchSlideFrequencySteps:: ds 8 - -wChannelPitchSlideFrequencyStepsFractionalPart:: ds 8 - -wChannelPitchSlideCurrentFrequencyFractionalPart:: ds 8 - -wChannelPitchSlideCurrentFrequencyHighBytes:: ds 8 - -wChannelPitchSlideCurrentFrequencyLowBytes:: ds 8 - -wChannelPitchSlideTargetFrequencyHighBytes:: ds 8 - -wChannelPitchSlideTargetFrequencyLowBytes:: ds 8 - +wChannelVibratoDelayCounterReloadValues:: ds NUM_CHANNELS +wChannelPitchSlideLengthModifiers:: ds NUM_CHANNELS +wChannelPitchSlideFrequencySteps:: ds NUM_CHANNELS +wChannelPitchSlideFrequencyStepsFractionalPart:: ds NUM_CHANNELS +wChannelPitchSlideCurrentFrequencyFractionalPart:: ds NUM_CHANNELS +wChannelPitchSlideCurrentFrequencyHighBytes:: ds NUM_CHANNELS +wChannelPitchSlideCurrentFrequencyLowBytes:: ds NUM_CHANNELS +wChannelPitchSlideTargetFrequencyHighBytes:: ds NUM_CHANNELS +wChannelPitchSlideTargetFrequencyLowBytes:: ds NUM_CHANNELS ; Note delays are stored as 16-bit fixed-point numbers where the integer part ; is 8 bits and the fractional part is 8 bits. -wChannelNoteDelayCounters:: ds 8 - -wChannelLoopCounters:: ds 8 - -wChannelNoteSpeeds:: ds 8 - -wChannelNoteDelayCountersFractionalPart:: ds 8 - -wChannelOctaves:: ds 8 - +wChannelNoteDelayCounters:: ds NUM_CHANNELS +wChannelLoopCounters:: ds NUM_CHANNELS +wChannelNoteSpeeds:: ds NUM_CHANNELS +wChannelNoteDelayCountersFractionalPart:: ds NUM_CHANNELS +wChannelOctaves:: ds NUM_CHANNELS ; also includes fade for hardware channels that support it -wChannelVolumes:: ds 8 +wChannelVolumes:: ds NUM_CHANNELS wMusicWaveInstrument:: db - wSfxWaveInstrument:: db - wMusicTempo:: dw - wSfxTempo:: dw - wSfxHeaderPointer:: dw wNewSoundID:: db wAudioROMBank:: db - wAudioSavedROMBank:: db wFrequencyModifier:: db - wTempoModifier:: db ds 13 @@ -288,43 +259,33 @@ wTextDest:: dw ; if non-zero, skip waiting for a button press after displaying text in DisplayTextID wDoNotWaitForButtonPressAfterDisplayingText:: db -; the final received nybble is stored here by Serial_SyncAndExchangeNybble -wSerialSyncAndExchangeNybbleReceiveData:: +UNION +; the received menu selection is stored twice +wLinkMenuSelectionReceiveBuffer:: dw + ds 3 +; the menu selection byte is stored twice before sending +wLinkMenuSelectionSendBuffer:: dw + ds 3 +wEnteringCableClub:: +wLinkTimeoutCounter:: db +NEXTU ; temporary nybble used by Serial_ExchangeNybble wSerialExchangeNybbleTempReceiveData:: - -; two byte buffer -; the received menu selection is stored twice -wLinkMenuSelectionReceiveBuffer:: db - +; the final received nybble is stored here by Serial_SyncAndExchangeNybble +wSerialSyncAndExchangeNybbleReceiveData:: db ; the final received nybble is stored here by Serial_ExchangeNybble wSerialExchangeNybbleReceiveData:: db - ds 3 - ; this nybble is sent when using Serial_SyncAndExchangeNybble or Serial_ExchangeNybble -wSerialExchangeNybbleSendData:: - -; two byte buffer -; the menu selection byte is stored twice before sending -wLinkMenuSelectionSendBuffer:: - - ds 5 - -; 1 byte -wLinkTimeoutCounter:: - -; 2 bytes -wUnknownSerialCounter:: - -; 1 byte -wEnteringCableClub:: dw +wSerialExchangeNybbleSendData:: db + ds 4 +wUnknownSerialCounter:: dw +ENDU ; $00 = player mons ; $01 = enemy mons wWhichTradeMonSelectionMenu:: - ; 0 = player's party ; 1 = enemy party ; 2 = current box @@ -348,7 +309,9 @@ wCheckFor180DegreeTurn:: db wMissableObjectIndex:: db wPredefID:: db -wPredefRegisters:: ds 6 +wPredefHL:: dw +wPredefDE:: dw +wPredefBC:: dw wTrainerHeaderFlagBit:: db @@ -363,42 +326,37 @@ wNPCMovementScriptBank:: db ds 2 -wUnusedCC5B:: +wVermilionDockTileMapBuffer:: ; ds 5 * BG_MAP_WIDTH + SCREEN_WIDTH -; 180 bytes -wVermilionDockTileMapBuffer:: +wOaksAideRewardItemName:: ; ds ITEM_NAME_LENGTH -wOaksAideRewardItemName:: - -wDexRatingNumMonsSeen:: +wElevatorWarpMaps:: ; ds 11 * 2 ; List of bag items that has been filtered to a certain type of items, ; such as drinks or fossils. -wFilteredBagItems:: - -wElevatorWarpMaps:: +wFilteredBagItems:: ; ds 3 + 1 ; Saved copy of OAM for the first frame of the animation to make it easy to ; flip back from the second frame. -; $60 bytes -wMonPartySpritesSavedOAM:: +wMonPartySpritesSavedOAM:: ; ds $60 -; $40 bytes -wTrainerCardBlkPacket:: +wTrainerCardBlkPacket:: ; ds $40 +wHallOfFame:: ; ds HOF_TEAM + +wNPCMovementDirections:: ; ds $ff + +wBoostExpByExpAll:: +; values between 0-6. Shake screen horizontally, shake screen vertically, blink Pokemon... +wAnimationType:: ; If a random number greater than this value is generated, then the player is ; allowed to have three 7 symbols or bar symbols line up. ; So, this value is actually the chance of NOT entering that mode. ; If the slot is lucky, it equals 250, giving a 5/256 (~2%) chance. ; Otherwise, it equals 253, giving a 2/256 (~0.8%) chance. wSlotMachineSevenAndBarModeChance:: - -; values between 0-6. Shake screen horizontally, shake screen vertically, blink Pokemon... -wHallOfFame:: -wBoostExpByExpAll:: -wAnimationType:: - -wNPCMovementDirections:: db +wUnusedCC5B:: +wDexRatingNumMonsSeen:: db wDexRatingNumMonsOwned:: db @@ -420,24 +378,22 @@ wNumStepsToTake:: db NEXTU ; temporary buffer when swapping party mon data -wSwitchPartyMonTempBuffer:: ds 49 +wSwitchPartyMonTempBuffer:: ds 44 ; party_struct size ENDU - ds 10 + ds 15 wRLEByteCount:: db -; 0 = not added -; 1 = added -wAddedToParty:: - ; this is the end of the joypad states ; the list starts above this address and extends downwards in memory until here ; overloaded with below labels wSimulatedJoypadStatesEnd:: wParentMenuItem:: - +; 0 = not added +; 1 = added +wAddedToParty:: ; 1 flag for each party member indicating whether it can evolve ; The purpose of these flags is to track which mons levelled up during the ; current battle at the end of the battle when evolution occurs. @@ -491,24 +447,24 @@ wSafariBaitFactor:: db wTransformedEnemyMonOriginalDVs:: dw -wMonIsDisobedient:: ds 1 +wMonIsDisobedient:: db -wPlayerDisabledMoveNumber:: ds 1 -wEnemyDisabledMoveNumber:: ds 1 +wPlayerDisabledMoveNumber:: db +wEnemyDisabledMoveNumber:: db ; When running in the scope of HandlePlayerMonFainted, it equals 1. ; When running in the scope of HandleEnemyMonFainted, it equals 0. wInHandlePlayerMonFainted:: db -wPlayerUsedMove:: ds 1 -wEnemyUsedMove:: ds 1 +wPlayerUsedMove:: db +wEnemyUsedMove:: db -wEnemyMonMinimized:: ds 1 +wEnemyMonMinimized:: db -wMoveDidntMiss:: ds 1 +wMoveDidntMiss:: db ; flags that indicate which party members have fought the current enemy mon -wPartyFoughtCurrentEnemyFlags:: flag_array 6 +wPartyFoughtCurrentEnemyFlags:: flag_array PARTY_LENGTH ; Whether the low health alarm has been disabled due to the player winning the ; battle. @@ -518,28 +474,33 @@ wPlayerMonMinimized:: db ds 13 +UNION wLuckySlotHiddenObjectIndex:: - ; number of hits by enemy in attacks like Double Slap, etc. -wEnemyNumHits:: +wEnemyNumHits:: db +NEXTU ; the amount of damage accumulated by the enemy while biding (2 bytes) -wEnemyBideAccumulatedDamage:: +wEnemyBideAccumulatedDamage:: dw +ENDU - ds 10 + ds 8 -wInGameTradeGiveMonSpecies:: +wVermilionDockTileMapBufferEnd:: +UNION +wInGameTradeGiveMonSpecies:: db +wInGameTradeTextPointerTablePointer:: dw +wInGameTradeTextPointerTableIndex:: db +wInGameTradeGiveMonName:: ds NAME_LENGTH +wInGameTradeReceiveMonName:: ds NAME_LENGTH +wInGameTradeMonNick:: ds NAME_LENGTH +wInGameTradeReceiveMonSpecies:: db + +NEXTU wPlayerMonUnmodifiedLevel:: db - -wInGameTradeTextPointerTablePointer:: - wPlayerMonUnmodifiedMaxHP:: dw - -wInGameTradeTextPointerTableIndex:: - -wPlayerMonUnmodifiedAttack:: db -wInGameTradeGiveMonName:: db +wPlayerMonUnmodifiedAttack:: dw wPlayerMonUnmodifiedDefense:: dw wPlayerMonUnmodifiedSpeed:: dw wPlayerMonUnmodifiedSpecial:: dw @@ -547,20 +508,14 @@ wPlayerMonUnmodifiedSpecial:: dw ; stat modifiers for the player's current pokemon ; value can range from 1 - 13 ($1 to $D) ; 7 is normal - wPlayerMonStatMods:: wPlayerMonAttackMod:: db wPlayerMonDefenseMod:: db wPlayerMonSpeedMod:: db wPlayerMonSpecialMod:: db - -wInGameTradeReceiveMonName:: - wPlayerMonAccuracyMod:: db wPlayerMonEvasionMod:: db - ds 2 - wPlayerMonStatModsEnd:: ds 1 @@ -568,21 +523,13 @@ wPlayerMonStatModsEnd:: wEnemyMonUnmodifiedLevel:: db wEnemyMonUnmodifiedMaxHP:: dw wEnemyMonUnmodifiedAttack:: dw -wEnemyMonUnmodifiedDefense:: db - -; ds 11 -wInGameTradeMonNick:: db - +wEnemyMonUnmodifiedDefense:: dw wEnemyMonUnmodifiedSpeed:: dw -wEnemyMonUnmodifiedSpecial:: db - -wEngagedTrainerClass:: db -wEngagedTrainerSet:: ; db +wEnemyMonUnmodifiedSpecial:: dw ; stat modifiers for the enemy's current pokemon ; value can range from 1 - 13 ($1 to $D) ; 7 is normal - wEnemyMonStatMods:: wEnemyMonAttackMod:: db wEnemyMonDefenseMod:: db @@ -590,19 +537,19 @@ wEnemyMonSpeedMod:: db wEnemyMonSpecialMod:: db wEnemyMonAccuracyMod:: db wEnemyMonEvasionMod:: db - -wInGameTradeReceiveMonSpecies:: db - - ds 1 - + ds 2 wEnemyMonStatModsEnd:: +NEXTU + ds 30 +wEngagedTrainerClass:: db +wEngagedTrainerSet:: db +ENDU + ds 1 wNPCMovementDirections2Index:: - wUnusedCD37:: - ; number of items in wFilteredBagItems list wFilteredBagItemsCount:: db @@ -622,275 +569,193 @@ wOverrideSimulatedJoypadStatesMask:: db ds 1 -; up to 20 bytes (one byte for each falling object) -wFallingObjectsMovementData:: +; one byte for each falling object +wFallingObjectsMovementData:: ; ds 20 + +; array of the number of mons in each box +wBoxMonCounts:: ; ds NUM_BOXES + +; BCD number +wPriceTemp:: ; ds 3 + +; the current mon's field moves +wFieldMoves:: ; ds NUM_MOVES + +wBoxNumString:: ; ds 3 wSavedY:: - wTempSCX:: - ; 0 = upper half (Y < 9) ; 1 = lower half (Y >= 9) wBattleTransitionCircleScreenQuadrantY:: - ; 2 bytes ; after 1 row/column has been copied, the offset to the next one to copy from wBattleTransitionCopyTilesOffset:: - ; counts down from 7 so that every time 7 more tiles of the spiral have been ; placed, the tile map buffer is copied to VRAM so that progress is visible wInwardSpiralUpdateScreenCounter:: - wHoFTeamIndex:: - ; multiplied by 16 to get the number of times to go right by 2 pixels wSSAnneSmokeDriftAmount:: - wRivalStarterTemp:: - -; 12 bytes -; array of the number of mons in each box -wBoxMonCounts:: - wDexMaxSeenMon:: - wPPRestoreItem:: - wWereAnyMonsAsleep:: - wCanPlaySlots:: - wNumShakes:: - ; the level of the mon at the time it entered day care wDayCareStartLevel:: - wWhichBadge:: - -; 3-byte BCD number -wPriceTemp:: - wTitleMonSpecies:: - wPlayerCharacterOAMTile:: - ; the number of small stars OAM entries to move down wMoveDownSmallStarsOAMCount:: - wChargeMoveNum:: - wCoordIndex:: - wOptionsTextSpeedCursorX:: - wTrainerInfoTextBoxWidthPlus1:: - wSwappedMenuItem:: - wHoFMonSpecies:: - -; 4 bytes -; the current mon's field moves -wFieldMoves:: - ; tile ID of the badge number being drawn wBadgeNumberTile:: - ; 0 = no bite ; 1 = bite ; 2 = no fish on map wRodResponse:: - wWhichTownMapLocation:: - ; which wheel the player is trying to stop ; 0 = none, 1 = wheel 1, 2 = wheel 2, 3 or greater = wheel 3 wStoppingWhichSlotMachineWheel:: - wTradedPlayerMonSpecies:: - wTradingWhichPlayerMon:: - wChangeBoxSavedMapTextPointer:: - wFlyAnimUsingCoordList:: - wPlayerSpinInPlaceAnimFrameDelay:: - wPlayerSpinWhileMovingUpOrDownAnimDeltaY:: - -wBoxNumString:: - wHiddenObjectFunctionArgument:: - ; which entry from TradeMons to select wWhichTrade:: - wTrainerSpriteOffset:: +wUnusedCD3D:: + db -wUnusedCD3D:: db +; $ff sentinel values at each end +wFlyLocationsList:: ; ds NUM_CITY_MAPS + 2 ; difference in X between the next ball and the current one wHUDPokeballGfxOffsetX:: - ; 0 = left half (X < 10) ; 1 = right half (X >= 10) wBattleTransitionCircleScreenQuadrantX:: - wSSAnneSmokeX:: - wRivalStarterBallSpriteIndex:: - wDayCareNumLevelsGrown:: - wOptionsBattleAnimCursorX:: - wTrainerInfoTextBoxWidth:: - wHoFPartyMonIndex:: - ; the number of credits mons that have been displayed so far wNumCreditsMonsDisplayed:: - ; first tile ID of the name being drawn wBadgeNameTile:: - -; NUM_CITY_MAPS bytes plus $ff sentinel values at each end -wFlyLocationsList:: - wSlotMachineWheel1Offset:: - wTradedEnemyMonSpecies:: - wTradingWhichEnemyMon:: - wFlyAnimCounter:: - wPlayerSpinInPlaceAnimFrameDelayDelta:: - wPlayerSpinWhileMovingUpOrDownAnimMaxY:: - wHiddenObjectFunctionRomBank:: +wTrainerEngageDistance:: + db -wTrainerEngageDistance:: db +wHUDGraphicsTiles:: ; ds 3 -; 3 bytes -wHUDGraphicsTiles:: +; BCD number +wDayCareTotalCost:: ; ds 2 -; 2-byte BCD number -wDayCareTotalCost:: - -wJigglypuffFacingDirections:: - -wOptionsBattleStyleCursorX:: - -wTrainerInfoTextBoxNextRowOffset:: - -wHoFMonLevel:: - -; 8 bytes ; a list of the first tile IDs of each badge or face (depending on whether the ; badge is owned) to be drawn on the trainer screen -wBadgeOrFaceTiles:: +wBadgeOrFaceTiles:: ; ds NUM_BADGES +wNameOfPlayerMonToBeTraded:: ; ds NAME_LENGTH + +wJigglypuffFacingDirections:: +wOptionsBattleStyleCursorX:: +wTrainerInfoTextBoxNextRowOffset:: +wHoFMonLevel:: wSlotMachineWheel2Offset:: - -wNameOfPlayerMonToBeTraded:: - wFlyAnimBirdSpriteImageIndex:: - wPlayerSpinInPlaceAnimFrameDelayEndValue:: - wPlayerSpinWhileMovingUpOrDownAnimFrameDelay:: - wHiddenObjectIndex:: - -wTrainerFacingDirection:: db +wTrainerFacingDirection:: + db ; show mon or show player? ; 0 = mon ; 1 = player wHoFMonOrPlayer:: - wSlotMachineWheel3Offset:: - wPlayerSpinInPlaceAnimSoundID:: - wHiddenObjectY:: - wTrainerScreenY:: +wOptionsCancelCursorX:: + db -wOptionsCancelCursorX:: db +; BCD number (always set to $100) +wDayCarePerLevelCost:: ; ds 2 -; 2-byte BCD number (always set to $100) -wDayCarePerLevelCost:: +wTradedPlayerMonOT:: ; ds NAME_LENGTH wHoFTeamIndex2:: - wHiddenItemOrCoinsIndex:: - -wTradedPlayerMonOT:: - wHiddenObjectX:: - ; the OAM tile number of the upper left corner of the winning symbol minus 2 wSlotMachineWinningSymbol:: - wNumFieldMoves:: - wSlotMachineWheel1BottomTile:: - -wTrainerScreenX:: db -; a lot of the uses for these values use more than the said address +wTrainerScreenX:: + db wHoFTeamNo:: - wSlotMachineWheel1MiddleTile:: +wFieldMovesLeftmostXCoord:: + db -wFieldMovesLeftmostXCoord:: db - -; unused -wLastFieldMoveID:: - -wSlotMachineWheel1TopTile:: db +wLastFieldMoveID:: ; unused +wSlotMachineWheel1TopTile:: + db wSlotMachineWheel2BottomTile:: db wSlotMachineWheel2MiddleTile:: db -; 2 bytes ; temporary variable used to add payout amount to the player's coins -wTempCoins1:: +wTempCoins1:: ; ds 2 wSlotMachineWheel2TopTile:: db ; 0 = outward, 1 = inward wBattleTransitionSpiralDirection:: - wSlotMachineWheel3BottomTile:: db -wSlotMachineWheel3MiddleTile:: - -; 4 bytes (also, the byte before the start of the list (wSlotMachineWheel3BottomTile) -; is used a temp variable when the list is rotated) ; used when spinning the player's sprite -wFacingDirectionList:: db +; also, the byte before the start of the list is +; used as a temp variable when the list is rotated +wFacingDirectionList:: ; ds 4 -wSlotMachineWheel3TopTile:: +wSlotMachineWheel3MiddleTile:: db -; 8 bytes ; temporary list created when displaying the badges on the trainer screen ; one byte for each badge; 0 = not obtained, 1 = obtained -wTempObtainedBadgesBooleans:: db +wTempObtainedBadgesBooleans:: ; ds NUM_BADGES + +wSlotMachineWheel3TopTile:: db -; 2 bytes ; temporary variable used to subtract the bet amount from the player's coins wTempCoins2:: - -; 2 bytes wPayoutCoins:: dw -wTradedPlayerMonOTID:: +wTradedPlayerMonOTID:: ; dw ; These flags are set randomly and control when the wheels stop. ; bit 6: allow the player to win in general @@ -899,34 +764,30 @@ wSlotMachineFlags:: db ; wheel 1 can "slip" while this is non-zero wSlotMachineWheel1SlipCounter:: - ; $3d = tree tile ; $52 = grass tile wCutTile:: db -; wheel 2 can "slip" while this is non-zero -wSlotMachineWheel2SlipCounter:: +wTradedEnemyMonOT:: ; ds NAME_LENGTH -wTradedEnemyMonOT:: db +; wheel 2 can "slip" while this is non-zero +wSlotMachineWheel2SlipCounter:: db wSavedPlayerScreenY:: - ; The remaining number of times wheel 3 will roll down a symbol until a match is ; found, when winning is enabled. It's initialized to 4 each bet. wSlotMachineRerollCounter:: - ; the index of the sprite the emotion bubble is to be displayed above wEmotionBubbleSpriteIndex:: db wWhichEmotionBubble:: - ; how many coins the player bet on the slot machine (1 to 3) wSlotMachineBet:: - wSavedPlayerFacingDirection:: - ; 0 = cut animation, 1 = boulder dust animation -wWhichAnimationOffsets:: ds 9 +wWhichAnimationOffsets:: db + + ds 8 wTradedEnemyMonOTID:: dw @@ -934,9 +795,7 @@ wTradedEnemyMonOTID:: dw ; 1 = warp pad ; 2 = hole wStandingOnWarpPadOrHole:: - wOAMBaseTile:: - wGymTrashCanIndex:: db wSymmetricSpriteOAMAttributes:: db @@ -976,84 +835,71 @@ wJoyIgnore:: db ; $00 = 5×5 ; $01 = 3×3 wDownscaledMonSize:: - ; FormatMovesString stores the number of moves minus one here wNumMovesMinusOne:: db UNION - wcd6d:: ds NAME_BUFFER_LENGTH ; buffer for various data NEXTU - - ds 4 - -; temp variable used to print a move's current PP on the status screen -wStatusScreenCurrentPP:: db - - ds 6 - -; list of normal max PP (without PP up) values -wNormalMaxPPList:: ds 9 +wEvosMoves:: ds MAX_EVOLUTIONS * EVOLUTION_SIZE + 1 +wEvosMovesEnd:: NEXTU - -wEvosMoves:: ds MAX_EVOLUTIONS * EVOLUTION_SIZE + 1 -.end:: - + ds 4 +; temp variable used to print a move's current PP on the status screen +wStatusScreenCurrentPP:: db + ds 6 +; list of normal max PP (without PP up) values +wNormalMaxPPList:: ds NUM_MOVES + ds 5 ENDU ; buffer for transferring the random number list generated by the other gameboy -wSerialOtherGameboyRandomNumberListBlock:: +wSerialOtherGameboyRandomNumberListBlock:: ; ds $11 ; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top) wTileMapBackup2:: ds 20 * 18 +; Temporary storage area +wBuffer:: ; ds 30 + wNamingScreenNameLength:: - wEvoOldSpecies:: - -; Temporary storage area of 30 bytes. -wBuffer:: - ; lower nybble is x, upper nybble is y wTownMapCoords:: - ; whether WriteMonMoves is being used to make a mon learn moves from day care ; non-zero if so wLearningMovesFromDayCare:: - wChangeMonPicEnemyTurnSpecies:: - -wHPBarMaxHP:: db +wHPBarMaxHP:: + db ; non-zero when the player has chosen to submit the name wNamingScreenSubmitName:: - wChangeMonPicPlayerTurnSpecies:: +wEvoNewSpecies:: + db -wEvoNewSpecies:: db +UNION +wHPBarOldHP:: dw +wHPBarNewHP:: dw +wHPBarDelta:: db +wHPBarTempHP:: dw + ds 11 +wHPBarHPDifference:: db +NEXTU ; 0 = upper case ; 1 = lower case wAlphabetCase:: - wEvoMonTileOffset:: - -wHPBarOldHP:: db + db wEvoCancelled:: db -wNamingScreenLetter:: - -wHPBarNewHP:: dw -wHPBarDelta:: db - -wHPBarTempHP:: dw - - ds 11 - -wHPBarHPDifference:: db +wNamingScreenLetter:: db +ENDU ds 7 @@ -1084,12 +930,12 @@ wBattleResult:: db ; bit 0: if set, DisplayTextID automatically draws a text box wAutoTextBoxDrawingControl:: db -wcf0d:: ds 1 ; used with some overworld scripts (not exactly sure what it's used for) +wcf0d:: db ; used with some overworld scripts (not exactly sure what it's used for) ; used in CheckForTilePairCollisions2 to store the tile the player is on wTilePlayerStandingOn:: db -wNPCNumScriptedSteps:: ds 1 +wNPCNumScriptedSteps:: db ; which script function within the pointer table indicated by ; wNPCMovementScriptPointerTableNum @@ -1101,7 +947,7 @@ wTextPredefFlag:: db wPredefParentBank:: db -wSpriteIndex:: ds 1 +wSpriteIndex:: db ; movement byte 2 of current sprite wCurSpriteMovement2:: db @@ -1122,7 +968,7 @@ wOnSGB:: db wDefaultPaletteCommand:: db -wPlayerHPBarColor:: +wPlayerHPBarColor:: ; dw ; species of the mon whose palette is used for the whole screen wWholeScreenPaletteMonSpecies:: db @@ -1132,27 +978,26 @@ wEnemyHPBarColor:: db ; 0: green ; 1: yellow ; 2: red -wPartyMenuHPBarColors:: ds 6 +wPartyMenuHPBarColors:: ds PARTY_LENGTH wStatusScreenHPBarColor:: db ds 7 wCopyingSGBTileData:: - wWhichPartyMenuHPBar:: +wPalPacket:: + db -wPalPacket:: db +wPartyMenuBlkPacket:: ; ds $30 -; $30 bytes -wPartyMenuBlkPacket:: ds 29 - -; 2-byte big-endian number -; the total amount of exp a mon gained -wExpAmountGained:: + ds 29 ; storage buffer for various strings -wcf4b:: dw +wcf4b:: ; ds 20 + +; the total amount of exp a mon gained +wExpAmountGained:: dw wGainBoostedExp:: db @@ -1166,13 +1011,12 @@ wItemList:: ds 16 wListPointer:: dw -; 2 bytes ; used to store pointers, but never read wUnusedCF8D:: dw wItemPrices:: dw -wcf91:: ds 1 ; used with a lot of things (too much to list here) +wcf91:: db ; used with a lot of things (too much to list here) ; which pokemon you selected wWhichPokemon:: db @@ -1185,14 +1029,12 @@ wPrintItemPrices:: db ; $01 = player HUD in battle / status screen ; $02 = party menu wHPBarType:: - ; ID used by DisplayListMenuID wListMenuID:: db ; if non-zero, RemovePokemon will remove the mon from the current box, ; else it will remove the mon from the party wRemoveMonFromBox:: - ; 0 = move from box to party ; 1 = move from party to box ; 2 = move from daycare to party @@ -1263,7 +1105,6 @@ wPlayerMoveType:: db wPlayerMoveAccuracy:: db wPlayerMoveMaxPP:: db - wEnemyMonSpecies2:: db wBattleMonSpecies2:: db @@ -1271,9 +1112,9 @@ wEnemyMonNick:: ds NAME_LENGTH wEnemyMon:: battle_struct wEnemyMon -wEnemyMonBaseStats:: ds 5 -wEnemyMonActualCatchRate:: ds 1 -wEnemyMonBaseExp:: ds 1 +wEnemyMonBaseStats:: ds NUM_STATS +wEnemyMonActualCatchRate:: db +wEnemyMonBaseExp:: db wBattleMonNick:: ds NAME_LENGTH wBattleMon:: battle_struct wBattleMon @@ -1287,12 +1128,14 @@ wTrainerPicPointer:: dw ds 1 -wTempMoveNameBuffer:: +wTempMoveNameBuffer:: ; ds 14 ; The name of the mon that is learning a move. -wLearnMoveMonName:: ds 16 +wLearnMoveMonName:: ; ds NAME_LENGTH -; 2-byte BCD number + ds 16 + +; BCD number ; money received after battle = base money × level of highest-level enemy mon wTrainerBaseMoney:: dw @@ -1312,7 +1155,7 @@ wTrainerName:: ds 13 wIsInBattle:: db ; flags that indicate which party members should be be given exp when GainExperience is called -wPartyGainExpFlags:: flag_array 6 +wPartyGainExpFlags:: flag_array PARTY_LENGTH ; in a wild battle, this is the species of pokemon ; in a trainer battle, this is the trainer class + OPP_ID_OFFSET @@ -1413,22 +1256,21 @@ wEnemyDisabledMove:: db ds 1 +; the amount of damage accumulated by the player while biding +wPlayerBideAccumulatedDamage:: ; dw + +wUnknownSerialCounter2:: ; dw + ; number of hits by player in attacks like Double Slap, etc. -wPlayerNumHits:: +wPlayerNumHits:: db -; the amount of damage accumulated by the player while biding (2 bytes) -wPlayerBideAccumulatedDamage:: - -; 2 bytes -wUnknownSerialCounter2:: - - ds 4 + ds 3 ; non-zero when an item or move that allows escape from battle was used wEscapedFromBattle:: db -; 3-byte BCD number -wAmountMoneyWon:: +; BCD number +wAmountMoneyWon:: ; ds 3 wObjectToHide:: db @@ -1438,16 +1280,12 @@ wObjectToShow:: db ; the map you will start at when the debug bit is set wDefaultMap:: - wMenuItemOffset:: - ; ID number of the current battle animation wAnimationID:: db wNamingScreenType:: - wPartyMenuTypeOrMessageID:: - ; temporary storage for the number of tiles in a tileset wTempTilesetNumTiles:: db @@ -1463,7 +1301,7 @@ wBaseCoordY:: db ; low health alarm counter/enable ; high bit = enable, others = timer to cycle frequencies -wLowHealthAlarm:: ds 1 +wLowHealthAlarm:: db ; counts how many tiles of the current frame block have been drawn wFBTileCounter:: db @@ -1483,42 +1321,32 @@ wSaveFileStatus:: db wNumFBTiles:: db wFlashScreenLongCounter:: - wSpiralBallsBaseY:: - ; bits 0-6: index into FallingObjects_DeltaXs array (0 - 8) ; bit 7: direction; 0 = right, 1 = left wFallingObjectMovementByte:: - wNumShootingBalls:: - ; $01 if mon is moving from left gameboy to right gameboy; $00 if vice versa wTradedMonMovingRight:: - wOptionsInitialized:: - wNewSlotMachineBallTile:: - ; how much to add to the X/Y coord wCoordAdjustmentAmount:: - -wUnusedD08A:: db +wUnusedD08A:: + db wSpiralBallsBaseX:: - wNumFallingObjects:: - wSlideMonDelay:: - ; generic counter variable for various animations wAnimCounter:: - ; controls what transformations are applied to the subanimation ; 01: flip horizontally and vertically ; 02: flip horizontally and translate downwards 40 pixels ; 03: translate base coordinates of frame blocks, but don't change their internal coordinates or flip their tiles ; 04: reverse the subanimation -wSubAnimTransform:: db +wSubAnimTransform:: + db wEndBattleWinTextPointer:: dw @@ -1533,25 +1361,23 @@ wEndBattleTextRomBank:: db ; the address _of the address_ of the current subanimation entry wSubAnimAddrPtr:: dw +; the address of the current subentry of the current subanimation +wSubAnimSubEntryAddr:: ; dw + ; If non-zero, the allow matches flag is always set. ; There is a 1/256 (~0.4%) chance that this value will be set to 60, which is ; the only way it can increase. Winning certain payout amounts will decrement it ; or zero it. -wSlotMachineAllowMatchesCounter:: +wSlotMachineAllowMatchesCounter:: db -; the address of the current subentry of the current subanimation -wSubAnimSubEntryAddr:: dw - - ds 2 + ds 3 wOutwardSpiralTileMapPointer:: db wPartyMenuAnimMonEnabled:: - ; non-zero when enabled. causes nest locations to blink on and off. ; the town selection cursor will blink regardless of what this value is wTownMapSpriteBlinkingEnabled:: - wUnusedD09B:: db ; current destination address in OAM for frame blocks (big endian) @@ -1568,25 +1394,19 @@ wFBMode:: db ; 0 = small ; 1 = big wLinkCableAnimBulgeToggle:: - wIntroNidorinoBaseTile:: - wOutwardSpiralCurrentDirection:: - wDropletTile:: - wNewTileBlockID:: - wWhichBattleAnimTileset:: - ; 0 = left ; 1 = right wSquishMonCurrentDirection:: - ; the tile ID of the leftmost tile in the bottom row in AnimationSlideMonUp_ -wSlideMonUpBottomRowLeftTile:: db +wSlideMonUpBottomRowLeftTile:: + db -wDisableVBlankWYUpdate:: ds 1 ; if non-zero, don't update WY during V-blank +wDisableVBlankWYUpdate:: db ; if non-zero, don't update WY during V-blank wSpriteCurPosX:: db wSpriteCurPosY:: db @@ -1621,44 +1441,34 @@ wSpriteDecodeTable0Ptr:: dw ; pointer to differential decoding table (assuming initial value 1) wSpriteDecodeTable1Ptr:: dw -wd0b5:: ds 1 ; used as a temp storage area for Pokemon Species, and other Pokemon/Battle related things +wd0b5:: db ; used as a temp storage area for Pokemon Species, and other Pokemon/Battle related things wNameListType:: db wPredefBank:: db wMonHeader:: - ; In the ROM base stats data structure, this is the dex number, but it is ; overwritten with the internal index number after the header is copied to WRAM. wMonHIndex:: db - wMonHBaseStats:: wMonHBaseHP:: db wMonHBaseAttack:: db wMonHBaseDefense:: db wMonHBaseSpeed:: db wMonHBaseSpecial:: db - wMonHTypes:: wMonHType1:: db wMonHType2:: db - wMonHCatchRate:: db wMonHBaseEXP:: db wMonHSpriteDim:: db wMonHFrontSprite:: dw wMonHBackSprite:: dw - wMonHMoves:: ds NUM_MOVES - wMonHGrowthRate:: db - -; bit field wMonHLearnset:: flag_array NUM_TMS + NUM_HMS - ds 1 - wMonHeaderEnd:: ; saved at the start of a battle and then written back at the end of the battle @@ -1698,25 +1508,19 @@ wCapturedMonSpecies:: db wFirstMonsNotOutYet:: db wPokeBallCaptureCalcTemp:: - ; lower nybble: number of shakes ; upper nybble: number of animations to play wPokeBallAnimData:: - wUsingPPUp:: - wMaxPP:: - ; 0 for player, non-zero for enemy wCalculateWhoseStats:: - wTypeEffectiveness:: - wMoveType:: - wNumSetBits:: - -wd11e:: ds 1 ; used as a Pokemon and Item storage value. Also used as an output value for CountSetBits +; used as a Pokemon and Item storage value. Also used as an output value for CountSetBits +wd11e:: + db ; When this value is non-zero, the player isn't allowed to exit the party menu ; by pressing B and not choosing a mon. @@ -1735,7 +1539,7 @@ wIsKeyItem:: db wTextBoxID:: db -wCurrentMapScriptFlags:: ds 1 ; not exactly sure what this is used for, but it seems to be used as a multipurpose temp flag value +wCurrentMapScriptFlags:: db ; not exactly sure what this is used for, but it seems to be used as a multipurpose temp flag value wCurEnemyLVL:: db @@ -1751,7 +1555,6 @@ wTwoOptionMenuID:: db ; the id of the menu item the player ultimately chose wChosenMenuItem:: - ; non-zero when the whole party has fainted due to out-of-battle poison damage wOutOfBattleBlackout:: db @@ -1766,23 +1569,17 @@ wMenuExitMethod:: db ; the size is always 6, so they didn't need a variable in RAM for this wDungeonWarpDataEntrySize:: - ; 0 = museum guy ; 1 = gym guy wWhichPewterGuy:: - ; there are 3 windows, from 0 to 2 wWhichPrizeWindow:: - ; a horizontal or vertical gate block wGymGateTileBlock:: db wSavedSpriteScreenY:: db - wSavedSpriteScreenX:: db - wSavedSpriteMapY:: db - wSavedSpriteMapX:: db ds 5 @@ -1809,9 +1606,7 @@ wPrize3:: db wSerialRandomNumberListBlock:: wPrize1Price:: dw - wPrize2Price:: dw - wPrize3Price:: dw ds 1 @@ -1819,8 +1614,7 @@ wPrize3Price:: dw ; shared list of 9 random numbers, indexed by wLinkBattleRandomNumberListIndex wLinkBattleRandomNumberList:: ds 10 -; the first 6 bytes are the preamble -wSerialPlayerDataBlock:: +wSerialPlayerDataBlock:: ; ds ... ; When a real item is being used, this is 0. ; When a move is acting as an item, this is the ID of the item it's acting as. @@ -1841,7 +1635,7 @@ wPlayerName:: ds NAME_LENGTH wPartyDataStart:: -wPartyCount:: ds 1 +wPartyCount:: db wPartySpecies:: ds PARTY_LENGTH + 1 wPartyMons:: @@ -1874,7 +1668,6 @@ wPokedexOwnedEnd:: wPokedexSeen:: flag_array NUM_POKEMON wPokedexSeenEnd:: - wNumBagItems:: db ; item, quantity wBagItems:: ds BAG_ITEM_CAPACITY * 2 + 1 @@ -1895,7 +1688,7 @@ wRivalName:: ds NAME_LENGTH ; 5: Slow wOptions:: db -wObtainedBadges:: flag_array 8 +wObtainedBadges:: flag_array NUM_BADGES ds 1 @@ -1908,7 +1701,6 @@ wLetterPrintingDelayFlags:: db wPlayerID:: dw wMapMusicSoundID:: db - wMapMusicROMBank:: db ; offset subtracted from FadePal4 to get the background and object palettes for the current map @@ -1922,12 +1714,10 @@ wCurrentTileBlockMapViewPointer:: dw ; player's position on the current map wYCoord:: db - wXCoord:: db -; player's y position (by block) +; player's position (by block) wYBlockCoord:: db - wXBlockCoord:: db wLastMap:: db @@ -1938,86 +1728,20 @@ wCurMapTileset:: db ; blocks wCurMapHeight:: db - -; blocks wCurMapWidth:: db wMapDataPtr:: dw - wMapTextPtr:: dw - wMapScriptPtr:: dw -; connection byte wMapConnections:: db - -wMapConn1Ptr:: db - -wNorthConnectionStripSrc:: dw - -wNorthConnectionStripDest:: dw - -wNorthConnectionStripWidth:: db - -wNorthConnectedMapWidth:: db - -wNorthConnectedMapYAlignment:: db - -wNorthConnectedMapXAlignment:: db - -wNorthConnectedMapViewPointer:: dw - -wMapConn2Ptr:: db - -wSouthConnectionStripSrc:: dw - -wSouthConnectionStripDest:: dw - -wSouthConnectionStripWidth:: db - -wSouthConnectedMapWidth:: db - -wSouthConnectedMapYAlignment:: db - -wSouthConnectedMapXAlignment:: db - -wSouthConnectedMapViewPointer:: dw - -wMapConn3Ptr:: db - -wWestConnectionStripSrc:: dw - -wWestConnectionStripDest:: dw - -wWestConnectionStripHeight:: db - -wWestConnectedMapWidth:: db - -wWestConnectedMapYAlignment:: db - -wWestConnectedMapXAlignment:: db - -wWestConnectedMapViewPointer:: dw - -wMapConn4Ptr:: db - -wEastConnectionStripSrc:: dw - -wEastConnectionStripDest:: dw - -wEastConnectionStripHeight:: db - -wEastConnectedMapWidth:: db - -wEastConnectedMapYAlignment:: db - -wEastConnectedMapXAlignment:: db - -wEastConnectedMapViewPointer:: dw +wNorthConnectionHeader:: map_connection_struct wNorth +wSouthConnectionHeader:: map_connection_struct wSouth +wWestConnectionHeader:: map_connection_struct wWest +wEastConnectionHeader:: map_connection_struct wEast ; sprite set for the current map (11 sprite picture ID's) wSpriteSet:: ds 11 - ; sprite set ID for the current map wSpriteSetID:: db @@ -2028,11 +1752,11 @@ wObjectDataPointerTemp:: dw ; the tile shown outside the boundaries of the map wMapBackgroundTile:: db -; number of warps in current map +; number of warps in current map (up to 32) wNumberOfWarps:: db ; current map warp entries -wWarpEntries:: ds 128 +wWarpEntries:: ds 32 * 4 ; Y, X, warp ID, map ID ; if $ff, the player's coordinates are not updated when entering the map wDestinationWarpID:: db @@ -2042,13 +1766,10 @@ wDestinationWarpID:: db ; number of signs in the current map (up to 16) wNumSigns:: db -; 2 bytes each -; Y, X -wSignCoords:: ds 32 - +wSignCoords:: ds 16 * 2 ; Y, X wSignTextIDs:: ds 16 -; number of sprites on the current map +; number of sprites on the current map (up to 16) wNumSprites:: db ; these two variables track the X and Y offset in blocks from the last special warp used @@ -2056,11 +1777,8 @@ wNumSprites:: db wYOffsetSinceLastSpecialWarp:: db wXOffsetSinceLastSpecialWarp:: db -; two bytes per sprite (movement byte 2, text ID) -wMapSpriteData:: ds 32 - -; two bytes per sprite (trainer class/item ID, trainer set ID) -wMapSpriteExtraData:: ds 32 +wMapSpriteData:: ds 16 * 2 ; movement byte 2, text ID +wMapSpriteExtraData:: ds 16 * 2 ; trainer class/item ID, trainer set ID ; map height in 2x2 meta-tiles wCurrentMapHeight2:: db @@ -2118,7 +1836,7 @@ wUnusedD5A3:: db wPlayerCoins:: ds 2 ; BCD ; bit array of missable objects. set = removed -wMissableObjectFlags:: ds 32 +wMissableObjectFlags:: flag_array $100 wMissableObjectFlagsEnd:: ds 7 @@ -2130,9 +1848,10 @@ wd5cd:: db ; * the sprite ID (depending on the current map) ; * the missable object index (global, used for wMissableObjectFlags) ; terminated with $FF -wMissableObjectList:: ds 17 * 2 +wMissableObjectList:: ds 16 * 2 + 1 + + ds 1 -; $c8 bytes wGameProgressFlags:: wOaksLabCurScript:: db wPalletTownCurScript:: db @@ -2252,9 +1971,9 @@ wGameProgressFlagsEnd:: ds 56 -wObtainedHiddenItemsFlags:: ds 14 +wObtainedHiddenItemsFlags:: flag_array 112 -wObtainedHiddenCoinsFlags:: dw +wObtainedHiddenCoinsFlags:: flag_array 16 ; $00 = walking ; $01 = biking @@ -2270,7 +1989,6 @@ wSafariSteps:: dw ; item given to cinnabar lab wFossilItem:: db - ; mon that will result from the item wFossilMon:: db @@ -2409,19 +2127,16 @@ wCompletedInGameTradeFlags:: dw ds 2 wWarpedFromWhichWarp:: db - wWarpedFromWhichMap:: db ds 2 wCardKeyDoorY:: db - wCardKeyDoorX:: db ds 2 wFirstLockTrashCanIndex:: db - wSecondLockTrashCanIndex:: db ds 2 @@ -2479,7 +2194,6 @@ wTrainerHeaderPtr:: dw ; the trainer the player must face after getting a wrong answer in the Cinnabar ; gym quiz wOpponentAfterWrongAnswer:: - wUnusedDA38:: db ; index of current map script, mostly used as index for function pointer array @@ -2513,7 +2227,7 @@ wMainDataEnd:: wBoxDataStart:: -wBoxCount:: ds 1 +wBoxCount:: db wBoxSpecies:: ds MONS_PER_BOX + 1 wBoxMons:: From 234aa7d4096ba1bd5ef7783f34ec2405e9c665a5 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 31 May 2021 17:17:03 -0400 Subject: [PATCH 037/119] Use more WRAM sections --- layout.link | 8 +++++++- wram.asm | 17 ++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/layout.link b/layout.link index 1ac07b3f..0c7096cb 100644 --- a/layout.link +++ b/layout.link @@ -178,10 +178,16 @@ ROMX $2B ROMX $2C "Move Names" WRAM0 - "WRAM" + "Audio RAM" org $c100 "Sprite State Data" "OAM Buffer" + "Tilemap" + "Overworld Map" + "WRAM" + "Party Data" + "Main Data" + "Current Box Data" org $df00 "Stack" VRAM diff --git a/wram.asm b/wram.asm index da21cc43..b1a4056b 100644 --- a/wram.asm +++ b/wram.asm @@ -6,7 +6,7 @@ INCLUDE "macros/wram.asm" INCLUDE "vram.asm" -SECTION "WRAM", WRAM0 +SECTION "Audio RAM", WRAM0 wUnusedC000:: db @@ -153,6 +153,9 @@ wOAMBufferSprite{02d:n}:: sprite_oam_struct wOAMBufferSprite{02d:n} ENDR wOAMBufferEnd:: + +SECTION "Tilemap", WRAM0 + ; buffer for tiles that are visible on screen (20 columns by 18 rows) wTileMap:: ds SCREEN_WIDTH * SCREEN_HEIGHT @@ -171,6 +174,9 @@ ENDU ds 80 + +SECTION "Overworld Map", WRAM0 + UNION wOverworldMap:: ds 1300 wOverworldMapEnd:: @@ -179,6 +185,9 @@ NEXTU wTempPic:: ds 7 * 7 tiles ENDU + +SECTION "WRAM", WRAM0 + ; the tiles of the row or column to be redrawn by RedrawRowOrColumn wRedrawRowOrColumnSrcTiles:: ds SCREEN_WIDTH * 2 @@ -1633,6 +1642,8 @@ wSavedNPCMovementDirections2Index:: db wPlayerName:: ds NAME_LENGTH +SECTION "Party Data", WRAM0 + wPartyDataStart:: wPartyCount:: db @@ -1660,6 +1671,8 @@ wPartyMonNicksEnd:: wPartyDataEnd:: +SECTION "Main Data", WRAM0 + wMainDataStart:: wPokedexOwned:: flag_array NUM_POKEMON @@ -2225,6 +2238,8 @@ wDayCareMon:: box_struct wDayCareMon wMainDataEnd:: +SECTION "Current Box Data", WRAM0 + wBoxDataStart:: wBoxCount:: db From 229126d940f3763294f9ad4e0d48b83d4996c6bc Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 31 May 2021 18:44:24 -0400 Subject: [PATCH 038/119] Use a 30-byte UNION for some overlapping WRAM labels --- wram.asm | 415 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 220 insertions(+), 195 deletions(-) diff --git a/wram.asm b/wram.asm index b1a4056b..209e6771 100644 --- a/wram.asm +++ b/wram.asm @@ -578,42 +578,240 @@ wOverrideSimulatedJoypadStatesMask:: db ds 1 +; This union spans 30 bytes. +UNION +wTradedPlayerMonSpecies:: db +wTradedEnemyMonSpecies:: db + ds 2 +wTradedPlayerMonOT:: ds NAME_LENGTH +wTradedPlayerMonOTID:: dw +wTradedEnemyMonOT:: ds NAME_LENGTH +wTradedEnemyMonOTID:: dw + +NEXTU +wTradingWhichPlayerMon:: db +wTradingWhichEnemyMon:: db +wNameOfPlayerMonToBeTraded:: ds NAME_LENGTH + +NEXTU ; one byte for each falling object -wFallingObjectsMovementData:: ; ds 20 +wFallingObjectsMovementData:: ds 20 +NEXTU ; array of the number of mons in each box -wBoxMonCounts:: ; ds NUM_BOXES +wBoxMonCounts:: ds NUM_BOXES -; BCD number -wPriceTemp:: ; ds 3 +NEXTU +wPriceTemp:: ds 3 ; BCD +NEXTU ; the current mon's field moves -wFieldMoves:: ; ds NUM_MOVES +wFieldMoves:: ds NUM_MOVES +wNumFieldMoves:: db +wFieldMovesLeftmostXCoord:: db +wLastFieldMoveID:: db ; unused -wBoxNumString:: ; ds 3 +NEXTU +wBoxNumString:: ds 3 -wSavedY:: -wTempSCX:: +NEXTU ; 0 = upper half (Y < 9) ; 1 = lower half (Y >= 9) -wBattleTransitionCircleScreenQuadrantY:: -; 2 bytes +wBattleTransitionCircleScreenQuadrantY:: db +wBattleTransitionCircleScreenQuadrantX:: db + +NEXTU ; after 1 row/column has been copied, the offset to the next one to copy from -wBattleTransitionCopyTilesOffset:: +wBattleTransitionCopyTilesOffset:: dw + +NEXTU ; counts down from 7 so that every time 7 more tiles of the spiral have been ; placed, the tile map buffer is copied to VRAM so that progress is visible -wInwardSpiralUpdateScreenCounter:: -wHoFTeamIndex:: +wInwardSpiralUpdateScreenCounter:: db + ds 9 +; 0 = outward, 1 = inward +wBattleTransitionSpiralDirection:: db + +NEXTU ; multiplied by 16 to get the number of times to go right by 2 pixels -wSSAnneSmokeDriftAmount:: -wRivalStarterTemp:: +wSSAnneSmokeDriftAmount:: db +; 0 = left half (X < 10) +; 1 = right half (X >= 10) +wSSAnneSmokeX:: db + +NEXTU +wHoFMonSpecies:: +wHoFTeamIndex:: db +wHoFPartyMonIndex:: db +wHoFMonLevel:: db +; 0 = mon, 1 = player +wHoFMonOrPlayer:: db +wHoFTeamIndex2:: db +wHoFTeamNo:: db + +NEXTU +wRivalStarterTemp:: db +wRivalStarterBallSpriteIndex:: db + +NEXTU +wFlyAnimUsingCoordList:: db +; $ff sentinel values at each end +wFlyLocationsList:: ds NUM_CITY_MAPS + 2 + +NEXTU +wWhichTownMapLocation:: db +wFlyAnimCounter:: db +wFlyAnimBirdSpriteImageIndex:: db + +NEXTU + ds 1 +; difference in X between the next ball and the current one +wHUDPokeballGfxOffsetX:: db +wHUDGraphicsTiles:: ds 3 + +NEXTU +; the level of the mon at the time it entered day care +wDayCareStartLevel:: db +wDayCareNumLevelsGrown:: db +wDayCareTotalCost:: dw ; BCD +wDayCarePerLevelCost:: dw ; BCD (always $100) + +NEXTU +; which wheel the player is trying to stop +; 0 = none, 1 = wheel 1, 2 = wheel 2, 3 or greater = wheel 3 +wStoppingWhichSlotMachineWheel:: db +wSlotMachineWheel1Offset:: db +wSlotMachineWheel2Offset:: db +wSlotMachineWheel3Offset:: db +; the OAM tile number of the upper left corner of the winning symbol minus 2 +wSlotMachineWinningSymbol:: +wSlotMachineWheel1BottomTile:: db +wSlotMachineWheel1MiddleTile:: db +wSlotMachineWheel1TopTile:: db +wSlotMachineWheel2BottomTile:: db +wSlotMachineWheel2MiddleTile:: db +wSlotMachineWheel2TopTile:: db +wSlotMachineWheel3BottomTile:: db +wSlotMachineWheel3MiddleTile:: db +wSlotMachineWheel3TopTile:: db +wPayoutCoins:: dw +; These flags are set randomly and control when the wheels stop. +; bit 6: allow the player to win in general +; bit 7: allow the player to win with 7 or bar (plus the effect of bit 6) +wSlotMachineFlags:: db +; wheel 1 can "slip" while this is non-zero +wSlotMachineWheel1SlipCounter:: db +; wheel 2 can "slip" while this is non-zero +wSlotMachineWheel2SlipCounter:: db +; The remaining number of times wheel 3 will roll down a symbol until a match is +; found, when winning is enabled. It's initialized to 4 each bet. +wSlotMachineRerollCounter:: db +; how many coins the player bet on the slot machine (1 to 3) +wSlotMachineBet:: db + +NEXTU +wCanPlaySlots:: db + ds 8 +; temporary variable used to add payout amount to the player's coins +wTempCoins1:: dw + ds 2 +; temporary variable used to subtract the bet amount from the player's coins +wTempCoins2:: dw + +NEXTU +wHiddenObjectFunctionArgument:: db +wHiddenObjectFunctionRomBank:: db +wHiddenObjectIndex:: db +wHiddenObjectY:: db +wHiddenItemOrCoinsIndex:: +wHiddenObjectX:: db + +NEXTU +wPlayerSpinInPlaceAnimFrameDelay:: db +wPlayerSpinInPlaceAnimFrameDelayDelta:: db +wPlayerSpinInPlaceAnimFrameDelayEndValue:: db +wPlayerSpinInPlaceAnimSoundID:: db + ds 6 + db ; temporary space used when wFacingDirectionList is rotated +; used when spinning the player's sprite +wFacingDirectionList:: ds 4 + ds 3 +wSavedPlayerScreenY:: db +wSavedPlayerFacingDirection:: db + +NEXTU +wPlayerSpinWhileMovingUpOrDownAnimDeltaY:: db +wPlayerSpinWhileMovingUpOrDownAnimMaxY:: db +wPlayerSpinWhileMovingUpOrDownAnimFrameDelay:: db + +NEXTU +wTrainerSpriteOffset:: db +wTrainerEngageDistance:: db +wTrainerFacingDirection:: db +wTrainerScreenY:: db +wTrainerScreenX:: db + +NEXTU +wTrainerInfoTextBoxWidthPlus1:: db +wTrainerInfoTextBoxWidth:: db +wTrainerInfoTextBoxNextRowOffset:: db + +NEXTU +wOptionsTextSpeedCursorX:: db +wOptionsBattleAnimCursorX:: db +wOptionsBattleStyleCursorX:: db +wOptionsCancelCursorX:: db + +NEXTU +; tile ID of the badge number being drawn +wBadgeNumberTile:: db +; first tile ID of the name being drawn +wBadgeNameTile:: db +; a list of the first tile IDs of each badge or face (depending on whether the +; badge is owned) to be drawn on the trainer screen +; the byte after the list gets read when shifting back one byte +wBadgeOrFaceTiles:: ds NUM_BADGES + 1 + ds 1 +; temporary list created when displaying the badges on the trainer screen +; one byte for each badge; 0 = not obtained, 1 = obtained +wTempObtainedBadgesBooleans:: ds NUM_BADGES + +NEXTU +wUnusedCD3D:: db +; the number of credits mons that have been displayed so far +wNumCreditsMonsDisplayed:: db + +NEXTU + ds 1 + db ; temporary space used when wJigglypuffFacingDirections is rotated +wJigglypuffFacingDirections:: ds 4 + +NEXTU + ds 16 +; $3d = tree tile, $52 = grass tile +wCutTile:: db + ds 2 +; 0 = cut animation, 1 = boulder dust animation +wWhichAnimationOffsets:: db + +NEXTU + ds 18 +; the index of the sprite the emotion bubble is to be displayed above +wEmotionBubbleSpriteIndex:: db +wWhichEmotionBubble:: db + +NEXTU +wChangeBoxSavedMapTextPointer:: dw + +NEXTU +wSavedY:: +wTempSCX:: +; which entry from TradeMons to select +wWhichTrade:: wDexMaxSeenMon:: wPPRestoreItem:: wWereAnyMonsAsleep:: -wCanPlaySlots:: wNumShakes:: -; the level of the mon at the time it entered day care -wDayCareStartLevel:: wWhichBadge:: wTitleMonSpecies:: wPlayerCharacterOAMTile:: @@ -621,184 +819,13 @@ wPlayerCharacterOAMTile:: wMoveDownSmallStarsOAMCount:: wChargeMoveNum:: wCoordIndex:: -wOptionsTextSpeedCursorX:: -wTrainerInfoTextBoxWidthPlus1:: wSwappedMenuItem:: -wHoFMonSpecies:: -; tile ID of the badge number being drawn -wBadgeNumberTile:: ; 0 = no bite ; 1 = bite ; 2 = no fish on map wRodResponse:: -wWhichTownMapLocation:: -; which wheel the player is trying to stop -; 0 = none, 1 = wheel 1, 2 = wheel 2, 3 or greater = wheel 3 -wStoppingWhichSlotMachineWheel:: -wTradedPlayerMonSpecies:: -wTradingWhichPlayerMon:: -wChangeBoxSavedMapTextPointer:: -wFlyAnimUsingCoordList:: -wPlayerSpinInPlaceAnimFrameDelay:: -wPlayerSpinWhileMovingUpOrDownAnimDeltaY:: -wHiddenObjectFunctionArgument:: -; which entry from TradeMons to select -wWhichTrade:: -wTrainerSpriteOffset:: -wUnusedCD3D:: db - -; $ff sentinel values at each end -wFlyLocationsList:: ; ds NUM_CITY_MAPS + 2 - -; difference in X between the next ball and the current one -wHUDPokeballGfxOffsetX:: -; 0 = left half (X < 10) -; 1 = right half (X >= 10) -wBattleTransitionCircleScreenQuadrantX:: -wSSAnneSmokeX:: -wRivalStarterBallSpriteIndex:: -wDayCareNumLevelsGrown:: -wOptionsBattleAnimCursorX:: -wTrainerInfoTextBoxWidth:: -wHoFPartyMonIndex:: -; the number of credits mons that have been displayed so far -wNumCreditsMonsDisplayed:: -; first tile ID of the name being drawn -wBadgeNameTile:: -wSlotMachineWheel1Offset:: -wTradedEnemyMonSpecies:: -wTradingWhichEnemyMon:: -wFlyAnimCounter:: -wPlayerSpinInPlaceAnimFrameDelayDelta:: -wPlayerSpinWhileMovingUpOrDownAnimMaxY:: -wHiddenObjectFunctionRomBank:: -wTrainerEngageDistance:: - db - -wHUDGraphicsTiles:: ; ds 3 - -; BCD number -wDayCareTotalCost:: ; ds 2 - -; a list of the first tile IDs of each badge or face (depending on whether the -; badge is owned) to be drawn on the trainer screen -wBadgeOrFaceTiles:: ; ds NUM_BADGES - -wNameOfPlayerMonToBeTraded:: ; ds NAME_LENGTH - -wJigglypuffFacingDirections:: -wOptionsBattleStyleCursorX:: -wTrainerInfoTextBoxNextRowOffset:: -wHoFMonLevel:: -wSlotMachineWheel2Offset:: -wFlyAnimBirdSpriteImageIndex:: -wPlayerSpinInPlaceAnimFrameDelayEndValue:: -wPlayerSpinWhileMovingUpOrDownAnimFrameDelay:: -wHiddenObjectIndex:: -wTrainerFacingDirection:: - db - -; show mon or show player? -; 0 = mon -; 1 = player -wHoFMonOrPlayer:: -wSlotMachineWheel3Offset:: -wPlayerSpinInPlaceAnimSoundID:: -wHiddenObjectY:: -wTrainerScreenY:: -wOptionsCancelCursorX:: - db - -; BCD number (always set to $100) -wDayCarePerLevelCost:: ; ds 2 - -wTradedPlayerMonOT:: ; ds NAME_LENGTH - -wHoFTeamIndex2:: -wHiddenItemOrCoinsIndex:: -wHiddenObjectX:: -; the OAM tile number of the upper left corner of the winning symbol minus 2 -wSlotMachineWinningSymbol:: -wNumFieldMoves:: -wSlotMachineWheel1BottomTile:: -wTrainerScreenX:: - db - -wHoFTeamNo:: -wSlotMachineWheel1MiddleTile:: -wFieldMovesLeftmostXCoord:: - db - -wLastFieldMoveID:: ; unused -wSlotMachineWheel1TopTile:: - db - -wSlotMachineWheel2BottomTile:: db - -wSlotMachineWheel2MiddleTile:: db - -; temporary variable used to add payout amount to the player's coins -wTempCoins1:: ; ds 2 - -wSlotMachineWheel2TopTile:: db - -; 0 = outward, 1 = inward -wBattleTransitionSpiralDirection:: -wSlotMachineWheel3BottomTile:: db - -; used when spinning the player's sprite -; also, the byte before the start of the list is -; used as a temp variable when the list is rotated -wFacingDirectionList:: ; ds 4 - -wSlotMachineWheel3MiddleTile:: db - -; temporary list created when displaying the badges on the trainer screen -; one byte for each badge; 0 = not obtained, 1 = obtained -wTempObtainedBadgesBooleans:: ; ds NUM_BADGES - -wSlotMachineWheel3TopTile:: db - -; temporary variable used to subtract the bet amount from the player's coins -wTempCoins2:: -wPayoutCoins:: dw - -wTradedPlayerMonOTID:: ; dw - -; These flags are set randomly and control when the wheels stop. -; bit 6: allow the player to win in general -; bit 7: allow the player to win with 7 or bar (plus the effect of bit 6) -wSlotMachineFlags:: db - -; wheel 1 can "slip" while this is non-zero -wSlotMachineWheel1SlipCounter:: -; $3d = tree tile -; $52 = grass tile -wCutTile:: db - -wTradedEnemyMonOT:: ; ds NAME_LENGTH - -; wheel 2 can "slip" while this is non-zero -wSlotMachineWheel2SlipCounter:: db - -wSavedPlayerScreenY:: -; The remaining number of times wheel 3 will roll down a symbol until a match is -; found, when winning is enabled. It's initialized to 4 each bet. -wSlotMachineRerollCounter:: -; the index of the sprite the emotion bubble is to be displayed above -wEmotionBubbleSpriteIndex:: db - -wWhichEmotionBubble:: -; how many coins the player bet on the slot machine (1 to 3) -wSlotMachineBet:: -wSavedPlayerFacingDirection:: -; 0 = cut animation, 1 = boulder dust animation -wWhichAnimationOffsets:: db - - ds 8 - -wTradedEnemyMonOTID:: dw +ENDU ; 0 = neither ; 1 = warp pad @@ -1144,9 +1171,8 @@ wLearnMoveMonName:: ; ds NAME_LENGTH ds 16 -; BCD number ; money received after battle = base money × level of highest-level enemy mon -wTrainerBaseMoney:: dw +wTrainerBaseMoney:: dw ; BCD wMissableObjectCounter:: db @@ -1611,8 +1637,7 @@ wPrize3:: db ds 1 -; the first 7 bytes are the preamble -wSerialRandomNumberListBlock:: +wSerialRandomNumberListBlock:: ; ds $11 wPrize1Price:: dw wPrize2Price:: dw @@ -1623,7 +1648,7 @@ wPrize3Price:: dw ; shared list of 9 random numbers, indexed by wLinkBattleRandomNumberListIndex wLinkBattleRandomNumberList:: ds 10 -wSerialPlayerDataBlock:: ; ds ... +wSerialPlayerDataBlock:: ; ds $1a8 ; When a real item is being used, this is 0. ; When a move is acting as an item, this is the ID of the item it's acting as. From 9c93fb0b7559e9d657a91d2b508ecebe58eee544 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 1 Jun 2021 20:39:05 -0400 Subject: [PATCH 039/119] Use more UNIONs for overlapping WRAM labels --- wram.asm | 262 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 151 insertions(+), 111 deletions(-) diff --git a/wram.asm b/wram.asm index 209e6771..5a823f20 100644 --- a/wram.asm +++ b/wram.asm @@ -33,8 +33,10 @@ wChannelSoundIDs:: ds NUM_CHANNELS wChannelFlags1:: ds NUM_CHANNELS wChannelFlags2:: ds NUM_CHANNELS + wChannelDutyCycles:: ds NUM_CHANNELS wChannelDutyCyclePatterns:: ds NUM_CHANNELS + ; reloaded at the beginning of a note. counts down until the vibrato begins. wChannelVibratoDelayCounters:: ds NUM_CHANNELS wChannelVibratoExtents:: ds NUM_CHANNELS @@ -44,6 +46,7 @@ wChannelVibratoRates:: ds NUM_CHANNELS wChannelFrequencyLowBytes:: ds NUM_CHANNELS ; delay of the beginning of the vibrato from the start of the note wChannelVibratoDelayCounterReloadValues:: ds NUM_CHANNELS + wChannelPitchSlideLengthModifiers:: ds NUM_CHANNELS wChannelPitchSlideFrequencySteps:: ds NUM_CHANNELS wChannelPitchSlideFrequencyStepsFractionalPart:: ds NUM_CHANNELS @@ -52,12 +55,14 @@ wChannelPitchSlideCurrentFrequencyHighBytes:: ds NUM_CHANNELS wChannelPitchSlideCurrentFrequencyLowBytes:: ds NUM_CHANNELS wChannelPitchSlideTargetFrequencyHighBytes:: ds NUM_CHANNELS wChannelPitchSlideTargetFrequencyLowBytes:: ds NUM_CHANNELS + ; Note delays are stored as 16-bit fixed-point numbers where the integer part ; is 8 bits and the fractional part is 8 bits. wChannelNoteDelayCounters:: ds NUM_CHANNELS wChannelLoopCounters:: ds NUM_CHANNELS wChannelNoteSpeeds:: ds NUM_CHANNELS wChannelNoteDelayCountersFractionalPart:: ds NUM_CHANNELS + wChannelOctaves:: ds NUM_CHANNELS ; also includes fade for hardware channels that support it wChannelVolumes:: ds NUM_CHANNELS @@ -335,70 +340,86 @@ wNPCMovementScriptBank:: db ds 2 -wVermilionDockTileMapBuffer:: ; ds 5 * BG_MAP_WIDTH + SCREEN_WIDTH +; This union spans 180 bytes. +UNION +wVermilionDockTileMapBuffer:: ds 5 * BG_MAP_WIDTH + SCREEN_WIDTH +wVermilionDockTileMapBufferEnd:: -wOaksAideRewardItemName:: ; ds ITEM_NAME_LENGTH +NEXTU +wOaksAideRewardItemName:: ds ITEM_NAME_LENGTH -wElevatorWarpMaps:: ; ds 11 * 2 +NEXTU +wElevatorWarpMaps:: ds 11 * 2 +NEXTU ; List of bag items that has been filtered to a certain type of items, ; such as drinks or fossils. -wFilteredBagItems:: ; ds 3 + 1 +wFilteredBagItems:: ds 4 +NEXTU ; Saved copy of OAM for the first frame of the animation to make it easy to ; flip back from the second frame. -wMonPartySpritesSavedOAM:: ; ds $60 +wMonPartySpritesSavedOAM:: ds $60 -wTrainerCardBlkPacket:: ; ds $40 +NEXTU +wTrainerCardBlkPacket:: ds $40 -wHallOfFame:: ; ds HOF_TEAM +NEXTU +wHallOfFame:: ds HOF_TEAM -wNPCMovementDirections:: ; ds $ff +NEXTU +wNPCMovementDirections:: ds 180 -wBoostExpByExpAll:: -; values between 0-6. Shake screen horizontally, shake screen vertically, blink Pokemon... -wAnimationType:: +NEXTU +wDexRatingNumMonsSeen:: db +wDexRatingNumMonsOwned:: db +wDexRatingText:: db + +NEXTU ; If a random number greater than this value is generated, then the player is ; allowed to have three 7 symbols or bar symbols line up. ; So, this value is actually the chance of NOT entering that mode. ; If the slot is lucky, it equals 250, giving a 5/256 (~2%) chance. ; Otherwise, it equals 253, giving a 2/256 (~0.8%) chance. -wSlotMachineSevenAndBarModeChance:: -wUnusedCC5B:: -wDexRatingNumMonsSeen:: db - -wDexRatingNumMonsOwned:: db - -wDexRatingText:: db - +wSlotMachineSevenAndBarModeChance:: db + ds 2 ; ROM back to return to when the player is done with the slot machine wSlotMachineSavedROMBank:: db - - ds 26 - -wAnimPalette:: db - - ds 29 - -UNION -wNPCMovementDirections2:: ds 10 -; used in Pallet Town scripted movement -wNumStepsToTake:: db + ds 166 +wLuckySlotHiddenObjectIndex:: db NEXTU +; values between 0-6. Shake screen horizontally, shake screen vertically, blink Pokemon... +wAnimationType:: db + ds 29 +wAnimPalette:: db + +NEXTU + ds 60 ; temporary buffer when swapping party mon data wSwitchPartyMonTempBuffer:: ds 44 ; party_struct size -ENDU - - ds 15 - -wRLEByteCount:: db +NEXTU + ds 120 ; this is the end of the joypad states ; the list starts above this address and extends downwards in memory until here ; overloaded with below labels wSimulatedJoypadStatesEnd:: +NEXTU +wBoostExpByExpAll:: +wUnusedCC5B:: db + + ds 59 + +wNPCMovementDirections2:: ds 10 +; used in Pallet Town scripted movement +wNumStepsToTake:: db + + ds 48 + +wRLEByteCount:: db + wParentMenuItem:: ; 0 = not added ; 1 = added @@ -483,20 +504,15 @@ wPlayerMonMinimized:: db ds 13 -UNION -wLuckySlotHiddenObjectIndex:: ; number of hits by enemy in attacks like Double Slap, etc. -wEnemyNumHits:: db - -NEXTU -; the amount of damage accumulated by the enemy while biding (2 bytes) +wEnemyNumHits:: ; db +; the amount of damage accumulated by the enemy while biding wEnemyBideAccumulatedDamage:: dw -ENDU ds 8 +ENDU -wVermilionDockTileMapBufferEnd:: - +; This union spans 39 bytes. UNION wInGameTradeGiveMonSpecies:: db wInGameTradeTextPointerTablePointer:: dw @@ -891,58 +907,62 @@ wNormalMaxPPList:: ds NUM_MOVES ds 5 ENDU -; buffer for transferring the random number list generated by the other gameboy -wSerialOtherGameboyRandomNumberListBlock:: ; ds $11 - -; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top) -wTileMapBackup2:: ds 20 * 18 - -; Temporary storage area -wBuffer:: ; ds 30 - -wNamingScreenNameLength:: -wEvoOldSpecies:: -; lower nybble is x, upper nybble is y -wTownMapCoords:: -; whether WriteMonMoves is being used to make a mon learn moves from day care -; non-zero if so -wLearningMovesFromDayCare:: -wChangeMonPicEnemyTurnSpecies:: -wHPBarMaxHP:: - db - -; non-zero when the player has chosen to submit the name -wNamingScreenSubmitName:: -wChangeMonPicPlayerTurnSpecies:: -wEvoNewSpecies:: - db - UNION +; buffer for transferring the random number list generated by the other gameboy +wSerialOtherGameboyRandomNumberListBlock:: ds $11 +NEXTU +; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top) +wTileMapBackup2:: ds SCREEN_WIDTH * SCREEN_HEIGHT +ENDU + +; This union spans 30 bytes. +UNION +; Temporary storage area +wBuffer:: ds 30 + +NEXTU +wEvoOldSpecies:: db +wEvoNewSpecies:: db +wEvoMonTileOffset:: db +wEvoCancelled:: db + +NEXTU +wNamingScreenNameLength:: db +; non-zero when the player has chosen to submit the name +wNamingScreenSubmitName:: db +; 0 = upper case +; 1 = lower case +wAlphabetCase:: db + ds 1 +wNamingScreenLetter:: db + +NEXTU +wChangeMonPicEnemyTurnSpecies:: db +wChangeMonPicPlayerTurnSpecies:: db + +NEXTU +wHPBarMaxHP:: dw wHPBarOldHP:: dw wHPBarNewHP:: dw wHPBarDelta:: db wHPBarTempHP:: dw ds 11 -wHPBarHPDifference:: db +wHPBarHPDifference:: dw NEXTU -; 0 = upper case -; 1 = lower case -wAlphabetCase:: -wEvoMonTileOffset:: +; lower nybble is x, upper nybble is y +wTownMapCoords:: +; whether WriteMonMoves is being used to make a mon learn moves from day care +; non-zero if so +wLearningMovesFromDayCare:: db -wEvoCancelled:: db - -wNamingScreenLetter:: db -ENDU - - ds 7 + ds 27 ; the item that the AI used wAIItem:: db - wUsedItemOnWhichPokemon:: db +ENDU ; sound ID during battle animations wAnimSoundID:: db @@ -1004,12 +1024,15 @@ wOnSGB:: db wDefaultPaletteCommand:: db -wPlayerHPBarColor:: ; dw +UNION +wPlayerHPBarColor:: dw +NEXTU ; species of the mon whose palette is used for the whole screen wWholeScreenPaletteMonSpecies:: db wEnemyHPBarColor:: db +ENDU ; 0: green ; 1: yellow @@ -1025,19 +1048,21 @@ wWhichPartyMenuHPBar:: wPalPacket:: db -wPartyMenuBlkPacket:: ; ds $30 +; This union spans 49 bytes. +UNION +wPartyMenuBlkPacket:: ds $30 +NEXTU ds 29 - ; storage buffer for various strings -wcf4b:: ; ds 20 +wcf4b:: ds 20 +NEXTU + ds 29 ; the total amount of exp a mon gained wExpAmountGained:: dw - wGainBoostedExp:: db - - ds 17 +ENDU wGymCityName:: ds 17 @@ -1164,12 +1189,15 @@ wTrainerPicPointer:: dw ds 1 -wTempMoveNameBuffer:: ; ds 14 +UNION +wTempMoveNameBuffer:: ds 14 +NEXTU ; The name of the mon that is learning a move. -wLearnMoveMonName:: ; ds NAME_LENGTH +wLearnMoveMonName:: ds NAME_LENGTH +ENDU - ds 16 + ds 2 ; money received after battle = base money × level of highest-level enemy mon wTrainerBaseMoney:: dw ; BCD @@ -1291,27 +1319,30 @@ wEnemyDisabledMove:: db ds 1 +UNION ; the amount of damage accumulated by the player while biding -wPlayerBideAccumulatedDamage:: ; dw +wPlayerBideAccumulatedDamage:: dw -wUnknownSerialCounter2:: ; dw +NEXTU +wUnknownSerialCounter2:: dw +NEXTU ; number of hits by player in attacks like Double Slap, etc. wPlayerNumHits:: db +ENDU - ds 3 + ds 2 ; non-zero when an item or move that allows escape from battle was used wEscapedFromBattle:: db -; BCD number -wAmountMoneyWon:: ; ds 3 +UNION +wAmountMoneyWon:: ds 3 ; BCD +NEXTU wObjectToHide:: db - wObjectToShow:: db - - ds 1 +ENDU ; the map you will start at when the debug bit is set wDefaultMap:: @@ -1355,11 +1386,18 @@ wSaveFileStatus:: db ; number of tiles in current battle animation frame block wNumFBTiles:: db -wFlashScreenLongCounter:: -wSpiralBallsBaseY:: +UNION +wSpiralBallsBaseY:: db +wSpiralBallsBaseX:: db + +NEXTU ; bits 0-6: index into FallingObjects_DeltaXs array (0 - 8) ; bit 7: direction; 0 = right, 1 = left -wFallingObjectMovementByte:: +wFallingObjectMovementByte:: db +wNumFallingObjects:: db + +NEXTU +wFlashScreenLongCounter:: wNumShootingBalls:: ; $01 if mon is moving from left gameboy to right gameboy; $00 if vice versa wTradedMonMovingRight:: @@ -1370,8 +1408,6 @@ wCoordAdjustmentAmount:: wUnusedD08A:: db -wSpiralBallsBaseX:: -wNumFallingObjects:: wSlideMonDelay:: ; generic counter variable for various animations wAnimCounter:: @@ -1382,13 +1418,11 @@ wAnimCounter:: ; 04: reverse the subanimation wSubAnimTransform:: db +ENDU wEndBattleWinTextPointer:: dw - wEndBattleLoseTextPointer:: dw - ds 2 - wEndBattleTextRomBank:: db ds 1 @@ -1396,16 +1430,19 @@ wEndBattleTextRomBank:: db ; the address _of the address_ of the current subanimation entry wSubAnimAddrPtr:: dw +UNION ; the address of the current subentry of the current subanimation -wSubAnimSubEntryAddr:: ; dw +wSubAnimSubEntryAddr:: dw +NEXTU ; If non-zero, the allow matches flag is always set. ; There is a 1/256 (~0.4%) chance that this value will be set to 60, which is ; the only way it can increase. Winning certain payout amounts will decrement it ; or zero it. wSlotMachineAllowMatchesCounter:: db +ENDU - ds 3 + ds 2 wOutwardSpiralTileMapPointer:: db @@ -1637,8 +1674,10 @@ wPrize3:: db ds 1 -wSerialRandomNumberListBlock:: ; ds $11 +UNION +wSerialRandomNumberListBlock:: ds $11 +NEXTU wPrize1Price:: dw wPrize2Price:: dw wPrize3Price:: dw @@ -1647,6 +1686,7 @@ wPrize3Price:: dw ; shared list of 9 random numbers, indexed by wLinkBattleRandomNumberListIndex wLinkBattleRandomNumberList:: ds 10 +ENDU wSerialPlayerDataBlock:: ; ds $1a8 From 319c29c751ea23bed8d57587500e73bb2a599656 Mon Sep 17 00:00:00 2001 From: SnorlaxMonster Date: Mon, 14 Jun 2021 21:47:19 +1000 Subject: [PATCH 040/119] Correct comments on SwitchAndTeleportEffect The comments in the SwitchAndTeleportEffect section incorrectly stated that the random number was generated in the half-open interval [0, playerLevel + enemyLevel), instead of the closed interval [0, playerLevel + enemyLevel]. --- engine/battle/effects.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index 067c096e..d86a4cbf 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -819,14 +819,14 @@ SwitchAndTeleportEffect: jr nc, .playerMoveWasSuccessful ; if so, teleport will always succeed add b ld c, a - inc c ; c = sum of player level and enemy level + inc c ; c = playerLevel + enemyLevel + 1 .rejectionSampleLoop1 call BattleRandom cp c ; get a random number between 0 and c jr nc, .rejectionSampleLoop1 srl b srl b ; b = enemyLevel / 4 - cp b ; is rand[0, playerLevel + enemyLevel) >= (enemyLevel / 4)? + cp b ; is rand[0, playerLevel + enemyLevel] >= (enemyLevel / 4)? jr nc, .playerMoveWasSuccessful ; if so, allow teleporting ld c, 50 call DelayFrames From a5c0da9bbebb1b5703778d83d147e262055cd46c Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 19 Jun 2021 22:27:15 -0400 Subject: [PATCH 041/119] Switch from Travis CI to GitHub Actions --- .github/webhook.sh | 13 +++++++++++ .github/workflows/main.yml | 45 ++++++++++++++++++++++++++++++++++++++ .travis.yml | 32 --------------------------- .travis/webhook.sh | 15 ------------- README.md | 6 ++--- 5 files changed, 61 insertions(+), 50 deletions(-) create mode 100755 .github/webhook.sh create mode 100644 .github/workflows/main.yml delete mode 100644 .travis.yml delete mode 100755 .travis/webhook.sh diff --git a/.github/webhook.sh b/.github/webhook.sh new file mode 100755 index 00000000..ce454a49 --- /dev/null +++ b/.github/webhook.sh @@ -0,0 +1,13 @@ +#!/bin/sh +set -e + +# Report unnamed symbols +content="$(tools/unnamed.py -r . pokered.sym | head)" + +curl -H 'Content-Type: application/json' -X POST "$DISCORD_WEBHOOK_URL" -d@- << EOF +{ + "username": "OK", + "avatar_url": "https://i.imgur.com/38BQHdd.png", + "content": "\`\`\`$(echo "$content" | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')\`\`\`" +} +EOF diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..a3fd4456 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,45 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Checkout rgbds + uses: actions/checkout@master + with: + path: rgbds + ref: v0.5.1 + repository: gbdev/rgbds + + - name: Install rgbds + working-directory: rgbds + run: | + sudo make install + + - name: Remove rgbds + run: | + rm -rf rgbds + + - name: Compare + run: | + make DEBUG=1 -j$(nproc) compare + if ! git diff-index --quiet HEAD --; then + echo 'Uncommitted changes detected:' + git diff-index HEAD -- + return 1 + fi + + - name: Discord webhook + if: ${{ github.event_name == 'push' && github.repository_owner == 'pret' }} + env: + DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} + run: | + .github/webhook.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5ff72754..00000000 --- a/.travis.yml +++ /dev/null @@ -1,32 +0,0 @@ -language: c -os: - - linux - - osx -install: - - |- - ( cd - if [ "$TRAVIS_OS_NAME" = osx ]; then - HOMEBREW_NO_AUTO_UPDATE=1 brew install bison - export PATH="/usr/local/opt/bison/bin:$PATH" - fi - git clone -b v0.5.1 --depth=1 https://github.com/gbdev/rgbds - sudo make -C rgbds install - rm -rf rgbds - ) -before_script: - - |- - function check_status() { - if ! git diff-index --quiet --ignore-submodules=all HEAD --; then - echo 'Uncommitted changes detected:'; - git diff-index HEAD --; - return 1; - fi; - } -script: - - make DEBUG=1 -j2 compare - - check_status -after_success: - - |- - if [ "$TRAVIS_BRANCH" = master -a "$TRAVIS_PULL_REQUEST" = false -a "$TRAVIS_OS_NAME" = linux ]; then - ./.travis/webhook.sh - fi diff --git a/.travis/webhook.sh b/.travis/webhook.sh deleted file mode 100755 index e50f3c29..00000000 --- a/.travis/webhook.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -set -e - -root="$(readlink -e "$(dirname "$0")/..")" - -# Report unnamed symbols -content="$("$root/tools/unnamed.py" -r "$root" "$root/pokered.sym" | head)" - -curl -H 'Content-Type: application/json' -X POST "$POKERED_DISCORD_WEBHOOK_URL" -d@- << EOF -{ - "username": "$POKERED_DISCORD_WEBHOOK_USERNAME", - "avatar_url": "$POKERED_DISCORD_WEBHOOK_AVATAR_URL", - "content": "\`\`\`$(echo "$content" | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')\`\`\`" -} -EOF diff --git a/README.md b/README.md index 78fab5ca..3924fdd2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Pokémon Red and Blue [![Build Status][travis-badge]][travis] +# Pokémon Red and Blue [![Build Status][ci-badge]][ci] This is a disassembly of Pokémon Red and Blue. @@ -37,5 +37,5 @@ Other disassembly projects: [pokeemerald]: https://github.com/pret/pokeemerald [discord]: https://discord.gg/d5dubZ3 [irc]: https://kiwiirc.com/client/irc.freenode.net/?#pret -[travis]: https://travis-ci.org/pret/pokered -[travis-badge]: https://travis-ci.org/pret/pokered.svg?branch=master +[ci]: https://github.com/pret/pokered/actions +[ci-badge]: https://github.com/pret/pokered/actions/workflows/main.yml/badge.svg From 236426138bf085c4b7b854b43d910370fffca290 Mon Sep 17 00:00:00 2001 From: SatoMew Date: Sun, 1 Aug 2021 03:53:52 +0100 Subject: [PATCH 042/119] Remove old tile animation comments (#333) They stopped being accurate after #304 and aren't really necessary. --- home/vcopy.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/vcopy.asm b/home/vcopy.asm index 0b0e0144..504406b9 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -377,7 +377,7 @@ UpdateMovingBgTiles:: ldh a, [hTileAnimations] and a - ret z ; no animations if indoors (or if a menu set this to 0) + ret z ldh a, [hMovingBGTilesCounter1] inc a @@ -416,7 +416,7 @@ UpdateMovingBgTiles:: ldh a, [hTileAnimations] rrca ret nc -; if in a cave, no flower animations + xor a ldh [hMovingBGTilesCounter1], a ret From 7ee8a6509e323ec012ece6273809e46830c29239 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 28 Aug 2021 17:02:20 -0400 Subject: [PATCH 043/119] wcf4b -> wStringBuffer --- data/text/text_1.asm | 2 +- data/text/text_2.asm | 26 ++++++++++++------------- data/text/text_3.asm | 10 +++++----- data/text/text_4.asm | 12 ++++++------ data/text/text_5.asm | 2 +- data/text/text_6.asm | 14 ++++++------- data/text/text_7.asm | 10 +++++----- engine/battle/core.asm | 14 ++++++------- engine/battle/effects.asm | 2 +- engine/events/cinnabar_lab.asm | 2 +- engine/events/give_pokemon.asm | 2 +- engine/events/pokemart.asm | 2 +- engine/items/item_effects.asm | 16 +++++++-------- engine/menus/naming_screen.asm | 14 ++++++------- engine/menus/start_sub_menus.asm | 2 +- engine/movie/oak_speech/oak_speech2.asm | 4 ++-- engine/movie/trade.asm | 2 +- engine/movie/trade2.asm | 2 +- engine/pokemon/evos_moves.asm | 6 +++--- engine/slots/slot_machine.asm | 2 +- home/copy_string.asm | 8 ++++---- home/give.asm | 4 ++-- home/list_menu.asm | 2 +- text/BillsHouse.asm | 2 +- text/BluesHouse.asm | 2 +- text/CeladonCity.asm | 2 +- text/CeladonDiner.asm | 2 +- text/CeladonGym.asm | 2 +- text/CeladonMart3F.asm | 2 +- text/CeladonMartRoof.asm | 10 +++++----- text/CinnabarGym.asm | 2 +- text/CinnabarLabFossilRoom.asm | 4 ++-- text/CinnabarLabMetronomeRoom.asm | 2 +- text/CopycatsHouse2F.asm | 2 +- text/FuchsiaGoodRodHouse.asm | 2 +- text/FuchsiaGym_2.asm | 2 +- text/MrFujisHouse.asm | 2 +- text/MrPsychicsHouse.asm | 2 +- text/MtMoonB2F.asm | 2 +- text/PokemonFanClub.asm | 2 +- text/Route1.asm | 2 +- text/Route12SuperRodHouse.asm | 2 +- text/Route24.asm | 2 +- text/SSAnneCaptainsRoom.asm | 2 +- text/SafariZoneSecretHouse.asm | 2 +- text/SilphCo11F.asm | 2 +- text/SilphCo2F.asm | 2 +- text/VermilionGym_2.asm | 2 +- text/VermilionOldRodHouse.asm | 2 +- text/WardensHouse.asm | 2 +- wram.asm | 2 +- 51 files changed, 112 insertions(+), 114 deletions(-) diff --git a/data/text/text_1.asm b/data/text/text_1.asm index af1d3827..2acc6f68 100644 --- a/data/text/text_1.asm +++ b/data/text/text_1.asm @@ -60,7 +60,7 @@ _PokeCenterSignText:: _FoundItemText:: text " found" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/data/text/text_2.asm b/data/text/text_2.asm index 230a38f0..6720021c 100644 --- a/data/text/text_2.asm +++ b/data/text/text_2.asm @@ -18,7 +18,7 @@ _AIBattleUseItemText:: prompt _TradeWentToText:: - text_ram wcf4b + text_ram wStringBuffer text " went" line "to @" text_ram wLinkEnemyTrainerName @@ -28,7 +28,7 @@ _TradeWentToText:: _TradeForText:: text "For 's" line "@" - text_ram wcf4b + text_ram wStringBuffer text "," done @@ -70,7 +70,7 @@ _TradeWillTradeText:: _TradeforText:: text "for 's" line "@" - text_ram wcf4b + text_ram wStringBuffer text "." done @@ -106,7 +106,7 @@ _OneMoreGoSlotMachineText:: _LinedUpText:: text " lined up!" line "Scored @" - text_ram wcf4b + text_ram wStringBuffer text " coins!" done @@ -1094,8 +1094,8 @@ _InsteadText:: cont "@" text_end -_CF4BText:: - text_ram wcf4b +_MoveNameText:: + text_ram wStringBuffer text "@" _ExclamationPoint1Text:: @@ -1559,7 +1559,7 @@ _DepositWhichMonText:: done _MonWasStoredText:: - text_ram wcf4b + text_ram wStringBuffer text " was" line "stored in Box @" text_ram wBoxNumString @@ -1577,11 +1577,11 @@ _BoxFullText:: prompt _MonIsTakenOutText:: - text_ram wcf4b + text_ram wStringBuffer text " is" line "taken out." cont "Got @" - text_ram wcf4b + text_ram wStringBuffer text "." prompt @@ -1606,19 +1606,17 @@ _ReleaseWhichMonText:: _OnceReleasedText:: text "Once released," line "@" - text_ram wcf4b + text_ram wStringBuffer text " is" cont "gone forever. OK?" done _MonWasReleasedText:: - text_ram wcf4b + text_ram wStringBuffer text " was" line "released outside." cont "Bye @" - -_CF4BExclamationText:: - text_ram wcf4b + text_ram wStringBuffer text "!" prompt diff --git a/data/text/text_3.asm b/data/text/text_3.asm index 6407dce7..daae6fb5 100644 --- a/data/text/text_3.asm +++ b/data/text/text_3.asm @@ -33,7 +33,7 @@ _ChooseABoxText:: text_end _EvolvedText:: - text_ram wcf4b + text_ram wStringBuffer text " evolved" done @@ -46,14 +46,14 @@ _IntoText:: _StoppedEvolvingText:: text "Huh? @" - text_ram wcf4b + text_ram wStringBuffer text_start line "stopped evolving!" prompt _IsEvolvingText:: text "What? @" - text_ram wcf4b + text_ram wStringBuffer text_start line "is evolving!" done @@ -96,7 +96,7 @@ _FireDefrostedText:: _MonsStatsRoseText:: text "'s" line "@" - text_ram wcf4b + text_ram wStringBuffer text "@" text_end @@ -111,7 +111,7 @@ _RoseText:: _MonsStatsFellText:: text "'s" line "@" - text_ram wcf4b + text_ram wStringBuffer text "@" text_end diff --git a/data/text/text_4.asm b/data/text/text_4.asm index 4c01b5f4..6a472dc2 100644 --- a/data/text/text_4.asm +++ b/data/text/text_4.asm @@ -27,7 +27,7 @@ _PokemartBuyingGreetingText:: done _PokemartTellBuyPriceText:: - text_ram wcf4b + text_ram wStringBuffer text "?" line "That will be" cont "¥@" @@ -85,7 +85,7 @@ _LearnedMove1Text:: text_ram wLearnMoveMonName text " learned" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end @@ -97,7 +97,7 @@ _WhichMoveToForgetText:: _AbandonLearningText:: text "Abandon learning" line "@" - text_ram wcf4b + text_ram wStringBuffer text "?" done @@ -106,7 +106,7 @@ _DidNotLearnText:: text_start line "did not learn" cont "@" - text_ram wcf4b + text_ram wStringBuffer text "!" prompt @@ -115,7 +115,7 @@ _TryingToLearnText:: text " is" line "trying to learn" cont "@" - text_ram wcf4b + text_ram wStringBuffer text "!" para "But, @" @@ -127,7 +127,7 @@ _TryingToLearnText:: para "Delete an older" line "move to make room" cont "for @" - text_ram wcf4b + text_ram wStringBuffer text "?" done diff --git a/data/text/text_5.asm b/data/text/text_5.asm index ae7151cc..fb0cac66 100644 --- a/data/text/text_5.asm +++ b/data/text/text_5.asm @@ -87,7 +87,7 @@ _SentToBoxText:: text " was" cont "sent to #MON" cont "BOX @" - text_ram wcf4b + text_ram wStringBuffer text " on PC!" done diff --git a/data/text/text_6.asm b/data/text/text_6.asm index 39eb22ea..194afa7b 100644 --- a/data/text/text_6.asm +++ b/data/text/text_6.asm @@ -72,7 +72,7 @@ _VitaminStatRoseText:: text_ram wcd6d text "'s" line "@" - text_ram wcf4b + text_ram wStringBuffer text " rose." prompt @@ -138,13 +138,13 @@ _RestorePPWhichTechniqueText:: done _PPMaxedOutText:: - text_ram wcf4b + text_ram wStringBuffer text "'s PP" line "is maxed out." prompt _PPIncreasedText:: - text_ram wcf4b + text_ram wStringBuffer text "'s PP" line "increased." prompt @@ -164,11 +164,11 @@ _BootedUpHMText:: _TeachMachineMoveText:: text "It contained" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!" para "Teach @" - text_ram wcf4b + text_ram wStringBuffer text_start line "to a #MON?" done @@ -178,12 +178,12 @@ _MonCannotLearnMachineMoveText:: text " is not" line "compatible with" cont "@" - text_ram wcf4b + text_ram wStringBuffer text "." para "It can't learn" line "@" - text_ram wcf4b + text_ram wStringBuffer text "." prompt diff --git a/data/text/text_7.asm b/data/text/text_7.asm index 34f070bd..fcb27d20 100644 --- a/data/text/text_7.asm +++ b/data/text/text_7.asm @@ -3,7 +3,7 @@ _ItemUseText001:: text_end _ItemUseText002:: - text_ram wcf4b + text_ram wStringBuffer text "!" done @@ -12,7 +12,7 @@ _GotOnBicycleText1:: text_end _GotOnBicycleText2:: - text_ram wcf4b + text_ram wStringBuffer text "!" prompt @@ -22,7 +22,7 @@ _GotOffBicycleText1:: _GotOffBicycleText2:: text "the @" - text_ram wcf4b + text_ram wStringBuffer text "." prompt @@ -36,7 +36,7 @@ _ThrewAwayItemText:: _IsItOKToTossItemText:: text "Is it OK to toss" line "@" - text_ram wcf4b + text_ram wStringBuffer text "?" prompt @@ -49,7 +49,7 @@ _AlreadyKnowsText:: text_ram wcd6d text " knows" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!" prompt diff --git a/engine/battle/core.asm b/engine/battle/core.asm index f325350f..00906cef 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -2239,7 +2239,7 @@ UseBagItem: ld a, [wcf91] ld [wd11e], a call GetItemName - call CopyStringToCF4B ; copy name + call CopyToStringBuffer xor a ld [wPseudoItemID], a call UseItem @@ -3544,7 +3544,7 @@ CheckPlayerStatusConditions: ld a, RAGE ld [wd11e], a call GetMoveName - call CopyStringToCF4B + call CopyToStringBuffer xor a ld [wPlayerMoveEffect], a ld hl, PlayerCanExecuteMove @@ -3746,7 +3746,7 @@ PrintMoveName: ret _PrintMoveName: - text_far _CF4BText + text_far _MoveNameText text_asm ld hl, ExclamationPointPointerTable ld a, [wd11e] ; exclamation point num @@ -5108,7 +5108,7 @@ ReloadMoveData: call IncrementMovePP ; the follow two function calls are used to reload the move name call GetMoveName - call CopyStringToCF4B + call CopyToStringBuffer ld a, $01 and a ret @@ -5609,7 +5609,7 @@ EnemyCanExecuteChargingMove: ld [wNameListType], a call GetName ld de, wcd6d - call CopyStringToCF4B + call CopyToStringBuffer EnemyCanExecuteMove: xor a ld [wMonIsDisobedient], a @@ -6046,7 +6046,7 @@ CheckEnemyStatusConditions: ld a, RAGE ld [wd11e], a call GetMoveName - call CopyStringToCF4B + call CopyToStringBuffer xor a ld [wEnemyMoveEffect], a ld hl, EnemyCanExecuteMove @@ -6088,7 +6088,7 @@ GetCurrentMove: ld [wNameListType], a call GetName ld de, wcd6d - jp CopyStringToCF4B + jp CopyToStringBuffer LoadEnemyMonData: ld a, [wLinkState] diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index d86a4cbf..91bb9ee0 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -751,7 +751,7 @@ PrintStatText: jr z, .findStatName_outer jr .findStatName_inner .foundStatName - ld de, wcf4b + ld de, wStringBuffer ld bc, $a jp CopyData diff --git a/engine/events/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm index bccc95d1..7cbb2cd5 100644 --- a/engine/events/cinnabar_lab.asm +++ b/engine/events/cinnabar_lab.asm @@ -116,7 +116,7 @@ LoadFossilItemAndMonName:: ld a, [wFossilMon] ld [wd11e], a call GetMonName - call CopyStringToCF4B + call CopyToStringBuffer ld a, [wFossilItem] ld [wd11e], a call GetItemName diff --git a/engine/events/give_pokemon.asm b/engine/events/give_pokemon.asm index 14dcea42..f2374e1e 100644 --- a/engine/events/give_pokemon.asm +++ b/engine/events/give_pokemon.asm @@ -18,7 +18,7 @@ _GivePokemon:: callfar LoadEnemyMonData call SetPokedexOwnedFlag callfar SendNewMonToBox - ld hl, wcf4b + ld hl, wStringBuffer ld a, [wCurrentBoxNum] and $7f cp 9 diff --git a/engine/events/pokemart.asm b/engine/events/pokemart.asm index c7cb8115..a1d69c72 100644 --- a/engine/events/pokemart.asm +++ b/engine/events/pokemart.asm @@ -159,7 +159,7 @@ DisplayPokemartDialogue_:: ld a, [wcf91] ; item ID ld [wd11e], a ; store item ID for GetItemName call GetItemName - call CopyStringToCF4B ; copy name to wcf4b + call CopyToStringBuffer ld hl, PokemartTellBuyPriceText call PrintText hlcoord 14, 7 diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 8114db2b..f58b737e 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -1307,9 +1307,9 @@ ItemUseMedicine: jr nz, .statNameInnerLoop jr .statNameLoop .gotStatName - ld de, wcf4b + ld de, wStringBuffer ld bc, 10 - call CopyData ; copy the stat's name to wcf4b + call CopyData ; copy the stat's name to wStringBuffer ld a, SFX_HEAL_AILMENT call PlaySound ld hl, VitaminStatRoseText @@ -1984,7 +1984,7 @@ ItemUsePPRestore: ld a, [hl] ld [wd11e], a call GetMoveName - call CopyStringToCF4B ; copy name to wcf4b + call CopyToStringBuffer pop hl ld a, [wPPRestoreItem] cp ETHER @@ -2161,7 +2161,7 @@ ItemUseTMHM: ld a, [wd11e] ld [wMoveNum], a call GetMoveName - call CopyStringToCF4B ; copy name to wcf4b + call CopyToStringBuffer pop af ld hl, BootedUpTMText jr nc, .printBootedUpMachineText @@ -2187,7 +2187,7 @@ ItemUseTMHM: ld a, [wcf91] push af .chooseMon - ld hl, wcf4b + ld hl, wStringBuffer ld de, wTempMoveNameBuffer ld bc, 14 call CopyData ; save the move name because DisplayPartyMenu will overwrite it @@ -2198,7 +2198,7 @@ ItemUseTMHM: call DisplayPartyMenu push af ld hl, wTempMoveNameBuffer - ld de, wcf4b + ld de, wStringBuffer ld bc, 14 call CopyData pop af @@ -2553,7 +2553,7 @@ TossItem_:: ld a, [wcf91] ld [wd11e], a call GetItemName - call CopyStringToCF4B ; copy name to wcf4b + call CopyToStringBuffer ld hl, IsItOKToTossItemText call PrintText hlcoord 14, 7 @@ -2573,7 +2573,7 @@ TossItem_:: ld a, [wcf91] ld [wd11e], a call GetItemName - call CopyStringToCF4B ; copy name to wcf4b + call CopyToStringBuffer ld hl, ThrewAwayItemText call PrintText pop hl diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index 9347212e..a0062dcd 100644 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -39,7 +39,7 @@ AskName: pop hl pop af ld [wUpdateSpritesEnabled], a - ld a, [wcf4b] + ld a, [wStringBuffer] cp "@" ret nz .declinedNickname @@ -63,7 +63,7 @@ DisplayNameRaterScreen:: call GBPalWhiteOutWithDelay3 call RestoreScreenTilesAndReloadTilePatterns call LoadGBPal - ld a, [wcf4b] + ld a, [wStringBuffer] cp "@" jr z, .playerCancelled ld hl, wPartyMonNicks @@ -109,7 +109,7 @@ DisplayNamingScreen: ld a, 7 ld [wMaxMenuItem], a ld a, "@" - ld [wcf4b], a + ld [wStringBuffer], a xor a ld hl, wNamingScreenSubmitName ld [hli], a @@ -157,7 +157,7 @@ DisplayNamingScreen: .submitNickname pop de - ld hl, wcf4b + ld hl, wStringBuffer ld bc, NAME_LENGTH call CopyData call GBPalWhiteOutWithDelay3 @@ -375,7 +375,7 @@ PrintNicknameAndUnderscores: lb bc, 1, 10 call ClearScreenArea hlcoord 10, 2 - ld de, wcf4b + ld de, wStringBuffer call PlaceString hlcoord 10, 3 ld a, [wNamingScreenType] @@ -437,9 +437,9 @@ DakutensAndHandakutens: INCLUDE "data/text/dakutens.asm" -; calculates the length of the string at wcf4b and stores it in c +; calculates the length of the string at wStringBuffer and stores it in c CalcStringLength: - ld hl, wcf4b + ld hl, wStringBuffer ld c, $0 .loop ld a, [hl] diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index c0448121..cd1e6da6 100644 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -367,7 +367,7 @@ StartMenu_Item:: ld a, [wcf91] ld [wd11e], a call GetItemName - call CopyStringToCF4B ; copy name to wcf4b + call CopyToStringBuffer ld a, [wcf91] cp BICYCLE jr nz, .notBicycle2 diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm index 84df7968..7288207b 100644 --- a/engine/movie/oak_speech/oak_speech2.asm +++ b/engine/movie/oak_speech/oak_speech2.asm @@ -15,7 +15,7 @@ ChoosePlayerName: xor a ; NAME_PLAYER_SCREEN ld [wNamingScreenType], a call DisplayNamingScreen - ld a, [wcf4b] + ld a, [wStringBuffer] cp "@" jr z, .customName call ClearScreen @@ -48,7 +48,7 @@ ChooseRivalName: ld a, NAME_RIVAL_SCREEN ld [wNamingScreenType], a call DisplayNamingScreen - ld a, [wcf4b] + ld a, [wStringBuffer] cp "@" jr z, .customName call ClearScreen diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index bb06f231..a287c9b4 100644 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -189,7 +189,7 @@ LoadTradingGFXAndMonNames: ld [wd11e], a call GetMonName ld hl, wcd6d - ld de, wcf4b + ld de, wStringBuffer ld bc, NAME_LENGTH call CopyData ld a, [wTradedEnemyMonSpecies] diff --git a/engine/movie/trade2.asm b/engine/movie/trade2.asm index f0d91846..98d1158e 100644 --- a/engine/movie/trade2.asm +++ b/engine/movie/trade2.asm @@ -10,7 +10,7 @@ Trade_PrintPlayerMonInfoText: lb bc, LEADING_ZEROES | 1, 3 call PrintNumber hlcoord 5, 2 - ld de, wcf4b + ld de, wStringBuffer call PlaceString hlcoord 8, 4 ld de, wTradedPlayerMonOT diff --git a/engine/pokemon/evos_moves.asm b/engine/pokemon/evos_moves.asm index 7d5fd469..7e41d58d 100644 --- a/engine/pokemon/evos_moves.asm +++ b/engine/pokemon/evos_moves.asm @@ -114,7 +114,7 @@ Evolution_PartyMonLoop: ; loop over party mons ld a, [wWhichPokemon] ld hl, wPartyMonNicks call GetPartyMonName - call CopyStringToCF4B + call CopyToStringBuffer ld hl, IsEvolvingText call PrintText ld c, 50 @@ -268,7 +268,7 @@ RenameEvolvedMon: pop af ld [wd0b5], a ld hl, wcd6d - ld de, wcf4b + ld de, wStringBuffer .compareNamesLoop ld a, [de] inc de @@ -368,7 +368,7 @@ LearnMoveFromLevelUp: ld [wMoveNum], a ld [wd11e], a call GetMoveName - call CopyStringToCF4B + call CopyToStringBuffer predef LearnMove .done ld a, [wcf91] diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index fe137632..1c2bb4c9 100644 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -445,7 +445,7 @@ SlotMachine_CheckForMatches: ld a, [hli] ld h, [hl] ld l, a - ld de, wcf4b + ld de, wStringBuffer ld bc, 4 call CopyData pop hl diff --git a/home/copy_string.asm b/home/copy_string.asm index 7f86e501..05f9ba80 100644 --- a/home/copy_string.asm +++ b/home/copy_string.asm @@ -1,9 +1,9 @@ -; copies a string from [de] to [wcf4b] -CopyStringToCF4B:: - ld hl, wcf4b +; copies a string from de to wStringBuffer +CopyToStringBuffer:: + ld hl, wStringBuffer ; fall through -; copies a string from [de] to [hl] +; copies a string from de to hl CopyString:: ld a, [de] inc de diff --git a/home/give.asm b/home/give.asm index cbfd0310..f446cf36 100644 --- a/home/give.asm +++ b/home/give.asm @@ -1,6 +1,6 @@ GiveItem:: ; Give player quantity c of item b, -; and copy the item's name to wcf4b. +; and copy the item's name to wStringBuffer. ; Return carry on success. ld a, b ld [wd11e], a @@ -11,7 +11,7 @@ GiveItem:: call AddItemToInventory ret nc call GetItemName - call CopyStringToCF4B + call CopyToStringBuffer scf ret diff --git a/home/list_menu.asm b/home/list_menu.asm index c856e91d..d6bf43b2 100644 --- a/home/list_menu.asm +++ b/home/list_menu.asm @@ -157,7 +157,7 @@ DisplayListMenuIDLoop:: call GetPartyMonName .storeChosenEntry ; store the menu entry that the player chose and return ld de, wcd6d - call CopyStringToCF4B ; copy name to wcf4b + call CopyToStringBuffer ld a, CHOSE_MENU_ITEM ld [wMenuExitMethod], a ld a, [wCurrentMenuItem] diff --git a/text/BillsHouse.asm b/text/BillsHouse.asm index 11bb3200..9bbea9d7 100644 --- a/text/BillsHouse.asm +++ b/text/BillsHouse.asm @@ -56,7 +56,7 @@ _BillThankYouText:: _SSTicketReceivedText:: text " received" line "an @" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/BluesHouse.asm b/text/BluesHouse.asm index 6e57cb21..8b3cdd20 100644 --- a/text/BluesHouse.asm +++ b/text/BluesHouse.asm @@ -14,7 +14,7 @@ _DaisyOfferMapText:: _GotMapText:: text " got a" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/CeladonCity.asm b/text/CeladonCity.asm index 76fa1775..12146016 100644 --- a/text/CeladonCity.asm +++ b/text/CeladonCity.asm @@ -42,7 +42,7 @@ _TM41PreText:: _ReceivedTM41Text:: text " received" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/CeladonDiner.asm b/text/CeladonDiner.asm index dd86a0c1..b91cb5a9 100644 --- a/text/CeladonDiner.asm +++ b/text/CeladonDiner.asm @@ -44,7 +44,7 @@ _CeladonDinerText_491a7:: _ReceivedCoinCaseText:: text " received" line "a @" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/CeladonGym.asm b/text/CeladonGym.asm index 2ea0dc44..f4ca049a 100644 --- a/text/CeladonGym.asm +++ b/text/CeladonGym.asm @@ -64,7 +64,7 @@ _ErikaRainbowBadgeInfoText:: _ReceivedTM21Text:: text " received" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/CeladonMart3F.asm b/text/CeladonMart3F.asm index 9871a5ae..c24763e4 100644 --- a/text/CeladonMart3F.asm +++ b/text/CeladonMart3F.asm @@ -10,7 +10,7 @@ _TM18PreReceiveText:: _ReceivedTM18Text:: text " received" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/CeladonMartRoof.asm b/text/CeladonMartRoof.asm index 15bf8c04..cbedb3b7 100644 --- a/text/CeladonMartRoof.asm +++ b/text/CeladonMartRoof.asm @@ -17,7 +17,7 @@ _CeladonMartRoofText_484f3:: _CeladonMartRoofText_484f9:: text " received" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end @@ -25,7 +25,7 @@ _CeladonMartRoofText_484fe:: text_start para "@" - text_ram wcf4b + text_ram wStringBuffer text " contains" line "ICE BEAM!" @@ -47,7 +47,7 @@ _CeladonMartRoofText_48504:: _CeladonMartRoofText_4850a:: text " received" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end @@ -55,7 +55,7 @@ _CeladonMartRoofText_4850f:: text_start para "@" - text_ram wcf4b + text_ram wStringBuffer text " contains" line "ROCK SLIDE!" @@ -137,7 +137,7 @@ _VendingMachineText4:: done _VendingMachineText5:: - text_ram wcf4b + text_ram wStringBuffer text_start line "popped out!" done diff --git a/text/CinnabarGym.asm b/text/CinnabarGym.asm index 00fa7084..daab36d4 100644 --- a/text/CinnabarGym.asm +++ b/text/CinnabarGym.asm @@ -45,7 +45,7 @@ _BlaineVolcanoBadgeInfoText:: _ReceivedTM38Text:: text " received" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/CinnabarLabFossilRoom.asm b/text/CinnabarLabFossilRoom.asm index e7983fe9..14db7fff 100644 --- a/text/CinnabarLabFossilRoom.asm +++ b/text/CinnabarLabFossilRoom.asm @@ -30,7 +30,7 @@ _Lab4Text_75dd5:: line "back to life!" para "It was @" - text_ram wcf4b + text_ram wStringBuffer text_start line "like I think!" prompt @@ -43,7 +43,7 @@ _Lab4Text_610ae:: para "It is fossil of" line "@" - text_ram wcf4b + text_ram wStringBuffer text ", a" cont "#MON that is" cont "already extinct!" diff --git a/text/CinnabarLabMetronomeRoom.asm b/text/CinnabarLabMetronomeRoom.asm index f9b2c5d5..2a809953 100644 --- a/text/CinnabarLabMetronomeRoom.asm +++ b/text/CinnabarLabMetronomeRoom.asm @@ -9,7 +9,7 @@ _TM35PreReceiveText:: _ReceivedTM35Text:: text " received " line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/CopycatsHouse2F.asm b/text/CopycatsHouse2F.asm index 7d1aa0ad..117dd64e 100644 --- a/text/CopycatsHouse2F.asm +++ b/text/CopycatsHouse2F.asm @@ -29,7 +29,7 @@ _TM31PreReceiveText:: _ReceivedTM31Text:: text " received" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/FuchsiaGoodRodHouse.asm b/text/FuchsiaGoodRodHouse.asm index 142c2837..4625f8bf 100644 --- a/text/FuchsiaGoodRodHouse.asm +++ b/text/FuchsiaGoodRodHouse.asm @@ -19,7 +19,7 @@ _FuchsiaHouse3Text_561c2:: para " received" line "a @" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/FuchsiaGym_2.asm b/text/FuchsiaGym_2.asm index b6443a5a..bec13956 100644 --- a/text/FuchsiaGym_2.asm +++ b/text/FuchsiaGym_2.asm @@ -27,7 +27,7 @@ _KogaSoulBadgeInfoText:: _ReceivedTM06Text:: text " received" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/MrFujisHouse.asm b/text/MrFujisHouse.asm index 2f76ad94..6c7f3439 100644 --- a/text/MrFujisHouse.asm +++ b/text/MrFujisHouse.asm @@ -50,7 +50,7 @@ _LavenderHouse1Text_1d94c:: _ReceivedFluteText:: text " received" line "a @" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/MrPsychicsHouse.asm b/text/MrPsychicsHouse.asm index 5ac2c9af..f58188e2 100644 --- a/text/MrPsychicsHouse.asm +++ b/text/MrPsychicsHouse.asm @@ -8,7 +8,7 @@ _TM29PreReceiveText:: _ReceivedTM29Text:: text " received" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/MtMoonB2F.asm b/text/MtMoonB2F.asm index f920e0fb..87d8d755 100644 --- a/text/MtMoonB2F.asm +++ b/text/MtMoonB2F.asm @@ -11,7 +11,7 @@ _MtMoon3Text_49f64:: _MtMoon3Text_49f6f:: text " got the" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/PokemonFanClub.asm b/text/PokemonFanClub.asm index 87c273a6..150bbeba 100644 --- a/text/PokemonFanClub.asm +++ b/text/PokemonFanClub.asm @@ -85,7 +85,7 @@ FanClubChairStoryText:: ReceivedBikeVoucherText:: text " received" line "a @" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/Route1.asm b/text/Route1.asm index bf32af26..c7a05cd4 100644 --- a/text/Route1.asm +++ b/text/Route1.asm @@ -15,7 +15,7 @@ _Route1ViridianMartSampleText:: _Route1Text_1cae8:: text " got" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/Route12SuperRodHouse.asm b/text/Route12SuperRodHouse.asm index ff633d3a..990fc631 100644 --- a/text/Route12SuperRodHouse.asm +++ b/text/Route12SuperRodHouse.asm @@ -18,7 +18,7 @@ _Route12HouseText_564c5:: para " received" line "a @" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/Route24.asm b/text/Route24.asm index 6792c401..5dc4ab79 100644 --- a/text/Route24.asm +++ b/text/Route24.asm @@ -14,7 +14,7 @@ _Route24Text_51515:: _Route24Text_5151a:: text " received" line "a @" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/SSAnneCaptainsRoom.asm b/text/SSAnneCaptainsRoom.asm index 5216cf04..13829483 100644 --- a/text/SSAnneCaptainsRoom.asm +++ b/text/SSAnneCaptainsRoom.asm @@ -34,7 +34,7 @@ _ReceivingHM01Text:: _ReceivedHM01Text:: text " got" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/SafariZoneSecretHouse.asm b/text/SafariZoneSecretHouse.asm index 8aff18b7..c8006170 100644 --- a/text/SafariZoneSecretHouse.asm +++ b/text/SafariZoneSecretHouse.asm @@ -17,7 +17,7 @@ _SecretHouseText_4a350:: _ReceivedHM03Text:: text " received" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/SilphCo11F.asm b/text/SilphCo11F.asm index 36adf7d9..1b42fd93 100644 --- a/text/SilphCo11F.asm +++ b/text/SilphCo11F.asm @@ -22,7 +22,7 @@ _SilphCoPresidentText:: _ReceivedSilphCoMasterBallText:: text " got a" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/SilphCo2F.asm b/text/SilphCo2F.asm index b0cce269..32546b15 100644 --- a/text/SilphCo2F.asm +++ b/text/SilphCo2F.asm @@ -12,7 +12,7 @@ _SilphCo2Text_59ded:: _ReceivedTM36Text:: text " got" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/VermilionGym_2.asm b/text/VermilionGym_2.asm index 02af599d..01857483 100644 --- a/text/VermilionGym_2.asm +++ b/text/VermilionGym_2.asm @@ -26,7 +26,7 @@ _LTSurgeThunderBadgeInfoText:: _ReceivedTM24Text:: text " received " line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/VermilionOldRodHouse.asm b/text/VermilionOldRodHouse.asm index d9a94cd4..587681b2 100644 --- a/text/VermilionOldRodHouse.asm +++ b/text/VermilionOldRodHouse.asm @@ -18,7 +18,7 @@ _VermilionHouse2Text_560b6:: para " received" line "an @" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/text/WardensHouse.asm b/text/WardensHouse.asm index 47612904..16ac6835 100644 --- a/text/WardensHouse.asm +++ b/text/WardensHouse.asm @@ -46,7 +46,7 @@ _WardenThankYouText:: _ReceivedHM04Text:: text " received" line "@" - text_ram wcf4b + text_ram wStringBuffer text "!@" text_end diff --git a/wram.asm b/wram.asm index 5a823f20..6656a9cc 100644 --- a/wram.asm +++ b/wram.asm @@ -1055,7 +1055,7 @@ wPartyMenuBlkPacket:: ds $30 NEXTU ds 29 ; storage buffer for various strings -wcf4b:: ds 20 +wStringBuffer:: ds 20 NEXTU ds 29 From f1285f8584ce7ff50ceb5e3134c0efc867209096 Mon Sep 17 00:00:00 2001 From: Rangi Date: Wed, 8 Sep 2021 20:59:22 -0400 Subject: [PATCH 044/119] `ASSERT LOW(wSpriteStateData1) == 0 && LOW(wSpriteStateData2) == 0` --- wram.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wram.asm b/wram.asm index 6656a9cc..12b1e51a 100644 --- a/wram.asm +++ b/wram.asm @@ -143,7 +143,7 @@ ENDR ; The high byte of a pointer to anywhere within wSpriteStateData1 can be incremented ; to reach within wSpriteStateData2, and vice-versa for decrementing. ASSERT HIGH(wSpriteStateData1) + 1 == HIGH(wSpriteStateData2) -ASSERT LOW(wSpriteStateData1) == 0 +ASSERT LOW(wSpriteStateData1) == 0 && LOW(wSpriteStateData2) == 0 wSpriteDataEnd:: From 2c4f35848b786864822a3f211df91de30a2857c9 Mon Sep 17 00:00:00 2001 From: Yoann Fievez Date: Mon, 27 Sep 2021 04:56:09 +0200 Subject: [PATCH 045/119] Unify map event gen1 gen2 (#335) * Update sign to bg_event #289 * Rename warp to warp_event * Replace object to object_event * Move warp macro parameter from warp x, y, id, map to warp_event x, y, map, id --- data/maps/objects/AgathasRoom.asm | 16 ++-- data/maps/objects/BikeShop.asm | 16 ++-- data/maps/objects/BillsHouse.asm | 16 ++-- data/maps/objects/BluesHouse.asm | 16 ++-- data/maps/objects/BrunosRoom.asm | 16 ++-- data/maps/objects/CeladonChiefHouse.asm | 16 ++-- data/maps/objects/CeladonCity.asm | 68 +++++++------- data/maps/objects/CeladonDiner.asm | 20 ++--- data/maps/objects/CeladonGym.asm | 26 +++--- data/maps/objects/CeladonHotel.asm | 16 ++-- data/maps/objects/CeladonMansion1F.asm | 26 +++--- data/maps/objects/CeladonMansion2F.asm | 16 ++-- data/maps/objects/CeladonMansion3F.asm | 30 +++---- data/maps/objects/CeladonMansionRoof.asm | 14 +-- data/maps/objects/CeladonMansionRoofHouse.asm | 14 +-- data/maps/objects/CeladonMart1F.asm | 24 ++--- data/maps/objects/CeladonMart2F.asm | 22 ++--- data/maps/objects/CeladonMart3F.asm | 46 +++++----- data/maps/objects/CeladonMart4F.asm | 20 ++--- data/maps/objects/CeladonMart5F.asm | 22 ++--- data/maps/objects/CeladonMartElevator.asm | 12 +-- data/maps/objects/CeladonMartRoof.asm | 20 ++--- data/maps/objects/CeladonPokecenter.asm | 18 ++-- data/maps/objects/CeruleanBadgeHouse.asm | 14 +-- data/maps/objects/CeruleanCave1F.asm | 30 +++---- data/maps/objects/CeruleanCave2F.asm | 24 ++--- data/maps/objects/CeruleanCaveB1F.asm | 14 +-- data/maps/objects/CeruleanCity.asm | 60 ++++++------- data/maps/objects/CeruleanGym.asm | 18 ++-- data/maps/objects/CeruleanMart.asm | 16 ++-- data/maps/objects/CeruleanPokecenter.asm | 18 ++-- data/maps/objects/CeruleanTradeHouse.asm | 14 +-- data/maps/objects/CeruleanTrashedHouse.asm | 18 ++-- data/maps/objects/ChampionsRoom.asm | 18 ++-- data/maps/objects/CinnabarGym.asm | 28 +++--- data/maps/objects/CinnabarIsland.asm | 30 +++---- data/maps/objects/CinnabarLab.asm | 26 +++--- data/maps/objects/CinnabarLabFossilRoom.asm | 14 +-- .../maps/objects/CinnabarLabMetronomeRoom.asm | 20 ++--- data/maps/objects/CinnabarLabTradeRoom.asm | 16 ++-- data/maps/objects/CinnabarMart.asm | 16 ++-- data/maps/objects/CinnabarPokecenter.asm | 18 ++-- data/maps/objects/Colosseum.asm | 8 +- data/maps/objects/CopycatsHouse1F.asm | 18 ++-- data/maps/objects/CopycatsHouse2F.asm | 22 ++--- data/maps/objects/Daycare.asm | 12 +-- data/maps/objects/DiglettsCave.asm | 10 +-- data/maps/objects/DiglettsCaveRoute11.asm | 14 +-- data/maps/objects/DiglettsCaveRoute2.asm | 14 +-- data/maps/objects/FightingDojo.asm | 24 ++--- .../objects/FuchsiaBillsGrandpasHouse.asm | 16 ++-- data/maps/objects/FuchsiaCity.asm | 72 +++++++-------- data/maps/objects/FuchsiaGoodRodHouse.asm | 14 +-- data/maps/objects/FuchsiaGym.asm | 26 +++--- data/maps/objects/FuchsiaMart.asm | 16 ++-- data/maps/objects/FuchsiaMeetingRoom.asm | 16 ++-- data/maps/objects/FuchsiaPokecenter.asm | 18 ++-- data/maps/objects/GameCorner.asm | 36 ++++---- data/maps/objects/GameCornerPrizeRoom.asm | 20 ++--- data/maps/objects/HallOfFame.asm | 12 +-- data/maps/objects/IndigoPlateau.asm | 10 +-- data/maps/objects/IndigoPlateauLobby.asm | 22 ++--- data/maps/objects/LancesRoom.asm | 14 +-- data/maps/objects/LavenderCuboneHouse.asm | 14 +-- data/maps/objects/LavenderMart.asm | 16 ++-- data/maps/objects/LavenderPokecenter.asm | 18 ++-- data/maps/objects/LavenderTown.asm | 36 ++++---- data/maps/objects/LoreleisRoom.asm | 16 ++-- data/maps/objects/MrFujisHouse.asm | 22 ++--- data/maps/objects/MrPsychicsHouse.asm | 12 +-- data/maps/objects/MtMoon1F.asm | 44 +++++----- data/maps/objects/MtMoonB1F.asm | 22 ++--- data/maps/objects/MtMoonB2F.asm | 32 +++---- data/maps/objects/MtMoonPokecenter.asm | 22 ++--- data/maps/objects/Museum1F.asm | 26 +++--- data/maps/objects/Museum2F.asm | 22 ++--- data/maps/objects/NameRatersHouse.asm | 12 +-- data/maps/objects/OaksLab.asm | 32 +++---- data/maps/objects/PalletTown.asm | 26 +++--- data/maps/objects/PewterCity.asm | 44 +++++----- data/maps/objects/PewterGym.asm | 16 ++-- data/maps/objects/PewterMart.asm | 16 ++-- data/maps/objects/PewterNidoranHouse.asm | 16 ++-- data/maps/objects/PewterPokecenter.asm | 18 ++-- data/maps/objects/PewterSpeechHouse.asm | 14 +-- data/maps/objects/PokemonFanClub.asm | 26 +++--- data/maps/objects/PokemonMansion1F.asm | 28 +++--- data/maps/objects/PokemonMansion2F.asm | 22 ++--- data/maps/objects/PokemonMansion3F.asm | 22 ++--- data/maps/objects/PokemonMansionB1F.asm | 24 ++--- data/maps/objects/PokemonTower1F.asm | 22 ++--- data/maps/objects/PokemonTower2F.asm | 14 +-- data/maps/objects/PokemonTower3F.asm | 18 ++-- data/maps/objects/PokemonTower4F.asm | 22 ++--- data/maps/objects/PokemonTower5F.asm | 22 ++--- data/maps/objects/PokemonTower6F.asm | 20 ++--- data/maps/objects/PokemonTower7F.asm | 16 ++-- data/maps/objects/PowerPlant.asm | 40 ++++----- data/maps/objects/RedsHouse1F.asm | 16 ++-- data/maps/objects/RedsHouse2F.asm | 8 +- data/maps/objects/RockTunnel1F.asm | 38 ++++---- data/maps/objects/RockTunnelB1F.asm | 30 +++---- data/maps/objects/RockTunnelPokecenter.asm | 18 ++-- data/maps/objects/RocketHideoutB1F.asm | 30 +++---- data/maps/objects/RocketHideoutB2F.asm | 26 +++--- data/maps/objects/RocketHideoutB3F.asm | 18 ++-- data/maps/objects/RocketHideoutB4F.asm | 30 +++---- data/maps/objects/RocketHideoutElevator.asm | 12 +-- data/maps/objects/Route1.asm | 12 +-- data/maps/objects/Route10.asm | 34 +++---- data/maps/objects/Route11.asm | 38 ++++---- data/maps/objects/Route11Gate1F.asm | 18 ++-- data/maps/objects/Route11Gate2F.asm | 16 ++-- data/maps/objects/Route12.asm | 38 ++++---- data/maps/objects/Route12Gate1F.asm | 18 ++-- data/maps/objects/Route12Gate2F.asm | 14 +-- data/maps/objects/Route12SuperRodHouse.asm | 12 +-- data/maps/objects/Route13.asm | 32 +++---- data/maps/objects/Route14.asm | 28 +++--- data/maps/objects/Route15.asm | 38 ++++---- data/maps/objects/Route15Gate1F.asm | 18 ++-- data/maps/objects/Route15Gate2F.asm | 12 +-- data/maps/objects/Route16.asm | 42 ++++----- data/maps/objects/Route16FlyHouse.asm | 14 +-- data/maps/objects/Route16Gate1F.asm | 28 +++--- data/maps/objects/Route16Gate2F.asm | 16 ++-- data/maps/objects/Route17.asm | 38 ++++---- data/maps/objects/Route18.asm | 24 ++--- data/maps/objects/Route18Gate1F.asm | 18 ++-- data/maps/objects/Route18Gate2F.asm | 14 +-- data/maps/objects/Route19.asm | 28 +++--- data/maps/objects/Route2.asm | 26 +++--- data/maps/objects/Route20.asm | 34 +++---- data/maps/objects/Route21.asm | 24 ++--- data/maps/objects/Route22.asm | 14 +-- data/maps/objects/Route22Gate.asm | 16 ++-- data/maps/objects/Route23.asm | 30 +++---- data/maps/objects/Route24.asm | 22 ++--- data/maps/objects/Route25.asm | 30 +++---- data/maps/objects/Route2Gate.asm | 18 ++-- data/maps/objects/Route2TradeHouse.asm | 14 +-- data/maps/objects/Route3.asm | 26 +++--- data/maps/objects/Route4.asm | 24 ++--- data/maps/objects/Route5.asm | 18 ++-- data/maps/objects/Route5Gate.asm | 16 ++-- data/maps/objects/Route6.asm | 28 +++--- data/maps/objects/Route6Gate.asm | 16 ++-- data/maps/objects/Route7.asm | 18 ++-- data/maps/objects/Route7Gate.asm | 16 ++-- data/maps/objects/Route8.asm | 36 ++++---- data/maps/objects/Route8Gate.asm | 16 ++-- data/maps/objects/Route9.asm | 28 +++--- data/maps/objects/SSAnne1F.asm | 32 +++---- data/maps/objects/SSAnne1FRooms.asm | 40 ++++----- data/maps/objects/SSAnne2F.asm | 28 +++--- data/maps/objects/SSAnne2FRooms.asm | 56 ++++++------ data/maps/objects/SSAnne3F.asm | 12 +-- data/maps/objects/SSAnneB1F.asm | 18 ++-- data/maps/objects/SSAnneB1FRooms.asm | 48 +++++----- data/maps/objects/SSAnneBow.asm | 20 ++--- data/maps/objects/SSAnneCaptainsRoom.asm | 14 +-- data/maps/objects/SSAnneKitchen.asm | 22 ++--- data/maps/objects/SafariZoneCenter.asm | 30 +++---- .../objects/SafariZoneCenterRestHouse.asm | 14 +-- data/maps/objects/SafariZoneEast.asm | 30 +++---- data/maps/objects/SafariZoneEastRestHouse.asm | 16 ++-- data/maps/objects/SafariZoneGate.asm | 18 ++-- data/maps/objects/SafariZoneNorth.asm | 38 ++++---- .../maps/objects/SafariZoneNorthRestHouse.asm | 16 ++-- data/maps/objects/SafariZoneSecretHouse.asm | 12 +-- data/maps/objects/SafariZoneWest.asm | 38 ++++---- data/maps/objects/SafariZoneWestRestHouse.asm | 16 ++-- data/maps/objects/SaffronCity.asm | 72 +++++++-------- data/maps/objects/SaffronGym.asm | 88 +++++++++---------- data/maps/objects/SaffronMart.asm | 16 ++-- data/maps/objects/SaffronPidgeyHouse.asm | 18 ++-- data/maps/objects/SaffronPokecenter.asm | 18 ++-- data/maps/objects/SeafoamIslands1F.asm | 24 ++--- data/maps/objects/SeafoamIslandsB1F.asm | 24 ++--- data/maps/objects/SeafoamIslandsB2F.asm | 24 ++--- data/maps/objects/SeafoamIslandsB3F.asm | 32 +++---- data/maps/objects/SeafoamIslandsB4F.asm | 24 ++--- data/maps/objects/SilphCo10F.asm | 30 +++---- data/maps/objects/SilphCo11F.asm | 24 ++--- data/maps/objects/SilphCo1F.asm | 18 ++-- data/maps/objects/SilphCo2F.asm | 30 +++---- data/maps/objects/SilphCo3F.asm | 34 +++---- data/maps/objects/SilphCo4F.asm | 34 +++---- data/maps/objects/SilphCo5F.asm | 42 ++++----- data/maps/objects/SilphCo6F.asm | 36 ++++---- data/maps/objects/SilphCo7F.asm | 40 ++++----- data/maps/objects/SilphCo8F.asm | 28 +++--- data/maps/objects/SilphCo9F.asm | 24 ++--- data/maps/objects/SilphCoElevator.asm | 12 +-- data/maps/objects/TradeCenter.asm | 8 +- .../objects/UndergroundPathNorthSouth.asm | 10 +-- data/maps/objects/UndergroundPathRoute5.asm | 14 +-- data/maps/objects/UndergroundPathRoute6.asm | 14 +-- data/maps/objects/UndergroundPathRoute7.asm | 14 +-- .../objects/UndergroundPathRoute7Copy.asm | 16 ++-- data/maps/objects/UndergroundPathRoute8.asm | 14 +-- data/maps/objects/UndergroundPathWestEast.asm | 10 +-- data/maps/objects/VermilionCity.asm | 50 +++++------ data/maps/objects/VermilionDock.asm | 10 +-- data/maps/objects/VermilionGym.asm | 20 ++--- data/maps/objects/VermilionMart.asm | 16 ++-- data/maps/objects/VermilionOldRodHouse.asm | 12 +-- data/maps/objects/VermilionPidgeyHouse.asm | 16 ++-- data/maps/objects/VermilionPokecenter.asm | 18 ++-- data/maps/objects/VermilionTradeHouse.asm | 12 +-- data/maps/objects/VictoryRoad1F.asm | 26 +++--- data/maps/objects/VictoryRoad2F.asm | 46 +++++----- data/maps/objects/VictoryRoad3F.asm | 34 +++---- data/maps/objects/ViridianCity.asm | 42 ++++----- data/maps/objects/ViridianForest.asm | 46 +++++----- data/maps/objects/ViridianForestNorthGate.asm | 18 ++-- data/maps/objects/ViridianForestSouthGate.asm | 18 ++-- data/maps/objects/ViridianGym.asm | 32 +++---- data/maps/objects/ViridianMart.asm | 16 ++-- data/maps/objects/ViridianNicknameHouse.asm | 18 ++-- data/maps/objects/ViridianPokecenter.asm | 18 ++-- data/maps/objects/ViridianSchoolHouse.asm | 14 +-- data/maps/objects/WardensHouse.asm | 20 ++--- macros/scripts/maps.asm | 58 ++++++------ 224 files changed, 2622 insertions(+), 2622 deletions(-) diff --git a/data/maps/objects/AgathasRoom.asm b/data/maps/objects/AgathasRoom.asm index 0f00ea20..e8b29f00 100644 --- a/data/maps/objects/AgathasRoom.asm +++ b/data/maps/objects/AgathasRoom.asm @@ -1,15 +1,15 @@ AgathasRoom_Object: db $0 ; border block - def_warps - warp 4, 11, 2, BRUNOS_ROOM - warp 5, 11, 3, BRUNOS_ROOM - warp 4, 0, 0, LANCES_ROOM - warp 5, 0, 0, LANCES_ROOM + def_warp_events + warp_event 4, 11, BRUNOS_ROOM, 2 + warp_event 5, 11, BRUNOS_ROOM, 3 + warp_event 4, 0, LANCES_ROOM, 0 + warp_event 5, 0, LANCES_ROOM, 0 - def_signs + def_bg_events - def_objects - object SPRITE_AGATHA, 5, 2, STAY, DOWN, 1, OPP_AGATHA, 1 + def_object_events + object_event 5, 2, SPRITE_AGATHA, STAY, DOWN, 1, OPP_AGATHA, 1 def_warps_to AGATHAS_ROOM diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm index 6a6fe6d6..873d4fc1 100644 --- a/data/maps/objects/BikeShop.asm +++ b/data/maps/objects/BikeShop.asm @@ -1,15 +1,15 @@ BikeShop_Object: db $e ; border block - def_warps - warp 2, 7, 4, LAST_MAP - warp 3, 7, 4, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 4 - def_signs + def_bg_events - def_objects - object SPRITE_BIKE_SHOP_CLERK, 6, 2, STAY, NONE, 1 ; person - object SPRITE_MIDDLE_AGED_WOMAN, 5, 6, WALK, UP_DOWN, 2 ; person - object SPRITE_YOUNGSTER, 1, 3, STAY, UP, 3 ; person + def_object_events + object_event 6, 2, SPRITE_BIKE_SHOP_CLERK, STAY, NONE, 1 ; person + object_event 5, 6, SPRITE_MIDDLE_AGED_WOMAN, WALK, UP_DOWN, 2 ; person + object_event 1, 3, SPRITE_YOUNGSTER, STAY, UP, 3 ; person def_warps_to BIKE_SHOP diff --git a/data/maps/objects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm index fad8df05..7590be91 100644 --- a/data/maps/objects/BillsHouse.asm +++ b/data/maps/objects/BillsHouse.asm @@ -1,15 +1,15 @@ BillsHouse_Object: db $d ; border block - def_warps - warp 2, 7, 0, LAST_MAP - warp 3, 7, 0, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 0 - def_signs + def_bg_events - def_objects - object SPRITE_MONSTER, 6, 5, STAY, NONE, 1 ; person - object SPRITE_SUPER_NERD, 4, 4, STAY, NONE, 2 ; person - object SPRITE_SUPER_NERD, 6, 5, STAY, NONE, 3 ; person + def_object_events + object_event 6, 5, SPRITE_MONSTER, STAY, NONE, 1 ; person + object_event 4, 4, SPRITE_SUPER_NERD, STAY, NONE, 2 ; person + object_event 6, 5, SPRITE_SUPER_NERD, STAY, NONE, 3 ; person def_warps_to BILLS_HOUSE diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm index 4858b785..36d96058 100644 --- a/data/maps/objects/BluesHouse.asm +++ b/data/maps/objects/BluesHouse.asm @@ -1,15 +1,15 @@ BluesHouse_Object: db $a ; border block - def_warps - warp 2, 7, 1, LAST_MAP - warp 3, 7, 1, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 1 + warp_event 3, 7, LAST_MAP, 1 - def_signs + def_bg_events - def_objects - object SPRITE_DAISY, 2, 3, STAY, RIGHT, 1 ; Daisy, sitting by map - object SPRITE_DAISY, 6, 4, WALK, UP_DOWN, 2, 0 ; Daisy, walking around - object SPRITE_POKEDEX, 3, 3, STAY, NONE, 3, 0 ; map on table + def_object_events + object_event 2, 3, SPRITE_DAISY, STAY, RIGHT, 1 ; Daisy, sitting by map + object_event 6, 4, SPRITE_DAISY, WALK, UP_DOWN, 2, 0 ; Daisy, walking around + object_event 3, 3, SPRITE_POKEDEX, STAY, NONE, 3, 0 ; map on table def_warps_to BLUES_HOUSE diff --git a/data/maps/objects/BrunosRoom.asm b/data/maps/objects/BrunosRoom.asm index f5399874..b0125dc4 100644 --- a/data/maps/objects/BrunosRoom.asm +++ b/data/maps/objects/BrunosRoom.asm @@ -1,15 +1,15 @@ BrunosRoom_Object: db $3 ; border block - def_warps - warp 4, 11, 2, LORELEIS_ROOM - warp 5, 11, 3, LORELEIS_ROOM - warp 4, 0, 0, AGATHAS_ROOM - warp 5, 0, 1, AGATHAS_ROOM + def_warp_events + warp_event 4, 11, LORELEIS_ROOM, 2 + warp_event 5, 11, LORELEIS_ROOM, 3 + warp_event 4, 0, AGATHAS_ROOM, 0 + warp_event 5, 0, AGATHAS_ROOM, 1 - def_signs + def_bg_events - def_objects - object SPRITE_BRUNO, 5, 2, STAY, DOWN, 1, OPP_BRUNO, 1 + def_object_events + object_event 5, 2, SPRITE_BRUNO, STAY, DOWN, 1, OPP_BRUNO, 1 def_warps_to BRUNOS_ROOM diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm index 97b9e4c9..f8f28da8 100644 --- a/data/maps/objects/CeladonChiefHouse.asm +++ b/data/maps/objects/CeladonChiefHouse.asm @@ -1,15 +1,15 @@ CeladonChiefHouse_Object: db $f ; border block - def_warps - warp 2, 7, 11, LAST_MAP - warp 3, 7, 11, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 11 + warp_event 3, 7, LAST_MAP, 11 - def_signs + def_bg_events - def_objects - object SPRITE_GRAMPS, 4, 2, STAY, DOWN, 1 ; person - object SPRITE_ROCKET, 1, 4, WALK, ANY_DIR, 2 ; person - object SPRITE_SAILOR, 5, 6, STAY, LEFT, 3 ; person + def_object_events + object_event 4, 2, SPRITE_GRAMPS, STAY, DOWN, 1 ; person + object_event 1, 4, SPRITE_ROCKET, WALK, ANY_DIR, 2 ; person + object_event 5, 6, SPRITE_SAILOR, STAY, LEFT, 3 ; person def_warps_to CELADON_CHIEF_HOUSE diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm index ddf0afdb..0f3976d4 100644 --- a/data/maps/objects/CeladonCity.asm +++ b/data/maps/objects/CeladonCity.asm @@ -1,41 +1,41 @@ CeladonCity_Object: db $f ; border block - def_warps - warp 8, 13, 0, CELADON_MART_1F - warp 10, 13, 2, CELADON_MART_1F - warp 24, 9, 0, CELADON_MANSION_1F - warp 24, 3, 2, CELADON_MANSION_1F - warp 25, 3, 2, CELADON_MANSION_1F - warp 41, 9, 0, CELADON_POKECENTER - warp 12, 27, 0, CELADON_GYM - warp 28, 19, 0, GAME_CORNER - warp 39, 19, 0, CELADON_MART_5F ; beta warp! no longer used - warp 33, 19, 0, GAME_CORNER_PRIZE_ROOM - warp 31, 27, 0, CELADON_DINER - warp 35, 27, 0, CELADON_CHIEF_HOUSE - warp 43, 27, 0, CELADON_HOTEL + def_warp_events + warp_event 8, 13, CELADON_MART_1F, 0 + warp_event 10, 13, CELADON_MART_1F, 2 + warp_event 24, 9, CELADON_MANSION_1F, 0 + warp_event 24, 3, CELADON_MANSION_1F, 2 + warp_event 25, 3, CELADON_MANSION_1F, 2 + warp_event 41, 9, CELADON_POKECENTER, 0 + warp_event 12, 27, CELADON_GYM, 0 + warp_event 28, 19, GAME_CORNER, 0 + warp_event 39, 19, CELADON_MART_5F, 0 ; beta warp_event! no longer used + warp_event 33, 19, GAME_CORNER_PRIZE_ROOM, 0 + warp_event 31, 27, CELADON_DINER, 0 + warp_event 35, 27, CELADON_CHIEF_HOUSE, 0 + warp_event 43, 27, CELADON_HOTEL, 0 - def_signs - sign 27, 15, 10 ; CeladonCityText10 - sign 19, 15, 11 ; CeladonCityText11 - sign 42, 9, 12 ; PokeCenterSignText - sign 13, 29, 13 ; CeladonCityText13 - sign 21, 9, 14 ; CeladonCityText14 - sign 12, 13, 15 ; CeladonCityText15 - sign 39, 21, 16 ; CeladonCityText16 - sign 33, 21, 17 ; CeladonCityText17 - sign 27, 21, 18 ; CeladonCityText18 + def_bg_events + bg_event 27, 15, 10 ; CeladonCityText10 + bg_event 19, 15, 11 ; CeladonCityText11 + bg_event 42, 9, 12 ; PokeCenterSignText + bg_event 13, 29, 13 ; CeladonCityText13 + bg_event 21, 9, 14 ; CeladonCityText14 + bg_event 12, 13, 15 ; CeladonCityText15 + bg_event 39, 21, 16 ; CeladonCityText16 + bg_event 33, 21, 17 ; CeladonCityText17 + bg_event 27, 21, 18 ; CeladonCityText18 - def_objects - object SPRITE_LITTLE_GIRL, 8, 17, WALK, ANY_DIR, 1 ; person - object SPRITE_GRAMPS, 11, 28, STAY, UP, 2 ; person - object SPRITE_GIRL, 14, 19, WALK, UP_DOWN, 3 ; person - object SPRITE_GRAMPS, 25, 22, STAY, DOWN, 4 ; person - object SPRITE_GRAMPS, 22, 16, STAY, DOWN, 5 ; person - object SPRITE_FISHER, 32, 12, STAY, LEFT, 6 ; person - object SPRITE_MONSTER, 30, 12, STAY, RIGHT, 7 ; person - object SPRITE_ROCKET, 32, 29, WALK, LEFT_RIGHT, 8 ; person - object SPRITE_ROCKET, 42, 14, WALK, LEFT_RIGHT, 9 ; person + def_object_events + object_event 8, 17, SPRITE_LITTLE_GIRL, WALK, ANY_DIR, 1 ; person + object_event 11, 28, SPRITE_GRAMPS, STAY, UP, 2 ; person + object_event 14, 19, SPRITE_GIRL, WALK, UP_DOWN, 3 ; person + object_event 25, 22, SPRITE_GRAMPS, STAY, DOWN, 4 ; person + object_event 22, 16, SPRITE_GRAMPS, STAY, DOWN, 5 ; person + object_event 32, 12, SPRITE_FISHER, STAY, LEFT, 6 ; person + object_event 30, 12, SPRITE_MONSTER, STAY, RIGHT, 7 ; person + object_event 32, 29, SPRITE_ROCKET, WALK, LEFT_RIGHT, 8 ; person + object_event 42, 14, SPRITE_ROCKET, WALK, LEFT_RIGHT, 9 ; person def_warps_to CELADON_CITY diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm index 37c8c876..d2815299 100644 --- a/data/maps/objects/CeladonDiner.asm +++ b/data/maps/objects/CeladonDiner.asm @@ -1,17 +1,17 @@ CeladonDiner_Object: db $f ; border block - def_warps - warp 3, 7, 10, LAST_MAP - warp 4, 7, 10, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 10 + warp_event 4, 7, LAST_MAP, 10 - def_signs + def_bg_events - def_objects - object SPRITE_COOK, 8, 5, WALK, LEFT_RIGHT, 1 ; person - object SPRITE_MIDDLE_AGED_WOMAN, 7, 2, STAY, NONE, 2 ; person - object SPRITE_MIDDLE_AGED_MAN, 1, 4, STAY, DOWN, 3 ; person - object SPRITE_FISHER, 5, 3, STAY, RIGHT, 4 ; person - object SPRITE_GYM_GUIDE, 0, 1, STAY, DOWN, 5 ; person + def_object_events + object_event 8, 5, SPRITE_COOK, WALK, LEFT_RIGHT, 1 ; person + object_event 7, 2, SPRITE_MIDDLE_AGED_WOMAN, STAY, NONE, 2 ; person + object_event 1, 4, SPRITE_MIDDLE_AGED_MAN, STAY, DOWN, 3 ; person + object_event 5, 3, SPRITE_FISHER, STAY, RIGHT, 4 ; person + object_event 0, 1, SPRITE_GYM_GUIDE, STAY, DOWN, 5 ; person def_warps_to CELADON_DINER diff --git a/data/maps/objects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm index 197a254b..f7fb04fd 100644 --- a/data/maps/objects/CeladonGym.asm +++ b/data/maps/objects/CeladonGym.asm @@ -1,20 +1,20 @@ CeladonGym_Object: db $3 ; border block - def_warps - warp 4, 17, 6, LAST_MAP - warp 5, 17, 6, LAST_MAP + def_warp_events + warp_event 4, 17, LAST_MAP, 6 + warp_event 5, 17, LAST_MAP, 6 - def_signs + def_bg_events - def_objects - object SPRITE_ERIKA, 4, 3, STAY, DOWN, 1, OPP_ERIKA, 1 - object SPRITE_COOLTRAINER_F, 2, 11, STAY, RIGHT, 2, OPP_LASS, 17 - object SPRITE_BEAUTY, 7, 10, STAY, LEFT, 3, OPP_BEAUTY, 1 - object SPRITE_COOLTRAINER_F, 9, 5, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11 - object SPRITE_BEAUTY, 1, 5, STAY, DOWN, 5, OPP_BEAUTY, 2 - object SPRITE_COOLTRAINER_F, 6, 3, STAY, DOWN, 6, OPP_LASS, 18 - object SPRITE_BEAUTY, 3, 3, STAY, DOWN, 7, OPP_BEAUTY, 3 - object SPRITE_COOLTRAINER_F, 5, 3, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1 + def_object_events + object_event 4, 3, SPRITE_ERIKA, STAY, DOWN, 1, OPP_ERIKA, 1 + object_event 2, 11, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_LASS, 17 + object_event 7, 10, SPRITE_BEAUTY, STAY, LEFT, 3, OPP_BEAUTY, 1 + object_event 9, 5, SPRITE_COOLTRAINER_F, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11 + object_event 1, 5, SPRITE_BEAUTY, STAY, DOWN, 5, OPP_BEAUTY, 2 + object_event 6, 3, SPRITE_COOLTRAINER_F, STAY, DOWN, 6, OPP_LASS, 18 + object_event 3, 3, SPRITE_BEAUTY, STAY, DOWN, 7, OPP_BEAUTY, 3 + object_event 5, 3, SPRITE_COOLTRAINER_F, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1 def_warps_to CELADON_GYM diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm index a516f141..951b6c75 100644 --- a/data/maps/objects/CeladonHotel.asm +++ b/data/maps/objects/CeladonHotel.asm @@ -1,15 +1,15 @@ CeladonHotel_Object: db $0 ; border block - def_warps - warp 3, 7, 12, LAST_MAP - warp 4, 7, 12, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 12 + warp_event 4, 7, LAST_MAP, 12 - def_signs + def_bg_events - def_objects - object SPRITE_GRANNY, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_BEAUTY, 2, 4, STAY, NONE, 2 ; person - object SPRITE_SUPER_NERD, 8, 4, WALK, LEFT_RIGHT, 3 ; person + def_object_events + object_event 3, 1, SPRITE_GRANNY, STAY, DOWN, 1 ; person + object_event 2, 4, SPRITE_BEAUTY, STAY, NONE, 2 ; person + object_event 8, 4, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 3 ; person def_warps_to CELADON_HOTEL diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm index 63eb686c..274fca30 100644 --- a/data/maps/objects/CeladonMansion1F.asm +++ b/data/maps/objects/CeladonMansion1F.asm @@ -1,20 +1,20 @@ CeladonMansion1F_Object: db $f ; border block - def_warps - warp 4, 11, 2, LAST_MAP - warp 5, 11, 2, LAST_MAP - warp 4, 0, 4, LAST_MAP - warp 7, 1, 1, CELADON_MANSION_2F - warp 2, 1, 2, CELADON_MANSION_2F + def_warp_events + warp_event 4, 11, LAST_MAP, 2 + warp_event 5, 11, LAST_MAP, 2 + warp_event 4, 0, LAST_MAP, 4 + warp_event 7, 1, CELADON_MANSION_2F, 1 + warp_event 2, 1, CELADON_MANSION_2F, 2 - def_signs - sign 4, 9, 5 ; CeladonMansion1Text5 + def_bg_events + bg_event 4, 9, 5 ; CeladonMansion1Text5 - def_objects - object SPRITE_MONSTER, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_GRANNY, 1, 5, STAY, DOWN, 2 ; person - object SPRITE_FAIRY, 1, 8, WALK, LEFT_RIGHT, 3 ; person - object SPRITE_MONSTER, 4, 4, WALK, UP_DOWN, 4 ; person + def_object_events + object_event 0, 5, SPRITE_MONSTER, STAY, RIGHT, 1 ; person + object_event 1, 5, SPRITE_GRANNY, STAY, DOWN, 2 ; person + object_event 1, 8, SPRITE_FAIRY, WALK, LEFT_RIGHT, 3 ; person + object_event 4, 4, SPRITE_MONSTER, WALK, UP_DOWN, 4 ; person def_warps_to CELADON_MANSION_1F diff --git a/data/maps/objects/CeladonMansion2F.asm b/data/maps/objects/CeladonMansion2F.asm index 211abbda..c0d431d2 100644 --- a/data/maps/objects/CeladonMansion2F.asm +++ b/data/maps/objects/CeladonMansion2F.asm @@ -1,15 +1,15 @@ CeladonMansion2F_Object: db $f ; border block - def_warps - warp 6, 1, 0, CELADON_MANSION_3F - warp 7, 1, 3, CELADON_MANSION_1F - warp 2, 1, 4, CELADON_MANSION_1F - warp 4, 1, 3, CELADON_MANSION_3F + def_warp_events + warp_event 6, 1, CELADON_MANSION_3F, 0 + warp_event 7, 1, CELADON_MANSION_1F, 3 + warp_event 2, 1, CELADON_MANSION_1F, 4 + warp_event 4, 1, CELADON_MANSION_3F, 3 - def_signs - sign 4, 9, 1 ; CeladonMansion2Text1 + def_bg_events + bg_event 4, 9, 1 ; CeladonMansion2Text1 - def_objects + def_object_events def_warps_to CELADON_MANSION_2F diff --git a/data/maps/objects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm index 442f3c23..033ba346 100644 --- a/data/maps/objects/CeladonMansion3F.asm +++ b/data/maps/objects/CeladonMansion3F.asm @@ -1,22 +1,22 @@ CeladonMansion3F_Object: db $f ; border block - def_warps - warp 6, 1, 0, CELADON_MANSION_2F - warp 7, 1, 0, CELADON_MANSION_ROOF - warp 2, 1, 1, CELADON_MANSION_ROOF - warp 4, 1, 3, CELADON_MANSION_2F + def_warp_events + warp_event 6, 1, CELADON_MANSION_2F, 0 + warp_event 7, 1, CELADON_MANSION_ROOF, 0 + warp_event 2, 1, CELADON_MANSION_ROOF, 1 + warp_event 4, 1, CELADON_MANSION_2F, 3 - def_signs - sign 1, 3, 5 ; CeladonMansion3Text5 - sign 4, 3, 6 ; CeladonMansion3Text6 - sign 1, 6, 7 ; CeladonMansion3Text7 - sign 4, 9, 8 ; CeladonMansion3Text8 + def_bg_events + bg_event 1, 3, 5 ; CeladonMansion3Text5 + bg_event 4, 3, 6 ; CeladonMansion3Text6 + bg_event 1, 6, 7 ; CeladonMansion3Text7 + bg_event 4, 9, 8 ; CeladonMansion3Text8 - def_objects - object SPRITE_BIKE_SHOP_CLERK, 0, 4, STAY, UP, 1 ; person - object SPRITE_CLERK, 3, 4, STAY, UP, 2 ; person - object SPRITE_SUPER_NERD, 0, 7, STAY, UP, 3 ; person - object SPRITE_SILPH_WORKER, 2, 3, STAY, NONE, 4 ; person + def_object_events + object_event 0, 4, SPRITE_BIKE_SHOP_CLERK, STAY, UP, 1 ; person + object_event 3, 4, SPRITE_CLERK, STAY, UP, 2 ; person + object_event 0, 7, SPRITE_SUPER_NERD, STAY, UP, 3 ; person + object_event 2, 3, SPRITE_SILPH_WORKER, STAY, NONE, 4 ; person def_warps_to CELADON_MANSION_3F diff --git a/data/maps/objects/CeladonMansionRoof.asm b/data/maps/objects/CeladonMansionRoof.asm index e3eb8aa7..89f60ac2 100644 --- a/data/maps/objects/CeladonMansionRoof.asm +++ b/data/maps/objects/CeladonMansionRoof.asm @@ -1,14 +1,14 @@ CeladonMansionRoof_Object: db $9 ; border block - def_warps - warp 6, 1, 1, CELADON_MANSION_3F - warp 2, 1, 2, CELADON_MANSION_3F - warp 2, 7, 0, CELADON_MANSION_ROOF_HOUSE + def_warp_events + warp_event 6, 1, CELADON_MANSION_3F, 1 + warp_event 2, 1, CELADON_MANSION_3F, 2 + warp_event 2, 7, CELADON_MANSION_ROOF_HOUSE, 0 - def_signs - sign 3, 7, 1 ; CeladonMansion4Text1 + def_bg_events + bg_event 3, 7, 1 ; CeladonMansion4Text1 - def_objects + def_object_events def_warps_to CELADON_MANSION_ROOF diff --git a/data/maps/objects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm index 1656bdcf..6e51e120 100644 --- a/data/maps/objects/CeladonMansionRoofHouse.asm +++ b/data/maps/objects/CeladonMansionRoofHouse.asm @@ -1,14 +1,14 @@ CeladonMansionRoofHouse_Object: db $a ; border block - def_warps - warp 2, 7, 2, CELADON_MANSION_ROOF - warp 3, 7, 2, CELADON_MANSION_ROOF + def_warp_events + warp_event 2, 7, CELADON_MANSION_ROOF, 2 + warp_event 3, 7, CELADON_MANSION_ROOF, 2 - def_signs + def_bg_events - def_objects - object SPRITE_HIKER, 2, 2, STAY, DOWN, 1 ; person - object SPRITE_POKE_BALL, 4, 3, STAY, NONE, 2 ; person + def_object_events + object_event 2, 2, SPRITE_HIKER, STAY, DOWN, 1 ; person + object_event 4, 3, SPRITE_POKE_BALL, STAY, NONE, 2 ; person def_warps_to CELADON_MANSION_ROOF_HOUSE diff --git a/data/maps/objects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm index 3edcbe3f..4b40b1c5 100644 --- a/data/maps/objects/CeladonMart1F.asm +++ b/data/maps/objects/CeladonMart1F.asm @@ -1,19 +1,19 @@ CeladonMart1F_Object: db $f ; border block - def_warps - warp 2, 7, 0, LAST_MAP - warp 3, 7, 0, LAST_MAP - warp 16, 7, 1, LAST_MAP - warp 17, 7, 1, LAST_MAP - warp 12, 1, 0, CELADON_MART_2F - warp 1, 1, 0, CELADON_MART_ELEVATOR + def_warp_events + warp_event 2, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 0 + warp_event 16, 7, LAST_MAP, 1 + warp_event 17, 7, LAST_MAP, 1 + warp_event 12, 1, CELADON_MART_2F, 0 + warp_event 1, 1, CELADON_MART_ELEVATOR, 0 - def_signs - sign 11, 4, 2 ; CeladonMart1Text2 - sign 14, 1, 3 ; CeladonMart1Text3 + def_bg_events + bg_event 11, 4, 2 ; CeladonMart1Text2 + bg_event 14, 1, 3 ; CeladonMart1Text3 - def_objects - object SPRITE_LINK_RECEPTIONIST, 8, 3, STAY, DOWN, 1 ; person + def_object_events + object_event 8, 3, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 1 ; person def_warps_to CELADON_MART_1F diff --git a/data/maps/objects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm index 19b2aa59..34313385 100644 --- a/data/maps/objects/CeladonMart2F.asm +++ b/data/maps/objects/CeladonMart2F.asm @@ -1,18 +1,18 @@ CeladonMart2F_Object: db $f ; border block - def_warps - warp 12, 1, 4, CELADON_MART_1F - warp 16, 1, 1, CELADON_MART_3F - warp 1, 1, 0, CELADON_MART_ELEVATOR + def_warp_events + warp_event 12, 1, CELADON_MART_1F, 4 + warp_event 16, 1, CELADON_MART_3F, 1 + warp_event 1, 1, CELADON_MART_ELEVATOR, 0 - def_signs - sign 14, 1, 5 ; CeladonMart2Text5 + def_bg_events + bg_event 14, 1, 5 ; CeladonMart2Text5 - def_objects - object SPRITE_CLERK, 5, 3, STAY, DOWN, 1 ; person - object SPRITE_CLERK, 6, 3, STAY, DOWN, 2 ; person - object SPRITE_MIDDLE_AGED_MAN, 19, 5, STAY, NONE, 3 ; person - object SPRITE_GIRL, 14, 4, WALK, UP_DOWN, 4 ; person + def_object_events + object_event 5, 3, SPRITE_CLERK, STAY, DOWN, 1 ; person + object_event 6, 3, SPRITE_CLERK, STAY, DOWN, 2 ; person + object_event 19, 5, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 3 ; person + object_event 14, 4, SPRITE_GIRL, WALK, UP_DOWN, 4 ; person def_warps_to CELADON_MART_2F diff --git a/data/maps/objects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm index e1e8c8f2..c9f65f9a 100644 --- a/data/maps/objects/CeladonMart3F.asm +++ b/data/maps/objects/CeladonMart3F.asm @@ -1,30 +1,30 @@ CeladonMart3F_Object: db $f ; border block - def_warps - warp 12, 1, 0, CELADON_MART_4F - warp 16, 1, 1, CELADON_MART_2F - warp 1, 1, 0, CELADON_MART_ELEVATOR + def_warp_events + warp_event 12, 1, CELADON_MART_4F, 0 + warp_event 16, 1, CELADON_MART_2F, 1 + warp_event 1, 1, CELADON_MART_ELEVATOR, 0 - def_signs - sign 2, 4, 6 ; CeladonMart3Text6 - sign 3, 4, 7 ; CeladonMart3Text7 - sign 5, 4, 8 ; CeladonMart3Text8 - sign 6, 4, 9 ; CeladonMart3Text9 - sign 2, 6, 10 ; CeladonMart3Text10 - sign 3, 6, 11 ; CeladonMart3Text11 - sign 5, 6, 12 ; CeladonMart3Text12 - sign 6, 6, 13 ; CeladonMart3Text13 - sign 14, 1, 14 ; CeladonMart3Text14 - sign 4, 1, 15 ; CeladonMart3Text15 - sign 6, 1, 16 ; CeladonMart3Text16 - sign 10, 1, 17 ; CeladonMart3Text17 + def_bg_events + bg_event 2, 4, 6 ; CeladonMart3Text6 + bg_event 3, 4, 7 ; CeladonMart3Text7 + bg_event 5, 4, 8 ; CeladonMart3Text8 + bg_event 6, 4, 9 ; CeladonMart3Text9 + bg_event 2, 6, 10 ; CeladonMart3Text10 + bg_event 3, 6, 11 ; CeladonMart3Text11 + bg_event 5, 6, 12 ; CeladonMart3Text12 + bg_event 6, 6, 13 ; CeladonMart3Text13 + bg_event 14, 1, 14 ; CeladonMart3Text14 + bg_event 4, 1, 15 ; CeladonMart3Text15 + bg_event 6, 1, 16 ; CeladonMart3Text16 + bg_event 10, 1, 17 ; CeladonMart3Text17 - def_objects - object SPRITE_CLERK, 16, 5, STAY, NONE, 1 ; person - object SPRITE_GAMEBOY_KID, 11, 6, STAY, RIGHT, 2 ; person - object SPRITE_GAMEBOY_KID, 7, 2, STAY, DOWN, 3 ; person - object SPRITE_GAMEBOY_KID, 8, 2, STAY, DOWN, 4 ; person - object SPRITE_LITTLE_BOY, 2, 5, STAY, UP, 5 ; person + def_object_events + object_event 16, 5, SPRITE_CLERK, STAY, NONE, 1 ; person + object_event 11, 6, SPRITE_GAMEBOY_KID, STAY, RIGHT, 2 ; person + object_event 7, 2, SPRITE_GAMEBOY_KID, STAY, DOWN, 3 ; person + object_event 8, 2, SPRITE_GAMEBOY_KID, STAY, DOWN, 4 ; person + object_event 2, 5, SPRITE_LITTLE_BOY, STAY, UP, 5 ; person def_warps_to CELADON_MART_3F diff --git a/data/maps/objects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm index 72ed0338..0dcb3e21 100644 --- a/data/maps/objects/CeladonMart4F.asm +++ b/data/maps/objects/CeladonMart4F.asm @@ -1,17 +1,17 @@ CeladonMart4F_Object: db $f ; border block - def_warps - warp 12, 1, 0, CELADON_MART_3F - warp 16, 1, 1, CELADON_MART_5F - warp 1, 1, 0, CELADON_MART_ELEVATOR + def_warp_events + warp_event 12, 1, CELADON_MART_3F, 0 + warp_event 16, 1, CELADON_MART_5F, 1 + warp_event 1, 1, CELADON_MART_ELEVATOR, 0 - def_signs - sign 14, 1, 4 ; CeladonMart4Text4 + def_bg_events + bg_event 14, 1, 4 ; CeladonMart4Text4 - def_objects - object SPRITE_CLERK, 5, 7, STAY, NONE, 1 ; person - object SPRITE_SUPER_NERD, 15, 5, WALK, LEFT_RIGHT, 2 ; person - object SPRITE_YOUNGSTER, 5, 2, WALK, LEFT_RIGHT, 3 ; person + def_object_events + object_event 5, 7, SPRITE_CLERK, STAY, NONE, 1 ; person + object_event 15, 5, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 2 ; person + object_event 5, 2, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 3 ; person def_warps_to CELADON_MART_4F diff --git a/data/maps/objects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm index 2583526c..3fe6232c 100644 --- a/data/maps/objects/CeladonMart5F.asm +++ b/data/maps/objects/CeladonMart5F.asm @@ -1,18 +1,18 @@ CeladonMart5F_Object: db $f ; border block - def_warps - warp 12, 1, 0, CELADON_MART_ROOF - warp 16, 1, 1, CELADON_MART_4F - warp 1, 1, 0, CELADON_MART_ELEVATOR + def_warp_events + warp_event 12, 1, CELADON_MART_ROOF, 0 + warp_event 16, 1, CELADON_MART_4F, 1 + warp_event 1, 1, CELADON_MART_ELEVATOR, 0 - def_signs - sign 14, 1, 5 ; CeladonMart5Text5 + def_bg_events + bg_event 14, 1, 5 ; CeladonMart5Text5 - def_objects - object SPRITE_GENTLEMAN, 14, 5, WALK, UP_DOWN, 1 ; person - object SPRITE_SAILOR, 2, 6, STAY, NONE, 2 ; person - object SPRITE_CLERK, 5, 3, STAY, DOWN, 3 ; person - object SPRITE_CLERK, 6, 3, STAY, DOWN, 4 ; person + def_object_events + object_event 14, 5, SPRITE_GENTLEMAN, WALK, UP_DOWN, 1 ; person + object_event 2, 6, SPRITE_SAILOR, STAY, NONE, 2 ; person + object_event 5, 3, SPRITE_CLERK, STAY, DOWN, 3 ; person + object_event 6, 3, SPRITE_CLERK, STAY, DOWN, 4 ; person def_warps_to CELADON_MART_5F diff --git a/data/maps/objects/CeladonMartElevator.asm b/data/maps/objects/CeladonMartElevator.asm index d03984a6..2b0382ef 100644 --- a/data/maps/objects/CeladonMartElevator.asm +++ b/data/maps/objects/CeladonMartElevator.asm @@ -1,13 +1,13 @@ CeladonMartElevator_Object: db $f ; border block - def_warps - warp 1, 3, 5, CELADON_MART_1F - warp 2, 3, 5, CELADON_MART_1F + def_warp_events + warp_event 1, 3, CELADON_MART_1F, 5 + warp_event 2, 3, CELADON_MART_1F, 5 - def_signs - sign 3, 0, 1 ; CeladonMartElevatorText1 + def_bg_events + bg_event 3, 0, 1 ; CeladonMartElevatorText1 - def_objects + def_object_events def_warps_to CELADON_MART_ELEVATOR diff --git a/data/maps/objects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm index 49b5ab6f..2ceb9cca 100644 --- a/data/maps/objects/CeladonMartRoof.asm +++ b/data/maps/objects/CeladonMartRoof.asm @@ -1,17 +1,17 @@ CeladonMartRoof_Object: db $42 ; border block - def_warps - warp 15, 2, 0, CELADON_MART_5F + def_warp_events + warp_event 15, 2, CELADON_MART_5F, 0 - def_signs - sign 10, 1, 3 ; CeladonMartRoofText3 - sign 11, 1, 4 ; CeladonMartRoofText4 - sign 12, 2, 5 ; CeladonMartRoofText5 - sign 13, 2, 6 ; CeladonMartRoofText6 + def_bg_events + bg_event 10, 1, 3 ; CeladonMartRoofText3 + bg_event 11, 1, 4 ; CeladonMartRoofText4 + bg_event 12, 2, 5 ; CeladonMartRoofText5 + bg_event 13, 2, 6 ; CeladonMartRoofText6 - def_objects - object SPRITE_SUPER_NERD, 10, 4, STAY, LEFT, 1 ; person - object SPRITE_LITTLE_GIRL, 5, 5, WALK, ANY_DIR, 2 ; person + def_object_events + object_event 10, 4, SPRITE_SUPER_NERD, STAY, LEFT, 1 ; person + object_event 5, 5, SPRITE_LITTLE_GIRL, WALK, ANY_DIR, 2 ; person def_warps_to CELADON_MART_ROOF diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm index 65a04a1c..bdb57852 100644 --- a/data/maps/objects/CeladonPokecenter.asm +++ b/data/maps/objects/CeladonPokecenter.asm @@ -1,16 +1,16 @@ CeladonPokecenter_Object: db $0 ; border block - def_warps - warp 3, 7, 5, LAST_MAP - warp 4, 7, 5, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 5 + warp_event 4, 7, LAST_MAP, 5 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 7, 3, WALK, LEFT_RIGHT, 2 ; person - object SPRITE_BEAUTY, 10, 5, WALK, ANY_DIR, 3 ; person - object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 7, 3, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 2 ; person + object_event 10, 5, SPRITE_BEAUTY, WALK, ANY_DIR, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to CELADON_POKECENTER diff --git a/data/maps/objects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm index 50d2087a..db81d009 100644 --- a/data/maps/objects/CeruleanBadgeHouse.asm +++ b/data/maps/objects/CeruleanBadgeHouse.asm @@ -1,14 +1,14 @@ CeruleanBadgeHouse_Object: db $c ; border block - def_warps - warp 2, 0, 9, LAST_MAP - warp 2, 7, 8, LAST_MAP - warp 3, 7, 8, LAST_MAP + def_warp_events + warp_event 2, 0, LAST_MAP, 9 + warp_event 2, 7, LAST_MAP, 8 + warp_event 3, 7, LAST_MAP, 8 - def_signs + def_bg_events - def_objects - object SPRITE_MIDDLE_AGED_MAN, 5, 3, STAY, RIGHT, 1 ; person + def_object_events + object_event 5, 3, SPRITE_MIDDLE_AGED_MAN, STAY, RIGHT, 1 ; person def_warps_to CERULEAN_BADGE_HOUSE diff --git a/data/maps/objects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm index 7e5e8c85..255f200f 100644 --- a/data/maps/objects/CeruleanCave1F.asm +++ b/data/maps/objects/CeruleanCave1F.asm @@ -1,22 +1,22 @@ CeruleanCave1F_Object: db $7d ; border block - def_warps - warp 24, 17, 6, LAST_MAP - warp 25, 17, 6, LAST_MAP - warp 27, 1, 0, CERULEAN_CAVE_2F - warp 23, 7, 1, CERULEAN_CAVE_2F - warp 18, 9, 2, CERULEAN_CAVE_2F - warp 7, 1, 3, CERULEAN_CAVE_2F - warp 1, 3, 4, CERULEAN_CAVE_2F - warp 3, 11, 5, CERULEAN_CAVE_2F - warp 0, 6, 0, CERULEAN_CAVE_B1F + def_warp_events + warp_event 24, 17, LAST_MAP, 6 + warp_event 25, 17, LAST_MAP, 6 + warp_event 27, 1, CERULEAN_CAVE_2F, 0 + warp_event 23, 7, CERULEAN_CAVE_2F, 1 + warp_event 18, 9, CERULEAN_CAVE_2F, 2 + warp_event 7, 1, CERULEAN_CAVE_2F, 3 + warp_event 1, 3, CERULEAN_CAVE_2F, 4 + warp_event 3, 11, CERULEAN_CAVE_2F, 5 + warp_event 0, 6, CERULEAN_CAVE_B1F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_POKE_BALL, 7, 13, STAY, NONE, 1, FULL_RESTORE - object SPRITE_POKE_BALL, 19, 3, STAY, NONE, 2, MAX_ELIXER - object SPRITE_POKE_BALL, 5, 0, STAY, NONE, 3, NUGGET + def_object_events + object_event 7, 13, SPRITE_POKE_BALL, STAY, NONE, 1, FULL_RESTORE + object_event 19, 3, SPRITE_POKE_BALL, STAY, NONE, 2, MAX_ELIXER + object_event 5, 0, SPRITE_POKE_BALL, STAY, NONE, 3, NUGGET def_warps_to CERULEAN_CAVE_1F diff --git a/data/maps/objects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm index 6622bb77..5d7a3d7d 100644 --- a/data/maps/objects/CeruleanCave2F.asm +++ b/data/maps/objects/CeruleanCave2F.asm @@ -1,19 +1,19 @@ CeruleanCave2F_Object: db $7d ; border block - def_warps - warp 29, 1, 2, CERULEAN_CAVE_1F - warp 22, 6, 3, CERULEAN_CAVE_1F - warp 19, 7, 4, CERULEAN_CAVE_1F - warp 9, 1, 5, CERULEAN_CAVE_1F - warp 1, 3, 6, CERULEAN_CAVE_1F - warp 3, 11, 7, CERULEAN_CAVE_1F + def_warp_events + warp_event 29, 1, CERULEAN_CAVE_1F, 2 + warp_event 22, 6, CERULEAN_CAVE_1F, 3 + warp_event 19, 7, CERULEAN_CAVE_1F, 4 + warp_event 9, 1, CERULEAN_CAVE_1F, 5 + warp_event 1, 3, CERULEAN_CAVE_1F, 6 + warp_event 3, 11, CERULEAN_CAVE_1F, 7 - def_signs + def_bg_events - def_objects - object SPRITE_POKE_BALL, 29, 9, STAY, NONE, 1, PP_UP - object SPRITE_POKE_BALL, 4, 15, STAY, NONE, 2, ULTRA_BALL - object SPRITE_POKE_BALL, 13, 6, STAY, NONE, 3, FULL_RESTORE + def_object_events + object_event 29, 9, SPRITE_POKE_BALL, STAY, NONE, 1, PP_UP + object_event 4, 15, SPRITE_POKE_BALL, STAY, NONE, 2, ULTRA_BALL + object_event 13, 6, SPRITE_POKE_BALL, STAY, NONE, 3, FULL_RESTORE def_warps_to CERULEAN_CAVE_2F diff --git a/data/maps/objects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm index 886238c2..6e9c650b 100644 --- a/data/maps/objects/CeruleanCaveB1F.asm +++ b/data/maps/objects/CeruleanCaveB1F.asm @@ -1,14 +1,14 @@ CeruleanCaveB1F_Object: db $7d ; border block - def_warps - warp 3, 6, 8, CERULEAN_CAVE_1F + def_warp_events + warp_event 3, 6, CERULEAN_CAVE_1F, 8 - def_signs + def_bg_events - def_objects - object SPRITE_MONSTER, 27, 13, STAY, DOWN, 1, MEWTWO, 70 - object SPRITE_POKE_BALL, 16, 9, STAY, NONE, 2, ULTRA_BALL - object SPRITE_POKE_BALL, 18, 1, STAY, NONE, 3, MAX_REVIVE + def_object_events + object_event 27, 13, SPRITE_MONSTER, STAY, DOWN, 1, MEWTWO, 70 + object_event 16, 9, SPRITE_POKE_BALL, STAY, NONE, 2, ULTRA_BALL + object_event 18, 1, SPRITE_POKE_BALL, STAY, NONE, 3, MAX_REVIVE def_warps_to CERULEAN_CAVE_B1F diff --git a/data/maps/objects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm index 9b15c1c5..05ae934b 100644 --- a/data/maps/objects/CeruleanCity.asm +++ b/data/maps/objects/CeruleanCity.asm @@ -1,37 +1,37 @@ CeruleanCity_Object: db $f ; border block - def_warps - warp 27, 11, 0, CERULEAN_TRASHED_HOUSE - warp 13, 15, 0, CERULEAN_TRADE_HOUSE - warp 19, 17, 0, CERULEAN_POKECENTER - warp 30, 19, 0, CERULEAN_GYM - warp 13, 25, 0, BIKE_SHOP - warp 25, 25, 0, CERULEAN_MART - warp 4, 11, 0, CERULEAN_CAVE_1F - warp 27, 9, 2, CERULEAN_TRASHED_HOUSE - warp 9, 11, 1, CERULEAN_BADGE_HOUSE - warp 9, 9, 0, CERULEAN_BADGE_HOUSE + def_warp_events + warp_event 27, 11, CERULEAN_TRASHED_HOUSE, 0 + warp_event 13, 15, CERULEAN_TRADE_HOUSE, 0 + warp_event 19, 17, CERULEAN_POKECENTER, 0 + warp_event 30, 19, CERULEAN_GYM, 0 + warp_event 13, 25, BIKE_SHOP, 0 + warp_event 25, 25, CERULEAN_MART, 0 + warp_event 4, 11, CERULEAN_CAVE_1F, 0 + warp_event 27, 9, CERULEAN_TRASHED_HOUSE, 2 + warp_event 9, 11, CERULEAN_BADGE_HOUSE, 1 + warp_event 9, 9, CERULEAN_BADGE_HOUSE, 0 - def_signs - sign 23, 19, 12 ; CeruleanCityText12 - sign 17, 29, 13 ; CeruleanCityText13 - sign 26, 25, 14 ; MartSignText - sign 20, 17, 15 ; PokeCenterSignText - sign 11, 25, 16 ; CeruleanCityText16 - sign 27, 21, 17 ; CeruleanCityText17 + def_bg_events + bg_event 23, 19, 12 ; CeruleanCityText12 + bg_event 17, 29, 13 ; CeruleanCityText13 + bg_event 26, 25, 14 ; MartSignText + bg_event 20, 17, 15 ; PokeCenterSignText + bg_event 11, 25, 16 ; CeruleanCityText16 + bg_event 27, 21, 17 ; CeruleanCityText17 - def_objects - object SPRITE_BLUE, 20, 2, STAY, DOWN, 1 ; person - object SPRITE_ROCKET, 30, 8, STAY, NONE, 2, OPP_ROCKET, 5 - object SPRITE_COOLTRAINER_M, 31, 20, STAY, DOWN, 3 ; person - object SPRITE_SUPER_NERD, 15, 18, WALK, UP_DOWN, 4 ; person - object SPRITE_SUPER_NERD, 9, 21, WALK, LEFT_RIGHT, 5 ; person - object SPRITE_GUARD, 28, 12, STAY, DOWN, 6 ; person - object SPRITE_COOLTRAINER_F, 29, 26, STAY, LEFT, 7 ; person - object SPRITE_MONSTER, 28, 26, STAY, DOWN, 8 ; person - object SPRITE_COOLTRAINER_F, 9, 27, WALK, LEFT_RIGHT, 9 ; person - object SPRITE_SUPER_NERD, 4, 12, STAY, DOWN, 10 ; person - object SPRITE_GUARD, 27, 12, STAY, DOWN, 11 ; person + def_object_events + object_event 20, 2, SPRITE_BLUE, STAY, DOWN, 1 ; person + object_event 30, 8, SPRITE_ROCKET, STAY, NONE, 2, OPP_ROCKET, 5 + object_event 31, 20, SPRITE_COOLTRAINER_M, STAY, DOWN, 3 ; person + object_event 15, 18, SPRITE_SUPER_NERD, WALK, UP_DOWN, 4 ; person + object_event 9, 21, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 5 ; person + object_event 28, 12, SPRITE_GUARD, STAY, DOWN, 6 ; person + object_event 29, 26, SPRITE_COOLTRAINER_F, STAY, LEFT, 7 ; person + object_event 28, 26, SPRITE_MONSTER, STAY, DOWN, 8 ; person + object_event 9, 27, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 9 ; person + object_event 4, 12, SPRITE_SUPER_NERD, STAY, DOWN, 10 ; person + object_event 27, 12, SPRITE_GUARD, STAY, DOWN, 11 ; person def_warps_to CERULEAN_CITY diff --git a/data/maps/objects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm index 26709cae..b4589efa 100644 --- a/data/maps/objects/CeruleanGym.asm +++ b/data/maps/objects/CeruleanGym.asm @@ -1,16 +1,16 @@ CeruleanGym_Object: db $3 ; border block - def_warps - warp 4, 13, 3, LAST_MAP - warp 5, 13, 3, LAST_MAP + def_warp_events + warp_event 4, 13, LAST_MAP, 3 + warp_event 5, 13, LAST_MAP, 3 - def_signs + def_bg_events - def_objects - object SPRITE_BRUNETTE_GIRL, 4, 2, STAY, DOWN, 1, OPP_MISTY, 1 - object SPRITE_COOLTRAINER_F, 2, 3, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1 - object SPRITE_SWIMMER, 8, 7, STAY, LEFT, 3, OPP_SWIMMER, 1 - object SPRITE_GYM_GUIDE, 7, 10, STAY, DOWN, 4 ; person + def_object_events + object_event 4, 2, SPRITE_BRUNETTE_GIRL, STAY, DOWN, 1, OPP_MISTY, 1 + object_event 2, 3, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1 + object_event 8, 7, SPRITE_SWIMMER, STAY, LEFT, 3, OPP_SWIMMER, 1 + object_event 7, 10, SPRITE_GYM_GUIDE, STAY, DOWN, 4 ; person def_warps_to CERULEAN_GYM diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm index 144edd80..fbe1e58b 100644 --- a/data/maps/objects/CeruleanMart.asm +++ b/data/maps/objects/CeruleanMart.asm @@ -1,15 +1,15 @@ CeruleanMart_Object: db $0 ; border block - def_warps - warp 3, 7, 5, LAST_MAP - warp 4, 7, 5, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 5 + warp_event 4, 7, LAST_MAP, 5 - def_signs + def_bg_events - def_objects - object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_COOLTRAINER_M, 3, 4, WALK, UP_DOWN, 2 ; person - object SPRITE_COOLTRAINER_F, 6, 2, WALK, LEFT_RIGHT, 3 ; person + def_object_events + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 3, 4, SPRITE_COOLTRAINER_M, WALK, UP_DOWN, 2 ; person + object_event 6, 2, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 3 ; person def_warps_to CERULEAN_MART diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm index af6c0ac3..4c3d3758 100644 --- a/data/maps/objects/CeruleanPokecenter.asm +++ b/data/maps/objects/CeruleanPokecenter.asm @@ -1,16 +1,16 @@ CeruleanPokecenter_Object: db $0 ; border block - def_warps - warp 3, 7, 2, LAST_MAP - warp 4, 7, 2, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 2 + warp_event 4, 7, LAST_MAP, 2 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_SUPER_NERD, 10, 5, WALK, ANY_DIR, 2 ; person - object SPRITE_GENTLEMAN, 4, 3, STAY, DOWN, 3 ; person - object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 10, 5, SPRITE_SUPER_NERD, WALK, ANY_DIR, 2 ; person + object_event 4, 3, SPRITE_GENTLEMAN, STAY, DOWN, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to CERULEAN_POKECENTER diff --git a/data/maps/objects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm index 04638ded..912b786c 100644 --- a/data/maps/objects/CeruleanTradeHouse.asm +++ b/data/maps/objects/CeruleanTradeHouse.asm @@ -1,14 +1,14 @@ CeruleanTradeHouse_Object: db $a ; border block - def_warps - warp 2, 7, 1, LAST_MAP - warp 3, 7, 1, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 1 + warp_event 3, 7, LAST_MAP, 1 - def_signs + def_bg_events - def_objects - object SPRITE_GRANNY, 5, 4, STAY, LEFT, 1 ; person - object SPRITE_GAMBLER, 1, 2, STAY, NONE, 2 ; person + def_object_events + object_event 5, 4, SPRITE_GRANNY, STAY, LEFT, 1 ; person + object_event 1, 2, SPRITE_GAMBLER, STAY, NONE, 2 ; person def_warps_to CERULEAN_TRADE_HOUSE diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm index 9f502319..7432707e 100644 --- a/data/maps/objects/CeruleanTrashedHouse.asm +++ b/data/maps/objects/CeruleanTrashedHouse.asm @@ -1,16 +1,16 @@ CeruleanTrashedHouse_Object: db $a ; border block - def_warps - warp 2, 7, 0, LAST_MAP - warp 3, 7, 0, LAST_MAP - warp 3, 0, 7, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 0 + warp_event 3, 0, LAST_MAP, 7 - def_signs - sign 3, 0, 3 ; CeruleanHouseTrashedText3 + def_bg_events + bg_event 3, 0, 3 ; CeruleanHouseTrashedText3 - def_objects - object SPRITE_FISHING_GURU, 2, 1, STAY, DOWN, 1 ; person - object SPRITE_GIRL, 5, 6, WALK, LEFT_RIGHT, 2 ; person + def_object_events + object_event 2, 1, SPRITE_FISHING_GURU, STAY, DOWN, 1 ; person + object_event 5, 6, SPRITE_GIRL, WALK, LEFT_RIGHT, 2 ; person def_warps_to CERULEAN_TRASHED_HOUSE diff --git a/data/maps/objects/ChampionsRoom.asm b/data/maps/objects/ChampionsRoom.asm index 2380fd04..acf85135 100644 --- a/data/maps/objects/ChampionsRoom.asm +++ b/data/maps/objects/ChampionsRoom.asm @@ -1,16 +1,16 @@ ChampionsRoom_Object: db $3 ; border block - def_warps - warp 3, 7, 1, LANCES_ROOM - warp 4, 7, 2, LANCES_ROOM - warp 3, 0, 0, HALL_OF_FAME - warp 4, 0, 0, HALL_OF_FAME + def_warp_events + warp_event 3, 7, LANCES_ROOM, 1 + warp_event 4, 7, LANCES_ROOM, 2 + warp_event 3, 0, HALL_OF_FAME, 0 + warp_event 4, 0, HALL_OF_FAME, 0 - def_signs + def_bg_events - def_objects - object SPRITE_BLUE, 4, 2, STAY, DOWN, 1 ; person - object SPRITE_OAK, 3, 7, STAY, UP, 2 ; person + def_object_events + object_event 4, 2, SPRITE_BLUE, STAY, DOWN, 1 ; person + object_event 3, 7, SPRITE_OAK, STAY, UP, 2 ; person def_warps_to CHAMPIONS_ROOM diff --git a/data/maps/objects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm index b2dccbd3..309230b4 100644 --- a/data/maps/objects/CinnabarGym.asm +++ b/data/maps/objects/CinnabarGym.asm @@ -1,21 +1,21 @@ CinnabarGym_Object: db $2e ; border block - def_warps - warp 16, 17, 1, LAST_MAP - warp 17, 17, 1, LAST_MAP + def_warp_events + warp_event 16, 17, LAST_MAP, 1 + warp_event 17, 17, LAST_MAP, 1 - def_signs + def_bg_events - def_objects - object SPRITE_MIDDLE_AGED_MAN, 3, 3, STAY, DOWN, 1, OPP_BLAINE, 1 - object SPRITE_SUPER_NERD, 17, 2, STAY, DOWN, 2, OPP_SUPER_NERD, 9 - object SPRITE_SUPER_NERD, 17, 8, STAY, DOWN, 3, OPP_BURGLAR, 4 - object SPRITE_SUPER_NERD, 11, 4, STAY, DOWN, 4, OPP_SUPER_NERD, 10 - object SPRITE_SUPER_NERD, 11, 8, STAY, DOWN, 5, OPP_BURGLAR, 5 - object SPRITE_SUPER_NERD, 11, 14, STAY, DOWN, 6, OPP_SUPER_NERD, 11 - object SPRITE_SUPER_NERD, 3, 14, STAY, DOWN, 7, OPP_BURGLAR, 6 - object SPRITE_SUPER_NERD, 3, 8, STAY, DOWN, 8, OPP_SUPER_NERD, 12 - object SPRITE_GYM_GUIDE, 16, 13, STAY, DOWN, 9 ; person + def_object_events + object_event 3, 3, SPRITE_MIDDLE_AGED_MAN, STAY, DOWN, 1, OPP_BLAINE, 1 + object_event 17, 2, SPRITE_SUPER_NERD, STAY, DOWN, 2, OPP_SUPER_NERD, 9 + object_event 17, 8, SPRITE_SUPER_NERD, STAY, DOWN, 3, OPP_BURGLAR, 4 + object_event 11, 4, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_SUPER_NERD, 10 + object_event 11, 8, SPRITE_SUPER_NERD, STAY, DOWN, 5, OPP_BURGLAR, 5 + object_event 11, 14, SPRITE_SUPER_NERD, STAY, DOWN, 6, OPP_SUPER_NERD, 11 + object_event 3, 14, SPRITE_SUPER_NERD, STAY, DOWN, 7, OPP_BURGLAR, 6 + object_event 3, 8, SPRITE_SUPER_NERD, STAY, DOWN, 8, OPP_SUPER_NERD, 12 + object_event 16, 13, SPRITE_GYM_GUIDE, STAY, DOWN, 9 ; person def_warps_to CINNABAR_GYM diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm index 1dd11a43..c2decff6 100644 --- a/data/maps/objects/CinnabarIsland.asm +++ b/data/maps/objects/CinnabarIsland.asm @@ -1,22 +1,22 @@ CinnabarIsland_Object: db $43 ; border block - def_warps - warp 6, 3, 1, POKEMON_MANSION_1F - warp 18, 3, 0, CINNABAR_GYM - warp 6, 9, 0, CINNABAR_LAB - warp 11, 11, 0, CINNABAR_POKECENTER - warp 15, 11, 0, CINNABAR_MART + def_warp_events + warp_event 6, 3, POKEMON_MANSION_1F, 1 + warp_event 18, 3, CINNABAR_GYM, 0 + warp_event 6, 9, CINNABAR_LAB, 0 + warp_event 11, 11, CINNABAR_POKECENTER, 0 + warp_event 15, 11, CINNABAR_MART, 0 - def_signs - sign 9, 5, 3 ; CinnabarIslandText3 - sign 16, 11, 4 ; MartSignText - sign 12, 11, 5 ; PokeCenterSignText - sign 9, 11, 6 ; CinnabarIslandText6 - sign 13, 3, 7 ; CinnabarIslandText7 + def_bg_events + bg_event 9, 5, 3 ; CinnabarIslandText3 + bg_event 16, 11, 4 ; MartSignText + bg_event 12, 11, 5 ; PokeCenterSignText + bg_event 9, 11, 6 ; CinnabarIslandText6 + bg_event 13, 3, 7 ; CinnabarIslandText7 - def_objects - object SPRITE_GIRL, 12, 5, WALK, LEFT_RIGHT, 1 ; person - object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person + def_object_events + object_event 12, 5, SPRITE_GIRL, WALK, LEFT_RIGHT, 1 ; person + object_event 14, 6, SPRITE_GAMBLER, STAY, NONE, 2 ; person def_warps_to CINNABAR_ISLAND diff --git a/data/maps/objects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm index 0e007e3a..aa1aa1c7 100644 --- a/data/maps/objects/CinnabarLab.asm +++ b/data/maps/objects/CinnabarLab.asm @@ -1,20 +1,20 @@ CinnabarLab_Object: db $17 ; border block - def_warps - warp 2, 7, 2, LAST_MAP - warp 3, 7, 2, LAST_MAP - warp 8, 4, 0, CINNABAR_LAB_TRADE_ROOM - warp 12, 4, 0, CINNABAR_LAB_METRONOME_ROOM - warp 16, 4, 0, CINNABAR_LAB_FOSSIL_ROOM + def_warp_events + warp_event 2, 7, LAST_MAP, 2 + warp_event 3, 7, LAST_MAP, 2 + warp_event 8, 4, CINNABAR_LAB_TRADE_ROOM, 0 + warp_event 12, 4, CINNABAR_LAB_METRONOME_ROOM, 0 + warp_event 16, 4, CINNABAR_LAB_FOSSIL_ROOM, 0 - def_signs - sign 3, 2, 2 ; Lab1Text2 - sign 9, 4, 3 ; Lab1Text3 - sign 13, 4, 4 ; Lab1Text4 - sign 17, 4, 5 ; Lab1Text5 + def_bg_events + bg_event 3, 2, 2 ; Lab1Text2 + bg_event 9, 4, 3 ; Lab1Text3 + bg_event 13, 4, 4 ; Lab1Text4 + bg_event 17, 4, 5 ; Lab1Text5 - def_objects - object SPRITE_FISHING_GURU, 1, 3, STAY, NONE, 1 ; person + def_object_events + object_event 1, 3, SPRITE_FISHING_GURU, STAY, NONE, 1 ; person def_warps_to CINNABAR_LAB diff --git a/data/maps/objects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm index 8269eaeb..0c61cf88 100644 --- a/data/maps/objects/CinnabarLabFossilRoom.asm +++ b/data/maps/objects/CinnabarLabFossilRoom.asm @@ -1,14 +1,14 @@ CinnabarLabFossilRoom_Object: db $17 ; border block - def_warps - warp 2, 7, 4, CINNABAR_LAB - warp 3, 7, 4, CINNABAR_LAB + def_warp_events + warp_event 2, 7, CINNABAR_LAB, 4 + warp_event 3, 7, CINNABAR_LAB, 4 - def_signs + def_bg_events - def_objects - object SPRITE_SCIENTIST, 5, 2, WALK, LEFT_RIGHT, 1 ; person - object SPRITE_SCIENTIST, 7, 6, STAY, UP, 2 ; person + def_object_events + object_event 5, 2, SPRITE_SCIENTIST, WALK, LEFT_RIGHT, 1 ; person + object_event 7, 6, SPRITE_SCIENTIST, STAY, UP, 2 ; person def_warps_to CINNABAR_LAB_FOSSIL_ROOM diff --git a/data/maps/objects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm index b5969dfa..dbfe0578 100644 --- a/data/maps/objects/CinnabarLabMetronomeRoom.asm +++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm @@ -1,17 +1,17 @@ CinnabarLabMetronomeRoom_Object: db $17 ; border block - def_warps - warp 2, 7, 3, CINNABAR_LAB - warp 3, 7, 3, CINNABAR_LAB + def_warp_events + warp_event 2, 7, CINNABAR_LAB, 3 + warp_event 3, 7, CINNABAR_LAB, 3 - def_signs - sign 0, 4, 3 ; Lab3Text3 - sign 1, 4, 4 ; Lab3Text4 - sign 2, 1, 5 ; Lab3Text5 + def_bg_events + bg_event 0, 4, 3 ; Lab3Text3 + bg_event 1, 4, 4 ; Lab3Text4 + bg_event 2, 1, 5 ; Lab3Text5 - def_objects - object SPRITE_SCIENTIST, 7, 2, STAY, DOWN, 1 ; person - object SPRITE_SCIENTIST, 2, 3, WALK, LEFT_RIGHT, 2 ; person + def_object_events + object_event 7, 2, SPRITE_SCIENTIST, STAY, DOWN, 1 ; person + object_event 2, 3, SPRITE_SCIENTIST, WALK, LEFT_RIGHT, 2 ; person def_warps_to CINNABAR_LAB_METRONOME_ROOM diff --git a/data/maps/objects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm index e23a19cf..d117af51 100644 --- a/data/maps/objects/CinnabarLabTradeRoom.asm +++ b/data/maps/objects/CinnabarLabTradeRoom.asm @@ -1,15 +1,15 @@ CinnabarLabTradeRoom_Object: db $17 ; border block - def_warps - warp 2, 7, 2, CINNABAR_LAB - warp 3, 7, 2, CINNABAR_LAB + def_warp_events + warp_event 2, 7, CINNABAR_LAB, 2 + warp_event 3, 7, CINNABAR_LAB, 2 - def_signs + def_bg_events - def_objects - object SPRITE_SUPER_NERD, 3, 2, STAY, DOWN, 1 ; person - object SPRITE_GRAMPS, 1, 4, STAY, NONE, 2 ; person - object SPRITE_BEAUTY, 5, 5, STAY, UP, 3 ; person + def_object_events + object_event 3, 2, SPRITE_SUPER_NERD, STAY, DOWN, 1 ; person + object_event 1, 4, SPRITE_GRAMPS, STAY, NONE, 2 ; person + object_event 5, 5, SPRITE_BEAUTY, STAY, UP, 3 ; person def_warps_to CINNABAR_LAB_TRADE_ROOM diff --git a/data/maps/objects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm index 2413d993..9aa0e265 100644 --- a/data/maps/objects/CinnabarMart.asm +++ b/data/maps/objects/CinnabarMart.asm @@ -1,15 +1,15 @@ CinnabarMart_Object: db $0 ; border block - def_warps - warp 3, 7, 4, LAST_MAP - warp 4, 7, 4, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 4 + warp_event 4, 7, LAST_MAP, 4 - def_signs + def_bg_events - def_objects - object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_ERIKA, 6, 2, STAY, NONE, 2 ; person - object SPRITE_SCIENTIST, 3, 4, STAY, NONE, 3 ; person + def_object_events + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 6, 2, SPRITE_ERIKA, STAY, NONE, 2 ; person + object_event 3, 4, SPRITE_SCIENTIST, STAY, NONE, 3 ; person def_warps_to CINNABAR_MART diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm index b1d89678..3e5a1d30 100644 --- a/data/maps/objects/CinnabarPokecenter.asm +++ b/data/maps/objects/CinnabarPokecenter.asm @@ -1,16 +1,16 @@ CinnabarPokecenter_Object: db $0 ; border block - def_warps - warp 3, 7, 3, LAST_MAP - warp 4, 7, 3, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 3 + warp_event 4, 7, LAST_MAP, 3 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_COOLTRAINER_F, 9, 4, WALK, ANY_DIR, 2 ; person - object SPRITE_GENTLEMAN, 2, 6, STAY, NONE, 3 ; person - object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 9, 4, SPRITE_COOLTRAINER_F, WALK, ANY_DIR, 2 ; person + object_event 2, 6, SPRITE_GENTLEMAN, STAY, NONE, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to CINNABAR_POKECENTER diff --git a/data/maps/objects/Colosseum.asm b/data/maps/objects/Colosseum.asm index dac9bc09..f7837731 100644 --- a/data/maps/objects/Colosseum.asm +++ b/data/maps/objects/Colosseum.asm @@ -1,11 +1,11 @@ Colosseum_Object: db $e ; border block - def_warps + def_warp_events - def_signs + def_bg_events - def_objects - object SPRITE_RED, 2, 2, STAY, 0, 1 ; person + def_object_events + object_event 2, 2, SPRITE_RED, STAY, 0, 1 ; person def_warps_to COLOSSEUM diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm index c1250c91..980cdcbc 100644 --- a/data/maps/objects/CopycatsHouse1F.asm +++ b/data/maps/objects/CopycatsHouse1F.asm @@ -1,16 +1,16 @@ CopycatsHouse1F_Object: db $a ; border block - def_warps - warp 2, 7, 0, LAST_MAP - warp 3, 7, 0, LAST_MAP - warp 7, 1, 0, COPYCATS_HOUSE_2F + def_warp_events + warp_event 2, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 0 + warp_event 7, 1, COPYCATS_HOUSE_2F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_MIDDLE_AGED_WOMAN, 2, 2, STAY, DOWN, 1 ; person - object SPRITE_MIDDLE_AGED_MAN, 5, 4, STAY, LEFT, 2 ; person - object SPRITE_FAIRY, 1, 4, WALK, UP_DOWN, 3 ; person + def_object_events + object_event 2, 2, SPRITE_MIDDLE_AGED_WOMAN, STAY, DOWN, 1 ; person + object_event 5, 4, SPRITE_MIDDLE_AGED_MAN, STAY, LEFT, 2 ; person + object_event 1, 4, SPRITE_FAIRY, WALK, UP_DOWN, 3 ; person def_warps_to COPYCATS_HOUSE_1F diff --git a/data/maps/objects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm index e04edee7..5e5df0a5 100644 --- a/data/maps/objects/CopycatsHouse2F.asm +++ b/data/maps/objects/CopycatsHouse2F.asm @@ -1,18 +1,18 @@ CopycatsHouse2F_Object: db $a ; border block - def_warps - warp 7, 1, 2, COPYCATS_HOUSE_1F + def_warp_events + warp_event 7, 1, COPYCATS_HOUSE_1F, 2 - def_signs - sign 3, 5, 6 ; CopycatsHouse2FText6 - sign 0, 1, 7 ; CopycatsHouse2FText7 + def_bg_events + bg_event 3, 5, 6 ; CopycatsHouse2FText6 + bg_event 0, 1, 7 ; CopycatsHouse2FText7 - def_objects - object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, ANY_DIR, 1 ; person - object SPRITE_BIRD, 4, 6, WALK, LEFT_RIGHT, 2 ; person - object SPRITE_MONSTER, 5, 1, STAY, DOWN, 3 ; person - object SPRITE_BIRD, 2, 0, STAY, DOWN, 4 ; person - object SPRITE_FAIRY, 1, 6, STAY, RIGHT, 5 ; person + def_object_events + object_event 4, 3, SPRITE_BRUNETTE_GIRL, WALK, ANY_DIR, 1 ; person + object_event 4, 6, SPRITE_BIRD, WALK, LEFT_RIGHT, 2 ; person + object_event 5, 1, SPRITE_MONSTER, STAY, DOWN, 3 ; person + object_event 2, 0, SPRITE_BIRD, STAY, DOWN, 4 ; person + object_event 1, 6, SPRITE_FAIRY, STAY, RIGHT, 5 ; person def_warps_to COPYCATS_HOUSE_2F diff --git a/data/maps/objects/Daycare.asm b/data/maps/objects/Daycare.asm index 2feecff3..7b3a52c6 100644 --- a/data/maps/objects/Daycare.asm +++ b/data/maps/objects/Daycare.asm @@ -1,13 +1,13 @@ Daycare_Object: db $a ; border block - def_warps - warp 2, 7, 4, LAST_MAP - warp 3, 7, 4, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 4 - def_signs + def_bg_events - def_objects - object SPRITE_GENTLEMAN, 2, 3, STAY, RIGHT, 1 ; person + def_object_events + object_event 2, 3, SPRITE_GENTLEMAN, STAY, RIGHT, 1 ; person def_warps_to DAYCARE diff --git a/data/maps/objects/DiglettsCave.asm b/data/maps/objects/DiglettsCave.asm index dc4889e5..1b9ae6a2 100644 --- a/data/maps/objects/DiglettsCave.asm +++ b/data/maps/objects/DiglettsCave.asm @@ -1,12 +1,12 @@ DiglettsCave_Object: db $19 ; border block - def_warps - warp 5, 5, 2, DIGLETTS_CAVE_ROUTE_2 - warp 37, 31, 2, DIGLETTS_CAVE_ROUTE_11 + def_warp_events + warp_event 5, 5, DIGLETTS_CAVE_ROUTE_2, 2 + warp_event 37, 31, DIGLETTS_CAVE_ROUTE_11, 2 - def_signs + def_bg_events - def_objects + def_object_events def_warps_to DIGLETTS_CAVE diff --git a/data/maps/objects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm index f6c884d9..e3d7b7ad 100644 --- a/data/maps/objects/DiglettsCaveRoute11.asm +++ b/data/maps/objects/DiglettsCaveRoute11.asm @@ -1,14 +1,14 @@ DiglettsCaveRoute11_Object: db $7d ; border block - def_warps - warp 2, 7, 4, LAST_MAP - warp 3, 7, 4, LAST_MAP - warp 4, 4, 1, DIGLETTS_CAVE + def_warp_events + warp_event 2, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 4 + warp_event 4, 4, DIGLETTS_CAVE, 1 - def_signs + def_bg_events - def_objects - object SPRITE_GAMBLER, 2, 3, STAY, NONE, 1 ; person + def_object_events + object_event 2, 3, SPRITE_GAMBLER, STAY, NONE, 1 ; person def_warps_to DIGLETTS_CAVE_ROUTE_11 diff --git a/data/maps/objects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm index 948a82e3..1853d3a3 100644 --- a/data/maps/objects/DiglettsCaveRoute2.asm +++ b/data/maps/objects/DiglettsCaveRoute2.asm @@ -1,14 +1,14 @@ DiglettsCaveRoute2_Object: db $7d ; border block - def_warps - warp 2, 7, 0, LAST_MAP - warp 3, 7, 0, LAST_MAP - warp 4, 4, 0, DIGLETTS_CAVE + def_warp_events + warp_event 2, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 0 + warp_event 4, 4, DIGLETTS_CAVE, 0 - def_signs + def_bg_events - def_objects - object SPRITE_FISHING_GURU, 3, 3, STAY, NONE, 1 ; person + def_object_events + object_event 3, 3, SPRITE_FISHING_GURU, STAY, NONE, 1 ; person def_warps_to DIGLETTS_CAVE_ROUTE_2 diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm index 5345a7aa..61be63a4 100644 --- a/data/maps/objects/FightingDojo.asm +++ b/data/maps/objects/FightingDojo.asm @@ -1,19 +1,19 @@ FightingDojo_Object: db $3 ; border block - def_warps - warp 4, 11, 1, LAST_MAP - warp 5, 11, 1, LAST_MAP + def_warp_events + warp_event 4, 11, LAST_MAP, 1 + warp_event 5, 11, LAST_MAP, 1 - def_signs + def_bg_events - def_objects - object SPRITE_HIKER, 5, 3, STAY, DOWN, 1, OPP_BLACKBELT, 1 - object SPRITE_HIKER, 3, 4, STAY, RIGHT, 2, OPP_BLACKBELT, 2 - object SPRITE_HIKER, 3, 6, STAY, RIGHT, 3, OPP_BLACKBELT, 3 - object SPRITE_HIKER, 5, 5, STAY, LEFT, 4, OPP_BLACKBELT, 4 - object SPRITE_HIKER, 5, 7, STAY, LEFT, 5, OPP_BLACKBELT, 5 - object SPRITE_POKE_BALL, 4, 1, STAY, NONE, 6 ; person - object SPRITE_POKE_BALL, 5, 1, STAY, NONE, 7 ; person + def_object_events + object_event 5, 3, SPRITE_HIKER, STAY, DOWN, 1, OPP_BLACKBELT, 1 + object_event 3, 4, SPRITE_HIKER, STAY, RIGHT, 2, OPP_BLACKBELT, 2 + object_event 3, 6, SPRITE_HIKER, STAY, RIGHT, 3, OPP_BLACKBELT, 3 + object_event 5, 5, SPRITE_HIKER, STAY, LEFT, 4, OPP_BLACKBELT, 4 + object_event 5, 7, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 5 + object_event 4, 1, SPRITE_POKE_BALL, STAY, NONE, 6 ; person + object_event 5, 1, SPRITE_POKE_BALL, STAY, NONE, 7 ; person def_warps_to FIGHTING_DOJO diff --git a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm index 30aff6c5..84d8896e 100644 --- a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm +++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm @@ -1,15 +1,15 @@ FuchsiaBillsGrandpasHouse_Object: db $a ; border block - def_warps - warp 2, 7, 1, LAST_MAP - warp 3, 7, 1, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 1 + warp_event 3, 7, LAST_MAP, 1 - def_signs + def_bg_events - def_objects - object SPRITE_MIDDLE_AGED_WOMAN, 2, 3, STAY, RIGHT, 1 ; person - object SPRITE_GAMBLER, 7, 2, STAY, UP, 2 ; person - object SPRITE_YOUNGSTER, 5, 5, STAY, NONE, 3 ; person + def_object_events + object_event 2, 3, SPRITE_MIDDLE_AGED_WOMAN, STAY, RIGHT, 1 ; person + object_event 7, 2, SPRITE_GAMBLER, STAY, UP, 2 ; person + object_event 5, 5, SPRITE_YOUNGSTER, STAY, NONE, 3 ; person def_warps_to FUCHSIA_BILLS_GRANDPAS_HOUSE diff --git a/data/maps/objects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm index d0230a01..c6f41754 100644 --- a/data/maps/objects/FuchsiaCity.asm +++ b/data/maps/objects/FuchsiaCity.asm @@ -1,43 +1,43 @@ FuchsiaCity_Object: db $f ; border block - def_warps - warp 5, 13, 0, FUCHSIA_MART - warp 11, 27, 0, FUCHSIA_BILLS_GRANDPAS_HOUSE - warp 19, 27, 0, FUCHSIA_POKECENTER - warp 27, 27, 0, WARDENS_HOUSE - warp 18, 3, 0, SAFARI_ZONE_GATE - warp 5, 27, 0, FUCHSIA_GYM - warp 22, 13, 0, FUCHSIA_MEETING_ROOM - warp 31, 27, 1, FUCHSIA_GOOD_ROD_HOUSE - warp 31, 24, 0, FUCHSIA_GOOD_ROD_HOUSE + def_warp_events + warp_event 5, 13, FUCHSIA_MART, 0 + warp_event 11, 27, FUCHSIA_BILLS_GRANDPAS_HOUSE, 0 + warp_event 19, 27, FUCHSIA_POKECENTER, 0 + warp_event 27, 27, WARDENS_HOUSE, 0 + warp_event 18, 3, SAFARI_ZONE_GATE, 0 + warp_event 5, 27, FUCHSIA_GYM, 0 + warp_event 22, 13, FUCHSIA_MEETING_ROOM, 0 + warp_event 31, 27, FUCHSIA_GOOD_ROD_HOUSE, 1 + warp_event 31, 24, FUCHSIA_GOOD_ROD_HOUSE, 0 - def_signs - sign 15, 23, 11 ; FuchsiaCityText11 - sign 25, 15, 12 ; FuchsiaCityText12 - sign 17, 5, 13 ; FuchsiaCityText13 - sign 6, 13, 14 ; MartSignText - sign 20, 27, 15 ; PokeCenterSignText - sign 27, 29, 16 ; FuchsiaCityText16 - sign 21, 15, 17 ; FuchsiaCityText17 - sign 5, 29, 18 ; FuchsiaCityText18 - sign 33, 7, 19 ; FuchsiaCityText19 - sign 27, 7, 20 ; FuchsiaCityText20 - sign 13, 7, 21 ; FuchsiaCityText21 - sign 31, 13, 22 ; FuchsiaCityText22 - sign 13, 15, 23 ; FuchsiaCityText23 - sign 7, 7, 24 ; FuchsiaCityText24 + def_bg_events + bg_event 15, 23, 11 ; FuchsiaCityText11 + bg_event 25, 15, 12 ; FuchsiaCityText12 + bg_event 17, 5, 13 ; FuchsiaCityText13 + bg_event 6, 13, 14 ; MartSignText + bg_event 20, 27, 15 ; PokeCenterSignText + bg_event 27, 29, 16 ; FuchsiaCityText16 + bg_event 21, 15, 17 ; FuchsiaCityText17 + bg_event 5, 29, 18 ; FuchsiaCityText18 + bg_event 33, 7, 19 ; FuchsiaCityText19 + bg_event 27, 7, 20 ; FuchsiaCityText20 + bg_event 13, 7, 21 ; FuchsiaCityText21 + bg_event 31, 13, 22 ; FuchsiaCityText22 + bg_event 13, 15, 23 ; FuchsiaCityText23 + bg_event 7, 7, 24 ; FuchsiaCityText24 - def_objects - object SPRITE_YOUNGSTER, 10, 12, WALK, LEFT_RIGHT, 1 ; person - object SPRITE_GAMBLER, 28, 17, WALK, LEFT_RIGHT, 2 ; person - object SPRITE_FISHER, 30, 14, STAY, DOWN, 3 ; person - object SPRITE_YOUNGSTER, 24, 8, STAY, UP, 4 ; person - object SPRITE_FAIRY, 31, 5, WALK, ANY_DIR, 5 ; person - object SPRITE_POKE_BALL, 25, 6, STAY, NONE, 6 ; person - object SPRITE_MONSTER, 12, 6, WALK, LEFT_RIGHT, 7 ; person - object SPRITE_MONSTER, 30, 12, WALK, LEFT_RIGHT, 8 ; person - object SPRITE_SEEL, 8, 17, WALK, ANY_DIR, 9 ; person - object SPRITE_FOSSIL, 6, 5, STAY, NONE, 10 ; person + def_object_events + object_event 10, 12, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person + object_event 28, 17, SPRITE_GAMBLER, WALK, LEFT_RIGHT, 2 ; person + object_event 30, 14, SPRITE_FISHER, STAY, DOWN, 3 ; person + object_event 24, 8, SPRITE_YOUNGSTER, STAY, UP, 4 ; person + object_event 31, 5, SPRITE_FAIRY, WALK, ANY_DIR, 5 ; person + object_event 25, 6, SPRITE_POKE_BALL, STAY, NONE, 6 ; person + object_event 12, 6, SPRITE_MONSTER, WALK, LEFT_RIGHT, 7 ; person + object_event 30, 12, SPRITE_MONSTER, WALK, LEFT_RIGHT, 8 ; person + object_event 8, 17, SPRITE_SEEL, WALK, ANY_DIR, 9 ; person + object_event 6, 5, SPRITE_FOSSIL, STAY, NONE, 10 ; person def_warps_to FUCHSIA_CITY diff --git a/data/maps/objects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm index 434cec8b..0a8dd12f 100644 --- a/data/maps/objects/FuchsiaGoodRodHouse.asm +++ b/data/maps/objects/FuchsiaGoodRodHouse.asm @@ -1,14 +1,14 @@ FuchsiaGoodRodHouse_Object: db $c ; border block - def_warps - warp 2, 0, 8, LAST_MAP - warp 2, 7, 7, LAST_MAP - warp 3, 7, 7, LAST_MAP + def_warp_events + warp_event 2, 0, LAST_MAP, 8 + warp_event 2, 7, LAST_MAP, 7 + warp_event 3, 7, LAST_MAP, 7 - def_signs + def_bg_events - def_objects - object SPRITE_FISHING_GURU, 5, 3, STAY, RIGHT, 1 ; person + def_object_events + object_event 5, 3, SPRITE_FISHING_GURU, STAY, RIGHT, 1 ; person def_warps_to FUCHSIA_GOOD_ROD_HOUSE diff --git a/data/maps/objects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm index a48794ff..9b884a68 100644 --- a/data/maps/objects/FuchsiaGym.asm +++ b/data/maps/objects/FuchsiaGym.asm @@ -1,20 +1,20 @@ FuchsiaGym_Object: db $3 ; border block - def_warps - warp 4, 17, 5, LAST_MAP - warp 5, 17, 5, LAST_MAP + def_warp_events + warp_event 4, 17, LAST_MAP, 5 + warp_event 5, 17, LAST_MAP, 5 - def_signs + def_bg_events - def_objects - object SPRITE_KOGA, 4, 10, STAY, DOWN, 1, OPP_KOGA, 1 - object SPRITE_ROCKER, 8, 13, STAY, DOWN, 2, OPP_JUGGLER, 7 - object SPRITE_ROCKER, 7, 8, STAY, RIGHT, 3, OPP_JUGGLER, 3 - object SPRITE_ROCKER, 1, 12, STAY, DOWN, 4, OPP_JUGGLER, 8 - object SPRITE_ROCKER, 3, 5, STAY, UP, 5, OPP_TAMER, 1 - object SPRITE_ROCKER, 8, 2, STAY, DOWN, 6, OPP_TAMER, 2 - object SPRITE_ROCKER, 2, 7, STAY, LEFT, 7, OPP_JUGGLER, 4 - object SPRITE_GYM_GUIDE, 7, 15, STAY, DOWN, 8 ; person + def_object_events + object_event 4, 10, SPRITE_KOGA, STAY, DOWN, 1, OPP_KOGA, 1 + object_event 8, 13, SPRITE_ROCKER, STAY, DOWN, 2, OPP_JUGGLER, 7 + object_event 7, 8, SPRITE_ROCKER, STAY, RIGHT, 3, OPP_JUGGLER, 3 + object_event 1, 12, SPRITE_ROCKER, STAY, DOWN, 4, OPP_JUGGLER, 8 + object_event 3, 5, SPRITE_ROCKER, STAY, UP, 5, OPP_TAMER, 1 + object_event 8, 2, SPRITE_ROCKER, STAY, DOWN, 6, OPP_TAMER, 2 + object_event 2, 7, SPRITE_ROCKER, STAY, LEFT, 7, OPP_JUGGLER, 4 + object_event 7, 15, SPRITE_GYM_GUIDE, STAY, DOWN, 8 ; person def_warps_to FUCHSIA_GYM diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm index 0a238a87..80eb426b 100644 --- a/data/maps/objects/FuchsiaMart.asm +++ b/data/maps/objects/FuchsiaMart.asm @@ -1,15 +1,15 @@ FuchsiaMart_Object: db $0 ; border block - def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 0 + warp_event 4, 7, LAST_MAP, 0 - def_signs + def_bg_events - def_objects - object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_MIDDLE_AGED_MAN, 4, 2, STAY, NONE, 2 ; person - object SPRITE_COOLTRAINER_F, 6, 5, WALK, UP_DOWN, 3 ; person + def_object_events + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 4, 2, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 2 ; person + object_event 6, 5, SPRITE_COOLTRAINER_F, WALK, UP_DOWN, 3 ; person def_warps_to FUCHSIA_MART diff --git a/data/maps/objects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm index e4c2a83b..228d5f79 100644 --- a/data/maps/objects/FuchsiaMeetingRoom.asm +++ b/data/maps/objects/FuchsiaMeetingRoom.asm @@ -1,15 +1,15 @@ FuchsiaMeetingRoom_Object: db $17 ; border block - def_warps - warp 4, 7, 6, LAST_MAP - warp 5, 7, 6, LAST_MAP + def_warp_events + warp_event 4, 7, LAST_MAP, 6 + warp_event 5, 7, LAST_MAP, 6 - def_signs + def_bg_events - def_objects - object SPRITE_SAFARI_ZONE_WORKER, 4, 1, STAY, DOWN, 1 ; person - object SPRITE_SAFARI_ZONE_WORKER, 0, 2, STAY, UP, 2 ; person - object SPRITE_SAFARI_ZONE_WORKER, 10, 1, STAY, DOWN, 3 ; person + def_object_events + object_event 4, 1, SPRITE_SAFARI_ZONE_WORKER, STAY, DOWN, 1 ; person + object_event 0, 2, SPRITE_SAFARI_ZONE_WORKER, STAY, UP, 2 ; person + object_event 10, 1, SPRITE_SAFARI_ZONE_WORKER, STAY, DOWN, 3 ; person def_warps_to FUCHSIA_MEETING_ROOM diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm index 54c5952b..1d0e76fa 100644 --- a/data/maps/objects/FuchsiaPokecenter.asm +++ b/data/maps/objects/FuchsiaPokecenter.asm @@ -1,16 +1,16 @@ FuchsiaPokecenter_Object: db $0 ; border block - def_warps - warp 3, 7, 2, LAST_MAP - warp 4, 7, 2, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 2 + warp_event 4, 7, LAST_MAP, 2 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_ROCKER, 2, 3, STAY, NONE, 2 ; person - object SPRITE_COOLTRAINER_F, 6, 5, WALK, LEFT_RIGHT, 3 ; person - object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 2, 3, SPRITE_ROCKER, STAY, NONE, 2 ; person + object_event 6, 5, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to FUCHSIA_POKECENTER diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm index 90708941..a195f2c2 100644 --- a/data/maps/objects/GameCorner.asm +++ b/data/maps/objects/GameCorner.asm @@ -1,25 +1,25 @@ GameCorner_Object: db $f ; border block - def_warps - warp 15, 17, 7, LAST_MAP - warp 16, 17, 7, LAST_MAP - warp 17, 4, 1, ROCKET_HIDEOUT_B1F + def_warp_events + warp_event 15, 17, LAST_MAP, 7 + warp_event 16, 17, LAST_MAP, 7 + warp_event 17, 4, ROCKET_HIDEOUT_B1F, 1 - def_signs - sign 9, 4, 12 ; CeladonGameCornerText12 + def_bg_events + bg_event 9, 4, 12 ; CeladonGameCornerText12 - def_objects - object SPRITE_BEAUTY, 2, 6, STAY, DOWN, 1 ; person - object SPRITE_CLERK, 5, 6, STAY, DOWN, 2 ; person - object SPRITE_MIDDLE_AGED_MAN, 2, 10, STAY, LEFT, 3 ; person - object SPRITE_BEAUTY, 2, 13, STAY, LEFT, 4 ; person - object SPRITE_FISHING_GURU, 5, 11, STAY, RIGHT, 5 ; person - object SPRITE_MIDDLE_AGED_WOMAN, 8, 11, STAY, LEFT, 6 ; person - object SPRITE_GYM_GUIDE, 8, 14, STAY, LEFT, 7 ; person - object SPRITE_GAMBLER, 11, 15, STAY, RIGHT, 8 ; person - object SPRITE_CLERK, 14, 11, STAY, LEFT, 9 ; person - object SPRITE_GENTLEMAN, 17, 13, STAY, RIGHT, 10 ; person - object SPRITE_ROCKET, 9, 5, STAY, UP, 11, OPP_ROCKET, 7 + def_object_events + object_event 2, 6, SPRITE_BEAUTY, STAY, DOWN, 1 ; person + object_event 5, 6, SPRITE_CLERK, STAY, DOWN, 2 ; person + object_event 2, 10, SPRITE_MIDDLE_AGED_MAN, STAY, LEFT, 3 ; person + object_event 2, 13, SPRITE_BEAUTY, STAY, LEFT, 4 ; person + object_event 5, 11, SPRITE_FISHING_GURU, STAY, RIGHT, 5 ; person + object_event 8, 11, SPRITE_MIDDLE_AGED_WOMAN, STAY, LEFT, 6 ; person + object_event 8, 14, SPRITE_GYM_GUIDE, STAY, LEFT, 7 ; person + object_event 11, 15, SPRITE_GAMBLER, STAY, RIGHT, 8 ; person + object_event 14, 11, SPRITE_CLERK, STAY, LEFT, 9 ; person + object_event 17, 13, SPRITE_GENTLEMAN, STAY, RIGHT, 10 ; person + object_event 9, 5, SPRITE_ROCKET, STAY, UP, 11, OPP_ROCKET, 7 def_warps_to GAME_CORNER diff --git a/data/maps/objects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm index d55decf1..fab25b4f 100644 --- a/data/maps/objects/GameCornerPrizeRoom.asm +++ b/data/maps/objects/GameCornerPrizeRoom.asm @@ -1,17 +1,17 @@ GameCornerPrizeRoom_Object: db $f ; border block - def_warps - warp 4, 7, 9, LAST_MAP - warp 5, 7, 9, LAST_MAP + def_warp_events + warp_event 4, 7, LAST_MAP, 9 + warp_event 5, 7, LAST_MAP, 9 - def_signs - sign 2, 2, 3 ; CeladonPrizeRoomText3 - sign 4, 2, 4 ; CeladonPrizeRoomText4 - sign 6, 2, 5 ; CeladonPrizeRoomText5 + def_bg_events + bg_event 2, 2, 3 ; CeladonPrizeRoomText3 + bg_event 4, 2, 4 ; CeladonPrizeRoomText4 + bg_event 6, 2, 5 ; CeladonPrizeRoomText5 - def_objects - object SPRITE_BALDING_GUY, 1, 4, STAY, NONE, 1 ; person - object SPRITE_GAMBLER, 7, 3, WALK, LEFT_RIGHT, 2 ; person + def_object_events + object_event 1, 4, SPRITE_BALDING_GUY, STAY, NONE, 1 ; person + object_event 7, 3, SPRITE_GAMBLER, WALK, LEFT_RIGHT, 2 ; person def_warps_to GAME_CORNER_PRIZE_ROOM diff --git a/data/maps/objects/HallOfFame.asm b/data/maps/objects/HallOfFame.asm index caa55bf6..b3273ec6 100644 --- a/data/maps/objects/HallOfFame.asm +++ b/data/maps/objects/HallOfFame.asm @@ -1,13 +1,13 @@ HallOfFame_Object: db $3 ; border block - def_warps - warp 4, 7, 2, CHAMPIONS_ROOM - warp 5, 7, 3, CHAMPIONS_ROOM + def_warp_events + warp_event 4, 7, CHAMPIONS_ROOM, 2 + warp_event 5, 7, CHAMPIONS_ROOM, 3 - def_signs + def_bg_events - def_objects - object SPRITE_OAK, 5, 2, STAY, DOWN, 1 ; person + def_object_events + object_event 5, 2, SPRITE_OAK, STAY, DOWN, 1 ; person def_warps_to HALL_OF_FAME diff --git a/data/maps/objects/IndigoPlateau.asm b/data/maps/objects/IndigoPlateau.asm index d67c9f8a..63eb5381 100644 --- a/data/maps/objects/IndigoPlateau.asm +++ b/data/maps/objects/IndigoPlateau.asm @@ -1,12 +1,12 @@ IndigoPlateau_Object: db $e ; border block - def_warps - warp 9, 5, 0, INDIGO_PLATEAU_LOBBY - warp 10, 5, 0, INDIGO_PLATEAU_LOBBY + def_warp_events + warp_event 9, 5, INDIGO_PLATEAU_LOBBY, 0 + warp_event 10, 5, INDIGO_PLATEAU_LOBBY, 0 - def_signs + def_bg_events - def_objects + def_object_events def_warps_to INDIGO_PLATEAU diff --git a/data/maps/objects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm index 3244b4ad..8af27657 100644 --- a/data/maps/objects/IndigoPlateauLobby.asm +++ b/data/maps/objects/IndigoPlateauLobby.asm @@ -1,18 +1,18 @@ IndigoPlateauLobby_Object: db $0 ; border block - def_warps - warp 7, 11, 0, LAST_MAP - warp 8, 11, 1, LAST_MAP - warp 8, 0, 0, LORELEIS_ROOM + def_warp_events + warp_event 7, 11, LAST_MAP, 0 + warp_event 8, 11, LAST_MAP, 1 + warp_event 8, 0, LORELEIS_ROOM, 0 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 7, 5, STAY, DOWN, 1 ; person - object SPRITE_GYM_GUIDE, 4, 9, STAY, RIGHT, 2 ; person - object SPRITE_COOLTRAINER_F, 5, 1, STAY, DOWN, 3 ; person - object SPRITE_CLERK, 0, 5, STAY, RIGHT, 4 ; person - object SPRITE_LINK_RECEPTIONIST, 13, 6, STAY, DOWN, 5 ; person + def_object_events + object_event 7, 5, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 4, 9, SPRITE_GYM_GUIDE, STAY, RIGHT, 2 ; person + object_event 5, 1, SPRITE_COOLTRAINER_F, STAY, DOWN, 3 ; person + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 4 ; person + object_event 13, 6, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 5 ; person def_warps_to INDIGO_PLATEAU_LOBBY diff --git a/data/maps/objects/LancesRoom.asm b/data/maps/objects/LancesRoom.asm index a8dc4777..3e055fde 100644 --- a/data/maps/objects/LancesRoom.asm +++ b/data/maps/objects/LancesRoom.asm @@ -1,14 +1,14 @@ LancesRoom_Object: db $3 ; border block - def_warps - warp 24, 16, 2, AGATHAS_ROOM - warp 5, 0, 0, CHAMPIONS_ROOM - warp 6, 0, 0, CHAMPIONS_ROOM + def_warp_events + warp_event 24, 16, AGATHAS_ROOM, 2 + warp_event 5, 0, CHAMPIONS_ROOM, 0 + warp_event 6, 0, CHAMPIONS_ROOM, 0 - def_signs + def_bg_events - def_objects - object SPRITE_LANCE, 6, 1, STAY, DOWN, 1, OPP_LANCE, 1 + def_object_events + object_event 6, 1, SPRITE_LANCE, STAY, DOWN, 1, OPP_LANCE, 1 def_warps_to LANCES_ROOM diff --git a/data/maps/objects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm index 7e7443e2..e39d911b 100644 --- a/data/maps/objects/LavenderCuboneHouse.asm +++ b/data/maps/objects/LavenderCuboneHouse.asm @@ -1,14 +1,14 @@ LavenderCuboneHouse_Object: db $a ; border block - def_warps - warp 2, 7, 4, LAST_MAP - warp 3, 7, 4, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 4 - def_signs + def_bg_events - def_objects - object SPRITE_MONSTER, 3, 5, STAY, UP, 1 ; person - object SPRITE_BRUNETTE_GIRL, 2, 4, STAY, RIGHT, 2 ; person + def_object_events + object_event 3, 5, SPRITE_MONSTER, STAY, UP, 1 ; person + object_event 2, 4, SPRITE_BRUNETTE_GIRL, STAY, RIGHT, 2 ; person def_warps_to LAVENDER_CUBONE_HOUSE diff --git a/data/maps/objects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm index 00d5a64b..430df64a 100644 --- a/data/maps/objects/LavenderMart.asm +++ b/data/maps/objects/LavenderMart.asm @@ -1,15 +1,15 @@ LavenderMart_Object: db $0 ; border block - def_warps - warp 3, 7, 3, LAST_MAP - warp 4, 7, 3, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 3 + warp_event 4, 7, LAST_MAP, 3 - def_signs + def_bg_events - def_objects - object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BALDING_GUY, 3, 4, STAY, NONE, 2 ; person - object SPRITE_COOLTRAINER_M, 7, 2, STAY, NONE, 3 ; person + def_object_events + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 3, 4, SPRITE_BALDING_GUY, STAY, NONE, 2 ; person + object_event 7, 2, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person def_warps_to LAVENDER_MART diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm index 98975531..b14e93b3 100644 --- a/data/maps/objects/LavenderPokecenter.asm +++ b/data/maps/objects/LavenderPokecenter.asm @@ -1,16 +1,16 @@ LavenderPokecenter_Object: db $0 ; border block - def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 0 + warp_event 4, 7, LAST_MAP, 0 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 5, 3, STAY, NONE, 2 ; person - object SPRITE_LITTLE_GIRL, 2, 6, WALK, UP_DOWN, 3 ; person - object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 5, 3, SPRITE_GENTLEMAN, STAY, NONE, 2 ; person + object_event 2, 6, SPRITE_LITTLE_GIRL, WALK, UP_DOWN, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to LAVENDER_POKECENTER diff --git a/data/maps/objects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm index f34659c1..6e855efb 100644 --- a/data/maps/objects/LavenderTown.asm +++ b/data/maps/objects/LavenderTown.asm @@ -1,25 +1,25 @@ LavenderTown_Object: db $2c ; border block - def_warps - warp 3, 5, 0, LAVENDER_POKECENTER - warp 14, 5, 0, POKEMON_TOWER_1F - warp 7, 9, 0, MR_FUJIS_HOUSE - warp 15, 13, 0, LAVENDER_MART - warp 3, 13, 0, LAVENDER_CUBONE_HOUSE - warp 7, 13, 0, NAME_RATERS_HOUSE + def_warp_events + warp_event 3, 5, LAVENDER_POKECENTER, 0 + warp_event 14, 5, POKEMON_TOWER_1F, 0 + warp_event 7, 9, MR_FUJIS_HOUSE, 0 + warp_event 15, 13, LAVENDER_MART, 0 + warp_event 3, 13, LAVENDER_CUBONE_HOUSE, 0 + warp_event 7, 13, NAME_RATERS_HOUSE, 0 - def_signs - sign 11, 9, 4 ; LavenderTownText4 - sign 9, 3, 5 ; LavenderTownText5 - sign 16, 13, 6 ; MartSignText - sign 4, 5, 7 ; PokeCenterSignText - sign 5, 9, 8 ; LavenderTownText8 - sign 17, 7, 9 ; LavenderTownText9 + def_bg_events + bg_event 11, 9, 4 ; LavenderTownText4 + bg_event 9, 3, 5 ; LavenderTownText5 + bg_event 16, 13, 6 ; MartSignText + bg_event 4, 5, 7 ; PokeCenterSignText + bg_event 5, 9, 8 ; LavenderTownText8 + bg_event 17, 7, 9 ; LavenderTownText9 - def_objects - object SPRITE_LITTLE_GIRL, 15, 9, WALK, ANY_DIR, 1 ; person - object SPRITE_COOLTRAINER_M, 9, 10, STAY, NONE, 2 ; person - object SPRITE_SUPER_NERD, 8, 7, WALK, LEFT_RIGHT, 3 ; person + def_object_events + object_event 15, 9, SPRITE_LITTLE_GIRL, WALK, ANY_DIR, 1 ; person + object_event 9, 10, SPRITE_COOLTRAINER_M, STAY, NONE, 2 ; person + object_event 8, 7, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 3 ; person def_warps_to LAVENDER_TOWN diff --git a/data/maps/objects/LoreleisRoom.asm b/data/maps/objects/LoreleisRoom.asm index 91a306b8..84f5f6c8 100644 --- a/data/maps/objects/LoreleisRoom.asm +++ b/data/maps/objects/LoreleisRoom.asm @@ -1,15 +1,15 @@ LoreleisRoom_Object: db $3 ; border block - def_warps - warp 4, 11, 2, INDIGO_PLATEAU_LOBBY - warp 5, 11, 2, INDIGO_PLATEAU_LOBBY - warp 4, 0, 0, BRUNOS_ROOM - warp 5, 0, 1, BRUNOS_ROOM + def_warp_events + warp_event 4, 11, INDIGO_PLATEAU_LOBBY, 2 + warp_event 5, 11, INDIGO_PLATEAU_LOBBY, 2 + warp_event 4, 0, BRUNOS_ROOM, 0 + warp_event 5, 0, BRUNOS_ROOM, 1 - def_signs + def_bg_events - def_objects - object SPRITE_LORELEI, 5, 2, STAY, DOWN, 1, OPP_LORELEI, 1 + def_object_events + object_event 5, 2, SPRITE_LORELEI, STAY, DOWN, 1, OPP_LORELEI, 1 def_warps_to LORELEIS_ROOM diff --git a/data/maps/objects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm index 6ec762f6..054ac845 100644 --- a/data/maps/objects/MrFujisHouse.asm +++ b/data/maps/objects/MrFujisHouse.asm @@ -1,18 +1,18 @@ MrFujisHouse_Object: db $a ; border block - def_warps - warp 2, 7, 2, LAST_MAP - warp 3, 7, 2, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 2 + warp_event 3, 7, LAST_MAP, 2 - def_signs + def_bg_events - def_objects - object SPRITE_SUPER_NERD, 3, 5, STAY, NONE, 1 ; person - object SPRITE_LITTLE_GIRL, 6, 3, STAY, DOWN, 2 ; person - object SPRITE_MONSTER, 6, 4, STAY, UP, 3 ; person - object SPRITE_MONSTER, 1, 3, STAY, NONE, 4 ; person - object SPRITE_MR_FUJI, 3, 1, STAY, NONE, 5 ; person - object SPRITE_POKEDEX, 3, 3, STAY, NONE, 6 ; person + def_object_events + object_event 3, 5, SPRITE_SUPER_NERD, STAY, NONE, 1 ; person + object_event 6, 3, SPRITE_LITTLE_GIRL, STAY, DOWN, 2 ; person + object_event 6, 4, SPRITE_MONSTER, STAY, UP, 3 ; person + object_event 1, 3, SPRITE_MONSTER, STAY, NONE, 4 ; person + object_event 3, 1, SPRITE_MR_FUJI, STAY, NONE, 5 ; person + object_event 3, 3, SPRITE_POKEDEX, STAY, NONE, 6 ; person def_warps_to MR_FUJIS_HOUSE diff --git a/data/maps/objects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm index 44367b20..fcb8b95e 100644 --- a/data/maps/objects/MrPsychicsHouse.asm +++ b/data/maps/objects/MrPsychicsHouse.asm @@ -1,13 +1,13 @@ MrPsychicsHouse_Object: db $a ; border block - def_warps - warp 2, 7, 7, LAST_MAP - warp 3, 7, 7, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 7 + warp_event 3, 7, LAST_MAP, 7 - def_signs + def_bg_events - def_objects - object SPRITE_FISHING_GURU, 5, 3, STAY, LEFT, 1 ; person + def_object_events + object_event 5, 3, SPRITE_FISHING_GURU, STAY, LEFT, 1 ; person def_warps_to MR_PSYCHICS_HOUSE diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm index 8b40ac4f..4f72fcda 100644 --- a/data/maps/objects/MtMoon1F.asm +++ b/data/maps/objects/MtMoon1F.asm @@ -1,29 +1,29 @@ MtMoon1F_Object: db $3 ; border block - def_warps - warp 14, 35, 1, LAST_MAP - warp 15, 35, 1, LAST_MAP - warp 5, 5, 0, MT_MOON_B1F - warp 17, 11, 2, MT_MOON_B1F - warp 25, 15, 3, MT_MOON_B1F + def_warp_events + warp_event 14, 35, LAST_MAP, 1 + warp_event 15, 35, LAST_MAP, 1 + warp_event 5, 5, MT_MOON_B1F, 0 + warp_event 17, 11, MT_MOON_B1F, 2 + warp_event 25, 15, MT_MOON_B1F, 3 - def_signs - sign 15, 23, 14 ; MtMoon1Text14 + def_bg_events + bg_event 15, 23, 14 ; MtMoon1Text14 - def_objects - object SPRITE_HIKER, 5, 6, STAY, DOWN, 1, OPP_HIKER, 1 - object SPRITE_YOUNGSTER, 12, 16, STAY, RIGHT, 2, OPP_YOUNGSTER, 3 - object SPRITE_COOLTRAINER_F, 30, 4, STAY, DOWN, 3, OPP_LASS, 5 - object SPRITE_SUPER_NERD, 24, 31, STAY, UP, 4, OPP_SUPER_NERD, 1 - object SPRITE_COOLTRAINER_F, 16, 23, STAY, DOWN, 5, OPP_LASS, 6 - object SPRITE_YOUNGSTER, 7, 22, STAY, DOWN, 6, OPP_BUG_CATCHER, 7 - object SPRITE_YOUNGSTER, 30, 27, STAY, RIGHT, 7, OPP_BUG_CATCHER, 8 - object SPRITE_POKE_BALL, 2, 20, STAY, NONE, 8, POTION - object SPRITE_POKE_BALL, 2, 2, STAY, NONE, 9, MOON_STONE - object SPRITE_POKE_BALL, 35, 31, STAY, NONE, 10, RARE_CANDY - object SPRITE_POKE_BALL, 36, 23, STAY, NONE, 11, ESCAPE_ROPE - object SPRITE_POKE_BALL, 20, 33, STAY, NONE, 12, POTION - object SPRITE_POKE_BALL, 5, 32, STAY, NONE, 13, TM_WATER_GUN + def_object_events + object_event 5, 6, SPRITE_HIKER, STAY, DOWN, 1, OPP_HIKER, 1 + object_event 12, 16, SPRITE_YOUNGSTER, STAY, RIGHT, 2, OPP_YOUNGSTER, 3 + object_event 30, 4, SPRITE_COOLTRAINER_F, STAY, DOWN, 3, OPP_LASS, 5 + object_event 24, 31, SPRITE_SUPER_NERD, STAY, UP, 4, OPP_SUPER_NERD, 1 + object_event 16, 23, SPRITE_COOLTRAINER_F, STAY, DOWN, 5, OPP_LASS, 6 + object_event 7, 22, SPRITE_YOUNGSTER, STAY, DOWN, 6, OPP_BUG_CATCHER, 7 + object_event 30, 27, SPRITE_YOUNGSTER, STAY, RIGHT, 7, OPP_BUG_CATCHER, 8 + object_event 2, 20, SPRITE_POKE_BALL, STAY, NONE, 8, POTION + object_event 2, 2, SPRITE_POKE_BALL, STAY, NONE, 9, MOON_STONE + object_event 35, 31, SPRITE_POKE_BALL, STAY, NONE, 10, RARE_CANDY + object_event 36, 23, SPRITE_POKE_BALL, STAY, NONE, 11, ESCAPE_ROPE + object_event 20, 33, SPRITE_POKE_BALL, STAY, NONE, 12, POTION + object_event 5, 32, SPRITE_POKE_BALL, STAY, NONE, 13, TM_WATER_GUN def_warps_to MT_MOON_1F diff --git a/data/maps/objects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm index 69fa3c17..831618e9 100644 --- a/data/maps/objects/MtMoonB1F.asm +++ b/data/maps/objects/MtMoonB1F.asm @@ -1,18 +1,18 @@ MtMoonB1F_Object: db $3 ; border block - def_warps - warp 5, 5, 2, MT_MOON_1F - warp 17, 11, 0, MT_MOON_B2F - warp 25, 9, 3, MT_MOON_1F - warp 25, 15, 4, MT_MOON_1F - warp 21, 17, 1, MT_MOON_B2F - warp 13, 27, 2, MT_MOON_B2F - warp 23, 3, 3, MT_MOON_B2F - warp 27, 3, 2, LAST_MAP + def_warp_events + warp_event 5, 5, MT_MOON_1F, 2 + warp_event 17, 11, MT_MOON_B2F, 0 + warp_event 25, 9, MT_MOON_1F, 3 + warp_event 25, 15, MT_MOON_1F, 4 + warp_event 21, 17, MT_MOON_B2F, 1 + warp_event 13, 27, MT_MOON_B2F, 2 + warp_event 23, 3, MT_MOON_B2F, 3 + warp_event 27, 3, LAST_MAP, 2 - def_signs + def_bg_events - def_objects + def_object_events def_warps_to MT_MOON_B1F diff --git a/data/maps/objects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm index 7b2e7e5a..8fb91617 100644 --- a/data/maps/objects/MtMoonB2F.asm +++ b/data/maps/objects/MtMoonB2F.asm @@ -1,23 +1,23 @@ MtMoonB2F_Object: db $3 ; border block - def_warps - warp 25, 9, 1, MT_MOON_B1F - warp 21, 17, 4, MT_MOON_B1F - warp 15, 27, 5, MT_MOON_B1F - warp 5, 7, 6, MT_MOON_B1F + def_warp_events + warp_event 25, 9, MT_MOON_B1F, 1 + warp_event 21, 17, MT_MOON_B1F, 4 + warp_event 15, 27, MT_MOON_B1F, 5 + warp_event 5, 7, MT_MOON_B1F, 6 - def_signs + def_bg_events - def_objects - object SPRITE_SUPER_NERD, 12, 8, STAY, RIGHT, 1, OPP_SUPER_NERD, 2 - object SPRITE_ROCKET, 11, 16, STAY, DOWN, 2, OPP_ROCKET, 1 - object SPRITE_ROCKET, 15, 22, STAY, DOWN, 3, OPP_ROCKET, 2 - object SPRITE_ROCKET, 29, 11, STAY, UP, 4, OPP_ROCKET, 3 - object SPRITE_ROCKET, 29, 17, STAY, LEFT, 5, OPP_ROCKET, 4 - object SPRITE_FOSSIL, 12, 6, STAY, NONE, 6 ; person - object SPRITE_FOSSIL, 13, 6, STAY, NONE, 7 ; person - object SPRITE_POKE_BALL, 25, 21, STAY, NONE, 8, HP_UP - object SPRITE_POKE_BALL, 29, 5, STAY, NONE, 9, TM_MEGA_PUNCH + def_object_events + object_event 12, 8, SPRITE_SUPER_NERD, STAY, RIGHT, 1, OPP_SUPER_NERD, 2 + object_event 11, 16, SPRITE_ROCKET, STAY, DOWN, 2, OPP_ROCKET, 1 + object_event 15, 22, SPRITE_ROCKET, STAY, DOWN, 3, OPP_ROCKET, 2 + object_event 29, 11, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 3 + object_event 29, 17, SPRITE_ROCKET, STAY, LEFT, 5, OPP_ROCKET, 4 + object_event 12, 6, SPRITE_FOSSIL, STAY, NONE, 6 ; person + object_event 13, 6, SPRITE_FOSSIL, STAY, NONE, 7 ; person + object_event 25, 21, SPRITE_POKE_BALL, STAY, NONE, 8, HP_UP + object_event 29, 5, SPRITE_POKE_BALL, STAY, NONE, 9, TM_MEGA_PUNCH def_warps_to MT_MOON_B2F diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm index 5648de6e..189b1025 100644 --- a/data/maps/objects/MtMoonPokecenter.asm +++ b/data/maps/objects/MtMoonPokecenter.asm @@ -1,18 +1,18 @@ MtMoonPokecenter_Object: db $0 ; border block - def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 0 + warp_event 4, 7, LAST_MAP, 0 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_YOUNGSTER, 4, 3, STAY, UP, 2 ; person - object SPRITE_GENTLEMAN, 7, 3, STAY, UP, 3 ; person - object SPRITE_MIDDLE_AGED_MAN, 10, 6, WALK, LEFT_RIGHT, 4 ; person - object SPRITE_CLIPBOARD, 7, 2, STAY, NONE, 5 ; person - object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 6 ; person + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 4, 3, SPRITE_YOUNGSTER, STAY, UP, 2 ; person + object_event 7, 3, SPRITE_GENTLEMAN, STAY, UP, 3 ; person + object_event 10, 6, SPRITE_MIDDLE_AGED_MAN, WALK, LEFT_RIGHT, 4 ; person + object_event 7, 2, SPRITE_CLIPBOARD, STAY, NONE, 5 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 6 ; person def_warps_to MT_MOON_POKECENTER diff --git a/data/maps/objects/Museum1F.asm b/data/maps/objects/Museum1F.asm index 3628173c..4c6e7ebe 100644 --- a/data/maps/objects/Museum1F.asm +++ b/data/maps/objects/Museum1F.asm @@ -1,20 +1,20 @@ Museum1F_Object: db $a ; border block - def_warps - warp 10, 7, 0, LAST_MAP - warp 11, 7, 0, LAST_MAP - warp 16, 7, 1, LAST_MAP - warp 17, 7, 1, LAST_MAP - warp 7, 7, 0, MUSEUM_2F + def_warp_events + warp_event 10, 7, LAST_MAP, 0 + warp_event 11, 7, LAST_MAP, 0 + warp_event 16, 7, LAST_MAP, 1 + warp_event 17, 7, LAST_MAP, 1 + warp_event 7, 7, MUSEUM_2F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_SCIENTIST, 12, 4, STAY, LEFT, 1 ; person - object SPRITE_GAMBLER, 1, 4, STAY, NONE, 2 ; person - object SPRITE_SCIENTIST, 15, 2, STAY, DOWN, 3 ; person - object SPRITE_SCIENTIST, 17, 4, STAY, NONE, 4 ; person - object SPRITE_OLD_AMBER, 16, 2, STAY, NONE, 5 ; person + def_object_events + object_event 12, 4, SPRITE_SCIENTIST, STAY, LEFT, 1 ; person + object_event 1, 4, SPRITE_GAMBLER, STAY, NONE, 2 ; person + object_event 15, 2, SPRITE_SCIENTIST, STAY, DOWN, 3 ; person + object_event 17, 4, SPRITE_SCIENTIST, STAY, NONE, 4 ; person + object_event 16, 2, SPRITE_OLD_AMBER, STAY, NONE, 5 ; person def_warps_to MUSEUM_1F diff --git a/data/maps/objects/Museum2F.asm b/data/maps/objects/Museum2F.asm index 72f98f9b..8dcc229f 100644 --- a/data/maps/objects/Museum2F.asm +++ b/data/maps/objects/Museum2F.asm @@ -1,18 +1,18 @@ Museum2F_Object: db $a ; border block - def_warps - warp 7, 7, 4, MUSEUM_1F + def_warp_events + warp_event 7, 7, MUSEUM_1F, 4 - def_signs - sign 11, 2, 6 ; Museum2FText6 - sign 2, 5, 7 ; Museum2FText7 + def_bg_events + bg_event 11, 2, 6 ; Museum2FText6 + bg_event 2, 5, 7 ; Museum2FText7 - def_objects - object SPRITE_YOUNGSTER, 1, 7, WALK, LEFT_RIGHT, 1 ; person - object SPRITE_GRAMPS, 0, 5, STAY, DOWN, 2 ; person - object SPRITE_SCIENTIST, 7, 5, STAY, DOWN, 3 ; person - object SPRITE_BRUNETTE_GIRL, 11, 5, STAY, NONE, 4 ; person - object SPRITE_HIKER, 12, 5, STAY, DOWN, 5 ; person + def_object_events + object_event 1, 7, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person + object_event 0, 5, SPRITE_GRAMPS, STAY, DOWN, 2 ; person + object_event 7, 5, SPRITE_SCIENTIST, STAY, DOWN, 3 ; person + object_event 11, 5, SPRITE_BRUNETTE_GIRL, STAY, NONE, 4 ; person + object_event 12, 5, SPRITE_HIKER, STAY, DOWN, 5 ; person def_warps_to MUSEUM_2F diff --git a/data/maps/objects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm index 935a6887..b712a1d9 100644 --- a/data/maps/objects/NameRatersHouse.asm +++ b/data/maps/objects/NameRatersHouse.asm @@ -1,13 +1,13 @@ NameRatersHouse_Object: db $a ; border block - def_warps - warp 2, 7, 5, LAST_MAP - warp 3, 7, 5, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 5 + warp_event 3, 7, LAST_MAP, 5 - def_signs + def_bg_events - def_objects - object SPRITE_SILPH_PRESIDENT, 5, 3, STAY, LEFT, 1 ; person + def_object_events + object_event 5, 3, SPRITE_SILPH_PRESIDENT, STAY, LEFT, 1 ; person def_warps_to NAME_RATERS_HOUSE diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index e7f3701c..e24eb3c8 100644 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -1,23 +1,23 @@ OaksLab_Object: db $3 ; border block - def_warps - warp 4, 11, 2, LAST_MAP - warp 5, 11, 2, LAST_MAP + def_warp_events + warp_event 4, 11, LAST_MAP, 2 + warp_event 5, 11, LAST_MAP, 2 - def_signs + def_bg_events - def_objects - object SPRITE_BLUE, 4, 3, STAY, NONE, 1, OPP_RIVAL1, 1 - object SPRITE_POKE_BALL, 6, 3, STAY, NONE, 2 ; person - object SPRITE_POKE_BALL, 7, 3, STAY, NONE, 3 ; person - object SPRITE_POKE_BALL, 8, 3, STAY, NONE, 4 ; person - object SPRITE_OAK, 5, 2, STAY, DOWN, 5 ; person - object SPRITE_POKEDEX, 2, 1, STAY, NONE, 6 ; person - object SPRITE_POKEDEX, 3, 1, STAY, NONE, 7 ; person - object SPRITE_OAK, 5, 10, STAY, UP, 8 ; person - object SPRITE_GIRL, 1, 9, WALK, UP_DOWN, 9 ; person - object SPRITE_SCIENTIST, 2, 10, STAY, NONE, 10 ; person - object SPRITE_SCIENTIST, 8, 10, STAY, NONE, 11 ; person + def_object_events + object_event 4, 3, SPRITE_BLUE, STAY, NONE, 1, OPP_RIVAL1, 1 + object_event 6, 3, SPRITE_POKE_BALL, STAY, NONE, 2 ; person + object_event 7, 3, SPRITE_POKE_BALL, STAY, NONE, 3 ; person + object_event 8, 3, SPRITE_POKE_BALL, STAY, NONE, 4 ; person + object_event 5, 2, SPRITE_OAK, STAY, DOWN, 5 ; person + object_event 2, 1, SPRITE_POKEDEX, STAY, NONE, 6 ; person + object_event 3, 1, SPRITE_POKEDEX, STAY, NONE, 7 ; person + object_event 5, 10, SPRITE_OAK, STAY, UP, 8 ; person + object_event 1, 9, SPRITE_GIRL, WALK, UP_DOWN, 9 ; person + object_event 2, 10, SPRITE_SCIENTIST, STAY, NONE, 10 ; person + object_event 8, 10, SPRITE_SCIENTIST, STAY, NONE, 11 ; person def_warps_to OAKS_LAB diff --git a/data/maps/objects/PalletTown.asm b/data/maps/objects/PalletTown.asm index d362b2c9..7c3641cd 100644 --- a/data/maps/objects/PalletTown.asm +++ b/data/maps/objects/PalletTown.asm @@ -1,20 +1,20 @@ PalletTown_Object: db $b ; border block - def_warps - warp 5, 5, 0, REDS_HOUSE_1F - warp 13, 5, 0, BLUES_HOUSE - warp 12, 11, 1, OAKS_LAB + def_warp_events + warp_event 5, 5, REDS_HOUSE_1F, 0 + warp_event 13, 5, BLUES_HOUSE, 0 + warp_event 12, 11, OAKS_LAB, 1 - def_signs - sign 13, 13, 4 ; PalletTownText4 - sign 7, 9, 5 ; PalletTownText5 - sign 3, 5, 6 ; PalletTownText6 - sign 11, 5, 7 ; PalletTownText7 + def_bg_events + bg_event 13, 13, 4 ; PalletTownText4 + bg_event 7, 9, 5 ; PalletTownText5 + bg_event 3, 5, 6 ; PalletTownText6 + bg_event 11, 5, 7 ; PalletTownText7 - def_objects - object SPRITE_OAK, 8, 5, STAY, NONE, 1 ; person - object SPRITE_GIRL, 3, 8, WALK, ANY_DIR, 2 ; person - object SPRITE_FISHER, 11, 14, WALK, ANY_DIR, 3 ; person + def_object_events + object_event 8, 5, SPRITE_OAK, STAY, NONE, 1 ; person + object_event 3, 8, SPRITE_GIRL, WALK, ANY_DIR, 2 ; person + object_event 11, 14, SPRITE_FISHER, WALK, ANY_DIR, 3 ; person def_warps_to PALLET_TOWN diff --git a/data/maps/objects/PewterCity.asm b/data/maps/objects/PewterCity.asm index 13d228f2..0ae84c0f 100644 --- a/data/maps/objects/PewterCity.asm +++ b/data/maps/objects/PewterCity.asm @@ -1,29 +1,29 @@ PewterCity_Object: db $a ; border block - def_warps - warp 14, 7, 0, MUSEUM_1F - warp 19, 5, 2, MUSEUM_1F - warp 16, 17, 0, PEWTER_GYM - warp 29, 13, 0, PEWTER_NIDORAN_HOUSE - warp 23, 17, 0, PEWTER_MART - warp 7, 29, 0, PEWTER_SPEECH_HOUSE - warp 13, 25, 0, PEWTER_POKECENTER + def_warp_events + warp_event 14, 7, MUSEUM_1F, 0 + warp_event 19, 5, MUSEUM_1F, 2 + warp_event 16, 17, PEWTER_GYM, 0 + warp_event 29, 13, PEWTER_NIDORAN_HOUSE, 0 + warp_event 23, 17, PEWTER_MART, 0 + warp_event 7, 29, PEWTER_SPEECH_HOUSE, 0 + warp_event 13, 25, PEWTER_POKECENTER, 0 - def_signs - sign 19, 29, 6 ; PewterCityText6 - sign 33, 19, 7 ; PewterCityText7 - sign 24, 17, 8 ; MartSignText - sign 14, 25, 9 ; PokeCenterSignText - sign 15, 9, 10 ; PewterCityText10 - sign 11, 17, 11 ; PewterCityText11 - sign 25, 23, 12 ; PewterCityText12 + def_bg_events + bg_event 19, 29, 6 ; PewterCityText6 + bg_event 33, 19, 7 ; PewterCityText7 + bg_event 24, 17, 8 ; MartSignText + bg_event 14, 25, 9 ; PokeCenterSignText + bg_event 15, 9, 10 ; PewterCityText10 + bg_event 11, 17, 11 ; PewterCityText11 + bg_event 25, 23, 12 ; PewterCityText12 - def_objects - object SPRITE_COOLTRAINER_F, 8, 15, STAY, NONE, 1 ; person - object SPRITE_COOLTRAINER_M, 17, 25, STAY, NONE, 2 ; person - object SPRITE_SUPER_NERD, 27, 17, STAY, NONE, 3 ; person - object SPRITE_SUPER_NERD, 26, 25, WALK, LEFT_RIGHT, 4 ; person - object SPRITE_YOUNGSTER, 35, 16, STAY, DOWN, 5 ; person + def_object_events + object_event 8, 15, SPRITE_COOLTRAINER_F, STAY, NONE, 1 ; person + object_event 17, 25, SPRITE_COOLTRAINER_M, STAY, NONE, 2 ; person + object_event 27, 17, SPRITE_SUPER_NERD, STAY, NONE, 3 ; person + object_event 26, 25, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 4 ; person + object_event 35, 16, SPRITE_YOUNGSTER, STAY, DOWN, 5 ; person def_warps_to PEWTER_CITY diff --git a/data/maps/objects/PewterGym.asm b/data/maps/objects/PewterGym.asm index 9c21701a..2e3fb6ed 100644 --- a/data/maps/objects/PewterGym.asm +++ b/data/maps/objects/PewterGym.asm @@ -1,15 +1,15 @@ PewterGym_Object: db $3 ; border block - def_warps - warp 4, 13, 2, LAST_MAP - warp 5, 13, 2, LAST_MAP + def_warp_events + warp_event 4, 13, LAST_MAP, 2 + warp_event 5, 13, LAST_MAP, 2 - def_signs + def_bg_events - def_objects - object SPRITE_SUPER_NERD, 4, 1, STAY, DOWN, 1, OPP_BROCK, 1 - object SPRITE_COOLTRAINER_M, 3, 6, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1 - object SPRITE_GYM_GUIDE, 7, 10, STAY, DOWN, 3 ; person + def_object_events + object_event 4, 1, SPRITE_SUPER_NERD, STAY, DOWN, 1, OPP_BROCK, 1 + object_event 3, 6, SPRITE_COOLTRAINER_M, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1 + object_event 7, 10, SPRITE_GYM_GUIDE, STAY, DOWN, 3 ; person def_warps_to PEWTER_GYM diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm index 9685d5c7..d76e846c 100644 --- a/data/maps/objects/PewterMart.asm +++ b/data/maps/objects/PewterMart.asm @@ -1,15 +1,15 @@ PewterMart_Object: db $0 ; border block - def_warps - warp 3, 7, 4, LAST_MAP - warp 4, 7, 4, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 4 + warp_event 4, 7, LAST_MAP, 4 - def_signs + def_bg_events - def_objects - object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_YOUNGSTER, 3, 3, WALK, UP_DOWN, 2 ; person - object SPRITE_SUPER_NERD, 5, 5, STAY, NONE, 3 ; person + def_object_events + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 3, 3, SPRITE_YOUNGSTER, WALK, UP_DOWN, 2 ; person + object_event 5, 5, SPRITE_SUPER_NERD, STAY, NONE, 3 ; person def_warps_to PEWTER_MART diff --git a/data/maps/objects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm index b1fd0a74..79cec7a8 100644 --- a/data/maps/objects/PewterNidoranHouse.asm +++ b/data/maps/objects/PewterNidoranHouse.asm @@ -1,15 +1,15 @@ PewterNidoranHouse_Object: db $a ; border block - def_warps - warp 2, 7, 3, LAST_MAP - warp 3, 7, 3, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 3 + warp_event 3, 7, LAST_MAP, 3 - def_signs + def_bg_events - def_objects - object SPRITE_MONSTER, 4, 5, STAY, LEFT, 1 ; person - object SPRITE_LITTLE_BOY, 3, 5, STAY, RIGHT, 2 ; person - object SPRITE_MIDDLE_AGED_MAN, 1, 2, STAY, NONE, 3 ; person + def_object_events + object_event 4, 5, SPRITE_MONSTER, STAY, LEFT, 1 ; person + object_event 3, 5, SPRITE_LITTLE_BOY, STAY, RIGHT, 2 ; person + object_event 1, 2, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 3 ; person def_warps_to PEWTER_NIDORAN_HOUSE diff --git a/data/maps/objects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm index 8d41a155..0da86e9b 100644 --- a/data/maps/objects/PewterPokecenter.asm +++ b/data/maps/objects/PewterPokecenter.asm @@ -1,16 +1,16 @@ PewterPokecenter_Object: db $0 ; border block - def_warps - warp 3, 7, 6, LAST_MAP - warp 4, 7, 6, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 6 + warp_event 4, 7, LAST_MAP, 6 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 11, 7, STAY, LEFT, 2 ; person - object SPRITE_FAIRY, 1, 3, STAY, DOWN, 3 ; person - object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 11, 7, SPRITE_GENTLEMAN, STAY, LEFT, 2 ; person + object_event 1, 3, SPRITE_FAIRY, STAY, DOWN, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to PEWTER_POKECENTER diff --git a/data/maps/objects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm index 4dafb7be..16e73cd8 100644 --- a/data/maps/objects/PewterSpeechHouse.asm +++ b/data/maps/objects/PewterSpeechHouse.asm @@ -1,14 +1,14 @@ PewterSpeechHouse_Object: db $a ; border block - def_warps - warp 2, 7, 5, LAST_MAP - warp 3, 7, 5, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 5 + warp_event 3, 7, LAST_MAP, 5 - def_signs + def_bg_events - def_objects - object SPRITE_GAMBLER, 2, 3, STAY, RIGHT, 1 ; person - object SPRITE_YOUNGSTER, 4, 5, STAY, NONE, 2 ; person + def_object_events + object_event 2, 3, SPRITE_GAMBLER, STAY, RIGHT, 1 ; person + object_event 4, 5, SPRITE_YOUNGSTER, STAY, NONE, 2 ; person def_warps_to PEWTER_SPEECH_HOUSE diff --git a/data/maps/objects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm index 19fbb129..e845a083 100644 --- a/data/maps/objects/PokemonFanClub.asm +++ b/data/maps/objects/PokemonFanClub.asm @@ -1,20 +1,20 @@ PokemonFanClub_Object: db $d ; border block - def_warps - warp 2, 7, 1, LAST_MAP - warp 3, 7, 1, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 1 + warp_event 3, 7, LAST_MAP, 1 - def_signs - sign 1, 0, 7 ; FanClubText7 - sign 6, 0, 8 ; FanClubText8 + def_bg_events + bg_event 1, 0, 7 ; FanClubText7 + bg_event 6, 0, 8 ; FanClubText8 - def_objects - object SPRITE_FISHER, 6, 3, STAY, LEFT, 1 ; person - object SPRITE_GIRL, 1, 3, STAY, RIGHT, 2 ; person - object SPRITE_FAIRY, 6, 4, STAY, LEFT, 3 ; person - object SPRITE_SEEL, 1, 4, STAY, RIGHT, 4 ; person - object SPRITE_GENTLEMAN, 3, 1, STAY, DOWN, 5 ; person - object SPRITE_LINK_RECEPTIONIST, 5, 1, STAY, DOWN, 6 ; person + def_object_events + object_event 6, 3, SPRITE_FISHER, STAY, LEFT, 1 ; person + object_event 1, 3, SPRITE_GIRL, STAY, RIGHT, 2 ; person + object_event 6, 4, SPRITE_FAIRY, STAY, LEFT, 3 ; person + object_event 1, 4, SPRITE_SEEL, STAY, RIGHT, 4 ; person + object_event 3, 1, SPRITE_GENTLEMAN, STAY, DOWN, 5 ; person + object_event 5, 1, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 6 ; person def_warps_to POKEMON_FAN_CLUB diff --git a/data/maps/objects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm index 70eef1a1..a6ef0ecb 100644 --- a/data/maps/objects/PokemonMansion1F.asm +++ b/data/maps/objects/PokemonMansion1F.asm @@ -1,21 +1,21 @@ PokemonMansion1F_Object: db $2e ; border block - def_warps - warp 4, 27, 0, LAST_MAP - warp 5, 27, 0, LAST_MAP - warp 6, 27, 0, LAST_MAP - warp 7, 27, 0, LAST_MAP - warp 5, 10, 0, POKEMON_MANSION_2F - warp 21, 23, 0, POKEMON_MANSION_B1F - warp 26, 27, 0, LAST_MAP - warp 27, 27, 0, LAST_MAP + def_warp_events + warp_event 4, 27, LAST_MAP, 0 + warp_event 5, 27, LAST_MAP, 0 + warp_event 6, 27, LAST_MAP, 0 + warp_event 7, 27, LAST_MAP, 0 + warp_event 5, 10, POKEMON_MANSION_2F, 0 + warp_event 21, 23, POKEMON_MANSION_B1F, 0 + warp_event 26, 27, LAST_MAP, 0 + warp_event 27, 27, LAST_MAP, 0 - def_signs + def_bg_events - def_objects - object SPRITE_SCIENTIST, 17, 17, STAY, LEFT, 1, OPP_SCIENTIST, 4 - object SPRITE_POKE_BALL, 14, 3, STAY, NONE, 2, ESCAPE_ROPE - object SPRITE_POKE_BALL, 18, 21, STAY, NONE, 3, CARBOS + def_object_events + object_event 17, 17, SPRITE_SCIENTIST, STAY, LEFT, 1, OPP_SCIENTIST, 4 + object_event 14, 3, SPRITE_POKE_BALL, STAY, NONE, 2, ESCAPE_ROPE + object_event 18, 21, SPRITE_POKE_BALL, STAY, NONE, 3, CARBOS def_warps_to POKEMON_MANSION_1F diff --git a/data/maps/objects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm index 8d504eef..4b59a896 100644 --- a/data/maps/objects/PokemonMansion2F.asm +++ b/data/maps/objects/PokemonMansion2F.asm @@ -1,18 +1,18 @@ PokemonMansion2F_Object: db $1 ; border block - def_warps - warp 5, 10, 4, POKEMON_MANSION_1F - warp 7, 10, 0, POKEMON_MANSION_3F - warp 25, 14, 2, POKEMON_MANSION_3F - warp 6, 1, 1, POKEMON_MANSION_3F + def_warp_events + warp_event 5, 10, POKEMON_MANSION_1F, 4 + warp_event 7, 10, POKEMON_MANSION_3F, 0 + warp_event 25, 14, POKEMON_MANSION_3F, 2 + warp_event 6, 1, POKEMON_MANSION_3F, 1 - def_signs + def_bg_events - def_objects - object SPRITE_SUPER_NERD, 3, 17, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 7 - object SPRITE_POKE_BALL, 28, 7, STAY, NONE, 2, CALCIUM - object SPRITE_POKEDEX, 18, 2, STAY, NONE, 3 ; person - object SPRITE_POKEDEX, 3, 22, STAY, NONE, 4 ; person + def_object_events + object_event 3, 17, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 7 + object_event 28, 7, SPRITE_POKE_BALL, STAY, NONE, 2, CALCIUM + object_event 18, 2, SPRITE_POKEDEX, STAY, NONE, 3 ; person + object_event 3, 22, SPRITE_POKEDEX, STAY, NONE, 4 ; person def_warps_to POKEMON_MANSION_2F diff --git a/data/maps/objects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm index fdf16a8d..7cb94a3e 100644 --- a/data/maps/objects/PokemonMansion3F.asm +++ b/data/maps/objects/PokemonMansion3F.asm @@ -1,18 +1,18 @@ PokemonMansion3F_Object: db $1 ; border block - def_warps - warp 7, 10, 1, POKEMON_MANSION_2F - warp 6, 1, 3, POKEMON_MANSION_2F - warp 25, 14, 2, POKEMON_MANSION_2F + def_warp_events + warp_event 7, 10, POKEMON_MANSION_2F, 1 + warp_event 6, 1, POKEMON_MANSION_2F, 3 + warp_event 25, 14, POKEMON_MANSION_2F, 2 - def_signs + def_bg_events - def_objects - object SPRITE_SUPER_NERD, 5, 11, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 8 - object SPRITE_SCIENTIST, 20, 11, STAY, LEFT, 2, OPP_SCIENTIST, 12 - object SPRITE_POKE_BALL, 1, 16, STAY, NONE, 3, MAX_POTION - object SPRITE_POKE_BALL, 25, 5, STAY, NONE, 4, IRON - object SPRITE_POKEDEX, 6, 12, STAY, NONE, 5 ; person + def_object_events + object_event 5, 11, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 8 + object_event 20, 11, SPRITE_SCIENTIST, STAY, LEFT, 2, OPP_SCIENTIST, 12 + object_event 1, 16, SPRITE_POKE_BALL, STAY, NONE, 3, MAX_POTION + object_event 25, 5, SPRITE_POKE_BALL, STAY, NONE, 4, IRON + object_event 6, 12, SPRITE_POKEDEX, STAY, NONE, 5 ; person def_warps_to POKEMON_MANSION_3F diff --git a/data/maps/objects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm index bf0ea0a4..cd5d6763 100644 --- a/data/maps/objects/PokemonMansionB1F.asm +++ b/data/maps/objects/PokemonMansionB1F.asm @@ -1,19 +1,19 @@ PokemonMansionB1F_Object: db $1 ; border block - def_warps - warp 23, 22, 5, POKEMON_MANSION_1F + def_warp_events + warp_event 23, 22, POKEMON_MANSION_1F, 5 - def_signs + def_bg_events - def_objects - object SPRITE_SUPER_NERD, 16, 23, STAY, NONE, 1, OPP_BURGLAR, 9 - object SPRITE_SCIENTIST, 27, 11, STAY, DOWN, 2, OPP_SCIENTIST, 13 - object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 3, RARE_CANDY - object SPRITE_POKE_BALL, 1, 22, STAY, NONE, 4, FULL_RESTORE - object SPRITE_POKE_BALL, 19, 25, STAY, NONE, 5, TM_BLIZZARD - object SPRITE_POKE_BALL, 5, 4, STAY, NONE, 6, TM_SOLARBEAM - object SPRITE_POKEDEX, 16, 20, STAY, NONE, 7 ; person - object SPRITE_POKE_BALL, 5, 13, STAY, NONE, 8, SECRET_KEY + def_object_events + object_event 16, 23, SPRITE_SUPER_NERD, STAY, NONE, 1, OPP_BURGLAR, 9 + object_event 27, 11, SPRITE_SCIENTIST, STAY, DOWN, 2, OPP_SCIENTIST, 13 + object_event 10, 2, SPRITE_POKE_BALL, STAY, NONE, 3, RARE_CANDY + object_event 1, 22, SPRITE_POKE_BALL, STAY, NONE, 4, FULL_RESTORE + object_event 19, 25, SPRITE_POKE_BALL, STAY, NONE, 5, TM_BLIZZARD + object_event 5, 4, SPRITE_POKE_BALL, STAY, NONE, 6, TM_SOLARBEAM + object_event 16, 20, SPRITE_POKEDEX, STAY, NONE, 7 ; person + object_event 5, 13, SPRITE_POKE_BALL, STAY, NONE, 8, SECRET_KEY def_warps_to POKEMON_MANSION_B1F diff --git a/data/maps/objects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm index b73c7562..109ffd50 100644 --- a/data/maps/objects/PokemonTower1F.asm +++ b/data/maps/objects/PokemonTower1F.asm @@ -1,18 +1,18 @@ PokemonTower1F_Object: db $1 ; border block - def_warps - warp 10, 17, 1, LAST_MAP - warp 11, 17, 1, LAST_MAP - warp 18, 9, 1, POKEMON_TOWER_2F + def_warp_events + warp_event 10, 17, LAST_MAP, 1 + warp_event 11, 17, LAST_MAP, 1 + warp_event 18, 9, POKEMON_TOWER_2F, 1 - def_signs + def_bg_events - def_objects - object SPRITE_LINK_RECEPTIONIST, 15, 13, STAY, UP, 1 ; person - object SPRITE_MIDDLE_AGED_WOMAN, 6, 8, STAY, NONE, 2 ; person - object SPRITE_BALDING_GUY, 8, 12, STAY, NONE, 3 ; person - object SPRITE_GIRL, 13, 7, STAY, NONE, 4 ; person - object SPRITE_CHANNELER, 17, 7, STAY, LEFT, 5 ; person + def_object_events + object_event 15, 13, SPRITE_LINK_RECEPTIONIST, STAY, UP, 1 ; person + object_event 6, 8, SPRITE_MIDDLE_AGED_WOMAN, STAY, NONE, 2 ; person + object_event 8, 12, SPRITE_BALDING_GUY, STAY, NONE, 3 ; person + object_event 13, 7, SPRITE_GIRL, STAY, NONE, 4 ; person + object_event 17, 7, SPRITE_CHANNELER, STAY, LEFT, 5 ; person def_warps_to POKEMON_TOWER_1F diff --git a/data/maps/objects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm index 27bd2f1b..c569e4d7 100644 --- a/data/maps/objects/PokemonTower2F.asm +++ b/data/maps/objects/PokemonTower2F.asm @@ -1,14 +1,14 @@ PokemonTower2F_Object: db $1 ; border block - def_warps - warp 3, 9, 0, POKEMON_TOWER_3F - warp 18, 9, 2, POKEMON_TOWER_1F + def_warp_events + warp_event 3, 9, POKEMON_TOWER_3F, 0 + warp_event 18, 9, POKEMON_TOWER_1F, 2 - def_signs + def_bg_events - def_objects - object SPRITE_BLUE, 14, 5, STAY, NONE, 1 ; person - object SPRITE_CHANNELER, 3, 7, STAY, RIGHT, 2 ; person + def_object_events + object_event 14, 5, SPRITE_BLUE, STAY, NONE, 1 ; person + object_event 3, 7, SPRITE_CHANNELER, STAY, RIGHT, 2 ; person def_warps_to POKEMON_TOWER_2F diff --git a/data/maps/objects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm index af1b17dc..09c8719e 100644 --- a/data/maps/objects/PokemonTower3F.asm +++ b/data/maps/objects/PokemonTower3F.asm @@ -1,16 +1,16 @@ PokemonTower3F_Object: db $1 ; border block - def_warps - warp 3, 9, 0, POKEMON_TOWER_2F - warp 18, 9, 1, POKEMON_TOWER_4F + def_warp_events + warp_event 3, 9, POKEMON_TOWER_2F, 0 + warp_event 18, 9, POKEMON_TOWER_4F, 1 - def_signs + def_bg_events - def_objects - object SPRITE_CHANNELER, 12, 3, STAY, LEFT, 1, OPP_CHANNELER, 5 - object SPRITE_CHANNELER, 9, 8, STAY, DOWN, 2, OPP_CHANNELER, 6 - object SPRITE_CHANNELER, 10, 13, STAY, DOWN, 3, OPP_CHANNELER, 8 - object SPRITE_POKE_BALL, 12, 1, STAY, NONE, 4, ESCAPE_ROPE + def_object_events + object_event 12, 3, SPRITE_CHANNELER, STAY, LEFT, 1, OPP_CHANNELER, 5 + object_event 9, 8, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 6 + object_event 10, 13, SPRITE_CHANNELER, STAY, DOWN, 3, OPP_CHANNELER, 8 + object_event 12, 1, SPRITE_POKE_BALL, STAY, NONE, 4, ESCAPE_ROPE def_warps_to POKEMON_TOWER_3F diff --git a/data/maps/objects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm index 64801e23..7c762912 100644 --- a/data/maps/objects/PokemonTower4F.asm +++ b/data/maps/objects/PokemonTower4F.asm @@ -1,18 +1,18 @@ PokemonTower4F_Object: db $1 ; border block - def_warps - warp 3, 9, 0, POKEMON_TOWER_5F - warp 18, 9, 1, POKEMON_TOWER_3F + def_warp_events + warp_event 3, 9, POKEMON_TOWER_5F, 0 + warp_event 18, 9, POKEMON_TOWER_3F, 1 - def_signs + def_bg_events - def_objects - object SPRITE_CHANNELER, 5, 10, STAY, RIGHT, 1, OPP_CHANNELER, 9 - object SPRITE_CHANNELER, 15, 7, STAY, DOWN, 2, OPP_CHANNELER, 10 - object SPRITE_CHANNELER, 14, 12, STAY, LEFT, 3, OPP_CHANNELER, 12 - object SPRITE_POKE_BALL, 12, 10, STAY, NONE, 4, ELIXER - object SPRITE_POKE_BALL, 9, 10, STAY, NONE, 5, AWAKENING - object SPRITE_POKE_BALL, 12, 16, STAY, NONE, 6, HP_UP + def_object_events + object_event 5, 10, SPRITE_CHANNELER, STAY, RIGHT, 1, OPP_CHANNELER, 9 + object_event 15, 7, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 10 + object_event 14, 12, SPRITE_CHANNELER, STAY, LEFT, 3, OPP_CHANNELER, 12 + object_event 12, 10, SPRITE_POKE_BALL, STAY, NONE, 4, ELIXER + object_event 9, 10, SPRITE_POKE_BALL, STAY, NONE, 5, AWAKENING + object_event 12, 16, SPRITE_POKE_BALL, STAY, NONE, 6, HP_UP def_warps_to POKEMON_TOWER_4F diff --git a/data/maps/objects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm index 33482ed5..355ab587 100644 --- a/data/maps/objects/PokemonTower5F.asm +++ b/data/maps/objects/PokemonTower5F.asm @@ -1,18 +1,18 @@ PokemonTower5F_Object: db $1 ; border block - def_warps - warp 3, 9, 0, POKEMON_TOWER_4F - warp 18, 9, 0, POKEMON_TOWER_6F + def_warp_events + warp_event 3, 9, POKEMON_TOWER_4F, 0 + warp_event 18, 9, POKEMON_TOWER_6F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_CHANNELER, 12, 8, STAY, NONE, 1 ; person - object SPRITE_CHANNELER, 17, 7, STAY, LEFT, 2, OPP_CHANNELER, 14 - object SPRITE_CHANNELER, 14, 3, STAY, LEFT, 3, OPP_CHANNELER, 16 - object SPRITE_CHANNELER, 6, 10, STAY, RIGHT, 4, OPP_CHANNELER, 17 - object SPRITE_CHANNELER, 9, 16, STAY, RIGHT, 5, OPP_CHANNELER, 18 - object SPRITE_POKE_BALL, 6, 14, STAY, NONE, 6, NUGGET + def_object_events + object_event 12, 8, SPRITE_CHANNELER, STAY, NONE, 1 ; person + object_event 17, 7, SPRITE_CHANNELER, STAY, LEFT, 2, OPP_CHANNELER, 14 + object_event 14, 3, SPRITE_CHANNELER, STAY, LEFT, 3, OPP_CHANNELER, 16 + object_event 6, 10, SPRITE_CHANNELER, STAY, RIGHT, 4, OPP_CHANNELER, 17 + object_event 9, 16, SPRITE_CHANNELER, STAY, RIGHT, 5, OPP_CHANNELER, 18 + object_event 6, 14, SPRITE_POKE_BALL, STAY, NONE, 6, NUGGET def_warps_to POKEMON_TOWER_5F diff --git a/data/maps/objects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm index 8e7b276c..c9c362c8 100644 --- a/data/maps/objects/PokemonTower6F.asm +++ b/data/maps/objects/PokemonTower6F.asm @@ -1,17 +1,17 @@ PokemonTower6F_Object: db $1 ; border block - def_warps - warp 18, 9, 1, POKEMON_TOWER_5F - warp 9, 16, 0, POKEMON_TOWER_7F + def_warp_events + warp_event 18, 9, POKEMON_TOWER_5F, 1 + warp_event 9, 16, POKEMON_TOWER_7F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_CHANNELER, 12, 10, STAY, RIGHT, 1, OPP_CHANNELER, 19 - object SPRITE_CHANNELER, 9, 5, STAY, DOWN, 2, OPP_CHANNELER, 20 - object SPRITE_CHANNELER, 16, 5, STAY, LEFT, 3, OPP_CHANNELER, 21 - object SPRITE_POKE_BALL, 6, 8, STAY, NONE, 4, RARE_CANDY - object SPRITE_POKE_BALL, 14, 14, STAY, NONE, 5, X_ACCURACY + def_object_events + object_event 12, 10, SPRITE_CHANNELER, STAY, RIGHT, 1, OPP_CHANNELER, 19 + object_event 9, 5, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 20 + object_event 16, 5, SPRITE_CHANNELER, STAY, LEFT, 3, OPP_CHANNELER, 21 + object_event 6, 8, SPRITE_POKE_BALL, STAY, NONE, 4, RARE_CANDY + object_event 14, 14, SPRITE_POKE_BALL, STAY, NONE, 5, X_ACCURACY def_warps_to POKEMON_TOWER_6F diff --git a/data/maps/objects/PokemonTower7F.asm b/data/maps/objects/PokemonTower7F.asm index 6d258f0d..a148936b 100644 --- a/data/maps/objects/PokemonTower7F.asm +++ b/data/maps/objects/PokemonTower7F.asm @@ -1,15 +1,15 @@ PokemonTower7F_Object: db $1 ; border block - def_warps - warp 9, 16, 1, POKEMON_TOWER_6F + def_warp_events + warp_event 9, 16, POKEMON_TOWER_6F, 1 - def_signs + def_bg_events - def_objects - object SPRITE_ROCKET, 9, 11, STAY, RIGHT, 1, OPP_ROCKET, 19 - object SPRITE_ROCKET, 12, 9, STAY, LEFT, 2, OPP_ROCKET, 20 - object SPRITE_ROCKET, 9, 7, STAY, RIGHT, 3, OPP_ROCKET, 21 - object SPRITE_MR_FUJI, 10, 3, STAY, DOWN, 4 ; person + def_object_events + object_event 9, 11, SPRITE_ROCKET, STAY, RIGHT, 1, OPP_ROCKET, 19 + object_event 12, 9, SPRITE_ROCKET, STAY, LEFT, 2, OPP_ROCKET, 20 + object_event 9, 7, SPRITE_ROCKET, STAY, RIGHT, 3, OPP_ROCKET, 21 + object_event 10, 3, SPRITE_MR_FUJI, STAY, DOWN, 4 ; person def_warps_to POKEMON_TOWER_7F diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm index 6802ce4f..083b801e 100644 --- a/data/maps/objects/PowerPlant.asm +++ b/data/maps/objects/PowerPlant.asm @@ -1,27 +1,27 @@ PowerPlant_Object: db $2e ; border block - def_warps - warp 4, 35, 3, LAST_MAP - warp 5, 35, 3, LAST_MAP - warp 0, 11, 3, LAST_MAP + def_warp_events + warp_event 4, 35, LAST_MAP, 3 + warp_event 5, 35, LAST_MAP, 3 + warp_event 0, 11, LAST_MAP, 3 - def_signs + def_bg_events - def_objects - object SPRITE_POKE_BALL, 9, 20, STAY, NONE, 1, VOLTORB, 40 - object SPRITE_POKE_BALL, 32, 18, STAY, NONE, 2, VOLTORB, 40 - object SPRITE_POKE_BALL, 21, 25, STAY, NONE, 3, VOLTORB, 40 - object SPRITE_POKE_BALL, 25, 18, STAY, NONE, 4, ELECTRODE, 43 - object SPRITE_POKE_BALL, 23, 34, STAY, NONE, 5, VOLTORB, 40 - object SPRITE_POKE_BALL, 26, 28, STAY, NONE, 6, VOLTORB, 40 - object SPRITE_POKE_BALL, 21, 14, STAY, NONE, 7, ELECTRODE, 43 - object SPRITE_POKE_BALL, 37, 32, STAY, NONE, 8, VOLTORB, 40 - object SPRITE_BIRD, 4, 9, STAY, UP, 9, ZAPDOS, 50 - object SPRITE_POKE_BALL, 7, 25, STAY, NONE, 10, CARBOS - object SPRITE_POKE_BALL, 28, 3, STAY, NONE, 11, HP_UP - object SPRITE_POKE_BALL, 34, 3, STAY, NONE, 12, RARE_CANDY - object SPRITE_POKE_BALL, 26, 32, STAY, NONE, 13, TM_THUNDER - object SPRITE_POKE_BALL, 20, 32, STAY, NONE, 14, TM_REFLECT + def_object_events + object_event 9, 20, SPRITE_POKE_BALL, STAY, NONE, 1, VOLTORB, 40 + object_event 32, 18, SPRITE_POKE_BALL, STAY, NONE, 2, VOLTORB, 40 + object_event 21, 25, SPRITE_POKE_BALL, STAY, NONE, 3, VOLTORB, 40 + object_event 25, 18, SPRITE_POKE_BALL, STAY, NONE, 4, ELECTRODE, 43 + object_event 23, 34, SPRITE_POKE_BALL, STAY, NONE, 5, VOLTORB, 40 + object_event 26, 28, SPRITE_POKE_BALL, STAY, NONE, 6, VOLTORB, 40 + object_event 21, 14, SPRITE_POKE_BALL, STAY, NONE, 7, ELECTRODE, 43 + object_event 37, 32, SPRITE_POKE_BALL, STAY, NONE, 8, VOLTORB, 40 + object_event 4, 9, SPRITE_BIRD, STAY, UP, 9, ZAPDOS, 50 + object_event 7, 25, SPRITE_POKE_BALL, STAY, NONE, 10, CARBOS + object_event 28, 3, SPRITE_POKE_BALL, STAY, NONE, 11, HP_UP + object_event 34, 3, SPRITE_POKE_BALL, STAY, NONE, 12, RARE_CANDY + object_event 26, 32, SPRITE_POKE_BALL, STAY, NONE, 13, TM_THUNDER + object_event 20, 32, SPRITE_POKE_BALL, STAY, NONE, 14, TM_REFLECT def_warps_to POWER_PLANT diff --git a/data/maps/objects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm index f7cd0819..6099eb5d 100644 --- a/data/maps/objects/RedsHouse1F.asm +++ b/data/maps/objects/RedsHouse1F.asm @@ -1,15 +1,15 @@ RedsHouse1F_Object: db $a ; border block - def_warps - warp 2, 7, 0, LAST_MAP ; exit1 - warp 3, 7, 0, LAST_MAP ; exit2 - warp 7, 1, 0, REDS_HOUSE_2F ; staircase + def_warp_events + warp_event 2, 7, LAST_MAP, 0 ; exit1 + warp_event 3, 7, LAST_MAP, 0 ; exit2 + warp_event 7, 1, REDS_HOUSE_2F, 0 ; staircase - def_signs - sign 3, 1, 2 ; TV + def_bg_events + bg_event 3, 1, 2 ; TV - def_objects - object SPRITE_MOM, 5, 4, STAY, LEFT, 1 ; Mom + def_object_events + object_event 5, 4, SPRITE_MOM, STAY, LEFT, 1 ; Mom def_warps_to REDS_HOUSE_1F diff --git a/data/maps/objects/RedsHouse2F.asm b/data/maps/objects/RedsHouse2F.asm index 826e68fd..0ffb23f3 100644 --- a/data/maps/objects/RedsHouse2F.asm +++ b/data/maps/objects/RedsHouse2F.asm @@ -1,11 +1,11 @@ RedsHouse2F_Object: db $a ; border block - def_warps - warp 7, 1, 2, REDS_HOUSE_1F + def_warp_events + warp_event 7, 1, REDS_HOUSE_1F, 2 - def_signs + def_bg_events - def_objects + def_object_events def_warps_to REDS_HOUSE_2F diff --git a/data/maps/objects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm index b3d4da48..2d3b0522 100644 --- a/data/maps/objects/RockTunnel1F.asm +++ b/data/maps/objects/RockTunnel1F.asm @@ -1,26 +1,26 @@ RockTunnel1F_Object: db $3 ; border block - def_warps - warp 15, 3, 1, LAST_MAP - warp 15, 0, 1, LAST_MAP - warp 15, 33, 2, LAST_MAP - warp 15, 35, 2, LAST_MAP - warp 37, 3, 0, ROCK_TUNNEL_B1F - warp 5, 3, 1, ROCK_TUNNEL_B1F - warp 17, 11, 2, ROCK_TUNNEL_B1F - warp 37, 17, 3, ROCK_TUNNEL_B1F + def_warp_events + warp_event 15, 3, LAST_MAP, 1 + warp_event 15, 0, LAST_MAP, 1 + warp_event 15, 33, LAST_MAP, 2 + warp_event 15, 35, LAST_MAP, 2 + warp_event 37, 3, ROCK_TUNNEL_B1F, 0 + warp_event 5, 3, ROCK_TUNNEL_B1F, 1 + warp_event 17, 11, ROCK_TUNNEL_B1F, 2 + warp_event 37, 17, ROCK_TUNNEL_B1F, 3 - def_signs - sign 11, 29, 8 ; RockTunnel1Text8 + def_bg_events + bg_event 11, 29, 8 ; RockTunnel1Text8 - def_objects - object SPRITE_HIKER, 7, 5, STAY, DOWN, 1, OPP_HIKER, 12 - object SPRITE_HIKER, 5, 16, STAY, DOWN, 2, OPP_HIKER, 13 - object SPRITE_HIKER, 17, 15, STAY, LEFT, 3, OPP_HIKER, 14 - object SPRITE_SUPER_NERD, 23, 8, STAY, LEFT, 4, OPP_POKEMANIAC, 7 - object SPRITE_COOLTRAINER_F, 37, 21, STAY, LEFT, 5, OPP_JR_TRAINER_F, 17 - object SPRITE_COOLTRAINER_F, 22, 24, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18 - object SPRITE_COOLTRAINER_F, 32, 24, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19 + def_object_events + object_event 7, 5, SPRITE_HIKER, STAY, DOWN, 1, OPP_HIKER, 12 + object_event 5, 16, SPRITE_HIKER, STAY, DOWN, 2, OPP_HIKER, 13 + object_event 17, 15, SPRITE_HIKER, STAY, LEFT, 3, OPP_HIKER, 14 + object_event 23, 8, SPRITE_SUPER_NERD, STAY, LEFT, 4, OPP_POKEMANIAC, 7 + object_event 37, 21, SPRITE_COOLTRAINER_F, STAY, LEFT, 5, OPP_JR_TRAINER_F, 17 + object_event 22, 24, SPRITE_COOLTRAINER_F, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18 + object_event 32, 24, SPRITE_COOLTRAINER_F, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19 def_warps_to ROCK_TUNNEL_1F diff --git a/data/maps/objects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm index 3fadaa5b..82f6ae83 100644 --- a/data/maps/objects/RockTunnelB1F.asm +++ b/data/maps/objects/RockTunnelB1F.asm @@ -1,22 +1,22 @@ RockTunnelB1F_Object: db $3 ; border block - def_warps - warp 33, 25, 4, ROCK_TUNNEL_1F - warp 27, 3, 5, ROCK_TUNNEL_1F - warp 23, 11, 6, ROCK_TUNNEL_1F - warp 3, 3, 7, ROCK_TUNNEL_1F + def_warp_events + warp_event 33, 25, ROCK_TUNNEL_1F, 4 + warp_event 27, 3, ROCK_TUNNEL_1F, 5 + warp_event 23, 11, ROCK_TUNNEL_1F, 6 + warp_event 3, 3, ROCK_TUNNEL_1F, 7 - def_signs + def_bg_events - def_objects - object SPRITE_COOLTRAINER_F, 11, 13, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9 - object SPRITE_HIKER, 6, 10, STAY, DOWN, 2, OPP_HIKER, 9 - object SPRITE_SUPER_NERD, 3, 5, STAY, DOWN, 3, OPP_POKEMANIAC, 3 - object SPRITE_SUPER_NERD, 20, 21, STAY, RIGHT, 4, OPP_POKEMANIAC, 4 - object SPRITE_HIKER, 30, 10, STAY, DOWN, 5, OPP_HIKER, 10 - object SPRITE_COOLTRAINER_F, 14, 28, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10 - object SPRITE_HIKER, 33, 5, STAY, RIGHT, 7, OPP_HIKER, 11 - object SPRITE_SUPER_NERD, 26, 30, STAY, DOWN, 8, OPP_POKEMANIAC, 5 + def_object_events + object_event 11, 13, SPRITE_COOLTRAINER_F, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9 + object_event 6, 10, SPRITE_HIKER, STAY, DOWN, 2, OPP_HIKER, 9 + object_event 3, 5, SPRITE_SUPER_NERD, STAY, DOWN, 3, OPP_POKEMANIAC, 3 + object_event 20, 21, SPRITE_SUPER_NERD, STAY, RIGHT, 4, OPP_POKEMANIAC, 4 + object_event 30, 10, SPRITE_HIKER, STAY, DOWN, 5, OPP_HIKER, 10 + object_event 14, 28, SPRITE_COOLTRAINER_F, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10 + object_event 33, 5, SPRITE_HIKER, STAY, RIGHT, 7, OPP_HIKER, 11 + object_event 26, 30, SPRITE_SUPER_NERD, STAY, DOWN, 8, OPP_POKEMANIAC, 5 def_warps_to ROCK_TUNNEL_B1F diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm index 4f5a1906..738a791c 100644 --- a/data/maps/objects/RockTunnelPokecenter.asm +++ b/data/maps/objects/RockTunnelPokecenter.asm @@ -1,16 +1,16 @@ RockTunnelPokecenter_Object: db $0 ; border block - def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 0 + warp_event 4, 7, LAST_MAP, 0 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 7, 3, WALK, LEFT_RIGHT, 2 ; person - object SPRITE_FISHER, 2, 5, STAY, NONE, 3 ; person - object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 7, 3, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 2 ; person + object_event 2, 5, SPRITE_FISHER, STAY, NONE, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to ROCK_TUNNEL_POKECENTER diff --git a/data/maps/objects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm index 81049d63..f3d9fb79 100644 --- a/data/maps/objects/RocketHideoutB1F.asm +++ b/data/maps/objects/RocketHideoutB1F.asm @@ -1,22 +1,22 @@ RocketHideoutB1F_Object: db $2e ; border block - def_warps - warp 23, 2, 0, ROCKET_HIDEOUT_B2F - warp 21, 2, 2, GAME_CORNER - warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR - warp 21, 24, 3, ROCKET_HIDEOUT_B2F - warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR + def_warp_events + warp_event 23, 2, ROCKET_HIDEOUT_B2F, 0 + warp_event 21, 2, GAME_CORNER, 2 + warp_event 24, 19, ROCKET_HIDEOUT_ELEVATOR, 0 + warp_event 21, 24, ROCKET_HIDEOUT_B2F, 3 + warp_event 25, 19, ROCKET_HIDEOUT_ELEVATOR, 1 - def_signs + def_bg_events - def_objects - object SPRITE_ROCKET, 26, 8, STAY, LEFT, 1, OPP_ROCKET, 8 - object SPRITE_ROCKET, 12, 6, STAY, RIGHT, 2, OPP_ROCKET, 9 - object SPRITE_ROCKET, 18, 17, STAY, DOWN, 3, OPP_ROCKET, 10 - object SPRITE_ROCKET, 15, 25, STAY, RIGHT, 4, OPP_ROCKET, 11 - object SPRITE_ROCKET, 28, 18, STAY, LEFT, 5, OPP_ROCKET, 12 - object SPRITE_POKE_BALL, 11, 14, STAY, NONE, 6, ESCAPE_ROPE - object SPRITE_POKE_BALL, 9, 17, STAY, NONE, 7, HYPER_POTION + def_object_events + object_event 26, 8, SPRITE_ROCKET, STAY, LEFT, 1, OPP_ROCKET, 8 + object_event 12, 6, SPRITE_ROCKET, STAY, RIGHT, 2, OPP_ROCKET, 9 + object_event 18, 17, SPRITE_ROCKET, STAY, DOWN, 3, OPP_ROCKET, 10 + object_event 15, 25, SPRITE_ROCKET, STAY, RIGHT, 4, OPP_ROCKET, 11 + object_event 28, 18, SPRITE_ROCKET, STAY, LEFT, 5, OPP_ROCKET, 12 + object_event 11, 14, SPRITE_POKE_BALL, STAY, NONE, 6, ESCAPE_ROPE + object_event 9, 17, SPRITE_POKE_BALL, STAY, NONE, 7, HYPER_POTION def_warps_to ROCKET_HIDEOUT_B1F diff --git a/data/maps/objects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm index f6ce5113..19a77d20 100644 --- a/data/maps/objects/RocketHideoutB2F.asm +++ b/data/maps/objects/RocketHideoutB2F.asm @@ -1,20 +1,20 @@ RocketHideoutB2F_Object: db $2e ; border block - def_warps - warp 27, 8, 0, ROCKET_HIDEOUT_B1F - warp 21, 8, 0, ROCKET_HIDEOUT_B3F - warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR - warp 21, 22, 3, ROCKET_HIDEOUT_B1F - warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR + def_warp_events + warp_event 27, 8, ROCKET_HIDEOUT_B1F, 0 + warp_event 21, 8, ROCKET_HIDEOUT_B3F, 0 + warp_event 24, 19, ROCKET_HIDEOUT_ELEVATOR, 0 + warp_event 21, 22, ROCKET_HIDEOUT_B1F, 3 + warp_event 25, 19, ROCKET_HIDEOUT_ELEVATOR, 1 - def_signs + def_bg_events - def_objects - object SPRITE_ROCKET, 20, 12, STAY, DOWN, 1, OPP_ROCKET, 13 - object SPRITE_POKE_BALL, 1, 11, STAY, NONE, 2, MOON_STONE - object SPRITE_POKE_BALL, 16, 8, STAY, NONE, 3, NUGGET - object SPRITE_POKE_BALL, 6, 12, STAY, NONE, 4, TM_HORN_DRILL - object SPRITE_POKE_BALL, 3, 21, STAY, NONE, 5, SUPER_POTION + def_object_events + object_event 20, 12, SPRITE_ROCKET, STAY, DOWN, 1, OPP_ROCKET, 13 + object_event 1, 11, SPRITE_POKE_BALL, STAY, NONE, 2, MOON_STONE + object_event 16, 8, SPRITE_POKE_BALL, STAY, NONE, 3, NUGGET + object_event 6, 12, SPRITE_POKE_BALL, STAY, NONE, 4, TM_HORN_DRILL + object_event 3, 21, SPRITE_POKE_BALL, STAY, NONE, 5, SUPER_POTION def_warps_to ROCKET_HIDEOUT_B2F diff --git a/data/maps/objects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm index 4cba5422..5d5f8320 100644 --- a/data/maps/objects/RocketHideoutB3F.asm +++ b/data/maps/objects/RocketHideoutB3F.asm @@ -1,16 +1,16 @@ RocketHideoutB3F_Object: db $2e ; border block - def_warps - warp 25, 6, 1, ROCKET_HIDEOUT_B2F - warp 19, 18, 0, ROCKET_HIDEOUT_B4F + def_warp_events + warp_event 25, 6, ROCKET_HIDEOUT_B2F, 1 + warp_event 19, 18, ROCKET_HIDEOUT_B4F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_ROCKET, 10, 22, STAY, RIGHT, 1, OPP_ROCKET, 14 - object SPRITE_ROCKET, 26, 12, STAY, UP, 2, OPP_ROCKET, 15 - object SPRITE_POKE_BALL, 26, 17, STAY, NONE, 3, TM_DOUBLE_EDGE - object SPRITE_POKE_BALL, 20, 14, STAY, NONE, 4, RARE_CANDY + def_object_events + object_event 10, 22, SPRITE_ROCKET, STAY, RIGHT, 1, OPP_ROCKET, 14 + object_event 26, 12, SPRITE_ROCKET, STAY, UP, 2, OPP_ROCKET, 15 + object_event 26, 17, SPRITE_POKE_BALL, STAY, NONE, 3, TM_DOUBLE_EDGE + object_event 20, 14, SPRITE_POKE_BALL, STAY, NONE, 4, RARE_CANDY def_warps_to ROCKET_HIDEOUT_B3F diff --git a/data/maps/objects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm index 5dcf107f..e882e364 100644 --- a/data/maps/objects/RocketHideoutB4F.asm +++ b/data/maps/objects/RocketHideoutB4F.asm @@ -1,22 +1,22 @@ RocketHideoutB4F_Object: db $2e ; border block - def_warps - warp 19, 10, 1, ROCKET_HIDEOUT_B3F - warp 24, 15, 0, ROCKET_HIDEOUT_ELEVATOR - warp 25, 15, 1, ROCKET_HIDEOUT_ELEVATOR + def_warp_events + warp_event 19, 10, ROCKET_HIDEOUT_B3F, 1 + warp_event 24, 15, ROCKET_HIDEOUT_ELEVATOR, 0 + warp_event 25, 15, ROCKET_HIDEOUT_ELEVATOR, 1 - def_signs + def_bg_events - def_objects - object SPRITE_GIOVANNI, 25, 3, STAY, DOWN, 1, OPP_GIOVANNI, 1 - object SPRITE_ROCKET, 23, 12, STAY, DOWN, 2, OPP_ROCKET, 16 - object SPRITE_ROCKET, 26, 12, STAY, DOWN, 3, OPP_ROCKET, 17 - object SPRITE_ROCKET, 11, 2, STAY, DOWN, 4, OPP_ROCKET, 18 - object SPRITE_POKE_BALL, 10, 12, STAY, NONE, 5, HP_UP - object SPRITE_POKE_BALL, 9, 4, STAY, NONE, 6, TM_RAZOR_WIND - object SPRITE_POKE_BALL, 12, 20, STAY, NONE, 7, IRON - object SPRITE_POKE_BALL, 25, 2, STAY, NONE, 8, SILPH_SCOPE - object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 9, LIFT_KEY + def_object_events + object_event 25, 3, SPRITE_GIOVANNI, STAY, DOWN, 1, OPP_GIOVANNI, 1 + object_event 23, 12, SPRITE_ROCKET, STAY, DOWN, 2, OPP_ROCKET, 16 + object_event 26, 12, SPRITE_ROCKET, STAY, DOWN, 3, OPP_ROCKET, 17 + object_event 11, 2, SPRITE_ROCKET, STAY, DOWN, 4, OPP_ROCKET, 18 + object_event 10, 12, SPRITE_POKE_BALL, STAY, NONE, 5, HP_UP + object_event 9, 4, SPRITE_POKE_BALL, STAY, NONE, 6, TM_RAZOR_WIND + object_event 12, 20, SPRITE_POKE_BALL, STAY, NONE, 7, IRON + object_event 25, 2, SPRITE_POKE_BALL, STAY, NONE, 8, SILPH_SCOPE + object_event 10, 2, SPRITE_POKE_BALL, STAY, NONE, 9, LIFT_KEY def_warps_to ROCKET_HIDEOUT_B4F diff --git a/data/maps/objects/RocketHideoutElevator.asm b/data/maps/objects/RocketHideoutElevator.asm index 20ab4956..25c507f1 100644 --- a/data/maps/objects/RocketHideoutElevator.asm +++ b/data/maps/objects/RocketHideoutElevator.asm @@ -1,13 +1,13 @@ RocketHideoutElevator_Object: db $f ; border block - def_warps - warp 2, 1, 2, ROCKET_HIDEOUT_B1F - warp 3, 1, 4, ROCKET_HIDEOUT_B1F + def_warp_events + warp_event 2, 1, ROCKET_HIDEOUT_B1F, 2 + warp_event 3, 1, ROCKET_HIDEOUT_B1F, 4 - def_signs - sign 1, 1, 1 ; RocketHideoutElevatorText1 + def_bg_events + bg_event 1, 1, 1 ; RocketHideoutElevatorText1 - def_objects + def_object_events def_warps_to ROCKET_HIDEOUT_ELEVATOR diff --git a/data/maps/objects/Route1.asm b/data/maps/objects/Route1.asm index ee1b03a5..d7e2c751 100644 --- a/data/maps/objects/Route1.asm +++ b/data/maps/objects/Route1.asm @@ -1,14 +1,14 @@ Route1_Object: db $b ; border block - def_warps + def_warp_events - def_signs - sign 9, 27, 3 ; Route1Text3 + def_bg_events + bg_event 9, 27, 3 ; Route1Text3 - def_objects - object SPRITE_YOUNGSTER, 5, 24, WALK, UP_DOWN, 1 ; person - object SPRITE_YOUNGSTER, 15, 13, WALK, LEFT_RIGHT, 2 ; person + def_object_events + object_event 5, 24, SPRITE_YOUNGSTER, WALK, UP_DOWN, 1 ; person + object_event 15, 13, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 2 ; person def_warps_to ROUTE_1 diff --git a/data/maps/objects/Route10.asm b/data/maps/objects/Route10.asm index 54a0936e..80b27066 100644 --- a/data/maps/objects/Route10.asm +++ b/data/maps/objects/Route10.asm @@ -1,24 +1,24 @@ Route10_Object: db $2c ; border block - def_warps - warp 11, 19, 0, ROCK_TUNNEL_POKECENTER - warp 8, 17, 0, ROCK_TUNNEL_1F - warp 8, 53, 2, ROCK_TUNNEL_1F - warp 6, 39, 0, POWER_PLANT + def_warp_events + warp_event 11, 19, ROCK_TUNNEL_POKECENTER, 0 + warp_event 8, 17, ROCK_TUNNEL_1F, 0 + warp_event 8, 53, ROCK_TUNNEL_1F, 2 + warp_event 6, 39, POWER_PLANT, 0 - def_signs - sign 7, 19, 7 ; Route10Text7 - sign 12, 19, 8 ; PokeCenterSignText - sign 9, 55, 9 ; Route10Text9 - sign 5, 41, 10 ; Route10Text10 + def_bg_events + bg_event 7, 19, 7 ; Route10Text7 + bg_event 12, 19, 8 ; PokeCenterSignText + bg_event 9, 55, 9 ; Route10Text9 + bg_event 5, 41, 10 ; Route10Text10 - def_objects - object SPRITE_SUPER_NERD, 10, 44, STAY, LEFT, 1, OPP_POKEMANIAC, 1 - object SPRITE_HIKER, 3, 57, STAY, UP, 2, OPP_HIKER, 7 - object SPRITE_SUPER_NERD, 14, 64, STAY, LEFT, 3, OPP_POKEMANIAC, 2 - object SPRITE_COOLTRAINER_F, 7, 25, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7 - object SPRITE_HIKER, 3, 61, STAY, DOWN, 5, OPP_HIKER, 8 - object SPRITE_COOLTRAINER_F, 7, 54, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8 + def_object_events + object_event 10, 44, SPRITE_SUPER_NERD, STAY, LEFT, 1, OPP_POKEMANIAC, 1 + object_event 3, 57, SPRITE_HIKER, STAY, UP, 2, OPP_HIKER, 7 + object_event 14, 64, SPRITE_SUPER_NERD, STAY, LEFT, 3, OPP_POKEMANIAC, 2 + object_event 7, 25, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7 + object_event 3, 61, SPRITE_HIKER, STAY, DOWN, 5, OPP_HIKER, 8 + object_event 7, 54, SPRITE_COOLTRAINER_F, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8 def_warps_to ROUTE_10 diff --git a/data/maps/objects/Route11.asm b/data/maps/objects/Route11.asm index ce7d3490..18bf6977 100644 --- a/data/maps/objects/Route11.asm +++ b/data/maps/objects/Route11.asm @@ -1,26 +1,26 @@ Route11_Object: db $f ; border block - def_warps - warp 49, 8, 0, ROUTE_11_GATE_1F - warp 49, 9, 1, ROUTE_11_GATE_1F - warp 58, 8, 2, ROUTE_11_GATE_1F - warp 58, 9, 3, ROUTE_11_GATE_1F - warp 4, 5, 0, DIGLETTS_CAVE_ROUTE_11 + def_warp_events + warp_event 49, 8, ROUTE_11_GATE_1F, 0 + warp_event 49, 9, ROUTE_11_GATE_1F, 1 + warp_event 58, 8, ROUTE_11_GATE_1F, 2 + warp_event 58, 9, ROUTE_11_GATE_1F, 3 + warp_event 4, 5, DIGLETTS_CAVE_ROUTE_11, 0 - def_signs - sign 1, 5, 11 ; Route11Text11 + def_bg_events + bg_event 1, 5, 11 ; Route11Text11 - def_objects - object SPRITE_GAMBLER, 10, 14, STAY, DOWN, 1, OPP_GAMBLER, 1 - object SPRITE_GAMBLER, 26, 9, STAY, DOWN, 2, OPP_GAMBLER, 2 - object SPRITE_YOUNGSTER, 13, 5, STAY, LEFT, 3, OPP_YOUNGSTER, 9 - object SPRITE_SUPER_NERD, 36, 11, STAY, DOWN, 4, OPP_ENGINEER, 2 - object SPRITE_YOUNGSTER, 22, 4, STAY, UP, 5, OPP_YOUNGSTER, 10 - object SPRITE_GAMBLER, 45, 7, STAY, DOWN, 6, OPP_GAMBLER, 3 - object SPRITE_GAMBLER, 33, 3, STAY, UP, 7, OPP_GAMBLER, 4 - object SPRITE_YOUNGSTER, 43, 5, STAY, RIGHT, 8, OPP_YOUNGSTER, 11 - object SPRITE_SUPER_NERD, 45, 16, STAY, LEFT, 9, OPP_ENGINEER, 3 - object SPRITE_YOUNGSTER, 22, 12, STAY, UP, 10, OPP_YOUNGSTER, 12 + def_object_events + object_event 10, 14, SPRITE_GAMBLER, STAY, DOWN, 1, OPP_GAMBLER, 1 + object_event 26, 9, SPRITE_GAMBLER, STAY, DOWN, 2, OPP_GAMBLER, 2 + object_event 13, 5, SPRITE_YOUNGSTER, STAY, LEFT, 3, OPP_YOUNGSTER, 9 + object_event 36, 11, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_ENGINEER, 2 + object_event 22, 4, SPRITE_YOUNGSTER, STAY, UP, 5, OPP_YOUNGSTER, 10 + object_event 45, 7, SPRITE_GAMBLER, STAY, DOWN, 6, OPP_GAMBLER, 3 + object_event 33, 3, SPRITE_GAMBLER, STAY, UP, 7, OPP_GAMBLER, 4 + object_event 43, 5, SPRITE_YOUNGSTER, STAY, RIGHT, 8, OPP_YOUNGSTER, 11 + object_event 45, 16, SPRITE_SUPER_NERD, STAY, LEFT, 9, OPP_ENGINEER, 3 + object_event 22, 12, SPRITE_YOUNGSTER, STAY, UP, 10, OPP_YOUNGSTER, 12 def_warps_to ROUTE_11 diff --git a/data/maps/objects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm index d0c9c461..bfd9823d 100644 --- a/data/maps/objects/Route11Gate1F.asm +++ b/data/maps/objects/Route11Gate1F.asm @@ -1,16 +1,16 @@ Route11Gate1F_Object: db $a ; border block - def_warps - warp 0, 4, 0, LAST_MAP - warp 0, 5, 1, LAST_MAP - warp 7, 4, 2, LAST_MAP - warp 7, 5, 3, LAST_MAP - warp 6, 8, 0, ROUTE_11_GATE_2F + def_warp_events + warp_event 0, 4, LAST_MAP, 0 + warp_event 0, 5, LAST_MAP, 1 + warp_event 7, 4, LAST_MAP, 2 + warp_event 7, 5, LAST_MAP, 3 + warp_event 6, 8, ROUTE_11_GATE_2F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person + def_object_events + object_event 4, 1, SPRITE_GUARD, STAY, NONE, 1 ; person def_warps_to ROUTE_11_GATE_1F diff --git a/data/maps/objects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm index fa48409c..7dc52e2f 100644 --- a/data/maps/objects/Route11Gate2F.asm +++ b/data/maps/objects/Route11Gate2F.asm @@ -1,15 +1,15 @@ Route11Gate2F_Object: db $a ; border block - def_warps - warp 7, 7, 4, ROUTE_11_GATE_1F + def_warp_events + warp_event 7, 7, ROUTE_11_GATE_1F, 4 - def_signs - sign 1, 2, 3 ; Route11GateUpstairsText3 - sign 6, 2, 4 ; Route11GateUpstairsText4 + def_bg_events + bg_event 1, 2, 3 ; Route11GateUpstairsText3 + bg_event 6, 2, 4 ; Route11GateUpstairsText4 - def_objects - object SPRITE_YOUNGSTER, 4, 2, WALK, LEFT_RIGHT, 1 ; person - object SPRITE_SCIENTIST, 2, 6, STAY, NONE, 2 ; person + def_object_events + object_event 4, 2, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person + object_event 2, 6, SPRITE_SCIENTIST, STAY, NONE, 2 ; person def_warps_to ROUTE_11_GATE_2F diff --git a/data/maps/objects/Route12.asm b/data/maps/objects/Route12.asm index 22ac15e8..b4f76556 100644 --- a/data/maps/objects/Route12.asm +++ b/data/maps/objects/Route12.asm @@ -1,26 +1,26 @@ Route12_Object: db $43 ; border block - def_warps - warp 10, 15, 0, ROUTE_12_GATE_1F - warp 11, 15, 1, ROUTE_12_GATE_1F - warp 10, 21, 2, ROUTE_12_GATE_1F - warp 11, 77, 0, ROUTE_12_SUPER_ROD_HOUSE + def_warp_events + warp_event 10, 15, ROUTE_12_GATE_1F, 0 + warp_event 11, 15, ROUTE_12_GATE_1F, 1 + warp_event 10, 21, ROUTE_12_GATE_1F, 2 + warp_event 11, 77, ROUTE_12_SUPER_ROD_HOUSE, 0 - def_signs - sign 13, 13, 11 ; Route12Text11 - sign 11, 63, 12 ; Route12Text12 + def_bg_events + bg_event 13, 13, 11 ; Route12Text11 + bg_event 11, 63, 12 ; Route12Text12 - def_objects - object SPRITE_SNORLAX, 10, 62, STAY, DOWN, 1 ; person - object SPRITE_FISHER, 14, 31, STAY, LEFT, 2, OPP_FISHER, 3 - object SPRITE_FISHER, 5, 39, STAY, UP, 3, OPP_FISHER, 4 - object SPRITE_COOLTRAINER_M, 11, 92, STAY, LEFT, 4, OPP_JR_TRAINER_M, 9 - object SPRITE_SUPER_NERD, 14, 76, STAY, UP, 5, OPP_ROCKER, 2 - object SPRITE_FISHER, 12, 40, STAY, LEFT, 6, OPP_FISHER, 5 - object SPRITE_FISHER, 9, 52, STAY, RIGHT, 7, OPP_FISHER, 6 - object SPRITE_FISHER, 6, 87, STAY, DOWN, 8, OPP_FISHER, 11 - object SPRITE_POKE_BALL, 14, 35, STAY, NONE, 9, TM_PAY_DAY - object SPRITE_POKE_BALL, 5, 89, STAY, NONE, 10, IRON + def_object_events + object_event 10, 62, SPRITE_SNORLAX, STAY, DOWN, 1 ; person + object_event 14, 31, SPRITE_FISHER, STAY, LEFT, 2, OPP_FISHER, 3 + object_event 5, 39, SPRITE_FISHER, STAY, UP, 3, OPP_FISHER, 4 + object_event 11, 92, SPRITE_COOLTRAINER_M, STAY, LEFT, 4, OPP_JR_TRAINER_M, 9 + object_event 14, 76, SPRITE_SUPER_NERD, STAY, UP, 5, OPP_ROCKER, 2 + object_event 12, 40, SPRITE_FISHER, STAY, LEFT, 6, OPP_FISHER, 5 + object_event 9, 52, SPRITE_FISHER, STAY, RIGHT, 7, OPP_FISHER, 6 + object_event 6, 87, SPRITE_FISHER, STAY, DOWN, 8, OPP_FISHER, 11 + object_event 14, 35, SPRITE_POKE_BALL, STAY, NONE, 9, TM_PAY_DAY + object_event 5, 89, SPRITE_POKE_BALL, STAY, NONE, 10, IRON def_warps_to ROUTE_12 diff --git a/data/maps/objects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm index 356bf67a..3f1692e8 100644 --- a/data/maps/objects/Route12Gate1F.asm +++ b/data/maps/objects/Route12Gate1F.asm @@ -1,16 +1,16 @@ Route12Gate1F_Object: db $a ; border block - def_warps - warp 4, 0, 0, LAST_MAP - warp 5, 0, 1, LAST_MAP - warp 4, 7, 2, LAST_MAP - warp 5, 7, 2, LAST_MAP - warp 8, 6, 0, ROUTE_12_GATE_2F + def_warp_events + warp_event 4, 0, LAST_MAP, 0 + warp_event 5, 0, LAST_MAP, 1 + warp_event 4, 7, LAST_MAP, 2 + warp_event 5, 7, LAST_MAP, 2 + warp_event 8, 6, ROUTE_12_GATE_2F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_GUARD, 1, 3, STAY, NONE, 1 ; person + def_object_events + object_event 1, 3, SPRITE_GUARD, STAY, NONE, 1 ; person def_warps_to ROUTE_12_GATE_1F diff --git a/data/maps/objects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm index 413adf25..c1590119 100644 --- a/data/maps/objects/Route12Gate2F.asm +++ b/data/maps/objects/Route12Gate2F.asm @@ -1,14 +1,14 @@ Route12Gate2F_Object: db $a ; border block - def_warps - warp 7, 7, 4, ROUTE_12_GATE_1F + def_warp_events + warp_event 7, 7, ROUTE_12_GATE_1F, 4 - def_signs - sign 1, 2, 2 ; Route12GateUpstairsText2 - sign 6, 2, 3 ; Route12GateUpstairsText3 + def_bg_events + bg_event 1, 2, 2 ; Route12GateUpstairsText2 + bg_event 6, 2, 3 ; Route12GateUpstairsText3 - def_objects - object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, UP_DOWN, 1 ; person + def_object_events + object_event 3, 4, SPRITE_BRUNETTE_GIRL, WALK, UP_DOWN, 1 ; person def_warps_to ROUTE_12_GATE_2F diff --git a/data/maps/objects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm index 4cd43639..9bba09a4 100644 --- a/data/maps/objects/Route12SuperRodHouse.asm +++ b/data/maps/objects/Route12SuperRodHouse.asm @@ -1,13 +1,13 @@ Route12SuperRodHouse_Object: db $a ; border block - def_warps - warp 2, 7, 3, LAST_MAP - warp 3, 7, 3, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 3 + warp_event 3, 7, LAST_MAP, 3 - def_signs + def_bg_events - def_objects - object SPRITE_FISHING_GURU, 2, 4, STAY, RIGHT, 1 ; person + def_object_events + object_event 2, 4, SPRITE_FISHING_GURU, STAY, RIGHT, 1 ; person def_warps_to ROUTE_12_SUPER_ROD_HOUSE diff --git a/data/maps/objects/Route13.asm b/data/maps/objects/Route13.asm index 365eea7d..234d6df2 100644 --- a/data/maps/objects/Route13.asm +++ b/data/maps/objects/Route13.asm @@ -1,23 +1,23 @@ Route13_Object: db $43 ; border block - def_warps + def_warp_events - def_signs - sign 15, 13, 11 ; Route13Text11 - sign 33, 5, 12 ; Route13Text12 - sign 31, 11, 13 ; Route13Text13 + def_bg_events + bg_event 15, 13, 11 ; Route13Text11 + bg_event 33, 5, 12 ; Route13Text12 + bg_event 31, 11, 13 ; Route13Text13 - def_objects - object SPRITE_COOLTRAINER_M, 49, 10, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1 - object SPRITE_COOLTRAINER_F, 48, 10, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12 - object SPRITE_COOLTRAINER_F, 27, 9, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13 - object SPRITE_COOLTRAINER_F, 23, 10, STAY, LEFT, 4, OPP_JR_TRAINER_F, 14 - object SPRITE_COOLTRAINER_F, 50, 5, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15 - object SPRITE_COOLTRAINER_M, 12, 4, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2 - object SPRITE_BEAUTY, 33, 6, STAY, DOWN, 7, OPP_BEAUTY, 4 - object SPRITE_BEAUTY, 32, 6, STAY, DOWN, 8, OPP_BEAUTY, 5 - object SPRITE_BIKER, 10, 7, STAY, UP, 9, OPP_BIKER, 1 - object SPRITE_COOLTRAINER_M, 7, 13, STAY, UP, 10, OPP_BIRD_KEEPER, 3 + def_object_events + object_event 49, 10, SPRITE_COOLTRAINER_M, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1 + object_event 48, 10, SPRITE_COOLTRAINER_F, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12 + object_event 27, 9, SPRITE_COOLTRAINER_F, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13 + object_event 23, 10, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_JR_TRAINER_F, 14 + object_event 50, 5, SPRITE_COOLTRAINER_F, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15 + object_event 12, 4, SPRITE_COOLTRAINER_M, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2 + object_event 33, 6, SPRITE_BEAUTY, STAY, DOWN, 7, OPP_BEAUTY, 4 + object_event 32, 6, SPRITE_BEAUTY, STAY, DOWN, 8, OPP_BEAUTY, 5 + object_event 10, 7, SPRITE_BIKER, STAY, UP, 9, OPP_BIKER, 1 + object_event 7, 13, SPRITE_COOLTRAINER_M, STAY, UP, 10, OPP_BIRD_KEEPER, 3 def_warps_to ROUTE_13 diff --git a/data/maps/objects/Route14.asm b/data/maps/objects/Route14.asm index 4a2240e6..8808f501 100644 --- a/data/maps/objects/Route14.asm +++ b/data/maps/objects/Route14.asm @@ -1,21 +1,21 @@ Route14_Object: db $43 ; border block - def_warps + def_warp_events - def_signs - sign 17, 13, 11 ; Route14Text11 + def_bg_events + bg_event 17, 13, 11 ; Route14Text11 - def_objects - object SPRITE_COOLTRAINER_M, 4, 4, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14 - object SPRITE_COOLTRAINER_M, 15, 6, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15 - object SPRITE_COOLTRAINER_M, 12, 11, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16 - object SPRITE_COOLTRAINER_M, 14, 15, STAY, UP, 4, OPP_BIRD_KEEPER, 17 - object SPRITE_COOLTRAINER_M, 15, 31, STAY, LEFT, 5, OPP_BIRD_KEEPER, 4 - object SPRITE_COOLTRAINER_M, 6, 49, STAY, UP, 6, OPP_BIRD_KEEPER, 5 - object SPRITE_BIKER, 5, 39, STAY, DOWN, 7, OPP_BIKER, 13 - object SPRITE_BIKER, 4, 30, STAY, RIGHT, 8, OPP_BIKER, 14 - object SPRITE_BIKER, 15, 30, STAY, LEFT, 9, OPP_BIKER, 15 - object SPRITE_BIKER, 4, 31, STAY, RIGHT, 10, OPP_BIKER, 2 + def_object_events + object_event 4, 4, SPRITE_COOLTRAINER_M, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14 + object_event 15, 6, SPRITE_COOLTRAINER_M, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15 + object_event 12, 11, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16 + object_event 14, 15, SPRITE_COOLTRAINER_M, STAY, UP, 4, OPP_BIRD_KEEPER, 17 + object_event 15, 31, SPRITE_COOLTRAINER_M, STAY, LEFT, 5, OPP_BIRD_KEEPER, 4 + object_event 6, 49, SPRITE_COOLTRAINER_M, STAY, UP, 6, OPP_BIRD_KEEPER, 5 + object_event 5, 39, SPRITE_BIKER, STAY, DOWN, 7, OPP_BIKER, 13 + object_event 4, 30, SPRITE_BIKER, STAY, RIGHT, 8, OPP_BIKER, 14 + object_event 15, 30, SPRITE_BIKER, STAY, LEFT, 9, OPP_BIKER, 15 + object_event 4, 31, SPRITE_BIKER, STAY, RIGHT, 10, OPP_BIKER, 2 def_warps_to ROUTE_14 diff --git a/data/maps/objects/Route15.asm b/data/maps/objects/Route15.asm index d145dbfb..bb4266b7 100644 --- a/data/maps/objects/Route15.asm +++ b/data/maps/objects/Route15.asm @@ -1,26 +1,26 @@ Route15_Object: db $43 ; border block - def_warps - warp 7, 8, 0, ROUTE_15_GATE_1F - warp 7, 9, 1, ROUTE_15_GATE_1F - warp 14, 8, 2, ROUTE_15_GATE_1F - warp 14, 9, 3, ROUTE_15_GATE_1F + def_warp_events + warp_event 7, 8, ROUTE_15_GATE_1F, 0 + warp_event 7, 9, ROUTE_15_GATE_1F, 1 + warp_event 14, 8, ROUTE_15_GATE_1F, 2 + warp_event 14, 9, ROUTE_15_GATE_1F, 3 - def_signs - sign 39, 9, 12 ; Route15Text12 + def_bg_events + bg_event 39, 9, 12 ; Route15Text12 - def_objects - object SPRITE_COOLTRAINER_F, 41, 11, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20 - object SPRITE_COOLTRAINER_F, 53, 10, STAY, LEFT, 2, OPP_JR_TRAINER_F, 21 - object SPRITE_COOLTRAINER_M, 31, 13, STAY, UP, 3, OPP_BIRD_KEEPER, 6 - object SPRITE_COOLTRAINER_M, 35, 13, STAY, UP, 4, OPP_BIRD_KEEPER, 7 - object SPRITE_BEAUTY, 53, 11, STAY, DOWN, 5, OPP_BEAUTY, 9 - object SPRITE_BEAUTY, 41, 10, STAY, RIGHT, 6, OPP_BEAUTY, 10 - object SPRITE_BIKER, 48, 10, STAY, DOWN, 7, OPP_BIKER, 3 - object SPRITE_BIKER, 46, 10, STAY, DOWN, 8, OPP_BIKER, 4 - object SPRITE_COOLTRAINER_F, 37, 5, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22 - object SPRITE_COOLTRAINER_F, 18, 13, STAY, UP, 10, OPP_JR_TRAINER_F, 23 - object SPRITE_POKE_BALL, 18, 5, STAY, NONE, 11, TM_RAGE + def_object_events + object_event 41, 11, SPRITE_COOLTRAINER_F, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20 + object_event 53, 10, SPRITE_COOLTRAINER_F, STAY, LEFT, 2, OPP_JR_TRAINER_F, 21 + object_event 31, 13, SPRITE_COOLTRAINER_M, STAY, UP, 3, OPP_BIRD_KEEPER, 6 + object_event 35, 13, SPRITE_COOLTRAINER_M, STAY, UP, 4, OPP_BIRD_KEEPER, 7 + object_event 53, 11, SPRITE_BEAUTY, STAY, DOWN, 5, OPP_BEAUTY, 9 + object_event 41, 10, SPRITE_BEAUTY, STAY, RIGHT, 6, OPP_BEAUTY, 10 + object_event 48, 10, SPRITE_BIKER, STAY, DOWN, 7, OPP_BIKER, 3 + object_event 46, 10, SPRITE_BIKER, STAY, DOWN, 8, OPP_BIKER, 4 + object_event 37, 5, SPRITE_COOLTRAINER_F, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22 + object_event 18, 13, SPRITE_COOLTRAINER_F, STAY, UP, 10, OPP_JR_TRAINER_F, 23 + object_event 18, 5, SPRITE_POKE_BALL, STAY, NONE, 11, TM_RAGE def_warps_to ROUTE_15 diff --git a/data/maps/objects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm index e611e98b..24311f87 100644 --- a/data/maps/objects/Route15Gate1F.asm +++ b/data/maps/objects/Route15Gate1F.asm @@ -1,16 +1,16 @@ Route15Gate1F_Object: db $a ; border block - def_warps - warp 0, 4, 0, LAST_MAP - warp 0, 5, 1, LAST_MAP - warp 7, 4, 2, LAST_MAP - warp 7, 5, 3, LAST_MAP - warp 6, 8, 0, ROUTE_15_GATE_2F + def_warp_events + warp_event 0, 4, LAST_MAP, 0 + warp_event 0, 5, LAST_MAP, 1 + warp_event 7, 4, LAST_MAP, 2 + warp_event 7, 5, LAST_MAP, 3 + warp_event 6, 8, ROUTE_15_GATE_2F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person + def_object_events + object_event 4, 1, SPRITE_GUARD, STAY, NONE, 1 ; person def_warps_to ROUTE_15_GATE_1F diff --git a/data/maps/objects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm index 608b69e5..d57bddab 100644 --- a/data/maps/objects/Route15Gate2F.asm +++ b/data/maps/objects/Route15Gate2F.asm @@ -1,13 +1,13 @@ Route15Gate2F_Object: db $a ; border block - def_warps - warp 7, 7, 4, ROUTE_15_GATE_1F + def_warp_events + warp_event 7, 7, ROUTE_15_GATE_1F, 4 - def_signs - sign 6, 2, 2 ; Route15GateUpstairsText2 + def_bg_events + bg_event 6, 2, 2 ; Route15GateUpstairsText2 - def_objects - object SPRITE_SCIENTIST, 4, 2, STAY, DOWN, 1 + def_object_events + object_event 4, 2, SPRITE_SCIENTIST, STAY, DOWN, 1 def_warps_to ROUTE_15_GATE_2F diff --git a/data/maps/objects/Route16.asm b/data/maps/objects/Route16.asm index 44e2de01..88da2f5f 100644 --- a/data/maps/objects/Route16.asm +++ b/data/maps/objects/Route16.asm @@ -1,28 +1,28 @@ Route16_Object: db $f ; border block - def_warps - warp 17, 10, 0, ROUTE_16_GATE_1F - warp 17, 11, 1, ROUTE_16_GATE_1F - warp 24, 10, 2, ROUTE_16_GATE_1F - warp 24, 11, 3, ROUTE_16_GATE_1F - warp 17, 4, 4, ROUTE_16_GATE_1F - warp 17, 5, 5, ROUTE_16_GATE_1F - warp 24, 4, 6, ROUTE_16_GATE_1F - warp 24, 5, 7, ROUTE_16_GATE_1F - warp 7, 5, 0, ROUTE_16_FLY_HOUSE + def_warp_events + warp_event 17, 10, ROUTE_16_GATE_1F, 0 + warp_event 17, 11, ROUTE_16_GATE_1F, 1 + warp_event 24, 10, ROUTE_16_GATE_1F, 2 + warp_event 24, 11, ROUTE_16_GATE_1F, 3 + warp_event 17, 4, ROUTE_16_GATE_1F, 4 + warp_event 17, 5, ROUTE_16_GATE_1F, 5 + warp_event 24, 4, ROUTE_16_GATE_1F, 6 + warp_event 24, 5, ROUTE_16_GATE_1F, 7 + warp_event 7, 5, ROUTE_16_FLY_HOUSE, 0 - def_signs - sign 27, 11, 8 ; Route16Text8 - sign 5, 17, 9 ; Route16Text9 + def_bg_events + bg_event 27, 11, 8 ; Route16Text8 + bg_event 5, 17, 9 ; Route16Text9 - def_objects - object SPRITE_BIKER, 17, 12, STAY, LEFT, 1, OPP_BIKER, 5 - object SPRITE_BIKER, 14, 13, STAY, RIGHT, 2, OPP_CUE_BALL, 1 - object SPRITE_BIKER, 11, 12, STAY, UP, 3, OPP_CUE_BALL, 2 - object SPRITE_BIKER, 9, 11, STAY, LEFT, 4, OPP_BIKER, 6 - object SPRITE_BIKER, 6, 10, STAY, RIGHT, 5, OPP_CUE_BALL, 3 - object SPRITE_BIKER, 3, 12, STAY, RIGHT, 6, OPP_BIKER, 7 - object SPRITE_SNORLAX, 26, 10, STAY, DOWN, 7 ; person + def_object_events + object_event 17, 12, SPRITE_BIKER, STAY, LEFT, 1, OPP_BIKER, 5 + object_event 14, 13, SPRITE_BIKER, STAY, RIGHT, 2, OPP_CUE_BALL, 1 + object_event 11, 12, SPRITE_BIKER, STAY, UP, 3, OPP_CUE_BALL, 2 + object_event 9, 11, SPRITE_BIKER, STAY, LEFT, 4, OPP_BIKER, 6 + object_event 6, 10, SPRITE_BIKER, STAY, RIGHT, 5, OPP_CUE_BALL, 3 + object_event 3, 12, SPRITE_BIKER, STAY, RIGHT, 6, OPP_BIKER, 7 + object_event 26, 10, SPRITE_SNORLAX, STAY, DOWN, 7 ; person def_warps_to ROUTE_16 diff --git a/data/maps/objects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm index be6cdc61..1e4d2643 100644 --- a/data/maps/objects/Route16FlyHouse.asm +++ b/data/maps/objects/Route16FlyHouse.asm @@ -1,14 +1,14 @@ Route16FlyHouse_Object: db $a ; border block - def_warps - warp 2, 7, 8, LAST_MAP - warp 3, 7, 8, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 8 + warp_event 3, 7, LAST_MAP, 8 - def_signs + def_bg_events - def_objects - object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person - object SPRITE_BIRD, 6, 4, WALK, ANY_DIR, 2 ; person + def_object_events + object_event 2, 3, SPRITE_BRUNETTE_GIRL, STAY, RIGHT, 1 ; person + object_event 6, 4, SPRITE_BIRD, WALK, ANY_DIR, 2 ; person def_warps_to ROUTE_16_FLY_HOUSE diff --git a/data/maps/objects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm index 4f876e7f..229ee0a0 100644 --- a/data/maps/objects/Route16Gate1F.asm +++ b/data/maps/objects/Route16Gate1F.asm @@ -1,21 +1,21 @@ Route16Gate1F_Object: db $a ; border block - def_warps - warp 0, 8, 0, LAST_MAP - warp 0, 9, 1, LAST_MAP - warp 7, 8, 2, LAST_MAP - warp 7, 9, 2, LAST_MAP - warp 0, 2, 4, LAST_MAP - warp 0, 3, 5, LAST_MAP - warp 7, 2, 6, LAST_MAP - warp 7, 3, 7, LAST_MAP - warp 6, 12, 0, ROUTE_16_GATE_2F + def_warp_events + warp_event 0, 8, LAST_MAP, 0 + warp_event 0, 9, LAST_MAP, 1 + warp_event 7, 8, LAST_MAP, 2 + warp_event 7, 9, LAST_MAP, 2 + warp_event 0, 2, LAST_MAP, 4 + warp_event 0, 3, LAST_MAP, 5 + warp_event 7, 2, LAST_MAP, 6 + warp_event 7, 3, LAST_MAP, 7 + warp_event 6, 12, ROUTE_16_GATE_2F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_GUARD, 4, 5, STAY, DOWN, 1 ; person - object SPRITE_GAMBLER, 4, 3, STAY, NONE, 2 ; person + def_object_events + object_event 4, 5, SPRITE_GUARD, STAY, DOWN, 1 ; person + object_event 4, 3, SPRITE_GAMBLER, STAY, NONE, 2 ; person def_warps_to ROUTE_16_GATE_1F diff --git a/data/maps/objects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm index 53511ae5..047e2d70 100644 --- a/data/maps/objects/Route16Gate2F.asm +++ b/data/maps/objects/Route16Gate2F.asm @@ -1,15 +1,15 @@ Route16Gate2F_Object: db $a ; border block - def_warps - warp 7, 7, 8, ROUTE_16_GATE_1F + def_warp_events + warp_event 7, 7, ROUTE_16_GATE_1F, 8 - def_signs - sign 1, 2, 3 ; Route16GateUpstairsText3 - sign 6, 2, 4 ; Route16GateUpstairsText4 + def_bg_events + bg_event 1, 2, 3 ; Route16GateUpstairsText3 + bg_event 6, 2, 4 ; Route16GateUpstairsText4 - def_objects - object SPRITE_LITTLE_BOY, 4, 2, STAY, NONE, 1 ; person - object SPRITE_LITTLE_GIRL, 2, 5, WALK, LEFT_RIGHT, 2 ; person + def_object_events + object_event 4, 2, SPRITE_LITTLE_BOY, STAY, NONE, 1 ; person + object_event 2, 5, SPRITE_LITTLE_GIRL, WALK, LEFT_RIGHT, 2 ; person def_warps_to ROUTE_16_GATE_2F diff --git a/data/maps/objects/Route17.asm b/data/maps/objects/Route17.asm index f170b695..a2923c29 100644 --- a/data/maps/objects/Route17.asm +++ b/data/maps/objects/Route17.asm @@ -1,26 +1,26 @@ Route17_Object: db $43 ; border block - def_warps + def_warp_events - def_signs - sign 9, 51, 11 ; Route17Text11 - sign 9, 63, 12 ; Route17Text12 - sign 9, 75, 13 ; Route17Text13 - sign 9, 87, 14 ; Route17Text14 - sign 9, 111, 15 ; Route17Text15 - sign 9, 141, 16 ; Route17Text16 + def_bg_events + bg_event 9, 51, 11 ; Route17Text11 + bg_event 9, 63, 12 ; Route17Text12 + bg_event 9, 75, 13 ; Route17Text13 + bg_event 9, 87, 14 ; Route17Text14 + bg_event 9, 111, 15 ; Route17Text15 + bg_event 9, 141, 16 ; Route17Text16 - def_objects - object SPRITE_BIKER, 12, 19, STAY, LEFT, 1, OPP_CUE_BALL, 4 - object SPRITE_BIKER, 11, 16, STAY, RIGHT, 2, OPP_CUE_BALL, 5 - object SPRITE_BIKER, 4, 18, STAY, UP, 3, OPP_BIKER, 8 - object SPRITE_BIKER, 7, 32, STAY, LEFT, 4, OPP_BIKER, 9 - object SPRITE_BIKER, 14, 34, STAY, RIGHT, 5, OPP_BIKER, 10 - object SPRITE_BIKER, 17, 58, STAY, LEFT, 6, OPP_CUE_BALL, 6 - object SPRITE_BIKER, 2, 68, STAY, RIGHT, 7, OPP_CUE_BALL, 7 - object SPRITE_BIKER, 14, 98, STAY, RIGHT, 8, OPP_CUE_BALL, 8 - object SPRITE_BIKER, 5, 98, STAY, LEFT, 9, OPP_BIKER, 11 - object SPRITE_BIKER, 10, 118, STAY, DOWN, 10, OPP_BIKER, 12 + def_object_events + object_event 12, 19, SPRITE_BIKER, STAY, LEFT, 1, OPP_CUE_BALL, 4 + object_event 11, 16, SPRITE_BIKER, STAY, RIGHT, 2, OPP_CUE_BALL, 5 + object_event 4, 18, SPRITE_BIKER, STAY, UP, 3, OPP_BIKER, 8 + object_event 7, 32, SPRITE_BIKER, STAY, LEFT, 4, OPP_BIKER, 9 + object_event 14, 34, SPRITE_BIKER, STAY, RIGHT, 5, OPP_BIKER, 10 + object_event 17, 58, SPRITE_BIKER, STAY, LEFT, 6, OPP_CUE_BALL, 6 + object_event 2, 68, SPRITE_BIKER, STAY, RIGHT, 7, OPP_CUE_BALL, 7 + object_event 14, 98, SPRITE_BIKER, STAY, RIGHT, 8, OPP_CUE_BALL, 8 + object_event 5, 98, SPRITE_BIKER, STAY, LEFT, 9, OPP_BIKER, 11 + object_event 10, 118, SPRITE_BIKER, STAY, DOWN, 10, OPP_BIKER, 12 def_warps_to ROUTE_17 diff --git a/data/maps/objects/Route18.asm b/data/maps/objects/Route18.asm index eafdf1d0..c95e3cf9 100644 --- a/data/maps/objects/Route18.asm +++ b/data/maps/objects/Route18.asm @@ -1,19 +1,19 @@ Route18_Object: db $43 ; border block - def_warps - warp 33, 8, 0, ROUTE_18_GATE_1F - warp 33, 9, 1, ROUTE_18_GATE_1F - warp 40, 8, 2, ROUTE_18_GATE_1F - warp 40, 9, 3, ROUTE_18_GATE_1F + def_warp_events + warp_event 33, 8, ROUTE_18_GATE_1F, 0 + warp_event 33, 9, ROUTE_18_GATE_1F, 1 + warp_event 40, 8, ROUTE_18_GATE_1F, 2 + warp_event 40, 9, ROUTE_18_GATE_1F, 3 - def_signs - sign 43, 7, 4 ; Route18Text4 - sign 33, 5, 5 ; Route18Text5 + def_bg_events + bg_event 43, 7, 4 ; Route18Text4 + bg_event 33, 5, 5 ; Route18Text5 - def_objects - object SPRITE_COOLTRAINER_M, 36, 11, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8 - object SPRITE_COOLTRAINER_M, 40, 15, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9 - object SPRITE_COOLTRAINER_M, 42, 13, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10 + def_object_events + object_event 36, 11, SPRITE_COOLTRAINER_M, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8 + object_event 40, 15, SPRITE_COOLTRAINER_M, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9 + object_event 42, 13, SPRITE_COOLTRAINER_M, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10 def_warps_to ROUTE_18 diff --git a/data/maps/objects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm index 3bfdefaa..b01f8a21 100644 --- a/data/maps/objects/Route18Gate1F.asm +++ b/data/maps/objects/Route18Gate1F.asm @@ -1,16 +1,16 @@ Route18Gate1F_Object: db $a ; border block - def_warps - warp 0, 4, 0, LAST_MAP - warp 0, 5, 1, LAST_MAP - warp 7, 4, 2, LAST_MAP - warp 7, 5, 3, LAST_MAP - warp 6, 8, 0, ROUTE_18_GATE_2F + def_warp_events + warp_event 0, 4, LAST_MAP, 0 + warp_event 0, 5, LAST_MAP, 1 + warp_event 7, 4, LAST_MAP, 2 + warp_event 7, 5, LAST_MAP, 3 + warp_event 6, 8, ROUTE_18_GATE_2F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_GUARD, 4, 1, STAY, DOWN, 1 ; person + def_object_events + object_event 4, 1, SPRITE_GUARD, STAY, DOWN, 1 ; person def_warps_to ROUTE_18_GATE_1F diff --git a/data/maps/objects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm index 2fa6fd58..bf384bd2 100644 --- a/data/maps/objects/Route18Gate2F.asm +++ b/data/maps/objects/Route18Gate2F.asm @@ -1,14 +1,14 @@ Route18Gate2F_Object: db $a ; border block - def_warps - warp 7, 7, 4, ROUTE_18_GATE_1F + def_warp_events + warp_event 7, 7, ROUTE_18_GATE_1F, 4 - def_signs - sign 1, 2, 2 ; Route18GateUpstairsText2 - sign 6, 2, 3 ; Route18GateUpstairsText3 + def_bg_events + bg_event 1, 2, 2 ; Route18GateUpstairsText2 + bg_event 6, 2, 3 ; Route18GateUpstairsText3 - def_objects - object SPRITE_YOUNGSTER, 4, 2, WALK, LEFT_RIGHT, 1 ; person + def_object_events + object_event 4, 2, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person def_warps_to ROUTE_18_GATE_2F diff --git a/data/maps/objects/Route19.asm b/data/maps/objects/Route19.asm index 224b2cbb..34ddfafa 100644 --- a/data/maps/objects/Route19.asm +++ b/data/maps/objects/Route19.asm @@ -1,21 +1,21 @@ Route19_Object: db $43 ; border block - def_warps + def_warp_events - def_signs - sign 11, 9, 11 ; Route19Text11 + def_bg_events + bg_event 11, 9, 11 ; Route19Text11 - def_objects - object SPRITE_COOLTRAINER_M, 8, 7, STAY, LEFT, 1, OPP_SWIMMER, 2 - object SPRITE_COOLTRAINER_M, 13, 7, STAY, LEFT, 2, OPP_SWIMMER, 3 - object SPRITE_SWIMMER, 13, 25, STAY, LEFT, 3, OPP_SWIMMER, 4 - object SPRITE_SWIMMER, 4, 27, STAY, RIGHT, 4, OPP_SWIMMER, 5 - object SPRITE_SWIMMER, 16, 31, STAY, UP, 5, OPP_SWIMMER, 6 - object SPRITE_SWIMMER, 9, 11, STAY, DOWN, 6, OPP_SWIMMER, 7 - object SPRITE_SWIMMER, 8, 43, STAY, LEFT, 7, OPP_BEAUTY, 12 - object SPRITE_SWIMMER, 11, 43, STAY, RIGHT, 8, OPP_BEAUTY, 13 - object SPRITE_SWIMMER, 9, 42, STAY, UP, 9, OPP_SWIMMER, 8 - object SPRITE_SWIMMER, 10, 44, STAY, DOWN, 10, OPP_BEAUTY, 14 + def_object_events + object_event 8, 7, SPRITE_COOLTRAINER_M, STAY, LEFT, 1, OPP_SWIMMER, 2 + object_event 13, 7, SPRITE_COOLTRAINER_M,STAY, LEFT, 2, OPP_SWIMMER, 3 + object_event 13, 25, SPRITE_SWIMMER, STAY, LEFT, 3, OPP_SWIMMER, 4 + object_event 4, 27, SPRITE_SWIMMER, STAY, RIGHT, 4, OPP_SWIMMER, 5 + object_event 16, 31, SPRITE_SWIMMER, STAY, UP, 5, OPP_SWIMMER, 6 + object_event 9, 11, SPRITE_SWIMMER, STAY, DOWN, 6, OPP_SWIMMER, 7 + object_event 8, 43, SPRITE_SWIMMER, STAY, LEFT, 7, OPP_BEAUTY, 12 + object_event 11, 43, SPRITE_SWIMMER, STAY, RIGHT, 8, OPP_BEAUTY, 13 + object_event 9, 42, SPRITE_SWIMMER, STAY, UP, 9, OPP_SWIMMER, 8 + object_event 10, 44, SPRITE_SWIMMER, STAY, DOWN, 10, OPP_BEAUTY, 14 def_warps_to ROUTE_19 diff --git a/data/maps/objects/Route2.asm b/data/maps/objects/Route2.asm index 66f9ff1e..e38df5a1 100644 --- a/data/maps/objects/Route2.asm +++ b/data/maps/objects/Route2.asm @@ -1,21 +1,21 @@ Route2_Object: db $f ; border block - def_warps - warp 12, 9, 0, DIGLETTS_CAVE_ROUTE_2 - warp 3, 11, 1, VIRIDIAN_FOREST_NORTH_GATE - warp 15, 19, 0, ROUTE_2_TRADE_HOUSE - warp 16, 35, 1, ROUTE_2_GATE - warp 15, 39, 2, ROUTE_2_GATE - warp 3, 43, 2, VIRIDIAN_FOREST_SOUTH_GATE + def_warp_events + warp_event 12, 9, DIGLETTS_CAVE_ROUTE_2, 0 + warp_event 3, 11, VIRIDIAN_FOREST_NORTH_GATE, 1 + warp_event 15, 19, ROUTE_2_TRADE_HOUSE, 0 + warp_event 16, 35, ROUTE_2_GATE, 1 + warp_event 15, 39, ROUTE_2_GATE, 2 + warp_event 3, 43, VIRIDIAN_FOREST_SOUTH_GATE, 2 - def_signs - sign 5, 65, 3 ; Route2Text3 - sign 11, 11, 4 ; Route2Text4 + def_bg_events + bg_event 5, 65, 3 ; Route2Text3 + bg_event 11, 11, 4 ; Route2Text4 - def_objects - object SPRITE_POKE_BALL, 13, 54, STAY, NONE, 1, MOON_STONE - object SPRITE_POKE_BALL, 13, 45, STAY, NONE, 2, HP_UP + def_object_events + object_event 13, 54, SPRITE_POKE_BALL, STAY, NONE, 1, MOON_STONE + object_event 13, 45, SPRITE_POKE_BALL, STAY, NONE, 2, HP_UP def_warps_to ROUTE_2 diff --git a/data/maps/objects/Route20.asm b/data/maps/objects/Route20.asm index 19e7cce7..6b55e6e0 100644 --- a/data/maps/objects/Route20.asm +++ b/data/maps/objects/Route20.asm @@ -1,24 +1,24 @@ Route20_Object: db $43 ; border block - def_warps - warp 48, 5, 0, SEAFOAM_ISLANDS_1F - warp 58, 9, 2, SEAFOAM_ISLANDS_1F + def_warp_events + warp_event 48, 5, SEAFOAM_ISLANDS_1F, 0 + warp_event 58, 9, SEAFOAM_ISLANDS_1F, 2 - def_signs - sign 51, 7, 11 ; Route20Text11 - sign 57, 11, 12 ; Route20Text12 + def_bg_events + bg_event 51, 7, 11 ; Route20Text11 + bg_event 57, 11, 12 ; Route20Text12 - def_objects - object SPRITE_SWIMMER, 87, 8, STAY, UP, 1, OPP_SWIMMER, 9 - object SPRITE_SWIMMER, 68, 11, STAY, UP, 2, OPP_BEAUTY, 15 - object SPRITE_SWIMMER, 45, 10, STAY, DOWN, 3, OPP_BEAUTY, 6 - object SPRITE_SWIMMER, 55, 14, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 24 - object SPRITE_SWIMMER, 38, 13, STAY, DOWN, 5, OPP_SWIMMER, 10 - object SPRITE_SWIMMER, 87, 13, STAY, UP, 6, OPP_SWIMMER, 11 - object SPRITE_COOLTRAINER_M, 34, 9, STAY, UP, 7, OPP_BIRD_KEEPER, 11 - object SPRITE_SWIMMER, 25, 7, STAY, UP, 8, OPP_BEAUTY, 7 - object SPRITE_SWIMMER, 24, 12, STAY, DOWN, 9, OPP_JR_TRAINER_F, 16 - object SPRITE_SWIMMER, 15, 8, STAY, UP, 10, OPP_BEAUTY, 8 + def_object_events + object_event 87, 8, SPRITE_SWIMMER, STAY, UP, 1, OPP_SWIMMER, 9 + object_event 68, 11, SPRITE_SWIMMER, STAY, UP, 2, OPP_BEAUTY, 15 + object_event 45, 10, SPRITE_SWIMMER, STAY, DOWN, 3, OPP_BEAUTY, 6 + object_event 55, 14, SPRITE_SWIMMER, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 24 + object_event 38, 13, SPRITE_SWIMMER, STAY, DOWN, 5, OPP_SWIMMER, 10 + object_event 87, 13, SPRITE_SWIMMER, STAY, UP, 6, OPP_SWIMMER, 11 + object_event 34, 9, SPRITE_COOLTRAINER_M, STAY, UP, 7, OPP_BIRD_KEEPER, 11 + object_event 25, 7, SPRITE_SWIMMER, STAY, UP, 8, OPP_BEAUTY, 7 + object_event 24, 12, SPRITE_SWIMMER, STAY, DOWN, 9, OPP_JR_TRAINER_F, 16 + object_event 15, 8, SPRITE_SWIMMER, STAY, UP, 10, OPP_BEAUTY, 8 def_warps_to ROUTE_20 diff --git a/data/maps/objects/Route21.asm b/data/maps/objects/Route21.asm index 71817640..57ad4d43 100644 --- a/data/maps/objects/Route21.asm +++ b/data/maps/objects/Route21.asm @@ -1,19 +1,19 @@ Route21_Object: db $43 ; border block - def_warps + def_warp_events - def_signs + def_bg_events - def_objects - object SPRITE_FISHER, 4, 24, STAY, LEFT, 1, OPP_FISHER, 7 - object SPRITE_FISHER, 6, 25, STAY, DOWN, 2, OPP_FISHER, 9 - object SPRITE_SWIMMER, 10, 31, STAY, UP, 3, OPP_SWIMMER, 12 - object SPRITE_SWIMMER, 12, 30, STAY, RIGHT, 4, OPP_CUE_BALL, 9 - object SPRITE_SWIMMER, 16, 63, STAY, DOWN, 5, OPP_SWIMMER, 13 - object SPRITE_SWIMMER, 5, 71, STAY, RIGHT, 6, OPP_SWIMMER, 14 - object SPRITE_SWIMMER, 15, 71, STAY, LEFT, 7, OPP_SWIMMER, 15 - object SPRITE_FISHER, 14, 56, STAY, LEFT, 8, OPP_FISHER, 8 - object SPRITE_FISHER, 17, 57, STAY, RIGHT, 9, OPP_FISHER, 10 + def_object_events + object_event 4, 24, SPRITE_FISHER, STAY, LEFT, 1, OPP_FISHER, 7 + object_event 6, 25, SPRITE_FISHER, STAY, DOWN, 2, OPP_FISHER, 9 + object_event 10, 31, SPRITE_SWIMMER, STAY, UP, 3, OPP_SWIMMER, 12 + object_event 12, 30, SPRITE_SWIMMER, STAY, RIGHT, 4, OPP_CUE_BALL, 9 + object_event 16, 63, SPRITE_SWIMMER, STAY, DOWN, 5, OPP_SWIMMER, 13 + object_event 5, 71, SPRITE_SWIMMER, STAY, RIGHT, 6, OPP_SWIMMER, 14 + object_event 15, 71, SPRITE_SWIMMER, STAY, LEFT, 7, OPP_SWIMMER, 15 + object_event 14, 56, SPRITE_FISHER, STAY, LEFT, 8, OPP_FISHER, 8 + object_event 17, 57, SPRITE_FISHER, STAY, RIGHT, 9, OPP_FISHER, 10 def_warps_to ROUTE_21 diff --git a/data/maps/objects/Route22.asm b/data/maps/objects/Route22.asm index 857b8a86..4be0dda2 100644 --- a/data/maps/objects/Route22.asm +++ b/data/maps/objects/Route22.asm @@ -1,14 +1,14 @@ Route22_Object: db $2c ; border block - def_warps - warp 8, 5, 0, ROUTE_22_GATE + def_warp_events + warp_event 8, 5, ROUTE_22_GATE, 0 - def_signs - sign 7, 11, 3 ; Route22FrontGateText + def_bg_events + bg_event 7, 11, 3 ; Route22FrontGateText - def_objects - object SPRITE_BLUE, 25, 5, STAY, NONE, 1 ; person - object SPRITE_BLUE, 25, 5, STAY, NONE, 2 ; person + def_object_events + object_event 25, 5, SPRITE_BLUE, STAY, NONE, 1 ; person + object_event 25, 5, SPRITE_BLUE, STAY, NONE, 2 ; person def_warps_to ROUTE_22 diff --git a/data/maps/objects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm index 68593daa..04e628e0 100644 --- a/data/maps/objects/Route22Gate.asm +++ b/data/maps/objects/Route22Gate.asm @@ -1,15 +1,15 @@ Route22Gate_Object: db $a ; border block - def_warps - warp 4, 7, 0, LAST_MAP - warp 5, 7, 0, LAST_MAP - warp 4, 0, 0, LAST_MAP - warp 5, 0, 1, LAST_MAP + def_warp_events + warp_event 4, 7, LAST_MAP, 0 + warp_event 5, 7, LAST_MAP, 0 + warp_event 4, 0, LAST_MAP, 0 + warp_event 5, 0, LAST_MAP, 1 - def_signs + def_bg_events - def_objects - object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person + def_object_events + object_event 6, 2, SPRITE_GUARD, STAY, LEFT, 1 ; person def_warps_to ROUTE_22_GATE diff --git a/data/maps/objects/Route23.asm b/data/maps/objects/Route23.asm index bd74afb4..fe5aadab 100644 --- a/data/maps/objects/Route23.asm +++ b/data/maps/objects/Route23.asm @@ -1,22 +1,22 @@ Route23_Object: db $f ; border block - def_warps - warp 7, 139, 2, ROUTE_22_GATE - warp 8, 139, 3, ROUTE_22_GATE - warp 4, 31, 0, VICTORY_ROAD_1F - warp 14, 31, 1, VICTORY_ROAD_2F + def_warp_events + warp_event 7, 139, ROUTE_22_GATE, 2 + warp_event 8, 139, ROUTE_22_GATE, 3 + warp_event 4, 31, VICTORY_ROAD_1F, 0 + warp_event 14, 31, VICTORY_ROAD_2F, 1 - def_signs - sign 3, 33, 8 ; Route23Text8 + def_bg_events + bg_event 3, 33, 8 ; Route23Text8 - def_objects - object SPRITE_GUARD, 4, 35, STAY, DOWN, 1 ; person - object SPRITE_GUARD, 10, 56, STAY, DOWN, 2 ; person - object SPRITE_SWIMMER, 8, 85, STAY, DOWN, 3 ; person - object SPRITE_SWIMMER, 11, 96, STAY, DOWN, 4 ; person - object SPRITE_GUARD, 12, 105, STAY, DOWN, 5 ; person - object SPRITE_GUARD, 8, 119, STAY, DOWN, 6 ; person - object SPRITE_GUARD, 8, 136, STAY, DOWN, 7 ; person + def_object_events + object_event 4, 35, SPRITE_GUARD, STAY, DOWN, 1 ; person + object_event 10, 56, SPRITE_GUARD, STAY, DOWN, 2 ; person + object_event 8, 85, SPRITE_SWIMMER, STAY, DOWN, 3 ; person + object_event 11, 96, SPRITE_SWIMMER, STAY, DOWN, 4 ; person + object_event 12, 105, SPRITE_GUARD, STAY, DOWN, 5 ; person + object_event 8, 119, SPRITE_GUARD, STAY, DOWN, 6 ; person + object_event 8, 136, SPRITE_GUARD, STAY, DOWN, 7 ; person def_warps_to ROUTE_23 diff --git a/data/maps/objects/Route24.asm b/data/maps/objects/Route24.asm index d621e2b3..d9d0a9d1 100644 --- a/data/maps/objects/Route24.asm +++ b/data/maps/objects/Route24.asm @@ -1,18 +1,18 @@ Route24_Object: db $2c ; border block - def_warps + def_warp_events - def_signs + def_bg_events - def_objects - object SPRITE_COOLTRAINER_M, 11, 15, STAY, LEFT, 1, OPP_ROCKET, 6 - object SPRITE_COOLTRAINER_M, 5, 20, STAY, UP, 2, OPP_JR_TRAINER_M, 2 - object SPRITE_COOLTRAINER_M, 11, 19, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3 - object SPRITE_COOLTRAINER_F, 10, 22, STAY, RIGHT, 4, OPP_LASS, 7 - object SPRITE_YOUNGSTER, 11, 25, STAY, LEFT, 5, OPP_YOUNGSTER, 4 - object SPRITE_COOLTRAINER_F, 10, 28, STAY, RIGHT, 6, OPP_LASS, 8 - object SPRITE_YOUNGSTER, 11, 31, STAY, LEFT, 7, OPP_BUG_CATCHER, 9 - object SPRITE_POKE_BALL, 10, 5, STAY, NONE, 8, TM_THUNDER_WAVE + def_object_events + object_event 11, 15, SPRITE_COOLTRAINER_M, STAY, LEFT, 1, OPP_ROCKET, 6 + object_event 5, 20, SPRITE_COOLTRAINER_M, STAY, UP, 2, OPP_JR_TRAINER_M, 2 + object_event 11, 19, SPRITE_COOLTRAINER_M, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3 + object_event 10, 22, SPRITE_COOLTRAINER_F, STAY, RIGHT, 4, OPP_LASS, 7 + object_event 11, 25, SPRITE_YOUNGSTER, STAY, LEFT, 5, OPP_YOUNGSTER, 4 + object_event 10, 28, SPRITE_COOLTRAINER_F, STAY, RIGHT, 6, OPP_LASS, 8 + object_event 11, 31, SPRITE_YOUNGSTER, STAY, LEFT, 7, OPP_BUG_CATCHER, 9 + object_event 10, 5, SPRITE_POKE_BALL, STAY, NONE, 8, TM_THUNDER_WAVE def_warps_to ROUTE_24 diff --git a/data/maps/objects/Route25.asm b/data/maps/objects/Route25.asm index 4f0be4d4..96af21ab 100644 --- a/data/maps/objects/Route25.asm +++ b/data/maps/objects/Route25.asm @@ -1,22 +1,22 @@ Route25_Object: db $2c ; border block - def_warps - warp 45, 3, 0, BILLS_HOUSE + def_warp_events + warp_event 45, 3, BILLS_HOUSE, 0 - def_signs - sign 43, 3, 11 ; Route25Text11 + def_bg_events + bg_event 43, 3, 11 ; Route25Text11 - def_objects - object SPRITE_YOUNGSTER, 14, 2, STAY, DOWN, 1, OPP_YOUNGSTER, 5 - object SPRITE_YOUNGSTER, 18, 5, STAY, UP, 2, OPP_YOUNGSTER, 6 - object SPRITE_COOLTRAINER_M, 24, 4, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2 - object SPRITE_COOLTRAINER_F, 18, 8, STAY, RIGHT, 4, OPP_LASS, 9 - object SPRITE_YOUNGSTER, 32, 3, STAY, LEFT, 5, OPP_YOUNGSTER, 7 - object SPRITE_COOLTRAINER_F, 37, 4, STAY, DOWN, 6, OPP_LASS, 10 - object SPRITE_HIKER, 8, 4, STAY, RIGHT, 7, OPP_HIKER, 2 - object SPRITE_HIKER, 23, 9, STAY, UP, 8, OPP_HIKER, 3 - object SPRITE_HIKER, 13, 7, STAY, RIGHT, 9, OPP_HIKER, 4 - object SPRITE_POKE_BALL, 22, 2, STAY, NONE, 10, TM_SEISMIC_TOSS + def_object_events + object_event 14, 2, SPRITE_YOUNGSTER, STAY, DOWN, 1, OPP_YOUNGSTER, 5 + object_event 18, 5, SPRITE_YOUNGSTER, STAY, UP, 2, OPP_YOUNGSTER, 6 + object_event 24, 4, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2 + object_event 18, 8, SPRITE_COOLTRAINER_F, STAY, RIGHT, 4, OPP_LASS, 9 + object_event 32, 3, SPRITE_YOUNGSTER, STAY, LEFT, 5, OPP_YOUNGSTER, 7 + object_event 37, 4, SPRITE_COOLTRAINER_F, STAY, DOWN, 6, OPP_LASS, 10 + object_event 8, 4, SPRITE_HIKER, STAY, RIGHT, 7, OPP_HIKER, 2 + object_event 23, 9, SPRITE_HIKER, STAY, UP, 8, OPP_HIKER, 3 + object_event 13, 7, SPRITE_HIKER, STAY, RIGHT, 9, OPP_HIKER, 4 + object_event 22, 2, SPRITE_POKE_BALL, STAY, NONE, 10, TM_SEISMIC_TOSS def_warps_to ROUTE_25 diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm index 3151ce79..8d8b5db2 100644 --- a/data/maps/objects/Route2Gate.asm +++ b/data/maps/objects/Route2Gate.asm @@ -1,16 +1,16 @@ Route2Gate_Object: db $a ; border block - def_warps - warp 4, 0, 3, LAST_MAP - warp 5, 0, 3, LAST_MAP - warp 4, 7, 4, LAST_MAP - warp 5, 7, 4, LAST_MAP + def_warp_events + warp_event 4, 0, LAST_MAP, 3 + warp_event 5, 0, LAST_MAP, 3 + warp_event 4, 7, LAST_MAP, 4 + warp_event 5, 7, LAST_MAP, 4 - def_signs + def_bg_events - def_objects - object SPRITE_SCIENTIST, 1, 4, STAY, LEFT, 1 ; person - object SPRITE_YOUNGSTER, 5, 4, WALK, LEFT_RIGHT, 2 ; person + def_object_events + object_event 1, 4, SPRITE_SCIENTIST, STAY, LEFT, 1 ; person + object_event 5, 4, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 2 ; person def_warps_to ROUTE_2_GATE diff --git a/data/maps/objects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm index d14df485..3a7f1d72 100644 --- a/data/maps/objects/Route2TradeHouse.asm +++ b/data/maps/objects/Route2TradeHouse.asm @@ -1,14 +1,14 @@ Route2TradeHouse_Object: db $a ; border block - def_warps - warp 2, 7, 2, LAST_MAP - warp 3, 7, 2, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 2 + warp_event 3, 7, LAST_MAP, 2 - def_signs + def_bg_events - def_objects - object SPRITE_SCIENTIST, 2, 4, STAY, RIGHT, 1 ; person - object SPRITE_GAMEBOY_KID, 4, 1, STAY, DOWN, 2 ; person + def_object_events + object_event 2, 4, SPRITE_SCIENTIST, STAY, RIGHT, 1 ; person + object_event 4, 1, SPRITE_GAMEBOY_KID, STAY, DOWN, 2 ; person def_warps_to ROUTE_2_TRADE_HOUSE diff --git a/data/maps/objects/Route3.asm b/data/maps/objects/Route3.asm index 153fa795..c60f78a9 100644 --- a/data/maps/objects/Route3.asm +++ b/data/maps/objects/Route3.asm @@ -1,20 +1,20 @@ Route3_Object: db $2c ; border block - def_warps + def_warp_events - def_signs - sign 59, 9, 10 ; Route3Text10 + def_bg_events + bg_event 59, 9, 10 ; Route3Text10 - def_objects - object SPRITE_SUPER_NERD, 57, 11, STAY, NONE, 1 ; person - object SPRITE_YOUNGSTER, 10, 6, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4 - object SPRITE_YOUNGSTER, 14, 4, STAY, DOWN, 3, OPP_YOUNGSTER, 1 - object SPRITE_COOLTRAINER_F, 16, 9, STAY, LEFT, 4, OPP_LASS, 1 - object SPRITE_YOUNGSTER, 19, 5, STAY, DOWN, 5, OPP_BUG_CATCHER, 5 - object SPRITE_COOLTRAINER_F, 23, 4, STAY, LEFT, 6, OPP_LASS, 2 - object SPRITE_YOUNGSTER, 22, 9, STAY, LEFT, 7, OPP_YOUNGSTER, 2 - object SPRITE_YOUNGSTER, 24, 6, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6 - object SPRITE_COOLTRAINER_F, 33, 10, STAY, UP, 9, OPP_LASS, 3 + def_object_events + object_event 57, 11, SPRITE_SUPER_NERD, STAY, NONE, 1 ; person + object_event 10, 6, SPRITE_YOUNGSTER, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4 + object_event 14, 4, SPRITE_YOUNGSTER, STAY, DOWN, 3, OPP_YOUNGSTER, 1 + object_event 16, 9, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_LASS, 1 + object_event 19, 5, SPRITE_YOUNGSTER, STAY, DOWN, 5, OPP_BUG_CATCHER, 5 + object_event 23, 4, SPRITE_COOLTRAINER_F, STAY, LEFT, 6, OPP_LASS, 2 + object_event 22, 9, SPRITE_YOUNGSTER, STAY, LEFT, 7, OPP_YOUNGSTER, 2 + object_event 24, 6, SPRITE_YOUNGSTER, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6 + object_event 33, 10, SPRITE_COOLTRAINER_F, STAY, UP, 9, OPP_LASS, 3 def_warps_to ROUTE_3 diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm index 79e79b79..13f25a80 100644 --- a/data/maps/objects/Route4.asm +++ b/data/maps/objects/Route4.asm @@ -1,19 +1,19 @@ Route4_Object: db $2c ; border block - def_warps - warp 11, 5, 0, MT_MOON_POKECENTER - warp 18, 5, 0, MT_MOON_1F - warp 24, 5, 7, MT_MOON_B1F + def_warp_events + warp_event 11, 5, MT_MOON_POKECENTER, 0 + warp_event 18, 5, MT_MOON_1F, 0 + warp_event 24, 5, MT_MOON_B1F, 7 - def_signs - sign 12, 5, 4 ; PokeCenterSignText - sign 17, 7, 5 ; Route4Text5 - sign 27, 7, 6 ; Route4Text6 + def_bg_events + bg_event 12, 5, 4 ; PokeCenterSignText + bg_event 17, 7, 5 ; Route4Text5 + bg_event 27, 7, 6 ; Route4Text6 - def_objects - object SPRITE_COOLTRAINER_F, 9, 8, WALK, ANY_DIR, 1 ; person - object SPRITE_COOLTRAINER_F, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4 - object SPRITE_POKE_BALL, 57, 3, STAY, NONE, 3, TM_WHIRLWIND + def_object_events + object_event 9, 8, SPRITE_COOLTRAINER_F, WALK, ANY_DIR, 1 ; person + object_event 63, 3, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_LASS, 4 + object_event 57, 3, SPRITE_POKE_BALL, STAY, NONE, 3, TM_WHIRLWIND def_warps_to ROUTE_4 diff --git a/data/maps/objects/Route5.asm b/data/maps/objects/Route5.asm index 75f4a629..d0309e6e 100644 --- a/data/maps/objects/Route5.asm +++ b/data/maps/objects/Route5.asm @@ -1,16 +1,16 @@ Route5_Object: db $a ; border block - def_warps - warp 10, 29, 3, ROUTE_5_GATE - warp 9, 29, 2, ROUTE_5_GATE - warp 10, 33, 0, ROUTE_5_GATE - warp 17, 27, 0, UNDERGROUND_PATH_ROUTE_5 - warp 10, 21, 0, DAYCARE + def_warp_events + warp_event 10, 29, ROUTE_5_GATE, 3 + warp_event 9, 29, ROUTE_5_GATE, 2 + warp_event 10, 33, ROUTE_5_GATE, 0 + warp_event 17, 27, UNDERGROUND_PATH_ROUTE_5, 0 + warp_event 10, 21, DAYCARE, 0 - def_signs - sign 17, 29, 1 ; Route5Text1 + def_bg_events + bg_event 17, 29, 1 ; Route5Text1 - def_objects + def_object_events def_warps_to ROUTE_5 diff --git a/data/maps/objects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm index 81c8c43e..29a54892 100644 --- a/data/maps/objects/Route5Gate.asm +++ b/data/maps/objects/Route5Gate.asm @@ -1,15 +1,15 @@ Route5Gate_Object: db $a ; border block - def_warps - warp 3, 5, 2, LAST_MAP - warp 4, 5, 2, LAST_MAP - warp 3, 0, 1, LAST_MAP - warp 4, 0, 0, LAST_MAP + def_warp_events + warp_event 3, 5, LAST_MAP, 2 + warp_event 4, 5, LAST_MAP, 2 + warp_event 3, 0, LAST_MAP, 1 + warp_event 4, 0, LAST_MAP, 0 - def_signs + def_bg_events - def_objects - object SPRITE_GUARD, 1, 3, STAY, RIGHT, 1 ; person + def_object_events + object_event 1, 3, SPRITE_GUARD, STAY, RIGHT, 1 ; person def_warps_to ROUTE_5_GATE diff --git a/data/maps/objects/Route6.asm b/data/maps/objects/Route6.asm index bafcdf90..1bd91d98 100644 --- a/data/maps/objects/Route6.asm +++ b/data/maps/objects/Route6.asm @@ -1,21 +1,21 @@ Route6_Object: db $f ; border block - def_warps - warp 9, 1, 2, ROUTE_6_GATE - warp 10, 1, 2, ROUTE_6_GATE - warp 10, 7, 0, ROUTE_6_GATE - warp 17, 13, 0, UNDERGROUND_PATH_ROUTE_6 + def_warp_events + warp_event 9, 1, ROUTE_6_GATE, 2 + warp_event 10, 1, ROUTE_6_GATE, 2 + warp_event 10, 7, ROUTE_6_GATE, 0 + warp_event 17, 13, UNDERGROUND_PATH_ROUTE_6, 0 - def_signs - sign 19, 15, 7 ; Route6Text7 + def_bg_events + bg_event 19, 15, 7 ; Route6Text7 - def_objects - object SPRITE_COOLTRAINER_M, 10, 21, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 4 - object SPRITE_COOLTRAINER_F, 11, 21, STAY, LEFT, 2, OPP_JR_TRAINER_F, 2 - object SPRITE_YOUNGSTER, 0, 15, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10 - object SPRITE_COOLTRAINER_M, 11, 31, STAY, LEFT, 4, OPP_JR_TRAINER_M, 5 - object SPRITE_COOLTRAINER_F, 11, 30, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3 - object SPRITE_YOUNGSTER, 19, 26, STAY, LEFT, 6, OPP_BUG_CATCHER, 11 + def_object_events + object_event 10, 21, SPRITE_COOLTRAINER_M, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 4 + object_event 11, 21, SPRITE_COOLTRAINER_F, STAY, LEFT, 2, OPP_JR_TRAINER_F, 2 + object_event 0, 15, SPRITE_YOUNGSTER, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10 + object_event 11, 31, SPRITE_COOLTRAINER_M, STAY, LEFT, 4, OPP_JR_TRAINER_M, 5 + object_event 11, 30, SPRITE_COOLTRAINER_F, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3 + object_event 19, 26, SPRITE_YOUNGSTER, STAY, LEFT, 6, OPP_BUG_CATCHER, 11 def_warps_to ROUTE_6 diff --git a/data/maps/objects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm index 2ef5a8b5..e4503913 100644 --- a/data/maps/objects/Route6Gate.asm +++ b/data/maps/objects/Route6Gate.asm @@ -1,15 +1,15 @@ Route6Gate_Object: db $a ; border block - def_warps - warp 3, 5, 2, LAST_MAP - warp 4, 5, 2, LAST_MAP - warp 3, 0, 1, LAST_MAP - warp 4, 0, 1, LAST_MAP + def_warp_events + warp_event 3, 5, LAST_MAP, 2 + warp_event 4, 5, LAST_MAP, 2 + warp_event 3, 0, LAST_MAP, 1 + warp_event 4, 0, LAST_MAP, 1 - def_signs + def_bg_events - def_objects - object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person + def_object_events + object_event 6, 2, SPRITE_GUARD, STAY, LEFT, 1 ; person def_warps_to ROUTE_6_GATE diff --git a/data/maps/objects/Route7.asm b/data/maps/objects/Route7.asm index d2346f2c..6dd9d92c 100644 --- a/data/maps/objects/Route7.asm +++ b/data/maps/objects/Route7.asm @@ -1,16 +1,16 @@ Route7_Object: db $f ; border block - def_warps - warp 18, 9, 2, ROUTE_7_GATE - warp 18, 10, 3, ROUTE_7_GATE - warp 11, 9, 0, ROUTE_7_GATE - warp 11, 10, 1, ROUTE_7_GATE - warp 5, 13, 0, UNDERGROUND_PATH_ROUTE_7 + def_warp_events + warp_event 18, 9, ROUTE_7_GATE, 2 + warp_event 18, 10, ROUTE_7_GATE, 3 + warp_event 11, 9, ROUTE_7_GATE, 0 + warp_event 11, 10, ROUTE_7_GATE, 1 + warp_event 5, 13, UNDERGROUND_PATH_ROUTE_7, 0 - def_signs - sign 3, 13, 1 ; Route7Text1 + def_bg_events + bg_event 3, 13, 1 ; Route7Text1 - def_objects + def_object_events def_warps_to ROUTE_7 diff --git a/data/maps/objects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm index 2b165016..9aeb81ee 100644 --- a/data/maps/objects/Route7Gate.asm +++ b/data/maps/objects/Route7Gate.asm @@ -1,15 +1,15 @@ Route7Gate_Object: db $a ; border block - def_warps - warp 0, 3, 3, LAST_MAP - warp 0, 4, 3, LAST_MAP - warp 5, 3, 0, LAST_MAP - warp 5, 4, 1, LAST_MAP + def_warp_events + warp_event 0, 3, LAST_MAP, 3 + warp_event 0, 4, LAST_MAP, 3 + warp_event 5, 3, LAST_MAP, 0 + warp_event 5, 4, LAST_MAP, 1 - def_signs + def_bg_events - def_objects - object SPRITE_GUARD, 3, 1, STAY, DOWN, 1 ; person + def_object_events + object_event 3, 1, SPRITE_GUARD, STAY, DOWN, 1 ; person def_warps_to ROUTE_7_GATE diff --git a/data/maps/objects/Route8.asm b/data/maps/objects/Route8.asm index d375b23e..71a1df45 100644 --- a/data/maps/objects/Route8.asm +++ b/data/maps/objects/Route8.asm @@ -1,25 +1,25 @@ Route8_Object: db $2c ; border block - def_warps - warp 1, 9, 0, ROUTE_8_GATE - warp 1, 10, 1, ROUTE_8_GATE - warp 8, 9, 2, ROUTE_8_GATE - warp 8, 10, 3, ROUTE_8_GATE - warp 13, 3, 0, UNDERGROUND_PATH_ROUTE_8 + def_warp_events + warp_event 1, 9, ROUTE_8_GATE, 0 + warp_event 1, 10, ROUTE_8_GATE, 1 + warp_event 8, 9, ROUTE_8_GATE, 2 + warp_event 8, 10, ROUTE_8_GATE, 3 + warp_event 13, 3, UNDERGROUND_PATH_ROUTE_8, 0 - def_signs - sign 17, 3, 10 ; Route8Text10 + def_bg_events + bg_event 17, 3, 10 ; Route8Text10 - def_objects - object SPRITE_SUPER_NERD, 8, 5, STAY, RIGHT, 1, OPP_SUPER_NERD, 3 - object SPRITE_GAMBLER, 13, 9, STAY, UP, 2, OPP_GAMBLER, 5 - object SPRITE_SUPER_NERD, 42, 6, STAY, UP, 3, OPP_SUPER_NERD, 4 - object SPRITE_COOLTRAINER_F, 26, 3, STAY, LEFT, 4, OPP_LASS, 13 - object SPRITE_SUPER_NERD, 26, 4, STAY, RIGHT, 5, OPP_SUPER_NERD, 5 - object SPRITE_COOLTRAINER_F, 26, 5, STAY, LEFT, 6, OPP_LASS, 14 - object SPRITE_COOLTRAINER_F, 26, 6, STAY, RIGHT, 7, OPP_LASS, 15 - object SPRITE_GAMBLER, 46, 13, STAY, DOWN, 8, OPP_GAMBLER, 7 - object SPRITE_COOLTRAINER_F, 51, 12, STAY, LEFT, 9, OPP_LASS, 16 + def_object_events + object_event 8, 5, SPRITE_SUPER_NERD, STAY, RIGHT, 1, OPP_SUPER_NERD, 3 + object_event 13, 9, SPRITE_GAMBLER, STAY, UP, 2, OPP_GAMBLER, 5 + object_event 42, 6, SPRITE_SUPER_NERD, STAY, UP, 3, OPP_SUPER_NERD, 4 + object_event 26, 3, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_LASS, 13 + object_event 26, 4, SPRITE_SUPER_NERD, STAY, RIGHT, 5, OPP_SUPER_NERD, 5 + object_event 26, 5, SPRITE_COOLTRAINER_F, STAY, LEFT, 6, OPP_LASS, 14 + object_event 26, 6, SPRITE_COOLTRAINER_F, STAY, RIGHT, 7, OPP_LASS, 15 + object_event 46, 13, SPRITE_GAMBLER, STAY, DOWN, 8, OPP_GAMBLER, 7 + object_event 51, 12, SPRITE_COOLTRAINER_F, STAY, LEFT, 9, OPP_LASS, 16 def_warps_to ROUTE_8 diff --git a/data/maps/objects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm index f03530b5..89a79d87 100644 --- a/data/maps/objects/Route8Gate.asm +++ b/data/maps/objects/Route8Gate.asm @@ -1,15 +1,15 @@ Route8Gate_Object: db $a ; border block - def_warps - warp 0, 3, 0, LAST_MAP - warp 0, 4, 1, LAST_MAP - warp 5, 3, 2, LAST_MAP - warp 5, 4, 3, LAST_MAP + def_warp_events + warp_event 0, 3, LAST_MAP, 0 + warp_event 0, 4, LAST_MAP, 1 + warp_event 5, 3, LAST_MAP, 2 + warp_event 5, 4, LAST_MAP, 3 - def_signs + def_bg_events - def_objects - object SPRITE_GUARD, 2, 1, STAY, DOWN, 1 ; person + def_object_events + object_event 2, 1, SPRITE_GUARD, STAY, DOWN, 1 ; person def_warps_to ROUTE_8_GATE diff --git a/data/maps/objects/Route9.asm b/data/maps/objects/Route9.asm index 8d110629..7960af20 100644 --- a/data/maps/objects/Route9.asm +++ b/data/maps/objects/Route9.asm @@ -1,21 +1,21 @@ Route9_Object: db $2c ; border block - def_warps + def_warp_events - def_signs - sign 25, 7, 11 ; Route9Text11 + def_bg_events + bg_event 25, 7, 11 ; Route9Text11 - def_objects - object SPRITE_COOLTRAINER_F, 13, 10, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5 - object SPRITE_COOLTRAINER_M, 24, 7, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7 - object SPRITE_COOLTRAINER_M, 31, 7, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8 - object SPRITE_COOLTRAINER_F, 48, 8, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 6 - object SPRITE_HIKER, 16, 15, STAY, LEFT, 5, OPP_HIKER, 11 - object SPRITE_HIKER, 43, 3, STAY, LEFT, 6, OPP_HIKER, 6 - object SPRITE_YOUNGSTER, 22, 2, STAY, DOWN, 7, OPP_BUG_CATCHER, 13 - object SPRITE_HIKER, 45, 15, STAY, RIGHT, 8, OPP_HIKER, 5 - object SPRITE_YOUNGSTER, 40, 8, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14 - object SPRITE_POKE_BALL, 10, 15, STAY, NONE, 10, TM_TELEPORT + def_object_events + object_event 13, 10, SPRITE_COOLTRAINER_F, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5 + object_event 24, 7, SPRITE_COOLTRAINER_M, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7 + object_event 31, 7, SPRITE_COOLTRAINER_M, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8 + object_event 48, 8, SPRITE_COOLTRAINER_F, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 6 + object_event 16, 15, SPRITE_HIKER, STAY, LEFT, 5, OPP_HIKER, 11 + object_event 43, 3, SPRITE_HIKER, STAY, LEFT, 6, OPP_HIKER, 6 + object_event 22, 2, SPRITE_YOUNGSTER, STAY, DOWN, 7, OPP_BUG_CATCHER, 13 + object_event 45, 15, SPRITE_HIKER, STAY, RIGHT, 8, OPP_HIKER, 5 + object_event 40, 8, SPRITE_YOUNGSTER, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14 + object_event 10, 15, SPRITE_POKE_BALL, STAY, NONE, 10, TM_TELEPORT def_warps_to ROUTE_9 diff --git a/data/maps/objects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm index bf4e7292..dcdd73f9 100644 --- a/data/maps/objects/SSAnne1F.asm +++ b/data/maps/objects/SSAnne1F.asm @@ -1,23 +1,23 @@ SSAnne1F_Object: db $c ; border block - def_warps - warp 26, 0, 1, VERMILION_DOCK - warp 27, 0, 1, VERMILION_DOCK - warp 31, 8, 0, SS_ANNE_1F_ROOMS - warp 23, 8, 1, SS_ANNE_1F_ROOMS - warp 19, 8, 2, SS_ANNE_1F_ROOMS - warp 15, 8, 3, SS_ANNE_1F_ROOMS - warp 11, 8, 4, SS_ANNE_1F_ROOMS - warp 7, 8, 5, SS_ANNE_1F_ROOMS - warp 2, 6, 6, SS_ANNE_2F - warp 37, 15, 5, SS_ANNE_B1F - warp 3, 16, 0, SS_ANNE_KITCHEN + def_warp_events + warp_event 26, 0, VERMILION_DOCK, 1 + warp_event 27, 0, VERMILION_DOCK, 1 + warp_event 31, 8, SS_ANNE_1F_ROOMS, 0 + warp_event 23, 8, SS_ANNE_1F_ROOMS, 1 + warp_event 19, 8, SS_ANNE_1F_ROOMS, 2 + warp_event 15, 8, SS_ANNE_1F_ROOMS, 3 + warp_event 11, 8, SS_ANNE_1F_ROOMS, 4 + warp_event 7, 8, SS_ANNE_1F_ROOMS, 5 + warp_event 2, 6, SS_ANNE_2F, 6 + warp_event 37, 15, SS_ANNE_B1F, 5 + warp_event 3, 16, SS_ANNE_KITCHEN, 0 - def_signs + def_bg_events - def_objects - object SPRITE_WAITER, 12, 6, WALK, LEFT_RIGHT, 1 ; person - object SPRITE_SAILOR, 27, 5, STAY, NONE, 2 ; person + def_object_events + object_event 12, 6, SPRITE_WAITER, WALK, LEFT_RIGHT, 1 ; person + object_event 27, 5, SPRITE_SAILOR, STAY, NONE, 2 ; person def_warps_to SS_ANNE_1F diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm index 3a1fc459..b4967492 100644 --- a/data/maps/objects/SSAnne1FRooms.asm +++ b/data/maps/objects/SSAnne1FRooms.asm @@ -1,27 +1,27 @@ SSAnne1FRooms_Object: db $c ; border block - def_warps - warp 0, 0, 2, SS_ANNE_1F - warp 10, 0, 3, SS_ANNE_1F - warp 20, 0, 4, SS_ANNE_1F - warp 0, 10, 5, SS_ANNE_1F - warp 10, 10, 6, SS_ANNE_1F - warp 20, 10, 7, SS_ANNE_1F + def_warp_events + warp_event 0, 0, SS_ANNE_1F, 2 + warp_event 10, 0, SS_ANNE_1F, 3 + warp_event 20, 0, SS_ANNE_1F, 4 + warp_event 0, 10, SS_ANNE_1F, 5 + warp_event 10, 10, SS_ANNE_1F, 6 + warp_event 20, 10, SS_ANNE_1F, 7 - def_signs + def_bg_events - def_objects - object SPRITE_GENTLEMAN, 2, 3, STAY, LEFT, 1, OPP_GENTLEMAN, 1 - object SPRITE_GENTLEMAN, 11, 4, STAY, UP, 2, OPP_GENTLEMAN, 2 - object SPRITE_YOUNGSTER, 11, 14, STAY, UP, 3, OPP_YOUNGSTER, 8 - object SPRITE_COOLTRAINER_F, 13, 11, STAY, LEFT, 4, OPP_LASS, 11 - object SPRITE_GIRL, 22, 3, WALK, UP_DOWN, 5 ; person - object SPRITE_MIDDLE_AGED_MAN, 0, 14, STAY, NONE, 6 ; person - object SPRITE_LITTLE_GIRL, 2, 11, STAY, DOWN, 7 ; person - object SPRITE_FAIRY, 3, 11, STAY, DOWN, 8 ; person - object SPRITE_GIRL, 10, 13, STAY, RIGHT, 9 ; person - object SPRITE_POKE_BALL, 12, 15, STAY, NONE, 10, TM_BODY_SLAM - object SPRITE_GENTLEMAN, 21, 13, WALK, LEFT_RIGHT, 11 ; person + def_object_events + object_event 2, 3, SPRITE_GENTLEMAN, STAY, LEFT, 1, OPP_GENTLEMAN, 1 + object_event 11, 4, SPRITE_GENTLEMAN, STAY, UP, 2, OPP_GENTLEMAN, 2 + object_event 11, 14, SPRITE_YOUNGSTER, STAY, UP, 3, OPP_YOUNGSTER, 8 + object_event 13, 11, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_LASS, 11 + object_event 22, 3, SPRITE_GIRL, WALK, UP_DOWN, 5 ; person + object_event 0, 14, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 6 ; person + object_event 2, 11, SPRITE_LITTLE_GIRL, STAY, DOWN, 7 ; person + object_event 3, 11, SPRITE_FAIRY, STAY, DOWN, 8 ; person + object_event 10, 13, SPRITE_GIRL, STAY, RIGHT, 9 ; person + object_event 12, 15, SPRITE_POKE_BALL, STAY, NONE, 10, TM_BODY_SLAM + object_event 21, 13, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 11 ; person def_warps_to SS_ANNE_1F_ROOMS diff --git a/data/maps/objects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm index dda0fee6..e582252e 100644 --- a/data/maps/objects/SSAnne2F.asm +++ b/data/maps/objects/SSAnne2F.asm @@ -1,21 +1,21 @@ SSAnne2F_Object: db $c ; border block - def_warps - warp 9, 11, 0, SS_ANNE_2F_ROOMS - warp 13, 11, 2, SS_ANNE_2F_ROOMS - warp 17, 11, 4, SS_ANNE_2F_ROOMS - warp 21, 11, 6, SS_ANNE_2F_ROOMS - warp 25, 11, 8, SS_ANNE_2F_ROOMS - warp 29, 11, 10, SS_ANNE_2F_ROOMS - warp 2, 4, 8, SS_ANNE_1F - warp 2, 12, 1, SS_ANNE_3F - warp 36, 4, 0, SS_ANNE_CAPTAINS_ROOM + def_warp_events + warp_event 9, 11, SS_ANNE_2F_ROOMS, 0 + warp_event 13, 11, SS_ANNE_2F_ROOMS, 2 + warp_event 17, 11, SS_ANNE_2F_ROOMS, 4 + warp_event 21, 11, SS_ANNE_2F_ROOMS, 6 + warp_event 25, 11, SS_ANNE_2F_ROOMS, 8 + warp_event 29, 11, SS_ANNE_2F_ROOMS, 10 + warp_event 2, 4, SS_ANNE_1F, 8 + warp_event 2, 12, SS_ANNE_3F, 1 + warp_event 36, 4, SS_ANNE_CAPTAINS_ROOM, 0 - def_signs + def_bg_events - def_objects - object SPRITE_WAITER, 3, 7, WALK, UP_DOWN, 1 ; person - object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_RIVAL1, 1 + def_object_events + object_event 3, 7, SPRITE_WAITER, WALK, UP_DOWN, 1 ; person + object_event 36, 4, SPRITE_BLUE, STAY, DOWN, 2, OPP_RIVAL1, 1 def_warps_to SS_ANNE_2F diff --git a/data/maps/objects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm index 78a2dd38..21948e65 100644 --- a/data/maps/objects/SSAnne2FRooms.asm +++ b/data/maps/objects/SSAnne2FRooms.asm @@ -1,35 +1,35 @@ SSAnne2FRooms_Object: db $c ; border block - def_warps - warp 2, 5, 0, SS_ANNE_2F - warp 3, 5, 0, SS_ANNE_2F - warp 12, 5, 1, SS_ANNE_2F - warp 13, 5, 1, SS_ANNE_2F - warp 22, 5, 2, SS_ANNE_2F - warp 23, 5, 2, SS_ANNE_2F - warp 2, 15, 3, SS_ANNE_2F - warp 3, 15, 3, SS_ANNE_2F - warp 12, 15, 4, SS_ANNE_2F - warp 13, 15, 4, SS_ANNE_2F - warp 22, 15, 5, SS_ANNE_2F - warp 23, 15, 5, SS_ANNE_2F + def_warp_events + warp_event 2, 5, SS_ANNE_2F, 0 + warp_event 3, 5, SS_ANNE_2F, 0 + warp_event 12, 5, SS_ANNE_2F, 1 + warp_event 13, 5, SS_ANNE_2F, 1 + warp_event 22, 5, SS_ANNE_2F, 2 + warp_event 23, 5, SS_ANNE_2F, 2 + warp_event 2, 15, SS_ANNE_2F, 3 + warp_event 3, 15, SS_ANNE_2F, 3 + warp_event 12, 15, SS_ANNE_2F, 4 + warp_event 13, 15, SS_ANNE_2F, 4 + warp_event 22, 15, SS_ANNE_2F, 5 + warp_event 23, 15, SS_ANNE_2F, 5 - def_signs + def_bg_events - def_objects - object SPRITE_GENTLEMAN, 10, 2, STAY, RIGHT, 1, OPP_GENTLEMAN, 3 - object SPRITE_FISHER, 13, 4, STAY, LEFT, 2, OPP_FISHER, 1 - object SPRITE_GENTLEMAN, 0, 14, STAY, RIGHT, 3, OPP_GENTLEMAN, 5 - object SPRITE_COOLTRAINER_F, 2, 11, STAY, DOWN, 4, OPP_LASS, 12 - object SPRITE_GENTLEMAN, 1, 2, STAY, DOWN, 5 ; person - object SPRITE_POKE_BALL, 12, 1, STAY, NONE, 6, MAX_ETHER - object SPRITE_GENTLEMAN, 21, 2, STAY, DOWN, 7 ; person - object SPRITE_GRAMPS, 22, 1, STAY, DOWN, 8 ; person - object SPRITE_POKE_BALL, 0, 12, STAY, NONE, 9, RARE_CANDY - object SPRITE_GENTLEMAN, 12, 12, STAY, DOWN, 10 ; person - object SPRITE_LITTLE_BOY, 11, 14, STAY, NONE, 11 ; person - object SPRITE_BRUNETTE_GIRL, 22, 12, STAY, LEFT, 12 ; person - object SPRITE_BEAUTY, 20, 12, STAY, RIGHT, 13 ; person + def_object_events + object_event 10, 2, SPRITE_GENTLEMAN, STAY, RIGHT, 1, OPP_GENTLEMAN, 3 + object_event 13, 4, SPRITE_FISHER, STAY, LEFT, 2, OPP_FISHER, 1 + object_event 0, 14, SPRITE_GENTLEMAN, STAY, RIGHT, 3, OPP_GENTLEMAN, 5 + object_event 2, 11, SPRITE_COOLTRAINER_F, STAY, DOWN, 4, OPP_LASS, 12 + object_event 1, 2, SPRITE_GENTLEMAN, STAY, DOWN, 5 ; person + object_event 12, 1, SPRITE_POKE_BALL, STAY, NONE, 6, MAX_ETHER + object_event 21, 2, SPRITE_GENTLEMAN, STAY, DOWN, 7 ; person + object_event 22, 1, SPRITE_GRAMPS, STAY, DOWN, 8 ; person + object_event 0, 12, SPRITE_POKE_BALL, STAY, NONE, 9, RARE_CANDY + object_event 12, 12, SPRITE_GENTLEMAN, STAY, DOWN, 10 ; person + object_event 11, 14, SPRITE_LITTLE_BOY, STAY, NONE, 11 ; person + object_event 22, 12, SPRITE_BRUNETTE_GIRL, STAY, LEFT, 12 ; person + object_event 20, 12, SPRITE_BEAUTY, STAY, RIGHT, 13 ; person def_warps_to SS_ANNE_2F_ROOMS diff --git a/data/maps/objects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm index f230aeb9..a91c3646 100644 --- a/data/maps/objects/SSAnne3F.asm +++ b/data/maps/objects/SSAnne3F.asm @@ -1,13 +1,13 @@ SSAnne3F_Object: db $c ; border block - def_warps - warp 0, 3, 0, SS_ANNE_BOW - warp 19, 3, 7, SS_ANNE_2F + def_warp_events + warp_event 0, 3, SS_ANNE_BOW, 0 + warp_event 19, 3, SS_ANNE_2F, 7 - def_signs + def_bg_events - def_objects - object SPRITE_SAILOR, 9, 3, WALK, LEFT_RIGHT, 1 ; person + def_object_events + object_event 9, 3, SPRITE_SAILOR, WALK, LEFT_RIGHT, 1 ; person def_warps_to SS_ANNE_3F diff --git a/data/maps/objects/SSAnneB1F.asm b/data/maps/objects/SSAnneB1F.asm index 619dd33c..a63caeb9 100644 --- a/data/maps/objects/SSAnneB1F.asm +++ b/data/maps/objects/SSAnneB1F.asm @@ -1,16 +1,16 @@ SSAnneB1F_Object: db $c ; border block - def_warps - warp 23, 3, 8, SS_ANNE_B1F_ROOMS - warp 19, 3, 6, SS_ANNE_B1F_ROOMS - warp 15, 3, 4, SS_ANNE_B1F_ROOMS - warp 11, 3, 2, SS_ANNE_B1F_ROOMS - warp 7, 3, 0, SS_ANNE_B1F_ROOMS - warp 27, 5, 9, SS_ANNE_1F + def_warp_events + warp_event 23, 3, SS_ANNE_B1F_ROOMS, 8 + warp_event 19, 3, SS_ANNE_B1F_ROOMS, 6 + warp_event 15, 3, SS_ANNE_B1F_ROOMS, 4 + warp_event 11, 3, SS_ANNE_B1F_ROOMS, 2 + warp_event 7, 3, SS_ANNE_B1F_ROOMS, 0 + warp_event 27, 5, SS_ANNE_1F, 9 - def_signs + def_bg_events - def_objects + def_object_events def_warps_to SS_ANNE_B1F diff --git a/data/maps/objects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm index c7540482..23f7a2f2 100644 --- a/data/maps/objects/SSAnneB1FRooms.asm +++ b/data/maps/objects/SSAnneB1FRooms.asm @@ -1,31 +1,31 @@ SSAnneB1FRooms_Object: db $c ; border block - def_warps - warp 2, 5, 4, SS_ANNE_B1F - warp 3, 5, 4, SS_ANNE_B1F - warp 12, 5, 3, SS_ANNE_B1F - warp 13, 5, 3, SS_ANNE_B1F - warp 22, 5, 2, SS_ANNE_B1F - warp 23, 5, 2, SS_ANNE_B1F - warp 2, 15, 1, SS_ANNE_B1F - warp 3, 15, 1, SS_ANNE_B1F - warp 12, 15, 0, SS_ANNE_B1F - warp 13, 15, 0, SS_ANNE_B1F + def_warp_events + warp_event 2, 5, SS_ANNE_B1F, 4 + warp_event 3, 5, SS_ANNE_B1F, 4 + warp_event 12, 5, SS_ANNE_B1F, 3 + warp_event 13, 5, SS_ANNE_B1F, 3 + warp_event 22, 5, SS_ANNE_B1F, 2 + warp_event 23, 5, SS_ANNE_B1F, 2 + warp_event 2, 15, SS_ANNE_B1F, 1 + warp_event 3, 15, SS_ANNE_B1F, 1 + warp_event 12, 15, SS_ANNE_B1F, 0 + warp_event 13, 15, SS_ANNE_B1F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_SAILOR, 0, 13, STAY, DOWN, 1, OPP_SAILOR, 3 - object SPRITE_SAILOR, 2, 11, STAY, DOWN, 2, OPP_SAILOR, 4 - object SPRITE_SAILOR, 12, 3, STAY, LEFT, 3, OPP_SAILOR, 5 - object SPRITE_SAILOR, 22, 2, STAY, DOWN, 4, OPP_SAILOR, 6 - object SPRITE_SAILOR, 0, 2, STAY, RIGHT, 5, OPP_SAILOR, 7 - object SPRITE_FISHER, 0, 4, STAY, RIGHT, 6, OPP_FISHER, 2 - object SPRITE_SUPER_NERD, 10, 13, STAY, RIGHT, 7 ; person - object SPRITE_MONSTER, 11, 12, STAY, NONE, 8 ; person - object SPRITE_POKE_BALL, 20, 2, STAY, NONE, 9, ETHER - object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 10, TM_REST - object SPRITE_POKE_BALL, 12, 11, STAY, NONE, 11, MAX_POTION + def_object_events + object_event 0, 13, SPRITE_SAILOR, STAY, DOWN, 1, OPP_SAILOR, 3 + object_event 2, 11, SPRITE_SAILOR, STAY, DOWN, 2, OPP_SAILOR, 4 + object_event 12, 3, SPRITE_SAILOR, STAY, LEFT, 3, OPP_SAILOR, 5 + object_event 22, 2, SPRITE_SAILOR, STAY, DOWN, 4, OPP_SAILOR, 6 + object_event 0, 2, SPRITE_SAILOR, STAY, RIGHT, 5, OPP_SAILOR, 7 + object_event 0, 4, SPRITE_FISHER, STAY, RIGHT, 6, OPP_FISHER, 2 + object_event 10, 13, SPRITE_SUPER_NERD, STAY, RIGHT, 7 ; person + object_event 11, 12, SPRITE_MONSTER, STAY, NONE, 8 ; person + object_event 20, 2, SPRITE_POKE_BALL, STAY, NONE, 9, ETHER + object_event 10, 2, SPRITE_POKE_BALL, STAY, NONE, 10, TM_REST + object_event 12, 11, SPRITE_POKE_BALL, STAY, NONE, 11, MAX_POTION def_warps_to SS_ANNE_B1F_ROOMS diff --git a/data/maps/objects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm index 080fe623..ec0389df 100644 --- a/data/maps/objects/SSAnneBow.asm +++ b/data/maps/objects/SSAnneBow.asm @@ -1,17 +1,17 @@ SSAnneBow_Object: db $23 ; border block - def_warps - warp 13, 6, 0, SS_ANNE_3F - warp 13, 7, 0, SS_ANNE_3F + def_warp_events + warp_event 13, 6, SS_ANNE_3F, 0 + warp_event 13, 7, SS_ANNE_3F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_SUPER_NERD, 5, 2, STAY, UP, 1 ; person - object SPRITE_SAILOR, 4, 9, STAY, NONE, 2 ; person - object SPRITE_COOLTRAINER_M, 7, 11, STAY, NONE, 3 ; person - object SPRITE_SAILOR, 4, 4, STAY, DOWN, 4, OPP_SAILOR, 1 - object SPRITE_SAILOR, 10, 8, STAY, UP, 5, OPP_SAILOR, 2 + def_object_events + object_event 5, 2, SPRITE_SUPER_NERD, STAY, UP, 1 ; person + object_event 4, 9, SPRITE_SAILOR, STAY, NONE, 2 ; person + object_event 7, 11, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person + object_event 4, 4, SPRITE_SAILOR, STAY, DOWN, 4, OPP_SAILOR, 1 + object_event 10, 8, SPRITE_SAILOR, STAY, UP, 5, OPP_SAILOR, 2 def_warps_to SS_ANNE_BOW diff --git a/data/maps/objects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm index c07be59e..f91b301a 100644 --- a/data/maps/objects/SSAnneCaptainsRoom.asm +++ b/data/maps/objects/SSAnneCaptainsRoom.asm @@ -1,14 +1,14 @@ SSAnneCaptainsRoom_Object: db $c ; border block - def_warps - warp 0, 7, 8, SS_ANNE_2F + def_warp_events + warp_event 0, 7, SS_ANNE_2F, 8 - def_signs - sign 4, 1, 2 ; SSAnne7Text2 - sign 1, 2, 3 ; SSAnne7Text3 + def_bg_events + bg_event 4, 1, 2 ; SSAnne7Text2 + bg_event 1, 2, 3 ; SSAnne7Text3 - def_objects - object SPRITE_CAPTAIN, 4, 2, STAY, UP, 1 ; person + def_object_events + object_event 4, 2, SPRITE_CAPTAIN, STAY, UP, 1 ; person def_warps_to SS_ANNE_CAPTAINS_ROOM diff --git a/data/maps/objects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm index 75fc497f..bf6434e3 100644 --- a/data/maps/objects/SSAnneKitchen.asm +++ b/data/maps/objects/SSAnneKitchen.asm @@ -1,18 +1,18 @@ SSAnneKitchen_Object: db $c ; border block - def_warps - warp 6, 0, 10, SS_ANNE_1F + def_warp_events + warp_event 6, 0, SS_ANNE_1F, 10 - def_signs + def_bg_events - def_objects - object SPRITE_COOK, 1, 8, WALK, UP_DOWN, 1 ; person - object SPRITE_COOK, 5, 8, WALK, UP_DOWN, 2 ; person - object SPRITE_COOK, 9, 7, WALK, UP_DOWN, 3 ; person - object SPRITE_COOK, 13, 6, STAY, NONE, 4 ; person - object SPRITE_COOK, 13, 8, STAY, NONE, 5 ; person - object SPRITE_COOK, 13, 10, STAY, NONE, 6 ; person - object SPRITE_COOK, 11, 13, STAY, UP, 7 ; person + def_object_events + object_event 1, 8, SPRITE_COOK, WALK, UP_DOWN, 1 ; person + object_event 5, 8, SPRITE_COOK, WALK, UP_DOWN, 2 ; person + object_event 9, 7, SPRITE_COOK, WALK, UP_DOWN, 3 ; person + object_event 13, 6, SPRITE_COOK, STAY, NONE, 4 ; person + object_event 13, 8, SPRITE_COOK, STAY, NONE, 5 ; person + object_event 13, 10, SPRITE_COOK, STAY, NONE, 6 ; person + object_event 11, 13, SPRITE_COOK, STAY, UP, 7 ; person def_warps_to SS_ANNE_KITCHEN diff --git a/data/maps/objects/SafariZoneCenter.asm b/data/maps/objects/SafariZoneCenter.asm index 59f4e2a4..ceaf6266 100644 --- a/data/maps/objects/SafariZoneCenter.asm +++ b/data/maps/objects/SafariZoneCenter.asm @@ -1,22 +1,22 @@ SafariZoneCenter_Object: db $0 ; border block - def_warps - warp 14, 25, 2, SAFARI_ZONE_GATE - warp 15, 25, 3, SAFARI_ZONE_GATE - warp 0, 10, 4, SAFARI_ZONE_WEST - warp 0, 11, 5, SAFARI_ZONE_WEST - warp 14, 0, 4, SAFARI_ZONE_NORTH - warp 15, 0, 5, SAFARI_ZONE_NORTH - warp 29, 10, 2, SAFARI_ZONE_EAST - warp 29, 11, 3, SAFARI_ZONE_EAST - warp 17, 19, 0, SAFARI_ZONE_CENTER_REST_HOUSE + def_warp_events + warp_event 14, 25, SAFARI_ZONE_GATE, 2 + warp_event 15, 25, SAFARI_ZONE_GATE, 3 + warp_event 0, 10, SAFARI_ZONE_WEST, 4 + warp_event 0, 11, SAFARI_ZONE_WEST, 5 + warp_event 14, 0, SAFARI_ZONE_NORTH, 4 + warp_event 15, 0, SAFARI_ZONE_NORTH, 5 + warp_event 29, 10, SAFARI_ZONE_EAST, 2 + warp_event 29, 11, SAFARI_ZONE_EAST, 3 + warp_event 17, 19, SAFARI_ZONE_CENTER_REST_HOUSE, 0 - def_signs - sign 18, 20, 2 ; SafariZoneCenterText2 - sign 14, 22, 3 ; SafariZoneCenterText3 + def_bg_events + bg_event 18, 20, 2 ; SafariZoneCenterText2 + bg_event 14, 22, 3 ; SafariZoneCenterText3 - def_objects - object SPRITE_POKE_BALL, 14, 10, STAY, NONE, 1, NUGGET + def_object_events + object_event 14, 10, SPRITE_POKE_BALL, STAY, NONE, 1, NUGGET def_warps_to SAFARI_ZONE_CENTER diff --git a/data/maps/objects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm index 5b256347..34acd75f 100644 --- a/data/maps/objects/SafariZoneCenterRestHouse.asm +++ b/data/maps/objects/SafariZoneCenterRestHouse.asm @@ -1,14 +1,14 @@ SafariZoneCenterRestHouse_Object: db $a ; border block - def_warps - warp 2, 7, 8, SAFARI_ZONE_CENTER - warp 3, 7, 8, SAFARI_ZONE_CENTER + def_warp_events + warp_event 2, 7, SAFARI_ZONE_CENTER, 8 + warp_event 3, 7, SAFARI_ZONE_CENTER, 8 - def_signs + def_bg_events - def_objects - object SPRITE_GIRL, 3, 2, STAY, DOWN, 1 ; person - object SPRITE_SCIENTIST, 1, 4, WALK, UP_DOWN, 2 ; person + def_object_events + object_event 3, 2, SPRITE_GIRL, STAY, DOWN, 1 ; person + object_event 1, 4, SPRITE_SCIENTIST, WALK, UP_DOWN, 2 ; person def_warps_to SAFARI_ZONE_CENTER_REST_HOUSE diff --git a/data/maps/objects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm index 999c51b0..84074349 100644 --- a/data/maps/objects/SafariZoneEast.asm +++ b/data/maps/objects/SafariZoneEast.asm @@ -1,22 +1,22 @@ SafariZoneEast_Object: db $0 ; border block - def_warps - warp 0, 4, 6, SAFARI_ZONE_NORTH - warp 0, 5, 7, SAFARI_ZONE_NORTH - warp 0, 22, 6, SAFARI_ZONE_CENTER - warp 0, 23, 6, SAFARI_ZONE_CENTER - warp 25, 9, 0, SAFARI_ZONE_EAST_REST_HOUSE + def_warp_events + warp_event 0, 4, SAFARI_ZONE_NORTH, 6 + warp_event 0, 5, SAFARI_ZONE_NORTH, 7 + warp_event 0, 22, SAFARI_ZONE_CENTER, 6 + warp_event 0, 23, SAFARI_ZONE_CENTER, 6 + warp_event 25, 9, SAFARI_ZONE_EAST_REST_HOUSE, 0 - def_signs - sign 26, 10, 5 ; SafariZoneEastText5 - sign 6, 4, 6 ; SafariZoneEastText6 - sign 5, 23, 7 ; SafariZoneEastText7 + def_bg_events + bg_event 26, 10, 5 ; SafariZoneEastText5 + bg_event 6, 4, 6 ; SafariZoneEastText6 + bg_event 5, 23, 7 ; SafariZoneEastText7 - def_objects - object SPRITE_POKE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE - object SPRITE_POKE_BALL, 3, 7, STAY, NONE, 2, MAX_POTION - object SPRITE_POKE_BALL, 20, 13, STAY, NONE, 3, CARBOS - object SPRITE_POKE_BALL, 15, 12, STAY, NONE, 4, TM_EGG_BOMB + def_object_events + object_event 21, 10, SPRITE_POKE_BALL, STAY, NONE, 1, FULL_RESTORE + object_event 3, 7, SPRITE_POKE_BALL, STAY, NONE, 2, MAX_POTION + object_event 20, 13, SPRITE_POKE_BALL, STAY, NONE, 3, CARBOS + object_event 15, 12, SPRITE_POKE_BALL, STAY, NONE, 4, TM_EGG_BOMB def_warps_to SAFARI_ZONE_EAST diff --git a/data/maps/objects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm index 31940542..8f83a10a 100644 --- a/data/maps/objects/SafariZoneEastRestHouse.asm +++ b/data/maps/objects/SafariZoneEastRestHouse.asm @@ -1,15 +1,15 @@ SafariZoneEastRestHouse_Object: db $a ; border block - def_warps - warp 2, 7, 4, SAFARI_ZONE_EAST - warp 3, 7, 4, SAFARI_ZONE_EAST + def_warp_events + warp_event 2, 7, SAFARI_ZONE_EAST, 4 + warp_event 3, 7, SAFARI_ZONE_EAST, 4 - def_signs + def_bg_events - def_objects - object SPRITE_SCIENTIST, 1, 3, WALK, UP_DOWN, 1 ; person - object SPRITE_ROCKER, 4, 2, STAY, NONE, 2 ; person - object SPRITE_SILPH_WORKER, 5, 2, STAY, NONE, 3 ; person + def_object_events + object_event 1, 3, SPRITE_SCIENTIST, WALK, UP_DOWN, 1 ; person + object_event 4, 2, SPRITE_ROCKER, STAY, NONE, 2 ; person + object_event 5, 2, SPRITE_SILPH_WORKER, STAY, NONE, 3 ; person def_warps_to SAFARI_ZONE_EAST_REST_HOUSE diff --git a/data/maps/objects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm index 2423ae8a..c12cd4ee 100644 --- a/data/maps/objects/SafariZoneGate.asm +++ b/data/maps/objects/SafariZoneGate.asm @@ -1,16 +1,16 @@ SafariZoneGate_Object: db $a ; border block - def_warps - warp 3, 5, 4, LAST_MAP - warp 4, 5, 4, LAST_MAP - warp 3, 0, 0, SAFARI_ZONE_CENTER - warp 4, 0, 1, SAFARI_ZONE_CENTER + def_warp_events + warp_event 3, 5, LAST_MAP, 4 + warp_event 4, 5, LAST_MAP, 4 + warp_event 3, 0, SAFARI_ZONE_CENTER, 0 + warp_event 4, 0, SAFARI_ZONE_CENTER, 1 - def_signs + def_bg_events - def_objects - object SPRITE_SAFARI_ZONE_WORKER, 6, 2, STAY, LEFT, 1 ; person - object SPRITE_SAFARI_ZONE_WORKER, 1, 4, STAY, RIGHT, 2 ; person + def_object_events + object_event 6, 2, SPRITE_SAFARI_ZONE_WORKER, STAY, LEFT, 1 ; person + object_event 1, 4, SPRITE_SAFARI_ZONE_WORKER, STAY, RIGHT, 2 ; person def_warps_to SAFARI_ZONE_GATE diff --git a/data/maps/objects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm index 2094e742..b783a926 100644 --- a/data/maps/objects/SafariZoneNorth.asm +++ b/data/maps/objects/SafariZoneNorth.asm @@ -1,26 +1,26 @@ SafariZoneNorth_Object: db $0 ; border block - def_warps - warp 2, 35, 0, SAFARI_ZONE_WEST - warp 3, 35, 1, SAFARI_ZONE_WEST - warp 8, 35, 2, SAFARI_ZONE_WEST - warp 9, 35, 3, SAFARI_ZONE_WEST - warp 20, 35, 4, SAFARI_ZONE_CENTER - warp 21, 35, 5, SAFARI_ZONE_CENTER - warp 39, 30, 0, SAFARI_ZONE_EAST - warp 39, 31, 1, SAFARI_ZONE_EAST - warp 35, 3, 0, SAFARI_ZONE_NORTH_REST_HOUSE + def_warp_events + warp_event 2, 35, SAFARI_ZONE_WEST, 0 + warp_event 3, 35, SAFARI_ZONE_WEST, 1 + warp_event 8, 35, SAFARI_ZONE_WEST, 2 + warp_event 9, 35, SAFARI_ZONE_WEST, 3 + warp_event 20, 35, SAFARI_ZONE_CENTER, 4 + warp_event 21, 35, SAFARI_ZONE_CENTER, 5 + warp_event 39, 30, SAFARI_ZONE_EAST, 0 + warp_event 39, 31, SAFARI_ZONE_EAST, 1 + warp_event 35, 3, SAFARI_ZONE_NORTH_REST_HOUSE, 0 - def_signs - sign 36, 4, 3 ; SafariZoneNorthText3 - sign 4, 25, 4 ; SafariZoneNorthText4 - sign 13, 31, 5 ; SafariZoneNorthText5 - sign 19, 33, 6 ; SafariZoneNorthText6 - sign 26, 28, 7 ; SafariZoneNorthText7 + def_bg_events + bg_event 36, 4, 3 ; SafariZoneNorthText3 + bg_event 4, 25, 4 ; SafariZoneNorthText4 + bg_event 13, 31, 5 ; SafariZoneNorthText5 + bg_event 19, 33, 6 ; SafariZoneNorthText6 + bg_event 26, 28, 7 ; SafariZoneNorthText7 - def_objects - object SPRITE_POKE_BALL, 25, 1, STAY, NONE, 1, PROTEIN - object SPRITE_POKE_BALL, 19, 7, STAY, NONE, 2, TM_SKULL_BASH + def_object_events + object_event 25, 1, SPRITE_POKE_BALL, STAY, NONE, 1, PROTEIN + object_event 19, 7, SPRITE_POKE_BALL, STAY, NONE, 2, TM_SKULL_BASH def_warps_to SAFARI_ZONE_NORTH diff --git a/data/maps/objects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm index 38087622..4e178e99 100644 --- a/data/maps/objects/SafariZoneNorthRestHouse.asm +++ b/data/maps/objects/SafariZoneNorthRestHouse.asm @@ -1,15 +1,15 @@ SafariZoneNorthRestHouse_Object: db $a ; border block - def_warps - warp 2, 7, 8, SAFARI_ZONE_NORTH - warp 3, 7, 8, SAFARI_ZONE_NORTH + def_warp_events + warp_event 2, 7, SAFARI_ZONE_NORTH, 8 + warp_event 3, 7, SAFARI_ZONE_NORTH, 8 - def_signs + def_bg_events - def_objects - object SPRITE_SCIENTIST, 6, 3, WALK, LEFT_RIGHT, 1 ; person - object SPRITE_SAFARI_ZONE_WORKER, 3, 4, STAY, NONE, 2 ; person - object SPRITE_GENTLEMAN, 1, 5, WALK, UP_DOWN, 3 ; person + def_object_events + object_event 6, 3, SPRITE_SCIENTIST, WALK, LEFT_RIGHT, 1 ; person + object_event 3, 4, SPRITE_SAFARI_ZONE_WORKER, STAY, NONE, 2 ; person + object_event 1, 5, SPRITE_GENTLEMAN, WALK, UP_DOWN, 3 ; person def_warps_to SAFARI_ZONE_NORTH_REST_HOUSE diff --git a/data/maps/objects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm index 1431d711..439f4a95 100644 --- a/data/maps/objects/SafariZoneSecretHouse.asm +++ b/data/maps/objects/SafariZoneSecretHouse.asm @@ -1,13 +1,13 @@ SafariZoneSecretHouse_Object: db $17 ; border block - def_warps - warp 2, 7, 6, SAFARI_ZONE_WEST - warp 3, 7, 6, SAFARI_ZONE_WEST + def_warp_events + warp_event 2, 7, SAFARI_ZONE_WEST, 6 + warp_event 3, 7, SAFARI_ZONE_WEST, 6 - def_signs + def_bg_events - def_objects - object SPRITE_FISHING_GURU, 3, 3, STAY, DOWN, 1 ; person + def_object_events + object_event 3, 3, SPRITE_FISHING_GURU, STAY, DOWN, 1 ; person def_warps_to SAFARI_ZONE_SECRET_HOUSE diff --git a/data/maps/objects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm index d53ee37b..0ceb8fe9 100644 --- a/data/maps/objects/SafariZoneWest.asm +++ b/data/maps/objects/SafariZoneWest.asm @@ -1,26 +1,26 @@ SafariZoneWest_Object: db $0 ; border block - def_warps - warp 20, 0, 0, SAFARI_ZONE_NORTH - warp 21, 0, 1, SAFARI_ZONE_NORTH - warp 26, 0, 2, SAFARI_ZONE_NORTH - warp 27, 0, 3, SAFARI_ZONE_NORTH - warp 29, 22, 2, SAFARI_ZONE_CENTER - warp 29, 23, 3, SAFARI_ZONE_CENTER - warp 3, 3, 0, SAFARI_ZONE_SECRET_HOUSE - warp 11, 11, 0, SAFARI_ZONE_WEST_REST_HOUSE + def_warp_events + warp_event 20, 0, SAFARI_ZONE_NORTH, 0 + warp_event 21, 0, SAFARI_ZONE_NORTH, 1 + warp_event 26, 0, SAFARI_ZONE_NORTH, 2 + warp_event 27, 0, SAFARI_ZONE_NORTH, 3 + warp_event 29, 22, SAFARI_ZONE_CENTER, 2 + warp_event 29, 23, SAFARI_ZONE_CENTER, 3 + warp_event 3, 3, SAFARI_ZONE_SECRET_HOUSE, 0 + warp_event 11, 11, SAFARI_ZONE_WEST_REST_HOUSE, 0 - def_signs - sign 12, 12, 5 ; SafariZoneWestText5 - sign 17, 3, 6 ; SafariZoneWestText6 - sign 26, 4, 7 ; SafariZoneWestText7 - sign 24, 22, 8 ; SafariZoneWestText8 + def_bg_events + bg_event 12, 12, 5 ; SafariZoneWestText5 + bg_event 17, 3, 6 ; SafariZoneWestText6 + bg_event 26, 4, 7 ; SafariZoneWestText7 + bg_event 24, 22, 8 ; SafariZoneWestText8 - def_objects - object SPRITE_POKE_BALL, 8, 20, STAY, NONE, 1, MAX_POTION - object SPRITE_POKE_BALL, 9, 7, STAY, NONE, 2, TM_DOUBLE_TEAM - object SPRITE_POKE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE - object SPRITE_POKE_BALL, 19, 7, STAY, NONE, 4, GOLD_TEETH + def_object_events + object_event 8, 20, SPRITE_POKE_BALL, STAY, NONE, 1, MAX_POTION + object_event 9, 7, SPRITE_POKE_BALL, STAY, NONE, 2, TM_DOUBLE_TEAM + object_event 18, 18, SPRITE_POKE_BALL, STAY, NONE, 3, MAX_REVIVE + object_event 19, 7, SPRITE_POKE_BALL, STAY, NONE, 4, GOLD_TEETH def_warps_to SAFARI_ZONE_WEST diff --git a/data/maps/objects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm index 26bb481e..654c8913 100644 --- a/data/maps/objects/SafariZoneWestRestHouse.asm +++ b/data/maps/objects/SafariZoneWestRestHouse.asm @@ -1,15 +1,15 @@ SafariZoneWestRestHouse_Object: db $a ; border block - def_warps - warp 2, 7, 7, SAFARI_ZONE_WEST - warp 3, 7, 7, SAFARI_ZONE_WEST + def_warp_events + warp_event 2, 7, SAFARI_ZONE_WEST, 7 + warp_event 3, 7, SAFARI_ZONE_WEST, 7 - def_signs + def_bg_events - def_objects - object SPRITE_SCIENTIST, 4, 4, WALK, ANY_DIR, 1 ; person - object SPRITE_COOLTRAINER_M, 0, 2, STAY, RIGHT, 2 ; person - object SPRITE_ERIKA, 6, 2, STAY, DOWN, 3 ; person + def_object_events + object_event 4, 4, SPRITE_SCIENTIST, WALK, ANY_DIR, 1 ; person + object_event 0, 2, SPRITE_COOLTRAINER_M, STAY, RIGHT, 2 ; person + object_event 6, 2, SPRITE_ERIKA, STAY, DOWN, 3 ; person def_warps_to SAFARI_ZONE_WEST_REST_HOUSE diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm index f69b3333..c09a44de 100644 --- a/data/maps/objects/SaffronCity.asm +++ b/data/maps/objects/SaffronCity.asm @@ -1,43 +1,43 @@ SaffronCity_Object: db $f ; border block - def_warps - warp 7, 5, 0, COPYCATS_HOUSE_1F - warp 26, 3, 0, FIGHTING_DOJO - warp 34, 3, 0, SAFFRON_GYM - warp 13, 11, 0, SAFFRON_PIDGEY_HOUSE - warp 25, 11, 0, SAFFRON_MART - warp 18, 21, 0, SILPH_CO_1F - warp 9, 29, 0, SAFFRON_POKECENTER - warp 29, 29, 0, MR_PSYCHICS_HOUSE + def_warp_events + warp_event 7, 5, COPYCATS_HOUSE_1F, 0 + warp_event 26, 3, FIGHTING_DOJO, 0 + warp_event 34, 3, SAFFRON_GYM, 0 + warp_event 13, 11, SAFFRON_PIDGEY_HOUSE, 0 + warp_event 25, 11, SAFFRON_MART, 0 + warp_event 18, 21, SILPH_CO_1F, 0 + warp_event 9, 29, SAFFRON_POKECENTER, 0 + warp_event 29, 29, MR_PSYCHICS_HOUSE, 0 - def_signs - sign 17, 5, 16 ; SaffronCityText16 - sign 27, 5, 17 ; SaffronCityText17 - sign 35, 5, 18 ; SaffronCityText18 - sign 26, 11, 19 ; MartSignText - sign 39, 19, 20 ; SaffronCityText20 - sign 5, 21, 21 ; SaffronCityText21 - sign 15, 21, 22 ; SaffronCityText22 - sign 10, 29, 23 ; PokeCenterSignText - sign 27, 29, 24 ; SaffronCityText24 - sign 1, 19, 25 ; SaffronCityText25 + def_bg_events + bg_event 17, 5, 16 ; SaffronCityText16 + bg_event 27, 5, 17 ; SaffronCityText17 + bg_event 35, 5, 18 ; SaffronCityText18 + bg_event 26, 11, 19 ; MartSignText + bg_event 39, 19, 20 ; SaffronCityText20 + bg_event 5, 21, 21 ; SaffronCityText21 + bg_event 15, 21, 22 ; SaffronCityText22 + bg_event 10, 29, 23 ; PokeCenterSignText + bg_event 27, 29, 24 ; SaffronCityText24 + bg_event 1, 19, 25 ; SaffronCityText25 - def_objects - object SPRITE_ROCKET, 7, 6, STAY, NONE, 1 ; person - object SPRITE_ROCKET, 20, 8, WALK, LEFT_RIGHT, 2 ; person - object SPRITE_ROCKET, 34, 4, STAY, NONE, 3 ; person - object SPRITE_ROCKET, 13, 12, STAY, NONE, 4 ; person - object SPRITE_ROCKET, 11, 25, WALK, LEFT_RIGHT, 5 ; person - object SPRITE_ROCKET, 32, 13, WALK, LEFT_RIGHT, 6 ; person - object SPRITE_ROCKET, 18, 30, WALK, LEFT_RIGHT, 7 ; person - object SPRITE_SCIENTIST, 8, 14, WALK, ANY_DIR, 8 ; person - object SPRITE_SILPH_WORKER, 23, 23, STAY, NONE, 9 ; person - object SPRITE_ERIKA, 17, 30, WALK, LEFT_RIGHT, 10 ; person - object SPRITE_GENTLEMAN, 30, 12, STAY, DOWN, 11 ; person - object SPRITE_BIRD, 31, 12, STAY, DOWN, 12 ; person - object SPRITE_ROCKER, 18, 8, STAY, UP, 13 ; person - object SPRITE_ROCKET, 18, 22, STAY, DOWN, 14 ; person - object SPRITE_ROCKET, 19, 22, STAY, DOWN, 15 ; person + def_object_events + object_event 7, 6, SPRITE_ROCKET, STAY, NONE, 1 ; person + object_event 20, 8, SPRITE_ROCKET, WALK, LEFT_RIGHT, 2 ; person + object_event 34, 4, SPRITE_ROCKET, STAY, NONE, 3 ; person + object_event 13, 12, SPRITE_ROCKET, STAY, NONE, 4 ; person + object_event 11, 25, SPRITE_ROCKET, WALK, LEFT_RIGHT, 5 ; person + object_event 32, 13, SPRITE_ROCKET, WALK, LEFT_RIGHT, 6 ; person + object_event 18, 30, SPRITE_ROCKET, WALK, LEFT_RIGHT, 7 ; person + object_event 8, 14, SPRITE_SCIENTIST, WALK, ANY_DIR, 8 ; person + object_event 23, 23, SPRITE_SILPH_WORKER, STAY, NONE, 9 ; person + object_event 17, 30, SPRITE_ERIKA, WALK, LEFT_RIGHT, 10 ; person + object_event 30, 12, SPRITE_GENTLEMAN, STAY, DOWN, 11 ; person + object_event 31, 12, SPRITE_BIRD, STAY, DOWN, 12 ; person + object_event 18, 8, SPRITE_ROCKER, STAY, UP, 13 ; person + object_event 18, 22, SPRITE_ROCKET, STAY, DOWN, 14 ; person + object_event 19, 22, SPRITE_ROCKET, STAY, DOWN, 15 ; person def_warps_to SAFFRON_CITY diff --git a/data/maps/objects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm index 9623440a..c5d2f8dd 100644 --- a/data/maps/objects/SaffronGym.asm +++ b/data/maps/objects/SaffronGym.asm @@ -1,51 +1,51 @@ SaffronGym_Object: db $2e ; border block - def_warps - warp 8, 17, 2, LAST_MAP - warp 9, 17, 2, LAST_MAP - warp 1, 3, 22, SAFFRON_GYM - warp 5, 3, 15, SAFFRON_GYM - warp 1, 5, 18, SAFFRON_GYM - warp 5, 5, 8, SAFFRON_GYM - warp 1, 9, 27, SAFFRON_GYM - warp 5, 9, 16, SAFFRON_GYM - warp 1, 11, 5, SAFFRON_GYM - warp 5, 11, 13, SAFFRON_GYM - warp 1, 15, 23, SAFFRON_GYM - warp 5, 15, 30, SAFFRON_GYM - warp 1, 17, 17, SAFFRON_GYM - warp 5, 17, 9, SAFFRON_GYM - warp 9, 3, 26, SAFFRON_GYM - warp 11, 3, 3, SAFFRON_GYM - warp 9, 5, 7, SAFFRON_GYM - warp 11, 5, 12, SAFFRON_GYM - warp 11, 11, 4, SAFFRON_GYM - warp 11, 15, 31, SAFFRON_GYM - warp 15, 3, 24, SAFFRON_GYM - warp 19, 3, 28, SAFFRON_GYM - warp 15, 5, 2, SAFFRON_GYM - warp 19, 5, 10, SAFFRON_GYM - warp 15, 9, 20, SAFFRON_GYM - warp 19, 9, 29, SAFFRON_GYM - warp 15, 11, 14, SAFFRON_GYM - warp 19, 11, 6, SAFFRON_GYM - warp 15, 15, 21, SAFFRON_GYM - warp 19, 15, 25, SAFFRON_GYM - warp 15, 17, 11, SAFFRON_GYM - warp 19, 17, 19, SAFFRON_GYM + def_warp_events + warp_event 8, 17, LAST_MAP, 2 + warp_event 9, 17, LAST_MAP, 2 + warp_event 1, 3, SAFFRON_GYM, 22 + warp_event 5, 3, SAFFRON_GYM, 15 + warp_event 1, 5, SAFFRON_GYM, 18 + warp_event 5, 5, SAFFRON_GYM, 8 + warp_event 1, 9, SAFFRON_GYM, 27 + warp_event 5, 9, SAFFRON_GYM, 16 + warp_event 1, 11, SAFFRON_GYM, 5 + warp_event 5, 11, SAFFRON_GYM, 13 + warp_event 1, 15, SAFFRON_GYM, 23 + warp_event 5, 15, SAFFRON_GYM, 30 + warp_event 1, 17, SAFFRON_GYM, 17 + warp_event 5, 17, SAFFRON_GYM, 9 + warp_event 9, 3, SAFFRON_GYM, 26 + warp_event 11, 3, SAFFRON_GYM, 3 + warp_event 9, 5, SAFFRON_GYM, 7 + warp_event 11, 5, SAFFRON_GYM, 12 + warp_event 11, 11, SAFFRON_GYM, 4 + warp_event 11, 15, SAFFRON_GYM, 31 + warp_event 15, 3, SAFFRON_GYM, 24 + warp_event 19, 3, SAFFRON_GYM, 28 + warp_event 15, 5, SAFFRON_GYM, 2 + warp_event 19, 5, SAFFRON_GYM, 10 + warp_event 15, 9, SAFFRON_GYM, 20 + warp_event 19, 9, SAFFRON_GYM, 29 + warp_event 15, 11, SAFFRON_GYM, 14 + warp_event 19, 11, SAFFRON_GYM, 6 + warp_event 15, 15, SAFFRON_GYM, 21 + warp_event 19, 15, SAFFRON_GYM, 25 + warp_event 15, 17, SAFFRON_GYM, 11 + warp_event 19, 17, SAFFRON_GYM, 19 - def_signs + def_bg_events - def_objects - object SPRITE_GIRL, 9, 8, STAY, DOWN, 1, OPP_SABRINA, 1 - object SPRITE_CHANNELER, 10, 1, STAY, DOWN, 2, OPP_CHANNELER, 22 - object SPRITE_YOUNGSTER, 17, 1, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1 - object SPRITE_CHANNELER, 3, 7, STAY, DOWN, 4, OPP_CHANNELER, 23 - object SPRITE_YOUNGSTER, 17, 7, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2 - object SPRITE_CHANNELER, 3, 13, STAY, DOWN, 6, OPP_CHANNELER, 24 - object SPRITE_YOUNGSTER, 17, 13, STAY, DOWN, 7, OPP_PSYCHIC_TR, 3 - object SPRITE_YOUNGSTER, 3, 1, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4 - object SPRITE_GYM_GUIDE, 10, 15, STAY, DOWN, 9 ; person + def_object_events + object_event 9, 8, SPRITE_GIRL, STAY, DOWN, 1, OPP_SABRINA, 1 + object_event 10, 1, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 22 + object_event 17, 1, SPRITE_YOUNGSTER, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1 + object_event 3, 7, SPRITE_CHANNELER, STAY, DOWN, 4, OPP_CHANNELER, 23 + object_event 17, 7, SPRITE_YOUNGSTER, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2 + object_event 3, 13, SPRITE_CHANNELER, STAY, DOWN, 6, OPP_CHANNELER, 24 + object_event 17, 13, SPRITE_YOUNGSTER, STAY, DOWN, 7, OPP_PSYCHIC_TR, 3 + object_event 3, 1, SPRITE_YOUNGSTER, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4 + object_event 10, 15, SPRITE_GYM_GUIDE, STAY, DOWN, 9 ; person def_warps_to SAFFRON_GYM diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm index 0a9aed7a..9e7e345a 100644 --- a/data/maps/objects/SaffronMart.asm +++ b/data/maps/objects/SaffronMart.asm @@ -1,15 +1,15 @@ SaffronMart_Object: db $0 ; border block - def_warps - warp 3, 7, 4, LAST_MAP - warp 4, 7, 4, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 4 + warp_event 4, 7, LAST_MAP, 4 - def_signs + def_bg_events - def_objects - object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_SUPER_NERD, 4, 2, STAY, NONE, 2 ; person - object SPRITE_COOLTRAINER_F, 6, 5, WALK, ANY_DIR, 3 ; person + def_object_events + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 4, 2, SPRITE_SUPER_NERD, STAY, NONE, 2 ; person + object_event 6, 5, SPRITE_COOLTRAINER_F, WALK, ANY_DIR, 3 ; person def_warps_to SAFFRON_MART diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm index 59af6fc0..e2b0fa72 100644 --- a/data/maps/objects/SaffronPidgeyHouse.asm +++ b/data/maps/objects/SaffronPidgeyHouse.asm @@ -1,16 +1,16 @@ SaffronPidgeyHouse_Object: db $a ; border block - def_warps - warp 2, 7, 3, LAST_MAP - warp 3, 7, 3, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 3 + warp_event 3, 7, LAST_MAP, 3 - def_signs + def_bg_events - def_objects - object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person - object SPRITE_BIRD, 0, 4, WALK, UP_DOWN, 2 ; person - object SPRITE_YOUNGSTER, 4, 1, STAY, DOWN, 3 ; person - object SPRITE_PAPER, 3, 3, STAY, NONE, 4 ; person + def_object_events + object_event 2, 3, SPRITE_BRUNETTE_GIRL, STAY, RIGHT, 1 ; person + object_event 0, 4, SPRITE_BIRD, WALK, UP_DOWN, 2 ; person + object_event 4, 1, SPRITE_YOUNGSTER, STAY, DOWN, 3 ; person + object_event 3, 3, SPRITE_PAPER, STAY, NONE, 4 ; person def_warps_to SAFFRON_PIDGEY_HOUSE diff --git a/data/maps/objects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm index aa6161ca..eb03932c 100644 --- a/data/maps/objects/SaffronPokecenter.asm +++ b/data/maps/objects/SaffronPokecenter.asm @@ -1,16 +1,16 @@ SaffronPokecenter_Object: db $0 ; border block - def_warps - warp 3, 7, 6, LAST_MAP - warp 4, 7, 6, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 6 + warp_event 4, 7, LAST_MAP, 6 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_BEAUTY, 5, 5, STAY, NONE, 2 ; person - object SPRITE_GENTLEMAN, 8, 3, STAY, DOWN, 3 ; person - object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 5, 5, SPRITE_BEAUTY, STAY, NONE, 2 ; person + object_event 8, 3, SPRITE_GENTLEMAN, STAY, DOWN, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to SAFFRON_POKECENTER diff --git a/data/maps/objects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm index 3d92f199..db6b5056 100644 --- a/data/maps/objects/SeafoamIslands1F.asm +++ b/data/maps/objects/SeafoamIslands1F.asm @@ -1,20 +1,20 @@ SeafoamIslands1F_Object: db $7d ; border block - def_warps - warp 4, 17, 0, LAST_MAP - warp 5, 17, 0, LAST_MAP - warp 26, 17, 1, LAST_MAP - warp 27, 17, 1, LAST_MAP - warp 7, 5, 1, SEAFOAM_ISLANDS_B1F - warp 25, 3, 6, SEAFOAM_ISLANDS_B1F - warp 23, 15, 4, SEAFOAM_ISLANDS_B1F + def_warp_events + warp_event 4, 17, LAST_MAP, 0 + warp_event 5, 17, LAST_MAP, 0 + warp_event 26, 17, LAST_MAP, 1 + warp_event 27, 17, LAST_MAP, 1 + warp_event 7, 5, SEAFOAM_ISLANDS_B1F, 1 + warp_event 25, 3, SEAFOAM_ISLANDS_B1F, 6 + warp_event 23, 15, SEAFOAM_ISLANDS_B1F, 4 - def_signs + def_bg_events - def_objects - object SPRITE_BOULDER, 18, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object SPRITE_BOULDER, 26, 7, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + def_object_events + object_event 18, 10, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person + object_event 26, 7, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person def_warps_to SEAFOAM_ISLANDS_1F diff --git a/data/maps/objects/SeafoamIslandsB1F.asm b/data/maps/objects/SeafoamIslandsB1F.asm index c9a4d235..7a631653 100644 --- a/data/maps/objects/SeafoamIslandsB1F.asm +++ b/data/maps/objects/SeafoamIslandsB1F.asm @@ -1,19 +1,19 @@ SeafoamIslandsB1F_Object: db $7d ; border block - def_warps - warp 4, 2, 0, SEAFOAM_ISLANDS_B2F - warp 7, 5, 4, SEAFOAM_ISLANDS_1F - warp 13, 7, 2, SEAFOAM_ISLANDS_B2F - warp 19, 15, 3, SEAFOAM_ISLANDS_B2F - warp 23, 15, 6, SEAFOAM_ISLANDS_1F - warp 25, 11, 5, SEAFOAM_ISLANDS_B2F - warp 25, 3, 5, SEAFOAM_ISLANDS_1F + def_warp_events + warp_event 4, 2, SEAFOAM_ISLANDS_B2F, 0 + warp_event 7, 5, SEAFOAM_ISLANDS_1F, 4 + warp_event 13, 7, SEAFOAM_ISLANDS_B2F, 2 + warp_event 19, 15, SEAFOAM_ISLANDS_B2F, 3 + warp_event 23, 15, SEAFOAM_ISLANDS_1F, 6 + warp_event 25, 11, SEAFOAM_ISLANDS_B2F, 5 + warp_event 25, 3, SEAFOAM_ISLANDS_1F, 5 - def_signs + def_bg_events - def_objects - object SPRITE_BOULDER, 17, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object SPRITE_BOULDER, 22, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + def_object_events + object_event 17, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person + object_event 22, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person def_warps_to SEAFOAM_ISLANDS_B1F diff --git a/data/maps/objects/SeafoamIslandsB2F.asm b/data/maps/objects/SeafoamIslandsB2F.asm index ff9e55fd..f152eb97 100644 --- a/data/maps/objects/SeafoamIslandsB2F.asm +++ b/data/maps/objects/SeafoamIslandsB2F.asm @@ -1,19 +1,19 @@ SeafoamIslandsB2F_Object: db $7d ; border block - def_warps - warp 5, 3, 0, SEAFOAM_ISLANDS_B1F - warp 5, 13, 0, SEAFOAM_ISLANDS_B3F - warp 13, 7, 2, SEAFOAM_ISLANDS_B1F - warp 19, 15, 3, SEAFOAM_ISLANDS_B1F - warp 25, 3, 3, SEAFOAM_ISLANDS_B3F - warp 25, 11, 5, SEAFOAM_ISLANDS_B1F - warp 25, 14, 4, SEAFOAM_ISLANDS_B3F + def_warp_events + warp_event 5, 3, SEAFOAM_ISLANDS_B1F, 0 + warp_event 5, 13, SEAFOAM_ISLANDS_B3F, 0 + warp_event 13, 7, SEAFOAM_ISLANDS_B1F, 2 + warp_event 19, 15, SEAFOAM_ISLANDS_B1F, 3 + warp_event 25, 3, SEAFOAM_ISLANDS_B3F, 3 + warp_event 25, 11, SEAFOAM_ISLANDS_B1F, 5 + warp_event 25, 14, SEAFOAM_ISLANDS_B3F, 4 - def_signs + def_bg_events - def_objects - object SPRITE_BOULDER, 18, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object SPRITE_BOULDER, 23, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + def_object_events + object_event 18, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person + object_event 23, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person def_warps_to SEAFOAM_ISLANDS_B2F diff --git a/data/maps/objects/SeafoamIslandsB3F.asm b/data/maps/objects/SeafoamIslandsB3F.asm index 418cdde6..530b7b7e 100644 --- a/data/maps/objects/SeafoamIslandsB3F.asm +++ b/data/maps/objects/SeafoamIslandsB3F.asm @@ -1,23 +1,23 @@ SeafoamIslandsB3F_Object: db $7d ; border block - def_warps - warp 5, 12, 1, SEAFOAM_ISLANDS_B2F - warp 8, 6, 2, SEAFOAM_ISLANDS_B4F - warp 25, 4, 3, SEAFOAM_ISLANDS_B4F - warp 25, 3, 4, SEAFOAM_ISLANDS_B2F - warp 25, 14, 6, SEAFOAM_ISLANDS_B2F - warp 20, 17, 0, SEAFOAM_ISLANDS_B4F - warp 21, 17, 1, SEAFOAM_ISLANDS_B4F + def_warp_events + warp_event 5, 12, SEAFOAM_ISLANDS_B2F, 1 + warp_event 8, 6, SEAFOAM_ISLANDS_B4F, 2 + warp_event 25, 4, SEAFOAM_ISLANDS_B4F, 3 + warp_event 25, 3, SEAFOAM_ISLANDS_B2F, 4 + warp_event 25, 14, SEAFOAM_ISLANDS_B2F, 6 + warp_event 20, 17, SEAFOAM_ISLANDS_B4F, 0 + warp_event 21, 17, SEAFOAM_ISLANDS_B4F, 1 - def_signs + def_bg_events - def_objects - object SPRITE_BOULDER, 5, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object SPRITE_BOULDER, 3, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person - object SPRITE_BOULDER, 8, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person - object SPRITE_BOULDER, 9, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 4 ; person - object SPRITE_BOULDER, 18, 6, STAY, NONE, 5 ; person - object SPRITE_BOULDER, 19, 6, STAY, NONE, 6 ; person + def_object_events + object_event 5, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person + object_event 3, 15, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + object_event 8, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person + object_event 9, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 4 ; person + object_event 18, 6, SPRITE_BOULDER, STAY, NONE, 5 ; person + object_event 19, 6, SPRITE_BOULDER, STAY, NONE, 6 ; person def_warps_to SEAFOAM_ISLANDS_B3F diff --git a/data/maps/objects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm index f2d35831..602fcda3 100644 --- a/data/maps/objects/SeafoamIslandsB4F.asm +++ b/data/maps/objects/SeafoamIslandsB4F.asm @@ -1,19 +1,19 @@ SeafoamIslandsB4F_Object: db $7d ; border block - def_warps - warp 20, 17, 5, SEAFOAM_ISLANDS_B3F - warp 21, 17, 6, SEAFOAM_ISLANDS_B3F - warp 11, 7, 1, SEAFOAM_ISLANDS_B3F - warp 25, 4, 2, SEAFOAM_ISLANDS_B3F + def_warp_events + warp_event 20, 17, SEAFOAM_ISLANDS_B3F, 5 + warp_event 21, 17, SEAFOAM_ISLANDS_B3F, 6 + warp_event 11, 7, SEAFOAM_ISLANDS_B3F, 1 + warp_event 25, 4, SEAFOAM_ISLANDS_B3F, 2 - def_signs - sign 9, 15, 4 ; SeafoamIslands5Text4 - sign 23, 1, 5 ; SeafoamIslands5Text5 + def_bg_events + bg_event 9, 15, 4 ; SeafoamIslands5Text4 + bg_event 23, 1, 5 ; SeafoamIslands5Text5 - def_objects - object SPRITE_BOULDER, 4, 15, STAY, NONE, 1 ; person - object SPRITE_BOULDER, 5, 15, STAY, NONE, 2 ; person - object SPRITE_BIRD, 6, 1, STAY, DOWN, 3, ARTICUNO, 50 + def_object_events + object_event 4, 15, SPRITE_BOULDER, STAY, NONE, 1 ; person + object_event 5, 15, SPRITE_BOULDER, STAY, NONE, 2 ; person + object_event 6, 1, SPRITE_BIRD, STAY, DOWN, 3, ARTICUNO, 50 def_warps_to SEAFOAM_ISLANDS_B4F diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm index 6840c13a..031713e9 100644 --- a/data/maps/objects/SilphCo10F.asm +++ b/data/maps/objects/SilphCo10F.asm @@ -1,22 +1,22 @@ SilphCo10F_Object: db $2e ; border block - def_warps - warp 8, 0, 0, SILPH_CO_9F - warp 10, 0, 0, SILPH_CO_11F - warp 12, 0, 0, SILPH_CO_ELEVATOR - warp 9, 11, 3, SILPH_CO_4F - warp 13, 15, 5, SILPH_CO_4F - warp 13, 7, 6, SILPH_CO_4F + def_warp_events + warp_event 8, 0, SILPH_CO_9F, 0 + warp_event 10, 0, SILPH_CO_11F, 0 + warp_event 12, 0, SILPH_CO_ELEVATOR, 0 + warp_event 9, 11, SILPH_CO_4F, 3 + warp_event 13, 15, SILPH_CO_4F, 5 + warp_event 13, 7, SILPH_CO_4F, 6 - def_signs + def_bg_events - def_objects - object SPRITE_ROCKET, 1, 9, STAY, RIGHT, 1, OPP_ROCKET, 39 - object SPRITE_SCIENTIST, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11 - object SPRITE_ERIKA, 9, 15, WALK, ANY_DIR, 3 ; person - object SPRITE_POKE_BALL, 2, 12, STAY, NONE, 4, TM_EARTHQUAKE - object SPRITE_POKE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY - object SPRITE_POKE_BALL, 5, 11, STAY, NONE, 6, CARBOS + def_object_events + object_event 1, 9, SPRITE_ROCKET, STAY, RIGHT, 1, OPP_ROCKET, 39 + object_event 10, 2, SPRITE_SCIENTIST, STAY, LEFT, 2, OPP_SCIENTIST, 11 + object_event 9, 15, SPRITE_ERIKA, WALK, ANY_DIR, 3 ; person + object_event 2, 12, SPRITE_POKE_BALL, STAY, NONE, 4, TM_EARTHQUAKE + object_event 4, 14, SPRITE_POKE_BALL, STAY, NONE, 5, RARE_CANDY + object_event 5, 11, SPRITE_POKE_BALL, STAY, NONE, 6, CARBOS def_warps_to SILPH_CO_10F diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm index fd1167f0..dc7cd526 100644 --- a/data/maps/objects/SilphCo11F.asm +++ b/data/maps/objects/SilphCo11F.asm @@ -1,19 +1,19 @@ SilphCo11F_Object: db $d ; border block - def_warps - warp 9, 0, 1, SILPH_CO_10F - warp 13, 0, 0, SILPH_CO_ELEVATOR - warp 5, 5, 9, LAST_MAP - warp 3, 2, 3, SILPH_CO_7F + def_warp_events + warp_event 9, 0, SILPH_CO_10F, 1 + warp_event 13, 0, SILPH_CO_ELEVATOR, 0 + warp_event 5, 5, LAST_MAP, 9 + warp_event 3, 2, SILPH_CO_7F, 3 - def_signs + def_bg_events - def_objects - object SPRITE_SILPH_PRESIDENT, 7, 5, STAY, DOWN, 1 ; person - object SPRITE_BEAUTY, 10, 5, STAY, DOWN, 2 ; person - object SPRITE_GIOVANNI, 6, 9, STAY, DOWN, 3, OPP_GIOVANNI, 2 - object SPRITE_ROCKET, 3, 16, STAY, UP, 4, OPP_ROCKET, 41 - object SPRITE_ROCKET, 15, 9, STAY, UP, 5, OPP_ROCKET, 40 + def_object_events + object_event 7, 5, SPRITE_SILPH_PRESIDENT, STAY, DOWN, 1 ; person + object_event 10, 5, SPRITE_BEAUTY, STAY, DOWN, 2 ; person + object_event 6, 9, SPRITE_GIOVANNI, STAY, DOWN, 3, OPP_GIOVANNI, 2 + object_event 3, 16, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 41 + object_event 15, 9, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 40 def_warps_to SILPH_CO_11F diff --git a/data/maps/objects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm index 7a9bdb61..23323e27 100644 --- a/data/maps/objects/SilphCo1F.asm +++ b/data/maps/objects/SilphCo1F.asm @@ -1,16 +1,16 @@ SilphCo1F_Object: db $2e ; border block - def_warps - warp 10, 17, 5, LAST_MAP - warp 11, 17, 5, LAST_MAP - warp 26, 0, 0, SILPH_CO_2F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 16, 10, 6, SILPH_CO_3F + def_warp_events + warp_event 10, 17, LAST_MAP, 5 + warp_event 11, 17, LAST_MAP, 5 + warp_event 26, 0, SILPH_CO_2F, 0 + warp_event 20, 0, SILPH_CO_ELEVATOR, 0 + warp_event 16, 10, SILPH_CO_3F, 6 - def_signs + def_bg_events - def_objects - object SPRITE_LINK_RECEPTIONIST, 4, 2, STAY, DOWN, 1 ; person + def_object_events + object_event 4, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 1 ; person def_warps_to SILPH_CO_1F diff --git a/data/maps/objects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm index 186d1581..b7a68c4e 100644 --- a/data/maps/objects/SilphCo2F.asm +++ b/data/maps/objects/SilphCo2F.asm @@ -1,22 +1,22 @@ SilphCo2F_Object: db $2e ; border block - def_warps - warp 24, 0, 2, SILPH_CO_1F - warp 26, 0, 0, SILPH_CO_3F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 3, 3, 6, SILPH_CO_3F - warp 13, 3, 4, SILPH_CO_8F - warp 27, 15, 5, SILPH_CO_8F - warp 9, 15, 4, SILPH_CO_6F + def_warp_events + warp_event 24, 0, SILPH_CO_1F, 2 + warp_event 26, 0, SILPH_CO_3F, 0 + warp_event 20, 0, SILPH_CO_ELEVATOR, 0 + warp_event 3, 3, SILPH_CO_3F, 6 + warp_event 13, 3, SILPH_CO_8F, 4 + warp_event 27, 15, SILPH_CO_8F, 5 + warp_event 9, 15, SILPH_CO_6F, 4 - def_signs + def_bg_events - def_objects - object SPRITE_ERIKA, 10, 1, STAY, UP, 1 ; person - object SPRITE_SCIENTIST, 5, 12, STAY, DOWN, 2, OPP_SCIENTIST, 2 - object SPRITE_SCIENTIST, 24, 13, STAY, LEFT, 3, OPP_SCIENTIST, 3 - object SPRITE_ROCKET, 16, 11, STAY, UP, 4, OPP_ROCKET, 23 - object SPRITE_ROCKET, 24, 7, STAY, UP, 5, OPP_ROCKET, 24 + def_object_events + object_event 10, 1, SPRITE_ERIKA, STAY, UP, 1 ; person + object_event 5, 12, SPRITE_SCIENTIST, STAY, DOWN, 2, OPP_SCIENTIST, 2 + object_event 24, 13, SPRITE_SCIENTIST, STAY, LEFT, 3, OPP_SCIENTIST, 3 + object_event 16, 11, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 23 + object_event 24, 7, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 24 def_warps_to SILPH_CO_2F diff --git a/data/maps/objects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm index e9ea1cce..5f37ed91 100644 --- a/data/maps/objects/SilphCo3F.asm +++ b/data/maps/objects/SilphCo3F.asm @@ -1,24 +1,24 @@ SilphCo3F_Object: db $2e ; border block - def_warps - warp 26, 0, 1, SILPH_CO_2F - warp 24, 0, 0, SILPH_CO_4F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 23, 11, 9, SILPH_CO_3F - warp 3, 3, 5, SILPH_CO_5F - warp 3, 15, 6, SILPH_CO_5F - warp 27, 3, 3, SILPH_CO_2F - warp 3, 11, 3, SILPH_CO_9F - warp 11, 11, 4, SILPH_CO_7F - warp 27, 15, 3, SILPH_CO_3F + def_warp_events + warp_event 26, 0, SILPH_CO_2F, 1 + warp_event 24, 0, SILPH_CO_4F, 0 + warp_event 20, 0, SILPH_CO_ELEVATOR, 0 + warp_event 23, 11, SILPH_CO_3F, 9 + warp_event 3, 3, SILPH_CO_5F, 5 + warp_event 3, 15, SILPH_CO_5F, 6 + warp_event 27, 3, SILPH_CO_2F, 3 + warp_event 3, 11, SILPH_CO_9F, 3 + warp_event 11, 11, SILPH_CO_7F, 4 + warp_event 27, 15, SILPH_CO_3F, 3 - def_signs + def_bg_events - def_objects - object SPRITE_SILPH_WORKER, 24, 8, STAY, NONE, 1 ; person - object SPRITE_ROCKET, 20, 7, STAY, LEFT, 2, OPP_ROCKET, 25 - object SPRITE_SCIENTIST, 7, 9, STAY, DOWN, 3, OPP_SCIENTIST, 4 - object SPRITE_POKE_BALL, 8, 5, STAY, NONE, 4, HYPER_POTION + def_object_events + object_event 24, 8, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 20, 7, SPRITE_ROCKET, STAY, LEFT, 2, OPP_ROCKET, 25 + object_event 7, 9, SPRITE_SCIENTIST, STAY, DOWN, 3, OPP_SCIENTIST, 4 + object_event 8, 5, SPRITE_POKE_BALL, STAY, NONE, 4, HYPER_POTION def_warps_to SILPH_CO_3F diff --git a/data/maps/objects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm index 6c30b526..0b6ae7d4 100644 --- a/data/maps/objects/SilphCo4F.asm +++ b/data/maps/objects/SilphCo4F.asm @@ -1,24 +1,24 @@ SilphCo4F_Object: db $2e ; border block - def_warps - warp 24, 0, 1, SILPH_CO_3F - warp 26, 0, 1, SILPH_CO_5F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 11, 7, 3, SILPH_CO_10F - warp 17, 3, 3, SILPH_CO_6F - warp 3, 15, 4, SILPH_CO_10F - warp 17, 11, 5, SILPH_CO_10F + def_warp_events + warp_event 24, 0, SILPH_CO_3F, 1 + warp_event 26, 0, SILPH_CO_5F, 1 + warp_event 20, 0, SILPH_CO_ELEVATOR, 0 + warp_event 11, 7, SILPH_CO_10F, 3 + warp_event 17, 3, SILPH_CO_6F, 3 + warp_event 3, 15, SILPH_CO_10F, 4 + warp_event 17, 11, SILPH_CO_10F, 5 - def_signs + def_bg_events - def_objects - object SPRITE_SILPH_WORKER, 6, 2, STAY, NONE, 1 ; person - object SPRITE_ROCKET, 9, 14, STAY, RIGHT, 2, OPP_ROCKET, 26 - object SPRITE_SCIENTIST, 14, 6, STAY, LEFT, 3, OPP_SCIENTIST, 5 - object SPRITE_ROCKET, 26, 10, STAY, UP, 4, OPP_ROCKET, 27 - object SPRITE_POKE_BALL, 3, 9, STAY, NONE, 5, FULL_HEAL - object SPRITE_POKE_BALL, 4, 7, STAY, NONE, 6, MAX_REVIVE - object SPRITE_POKE_BALL, 5, 8, STAY, NONE, 7, ESCAPE_ROPE + def_object_events + object_event 6, 2, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 9, 14, SPRITE_ROCKET, STAY, RIGHT, 2, OPP_ROCKET, 26 + object_event 14, 6, SPRITE_SCIENTIST, STAY, LEFT, 3, OPP_SCIENTIST, 5 + object_event 26, 10, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 27 + object_event 3, 9, SPRITE_POKE_BALL, STAY, NONE, 5, FULL_HEAL + object_event 4, 7, SPRITE_POKE_BALL, STAY, NONE, 6, MAX_REVIVE + object_event 5, 8, SPRITE_POKE_BALL, STAY, NONE, 7, ESCAPE_ROPE def_warps_to SILPH_CO_4F diff --git a/data/maps/objects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm index 553ec0c3..1f8bffd6 100644 --- a/data/maps/objects/SilphCo5F.asm +++ b/data/maps/objects/SilphCo5F.asm @@ -1,28 +1,28 @@ SilphCo5F_Object: db $2e ; border block - def_warps - warp 24, 0, 1, SILPH_CO_6F - warp 26, 0, 1, SILPH_CO_4F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 27, 3, 5, SILPH_CO_7F - warp 9, 15, 4, SILPH_CO_9F - warp 11, 5, 4, SILPH_CO_3F - warp 3, 15, 5, SILPH_CO_3F + def_warp_events + warp_event 24, 0, SILPH_CO_6F, 1 + warp_event 26, 0, SILPH_CO_4F, 1 + warp_event 20, 0, SILPH_CO_ELEVATOR, 0 + warp_event 27, 3, SILPH_CO_7F, 5 + warp_event 9, 15, SILPH_CO_9F, 4 + warp_event 11, 5, SILPH_CO_3F, 4 + warp_event 3, 15, SILPH_CO_3F, 5 - def_signs + def_bg_events - def_objects - object SPRITE_SILPH_WORKER, 13, 9, STAY, NONE, 1 ; person - object SPRITE_ROCKET, 8, 16, STAY, RIGHT, 2, OPP_ROCKET, 28 - object SPRITE_SCIENTIST, 8, 3, STAY, RIGHT, 3, OPP_SCIENTIST, 6 - object SPRITE_ROCKER, 18, 10, STAY, UP, 4, OPP_JUGGLER, 1 - object SPRITE_ROCKET, 28, 4, STAY, UP, 5, OPP_ROCKET, 29 - object SPRITE_POKE_BALL, 2, 13, STAY, NONE, 6, TM_TAKE_DOWN - object SPRITE_POKE_BALL, 4, 6, STAY, NONE, 7, PROTEIN - object SPRITE_POKE_BALL, 21, 16, STAY, NONE, 8, CARD_KEY - object SPRITE_CLIPBOARD, 22, 12, STAY, NONE, 9 ; person - object SPRITE_CLIPBOARD, 25, 10, STAY, NONE, 10 ; person - object SPRITE_CLIPBOARD, 24, 6, STAY, NONE, 11 ; person + def_object_events + object_event 13, 9, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 8, 16, SPRITE_ROCKET, STAY, RIGHT, 2, OPP_ROCKET, 28 + object_event 8, 3, SPRITE_SCIENTIST, STAY, RIGHT, 3, OPP_SCIENTIST, 6 + object_event 18, 10, SPRITE_ROCKER, STAY, UP, 4, OPP_JUGGLER, 1 + object_event 28, 4, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 29 + object_event 2, 13, SPRITE_POKE_BALL, STAY, NONE, 6, TM_TAKE_DOWN + object_event 4, 6, SPRITE_POKE_BALL, STAY, NONE, 7, PROTEIN + object_event 21, 16, SPRITE_POKE_BALL, STAY, NONE, 8, CARD_KEY + object_event 22, 12, SPRITE_CLIPBOARD, STAY, NONE, 9 ; person + object_event 25, 10, SPRITE_CLIPBOARD, STAY, NONE, 10 ; person + object_event 24, 6, SPRITE_CLIPBOARD, STAY, NONE, 11 ; person def_warps_to SILPH_CO_5F diff --git a/data/maps/objects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm index 3dba7414..a0f2339b 100644 --- a/data/maps/objects/SilphCo6F.asm +++ b/data/maps/objects/SilphCo6F.asm @@ -1,25 +1,25 @@ SilphCo6F_Object: db $2e ; border block - def_warps - warp 16, 0, 1, SILPH_CO_7F - warp 14, 0, 0, SILPH_CO_5F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 3, 3, 4, SILPH_CO_4F - warp 23, 3, 6, SILPH_CO_2F + def_warp_events + warp_event 16, 0, SILPH_CO_7F, 1 + warp_event 14, 0, SILPH_CO_5F, 0 + warp_event 18, 0, SILPH_CO_ELEVATOR, 0 + warp_event 3, 3, SILPH_CO_4F, 4 + warp_event 23, 3, SILPH_CO_2F, 6 - def_signs + def_bg_events - def_objects - object SPRITE_SILPH_WORKER, 10, 6, STAY, NONE, 1 ; person - object SPRITE_SILPH_WORKER, 20, 6, STAY, NONE, 2 ; person - object SPRITE_ERIKA, 21, 6, STAY, DOWN, 3 ; person - object SPRITE_ERIKA, 11, 10, STAY, RIGHT, 4 ; person - object SPRITE_SILPH_WORKER, 18, 13, STAY, UP, 5 ; person - object SPRITE_ROCKET, 17, 3, STAY, RIGHT, 6, OPP_ROCKET, 30 - object SPRITE_SCIENTIST, 7, 8, STAY, DOWN, 7, OPP_SCIENTIST, 7 - object SPRITE_ROCKET, 14, 15, STAY, LEFT, 8, OPP_ROCKET, 31 - object SPRITE_POKE_BALL, 3, 12, STAY, NONE, 9, HP_UP - object SPRITE_POKE_BALL, 2, 15, STAY, NONE, 10, X_ACCURACY + def_object_events + object_event 10, 6, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 20, 6, SPRITE_SILPH_WORKER, STAY, NONE, 2 ; person + object_event 21, 6, SPRITE_ERIKA, STAY, DOWN, 3 ; person + object_event 11, 10, SPRITE_ERIKA, STAY, RIGHT, 4 ; person + object_event 18, 13, SPRITE_SILPH_WORKER, STAY, UP, 5 ; person + object_event 17, 3, SPRITE_ROCKET, STAY, RIGHT, 6, OPP_ROCKET, 30 + object_event 7, 8, SPRITE_SCIENTIST, STAY, DOWN, 7, OPP_SCIENTIST, 7 + object_event 14, 15, SPRITE_ROCKET, STAY, LEFT, 8, OPP_ROCKET, 31 + object_event 3, 12, SPRITE_POKE_BALL, STAY, NONE, 9, HP_UP + object_event 2, 15, SPRITE_POKE_BALL, STAY, NONE, 10, X_ACCURACY def_warps_to SILPH_CO_6F diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm index 55f2ade6..7855516c 100644 --- a/data/maps/objects/SilphCo7F.asm +++ b/data/maps/objects/SilphCo7F.asm @@ -1,27 +1,27 @@ SilphCo7F_Object: db $2e ; border block - def_warps - warp 16, 0, 1, SILPH_CO_8F - warp 22, 0, 0, SILPH_CO_6F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 5, 7, 3, SILPH_CO_11F - warp 5, 3, 8, SILPH_CO_3F - warp 21, 15, 3, SILPH_CO_5F + def_warp_events + warp_event 16, 0, SILPH_CO_8F, 1 + warp_event 22, 0, SILPH_CO_6F, 0 + warp_event 18, 0, SILPH_CO_ELEVATOR, 0 + warp_event 5, 7, SILPH_CO_11F, 3 + warp_event 5, 3, SILPH_CO_3F, 8 + warp_event 21, 15, SILPH_CO_5F, 3 - def_signs + def_bg_events - def_objects - object SPRITE_SILPH_WORKER, 1, 5, STAY, NONE, 1 ; person - object SPRITE_SILPH_WORKER, 13, 13, STAY, UP, 2 ; person - object SPRITE_SILPH_WORKER, 7, 10, STAY, NONE, 3 ; person - object SPRITE_ERIKA, 10, 8, STAY, NONE, 4 ; person - object SPRITE_ROCKET, 13, 1, STAY, DOWN, 5, OPP_ROCKET, 32 - object SPRITE_SCIENTIST, 2, 13, STAY, DOWN, 6, OPP_SCIENTIST, 8 - object SPRITE_ROCKET, 20, 2, STAY, LEFT, 7, OPP_ROCKET, 33 - object SPRITE_ROCKET, 19, 14, STAY, RIGHT, 8, OPP_ROCKET, 34 - object SPRITE_BLUE, 3, 7, STAY, UP, 9 ; person - object SPRITE_POKE_BALL, 1, 9, STAY, NONE, 10, CALCIUM - object SPRITE_POKE_BALL, 24, 11, STAY, NONE, 11, TM_SWORDS_DANCE + def_object_events + object_event 1, 5, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 13, 13, SPRITE_SILPH_WORKER, STAY, UP, 2 ; person + object_event 7, 10, SPRITE_SILPH_WORKER, STAY, NONE, 3 ; person + object_event 10, 8, SPRITE_ERIKA, STAY, NONE, 4 ; person + object_event 13, 1, SPRITE_ROCKET, STAY, DOWN, 5, OPP_ROCKET, 32 + object_event 2, 13, SPRITE_SCIENTIST, STAY, DOWN, 6, OPP_SCIENTIST, 8 + object_event 20, 2, SPRITE_ROCKET, STAY, LEFT, 7, OPP_ROCKET, 33 + object_event 19, 14, SPRITE_ROCKET, STAY, RIGHT, 8, OPP_ROCKET, 34 + object_event 3, 7, SPRITE_BLUE, STAY, UP, 9 ; person + object_event 1, 9, SPRITE_POKE_BALL, STAY, NONE, 10, CALCIUM + object_event 24, 11, SPRITE_POKE_BALL, STAY, NONE, 11, TM_SWORDS_DANCE def_warps_to SILPH_CO_7F diff --git a/data/maps/objects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm index 1a50df07..f6ea58ae 100644 --- a/data/maps/objects/SilphCo8F.asm +++ b/data/maps/objects/SilphCo8F.asm @@ -1,21 +1,21 @@ SilphCo8F_Object: db $2e ; border block - def_warps - warp 16, 0, 1, SILPH_CO_9F - warp 14, 0, 0, SILPH_CO_7F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 3, 11, 6, SILPH_CO_8F - warp 3, 15, 4, SILPH_CO_2F - warp 11, 5, 5, SILPH_CO_2F - warp 11, 9, 3, SILPH_CO_8F + def_warp_events + warp_event 16, 0, SILPH_CO_9F, 1 + warp_event 14, 0, SILPH_CO_7F, 0 + warp_event 18, 0, SILPH_CO_ELEVATOR, 0 + warp_event 3, 11, SILPH_CO_8F, 6 + warp_event 3, 15, SILPH_CO_2F, 4 + warp_event 11, 5, SILPH_CO_2F, 5 + warp_event 11, 9, SILPH_CO_8F, 3 - def_signs + def_bg_events - def_objects - object SPRITE_SILPH_WORKER, 4, 2, STAY, NONE, 1 ; person - object SPRITE_ROCKET, 19, 2, STAY, LEFT, 2, OPP_ROCKET, 35 - object SPRITE_SCIENTIST, 10, 2, STAY, DOWN, 3, OPP_SCIENTIST, 9 - object SPRITE_ROCKET, 12, 15, STAY, RIGHT, 4, OPP_ROCKET, 36 + def_object_events + object_event 4, 2, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 19, 2, SPRITE_ROCKET, STAY, LEFT, 2, OPP_ROCKET, 35 + object_event 10, 2, SPRITE_SCIENTIST, STAY, DOWN, 3, OPP_SCIENTIST, 9 + object_event 12, 15, SPRITE_ROCKET, STAY, RIGHT, 4, OPP_ROCKET, 36 def_warps_to SILPH_CO_8F diff --git a/data/maps/objects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm index e6de70fd..cf55b5aa 100644 --- a/data/maps/objects/SilphCo9F.asm +++ b/data/maps/objects/SilphCo9F.asm @@ -1,19 +1,19 @@ SilphCo9F_Object: db $2e ; border block - def_warps - warp 14, 0, 0, SILPH_CO_10F - warp 16, 0, 0, SILPH_CO_8F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 9, 3, 7, SILPH_CO_3F - warp 17, 15, 4, SILPH_CO_5F + def_warp_events + warp_event 14, 0, SILPH_CO_10F, 0 + warp_event 16, 0, SILPH_CO_8F, 0 + warp_event 18, 0, SILPH_CO_ELEVATOR, 0 + warp_event 9, 3, SILPH_CO_3F, 7 + warp_event 17, 15, SILPH_CO_5F, 4 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 14, STAY, DOWN, 1 ; person - object SPRITE_ROCKET, 2, 4, STAY, UP, 2, OPP_ROCKET, 37 - object SPRITE_SCIENTIST, 21, 13, STAY, DOWN, 3, OPP_SCIENTIST, 10 - object SPRITE_ROCKET, 13, 16, STAY, UP, 4, OPP_ROCKET, 38 + def_object_events + object_event 3, 14, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 2, 4, SPRITE_ROCKET, STAY, UP, 2, OPP_ROCKET, 37 + object_event 21, 13, SPRITE_SCIENTIST, STAY, DOWN, 3, OPP_SCIENTIST, 10 + object_event 13, 16, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 38 def_warps_to SILPH_CO_9F diff --git a/data/maps/objects/SilphCoElevator.asm b/data/maps/objects/SilphCoElevator.asm index d894ba65..cb5b33bf 100644 --- a/data/maps/objects/SilphCoElevator.asm +++ b/data/maps/objects/SilphCoElevator.asm @@ -1,13 +1,13 @@ SilphCoElevator_Object: db $f ; border block - def_warps - warp 1, 3, 0, UNUSED_MAP_ED - warp 2, 3, 0, UNUSED_MAP_ED + def_warp_events + warp_event 1, 3, UNUSED_MAP_ED, 0 + warp_event 2, 3, UNUSED_MAP_ED, 0 - def_signs - sign 3, 0, 1 ; SilphCoElevatorText1 + def_bg_events + bg_event 3, 0, 1 ; SilphCoElevatorText1 - def_objects + def_object_events def_warps_to SILPH_CO_ELEVATOR diff --git a/data/maps/objects/TradeCenter.asm b/data/maps/objects/TradeCenter.asm index ff74a4fa..b8dd3ff5 100644 --- a/data/maps/objects/TradeCenter.asm +++ b/data/maps/objects/TradeCenter.asm @@ -1,11 +1,11 @@ TradeCenter_Object: db $e ; border block - def_warps + def_warp_events - def_signs + def_bg_events - def_objects - object SPRITE_RED, 2, 2, STAY, 0, 1 ; person + def_object_events + object_event 2, 2, SPRITE_RED, STAY, 0, 1 ; person def_warps_to TRADE_CENTER diff --git a/data/maps/objects/UndergroundPathNorthSouth.asm b/data/maps/objects/UndergroundPathNorthSouth.asm index abf2d715..fbc1b0f9 100644 --- a/data/maps/objects/UndergroundPathNorthSouth.asm +++ b/data/maps/objects/UndergroundPathNorthSouth.asm @@ -1,12 +1,12 @@ UndergroundPathNorthSouth_Object: db $1 ; border block - def_warps - warp 5, 4, 2, UNDERGROUND_PATH_ROUTE_5 - warp 2, 41, 2, UNDERGROUND_PATH_ROUTE_6 + def_warp_events + warp_event 5, 4, UNDERGROUND_PATH_ROUTE_5, 2 + warp_event 2, 41, UNDERGROUND_PATH_ROUTE_6, 2 - def_signs + def_bg_events - def_objects + def_object_events def_warps_to UNDERGROUND_PATH_NORTH_SOUTH diff --git a/data/maps/objects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm index 0e0f64e0..a5c6286f 100644 --- a/data/maps/objects/UndergroundPathRoute5.asm +++ b/data/maps/objects/UndergroundPathRoute5.asm @@ -1,14 +1,14 @@ UndergroundPathRoute5_Object: db $a ; border block - def_warps - warp 3, 7, 3, LAST_MAP - warp 4, 7, 3, LAST_MAP - warp 4, 4, 0, UNDERGROUND_PATH_NORTH_SOUTH + def_warp_events + warp_event 3, 7, LAST_MAP, 3 + warp_event 4, 7, LAST_MAP, 3 + warp_event 4, 4, UNDERGROUND_PATH_NORTH_SOUTH, 0 - def_signs + def_bg_events - def_objects - object SPRITE_LITTLE_GIRL, 2, 3, STAY, NONE, 1 ; person + def_object_events + object_event 2, 3, SPRITE_LITTLE_GIRL, STAY, NONE, 1 ; person def_warps_to UNDERGROUND_PATH_ROUTE_5 diff --git a/data/maps/objects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm index ff4d66b3..67fac094 100644 --- a/data/maps/objects/UndergroundPathRoute6.asm +++ b/data/maps/objects/UndergroundPathRoute6.asm @@ -1,14 +1,14 @@ UndergroundPathRoute6_Object: db $a ; border block - def_warps - warp 3, 7, 3, LAST_MAP - warp 4, 7, 3, LAST_MAP - warp 4, 4, 1, UNDERGROUND_PATH_NORTH_SOUTH + def_warp_events + warp_event 3, 7, LAST_MAP, 3 + warp_event 4, 7, LAST_MAP, 3 + warp_event 4, 4, UNDERGROUND_PATH_NORTH_SOUTH, 1 - def_signs + def_bg_events - def_objects - object SPRITE_GIRL, 2, 3, STAY, NONE, 1 ; person + def_object_events + object_event 2, 3, SPRITE_GIRL, STAY, NONE, 1 ; person def_warps_to UNDERGROUND_PATH_ROUTE_6 diff --git a/data/maps/objects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm index 2532c380..75d0c8b4 100644 --- a/data/maps/objects/UndergroundPathRoute7.asm +++ b/data/maps/objects/UndergroundPathRoute7.asm @@ -1,14 +1,14 @@ UndergroundPathRoute7_Object: db $a ; border block - def_warps - warp 3, 7, 4, LAST_MAP - warp 4, 7, 4, LAST_MAP - warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST + def_warp_events + warp_event 3, 7, LAST_MAP, 4 + warp_event 4, 7, LAST_MAP, 4 + warp_event 4, 4, UNDERGROUND_PATH_WEST_EAST, 0 - def_signs + def_bg_events - def_objects - object SPRITE_MIDDLE_AGED_MAN, 2, 4, STAY, NONE, 1 ; person + def_object_events + object_event 2, 4, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 1 ; person def_warps_to UNDERGROUND_PATH_ROUTE_7 diff --git a/data/maps/objects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm index 57e6d093..20d9c0ee 100644 --- a/data/maps/objects/UndergroundPathRoute7Copy.asm +++ b/data/maps/objects/UndergroundPathRoute7Copy.asm @@ -1,15 +1,15 @@ UndergroundPathRoute7Copy_Object: db $a ; border block - def_warps - warp 3, 7, 5, LAST_MAP - warp 4, 7, 5, LAST_MAP - warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST + def_warp_events + warp_event 3, 7, LAST_MAP, 5 + warp_event 4, 7, LAST_MAP, 5 + warp_event 4, 4, UNDERGROUND_PATH_WEST_EAST, 0 - def_signs + def_bg_events - def_objects - object SPRITE_GIRL, 3, 2, STAY, NONE, 1 ; person - object SPRITE_MIDDLE_AGED_MAN, 2, 4, STAY, NONE, 2 ; person + def_object_events + object_event 3, 2, SPRITE_GIRL, STAY, NONE, 1 ; person + object_event 2, 4, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 2 ; person def_warps_to UNDERGROUND_PATH_ROUTE_7_COPY diff --git a/data/maps/objects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm index d84188ab..aadef04c 100644 --- a/data/maps/objects/UndergroundPathRoute8.asm +++ b/data/maps/objects/UndergroundPathRoute8.asm @@ -1,14 +1,14 @@ UndergroundPathRoute8_Object: db $a ; border block - def_warps - warp 3, 7, 4, LAST_MAP - warp 4, 7, 4, LAST_MAP - warp 4, 4, 1, UNDERGROUND_PATH_WEST_EAST + def_warp_events + warp_event 3, 7, LAST_MAP, 4 + warp_event 4, 7, LAST_MAP, 4 + warp_event 4, 4, UNDERGROUND_PATH_WEST_EAST, 1 - def_signs + def_bg_events - def_objects - object SPRITE_GIRL, 3, 4, STAY, NONE, 1 ; person + def_object_events + object_event 3, 4, SPRITE_GIRL, STAY, NONE, 1 ; person def_warps_to UNDERGROUND_PATH_ROUTE_8 diff --git a/data/maps/objects/UndergroundPathWestEast.asm b/data/maps/objects/UndergroundPathWestEast.asm index 15141e93..b2e6fc01 100644 --- a/data/maps/objects/UndergroundPathWestEast.asm +++ b/data/maps/objects/UndergroundPathWestEast.asm @@ -1,12 +1,12 @@ UndergroundPathWestEast_Object: db $1 ; border block - def_warps - warp 2, 5, 2, UNDERGROUND_PATH_ROUTE_7 - warp 47, 2, 2, UNDERGROUND_PATH_ROUTE_8 + def_warp_events + warp_event 2, 5, UNDERGROUND_PATH_ROUTE_7, 2 + warp_event 47, 2, UNDERGROUND_PATH_ROUTE_8, 2 - def_signs + def_bg_events - def_objects + def_object_events def_warps_to UNDERGROUND_PATH_WEST_EAST diff --git a/data/maps/objects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm index 1b989ad7..c30d43ba 100644 --- a/data/maps/objects/VermilionCity.asm +++ b/data/maps/objects/VermilionCity.asm @@ -1,32 +1,32 @@ VermilionCity_Object: db $43 ; border block - def_warps - warp 11, 3, 0, VERMILION_POKECENTER - warp 9, 13, 0, POKEMON_FAN_CLUB - warp 23, 13, 0, VERMILION_MART - warp 12, 19, 0, VERMILION_GYM - warp 23, 19, 0, VERMILION_PIDGEY_HOUSE - warp 18, 31, 0, VERMILION_DOCK - warp 19, 31, 0, VERMILION_DOCK - warp 15, 13, 0, VERMILION_TRADE_HOUSE - warp 7, 3, 0, VERMILION_OLD_ROD_HOUSE + def_warp_events + warp_event 11, 3, VERMILION_POKECENTER, 0 + warp_event 9, 13, POKEMON_FAN_CLUB, 0 + warp_event 23, 13, VERMILION_MART, 0 + warp_event 12, 19, VERMILION_GYM, 0 + warp_event 23, 19, VERMILION_PIDGEY_HOUSE, 0 + warp_event 18, 31, VERMILION_DOCK, 0 + warp_event 19, 31, VERMILION_DOCK, 0 + warp_event 15, 13, VERMILION_TRADE_HOUSE, 0 + warp_event 7, 3, VERMILION_OLD_ROD_HOUSE, 0 - def_signs - sign 27, 3, 7 ; VermilionCityText7 - sign 37, 13, 8 ; VermilionCityText8 - sign 24, 13, 9 ; MartSignText - sign 12, 3, 10 ; PokeCenterSignText - sign 7, 13, 11 ; VermilionCityText11 - sign 7, 19, 12 ; VermilionCityText12 - sign 29, 15, 13 ; VermilionCityText13 + def_bg_events + bg_event 27, 3, 7 ; VermilionCityText7 + bg_event 37, 13, 8 ; VermilionCityText8 + bg_event 24, 13, 9 ; MartSignText + bg_event 12, 3, 10 ; PokeCenterSignText + bg_event 7, 13, 11 ; VermilionCityText11 + bg_event 7, 19, 12 ; VermilionCityText12 + bg_event 29, 15, 13 ; VermilionCityText13 - def_objects - object SPRITE_BEAUTY, 19, 7, WALK, LEFT_RIGHT, 1 ; person - object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person - object SPRITE_SAILOR, 19, 30, STAY, UP, 3 ; person - object SPRITE_GAMBLER, 30, 7, STAY, NONE, 4 ; person - object SPRITE_MONSTER, 29, 9, WALK, UP_DOWN, 5 ; person - object SPRITE_SAILOR, 25, 27, WALK, LEFT_RIGHT, 6 ; person + def_object_events + object_event 19, 7, SPRITE_BEAUTY, WALK, LEFT_RIGHT, 1 ; person + object_event 14, 6, SPRITE_GAMBLER, STAY, NONE, 2 ; person + object_event 19, 30, SPRITE_SAILOR, STAY, UP, 3 ; person + object_event 30, 7, SPRITE_GAMBLER, STAY, NONE, 4 ; person + object_event 29, 9, SPRITE_MONSTER, WALK, UP_DOWN, 5 ; person + object_event 25, 27, SPRITE_SAILOR, WALK, LEFT_RIGHT, 6 ; person def_warps_to VERMILION_CITY diff --git a/data/maps/objects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm index f8143aaa..3d3ec64e 100644 --- a/data/maps/objects/VermilionDock.asm +++ b/data/maps/objects/VermilionDock.asm @@ -1,12 +1,12 @@ VermilionDock_Object: db $f ; border block - def_warps - warp 14, 0, 5, LAST_MAP - warp 14, 2, 1, SS_ANNE_1F + def_warp_events + warp_event 14, 0, LAST_MAP, 5 + warp_event 14, 2, SS_ANNE_1F, 1 - def_signs + def_bg_events - def_objects + def_object_events def_warps_to VERMILION_DOCK diff --git a/data/maps/objects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm index ce0fd9f0..234b78c7 100644 --- a/data/maps/objects/VermilionGym.asm +++ b/data/maps/objects/VermilionGym.asm @@ -1,17 +1,17 @@ VermilionGym_Object: db $3 ; border block - def_warps - warp 4, 17, 3, LAST_MAP - warp 5, 17, 3, LAST_MAP + def_warp_events + warp_event 4, 17, LAST_MAP, 3 + warp_event 5, 17, LAST_MAP, 3 - def_signs + def_bg_events - def_objects - object SPRITE_ROCKER, 5, 1, STAY, DOWN, 1, OPP_LT_SURGE, 1 - object SPRITE_GENTLEMAN, 9, 6, STAY, LEFT, 2, OPP_GENTLEMAN, 3 - object SPRITE_SUPER_NERD, 3, 8, STAY, LEFT, 3, OPP_ROCKER, 1 - object SPRITE_SAILOR, 0, 10, STAY, RIGHT, 4, OPP_SAILOR, 8 - object SPRITE_GYM_GUIDE, 4, 14, STAY, DOWN, 5 ; person + def_object_events + object_event 5, 1, SPRITE_ROCKER, STAY, DOWN, 1, OPP_LT_SURGE, 1 + object_event 9, 6, SPRITE_GENTLEMAN, STAY, LEFT, 2, OPP_GENTLEMAN, 3 + object_event 3, 8, SPRITE_SUPER_NERD, STAY, LEFT, 3, OPP_ROCKER, 1 + object_event 0, 10, SPRITE_SAILOR, STAY, RIGHT, 4, OPP_SAILOR, 8 + object_event 4, 14, SPRITE_GYM_GUIDE, STAY, DOWN, 5 ; person def_warps_to VERMILION_GYM diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm index c473b5d1..7f6b4404 100644 --- a/data/maps/objects/VermilionMart.asm +++ b/data/maps/objects/VermilionMart.asm @@ -1,15 +1,15 @@ VermilionMart_Object: db $0 ; border block - def_warps - warp 3, 7, 2, LAST_MAP - warp 4, 7, 2, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 2 + warp_event 4, 7, LAST_MAP, 2 - def_signs + def_bg_events - def_objects - object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_COOLTRAINER_M, 5, 6, STAY, NONE, 2 ; person - object SPRITE_COOLTRAINER_F, 3, 3, WALK, LEFT_RIGHT, 3 ; person + def_object_events + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 5, 6, SPRITE_COOLTRAINER_M, STAY, NONE, 2 ; person + object_event 3, 3, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 3 ; person def_warps_to VERMILION_MART diff --git a/data/maps/objects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm index 878262f2..8ab9d7c9 100644 --- a/data/maps/objects/VermilionOldRodHouse.asm +++ b/data/maps/objects/VermilionOldRodHouse.asm @@ -1,13 +1,13 @@ VermilionOldRodHouse_Object: db $a ; border block - def_warps - warp 2, 7, 8, LAST_MAP - warp 3, 7, 8, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 8 + warp_event 3, 7, LAST_MAP, 8 - def_signs + def_bg_events - def_objects - object SPRITE_FISHING_GURU, 2, 4, STAY, RIGHT, 1 ; person + def_object_events + object_event 2, 4, SPRITE_FISHING_GURU, STAY, RIGHT, 1 ; person def_warps_to VERMILION_OLD_ROD_HOUSE diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm index 0a357409..7274f7fd 100644 --- a/data/maps/objects/VermilionPidgeyHouse.asm +++ b/data/maps/objects/VermilionPidgeyHouse.asm @@ -1,15 +1,15 @@ VermilionPidgeyHouse_Object: db $a ; border block - def_warps - warp 2, 7, 4, LAST_MAP - warp 3, 7, 4, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 4 - def_signs + def_bg_events - def_objects - object SPRITE_YOUNGSTER, 5, 3, STAY, LEFT, 1 ; person - object SPRITE_BIRD, 3, 5, WALK, LEFT_RIGHT, 2 ; person - object SPRITE_PAPER, 4, 3, STAY, NONE, 3 ; person + def_object_events + object_event 5, 3, SPRITE_YOUNGSTER, STAY, LEFT, 1 ; person + object_event 3, 5, SPRITE_BIRD, WALK, LEFT_RIGHT, 2 ; person + object_event 4, 3, SPRITE_PAPER, STAY, NONE, 3 ; person def_warps_to VERMILION_PIDGEY_HOUSE diff --git a/data/maps/objects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm index e656b80c..e9c22500 100644 --- a/data/maps/objects/VermilionPokecenter.asm +++ b/data/maps/objects/VermilionPokecenter.asm @@ -1,16 +1,16 @@ VermilionPokecenter_Object: db $0 ; border block - def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 0 + warp_event 4, 7, LAST_MAP, 0 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_FISHING_GURU, 10, 5, STAY, NONE, 2 ; person - object SPRITE_SAILOR, 5, 4, STAY, NONE, 3 ; person - object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 10, 5, SPRITE_FISHING_GURU, STAY, NONE, 2 ; person + object_event 5, 4, SPRITE_SAILOR, STAY, NONE, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to VERMILION_POKECENTER diff --git a/data/maps/objects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm index ec60415f..2f4b2b00 100644 --- a/data/maps/objects/VermilionTradeHouse.asm +++ b/data/maps/objects/VermilionTradeHouse.asm @@ -1,13 +1,13 @@ VermilionTradeHouse_Object: db $a ; border block - def_warps - warp 2, 7, 7, LAST_MAP - warp 3, 7, 7, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 7 + warp_event 3, 7, LAST_MAP, 7 - def_signs + def_bg_events - def_objects - object SPRITE_LITTLE_GIRL, 3, 5, STAY, UP, 1 ; person + def_object_events + object_event 3, 5, SPRITE_LITTLE_GIRL, STAY, UP, 1 ; person def_warps_to VERMILION_TRADE_HOUSE diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm index e3798128..c1f92163 100644 --- a/data/maps/objects/VictoryRoad1F.asm +++ b/data/maps/objects/VictoryRoad1F.asm @@ -1,20 +1,20 @@ VictoryRoad1F_Object: db $7d ; border block - def_warps - warp 8, 17, 2, LAST_MAP - warp 9, 17, 2, LAST_MAP - warp 1, 1, 0, VICTORY_ROAD_2F + def_warp_events + warp_event 8, 17, LAST_MAP, 2 + warp_event 9, 17, LAST_MAP, 2 + warp_event 1, 1, VICTORY_ROAD_2F, 0 - def_signs + def_bg_events - def_objects - object SPRITE_COOLTRAINER_F, 7, 5, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5 - object SPRITE_COOLTRAINER_M, 3, 2, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5 - object SPRITE_POKE_BALL, 11, 0, STAY, NONE, 3, TM_SKY_ATTACK - object SPRITE_POKE_BALL, 9, 2, STAY, NONE, 4, RARE_CANDY - object SPRITE_BOULDER, 5, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person - object SPRITE_BOULDER, 14, 2, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person - object SPRITE_BOULDER, 2, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person + def_object_events + object_event 7, 5, SPRITE_COOLTRAINER_F, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5 + object_event 3, 2, SPRITE_COOLTRAINER_M, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5 + object_event 11, 0, SPRITE_POKE_BALL, STAY, NONE, 3, TM_SKY_ATTACK + object_event 9, 2, SPRITE_POKE_BALL, STAY, NONE, 4, RARE_CANDY + object_event 5, 15, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person + object_event 14, 2, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person + object_event 2, 10, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person def_warps_to VICTORY_ROAD_1F diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index 84a32fa2..bb8c137b 100644 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -1,30 +1,30 @@ VictoryRoad2F_Object: db $7d ; border block - def_warps - warp 0, 8, 2, VICTORY_ROAD_1F - warp 29, 7, 3, LAST_MAP - warp 29, 8, 3, LAST_MAP - warp 23, 7, 0, VICTORY_ROAD_3F - warp 25, 14, 2, VICTORY_ROAD_3F - warp 27, 7, 1, VICTORY_ROAD_3F - warp 1, 1, 3, VICTORY_ROAD_3F + def_warp_events + warp_event 0, 8, VICTORY_ROAD_1F, 2 + warp_event 29, 7, LAST_MAP, 3 + warp_event 29, 8, LAST_MAP, 3 + warp_event 23, 7, VICTORY_ROAD_3F, 0 + warp_event 25, 14, VICTORY_ROAD_3F, 2 + warp_event 27, 7, VICTORY_ROAD_3F, 1 + warp_event 1, 1, VICTORY_ROAD_3F, 3 - def_signs + def_bg_events - def_objects - object SPRITE_HIKER, 12, 9, STAY, LEFT, 1, OPP_BLACKBELT, 9 - object SPRITE_SUPER_NERD, 21, 13, STAY, LEFT, 2, OPP_JUGGLER, 2 - object SPRITE_COOLTRAINER_M, 19, 8, STAY, DOWN, 3, OPP_TAMER, 5 - object SPRITE_SUPER_NERD, 4, 2, STAY, DOWN, 4, OPP_POKEMANIAC, 6 - object SPRITE_SUPER_NERD, 26, 3, STAY, LEFT, 5, OPP_JUGGLER, 5 - object SPRITE_BIRD, 11, 5, STAY, UP, 6, MOLTRES, 50 - object SPRITE_POKE_BALL, 27, 5, STAY, NONE, 7, TM_SUBMISSION - object SPRITE_POKE_BALL, 18, 9, STAY, NONE, 8, FULL_HEAL - object SPRITE_POKE_BALL, 9, 11, STAY, NONE, 9, TM_MEGA_KICK - object SPRITE_POKE_BALL, 11, 0, STAY, NONE, 10, GUARD_SPEC - object SPRITE_BOULDER, 4, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person - object SPRITE_BOULDER, 5, 5, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person - object SPRITE_BOULDER, 23, 16, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person + def_object_events + object_event 12, 9, SPRITE_HIKER, STAY, LEFT, 1, OPP_BLACKBELT, 9 + object_event 21, 13, SPRITE_SUPER_NERD, STAY, LEFT, 2, OPP_JUGGLER, 2 + object_event 19, 8, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_TAMER, 5 + object_event 4, 2, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_POKEMANIAC, 6 + object_event 26, 3, SPRITE_SUPER_NERD, STAY, LEFT, 5, OPP_JUGGLER, 5 + object_event 11, 5, SPRITE_BIRD, STAY, UP, 6, MOLTRES, 50 + object_event 27, 5, SPRITE_POKE_BALL, STAY, NONE, 7, TM_SUBMISSION + object_event 18, 9, SPRITE_POKE_BALL, STAY, NONE, 8, FULL_HEAL + object_event 9, 11, SPRITE_POKE_BALL, STAY, NONE, 9, TM_MEGA_KICK + object_event 11, 0, SPRITE_POKE_BALL, STAY, NONE, 10, GUARD_SPEC + object_event 4, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person + object_event 5, 5, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person + object_event 23, 16, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person def_warps_to VICTORY_ROAD_2F diff --git a/data/maps/objects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm index fcab3e74..2479ab5b 100644 --- a/data/maps/objects/VictoryRoad3F.asm +++ b/data/maps/objects/VictoryRoad3F.asm @@ -1,24 +1,24 @@ VictoryRoad3F_Object: db $7d ; border block - def_warps - warp 23, 7, 3, VICTORY_ROAD_2F - warp 26, 8, 5, VICTORY_ROAD_2F - warp 27, 15, 4, VICTORY_ROAD_2F - warp 2, 0, 6, VICTORY_ROAD_2F + def_warp_events + warp_event 23, 7, VICTORY_ROAD_2F, 3 + warp_event 26, 8, VICTORY_ROAD_2F, 5 + warp_event 27, 15, VICTORY_ROAD_2F, 4 + warp_event 2, 0, VICTORY_ROAD_2F, 6 - def_signs + def_bg_events - def_objects - object SPRITE_COOLTRAINER_M, 28, 5, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2 - object SPRITE_COOLTRAINER_F, 7, 13, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2 - object SPRITE_COOLTRAINER_M, 6, 14, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3 - object SPRITE_COOLTRAINER_F, 13, 3, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3 - object SPRITE_POKE_BALL, 26, 5, STAY, NONE, 5, MAX_REVIVE - object SPRITE_POKE_BALL, 7, 7, STAY, NONE, 6, TM_EXPLOSION - object SPRITE_BOULDER, 22, 3, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person - object SPRITE_BOULDER, 13, 12, STAY, BOULDER_MOVEMENT_BYTE_2, 8 ; person - object SPRITE_BOULDER, 24, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person - object SPRITE_BOULDER, 22, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 10 ; person + def_object_events + object_event 28, 5, SPRITE_COOLTRAINER_M, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2 + object_event 7, 13, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2 + object_event 6, 14, SPRITE_COOLTRAINER_M, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3 + object_event 13, 3, SPRITE_COOLTRAINER_F, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3 + object_event 26, 5, SPRITE_POKE_BALL, STAY, NONE, 5, MAX_REVIVE + object_event 7, 7, SPRITE_POKE_BALL, STAY, NONE, 6, TM_EXPLOSION + object_event 22, 3, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person + object_event 13, 12, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 8 ; person + object_event 24, 10, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person + object_event 22, 15, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 10 ; person def_warps_to VICTORY_ROAD_3F diff --git a/data/maps/objects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm index c4ee9b69..981765dd 100644 --- a/data/maps/objects/ViridianCity.asm +++ b/data/maps/objects/ViridianCity.asm @@ -1,28 +1,28 @@ ViridianCity_Object: db $f ; border block - def_warps - warp 23, 25, 0, VIRIDIAN_POKECENTER - warp 29, 19, 0, VIRIDIAN_MART - warp 21, 15, 0, VIRIDIAN_SCHOOL_HOUSE - warp 21, 9, 0, VIRIDIAN_NICKNAME_HOUSE - warp 32, 7, 0, VIRIDIAN_GYM + def_warp_events + warp_event 23, 25, VIRIDIAN_POKECENTER, 0 + warp_event 29, 19, VIRIDIAN_MART, 0 + warp_event 21, 15, VIRIDIAN_SCHOOL_HOUSE, 0 + warp_event 21, 9, VIRIDIAN_NICKNAME_HOUSE, 0 + warp_event 32, 7, VIRIDIAN_GYM, 0 - def_signs - sign 17, 17, 8 ; ViridianCityText8 - sign 19, 1, 9 ; ViridianCityText9 - sign 21, 29, 10 ; ViridianCityText10 - sign 30, 19, 11 ; MartSignText - sign 24, 25, 12 ; PokeCenterSignText - sign 27, 7, 13 ; ViridianCityText13 + def_bg_events + bg_event 17, 17, 8 ; ViridianCityText8 + bg_event 19, 1, 9 ; ViridianCityText9 + bg_event 21, 29, 10 ; ViridianCityText10 + bg_event 30, 19, 11 ; MartSignText + bg_event 24, 25, 12 ; PokeCenterSignText + bg_event 27, 7, 13 ; ViridianCityText13 - def_objects - object SPRITE_YOUNGSTER, 13, 20, WALK, ANY_DIR, 1 ; person - object SPRITE_GAMBLER, 30, 8, STAY, NONE, 2 ; person - object SPRITE_YOUNGSTER, 30, 25, WALK, ANY_DIR, 3 ; person - object SPRITE_GIRL, 17, 9, STAY, RIGHT, 4 ; person - object SPRITE_GAMBLER_ASLEEP, 18, 9, STAY, NONE, 5 ; person - object SPRITE_FISHER, 6, 23, STAY, DOWN, 6 ; person - object SPRITE_GAMBLER, 17, 5, WALK, LEFT_RIGHT, 7 ; person + def_object_events + object_event 13, 20, SPRITE_YOUNGSTER, WALK, ANY_DIR, 1 ; person + object_event 30, 8, SPRITE_GAMBLER, STAY, NONE, 2 ; person + object_event 30, 25, SPRITE_YOUNGSTER, WALK, ANY_DIR, 3 ; person + object_event 17, 9, SPRITE_GIRL, STAY, RIGHT, 4 ; person + object_event 18, 9, SPRITE_GAMBLER_ASLEEP, STAY, NONE, 5 ; person + object_event 6, 23, SPRITE_FISHER, STAY, DOWN, 6 ; person + object_event 17, 5, SPRITE_GAMBLER, WALK, LEFT_RIGHT, 7 ; person def_warps_to VIRIDIAN_CITY diff --git a/data/maps/objects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm index 22d0b67a..87a93800 100644 --- a/data/maps/objects/ViridianForest.asm +++ b/data/maps/objects/ViridianForest.asm @@ -1,30 +1,30 @@ ViridianForest_Object: db $3 ; border block - def_warps - warp 1, 0, 2, VIRIDIAN_FOREST_NORTH_GATE - warp 2, 0, 3, VIRIDIAN_FOREST_NORTH_GATE - warp 15, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE - warp 16, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE - warp 17, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE - warp 18, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE + def_warp_events + warp_event 1, 0, VIRIDIAN_FOREST_NORTH_GATE, 2 + warp_event 2, 0, VIRIDIAN_FOREST_NORTH_GATE, 3 + warp_event 15, 47, VIRIDIAN_FOREST_SOUTH_GATE, 1 + warp_event 16, 47, VIRIDIAN_FOREST_SOUTH_GATE, 1 + warp_event 17, 47, VIRIDIAN_FOREST_SOUTH_GATE, 1 + warp_event 18, 47, VIRIDIAN_FOREST_SOUTH_GATE, 1 - def_signs - sign 24, 40, 9 ; ViridianForestText9 - sign 16, 32, 10 ; ViridianForestText10 - sign 26, 17, 11 ; ViridianForestText11 - sign 4, 24, 12 ; ViridianForestText12 - sign 18, 45, 13 ; ViridianForestText13 - sign 2, 1, 14 ; ViridianForestText14 + def_bg_events + bg_event 24, 40, 9 ; ViridianForestText9 + bg_event 16, 32, 10 ; ViridianForestText10 + bg_event 26, 17, 11 ; ViridianForestText11 + bg_event 4, 24, 12 ; ViridianForestText12 + bg_event 18, 45, 13 ; ViridianForestText13 + bg_event 2, 1, 14 ; ViridianForestText14 - def_objects - object SPRITE_YOUNGSTER, 16, 43, STAY, NONE, 1 ; person - object SPRITE_YOUNGSTER, 30, 33, STAY, LEFT, 2, OPP_BUG_CATCHER, 1 - object SPRITE_YOUNGSTER, 30, 19, STAY, LEFT, 3, OPP_BUG_CATCHER, 2 - object SPRITE_YOUNGSTER, 2, 18, STAY, LEFT, 4, OPP_BUG_CATCHER, 3 - object SPRITE_POKE_BALL, 25, 11, STAY, NONE, 5, ANTIDOTE - object SPRITE_POKE_BALL, 12, 29, STAY, NONE, 6, POTION - object SPRITE_POKE_BALL, 1, 31, STAY, NONE, 7, POKE_BALL - object SPRITE_YOUNGSTER, 27, 40, STAY, NONE, 8 ; person + def_object_events + object_event 16, 43, SPRITE_YOUNGSTER, STAY, NONE, 1 ; person + object_event 30, 33, SPRITE_YOUNGSTER, STAY, LEFT, 2, OPP_BUG_CATCHER, 1 + object_event 30, 19, SPRITE_YOUNGSTER, STAY, LEFT, 3, OPP_BUG_CATCHER, 2 + object_event 2, 18, SPRITE_YOUNGSTER, STAY, LEFT, 4, OPP_BUG_CATCHER, 3 + object_event 25, 11, SPRITE_POKE_BALL, STAY, NONE, 5, ANTIDOTE + object_event 12, 29, SPRITE_POKE_BALL, STAY, NONE, 6, POTION + object_event 1, 31, SPRITE_POKE_BALL, STAY, NONE, 7, POKE_BALL + object_event 27, 40, SPRITE_YOUNGSTER, STAY, NONE, 8 ; person def_warps_to VIRIDIAN_FOREST diff --git a/data/maps/objects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm index 137b8b3b..28d91ebe 100644 --- a/data/maps/objects/ViridianForestNorthGate.asm +++ b/data/maps/objects/ViridianForestNorthGate.asm @@ -1,16 +1,16 @@ ViridianForestNorthGate_Object: db $a ; border block - def_warps - warp 4, 0, 1, LAST_MAP - warp 5, 0, 1, LAST_MAP - warp 4, 7, 0, VIRIDIAN_FOREST - warp 5, 7, 0, VIRIDIAN_FOREST + def_warp_events + warp_event 4, 0, LAST_MAP, 1 + warp_event 5, 0, LAST_MAP, 1 + warp_event 4, 7, VIRIDIAN_FOREST, 0 + warp_event 5, 7, VIRIDIAN_FOREST, 0 - def_signs + def_bg_events - def_objects - object SPRITE_SUPER_NERD, 3, 2, STAY, NONE, 1 ; person - object SPRITE_GRAMPS, 2, 5, STAY, NONE, 2 ; person + def_object_events + object_event 3, 2, SPRITE_SUPER_NERD, STAY, NONE, 1 ; person + object_event 2, 5, SPRITE_GRAMPS, STAY, NONE, 2 ; person def_warps_to VIRIDIAN_FOREST_NORTH_GATE diff --git a/data/maps/objects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm index 3693e7ec..1ed22076 100644 --- a/data/maps/objects/ViridianForestSouthGate.asm +++ b/data/maps/objects/ViridianForestSouthGate.asm @@ -1,16 +1,16 @@ ViridianForestSouthGate_Object: db $a ; border block - def_warps - warp 4, 0, 3, VIRIDIAN_FOREST - warp 5, 0, 4, VIRIDIAN_FOREST - warp 4, 7, 5, LAST_MAP - warp 5, 7, 5, LAST_MAP + def_warp_events + warp_event 4, 0, VIRIDIAN_FOREST, 3 + warp_event 5, 0, VIRIDIAN_FOREST, 4 + warp_event 4, 7, LAST_MAP, 5 + warp_event 5, 7, LAST_MAP, 5 - def_signs + def_bg_events - def_objects - object SPRITE_GIRL, 8, 4, STAY, LEFT, 1 ; person - object SPRITE_LITTLE_GIRL, 2, 4, WALK, UP_DOWN, 2 ; person + def_object_events + object_event 8, 4, SPRITE_GIRL, STAY, LEFT, 1 ; person + object_event 2, 4, SPRITE_LITTLE_GIRL, WALK, UP_DOWN, 2 ; person def_warps_to VIRIDIAN_FOREST_SOUTH_GATE diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm index cc158928..ead8b290 100644 --- a/data/maps/objects/ViridianGym.asm +++ b/data/maps/objects/ViridianGym.asm @@ -1,23 +1,23 @@ ViridianGym_Object: db $3 ; border block - def_warps - warp 16, 17, 4, LAST_MAP - warp 17, 17, 4, LAST_MAP + def_warp_events + warp_event 16, 17, LAST_MAP, 4 + warp_event 17, 17, LAST_MAP, 4 - def_signs + def_bg_events - def_objects - object SPRITE_GIOVANNI, 2, 1, STAY, DOWN, 1, OPP_GIOVANNI, 3 - object SPRITE_COOLTRAINER_M, 12, 7, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9 - object SPRITE_HIKER, 11, 11, STAY, UP, 3, OPP_BLACKBELT, 6 - object SPRITE_ROCKER, 10, 7, STAY, DOWN, 4, OPP_TAMER, 3 - object SPRITE_HIKER, 3, 7, STAY, LEFT, 5, OPP_BLACKBELT, 7 - object SPRITE_COOLTRAINER_M, 13, 5, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10 - object SPRITE_HIKER, 10, 1, STAY, DOWN, 7, OPP_BLACKBELT, 8 - object SPRITE_ROCKER, 2, 16, STAY, RIGHT, 8, OPP_TAMER, 4 - object SPRITE_COOLTRAINER_M, 6, 5, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1 - object SPRITE_GYM_GUIDE, 16, 15, STAY, DOWN, 10 ; person - object SPRITE_POKE_BALL, 16, 9, STAY, NONE, 11, REVIVE + def_object_events + object_event 2, 1, SPRITE_GIOVANNI, STAY, DOWN, 1, OPP_GIOVANNI, 3 + object_event 12, 7, SPRITE_COOLTRAINER_M, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9 + object_event 11, 11, SPRITE_HIKER, STAY, UP, 3, OPP_BLACKBELT, 6 + object_event 10, 7, SPRITE_ROCKER, STAY, DOWN, 4, OPP_TAMER, 3 + object_event 3, 7, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 7 + object_event 13, 5, SPRITE_COOLTRAINER_M, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10 + object_event 10, 1, SPRITE_HIKER, STAY, DOWN, 7, OPP_BLACKBELT, 8 + object_event 2, 16, SPRITE_ROCKER, STAY, RIGHT, 8, OPP_TAMER, 4 + object_event 6, 5, SPRITE_COOLTRAINER_M, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1 + object_event 16, 15, SPRITE_GYM_GUIDE, STAY, DOWN, 10 ; person + object_event 16, 9, SPRITE_POKE_BALL, STAY, NONE, 11, REVIVE def_warps_to VIRIDIAN_GYM diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm index cbb5a4a3..80a6656c 100644 --- a/data/maps/objects/ViridianMart.asm +++ b/data/maps/objects/ViridianMart.asm @@ -1,15 +1,15 @@ ViridianMart_Object: db $0 ; border block - def_warps - warp 3, 7, 1, LAST_MAP - warp 4, 7, 1, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 1 + warp_event 4, 7, LAST_MAP, 1 - def_signs + def_bg_events - def_objects - object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_YOUNGSTER, 5, 5, WALK, UP_DOWN, 2 ; person - object SPRITE_COOLTRAINER_M, 3, 3, STAY, NONE, 3 ; person + def_object_events + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 5, 5, SPRITE_YOUNGSTER, WALK, UP_DOWN, 2 ; person + object_event 3, 3, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person def_warps_to VIRIDIAN_MART diff --git a/data/maps/objects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm index c2e6b70f..452f8cb5 100644 --- a/data/maps/objects/ViridianNicknameHouse.asm +++ b/data/maps/objects/ViridianNicknameHouse.asm @@ -1,16 +1,16 @@ ViridianNicknameHouse_Object: db $a ; border block - def_warps - warp 2, 7, 3, LAST_MAP - warp 3, 7, 3, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 3 + warp_event 3, 7, LAST_MAP, 3 - def_signs + def_bg_events - def_objects - object SPRITE_BALDING_GUY, 5, 3, STAY, NONE, 1 ; person - object SPRITE_LITTLE_GIRL, 1, 4, WALK, UP_DOWN, 2 ; person - object SPRITE_BIRD, 5, 5, WALK, LEFT_RIGHT, 3 ; person - object SPRITE_CLIPBOARD, 4, 0, STAY, NONE, 4 ; person + def_object_events + object_event 5, 3, SPRITE_BALDING_GUY, STAY, NONE, 1 ; person + object_event 1, 4, SPRITE_LITTLE_GIRL, WALK, UP_DOWN, 2 ; person + object_event 5, 5, SPRITE_BIRD, WALK, LEFT_RIGHT, 3 ; person + object_event 4, 0, SPRITE_CLIPBOARD, STAY, NONE, 4 ; person def_warps_to VIRIDIAN_NICKNAME_HOUSE diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm index 889281e1..90f5e144 100644 --- a/data/maps/objects/ViridianPokecenter.asm +++ b/data/maps/objects/ViridianPokecenter.asm @@ -1,16 +1,16 @@ ViridianPokecenter_Object: db $0 ; border block - def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + def_warp_events + warp_event 3, 7, LAST_MAP, 0 + warp_event 4, 7, LAST_MAP, 0 - def_signs + def_bg_events - def_objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 10, 5, WALK, UP_DOWN, 2 ; person - object SPRITE_COOLTRAINER_M, 4, 3, STAY, NONE, 3 ; person - object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person + def_object_events + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 10, 5, SPRITE_GENTLEMAN, WALK, UP_DOWN, 2 ; person + object_event 4, 3, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to VIRIDIAN_POKECENTER diff --git a/data/maps/objects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm index 8f228632..43bbd27f 100644 --- a/data/maps/objects/ViridianSchoolHouse.asm +++ b/data/maps/objects/ViridianSchoolHouse.asm @@ -1,14 +1,14 @@ ViridianSchoolHouse_Object: db $a ; border block - def_warps - warp 2, 7, 2, LAST_MAP - warp 3, 7, 2, LAST_MAP + def_warp_events + warp_event 2, 7, LAST_MAP, 2 + warp_event 3, 7, LAST_MAP, 2 - def_signs + def_bg_events - def_objects - object SPRITE_BRUNETTE_GIRL, 3, 5, STAY, UP, 1 ; person - object SPRITE_COOLTRAINER_F, 4, 1, STAY, DOWN, 2 ; person + def_object_events + object_event 3, 5, SPRITE_BRUNETTE_GIRL, STAY, UP, 1 ; person + object_event 4, 1, SPRITE_COOLTRAINER_F, STAY, DOWN, 2 ; person def_warps_to VIRIDIAN_SCHOOL_HOUSE diff --git a/data/maps/objects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm index 68210d65..9b66c464 100644 --- a/data/maps/objects/WardensHouse.asm +++ b/data/maps/objects/WardensHouse.asm @@ -1,17 +1,17 @@ WardensHouse_Object: db $17 ; border block - def_warps - warp 4, 7, 3, LAST_MAP - warp 5, 7, 3, LAST_MAP + def_warp_events + warp_event 4, 7, LAST_MAP, 3 + warp_event 5, 7, LAST_MAP, 3 - def_signs - sign 4, 3, 4 ; FuchsiaHouse2Text4 - sign 5, 3, 5 ; FuchsiaHouse2Text5 + def_bg_events + bg_event 4, 3, 4 ; FuchsiaHouse2Text4 + bg_event 5, 3, 5 ; FuchsiaHouse2Text5 - def_objects - object SPRITE_WARDEN, 2, 3, STAY, NONE, 1 ; person - object SPRITE_POKE_BALL, 8, 3, STAY, NONE, 2, RARE_CANDY - object SPRITE_BOULDER, 8, 4, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person + def_object_events + object_event 2, 3, SPRITE_WARDEN, STAY, NONE, 1 ; person + object_event 8, 3, SPRITE_POKE_BALL, STAY, NONE, 2, RARE_CANDY + object_event 8, 4, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person def_warps_to WARDENS_HOUSE diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index 8ab5c46d..6c895f9a 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -1,22 +1,22 @@ -def_objects: MACRO -REDEF _NUM_OBJECTS EQUS "_NUM_OBJECTS_\@" - db {_NUM_OBJECTS} -{_NUM_OBJECTS} = 0 +def_object_events: MACRO +REDEF _NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@" + db {_NUM_OBJECT_EVENTS} +{_NUM_OBJECT_EVENTS} = 0 ENDM -;\1 sprite id -;\2 x position -;\3 y position +;\1 x position +;\2 y position +;\3 sprite id ;\4 movement (WALK/STAY) ;\5 range or direction ;\6 text id ;\7 items only: item id ;\7 trainers only: trainer class/pokemon id ;\8 trainers only: trainer number/pokemon level -object: MACRO - db \1 - db \3 + 4 +object_event: MACRO + db \3 db \2 + 4 + db \1 + 4 db \4 db \5 IF _NARG > 7 @@ -29,43 +29,43 @@ object: MACRO ELSE db \6 ENDC -{_NUM_OBJECTS} = {_NUM_OBJECTS} + 1 +{_NUM_OBJECT_EVENTS} = {_NUM_OBJECT_EVENTS} + 1 ENDM -def_warps: MACRO -REDEF _NUM_WARPS EQUS "_NUM_WARPS_\@" - db {_NUM_WARPS} -{_NUM_WARPS} = 0 +def_warp_events: MACRO +REDEF _NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@" + db {_NUM_WARP_EVENTS} +{_NUM_WARP_EVENTS} = 0 ENDM ;\1 x position ;\2 y position -;\3 destination warp id -;\4 destination map (-1 = wLastMap) -warp: MACRO - db \2, \1, \3, \4 -_WARP_{d:{_NUM_WARPS}}_X = \1 -_WARP_{d:{_NUM_WARPS}}_Y = \2 -{_NUM_WARPS} = {_NUM_WARPS} + 1 +;\3 destination map (-1 = wLastMap) +;\4 destination warp id +warp_event: MACRO + db \2, \1, \4, \3 +_WARP_{d:{_NUM_WARP_EVENTS}}_X = \1 +_WARP_{d:{_NUM_WARP_EVENTS}}_Y = \2 +{_NUM_WARP_EVENTS} = {_NUM_WARP_EVENTS} + 1 ENDM -def_signs: MACRO -REDEF _NUM_SIGNS EQUS "_NUM_SIGNS_\@" - db {_NUM_SIGNS} -{_NUM_SIGNS} = 0 +def_bg_events: MACRO +REDEF _NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@" + db {_NUM_BG_EVENTS} +{_NUM_BG_EVENTS} = 0 ENDM ;\1 x position ;\2 y position ;\3 sign id -sign: MACRO +bg_event: MACRO db \2, \1, \3 -{_NUM_SIGNS} = {_NUM_SIGNS} + 1 +{_NUM_BG_EVENTS} = {_NUM_BG_EVENTS} + 1 ENDM ;\1 source map def_warps_to: MACRO - FOR n, _NUM_WARPS + FOR n, _NUM_WARP_EVENTS warp_to _WARP_{d:n}_X, _WARP_{d:n}_Y, \1_WIDTH ENDR ENDM From 30acb46b988d4bb54af761696123778acd8517e3 Mon Sep 17 00:00:00 2001 From: Amber Brault Date: Sun, 26 Sep 2021 22:57:55 -0400 Subject: [PATCH 046/119] Fix typos (#334) --- engine/battle/core.asm | 2 +- home/vcopy.asm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 00906cef..d24a43d0 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -3337,7 +3337,7 @@ CheckPlayerStatusConditions: .HeldInPlaceCheck ld a, [wEnemyBattleStatus1] - bit USING_TRAPPING_MOVE, a ; is enemy using a mult-turn move like wrap? + bit USING_TRAPPING_MOVE, a ; is enemy using a multi-turn move like wrap? jp z, .FlinchedCheck ld hl, CantMoveText call PrintText diff --git a/home/vcopy.asm b/home/vcopy.asm index 504406b9..93c035eb 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -127,7 +127,7 @@ AutoBgMapTransfer:: ld a, h ldh [hSPTemp], a ld a, l - ldh [hSPTemp + 1], a ; save stack pinter + ldh [hSPTemp + 1], a ; save stack pointer ldh a, [hAutoBGTransferPortion] and a jr z, .transferTopThird From d48a318dbf4b9e07da57980adb5894f5eadb11f7 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 26 Sep 2021 23:20:57 -0400 Subject: [PATCH 047/119] Align `object_event` coordinates Fixes #336 --- data/maps/objects/AgathasRoom.asm | 2 +- data/maps/objects/BikeShop.asm | 6 ++--- data/maps/objects/BillsHouse.asm | 6 ++--- data/maps/objects/BluesHouse.asm | 6 ++--- data/maps/objects/BrunosRoom.asm | 2 +- data/maps/objects/CeladonChiefHouse.asm | 6 ++--- data/maps/objects/CeladonCity.asm | 2 +- data/maps/objects/CeladonDiner.asm | 10 ++++----- data/maps/objects/CeladonGym.asm | 16 +++++++------- data/maps/objects/CeladonHotel.asm | 6 ++--- data/maps/objects/CeladonMansion1F.asm | 8 +++---- data/maps/objects/CeladonMansion3F.asm | 8 +++---- data/maps/objects/CeladonMansionRoofHouse.asm | 4 ++-- data/maps/objects/CeladonMart1F.asm | 2 +- data/maps/objects/CeladonMart2F.asm | 8 +++---- data/maps/objects/CeladonMart3F.asm | 10 ++++----- data/maps/objects/CeladonMart4F.asm | 6 ++--- data/maps/objects/CeladonMart5F.asm | 8 +++---- data/maps/objects/CeladonMartRoof.asm | 4 ++-- data/maps/objects/CeladonPokecenter.asm | 8 +++---- data/maps/objects/CeruleanBadgeHouse.asm | 2 +- data/maps/objects/CeruleanCave1F.asm | 6 ++--- data/maps/objects/CeruleanCave2F.asm | 6 ++--- data/maps/objects/CeruleanCaveB1F.asm | 4 ++-- data/maps/objects/CeruleanCity.asm | 10 ++++----- data/maps/objects/CeruleanGym.asm | 8 +++---- data/maps/objects/CeruleanMart.asm | 6 ++--- data/maps/objects/CeruleanPokecenter.asm | 8 +++---- data/maps/objects/CeruleanTradeHouse.asm | 4 ++-- data/maps/objects/CeruleanTrashedHouse.asm | 4 ++-- data/maps/objects/ChampionsRoom.asm | 4 ++-- data/maps/objects/CinnabarGym.asm | 14 ++++++------ data/maps/objects/CinnabarIsland.asm | 4 ++-- data/maps/objects/CinnabarLab.asm | 2 +- data/maps/objects/CinnabarLabFossilRoom.asm | 4 ++-- .../maps/objects/CinnabarLabMetronomeRoom.asm | 4 ++-- data/maps/objects/CinnabarLabTradeRoom.asm | 6 ++--- data/maps/objects/CinnabarMart.asm | 6 ++--- data/maps/objects/CinnabarPokecenter.asm | 8 +++---- data/maps/objects/Colosseum.asm | 2 +- data/maps/objects/CopycatsHouse1F.asm | 6 ++--- data/maps/objects/CopycatsHouse2F.asm | 10 ++++----- data/maps/objects/Daycare.asm | 2 +- data/maps/objects/DiglettsCaveRoute11.asm | 2 +- data/maps/objects/DiglettsCaveRoute2.asm | 2 +- data/maps/objects/FightingDojo.asm | 14 ++++++------ .../objects/FuchsiaBillsGrandpasHouse.asm | 6 ++--- data/maps/objects/FuchsiaCity.asm | 12 +++++----- data/maps/objects/FuchsiaGoodRodHouse.asm | 2 +- data/maps/objects/FuchsiaGym.asm | 16 +++++++------- data/maps/objects/FuchsiaMart.asm | 6 ++--- data/maps/objects/FuchsiaMeetingRoom.asm | 6 ++--- data/maps/objects/FuchsiaPokecenter.asm | 8 +++---- data/maps/objects/GameCorner.asm | 16 +++++++------- data/maps/objects/GameCornerPrizeRoom.asm | 4 ++-- data/maps/objects/HallOfFame.asm | 2 +- data/maps/objects/IndigoPlateauLobby.asm | 10 ++++----- data/maps/objects/LancesRoom.asm | 2 +- data/maps/objects/LavenderCuboneHouse.asm | 4 ++-- data/maps/objects/LavenderMart.asm | 6 ++--- data/maps/objects/LavenderPokecenter.asm | 8 +++---- data/maps/objects/LavenderTown.asm | 6 ++--- data/maps/objects/LoreleisRoom.asm | 2 +- data/maps/objects/MrFujisHouse.asm | 12 +++++----- data/maps/objects/MrPsychicsHouse.asm | 2 +- data/maps/objects/MtMoon1F.asm | 12 +++++----- data/maps/objects/MtMoonB2F.asm | 8 +++---- data/maps/objects/MtMoonPokecenter.asm | 12 +++++----- data/maps/objects/Museum1F.asm | 10 ++++----- data/maps/objects/Museum2F.asm | 10 ++++----- data/maps/objects/NameRatersHouse.asm | 2 +- data/maps/objects/OaksLab.asm | 22 +++++++++---------- data/maps/objects/PalletTown.asm | 4 ++-- data/maps/objects/PewterCity.asm | 2 +- data/maps/objects/PewterGym.asm | 6 ++--- data/maps/objects/PewterMart.asm | 6 ++--- data/maps/objects/PewterNidoranHouse.asm | 6 ++--- data/maps/objects/PewterPokecenter.asm | 8 +++---- data/maps/objects/PewterSpeechHouse.asm | 4 ++-- data/maps/objects/PokemonFanClub.asm | 12 +++++----- data/maps/objects/PokemonMansion1F.asm | 2 +- data/maps/objects/PokemonMansion2F.asm | 8 +++---- data/maps/objects/PokemonMansion3F.asm | 8 +++---- data/maps/objects/PokemonMansionB1F.asm | 8 +++---- data/maps/objects/PokemonTower1F.asm | 8 +++---- data/maps/objects/PokemonTower2F.asm | 4 ++-- data/maps/objects/PokemonTower3F.asm | 6 ++--- data/maps/objects/PokemonTower4F.asm | 6 ++--- data/maps/objects/PokemonTower5F.asm | 12 +++++----- data/maps/objects/PokemonTower6F.asm | 6 ++--- data/maps/objects/PokemonTower7F.asm | 8 +++---- data/maps/objects/PowerPlant.asm | 10 ++++----- data/maps/objects/RedsHouse1F.asm | 2 +- data/maps/objects/RockTunnel1F.asm | 6 ++--- data/maps/objects/RockTunnelB1F.asm | 6 ++--- data/maps/objects/RockTunnelPokecenter.asm | 8 +++---- data/maps/objects/RocketHideoutB1F.asm | 6 ++--- data/maps/objects/RocketHideoutB2F.asm | 8 +++---- data/maps/objects/RocketHideoutB4F.asm | 10 ++++----- data/maps/objects/Route1.asm | 2 +- data/maps/objects/Route10.asm | 8 +++---- data/maps/objects/Route11.asm | 12 +++++----- data/maps/objects/Route11Gate1F.asm | 2 +- data/maps/objects/Route11Gate2F.asm | 4 ++-- data/maps/objects/Route12.asm | 8 +++---- data/maps/objects/Route12Gate1F.asm | 2 +- data/maps/objects/Route12Gate2F.asm | 2 +- data/maps/objects/Route12SuperRodHouse.asm | 2 +- data/maps/objects/Route13.asm | 14 ++++++------ data/maps/objects/Route14.asm | 12 +++++----- data/maps/objects/Route15.asm | 4 ++-- data/maps/objects/Route15Gate1F.asm | 2 +- data/maps/objects/Route15Gate2F.asm | 2 +- data/maps/objects/Route16.asm | 6 ++--- data/maps/objects/Route16FlyHouse.asm | 4 ++-- data/maps/objects/Route16Gate1F.asm | 4 ++-- data/maps/objects/Route16Gate2F.asm | 4 ++-- data/maps/objects/Route17.asm | 8 +++---- data/maps/objects/Route18Gate1F.asm | 2 +- data/maps/objects/Route18Gate2F.asm | 2 +- data/maps/objects/Route19.asm | 12 +++++----- data/maps/objects/Route20.asm | 8 +++---- data/maps/objects/Route21.asm | 6 ++--- data/maps/objects/Route22.asm | 4 ++-- data/maps/objects/Route22Gate.asm | 2 +- data/maps/objects/Route23.asm | 8 +++---- data/maps/objects/Route24.asm | 4 ++-- data/maps/objects/Route25.asm | 20 ++++++++--------- data/maps/objects/Route2Gate.asm | 4 ++-- data/maps/objects/Route2TradeHouse.asm | 4 ++-- data/maps/objects/Route3.asm | 14 ++++++------ data/maps/objects/Route4.asm | 6 ++--- data/maps/objects/Route5Gate.asm | 2 +- data/maps/objects/Route6.asm | 2 +- data/maps/objects/Route6Gate.asm | 2 +- data/maps/objects/Route7Gate.asm | 2 +- data/maps/objects/Route8.asm | 14 ++++++------ data/maps/objects/Route8Gate.asm | 2 +- data/maps/objects/Route9.asm | 12 +++++----- data/maps/objects/SSAnne1F.asm | 4 ++-- data/maps/objects/SSAnne1FRooms.asm | 12 +++++----- data/maps/objects/SSAnne2F.asm | 4 ++-- data/maps/objects/SSAnne2FRooms.asm | 18 +++++++-------- data/maps/objects/SSAnne3F.asm | 2 +- data/maps/objects/SSAnneB1FRooms.asm | 16 +++++++------- data/maps/objects/SSAnneBow.asm | 10 ++++----- data/maps/objects/SSAnneCaptainsRoom.asm | 2 +- data/maps/objects/SSAnneKitchen.asm | 10 ++++----- .../objects/SafariZoneCenterRestHouse.asm | 4 ++-- data/maps/objects/SafariZoneEast.asm | 2 +- data/maps/objects/SafariZoneEastRestHouse.asm | 6 ++--- data/maps/objects/SafariZoneGate.asm | 4 ++-- data/maps/objects/SafariZoneNorth.asm | 4 ++-- .../maps/objects/SafariZoneNorthRestHouse.asm | 6 ++--- data/maps/objects/SafariZoneSecretHouse.asm | 2 +- data/maps/objects/SafariZoneWest.asm | 6 ++--- data/maps/objects/SafariZoneWestRestHouse.asm | 6 ++--- data/maps/objects/SaffronCity.asm | 10 ++++----- data/maps/objects/SaffronGym.asm | 14 ++++++------ data/maps/objects/SaffronMart.asm | 6 ++--- data/maps/objects/SaffronPidgeyHouse.asm | 8 +++---- data/maps/objects/SaffronPokecenter.asm | 8 +++---- data/maps/objects/SeafoamIslands1F.asm | 2 +- data/maps/objects/SeafoamIslandsB1F.asm | 4 ++-- data/maps/objects/SeafoamIslandsB2F.asm | 4 ++-- data/maps/objects/SeafoamIslandsB3F.asm | 12 +++++----- data/maps/objects/SeafoamIslandsB4F.asm | 6 ++--- data/maps/objects/SilphCo10F.asm | 12 +++++----- data/maps/objects/SilphCo11F.asm | 10 ++++----- data/maps/objects/SilphCo1F.asm | 2 +- data/maps/objects/SilphCo2F.asm | 6 ++--- data/maps/objects/SilphCo3F.asm | 8 +++---- data/maps/objects/SilphCo4F.asm | 12 +++++----- data/maps/objects/SilphCo5F.asm | 14 ++++++------ data/maps/objects/SilphCo6F.asm | 14 ++++++------ data/maps/objects/SilphCo7F.asm | 16 +++++++------- data/maps/objects/SilphCo8F.asm | 6 ++--- data/maps/objects/SilphCo9F.asm | 4 ++-- data/maps/objects/TradeCenter.asm | 2 +- data/maps/objects/UndergroundPathRoute5.asm | 2 +- data/maps/objects/UndergroundPathRoute6.asm | 2 +- data/maps/objects/UndergroundPathRoute7.asm | 2 +- .../objects/UndergroundPathRoute7Copy.asm | 4 ++-- data/maps/objects/UndergroundPathRoute8.asm | 2 +- data/maps/objects/VermilionCity.asm | 8 +++---- data/maps/objects/VermilionGym.asm | 10 ++++----- data/maps/objects/VermilionMart.asm | 6 ++--- data/maps/objects/VermilionOldRodHouse.asm | 2 +- data/maps/objects/VermilionPidgeyHouse.asm | 6 ++--- data/maps/objects/VermilionPokecenter.asm | 8 +++---- data/maps/objects/VermilionTradeHouse.asm | 2 +- data/maps/objects/VictoryRoad1F.asm | 14 ++++++------ data/maps/objects/VictoryRoad2F.asm | 22 +++++++++---------- data/maps/objects/VictoryRoad3F.asm | 14 ++++++------ data/maps/objects/ViridianCity.asm | 10 ++++----- data/maps/objects/ViridianForest.asm | 4 ++-- data/maps/objects/ViridianForestNorthGate.asm | 4 ++-- data/maps/objects/ViridianForestSouthGate.asm | 4 ++-- data/maps/objects/ViridianGym.asm | 18 +++++++-------- data/maps/objects/ViridianMart.asm | 6 ++--- data/maps/objects/ViridianNicknameHouse.asm | 8 +++---- data/maps/objects/ViridianPokecenter.asm | 8 +++---- data/maps/objects/ViridianSchoolHouse.asm | 4 ++-- data/maps/objects/WardensHouse.asm | 6 ++--- 204 files changed, 685 insertions(+), 685 deletions(-) diff --git a/data/maps/objects/AgathasRoom.asm b/data/maps/objects/AgathasRoom.asm index e8b29f00..50d2e8c3 100644 --- a/data/maps/objects/AgathasRoom.asm +++ b/data/maps/objects/AgathasRoom.asm @@ -10,6 +10,6 @@ AgathasRoom_Object: def_bg_events def_object_events - object_event 5, 2, SPRITE_AGATHA, STAY, DOWN, 1, OPP_AGATHA, 1 + object_event 5, 2, SPRITE_AGATHA, STAY, DOWN, 1, OPP_AGATHA, 1 def_warps_to AGATHAS_ROOM diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm index 873d4fc1..c0028f8c 100644 --- a/data/maps/objects/BikeShop.asm +++ b/data/maps/objects/BikeShop.asm @@ -8,8 +8,8 @@ BikeShop_Object: def_bg_events def_object_events - object_event 6, 2, SPRITE_BIKE_SHOP_CLERK, STAY, NONE, 1 ; person - object_event 5, 6, SPRITE_MIDDLE_AGED_WOMAN, WALK, UP_DOWN, 2 ; person - object_event 1, 3, SPRITE_YOUNGSTER, STAY, UP, 3 ; person + object_event 6, 2, SPRITE_BIKE_SHOP_CLERK, STAY, NONE, 1 ; person + object_event 5, 6, SPRITE_MIDDLE_AGED_WOMAN, WALK, UP_DOWN, 2 ; person + object_event 1, 3, SPRITE_YOUNGSTER, STAY, UP, 3 ; person def_warps_to BIKE_SHOP diff --git a/data/maps/objects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm index 7590be91..a6b2463d 100644 --- a/data/maps/objects/BillsHouse.asm +++ b/data/maps/objects/BillsHouse.asm @@ -8,8 +8,8 @@ BillsHouse_Object: def_bg_events def_object_events - object_event 6, 5, SPRITE_MONSTER, STAY, NONE, 1 ; person - object_event 4, 4, SPRITE_SUPER_NERD, STAY, NONE, 2 ; person - object_event 6, 5, SPRITE_SUPER_NERD, STAY, NONE, 3 ; person + object_event 6, 5, SPRITE_MONSTER, STAY, NONE, 1 ; person + object_event 4, 4, SPRITE_SUPER_NERD, STAY, NONE, 2 ; person + object_event 6, 5, SPRITE_SUPER_NERD, STAY, NONE, 3 ; person def_warps_to BILLS_HOUSE diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm index 36d96058..49f76276 100644 --- a/data/maps/objects/BluesHouse.asm +++ b/data/maps/objects/BluesHouse.asm @@ -8,8 +8,8 @@ BluesHouse_Object: def_bg_events def_object_events - object_event 2, 3, SPRITE_DAISY, STAY, RIGHT, 1 ; Daisy, sitting by map - object_event 6, 4, SPRITE_DAISY, WALK, UP_DOWN, 2, 0 ; Daisy, walking around - object_event 3, 3, SPRITE_POKEDEX, STAY, NONE, 3, 0 ; map on table + object_event 2, 3, SPRITE_DAISY, STAY, RIGHT, 1 ; Daisy, sitting by map + object_event 6, 4, SPRITE_DAISY, WALK, UP_DOWN, 2, 0 ; Daisy, walking around + object_event 3, 3, SPRITE_POKEDEX, STAY, NONE, 3, 0 ; map on table def_warps_to BLUES_HOUSE diff --git a/data/maps/objects/BrunosRoom.asm b/data/maps/objects/BrunosRoom.asm index b0125dc4..9cf7e5e9 100644 --- a/data/maps/objects/BrunosRoom.asm +++ b/data/maps/objects/BrunosRoom.asm @@ -10,6 +10,6 @@ BrunosRoom_Object: def_bg_events def_object_events - object_event 5, 2, SPRITE_BRUNO, STAY, DOWN, 1, OPP_BRUNO, 1 + object_event 5, 2, SPRITE_BRUNO, STAY, DOWN, 1, OPP_BRUNO, 1 def_warps_to BRUNOS_ROOM diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm index f8f28da8..16779c25 100644 --- a/data/maps/objects/CeladonChiefHouse.asm +++ b/data/maps/objects/CeladonChiefHouse.asm @@ -8,8 +8,8 @@ CeladonChiefHouse_Object: def_bg_events def_object_events - object_event 4, 2, SPRITE_GRAMPS, STAY, DOWN, 1 ; person - object_event 1, 4, SPRITE_ROCKET, WALK, ANY_DIR, 2 ; person - object_event 5, 6, SPRITE_SAILOR, STAY, LEFT, 3 ; person + object_event 4, 2, SPRITE_GRAMPS, STAY, DOWN, 1 ; person + object_event 1, 4, SPRITE_ROCKET, WALK, ANY_DIR, 2 ; person + object_event 5, 6, SPRITE_SAILOR, STAY, LEFT, 3 ; person def_warps_to CELADON_CHIEF_HOUSE diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm index 0f3976d4..25a2ce32 100644 --- a/data/maps/objects/CeladonCity.asm +++ b/data/maps/objects/CeladonCity.asm @@ -28,7 +28,7 @@ CeladonCity_Object: bg_event 27, 21, 18 ; CeladonCityText18 def_object_events - object_event 8, 17, SPRITE_LITTLE_GIRL, WALK, ANY_DIR, 1 ; person + object_event 8, 17, SPRITE_LITTLE_GIRL, WALK, ANY_DIR, 1 ; person object_event 11, 28, SPRITE_GRAMPS, STAY, UP, 2 ; person object_event 14, 19, SPRITE_GIRL, WALK, UP_DOWN, 3 ; person object_event 25, 22, SPRITE_GRAMPS, STAY, DOWN, 4 ; person diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm index d2815299..629a34a7 100644 --- a/data/maps/objects/CeladonDiner.asm +++ b/data/maps/objects/CeladonDiner.asm @@ -8,10 +8,10 @@ CeladonDiner_Object: def_bg_events def_object_events - object_event 8, 5, SPRITE_COOK, WALK, LEFT_RIGHT, 1 ; person - object_event 7, 2, SPRITE_MIDDLE_AGED_WOMAN, STAY, NONE, 2 ; person - object_event 1, 4, SPRITE_MIDDLE_AGED_MAN, STAY, DOWN, 3 ; person - object_event 5, 3, SPRITE_FISHER, STAY, RIGHT, 4 ; person - object_event 0, 1, SPRITE_GYM_GUIDE, STAY, DOWN, 5 ; person + object_event 8, 5, SPRITE_COOK, WALK, LEFT_RIGHT, 1 ; person + object_event 7, 2, SPRITE_MIDDLE_AGED_WOMAN, STAY, NONE, 2 ; person + object_event 1, 4, SPRITE_MIDDLE_AGED_MAN, STAY, DOWN, 3 ; person + object_event 5, 3, SPRITE_FISHER, STAY, RIGHT, 4 ; person + object_event 0, 1, SPRITE_GYM_GUIDE, STAY, DOWN, 5 ; person def_warps_to CELADON_DINER diff --git a/data/maps/objects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm index f7fb04fd..c296c68a 100644 --- a/data/maps/objects/CeladonGym.asm +++ b/data/maps/objects/CeladonGym.asm @@ -8,13 +8,13 @@ CeladonGym_Object: def_bg_events def_object_events - object_event 4, 3, SPRITE_ERIKA, STAY, DOWN, 1, OPP_ERIKA, 1 - object_event 2, 11, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_LASS, 17 - object_event 7, 10, SPRITE_BEAUTY, STAY, LEFT, 3, OPP_BEAUTY, 1 - object_event 9, 5, SPRITE_COOLTRAINER_F, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11 - object_event 1, 5, SPRITE_BEAUTY, STAY, DOWN, 5, OPP_BEAUTY, 2 - object_event 6, 3, SPRITE_COOLTRAINER_F, STAY, DOWN, 6, OPP_LASS, 18 - object_event 3, 3, SPRITE_BEAUTY, STAY, DOWN, 7, OPP_BEAUTY, 3 - object_event 5, 3, SPRITE_COOLTRAINER_F, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1 + object_event 4, 3, SPRITE_ERIKA, STAY, DOWN, 1, OPP_ERIKA, 1 + object_event 2, 11, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_LASS, 17 + object_event 7, 10, SPRITE_BEAUTY, STAY, LEFT, 3, OPP_BEAUTY, 1 + object_event 9, 5, SPRITE_COOLTRAINER_F, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11 + object_event 1, 5, SPRITE_BEAUTY, STAY, DOWN, 5, OPP_BEAUTY, 2 + object_event 6, 3, SPRITE_COOLTRAINER_F, STAY, DOWN, 6, OPP_LASS, 18 + object_event 3, 3, SPRITE_BEAUTY, STAY, DOWN, 7, OPP_BEAUTY, 3 + object_event 5, 3, SPRITE_COOLTRAINER_F, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1 def_warps_to CELADON_GYM diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm index 951b6c75..c79b658f 100644 --- a/data/maps/objects/CeladonHotel.asm +++ b/data/maps/objects/CeladonHotel.asm @@ -8,8 +8,8 @@ CeladonHotel_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_GRANNY, STAY, DOWN, 1 ; person - object_event 2, 4, SPRITE_BEAUTY, STAY, NONE, 2 ; person - object_event 8, 4, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 3 ; person + object_event 3, 1, SPRITE_GRANNY, STAY, DOWN, 1 ; person + object_event 2, 4, SPRITE_BEAUTY, STAY, NONE, 2 ; person + object_event 8, 4, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 3 ; person def_warps_to CELADON_HOTEL diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm index 274fca30..01a907f1 100644 --- a/data/maps/objects/CeladonMansion1F.asm +++ b/data/maps/objects/CeladonMansion1F.asm @@ -12,9 +12,9 @@ CeladonMansion1F_Object: bg_event 4, 9, 5 ; CeladonMansion1Text5 def_object_events - object_event 0, 5, SPRITE_MONSTER, STAY, RIGHT, 1 ; person - object_event 1, 5, SPRITE_GRANNY, STAY, DOWN, 2 ; person - object_event 1, 8, SPRITE_FAIRY, WALK, LEFT_RIGHT, 3 ; person - object_event 4, 4, SPRITE_MONSTER, WALK, UP_DOWN, 4 ; person + object_event 0, 5, SPRITE_MONSTER, STAY, RIGHT, 1 ; person + object_event 1, 5, SPRITE_GRANNY, STAY, DOWN, 2 ; person + object_event 1, 8, SPRITE_FAIRY, WALK, LEFT_RIGHT, 3 ; person + object_event 4, 4, SPRITE_MONSTER, WALK, UP_DOWN, 4 ; person def_warps_to CELADON_MANSION_1F diff --git a/data/maps/objects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm index 033ba346..4b02da20 100644 --- a/data/maps/objects/CeladonMansion3F.asm +++ b/data/maps/objects/CeladonMansion3F.asm @@ -14,9 +14,9 @@ CeladonMansion3F_Object: bg_event 4, 9, 8 ; CeladonMansion3Text8 def_object_events - object_event 0, 4, SPRITE_BIKE_SHOP_CLERK, STAY, UP, 1 ; person - object_event 3, 4, SPRITE_CLERK, STAY, UP, 2 ; person - object_event 0, 7, SPRITE_SUPER_NERD, STAY, UP, 3 ; person - object_event 2, 3, SPRITE_SILPH_WORKER, STAY, NONE, 4 ; person + object_event 0, 4, SPRITE_BIKE_SHOP_CLERK, STAY, UP, 1 ; person + object_event 3, 4, SPRITE_CLERK, STAY, UP, 2 ; person + object_event 0, 7, SPRITE_SUPER_NERD, STAY, UP, 3 ; person + object_event 2, 3, SPRITE_SILPH_WORKER, STAY, NONE, 4 ; person def_warps_to CELADON_MANSION_3F diff --git a/data/maps/objects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm index 6e51e120..b29266e9 100644 --- a/data/maps/objects/CeladonMansionRoofHouse.asm +++ b/data/maps/objects/CeladonMansionRoofHouse.asm @@ -8,7 +8,7 @@ CeladonMansionRoofHouse_Object: def_bg_events def_object_events - object_event 2, 2, SPRITE_HIKER, STAY, DOWN, 1 ; person - object_event 4, 3, SPRITE_POKE_BALL, STAY, NONE, 2 ; person + object_event 2, 2, SPRITE_HIKER, STAY, DOWN, 1 ; person + object_event 4, 3, SPRITE_POKE_BALL, STAY, NONE, 2 ; person def_warps_to CELADON_MANSION_ROOF_HOUSE diff --git a/data/maps/objects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm index 4b40b1c5..89ad6b4c 100644 --- a/data/maps/objects/CeladonMart1F.asm +++ b/data/maps/objects/CeladonMart1F.asm @@ -14,6 +14,6 @@ CeladonMart1F_Object: bg_event 14, 1, 3 ; CeladonMart1Text3 def_object_events - object_event 8, 3, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 1 ; person + object_event 8, 3, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 1 ; person def_warps_to CELADON_MART_1F diff --git a/data/maps/objects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm index 34313385..e26912b3 100644 --- a/data/maps/objects/CeladonMart2F.asm +++ b/data/maps/objects/CeladonMart2F.asm @@ -10,9 +10,9 @@ CeladonMart2F_Object: bg_event 14, 1, 5 ; CeladonMart2Text5 def_object_events - object_event 5, 3, SPRITE_CLERK, STAY, DOWN, 1 ; person - object_event 6, 3, SPRITE_CLERK, STAY, DOWN, 2 ; person - object_event 19, 5, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 3 ; person - object_event 14, 4, SPRITE_GIRL, WALK, UP_DOWN, 4 ; person + object_event 5, 3, SPRITE_CLERK, STAY, DOWN, 1 ; person + object_event 6, 3, SPRITE_CLERK, STAY, DOWN, 2 ; person + object_event 19, 5, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 3 ; person + object_event 14, 4, SPRITE_GIRL, WALK, UP_DOWN, 4 ; person def_warps_to CELADON_MART_2F diff --git a/data/maps/objects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm index c9f65f9a..e0b61e52 100644 --- a/data/maps/objects/CeladonMart3F.asm +++ b/data/maps/objects/CeladonMart3F.asm @@ -21,10 +21,10 @@ CeladonMart3F_Object: bg_event 10, 1, 17 ; CeladonMart3Text17 def_object_events - object_event 16, 5, SPRITE_CLERK, STAY, NONE, 1 ; person - object_event 11, 6, SPRITE_GAMEBOY_KID, STAY, RIGHT, 2 ; person - object_event 7, 2, SPRITE_GAMEBOY_KID, STAY, DOWN, 3 ; person - object_event 8, 2, SPRITE_GAMEBOY_KID, STAY, DOWN, 4 ; person - object_event 2, 5, SPRITE_LITTLE_BOY, STAY, UP, 5 ; person + object_event 16, 5, SPRITE_CLERK, STAY, NONE, 1 ; person + object_event 11, 6, SPRITE_GAMEBOY_KID, STAY, RIGHT, 2 ; person + object_event 7, 2, SPRITE_GAMEBOY_KID, STAY, DOWN, 3 ; person + object_event 8, 2, SPRITE_GAMEBOY_KID, STAY, DOWN, 4 ; person + object_event 2, 5, SPRITE_LITTLE_BOY, STAY, UP, 5 ; person def_warps_to CELADON_MART_3F diff --git a/data/maps/objects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm index 0dcb3e21..f4ee3505 100644 --- a/data/maps/objects/CeladonMart4F.asm +++ b/data/maps/objects/CeladonMart4F.asm @@ -10,8 +10,8 @@ CeladonMart4F_Object: bg_event 14, 1, 4 ; CeladonMart4Text4 def_object_events - object_event 5, 7, SPRITE_CLERK, STAY, NONE, 1 ; person - object_event 15, 5, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 2 ; person - object_event 5, 2, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 3 ; person + object_event 5, 7, SPRITE_CLERK, STAY, NONE, 1 ; person + object_event 15, 5, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 2 ; person + object_event 5, 2, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 3 ; person def_warps_to CELADON_MART_4F diff --git a/data/maps/objects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm index 3fe6232c..a53c16bc 100644 --- a/data/maps/objects/CeladonMart5F.asm +++ b/data/maps/objects/CeladonMart5F.asm @@ -10,9 +10,9 @@ CeladonMart5F_Object: bg_event 14, 1, 5 ; CeladonMart5Text5 def_object_events - object_event 14, 5, SPRITE_GENTLEMAN, WALK, UP_DOWN, 1 ; person - object_event 2, 6, SPRITE_SAILOR, STAY, NONE, 2 ; person - object_event 5, 3, SPRITE_CLERK, STAY, DOWN, 3 ; person - object_event 6, 3, SPRITE_CLERK, STAY, DOWN, 4 ; person + object_event 14, 5, SPRITE_GENTLEMAN, WALK, UP_DOWN, 1 ; person + object_event 2, 6, SPRITE_SAILOR, STAY, NONE, 2 ; person + object_event 5, 3, SPRITE_CLERK, STAY, DOWN, 3 ; person + object_event 6, 3, SPRITE_CLERK, STAY, DOWN, 4 ; person def_warps_to CELADON_MART_5F diff --git a/data/maps/objects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm index 2ceb9cca..b495d0c2 100644 --- a/data/maps/objects/CeladonMartRoof.asm +++ b/data/maps/objects/CeladonMartRoof.asm @@ -11,7 +11,7 @@ CeladonMartRoof_Object: bg_event 13, 2, 6 ; CeladonMartRoofText6 def_object_events - object_event 10, 4, SPRITE_SUPER_NERD, STAY, LEFT, 1 ; person - object_event 5, 5, SPRITE_LITTLE_GIRL, WALK, ANY_DIR, 2 ; person + object_event 10, 4, SPRITE_SUPER_NERD, STAY, LEFT, 1 ; person + object_event 5, 5, SPRITE_LITTLE_GIRL, WALK, ANY_DIR, 2 ; person def_warps_to CELADON_MART_ROOF diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm index bdb57852..6373bdb2 100644 --- a/data/maps/objects/CeladonPokecenter.asm +++ b/data/maps/objects/CeladonPokecenter.asm @@ -8,9 +8,9 @@ CeladonPokecenter_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 7, 3, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 2 ; person - object_event 10, 5, SPRITE_BEAUTY, WALK, ANY_DIR, 3 ; person - object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 7, 3, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 2 ; person + object_event 10, 5, SPRITE_BEAUTY, WALK, ANY_DIR, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to CELADON_POKECENTER diff --git a/data/maps/objects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm index db81d009..bf7d0215 100644 --- a/data/maps/objects/CeruleanBadgeHouse.asm +++ b/data/maps/objects/CeruleanBadgeHouse.asm @@ -9,6 +9,6 @@ CeruleanBadgeHouse_Object: def_bg_events def_object_events - object_event 5, 3, SPRITE_MIDDLE_AGED_MAN, STAY, RIGHT, 1 ; person + object_event 5, 3, SPRITE_MIDDLE_AGED_MAN, STAY, RIGHT, 1 ; person def_warps_to CERULEAN_BADGE_HOUSE diff --git a/data/maps/objects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm index 255f200f..c4a1cdfc 100644 --- a/data/maps/objects/CeruleanCave1F.asm +++ b/data/maps/objects/CeruleanCave1F.asm @@ -15,8 +15,8 @@ CeruleanCave1F_Object: def_bg_events def_object_events - object_event 7, 13, SPRITE_POKE_BALL, STAY, NONE, 1, FULL_RESTORE - object_event 19, 3, SPRITE_POKE_BALL, STAY, NONE, 2, MAX_ELIXER - object_event 5, 0, SPRITE_POKE_BALL, STAY, NONE, 3, NUGGET + object_event 7, 13, SPRITE_POKE_BALL, STAY, NONE, 1, FULL_RESTORE + object_event 19, 3, SPRITE_POKE_BALL, STAY, NONE, 2, MAX_ELIXER + object_event 5, 0, SPRITE_POKE_BALL, STAY, NONE, 3, NUGGET def_warps_to CERULEAN_CAVE_1F diff --git a/data/maps/objects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm index 5d7a3d7d..5e0dd321 100644 --- a/data/maps/objects/CeruleanCave2F.asm +++ b/data/maps/objects/CeruleanCave2F.asm @@ -12,8 +12,8 @@ CeruleanCave2F_Object: def_bg_events def_object_events - object_event 29, 9, SPRITE_POKE_BALL, STAY, NONE, 1, PP_UP - object_event 4, 15, SPRITE_POKE_BALL, STAY, NONE, 2, ULTRA_BALL - object_event 13, 6, SPRITE_POKE_BALL, STAY, NONE, 3, FULL_RESTORE + object_event 29, 9, SPRITE_POKE_BALL, STAY, NONE, 1, PP_UP + object_event 4, 15, SPRITE_POKE_BALL, STAY, NONE, 2, ULTRA_BALL + object_event 13, 6, SPRITE_POKE_BALL, STAY, NONE, 3, FULL_RESTORE def_warps_to CERULEAN_CAVE_2F diff --git a/data/maps/objects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm index 6e9c650b..6b2fd05d 100644 --- a/data/maps/objects/CeruleanCaveB1F.asm +++ b/data/maps/objects/CeruleanCaveB1F.asm @@ -8,7 +8,7 @@ CeruleanCaveB1F_Object: def_object_events object_event 27, 13, SPRITE_MONSTER, STAY, DOWN, 1, MEWTWO, 70 - object_event 16, 9, SPRITE_POKE_BALL, STAY, NONE, 2, ULTRA_BALL - object_event 18, 1, SPRITE_POKE_BALL, STAY, NONE, 3, MAX_REVIVE + object_event 16, 9, SPRITE_POKE_BALL, STAY, NONE, 2, ULTRA_BALL + object_event 18, 1, SPRITE_POKE_BALL, STAY, NONE, 3, MAX_REVIVE def_warps_to CERULEAN_CAVE_B1F diff --git a/data/maps/objects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm index 05ae934b..c9669c44 100644 --- a/data/maps/objects/CeruleanCity.asm +++ b/data/maps/objects/CeruleanCity.asm @@ -22,16 +22,16 @@ CeruleanCity_Object: bg_event 27, 21, 17 ; CeruleanCityText17 def_object_events - object_event 20, 2, SPRITE_BLUE, STAY, DOWN, 1 ; person - object_event 30, 8, SPRITE_ROCKET, STAY, NONE, 2, OPP_ROCKET, 5 + object_event 20, 2, SPRITE_BLUE, STAY, DOWN, 1 ; person + object_event 30, 8, SPRITE_ROCKET, STAY, NONE, 2, OPP_ROCKET, 5 object_event 31, 20, SPRITE_COOLTRAINER_M, STAY, DOWN, 3 ; person object_event 15, 18, SPRITE_SUPER_NERD, WALK, UP_DOWN, 4 ; person - object_event 9, 21, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 5 ; person + object_event 9, 21, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 5 ; person object_event 28, 12, SPRITE_GUARD, STAY, DOWN, 6 ; person object_event 29, 26, SPRITE_COOLTRAINER_F, STAY, LEFT, 7 ; person object_event 28, 26, SPRITE_MONSTER, STAY, DOWN, 8 ; person - object_event 9, 27, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 9 ; person - object_event 4, 12, SPRITE_SUPER_NERD, STAY, DOWN, 10 ; person + object_event 9, 27, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 9 ; person + object_event 4, 12, SPRITE_SUPER_NERD, STAY, DOWN, 10 ; person object_event 27, 12, SPRITE_GUARD, STAY, DOWN, 11 ; person def_warps_to CERULEAN_CITY diff --git a/data/maps/objects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm index b4589efa..4ae7d7a4 100644 --- a/data/maps/objects/CeruleanGym.asm +++ b/data/maps/objects/CeruleanGym.asm @@ -8,9 +8,9 @@ CeruleanGym_Object: def_bg_events def_object_events - object_event 4, 2, SPRITE_BRUNETTE_GIRL, STAY, DOWN, 1, OPP_MISTY, 1 - object_event 2, 3, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1 - object_event 8, 7, SPRITE_SWIMMER, STAY, LEFT, 3, OPP_SWIMMER, 1 - object_event 7, 10, SPRITE_GYM_GUIDE, STAY, DOWN, 4 ; person + object_event 4, 2, SPRITE_BRUNETTE_GIRL, STAY, DOWN, 1, OPP_MISTY, 1 + object_event 2, 3, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1 + object_event 8, 7, SPRITE_SWIMMER, STAY, LEFT, 3, OPP_SWIMMER, 1 + object_event 7, 10, SPRITE_GYM_GUIDE, STAY, DOWN, 4 ; person def_warps_to CERULEAN_GYM diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm index fbe1e58b..17835e6d 100644 --- a/data/maps/objects/CeruleanMart.asm +++ b/data/maps/objects/CeruleanMart.asm @@ -8,8 +8,8 @@ CeruleanMart_Object: def_bg_events def_object_events - object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person - object_event 3, 4, SPRITE_COOLTRAINER_M, WALK, UP_DOWN, 2 ; person - object_event 6, 2, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 3 ; person + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 3, 4, SPRITE_COOLTRAINER_M, WALK, UP_DOWN, 2 ; person + object_event 6, 2, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 3 ; person def_warps_to CERULEAN_MART diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm index 4c3d3758..ac1216b2 100644 --- a/data/maps/objects/CeruleanPokecenter.asm +++ b/data/maps/objects/CeruleanPokecenter.asm @@ -8,9 +8,9 @@ CeruleanPokecenter_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 10, 5, SPRITE_SUPER_NERD, WALK, ANY_DIR, 2 ; person - object_event 4, 3, SPRITE_GENTLEMAN, STAY, DOWN, 3 ; person - object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 10, 5, SPRITE_SUPER_NERD, WALK, ANY_DIR, 2 ; person + object_event 4, 3, SPRITE_GENTLEMAN, STAY, DOWN, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to CERULEAN_POKECENTER diff --git a/data/maps/objects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm index 912b786c..1defee42 100644 --- a/data/maps/objects/CeruleanTradeHouse.asm +++ b/data/maps/objects/CeruleanTradeHouse.asm @@ -8,7 +8,7 @@ CeruleanTradeHouse_Object: def_bg_events def_object_events - object_event 5, 4, SPRITE_GRANNY, STAY, LEFT, 1 ; person - object_event 1, 2, SPRITE_GAMBLER, STAY, NONE, 2 ; person + object_event 5, 4, SPRITE_GRANNY, STAY, LEFT, 1 ; person + object_event 1, 2, SPRITE_GAMBLER, STAY, NONE, 2 ; person def_warps_to CERULEAN_TRADE_HOUSE diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm index 7432707e..8cfec104 100644 --- a/data/maps/objects/CeruleanTrashedHouse.asm +++ b/data/maps/objects/CeruleanTrashedHouse.asm @@ -10,7 +10,7 @@ CeruleanTrashedHouse_Object: bg_event 3, 0, 3 ; CeruleanHouseTrashedText3 def_object_events - object_event 2, 1, SPRITE_FISHING_GURU, STAY, DOWN, 1 ; person - object_event 5, 6, SPRITE_GIRL, WALK, LEFT_RIGHT, 2 ; person + object_event 2, 1, SPRITE_FISHING_GURU, STAY, DOWN, 1 ; person + object_event 5, 6, SPRITE_GIRL, WALK, LEFT_RIGHT, 2 ; person def_warps_to CERULEAN_TRASHED_HOUSE diff --git a/data/maps/objects/ChampionsRoom.asm b/data/maps/objects/ChampionsRoom.asm index acf85135..85a16298 100644 --- a/data/maps/objects/ChampionsRoom.asm +++ b/data/maps/objects/ChampionsRoom.asm @@ -10,7 +10,7 @@ ChampionsRoom_Object: def_bg_events def_object_events - object_event 4, 2, SPRITE_BLUE, STAY, DOWN, 1 ; person - object_event 3, 7, SPRITE_OAK, STAY, UP, 2 ; person + object_event 4, 2, SPRITE_BLUE, STAY, DOWN, 1 ; person + object_event 3, 7, SPRITE_OAK, STAY, UP, 2 ; person def_warps_to CHAMPIONS_ROOM diff --git a/data/maps/objects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm index 309230b4..57cb2e76 100644 --- a/data/maps/objects/CinnabarGym.asm +++ b/data/maps/objects/CinnabarGym.asm @@ -8,14 +8,14 @@ CinnabarGym_Object: def_bg_events def_object_events - object_event 3, 3, SPRITE_MIDDLE_AGED_MAN, STAY, DOWN, 1, OPP_BLAINE, 1 - object_event 17, 2, SPRITE_SUPER_NERD, STAY, DOWN, 2, OPP_SUPER_NERD, 9 - object_event 17, 8, SPRITE_SUPER_NERD, STAY, DOWN, 3, OPP_BURGLAR, 4 - object_event 11, 4, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_SUPER_NERD, 10 - object_event 11, 8, SPRITE_SUPER_NERD, STAY, DOWN, 5, OPP_BURGLAR, 5 + object_event 3, 3, SPRITE_MIDDLE_AGED_MAN, STAY, DOWN, 1, OPP_BLAINE, 1 + object_event 17, 2, SPRITE_SUPER_NERD, STAY, DOWN, 2, OPP_SUPER_NERD, 9 + object_event 17, 8, SPRITE_SUPER_NERD, STAY, DOWN, 3, OPP_BURGLAR, 4 + object_event 11, 4, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_SUPER_NERD, 10 + object_event 11, 8, SPRITE_SUPER_NERD, STAY, DOWN, 5, OPP_BURGLAR, 5 object_event 11, 14, SPRITE_SUPER_NERD, STAY, DOWN, 6, OPP_SUPER_NERD, 11 - object_event 3, 14, SPRITE_SUPER_NERD, STAY, DOWN, 7, OPP_BURGLAR, 6 - object_event 3, 8, SPRITE_SUPER_NERD, STAY, DOWN, 8, OPP_SUPER_NERD, 12 + object_event 3, 14, SPRITE_SUPER_NERD, STAY, DOWN, 7, OPP_BURGLAR, 6 + object_event 3, 8, SPRITE_SUPER_NERD, STAY, DOWN, 8, OPP_SUPER_NERD, 12 object_event 16, 13, SPRITE_GYM_GUIDE, STAY, DOWN, 9 ; person def_warps_to CINNABAR_GYM diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm index c2decff6..cdfb5ba2 100644 --- a/data/maps/objects/CinnabarIsland.asm +++ b/data/maps/objects/CinnabarIsland.asm @@ -16,7 +16,7 @@ CinnabarIsland_Object: bg_event 13, 3, 7 ; CinnabarIslandText7 def_object_events - object_event 12, 5, SPRITE_GIRL, WALK, LEFT_RIGHT, 1 ; person - object_event 14, 6, SPRITE_GAMBLER, STAY, NONE, 2 ; person + object_event 12, 5, SPRITE_GIRL, WALK, LEFT_RIGHT, 1 ; person + object_event 14, 6, SPRITE_GAMBLER, STAY, NONE, 2 ; person def_warps_to CINNABAR_ISLAND diff --git a/data/maps/objects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm index aa1aa1c7..3c8507e8 100644 --- a/data/maps/objects/CinnabarLab.asm +++ b/data/maps/objects/CinnabarLab.asm @@ -15,6 +15,6 @@ CinnabarLab_Object: bg_event 17, 4, 5 ; Lab1Text5 def_object_events - object_event 1, 3, SPRITE_FISHING_GURU, STAY, NONE, 1 ; person + object_event 1, 3, SPRITE_FISHING_GURU, STAY, NONE, 1 ; person def_warps_to CINNABAR_LAB diff --git a/data/maps/objects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm index 0c61cf88..9e8c664c 100644 --- a/data/maps/objects/CinnabarLabFossilRoom.asm +++ b/data/maps/objects/CinnabarLabFossilRoom.asm @@ -8,7 +8,7 @@ CinnabarLabFossilRoom_Object: def_bg_events def_object_events - object_event 5, 2, SPRITE_SCIENTIST, WALK, LEFT_RIGHT, 1 ; person - object_event 7, 6, SPRITE_SCIENTIST, STAY, UP, 2 ; person + object_event 5, 2, SPRITE_SCIENTIST, WALK, LEFT_RIGHT, 1 ; person + object_event 7, 6, SPRITE_SCIENTIST, STAY, UP, 2 ; person def_warps_to CINNABAR_LAB_FOSSIL_ROOM diff --git a/data/maps/objects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm index dbfe0578..f4a96582 100644 --- a/data/maps/objects/CinnabarLabMetronomeRoom.asm +++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm @@ -11,7 +11,7 @@ CinnabarLabMetronomeRoom_Object: bg_event 2, 1, 5 ; Lab3Text5 def_object_events - object_event 7, 2, SPRITE_SCIENTIST, STAY, DOWN, 1 ; person - object_event 2, 3, SPRITE_SCIENTIST, WALK, LEFT_RIGHT, 2 ; person + object_event 7, 2, SPRITE_SCIENTIST, STAY, DOWN, 1 ; person + object_event 2, 3, SPRITE_SCIENTIST, WALK, LEFT_RIGHT, 2 ; person def_warps_to CINNABAR_LAB_METRONOME_ROOM diff --git a/data/maps/objects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm index d117af51..bbb66069 100644 --- a/data/maps/objects/CinnabarLabTradeRoom.asm +++ b/data/maps/objects/CinnabarLabTradeRoom.asm @@ -8,8 +8,8 @@ CinnabarLabTradeRoom_Object: def_bg_events def_object_events - object_event 3, 2, SPRITE_SUPER_NERD, STAY, DOWN, 1 ; person - object_event 1, 4, SPRITE_GRAMPS, STAY, NONE, 2 ; person - object_event 5, 5, SPRITE_BEAUTY, STAY, UP, 3 ; person + object_event 3, 2, SPRITE_SUPER_NERD, STAY, DOWN, 1 ; person + object_event 1, 4, SPRITE_GRAMPS, STAY, NONE, 2 ; person + object_event 5, 5, SPRITE_BEAUTY, STAY, UP, 3 ; person def_warps_to CINNABAR_LAB_TRADE_ROOM diff --git a/data/maps/objects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm index 9aa0e265..e742434e 100644 --- a/data/maps/objects/CinnabarMart.asm +++ b/data/maps/objects/CinnabarMart.asm @@ -8,8 +8,8 @@ CinnabarMart_Object: def_bg_events def_object_events - object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person - object_event 6, 2, SPRITE_ERIKA, STAY, NONE, 2 ; person - object_event 3, 4, SPRITE_SCIENTIST, STAY, NONE, 3 ; person + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 6, 2, SPRITE_ERIKA, STAY, NONE, 2 ; person + object_event 3, 4, SPRITE_SCIENTIST, STAY, NONE, 3 ; person def_warps_to CINNABAR_MART diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm index 3e5a1d30..95fe1342 100644 --- a/data/maps/objects/CinnabarPokecenter.asm +++ b/data/maps/objects/CinnabarPokecenter.asm @@ -8,9 +8,9 @@ CinnabarPokecenter_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 9, 4, SPRITE_COOLTRAINER_F, WALK, ANY_DIR, 2 ; person - object_event 2, 6, SPRITE_GENTLEMAN, STAY, NONE, 3 ; person - object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 9, 4, SPRITE_COOLTRAINER_F, WALK, ANY_DIR, 2 ; person + object_event 2, 6, SPRITE_GENTLEMAN, STAY, NONE, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to CINNABAR_POKECENTER diff --git a/data/maps/objects/Colosseum.asm b/data/maps/objects/Colosseum.asm index f7837731..32327058 100644 --- a/data/maps/objects/Colosseum.asm +++ b/data/maps/objects/Colosseum.asm @@ -6,6 +6,6 @@ Colosseum_Object: def_bg_events def_object_events - object_event 2, 2, SPRITE_RED, STAY, 0, 1 ; person + object_event 2, 2, SPRITE_RED, STAY, 0, 1 ; person def_warps_to COLOSSEUM diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm index 980cdcbc..3521560b 100644 --- a/data/maps/objects/CopycatsHouse1F.asm +++ b/data/maps/objects/CopycatsHouse1F.asm @@ -9,8 +9,8 @@ CopycatsHouse1F_Object: def_bg_events def_object_events - object_event 2, 2, SPRITE_MIDDLE_AGED_WOMAN, STAY, DOWN, 1 ; person - object_event 5, 4, SPRITE_MIDDLE_AGED_MAN, STAY, LEFT, 2 ; person - object_event 1, 4, SPRITE_FAIRY, WALK, UP_DOWN, 3 ; person + object_event 2, 2, SPRITE_MIDDLE_AGED_WOMAN, STAY, DOWN, 1 ; person + object_event 5, 4, SPRITE_MIDDLE_AGED_MAN, STAY, LEFT, 2 ; person + object_event 1, 4, SPRITE_FAIRY, WALK, UP_DOWN, 3 ; person def_warps_to COPYCATS_HOUSE_1F diff --git a/data/maps/objects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm index 5e5df0a5..6822a5e6 100644 --- a/data/maps/objects/CopycatsHouse2F.asm +++ b/data/maps/objects/CopycatsHouse2F.asm @@ -9,10 +9,10 @@ CopycatsHouse2F_Object: bg_event 0, 1, 7 ; CopycatsHouse2FText7 def_object_events - object_event 4, 3, SPRITE_BRUNETTE_GIRL, WALK, ANY_DIR, 1 ; person - object_event 4, 6, SPRITE_BIRD, WALK, LEFT_RIGHT, 2 ; person - object_event 5, 1, SPRITE_MONSTER, STAY, DOWN, 3 ; person - object_event 2, 0, SPRITE_BIRD, STAY, DOWN, 4 ; person - object_event 1, 6, SPRITE_FAIRY, STAY, RIGHT, 5 ; person + object_event 4, 3, SPRITE_BRUNETTE_GIRL, WALK, ANY_DIR, 1 ; person + object_event 4, 6, SPRITE_BIRD, WALK, LEFT_RIGHT, 2 ; person + object_event 5, 1, SPRITE_MONSTER, STAY, DOWN, 3 ; person + object_event 2, 0, SPRITE_BIRD, STAY, DOWN, 4 ; person + object_event 1, 6, SPRITE_FAIRY, STAY, RIGHT, 5 ; person def_warps_to COPYCATS_HOUSE_2F diff --git a/data/maps/objects/Daycare.asm b/data/maps/objects/Daycare.asm index 7b3a52c6..695ae179 100644 --- a/data/maps/objects/Daycare.asm +++ b/data/maps/objects/Daycare.asm @@ -8,6 +8,6 @@ Daycare_Object: def_bg_events def_object_events - object_event 2, 3, SPRITE_GENTLEMAN, STAY, RIGHT, 1 ; person + object_event 2, 3, SPRITE_GENTLEMAN, STAY, RIGHT, 1 ; person def_warps_to DAYCARE diff --git a/data/maps/objects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm index e3d7b7ad..2f5bd5a0 100644 --- a/data/maps/objects/DiglettsCaveRoute11.asm +++ b/data/maps/objects/DiglettsCaveRoute11.asm @@ -9,6 +9,6 @@ DiglettsCaveRoute11_Object: def_bg_events def_object_events - object_event 2, 3, SPRITE_GAMBLER, STAY, NONE, 1 ; person + object_event 2, 3, SPRITE_GAMBLER, STAY, NONE, 1 ; person def_warps_to DIGLETTS_CAVE_ROUTE_11 diff --git a/data/maps/objects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm index 1853d3a3..340d811d 100644 --- a/data/maps/objects/DiglettsCaveRoute2.asm +++ b/data/maps/objects/DiglettsCaveRoute2.asm @@ -9,6 +9,6 @@ DiglettsCaveRoute2_Object: def_bg_events def_object_events - object_event 3, 3, SPRITE_FISHING_GURU, STAY, NONE, 1 ; person + object_event 3, 3, SPRITE_FISHING_GURU, STAY, NONE, 1 ; person def_warps_to DIGLETTS_CAVE_ROUTE_2 diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm index 61be63a4..85f34048 100644 --- a/data/maps/objects/FightingDojo.asm +++ b/data/maps/objects/FightingDojo.asm @@ -8,12 +8,12 @@ FightingDojo_Object: def_bg_events def_object_events - object_event 5, 3, SPRITE_HIKER, STAY, DOWN, 1, OPP_BLACKBELT, 1 - object_event 3, 4, SPRITE_HIKER, STAY, RIGHT, 2, OPP_BLACKBELT, 2 - object_event 3, 6, SPRITE_HIKER, STAY, RIGHT, 3, OPP_BLACKBELT, 3 - object_event 5, 5, SPRITE_HIKER, STAY, LEFT, 4, OPP_BLACKBELT, 4 - object_event 5, 7, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 5 - object_event 4, 1, SPRITE_POKE_BALL, STAY, NONE, 6 ; person - object_event 5, 1, SPRITE_POKE_BALL, STAY, NONE, 7 ; person + object_event 5, 3, SPRITE_HIKER, STAY, DOWN, 1, OPP_BLACKBELT, 1 + object_event 3, 4, SPRITE_HIKER, STAY, RIGHT, 2, OPP_BLACKBELT, 2 + object_event 3, 6, SPRITE_HIKER, STAY, RIGHT, 3, OPP_BLACKBELT, 3 + object_event 5, 5, SPRITE_HIKER, STAY, LEFT, 4, OPP_BLACKBELT, 4 + object_event 5, 7, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 5 + object_event 4, 1, SPRITE_POKE_BALL, STAY, NONE, 6 ; person + object_event 5, 1, SPRITE_POKE_BALL, STAY, NONE, 7 ; person def_warps_to FIGHTING_DOJO diff --git a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm index 84d8896e..d397765d 100644 --- a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm +++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm @@ -8,8 +8,8 @@ FuchsiaBillsGrandpasHouse_Object: def_bg_events def_object_events - object_event 2, 3, SPRITE_MIDDLE_AGED_WOMAN, STAY, RIGHT, 1 ; person - object_event 7, 2, SPRITE_GAMBLER, STAY, UP, 2 ; person - object_event 5, 5, SPRITE_YOUNGSTER, STAY, NONE, 3 ; person + object_event 2, 3, SPRITE_MIDDLE_AGED_WOMAN, STAY, RIGHT, 1 ; person + object_event 7, 2, SPRITE_GAMBLER, STAY, UP, 2 ; person + object_event 5, 5, SPRITE_YOUNGSTER, STAY, NONE, 3 ; person def_warps_to FUCHSIA_BILLS_GRANDPAS_HOUSE diff --git a/data/maps/objects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm index c6f41754..291d30bc 100644 --- a/data/maps/objects/FuchsiaCity.asm +++ b/data/maps/objects/FuchsiaCity.asm @@ -32,12 +32,12 @@ FuchsiaCity_Object: object_event 10, 12, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person object_event 28, 17, SPRITE_GAMBLER, WALK, LEFT_RIGHT, 2 ; person object_event 30, 14, SPRITE_FISHER, STAY, DOWN, 3 ; person - object_event 24, 8, SPRITE_YOUNGSTER, STAY, UP, 4 ; person - object_event 31, 5, SPRITE_FAIRY, WALK, ANY_DIR, 5 ; person - object_event 25, 6, SPRITE_POKE_BALL, STAY, NONE, 6 ; person - object_event 12, 6, SPRITE_MONSTER, WALK, LEFT_RIGHT, 7 ; person + object_event 24, 8, SPRITE_YOUNGSTER, STAY, UP, 4 ; person + object_event 31, 5, SPRITE_FAIRY, WALK, ANY_DIR, 5 ; person + object_event 25, 6, SPRITE_POKE_BALL, STAY, NONE, 6 ; person + object_event 12, 6, SPRITE_MONSTER, WALK, LEFT_RIGHT, 7 ; person object_event 30, 12, SPRITE_MONSTER, WALK, LEFT_RIGHT, 8 ; person - object_event 8, 17, SPRITE_SEEL, WALK, ANY_DIR, 9 ; person - object_event 6, 5, SPRITE_FOSSIL, STAY, NONE, 10 ; person + object_event 8, 17, SPRITE_SEEL, WALK, ANY_DIR, 9 ; person + object_event 6, 5, SPRITE_FOSSIL, STAY, NONE, 10 ; person def_warps_to FUCHSIA_CITY diff --git a/data/maps/objects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm index 0a8dd12f..2d3f3c93 100644 --- a/data/maps/objects/FuchsiaGoodRodHouse.asm +++ b/data/maps/objects/FuchsiaGoodRodHouse.asm @@ -9,6 +9,6 @@ FuchsiaGoodRodHouse_Object: def_bg_events def_object_events - object_event 5, 3, SPRITE_FISHING_GURU, STAY, RIGHT, 1 ; person + object_event 5, 3, SPRITE_FISHING_GURU, STAY, RIGHT, 1 ; person def_warps_to FUCHSIA_GOOD_ROD_HOUSE diff --git a/data/maps/objects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm index 9b884a68..06dc06e2 100644 --- a/data/maps/objects/FuchsiaGym.asm +++ b/data/maps/objects/FuchsiaGym.asm @@ -8,13 +8,13 @@ FuchsiaGym_Object: def_bg_events def_object_events - object_event 4, 10, SPRITE_KOGA, STAY, DOWN, 1, OPP_KOGA, 1 - object_event 8, 13, SPRITE_ROCKER, STAY, DOWN, 2, OPP_JUGGLER, 7 - object_event 7, 8, SPRITE_ROCKER, STAY, RIGHT, 3, OPP_JUGGLER, 3 - object_event 1, 12, SPRITE_ROCKER, STAY, DOWN, 4, OPP_JUGGLER, 8 - object_event 3, 5, SPRITE_ROCKER, STAY, UP, 5, OPP_TAMER, 1 - object_event 8, 2, SPRITE_ROCKER, STAY, DOWN, 6, OPP_TAMER, 2 - object_event 2, 7, SPRITE_ROCKER, STAY, LEFT, 7, OPP_JUGGLER, 4 - object_event 7, 15, SPRITE_GYM_GUIDE, STAY, DOWN, 8 ; person + object_event 4, 10, SPRITE_KOGA, STAY, DOWN, 1, OPP_KOGA, 1 + object_event 8, 13, SPRITE_ROCKER, STAY, DOWN, 2, OPP_JUGGLER, 7 + object_event 7, 8, SPRITE_ROCKER, STAY, RIGHT, 3, OPP_JUGGLER, 3 + object_event 1, 12, SPRITE_ROCKER, STAY, DOWN, 4, OPP_JUGGLER, 8 + object_event 3, 5, SPRITE_ROCKER, STAY, UP, 5, OPP_TAMER, 1 + object_event 8, 2, SPRITE_ROCKER, STAY, DOWN, 6, OPP_TAMER, 2 + object_event 2, 7, SPRITE_ROCKER, STAY, LEFT, 7, OPP_JUGGLER, 4 + object_event 7, 15, SPRITE_GYM_GUIDE, STAY, DOWN, 8 ; person def_warps_to FUCHSIA_GYM diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm index 80eb426b..e6d6f445 100644 --- a/data/maps/objects/FuchsiaMart.asm +++ b/data/maps/objects/FuchsiaMart.asm @@ -8,8 +8,8 @@ FuchsiaMart_Object: def_bg_events def_object_events - object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person - object_event 4, 2, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 2 ; person - object_event 6, 5, SPRITE_COOLTRAINER_F, WALK, UP_DOWN, 3 ; person + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 4, 2, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 2 ; person + object_event 6, 5, SPRITE_COOLTRAINER_F, WALK, UP_DOWN, 3 ; person def_warps_to FUCHSIA_MART diff --git a/data/maps/objects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm index 228d5f79..509a34b2 100644 --- a/data/maps/objects/FuchsiaMeetingRoom.asm +++ b/data/maps/objects/FuchsiaMeetingRoom.asm @@ -8,8 +8,8 @@ FuchsiaMeetingRoom_Object: def_bg_events def_object_events - object_event 4, 1, SPRITE_SAFARI_ZONE_WORKER, STAY, DOWN, 1 ; person - object_event 0, 2, SPRITE_SAFARI_ZONE_WORKER, STAY, UP, 2 ; person - object_event 10, 1, SPRITE_SAFARI_ZONE_WORKER, STAY, DOWN, 3 ; person + object_event 4, 1, SPRITE_SAFARI_ZONE_WORKER, STAY, DOWN, 1 ; person + object_event 0, 2, SPRITE_SAFARI_ZONE_WORKER, STAY, UP, 2 ; person + object_event 10, 1, SPRITE_SAFARI_ZONE_WORKER, STAY, DOWN, 3 ; person def_warps_to FUCHSIA_MEETING_ROOM diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm index 1d0e76fa..79e99b9b 100644 --- a/data/maps/objects/FuchsiaPokecenter.asm +++ b/data/maps/objects/FuchsiaPokecenter.asm @@ -8,9 +8,9 @@ FuchsiaPokecenter_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 2, 3, SPRITE_ROCKER, STAY, NONE, 2 ; person - object_event 6, 5, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 3 ; person - object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 2, 3, SPRITE_ROCKER, STAY, NONE, 2 ; person + object_event 6, 5, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to FUCHSIA_POKECENTER diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm index a195f2c2..7f568174 100644 --- a/data/maps/objects/GameCorner.asm +++ b/data/maps/objects/GameCorner.asm @@ -10,16 +10,16 @@ GameCorner_Object: bg_event 9, 4, 12 ; CeladonGameCornerText12 def_object_events - object_event 2, 6, SPRITE_BEAUTY, STAY, DOWN, 1 ; person - object_event 5, 6, SPRITE_CLERK, STAY, DOWN, 2 ; person - object_event 2, 10, SPRITE_MIDDLE_AGED_MAN, STAY, LEFT, 3 ; person - object_event 2, 13, SPRITE_BEAUTY, STAY, LEFT, 4 ; person - object_event 5, 11, SPRITE_FISHING_GURU, STAY, RIGHT, 5 ; person - object_event 8, 11, SPRITE_MIDDLE_AGED_WOMAN, STAY, LEFT, 6 ; person - object_event 8, 14, SPRITE_GYM_GUIDE, STAY, LEFT, 7 ; person + object_event 2, 6, SPRITE_BEAUTY, STAY, DOWN, 1 ; person + object_event 5, 6, SPRITE_CLERK, STAY, DOWN, 2 ; person + object_event 2, 10, SPRITE_MIDDLE_AGED_MAN, STAY, LEFT, 3 ; person + object_event 2, 13, SPRITE_BEAUTY, STAY, LEFT, 4 ; person + object_event 5, 11, SPRITE_FISHING_GURU, STAY, RIGHT, 5 ; person + object_event 8, 11, SPRITE_MIDDLE_AGED_WOMAN, STAY, LEFT, 6 ; person + object_event 8, 14, SPRITE_GYM_GUIDE, STAY, LEFT, 7 ; person object_event 11, 15, SPRITE_GAMBLER, STAY, RIGHT, 8 ; person object_event 14, 11, SPRITE_CLERK, STAY, LEFT, 9 ; person object_event 17, 13, SPRITE_GENTLEMAN, STAY, RIGHT, 10 ; person - object_event 9, 5, SPRITE_ROCKET, STAY, UP, 11, OPP_ROCKET, 7 + object_event 9, 5, SPRITE_ROCKET, STAY, UP, 11, OPP_ROCKET, 7 def_warps_to GAME_CORNER diff --git a/data/maps/objects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm index fab25b4f..db149c60 100644 --- a/data/maps/objects/GameCornerPrizeRoom.asm +++ b/data/maps/objects/GameCornerPrizeRoom.asm @@ -11,7 +11,7 @@ GameCornerPrizeRoom_Object: bg_event 6, 2, 5 ; CeladonPrizeRoomText5 def_object_events - object_event 1, 4, SPRITE_BALDING_GUY, STAY, NONE, 1 ; person - object_event 7, 3, SPRITE_GAMBLER, WALK, LEFT_RIGHT, 2 ; person + object_event 1, 4, SPRITE_BALDING_GUY, STAY, NONE, 1 ; person + object_event 7, 3, SPRITE_GAMBLER, WALK, LEFT_RIGHT, 2 ; person def_warps_to GAME_CORNER_PRIZE_ROOM diff --git a/data/maps/objects/HallOfFame.asm b/data/maps/objects/HallOfFame.asm index b3273ec6..0db4f56c 100644 --- a/data/maps/objects/HallOfFame.asm +++ b/data/maps/objects/HallOfFame.asm @@ -8,6 +8,6 @@ HallOfFame_Object: def_bg_events def_object_events - object_event 5, 2, SPRITE_OAK, STAY, DOWN, 1 ; person + object_event 5, 2, SPRITE_OAK, STAY, DOWN, 1 ; person def_warps_to HALL_OF_FAME diff --git a/data/maps/objects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm index 8af27657..d8eaf97c 100644 --- a/data/maps/objects/IndigoPlateauLobby.asm +++ b/data/maps/objects/IndigoPlateauLobby.asm @@ -9,10 +9,10 @@ IndigoPlateauLobby_Object: def_bg_events def_object_events - object_event 7, 5, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 4, 9, SPRITE_GYM_GUIDE, STAY, RIGHT, 2 ; person - object_event 5, 1, SPRITE_COOLTRAINER_F, STAY, DOWN, 3 ; person - object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 4 ; person - object_event 13, 6, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 5 ; person + object_event 7, 5, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 4, 9, SPRITE_GYM_GUIDE, STAY, RIGHT, 2 ; person + object_event 5, 1, SPRITE_COOLTRAINER_F, STAY, DOWN, 3 ; person + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 4 ; person + object_event 13, 6, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 5 ; person def_warps_to INDIGO_PLATEAU_LOBBY diff --git a/data/maps/objects/LancesRoom.asm b/data/maps/objects/LancesRoom.asm index 3e055fde..53848141 100644 --- a/data/maps/objects/LancesRoom.asm +++ b/data/maps/objects/LancesRoom.asm @@ -9,6 +9,6 @@ LancesRoom_Object: def_bg_events def_object_events - object_event 6, 1, SPRITE_LANCE, STAY, DOWN, 1, OPP_LANCE, 1 + object_event 6, 1, SPRITE_LANCE, STAY, DOWN, 1, OPP_LANCE, 1 def_warps_to LANCES_ROOM diff --git a/data/maps/objects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm index e39d911b..c6802c7a 100644 --- a/data/maps/objects/LavenderCuboneHouse.asm +++ b/data/maps/objects/LavenderCuboneHouse.asm @@ -8,7 +8,7 @@ LavenderCuboneHouse_Object: def_bg_events def_object_events - object_event 3, 5, SPRITE_MONSTER, STAY, UP, 1 ; person - object_event 2, 4, SPRITE_BRUNETTE_GIRL, STAY, RIGHT, 2 ; person + object_event 3, 5, SPRITE_MONSTER, STAY, UP, 1 ; person + object_event 2, 4, SPRITE_BRUNETTE_GIRL, STAY, RIGHT, 2 ; person def_warps_to LAVENDER_CUBONE_HOUSE diff --git a/data/maps/objects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm index 430df64a..5deeba7c 100644 --- a/data/maps/objects/LavenderMart.asm +++ b/data/maps/objects/LavenderMart.asm @@ -8,8 +8,8 @@ LavenderMart_Object: def_bg_events def_object_events - object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person - object_event 3, 4, SPRITE_BALDING_GUY, STAY, NONE, 2 ; person - object_event 7, 2, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 3, 4, SPRITE_BALDING_GUY, STAY, NONE, 2 ; person + object_event 7, 2, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person def_warps_to LAVENDER_MART diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm index b14e93b3..5e397a65 100644 --- a/data/maps/objects/LavenderPokecenter.asm +++ b/data/maps/objects/LavenderPokecenter.asm @@ -8,9 +8,9 @@ LavenderPokecenter_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 5, 3, SPRITE_GENTLEMAN, STAY, NONE, 2 ; person - object_event 2, 6, SPRITE_LITTLE_GIRL, WALK, UP_DOWN, 3 ; person - object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 5, 3, SPRITE_GENTLEMAN, STAY, NONE, 2 ; person + object_event 2, 6, SPRITE_LITTLE_GIRL, WALK, UP_DOWN, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to LAVENDER_POKECENTER diff --git a/data/maps/objects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm index 6e855efb..973ed5eb 100644 --- a/data/maps/objects/LavenderTown.asm +++ b/data/maps/objects/LavenderTown.asm @@ -18,8 +18,8 @@ LavenderTown_Object: bg_event 17, 7, 9 ; LavenderTownText9 def_object_events - object_event 15, 9, SPRITE_LITTLE_GIRL, WALK, ANY_DIR, 1 ; person - object_event 9, 10, SPRITE_COOLTRAINER_M, STAY, NONE, 2 ; person - object_event 8, 7, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 3 ; person + object_event 15, 9, SPRITE_LITTLE_GIRL, WALK, ANY_DIR, 1 ; person + object_event 9, 10, SPRITE_COOLTRAINER_M, STAY, NONE, 2 ; person + object_event 8, 7, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 3 ; person def_warps_to LAVENDER_TOWN diff --git a/data/maps/objects/LoreleisRoom.asm b/data/maps/objects/LoreleisRoom.asm index 84f5f6c8..3c4d1afa 100644 --- a/data/maps/objects/LoreleisRoom.asm +++ b/data/maps/objects/LoreleisRoom.asm @@ -10,6 +10,6 @@ LoreleisRoom_Object: def_bg_events def_object_events - object_event 5, 2, SPRITE_LORELEI, STAY, DOWN, 1, OPP_LORELEI, 1 + object_event 5, 2, SPRITE_LORELEI, STAY, DOWN, 1, OPP_LORELEI, 1 def_warps_to LORELEIS_ROOM diff --git a/data/maps/objects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm index 054ac845..36e8f1a0 100644 --- a/data/maps/objects/MrFujisHouse.asm +++ b/data/maps/objects/MrFujisHouse.asm @@ -8,11 +8,11 @@ MrFujisHouse_Object: def_bg_events def_object_events - object_event 3, 5, SPRITE_SUPER_NERD, STAY, NONE, 1 ; person - object_event 6, 3, SPRITE_LITTLE_GIRL, STAY, DOWN, 2 ; person - object_event 6, 4, SPRITE_MONSTER, STAY, UP, 3 ; person - object_event 1, 3, SPRITE_MONSTER, STAY, NONE, 4 ; person - object_event 3, 1, SPRITE_MR_FUJI, STAY, NONE, 5 ; person - object_event 3, 3, SPRITE_POKEDEX, STAY, NONE, 6 ; person + object_event 3, 5, SPRITE_SUPER_NERD, STAY, NONE, 1 ; person + object_event 6, 3, SPRITE_LITTLE_GIRL, STAY, DOWN, 2 ; person + object_event 6, 4, SPRITE_MONSTER, STAY, UP, 3 ; person + object_event 1, 3, SPRITE_MONSTER, STAY, NONE, 4 ; person + object_event 3, 1, SPRITE_MR_FUJI, STAY, NONE, 5 ; person + object_event 3, 3, SPRITE_POKEDEX, STAY, NONE, 6 ; person def_warps_to MR_FUJIS_HOUSE diff --git a/data/maps/objects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm index fcb8b95e..31a9146d 100644 --- a/data/maps/objects/MrPsychicsHouse.asm +++ b/data/maps/objects/MrPsychicsHouse.asm @@ -8,6 +8,6 @@ MrPsychicsHouse_Object: def_bg_events def_object_events - object_event 5, 3, SPRITE_FISHING_GURU, STAY, LEFT, 1 ; person + object_event 5, 3, SPRITE_FISHING_GURU, STAY, LEFT, 1 ; person def_warps_to MR_PSYCHICS_HOUSE diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm index 4f72fcda..a1659889 100644 --- a/data/maps/objects/MtMoon1F.asm +++ b/data/maps/objects/MtMoon1F.asm @@ -12,18 +12,18 @@ MtMoon1F_Object: bg_event 15, 23, 14 ; MtMoon1Text14 def_object_events - object_event 5, 6, SPRITE_HIKER, STAY, DOWN, 1, OPP_HIKER, 1 + object_event 5, 6, SPRITE_HIKER, STAY, DOWN, 1, OPP_HIKER, 1 object_event 12, 16, SPRITE_YOUNGSTER, STAY, RIGHT, 2, OPP_YOUNGSTER, 3 - object_event 30, 4, SPRITE_COOLTRAINER_F, STAY, DOWN, 3, OPP_LASS, 5 + object_event 30, 4, SPRITE_COOLTRAINER_F, STAY, DOWN, 3, OPP_LASS, 5 object_event 24, 31, SPRITE_SUPER_NERD, STAY, UP, 4, OPP_SUPER_NERD, 1 object_event 16, 23, SPRITE_COOLTRAINER_F, STAY, DOWN, 5, OPP_LASS, 6 - object_event 7, 22, SPRITE_YOUNGSTER, STAY, DOWN, 6, OPP_BUG_CATCHER, 7 + object_event 7, 22, SPRITE_YOUNGSTER, STAY, DOWN, 6, OPP_BUG_CATCHER, 7 object_event 30, 27, SPRITE_YOUNGSTER, STAY, RIGHT, 7, OPP_BUG_CATCHER, 8 - object_event 2, 20, SPRITE_POKE_BALL, STAY, NONE, 8, POTION - object_event 2, 2, SPRITE_POKE_BALL, STAY, NONE, 9, MOON_STONE + object_event 2, 20, SPRITE_POKE_BALL, STAY, NONE, 8, POTION + object_event 2, 2, SPRITE_POKE_BALL, STAY, NONE, 9, MOON_STONE object_event 35, 31, SPRITE_POKE_BALL, STAY, NONE, 10, RARE_CANDY object_event 36, 23, SPRITE_POKE_BALL, STAY, NONE, 11, ESCAPE_ROPE object_event 20, 33, SPRITE_POKE_BALL, STAY, NONE, 12, POTION - object_event 5, 32, SPRITE_POKE_BALL, STAY, NONE, 13, TM_WATER_GUN + object_event 5, 32, SPRITE_POKE_BALL, STAY, NONE, 13, TM_WATER_GUN def_warps_to MT_MOON_1F diff --git a/data/maps/objects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm index 8fb91617..7e49d1c5 100644 --- a/data/maps/objects/MtMoonB2F.asm +++ b/data/maps/objects/MtMoonB2F.asm @@ -10,14 +10,14 @@ MtMoonB2F_Object: def_bg_events def_object_events - object_event 12, 8, SPRITE_SUPER_NERD, STAY, RIGHT, 1, OPP_SUPER_NERD, 2 + object_event 12, 8, SPRITE_SUPER_NERD, STAY, RIGHT, 1, OPP_SUPER_NERD, 2 object_event 11, 16, SPRITE_ROCKET, STAY, DOWN, 2, OPP_ROCKET, 1 object_event 15, 22, SPRITE_ROCKET, STAY, DOWN, 3, OPP_ROCKET, 2 object_event 29, 11, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 3 object_event 29, 17, SPRITE_ROCKET, STAY, LEFT, 5, OPP_ROCKET, 4 - object_event 12, 6, SPRITE_FOSSIL, STAY, NONE, 6 ; person - object_event 13, 6, SPRITE_FOSSIL, STAY, NONE, 7 ; person + object_event 12, 6, SPRITE_FOSSIL, STAY, NONE, 6 ; person + object_event 13, 6, SPRITE_FOSSIL, STAY, NONE, 7 ; person object_event 25, 21, SPRITE_POKE_BALL, STAY, NONE, 8, HP_UP - object_event 29, 5, SPRITE_POKE_BALL, STAY, NONE, 9, TM_MEGA_PUNCH + object_event 29, 5, SPRITE_POKE_BALL, STAY, NONE, 9, TM_MEGA_PUNCH def_warps_to MT_MOON_B2F diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm index 189b1025..2cf049ab 100644 --- a/data/maps/objects/MtMoonPokecenter.asm +++ b/data/maps/objects/MtMoonPokecenter.asm @@ -8,11 +8,11 @@ MtMoonPokecenter_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 4, 3, SPRITE_YOUNGSTER, STAY, UP, 2 ; person - object_event 7, 3, SPRITE_GENTLEMAN, STAY, UP, 3 ; person - object_event 10, 6, SPRITE_MIDDLE_AGED_MAN, WALK, LEFT_RIGHT, 4 ; person - object_event 7, 2, SPRITE_CLIPBOARD, STAY, NONE, 5 ; person - object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 6 ; person + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 4, 3, SPRITE_YOUNGSTER, STAY, UP, 2 ; person + object_event 7, 3, SPRITE_GENTLEMAN, STAY, UP, 3 ; person + object_event 10, 6, SPRITE_MIDDLE_AGED_MAN, WALK, LEFT_RIGHT, 4 ; person + object_event 7, 2, SPRITE_CLIPBOARD, STAY, NONE, 5 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 6 ; person def_warps_to MT_MOON_POKECENTER diff --git a/data/maps/objects/Museum1F.asm b/data/maps/objects/Museum1F.asm index 4c6e7ebe..aae73366 100644 --- a/data/maps/objects/Museum1F.asm +++ b/data/maps/objects/Museum1F.asm @@ -11,10 +11,10 @@ Museum1F_Object: def_bg_events def_object_events - object_event 12, 4, SPRITE_SCIENTIST, STAY, LEFT, 1 ; person - object_event 1, 4, SPRITE_GAMBLER, STAY, NONE, 2 ; person - object_event 15, 2, SPRITE_SCIENTIST, STAY, DOWN, 3 ; person - object_event 17, 4, SPRITE_SCIENTIST, STAY, NONE, 4 ; person - object_event 16, 2, SPRITE_OLD_AMBER, STAY, NONE, 5 ; person + object_event 12, 4, SPRITE_SCIENTIST, STAY, LEFT, 1 ; person + object_event 1, 4, SPRITE_GAMBLER, STAY, NONE, 2 ; person + object_event 15, 2, SPRITE_SCIENTIST, STAY, DOWN, 3 ; person + object_event 17, 4, SPRITE_SCIENTIST, STAY, NONE, 4 ; person + object_event 16, 2, SPRITE_OLD_AMBER, STAY, NONE, 5 ; person def_warps_to MUSEUM_1F diff --git a/data/maps/objects/Museum2F.asm b/data/maps/objects/Museum2F.asm index 8dcc229f..fbf5cffe 100644 --- a/data/maps/objects/Museum2F.asm +++ b/data/maps/objects/Museum2F.asm @@ -9,10 +9,10 @@ Museum2F_Object: bg_event 2, 5, 7 ; Museum2FText7 def_object_events - object_event 1, 7, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person - object_event 0, 5, SPRITE_GRAMPS, STAY, DOWN, 2 ; person - object_event 7, 5, SPRITE_SCIENTIST, STAY, DOWN, 3 ; person - object_event 11, 5, SPRITE_BRUNETTE_GIRL, STAY, NONE, 4 ; person - object_event 12, 5, SPRITE_HIKER, STAY, DOWN, 5 ; person + object_event 1, 7, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person + object_event 0, 5, SPRITE_GRAMPS, STAY, DOWN, 2 ; person + object_event 7, 5, SPRITE_SCIENTIST, STAY, DOWN, 3 ; person + object_event 11, 5, SPRITE_BRUNETTE_GIRL, STAY, NONE, 4 ; person + object_event 12, 5, SPRITE_HIKER, STAY, DOWN, 5 ; person def_warps_to MUSEUM_2F diff --git a/data/maps/objects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm index b712a1d9..4c2c490b 100644 --- a/data/maps/objects/NameRatersHouse.asm +++ b/data/maps/objects/NameRatersHouse.asm @@ -8,6 +8,6 @@ NameRatersHouse_Object: def_bg_events def_object_events - object_event 5, 3, SPRITE_SILPH_PRESIDENT, STAY, LEFT, 1 ; person + object_event 5, 3, SPRITE_SILPH_PRESIDENT, STAY, LEFT, 1 ; person def_warps_to NAME_RATERS_HOUSE diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index e24eb3c8..6f654f6e 100644 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -8,16 +8,16 @@ OaksLab_Object: def_bg_events def_object_events - object_event 4, 3, SPRITE_BLUE, STAY, NONE, 1, OPP_RIVAL1, 1 - object_event 6, 3, SPRITE_POKE_BALL, STAY, NONE, 2 ; person - object_event 7, 3, SPRITE_POKE_BALL, STAY, NONE, 3 ; person - object_event 8, 3, SPRITE_POKE_BALL, STAY, NONE, 4 ; person - object_event 5, 2, SPRITE_OAK, STAY, DOWN, 5 ; person - object_event 2, 1, SPRITE_POKEDEX, STAY, NONE, 6 ; person - object_event 3, 1, SPRITE_POKEDEX, STAY, NONE, 7 ; person - object_event 5, 10, SPRITE_OAK, STAY, UP, 8 ; person - object_event 1, 9, SPRITE_GIRL, WALK, UP_DOWN, 9 ; person - object_event 2, 10, SPRITE_SCIENTIST, STAY, NONE, 10 ; person - object_event 8, 10, SPRITE_SCIENTIST, STAY, NONE, 11 ; person + object_event 4, 3, SPRITE_BLUE, STAY, NONE, 1, OPP_RIVAL1, 1 + object_event 6, 3, SPRITE_POKE_BALL, STAY, NONE, 2 ; person + object_event 7, 3, SPRITE_POKE_BALL, STAY, NONE, 3 ; person + object_event 8, 3, SPRITE_POKE_BALL, STAY, NONE, 4 ; person + object_event 5, 2, SPRITE_OAK, STAY, DOWN, 5 ; person + object_event 2, 1, SPRITE_POKEDEX, STAY, NONE, 6 ; person + object_event 3, 1, SPRITE_POKEDEX, STAY, NONE, 7 ; person + object_event 5, 10, SPRITE_OAK, STAY, UP, 8 ; person + object_event 1, 9, SPRITE_GIRL, WALK, UP_DOWN, 9 ; person + object_event 2, 10, SPRITE_SCIENTIST, STAY, NONE, 10 ; person + object_event 8, 10, SPRITE_SCIENTIST, STAY, NONE, 11 ; person def_warps_to OAKS_LAB diff --git a/data/maps/objects/PalletTown.asm b/data/maps/objects/PalletTown.asm index 7c3641cd..cd760731 100644 --- a/data/maps/objects/PalletTown.asm +++ b/data/maps/objects/PalletTown.asm @@ -13,8 +13,8 @@ PalletTown_Object: bg_event 11, 5, 7 ; PalletTownText7 def_object_events - object_event 8, 5, SPRITE_OAK, STAY, NONE, 1 ; person - object_event 3, 8, SPRITE_GIRL, WALK, ANY_DIR, 2 ; person + object_event 8, 5, SPRITE_OAK, STAY, NONE, 1 ; person + object_event 3, 8, SPRITE_GIRL, WALK, ANY_DIR, 2 ; person object_event 11, 14, SPRITE_FISHER, WALK, ANY_DIR, 3 ; person def_warps_to PALLET_TOWN diff --git a/data/maps/objects/PewterCity.asm b/data/maps/objects/PewterCity.asm index 0ae84c0f..fa3f794c 100644 --- a/data/maps/objects/PewterCity.asm +++ b/data/maps/objects/PewterCity.asm @@ -20,7 +20,7 @@ PewterCity_Object: bg_event 25, 23, 12 ; PewterCityText12 def_object_events - object_event 8, 15, SPRITE_COOLTRAINER_F, STAY, NONE, 1 ; person + object_event 8, 15, SPRITE_COOLTRAINER_F, STAY, NONE, 1 ; person object_event 17, 25, SPRITE_COOLTRAINER_M, STAY, NONE, 2 ; person object_event 27, 17, SPRITE_SUPER_NERD, STAY, NONE, 3 ; person object_event 26, 25, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 4 ; person diff --git a/data/maps/objects/PewterGym.asm b/data/maps/objects/PewterGym.asm index 2e3fb6ed..25d32486 100644 --- a/data/maps/objects/PewterGym.asm +++ b/data/maps/objects/PewterGym.asm @@ -8,8 +8,8 @@ PewterGym_Object: def_bg_events def_object_events - object_event 4, 1, SPRITE_SUPER_NERD, STAY, DOWN, 1, OPP_BROCK, 1 - object_event 3, 6, SPRITE_COOLTRAINER_M, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1 - object_event 7, 10, SPRITE_GYM_GUIDE, STAY, DOWN, 3 ; person + object_event 4, 1, SPRITE_SUPER_NERD, STAY, DOWN, 1, OPP_BROCK, 1 + object_event 3, 6, SPRITE_COOLTRAINER_M, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1 + object_event 7, 10, SPRITE_GYM_GUIDE, STAY, DOWN, 3 ; person def_warps_to PEWTER_GYM diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm index d76e846c..e34b7686 100644 --- a/data/maps/objects/PewterMart.asm +++ b/data/maps/objects/PewterMart.asm @@ -8,8 +8,8 @@ PewterMart_Object: def_bg_events def_object_events - object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person - object_event 3, 3, SPRITE_YOUNGSTER, WALK, UP_DOWN, 2 ; person - object_event 5, 5, SPRITE_SUPER_NERD, STAY, NONE, 3 ; person + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 3, 3, SPRITE_YOUNGSTER, WALK, UP_DOWN, 2 ; person + object_event 5, 5, SPRITE_SUPER_NERD, STAY, NONE, 3 ; person def_warps_to PEWTER_MART diff --git a/data/maps/objects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm index 79cec7a8..3b08d2df 100644 --- a/data/maps/objects/PewterNidoranHouse.asm +++ b/data/maps/objects/PewterNidoranHouse.asm @@ -8,8 +8,8 @@ PewterNidoranHouse_Object: def_bg_events def_object_events - object_event 4, 5, SPRITE_MONSTER, STAY, LEFT, 1 ; person - object_event 3, 5, SPRITE_LITTLE_BOY, STAY, RIGHT, 2 ; person - object_event 1, 2, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 3 ; person + object_event 4, 5, SPRITE_MONSTER, STAY, LEFT, 1 ; person + object_event 3, 5, SPRITE_LITTLE_BOY, STAY, RIGHT, 2 ; person + object_event 1, 2, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 3 ; person def_warps_to PEWTER_NIDORAN_HOUSE diff --git a/data/maps/objects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm index 0da86e9b..cd422f58 100644 --- a/data/maps/objects/PewterPokecenter.asm +++ b/data/maps/objects/PewterPokecenter.asm @@ -8,9 +8,9 @@ PewterPokecenter_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 11, 7, SPRITE_GENTLEMAN, STAY, LEFT, 2 ; person - object_event 1, 3, SPRITE_FAIRY, STAY, DOWN, 3 ; person - object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 11, 7, SPRITE_GENTLEMAN, STAY, LEFT, 2 ; person + object_event 1, 3, SPRITE_FAIRY, STAY, DOWN, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to PEWTER_POKECENTER diff --git a/data/maps/objects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm index 16e73cd8..0cd96a67 100644 --- a/data/maps/objects/PewterSpeechHouse.asm +++ b/data/maps/objects/PewterSpeechHouse.asm @@ -8,7 +8,7 @@ PewterSpeechHouse_Object: def_bg_events def_object_events - object_event 2, 3, SPRITE_GAMBLER, STAY, RIGHT, 1 ; person - object_event 4, 5, SPRITE_YOUNGSTER, STAY, NONE, 2 ; person + object_event 2, 3, SPRITE_GAMBLER, STAY, RIGHT, 1 ; person + object_event 4, 5, SPRITE_YOUNGSTER, STAY, NONE, 2 ; person def_warps_to PEWTER_SPEECH_HOUSE diff --git a/data/maps/objects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm index e845a083..e089f65d 100644 --- a/data/maps/objects/PokemonFanClub.asm +++ b/data/maps/objects/PokemonFanClub.asm @@ -10,11 +10,11 @@ PokemonFanClub_Object: bg_event 6, 0, 8 ; FanClubText8 def_object_events - object_event 6, 3, SPRITE_FISHER, STAY, LEFT, 1 ; person - object_event 1, 3, SPRITE_GIRL, STAY, RIGHT, 2 ; person - object_event 6, 4, SPRITE_FAIRY, STAY, LEFT, 3 ; person - object_event 1, 4, SPRITE_SEEL, STAY, RIGHT, 4 ; person - object_event 3, 1, SPRITE_GENTLEMAN, STAY, DOWN, 5 ; person - object_event 5, 1, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 6 ; person + object_event 6, 3, SPRITE_FISHER, STAY, LEFT, 1 ; person + object_event 1, 3, SPRITE_GIRL, STAY, RIGHT, 2 ; person + object_event 6, 4, SPRITE_FAIRY, STAY, LEFT, 3 ; person + object_event 1, 4, SPRITE_SEEL, STAY, RIGHT, 4 ; person + object_event 3, 1, SPRITE_GENTLEMAN, STAY, DOWN, 5 ; person + object_event 5, 1, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 6 ; person def_warps_to POKEMON_FAN_CLUB diff --git a/data/maps/objects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm index a6ef0ecb..69003a3f 100644 --- a/data/maps/objects/PokemonMansion1F.asm +++ b/data/maps/objects/PokemonMansion1F.asm @@ -15,7 +15,7 @@ PokemonMansion1F_Object: def_object_events object_event 17, 17, SPRITE_SCIENTIST, STAY, LEFT, 1, OPP_SCIENTIST, 4 - object_event 14, 3, SPRITE_POKE_BALL, STAY, NONE, 2, ESCAPE_ROPE + object_event 14, 3, SPRITE_POKE_BALL, STAY, NONE, 2, ESCAPE_ROPE object_event 18, 21, SPRITE_POKE_BALL, STAY, NONE, 3, CARBOS def_warps_to POKEMON_MANSION_1F diff --git a/data/maps/objects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm index 4b59a896..eebd1336 100644 --- a/data/maps/objects/PokemonMansion2F.asm +++ b/data/maps/objects/PokemonMansion2F.asm @@ -10,9 +10,9 @@ PokemonMansion2F_Object: def_bg_events def_object_events - object_event 3, 17, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 7 - object_event 28, 7, SPRITE_POKE_BALL, STAY, NONE, 2, CALCIUM - object_event 18, 2, SPRITE_POKEDEX, STAY, NONE, 3 ; person - object_event 3, 22, SPRITE_POKEDEX, STAY, NONE, 4 ; person + object_event 3, 17, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 7 + object_event 28, 7, SPRITE_POKE_BALL, STAY, NONE, 2, CALCIUM + object_event 18, 2, SPRITE_POKEDEX, STAY, NONE, 3 ; person + object_event 3, 22, SPRITE_POKEDEX, STAY, NONE, 4 ; person def_warps_to POKEMON_MANSION_2F diff --git a/data/maps/objects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm index 7cb94a3e..bf767252 100644 --- a/data/maps/objects/PokemonMansion3F.asm +++ b/data/maps/objects/PokemonMansion3F.asm @@ -9,10 +9,10 @@ PokemonMansion3F_Object: def_bg_events def_object_events - object_event 5, 11, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 8 + object_event 5, 11, SPRITE_SUPER_NERD, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 8 object_event 20, 11, SPRITE_SCIENTIST, STAY, LEFT, 2, OPP_SCIENTIST, 12 - object_event 1, 16, SPRITE_POKE_BALL, STAY, NONE, 3, MAX_POTION - object_event 25, 5, SPRITE_POKE_BALL, STAY, NONE, 4, IRON - object_event 6, 12, SPRITE_POKEDEX, STAY, NONE, 5 ; person + object_event 1, 16, SPRITE_POKE_BALL, STAY, NONE, 3, MAX_POTION + object_event 25, 5, SPRITE_POKE_BALL, STAY, NONE, 4, IRON + object_event 6, 12, SPRITE_POKEDEX, STAY, NONE, 5 ; person def_warps_to POKEMON_MANSION_3F diff --git a/data/maps/objects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm index cd5d6763..9dfdb37d 100644 --- a/data/maps/objects/PokemonMansionB1F.asm +++ b/data/maps/objects/PokemonMansionB1F.asm @@ -9,11 +9,11 @@ PokemonMansionB1F_Object: def_object_events object_event 16, 23, SPRITE_SUPER_NERD, STAY, NONE, 1, OPP_BURGLAR, 9 object_event 27, 11, SPRITE_SCIENTIST, STAY, DOWN, 2, OPP_SCIENTIST, 13 - object_event 10, 2, SPRITE_POKE_BALL, STAY, NONE, 3, RARE_CANDY - object_event 1, 22, SPRITE_POKE_BALL, STAY, NONE, 4, FULL_RESTORE + object_event 10, 2, SPRITE_POKE_BALL, STAY, NONE, 3, RARE_CANDY + object_event 1, 22, SPRITE_POKE_BALL, STAY, NONE, 4, FULL_RESTORE object_event 19, 25, SPRITE_POKE_BALL, STAY, NONE, 5, TM_BLIZZARD - object_event 5, 4, SPRITE_POKE_BALL, STAY, NONE, 6, TM_SOLARBEAM + object_event 5, 4, SPRITE_POKE_BALL, STAY, NONE, 6, TM_SOLARBEAM object_event 16, 20, SPRITE_POKEDEX, STAY, NONE, 7 ; person - object_event 5, 13, SPRITE_POKE_BALL, STAY, NONE, 8, SECRET_KEY + object_event 5, 13, SPRITE_POKE_BALL, STAY, NONE, 8, SECRET_KEY def_warps_to POKEMON_MANSION_B1F diff --git a/data/maps/objects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm index 109ffd50..558688f7 100644 --- a/data/maps/objects/PokemonTower1F.asm +++ b/data/maps/objects/PokemonTower1F.asm @@ -10,9 +10,9 @@ PokemonTower1F_Object: def_object_events object_event 15, 13, SPRITE_LINK_RECEPTIONIST, STAY, UP, 1 ; person - object_event 6, 8, SPRITE_MIDDLE_AGED_WOMAN, STAY, NONE, 2 ; person - object_event 8, 12, SPRITE_BALDING_GUY, STAY, NONE, 3 ; person - object_event 13, 7, SPRITE_GIRL, STAY, NONE, 4 ; person - object_event 17, 7, SPRITE_CHANNELER, STAY, LEFT, 5 ; person + object_event 6, 8, SPRITE_MIDDLE_AGED_WOMAN, STAY, NONE, 2 ; person + object_event 8, 12, SPRITE_BALDING_GUY, STAY, NONE, 3 ; person + object_event 13, 7, SPRITE_GIRL, STAY, NONE, 4 ; person + object_event 17, 7, SPRITE_CHANNELER, STAY, LEFT, 5 ; person def_warps_to POKEMON_TOWER_1F diff --git a/data/maps/objects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm index c569e4d7..ba0e94ca 100644 --- a/data/maps/objects/PokemonTower2F.asm +++ b/data/maps/objects/PokemonTower2F.asm @@ -8,7 +8,7 @@ PokemonTower2F_Object: def_bg_events def_object_events - object_event 14, 5, SPRITE_BLUE, STAY, NONE, 1 ; person - object_event 3, 7, SPRITE_CHANNELER, STAY, RIGHT, 2 ; person + object_event 14, 5, SPRITE_BLUE, STAY, NONE, 1 ; person + object_event 3, 7, SPRITE_CHANNELER, STAY, RIGHT, 2 ; person def_warps_to POKEMON_TOWER_2F diff --git a/data/maps/objects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm index 09c8719e..1d983476 100644 --- a/data/maps/objects/PokemonTower3F.asm +++ b/data/maps/objects/PokemonTower3F.asm @@ -8,9 +8,9 @@ PokemonTower3F_Object: def_bg_events def_object_events - object_event 12, 3, SPRITE_CHANNELER, STAY, LEFT, 1, OPP_CHANNELER, 5 - object_event 9, 8, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 6 + object_event 12, 3, SPRITE_CHANNELER, STAY, LEFT, 1, OPP_CHANNELER, 5 + object_event 9, 8, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 6 object_event 10, 13, SPRITE_CHANNELER, STAY, DOWN, 3, OPP_CHANNELER, 8 - object_event 12, 1, SPRITE_POKE_BALL, STAY, NONE, 4, ESCAPE_ROPE + object_event 12, 1, SPRITE_POKE_BALL, STAY, NONE, 4, ESCAPE_ROPE def_warps_to POKEMON_TOWER_3F diff --git a/data/maps/objects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm index 7c762912..6b21ce68 100644 --- a/data/maps/objects/PokemonTower4F.asm +++ b/data/maps/objects/PokemonTower4F.asm @@ -8,11 +8,11 @@ PokemonTower4F_Object: def_bg_events def_object_events - object_event 5, 10, SPRITE_CHANNELER, STAY, RIGHT, 1, OPP_CHANNELER, 9 - object_event 15, 7, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 10 + object_event 5, 10, SPRITE_CHANNELER, STAY, RIGHT, 1, OPP_CHANNELER, 9 + object_event 15, 7, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 10 object_event 14, 12, SPRITE_CHANNELER, STAY, LEFT, 3, OPP_CHANNELER, 12 object_event 12, 10, SPRITE_POKE_BALL, STAY, NONE, 4, ELIXER - object_event 9, 10, SPRITE_POKE_BALL, STAY, NONE, 5, AWAKENING + object_event 9, 10, SPRITE_POKE_BALL, STAY, NONE, 5, AWAKENING object_event 12, 16, SPRITE_POKE_BALL, STAY, NONE, 6, HP_UP def_warps_to POKEMON_TOWER_4F diff --git a/data/maps/objects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm index 355ab587..9b578abc 100644 --- a/data/maps/objects/PokemonTower5F.asm +++ b/data/maps/objects/PokemonTower5F.asm @@ -8,11 +8,11 @@ PokemonTower5F_Object: def_bg_events def_object_events - object_event 12, 8, SPRITE_CHANNELER, STAY, NONE, 1 ; person - object_event 17, 7, SPRITE_CHANNELER, STAY, LEFT, 2, OPP_CHANNELER, 14 - object_event 14, 3, SPRITE_CHANNELER, STAY, LEFT, 3, OPP_CHANNELER, 16 - object_event 6, 10, SPRITE_CHANNELER, STAY, RIGHT, 4, OPP_CHANNELER, 17 - object_event 9, 16, SPRITE_CHANNELER, STAY, RIGHT, 5, OPP_CHANNELER, 18 - object_event 6, 14, SPRITE_POKE_BALL, STAY, NONE, 6, NUGGET + object_event 12, 8, SPRITE_CHANNELER, STAY, NONE, 1 ; person + object_event 17, 7, SPRITE_CHANNELER, STAY, LEFT, 2, OPP_CHANNELER, 14 + object_event 14, 3, SPRITE_CHANNELER, STAY, LEFT, 3, OPP_CHANNELER, 16 + object_event 6, 10, SPRITE_CHANNELER, STAY, RIGHT, 4, OPP_CHANNELER, 17 + object_event 9, 16, SPRITE_CHANNELER, STAY, RIGHT, 5, OPP_CHANNELER, 18 + object_event 6, 14, SPRITE_POKE_BALL, STAY, NONE, 6, NUGGET def_warps_to POKEMON_TOWER_5F diff --git a/data/maps/objects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm index c9c362c8..5b64be0e 100644 --- a/data/maps/objects/PokemonTower6F.asm +++ b/data/maps/objects/PokemonTower6F.asm @@ -9,9 +9,9 @@ PokemonTower6F_Object: def_object_events object_event 12, 10, SPRITE_CHANNELER, STAY, RIGHT, 1, OPP_CHANNELER, 19 - object_event 9, 5, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 20 - object_event 16, 5, SPRITE_CHANNELER, STAY, LEFT, 3, OPP_CHANNELER, 21 - object_event 6, 8, SPRITE_POKE_BALL, STAY, NONE, 4, RARE_CANDY + object_event 9, 5, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 20 + object_event 16, 5, SPRITE_CHANNELER, STAY, LEFT, 3, OPP_CHANNELER, 21 + object_event 6, 8, SPRITE_POKE_BALL, STAY, NONE, 4, RARE_CANDY object_event 14, 14, SPRITE_POKE_BALL, STAY, NONE, 5, X_ACCURACY def_warps_to POKEMON_TOWER_6F diff --git a/data/maps/objects/PokemonTower7F.asm b/data/maps/objects/PokemonTower7F.asm index a148936b..9cc632a1 100644 --- a/data/maps/objects/PokemonTower7F.asm +++ b/data/maps/objects/PokemonTower7F.asm @@ -7,9 +7,9 @@ PokemonTower7F_Object: def_bg_events def_object_events - object_event 9, 11, SPRITE_ROCKET, STAY, RIGHT, 1, OPP_ROCKET, 19 - object_event 12, 9, SPRITE_ROCKET, STAY, LEFT, 2, OPP_ROCKET, 20 - object_event 9, 7, SPRITE_ROCKET, STAY, RIGHT, 3, OPP_ROCKET, 21 - object_event 10, 3, SPRITE_MR_FUJI, STAY, DOWN, 4 ; person + object_event 9, 11, SPRITE_ROCKET, STAY, RIGHT, 1, OPP_ROCKET, 19 + object_event 12, 9, SPRITE_ROCKET, STAY, LEFT, 2, OPP_ROCKET, 20 + object_event 9, 7, SPRITE_ROCKET, STAY, RIGHT, 3, OPP_ROCKET, 21 + object_event 10, 3, SPRITE_MR_FUJI, STAY, DOWN, 4 ; person def_warps_to POKEMON_TOWER_7F diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm index 083b801e..287eb15a 100644 --- a/data/maps/objects/PowerPlant.asm +++ b/data/maps/objects/PowerPlant.asm @@ -9,7 +9,7 @@ PowerPlant_Object: def_bg_events def_object_events - object_event 9, 20, SPRITE_POKE_BALL, STAY, NONE, 1, VOLTORB, 40 + object_event 9, 20, SPRITE_POKE_BALL, STAY, NONE, 1, VOLTORB, 40 object_event 32, 18, SPRITE_POKE_BALL, STAY, NONE, 2, VOLTORB, 40 object_event 21, 25, SPRITE_POKE_BALL, STAY, NONE, 3, VOLTORB, 40 object_event 25, 18, SPRITE_POKE_BALL, STAY, NONE, 4, ELECTRODE, 43 @@ -17,10 +17,10 @@ PowerPlant_Object: object_event 26, 28, SPRITE_POKE_BALL, STAY, NONE, 6, VOLTORB, 40 object_event 21, 14, SPRITE_POKE_BALL, STAY, NONE, 7, ELECTRODE, 43 object_event 37, 32, SPRITE_POKE_BALL, STAY, NONE, 8, VOLTORB, 40 - object_event 4, 9, SPRITE_BIRD, STAY, UP, 9, ZAPDOS, 50 - object_event 7, 25, SPRITE_POKE_BALL, STAY, NONE, 10, CARBOS - object_event 28, 3, SPRITE_POKE_BALL, STAY, NONE, 11, HP_UP - object_event 34, 3, SPRITE_POKE_BALL, STAY, NONE, 12, RARE_CANDY + object_event 4, 9, SPRITE_BIRD, STAY, UP, 9, ZAPDOS, 50 + object_event 7, 25, SPRITE_POKE_BALL, STAY, NONE, 10, CARBOS + object_event 28, 3, SPRITE_POKE_BALL, STAY, NONE, 11, HP_UP + object_event 34, 3, SPRITE_POKE_BALL, STAY, NONE, 12, RARE_CANDY object_event 26, 32, SPRITE_POKE_BALL, STAY, NONE, 13, TM_THUNDER object_event 20, 32, SPRITE_POKE_BALL, STAY, NONE, 14, TM_REFLECT diff --git a/data/maps/objects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm index 6099eb5d..ce0f8c24 100644 --- a/data/maps/objects/RedsHouse1F.asm +++ b/data/maps/objects/RedsHouse1F.asm @@ -10,6 +10,6 @@ RedsHouse1F_Object: bg_event 3, 1, 2 ; TV def_object_events - object_event 5, 4, SPRITE_MOM, STAY, LEFT, 1 ; Mom + object_event 5, 4, SPRITE_MOM, STAY, LEFT, 1 ; Mom def_warps_to REDS_HOUSE_1F diff --git a/data/maps/objects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm index 2d3b0522..cfe0e463 100644 --- a/data/maps/objects/RockTunnel1F.asm +++ b/data/maps/objects/RockTunnel1F.asm @@ -15,10 +15,10 @@ RockTunnel1F_Object: bg_event 11, 29, 8 ; RockTunnel1Text8 def_object_events - object_event 7, 5, SPRITE_HIKER, STAY, DOWN, 1, OPP_HIKER, 12 - object_event 5, 16, SPRITE_HIKER, STAY, DOWN, 2, OPP_HIKER, 13 + object_event 7, 5, SPRITE_HIKER, STAY, DOWN, 1, OPP_HIKER, 12 + object_event 5, 16, SPRITE_HIKER, STAY, DOWN, 2, OPP_HIKER, 13 object_event 17, 15, SPRITE_HIKER, STAY, LEFT, 3, OPP_HIKER, 14 - object_event 23, 8, SPRITE_SUPER_NERD, STAY, LEFT, 4, OPP_POKEMANIAC, 7 + object_event 23, 8, SPRITE_SUPER_NERD, STAY, LEFT, 4, OPP_POKEMANIAC, 7 object_event 37, 21, SPRITE_COOLTRAINER_F, STAY, LEFT, 5, OPP_JR_TRAINER_F, 17 object_event 22, 24, SPRITE_COOLTRAINER_F, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18 object_event 32, 24, SPRITE_COOLTRAINER_F, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19 diff --git a/data/maps/objects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm index 82f6ae83..79030034 100644 --- a/data/maps/objects/RockTunnelB1F.asm +++ b/data/maps/objects/RockTunnelB1F.asm @@ -11,12 +11,12 @@ RockTunnelB1F_Object: def_object_events object_event 11, 13, SPRITE_COOLTRAINER_F, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9 - object_event 6, 10, SPRITE_HIKER, STAY, DOWN, 2, OPP_HIKER, 9 - object_event 3, 5, SPRITE_SUPER_NERD, STAY, DOWN, 3, OPP_POKEMANIAC, 3 + object_event 6, 10, SPRITE_HIKER, STAY, DOWN, 2, OPP_HIKER, 9 + object_event 3, 5, SPRITE_SUPER_NERD, STAY, DOWN, 3, OPP_POKEMANIAC, 3 object_event 20, 21, SPRITE_SUPER_NERD, STAY, RIGHT, 4, OPP_POKEMANIAC, 4 object_event 30, 10, SPRITE_HIKER, STAY, DOWN, 5, OPP_HIKER, 10 object_event 14, 28, SPRITE_COOLTRAINER_F, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10 - object_event 33, 5, SPRITE_HIKER, STAY, RIGHT, 7, OPP_HIKER, 11 + object_event 33, 5, SPRITE_HIKER, STAY, RIGHT, 7, OPP_HIKER, 11 object_event 26, 30, SPRITE_SUPER_NERD, STAY, DOWN, 8, OPP_POKEMANIAC, 5 def_warps_to ROCK_TUNNEL_B1F diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm index 738a791c..a1b095b6 100644 --- a/data/maps/objects/RockTunnelPokecenter.asm +++ b/data/maps/objects/RockTunnelPokecenter.asm @@ -8,9 +8,9 @@ RockTunnelPokecenter_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 7, 3, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 2 ; person - object_event 2, 5, SPRITE_FISHER, STAY, NONE, 3 ; person - object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 7, 3, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 2 ; person + object_event 2, 5, SPRITE_FISHER, STAY, NONE, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to ROCK_TUNNEL_POKECENTER diff --git a/data/maps/objects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm index f3d9fb79..99eb2dc0 100644 --- a/data/maps/objects/RocketHideoutB1F.asm +++ b/data/maps/objects/RocketHideoutB1F.asm @@ -11,12 +11,12 @@ RocketHideoutB1F_Object: def_bg_events def_object_events - object_event 26, 8, SPRITE_ROCKET, STAY, LEFT, 1, OPP_ROCKET, 8 - object_event 12, 6, SPRITE_ROCKET, STAY, RIGHT, 2, OPP_ROCKET, 9 + object_event 26, 8, SPRITE_ROCKET, STAY, LEFT, 1, OPP_ROCKET, 8 + object_event 12, 6, SPRITE_ROCKET, STAY, RIGHT, 2, OPP_ROCKET, 9 object_event 18, 17, SPRITE_ROCKET, STAY, DOWN, 3, OPP_ROCKET, 10 object_event 15, 25, SPRITE_ROCKET, STAY, RIGHT, 4, OPP_ROCKET, 11 object_event 28, 18, SPRITE_ROCKET, STAY, LEFT, 5, OPP_ROCKET, 12 object_event 11, 14, SPRITE_POKE_BALL, STAY, NONE, 6, ESCAPE_ROPE - object_event 9, 17, SPRITE_POKE_BALL, STAY, NONE, 7, HYPER_POTION + object_event 9, 17, SPRITE_POKE_BALL, STAY, NONE, 7, HYPER_POTION def_warps_to ROCKET_HIDEOUT_B1F diff --git a/data/maps/objects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm index 19a77d20..007644ae 100644 --- a/data/maps/objects/RocketHideoutB2F.asm +++ b/data/maps/objects/RocketHideoutB2F.asm @@ -12,9 +12,9 @@ RocketHideoutB2F_Object: def_object_events object_event 20, 12, SPRITE_ROCKET, STAY, DOWN, 1, OPP_ROCKET, 13 - object_event 1, 11, SPRITE_POKE_BALL, STAY, NONE, 2, MOON_STONE - object_event 16, 8, SPRITE_POKE_BALL, STAY, NONE, 3, NUGGET - object_event 6, 12, SPRITE_POKE_BALL, STAY, NONE, 4, TM_HORN_DRILL - object_event 3, 21, SPRITE_POKE_BALL, STAY, NONE, 5, SUPER_POTION + object_event 1, 11, SPRITE_POKE_BALL, STAY, NONE, 2, MOON_STONE + object_event 16, 8, SPRITE_POKE_BALL, STAY, NONE, 3, NUGGET + object_event 6, 12, SPRITE_POKE_BALL, STAY, NONE, 4, TM_HORN_DRILL + object_event 3, 21, SPRITE_POKE_BALL, STAY, NONE, 5, SUPER_POTION def_warps_to ROCKET_HIDEOUT_B2F diff --git a/data/maps/objects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm index e882e364..d21a7dc4 100644 --- a/data/maps/objects/RocketHideoutB4F.asm +++ b/data/maps/objects/RocketHideoutB4F.asm @@ -9,14 +9,14 @@ RocketHideoutB4F_Object: def_bg_events def_object_events - object_event 25, 3, SPRITE_GIOVANNI, STAY, DOWN, 1, OPP_GIOVANNI, 1 + object_event 25, 3, SPRITE_GIOVANNI, STAY, DOWN, 1, OPP_GIOVANNI, 1 object_event 23, 12, SPRITE_ROCKET, STAY, DOWN, 2, OPP_ROCKET, 16 object_event 26, 12, SPRITE_ROCKET, STAY, DOWN, 3, OPP_ROCKET, 17 - object_event 11, 2, SPRITE_ROCKET, STAY, DOWN, 4, OPP_ROCKET, 18 + object_event 11, 2, SPRITE_ROCKET, STAY, DOWN, 4, OPP_ROCKET, 18 object_event 10, 12, SPRITE_POKE_BALL, STAY, NONE, 5, HP_UP - object_event 9, 4, SPRITE_POKE_BALL, STAY, NONE, 6, TM_RAZOR_WIND + object_event 9, 4, SPRITE_POKE_BALL, STAY, NONE, 6, TM_RAZOR_WIND object_event 12, 20, SPRITE_POKE_BALL, STAY, NONE, 7, IRON - object_event 25, 2, SPRITE_POKE_BALL, STAY, NONE, 8, SILPH_SCOPE - object_event 10, 2, SPRITE_POKE_BALL, STAY, NONE, 9, LIFT_KEY + object_event 25, 2, SPRITE_POKE_BALL, STAY, NONE, 8, SILPH_SCOPE + object_event 10, 2, SPRITE_POKE_BALL, STAY, NONE, 9, LIFT_KEY def_warps_to ROCKET_HIDEOUT_B4F diff --git a/data/maps/objects/Route1.asm b/data/maps/objects/Route1.asm index d7e2c751..b4ae442c 100644 --- a/data/maps/objects/Route1.asm +++ b/data/maps/objects/Route1.asm @@ -7,7 +7,7 @@ Route1_Object: bg_event 9, 27, 3 ; Route1Text3 def_object_events - object_event 5, 24, SPRITE_YOUNGSTER, WALK, UP_DOWN, 1 ; person + object_event 5, 24, SPRITE_YOUNGSTER, WALK, UP_DOWN, 1 ; person object_event 15, 13, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 2 ; person def_warps_to ROUTE_1 diff --git a/data/maps/objects/Route10.asm b/data/maps/objects/Route10.asm index 80b27066..ebf9361e 100644 --- a/data/maps/objects/Route10.asm +++ b/data/maps/objects/Route10.asm @@ -15,10 +15,10 @@ Route10_Object: def_object_events object_event 10, 44, SPRITE_SUPER_NERD, STAY, LEFT, 1, OPP_POKEMANIAC, 1 - object_event 3, 57, SPRITE_HIKER, STAY, UP, 2, OPP_HIKER, 7 + object_event 3, 57, SPRITE_HIKER, STAY, UP, 2, OPP_HIKER, 7 object_event 14, 64, SPRITE_SUPER_NERD, STAY, LEFT, 3, OPP_POKEMANIAC, 2 - object_event 7, 25, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7 - object_event 3, 61, SPRITE_HIKER, STAY, DOWN, 5, OPP_HIKER, 8 - object_event 7, 54, SPRITE_COOLTRAINER_F, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8 + object_event 7, 25, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7 + object_event 3, 61, SPRITE_HIKER, STAY, DOWN, 5, OPP_HIKER, 8 + object_event 7, 54, SPRITE_COOLTRAINER_F, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8 def_warps_to ROUTE_10 diff --git a/data/maps/objects/Route11.asm b/data/maps/objects/Route11.asm index 18bf6977..6ee584ef 100644 --- a/data/maps/objects/Route11.asm +++ b/data/maps/objects/Route11.asm @@ -13,13 +13,13 @@ Route11_Object: def_object_events object_event 10, 14, SPRITE_GAMBLER, STAY, DOWN, 1, OPP_GAMBLER, 1 - object_event 26, 9, SPRITE_GAMBLER, STAY, DOWN, 2, OPP_GAMBLER, 2 - object_event 13, 5, SPRITE_YOUNGSTER, STAY, LEFT, 3, OPP_YOUNGSTER, 9 + object_event 26, 9, SPRITE_GAMBLER, STAY, DOWN, 2, OPP_GAMBLER, 2 + object_event 13, 5, SPRITE_YOUNGSTER, STAY, LEFT, 3, OPP_YOUNGSTER, 9 object_event 36, 11, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_ENGINEER, 2 - object_event 22, 4, SPRITE_YOUNGSTER, STAY, UP, 5, OPP_YOUNGSTER, 10 - object_event 45, 7, SPRITE_GAMBLER, STAY, DOWN, 6, OPP_GAMBLER, 3 - object_event 33, 3, SPRITE_GAMBLER, STAY, UP, 7, OPP_GAMBLER, 4 - object_event 43, 5, SPRITE_YOUNGSTER, STAY, RIGHT, 8, OPP_YOUNGSTER, 11 + object_event 22, 4, SPRITE_YOUNGSTER, STAY, UP, 5, OPP_YOUNGSTER, 10 + object_event 45, 7, SPRITE_GAMBLER, STAY, DOWN, 6, OPP_GAMBLER, 3 + object_event 33, 3, SPRITE_GAMBLER, STAY, UP, 7, OPP_GAMBLER, 4 + object_event 43, 5, SPRITE_YOUNGSTER, STAY, RIGHT, 8, OPP_YOUNGSTER, 11 object_event 45, 16, SPRITE_SUPER_NERD, STAY, LEFT, 9, OPP_ENGINEER, 3 object_event 22, 12, SPRITE_YOUNGSTER, STAY, UP, 10, OPP_YOUNGSTER, 12 diff --git a/data/maps/objects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm index bfd9823d..9032ae11 100644 --- a/data/maps/objects/Route11Gate1F.asm +++ b/data/maps/objects/Route11Gate1F.asm @@ -11,6 +11,6 @@ Route11Gate1F_Object: def_bg_events def_object_events - object_event 4, 1, SPRITE_GUARD, STAY, NONE, 1 ; person + object_event 4, 1, SPRITE_GUARD, STAY, NONE, 1 ; person def_warps_to ROUTE_11_GATE_1F diff --git a/data/maps/objects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm index 7dc52e2f..0843482c 100644 --- a/data/maps/objects/Route11Gate2F.asm +++ b/data/maps/objects/Route11Gate2F.asm @@ -9,7 +9,7 @@ Route11Gate2F_Object: bg_event 6, 2, 4 ; Route11GateUpstairsText4 def_object_events - object_event 4, 2, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person - object_event 2, 6, SPRITE_SCIENTIST, STAY, NONE, 2 ; person + object_event 4, 2, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person + object_event 2, 6, SPRITE_SCIENTIST, STAY, NONE, 2 ; person def_warps_to ROUTE_11_GATE_2F diff --git a/data/maps/objects/Route12.asm b/data/maps/objects/Route12.asm index b4f76556..8e2995f0 100644 --- a/data/maps/objects/Route12.asm +++ b/data/maps/objects/Route12.asm @@ -14,13 +14,13 @@ Route12_Object: def_object_events object_event 10, 62, SPRITE_SNORLAX, STAY, DOWN, 1 ; person object_event 14, 31, SPRITE_FISHER, STAY, LEFT, 2, OPP_FISHER, 3 - object_event 5, 39, SPRITE_FISHER, STAY, UP, 3, OPP_FISHER, 4 + object_event 5, 39, SPRITE_FISHER, STAY, UP, 3, OPP_FISHER, 4 object_event 11, 92, SPRITE_COOLTRAINER_M, STAY, LEFT, 4, OPP_JR_TRAINER_M, 9 object_event 14, 76, SPRITE_SUPER_NERD, STAY, UP, 5, OPP_ROCKER, 2 object_event 12, 40, SPRITE_FISHER, STAY, LEFT, 6, OPP_FISHER, 5 - object_event 9, 52, SPRITE_FISHER, STAY, RIGHT, 7, OPP_FISHER, 6 - object_event 6, 87, SPRITE_FISHER, STAY, DOWN, 8, OPP_FISHER, 11 + object_event 9, 52, SPRITE_FISHER, STAY, RIGHT, 7, OPP_FISHER, 6 + object_event 6, 87, SPRITE_FISHER, STAY, DOWN, 8, OPP_FISHER, 11 object_event 14, 35, SPRITE_POKE_BALL, STAY, NONE, 9, TM_PAY_DAY - object_event 5, 89, SPRITE_POKE_BALL, STAY, NONE, 10, IRON + object_event 5, 89, SPRITE_POKE_BALL, STAY, NONE, 10, IRON def_warps_to ROUTE_12 diff --git a/data/maps/objects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm index 3f1692e8..b2e3c6aa 100644 --- a/data/maps/objects/Route12Gate1F.asm +++ b/data/maps/objects/Route12Gate1F.asm @@ -11,6 +11,6 @@ Route12Gate1F_Object: def_bg_events def_object_events - object_event 1, 3, SPRITE_GUARD, STAY, NONE, 1 ; person + object_event 1, 3, SPRITE_GUARD, STAY, NONE, 1 ; person def_warps_to ROUTE_12_GATE_1F diff --git a/data/maps/objects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm index c1590119..bd52d026 100644 --- a/data/maps/objects/Route12Gate2F.asm +++ b/data/maps/objects/Route12Gate2F.asm @@ -9,6 +9,6 @@ Route12Gate2F_Object: bg_event 6, 2, 3 ; Route12GateUpstairsText3 def_object_events - object_event 3, 4, SPRITE_BRUNETTE_GIRL, WALK, UP_DOWN, 1 ; person + object_event 3, 4, SPRITE_BRUNETTE_GIRL, WALK, UP_DOWN, 1 ; person def_warps_to ROUTE_12_GATE_2F diff --git a/data/maps/objects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm index 9bba09a4..806bfa55 100644 --- a/data/maps/objects/Route12SuperRodHouse.asm +++ b/data/maps/objects/Route12SuperRodHouse.asm @@ -8,6 +8,6 @@ Route12SuperRodHouse_Object: def_bg_events def_object_events - object_event 2, 4, SPRITE_FISHING_GURU, STAY, RIGHT, 1 ; person + object_event 2, 4, SPRITE_FISHING_GURU, STAY, RIGHT, 1 ; person def_warps_to ROUTE_12_SUPER_ROD_HOUSE diff --git a/data/maps/objects/Route13.asm b/data/maps/objects/Route13.asm index 234d6df2..a3397573 100644 --- a/data/maps/objects/Route13.asm +++ b/data/maps/objects/Route13.asm @@ -11,13 +11,13 @@ Route13_Object: def_object_events object_event 49, 10, SPRITE_COOLTRAINER_M, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1 object_event 48, 10, SPRITE_COOLTRAINER_F, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12 - object_event 27, 9, SPRITE_COOLTRAINER_F, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13 + object_event 27, 9, SPRITE_COOLTRAINER_F, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13 object_event 23, 10, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_JR_TRAINER_F, 14 - object_event 50, 5, SPRITE_COOLTRAINER_F, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15 - object_event 12, 4, SPRITE_COOLTRAINER_M, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2 - object_event 33, 6, SPRITE_BEAUTY, STAY, DOWN, 7, OPP_BEAUTY, 4 - object_event 32, 6, SPRITE_BEAUTY, STAY, DOWN, 8, OPP_BEAUTY, 5 - object_event 10, 7, SPRITE_BIKER, STAY, UP, 9, OPP_BIKER, 1 - object_event 7, 13, SPRITE_COOLTRAINER_M, STAY, UP, 10, OPP_BIRD_KEEPER, 3 + object_event 50, 5, SPRITE_COOLTRAINER_F, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15 + object_event 12, 4, SPRITE_COOLTRAINER_M, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2 + object_event 33, 6, SPRITE_BEAUTY, STAY, DOWN, 7, OPP_BEAUTY, 4 + object_event 32, 6, SPRITE_BEAUTY, STAY, DOWN, 8, OPP_BEAUTY, 5 + object_event 10, 7, SPRITE_BIKER, STAY, UP, 9, OPP_BIKER, 1 + object_event 7, 13, SPRITE_COOLTRAINER_M, STAY, UP, 10, OPP_BIRD_KEEPER, 3 def_warps_to ROUTE_13 diff --git a/data/maps/objects/Route14.asm b/data/maps/objects/Route14.asm index 8808f501..b9244646 100644 --- a/data/maps/objects/Route14.asm +++ b/data/maps/objects/Route14.asm @@ -7,15 +7,15 @@ Route14_Object: bg_event 17, 13, 11 ; Route14Text11 def_object_events - object_event 4, 4, SPRITE_COOLTRAINER_M, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14 - object_event 15, 6, SPRITE_COOLTRAINER_M, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15 + object_event 4, 4, SPRITE_COOLTRAINER_M, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14 + object_event 15, 6, SPRITE_COOLTRAINER_M, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15 object_event 12, 11, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16 object_event 14, 15, SPRITE_COOLTRAINER_M, STAY, UP, 4, OPP_BIRD_KEEPER, 17 object_event 15, 31, SPRITE_COOLTRAINER_M, STAY, LEFT, 5, OPP_BIRD_KEEPER, 4 - object_event 6, 49, SPRITE_COOLTRAINER_M, STAY, UP, 6, OPP_BIRD_KEEPER, 5 - object_event 5, 39, SPRITE_BIKER, STAY, DOWN, 7, OPP_BIKER, 13 - object_event 4, 30, SPRITE_BIKER, STAY, RIGHT, 8, OPP_BIKER, 14 + object_event 6, 49, SPRITE_COOLTRAINER_M, STAY, UP, 6, OPP_BIRD_KEEPER, 5 + object_event 5, 39, SPRITE_BIKER, STAY, DOWN, 7, OPP_BIKER, 13 + object_event 4, 30, SPRITE_BIKER, STAY, RIGHT, 8, OPP_BIKER, 14 object_event 15, 30, SPRITE_BIKER, STAY, LEFT, 9, OPP_BIKER, 15 - object_event 4, 31, SPRITE_BIKER, STAY, RIGHT, 10, OPP_BIKER, 2 + object_event 4, 31, SPRITE_BIKER, STAY, RIGHT, 10, OPP_BIKER, 2 def_warps_to ROUTE_14 diff --git a/data/maps/objects/Route15.asm b/data/maps/objects/Route15.asm index bb4266b7..895cef47 100644 --- a/data/maps/objects/Route15.asm +++ b/data/maps/objects/Route15.asm @@ -19,8 +19,8 @@ Route15_Object: object_event 41, 10, SPRITE_BEAUTY, STAY, RIGHT, 6, OPP_BEAUTY, 10 object_event 48, 10, SPRITE_BIKER, STAY, DOWN, 7, OPP_BIKER, 3 object_event 46, 10, SPRITE_BIKER, STAY, DOWN, 8, OPP_BIKER, 4 - object_event 37, 5, SPRITE_COOLTRAINER_F, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22 + object_event 37, 5, SPRITE_COOLTRAINER_F, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22 object_event 18, 13, SPRITE_COOLTRAINER_F, STAY, UP, 10, OPP_JR_TRAINER_F, 23 - object_event 18, 5, SPRITE_POKE_BALL, STAY, NONE, 11, TM_RAGE + object_event 18, 5, SPRITE_POKE_BALL, STAY, NONE, 11, TM_RAGE def_warps_to ROUTE_15 diff --git a/data/maps/objects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm index 24311f87..7c93ff33 100644 --- a/data/maps/objects/Route15Gate1F.asm +++ b/data/maps/objects/Route15Gate1F.asm @@ -11,6 +11,6 @@ Route15Gate1F_Object: def_bg_events def_object_events - object_event 4, 1, SPRITE_GUARD, STAY, NONE, 1 ; person + object_event 4, 1, SPRITE_GUARD, STAY, NONE, 1 ; person def_warps_to ROUTE_15_GATE_1F diff --git a/data/maps/objects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm index d57bddab..23134028 100644 --- a/data/maps/objects/Route15Gate2F.asm +++ b/data/maps/objects/Route15Gate2F.asm @@ -8,6 +8,6 @@ Route15Gate2F_Object: bg_event 6, 2, 2 ; Route15GateUpstairsText2 def_object_events - object_event 4, 2, SPRITE_SCIENTIST, STAY, DOWN, 1 + object_event 4, 2, SPRITE_SCIENTIST, STAY, DOWN, 1 def_warps_to ROUTE_15_GATE_2F diff --git a/data/maps/objects/Route16.asm b/data/maps/objects/Route16.asm index 88da2f5f..a029873a 100644 --- a/data/maps/objects/Route16.asm +++ b/data/maps/objects/Route16.asm @@ -20,9 +20,9 @@ Route16_Object: object_event 17, 12, SPRITE_BIKER, STAY, LEFT, 1, OPP_BIKER, 5 object_event 14, 13, SPRITE_BIKER, STAY, RIGHT, 2, OPP_CUE_BALL, 1 object_event 11, 12, SPRITE_BIKER, STAY, UP, 3, OPP_CUE_BALL, 2 - object_event 9, 11, SPRITE_BIKER, STAY, LEFT, 4, OPP_BIKER, 6 - object_event 6, 10, SPRITE_BIKER, STAY, RIGHT, 5, OPP_CUE_BALL, 3 - object_event 3, 12, SPRITE_BIKER, STAY, RIGHT, 6, OPP_BIKER, 7 + object_event 9, 11, SPRITE_BIKER, STAY, LEFT, 4, OPP_BIKER, 6 + object_event 6, 10, SPRITE_BIKER, STAY, RIGHT, 5, OPP_CUE_BALL, 3 + object_event 3, 12, SPRITE_BIKER, STAY, RIGHT, 6, OPP_BIKER, 7 object_event 26, 10, SPRITE_SNORLAX, STAY, DOWN, 7 ; person def_warps_to ROUTE_16 diff --git a/data/maps/objects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm index 1e4d2643..3e1f8ec9 100644 --- a/data/maps/objects/Route16FlyHouse.asm +++ b/data/maps/objects/Route16FlyHouse.asm @@ -8,7 +8,7 @@ Route16FlyHouse_Object: def_bg_events def_object_events - object_event 2, 3, SPRITE_BRUNETTE_GIRL, STAY, RIGHT, 1 ; person - object_event 6, 4, SPRITE_BIRD, WALK, ANY_DIR, 2 ; person + object_event 2, 3, SPRITE_BRUNETTE_GIRL, STAY, RIGHT, 1 ; person + object_event 6, 4, SPRITE_BIRD, WALK, ANY_DIR, 2 ; person def_warps_to ROUTE_16_FLY_HOUSE diff --git a/data/maps/objects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm index 229ee0a0..476729e3 100644 --- a/data/maps/objects/Route16Gate1F.asm +++ b/data/maps/objects/Route16Gate1F.asm @@ -15,7 +15,7 @@ Route16Gate1F_Object: def_bg_events def_object_events - object_event 4, 5, SPRITE_GUARD, STAY, DOWN, 1 ; person - object_event 4, 3, SPRITE_GAMBLER, STAY, NONE, 2 ; person + object_event 4, 5, SPRITE_GUARD, STAY, DOWN, 1 ; person + object_event 4, 3, SPRITE_GAMBLER, STAY, NONE, 2 ; person def_warps_to ROUTE_16_GATE_1F diff --git a/data/maps/objects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm index 047e2d70..185e5a13 100644 --- a/data/maps/objects/Route16Gate2F.asm +++ b/data/maps/objects/Route16Gate2F.asm @@ -9,7 +9,7 @@ Route16Gate2F_Object: bg_event 6, 2, 4 ; Route16GateUpstairsText4 def_object_events - object_event 4, 2, SPRITE_LITTLE_BOY, STAY, NONE, 1 ; person - object_event 2, 5, SPRITE_LITTLE_GIRL, WALK, LEFT_RIGHT, 2 ; person + object_event 4, 2, SPRITE_LITTLE_BOY, STAY, NONE, 1 ; person + object_event 2, 5, SPRITE_LITTLE_GIRL, WALK, LEFT_RIGHT, 2 ; person def_warps_to ROUTE_16_GATE_2F diff --git a/data/maps/objects/Route17.asm b/data/maps/objects/Route17.asm index a2923c29..48d88926 100644 --- a/data/maps/objects/Route17.asm +++ b/data/maps/objects/Route17.asm @@ -14,13 +14,13 @@ Route17_Object: def_object_events object_event 12, 19, SPRITE_BIKER, STAY, LEFT, 1, OPP_CUE_BALL, 4 object_event 11, 16, SPRITE_BIKER, STAY, RIGHT, 2, OPP_CUE_BALL, 5 - object_event 4, 18, SPRITE_BIKER, STAY, UP, 3, OPP_BIKER, 8 - object_event 7, 32, SPRITE_BIKER, STAY, LEFT, 4, OPP_BIKER, 9 + object_event 4, 18, SPRITE_BIKER, STAY, UP, 3, OPP_BIKER, 8 + object_event 7, 32, SPRITE_BIKER, STAY, LEFT, 4, OPP_BIKER, 9 object_event 14, 34, SPRITE_BIKER, STAY, RIGHT, 5, OPP_BIKER, 10 object_event 17, 58, SPRITE_BIKER, STAY, LEFT, 6, OPP_CUE_BALL, 6 - object_event 2, 68, SPRITE_BIKER, STAY, RIGHT, 7, OPP_CUE_BALL, 7 + object_event 2, 68, SPRITE_BIKER, STAY, RIGHT, 7, OPP_CUE_BALL, 7 object_event 14, 98, SPRITE_BIKER, STAY, RIGHT, 8, OPP_CUE_BALL, 8 - object_event 5, 98, SPRITE_BIKER, STAY, LEFT, 9, OPP_BIKER, 11 + object_event 5, 98, SPRITE_BIKER, STAY, LEFT, 9, OPP_BIKER, 11 object_event 10, 118, SPRITE_BIKER, STAY, DOWN, 10, OPP_BIKER, 12 def_warps_to ROUTE_17 diff --git a/data/maps/objects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm index b01f8a21..2dcec54b 100644 --- a/data/maps/objects/Route18Gate1F.asm +++ b/data/maps/objects/Route18Gate1F.asm @@ -11,6 +11,6 @@ Route18Gate1F_Object: def_bg_events def_object_events - object_event 4, 1, SPRITE_GUARD, STAY, DOWN, 1 ; person + object_event 4, 1, SPRITE_GUARD, STAY, DOWN, 1 ; person def_warps_to ROUTE_18_GATE_1F diff --git a/data/maps/objects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm index bf384bd2..afa1b383 100644 --- a/data/maps/objects/Route18Gate2F.asm +++ b/data/maps/objects/Route18Gate2F.asm @@ -9,6 +9,6 @@ Route18Gate2F_Object: bg_event 6, 2, 3 ; Route18GateUpstairsText3 def_object_events - object_event 4, 2, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person + object_event 4, 2, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 1 ; person def_warps_to ROUTE_18_GATE_2F diff --git a/data/maps/objects/Route19.asm b/data/maps/objects/Route19.asm index 34ddfafa..90d253f4 100644 --- a/data/maps/objects/Route19.asm +++ b/data/maps/objects/Route19.asm @@ -7,15 +7,15 @@ Route19_Object: bg_event 11, 9, 11 ; Route19Text11 def_object_events - object_event 8, 7, SPRITE_COOLTRAINER_M, STAY, LEFT, 1, OPP_SWIMMER, 2 - object_event 13, 7, SPRITE_COOLTRAINER_M,STAY, LEFT, 2, OPP_SWIMMER, 3 + object_event 8, 7, SPRITE_COOLTRAINER_M, STAY, LEFT, 1, OPP_SWIMMER, 2 + object_event 13, 7, SPRITE_COOLTRAINER_M,STAY, LEFT, 2, OPP_SWIMMER, 3 object_event 13, 25, SPRITE_SWIMMER, STAY, LEFT, 3, OPP_SWIMMER, 4 - object_event 4, 27, SPRITE_SWIMMER, STAY, RIGHT, 4, OPP_SWIMMER, 5 + object_event 4, 27, SPRITE_SWIMMER, STAY, RIGHT, 4, OPP_SWIMMER, 5 object_event 16, 31, SPRITE_SWIMMER, STAY, UP, 5, OPP_SWIMMER, 6 - object_event 9, 11, SPRITE_SWIMMER, STAY, DOWN, 6, OPP_SWIMMER, 7 - object_event 8, 43, SPRITE_SWIMMER, STAY, LEFT, 7, OPP_BEAUTY, 12 + object_event 9, 11, SPRITE_SWIMMER, STAY, DOWN, 6, OPP_SWIMMER, 7 + object_event 8, 43, SPRITE_SWIMMER, STAY, LEFT, 7, OPP_BEAUTY, 12 object_event 11, 43, SPRITE_SWIMMER, STAY, RIGHT, 8, OPP_BEAUTY, 13 - object_event 9, 42, SPRITE_SWIMMER, STAY, UP, 9, OPP_SWIMMER, 8 + object_event 9, 42, SPRITE_SWIMMER, STAY, UP, 9, OPP_SWIMMER, 8 object_event 10, 44, SPRITE_SWIMMER, STAY, DOWN, 10, OPP_BEAUTY, 14 def_warps_to ROUTE_19 diff --git a/data/maps/objects/Route20.asm b/data/maps/objects/Route20.asm index 6b55e6e0..c00d2284 100644 --- a/data/maps/objects/Route20.asm +++ b/data/maps/objects/Route20.asm @@ -10,15 +10,15 @@ Route20_Object: bg_event 57, 11, 12 ; Route20Text12 def_object_events - object_event 87, 8, SPRITE_SWIMMER, STAY, UP, 1, OPP_SWIMMER, 9 + object_event 87, 8, SPRITE_SWIMMER, STAY, UP, 1, OPP_SWIMMER, 9 object_event 68, 11, SPRITE_SWIMMER, STAY, UP, 2, OPP_BEAUTY, 15 object_event 45, 10, SPRITE_SWIMMER, STAY, DOWN, 3, OPP_BEAUTY, 6 object_event 55, 14, SPRITE_SWIMMER, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 24 object_event 38, 13, SPRITE_SWIMMER, STAY, DOWN, 5, OPP_SWIMMER, 10 object_event 87, 13, SPRITE_SWIMMER, STAY, UP, 6, OPP_SWIMMER, 11 - object_event 34, 9, SPRITE_COOLTRAINER_M, STAY, UP, 7, OPP_BIRD_KEEPER, 11 - object_event 25, 7, SPRITE_SWIMMER, STAY, UP, 8, OPP_BEAUTY, 7 + object_event 34, 9, SPRITE_COOLTRAINER_M, STAY, UP, 7, OPP_BIRD_KEEPER, 11 + object_event 25, 7, SPRITE_SWIMMER, STAY, UP, 8, OPP_BEAUTY, 7 object_event 24, 12, SPRITE_SWIMMER, STAY, DOWN, 9, OPP_JR_TRAINER_F, 16 - object_event 15, 8, SPRITE_SWIMMER, STAY, UP, 10, OPP_BEAUTY, 8 + object_event 15, 8, SPRITE_SWIMMER, STAY, UP, 10, OPP_BEAUTY, 8 def_warps_to ROUTE_20 diff --git a/data/maps/objects/Route21.asm b/data/maps/objects/Route21.asm index 57ad4d43..52012684 100644 --- a/data/maps/objects/Route21.asm +++ b/data/maps/objects/Route21.asm @@ -6,12 +6,12 @@ Route21_Object: def_bg_events def_object_events - object_event 4, 24, SPRITE_FISHER, STAY, LEFT, 1, OPP_FISHER, 7 - object_event 6, 25, SPRITE_FISHER, STAY, DOWN, 2, OPP_FISHER, 9 + object_event 4, 24, SPRITE_FISHER, STAY, LEFT, 1, OPP_FISHER, 7 + object_event 6, 25, SPRITE_FISHER, STAY, DOWN, 2, OPP_FISHER, 9 object_event 10, 31, SPRITE_SWIMMER, STAY, UP, 3, OPP_SWIMMER, 12 object_event 12, 30, SPRITE_SWIMMER, STAY, RIGHT, 4, OPP_CUE_BALL, 9 object_event 16, 63, SPRITE_SWIMMER, STAY, DOWN, 5, OPP_SWIMMER, 13 - object_event 5, 71, SPRITE_SWIMMER, STAY, RIGHT, 6, OPP_SWIMMER, 14 + object_event 5, 71, SPRITE_SWIMMER, STAY, RIGHT, 6, OPP_SWIMMER, 14 object_event 15, 71, SPRITE_SWIMMER, STAY, LEFT, 7, OPP_SWIMMER, 15 object_event 14, 56, SPRITE_FISHER, STAY, LEFT, 8, OPP_FISHER, 8 object_event 17, 57, SPRITE_FISHER, STAY, RIGHT, 9, OPP_FISHER, 10 diff --git a/data/maps/objects/Route22.asm b/data/maps/objects/Route22.asm index 4be0dda2..5fcc989f 100644 --- a/data/maps/objects/Route22.asm +++ b/data/maps/objects/Route22.asm @@ -8,7 +8,7 @@ Route22_Object: bg_event 7, 11, 3 ; Route22FrontGateText def_object_events - object_event 25, 5, SPRITE_BLUE, STAY, NONE, 1 ; person - object_event 25, 5, SPRITE_BLUE, STAY, NONE, 2 ; person + object_event 25, 5, SPRITE_BLUE, STAY, NONE, 1 ; person + object_event 25, 5, SPRITE_BLUE, STAY, NONE, 2 ; person def_warps_to ROUTE_22 diff --git a/data/maps/objects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm index 04e628e0..94aafc51 100644 --- a/data/maps/objects/Route22Gate.asm +++ b/data/maps/objects/Route22Gate.asm @@ -10,6 +10,6 @@ Route22Gate_Object: def_bg_events def_object_events - object_event 6, 2, SPRITE_GUARD, STAY, LEFT, 1 ; person + object_event 6, 2, SPRITE_GUARD, STAY, LEFT, 1 ; person def_warps_to ROUTE_22_GATE diff --git a/data/maps/objects/Route23.asm b/data/maps/objects/Route23.asm index fe5aadab..6cd97faa 100644 --- a/data/maps/objects/Route23.asm +++ b/data/maps/objects/Route23.asm @@ -11,12 +11,12 @@ Route23_Object: bg_event 3, 33, 8 ; Route23Text8 def_object_events - object_event 4, 35, SPRITE_GUARD, STAY, DOWN, 1 ; person + object_event 4, 35, SPRITE_GUARD, STAY, DOWN, 1 ; person object_event 10, 56, SPRITE_GUARD, STAY, DOWN, 2 ; person - object_event 8, 85, SPRITE_SWIMMER, STAY, DOWN, 3 ; person + object_event 8, 85, SPRITE_SWIMMER, STAY, DOWN, 3 ; person object_event 11, 96, SPRITE_SWIMMER, STAY, DOWN, 4 ; person object_event 12, 105, SPRITE_GUARD, STAY, DOWN, 5 ; person - object_event 8, 119, SPRITE_GUARD, STAY, DOWN, 6 ; person - object_event 8, 136, SPRITE_GUARD, STAY, DOWN, 7 ; person + object_event 8, 119, SPRITE_GUARD, STAY, DOWN, 6 ; person + object_event 8, 136, SPRITE_GUARD, STAY, DOWN, 7 ; person def_warps_to ROUTE_23 diff --git a/data/maps/objects/Route24.asm b/data/maps/objects/Route24.asm index d9d0a9d1..80dca821 100644 --- a/data/maps/objects/Route24.asm +++ b/data/maps/objects/Route24.asm @@ -7,12 +7,12 @@ Route24_Object: def_object_events object_event 11, 15, SPRITE_COOLTRAINER_M, STAY, LEFT, 1, OPP_ROCKET, 6 - object_event 5, 20, SPRITE_COOLTRAINER_M, STAY, UP, 2, OPP_JR_TRAINER_M, 2 + object_event 5, 20, SPRITE_COOLTRAINER_M, STAY, UP, 2, OPP_JR_TRAINER_M, 2 object_event 11, 19, SPRITE_COOLTRAINER_M, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3 object_event 10, 22, SPRITE_COOLTRAINER_F, STAY, RIGHT, 4, OPP_LASS, 7 object_event 11, 25, SPRITE_YOUNGSTER, STAY, LEFT, 5, OPP_YOUNGSTER, 4 object_event 10, 28, SPRITE_COOLTRAINER_F, STAY, RIGHT, 6, OPP_LASS, 8 object_event 11, 31, SPRITE_YOUNGSTER, STAY, LEFT, 7, OPP_BUG_CATCHER, 9 - object_event 10, 5, SPRITE_POKE_BALL, STAY, NONE, 8, TM_THUNDER_WAVE + object_event 10, 5, SPRITE_POKE_BALL, STAY, NONE, 8, TM_THUNDER_WAVE def_warps_to ROUTE_24 diff --git a/data/maps/objects/Route25.asm b/data/maps/objects/Route25.asm index 96af21ab..096fd225 100644 --- a/data/maps/objects/Route25.asm +++ b/data/maps/objects/Route25.asm @@ -8,15 +8,15 @@ Route25_Object: bg_event 43, 3, 11 ; Route25Text11 def_object_events - object_event 14, 2, SPRITE_YOUNGSTER, STAY, DOWN, 1, OPP_YOUNGSTER, 5 - object_event 18, 5, SPRITE_YOUNGSTER, STAY, UP, 2, OPP_YOUNGSTER, 6 - object_event 24, 4, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2 - object_event 18, 8, SPRITE_COOLTRAINER_F, STAY, RIGHT, 4, OPP_LASS, 9 - object_event 32, 3, SPRITE_YOUNGSTER, STAY, LEFT, 5, OPP_YOUNGSTER, 7 - object_event 37, 4, SPRITE_COOLTRAINER_F, STAY, DOWN, 6, OPP_LASS, 10 - object_event 8, 4, SPRITE_HIKER, STAY, RIGHT, 7, OPP_HIKER, 2 - object_event 23, 9, SPRITE_HIKER, STAY, UP, 8, OPP_HIKER, 3 - object_event 13, 7, SPRITE_HIKER, STAY, RIGHT, 9, OPP_HIKER, 4 - object_event 22, 2, SPRITE_POKE_BALL, STAY, NONE, 10, TM_SEISMIC_TOSS + object_event 14, 2, SPRITE_YOUNGSTER, STAY, DOWN, 1, OPP_YOUNGSTER, 5 + object_event 18, 5, SPRITE_YOUNGSTER, STAY, UP, 2, OPP_YOUNGSTER, 6 + object_event 24, 4, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2 + object_event 18, 8, SPRITE_COOLTRAINER_F, STAY, RIGHT, 4, OPP_LASS, 9 + object_event 32, 3, SPRITE_YOUNGSTER, STAY, LEFT, 5, OPP_YOUNGSTER, 7 + object_event 37, 4, SPRITE_COOLTRAINER_F, STAY, DOWN, 6, OPP_LASS, 10 + object_event 8, 4, SPRITE_HIKER, STAY, RIGHT, 7, OPP_HIKER, 2 + object_event 23, 9, SPRITE_HIKER, STAY, UP, 8, OPP_HIKER, 3 + object_event 13, 7, SPRITE_HIKER, STAY, RIGHT, 9, OPP_HIKER, 4 + object_event 22, 2, SPRITE_POKE_BALL, STAY, NONE, 10, TM_SEISMIC_TOSS def_warps_to ROUTE_25 diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm index 8d8b5db2..a31e92b0 100644 --- a/data/maps/objects/Route2Gate.asm +++ b/data/maps/objects/Route2Gate.asm @@ -10,7 +10,7 @@ Route2Gate_Object: def_bg_events def_object_events - object_event 1, 4, SPRITE_SCIENTIST, STAY, LEFT, 1 ; person - object_event 5, 4, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 2 ; person + object_event 1, 4, SPRITE_SCIENTIST, STAY, LEFT, 1 ; person + object_event 5, 4, SPRITE_YOUNGSTER, WALK, LEFT_RIGHT, 2 ; person def_warps_to ROUTE_2_GATE diff --git a/data/maps/objects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm index 3a7f1d72..863dee37 100644 --- a/data/maps/objects/Route2TradeHouse.asm +++ b/data/maps/objects/Route2TradeHouse.asm @@ -8,7 +8,7 @@ Route2TradeHouse_Object: def_bg_events def_object_events - object_event 2, 4, SPRITE_SCIENTIST, STAY, RIGHT, 1 ; person - object_event 4, 1, SPRITE_GAMEBOY_KID, STAY, DOWN, 2 ; person + object_event 2, 4, SPRITE_SCIENTIST, STAY, RIGHT, 1 ; person + object_event 4, 1, SPRITE_GAMEBOY_KID, STAY, DOWN, 2 ; person def_warps_to ROUTE_2_TRADE_HOUSE diff --git a/data/maps/objects/Route3.asm b/data/maps/objects/Route3.asm index c60f78a9..dc27fe24 100644 --- a/data/maps/objects/Route3.asm +++ b/data/maps/objects/Route3.asm @@ -8,13 +8,13 @@ Route3_Object: def_object_events object_event 57, 11, SPRITE_SUPER_NERD, STAY, NONE, 1 ; person - object_event 10, 6, SPRITE_YOUNGSTER, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4 - object_event 14, 4, SPRITE_YOUNGSTER, STAY, DOWN, 3, OPP_YOUNGSTER, 1 - object_event 16, 9, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_LASS, 1 - object_event 19, 5, SPRITE_YOUNGSTER, STAY, DOWN, 5, OPP_BUG_CATCHER, 5 - object_event 23, 4, SPRITE_COOLTRAINER_F, STAY, LEFT, 6, OPP_LASS, 2 - object_event 22, 9, SPRITE_YOUNGSTER, STAY, LEFT, 7, OPP_YOUNGSTER, 2 - object_event 24, 6, SPRITE_YOUNGSTER, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6 + object_event 10, 6, SPRITE_YOUNGSTER, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4 + object_event 14, 4, SPRITE_YOUNGSTER, STAY, DOWN, 3, OPP_YOUNGSTER, 1 + object_event 16, 9, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_LASS, 1 + object_event 19, 5, SPRITE_YOUNGSTER, STAY, DOWN, 5, OPP_BUG_CATCHER, 5 + object_event 23, 4, SPRITE_COOLTRAINER_F, STAY, LEFT, 6, OPP_LASS, 2 + object_event 22, 9, SPRITE_YOUNGSTER, STAY, LEFT, 7, OPP_YOUNGSTER, 2 + object_event 24, 6, SPRITE_YOUNGSTER, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6 object_event 33, 10, SPRITE_COOLTRAINER_F, STAY, UP, 9, OPP_LASS, 3 def_warps_to ROUTE_3 diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm index 13f25a80..27a72b23 100644 --- a/data/maps/objects/Route4.asm +++ b/data/maps/objects/Route4.asm @@ -12,8 +12,8 @@ Route4_Object: bg_event 27, 7, 6 ; Route4Text6 def_object_events - object_event 9, 8, SPRITE_COOLTRAINER_F, WALK, ANY_DIR, 1 ; person - object_event 63, 3, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_LASS, 4 - object_event 57, 3, SPRITE_POKE_BALL, STAY, NONE, 3, TM_WHIRLWIND + object_event 9, 8, SPRITE_COOLTRAINER_F, WALK, ANY_DIR, 1 ; person + object_event 63, 3, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_LASS, 4 + object_event 57, 3, SPRITE_POKE_BALL, STAY, NONE, 3, TM_WHIRLWIND def_warps_to ROUTE_4 diff --git a/data/maps/objects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm index 29a54892..cdcf7aa8 100644 --- a/data/maps/objects/Route5Gate.asm +++ b/data/maps/objects/Route5Gate.asm @@ -10,6 +10,6 @@ Route5Gate_Object: def_bg_events def_object_events - object_event 1, 3, SPRITE_GUARD, STAY, RIGHT, 1 ; person + object_event 1, 3, SPRITE_GUARD, STAY, RIGHT, 1 ; person def_warps_to ROUTE_5_GATE diff --git a/data/maps/objects/Route6.asm b/data/maps/objects/Route6.asm index 1bd91d98..d71c90de 100644 --- a/data/maps/objects/Route6.asm +++ b/data/maps/objects/Route6.asm @@ -13,7 +13,7 @@ Route6_Object: def_object_events object_event 10, 21, SPRITE_COOLTRAINER_M, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 4 object_event 11, 21, SPRITE_COOLTRAINER_F, STAY, LEFT, 2, OPP_JR_TRAINER_F, 2 - object_event 0, 15, SPRITE_YOUNGSTER, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10 + object_event 0, 15, SPRITE_YOUNGSTER, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10 object_event 11, 31, SPRITE_COOLTRAINER_M, STAY, LEFT, 4, OPP_JR_TRAINER_M, 5 object_event 11, 30, SPRITE_COOLTRAINER_F, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3 object_event 19, 26, SPRITE_YOUNGSTER, STAY, LEFT, 6, OPP_BUG_CATCHER, 11 diff --git a/data/maps/objects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm index e4503913..95ad9e5e 100644 --- a/data/maps/objects/Route6Gate.asm +++ b/data/maps/objects/Route6Gate.asm @@ -10,6 +10,6 @@ Route6Gate_Object: def_bg_events def_object_events - object_event 6, 2, SPRITE_GUARD, STAY, LEFT, 1 ; person + object_event 6, 2, SPRITE_GUARD, STAY, LEFT, 1 ; person def_warps_to ROUTE_6_GATE diff --git a/data/maps/objects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm index 9aeb81ee..90ddca07 100644 --- a/data/maps/objects/Route7Gate.asm +++ b/data/maps/objects/Route7Gate.asm @@ -10,6 +10,6 @@ Route7Gate_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_GUARD, STAY, DOWN, 1 ; person + object_event 3, 1, SPRITE_GUARD, STAY, DOWN, 1 ; person def_warps_to ROUTE_7_GATE diff --git a/data/maps/objects/Route8.asm b/data/maps/objects/Route8.asm index 71a1df45..2ca33901 100644 --- a/data/maps/objects/Route8.asm +++ b/data/maps/objects/Route8.asm @@ -12,13 +12,13 @@ Route8_Object: bg_event 17, 3, 10 ; Route8Text10 def_object_events - object_event 8, 5, SPRITE_SUPER_NERD, STAY, RIGHT, 1, OPP_SUPER_NERD, 3 - object_event 13, 9, SPRITE_GAMBLER, STAY, UP, 2, OPP_GAMBLER, 5 - object_event 42, 6, SPRITE_SUPER_NERD, STAY, UP, 3, OPP_SUPER_NERD, 4 - object_event 26, 3, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_LASS, 13 - object_event 26, 4, SPRITE_SUPER_NERD, STAY, RIGHT, 5, OPP_SUPER_NERD, 5 - object_event 26, 5, SPRITE_COOLTRAINER_F, STAY, LEFT, 6, OPP_LASS, 14 - object_event 26, 6, SPRITE_COOLTRAINER_F, STAY, RIGHT, 7, OPP_LASS, 15 + object_event 8, 5, SPRITE_SUPER_NERD, STAY, RIGHT, 1, OPP_SUPER_NERD, 3 + object_event 13, 9, SPRITE_GAMBLER, STAY, UP, 2, OPP_GAMBLER, 5 + object_event 42, 6, SPRITE_SUPER_NERD, STAY, UP, 3, OPP_SUPER_NERD, 4 + object_event 26, 3, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_LASS, 13 + object_event 26, 4, SPRITE_SUPER_NERD, STAY, RIGHT, 5, OPP_SUPER_NERD, 5 + object_event 26, 5, SPRITE_COOLTRAINER_F, STAY, LEFT, 6, OPP_LASS, 14 + object_event 26, 6, SPRITE_COOLTRAINER_F, STAY, RIGHT, 7, OPP_LASS, 15 object_event 46, 13, SPRITE_GAMBLER, STAY, DOWN, 8, OPP_GAMBLER, 7 object_event 51, 12, SPRITE_COOLTRAINER_F, STAY, LEFT, 9, OPP_LASS, 16 diff --git a/data/maps/objects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm index 89a79d87..ee09b038 100644 --- a/data/maps/objects/Route8Gate.asm +++ b/data/maps/objects/Route8Gate.asm @@ -10,6 +10,6 @@ Route8Gate_Object: def_bg_events def_object_events - object_event 2, 1, SPRITE_GUARD, STAY, DOWN, 1 ; person + object_event 2, 1, SPRITE_GUARD, STAY, DOWN, 1 ; person def_warps_to ROUTE_8_GATE diff --git a/data/maps/objects/Route9.asm b/data/maps/objects/Route9.asm index 7960af20..a9be69be 100644 --- a/data/maps/objects/Route9.asm +++ b/data/maps/objects/Route9.asm @@ -8,14 +8,14 @@ Route9_Object: def_object_events object_event 13, 10, SPRITE_COOLTRAINER_F, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5 - object_event 24, 7, SPRITE_COOLTRAINER_M, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7 - object_event 31, 7, SPRITE_COOLTRAINER_M, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8 - object_event 48, 8, SPRITE_COOLTRAINER_F, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 6 + object_event 24, 7, SPRITE_COOLTRAINER_M, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7 + object_event 31, 7, SPRITE_COOLTRAINER_M, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8 + object_event 48, 8, SPRITE_COOLTRAINER_F, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 6 object_event 16, 15, SPRITE_HIKER, STAY, LEFT, 5, OPP_HIKER, 11 - object_event 43, 3, SPRITE_HIKER, STAY, LEFT, 6, OPP_HIKER, 6 - object_event 22, 2, SPRITE_YOUNGSTER, STAY, DOWN, 7, OPP_BUG_CATCHER, 13 + object_event 43, 3, SPRITE_HIKER, STAY, LEFT, 6, OPP_HIKER, 6 + object_event 22, 2, SPRITE_YOUNGSTER, STAY, DOWN, 7, OPP_BUG_CATCHER, 13 object_event 45, 15, SPRITE_HIKER, STAY, RIGHT, 8, OPP_HIKER, 5 - object_event 40, 8, SPRITE_YOUNGSTER, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14 + object_event 40, 8, SPRITE_YOUNGSTER, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14 object_event 10, 15, SPRITE_POKE_BALL, STAY, NONE, 10, TM_TELEPORT def_warps_to ROUTE_9 diff --git a/data/maps/objects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm index dcdd73f9..60db6da2 100644 --- a/data/maps/objects/SSAnne1F.asm +++ b/data/maps/objects/SSAnne1F.asm @@ -17,7 +17,7 @@ SSAnne1F_Object: def_bg_events def_object_events - object_event 12, 6, SPRITE_WAITER, WALK, LEFT_RIGHT, 1 ; person - object_event 27, 5, SPRITE_SAILOR, STAY, NONE, 2 ; person + object_event 12, 6, SPRITE_WAITER, WALK, LEFT_RIGHT, 1 ; person + object_event 27, 5, SPRITE_SAILOR, STAY, NONE, 2 ; person def_warps_to SS_ANNE_1F diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm index b4967492..c5c97671 100644 --- a/data/maps/objects/SSAnne1FRooms.asm +++ b/data/maps/objects/SSAnne1FRooms.asm @@ -12,14 +12,14 @@ SSAnne1FRooms_Object: def_bg_events def_object_events - object_event 2, 3, SPRITE_GENTLEMAN, STAY, LEFT, 1, OPP_GENTLEMAN, 1 - object_event 11, 4, SPRITE_GENTLEMAN, STAY, UP, 2, OPP_GENTLEMAN, 2 + object_event 2, 3, SPRITE_GENTLEMAN, STAY, LEFT, 1, OPP_GENTLEMAN, 1 + object_event 11, 4, SPRITE_GENTLEMAN, STAY, UP, 2, OPP_GENTLEMAN, 2 object_event 11, 14, SPRITE_YOUNGSTER, STAY, UP, 3, OPP_YOUNGSTER, 8 object_event 13, 11, SPRITE_COOLTRAINER_F, STAY, LEFT, 4, OPP_LASS, 11 - object_event 22, 3, SPRITE_GIRL, WALK, UP_DOWN, 5 ; person - object_event 0, 14, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 6 ; person - object_event 2, 11, SPRITE_LITTLE_GIRL, STAY, DOWN, 7 ; person - object_event 3, 11, SPRITE_FAIRY, STAY, DOWN, 8 ; person + object_event 22, 3, SPRITE_GIRL, WALK, UP_DOWN, 5 ; person + object_event 0, 14, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 6 ; person + object_event 2, 11, SPRITE_LITTLE_GIRL, STAY, DOWN, 7 ; person + object_event 3, 11, SPRITE_FAIRY, STAY, DOWN, 8 ; person object_event 10, 13, SPRITE_GIRL, STAY, RIGHT, 9 ; person object_event 12, 15, SPRITE_POKE_BALL, STAY, NONE, 10, TM_BODY_SLAM object_event 21, 13, SPRITE_GENTLEMAN, WALK, LEFT_RIGHT, 11 ; person diff --git a/data/maps/objects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm index e582252e..fa3a851f 100644 --- a/data/maps/objects/SSAnne2F.asm +++ b/data/maps/objects/SSAnne2F.asm @@ -15,7 +15,7 @@ SSAnne2F_Object: def_bg_events def_object_events - object_event 3, 7, SPRITE_WAITER, WALK, UP_DOWN, 1 ; person - object_event 36, 4, SPRITE_BLUE, STAY, DOWN, 2, OPP_RIVAL1, 1 + object_event 3, 7, SPRITE_WAITER, WALK, UP_DOWN, 1 ; person + object_event 36, 4, SPRITE_BLUE, STAY, DOWN, 2, OPP_RIVAL1, 1 def_warps_to SS_ANNE_2F diff --git a/data/maps/objects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm index 21948e65..187da976 100644 --- a/data/maps/objects/SSAnne2FRooms.asm +++ b/data/maps/objects/SSAnne2FRooms.asm @@ -18,15 +18,15 @@ SSAnne2FRooms_Object: def_bg_events def_object_events - object_event 10, 2, SPRITE_GENTLEMAN, STAY, RIGHT, 1, OPP_GENTLEMAN, 3 - object_event 13, 4, SPRITE_FISHER, STAY, LEFT, 2, OPP_FISHER, 1 - object_event 0, 14, SPRITE_GENTLEMAN, STAY, RIGHT, 3, OPP_GENTLEMAN, 5 - object_event 2, 11, SPRITE_COOLTRAINER_F, STAY, DOWN, 4, OPP_LASS, 12 - object_event 1, 2, SPRITE_GENTLEMAN, STAY, DOWN, 5 ; person - object_event 12, 1, SPRITE_POKE_BALL, STAY, NONE, 6, MAX_ETHER - object_event 21, 2, SPRITE_GENTLEMAN, STAY, DOWN, 7 ; person - object_event 22, 1, SPRITE_GRAMPS, STAY, DOWN, 8 ; person - object_event 0, 12, SPRITE_POKE_BALL, STAY, NONE, 9, RARE_CANDY + object_event 10, 2, SPRITE_GENTLEMAN, STAY, RIGHT, 1, OPP_GENTLEMAN, 3 + object_event 13, 4, SPRITE_FISHER, STAY, LEFT, 2, OPP_FISHER, 1 + object_event 0, 14, SPRITE_GENTLEMAN, STAY, RIGHT, 3, OPP_GENTLEMAN, 5 + object_event 2, 11, SPRITE_COOLTRAINER_F, STAY, DOWN, 4, OPP_LASS, 12 + object_event 1, 2, SPRITE_GENTLEMAN, STAY, DOWN, 5 ; person + object_event 12, 1, SPRITE_POKE_BALL, STAY, NONE, 6, MAX_ETHER + object_event 21, 2, SPRITE_GENTLEMAN, STAY, DOWN, 7 ; person + object_event 22, 1, SPRITE_GRAMPS, STAY, DOWN, 8 ; person + object_event 0, 12, SPRITE_POKE_BALL, STAY, NONE, 9, RARE_CANDY object_event 12, 12, SPRITE_GENTLEMAN, STAY, DOWN, 10 ; person object_event 11, 14, SPRITE_LITTLE_BOY, STAY, NONE, 11 ; person object_event 22, 12, SPRITE_BRUNETTE_GIRL, STAY, LEFT, 12 ; person diff --git a/data/maps/objects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm index a91c3646..18df6b5e 100644 --- a/data/maps/objects/SSAnne3F.asm +++ b/data/maps/objects/SSAnne3F.asm @@ -8,6 +8,6 @@ SSAnne3F_Object: def_bg_events def_object_events - object_event 9, 3, SPRITE_SAILOR, WALK, LEFT_RIGHT, 1 ; person + object_event 9, 3, SPRITE_SAILOR, WALK, LEFT_RIGHT, 1 ; person def_warps_to SS_ANNE_3F diff --git a/data/maps/objects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm index 23f7a2f2..a7bf0825 100644 --- a/data/maps/objects/SSAnneB1FRooms.asm +++ b/data/maps/objects/SSAnneB1FRooms.asm @@ -16,16 +16,16 @@ SSAnneB1FRooms_Object: def_bg_events def_object_events - object_event 0, 13, SPRITE_SAILOR, STAY, DOWN, 1, OPP_SAILOR, 3 - object_event 2, 11, SPRITE_SAILOR, STAY, DOWN, 2, OPP_SAILOR, 4 - object_event 12, 3, SPRITE_SAILOR, STAY, LEFT, 3, OPP_SAILOR, 5 - object_event 22, 2, SPRITE_SAILOR, STAY, DOWN, 4, OPP_SAILOR, 6 - object_event 0, 2, SPRITE_SAILOR, STAY, RIGHT, 5, OPP_SAILOR, 7 - object_event 0, 4, SPRITE_FISHER, STAY, RIGHT, 6, OPP_FISHER, 2 + object_event 0, 13, SPRITE_SAILOR, STAY, DOWN, 1, OPP_SAILOR, 3 + object_event 2, 11, SPRITE_SAILOR, STAY, DOWN, 2, OPP_SAILOR, 4 + object_event 12, 3, SPRITE_SAILOR, STAY, LEFT, 3, OPP_SAILOR, 5 + object_event 22, 2, SPRITE_SAILOR, STAY, DOWN, 4, OPP_SAILOR, 6 + object_event 0, 2, SPRITE_SAILOR, STAY, RIGHT, 5, OPP_SAILOR, 7 + object_event 0, 4, SPRITE_FISHER, STAY, RIGHT, 6, OPP_FISHER, 2 object_event 10, 13, SPRITE_SUPER_NERD, STAY, RIGHT, 7 ; person object_event 11, 12, SPRITE_MONSTER, STAY, NONE, 8 ; person - object_event 20, 2, SPRITE_POKE_BALL, STAY, NONE, 9, ETHER - object_event 10, 2, SPRITE_POKE_BALL, STAY, NONE, 10, TM_REST + object_event 20, 2, SPRITE_POKE_BALL, STAY, NONE, 9, ETHER + object_event 10, 2, SPRITE_POKE_BALL, STAY, NONE, 10, TM_REST object_event 12, 11, SPRITE_POKE_BALL, STAY, NONE, 11, MAX_POTION def_warps_to SS_ANNE_B1F_ROOMS diff --git a/data/maps/objects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm index ec0389df..9771a94f 100644 --- a/data/maps/objects/SSAnneBow.asm +++ b/data/maps/objects/SSAnneBow.asm @@ -8,10 +8,10 @@ SSAnneBow_Object: def_bg_events def_object_events - object_event 5, 2, SPRITE_SUPER_NERD, STAY, UP, 1 ; person - object_event 4, 9, SPRITE_SAILOR, STAY, NONE, 2 ; person - object_event 7, 11, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person - object_event 4, 4, SPRITE_SAILOR, STAY, DOWN, 4, OPP_SAILOR, 1 - object_event 10, 8, SPRITE_SAILOR, STAY, UP, 5, OPP_SAILOR, 2 + object_event 5, 2, SPRITE_SUPER_NERD, STAY, UP, 1 ; person + object_event 4, 9, SPRITE_SAILOR, STAY, NONE, 2 ; person + object_event 7, 11, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person + object_event 4, 4, SPRITE_SAILOR, STAY, DOWN, 4, OPP_SAILOR, 1 + object_event 10, 8, SPRITE_SAILOR, STAY, UP, 5, OPP_SAILOR, 2 def_warps_to SS_ANNE_BOW diff --git a/data/maps/objects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm index f91b301a..7e79b662 100644 --- a/data/maps/objects/SSAnneCaptainsRoom.asm +++ b/data/maps/objects/SSAnneCaptainsRoom.asm @@ -9,6 +9,6 @@ SSAnneCaptainsRoom_Object: bg_event 1, 2, 3 ; SSAnne7Text3 def_object_events - object_event 4, 2, SPRITE_CAPTAIN, STAY, UP, 1 ; person + object_event 4, 2, SPRITE_CAPTAIN, STAY, UP, 1 ; person def_warps_to SS_ANNE_CAPTAINS_ROOM diff --git a/data/maps/objects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm index bf6434e3..3a8ab47b 100644 --- a/data/maps/objects/SSAnneKitchen.asm +++ b/data/maps/objects/SSAnneKitchen.asm @@ -7,11 +7,11 @@ SSAnneKitchen_Object: def_bg_events def_object_events - object_event 1, 8, SPRITE_COOK, WALK, UP_DOWN, 1 ; person - object_event 5, 8, SPRITE_COOK, WALK, UP_DOWN, 2 ; person - object_event 9, 7, SPRITE_COOK, WALK, UP_DOWN, 3 ; person - object_event 13, 6, SPRITE_COOK, STAY, NONE, 4 ; person - object_event 13, 8, SPRITE_COOK, STAY, NONE, 5 ; person + object_event 1, 8, SPRITE_COOK, WALK, UP_DOWN, 1 ; person + object_event 5, 8, SPRITE_COOK, WALK, UP_DOWN, 2 ; person + object_event 9, 7, SPRITE_COOK, WALK, UP_DOWN, 3 ; person + object_event 13, 6, SPRITE_COOK, STAY, NONE, 4 ; person + object_event 13, 8, SPRITE_COOK, STAY, NONE, 5 ; person object_event 13, 10, SPRITE_COOK, STAY, NONE, 6 ; person object_event 11, 13, SPRITE_COOK, STAY, UP, 7 ; person diff --git a/data/maps/objects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm index 34acd75f..2d000233 100644 --- a/data/maps/objects/SafariZoneCenterRestHouse.asm +++ b/data/maps/objects/SafariZoneCenterRestHouse.asm @@ -8,7 +8,7 @@ SafariZoneCenterRestHouse_Object: def_bg_events def_object_events - object_event 3, 2, SPRITE_GIRL, STAY, DOWN, 1 ; person - object_event 1, 4, SPRITE_SCIENTIST, WALK, UP_DOWN, 2 ; person + object_event 3, 2, SPRITE_GIRL, STAY, DOWN, 1 ; person + object_event 1, 4, SPRITE_SCIENTIST, WALK, UP_DOWN, 2 ; person def_warps_to SAFARI_ZONE_CENTER_REST_HOUSE diff --git a/data/maps/objects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm index 84074349..f5759d6b 100644 --- a/data/maps/objects/SafariZoneEast.asm +++ b/data/maps/objects/SafariZoneEast.asm @@ -15,7 +15,7 @@ SafariZoneEast_Object: def_object_events object_event 21, 10, SPRITE_POKE_BALL, STAY, NONE, 1, FULL_RESTORE - object_event 3, 7, SPRITE_POKE_BALL, STAY, NONE, 2, MAX_POTION + object_event 3, 7, SPRITE_POKE_BALL, STAY, NONE, 2, MAX_POTION object_event 20, 13, SPRITE_POKE_BALL, STAY, NONE, 3, CARBOS object_event 15, 12, SPRITE_POKE_BALL, STAY, NONE, 4, TM_EGG_BOMB diff --git a/data/maps/objects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm index 8f83a10a..915e175b 100644 --- a/data/maps/objects/SafariZoneEastRestHouse.asm +++ b/data/maps/objects/SafariZoneEastRestHouse.asm @@ -8,8 +8,8 @@ SafariZoneEastRestHouse_Object: def_bg_events def_object_events - object_event 1, 3, SPRITE_SCIENTIST, WALK, UP_DOWN, 1 ; person - object_event 4, 2, SPRITE_ROCKER, STAY, NONE, 2 ; person - object_event 5, 2, SPRITE_SILPH_WORKER, STAY, NONE, 3 ; person + object_event 1, 3, SPRITE_SCIENTIST, WALK, UP_DOWN, 1 ; person + object_event 4, 2, SPRITE_ROCKER, STAY, NONE, 2 ; person + object_event 5, 2, SPRITE_SILPH_WORKER, STAY, NONE, 3 ; person def_warps_to SAFARI_ZONE_EAST_REST_HOUSE diff --git a/data/maps/objects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm index c12cd4ee..d3c153fb 100644 --- a/data/maps/objects/SafariZoneGate.asm +++ b/data/maps/objects/SafariZoneGate.asm @@ -10,7 +10,7 @@ SafariZoneGate_Object: def_bg_events def_object_events - object_event 6, 2, SPRITE_SAFARI_ZONE_WORKER, STAY, LEFT, 1 ; person - object_event 1, 4, SPRITE_SAFARI_ZONE_WORKER, STAY, RIGHT, 2 ; person + object_event 6, 2, SPRITE_SAFARI_ZONE_WORKER, STAY, LEFT, 1 ; person + object_event 1, 4, SPRITE_SAFARI_ZONE_WORKER, STAY, RIGHT, 2 ; person def_warps_to SAFARI_ZONE_GATE diff --git a/data/maps/objects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm index b783a926..e9c50acb 100644 --- a/data/maps/objects/SafariZoneNorth.asm +++ b/data/maps/objects/SafariZoneNorth.asm @@ -20,7 +20,7 @@ SafariZoneNorth_Object: bg_event 26, 28, 7 ; SafariZoneNorthText7 def_object_events - object_event 25, 1, SPRITE_POKE_BALL, STAY, NONE, 1, PROTEIN - object_event 19, 7, SPRITE_POKE_BALL, STAY, NONE, 2, TM_SKULL_BASH + object_event 25, 1, SPRITE_POKE_BALL, STAY, NONE, 1, PROTEIN + object_event 19, 7, SPRITE_POKE_BALL, STAY, NONE, 2, TM_SKULL_BASH def_warps_to SAFARI_ZONE_NORTH diff --git a/data/maps/objects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm index 4e178e99..1f5008a4 100644 --- a/data/maps/objects/SafariZoneNorthRestHouse.asm +++ b/data/maps/objects/SafariZoneNorthRestHouse.asm @@ -8,8 +8,8 @@ SafariZoneNorthRestHouse_Object: def_bg_events def_object_events - object_event 6, 3, SPRITE_SCIENTIST, WALK, LEFT_RIGHT, 1 ; person - object_event 3, 4, SPRITE_SAFARI_ZONE_WORKER, STAY, NONE, 2 ; person - object_event 1, 5, SPRITE_GENTLEMAN, WALK, UP_DOWN, 3 ; person + object_event 6, 3, SPRITE_SCIENTIST, WALK, LEFT_RIGHT, 1 ; person + object_event 3, 4, SPRITE_SAFARI_ZONE_WORKER, STAY, NONE, 2 ; person + object_event 1, 5, SPRITE_GENTLEMAN, WALK, UP_DOWN, 3 ; person def_warps_to SAFARI_ZONE_NORTH_REST_HOUSE diff --git a/data/maps/objects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm index 439f4a95..2459611c 100644 --- a/data/maps/objects/SafariZoneSecretHouse.asm +++ b/data/maps/objects/SafariZoneSecretHouse.asm @@ -8,6 +8,6 @@ SafariZoneSecretHouse_Object: def_bg_events def_object_events - object_event 3, 3, SPRITE_FISHING_GURU, STAY, DOWN, 1 ; person + object_event 3, 3, SPRITE_FISHING_GURU, STAY, DOWN, 1 ; person def_warps_to SAFARI_ZONE_SECRET_HOUSE diff --git a/data/maps/objects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm index 0ceb8fe9..b75f824d 100644 --- a/data/maps/objects/SafariZoneWest.asm +++ b/data/maps/objects/SafariZoneWest.asm @@ -18,9 +18,9 @@ SafariZoneWest_Object: bg_event 24, 22, 8 ; SafariZoneWestText8 def_object_events - object_event 8, 20, SPRITE_POKE_BALL, STAY, NONE, 1, MAX_POTION - object_event 9, 7, SPRITE_POKE_BALL, STAY, NONE, 2, TM_DOUBLE_TEAM + object_event 8, 20, SPRITE_POKE_BALL, STAY, NONE, 1, MAX_POTION + object_event 9, 7, SPRITE_POKE_BALL, STAY, NONE, 2, TM_DOUBLE_TEAM object_event 18, 18, SPRITE_POKE_BALL, STAY, NONE, 3, MAX_REVIVE - object_event 19, 7, SPRITE_POKE_BALL, STAY, NONE, 4, GOLD_TEETH + object_event 19, 7, SPRITE_POKE_BALL, STAY, NONE, 4, GOLD_TEETH def_warps_to SAFARI_ZONE_WEST diff --git a/data/maps/objects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm index 654c8913..f7349815 100644 --- a/data/maps/objects/SafariZoneWestRestHouse.asm +++ b/data/maps/objects/SafariZoneWestRestHouse.asm @@ -8,8 +8,8 @@ SafariZoneWestRestHouse_Object: def_bg_events def_object_events - object_event 4, 4, SPRITE_SCIENTIST, WALK, ANY_DIR, 1 ; person - object_event 0, 2, SPRITE_COOLTRAINER_M, STAY, RIGHT, 2 ; person - object_event 6, 2, SPRITE_ERIKA, STAY, DOWN, 3 ; person + object_event 4, 4, SPRITE_SCIENTIST, WALK, ANY_DIR, 1 ; person + object_event 0, 2, SPRITE_COOLTRAINER_M, STAY, RIGHT, 2 ; person + object_event 6, 2, SPRITE_ERIKA, STAY, DOWN, 3 ; person def_warps_to SAFARI_ZONE_WEST_REST_HOUSE diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm index c09a44de..4c11417a 100644 --- a/data/maps/objects/SaffronCity.asm +++ b/data/maps/objects/SaffronCity.asm @@ -24,19 +24,19 @@ SaffronCity_Object: bg_event 1, 19, 25 ; SaffronCityText25 def_object_events - object_event 7, 6, SPRITE_ROCKET, STAY, NONE, 1 ; person - object_event 20, 8, SPRITE_ROCKET, WALK, LEFT_RIGHT, 2 ; person - object_event 34, 4, SPRITE_ROCKET, STAY, NONE, 3 ; person + object_event 7, 6, SPRITE_ROCKET, STAY, NONE, 1 ; person + object_event 20, 8, SPRITE_ROCKET, WALK, LEFT_RIGHT, 2 ; person + object_event 34, 4, SPRITE_ROCKET, STAY, NONE, 3 ; person object_event 13, 12, SPRITE_ROCKET, STAY, NONE, 4 ; person object_event 11, 25, SPRITE_ROCKET, WALK, LEFT_RIGHT, 5 ; person object_event 32, 13, SPRITE_ROCKET, WALK, LEFT_RIGHT, 6 ; person object_event 18, 30, SPRITE_ROCKET, WALK, LEFT_RIGHT, 7 ; person - object_event 8, 14, SPRITE_SCIENTIST, WALK, ANY_DIR, 8 ; person + object_event 8, 14, SPRITE_SCIENTIST, WALK, ANY_DIR, 8 ; person object_event 23, 23, SPRITE_SILPH_WORKER, STAY, NONE, 9 ; person object_event 17, 30, SPRITE_ERIKA, WALK, LEFT_RIGHT, 10 ; person object_event 30, 12, SPRITE_GENTLEMAN, STAY, DOWN, 11 ; person object_event 31, 12, SPRITE_BIRD, STAY, DOWN, 12 ; person - object_event 18, 8, SPRITE_ROCKER, STAY, UP, 13 ; person + object_event 18, 8, SPRITE_ROCKER, STAY, UP, 13 ; person object_event 18, 22, SPRITE_ROCKET, STAY, DOWN, 14 ; person object_event 19, 22, SPRITE_ROCKET, STAY, DOWN, 15 ; person diff --git a/data/maps/objects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm index c5d2f8dd..a8e3da1c 100644 --- a/data/maps/objects/SaffronGym.asm +++ b/data/maps/objects/SaffronGym.asm @@ -38,14 +38,14 @@ SaffronGym_Object: def_bg_events def_object_events - object_event 9, 8, SPRITE_GIRL, STAY, DOWN, 1, OPP_SABRINA, 1 - object_event 10, 1, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 22 - object_event 17, 1, SPRITE_YOUNGSTER, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1 - object_event 3, 7, SPRITE_CHANNELER, STAY, DOWN, 4, OPP_CHANNELER, 23 - object_event 17, 7, SPRITE_YOUNGSTER, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2 - object_event 3, 13, SPRITE_CHANNELER, STAY, DOWN, 6, OPP_CHANNELER, 24 + object_event 9, 8, SPRITE_GIRL, STAY, DOWN, 1, OPP_SABRINA, 1 + object_event 10, 1, SPRITE_CHANNELER, STAY, DOWN, 2, OPP_CHANNELER, 22 + object_event 17, 1, SPRITE_YOUNGSTER, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1 + object_event 3, 7, SPRITE_CHANNELER, STAY, DOWN, 4, OPP_CHANNELER, 23 + object_event 17, 7, SPRITE_YOUNGSTER, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2 + object_event 3, 13, SPRITE_CHANNELER, STAY, DOWN, 6, OPP_CHANNELER, 24 object_event 17, 13, SPRITE_YOUNGSTER, STAY, DOWN, 7, OPP_PSYCHIC_TR, 3 - object_event 3, 1, SPRITE_YOUNGSTER, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4 + object_event 3, 1, SPRITE_YOUNGSTER, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4 object_event 10, 15, SPRITE_GYM_GUIDE, STAY, DOWN, 9 ; person def_warps_to SAFFRON_GYM diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm index 9e7e345a..972032ac 100644 --- a/data/maps/objects/SaffronMart.asm +++ b/data/maps/objects/SaffronMart.asm @@ -8,8 +8,8 @@ SaffronMart_Object: def_bg_events def_object_events - object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person - object_event 4, 2, SPRITE_SUPER_NERD, STAY, NONE, 2 ; person - object_event 6, 5, SPRITE_COOLTRAINER_F, WALK, ANY_DIR, 3 ; person + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 4, 2, SPRITE_SUPER_NERD, STAY, NONE, 2 ; person + object_event 6, 5, SPRITE_COOLTRAINER_F, WALK, ANY_DIR, 3 ; person def_warps_to SAFFRON_MART diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm index e2b0fa72..cd37ffc1 100644 --- a/data/maps/objects/SaffronPidgeyHouse.asm +++ b/data/maps/objects/SaffronPidgeyHouse.asm @@ -8,9 +8,9 @@ SaffronPidgeyHouse_Object: def_bg_events def_object_events - object_event 2, 3, SPRITE_BRUNETTE_GIRL, STAY, RIGHT, 1 ; person - object_event 0, 4, SPRITE_BIRD, WALK, UP_DOWN, 2 ; person - object_event 4, 1, SPRITE_YOUNGSTER, STAY, DOWN, 3 ; person - object_event 3, 3, SPRITE_PAPER, STAY, NONE, 4 ; person + object_event 2, 3, SPRITE_BRUNETTE_GIRL, STAY, RIGHT, 1 ; person + object_event 0, 4, SPRITE_BIRD, WALK, UP_DOWN, 2 ; person + object_event 4, 1, SPRITE_YOUNGSTER, STAY, DOWN, 3 ; person + object_event 3, 3, SPRITE_PAPER, STAY, NONE, 4 ; person def_warps_to SAFFRON_PIDGEY_HOUSE diff --git a/data/maps/objects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm index eb03932c..d3f6af7f 100644 --- a/data/maps/objects/SaffronPokecenter.asm +++ b/data/maps/objects/SaffronPokecenter.asm @@ -8,9 +8,9 @@ SaffronPokecenter_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 5, 5, SPRITE_BEAUTY, STAY, NONE, 2 ; person - object_event 8, 3, SPRITE_GENTLEMAN, STAY, DOWN, 3 ; person - object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 5, 5, SPRITE_BEAUTY, STAY, NONE, 2 ; person + object_event 8, 3, SPRITE_GENTLEMAN, STAY, DOWN, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to SAFFRON_POKECENTER diff --git a/data/maps/objects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm index db6b5056..f82c397f 100644 --- a/data/maps/objects/SeafoamIslands1F.asm +++ b/data/maps/objects/SeafoamIslands1F.asm @@ -14,7 +14,7 @@ SeafoamIslands1F_Object: def_object_events object_event 18, 10, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object_event 26, 7, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + object_event 26, 7, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person def_warps_to SEAFOAM_ISLANDS_1F diff --git a/data/maps/objects/SeafoamIslandsB1F.asm b/data/maps/objects/SeafoamIslandsB1F.asm index 7a631653..6e3ed1f7 100644 --- a/data/maps/objects/SeafoamIslandsB1F.asm +++ b/data/maps/objects/SeafoamIslandsB1F.asm @@ -13,7 +13,7 @@ SeafoamIslandsB1F_Object: def_bg_events def_object_events - object_event 17, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object_event 22, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + object_event 17, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person + object_event 22, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person def_warps_to SEAFOAM_ISLANDS_B1F diff --git a/data/maps/objects/SeafoamIslandsB2F.asm b/data/maps/objects/SeafoamIslandsB2F.asm index f152eb97..e0894b20 100644 --- a/data/maps/objects/SeafoamIslandsB2F.asm +++ b/data/maps/objects/SeafoamIslandsB2F.asm @@ -13,7 +13,7 @@ SeafoamIslandsB2F_Object: def_bg_events def_object_events - object_event 18, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object_event 23, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + object_event 18, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person + object_event 23, 6, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person def_warps_to SEAFOAM_ISLANDS_B2F diff --git a/data/maps/objects/SeafoamIslandsB3F.asm b/data/maps/objects/SeafoamIslandsB3F.asm index 530b7b7e..0ff64bd1 100644 --- a/data/maps/objects/SeafoamIslandsB3F.asm +++ b/data/maps/objects/SeafoamIslandsB3F.asm @@ -13,11 +13,11 @@ SeafoamIslandsB3F_Object: def_bg_events def_object_events - object_event 5, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object_event 3, 15, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person - object_event 8, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person - object_event 9, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 4 ; person - object_event 18, 6, SPRITE_BOULDER, STAY, NONE, 5 ; person - object_event 19, 6, SPRITE_BOULDER, STAY, NONE, 6 ; person + object_event 5, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person + object_event 3, 15, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + object_event 8, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person + object_event 9, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 4 ; person + object_event 18, 6, SPRITE_BOULDER, STAY, NONE, 5 ; person + object_event 19, 6, SPRITE_BOULDER, STAY, NONE, 6 ; person def_warps_to SEAFOAM_ISLANDS_B3F diff --git a/data/maps/objects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm index 602fcda3..500f185d 100644 --- a/data/maps/objects/SeafoamIslandsB4F.asm +++ b/data/maps/objects/SeafoamIslandsB4F.asm @@ -12,8 +12,8 @@ SeafoamIslandsB4F_Object: bg_event 23, 1, 5 ; SeafoamIslands5Text5 def_object_events - object_event 4, 15, SPRITE_BOULDER, STAY, NONE, 1 ; person - object_event 5, 15, SPRITE_BOULDER, STAY, NONE, 2 ; person - object_event 6, 1, SPRITE_BIRD, STAY, DOWN, 3, ARTICUNO, 50 + object_event 4, 15, SPRITE_BOULDER, STAY, NONE, 1 ; person + object_event 5, 15, SPRITE_BOULDER, STAY, NONE, 2 ; person + object_event 6, 1, SPRITE_BIRD, STAY, DOWN, 3, ARTICUNO, 50 def_warps_to SEAFOAM_ISLANDS_B4F diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm index 031713e9..4747cbef 100644 --- a/data/maps/objects/SilphCo10F.asm +++ b/data/maps/objects/SilphCo10F.asm @@ -12,11 +12,11 @@ SilphCo10F_Object: def_bg_events def_object_events - object_event 1, 9, SPRITE_ROCKET, STAY, RIGHT, 1, OPP_ROCKET, 39 - object_event 10, 2, SPRITE_SCIENTIST, STAY, LEFT, 2, OPP_SCIENTIST, 11 - object_event 9, 15, SPRITE_ERIKA, WALK, ANY_DIR, 3 ; person - object_event 2, 12, SPRITE_POKE_BALL, STAY, NONE, 4, TM_EARTHQUAKE - object_event 4, 14, SPRITE_POKE_BALL, STAY, NONE, 5, RARE_CANDY - object_event 5, 11, SPRITE_POKE_BALL, STAY, NONE, 6, CARBOS + object_event 1, 9, SPRITE_ROCKET, STAY, RIGHT, 1, OPP_ROCKET, 39 + object_event 10, 2, SPRITE_SCIENTIST, STAY, LEFT, 2, OPP_SCIENTIST, 11 + object_event 9, 15, SPRITE_ERIKA, WALK, ANY_DIR, 3 ; person + object_event 2, 12, SPRITE_POKE_BALL, STAY, NONE, 4, TM_EARTHQUAKE + object_event 4, 14, SPRITE_POKE_BALL, STAY, NONE, 5, RARE_CANDY + object_event 5, 11, SPRITE_POKE_BALL, STAY, NONE, 6, CARBOS def_warps_to SILPH_CO_10F diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm index dc7cd526..83b726f5 100644 --- a/data/maps/objects/SilphCo11F.asm +++ b/data/maps/objects/SilphCo11F.asm @@ -10,10 +10,10 @@ SilphCo11F_Object: def_bg_events def_object_events - object_event 7, 5, SPRITE_SILPH_PRESIDENT, STAY, DOWN, 1 ; person - object_event 10, 5, SPRITE_BEAUTY, STAY, DOWN, 2 ; person - object_event 6, 9, SPRITE_GIOVANNI, STAY, DOWN, 3, OPP_GIOVANNI, 2 - object_event 3, 16, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 41 - object_event 15, 9, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 40 + object_event 7, 5, SPRITE_SILPH_PRESIDENT, STAY, DOWN, 1 ; person + object_event 10, 5, SPRITE_BEAUTY, STAY, DOWN, 2 ; person + object_event 6, 9, SPRITE_GIOVANNI, STAY, DOWN, 3, OPP_GIOVANNI, 2 + object_event 3, 16, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 41 + object_event 15, 9, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 40 def_warps_to SILPH_CO_11F diff --git a/data/maps/objects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm index 23323e27..f3407c54 100644 --- a/data/maps/objects/SilphCo1F.asm +++ b/data/maps/objects/SilphCo1F.asm @@ -11,6 +11,6 @@ SilphCo1F_Object: def_bg_events def_object_events - object_event 4, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 1 ; person + object_event 4, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 1 ; person def_warps_to SILPH_CO_1F diff --git a/data/maps/objects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm index b7a68c4e..b777cf52 100644 --- a/data/maps/objects/SilphCo2F.asm +++ b/data/maps/objects/SilphCo2F.asm @@ -13,10 +13,10 @@ SilphCo2F_Object: def_bg_events def_object_events - object_event 10, 1, SPRITE_ERIKA, STAY, UP, 1 ; person - object_event 5, 12, SPRITE_SCIENTIST, STAY, DOWN, 2, OPP_SCIENTIST, 2 + object_event 10, 1, SPRITE_ERIKA, STAY, UP, 1 ; person + object_event 5, 12, SPRITE_SCIENTIST, STAY, DOWN, 2, OPP_SCIENTIST, 2 object_event 24, 13, SPRITE_SCIENTIST, STAY, LEFT, 3, OPP_SCIENTIST, 3 object_event 16, 11, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 23 - object_event 24, 7, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 24 + object_event 24, 7, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 24 def_warps_to SILPH_CO_2F diff --git a/data/maps/objects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm index 5f37ed91..06b4c3e9 100644 --- a/data/maps/objects/SilphCo3F.asm +++ b/data/maps/objects/SilphCo3F.asm @@ -16,9 +16,9 @@ SilphCo3F_Object: def_bg_events def_object_events - object_event 24, 8, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person - object_event 20, 7, SPRITE_ROCKET, STAY, LEFT, 2, OPP_ROCKET, 25 - object_event 7, 9, SPRITE_SCIENTIST, STAY, DOWN, 3, OPP_SCIENTIST, 4 - object_event 8, 5, SPRITE_POKE_BALL, STAY, NONE, 4, HYPER_POTION + object_event 24, 8, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 20, 7, SPRITE_ROCKET, STAY, LEFT, 2, OPP_ROCKET, 25 + object_event 7, 9, SPRITE_SCIENTIST, STAY, DOWN, 3, OPP_SCIENTIST, 4 + object_event 8, 5, SPRITE_POKE_BALL, STAY, NONE, 4, HYPER_POTION def_warps_to SILPH_CO_3F diff --git a/data/maps/objects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm index 0b6ae7d4..987451fc 100644 --- a/data/maps/objects/SilphCo4F.asm +++ b/data/maps/objects/SilphCo4F.asm @@ -13,12 +13,12 @@ SilphCo4F_Object: def_bg_events def_object_events - object_event 6, 2, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person - object_event 9, 14, SPRITE_ROCKET, STAY, RIGHT, 2, OPP_ROCKET, 26 - object_event 14, 6, SPRITE_SCIENTIST, STAY, LEFT, 3, OPP_SCIENTIST, 5 + object_event 6, 2, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 9, 14, SPRITE_ROCKET, STAY, RIGHT, 2, OPP_ROCKET, 26 + object_event 14, 6, SPRITE_SCIENTIST, STAY, LEFT, 3, OPP_SCIENTIST, 5 object_event 26, 10, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 27 - object_event 3, 9, SPRITE_POKE_BALL, STAY, NONE, 5, FULL_HEAL - object_event 4, 7, SPRITE_POKE_BALL, STAY, NONE, 6, MAX_REVIVE - object_event 5, 8, SPRITE_POKE_BALL, STAY, NONE, 7, ESCAPE_ROPE + object_event 3, 9, SPRITE_POKE_BALL, STAY, NONE, 5, FULL_HEAL + object_event 4, 7, SPRITE_POKE_BALL, STAY, NONE, 6, MAX_REVIVE + object_event 5, 8, SPRITE_POKE_BALL, STAY, NONE, 7, ESCAPE_ROPE def_warps_to SILPH_CO_4F diff --git a/data/maps/objects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm index 1f8bffd6..ff41bc29 100644 --- a/data/maps/objects/SilphCo5F.asm +++ b/data/maps/objects/SilphCo5F.asm @@ -13,16 +13,16 @@ SilphCo5F_Object: def_bg_events def_object_events - object_event 13, 9, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person - object_event 8, 16, SPRITE_ROCKET, STAY, RIGHT, 2, OPP_ROCKET, 28 - object_event 8, 3, SPRITE_SCIENTIST, STAY, RIGHT, 3, OPP_SCIENTIST, 6 + object_event 13, 9, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 8, 16, SPRITE_ROCKET, STAY, RIGHT, 2, OPP_ROCKET, 28 + object_event 8, 3, SPRITE_SCIENTIST, STAY, RIGHT, 3, OPP_SCIENTIST, 6 object_event 18, 10, SPRITE_ROCKER, STAY, UP, 4, OPP_JUGGLER, 1 - object_event 28, 4, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 29 - object_event 2, 13, SPRITE_POKE_BALL, STAY, NONE, 6, TM_TAKE_DOWN - object_event 4, 6, SPRITE_POKE_BALL, STAY, NONE, 7, PROTEIN + object_event 28, 4, SPRITE_ROCKET, STAY, UP, 5, OPP_ROCKET, 29 + object_event 2, 13, SPRITE_POKE_BALL, STAY, NONE, 6, TM_TAKE_DOWN + object_event 4, 6, SPRITE_POKE_BALL, STAY, NONE, 7, PROTEIN object_event 21, 16, SPRITE_POKE_BALL, STAY, NONE, 8, CARD_KEY object_event 22, 12, SPRITE_CLIPBOARD, STAY, NONE, 9 ; person object_event 25, 10, SPRITE_CLIPBOARD, STAY, NONE, 10 ; person - object_event 24, 6, SPRITE_CLIPBOARD, STAY, NONE, 11 ; person + object_event 24, 6, SPRITE_CLIPBOARD, STAY, NONE, 11 ; person def_warps_to SILPH_CO_5F diff --git a/data/maps/objects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm index a0f2339b..e2914018 100644 --- a/data/maps/objects/SilphCo6F.asm +++ b/data/maps/objects/SilphCo6F.asm @@ -11,15 +11,15 @@ SilphCo6F_Object: def_bg_events def_object_events - object_event 10, 6, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person - object_event 20, 6, SPRITE_SILPH_WORKER, STAY, NONE, 2 ; person - object_event 21, 6, SPRITE_ERIKA, STAY, DOWN, 3 ; person + object_event 10, 6, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 20, 6, SPRITE_SILPH_WORKER, STAY, NONE, 2 ; person + object_event 21, 6, SPRITE_ERIKA, STAY, DOWN, 3 ; person object_event 11, 10, SPRITE_ERIKA, STAY, RIGHT, 4 ; person object_event 18, 13, SPRITE_SILPH_WORKER, STAY, UP, 5 ; person - object_event 17, 3, SPRITE_ROCKET, STAY, RIGHT, 6, OPP_ROCKET, 30 - object_event 7, 8, SPRITE_SCIENTIST, STAY, DOWN, 7, OPP_SCIENTIST, 7 + object_event 17, 3, SPRITE_ROCKET, STAY, RIGHT, 6, OPP_ROCKET, 30 + object_event 7, 8, SPRITE_SCIENTIST, STAY, DOWN, 7, OPP_SCIENTIST, 7 object_event 14, 15, SPRITE_ROCKET, STAY, LEFT, 8, OPP_ROCKET, 31 - object_event 3, 12, SPRITE_POKE_BALL, STAY, NONE, 9, HP_UP - object_event 2, 15, SPRITE_POKE_BALL, STAY, NONE, 10, X_ACCURACY + object_event 3, 12, SPRITE_POKE_BALL, STAY, NONE, 9, HP_UP + object_event 2, 15, SPRITE_POKE_BALL, STAY, NONE, 10, X_ACCURACY def_warps_to SILPH_CO_6F diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm index 7855516c..d6dfeffe 100644 --- a/data/maps/objects/SilphCo7F.asm +++ b/data/maps/objects/SilphCo7F.asm @@ -12,16 +12,16 @@ SilphCo7F_Object: def_bg_events def_object_events - object_event 1, 5, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 1, 5, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person object_event 13, 13, SPRITE_SILPH_WORKER, STAY, UP, 2 ; person - object_event 7, 10, SPRITE_SILPH_WORKER, STAY, NONE, 3 ; person - object_event 10, 8, SPRITE_ERIKA, STAY, NONE, 4 ; person - object_event 13, 1, SPRITE_ROCKET, STAY, DOWN, 5, OPP_ROCKET, 32 - object_event 2, 13, SPRITE_SCIENTIST, STAY, DOWN, 6, OPP_SCIENTIST, 8 - object_event 20, 2, SPRITE_ROCKET, STAY, LEFT, 7, OPP_ROCKET, 33 + object_event 7, 10, SPRITE_SILPH_WORKER, STAY, NONE, 3 ; person + object_event 10, 8, SPRITE_ERIKA, STAY, NONE, 4 ; person + object_event 13, 1, SPRITE_ROCKET, STAY, DOWN, 5, OPP_ROCKET, 32 + object_event 2, 13, SPRITE_SCIENTIST, STAY, DOWN, 6, OPP_SCIENTIST, 8 + object_event 20, 2, SPRITE_ROCKET, STAY, LEFT, 7, OPP_ROCKET, 33 object_event 19, 14, SPRITE_ROCKET, STAY, RIGHT, 8, OPP_ROCKET, 34 - object_event 3, 7, SPRITE_BLUE, STAY, UP, 9 ; person - object_event 1, 9, SPRITE_POKE_BALL, STAY, NONE, 10, CALCIUM + object_event 3, 7, SPRITE_BLUE, STAY, UP, 9 ; person + object_event 1, 9, SPRITE_POKE_BALL, STAY, NONE, 10, CALCIUM object_event 24, 11, SPRITE_POKE_BALL, STAY, NONE, 11, TM_SWORDS_DANCE def_warps_to SILPH_CO_7F diff --git a/data/maps/objects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm index f6ea58ae..fcf6e28b 100644 --- a/data/maps/objects/SilphCo8F.asm +++ b/data/maps/objects/SilphCo8F.asm @@ -13,9 +13,9 @@ SilphCo8F_Object: def_bg_events def_object_events - object_event 4, 2, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person - object_event 19, 2, SPRITE_ROCKET, STAY, LEFT, 2, OPP_ROCKET, 35 - object_event 10, 2, SPRITE_SCIENTIST, STAY, DOWN, 3, OPP_SCIENTIST, 9 + object_event 4, 2, SPRITE_SILPH_WORKER, STAY, NONE, 1 ; person + object_event 19, 2, SPRITE_ROCKET, STAY, LEFT, 2, OPP_ROCKET, 35 + object_event 10, 2, SPRITE_SCIENTIST, STAY, DOWN, 3, OPP_SCIENTIST, 9 object_event 12, 15, SPRITE_ROCKET, STAY, RIGHT, 4, OPP_ROCKET, 36 def_warps_to SILPH_CO_8F diff --git a/data/maps/objects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm index cf55b5aa..3897162e 100644 --- a/data/maps/objects/SilphCo9F.asm +++ b/data/maps/objects/SilphCo9F.asm @@ -11,8 +11,8 @@ SilphCo9F_Object: def_bg_events def_object_events - object_event 3, 14, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 2, 4, SPRITE_ROCKET, STAY, UP, 2, OPP_ROCKET, 37 + object_event 3, 14, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 2, 4, SPRITE_ROCKET, STAY, UP, 2, OPP_ROCKET, 37 object_event 21, 13, SPRITE_SCIENTIST, STAY, DOWN, 3, OPP_SCIENTIST, 10 object_event 13, 16, SPRITE_ROCKET, STAY, UP, 4, OPP_ROCKET, 38 diff --git a/data/maps/objects/TradeCenter.asm b/data/maps/objects/TradeCenter.asm index b8dd3ff5..9bc1f72d 100644 --- a/data/maps/objects/TradeCenter.asm +++ b/data/maps/objects/TradeCenter.asm @@ -6,6 +6,6 @@ TradeCenter_Object: def_bg_events def_object_events - object_event 2, 2, SPRITE_RED, STAY, 0, 1 ; person + object_event 2, 2, SPRITE_RED, STAY, 0, 1 ; person def_warps_to TRADE_CENTER diff --git a/data/maps/objects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm index a5c6286f..209054f7 100644 --- a/data/maps/objects/UndergroundPathRoute5.asm +++ b/data/maps/objects/UndergroundPathRoute5.asm @@ -9,6 +9,6 @@ UndergroundPathRoute5_Object: def_bg_events def_object_events - object_event 2, 3, SPRITE_LITTLE_GIRL, STAY, NONE, 1 ; person + object_event 2, 3, SPRITE_LITTLE_GIRL, STAY, NONE, 1 ; person def_warps_to UNDERGROUND_PATH_ROUTE_5 diff --git a/data/maps/objects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm index 67fac094..7961e08d 100644 --- a/data/maps/objects/UndergroundPathRoute6.asm +++ b/data/maps/objects/UndergroundPathRoute6.asm @@ -9,6 +9,6 @@ UndergroundPathRoute6_Object: def_bg_events def_object_events - object_event 2, 3, SPRITE_GIRL, STAY, NONE, 1 ; person + object_event 2, 3, SPRITE_GIRL, STAY, NONE, 1 ; person def_warps_to UNDERGROUND_PATH_ROUTE_6 diff --git a/data/maps/objects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm index 75d0c8b4..d377d507 100644 --- a/data/maps/objects/UndergroundPathRoute7.asm +++ b/data/maps/objects/UndergroundPathRoute7.asm @@ -9,6 +9,6 @@ UndergroundPathRoute7_Object: def_bg_events def_object_events - object_event 2, 4, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 1 ; person + object_event 2, 4, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 1 ; person def_warps_to UNDERGROUND_PATH_ROUTE_7 diff --git a/data/maps/objects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm index 20d9c0ee..f0841cfa 100644 --- a/data/maps/objects/UndergroundPathRoute7Copy.asm +++ b/data/maps/objects/UndergroundPathRoute7Copy.asm @@ -9,7 +9,7 @@ UndergroundPathRoute7Copy_Object: def_bg_events def_object_events - object_event 3, 2, SPRITE_GIRL, STAY, NONE, 1 ; person - object_event 2, 4, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 2 ; person + object_event 3, 2, SPRITE_GIRL, STAY, NONE, 1 ; person + object_event 2, 4, SPRITE_MIDDLE_AGED_MAN, STAY, NONE, 2 ; person def_warps_to UNDERGROUND_PATH_ROUTE_7_COPY diff --git a/data/maps/objects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm index aadef04c..35094344 100644 --- a/data/maps/objects/UndergroundPathRoute8.asm +++ b/data/maps/objects/UndergroundPathRoute8.asm @@ -9,6 +9,6 @@ UndergroundPathRoute8_Object: def_bg_events def_object_events - object_event 3, 4, SPRITE_GIRL, STAY, NONE, 1 ; person + object_event 3, 4, SPRITE_GIRL, STAY, NONE, 1 ; person def_warps_to UNDERGROUND_PATH_ROUTE_8 diff --git a/data/maps/objects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm index c30d43ba..75b53b56 100644 --- a/data/maps/objects/VermilionCity.asm +++ b/data/maps/objects/VermilionCity.asm @@ -22,11 +22,11 @@ VermilionCity_Object: bg_event 29, 15, 13 ; VermilionCityText13 def_object_events - object_event 19, 7, SPRITE_BEAUTY, WALK, LEFT_RIGHT, 1 ; person - object_event 14, 6, SPRITE_GAMBLER, STAY, NONE, 2 ; person + object_event 19, 7, SPRITE_BEAUTY, WALK, LEFT_RIGHT, 1 ; person + object_event 14, 6, SPRITE_GAMBLER, STAY, NONE, 2 ; person object_event 19, 30, SPRITE_SAILOR, STAY, UP, 3 ; person - object_event 30, 7, SPRITE_GAMBLER, STAY, NONE, 4 ; person - object_event 29, 9, SPRITE_MONSTER, WALK, UP_DOWN, 5 ; person + object_event 30, 7, SPRITE_GAMBLER, STAY, NONE, 4 ; person + object_event 29, 9, SPRITE_MONSTER, WALK, UP_DOWN, 5 ; person object_event 25, 27, SPRITE_SAILOR, WALK, LEFT_RIGHT, 6 ; person def_warps_to VERMILION_CITY diff --git a/data/maps/objects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm index 234b78c7..27e773f7 100644 --- a/data/maps/objects/VermilionGym.asm +++ b/data/maps/objects/VermilionGym.asm @@ -8,10 +8,10 @@ VermilionGym_Object: def_bg_events def_object_events - object_event 5, 1, SPRITE_ROCKER, STAY, DOWN, 1, OPP_LT_SURGE, 1 - object_event 9, 6, SPRITE_GENTLEMAN, STAY, LEFT, 2, OPP_GENTLEMAN, 3 - object_event 3, 8, SPRITE_SUPER_NERD, STAY, LEFT, 3, OPP_ROCKER, 1 - object_event 0, 10, SPRITE_SAILOR, STAY, RIGHT, 4, OPP_SAILOR, 8 - object_event 4, 14, SPRITE_GYM_GUIDE, STAY, DOWN, 5 ; person + object_event 5, 1, SPRITE_ROCKER, STAY, DOWN, 1, OPP_LT_SURGE, 1 + object_event 9, 6, SPRITE_GENTLEMAN, STAY, LEFT, 2, OPP_GENTLEMAN, 3 + object_event 3, 8, SPRITE_SUPER_NERD, STAY, LEFT, 3, OPP_ROCKER, 1 + object_event 0, 10, SPRITE_SAILOR, STAY, RIGHT, 4, OPP_SAILOR, 8 + object_event 4, 14, SPRITE_GYM_GUIDE, STAY, DOWN, 5 ; person def_warps_to VERMILION_GYM diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm index 7f6b4404..7d6075ce 100644 --- a/data/maps/objects/VermilionMart.asm +++ b/data/maps/objects/VermilionMart.asm @@ -8,8 +8,8 @@ VermilionMart_Object: def_bg_events def_object_events - object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person - object_event 5, 6, SPRITE_COOLTRAINER_M, STAY, NONE, 2 ; person - object_event 3, 3, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 3 ; person + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 5, 6, SPRITE_COOLTRAINER_M, STAY, NONE, 2 ; person + object_event 3, 3, SPRITE_COOLTRAINER_F, WALK, LEFT_RIGHT, 3 ; person def_warps_to VERMILION_MART diff --git a/data/maps/objects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm index 8ab9d7c9..e960663e 100644 --- a/data/maps/objects/VermilionOldRodHouse.asm +++ b/data/maps/objects/VermilionOldRodHouse.asm @@ -8,6 +8,6 @@ VermilionOldRodHouse_Object: def_bg_events def_object_events - object_event 2, 4, SPRITE_FISHING_GURU, STAY, RIGHT, 1 ; person + object_event 2, 4, SPRITE_FISHING_GURU, STAY, RIGHT, 1 ; person def_warps_to VERMILION_OLD_ROD_HOUSE diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm index 7274f7fd..365e4afe 100644 --- a/data/maps/objects/VermilionPidgeyHouse.asm +++ b/data/maps/objects/VermilionPidgeyHouse.asm @@ -8,8 +8,8 @@ VermilionPidgeyHouse_Object: def_bg_events def_object_events - object_event 5, 3, SPRITE_YOUNGSTER, STAY, LEFT, 1 ; person - object_event 3, 5, SPRITE_BIRD, WALK, LEFT_RIGHT, 2 ; person - object_event 4, 3, SPRITE_PAPER, STAY, NONE, 3 ; person + object_event 5, 3, SPRITE_YOUNGSTER, STAY, LEFT, 1 ; person + object_event 3, 5, SPRITE_BIRD, WALK, LEFT_RIGHT, 2 ; person + object_event 4, 3, SPRITE_PAPER, STAY, NONE, 3 ; person def_warps_to VERMILION_PIDGEY_HOUSE diff --git a/data/maps/objects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm index e9c22500..e0b5a72a 100644 --- a/data/maps/objects/VermilionPokecenter.asm +++ b/data/maps/objects/VermilionPokecenter.asm @@ -8,9 +8,9 @@ VermilionPokecenter_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 10, 5, SPRITE_FISHING_GURU, STAY, NONE, 2 ; person - object_event 5, 4, SPRITE_SAILOR, STAY, NONE, 3 ; person - object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 10, 5, SPRITE_FISHING_GURU, STAY, NONE, 2 ; person + object_event 5, 4, SPRITE_SAILOR, STAY, NONE, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to VERMILION_POKECENTER diff --git a/data/maps/objects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm index 2f4b2b00..48d6d77f 100644 --- a/data/maps/objects/VermilionTradeHouse.asm +++ b/data/maps/objects/VermilionTradeHouse.asm @@ -8,6 +8,6 @@ VermilionTradeHouse_Object: def_bg_events def_object_events - object_event 3, 5, SPRITE_LITTLE_GIRL, STAY, UP, 1 ; person + object_event 3, 5, SPRITE_LITTLE_GIRL, STAY, UP, 1 ; person def_warps_to VERMILION_TRADE_HOUSE diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm index c1f92163..7a4f0c2a 100644 --- a/data/maps/objects/VictoryRoad1F.asm +++ b/data/maps/objects/VictoryRoad1F.asm @@ -9,12 +9,12 @@ VictoryRoad1F_Object: def_bg_events def_object_events - object_event 7, 5, SPRITE_COOLTRAINER_F, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5 - object_event 3, 2, SPRITE_COOLTRAINER_M, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5 - object_event 11, 0, SPRITE_POKE_BALL, STAY, NONE, 3, TM_SKY_ATTACK - object_event 9, 2, SPRITE_POKE_BALL, STAY, NONE, 4, RARE_CANDY - object_event 5, 15, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person - object_event 14, 2, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person - object_event 2, 10, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person + object_event 7, 5, SPRITE_COOLTRAINER_F, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5 + object_event 3, 2, SPRITE_COOLTRAINER_M, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5 + object_event 11, 0, SPRITE_POKE_BALL, STAY, NONE, 3, TM_SKY_ATTACK + object_event 9, 2, SPRITE_POKE_BALL, STAY, NONE, 4, RARE_CANDY + object_event 5, 15, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person + object_event 14, 2, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person + object_event 2, 10, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person def_warps_to VICTORY_ROAD_1F diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index bb8c137b..ce225067 100644 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -13,18 +13,18 @@ VictoryRoad2F_Object: def_bg_events def_object_events - object_event 12, 9, SPRITE_HIKER, STAY, LEFT, 1, OPP_BLACKBELT, 9 + object_event 12, 9, SPRITE_HIKER, STAY, LEFT, 1, OPP_BLACKBELT, 9 object_event 21, 13, SPRITE_SUPER_NERD, STAY, LEFT, 2, OPP_JUGGLER, 2 - object_event 19, 8, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_TAMER, 5 - object_event 4, 2, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_POKEMANIAC, 6 - object_event 26, 3, SPRITE_SUPER_NERD, STAY, LEFT, 5, OPP_JUGGLER, 5 - object_event 11, 5, SPRITE_BIRD, STAY, UP, 6, MOLTRES, 50 - object_event 27, 5, SPRITE_POKE_BALL, STAY, NONE, 7, TM_SUBMISSION - object_event 18, 9, SPRITE_POKE_BALL, STAY, NONE, 8, FULL_HEAL - object_event 9, 11, SPRITE_POKE_BALL, STAY, NONE, 9, TM_MEGA_KICK - object_event 11, 0, SPRITE_POKE_BALL, STAY, NONE, 10, GUARD_SPEC - object_event 4, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person - object_event 5, 5, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person + object_event 19, 8, SPRITE_COOLTRAINER_M, STAY, DOWN, 3, OPP_TAMER, 5 + object_event 4, 2, SPRITE_SUPER_NERD, STAY, DOWN, 4, OPP_POKEMANIAC, 6 + object_event 26, 3, SPRITE_SUPER_NERD, STAY, LEFT, 5, OPP_JUGGLER, 5 + object_event 11, 5, SPRITE_BIRD, STAY, UP, 6, MOLTRES, 50 + object_event 27, 5, SPRITE_POKE_BALL, STAY, NONE, 7, TM_SUBMISSION + object_event 18, 9, SPRITE_POKE_BALL, STAY, NONE, 8, FULL_HEAL + object_event 9, 11, SPRITE_POKE_BALL, STAY, NONE, 9, TM_MEGA_KICK + object_event 11, 0, SPRITE_POKE_BALL, STAY, NONE, 10, GUARD_SPEC + object_event 4, 14, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person + object_event 5, 5, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person object_event 23, 16, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person def_warps_to VICTORY_ROAD_2F diff --git a/data/maps/objects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm index 2479ab5b..30fde3a2 100644 --- a/data/maps/objects/VictoryRoad3F.asm +++ b/data/maps/objects/VictoryRoad3F.asm @@ -10,13 +10,13 @@ VictoryRoad3F_Object: def_bg_events def_object_events - object_event 28, 5, SPRITE_COOLTRAINER_M, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2 - object_event 7, 13, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2 - object_event 6, 14, SPRITE_COOLTRAINER_M, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3 - object_event 13, 3, SPRITE_COOLTRAINER_F, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3 - object_event 26, 5, SPRITE_POKE_BALL, STAY, NONE, 5, MAX_REVIVE - object_event 7, 7, SPRITE_POKE_BALL, STAY, NONE, 6, TM_EXPLOSION - object_event 22, 3, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person + object_event 28, 5, SPRITE_COOLTRAINER_M, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2 + object_event 7, 13, SPRITE_COOLTRAINER_F, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2 + object_event 6, 14, SPRITE_COOLTRAINER_M, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3 + object_event 13, 3, SPRITE_COOLTRAINER_F, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3 + object_event 26, 5, SPRITE_POKE_BALL, STAY, NONE, 5, MAX_REVIVE + object_event 7, 7, SPRITE_POKE_BALL, STAY, NONE, 6, TM_EXPLOSION + object_event 22, 3, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person object_event 13, 12, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 8 ; person object_event 24, 10, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person object_event 22, 15, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 10 ; person diff --git a/data/maps/objects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm index 981765dd..46a68d19 100644 --- a/data/maps/objects/ViridianCity.asm +++ b/data/maps/objects/ViridianCity.asm @@ -18,11 +18,11 @@ ViridianCity_Object: def_object_events object_event 13, 20, SPRITE_YOUNGSTER, WALK, ANY_DIR, 1 ; person - object_event 30, 8, SPRITE_GAMBLER, STAY, NONE, 2 ; person + object_event 30, 8, SPRITE_GAMBLER, STAY, NONE, 2 ; person object_event 30, 25, SPRITE_YOUNGSTER, WALK, ANY_DIR, 3 ; person - object_event 17, 9, SPRITE_GIRL, STAY, RIGHT, 4 ; person - object_event 18, 9, SPRITE_GAMBLER_ASLEEP, STAY, NONE, 5 ; person - object_event 6, 23, SPRITE_FISHER, STAY, DOWN, 6 ; person - object_event 17, 5, SPRITE_GAMBLER, WALK, LEFT_RIGHT, 7 ; person + object_event 17, 9, SPRITE_GIRL, STAY, RIGHT, 4 ; person + object_event 18, 9, SPRITE_GAMBLER_ASLEEP, STAY, NONE, 5 ; person + object_event 6, 23, SPRITE_FISHER, STAY, DOWN, 6 ; person + object_event 17, 5, SPRITE_GAMBLER, WALK, LEFT_RIGHT, 7 ; person def_warps_to VIRIDIAN_CITY diff --git a/data/maps/objects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm index 87a93800..5f4cb2a6 100644 --- a/data/maps/objects/ViridianForest.asm +++ b/data/maps/objects/ViridianForest.asm @@ -21,10 +21,10 @@ ViridianForest_Object: object_event 16, 43, SPRITE_YOUNGSTER, STAY, NONE, 1 ; person object_event 30, 33, SPRITE_YOUNGSTER, STAY, LEFT, 2, OPP_BUG_CATCHER, 1 object_event 30, 19, SPRITE_YOUNGSTER, STAY, LEFT, 3, OPP_BUG_CATCHER, 2 - object_event 2, 18, SPRITE_YOUNGSTER, STAY, LEFT, 4, OPP_BUG_CATCHER, 3 + object_event 2, 18, SPRITE_YOUNGSTER, STAY, LEFT, 4, OPP_BUG_CATCHER, 3 object_event 25, 11, SPRITE_POKE_BALL, STAY, NONE, 5, ANTIDOTE object_event 12, 29, SPRITE_POKE_BALL, STAY, NONE, 6, POTION - object_event 1, 31, SPRITE_POKE_BALL, STAY, NONE, 7, POKE_BALL + object_event 1, 31, SPRITE_POKE_BALL, STAY, NONE, 7, POKE_BALL object_event 27, 40, SPRITE_YOUNGSTER, STAY, NONE, 8 ; person def_warps_to VIRIDIAN_FOREST diff --git a/data/maps/objects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm index 28d91ebe..020f2f62 100644 --- a/data/maps/objects/ViridianForestNorthGate.asm +++ b/data/maps/objects/ViridianForestNorthGate.asm @@ -10,7 +10,7 @@ ViridianForestNorthGate_Object: def_bg_events def_object_events - object_event 3, 2, SPRITE_SUPER_NERD, STAY, NONE, 1 ; person - object_event 2, 5, SPRITE_GRAMPS, STAY, NONE, 2 ; person + object_event 3, 2, SPRITE_SUPER_NERD, STAY, NONE, 1 ; person + object_event 2, 5, SPRITE_GRAMPS, STAY, NONE, 2 ; person def_warps_to VIRIDIAN_FOREST_NORTH_GATE diff --git a/data/maps/objects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm index 1ed22076..13517e0c 100644 --- a/data/maps/objects/ViridianForestSouthGate.asm +++ b/data/maps/objects/ViridianForestSouthGate.asm @@ -10,7 +10,7 @@ ViridianForestSouthGate_Object: def_bg_events def_object_events - object_event 8, 4, SPRITE_GIRL, STAY, LEFT, 1 ; person - object_event 2, 4, SPRITE_LITTLE_GIRL, WALK, UP_DOWN, 2 ; person + object_event 8, 4, SPRITE_GIRL, STAY, LEFT, 1 ; person + object_event 2, 4, SPRITE_LITTLE_GIRL, WALK, UP_DOWN, 2 ; person def_warps_to VIRIDIAN_FOREST_SOUTH_GATE diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm index ead8b290..4b9a159e 100644 --- a/data/maps/objects/ViridianGym.asm +++ b/data/maps/objects/ViridianGym.asm @@ -8,16 +8,16 @@ ViridianGym_Object: def_bg_events def_object_events - object_event 2, 1, SPRITE_GIOVANNI, STAY, DOWN, 1, OPP_GIOVANNI, 3 - object_event 12, 7, SPRITE_COOLTRAINER_M, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9 + object_event 2, 1, SPRITE_GIOVANNI, STAY, DOWN, 1, OPP_GIOVANNI, 3 + object_event 12, 7, SPRITE_COOLTRAINER_M, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9 object_event 11, 11, SPRITE_HIKER, STAY, UP, 3, OPP_BLACKBELT, 6 - object_event 10, 7, SPRITE_ROCKER, STAY, DOWN, 4, OPP_TAMER, 3 - object_event 3, 7, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 7 - object_event 13, 5, SPRITE_COOLTRAINER_M, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10 - object_event 10, 1, SPRITE_HIKER, STAY, DOWN, 7, OPP_BLACKBELT, 8 - object_event 2, 16, SPRITE_ROCKER, STAY, RIGHT, 8, OPP_TAMER, 4 - object_event 6, 5, SPRITE_COOLTRAINER_M, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1 + object_event 10, 7, SPRITE_ROCKER, STAY, DOWN, 4, OPP_TAMER, 3 + object_event 3, 7, SPRITE_HIKER, STAY, LEFT, 5, OPP_BLACKBELT, 7 + object_event 13, 5, SPRITE_COOLTRAINER_M, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10 + object_event 10, 1, SPRITE_HIKER, STAY, DOWN, 7, OPP_BLACKBELT, 8 + object_event 2, 16, SPRITE_ROCKER, STAY, RIGHT, 8, OPP_TAMER, 4 + object_event 6, 5, SPRITE_COOLTRAINER_M, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1 object_event 16, 15, SPRITE_GYM_GUIDE, STAY, DOWN, 10 ; person - object_event 16, 9, SPRITE_POKE_BALL, STAY, NONE, 11, REVIVE + object_event 16, 9, SPRITE_POKE_BALL, STAY, NONE, 11, REVIVE def_warps_to VIRIDIAN_GYM diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm index 80a6656c..8bb5d240 100644 --- a/data/maps/objects/ViridianMart.asm +++ b/data/maps/objects/ViridianMart.asm @@ -8,8 +8,8 @@ ViridianMart_Object: def_bg_events def_object_events - object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person - object_event 5, 5, SPRITE_YOUNGSTER, WALK, UP_DOWN, 2 ; person - object_event 3, 3, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person + object_event 0, 5, SPRITE_CLERK, STAY, RIGHT, 1 ; person + object_event 5, 5, SPRITE_YOUNGSTER, WALK, UP_DOWN, 2 ; person + object_event 3, 3, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person def_warps_to VIRIDIAN_MART diff --git a/data/maps/objects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm index 452f8cb5..9ace1faf 100644 --- a/data/maps/objects/ViridianNicknameHouse.asm +++ b/data/maps/objects/ViridianNicknameHouse.asm @@ -8,9 +8,9 @@ ViridianNicknameHouse_Object: def_bg_events def_object_events - object_event 5, 3, SPRITE_BALDING_GUY, STAY, NONE, 1 ; person - object_event 1, 4, SPRITE_LITTLE_GIRL, WALK, UP_DOWN, 2 ; person - object_event 5, 5, SPRITE_BIRD, WALK, LEFT_RIGHT, 3 ; person - object_event 4, 0, SPRITE_CLIPBOARD, STAY, NONE, 4 ; person + object_event 5, 3, SPRITE_BALDING_GUY, STAY, NONE, 1 ; person + object_event 1, 4, SPRITE_LITTLE_GIRL, WALK, UP_DOWN, 2 ; person + object_event 5, 5, SPRITE_BIRD, WALK, LEFT_RIGHT, 3 ; person + object_event 4, 0, SPRITE_CLIPBOARD, STAY, NONE, 4 ; person def_warps_to VIRIDIAN_NICKNAME_HOUSE diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm index 90f5e144..ef3424f2 100644 --- a/data/maps/objects/ViridianPokecenter.asm +++ b/data/maps/objects/ViridianPokecenter.asm @@ -8,9 +8,9 @@ ViridianPokecenter_Object: def_bg_events def_object_events - object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person - object_event 10, 5, SPRITE_GENTLEMAN, WALK, UP_DOWN, 2 ; person - object_event 4, 3, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person - object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person + object_event 3, 1, SPRITE_NURSE, STAY, DOWN, 1 ; person + object_event 10, 5, SPRITE_GENTLEMAN, WALK, UP_DOWN, 2 ; person + object_event 4, 3, SPRITE_COOLTRAINER_M, STAY, NONE, 3 ; person + object_event 11, 2, SPRITE_LINK_RECEPTIONIST, STAY, DOWN, 4 ; person def_warps_to VIRIDIAN_POKECENTER diff --git a/data/maps/objects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm index 43bbd27f..53909d7a 100644 --- a/data/maps/objects/ViridianSchoolHouse.asm +++ b/data/maps/objects/ViridianSchoolHouse.asm @@ -8,7 +8,7 @@ ViridianSchoolHouse_Object: def_bg_events def_object_events - object_event 3, 5, SPRITE_BRUNETTE_GIRL, STAY, UP, 1 ; person - object_event 4, 1, SPRITE_COOLTRAINER_F, STAY, DOWN, 2 ; person + object_event 3, 5, SPRITE_BRUNETTE_GIRL, STAY, UP, 1 ; person + object_event 4, 1, SPRITE_COOLTRAINER_F, STAY, DOWN, 2 ; person def_warps_to VIRIDIAN_SCHOOL_HOUSE diff --git a/data/maps/objects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm index 9b66c464..46e1f35b 100644 --- a/data/maps/objects/WardensHouse.asm +++ b/data/maps/objects/WardensHouse.asm @@ -10,8 +10,8 @@ WardensHouse_Object: bg_event 5, 3, 5 ; FuchsiaHouse2Text5 def_object_events - object_event 2, 3, SPRITE_WARDEN, STAY, NONE, 1 ; person - object_event 8, 3, SPRITE_POKE_BALL, STAY, NONE, 2, RARE_CANDY - object_event 8, 4, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person + object_event 2, 3, SPRITE_WARDEN, STAY, NONE, 1 ; person + object_event 8, 3, SPRITE_POKE_BALL, STAY, NONE, 2, RARE_CANDY + object_event 8, 4, SPRITE_BOULDER, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person def_warps_to WARDENS_HOUSE From 52660012c62fa83d37817c05f5c3cae637c473dd Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 5 Oct 2021 20:46:46 -0400 Subject: [PATCH 048/119] Clean up some redundant or unusual event comments --- data/maps/objects/BluesHouse.asm | 6 +++--- data/maps/objects/CeladonCity.asm | 2 +- data/maps/objects/RedsHouse1F.asm | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm index 49f76276..36653b6b 100644 --- a/data/maps/objects/BluesHouse.asm +++ b/data/maps/objects/BluesHouse.asm @@ -8,8 +8,8 @@ BluesHouse_Object: def_bg_events def_object_events - object_event 2, 3, SPRITE_DAISY, STAY, RIGHT, 1 ; Daisy, sitting by map - object_event 6, 4, SPRITE_DAISY, WALK, UP_DOWN, 2, 0 ; Daisy, walking around - object_event 3, 3, SPRITE_POKEDEX, STAY, NONE, 3, 0 ; map on table + object_event 2, 3, SPRITE_DAISY, STAY, RIGHT, 1 + object_event 6, 4, SPRITE_DAISY, WALK, UP_DOWN, 2, 0 + object_event 3, 3, SPRITE_POKEDEX, STAY, NONE, 3, 0 def_warps_to BLUES_HOUSE diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm index 25a2ce32..5f514653 100644 --- a/data/maps/objects/CeladonCity.asm +++ b/data/maps/objects/CeladonCity.asm @@ -10,7 +10,7 @@ CeladonCity_Object: warp_event 41, 9, CELADON_POKECENTER, 0 warp_event 12, 27, CELADON_GYM, 0 warp_event 28, 19, GAME_CORNER, 0 - warp_event 39, 19, CELADON_MART_5F, 0 ; beta warp_event! no longer used + warp_event 39, 19, CELADON_MART_5F, 0 warp_event 33, 19, GAME_CORNER_PRIZE_ROOM, 0 warp_event 31, 27, CELADON_DINER, 0 warp_event 35, 27, CELADON_CHIEF_HOUSE, 0 diff --git a/data/maps/objects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm index ce0f8c24..ef1f7c07 100644 --- a/data/maps/objects/RedsHouse1F.asm +++ b/data/maps/objects/RedsHouse1F.asm @@ -2,14 +2,14 @@ RedsHouse1F_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 0 ; exit1 - warp_event 3, 7, LAST_MAP, 0 ; exit2 - warp_event 7, 1, REDS_HOUSE_2F, 0 ; staircase + warp_event 2, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 0 + warp_event 7, 1, REDS_HOUSE_2F, 0 def_bg_events - bg_event 3, 1, 2 ; TV + bg_event 3, 1, 2 ; RedsHouse1FTVText def_object_events - object_event 5, 4, SPRITE_MOM, STAY, LEFT, 1 ; Mom + object_event 5, 4, SPRITE_MOM, STAY, LEFT, 1 def_warps_to REDS_HOUSE_1F From fc899e1906a9a245e94dafa7c0da2ef1697b7335 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 5 Oct 2021 21:02:42 -0400 Subject: [PATCH 049/119] `warp_event` warp IDs start at 1, like in pokegold/pokecrystal --- data/maps/objects/AgathasRoom.asm | 8 +-- data/maps/objects/BikeShop.asm | 4 +- data/maps/objects/BillsHouse.asm | 4 +- data/maps/objects/BluesHouse.asm | 4 +- data/maps/objects/BrunosRoom.asm | 8 +-- data/maps/objects/CeladonChiefHouse.asm | 4 +- data/maps/objects/CeladonCity.asm | 26 ++++---- data/maps/objects/CeladonDiner.asm | 4 +- data/maps/objects/CeladonGym.asm | 4 +- data/maps/objects/CeladonHotel.asm | 4 +- data/maps/objects/CeladonMansion1F.asm | 10 +-- data/maps/objects/CeladonMansion2F.asm | 8 +-- data/maps/objects/CeladonMansion3F.asm | 8 +-- data/maps/objects/CeladonMansionRoof.asm | 6 +- data/maps/objects/CeladonMansionRoofHouse.asm | 4 +- data/maps/objects/CeladonMart1F.asm | 12 ++-- data/maps/objects/CeladonMart2F.asm | 6 +- data/maps/objects/CeladonMart3F.asm | 6 +- data/maps/objects/CeladonMart4F.asm | 6 +- data/maps/objects/CeladonMart5F.asm | 6 +- data/maps/objects/CeladonMartElevator.asm | 4 +- data/maps/objects/CeladonMartRoof.asm | 2 +- data/maps/objects/CeladonPokecenter.asm | 4 +- data/maps/objects/CeruleanBadgeHouse.asm | 6 +- data/maps/objects/CeruleanCave1F.asm | 18 +++--- data/maps/objects/CeruleanCave2F.asm | 12 ++-- data/maps/objects/CeruleanCaveB1F.asm | 2 +- data/maps/objects/CeruleanCity.asm | 20 +++--- data/maps/objects/CeruleanGym.asm | 4 +- data/maps/objects/CeruleanMart.asm | 4 +- data/maps/objects/CeruleanPokecenter.asm | 4 +- data/maps/objects/CeruleanTradeHouse.asm | 4 +- data/maps/objects/CeruleanTrashedHouse.asm | 6 +- data/maps/objects/ChampionsRoom.asm | 8 +-- data/maps/objects/CinnabarGym.asm | 4 +- data/maps/objects/CinnabarIsland.asm | 10 +-- data/maps/objects/CinnabarLab.asm | 10 +-- data/maps/objects/CinnabarLabFossilRoom.asm | 4 +- .../maps/objects/CinnabarLabMetronomeRoom.asm | 4 +- data/maps/objects/CinnabarLabTradeRoom.asm | 4 +- data/maps/objects/CinnabarMart.asm | 4 +- data/maps/objects/CinnabarPokecenter.asm | 4 +- data/maps/objects/CopycatsHouse1F.asm | 6 +- data/maps/objects/CopycatsHouse2F.asm | 2 +- data/maps/objects/Daycare.asm | 4 +- data/maps/objects/DiglettsCave.asm | 4 +- data/maps/objects/DiglettsCaveRoute11.asm | 6 +- data/maps/objects/DiglettsCaveRoute2.asm | 6 +- data/maps/objects/FightingDojo.asm | 4 +- .../objects/FuchsiaBillsGrandpasHouse.asm | 4 +- data/maps/objects/FuchsiaCity.asm | 18 +++--- data/maps/objects/FuchsiaGoodRodHouse.asm | 6 +- data/maps/objects/FuchsiaGym.asm | 4 +- data/maps/objects/FuchsiaMart.asm | 4 +- data/maps/objects/FuchsiaMeetingRoom.asm | 4 +- data/maps/objects/FuchsiaPokecenter.asm | 4 +- data/maps/objects/GameCorner.asm | 6 +- data/maps/objects/GameCornerPrizeRoom.asm | 4 +- data/maps/objects/HallOfFame.asm | 4 +- data/maps/objects/IndigoPlateau.asm | 4 +- data/maps/objects/IndigoPlateauLobby.asm | 6 +- data/maps/objects/LancesRoom.asm | 6 +- data/maps/objects/LavenderCuboneHouse.asm | 4 +- data/maps/objects/LavenderMart.asm | 4 +- data/maps/objects/LavenderPokecenter.asm | 4 +- data/maps/objects/LavenderTown.asm | 12 ++-- data/maps/objects/LoreleisRoom.asm | 8 +-- data/maps/objects/MrFujisHouse.asm | 4 +- data/maps/objects/MrPsychicsHouse.asm | 4 +- data/maps/objects/MtMoon1F.asm | 10 +-- data/maps/objects/MtMoonB1F.asm | 16 ++--- data/maps/objects/MtMoonB2F.asm | 8 +-- data/maps/objects/MtMoonPokecenter.asm | 4 +- data/maps/objects/Museum1F.asm | 10 +-- data/maps/objects/Museum2F.asm | 2 +- data/maps/objects/NameRatersHouse.asm | 4 +- data/maps/objects/OaksLab.asm | 4 +- data/maps/objects/PalletTown.asm | 6 +- data/maps/objects/PewterCity.asm | 14 ++-- data/maps/objects/PewterGym.asm | 4 +- data/maps/objects/PewterMart.asm | 4 +- data/maps/objects/PewterNidoranHouse.asm | 4 +- data/maps/objects/PewterPokecenter.asm | 4 +- data/maps/objects/PewterSpeechHouse.asm | 4 +- data/maps/objects/PokemonFanClub.asm | 4 +- data/maps/objects/PokemonMansion1F.asm | 16 ++--- data/maps/objects/PokemonMansion2F.asm | 8 +-- data/maps/objects/PokemonMansion3F.asm | 6 +- data/maps/objects/PokemonMansionB1F.asm | 2 +- data/maps/objects/PokemonTower1F.asm | 6 +- data/maps/objects/PokemonTower2F.asm | 4 +- data/maps/objects/PokemonTower3F.asm | 4 +- data/maps/objects/PokemonTower4F.asm | 4 +- data/maps/objects/PokemonTower5F.asm | 4 +- data/maps/objects/PokemonTower6F.asm | 4 +- data/maps/objects/PokemonTower7F.asm | 2 +- data/maps/objects/PowerPlant.asm | 6 +- data/maps/objects/RedsHouse1F.asm | 6 +- data/maps/objects/RedsHouse2F.asm | 2 +- data/maps/objects/RockTunnel1F.asm | 16 ++--- data/maps/objects/RockTunnelB1F.asm | 8 +-- data/maps/objects/RockTunnelPokecenter.asm | 4 +- data/maps/objects/RocketHideoutB1F.asm | 10 +-- data/maps/objects/RocketHideoutB2F.asm | 10 +-- data/maps/objects/RocketHideoutB3F.asm | 4 +- data/maps/objects/RocketHideoutB4F.asm | 6 +- data/maps/objects/RocketHideoutElevator.asm | 4 +- data/maps/objects/Route10.asm | 8 +-- data/maps/objects/Route11.asm | 10 +-- data/maps/objects/Route11Gate1F.asm | 10 +-- data/maps/objects/Route11Gate2F.asm | 2 +- data/maps/objects/Route12.asm | 8 +-- data/maps/objects/Route12Gate1F.asm | 10 +-- data/maps/objects/Route12Gate2F.asm | 2 +- data/maps/objects/Route12SuperRodHouse.asm | 4 +- data/maps/objects/Route15.asm | 8 +-- data/maps/objects/Route15Gate1F.asm | 10 +-- data/maps/objects/Route15Gate2F.asm | 2 +- data/maps/objects/Route16.asm | 18 +++--- data/maps/objects/Route16FlyHouse.asm | 4 +- data/maps/objects/Route16Gate1F.asm | 18 +++--- data/maps/objects/Route16Gate2F.asm | 2 +- data/maps/objects/Route18.asm | 8 +-- data/maps/objects/Route18Gate1F.asm | 10 +-- data/maps/objects/Route18Gate2F.asm | 2 +- data/maps/objects/Route2.asm | 12 ++-- data/maps/objects/Route20.asm | 4 +- data/maps/objects/Route22.asm | 2 +- data/maps/objects/Route22Gate.asm | 8 +-- data/maps/objects/Route23.asm | 8 +-- data/maps/objects/Route25.asm | 2 +- data/maps/objects/Route2Gate.asm | 8 +-- data/maps/objects/Route2TradeHouse.asm | 4 +- data/maps/objects/Route4.asm | 6 +- data/maps/objects/Route5.asm | 10 +-- data/maps/objects/Route5Gate.asm | 8 +-- data/maps/objects/Route6.asm | 8 +-- data/maps/objects/Route6Gate.asm | 8 +-- data/maps/objects/Route7.asm | 10 +-- data/maps/objects/Route7Gate.asm | 8 +-- data/maps/objects/Route8.asm | 10 +-- data/maps/objects/Route8Gate.asm | 8 +-- data/maps/objects/SSAnne1F.asm | 22 +++---- data/maps/objects/SSAnne1FRooms.asm | 12 ++-- data/maps/objects/SSAnne2F.asm | 18 +++--- data/maps/objects/SSAnne2FRooms.asm | 24 +++---- data/maps/objects/SSAnne3F.asm | 4 +- data/maps/objects/SSAnneB1F.asm | 12 ++-- data/maps/objects/SSAnneB1FRooms.asm | 20 +++--- data/maps/objects/SSAnneBow.asm | 4 +- data/maps/objects/SSAnneCaptainsRoom.asm | 2 +- data/maps/objects/SSAnneKitchen.asm | 2 +- data/maps/objects/SafariZoneCenter.asm | 18 +++--- .../objects/SafariZoneCenterRestHouse.asm | 4 +- data/maps/objects/SafariZoneEast.asm | 10 +-- data/maps/objects/SafariZoneEastRestHouse.asm | 4 +- data/maps/objects/SafariZoneGate.asm | 8 +-- data/maps/objects/SafariZoneNorth.asm | 18 +++--- .../maps/objects/SafariZoneNorthRestHouse.asm | 4 +- data/maps/objects/SafariZoneSecretHouse.asm | 4 +- data/maps/objects/SafariZoneWest.asm | 16 ++--- data/maps/objects/SafariZoneWestRestHouse.asm | 4 +- data/maps/objects/SaffronCity.asm | 16 ++--- data/maps/objects/SaffronGym.asm | 64 +++++++++---------- data/maps/objects/SaffronMart.asm | 4 +- data/maps/objects/SaffronPidgeyHouse.asm | 4 +- data/maps/objects/SaffronPokecenter.asm | 4 +- data/maps/objects/SeafoamIslands1F.asm | 14 ++-- data/maps/objects/SeafoamIslandsB1F.asm | 14 ++-- data/maps/objects/SeafoamIslandsB2F.asm | 14 ++-- data/maps/objects/SeafoamIslandsB3F.asm | 14 ++-- data/maps/objects/SeafoamIslandsB4F.asm | 8 +-- data/maps/objects/SilphCo10F.asm | 12 ++-- data/maps/objects/SilphCo11F.asm | 8 +-- data/maps/objects/SilphCo1F.asm | 10 +-- data/maps/objects/SilphCo2F.asm | 14 ++-- data/maps/objects/SilphCo3F.asm | 20 +++--- data/maps/objects/SilphCo4F.asm | 14 ++-- data/maps/objects/SilphCo5F.asm | 14 ++-- data/maps/objects/SilphCo6F.asm | 10 +-- data/maps/objects/SilphCo7F.asm | 12 ++-- data/maps/objects/SilphCo8F.asm | 14 ++-- data/maps/objects/SilphCo9F.asm | 10 +-- data/maps/objects/SilphCoElevator.asm | 4 +- .../objects/UndergroundPathNorthSouth.asm | 4 +- data/maps/objects/UndergroundPathRoute5.asm | 6 +- data/maps/objects/UndergroundPathRoute6.asm | 6 +- data/maps/objects/UndergroundPathRoute7.asm | 6 +- .../objects/UndergroundPathRoute7Copy.asm | 6 +- data/maps/objects/UndergroundPathRoute8.asm | 6 +- data/maps/objects/UndergroundPathWestEast.asm | 4 +- data/maps/objects/VermilionCity.asm | 18 +++--- data/maps/objects/VermilionDock.asm | 4 +- data/maps/objects/VermilionGym.asm | 4 +- data/maps/objects/VermilionMart.asm | 4 +- data/maps/objects/VermilionOldRodHouse.asm | 4 +- data/maps/objects/VermilionPidgeyHouse.asm | 4 +- data/maps/objects/VermilionPokecenter.asm | 4 +- data/maps/objects/VermilionTradeHouse.asm | 4 +- data/maps/objects/VictoryRoad1F.asm | 6 +- data/maps/objects/VictoryRoad2F.asm | 14 ++-- data/maps/objects/VictoryRoad3F.asm | 8 +-- data/maps/objects/ViridianCity.asm | 10 +-- data/maps/objects/ViridianForest.asm | 12 ++-- data/maps/objects/ViridianForestNorthGate.asm | 8 +-- data/maps/objects/ViridianForestSouthGate.asm | 8 +-- data/maps/objects/ViridianGym.asm | 4 +- data/maps/objects/ViridianMart.asm | 4 +- data/maps/objects/ViridianNicknameHouse.asm | 4 +- data/maps/objects/ViridianPokecenter.asm | 4 +- data/maps/objects/ViridianSchoolHouse.asm | 4 +- data/maps/objects/WardensHouse.asm | 4 +- macros/scripts/maps.asm | 4 +- 213 files changed, 807 insertions(+), 807 deletions(-) diff --git a/data/maps/objects/AgathasRoom.asm b/data/maps/objects/AgathasRoom.asm index 50d2e8c3..afccd1be 100644 --- a/data/maps/objects/AgathasRoom.asm +++ b/data/maps/objects/AgathasRoom.asm @@ -2,10 +2,10 @@ AgathasRoom_Object: db $0 ; border block def_warp_events - warp_event 4, 11, BRUNOS_ROOM, 2 - warp_event 5, 11, BRUNOS_ROOM, 3 - warp_event 4, 0, LANCES_ROOM, 0 - warp_event 5, 0, LANCES_ROOM, 0 + warp_event 4, 11, BRUNOS_ROOM, 3 + warp_event 5, 11, BRUNOS_ROOM, 4 + warp_event 4, 0, LANCES_ROOM, 1 + warp_event 5, 0, LANCES_ROOM, 1 def_bg_events diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm index c0028f8c..1fa8f6e6 100644 --- a/data/maps/objects/BikeShop.asm +++ b/data/maps/objects/BikeShop.asm @@ -2,8 +2,8 @@ BikeShop_Object: db $e ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 4 - warp_event 3, 7, LAST_MAP, 4 + warp_event 2, 7, LAST_MAP, 5 + warp_event 3, 7, LAST_MAP, 5 def_bg_events diff --git a/data/maps/objects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm index a6b2463d..db8f8433 100644 --- a/data/maps/objects/BillsHouse.asm +++ b/data/maps/objects/BillsHouse.asm @@ -2,8 +2,8 @@ BillsHouse_Object: db $d ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 0 - warp_event 3, 7, LAST_MAP, 0 + warp_event 2, 7, LAST_MAP, 1 + warp_event 3, 7, LAST_MAP, 1 def_bg_events diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm index 36653b6b..ac200b28 100644 --- a/data/maps/objects/BluesHouse.asm +++ b/data/maps/objects/BluesHouse.asm @@ -2,8 +2,8 @@ BluesHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 1 - warp_event 3, 7, LAST_MAP, 1 + warp_event 2, 7, LAST_MAP, 2 + warp_event 3, 7, LAST_MAP, 2 def_bg_events diff --git a/data/maps/objects/BrunosRoom.asm b/data/maps/objects/BrunosRoom.asm index 9cf7e5e9..1e8a0a27 100644 --- a/data/maps/objects/BrunosRoom.asm +++ b/data/maps/objects/BrunosRoom.asm @@ -2,10 +2,10 @@ BrunosRoom_Object: db $3 ; border block def_warp_events - warp_event 4, 11, LORELEIS_ROOM, 2 - warp_event 5, 11, LORELEIS_ROOM, 3 - warp_event 4, 0, AGATHAS_ROOM, 0 - warp_event 5, 0, AGATHAS_ROOM, 1 + warp_event 4, 11, LORELEIS_ROOM, 3 + warp_event 5, 11, LORELEIS_ROOM, 4 + warp_event 4, 0, AGATHAS_ROOM, 1 + warp_event 5, 0, AGATHAS_ROOM, 2 def_bg_events diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm index 16779c25..8bec11b0 100644 --- a/data/maps/objects/CeladonChiefHouse.asm +++ b/data/maps/objects/CeladonChiefHouse.asm @@ -2,8 +2,8 @@ CeladonChiefHouse_Object: db $f ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 11 - warp_event 3, 7, LAST_MAP, 11 + warp_event 2, 7, LAST_MAP, 12 + warp_event 3, 7, LAST_MAP, 12 def_bg_events diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm index 5f514653..1644335b 100644 --- a/data/maps/objects/CeladonCity.asm +++ b/data/maps/objects/CeladonCity.asm @@ -2,19 +2,19 @@ CeladonCity_Object: db $f ; border block def_warp_events - warp_event 8, 13, CELADON_MART_1F, 0 - warp_event 10, 13, CELADON_MART_1F, 2 - warp_event 24, 9, CELADON_MANSION_1F, 0 - warp_event 24, 3, CELADON_MANSION_1F, 2 - warp_event 25, 3, CELADON_MANSION_1F, 2 - warp_event 41, 9, CELADON_POKECENTER, 0 - warp_event 12, 27, CELADON_GYM, 0 - warp_event 28, 19, GAME_CORNER, 0 - warp_event 39, 19, CELADON_MART_5F, 0 - warp_event 33, 19, GAME_CORNER_PRIZE_ROOM, 0 - warp_event 31, 27, CELADON_DINER, 0 - warp_event 35, 27, CELADON_CHIEF_HOUSE, 0 - warp_event 43, 27, CELADON_HOTEL, 0 + warp_event 8, 13, CELADON_MART_1F, 1 + warp_event 10, 13, CELADON_MART_1F, 3 + warp_event 24, 9, CELADON_MANSION_1F, 1 + warp_event 24, 3, CELADON_MANSION_1F, 3 + warp_event 25, 3, CELADON_MANSION_1F, 3 + warp_event 41, 9, CELADON_POKECENTER, 1 + warp_event 12, 27, CELADON_GYM, 1 + warp_event 28, 19, GAME_CORNER, 1 + warp_event 39, 19, CELADON_MART_5F, 1 + warp_event 33, 19, GAME_CORNER_PRIZE_ROOM, 1 + warp_event 31, 27, CELADON_DINER, 1 + warp_event 35, 27, CELADON_CHIEF_HOUSE, 1 + warp_event 43, 27, CELADON_HOTEL, 1 def_bg_events bg_event 27, 15, 10 ; CeladonCityText10 diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm index 629a34a7..33ea922b 100644 --- a/data/maps/objects/CeladonDiner.asm +++ b/data/maps/objects/CeladonDiner.asm @@ -2,8 +2,8 @@ CeladonDiner_Object: db $f ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 10 - warp_event 4, 7, LAST_MAP, 10 + warp_event 3, 7, LAST_MAP, 11 + warp_event 4, 7, LAST_MAP, 11 def_bg_events diff --git a/data/maps/objects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm index c296c68a..294e727d 100644 --- a/data/maps/objects/CeladonGym.asm +++ b/data/maps/objects/CeladonGym.asm @@ -2,8 +2,8 @@ CeladonGym_Object: db $3 ; border block def_warp_events - warp_event 4, 17, LAST_MAP, 6 - warp_event 5, 17, LAST_MAP, 6 + warp_event 4, 17, LAST_MAP, 7 + warp_event 5, 17, LAST_MAP, 7 def_bg_events diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm index c79b658f..13aaff64 100644 --- a/data/maps/objects/CeladonHotel.asm +++ b/data/maps/objects/CeladonHotel.asm @@ -2,8 +2,8 @@ CeladonHotel_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 12 - warp_event 4, 7, LAST_MAP, 12 + warp_event 3, 7, LAST_MAP, 13 + warp_event 4, 7, LAST_MAP, 13 def_bg_events diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm index 01a907f1..4966c903 100644 --- a/data/maps/objects/CeladonMansion1F.asm +++ b/data/maps/objects/CeladonMansion1F.asm @@ -2,11 +2,11 @@ CeladonMansion1F_Object: db $f ; border block def_warp_events - warp_event 4, 11, LAST_MAP, 2 - warp_event 5, 11, LAST_MAP, 2 - warp_event 4, 0, LAST_MAP, 4 - warp_event 7, 1, CELADON_MANSION_2F, 1 - warp_event 2, 1, CELADON_MANSION_2F, 2 + warp_event 4, 11, LAST_MAP, 3 + warp_event 5, 11, LAST_MAP, 3 + warp_event 4, 0, LAST_MAP, 5 + warp_event 7, 1, CELADON_MANSION_2F, 2 + warp_event 2, 1, CELADON_MANSION_2F, 3 def_bg_events bg_event 4, 9, 5 ; CeladonMansion1Text5 diff --git a/data/maps/objects/CeladonMansion2F.asm b/data/maps/objects/CeladonMansion2F.asm index c0d431d2..c2546d72 100644 --- a/data/maps/objects/CeladonMansion2F.asm +++ b/data/maps/objects/CeladonMansion2F.asm @@ -2,10 +2,10 @@ CeladonMansion2F_Object: db $f ; border block def_warp_events - warp_event 6, 1, CELADON_MANSION_3F, 0 - warp_event 7, 1, CELADON_MANSION_1F, 3 - warp_event 2, 1, CELADON_MANSION_1F, 4 - warp_event 4, 1, CELADON_MANSION_3F, 3 + warp_event 6, 1, CELADON_MANSION_3F, 1 + warp_event 7, 1, CELADON_MANSION_1F, 4 + warp_event 2, 1, CELADON_MANSION_1F, 5 + warp_event 4, 1, CELADON_MANSION_3F, 4 def_bg_events bg_event 4, 9, 1 ; CeladonMansion2Text1 diff --git a/data/maps/objects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm index 4b02da20..b4f9c37b 100644 --- a/data/maps/objects/CeladonMansion3F.asm +++ b/data/maps/objects/CeladonMansion3F.asm @@ -2,10 +2,10 @@ CeladonMansion3F_Object: db $f ; border block def_warp_events - warp_event 6, 1, CELADON_MANSION_2F, 0 - warp_event 7, 1, CELADON_MANSION_ROOF, 0 - warp_event 2, 1, CELADON_MANSION_ROOF, 1 - warp_event 4, 1, CELADON_MANSION_2F, 3 + warp_event 6, 1, CELADON_MANSION_2F, 1 + warp_event 7, 1, CELADON_MANSION_ROOF, 1 + warp_event 2, 1, CELADON_MANSION_ROOF, 2 + warp_event 4, 1, CELADON_MANSION_2F, 4 def_bg_events bg_event 1, 3, 5 ; CeladonMansion3Text5 diff --git a/data/maps/objects/CeladonMansionRoof.asm b/data/maps/objects/CeladonMansionRoof.asm index 89f60ac2..e28249e2 100644 --- a/data/maps/objects/CeladonMansionRoof.asm +++ b/data/maps/objects/CeladonMansionRoof.asm @@ -2,9 +2,9 @@ CeladonMansionRoof_Object: db $9 ; border block def_warp_events - warp_event 6, 1, CELADON_MANSION_3F, 1 - warp_event 2, 1, CELADON_MANSION_3F, 2 - warp_event 2, 7, CELADON_MANSION_ROOF_HOUSE, 0 + warp_event 6, 1, CELADON_MANSION_3F, 2 + warp_event 2, 1, CELADON_MANSION_3F, 3 + warp_event 2, 7, CELADON_MANSION_ROOF_HOUSE, 1 def_bg_events bg_event 3, 7, 1 ; CeladonMansion4Text1 diff --git a/data/maps/objects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm index b29266e9..c5111a76 100644 --- a/data/maps/objects/CeladonMansionRoofHouse.asm +++ b/data/maps/objects/CeladonMansionRoofHouse.asm @@ -2,8 +2,8 @@ CeladonMansionRoofHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, CELADON_MANSION_ROOF, 2 - warp_event 3, 7, CELADON_MANSION_ROOF, 2 + warp_event 2, 7, CELADON_MANSION_ROOF, 3 + warp_event 3, 7, CELADON_MANSION_ROOF, 3 def_bg_events diff --git a/data/maps/objects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm index 89ad6b4c..d7f8924f 100644 --- a/data/maps/objects/CeladonMart1F.asm +++ b/data/maps/objects/CeladonMart1F.asm @@ -2,12 +2,12 @@ CeladonMart1F_Object: db $f ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 0 - warp_event 3, 7, LAST_MAP, 0 - warp_event 16, 7, LAST_MAP, 1 - warp_event 17, 7, LAST_MAP, 1 - warp_event 12, 1, CELADON_MART_2F, 0 - warp_event 1, 1, CELADON_MART_ELEVATOR, 0 + warp_event 2, 7, LAST_MAP, 1 + warp_event 3, 7, LAST_MAP, 1 + warp_event 16, 7, LAST_MAP, 2 + warp_event 17, 7, LAST_MAP, 2 + warp_event 12, 1, CELADON_MART_2F, 1 + warp_event 1, 1, CELADON_MART_ELEVATOR, 1 def_bg_events bg_event 11, 4, 2 ; CeladonMart1Text2 diff --git a/data/maps/objects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm index e26912b3..9eaa1605 100644 --- a/data/maps/objects/CeladonMart2F.asm +++ b/data/maps/objects/CeladonMart2F.asm @@ -2,9 +2,9 @@ CeladonMart2F_Object: db $f ; border block def_warp_events - warp_event 12, 1, CELADON_MART_1F, 4 - warp_event 16, 1, CELADON_MART_3F, 1 - warp_event 1, 1, CELADON_MART_ELEVATOR, 0 + warp_event 12, 1, CELADON_MART_1F, 5 + warp_event 16, 1, CELADON_MART_3F, 2 + warp_event 1, 1, CELADON_MART_ELEVATOR, 1 def_bg_events bg_event 14, 1, 5 ; CeladonMart2Text5 diff --git a/data/maps/objects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm index e0b61e52..85f0cf1c 100644 --- a/data/maps/objects/CeladonMart3F.asm +++ b/data/maps/objects/CeladonMart3F.asm @@ -2,9 +2,9 @@ CeladonMart3F_Object: db $f ; border block def_warp_events - warp_event 12, 1, CELADON_MART_4F, 0 - warp_event 16, 1, CELADON_MART_2F, 1 - warp_event 1, 1, CELADON_MART_ELEVATOR, 0 + warp_event 12, 1, CELADON_MART_4F, 1 + warp_event 16, 1, CELADON_MART_2F, 2 + warp_event 1, 1, CELADON_MART_ELEVATOR, 1 def_bg_events bg_event 2, 4, 6 ; CeladonMart3Text6 diff --git a/data/maps/objects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm index f4ee3505..7f188692 100644 --- a/data/maps/objects/CeladonMart4F.asm +++ b/data/maps/objects/CeladonMart4F.asm @@ -2,9 +2,9 @@ CeladonMart4F_Object: db $f ; border block def_warp_events - warp_event 12, 1, CELADON_MART_3F, 0 - warp_event 16, 1, CELADON_MART_5F, 1 - warp_event 1, 1, CELADON_MART_ELEVATOR, 0 + warp_event 12, 1, CELADON_MART_3F, 1 + warp_event 16, 1, CELADON_MART_5F, 2 + warp_event 1, 1, CELADON_MART_ELEVATOR, 1 def_bg_events bg_event 14, 1, 4 ; CeladonMart4Text4 diff --git a/data/maps/objects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm index a53c16bc..35cb45b8 100644 --- a/data/maps/objects/CeladonMart5F.asm +++ b/data/maps/objects/CeladonMart5F.asm @@ -2,9 +2,9 @@ CeladonMart5F_Object: db $f ; border block def_warp_events - warp_event 12, 1, CELADON_MART_ROOF, 0 - warp_event 16, 1, CELADON_MART_4F, 1 - warp_event 1, 1, CELADON_MART_ELEVATOR, 0 + warp_event 12, 1, CELADON_MART_ROOF, 1 + warp_event 16, 1, CELADON_MART_4F, 2 + warp_event 1, 1, CELADON_MART_ELEVATOR, 1 def_bg_events bg_event 14, 1, 5 ; CeladonMart5Text5 diff --git a/data/maps/objects/CeladonMartElevator.asm b/data/maps/objects/CeladonMartElevator.asm index 2b0382ef..c24e48df 100644 --- a/data/maps/objects/CeladonMartElevator.asm +++ b/data/maps/objects/CeladonMartElevator.asm @@ -2,8 +2,8 @@ CeladonMartElevator_Object: db $f ; border block def_warp_events - warp_event 1, 3, CELADON_MART_1F, 5 - warp_event 2, 3, CELADON_MART_1F, 5 + warp_event 1, 3, CELADON_MART_1F, 6 + warp_event 2, 3, CELADON_MART_1F, 6 def_bg_events bg_event 3, 0, 1 ; CeladonMartElevatorText1 diff --git a/data/maps/objects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm index b495d0c2..f56a0b0d 100644 --- a/data/maps/objects/CeladonMartRoof.asm +++ b/data/maps/objects/CeladonMartRoof.asm @@ -2,7 +2,7 @@ CeladonMartRoof_Object: db $42 ; border block def_warp_events - warp_event 15, 2, CELADON_MART_5F, 0 + warp_event 15, 2, CELADON_MART_5F, 1 def_bg_events bg_event 10, 1, 3 ; CeladonMartRoofText3 diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm index 6373bdb2..40c466a0 100644 --- a/data/maps/objects/CeladonPokecenter.asm +++ b/data/maps/objects/CeladonPokecenter.asm @@ -2,8 +2,8 @@ CeladonPokecenter_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 5 - warp_event 4, 7, LAST_MAP, 5 + warp_event 3, 7, LAST_MAP, 6 + warp_event 4, 7, LAST_MAP, 6 def_bg_events diff --git a/data/maps/objects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm index bf7d0215..145dde81 100644 --- a/data/maps/objects/CeruleanBadgeHouse.asm +++ b/data/maps/objects/CeruleanBadgeHouse.asm @@ -2,9 +2,9 @@ CeruleanBadgeHouse_Object: db $c ; border block def_warp_events - warp_event 2, 0, LAST_MAP, 9 - warp_event 2, 7, LAST_MAP, 8 - warp_event 3, 7, LAST_MAP, 8 + warp_event 2, 0, LAST_MAP, 10 + warp_event 2, 7, LAST_MAP, 9 + warp_event 3, 7, LAST_MAP, 9 def_bg_events diff --git a/data/maps/objects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm index c4a1cdfc..b858a40f 100644 --- a/data/maps/objects/CeruleanCave1F.asm +++ b/data/maps/objects/CeruleanCave1F.asm @@ -2,15 +2,15 @@ CeruleanCave1F_Object: db $7d ; border block def_warp_events - warp_event 24, 17, LAST_MAP, 6 - warp_event 25, 17, LAST_MAP, 6 - warp_event 27, 1, CERULEAN_CAVE_2F, 0 - warp_event 23, 7, CERULEAN_CAVE_2F, 1 - warp_event 18, 9, CERULEAN_CAVE_2F, 2 - warp_event 7, 1, CERULEAN_CAVE_2F, 3 - warp_event 1, 3, CERULEAN_CAVE_2F, 4 - warp_event 3, 11, CERULEAN_CAVE_2F, 5 - warp_event 0, 6, CERULEAN_CAVE_B1F, 0 + warp_event 24, 17, LAST_MAP, 7 + warp_event 25, 17, LAST_MAP, 7 + warp_event 27, 1, CERULEAN_CAVE_2F, 1 + warp_event 23, 7, CERULEAN_CAVE_2F, 2 + warp_event 18, 9, CERULEAN_CAVE_2F, 3 + warp_event 7, 1, CERULEAN_CAVE_2F, 4 + warp_event 1, 3, CERULEAN_CAVE_2F, 5 + warp_event 3, 11, CERULEAN_CAVE_2F, 6 + warp_event 0, 6, CERULEAN_CAVE_B1F, 1 def_bg_events diff --git a/data/maps/objects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm index 5e0dd321..18765fe8 100644 --- a/data/maps/objects/CeruleanCave2F.asm +++ b/data/maps/objects/CeruleanCave2F.asm @@ -2,12 +2,12 @@ CeruleanCave2F_Object: db $7d ; border block def_warp_events - warp_event 29, 1, CERULEAN_CAVE_1F, 2 - warp_event 22, 6, CERULEAN_CAVE_1F, 3 - warp_event 19, 7, CERULEAN_CAVE_1F, 4 - warp_event 9, 1, CERULEAN_CAVE_1F, 5 - warp_event 1, 3, CERULEAN_CAVE_1F, 6 - warp_event 3, 11, CERULEAN_CAVE_1F, 7 + warp_event 29, 1, CERULEAN_CAVE_1F, 3 + warp_event 22, 6, CERULEAN_CAVE_1F, 4 + warp_event 19, 7, CERULEAN_CAVE_1F, 5 + warp_event 9, 1, CERULEAN_CAVE_1F, 6 + warp_event 1, 3, CERULEAN_CAVE_1F, 7 + warp_event 3, 11, CERULEAN_CAVE_1F, 8 def_bg_events diff --git a/data/maps/objects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm index 6b2fd05d..5173fee6 100644 --- a/data/maps/objects/CeruleanCaveB1F.asm +++ b/data/maps/objects/CeruleanCaveB1F.asm @@ -2,7 +2,7 @@ CeruleanCaveB1F_Object: db $7d ; border block def_warp_events - warp_event 3, 6, CERULEAN_CAVE_1F, 8 + warp_event 3, 6, CERULEAN_CAVE_1F, 9 def_bg_events diff --git a/data/maps/objects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm index c9669c44..23863aa0 100644 --- a/data/maps/objects/CeruleanCity.asm +++ b/data/maps/objects/CeruleanCity.asm @@ -2,16 +2,16 @@ CeruleanCity_Object: db $f ; border block def_warp_events - warp_event 27, 11, CERULEAN_TRASHED_HOUSE, 0 - warp_event 13, 15, CERULEAN_TRADE_HOUSE, 0 - warp_event 19, 17, CERULEAN_POKECENTER, 0 - warp_event 30, 19, CERULEAN_GYM, 0 - warp_event 13, 25, BIKE_SHOP, 0 - warp_event 25, 25, CERULEAN_MART, 0 - warp_event 4, 11, CERULEAN_CAVE_1F, 0 - warp_event 27, 9, CERULEAN_TRASHED_HOUSE, 2 - warp_event 9, 11, CERULEAN_BADGE_HOUSE, 1 - warp_event 9, 9, CERULEAN_BADGE_HOUSE, 0 + warp_event 27, 11, CERULEAN_TRASHED_HOUSE, 1 + warp_event 13, 15, CERULEAN_TRADE_HOUSE, 1 + warp_event 19, 17, CERULEAN_POKECENTER, 1 + warp_event 30, 19, CERULEAN_GYM, 1 + warp_event 13, 25, BIKE_SHOP, 1 + warp_event 25, 25, CERULEAN_MART, 1 + warp_event 4, 11, CERULEAN_CAVE_1F, 1 + warp_event 27, 9, CERULEAN_TRASHED_HOUSE, 3 + warp_event 9, 11, CERULEAN_BADGE_HOUSE, 2 + warp_event 9, 9, CERULEAN_BADGE_HOUSE, 1 def_bg_events bg_event 23, 19, 12 ; CeruleanCityText12 diff --git a/data/maps/objects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm index 4ae7d7a4..a6be4cae 100644 --- a/data/maps/objects/CeruleanGym.asm +++ b/data/maps/objects/CeruleanGym.asm @@ -2,8 +2,8 @@ CeruleanGym_Object: db $3 ; border block def_warp_events - warp_event 4, 13, LAST_MAP, 3 - warp_event 5, 13, LAST_MAP, 3 + warp_event 4, 13, LAST_MAP, 4 + warp_event 5, 13, LAST_MAP, 4 def_bg_events diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm index 17835e6d..0f5a8276 100644 --- a/data/maps/objects/CeruleanMart.asm +++ b/data/maps/objects/CeruleanMart.asm @@ -2,8 +2,8 @@ CeruleanMart_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 5 - warp_event 4, 7, LAST_MAP, 5 + warp_event 3, 7, LAST_MAP, 6 + warp_event 4, 7, LAST_MAP, 6 def_bg_events diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm index ac1216b2..eee0a0c6 100644 --- a/data/maps/objects/CeruleanPokecenter.asm +++ b/data/maps/objects/CeruleanPokecenter.asm @@ -2,8 +2,8 @@ CeruleanPokecenter_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 2 - warp_event 4, 7, LAST_MAP, 2 + warp_event 3, 7, LAST_MAP, 3 + warp_event 4, 7, LAST_MAP, 3 def_bg_events diff --git a/data/maps/objects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm index 1defee42..52984832 100644 --- a/data/maps/objects/CeruleanTradeHouse.asm +++ b/data/maps/objects/CeruleanTradeHouse.asm @@ -2,8 +2,8 @@ CeruleanTradeHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 1 - warp_event 3, 7, LAST_MAP, 1 + warp_event 2, 7, LAST_MAP, 2 + warp_event 3, 7, LAST_MAP, 2 def_bg_events diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm index 8cfec104..9dc28f08 100644 --- a/data/maps/objects/CeruleanTrashedHouse.asm +++ b/data/maps/objects/CeruleanTrashedHouse.asm @@ -2,9 +2,9 @@ CeruleanTrashedHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 0 - warp_event 3, 7, LAST_MAP, 0 - warp_event 3, 0, LAST_MAP, 7 + warp_event 2, 7, LAST_MAP, 1 + warp_event 3, 7, LAST_MAP, 1 + warp_event 3, 0, LAST_MAP, 8 def_bg_events bg_event 3, 0, 3 ; CeruleanHouseTrashedText3 diff --git a/data/maps/objects/ChampionsRoom.asm b/data/maps/objects/ChampionsRoom.asm index 85a16298..fa5efd8f 100644 --- a/data/maps/objects/ChampionsRoom.asm +++ b/data/maps/objects/ChampionsRoom.asm @@ -2,10 +2,10 @@ ChampionsRoom_Object: db $3 ; border block def_warp_events - warp_event 3, 7, LANCES_ROOM, 1 - warp_event 4, 7, LANCES_ROOM, 2 - warp_event 3, 0, HALL_OF_FAME, 0 - warp_event 4, 0, HALL_OF_FAME, 0 + warp_event 3, 7, LANCES_ROOM, 2 + warp_event 4, 7, LANCES_ROOM, 3 + warp_event 3, 0, HALL_OF_FAME, 1 + warp_event 4, 0, HALL_OF_FAME, 1 def_bg_events diff --git a/data/maps/objects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm index 57cb2e76..a4ed8cda 100644 --- a/data/maps/objects/CinnabarGym.asm +++ b/data/maps/objects/CinnabarGym.asm @@ -2,8 +2,8 @@ CinnabarGym_Object: db $2e ; border block def_warp_events - warp_event 16, 17, LAST_MAP, 1 - warp_event 17, 17, LAST_MAP, 1 + warp_event 16, 17, LAST_MAP, 2 + warp_event 17, 17, LAST_MAP, 2 def_bg_events diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm index cdfb5ba2..f3ca64fb 100644 --- a/data/maps/objects/CinnabarIsland.asm +++ b/data/maps/objects/CinnabarIsland.asm @@ -2,11 +2,11 @@ CinnabarIsland_Object: db $43 ; border block def_warp_events - warp_event 6, 3, POKEMON_MANSION_1F, 1 - warp_event 18, 3, CINNABAR_GYM, 0 - warp_event 6, 9, CINNABAR_LAB, 0 - warp_event 11, 11, CINNABAR_POKECENTER, 0 - warp_event 15, 11, CINNABAR_MART, 0 + warp_event 6, 3, POKEMON_MANSION_1F, 2 + warp_event 18, 3, CINNABAR_GYM, 1 + warp_event 6, 9, CINNABAR_LAB, 1 + warp_event 11, 11, CINNABAR_POKECENTER, 1 + warp_event 15, 11, CINNABAR_MART, 1 def_bg_events bg_event 9, 5, 3 ; CinnabarIslandText3 diff --git a/data/maps/objects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm index 3c8507e8..3737843c 100644 --- a/data/maps/objects/CinnabarLab.asm +++ b/data/maps/objects/CinnabarLab.asm @@ -2,11 +2,11 @@ CinnabarLab_Object: db $17 ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 2 - warp_event 3, 7, LAST_MAP, 2 - warp_event 8, 4, CINNABAR_LAB_TRADE_ROOM, 0 - warp_event 12, 4, CINNABAR_LAB_METRONOME_ROOM, 0 - warp_event 16, 4, CINNABAR_LAB_FOSSIL_ROOM, 0 + warp_event 2, 7, LAST_MAP, 3 + warp_event 3, 7, LAST_MAP, 3 + warp_event 8, 4, CINNABAR_LAB_TRADE_ROOM, 1 + warp_event 12, 4, CINNABAR_LAB_METRONOME_ROOM, 1 + warp_event 16, 4, CINNABAR_LAB_FOSSIL_ROOM, 1 def_bg_events bg_event 3, 2, 2 ; Lab1Text2 diff --git a/data/maps/objects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm index 9e8c664c..29a805f7 100644 --- a/data/maps/objects/CinnabarLabFossilRoom.asm +++ b/data/maps/objects/CinnabarLabFossilRoom.asm @@ -2,8 +2,8 @@ CinnabarLabFossilRoom_Object: db $17 ; border block def_warp_events - warp_event 2, 7, CINNABAR_LAB, 4 - warp_event 3, 7, CINNABAR_LAB, 4 + warp_event 2, 7, CINNABAR_LAB, 5 + warp_event 3, 7, CINNABAR_LAB, 5 def_bg_events diff --git a/data/maps/objects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm index f4a96582..ceadc217 100644 --- a/data/maps/objects/CinnabarLabMetronomeRoom.asm +++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm @@ -2,8 +2,8 @@ CinnabarLabMetronomeRoom_Object: db $17 ; border block def_warp_events - warp_event 2, 7, CINNABAR_LAB, 3 - warp_event 3, 7, CINNABAR_LAB, 3 + warp_event 2, 7, CINNABAR_LAB, 4 + warp_event 3, 7, CINNABAR_LAB, 4 def_bg_events bg_event 0, 4, 3 ; Lab3Text3 diff --git a/data/maps/objects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm index bbb66069..11702821 100644 --- a/data/maps/objects/CinnabarLabTradeRoom.asm +++ b/data/maps/objects/CinnabarLabTradeRoom.asm @@ -2,8 +2,8 @@ CinnabarLabTradeRoom_Object: db $17 ; border block def_warp_events - warp_event 2, 7, CINNABAR_LAB, 2 - warp_event 3, 7, CINNABAR_LAB, 2 + warp_event 2, 7, CINNABAR_LAB, 3 + warp_event 3, 7, CINNABAR_LAB, 3 def_bg_events diff --git a/data/maps/objects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm index e742434e..e91d18b2 100644 --- a/data/maps/objects/CinnabarMart.asm +++ b/data/maps/objects/CinnabarMart.asm @@ -2,8 +2,8 @@ CinnabarMart_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 4 - warp_event 4, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 5 + warp_event 4, 7, LAST_MAP, 5 def_bg_events diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm index 95fe1342..75d11926 100644 --- a/data/maps/objects/CinnabarPokecenter.asm +++ b/data/maps/objects/CinnabarPokecenter.asm @@ -2,8 +2,8 @@ CinnabarPokecenter_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 3 - warp_event 4, 7, LAST_MAP, 3 + warp_event 3, 7, LAST_MAP, 4 + warp_event 4, 7, LAST_MAP, 4 def_bg_events diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm index 3521560b..0a3705f4 100644 --- a/data/maps/objects/CopycatsHouse1F.asm +++ b/data/maps/objects/CopycatsHouse1F.asm @@ -2,9 +2,9 @@ CopycatsHouse1F_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 0 - warp_event 3, 7, LAST_MAP, 0 - warp_event 7, 1, COPYCATS_HOUSE_2F, 0 + warp_event 2, 7, LAST_MAP, 1 + warp_event 3, 7, LAST_MAP, 1 + warp_event 7, 1, COPYCATS_HOUSE_2F, 1 def_bg_events diff --git a/data/maps/objects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm index 6822a5e6..86449065 100644 --- a/data/maps/objects/CopycatsHouse2F.asm +++ b/data/maps/objects/CopycatsHouse2F.asm @@ -2,7 +2,7 @@ CopycatsHouse2F_Object: db $a ; border block def_warp_events - warp_event 7, 1, COPYCATS_HOUSE_1F, 2 + warp_event 7, 1, COPYCATS_HOUSE_1F, 3 def_bg_events bg_event 3, 5, 6 ; CopycatsHouse2FText6 diff --git a/data/maps/objects/Daycare.asm b/data/maps/objects/Daycare.asm index 695ae179..f3ece1a9 100644 --- a/data/maps/objects/Daycare.asm +++ b/data/maps/objects/Daycare.asm @@ -2,8 +2,8 @@ Daycare_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 4 - warp_event 3, 7, LAST_MAP, 4 + warp_event 2, 7, LAST_MAP, 5 + warp_event 3, 7, LAST_MAP, 5 def_bg_events diff --git a/data/maps/objects/DiglettsCave.asm b/data/maps/objects/DiglettsCave.asm index 1b9ae6a2..8ada664a 100644 --- a/data/maps/objects/DiglettsCave.asm +++ b/data/maps/objects/DiglettsCave.asm @@ -2,8 +2,8 @@ DiglettsCave_Object: db $19 ; border block def_warp_events - warp_event 5, 5, DIGLETTS_CAVE_ROUTE_2, 2 - warp_event 37, 31, DIGLETTS_CAVE_ROUTE_11, 2 + warp_event 5, 5, DIGLETTS_CAVE_ROUTE_2, 3 + warp_event 37, 31, DIGLETTS_CAVE_ROUTE_11, 3 def_bg_events diff --git a/data/maps/objects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm index 2f5bd5a0..a0aa3ddb 100644 --- a/data/maps/objects/DiglettsCaveRoute11.asm +++ b/data/maps/objects/DiglettsCaveRoute11.asm @@ -2,9 +2,9 @@ DiglettsCaveRoute11_Object: db $7d ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 4 - warp_event 3, 7, LAST_MAP, 4 - warp_event 4, 4, DIGLETTS_CAVE, 1 + warp_event 2, 7, LAST_MAP, 5 + warp_event 3, 7, LAST_MAP, 5 + warp_event 4, 4, DIGLETTS_CAVE, 2 def_bg_events diff --git a/data/maps/objects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm index 340d811d..c8dc0561 100644 --- a/data/maps/objects/DiglettsCaveRoute2.asm +++ b/data/maps/objects/DiglettsCaveRoute2.asm @@ -2,9 +2,9 @@ DiglettsCaveRoute2_Object: db $7d ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 0 - warp_event 3, 7, LAST_MAP, 0 - warp_event 4, 4, DIGLETTS_CAVE, 0 + warp_event 2, 7, LAST_MAP, 1 + warp_event 3, 7, LAST_MAP, 1 + warp_event 4, 4, DIGLETTS_CAVE, 1 def_bg_events diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm index 85f34048..808abf71 100644 --- a/data/maps/objects/FightingDojo.asm +++ b/data/maps/objects/FightingDojo.asm @@ -2,8 +2,8 @@ FightingDojo_Object: db $3 ; border block def_warp_events - warp_event 4, 11, LAST_MAP, 1 - warp_event 5, 11, LAST_MAP, 1 + warp_event 4, 11, LAST_MAP, 2 + warp_event 5, 11, LAST_MAP, 2 def_bg_events diff --git a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm index d397765d..2369e7d0 100644 --- a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm +++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm @@ -2,8 +2,8 @@ FuchsiaBillsGrandpasHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 1 - warp_event 3, 7, LAST_MAP, 1 + warp_event 2, 7, LAST_MAP, 2 + warp_event 3, 7, LAST_MAP, 2 def_bg_events diff --git a/data/maps/objects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm index 291d30bc..c8ff36e6 100644 --- a/data/maps/objects/FuchsiaCity.asm +++ b/data/maps/objects/FuchsiaCity.asm @@ -2,15 +2,15 @@ FuchsiaCity_Object: db $f ; border block def_warp_events - warp_event 5, 13, FUCHSIA_MART, 0 - warp_event 11, 27, FUCHSIA_BILLS_GRANDPAS_HOUSE, 0 - warp_event 19, 27, FUCHSIA_POKECENTER, 0 - warp_event 27, 27, WARDENS_HOUSE, 0 - warp_event 18, 3, SAFARI_ZONE_GATE, 0 - warp_event 5, 27, FUCHSIA_GYM, 0 - warp_event 22, 13, FUCHSIA_MEETING_ROOM, 0 - warp_event 31, 27, FUCHSIA_GOOD_ROD_HOUSE, 1 - warp_event 31, 24, FUCHSIA_GOOD_ROD_HOUSE, 0 + warp_event 5, 13, FUCHSIA_MART, 1 + warp_event 11, 27, FUCHSIA_BILLS_GRANDPAS_HOUSE, 1 + warp_event 19, 27, FUCHSIA_POKECENTER, 1 + warp_event 27, 27, WARDENS_HOUSE, 1 + warp_event 18, 3, SAFARI_ZONE_GATE, 1 + warp_event 5, 27, FUCHSIA_GYM, 1 + warp_event 22, 13, FUCHSIA_MEETING_ROOM, 1 + warp_event 31, 27, FUCHSIA_GOOD_ROD_HOUSE, 2 + warp_event 31, 24, FUCHSIA_GOOD_ROD_HOUSE, 1 def_bg_events bg_event 15, 23, 11 ; FuchsiaCityText11 diff --git a/data/maps/objects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm index 2d3f3c93..483734cd 100644 --- a/data/maps/objects/FuchsiaGoodRodHouse.asm +++ b/data/maps/objects/FuchsiaGoodRodHouse.asm @@ -2,9 +2,9 @@ FuchsiaGoodRodHouse_Object: db $c ; border block def_warp_events - warp_event 2, 0, LAST_MAP, 8 - warp_event 2, 7, LAST_MAP, 7 - warp_event 3, 7, LAST_MAP, 7 + warp_event 2, 0, LAST_MAP, 9 + warp_event 2, 7, LAST_MAP, 8 + warp_event 3, 7, LAST_MAP, 8 def_bg_events diff --git a/data/maps/objects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm index 06dc06e2..9c39cb5e 100644 --- a/data/maps/objects/FuchsiaGym.asm +++ b/data/maps/objects/FuchsiaGym.asm @@ -2,8 +2,8 @@ FuchsiaGym_Object: db $3 ; border block def_warp_events - warp_event 4, 17, LAST_MAP, 5 - warp_event 5, 17, LAST_MAP, 5 + warp_event 4, 17, LAST_MAP, 6 + warp_event 5, 17, LAST_MAP, 6 def_bg_events diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm index e6d6f445..04055fbd 100644 --- a/data/maps/objects/FuchsiaMart.asm +++ b/data/maps/objects/FuchsiaMart.asm @@ -2,8 +2,8 @@ FuchsiaMart_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 0 - warp_event 4, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 1 + warp_event 4, 7, LAST_MAP, 1 def_bg_events diff --git a/data/maps/objects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm index 509a34b2..2e4ac72a 100644 --- a/data/maps/objects/FuchsiaMeetingRoom.asm +++ b/data/maps/objects/FuchsiaMeetingRoom.asm @@ -2,8 +2,8 @@ FuchsiaMeetingRoom_Object: db $17 ; border block def_warp_events - warp_event 4, 7, LAST_MAP, 6 - warp_event 5, 7, LAST_MAP, 6 + warp_event 4, 7, LAST_MAP, 7 + warp_event 5, 7, LAST_MAP, 7 def_bg_events diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm index 79e99b9b..84404b09 100644 --- a/data/maps/objects/FuchsiaPokecenter.asm +++ b/data/maps/objects/FuchsiaPokecenter.asm @@ -2,8 +2,8 @@ FuchsiaPokecenter_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 2 - warp_event 4, 7, LAST_MAP, 2 + warp_event 3, 7, LAST_MAP, 3 + warp_event 4, 7, LAST_MAP, 3 def_bg_events diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm index 7f568174..2b4c8f72 100644 --- a/data/maps/objects/GameCorner.asm +++ b/data/maps/objects/GameCorner.asm @@ -2,9 +2,9 @@ GameCorner_Object: db $f ; border block def_warp_events - warp_event 15, 17, LAST_MAP, 7 - warp_event 16, 17, LAST_MAP, 7 - warp_event 17, 4, ROCKET_HIDEOUT_B1F, 1 + warp_event 15, 17, LAST_MAP, 8 + warp_event 16, 17, LAST_MAP, 8 + warp_event 17, 4, ROCKET_HIDEOUT_B1F, 2 def_bg_events bg_event 9, 4, 12 ; CeladonGameCornerText12 diff --git a/data/maps/objects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm index db149c60..b79e52ef 100644 --- a/data/maps/objects/GameCornerPrizeRoom.asm +++ b/data/maps/objects/GameCornerPrizeRoom.asm @@ -2,8 +2,8 @@ GameCornerPrizeRoom_Object: db $f ; border block def_warp_events - warp_event 4, 7, LAST_MAP, 9 - warp_event 5, 7, LAST_MAP, 9 + warp_event 4, 7, LAST_MAP, 10 + warp_event 5, 7, LAST_MAP, 10 def_bg_events bg_event 2, 2, 3 ; CeladonPrizeRoomText3 diff --git a/data/maps/objects/HallOfFame.asm b/data/maps/objects/HallOfFame.asm index 0db4f56c..31b9f8a2 100644 --- a/data/maps/objects/HallOfFame.asm +++ b/data/maps/objects/HallOfFame.asm @@ -2,8 +2,8 @@ HallOfFame_Object: db $3 ; border block def_warp_events - warp_event 4, 7, CHAMPIONS_ROOM, 2 - warp_event 5, 7, CHAMPIONS_ROOM, 3 + warp_event 4, 7, CHAMPIONS_ROOM, 3 + warp_event 5, 7, CHAMPIONS_ROOM, 4 def_bg_events diff --git a/data/maps/objects/IndigoPlateau.asm b/data/maps/objects/IndigoPlateau.asm index 63eb5381..d6b0e0db 100644 --- a/data/maps/objects/IndigoPlateau.asm +++ b/data/maps/objects/IndigoPlateau.asm @@ -2,8 +2,8 @@ IndigoPlateau_Object: db $e ; border block def_warp_events - warp_event 9, 5, INDIGO_PLATEAU_LOBBY, 0 - warp_event 10, 5, INDIGO_PLATEAU_LOBBY, 0 + warp_event 9, 5, INDIGO_PLATEAU_LOBBY, 1 + warp_event 10, 5, INDIGO_PLATEAU_LOBBY, 1 def_bg_events diff --git a/data/maps/objects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm index d8eaf97c..fd3d07ba 100644 --- a/data/maps/objects/IndigoPlateauLobby.asm +++ b/data/maps/objects/IndigoPlateauLobby.asm @@ -2,9 +2,9 @@ IndigoPlateauLobby_Object: db $0 ; border block def_warp_events - warp_event 7, 11, LAST_MAP, 0 - warp_event 8, 11, LAST_MAP, 1 - warp_event 8, 0, LORELEIS_ROOM, 0 + warp_event 7, 11, LAST_MAP, 1 + warp_event 8, 11, LAST_MAP, 2 + warp_event 8, 0, LORELEIS_ROOM, 1 def_bg_events diff --git a/data/maps/objects/LancesRoom.asm b/data/maps/objects/LancesRoom.asm index 53848141..c9334b3a 100644 --- a/data/maps/objects/LancesRoom.asm +++ b/data/maps/objects/LancesRoom.asm @@ -2,9 +2,9 @@ LancesRoom_Object: db $3 ; border block def_warp_events - warp_event 24, 16, AGATHAS_ROOM, 2 - warp_event 5, 0, CHAMPIONS_ROOM, 0 - warp_event 6, 0, CHAMPIONS_ROOM, 0 + warp_event 24, 16, AGATHAS_ROOM, 3 + warp_event 5, 0, CHAMPIONS_ROOM, 1 + warp_event 6, 0, CHAMPIONS_ROOM, 1 def_bg_events diff --git a/data/maps/objects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm index c6802c7a..35e6f874 100644 --- a/data/maps/objects/LavenderCuboneHouse.asm +++ b/data/maps/objects/LavenderCuboneHouse.asm @@ -2,8 +2,8 @@ LavenderCuboneHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 4 - warp_event 3, 7, LAST_MAP, 4 + warp_event 2, 7, LAST_MAP, 5 + warp_event 3, 7, LAST_MAP, 5 def_bg_events diff --git a/data/maps/objects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm index 5deeba7c..28a9c236 100644 --- a/data/maps/objects/LavenderMart.asm +++ b/data/maps/objects/LavenderMart.asm @@ -2,8 +2,8 @@ LavenderMart_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 3 - warp_event 4, 7, LAST_MAP, 3 + warp_event 3, 7, LAST_MAP, 4 + warp_event 4, 7, LAST_MAP, 4 def_bg_events diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm index 5e397a65..99c29528 100644 --- a/data/maps/objects/LavenderPokecenter.asm +++ b/data/maps/objects/LavenderPokecenter.asm @@ -2,8 +2,8 @@ LavenderPokecenter_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 0 - warp_event 4, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 1 + warp_event 4, 7, LAST_MAP, 1 def_bg_events diff --git a/data/maps/objects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm index 973ed5eb..e2601721 100644 --- a/data/maps/objects/LavenderTown.asm +++ b/data/maps/objects/LavenderTown.asm @@ -2,12 +2,12 @@ LavenderTown_Object: db $2c ; border block def_warp_events - warp_event 3, 5, LAVENDER_POKECENTER, 0 - warp_event 14, 5, POKEMON_TOWER_1F, 0 - warp_event 7, 9, MR_FUJIS_HOUSE, 0 - warp_event 15, 13, LAVENDER_MART, 0 - warp_event 3, 13, LAVENDER_CUBONE_HOUSE, 0 - warp_event 7, 13, NAME_RATERS_HOUSE, 0 + warp_event 3, 5, LAVENDER_POKECENTER, 1 + warp_event 14, 5, POKEMON_TOWER_1F, 1 + warp_event 7, 9, MR_FUJIS_HOUSE, 1 + warp_event 15, 13, LAVENDER_MART, 1 + warp_event 3, 13, LAVENDER_CUBONE_HOUSE, 1 + warp_event 7, 13, NAME_RATERS_HOUSE, 1 def_bg_events bg_event 11, 9, 4 ; LavenderTownText4 diff --git a/data/maps/objects/LoreleisRoom.asm b/data/maps/objects/LoreleisRoom.asm index 3c4d1afa..1db058e4 100644 --- a/data/maps/objects/LoreleisRoom.asm +++ b/data/maps/objects/LoreleisRoom.asm @@ -2,10 +2,10 @@ LoreleisRoom_Object: db $3 ; border block def_warp_events - warp_event 4, 11, INDIGO_PLATEAU_LOBBY, 2 - warp_event 5, 11, INDIGO_PLATEAU_LOBBY, 2 - warp_event 4, 0, BRUNOS_ROOM, 0 - warp_event 5, 0, BRUNOS_ROOM, 1 + warp_event 4, 11, INDIGO_PLATEAU_LOBBY, 3 + warp_event 5, 11, INDIGO_PLATEAU_LOBBY, 3 + warp_event 4, 0, BRUNOS_ROOM, 1 + warp_event 5, 0, BRUNOS_ROOM, 2 def_bg_events diff --git a/data/maps/objects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm index 36e8f1a0..c84b8637 100644 --- a/data/maps/objects/MrFujisHouse.asm +++ b/data/maps/objects/MrFujisHouse.asm @@ -2,8 +2,8 @@ MrFujisHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 2 - warp_event 3, 7, LAST_MAP, 2 + warp_event 2, 7, LAST_MAP, 3 + warp_event 3, 7, LAST_MAP, 3 def_bg_events diff --git a/data/maps/objects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm index 31a9146d..c5180c6f 100644 --- a/data/maps/objects/MrPsychicsHouse.asm +++ b/data/maps/objects/MrPsychicsHouse.asm @@ -2,8 +2,8 @@ MrPsychicsHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 7 - warp_event 3, 7, LAST_MAP, 7 + warp_event 2, 7, LAST_MAP, 8 + warp_event 3, 7, LAST_MAP, 8 def_bg_events diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm index a1659889..4a6c095d 100644 --- a/data/maps/objects/MtMoon1F.asm +++ b/data/maps/objects/MtMoon1F.asm @@ -2,11 +2,11 @@ MtMoon1F_Object: db $3 ; border block def_warp_events - warp_event 14, 35, LAST_MAP, 1 - warp_event 15, 35, LAST_MAP, 1 - warp_event 5, 5, MT_MOON_B1F, 0 - warp_event 17, 11, MT_MOON_B1F, 2 - warp_event 25, 15, MT_MOON_B1F, 3 + warp_event 14, 35, LAST_MAP, 2 + warp_event 15, 35, LAST_MAP, 2 + warp_event 5, 5, MT_MOON_B1F, 1 + warp_event 17, 11, MT_MOON_B1F, 3 + warp_event 25, 15, MT_MOON_B1F, 4 def_bg_events bg_event 15, 23, 14 ; MtMoon1Text14 diff --git a/data/maps/objects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm index 831618e9..a989a295 100644 --- a/data/maps/objects/MtMoonB1F.asm +++ b/data/maps/objects/MtMoonB1F.asm @@ -2,14 +2,14 @@ MtMoonB1F_Object: db $3 ; border block def_warp_events - warp_event 5, 5, MT_MOON_1F, 2 - warp_event 17, 11, MT_MOON_B2F, 0 - warp_event 25, 9, MT_MOON_1F, 3 - warp_event 25, 15, MT_MOON_1F, 4 - warp_event 21, 17, MT_MOON_B2F, 1 - warp_event 13, 27, MT_MOON_B2F, 2 - warp_event 23, 3, MT_MOON_B2F, 3 - warp_event 27, 3, LAST_MAP, 2 + warp_event 5, 5, MT_MOON_1F, 3 + warp_event 17, 11, MT_MOON_B2F, 1 + warp_event 25, 9, MT_MOON_1F, 4 + warp_event 25, 15, MT_MOON_1F, 5 + warp_event 21, 17, MT_MOON_B2F, 2 + warp_event 13, 27, MT_MOON_B2F, 3 + warp_event 23, 3, MT_MOON_B2F, 4 + warp_event 27, 3, LAST_MAP, 3 def_bg_events diff --git a/data/maps/objects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm index 7e49d1c5..43c7db88 100644 --- a/data/maps/objects/MtMoonB2F.asm +++ b/data/maps/objects/MtMoonB2F.asm @@ -2,10 +2,10 @@ MtMoonB2F_Object: db $3 ; border block def_warp_events - warp_event 25, 9, MT_MOON_B1F, 1 - warp_event 21, 17, MT_MOON_B1F, 4 - warp_event 15, 27, MT_MOON_B1F, 5 - warp_event 5, 7, MT_MOON_B1F, 6 + warp_event 25, 9, MT_MOON_B1F, 2 + warp_event 21, 17, MT_MOON_B1F, 5 + warp_event 15, 27, MT_MOON_B1F, 6 + warp_event 5, 7, MT_MOON_B1F, 7 def_bg_events diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm index 2cf049ab..382c67dd 100644 --- a/data/maps/objects/MtMoonPokecenter.asm +++ b/data/maps/objects/MtMoonPokecenter.asm @@ -2,8 +2,8 @@ MtMoonPokecenter_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 0 - warp_event 4, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 1 + warp_event 4, 7, LAST_MAP, 1 def_bg_events diff --git a/data/maps/objects/Museum1F.asm b/data/maps/objects/Museum1F.asm index aae73366..edbe63c9 100644 --- a/data/maps/objects/Museum1F.asm +++ b/data/maps/objects/Museum1F.asm @@ -2,11 +2,11 @@ Museum1F_Object: db $a ; border block def_warp_events - warp_event 10, 7, LAST_MAP, 0 - warp_event 11, 7, LAST_MAP, 0 - warp_event 16, 7, LAST_MAP, 1 - warp_event 17, 7, LAST_MAP, 1 - warp_event 7, 7, MUSEUM_2F, 0 + warp_event 10, 7, LAST_MAP, 1 + warp_event 11, 7, LAST_MAP, 1 + warp_event 16, 7, LAST_MAP, 2 + warp_event 17, 7, LAST_MAP, 2 + warp_event 7, 7, MUSEUM_2F, 1 def_bg_events diff --git a/data/maps/objects/Museum2F.asm b/data/maps/objects/Museum2F.asm index fbf5cffe..061833ca 100644 --- a/data/maps/objects/Museum2F.asm +++ b/data/maps/objects/Museum2F.asm @@ -2,7 +2,7 @@ Museum2F_Object: db $a ; border block def_warp_events - warp_event 7, 7, MUSEUM_1F, 4 + warp_event 7, 7, MUSEUM_1F, 5 def_bg_events bg_event 11, 2, 6 ; Museum2FText6 diff --git a/data/maps/objects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm index 4c2c490b..0568af76 100644 --- a/data/maps/objects/NameRatersHouse.asm +++ b/data/maps/objects/NameRatersHouse.asm @@ -2,8 +2,8 @@ NameRatersHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 5 - warp_event 3, 7, LAST_MAP, 5 + warp_event 2, 7, LAST_MAP, 6 + warp_event 3, 7, LAST_MAP, 6 def_bg_events diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index 6f654f6e..7fc869ef 100644 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -2,8 +2,8 @@ OaksLab_Object: db $3 ; border block def_warp_events - warp_event 4, 11, LAST_MAP, 2 - warp_event 5, 11, LAST_MAP, 2 + warp_event 4, 11, LAST_MAP, 3 + warp_event 5, 11, LAST_MAP, 3 def_bg_events diff --git a/data/maps/objects/PalletTown.asm b/data/maps/objects/PalletTown.asm index cd760731..1343f0cd 100644 --- a/data/maps/objects/PalletTown.asm +++ b/data/maps/objects/PalletTown.asm @@ -2,9 +2,9 @@ PalletTown_Object: db $b ; border block def_warp_events - warp_event 5, 5, REDS_HOUSE_1F, 0 - warp_event 13, 5, BLUES_HOUSE, 0 - warp_event 12, 11, OAKS_LAB, 1 + warp_event 5, 5, REDS_HOUSE_1F, 1 + warp_event 13, 5, BLUES_HOUSE, 1 + warp_event 12, 11, OAKS_LAB, 2 def_bg_events bg_event 13, 13, 4 ; PalletTownText4 diff --git a/data/maps/objects/PewterCity.asm b/data/maps/objects/PewterCity.asm index fa3f794c..4a8e2323 100644 --- a/data/maps/objects/PewterCity.asm +++ b/data/maps/objects/PewterCity.asm @@ -2,13 +2,13 @@ PewterCity_Object: db $a ; border block def_warp_events - warp_event 14, 7, MUSEUM_1F, 0 - warp_event 19, 5, MUSEUM_1F, 2 - warp_event 16, 17, PEWTER_GYM, 0 - warp_event 29, 13, PEWTER_NIDORAN_HOUSE, 0 - warp_event 23, 17, PEWTER_MART, 0 - warp_event 7, 29, PEWTER_SPEECH_HOUSE, 0 - warp_event 13, 25, PEWTER_POKECENTER, 0 + warp_event 14, 7, MUSEUM_1F, 1 + warp_event 19, 5, MUSEUM_1F, 3 + warp_event 16, 17, PEWTER_GYM, 1 + warp_event 29, 13, PEWTER_NIDORAN_HOUSE, 1 + warp_event 23, 17, PEWTER_MART, 1 + warp_event 7, 29, PEWTER_SPEECH_HOUSE, 1 + warp_event 13, 25, PEWTER_POKECENTER, 1 def_bg_events bg_event 19, 29, 6 ; PewterCityText6 diff --git a/data/maps/objects/PewterGym.asm b/data/maps/objects/PewterGym.asm index 25d32486..cfaeefbf 100644 --- a/data/maps/objects/PewterGym.asm +++ b/data/maps/objects/PewterGym.asm @@ -2,8 +2,8 @@ PewterGym_Object: db $3 ; border block def_warp_events - warp_event 4, 13, LAST_MAP, 2 - warp_event 5, 13, LAST_MAP, 2 + warp_event 4, 13, LAST_MAP, 3 + warp_event 5, 13, LAST_MAP, 3 def_bg_events diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm index e34b7686..ad804c6b 100644 --- a/data/maps/objects/PewterMart.asm +++ b/data/maps/objects/PewterMart.asm @@ -2,8 +2,8 @@ PewterMart_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 4 - warp_event 4, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 5 + warp_event 4, 7, LAST_MAP, 5 def_bg_events diff --git a/data/maps/objects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm index 3b08d2df..93924d01 100644 --- a/data/maps/objects/PewterNidoranHouse.asm +++ b/data/maps/objects/PewterNidoranHouse.asm @@ -2,8 +2,8 @@ PewterNidoranHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 3 - warp_event 3, 7, LAST_MAP, 3 + warp_event 2, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 4 def_bg_events diff --git a/data/maps/objects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm index cd422f58..9d9e8e58 100644 --- a/data/maps/objects/PewterPokecenter.asm +++ b/data/maps/objects/PewterPokecenter.asm @@ -2,8 +2,8 @@ PewterPokecenter_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 6 - warp_event 4, 7, LAST_MAP, 6 + warp_event 3, 7, LAST_MAP, 7 + warp_event 4, 7, LAST_MAP, 7 def_bg_events diff --git a/data/maps/objects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm index 0cd96a67..a6896c43 100644 --- a/data/maps/objects/PewterSpeechHouse.asm +++ b/data/maps/objects/PewterSpeechHouse.asm @@ -2,8 +2,8 @@ PewterSpeechHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 5 - warp_event 3, 7, LAST_MAP, 5 + warp_event 2, 7, LAST_MAP, 6 + warp_event 3, 7, LAST_MAP, 6 def_bg_events diff --git a/data/maps/objects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm index e089f65d..c7d815f2 100644 --- a/data/maps/objects/PokemonFanClub.asm +++ b/data/maps/objects/PokemonFanClub.asm @@ -2,8 +2,8 @@ PokemonFanClub_Object: db $d ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 1 - warp_event 3, 7, LAST_MAP, 1 + warp_event 2, 7, LAST_MAP, 2 + warp_event 3, 7, LAST_MAP, 2 def_bg_events bg_event 1, 0, 7 ; FanClubText7 diff --git a/data/maps/objects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm index 69003a3f..5568f7fe 100644 --- a/data/maps/objects/PokemonMansion1F.asm +++ b/data/maps/objects/PokemonMansion1F.asm @@ -2,14 +2,14 @@ PokemonMansion1F_Object: db $2e ; border block def_warp_events - warp_event 4, 27, LAST_MAP, 0 - warp_event 5, 27, LAST_MAP, 0 - warp_event 6, 27, LAST_MAP, 0 - warp_event 7, 27, LAST_MAP, 0 - warp_event 5, 10, POKEMON_MANSION_2F, 0 - warp_event 21, 23, POKEMON_MANSION_B1F, 0 - warp_event 26, 27, LAST_MAP, 0 - warp_event 27, 27, LAST_MAP, 0 + warp_event 4, 27, LAST_MAP, 1 + warp_event 5, 27, LAST_MAP, 1 + warp_event 6, 27, LAST_MAP, 1 + warp_event 7, 27, LAST_MAP, 1 + warp_event 5, 10, POKEMON_MANSION_2F, 1 + warp_event 21, 23, POKEMON_MANSION_B1F, 1 + warp_event 26, 27, LAST_MAP, 1 + warp_event 27, 27, LAST_MAP, 1 def_bg_events diff --git a/data/maps/objects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm index eebd1336..52b65885 100644 --- a/data/maps/objects/PokemonMansion2F.asm +++ b/data/maps/objects/PokemonMansion2F.asm @@ -2,10 +2,10 @@ PokemonMansion2F_Object: db $1 ; border block def_warp_events - warp_event 5, 10, POKEMON_MANSION_1F, 4 - warp_event 7, 10, POKEMON_MANSION_3F, 0 - warp_event 25, 14, POKEMON_MANSION_3F, 2 - warp_event 6, 1, POKEMON_MANSION_3F, 1 + warp_event 5, 10, POKEMON_MANSION_1F, 5 + warp_event 7, 10, POKEMON_MANSION_3F, 1 + warp_event 25, 14, POKEMON_MANSION_3F, 3 + warp_event 6, 1, POKEMON_MANSION_3F, 2 def_bg_events diff --git a/data/maps/objects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm index bf767252..b67e13bc 100644 --- a/data/maps/objects/PokemonMansion3F.asm +++ b/data/maps/objects/PokemonMansion3F.asm @@ -2,9 +2,9 @@ PokemonMansion3F_Object: db $1 ; border block def_warp_events - warp_event 7, 10, POKEMON_MANSION_2F, 1 - warp_event 6, 1, POKEMON_MANSION_2F, 3 - warp_event 25, 14, POKEMON_MANSION_2F, 2 + warp_event 7, 10, POKEMON_MANSION_2F, 2 + warp_event 6, 1, POKEMON_MANSION_2F, 4 + warp_event 25, 14, POKEMON_MANSION_2F, 3 def_bg_events diff --git a/data/maps/objects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm index 9dfdb37d..12692e81 100644 --- a/data/maps/objects/PokemonMansionB1F.asm +++ b/data/maps/objects/PokemonMansionB1F.asm @@ -2,7 +2,7 @@ PokemonMansionB1F_Object: db $1 ; border block def_warp_events - warp_event 23, 22, POKEMON_MANSION_1F, 5 + warp_event 23, 22, POKEMON_MANSION_1F, 6 def_bg_events diff --git a/data/maps/objects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm index 558688f7..bacf7244 100644 --- a/data/maps/objects/PokemonTower1F.asm +++ b/data/maps/objects/PokemonTower1F.asm @@ -2,9 +2,9 @@ PokemonTower1F_Object: db $1 ; border block def_warp_events - warp_event 10, 17, LAST_MAP, 1 - warp_event 11, 17, LAST_MAP, 1 - warp_event 18, 9, POKEMON_TOWER_2F, 1 + warp_event 10, 17, LAST_MAP, 2 + warp_event 11, 17, LAST_MAP, 2 + warp_event 18, 9, POKEMON_TOWER_2F, 2 def_bg_events diff --git a/data/maps/objects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm index ba0e94ca..e0635b68 100644 --- a/data/maps/objects/PokemonTower2F.asm +++ b/data/maps/objects/PokemonTower2F.asm @@ -2,8 +2,8 @@ PokemonTower2F_Object: db $1 ; border block def_warp_events - warp_event 3, 9, POKEMON_TOWER_3F, 0 - warp_event 18, 9, POKEMON_TOWER_1F, 2 + warp_event 3, 9, POKEMON_TOWER_3F, 1 + warp_event 18, 9, POKEMON_TOWER_1F, 3 def_bg_events diff --git a/data/maps/objects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm index 1d983476..6b49d967 100644 --- a/data/maps/objects/PokemonTower3F.asm +++ b/data/maps/objects/PokemonTower3F.asm @@ -2,8 +2,8 @@ PokemonTower3F_Object: db $1 ; border block def_warp_events - warp_event 3, 9, POKEMON_TOWER_2F, 0 - warp_event 18, 9, POKEMON_TOWER_4F, 1 + warp_event 3, 9, POKEMON_TOWER_2F, 1 + warp_event 18, 9, POKEMON_TOWER_4F, 2 def_bg_events diff --git a/data/maps/objects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm index 6b21ce68..3bc31e70 100644 --- a/data/maps/objects/PokemonTower4F.asm +++ b/data/maps/objects/PokemonTower4F.asm @@ -2,8 +2,8 @@ PokemonTower4F_Object: db $1 ; border block def_warp_events - warp_event 3, 9, POKEMON_TOWER_5F, 0 - warp_event 18, 9, POKEMON_TOWER_3F, 1 + warp_event 3, 9, POKEMON_TOWER_5F, 1 + warp_event 18, 9, POKEMON_TOWER_3F, 2 def_bg_events diff --git a/data/maps/objects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm index 9b578abc..99bbe8f0 100644 --- a/data/maps/objects/PokemonTower5F.asm +++ b/data/maps/objects/PokemonTower5F.asm @@ -2,8 +2,8 @@ PokemonTower5F_Object: db $1 ; border block def_warp_events - warp_event 3, 9, POKEMON_TOWER_4F, 0 - warp_event 18, 9, POKEMON_TOWER_6F, 0 + warp_event 3, 9, POKEMON_TOWER_4F, 1 + warp_event 18, 9, POKEMON_TOWER_6F, 1 def_bg_events diff --git a/data/maps/objects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm index 5b64be0e..fa828b16 100644 --- a/data/maps/objects/PokemonTower6F.asm +++ b/data/maps/objects/PokemonTower6F.asm @@ -2,8 +2,8 @@ PokemonTower6F_Object: db $1 ; border block def_warp_events - warp_event 18, 9, POKEMON_TOWER_5F, 1 - warp_event 9, 16, POKEMON_TOWER_7F, 0 + warp_event 18, 9, POKEMON_TOWER_5F, 2 + warp_event 9, 16, POKEMON_TOWER_7F, 1 def_bg_events diff --git a/data/maps/objects/PokemonTower7F.asm b/data/maps/objects/PokemonTower7F.asm index 9cc632a1..328588ed 100644 --- a/data/maps/objects/PokemonTower7F.asm +++ b/data/maps/objects/PokemonTower7F.asm @@ -2,7 +2,7 @@ PokemonTower7F_Object: db $1 ; border block def_warp_events - warp_event 9, 16, POKEMON_TOWER_6F, 1 + warp_event 9, 16, POKEMON_TOWER_6F, 2 def_bg_events diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm index 287eb15a..419adc01 100644 --- a/data/maps/objects/PowerPlant.asm +++ b/data/maps/objects/PowerPlant.asm @@ -2,9 +2,9 @@ PowerPlant_Object: db $2e ; border block def_warp_events - warp_event 4, 35, LAST_MAP, 3 - warp_event 5, 35, LAST_MAP, 3 - warp_event 0, 11, LAST_MAP, 3 + warp_event 4, 35, LAST_MAP, 4 + warp_event 5, 35, LAST_MAP, 4 + warp_event 0, 11, LAST_MAP, 4 def_bg_events diff --git a/data/maps/objects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm index ef1f7c07..c8a2da55 100644 --- a/data/maps/objects/RedsHouse1F.asm +++ b/data/maps/objects/RedsHouse1F.asm @@ -2,9 +2,9 @@ RedsHouse1F_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 0 - warp_event 3, 7, LAST_MAP, 0 - warp_event 7, 1, REDS_HOUSE_2F, 0 + warp_event 2, 7, LAST_MAP, 1 + warp_event 3, 7, LAST_MAP, 1 + warp_event 7, 1, REDS_HOUSE_2F, 1 def_bg_events bg_event 3, 1, 2 ; RedsHouse1FTVText diff --git a/data/maps/objects/RedsHouse2F.asm b/data/maps/objects/RedsHouse2F.asm index 0ffb23f3..4a193d35 100644 --- a/data/maps/objects/RedsHouse2F.asm +++ b/data/maps/objects/RedsHouse2F.asm @@ -2,7 +2,7 @@ RedsHouse2F_Object: db $a ; border block def_warp_events - warp_event 7, 1, REDS_HOUSE_1F, 2 + warp_event 7, 1, REDS_HOUSE_1F, 3 def_bg_events diff --git a/data/maps/objects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm index cfe0e463..385214a4 100644 --- a/data/maps/objects/RockTunnel1F.asm +++ b/data/maps/objects/RockTunnel1F.asm @@ -2,14 +2,14 @@ RockTunnel1F_Object: db $3 ; border block def_warp_events - warp_event 15, 3, LAST_MAP, 1 - warp_event 15, 0, LAST_MAP, 1 - warp_event 15, 33, LAST_MAP, 2 - warp_event 15, 35, LAST_MAP, 2 - warp_event 37, 3, ROCK_TUNNEL_B1F, 0 - warp_event 5, 3, ROCK_TUNNEL_B1F, 1 - warp_event 17, 11, ROCK_TUNNEL_B1F, 2 - warp_event 37, 17, ROCK_TUNNEL_B1F, 3 + warp_event 15, 3, LAST_MAP, 2 + warp_event 15, 0, LAST_MAP, 2 + warp_event 15, 33, LAST_MAP, 3 + warp_event 15, 35, LAST_MAP, 3 + warp_event 37, 3, ROCK_TUNNEL_B1F, 1 + warp_event 5, 3, ROCK_TUNNEL_B1F, 2 + warp_event 17, 11, ROCK_TUNNEL_B1F, 3 + warp_event 37, 17, ROCK_TUNNEL_B1F, 4 def_bg_events bg_event 11, 29, 8 ; RockTunnel1Text8 diff --git a/data/maps/objects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm index 79030034..a34a1a25 100644 --- a/data/maps/objects/RockTunnelB1F.asm +++ b/data/maps/objects/RockTunnelB1F.asm @@ -2,10 +2,10 @@ RockTunnelB1F_Object: db $3 ; border block def_warp_events - warp_event 33, 25, ROCK_TUNNEL_1F, 4 - warp_event 27, 3, ROCK_TUNNEL_1F, 5 - warp_event 23, 11, ROCK_TUNNEL_1F, 6 - warp_event 3, 3, ROCK_TUNNEL_1F, 7 + warp_event 33, 25, ROCK_TUNNEL_1F, 5 + warp_event 27, 3, ROCK_TUNNEL_1F, 6 + warp_event 23, 11, ROCK_TUNNEL_1F, 7 + warp_event 3, 3, ROCK_TUNNEL_1F, 8 def_bg_events diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm index a1b095b6..27c22252 100644 --- a/data/maps/objects/RockTunnelPokecenter.asm +++ b/data/maps/objects/RockTunnelPokecenter.asm @@ -2,8 +2,8 @@ RockTunnelPokecenter_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 0 - warp_event 4, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 1 + warp_event 4, 7, LAST_MAP, 1 def_bg_events diff --git a/data/maps/objects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm index 99eb2dc0..25750eb0 100644 --- a/data/maps/objects/RocketHideoutB1F.asm +++ b/data/maps/objects/RocketHideoutB1F.asm @@ -2,11 +2,11 @@ RocketHideoutB1F_Object: db $2e ; border block def_warp_events - warp_event 23, 2, ROCKET_HIDEOUT_B2F, 0 - warp_event 21, 2, GAME_CORNER, 2 - warp_event 24, 19, ROCKET_HIDEOUT_ELEVATOR, 0 - warp_event 21, 24, ROCKET_HIDEOUT_B2F, 3 - warp_event 25, 19, ROCKET_HIDEOUT_ELEVATOR, 1 + warp_event 23, 2, ROCKET_HIDEOUT_B2F, 1 + warp_event 21, 2, GAME_CORNER, 3 + warp_event 24, 19, ROCKET_HIDEOUT_ELEVATOR, 1 + warp_event 21, 24, ROCKET_HIDEOUT_B2F, 4 + warp_event 25, 19, ROCKET_HIDEOUT_ELEVATOR, 2 def_bg_events diff --git a/data/maps/objects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm index 007644ae..e118fb58 100644 --- a/data/maps/objects/RocketHideoutB2F.asm +++ b/data/maps/objects/RocketHideoutB2F.asm @@ -2,11 +2,11 @@ RocketHideoutB2F_Object: db $2e ; border block def_warp_events - warp_event 27, 8, ROCKET_HIDEOUT_B1F, 0 - warp_event 21, 8, ROCKET_HIDEOUT_B3F, 0 - warp_event 24, 19, ROCKET_HIDEOUT_ELEVATOR, 0 - warp_event 21, 22, ROCKET_HIDEOUT_B1F, 3 - warp_event 25, 19, ROCKET_HIDEOUT_ELEVATOR, 1 + warp_event 27, 8, ROCKET_HIDEOUT_B1F, 1 + warp_event 21, 8, ROCKET_HIDEOUT_B3F, 1 + warp_event 24, 19, ROCKET_HIDEOUT_ELEVATOR, 1 + warp_event 21, 22, ROCKET_HIDEOUT_B1F, 4 + warp_event 25, 19, ROCKET_HIDEOUT_ELEVATOR, 2 def_bg_events diff --git a/data/maps/objects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm index 5d5f8320..b679f87c 100644 --- a/data/maps/objects/RocketHideoutB3F.asm +++ b/data/maps/objects/RocketHideoutB3F.asm @@ -2,8 +2,8 @@ RocketHideoutB3F_Object: db $2e ; border block def_warp_events - warp_event 25, 6, ROCKET_HIDEOUT_B2F, 1 - warp_event 19, 18, ROCKET_HIDEOUT_B4F, 0 + warp_event 25, 6, ROCKET_HIDEOUT_B2F, 2 + warp_event 19, 18, ROCKET_HIDEOUT_B4F, 1 def_bg_events diff --git a/data/maps/objects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm index d21a7dc4..ecae529c 100644 --- a/data/maps/objects/RocketHideoutB4F.asm +++ b/data/maps/objects/RocketHideoutB4F.asm @@ -2,9 +2,9 @@ RocketHideoutB4F_Object: db $2e ; border block def_warp_events - warp_event 19, 10, ROCKET_HIDEOUT_B3F, 1 - warp_event 24, 15, ROCKET_HIDEOUT_ELEVATOR, 0 - warp_event 25, 15, ROCKET_HIDEOUT_ELEVATOR, 1 + warp_event 19, 10, ROCKET_HIDEOUT_B3F, 2 + warp_event 24, 15, ROCKET_HIDEOUT_ELEVATOR, 1 + warp_event 25, 15, ROCKET_HIDEOUT_ELEVATOR, 2 def_bg_events diff --git a/data/maps/objects/RocketHideoutElevator.asm b/data/maps/objects/RocketHideoutElevator.asm index 25c507f1..d31ec51b 100644 --- a/data/maps/objects/RocketHideoutElevator.asm +++ b/data/maps/objects/RocketHideoutElevator.asm @@ -2,8 +2,8 @@ RocketHideoutElevator_Object: db $f ; border block def_warp_events - warp_event 2, 1, ROCKET_HIDEOUT_B1F, 2 - warp_event 3, 1, ROCKET_HIDEOUT_B1F, 4 + warp_event 2, 1, ROCKET_HIDEOUT_B1F, 3 + warp_event 3, 1, ROCKET_HIDEOUT_B1F, 5 def_bg_events bg_event 1, 1, 1 ; RocketHideoutElevatorText1 diff --git a/data/maps/objects/Route10.asm b/data/maps/objects/Route10.asm index ebf9361e..01eae9cf 100644 --- a/data/maps/objects/Route10.asm +++ b/data/maps/objects/Route10.asm @@ -2,10 +2,10 @@ Route10_Object: db $2c ; border block def_warp_events - warp_event 11, 19, ROCK_TUNNEL_POKECENTER, 0 - warp_event 8, 17, ROCK_TUNNEL_1F, 0 - warp_event 8, 53, ROCK_TUNNEL_1F, 2 - warp_event 6, 39, POWER_PLANT, 0 + warp_event 11, 19, ROCK_TUNNEL_POKECENTER, 1 + warp_event 8, 17, ROCK_TUNNEL_1F, 1 + warp_event 8, 53, ROCK_TUNNEL_1F, 3 + warp_event 6, 39, POWER_PLANT, 1 def_bg_events bg_event 7, 19, 7 ; Route10Text7 diff --git a/data/maps/objects/Route11.asm b/data/maps/objects/Route11.asm index 6ee584ef..6238a067 100644 --- a/data/maps/objects/Route11.asm +++ b/data/maps/objects/Route11.asm @@ -2,11 +2,11 @@ Route11_Object: db $f ; border block def_warp_events - warp_event 49, 8, ROUTE_11_GATE_1F, 0 - warp_event 49, 9, ROUTE_11_GATE_1F, 1 - warp_event 58, 8, ROUTE_11_GATE_1F, 2 - warp_event 58, 9, ROUTE_11_GATE_1F, 3 - warp_event 4, 5, DIGLETTS_CAVE_ROUTE_11, 0 + warp_event 49, 8, ROUTE_11_GATE_1F, 1 + warp_event 49, 9, ROUTE_11_GATE_1F, 2 + warp_event 58, 8, ROUTE_11_GATE_1F, 3 + warp_event 58, 9, ROUTE_11_GATE_1F, 4 + warp_event 4, 5, DIGLETTS_CAVE_ROUTE_11, 1 def_bg_events bg_event 1, 5, 11 ; Route11Text11 diff --git a/data/maps/objects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm index 9032ae11..ea40cc90 100644 --- a/data/maps/objects/Route11Gate1F.asm +++ b/data/maps/objects/Route11Gate1F.asm @@ -2,11 +2,11 @@ Route11Gate1F_Object: db $a ; border block def_warp_events - warp_event 0, 4, LAST_MAP, 0 - warp_event 0, 5, LAST_MAP, 1 - warp_event 7, 4, LAST_MAP, 2 - warp_event 7, 5, LAST_MAP, 3 - warp_event 6, 8, ROUTE_11_GATE_2F, 0 + warp_event 0, 4, LAST_MAP, 1 + warp_event 0, 5, LAST_MAP, 2 + warp_event 7, 4, LAST_MAP, 3 + warp_event 7, 5, LAST_MAP, 4 + warp_event 6, 8, ROUTE_11_GATE_2F, 1 def_bg_events diff --git a/data/maps/objects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm index 0843482c..ad257fbb 100644 --- a/data/maps/objects/Route11Gate2F.asm +++ b/data/maps/objects/Route11Gate2F.asm @@ -2,7 +2,7 @@ Route11Gate2F_Object: db $a ; border block def_warp_events - warp_event 7, 7, ROUTE_11_GATE_1F, 4 + warp_event 7, 7, ROUTE_11_GATE_1F, 5 def_bg_events bg_event 1, 2, 3 ; Route11GateUpstairsText3 diff --git a/data/maps/objects/Route12.asm b/data/maps/objects/Route12.asm index 8e2995f0..e7fc92f1 100644 --- a/data/maps/objects/Route12.asm +++ b/data/maps/objects/Route12.asm @@ -2,10 +2,10 @@ Route12_Object: db $43 ; border block def_warp_events - warp_event 10, 15, ROUTE_12_GATE_1F, 0 - warp_event 11, 15, ROUTE_12_GATE_1F, 1 - warp_event 10, 21, ROUTE_12_GATE_1F, 2 - warp_event 11, 77, ROUTE_12_SUPER_ROD_HOUSE, 0 + warp_event 10, 15, ROUTE_12_GATE_1F, 1 + warp_event 11, 15, ROUTE_12_GATE_1F, 2 + warp_event 10, 21, ROUTE_12_GATE_1F, 3 + warp_event 11, 77, ROUTE_12_SUPER_ROD_HOUSE, 1 def_bg_events bg_event 13, 13, 11 ; Route12Text11 diff --git a/data/maps/objects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm index b2e3c6aa..67cd4a25 100644 --- a/data/maps/objects/Route12Gate1F.asm +++ b/data/maps/objects/Route12Gate1F.asm @@ -2,11 +2,11 @@ Route12Gate1F_Object: db $a ; border block def_warp_events - warp_event 4, 0, LAST_MAP, 0 - warp_event 5, 0, LAST_MAP, 1 - warp_event 4, 7, LAST_MAP, 2 - warp_event 5, 7, LAST_MAP, 2 - warp_event 8, 6, ROUTE_12_GATE_2F, 0 + warp_event 4, 0, LAST_MAP, 1 + warp_event 5, 0, LAST_MAP, 2 + warp_event 4, 7, LAST_MAP, 3 + warp_event 5, 7, LAST_MAP, 3 + warp_event 8, 6, ROUTE_12_GATE_2F, 1 def_bg_events diff --git a/data/maps/objects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm index bd52d026..13501b5c 100644 --- a/data/maps/objects/Route12Gate2F.asm +++ b/data/maps/objects/Route12Gate2F.asm @@ -2,7 +2,7 @@ Route12Gate2F_Object: db $a ; border block def_warp_events - warp_event 7, 7, ROUTE_12_GATE_1F, 4 + warp_event 7, 7, ROUTE_12_GATE_1F, 5 def_bg_events bg_event 1, 2, 2 ; Route12GateUpstairsText2 diff --git a/data/maps/objects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm index 806bfa55..14b7747a 100644 --- a/data/maps/objects/Route12SuperRodHouse.asm +++ b/data/maps/objects/Route12SuperRodHouse.asm @@ -2,8 +2,8 @@ Route12SuperRodHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 3 - warp_event 3, 7, LAST_MAP, 3 + warp_event 2, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 4 def_bg_events diff --git a/data/maps/objects/Route15.asm b/data/maps/objects/Route15.asm index 895cef47..93a74966 100644 --- a/data/maps/objects/Route15.asm +++ b/data/maps/objects/Route15.asm @@ -2,10 +2,10 @@ Route15_Object: db $43 ; border block def_warp_events - warp_event 7, 8, ROUTE_15_GATE_1F, 0 - warp_event 7, 9, ROUTE_15_GATE_1F, 1 - warp_event 14, 8, ROUTE_15_GATE_1F, 2 - warp_event 14, 9, ROUTE_15_GATE_1F, 3 + warp_event 7, 8, ROUTE_15_GATE_1F, 1 + warp_event 7, 9, ROUTE_15_GATE_1F, 2 + warp_event 14, 8, ROUTE_15_GATE_1F, 3 + warp_event 14, 9, ROUTE_15_GATE_1F, 4 def_bg_events bg_event 39, 9, 12 ; Route15Text12 diff --git a/data/maps/objects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm index 7c93ff33..3bc02f2f 100644 --- a/data/maps/objects/Route15Gate1F.asm +++ b/data/maps/objects/Route15Gate1F.asm @@ -2,11 +2,11 @@ Route15Gate1F_Object: db $a ; border block def_warp_events - warp_event 0, 4, LAST_MAP, 0 - warp_event 0, 5, LAST_MAP, 1 - warp_event 7, 4, LAST_MAP, 2 - warp_event 7, 5, LAST_MAP, 3 - warp_event 6, 8, ROUTE_15_GATE_2F, 0 + warp_event 0, 4, LAST_MAP, 1 + warp_event 0, 5, LAST_MAP, 2 + warp_event 7, 4, LAST_MAP, 3 + warp_event 7, 5, LAST_MAP, 4 + warp_event 6, 8, ROUTE_15_GATE_2F, 1 def_bg_events diff --git a/data/maps/objects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm index 23134028..39b5c64a 100644 --- a/data/maps/objects/Route15Gate2F.asm +++ b/data/maps/objects/Route15Gate2F.asm @@ -2,7 +2,7 @@ Route15Gate2F_Object: db $a ; border block def_warp_events - warp_event 7, 7, ROUTE_15_GATE_1F, 4 + warp_event 7, 7, ROUTE_15_GATE_1F, 5 def_bg_events bg_event 6, 2, 2 ; Route15GateUpstairsText2 diff --git a/data/maps/objects/Route16.asm b/data/maps/objects/Route16.asm index a029873a..b1e62651 100644 --- a/data/maps/objects/Route16.asm +++ b/data/maps/objects/Route16.asm @@ -2,15 +2,15 @@ Route16_Object: db $f ; border block def_warp_events - warp_event 17, 10, ROUTE_16_GATE_1F, 0 - warp_event 17, 11, ROUTE_16_GATE_1F, 1 - warp_event 24, 10, ROUTE_16_GATE_1F, 2 - warp_event 24, 11, ROUTE_16_GATE_1F, 3 - warp_event 17, 4, ROUTE_16_GATE_1F, 4 - warp_event 17, 5, ROUTE_16_GATE_1F, 5 - warp_event 24, 4, ROUTE_16_GATE_1F, 6 - warp_event 24, 5, ROUTE_16_GATE_1F, 7 - warp_event 7, 5, ROUTE_16_FLY_HOUSE, 0 + warp_event 17, 10, ROUTE_16_GATE_1F, 1 + warp_event 17, 11, ROUTE_16_GATE_1F, 2 + warp_event 24, 10, ROUTE_16_GATE_1F, 3 + warp_event 24, 11, ROUTE_16_GATE_1F, 4 + warp_event 17, 4, ROUTE_16_GATE_1F, 5 + warp_event 17, 5, ROUTE_16_GATE_1F, 6 + warp_event 24, 4, ROUTE_16_GATE_1F, 7 + warp_event 24, 5, ROUTE_16_GATE_1F, 8 + warp_event 7, 5, ROUTE_16_FLY_HOUSE, 1 def_bg_events bg_event 27, 11, 8 ; Route16Text8 diff --git a/data/maps/objects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm index 3e1f8ec9..dc767dbf 100644 --- a/data/maps/objects/Route16FlyHouse.asm +++ b/data/maps/objects/Route16FlyHouse.asm @@ -2,8 +2,8 @@ Route16FlyHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 8 - warp_event 3, 7, LAST_MAP, 8 + warp_event 2, 7, LAST_MAP, 9 + warp_event 3, 7, LAST_MAP, 9 def_bg_events diff --git a/data/maps/objects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm index 476729e3..7aeeb619 100644 --- a/data/maps/objects/Route16Gate1F.asm +++ b/data/maps/objects/Route16Gate1F.asm @@ -2,15 +2,15 @@ Route16Gate1F_Object: db $a ; border block def_warp_events - warp_event 0, 8, LAST_MAP, 0 - warp_event 0, 9, LAST_MAP, 1 - warp_event 7, 8, LAST_MAP, 2 - warp_event 7, 9, LAST_MAP, 2 - warp_event 0, 2, LAST_MAP, 4 - warp_event 0, 3, LAST_MAP, 5 - warp_event 7, 2, LAST_MAP, 6 - warp_event 7, 3, LAST_MAP, 7 - warp_event 6, 12, ROUTE_16_GATE_2F, 0 + warp_event 0, 8, LAST_MAP, 1 + warp_event 0, 9, LAST_MAP, 2 + warp_event 7, 8, LAST_MAP, 3 + warp_event 7, 9, LAST_MAP, 3 + warp_event 0, 2, LAST_MAP, 5 + warp_event 0, 3, LAST_MAP, 6 + warp_event 7, 2, LAST_MAP, 7 + warp_event 7, 3, LAST_MAP, 8 + warp_event 6, 12, ROUTE_16_GATE_2F, 1 def_bg_events diff --git a/data/maps/objects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm index 185e5a13..f687fab0 100644 --- a/data/maps/objects/Route16Gate2F.asm +++ b/data/maps/objects/Route16Gate2F.asm @@ -2,7 +2,7 @@ Route16Gate2F_Object: db $a ; border block def_warp_events - warp_event 7, 7, ROUTE_16_GATE_1F, 8 + warp_event 7, 7, ROUTE_16_GATE_1F, 9 def_bg_events bg_event 1, 2, 3 ; Route16GateUpstairsText3 diff --git a/data/maps/objects/Route18.asm b/data/maps/objects/Route18.asm index c95e3cf9..102aa4c5 100644 --- a/data/maps/objects/Route18.asm +++ b/data/maps/objects/Route18.asm @@ -2,10 +2,10 @@ Route18_Object: db $43 ; border block def_warp_events - warp_event 33, 8, ROUTE_18_GATE_1F, 0 - warp_event 33, 9, ROUTE_18_GATE_1F, 1 - warp_event 40, 8, ROUTE_18_GATE_1F, 2 - warp_event 40, 9, ROUTE_18_GATE_1F, 3 + warp_event 33, 8, ROUTE_18_GATE_1F, 1 + warp_event 33, 9, ROUTE_18_GATE_1F, 2 + warp_event 40, 8, ROUTE_18_GATE_1F, 3 + warp_event 40, 9, ROUTE_18_GATE_1F, 4 def_bg_events bg_event 43, 7, 4 ; Route18Text4 diff --git a/data/maps/objects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm index 2dcec54b..cc994a36 100644 --- a/data/maps/objects/Route18Gate1F.asm +++ b/data/maps/objects/Route18Gate1F.asm @@ -2,11 +2,11 @@ Route18Gate1F_Object: db $a ; border block def_warp_events - warp_event 0, 4, LAST_MAP, 0 - warp_event 0, 5, LAST_MAP, 1 - warp_event 7, 4, LAST_MAP, 2 - warp_event 7, 5, LAST_MAP, 3 - warp_event 6, 8, ROUTE_18_GATE_2F, 0 + warp_event 0, 4, LAST_MAP, 1 + warp_event 0, 5, LAST_MAP, 2 + warp_event 7, 4, LAST_MAP, 3 + warp_event 7, 5, LAST_MAP, 4 + warp_event 6, 8, ROUTE_18_GATE_2F, 1 def_bg_events diff --git a/data/maps/objects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm index afa1b383..5a05f82b 100644 --- a/data/maps/objects/Route18Gate2F.asm +++ b/data/maps/objects/Route18Gate2F.asm @@ -2,7 +2,7 @@ Route18Gate2F_Object: db $a ; border block def_warp_events - warp_event 7, 7, ROUTE_18_GATE_1F, 4 + warp_event 7, 7, ROUTE_18_GATE_1F, 5 def_bg_events bg_event 1, 2, 2 ; Route18GateUpstairsText2 diff --git a/data/maps/objects/Route2.asm b/data/maps/objects/Route2.asm index e38df5a1..6ff5c0c7 100644 --- a/data/maps/objects/Route2.asm +++ b/data/maps/objects/Route2.asm @@ -2,12 +2,12 @@ Route2_Object: db $f ; border block def_warp_events - warp_event 12, 9, DIGLETTS_CAVE_ROUTE_2, 0 - warp_event 3, 11, VIRIDIAN_FOREST_NORTH_GATE, 1 - warp_event 15, 19, ROUTE_2_TRADE_HOUSE, 0 - warp_event 16, 35, ROUTE_2_GATE, 1 - warp_event 15, 39, ROUTE_2_GATE, 2 - warp_event 3, 43, VIRIDIAN_FOREST_SOUTH_GATE, 2 + warp_event 12, 9, DIGLETTS_CAVE_ROUTE_2, 1 + warp_event 3, 11, VIRIDIAN_FOREST_NORTH_GATE, 2 + warp_event 15, 19, ROUTE_2_TRADE_HOUSE, 1 + warp_event 16, 35, ROUTE_2_GATE, 2 + warp_event 15, 39, ROUTE_2_GATE, 3 + warp_event 3, 43, VIRIDIAN_FOREST_SOUTH_GATE, 3 def_bg_events bg_event 5, 65, 3 ; Route2Text3 diff --git a/data/maps/objects/Route20.asm b/data/maps/objects/Route20.asm index c00d2284..bd9697c2 100644 --- a/data/maps/objects/Route20.asm +++ b/data/maps/objects/Route20.asm @@ -2,8 +2,8 @@ Route20_Object: db $43 ; border block def_warp_events - warp_event 48, 5, SEAFOAM_ISLANDS_1F, 0 - warp_event 58, 9, SEAFOAM_ISLANDS_1F, 2 + warp_event 48, 5, SEAFOAM_ISLANDS_1F, 1 + warp_event 58, 9, SEAFOAM_ISLANDS_1F, 3 def_bg_events bg_event 51, 7, 11 ; Route20Text11 diff --git a/data/maps/objects/Route22.asm b/data/maps/objects/Route22.asm index 5fcc989f..096d490c 100644 --- a/data/maps/objects/Route22.asm +++ b/data/maps/objects/Route22.asm @@ -2,7 +2,7 @@ Route22_Object: db $2c ; border block def_warp_events - warp_event 8, 5, ROUTE_22_GATE, 0 + warp_event 8, 5, ROUTE_22_GATE, 1 def_bg_events bg_event 7, 11, 3 ; Route22FrontGateText diff --git a/data/maps/objects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm index 94aafc51..086616ca 100644 --- a/data/maps/objects/Route22Gate.asm +++ b/data/maps/objects/Route22Gate.asm @@ -2,10 +2,10 @@ Route22Gate_Object: db $a ; border block def_warp_events - warp_event 4, 7, LAST_MAP, 0 - warp_event 5, 7, LAST_MAP, 0 - warp_event 4, 0, LAST_MAP, 0 - warp_event 5, 0, LAST_MAP, 1 + warp_event 4, 7, LAST_MAP, 1 + warp_event 5, 7, LAST_MAP, 1 + warp_event 4, 0, LAST_MAP, 1 + warp_event 5, 0, LAST_MAP, 2 def_bg_events diff --git a/data/maps/objects/Route23.asm b/data/maps/objects/Route23.asm index 6cd97faa..4a9f65f6 100644 --- a/data/maps/objects/Route23.asm +++ b/data/maps/objects/Route23.asm @@ -2,10 +2,10 @@ Route23_Object: db $f ; border block def_warp_events - warp_event 7, 139, ROUTE_22_GATE, 2 - warp_event 8, 139, ROUTE_22_GATE, 3 - warp_event 4, 31, VICTORY_ROAD_1F, 0 - warp_event 14, 31, VICTORY_ROAD_2F, 1 + warp_event 7, 139, ROUTE_22_GATE, 3 + warp_event 8, 139, ROUTE_22_GATE, 4 + warp_event 4, 31, VICTORY_ROAD_1F, 1 + warp_event 14, 31, VICTORY_ROAD_2F, 2 def_bg_events bg_event 3, 33, 8 ; Route23Text8 diff --git a/data/maps/objects/Route25.asm b/data/maps/objects/Route25.asm index 096fd225..f0814b23 100644 --- a/data/maps/objects/Route25.asm +++ b/data/maps/objects/Route25.asm @@ -2,7 +2,7 @@ Route25_Object: db $2c ; border block def_warp_events - warp_event 45, 3, BILLS_HOUSE, 0 + warp_event 45, 3, BILLS_HOUSE, 1 def_bg_events bg_event 43, 3, 11 ; Route25Text11 diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm index a31e92b0..02205d00 100644 --- a/data/maps/objects/Route2Gate.asm +++ b/data/maps/objects/Route2Gate.asm @@ -2,10 +2,10 @@ Route2Gate_Object: db $a ; border block def_warp_events - warp_event 4, 0, LAST_MAP, 3 - warp_event 5, 0, LAST_MAP, 3 - warp_event 4, 7, LAST_MAP, 4 - warp_event 5, 7, LAST_MAP, 4 + warp_event 4, 0, LAST_MAP, 4 + warp_event 5, 0, LAST_MAP, 4 + warp_event 4, 7, LAST_MAP, 5 + warp_event 5, 7, LAST_MAP, 5 def_bg_events diff --git a/data/maps/objects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm index 863dee37..7b30b9e8 100644 --- a/data/maps/objects/Route2TradeHouse.asm +++ b/data/maps/objects/Route2TradeHouse.asm @@ -2,8 +2,8 @@ Route2TradeHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 2 - warp_event 3, 7, LAST_MAP, 2 + warp_event 2, 7, LAST_MAP, 3 + warp_event 3, 7, LAST_MAP, 3 def_bg_events diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm index 27a72b23..2917de1f 100644 --- a/data/maps/objects/Route4.asm +++ b/data/maps/objects/Route4.asm @@ -2,9 +2,9 @@ Route4_Object: db $2c ; border block def_warp_events - warp_event 11, 5, MT_MOON_POKECENTER, 0 - warp_event 18, 5, MT_MOON_1F, 0 - warp_event 24, 5, MT_MOON_B1F, 7 + warp_event 11, 5, MT_MOON_POKECENTER, 1 + warp_event 18, 5, MT_MOON_1F, 1 + warp_event 24, 5, MT_MOON_B1F, 8 def_bg_events bg_event 12, 5, 4 ; PokeCenterSignText diff --git a/data/maps/objects/Route5.asm b/data/maps/objects/Route5.asm index d0309e6e..2e91a7c6 100644 --- a/data/maps/objects/Route5.asm +++ b/data/maps/objects/Route5.asm @@ -2,11 +2,11 @@ Route5_Object: db $a ; border block def_warp_events - warp_event 10, 29, ROUTE_5_GATE, 3 - warp_event 9, 29, ROUTE_5_GATE, 2 - warp_event 10, 33, ROUTE_5_GATE, 0 - warp_event 17, 27, UNDERGROUND_PATH_ROUTE_5, 0 - warp_event 10, 21, DAYCARE, 0 + warp_event 10, 29, ROUTE_5_GATE, 4 + warp_event 9, 29, ROUTE_5_GATE, 3 + warp_event 10, 33, ROUTE_5_GATE, 1 + warp_event 17, 27, UNDERGROUND_PATH_ROUTE_5, 1 + warp_event 10, 21, DAYCARE, 1 def_bg_events bg_event 17, 29, 1 ; Route5Text1 diff --git a/data/maps/objects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm index cdcf7aa8..de4ddab2 100644 --- a/data/maps/objects/Route5Gate.asm +++ b/data/maps/objects/Route5Gate.asm @@ -2,10 +2,10 @@ Route5Gate_Object: db $a ; border block def_warp_events - warp_event 3, 5, LAST_MAP, 2 - warp_event 4, 5, LAST_MAP, 2 - warp_event 3, 0, LAST_MAP, 1 - warp_event 4, 0, LAST_MAP, 0 + warp_event 3, 5, LAST_MAP, 3 + warp_event 4, 5, LAST_MAP, 3 + warp_event 3, 0, LAST_MAP, 2 + warp_event 4, 0, LAST_MAP, 1 def_bg_events diff --git a/data/maps/objects/Route6.asm b/data/maps/objects/Route6.asm index d71c90de..33748f0f 100644 --- a/data/maps/objects/Route6.asm +++ b/data/maps/objects/Route6.asm @@ -2,10 +2,10 @@ Route6_Object: db $f ; border block def_warp_events - warp_event 9, 1, ROUTE_6_GATE, 2 - warp_event 10, 1, ROUTE_6_GATE, 2 - warp_event 10, 7, ROUTE_6_GATE, 0 - warp_event 17, 13, UNDERGROUND_PATH_ROUTE_6, 0 + warp_event 9, 1, ROUTE_6_GATE, 3 + warp_event 10, 1, ROUTE_6_GATE, 3 + warp_event 10, 7, ROUTE_6_GATE, 1 + warp_event 17, 13, UNDERGROUND_PATH_ROUTE_6, 1 def_bg_events bg_event 19, 15, 7 ; Route6Text7 diff --git a/data/maps/objects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm index 95ad9e5e..d37213c9 100644 --- a/data/maps/objects/Route6Gate.asm +++ b/data/maps/objects/Route6Gate.asm @@ -2,10 +2,10 @@ Route6Gate_Object: db $a ; border block def_warp_events - warp_event 3, 5, LAST_MAP, 2 - warp_event 4, 5, LAST_MAP, 2 - warp_event 3, 0, LAST_MAP, 1 - warp_event 4, 0, LAST_MAP, 1 + warp_event 3, 5, LAST_MAP, 3 + warp_event 4, 5, LAST_MAP, 3 + warp_event 3, 0, LAST_MAP, 2 + warp_event 4, 0, LAST_MAP, 2 def_bg_events diff --git a/data/maps/objects/Route7.asm b/data/maps/objects/Route7.asm index 6dd9d92c..ec5f2e8a 100644 --- a/data/maps/objects/Route7.asm +++ b/data/maps/objects/Route7.asm @@ -2,11 +2,11 @@ Route7_Object: db $f ; border block def_warp_events - warp_event 18, 9, ROUTE_7_GATE, 2 - warp_event 18, 10, ROUTE_7_GATE, 3 - warp_event 11, 9, ROUTE_7_GATE, 0 - warp_event 11, 10, ROUTE_7_GATE, 1 - warp_event 5, 13, UNDERGROUND_PATH_ROUTE_7, 0 + warp_event 18, 9, ROUTE_7_GATE, 3 + warp_event 18, 10, ROUTE_7_GATE, 4 + warp_event 11, 9, ROUTE_7_GATE, 1 + warp_event 11, 10, ROUTE_7_GATE, 2 + warp_event 5, 13, UNDERGROUND_PATH_ROUTE_7, 1 def_bg_events bg_event 3, 13, 1 ; Route7Text1 diff --git a/data/maps/objects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm index 90ddca07..8cc58d9b 100644 --- a/data/maps/objects/Route7Gate.asm +++ b/data/maps/objects/Route7Gate.asm @@ -2,10 +2,10 @@ Route7Gate_Object: db $a ; border block def_warp_events - warp_event 0, 3, LAST_MAP, 3 - warp_event 0, 4, LAST_MAP, 3 - warp_event 5, 3, LAST_MAP, 0 - warp_event 5, 4, LAST_MAP, 1 + warp_event 0, 3, LAST_MAP, 4 + warp_event 0, 4, LAST_MAP, 4 + warp_event 5, 3, LAST_MAP, 1 + warp_event 5, 4, LAST_MAP, 2 def_bg_events diff --git a/data/maps/objects/Route8.asm b/data/maps/objects/Route8.asm index 2ca33901..61faa47f 100644 --- a/data/maps/objects/Route8.asm +++ b/data/maps/objects/Route8.asm @@ -2,11 +2,11 @@ Route8_Object: db $2c ; border block def_warp_events - warp_event 1, 9, ROUTE_8_GATE, 0 - warp_event 1, 10, ROUTE_8_GATE, 1 - warp_event 8, 9, ROUTE_8_GATE, 2 - warp_event 8, 10, ROUTE_8_GATE, 3 - warp_event 13, 3, UNDERGROUND_PATH_ROUTE_8, 0 + warp_event 1, 9, ROUTE_8_GATE, 1 + warp_event 1, 10, ROUTE_8_GATE, 2 + warp_event 8, 9, ROUTE_8_GATE, 3 + warp_event 8, 10, ROUTE_8_GATE, 4 + warp_event 13, 3, UNDERGROUND_PATH_ROUTE_8, 1 def_bg_events bg_event 17, 3, 10 ; Route8Text10 diff --git a/data/maps/objects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm index ee09b038..47a24967 100644 --- a/data/maps/objects/Route8Gate.asm +++ b/data/maps/objects/Route8Gate.asm @@ -2,10 +2,10 @@ Route8Gate_Object: db $a ; border block def_warp_events - warp_event 0, 3, LAST_MAP, 0 - warp_event 0, 4, LAST_MAP, 1 - warp_event 5, 3, LAST_MAP, 2 - warp_event 5, 4, LAST_MAP, 3 + warp_event 0, 3, LAST_MAP, 1 + warp_event 0, 4, LAST_MAP, 2 + warp_event 5, 3, LAST_MAP, 3 + warp_event 5, 4, LAST_MAP, 4 def_bg_events diff --git a/data/maps/objects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm index 60db6da2..61184a1b 100644 --- a/data/maps/objects/SSAnne1F.asm +++ b/data/maps/objects/SSAnne1F.asm @@ -2,17 +2,17 @@ SSAnne1F_Object: db $c ; border block def_warp_events - warp_event 26, 0, VERMILION_DOCK, 1 - warp_event 27, 0, VERMILION_DOCK, 1 - warp_event 31, 8, SS_ANNE_1F_ROOMS, 0 - warp_event 23, 8, SS_ANNE_1F_ROOMS, 1 - warp_event 19, 8, SS_ANNE_1F_ROOMS, 2 - warp_event 15, 8, SS_ANNE_1F_ROOMS, 3 - warp_event 11, 8, SS_ANNE_1F_ROOMS, 4 - warp_event 7, 8, SS_ANNE_1F_ROOMS, 5 - warp_event 2, 6, SS_ANNE_2F, 6 - warp_event 37, 15, SS_ANNE_B1F, 5 - warp_event 3, 16, SS_ANNE_KITCHEN, 0 + warp_event 26, 0, VERMILION_DOCK, 2 + warp_event 27, 0, VERMILION_DOCK, 2 + warp_event 31, 8, SS_ANNE_1F_ROOMS, 1 + warp_event 23, 8, SS_ANNE_1F_ROOMS, 2 + warp_event 19, 8, SS_ANNE_1F_ROOMS, 3 + warp_event 15, 8, SS_ANNE_1F_ROOMS, 4 + warp_event 11, 8, SS_ANNE_1F_ROOMS, 5 + warp_event 7, 8, SS_ANNE_1F_ROOMS, 6 + warp_event 2, 6, SS_ANNE_2F, 7 + warp_event 37, 15, SS_ANNE_B1F, 6 + warp_event 3, 16, SS_ANNE_KITCHEN, 1 def_bg_events diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm index c5c97671..6192c31a 100644 --- a/data/maps/objects/SSAnne1FRooms.asm +++ b/data/maps/objects/SSAnne1FRooms.asm @@ -2,12 +2,12 @@ SSAnne1FRooms_Object: db $c ; border block def_warp_events - warp_event 0, 0, SS_ANNE_1F, 2 - warp_event 10, 0, SS_ANNE_1F, 3 - warp_event 20, 0, SS_ANNE_1F, 4 - warp_event 0, 10, SS_ANNE_1F, 5 - warp_event 10, 10, SS_ANNE_1F, 6 - warp_event 20, 10, SS_ANNE_1F, 7 + warp_event 0, 0, SS_ANNE_1F, 3 + warp_event 10, 0, SS_ANNE_1F, 4 + warp_event 20, 0, SS_ANNE_1F, 5 + warp_event 0, 10, SS_ANNE_1F, 6 + warp_event 10, 10, SS_ANNE_1F, 7 + warp_event 20, 10, SS_ANNE_1F, 8 def_bg_events diff --git a/data/maps/objects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm index fa3a851f..cfd93189 100644 --- a/data/maps/objects/SSAnne2F.asm +++ b/data/maps/objects/SSAnne2F.asm @@ -2,15 +2,15 @@ SSAnne2F_Object: db $c ; border block def_warp_events - warp_event 9, 11, SS_ANNE_2F_ROOMS, 0 - warp_event 13, 11, SS_ANNE_2F_ROOMS, 2 - warp_event 17, 11, SS_ANNE_2F_ROOMS, 4 - warp_event 21, 11, SS_ANNE_2F_ROOMS, 6 - warp_event 25, 11, SS_ANNE_2F_ROOMS, 8 - warp_event 29, 11, SS_ANNE_2F_ROOMS, 10 - warp_event 2, 4, SS_ANNE_1F, 8 - warp_event 2, 12, SS_ANNE_3F, 1 - warp_event 36, 4, SS_ANNE_CAPTAINS_ROOM, 0 + warp_event 9, 11, SS_ANNE_2F_ROOMS, 1 + warp_event 13, 11, SS_ANNE_2F_ROOMS, 3 + warp_event 17, 11, SS_ANNE_2F_ROOMS, 5 + warp_event 21, 11, SS_ANNE_2F_ROOMS, 7 + warp_event 25, 11, SS_ANNE_2F_ROOMS, 9 + warp_event 29, 11, SS_ANNE_2F_ROOMS, 11 + warp_event 2, 4, SS_ANNE_1F, 9 + warp_event 2, 12, SS_ANNE_3F, 2 + warp_event 36, 4, SS_ANNE_CAPTAINS_ROOM, 1 def_bg_events diff --git a/data/maps/objects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm index 187da976..1a9a1cb1 100644 --- a/data/maps/objects/SSAnne2FRooms.asm +++ b/data/maps/objects/SSAnne2FRooms.asm @@ -2,18 +2,18 @@ SSAnne2FRooms_Object: db $c ; border block def_warp_events - warp_event 2, 5, SS_ANNE_2F, 0 - warp_event 3, 5, SS_ANNE_2F, 0 - warp_event 12, 5, SS_ANNE_2F, 1 - warp_event 13, 5, SS_ANNE_2F, 1 - warp_event 22, 5, SS_ANNE_2F, 2 - warp_event 23, 5, SS_ANNE_2F, 2 - warp_event 2, 15, SS_ANNE_2F, 3 - warp_event 3, 15, SS_ANNE_2F, 3 - warp_event 12, 15, SS_ANNE_2F, 4 - warp_event 13, 15, SS_ANNE_2F, 4 - warp_event 22, 15, SS_ANNE_2F, 5 - warp_event 23, 15, SS_ANNE_2F, 5 + warp_event 2, 5, SS_ANNE_2F, 1 + warp_event 3, 5, SS_ANNE_2F, 1 + warp_event 12, 5, SS_ANNE_2F, 2 + warp_event 13, 5, SS_ANNE_2F, 2 + warp_event 22, 5, SS_ANNE_2F, 3 + warp_event 23, 5, SS_ANNE_2F, 3 + warp_event 2, 15, SS_ANNE_2F, 4 + warp_event 3, 15, SS_ANNE_2F, 4 + warp_event 12, 15, SS_ANNE_2F, 5 + warp_event 13, 15, SS_ANNE_2F, 5 + warp_event 22, 15, SS_ANNE_2F, 6 + warp_event 23, 15, SS_ANNE_2F, 6 def_bg_events diff --git a/data/maps/objects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm index 18df6b5e..09c4b5bd 100644 --- a/data/maps/objects/SSAnne3F.asm +++ b/data/maps/objects/SSAnne3F.asm @@ -2,8 +2,8 @@ SSAnne3F_Object: db $c ; border block def_warp_events - warp_event 0, 3, SS_ANNE_BOW, 0 - warp_event 19, 3, SS_ANNE_2F, 7 + warp_event 0, 3, SS_ANNE_BOW, 1 + warp_event 19, 3, SS_ANNE_2F, 8 def_bg_events diff --git a/data/maps/objects/SSAnneB1F.asm b/data/maps/objects/SSAnneB1F.asm index a63caeb9..c7559dd6 100644 --- a/data/maps/objects/SSAnneB1F.asm +++ b/data/maps/objects/SSAnneB1F.asm @@ -2,12 +2,12 @@ SSAnneB1F_Object: db $c ; border block def_warp_events - warp_event 23, 3, SS_ANNE_B1F_ROOMS, 8 - warp_event 19, 3, SS_ANNE_B1F_ROOMS, 6 - warp_event 15, 3, SS_ANNE_B1F_ROOMS, 4 - warp_event 11, 3, SS_ANNE_B1F_ROOMS, 2 - warp_event 7, 3, SS_ANNE_B1F_ROOMS, 0 - warp_event 27, 5, SS_ANNE_1F, 9 + warp_event 23, 3, SS_ANNE_B1F_ROOMS, 9 + warp_event 19, 3, SS_ANNE_B1F_ROOMS, 7 + warp_event 15, 3, SS_ANNE_B1F_ROOMS, 5 + warp_event 11, 3, SS_ANNE_B1F_ROOMS, 3 + warp_event 7, 3, SS_ANNE_B1F_ROOMS, 1 + warp_event 27, 5, SS_ANNE_1F, 10 def_bg_events diff --git a/data/maps/objects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm index a7bf0825..3c7da689 100644 --- a/data/maps/objects/SSAnneB1FRooms.asm +++ b/data/maps/objects/SSAnneB1FRooms.asm @@ -2,16 +2,16 @@ SSAnneB1FRooms_Object: db $c ; border block def_warp_events - warp_event 2, 5, SS_ANNE_B1F, 4 - warp_event 3, 5, SS_ANNE_B1F, 4 - warp_event 12, 5, SS_ANNE_B1F, 3 - warp_event 13, 5, SS_ANNE_B1F, 3 - warp_event 22, 5, SS_ANNE_B1F, 2 - warp_event 23, 5, SS_ANNE_B1F, 2 - warp_event 2, 15, SS_ANNE_B1F, 1 - warp_event 3, 15, SS_ANNE_B1F, 1 - warp_event 12, 15, SS_ANNE_B1F, 0 - warp_event 13, 15, SS_ANNE_B1F, 0 + warp_event 2, 5, SS_ANNE_B1F, 5 + warp_event 3, 5, SS_ANNE_B1F, 5 + warp_event 12, 5, SS_ANNE_B1F, 4 + warp_event 13, 5, SS_ANNE_B1F, 4 + warp_event 22, 5, SS_ANNE_B1F, 3 + warp_event 23, 5, SS_ANNE_B1F, 3 + warp_event 2, 15, SS_ANNE_B1F, 2 + warp_event 3, 15, SS_ANNE_B1F, 2 + warp_event 12, 15, SS_ANNE_B1F, 1 + warp_event 13, 15, SS_ANNE_B1F, 1 def_bg_events diff --git a/data/maps/objects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm index 9771a94f..6374f009 100644 --- a/data/maps/objects/SSAnneBow.asm +++ b/data/maps/objects/SSAnneBow.asm @@ -2,8 +2,8 @@ SSAnneBow_Object: db $23 ; border block def_warp_events - warp_event 13, 6, SS_ANNE_3F, 0 - warp_event 13, 7, SS_ANNE_3F, 0 + warp_event 13, 6, SS_ANNE_3F, 1 + warp_event 13, 7, SS_ANNE_3F, 1 def_bg_events diff --git a/data/maps/objects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm index 7e79b662..195e4183 100644 --- a/data/maps/objects/SSAnneCaptainsRoom.asm +++ b/data/maps/objects/SSAnneCaptainsRoom.asm @@ -2,7 +2,7 @@ SSAnneCaptainsRoom_Object: db $c ; border block def_warp_events - warp_event 0, 7, SS_ANNE_2F, 8 + warp_event 0, 7, SS_ANNE_2F, 9 def_bg_events bg_event 4, 1, 2 ; SSAnne7Text2 diff --git a/data/maps/objects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm index 3a8ab47b..c651679e 100644 --- a/data/maps/objects/SSAnneKitchen.asm +++ b/data/maps/objects/SSAnneKitchen.asm @@ -2,7 +2,7 @@ SSAnneKitchen_Object: db $c ; border block def_warp_events - warp_event 6, 0, SS_ANNE_1F, 10 + warp_event 6, 0, SS_ANNE_1F, 11 def_bg_events diff --git a/data/maps/objects/SafariZoneCenter.asm b/data/maps/objects/SafariZoneCenter.asm index ceaf6266..1c8efe95 100644 --- a/data/maps/objects/SafariZoneCenter.asm +++ b/data/maps/objects/SafariZoneCenter.asm @@ -2,15 +2,15 @@ SafariZoneCenter_Object: db $0 ; border block def_warp_events - warp_event 14, 25, SAFARI_ZONE_GATE, 2 - warp_event 15, 25, SAFARI_ZONE_GATE, 3 - warp_event 0, 10, SAFARI_ZONE_WEST, 4 - warp_event 0, 11, SAFARI_ZONE_WEST, 5 - warp_event 14, 0, SAFARI_ZONE_NORTH, 4 - warp_event 15, 0, SAFARI_ZONE_NORTH, 5 - warp_event 29, 10, SAFARI_ZONE_EAST, 2 - warp_event 29, 11, SAFARI_ZONE_EAST, 3 - warp_event 17, 19, SAFARI_ZONE_CENTER_REST_HOUSE, 0 + warp_event 14, 25, SAFARI_ZONE_GATE, 3 + warp_event 15, 25, SAFARI_ZONE_GATE, 4 + warp_event 0, 10, SAFARI_ZONE_WEST, 5 + warp_event 0, 11, SAFARI_ZONE_WEST, 6 + warp_event 14, 0, SAFARI_ZONE_NORTH, 5 + warp_event 15, 0, SAFARI_ZONE_NORTH, 6 + warp_event 29, 10, SAFARI_ZONE_EAST, 3 + warp_event 29, 11, SAFARI_ZONE_EAST, 4 + warp_event 17, 19, SAFARI_ZONE_CENTER_REST_HOUSE, 1 def_bg_events bg_event 18, 20, 2 ; SafariZoneCenterText2 diff --git a/data/maps/objects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm index 2d000233..ff48d19c 100644 --- a/data/maps/objects/SafariZoneCenterRestHouse.asm +++ b/data/maps/objects/SafariZoneCenterRestHouse.asm @@ -2,8 +2,8 @@ SafariZoneCenterRestHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, SAFARI_ZONE_CENTER, 8 - warp_event 3, 7, SAFARI_ZONE_CENTER, 8 + warp_event 2, 7, SAFARI_ZONE_CENTER, 9 + warp_event 3, 7, SAFARI_ZONE_CENTER, 9 def_bg_events diff --git a/data/maps/objects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm index f5759d6b..30fb4039 100644 --- a/data/maps/objects/SafariZoneEast.asm +++ b/data/maps/objects/SafariZoneEast.asm @@ -2,11 +2,11 @@ SafariZoneEast_Object: db $0 ; border block def_warp_events - warp_event 0, 4, SAFARI_ZONE_NORTH, 6 - warp_event 0, 5, SAFARI_ZONE_NORTH, 7 - warp_event 0, 22, SAFARI_ZONE_CENTER, 6 - warp_event 0, 23, SAFARI_ZONE_CENTER, 6 - warp_event 25, 9, SAFARI_ZONE_EAST_REST_HOUSE, 0 + warp_event 0, 4, SAFARI_ZONE_NORTH, 7 + warp_event 0, 5, SAFARI_ZONE_NORTH, 8 + warp_event 0, 22, SAFARI_ZONE_CENTER, 7 + warp_event 0, 23, SAFARI_ZONE_CENTER, 7 + warp_event 25, 9, SAFARI_ZONE_EAST_REST_HOUSE, 1 def_bg_events bg_event 26, 10, 5 ; SafariZoneEastText5 diff --git a/data/maps/objects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm index 915e175b..bf506605 100644 --- a/data/maps/objects/SafariZoneEastRestHouse.asm +++ b/data/maps/objects/SafariZoneEastRestHouse.asm @@ -2,8 +2,8 @@ SafariZoneEastRestHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, SAFARI_ZONE_EAST, 4 - warp_event 3, 7, SAFARI_ZONE_EAST, 4 + warp_event 2, 7, SAFARI_ZONE_EAST, 5 + warp_event 3, 7, SAFARI_ZONE_EAST, 5 def_bg_events diff --git a/data/maps/objects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm index d3c153fb..ba6f7017 100644 --- a/data/maps/objects/SafariZoneGate.asm +++ b/data/maps/objects/SafariZoneGate.asm @@ -2,10 +2,10 @@ SafariZoneGate_Object: db $a ; border block def_warp_events - warp_event 3, 5, LAST_MAP, 4 - warp_event 4, 5, LAST_MAP, 4 - warp_event 3, 0, SAFARI_ZONE_CENTER, 0 - warp_event 4, 0, SAFARI_ZONE_CENTER, 1 + warp_event 3, 5, LAST_MAP, 5 + warp_event 4, 5, LAST_MAP, 5 + warp_event 3, 0, SAFARI_ZONE_CENTER, 1 + warp_event 4, 0, SAFARI_ZONE_CENTER, 2 def_bg_events diff --git a/data/maps/objects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm index e9c50acb..97dc0d55 100644 --- a/data/maps/objects/SafariZoneNorth.asm +++ b/data/maps/objects/SafariZoneNorth.asm @@ -2,15 +2,15 @@ SafariZoneNorth_Object: db $0 ; border block def_warp_events - warp_event 2, 35, SAFARI_ZONE_WEST, 0 - warp_event 3, 35, SAFARI_ZONE_WEST, 1 - warp_event 8, 35, SAFARI_ZONE_WEST, 2 - warp_event 9, 35, SAFARI_ZONE_WEST, 3 - warp_event 20, 35, SAFARI_ZONE_CENTER, 4 - warp_event 21, 35, SAFARI_ZONE_CENTER, 5 - warp_event 39, 30, SAFARI_ZONE_EAST, 0 - warp_event 39, 31, SAFARI_ZONE_EAST, 1 - warp_event 35, 3, SAFARI_ZONE_NORTH_REST_HOUSE, 0 + warp_event 2, 35, SAFARI_ZONE_WEST, 1 + warp_event 3, 35, SAFARI_ZONE_WEST, 2 + warp_event 8, 35, SAFARI_ZONE_WEST, 3 + warp_event 9, 35, SAFARI_ZONE_WEST, 4 + warp_event 20, 35, SAFARI_ZONE_CENTER, 5 + warp_event 21, 35, SAFARI_ZONE_CENTER, 6 + warp_event 39, 30, SAFARI_ZONE_EAST, 1 + warp_event 39, 31, SAFARI_ZONE_EAST, 2 + warp_event 35, 3, SAFARI_ZONE_NORTH_REST_HOUSE, 1 def_bg_events bg_event 36, 4, 3 ; SafariZoneNorthText3 diff --git a/data/maps/objects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm index 1f5008a4..8fbacd81 100644 --- a/data/maps/objects/SafariZoneNorthRestHouse.asm +++ b/data/maps/objects/SafariZoneNorthRestHouse.asm @@ -2,8 +2,8 @@ SafariZoneNorthRestHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, SAFARI_ZONE_NORTH, 8 - warp_event 3, 7, SAFARI_ZONE_NORTH, 8 + warp_event 2, 7, SAFARI_ZONE_NORTH, 9 + warp_event 3, 7, SAFARI_ZONE_NORTH, 9 def_bg_events diff --git a/data/maps/objects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm index 2459611c..5d3a28c2 100644 --- a/data/maps/objects/SafariZoneSecretHouse.asm +++ b/data/maps/objects/SafariZoneSecretHouse.asm @@ -2,8 +2,8 @@ SafariZoneSecretHouse_Object: db $17 ; border block def_warp_events - warp_event 2, 7, SAFARI_ZONE_WEST, 6 - warp_event 3, 7, SAFARI_ZONE_WEST, 6 + warp_event 2, 7, SAFARI_ZONE_WEST, 7 + warp_event 3, 7, SAFARI_ZONE_WEST, 7 def_bg_events diff --git a/data/maps/objects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm index b75f824d..dca3d3a8 100644 --- a/data/maps/objects/SafariZoneWest.asm +++ b/data/maps/objects/SafariZoneWest.asm @@ -2,14 +2,14 @@ SafariZoneWest_Object: db $0 ; border block def_warp_events - warp_event 20, 0, SAFARI_ZONE_NORTH, 0 - warp_event 21, 0, SAFARI_ZONE_NORTH, 1 - warp_event 26, 0, SAFARI_ZONE_NORTH, 2 - warp_event 27, 0, SAFARI_ZONE_NORTH, 3 - warp_event 29, 22, SAFARI_ZONE_CENTER, 2 - warp_event 29, 23, SAFARI_ZONE_CENTER, 3 - warp_event 3, 3, SAFARI_ZONE_SECRET_HOUSE, 0 - warp_event 11, 11, SAFARI_ZONE_WEST_REST_HOUSE, 0 + warp_event 20, 0, SAFARI_ZONE_NORTH, 1 + warp_event 21, 0, SAFARI_ZONE_NORTH, 2 + warp_event 26, 0, SAFARI_ZONE_NORTH, 3 + warp_event 27, 0, SAFARI_ZONE_NORTH, 4 + warp_event 29, 22, SAFARI_ZONE_CENTER, 3 + warp_event 29, 23, SAFARI_ZONE_CENTER, 4 + warp_event 3, 3, SAFARI_ZONE_SECRET_HOUSE, 1 + warp_event 11, 11, SAFARI_ZONE_WEST_REST_HOUSE, 1 def_bg_events bg_event 12, 12, 5 ; SafariZoneWestText5 diff --git a/data/maps/objects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm index f7349815..c63886b7 100644 --- a/data/maps/objects/SafariZoneWestRestHouse.asm +++ b/data/maps/objects/SafariZoneWestRestHouse.asm @@ -2,8 +2,8 @@ SafariZoneWestRestHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, SAFARI_ZONE_WEST, 7 - warp_event 3, 7, SAFARI_ZONE_WEST, 7 + warp_event 2, 7, SAFARI_ZONE_WEST, 8 + warp_event 3, 7, SAFARI_ZONE_WEST, 8 def_bg_events diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm index 4c11417a..2fddfd5e 100644 --- a/data/maps/objects/SaffronCity.asm +++ b/data/maps/objects/SaffronCity.asm @@ -2,14 +2,14 @@ SaffronCity_Object: db $f ; border block def_warp_events - warp_event 7, 5, COPYCATS_HOUSE_1F, 0 - warp_event 26, 3, FIGHTING_DOJO, 0 - warp_event 34, 3, SAFFRON_GYM, 0 - warp_event 13, 11, SAFFRON_PIDGEY_HOUSE, 0 - warp_event 25, 11, SAFFRON_MART, 0 - warp_event 18, 21, SILPH_CO_1F, 0 - warp_event 9, 29, SAFFRON_POKECENTER, 0 - warp_event 29, 29, MR_PSYCHICS_HOUSE, 0 + warp_event 7, 5, COPYCATS_HOUSE_1F, 1 + warp_event 26, 3, FIGHTING_DOJO, 1 + warp_event 34, 3, SAFFRON_GYM, 1 + warp_event 13, 11, SAFFRON_PIDGEY_HOUSE, 1 + warp_event 25, 11, SAFFRON_MART, 1 + warp_event 18, 21, SILPH_CO_1F, 1 + warp_event 9, 29, SAFFRON_POKECENTER, 1 + warp_event 29, 29, MR_PSYCHICS_HOUSE, 1 def_bg_events bg_event 17, 5, 16 ; SaffronCityText16 diff --git a/data/maps/objects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm index a8e3da1c..7c6e83e5 100644 --- a/data/maps/objects/SaffronGym.asm +++ b/data/maps/objects/SaffronGym.asm @@ -2,38 +2,38 @@ SaffronGym_Object: db $2e ; border block def_warp_events - warp_event 8, 17, LAST_MAP, 2 - warp_event 9, 17, LAST_MAP, 2 - warp_event 1, 3, SAFFRON_GYM, 22 - warp_event 5, 3, SAFFRON_GYM, 15 - warp_event 1, 5, SAFFRON_GYM, 18 - warp_event 5, 5, SAFFRON_GYM, 8 - warp_event 1, 9, SAFFRON_GYM, 27 - warp_event 5, 9, SAFFRON_GYM, 16 - warp_event 1, 11, SAFFRON_GYM, 5 - warp_event 5, 11, SAFFRON_GYM, 13 - warp_event 1, 15, SAFFRON_GYM, 23 - warp_event 5, 15, SAFFRON_GYM, 30 - warp_event 1, 17, SAFFRON_GYM, 17 - warp_event 5, 17, SAFFRON_GYM, 9 - warp_event 9, 3, SAFFRON_GYM, 26 - warp_event 11, 3, SAFFRON_GYM, 3 - warp_event 9, 5, SAFFRON_GYM, 7 - warp_event 11, 5, SAFFRON_GYM, 12 - warp_event 11, 11, SAFFRON_GYM, 4 - warp_event 11, 15, SAFFRON_GYM, 31 - warp_event 15, 3, SAFFRON_GYM, 24 - warp_event 19, 3, SAFFRON_GYM, 28 - warp_event 15, 5, SAFFRON_GYM, 2 - warp_event 19, 5, SAFFRON_GYM, 10 - warp_event 15, 9, SAFFRON_GYM, 20 - warp_event 19, 9, SAFFRON_GYM, 29 - warp_event 15, 11, SAFFRON_GYM, 14 - warp_event 19, 11, SAFFRON_GYM, 6 - warp_event 15, 15, SAFFRON_GYM, 21 - warp_event 19, 15, SAFFRON_GYM, 25 - warp_event 15, 17, SAFFRON_GYM, 11 - warp_event 19, 17, SAFFRON_GYM, 19 + warp_event 8, 17, LAST_MAP, 3 + warp_event 9, 17, LAST_MAP, 3 + warp_event 1, 3, SAFFRON_GYM, 23 + warp_event 5, 3, SAFFRON_GYM, 16 + warp_event 1, 5, SAFFRON_GYM, 19 + warp_event 5, 5, SAFFRON_GYM, 9 + warp_event 1, 9, SAFFRON_GYM, 28 + warp_event 5, 9, SAFFRON_GYM, 17 + warp_event 1, 11, SAFFRON_GYM, 6 + warp_event 5, 11, SAFFRON_GYM, 14 + warp_event 1, 15, SAFFRON_GYM, 24 + warp_event 5, 15, SAFFRON_GYM, 31 + warp_event 1, 17, SAFFRON_GYM, 18 + warp_event 5, 17, SAFFRON_GYM, 10 + warp_event 9, 3, SAFFRON_GYM, 27 + warp_event 11, 3, SAFFRON_GYM, 4 + warp_event 9, 5, SAFFRON_GYM, 8 + warp_event 11, 5, SAFFRON_GYM, 13 + warp_event 11, 11, SAFFRON_GYM, 5 + warp_event 11, 15, SAFFRON_GYM, 32 + warp_event 15, 3, SAFFRON_GYM, 25 + warp_event 19, 3, SAFFRON_GYM, 29 + warp_event 15, 5, SAFFRON_GYM, 3 + warp_event 19, 5, SAFFRON_GYM, 11 + warp_event 15, 9, SAFFRON_GYM, 21 + warp_event 19, 9, SAFFRON_GYM, 30 + warp_event 15, 11, SAFFRON_GYM, 15 + warp_event 19, 11, SAFFRON_GYM, 7 + warp_event 15, 15, SAFFRON_GYM, 22 + warp_event 19, 15, SAFFRON_GYM, 26 + warp_event 15, 17, SAFFRON_GYM, 12 + warp_event 19, 17, SAFFRON_GYM, 20 def_bg_events diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm index 972032ac..d9dd6881 100644 --- a/data/maps/objects/SaffronMart.asm +++ b/data/maps/objects/SaffronMart.asm @@ -2,8 +2,8 @@ SaffronMart_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 4 - warp_event 4, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 5 + warp_event 4, 7, LAST_MAP, 5 def_bg_events diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm index cd37ffc1..8a5249e5 100644 --- a/data/maps/objects/SaffronPidgeyHouse.asm +++ b/data/maps/objects/SaffronPidgeyHouse.asm @@ -2,8 +2,8 @@ SaffronPidgeyHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 3 - warp_event 3, 7, LAST_MAP, 3 + warp_event 2, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 4 def_bg_events diff --git a/data/maps/objects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm index d3f6af7f..ca94086b 100644 --- a/data/maps/objects/SaffronPokecenter.asm +++ b/data/maps/objects/SaffronPokecenter.asm @@ -2,8 +2,8 @@ SaffronPokecenter_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 6 - warp_event 4, 7, LAST_MAP, 6 + warp_event 3, 7, LAST_MAP, 7 + warp_event 4, 7, LAST_MAP, 7 def_bg_events diff --git a/data/maps/objects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm index f82c397f..f5e3347b 100644 --- a/data/maps/objects/SeafoamIslands1F.asm +++ b/data/maps/objects/SeafoamIslands1F.asm @@ -2,13 +2,13 @@ SeafoamIslands1F_Object: db $7d ; border block def_warp_events - warp_event 4, 17, LAST_MAP, 0 - warp_event 5, 17, LAST_MAP, 0 - warp_event 26, 17, LAST_MAP, 1 - warp_event 27, 17, LAST_MAP, 1 - warp_event 7, 5, SEAFOAM_ISLANDS_B1F, 1 - warp_event 25, 3, SEAFOAM_ISLANDS_B1F, 6 - warp_event 23, 15, SEAFOAM_ISLANDS_B1F, 4 + warp_event 4, 17, LAST_MAP, 1 + warp_event 5, 17, LAST_MAP, 1 + warp_event 26, 17, LAST_MAP, 2 + warp_event 27, 17, LAST_MAP, 2 + warp_event 7, 5, SEAFOAM_ISLANDS_B1F, 2 + warp_event 25, 3, SEAFOAM_ISLANDS_B1F, 7 + warp_event 23, 15, SEAFOAM_ISLANDS_B1F, 5 def_bg_events diff --git a/data/maps/objects/SeafoamIslandsB1F.asm b/data/maps/objects/SeafoamIslandsB1F.asm index 6e3ed1f7..165fc440 100644 --- a/data/maps/objects/SeafoamIslandsB1F.asm +++ b/data/maps/objects/SeafoamIslandsB1F.asm @@ -2,13 +2,13 @@ SeafoamIslandsB1F_Object: db $7d ; border block def_warp_events - warp_event 4, 2, SEAFOAM_ISLANDS_B2F, 0 - warp_event 7, 5, SEAFOAM_ISLANDS_1F, 4 - warp_event 13, 7, SEAFOAM_ISLANDS_B2F, 2 - warp_event 19, 15, SEAFOAM_ISLANDS_B2F, 3 - warp_event 23, 15, SEAFOAM_ISLANDS_1F, 6 - warp_event 25, 11, SEAFOAM_ISLANDS_B2F, 5 - warp_event 25, 3, SEAFOAM_ISLANDS_1F, 5 + warp_event 4, 2, SEAFOAM_ISLANDS_B2F, 1 + warp_event 7, 5, SEAFOAM_ISLANDS_1F, 5 + warp_event 13, 7, SEAFOAM_ISLANDS_B2F, 3 + warp_event 19, 15, SEAFOAM_ISLANDS_B2F, 4 + warp_event 23, 15, SEAFOAM_ISLANDS_1F, 7 + warp_event 25, 11, SEAFOAM_ISLANDS_B2F, 6 + warp_event 25, 3, SEAFOAM_ISLANDS_1F, 6 def_bg_events diff --git a/data/maps/objects/SeafoamIslandsB2F.asm b/data/maps/objects/SeafoamIslandsB2F.asm index e0894b20..1ab5b373 100644 --- a/data/maps/objects/SeafoamIslandsB2F.asm +++ b/data/maps/objects/SeafoamIslandsB2F.asm @@ -2,13 +2,13 @@ SeafoamIslandsB2F_Object: db $7d ; border block def_warp_events - warp_event 5, 3, SEAFOAM_ISLANDS_B1F, 0 - warp_event 5, 13, SEAFOAM_ISLANDS_B3F, 0 - warp_event 13, 7, SEAFOAM_ISLANDS_B1F, 2 - warp_event 19, 15, SEAFOAM_ISLANDS_B1F, 3 - warp_event 25, 3, SEAFOAM_ISLANDS_B3F, 3 - warp_event 25, 11, SEAFOAM_ISLANDS_B1F, 5 - warp_event 25, 14, SEAFOAM_ISLANDS_B3F, 4 + warp_event 5, 3, SEAFOAM_ISLANDS_B1F, 1 + warp_event 5, 13, SEAFOAM_ISLANDS_B3F, 1 + warp_event 13, 7, SEAFOAM_ISLANDS_B1F, 3 + warp_event 19, 15, SEAFOAM_ISLANDS_B1F, 4 + warp_event 25, 3, SEAFOAM_ISLANDS_B3F, 4 + warp_event 25, 11, SEAFOAM_ISLANDS_B1F, 6 + warp_event 25, 14, SEAFOAM_ISLANDS_B3F, 5 def_bg_events diff --git a/data/maps/objects/SeafoamIslandsB3F.asm b/data/maps/objects/SeafoamIslandsB3F.asm index 0ff64bd1..4657a80a 100644 --- a/data/maps/objects/SeafoamIslandsB3F.asm +++ b/data/maps/objects/SeafoamIslandsB3F.asm @@ -2,13 +2,13 @@ SeafoamIslandsB3F_Object: db $7d ; border block def_warp_events - warp_event 5, 12, SEAFOAM_ISLANDS_B2F, 1 - warp_event 8, 6, SEAFOAM_ISLANDS_B4F, 2 - warp_event 25, 4, SEAFOAM_ISLANDS_B4F, 3 - warp_event 25, 3, SEAFOAM_ISLANDS_B2F, 4 - warp_event 25, 14, SEAFOAM_ISLANDS_B2F, 6 - warp_event 20, 17, SEAFOAM_ISLANDS_B4F, 0 - warp_event 21, 17, SEAFOAM_ISLANDS_B4F, 1 + warp_event 5, 12, SEAFOAM_ISLANDS_B2F, 2 + warp_event 8, 6, SEAFOAM_ISLANDS_B4F, 3 + warp_event 25, 4, SEAFOAM_ISLANDS_B4F, 4 + warp_event 25, 3, SEAFOAM_ISLANDS_B2F, 5 + warp_event 25, 14, SEAFOAM_ISLANDS_B2F, 7 + warp_event 20, 17, SEAFOAM_ISLANDS_B4F, 1 + warp_event 21, 17, SEAFOAM_ISLANDS_B4F, 2 def_bg_events diff --git a/data/maps/objects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm index 500f185d..c6e769e0 100644 --- a/data/maps/objects/SeafoamIslandsB4F.asm +++ b/data/maps/objects/SeafoamIslandsB4F.asm @@ -2,10 +2,10 @@ SeafoamIslandsB4F_Object: db $7d ; border block def_warp_events - warp_event 20, 17, SEAFOAM_ISLANDS_B3F, 5 - warp_event 21, 17, SEAFOAM_ISLANDS_B3F, 6 - warp_event 11, 7, SEAFOAM_ISLANDS_B3F, 1 - warp_event 25, 4, SEAFOAM_ISLANDS_B3F, 2 + warp_event 20, 17, SEAFOAM_ISLANDS_B3F, 6 + warp_event 21, 17, SEAFOAM_ISLANDS_B3F, 7 + warp_event 11, 7, SEAFOAM_ISLANDS_B3F, 2 + warp_event 25, 4, SEAFOAM_ISLANDS_B3F, 3 def_bg_events bg_event 9, 15, 4 ; SeafoamIslands5Text4 diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm index 4747cbef..20249425 100644 --- a/data/maps/objects/SilphCo10F.asm +++ b/data/maps/objects/SilphCo10F.asm @@ -2,12 +2,12 @@ SilphCo10F_Object: db $2e ; border block def_warp_events - warp_event 8, 0, SILPH_CO_9F, 0 - warp_event 10, 0, SILPH_CO_11F, 0 - warp_event 12, 0, SILPH_CO_ELEVATOR, 0 - warp_event 9, 11, SILPH_CO_4F, 3 - warp_event 13, 15, SILPH_CO_4F, 5 - warp_event 13, 7, SILPH_CO_4F, 6 + warp_event 8, 0, SILPH_CO_9F, 1 + warp_event 10, 0, SILPH_CO_11F, 1 + warp_event 12, 0, SILPH_CO_ELEVATOR, 1 + warp_event 9, 11, SILPH_CO_4F, 4 + warp_event 13, 15, SILPH_CO_4F, 6 + warp_event 13, 7, SILPH_CO_4F, 7 def_bg_events diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm index 83b726f5..9651c32b 100644 --- a/data/maps/objects/SilphCo11F.asm +++ b/data/maps/objects/SilphCo11F.asm @@ -2,10 +2,10 @@ SilphCo11F_Object: db $d ; border block def_warp_events - warp_event 9, 0, SILPH_CO_10F, 1 - warp_event 13, 0, SILPH_CO_ELEVATOR, 0 - warp_event 5, 5, LAST_MAP, 9 - warp_event 3, 2, SILPH_CO_7F, 3 + warp_event 9, 0, SILPH_CO_10F, 2 + warp_event 13, 0, SILPH_CO_ELEVATOR, 1 + warp_event 5, 5, LAST_MAP, 10 + warp_event 3, 2, SILPH_CO_7F, 4 def_bg_events diff --git a/data/maps/objects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm index f3407c54..605edd9d 100644 --- a/data/maps/objects/SilphCo1F.asm +++ b/data/maps/objects/SilphCo1F.asm @@ -2,11 +2,11 @@ SilphCo1F_Object: db $2e ; border block def_warp_events - warp_event 10, 17, LAST_MAP, 5 - warp_event 11, 17, LAST_MAP, 5 - warp_event 26, 0, SILPH_CO_2F, 0 - warp_event 20, 0, SILPH_CO_ELEVATOR, 0 - warp_event 16, 10, SILPH_CO_3F, 6 + warp_event 10, 17, LAST_MAP, 6 + warp_event 11, 17, LAST_MAP, 6 + warp_event 26, 0, SILPH_CO_2F, 1 + warp_event 20, 0, SILPH_CO_ELEVATOR, 1 + warp_event 16, 10, SILPH_CO_3F, 7 def_bg_events diff --git a/data/maps/objects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm index b777cf52..3ee8de9c 100644 --- a/data/maps/objects/SilphCo2F.asm +++ b/data/maps/objects/SilphCo2F.asm @@ -2,13 +2,13 @@ SilphCo2F_Object: db $2e ; border block def_warp_events - warp_event 24, 0, SILPH_CO_1F, 2 - warp_event 26, 0, SILPH_CO_3F, 0 - warp_event 20, 0, SILPH_CO_ELEVATOR, 0 - warp_event 3, 3, SILPH_CO_3F, 6 - warp_event 13, 3, SILPH_CO_8F, 4 - warp_event 27, 15, SILPH_CO_8F, 5 - warp_event 9, 15, SILPH_CO_6F, 4 + warp_event 24, 0, SILPH_CO_1F, 3 + warp_event 26, 0, SILPH_CO_3F, 1 + warp_event 20, 0, SILPH_CO_ELEVATOR, 1 + warp_event 3, 3, SILPH_CO_3F, 7 + warp_event 13, 3, SILPH_CO_8F, 5 + warp_event 27, 15, SILPH_CO_8F, 6 + warp_event 9, 15, SILPH_CO_6F, 5 def_bg_events diff --git a/data/maps/objects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm index 06b4c3e9..6b050aad 100644 --- a/data/maps/objects/SilphCo3F.asm +++ b/data/maps/objects/SilphCo3F.asm @@ -2,16 +2,16 @@ SilphCo3F_Object: db $2e ; border block def_warp_events - warp_event 26, 0, SILPH_CO_2F, 1 - warp_event 24, 0, SILPH_CO_4F, 0 - warp_event 20, 0, SILPH_CO_ELEVATOR, 0 - warp_event 23, 11, SILPH_CO_3F, 9 - warp_event 3, 3, SILPH_CO_5F, 5 - warp_event 3, 15, SILPH_CO_5F, 6 - warp_event 27, 3, SILPH_CO_2F, 3 - warp_event 3, 11, SILPH_CO_9F, 3 - warp_event 11, 11, SILPH_CO_7F, 4 - warp_event 27, 15, SILPH_CO_3F, 3 + warp_event 26, 0, SILPH_CO_2F, 2 + warp_event 24, 0, SILPH_CO_4F, 1 + warp_event 20, 0, SILPH_CO_ELEVATOR, 1 + warp_event 23, 11, SILPH_CO_3F, 10 + warp_event 3, 3, SILPH_CO_5F, 6 + warp_event 3, 15, SILPH_CO_5F, 7 + warp_event 27, 3, SILPH_CO_2F, 4 + warp_event 3, 11, SILPH_CO_9F, 4 + warp_event 11, 11, SILPH_CO_7F, 5 + warp_event 27, 15, SILPH_CO_3F, 4 def_bg_events diff --git a/data/maps/objects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm index 987451fc..7dbc12ca 100644 --- a/data/maps/objects/SilphCo4F.asm +++ b/data/maps/objects/SilphCo4F.asm @@ -2,13 +2,13 @@ SilphCo4F_Object: db $2e ; border block def_warp_events - warp_event 24, 0, SILPH_CO_3F, 1 - warp_event 26, 0, SILPH_CO_5F, 1 - warp_event 20, 0, SILPH_CO_ELEVATOR, 0 - warp_event 11, 7, SILPH_CO_10F, 3 - warp_event 17, 3, SILPH_CO_6F, 3 - warp_event 3, 15, SILPH_CO_10F, 4 - warp_event 17, 11, SILPH_CO_10F, 5 + warp_event 24, 0, SILPH_CO_3F, 2 + warp_event 26, 0, SILPH_CO_5F, 2 + warp_event 20, 0, SILPH_CO_ELEVATOR, 1 + warp_event 11, 7, SILPH_CO_10F, 4 + warp_event 17, 3, SILPH_CO_6F, 4 + warp_event 3, 15, SILPH_CO_10F, 5 + warp_event 17, 11, SILPH_CO_10F, 6 def_bg_events diff --git a/data/maps/objects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm index ff41bc29..7910f473 100644 --- a/data/maps/objects/SilphCo5F.asm +++ b/data/maps/objects/SilphCo5F.asm @@ -2,13 +2,13 @@ SilphCo5F_Object: db $2e ; border block def_warp_events - warp_event 24, 0, SILPH_CO_6F, 1 - warp_event 26, 0, SILPH_CO_4F, 1 - warp_event 20, 0, SILPH_CO_ELEVATOR, 0 - warp_event 27, 3, SILPH_CO_7F, 5 - warp_event 9, 15, SILPH_CO_9F, 4 - warp_event 11, 5, SILPH_CO_3F, 4 - warp_event 3, 15, SILPH_CO_3F, 5 + warp_event 24, 0, SILPH_CO_6F, 2 + warp_event 26, 0, SILPH_CO_4F, 2 + warp_event 20, 0, SILPH_CO_ELEVATOR, 1 + warp_event 27, 3, SILPH_CO_7F, 6 + warp_event 9, 15, SILPH_CO_9F, 5 + warp_event 11, 5, SILPH_CO_3F, 5 + warp_event 3, 15, SILPH_CO_3F, 6 def_bg_events diff --git a/data/maps/objects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm index e2914018..2495790d 100644 --- a/data/maps/objects/SilphCo6F.asm +++ b/data/maps/objects/SilphCo6F.asm @@ -2,11 +2,11 @@ SilphCo6F_Object: db $2e ; border block def_warp_events - warp_event 16, 0, SILPH_CO_7F, 1 - warp_event 14, 0, SILPH_CO_5F, 0 - warp_event 18, 0, SILPH_CO_ELEVATOR, 0 - warp_event 3, 3, SILPH_CO_4F, 4 - warp_event 23, 3, SILPH_CO_2F, 6 + warp_event 16, 0, SILPH_CO_7F, 2 + warp_event 14, 0, SILPH_CO_5F, 1 + warp_event 18, 0, SILPH_CO_ELEVATOR, 1 + warp_event 3, 3, SILPH_CO_4F, 5 + warp_event 23, 3, SILPH_CO_2F, 7 def_bg_events diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm index d6dfeffe..b7854e3c 100644 --- a/data/maps/objects/SilphCo7F.asm +++ b/data/maps/objects/SilphCo7F.asm @@ -2,12 +2,12 @@ SilphCo7F_Object: db $2e ; border block def_warp_events - warp_event 16, 0, SILPH_CO_8F, 1 - warp_event 22, 0, SILPH_CO_6F, 0 - warp_event 18, 0, SILPH_CO_ELEVATOR, 0 - warp_event 5, 7, SILPH_CO_11F, 3 - warp_event 5, 3, SILPH_CO_3F, 8 - warp_event 21, 15, SILPH_CO_5F, 3 + warp_event 16, 0, SILPH_CO_8F, 2 + warp_event 22, 0, SILPH_CO_6F, 1 + warp_event 18, 0, SILPH_CO_ELEVATOR, 1 + warp_event 5, 7, SILPH_CO_11F, 4 + warp_event 5, 3, SILPH_CO_3F, 9 + warp_event 21, 15, SILPH_CO_5F, 4 def_bg_events diff --git a/data/maps/objects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm index fcf6e28b..ded21400 100644 --- a/data/maps/objects/SilphCo8F.asm +++ b/data/maps/objects/SilphCo8F.asm @@ -2,13 +2,13 @@ SilphCo8F_Object: db $2e ; border block def_warp_events - warp_event 16, 0, SILPH_CO_9F, 1 - warp_event 14, 0, SILPH_CO_7F, 0 - warp_event 18, 0, SILPH_CO_ELEVATOR, 0 - warp_event 3, 11, SILPH_CO_8F, 6 - warp_event 3, 15, SILPH_CO_2F, 4 - warp_event 11, 5, SILPH_CO_2F, 5 - warp_event 11, 9, SILPH_CO_8F, 3 + warp_event 16, 0, SILPH_CO_9F, 2 + warp_event 14, 0, SILPH_CO_7F, 1 + warp_event 18, 0, SILPH_CO_ELEVATOR, 1 + warp_event 3, 11, SILPH_CO_8F, 7 + warp_event 3, 15, SILPH_CO_2F, 5 + warp_event 11, 5, SILPH_CO_2F, 6 + warp_event 11, 9, SILPH_CO_8F, 4 def_bg_events diff --git a/data/maps/objects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm index 3897162e..261df23c 100644 --- a/data/maps/objects/SilphCo9F.asm +++ b/data/maps/objects/SilphCo9F.asm @@ -2,11 +2,11 @@ SilphCo9F_Object: db $2e ; border block def_warp_events - warp_event 14, 0, SILPH_CO_10F, 0 - warp_event 16, 0, SILPH_CO_8F, 0 - warp_event 18, 0, SILPH_CO_ELEVATOR, 0 - warp_event 9, 3, SILPH_CO_3F, 7 - warp_event 17, 15, SILPH_CO_5F, 4 + warp_event 14, 0, SILPH_CO_10F, 1 + warp_event 16, 0, SILPH_CO_8F, 1 + warp_event 18, 0, SILPH_CO_ELEVATOR, 1 + warp_event 9, 3, SILPH_CO_3F, 8 + warp_event 17, 15, SILPH_CO_5F, 5 def_bg_events diff --git a/data/maps/objects/SilphCoElevator.asm b/data/maps/objects/SilphCoElevator.asm index cb5b33bf..1451fccd 100644 --- a/data/maps/objects/SilphCoElevator.asm +++ b/data/maps/objects/SilphCoElevator.asm @@ -2,8 +2,8 @@ SilphCoElevator_Object: db $f ; border block def_warp_events - warp_event 1, 3, UNUSED_MAP_ED, 0 - warp_event 2, 3, UNUSED_MAP_ED, 0 + warp_event 1, 3, UNUSED_MAP_ED, 1 + warp_event 2, 3, UNUSED_MAP_ED, 1 def_bg_events bg_event 3, 0, 1 ; SilphCoElevatorText1 diff --git a/data/maps/objects/UndergroundPathNorthSouth.asm b/data/maps/objects/UndergroundPathNorthSouth.asm index fbc1b0f9..8b5dc5b7 100644 --- a/data/maps/objects/UndergroundPathNorthSouth.asm +++ b/data/maps/objects/UndergroundPathNorthSouth.asm @@ -2,8 +2,8 @@ UndergroundPathNorthSouth_Object: db $1 ; border block def_warp_events - warp_event 5, 4, UNDERGROUND_PATH_ROUTE_5, 2 - warp_event 2, 41, UNDERGROUND_PATH_ROUTE_6, 2 + warp_event 5, 4, UNDERGROUND_PATH_ROUTE_5, 3 + warp_event 2, 41, UNDERGROUND_PATH_ROUTE_6, 3 def_bg_events diff --git a/data/maps/objects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm index 209054f7..7ffaeffc 100644 --- a/data/maps/objects/UndergroundPathRoute5.asm +++ b/data/maps/objects/UndergroundPathRoute5.asm @@ -2,9 +2,9 @@ UndergroundPathRoute5_Object: db $a ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 3 - warp_event 4, 7, LAST_MAP, 3 - warp_event 4, 4, UNDERGROUND_PATH_NORTH_SOUTH, 0 + warp_event 3, 7, LAST_MAP, 4 + warp_event 4, 7, LAST_MAP, 4 + warp_event 4, 4, UNDERGROUND_PATH_NORTH_SOUTH, 1 def_bg_events diff --git a/data/maps/objects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm index 7961e08d..cee23de3 100644 --- a/data/maps/objects/UndergroundPathRoute6.asm +++ b/data/maps/objects/UndergroundPathRoute6.asm @@ -2,9 +2,9 @@ UndergroundPathRoute6_Object: db $a ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 3 - warp_event 4, 7, LAST_MAP, 3 - warp_event 4, 4, UNDERGROUND_PATH_NORTH_SOUTH, 1 + warp_event 3, 7, LAST_MAP, 4 + warp_event 4, 7, LAST_MAP, 4 + warp_event 4, 4, UNDERGROUND_PATH_NORTH_SOUTH, 2 def_bg_events diff --git a/data/maps/objects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm index d377d507..47ae45f9 100644 --- a/data/maps/objects/UndergroundPathRoute7.asm +++ b/data/maps/objects/UndergroundPathRoute7.asm @@ -2,9 +2,9 @@ UndergroundPathRoute7_Object: db $a ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 4 - warp_event 4, 7, LAST_MAP, 4 - warp_event 4, 4, UNDERGROUND_PATH_WEST_EAST, 0 + warp_event 3, 7, LAST_MAP, 5 + warp_event 4, 7, LAST_MAP, 5 + warp_event 4, 4, UNDERGROUND_PATH_WEST_EAST, 1 def_bg_events diff --git a/data/maps/objects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm index f0841cfa..b4e7e7fd 100644 --- a/data/maps/objects/UndergroundPathRoute7Copy.asm +++ b/data/maps/objects/UndergroundPathRoute7Copy.asm @@ -2,9 +2,9 @@ UndergroundPathRoute7Copy_Object: db $a ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 5 - warp_event 4, 7, LAST_MAP, 5 - warp_event 4, 4, UNDERGROUND_PATH_WEST_EAST, 0 + warp_event 3, 7, LAST_MAP, 6 + warp_event 4, 7, LAST_MAP, 6 + warp_event 4, 4, UNDERGROUND_PATH_WEST_EAST, 1 def_bg_events diff --git a/data/maps/objects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm index 35094344..c36b1d42 100644 --- a/data/maps/objects/UndergroundPathRoute8.asm +++ b/data/maps/objects/UndergroundPathRoute8.asm @@ -2,9 +2,9 @@ UndergroundPathRoute8_Object: db $a ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 4 - warp_event 4, 7, LAST_MAP, 4 - warp_event 4, 4, UNDERGROUND_PATH_WEST_EAST, 1 + warp_event 3, 7, LAST_MAP, 5 + warp_event 4, 7, LAST_MAP, 5 + warp_event 4, 4, UNDERGROUND_PATH_WEST_EAST, 2 def_bg_events diff --git a/data/maps/objects/UndergroundPathWestEast.asm b/data/maps/objects/UndergroundPathWestEast.asm index b2e6fc01..fc2d9df9 100644 --- a/data/maps/objects/UndergroundPathWestEast.asm +++ b/data/maps/objects/UndergroundPathWestEast.asm @@ -2,8 +2,8 @@ UndergroundPathWestEast_Object: db $1 ; border block def_warp_events - warp_event 2, 5, UNDERGROUND_PATH_ROUTE_7, 2 - warp_event 47, 2, UNDERGROUND_PATH_ROUTE_8, 2 + warp_event 2, 5, UNDERGROUND_PATH_ROUTE_7, 3 + warp_event 47, 2, UNDERGROUND_PATH_ROUTE_8, 3 def_bg_events diff --git a/data/maps/objects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm index 75b53b56..ca652afc 100644 --- a/data/maps/objects/VermilionCity.asm +++ b/data/maps/objects/VermilionCity.asm @@ -2,15 +2,15 @@ VermilionCity_Object: db $43 ; border block def_warp_events - warp_event 11, 3, VERMILION_POKECENTER, 0 - warp_event 9, 13, POKEMON_FAN_CLUB, 0 - warp_event 23, 13, VERMILION_MART, 0 - warp_event 12, 19, VERMILION_GYM, 0 - warp_event 23, 19, VERMILION_PIDGEY_HOUSE, 0 - warp_event 18, 31, VERMILION_DOCK, 0 - warp_event 19, 31, VERMILION_DOCK, 0 - warp_event 15, 13, VERMILION_TRADE_HOUSE, 0 - warp_event 7, 3, VERMILION_OLD_ROD_HOUSE, 0 + warp_event 11, 3, VERMILION_POKECENTER, 1 + warp_event 9, 13, POKEMON_FAN_CLUB, 1 + warp_event 23, 13, VERMILION_MART, 1 + warp_event 12, 19, VERMILION_GYM, 1 + warp_event 23, 19, VERMILION_PIDGEY_HOUSE, 1 + warp_event 18, 31, VERMILION_DOCK, 1 + warp_event 19, 31, VERMILION_DOCK, 1 + warp_event 15, 13, VERMILION_TRADE_HOUSE, 1 + warp_event 7, 3, VERMILION_OLD_ROD_HOUSE, 1 def_bg_events bg_event 27, 3, 7 ; VermilionCityText7 diff --git a/data/maps/objects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm index 3d3ec64e..86036311 100644 --- a/data/maps/objects/VermilionDock.asm +++ b/data/maps/objects/VermilionDock.asm @@ -2,8 +2,8 @@ VermilionDock_Object: db $f ; border block def_warp_events - warp_event 14, 0, LAST_MAP, 5 - warp_event 14, 2, SS_ANNE_1F, 1 + warp_event 14, 0, LAST_MAP, 6 + warp_event 14, 2, SS_ANNE_1F, 2 def_bg_events diff --git a/data/maps/objects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm index 27e773f7..a91c66ca 100644 --- a/data/maps/objects/VermilionGym.asm +++ b/data/maps/objects/VermilionGym.asm @@ -2,8 +2,8 @@ VermilionGym_Object: db $3 ; border block def_warp_events - warp_event 4, 17, LAST_MAP, 3 - warp_event 5, 17, LAST_MAP, 3 + warp_event 4, 17, LAST_MAP, 4 + warp_event 5, 17, LAST_MAP, 4 def_bg_events diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm index 7d6075ce..19d65e3b 100644 --- a/data/maps/objects/VermilionMart.asm +++ b/data/maps/objects/VermilionMart.asm @@ -2,8 +2,8 @@ VermilionMart_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 2 - warp_event 4, 7, LAST_MAP, 2 + warp_event 3, 7, LAST_MAP, 3 + warp_event 4, 7, LAST_MAP, 3 def_bg_events diff --git a/data/maps/objects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm index e960663e..a0767f20 100644 --- a/data/maps/objects/VermilionOldRodHouse.asm +++ b/data/maps/objects/VermilionOldRodHouse.asm @@ -2,8 +2,8 @@ VermilionOldRodHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 8 - warp_event 3, 7, LAST_MAP, 8 + warp_event 2, 7, LAST_MAP, 9 + warp_event 3, 7, LAST_MAP, 9 def_bg_events diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm index 365e4afe..ce8d3f3e 100644 --- a/data/maps/objects/VermilionPidgeyHouse.asm +++ b/data/maps/objects/VermilionPidgeyHouse.asm @@ -2,8 +2,8 @@ VermilionPidgeyHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 4 - warp_event 3, 7, LAST_MAP, 4 + warp_event 2, 7, LAST_MAP, 5 + warp_event 3, 7, LAST_MAP, 5 def_bg_events diff --git a/data/maps/objects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm index e0b5a72a..f88552b4 100644 --- a/data/maps/objects/VermilionPokecenter.asm +++ b/data/maps/objects/VermilionPokecenter.asm @@ -2,8 +2,8 @@ VermilionPokecenter_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 0 - warp_event 4, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 1 + warp_event 4, 7, LAST_MAP, 1 def_bg_events diff --git a/data/maps/objects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm index 48d6d77f..299e5093 100644 --- a/data/maps/objects/VermilionTradeHouse.asm +++ b/data/maps/objects/VermilionTradeHouse.asm @@ -2,8 +2,8 @@ VermilionTradeHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 7 - warp_event 3, 7, LAST_MAP, 7 + warp_event 2, 7, LAST_MAP, 8 + warp_event 3, 7, LAST_MAP, 8 def_bg_events diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm index 7a4f0c2a..d923948a 100644 --- a/data/maps/objects/VictoryRoad1F.asm +++ b/data/maps/objects/VictoryRoad1F.asm @@ -2,9 +2,9 @@ VictoryRoad1F_Object: db $7d ; border block def_warp_events - warp_event 8, 17, LAST_MAP, 2 - warp_event 9, 17, LAST_MAP, 2 - warp_event 1, 1, VICTORY_ROAD_2F, 0 + warp_event 8, 17, LAST_MAP, 3 + warp_event 9, 17, LAST_MAP, 3 + warp_event 1, 1, VICTORY_ROAD_2F, 1 def_bg_events diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index ce225067..36357e07 100644 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -2,13 +2,13 @@ VictoryRoad2F_Object: db $7d ; border block def_warp_events - warp_event 0, 8, VICTORY_ROAD_1F, 2 - warp_event 29, 7, LAST_MAP, 3 - warp_event 29, 8, LAST_MAP, 3 - warp_event 23, 7, VICTORY_ROAD_3F, 0 - warp_event 25, 14, VICTORY_ROAD_3F, 2 - warp_event 27, 7, VICTORY_ROAD_3F, 1 - warp_event 1, 1, VICTORY_ROAD_3F, 3 + warp_event 0, 8, VICTORY_ROAD_1F, 3 + warp_event 29, 7, LAST_MAP, 4 + warp_event 29, 8, LAST_MAP, 4 + warp_event 23, 7, VICTORY_ROAD_3F, 1 + warp_event 25, 14, VICTORY_ROAD_3F, 3 + warp_event 27, 7, VICTORY_ROAD_3F, 2 + warp_event 1, 1, VICTORY_ROAD_3F, 4 def_bg_events diff --git a/data/maps/objects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm index 30fde3a2..8ee97878 100644 --- a/data/maps/objects/VictoryRoad3F.asm +++ b/data/maps/objects/VictoryRoad3F.asm @@ -2,10 +2,10 @@ VictoryRoad3F_Object: db $7d ; border block def_warp_events - warp_event 23, 7, VICTORY_ROAD_2F, 3 - warp_event 26, 8, VICTORY_ROAD_2F, 5 - warp_event 27, 15, VICTORY_ROAD_2F, 4 - warp_event 2, 0, VICTORY_ROAD_2F, 6 + warp_event 23, 7, VICTORY_ROAD_2F, 4 + warp_event 26, 8, VICTORY_ROAD_2F, 6 + warp_event 27, 15, VICTORY_ROAD_2F, 5 + warp_event 2, 0, VICTORY_ROAD_2F, 7 def_bg_events diff --git a/data/maps/objects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm index 46a68d19..56bf7390 100644 --- a/data/maps/objects/ViridianCity.asm +++ b/data/maps/objects/ViridianCity.asm @@ -2,11 +2,11 @@ ViridianCity_Object: db $f ; border block def_warp_events - warp_event 23, 25, VIRIDIAN_POKECENTER, 0 - warp_event 29, 19, VIRIDIAN_MART, 0 - warp_event 21, 15, VIRIDIAN_SCHOOL_HOUSE, 0 - warp_event 21, 9, VIRIDIAN_NICKNAME_HOUSE, 0 - warp_event 32, 7, VIRIDIAN_GYM, 0 + warp_event 23, 25, VIRIDIAN_POKECENTER, 1 + warp_event 29, 19, VIRIDIAN_MART, 1 + warp_event 21, 15, VIRIDIAN_SCHOOL_HOUSE, 1 + warp_event 21, 9, VIRIDIAN_NICKNAME_HOUSE, 1 + warp_event 32, 7, VIRIDIAN_GYM, 1 def_bg_events bg_event 17, 17, 8 ; ViridianCityText8 diff --git a/data/maps/objects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm index 5f4cb2a6..7a0a644c 100644 --- a/data/maps/objects/ViridianForest.asm +++ b/data/maps/objects/ViridianForest.asm @@ -2,12 +2,12 @@ ViridianForest_Object: db $3 ; border block def_warp_events - warp_event 1, 0, VIRIDIAN_FOREST_NORTH_GATE, 2 - warp_event 2, 0, VIRIDIAN_FOREST_NORTH_GATE, 3 - warp_event 15, 47, VIRIDIAN_FOREST_SOUTH_GATE, 1 - warp_event 16, 47, VIRIDIAN_FOREST_SOUTH_GATE, 1 - warp_event 17, 47, VIRIDIAN_FOREST_SOUTH_GATE, 1 - warp_event 18, 47, VIRIDIAN_FOREST_SOUTH_GATE, 1 + warp_event 1, 0, VIRIDIAN_FOREST_NORTH_GATE, 3 + warp_event 2, 0, VIRIDIAN_FOREST_NORTH_GATE, 4 + warp_event 15, 47, VIRIDIAN_FOREST_SOUTH_GATE, 2 + warp_event 16, 47, VIRIDIAN_FOREST_SOUTH_GATE, 2 + warp_event 17, 47, VIRIDIAN_FOREST_SOUTH_GATE, 2 + warp_event 18, 47, VIRIDIAN_FOREST_SOUTH_GATE, 2 def_bg_events bg_event 24, 40, 9 ; ViridianForestText9 diff --git a/data/maps/objects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm index 020f2f62..fcb0fc2b 100644 --- a/data/maps/objects/ViridianForestNorthGate.asm +++ b/data/maps/objects/ViridianForestNorthGate.asm @@ -2,10 +2,10 @@ ViridianForestNorthGate_Object: db $a ; border block def_warp_events - warp_event 4, 0, LAST_MAP, 1 - warp_event 5, 0, LAST_MAP, 1 - warp_event 4, 7, VIRIDIAN_FOREST, 0 - warp_event 5, 7, VIRIDIAN_FOREST, 0 + warp_event 4, 0, LAST_MAP, 2 + warp_event 5, 0, LAST_MAP, 2 + warp_event 4, 7, VIRIDIAN_FOREST, 1 + warp_event 5, 7, VIRIDIAN_FOREST, 1 def_bg_events diff --git a/data/maps/objects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm index 13517e0c..e5dad809 100644 --- a/data/maps/objects/ViridianForestSouthGate.asm +++ b/data/maps/objects/ViridianForestSouthGate.asm @@ -2,10 +2,10 @@ ViridianForestSouthGate_Object: db $a ; border block def_warp_events - warp_event 4, 0, VIRIDIAN_FOREST, 3 - warp_event 5, 0, VIRIDIAN_FOREST, 4 - warp_event 4, 7, LAST_MAP, 5 - warp_event 5, 7, LAST_MAP, 5 + warp_event 4, 0, VIRIDIAN_FOREST, 4 + warp_event 5, 0, VIRIDIAN_FOREST, 5 + warp_event 4, 7, LAST_MAP, 6 + warp_event 5, 7, LAST_MAP, 6 def_bg_events diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm index 4b9a159e..735cecf4 100644 --- a/data/maps/objects/ViridianGym.asm +++ b/data/maps/objects/ViridianGym.asm @@ -2,8 +2,8 @@ ViridianGym_Object: db $3 ; border block def_warp_events - warp_event 16, 17, LAST_MAP, 4 - warp_event 17, 17, LAST_MAP, 4 + warp_event 16, 17, LAST_MAP, 5 + warp_event 17, 17, LAST_MAP, 5 def_bg_events diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm index 8bb5d240..291dd00f 100644 --- a/data/maps/objects/ViridianMart.asm +++ b/data/maps/objects/ViridianMart.asm @@ -2,8 +2,8 @@ ViridianMart_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 1 - warp_event 4, 7, LAST_MAP, 1 + warp_event 3, 7, LAST_MAP, 2 + warp_event 4, 7, LAST_MAP, 2 def_bg_events diff --git a/data/maps/objects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm index 9ace1faf..2f3befb2 100644 --- a/data/maps/objects/ViridianNicknameHouse.asm +++ b/data/maps/objects/ViridianNicknameHouse.asm @@ -2,8 +2,8 @@ ViridianNicknameHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 3 - warp_event 3, 7, LAST_MAP, 3 + warp_event 2, 7, LAST_MAP, 4 + warp_event 3, 7, LAST_MAP, 4 def_bg_events diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm index ef3424f2..618f5798 100644 --- a/data/maps/objects/ViridianPokecenter.asm +++ b/data/maps/objects/ViridianPokecenter.asm @@ -2,8 +2,8 @@ ViridianPokecenter_Object: db $0 ; border block def_warp_events - warp_event 3, 7, LAST_MAP, 0 - warp_event 4, 7, LAST_MAP, 0 + warp_event 3, 7, LAST_MAP, 1 + warp_event 4, 7, LAST_MAP, 1 def_bg_events diff --git a/data/maps/objects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm index 53909d7a..745bf72b 100644 --- a/data/maps/objects/ViridianSchoolHouse.asm +++ b/data/maps/objects/ViridianSchoolHouse.asm @@ -2,8 +2,8 @@ ViridianSchoolHouse_Object: db $a ; border block def_warp_events - warp_event 2, 7, LAST_MAP, 2 - warp_event 3, 7, LAST_MAP, 2 + warp_event 2, 7, LAST_MAP, 3 + warp_event 3, 7, LAST_MAP, 3 def_bg_events diff --git a/data/maps/objects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm index 46e1f35b..63e461c4 100644 --- a/data/maps/objects/WardensHouse.asm +++ b/data/maps/objects/WardensHouse.asm @@ -2,8 +2,8 @@ WardensHouse_Object: db $17 ; border block def_warp_events - warp_event 4, 7, LAST_MAP, 3 - warp_event 5, 7, LAST_MAP, 3 + warp_event 4, 7, LAST_MAP, 4 + warp_event 5, 7, LAST_MAP, 4 def_bg_events bg_event 4, 3, 4 ; FuchsiaHouse2Text4 diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index 6c895f9a..12bc3c77 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -41,9 +41,9 @@ ENDM ;\1 x position ;\2 y position ;\3 destination map (-1 = wLastMap) -;\4 destination warp id +;\4 destination warp id; starts at 1 (internally at 0) warp_event: MACRO - db \2, \1, \4, \3 + db \2, \1, \4 - 1, \3 _WARP_{d:{_NUM_WARP_EVENTS}}_X = \1 _WARP_{d:{_NUM_WARP_EVENTS}}_Y = \2 {_NUM_WARP_EVENTS} = {_NUM_WARP_EVENTS} + 1 From 0af787ea6d42d6f9c16f952b46519ab94f356abb Mon Sep 17 00:00:00 2001 From: IIMarckus Date: Fri, 8 Oct 2021 04:30:39 -0600 Subject: [PATCH 050/119] Kill Freenode. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3924fdd2..bfffd4e9 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ To set up the repository, see [**INSTALL.md**](INSTALL.md). ## See also - **Discord:** [pret][discord] -- **IRC:** [freenode#pret][irc] +- **IRC:** [libera#pret][irc] Other disassembly projects: @@ -36,6 +36,6 @@ Other disassembly projects: [pokefirered]: https://github.com/pret/pokefirered [pokeemerald]: https://github.com/pret/pokeemerald [discord]: https://discord.gg/d5dubZ3 -[irc]: https://kiwiirc.com/client/irc.freenode.net/?#pret +[irc]: https://web.libera.chat/?#pret [ci]: https://github.com/pret/pokered/actions [ci-badge]: https://github.com/pret/pokered/actions/workflows/main.yml/badge.svg From 58d08bff4386815b83c9260bd831719507acfcec Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 2 Nov 2021 19:57:08 -0400 Subject: [PATCH 051/119] Identify some percentage constant values --- engine/battle/animations.asm | 4 ++-- engine/battle/core.asm | 26 +++++++++++++------------- engine/battle/effects.asm | 14 +++++++------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 75713592..a93af9e9 100644 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -653,7 +653,7 @@ INCLUDE "data/battle_anims/special_effects.asm" DoBallTossSpecialEffects: ld a, [wcf91] - cp 3 ; is it a Master Ball or Ultra Ball? + cp ULTRA_BALL + 1 ; is it a Master Ball or Ultra Ball? jr nc, .skipFlashingEffect .flashingEffect ; do a flashing effect if it's Master Ball or Ultra Ball ldh a, [rOBP0] @@ -668,7 +668,7 @@ DoBallTossSpecialEffects: call PlaySound .skipPlayingSound ld a, [wIsInBattle] - cp 02 ; is it a trainer battle? + cp 2 ; is it a trainer battle? jr z, .isTrainerBattle ld a, [wd11e] cp $10 ; is the enemy pokemon the Ghost Marowak? diff --git a/engine/battle/core.asm b/engine/battle/core.asm index d24a43d0..57303776 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -402,12 +402,12 @@ MainInBattleLoop: cp USING_INTERNAL_CLOCK jr z, .invertOutcome call BattleRandom - cp $80 + cp 50 percent + 1 jr c, .playerMovesFirst jr .enemyMovesFirst .invertOutcome call BattleRandom - cp $80 + cp 50 percent + 1 jr c, .enemyMovesFirst jr .playerMovesFirst .enemyMovesFirst @@ -1319,7 +1319,7 @@ EnemySendOutFirstMon: ld [wWhichPokemon], a jr .next3 .next - ld b, $FF + ld b, $ff .next2 inc b ld a, [wEnemyMonPartyPos] @@ -2962,19 +2962,19 @@ SelectEnemyMove: .chooseRandomMove push hl call BattleRandom - ld b, $1 - cp $3f ; select move 1, [0,3e] (63/256 chance) + ld b, 1 ; 25% chance to select move 1 + cp 25 percent jr c, .moveChosen inc hl - inc b - cp $7f ; select move 2, [3f,7e] (64/256 chance) + inc b ; 25% chance to select move 2 + cp 50 percent jr c, .moveChosen inc hl - inc b - cp $be ; select move 3, [7f,bd] (63/256 chance) + inc b ; 25% chance to select move 3 + cp 75 percent - 1 jr c, .moveChosen inc hl - inc b ; select move 4, [be,ff] (66/256 chance) + inc b ; 25% chance to select move 4 .moveChosen ld a, b dec a @@ -3398,7 +3398,7 @@ CheckPlayerStatusConditions: ld a, CONF_ANIM - 1 call PlayMoveAnimation call BattleRandom - cp $80 ; 50% chance to hurt itself + cp 50 percent + 1 ; chance to hurt itself jr c, .TriedToUseDisabledMoveCheck ld hl, wPlayerBattleStatus1 ld a, [hl] @@ -4607,7 +4607,7 @@ CriticalHitTest: dec hl ld c, [hl] ; read move id ld a, [de] - bit GETTING_PUMPED, a ; test for focus energy + bit GETTING_PUMPED, a ; test for focus energy jr nz, .focusEnergyUsed ; bug: using focus energy causes a shift to the right instead of left, ; resulting in 1/4 the usual crit chance sla b ; (effective (base speed/2)*2) @@ -5932,7 +5932,7 @@ CheckEnemyStatusConditions: bit PAR, [hl] jr z, .checkIfUsingBide call BattleRandom - cp $3f ; 25% to be fully paralysed + cp 25 percent ; chance to be fully paralysed jr nc, .checkIfUsingBide ld hl, FullyParalyzedText call PrintText diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index 91bb9ee0..c68d6731 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -98,10 +98,10 @@ PoisonEffect: jr z, .noEffect ld a, [de] cp POISON_SIDE_EFFECT1 - ld b, $34 ; ~20% chance of poisoning + ld b, 20 percent + 1 ; chance of poisoning jr z, .sideEffectTest cp POISON_SIDE_EFFECT2 - ld b, $67 ; ~40% chance of poisoning + ld b, 40 percent + 1 ; chance of poisoning jr z, .sideEffectTest push hl push de @@ -548,7 +548,7 @@ StatModifierDownEffect: cp LINK_STATE_BATTLING jr z, .statModifierDownEffect call BattleRandom - cp $40 ; 1/4 chance to miss by in regular battle + cp 25 percent + 1 ; chance to miss by in regular battle jp c, MoveMissed .statModifierDownEffect call CheckTargetSubstitute ; can't hit through substitute @@ -557,7 +557,7 @@ StatModifierDownEffect: cp ATTACK_DOWN_SIDE_EFFECT jr c, .nonSideEffect call BattleRandom - cp $55 ; 85/256 chance for side effects + cp 33 percent + 1 ; chance for side effects jp nc, CantLowerAnymore ld a, [de] sub ATTACK_DOWN_SIDE_EFFECT ; map each stat to 0-3 @@ -979,9 +979,9 @@ FlinchSideEffect: .flinchSideEffect ld a, [de] cp FLINCH_SIDE_EFFECT1 - ld b, $1a ; ~10% chance of flinch + ld b, 10 percent + 1 ; chance of flinch (FLINCH_SIDE_EFFECT1) jr z, .gotEffectChance - ld b, $4d ; ~30% chance of flinch + ld b, 30 percent + 1 ; chance of flinch otherwise .gotEffectChance call BattleRandom cp b @@ -1111,7 +1111,7 @@ RecoilEffect: ConfusionSideEffect: call BattleRandom - cp $19 ; ~10% chance + cp 10 percent ; chance of confusion ret nc jr ConfusionSideEffectSuccess From 2ee8ce26da2d8195be9440335323d7ad9f9a168d Mon Sep 17 00:00:00 2001 From: Rangi Date: Wed, 3 Nov 2021 17:07:08 -0400 Subject: [PATCH 052/119] Comment on the CooltrainerFAI bug Fixes #308 --- engine/battle/trainer_ai.asm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 0117a057..2ef60f5b 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -342,7 +342,10 @@ CooltrainerMAI: jp AIUseXAttack CooltrainerFAI: + ; The intended 25% chance to consider switching will not apply. + ; Uncomment the line below to fix this. cp 25 percent + 1 + ; ret nc ld a, 10 call AICheckIfHPBelowFraction jp c, AIUseHyperPotion From b44a10a43a1fa4a558b4c593d0a610571ecb3a50 Mon Sep 17 00:00:00 2001 From: Yoann Fievez Date: Thu, 4 Nov 2021 20:17:17 +0100 Subject: [PATCH 053/119] Update 'make compare' for no pret repo and add 'make' for fork (#339) --- .github/workflows/main.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a3fd4456..0e2472a4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,6 +29,7 @@ jobs: rm -rf rgbds - name: Compare + if: ${{ github.repository_owner == 'pret' }} run: | make DEBUG=1 -j$(nproc) compare if ! git diff-index --quiet HEAD --; then @@ -37,6 +38,16 @@ jobs: return 1 fi + - name: Make + if: ${{ github.repository_owner != 'pret' }} + run: | + make -j$(nproc) + if ! git diff-index --quiet HEAD --; then + echo 'Uncommitted changes detected:' + git diff-index HEAD -- + return 1 + fi + - name: Discord webhook if: ${{ github.event_name == 'push' && github.repository_owner == 'pret' }} env: From 8349bfd8e646002105dfd6a7f997c26cf0e0624b Mon Sep 17 00:00:00 2001 From: Yoann Fievez Date: Fri, 5 Nov 2021 20:40:15 +0100 Subject: [PATCH 054/119] Refactorize check button pressed (#340) --- engine/battle/core.asm | 6 ++--- engine/events/cinnabar_lab.asm | 2 +- .../events/hidden_objects/bills_house_pc.asm | 2 +- .../hidden_objects/school_blackboard.asm | 8 +++---- engine/events/prize_menu.asm | 2 +- engine/events/vending_machine.asm | 2 +- engine/link/cable_club.asm | 22 +++++++++---------- engine/menus/main_menu.asm | 14 ++++++------ engine/menus/pc.asm | 2 +- engine/menus/pokedex.asm | 12 +++++----- engine/menus/save.asm | 2 +- engine/menus/start_sub_menus.asm | 4 ++-- engine/menus/text_box.asm | 10 ++++----- engine/pokemon/bills_pc.asm | 6 ++--- engine/pokemon/learn_move.asm | 2 +- home/hidden_objects.asm | 2 +- home/list_menu.asm | 16 +++++++------- home/overworld.asm | 12 +++++----- home/pokemon.asm | 2 +- home/print_text.asm | 4 ++-- home/start_menu.asm | 6 ++--- home/text_script.asm | 2 +- home/window.asm | 2 +- 23 files changed, 71 insertions(+), 71 deletions(-) diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 57303776..6c0585b6 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -2087,7 +2087,7 @@ DisplayBattleMenu:: ld [hli], a ; wMaxMenuItem ld [hl], D_RIGHT | A_BUTTON ; wMenuWatchedKeys call HandleMenuInput - bit 4, a ; check if right was pressed + bit BIT_D_RIGHT, a jr nz, .rightColumn jr .AButtonPressed ; the A button was pressed .rightColumn ; put cursor in right column of menu @@ -2350,7 +2350,7 @@ PartyMenuOrRockOrRun: xor a ld [hl], a ; wLastMenuItem call HandleMenuInput - bit 1, a ; was A pressed? + bit BIT_B_BUTTON, a jr nz, .partyMonDeselected ; if B was pressed, jump ; A was pressed call PlaceUnfilledArrowMenuCursor @@ -6745,7 +6745,7 @@ DetermineWildOpponent: bit 1, a jr z, .asm_3ef2f ldh a, [hJoyHeld] - bit 1, a ; B button pressed? + bit BIT_B_BUTTON, a ret nz .asm_3ef2f ld a, [wNumberOfNoRandomBattleStepsLeft] diff --git a/engine/events/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm index 7cbb2cd5..547f782e 100644 --- a/engine/events/cinnabar_lab.asm +++ b/engine/events/cinnabar_lab.asm @@ -27,7 +27,7 @@ GiveFossilToCinnabarLab:: ld hl, wd730 res 6, [hl] call HandleMenuInput - bit 1, a ; pressed B? + bit BIT_B_BUTTON, a jr nz, .cancelledGivingFossil ld hl, wFilteredBagItems ld a, [wCurrentMenuItem] diff --git a/engine/events/hidden_objects/bills_house_pc.asm b/engine/events/hidden_objects/bills_house_pc.asm index a73596b4..6147387a 100644 --- a/engine/events/hidden_objects/bills_house_pc.asm +++ b/engine/events/hidden_objects/bills_house_pc.asm @@ -95,7 +95,7 @@ BillsHousePokemonList:: call PrintText call SaveScreenTilesToBuffer2 call HandleMenuInput - bit 1, a ; pressed b + bit BIT_B_BUTTON, a jr nz, .cancel ld a, [wCurrentMenuItem] add EEVEE diff --git a/engine/events/hidden_objects/school_blackboard.asm b/engine/events/hidden_objects/school_blackboard.asm index de4700d4..fd3c0b8f 100644 --- a/engine/events/hidden_objects/school_blackboard.asm +++ b/engine/events/hidden_objects/school_blackboard.asm @@ -36,7 +36,7 @@ LinkCableHelp:: ld hl, LinkCableHelpText2 call PrintText call HandleMenuInput - bit 1, a ; pressed b + bit BIT_B_BUTTON, a jr nz, .exit ld a, [wCurrentMenuItem] cp 3 ; pressed a on "STOP READING" @@ -122,9 +122,9 @@ ViridianSchoolBlackboard:: ld hl, ViridianSchoolBlackboardText2 call PrintText call HandleMenuInput ; pressing up and down is handled in here - bit 1, a ; pressed b + bit BIT_B_BUTTON, a ; pressed b jr nz, .exitBlackboard - bit 4, a ; pressed right + bit BIT_D_RIGHT, a jr z, .didNotPressRight ; move cursor to right column ld a, 2 @@ -137,7 +137,7 @@ ViridianSchoolBlackboard:: ld [wMenuItemOffset], a jr .blackboardLoop .didNotPressRight - bit 5, a ; pressed left + bit BIT_D_LEFT, a jr z, .didNotPressLeftOrRight ; move cursor to left column ld a, 2 diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm index d9320fe7..bc3aab9a 100644 --- a/engine/events/prize_menu.asm +++ b/engine/events/prize_menu.asm @@ -31,7 +31,7 @@ CeladonPrizeMenu:: ld hl, WhichPrizeTextPtr call PrintText call HandleMenuInput ; menu choice handler - bit 1, a ; keypress = B (Cancel) + bit BIT_B_BUTTON, a jr nz, .noChoice ld a, [wCurrentMenuItem] cp 3 ; "NO,THANKS" choice diff --git a/engine/events/vending_machine.asm b/engine/events/vending_machine.asm index a67f1c07..980a45c5 100644 --- a/engine/events/vending_machine.asm +++ b/engine/events/vending_machine.asm @@ -31,7 +31,7 @@ VendingMachineMenu:: ld hl, wd730 res 6, [hl] call HandleMenuInput - bit 1, a ; pressed B? + bit BIT_B_BUTTON, a jr nz, .notThirsty ld a, [wCurrentMenuItem] cp 3 ; chose Cancel? diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index f3bf3b5d..cabc19ab 100644 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -345,7 +345,7 @@ TradeCenter_SelectMon: res 1, [hl] and a jp z, .getNewInput - bit 0, a ; A button pressed? + bit BIT_A_BUTTON, a jr z, .enemyMonMenu_ANotPressed ; if A button pressed ld a, [wMaxMenuItem] @@ -364,7 +364,7 @@ TradeCenter_SelectMon: call TradeCenter_DisplayStats jp .getNewInput .enemyMonMenu_ANotPressed - bit 5, a ; Left pressed? + bit BIT_D_LEFT, a jr z, .enemyMonMenu_LeftNotPressed ; if Left pressed, switch back to the player mon menu xor a ; player mon menu @@ -384,7 +384,7 @@ TradeCenter_SelectMon: ld [wCurrentMenuItem], a jr .playerMonMenu .enemyMonMenu_LeftNotPressed - bit 7, a ; Down pressed? + bit BIT_D_DOWN, a jp z, .getNewInput jp .selectedCancelMenuItem ; jump if Down pressed .playerMonMenu @@ -412,7 +412,7 @@ TradeCenter_SelectMon: jr nz, .playerMonMenu_SomethingPressed jp .getNewInput .playerMonMenu_SomethingPressed - bit 0, a ; A button pressed? + bit BIT_A_BUTTON, a jr z, .playerMonMenu_ANotPressed jp .chosePlayerMon ; jump if A button pressed ; unreachable code @@ -422,7 +422,7 @@ TradeCenter_SelectMon: call TradeCenter_DisplayStats jp .getNewInput .playerMonMenu_ANotPressed - bit 4, a ; Right pressed? + bit BIT_D_RIGHT, a jr z, .playerMonMenu_RightNotPressed ; if Right pressed, switch to the enemy mon menu ld a, $1 ; enemy mon menu @@ -444,7 +444,7 @@ TradeCenter_SelectMon: .notPastLastEnemyMon jp .enemyMonMenu .playerMonMenu_RightNotPressed - bit 7, a ; Down pressed? + bit BIT_D_DOWN, a jr z, .getNewInput jp .selectedCancelMenuItem ; jump if Down pressed .getNewInput @@ -488,7 +488,7 @@ TradeCenter_SelectMon: call HandleMenuInput bit 4, a ; Right pressed? jr nz, .selectTradeMenuItem - bit 1, a ; B button pressed? + bit BIT_B_BUTTON, a jr z, .displayPlayerMonStats .cancelPlayerMonChoice pop af @@ -503,9 +503,9 @@ TradeCenter_SelectMon: ld a, 11 ld [wTopMenuItemX], a call HandleMenuInput - bit 5, a ; Left pressed? + bit BIT_D_LEFT, a jr nz, .selectStatsMenuItem - bit 1, a ; B button pressed? + bit BIT_B_BUTTON, a jr nz, .cancelPlayerMonChoice jr .choseTrade .displayPlayerMonStats @@ -554,9 +554,9 @@ TradeCenter_SelectMon: ldh a, [hJoy5] and a ; pressed anything? jr z, .cancelMenuItem_JoypadLoop - bit 0, a ; A button pressed? + bit BIT_A_BUTTON, a jr nz, .cancelMenuItem_APressed - bit 6, a ; Up pressed? + bit BIT_D_UP, a jr z, .cancelMenuItem_JoypadLoop ; if Up pressed ld a, " " diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 95404cce..c3366b8e 100644 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -66,7 +66,7 @@ MainMenu: ld a, [wSaveFileStatus] ld [wMaxMenuItem], a call HandleMenuInput - bit 1, a ; pressed B? + bit BIT_B_BUTTON, a jp nz, DisplayTitleScreen ; if so, go back to the title screen ld c, 20 call DelayFrames @@ -477,11 +477,11 @@ DisplayOptionMenu: ld b, a and A_BUTTON | B_BUTTON | START | D_RIGHT | D_LEFT | D_UP | D_DOWN ; any key besides select pressed? jr z, .getJoypadStateLoop - bit 1, b ; B button pressed? + bit BIT_B_BUTTON, b jr nz, .exitMenu - bit 3, b ; Start button pressed? + bit BIT_START, b jr nz, .exitMenu - bit 0, b ; A button pressed? + bit BIT_A_BUTTON, b jr z, .checkDirectionKeys ld a, [wTopMenuItemY] cp 16 ; is the cursor on Cancel? @@ -496,9 +496,9 @@ DisplayOptionMenu: jp .loop .checkDirectionKeys ld a, [wTopMenuItemY] - bit 7, b ; Down pressed? + bit BIT_D_DOWN, b jr nz, .downPressed - bit 6, b ; Up pressed? + bit BIT_D_UP, b jr nz, .upPressed cp 8 ; cursor in Battle Animation section? jr z, .cursorInBattleAnimation @@ -507,7 +507,7 @@ DisplayOptionMenu: cp 16 ; cursor on Cancel? jr z, .loop .cursorInTextSpeed - bit 5, b ; Left pressed? + bit BIT_D_LEFT, b jp nz, .pressedLeftInTextSpeed jp .pressedRightInTextSpeed .downPressed diff --git a/engine/menus/pc.asm b/engine/menus/pc.asm index 4c340e7b..6a15eaa5 100644 --- a/engine/menus/pc.asm +++ b/engine/menus/pc.asm @@ -14,7 +14,7 @@ PCMainMenu: ld hl, wFlags_0xcd60 set 5, [hl] call HandleMenuInput - bit 1, a ;if player pressed B + bit BIT_B_BUTTON, a jp nz, LogOff ld a, [wMaxMenuItem] cp 2 diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 2af8d714..3411f729 100644 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -95,7 +95,7 @@ HandlePokedexSideMenu: ld [wMenuWatchMovingOutOfBounds], a .handleMenuInput call HandleMenuInput - bit 1, a ; was the B button pressed? + bit BIT_B_BUTTON, a ld b, 2 jr nz, .buttonBPressed ld a, [wCurrentMenuItem] @@ -284,10 +284,10 @@ HandlePokedexListMenu: call Delay3 call GBPalNormal call HandleMenuInput - bit 1, a ; was the B button pressed? + bit BIT_B_BUTTON, a jp nz, .buttonBPressed .checkIfUpPressed - bit 6, a ; was Up pressed? + bit BIT_D_UP, a jr z, .checkIfDownPressed .upPressed ; scroll up one row ld a, [wListScrollOffset] @@ -297,7 +297,7 @@ HandlePokedexListMenu: ld [wListScrollOffset], a jp .loop .checkIfDownPressed - bit 7, a ; was Down pressed? + bit BIT_D_DOWN, a jr z, .checkIfRightPressed .downPressed ; scroll down one row ld a, [wDexMaxSeenMon] @@ -312,7 +312,7 @@ HandlePokedexListMenu: ld [wListScrollOffset], a jp .loop .checkIfRightPressed - bit 4, a ; was Right pressed? + bit BIT_D_RIGHT, a jr z, .checkIfLeftPressed .rightPressed ; scroll down 7 rows ld a, [wDexMaxSeenMon] @@ -330,7 +330,7 @@ HandlePokedexListMenu: ld [wListScrollOffset], a jp .loop .checkIfLeftPressed ; scroll up 7 rows - bit 5, a ; was Left pressed? + bit BIT_D_LEFT, a jr z, .buttonAPressed .leftPressed ld a, [wListScrollOffset] diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 07eb5acb..83a5ca9b 100644 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -356,7 +356,7 @@ ChangeBox:: call HandleMenuInput ld hl, hUILayoutFlags res 1, [hl] - bit 1, a ; pressed b + bit BIT_B_BUTTON, a ret nz call GetBoxSRAMLocation ld e, l diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index cd1e6da6..dbc6ab89 100644 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -65,7 +65,7 @@ StartMenu_Pokemon:: push af call LoadScreenTilesFromBuffer1 ; restore saved screen pop af - bit 1, a ; was the B button pressed? + bit BIT_B_BUTTON, a jp nz, .loop ; if the B button wasn't pressed ld a, [wMaxMenuItem] @@ -360,7 +360,7 @@ StartMenu_Item:: ld [hl], a ; old menu item id call HandleMenuInput call PlaceUnfilledArrowMenuCursor - bit 1, a ; was the B button pressed? + bit BIT_B_BUTTON, a jr z, .useOrTossItem jp ItemMenuLoop .useOrTossItem ; if the player made the choice to use or toss the item diff --git a/engine/menus/text_box.asm b/engine/menus/text_box.asm index 5253ec48..cdb8841d 100644 --- a/engine/menus/text_box.asm +++ b/engine/menus/text_box.asm @@ -174,9 +174,9 @@ DoBuySellQuitMenu: ld [wd730], a call HandleMenuInput call PlaceUnfilledArrowMenuCursor - bit 0, a ; was A pressed? + bit BIT_A_BUTTON, a jr nz, .pressedA - bit 1, a ; was B pressed? (always true since only A/B are watched) + bit BIT_B_BUTTON, a ; always true since only A/B are watched jr z, .pressedA ld a, CANCELLED_MENU ld [wMenuExitMethod], a @@ -296,8 +296,8 @@ DisplayTwoOptionMenu: pop hl .noYesMenuInputLoop call HandleMenuInput - bit 1, a ; A button pressed? - jr nz, .noYesMenuInputLoop ; try again if A was not pressed + bit BIT_B_BUTTON, a + jr nz, .noYesMenuInputLoop ; try again if B was not pressed pop af pop hl ld [wFlags_0xcd60], a @@ -309,7 +309,7 @@ DisplayTwoOptionMenu: ld [wTwoOptionMenuID], a call HandleMenuInput pop hl - bit 1, a ; A button pressed? + bit BIT_B_BUTTON, a jr nz, .choseSecondMenuItem ; automatically choose the second option if B is pressed .pressedAButton ld a, [wCurrentMenuItem] diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index 7aba8001..8684b761 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -171,8 +171,8 @@ BillsPCMenu: ldh [hAutoBGTransferEnabled], a call Delay3 call HandleMenuInput - bit 1, a - jp nz, ExitBillsPC ; b button + bit BIT_B_BUTTON, a + jp nz, ExitBillsPC call PlaceUnfilledArrowMenuCursor ld a, [wCurrentMenuItem] ld [wParentMenuItem], a @@ -416,7 +416,7 @@ DisplayDepositWithdrawMenu: ld [wPartyAndBillsPCSavedMenuItem], a .loop call HandleMenuInput - bit 1, a ; pressed B? + bit BIT_B_BUTTON, a jr nz, .exit ld a, [wCurrentMenuItem] and a diff --git a/engine/pokemon/learn_move.asm b/engine/pokemon/learn_move.asm index fd92ec57..0377caa4 100644 --- a/engine/pokemon/learn_move.asm +++ b/engine/pokemon/learn_move.asm @@ -155,7 +155,7 @@ TryingToLearn: call LoadScreenTilesFromBuffer1 pop af pop hl - bit 1, a ; pressed b + bit BIT_B_BUTTON, a jr nz, .cancel push hl ld a, [wCurrentMenuItem] diff --git a/home/hidden_objects.asm b/home/hidden_objects.asm index eccf1c8f..6e7d980a 100644 --- a/home/hidden_objects.asm +++ b/home/hidden_objects.asm @@ -5,7 +5,7 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: ldh a, [hLoadedROMBank] push af ldh a, [hJoyHeld] - bit 0, a ; A button + bit BIT_A_BUTTON, a jr z, .nothingFound ; A button is pressed ld a, BANK(CheckForHiddenObject) diff --git a/home/list_menu.asm b/home/list_menu.asm index d6bf43b2..77e75012 100644 --- a/home/list_menu.asm +++ b/home/list_menu.asm @@ -84,7 +84,7 @@ DisplayListMenuIDLoop:: push af call PlaceMenuCursor pop af - bit 0, a ; was the A button pressed? + bit BIT_A_BUTTON, a jp z, .checkOtherKeys .buttonAPressed ld a, [wCurrentMenuItem] @@ -168,12 +168,12 @@ DisplayListMenuIDLoop:: res 6, [hl] ; turn on letter printing delay jp BankswitchBack .checkOtherKeys ; check B, SELECT, Up, and Down keys - bit 1, a ; was the B button pressed? + bit BIT_B_BUTTON, a jp nz, ExitListMenu ; if so, exit the menu - bit 2, a ; was the select button pressed? + bit BIT_SELECT, a jp nz, HandleItemListSwapping ; if so, allow the player to swap menu entries ld b, a - bit 7, b ; was Down pressed? + bit BIT_D_DOWN, b ld hl, wListScrollOffset jr z, .upPressed .downPressed @@ -220,13 +220,13 @@ DisplayChooseQuantityMenu:: .waitForKeyPressLoop call JoypadLowSensitivity ldh a, [hJoyPressed] ; newly pressed buttons - bit 0, a ; was the A button pressed? + bit BIT_A_BUTTON, a jp nz, .buttonAPressed - bit 1, a ; was the B button pressed? + bit BIT_B_BUTTON, a jp nz, .buttonBPressed - bit 6, a ; was Up pressed? + bit BIT_D_UP, a jr nz, .incrementQuantity - bit 7, a ; was Down pressed? + bit BIT_D_DOWN, a jr nz, .decrementQuantity jr .waitForKeyPressLoop .incrementQuantity diff --git a/home/overworld.asm b/home/overworld.asm index eb6f2ddb..74c97cb7 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -72,14 +72,14 @@ OverworldLoopLessDelay:: .notSimulating ldh a, [hJoyPressed] .checkIfStartIsPressed - bit 3, a ; start button + bit BIT_START, a jr z, .startButtonNotPressed ; if START is pressed xor a ; TEXT_START_MENU ldh [hSpriteIndexOrTextID], a jp .displayDialogue .startButtonNotPressed - bit 0, a ; A button + bit BIT_A_BUTTON, a jp z, .checkIfDownButtonIsPressed ; if A is pressed ld a, [wd730] @@ -146,7 +146,7 @@ OverworldLoopLessDelay:: .checkIfDownButtonIsPressed ldh a, [hJoyHeld] ; current joypad state - bit 7, a ; down button + bit BIT_D_DOWN, a jr z, .checkIfUpButtonIsPressed ld a, 1 ld [wSpritePlayerStateData1YStepVector], a @@ -154,7 +154,7 @@ OverworldLoopLessDelay:: jr .handleDirectionButtonPress .checkIfUpButtonIsPressed - bit 6, a ; up button + bit BIT_D_UP, a jr z, .checkIfLeftButtonIsPressed ld a, -1 ld [wSpritePlayerStateData1YStepVector], a @@ -162,7 +162,7 @@ OverworldLoopLessDelay:: jr .handleDirectionButtonPress .checkIfLeftButtonIsPressed - bit 5, a ; left button + bit BIT_D_LEFT, a jr z, .checkIfRightButtonIsPressed ld a, -1 ld [wSpritePlayerStateData1XStepVector], a @@ -170,7 +170,7 @@ OverworldLoopLessDelay:: jr .handleDirectionButtonPress .checkIfRightButtonIsPressed - bit 4, a ; right button + bit BIT_D_RIGHT, a jr z, .noDirectionButtonsPressed ld a, 1 ld [wSpritePlayerStateData1XStepVector], a diff --git a/home/pokemon.asm b/home/pokemon.asm index 4e6e080b..3e63de35 100644 --- a/home/pokemon.asm +++ b/home/pokemon.asm @@ -274,7 +274,7 @@ HandlePartyMenuInput:: scf ret .swappingPokemon - bit 1, b ; was the B button pressed? + bit BIT_B_BUTTON, b jr z, .handleSwap ; if not, handle swapping the pokemon .cancelSwap ; if the B button was pressed farcall ErasePartyMenuCursors diff --git a/home/print_text.asm b/home/print_text.asm index 049ddfb4..962ae519 100644 --- a/home/print_text.asm +++ b/home/print_text.asm @@ -25,11 +25,11 @@ PrintLetterDelay:: call Joypad ldh a, [hJoyHeld] .checkAButton - bit 0, a ; is the A button pressed? + bit BIT_A_BUTTON, a jr z, .checkBButton jr .endWait .checkBButton - bit 1, a ; is the B button pressed? + bit BIT_B_BUTTON, a jr z, .buttonsNotPressed .endWait call DelayFrame diff --git a/home/start_menu.asm b/home/start_menu.asm index 5b29f67a..ed3d9470 100644 --- a/home/start_menu.asm +++ b/home/start_menu.asm @@ -15,7 +15,7 @@ RedisplayStartMenu:: call HandleMenuInput ld b, a .checkIfUpPressed - bit 6, a ; was Up pressed? + bit BIT_D_UP, a jr z, .checkIfDownPressed ld a, [wCurrentMenuItem] ; menu selection and a @@ -54,7 +54,7 @@ RedisplayStartMenu:: ld a, [wCurrentMenuItem] ld [wBattleAndStartSavedMenuItem], a ; save current menu selection ld a, b - and %00001010 ; was the Start button or B button pressed? + and B_BUTTON | START ; was the Start button or B button pressed? jp nz, CloseStartMenu call SaveScreenTilesToBuffer2 ; copy background from wTileMap to wTileMapBackup2 CheckEvent EVENT_GOT_POKEDEX @@ -79,7 +79,7 @@ RedisplayStartMenu:: CloseStartMenu:: call Joypad ldh a, [hJoyPressed] - bit 0, a ; was A button newly pressed? + bit BIT_A_BUTTON, a jr nz, CloseStartMenu call LoadTextBoxTilePatterns jp CloseTextDisplay diff --git a/home/text_script.asm b/home/text_script.asm index a6881dc5..39bc3f5b 100644 --- a/home/text_script.asm +++ b/home/text_script.asm @@ -98,7 +98,7 @@ AfterDisplayingTextID:: HoldTextDisplayOpen:: call Joypad ldh a, [hJoyHeld] - bit 0, a ; is the A button being pressed? + bit BIT_A_BUTTON, a jr nz, HoldTextDisplayOpen CloseTextDisplay:: diff --git a/home/window.asm b/home/window.asm index 0182bdd3..45b207a8 100644 --- a/home/window.asm +++ b/home/window.asm @@ -50,7 +50,7 @@ HandleMenuInput_:: ld [wCheckFor180DegreeTurn], a ldh a, [hJoy5] ld b, a - bit 6, a ; pressed Up key? + bit BIT_D_UP, a jr z, .checkIfDownPressed .upPressed ld a, [wCurrentMenuItem] ; selected menu item From f68af5c6e95a11daa3bc8daaf28c4e9a779615b9 Mon Sep 17 00:00:00 2001 From: Yoann Fievez Date: Sat, 6 Nov 2021 00:45:09 +0100 Subject: [PATCH 055/119] Add some constants for options (#344) Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com> --- constants/misc_constants.asm | 9 +++++++++ engine/battle/animations.asm | 2 +- engine/battle/core.asm | 2 +- engine/battle/move_effects/substitute.asm | 2 +- engine/debug/debug_menu.asm | 2 +- engine/menus/main_menu.asm | 13 ++++++------- home/start_menu.asm | 2 +- home/window.asm | 2 +- 8 files changed, 21 insertions(+), 13 deletions(-) diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 1bb32f8e..4aff58da 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -7,3 +7,12 @@ TRUE EQU 1 const FLAG_RESET ; 0 const FLAG_SET ; 1 const FLAG_TEST ; 2 + +; wOptions +TEXT_DELAY_FAST EQU %001 ; 1 +TEXT_DELAY_MEDIUM EQU %011 ; 3 +TEXT_DELAY_SLOW EQU %101 ; 5 + + const_def 6 + const BIT_BATTLE_SHIFT ; 6 + const BIT_BATTLE_ANIMATION ; 7 diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index a93af9e9..476e937f 100644 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -395,7 +395,7 @@ MoveAnimation: .moveAnimation ; check if battle animations are disabled in the options ld a, [wOptions] - bit 7, a + bit BIT_BATTLE_ANIMATION, a jr nz, .animationsDisabled call ShareMoveAnimations call PlayAnimation diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 6c0585b6..efcba34b 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -1372,7 +1372,7 @@ EnemySendOutFirstMon: cp LINK_STATE_BATTLING jr z, .next4 ld a, [wOptions] - bit 6, a + bit BIT_BATTLE_SHIFT, a jr nz, .next4 ld hl, TrainerAboutToUseText call PrintText diff --git a/engine/battle/move_effects/substitute.asm b/engine/battle/move_effects/substitute.asm index 860b76b6..b1fd8ac2 100644 --- a/engine/battle/move_effects/substitute.asm +++ b/engine/battle/move_effects/substitute.asm @@ -45,7 +45,7 @@ SubstituteEffect_: ld l, c set HAS_SUBSTITUTE_UP, [hl] ld a, [wOptions] - bit 7, a ; battle animation is enabled? + bit BIT_BATTLE_ANIMATION, a ld hl, PlayCurrentMoveAnimation ld b, BANK(PlayCurrentMoveAnimation) jr z, .animationEnabled diff --git a/engine/debug/debug_menu.asm b/engine/debug/debug_menu.asm index 02280db0..f2297129 100644 --- a/engine/debug/debug_menu.asm +++ b/engine/debug/debug_menu.asm @@ -26,7 +26,7 @@ IF DEF(_DEBUG) ld de, DebugMenuOptions call PlaceString - ld a, 3 ; medium speed + ld a, TEXT_DELAY_MEDIUM ld [wOptions], a ld a, A_BUTTON | B_BUTTON | START diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index c3366b8e..7e4cc9be 100644 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -125,9 +125,9 @@ MainMenu: jp SpecialEnterMap InitOptions: - ld a, 1 ; no delay + ld a, TEXT_DELAY_FAST ld [wLetterPrintingDelayFlags], a - ld a, 3 ; medium speed + ld a, TEXT_DELAY_MEDIUM ld [wOptions], a ret @@ -678,11 +678,10 @@ SetCursorPositionsFromOptions: ; 00: X coordinate of menu cursor ; 01: delay after printing a letter (in frames) TextSpeedOptionData: - db 14, 5 ; Slow - db 7, 3 ; Medium - db 1, 1 ; Fast - db 7 ; default X coordinate (Medium) - db -1 ; end + db 14, TEXT_DELAY_SLOW + db 7, TEXT_DELAY_MEDIUM + db 1, TEXT_DELAY_FAST + db 7, -1 ; end (default X coordinate) CheckForPlayerNameInSRAM: ; Check if the player name data in SRAM has a string terminator character diff --git a/home/start_menu.asm b/home/start_menu.asm index ed3d9470..5a531744 100644 --- a/home/start_menu.asm +++ b/home/start_menu.asm @@ -33,7 +33,7 @@ RedisplayStartMenu:: call EraseMenuCursor jr .loop .checkIfDownPressed - bit 7, a + bit BIT_D_DOWN, a jr z, .buttonPressed ; if the player pressed tried to go past the bottom item, wrap around to the top CheckEvent EVENT_GOT_POKEDEX diff --git a/home/window.asm b/home/window.asm index 45b207a8..0abe366d 100644 --- a/home/window.asm +++ b/home/window.asm @@ -68,7 +68,7 @@ HandleMenuInput_:: ld [wCurrentMenuItem], a ; wrap to the bottom of the menu jr .checkOtherKeys .checkIfDownPressed - bit 7, a + bit BIT_D_DOWN, a jr z, .checkOtherKeys .downPressed ld a, [wCurrentMenuItem] From 157b593561382c77a6435a8f1fae64df6d7169e8 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 6 Nov 2021 13:24:19 -0400 Subject: [PATCH 056/119] Use `dn` for wave instrument samples, like pokecrystal --- audio/wave_instruments.asm | 10 +++++----- macros/data.asm | 29 +++++++++++++++++++---------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/audio/wave_instruments.asm b/audio/wave_instruments.asm index 31e7d016..15376004 100644 --- a/audio/wave_instruments.asm +++ b/audio/wave_instruments.asm @@ -15,19 +15,19 @@ ; the graph of the wave ; the current instrument is copied to rWave_0--rWave_f .wave0 - db $02,$46,$8A,$CE,$FF,$FE,$ED,$DC,$CB,$A9,$87,$65,$44,$33,$22,$11 + dn 0, 2, 4, 6, 8, 10, 12, 14, 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1 .wave1 - db $02,$46,$8A,$CE,$EF,$FF,$FE,$EE,$DD,$CB,$A9,$87,$65,$43,$22,$11 + dn 0, 2, 4, 6, 8, 10, 12, 14, 14, 15, 15, 15, 15, 14, 14, 14, 13, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1 .wave2 - db $13,$69,$BD,$EE,$EE,$FF,$FF,$ED,$DE,$FF,$FF,$EE,$EE,$DB,$96,$31 + dn 1, 3, 6, 9, 11, 13, 14, 14, 14, 14, 15, 15, 15, 15, 14, 13, 13, 14, 15, 15, 15, 15, 14, 14, 14, 14, 13, 11, 9, 6, 3, 1 .wave3 - db $02,$46,$8A,$CD,$EF,$FE,$DE,$FF,$EE,$DC,$BA,$98,$76,$54,$32,$10 + dn 0, 2, 4, 6, 8, 10, 12, 13, 14, 15, 15, 14, 13, 14, 15, 15, 14, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 .wave4 - db $01,$23,$45,$67,$8A,$CD,$EE,$F7,$7F,$EE,$DC,$A8,$76,$54,$32,$10 + dn 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 14, 15, 7, 7, 15, 14, 14, 13, 12, 10, 8, 7, 6, 5, 4, 3, 2, 1, 0 ; duty 5 reads from sfx data .wave5 diff --git a/macros/data.asm b/macros/data.asm index eb5b5564..311c859f 100644 --- a/macros/data.asm +++ b/macros/data.asm @@ -39,24 +39,33 @@ ENDM ; Constant data (db, dw, dl) macros -dn: MACRO ; nybbles - db (\1 << 4 | \2) -ENDM - dbw: MACRO db \1 dw \2 ENDM -dba: MACRO - dbw BANK(\1), \1 -ENDM - dwb: MACRO dw \1 db \2 ENDM -dab: MACRO - dwb \1, BANK(\1) +dn: MACRO ; nybbles +REPT _NARG / 2 + db ((\1) << 4) | (\2) + SHIFT 2 +ENDR +ENDM + +dba: MACRO ; dbw bank, address +REPT _NARG + dbw BANK(\1), \1 + SHIFT +ENDR +ENDM + +dab: MACRO ; dwb address, bank +REPT _NARG + dwb \1, BANK(\1) + SHIFT +ENDR ENDM From 64e2b66a610d330bfdad108a603027be9652a7e7 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 23 Nov 2021 20:53:05 -0500 Subject: [PATCH 057/119] Require rgbds 0.5.2 --- .github/workflows/main.yml | 2 +- INSTALL.md | 22 +++++++++++----------- rgbdscheck.asm | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0e2472a4..c1052183 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: uses: actions/checkout@master with: path: rgbds - ref: v0.5.1 + ref: v0.5.2 repository: gbdev/rgbds - name: Install rgbds diff --git a/INSTALL.md b/INSTALL.md index 02ac7125..ec2f71a0 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -42,9 +42,9 @@ Run setup and leave the default settings. At the "**Select Packages**" step, cho Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install/windows) for Windows with Cygwin to install **rgbds 0.5.1**. +Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install/windows) for Windows with Cygwin to install **rgbds 0.5.2**. -**Note:** If you already have an older rgbds, you will need to update to 0.5.1. Ignore this if you have never installed rgbds before. If a version newer than 0.5.1 does not work, try downloading 0.5.1. +**Note:** If you already have an older rgbds, you will need to update to 0.5.2. Ignore this if you have never installed rgbds before. If a version newer than 0.5.2 does not work, try downloading 0.5.2. Now open the **Cygwin terminal** and enter the following commands. @@ -67,7 +67,7 @@ Install [**Homebrew**](https://brew.sh/). Follow the official instructions. Open **Terminal** and prepare to enter commands. -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/macos) for macOS to install **rgbds 0.5.1**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/macos) for macOS to install **rgbds 0.5.2**. Now you're ready to [build **pokered**](#build-pokered). @@ -84,7 +84,7 @@ To install the software required for **pokered**: sudo apt-get install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.1** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.2** from source. ### OpenSUSE @@ -94,7 +94,7 @@ To install the software required for **pokered**: sudo zypper install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.1** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.2** from source. ### Arch Linux @@ -104,9 +104,9 @@ To install the software required for **pokered**: sudo pacman -S make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/arch) for Arch Linux to install **rgbds 0.5.1**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/arch) for Arch Linux to install **rgbds 0.5.2**. -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.1** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.2** from source. ### Termux @@ -122,7 +122,7 @@ To install **rgbds**: sudo apt install rgbds ``` -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.1** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.2** from source. ### Other distros @@ -133,7 +133,7 @@ If your distro is not listed here, try to find the required software in its repo - `git` - `rgbds` -If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.1** from source. +If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.2** from source. Now you're ready to [build **pokered**](#build-pokered). @@ -155,8 +155,8 @@ make ### Build with a local rgbds version -If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.5.1 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.5.1/`. Then specify it when you run `make`: +If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.5.2 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.5.2/`. Then specify it when you run `make`: ```bash -make RGBDS=rgbds-0.5.1/ +make RGBDS=rgbds-0.5.2/ ``` diff --git a/rgbdscheck.asm b/rgbdscheck.asm index 25277131..556fbae4 100644 --- a/rgbdscheck.asm +++ b/rgbdscheck.asm @@ -1,9 +1,9 @@ MAJOR EQU 0 MINOR EQU 5 -PATCH EQU 1 +PATCH EQU 2 wrong_rgbds: MACRO - fail "pokered requires rgbds v0.5.1 or newer." + fail "pokered requires rgbds v0.5.2 or newer." ENDM IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) From 865d37e02ad6af386e7f596659ebec12266be3ce Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 23 Nov 2021 20:56:57 -0500 Subject: [PATCH 058/119] Use compound assignment operators --- constants/item_constants.asm | 2 +- data/trainers/move_choices.asm | 2 +- macros/asserts.asm | 8 ++++---- macros/const.asm | 10 +++++----- macros/data.asm | 2 +- macros/scripts/events.asm | 12 ++++++------ macros/scripts/maps.asm | 8 ++++---- sram.asm | 2 +- 8 files changed, 23 insertions(+), 23 deletions(-) diff --git a/constants/item_constants.asm b/constants/item_constants.asm index d8a5910f..f3c71985 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -122,7 +122,7 @@ __tmhm_value__ = NUM_TMS + 1 add_tmnum: MACRO \1_TMNUM EQU __tmhm_value__ -__tmhm_value__ = __tmhm_value__ + 1 +__tmhm_value__ += 1 ENDM add_hm: MACRO diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm index 2c3498af..66bc36e7 100644 --- a/data/trainers/move_choices.asm +++ b/data/trainers/move_choices.asm @@ -3,7 +3,7 @@ move_choices: MACRO db \# ; all args ENDC db 0 ; end -list_index = list_index + 1 +list_index += 1 ENDM ; move choice modification methods that are applied for each trainer class diff --git a/macros/asserts.asm b/macros/asserts.asm index 946add28..df2cdcd4 100644 --- a/macros/asserts.asm +++ b/macros/asserts.asm @@ -29,7 +29,7 @@ ENDM li: MACRO ASSERT !STRIN(\1, "@"), STRCAT("String terminator \"@\" in list entry: ", \1) db \1, "@" -list_index = list_index + 1 +list_index += 1 ENDM assert_list_length: MACRO @@ -52,7 +52,7 @@ ENDM nybble: MACRO ASSERT 0 <= (\1) && (\1) < $10, "nybbles must be 0-15" CURRENT_NYBBLE_ARRAY_VALUE = (\1) | (CURRENT_NYBBLE_ARRAY_VALUE << 4) -CURRENT_NYBBLE_ARRAY_LENGTH = CURRENT_NYBBLE_ARRAY_LENGTH + 1 +CURRENT_NYBBLE_ARRAY_LENGTH += 1 IF CURRENT_NYBBLE_ARRAY_LENGTH % 2 == 0 db CURRENT_NYBBLE_ARRAY_VALUE CURRENT_NYBBLE_ARRAY_VALUE = 0 @@ -86,8 +86,8 @@ ENDM dbit: MACRO ASSERT (\1) == 0 || (\1) == 1, "bits must be 0 or 1" -CURRENT_BIT_ARRAY_VALUE = CURRENT_BIT_ARRAY_VALUE | ((\1) << (CURRENT_BIT_ARRAY_LENGTH % 8)) -CURRENT_BIT_ARRAY_LENGTH = CURRENT_BIT_ARRAY_LENGTH + 1 +CURRENT_BIT_ARRAY_VALUE |= (\1) << (CURRENT_BIT_ARRAY_LENGTH % 8) +CURRENT_BIT_ARRAY_LENGTH += 1 IF CURRENT_BIT_ARRAY_LENGTH % 8 == 0 db CURRENT_BIT_ARRAY_VALUE CURRENT_BIT_ARRAY_VALUE = 0 diff --git a/macros/const.asm b/macros/const.asm index 3df9ecd8..afbde7bc 100644 --- a/macros/const.asm +++ b/macros/const.asm @@ -15,19 +15,19 @@ ENDM const: MACRO \1 EQU const_value -const_value = const_value + const_inc +const_value += const_inc ENDM shift_const: MACRO -\1 EQU (1 << const_value) -const_value = const_value + const_inc +\1 EQU 1 << const_value +const_value += const_inc ENDM const_skip: MACRO if _NARG >= 1 -const_value = const_value + const_inc * (\1) +const_value += const_inc * (\1) else -const_value = const_value + const_inc +const_value += const_inc endc ENDM diff --git a/macros/data.asm b/macros/data.asm index 311c859f..1f3c87a0 100644 --- a/macros/data.asm +++ b/macros/data.asm @@ -24,7 +24,7 @@ REPT _NARG IF DEF(\1_TMNUM) n = (\1_TMNUM - 1) / 8 i = (\1_TMNUM - 1) % 8 -_tm{d:n} = _tm{d:n} | (1 << i) +_tm{d:n} |= 1 << i ELSE FAIL "\1 is not a TM or HM move" ENDC diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm index c7fdb484..a9b1c615 100644 --- a/macros/scripts/events.asm +++ b/macros/scripts/events.asm @@ -261,8 +261,8 @@ event_fill_start = event_start_byte + 1 event_fill_count = event_end_byte - event_start_byte - 1 IF ((\1) % 8) == 0 -event_fill_start = event_fill_start - 1 -event_fill_count = event_fill_count + 1 +event_fill_start -= 1 +event_fill_count += 1 ELSE ld a, [wEventFlags + event_start_byte] or $ff - ((1 << ((\1) % 8)) - 1) @@ -270,7 +270,7 @@ event_fill_count = event_fill_count + 1 ENDC IF ((\2) % 8) == 7 -event_fill_count = event_fill_count + 1 +event_fill_count += 1 ENDC IF event_fill_count == 1 @@ -323,8 +323,8 @@ event_fill_start = event_start_byte + 1 event_fill_count = event_end_byte - event_start_byte - 1 IF ((\1) % 8) == 0 -event_fill_start = event_fill_start - 1 -event_fill_count = event_fill_count + 1 +event_fill_start -= 1 +event_fill_count += 1 ELSE ld a, [wEventFlags + event_start_byte] and ~($ff - ((1 << ((\1) % 8)) - 1)) & $ff @@ -332,7 +332,7 @@ event_fill_count = event_fill_count + 1 ENDC IF ((\2) % 8) == 7 -event_fill_count = event_fill_count + 1 +event_fill_count += 1 ENDC IF event_fill_count == 1 diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index 12bc3c77..bae8fd07 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -29,7 +29,7 @@ object_event: MACRO ELSE db \6 ENDC -{_NUM_OBJECT_EVENTS} = {_NUM_OBJECT_EVENTS} + 1 +{_NUM_OBJECT_EVENTS} += 1 ENDM def_warp_events: MACRO @@ -46,7 +46,7 @@ warp_event: MACRO db \2, \1, \4 - 1, \3 _WARP_{d:{_NUM_WARP_EVENTS}}_X = \1 _WARP_{d:{_NUM_WARP_EVENTS}}_Y = \2 -{_NUM_WARP_EVENTS} = {_NUM_WARP_EVENTS} + 1 +{_NUM_WARP_EVENTS} += 1 ENDM def_bg_events: MACRO @@ -60,7 +60,7 @@ ENDM ;\3 sign id bg_event: MACRO db \2, \1, \3 -{_NUM_BG_EVENTS} = {_NUM_BG_EVENTS} + 1 +{_NUM_BG_EVENTS} += 1 ENDM ;\1 source map @@ -101,7 +101,7 @@ _cur_bit = CURRENT_TRAINER_BIT % 8 db \2 << 4 dw wEventFlags + (\1 - CURRENT_TRAINER_BIT) / 8 dw \3, \5, \4, \4 -CURRENT_TRAINER_BIT = CURRENT_TRAINER_BIT + 1 +CURRENT_TRAINER_BIT += 1 ENDM ;\1 x position diff --git a/sram.asm b/sram.asm index a4c9a38c..776610c5 100644 --- a/sram.asm +++ b/sram.asm @@ -27,7 +27,7 @@ sMainDataCheckSum:: db box_n = 0 boxes: MACRO REPT \1 -box_n = box_n + 1 +box_n += 1 sBox{d:box_n}:: ds wBoxDataEnd - wBoxDataStart ENDR ENDM From 09e92c554c7563b52a9484b26d96d903c7635b0d Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 23 Nov 2021 21:00:07 -0500 Subject: [PATCH 059/119] Use ~X instead of $ff ^ X --- Makefile | 2 +- engine/battle/core.asm | 4 ++-- engine/battle/move_effects/haze.asm | 2 +- engine/debug/debug_party.asm | 2 +- home/lcd.asm | 2 +- scripts/ViridianCity.asm | 4 ++-- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 6d432ec9..fb1122ca 100644 --- a/Makefile +++ b/Makefile @@ -58,7 +58,7 @@ tools: $(MAKE) -C tools/ -RGBASMFLAGS = -h -L -Weverything +RGBASMFLAGS = -h -L -Weverything -Wnumeric-string=2 -Wtruncation=1 # Create a sym/map for debug purposes if `make` run with `DEBUG=1` ifeq ($(DEBUG),1) RGBASMFLAGS += -E diff --git a/engine/battle/core.asm b/engine/battle/core.asm index efcba34b..4a166f7e 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -3433,7 +3433,7 @@ CheckPlayerStatusConditions: ld hl, wPlayerBattleStatus1 ld a, [hl] ; clear bide, thrashing, charging up, and trapping moves such as warp (already cleared for confusion damage) - and $ff ^ ((1 << STORING_ENERGY) | (1 << THRASHING_ABOUT) | (1 << CHARGING_UP) | (1 << USING_TRAPPING_MOVE)) + and ~((1 << STORING_ENERGY) | (1 << THRASHING_ABOUT) | (1 << CHARGING_UP) | (1 << USING_TRAPPING_MOVE)) ld [hl], a ld a, [wPlayerMoveEffect] cp FLY_EFFECT @@ -5940,7 +5940,7 @@ CheckEnemyStatusConditions: ld hl, wEnemyBattleStatus1 ld a, [hl] ; clear bide, thrashing about, charging up, and multi-turn moves such as warp - and $ff ^ ((1 << STORING_ENERGY) | (1 << THRASHING_ABOUT) | (1 << CHARGING_UP) | (1 << USING_TRAPPING_MOVE)) + and ~((1 << STORING_ENERGY) | (1 << THRASHING_ABOUT) | (1 << CHARGING_UP) | (1 << USING_TRAPPING_MOVE)) ld [hl], a ld a, [wEnemyMoveEffect] cp FLY_EFFECT diff --git a/engine/battle/move_effects/haze.asm b/engine/battle/move_effects/haze.asm index 915eeed8..c15c848b 100644 --- a/engine/battle/move_effects/haze.asm +++ b/engine/battle/move_effects/haze.asm @@ -51,7 +51,7 @@ CureVolatileStatuses: inc hl ; BATTSTATUS2 ld a, [hl] ; clear USING_X_ACCURACY, PROTECTED_BY_MIST, GETTING_PUMPED, and SEEDED statuses - and $ff ^((1 << USING_X_ACCURACY) | (1 << PROTECTED_BY_MIST) | (1 << GETTING_PUMPED) | (1 << SEEDED)) + and ~((1 << USING_X_ACCURACY) | (1 << PROTECTED_BY_MIST) | (1 << GETTING_PUMPED) | (1 << SEEDED)) ld [hli], a ; BATTSTATUS3 ld a, [hl] and %11110000 | (1 << TRANSFORMED) ; clear Bad Poison, Reflect and Light Screen statuses diff --git a/engine/debug/debug_party.asm b/engine/debug/debug_party.asm index 17baa7ef..36eb8e6f 100644 --- a/engine/debug/debug_party.asm +++ b/engine/debug/debug_party.asm @@ -46,7 +46,7 @@ IF DEF(_DEBUG) ld [wTownVisitedFlag + 1], a ; Get all badges except Earth Badge. - ld a, $ff ^ (1 << BIT_EARTHBADGE) + ld a, ~(1 << BIT_EARTHBADGE) ld [wObtainedBadges], a call SetIshiharaTeam diff --git a/home/lcd.asm b/home/lcd.asm index 72fc70ed..5c496824 100644 --- a/home/lcd.asm +++ b/home/lcd.asm @@ -12,7 +12,7 @@ DisableLCD:: jr nz, .wait ldh a, [rLCDC] - and $ff ^ rLCDC_ENABLE_MASK + and ~rLCDC_ENABLE_MASK ldh [rLCDC], a ld a, b ldh [rIE], a diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm index 96e58a19..532451c9 100644 --- a/scripts/ViridianCity.asm +++ b/scripts/ViridianCity.asm @@ -18,7 +18,7 @@ ViridianCityScript_1900b: CheckEvent EVENT_VIRIDIAN_GYM_OPEN ret nz ld a, [wObtainedBadges] - cp $ff ^ (1 << BIT_EARTHBADGE) + cp ~(1 << BIT_EARTHBADGE) jr nz, .gym_closed SetEvent EVENT_VIRIDIAN_GYM_OPEN ret @@ -148,7 +148,7 @@ ViridianCityText1: ViridianCityText2: text_asm ld a, [wObtainedBadges] - cp $ff ^ (1 << BIT_EARTHBADGE) + cp ~(1 << BIT_EARTHBADGE) ld hl, ViridianCityText_19127 jr z, .done CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI From 9523681b8c356cad3607a32893f095334a80fb6e Mon Sep 17 00:00:00 2001 From: stringflow Date: Thu, 9 Dec 2021 17:30:15 +0100 Subject: [PATCH 060/119] Fix incorrect comment about money received after battle (#346) * fix incorrect comment about money received after battle * fix incorrect comment in wram.asm --- data/trainers/pic_pointers_money.asm | 2 +- wram.asm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/trainers/pic_pointers_money.asm b/data/trainers/pic_pointers_money.asm index c60a3ef9..36ee77ce 100644 --- a/data/trainers/pic_pointers_money.asm +++ b/data/trainers/pic_pointers_money.asm @@ -6,7 +6,7 @@ ENDM TrainerPicAndMoneyPointers:: table_width 5, TrainerPicAndMoneyPointers ; pic pointer, base reward money - ; money received after battle = base money × level of highest-level enemy mon + ; money received after battle = base money × level of last enemy mon pic_money YoungsterPic, 1500 pic_money BugCatcherPic, 1000 pic_money LassPic, 1500 diff --git a/wram.asm b/wram.asm index 12b1e51a..428d8c96 100644 --- a/wram.asm +++ b/wram.asm @@ -1199,7 +1199,7 @@ ENDU ds 2 -; money received after battle = base money × level of highest-level enemy mon +; money received after battle = base money × level of last enemy mon wTrainerBaseMoney:: dw ; BCD wMissableObjectCounter:: db From 7e78c1171d1206ca2f31cc67c55cc715eeb44ee5 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 4 Mar 2022 18:21:12 -0500 Subject: [PATCH 061/119] Gen 1's Minimize graphic was not a complete 8x8 tile --- engine/battle/animations.asm | 12 ++++++++++-- gfx/battle/minimize.png | Bin 74 -> 0 bytes 2 files changed, 10 insertions(+), 2 deletions(-) delete mode 100644 gfx/battle/minimize.png diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 476e937f..8f113adc 100644 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -1694,7 +1694,7 @@ AnimationMinimizeMon: ld bc, 7 * 7 * $10 call FillMemory pop hl - ld de, $194 + ld de, 7 * 3 * $10 + 4 * $10 + 4 add hl, de ld de, MinimizedMonSprite ld c, MinimizedMonSpriteEnd - MinimizedMonSprite @@ -1710,7 +1710,15 @@ AnimationMinimizeMon: jp AnimationShowMonPic MinimizedMonSprite: - INCBIN "gfx/battle/minimize.1bpp" +; 8x5 partial tile graphic +pusho +opt b.X ; . = 0, X = 1 + db %...XX... + db %..XXXX.. + db %.XXXXXX. + db %..XXXX.. + db %..X..X.. +popo MinimizedMonSpriteEnd: AnimationSlideMonDownAndHide: diff --git a/gfx/battle/minimize.png b/gfx/battle/minimize.png deleted file mode 100644 index 35ca75cb92222c6b50eccfaac1cbca052978184e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74 zcmeAS@N?(olHy`uVBq!ia0vp^96-#<2qYK+UQPG`qy#-(978y+Cs&*+n6Xf>BcGW; XSe^M)?UoA%L5e(G{an^LB{Ts5J_Qok From a75dd222709c92ae136d835ff2451391d5a88e45 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 8 Mar 2022 21:52:57 -0500 Subject: [PATCH 062/119] Slightly refactor some C tools --- Makefile | 2 +- tools/Makefile | 11 +- tools/common.h | 130 ++++++++++++++--- tools/gfx.c | 315 ++++++++++++++++++------------------------ tools/scan_includes.c | 189 ++++++++++--------------- 5 files changed, 331 insertions(+), 316 deletions(-) diff --git a/Makefile b/Makefile index fb1122ca..08abfa12 100644 --- a/Makefile +++ b/Makefile @@ -48,7 +48,7 @@ clean: tidy find gfx \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -delete tidy: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(pokeblue_debug_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o + $(RM) $(roms) $(pokered_obj) $(pokeblue_obj) $(pokeblue_debug_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o $(MAKE) clean -C tools/ compare: $(roms) diff --git a/tools/Makefile b/tools/Makefile index 7ab1d146..32f764a1 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -1,16 +1,21 @@ .PHONY: all clean CC := gcc -CFLAGS := -O3 -std=c99 -Wall -Wextra -Wno-missing-field-initializers +CFLAGS := -O3 -std=c11 -Wall -Wextra -pedantic -Wno-missing-field-initializers -tools := scan_includes gfx pkmncompress +tools := \ + gfx \ + pkmncompress \ + scan_includes all: $(tools) @: clean: - rm -f $(tools) + $(RM) $(tools) gfx: common.h +scan_includes: common.h + %: %.c $(CC) $(CFLAGS) -o $@ $< diff --git a/tools/common.h b/tools/common.h index 4da0b2ef..a8b69445 100644 --- a/tools/common.h +++ b/tools/common.h @@ -1,40 +1,132 @@ #ifndef GUARD_COMMON_H #define GUARD_COMMON_H -int __getopt_long_i__; -#define getopt_long(c, v, s, l) getopt_long(c, v, s, l, &__getopt_long_i__) +#include +#include +#include +#include +#include +#include +#include +#include -FILE *fopen_verbose(char *filename, char *mode) { +#ifndef PROGRAM_NAME +#error Define PROGRAM_NAME before including common.h! +#endif +#ifndef USAGE_OPTS +#error Define USAGE_OPTS before including common.h! +#endif + +#define error_exit(...) exit((fprintf(stderr, PROGRAM_NAME ": " __VA_ARGS__), 1)) + +void usage_exit(int status) { + fprintf(stderr, "Usage: " PROGRAM_NAME " " USAGE_OPTS "\n"); + exit(status); +} + +int getopt_long_index; +#define getopt_long(argc, argv, optstring, longopts) getopt_long(argc, argv, optstring, longopts, &getopt_long_index) + +void *xmalloc(size_t size) { + errno = 0; + void *m = malloc(size); + if (!m) { + error_exit("Could not allocate %zu bytes: %s\n", size, strerror(errno)); + } + return m; +} + +void *xcalloc(size_t size) { + errno = 0; + void *m = calloc(size, 1); + if (!m) { + error_exit("Could not allocate %zu bytes: %s\n", size, strerror(errno)); + } + return m; +} + +void *xrealloc(void *m, size_t size) { + errno = 0; + m = realloc(m, size); + if (!m) { + error_exit("Could not allocate %zu bytes: %s\n", size, strerror(errno)); + } + return m; +} + +FILE *xfopen(const char *filename, char rw) { + char mode[3] = {rw, 'b', '\0'}; + errno = 0; FILE *f = fopen(filename, mode); if (!f) { - fprintf(stderr, "Could not open file: \"%s\"\n", filename); + error_exit("Could not open file \"%s\": %s\n", filename, strerror(errno)); } return f; } -uint8_t *read_u8(char *filename, int *size) { - FILE *f = fopen_verbose(filename, "rb"); - if (!f) { - exit(1); +void xfread(uint8_t *data, size_t size, const char *filename, FILE *f) { + errno = 0; + if (fread(data, 1, size, f) != size) { + fclose(f); + error_exit("Could not read from file \"%s\": %s\n", filename, strerror(errno)); } - fseek(f, 0, SEEK_END); - *size = ftell(f); - rewind(f); - uint8_t *data = malloc(*size); - if (*size != (int)fread(data, 1, *size, f)) { - fprintf(stderr, "Could not read file: \"%s\"\n", filename); - exit(1); +} + +void xfwrite(const uint8_t *data, size_t size, const char *filename, FILE *f) { + errno = 0; + if (fwrite(data, 1, size, f) != size) { + fclose(f); + error_exit("Could not write to file \"%s\": %s\n", filename, strerror(errno)); } +} + +long xfsize(const char *filename, FILE *f) { + long size = -1; + errno = 0; + if (!fseek(f, 0, SEEK_END)) { + size = ftell(f); + if (size != -1) { + rewind(f); + } + } + if (size == -1) { + error_exit("Could not measure file \"%s\": %s\n", filename, strerror(errno)); + } + return size; +} + +uint8_t *read_u8(const char *filename, long *size) { + FILE *f = xfopen(filename, 'r'); + *size = xfsize(filename, f); + uint8_t *data = xmalloc(*size); + xfread(data, *size, filename, f); fclose(f); return data; } -void write_u8(char *filename, uint8_t *data, int size) { - FILE *f = fopen_verbose(filename, "wb"); - if (f) { - fwrite(data, 1, size, f); +void write_u8(const char *filename, uint8_t *data, size_t size) { + FILE *f = xfopen(filename, 'w'); + xfwrite(data, size, filename, f); + fclose(f); +} + +uint32_t read_png_width(const char *filename) { + FILE *f = xfopen(filename, 'r'); + uint8_t header[16] = {0}; + xfread(header, sizeof(header), filename, f); + static uint8_t expected_header[16] = { + 0x89, 'P', 'N', 'G', '\r', '\n', 0x1A, '\n', // signature + 0, 0, 0, 13, // IHDR chunk length + 'I', 'H', 'D', 'R', // IHDR chunk type + }; + if (memcmp(header, expected_header, sizeof(header))) { fclose(f); + error_exit("Not a valid PNG file: \"%s\"\n", filename); } + uint8_t bytes[4] = {0}; + xfread(bytes, sizeof(bytes), filename, f); + fclose(f); + return (bytes[0] << 24) | (bytes[1] << 16) | (bytes[2] << 8) | bytes[3]; } #endif // GUARD_COMMON_H diff --git a/tools/gfx.c b/tools/gfx.c index 7d6dd0ee..4264e669 100644 --- a/tools/gfx.c +++ b/tools/gfx.c @@ -1,94 +1,96 @@ -#include -#include -#include -#include -#include -#include +#define PROGRAM_NAME "gfx" +#define USAGE_OPTS "[-h|--help] [--trim-whitespace] [--remove-whitespace] [--interleave] [--remove-duplicates [--keep-whitespace]] [--remove-xflip] [--remove-yflip] [--preserve indexes] [-d|--depth depth] [-p|--png filename.png] [-o|--out outfile] infile" #include "common.h" -static void usage(void) { - fprintf(stderr, "Usage: gfx [--trim-whitespace] [--remove-whitespace] [--interleave] [--remove-duplicates [--keep-whitespace]] [--remove-xflip] [--remove-yflip] [--preserve indexes] [--png filename] [-d depth] [-h] [-o outfile] infile\n"); -} - -static void error(char *message) { - fputs(message, stderr); - fputs("\n", stderr); -} - struct Options { - int trim_whitespace; - int remove_whitespace; - int help; - char *outfile; - int depth; - int interleave; - int remove_duplicates; - int keep_whitespace; - int remove_xflip; - int remove_yflip; + bool trim_whitespace; + bool remove_whitespace; + bool interleave; + bool remove_duplicates; + bool keep_whitespace; + bool remove_xflip; + bool remove_yflip; int *preserved; int num_preserved; + int depth; char *png_file; + char *outfile; }; -struct Options Options = { - .depth = 2, -}; +struct Options options = {.depth = 2}; -void get_args(int argc, char *argv[]) { +void parse_args(int argc, char *argv[]) { struct option long_options[] = { - {"remove-whitespace", no_argument, &Options.remove_whitespace, 1}, - {"trim-whitespace", no_argument, &Options.trim_whitespace, 1}, - {"interleave", no_argument, &Options.interleave, 1}, - {"remove-duplicates", no_argument, &Options.remove_duplicates, 1}, - {"keep-whitespace", no_argument, &Options.keep_whitespace, 1}, - {"remove-xflip", no_argument, &Options.remove_xflip, 1}, - {"remove-yflip", no_argument, &Options.remove_yflip, 1}, + {"remove-whitespace", no_argument, 0, 'R'}, + {"trim-whitespace", no_argument, 0, 'T'}, + {"interleave", no_argument, 0, 'I'}, + {"remove-duplicates", no_argument, 0, 'D'}, + {"keep-whitespace", no_argument, 0, 'W'}, + {"remove-xflip", no_argument, 0, 'X'}, + {"remove-yflip", no_argument, 0, 'Y'}, {"preserve", required_argument, 0, 'r'}, {"png", required_argument, 0, 'p'}, {"depth", required_argument, 0, 'd'}, + {"out", required_argument, 0, 'o'}, {"help", no_argument, 0, 'h'}, {0} }; - char *token; - for (int opt = 0; opt != -1;) { - switch (opt = getopt_long(argc, argv, "ho:d:p:", long_options)) { - case 'h': - Options.help = true; + for (int opt; (opt = getopt_long(argc, argv, "d:o:p:h", long_options)) != -1;) { + switch (opt) { + case 'R': + options.remove_whitespace = true; break; - case 'o': - Options.outfile = optarg; + case 'T': + options.trim_whitespace = true; break; - case 'd': - Options.depth = strtoul(optarg, NULL, 0); + case 'I': + options.interleave = true; + break; + case 'D': + options.remove_duplicates = true; + break; + case 'W': + options.keep_whitespace = true; + break; + case 'X': + options.remove_xflip = true; + break; + case 'Y': + options.remove_yflip = true; break; case 'r': - token = strtok(optarg, ","); - while (token) { - Options.num_preserved++; - Options.preserved = realloc(Options.preserved, Options.num_preserved * sizeof(int)); - Options.preserved[Options.num_preserved-1] = strtoul(token, NULL, 0); - token = strtok(NULL, ","); + for (char *token = strtok(optarg, ","); token; token = strtok(NULL, ",")) { + options.preserved = xrealloc(options.preserved, ++options.num_preserved * sizeof(*options.preserved)); + options.preserved[options.num_preserved-1] = strtoul(token, NULL, 0); } break; - case 'p': - Options.png_file = optarg; + case 'd': + options.depth = strtoul(optarg, NULL, 0); break; - case 0: - case -1: + case 'p': + options.png_file = optarg; + break; + case 'o': + options.outfile = optarg; + break; + case 'h': + usage_exit(0); break; default: - usage(); - exit(1); - break; + usage_exit(1); } } } +struct Graphic { + uint8_t *data; + long size; +}; + bool is_preserved(int index) { - for (int i = 0; i < Options.num_preserved; i++) { - if (Options.preserved[i] == index) { + for (int i = 0; i < options.num_preserved; i++) { + if (options.preserved[i] == index) { return true; } } @@ -96,22 +98,16 @@ bool is_preserved(int index) { } void shift_preserved(int removed_index) { - for (int i = 0; i < Options.num_preserved; i++) { - if (Options.preserved[i] >= removed_index) { - Options.preserved[i]--; + for (int i = 0; i < options.num_preserved; i++) { + if (options.preserved[i] >= removed_index) { + options.preserved[i]--; } } } -struct Graphic { - int size; - uint8_t *data; -}; - -bool is_whitespace(uint8_t *tile, int tile_size) { - uint8_t WHITESPACE = 0; +bool is_whitespace(const uint8_t *tile, int tile_size) { for (int i = 0; i < tile_size; i++) { - if (tile[i] != WHITESPACE) { + if (tile[i] != 0) { return false; } } @@ -119,7 +115,7 @@ bool is_whitespace(uint8_t *tile, int tile_size) { } void trim_whitespace(struct Graphic *graphic) { - int tile_size = Options.depth * 8; + int tile_size = options.depth * 8; for (int i = graphic->size - tile_size; i > 0; i -= tile_size) { if (is_whitespace(&graphic->data[i], tile_size) && !is_preserved(i / tile_size)) { graphic->size = i; @@ -129,36 +125,34 @@ void trim_whitespace(struct Graphic *graphic) { } } +int get_tile_size(void) { + return options.depth * (options.interleave ? 16 : 8); +} + void remove_whitespace(struct Graphic *graphic) { - int tile_size = Options.depth * 8; - if (Options.interleave) tile_size *= 2; - - // Make sure we have a whole number of tiles, round down if required + int tile_size = get_tile_size(); graphic->size &= ~(tile_size - 1); - int i = 0; for (int j = 0, d = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) { - while (j < graphic->size && is_whitespace(&graphic->data[j], tile_size) && !is_preserved(j / tile_size - d)) { + for (; j < graphic->size && is_whitespace(&graphic->data[j], tile_size) && !is_preserved(j / tile_size - d); j += tile_size, d++) { shift_preserved(j / tile_size - d); - d++; - j += tile_size; } if (j >= graphic->size) { break; - } - if (j > i) { + } else if (j > i) { memcpy(&graphic->data[i], &graphic->data[j], tile_size); } } graphic->size = i; } -bool tile_exists(uint8_t *tile, uint8_t *tiles, int tile_size, int num_tiles) { +bool tile_exists(const uint8_t *tile, const uint8_t *tiles, int tile_size, int num_tiles) { for (int i = 0; i < num_tiles; i++) { bool match = true; for (int j = 0; j < tile_size; j++) { if (tile[j] != tiles[i * tile_size + j]) { match = false; + break; } } if (match) { @@ -169,21 +163,15 @@ bool tile_exists(uint8_t *tile, uint8_t *tiles, int tile_size, int num_tiles) { } void remove_duplicates(struct Graphic *graphic) { - int tile_size = Options.depth * 8; - if (Options.interleave) tile_size *= 2; - int num_tiles = 0; - - // Make sure we have a whole number of tiles, round down if required + int tile_size = get_tile_size(); graphic->size &= ~(tile_size - 1); - + int num_tiles = 0; for (int i = 0, j = 0, d = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) { - while (j < graphic->size && tile_exists(&graphic->data[j], graphic->data, tile_size, num_tiles)) { - if ((Options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) || is_preserved(j / tile_size - d)) { + for (; j < graphic->size && tile_exists(&graphic->data[j], graphic->data, tile_size, num_tiles); j += tile_size, d++) { + if ((options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) || is_preserved(j / tile_size - d)) { break; } shift_preserved(j / tile_size - d); - d++; - j += tile_size; } if (j >= graphic->size) { break; @@ -196,48 +184,49 @@ void remove_duplicates(struct Graphic *graphic) { graphic->size = num_tiles * tile_size; } -bool flip_exists(uint8_t *tile, uint8_t *tiles, int tile_size, int num_tiles, bool xflip, bool yflip) { - uint8_t flip[tile_size]; - memset(flip, 0, sizeof(flip)); +// for (int i = 0; i < 256; i++) +// for (int bit = 0; bit < 8; bit++) { +// flipped[i] |= ((i >> bit) & 1) << (7 - bit); +const uint8_t flipped[256] = { + 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, + 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, + 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4, + 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc, + 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, + 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa, + 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6, + 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, + 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1, + 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9, + 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, + 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd, + 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3, + 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, + 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7, + 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff +}; + +bool flip_exists(const uint8_t *tile, const uint8_t *tiles, int tile_size, int num_tiles, bool xflip, bool yflip) { + uint8_t flip[tile_size]; // VLA + memset(flip, 0, tile_size); int half_size = tile_size / 2; for (int i = 0; i < tile_size; i++) { - int byte = i; - if (yflip) { - byte = tile_size - 1 - (i ^ 1); - if (Options.interleave && i < half_size) { - byte = half_size - 1 - (i ^ 1); - } - } - if (xflip) { - for (int bit = 0; bit < 8; bit++) { - flip[byte] |= ((tile[i] >> bit) & 1) << (7 - bit); - } - } else { - flip[byte] = tile[i]; - } + int j = yflip ? (options.interleave && i < half_size ? half_size : tile_size) - 1 - (i ^ 1) : i; + flip[j] = xflip ? flipped[tile[i]] : tile[i]; } - if (tile_exists(flip, tiles, tile_size, num_tiles)) { - return true; - } - return false; + return tile_exists(flip, tiles, tile_size, num_tiles); } void remove_flip(struct Graphic *graphic, bool xflip, bool yflip) { - int tile_size = Options.depth * 8; - if (Options.interleave) tile_size *= 2; - int num_tiles = 0; - - // Make sure we have a whole number of tiles, round down if required + int tile_size = get_tile_size(); graphic->size &= ~(tile_size - 1); - + int num_tiles = 0; for (int i = 0, j = 0, d = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) { - while (j < graphic->size && flip_exists(&graphic->data[j], graphic->data, tile_size, num_tiles, xflip, yflip)) { - if ((Options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) || is_preserved(j / tile_size - d)) { + for (; j < graphic->size && flip_exists(&graphic->data[j], graphic->data, tile_size, num_tiles, xflip, yflip); j += tile_size, d++) { + if ((options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) || is_preserved(j / tile_size - d)) { break; } shift_preserved(j / tile_size - d); - d++; - j += tile_size; } if (j >= graphic->size) { break; @@ -251,18 +240,13 @@ void remove_flip(struct Graphic *graphic, bool xflip, bool yflip) { } void interleave(struct Graphic *graphic, int width) { - int tile_size = Options.depth * 8; + int tile_size = options.depth * 8; int width_tiles = width / 8; int num_tiles = graphic->size / tile_size; - uint8_t *interleaved = malloc(graphic->size); + uint8_t *interleaved = xmalloc(graphic->size); for (int i = 0; i < num_tiles; i++) { - int tile = i * 2; int row = i / width_tiles; - tile -= width_tiles * row; - if (row % 2) { - tile -= width_tiles; - tile += 1; - } + int tile = i * 2 - (row % 2 ? width_tiles * (row + 1) - 1 : width_tiles * row); memcpy(&interleaved[tile * tile_size], &graphic->data[i * tile_size], tile_size); } graphic->size = num_tiles * tile_size; @@ -270,76 +254,47 @@ void interleave(struct Graphic *graphic, int width) { free(interleaved); } -int png_get_width(char *filename) { - FILE *f = fopen_verbose(filename, "rb"); - if (!f) { - exit(1); - } - - const int OFFSET_WIDTH = 16; - uint8_t bytes[4]; - fseek(f, OFFSET_WIDTH, SEEK_SET); - size_t size = 4; - size_t result = fread(bytes, 1, size, f); - fclose(f); - if (result != size) { - fprintf(stderr, "Could not read file at offset 0x%x: \"%s\"\n", OFFSET_WIDTH, filename); - exit(1); - } - - int width = 0; - for (int i = 0; i < 4; i++) { - width |= bytes[i] << (8 * (3 - i)); - } - return width; -} - - int main(int argc, char *argv[]) { - get_args(argc, argv); + parse_args(argc, argv); + argc -= optind; argv += optind; - if (Options.help) { - usage(); - return 0; - } if (argc < 1) { - usage(); - exit(1); + usage_exit(1); } - char *infile = argv[0]; + struct Graphic graphic; - graphic.data = read_u8(infile, &graphic.size); - if (Options.trim_whitespace) { + graphic.data = read_u8(argv[0], &graphic.size); + + if (options.trim_whitespace) { trim_whitespace(&graphic); } - if (Options.interleave) { - if (!Options.png_file) { - error("interleave: need --png to infer dimensions"); - usage(); - exit(1); + if (options.interleave) { + if (!options.png_file) { + error_exit("--interleave needs --png to infer dimensions"); } - int width = png_get_width(Options.png_file); + int width = read_png_width(options.png_file); interleave(&graphic, width); } - if (Options.remove_duplicates) { + if (options.remove_duplicates) { remove_duplicates(&graphic); } - if (Options.remove_xflip) { + if (options.remove_xflip) { remove_flip(&graphic, true, false); } - if (Options.remove_yflip) { + if (options.remove_yflip) { remove_flip(&graphic, false, true); } - if (Options.remove_xflip && Options.remove_yflip) { + if (options.remove_xflip && options.remove_yflip) { remove_flip(&graphic, true, true); } - if (Options.remove_whitespace) { + if (options.remove_whitespace) { remove_whitespace(&graphic); } - if (Options.outfile) { - write_u8(Options.outfile, graphic.data, graphic.size); + if (options.outfile) { + write_u8(options.outfile, graphic.data, graphic.size); } + free(graphic.data); return 0; } diff --git a/tools/scan_includes.c b/tools/scan_includes.c index 63af3bcf..e57ddc35 100644 --- a/tools/scan_includes.c +++ b/tools/scan_includes.c @@ -1,135 +1,98 @@ -#include -#include -#include -#include -#include +#define PROGRAM_NAME "scan_includes" +#define USAGE_OPTS "[-h|--help] [-s|--strict] filename.asm" -void usage(void) { - printf("Usage: scan_includes [-h] [-s] filename\n" - "-h, --help\n" - " Print usage and exit\n" - "-s, --strict\n" - " Fail if a file cannot be read\n"); -} +#include "common.h" -struct Options { - bool help; - bool strict; -}; - -struct Options Options = {0}; - -void scan_file(char* filename) { - FILE *f = fopen(filename, "rb"); - if (!f) { - if (Options.strict) { - fprintf(stderr, "Could not open file: '%s'\n", filename); - exit(1); - } else { - return; - } - } - - fseek(f, 0, SEEK_END); - long size = ftell(f); - rewind(f); - - char *buffer = malloc(size + 1); - char *orig = buffer; - size = fread(buffer, 1, size, f); - buffer[size] = '\0'; - fclose(f); - - for (; buffer && (buffer - orig < size); buffer++) { - bool is_include = false; - bool is_incbin = false; - switch (*buffer) { - case ';': - buffer = strchr(buffer, '\n'); - if (!buffer) { - fprintf(stderr, "%s: no newline at end of file\n", filename); - break; - } - break; - - case '"': - buffer++; - buffer = strchr(buffer, '"'); - if (!buffer) { - fprintf(stderr, "%s: unterminated string\n", filename); - break; - } - buffer++; - break; - - case 'i': - case 'I': - if ((strncmp(buffer, "INCBIN", 6) == 0) || (strncmp(buffer, "incbin", 6) == 0)) { - is_incbin = true; - } else if ((strncmp(buffer, "INCLUDE", 7) == 0) || (strncmp(buffer, "include", 7) == 0)) { - is_include = true; - } - if (is_incbin || is_include) { - buffer = strchr(buffer, '"'); - if (!buffer) { - break; - } - buffer++; - int length = strcspn(buffer, "\""); - char *include = malloc(length + 1); - strncpy(include, buffer, length); - include[length] = '\0'; - printf("%s ", include); - if (is_include) { - scan_file(include); - } - free(include); - buffer = strchr(buffer, '"'); - } - break; - - } - if (!buffer) { - break; - } - - } - - free(orig); -} - -int main(int argc, char* argv[]) { - int i = 0; +void parse_args(int argc, char *argv[], bool *strict) { struct option long_options[] = { {"strict", no_argument, 0, 's'}, {"help", no_argument, 0, 'h'}, {0} }; - int opt = -1; - while ((opt = getopt_long(argc, argv, "sh", long_options, &i)) != -1) { + for (int opt; (opt = getopt_long(argc, argv, "sh", long_options)) != -1;) { switch (opt) { case 's': - Options.strict = true; + *strict = true; break; case 'h': - Options.help = true; + usage_exit(0); break; default: - usage(); - exit(1); + usage_exit(1); + } + } +} + +void scan_file(const char *filename, bool strict) { + errno = 0; + FILE *f = fopen(filename, "rb"); + if (!f) { + if (strict) { + error_exit("Could not open file \"%s\": %s\n", filename, strerror(errno)); + } else { + return; + } + } + + long size = xfsize(filename, f); + char *contents = xmalloc(size + 1); + xfread((uint8_t *)contents, size, filename, f); + fclose(f); + contents[size] = '\0'; + + for (char *ptr = contents; ptr && ptr - contents < size; ptr++) { + bool is_incbin = false, is_include = false; + switch (*ptr) { + case ';': + ptr = strchr(ptr, '\n'); + if (!ptr) { + fprintf(stderr, "%s: no newline at end of file\n", filename); + } + break; + case '"': + ptr++; + ptr = strchr(ptr, '"'); + if (ptr) { + ptr++; + } else { + fprintf(stderr, "%s: unterminated string\n", filename); + } + break; + case 'I': + case 'i': + is_incbin = !strncmp(ptr, "INCBIN", 6) || !strncmp(ptr, "incbin", 6); + is_include = !strncmp(ptr, "INCLUDE", 7) || !strncmp(ptr, "include", 7); + if (is_incbin || is_include) { + ptr = strchr(ptr, '"'); + if (ptr) { + ptr++; + char *include_path = ptr; + size_t length = strcspn(ptr, "\""); + ptr += length + 1; + include_path[length] = '\0'; + printf("%s ", include_path); + if (is_include) { + scan_file(include_path, strict); + } + } + } break; } } + + free(contents); +} + +int main(int argc, char *argv[]) { + bool strict = false; + parse_args(argc, argv, &strict); + argc -= optind; argv += optind; - if (Options.help) { - usage(); - return 0; - } if (argc < 1) { - usage(); - exit(1); + usage_exit(1); } - scan_file(argv[0]); + + scan_file(argv[0], strict); return 0; } From e17557706a0ad7653264d3dc4b25a74744f4ab26 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 15 Mar 2022 17:29:07 -0400 Subject: [PATCH 063/119] Use -flto for all tools --- tools/Makefile | 2 +- tools/common.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/Makefile b/tools/Makefile index 32f764a1..64d6fe8a 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -1,7 +1,7 @@ .PHONY: all clean CC := gcc -CFLAGS := -O3 -std=c11 -Wall -Wextra -pedantic -Wno-missing-field-initializers +CFLAGS := -O3 -flto -std=c11 -Wall -Wextra -pedantic -Wno-missing-field-initializers tools := \ gfx \ diff --git a/tools/common.h b/tools/common.h index a8b69445..38b7cc6d 100644 --- a/tools/common.h +++ b/tools/common.h @@ -5,6 +5,8 @@ #include #include #include +#include +#include #include #include #include From 570d83b73c770547e15a9c63d35588b09cc23f1f Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 15 Mar 2022 17:35:30 -0400 Subject: [PATCH 064/119] Use noreturn for usage_exit --- tools/common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/common.h b/tools/common.h index 38b7cc6d..f04e917b 100644 --- a/tools/common.h +++ b/tools/common.h @@ -21,7 +21,7 @@ #define error_exit(...) exit((fprintf(stderr, PROGRAM_NAME ": " __VA_ARGS__), 1)) -void usage_exit(int status) { +noreturn void usage_exit(int status) { fprintf(stderr, "Usage: " PROGRAM_NAME " " USAGE_OPTS "\n"); exit(status); } From 07df4a5f88aa5b9927a0f8a7c317afa57a313ab9 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 17 Mar 2022 20:36:13 -0400 Subject: [PATCH 065/119] Refactor pkmncompress.c to use common.h Fixes #349 --- tools/Makefile | 2 +- tools/pkmncompress.c | 518 +++++++++++++------------------------------ 2 files changed, 151 insertions(+), 369 deletions(-) diff --git a/tools/Makefile b/tools/Makefile index 64d6fe8a..f30f8ef7 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -1,7 +1,7 @@ .PHONY: all clean CC := gcc -CFLAGS := -O3 -flto -std=c11 -Wall -Wextra -pedantic -Wno-missing-field-initializers +CFLAGS := -O3 -flto -std=c11 -Wall -Wextra -pedantic tools := \ gfx \ diff --git a/tools/pkmncompress.c b/tools/pkmncompress.c index db707653..f8899b1e 100644 --- a/tools/pkmncompress.c +++ b/tools/pkmncompress.c @@ -14,79 +14,46 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include -#include -#include -#include +#define PROGRAM_NAME "pkmncompress" +#define USAGE_OPTS "infile.2bpp outfile.pic" -typedef uint8_t u8; +#include "common.h" -u8 *compressed = NULL; -int xrows = 0; -int xwidth = 0; -int curbit = 0; -int curbyte = 0; +uint8_t compressed[15 * 15 * 0x10]; +int cur_bit; +int cur_byte; -void writebit(int bit) -{ - if (++curbit == 8) - { - curbyte++; - curbit = 0; +void write_bit(int bit) { + if (++cur_bit == 8) { + cur_byte++; + cur_bit = 0; } - compressed[curbyte] |= bit << (7 - curbit); + compressed[cur_byte] |= bit << (7 - cur_bit); } -void method_1(u8 *RAM) -{ - int i; - int j; - int nibble_1; - int nibble_2 = 0; - int code_1; - int code_2; - int table; - static int method_1[2][0x10] = { +void compress_plane(uint8_t *plane, int width) { + static int nybble_lookup[2][0x10] = { {0x0, 0x1, 0x3, 0x2, 0x6, 0x7, 0x5, 0x4, 0xC, 0xD, 0xF, 0xE, 0xA, 0xB, 0x9, 0x8}, - {0x8, 0x9, 0xB, 0xA, 0xE, 0xF, 0xD, 0xC, 0x4, 0x5, 0x7, 0x6, 0x2, 0x3, 0x1, 0x0} + {0x8, 0x9, 0xB, 0xA, 0xE, 0xF, 0xD, 0xC, 0x4, 0x5, 0x7, 0x6, 0x2, 0x3, 0x1, 0x0}, }; - - for (i = 0; i < xrows * xwidth * 8; i++) - { - j = i / xrows; - j += i % xrows * xwidth * 8; - if (!(i % xrows)) - { - nibble_2 = 0; + int ram_size = width * width * 8; + for (int i = 0, nybble_lo = 0; i < ram_size; i++) { + int m = i % width; + if (!m) { + nybble_lo = 0; } - nibble_1 = (RAM[j] >> 4) & 0x0F; - table = 0; - if (nibble_2 & 1) - { - table = 1; - } - code_1 = method_1[table][nibble_1]; - nibble_2 = RAM[j] & 0x0F; - table = 0; - if (nibble_1 & 1) - { - table = 1; - } - code_2 = method_1[table][nibble_2]; - RAM[j] = (code_1 << 4) | code_2; + int j = i / width + m * width * 8; + int nybble_hi = (plane[j] >> 4) & 0xF; + int code_1 = nybble_lookup[nybble_lo & 1][nybble_hi]; + nybble_lo = plane[j] & 0xF; + int code_2 = nybble_lookup[nybble_hi & 1][nybble_lo]; + plane[j] = (code_1 << 4) | code_2; } } -// "Get the previous power of 2. Deriving the bitcount from that seems to be faster on average than using the lookup table." -void RLE(int nums) -{ - int v; - int j; - int bitcount; - int number; - - bitcount = -1; - v = ++nums; +void rle_encode_number(int n) { + int bit_count = -1; + int v = ++n; v++; v |= v >> 1; v |= v >> 2; @@ -95,357 +62,172 @@ void RLE(int nums) v |= v >> 16; v -= v >> 1; v--; - - number = nums - v; - while(v) { + int number = n - v; + while (v) { v >>= 1; - bitcount++; + bit_count++; } - for(j = 0; j < bitcount; j++) { - writebit(1); + for (int j = 0; j < bit_count; j++) { + write_bit(1); } - writebit(0); - for(j = bitcount; j >= 0; j--) { - writebit((number >> j) & 1); + write_bit(0); + for (int j = bit_count; j >= 0; j--) { + write_bit((number >> j) & 1); } } -void RLE_old(int nums) -{ - int search; - int i; - int j; - int bitcount; - int number; - static int RLE[0x10] = {0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF, 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF}; +void write_data_packet(uint8_t *bit_groups, int n) { + for (int i = 0; i < n; i++) { + write_bit((bit_groups[i] >> 1) & 1); + write_bit(bit_groups[i] & 1); + } +} - bitcount = -1; - search = ++nums; - while (search > 0) - { - for (i = 0; i < 0xF; i++) - { - if (RLE[i] == search) - { - bitcount = i; - break; - } +int interpret_compress(uint8_t *plane1, uint8_t *plane2, int mode, int order, int width) { + int ram_size = width * width * 8; + uint8_t *_plane1 = xmalloc(ram_size); + uint8_t *_plane2 = xmalloc(ram_size); + if (order) { + memcpy(_plane1, plane2, ram_size); + memcpy(_plane2, plane1, ram_size); + } else { + memcpy(_plane1, plane1, ram_size); + memcpy(_plane2, plane2, ram_size); + } + if (mode != 1) { + for (int i = 0; i < ram_size; i++) { + _plane2[i] ^= _plane1[i]; } - if (bitcount != -1) - { - break; - } - search--; } - number = nums - RLE[bitcount]; - for (j = 0; j < bitcount; j++) - { - writebit(1); + compress_plane(_plane1, width); + if (mode != 2) { + compress_plane(_plane2, width); } - writebit(0); - for (j = bitcount; j >= 0; j--) - { - writebit((number >> j) & 1); - } -} - -void data_packet(u8 *bitgroups, int bgi) -{ - int i; - for (i = 0; i < bgi; i++) - { - writebit((bitgroups[i] >> 1) & 1); - writebit(bitgroups[i] & 1); - } -} - -int interpret_compress(u8 *RAM_1, u8 *RAM_2, int interpretation, int switchram) -{ - u8 *_1_RAM; - u8 *_2_RAM; - int i; - int ram; - int type; - int nums; - u8 *bitgroups; - int x; - int y; - int byte; - int bit; - int bitgroup; - int bgi = 0; - - int ram_size = xrows * xwidth * 8; - _1_RAM = (u8 *)calloc(ram_size, 1); - _2_RAM = (u8 *)calloc(ram_size, 1); - if (switchram) - { - memcpy(_1_RAM, RAM_2, ram_size); - memcpy(_2_RAM, RAM_1, ram_size); - } - else - { - memcpy(_1_RAM, RAM_1, ram_size); - memcpy(_2_RAM, RAM_2, ram_size); - } - - switch(interpretation) - { - case 1: - method_1(_1_RAM); - method_1(_2_RAM); - break; - case 2: - case 3: - for (i = 0; i < xrows * xwidth * 8; i++) - { - _2_RAM[i] ^= _1_RAM[i]; - } - method_1(_1_RAM); - break; - } - if (interpretation == 3) - { - method_1(_2_RAM); - } - - curbit = 7; - curbyte = 0; - compressed = (u8 *)calloc(0x310, 1); - compressed[0] = (xrows << 4) | xwidth; - writebit(switchram); - - for (ram = 0; ram < 2; ram++) - { - type = 0; - nums = 0; - bitgroups = (u8 *)calloc(0x1000, 1); - - for (x = 0; x < xwidth; x++) - { - for (bit = 0; bit < 8; bit += 2) - { - byte = x * xrows * 8; - for (y=0; y < xrows * 8; y++) - { - if (ram) - { - bitgroup = (_2_RAM[byte] >> (6 - bit)) & 3; - } - else - { - bitgroup = (_1_RAM[byte] >> (6 - bit)) & 3; - } - if (!bitgroup) - { - if (!type) - { - writebit(0); - } - else if (type == 1) - { + cur_bit = 7; + cur_byte = 0; + memset(compressed, 0, sizeof(compressed) / sizeof(*compressed)); + compressed[0] = (width << 4) | width; + write_bit(order); + uint8_t bit_groups[0x1000] = {0}; + int index = 0; + for (int plane = 0; plane < 2; plane++) { + int type = 0; + int nums = 0; + memset(bit_groups, 0, sizeof(bit_groups) / sizeof(*bit_groups)); + for (int x = 0; x < width; x++) { + for (int bit = 0; bit < 8; bit += 2) { + for (int y = 0, byte = x * width * 8; y < width * 8; y++, byte++) { + int bit_group = ((plane ? _plane2 : _plane1)[byte] >> (6 - bit)) & 3; + if (!bit_group) { + if (!type) { + write_bit(0); + } else if (type == 1) { nums++; - } - else - { - data_packet(bitgroups, bgi); - writebit(0); - writebit(0); + } else { + write_data_packet(bit_groups, index); + write_bit(0); + write_bit(0); } type = 1; - free(bitgroups); - bitgroups = (u8 *)calloc(0x1000, 1); - bgi = 0; - } - else - { - if (!type) - { - writebit(1); + memset(bit_groups, 0, sizeof(bit_groups) / sizeof(*bit_groups)); + index = 0; + } else { + if (!type) { + write_bit(1); + } else if (type == 1) { + rle_encode_number(nums); } - else if (type == 1) - { - RLE(nums); - } - type = -1; - bitgroups[bgi++] = bitgroup; + type = 2; + bit_groups[index++] = bit_group; nums = 0; } - byte++; } } } - if (type == 1) - { - RLE(nums); + if (type == 1) { + rle_encode_number(nums); + } else { + write_data_packet(bit_groups, index); } - else - { - data_packet(bitgroups, bgi); - } - if (!ram) - { - if (interpretation < 2) - { - writebit(0); - } - else - { - writebit(1); - writebit(interpretation - 2); + if (!plane) { + if (mode < 2) { + write_bit(0); + } else { + write_bit(1); + write_bit(mode - 2); } } } - free(bitgroups); - free(_1_RAM); - free(_2_RAM); - return (curbyte + 1) * 8 + curbit; + free(_plane1); + free(_plane2); + return (cur_byte + 1) * 8 + cur_bit; } -int compress(u8 *data, int width, int height) -{ - u8 *RAM_1; - u8 *RAM_2; - int i; - int mode; - int order; - int newsize; - int compressedsize; - int size = -1; - u8 *current = NULL; - int ram_size; - - xrows = height; - xwidth = width; - - ram_size = xrows * xwidth * 8; - - RAM_1 = (u8 *)calloc(ram_size, 1); - RAM_2 = (u8 *)calloc(ram_size, 1); - - for (i = 0; i < xrows * xwidth * 8; i++) - { - RAM_1[i] = data[(i << 1)]; - RAM_2[i] = data[(i << 1) | 1]; +int compress(uint8_t *data, int width) { + int ram_size = width * width * 8; + uint8_t *plane1 = xmalloc(ram_size); + uint8_t *plane2 = xmalloc(ram_size); + for (int i = 0; i < ram_size; i++) { + plane1[i] = data[i * 2]; + plane2[i] = data[i * 2 + 1]; } - - for (mode = 1; mode < 4; mode++) - { - for (order = 0; order < 2; order++) - { - if (!(mode == 1 && order == 0)) - { - newsize = interpret_compress(RAM_1, RAM_2, mode, order); - if (size == -1 || newsize < size) - { - if (current != NULL) - { - free(current); - } - current = (u8 *)calloc(0x310, 1); - memcpy(current, compressed, newsize / 8); - free(compressed); - size = newsize; - } + uint8_t current[sizeof(compressed) / sizeof(*compressed)] = {0}; + int compressed_size = -1; + for (int mode = 1; mode < 4; mode++) { + for (int order = 0; order < 2; order++) { + if (mode == 1 && order == 0) { + continue; + } + int new_size = interpret_compress(plane1, plane2, mode, order, width); + if (compressed_size == -1 || new_size < compressed_size) { + compressed_size = new_size; + memset(current, 0, sizeof(current) / sizeof(*current)); + memcpy(current, compressed, compressed_size / 8); } } } - compressed = (u8 *)calloc(0x310, 1); - compressedsize = size / 8; - memcpy(compressed, current, compressedsize); - free(current); - - free(RAM_1); - free(RAM_2); - - return compressedsize; + memset(compressed, 0, sizeof(compressed) / sizeof(*compressed)); + memcpy(compressed, current, compressed_size / 8); + free(plane1); + free(plane2); + return compressed_size / 8; } -uint8_t *transpose_tiles(uint8_t *data, int width, int height) -{ - int i; - int j; - int tile_size = 0x10; - - int size = width * height * tile_size; - u8 *transposed = calloc(size, 1); - for (i = 0; i < size; i++) - { - j = (i / 0x10) * width * 0x10; +uint8_t *transpose_tiles(uint8_t *data, int width) { + int size = width * width * 0x10; + uint8_t *transposed = xmalloc(size); + for (int i = 0; i < size; i++) { + int j = (i / 0x10) * width * 0x10; j = (j % size) + 0x10 * (j / size) + (i % 0x10); transposed[j] = data[i]; } - free(data); - return transposed; } -int main(int argc, char *argv[]) -{ +int main(int argc, char *argv[]) { + if (argc != 3) { + usage_exit(1); + } + + long filesize; + uint8_t *data = read_u8(argv[1], &filesize); + int width = 0; - int height = 0; - int transpose = 1; - - if (argc != 3) - { - fputs("Usage: pkmncompress infile.2bpp outfile.pic\n", stderr); - return EXIT_FAILURE; - } - - char *infile = argv[1]; - char *outfile = argv[2]; - - FILE *f = fopen(infile, "rb"); - if (!f) { - fprintf(stderr, "failed to open for reading: '%s'\n", infile); - return EXIT_FAILURE; - } - fseek(f, 0, SEEK_END); - int filesize = ftell(f); - - for (int i = 0; i < 32; i++) { - width = i; - height = i; - if (width * height * 16 >= filesize) { + for (int w = 1; w < 16; w++) { + if (filesize == w * w * 0x10) { + width = w; break; } } - if (width * height * 16 < filesize) { - fprintf(stderr, "file too big: '%s' (%x)\n", infile, filesize); - return EXIT_FAILURE; - } - if (width * height * 16 > filesize) { - fprintf(stderr, "wrong filesize for '%s' (%x). must be a square image of 16-byte tiles\n", infile, filesize); - return EXIT_FAILURE; + if (!width) { + error_exit("Image is not a square, or is larger than 15x15 tiles"); } - u8 *data = (u8 *)calloc(filesize, 1); - fseek(f, 0, SEEK_SET); - int size = fread(data, 1, filesize, f); - fclose(f); - if (size != filesize) { - fprintf(stderr, "failed to read: '%s'\n", infile); - return EXIT_FAILURE; - } - - if (transpose) { - data = transpose_tiles(data, width, height); - } - - int compressed_size = compress(data, width, height); + data = transpose_tiles(data, width); + int compressed_size = compress(data, width); + write_u8(argv[2], compressed, compressed_size); free(data); - - f = fopen(outfile, "wb"); - if (!f) { - fprintf(stderr, "failed to open for writing: '%s'\n", outfile); - return EXIT_FAILURE; - } - fwrite(compressed, 1, compressed_size, f); - fclose(f); - - free(compressed); - - return EXIT_SUCCESS; + return 0; } From fe8d3c51a4056f0dd61dbef332ad9e714b82089a Mon Sep 17 00:00:00 2001 From: vulcandth Date: Sat, 26 Mar 2022 15:59:36 -0500 Subject: [PATCH 066/119] Build the Virtual Console patches with `make red_vc` and `make blue_vc` (#351) --- .gitattributes | 3 + .gitignore | 1 + Makefile | 68 ++++- README.md | 2 + data/text/text_4.asm | 10 + engine/battle/animations.asm | 29 ++ engine/battle/core.asm | 25 ++ engine/gfx/palettes.asm | 1 + engine/link/cable_club.asm | 4 + engine/link/cable_club_npc.asm | 4 + engine/menus/main_menu.asm | 2 + engine/menus/save.asm | 43 +-- home/serial.asm | 14 + macros.asm | 1 + macros/vc.asm | 39 +++ roms.sha1 | 2 + sram.asm | 2 + tools/.gitignore | 3 +- tools/Makefile | 1 + tools/make_patch.c | 469 ++++++++++++++++++++++++++++++++ vc/pokeblue.constants.asm | 71 +++++ vc/pokeblue.patch.template | 436 +++++++++++++++++++++++++++++ vc/pokered.constants.asm | 74 +++++ vc/pokered.patch.template | 482 +++++++++++++++++++++++++++++++++ 24 files changed, 1752 insertions(+), 34 deletions(-) create mode 100644 macros/vc.asm create mode 100644 tools/make_patch.c create mode 100644 vc/pokeblue.constants.asm create mode 100644 vc/pokeblue.patch.template create mode 100644 vc/pokered.constants.asm create mode 100644 vc/pokered.patch.template diff --git a/.gitattributes b/.gitattributes index 48b1085c..e22e2bbb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -15,3 +15,6 @@ *.wav binary *.blk binary *.pic binary + +# Declare files that will always have CRLF line endings on checkout. +*.patch.template text eol=crlf linguist-language=INI diff --git a/.gitignore b/.gitignore index 8643ec14..53f35143 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ # compiled roms *.gbc *.gb +*.patch # rgbds extras *.map diff --git a/Makefile b/Makefile index 08abfa12..3a23f759 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,27 @@ -roms := pokered.gbc pokeblue.gbc pokeblue_debug.gbc +roms := \ + pokered.gbc \ + pokeblue.gbc \ + pokeblue_debug.gbc +patches := \ + pokered.patch \ + pokeblue.patch rom_obj := \ -audio.o \ -home.o \ -main.o \ -maps.o \ -text.o \ -wram.o \ -gfx/pics.o \ -gfx/sprites.o \ -gfx/tilesets.o + audio.o \ + home.o \ + main.o \ + maps.o \ + text.o \ + wram.o \ + gfx/pics.o \ + gfx/sprites.o \ + gfx/tilesets.o pokered_obj := $(rom_obj:.o=_red.o) pokeblue_obj := $(rom_obj:.o=_blue.o) pokeblue_debug_obj := $(rom_obj:.o=_blue_debug.o) +pokered_vc_obj := $(rom_obj:.o=_red_vc.o) +pokeblue_vc_obj := $(rom_obj:.o=_blue_vc.o) ### Build tools @@ -43,15 +51,34 @@ all: $(roms) red: pokered.gbc blue: pokeblue.gbc blue_debug: pokeblue_debug.gbc +red_vc: pokered.patch +blue_vc: pokeblue.patch clean: tidy - find gfx \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -delete + find gfx \ + \( -iname '*.1bpp' \ + -o -iname '*.2bpp' \ + -o -iname '*.pic' \) \ + -delete tidy: - $(RM) $(roms) $(pokered_obj) $(pokeblue_obj) $(pokeblue_debug_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o + $(RM) $(roms) \ + $(roms:.gbc=.sym) \ + $(roms:.gbc=.map) \ + $(patches) \ + $(patches:.patch=_vc.gbc) \ + $(patches:.patch=_vc.sym) \ + $(patches:.patch=_vc.map) \ + $(patches:%.patch=vc/%.constants.sym) \ + $(pokered_obj) \ + $(pokeblue_obj) \ + $(pokered_vc_obj) \ + $(pokeblue_vc_obj) \ + $(pokeblue_debug_obj) \ + rgbdscheck.o $(MAKE) clean -C tools/ -compare: $(roms) +compare: $(roms) $(patches) @$(SHA1) -c roms.sha1 tools: @@ -67,6 +94,11 @@ endif $(pokered_obj): RGBASMFLAGS += -D _RED $(pokeblue_obj): RGBASMFLAGS += -D _BLUE $(pokeblue_debug_obj): RGBASMFLAGS += -D _BLUE -D _DEBUG +$(pokered_vc_obj): RGBASMFLAGS += -D _RED -D _RED_VC +$(pokeblue_vc_obj): RGBASMFLAGS += -D _BLUE -D _BLUE_VC + +%.patch: vc/%.constants.sym %_vc.gbc %.gbc vc/%.patch.template + tools/make_patch $*_vc.sym $^ $@ rgbdscheck.o: rgbdscheck.asm $(RGBASM) -o $@ $< @@ -89,6 +121,12 @@ $(info $(shell $(MAKE) -C tools)) $(foreach obj, $(pokered_obj), $(eval $(call DEP,$(obj),$(obj:_red.o=.asm)))) $(foreach obj, $(pokeblue_obj), $(eval $(call DEP,$(obj),$(obj:_blue.o=.asm)))) $(foreach obj, $(pokeblue_debug_obj), $(eval $(call DEP,$(obj),$(obj:_blue_debug.o=.asm)))) +$(foreach obj, $(pokered_vc_obj), $(eval $(call DEP,$(obj),$(obj:_red_vc.o=.asm)))) +$(foreach obj, $(pokeblue_vc_obj), $(eval $(call DEP,$(obj),$(obj:_blue_vc.o=.asm)))) + +# Dependencies for VC files that need to run scan_includes +%.constants.sym: %.constants.asm $(shell tools/scan_includes %.constants.asm) | rgbdscheck.o + $(RGBASM) $< > $@ endif @@ -98,11 +136,15 @@ endif pokered_pad = 0x00 pokeblue_pad = 0x00 +pokered_vc_pad = 0x00 +pokeblue_vc_pad = 0x00 pokeblue_debug_pad = 0xff pokered_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON RED" pokeblue_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON BLUE" pokeblue_debug_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON BLUE" +pokered_vc_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON RED" +pokeblue_vc_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON BLUE" %.gbc: $$(%_obj) layout.link $(RGBLINK) -p $($*_pad) -d -m $*.map -n $*.sym -l layout.link -o $@ $(filter %.o,$^) diff --git a/README.md b/README.md index bfffd4e9..950b8b99 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ It builds the following ROMs: - Pokemon Red (UE) [S][!].gb `sha1: ea9bcae617fdf159b045185467ae58b2e4a48b9a` - Pokemon Blue (UE) [S][!].gb `sha1: d7037c83e1ae5b39bde3c30787637ba1d4c48ce2` - BLUEMONS.GB (debug build) `sha1: 5b1456177671b79b263c614ea0e7cc9ac542e9c4` +- dmgapae0.e69.patch `sha1: 0fb5f743696adfe1dbb2e062111f08f9bc5a293a` +- dmgapee0.e68.patch `sha1: ed4be94dc29c64271942c87f2157bca9ca1019c7` To set up the repository, see [**INSTALL.md**](INSTALL.md). diff --git a/data/text/text_4.asm b/data/text/text_4.asm index 6a472dc2..60ec7abe 100644 --- a/data/text/text_4.asm +++ b/data/text/text_4.asm @@ -211,9 +211,19 @@ _CableClubNPCPleaseWaitText:: text_end _CableClubNPCLinkClosedBecauseOfInactivityText:: + vc_patch Change_MSG +IF DEF(_RED_VC) || DEF(_BLUE_VC) + text "Please come again!" + done + text_start + text "sed because of" + cont "inactivity." +ELSE text "The link has been" line "closed because of" cont "inactivity." +ENDC + vc_patch_end para "Please contact" line "your friend and" diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 8f113adc..f1dd3d4e 100644 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -176,8 +176,12 @@ PlayAnimation: ld h, [hl] ld l, a .animationLoop + vc_hook FPA_Thunderbolt_End ld a, [hli] + vc_hook_red FPA_007_End + vc_hook_blue FPA_009_End cp -1 + vc_hook_blue FPA_008_End jr z, .AnimationOver cp FIRST_SE_ID ; is this subanimation or a special effect? jr c, .playSubanimation @@ -246,37 +250,55 @@ PlayAnimation: ld a, [wAnimPalette] ldh [rOBP0], a call LoadAnimationTileset + vc_hook FPA_001_Begin call LoadSubanimation call PlaySubanimation + vc_hook FPA_001_End pop af + vc_hook_red FPA_008_End ldh [rOBP0], a .nextAnimationCommand + vc_hook FPA_005_End pop hl + vc_hook FPA_002_End jr .animationLoop .AnimationOver ret LoadSubanimation: + vc_hook FPA_002_Begin ld a, [wSubAnimAddrPtr + 1] + vc_hook FPA_003_Begin ld h, a + vc_hook_red FPA_131_Begin ld a, [wSubAnimAddrPtr] + vc_hook_red FPA_56_Begin ld l, a ld a, [hli] ld e, a + vc_hook FPA_76_Begin ld a, [hl] + vc_hook FPA_Thunderbolt_Begin ld d, a ; de = address of subanimation ld a, [de] + vc_hook_blue FPA_012_Begin ld b, a + vc_hook FPA_Spore_Begin and %00011111 + vc_hook FPA_Bubblebeam_Begin ld [wSubAnimCounter], a ; number of frame blocks + vc_hook_red FPA_010_Begin + vc_hook_blue FPA_009_Begin ld a, b and %11100000 cp SUBANIMTYPE_ENEMY << 5 + vc_hook_blue FPA_004_Begin jr nz, .isNotType5 .isType5 call GetSubanimationTransform2 jr .saveTransformation .isNotType5 + vc_hook FPA_Hyper_Beam_Begin call GetSubanimationTransform1 .saveTransformation ; place the upper 3 bits of a into bits 0-2 of a before storing @@ -307,6 +329,7 @@ LoadSubanimation: ; sets the transform to SUBANIMTYPE_NORMAL if it's the player's turn ; sets the transform to the subanimation type if it's the enemy's turn GetSubanimationTransform1: + vc_hook FPA_Reflect_Begin ld b, a ldh a, [hWhoseTurn] and a @@ -399,11 +422,15 @@ MoveAnimation: jr nz, .animationsDisabled call ShareMoveAnimations call PlayAnimation + vc_hook_red FPA_004_End + vc_hook_blue FPA_011_End jr .next4 .animationsDisabled ld c, 30 call DelayFrames .next4 + vc_hook_red FPA_010_End + vc_hook_blue FPA_012_End call PlayApplyingAttackAnimation ; shake the screen or flash the pic in and out (to show damage) .animationFinished call WaitForSoundToFinish @@ -541,6 +568,7 @@ SetAnimationPalette: .notSGB ld a, $e4 ld [wAnimPalette], a + vc_hook FPA_Dream_Eater_Begin ldh [rOBP0], a ld a, $6c ldh [rOBP1], a @@ -956,6 +984,7 @@ AnimationFlashScreenLong: ld [wFlashScreenLongCounter], a pop hl jr nz, .loop + vc_hook_red FPA_phy_End ret ; BG palettes diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 4a166f7e..e7711707 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -3023,6 +3023,7 @@ LinkBattleExchangeData: ld a, b .doExchange ld [wSerialExchangeNybbleSendData], a + vc_hook send_byt2 callfar PrintWaitingText .syncLoop1 call Serial_ExchangeNybble @@ -3030,18 +3031,33 @@ LinkBattleExchangeData: ld a, [wSerialExchangeNybbleReceiveData] inc a jr z, .syncLoop1 + vc_hook send_byt2_ret + vc_patch FIGHT +IF DEF(_RED_VC) || DEF(_BLUE_VC) + ld b, 26 +ELSE ld b, 10 +ENDC + vc_patch_end .syncLoop2 call DelayFrame call Serial_ExchangeNybble dec b jr nz, .syncLoop2 + vc_hook send_dummy + vc_patch FIGHT2 +IF DEF(_RED_VC) || DEF(_BLUE_VC) + ld b, 26 +ELSE ld b, 10 +ENDC + vc_patch_end .syncLoop3 call DelayFrame call Serial_SendZeroByte dec b jr nz, .syncLoop3 + vc_hook send_dummy_end ret ExecutePlayerMove: @@ -6661,7 +6677,14 @@ BattleRandom: ld a, [hl] pop bc pop hl + vc_hook fight_ret_c + vc_patch fight_ret +IF DEF(_RED_VC) || DEF(_BLUE_VC) + ret +ELSE ret c +ENDC + vc_patch_end ; if we picked the last seed, we need to recalculate the nine seeds push hl @@ -6726,7 +6749,9 @@ HandleExplodingAnimation: PlayMoveAnimation: ld [wAnimationID], a + vc_hook_red FPA_conf_Begin call Delay3 + vc_hook_red FPA_phy_Begin predef_jump MoveAnimation InitBattle:: diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index a43c66ba..d26d82a6 100644 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -484,6 +484,7 @@ CheckSGB: ldh a, [rJOYP] ldh a, [rJOYP] call Wait7000 + vc_hook Network_RESET call Wait7000 ld a, $30 ldh [rJOYP], a diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index cabc19ab..296900a6 100644 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -124,18 +124,21 @@ CableClub_DoBattleOrTradeAgain: ld hl, wSerialRandomNumberListBlock ld de, wSerialOtherGameboyRandomNumberListBlock ld bc, $11 + vc_hook Network17 call Serial_ExchangeBytes ld a, SERIAL_NO_DATA_BYTE ld [de], a ld hl, wSerialPlayerDataBlock ld de, wSerialEnemyDataBlock ld bc, $1a8 + vc_hook Network424 call Serial_ExchangeBytes ld a, SERIAL_NO_DATA_BYTE ld [de], a ld hl, wSerialPartyMonsPatchList ld de, wSerialEnemyMonsPatchList ld bc, $c8 + vc_hook Network200 call Serial_ExchangeBytes ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) ldh [rIE], a @@ -859,6 +862,7 @@ TradeCenter_Trade: ld de, TradeCompleted call PlaceString predef SaveSAVtoSRAM2 + vc_hook save_game_end ld c, 50 call DelayFrames xor a diff --git a/engine/link/cable_club_npc.asm b/engine/link/cable_club_npc.asm index 594adf08..e2a9bc88 100644 --- a/engine/link/cable_club_npc.asm +++ b/engine/link/cable_club_npc.asm @@ -27,6 +27,7 @@ CableClubNPC:: xor a ldh [hSerialReceiveData], a ld a, START_TRANSFER_EXTERNAL_CLOCK + vc_hook linkCable_fake_begin ldh [rSC], a ld a, [wLinkTimeoutCounter] dec a @@ -54,6 +55,7 @@ CableClubNPC:: ld a, [wCurrentMenuItem] and a jr nz, .choseNo + vc_hook linkCable_block_input callfar SaveSAVtoSRAM call WaitForSoundToFinish ld a, SFX_SAVE @@ -66,8 +68,10 @@ CableClubNPC:: xor a ld [hl], a ldh [hSerialReceivedNewData], a + vc_hook linkCable_fake_end ld [wSerialExchangeNybbleSendData], a call Serial_SyncAndExchangeNybble + vc_hook Network_RECHECK ld hl, wUnknownSerialCounter ld a, [hli] inc a diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 7e4cc9be..0708c0ce 100644 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -284,9 +284,11 @@ LinkMenu: .choseCancel xor a ld [wMenuJoypadPollCount], a + vc_hook Network_STOP call Delay3 call CloseLinkConnection ld hl, LinkCanceledText + vc_hook Network_END call PrintText ld hl, wd72e res 6, [hl] diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 83a5ca9b..fdf69765 100644 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -37,20 +37,23 @@ LoadSAV0: ld a, $1 ld [MBC1SRamBankingMode], a ld [MBC1SRamBank], a - ld hl, sPlayerName ; hero name located in SRAM - ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV +; This vc_hook does not have to be in any particular location. +; It is defined here because it refers to the same labels as the two lines below. + vc_hook SaveLimit + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum + ld a, [sMainDataCheckSum] cp c jp z, .checkSumsMatched ; If the computed checksum didn't match the saved on, try again. - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum + ld a, [sMainDataCheckSum] cp c jp nz, SAVBadCheckSum @@ -84,11 +87,11 @@ LoadSAV1: ld a, $1 ld [MBC1SRamBankingMode], a ld [MBC1SRamBank], a - ld hl, sPlayerName ; hero name located in SRAM - ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum + ld a, [sMainDataCheckSum] cp c jr nz, SAVBadCheckSum ld hl, sCurBoxData @@ -104,11 +107,11 @@ LoadSAV2: ld a, $1 ld [MBC1SRamBankingMode], a ld [MBC1SRamBank], a - ld hl, sPlayerName ; hero name located in SRAM - ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum + ld a, [sMainDataCheckSum] cp c jp nz, SAVBadCheckSum ld hl, sPartyData @@ -219,8 +222,8 @@ SaveSAVtoSRAM0: call CopyData ldh a, [hTileAnimations] ld [sTileAnimations], a - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld [sMainDataCheckSum], a xor a @@ -239,8 +242,8 @@ SaveSAVtoSRAM1: ld de, sCurBoxData ld bc, wBoxDataEnd - wBoxDataStart call CopyData - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld [sMainDataCheckSum], a xor a @@ -262,8 +265,8 @@ SaveSAVtoSRAM2: ld de, sMainData ld bc, wPokedexSeenEnd - wPokedexOwned call CopyData - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld [sMainDataCheckSum], a xor a @@ -612,8 +615,8 @@ SAVCheckRandomID: ld a, [sPlayerName] and a jr z, .next - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName + ld hl, sGameData + ld bc, sGameDataEnd - sGameData call SAVCheckSum ld c, a ld a, [sMainDataCheckSum] diff --git a/home/serial.asm b/home/serial.asm index bd984d4f..7fb6b82c 100644 --- a/home/serial.asm +++ b/home/serial.asm @@ -230,6 +230,7 @@ Serial_PrintWaitingTextAndSyncAndExchangeNybble:: jp LoadScreenTilesFromBuffer1 Serial_SyncAndExchangeNybble:: + vc_hook send_send_buf2 ld a, $ff ld [wSerialExchangeNybbleReceiveData], a .loop1 @@ -253,13 +254,25 @@ Serial_SyncAndExchangeNybble:: ld a, [wSerialExchangeNybbleReceiveData] inc a jr z, .loop1 + vc_patch Network10 +IF DEF(_RED_VC) || DEF(_BLUE_VC) + ld b, 26 +ELSE ld b, 10 +ENDC + vc_patch_end .loop2 call DelayFrame call Serial_ExchangeNybble dec b jr nz, .loop2 + vc_patch Network11 +IF DEF(_RED_VC) || DEF(_BLUE_VC) + ld b, 26 +ELSE ld b, 10 +ENDC + vc_patch_end .loop3 call DelayFrame call Serial_SendZeroByte @@ -267,6 +280,7 @@ Serial_SyncAndExchangeNybble:: jr nz, .loop3 ld a, [wSerialExchangeNybbleReceiveData] ld [wSerialSyncAndExchangeNybbleReceiveData], a + vc_hook send_send_buf2_ret ret Serial_ExchangeNybble:: diff --git a/macros.asm b/macros.asm index 4eacddaf..466cc1ad 100644 --- a/macros.asm +++ b/macros.asm @@ -6,6 +6,7 @@ INCLUDE "macros/data.asm" INCLUDE "macros/code.asm" INCLUDE "macros/gfx.asm" INCLUDE "macros/coords.asm" +INCLUDE "macros/vc.asm" INCLUDE "macros/scripts/audio.asm" INCLUDE "macros/scripts/maps.asm" diff --git a/macros/vc.asm b/macros/vc.asm new file mode 100644 index 00000000..0d6b8db0 --- /dev/null +++ b/macros/vc.asm @@ -0,0 +1,39 @@ +vc_hook: MACRO +IF DEF(_RED_VC) || DEF(_BLUE_VC) +.VC_\1:: +ENDC +ENDM + +vc_hook_red: MACRO +IF DEF(_RED_VC) +.VC_\1:: +ENDC +ENDM + +vc_hook_blue: MACRO +IF DEF(_BLUE_VC) +.VC_\1:: +ENDC +ENDM + +vc_patch: MACRO +IF DEF(_RED_VC) || DEF(_BLUE_VC) + ASSERT !DEF(CURRENT_VC_PATCH), "Already started a vc_patch" +CURRENT_VC_PATCH EQUS "\1" +.VC_{CURRENT_VC_PATCH}:: +ENDC +ENDM + +vc_patch_end: MACRO +IF DEF(_RED_VC) || DEF(_BLUE_VC) + ASSERT DEF(CURRENT_VC_PATCH), "No vc_patch started" +.VC_{CURRENT_VC_PATCH}_End:: + PURGE CURRENT_VC_PATCH +ENDC +ENDM + +vc_assert: MACRO +IF DEF(_RED_VC) || DEF(_BLUE_VC) + ASSERT \# +ENDC +ENDM diff --git a/roms.sha1 b/roms.sha1 index 44e94aaf..65ba4d28 100644 --- a/roms.sha1 +++ b/roms.sha1 @@ -1,3 +1,5 @@ ea9bcae617fdf159b045185467ae58b2e4a48b9a *pokered.gbc d7037c83e1ae5b39bde3c30787637ba1d4c48ce2 *pokeblue.gbc 5b1456177671b79b263c614ea0e7cc9ac542e9c4 *pokeblue_debug.gbc +0fb5f743696adfe1dbb2e062111f08f9bc5a293a *pokered.patch +ed4be94dc29c64271942c87f2157bca9ca1019c7 *pokeblue.patch diff --git a/sram.asm b/sram.asm index 776610c5..68451791 100644 --- a/sram.asm +++ b/sram.asm @@ -13,12 +13,14 @@ SECTION "Save Data", SRAM ds $598 +sGameData:: sPlayerName:: ds NAME_LENGTH sMainData:: ds wMainDataEnd - wMainDataStart sSpriteData:: ds wSpriteDataEnd - wSpriteDataStart sPartyData:: ds wPartyDataEnd - wPartyDataStart sCurBoxData:: ds wBoxDataEnd - wBoxDataStart sTileAnimations:: db +sGameDataEnd:: sMainDataCheckSum:: db diff --git a/tools/.gitignore b/tools/.gitignore index 967af106..7955375e 100644 --- a/tools/.gitignore +++ b/tools/.gitignore @@ -1,3 +1,4 @@ -scan_includes gfx +make_patch pkmncompress +scan_includes diff --git a/tools/Makefile b/tools/Makefile index f30f8ef7..f00a0486 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -5,6 +5,7 @@ CFLAGS := -O3 -flto -std=c11 -Wall -Wextra -pedantic tools := \ gfx \ + make_patch \ pkmncompress \ scan_includes diff --git a/tools/make_patch.c b/tools/make_patch.c new file mode 100644 index 00000000..29d798f6 --- /dev/null +++ b/tools/make_patch.c @@ -0,0 +1,469 @@ +#define PROGRAM_NAME "make_patch" +#define USAGE_OPTS "labels.sym constants.sym patched.gbc original.gbc vc.patch.template vc.patch" + +#include "common.h" + +#include + +struct Buffer { + size_t item_size; + size_t size; + size_t capacity; + void *data; +}; + +struct Symbol { + struct Symbol *next; + unsigned int address; + unsigned int offset; + char name[]; // C99 FAM +}; + +struct Patch { + unsigned int offset; + unsigned int size; +}; + +struct Buffer *buffer_create(size_t item_size) { + struct Buffer *buffer = xmalloc(sizeof(*buffer)); + buffer->item_size = item_size; + buffer->size = 0; + buffer->capacity = 0x10; + buffer->data = xmalloc(buffer->capacity * item_size); + return buffer; +} + +void buffer_append(struct Buffer *buffer, const void *item) { + if (buffer->size >= buffer->capacity) { + buffer->capacity = (buffer->capacity + 1) * 2; + buffer->data = xrealloc(buffer->data, buffer->capacity * buffer->item_size); + } + memcpy((char *)buffer->data + (buffer->size++ * buffer->item_size), item, buffer->item_size); +} + +void buffer_free(struct Buffer *buffer) { + free(buffer->data); + free(buffer); +} + +void symbol_append(struct Symbol **symbols, const char *name, int bank, int address) { + size_t name_len = strlen(name) + 1; + struct Symbol *symbol = xmalloc(sizeof(*symbol) + name_len); + symbol->address = address; + symbol->offset = address < 0x8000 + ? (bank > 0 ? address + (bank - 1) * 0x4000 : address) // ROM addresses are relative to their bank + : address - 0x8000; // RAM addresses are relative to the start of all RAM + memcpy(symbol->name, name, name_len); + symbol->next = *symbols; + *symbols = symbol; +} + +void symbol_free(struct Symbol *symbols) { + for (struct Symbol *next; symbols; symbols = next) { + next = symbols->next; + free(symbols); + } +} + +const struct Symbol *symbol_find(const struct Symbol *symbols, const char *name) { + size_t name_len = strlen(name); + for (const struct Symbol *symbol = symbols; symbol; symbol = symbol->next) { + size_t sym_name_len = strlen(symbol->name); + if (name_len > sym_name_len) { + continue; + } + const char *sym_name = symbol->name; + if (name[0] == '.') { + // If `name` is a local label, compare it to the local part of `symbol->name` + sym_name += sym_name_len - name_len; + } + if (!strcmp(sym_name, name)) { + return symbol; + } + } + error_exit("Error: Unknown symbol: \"%s\"\n", name); +} + +const struct Symbol *symbol_find_cat(const struct Symbol *symbols, const char *prefix, const char *suffix) { + char *sym_name = xmalloc(strlen(prefix) + strlen(suffix) + 1); + sprintf(sym_name, "%s%s", prefix, suffix); + const struct Symbol *symbol = symbol_find(symbols, sym_name); + free(sym_name); + return symbol; +} + +int parse_number(const char *input, int base) { + char *endptr; + int n = (int)strtol(input, &endptr, base); + if (endptr == input || *endptr || n < 0) { + error_exit("Error: Cannot parse number: \"%s\"\n", input); + } + return n; +} + +void parse_symbol_value(char *input, int *restrict bank, int *restrict address) { + char *colon = strchr(input, ':'); + if (!colon) { + error_exit("Error: Cannot parse bank+address: \"%s\"\n", input); + } + *colon++ = '\0'; + *bank = parse_number(input, 16); + *address = parse_number(colon, 16); +} + +void parse_symbols(const char *filename, struct Symbol **symbols) { + FILE *file = xfopen(filename, 'r'); + struct Buffer *buffer = buffer_create(1); + + enum { SYM_PRE, SYM_VALUE, SYM_SPACE, SYM_NAME } state = SYM_PRE; + int bank = 0; + int address = 0; + + for (;;) { + int c = getc(file); + if (c == EOF || c == '\n' || c == '\r' || c == ';' || (state == SYM_NAME && (c == ' ' || c == '\t'))) { + if (state == SYM_NAME) { + // The symbol name has ended; append the buffered symbol + buffer_append(buffer, &(char []){'\0'}); + symbol_append(symbols, buffer->data, bank, address); + } + // Skip to the next line, ignoring anything after the symbol value and name + state = SYM_PRE; + while (c != EOF && c != '\n' && c != '\r') { + c = getc(file); + } + if (c == EOF) { + break; + } + } else if (c != ' ' && c != '\t') { + if (state == SYM_PRE || state == SYM_SPACE) { + // The symbol value or name has started; buffer its contents + if (++state == SYM_NAME) { + // The symbol name has started; parse the buffered value + buffer_append(buffer, &(char []){'\0'}); + parse_symbol_value(buffer->data, &bank, &address); + } + buffer->size = 0; + } + buffer_append(buffer, &c); + } else if (state == SYM_VALUE) { + // The symbol value has ended; wait to see if a name comes after it + state = SYM_SPACE; + } + } + + fclose(file); + buffer_free(buffer); +} + +int strfind(const char *s, const char *list[], int count) { + for (int i = 0; i < count; i++) { + if (!strcmp(s, list[i])) { + return i; + } + } + return -1; +} + +#define vstrfind(s, ...) strfind(s, (const char *[]){__VA_ARGS__}, sizeof (const char *[]){__VA_ARGS__} / sizeof(const char *)) + +int parse_arg_value(const char *arg, bool absolute, const struct Symbol *symbols, const char *patch_name) { + // Comparison operators for "ConditionValueB" evaluate to their particular values + int op = vstrfind(arg, "==", ">", "<", ">=", "<=", "!=", "||"); + if (op >= 0) { + return op == 6 ? 0x11 : op; // "||" is 0x11 + } + + // Literal numbers evaluate to themselves + if (isdigit((unsigned)arg[0]) || arg[0] == '+') { + return parse_number(arg, 0); + } + + // Symbols evaluate to their offset or address, plus an optional offset mod + int offset_mod = 0; + char *plus = strchr(arg, '+'); + if (plus) { + offset_mod = parse_number(plus, 0); + *plus = '\0'; + } + const char *sym_name = !strcmp(arg, "@") ? patch_name : arg; // "@" is the current patch label + const struct Symbol *symbol = symbol_find(symbols, sym_name); + return (absolute ? symbol->offset : symbol->address) + offset_mod; +} + +void interpret_command(char *command, const struct Symbol *current_hook, const struct Symbol *symbols, struct Buffer *patches, FILE *restrict new_rom, FILE *restrict orig_rom, FILE *restrict output) { + // Strip all leading spaces and all but one trailing space + int x = 0; + for (int i = 0; command[i]; i++) { + if (!isspace((unsigned)command[i]) || (i > 0 && !isspace((unsigned)command[i - 1]))) { + command[x++] = command[i]; + } + } + command[x - (x > 0 && isspace((unsigned)command[x - 1]))] = '\0'; + + // Count the arguments + int argc = 0; + for (const char *c = command; *c; c++) { + if (isspace((unsigned)*c)) { + argc++; + } + } + + // Get the arguments + char *argv[argc]; // VLA + char *arg = command; + for (int i = 0; i < argc; i++) { + while (*arg && !isspace((unsigned)*arg)) { + arg++; + } + if (!*arg) { + break; + } + *arg++ = '\0'; + argv[i] = arg; + } + + // Use the arguments + if (vstrfind(command, "patch", "PATCH", "patch_", "PATCH_", "patch/", "PATCH/") >= 0) { + if (argc > 2) { + error_exit("Error: Invalid arguments for command: \"%s\"\n", command); + } + if (!current_hook) { + error_exit("Error: No current patch for command: \"%s\"\n", command); + } + int current_offset = current_hook->offset + (argc > 0 ? parse_number(argv[0], 0) : 0); + if (fseek(orig_rom, current_offset, SEEK_SET)) { + error_exit("Error: Cannot seek to \"vc_patch %s\" in the original ROM\n", current_hook->name); + } + if (fseek(new_rom, current_offset, SEEK_SET)) { + error_exit("Error: Cannot seek to \"vc_patch %s\" in the new ROM\n", current_hook->name); + } + int length; + if (argc == 2) { + length = parse_number(argv[1], 0); + } else { + const struct Symbol *current_hook_end = symbol_find_cat(symbols, current_hook->name, "_End"); + length = current_hook_end->offset - current_offset; + } + buffer_append(patches, &(struct Patch){current_offset, length}); + bool modified = false; + if (length == 1) { + int c = getc(new_rom); + modified = c != getc(orig_rom); + fprintf(output, isupper((unsigned)command[0]) ? "0x%02X" : "0x%02x", c); + } else { + if (command[strlen(command) - 1] != '/') { + fprintf(output, command[strlen(command) - 1] == '_' ? "a%d: " : "a%d:", length); + } + for (int i = 0; i < length; i++) { + if (i) { + putc(' ', output); + } + int c = getc(new_rom); + modified |= c != getc(orig_rom); + fprintf(output, isupper((unsigned)command[0]) ? "%02X" : "%02x", c); + } + } + if (!modified) { + fprintf(stderr, PROGRAM_NAME ": Warning: \"vc_patch %s\" doesn't alter the ROM\n", current_hook->name); + } + + } else if (vstrfind(command, "dws", "DWS", "dws_", "DWS_", "dws/", "DWS/") >= 0) { + if (argc < 1) { + error_exit("Error: Invalid arguments for command: \"%s\"\n", command); + } + if (command[strlen(command) - 1] != '/') { + fprintf(output, command[strlen(command) - 1] == '_' ? "a%d: " : "a%d:", argc * 2); + } + for (int i = 0; i < argc; i++) { + int value = parse_arg_value(argv[i], false, symbols, current_hook->name); + if (value > 0xffff) { + error_exit("Error: Invalid value for \"%s\" argument: 0x%x\n", command, value); + } + if (i) { + putc(' ', output); + } + fprintf(output, isupper((unsigned)command[0]) ? "%02X %02X": "%02x %02x", value & 0xff, value >> 8); + } + + } else if (vstrfind(command, "db", "DB", "db_", "DB_", "db/", "DB/") >= 0) { + if (argc != 1) { + error_exit("Error: Invalid arguments for command: \"%s\"\n", command); + } + int value = parse_arg_value(argv[0], false, symbols, current_hook->name); + if (value > 0xff) { + error_exit("Error: Invalid value for \"%s\" argument: 0x%x\n", command, value); + } + if (command[strlen(command) - 1] != '/') { + fputs(command[strlen(command) - 1] == '_' ? "a1: " : "a1:", output); + } + fprintf(output, isupper((unsigned)command[0]) ? "%02X" : "%02x", value); + + } else if (vstrfind(command, "hex", "HEX", "HEx", "Hex", "heX", "hEX", "hex~", "HEX~", "HEx~", "Hex~", "heX~", "hEX~") >= 0) { + if (argc != 1 && argc != 2) { + error_exit("Error: Invalid arguments for command: \"%s\"\n", command); + } + int value = parse_arg_value(argv[0], command[strlen(command) - 1] != '~', symbols, current_hook->name); + int padding = argc > 1 ? parse_number(argv[1], 0) : 2; + if (vstrfind(command, "HEx", "HEx~") >= 0) { + fprintf(output, "0x%0*X%02x", padding - 2, value >> 8, value & 0xff); + } else if (vstrfind(command, "Hex", "Hex~") >= 0) { + fprintf(output, "0x%0*X%03x", padding - 3, value >> 12, value & 0xfff); + } else if (vstrfind(command, "heX", "heX~") >= 0) { + fprintf(output, "0x%0*x%02X", padding - 2, value >> 8, value & 0xff); + } else if (vstrfind(command, "hEX", "hEX~") >= 0) { + fprintf(output, "0x%0*x%03X", padding - 3, value >> 12, value & 0xfff); + } else { + fprintf(output, isupper((unsigned)command[0]) ? "0x%0*X" : "0x%0*x", padding, value); + } + + } else { + error_exit("Error: Unknown command: \"%s\"\n", command); + } +} + +void skip_to_next_line(FILE *restrict input, FILE *restrict output) { + for (int c = getc(input); c != EOF; c = getc(input)) { + putc(c, output); + if (c == '\n' || c == '\r') { + break; + } + } +} + +struct Buffer *process_template(const char *template_filename, const char *patch_filename, FILE *restrict new_rom, FILE *restrict orig_rom, const struct Symbol *symbols) { + FILE *input = xfopen(template_filename, 'r'); + FILE *output = xfopen(patch_filename, 'w'); + + struct Buffer *patches = buffer_create(sizeof(struct Patch)); + struct Buffer *buffer = buffer_create(1); + + // The ROM checksum will always differ + buffer_append(patches, &(struct Patch){0x14e, 2}); + // The Stadium data (see stadium.c) will always differ + unsigned int rom_size = (unsigned int)xfsize("", orig_rom); + unsigned int stadium_size = 24 + 6 + 2 + (rom_size / 0x2000) * 2; + buffer_append(patches, &(struct Patch){rom_size - stadium_size, stadium_size}); + + // Fill in the template + const struct Symbol *current_hook = NULL; + for (int c = getc(input); c != EOF; c = getc(input)) { + switch (c) { + case ';': + // ";" comments until the end of the line + putc(c, output); + skip_to_next_line(input, output); + break; + + case '{': + // "{...}" is a template command; buffer its contents + buffer->size = 0; + for (c = getc(input); c != EOF && c != '}'; c = getc(input)) { + buffer_append(buffer, &c); + } + buffer_append(buffer, &(char []){'\0'}); + // Interpret the command in the context of the current patch + interpret_command(buffer->data, current_hook, symbols, patches, new_rom, orig_rom, output); + break; + + case '[': + // "[...]" is a patch label; buffer its contents + putc(c, output); + bool alternate = false; + buffer->size = 0; + for (c = getc(input); c != EOF; c = getc(input)) { + if (!alternate && c == '@') { + // "@" designates an alternate name for the ".VC_" label + alternate = true; + buffer->size = 0; + } else if (c == ']') { + putc(c, output); + break; + } else { + if (!alternate) { + putc(c, output); + if (!isalnum(c) && c != '_') { + // Convert non-identifier characters to underscores + c = '_'; + } + } + buffer_append(buffer, &c); + } + } + buffer_append(buffer, &(char []){'\0'}); + // The current patch should have a corresponding ".VC_" label + current_hook = symbol_find_cat(symbols, ".VC_", buffer->data); + skip_to_next_line(input, output); + break; + + default: + putc(c, output); + } + } + + rewind(orig_rom); + rewind(new_rom); + + fclose(input); + fclose(output); + buffer_free(buffer); + return patches; +} + +int compare_patch(const void *patch1, const void *patch2) { + unsigned int offset1 = ((const struct Patch *)patch1)->offset; + unsigned int offset2 = ((const struct Patch *)patch2)->offset; + return offset1 > offset2 ? 1 : offset1 < offset2 ? -1 : 0; +} + +bool verify_completeness(FILE *restrict orig_rom, FILE *restrict new_rom, struct Buffer *patches) { + qsort(patches->data, patches->size, patches->item_size, compare_patch); + for (unsigned int offset = 0, index = 0; ; offset++) { + int orig_byte = getc(orig_rom); + int new_byte = getc(new_rom); + if (orig_byte == EOF || new_byte == EOF) { + return orig_byte == new_byte; + } + struct Patch *patch = &((struct Patch *)patches->data)[index]; + if (index < patches->size && patch->offset == offset) { + if (fseek(orig_rom, patch->size, SEEK_CUR)) { + return false; + } + if (fseek(new_rom, patch->size, SEEK_CUR)) { + return false; + } + offset += patch->size; + index++; + } else if (orig_byte != new_byte) { + fprintf(stderr, PROGRAM_NAME ": Warning: Unpatched difference at offset: 0x%x\n", offset); + fprintf(stderr, " Original ROM value: 0x%02x\n", orig_byte); + fprintf(stderr, " Patched ROM value: 0x%02x\n", new_byte); + fprintf(stderr, " Current patch offset: 0x%06x\n", patch->offset); + return false; + } + } +} + +int main(int argc, char *argv[]) { + if (argc != 7) { + usage_exit(1); + } + + struct Symbol *symbols = NULL; + parse_symbols(argv[1], &symbols); + parse_symbols(argv[2], &symbols); + + FILE *new_rom = xfopen(argv[3], 'r'); + FILE *orig_rom = xfopen(argv[4], 'r'); + struct Buffer *patches = process_template(argv[5], argv[6], new_rom, orig_rom, symbols); + + if (!verify_completeness(orig_rom, new_rom, patches)) { + fprintf(stderr, PROGRAM_NAME ": Warning: Not all ROM differences are defined by \"%s\"\n", argv[6]); + } + + symbol_free(symbols); + fclose(new_rom); + fclose(orig_rom); + buffer_free(patches); + return 0; +} diff --git a/vc/pokeblue.constants.asm b/vc/pokeblue.constants.asm new file mode 100644 index 00000000..a197afae --- /dev/null +++ b/vc/pokeblue.constants.asm @@ -0,0 +1,71 @@ +INCLUDE "constants.asm" + +; These are all the asm constants needed to make the blue_vc patch. + +vc_const: MACRO +x = \1 + PRINTLN "00:{04x:x} \1" ; same format as rgblink's .sym file +ENDM + +; [FPA 001 Begin] + vc_const "M" + vc_const "E" + vc_const "G" + vc_const "A" + vc_const "P" + vc_const "S" + vc_const "L" + vc_const "F" + vc_const "X" + vc_const MEGA_PUNCH + +; [FPA 001 End] + vc_const EXPLOSION + +; [FPA 002 Begin] + vc_const "U" + vc_const "I" + vc_const GUILLOTINE + +; [FPA 002 End] + vc_const "K" + vc_const MEGA_KICK + +; [FPA 004 Begin] + vc_const "B" + vc_const "Z" + vc_const BLIZZARD + +; [FPA 005 Begin] + vc_const BUBBLEBEAM + +; [FPA 005 End] + vc_const HYPER_BEAM + +; [FPA 006 Begin] + vc_const "H" + vc_const "Y" + +; [FPA 007 Begin] + vc_const "T" + vc_const "N" + vc_const THUNDERBOLT + +; [FPA 008 Begin] + vc_const "R" + vc_const REFLECT + +; [FPA 009 Begin] + vc_const SELFDESTRUCT + +; [FPA 010 Begin] + vc_const "D" + vc_const DREAM_EATER + +; [FPA 011 Begin] + vc_const "O" + vc_const SPORE + +; [FPA 012 Begin] + vc_const "C" + vc_const ROCK_SLIDE diff --git a/vc/pokeblue.patch.template b/vc/pokeblue.patch.template new file mode 100644 index 00000000..2a8bb119 --- /dev/null +++ b/vc/pokeblue.patch.template @@ -0,0 +1,436 @@ +;Format Sample +;[xxxx] ;User-defined Name (Max:31 chars) +;Mode = 1 ;1:Fixcode; 2:Fixvalue; 3:Mask; 4:Palette; 5:Double Frame Buffer +;Type = 0 ;0:Begin 1:End +;Index = 0 ;Index +;Address = x1F8000 ;ROM Address +;MemAddress = x2000 ;RAM Address +;Fixcode = 0 ;Mode1: Fixed Rom Code; Mode2: Fixed Value +;DelayFrame = 0 ;Delay Frame +;FadeFrame = 0 ;Fade Frame 0:Off +;DarkEnable0 = 0 ;0:Off, 1:On (for Normal Mode) +;ReduceEnable0 = 0 ;0:Off, 1:On (for Normal Mode) +;MotionBEnable0 = 0 ;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Normal Mode) +;Dark0 = 10 ;0~10 (for Normal Mode) +;ReduceColorR0 = 0 ;0~31 (for Normal Mode) +;ReduceColorG0 = 0 ;0~31 (for Normal Mode) +;ReduceColorB0 = 0 ;0~31 (for Normal Mode) +;MotionBlur0 = 31 ;0~31 (for Normal Mode) +;DarkEnable1 = 0 ;0:Off, 1:On (for Green Mode) +;ReduceEnable1 = 0 ;0:Off, 1:On (for Green Mode) +;MotionBEnable1 = 0 ;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Green Mode) +;Dark1 = 10 ;0~10 (for Green Mode) +;ReduceColorR1 = 0 ;0~31 (for Green Mode) +;ReduceColorG1 = 0 ;0~31 (for Green Mode) +;ReduceColorB1 = 0 ;0~31 (for Green Mode) +;MotionBlur1 = 31 ;0~31 (for Green Mode) +;PaletteX = c31,31,31 ;X:0~15, cR,G,B (0~31) +[SaveLimit] +Mode = 12 +Type = 1 +Index = {hex sGameData} +Address = {hex sGameDataEnd} + +[send_send_buf2] +Mode = 2 +Address = {HEX @} +Type = 29 + +[send_send_buf2_ret] +Mode = 2 +Address = {HEX @} +Type = 30 + +[send_byt2] +Mode = 2 +Address = {HEX @+5} +Type = 31 + +[send_byt2_ret] +Mode = 2 +Address = {HEX @} +Type = 32 + +[send_dummy] +Mode = 2 +Address = {HEX @} +Type = 33 + +[send_dummy_end] +Mode = 2 +Address = {HEX @} +Type = 34 + +[FIGHT] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[FIGHT2] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network10] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network11] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network17] +Mode = 2 +Address = {HEX @} +Type = 5 + +[Network424] +Mode = 2 +Address = {HEX @} +Type = 4 + +[Network200] +Mode = 2 +Address = {HEX @} +Type = 4 + +[Network_RECHECK] +Mode = 2 +Address = {HEX @} +Type = 7 + +[Network_STOP] +Mode = 2 +Address = {HEX @} +Type = 8 + +[Network_END] +Mode = 2 +Address = {HEX @} +Type = 9 + +[Network_RESET] +Mode = 2 +Address = {HEX @} +Type = 10 + +[linkCable fake begin] +Mode = 2 +Address = {HEX @} +Type = 16 + +[linkCable fake end] +Mode = 2 +Address = {HEX @} +Type = 17 + +[linkCable block input] +Mode = 2 +Address = {HEX @+5} +Type = 18 + +;[save game start] +;Mode = 2 +;Address = 0x59E6 +;Type = 19 + +[save game end] +Mode = 2 +Address = {HEX @} +Type = 20 + +[Change_MSG] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH_ +1 20} + +[fight_ret] +Mode = 1 +Address = {HEX @} +Fixcode = {PATCH} + +[fight_ret_c] +Mode = 2 +Address = {HEX @} +Type = 98 + +;rsm003758 +;No151 +[FPA 001 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 27 +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == == || == == == == == || == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "P" MEGA_PUNCH 00 "S" "E" "L" "F" MEGA_PUNCH 00 "E" "X" "P" "L" MEGA_PUNCH } + +[FPA 001 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == == || == == == == == || == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "P" MEGA_PUNCH 00 "E" "X" "P" "L" EXPLOSION 00 "E" "X" "P" "L" MEGA_PUNCH } + + + +;rsm141151 +;No117 +[FPA 002 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 9 +MotionBEnable1 = 3 +MotionBlur1 = 8 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE } + +[FPA 002 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == == } +ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE 00 "M" "E" "G" "A" "K" MEGA_KICK } + + + +;rsm143918 +;No150 +[FPA 003 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 25 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "K" MEGA_KICK } + + + +;rsm152422 +;No131 +[FPA 004 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 25 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "B" "L" "I" "Z" BLIZZARD } + + +;rsm160334 +;No123 +[FPA 005 Begin@FPA_Bubblebeam_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 3 +MotionBlur0 = 27 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM } + +[FPA 005 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == || == == == == == } +ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM 00 "H" "Y" "P" "E" HYPER_BEAM 00 "B" "L" "I" "Z" BLIZZARD } + + +;rsm163356 +;No116 +[FPA 006 Begin@FPA_Hyper_Beam_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 1 +MotionBlur0 = 5 +MotionBEnable1 = 1 +MotionBlur1 = 5 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "H" "Y" "P" "E" HYPER_BEAM } + + + +;rsm174631 +;No57 +[FPA 007 Begin@FPA_Thunderbolt_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 30 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT } + + +[FPA 007 End@FPA_Thunderbolt_End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT } + + +;rsm134518 +;No159 +[FPA 008 Begin@FPA_Reflect_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 1 +MotionBlur0 = 5 +MotionBEnable1 = 1 +MotionBlur1 = 5 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT } + +[FPA 008 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT } + + + + +;rsm140510 +;No56 +[FPA 009 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 27 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "S" "E" "L" "F" SELFDESTRUCT} + +[FPA 009 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == } +ConditionValueC = {dws_ "S" "E" "L" "F" MEGA_PUNCH 00 "S" "E" "L" "F" SELFDESTRUCT} + +;rsm150211 +;No156 +[FPA 010 Begin@FPA_Dream_Eater_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 3 +MotionBlur0 = 10 +MotionBEnable1 = 3 +MotionBlur1 = 7 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "D" "R" "E" "A" DREAM_EATER } + +;[FPA 010 End] +;Mode = 3 +;Type = 1 +;Address = 0x78176 +;ConditionType = 0 +;ConditionValueA = a10: 4b cf 4c cf 4d cf 4e cf 7c d0 +;ConditionValueB = a10: 00 00 00 00 00 00 00 00 00 00 +;ConditionValueC = a10: 83 00 91 00 84 00 80 00 8a 00 + +;rsm163334 +;No36 +[FPA 011 Begin@FPA_Spore_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 8 +MotionBEnable1 = 3 +MotionBlur1 = 8 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "S" "P" "O" "R" SPORE } + +[FPA 011 End] +Mode = 3 +Type = 1 +Address = {hex @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "S" "P" "O" "R" SPORE } + +;rsm012224 +;No12 +[FPA 012 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 27 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "O" "C" "K" ROCK_SLIDE } + +[FPA 012 End] +Mode = 3 +Type = 1 +Address = {hex @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == } +ConditionValueC = {dws_ "R" "O" "C" "K" ROCK_SLIDE 00 "D" "R" "E" "A" DREAM_EATER } + + + + + +;explosion +;No76 +[FPA 76 Begin] +Mode = 3 +Type = 0 +Address = 0x78186 +MotionBEnable0 = 3 +MotionBlur0 = 28 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "E" "X" "P" "L" EXPLOSION } \ No newline at end of file diff --git a/vc/pokered.constants.asm b/vc/pokered.constants.asm new file mode 100644 index 00000000..4bc62388 --- /dev/null +++ b/vc/pokered.constants.asm @@ -0,0 +1,74 @@ +INCLUDE "constants.asm" + +; These are all the asm constants needed to make the red_vc patch. + +vc_const: MACRO +x = \1 + PRINTLN "00:{04x:x} \1" ; same format as rgblink's .sym file +ENDM + +; [FPA 001 Begin] + vc_const "M" + vc_const "E" + vc_const "G" + vc_const "A" + vc_const "P" + vc_const "S" + vc_const "L" + vc_const "F" + vc_const "D" + vc_const "X" + vc_const MEGA_PUNCH + +; [FPA 002 Begin] + vc_const "U" + vc_const "I" + vc_const GUILLOTINE + +; [FPA 003 Begin] + vc_const "K" + vc_const MEGA_KICK + +; [FPA 004 Begin] + vc_const "B" + vc_const BUBBLEBEAM + +; [FPA 005 Begin] + vc_const "H" + vc_const "Y" + vc_const HYPER_BEAM + +; [FPA 006 Begin] + vc_const "T" + vc_const "N" + vc_const THUNDERBOLT + +; [FPA 007 Begin] + vc_const "R" + vc_const "F" + vc_const REFLECT + +; [FPA 008 Begin] + vc_const DREAM_EATER + +; [FPA 008 End] + vc_const "Z" + vc_const BLIZZARD + +; [FPA 009 Begin] + vc_const "O" + vc_const SPORE + +; [FPA 010 Begin] + vc_const "C" + vc_const ROCK_SLIDE + +; [FPA 010 End] + vc_const SELFDESTRUCT + vc_const EXPLOSION + +; [FPA conf Begin] + vc_const CONFUSION + +; [FPA phy Begin] + vc_const PSYCHIC_M diff --git a/vc/pokered.patch.template b/vc/pokered.patch.template new file mode 100644 index 00000000..52f5d0fe --- /dev/null +++ b/vc/pokered.patch.template @@ -0,0 +1,482 @@ +;Format Sample +;[xxxx] ;User-defined Name (Max:31 chars) +;Mode = 1 ;1:Fixcode; 2:Fixvalue; 3:Mask; 4:Palette; 5:Double Frame Buffer +;Type = 0 ;0:Begin 1:End +;Index = 0 ;Index +;Address = x1F8000 ;ROM Address +;MemAddress = x2000 ;RAM Address +;Fixcode = 0 ;Mode1: Fixed Rom Code; Mode2: Fixed Value +;DelayFrame = 0 ;Delay Frame +;FadeFrame = 0 ;Fade Frame 0:Off +;DarkEnable0 = 0 ;0:Off, 1:On (for Normal Mode) +;ReduceEnable0 = 0 ;0:Off, 1:On (for Normal Mode) +;MotionBEnable0 = 0 ;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Normal Mode) +;Dark0 = 10 ;0~10 (for Normal Mode) +;ReduceColorR0 = 0 ;0~31 (for Normal Mode) +;ReduceColorG0 = 0 ;0~31 (for Normal Mode) +;ReduceColorB0 = 0 ;0~31 (for Normal Mode) +;MotionBlur0 = 31 ;0~31 (for Normal Mode) +;DarkEnable1 = 0 ;0:Off, 1:On (for Green Mode) +;ReduceEnable1 = 0 ;0:Off, 1:On (for Green Mode) +;MotionBEnable1 = 0 ;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Green Mode) +;Dark1 = 10 ;0~10 (for Green Mode) +;ReduceColorR1 = 0 ;0~31 (for Green Mode) +;ReduceColorG1 = 0 ;0~31 (for Green Mode) +;ReduceColorB1 = 0 ;0~31 (for Green Mode) +;MotionBlur1 = 31 ;0~31 (for Green Mode) +;PaletteX = c31,31,31 ;X:0~15, cR,G,B (0~31) +[SaveLimit] +Mode = 12 +Type = 1 +Index = {hex sGameData} +Address = {hex sGameDataEnd} + +;[Fix pokemon] +;Mode = 2 +;Address = 0x1551 +;Type = 3 + +[send_send_buf2] +Mode = 2 +Address = {HEX @} +Type = 29 + +[send_send_buf2_ret] +Mode = 2 +Address = {HEX @} +Type = 30 + +[send_byt2] +Mode = 2 +Address = {HEX @+5} +Type = 31 + +[send_byt2_ret] +Mode = 2 +Address = {HEX @} +Type = 32 + +[send_dummy] +Mode = 2 +Address = {HEX @} +Type = 33 + +[send_dummy_end] +Mode = 2 +Address = {HEX @} +Type = 34 + +[FIGHT] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[FIGHT2] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network10] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network11] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network17] +Mode = 2 +Address = {HEX @} +Type = 5 + +[Network424] +Mode = 2 +Address = {HEX @} +Type = 4 + +[Network200] +Mode = 2 +Address = {HEX @} +Type = 4 + +[Network_RECHECK] +Mode = 2 +Address = {HEX @} +Type = 7 + +[Network_STOP] +Mode = 2 +Address = {HEX @} +Type = 8 + +[Network_END] +Mode = 2 +Address = {HEX @} +Type = 9 + +[Network_RESET] +Mode = 2 +Address = {HEX @} +Type = 10 + +[linkCable fake begin] +Mode = 2 +Address = {HEX @} +Type = 16 + +[linkCable fake end] +Mode = 2 +Address = {HEX @} +Type = 17 + +[linkCable block input] +Mode = 2 +Address = {HEX @+5} +Type = 18 + +;[save game start] +;Mode = 2 +;Address = 0x59E6 +;Type = 19 + +[save game end] +Mode = 2 +Address = {HEX @} +Type = 20 + +;93 A7 A4 7F AB A8 AD AA 7F A7 +;at 93 +[Change_MSG] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH_ +1 20} + +[fight_ret] +Mode = 1 +Address = {HEX @} +Fixcode = {PATCH} + +[fight_ret_c] +Mode = 2 +Address = {HEX @} +Type = 98 + +; The effect_no decide which animation will be played. +; So we use it as a condition value. The address of effect_no is 0xd07c +; a7 c0 3e 05 ea +; and a A7 +; ret nz C0 +; +; ld a,5 3E 05 +; ld (anime_buf),a EA +; +; +;effect_select_rdy: +; ld (effect_no),a +; +; call put_wait +; +; ld a,B_EFFECT_SELECT + + +;rsm033659 +;no151 mega punch +[FPA 001 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 21 +MotionBEnable1 = 3 +MotionBlur1 = 21 +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == == || == == == == == == || == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "P" MEGA_PUNCH 00 "S" "E" "L" "F" "D" MEGA_PUNCH 00 "E" "X" "P" "L" MEGA_PUNCH } + + +[FPA 001 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "P" MEGA_PUNCH } + + +;rsm032916 +;no117 guillotine +[FPA 002 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 9 +MotionBEnable1 = 3 +MotionBlur1 = 8 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE } + +[FPA 002 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE } + + +;rsm041307 +;no150 mega kick +[FPA 003 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 25 +MotionBEnable1 = 3 +MotionBlur1 = 21 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "K" MEGA_KICK } + + +;rsm001929 +;no123 bubble beam +[FPA 004 Begin@FPA_Bubblebeam_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 3 +MotionBlur0 = 30 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM } + +[FPA 004 End] +Mode = 3 +Type = 1 +Address = {hex @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == == } +ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM 00 "M" "E" "G" "A" "K" MEGA_KICK } + + +;rsm103658 +;no116 hyper beam +[FPA 005 Begin@FPA_Hyper_Beam_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 1 +MotionBlur0 = 5 +MotionBEnable1 = 1 +MotionBlur1 = 5 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "H" "Y" "P" "E" HYPER_BEAM } + +[FPA 005 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "H" "Y" "P" "E" HYPER_BEAM } + + +;rsm133358 +;no57 thunderbolt +[FPA 006 Begin@FPA_Thunderbolt_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 30 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT } + + +[FPA 006 End@FPA_Thunderbolt_End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT } + +;rsm152340 +;no159 reflect +[FPA 007 Begin@FPA_Reflect_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 1 +MotionBlur0 = 6 +MotionBEnable1 = 1 +MotionBlur1 = 5 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT } + +[FPA 007 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT } + +;rsm171812 +;no156 dream eater +[FPA 008 Begin@FPA_Dream_Eater_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 3 +MotionBlur0 = 10 +MotionBEnable1 = 3 +MotionBlur1 = 7 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "D" "R" "E" "A" DREAM_EATER } + +[FPA 008 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4} {dws/ wAnimationID} +ConditionValueB = {dws_ == == == == == } {dws/ == } +ConditionValueC = {dws_ "B" "L" "I" "Z" "Z" } {dws/ BLIZZARD } + +;rsm174650 +;no36 spore +[FPA 009 Begin@FPA_Spore_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 8 +MotionBEnable1 = 3 +MotionBlur1 = 8 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "S" "P" "O" "R" SPORE } + + +;rsm152115 +;no12 rock slide +[FPA 010 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 27 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "O" "C" "K" ROCK_SLIDE } + +[FPA 010 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == || == == == == == || == == == == == == || == == == == == == || == == == == == == || == == == == == || == == == == == } +ConditionValueC = {dws_ "D" "R" "E" "A" DREAM_EATER 00 "R" "O" "C" "K" ROCK_SLIDE 00 "S" "P" "O" "R" SPORE 00 "S" "E" "L" "F" "D" MEGA_PUNCH 00 "S" "E" "L" "F" "D" SELFDESTRUCT 00 "C" "O" "N" "F" "S" CONFUSION 00 "E" "X" "P" "L" EXPLOSION 00 "E" "X" "P" "L" MEGA_PUNCH } + + +;explosion +;No76 explosion +[FPA 76 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 28 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "E" "X" "P" "L" EXPLOSION } + + +;No56 self-destruct +[FPA 56 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 23 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "S" "E" "L" "F" "D" SELFDESTRUCT} + + +;No131 blizzard +[FPA 131 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 26 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "B" "L" "I" "Z" "Z" BLIZZARD } + + +;confusion +[FPA conf Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable1 = 3 +MotionBlur1 = 21 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "C" "O" "N" "F" "S" CONFUSION } + +;phychic +[FPA phy Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable1 = 3 +MotionBlur1 = 21 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "P" "S" "Y" "C" "I" PSYCHIC_M } + +[FPA phy End] +Mode = 3 +Type = 1 +Address = {hex @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "P" "S" "Y" "C" "I" PSYCHIC_M } + + From 27d0b146addee8185178388e0f7a94353d8409ba Mon Sep 17 00:00:00 2001 From: SatoMew Date: Fri, 1 Apr 2022 04:49:08 +0100 Subject: [PATCH 067/119] Add comment explaining the purpose of TrainerNamePointers (#352) --- data/trainers/name_pointers.asm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data/trainers/name_pointers.asm b/data/trainers/name_pointers.asm index 98e2e406..6317f54a 100644 --- a/data/trainers/name_pointers.asm +++ b/data/trainers/name_pointers.asm @@ -1,5 +1,7 @@ TrainerNamePointers: -; what is the point of these? +; These are only used for trainers' defeat speeches. +; They were originally shortened variants of the trainer class names +; in the Japanese versions, but are now redundant with TrainerNames. dw .YoungsterName dw .BugCatcherName dw .LassName From 0fd9ba5670e4f5075b2ef9697df7b5226148dce9 Mon Sep 17 00:00:00 2001 From: vulcandth Date: Sun, 17 Apr 2022 13:44:57 -0500 Subject: [PATCH 068/119] Add hSerialConnectionStatus vc_assert (#354) --- engine/link/cable_club_npc.asm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/engine/link/cable_club_npc.asm b/engine/link/cable_club_npc.asm index e2a9bc88..b4fb4090 100644 --- a/engine/link/cable_club_npc.asm +++ b/engine/link/cable_club_npc.asm @@ -27,7 +27,15 @@ CableClubNPC:: xor a ldh [hSerialReceiveData], a ld a, START_TRANSFER_EXTERNAL_CLOCK +; This vc_hook causes the Virtual Console to set [hSerialConnectionStatus] to +; USING_INTERNAL_CLOCK, which allows the player to proceed past the link +; receptionist's "Please wait." It assumes that hSerialConnectionStatus is at +; its original address. vc_hook linkCable_fake_begin + vc_assert hSerialConnectionStatus == $ffaa, \ + "hSerialConnectionStatus is no longer located at 00:ffaa" + vc_assert USING_INTERNAL_CLOCK == $02, \ + "USING_INTERNAL_CLOCK is no longer equal to $02." ldh [rSC], a ld a, [wLinkTimeoutCounter] dec a From 1dcaede8b5e41dbec9bf3f2b18c77d1b7d2de708 Mon Sep 17 00:00:00 2001 From: vulcandth Date: Tue, 26 Apr 2022 15:10:46 -0500 Subject: [PATCH 069/119] Remove Stadium data patch from tools/make_patch.c (#355) --- tools/make_patch.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/make_patch.c b/tools/make_patch.c index 29d798f6..71c6b455 100644 --- a/tools/make_patch.c +++ b/tools/make_patch.c @@ -340,10 +340,6 @@ struct Buffer *process_template(const char *template_filename, const char *patch // The ROM checksum will always differ buffer_append(patches, &(struct Patch){0x14e, 2}); - // The Stadium data (see stadium.c) will always differ - unsigned int rom_size = (unsigned int)xfsize("", orig_rom); - unsigned int stadium_size = 24 + 6 + 2 + (rom_size / 0x2000) * 2; - buffer_append(patches, &(struct Patch){rom_size - stadium_size, stadium_size}); // Fill in the template const struct Symbol *current_hook = NULL; From d7808d110f6b104a3e5ed7b21260ed8f1b718719 Mon Sep 17 00:00:00 2001 From: vulcandth Date: Mon, 6 Jun 2022 16:22:34 -0500 Subject: [PATCH 070/119] Improved Virtual Console patch identifiers (#357) --- data/text/text_4.asm | 2 +- engine/battle/animations.asm | 60 +++++++++++---------- engine/battle/core.asm | 20 +++---- engine/gfx/palettes.asm | 2 +- engine/link/cable_club.asm | 8 +-- engine/link/cable_club_npc.asm | 8 +-- engine/menus/main_menu.asm | 4 +- engine/menus/save.asm | 2 +- home/serial.asm | 8 +-- vc/pokeblue.patch.template | 92 +++++++++++++++---------------- vc/pokered.patch.template | 98 +++++++++++++++++----------------- 11 files changed, 153 insertions(+), 151 deletions(-) diff --git a/data/text/text_4.asm b/data/text/text_4.asm index 60ec7abe..39c7ab91 100644 --- a/data/text/text_4.asm +++ b/data/text/text_4.asm @@ -211,7 +211,7 @@ _CableClubNPCPleaseWaitText:: text_end _CableClubNPCLinkClosedBecauseOfInactivityText:: - vc_patch Change_MSG + vc_patch Change_link_closed_inactivity_message IF DEF(_RED_VC) || DEF(_BLUE_VC) text "Please come again!" done diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index f1dd3d4e..afed76d7 100644 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -176,12 +176,12 @@ PlayAnimation: ld h, [hl] ld l, a .animationLoop - vc_hook FPA_Thunderbolt_End + vc_hook Stop_reducing_move_anim_flashing_Thunderbolt ld a, [hli] - vc_hook_red FPA_007_End - vc_hook_blue FPA_009_End + vc_hook_red Stop_reducing_move_anim_flashing_Reflect + vc_hook_blue Stop_reducing_move_anim_flashing_Self_Destruct cp -1 - vc_hook_blue FPA_008_End + vc_hook_blue Stop_reducing_move_anim_flashing_Reflect jr z, .AnimationOver cp FIRST_SE_ID ; is this subanimation or a special effect? jr c, .playSubanimation @@ -250,55 +250,57 @@ PlayAnimation: ld a, [wAnimPalette] ldh [rOBP0], a call LoadAnimationTileset - vc_hook FPA_001_Begin + vc_hook Reduce_move_anim_flashing_Mega_Punch_Self_Destruct_Explosion call LoadSubanimation call PlaySubanimation - vc_hook FPA_001_End + vc_hook_red Stop_reducing_move_anim_flashing_Mega_Punch + vc_hook_blue Stop_reducing_move_anim_flashing_Mega_Punch_Explosion pop af - vc_hook_red FPA_008_End + vc_hook_red Stop_reducing_move_anim_flashing_Dream_Eater ldh [rOBP0], a .nextAnimationCommand - vc_hook FPA_005_End + vc_hook_red Stop_reducing_move_anim_flashing_Hyper_Beam + vc_hook_blue Stop_reducing_move_anim_flashing_Bubblebeam_Hyper_Beam_Blizzard pop hl - vc_hook FPA_002_End + vc_hook Stop_reducing_move_anim_flashing_Guillotine jr .animationLoop .AnimationOver ret LoadSubanimation: - vc_hook FPA_002_Begin + vc_hook Reduce_move_anim_flashing_Guillotine ld a, [wSubAnimAddrPtr + 1] - vc_hook FPA_003_Begin + vc_hook Reduce_move_anim_flashing_Mega_Kick ld h, a - vc_hook_red FPA_131_Begin + vc_hook_red Reduce_move_anim_flashing_Blizzard ld a, [wSubAnimAddrPtr] - vc_hook_red FPA_56_Begin + vc_hook_red Reduce_move_anim_flashing_Self_Destruct ld l, a ld a, [hli] ld e, a - vc_hook FPA_76_Begin + vc_hook Reduce_move_anim_flashing_Explosion ld a, [hl] - vc_hook FPA_Thunderbolt_Begin + vc_hook Reduce_move_anim_flashing_Thunderbolt ld d, a ; de = address of subanimation ld a, [de] - vc_hook_blue FPA_012_Begin + vc_hook_blue Reduce_move_anim_flashing_Rock_Slide ld b, a - vc_hook FPA_Spore_Begin + vc_hook Reduce_move_anim_flashing_Spore and %00011111 - vc_hook FPA_Bubblebeam_Begin + vc_hook Reduce_move_anim_flashing_Bubblebeam ld [wSubAnimCounter], a ; number of frame blocks - vc_hook_red FPA_010_Begin - vc_hook_blue FPA_009_Begin + vc_hook_red Reduce_move_anim_flashing_Rock_Slide + vc_hook_blue Reduce_move_anim_flashing_Self_Destruct ld a, b and %11100000 cp SUBANIMTYPE_ENEMY << 5 - vc_hook_blue FPA_004_Begin + vc_hook_blue Reduce_move_anim_flashing_Blizzard jr nz, .isNotType5 .isType5 call GetSubanimationTransform2 jr .saveTransformation .isNotType5 - vc_hook FPA_Hyper_Beam_Begin + vc_hook Reduce_move_anim_flashing_Hyper_Beam call GetSubanimationTransform1 .saveTransformation ; place the upper 3 bits of a into bits 0-2 of a before storing @@ -329,7 +331,7 @@ LoadSubanimation: ; sets the transform to SUBANIMTYPE_NORMAL if it's the player's turn ; sets the transform to the subanimation type if it's the enemy's turn GetSubanimationTransform1: - vc_hook FPA_Reflect_Begin + vc_hook Reduce_move_anim_flashing_Reflect ld b, a ldh a, [hWhoseTurn] and a @@ -422,15 +424,15 @@ MoveAnimation: jr nz, .animationsDisabled call ShareMoveAnimations call PlayAnimation - vc_hook_red FPA_004_End - vc_hook_blue FPA_011_End + vc_hook_red Stop_reducing_move_anim_flashing_Bubblebeam_Mega_Kick + vc_hook_blue Stop_reducing_move_anim_flashing_Spore jr .next4 .animationsDisabled ld c, 30 call DelayFrames .next4 - vc_hook_red FPA_010_End - vc_hook_blue FPA_012_End + vc_hook_red Stop_reducing_move_anim_flashing + vc_hook_blue Stop_reducing_move_anim_flashing_Rock_Slide_Dream_Eater call PlayApplyingAttackAnimation ; shake the screen or flash the pic in and out (to show damage) .animationFinished call WaitForSoundToFinish @@ -568,7 +570,7 @@ SetAnimationPalette: .notSGB ld a, $e4 ld [wAnimPalette], a - vc_hook FPA_Dream_Eater_Begin + vc_hook Reduce_move_anim_flashing_Dream_Eater ldh [rOBP0], a ld a, $6c ldh [rOBP1], a @@ -984,7 +986,7 @@ AnimationFlashScreenLong: ld [wFlashScreenLongCounter], a pop hl jr nz, .loop - vc_hook_red FPA_phy_End + vc_hook_red Stop_reducing_move_anim_flashing_Psychic ret ; BG palettes diff --git a/engine/battle/core.asm b/engine/battle/core.asm index e7711707..66ca1aa9 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -3023,7 +3023,7 @@ LinkBattleExchangeData: ld a, b .doExchange ld [wSerialExchangeNybbleSendData], a - vc_hook send_byt2 + vc_hook Wireless_start_exchange callfar PrintWaitingText .syncLoop1 call Serial_ExchangeNybble @@ -3031,8 +3031,8 @@ LinkBattleExchangeData: ld a, [wSerialExchangeNybbleReceiveData] inc a jr z, .syncLoop1 - vc_hook send_byt2_ret - vc_patch FIGHT + vc_hook Wireless_end_exchange + vc_patch Wireless_net_delay_1 IF DEF(_RED_VC) || DEF(_BLUE_VC) ld b, 26 ELSE @@ -3044,8 +3044,8 @@ ENDC call Serial_ExchangeNybble dec b jr nz, .syncLoop2 - vc_hook send_dummy - vc_patch FIGHT2 + vc_hook Wireless_start_send_zero_bytes + vc_patch Wireless_net_delay_2 IF DEF(_RED_VC) || DEF(_BLUE_VC) ld b, 26 ELSE @@ -3057,7 +3057,7 @@ ENDC call Serial_SendZeroByte dec b jr nz, .syncLoop3 - vc_hook send_dummy_end + vc_hook Wireless_end_send_zero_bytes ret ExecutePlayerMove: @@ -6677,8 +6677,8 @@ BattleRandom: ld a, [hl] pop bc pop hl - vc_hook fight_ret_c - vc_patch fight_ret + vc_hook Unknown_BattleRandom_ret_c + vc_patch BattleRandom_ret IF DEF(_RED_VC) || DEF(_BLUE_VC) ret ELSE @@ -6749,9 +6749,9 @@ HandleExplodingAnimation: PlayMoveAnimation: ld [wAnimationID], a - vc_hook_red FPA_conf_Begin + vc_hook_red Reduce_move_anim_flashing_Confusion call Delay3 - vc_hook_red FPA_phy_Begin + vc_hook_red Reduce_move_anim_flashing_Psychic predef_jump MoveAnimation InitBattle:: diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index d26d82a6..caa22c10 100644 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -484,7 +484,7 @@ CheckSGB: ldh a, [rJOYP] ldh a, [rJOYP] call Wait7000 - vc_hook Network_RESET + vc_hook Unknown_network_reset call Wait7000 ld a, $30 ldh [rJOYP], a diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 296900a6..e1b92eab 100644 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -124,21 +124,21 @@ CableClub_DoBattleOrTradeAgain: ld hl, wSerialRandomNumberListBlock ld de, wSerialOtherGameboyRandomNumberListBlock ld bc, $11 - vc_hook Network17 + vc_hook Wireless_ExchangeBytes_1_unknown_Type5 call Serial_ExchangeBytes ld a, SERIAL_NO_DATA_BYTE ld [de], a ld hl, wSerialPlayerDataBlock ld de, wSerialEnemyDataBlock ld bc, $1a8 - vc_hook Network424 + vc_hook Wireless_ExchangeBytes_2 call Serial_ExchangeBytes ld a, SERIAL_NO_DATA_BYTE ld [de], a ld hl, wSerialPartyMonsPatchList ld de, wSerialEnemyMonsPatchList ld bc, $c8 - vc_hook Network200 + vc_hook Wireless_ExchangeBytes_3 call Serial_ExchangeBytes ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) ldh [rIE], a @@ -862,7 +862,7 @@ TradeCenter_Trade: ld de, TradeCompleted call PlaceString predef SaveSAVtoSRAM2 - vc_hook save_game_end + vc_hook Trade_save_game_end ld c, 50 call DelayFrames xor a diff --git a/engine/link/cable_club_npc.asm b/engine/link/cable_club_npc.asm index b4fb4090..41f56a21 100644 --- a/engine/link/cable_club_npc.asm +++ b/engine/link/cable_club_npc.asm @@ -31,7 +31,7 @@ CableClubNPC:: ; USING_INTERNAL_CLOCK, which allows the player to proceed past the link ; receptionist's "Please wait." It assumes that hSerialConnectionStatus is at ; its original address. - vc_hook linkCable_fake_begin + vc_hook Link_fake_connection_status vc_assert hSerialConnectionStatus == $ffaa, \ "hSerialConnectionStatus is no longer located at 00:ffaa" vc_assert USING_INTERNAL_CLOCK == $02, \ @@ -63,7 +63,7 @@ CableClubNPC:: ld a, [wCurrentMenuItem] and a jr nz, .choseNo - vc_hook linkCable_block_input + vc_hook Wireless_TryQuickSave_block_input callfar SaveSAVtoSRAM call WaitForSoundToFinish ld a, SFX_SAVE @@ -76,10 +76,10 @@ CableClubNPC:: xor a ld [hl], a ldh [hSerialReceivedNewData], a - vc_hook linkCable_fake_end + vc_hook Wireless_prompt ld [wSerialExchangeNybbleSendData], a call Serial_SyncAndExchangeNybble - vc_hook Network_RECHECK + vc_hook Wireless_net_recheck ld hl, wUnknownSerialCounter ld a, [hli] inc a diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 0708c0ce..7db60d3d 100644 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -284,11 +284,11 @@ LinkMenu: .choseCancel xor a ld [wMenuJoypadPollCount], a - vc_hook Network_STOP + vc_hook Wireless_net_stop call Delay3 call CloseLinkConnection ld hl, LinkCanceledText - vc_hook Network_END + vc_hook Wireless_net_end call PrintText ld hl, wd72e res 6, [hl] diff --git a/engine/menus/save.asm b/engine/menus/save.asm index fdf69765..b74b9058 100644 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -39,7 +39,7 @@ LoadSAV0: ld [MBC1SRamBank], a ; This vc_hook does not have to be in any particular location. ; It is defined here because it refers to the same labels as the two lines below. - vc_hook SaveLimit + vc_hook Unknown_save_limit ld hl, sGameData ld bc, sGameDataEnd - sGameData call SAVCheckSum diff --git a/home/serial.asm b/home/serial.asm index 7fb6b82c..f44772df 100644 --- a/home/serial.asm +++ b/home/serial.asm @@ -230,7 +230,7 @@ Serial_PrintWaitingTextAndSyncAndExchangeNybble:: jp LoadScreenTilesFromBuffer1 Serial_SyncAndExchangeNybble:: - vc_hook send_send_buf2 + vc_hook Wireless_WaitLinkTransfer ld a, $ff ld [wSerialExchangeNybbleReceiveData], a .loop1 @@ -254,7 +254,7 @@ Serial_SyncAndExchangeNybble:: ld a, [wSerialExchangeNybbleReceiveData] inc a jr z, .loop1 - vc_patch Network10 + vc_patch Wireless_net_delay_3 IF DEF(_RED_VC) || DEF(_BLUE_VC) ld b, 26 ELSE @@ -266,7 +266,7 @@ ENDC call Serial_ExchangeNybble dec b jr nz, .loop2 - vc_patch Network11 + vc_patch Wireless_net_delay_4 IF DEF(_RED_VC) || DEF(_BLUE_VC) ld b, 26 ELSE @@ -280,7 +280,7 @@ ENDC jr nz, .loop3 ld a, [wSerialExchangeNybbleReceiveData] ld [wSerialSyncAndExchangeNybbleReceiveData], a - vc_hook send_send_buf2_ret + vc_hook Wireless_WaitLinkTransfer_ret ret Serial_ExchangeNybble:: diff --git a/vc/pokeblue.patch.template b/vc/pokeblue.patch.template index 2a8bb119..6427bf92 100644 --- a/vc/pokeblue.patch.template +++ b/vc/pokeblue.patch.template @@ -25,108 +25,108 @@ ;ReduceColorB1 = 0 ;0~31 (for Green Mode) ;MotionBlur1 = 31 ;0~31 (for Green Mode) ;PaletteX = c31,31,31 ;X:0~15, cR,G,B (0~31) -[SaveLimit] +[SaveLimit@Unknown_save_limit] Mode = 12 Type = 1 Index = {hex sGameData} Address = {hex sGameDataEnd} -[send_send_buf2] +[send_send_buf2@Wireless_WaitLinkTransfer] Mode = 2 Address = {HEX @} Type = 29 -[send_send_buf2_ret] +[send_send_buf2_ret@Wireless_WaitLinkTransfer_ret] Mode = 2 Address = {HEX @} Type = 30 -[send_byt2] +[send_byt2@Wireless_start_exchange] Mode = 2 Address = {HEX @+5} Type = 31 -[send_byt2_ret] +[send_byt2_ret@Wireless_end_exchange] Mode = 2 Address = {HEX @} Type = 32 -[send_dummy] +[send_dummy@Wireless_start_send_zero_bytes] Mode = 2 Address = {HEX @} Type = 33 -[send_dummy_end] +[send_dummy_end@Wireless_end_send_zero_bytes] Mode = 2 Address = {HEX @} Type = 34 -[FIGHT] +[FIGHT@Wireless_net_delay_1] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} -[FIGHT2] +[FIGHT2@Wireless_net_delay_2] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} -[Network10] +[Network10@Wireless_net_delay_3] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} -[Network11] +[Network11@Wireless_net_delay_4] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} -[Network17] +[Network17@Wireless_ExchangeBytes_1_unknown_Type5] Mode = 2 Address = {HEX @} Type = 5 -[Network424] +[Network424@Wireless_ExchangeBytes_2] Mode = 2 Address = {HEX @} Type = 4 -[Network200] +[Network200@Wireless_ExchangeBytes_3] Mode = 2 Address = {HEX @} Type = 4 -[Network_RECHECK] +[Network_RECHECK@Wireless_net_recheck] Mode = 2 Address = {HEX @} Type = 7 -[Network_STOP] +[Network_STOP@Wireless_net_stop] Mode = 2 Address = {HEX @} Type = 8 -[Network_END] +[Network_END@Wireless_net_end] Mode = 2 Address = {HEX @} Type = 9 -[Network_RESET] +[Network_RESET@Unknown_network_reset] Mode = 2 Address = {HEX @} Type = 10 -[linkCable fake begin] +[linkCable fake begin@Link_fake_connection_status] Mode = 2 Address = {HEX @} Type = 16 -[linkCable fake end] +[linkCable fake end@Wireless_prompt] Mode = 2 Address = {HEX @} Type = 17 -[linkCable block input] +[linkCable block input@Wireless_TryQuickSave_block_input] Mode = 2 Address = {HEX @+5} Type = 18 @@ -136,29 +136,29 @@ Type = 18 ;Address = 0x59E6 ;Type = 19 -[save game end] +[save game end@Trade_save_game_end] Mode = 2 Address = {HEX @} Type = 20 -[Change_MSG] +[Change_MSG@Change_link_closed_inactivity_message] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH_ +1 20} -[fight_ret] +[fight_ret@BattleRandom_ret] Mode = 1 Address = {HEX @} Fixcode = {PATCH} -[fight_ret_c] +[fight_ret_c@Unknown_BattleRandom_ret_c] Mode = 2 Address = {HEX @} Type = 98 ;rsm003758 ;No151 -[FPA 001 Begin] +[FPA 001 Begin@Reduce_move_anim_flashing_Mega_Punch_Self_Destruct_Explosion] Mode = 3 Type = 0 Address = {HEX @} @@ -169,7 +169,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == == || == == == == == || == == == == == } ConditionValueC = {dws_ "M" "E" "G" "A" "P" MEGA_PUNCH 00 "S" "E" "L" "F" MEGA_PUNCH 00 "E" "X" "P" "L" MEGA_PUNCH } -[FPA 001 End] +[FPA 001 End@Stop_reducing_move_anim_flashing_Mega_Punch_Explosion] Mode = 3 Type = 1 Address = {HEX @} @@ -182,7 +182,7 @@ ConditionValueC = {dws_ "M" "E" "G" "A" ;rsm141151 ;No117 -[FPA 002 Begin] +[FPA 002 Begin@Reduce_move_anim_flashing_Guillotine] Mode = 3 Type = 0 Address = {HEX @} @@ -195,7 +195,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE } -[FPA 002 End] +[FPA 002 End@Stop_reducing_move_anim_flashing_Guillotine] Mode = 3 Type = 1 Address = {HEX @} @@ -208,7 +208,7 @@ ConditionValueC = {dws_ "G" "U" "I" "L" ;rsm143918 ;No150 -[FPA 003 Begin] +[FPA 003 Begin@Reduce_move_anim_flashing_Mega_Kick] Mode = 3 Type = 0 Address = {HEX @} @@ -223,7 +223,7 @@ ConditionValueC = {dws_ "M" "E" "G" "A" ;rsm152422 ;No131 -[FPA 004 Begin] +[FPA 004 Begin@Reduce_move_anim_flashing_Blizzard] Mode = 3 Type = 0 Address = {HEX @} @@ -237,7 +237,7 @@ ConditionValueC = {dws_ "B" "L" "I" "Z" ;rsm160334 ;No123 -[FPA 005 Begin@FPA_Bubblebeam_Begin] +[FPA 005 Begin@Reduce_move_anim_flashing_Bubblebeam] Mode = 3 Type = 0 Address = {hex @} @@ -248,7 +248,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM } -[FPA 005 End] +[FPA 005 End@Stop_reducing_move_anim_flashing_Bubblebeam_Hyper_Beam_Blizzard] Mode = 3 Type = 1 Address = {HEX @} @@ -260,7 +260,7 @@ ConditionValueC = {dws_ "B" "U" "B" "B" ;rsm163356 ;No116 -[FPA 006 Begin@FPA_Hyper_Beam_Begin] +[FPA 006 Begin@Reduce_move_anim_flashing_Hyper_Beam] Mode = 3 Type = 0 Address = {HEX @} @@ -277,7 +277,7 @@ ConditionValueC = {dws_ "H" "Y" "P" "E" ;rsm174631 ;No57 -[FPA 007 Begin@FPA_Thunderbolt_Begin] +[FPA 007 Begin@Reduce_move_anim_flashing_Thunderbolt] Mode = 3 Type = 0 Address = {HEX @} @@ -289,7 +289,7 @@ ConditionValueB = {dws_ == == == == ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT } -[FPA 007 End@FPA_Thunderbolt_End] +[FPA 007 End@Stop_reducing_move_anim_flashing_Thunderbolt] Mode = 3 Type = 1 Address = {HEX @} @@ -301,7 +301,7 @@ ConditionValueC = {dws_ "T" "H" "U" "N" ;rsm134518 ;No159 -[FPA 008 Begin@FPA_Reflect_Begin] +[FPA 008 Begin@Reduce_move_anim_flashing_Reflect] Mode = 3 Type = 0 Address = {hex @} @@ -314,7 +314,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT } -[FPA 008 End] +[FPA 008 End@Stop_reducing_move_anim_flashing_Reflect] Mode = 3 Type = 1 Address = {HEX @} @@ -328,7 +328,7 @@ ConditionValueC = {dws_ "R" "E" "F" "L" ;rsm140510 ;No56 -[FPA 009 Begin] +[FPA 009 Begin@Reduce_move_anim_flashing_Self_Destruct] Mode = 3 Type = 0 Address = {HEX @} @@ -339,7 +339,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "S" "E" "L" "F" SELFDESTRUCT} -[FPA 009 End] +[FPA 009 End@Stop_reducing_move_anim_flashing_Self_Destruct] Mode = 3 Type = 1 Address = {HEX @} @@ -350,7 +350,7 @@ ConditionValueC = {dws_ "S" "E" "L" "F" ;rsm150211 ;No156 -[FPA 010 Begin@FPA_Dream_Eater_Begin] +[FPA 010 Begin@Reduce_move_anim_flashing_Dream_Eater] Mode = 3 Type = 0 Address = {hex @} @@ -374,7 +374,7 @@ ConditionValueC = {dws_ "D" "R" "E" "A" ;rsm163334 ;No36 -[FPA 011 Begin@FPA_Spore_Begin] +[FPA 011 Begin@Reduce_move_anim_flashing_Spore] Mode = 3 Type = 0 Address = {HEX @} @@ -387,7 +387,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "S" "P" "O" "R" SPORE } -[FPA 011 End] +[FPA 011 End@Stop_reducing_move_anim_flashing_Spore] Mode = 3 Type = 1 Address = {hex @} @@ -398,7 +398,7 @@ ConditionValueC = {dws_ "S" "P" "O" "R" ;rsm012224 ;No12 -[FPA 012 Begin] +[FPA 012 Begin@Reduce_move_anim_flashing_Rock_Slide] Mode = 3 Type = 0 Address = {HEX @} @@ -409,7 +409,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "R" "O" "C" "K" ROCK_SLIDE } -[FPA 012 End] +[FPA 012 End@Stop_reducing_move_anim_flashing_Rock_Slide_Dream_Eater] Mode = 3 Type = 1 Address = {hex @} @@ -424,7 +424,7 @@ ConditionValueC = {dws_ "R" "O" "C" "K" ;explosion ;No76 -[FPA 76 Begin] +[FPA 76 Begin@Reduce_move_anim_flashing_Explosion] Mode = 3 Type = 0 Address = 0x78186 diff --git a/vc/pokered.patch.template b/vc/pokered.patch.template index 52f5d0fe..6b015ca4 100644 --- a/vc/pokered.patch.template +++ b/vc/pokered.patch.template @@ -25,7 +25,7 @@ ;ReduceColorB1 = 0 ;0~31 (for Green Mode) ;MotionBlur1 = 31 ;0~31 (for Green Mode) ;PaletteX = c31,31,31 ;X:0~15, cR,G,B (0~31) -[SaveLimit] +[SaveLimit@Unknown_save_limit] Mode = 12 Type = 1 Index = {hex sGameData} @@ -36,102 +36,102 @@ Address = {hex sGameDataEnd} ;Address = 0x1551 ;Type = 3 -[send_send_buf2] +[send_send_buf2@Wireless_WaitLinkTransfer] Mode = 2 Address = {HEX @} Type = 29 -[send_send_buf2_ret] +[send_send_buf2_ret@Wireless_WaitLinkTransfer_ret] Mode = 2 Address = {HEX @} Type = 30 -[send_byt2] +[send_byt2@Wireless_start_exchange] Mode = 2 Address = {HEX @+5} Type = 31 -[send_byt2_ret] +[send_byt2_ret@Wireless_end_exchange] Mode = 2 Address = {HEX @} Type = 32 -[send_dummy] +[send_dummy@Wireless_start_send_zero_bytes] Mode = 2 Address = {HEX @} Type = 33 -[send_dummy_end] +[send_dummy_end@Wireless_end_send_zero_bytes] Mode = 2 Address = {HEX @} Type = 34 -[FIGHT] +[FIGHT@Wireless_net_delay_1] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} -[FIGHT2] +[FIGHT2@Wireless_net_delay_2] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} -[Network10] +[Network10@Wireless_net_delay_3] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} -[Network11] +[Network11@Wireless_net_delay_4] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} -[Network17] +[Network17@Wireless_ExchangeBytes_1_unknown_Type5] Mode = 2 Address = {HEX @} Type = 5 -[Network424] +[Network424@Wireless_ExchangeBytes_2] Mode = 2 Address = {HEX @} Type = 4 -[Network200] +[Network200@Wireless_ExchangeBytes_3] Mode = 2 Address = {HEX @} Type = 4 -[Network_RECHECK] +[Network_RECHECK@Wireless_net_recheck] Mode = 2 Address = {HEX @} Type = 7 -[Network_STOP] +[Network_STOP@Wireless_net_stop] Mode = 2 Address = {HEX @} Type = 8 -[Network_END] +[Network_END@Wireless_net_end] Mode = 2 Address = {HEX @} Type = 9 -[Network_RESET] +[Network_RESET@Unknown_network_reset] Mode = 2 Address = {HEX @} Type = 10 -[linkCable fake begin] +[linkCable fake begin@Link_fake_connection_status] Mode = 2 Address = {HEX @} Type = 16 -[linkCable fake end] +[linkCable fake end@Wireless_prompt] Mode = 2 Address = {HEX @} Type = 17 -[linkCable block input] +[linkCable block input@Wireless_TryQuickSave_block_input] Mode = 2 Address = {HEX @+5} Type = 18 @@ -141,24 +141,24 @@ Type = 18 ;Address = 0x59E6 ;Type = 19 -[save game end] +[save game end@Trade_save_game_end] Mode = 2 Address = {HEX @} Type = 20 ;93 A7 A4 7F AB A8 AD AA 7F A7 ;at 93 -[Change_MSG] +[Change_MSG@Change_link_closed_inactivity_message] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH_ +1 20} -[fight_ret] +[fight_ret@BattleRandom_ret] Mode = 1 Address = {HEX @} Fixcode = {PATCH} -[fight_ret_c] +[fight_ret_c@Unknown_BattleRandom_ret_c] Mode = 2 Address = {HEX @} Type = 98 @@ -183,7 +183,7 @@ Type = 98 ;rsm033659 ;no151 mega punch -[FPA 001 Begin] +[FPA 001 Begin@Reduce_move_anim_flashing_Mega_Punch_Self_Destruct_Explosion] Mode = 3 Type = 0 Address = {HEX @} @@ -197,7 +197,7 @@ ConditionValueB = {dws_ == == == == ConditionValueC = {dws_ "M" "E" "G" "A" "P" MEGA_PUNCH 00 "S" "E" "L" "F" "D" MEGA_PUNCH 00 "E" "X" "P" "L" MEGA_PUNCH } -[FPA 001 End] +[FPA 001 End@Stop_reducing_move_anim_flashing_Mega_Punch] Mode = 3 Type = 1 Address = {HEX @} @@ -209,7 +209,7 @@ ConditionValueC = {dws_ "M" "E" "G" "A" ;rsm032916 ;no117 guillotine -[FPA 002 Begin] +[FPA 002 Begin@Reduce_move_anim_flashing_Guillotine] Mode = 3 Type = 0 Address = {HEX @} @@ -222,7 +222,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE } -[FPA 002 End] +[FPA 002 End@Stop_reducing_move_anim_flashing_Guillotine] Mode = 3 Type = 1 Address = {HEX @} @@ -234,7 +234,7 @@ ConditionValueC = {dws_ "G" "U" "I" "L" ;rsm041307 ;no150 mega kick -[FPA 003 Begin] +[FPA 003 Begin@Reduce_move_anim_flashing_Mega_Kick] Mode = 3 Type = 0 Address = {HEX @} @@ -250,7 +250,7 @@ ConditionValueC = {dws_ "M" "E" "G" "A" ;rsm001929 ;no123 bubble beam -[FPA 004 Begin@FPA_Bubblebeam_Begin] +[FPA 004 Begin@Reduce_move_anim_flashing_Bubblebeam] Mode = 3 Type = 0 Address = {hex @} @@ -261,7 +261,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM } -[FPA 004 End] +[FPA 004 End@Stop_reducing_move_anim_flashing_Bubblebeam_Mega_Kick] Mode = 3 Type = 1 Address = {hex @} @@ -273,7 +273,7 @@ ConditionValueC = {dws_ "B" "U" "B" "B" ;rsm103658 ;no116 hyper beam -[FPA 005 Begin@FPA_Hyper_Beam_Begin] +[FPA 005 Begin@Reduce_move_anim_flashing_Hyper_Beam] Mode = 3 Type = 0 Address = {HEX @} @@ -286,7 +286,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "H" "Y" "P" "E" HYPER_BEAM } -[FPA 005 End] +[FPA 005 End@Stop_reducing_move_anim_flashing_Hyper_Beam] Mode = 3 Type = 1 Address = {HEX @} @@ -298,7 +298,7 @@ ConditionValueC = {dws_ "H" "Y" "P" "E" ;rsm133358 ;no57 thunderbolt -[FPA 006 Begin@FPA_Thunderbolt_Begin] +[FPA 006 Begin@Reduce_move_anim_flashing_Thunderbolt] Mode = 3 Type = 0 Address = {HEX @} @@ -310,7 +310,7 @@ ConditionValueB = {dws_ == == == == ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT } -[FPA 006 End@FPA_Thunderbolt_End] +[FPA 006 End@Stop_reducing_move_anim_flashing_Thunderbolt] Mode = 3 Type = 1 Address = {HEX @} @@ -321,7 +321,7 @@ ConditionValueC = {dws_ "T" "H" "U" "N" ;rsm152340 ;no159 reflect -[FPA 007 Begin@FPA_Reflect_Begin] +[FPA 007 Begin@Reduce_move_anim_flashing_Reflect] Mode = 3 Type = 0 Address = {hex @} @@ -334,7 +334,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT } -[FPA 007 End] +[FPA 007 End@Stop_reducing_move_anim_flashing_Reflect] Mode = 3 Type = 1 Address = {HEX @} @@ -345,7 +345,7 @@ ConditionValueC = {dws_ "R" "E" "F" "L" ;rsm171812 ;no156 dream eater -[FPA 008 Begin@FPA_Dream_Eater_Begin] +[FPA 008 Begin@Reduce_move_anim_flashing_Dream_Eater] Mode = 3 Type = 0 Address = {hex @} @@ -358,7 +358,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "D" "R" "E" "A" DREAM_EATER } -[FPA 008 End] +[FPA 008 End@Stop_reducing_move_anim_flashing_Dream_Eater] Mode = 3 Type = 1 Address = {HEX @} @@ -369,7 +369,7 @@ ConditionValueC = {dws_ "B" "L" "I" "Z" ;rsm174650 ;no36 spore -[FPA 009 Begin@FPA_Spore_Begin] +[FPA 009 Begin@Reduce_move_anim_flashing_Spore] Mode = 3 Type = 0 Address = {HEX @} @@ -385,7 +385,7 @@ ConditionValueC = {dws_ "S" "P" "O" "R" ;rsm152115 ;no12 rock slide -[FPA 010 Begin] +[FPA 010 Begin@Reduce_move_anim_flashing_Rock_Slide] Mode = 3 Type = 0 Address = {HEX @} @@ -396,7 +396,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "R" "O" "C" "K" ROCK_SLIDE } -[FPA 010 End] +[FPA 010 End@Stop_reducing_move_anim_flashing] Mode = 3 Type = 1 Address = {HEX @} @@ -408,7 +408,7 @@ ConditionValueC = {dws_ "D" "R" "E" "A" ;explosion ;No76 explosion -[FPA 76 Begin] +[FPA 76 Begin@Reduce_move_anim_flashing_Explosion] Mode = 3 Type = 0 Address = {HEX @} @@ -421,7 +421,7 @@ ConditionValueC = {dws_ "E" "X" "P" "L" ;No56 self-destruct -[FPA 56 Begin] +[FPA 56 Begin@Reduce_move_anim_flashing_Self_Destruct] Mode = 3 Type = 0 Address = {HEX @} @@ -434,7 +434,7 @@ ConditionValueC = {dws_ "S" "E" "L" "F" ;No131 blizzard -[FPA 131 Begin] +[FPA 131 Begin@Reduce_move_anim_flashing_Blizzard] Mode = 3 Type = 0 Address = {HEX @} @@ -447,7 +447,7 @@ ConditionValueC = {dws_ "B" "L" "I" "Z" ;confusion -[FPA conf Begin] +[FPA conf Begin@Reduce_move_anim_flashing_Confusion] Mode = 3 Type = 0 Address = {hex @} @@ -459,7 +459,7 @@ ConditionValueB = {dws_ == == == == ConditionValueC = {dws_ "C" "O" "N" "F" "S" CONFUSION } ;phychic -[FPA phy Begin] +[FPA phy Begin@Reduce_move_anim_flashing_Psychic] Mode = 3 Type = 0 Address = {hex @} @@ -470,7 +470,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == == } ConditionValueC = {dws_ "P" "S" "Y" "C" "I" PSYCHIC_M } -[FPA phy End] +[FPA phy End@Stop_reducing_move_anim_flashing_Psychic] Mode = 3 Type = 1 Address = {hex @} From 6b5be9129cabe72b9f775b02db1bf7e7169153da Mon Sep 17 00:00:00 2001 From: vulcandth Date: Mon, 6 Jun 2022 16:25:31 -0500 Subject: [PATCH 071/119] RGBDS syntax updates (#358) New MACRO and DEF syntax --- audio/low_health_alarm.asm | 2 +- constants/audio_constants.asm | 34 +-- constants/battle_constants.asm | 50 ++-- constants/credits_constants.asm | 2 +- constants/event_constants.asm | 2 +- constants/gfx_constants.asm | 40 +-- constants/hardware_constants.asm | 228 +++++++++--------- constants/hide_show_constants.asm | 6 +- constants/icon_constants.asm | 4 +- constants/input_constants.asm | 18 +- constants/item_constants.asm | 42 ++-- constants/map_constants.asm | 16 +- constants/map_data_constants.asm | 2 +- constants/map_object_constants.asm | 32 +-- constants/menu_constants.asm | 16 +- constants/misc_constants.asm | 10 +- constants/move_animation_constants.asm | 8 +- constants/move_constants.asm | 4 +- constants/move_effect_constants.asm | 2 +- constants/music_constants.asm | 24 +- constants/oam_constants.asm | 24 +- constants/palette_constants.asm | 12 +- constants/pokedex_constants.asm | 2 +- constants/pokemon_constants.asm | 10 +- constants/pokemon_data_constants.asm | 62 ++--- constants/script_constants.asm | 30 +-- constants/serial_constants.asm | 36 +-- constants/sprite_constants.asm | 4 +- constants/sprite_data_constants.asm | 10 +- constants/text_constants.asm | 14 +- constants/tileset_constants.asm | 2 +- constants/trainer_constants.asm | 8 +- constants/type_constants.asm | 6 +- data/battle_anims/special_effect_pointers.asm | 2 +- data/battle_anims/special_effects.asm | 2 +- data/battle_anims/subanimations.asm | 2 +- data/events/bench_guys.asm | 2 +- data/events/hidden_coins.asm | 2 +- data/events/hidden_item_coords.asm | 2 +- data/events/hidden_objects.asm | 6 +- data/growth_rates.asm | 2 +- data/icon_pointers.asm | 2 +- data/items/vending_prices.asm | 2 +- data/maps/force_bike_surf.asm | 2 +- data/maps/special_warps.asm | 6 +- data/maps/sprite_sets.asm | 6 +- data/maps/town_map_entries.asm | 4 +- data/moves/animations.asm | 2 +- data/moves/moves.asm | 2 +- data/pokemon/cries.asm | 2 +- data/predef_pointers.asm | 12 +- data/sgb/sgb_packets.asm | 18 +- data/sprites/sprites.asm | 2 +- data/text_boxes.asm | 2 +- data/text_predef_pointers.asm | 2 +- data/tilemaps.asm | 2 +- data/tilesets/bookshelf_tile_ids.asm | 2 +- data/tilesets/collision_tile_ids.asm | 2 +- data/tilesets/door_tile_ids.asm | 2 +- data/tilesets/spinner_tiles.asm | 2 +- data/tilesets/tileset_headers.asm | 2 +- data/tilesets/warp_carpet_tile_ids.asm | 2 +- data/tilesets/warp_tile_ids.asm | 2 +- data/trainers/move_choices.asm | 4 +- data/trainers/pic_pointers_money.asm | 2 +- data/yes_no_menu_strings.asm | 2 +- engine/battle/animations.asm | 2 +- engine/battle/battle_transitions.asm | 2 +- engine/events/diploma.asm | 4 +- .../hidden_objects/cinnabar_gym_quiz.asm | 6 +- engine/gfx/mon_icons.asm | 4 +- engine/items/town_map.asm | 2 +- engine/movie/intro.asm | 2 +- engine/movie/oak_speech/init_player_data.asm | 2 +- engine/movie/trade.asm | 6 +- engine/overworld/dust_smoke.asm | 2 +- engine/overworld/movement.asm | 2 +- engine/overworld/player_animations.asm | 2 +- home/init.asm | 2 +- home/print_num.asm | 22 +- home/text.asm | 2 +- home/text_script.asm | 2 +- home/vblank.asm | 2 +- macros/asserts.asm | 172 ++++++------- macros/code.asm | 16 +- macros/const.asm | 70 +++--- macros/coords.asm | 36 +-- macros/data.asm | 78 +++--- macros/farcall.asm | 12 +- macros/gfx.asm | 28 +-- macros/predef.asm | 14 +- macros/scripts/audio.asm | 54 ++--- macros/scripts/events.asm | 138 +++++------ macros/scripts/maps.asm | 172 ++++++------- macros/scripts/text.asm | 88 +++---- macros/vc.asm | 56 ++--- macros/wram.asm | 18 +- rgbdscheck.asm | 8 +- sram.asm | 12 +- vc/pokeblue.constants.asm | 4 +- vc/pokered.constants.asm | 4 +- 101 files changed, 958 insertions(+), 958 deletions(-) diff --git a/audio/low_health_alarm.asm b/audio/low_health_alarm.asm index a550cf70..08060aab 100644 --- a/audio/low_health_alarm.asm +++ b/audio/low_health_alarm.asm @@ -61,7 +61,7 @@ Music_DoLowHealthAlarm:: jr nz, .copyLoop ret -alarm_tone: MACRO +MACRO alarm_tone db \1 ; length db \2 ; envelope dw \3 ; frequency diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index 69ec4e74..59900fec 100644 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -13,7 +13,7 @@ const A_ ; 9 const A# ; A const B_ ; B -NUM_NOTES EQU const_value +DEF NUM_NOTES EQU const_value ; channel ; Audio[1|2|3]_HWChannelBaseAddresses, Audio[1|2|3]_HWChannelDisableMasks, @@ -23,31 +23,31 @@ NUM_NOTES EQU const_value const Ch2 ; 1 const Ch3 ; 2 const Ch4 ; 3 -NUM_MUSIC_CHANS EQU const_value +DEF NUM_MUSIC_CHANS EQU const_value const Ch5 ; 4 const Ch6 ; 5 const Ch7 ; 6 const Ch8 ; 7 -NUM_NOISE_CHANS EQU const_value - NUM_MUSIC_CHANS -NUM_CHANNELS EQU const_value +DEF NUM_NOISE_CHANS EQU const_value - NUM_MUSIC_CHANS +DEF NUM_CHANNELS EQU const_value ; HW sound channel register base addresses -HW_CH1_BASE EQU LOW(rNR10) -HW_CH2_BASE EQU LOW(rNR21) - 1 -HW_CH3_BASE EQU LOW(rNR30) -HW_CH4_BASE EQU LOW(rNR41) - 1 +DEF HW_CH1_BASE EQU LOW(rNR10) +DEF HW_CH2_BASE EQU LOW(rNR21) - 1 +DEF HW_CH3_BASE EQU LOW(rNR30) +DEF HW_CH4_BASE EQU LOW(rNR41) - 1 ; HW sound channel enable bit masks -HW_CH1_ENABLE_MASK EQU %00010001 -HW_CH2_ENABLE_MASK EQU %00100010 -HW_CH3_ENABLE_MASK EQU %01000100 -HW_CH4_ENABLE_MASK EQU %10001000 +DEF HW_CH1_ENABLE_MASK EQU %00010001 +DEF HW_CH2_ENABLE_MASK EQU %00100010 +DEF HW_CH3_ENABLE_MASK EQU %01000100 +DEF HW_CH4_ENABLE_MASK EQU %10001000 ; HW sound channel disable bit masks -HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff) -HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff) -HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff) -HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff) +DEF HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff) +DEF HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff) +DEF HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff) +DEF HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff) const_def 1 const REG_DUTY_SOUND_LEN ; 1 @@ -65,4 +65,4 @@ HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff) const BIT_ROTATE_DUTY_CYCLE ; 6 ; if rotating duty cycle ; wChannelFlags2 constant (only has one flag) -BIT_EXECUTE_MUSIC EQU 0 ; if in execute music +DEF BIT_EXECUTE_MUSIC EQU 0 ; if in execute music diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index fdbe8775..b394b7a2 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -1,6 +1,6 @@ -MAX_LEVEL EQU 100 +DEF MAX_LEVEL EQU 100 -NUM_MOVES EQU 4 +DEF NUM_MOVES EQU 4 ; VitaminStats indexes (see data/battle/stat_names.asm) const_def @@ -9,7 +9,7 @@ NUM_MOVES EQU 4 const STAT_DEFENSE const STAT_SPEED const STAT_SPECIAL -NUM_STATS EQU const_value +DEF NUM_STATS EQU const_value ; StatModTextStrings indexes (see data/battle/stat_mod_names.asm) const_def @@ -20,20 +20,20 @@ NUM_STATS EQU const_value const MOD_ACCURACY const MOD_EVASION const_skip 2 -NUM_STAT_MODS EQU const_value +DEF NUM_STAT_MODS EQU const_value ; Moves struct fields (see data/moves/moves.asm) rsreset -MOVE_ANIM rb -MOVE_EFFECT rb -MOVE_POWER rb -MOVE_TYPE rb -MOVE_ACC rb -MOVE_PP rb -MOVE_LENGTH EQU _RS +DEF MOVE_ANIM rb +DEF MOVE_EFFECT rb +DEF MOVE_POWER rb +DEF MOVE_TYPE rb +DEF MOVE_ACC rb +DEF MOVE_PP rb +DEF MOVE_LENGTH EQU _RS ; D733 flags -BIT_TEST_BATTLE EQU 0 +DEF BIT_TEST_BATTLE EQU 0 ; battle type constants (wBattleType values) const_def @@ -42,33 +42,33 @@ BIT_TEST_BATTLE EQU 0 const BATTLE_TYPE_SAFARI ; 2 ; damage limits before type effectiveness -MIN_NEUTRAL_DAMAGE EQU 2 -MAX_NEUTRAL_DAMAGE EQU 999 +DEF MIN_NEUTRAL_DAMAGE EQU 2 +DEF MAX_NEUTRAL_DAMAGE EQU 999 ; fixed damage constants -SONICBOOM_DAMAGE EQU 20 -DRAGON_RAGE_DAMAGE EQU 40 +DEF SONICBOOM_DAMAGE EQU 20 +DEF DRAGON_RAGE_DAMAGE EQU 40 ; type effectiveness factors, scaled by 10 -SUPER_EFFECTIVE EQU 20 -MORE_EFFECTIVE EQU 15 -EFFECTIVE EQU 10 -NOT_VERY_EFFECTIVE EQU 05 -NO_EFFECT EQU 00 +DEF SUPER_EFFECTIVE EQU 20 +DEF MORE_EFFECTIVE EQU 15 +DEF EFFECTIVE EQU 10 +DEF NOT_VERY_EFFECTIVE EQU 05 +DEF NO_EFFECT EQU 00 ; non-volatile statuses -SLP EQU %111 ; sleep counter +DEF SLP EQU %111 ; sleep counter const_def 3 const PSN ; 3 const BRN ; 4 const FRZ ; 5 const PAR ; 6 -MAX_STAT_VALUE EQU 999 +DEF MAX_STAT_VALUE EQU 999 ; trainer dvs -ATKDEFDV_TRAINER EQU $98 -SPDSPCDV_TRAINER EQU $88 +DEF ATKDEFDV_TRAINER EQU $98 +DEF SPDSPCDV_TRAINER EQU $88 ; wPlayerBattleStatus1 or wEnemyBattleStatus1 bit flags const_def diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm index 78dc7675..ba62012b 100644 --- a/constants/credits_constants.asm +++ b/constants/credits_constants.asm @@ -64,7 +64,7 @@ const CRED_FUKUI ; $3D const CRED_CLUB ; $3E const CRED_PAAD ; $3F -NUM_CRED_STRINGS EQU const_value +DEF NUM_CRED_STRINGS EQU const_value const_def -1, -1 const CRED_TEXT_FADE_MON ; $FF diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 4f169880..9e2ebcc6 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -772,4 +772,4 @@ ; End of events const_next $A00 -NUM_EVENTS EQU const_value +DEF NUM_EVENTS EQU const_value diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 91463e7c..522b6a67 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -1,33 +1,33 @@ -TILE_WIDTH EQU 8 ; pixels -LEN_1BPP_TILE EQU 1 * TILE_WIDTH ; bytes -LEN_2BPP_TILE EQU 2 * TILE_WIDTH ; bytes +DEF TILE_WIDTH EQU 8 ; pixels +DEF LEN_1BPP_TILE EQU 1 * TILE_WIDTH ; bytes +DEF LEN_2BPP_TILE EQU 2 * TILE_WIDTH ; bytes -SCREEN_WIDTH EQU 20 -SCREEN_HEIGHT EQU 18 -SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels -SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels +DEF SCREEN_WIDTH EQU 20 +DEF SCREEN_HEIGHT EQU 18 +DEF SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels +DEF SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels -BG_MAP_WIDTH EQU 32 ; tiles -BG_MAP_HEIGHT EQU 32 ; tiles +DEF BG_MAP_WIDTH EQU 32 ; tiles +DEF BG_MAP_HEIGHT EQU 32 ; tiles -SPRITEBUFFERSIZE EQU 7 * 7 * LEN_1BPP_TILE +DEF SPRITEBUFFERSIZE EQU 7 * 7 * LEN_1BPP_TILE ; HP bar -HP_BAR_GREEN EQU 0 -HP_BAR_YELLOW EQU 1 -HP_BAR_RED EQU 2 +DEF HP_BAR_GREEN EQU 0 +DEF HP_BAR_YELLOW EQU 1 +DEF HP_BAR_RED EQU 2 ; wOAMBuffer -NUM_SPRITE_OAM_STRUCTS EQU 40 +DEF NUM_SPRITE_OAM_STRUCTS EQU 40 ; hAutoBGTransferEnabled -TRANSFERTOP EQU 0 -TRANSFERMIDDLE EQU 1 -TRANSFERBOTTOM EQU 2 +DEF TRANSFERTOP EQU 0 +DEF TRANSFERMIDDLE EQU 1 +DEF TRANSFERBOTTOM EQU 2 ; hRedrawRowOrColumnMode -REDRAW_COL EQU 1 -REDRAW_ROW EQU 2 +DEF REDRAW_COL EQU 1 +DEF REDRAW_ROW EQU 2 ; tile list ids ; TileIDListPointerTable indexes (see data/tilemaps.asm) @@ -40,4 +40,4 @@ REDRAW_ROW EQU 2 const TILEMAP_GENGAR_INTRO_3 const TILEMAP_GAME_BOY const TILEMAP_LINK_CABLE -NUM_TILEMAPS EQU const_value +DEF NUM_TILEMAPS EQU const_value diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm index 993a02f5..0cc83383 100644 --- a/constants/hardware_constants.asm +++ b/constants/hardware_constants.asm @@ -1,130 +1,130 @@ ; From http://nocash.emubase.de/pandocs.htm. -GBC EQU $11 +DEF GBC EQU $11 ; memory map -VRAM_Begin EQU $8000 -VRAM_End EQU $a000 -SRAM_Begin EQU $a000 -SRAM_End EQU $c000 -WRAM0_Begin EQU $c000 -WRAM0_End EQU $d000 -WRAM1_Begin EQU $d000 -WRAM1_End EQU $e000 +DEF VRAM_Begin EQU $8000 +DEF VRAM_End EQU $a000 +DEF SRAM_Begin EQU $a000 +DEF SRAM_End EQU $c000 +DEF WRAM0_Begin EQU $c000 +DEF WRAM0_End EQU $d000 +DEF WRAM1_Begin EQU $d000 +DEF WRAM1_End EQU $e000 ; hardware registers $ff00-$ff80 (see below) -HRAM_Begin EQU $ff80 -HRAM_End EQU $ffff +DEF HRAM_Begin EQU $ff80 +DEF HRAM_End EQU $ffff ; MBC1 -MBC1SRamEnable EQU $0000 -MBC1RomBank EQU $2000 -MBC1SRamBank EQU $4000 -MBC1SRamBankingMode EQU $6000 +DEF MBC1SRamEnable EQU $0000 +DEF MBC1RomBank EQU $2000 +DEF MBC1SRamBank EQU $4000 +DEF MBC1SRamBankingMode EQU $6000 -SRAM_DISABLE EQU $00 -SRAM_ENABLE EQU $0a +DEF SRAM_DISABLE EQU $00 +DEF SRAM_ENABLE EQU $0a -NUM_SRAM_BANKS EQU 4 +DEF NUM_SRAM_BANKS EQU 4 ; interrupt flags -VBLANK EQU 0 -LCD_STAT EQU 1 -TIMER EQU 2 -SERIAL EQU 3 -JOYPAD EQU 4 +DEF VBLANK EQU 0 +DEF LCD_STAT EQU 1 +DEF TIMER EQU 2 +DEF SERIAL EQU 3 +DEF JOYPAD EQU 4 -LY_VBLANK EQU 145 +DEF LY_VBLANK EQU 145 ; serial -START_TRANSFER_EXTERNAL_CLOCK EQU $80 -START_TRANSFER_INTERNAL_CLOCK EQU $81 +DEF START_TRANSFER_EXTERNAL_CLOCK EQU $80 +DEF START_TRANSFER_INTERNAL_CLOCK EQU $81 ; Hardware registers -rJOYP EQU $ff00 ; Joypad (R/W) -rSB EQU $ff01 ; Serial transfer data (R/W) -rSC EQU $ff02 ; Serial Transfer Control (R/W) -rSC_ON EQU 7 -rSC_CGB EQU 1 -rSC_CLOCK EQU 0 -rDIV EQU $ff04 ; Divider Register (R/W) -rTIMA EQU $ff05 ; Timer counter (R/W) -rTMA EQU $ff06 ; Timer Modulo (R/W) -rTAC EQU $ff07 ; Timer Control (R/W) -rTAC_ON EQU 2 -rTAC_4096_HZ EQU 0 -rTAC_262144_HZ EQU 1 -rTAC_65536_HZ EQU 2 -rTAC_16384_HZ EQU 3 -rIF EQU $ff0f ; Interrupt Flag (R/W) -rNR10 EQU $ff10 ; Channel 1 Sweep register (R/W) -rNR11 EQU $ff11 ; Channel 1 Sound length/Wave pattern duty (R/W) -rNR12 EQU $ff12 ; Channel 1 Volume Envelope (R/W) -rNR13 EQU $ff13 ; Channel 1 Frequency lo (Write Only) -rNR14 EQU $ff14 ; Channel 1 Frequency hi (R/W) -rNR21 EQU $ff16 ; Channel 2 Sound Length/Wave Pattern Duty (R/W) -rNR22 EQU $ff17 ; Channel 2 Volume Envelope (R/W) -rNR23 EQU $ff18 ; Channel 2 Frequency lo data (W) -rNR24 EQU $ff19 ; Channel 2 Frequency hi data (R/W) -rNR30 EQU $ff1a ; Channel 3 Sound on/off (R/W) -rNR31 EQU $ff1b ; Channel 3 Sound Length -rNR32 EQU $ff1c ; Channel 3 Select output level (R/W) -rNR33 EQU $ff1d ; Channel 3 Frequency's lower data (W) -rNR34 EQU $ff1e ; Channel 3 Frequency's higher data (R/W) -rNR41 EQU $ff20 ; Channel 4 Sound Length (R/W) -rNR42 EQU $ff21 ; Channel 4 Volume Envelope (R/W) -rNR43 EQU $ff22 ; Channel 4 Polynomial Counter (R/W) -rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Initial (R/W) -rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W) -rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W) -rNR52 EQU $ff26 ; Sound on/off -rWave_0 EQU $ff30 -rWave_1 EQU $ff31 -rWave_2 EQU $ff32 -rWave_3 EQU $ff33 -rWave_4 EQU $ff34 -rWave_5 EQU $ff35 -rWave_6 EQU $ff36 -rWave_7 EQU $ff37 -rWave_8 EQU $ff38 -rWave_9 EQU $ff39 -rWave_a EQU $ff3a -rWave_b EQU $ff3b -rWave_c EQU $ff3c -rWave_d EQU $ff3d -rWave_e EQU $ff3e -rWave_f EQU $ff3f -rLCDC EQU $ff40 ; LCD Control (R/W) -rLCDC_ENABLE EQU 7 -rLCDC_ENABLE_MASK EQU 1 << rLCDC_ENABLE -rSTAT EQU $ff41 ; LCDC Status (R/W) -rSCY EQU $ff42 ; Scroll Y (R/W) -rSCX EQU $ff43 ; Scroll X (R/W) -rLY EQU $ff44 ; LCDC Y-Coordinate (R) -rLYC EQU $ff45 ; LY Compare (R/W) -rDMA EQU $ff46 ; DMA Transfer and Start Address (W) -rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only -rOBP0 EQU $ff48 ; Object Palette 0 Data (R/W) - Non CGB Mode Only -rOBP1 EQU $ff49 ; Object Palette 1 Data (R/W) - Non CGB Mode Only -rWY EQU $ff4a ; Window Y Position (R/W) -rWX EQU $ff4b ; Window X Position minus 7 (R/W) -rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch -rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank -rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High -rHDMA2 EQU $ff52 ; CGB Mode Only - New DMA Source, Low -rHDMA3 EQU $ff53 ; CGB Mode Only - New DMA Destination, High -rHDMA4 EQU $ff54 ; CGB Mode Only - New DMA Destination, Low -rHDMA5 EQU $ff55 ; CGB Mode Only - New DMA Length/Mode/Start -rRP EQU $ff56 ; CGB Mode Only - Infrared Communications Port -rBGPI EQU $ff68 ; CGB Mode Only - Background Palette Index -rBGPD EQU $ff69 ; CGB Mode Only - Background Palette Data -rOBPI EQU $ff6a ; CGB Mode Only - Sprite Palette Index -rOBPD EQU $ff6b ; CGB Mode Only - Sprite Palette Data -rUNKNOWN1 EQU $ff6c ; (FEh) Bit 0 (Read/Write) - CGB Mode Only -rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank -rUNKNOWN2 EQU $ff72 ; (00h) - Bit 0-7 (Read/Write) -rUNKNOWN3 EQU $ff73 ; (00h) - Bit 0-7 (Read/Write) -rUNKNOWN4 EQU $ff74 ; (00h) - Bit 0-7 (Read/Write) - CGB Mode Only -rUNKNOWN5 EQU $ff75 ; (8Fh) - Bit 4-6 (Read/Write) -rUNKNOWN6 EQU $ff76 ; (00h) - Always 00h (Read Only) -rUNKNOWN7 EQU $ff77 ; (00h) - Always 00h (Read Only) -rIE EQU $ffff ; Interrupt Enable (R/W) +DEF rJOYP EQU $ff00 ; Joypad (R/W) +DEF rSB EQU $ff01 ; Serial transfer data (R/W) +DEF rSC EQU $ff02 ; Serial Transfer Control (R/W) +DEF rSC_ON EQU 7 +DEF rSC_CGB EQU 1 +DEF rSC_CLOCK EQU 0 +DEF rDIV EQU $ff04 ; Divider Register (R/W) +DEF rTIMA EQU $ff05 ; Timer counter (R/W) +DEF rTMA EQU $ff06 ; Timer Modulo (R/W) +DEF rTAC EQU $ff07 ; Timer Control (R/W) +DEF rTAC_ON EQU 2 +DEF rTAC_4096_HZ EQU 0 +DEF rTAC_262144_HZ EQU 1 +DEF rTAC_65536_HZ EQU 2 +DEF rTAC_16384_HZ EQU 3 +DEF rIF EQU $ff0f ; Interrupt Flag (R/W) +DEF rNR10 EQU $ff10 ; Channel 1 Sweep register (R/W) +DEF rNR11 EQU $ff11 ; Channel 1 Sound length/Wave pattern duty (R/W) +DEF rNR12 EQU $ff12 ; Channel 1 Volume Envelope (R/W) +DEF rNR13 EQU $ff13 ; Channel 1 Frequency lo (Write Only) +DEF rNR14 EQU $ff14 ; Channel 1 Frequency hi (R/W) +DEF rNR21 EQU $ff16 ; Channel 2 Sound Length/Wave Pattern Duty (R/W) +DEF rNR22 EQU $ff17 ; Channel 2 Volume Envelope (R/W) +DEF rNR23 EQU $ff18 ; Channel 2 Frequency lo data (W) +DEF rNR24 EQU $ff19 ; Channel 2 Frequency hi data (R/W) +DEF rNR30 EQU $ff1a ; Channel 3 Sound on/off (R/W) +DEF rNR31 EQU $ff1b ; Channel 3 Sound Length +DEF rNR32 EQU $ff1c ; Channel 3 Select output level (R/W) +DEF rNR33 EQU $ff1d ; Channel 3 Frequency's lower data (W) +DEF rNR34 EQU $ff1e ; Channel 3 Frequency's higher data (R/W) +DEF rNR41 EQU $ff20 ; Channel 4 Sound Length (R/W) +DEF rNR42 EQU $ff21 ; Channel 4 Volume Envelope (R/W) +DEF rNR43 EQU $ff22 ; Channel 4 Polynomial Counter (R/W) +DEF rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Initial (R/W) +DEF rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W) +DEF rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W) +DEF rNR52 EQU $ff26 ; Sound on/off +DEF rWave_0 EQU $ff30 +DEF rWave_1 EQU $ff31 +DEF rWave_2 EQU $ff32 +DEF rWave_3 EQU $ff33 +DEF rWave_4 EQU $ff34 +DEF rWave_5 EQU $ff35 +DEF rWave_6 EQU $ff36 +DEF rWave_7 EQU $ff37 +DEF rWave_8 EQU $ff38 +DEF rWave_9 EQU $ff39 +DEF rWave_a EQU $ff3a +DEF rWave_b EQU $ff3b +DEF rWave_c EQU $ff3c +DEF rWave_d EQU $ff3d +DEF rWave_e EQU $ff3e +DEF rWave_f EQU $ff3f +DEF rLCDC EQU $ff40 ; LCD Control (R/W) +DEF rLCDC_ENABLE EQU 7 +DEF rLCDC_ENABLE_MASK EQU 1 << rLCDC_ENABLE +DEF rSTAT EQU $ff41 ; LCDC Status (R/W) +DEF rSCY EQU $ff42 ; Scroll Y (R/W) +DEF rSCX EQU $ff43 ; Scroll X (R/W) +DEF rLY EQU $ff44 ; LCDC Y-Coordinate (R) +DEF rLYC EQU $ff45 ; LY Compare (R/W) +DEF rDMA EQU $ff46 ; DMA Transfer and Start Address (W) +DEF rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only +DEF rOBP0 EQU $ff48 ; Object Palette 0 Data (R/W) - Non CGB Mode Only +DEF rOBP1 EQU $ff49 ; Object Palette 1 Data (R/W) - Non CGB Mode Only +DEF rWY EQU $ff4a ; Window Y Position (R/W) +DEF rWX EQU $ff4b ; Window X Position minus 7 (R/W) +DEF rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch +DEF rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank +DEF rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High +DEF rHDMA2 EQU $ff52 ; CGB Mode Only - New DMA Source, Low +DEF rHDMA3 EQU $ff53 ; CGB Mode Only - New DMA Destination, High +DEF rHDMA4 EQU $ff54 ; CGB Mode Only - New DMA Destination, Low +DEF rHDMA5 EQU $ff55 ; CGB Mode Only - New DMA Length/Mode/Start +DEF rRP EQU $ff56 ; CGB Mode Only - Infrared Communications Port +DEF rBGPI EQU $ff68 ; CGB Mode Only - Background Palette Index +DEF rBGPD EQU $ff69 ; CGB Mode Only - Background Palette Data +DEF rOBPI EQU $ff6a ; CGB Mode Only - Sprite Palette Index +DEF rOBPD EQU $ff6b ; CGB Mode Only - Sprite Palette Data +DEF rUNKNOWN1 EQU $ff6c ; (FEh) Bit 0 (Read/Write) - CGB Mode Only +DEF rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank +DEF rUNKNOWN2 EQU $ff72 ; (00h) - Bit 0-7 (Read/Write) +DEF rUNKNOWN3 EQU $ff73 ; (00h) - Bit 0-7 (Read/Write) +DEF rUNKNOWN4 EQU $ff74 ; (00h) - Bit 0-7 (Read/Write) - CGB Mode Only +DEF rUNKNOWN5 EQU $ff75 ; (8Fh) - Bit 4-6 (Read/Write) +DEF rUNKNOWN6 EQU $ff76 ; (00h) - Always 00h (Read Only) +DEF rUNKNOWN7 EQU $ff77 ; (00h) - Always 00h (Read Only) +DEF rIE EQU $ffff ; Interrupt Enable (R/W) diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 4770a29a..b73271e8 100644 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -1,5 +1,5 @@ -HIDE EQU $11 -SHOW EQU $15 +DEF HIDE EQU $11 +DEF SHOW EQU $15 ; MissableObjects indexes (see data/maps/hide_show_data.asm) ; this is a list of the sprites that can be enabled/disabled during the game @@ -237,4 +237,4 @@ SHOW EQU $15 const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E1 const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; E2 const HS_ARTICUNO ; E3 X -NUM_HS_OBJECTS EQU const_value +DEF NUM_HS_OBJECTS EQU const_value diff --git a/constants/icon_constants.asm b/constants/icon_constants.asm index 14202da3..767e29c6 100644 --- a/constants/icon_constants.asm +++ b/constants/icon_constants.asm @@ -12,6 +12,6 @@ const ICON_SNAKE ; $8 const ICON_QUADRUPED ; $9 -ICON_TRADEBUBBLE EQU $e +DEF ICON_TRADEBUBBLE EQU $e -ICONOFFSET EQU $40 ; difference between alternating icon frames' tile IDs +DEF ICONOFFSET EQU $40 ; difference between alternating icon frames' tile IDs diff --git a/constants/input_constants.asm b/constants/input_constants.asm index 7984d5a9..f9070cba 100644 --- a/constants/input_constants.asm +++ b/constants/input_constants.asm @@ -9,12 +9,12 @@ const BIT_D_UP const BIT_D_DOWN -NO_INPUT EQU 0 -A_BUTTON EQU 1 << BIT_A_BUTTON -B_BUTTON EQU 1 << BIT_B_BUTTON -SELECT EQU 1 << BIT_SELECT -START EQU 1 << BIT_START -D_RIGHT EQU 1 << BIT_D_RIGHT -D_LEFT EQU 1 << BIT_D_LEFT -D_UP EQU 1 << BIT_D_UP -D_DOWN EQU 1 << BIT_D_DOWN +DEF NO_INPUT EQU 0 +DEF A_BUTTON EQU 1 << BIT_A_BUTTON +DEF B_BUTTON EQU 1 << BIT_B_BUTTON +DEF SELECT EQU 1 << BIT_SELECT +DEF START EQU 1 << BIT_START +DEF D_RIGHT EQU 1 << BIT_D_RIGHT +DEF D_LEFT EQU 1 << BIT_D_LEFT +DEF D_UP EQU 1 << BIT_D_UP +DEF D_DOWN EQU 1 << BIT_D_DOWN diff --git a/constants/item_constants.asm b/constants/item_constants.asm index f3c71985..edd70379 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -29,8 +29,8 @@ const POTION ; $14 const BOULDERBADGE ; $15 const CASCADEBADGE ; $16 -SAFARI_BAIT EQU $15 ; overload -SAFARI_ROCK EQU $16 ; overload +DEF SAFARI_BAIT EQU $15 ; overload +DEF SAFARI_ROCK EQU $16 ; overload const THUNDERBADGE ; $17 const RAINBOWBADGE ; $18 const SOULBADGE ; $19 @@ -92,7 +92,7 @@ SAFARI_ROCK EQU $16 ; overload const MAX_ETHER ; $51 const ELIXER ; $52 const MAX_ELIXER ; $53 -NUM_ITEMS EQU const_value - 1 +DEF NUM_ITEMS EQU const_value - 1 ; elevator floors use item IDs const FLOOR_B2F ; $54 @@ -109,54 +109,54 @@ NUM_ITEMS EQU const_value - 1 const FLOOR_10F ; $5F const FLOOR_11F ; $60 const FLOOR_B4F ; $61 -NUM_FLOORS EQU const_value - 1 - NUM_ITEMS +DEF NUM_FLOORS EQU const_value - 1 - NUM_ITEMS const_next $C4 ; HMs are defined before TMs, so the actual number of TM definitions ; is not yet available. The TM quantity is hard-coded here and must ; match the actual number below. -NUM_TMS EQU 50 +DEF NUM_TMS EQU 50 -__tmhm_value__ = NUM_TMS + 1 +DEF __tmhm_value__ = NUM_TMS + 1 -add_tmnum: MACRO -\1_TMNUM EQU __tmhm_value__ -__tmhm_value__ += 1 +MACRO add_tmnum + DEF \1_TMNUM EQU __tmhm_value__ + DEF __tmhm_value__ += 1 ENDM -add_hm: MACRO +MACRO add_hm ; Defines three constants: ; - HM_\1: the item id, starting at $C4 ; - \1_TMNUM: the learnable TM/HM flag, starting at 51 ; - HM##_MOVE: alias for the move id, equal to the value of \1 const HM_\1 -HM_VALUE = __tmhm_value__ - NUM_TMS -HM{02d:HM_VALUE}_MOVE EQU \1 + DEF HM_VALUE = __tmhm_value__ - NUM_TMS + DEF HM{02d:HM_VALUE}_MOVE EQU \1 add_tmnum \1 ENDM -HM01 EQU const_value +DEF HM01 EQU const_value add_hm CUT ; $C4 add_hm FLY ; $C5 add_hm SURF ; $C6 add_hm STRENGTH ; $C7 add_hm FLASH ; $C8 -NUM_HMS EQU const_value - HM01 +DEF NUM_HMS EQU const_value - HM01 -__tmhm_value__ = 1 +DEF __tmhm_value__ = 1 -add_tm: MACRO +MACRO add_tm ; Defines three constants: ; - TM_\1: the item id, starting at $C9 ; - \1_TMNUM: the learnable TM/HM flag, starting at 1 ; - TM##_MOVE: alias for the move id, equal to the value of \1 const TM_\1 -TM{02d:__tmhm_value__}_MOVE EQU \1 + DEF TM{02d:__tmhm_value__}_MOVE EQU \1 add_tmnum \1 ENDM -TM01 EQU const_value +DEF TM01 EQU const_value add_tm MEGA_PUNCH ; $C9 add_tm RAZOR_WIND ; $CA add_tm SWORDS_DANCE ; $CB @@ -209,9 +209,9 @@ TM01 EQU const_value add_tm SUBSTITUTE ; $FA ASSERT NUM_TMS == const_value - TM01, "NUM_TMS ({d:NUM_TMS}) does not match the number of add_tm definitions" -NUM_TM_HM EQU NUM_TMS + NUM_HMS +DEF NUM_TM_HM EQU NUM_TMS + NUM_HMS ; 50 TMs + 5 HMs = 55 learnable TM/HM flags per Pokémon. ; These fit in 7 bytes, with one unused bit left over. -__tmhm_value__ = NUM_TM_HM + 1 -UNUSED_TMNUM EQU __tmhm_value__ +DEF __tmhm_value__ = NUM_TM_HM + 1 +DEF UNUSED_TMNUM EQU __tmhm_value__ diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 58343342..86e18e62 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -1,7 +1,7 @@ -mapconst: MACRO +MACRO mapconst const \1 -\1_HEIGHT EQU \2 -\1_WIDTH EQU \3 + DEF \1_HEIGHT EQU \2 + DEF \1_WIDTH EQU \3 ENDM ; map ids @@ -26,9 +26,9 @@ ENDM mapconst CINNABAR_ISLAND, 9, 10 ; $08 mapconst INDIGO_PLATEAU, 9, 10 ; $09 mapconst SAFFRON_CITY, 18, 20 ; $0A -NUM_CITY_MAPS EQU const_value +DEF NUM_CITY_MAPS EQU const_value mapconst UNUSED_MAP_0B, 0, 0 ; $0B -FIRST_ROUTE_MAP EQU const_value +DEF FIRST_ROUTE_MAP EQU const_value mapconst ROUTE_1, 18, 10 ; $0C mapconst ROUTE_2, 36, 10 ; $0D mapconst ROUTE_3, 9, 35 ; $0E @@ -54,7 +54,7 @@ FIRST_ROUTE_MAP EQU const_value mapconst ROUTE_23, 72, 10 ; $22 mapconst ROUTE_24, 18, 10 ; $23 mapconst ROUTE_25, 9, 30 ; $24 -FIRST_INDOOR_MAP EQU const_value +DEF FIRST_INDOOR_MAP EQU const_value mapconst REDS_HOUSE_1F, 4, 4 ; $25 mapconst REDS_HOUSE_2F, 4, 4 ; $26 mapconst BLUES_HOUSE, 4, 4 ; $27 @@ -266,8 +266,8 @@ FIRST_INDOOR_MAP EQU const_value mapconst LORELEIS_ROOM, 6, 5 ; $F5 mapconst BRUNOS_ROOM, 6, 5 ; $F6 mapconst AGATHAS_ROOM, 6, 5 ; $F7 -NUM_MAPS EQU const_value +DEF NUM_MAPS EQU const_value ; Indoor maps, such as houses, use this as the Map ID in their exit warps ; This map ID takes the player back to the last outdoor map they were on, stored in wLastMap -LAST_MAP EQU -1 +DEF LAST_MAP EQU -1 diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index 605e7013..1877e6a0 100644 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -1,6 +1,6 @@ ; width of east/west connections ; height of north/south connections -MAP_BORDER EQU 3 +DEF MAP_BORDER EQU 3 ; connection directions const_def diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm index 899e01f0..5c666d83 100644 --- a/constants/map_object_constants.asm +++ b/constants/map_object_constants.asm @@ -16,7 +16,7 @@ const SPRITESTATEDATA1_0D ; d const SPRITESTATEDATA1_0E ; e const SPRITESTATEDATA1_0F ; f -SPRITESTATEDATA1_LENGTH EQU const_value +DEF SPRITESTATEDATA1_LENGTH EQU const_value ; spritestatedata2 struct members (see macros/wram.asm) const_def @@ -36,24 +36,24 @@ SPRITESTATEDATA1_LENGTH EQU const_value const SPRITESTATEDATA2_PICTUREID ; d const SPRITESTATEDATA2_IMAGEBASEOFFSET ; e const SPRITESTATEDATA2_0F ; f -SPRITESTATEDATA2_LENGTH EQU const_value +DEF SPRITESTATEDATA2_LENGTH EQU const_value -NUM_SPRITESTATEDATA_STRUCTS EQU 16 +DEF NUM_SPRITESTATEDATA_STRUCTS EQU 16 ; different kinds of people events -ITEM EQU $80 -TRAINER EQU $40 +DEF ITEM EQU $80 +DEF TRAINER EQU $40 -WALK EQU $FE -STAY EQU $FF +DEF WALK EQU $FE +DEF STAY EQU $FF -ANY_DIR EQU $00 -UP_DOWN EQU $01 -LEFT_RIGHT EQU $02 -DOWN EQU $D0 -UP EQU $D1 -LEFT EQU $D2 -RIGHT EQU $D3 -NONE EQU $FF +DEF ANY_DIR EQU $00 +DEF UP_DOWN EQU $01 +DEF LEFT_RIGHT EQU $02 +DEF DOWN EQU $D0 +DEF UP EQU $D1 +DEF LEFT EQU $D2 +DEF RIGHT EQU $D3 +DEF NONE EQU $FF -BOULDER_MOVEMENT_BYTE_2 EQU $10 +DEF BOULDER_MOVEMENT_BYTE_2 EQU $10 diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm index eafebe97..f1f0d417 100644 --- a/constants/menu_constants.asm +++ b/constants/menu_constants.asm @@ -1,5 +1,5 @@ -BAG_ITEM_CAPACITY EQU 20 -PC_ITEM_CAPACITY EQU 50 +DEF BAG_ITEM_CAPACITY EQU 20 +DEF PC_ITEM_CAPACITY EQU 50 ; text box IDs const_def 1 @@ -42,15 +42,15 @@ PC_ITEM_CAPACITY EQU 50 const TRADE_CANCEL_MENU ; 5 const HEAL_CANCEL_MENU ; 6 const NO_YES_MENU ; 7 -NUM_TWO_OPTION_MENUS EQU const_value +DEF NUM_TWO_OPTION_MENUS EQU const_value ; menu exit method constants for list menus and the buy/sell/quit menu -CHOSE_MENU_ITEM EQU 1 ; pressed A -CANCELLED_MENU EQU 2 ; pressed B +DEF CHOSE_MENU_ITEM EQU 1 ; pressed A +DEF CANCELLED_MENU EQU 2 ; pressed B ; menu exit method constants for two-option menus -CHOSE_FIRST_ITEM EQU 1 -CHOSE_SECOND_ITEM EQU 2 +DEF CHOSE_FIRST_ITEM EQU 1 +DEF CHOSE_SECOND_ITEM EQU 2 ; move mon constants const_def @@ -71,7 +71,7 @@ CHOSE_SECOND_ITEM EQU 2 ; party menu message IDs ; PartyMenuItemUseMessagePointers indexes (see engine/menus/party_menu.asm) const_next $F0 -FIRST_PARTY_MENU_TEXT_ID EQU const_value +DEF FIRST_PARTY_MENU_TEXT_ID EQU const_value const ANTIDOTE_MSG ; $F0 const BURN_HEAL_MSG ; $F1 const ICE_HEAL_MSG ; $F2 diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 4aff58da..84775608 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -1,6 +1,6 @@ ; Boolean checks -FALSE EQU 0 -TRUE EQU 1 +DEF FALSE EQU 0 +DEF TRUE EQU 1 ; flag operations const_def @@ -9,9 +9,9 @@ TRUE EQU 1 const FLAG_TEST ; 2 ; wOptions -TEXT_DELAY_FAST EQU %001 ; 1 -TEXT_DELAY_MEDIUM EQU %011 ; 3 -TEXT_DELAY_SLOW EQU %101 ; 5 +DEF TEXT_DELAY_FAST EQU %001 ; 1 +DEF TEXT_DELAY_MEDIUM EQU %011 ; 3 +DEF TEXT_DELAY_SLOW EQU %101 ; 5 const_def 6 const BIT_BATTLE_SHIFT ; 6 diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index dc8c94fb..3d62cd19 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -1,7 +1,7 @@ ; special effects that are part of move animations ; SpecialEffectPointers associates them with effect routines (see data/battle_anims/special_effect_pointers.asm) const_def $C0 -FIRST_SE_ID EQU const_value +DEF FIRST_SE_ID EQU const_value const_skip $18 const SE_WAVY_SCREEN ; $D8 used in Psywave/Night Shade/Psychic etc. const SE_SUBSTITUTE_MON ; $D9 used in Substitute (turns the pokemon into a mini sprite) @@ -132,7 +132,7 @@ FIRST_SE_ID EQU const_value const SUBANIM_53 const SUBANIM_54 const SUBANIM_55 -NUM_SUBANIMS EQU const_value +DEF NUM_SUBANIMS EQU const_value ; types of subanimations const_def @@ -268,7 +268,7 @@ NUM_SUBANIMS EQU const_value const FRAMEBLOCK_77 const FRAMEBLOCK_78 const FRAMEBLOCK_79 -NUM_FRAMEBLOCKS EQU const_value +DEF NUM_FRAMEBLOCKS EQU const_value ; base coordinates that are part of subanimations ; FrameBlockBaseCoords indexes (see data/battle_anims/base_coords.asm) @@ -450,7 +450,7 @@ NUM_FRAMEBLOCKS EQU const_value const BASECOORD_AE const BASECOORD_AF const BASECOORD_B0 -NUM_BASECOORDS EQU const_value +DEF NUM_BASECOORDS EQU const_value ; frame block modes that are part of subanimations const_def diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 52c44210..570be95e 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -171,7 +171,7 @@ const SLASH ; a3 const SUBSTITUTE ; a4 const STRUGGLE ; a5 -NUM_ATTACKS EQU const_value - 1 +DEF NUM_ATTACKS EQU const_value - 1 ; Moves do double duty as animation identifiers. @@ -213,4 +213,4 @@ NUM_ATTACKS EQU const_value - 1 const ROCK_ANIM ; throw rock const BAIT_ANIM ; throw bait -NUM_ATTACK_ANIMS EQU const_value - 1 +DEF NUM_ATTACK_ANIMS EQU const_value - 1 diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm index bc444647..8f33ece3 100644 --- a/constants/move_effect_constants.asm +++ b/constants/move_effect_constants.asm @@ -91,4 +91,4 @@ const LEECH_SEED_EFFECT ; $54 const SPLASH_EFFECT ; $55 const DISABLE_EFFECT ; $56 -NUM_MOVE_EFFECTS EQU const_value - 1 +DEF NUM_MOVE_EFFECTS EQU const_value - 1 diff --git a/constants/music_constants.asm b/constants/music_constants.asm index fcca9005..e72e88d9 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -1,8 +1,8 @@ ; Song ids are calculated by address to save space. ; SFX_Headers_(1|2|3) indexes (see audio/headers/*.asm) -music_const: MACRO -\1 EQUS "((\2 - SFX_Headers_1) / 3)" +MACRO music_const + DEF \1 EQUS "((\2 - SFX_Headers_1) / 3)" ENDM ; AUDIO_1 @@ -57,7 +57,7 @@ ENDM music_const MUSIC_MEET_MALE_TRAINER, Music_MeetMaleTrainer ; AUDIO_1 AUDIO_2 AUDIO_3 -NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01" +DEF NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01" music_const SFX_NOISE_INSTRUMENT01, SFX_Noise_Instrument01_1 music_const SFX_NOISE_INSTRUMENT02, SFX_Noise_Instrument02_1 music_const SFX_NOISE_INSTRUMENT03, SFX_Noise_Instrument03_1 @@ -77,9 +77,9 @@ NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01" music_const SFX_NOISE_INSTRUMENT17, SFX_Noise_Instrument17_1 music_const SFX_NOISE_INSTRUMENT18, SFX_Noise_Instrument18_1 music_const SFX_NOISE_INSTRUMENT19, SFX_Noise_Instrument19_1 -NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1" +DEF NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1" -CRY_SFX_START EQUS "SFX_CRY_00" +DEF CRY_SFX_START EQUS "SFX_CRY_00" music_const SFX_CRY_00, SFX_Cry00_1 music_const SFX_CRY_01, SFX_Cry01_1 music_const SFX_CRY_02, SFX_Cry02_1 @@ -118,7 +118,7 @@ CRY_SFX_START EQUS "SFX_CRY_00" music_const SFX_CRY_23, SFX_Cry23_1 music_const SFX_CRY_24, SFX_Cry24_1 music_const SFX_CRY_25, SFX_Cry25_1 -CRY_SFX_END EQUS "SFX_CRY_25 + 3" +DEF CRY_SFX_END EQUS "SFX_CRY_25 + 3" music_const SFX_GET_ITEM_2, SFX_Get_Item2_1 music_const SFX_TINK, SFX_Tink_1 @@ -163,7 +163,7 @@ CRY_SFX_END EQUS "SFX_CRY_25 + 3" ; AUDIO_1 music_const SFX_POKEFLUTE, SFX_Pokeflute music_const SFX_SAFARI_ZONE_PA, SFX_Safari_Zone_PA -MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" +DEF MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" ; AUDIO_2 music_const SFX_LEVEL_UP, SFX_Level_Up @@ -175,7 +175,7 @@ MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" music_const SFX_DEX_PAGE_ADDED, SFX_Dex_Page_Added music_const SFX_CAUGHT_MON, SFX_Caught_Mon -BATTLE_SFX_START EQUS "SFX_PECK" +DEF BATTLE_SFX_START EQUS "SFX_PECK" music_const SFX_PECK, SFX_Peck music_const SFX_FAINT_FALL, SFX_Faint_Fall music_const SFX_BATTLE_09, SFX_Battle_09 @@ -225,8 +225,8 @@ BATTLE_SFX_START EQUS "SFX_PECK" music_const SFX_BATTLE_35, SFX_Battle_35 music_const SFX_BATTLE_36, SFX_Battle_36 music_const SFX_SILPH_SCOPE, SFX_Silph_Scope -BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1" -MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" +DEF BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1" +DEF MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" ; AUDIO_3 music_const SFX_INTRO_LUNGE, SFX_Intro_Lunge @@ -239,6 +239,6 @@ MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" music_const SFX_SLOTS_REWARD, SFX_Slots_Reward music_const SFX_SLOTS_NEW_SPIN, SFX_Slots_New_Spin music_const SFX_SHOOTING_STAR, SFX_Shooting_Star -MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR" +DEF MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR" -SFX_STOP_ALL_MUSIC EQU $ff +DEF SFX_STOP_ALL_MUSIC EQU $ff diff --git a/constants/oam_constants.asm b/constants/oam_constants.asm index be63dc24..8c5e6be8 100644 --- a/constants/oam_constants.asm +++ b/constants/oam_constants.asm @@ -1,17 +1,17 @@ ; OAM flags used by this game -OAMFLAG_ENDOFDATA EQU %00000001 ; pseudo OAM flag, only used by game logic -OAMFLAG_CANBEMASKED EQU %00000010 ; pseudo OAM flag, only used by game logic +DEF OAMFLAG_ENDOFDATA EQU %00000001 ; pseudo OAM flag, only used by game logic +DEF OAMFLAG_CANBEMASKED EQU %00000010 ; pseudo OAM flag, only used by game logic ; OAM attribute flags -OAM_PALETTE EQU %111 -OAM_TILE_BANK EQU 3 -OAM_OBP_NUM EQU 4 ; Non CGB Mode Only -OAM_X_FLIP EQU 5 -OAM_Y_FLIP EQU 6 -OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3) +DEF OAM_PALETTE EQU %111 +DEF OAM_TILE_BANK EQU 3 +DEF OAM_OBP_NUM EQU 4 ; Non CGB Mode Only +DEF OAM_X_FLIP EQU 5 +DEF OAM_Y_FLIP EQU 6 +DEF OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3) ; OAM attribute masks -OAM_OBP1 EQU 1 << OAM_OBP_NUM ; OBJ palette 1 -OAM_HFLIP EQU 1 << OAM_X_FLIP ; horizontal flip -OAM_VFLIP EQU 1 << OAM_Y_FLIP ; vertical flip -OAM_BEHIND_BG EQU 1 << OAM_PRIORITY ; behind bg (except color 0) +DEF OAM_OBP1 EQU 1 << OAM_OBP_NUM ; OBJ palette 1 +DEF OAM_HFLIP EQU 1 << OAM_X_FLIP ; horizontal flip +DEF OAM_VFLIP EQU 1 << OAM_Y_FLIP ; vertical flip +DEF OAM_BEHIND_BG EQU 1 << OAM_PRIORITY ; behind bg (except color 0) diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm index c26945e8..78d39c95 100644 --- a/constants/palette_constants.asm +++ b/constants/palette_constants.asm @@ -4,10 +4,10 @@ const SHADE_LIGHT ; %01 const SHADE_DARK ; %10 const SHADE_BLACK ; %11 -NUM_PAL_COLORS EQU const_value +DEF NUM_PAL_COLORS EQU const_value -PAL_COLOR_SIZE EQU 2 -PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE +DEF PAL_COLOR_SIZE EQU 2 +DEF PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE ; pal/blk packets ; SetPalFunctions indexes (see engine/gfx/palettes.asm) @@ -27,8 +27,8 @@ PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE const SET_PAL_GAME_FREAK_INTRO ; $0C const SET_PAL_TRAINER_CARD ; $0D -SET_PAL_PARTY_MENU_HP_BARS EQU $fc -SET_PAL_DEFAULT EQU $ff +DEF SET_PAL_PARTY_MENU_HP_BARS EQU $fc +DEF SET_PAL_DEFAULT EQU $ff ; sgb palettes ; SuperPalettes indexes (see data/sgb/sgb_palettes.asm) @@ -70,4 +70,4 @@ SET_PAL_DEFAULT EQU $ff const PAL_BADGE ; $22 const PAL_CAVE ; $23 const PAL_GAMEFREAK ; $24 -NUM_SGB_PALS EQU const_value +DEF NUM_SGB_PALS EQU const_value diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index a805b261..a839a03a 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -156,4 +156,4 @@ const DEX_MEWTWO ; 150 const DEX_MEW ; 151 -NUM_POKEMON EQU const_value - 1 +DEF NUM_POKEMON EQU const_value - 1 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index d01398b8..ea206bb8 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -198,12 +198,12 @@ const WEEPINBELL ; $BD const VICTREEBEL ; $BE -NUM_POKEMON_INDEXES EQU const_value - 1 +DEF NUM_POKEMON_INDEXES EQU const_value - 1 ; starters -STARTER1 EQU CHARMANDER -STARTER2 EQU SQUIRTLE -STARTER3 EQU BULBASAUR +DEF STARTER1 EQU CHARMANDER +DEF STARTER2 EQU SQUIRTLE +DEF STARTER3 EQU BULBASAUR ; ghost Marowak in Pokémon Tower -RESTLESS_SOUL EQU MAROWAK +DEF RESTLESS_SOUL EQU MAROWAK diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 6670f777..430abfe0 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -1,37 +1,37 @@ ; base data struct members (see data/pokemon/base_stats/*.asm) rsreset -BASE_DEX_NO rb -BASE_STATS rb NUM_STATS +DEF BASE_DEX_NO rb +DEF BASE_STATS rb NUM_STATS rsset BASE_STATS -BASE_HP rb -BASE_ATK rb -BASE_DEF rb -BASE_SPD rb -BASE_SPC rb -BASE_TYPES rw +DEF BASE_HP rb +DEF BASE_ATK rb +DEF BASE_DEF rb +DEF BASE_SPD rb +DEF BASE_SPC rb +DEF BASE_TYPES rw rsset BASE_TYPES -BASE_TYPE_1 rb -BASE_TYPE_2 rb -BASE_CATCH_RATE rb -BASE_EXP rb -BASE_PIC_SIZE rb -BASE_FRONTPIC rw -BASE_BACKPIC rw -BASE_MOVES rb NUM_MOVES -BASE_GROWTH_RATE rb -BASE_TMHM rb (NUM_TM_HM + 7) / 8 - rb_skip -BASE_DATA_SIZE EQU _RS +DEF BASE_TYPE_1 rb +DEF BASE_TYPE_2 rb +DEF BASE_CATCH_RATE rb +DEF BASE_EXP rb +DEF BASE_PIC_SIZE rb +DEF BASE_FRONTPIC rw +DEF BASE_BACKPIC rw +DEF BASE_MOVES rb NUM_MOVES +DEF BASE_GROWTH_RATE rb +DEF BASE_TMHM rb (NUM_TM_HM + 7) / 8 + rb_skip +DEF BASE_DATA_SIZE EQU _RS -PARTY_LENGTH EQU 6 +DEF PARTY_LENGTH EQU 6 -MONS_PER_BOX EQU 20 -NUM_BOXES EQU 12 +DEF MONS_PER_BOX EQU 20 +DEF NUM_BOXES EQU 12 -HOF_MON EQU $10 -HOF_TEAM EQU PARTY_LENGTH * HOF_MON -HOF_TEAM_CAPACITY EQU 50 +DEF HOF_MON EQU $10 +DEF HOF_TEAM EQU PARTY_LENGTH * HOF_MON +DEF HOF_TEAM_CAPACITY EQU 50 ; mon data locations @@ -52,8 +52,8 @@ HOF_TEAM_CAPACITY EQU 50 const EV_ITEM ; 2 const EV_TRADE ; 3 -MAX_EVOLUTIONS EQU 3 -EVOLUTION_SIZE EQU 4 +DEF MAX_EVOLUTIONS EQU 3 +DEF EVOLUTION_SIZE EQU 4 ; wMonHGrowthRate values @@ -65,8 +65,8 @@ EVOLUTION_SIZE EQU 4 const GROWTH_MEDIUM_SLOW const GROWTH_FAST const GROWTH_SLOW -NUM_GROWTH_RATES EQU const_value +DEF NUM_GROWTH_RATES EQU const_value ; wild data (see data/wild/maps/*.asm) -NUM_WILDMONS EQU 10 -WILDDATA_LENGTH EQU 1 + NUM_WILDMONS * 2 +DEF NUM_WILDMONS EQU 10 +DEF WILDDATA_LENGTH EQU 1 + NUM_WILDMONS * 2 diff --git a/constants/script_constants.asm b/constants/script_constants.asm index fe50e8ae..d4543f05 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -5,17 +5,17 @@ const SMILE_BUBBLE ; 2 ; slot symbols -SLOTS7 EQU $0200 -SLOTSBAR EQU $0604 -SLOTSCHERRY EQU $0A08 -SLOTSFISH EQU $0E0C -SLOTSBIRD EQU $1210 -SLOTSMOUSE EQU $1614 +DEF SLOTS7 EQU $0200 +DEF SLOTSBAR EQU $0604 +DEF SLOTSCHERRY EQU $0A08 +DEF SLOTSFISH EQU $0E0C +DEF SLOTSBIRD EQU $1210 +DEF SLOTSMOUSE EQU $1614 ; StartSlotMachine dialogs -SLOTS_OUTOFORDER EQU $fd -SLOTS_OUTTOLUNCH EQU $fe -SLOTS_SOMEONESKEYS EQU $ff +DEF SLOTS_OUTOFORDER EQU $fd +DEF SLOTS_OUTTOLUNCH EQU $fe +DEF SLOTS_SOMEONESKEYS EQU $ff ; in game trades ; TradeMons indexes (see data/events/trades.asm) @@ -30,7 +30,7 @@ SLOTS_SOMEONESKEYS EQU $ff const TRADE_FOR_DORIS const TRADE_FOR_CRINKLES const TRADE_FOR_SPOT -NUM_NPC_TRADES EQU const_value +DEF NUM_NPC_TRADES EQU const_value ; in game trade dialog sets ; InGameTradeTextPointers indexes (see engine/events/in_game_trades.asm) @@ -50,10 +50,10 @@ NUM_NPC_TRADES EQU const_value const BIT_MARSHBADGE ; 5 const BIT_VOLCANOBADGE ; 6 const BIT_EARTHBADGE ; 7 -NUM_BADGES EQU const_value +DEF NUM_BADGES EQU const_value ; OaksAideScript results -OAKS_AIDE_BAG_FULL EQU $00 -OAKS_AIDE_GOT_ITEM EQU $01 -OAKS_AIDE_NOT_ENOUGH_MONS EQU $80 -OAKS_AIDE_REFUSED EQU $ff +DEF OAKS_AIDE_BAG_FULL EQU $00 +DEF OAKS_AIDE_GOT_ITEM EQU $01 +DEF OAKS_AIDE_NOT_ENOUGH_MONS EQU $80 +DEF OAKS_AIDE_REFUSED EQU $ff diff --git a/constants/serial_constants.asm b/constants/serial_constants.asm index a6aae315..16603980 100644 --- a/constants/serial_constants.asm +++ b/constants/serial_constants.asm @@ -1,27 +1,27 @@ -ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 -ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02 +DEF ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 +DEF ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02 -USING_EXTERNAL_CLOCK EQU $01 -USING_INTERNAL_CLOCK EQU $02 -CONNECTION_NOT_ESTABLISHED EQU $ff +DEF USING_EXTERNAL_CLOCK EQU $01 +DEF USING_INTERNAL_CLOCK EQU $02 +DEF CONNECTION_NOT_ESTABLISHED EQU $ff ; signals the start of an array of bytes transferred over the link cable -SERIAL_PREAMBLE_BYTE EQU $FD +DEF SERIAL_PREAMBLE_BYTE EQU $FD ; this byte is used when there is no data to send -SERIAL_NO_DATA_BYTE EQU $FE +DEF SERIAL_NO_DATA_BYTE EQU $FE ; signals the end of one part of a patch list (there are two parts) for player/enemy party data -SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF +DEF SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF -LINK_STATE_NONE EQU $00 ; not using link -LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre) -LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation -LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation -LINK_STATE_BATTLING EQU $04 ; in a link battle -LINK_STATE_RESET EQU $05 ; reset game (unused) -LINK_STATE_TRADING EQU $32 ; in a link trade +DEF LINK_STATE_NONE EQU $00 ; not using link +DEF LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre) +DEF LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation +DEF LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation +DEF LINK_STATE_BATTLING EQU $04 ; in a link battle +DEF LINK_STATE_RESET EQU $05 ; reset game (unused) +DEF LINK_STATE_TRADING EQU $32 ; in a link trade -LINKBATTLE_RUN EQU $F -LINKBATTLE_STRUGGLE EQU $E -LINKBATTLE_NO_ACTION EQU $D +DEF LINKBATTLE_RUN EQU $F +DEF LINKBATTLE_STRUGGLE EQU $E +DEF LINKBATTLE_NO_ACTION EQU $D diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index ee7238d9..700ec47a 100644 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -62,7 +62,7 @@ const SPRITE_BRUNO ; $3a const SPRITE_LORELEI ; $3b const SPRITE_SEEL ; $3c -FIRST_STILL_SPRITE EQU const_value +DEF FIRST_STILL_SPRITE EQU const_value const SPRITE_POKE_BALL ; $3d const SPRITE_FOSSIL ; $3e const SPRITE_BOULDER ; $3f @@ -75,4 +75,4 @@ FIRST_STILL_SPRITE EQU const_value const SPRITE_UNUSED_GAMBLER_ASLEEP_1 ; $46 const SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; $47 const SPRITE_GAMBLER_ASLEEP ; $48 -NUM_SPRITES EQU const_value - 1 +DEF NUM_SPRITES EQU const_value - 1 diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm index e1104262..44dc0fa9 100644 --- a/constants/sprite_data_constants.asm +++ b/constants/sprite_data_constants.asm @@ -11,7 +11,7 @@ const NPC_MOVEMENT_LEFT ; $80 const NPC_MOVEMENT_RIGHT ; $C0 -NPC_CHANGE_FACING EQU $E0 +DEF NPC_CHANGE_FACING EQU $E0 ; player direction constants const_def @@ -20,7 +20,7 @@ NPC_CHANGE_FACING EQU $E0 const PLAYER_DIR_BIT_DOWN ; 2 const PLAYER_DIR_BIT_UP ; 3 -PLAYER_DIR_RIGHT EQU 1 << PLAYER_DIR_BIT_RIGHT -PLAYER_DIR_LEFT EQU 1 << PLAYER_DIR_BIT_LEFT -PLAYER_DIR_DOWN EQU 1 << PLAYER_DIR_BIT_DOWN -PLAYER_DIR_UP EQU 1 << PLAYER_DIR_BIT_UP +DEF PLAYER_DIR_RIGHT EQU 1 << PLAYER_DIR_BIT_RIGHT +DEF PLAYER_DIR_LEFT EQU 1 << PLAYER_DIR_BIT_LEFT +DEF PLAYER_DIR_DOWN EQU 1 << PLAYER_DIR_BIT_DOWN +DEF PLAYER_DIR_UP EQU 1 << PLAYER_DIR_BIT_UP diff --git a/constants/text_constants.asm b/constants/text_constants.asm index e0d36148..5943457b 100644 --- a/constants/text_constants.asm +++ b/constants/text_constants.asm @@ -1,6 +1,6 @@ -NAME_LENGTH EQU 11 -ITEM_NAME_LENGTH EQU 13 -NAME_BUFFER_LENGTH EQU 20 +DEF NAME_LENGTH EQU 11 +DEF ITEM_NAME_LENGTH EQU 13 +DEF NAME_BUFFER_LENGTH EQU 20 ; PrintNumber const_def 5 @@ -8,9 +8,9 @@ NAME_BUFFER_LENGTH EQU 20 const BIT_LEFT_ALIGN ; 6 const BIT_LEADING_ZEROES ; 7 -MONEY_SIGN EQU (1 << BIT_MONEY_SIGN) -LEFT_ALIGN EQU (1 << BIT_LEFT_ALIGN) -LEADING_ZEROES EQU (1 << BIT_LEADING_ZEROES) +DEF MONEY_SIGN EQU (1 << BIT_MONEY_SIGN) +DEF LEFT_ALIGN EQU (1 << BIT_LEFT_ALIGN) +DEF LEADING_ZEROES EQU (1 << BIT_LEADING_ZEROES) ; special text IDs (see home/text_script.asm) const_def $d0 @@ -19,4 +19,4 @@ LEADING_ZEROES EQU (1 << BIT_LEADING_ZEROES) const TEXT_REPEL_WORE_OFF ; $d2 const TEXT_SAFARI_GAME_OVER ; $d3 -TEXT_START_MENU EQU $00 +DEF TEXT_START_MENU EQU $00 diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm index 446df021..e7fe88f5 100644 --- a/constants/tileset_constants.asm +++ b/constants/tileset_constants.asm @@ -25,4 +25,4 @@ const CLUB ; 21 const FACILITY ; 22 const PLATEAU ; 23 -NUM_TILESETS EQU const_value +DEF NUM_TILESETS EQU const_value diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 14b662f3..4daf8a96 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -1,8 +1,8 @@ -OPP_ID_OFFSET EQU 200 +DEF OPP_ID_OFFSET EQU 200 -trainer_const: MACRO +MACRO trainer_const const \1 -OPP_\1 EQU OPP_ID_OFFSET + \1 + DEF OPP_\1 EQU OPP_ID_OFFSET + \1 ENDM ; trainer class ids @@ -62,4 +62,4 @@ ENDM trainer_const CHANNELER ; $2D trainer_const AGATHA ; $2E trainer_const LANCE ; $2F -NUM_TRAINERS EQU const_value - 1 +DEF NUM_TRAINERS EQU const_value - 1 diff --git a/constants/type_constants.asm b/constants/type_constants.asm index 24817c20..e9df7faf 100644 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -1,7 +1,7 @@ ; TypeNames indexes (see data/types/names.asm) const_def -PHYSICAL EQU const_value +DEF PHYSICAL EQU const_value const NORMAL ; $00 const FIGHTING ; $01 const FLYING ; $02 @@ -14,7 +14,7 @@ PHYSICAL EQU const_value const_next 20 -SPECIAL EQU const_value +DEF SPECIAL EQU const_value const FIRE ; $14 const WATER ; $15 const GRASS ; $16 @@ -23,4 +23,4 @@ SPECIAL EQU const_value const ICE ; $19 const DRAGON ; $1A -NUM_TYPES EQU const_value +DEF NUM_TYPES EQU const_value diff --git a/data/battle_anims/special_effect_pointers.asm b/data/battle_anims/special_effect_pointers.asm index 4e2fb857..4089d557 100644 --- a/data/battle_anims/special_effect_pointers.asm +++ b/data/battle_anims/special_effect_pointers.asm @@ -1,4 +1,4 @@ -special_effect: MACRO +MACRO special_effect db \1 dw \2 ENDM diff --git a/data/battle_anims/special_effects.asm b/data/battle_anims/special_effects.asm index 98385d47..068e3b19 100644 --- a/data/battle_anims/special_effects.asm +++ b/data/battle_anims/special_effects.asm @@ -1,4 +1,4 @@ -anim_special_effect: MACRO +MACRO anim_special_effect db \1 dw \2 ENDM diff --git a/data/battle_anims/subanimations.asm b/data/battle_anims/subanimations.asm index 54d346a6..d67d4641 100644 --- a/data/battle_anims/subanimations.asm +++ b/data/battle_anims/subanimations.asm @@ -94,7 +94,7 @@ SubanimationPointers: ; db frame block id, base coordinate id, frame block mode ; ENDR -subanim: MACRO +MACRO subanim db (\1 << 5) | \2 ENDM diff --git a/data/events/bench_guys.asm b/data/events/bench_guys.asm index 2e7eeb2a..8f3d0948 100644 --- a/data/events/bench_guys.asm +++ b/data/events/bench_guys.asm @@ -1,4 +1,4 @@ -bench_guy_text: MACRO +MACRO bench_guy_text db \1, \2 db_tx_pre \3 ENDM diff --git a/data/events/hidden_coins.asm b/data/events/hidden_coins.asm index bcdbcd80..f2485f50 100644 --- a/data/events/hidden_coins.asm +++ b/data/events/hidden_coins.asm @@ -1,4 +1,4 @@ -hidden_coin: MACRO +MACRO hidden_coin db \1, \3, \2 ENDM diff --git a/data/events/hidden_item_coords.asm b/data/events/hidden_item_coords.asm index 115f53aa..30619d6b 100644 --- a/data/events/hidden_item_coords.asm +++ b/data/events/hidden_item_coords.asm @@ -1,4 +1,4 @@ -hidden_item: MACRO +MACRO hidden_item db \1, \3, \2 ENDM diff --git a/data/events/hidden_objects.asm b/data/events/hidden_objects.asm index efb99026..55e33731 100644 --- a/data/events/hidden_objects.asm +++ b/data/events/hidden_objects.asm @@ -174,14 +174,14 @@ HiddenObjectPointers: dw CeruleanCityHiddenObjects dw Route4HiddenObjects -hidden_object: MACRO +MACRO hidden_object db \2 ; y coord db \1 ; x coord db \3 ; item id dba \4 ; object routine ENDM -hidden_text_predef: MACRO +MACRO hidden_text_predef db \2 ; y coord db \1 ; x coord db_tx_pre \3 ; text id @@ -191,7 +191,7 @@ ENDM ; Some hidden objects use SPRITE_FACING_* values, ; but these do not actually prevent the player ; from interacting with them in any direction. -ANY_FACING EQU $d0 +DEF ANY_FACING EQU $d0 TradeCenterHiddenObjects: hidden_object 5, 4, ANY_FACING, CableClubRightGameboy diff --git a/data/growth_rates.asm b/data/growth_rates.asm index cc0955e4..aaba27a8 100644 --- a/data/growth_rates.asm +++ b/data/growth_rates.asm @@ -1,4 +1,4 @@ -growth_rate: MACRO +MACRO growth_rate ; [1]/[2]*n**3 + [3]*n**2 + [4]*n - [5] dn \1, \2 if \3 < 0 diff --git a/data/icon_pointers.asm b/data/icon_pointers.asm index 79db936e..1ff8a29e 100644 --- a/data/icon_pointers.asm +++ b/data/icon_pointers.asm @@ -1,4 +1,4 @@ -mon_icon_header: MACRO +MACRO mon_icon_header dw \1 tile \2 db \3 db BANK(\1) diff --git a/data/items/vending_prices.asm b/data/items/vending_prices.asm index 9680c48d..39f6dfde 100644 --- a/data/items/vending_prices.asm +++ b/data/items/vending_prices.asm @@ -1,4 +1,4 @@ -vend_item: MACRO +MACRO vend_item db \1 bcd3 \2 ENDM diff --git a/data/maps/force_bike_surf.asm b/data/maps/force_bike_surf.asm index 74eba325..01416d89 100644 --- a/data/maps/force_bike_surf.asm +++ b/data/maps/force_bike_surf.asm @@ -1,4 +1,4 @@ -force_bike_surf: MACRO +MACRO force_bike_surf db \1, \3, \2 ENDM diff --git a/data/maps/special_warps.asm b/data/maps/special_warps.asm index 56dac3a5..cad320ed 100644 --- a/data/maps/special_warps.asm +++ b/data/maps/special_warps.asm @@ -17,7 +17,7 @@ DungeonWarpList: db -1 ; end -fly_warp: MACRO +MACRO fly_warp event_displacement \1_WIDTH, \2, \3 db ((\3) & $01) ;sub-block Y db ((\2) & $01) ;sub-block X @@ -38,7 +38,7 @@ DungeonWarpData: fly_warp POKEMON_MANSION_2F, 18, 14 -special_warp_spec: MACRO +MACRO special_warp_spec db \1 fly_warp \1, \2, \3 db \4 @@ -56,7 +56,7 @@ ColosseumSpec2: special_warp_spec COLOSSEUM, 6, 4, CLUB -fly_warp_spec: MACRO +MACRO fly_warp_spec db \1, 0 dw \2 ENDM diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm index 6aad2958..755ed2fc 100644 --- a/data/maps/sprite_sets.asm +++ b/data/maps/sprite_sets.asm @@ -39,8 +39,8 @@ MapSpriteSets: db $02 ; ROUTE_25 assert_table_length FIRST_INDOOR_MAP -EAST_WEST EQU 1 -NORTH_SOUTH EQU 2 +DEF EAST_WEST EQU 1 +DEF NORTH_SOUTH EQU 2 ; Format: ; 00: determines whether the map is split EAST_WEST or NORTH_SOUTH @@ -64,7 +64,7 @@ SplitMapSpriteSets: SpriteSets: ; each sprite set has 9 walking sprites and 2 still sprites -SPRITE_SET_LENGTH EQU 9 + 2 +DEF SPRITE_SET_LENGTH EQU 9 + 2 ; sprite set $01 table_width 1 diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm index fdec1e15..78b7ff62 100644 --- a/data/maps/town_map_entries.asm +++ b/data/maps/town_map_entries.asm @@ -1,4 +1,4 @@ -external_map: MACRO +MACRO external_map dn \2, \1 dw \3 ENDM @@ -47,7 +47,7 @@ ExternalMapEntries: assert_table_length FIRST_INDOOR_MAP -internal_map: MACRO +MACRO internal_map db \1 + 1 dn \3, \2 dw \4 diff --git a/data/moves/animations.asm b/data/moves/animations.asm index 0d8a2bd4..0049cf59 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -214,7 +214,7 @@ AttackAnimationPointers: ; if \2 is a subanimation_id: ;\3: tileset_id ;\4: delay -battle_anim: MACRO +MACRO battle_anim IF _NARG == 4 db (\3 << 6) | \4 db \1 - 1 diff --git a/data/moves/moves.asm b/data/moves/moves.asm index 0e52e01c..b7e5e7af 100644 --- a/data/moves/moves.asm +++ b/data/moves/moves.asm @@ -1,4 +1,4 @@ -move: MACRO +MACRO move db \1 ; animation (interchangeable with move id) db \2 ; effect db \3 ; power diff --git a/data/pokemon/cries.asm b/data/pokemon/cries.asm index f823cdef..290f5625 100644 --- a/data/pokemon/cries.asm +++ b/data/pokemon/cries.asm @@ -1,4 +1,4 @@ -mon_cry: MACRO +MACRO mon_cry db (\1 - CRY_SFX_START) / 3 db \2, \3 ENDM diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm index b8911f3c..eaef75f6 100644 --- a/data/predef_pointers.asm +++ b/data/predef_pointers.asm @@ -1,10 +1,10 @@ -add_predef: MACRO +MACRO add_predef \1Predef:: -IF _NARG == 1 - dba \1 -ELSE - dbw \2, \1 -ENDC + IF _NARG == 1 + dba \1 + ELSE + dbw \2, \1 + ENDC ENDM PredefPointers:: diff --git a/data/sgb/sgb_packets.asm b/data/sgb/sgb_packets.asm index 0b6219e1..11fc8900 100644 --- a/data/sgb/sgb_packets.asm +++ b/data/sgb/sgb_packets.asm @@ -1,51 +1,51 @@ -ATTR_BLK: MACRO +MACRO ATTR_BLK ; This is a command macro. ; Use ATTR_BLK_DATA for data sets. db ($4 << 3) + ((\1 * 6) / 16 + 1) db \1 ENDM -ATTR_BLK_DATA: MACRO +MACRO ATTR_BLK_DATA db \1 ; which regions are affected db \2 + (\3 << 2) + (\4 << 4) ; palette for each region db \5, \6, \7, \8 ; x1, y1, x2, y2 ENDM -PAL_SET: MACRO +MACRO PAL_SET db ($a << 3) + 1 dw \1, \2, \3, \4 ds 7, 0 ENDM -PAL_TRN: MACRO +MACRO PAL_TRN db ($b << 3) + 1 ds 15, 0 ENDM -MLT_REQ: MACRO +MACRO MLT_REQ db ($11 << 3) + 1 db \1 - 1 ds 14, 0 ENDM -CHR_TRN: MACRO +MACRO CHR_TRN db ($13 << 3) + 1 db \1 + (\2 << 1) ds 14, 0 ENDM -PCT_TRN: MACRO +MACRO PCT_TRN db ($14 << 3) + 1 ds 15, 0 ENDM -MASK_EN: MACRO +MACRO MASK_EN db ($17 << 3) + 1 db \1 ds 14, 0 ENDM -DATA_SND: MACRO +MACRO DATA_SND db ($f << 3) + 1 dw \1 ; address db \2 ; bank diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm index 1cd793c1..72715087 100644 --- a/data/sprites/sprites.asm +++ b/data/sprites/sprites.asm @@ -1,4 +1,4 @@ -overworld_sprite: MACRO +MACRO overworld_sprite dw \1 db \2 tiles db BANK(\1) diff --git a/data/text_boxes.asm b/data/text_boxes.asm index 34e6a414..f96f2d68 100644 --- a/data/text_boxes.asm +++ b/data/text_boxes.asm @@ -15,7 +15,7 @@ TextBoxCoordTable: db MON_SPRITE_POPUP, 6, 4, 14, 13 db -1 ; end -text_box_text: MACRO +MACRO text_box_text db \1 ; text box ID db \2, \3, \4, \5 ; text box coordinates dw \6 ; text pointer diff --git a/data/text_predef_pointers.asm b/data/text_predef_pointers.asm index 8c125fa0..d13e0f16 100644 --- a/data/text_predef_pointers.asm +++ b/data/text_predef_pointers.asm @@ -1,4 +1,4 @@ -add_tx_pre: MACRO +MACRO add_tx_pre \1_id:: dw \1 ENDM diff --git a/data/tilemaps.asm b/data/tilemaps.asm index 3b1e24c9..3e1033be 100644 --- a/data/tilemaps.asm +++ b/data/tilemaps.asm @@ -1,4 +1,4 @@ -tile_ids: MACRO +MACRO tile_ids dw \1 dn \3, \2 ENDM diff --git a/data/tilesets/bookshelf_tile_ids.asm b/data/tilesets/bookshelf_tile_ids.asm index 55143d73..71529761 100644 --- a/data/tilesets/bookshelf_tile_ids.asm +++ b/data/tilesets/bookshelf_tile_ids.asm @@ -1,4 +1,4 @@ -bookshelf_tile: MACRO +MACRO bookshelf_tile db \1, \2 db_tx_pre \3 ENDM diff --git a/data/tilesets/collision_tile_ids.asm b/data/tilesets/collision_tile_ids.asm index c1bee7ce..94efc925 100644 --- a/data/tilesets/collision_tile_ids.asm +++ b/data/tilesets/collision_tile_ids.asm @@ -1,4 +1,4 @@ -coll_tiles: MACRO +MACRO coll_tiles IF _NARG db \# ; all args ENDC diff --git a/data/tilesets/door_tile_ids.asm b/data/tilesets/door_tile_ids.asm index 716f76f3..4b4a65ed 100644 --- a/data/tilesets/door_tile_ids.asm +++ b/data/tilesets/door_tile_ids.asm @@ -14,7 +14,7 @@ DoorTileIDPointers: dbw PLATEAU, .PlateauDoorTileIDs db -1 ; end -door_tiles: MACRO +MACRO door_tiles IF _NARG db \# ; all args ENDC diff --git a/data/tilesets/spinner_tiles.asm b/data/tilesets/spinner_tiles.asm index 82506b6d..9ce3deb3 100644 --- a/data/tilesets/spinner_tiles.asm +++ b/data/tilesets/spinner_tiles.asm @@ -1,4 +1,4 @@ -spinner: MACRO +MACRO spinner ; \1: source ; \2: offset (BANK() chokes on literals) ; \3: dest diff --git a/data/tilesets/tileset_headers.asm b/data/tilesets/tileset_headers.asm index 375b0687..a8500ef2 100644 --- a/data/tilesets/tileset_headers.asm +++ b/data/tilesets/tileset_headers.asm @@ -1,4 +1,4 @@ -tileset: MACRO +MACRO tileset db BANK(\1_GFX) dw \1_Block, \1_GFX, \1_Coll db \2, \3, \4 ; counter tiles diff --git a/data/tilesets/warp_carpet_tile_ids.asm b/data/tilesets/warp_carpet_tile_ids.asm index a8a19011..1b8ebbbe 100644 --- a/data/tilesets/warp_carpet_tile_ids.asm +++ b/data/tilesets/warp_carpet_tile_ids.asm @@ -4,7 +4,7 @@ WarpTileListPointers: dw .FacingLeftWarpTiles dw .FacingRightWarpTiles -warp_carpet_tiles: MACRO +MACRO warp_carpet_tiles IF _NARG db \# ; all args ENDC diff --git a/data/tilesets/warp_tile_ids.asm b/data/tilesets/warp_tile_ids.asm index 80df6cdf..823b4b36 100644 --- a/data/tilesets/warp_tile_ids.asm +++ b/data/tilesets/warp_tile_ids.asm @@ -26,7 +26,7 @@ WarpTileIDPointers: dw .PlateauWarpTileIDs assert_table_length NUM_TILESETS -warp_tiles: MACRO +MACRO warp_tiles IF _NARG db \# ; all args ENDC diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm index 66bc36e7..3741f06b 100644 --- a/data/trainers/move_choices.asm +++ b/data/trainers/move_choices.asm @@ -1,9 +1,9 @@ -move_choices: MACRO +MACRO move_choices IF _NARG db \# ; all args ENDC db 0 ; end -list_index += 1 + DEF list_index += 1 ENDM ; move choice modification methods that are applied for each trainer class diff --git a/data/trainers/pic_pointers_money.asm b/data/trainers/pic_pointers_money.asm index 36ee77ce..4515d880 100644 --- a/data/trainers/pic_pointers_money.asm +++ b/data/trainers/pic_pointers_money.asm @@ -1,4 +1,4 @@ -pic_money: MACRO +MACRO pic_money dw \1 bcd3 \2 ENDM diff --git a/data/yes_no_menu_strings.asm b/data/yes_no_menu_strings.asm index e6e23279..82c3a3a5 100644 --- a/data/yes_no_menu_strings.asm +++ b/data/yes_no_menu_strings.asm @@ -1,4 +1,4 @@ -two_option_menu: MACRO +MACRO two_option_menu db \1, \2, \3 dw \4 ENDM diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index afed76d7..c25257f0 100644 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -372,7 +372,7 @@ LoadAnimationTileset: ld c, a ; number of tiles jp CopyVideoData ; load tileset -anim_tileset: MACRO +MACRO anim_tileset db \1 dw \2 db -1 ; padding diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 90e99f98..bc4665e4 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -662,7 +662,7 @@ BattleTransition_Circle_Sub2: const CIRCLE_LEFT const CIRCLE_RIGHT -half_circle: MACRO +MACRO half_circle ; quadrant x, circle data, target coord db \1 dw \2 diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index 91541f09..7c48c086 100644 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -1,4 +1,4 @@ -CIRCLE_TILE_ID EQU $70 +DEF CIRCLE_TILE_ID EQU $70 DisplayDiploma:: call SaveScreenTilesToBuffer2 @@ -83,7 +83,7 @@ UnusedPlayerNameLengthFunc: dec c jr .loop -diploma_text: MACRO +MACRO diploma_text dw \3 dwcoord \1, \2 ENDM diff --git a/engine/events/hidden_objects/cinnabar_gym_quiz.asm b/engine/events/hidden_objects/cinnabar_gym_quiz.asm index e2ae7fbe..f4c46115 100644 --- a/engine/events/hidden_objects/cinnabar_gym_quiz.asm +++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm @@ -183,12 +183,12 @@ UpdateCinnabarGymGateTileBlocks_:: jr nz, .loop ret -gym_gate_coord: MACRO +MACRO gym_gate_coord db \1, \2, \3, 0 ENDM -HORIZONTAL_GATE_BLOCK EQU $54 -VERTICAL_GATE_BLOCK EQU $5f +DEF HORIZONTAL_GATE_BLOCK EQU $54 +DEF VERTICAL_GATE_BLOCK EQU $5f CinnabarGymGateCoords: ; x coord, y coord, block id diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index 16409640..6f6b88c7 100644 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -280,8 +280,8 @@ GetPartyMonSpriteID: INCLUDE "data/pokemon/menu_icons.asm" -INC_FRAME_1 EQUS "0, $20" -INC_FRAME_2 EQUS "$20, $20" +DEF INC_FRAME_1 EQUS "0, $20" +DEF INC_FRAME_2 EQUS "$20, $20" BugIconFrame1: INCBIN "gfx/icons/bug.2bpp", INC_FRAME_1 PlantIconFrame1: INCBIN "gfx/icons/plant.2bpp", INC_FRAME_1 diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index a12c0c8a..93047216 100644 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -1,4 +1,4 @@ -NOT_VISITED EQU $fe +DEF NOT_VISITED EQU $fe DisplayTownMap: call LoadTownMap diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index 9813d67c..bca095a8 100644 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -3,7 +3,7 @@ const MOVE_GENGAR_RIGHT const MOVE_GENGAR_LEFT -ANIMATION_END EQU 80 +DEF ANIMATION_END EQU 80 PlayIntro: xor a diff --git a/engine/movie/oak_speech/init_player_data.asm b/engine/movie/oak_speech/init_player_data.asm index f722ebff..44869d44 100644 --- a/engine/movie/oak_speech/init_player_data.asm +++ b/engine/movie/oak_speech/init_player_data.asm @@ -21,7 +21,7 @@ InitPlayerData2: ld hl, wNumBoxItems call InitializeEmptyList -START_MONEY EQU $3000 +DEF START_MONEY EQU $3000 ld hl, wPlayerMoney + 1 ld a, HIGH(START_MONEY) ld [hld], a diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index a287c9b4..35423820 100644 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -56,12 +56,12 @@ TradeAnimCommon: ld [wOptions], a ret -addtradefunc: MACRO +MACRO addtradefunc \1TradeFunc:: dw \1 ENDM -tradefunc: MACRO +MACRO tradefunc db (\1TradeFunc - TradeFuncPointerTable) / 2 ENDM @@ -697,7 +697,7 @@ Trade_WriteCircleOAM: jr nz, .loop ret -trade_circle_oam: MACRO +MACRO trade_circle_oam dw \1 db \2, \3 ENDM diff --git a/engine/overworld/dust_smoke.asm b/engine/overworld/dust_smoke.asm index bb291567..c97b3e56 100644 --- a/engine/overworld/dust_smoke.asm +++ b/engine/overworld/dust_smoke.asm @@ -51,7 +51,7 @@ GetMoveBoulderDustFunctionPointer: pop hl ret -boulder_dust_adjust: MACRO +MACRO boulder_dust_adjust db \1, \2 ; coords dw \3 ; function ENDM diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index 2fb8c384..e08da61a 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -1,4 +1,4 @@ -MAP_TILESET_SIZE EQU $60 +DEF MAP_TILESET_SIZE EQU $60 UpdatePlayerSprite: ld a, [wSpritePlayerStateData2WalkAnimationCounter] diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index c458a013..6a890cfd 100644 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -475,7 +475,7 @@ FishingRodOAM: dbsprite 8, 10, 0, 0, $fe, 0 ; left dbsprite 11, 10, 0, 0, $fe, OAM_HFLIP ; right -fishing_gfx: MACRO +MACRO fishing_gfx dw \1 db \2 db BANK(\1) diff --git a/home/init.asm b/home/init.asm index e5840e65..81e75586 100644 --- a/home/init.asm +++ b/home/init.asm @@ -8,7 +8,7 @@ SoftReset:: Init:: ; Program init. -rLCDC_DEFAULT EQU %11100011 +DEF rLCDC_DEFAULT EQU %11100011 ; * LCD enabled ; * Window tile map at $9C00 ; * Window display enabled diff --git a/home/print_num.asm b/home/print_num.asm index e2628b1f..ef202239 100644 --- a/home/print_num.asm +++ b/home/print_num.asm @@ -59,20 +59,20 @@ PrintNumber:: cp 6 jr z, .hundred_thousands -print_digit: MACRO +MACRO print_digit -IF (\1) / $10000 - ld a, \1 / $10000 % $100 -ELSE - xor a -ENDC + IF (\1) / $10000 + ld a, \1 / $10000 % $100 + ELSE + xor a + ENDC ldh [hPowerOf10 + 0], a -IF (\1) / $100 - ld a, \1 / $100 % $100 -ELSE - xor a -ENDC + IF (\1) / $100 + ld a, \1 / $100 % $100 + ELSE + xor a + ENDC ldh [hPowerOf10 + 1], a ld a, \1 / $1 % $100 diff --git a/home/text.asm b/home/text.asm index 244c6fdb..b1f5e55c 100644 --- a/home/text.asm +++ b/home/text.asm @@ -123,7 +123,7 @@ TextIDErrorText:: ; "[hSpriteIndexOrTextID] ERROR." text_far _TextIDErrorText text_end -print_name: MACRO +MACRO print_name push de ld de, \1 jr PlaceCommandCharacter diff --git a/home/text_script.asm b/home/text_script.asm index 39bc3f5b..9e1ba275 100644 --- a/home/text_script.asm +++ b/home/text_script.asm @@ -66,7 +66,7 @@ DisplayTextID:: ; check first byte of text for special cases -dict2: MACRO +MACRO dict2 cp \1 jr nz, .not\@ \2 diff --git a/home/vblank.asm b/home/vblank.asm index 4c7abc20..b8b46ba7 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -93,7 +93,7 @@ DelayFrame:: ; Wait for the next vblank interrupt. ; As a bonus, this saves battery. -NOT_VBLANKED EQU 1 +DEF NOT_VBLANKED EQU 1 ld a, NOT_VBLANKED ldh [hVBlankOccurred], a diff --git a/macros/asserts.asm b/macros/asserts.asm index df2cdcd4..64e6bc7b 100644 --- a/macros/asserts.asm +++ b/macros/asserts.asm @@ -1,122 +1,122 @@ ; Macros to verify assumptions about the data or code -table_width: MACRO -CURRENT_TABLE_WIDTH = \1 -IF _NARG == 2 -REDEF CURRENT_TABLE_START EQUS "\2" -ELSE -REDEF CURRENT_TABLE_START EQUS "._table_width\@" -{CURRENT_TABLE_START}: -ENDC +MACRO table_width + DEF CURRENT_TABLE_WIDTH = \1 + IF _NARG == 2 + REDEF CURRENT_TABLE_START EQUS "\2" + ELSE + REDEF CURRENT_TABLE_START EQUS "._table_width\@" + {CURRENT_TABLE_START}: + ENDC ENDM -assert_table_length: MACRO -x = \1 +MACRO assert_table_length + DEF x = \1 ASSERT x * CURRENT_TABLE_WIDTH == @ - {CURRENT_TABLE_START}, \ "{CURRENT_TABLE_START}: expected {d:x} entries, each {d:CURRENT_TABLE_WIDTH} bytes" ENDM -list_start: MACRO -list_index = 0 -IF _NARG == 1 -REDEF CURRENT_LIST_START EQUS "\1" -ELSE -REDEF CURRENT_LIST_START EQUS "._list_start\@" -{CURRENT_LIST_START}: -ENDC +MACRO list_start + DEF list_index = 0 + IF _NARG == 1 + REDEF CURRENT_LIST_START EQUS "\1" + ELSE + REDEF CURRENT_LIST_START EQUS "._list_start\@" + {CURRENT_LIST_START}: + ENDC ENDM -li: MACRO +MACRO li ASSERT !STRIN(\1, "@"), STRCAT("String terminator \"@\" in list entry: ", \1) db \1, "@" -list_index += 1 + DEF list_index += 1 ENDM -assert_list_length: MACRO -x = \1 +MACRO assert_list_length + DEF x = \1 ASSERT x == list_index, \ "{CURRENT_LIST_START}: expected {d:x} entries, got {d:list_index}" ENDM -nybble_array: MACRO -CURRENT_NYBBLE_ARRAY_VALUE = 0 -CURRENT_NYBBLE_ARRAY_LENGTH = 0 -IF _NARG == 1 -REDEF CURRENT_NYBBLE_ARRAY_START EQUS "\1" -ELSE -REDEF CURRENT_NYBBLE_ARRAY_START EQUS "._nybble_array\@" -{CURRENT_NYBBLE_ARRAY_START}: -ENDC +MACRO nybble_array + DEF CURRENT_NYBBLE_ARRAY_VALUE = 0 + DEF CURRENT_NYBBLE_ARRAY_LENGTH = 0 + IF _NARG == 1 + REDEF CURRENT_NYBBLE_ARRAY_START EQUS "\1" + ELSE + REDEF CURRENT_NYBBLE_ARRAY_START EQUS "._nybble_array\@" + {CURRENT_NYBBLE_ARRAY_START}: + ENDC ENDM -nybble: MACRO +MACRO nybble ASSERT 0 <= (\1) && (\1) < $10, "nybbles must be 0-15" -CURRENT_NYBBLE_ARRAY_VALUE = (\1) | (CURRENT_NYBBLE_ARRAY_VALUE << 4) -CURRENT_NYBBLE_ARRAY_LENGTH += 1 -IF CURRENT_NYBBLE_ARRAY_LENGTH % 2 == 0 - db CURRENT_NYBBLE_ARRAY_VALUE -CURRENT_NYBBLE_ARRAY_VALUE = 0 -ENDC + DEF CURRENT_NYBBLE_ARRAY_VALUE = (\1) | (CURRENT_NYBBLE_ARRAY_VALUE << 4) + DEF CURRENT_NYBBLE_ARRAY_LENGTH += 1 + IF CURRENT_NYBBLE_ARRAY_LENGTH % 2 == 0 + db CURRENT_NYBBLE_ARRAY_VALUE + DEF CURRENT_NYBBLE_ARRAY_VALUE = 0 + ENDC ENDM -end_nybble_array: MACRO -IF CURRENT_NYBBLE_ARRAY_LENGTH % 2 - db CURRENT_NYBBLE_ARRAY_VALUE << 4 -ENDC -IF _NARG == 1 -x = \1 - ASSERT x == CURRENT_NYBBLE_ARRAY_LENGTH, \ - "{CURRENT_NYBBLE_ARRAY_START}: expected {d:x} nybbles, got {d:CURRENT_NYBBLE_ARRAY_LENGTH}" -x = (x + 1) / 2 - ASSERT x == @ - {CURRENT_NYBBLE_ARRAY_START}, \ - "{CURRENT_NYBBLE_ARRAY_START}: expected {d:x} bytes" -ENDC +MACRO end_nybble_array + IF CURRENT_NYBBLE_ARRAY_LENGTH % 2 + db CURRENT_NYBBLE_ARRAY_VALUE << 4 + ENDC + IF _NARG == 1 + DEF x = \1 + ASSERT x == CURRENT_NYBBLE_ARRAY_LENGTH, \ + "{CURRENT_NYBBLE_ARRAY_START}: expected {d:x} nybbles, got {d:CURRENT_NYBBLE_ARRAY_LENGTH}" + DEF x = (x + 1) / 2 + ASSERT x == @ - {CURRENT_NYBBLE_ARRAY_START}, \ + "{CURRENT_NYBBLE_ARRAY_START}: expected {d:x} bytes" + ENDC ENDM -bit_array: MACRO -CURRENT_BIT_ARRAY_VALUE = 0 -CURRENT_BIT_ARRAY_LENGTH = 0 -IF _NARG == 1 -REDEF CURRENT_BIT_ARRAY_START EQUS "\1" -ELSE -REDEF CURRENT_BIT_ARRAY_START EQUS "._bit_array\@" -{CURRENT_BIT_ARRAY_START}: -ENDC +MACRO bit_array + DEF CURRENT_BIT_ARRAY_VALUE = 0 + DEF CURRENT_BIT_ARRAY_LENGTH = 0 + IF _NARG == 1 + REDEF CURRENT_BIT_ARRAY_START EQUS "\1" + ELSE + REDEF CURRENT_BIT_ARRAY_START EQUS "._bit_array\@" + {CURRENT_BIT_ARRAY_START}: + ENDC ENDM -dbit: MACRO +MACRO dbit ASSERT (\1) == 0 || (\1) == 1, "bits must be 0 or 1" -CURRENT_BIT_ARRAY_VALUE |= (\1) << (CURRENT_BIT_ARRAY_LENGTH % 8) -CURRENT_BIT_ARRAY_LENGTH += 1 -IF CURRENT_BIT_ARRAY_LENGTH % 8 == 0 - db CURRENT_BIT_ARRAY_VALUE -CURRENT_BIT_ARRAY_VALUE = 0 -ENDC + DEF CURRENT_BIT_ARRAY_VALUE |= (\1) << (CURRENT_BIT_ARRAY_LENGTH % 8) + DEF CURRENT_BIT_ARRAY_LENGTH += 1 + IF CURRENT_BIT_ARRAY_LENGTH % 8 == 0 + db CURRENT_BIT_ARRAY_VALUE + DEF CURRENT_BIT_ARRAY_VALUE = 0 + ENDC ENDM -end_bit_array: MACRO -IF CURRENT_BIT_ARRAY_LENGTH % 8 - db CURRENT_BIT_ARRAY_VALUE -ENDC -IF _NARG == 1 -x = \1 - ASSERT x == CURRENT_BIT_ARRAY_LENGTH, \ - "{CURRENT_BIT_ARRAY_START}: expected {d:x} bits, got {d:CURRENT_BIT_ARRAY_LENGTH}" -x = (x + 7) / 8 - ASSERT x == @ - {CURRENT_BIT_ARRAY_START}, \ - "{CURRENT_BIT_ARRAY_START}: expected {d:x} bytes" -ENDC +MACRO end_bit_array + IF CURRENT_BIT_ARRAY_LENGTH % 8 + db CURRENT_BIT_ARRAY_VALUE + ENDC + IF _NARG == 1 + DEF x = \1 + ASSERT x == CURRENT_BIT_ARRAY_LENGTH, \ + "{CURRENT_BIT_ARRAY_START}: expected {d:x} bits, got {d:CURRENT_BIT_ARRAY_LENGTH}" + DEF x = (x + 7) / 8 + ASSERT x == @ - {CURRENT_BIT_ARRAY_START}, \ + "{CURRENT_BIT_ARRAY_START}: expected {d:x} bytes" + ENDC ENDM -def_grass_wildmons: MACRO +MACRO def_grass_wildmons ;\1: encounter rate -CURRENT_GRASS_WILDMONS_RATE = \1 -REDEF CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1" + DEF CURRENT_GRASS_WILDMONS_RATE = \1 + REDEF CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1" {CURRENT_GRASS_WILDMONS_LABEL}: db \1 ENDM -end_grass_wildmons: MACRO +MACRO end_grass_wildmons IF CURRENT_GRASS_WILDMONS_RATE == 0 ASSERT 1 == @ - {CURRENT_GRASS_WILDMONS_LABEL}, \ "def_grass_wildmons {d:CURRENT_GRASS_WILDMONS_RATE}: expected 1 byte" @@ -126,15 +126,15 @@ end_grass_wildmons: MACRO ENDC ENDM -def_water_wildmons: MACRO +MACRO def_water_wildmons ;\1: encounter rate -CURRENT_WATER_WILDMONS_RATE = \1 -REDEF CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1" + DEF CURRENT_WATER_WILDMONS_RATE = \1 + REDEF CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1" {CURRENT_WATER_WILDMONS_LABEL}: db \1 ENDM -end_water_wildmons: MACRO +MACRO end_water_wildmons IF CURRENT_WATER_WILDMONS_RATE == 0 ASSERT 1 == @ - {CURRENT_WATER_WILDMONS_LABEL}, \ "def_water_wildmons {d:CURRENT_WATER_WILDMONS_RATE}: expected 1 byte" diff --git a/macros/code.asm b/macros/code.asm index e0b3e9c9..3c65e100 100644 --- a/macros/code.asm +++ b/macros/code.asm @@ -1,20 +1,20 @@ ; Syntactic sugar macros -lb: MACRO ; r, hi, lo +MACRO lb ; r, hi, lo ld \1, ((\2) & $ff) << 8 + ((\3) & $ff) ENDM -ldpal: MACRO +MACRO ldpal ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5 ENDM ; Design patterns -dict: MACRO -IF \1 == 0 - and a -ELSE - cp \1 -ENDC +MACRO dict + IF \1 == 0 + and a + ELSE + cp \1 + ENDC jp z, \2 ENDM diff --git a/macros/const.asm b/macros/const.asm index afbde7bc..7c7f8591 100644 --- a/macros/const.asm +++ b/macros/const.asm @@ -1,48 +1,48 @@ ; Enumerate constants -const_def: MACRO -IF _NARG >= 1 -const_value = \1 -ELSE -const_value = 0 -ENDC -IF _NARG >= 2 -const_inc = \2 -ELSE -const_inc = 1 -ENDC +MACRO const_def + IF _NARG >= 1 + DEF const_value = \1 + ELSE + DEF const_value = 0 + ENDC + IF _NARG >= 2 + DEF const_inc = \2 + ELSE + DEF const_inc = 1 + ENDC ENDM -const: MACRO -\1 EQU const_value -const_value += const_inc +MACRO const + DEF \1 EQU const_value + DEF const_value += const_inc ENDM -shift_const: MACRO -\1 EQU 1 << const_value -const_value += const_inc +MACRO shift_const + DEF \1 EQU 1 << const_value + DEF const_value += const_inc ENDM -const_skip: MACRO -if _NARG >= 1 -const_value += const_inc * (\1) -else -const_value += const_inc -endc +MACRO const_skip + if _NARG >= 1 + DEF const_value += const_inc * (\1) + else + DEF const_value += const_inc + endc ENDM -const_next: MACRO -if (const_value > 0 && \1 < const_value) || (const_value < 0 && \1 > const_value) -fail "const_next cannot go backwards from {const_value} to \1" -else -const_value = \1 -endc +MACRO const_next + if (const_value > 0 && \1 < const_value) || (const_value < 0 && \1 > const_value) + fail "const_next cannot go backwards from {const_value} to \1" + else + DEF const_value = \1 + endc ENDM -rb_skip: MACRO -IF _NARG == 1 -rsset _RS + \1 -ELSE -rsset _RS + 1 -ENDC +MACRO rb_skip + IF _NARG == 1 + rsset _RS + \1 + ELSE + rsset _RS + 1 + ENDC ENDM diff --git a/macros/coords.asm b/macros/coords.asm index 6b16e7f7..81388895 100644 --- a/macros/coords.asm +++ b/macros/coords.asm @@ -1,4 +1,4 @@ -validate_coords: MACRO +MACRO validate_coords IF _NARG >= 4 IF \1 >= \3 fail "x coord out of range" @@ -11,11 +11,11 @@ validate_coords: MACRO ENDC ENDM -hlcoord EQUS "coord hl," -bccoord EQUS "coord bc," -decoord EQUS "coord de," +DEF hlcoord EQUS "coord hl," +DEF bccoord EQUS "coord bc," +DEF decoord EQUS "coord de," -coord: MACRO +MACRO coord ; register, x, y[, origin] validate_coords \2, \3 IF _NARG >= 4 @@ -25,11 +25,11 @@ coord: MACRO ENDC ENDM -hlbgcoord EQUS "bgcoord hl," -bcbgcoord EQUS "bgcoord bc," -debgcoord EQUS "bgcoord de," +DEF hlbgcoord EQUS "bgcoord hl," +DEF bcbgcoord EQUS "bgcoord bc," +DEF debgcoord EQUS "bgcoord de," -bgcoord: MACRO +MACRO bgcoord ; register, x, y[, origin] validate_coords \2, \3, BG_MAP_WIDTH, BG_MAP_HEIGHT IF _NARG >= 4 @@ -39,22 +39,22 @@ bgcoord: MACRO ENDC ENDM -hlowcoord EQUS "owcoord hl," -bcowcoord EQUS "owcoord bc," -deowcoord EQUS "owcoord de," +DEF hlowcoord EQUS "owcoord hl," +DEF bcowcoord EQUS "owcoord bc," +DEF deowcoord EQUS "owcoord de," -owcoord: MACRO +MACRO owcoord ; register, x, y, map width ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2))) ENDM -event_displacement: MACRO +MACRO event_displacement ; map width, x blocks, y blocks dw (wOverworldMap + 7 + (\1) + ((\1) + 6) * ((\3) >> 1) + ((\2) >> 1)) db \3, \2 ENDM -dwcoord: MACRO +MACRO dwcoord ; x, y validate_coords \1, \2 IF _NARG >= 3 @@ -64,7 +64,7 @@ dwcoord: MACRO ENDC ENDM -ldcoord_a: MACRO +MACRO ldcoord_a ; x, y[, origin] validate_coords \1, \2 IF _NARG >= 3 @@ -74,7 +74,7 @@ ldcoord_a: MACRO ENDC ENDM -lda_coord: MACRO +MACRO lda_coord ; x, y[, origin] validate_coords \1, \2 IF _NARG >= 3 @@ -84,7 +84,7 @@ lda_coord: MACRO ENDC ENDM -dbmapcoord: MACRO +MACRO dbmapcoord ; x, y db \2, \1 ENDM diff --git a/macros/data.asm b/macros/data.asm index 1f3c87a0..5092b74e 100644 --- a/macros/data.asm +++ b/macros/data.asm @@ -1,71 +1,71 @@ ; Value macros -percent EQUS "* $ff / 100" +DEF percent EQUS "* $ff / 100" -bcd2: MACRO +MACRO bcd2 dn ((\1) / 1000) % 10, ((\1) / 100) % 10 dn ((\1) / 10) % 10, (\1) % 10 ENDM -bcd3: MACRO +MACRO bcd3 dn ((\1) / 100000) % 10, ((\1) / 10000) % 10 dn ((\1) / 1000) % 10, ((\1) / 100) % 10 dn ((\1) / 10) % 10, (\1) % 10 ENDM ; used in data/pokemon/base_stats/*.asm -tmhm: MACRO +MACRO tmhm ; initialize bytes to 0 -FOR n, (NUM_TM_HM + 7) / 8 -_tm{d:n} = 0 -ENDR -; set bits of bytes -REPT _NARG - IF DEF(\1_TMNUM) -n = (\1_TMNUM - 1) / 8 -i = (\1_TMNUM - 1) % 8 -_tm{d:n} |= 1 << i - ELSE - FAIL "\1 is not a TM or HM move" - ENDC - SHIFT -ENDR -; output bytes -FOR n, (NUM_TM_HM + 7) / 8 - db _tm{d:n} -ENDR + FOR n, (NUM_TM_HM + 7) / 8 + DEF _tm{d:n} = 0 + ENDR + ; set bits of bytes + REPT _NARG + IF DEF(\1_TMNUM) + DEF n = (\1_TMNUM - 1) / 8 + DEF i = (\1_TMNUM - 1) % 8 + DEF _tm{d:n} |= 1 << i + ELSE + FAIL "\1 is not a TM or HM move" + ENDC + SHIFT + ENDR + ; output bytes + FOR n, (NUM_TM_HM + 7) / 8 + db _tm{d:n} + ENDR ENDM ; Constant data (db, dw, dl) macros -dbw: MACRO +MACRO dbw db \1 dw \2 ENDM -dwb: MACRO +MACRO dwb dw \1 db \2 ENDM -dn: MACRO ; nybbles -REPT _NARG / 2 - db ((\1) << 4) | (\2) - SHIFT 2 -ENDR +MACRO dn ; nybbles + REPT _NARG / 2 + db ((\1) << 4) | (\2) + SHIFT 2 + ENDR ENDM -dba: MACRO ; dbw bank, address -REPT _NARG - dbw BANK(\1), \1 - SHIFT -ENDR +MACRO dba ; dbw bank, address + REPT _NARG + dbw BANK(\1), \1 + SHIFT + ENDR ENDM -dab: MACRO ; dwb address, bank -REPT _NARG - dwb \1, BANK(\1) - SHIFT -ENDR +MACRO dab ; dwb address, bank + REPT _NARG + dwb \1, BANK(\1) + SHIFT + ENDR ENDM diff --git a/macros/farcall.asm b/macros/farcall.asm index 93f8f1ac..a40bff36 100644 --- a/macros/farcall.asm +++ b/macros/farcall.asm @@ -1,28 +1,28 @@ -farcall: MACRO +MACRO farcall ld b, BANK(\1) ld hl, \1 call Bankswitch ENDM -callfar: MACRO +MACRO callfar ld hl, \1 ld b, BANK(\1) call Bankswitch ENDM -farjp: MACRO +MACRO farjp ld b, BANK(\1) ld hl, \1 jp Bankswitch ENDM -jpfar: MACRO +MACRO jpfar ld hl, \1 ld b, BANK(\1) jp Bankswitch ENDM -homecall: MACRO +MACRO homecall ldh a, [hLoadedROMBank] push af ld a, BANK(\1) @@ -34,7 +34,7 @@ homecall: MACRO ld [MBC1RomBank], a ENDM -homecall_sf: MACRO ; homecall but save flags by popping into bc instead of af +MACRO homecall_sf ; homecall but save flags by popping into bc instead of af ldh a, [hLoadedROMBank] push af ld a, BANK(\1) diff --git a/macros/gfx.asm b/macros/gfx.asm index 98eabec4..944e6dd5 100644 --- a/macros/gfx.asm +++ b/macros/gfx.asm @@ -1,22 +1,22 @@ -RGB: MACRO -REPT _NARG / 3 - dw palred (\1) + palgreen (\2) + palblue (\3) - SHIFT 3 -ENDR +MACRO RGB + REPT _NARG / 3 + dw palred (\1) + palgreen (\2) + palblue (\3) + SHIFT 3 + ENDR ENDM -palred EQUS "(1 << 0) *" -palgreen EQUS "(1 << 5) *" -palblue EQUS "(1 << 10) *" +DEF palred EQUS "(1 << 0) *" +DEF palgreen EQUS "(1 << 5) *" +DEF palblue EQUS "(1 << 10) *" -palettes EQUS "* PALETTE_SIZE" -palette EQUS "+ PALETTE_SIZE *" -color EQUS "+ PAL_COLOR_SIZE *" +DEF palettes EQUS "* PALETTE_SIZE" +DEF palette EQUS "+ PALETTE_SIZE *" +DEF color EQUS "+ PAL_COLOR_SIZE *" -tiles EQUS "* LEN_2BPP_TILE" -tile EQUS "+ LEN_2BPP_TILE *" +DEF tiles EQUS "* LEN_2BPP_TILE" +DEF tile EQUS "+ LEN_2BPP_TILE *" -dbsprite: MACRO +MACRO dbsprite ; x tile, y tile, x pixel, y pixel, vtile offset, attributes db (\2 * TILE_WIDTH) % $100 + \4, (\1 * TILE_WIDTH) % $100 + \3, \5, \6 ENDM diff --git a/macros/predef.asm b/macros/predef.asm index d86582d1..45b0197b 100644 --- a/macros/predef.asm +++ b/macros/predef.asm @@ -1,32 +1,32 @@ -predef_id: MACRO +MACRO predef_id ld a, (\1Predef - PredefPointers) / 3 ENDM -predef: MACRO +MACRO predef predef_id \1 call Predef ENDM -predef_jump: MACRO +MACRO predef_jump predef_id \1 jp Predef ENDM -tx_pre_id: MACRO +MACRO tx_pre_id ld a, (\1_id - TextPredefs) / 2 + 1 ENDM -tx_pre: MACRO +MACRO tx_pre tx_pre_id \1 call PrintPredefTextID ENDM -tx_pre_jump: MACRO +MACRO tx_pre_jump tx_pre_id \1 jp PrintPredefTextID ENDM -db_tx_pre: MACRO +MACRO db_tx_pre db (\1_id - TextPredefs) / 2 + 1 ENDM diff --git a/macros/scripts/audio.asm b/macros/scripts/audio.asm index b12a2adc..114bf576 100644 --- a/macros/scripts/audio.asm +++ b/macros/scripts/audio.asm @@ -1,4 +1,4 @@ -audio_header: MACRO +MACRO audio_header db (_NARG - 2) << 6 | \2 dw \1_\2 IF _NARG > 2 @@ -24,7 +24,7 @@ ENDM ; small magnitude means quick change, large magnitude means slow change ; in signed magnitude representation, so a value of 8 is the same as (negative) 0 const pitch_sweep_cmd ; $10 -pitch_sweep: MACRO +MACRO pitch_sweep db pitch_sweep_cmd IF \2 < 0 db (\1 << 4) | (%1000 | (\2 * -1)) @@ -41,8 +41,8 @@ ENDM ; fade: positive value means decrease in volume, negative value means increase in volume ; small magnitude means quick change, large magnitude means slow change ; in signed magnitude representation, so a value of 8 is the same as (negative) 0 -square_note_cmd EQU sfx_note_cmd ; $20 -square_note: MACRO +DEF square_note_cmd EQU sfx_note_cmd ; $20 +MACRO square_note db square_note_cmd | \1 IF \3 < 0 db (\2 << 4) | (%1000 | (\3 * -1)) @@ -56,8 +56,8 @@ ENDM ; fade: positive value means decrease in volume, negative value means increase in volume ; small magnitude means quick change, large magnitude means slow change ; in signed magnitude representation, so a value of 8 is the same as (negative) 0 -noise_note_cmd EQU sfx_note_cmd ; $20 -noise_note: MACRO +DEF noise_note_cmd EQU sfx_note_cmd ; $20 +MACRO noise_note db noise_note_cmd | \1 IF \3 < 0 db (\2 << 4) | (%1000 | (\3 * -1)) @@ -68,7 +68,7 @@ noise_note: MACRO ENDM ; arguments: pitch, length [1, 16] -note: MACRO +MACRO note db (\1 << 4) | (\2 - 1) ENDM @@ -76,7 +76,7 @@ ENDM ; arguments: instrument [1, 19], length [1, 16] const drum_note_cmd ; $b0 -drum_note: MACRO +MACRO drum_note db drum_note_cmd | (\2 - 1) db \1 ENDM @@ -85,7 +85,7 @@ ENDM ; like drum_note but one 1 byte instead of 2 ; can only be used with instruments 1-10, excluding 2 ; unused -drum_note_short: MACRO +MACRO drum_note_short db (\1 << 4) | (\2 - 1) ENDM @@ -93,7 +93,7 @@ ENDM ; arguments: length [1, 16] const rest_cmd ; $c0 -rest: MACRO +MACRO rest db rest_cmd | (\1 - 1) ENDM @@ -104,7 +104,7 @@ ENDM ; small magnitude means quick change, large magnitude means slow change ; in signed magnitude representation, so a value of 8 is the same as (negative) 0 const note_type_cmd ; $d0 -note_type: MACRO +MACRO note_type db note_type_cmd | \1 IF \3 < 0 db (\2 << 4) | (%1000 | (\3 * -1)) @@ -114,8 +114,8 @@ note_type: MACRO ENDM ; arguments: speed [0, 15] -drum_speed_cmd EQU note_type_cmd ; $d0 -drum_speed: MACRO +DEF drum_speed_cmd EQU note_type_cmd ; $d0 +MACRO drum_speed db drum_speed_cmd | \1 ENDM @@ -123,7 +123,7 @@ ENDM ; arguments: octave [1, 8] const octave_cmd ; $e0 -octave: MACRO +MACRO octave db octave_cmd | (8 - \1) ENDM @@ -131,7 +131,7 @@ ENDM ; when enabled, effective frequency used is incremented by 1 const toggle_perfect_pitch_cmd ; $e8 -toggle_perfect_pitch: MACRO +MACRO toggle_perfect_pitch db toggle_perfect_pitch_cmd ENDM @@ -142,7 +142,7 @@ ENDM ; depth: amplitude of vibrato wave ; rate: frequency of vibrato wave const vibrato_cmd ; $ea -vibrato: MACRO +MACRO vibrato db vibrato_cmd db \1 db (\2 << 4) | \3 @@ -150,7 +150,7 @@ ENDM ; arguments: length [1, 256], octave [1, 8], pitch const pitch_slide_cmd ; $eb -pitch_slide: MACRO +MACRO pitch_slide db pitch_slide_cmd db \1 - 1 db ((8 - \2) << 4) | \3 @@ -158,7 +158,7 @@ ENDM ; arguments: duty cycle [0, 3] (12.5%, 25%, 50%, 75%) const duty_cycle_cmd ; $ec -duty_cycle: MACRO +MACRO duty_cycle db duty_cycle_cmd db \1 ENDM @@ -170,27 +170,27 @@ ENDM ; if larger than $100, large note speed or note length values might cause overflow ; stored in big endian const tempo_cmd ; $ed -tempo: MACRO +MACRO tempo db tempo_cmd db HIGH(\1), LOW(\1) ENDM ; arguments: left output enable mask, right output enable mask const stereo_panning_cmd ; $ee -stereo_panning: MACRO +MACRO stereo_panning db stereo_panning_cmd db (\1 << 4) | \2 ENDM const unknownmusic0xef_cmd ; $ef -unknownmusic0xef: MACRO +MACRO unknownmusic0xef db unknownmusic0xef_cmd db \1 ENDM ; arguments: left master volume [0, 7], right master volume [0, 7] const volume_cmd ; $f0 -volume: MACRO +MACRO volume db volume_cmd db (\1 << 4) | \2 ENDM @@ -199,7 +199,7 @@ ENDM ; when enabled, the sfx data is interpreted as music data const execute_music_cmd ; $f8 -execute_music: MACRO +MACRO execute_music db execute_music_cmd ENDM @@ -207,27 +207,27 @@ ENDM ; arguments: duty cycle 1, duty cycle 2, duty cycle 3, duty cycle 4 const duty_cycle_pattern_cmd ; $fc -duty_cycle_pattern: MACRO +MACRO duty_cycle_pattern db duty_cycle_pattern_cmd db \1 << 6 | \2 << 4 | \3 << 2 | \4 ENDM ; arguments: address const sound_call_cmd ; $fd -sound_call: MACRO +MACRO sound_call db sound_call_cmd dw \1 ENDM ; arguments: count, address const sound_loop_cmd ; $fe -sound_loop: MACRO +MACRO sound_loop db sound_loop_cmd db \1 dw \2 ENDM const sound_ret_cmd ; $ff -sound_ret: MACRO +MACRO sound_ret db sound_ret_cmd ENDM diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm index a9b1c615..fdbedb6f 100644 --- a/macros/scripts/events.asm +++ b/macros/scripts/events.asm @@ -1,7 +1,7 @@ ;\1 = event index ;\2 = return result in carry instead of zero flag -CheckEvent: MACRO -event_byte = ((\1) / 8) +MACRO CheckEvent + DEF event_byte = ((\1) / 8) ld a, [wEventFlags + event_byte] IF _NARG > 1 @@ -19,9 +19,9 @@ ENDM ;\1 = event index -CheckEventReuseA: MACRO +MACRO CheckEventReuseA IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) + DEF event_byte = ((\1) / 8) ld a, [wEventFlags + event_byte] ENDC @@ -31,10 +31,10 @@ ENDM ;\1 = event index ;\2 = event index of the last event used before the branch -CheckEventAfterBranchReuseA: MACRO -event_byte = ((\2) / 8) +MACRO CheckEventAfterBranchReuseA + DEF event_byte = ((\2) / 8) IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) + DEF event_byte = ((\1) / 8) ld a, [wEventFlags + event_byte] ENDC @@ -45,7 +45,7 @@ ENDM ;\1 = reg ;\2 = event index ;\3 = event index this event is relative to (optional, this is needed when there is a fixed flag address) -EventFlagBit: MACRO +MACRO EventFlagBit IF _NARG > 2 ld \1, ((\3) % 8) + ((\2) - (\3)) ELSE @@ -56,24 +56,24 @@ ENDM ;\1 = reg ;\2 = event index -EventFlagAddress: MACRO -event_byte = ((\2) / 8) +MACRO EventFlagAddress + DEF event_byte = ((\2) / 8) ld \1, wEventFlags + event_byte ENDM ;\1 = event index -CheckEventHL: MACRO -event_byte = ((\1) / 8) +MACRO CheckEventHL + DEF event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte bit (\1) % 8, [hl] ENDM ;\1 = event index -CheckEventReuseHL: MACRO -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) +MACRO CheckEventReuseHL + IF event_byte != ((\1) / 8) + DEF event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte ENDC @@ -83,18 +83,18 @@ ENDM ; dangerous, only use when HL is guaranteed to be the desired value ;\1 = event index -CheckEventForceReuseHL: MACRO -event_byte = ((\1) / 8) +MACRO CheckEventForceReuseHL + DEF event_byte = ((\1) / 8) bit (\1) % 8, [hl] ENDM ;\1 = event index ;\2 = event index of the last event used before the branch -CheckEventAfterBranchReuseHL: MACRO -event_byte = ((\2) / 8) -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) +MACRO CheckEventAfterBranchReuseHL + DEF event_byte = ((\2) / 8) + IF event_byte != ((\1) / 8) + DEF event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte ENDC @@ -103,8 +103,8 @@ ENDM ;\1 = event index -CheckAndSetEvent: MACRO -event_byte = ((\1) / 8) +MACRO CheckAndSetEvent + DEF event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte bit (\1) % 8, [hl] set (\1) % 8, [hl] @@ -112,8 +112,8 @@ ENDM ;\1 = event index -CheckAndResetEvent: MACRO -event_byte = ((\1) / 8) +MACRO CheckAndResetEvent + DEF event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte bit (\1) % 8, [hl] res (\1) % 8, [hl] @@ -121,7 +121,7 @@ ENDM ;\1 = event index -CheckAndSetEventA: MACRO +MACRO CheckAndSetEventA ld a, [wEventFlags + ((\1) / 8)] bit (\1) % 8, a set (\1) % 8, a @@ -130,7 +130,7 @@ ENDM ;\1 = event index -CheckAndResetEventA: MACRO +MACRO CheckAndResetEventA ld a, [wEventFlags + ((\1) / 8)] bit (\1) % 8, a res (\1) % 8, a @@ -139,17 +139,17 @@ ENDM ;\1 = event index -SetEvent: MACRO -event_byte = ((\1) / 8) +MACRO SetEvent + DEF event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte set (\1) % 8, [hl] ENDM ;\1 = event index -SetEventReuseHL: MACRO +MACRO SetEventReuseHL IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) + DEF event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte ENDC @@ -159,10 +159,10 @@ ENDM ;\1 = event index ;\2 = event index of the last event used before the branch -SetEventAfterBranchReuseHL: MACRO -event_byte = ((\2) / 8) -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) +MACRO SetEventAfterBranchReuseHL + DEF event_byte = ((\2) / 8) + IF event_byte != ((\1) / 8) + DEF event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte ENDC @@ -172,8 +172,8 @@ ENDM ; dangerous, only use when HL is guaranteed to be the desired value ;\1 = event index -SetEventForceReuseHL: MACRO -event_byte = ((\1) / 8) +MACRO SetEventForceReuseHL + DEF event_byte = ((\1) / 8) set (\1) % 8, [hl] ENDM @@ -181,7 +181,7 @@ ENDM ;\1 = event index ;\2 = event index ;\3, \4, ... = additional (optional) event indices -SetEvents: MACRO +MACRO SetEvents SetEvent \1 REPT _NARG - 1 SetEventReuseHL \2 @@ -191,17 +191,17 @@ ENDM ;\1 = event index -ResetEvent: MACRO -event_byte = ((\1) / 8) +MACRO ResetEvent + DEF event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte res (\1) % 8, [hl] ENDM ;\1 = event index -ResetEventReuseHL: MACRO +MACRO ResetEventReuseHL IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) + DEF event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte ENDC @@ -211,10 +211,10 @@ ENDM ;\1 = event index ;\2 = event index of the last event used before the branch -ResetEventAfterBranchReuseHL: MACRO -event_byte = ((\2) / 8) -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) +MACRO ResetEventAfterBranchReuseHL + DEF event_byte = ((\2) / 8) + IF event_byte != ((\1) / 8) + DEF event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte ENDC @@ -224,8 +224,8 @@ ENDM ; dangerous, only use when HL is guaranteed to be the desired value ;\1 = event index -ResetEventForceReuseHL: MACRO -event_byte = ((\1) / 8) +MACRO ResetEventForceReuseHL + DEF event_byte = ((\1) / 8) res (\1) % 8, [hl] ENDM @@ -233,7 +233,7 @@ ENDM ;\1 = event index ;\2 = event index ;\3 = event index (optional) -ResetEvents: MACRO +MACRO ResetEvents ResetEvent \1 REPT _NARG - 1 ResetEventReuseHL \2 @@ -244,9 +244,9 @@ ENDM ;\1 = start ;\2 = end -SetEventRange: MACRO -event_start_byte = ((\1) / 8) -event_end_byte = ((\2) / 8) +MACRO SetEventRange + DEF event_start_byte = ((\1) / 8) + DEF event_end_byte = ((\2) / 8) IF event_end_byte < event_start_byte FAIL "Incorrect argument order in SetEventRange." @@ -257,12 +257,12 @@ event_end_byte = ((\2) / 8) or (1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8)) ld [wEventFlags + event_start_byte], a ELSE -event_fill_start = event_start_byte + 1 -event_fill_count = event_end_byte - event_start_byte - 1 + DEF event_fill_start = event_start_byte + 1 + DEF event_fill_count = event_end_byte - event_start_byte - 1 IF ((\1) % 8) == 0 -event_fill_start -= 1 -event_fill_count += 1 + DEF event_fill_start -= 1 + DEF event_fill_count += 1 ELSE ld a, [wEventFlags + event_start_byte] or $ff - ((1 << ((\1) % 8)) - 1) @@ -270,7 +270,7 @@ event_fill_count += 1 ENDC IF ((\2) % 8) == 7 -event_fill_count += 1 + DEF event_fill_count += 1 ENDC IF event_fill_count == 1 @@ -306,9 +306,9 @@ ENDM ;\1 = start ;\2 = end ;\3 = assume a is 0 if present -ResetEventRange: MACRO -event_start_byte = ((\1) / 8) -event_end_byte = ((\2) / 8) +MACRO ResetEventRange + DEF event_start_byte = ((\1) / 8) + DEF event_end_byte = ((\2) / 8) IF event_end_byte < event_start_byte FAIL "Incorrect argument order in ResetEventRange." @@ -319,12 +319,12 @@ event_end_byte = ((\2) / 8) and ~((1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8))) & $ff ld [wEventFlags + event_start_byte], a ELSE -event_fill_start = event_start_byte + 1 -event_fill_count = event_end_byte - event_start_byte - 1 + DEF event_fill_start = event_start_byte + 1 + DEF event_fill_count = event_end_byte - event_start_byte - 1 IF ((\1) % 8) == 0 -event_fill_start -= 1 -event_fill_count += 1 + DEF event_fill_start -= 1 + DEF event_fill_count += 1 ELSE ld a, [wEventFlags + event_start_byte] and ~($ff - ((1 << ((\1) % 8)) - 1)) & $ff @@ -332,7 +332,7 @@ event_fill_count += 1 ENDC IF ((\2) % 8) == 7 -event_fill_count += 1 + DEF event_fill_count += 1 ENDC IF event_fill_count == 1 @@ -375,10 +375,10 @@ ENDM ;\1 = event index 1 ;\2 = event index 2 ;\3 = try to reuse a (optional) -CheckBothEventsSet: MACRO +MACRO CheckBothEventsSet IF ((\1) / 8) == ((\2) / 8) IF (_NARG < 3) || (((\1) / 8) != event_byte) -event_byte = ((\1) / 8) + DEF event_byte = ((\1) / 8) ld a, [wEventFlags + ((\1) / 8)] ENDC and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) @@ -411,7 +411,7 @@ ENDM ; returns the complement of whether either event is set in Z flag ;\1 = event index 1 ;\2 = event index 2 -CheckEitherEventSet: MACRO +MACRO CheckEitherEventSet IF ((\1) / 8) == ((\2) / 8) ld a, [wEventFlags + ((\1) / 8)] and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) @@ -441,7 +441,7 @@ ENDM ; for handling fixed event bits when events are inserted/removed ;\1 = event index ;\2 = fixed flag bit -AdjustEventBit: MACRO +MACRO AdjustEventBit IF ((\1) % 8) != (\2) add ((\1) % 8) - (\2) ENDC diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index bae8fd07..5c1a8ad5 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -1,7 +1,7 @@ -def_object_events: MACRO -REDEF _NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@" +MACRO def_object_events + REDEF _NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@" db {_NUM_OBJECT_EVENTS} -{_NUM_OBJECT_EVENTS} = 0 + DEF {_NUM_OBJECT_EVENTS} = 0 ENDM ;\1 x position @@ -13,7 +13,7 @@ ENDM ;\7 items only: item id ;\7 trainers only: trainer class/pokemon id ;\8 trainers only: trainer number/pokemon level -object_event: MACRO +MACRO object_event db \3 db \2 + 4 db \1 + 4 @@ -29,42 +29,42 @@ object_event: MACRO ELSE db \6 ENDC -{_NUM_OBJECT_EVENTS} += 1 + DEF {_NUM_OBJECT_EVENTS} += 1 ENDM -def_warp_events: MACRO -REDEF _NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@" +MACRO def_warp_events + REDEF _NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@" db {_NUM_WARP_EVENTS} -{_NUM_WARP_EVENTS} = 0 + DEF {_NUM_WARP_EVENTS} = 0 ENDM ;\1 x position ;\2 y position ;\3 destination map (-1 = wLastMap) ;\4 destination warp id; starts at 1 (internally at 0) -warp_event: MACRO +MACRO warp_event db \2, \1, \4 - 1, \3 -_WARP_{d:{_NUM_WARP_EVENTS}}_X = \1 -_WARP_{d:{_NUM_WARP_EVENTS}}_Y = \2 -{_NUM_WARP_EVENTS} += 1 + DEF _WARP_{d:{_NUM_WARP_EVENTS}}_X = \1 + DEF _WARP_{d:{_NUM_WARP_EVENTS}}_Y = \2 + DEF {_NUM_WARP_EVENTS} += 1 ENDM -def_bg_events: MACRO -REDEF _NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@" +MACRO def_bg_events + REDEF _NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@" db {_NUM_BG_EVENTS} -{_NUM_BG_EVENTS} = 0 + DEF {_NUM_BG_EVENTS} = 0 ENDM ;\1 x position ;\2 y position ;\3 sign id -bg_event: MACRO +MACRO bg_event db \2, \1, \3 -{_NUM_BG_EVENTS} += 1 + DEF {_NUM_BG_EVENTS} += 1 ENDM ;\1 source map -def_warps_to: MACRO +MACRO def_warps_to FOR n, _NUM_WARP_EVENTS warp_to _WARP_{d:n}_X, _WARP_{d:n}_Y, \1_WIDTH ENDR @@ -73,18 +73,18 @@ ENDM ;\1 x position ;\2 y position ;\3 map width -warp_to: MACRO +MACRO warp_to event_displacement \3, \1, \2 ENDM ;\1 first bit offset / first object id -def_trainers: MACRO -IF _NARG == 1 -CURRENT_TRAINER_BIT = \1 -ELSE -CURRENT_TRAINER_BIT = 1 -ENDC +MACRO def_trainers + IF _NARG == 1 + DEF CURRENT_TRAINER_BIT = \1 + ELSE + DEF CURRENT_TRAINER_BIT = 1 + ENDC ENDM ;\1 event flag @@ -92,22 +92,22 @@ ENDM ;\3 TextBeforeBattle ;\4 TextAfterBattle ;\5 TextEndBattle -trainer: MACRO -_ev_bit = \1 % 8 -_cur_bit = CURRENT_TRAINER_BIT % 8 +MACRO trainer + DEF _ev_bit = \1 % 8 + DEF _cur_bit = CURRENT_TRAINER_BIT % 8 ASSERT _ev_bit == _cur_bit, \ "Expected \1 to be bit {d:_cur_bit}, got {d:_ev_bit}" db CURRENT_TRAINER_BIT db \2 << 4 dw wEventFlags + (\1 - CURRENT_TRAINER_BIT) / 8 dw \3, \5, \4, \4 -CURRENT_TRAINER_BIT += 1 + DEF CURRENT_TRAINER_BIT += 1 ENDM ;\1 x position ;\2 y position ;\3 movement data -map_coord_movement: MACRO +MACRO map_coord_movement dbmapcoord \1, \2 dw \3 ENDM @@ -117,10 +117,10 @@ ENDM ;\2 map id ;\3 tileset ;\4 connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none -map_header: MACRO -CURRENT_MAP_WIDTH = \2_WIDTH -CURRENT_MAP_HEIGHT = \2_HEIGHT -CURRENT_MAP_OBJECT EQUS "\1_Object" +MACRO map_header + DEF CURRENT_MAP_WIDTH = \2_WIDTH + DEF CURRENT_MAP_HEIGHT = \2_HEIGHT + DEF CURRENT_MAP_OBJECT EQUS "\1_Object" \1_h:: db \3 db CURRENT_MAP_HEIGHT, CURRENT_MAP_WIDTH @@ -131,7 +131,7 @@ CURRENT_MAP_OBJECT EQUS "\1_Object" ENDM ; Comes after map_header and connection macros -end_map_header: MACRO +MACRO end_map_header dw {CURRENT_MAP_OBJECT} PURGE CURRENT_MAP_WIDTH, CURRENT_MAP_HEIGHT, CURRENT_MAP_OBJECT ENDM @@ -142,63 +142,63 @@ ENDM ;\3 map id ;\4 offset of the target map relative to the current map ; (x offset for east/west, y offset for north/south) -connection: MACRO +MACRO connection -; Calculate tile offsets for source (current) and target maps -_src = 0 -_tgt = (\4) + 3 -IF _tgt < 2 -_src = -_tgt -_tgt = 0 -ENDC + ; Calculate tile offsets for source (current) and target maps + DEF _src = 0 + DEF _tgt = (\4) + 3 + IF _tgt < 2 + DEF _src = -_tgt + DEF _tgt = 0 + ENDC -IF !STRCMP("\1", "north") -_blk = \3_WIDTH * (\3_HEIGHT - 3) + _src -_map = _tgt -_win = (\3_WIDTH + 6) * \3_HEIGHT + 1 -_y = \3_HEIGHT * 2 - 1 -_x = (\4) * -2 -_len = CURRENT_MAP_WIDTH + 3 - (\4) -IF _len > \3_WIDTH -_len = \3_WIDTH -ENDC + IF !STRCMP("\1", "north") + DEF _blk = \3_WIDTH * (\3_HEIGHT - 3) + _src + DEF _map = _tgt + DEF _win = (\3_WIDTH + 6) * \3_HEIGHT + 1 + DEF _y = \3_HEIGHT * 2 - 1 + DEF _x = (\4) * -2 + DEF _len = CURRENT_MAP_WIDTH + 3 - (\4) + IF _len > \3_WIDTH + DEF _len = \3_WIDTH + ENDC -ELIF !STRCMP("\1", "south") -_blk = _src -_map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt -_win = \3_WIDTH + 7 -_y = 0 -_x = (\4) * -2 -_len = CURRENT_MAP_WIDTH + 3 - (\4) -IF _len > \3_WIDTH -_len = \3_WIDTH -ENDC + ELIF !STRCMP("\1", "south") + DEF _blk = _src + DEF _map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt + DEF _win = \3_WIDTH + 7 + DEF _y = 0 + DEF _x = (\4) * -2 + DEF _len = CURRENT_MAP_WIDTH + 3 - (\4) + IF _len > \3_WIDTH + DEF _len = \3_WIDTH + ENDC -ELIF !STRCMP("\1", "west") -_blk = (\3_WIDTH * _src) + \3_WIDTH - 3 -_map = (CURRENT_MAP_WIDTH + 6) * _tgt -_win = (\3_WIDTH + 6) * 2 - 6 -_y = (\4) * -2 -_x = \3_WIDTH * 2 - 1 -_len = CURRENT_MAP_HEIGHT + 3 - (\4) -IF _len > \3_HEIGHT -_len = \3_HEIGHT -ENDC + ELIF !STRCMP("\1", "west") + DEF _blk = (\3_WIDTH * _src) + \3_WIDTH - 3 + DEF _map = (CURRENT_MAP_WIDTH + 6) * _tgt + DEF _win = (\3_WIDTH + 6) * 2 - 6 + DEF _y = (\4) * -2 + DEF _x = \3_WIDTH * 2 - 1 + DEF _len = CURRENT_MAP_HEIGHT + 3 - (\4) + IF _len > \3_HEIGHT + DEF _len = \3_HEIGHT + ENDC -ELIF !STRCMP("\1", "east") -_blk = (\3_WIDTH * _src) -_map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3 -_win = \3_WIDTH + 7 -_y = (\4) * -2 -_x = 0 -_len = CURRENT_MAP_HEIGHT + 3 - (\4) -IF _len > \3_HEIGHT -_len = \3_HEIGHT -ENDC + ELIF !STRCMP("\1", "east") + DEF _blk = (\3_WIDTH * _src) + DEF _map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3 + DEF _win = \3_WIDTH + 7 + DEF _y = (\4) * -2 + DEF _x = 0 + DEF _len = CURRENT_MAP_HEIGHT + 3 - (\4) + IF _len > \3_HEIGHT + DEF _len = \3_HEIGHT + ENDC -ELSE -fail "Invalid direction for 'connection'." -ENDC + ELSE + fail "Invalid direction for 'connection'." + ENDC db \3 dw \2_Blocks + _blk diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm index c446c6c7..418e839c 100644 --- a/macros/scripts/text.asm +++ b/macros/scripts/text.asm @@ -1,44 +1,44 @@ -text EQUS "db TX_START," ; Start writing text. -next EQUS "db \"\"," ; Move a line down. -line EQUS "db \"\"," ; Start writing at the bottom line. -para EQUS "db \"\"," ; Start a new paragraph. -cont EQUS "db \"\"," ; Scroll to the next line. -done EQUS "db \"\"" ; End a text box. -prompt EQUS "db \"\"" ; Prompt the player to end a text box (initiating some other event). +DEF text EQUS "db TX_START," ; Start writing text. +DEF next EQUS "db \"\"," ; Move a line down. +DEF line EQUS "db \"\"," ; Start writing at the bottom line. +DEF para EQUS "db \"\"," ; Start a new paragraph. +DEF cont EQUS "db \"\"," ; Scroll to the next line. +DEF done EQUS "db \"\"" ; End a text box. +DEF prompt EQUS "db \"\"" ; Prompt the player to end a text box (initiating some other event). -page EQUS "db \"\"," ; Start a new Pokédex page. -dex EQUS "db \"\", \"@\"" ; End a Pokédex entry. +DEF page EQUS "db \"\"," ; Start a new Pokédex page. +DEF dex EQUS "db \"\", \"@\"" ; End a Pokédex entry. ; TextCommandJumpTable indexes (see home/text.asm) const_def const TX_START ; $00 -text_start: MACRO +MACRO text_start db TX_START ENDM const TX_RAM ; $01 -text_ram: MACRO +MACRO text_ram db TX_RAM dw \1 ; address to read from ENDM const TX_BCD ; $02 -text_bcd: MACRO +MACRO text_bcd db TX_BCD dw \1 ; address to read from db \2 ; number of bytes + print flags ENDM const TX_MOVE ; $03 -text_move: MACRO +MACRO text_move db TX_MOVE dw \1 ; address of the new location ENDM const TX_BOX ; $04 -text_box: MACRO +MACRO text_box ; draw box db TX_BOX dw \1 ; address of upper left corner @@ -46,27 +46,27 @@ text_box: MACRO ENDM const TX_LOW ; $05 -text_low: MACRO +MACRO text_low db TX_LOW ENDM const TX_PROMPT_BUTTON ; $06 -text_promptbutton: MACRO +MACRO text_promptbutton db TX_PROMPT_BUTTON ENDM const TX_SCROLL ; $07 -text_scroll: MACRO +MACRO text_scroll db TX_SCROLL ENDM const TX_START_ASM ; $08 -text_asm: MACRO +MACRO text_asm db TX_START_ASM ENDM const TX_NUM ; $09 -text_decimal: MACRO +MACRO text_decimal ; print a big-endian decimal number. db TX_NUM dw \1 ; address to read from @@ -74,76 +74,76 @@ text_decimal: MACRO ENDM const TX_PAUSE ; $0a -text_pause: MACRO +MACRO text_pause db TX_PAUSE ENDM const TX_SOUND_GET_ITEM_1 ; $0b -sound_get_item_1: MACRO +MACRO sound_get_item_1 db TX_SOUND_GET_ITEM_1 ENDM -TX_SOUND_LEVEL_UP EQU TX_SOUND_GET_ITEM_1 -sound_level_up EQUS "sound_get_item_1" +DEF TX_SOUND_LEVEL_UP EQU TX_SOUND_GET_ITEM_1 +DEF sound_level_up EQUS "sound_get_item_1" const TX_DOTS ; $0c -text_dots: MACRO +MACRO text_dots db TX_DOTS db \1 ; number of ellipses to draw ENDM const TX_WAIT_BUTTON ; $0d -text_waitbutton: MACRO +MACRO text_waitbutton db TX_WAIT_BUTTON ENDM const TX_SOUND_POKEDEX_RATING ; $0e -sound_pokedex_rating: MACRO +MACRO sound_pokedex_rating db TX_SOUND_POKEDEX_RATING ENDM const TX_SOUND_GET_ITEM_1_DUPLICATE ; $0f -sound_get_item_1_duplicate: MACRO +MACRO sound_get_item_1_duplicate db TX_SOUND_GET_ITEM_1_DUPLICATE ENDM const TX_SOUND_GET_ITEM_2 ; $10 -sound_get_item_2: MACRO +MACRO sound_get_item_2 db TX_SOUND_GET_ITEM_2 ENDM const TX_SOUND_GET_KEY_ITEM ; $11 -sound_get_key_item: MACRO +MACRO sound_get_key_item db TX_SOUND_GET_KEY_ITEM ENDM const TX_SOUND_CAUGHT_MON ; $12 -sound_caught_mon: MACRO +MACRO sound_caught_mon db TX_SOUND_CAUGHT_MON ENDM const TX_SOUND_DEX_PAGE_ADDED ; $13 -sound_dex_page_added: MACRO +MACRO sound_dex_page_added db TX_SOUND_DEX_PAGE_ADDED ENDM const TX_SOUND_CRY_NIDORINA ; $14 -sound_cry_nidorina: MACRO +MACRO sound_cry_nidorina db TX_SOUND_CRY_NIDORINA ENDM const TX_SOUND_CRY_PIDGEOT ; $15 -sound_cry_pidgeot: MACRO +MACRO sound_cry_pidgeot db TX_SOUND_CRY_PIDGEOT ENDM const TX_SOUND_CRY_DEWGONG ; $16 -sound_cry_dewgong: MACRO +MACRO sound_cry_dewgong db TX_SOUND_CRY_DEWGONG ENDM const TX_FAR ; $17 -text_far: MACRO +MACRO text_far db TX_FAR dab \1 ; address of text commands ENDM @@ -152,7 +152,7 @@ ENDM const_next $50 const TX_END ; $50 -text_end: MACRO +MACRO text_end db TX_END ENDM @@ -161,12 +161,12 @@ ENDM const_def -1, -1 const TX_SCRIPT_POKECENTER_NURSE ; $ff -script_pokecenter_nurse: MACRO +MACRO script_pokecenter_nurse db TX_SCRIPT_POKECENTER_NURSE ENDM const TX_SCRIPT_MART ; $fe -script_mart: MACRO +MACRO script_mart db TX_SCRIPT_MART db _NARG ; number of items IF _NARG @@ -176,12 +176,12 @@ script_mart: MACRO ENDM const TX_SCRIPT_BILLS_PC ; $fd -script_bills_pc: MACRO +MACRO script_bills_pc db TX_SCRIPT_BILLS_PC ENDM const TX_SCRIPT_PLAYERS_PC ; $fc -script_players_pc: MACRO +MACRO script_players_pc db TX_SCRIPT_PLAYERS_PC ENDM @@ -190,23 +190,23 @@ ENDM const_skip ; $fa const TX_SCRIPT_POKECENTER_PC ; $f9 -script_pokecenter_pc: MACRO +MACRO script_pokecenter_pc db TX_SCRIPT_POKECENTER_PC ENDM const_skip ; $f8 const TX_SCRIPT_PRIZE_VENDOR ; $f7 -script_prize_vendor: MACRO +MACRO script_prize_vendor db TX_SCRIPT_PRIZE_VENDOR ENDM const TX_SCRIPT_CABLE_CLUB_RECEPTIONIST ; $f6 -script_cable_club_receptionist: MACRO +MACRO script_cable_club_receptionist db TX_SCRIPT_CABLE_CLUB_RECEPTIONIST ENDM const TX_SCRIPT_VENDING_MACHINE ; $f5 -script_vending_machine: MACRO +MACRO script_vending_machine db TX_SCRIPT_VENDING_MACHINE ENDM diff --git a/macros/vc.asm b/macros/vc.asm index 0d6b8db0..0990e988 100644 --- a/macros/vc.asm +++ b/macros/vc.asm @@ -1,39 +1,39 @@ -vc_hook: MACRO -IF DEF(_RED_VC) || DEF(_BLUE_VC) -.VC_\1:: -ENDC +MACRO vc_hook + IF DEF(_RED_VC) || DEF(_BLUE_VC) + .VC_\1:: + ENDC ENDM -vc_hook_red: MACRO -IF DEF(_RED_VC) -.VC_\1:: -ENDC +MACRO vc_hook_red + IF DEF(_RED_VC) + .VC_\1:: + ENDC ENDM -vc_hook_blue: MACRO -IF DEF(_BLUE_VC) -.VC_\1:: -ENDC +MACRO vc_hook_blue + IF DEF(_BLUE_VC) + .VC_\1:: + ENDC ENDM -vc_patch: MACRO -IF DEF(_RED_VC) || DEF(_BLUE_VC) - ASSERT !DEF(CURRENT_VC_PATCH), "Already started a vc_patch" -CURRENT_VC_PATCH EQUS "\1" -.VC_{CURRENT_VC_PATCH}:: -ENDC +MACRO vc_patch + IF DEF(_RED_VC) || DEF(_BLUE_VC) + ASSERT !DEF(CURRENT_VC_PATCH), "Already started a vc_patch" + DEF CURRENT_VC_PATCH EQUS "\1" + .VC_{CURRENT_VC_PATCH}:: + ENDC ENDM -vc_patch_end: MACRO -IF DEF(_RED_VC) || DEF(_BLUE_VC) - ASSERT DEF(CURRENT_VC_PATCH), "No vc_patch started" -.VC_{CURRENT_VC_PATCH}_End:: - PURGE CURRENT_VC_PATCH -ENDC +MACRO vc_patch_end + IF DEF(_RED_VC) || DEF(_BLUE_VC) + ASSERT DEF(CURRENT_VC_PATCH), "No vc_patch started" + .VC_{CURRENT_VC_PATCH}_End:: + PURGE CURRENT_VC_PATCH + ENDC ENDM -vc_assert: MACRO -IF DEF(_RED_VC) || DEF(_BLUE_VC) - ASSERT \# -ENDC +MACRO vc_assert + IF DEF(_RED_VC) || DEF(_BLUE_VC) + ASSERT \# + ENDC ENDM diff --git a/macros/wram.asm b/macros/wram.asm index 872e7f57..df5dcf90 100644 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -1,12 +1,12 @@ ; Used in wram.asm -flag_array: MACRO +MACRO flag_array ds ((\1) + 7) / 8 ENDM -BOX_STRUCT_LENGTH EQU 25 + NUM_MOVES * 2 +DEF BOX_STRUCT_LENGTH EQU 25 + NUM_MOVES * 2 -box_struct: MACRO +MACRO box_struct \1Species:: db \1HP:: dw \1BoxLevel:: db @@ -27,7 +27,7 @@ box_struct: MACRO \1PP:: ds NUM_MOVES ENDM -party_struct: MACRO +MACRO party_struct box_struct \1 \1Level:: db \1Stats:: @@ -38,7 +38,7 @@ party_struct: MACRO \1Special:: dw ENDM -battle_struct: MACRO +MACRO battle_struct \1Species:: db \1HP:: dw \1PartyPos:: @@ -60,7 +60,7 @@ battle_struct: MACRO \1PP:: ds NUM_MOVES ENDM -spritestatedata1: MACRO +MACRO spritestatedata1 \1PictureID:: db \1MovementStatus:: db \1ImageIndex:: db @@ -78,7 +78,7 @@ spritestatedata1: MACRO \1End:: ENDM -spritestatedata2: MACRO +MACRO spritestatedata2 \1WalkAnimationCounter:: db ds 1 \1YDisplacement:: db @@ -96,14 +96,14 @@ spritestatedata2: MACRO \1End:: ENDM -sprite_oam_struct: MACRO +MACRO sprite_oam_struct \1YCoord:: db \1XCoord:: db \1TileID:: db \1Attributes:: db ENDM -map_connection_struct: MACRO +MACRO map_connection_struct \1ConnectedMap:: db \1ConnectionStripSrc:: dw \1ConnectionStripDest:: dw diff --git a/rgbdscheck.asm b/rgbdscheck.asm index 556fbae4..8c51e1af 100644 --- a/rgbdscheck.asm +++ b/rgbdscheck.asm @@ -1,8 +1,8 @@ -MAJOR EQU 0 -MINOR EQU 5 -PATCH EQU 2 +DEF MAJOR EQU 0 +DEF MINOR EQU 5 +DEF PATCH EQU 2 -wrong_rgbds: MACRO +MACRO wrong_rgbds fail "pokered requires rgbds v0.5.2 or newer." ENDM diff --git a/sram.asm b/sram.asm index 68451791..6cb45371 100644 --- a/sram.asm +++ b/sram.asm @@ -26,12 +26,12 @@ sMainDataCheckSum:: db ; The PC boxes will not fit into one SRAM bank, ; so they use multiple SECTIONs -box_n = 0 -boxes: MACRO -REPT \1 -box_n += 1 -sBox{d:box_n}:: ds wBoxDataEnd - wBoxDataStart -ENDR +DEF box_n = 0 +MACRO boxes + REPT \1 + DEF box_n += 1 + sBox{d:box_n}:: ds wBoxDataEnd - wBoxDataStart + ENDR ENDM SECTION "Saved Boxes 1", SRAM diff --git a/vc/pokeblue.constants.asm b/vc/pokeblue.constants.asm index a197afae..f89c4fd9 100644 --- a/vc/pokeblue.constants.asm +++ b/vc/pokeblue.constants.asm @@ -2,8 +2,8 @@ INCLUDE "constants.asm" ; These are all the asm constants needed to make the blue_vc patch. -vc_const: MACRO -x = \1 +MACRO vc_const + DEF x = \1 PRINTLN "00:{04x:x} \1" ; same format as rgblink's .sym file ENDM diff --git a/vc/pokered.constants.asm b/vc/pokered.constants.asm index 4bc62388..cb7efa96 100644 --- a/vc/pokered.constants.asm +++ b/vc/pokered.constants.asm @@ -2,8 +2,8 @@ INCLUDE "constants.asm" ; These are all the asm constants needed to make the red_vc patch. -vc_const: MACRO -x = \1 +MACRO vc_const + DEF x = \1 PRINTLN "00:{04x:x} \1" ; same format as rgblink's .sym file ENDM From 6c945a6b6a0d21ba4bf0c2977bb44d2482dffcb8 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 7 Jun 2022 22:27:30 -0400 Subject: [PATCH 072/119] Mention WildDataPointers in map_constants.asm --- constants/map_constants.asm | 1 + 1 file changed, 1 insertion(+) diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 86e18e62..48b25461 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -12,6 +12,7 @@ ENDM ; - MapHSPointers (see data/maps/hide_show_data.asm) ; - MapSpriteSets (see data/maps/sprite_sets.asm) ; - ExternalMapEntries (see data/maps/town_map_entries.asm) +; - WildDataPointers (see data/wild/grass_water.asm) ; Each map also has associated data in maps.asm. ; Order: towns/cities, then routes, then indoor/dungeon maps const_def From edb55e00f84024dd3634a25df8715e8b9cb3454b Mon Sep 17 00:00:00 2001 From: vulcandth Date: Fri, 17 Jun 2022 21:25:52 -0500 Subject: [PATCH 073/119] Rename `SLP` to `SLP_MASK` (#361) Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com> --- constants/battle_constants.asm | 2 +- engine/battle/core.asm | 14 +++++++------- engine/battle/move_effects/haze.asm | 2 +- engine/items/item_effects.asm | 10 +++++----- engine/pokemon/status_ailments.asm | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index b394b7a2..2ae1cdef 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -57,7 +57,7 @@ DEF NOT_VERY_EFFECTIVE EQU 05 DEF NO_EFFECT EQU 00 ; non-volatile statuses -DEF SLP EQU %111 ; sleep counter +DEF SLP_MASK EQU %111 ; 0-7 turns const_def 3 const PSN ; 3 const BRN ; 4 diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 66ca1aa9..1a252c02 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -308,7 +308,7 @@ MainInBattleLoop: and a ret nz ; return if pokedoll was used to escape from battle ld a, [wBattleMonStatus] - and (1 << FRZ) | SLP ; is mon frozen or asleep? + and (1 << FRZ) | SLP_MASK jr nz, .selectEnemyMove ; if so, jump ld a, [wPlayerBattleStatus1] and (1 << STORING_ENERGY) | (1 << USING_TRAPPING_MOVE) ; check player is using Bide or using a multi-turn attack like wrap @@ -2934,7 +2934,7 @@ SelectEnemyMove: and (1 << CHARGING_UP) | (1 << THRASHING_ABOUT) ; using a charging move or thrash/petal dance ret nz ld a, [wEnemyMonStatus] - and SLP | 1 << FRZ ; sleeping or frozen + and (1 << FRZ) | SLP_MASK ret nz ld a, [wEnemyBattleStatus1] and (1 << USING_TRAPPING_MOVE) | (1 << STORING_ENERGY) ; using a trapping move like wrap or bide @@ -3275,7 +3275,7 @@ PrintGhostText: and a jr nz, .Ghost ld a, [wBattleMonStatus] ; player's turn - and SLP | (1 << FRZ) + and (1 << FRZ) | SLP_MASK ret nz ld hl, ScaredText call PrintText @@ -3317,7 +3317,7 @@ IsGhostBattle: CheckPlayerStatusConditions: ld hl, wBattleMonStatus ld a, [hl] - and SLP ; sleep mask + and SLP_MASK jr z, .FrozenCheck ; sleeping dec a @@ -4029,7 +4029,7 @@ CheckForDisobedience: call BattleRandom add a swap a - and SLP ; sleep mask + and SLP_MASK jr z, .monNaps ; keep trying until we get at least 1 turn of sleep ld [wBattleMonStatus], a ld hl, BeganToNapText @@ -5362,7 +5362,7 @@ MoveHitTest: cp DREAM_EATER_EFFECT jr nz, .swiftCheck ld a, [bc] - and SLP ; is the target pokemon sleeping? + and SLP_MASK jp z, .moveMissed .swiftCheck ld a, [de] @@ -5796,7 +5796,7 @@ ExecuteEnemyMoveDone: CheckEnemyStatusConditions: ld hl, wEnemyMonStatus ld a, [hl] - and SLP ; sleep mask + and SLP_MASK jr z, .checkIfFrozen dec a ; decrement number of turns left ld [wEnemyMonStatus], a diff --git a/engine/battle/move_effects/haze.asm b/engine/battle/move_effects/haze.asm index c15c848b..76722d0e 100644 --- a/engine/battle/move_effects/haze.asm +++ b/engine/battle/move_effects/haze.asm @@ -24,7 +24,7 @@ HazeEffect_: .cureStatuses ld a, [hl] ld [hl], $0 - and SLP | (1 << FRZ) + and (1 << FRZ) | SLP_MASK jr z, .cureVolatileStatuses ; prevent the Pokemon from executing a move if it was asleep or frozen ld a, $ff diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index f58b737e..16b4140a 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -225,7 +225,7 @@ ItemUseBall: ld a, [wEnemyMonStatus] and a jr z, .skipAilmentValueSubtraction ; no ailments - and 1 << FRZ | SLP + and (1 << FRZ) | SLP_MASK ld c, 12 jr z, .notFrozenOrAsleep ld c, 25 @@ -380,7 +380,7 @@ ItemUseBall: ld a, [wEnemyMonStatus] and a jr z, .skip5 - and 1 << FRZ | SLP + and (1 << FRZ) | SLP_MASK ld b, 5 jr z, .addAilmentValue ld b, 10 @@ -878,7 +878,7 @@ ItemUseMedicine: lb bc, ICE_HEAL_MSG, 1 << FRZ cp ICE_HEAL jr z, .checkMonStatus - lb bc, AWAKENING_MSG, SLP + lb bc, AWAKENING_MSG, SLP_MASK cp AWAKENING jr z, .checkMonStatus lb bc, PARALYZ_HEAL_MSG, 1 << PAR @@ -1700,7 +1700,7 @@ ItemUsePokeflute: .inBattle xor a ld [wWereAnyMonsAsleep], a - ld b, ~SLP & $ff + ld b, ~SLP_MASK ld hl, wPartyMon1Status call WakeUpEntireParty ld a, [wIsInBattle] @@ -1752,7 +1752,7 @@ WakeUpEntireParty: .loop ld a, [hl] push af - and SLP ; is pokemon asleep? + and SLP_MASK jr z, .notAsleep ld a, 1 ld [wWereAnyMonsAsleep], a ; indicate that a pokemon had to be woken up diff --git a/engine/pokemon/status_ailments.asm b/engine/pokemon/status_ailments.asm index 3da1fc43..05205a34 100644 --- a/engine/pokemon/status_ailments.asm +++ b/engine/pokemon/status_ailments.asm @@ -8,7 +8,7 @@ PrintStatusAilment:: jr nz, .frz bit PAR, a jr nz, .par - and SLP + and SLP_MASK ret z ld a, "S" ld [hli], a From ba15b4b44e33877f1c314910648c5a7d682c7c75 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 17 Jun 2022 22:54:47 -0400 Subject: [PATCH 074/119] Add a subdirectory for RAM files --- Makefile | 2 +- ram.asm | 9 +++++++++ hram.asm => ram/hram.asm | 0 sram.asm => ram/sram.asm | 0 vram.asm => ram/vram.asm | 0 wram.asm => ram/wram.asm | 13 ------------- 6 files changed, 10 insertions(+), 14 deletions(-) create mode 100644 ram.asm rename hram.asm => ram/hram.asm (100%) rename sram.asm => ram/sram.asm (100%) rename vram.asm => ram/vram.asm (100%) rename wram.asm => ram/wram.asm (99%) diff --git a/Makefile b/Makefile index 3a23f759..636f5c3d 100644 --- a/Makefile +++ b/Makefile @@ -11,8 +11,8 @@ rom_obj := \ home.o \ main.o \ maps.o \ + ram.o \ text.o \ - wram.o \ gfx/pics.o \ gfx/sprites.o \ gfx/tilesets.o diff --git a/ram.asm b/ram.asm new file mode 100644 index 00000000..24040b14 --- /dev/null +++ b/ram.asm @@ -0,0 +1,9 @@ +INCLUDE "constants.asm" + +INCLUDE "macros/wram.asm" + + +INCLUDE "ram/vram.asm" +INCLUDE "ram/wram.asm" +INCLUDE "ram/sram.asm" +INCLUDE "ram/hram.asm" diff --git a/hram.asm b/ram/hram.asm similarity index 100% rename from hram.asm rename to ram/hram.asm diff --git a/sram.asm b/ram/sram.asm similarity index 100% rename from sram.asm rename to ram/sram.asm diff --git a/vram.asm b/ram/vram.asm similarity index 100% rename from vram.asm rename to ram/vram.asm diff --git a/wram.asm b/ram/wram.asm similarity index 99% rename from wram.asm rename to ram/wram.asm index 428d8c96..0804e6ee 100644 --- a/wram.asm +++ b/ram/wram.asm @@ -1,11 +1,3 @@ -INCLUDE "constants.asm" - -INCLUDE "macros/wram.asm" - - -INCLUDE "vram.asm" - - SECTION "Audio RAM", WRAM0 wUnusedC000:: db @@ -2337,8 +2329,3 @@ SECTION "Stack", WRAM0 ; the stack grows downward ds $100 - 1 wStack:: db - - -INCLUDE "sram.asm" - -INCLUDE "hram.asm" From 4e96f9d232cd51be9d51a76f7d0cc6211aaccdca Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 17 Jun 2022 22:58:46 -0400 Subject: [PATCH 075/119] `cp MR_FUJIS_HOUSE` -> `cp POKEMON_TOWER_7F + 1` Fixes #362 --- engine/battle/core.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 1a252c02..c746e52b 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -3302,7 +3302,7 @@ IsGhostBattle: ld a, [wCurMap] cp POKEMON_TOWER_1F jr c, .next - cp MR_FUJIS_HOUSE + cp POKEMON_TOWER_7F + 1 jr nc, .next ld b, SILPH_SCOPE call IsItemInBag From 9cfae346587676e8f7b345a41b0b55734da2dd23 Mon Sep 17 00:00:00 2001 From: Rangi Date: Wed, 22 Jun 2022 20:09:48 -0400 Subject: [PATCH 076/119] Automatically upload .sym files to a 'symbols' branch Fixes #248 --- .github/workflows/main.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c1052183..13cc4e5f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,3 +54,24 @@ jobs: DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} run: | .github/webhook.sh + + - name: Checkout symbols + if: ${{ github.event_name == 'push' && github.repository_owner == 'pret' }} + uses: actions/checkout@master + with: + path: symbols + ref: symbols + + - name: Move symbols + if: ${{ github.event_name == 'push' && github.repository_owner == 'pret' }} + run: | + cp -v *.sym symbols/ + + - name: Update symbols + if: ${{ github.event_name == 'push' && github.repository_owner == 'pret' }} + uses: EndBug/add-and-commit@v7 + with: + branch: symbols + cwd: "./symbols" + add: "*.sym" + message: ${{ github.event.commits[0].message }} From 610ec0fd2271defcc6ebda89b379455155fdb3ca Mon Sep 17 00:00:00 2001 From: vulcandth Date: Wed, 22 Jun 2022 19:15:58 -0500 Subject: [PATCH 077/119] VC ExchangeBytes Aliases (#363) Co-authored-by: aaaaaa123456789 --- engine/link/cable_club.asm | 6 +++--- vc/pokeblue.patch.template | 6 +++--- vc/pokered.patch.template | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index e1b92eab..40e0dfe8 100644 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -124,21 +124,21 @@ CableClub_DoBattleOrTradeAgain: ld hl, wSerialRandomNumberListBlock ld de, wSerialOtherGameboyRandomNumberListBlock ld bc, $11 - vc_hook Wireless_ExchangeBytes_1_unknown_Type5 + vc_hook Wireless_ExchangeBytes_RNG_state_unknown_Type5 call Serial_ExchangeBytes ld a, SERIAL_NO_DATA_BYTE ld [de], a ld hl, wSerialPlayerDataBlock ld de, wSerialEnemyDataBlock ld bc, $1a8 - vc_hook Wireless_ExchangeBytes_2 + vc_hook Wireless_ExchangeBytes_party_structs call Serial_ExchangeBytes ld a, SERIAL_NO_DATA_BYTE ld [de], a ld hl, wSerialPartyMonsPatchList ld de, wSerialEnemyMonsPatchList ld bc, $c8 - vc_hook Wireless_ExchangeBytes_3 + vc_hook Wireless_ExchangeBytes_patch_lists call Serial_ExchangeBytes ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) ldh [rIE], a diff --git a/vc/pokeblue.patch.template b/vc/pokeblue.patch.template index 6427bf92..b49dff33 100644 --- a/vc/pokeblue.patch.template +++ b/vc/pokeblue.patch.template @@ -81,17 +81,17 @@ Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} -[Network17@Wireless_ExchangeBytes_1_unknown_Type5] +[Network17@Wireless_ExchangeBytes_RNG_state_unknown_Type5] Mode = 2 Address = {HEX @} Type = 5 -[Network424@Wireless_ExchangeBytes_2] +[Network424@Wireless_ExchangeBytes_party_structs] Mode = 2 Address = {HEX @} Type = 4 -[Network200@Wireless_ExchangeBytes_3] +[Network200@Wireless_ExchangeBytes_patch_lists] Mode = 2 Address = {HEX @} Type = 4 diff --git a/vc/pokered.patch.template b/vc/pokered.patch.template index 6b015ca4..a86b1ce2 100644 --- a/vc/pokered.patch.template +++ b/vc/pokered.patch.template @@ -86,17 +86,17 @@ Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} -[Network17@Wireless_ExchangeBytes_1_unknown_Type5] +[Network17@Wireless_ExchangeBytes_RNG_state_unknown_Type5] Mode = 2 Address = {HEX @} Type = 5 -[Network424@Wireless_ExchangeBytes_2] +[Network424@Wireless_ExchangeBytes_party_structs] Mode = 2 Address = {HEX @} Type = 4 -[Network200@Wireless_ExchangeBytes_3] +[Network200@Wireless_ExchangeBytes_patch_lists] Mode = 2 Address = {HEX @} Type = 4 From 60276d0c5b9234619707518f29e6b85b8719b838 Mon Sep 17 00:00:00 2001 From: "Colton G. Rushton" Date: Sun, 26 Jun 2022 10:41:36 -0300 Subject: [PATCH 078/119] Fix INSTALL.md's dead links (#365) --- INSTALL.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index ec2f71a0..95ce870e 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -42,7 +42,7 @@ Run setup and leave the default settings. At the "**Select Packages**" step, cho Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install/windows) for Windows with Cygwin to install **rgbds 0.5.2**. +Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.5.2**. **Note:** If you already have an older rgbds, you will need to update to 0.5.2. Ignore this if you have never installed rgbds before. If a version newer than 0.5.2 does not work, try downloading 0.5.2. @@ -67,7 +67,7 @@ Install [**Homebrew**](https://brew.sh/). Follow the official instructions. Open **Terminal** and prepare to enter commands. -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/macos) for macOS to install **rgbds 0.5.2**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 0.5.2**. Now you're ready to [build **pokered**](#build-pokered). @@ -84,7 +84,7 @@ To install the software required for **pokered**: sudo apt-get install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.2** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.5.2** from source. ### OpenSUSE @@ -94,7 +94,7 @@ To install the software required for **pokered**: sudo zypper install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.2** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.5.2** from source. ### Arch Linux @@ -104,9 +104,9 @@ To install the software required for **pokered**: sudo pacman -S make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/arch) for Arch Linux to install **rgbds 0.5.2**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for Arch Linux to install **rgbds 0.5.2**. -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.2** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.5.2** from source. ### Termux @@ -122,7 +122,7 @@ To install **rgbds**: sudo apt install rgbds ``` -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.2** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.5.2** from source. ### Other distros @@ -133,7 +133,7 @@ If your distro is not listed here, try to find the required software in its repo - `git` - `rgbds` -If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.5.2** from source. +If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.5.2** from source. Now you're ready to [build **pokered**](#build-pokered). From fcd6e5a1b2ee4f2191c8e843e25fe5e40880c98b Mon Sep 17 00:00:00 2001 From: vulcandth Date: Thu, 30 Jun 2022 20:24:33 -0500 Subject: [PATCH 079/119] Stop_reducing_move_anim_flashing_Dream_Eater -> Stop_reducing_move_anim_flashing_Blizzard (#369) --- engine/battle/animations.asm | 2 +- vc/pokered.patch.template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index c25257f0..7ad1bb3e 100644 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -256,7 +256,7 @@ PlayAnimation: vc_hook_red Stop_reducing_move_anim_flashing_Mega_Punch vc_hook_blue Stop_reducing_move_anim_flashing_Mega_Punch_Explosion pop af - vc_hook_red Stop_reducing_move_anim_flashing_Dream_Eater + vc_hook_red Stop_reducing_move_anim_flashing_Blizzard ldh [rOBP0], a .nextAnimationCommand vc_hook_red Stop_reducing_move_anim_flashing_Hyper_Beam diff --git a/vc/pokered.patch.template b/vc/pokered.patch.template index a86b1ce2..08fba1a6 100644 --- a/vc/pokered.patch.template +++ b/vc/pokered.patch.template @@ -358,7 +358,7 @@ ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuf ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ "D" "R" "E" "A" DREAM_EATER } -[FPA 008 End@Stop_reducing_move_anim_flashing_Dream_Eater] +[FPA 008 End@Stop_reducing_move_anim_flashing_Blizzard] Mode = 3 Type = 1 Address = {HEX @} From 5d8da0dc548c85d0622939c58f028abd32d178db Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 30 Jun 2022 21:29:56 -0400 Subject: [PATCH 080/119] Use backwards-compatible EQU syntax for rgbdscheck.asm --- rgbdscheck.asm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rgbdscheck.asm b/rgbdscheck.asm index 8c51e1af..a836a156 100644 --- a/rgbdscheck.asm +++ b/rgbdscheck.asm @@ -1,6 +1,6 @@ -DEF MAJOR EQU 0 -DEF MINOR EQU 5 -DEF PATCH EQU 2 +MAJOR EQU 0 +MINOR EQU 5 +PATCH EQU 2 MACRO wrong_rgbds fail "pokered requires rgbds v0.5.2 or newer." From 70cbb483288cd048f85420a63caadc707e9b75bf Mon Sep 17 00:00:00 2001 From: vulcandth Date: Mon, 4 Jul 2022 00:08:17 -0500 Subject: [PATCH 081/119] party_struct constants and ExchangeBytes size (#364) Co-Authored-By: Rangi <35663410+Rangi42@users.noreply.github.com> --- constants/pokemon_data_constants.asm | 31 ++++++++++++++++++++++++++++ constants/serial_constants.asm | 4 ++++ engine/link/cable_club.asm | 6 +++--- 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 430abfe0..1fd7ce19 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -23,6 +23,37 @@ DEF BASE_TMHM rb (NUM_TM_HM + 7) / 8 rb_skip DEF BASE_DATA_SIZE EQU _RS +; party_struct members (see macros/wram.asm) +rsreset +DEF MON_SPECIES rb +DEF MON_HP rw +DEF MON_BOX_LEVEL rb +DEF MON_STATUS rb +DEF MON_TYPE rw +rsset MON_TYPE +DEF MON_TYPE1 rb +DEF MON_TYPE2 rb +DEF MON_CATCH_RATE rb +DEF MON_MOVES rb NUM_MOVES +DEF MON_OTID rw +DEF MON_EXP rb 3 +DEF MON_HP_EXP rw +DEF MON_ATK_EXP rw +DEF MON_DEF_EXP rw +DEF MON_SPD_EXP rw +DEF MON_SPC_EXP rw +DEF MON_DVS rw +DEF MON_PP rb NUM_MOVES +DEF BOXMON_STRUCT_LENGTH EQU _RS +DEF MON_LEVEL rb +DEF MON_STATS rw NUM_STATS +rsset MON_STATS +DEF MON_MAXHP rw +DEF MON_ATK rw +DEF MON_DEF rw +DEF MON_SPD rw +DEF MON_SPC rw +DEF PARTYMON_STRUCT_LENGTH EQU _RS DEF PARTY_LENGTH EQU 6 diff --git a/constants/serial_constants.asm b/constants/serial_constants.asm index 16603980..37747b76 100644 --- a/constants/serial_constants.asm +++ b/constants/serial_constants.asm @@ -14,6 +14,10 @@ DEF SERIAL_NO_DATA_BYTE EQU $FE ; signals the end of one part of a patch list (there are two parts) for player/enemy party data DEF SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF +DEF SERIAL_PREAMBLE_LENGTH EQU 6 +DEF SERIAL_RN_PREAMBLE_LENGTH EQU 7 +DEF SERIAL_RNS_LENGTH EQU 10 + DEF LINK_STATE_NONE EQU $00 ; not using link DEF LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre) DEF LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 40e0dfe8..7e856093 100644 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -123,21 +123,21 @@ CableClub_DoBattleOrTradeAgain: ldh [rIE], a ld hl, wSerialRandomNumberListBlock ld de, wSerialOtherGameboyRandomNumberListBlock - ld bc, $11 + ld bc, SERIAL_RN_PREAMBLE_LENGTH + SERIAL_RNS_LENGTH vc_hook Wireless_ExchangeBytes_RNG_state_unknown_Type5 call Serial_ExchangeBytes ld a, SERIAL_NO_DATA_BYTE ld [de], a ld hl, wSerialPlayerDataBlock ld de, wSerialEnemyDataBlock - ld bc, $1a8 + ld bc, SERIAL_PREAMBLE_LENGTH + NAME_LENGTH + 1 + PARTY_LENGTH + 1 + (PARTYMON_STRUCT_LENGTH + NAME_LENGTH * 2) * PARTY_LENGTH + 3 vc_hook Wireless_ExchangeBytes_party_structs call Serial_ExchangeBytes ld a, SERIAL_NO_DATA_BYTE ld [de], a ld hl, wSerialPartyMonsPatchList ld de, wSerialEnemyMonsPatchList - ld bc, $c8 + ld bc, 200 vc_hook Wireless_ExchangeBytes_patch_lists call Serial_ExchangeBytes ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) From a24a39793c7672eabd8ddd6666a28f498e994935 Mon Sep 17 00:00:00 2001 From: "Colton G. Rushton" Date: Mon, 4 Jul 2022 02:10:14 -0300 Subject: [PATCH 082/119] Identify the rest of the hardware constants (#371) See https://github.com/pret/pokecrystal/pull/972 and https://github.com/pret/pokecrystal/pull/947 for details. --- constants/hardware_constants.asm | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm index 0cc83383..fba15087 100644 --- a/constants/hardware_constants.asm +++ b/constants/hardware_constants.asm @@ -119,12 +119,8 @@ DEF rBGPI EQU $ff68 ; CGB Mode Only - Background Palette Index DEF rBGPD EQU $ff69 ; CGB Mode Only - Background Palette Data DEF rOBPI EQU $ff6a ; CGB Mode Only - Sprite Palette Index DEF rOBPD EQU $ff6b ; CGB Mode Only - Sprite Palette Data -DEF rUNKNOWN1 EQU $ff6c ; (FEh) Bit 0 (Read/Write) - CGB Mode Only +DEF rOPRI EQU $ff6c ; CGB Mode Only - Object Priority Mode DEF rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank -DEF rUNKNOWN2 EQU $ff72 ; (00h) - Bit 0-7 (Read/Write) -DEF rUNKNOWN3 EQU $ff73 ; (00h) - Bit 0-7 (Read/Write) -DEF rUNKNOWN4 EQU $ff74 ; (00h) - Bit 0-7 (Read/Write) - CGB Mode Only -DEF rUNKNOWN5 EQU $ff75 ; (8Fh) - Bit 4-6 (Read/Write) -DEF rUNKNOWN6 EQU $ff76 ; (00h) - Always 00h (Read Only) -DEF rUNKNOWN7 EQU $ff77 ; (00h) - Always 00h (Read Only) +DEF rPCM12 EQU $ff76 ; Channels 1 & 2 Amplitude (R) +DEF rPCM34 EQU $ff77 ; Channels 3 & 4 Amplitude (R) DEF rIE EQU $ffff ; Interrupt Enable (R/W) From 19814a48940fb5f1950df88c76ccc8d198802f5f Mon Sep 17 00:00:00 2001 From: dannye <33dannye@gmail.com> Date: Mon, 4 Jul 2022 03:12:18 -0500 Subject: [PATCH 083/119] Fix typo: HeatButt -> HeadButt --- data/moves/animations.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/moves/animations.asm b/data/moves/animations.asm index 0049cf59..e30e4379 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -28,7 +28,7 @@ AttackAnimationPointers: dw JumpKickAnim dw RollingKickAnim dw SandAttackAnim - dw HeatButtAnim + dw HeadButtAnim dw HornAttackAnim dw FuryAttackAnim dw HornDrillAnim @@ -360,7 +360,7 @@ SandAttackAnim: battle_anim SAND_ATTACK, SUBANIM_28, 1, 6 db -1 ; end -HeatButtAnim: +HeadButtAnim: battle_anim HEADBUTT, SUBANIM_05, 1, 6 db -1 ; end From b045ac4f16ca9b611a3e3baef0d9a0c33ac6351c Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 9 Jul 2022 14:34:45 -0400 Subject: [PATCH 084/119] Remove comment about addresses --- data/credits/credits_text.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/credits/credits_text.asm b/data/credits/credits_text.asm index 220f8a37..37ba04bd 100644 --- a/data/credits/credits_text.asm +++ b/data/credits/credits_text.asm @@ -67,7 +67,7 @@ CreditsTextPointers: dw CredPAAD assert_table_length NUM_CRED_STRINGS -CredVersion: ; this 1 byte difference makes all bank addresses offset by 1 in the blue version +CredVersion: IF DEF(_RED) db -8, "RED VERSION STAFF@" ENDC From cc46b0e510e07f2e7a0d14732c02a2f416eac9e1 Mon Sep 17 00:00:00 2001 From: "Colton G. Rushton" Date: Sat, 9 Jul 2022 18:18:18 -0300 Subject: [PATCH 085/119] wOAMBuffer -> wShadowOAM (#370) --- constants/gfx_constants.asm | 2 +- engine/battle/animations.asm | 32 ++++++++++++------------- engine/battle/battle_transitions.asm | 2 +- engine/battle/core.asm | 4 ++-- engine/battle/draw_hud_pokeball_gfx.asm | 8 +++---- engine/battle/ghost_marowak_anim.asm | 2 +- engine/events/diploma.asm | 2 +- engine/gfx/mon_icons.asm | 8 +++---- engine/gfx/oam_dma.asm | 2 +- engine/gfx/sprite_oam.asm | 6 ++--- engine/items/item_effects.asm | 2 +- engine/items/town_map.asm | 20 ++++++++-------- engine/menus/start_sub_menus.asm | 2 +- engine/movie/intro.asm | 4 ++-- engine/movie/splash.asm | 18 +++++++------- engine/movie/title.asm | 4 ++-- engine/movie/title2.asm | 2 +- engine/movie/trade.asm | 6 ++--- engine/overworld/cut.asm | 2 +- engine/overworld/cut2.asm | 22 ++++++++--------- engine/overworld/dust_smoke.asm | 2 +- engine/overworld/emotion_bubbles.asm | 8 +++---- engine/overworld/healing_machine.asm | 2 +- engine/overworld/player_animations.asm | 24 +++++++++---------- engine/slots/slot_machine.asm | 6 ++--- home/clear_sprites.asm | 6 ++--- home/oam.asm | 2 +- ram/wram.asm | 8 +++---- scripts/VermilionDock.asm | 2 +- 29 files changed, 105 insertions(+), 105 deletions(-) diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 522b6a67..c6268208 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -17,7 +17,7 @@ DEF HP_BAR_GREEN EQU 0 DEF HP_BAR_YELLOW EQU 1 DEF HP_BAR_RED EQU 2 -; wOAMBuffer +; wShadowOAM DEF NUM_SPRITE_OAM_STRUCTS EQU 40 ; hAutoBGTransferEnabled diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 7ad1bb3e..789dcb8a 100644 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -147,7 +147,7 @@ DrawFrameBlock: jr z, .resetFrameBlockDestAddr call AnimationCleanOAM .resetFrameBlockDestAddr - ld hl, wOAMBuffer ; OAM buffer + ld hl, wShadowOAM ld a, l ld [wFBDestAddr + 1], a ld a, h @@ -583,7 +583,7 @@ PlaySubanimation: call GetMoveSound call PlaySound .skipPlayingSound - ld hl, wOAMBuffer ; base address of OAM buffer + ld hl, wShadowOAM ld a, l ld [wFBDestAddr + 1], a ld a, h @@ -855,7 +855,7 @@ TradeShakePokeball: ; if it's the end of the animation, make the ball jump up ld de, BallMoveDistances1 .loop - ld hl, wOAMBuffer ; OAM buffer + ld hl, wShadowOAM ld bc, 4 .innerLoop ld a, [de] @@ -885,7 +885,7 @@ BallMoveDistances1: TradeJumpPokeball: ld de, BallMoveDistances2 .loop - ld hl, wOAMBuffer ; OAM buffer + ld hl, wShadowOAM ld bc, 4 .innerLoop ld a, [de] @@ -925,8 +925,8 @@ BallMoveDistances2: ; this function copies the current musical note graphic ; so that there are two musical notes flying towards the defending pokemon DoGrowlSpecialEffects: - ld hl, wOAMBuffer ; OAM buffer - ld de, wOAMBuffer + $10 + ld hl, wShadowOAM + ld de, wShadowOAMSprite04 ld bc, $10 call CopyData ; copy the musical note graphic ld a, [wSubAnimCounter] @@ -1136,7 +1136,7 @@ AnimationWaterDropletsEverywhere: ret _AnimationWaterDroplets: - ld hl, wOAMBuffer + ld hl, wShadowOAM .loop ld a, [wBaseCoordY] ld [hli], a ; Y @@ -1264,7 +1264,7 @@ ShakeEnemyHUD_WritePlayerMonPicOAM: ld [wBaseCoordX], a ld a, $30 ld [wBaseCoordY], a - ld hl, wOAMBuffer + ld hl, wShadowOAM ld d, 0 ld c, 7 .loop @@ -1498,7 +1498,7 @@ AnimationSpiralBallsInward: .loop push hl ld c, 3 - ld de, wOAMBuffer + ld de, wShadowOAM .innerLoop ld a, [hl] cp $ff @@ -1637,7 +1637,7 @@ _AnimationShootBallsUpward: call LoadAnimationTileset pop bc ld d, $7a ; ball tile - ld hl, wOAMBuffer + ld hl, wShadowOAM push bc ld a, [wBaseCoordY] ld e, a @@ -1651,7 +1651,7 @@ _AnimationShootBallsUpward: ld [wNumShootingBalls], a .loop push bc - ld hl, wOAMBuffer + ld hl, wShadowOAM .innerLoop ld a, [wBaseCoordY] add 8 @@ -2080,7 +2080,7 @@ InitMultipleObjectsOAM: xor a ld e, a ld [wBaseCoordX], a - ld hl, wOAMBuffer + ld hl, wShadowOAM .loop call BattleAnimWriteOAMEntry dec c @@ -2336,7 +2336,7 @@ AnimationFallingObjects: call InitMultipleObjectsOAM call FallingObjects_InitXCoords call FallingObjects_InitMovementData - ld hl, wOAMBuffer + ld hl, wShadowOAM ld [hl], 0 .loop ld hl, wFallingObjectsMovementData @@ -2363,7 +2363,7 @@ AnimationFallingObjects: dec c jr nz, .innerLoop call Delay3 - ld hl, wOAMBuffer + ld hl, wShadowOAM ld a, [hl] ; Y cp 104 ; has the top falling object reached 104 yet? jr nz, .loop ; keep moving the falling objects down until it does @@ -2372,7 +2372,7 @@ AnimationFallingObjects: FallingObjects_UpdateOAMEntry: ; Increases Y by 2 pixels and adjusts X and X flip based on the falling object's ; movement byte. - ld hl, wOAMBuffer + ld hl, wShadowOAM add hl, de ld a, [hl] inc a @@ -2433,7 +2433,7 @@ FallingObjects_UpdateMovementByte: ret FallingObjects_InitXCoords: - ld hl, wOAMBuffer + $01 + ld hl, wShadowOAMSprite00XCoord ld de, FallingObjects_InitialXCoords ld a, [wNumFallingObjects] ld c, a diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index bc4665e4..a16fd250 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -26,7 +26,7 @@ BattleTransition: jr nz, .loop1 ; Clear OAM except for the blocks used by the player and enemy trainer sprites. - ld hl, wOAMBuffer + $10 + ld hl, wShadowOAMSprite04 ld c, 9 .loop2 ld a, b diff --git a/engine/battle/core.asm b/engine/battle/core.asm index c746e52b..580a9899 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -105,7 +105,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; instead, the enemy pic is part of the background and uses the scroll register, while the player's head is a sprite and is slid by changing its X coordinates in a loop SlidePlayerHeadLeft: push bc - ld hl, wOAMBuffer + $01 + ld hl, wShadowOAMSprite00XCoord ld c, $15 ; number of OAM entries ld de, $4 ; size of OAM entry .loop @@ -6327,7 +6327,7 @@ LoadPlayerBackPic: ASSERT BANK(RedPicBack) == BANK(OldManPicBack) call UncompressSpriteFromDE predef ScaleSpriteByTwo - ld hl, wOAMBuffer + ld hl, wShadowOAM xor a ldh [hOAMTile], a ; initial tile number ld b, $7 ; 7 columns diff --git a/engine/battle/draw_hud_pokeball_gfx.asm b/engine/battle/draw_hud_pokeball_gfx.asm index 097a0fcc..34bff58d 100644 --- a/engine/battle/draw_hud_pokeball_gfx.asm +++ b/engine/battle/draw_hud_pokeball_gfx.asm @@ -27,7 +27,7 @@ SetupOwnPartyPokeballs: ld [hl], a ld a, 8 ld [wHUDPokeballGfxOffsetX], a - ld hl, wOAMBuffer + ld hl, wShadowOAM jp WritePokeballOAMData SetupEnemyPartyPokeballs: @@ -41,7 +41,7 @@ SetupEnemyPartyPokeballs: ld [hl], $20 ld a, -8 ld [wHUDPokeballGfxOffsetX], a - ld hl, wOAMBuffer + PARTY_LENGTH * 4 + ld hl, wShadowOAMSprite06 jp WritePokeballOAMData SetupPokeballs: @@ -174,7 +174,7 @@ SetupPlayerAndEnemyPokeballs: ld [hl], $40 ld a, 8 ld [wHUDPokeballGfxOffsetX], a - ld hl, wOAMBuffer + ld hl, wShadowOAM call WritePokeballOAMData ld hl, wEnemyMons ld de, wEnemyPartyCount @@ -183,7 +183,7 @@ SetupPlayerAndEnemyPokeballs: ld a, $50 ld [hli], a ld [hl], $68 - ld hl, wOAMBuffer + $18 + ld hl, wShadowOAMSprite06 jp WritePokeballOAMData ; four tiles: pokeball, black pokeball (status ailment), crossed out pokeball (fainted) and pokeball slot (no mon) diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 9c1ad96f..a7f4d025 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -58,7 +58,7 @@ CopyMonPicFromBGToSpriteVRAM: ld [wBaseCoordY], a ld a, $70 ld [wBaseCoordX], a - ld hl, wOAMBuffer + ld hl, wShadowOAM lb bc, 6, 6 ld d, $8 .oamLoop diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index 7c48c086..41e0d7c6 100644 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -42,7 +42,7 @@ DisplayDiploma:: ; Move the player 33 pixels right and set the priority bit so he appears ; behind the background layer. - ld hl, wOAMBuffer + $01 + ld hl, wShadowOAMSprite00XCoord lb bc, $80, $28 .adjustPlayerGfxLoop ld a, [hl] ; X diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index 6f6b88c7..73b1632f 100644 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -43,7 +43,7 @@ GetAnimationSpeed: .resetSprites push bc ld hl, wMonPartySpritesSavedOAM - ld de, wOAMBuffer + ld de, wShadowOAM ld bc, $60 call CopyData pop bc @@ -51,7 +51,7 @@ GetAnimationSpeed: jr .incTimer .animateSprite push bc - ld hl, wOAMBuffer + $02 ; OAM tile id + ld hl, wShadowOAMSprite00TileID ld bc, $10 ld a, [wCurrentMenuItem] call AddNTimes @@ -236,7 +236,7 @@ WriteMonPartySpriteOAM: ; make a copy at wMonPartySpritesSavedOAM. push af ld c, $10 - ld h, HIGH(wOAMBuffer) + ld h, HIGH(wShadowOAM) ldh a, [hPartyMonIndex] swap a ld l, a @@ -252,7 +252,7 @@ WriteMonPartySpriteOAM: ; Make a copy of the OAM buffer with the first animation frame written so that ; we can flip back to it from the second frame by copying it back. .makeCopy - ld hl, wOAMBuffer + ld hl, wShadowOAM ld de, wMonPartySpritesSavedOAM ld bc, $60 jp CopyData diff --git a/engine/gfx/oam_dma.asm b/engine/gfx/oam_dma.asm index fe93e90d..11e52694 100644 --- a/engine/gfx/oam_dma.asm +++ b/engine/gfx/oam_dma.asm @@ -16,7 +16,7 @@ DMARoutine: LOAD "OAM DMA", HRAM hDMARoutine:: ; initiate DMA - ld a, HIGH(wOAMBuffer) + ld a, HIGH(wShadowOAM) ldh [rDMA], a ; wait for DMA to finish ld a, $28 diff --git a/engine/gfx/sprite_oam.asm b/engine/gfx/sprite_oam.asm index b3c07ecd..69956a31 100644 --- a/engine/gfx/sprite_oam.asm +++ b/engine/gfx/sprite_oam.asm @@ -1,6 +1,6 @@ PrepareOAMData:: ; Determine OAM data for currently visible -; sprites and write it to wOAMBuffer. +; sprites and write it to wShadowOAM. ld a, [wUpdateSpritesEnabled] dec a @@ -79,7 +79,7 @@ PrepareOAMData:: ldh a, [hOAMBufferOffset] ld e, a - ld d, HIGH(wOAMBuffer) + ld d, HIGH(wShadowOAM) .tileLoop ldh a, [hSpriteScreenY] ; temp for sprite Y position @@ -147,7 +147,7 @@ PrepareOAMData:: ; Clear unused OAM. ldh a, [hOAMBufferOffset] ld l, a - ld h, HIGH(wOAMBuffer) + ld h, HIGH(wShadowOAM) ld de, $4 ld b, $a0 ld a, [wd736] diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 16b4140a..faba8837 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -1175,7 +1175,7 @@ ItemUseMedicine: xor a ld [wBattleMonStatus], a ; remove the status ailment in the in-battle pokemon data .calculateHPBarCoords - ld hl, wOAMBuffer + $90 + ld hl, wShadowOAMSprite36 ld bc, 2 * SCREEN_WIDTH inc d .calculateHPBarCoordsLoop diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index 93047216..d278d034 100644 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -16,7 +16,7 @@ DisplayTownMap: hlcoord 1, 0 ld de, wcd6d call PlaceString - ld hl, wOAMBuffer + ld hl, wShadowOAM ld de, wTileMapBackup ld bc, $10 call CopyData @@ -47,7 +47,7 @@ DisplayTownMap: call TownMapCoordsToOAMCoords ld a, $4 ld [wOAMBaseTile], a - ld hl, wOAMBuffer + $10 + ld hl, wShadowOAMSprite04 call WriteTownMapSpriteOAM ; town map cursor sprite pop hl ld de, wcd6d @@ -60,7 +60,7 @@ DisplayTownMap: hlcoord 1, 0 ld de, wcd6d call PlaceString - ld hl, wOAMBuffer + $10 + ld hl, wShadowOAMSprite04 ld de, wTileMapBackup + 16 ld bc, $10 call CopyData @@ -362,7 +362,7 @@ DrawPlayerOrBirdSprite: inc de cp "@" jr nz, .loop - ld hl, wOAMBuffer + ld hl, wShadowOAM ld de, wTileMapBackup ld bc, $a0 jp CopyData @@ -370,7 +370,7 @@ DrawPlayerOrBirdSprite: DisplayWildLocations: farcall FindWildLocationsOfMon call ZeroOutDuplicatesInList - ld hl, wOAMBuffer + ld hl, wShadowOAM ld de, wTownMapCoords .loop ld a, [de] @@ -410,7 +410,7 @@ DisplayWildLocations: ld b, $0 call DrawPlayerOrBirdSprite .done - ld hl, wOAMBuffer + ld hl, wShadowOAM ld de, wTileMapBackup ld bc, $a0 jp CopyData @@ -439,9 +439,9 @@ TownMapCoordsToOAMCoords: WritePlayerOrBirdSpriteOAM: ld a, [wOAMBaseTile] and a - ld hl, wOAMBuffer + $90 ; for player sprite + ld hl, wShadowOAMSprite36 ; for player sprite jr z, WriteTownMapSpriteOAM - ld hl, wOAMBuffer + $80 ; for bird sprite + ld hl, wShadowOAMSprite32 ; for bird sprite WriteTownMapSpriteOAM: push hl @@ -600,13 +600,13 @@ TownMapSpriteBlinkingAnimation:: jr nz, .done ; show sprites when the counter reaches 50 ld hl, wTileMapBackup - ld de, wOAMBuffer + ld de, wShadowOAM ld bc, $90 call CopyData xor a jr .done .hideSprites - ld hl, wOAMBuffer + ld hl, wShadowOAM ld b, $24 ld de, $4 .hideSpritesLoop diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index dbc6ab89..7dfb7dc3 100644 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -677,7 +677,7 @@ SwitchPartyMon_ClearGfx: dec c jr nz, .clearMonBGLoop pop af - ld hl, wOAMBuffer + ld hl, wShadowOAM ld bc, $10 call AddNTimes ld de, $4 diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index bca095a8..f489c60b 100644 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -158,7 +158,7 @@ AnimateIntroNidorino: jr AnimateIntroNidorino UpdateIntroNidorinoOAM: - ld hl, wOAMBuffer + ld hl, wShadowOAM ld a, [wIntroNidorinoBaseTile] ld d, a .loop @@ -177,7 +177,7 @@ UpdateIntroNidorinoOAM: ret InitIntroNidorinoOAM: - ld hl, wOAMBuffer + ld hl, wShadowOAM ld d, 0 .loop push bc diff --git a/engine/movie/splash.asm b/engine/movie/splash.asm index eede8ccb..2373a0f9 100644 --- a/engine/movie/splash.asm +++ b/engine/movie/splash.asm @@ -16,11 +16,11 @@ LoadShootingStarGraphics: lb bc, BANK(FallingStar), (FallingStarEnd - FallingStar) / $10 call CopyVideoData ld hl, GameFreakLogoOAMData - ld de, wOAMBuffer + $60 + ld de, wShadowOAMSprite24 ld bc, GameFreakLogoOAMDataEnd - GameFreakLogoOAMData call CopyData ld hl, GameFreakShootingStarOAMData - ld de, wOAMBuffer + ld de, wShadowOAM ld bc, GameFreakShootingStarOAMDataEnd - GameFreakShootingStarOAMData jp CopyData @@ -30,7 +30,7 @@ AnimateShootingStar: call PlaySound ; Move the big star down and left across the screen. - ld hl, wOAMBuffer + ld hl, wShadowOAM lb bc, $a0, $4 .bigStarLoop push hl @@ -60,7 +60,7 @@ AnimateShootingStar: jr nz, .bigStarLoop ; Clear big star OAM. - ld hl, wOAMBuffer + ld hl, wShadowOAM ld c, 4 ld de, 4 .clearOAMLoop @@ -83,7 +83,7 @@ AnimateShootingStar: ; Copy 24 instances of the small stars OAM data. ; Note that their coordinates put them off-screen. - ld de, wOAMBuffer + ld de, wShadowOAM ld a, 24 .initSmallStarsOAMLoop push af @@ -106,7 +106,7 @@ AnimateShootingStar: ld d, a push bc push hl - ld hl, wOAMBuffer + $50 + ld hl, wShadowOAMSprite20 ld c, 4 .smallStarsInnerLoop ; introduce new wave of 4 small stars OAM entries ld a, [de] @@ -131,8 +131,8 @@ AnimateShootingStar: push af ; shift the existing OAM entries down to make room for the next wave - ld hl, wOAMBuffer + $10 - ld de, wOAMBuffer + ld hl, wShadowOAMSprite04 + ld de, wShadowOAM ld bc, $50 call CopyData @@ -186,7 +186,7 @@ SmallStarsEmptyWave: MoveDownSmallStars: ld b, 8 .loop - ld hl, wOAMBuffer + $5c + ld hl, wShadowOAMSprite23 ld a, [wMoveDownSmallStarsOAMCount] ld de, -4 ld c, a diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 8f97f8fa..1ee0cc25 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -93,7 +93,7 @@ DisplayTitleScreen: call DrawPlayerCharacter ; put a pokeball in the player's hand - ld hl, wOAMBuffer + $28 + ld hl, wShadowOAMSprite10 ld a, $74 ld [hl], a @@ -322,7 +322,7 @@ DrawPlayerCharacter: call ClearSprites xor a ld [wPlayerCharacterOAMTile], a - ld hl, wOAMBuffer + ld hl, wShadowOAM lb de, $60, $5a ld b, 7 .loop diff --git a/engine/movie/title2.asm b/engine/movie/title2.asm index 315cf6b5..bc75015f 100644 --- a/engine/movie/title2.asm +++ b/engine/movie/title2.asm @@ -115,6 +115,6 @@ GetTitleBallY: pop de and a ret z - ld [wOAMBuffer + $28], a + ld [wShadowOAMSprite10YCoord], a inc e ret diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index 35423820..def901ba 100644 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -315,7 +315,7 @@ Trade_AnimateBallEnteringLinkCable: xor $1 ld [wLinkCableAnimBulgeToggle], a add $7e - ld hl, wOAMBuffer + $02 + ld hl, wShadowOAMSprite00TileID ld de, 4 ld c, e .cycleLinkCableBulgeTile @@ -599,7 +599,7 @@ Trade_AnimCircledMon: ldh a, [rBGP] xor $3c ; make link cable flash ldh [rBGP], a - ld hl, wOAMBuffer + $02 + ld hl, wShadowOAMSprite00TileID ld de, $4 ld c, $14 .loop @@ -619,7 +619,7 @@ Trade_WriteCircledMonOAM: call Trade_WriteCircleOAM Trade_AddOffsetsToOAMCoords: - ld hl, wOAMBuffer + ld hl, wShadowOAM ld c, $14 .loop ld a, [wBaseCoordY] diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index 6a92ccc0..4a337e8d 100644 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -99,7 +99,7 @@ InitCutAnimOAM: ld hl, vChars1 tile $7f call LoadCutGrassAnimationTilePattern call WriteCutOrBoulderDustAnimationOAMBlock - ld hl, wOAMBuffer + $93 + ld hl, wShadowOAMSprite36Attributes ld de, 4 ld a, $30 ld c, e diff --git a/engine/overworld/cut2.asm b/engine/overworld/cut2.asm index 3d4a5905..69c8cb13 100644 --- a/engine/overworld/cut2.asm +++ b/engine/overworld/cut2.asm @@ -5,12 +5,12 @@ AnimCut: ld c, $8 .cutTreeLoop push bc - ld hl, wOAMBuffer + $91 + ld hl, wShadowOAMSprite36XCoord ld a, 1 ld [wCoordAdjustmentAmount], a ld c, 2 call AdjustOAMBlockXPos2 - ld hl, wOAMBuffer + $99 + ld hl, wShadowOAMSprite38XCoord ld a, -1 ld [wCoordAdjustmentAmount], a ld c, 2 @@ -33,7 +33,7 @@ AnimCut: ld c, $8 call AnimCutGrass_UpdateOAMEntries call AnimCutGrass_SwapOAMEntries - ld hl, wOAMBuffer + $90 + ld hl, wShadowOAMSprite36YCoord ld a, 2 ld [wCoordAdjustmentAmount], a ld c, 4 @@ -45,22 +45,22 @@ AnimCut: AnimCutGrass_UpdateOAMEntries: push bc - ld hl, wOAMBuffer + $91 + ld hl, wShadowOAMSprite36XCoord ld a, 1 ld [wCoordAdjustmentAmount], a ld c, 1 call AdjustOAMBlockXPos2 - ld hl, wOAMBuffer + $95 + ld hl, wShadowOAMSprite37XCoord ld a, 2 ld [wCoordAdjustmentAmount], a ld c, 1 call AdjustOAMBlockXPos2 - ld hl, wOAMBuffer + $99 + ld hl, wShadowOAMSprite38XCoord ld a, -2 ld [wCoordAdjustmentAmount], a ld c, 1 call AdjustOAMBlockXPos2 - ld hl, wOAMBuffer + $9d + ld hl, wShadowOAMSprite39XCoord ld a, -1 ld [wCoordAdjustmentAmount], a ld c, 1 @@ -75,15 +75,15 @@ AnimCutGrass_UpdateOAMEntries: ret AnimCutGrass_SwapOAMEntries: - ld hl, wOAMBuffer + $90 + ld hl, wShadowOAMSprite36 ld de, wBuffer ld bc, $8 call CopyData - ld hl, wOAMBuffer + $98 - ld de, wOAMBuffer + $90 + ld hl, wShadowOAMSprite38 + ld de, wShadowOAMSprite36 ld bc, $8 call CopyData ld hl, wBuffer - ld de, wOAMBuffer + $98 + ld de, wShadowOAMSprite38 ld bc, $8 jp CopyData diff --git a/engine/overworld/dust_smoke.asm b/engine/overworld/dust_smoke.asm index c97b3e56..96dd364a 100644 --- a/engine/overworld/dust_smoke.asm +++ b/engine/overworld/dust_smoke.asm @@ -43,7 +43,7 @@ GetMoveBoulderDustFunctionPointer: ld h, [hl] ld l, a push hl - ld hl, wOAMBuffer + $90 + ld hl, wShadowOAMSprite36 ld d, $0 add hl, de ld e, l diff --git a/engine/overworld/emotion_bubbles.asm b/engine/overworld/emotion_bubbles.asm index 5a41c226..84b13f17 100644 --- a/engine/overworld/emotion_bubbles.asm +++ b/engine/overworld/emotion_bubbles.asm @@ -17,11 +17,11 @@ EmotionBubble: ld [wUpdateSpritesEnabled], a ld a, [wd736] bit 6, a ; are the last 4 OAM entries reserved for a shadow or fishing rod? - ld hl, wOAMBuffer + 4 * 35 + $3 ; $8f - ld de, wOAMBuffer + 4 * 39 + $3 ; $9f + ld hl, wShadowOAMSprite35Attributes + ld de, wShadowOAMSprite39Attributes jr z, .next - ld hl, wOAMBuffer + 4 * 31 + $3 ; $7f - ld de, wOAMBuffer + 4 * 35 + $3 ; $8f + ld hl, wShadowOAMSprite31Attributes + ld de, wShadowOAMSprite35Attributes ; Copy OAM data 16 bytes forward to make room for emotion bubble OAM data at the ; start of the OAM buffer. diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index 63c8f9ea..e297762c 100644 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -12,7 +12,7 @@ AnimateHealingMachine: push af ld a, $e0 ldh [rOBP1], a - ld hl, wOAMBuffer + $84 + ld hl, wShadowOAMSprite33 ld de, PokeCenterOAMData call CopyHealingMachineOAM ld a, 4 diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index 6a890cfd..bec59369 100644 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -205,19 +205,19 @@ LeaveMapThroughHoleAnim: ld a, $ff ld [wUpdateSpritesEnabled], a ; disable UpdateSprites ; shift upper half of player's sprite down 8 pixels and hide lower half - ld a, [wOAMBuffer + 0 * 4 + 2] - ld [wOAMBuffer + 2 * 4 + 2], a - ld a, [wOAMBuffer + 1 * 4 + 2] - ld [wOAMBuffer + 3 * 4 + 2], a + ld a, [wShadowOAMSprite00TileID] + ld [wShadowOAMSprite02TileID], a + ld a, [wShadowOAMSprite01TileID] + ld [wShadowOAMSprite03TileID], a ld a, $a0 - ld [wOAMBuffer + 0 * 4], a - ld [wOAMBuffer + 1 * 4], a + ld [wShadowOAMSprite00YCoord], a + ld [wShadowOAMSprite01YCoord], a ld c, 2 call DelayFrames ; hide upper half of player's sprite ld a, $a0 - ld [wOAMBuffer + 2 * 4], a - ld [wOAMBuffer + 3 * 4], a + ld [wShadowOAMSprite02YCoord], a + ld [wShadowOAMSprite03YCoord], a call GBFadeOutToWhite ld a, $1 ld [wUpdateSpritesEnabled], a ; enable UpdateSprites @@ -392,7 +392,7 @@ FishingAnim: ld b, $0 ld hl, FishingRodOAM add hl, bc - ld de, wOAMBuffer + $9c + ld de, wShadowOAMSprite39 ld bc, $4 call CopyData ld c, 100 @@ -412,7 +412,7 @@ FishingAnim: .loop ld hl, wSpritePlayerStateData1YPixels call .ShakePlayerSprite - ld hl, wOAMBuffer + $9c + ld hl, wShadowOAMSprite39 call .ShakePlayerSprite call Delay3 dec b @@ -424,7 +424,7 @@ FishingAnim: cp SPRITE_FACING_UP jr nz, .skipHidingFishingRod ld a, $a0 - ld [wOAMBuffer + $9c], a + ld [wShadowOAMSprite39YCoord], a .skipHidingFishingRod ld hl, wEmotionBubbleSpriteIndex @@ -438,7 +438,7 @@ FishingAnim: cp SPRITE_FACING_UP jr nz, .skipUnhidingFishingRod ld a, $44 - ld [wOAMBuffer + $9c], a + ld [wShadowOAMSprite39YCoord], a .skipUnhidingFishingRod ld hl, ItsABiteText diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index 1c2bb4c9..6dd3b42d 100644 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -757,7 +757,7 @@ SlotMachine_UpdateBallTiles: SlotMachine_AnimWheel1: ld bc, SlotMachineWheel1 ld de, wSlotMachineWheel1Offset - ld hl, wOAMBuffer + ld hl, wShadowOAMSprite00 ld a, $30 ld [wBaseCoordX], a jr SlotMachine_AnimWheel @@ -765,7 +765,7 @@ SlotMachine_AnimWheel1: SlotMachine_AnimWheel2: ld bc, SlotMachineWheel2 ld de, wSlotMachineWheel2Offset - ld hl, wOAMBuffer + $30 + ld hl, wShadowOAMSprite12 ld a, $50 ld [wBaseCoordX], a jr SlotMachine_AnimWheel @@ -773,7 +773,7 @@ SlotMachine_AnimWheel2: SlotMachine_AnimWheel3: ld bc, SlotMachineWheel3 ld de, wSlotMachineWheel3Offset - ld hl, wOAMBuffer + $60 + ld hl, wShadowOAMSprite24 ld a, $70 ld [wBaseCoordX], a diff --git a/home/clear_sprites.asm b/home/clear_sprites.asm index 79cc99d6..6d1066fa 100644 --- a/home/clear_sprites.asm +++ b/home/clear_sprites.asm @@ -1,7 +1,7 @@ ClearSprites:: xor a - ld hl, wOAMBuffer - ld b, wOAMBufferEnd - wOAMBuffer + ld hl, wShadowOAM + ld b, wShadowOAMEnd - wShadowOAM .loop ld [hli], a dec b @@ -10,7 +10,7 @@ ClearSprites:: HideSprites:: ld a, 160 - ld hl, wOAMBuffer + ld hl, wShadowOAM ld de, 4 ld b, 40 .loop diff --git a/home/oam.asm b/home/oam.asm index 8a940d97..8be59f6e 100644 --- a/home/oam.asm +++ b/home/oam.asm @@ -4,7 +4,7 @@ ; c = X coordinate of upper left corner of sprite ; de = base address of 4 tile number and attribute pairs WriteOAMBlock:: - ld h, HIGH(wOAMBuffer) + ld h, HIGH(wShadowOAM) swap a ; multiply by 16 ld l, a call .writeOneEntry ; upper left diff --git a/ram/wram.asm b/ram/wram.asm index 0804e6ee..3becc82a 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -143,12 +143,12 @@ wSpriteDataEnd:: SECTION "OAM Buffer", WRAM0 ; buffer for OAM data. Copied to OAM by DMA -wOAMBuffer:: -; wOAMBufferSprite00 - wOAMBufferSprite39 +wShadowOAM:: +; wShadowOAMSprite00 - wShadowOAMSprite39 FOR n, NUM_SPRITE_OAM_STRUCTS -wOAMBufferSprite{02d:n}:: sprite_oam_struct wOAMBufferSprite{02d:n} +wShadowOAMSprite{02d:n}:: sprite_oam_struct wShadowOAMSprite{02d:n} ENDR -wOAMBufferEnd:: +wShadowOAMEnd:: SECTION "Tilemap", WRAM0 diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index f98e1250..94779798 100644 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -124,7 +124,7 @@ VermilionDock_1db9b: VermilionDock_AnimSmokePuffDriftRight: push bc push de - ld hl, wOAMBuffer + 4 * $4 + 1 ; x coord + ld hl, wShadowOAMSprite04XCoord ld a, [wSSAnneSmokeDriftAmount] swap a ld c, a From 927b5a47009ea1ac6e69c1931ecc6b03d7c75497 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 10 Jul 2022 19:16:17 -0400 Subject: [PATCH 086/119] =?UTF-8?q?Identify=20Pok=C3=A9dex=20rating=20text?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- engine/events/pokedex_rating.asm | 96 ++++++++++++++++---------------- text/OaksLab.asm | 32 +++++------ 2 files changed, 64 insertions(+), 64 deletions(-) diff --git a/engine/events/pokedex_rating.asm b/engine/events/pokedex_rating.asm index c61253b7..e66dac8e 100644 --- a/engine/events/pokedex_rating.asm +++ b/engine/events/pokedex_rating.asm @@ -56,83 +56,83 @@ PokedexRatingText_441cc: text_end DexRatingsTable: - dbw 10, PokedexRatingText_44201 - dbw 20, PokedexRatingText_44206 - dbw 30, PokedexRatingText_4420b - dbw 40, PokedexRatingText_44210 - dbw 50, PokedexRatingText_44215 - dbw 60, PokedexRatingText_4421a - dbw 70, PokedexRatingText_4421f - dbw 80, PokedexRatingText_44224 - dbw 90, PokedexRatingText_44229 - dbw 100, PokedexRatingText_4422e - dbw 110, PokedexRatingText_44233 - dbw 120, PokedexRatingText_44238 - dbw 130, PokedexRatingText_4423d - dbw 140, PokedexRatingText_44242 - dbw 150, PokedexRatingText_44247 - dbw NUM_POKEMON + 1, PokedexRatingText_4424c + dbw 10, PokedexRatingText01 + dbw 20, PokedexRatingText02 + dbw 30, PokedexRatingText03 + dbw 40, PokedexRatingText04 + dbw 50, PokedexRatingText05 + dbw 60, PokedexRatingText06 + dbw 70, PokedexRatingText07 + dbw 80, PokedexRatingText08 + dbw 90, PokedexRatingText09 + dbw 100, PokedexRatingText10 + dbw 110, PokedexRatingText11 + dbw 120, PokedexRatingText12 + dbw 130, PokedexRatingText13 + dbw 140, PokedexRatingText14 + dbw 150, PokedexRatingText15 + dbw NUM_POKEMON + 1, PokedexRatingText16 -PokedexRatingText_44201: - text_far _OaksLabText_44201 +PokedexRatingText01: + text_far _PokedexRatingText01 text_end -PokedexRatingText_44206: - text_far _OaksLabText_44206 +PokedexRatingText02: + text_far _PokedexRatingText02 text_end -PokedexRatingText_4420b: - text_far _OaksLabText_4420b +PokedexRatingText03: + text_far _PokedexRatingText03 text_end -PokedexRatingText_44210: - text_far _OaksLabText_44210 +PokedexRatingText04: + text_far _PokedexRatingText04 text_end -PokedexRatingText_44215: - text_far _OaksLabText_44215 +PokedexRatingText05: + text_far _PokedexRatingText05 text_end -PokedexRatingText_4421a: - text_far _OaksLabText_4421a +PokedexRatingText06: + text_far _PokedexRatingText06 text_end -PokedexRatingText_4421f: - text_far _OaksLabText_4421f +PokedexRatingText07: + text_far _PokedexRatingText07 text_end -PokedexRatingText_44224: - text_far _OaksLabText_44224 +PokedexRatingText08: + text_far _PokedexRatingText08 text_end -PokedexRatingText_44229: - text_far _OaksLabText_44229 +PokedexRatingText09: + text_far _PokedexRatingText09 text_end -PokedexRatingText_4422e: - text_far _OaksLabText_4422e +PokedexRatingText10: + text_far _PokedexRatingText10 text_end -PokedexRatingText_44233: - text_far _OaksLabText_44233 +PokedexRatingText11: + text_far _PokedexRatingText11 text_end -PokedexRatingText_44238: - text_far _OaksLabText_44238 +PokedexRatingText12: + text_far _PokedexRatingText12 text_end -PokedexRatingText_4423d: - text_far _OaksLabText_4423d +PokedexRatingText13: + text_far _PokedexRatingText13 text_end -PokedexRatingText_44242: - text_far _OaksLabText_44242 +PokedexRatingText14: + text_far _PokedexRatingText14 text_end -PokedexRatingText_44247: - text_far _OaksLabText_44247 +PokedexRatingText15: + text_far _PokedexRatingText15 text_end -PokedexRatingText_4424c: - text_far _OaksLabText_4424c +PokedexRatingText16: + text_far _PokedexRatingText16 text_end diff --git a/text/OaksLab.asm b/text/OaksLab.asm index 18ecadb7..9c247832 100644 --- a/text/OaksLab.asm +++ b/text/OaksLab.asm @@ -378,41 +378,41 @@ _OaksLabText_441cc:: line "Rating:" prompt -_OaksLabText_44201:: +_PokedexRatingText01:: text "You still have" line "lots to do." cont "Look for #MON" cont "in grassy areas!" done -_OaksLabText_44206:: +_PokedexRatingText02:: text "You're on the" line "right track! " cont "Get a FLASH HM" cont "from my AIDE!" done -_OaksLabText_4420b:: +_PokedexRatingText03:: text "You still need" line "more #MON!" cont "Try to catch" cont "other species!" done -_OaksLabText_44210:: +_PokedexRatingText04:: text "Good, you're" line "trying hard!" cont "Get an ITEMFINDER" cont "from my AIDE!" done -_OaksLabText_44215:: +_PokedexRatingText05:: text "Looking good!" line "Go find my AIDE" cont "when you get 50!" done -_OaksLabText_4421a:: +_PokedexRatingText06:: text "You finally got at" line "least 50 species!" cont "Be sure to get" @@ -420,62 +420,62 @@ _OaksLabText_4421a:: cont "AIDE!" done -_OaksLabText_4421f:: +_PokedexRatingText07:: text "Ho! This is geting" line "even better!" done -_OaksLabText_44224:: +_PokedexRatingText08:: text "Very good!" line "Go fish for some" cont "marine #MON!" done -_OaksLabText_44229:: +_PokedexRatingText09:: text "Wonderful!" line "Do you like to" cont "collect things?" done -_OaksLabText_4422e:: +_PokedexRatingText10:: text "I'm impressed!" line "It must have been" cont "difficult to do!" done -_OaksLabText_44233:: +_PokedexRatingText11:: text "You finally got at" line "least 100 species!" cont "I can't believe" cont "how good you are!" done -_OaksLabText_44238:: +_PokedexRatingText12:: text "You even have the" line "evolved forms of" cont "#MON! Super!" done -_OaksLabText_4423d:: +_PokedexRatingText13:: text "Excellent! Trade" line "with friends to" cont "get some more!" done -_OaksLabText_44242:: +_PokedexRatingText14:: text "Outstanding!" line "You've become a" cont "real pro at this!" done -_OaksLabText_44247:: +_PokedexRatingText15:: text "I have nothing" line "left to say!" cont "You're the" cont "authority now!" done -_OaksLabText_4424c:: +_PokedexRatingText16:: text "Your #DEX is" line "entirely complete!" cont "Congratulations!" From a66adbcc5c63d133c68bb7a758e8920fde6de2ff Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 10 Jul 2022 19:26:18 -0400 Subject: [PATCH 087/119] =?UTF-8?q?Sync=20Pok=C3=A9dex=20rating=20text=20w?= =?UTF-8?q?ith=20pokeyellow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- engine/events/pokedex_rating.asm | 102 +++++++++++++------------- text.asm | 1 + text/OaksLab.asm | 118 ------------------------------- text/pokedex_ratings.asm | 117 ++++++++++++++++++++++++++++++ 4 files changed, 169 insertions(+), 169 deletions(-) create mode 100644 text/pokedex_ratings.asm diff --git a/engine/events/pokedex_rating.asm b/engine/events/pokedex_rating.asm index e66dac8e..1086257a 100644 --- a/engine/events/pokedex_rating.asm +++ b/engine/events/pokedex_rating.asm @@ -26,7 +26,7 @@ DisplayDexRating: CheckAndResetEventA EVENT_HALL_OF_FAME_DEX_RATING jr nz, .hallOfFame push hl - ld hl, PokedexRatingText_441cc + ld hl, DexCompletionText call PrintText pop hl call PrintText @@ -51,88 +51,88 @@ DisplayDexRating: ld [de], a ret -PokedexRatingText_441cc: - text_far _OaksLabText_441cc +DexCompletionText: + text_far _DexCompletionText text_end DexRatingsTable: - dbw 10, PokedexRatingText01 - dbw 20, PokedexRatingText02 - dbw 30, PokedexRatingText03 - dbw 40, PokedexRatingText04 - dbw 50, PokedexRatingText05 - dbw 60, PokedexRatingText06 - dbw 70, PokedexRatingText07 - dbw 80, PokedexRatingText08 - dbw 90, PokedexRatingText09 - dbw 100, PokedexRatingText10 - dbw 110, PokedexRatingText11 - dbw 120, PokedexRatingText12 - dbw 130, PokedexRatingText13 - dbw 140, PokedexRatingText14 - dbw 150, PokedexRatingText15 - dbw NUM_POKEMON + 1, PokedexRatingText16 + dbw 10, DexRatingText_Own0To9 + dbw 20, DexRatingText_Own10To19 + dbw 30, DexRatingText_Own20To29 + dbw 40, DexRatingText_Own30To39 + dbw 50, DexRatingText_Own40To49 + dbw 60, DexRatingText_Own50To59 + dbw 70, DexRatingText_Own60To69 + dbw 80, DexRatingText_Own70To79 + dbw 90, DexRatingText_Own80To89 + dbw 100, DexRatingText_Own90To99 + dbw 110, DexRatingText_Own100To109 + dbw 120, DexRatingText_Own110To119 + dbw 130, DexRatingText_Own120To129 + dbw 140, DexRatingText_Own130To139 + dbw 150, DexRatingText_Own140To149 + dbw NUM_POKEMON + 1, DexRatingText_Own150To151 -PokedexRatingText01: - text_far _PokedexRatingText01 +DexRatingText_Own0To9: + text_far _DexRatingText_Own0To9 text_end -PokedexRatingText02: - text_far _PokedexRatingText02 +DexRatingText_Own10To19: + text_far _DexRatingText_Own10To19 text_end -PokedexRatingText03: - text_far _PokedexRatingText03 +DexRatingText_Own20To29: + text_far _DexRatingText_Own20To29 text_end -PokedexRatingText04: - text_far _PokedexRatingText04 +DexRatingText_Own30To39: + text_far _DexRatingText_Own30To39 text_end -PokedexRatingText05: - text_far _PokedexRatingText05 +DexRatingText_Own40To49: + text_far _DexRatingText_Own40To49 text_end -PokedexRatingText06: - text_far _PokedexRatingText06 +DexRatingText_Own50To59: + text_far _DexRatingText_Own50To59 text_end -PokedexRatingText07: - text_far _PokedexRatingText07 +DexRatingText_Own60To69: + text_far _DexRatingText_Own60To69 text_end -PokedexRatingText08: - text_far _PokedexRatingText08 +DexRatingText_Own70To79: + text_far _DexRatingText_Own70To79 text_end -PokedexRatingText09: - text_far _PokedexRatingText09 +DexRatingText_Own80To89: + text_far _DexRatingText_Own80To89 text_end -PokedexRatingText10: - text_far _PokedexRatingText10 +DexRatingText_Own90To99: + text_far _DexRatingText_Own90To99 text_end -PokedexRatingText11: - text_far _PokedexRatingText11 +DexRatingText_Own100To109: + text_far _DexRatingText_Own100To109 text_end -PokedexRatingText12: - text_far _PokedexRatingText12 +DexRatingText_Own110To119: + text_far _DexRatingText_Own110To119 text_end -PokedexRatingText13: - text_far _PokedexRatingText13 +DexRatingText_Own120To129: + text_far _DexRatingText_Own120To129 text_end -PokedexRatingText14: - text_far _PokedexRatingText14 +DexRatingText_Own130To139: + text_far _DexRatingText_Own130To139 text_end -PokedexRatingText15: - text_far _PokedexRatingText15 +DexRatingText_Own140To149: + text_far _DexRatingText_Own140To149 text_end -PokedexRatingText16: - text_far _PokedexRatingText16 +DexRatingText_Own150To151: + text_far _DexRatingText_Own150To151 text_end diff --git a/text.asm b/text.asm index be17bfc6..c5020bba 100644 --- a/text.asm +++ b/text.asm @@ -146,6 +146,7 @@ INCLUDE "data/text/text_3.asm" INCLUDE "text/RedsHouse1F.asm" INCLUDE "text/BluesHouse.asm" INCLUDE "text/OaksLab.asm" +INCLUDE "text/pokedex_ratings.asm" INCLUDE "text/ViridianPokecenter.asm" INCLUDE "text/ViridianMart.asm" INCLUDE "text/ViridianSchoolHouse.asm" diff --git a/text/OaksLab.asm b/text/OaksLab.asm index 9c247832..74804841 100644 --- a/text/OaksLab.asm +++ b/text/OaksLab.asm @@ -362,121 +362,3 @@ _OaksLabText_1d405:: text "I study #MON as" line "PROF.OAK's AIDE." done - -_OaksLabText_441cc:: - text "#DEX comp-" - line "letion is:" - - para "@" - text_decimal hDexRatingNumMonsSeen, 1, 3 - text " #MON seen" - line "@" - text_decimal hDexRatingNumMonsOwned, 1, 3 - text " #MON owned" - - para "PROF.OAK's" - line "Rating:" - prompt - -_PokedexRatingText01:: - text "You still have" - line "lots to do." - cont "Look for #MON" - cont "in grassy areas!" - done - -_PokedexRatingText02:: - text "You're on the" - line "right track! " - cont "Get a FLASH HM" - cont "from my AIDE!" - done - -_PokedexRatingText03:: - text "You still need" - line "more #MON!" - cont "Try to catch" - cont "other species!" - done - -_PokedexRatingText04:: - text "Good, you're" - line "trying hard!" - cont "Get an ITEMFINDER" - cont "from my AIDE!" - done - -_PokedexRatingText05:: - text "Looking good!" - line "Go find my AIDE" - cont "when you get 50!" - done - -_PokedexRatingText06:: - text "You finally got at" - line "least 50 species!" - cont "Be sure to get" - cont "EXP.ALL from my" - cont "AIDE!" - done - -_PokedexRatingText07:: - text "Ho! This is geting" - line "even better!" - done - -_PokedexRatingText08:: - text "Very good!" - line "Go fish for some" - cont "marine #MON!" - done - -_PokedexRatingText09:: - text "Wonderful!" - line "Do you like to" - cont "collect things?" - done - -_PokedexRatingText10:: - text "I'm impressed!" - line "It must have been" - cont "difficult to do!" - done - -_PokedexRatingText11:: - text "You finally got at" - line "least 100 species!" - cont "I can't believe" - cont "how good you are!" - done - -_PokedexRatingText12:: - text "You even have the" - line "evolved forms of" - cont "#MON! Super!" - done - -_PokedexRatingText13:: - text "Excellent! Trade" - line "with friends to" - cont "get some more!" - done - -_PokedexRatingText14:: - text "Outstanding!" - line "You've become a" - cont "real pro at this!" - done - -_PokedexRatingText15:: - text "I have nothing" - line "left to say!" - cont "You're the" - cont "authority now!" - done - -_PokedexRatingText16:: - text "Your #DEX is" - line "entirely complete!" - cont "Congratulations!" - done diff --git a/text/pokedex_ratings.asm b/text/pokedex_ratings.asm new file mode 100644 index 00000000..9b4f9e61 --- /dev/null +++ b/text/pokedex_ratings.asm @@ -0,0 +1,117 @@ +_DexCompletionText:: + text "#DEX comp-" + line "letion is:" + + para "@" + text_decimal hDexRatingNumMonsSeen, 1, 3 + text " #MON seen" + line "@" + text_decimal hDexRatingNumMonsOwned, 1, 3 + text " #MON owned" + + para "PROF.OAK's" + line "Rating:" + prompt + +_DexRatingText_Own0To9:: + text "You still have" + line "lots to do." + cont "Look for #MON" + cont "in grassy areas!" + done + +_DexRatingText_Own10To19:: + text "You're on the" + line "right track! " + cont "Get a FLASH HM" + cont "from my AIDE!" + done + +_DexRatingText_Own20To29:: + text "You still need" + line "more #MON!" + cont "Try to catch" + cont "other species!" + done + +_DexRatingText_Own30To39:: + text "Good, you're" + line "trying hard!" + cont "Get an ITEMFINDER" + cont "from my AIDE!" + done + +_DexRatingText_Own40To49:: + text "Looking good!" + line "Go find my AIDE" + cont "when you get 50!" + done + +_DexRatingText_Own50To59:: + text "You finally got at" + line "least 50 species!" + cont "Be sure to get" + cont "EXP.ALL from my" + cont "AIDE!" + done + +_DexRatingText_Own60To69:: + text "Ho! This is geting" + line "even better!" + done + +_DexRatingText_Own70To79:: + text "Very good!" + line "Go fish for some" + cont "marine #MON!" + done + +_DexRatingText_Own80To89:: + text "Wonderful!" + line "Do you like to" + cont "collect things?" + done + +_DexRatingText_Own90To99:: + text "I'm impressed!" + line "It must have been" + cont "difficult to do!" + done + +_DexRatingText_Own100To109:: + text "You finally got at" + line "least 100 species!" + cont "I can't believe" + cont "how good you are!" + done + +_DexRatingText_Own110To119:: + text "You even have the" + line "evolved forms of" + cont "#MON! Super!" + done + +_DexRatingText_Own120To129:: + text "Excellent! Trade" + line "with friends to" + cont "get some more!" + done + +_DexRatingText_Own130To139:: + text "Outstanding!" + line "You've become a" + cont "real pro at this!" + done + +_DexRatingText_Own140To149:: + text "I have nothing" + line "left to say!" + cont "You're the" + cont "authority now!" + done + +_DexRatingText_Own150To151:: + text "Your #DEX is" + line "entirely complete!" + cont "Congratulations!" + done From d8c6817279e415d6177b0548c0ad0994546ff104 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 10 Jul 2022 20:22:11 -0400 Subject: [PATCH 088/119] Replace "branch" labels in music files with local names --- audio/alternate_tempo.asm | 12 +- audio/music/bikeriding.asm | 67 ++++----- audio/music/celadon.asm | 17 +-- audio/music/cinnabar.asm | 17 +-- audio/music/cinnabarmansion.asm | 43 +++--- audio/music/cities1.asm | 104 +++++++------- audio/music/cities2.asm | 17 +-- audio/music/credits.asm | 102 +++++++------- audio/music/defeatedgymleader.asm | 17 +-- audio/music/defeatedtrainer.asm | 17 +-- audio/music/defeatedwildmon.asm | 17 +-- audio/music/dungeon1.asm | 224 ++++++++++++++---------------- audio/music/dungeon2.asm | 59 ++++---- audio/music/dungeon3.asm | 79 +++++------ audio/music/finalbattle.asm | 55 ++++---- audio/music/gamecorner.asm | 75 +++++----- audio/music/gym.asm | 53 ++++--- audio/music/gymleaderbattle.asm | 17 +-- audio/music/halloffame.asm | 23 ++- audio/music/indigoplateau.asm | 97 ++++++------- audio/music/introbattle.asm | 3 - audio/music/jigglypuffsong.asm | 1 - audio/music/lavender.asm | 23 ++- audio/music/meeteviltrainer.asm | 17 +-- audio/music/meetfemaletrainer.asm | 26 ++-- audio/music/meetmaletrainer.asm | 17 +-- audio/music/meetprofoak.asm | 35 ++--- audio/music/meetrival.asm | 43 +++--- audio/music/museumguy.asm | 51 +++---- audio/music/oakslab.asm | 17 +-- audio/music/pallettown.asm | 22 ++- audio/music/pkmnhealed.asm | 2 - audio/music/pokecenter.asm | 47 +++---- audio/music/pokemontower.asm | 17 +-- audio/music/routes1.asm | 41 +++--- audio/music/routes2.asm | 27 ++-- audio/music/routes3.asm | 23 ++- audio/music/routes4.asm | 23 ++- audio/music/safarizone.asm | 35 ++--- audio/music/silphco.asm | 25 ++-- audio/music/ssanne.asm | 15 +- audio/music/surfing.asm | 17 +-- audio/music/titlescreen.asm | 128 ++++++++--------- audio/music/trainerbattle.asm | 17 +-- audio/music/unusedsong.asm | 15 +- audio/music/vermilion.asm | 64 ++++----- audio/music/wildbattle.asm | 22 ++- 47 files changed, 825 insertions(+), 1060 deletions(-) diff --git a/audio/alternate_tempo.asm b/audio/alternate_tempo.asm index 6c2cdc49..480eb554 100644 --- a/audio/alternate_tempo.asm +++ b/audio/alternate_tempo.asm @@ -4,11 +4,11 @@ Music_RivalAlternateStart:: ld a, MUSIC_MEET_RIVAL call PlayMusic ld hl, wChannelCommandPointers - ld de, Music_MeetRival_branch_b1a2 + ld de, Music_MeetRival_Ch1_AlternateStart call Audio1_OverwriteChannelPointer - ld de, Music_MeetRival_branch_b21d + ld de, Music_MeetRival_Ch2_AlternateStart call Audio1_OverwriteChannelPointer - ld de, Music_MeetRival_branch_b2b5 + ld de, Music_MeetRival_Ch3_AlternateStart Audio1_OverwriteChannelPointer: ld a, e @@ -23,14 +23,14 @@ Music_RivalAlternateTempo:: ld a, MUSIC_MEET_RIVAL call PlayMusic ld hl, wChannelCommandPointers - ld de, Music_MeetRival_branch_b119 + ld de, Music_MeetRival_Ch1_AlternateTempo jp Audio1_OverwriteChannelPointer ; applies both the alternate start and alternate tempo Music_RivalAlternateStartAndTempo:: call Music_RivalAlternateStart ld hl, wChannelCommandPointers - ld de, Music_MeetRival_branch_b19b + ld de, Music_MeetRival_Ch1_AlternateStartAndTempo jp Audio1_OverwriteChannelPointer ; an alternate tempo for Cities1 which is used for the Hall of Fame room @@ -46,5 +46,5 @@ Music_Cities1AlternateTempo:: ld a, MUSIC_CITIES1 call PlayMusic ld hl, wChannelCommandPointers - ld de, Music_Cities1_branch_aa6f + ld de, Music_Cities1_Ch1_AlternateTempo jp Audio1_OverwriteChannelPointer diff --git a/audio/music/bikeriding.asm b/audio/music/bikeriding.asm index 302e5cf9..5ee7ba85 100644 --- a/audio/music/bikeriding.asm +++ b/audio/music/bikeriding.asm @@ -6,8 +6,7 @@ Music_BikeRiding_Ch1:: note_type 12, 11, 5 octave 3 note G_, 2 - -Music_BikeRiding_branch_7dbc9:: +.mainloop: octave 4 note C_, 4 note D_, 4 @@ -150,8 +149,7 @@ Music_BikeRiding_branch_7dbc9:: note G_, 12 note_type 12, 11, 5 vibrato 8, 1, 4 - sound_loop 0, Music_BikeRiding_branch_7dbc9 - + sound_loop 0, .mainloop Music_BikeRiding_Ch2:: duty_cycle 2 @@ -159,8 +157,7 @@ Music_BikeRiding_Ch2:: note_type 12, 12, 3 octave 4 note C_, 2 - -Music_BikeRiding_branch_7dc75:: +.mainloop: note E_, 4 note F_, 4 note G_, 4 @@ -299,14 +296,12 @@ Music_BikeRiding_branch_7dc75:: note_type 12, 12, 7 note B_, 12 note_type 12, 12, 3 - sound_loop 0, Music_BikeRiding_branch_7dc75 - + sound_loop 0, .mainloop Music_BikeRiding_Ch3:: note_type 12, 1, 3 rest 2 - -Music_BikeRiding_branch_7dd17:: +.mainloop: octave 4 note C_, 1 rest 1 @@ -640,36 +635,34 @@ Music_BikeRiding_branch_7dd17:: octave 4 note F_, 1 rest 1 - sound_loop 0, Music_BikeRiding_branch_7dd17 - + sound_loop 0, .mainloop Music_BikeRiding_Ch4:: drum_speed 12 rest 2 +.mainloop: + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 + sound_call .sub3 + sound_call .sub2 + sound_call .sub2 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 + sound_call .sub3 + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_loop 0, .mainloop -Music_BikeRiding_branch_7de6a:: - sound_call Music_BikeRiding_branch_7dea7 - sound_call Music_BikeRiding_branch_7deb4 - sound_call Music_BikeRiding_branch_7dea7 - sound_call Music_BikeRiding_branch_7dec2 - sound_call Music_BikeRiding_branch_7deb4 - sound_call Music_BikeRiding_branch_7deb4 - sound_call Music_BikeRiding_branch_7dea7 - sound_call Music_BikeRiding_branch_7dea7 - sound_call Music_BikeRiding_branch_7dea7 - sound_call Music_BikeRiding_branch_7dea7 - sound_call Music_BikeRiding_branch_7deb4 - sound_call Music_BikeRiding_branch_7dea7 - sound_call Music_BikeRiding_branch_7dec2 - sound_call Music_BikeRiding_branch_7dea7 - sound_call Music_BikeRiding_branch_7deb4 - sound_call Music_BikeRiding_branch_7dea7 - sound_call Music_BikeRiding_branch_7dea7 - sound_call Music_BikeRiding_branch_7dea7 - sound_call Music_BikeRiding_branch_7dea7 - sound_loop 0, Music_BikeRiding_branch_7de6a - -Music_BikeRiding_branch_7dea7:: +.sub1: rest 2 drum_note 16, 2 rest 2 @@ -680,7 +673,7 @@ Music_BikeRiding_branch_7dea7:: drum_note 16, 2 sound_ret -Music_BikeRiding_branch_7deb4:: +.sub2: rest 2 drum_note 16, 2 rest 2 @@ -691,7 +684,7 @@ Music_BikeRiding_branch_7deb4:: drum_note 16, 2 sound_ret -Music_BikeRiding_branch_7dec2:: +.sub3: rest 2 drum_note 16, 2 rest 2 diff --git a/audio/music/celadon.asm b/audio/music/celadon.asm index 5f03fc51..30723112 100644 --- a/audio/music/celadon.asm +++ b/audio/music/celadon.asm @@ -7,8 +7,7 @@ Music_Celadon_Ch1:: rest 8 octave 3 note D_, 8 - -Music_Celadon_branch_b6d4:: +.mainloop: duty_cycle 2 note_type 12, 11, 2 note G_, 4 @@ -104,8 +103,7 @@ Music_Celadon_branch_b6d4:: note G_, 4 note F#, 4 note A_, 4 - sound_loop 0, Music_Celadon_branch_b6d4 - + sound_loop 0, .mainloop Music_Celadon_Ch2:: duty_cycle 3 @@ -121,8 +119,7 @@ Music_Celadon_Ch2:: note G_, 1 note_type 12, 10, 0 note A_, 8 - -Music_Celadon_branch_b74a:: +.mainloop: duty_cycle 2 note_type 12, 12, 2 octave 4 @@ -223,8 +220,7 @@ Music_Celadon_branch_b74a:: note D_, 2 note E_, 2 note D_, 8 - sound_loop 0, Music_Celadon_branch_b74a - + sound_loop 0, .mainloop Music_Celadon_Ch3:: note_type 12, 1, 3 @@ -238,8 +234,7 @@ Music_Celadon_Ch3:: note E_, 1 note F#, 1 note G_, 1 - -Music_Celadon_branch_b7c1:: +.mainloop: octave 4 note D_, 2 note B_, 2 @@ -408,4 +403,4 @@ Music_Celadon_branch_b7c1:: note G_, 2 note F#, 2 note E_, 2 - sound_loop 0, Music_Celadon_branch_b7c1 + sound_loop 0, .mainloop diff --git a/audio/music/cinnabar.asm b/audio/music/cinnabar.asm index 69496af5..b0c69ce2 100644 --- a/audio/music/cinnabar.asm +++ b/audio/music/cinnabar.asm @@ -4,8 +4,7 @@ Music_Cinnabar_Ch1:: duty_cycle 3 vibrato 12, 3, 4 toggle_perfect_pitch - -Music_Cinnabar_branch_b878:: +.mainloop: note_type 12, 11, 5 rest 4 octave 3 @@ -82,14 +81,12 @@ Music_Cinnabar_branch_b878:: note G_, 8 note F#, 4 note E_, 4 - sound_loop 0, Music_Cinnabar_branch_b878 - + sound_loop 0, .mainloop Music_Cinnabar_Ch2:: duty_cycle 3 vibrato 10, 2, 3 - -Music_Cinnabar_branch_b8d9:: +.mainloop: note_type 12, 12, 7 octave 3 note G_, 6 @@ -176,13 +173,11 @@ Music_Cinnabar_branch_b8d9:: octave 3 note B_, 2 note A_, 6 - sound_loop 0, Music_Cinnabar_branch_b8d9 - + sound_loop 0, .mainloop Music_Cinnabar_Ch3:: note_type 12, 1, 0 - -Music_Cinnabar_branch_b93f:: +.mainloop: octave 4 note G_, 1 rest 3 @@ -351,4 +346,4 @@ Music_Cinnabar_branch_b93f:: octave 5 note C_, 1 rest 1 - sound_loop 0, Music_Cinnabar_branch_b93f + sound_loop 0, .mainloop diff --git a/audio/music/cinnabarmansion.asm b/audio/music/cinnabarmansion.asm index ac6c08c3..426715d6 100644 --- a/audio/music/cinnabarmansion.asm +++ b/audio/music/cinnabarmansion.asm @@ -3,8 +3,8 @@ Music_CinnabarMansion_Ch1:: volume 7, 7 vibrato 11, 2, 5 duty_cycle 2 - -Music_CinnabarMansion_branch_7ed19:: +.mainloop: +.loop1: note_type 12, 6, 2 octave 5 note E_, 1 @@ -25,7 +25,7 @@ Music_CinnabarMansion_branch_7ed19:: octave 5 note B_, 1 rest 2 - sound_loop 14, Music_CinnabarMansion_branch_7ed19 + sound_loop 14, .loop1 note_type 12, 10, 5 rest 16 rest 16 @@ -35,26 +35,22 @@ Music_CinnabarMansion_branch_7ed19:: octave 5 note B_, 1 note B_, 2 - sound_loop 0, Music_CinnabarMansion_branch_7ed19 - + sound_loop 0, .mainloop Music_CinnabarMansion_Ch2:: duty_cycle 2 toggle_perfect_pitch vibrato 10, 2, 4 note_type 12, 12, 2 - -Music_CinnabarMansion_branch_7ed48:: +.introloop: rest 16 rest 16 - sound_loop 4, Music_CinnabarMansion_branch_7ed48 - -Music_CinnabarMansion_branch_7ed4e:: + sound_loop 4, .introloop +.mainloop: note_type 12, 12, 2 - -Music_CinnabarMansion_branch_7ed50:: - sound_call Music_CinnabarMansion_branch_7ed6c - sound_loop 3, Music_CinnabarMansion_branch_7ed50 +.loop1: + sound_call .sub1 + sound_loop 3, .loop1 octave 3 note E_, 4 note D#, 4 @@ -72,9 +68,9 @@ Music_CinnabarMansion_branch_7ed50:: note G#, 4 note G_, 4 note D#, 4 - sound_loop 0, Music_CinnabarMansion_branch_7ed4e + sound_loop 0, .mainloop -Music_CinnabarMansion_branch_7ed6c:: +.sub1: octave 3 note E_, 4 note D#, 4 @@ -94,11 +90,10 @@ Music_CinnabarMansion_branch_7ed6c:: note A#, 4 sound_ret - Music_CinnabarMansion_Ch3:: note_type 12, 1, 1 - -Music_CinnabarMansion_branch_7ed80:: +.mainloop: +.loop1: octave 2 note B_, 2 rest 2 @@ -134,14 +129,13 @@ Music_CinnabarMansion_branch_7ed80:: rest 2 note D#, 2 rest 2 - sound_loop 8, Music_CinnabarMansion_branch_7ed80 + sound_loop 8, .loop1 note E_, 16 note D#, 16 note G_, 16 note G#, 8 note D#, 8 - sound_loop 0, Music_CinnabarMansion_branch_7ed80 - + sound_loop 0, .mainloop Music_CinnabarMansion_Ch4:: drum_speed 6 @@ -149,8 +143,7 @@ Music_CinnabarMansion_Ch4:: rest 16 rest 16 rest 16 - -Music_CinnabarMansion_branch_7edb5:: +.mainloop: drum_note 12, 2 drum_note 12, 2 drum_note 13, 4 @@ -169,4 +162,4 @@ Music_CinnabarMansion_branch_7edb5:: rest 10 rest 8 drum_note 14, 8 - sound_loop 0, Music_CinnabarMansion_branch_7edb5 + sound_loop 0, .mainloop diff --git a/audio/music/cities1.asm b/audio/music/cities1.asm index 00ca3b5f..f2c654a7 100644 --- a/audio/music/cities1.asm +++ b/audio/music/cities1.asm @@ -1,16 +1,14 @@ -Music_Cities1_branch_aa6f:: +Music_Cities1_Ch1_AlternateTempo:: tempo 232 - sound_loop 0, Music_Cities1_branch_aa79 + sound_loop 0, Music_Cities1_Ch1.body Music_Cities1_Ch1:: tempo 144 - -Music_Cities1_branch_aa79:: +.body: volume 7, 7 vibrato 8, 2, 4 duty_cycle 3 - -Music_Cities1_branch_aa80:: +.mainloop: note_type 12, 12, 5 octave 3 note G#, 4 @@ -39,7 +37,7 @@ Music_Cities1_branch_aa80:: octave 2 note B_, 4 note_type 12, 12, 5 - sound_call Music_Cities1_branch_ab7d + sound_call .sub1 octave 3 note D#, 6 note E_, 2 @@ -90,7 +88,7 @@ Music_Cities1_branch_aa80:: note B_, 2 note B_, 4 note_type 12, 12, 5 - sound_call Music_Cities1_branch_ab7d + sound_call .sub1 octave 3 note D#, 4 note D#, 2 @@ -114,7 +112,7 @@ Music_Cities1_branch_aa80:: note C#, 2 note E_, 4 note_type 12, 11, 3 - sound_call Music_Cities1_branch_ab8a + sound_call .sub2 note A_, 2 note B_, 2 note A_, 2 @@ -142,8 +140,7 @@ Music_Cities1_branch_aa80:: octave 2 note B_, 2 octave 3 - -Music_Cities1_branch_ab12:: +.loop1: note C#, 2 note D#, 2 note C#, 2 @@ -153,7 +150,7 @@ Music_Cities1_branch_ab12:: octave 3 note C#, 2 note D#, 2 - sound_loop 2, Music_Cities1_branch_ab12 + sound_loop 2, .loop1 note E_, 2 octave 2 note B_, 4 @@ -180,7 +177,7 @@ Music_Cities1_branch_ab12:: octave 2 note B_, 2 octave 3 - sound_call Music_Cities1_branch_ab8a + sound_call .sub2 note A_, 2 note E_, 2 note A_, 2 @@ -240,9 +237,9 @@ Music_Cities1_branch_ab12:: octave 3 note E_, 2 note F#, 2 - sound_loop 0, Music_Cities1_branch_aa80 + sound_loop 0, .mainloop -Music_Cities1_branch_ab7d:: +.sub1: octave 3 note F#, 2 note D#, 4 @@ -257,7 +254,7 @@ Music_Cities1_branch_ab7d:: note C#, 2 sound_ret -Music_Cities1_branch_ab8a:: +.sub2: note A_, 2 note E_, 2 note C#, 2 @@ -267,10 +264,10 @@ Music_Cities1_branch_ab8a:: note E_, 2 sound_ret - Music_Cities1_Ch2:: +.mainloop: vibrato 5, 1, 5 - sound_call Music_Cities1_branch_ac00 + sound_call .sub1 octave 4 note G#, 2 note_type 12, 12, 4 @@ -283,7 +280,7 @@ Music_Cities1_Ch2:: note E_, 6 note F#, 6 note G#, 4 - sound_call Music_Cities1_branch_ac00 + sound_call .sub1 octave 4 note G#, 2 note_type 12, 12, 4 @@ -357,9 +354,9 @@ Music_Cities1_Ch2:: note G#, 1 note_type 12, 10, 4 note A_, 1 - sound_loop 0, Music_Cities1_Ch2 + sound_loop 0, .mainloop -Music_Cities1_branch_ac00:: +.sub1: duty_cycle 2 note_type 12, 12, 3 octave 4 @@ -400,17 +397,15 @@ Music_Cities1_branch_ac00:: note F#, 2 sound_ret - Music_Cities1_Ch3:: note_type 12, 1, 1 toggle_perfect_pitch - -Music_Cities1_branch_ac35:: +.mainloop: vibrato 0, 0, 0 octave 4 - sound_call Music_Cities1_branch_acc5 - sound_call Music_Cities1_branch_acc5 - sound_call Music_Cities1_branch_acce + sound_call .sub1 + sound_call .sub1 + sound_call .sub2 note G#, 2 note E_, 2 note F#, 2 @@ -419,7 +414,7 @@ Music_Cities1_branch_ac35:: note E_, 2 note F#, 2 note G#, 2 - sound_call Music_Cities1_branch_acc5 + sound_call .sub1 note B_, 2 note E_, 2 note F#, 2 @@ -428,8 +423,8 @@ Music_Cities1_branch_ac35:: note E_, 2 note F#, 2 note G#, 2 - sound_call Music_Cities1_branch_acc5 - sound_call Music_Cities1_branch_acce + sound_call .sub1 + sound_call .sub2 note G#, 2 note E_, 2 note F#, 2 @@ -530,9 +525,9 @@ Music_Cities1_branch_ac35:: note A_, 2 note G#, 2 note F#, 2 - sound_loop 0, Music_Cities1_branch_ac35 + sound_loop 0, .mainloop -Music_Cities1_branch_acc5:: +.sub1: rest 2 note E_, 2 note F#, 2 @@ -543,7 +538,7 @@ Music_Cities1_branch_acc5:: note G#, 2 sound_ret -Music_Cities1_branch_acce:: +.sub2: note A_, 2 note F#, 2 note G#, 2 @@ -578,27 +573,26 @@ Music_Cities1_branch_acce:: note F#, 2 sound_ret - Music_Cities1_Ch4:: +.mainloop: drum_speed 12 - sound_call Music_Cities1_branch_ad36 - -Music_Cities1_branch_acf3:: - sound_call Music_Cities1_branch_ad36 - sound_call Music_Cities1_branch_ad45 - sound_call Music_Cities1_branch_ad45 - sound_loop 2, Music_Cities1_branch_acf3 - sound_call Music_Cities1_branch_ad36 - sound_call Music_Cities1_branch_ad5f - sound_call Music_Cities1_branch_ad52 + sound_call .sub1 +.loop1: + sound_call .sub1 + sound_call .sub2 + sound_call .sub2 + sound_loop 2, .loop1 + sound_call .sub1 + sound_call .sub4 + sound_call .sub3 drum_note 6, 6 drum_note 6, 6 drum_note 7, 4 - sound_call Music_Cities1_branch_ad6e - sound_call Music_Cities1_branch_ad5f - sound_call Music_Cities1_branch_ad52 - sound_call Music_Cities1_branch_ad6e - sound_call Music_Cities1_branch_ad52 + sound_call .sub5 + sound_call .sub4 + sound_call .sub3 + sound_call .sub5 + sound_call .sub3 drum_note 6, 6 drum_note 6, 6 drum_note 7, 2 @@ -609,9 +603,9 @@ Music_Cities1_branch_acf3:: drum_note 6, 6 drum_note 8, 6 drum_note 8, 4 - sound_loop 0, Music_Cities1_Ch4 + sound_loop 0, .mainloop -Music_Cities1_branch_ad36:: +.sub1: drum_note 8, 6 drum_note 8, 6 drum_note 8, 4 @@ -621,7 +615,7 @@ Music_Cities1_branch_ad36:: drum_note 8, 2 sound_ret -Music_Cities1_branch_ad45:: +.sub2: drum_note 8, 6 drum_note 8, 6 drum_note 8, 4 @@ -630,7 +624,7 @@ Music_Cities1_branch_ad45:: drum_note 8, 4 sound_ret -Music_Cities1_branch_ad52:: +.sub3: drum_note 6, 6 drum_note 6, 6 drum_note 7, 4 @@ -639,7 +633,7 @@ Music_Cities1_branch_ad52:: drum_note 7, 4 sound_ret -Music_Cities1_branch_ad5f:: +.sub4: drum_note 6, 6 drum_note 6, 6 drum_note 7, 4 @@ -649,7 +643,7 @@ Music_Cities1_branch_ad5f:: drum_note 6, 2 sound_ret -Music_Cities1_branch_ad6e:: +.sub5: drum_note 6, 6 drum_note 6, 6 drum_note 7, 2 diff --git a/audio/music/cities2.asm b/audio/music/cities2.asm index 6397f965..dad0cebd 100644 --- a/audio/music/cities2.asm +++ b/audio/music/cities2.asm @@ -14,8 +14,7 @@ Music_Cities2_Ch1:: octave 2 note B_, 2 rest 14 - -Music_Cities2_branch_b51a:: +.mainloop: octave 3 note B_, 4 octave 4 @@ -91,8 +90,7 @@ Music_Cities2_branch_b51a:: note F#, 4 note E_, 2 rest 14 - sound_loop 0, Music_Cities2_branch_b51a - + sound_loop 0, .mainloop Music_Cities2_Ch2:: duty_cycle 3 @@ -123,8 +121,7 @@ Music_Cities2_Ch2:: note F#, 1 note G#, 1 note A_, 1 - -Music_Cities2_branch_b58b:: +.mainloop: note_type 12, 10, 6 note G#, 6 note_type 12, 12, 2 @@ -277,8 +274,7 @@ Music_Cities2_branch_b58b:: note F#, 1 note G#, 1 note A_, 1 - sound_loop 0, Music_Cities2_branch_b58b - + sound_loop 0, .mainloop Music_Cities2_Ch3:: note_type 12, 1, 1 @@ -292,8 +288,7 @@ Music_Cities2_Ch3:: note G#, 2 note E_, 2 note G#, 2 - -Music_Cities2_branch_b64c:: +.mainloop: note F#, 2 note A_, 2 note F#, 2 @@ -413,4 +408,4 @@ Music_Cities2_branch_b64c:: note G#, 2 note E_, 2 note G#, 2 - sound_loop 0, Music_Cities2_branch_b64c + sound_loop 0, .mainloop diff --git a/audio/music/credits.asm b/audio/music/credits.asm index b8a6d7dd..7fa036f9 100644 --- a/audio/music/credits.asm +++ b/audio/music/credits.asm @@ -283,7 +283,6 @@ Music_Credits_Ch1:: note A_, 8 sound_ret - Music_Credits_Ch2:: duty_cycle 3 vibrato 10, 2, 5 @@ -573,7 +572,6 @@ Music_Credits_Ch2:: note A_, 8 sound_ret - Music_Credits_Ch3:: note_type 12, 1, 0 octave 5 @@ -597,9 +595,9 @@ Music_Credits_Ch3:: note A_, 1 rest 15 rest 16 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffae - sound_call Music_Credits_branch_7ffa4 + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 octave 4 note E_, 2 note A_, 2 @@ -609,13 +607,13 @@ Music_Credits_Ch3:: note F#, 2 note G_, 2 note A_, 2 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffae - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffb8 - sound_call Music_Credits_branch_7ffb8 - sound_call Music_Credits_branch_7ffc1 + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 + sound_call .sub1 + sound_call .sub3 + sound_call .sub3 + sound_call .sub4 octave 4 note A_, 2 octave 5 @@ -631,34 +629,34 @@ Music_Credits_Ch3:: octave 4 note B_, 2 note A_, 2 - sound_call Music_Credits_branch_7ffb8 - sound_call Music_Credits_branch_7ffb8 - sound_call Music_Credits_branch_7ffc1 - sound_call Music_Credits_branch_7ffc1 + sound_call .sub3 + sound_call .sub3 + sound_call .sub4 + sound_call .sub4 octave 4 note G_, 4 note A_, 4 note B_, 4 octave 5 note D_, 4 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffae - sound_call Music_Credits_branch_7ffae - sound_call Music_Credits_branch_7ffa4 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub2 + sound_call .sub2 + sound_call .sub1 note E_, 4 note A_, 2 note E_, 4 note A_, 2 note E_, 2 note A_, 2 - sound_call Music_Credits_branch_7ffae - sound_call Music_Credits_branch_7ffae - sound_call Music_Credits_branch_7ffa4 + sound_call .sub2 + sound_call .sub2 + sound_call .sub1 note E_, 2 note A_, 2 note E_, 2 @@ -667,10 +665,10 @@ Music_Credits_Ch3:: note A_, 2 note G#, 2 note A_, 2 - sound_call Music_Credits_branch_7ffd2 - sound_call Music_Credits_branch_7ffd2 - sound_call Music_Credits_branch_7ffdb - sound_call Music_Credits_branch_7ffdb + sound_call .sub5 + sound_call .sub5 + sound_call .sub6 + sound_call .sub6 note F_, 2 note A_, 2 note F_, 2 @@ -687,8 +685,8 @@ Music_Credits_Ch3:: note D_, 2 note E_, 2 note F_, 2 - sound_call Music_Credits_branch_7ffb8 - sound_call Music_Credits_branch_7ffb8 + sound_call .sub3 + sound_call .sub3 note E_, 4 note A_, 4 note E_, 4 @@ -697,16 +695,16 @@ Music_Credits_Ch3:: note A_, 4 note E_, 4 note A_, 4 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffe4 - sound_call Music_Credits_branch_7ffe4 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffa4 - sound_call Music_Credits_branch_7ffb8 - sound_call Music_Credits_branch_7ffb8 - sound_call Music_Credits_branch_7ffed - sound_call Music_Credits_branch_7ffed + sound_call .sub1 + sound_call .sub1 + sound_call .sub7 + sound_call .sub7 + sound_call .sub1 + sound_call .sub1 + sound_call .sub3 + sound_call .sub3 + sound_call .sub8 + sound_call .sub8 note A_, 1 rest 1 note A_, 1 @@ -717,7 +715,7 @@ Music_Credits_Ch3:: rest 7 sound_ret -Music_Credits_branch_7ffa4:: +.sub1: octave 4 note E_, 2 note A_, 2 @@ -729,7 +727,7 @@ Music_Credits_branch_7ffa4:: note A_, 2 sound_ret -Music_Credits_branch_7ffae:: +.sub2: octave 4 note D_, 2 note G_, 2 @@ -741,7 +739,7 @@ Music_Credits_branch_7ffae:: note G_, 2 sound_ret -Music_Credits_branch_7ffb8:: +.sub3: note G_, 2 note B_, 2 note G_, 2 @@ -752,7 +750,7 @@ Music_Credits_branch_7ffb8:: note B_, 2 sound_ret -Music_Credits_branch_7ffc1:: +.sub4: octave 4 note A_, 2 octave 5 @@ -771,7 +769,7 @@ Music_Credits_branch_7ffc1:: note C#, 2 sound_ret -Music_Credits_branch_7ffd2:: +.sub5: note D_, 2 note A_, 2 note D_, 2 @@ -782,7 +780,7 @@ Music_Credits_branch_7ffd2:: note A_, 2 sound_ret -Music_Credits_branch_7ffdb:: +.sub6: note E_, 2 note G#, 2 note E_, 2 @@ -793,7 +791,7 @@ Music_Credits_branch_7ffdb:: note G#, 2 sound_ret -Music_Credits_branch_7ffe4:: +.sub7: note E_, 2 note B_, 2 note E_, 2 @@ -804,7 +802,7 @@ Music_Credits_branch_7ffe4:: note B_, 2 sound_ret -Music_Credits_branch_7ffed:: +.sub8: note A_, 1 rest 1 note A_, 1 diff --git a/audio/music/defeatedgymleader.asm b/audio/music/defeatedgymleader.asm index 159bf42b..6a71afcc 100644 --- a/audio/music/defeatedgymleader.asm +++ b/audio/music/defeatedgymleader.asm @@ -19,8 +19,7 @@ Music_DefeatedGymLeader_Ch1:: note A_, 8 note_type 12, 10, 7 note A_, 8 - -Music_DefeatedGymLeader_branch_23ccc:: +.mainloop: note_type 12, 11, 2 octave 3 note A_, 2 @@ -159,8 +158,7 @@ Music_DefeatedGymLeader_branch_23ccc:: note_type 12, 10, 7 note G_, 8 note E_, 8 - sound_loop 0, Music_DefeatedGymLeader_branch_23ccc - + sound_loop 0, .mainloop Music_DefeatedGymLeader_Ch2:: duty_cycle 2 @@ -180,8 +178,7 @@ Music_DefeatedGymLeader_Ch2:: note F#, 8 note_type 12, 11, 7 note F#, 8 - -Music_DefeatedGymLeader_branch_23d84:: +.mainloop: note_type 12, 12, 2 octave 4 note D_, 2 @@ -349,8 +346,7 @@ Music_DefeatedGymLeader_branch_23d84:: note B_, 1 octave 4 note C#, 1 - sound_loop 0, Music_DefeatedGymLeader_branch_23d84 - + sound_loop 0, .mainloop Music_DefeatedGymLeader_Ch3:: note_type 12, 1, 0 @@ -369,8 +365,7 @@ Music_DefeatedGymLeader_Ch3:: octave 5 note D_, 1 note F#, 8 - -Music_DefeatedGymLeader_branch_23e65:: +.mainloop: octave 4 note F#, 1 rest 1 @@ -604,4 +599,4 @@ Music_DefeatedGymLeader_branch_23e65:: note A_, 2 note G_, 2 note E_, 2 - sound_loop 0, Music_DefeatedGymLeader_branch_23e65 + sound_loop 0, .mainloop diff --git a/audio/music/defeatedtrainer.asm b/audio/music/defeatedtrainer.asm index 158d755c..a035df11 100644 --- a/audio/music/defeatedtrainer.asm +++ b/audio/music/defeatedtrainer.asm @@ -20,8 +20,7 @@ Music_DefeatedTrainer_Ch1:: note F#, 12 duty_cycle 1 tempo 224 - -Music_DefeatedTrainer_branch_23a76:: +.mainloop: note_type 4, 6, 3 octave 3 note A_, 6 @@ -92,8 +91,7 @@ Music_DefeatedTrainer_branch_23a76:: note G_, 3 note A_, 3 note B_, 3 - sound_loop 0, Music_DefeatedTrainer_branch_23a76 - + sound_loop 0, .mainloop Music_DefeatedTrainer_Ch2:: duty_cycle 2 @@ -109,8 +107,7 @@ Music_DefeatedTrainer_Ch2:: note C#, 2 note_type 4, 12, 4 note D_, 12 - -Music_DefeatedTrainer_branch_23ad2:: +.mainloop: note_type 4, 8, 5 octave 4 note D_, 6 @@ -169,8 +166,7 @@ Music_DefeatedTrainer_branch_23ad2:: note E_, 12 note_type 4, 6, 7 note E_, 12 - sound_loop 0, Music_DefeatedTrainer_branch_23ad2 - + sound_loop 0, .mainloop Music_DefeatedTrainer_Ch3:: note_type 4, 1, 0 @@ -185,8 +181,7 @@ Music_DefeatedTrainer_Ch3:: note G_, 2 note A_, 12 note_type 4, 2, 1 - -Music_DefeatedTrainer_branch_23b24:: +.mainloop: note F#, 3 rest 3 note F#, 3 @@ -263,4 +258,4 @@ Music_DefeatedTrainer_branch_23b24:: note C#, 3 octave 4 note A_, 3 - sound_loop 0, Music_DefeatedTrainer_branch_23b24 + sound_loop 0, .mainloop diff --git a/audio/music/defeatedwildmon.asm b/audio/music/defeatedwildmon.asm index 364f548e..83b1c909 100644 --- a/audio/music/defeatedwildmon.asm +++ b/audio/music/defeatedwildmon.asm @@ -13,8 +13,7 @@ Music_DefeatedWildMon_Ch1:: note G#, 1 note F#, 1 note E_, 12 - -Music_DefeatedWildMon_branch_23b8b:: +.mainloop: note_type 12, 6, 2 note E_, 2 note F#, 2 @@ -64,8 +63,7 @@ Music_DefeatedWildMon_branch_23b8b:: note A#, 2 note A#, 4 note A_, 8 - sound_loop 0, Music_DefeatedWildMon_branch_23b8b - + sound_loop 0, .mainloop Music_DefeatedWildMon_Ch2:: execute_music @@ -78,8 +76,7 @@ Music_DefeatedWildMon_Ch2:: note A_, 1 note_type 12, 12, 7 note B_, 12 - -Music_DefeatedWildMon_branch_23bce:: +.mainloop: note_type 12, 8, 2 octave 3 note B_, 2 @@ -139,8 +136,7 @@ Music_DefeatedWildMon_branch_23bce:: note D_, 2 note D_, 4 note C_, 8 - sound_loop 0, Music_DefeatedWildMon_branch_23bce - + sound_loop 0, .mainloop Music_DefeatedWildMon_Ch3:: execute_music @@ -161,8 +157,7 @@ Music_DefeatedWildMon_Ch3:: rest 3 note E_, 1 rest 3 - -Music_DefeatedWildMon_branch_23c21:: +.mainloop: octave 4 note E_, 1 rest 1 @@ -299,4 +294,4 @@ Music_DefeatedWildMon_branch_23c21:: rest 3 octave 4 note D#, 4 - sound_loop 0, Music_DefeatedWildMon_branch_23c21 + sound_loop 0, .mainloop diff --git a/audio/music/dungeon1.asm b/audio/music/dungeon1.asm index 49c6f89c..50a9ee04 100644 --- a/audio/music/dungeon1.asm +++ b/audio/music/dungeon1.asm @@ -10,14 +10,12 @@ Music_Dungeon1_Ch1:: octave 4 note F#, 8 stereo_panning %1111, %1111 - -Music_Dungeon1_branch_7dee5:: +.mainloop: note_type 12, 11, 2 octave 3 - -Music_Dungeon1_branch_7dee8:: - sound_call Music_Dungeon1_branch_7dfaa - sound_loop 3, Music_Dungeon1_branch_7dee8 +.loop1: + sound_call .sub1 + sound_loop 3, .loop1 note E_, 1 note D#, 1 note B_, 1 @@ -34,23 +32,22 @@ Music_Dungeon1_branch_7dee8:: note G#, 1 note A_, 1 note A#, 1 - -Music_Dungeon1_branch_7deff:: - sound_call Music_Dungeon1_branch_7dfaa - sound_loop 4, Music_Dungeon1_branch_7deff - sound_call Music_Dungeon1_branch_7dfd5 +.loop2: + sound_call .sub1 + sound_loop 4, .loop2 + sound_call .sub4 octave 3 note G_, 1 note F#, 1 note E_, 1 note G_, 1 - sound_call Music_Dungeon1_branch_7dfd5 + sound_call .sub4 octave 3 note A_, 1 note G_, 1 note E_, 1 note A_, 1 - sound_call Music_Dungeon1_branch_7dfd5 + sound_call .sub4 octave 3 note B_, 1 note A_, 1 @@ -62,12 +59,12 @@ Music_Dungeon1_branch_7deff:: note E_, 4 note D#, 4 note_type 12, 12, 2 - sound_call Music_Dungeon1_branch_7dfc5 + sound_call .sub3 octave 3 note B_, 3 - sound_call Music_Dungeon1_branch_7dfc5 + sound_call .sub3 note C_, 3 - sound_call Music_Dungeon1_branch_7dfc5 + sound_call .sub3 note C#, 3 note_type 12, 12, 3 octave 3 @@ -126,12 +123,11 @@ Music_Dungeon1_branch_7deff:: note A#, 1 octave 3 note C#, 1 - -Music_Dungeon1_branch_7df6e:: +.loop3: rest 16 - sound_loop 8, Music_Dungeon1_branch_7df6e + sound_loop 8, .loop3 note_type 12, 12, 3 - sound_call Music_Dungeon1_branch_7dfbb + sound_call .sub2 note B_, 2 note G_, 2 octave 3 @@ -140,7 +136,7 @@ Music_Dungeon1_branch_7df6e:: note G_, 2 note A_, 4 note F#, 2 - sound_call Music_Dungeon1_branch_7dfbb + sound_call .sub2 note A#, 2 note G_, 2 note B_, 4 @@ -149,23 +145,23 @@ Music_Dungeon1_branch_7df6e:: note G_, 2 note D#, 2 note_type 12, 12, 2 - sound_call Music_Dungeon1_branch_7dfc5 + sound_call .sub3 octave 3 note B_, 3 - sound_call Music_Dungeon1_branch_7dfc5 + sound_call .sub3 note C_, 3 - sound_call Music_Dungeon1_branch_7dfc5 + sound_call .sub3 note C#, 3 note_type 12, 12, 7 octave 3 note F#, 8 note D#, 8 note_type 12, 12, 2 - sound_call Music_Dungeon1_branch_7dfaa - sound_call Music_Dungeon1_branch_7dfaa - sound_loop 0, Music_Dungeon1_branch_7dee5 + sound_call .sub1 + sound_call .sub1 + sound_loop 0, .mainloop -Music_Dungeon1_branch_7dfaa:: +.sub1: note E_, 1 note D#, 1 note B_, 1 @@ -184,7 +180,7 @@ Music_Dungeon1_branch_7dfaa:: note A#, 1 sound_ret -Music_Dungeon1_branch_7dfbb:: +.sub2: octave 2 note G_, 2 note A#, 4 @@ -196,7 +192,7 @@ Music_Dungeon1_branch_7dfbb:: note A#, 2 sound_ret -Music_Dungeon1_branch_7dfc5:: +.sub3: octave 3 note E_, 1 note E_, 1 @@ -214,7 +210,7 @@ Music_Dungeon1_branch_7dfc5:: note C_, 1 sound_ret -Music_Dungeon1_branch_7dfd5:: +.sub4: note E_, 1 note E_, 1 rest 4 @@ -225,7 +221,6 @@ Music_Dungeon1_branch_7dfd5:: rest 1 sound_ret - Music_Dungeon1_Ch2:: vibrato 11, 1, 5 duty_cycle 3 @@ -235,13 +230,11 @@ Music_Dungeon1_Ch2:: note_type 12, 4, -5 octave 5 note D_, 8 - -Music_Dungeon1_branch_7dfeb:: +.mainloop: note_type 12, 12, 2 - -Music_Dungeon1_branch_7dfed:: - sound_call Music_Dungeon1_branch_7e097 - sound_loop 3, Music_Dungeon1_branch_7dfed +.loop1: + sound_call .sub1 + sound_loop 3, .loop1 octave 2 note E_, 1 note E_, 1 @@ -260,18 +253,17 @@ Music_Dungeon1_branch_7dfed:: note F#, 1 note G_, 1 note D#, 1 - -Music_Dungeon1_branch_7e006:: - sound_call Music_Dungeon1_branch_7e097 - sound_loop 4, Music_Dungeon1_branch_7e006 +.loop2: + sound_call .sub1 + sound_loop 4, .loop2 rest 2 - sound_call Music_Dungeon1_branch_7e0ab + sound_call .sub2 octave 3 note C_, 4 - sound_call Music_Dungeon1_branch_7e0ab + sound_call .sub2 octave 3 note C#, 4 - sound_call Music_Dungeon1_branch_7e0ab + sound_call .sub2 octave 3 note D#, 4 note_type 12, 13, 3 @@ -282,13 +274,13 @@ Music_Dungeon1_branch_7e006:: octave 3 note B_, 4 note_type 12, 13, 2 - sound_call Music_Dungeon1_branch_7e0b5 + sound_call .sub3 octave 3 note F#, 4 - sound_call Music_Dungeon1_branch_7e0b5 + sound_call .sub3 octave 3 note G_, 4 - sound_call Music_Dungeon1_branch_7e0b5 + sound_call .sub3 octave 3 note A#, 4 note_type 12, 13, 3 @@ -310,24 +302,24 @@ Music_Dungeon1_branch_7e006:: note F#, 8 note G_, 8 note_type 12, 13, 2 - sound_call Music_Dungeon1_branch_7e0ba + sound_call .sub4 rest 10 note E_, 1 rest 1 - sound_call Music_Dungeon1_branch_7e0ba + sound_call .sub4 rest 12 - sound_call Music_Dungeon1_branch_7e0ba + sound_call .sub4 rest 12 - sound_call Music_Dungeon1_branch_7e0ba + sound_call .sub4 rest 14 note_type 12, 13, 3 - sound_call Music_Dungeon1_branch_7e0cd + sound_call .sub6 note D#, 4 - sound_call Music_Dungeon1_branch_7e0cd + sound_call .sub6 note D#, 2 rest 2 note_type 12, 13, 2 - sound_call Music_Dungeon1_branch_7e0c0 + sound_call .sub5 rest 2 octave 3 note F#, 4 @@ -347,7 +339,7 @@ Music_Dungeon1_branch_7e006:: rest 2 octave 3 note G_, 4 - sound_call Music_Dungeon1_branch_7e0c0 + sound_call .sub5 octave 3 note A#, 4 note_type 12, 13, 6 @@ -355,11 +347,11 @@ Music_Dungeon1_branch_7e006:: octave 4 note D#, 8 note_type 12, 13, 2 - sound_call Music_Dungeon1_branch_7e097 - sound_call Music_Dungeon1_branch_7e097 - sound_loop 0, Music_Dungeon1_branch_7dfeb + sound_call .sub1 + sound_call .sub1 + sound_loop 0, .mainloop -Music_Dungeon1_branch_7e097:: +.sub1: octave 2 note E_, 1 note E_, 1 @@ -381,7 +373,7 @@ Music_Dungeon1_branch_7e097:: note B_, 1 sound_ret -Music_Dungeon1_branch_7e0ab:: +.sub2: octave 2 note E_, 1 note E_, 1 @@ -393,14 +385,14 @@ Music_Dungeon1_branch_7e0ab:: rest 3 sound_ret -Music_Dungeon1_branch_7e0b5:: +.sub3: octave 2 note E_, 1 note E_, 1 rest 10 sound_ret -Music_Dungeon1_branch_7e0ba:: +.sub4: octave 1 note E_, 1 note G_, 1 @@ -408,7 +400,7 @@ Music_Dungeon1_branch_7e0ba:: note D#, 1 sound_ret -Music_Dungeon1_branch_7e0c0:: +.sub5: octave 2 note E_, 1 note E_, 1 @@ -423,7 +415,7 @@ Music_Dungeon1_branch_7e0c0:: note C_, 1 sound_ret -Music_Dungeon1_branch_7e0cd:: +.sub6: octave 3 note E_, 6 note G_, 6 @@ -440,7 +432,6 @@ Music_Dungeon1_branch_7e0cd:: note F#, 6 sound_ret - Music_Dungeon1_Ch3:: note_type 12, 1, 1 vibrato 8, 2, 6 @@ -448,10 +439,9 @@ Music_Dungeon1_Ch3:: octave 4 note D_, 1 note D#, 1 - -Music_Dungeon1_branch_7e0e5:: - sound_call Music_Dungeon1_branch_7e140 - sound_call Music_Dungeon1_branch_7e140 +.mainloop: + sound_call .sub1 + sound_call .sub1 octave 5 note E_, 2 rest 4 @@ -462,10 +452,10 @@ Music_Dungeon1_branch_7e0e5:: rest 1 octave 4 note F#, 4 - sound_call Music_Dungeon1_branch_7e154 + sound_call .sub2 octave 4 note G_, 4 - sound_call Music_Dungeon1_branch_7e154 + sound_call .sub2 octave 4 note A_, 4 note B_, 4 @@ -473,7 +463,7 @@ Music_Dungeon1_branch_7e0e5:: note G_, 4 note F#, 4 rest 6 - sound_call Music_Dungeon1_branch_7e177 + sound_call .sub5 note B_, 4 note A#, 4 note G_, 4 @@ -482,36 +472,36 @@ Music_Dungeon1_branch_7e0e5:: note F#, 4 note E_, 4 note D#, 4 - sound_call Music_Dungeon1_branch_7e15e + sound_call .sub3 rest 12 - sound_call Music_Dungeon1_branch_7e15e + sound_call .sub3 rest 12 - sound_call Music_Dungeon1_branch_7e15e + sound_call .sub3 rest 10 note E_, 1 rest 1 - sound_call Music_Dungeon1_branch_7e15e + sound_call .sub3 rest 12 - sound_call Music_Dungeon1_branch_7e15e + sound_call .sub3 rest 12 - sound_call Music_Dungeon1_branch_7e15e + sound_call .sub3 rest 10 note D_, 1 note D#, 1 - sound_call Music_Dungeon1_branch_7e164 - sound_call Music_Dungeon1_branch_7e164 + sound_call .sub4 + sound_call .sub4 note E_, 2 rest 4 - sound_call Music_Dungeon1_branch_7e177 + sound_call .sub5 note B_, 8 note F#, 6 note D_, 1 note D#, 1 rest 16 rest 16 - sound_loop 0, Music_Dungeon1_branch_7e0e5 + sound_loop 0, .mainloop -Music_Dungeon1_branch_7e140:: +.sub1: octave 5 note E_, 4 note B_, 4 @@ -533,7 +523,7 @@ Music_Dungeon1_branch_7e140:: note D#, 4 sound_ret -Music_Dungeon1_branch_7e154:: +.sub2: octave 6 note E_, 1 note E_, 1 @@ -545,7 +535,7 @@ Music_Dungeon1_branch_7e154:: rest 1 sound_ret -Music_Dungeon1_branch_7e15e:: +.sub3: octave 3 note E_, 1 note G_, 1 @@ -553,7 +543,7 @@ Music_Dungeon1_branch_7e15e:: note D#, 1 sound_ret -Music_Dungeon1_branch_7e164:: +.sub4: note E_, 4 note B_, 4 note A#, 4 @@ -574,7 +564,7 @@ Music_Dungeon1_branch_7e164:: note D#, 4 sound_ret -Music_Dungeon1_branch_7e177:: +.sub5: octave 4 note E_, 1 rest 3 @@ -595,79 +585,73 @@ Music_Dungeon1_branch_7e177:: note A#, 4 sound_ret - Music_Dungeon1_Ch4:: drum_speed 12 rest 14 drum_note 12, 1 drum_note 12, 1 - -Music_Dungeon1_branch_7e190:: - sound_call Music_Dungeon1_branch_7e1f1 - sound_loop 3, Music_Dungeon1_branch_7e190 +.mainloop: +.loop1: + sound_call .sub1 + sound_loop 3, .loop1 drum_note 13, 4 drum_note 12, 4 drum_note 13, 4 drum_note 12, 2 drum_note 12, 2 - -Music_Dungeon1_branch_7e1a1:: - sound_call Music_Dungeon1_branch_7e1f1 - sound_loop 3, Music_Dungeon1_branch_7e1a1 +.loop2: + sound_call .sub1 + sound_loop 3, .loop2 drum_note 13, 4 drum_note 12, 4 drum_note 13, 4 drum_note 13, 4 - -Music_Dungeon1_branch_7e1b0:: - sound_call Music_Dungeon1_branch_7e1fa - sound_loop 3, Music_Dungeon1_branch_7e1b0 - sound_call Music_Dungeon1_branch_7e202 - -Music_Dungeon1_branch_7e1ba:: - sound_call Music_Dungeon1_branch_7e1fa - sound_loop 3, Music_Dungeon1_branch_7e1ba - sound_call Music_Dungeon1_branch_7e202 +.loop3: + sound_call .sub2 + sound_loop 3, .loop3 + sound_call .sub3 +.loop4: + sound_call .sub2 + sound_loop 3, .loop4 + sound_call .sub3 drum_note 9, 4 drum_note 10, 4 drum_note 10, 4 rest 2 drum_note 9, 2 drum_note 13, 4 - -Music_Dungeon1_branch_7e1cf:: +.loop5: rest 16 - sound_loop 13, Music_Dungeon1_branch_7e1cf + sound_loop 13, .loop5 rest 12 - -Music_Dungeon1_branch_7e1d5:: - sound_call Music_Dungeon1_branch_7e1fa - sound_loop 3, Music_Dungeon1_branch_7e1d5 +.loop6: + sound_call .sub2 + sound_loop 3, .loop6 drum_note 12, 4 drum_note 12, 4 drum_note 12, 4 rest 2 drum_note 12, 1 drum_note 12, 1 - sound_call Music_Dungeon1_branch_7e1f1 - sound_call Music_Dungeon1_branch_7e1f1 - sound_loop 0, Music_Dungeon1_branch_7e190 + sound_call .sub1 + sound_call .sub1 + sound_loop 0, .mainloop -Music_Dungeon1_branch_7e1f1:: +.sub1: drum_note 13, 4 drum_note 12, 4 drum_note 13, 4 drum_note 12, 4 sound_ret -Music_Dungeon1_branch_7e1fa:: +.sub2: drum_note 12, 1 drum_note 12, 1 rest 10 drum_note 14, 4 sound_ret -Music_Dungeon1_branch_7e202:: +.sub3: drum_note 9, 4 drum_note 10, 4 drum_note 10, 4 diff --git a/audio/music/dungeon2.asm b/audio/music/dungeon2.asm index 2167bfd7..890f9cbe 100644 --- a/audio/music/dungeon2.asm +++ b/audio/music/dungeon2.asm @@ -4,8 +4,8 @@ Music_Dungeon2_Ch1:: duty_cycle 3 toggle_perfect_pitch vibrato 10, 1, 4 - -Music_Dungeon2_branch_7e892:: +.mainloop: +.loop1: note_type 12, 11, 2 octave 4 note E_, 4 @@ -51,7 +51,7 @@ Music_Dungeon2_branch_7e892:: note G_, 2 note A_, 4 note F#, 2 - sound_loop 2, Music_Dungeon2_branch_7e892 + sound_loop 2, .loop1 note_type 12, 1, -7 octave 3 note E_, 16 @@ -67,13 +67,12 @@ Music_Dungeon2_branch_7e892:: rest 16 rest 16 rest 16 - sound_loop 0, Music_Dungeon2_branch_7e892 - + sound_loop 0, .mainloop Music_Dungeon2_Ch2:: vibrato 11, 1, 5 - -Music_Dungeon2_branch_7e8db:: +.mainloop: +.loop1: duty_cycle 3 note_type 12, 12, 2 octave 3 @@ -110,7 +109,7 @@ Music_Dungeon2_branch_7e8db:: note G_, 4 note G_, 4 note F#, 4 - sound_loop 2, Music_Dungeon2_branch_7e8db + sound_loop 2, .loop1 octave 3 note E_, 2 note G_, 2 @@ -159,16 +158,15 @@ Music_Dungeon2_branch_7e8db:: note D_, 16 note C_, 16 note D_, 16 - sound_loop 0, Music_Dungeon2_branch_7e8db - + sound_loop 0, .mainloop Music_Dungeon2_Ch3:: note_type 12, 1, 3 vibrato 8, 2, 6 - -Music_Dungeon2_branch_7e940:: - sound_call Music_Dungeon2_branch_7e9d1 - sound_loop 16, Music_Dungeon2_branch_7e940 +.mainloop: +.loop1: + sound_call .sub2 + sound_loop 16, .loop1 note E_, 4 rest 4 rest 4 @@ -186,8 +184,7 @@ Music_Dungeon2_branch_7e940:: rest 4 rest 4 note A#, 4 - -Music_Dungeon2_branch_7e958:: +.loop2: octave 5 note E_, 2 rest 2 @@ -223,7 +220,7 @@ Music_Dungeon2_branch_7e958:: rest 2 note D#, 2 rest 2 - sound_loop 3, Music_Dungeon2_branch_7e958 + sound_loop 3, .loop2 octave 4 note E_, 4 note B_, 4 @@ -259,15 +256,17 @@ Music_Dungeon2_branch_7e958:: rest 16 rest 16 rest 16 - sound_call Music_Dungeon2_branch_7e9d1 - sound_call Music_Dungeon2_branch_7e9d1 - sound_call Music_Dungeon2_branch_7e9d1 - sound_call Music_Dungeon2_branch_7e9d1 - sound_call Music_Dungeon2_branch_7e9d1 - sound_call Music_Dungeon2_branch_7e9d1 - sound_call Music_Dungeon2_branch_7e9d1 - sound_call Music_Dungeon2_branch_7e9d1 - sound_loop 0, Music_Dungeon2_branch_7e940 + sound_call .sub2 + sound_call .sub2 + sound_call .sub2 + sound_call .sub2 + sound_call .sub2 + sound_call .sub2 + sound_call .sub2 + sound_call .sub2 + sound_loop 0, .mainloop + +.sub1: ; unreferenced octave 2 note G_, 2 note A#, 4 @@ -288,7 +287,7 @@ Music_Dungeon2_branch_7e958:: rest 2 sound_ret -Music_Dungeon2_branch_7e9d1:: +.sub2: octave 4 note E_, 2 rest 4 @@ -301,11 +300,9 @@ Music_Dungeon2_branch_7e9d1:: note F#, 4 sound_ret - Music_Dungeon2_Ch4:: drum_speed 12 - -Music_Dungeon2_branch_7e9dd:: +.mainloop: drum_note 12, 4 drum_note 13, 4 drum_note 12, 4 @@ -314,4 +311,4 @@ Music_Dungeon2_branch_7e9dd:: drum_note 13, 4 drum_note 11, 4 drum_note 9, 4 - sound_loop 0, Music_Dungeon2_branch_7e9dd + sound_loop 0, .mainloop diff --git a/audio/music/dungeon3.asm b/audio/music/dungeon3.asm index 81b2ead8..881bc82a 100644 --- a/audio/music/dungeon3.asm +++ b/audio/music/dungeon3.asm @@ -4,13 +4,11 @@ Music_Dungeon3_Ch1:: duty_cycle 3 toggle_perfect_pitch vibrato 8, 1, 4 - -Music_Dungeon3_branch_7e9fc:: +.mainloop: note_type 12, 12, 3 - -Music_Dungeon3_branch_7e9fe:: - sound_call Music_Dungeon3_branch_7eab2 - sound_loop 3, Music_Dungeon3_branch_7e9fe +.loop1: + sound_call .sub1 + sound_loop 3, .loop1 octave 2 note B_, 2 octave 3 @@ -23,14 +21,12 @@ Music_Dungeon3_branch_7e9fe:: note G_, 2 note D#, 2 note E_, 2 - -Music_Dungeon3_branch_7ea11:: - sound_call Music_Dungeon3_branch_7eac1 - sound_loop 4, Music_Dungeon3_branch_7ea11 - -Music_Dungeon3_branch_7ea18:: - sound_call Music_Dungeon3_branch_7eab2 - sound_loop 4, Music_Dungeon3_branch_7ea18 +.loop2: + sound_call .sub2 + sound_loop 4, .loop2 +.loop3: + sound_call .sub1 + sound_loop 4, .loop3 octave 4 note F_, 2 note F_, 2 @@ -44,7 +40,7 @@ Music_Dungeon3_branch_7ea18:: note D#, 2 note D_, 2 note D_, 2 - sound_call Music_Dungeon3_branch_7eafc + sound_call .sub7 octave 4 note D_, 2 note D_, 2 @@ -58,14 +54,12 @@ Music_Dungeon3_branch_7ea18:: note E_, 2 note F_, 2 note F_, 2 - -Music_Dungeon3_branch_7ea3c:: - sound_call Music_Dungeon3_branch_7eace - sound_loop 4, Music_Dungeon3_branch_7ea3c - -Music_Dungeon3_branch_7ea43:: - sound_call Music_Dungeon3_branch_7eadd - sound_loop 3, Music_Dungeon3_branch_7ea43 +.loop4: + sound_call .sub3 + sound_loop 4, .loop4 +.loop5: + sound_call .sub4 + sound_loop 3, .loop5 octave 3 note C#, 2 octave 2 @@ -130,8 +124,8 @@ Music_Dungeon3_branch_7ea43:: note E_, 2 octave 4 note C_, 2 - sound_call Music_Dungeon3_branch_7eaea - sound_call Music_Dungeon3_branch_7eaea + sound_call .sub5 + sound_call .sub5 octave 3 note G#, 2 note E_, 2 @@ -147,16 +141,16 @@ Music_Dungeon3_branch_7ea43:: note E_, 2 rest 16 rest 8 - sound_call Music_Dungeon3_branch_7eaf7 - sound_call Music_Dungeon3_branch_7eaf7 - sound_call Music_Dungeon3_branch_7eaf7 - sound_call Music_Dungeon3_branch_7eaf7 + sound_call .sub6 + sound_call .sub6 + sound_call .sub6 + sound_call .sub6 note D#, 2 rest 16 rest 16 - sound_loop 0, Music_Dungeon3_branch_7e9fc + sound_loop 0, .mainloop -Music_Dungeon3_branch_7eab2:: +.sub1: octave 2 note B_, 2 octave 3 @@ -173,7 +167,7 @@ Music_Dungeon3_branch_7eab2:: note D#, 2 sound_ret -Music_Dungeon3_branch_7eac1:: +.sub2: note E_, 2 note G#, 2 octave 4 @@ -188,7 +182,7 @@ Music_Dungeon3_branch_7eac1:: note G#, 2 sound_ret -Music_Dungeon3_branch_7eace:: +.sub3: octave 3 note D#, 2 octave 2 @@ -205,7 +199,7 @@ Music_Dungeon3_branch_7eace:: note B_, 2 sound_ret -Music_Dungeon3_branch_7eadd:: +.sub4: note A_, 2 note F_, 2 octave 3 @@ -220,7 +214,7 @@ Music_Dungeon3_branch_7eadd:: note F_, 2 sound_ret -Music_Dungeon3_branch_7eaea:: +.sub5: octave 3 note G#, 2 note E_, 2 @@ -235,14 +229,14 @@ Music_Dungeon3_branch_7eaea:: note C_, 2 sound_ret -Music_Dungeon3_branch_7eaf7:: +.sub6: note D#, 2 note G_, 2 note D#, 2 note C#, 6 sound_ret -Music_Dungeon3_branch_7eafc:: +.sub7: tempo 168 octave 1 note A#, 1 @@ -334,12 +328,10 @@ Music_Dungeon3_branch_7eafc:: tempo 160 sound_ret - Music_Dungeon3_Ch2:: vibrato 11, 1, 5 duty_cycle 3 - -Music_Dungeon3_branch_7eb6d:: +.mainloop: note_type 12, 13, 3 octave 4 note D#, 6 @@ -604,10 +596,10 @@ Music_Dungeon3_branch_7eb6d:: note B_, 2 octave 3 note D#, 2 - sound_loop 0, Music_Dungeon3_branch_7eb6d - + sound_loop 0, .mainloop Music_Dungeon3_Ch3:: +.mainloop: note_type 12, 1, 2 rest 16 rest 16 @@ -707,8 +699,7 @@ Music_Dungeon3_Ch3:: rest 16 rest 16 rest 10 - sound_loop 0, Music_Dungeon3_Ch3 - + sound_loop 0, .mainloop Music_Dungeon3_Ch4:: drum_speed 12 diff --git a/audio/music/finalbattle.asm b/audio/music/finalbattle.asm index 6dec6bbb..032c129e 100644 --- a/audio/music/finalbattle.asm +++ b/audio/music/finalbattle.asm @@ -103,8 +103,7 @@ Music_FinalBattle_Ch1:: note G#, 3 note_type 12, 11, 7 note D#, 4 - -Music_FinalBattle_branch_23429:: +.mainloop: note_type 12, 11, 7 octave 3 note E_, 4 @@ -331,8 +330,8 @@ Music_FinalBattle_branch_23429:: octave 4 note C#, 12 note_type 12, 4, 0 - sound_call Music_FinalBattle_branch_23710 - sound_call Music_FinalBattle_branch_23710 + sound_call Music_FinalBattle_Ch2.sub2 + sound_call Music_FinalBattle_Ch2.sub2 note_type 12, 11, 7 octave 3 note E_, 4 @@ -378,8 +377,7 @@ Music_FinalBattle_branch_23429:: note E_, 8 note_type 12, 11, 7 note E_, 8 - sound_loop 0, Music_FinalBattle_branch_23429 - + sound_loop 0, .mainloop Music_FinalBattle_Ch2:: duty_cycle 3 @@ -464,13 +462,13 @@ Music_FinalBattle_Ch2:: note E_, 3 note_type 12, 12, 2 note D#, 4 - sound_call Music_FinalBattle_branch_23704 - sound_call Music_FinalBattle_branch_23704 - sound_call Music_FinalBattle_branch_23704 - sound_call Music_FinalBattle_branch_23704 - sound_call Music_FinalBattle_branch_23704 - sound_call Music_FinalBattle_branch_23704 - sound_call Music_FinalBattle_branch_23704 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 note_type 12, 12, 1 octave 4 note E_, 1 @@ -478,8 +476,7 @@ Music_FinalBattle_Ch2:: note_type 12, 4, -2 octave 3 note G#, 4 - -Music_FinalBattle_branch_235e6:: +.mainloop: note_type 12, 13, 7 octave 4 note E_, 8 @@ -671,9 +668,9 @@ Music_FinalBattle_branch_235e6:: note_type 12, 12, 7 note A_, 8 note_type 12, 12, 5 - sound_call Music_FinalBattle_branch_23710 + sound_call .sub2 note_type 12, 11, 1 - sound_call Music_FinalBattle_branch_23710 + sound_call .sub2 note_type 12, 13, 7 octave 4 note E_, 8 @@ -707,9 +704,9 @@ Music_FinalBattle_branch_235e6:: note E_, 8 note A#, 4 note B_, 12 - sound_loop 0, Music_FinalBattle_branch_235e6 + sound_loop 0, .mainloop -Music_FinalBattle_branch_23704:: +.sub1: octave 4 note E_, 1 note E_, 1 @@ -723,7 +720,7 @@ Music_FinalBattle_branch_23704:: note F_, 1 sound_ret -Music_FinalBattle_branch_23710:: +.sub2: octave 4 note D_, 2 note C#, 2 @@ -737,7 +734,6 @@ Music_FinalBattle_branch_23710:: note D_, 2 sound_ret - Music_FinalBattle_Ch3:: note_type 12, 1, 1 octave 4 @@ -835,8 +831,7 @@ Music_FinalBattle_Ch3:: note D#, 1 note E_, 1 note G_, 1 - -Music_FinalBattle_branch_2377d:: +.mainloop: octave 4 note E_, 1 octave 3 @@ -1081,8 +1076,8 @@ Music_FinalBattle_branch_2377d:: note C#, 2 note E_, 2 note C#, 2 - sound_call Music_FinalBattle_branch_2395b - sound_call Music_FinalBattle_branch_2395b + sound_call .sub1 + sound_call .sub1 octave 4 note G_, 2 octave 5 @@ -1116,8 +1111,8 @@ Music_FinalBattle_branch_2377d:: note F#, 1 note G_, 1 note G#, 1 - sound_call Music_FinalBattle_branch_2396c - sound_call Music_FinalBattle_branch_2396c + sound_call .sub2 + sound_call .sub2 octave 4 note A#, 2 octave 5 @@ -1303,9 +1298,9 @@ Music_FinalBattle_branch_2377d:: note E_, 2 note A_, 2 note B_, 4 - sound_loop 0, Music_FinalBattle_branch_2377d + sound_loop 0, .mainloop -Music_FinalBattle_branch_2395b:: +.sub1: octave 4 note F#, 2 octave 5 @@ -1324,7 +1319,7 @@ Music_FinalBattle_branch_2395b:: note C#, 2 sound_ret -Music_FinalBattle_branch_2396c:: +.sub2: octave 4 note A_, 2 octave 5 diff --git a/audio/music/gamecorner.asm b/audio/music/gamecorner.asm index f152d180..c0f8fc83 100644 --- a/audio/music/gamecorner.asm +++ b/audio/music/gamecorner.asm @@ -14,8 +14,7 @@ Music_GameCorner_Ch1:: note D#, 2 note C#, 2 note D#, 16 - -Music_GameCorner_branch_7e222:: +.mainloop: note_type 12, 11, 5 octave 3 note C#, 4 @@ -180,8 +179,7 @@ Music_GameCorner_branch_7e222:: note G#, 1 note G_, 1 note G#, 8 - sound_loop 0, Music_GameCorner_branch_7e222 - + sound_loop 0, .mainloop Music_GameCorner_Ch2:: duty_cycle 2 @@ -205,8 +203,7 @@ Music_GameCorner_Ch2:: note B_, 1 note A#, 1 note B_, 8 - -Music_GameCorner_branch_7e2fa:: +.mainloop: duty_cycle 2 note_type 12, 12, 7 octave 3 @@ -340,8 +337,7 @@ Music_GameCorner_branch_7e2fa:: note A_, 4 note F#, 4 note B_, 16 - sound_loop 0, Music_GameCorner_branch_7e2fa - + sound_loop 0, .mainloop Music_GameCorner_Ch3:: note_type 12, 1, 3 @@ -369,15 +365,14 @@ Music_GameCorner_Ch3:: rest 1 note D#, 1 rest 1 - -Music_GameCorner_branch_7e3a5:: - sound_call Music_GameCorner_branch_7e418 - sound_call Music_GameCorner_branch_7e42d - sound_call Music_GameCorner_branch_7e442 - sound_call Music_GameCorner_branch_7e457 - sound_call Music_GameCorner_branch_7e46c - sound_call Music_GameCorner_branch_7e481 - sound_call Music_GameCorner_branch_7e496 +.mainloop: + sound_call .sub1 + sound_call .sub2 + sound_call .sub3 + sound_call .sub4 + sound_call .sub5 + sound_call .sub6 + sound_call .sub7 note D#, 1 rest 1 note A_, 1 @@ -396,13 +391,13 @@ Music_GameCorner_branch_7e3a5:: rest 1 note F#, 1 rest 1 - sound_call Music_GameCorner_branch_7e418 - sound_call Music_GameCorner_branch_7e42d - sound_call Music_GameCorner_branch_7e442 - sound_call Music_GameCorner_branch_7e457 - sound_call Music_GameCorner_branch_7e46c - sound_call Music_GameCorner_branch_7e481 - sound_call Music_GameCorner_branch_7e496 + sound_call .sub1 + sound_call .sub2 + sound_call .sub3 + sound_call .sub4 + sound_call .sub5 + sound_call .sub6 + sound_call .sub7 note E_, 1 rest 3 octave 3 @@ -415,9 +410,9 @@ Music_GameCorner_branch_7e3a5:: rest 3 note B_, 1 rest 1 - sound_call Music_GameCorner_branch_7e46c - sound_call Music_GameCorner_branch_7e418 - sound_call Music_GameCorner_branch_7e4ab + sound_call .sub5 + sound_call .sub1 + sound_call .sub8 note E_, 1 rest 1 note G#, 1 @@ -436,13 +431,13 @@ Music_GameCorner_branch_7e3a5:: rest 1 note E_, 1 rest 1 - sound_call Music_GameCorner_branch_7e46c - sound_call Music_GameCorner_branch_7e418 - sound_call Music_GameCorner_branch_7e4ab - sound_call Music_GameCorner_branch_7e42d - sound_loop 0, Music_GameCorner_branch_7e3a5 + sound_call .sub5 + sound_call .sub1 + sound_call .sub8 + sound_call .sub2 + sound_loop 0, .mainloop -Music_GameCorner_branch_7e418:: +.sub1: note E_, 1 rest 1 note G#, 1 @@ -465,7 +460,7 @@ Music_GameCorner_branch_7e418:: rest 1 sound_ret -Music_GameCorner_branch_7e42d:: +.sub2: note E_, 1 rest 1 note G#, 1 @@ -488,7 +483,7 @@ Music_GameCorner_branch_7e42d:: rest 1 sound_ret -Music_GameCorner_branch_7e442:: +.sub3: note E_, 1 rest 1 note B_, 1 @@ -511,7 +506,7 @@ Music_GameCorner_branch_7e442:: rest 1 sound_ret -Music_GameCorner_branch_7e457:: +.sub4: note D#, 1 rest 1 note A_, 1 @@ -534,7 +529,7 @@ Music_GameCorner_branch_7e457:: rest 1 sound_ret -Music_GameCorner_branch_7e46c:: +.sub5: note D#, 1 rest 1 note F#, 1 @@ -557,7 +552,7 @@ Music_GameCorner_branch_7e46c:: rest 1 sound_ret -Music_GameCorner_branch_7e481:: +.sub6: note D#, 1 rest 1 note F#, 1 @@ -580,7 +575,7 @@ Music_GameCorner_branch_7e481:: rest 1 sound_ret -Music_GameCorner_branch_7e496:: +.sub7: note F#, 1 rest 1 note B_, 1 @@ -603,7 +598,7 @@ Music_GameCorner_branch_7e496:: rest 1 sound_ret -Music_GameCorner_branch_7e4ab:: +.sub8: note F#, 1 rest 1 note A_, 1 diff --git a/audio/music/gym.asm b/audio/music/gym.asm index 1ffc4930..da6a5bab 100644 --- a/audio/music/gym.asm +++ b/audio/music/gym.asm @@ -21,8 +21,7 @@ Music_Gym_Ch1:: note E_, 1 note F_, 4 note G_, 4 - -Music_Gym_branch_bcd8:: +.mainloop: note E_, 4 note F_, 2 note G_, 2 @@ -162,8 +161,7 @@ Music_Gym_branch_bcd8:: note A_, 2 note G_, 2 note A_, 2 - sound_loop 0, Music_Gym_branch_bcd8 - + sound_loop 0, .mainloop Music_Gym_Ch2:: duty_cycle 3 @@ -183,8 +181,7 @@ Music_Gym_Ch2:: note A_, 12 note_type 12, 12, 7 note B_, 4 - -Music_Gym_branch_bd82:: +.mainloop: octave 4 note C_, 12 octave 3 @@ -285,8 +282,7 @@ Music_Gym_branch_bd82:: note C_, 1 note D_, 1 note E_, 12 - sound_loop 0, Music_Gym_branch_bd82 - + sound_loop 0, .mainloop Music_Gym_Ch3:: note_type 12, 1, 1 @@ -296,23 +292,22 @@ Music_Gym_Ch3:: note G_, 2 note F_, 2 note D_, 2 - -Music_Gym_branch_be02:: - sound_call Music_Gym_branch_be3b - sound_call Music_Gym_branch_be44 - sound_call Music_Gym_branch_be3b - sound_call Music_Gym_branch_be44 - sound_call Music_Gym_branch_be3b - sound_call Music_Gym_branch_be44 - sound_call Music_Gym_branch_be3b - sound_call Music_Gym_branch_be44 - sound_call Music_Gym_branch_be3b - sound_call Music_Gym_branch_be4d - sound_call Music_Gym_branch_be3b - sound_call Music_Gym_branch_be4d - sound_call Music_Gym_branch_be3b - sound_call Music_Gym_branch_be4d - sound_call Music_Gym_branch_be3b +.mainloop: + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 + sound_call .sub3 + sound_call .sub1 + sound_call .sub3 + sound_call .sub1 + sound_call .sub3 + sound_call .sub1 note F_, 2 note A#, 2 note F_, 2 @@ -321,9 +316,9 @@ Music_Gym_branch_be02:: note A#, 2 note A_, 2 note F_, 2 - sound_loop 0, Music_Gym_branch_be02 + sound_loop 0, .mainloop -Music_Gym_branch_be3b:: +.sub1: note E_, 2 note G_, 2 note E_, 2 @@ -334,7 +329,7 @@ Music_Gym_branch_be3b:: note G_, 2 sound_ret -Music_Gym_branch_be44:: +.sub2: note D_, 2 note F_, 2 note D_, 2 @@ -345,7 +340,7 @@ Music_Gym_branch_be44:: note F_, 2 sound_ret -Music_Gym_branch_be4d:: +.sub3: note F_, 2 note A#, 2 note F_, 2 diff --git a/audio/music/gymleaderbattle.asm b/audio/music/gymleaderbattle.asm index 5befd665..1d7dae9a 100644 --- a/audio/music/gymleaderbattle.asm +++ b/audio/music/gymleaderbattle.asm @@ -56,8 +56,7 @@ Music_GymLeaderBattle_Ch1:: note F#, 1 rest 9 note A_, 6 - -Music_GymLeaderBattle_branch_223b0:: +.mainloop: note F#, 1 octave 3 note C#, 1 @@ -544,8 +543,7 @@ Music_GymLeaderBattle_branch_223b0:: note A_, 2 note G#, 4 note E_, 6 - sound_loop 0, Music_GymLeaderBattle_branch_223b0 - + sound_loop 0, .mainloop Music_GymLeaderBattle_Ch2:: duty_cycle 3 @@ -607,8 +605,7 @@ Music_GymLeaderBattle_Ch2:: rest 9 octave 4 note C#, 6 - -Music_GymLeaderBattle_branch_225e0:: +.mainloop: note_type 12, 12, 5 note D#, 4 note C#, 4 @@ -845,8 +842,7 @@ Music_GymLeaderBattle_branch_225e0:: note_type 12, 12, 3 octave 4 note A_, 6 - sound_loop 0, Music_GymLeaderBattle_branch_225e0 - + sound_loop 0, .mainloop Music_GymLeaderBattle_Ch3:: vibrato 0, 2, 0 @@ -1039,8 +1035,7 @@ Music_GymLeaderBattle_Ch3:: octave 4 note C#, 6 note_type 12, 1, 4 - -Music_GymLeaderBattle_branch_227b1:: +.mainloop: octave 3 note B_, 2 octave 4 @@ -1397,4 +1392,4 @@ Music_GymLeaderBattle_branch_227b1:: note B_, 2 octave 4 note G_, 6 - sound_loop 0, Music_GymLeaderBattle_branch_227b1 + sound_loop 0, .mainloop diff --git a/audio/music/halloffame.asm b/audio/music/halloffame.asm index 80dafaa6..f568b2e2 100644 --- a/audio/music/halloffame.asm +++ b/audio/music/halloffame.asm @@ -14,8 +14,8 @@ Music_HallOfFame_Ch1:: note E_, 1 note F_, 1 note F#, 1 - -Music_HallOfFame_branch_7fbc5:: +.mainloop: +.loop1: note_type 12, 8, 0 octave 4 note C_, 16 @@ -23,19 +23,17 @@ Music_HallOfFame_branch_7fbc5:: note F#, 16 note_type 12, 6, 0 note F_, 16 - sound_loop 3, Music_HallOfFame_branch_7fbc5 + sound_loop 3, .loop1 rest 16 rest 16 rest 16 rest 16 - sound_loop 0, Music_HallOfFame_branch_7fbc5 - + sound_loop 0, .mainloop Music_HallOfFame_Ch2:: vibrato 8, 2, 5 duty_cycle 3 - -Music_HallOfFame_branch_7fbdf:: +.mainloop: note_type 12, 12, 4 octave 3 note G_, 2 @@ -60,13 +58,12 @@ Music_HallOfFame_branch_7fbdf:: note A#, 4 note A_, 4 note F_, 2 - sound_loop 0, Music_HallOfFame_branch_7fbdf - + sound_loop 0, .mainloop Music_HallOfFame_Ch3:: +.mainloop: note_type 12, 1, 2 - -Music_HallOfFame_branch_7fbfe:: +.loop1: octave 4 note D_, 2 note G_, 2 @@ -76,7 +73,7 @@ Music_HallOfFame_branch_7fbfe:: note G_, 2 note D_, 2 note G_, 2 - sound_loop 12, Music_HallOfFame_branch_7fbfe + sound_loop 12, .loop1 note D_, 4 note G_, 4 note D_, 4 @@ -93,4 +90,4 @@ Music_HallOfFame_branch_7fbfe:: note G_, 4 note E_, 4 note G_, 4 - sound_loop 0, Music_HallOfFame_Ch3 + sound_loop 0, .mainloop diff --git a/audio/music/indigoplateau.asm b/audio/music/indigoplateau.asm index cc3c2cef..c93fd859 100644 --- a/audio/music/indigoplateau.asm +++ b/audio/music/indigoplateau.asm @@ -12,25 +12,24 @@ Music_IndigoPlateau_Ch1:: note A_, 4 note_type 12, 10, 4 note A#, 4 - -Music_IndigoPlateau_branch_a605:: - sound_call Music_IndigoPlateau_branch_a659 +.mainloop: + sound_call .sub1 note_type 12, 11, 4 octave 3 note D_, 4 - sound_call Music_IndigoPlateau_branch_a659 + sound_call .sub1 note_type 12, 11, 4 octave 3 note D#, 4 - sound_call Music_IndigoPlateau_branch_a659 + sound_call .sub1 note_type 12, 11, 4 octave 3 note D_, 4 - sound_call Music_IndigoPlateau_branch_a659 + sound_call .sub1 note_type 12, 10, 0 octave 2 note A#, 4 - sound_call Music_IndigoPlateau_branch_a659 + sound_call .sub1 note_type 12, 11, 4 octave 3 note D_, 4 @@ -71,9 +70,9 @@ Music_IndigoPlateau_branch_a605:: note_type 12, 4, -6 octave 2 note A#, 8 - sound_loop 0, Music_IndigoPlateau_branch_a605 + sound_loop 0, .mainloop -Music_IndigoPlateau_branch_a659:: +.sub1: note_type 12, 11, 2 octave 2 note A_, 4 @@ -85,7 +84,6 @@ Music_IndigoPlateau_branch_a659:: note A_, 4 sound_ret - Music_IndigoPlateau_Ch2:: duty_cycle 3 vibrato 8, 2, 5 @@ -97,27 +95,26 @@ Music_IndigoPlateau_Ch2:: note D_, 4 note_type 12, 5, -2 note D#, 4 - -Music_IndigoPlateau_branch_a673:: - sound_call Music_IndigoPlateau_branch_a6af +.mainloop: + sound_call .sub1 note_type 12, 12, 5 note A_, 4 - sound_call Music_IndigoPlateau_branch_a6af + sound_call .sub1 note_type 12, 12, 5 note A#, 4 - sound_call Music_IndigoPlateau_branch_a6af + sound_call .sub1 note_type 12, 12, 5 note A_, 4 - sound_call Music_IndigoPlateau_branch_a6af + sound_call .sub1 note_type 12, 12, 7 note C#, 4 - sound_call Music_IndigoPlateau_branch_a6af + sound_call .sub1 note_type 12, 12, 5 note A_, 4 - sound_call Music_IndigoPlateau_branch_a6af + sound_call .sub1 note_type 12, 12, 5 note A#, 4 - sound_call Music_IndigoPlateau_branch_a6af + sound_call .sub1 note_type 12, 12, 5 octave 4 note C_, 2 @@ -132,9 +129,9 @@ Music_IndigoPlateau_branch_a673:: note_type 12, 4, -5 octave 4 note D#, 8 - sound_loop 0, Music_IndigoPlateau_branch_a673 + sound_loop 0, .mainloop -Music_IndigoPlateau_branch_a6af:: +.sub1: note_type 12, 12, 2 octave 3 note D_, 4 @@ -146,7 +143,6 @@ Music_IndigoPlateau_branch_a6af:: note D_, 4 sound_ret - Music_IndigoPlateau_Ch3:: note_type 12, 1, 0 octave 4 @@ -159,11 +155,10 @@ Music_IndigoPlateau_Ch3:: note D_, 2 rest 2 note D#, 4 - -Music_IndigoPlateau_branch_a6c6:: - sound_call Music_IndigoPlateau_branch_a6fe - sound_call Music_IndigoPlateau_branch_a6fe - sound_call Music_IndigoPlateau_branch_a6fe +.mainloop: + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 note D_, 2 rest 2 note D_, 2 @@ -179,8 +174,8 @@ Music_IndigoPlateau_branch_a6c6:: note D_, 2 rest 2 note F#, 4 - sound_call Music_IndigoPlateau_branch_a6fe - sound_call Music_IndigoPlateau_branch_a6fe + sound_call .sub1 + sound_call .sub1 note D_, 2 rest 2 note D_, 2 @@ -203,9 +198,9 @@ Music_IndigoPlateau_branch_a6c6:: note D_, 8 note A#, 8 note D#, 8 - sound_loop 0, Music_IndigoPlateau_branch_a6c6 + sound_loop 0, .mainloop -Music_IndigoPlateau_branch_a6fe:: +.sub1: octave 4 note D_, 2 rest 2 @@ -224,7 +219,6 @@ Music_IndigoPlateau_branch_a6fe:: note A_, 4 sound_ret - Music_IndigoPlateau_Ch4:: drum_speed 6 drum_note 17, 16 @@ -239,22 +233,21 @@ Music_IndigoPlateau_Ch4:: drum_note 18, 1 drum_note 18, 1 drum_note 18, 1 - -Music_IndigoPlateau_branch_a728:: - sound_call Music_IndigoPlateau_branch_a791 - sound_call Music_IndigoPlateau_branch_a77e - sound_call Music_IndigoPlateau_branch_a791 - sound_call Music_IndigoPlateau_branch_a7a8 - sound_call Music_IndigoPlateau_branch_a791 - sound_call Music_IndigoPlateau_branch_a77e - sound_call Music_IndigoPlateau_branch_a791 - sound_call Music_IndigoPlateau_branch_a7a8 - sound_call Music_IndigoPlateau_branch_a791 - sound_call Music_IndigoPlateau_branch_a77e - sound_call Music_IndigoPlateau_branch_a791 - sound_call Music_IndigoPlateau_branch_a7a8 - sound_call Music_IndigoPlateau_branch_a77e - sound_call Music_IndigoPlateau_branch_a7a8 +.mainloop: + sound_call .sub2 + sound_call .sub1 + sound_call .sub2 + sound_call .sub3 + sound_call .sub2 + sound_call .sub1 + sound_call .sub2 + sound_call .sub3 + sound_call .sub2 + sound_call .sub1 + sound_call .sub2 + sound_call .sub3 + sound_call .sub1 + sound_call .sub3 drum_note 17, 16 drum_note 17, 8 drum_note 18, 8 @@ -275,9 +268,9 @@ Music_IndigoPlateau_branch_a728:: drum_note 17, 1 drum_note 17, 1 drum_note 17, 1 - sound_loop 0, Music_IndigoPlateau_branch_a728 + sound_loop 0, .mainloop -Music_IndigoPlateau_branch_a77e:: +.sub1: drum_note 17, 4 drum_note 18, 4 drum_note 19, 4 @@ -289,7 +282,7 @@ Music_IndigoPlateau_branch_a77e:: drum_note 18, 2 sound_ret -Music_IndigoPlateau_branch_a791:: +.sub2: drum_note 17, 4 drum_note 18, 4 drum_note 19, 4 @@ -303,7 +296,7 @@ Music_IndigoPlateau_branch_a791:: drum_note 18, 1 sound_ret -Music_IndigoPlateau_branch_a7a8:: +.sub3: drum_note 17, 4 drum_note 18, 4 drum_note 17, 4 diff --git a/audio/music/introbattle.asm b/audio/music/introbattle.asm index 681631f6..0bd844eb 100644 --- a/audio/music/introbattle.asm +++ b/audio/music/introbattle.asm @@ -89,7 +89,6 @@ Music_IntroBattle_Ch1:: note D_, 16 sound_ret - Music_IntroBattle_Ch2:: duty_cycle 3 vibrato 8, 2, 5 @@ -164,7 +163,6 @@ Music_IntroBattle_Ch2:: note D_, 16 sound_ret - Music_IntroBattle_Ch3:: note_type 12, 1, 0 rest 8 @@ -228,7 +226,6 @@ Music_IntroBattle_Ch3:: rest 15 sound_ret - Music_IntroBattle_Ch4:: drum_speed 6 drum_note 19, 1 diff --git a/audio/music/jigglypuffsong.asm b/audio/music/jigglypuffsong.asm index d8995fbd..bd6a9771 100644 --- a/audio/music/jigglypuffsong.asm +++ b/audio/music/jigglypuffsong.asm @@ -20,7 +20,6 @@ Music_JigglypuffSong_Ch1:: note E_, 10 sound_ret - Music_JigglypuffSong_Ch2:: vibrato 5, 1, 5 duty_cycle 2 diff --git a/audio/music/lavender.asm b/audio/music/lavender.asm index 70fff2e5..5822ff3e 100644 --- a/audio/music/lavender.asm +++ b/audio/music/lavender.asm @@ -10,8 +10,7 @@ Music_Lavender_Ch1:: rest 16 rest 16 note_type 12, 10, 7 - -Music_Lavender_branch_bb6b:: +.mainloop: octave 3 note G_, 8 note G_, 8 @@ -59,22 +58,19 @@ Music_Lavender_branch_bb6b:: rest 16 rest 16 rest 16 - sound_loop 0, Music_Lavender_branch_bb6b - + sound_loop 0, .mainloop Music_Lavender_Ch2:: vibrato 0, 3, 4 duty_cycle 3 note_type 12, 9, 1 - -Music_Lavender_branch_bba5:: +.mainloop: octave 5 note C_, 4 note G_, 4 note B_, 4 note F#, 4 - sound_loop 0, Music_Lavender_branch_bba5 - + sound_loop 0, .mainloop Music_Lavender_Ch3:: vibrato 4, 1, 1 @@ -84,8 +80,7 @@ Music_Lavender_Ch3:: rest 16 rest 16 note_type 12, 2, 5 - -Music_Lavender_branch_bbb9:: +.mainloop: octave 4 note E_, 16 note D_, 16 @@ -183,8 +178,7 @@ Music_Lavender_branch_bbb9:: note G_, 4 note F#, 4 note B_, 4 - sound_loop 0, Music_Lavender_branch_bbb9 - + sound_loop 0, .mainloop Music_Lavender_Ch4:: drum_speed 12 @@ -192,8 +186,7 @@ Music_Lavender_Ch4:: rest 16 rest 16 rest 16 - -Music_Lavender_branch_bc26:: +.mainloop: drum_note 7, 8 drum_note 7, 8 - sound_loop 0, Music_Lavender_branch_bc26 + sound_loop 0, .mainloop diff --git a/audio/music/meeteviltrainer.asm b/audio/music/meeteviltrainer.asm index eb7b5944..3e465720 100644 --- a/audio/music/meeteviltrainer.asm +++ b/audio/music/meeteviltrainer.asm @@ -10,16 +10,14 @@ Music_MeetEvilTrainer_Ch1:: note C#, 2 note_type 12, 4, -7 note D_, 4 - -Music_MeetEvilTrainer_branch_7f6ae:: +.mainloop: note_type 12, 10, 1 note D_, 4 note D_, 4 note D_, 4 note_type 12, 7, 0 note D_, 4 - sound_loop 0, Music_MeetEvilTrainer_branch_7f6ae - + sound_loop 0, .mainloop Music_MeetEvilTrainer_Ch2:: duty_cycle 1 @@ -28,8 +26,7 @@ Music_MeetEvilTrainer_Ch2:: note B_, 2 note A#, 2 note B_, 8 - -Music_MeetEvilTrainer_branch_7f6c2:: +.mainloop: note_type 12, 12, 2 octave 4 note D#, 2 @@ -57,8 +54,7 @@ Music_MeetEvilTrainer_branch_7f6c2:: note_type 12, 3, -7 note A#, 4 note_type 12, 12, 2 - sound_loop 0, Music_MeetEvilTrainer_branch_7f6c2 - + sound_loop 0, .mainloop Music_MeetEvilTrainer_Ch3:: note_type 12, 1, 0 @@ -68,8 +64,7 @@ Music_MeetEvilTrainer_Ch3:: rest 1 note F_, 1 rest 1 - -Music_MeetEvilTrainer_branch_7f6ee:: +.mainloop: note F#, 1 rest 3 note F#, 1 @@ -77,4 +72,4 @@ Music_MeetEvilTrainer_branch_7f6ee:: note F#, 1 rest 3 note A#, 4 - sound_loop 0, Music_MeetEvilTrainer_branch_7f6ee + sound_loop 0, .mainloop diff --git a/audio/music/meetfemaletrainer.asm b/audio/music/meetfemaletrainer.asm index c76483e5..876c3441 100644 --- a/audio/music/meetfemaletrainer.asm +++ b/audio/music/meetfemaletrainer.asm @@ -12,19 +12,18 @@ Music_MeetFemaleTrainer_Ch1:: note C#, 2 note C_, 2 note_type 12, 8, 1 - -Music_MeetFemaleTrainer_branch_7f70c:: +.mainloop: +.loop1: octave 3 note E_, 4 - sound_loop 12, Music_MeetFemaleTrainer_branch_7f70c + sound_loop 12, .loop1 note E_, 4 octave 2 note B_, 4 note B_, 4 octave 3 note E_, 4 - sound_loop 0, Music_MeetFemaleTrainer_branch_7f70c - + sound_loop 0, .mainloop Music_MeetFemaleTrainer_Ch2:: duty_cycle 2 @@ -34,8 +33,7 @@ Music_MeetFemaleTrainer_Ch2:: note_type 12, 12, 7 octave 4 note B_, 12 - -Music_MeetFemaleTrainer_branch_7f726:: +.mainloop: note_type 12, 12, 2 octave 3 note B_, 4 @@ -68,8 +66,7 @@ Music_MeetFemaleTrainer_branch_7f726:: note F#, 2 note G#, 2 note A_, 2 - sound_loop 0, Music_MeetFemaleTrainer_branch_7f726 - + sound_loop 0, .mainloop Music_MeetFemaleTrainer_Ch3:: note_type 12, 1, 0 @@ -82,9 +79,8 @@ Music_MeetFemaleTrainer_Ch3:: rest 1 note A_, 1 rest 1 - -Music_MeetFemaleTrainer_branch_7f756:: - sound_call Music_MeetFemaleTrainer_branch_7f770 +.mainloop: + sound_call .sub1 note G#, 1 rest 3 note E_, 1 @@ -93,7 +89,7 @@ Music_MeetFemaleTrainer_branch_7f756:: rest 3 note E_, 1 rest 3 - sound_call Music_MeetFemaleTrainer_branch_7f770 + sound_call .sub1 note G#, 1 rest 3 note E_, 1 @@ -102,9 +98,9 @@ Music_MeetFemaleTrainer_branch_7f756:: rest 3 note B_, 1 rest 3 - sound_loop 0, Music_MeetFemaleTrainer_branch_7f756 + sound_loop 0, .mainloop -Music_MeetFemaleTrainer_branch_7f770:: +.sub1: note G#, 1 rest 3 note E_, 1 diff --git a/audio/music/meetmaletrainer.asm b/audio/music/meetmaletrainer.asm index a2786052..79775d6d 100644 --- a/audio/music/meetmaletrainer.asm +++ b/audio/music/meetmaletrainer.asm @@ -12,8 +12,7 @@ Music_MeetMaleTrainer_Ch1:: note E_, 1 note F_, 12 rest 16 - -Music_MeetMaleTrainer_branch_7f78f:: +.mainloop: octave 3 note B_, 4 note A_, 4 @@ -29,8 +28,7 @@ Music_MeetMaleTrainer_branch_7f78f:: octave 4 note D_, 8 note E_, 16 - sound_loop 0, Music_MeetMaleTrainer_branch_7f78f - + sound_loop 0, .mainloop Music_MeetMaleTrainer_Ch2:: duty_cycle 3 @@ -48,8 +46,7 @@ Music_MeetMaleTrainer_Ch2:: rest 3 note E_, 1 rest 9 - -Music_MeetMaleTrainer_branch_7f7b5:: +.mainloop: note_type 12, 12, 4 octave 4 note E_, 6 @@ -72,8 +69,7 @@ Music_MeetMaleTrainer_branch_7f7b5:: note F#, 8 octave 4 note C#, 8 - sound_loop 0, Music_MeetMaleTrainer_branch_7f7b5 - + sound_loop 0, .mainloop Music_MeetMaleTrainer_Ch3:: note_type 12, 1, 0 @@ -99,8 +95,7 @@ Music_MeetMaleTrainer_Ch3:: rest 1 note F#, 1 rest 1 - -Music_MeetMaleTrainer_branch_7f7ea:: +.mainloop: note E_, 1 rest 1 note B_, 1 @@ -187,4 +182,4 @@ Music_MeetMaleTrainer_branch_7f7ea:: rest 1 note D#, 1 rest 1 - sound_loop 0, Music_MeetMaleTrainer_branch_7f7ea + sound_loop 0, .mainloop diff --git a/audio/music/meetprofoak.asm b/audio/music/meetprofoak.asm index 24c6741a..f8cf4715 100644 --- a/audio/music/meetprofoak.asm +++ b/audio/music/meetprofoak.asm @@ -37,8 +37,7 @@ Music_MeetProfOak_Ch1:: note D#, 4 note F#, 2 note F#, 4 - -Music_MeetProfOak_branch_af85:: +.mainloop: note F#, 6 note E_, 4 note A_, 2 @@ -71,8 +70,7 @@ Music_MeetProfOak_branch_af85:: note E_, 4 note G#, 2 note G#, 4 - sound_loop 0, Music_MeetProfOak_branch_af85 - + sound_loop 0, .mainloop Music_MeetProfOak_Ch2:: vibrato 8, 1, 1 @@ -154,8 +152,7 @@ Music_MeetProfOak_Ch2:: note B_, 2 note B_, 4 note_type 12, 11, 5 - -Music_MeetProfOak_branch_b005:: +.mainloop: octave 4 note C#, 6 octave 3 @@ -205,8 +202,7 @@ Music_MeetProfOak_branch_b005:: note E_, 1 note_type 12, 11, 7 note G#, 16 - sound_loop 0, Music_MeetProfOak_branch_b005 - + sound_loop 0, .mainloop Music_MeetProfOak_Ch3:: note_type 12, 1, 2 @@ -335,8 +331,8 @@ Music_MeetProfOak_Ch3:: rest 1 note G#, 1 rest 1 - -Music_MeetProfOak_branch_b0bc:: +.mainloop: +.loop1: octave 4 note A_, 1 rest 1 @@ -361,9 +357,8 @@ Music_MeetProfOak_branch_b0bc:: octave 5 note C#, 1 rest 1 - sound_loop 2, Music_MeetProfOak_branch_b0bc - -Music_MeetProfOak_branch_b0d8:: + sound_loop 2, .loop1 +.loop2: octave 4 note G#, 1 rest 1 @@ -381,9 +376,8 @@ Music_MeetProfOak_branch_b0d8:: rest 1 note B_, 1 rest 1 - sound_loop 2, Music_MeetProfOak_branch_b0d8 - -Music_MeetProfOak_branch_b0ed:: + sound_loop 2, .loop2 +.loop3: note F#, 1 rest 1 note A_, 1 @@ -400,9 +394,8 @@ Music_MeetProfOak_branch_b0ed:: rest 1 note A_, 1 rest 1 - sound_loop 2, Music_MeetProfOak_branch_b0ed - -Music_MeetProfOak_branch_b101:: + sound_loop 2, .loop3 +.loop4: note G#, 1 rest 1 note B_, 1 @@ -419,5 +412,5 @@ Music_MeetProfOak_branch_b101:: rest 1 note B_, 1 rest 1 - sound_loop 2, Music_MeetProfOak_branch_b101 - sound_loop 0, Music_MeetProfOak_branch_b0bc + sound_loop 2, .loop4 + sound_loop 0, .mainloop diff --git a/audio/music/meetrival.asm b/audio/music/meetrival.asm index 958db7be..32dfe153 100644 --- a/audio/music/meetrival.asm +++ b/audio/music/meetrival.asm @@ -1,11 +1,10 @@ -Music_MeetRival_branch_b119:: +Music_MeetRival_Ch1_AlternateTempo:: tempo 100 - sound_loop 0, Music_MeetRival_branch_b123 + sound_loop 0, Music_MeetRival_Ch1.body Music_MeetRival_Ch1:: tempo 112 - -Music_MeetRival_branch_b123:: +.body: volume 7, 7 duty_cycle 3 vibrato 6, 3, 4 @@ -30,8 +29,7 @@ Music_MeetRival_branch_b123:: note A_, 2 note G_, 2 note A_, 2 - -Music_MeetRival_branch_b140:: +.mainloop: note B_, 4 note A#, 2 note A_, 4 @@ -117,16 +115,15 @@ Music_MeetRival_branch_b140:: note A_, 2 note G_, 2 note A_, 2 - sound_loop 0, Music_MeetRival_branch_b140 + sound_loop 0, .mainloop -Music_MeetRival_branch_b19b:: +Music_MeetRival_Ch1_AlternateStartAndTempo:: tempo 100 - sound_loop 0, Music_MeetRival_branch_b1a5 + sound_loop 0, Music_MeetRival_Ch1_AlternateStart.body -Music_MeetRival_branch_b1a2:: +Music_MeetRival_Ch1_AlternateStart:: tempo 112 - -Music_MeetRival_branch_b1a5:: +.body: volume 7, 7 duty_cycle 3 vibrato 6, 3, 4 @@ -140,8 +137,7 @@ Music_MeetRival_branch_b1a5:: note A_, 2 note G_, 2 note A_, 2 - sound_loop 0, Music_MeetRival_branch_b140 - + sound_loop 0, Music_MeetRival_Ch1.mainloop Music_MeetRival_Ch2:: duty_cycle 3 @@ -169,8 +165,7 @@ Music_MeetRival_Ch2:: note D_, 2 note F_, 2 note F#, 2 - -Music_MeetRival_branch_b1d8:: +.mainloop: note_type 12, 12, 7 note G_, 4 note D_, 2 @@ -228,9 +223,9 @@ Music_MeetRival_branch_b1d8:: note D_, 2 note F_, 2 note F#, 2 - sound_loop 0, Music_MeetRival_branch_b1d8 + sound_loop 0, .mainloop -Music_MeetRival_branch_b21d:: +Music_MeetRival_Ch2_AlternateStart:: duty_cycle 3 vibrato 10, 2, 6 note_type 12, 12, 7 @@ -245,8 +240,7 @@ Music_MeetRival_branch_b21d:: note D_, 2 note F_, 2 note F#, 2 - sound_loop 0, Music_MeetRival_branch_b1d8 - + sound_loop 0, Music_MeetRival_Ch2.mainloop Music_MeetRival_Ch3:: note_type 12, 1, 4 @@ -272,8 +266,7 @@ Music_MeetRival_Ch3:: rest 1 note G_, 1 rest 1 - -Music_MeetRival_branch_b24b:: +.mainloop: note G_, 2 octave 5 note D_, 2 @@ -376,9 +369,9 @@ Music_MeetRival_branch_b24b:: rest 2 octave 5 note D_, 2 - sound_loop 0, Music_MeetRival_branch_b24b + sound_loop 0, .mainloop -Music_MeetRival_branch_b2b5:: +Music_MeetRival_Ch3_AlternateStart:: note_type 12, 1, 4 octave 4 note G_, 1 @@ -393,4 +386,4 @@ Music_MeetRival_branch_b2b5:: rest 1 note G_, 1 rest 1 - sound_loop 0, Music_MeetRival_branch_b24b + sound_loop 0, Music_MeetRival_Ch3.mainloop diff --git a/audio/music/museumguy.asm b/audio/music/museumguy.asm index 60ebd553..1577d466 100644 --- a/audio/music/museumguy.asm +++ b/audio/music/museumguy.asm @@ -21,39 +21,37 @@ Music_MuseumGuy_Ch1:: note E_, 1 note G#, 1 note B_, 10 - sound_call Music_MuseumGuy_branch_ade7 - sound_call Music_MuseumGuy_branch_adec - sound_call Music_MuseumGuy_branch_ade7 + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 note E_, 4 note E_, 4 note E_, 2 note E_, 6 - -Music_MuseumGuy_branch_add6:: - sound_call Music_MuseumGuy_branch_ade7 - sound_call Music_MuseumGuy_branch_adec - sound_call Music_MuseumGuy_branch_ade7 +.mainloop: + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 note E_, 4 note E_, 4 note E_, 2 note E_, 6 - sound_loop 0, Music_MuseumGuy_branch_add6 + sound_loop 0, .mainloop -Music_MuseumGuy_branch_ade7:: +.sub1: note E_, 2 note E_, 6 note F#, 2 note F#, 6 sound_ret -Music_MuseumGuy_branch_adec:: +.sub2: note E_, 2 note E_, 6 note D_, 2 note D_, 6 sound_ret - Music_MuseumGuy_Ch2:: duty_cycle 2 note_type 12, 12, 1 @@ -106,8 +104,7 @@ Music_MuseumGuy_Ch2:: note A_, 2 note A_, 2 note A_, 4 - -Music_MuseumGuy_branch_ae26:: +.mainloop: octave 3 note A_, 2 octave 4 @@ -162,8 +159,7 @@ Music_MuseumGuy_branch_ae26:: note A_, 2 note A_, 2 note A_, 4 - sound_loop 0, Music_MuseumGuy_branch_ae26 - + sound_loop 0, .mainloop Music_MuseumGuy_Ch3:: note_type 12, 1, 0 @@ -175,7 +171,7 @@ Music_MuseumGuy_Ch3:: rest 3 note E_, 1 rest 9 - sound_call Music_MuseumGuy_branch_aeb8 + sound_call .sub1 note A_, 1 rest 1 note A_, 1 @@ -184,7 +180,7 @@ Music_MuseumGuy_Ch3:: rest 1 note G#, 1 rest 5 - sound_call Music_MuseumGuy_branch_aeb8 + sound_call .sub1 note B_, 1 rest 3 note G#, 1 @@ -193,9 +189,8 @@ Music_MuseumGuy_Ch3:: rest 1 note A_, 1 rest 3 - -Music_MuseumGuy_branch_ae8e:: - sound_call Music_MuseumGuy_branch_aec1 +.mainloop: + sound_call .sub2 rest 3 octave 6 note E_, 1 @@ -211,7 +206,7 @@ Music_MuseumGuy_branch_ae8e:: rest 1 note G#, 1 rest 3 - sound_call Music_MuseumGuy_branch_aec1 + sound_call .sub2 rest 1 octave 6 note E_, 1 @@ -229,9 +224,9 @@ Music_MuseumGuy_branch_ae8e:: rest 1 note A_, 1 rest 3 - sound_loop 0, Music_MuseumGuy_branch_ae8e + sound_loop 0, .mainloop -Music_MuseumGuy_branch_aeb8:: +.sub1: note A_, 1 rest 1 note A_, 1 @@ -242,7 +237,7 @@ Music_MuseumGuy_branch_aeb8:: rest 5 sound_ret -Music_MuseumGuy_branch_aec1:: +.sub2: octave 6 note C#, 1 rest 1 @@ -260,7 +255,6 @@ Music_MuseumGuy_branch_aec1:: note A_, 1 sound_ret - Music_MuseumGuy_Ch4:: drum_speed 12 rest 16 @@ -274,8 +268,7 @@ Music_MuseumGuy_Ch4:: drum_note 19, 1 drum_note 18, 1 drum_note 18, 1 - -Music_MuseumGuy_branch_aee1:: +.mainloop: drum_note 17, 4 drum_note 17, 6 drum_note 17, 2 @@ -334,4 +327,4 @@ Music_MuseumGuy_branch_aee1:: drum_note 19, 1 drum_note 18, 1 drum_note 18, 1 - sound_loop 0, Music_MuseumGuy_branch_aee1 + sound_loop 0, .mainloop diff --git a/audio/music/oakslab.asm b/audio/music/oakslab.asm index 5af9f9a9..fc9974fd 100644 --- a/audio/music/oakslab.asm +++ b/audio/music/oakslab.asm @@ -15,8 +15,7 @@ Music_OaksLab_Ch1:: note G#, 1 note A_, 1 note B_, 1 - -Music_OaksLab_branch_7eed0:: +.mainloop: octave 4 note C#, 4 octave 3 @@ -66,8 +65,7 @@ Music_OaksLab_branch_7eed0:: note E_, 4 note F#, 4 note G#, 4 - sound_loop 0, Music_OaksLab_branch_7eed0 - + sound_loop 0, .mainloop Music_OaksLab_Ch2:: duty_cycle 3 @@ -83,8 +81,7 @@ Music_OaksLab_Ch2:: note E_, 1 note F#, 1 note G#, 1 - -Music_OaksLab_branch_7ef16:: +.mainloop: note A_, 6 note G#, 1 note F#, 1 @@ -141,8 +138,7 @@ Music_OaksLab_branch_7ef16:: rest 1 note F#, 1 rest 1 - sound_loop 0, Music_OaksLab_branch_7ef16 - + sound_loop 0, .mainloop Music_OaksLab_Ch3:: note_type 12, 1, 1 @@ -154,8 +150,7 @@ Music_OaksLab_Ch3:: rest 1 note E_, 1 rest 1 - -Music_OaksLab_branch_7ef5c:: +.mainloop: note C#, 1 rest 1 note A_, 1 @@ -390,4 +385,4 @@ Music_OaksLab_branch_7ef5c:: rest 3 note E_, 1 rest 3 - sound_loop 0, Music_OaksLab_branch_7ef5c + sound_loop 0, .mainloop diff --git a/audio/music/pallettown.asm b/audio/music/pallettown.asm index 26e5710f..9d1aff7a 100644 --- a/audio/music/pallettown.asm +++ b/audio/music/pallettown.asm @@ -3,8 +3,7 @@ Music_PalletTown_Ch1:: volume 7, 7 duty_cycle 2 note_type 12, 12, 3 - -Music_PalletTown_branch_a7ce:: +.mainloop: octave 3 note B_, 4 octave 4 @@ -144,14 +143,13 @@ Music_PalletTown_branch_a7ce:: note D_, 2 note C_, 2 note D_, 2 - sound_loop 0, Music_PalletTown_branch_a7ce - sound_ret + sound_loop 0, .mainloop + sound_ret ; unused Music_PalletTown_Ch2:: duty_cycle 2 - -Music_PalletTown_branch_a861:: +.mainloop: note_type 12, 13, 3 octave 5 note D_, 2 @@ -258,15 +256,14 @@ Music_PalletTown_branch_a861:: note B_, 4 note B_, 8 note A_, 8 - sound_loop 0, Music_PalletTown_branch_a861 - sound_ret + sound_loop 0, .mainloop + sound_ret ; unused Music_PalletTown_Ch3:: vibrato 24, 2, 8 note_type 12, 1, 2 - -Music_PalletTown_branch_a8e3:: +.mainloop: octave 4 note G_, 6 note E_, 6 @@ -310,5 +307,6 @@ Music_PalletTown_branch_a8e3:: note E_, 8 note E_, 8 note F#, 8 - sound_loop 0, Music_PalletTown_branch_a8e3 - sound_ret + sound_loop 0, .mainloop + + sound_ret ; unused diff --git a/audio/music/pkmnhealed.asm b/audio/music/pkmnhealed.asm index 2fe9e4ce..cb858110 100644 --- a/audio/music/pkmnhealed.asm +++ b/audio/music/pkmnhealed.asm @@ -18,7 +18,6 @@ Music_PkmnHealed_Ch1:: note B_, 4 sound_ret - Music_PkmnHealed_Ch2:: duty_cycle 2 note_type 12, 12, 3 @@ -32,7 +31,6 @@ Music_PkmnHealed_Ch2:: note E_, 8 sound_ret - Music_PkmnHealed_Ch3:: note_type 12, 1, 0 octave 4 diff --git a/audio/music/pokecenter.asm b/audio/music/pokecenter.asm index a4a3f2bf..cdfa1188 100644 --- a/audio/music/pokecenter.asm +++ b/audio/music/pokecenter.asm @@ -4,8 +4,7 @@ Music_Pokecenter_Ch1:: duty_cycle 3 vibrato 10, 2, 2 toggle_perfect_pitch - -Music_Pokecenter_branch_be61:: +.mainloop: note_type 12, 10, 3 octave 3 note F#, 2 @@ -146,20 +145,18 @@ Music_Pokecenter_branch_be61:: note E_, 2 note F#, 2 note G_, 2 - sound_loop 0, Music_Pokecenter_branch_be61 - + sound_loop 0, .mainloop Music_Pokecenter_Ch2:: vibrato 8, 2, 5 - -Music_Pokecenter_branch_befc:: - sound_call Music_Pokecenter_branch_bf4e +.mainloop: + sound_call .sub1 duty_cycle 3 note_type 12, 10, 5 octave 3 note A_, 4 note E_, 4 - sound_call Music_Pokecenter_branch_bf60 + sound_call .sub2 note D_, 2 note F#, 6 duty_cycle 3 @@ -167,13 +164,13 @@ Music_Pokecenter_branch_befc:: octave 3 note A_, 4 note E_, 4 - sound_call Music_Pokecenter_branch_bf4e + sound_call .sub1 duty_cycle 3 note_type 12, 10, 5 octave 3 note A_, 4 note E_, 4 - sound_call Music_Pokecenter_branch_bf60 + sound_call .sub2 note D_, 8 duty_cycle 3 note_type 12, 10, 5 @@ -213,9 +210,9 @@ Music_Pokecenter_branch_befc:: note F#, 2 note E_, 2 note D_, 8 - sound_loop 0, Music_Pokecenter_branch_befc + sound_loop 0, .mainloop -Music_Pokecenter_branch_bf4e:: +.sub1: duty_cycle 2 note_type 12, 12, 2 octave 4 @@ -232,7 +229,7 @@ Music_Pokecenter_branch_bf4e:: note C#, 6 sound_ret -Music_Pokecenter_branch_bf60:: +.sub2: duty_cycle 2 note_type 12, 12, 2 octave 4 @@ -247,11 +244,9 @@ Music_Pokecenter_branch_bf60:: note C#, 2 sound_ret - Music_Pokecenter_Ch3:: note_type 12, 1, 0 - -Music_Pokecenter_branch_bf72:: +.mainloop: octave 4 note D_, 2 note F#, 2 @@ -261,8 +256,8 @@ Music_Pokecenter_branch_bf72:: note F#, 2 note G_, 2 note F#, 2 - sound_call Music_Pokecenter_branch_bfd9 - sound_call Music_Pokecenter_branch_bfe2 + sound_call .sub1 + sound_call .sub2 note F#, 2 note A_, 2 note F#, 2 @@ -279,8 +274,8 @@ Music_Pokecenter_branch_bf72:: note F#, 2 note G_, 2 note F#, 2 - sound_call Music_Pokecenter_branch_bfd9 - sound_call Music_Pokecenter_branch_bfe2 + sound_call .sub1 + sound_call .sub2 note D_, 2 note F#, 2 note D_, 2 @@ -289,7 +284,7 @@ Music_Pokecenter_branch_bf72:: note B_, 2 note A_, 2 note G_, 2 - sound_call Music_Pokecenter_branch_bfeb + sound_call .sub3 note G_, 2 note B_, 2 note G_, 2 @@ -314,7 +309,7 @@ Music_Pokecenter_branch_bf72:: note A_, 2 note G#, 2 note A_, 2 - sound_call Music_Pokecenter_branch_bfeb + sound_call .sub3 note G_, 2 note B_, 2 note G_, 2 @@ -339,9 +334,9 @@ Music_Pokecenter_branch_bf72:: note G_, 2 note F#, 2 note E_, 2 - sound_loop 0, Music_Pokecenter_branch_bf72 + sound_loop 0, .mainloop -Music_Pokecenter_branch_bfd9:: +.sub1: note E_, 2 note A_, 2 note E_, 2 @@ -352,7 +347,7 @@ Music_Pokecenter_branch_bfd9:: note A_, 2 sound_ret -Music_Pokecenter_branch_bfe2:: +.sub2: note E_, 2 note A_, 2 note E_, 2 @@ -363,7 +358,7 @@ Music_Pokecenter_branch_bfe2:: note A_, 2 sound_ret -Music_Pokecenter_branch_bfeb:: +.sub3: note F#, 2 note A_, 2 note F#, 2 diff --git a/audio/music/pokemontower.asm b/audio/music/pokemontower.asm index ef3a3b88..0126acad 100644 --- a/audio/music/pokemontower.asm +++ b/audio/music/pokemontower.asm @@ -8,8 +8,7 @@ Music_PokemonTower_Ch1:: rest 4 octave 4 note B_, 12 - -Music_PokemonTower_branch_7f05a:: +.mainloop: note_type 12, 11, 4 octave 4 note G_, 1 @@ -137,8 +136,7 @@ Music_PokemonTower_branch_7f05a:: octave 5 note C_, 16 note C_, 16 - sound_loop 0, Music_PokemonTower_branch_7f05a - + sound_loop 0, .mainloop Music_PokemonTower_Ch2:: vibrato 20, 3, 4 @@ -148,8 +146,7 @@ Music_PokemonTower_Ch2:: note C_, 12 octave 4 note E_, 4 - -Music_PokemonTower_branch_7f0ee:: +.mainloop: note_type 12, 12, 1 octave 5 note C_, 8 @@ -289,8 +286,7 @@ Music_PokemonTower_branch_7f0ee:: vibrato 0, 3, 4 note_type 12, 10, 7 note C_, 16 - sound_loop 0, Music_PokemonTower_branch_7f0ee - + sound_loop 0, .mainloop Music_PokemonTower_Ch3:: vibrato 4, 1, 1 @@ -298,8 +294,7 @@ Music_PokemonTower_Ch3:: rest 8 octave 5 note G_, 8 - -Music_PokemonTower_branch_7f1a2:: +.mainloop: note E_, 1 rest 7 note E_, 1 @@ -455,4 +450,4 @@ Music_PokemonTower_branch_7f1a2:: rest 1 note D#, 1 rest 1 - sound_loop 0, Music_PokemonTower_branch_7f1a2 + sound_loop 0, .mainloop diff --git a/audio/music/routes1.asm b/audio/music/routes1.asm index cdefb6ee..b4c8377d 100644 --- a/audio/music/routes1.asm +++ b/audio/music/routes1.asm @@ -4,8 +4,7 @@ Music_Routes1_Ch1:: vibrato 4, 2, 3 duty_cycle 2 toggle_perfect_pitch - -Music_Routes1_branch_9be9:: +.mainloop: note_type 12, 10, 1 rest 4 octave 4 @@ -102,22 +101,21 @@ Music_Routes1_branch_9be9:: octave 3 note A_, 2 note A_, 2 - sound_loop 0, Music_Routes1_branch_9be9 - sound_ret + sound_loop 0, .mainloop + sound_ret ; unused Music_Routes1_Ch2:: duty_cycle 2 - -Music_Routes1_branch_9c53:: +.mainloop: note_type 12, 13, 1 - sound_call Music_Routes1_branch_9c65 - sound_call Music_Routes1_branch_9c78 - sound_call Music_Routes1_branch_9c65 - sound_call Music_Routes1_branch_9c8d - sound_loop 0, Music_Routes1_branch_9c53 + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 + sound_call .sub3 + sound_loop 0, .mainloop -Music_Routes1_branch_9c65:: +.sub1: octave 4 note D_, 1 note E_, 1 @@ -138,7 +136,7 @@ Music_Routes1_branch_9c65:: note E_, 6 sound_ret -Music_Routes1_branch_9c78:: +.sub2: note C#, 1 note D_, 1 note E_, 2 @@ -161,7 +159,7 @@ Music_Routes1_branch_9c78:: note F#, 2 sound_ret -Music_Routes1_branch_9c8d:: +.sub3: note C#, 1 note D_, 1 note E_, 2 @@ -231,14 +229,13 @@ Music_Routes1_branch_9c8d:: note D_, 2 note D_, 2 sound_ret - sound_ret + sound_ret ; unused Music_Routes1_Ch3:: vibrato 8, 2, 5 note_type 12, 1, 3 - -Music_Routes1_branch_9cdd:: +.mainloop: rest 2 octave 4 note D_, 4 @@ -305,11 +302,12 @@ Music_Routes1_branch_9cdd:: note A_, 8 octave 4 note D_, 6 - sound_loop 0, Music_Routes1_branch_9cdd - sound_ret + sound_loop 0, .mainloop + sound_ret ; unused Music_Routes1_Ch4:: +.mainloop: drum_speed 12 rest 4 drum_note 15, 2 @@ -400,5 +398,6 @@ Music_Routes1_Ch4:: rest 2 drum_note 15, 2 drum_note 15, 2 - sound_loop 0, Music_Routes1_Ch4 - sound_ret + sound_loop 0, .mainloop + + sound_ret ; unused diff --git a/audio/music/routes2.asm b/audio/music/routes2.asm index e6782df3..d60d6cb3 100644 --- a/audio/music/routes2.asm +++ b/audio/music/routes2.asm @@ -3,8 +3,7 @@ Music_Routes2_Ch1:: volume 7, 7 vibrato 9, 2, 5 duty_cycle 1 - -Music_Routes2_branch_9dc3:: +.mainloop: note_type 12, 11, 2 octave 2 note B_, 4 @@ -138,15 +137,14 @@ Music_Routes2_branch_9dc3:: note B_, 2 octave 4 note E_, 2 - sound_loop 0, Music_Routes2_branch_9dc3 - sound_ret + sound_loop 0, .mainloop + sound_ret ; unused Music_Routes2_Ch2:: vibrato 8, 2, 6 duty_cycle 3 - -Music_Routes2_branch_9e54:: +.mainloop: note_type 12, 13, 4 octave 4 note E_, 6 @@ -212,14 +210,13 @@ Music_Routes2_branch_9e54:: note A_, 1 note G#, 8 rest 4 - sound_loop 0, Music_Routes2_branch_9e54 - sound_ret + sound_loop 0, .mainloop + sound_ret ; unused Music_Routes2_Ch3:: vibrato 9, 2, 8 - -Music_Routes2_branch_9e9e:: +.mainloop: note_type 12, 1, 1 octave 3 note E_, 2 @@ -320,11 +317,12 @@ Music_Routes2_branch_9e9e:: rest 2 note E_, 2 rest 2 - sound_loop 0, Music_Routes2_branch_9e9e - sound_ret + sound_loop 0, .mainloop + sound_ret ; unused Music_Routes2_Ch4:: +.mainloop: drum_speed 12 drum_note 3, 2 rest 2 @@ -421,5 +419,6 @@ Music_Routes2_Ch4:: rest 3 drum_note 3, 3 rest 3 - sound_loop 0, Music_Routes2_Ch4 - sound_ret + sound_loop 0, .mainloop + + sound_ret ; unused diff --git a/audio/music/routes3.asm b/audio/music/routes3.asm index 26a41590..d7140c6c 100644 --- a/audio/music/routes3.asm +++ b/audio/music/routes3.asm @@ -14,8 +14,7 @@ Music_Routes3_Ch1:: note E_, 1 rest 16 rest 15 - -Music_Routes3_branch_9fc3:: +.mainloop: note_type 12, 11, 5 note E_, 6 note D_, 1 @@ -74,8 +73,7 @@ Music_Routes3_branch_9fc3:: note_type 8, 9, 0 note F_, 12 note G_, 12 - sound_loop 0, Music_Routes3_branch_9fc3 - + sound_loop 0, .mainloop Music_Routes3_Ch2:: vibrato 8, 2, 3 @@ -91,8 +89,7 @@ Music_Routes3_Ch2:: note C_, 1 rest 15 rest 16 - -Music_Routes3_branch_a01a:: +.mainloop: note_type 12, 12, 7 duty_cycle 2 octave 4 @@ -175,8 +172,7 @@ Music_Routes3_branch_a01a:: octave 3 note A_, 8 note B_, 8 - sound_loop 0, Music_Routes3_branch_a01a - + sound_loop 0, .mainloop Music_Routes3_Ch3:: vibrato 4, 1, 0 @@ -212,8 +208,7 @@ Music_Routes3_Ch3:: note G_, 2 rest 2 note G_, 8 - -Music_Routes3_branch_a0a3:: +.mainloop: note_type 12, 1, 2 note E_, 1 rest 1 @@ -351,8 +346,7 @@ Music_Routes3_branch_a0a3:: note F_, 1 rest 1 note A_, 4 - sound_loop 0, Music_Routes3_branch_a0a3 - + sound_loop 0, .mainloop Music_Routes3_Ch4:: drum_speed 6 @@ -392,8 +386,7 @@ Music_Routes3_Ch4:: drum_note 19, 1 drum_note 18, 1 drum_note 18, 1 - -Music_Routes3_branch_a17a:: +.mainloop: drum_note 17, 12 drum_note 17, 2 drum_note 18, 2 @@ -512,4 +505,4 @@ Music_Routes3_branch_a17a:: drum_note 18, 1 drum_note 18, 1 drum_note 18, 1 - sound_loop 0, Music_Routes3_branch_a17a + sound_loop 0, .mainloop diff --git a/audio/music/routes4.asm b/audio/music/routes4.asm index 50679f54..98e1455a 100644 --- a/audio/music/routes4.asm +++ b/audio/music/routes4.asm @@ -21,8 +21,7 @@ Music_Routes4_Ch1:: note E_, 1 note F#, 1 note B_, 1 - -Music_Routes4_branch_a28a:: +.mainloop: note_type 12, 11, 7 note B_, 6 note E_, 2 @@ -135,8 +134,7 @@ Music_Routes4_branch_a28a:: note F#, 3 note G#, 3 note A_, 3 - sound_loop 0, Music_Routes4_branch_a28a - + sound_loop 0, .mainloop Music_Routes4_Ch2:: vibrato 12, 2, 4 @@ -163,8 +161,7 @@ Music_Routes4_Ch2:: note B_, 1 octave 4 note D#, 1 - -Music_Routes4_branch_a325:: +.mainloop: note_type 12, 12, 7 note E_, 6 octave 3 @@ -285,8 +282,7 @@ Music_Routes4_branch_a325:: note E_, 8 note_type 12, 10, 7 note E_, 10 - sound_loop 0, Music_Routes4_branch_a325 - + sound_loop 0, .mainloop Music_Routes4_Ch3:: note_type 12, 1, 0 @@ -307,8 +303,7 @@ Music_Routes4_Ch3:: rest 3 note D#, 1 rest 3 - -Music_Routes4_branch_a3d7:: +.mainloop: note E_, 1 rest 3 note E_, 1 @@ -503,8 +498,7 @@ Music_Routes4_branch_a3d7:: rest 3 note D#, 1 rest 1 - sound_loop 0, Music_Routes4_branch_a3d7 - + sound_loop 0, .mainloop Music_Routes4_Ch4:: drum_speed 12 @@ -514,8 +508,7 @@ Music_Routes4_Ch4:: drum_note 19, 1 drum_note 18, 1 drum_note 18, 1 - -Music_Routes4_branch_a4a8:: +.mainloop: drum_note 17, 4 drum_note 19, 1 drum_note 19, 1 @@ -678,4 +671,4 @@ Music_Routes4_branch_a4a8:: drum_note 17, 2 drum_note 17, 2 drum_note 17, 2 - sound_loop 0, Music_Routes4_branch_a4a8 + sound_loop 0, .mainloop diff --git a/audio/music/safarizone.asm b/audio/music/safarizone.asm index 0ca2f71a..505dd130 100644 --- a/audio/music/safarizone.asm +++ b/audio/music/safarizone.asm @@ -16,17 +16,16 @@ Music_SafariZone_Ch1:: note G_, 1 rest 4 duty_cycle 3 - -Music_SafariZone_branch_bc4f:: - sound_call Music_SafariZone_branch_bc5f +.mainloop: + sound_call .sub1 note_type 12, 10, 4 note F#, 4 - sound_call Music_SafariZone_branch_bc5f + sound_call .sub1 note_type 12, 10, 4 note F#, 4 - sound_loop 0, Music_SafariZone_branch_bc4f + sound_loop 0, .mainloop -Music_SafariZone_branch_bc5f:: +.sub1: note_type 12, 10, 2 octave 3 note C_, 4 @@ -38,7 +37,6 @@ Music_SafariZone_branch_bc5f:: note C_, 4 sound_ret - Music_SafariZone_Ch2:: duty_cycle 2 vibrato 8, 2, 5 @@ -50,17 +48,16 @@ Music_SafariZone_Ch2:: note D_, 1 rest 4 duty_cycle 3 - -Music_SafariZone_branch_bc79:: - sound_call Music_SafariZone_branch_bc89 +.mainloop: + sound_call .sub1 note_type 12, 11, 5 note A_, 4 - sound_call Music_SafariZone_branch_bc89 + sound_call .sub1 note_type 12, 11, 5 note B_, 4 - sound_loop 0, Music_SafariZone_branch_bc79 + sound_loop 0, .mainloop -Music_SafariZone_branch_bc89:: +.sub1: note_type 12, 11, 2 octave 3 note G_, 4 @@ -72,21 +69,19 @@ Music_SafariZone_branch_bc89:: note G_, 4 sound_ret - Music_SafariZone_Ch3:: note_type 12, 1, 0 rest 8 - -Music_SafariZone_branch_bc97:: - sound_call Music_SafariZone_branch_bca5 +.mainloop: + sound_call .sub1 octave 4 note A_, 4 - sound_call Music_SafariZone_branch_bca5 + sound_call .sub1 octave 4 note B_, 4 - sound_loop 0, Music_SafariZone_branch_bc97 + sound_loop 0, .mainloop -Music_SafariZone_branch_bca5:: +.sub1: octave 3 note A_, 2 rest 2 diff --git a/audio/music/silphco.asm b/audio/music/silphco.asm index 3c7512ba..9e4265f9 100644 --- a/audio/music/silphco.asm +++ b/audio/music/silphco.asm @@ -32,8 +32,7 @@ Music_SilphCo_Ch1:: rest 6 note B_, 2 rest 2 - -Music_SilphCo_branch_7f26d:: +.mainloop: note G_, 2 rest 2 note B_, 2 @@ -185,9 +184,9 @@ Music_SilphCo_branch_7f26d:: note A#, 2 note B_, 2 note A#, 2 - sound_call Music_SilphCo_branch_7f3f0 - sound_call Music_SilphCo_branch_7f3f0 - sound_call Music_SilphCo_branch_7f3f0 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 rest 4 note C_, 2 rest 6 @@ -365,9 +364,9 @@ Music_SilphCo_branch_7f26d:: rest 6 note B_, 2 rest 2 - sound_loop 0, Music_SilphCo_branch_7f26d + sound_loop 0, .mainloop -Music_SilphCo_branch_7f3f0:: +.sub1: octave 2 note B_, 2 note A#, 2 @@ -394,7 +393,6 @@ Music_SilphCo_branch_7f3f0:: note C_, 2 sound_ret - Music_SilphCo_Ch2:: vibrato 10, 3, 2 duty_cycle 3 @@ -427,8 +425,7 @@ Music_SilphCo_Ch2:: rest 6 note G#, 2 rest 2 - -Music_SilphCo_branch_7f42e:: +.mainloop: note E_, 2 rest 2 note G_, 2 @@ -777,8 +774,7 @@ Music_SilphCo_branch_7f42e:: rest 6 note G#, 2 rest 2 - sound_loop 0, Music_SilphCo_branch_7f42e - + sound_loop 0, .mainloop Music_SilphCo_Ch3:: vibrato 8, 1, 1 @@ -789,8 +785,7 @@ Music_SilphCo_Ch3:: note D#, 4 note E_, 4 note F_, 4 - -Music_SilphCo_branch_7f5c9:: +.mainloop: note E_, 4 note D#, 4 note D_, 4 @@ -997,4 +992,4 @@ Music_SilphCo_branch_7f5c9:: note D#, 4 note E_, 4 note F_, 4 - sound_loop 0, Music_SilphCo_branch_7f5c9 + sound_loop 0, .mainloop diff --git a/audio/music/ssanne.asm b/audio/music/ssanne.asm index 4dae83bc..61f4237e 100644 --- a/audio/music/ssanne.asm +++ b/audio/music/ssanne.asm @@ -4,8 +4,7 @@ Music_SSAnne_Ch1:: duty_cycle 1 vibrato 8, 3, 4 toggle_perfect_pitch - -Music_SSAnne_branch_b3b2:: +.mainloop: note_type 12, 10, 4 rest 12 octave 3 @@ -104,14 +103,12 @@ Music_SSAnne_branch_b3b2:: rest 4 octave 3 note D_, 8 - sound_loop 0, Music_SSAnne_branch_b3b2 - + sound_loop 0, .mainloop Music_SSAnne_Ch2:: duty_cycle 0 vibrato 12, 2, 4 - -Music_SSAnne_branch_b41e:: +.mainloop: note_type 12, 12, 5 octave 3 note A_, 2 @@ -279,10 +276,10 @@ Music_SSAnne_branch_b41e:: note C#, 3 octave 3 note B_, 3 - sound_loop 0, Music_SSAnne_branch_b41e - + sound_loop 0, .mainloop Music_SSAnne_Ch3:: +.mainloop: note_type 12, 1, 3 rest 16 rest 12 @@ -335,4 +332,4 @@ Music_SSAnne_Ch3:: note F#, 8 note G#, 8 note B_, 8 - sound_loop 0, Music_SSAnne_Ch3 + sound_loop 0, .mainloop diff --git a/audio/music/surfing.asm b/audio/music/surfing.asm index 4765f391..03636ef1 100644 --- a/audio/music/surfing.asm +++ b/audio/music/surfing.asm @@ -15,8 +15,7 @@ Music_Surfing_Ch1:: note G#, 2 note F#, 2 note G#, 4 - -Music_Surfing_branch_7fa30:: +.mainloop: note_type 12, 11, 2 note E_, 2 note E_, 4 @@ -113,8 +112,7 @@ Music_Surfing_branch_7fa30:: note G#, 2 note F#, 2 note E_, 4 - sound_loop 0, Music_Surfing_branch_7fa30 - + sound_loop 0, .mainloop Music_Surfing_Ch2:: duty_cycle 3 @@ -131,8 +129,7 @@ Music_Surfing_Ch2:: note D_, 2 octave 3 note B_, 2 - -Music_Surfing_branch_7faae:: +.mainloop: note_type 12, 12, 6 octave 4 note E_, 6 @@ -200,8 +197,7 @@ Music_Surfing_branch_7faae:: note A_, 1 octave 5 note C#, 6 - sound_loop 0, Music_Surfing_branch_7faae - + sound_loop 0, .mainloop Music_Surfing_Ch3:: note_type 12, 1, 0 @@ -212,8 +208,7 @@ Music_Surfing_Ch3:: note E_, 2 note F#, 2 note G#, 2 - -Music_Surfing_branch_7fb03:: +.mainloop: octave 3 note A_, 2 octave 4 @@ -332,4 +327,4 @@ Music_Surfing_branch_7fb03:: note C#, 2 note D_, 2 note E_, 2 - sound_loop 0, Music_Surfing_branch_7fb03 + sound_loop 0, .mainloop diff --git a/audio/music/titlescreen.asm b/audio/music/titlescreen.asm index a70b2761..624fc064 100644 --- a/audio/music/titlescreen.asm +++ b/audio/music/titlescreen.asm @@ -25,11 +25,10 @@ Music_TitleScreen_Ch1:: note A_, 2 note A_, 2 note F#, 2 - -Music_TitleScreen_branch_7e4e2:: - sound_call Music_TitleScreen_branch_7e541 - sound_call Music_TitleScreen_branch_7e54a - sound_call Music_TitleScreen_branch_7e541 +.mainloop: + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 octave 3 note C_, 8 note_type 8, 12, 6 @@ -52,9 +51,9 @@ Music_TitleScreen_branch_7e4e2:: octave 3 note C_, 2 note D_, 2 - sound_call Music_TitleScreen_branch_7e541 - sound_call Music_TitleScreen_branch_7e54a - sound_call Music_TitleScreen_branch_7e541 + sound_call .sub1 + sound_call .sub2 + sound_call .sub1 note C_, 6 note C_, 6 note E_, 4 @@ -82,21 +81,21 @@ Music_TitleScreen_branch_7e4e2:: octave 4 note C_, 4 note C#, 4 - sound_call Music_TitleScreen_branch_7e55c + sound_call .sub3 note_type 8, 11, 4 octave 4 note C_, 4 note C_, 4 note C#, 4 - sound_call Music_TitleScreen_branch_7e55c + sound_call .sub3 note_type 8, 11, 2 octave 3 note E_, 4 note E_, 4 note C#, 4 - sound_loop 0, Music_TitleScreen_branch_7e4e2 + sound_loop 0, .mainloop -Music_TitleScreen_branch_7e541:: +.sub1: note_type 12, 12, 6 octave 3 note D_, 6 @@ -106,7 +105,7 @@ Music_TitleScreen_branch_7e541:: note D_, 8 sound_ret -Music_TitleScreen_branch_7e54a:: +.sub2: note C_, 6 note F_, 6 note C_, 4 @@ -124,7 +123,7 @@ Music_TitleScreen_branch_7e54a:: note C_, 4 sound_ret -Music_TitleScreen_branch_7e55c:: +.sub3: note_type 12, 12, 1 note D_, 1 rest 1 @@ -153,7 +152,6 @@ Music_TitleScreen_branch_7e55c:: note D_, 1 sound_ret - Music_TitleScreen_Ch2:: vibrato 16, 4, 6 duty_cycle 1 @@ -178,18 +176,17 @@ Music_TitleScreen_Ch2:: note F_, 2 note F_, 2 note F#, 2 - -Music_TitleScreen_branch_7e594:: +.mainloop: vibrato 16, 4, 6 - sound_call Music_TitleScreen_branch_7e622 + sound_call .sub1 octave 2 note A_, 4 note F_, 4 - sound_call Music_TitleScreen_branch_7e62c + sound_call .sub2 octave 2 note A_, 8 note B_, 16 - sound_call Music_TitleScreen_branch_7e622 + sound_call .sub1 octave 2 note A_, 6 note F_, 2 @@ -208,11 +205,11 @@ Music_TitleScreen_branch_7e594:: note D_, 1 note F#, 1 note G_, 16 - sound_call Music_TitleScreen_branch_7e622 + sound_call .sub1 octave 2 note A_, 2 note F_, 6 - sound_call Music_TitleScreen_branch_7e62c + sound_call .sub2 octave 3 note C_, 2 octave 2 @@ -220,7 +217,7 @@ Music_TitleScreen_branch_7e594:: note B_, 6 note G_, 2 note F_, 8 - sound_call Music_TitleScreen_branch_7e622 + sound_call .sub1 note_type 8, 9, 5 octave 2 note G_, 4 @@ -262,7 +259,7 @@ Music_TitleScreen_branch_7e594:: octave 5 note C_, 4 note C#, 4 - sound_call Music_TitleScreen_branch_7e636 + sound_call .sub3 rest 3 note D_, 1 rest 3 @@ -272,7 +269,7 @@ Music_TitleScreen_branch_7e594:: note C_, 4 note C_, 4 note C#, 4 - sound_call Music_TitleScreen_branch_7e636 + sound_call .sub3 note D_, 1 rest 2 note D_, 1 @@ -284,9 +281,9 @@ Music_TitleScreen_branch_7e594:: note C_, 4 octave 4 note B_, 4 - sound_loop 0, Music_TitleScreen_branch_7e594 + sound_loop 0, .mainloop -Music_TitleScreen_branch_7e622:: +.sub1: note_type 12, 14, 7 octave 3 note G_, 6 @@ -296,7 +293,7 @@ Music_TitleScreen_branch_7e622:: note_type 12, 9, 5 sound_ret -Music_TitleScreen_branch_7e62c:: +.sub2: note_type 12, 14, 7 octave 4 note F_, 6 @@ -306,7 +303,7 @@ Music_TitleScreen_branch_7e62c:: note_type 12, 9, 5 sound_ret -Music_TitleScreen_branch_7e636:: +.sub3: note_type 12, 14, 1 note D_, 1 rest 2 @@ -320,7 +317,6 @@ Music_TitleScreen_branch_7e636:: note D_, 1 sound_ret - Music_TitleScreen_Ch3:: note_type 12, 1, 0 octave 3 @@ -347,41 +343,39 @@ Music_TitleScreen_Ch3:: note F_, 2 note F_, 2 note A_, 2 - -Music_TitleScreen_branch_7e65e:: - sound_call Music_TitleScreen_branch_7e6c9 - sound_call Music_TitleScreen_branch_7e6d0 - -Music_TitleScreen_branch_7e664:: - sound_call Music_TitleScreen_branch_7e6c9 - sound_call Music_TitleScreen_branch_7e6c9 - sound_call Music_TitleScreen_branch_7e6c9 - sound_call Music_TitleScreen_branch_7e6d0 - sound_loop 3, Music_TitleScreen_branch_7e664 - sound_call Music_TitleScreen_branch_7e6c9 +.mainloop: + sound_call .sub1 + sound_call .sub2 +.loop1: + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub2 + sound_loop 3, .loop1 + sound_call .sub1 note G_, 6 note D_, 3 note A_, 6 note F_, 3 note A_, 3 note F_, 3 - sound_call Music_TitleScreen_branch_7e6d7 + sound_call .sub3 note A#, 3 note F_, 3 - sound_call Music_TitleScreen_branch_7e6d7 + sound_call .sub3 note B_, 3 note G_, 3 - sound_call Music_TitleScreen_branch_7e6dc + sound_call .sub4 octave 4 note C_, 3 octave 3 note G_, 3 - sound_call Music_TitleScreen_branch_7e6dc + sound_call .sub4 octave 4 note C#, 3 octave 3 note A_, 3 - sound_call Music_TitleScreen_branch_7e6e5 + sound_call .sub5 octave 5 pitch_slide 1, 4, D_ note D_, 4 @@ -398,7 +392,7 @@ Music_TitleScreen_branch_7e664:: note C_, 4 note C_, 4 note C#, 4 - sound_call Music_TitleScreen_branch_7e6e5 + sound_call .sub5 octave 6 pitch_slide 1, 5, D_ note D_, 4 @@ -413,9 +407,9 @@ Music_TitleScreen_branch_7e664:: note C_, 4 octave 3 note B_, 4 - sound_loop 0, Music_TitleScreen_branch_7e65e + sound_loop 0, .mainloop -Music_TitleScreen_branch_7e6c9:: +.sub1: note G_, 6 note D_, 3 note G_, 6 @@ -424,7 +418,7 @@ Music_TitleScreen_branch_7e6c9:: note D_, 3 sound_ret -Music_TitleScreen_branch_7e6d0:: +.sub2: note F_, 6 note C_, 3 note F_, 6 @@ -433,14 +427,14 @@ Music_TitleScreen_branch_7e6d0:: note C_, 3 sound_ret -Music_TitleScreen_branch_7e6d7:: +.sub3: note A#, 6 note F_, 3 note A#, 6 note F_, 3 sound_ret -Music_TitleScreen_branch_7e6dc:: +.sub4: octave 4 note C_, 6 octave 3 @@ -451,14 +445,13 @@ Music_TitleScreen_branch_7e6dc:: note G_, 3 sound_ret -Music_TitleScreen_branch_7e6e5:: +.sub5: note_type 12, 1, 0 octave 4 note D_, 1 rest 5 sound_ret - Music_TitleScreen_Ch4:: drum_speed 6 rest 4 @@ -486,8 +479,7 @@ Music_TitleScreen_Ch4:: drum_note 3, 2 drum_note 2, 2 drum_note 1, 2 - -Music_TitleScreen_branch_7e716:: +.mainloop: drum_speed 12 drum_note 2, 1 rest 3 @@ -497,8 +489,8 @@ Music_TitleScreen_branch_7e716:: drum_note 2, 1 drum_note 3, 1 rest 3 - sound_call Music_TitleScreen_branch_7e834 - sound_call Music_TitleScreen_branch_7e834 + sound_call .sub1 + sound_call .sub1 drum_note 2, 1 rest 3 drum_note 2, 1 @@ -509,7 +501,7 @@ Music_TitleScreen_branch_7e716:: rest 1 drum_note 3, 1 drum_note 2, 1 - sound_call Music_TitleScreen_branch_7e842 + sound_call .sub2 drum_note 2, 1 rest 3 drum_note 2, 1 @@ -520,7 +512,7 @@ Music_TitleScreen_branch_7e716:: rest 1 drum_note 2, 1 rest 1 - sound_call Music_TitleScreen_branch_7e842 + sound_call .sub2 drum_note 2, 1 rest 3 drum_note 2, 1 @@ -535,8 +527,8 @@ Music_TitleScreen_branch_7e716:: drum_note 4, 1 drum_note 4, 1 drum_speed 12 - sound_call Music_TitleScreen_branch_7e834 - sound_call Music_TitleScreen_branch_7e842 + sound_call .sub1 + sound_call .sub2 drum_note 2, 1 rest 3 drum_note 2, 1 @@ -555,8 +547,8 @@ Music_TitleScreen_branch_7e716:: rest 1 drum_note 3, 1 drum_note 2, 1 - sound_call Music_TitleScreen_branch_7e834 - sound_call Music_TitleScreen_branch_7e842 + sound_call .sub1 + sound_call .sub2 drum_note 2, 1 rest 3 drum_note 2, 1 @@ -652,9 +644,9 @@ Music_TitleScreen_branch_7e716:: drum_note 2, 4 drum_note 3, 4 drum_note 2, 4 - sound_loop 0, Music_TitleScreen_branch_7e716 + sound_loop 0, .mainloop -Music_TitleScreen_branch_7e834:: +.sub1: drum_note 2, 1 rest 3 drum_note 2, 1 @@ -665,7 +657,7 @@ Music_TitleScreen_branch_7e834:: rest 3 sound_ret -Music_TitleScreen_branch_7e842:: +.sub2: drum_note 2, 1 rest 3 drum_note 2, 1 diff --git a/audio/music/trainerbattle.asm b/audio/music/trainerbattle.asm index ba5d6d1b..08df5fb5 100644 --- a/audio/music/trainerbattle.asm +++ b/audio/music/trainerbattle.asm @@ -65,8 +65,7 @@ Music_TrainerBattle_Ch1:: note F_, 6 note C_, 2 note C#, 2 - -Music_TrainerBattle_branch_22962:: +.mainloop: note_type 12, 11, 5 note D_, 2 note E_, 4 @@ -646,8 +645,7 @@ Music_TrainerBattle_branch_22962:: note G#, 1 note A_, 1 note A#, 1 - sound_loop 0, Music_TrainerBattle_branch_22962 - + sound_loop 0, .mainloop Music_TrainerBattle_Ch2:: duty_cycle 3 @@ -721,8 +719,7 @@ Music_TrainerBattle_Ch2:: note D_, 6 octave 4 note A_, 4 - -Music_TrainerBattle_branch_22bfc:: +.mainloop: note_type 12, 12, 7 octave 3 note B_, 6 @@ -950,8 +947,7 @@ Music_TrainerBattle_branch_22bfc:: note C_, 16 note E_, 8 note G_, 8 - sound_loop 0, Music_TrainerBattle_branch_22bfc - + sound_loop 0, .mainloop Music_TrainerBattle_Ch3:: vibrato 0, 2, 0 @@ -1091,8 +1087,7 @@ Music_TrainerBattle_Ch3:: note A#, 2 octave 3 note C_, 2 - -Music_TrainerBattle_branch_22d9c:: +.mainloop: octave 2 note A#, 1 note B_, 1 @@ -1854,4 +1849,4 @@ Music_TrainerBattle_branch_22d9c:: note E_, 2 note D_, 2 note C_, 2 - sound_loop 0, Music_TrainerBattle_branch_22d9c + sound_loop 0, .mainloop diff --git a/audio/music/unusedsong.asm b/audio/music/unusedsong.asm index a2291a2a..ce343441 100644 --- a/audio/music/unusedsong.asm +++ b/audio/music/unusedsong.asm @@ -2,8 +2,7 @@ Music_UnusedSong_Ch1:: tempo 144 volume 7, 7 vibrato 5, 1, 6 - -Music_UnusedSong_branch_a91b:: +.mainloop: note_type 12, 1, 0 octave 6 note E_, 1 @@ -178,17 +177,16 @@ Music_UnusedSong_branch_a91b:: rest 6 note B_, 2 rest 6 - sound_loop 0, Music_UnusedSong_branch_a91b - sound_ret + sound_loop 0, .mainloop + sound_ret ; unused Music_UnusedSong_Ch2:: tempo 144 volume 7, 7 toggle_perfect_pitch vibrato 6, 1, 5 - -Music_UnusedSong_branch_a9d8:: +.mainloop: note_type 12, 1, 0 octave 6 note E_, 1 @@ -334,5 +332,6 @@ Music_UnusedSong_branch_a9d8:: rest 6 note D#, 2 rest 6 - sound_loop 0, Music_UnusedSong_branch_a9d8 - sound_ret + sound_loop 0, .mainloop + + sound_ret ; unused diff --git a/audio/music/vermilion.asm b/audio/music/vermilion.asm index 2788cde9..ed0bc846 100644 --- a/audio/music/vermilion.asm +++ b/audio/music/vermilion.asm @@ -4,8 +4,7 @@ Music_Vermilion_Ch1:: duty_cycle 3 vibrato 12, 3, 4 toggle_perfect_pitch - -Music_Vermilion_branch_b9f6:: +.mainloop: note_type 12, 11, 5 octave 3 note E_, 4 @@ -108,14 +107,12 @@ Music_Vermilion_branch_b9f6:: note F#, 2 note G#, 2 note B_, 2 - sound_loop 0, Music_Vermilion_branch_b9f6 - + sound_loop 0, .mainloop Music_Vermilion_Ch2:: duty_cycle 3 vibrato 10, 2, 3 - -Music_Vermilion_branch_ba66:: +.mainloop: note_type 12, 12, 7 octave 3 note A_, 8 @@ -175,13 +172,11 @@ Music_Vermilion_branch_ba66:: note E_, 4 note F#, 8 note E_, 8 - sound_loop 0, Music_Vermilion_branch_ba66 - + sound_loop 0, .mainloop Music_Vermilion_Ch3:: note_type 12, 1, 0 - -Music_Vermilion_branch_baa8:: +.mainloop: octave 4 note A_, 2 note E_, 2 @@ -279,35 +274,34 @@ Music_Vermilion_branch_baa8:: note E_, 2 note G#, 2 note E_, 2 - sound_loop 0, Music_Vermilion_branch_baa8 - + sound_loop 0, .mainloop Music_Vermilion_Ch4:: drum_speed 12 +.mainloop: +.loop1: + sound_call .sub1 + drum_note 6, 2 + drum_note 6, 1 + drum_note 6, 1 + drum_note 6, 2 + drum_note 6, 1 + drum_note 6, 1 + drum_note 6, 2 + drum_note 6, 1 + drum_note 6, 1 + drum_note 6, 1 + drum_note 6, 1 + drum_note 6, 1 + drum_note 6, 1 + sound_loop 4, .loop1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_call .sub1 + sound_loop 0, .mainloop -Music_Vermilion_branch_bb0e:: - sound_call Music_Vermilion_branch_bb3f - drum_note 6, 2 - drum_note 6, 1 - drum_note 6, 1 - drum_note 6, 2 - drum_note 6, 1 - drum_note 6, 1 - drum_note 6, 2 - drum_note 6, 1 - drum_note 6, 1 - drum_note 6, 1 - drum_note 6, 1 - drum_note 6, 1 - drum_note 6, 1 - sound_loop 4, Music_Vermilion_branch_bb0e - sound_call Music_Vermilion_branch_bb3f - sound_call Music_Vermilion_branch_bb3f - sound_call Music_Vermilion_branch_bb3f - sound_call Music_Vermilion_branch_bb3f - sound_loop 0, Music_Vermilion_branch_bb0e - -Music_Vermilion_branch_bb3f:: +.sub1: drum_note 6, 2 drum_note 6, 1 drum_note 6, 1 diff --git a/audio/music/wildbattle.asm b/audio/music/wildbattle.asm index f7cfab14..c8ebf562 100644 --- a/audio/music/wildbattle.asm +++ b/audio/music/wildbattle.asm @@ -60,8 +60,7 @@ Music_WildBattle_Ch1:: note E_, 6 note D#, 10 note C#, 10 - -Music_WildBattle_branch_230e0:: +.mainloop: note_type 12, 11, 3 note C#, 1 note D_, 1 @@ -297,8 +296,7 @@ Music_WildBattle_branch_230e0:: note D#, 6 note_type 12, 10, 7 note C#, 8 - sound_loop 0, Music_WildBattle_branch_230e0 - + sound_loop 0, .mainloop Music_WildBattle_Ch2:: duty_cycle 3 @@ -371,8 +369,7 @@ Music_WildBattle_Ch2:: note G_, 6 note G_, 10 note G_, 10 - -Music_WildBattle_branch_23225:: +.mainloop: note_type 12, 12, 5 note G_, 6 note F#, 6 @@ -459,8 +456,7 @@ Music_WildBattle_branch_23225:: note G_, 6 note_type 12, 12, 7 note F_, 8 - sound_loop 0, Music_WildBattle_branch_23225 - + sound_loop 0, .mainloop Music_WildBattle_Ch3:: vibrato 0, 2, 0 @@ -497,8 +493,7 @@ Music_WildBattle_Ch3:: octave 3 note A#, 2 note B_, 2 - -Music_WildBattle_branch_232b5:: +.introloop: octave 4 note C_, 2 note G_, 2 @@ -530,9 +525,8 @@ Music_WildBattle_branch_232b5:: note A#, 2 note G#, 2 note F_, 2 - sound_loop 2, Music_WildBattle_branch_232b5 - -Music_WildBattle_branch_232d8:: + sound_loop 2, .introloop +.mainloop: note C_, 2 note G_, 2 note C_, 2 @@ -735,4 +729,4 @@ Music_WildBattle_branch_232d8:: note G#, 2 note C#, 2 note G#, 2 - sound_loop 0, Music_WildBattle_branch_232d8 + sound_loop 0, .mainloop From cc98f282271f627773203b038def8404bf9f9dad Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 10 Jul 2022 20:22:24 -0400 Subject: [PATCH 089/119] Replace "branch" labels in SFX files with local names --- audio/sfx/59_1.asm | 1 - audio/sfx/59_3.asm | 1 - audio/sfx/ball_poof.asm | 1 - audio/sfx/ball_toss.asm | 1 - audio/sfx/battle_1e.asm | 1 - audio/sfx/battle_24.asm | 1 - audio/sfx/battle_27.asm | 12 ++++-------- audio/sfx/battle_28.asm | 2 -- audio/sfx/battle_29.asm | 1 - audio/sfx/battle_2a.asm | 2 -- audio/sfx/battle_2b.asm | 1 - audio/sfx/battle_2c.asm | 2 -- audio/sfx/battle_2e.asm | 2 -- audio/sfx/battle_2f.asm | 2 -- audio/sfx/battle_31.asm | 1 - audio/sfx/battle_32.asm | 1 - audio/sfx/battle_33.asm | 1 - audio/sfx/battle_34.asm | 2 -- audio/sfx/battle_35.asm | 1 - audio/sfx/battle_36.asm | 9 +++------ audio/sfx/caught_mon.asm | 2 -- audio/sfx/cry00_1.asm | 2 -- audio/sfx/cry00_2.asm | 2 -- audio/sfx/cry00_3.asm | 2 -- audio/sfx/cry01_1.asm | 2 -- audio/sfx/cry01_2.asm | 2 -- audio/sfx/cry01_3.asm | 2 -- audio/sfx/cry02_1.asm | 2 -- audio/sfx/cry02_2.asm | 2 -- audio/sfx/cry02_3.asm | 2 -- audio/sfx/cry03_1.asm | 2 -- audio/sfx/cry03_2.asm | 2 -- audio/sfx/cry03_3.asm | 2 -- audio/sfx/cry04_1.asm | 2 -- audio/sfx/cry04_2.asm | 2 -- audio/sfx/cry04_3.asm | 2 -- audio/sfx/cry05_1.asm | 2 -- audio/sfx/cry05_2.asm | 2 -- audio/sfx/cry05_3.asm | 2 -- audio/sfx/cry06_1.asm | 2 -- audio/sfx/cry06_2.asm | 2 -- audio/sfx/cry06_3.asm | 2 -- audio/sfx/cry07_1.asm | 2 -- audio/sfx/cry07_2.asm | 2 -- audio/sfx/cry07_3.asm | 2 -- audio/sfx/cry08_1.asm | 2 -- audio/sfx/cry08_2.asm | 2 -- audio/sfx/cry08_3.asm | 2 -- audio/sfx/cry09_1.asm | 2 -- audio/sfx/cry09_2.asm | 2 -- audio/sfx/cry09_3.asm | 2 -- audio/sfx/cry0a_1.asm | 2 -- audio/sfx/cry0a_2.asm | 2 -- audio/sfx/cry0a_3.asm | 2 -- audio/sfx/cry0b_1.asm | 2 -- audio/sfx/cry0b_2.asm | 2 -- audio/sfx/cry0b_3.asm | 2 -- audio/sfx/cry0c_1.asm | 2 -- audio/sfx/cry0c_2.asm | 2 -- audio/sfx/cry0c_3.asm | 2 -- audio/sfx/cry0d_1.asm | 2 -- audio/sfx/cry0d_2.asm | 2 -- audio/sfx/cry0d_3.asm | 2 -- audio/sfx/cry0e_1.asm | 2 -- audio/sfx/cry0e_2.asm | 2 -- audio/sfx/cry0e_3.asm | 2 -- audio/sfx/cry0f_1.asm | 2 -- audio/sfx/cry0f_2.asm | 2 -- audio/sfx/cry0f_3.asm | 2 -- audio/sfx/cry10_1.asm | 2 -- audio/sfx/cry10_2.asm | 2 -- audio/sfx/cry10_3.asm | 2 -- audio/sfx/cry11_1.asm | 2 -- audio/sfx/cry11_2.asm | 2 -- audio/sfx/cry11_3.asm | 2 -- audio/sfx/cry12_1.asm | 2 -- audio/sfx/cry12_2.asm | 2 -- audio/sfx/cry12_3.asm | 2 -- audio/sfx/cry13_1.asm | 2 -- audio/sfx/cry13_2.asm | 2 -- audio/sfx/cry13_3.asm | 2 -- audio/sfx/cry14_1.asm | 2 -- audio/sfx/cry14_2.asm | 2 -- audio/sfx/cry14_3.asm | 2 -- audio/sfx/cry15_1.asm | 2 -- audio/sfx/cry15_2.asm | 2 -- audio/sfx/cry15_3.asm | 2 -- audio/sfx/cry16_1.asm | 2 -- audio/sfx/cry16_2.asm | 2 -- audio/sfx/cry16_3.asm | 2 -- audio/sfx/cry17_1.asm | 2 -- audio/sfx/cry17_2.asm | 2 -- audio/sfx/cry17_3.asm | 2 -- audio/sfx/cry18_1.asm | 2 -- audio/sfx/cry18_2.asm | 2 -- audio/sfx/cry18_3.asm | 2 -- audio/sfx/cry19_1.asm | 2 -- audio/sfx/cry19_2.asm | 2 -- audio/sfx/cry19_3.asm | 2 -- audio/sfx/cry1a_1.asm | 2 -- audio/sfx/cry1a_2.asm | 2 -- audio/sfx/cry1a_3.asm | 2 -- audio/sfx/cry1b_1.asm | 2 -- audio/sfx/cry1b_2.asm | 2 -- audio/sfx/cry1b_3.asm | 2 -- audio/sfx/cry1c_1.asm | 2 -- audio/sfx/cry1c_2.asm | 2 -- audio/sfx/cry1c_3.asm | 2 -- audio/sfx/cry1d_1.asm | 2 -- audio/sfx/cry1d_2.asm | 2 -- audio/sfx/cry1d_3.asm | 2 -- audio/sfx/cry1e_1.asm | 2 -- audio/sfx/cry1e_2.asm | 2 -- audio/sfx/cry1e_3.asm | 2 -- audio/sfx/cry1f_1.asm | 2 -- audio/sfx/cry1f_2.asm | 2 -- audio/sfx/cry1f_3.asm | 2 -- audio/sfx/cry20_1.asm | 2 -- audio/sfx/cry20_2.asm | 2 -- audio/sfx/cry20_3.asm | 2 -- audio/sfx/cry21_1.asm | 2 -- audio/sfx/cry21_2.asm | 2 -- audio/sfx/cry21_3.asm | 2 -- audio/sfx/cry22_1.asm | 2 -- audio/sfx/cry22_2.asm | 2 -- audio/sfx/cry22_3.asm | 2 -- audio/sfx/cry23_1.asm | 2 -- audio/sfx/cry23_2.asm | 2 -- audio/sfx/cry23_3.asm | 2 -- audio/sfx/cry24_1.asm | 2 -- audio/sfx/cry24_2.asm | 2 -- audio/sfx/cry24_3.asm | 2 -- audio/sfx/cry25_1.asm | 2 -- audio/sfx/cry25_2.asm | 2 -- audio/sfx/cry25_3.asm | 2 -- audio/sfx/denied_1.asm | 1 - audio/sfx/denied_3.asm | 1 - audio/sfx/dex_page_added.asm | 1 - audio/sfx/faint_thud.asm | 1 - audio/sfx/get_item1_1.asm | 2 -- audio/sfx/get_item1_3.asm | 2 -- audio/sfx/get_item2_1.asm | 2 -- audio/sfx/get_item2_2.asm | 2 -- audio/sfx/get_item2_3.asm | 2 -- audio/sfx/get_key_item_1.asm | 2 -- audio/sfx/get_key_item_3.asm | 2 -- audio/sfx/level_up.asm | 2 -- audio/sfx/pokedex_rating_1.asm | 2 -- audio/sfx/pokedex_rating_3.asm | 2 -- audio/sfx/pokeflute_ch5_ch6.asm | 1 - audio/sfx/psybeam.asm | 2 -- audio/sfx/psychic_m.asm | 2 -- audio/sfx/purchase_1.asm | 1 - audio/sfx/purchase_3.asm | 1 - audio/sfx/save_1.asm | 1 - audio/sfx/save_3.asm | 1 - audio/sfx/slots_new_spin.asm | 1 - audio/sfx/ss_anne_horn_1.asm | 1 - audio/sfx/ss_anne_horn_3.asm | 1 - audio/sfx/swap_1.asm | 1 - audio/sfx/swap_3.asm | 1 - audio/sfx/unused_cry_1.asm | 2 -- audio/sfx/unused_cry_2.asm | 2 -- audio/sfx/unused_cry_3.asm | 2 -- 164 files changed, 7 insertions(+), 312 deletions(-) diff --git a/audio/sfx/59_1.asm b/audio/sfx/59_1.asm index ef909832..64292bc2 100644 --- a/audio/sfx/59_1.asm +++ b/audio/sfx/59_1.asm @@ -3,7 +3,6 @@ SFX_59_1_Ch5: square_note 4, 15, 1, 1920 sound_ret - SFX_59_1_Ch6: duty_cycle 2 square_note 1, 0, 8, 0 diff --git a/audio/sfx/59_3.asm b/audio/sfx/59_3.asm index 7510842f..bfcd1e48 100644 --- a/audio/sfx/59_3.asm +++ b/audio/sfx/59_3.asm @@ -3,7 +3,6 @@ SFX_59_3_Ch5: square_note 4, 15, 1, 1920 sound_ret - SFX_59_3_Ch6: duty_cycle 2 square_note 1, 0, 8, 0 diff --git a/audio/sfx/ball_poof.asm b/audio/sfx/ball_poof.asm index 396adf44..8210406b 100644 --- a/audio/sfx/ball_poof.asm +++ b/audio/sfx/ball_poof.asm @@ -5,7 +5,6 @@ SFX_Ball_Poof_Ch5: pitch_sweep 0, 8 sound_ret - SFX_Ball_Poof_Ch8: noise_note 15, 10, 2, 34 sound_ret diff --git a/audio/sfx/ball_toss.asm b/audio/sfx/ball_toss.asm index 207bf720..065e472c 100644 --- a/audio/sfx/ball_toss.asm +++ b/audio/sfx/ball_toss.asm @@ -4,7 +4,6 @@ SFX_Ball_Toss_Ch5: square_note 15, 15, 2, 1920 sound_ret - SFX_Ball_Toss_Ch6: duty_cycle 2 square_note 15, 12, 2, 1922 diff --git a/audio/sfx/battle_1e.asm b/audio/sfx/battle_1e.asm index 26820e8d..9b04ef49 100644 --- a/audio/sfx/battle_1e.asm +++ b/audio/sfx/battle_1e.asm @@ -7,7 +7,6 @@ SFX_Battle_1E_Ch5: pitch_sweep 0, 8 sound_ret - SFX_Battle_1E_Ch8: noise_note 0, 13, 1, 66 noise_note 4, 10, 1, 50 diff --git a/audio/sfx/battle_24.asm b/audio/sfx/battle_24.asm index f99cf59a..4f53b368 100644 --- a/audio/sfx/battle_24.asm +++ b/audio/sfx/battle_24.asm @@ -5,7 +5,6 @@ SFX_Battle_24_Ch5: pitch_sweep 0, 8 sound_ret - SFX_Battle_24_Ch8: noise_note 15, 3, -7, 34 noise_note 15, 15, 2, 33 diff --git a/audio/sfx/battle_27.asm b/audio/sfx/battle_27.asm index 1b505811..d7b3e0ff 100644 --- a/audio/sfx/battle_27.asm +++ b/audio/sfx/battle_27.asm @@ -1,25 +1,21 @@ SFX_Battle_27_Ch5: duty_cycle 2 square_note 15, 3, -7, 1984 - -SFX_Battle_27_branch_2062a: +.loop1: square_note 15, 13, -7, 1984 - sound_loop 4, SFX_Battle_27_branch_2062a + sound_loop 4, .loop1 square_note 15, 13, 1, 1984 sound_ret - SFX_Battle_27_Ch6: duty_cycle_pattern 2, 3, 0, 3 square_note 15, 2, -7, 1992 - -SFX_Battle_27_branch_2063d: +.loop1: square_note 15, 12, -7, 1991 - sound_loop 4, SFX_Battle_27_branch_2063d + sound_loop 4, .loop1 square_note 15, 12, 1, 1992 sound_ret - SFX_Battle_27_Ch8: noise_note 3, 9, 7, 18 noise_note 3, 10, 1, 17 diff --git a/audio/sfx/battle_28.asm b/audio/sfx/battle_28.asm index 467e411d..5913c7a3 100644 --- a/audio/sfx/battle_28.asm +++ b/audio/sfx/battle_28.asm @@ -5,7 +5,6 @@ SFX_Battle_28_Ch5: sound_loop 12, SFX_Battle_28_Ch5 sound_ret - SFX_Battle_28_Ch6: duty_cycle_pattern 2, 3, 0, 3 square_note 0, 14, 1, 1985 @@ -13,7 +12,6 @@ SFX_Battle_28_Ch6: sound_loop 12, SFX_Battle_28_Ch6 sound_ret - SFX_Battle_28_Ch8: noise_note 1, 13, 1, 73 noise_note 1, 13, 1, 41 diff --git a/audio/sfx/battle_29.asm b/audio/sfx/battle_29.asm index c3999ec8..e6b85bc6 100644 --- a/audio/sfx/battle_29.asm +++ b/audio/sfx/battle_29.asm @@ -7,7 +7,6 @@ SFX_Battle_29_Ch5: square_note 15, 12, 2, 272 sound_ret - SFX_Battle_29_Ch8: noise_note 10, 15, 3, 53 noise_note 14, 15, 6, 69 diff --git a/audio/sfx/battle_2a.asm b/audio/sfx/battle_2a.asm index 1faf2dda..7a746b5f 100644 --- a/audio/sfx/battle_2a.asm +++ b/audio/sfx/battle_2a.asm @@ -8,7 +8,6 @@ SFX_Battle_2A_Ch5: square_note 8, 13, 1, 1536 sound_ret - SFX_Battle_2A_Ch6: duty_cycle_pattern 2, 0, 3, 1 square_note 5, 14, 4, 1504 @@ -18,7 +17,6 @@ SFX_Battle_2A_Ch6: sound_loop 3, SFX_Battle_2A_Ch6 sound_ret - SFX_Battle_2A_Ch8: noise_note 5, 12, 3, 51 noise_note 3, 9, 2, 67 diff --git a/audio/sfx/battle_2b.asm b/audio/sfx/battle_2b.asm index d60a96f6..e39cd73d 100644 --- a/audio/sfx/battle_2b.asm +++ b/audio/sfx/battle_2b.asm @@ -9,7 +9,6 @@ SFX_Battle_2B_Ch5: square_note 8, 8, 1, 1024 sound_ret - SFX_Battle_2B_Ch8: noise_note 3, 6, 2, 34 noise_note 3, 10, 2, 50 diff --git a/audio/sfx/battle_2c.asm b/audio/sfx/battle_2c.asm index 7530210f..ed4ad537 100644 --- a/audio/sfx/battle_2c.asm +++ b/audio/sfx/battle_2c.asm @@ -6,7 +6,6 @@ SFX_Battle_2C_Ch5: sound_loop 3, SFX_Battle_2C_Ch5 sound_ret - SFX_Battle_2C_Ch6: duty_cycle_pattern 2, 0, 3, 1 square_note 7, 14, 4, 1072 @@ -15,7 +14,6 @@ SFX_Battle_2C_Ch6: sound_loop 4, SFX_Battle_2C_Ch6 sound_ret - SFX_Battle_2C_Ch8: noise_note 9, 15, 4, 68 noise_note 9, 15, 2, 67 diff --git a/audio/sfx/battle_2e.asm b/audio/sfx/battle_2e.asm index ab5665fa..57f7fe51 100644 --- a/audio/sfx/battle_2e.asm +++ b/audio/sfx/battle_2e.asm @@ -7,7 +7,6 @@ SFX_Battle_2E_Ch5: sound_loop 8, SFX_Battle_2E_Ch5 sound_ret - SFX_Battle_2E_Ch6: duty_cycle_pattern 2, 3, 0, 3 square_note 2, 14, 1, 770 @@ -17,7 +16,6 @@ SFX_Battle_2E_Ch6: sound_loop 8, SFX_Battle_2E_Ch6 sound_ret - SFX_Battle_2E_Ch8: noise_note 2, 13, 3, 16 noise_note 3, 13, 3, 17 diff --git a/audio/sfx/battle_2f.asm b/audio/sfx/battle_2f.asm index dd80e599..0918f50e 100644 --- a/audio/sfx/battle_2f.asm +++ b/audio/sfx/battle_2f.asm @@ -5,7 +5,6 @@ SFX_Battle_2F_Ch5: sound_loop 8, SFX_Battle_2F_Ch5 sound_ret - SFX_Battle_2F_Ch6: duty_cycle_pattern 2, 3, 0, 3 square_note 4, 14, 2, 514 @@ -13,7 +12,6 @@ SFX_Battle_2F_Ch6: sound_loop 9, SFX_Battle_2F_Ch6 sound_ret - SFX_Battle_2F_Ch8: noise_note 4, 15, -7, 67 noise_note 4, 15, 2, 68 diff --git a/audio/sfx/battle_31.asm b/audio/sfx/battle_31.asm index 83dc96f4..7996a7c2 100644 --- a/audio/sfx/battle_31.asm +++ b/audio/sfx/battle_31.asm @@ -7,7 +7,6 @@ SFX_Battle_31_Ch5: square_note 15, 15, 2, 2016 sound_ret - SFX_Battle_31_Ch6: duty_cycle 3 square_note 15, 15, -7, 2018 diff --git a/audio/sfx/battle_32.asm b/audio/sfx/battle_32.asm index c906dcac..d1eaf472 100644 --- a/audio/sfx/battle_32.asm +++ b/audio/sfx/battle_32.asm @@ -5,7 +5,6 @@ SFX_Battle_32_Ch5: pitch_sweep 0, 8 sound_ret - SFX_Battle_32_Ch6: duty_cycle 3 square_note 8, 15, 1, 1793 diff --git a/audio/sfx/battle_33.asm b/audio/sfx/battle_33.asm index 95afe045..85e30347 100644 --- a/audio/sfx/battle_33.asm +++ b/audio/sfx/battle_33.asm @@ -7,7 +7,6 @@ SFX_Battle_33_Ch5: square_note 8, 15, 1, 1792 sound_ret - SFX_Battle_33_Ch6: duty_cycle 3 square_note 6, 14, 1, 1296 diff --git a/audio/sfx/battle_34.asm b/audio/sfx/battle_34.asm index 654049e4..a52e8332 100644 --- a/audio/sfx/battle_34.asm +++ b/audio/sfx/battle_34.asm @@ -5,7 +5,6 @@ SFX_Battle_34_Ch5: square_note 15, 15, 3, 1024 sound_ret - SFX_Battle_34_Ch6: duty_cycle_pattern 2, 3, 1, 0 square_note 8, 14, -7, 960 @@ -13,7 +12,6 @@ SFX_Battle_34_Ch6: square_note 15, 14, 3, 960 sound_ret - SFX_Battle_34_Ch8: noise_note 4, 15, -7, 81 noise_note 8, 15, -7, 84 diff --git a/audio/sfx/battle_35.asm b/audio/sfx/battle_35.asm index e9f78657..b0cc1267 100644 --- a/audio/sfx/battle_35.asm +++ b/audio/sfx/battle_35.asm @@ -12,7 +12,6 @@ SFX_Battle_35_Ch5: note G#, 8 sound_ret - SFX_Battle_35_Ch6: execute_music vibrato 10, 2, 3 diff --git a/audio/sfx/battle_36.asm b/audio/sfx/battle_36.asm index 773bf753..e029c249 100644 --- a/audio/sfx/battle_36.asm +++ b/audio/sfx/battle_36.asm @@ -11,15 +11,13 @@ SFX_Battle_36_Ch5: square_note 2, 15, 1, 1984 square_note 2, 15, 1, 1792 square_note 2, 15, 1, 2000 - -SFX_Battle_36_branch_20930: +.loop1: square_note 2, 15, 1, 1792 square_note 2, 15, 1, 2016 - sound_loop 12, SFX_Battle_36_branch_20930 + sound_loop 12, .loop1 square_note 15, 15, 1, 1792 sound_ret - SFX_Battle_36_Ch6: duty_cycle_pattern 2, 3, 0, 3 square_note 2, 15, 1, 1921 @@ -35,11 +33,10 @@ SFX_Battle_36_Ch6: square_note 2, 15, 1, 2001 square_note 2, 15, 1, 1793 square_note 2, 15, 1, 2017 - sound_loop 12, SFX_Battle_36_branch_20930 + sound_loop 12, SFX_Battle_36_Ch5.loop1 square_note 15, 15, 1, 1793 sound_ret - SFX_Battle_36_Ch8: noise_note 1, 13, 1, 73 noise_note 1, 13, 1, 41 diff --git a/audio/sfx/caught_mon.asm b/audio/sfx/caught_mon.asm index 3fe278f3..aeae799d 100644 --- a/audio/sfx/caught_mon.asm +++ b/audio/sfx/caught_mon.asm @@ -21,7 +21,6 @@ SFX_Caught_Mon_Ch5: note E_, 8 sound_ret - SFX_Caught_Mon_Ch6: execute_music duty_cycle 2 @@ -43,7 +42,6 @@ SFX_Caught_Mon_Ch6: note G#, 8 sound_ret - SFX_Caught_Mon_Ch7: execute_music note_type 6, 1, 0 diff --git a/audio/sfx/cry00_1.asm b/audio/sfx/cry00_1.asm index 22a41634..8bcd5c7c 100644 --- a/audio/sfx/cry00_1.asm +++ b/audio/sfx/cry00_1.asm @@ -5,7 +5,6 @@ SFX_Cry00_1_Ch5: square_note 8, 9, 1, 1880 sound_ret - SFX_Cry00_1_Ch6: duty_cycle_pattern 2, 2, 0, 0 square_note 5, 11, 3, 1800 @@ -13,7 +12,6 @@ SFX_Cry00_1_Ch6: square_note 8, 7, 1, 1864 sound_ret - SFX_Cry00_1_Ch8: noise_note 3, 10, 1, 28 noise_note 14, 9, 4, 44 diff --git a/audio/sfx/cry00_2.asm b/audio/sfx/cry00_2.asm index 97d17e8f..df8fabc6 100644 --- a/audio/sfx/cry00_2.asm +++ b/audio/sfx/cry00_2.asm @@ -5,7 +5,6 @@ SFX_Cry00_2_Ch5: square_note 8, 9, 1, 1880 sound_ret - SFX_Cry00_2_Ch6: duty_cycle_pattern 2, 2, 0, 0 square_note 5, 11, 3, 1800 @@ -13,7 +12,6 @@ SFX_Cry00_2_Ch6: square_note 8, 7, 1, 1864 sound_ret - SFX_Cry00_2_Ch8: noise_note 3, 10, 1, 28 noise_note 14, 9, 4, 44 diff --git a/audio/sfx/cry00_3.asm b/audio/sfx/cry00_3.asm index e332c35e..bc3c4977 100644 --- a/audio/sfx/cry00_3.asm +++ b/audio/sfx/cry00_3.asm @@ -5,7 +5,6 @@ SFX_Cry00_3_Ch5: square_note 8, 9, 1, 1880 sound_ret - SFX_Cry00_3_Ch6: duty_cycle_pattern 2, 2, 0, 0 square_note 5, 11, 3, 1800 @@ -13,7 +12,6 @@ SFX_Cry00_3_Ch6: square_note 8, 7, 1, 1864 sound_ret - SFX_Cry00_3_Ch8: noise_note 3, 10, 1, 28 noise_note 14, 9, 4, 44 diff --git a/audio/sfx/cry01_1.asm b/audio/sfx/cry01_1.asm index cb35392b..51d468c2 100644 --- a/audio/sfx/cry01_1.asm +++ b/audio/sfx/cry01_1.asm @@ -6,7 +6,6 @@ SFX_Cry01_1_Ch5: square_note 8, 13, 1, 1808 sound_ret - SFX_Cry01_1_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 5, 11, 3, 1777 @@ -15,7 +14,6 @@ SFX_Cry01_1_Ch6: square_note 8, 11, 1, 1537 sound_ret - SFX_Cry01_1_Ch8: noise_note 3, 10, 2, 60 noise_note 12, 9, 4, 44 diff --git a/audio/sfx/cry01_2.asm b/audio/sfx/cry01_2.asm index 449adac7..31c130a6 100644 --- a/audio/sfx/cry01_2.asm +++ b/audio/sfx/cry01_2.asm @@ -6,7 +6,6 @@ SFX_Cry01_2_Ch5: square_note 8, 13, 1, 1808 sound_ret - SFX_Cry01_2_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 5, 11, 3, 1777 @@ -15,7 +14,6 @@ SFX_Cry01_2_Ch6: square_note 8, 11, 1, 1537 sound_ret - SFX_Cry01_2_Ch8: noise_note 3, 10, 2, 60 noise_note 12, 9, 4, 44 diff --git a/audio/sfx/cry01_3.asm b/audio/sfx/cry01_3.asm index ef8e5e8c..5e8e8ea9 100644 --- a/audio/sfx/cry01_3.asm +++ b/audio/sfx/cry01_3.asm @@ -6,7 +6,6 @@ SFX_Cry01_3_Ch5: square_note 8, 13, 1, 1808 sound_ret - SFX_Cry01_3_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 5, 11, 3, 1777 @@ -15,7 +14,6 @@ SFX_Cry01_3_Ch6: square_note 8, 11, 1, 1537 sound_ret - SFX_Cry01_3_Ch8: noise_note 3, 10, 2, 60 noise_note 12, 9, 4, 44 diff --git a/audio/sfx/cry02_1.asm b/audio/sfx/cry02_1.asm index 3db37e97..3191ac1f 100644 --- a/audio/sfx/cry02_1.asm +++ b/audio/sfx/cry02_1.asm @@ -5,13 +5,11 @@ SFX_Cry02_1_Ch5: square_note 8, 13, 1, 1500 sound_ret - SFX_Cry02_1_Ch6: duty_cycle_pattern 2, 2, 1, 1 square_note 7, 9, 5, 1089 square_note 2, 8, 1, 1313 square_note 8, 6, 1, 1306 - SFX_Cry02_1_Ch8: sound_ret diff --git a/audio/sfx/cry02_2.asm b/audio/sfx/cry02_2.asm index a623e071..9657bb51 100644 --- a/audio/sfx/cry02_2.asm +++ b/audio/sfx/cry02_2.asm @@ -5,13 +5,11 @@ SFX_Cry02_2_Ch5: square_note 8, 13, 1, 1500 sound_ret - SFX_Cry02_2_Ch6: duty_cycle_pattern 2, 2, 1, 1 square_note 7, 9, 5, 1089 square_note 2, 8, 1, 1313 square_note 8, 6, 1, 1306 - SFX_Cry02_2_Ch8: sound_ret diff --git a/audio/sfx/cry02_3.asm b/audio/sfx/cry02_3.asm index 4e0861d1..6a7d5bc8 100644 --- a/audio/sfx/cry02_3.asm +++ b/audio/sfx/cry02_3.asm @@ -5,13 +5,11 @@ SFX_Cry02_3_Ch5: square_note 8, 13, 1, 1500 sound_ret - SFX_Cry02_3_Ch6: duty_cycle_pattern 2, 2, 1, 1 square_note 7, 9, 5, 1089 square_note 2, 8, 1, 1313 square_note 8, 6, 1, 1306 - SFX_Cry02_3_Ch8: sound_ret diff --git a/audio/sfx/cry03_1.asm b/audio/sfx/cry03_1.asm index cb58c394..34f348f6 100644 --- a/audio/sfx/cry03_1.asm +++ b/audio/sfx/cry03_1.asm @@ -9,7 +9,6 @@ SFX_Cry03_1_Ch5: square_note 8, 14, 1, 1408 sound_ret - SFX_Cry03_1_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 4, 12, 7, 1284 @@ -21,7 +20,6 @@ SFX_Cry03_1_Ch6: square_note 8, 12, 1, 1154 sound_ret - SFX_Cry03_1_Ch8: noise_note 12, 14, 4, 76 noise_note 10, 12, 7, 92 diff --git a/audio/sfx/cry03_2.asm b/audio/sfx/cry03_2.asm index 2813ce1a..92abf562 100644 --- a/audio/sfx/cry03_2.asm +++ b/audio/sfx/cry03_2.asm @@ -9,7 +9,6 @@ SFX_Cry03_2_Ch5: square_note 8, 14, 1, 1408 sound_ret - SFX_Cry03_2_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 4, 12, 7, 1284 @@ -21,7 +20,6 @@ SFX_Cry03_2_Ch6: square_note 8, 12, 1, 1154 sound_ret - SFX_Cry03_2_Ch8: noise_note 12, 14, 4, 76 noise_note 10, 12, 7, 92 diff --git a/audio/sfx/cry03_3.asm b/audio/sfx/cry03_3.asm index ae561a7a..58919104 100644 --- a/audio/sfx/cry03_3.asm +++ b/audio/sfx/cry03_3.asm @@ -9,7 +9,6 @@ SFX_Cry03_3_Ch5: square_note 8, 14, 1, 1408 sound_ret - SFX_Cry03_3_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 4, 12, 7, 1284 @@ -21,7 +20,6 @@ SFX_Cry03_3_Ch6: square_note 8, 12, 1, 1154 sound_ret - SFX_Cry03_3_Ch8: noise_note 12, 14, 4, 76 noise_note 10, 12, 7, 92 diff --git a/audio/sfx/cry04_1.asm b/audio/sfx/cry04_1.asm index 24662192..21b18815 100644 --- a/audio/sfx/cry04_1.asm +++ b/audio/sfx/cry04_1.asm @@ -9,7 +9,6 @@ SFX_Cry04_1_Ch5: square_note 8, 11, 1, 1552 sound_ret - SFX_Cry04_1_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 4, 14, 7, 1537 @@ -21,7 +20,6 @@ SFX_Cry04_1_Ch6: square_note 8, 10, 1, 1393 sound_ret - SFX_Cry04_1_Ch8: noise_note 7, 13, 6, 92 noise_note 8, 14, 6, 76 diff --git a/audio/sfx/cry04_2.asm b/audio/sfx/cry04_2.asm index f18fd9cd..1b96453a 100644 --- a/audio/sfx/cry04_2.asm +++ b/audio/sfx/cry04_2.asm @@ -9,7 +9,6 @@ SFX_Cry04_2_Ch5: square_note 8, 11, 1, 1552 sound_ret - SFX_Cry04_2_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 4, 14, 7, 1537 @@ -21,7 +20,6 @@ SFX_Cry04_2_Ch6: square_note 8, 10, 1, 1393 sound_ret - SFX_Cry04_2_Ch8: noise_note 7, 13, 6, 92 noise_note 8, 14, 6, 76 diff --git a/audio/sfx/cry04_3.asm b/audio/sfx/cry04_3.asm index 718af40f..448c440e 100644 --- a/audio/sfx/cry04_3.asm +++ b/audio/sfx/cry04_3.asm @@ -9,7 +9,6 @@ SFX_Cry04_3_Ch5: square_note 8, 11, 1, 1552 sound_ret - SFX_Cry04_3_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 4, 14, 7, 1537 @@ -21,7 +20,6 @@ SFX_Cry04_3_Ch6: square_note 8, 10, 1, 1393 sound_ret - SFX_Cry04_3_Ch8: noise_note 7, 13, 6, 92 noise_note 8, 14, 6, 76 diff --git a/audio/sfx/cry05_1.asm b/audio/sfx/cry05_1.asm index 1c3fce20..5a65899a 100644 --- a/audio/sfx/cry05_1.asm +++ b/audio/sfx/cry05_1.asm @@ -6,7 +6,6 @@ SFX_Cry05_1_Ch5: square_note 8, 10, 1, 1376 sound_ret - SFX_Cry05_1_Ch6: duty_cycle_pattern 3, 3, 1, 1 square_note 6, 14, 2, 1154 @@ -14,6 +13,5 @@ SFX_Cry05_1_Ch6: square_note 6, 11, 2, 1250 square_note 8, 8, 1, 1217 - SFX_Cry05_1_Ch8: sound_ret diff --git a/audio/sfx/cry05_2.asm b/audio/sfx/cry05_2.asm index 53f076f2..660491ef 100644 --- a/audio/sfx/cry05_2.asm +++ b/audio/sfx/cry05_2.asm @@ -6,7 +6,6 @@ SFX_Cry05_2_Ch5: square_note 8, 10, 1, 1376 sound_ret - SFX_Cry05_2_Ch6: duty_cycle_pattern 3, 3, 1, 1 square_note 6, 14, 2, 1154 @@ -14,6 +13,5 @@ SFX_Cry05_2_Ch6: square_note 6, 11, 2, 1250 square_note 8, 8, 1, 1217 - SFX_Cry05_2_Ch8: sound_ret diff --git a/audio/sfx/cry05_3.asm b/audio/sfx/cry05_3.asm index 2d5b02b8..84242151 100644 --- a/audio/sfx/cry05_3.asm +++ b/audio/sfx/cry05_3.asm @@ -6,7 +6,6 @@ SFX_Cry05_3_Ch5: square_note 8, 10, 1, 1376 sound_ret - SFX_Cry05_3_Ch6: duty_cycle_pattern 3, 3, 1, 1 square_note 6, 14, 2, 1154 @@ -14,6 +13,5 @@ SFX_Cry05_3_Ch6: square_note 6, 11, 2, 1250 square_note 8, 8, 1, 1217 - SFX_Cry05_3_Ch8: sound_ret diff --git a/audio/sfx/cry06_1.asm b/audio/sfx/cry06_1.asm index 03b75b0a..bdd9f414 100644 --- a/audio/sfx/cry06_1.asm +++ b/audio/sfx/cry06_1.asm @@ -7,11 +7,9 @@ SFX_Cry06_1_Ch5: square_note 15, 8, 2, 549 square_note 15, 4, 2, 519 - SFX_Cry06_1_Ch6: sound_ret - SFX_Cry06_1_Ch8: noise_note 8, 13, 4, 140 noise_note 4, 14, 2, 156 diff --git a/audio/sfx/cry06_2.asm b/audio/sfx/cry06_2.asm index 6ddbfeb0..dd5938ad 100644 --- a/audio/sfx/cry06_2.asm +++ b/audio/sfx/cry06_2.asm @@ -7,11 +7,9 @@ SFX_Cry06_2_Ch5: square_note 15, 8, 2, 549 square_note 15, 4, 2, 519 - SFX_Cry06_2_Ch6: sound_ret - SFX_Cry06_2_Ch8: noise_note 8, 13, 4, 140 noise_note 4, 14, 2, 156 diff --git a/audio/sfx/cry06_3.asm b/audio/sfx/cry06_3.asm index d509053b..7dd94de3 100644 --- a/audio/sfx/cry06_3.asm +++ b/audio/sfx/cry06_3.asm @@ -7,11 +7,9 @@ SFX_Cry06_3_Ch5: square_note 15, 8, 2, 549 square_note 15, 4, 2, 519 - SFX_Cry06_3_Ch6: sound_ret - SFX_Cry06_3_Ch8: noise_note 8, 13, 4, 140 noise_note 4, 14, 2, 156 diff --git a/audio/sfx/cry07_1.asm b/audio/sfx/cry07_1.asm index 3733e746..86c61da7 100644 --- a/audio/sfx/cry07_1.asm +++ b/audio/sfx/cry07_1.asm @@ -5,7 +5,6 @@ SFX_Cry07_1_Ch5: square_note 8, 12, 1, 1568 sound_ret - SFX_Cry07_1_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 3, 12, 3, 1667 @@ -13,7 +12,6 @@ SFX_Cry07_1_Ch6: square_note 8, 10, 1, 1537 sound_ret - SFX_Cry07_1_Ch8: noise_note 4, 13, 3, 92 noise_note 15, 14, 6, 76 diff --git a/audio/sfx/cry07_2.asm b/audio/sfx/cry07_2.asm index 6a134397..d4aa6ce2 100644 --- a/audio/sfx/cry07_2.asm +++ b/audio/sfx/cry07_2.asm @@ -5,7 +5,6 @@ SFX_Cry07_2_Ch5: square_note 8, 12, 1, 1568 sound_ret - SFX_Cry07_2_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 3, 12, 3, 1667 @@ -13,7 +12,6 @@ SFX_Cry07_2_Ch6: square_note 8, 10, 1, 1537 sound_ret - SFX_Cry07_2_Ch8: noise_note 4, 13, 3, 92 noise_note 15, 14, 6, 76 diff --git a/audio/sfx/cry07_3.asm b/audio/sfx/cry07_3.asm index a8b60f38..213335df 100644 --- a/audio/sfx/cry07_3.asm +++ b/audio/sfx/cry07_3.asm @@ -5,7 +5,6 @@ SFX_Cry07_3_Ch5: square_note 8, 12, 1, 1568 sound_ret - SFX_Cry07_3_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 3, 12, 3, 1667 @@ -13,7 +12,6 @@ SFX_Cry07_3_Ch6: square_note 8, 10, 1, 1537 sound_ret - SFX_Cry07_3_Ch8: noise_note 4, 13, 3, 92 noise_note 15, 14, 6, 76 diff --git a/audio/sfx/cry08_1.asm b/audio/sfx/cry08_1.asm index 92f17fa8..1950e1ff 100644 --- a/audio/sfx/cry08_1.asm +++ b/audio/sfx/cry08_1.asm @@ -6,7 +6,6 @@ SFX_Cry08_1_Ch5: square_note 15, 11, 2, 1340 sound_ret - SFX_Cry08_1_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 14, 13, 6, 1283 @@ -15,7 +14,6 @@ SFX_Cry08_1_Ch6: square_note 15, 10, 2, 1243 sound_ret - SFX_Cry08_1_Ch8: noise_note 12, 14, 6, 76 noise_note 11, 13, 7, 92 diff --git a/audio/sfx/cry08_2.asm b/audio/sfx/cry08_2.asm index 53ac2891..7b6bb949 100644 --- a/audio/sfx/cry08_2.asm +++ b/audio/sfx/cry08_2.asm @@ -6,7 +6,6 @@ SFX_Cry08_2_Ch5: square_note 15, 11, 2, 1340 sound_ret - SFX_Cry08_2_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 14, 13, 6, 1283 @@ -15,7 +14,6 @@ SFX_Cry08_2_Ch6: square_note 15, 10, 2, 1243 sound_ret - SFX_Cry08_2_Ch8: noise_note 12, 14, 6, 76 noise_note 11, 13, 7, 92 diff --git a/audio/sfx/cry08_3.asm b/audio/sfx/cry08_3.asm index 81bcf360..850f452d 100644 --- a/audio/sfx/cry08_3.asm +++ b/audio/sfx/cry08_3.asm @@ -6,7 +6,6 @@ SFX_Cry08_3_Ch5: square_note 15, 11, 2, 1340 sound_ret - SFX_Cry08_3_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 14, 13, 6, 1283 @@ -15,7 +14,6 @@ SFX_Cry08_3_Ch6: square_note 15, 10, 2, 1243 sound_ret - SFX_Cry08_3_Ch8: noise_note 12, 14, 6, 76 noise_note 11, 13, 7, 92 diff --git a/audio/sfx/cry09_1.asm b/audio/sfx/cry09_1.asm index f8c600bd..a59ef288 100644 --- a/audio/sfx/cry09_1.asm +++ b/audio/sfx/cry09_1.asm @@ -9,7 +9,6 @@ SFX_Cry09_1_Ch5: square_note 15, 15, 2, 2008 sound_ret - SFX_Cry09_1_Ch6: duty_cycle_pattern 0, 0, 1, 1 square_note 2, 0, 8, 0 @@ -22,7 +21,6 @@ SFX_Cry09_1_Ch6: square_note 15, 10, 2, 1751 sound_ret - SFX_Cry09_1_Ch8: noise_note 2, 15, 2, 60 noise_note 8, 14, 4, 62 diff --git a/audio/sfx/cry09_2.asm b/audio/sfx/cry09_2.asm index 12965e07..683b5b52 100644 --- a/audio/sfx/cry09_2.asm +++ b/audio/sfx/cry09_2.asm @@ -9,7 +9,6 @@ SFX_Cry09_2_Ch5: square_note 15, 15, 2, 2008 sound_ret - SFX_Cry09_2_Ch6: duty_cycle_pattern 0, 0, 1, 1 square_note 2, 0, 8, 0 @@ -22,7 +21,6 @@ SFX_Cry09_2_Ch6: square_note 15, 10, 2, 1751 sound_ret - SFX_Cry09_2_Ch8: noise_note 2, 15, 2, 60 noise_note 8, 14, 4, 62 diff --git a/audio/sfx/cry09_3.asm b/audio/sfx/cry09_3.asm index 2c85d750..e77ec78d 100644 --- a/audio/sfx/cry09_3.asm +++ b/audio/sfx/cry09_3.asm @@ -9,7 +9,6 @@ SFX_Cry09_3_Ch5: square_note 15, 15, 2, 2008 sound_ret - SFX_Cry09_3_Ch6: duty_cycle_pattern 0, 0, 1, 1 square_note 2, 0, 8, 0 @@ -22,7 +21,6 @@ SFX_Cry09_3_Ch6: square_note 15, 10, 2, 1751 sound_ret - SFX_Cry09_3_Ch8: noise_note 2, 15, 2, 60 noise_note 8, 14, 4, 62 diff --git a/audio/sfx/cry0a_1.asm b/audio/sfx/cry0a_1.asm index bcb71844..5d9dc5fa 100644 --- a/audio/sfx/cry0a_1.asm +++ b/audio/sfx/cry0a_1.asm @@ -9,7 +9,6 @@ SFX_Cry0A_1_Ch5: square_note 15, 10, 2, 1736 sound_ret - SFX_Cry0A_1_Ch6: duty_cycle_pattern 0, 0, 1, 1 square_note 3, 0, 8, 0 @@ -22,7 +21,6 @@ SFX_Cry0A_1_Ch6: square_note 15, 7, 2, 1673 sound_ret - SFX_Cry0A_1_Ch8: noise_note 2, 15, 2, 60 noise_note 8, 14, 4, 62 diff --git a/audio/sfx/cry0a_2.asm b/audio/sfx/cry0a_2.asm index fb365e91..a2c9e97e 100644 --- a/audio/sfx/cry0a_2.asm +++ b/audio/sfx/cry0a_2.asm @@ -9,7 +9,6 @@ SFX_Cry0A_2_Ch5: square_note 15, 10, 2, 1736 sound_ret - SFX_Cry0A_2_Ch6: duty_cycle_pattern 0, 0, 1, 1 square_note 3, 0, 8, 0 @@ -22,7 +21,6 @@ SFX_Cry0A_2_Ch6: square_note 15, 7, 2, 1673 sound_ret - SFX_Cry0A_2_Ch8: noise_note 2, 15, 2, 60 noise_note 8, 14, 4, 62 diff --git a/audio/sfx/cry0a_3.asm b/audio/sfx/cry0a_3.asm index bf6dfcf1..28129736 100644 --- a/audio/sfx/cry0a_3.asm +++ b/audio/sfx/cry0a_3.asm @@ -9,7 +9,6 @@ SFX_Cry0A_3_Ch5: square_note 15, 10, 2, 1736 sound_ret - SFX_Cry0A_3_Ch6: duty_cycle_pattern 0, 0, 1, 1 square_note 3, 0, 8, 0 @@ -22,7 +21,6 @@ SFX_Cry0A_3_Ch6: square_note 15, 7, 2, 1673 sound_ret - SFX_Cry0A_3_Ch8: noise_note 2, 15, 2, 60 noise_note 8, 14, 4, 62 diff --git a/audio/sfx/cry0b_1.asm b/audio/sfx/cry0b_1.asm index 51e445ab..8336817c 100644 --- a/audio/sfx/cry0b_1.asm +++ b/audio/sfx/cry0b_1.asm @@ -12,7 +12,6 @@ SFX_Cry0B_1_Ch5: square_note 8, 11, 1, 1857 sound_ret - SFX_Cry0B_1_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 12, 0, 8, 0 @@ -24,7 +23,6 @@ SFX_Cry0B_1_Ch6: square_note 8, 13, 1, 1793 sound_ret - SFX_Cry0B_1_Ch8: noise_note 15, 0, 8, 0 noise_note 4, 0, 8, 0 diff --git a/audio/sfx/cry0b_2.asm b/audio/sfx/cry0b_2.asm index 68cb0ba6..37b22af9 100644 --- a/audio/sfx/cry0b_2.asm +++ b/audio/sfx/cry0b_2.asm @@ -12,7 +12,6 @@ SFX_Cry0B_2_Ch5: square_note 8, 11, 1, 1857 sound_ret - SFX_Cry0B_2_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 12, 0, 8, 0 @@ -24,7 +23,6 @@ SFX_Cry0B_2_Ch6: square_note 8, 13, 1, 1793 sound_ret - SFX_Cry0B_2_Ch8: noise_note 15, 0, 8, 0 noise_note 4, 0, 8, 0 diff --git a/audio/sfx/cry0b_3.asm b/audio/sfx/cry0b_3.asm index 3328a8b6..8ed2b5ff 100644 --- a/audio/sfx/cry0b_3.asm +++ b/audio/sfx/cry0b_3.asm @@ -12,7 +12,6 @@ SFX_Cry0B_3_Ch5: square_note 8, 11, 1, 1857 sound_ret - SFX_Cry0B_3_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 12, 0, 8, 0 @@ -24,7 +23,6 @@ SFX_Cry0B_3_Ch6: square_note 8, 13, 1, 1793 sound_ret - SFX_Cry0B_3_Ch8: noise_note 15, 0, 8, 0 noise_note 4, 0, 8, 0 diff --git a/audio/sfx/cry0c_1.asm b/audio/sfx/cry0c_1.asm index a59f9e8d..0c0d84fd 100644 --- a/audio/sfx/cry0c_1.asm +++ b/audio/sfx/cry0c_1.asm @@ -11,7 +11,6 @@ SFX_Cry0C_1_Ch5: square_note 8, 12, 1, 1568 sound_ret - SFX_Cry0C_1_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 12, 12, 3, 1472 @@ -24,6 +23,5 @@ SFX_Cry0C_1_Ch6: square_note 2, 9, 1, 1497 square_note 8, 9, 1, 1505 - SFX_Cry0C_1_Ch8: sound_ret diff --git a/audio/sfx/cry0c_2.asm b/audio/sfx/cry0c_2.asm index 5be195a9..74a4c488 100644 --- a/audio/sfx/cry0c_2.asm +++ b/audio/sfx/cry0c_2.asm @@ -11,7 +11,6 @@ SFX_Cry0C_2_Ch5: square_note 8, 12, 1, 1568 sound_ret - SFX_Cry0C_2_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 12, 12, 3, 1472 @@ -24,6 +23,5 @@ SFX_Cry0C_2_Ch6: square_note 2, 9, 1, 1497 square_note 8, 9, 1, 1505 - SFX_Cry0C_2_Ch8: sound_ret diff --git a/audio/sfx/cry0c_3.asm b/audio/sfx/cry0c_3.asm index f75f7a64..925a3eae 100644 --- a/audio/sfx/cry0c_3.asm +++ b/audio/sfx/cry0c_3.asm @@ -11,7 +11,6 @@ SFX_Cry0C_3_Ch5: square_note 8, 12, 1, 1568 sound_ret - SFX_Cry0C_3_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 12, 12, 3, 1472 @@ -24,6 +23,5 @@ SFX_Cry0C_3_Ch6: square_note 2, 9, 1, 1497 square_note 8, 9, 1, 1505 - SFX_Cry0C_3_Ch8: sound_ret diff --git a/audio/sfx/cry0d_1.asm b/audio/sfx/cry0d_1.asm index 3bd1c4e5..ce9d07f1 100644 --- a/audio/sfx/cry0d_1.asm +++ b/audio/sfx/cry0d_1.asm @@ -9,7 +9,6 @@ SFX_Cry0D_1_Ch5: sound_loop 2, SFX_Cry0D_1_Ch5 sound_ret - SFX_Cry0D_1_Ch6: duty_cycle_pattern 1, 0, 0, 0 square_note 4, 0, 8, 0 @@ -25,7 +24,6 @@ SFX_Cry0D_1_Ch6: square_note 4, 13, 1, 1569 sound_ret - SFX_Cry0D_1_Ch8: noise_note 6, 13, 2, 28 noise_note 9, 11, 1, 44 diff --git a/audio/sfx/cry0d_2.asm b/audio/sfx/cry0d_2.asm index 1c57d5dc..7191493c 100644 --- a/audio/sfx/cry0d_2.asm +++ b/audio/sfx/cry0d_2.asm @@ -9,7 +9,6 @@ SFX_Cry0D_2_Ch5: sound_loop 2, SFX_Cry0D_2_Ch5 sound_ret - SFX_Cry0D_2_Ch6: duty_cycle_pattern 1, 0, 0, 0 square_note 4, 0, 8, 0 @@ -25,7 +24,6 @@ SFX_Cry0D_2_Ch6: square_note 4, 13, 1, 1569 sound_ret - SFX_Cry0D_2_Ch8: noise_note 6, 13, 2, 28 noise_note 9, 11, 1, 44 diff --git a/audio/sfx/cry0d_3.asm b/audio/sfx/cry0d_3.asm index be354add..d82f8b43 100644 --- a/audio/sfx/cry0d_3.asm +++ b/audio/sfx/cry0d_3.asm @@ -9,7 +9,6 @@ SFX_Cry0D_3_Ch5: sound_loop 2, SFX_Cry0D_3_Ch5 sound_ret - SFX_Cry0D_3_Ch6: duty_cycle_pattern 1, 0, 0, 0 square_note 4, 0, 8, 0 @@ -25,7 +24,6 @@ SFX_Cry0D_3_Ch6: square_note 4, 13, 1, 1569 sound_ret - SFX_Cry0D_3_Ch8: noise_note 6, 13, 2, 28 noise_note 9, 11, 1, 44 diff --git a/audio/sfx/cry0e_1.asm b/audio/sfx/cry0e_1.asm index 183280e2..e73e6b05 100644 --- a/audio/sfx/cry0e_1.asm +++ b/audio/sfx/cry0e_1.asm @@ -6,7 +6,6 @@ SFX_Cry0E_1_Ch5: square_note 8, 14, 1, 1536 sound_ret - SFX_Cry0E_1_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 4, 11, 1, 1761 @@ -15,7 +14,6 @@ SFX_Cry0E_1_Ch6: square_note 8, 11, 1, 1505 sound_ret - SFX_Cry0E_1_Ch8: noise_note 2, 6, 1, 50 noise_note 2, 6, 1, 33 diff --git a/audio/sfx/cry0e_2.asm b/audio/sfx/cry0e_2.asm index 905adbb3..f83fd85d 100644 --- a/audio/sfx/cry0e_2.asm +++ b/audio/sfx/cry0e_2.asm @@ -6,7 +6,6 @@ SFX_Cry0E_2_Ch5: square_note 8, 14, 1, 1536 sound_ret - SFX_Cry0E_2_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 4, 11, 1, 1761 @@ -15,7 +14,6 @@ SFX_Cry0E_2_Ch6: square_note 8, 11, 1, 1505 sound_ret - SFX_Cry0E_2_Ch8: noise_note 2, 6, 1, 50 noise_note 2, 6, 1, 33 diff --git a/audio/sfx/cry0e_3.asm b/audio/sfx/cry0e_3.asm index a17dc577..c3eed046 100644 --- a/audio/sfx/cry0e_3.asm +++ b/audio/sfx/cry0e_3.asm @@ -6,7 +6,6 @@ SFX_Cry0E_3_Ch5: square_note 8, 14, 1, 1536 sound_ret - SFX_Cry0E_3_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 4, 11, 1, 1761 @@ -15,7 +14,6 @@ SFX_Cry0E_3_Ch6: square_note 8, 11, 1, 1505 sound_ret - SFX_Cry0E_3_Ch8: noise_note 2, 6, 1, 50 noise_note 2, 6, 1, 33 diff --git a/audio/sfx/cry0f_1.asm b/audio/sfx/cry0f_1.asm index 2cf79d6d..41c463c3 100644 --- a/audio/sfx/cry0f_1.asm +++ b/audio/sfx/cry0f_1.asm @@ -8,7 +8,6 @@ SFX_Cry0F_1_Ch5: square_note 8, 12, 1, 1600 sound_ret - SFX_Cry0F_1_Ch6: duty_cycle_pattern 3, 0, 3, 0 square_note 3, 12, 7, 1921 @@ -19,7 +18,6 @@ SFX_Cry0F_1_Ch6: square_note 8, 10, 1, 1538 sound_ret - SFX_Cry0F_1_Ch8: noise_note 3, 14, 4, 60 noise_note 12, 13, 6, 44 diff --git a/audio/sfx/cry0f_2.asm b/audio/sfx/cry0f_2.asm index 39f70bfe..306ed6e1 100644 --- a/audio/sfx/cry0f_2.asm +++ b/audio/sfx/cry0f_2.asm @@ -8,7 +8,6 @@ SFX_Cry0F_2_Ch5: square_note 8, 12, 1, 1600 sound_ret - SFX_Cry0F_2_Ch6: duty_cycle_pattern 3, 0, 3, 0 square_note 3, 12, 7, 1921 @@ -19,7 +18,6 @@ SFX_Cry0F_2_Ch6: square_note 8, 10, 1, 1538 sound_ret - SFX_Cry0F_2_Ch8: noise_note 3, 14, 4, 60 noise_note 12, 13, 6, 44 diff --git a/audio/sfx/cry0f_3.asm b/audio/sfx/cry0f_3.asm index f96df482..04c18c7d 100644 --- a/audio/sfx/cry0f_3.asm +++ b/audio/sfx/cry0f_3.asm @@ -8,7 +8,6 @@ SFX_Cry0F_3_Ch5: square_note 8, 12, 1, 1600 sound_ret - SFX_Cry0F_3_Ch6: duty_cycle_pattern 3, 0, 3, 0 square_note 3, 12, 7, 1921 @@ -19,7 +18,6 @@ SFX_Cry0F_3_Ch6: square_note 8, 10, 1, 1538 sound_ret - SFX_Cry0F_3_Ch8: noise_note 3, 14, 4, 60 noise_note 12, 13, 6, 44 diff --git a/audio/sfx/cry10_1.asm b/audio/sfx/cry10_1.asm index dc8d2b71..f8273bc8 100644 --- a/audio/sfx/cry10_1.asm +++ b/audio/sfx/cry10_1.asm @@ -10,7 +10,6 @@ SFX_Cry10_1_Ch5: square_note 15, 9, 1, 1824 sound_ret - SFX_Cry10_1_Ch6: duty_cycle_pattern 1, 3, 2, 1 square_note 10, 14, 7, 1666 @@ -23,7 +22,6 @@ SFX_Cry10_1_Ch6: square_note 15, 8, 1, 1826 sound_ret - SFX_Cry10_1_Ch8: noise_note 4, 7, 4, 33 noise_note 4, 7, 4, 16 diff --git a/audio/sfx/cry10_2.asm b/audio/sfx/cry10_2.asm index f026f7c1..580736ef 100644 --- a/audio/sfx/cry10_2.asm +++ b/audio/sfx/cry10_2.asm @@ -10,7 +10,6 @@ SFX_Cry10_2_Ch5: square_note 15, 9, 1, 1824 sound_ret - SFX_Cry10_2_Ch6: duty_cycle_pattern 1, 3, 2, 1 square_note 10, 14, 7, 1666 @@ -23,7 +22,6 @@ SFX_Cry10_2_Ch6: square_note 15, 8, 1, 1826 sound_ret - SFX_Cry10_2_Ch8: noise_note 4, 7, 4, 33 noise_note 4, 7, 4, 16 diff --git a/audio/sfx/cry10_3.asm b/audio/sfx/cry10_3.asm index 4b494b60..551fcfed 100644 --- a/audio/sfx/cry10_3.asm +++ b/audio/sfx/cry10_3.asm @@ -10,7 +10,6 @@ SFX_Cry10_3_Ch5: square_note 15, 9, 1, 1824 sound_ret - SFX_Cry10_3_Ch6: duty_cycle_pattern 1, 3, 2, 1 square_note 10, 14, 7, 1666 @@ -23,7 +22,6 @@ SFX_Cry10_3_Ch6: square_note 15, 8, 1, 1826 sound_ret - SFX_Cry10_3_Ch8: noise_note 4, 7, 4, 33 noise_note 4, 7, 4, 16 diff --git a/audio/sfx/cry11_1.asm b/audio/sfx/cry11_1.asm index 09fa8123..823b8163 100644 --- a/audio/sfx/cry11_1.asm +++ b/audio/sfx/cry11_1.asm @@ -9,7 +9,6 @@ SFX_Cry11_1_Ch5: square_note 8, 11, 1, 1840 sound_ret - SFX_Cry11_1_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 4, 0, 8, 0 @@ -22,7 +21,6 @@ SFX_Cry11_1_Ch6: square_note 8, 7, 1, 1752 sound_ret - SFX_Cry11_1_Ch8: noise_note 2, 15, 2, 76 noise_note 6, 14, 6, 58 diff --git a/audio/sfx/cry11_2.asm b/audio/sfx/cry11_2.asm index b51b01c1..7fab820b 100644 --- a/audio/sfx/cry11_2.asm +++ b/audio/sfx/cry11_2.asm @@ -9,7 +9,6 @@ SFX_Cry11_2_Ch5: square_note 8, 11, 1, 1840 sound_ret - SFX_Cry11_2_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 4, 0, 8, 0 @@ -22,7 +21,6 @@ SFX_Cry11_2_Ch6: square_note 8, 7, 1, 1752 sound_ret - SFX_Cry11_2_Ch8: noise_note 2, 15, 2, 76 noise_note 6, 14, 6, 58 diff --git a/audio/sfx/cry11_3.asm b/audio/sfx/cry11_3.asm index 1a8b0c10..d462b0a0 100644 --- a/audio/sfx/cry11_3.asm +++ b/audio/sfx/cry11_3.asm @@ -9,7 +9,6 @@ SFX_Cry11_3_Ch5: square_note 8, 11, 1, 1840 sound_ret - SFX_Cry11_3_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 4, 0, 8, 0 @@ -22,7 +21,6 @@ SFX_Cry11_3_Ch6: square_note 8, 7, 1, 1752 sound_ret - SFX_Cry11_3_Ch8: noise_note 2, 15, 2, 76 noise_note 6, 14, 6, 58 diff --git a/audio/sfx/cry12_1.asm b/audio/sfx/cry12_1.asm index d2ee5f6e..dcef04a9 100644 --- a/audio/sfx/cry12_1.asm +++ b/audio/sfx/cry12_1.asm @@ -6,7 +6,6 @@ SFX_Cry12_1_Ch5: square_note 8, 13, 1, 1152 sound_ret - SFX_Cry12_1_Ch6: duty_cycle_pattern 3, 2, 3, 2 square_note 11, 13, 2, 1080 @@ -15,7 +14,6 @@ SFX_Cry12_1_Ch6: square_note 8, 11, 1, 1144 sound_ret - SFX_Cry12_1_Ch8: noise_note 10, 14, 6, 108 noise_note 15, 13, 2, 92 diff --git a/audio/sfx/cry12_2.asm b/audio/sfx/cry12_2.asm index 8a4afa2a..4fb94d86 100644 --- a/audio/sfx/cry12_2.asm +++ b/audio/sfx/cry12_2.asm @@ -6,7 +6,6 @@ SFX_Cry12_2_Ch5: square_note 8, 13, 1, 1152 sound_ret - SFX_Cry12_2_Ch6: duty_cycle_pattern 3, 2, 3, 2 square_note 11, 13, 2, 1080 @@ -15,7 +14,6 @@ SFX_Cry12_2_Ch6: square_note 8, 11, 1, 1144 sound_ret - SFX_Cry12_2_Ch8: noise_note 10, 14, 6, 108 noise_note 15, 13, 2, 92 diff --git a/audio/sfx/cry12_3.asm b/audio/sfx/cry12_3.asm index b114cdf4..26335800 100644 --- a/audio/sfx/cry12_3.asm +++ b/audio/sfx/cry12_3.asm @@ -6,7 +6,6 @@ SFX_Cry12_3_Ch5: square_note 8, 13, 1, 1152 sound_ret - SFX_Cry12_3_Ch6: duty_cycle_pattern 3, 2, 3, 2 square_note 11, 13, 2, 1080 @@ -15,7 +14,6 @@ SFX_Cry12_3_Ch6: square_note 8, 11, 1, 1144 sound_ret - SFX_Cry12_3_Ch8: noise_note 10, 14, 6, 108 noise_note 15, 13, 2, 92 diff --git a/audio/sfx/cry13_1.asm b/audio/sfx/cry13_1.asm index 7ba33d8d..767a61b0 100644 --- a/audio/sfx/cry13_1.asm +++ b/audio/sfx/cry13_1.asm @@ -8,7 +8,6 @@ SFX_Cry13_1_Ch5: square_note 8, 11, 1, 1536 sound_ret - SFX_Cry13_1_Ch6: duty_cycle_pattern 2, 1, 2, 1 square_note 14, 12, 6, 1201 @@ -19,7 +18,6 @@ SFX_Cry13_1_Ch6: square_note 8, 9, 1, 1265 sound_ret - SFX_Cry13_1_Ch8: noise_note 10, 14, 6, 92 noise_note 10, 13, 6, 108 diff --git a/audio/sfx/cry13_2.asm b/audio/sfx/cry13_2.asm index 31ba80a1..b76aa7b8 100644 --- a/audio/sfx/cry13_2.asm +++ b/audio/sfx/cry13_2.asm @@ -8,7 +8,6 @@ SFX_Cry13_2_Ch5: square_note 8, 11, 1, 1536 sound_ret - SFX_Cry13_2_Ch6: duty_cycle_pattern 2, 1, 2, 1 square_note 14, 12, 6, 1201 @@ -19,7 +18,6 @@ SFX_Cry13_2_Ch6: square_note 8, 9, 1, 1265 sound_ret - SFX_Cry13_2_Ch8: noise_note 10, 14, 6, 92 noise_note 10, 13, 6, 108 diff --git a/audio/sfx/cry13_3.asm b/audio/sfx/cry13_3.asm index 8ca4cb0b..b6b52ed2 100644 --- a/audio/sfx/cry13_3.asm +++ b/audio/sfx/cry13_3.asm @@ -8,7 +8,6 @@ SFX_Cry13_3_Ch5: square_note 8, 11, 1, 1536 sound_ret - SFX_Cry13_3_Ch6: duty_cycle_pattern 2, 1, 2, 1 square_note 14, 12, 6, 1201 @@ -19,7 +18,6 @@ SFX_Cry13_3_Ch6: square_note 8, 9, 1, 1265 sound_ret - SFX_Cry13_3_Ch8: noise_note 10, 14, 6, 92 noise_note 10, 13, 6, 108 diff --git a/audio/sfx/cry14_1.asm b/audio/sfx/cry14_1.asm index d892918f..f1411c55 100644 --- a/audio/sfx/cry14_1.asm +++ b/audio/sfx/cry14_1.asm @@ -5,7 +5,6 @@ SFX_Cry14_1_Ch5: square_note 8, 13, 1, 2008 sound_ret - SFX_Cry14_1_Ch6: duty_cycle_pattern 2, 2, 1, 1 square_note 10, 12, 4, 1905 @@ -13,7 +12,6 @@ SFX_Cry14_1_Ch6: square_note 8, 10, 1, 1975 sound_ret - SFX_Cry14_1_Ch8: noise_note 8, 14, 4, 76 noise_note 14, 12, 4, 60 diff --git a/audio/sfx/cry14_2.asm b/audio/sfx/cry14_2.asm index 040bfe10..b9b7e394 100644 --- a/audio/sfx/cry14_2.asm +++ b/audio/sfx/cry14_2.asm @@ -5,7 +5,6 @@ SFX_Cry14_2_Ch5: square_note 8, 13, 1, 2008 sound_ret - SFX_Cry14_2_Ch6: duty_cycle_pattern 2, 2, 1, 1 square_note 10, 12, 4, 1905 @@ -13,7 +12,6 @@ SFX_Cry14_2_Ch6: square_note 8, 10, 1, 1975 sound_ret - SFX_Cry14_2_Ch8: noise_note 8, 14, 4, 76 noise_note 14, 12, 4, 60 diff --git a/audio/sfx/cry14_3.asm b/audio/sfx/cry14_3.asm index 142707c5..69446d1d 100644 --- a/audio/sfx/cry14_3.asm +++ b/audio/sfx/cry14_3.asm @@ -5,7 +5,6 @@ SFX_Cry14_3_Ch5: square_note 8, 13, 1, 2008 sound_ret - SFX_Cry14_3_Ch6: duty_cycle_pattern 2, 2, 1, 1 square_note 10, 12, 4, 1905 @@ -13,7 +12,6 @@ SFX_Cry14_3_Ch6: square_note 8, 10, 1, 1975 sound_ret - SFX_Cry14_3_Ch8: noise_note 8, 14, 4, 76 noise_note 14, 12, 4, 60 diff --git a/audio/sfx/cry15_1.asm b/audio/sfx/cry15_1.asm index 473d46cb..e040ed42 100644 --- a/audio/sfx/cry15_1.asm +++ b/audio/sfx/cry15_1.asm @@ -8,7 +8,6 @@ SFX_Cry15_1_Ch5: square_note 8, 12, 1, 1760 sound_ret - SFX_Cry15_1_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 6, 12, 3, 1793 @@ -19,7 +18,6 @@ SFX_Cry15_1_Ch6: square_note 8, 10, 1, 1633 sound_ret - SFX_Cry15_1_Ch8: noise_note 6, 14, 3, 92 noise_note 14, 13, 6, 76 diff --git a/audio/sfx/cry15_2.asm b/audio/sfx/cry15_2.asm index 82398789..eeb5e658 100644 --- a/audio/sfx/cry15_2.asm +++ b/audio/sfx/cry15_2.asm @@ -8,7 +8,6 @@ SFX_Cry15_2_Ch5: square_note 8, 12, 1, 1760 sound_ret - SFX_Cry15_2_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 6, 12, 3, 1793 @@ -19,7 +18,6 @@ SFX_Cry15_2_Ch6: square_note 8, 10, 1, 1633 sound_ret - SFX_Cry15_2_Ch8: noise_note 6, 14, 3, 92 noise_note 14, 13, 6, 76 diff --git a/audio/sfx/cry15_3.asm b/audio/sfx/cry15_3.asm index dcd6683b..07729564 100644 --- a/audio/sfx/cry15_3.asm +++ b/audio/sfx/cry15_3.asm @@ -8,7 +8,6 @@ SFX_Cry15_3_Ch5: square_note 8, 12, 1, 1760 sound_ret - SFX_Cry15_3_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 6, 12, 3, 1793 @@ -19,7 +18,6 @@ SFX_Cry15_3_Ch6: square_note 8, 10, 1, 1633 sound_ret - SFX_Cry15_3_Ch8: noise_note 6, 14, 3, 92 noise_note 14, 13, 6, 76 diff --git a/audio/sfx/cry16_1.asm b/audio/sfx/cry16_1.asm index 410ec4ad..f8e249f7 100644 --- a/audio/sfx/cry16_1.asm +++ b/audio/sfx/cry16_1.asm @@ -5,7 +5,6 @@ SFX_Cry16_1_Ch5: square_note 15, 13, 2, 1856 sound_ret - SFX_Cry16_1_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 15, 12, 7, 1875 @@ -13,7 +12,6 @@ SFX_Cry16_1_Ch6: square_note 15, 12, 2, 1809 sound_ret - SFX_Cry16_1_Ch8: noise_note 13, 15, 6, 76 noise_note 4, 14, 6, 60 diff --git a/audio/sfx/cry16_2.asm b/audio/sfx/cry16_2.asm index a91355a6..bb23a93f 100644 --- a/audio/sfx/cry16_2.asm +++ b/audio/sfx/cry16_2.asm @@ -5,7 +5,6 @@ SFX_Cry16_2_Ch5: square_note 15, 13, 2, 1856 sound_ret - SFX_Cry16_2_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 15, 12, 7, 1875 @@ -13,7 +12,6 @@ SFX_Cry16_2_Ch6: square_note 15, 12, 2, 1809 sound_ret - SFX_Cry16_2_Ch8: noise_note 13, 15, 6, 76 noise_note 4, 14, 6, 60 diff --git a/audio/sfx/cry16_3.asm b/audio/sfx/cry16_3.asm index 838a4241..eb136770 100644 --- a/audio/sfx/cry16_3.asm +++ b/audio/sfx/cry16_3.asm @@ -5,7 +5,6 @@ SFX_Cry16_3_Ch5: square_note 15, 13, 2, 1856 sound_ret - SFX_Cry16_3_Ch6: duty_cycle_pattern 1, 1, 2, 2 square_note 15, 12, 7, 1875 @@ -13,7 +12,6 @@ SFX_Cry16_3_Ch6: square_note 15, 12, 2, 1809 sound_ret - SFX_Cry16_3_Ch8: noise_note 13, 15, 6, 76 noise_note 4, 14, 6, 60 diff --git a/audio/sfx/cry17_1.asm b/audio/sfx/cry17_1.asm index dcfde2bc..f9838dc2 100644 --- a/audio/sfx/cry17_1.asm +++ b/audio/sfx/cry17_1.asm @@ -6,7 +6,6 @@ SFX_Cry17_1_Ch5: square_note 15, 10, 2, 1120 sound_ret - SFX_Cry17_1_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 14, 13, 7, 1153 @@ -15,7 +14,6 @@ SFX_Cry17_1_Ch6: square_note 15, 12, 2, 993 sound_ret - SFX_Cry17_1_Ch8: noise_note 14, 15, 7, 124 noise_note 12, 15, 6, 108 diff --git a/audio/sfx/cry17_2.asm b/audio/sfx/cry17_2.asm index f2b1f366..0906f36a 100644 --- a/audio/sfx/cry17_2.asm +++ b/audio/sfx/cry17_2.asm @@ -6,7 +6,6 @@ SFX_Cry17_2_Ch5: square_note 15, 10, 2, 1120 sound_ret - SFX_Cry17_2_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 14, 13, 7, 1153 @@ -15,7 +14,6 @@ SFX_Cry17_2_Ch6: square_note 15, 12, 2, 993 sound_ret - SFX_Cry17_2_Ch8: noise_note 14, 15, 7, 124 noise_note 12, 15, 6, 108 diff --git a/audio/sfx/cry17_3.asm b/audio/sfx/cry17_3.asm index dabb4dbc..e3cd20dc 100644 --- a/audio/sfx/cry17_3.asm +++ b/audio/sfx/cry17_3.asm @@ -6,7 +6,6 @@ SFX_Cry17_3_Ch5: square_note 15, 10, 2, 1120 sound_ret - SFX_Cry17_3_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 14, 13, 7, 1153 @@ -15,7 +14,6 @@ SFX_Cry17_3_Ch6: square_note 15, 12, 2, 993 sound_ret - SFX_Cry17_3_Ch8: noise_note 14, 15, 7, 124 noise_note 12, 15, 6, 108 diff --git a/audio/sfx/cry18_1.asm b/audio/sfx/cry18_1.asm index c67f03d1..95b84086 100644 --- a/audio/sfx/cry18_1.asm +++ b/audio/sfx/cry18_1.asm @@ -10,7 +10,6 @@ SFX_Cry18_1_Ch5: square_note 8, 12, 1, 1696 sound_ret - SFX_Cry18_1_Ch6: duty_cycle_pattern 0, 0, 3, 3 square_note 9, 13, 5, 1585 @@ -23,7 +22,6 @@ SFX_Cry18_1_Ch6: square_note 8, 11, 1, 1617 sound_ret - SFX_Cry18_1_Ch8: noise_note 6, 14, 3, 76 noise_note 4, 12, 3, 60 diff --git a/audio/sfx/cry18_2.asm b/audio/sfx/cry18_2.asm index 55be1c3f..7600e784 100644 --- a/audio/sfx/cry18_2.asm +++ b/audio/sfx/cry18_2.asm @@ -10,7 +10,6 @@ SFX_Cry18_2_Ch5: square_note 8, 12, 1, 1696 sound_ret - SFX_Cry18_2_Ch6: duty_cycle_pattern 0, 0, 3, 3 square_note 9, 13, 5, 1585 @@ -23,7 +22,6 @@ SFX_Cry18_2_Ch6: square_note 8, 11, 1, 1617 sound_ret - SFX_Cry18_2_Ch8: noise_note 6, 14, 3, 76 noise_note 4, 12, 3, 60 diff --git a/audio/sfx/cry18_3.asm b/audio/sfx/cry18_3.asm index cc0db3ec..60e325fd 100644 --- a/audio/sfx/cry18_3.asm +++ b/audio/sfx/cry18_3.asm @@ -10,7 +10,6 @@ SFX_Cry18_3_Ch5: square_note 8, 12, 1, 1696 sound_ret - SFX_Cry18_3_Ch6: duty_cycle_pattern 0, 0, 3, 3 square_note 9, 13, 5, 1585 @@ -23,7 +22,6 @@ SFX_Cry18_3_Ch6: square_note 8, 11, 1, 1617 sound_ret - SFX_Cry18_3_Ch8: noise_note 6, 14, 3, 76 noise_note 4, 12, 3, 60 diff --git a/audio/sfx/cry19_1.asm b/audio/sfx/cry19_1.asm index eca89a1c..d6e12b82 100644 --- a/audio/sfx/cry19_1.asm +++ b/audio/sfx/cry19_1.asm @@ -5,7 +5,6 @@ SFX_Cry19_1_Ch5: square_note 15, 12, 1, 1840 sound_ret - SFX_Cry19_1_Ch6: duty_cycle_pattern 2, 0, 0, 1 square_note 2, 12, 2, 1793 @@ -13,6 +12,5 @@ SFX_Cry19_1_Ch6: square_note 15, 13, 7, 1857 square_note 15, 10, 2, 1793 - SFX_Cry19_1_Ch8: sound_ret diff --git a/audio/sfx/cry19_2.asm b/audio/sfx/cry19_2.asm index 3a7d51fd..b4f95a21 100644 --- a/audio/sfx/cry19_2.asm +++ b/audio/sfx/cry19_2.asm @@ -5,7 +5,6 @@ SFX_Cry19_2_Ch5: square_note 15, 12, 1, 1840 sound_ret - SFX_Cry19_2_Ch6: duty_cycle_pattern 2, 0, 0, 1 square_note 2, 12, 2, 1793 @@ -13,6 +12,5 @@ SFX_Cry19_2_Ch6: square_note 15, 13, 7, 1857 square_note 15, 10, 2, 1793 - SFX_Cry19_2_Ch8: sound_ret diff --git a/audio/sfx/cry19_3.asm b/audio/sfx/cry19_3.asm index 965e6cf0..4ba66cff 100644 --- a/audio/sfx/cry19_3.asm +++ b/audio/sfx/cry19_3.asm @@ -5,7 +5,6 @@ SFX_Cry19_3_Ch5: square_note 15, 12, 1, 1840 sound_ret - SFX_Cry19_3_Ch6: duty_cycle_pattern 2, 0, 0, 1 square_note 2, 12, 2, 1793 @@ -13,6 +12,5 @@ SFX_Cry19_3_Ch6: square_note 15, 13, 7, 1857 square_note 15, 10, 2, 1793 - SFX_Cry19_3_Ch8: sound_ret diff --git a/audio/sfx/cry1a_1.asm b/audio/sfx/cry1a_1.asm index f319878a..c1a94a23 100644 --- a/audio/sfx/cry1a_1.asm +++ b/audio/sfx/cry1a_1.asm @@ -8,7 +8,6 @@ SFX_Cry1A_1_Ch5: square_note 8, 13, 1, 1952 sound_ret - SFX_Cry1A_1_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 6, 12, 7, 1793 @@ -19,7 +18,6 @@ SFX_Cry1A_1_Ch6: square_note 8, 9, 1, 1890 sound_ret - SFX_Cry1A_1_Ch8: noise_note 3, 14, 2, 60 noise_note 8, 13, 6, 76 diff --git a/audio/sfx/cry1a_2.asm b/audio/sfx/cry1a_2.asm index 64fd0674..3e4c7528 100644 --- a/audio/sfx/cry1a_2.asm +++ b/audio/sfx/cry1a_2.asm @@ -8,7 +8,6 @@ SFX_Cry1A_2_Ch5: square_note 8, 13, 1, 1952 sound_ret - SFX_Cry1A_2_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 6, 12, 7, 1793 @@ -19,7 +18,6 @@ SFX_Cry1A_2_Ch6: square_note 8, 9, 1, 1890 sound_ret - SFX_Cry1A_2_Ch8: noise_note 3, 14, 2, 60 noise_note 8, 13, 6, 76 diff --git a/audio/sfx/cry1a_3.asm b/audio/sfx/cry1a_3.asm index a55f0dcf..91f011e7 100644 --- a/audio/sfx/cry1a_3.asm +++ b/audio/sfx/cry1a_3.asm @@ -8,7 +8,6 @@ SFX_Cry1A_3_Ch5: square_note 8, 13, 1, 1952 sound_ret - SFX_Cry1A_3_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 6, 12, 7, 1793 @@ -19,7 +18,6 @@ SFX_Cry1A_3_Ch6: square_note 8, 9, 1, 1890 sound_ret - SFX_Cry1A_3_Ch8: noise_note 3, 14, 2, 60 noise_note 8, 13, 6, 76 diff --git a/audio/sfx/cry1b_1.asm b/audio/sfx/cry1b_1.asm index 0070a0f1..9515f66b 100644 --- a/audio/sfx/cry1b_1.asm +++ b/audio/sfx/cry1b_1.asm @@ -7,7 +7,6 @@ SFX_Cry1B_1_Ch5: square_note 8, 13, 1, 1744 sound_ret - SFX_Cry1B_1_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 7, 14, 6, 1665 @@ -17,7 +16,6 @@ SFX_Cry1B_1_Ch6: square_note 8, 12, 1, 1681 sound_ret - SFX_Cry1B_1_Ch8: noise_note 10, 10, 6, 60 noise_note 14, 9, 4, 44 diff --git a/audio/sfx/cry1b_2.asm b/audio/sfx/cry1b_2.asm index 9453ce9b..871cf892 100644 --- a/audio/sfx/cry1b_2.asm +++ b/audio/sfx/cry1b_2.asm @@ -7,7 +7,6 @@ SFX_Cry1B_2_Ch5: square_note 8, 13, 1, 1744 sound_ret - SFX_Cry1B_2_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 7, 14, 6, 1665 @@ -17,7 +16,6 @@ SFX_Cry1B_2_Ch6: square_note 8, 12, 1, 1681 sound_ret - SFX_Cry1B_2_Ch8: noise_note 10, 10, 6, 60 noise_note 14, 9, 4, 44 diff --git a/audio/sfx/cry1b_3.asm b/audio/sfx/cry1b_3.asm index f6a1d76a..625f66c8 100644 --- a/audio/sfx/cry1b_3.asm +++ b/audio/sfx/cry1b_3.asm @@ -7,7 +7,6 @@ SFX_Cry1B_3_Ch5: square_note 8, 13, 1, 1744 sound_ret - SFX_Cry1B_3_Ch6: duty_cycle_pattern 0, 0, 2, 2 square_note 7, 14, 6, 1665 @@ -17,7 +16,6 @@ SFX_Cry1B_3_Ch6: square_note 8, 12, 1, 1681 sound_ret - SFX_Cry1B_3_Ch8: noise_note 10, 10, 6, 60 noise_note 14, 9, 4, 44 diff --git a/audio/sfx/cry1c_1.asm b/audio/sfx/cry1c_1.asm index 929835a5..f23a0426 100644 --- a/audio/sfx/cry1c_1.asm +++ b/audio/sfx/cry1c_1.asm @@ -10,7 +10,6 @@ SFX_Cry1C_1_Ch5: square_note 8, 10, 1, 2015 sound_ret - SFX_Cry1C_1_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 6, 12, 3, 1993 @@ -21,7 +20,6 @@ SFX_Cry1C_1_Ch6: square_note 15, 10, 2, 1989 sound_ret - SFX_Cry1C_1_Ch8: noise_note 13, 1, -1, 124 noise_note 13, 15, 7, 140 diff --git a/audio/sfx/cry1c_2.asm b/audio/sfx/cry1c_2.asm index c9f23916..adea2c80 100644 --- a/audio/sfx/cry1c_2.asm +++ b/audio/sfx/cry1c_2.asm @@ -10,7 +10,6 @@ SFX_Cry1C_2_Ch5: square_note 8, 10, 1, 2015 sound_ret - SFX_Cry1C_2_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 6, 12, 3, 1993 @@ -21,7 +20,6 @@ SFX_Cry1C_2_Ch6: square_note 15, 10, 2, 1989 sound_ret - SFX_Cry1C_2_Ch8: noise_note 13, 1, -1, 124 noise_note 13, 15, 7, 140 diff --git a/audio/sfx/cry1c_3.asm b/audio/sfx/cry1c_3.asm index 7b18f038..182bda93 100644 --- a/audio/sfx/cry1c_3.asm +++ b/audio/sfx/cry1c_3.asm @@ -10,7 +10,6 @@ SFX_Cry1C_3_Ch5: square_note 8, 10, 1, 2015 sound_ret - SFX_Cry1C_3_Ch6: duty_cycle_pattern 1, 0, 1, 0 square_note 6, 12, 3, 1993 @@ -21,7 +20,6 @@ SFX_Cry1C_3_Ch6: square_note 15, 10, 2, 1989 sound_ret - SFX_Cry1C_3_Ch8: noise_note 13, 1, -1, 124 noise_note 13, 15, 7, 140 diff --git a/audio/sfx/cry1d_1.asm b/audio/sfx/cry1d_1.asm index a532ec5c..d7999114 100644 --- a/audio/sfx/cry1d_1.asm +++ b/audio/sfx/cry1d_1.asm @@ -8,7 +8,6 @@ SFX_Cry1D_1_Ch5: square_note 8, 10, 1, 1572 sound_ret - SFX_Cry1D_1_Ch6: duty_cycle_pattern 0, 2, 0, 2 square_note 15, 11, 0, 1731 @@ -19,7 +18,6 @@ SFX_Cry1D_1_Ch6: square_note 8, 6, 1, 1512 sound_ret - SFX_Cry1D_1_Ch8: noise_note 6, 14, 6, 76 noise_note 15, 13, 6, 60 diff --git a/audio/sfx/cry1d_2.asm b/audio/sfx/cry1d_2.asm index c919ba1e..063e2490 100644 --- a/audio/sfx/cry1d_2.asm +++ b/audio/sfx/cry1d_2.asm @@ -8,7 +8,6 @@ SFX_Cry1D_2_Ch5: square_note 8, 10, 1, 1572 sound_ret - SFX_Cry1D_2_Ch6: duty_cycle_pattern 0, 2, 0, 2 square_note 15, 11, 0, 1731 @@ -19,7 +18,6 @@ SFX_Cry1D_2_Ch6: square_note 8, 6, 1, 1512 sound_ret - SFX_Cry1D_2_Ch8: noise_note 6, 14, 6, 76 noise_note 15, 13, 6, 60 diff --git a/audio/sfx/cry1d_3.asm b/audio/sfx/cry1d_3.asm index 47e38997..8cd203cc 100644 --- a/audio/sfx/cry1d_3.asm +++ b/audio/sfx/cry1d_3.asm @@ -8,7 +8,6 @@ SFX_Cry1D_3_Ch5: square_note 8, 10, 1, 1572 sound_ret - SFX_Cry1D_3_Ch6: duty_cycle_pattern 0, 2, 0, 2 square_note 15, 11, 0, 1731 @@ -19,7 +18,6 @@ SFX_Cry1D_3_Ch6: square_note 8, 6, 1, 1512 sound_ret - SFX_Cry1D_3_Ch8: noise_note 6, 14, 6, 76 noise_note 15, 13, 6, 60 diff --git a/audio/sfx/cry1e_1.asm b/audio/sfx/cry1e_1.asm index 19634a5e..b1134905 100644 --- a/audio/sfx/cry1e_1.asm +++ b/audio/sfx/cry1e_1.asm @@ -10,7 +10,6 @@ SFX_Cry1E_1_Ch5: square_note 8, 10, 1, 1984 sound_ret - SFX_Cry1E_1_Ch6: duty_cycle_pattern 0, 1, 0, 1 square_note 3, 0, 8, 1 @@ -24,7 +23,6 @@ SFX_Cry1E_1_Ch6: square_note 8, 8, 1, 1921 sound_ret - SFX_Cry1E_1_Ch8: noise_note 6, 0, 8, 1 noise_note 5, 14, 2, 92 diff --git a/audio/sfx/cry1e_2.asm b/audio/sfx/cry1e_2.asm index 74004489..6a88e67b 100644 --- a/audio/sfx/cry1e_2.asm +++ b/audio/sfx/cry1e_2.asm @@ -10,7 +10,6 @@ SFX_Cry1E_2_Ch5: square_note 8, 10, 1, 1984 sound_ret - SFX_Cry1E_2_Ch6: duty_cycle_pattern 0, 1, 0, 1 square_note 3, 0, 8, 1 @@ -24,7 +23,6 @@ SFX_Cry1E_2_Ch6: square_note 8, 8, 1, 1921 sound_ret - SFX_Cry1E_2_Ch8: noise_note 6, 0, 8, 1 noise_note 5, 14, 2, 92 diff --git a/audio/sfx/cry1e_3.asm b/audio/sfx/cry1e_3.asm index 357c2f71..3e434a93 100644 --- a/audio/sfx/cry1e_3.asm +++ b/audio/sfx/cry1e_3.asm @@ -10,7 +10,6 @@ SFX_Cry1E_3_Ch5: square_note 8, 10, 1, 1984 sound_ret - SFX_Cry1E_3_Ch6: duty_cycle_pattern 0, 1, 0, 1 square_note 3, 0, 8, 1 @@ -24,7 +23,6 @@ SFX_Cry1E_3_Ch6: square_note 8, 8, 1, 1921 sound_ret - SFX_Cry1E_3_Ch8: noise_note 6, 0, 8, 1 noise_note 5, 14, 2, 92 diff --git a/audio/sfx/cry1f_1.asm b/audio/sfx/cry1f_1.asm index 1f5b3a8d..6f55afb8 100644 --- a/audio/sfx/cry1f_1.asm +++ b/audio/sfx/cry1f_1.asm @@ -6,7 +6,6 @@ SFX_Cry1F_1_Ch5: square_note 8, 12, 1, 1818 sound_ret - SFX_Cry1F_1_Ch6: duty_cycle_pattern 3, 0, 3, 0 square_note 4, 15, 4, 1408 @@ -15,7 +14,6 @@ SFX_Cry1F_1_Ch6: square_note 8, 13, 1, 1756 sound_ret - SFX_Cry1F_1_Ch8: noise_note 5, 12, 4, 70 noise_note 13, 10, 5, 68 diff --git a/audio/sfx/cry1f_2.asm b/audio/sfx/cry1f_2.asm index 99f3a056..36adf829 100644 --- a/audio/sfx/cry1f_2.asm +++ b/audio/sfx/cry1f_2.asm @@ -6,7 +6,6 @@ SFX_Cry1F_2_Ch5: square_note 8, 12, 1, 1818 sound_ret - SFX_Cry1F_2_Ch6: duty_cycle_pattern 3, 0, 3, 0 square_note 4, 15, 4, 1408 @@ -15,7 +14,6 @@ SFX_Cry1F_2_Ch6: square_note 8, 13, 1, 1756 sound_ret - SFX_Cry1F_2_Ch8: noise_note 5, 12, 4, 70 noise_note 13, 10, 5, 68 diff --git a/audio/sfx/cry1f_3.asm b/audio/sfx/cry1f_3.asm index c9cf5441..aa7a780a 100644 --- a/audio/sfx/cry1f_3.asm +++ b/audio/sfx/cry1f_3.asm @@ -6,7 +6,6 @@ SFX_Cry1F_3_Ch5: square_note 8, 12, 1, 1818 sound_ret - SFX_Cry1F_3_Ch6: duty_cycle_pattern 3, 0, 3, 0 square_note 4, 15, 4, 1408 @@ -15,7 +14,6 @@ SFX_Cry1F_3_Ch6: square_note 8, 13, 1, 1756 sound_ret - SFX_Cry1F_3_Ch8: noise_note 5, 12, 4, 70 noise_note 13, 10, 5, 68 diff --git a/audio/sfx/cry20_1.asm b/audio/sfx/cry20_1.asm index 15a160ae..f199b33f 100644 --- a/audio/sfx/cry20_1.asm +++ b/audio/sfx/cry20_1.asm @@ -6,7 +6,6 @@ SFX_Cry20_1_Ch5: square_note 8, 13, 1, 1297 sound_ret - SFX_Cry20_1_Ch6: duty_cycle_pattern 0, 1, 1, 1 square_note 12, 14, 1, 1292 @@ -15,7 +14,6 @@ SFX_Cry20_1_Ch6: square_note 8, 12, 1, 1290 sound_ret - SFX_Cry20_1_Ch8: noise_note 14, 15, 2, 101 noise_note 13, 14, 2, 85 diff --git a/audio/sfx/cry20_2.asm b/audio/sfx/cry20_2.asm index 281e478c..2d522fbf 100644 --- a/audio/sfx/cry20_2.asm +++ b/audio/sfx/cry20_2.asm @@ -6,7 +6,6 @@ SFX_Cry20_2_Ch5: square_note 8, 13, 1, 1297 sound_ret - SFX_Cry20_2_Ch6: duty_cycle_pattern 0, 1, 1, 1 square_note 12, 14, 1, 1292 @@ -15,7 +14,6 @@ SFX_Cry20_2_Ch6: square_note 8, 12, 1, 1290 sound_ret - SFX_Cry20_2_Ch8: noise_note 14, 15, 2, 101 noise_note 13, 14, 2, 85 diff --git a/audio/sfx/cry20_3.asm b/audio/sfx/cry20_3.asm index 8191ca6e..f32f3614 100644 --- a/audio/sfx/cry20_3.asm +++ b/audio/sfx/cry20_3.asm @@ -6,7 +6,6 @@ SFX_Cry20_3_Ch5: square_note 8, 13, 1, 1297 sound_ret - SFX_Cry20_3_Ch6: duty_cycle_pattern 0, 1, 1, 1 square_note 12, 14, 1, 1292 @@ -15,7 +14,6 @@ SFX_Cry20_3_Ch6: square_note 8, 12, 1, 1290 sound_ret - SFX_Cry20_3_Ch8: noise_note 14, 15, 2, 101 noise_note 13, 14, 2, 85 diff --git a/audio/sfx/cry21_1.asm b/audio/sfx/cry21_1.asm index 2cf517a8..eaeb7c58 100644 --- a/audio/sfx/cry21_1.asm +++ b/audio/sfx/cry21_1.asm @@ -10,7 +10,6 @@ SFX_Cry21_1_Ch5: square_note 8, 13, 1, 1282 sound_ret - SFX_Cry21_1_Ch6: duty_cycle_pattern 3, 0, 3, 0 square_note 3, 13, 3, 1376 @@ -22,6 +21,5 @@ SFX_Cry21_1_Ch6: square_note 3, 12, 4, 1248 square_note 8, 12, 1, 1280 - SFX_Cry21_1_Ch8: sound_ret diff --git a/audio/sfx/cry21_2.asm b/audio/sfx/cry21_2.asm index 8136de63..9e2bfece 100644 --- a/audio/sfx/cry21_2.asm +++ b/audio/sfx/cry21_2.asm @@ -10,7 +10,6 @@ SFX_Cry21_2_Ch5: square_note 8, 13, 1, 1282 sound_ret - SFX_Cry21_2_Ch6: duty_cycle_pattern 3, 0, 3, 0 square_note 3, 13, 3, 1376 @@ -22,6 +21,5 @@ SFX_Cry21_2_Ch6: square_note 3, 12, 4, 1248 square_note 8, 12, 1, 1280 - SFX_Cry21_2_Ch8: sound_ret diff --git a/audio/sfx/cry21_3.asm b/audio/sfx/cry21_3.asm index d829f9f2..a896bac3 100644 --- a/audio/sfx/cry21_3.asm +++ b/audio/sfx/cry21_3.asm @@ -10,7 +10,6 @@ SFX_Cry21_3_Ch5: square_note 8, 13, 1, 1282 sound_ret - SFX_Cry21_3_Ch6: duty_cycle_pattern 3, 0, 3, 0 square_note 3, 13, 3, 1376 @@ -22,6 +21,5 @@ SFX_Cry21_3_Ch6: square_note 3, 12, 4, 1248 square_note 8, 12, 1, 1280 - SFX_Cry21_3_Ch8: sound_ret diff --git a/audio/sfx/cry22_1.asm b/audio/sfx/cry22_1.asm index dd910103..cc9aa4b8 100644 --- a/audio/sfx/cry22_1.asm +++ b/audio/sfx/cry22_1.asm @@ -6,7 +6,6 @@ SFX_Cry22_1_Ch5: square_note 8, 9, 1, 897 sound_ret - SFX_Cry22_1_Ch6: duty_cycle_pattern 3, 2, 3, 2 square_note 2, 3, -6, 1456 @@ -15,7 +14,6 @@ SFX_Cry22_1_Ch6: square_note 8, 6, 1, 1456 sound_ret - SFX_Cry22_1_Ch8: noise_note 2, 9, 2, 73 noise_note 7, 11, 5, 41 diff --git a/audio/sfx/cry22_2.asm b/audio/sfx/cry22_2.asm index 43e09d67..2ac4b7c6 100644 --- a/audio/sfx/cry22_2.asm +++ b/audio/sfx/cry22_2.asm @@ -6,7 +6,6 @@ SFX_Cry22_2_Ch5: square_note 8, 9, 1, 897 sound_ret - SFX_Cry22_2_Ch6: duty_cycle_pattern 3, 2, 3, 2 square_note 2, 3, -6, 1456 @@ -15,7 +14,6 @@ SFX_Cry22_2_Ch6: square_note 8, 6, 1, 1456 sound_ret - SFX_Cry22_2_Ch8: noise_note 2, 9, 2, 73 noise_note 7, 11, 5, 41 diff --git a/audio/sfx/cry22_3.asm b/audio/sfx/cry22_3.asm index 397edba1..6ed84ed8 100644 --- a/audio/sfx/cry22_3.asm +++ b/audio/sfx/cry22_3.asm @@ -6,7 +6,6 @@ SFX_Cry22_3_Ch5: square_note 8, 9, 1, 897 sound_ret - SFX_Cry22_3_Ch6: duty_cycle_pattern 3, 2, 3, 2 square_note 2, 3, -6, 1456 @@ -15,7 +14,6 @@ SFX_Cry22_3_Ch6: square_note 8, 6, 1, 1456 sound_ret - SFX_Cry22_3_Ch8: noise_note 2, 9, 2, 73 noise_note 7, 11, 5, 41 diff --git a/audio/sfx/cry23_1.asm b/audio/sfx/cry23_1.asm index 5aeafe0f..9f41e5c1 100644 --- a/audio/sfx/cry23_1.asm +++ b/audio/sfx/cry23_1.asm @@ -7,7 +7,6 @@ SFX_Cry23_1_Ch5: square_note 8, 12, 1, 1984 sound_ret - SFX_Cry23_1_Ch6: duty_cycle_pattern 1, 1, 3, 3 square_note 15, 9, 7, 1921 @@ -16,7 +15,6 @@ SFX_Cry23_1_Ch6: square_note 15, 8, 3, 1921 sound_ret - SFX_Cry23_1_Ch8: noise_note 3, 15, 2, 60 noise_note 13, 14, 6, 44 diff --git a/audio/sfx/cry23_2.asm b/audio/sfx/cry23_2.asm index 04e4136b..dd863419 100644 --- a/audio/sfx/cry23_2.asm +++ b/audio/sfx/cry23_2.asm @@ -7,7 +7,6 @@ SFX_Cry23_2_Ch5: square_note 8, 12, 1, 1984 sound_ret - SFX_Cry23_2_Ch6: duty_cycle_pattern 1, 1, 3, 3 square_note 15, 9, 7, 1921 @@ -16,7 +15,6 @@ SFX_Cry23_2_Ch6: square_note 15, 8, 3, 1921 sound_ret - SFX_Cry23_2_Ch8: noise_note 3, 15, 2, 60 noise_note 13, 14, 6, 44 diff --git a/audio/sfx/cry23_3.asm b/audio/sfx/cry23_3.asm index 418e69bb..996be40c 100644 --- a/audio/sfx/cry23_3.asm +++ b/audio/sfx/cry23_3.asm @@ -7,7 +7,6 @@ SFX_Cry23_3_Ch5: square_note 8, 12, 1, 1984 sound_ret - SFX_Cry23_3_Ch6: duty_cycle_pattern 1, 1, 3, 3 square_note 15, 9, 7, 1921 @@ -16,7 +15,6 @@ SFX_Cry23_3_Ch6: square_note 15, 8, 3, 1921 sound_ret - SFX_Cry23_3_Ch8: noise_note 3, 15, 2, 60 noise_note 13, 14, 6, 44 diff --git a/audio/sfx/cry24_1.asm b/audio/sfx/cry24_1.asm index 7e992707..91dd0069 100644 --- a/audio/sfx/cry24_1.asm +++ b/audio/sfx/cry24_1.asm @@ -10,7 +10,6 @@ SFX_Cry24_1_Ch5: square_note 8, 12, 1, 1600 sound_ret - SFX_Cry24_1_Ch6: duty_cycle_pattern 0, 0, 1, 1 square_note 15, 11, 7, 1601 @@ -23,7 +22,6 @@ SFX_Cry24_1_Ch6: square_note 8, 7, 1, 1537 sound_ret - SFX_Cry24_1_Ch8: noise_note 15, 14, 4, 60 noise_note 10, 12, 7, 76 diff --git a/audio/sfx/cry24_2.asm b/audio/sfx/cry24_2.asm index d845f6ed..7bcc150b 100644 --- a/audio/sfx/cry24_2.asm +++ b/audio/sfx/cry24_2.asm @@ -10,7 +10,6 @@ SFX_Cry24_2_Ch5: square_note 8, 12, 1, 1600 sound_ret - SFX_Cry24_2_Ch6: duty_cycle_pattern 0, 0, 1, 1 square_note 15, 11, 7, 1601 @@ -23,7 +22,6 @@ SFX_Cry24_2_Ch6: square_note 8, 7, 1, 1537 sound_ret - SFX_Cry24_2_Ch8: noise_note 15, 14, 4, 60 noise_note 10, 12, 7, 76 diff --git a/audio/sfx/cry24_3.asm b/audio/sfx/cry24_3.asm index e8c1f24e..b8cb248c 100644 --- a/audio/sfx/cry24_3.asm +++ b/audio/sfx/cry24_3.asm @@ -10,7 +10,6 @@ SFX_Cry24_3_Ch5: square_note 8, 12, 1, 1600 sound_ret - SFX_Cry24_3_Ch6: duty_cycle_pattern 0, 0, 1, 1 square_note 15, 11, 7, 1601 @@ -23,7 +22,6 @@ SFX_Cry24_3_Ch6: square_note 8, 7, 1, 1537 sound_ret - SFX_Cry24_3_Ch8: noise_note 15, 14, 4, 60 noise_note 10, 12, 7, 76 diff --git a/audio/sfx/cry25_1.asm b/audio/sfx/cry25_1.asm index 64d59389..62087da9 100644 --- a/audio/sfx/cry25_1.asm +++ b/audio/sfx/cry25_1.asm @@ -7,7 +7,6 @@ SFX_Cry25_1_Ch5: square_note 8, 13, 1, 1872 sound_ret - SFX_Cry25_1_Ch6: duty_cycle_pattern 1, 3, 1, 3 square_note 6, 12, 3, 1810 @@ -17,7 +16,6 @@ SFX_Cry25_1_Ch6: square_note 8, 11, 1, 1842 sound_ret - SFX_Cry25_1_Ch8: noise_note 8, 13, 6, 44 noise_note 12, 12, 6, 60 diff --git a/audio/sfx/cry25_2.asm b/audio/sfx/cry25_2.asm index 8ed47006..011af185 100644 --- a/audio/sfx/cry25_2.asm +++ b/audio/sfx/cry25_2.asm @@ -7,7 +7,6 @@ SFX_Cry25_2_Ch5: square_note 8, 13, 1, 1872 sound_ret - SFX_Cry25_2_Ch6: duty_cycle_pattern 1, 3, 1, 3 square_note 6, 12, 3, 1810 @@ -17,7 +16,6 @@ SFX_Cry25_2_Ch6: square_note 8, 11, 1, 1842 sound_ret - SFX_Cry25_2_Ch8: noise_note 8, 13, 6, 44 noise_note 12, 12, 6, 60 diff --git a/audio/sfx/cry25_3.asm b/audio/sfx/cry25_3.asm index f9800dc8..b9fa96ca 100644 --- a/audio/sfx/cry25_3.asm +++ b/audio/sfx/cry25_3.asm @@ -7,7 +7,6 @@ SFX_Cry25_3_Ch5: square_note 8, 13, 1, 1872 sound_ret - SFX_Cry25_3_Ch6: duty_cycle_pattern 1, 3, 1, 3 square_note 6, 12, 3, 1810 @@ -17,7 +16,6 @@ SFX_Cry25_3_Ch6: square_note 8, 11, 1, 1842 sound_ret - SFX_Cry25_3_Ch8: noise_note 8, 13, 6, 44 noise_note 12, 12, 6, 60 diff --git a/audio/sfx/denied_1.asm b/audio/sfx/denied_1.asm index 2c132003..9ac692c5 100644 --- a/audio/sfx/denied_1.asm +++ b/audio/sfx/denied_1.asm @@ -8,7 +8,6 @@ SFX_Denied_1_Ch5: square_note 1, 0, 0, 0 sound_ret - SFX_Denied_1_Ch6: duty_cycle 3 square_note 4, 15, 0, 1025 diff --git a/audio/sfx/denied_3.asm b/audio/sfx/denied_3.asm index 56a0753f..1db9f0e6 100644 --- a/audio/sfx/denied_3.asm +++ b/audio/sfx/denied_3.asm @@ -8,7 +8,6 @@ SFX_Denied_3_Ch5: square_note 1, 0, 0, 0 sound_ret - SFX_Denied_3_Ch6: duty_cycle 3 square_note 4, 15, 0, 1025 diff --git a/audio/sfx/dex_page_added.asm b/audio/sfx/dex_page_added.asm index 555b3beb..342e5d56 100644 --- a/audio/sfx/dex_page_added.asm +++ b/audio/sfx/dex_page_added.asm @@ -7,7 +7,6 @@ SFX_Dex_Page_Added_Ch5: pitch_sweep 0, 8 sound_ret - SFX_Dex_Page_Added_Ch6: duty_cycle 2 square_note 15, 9, 2, 1536 diff --git a/audio/sfx/faint_thud.asm b/audio/sfx/faint_thud.asm index 527e027f..02e60ba8 100644 --- a/audio/sfx/faint_thud.asm +++ b/audio/sfx/faint_thud.asm @@ -3,7 +3,6 @@ SFX_Faint_Thud_Ch5: pitch_sweep 0, 8 sound_ret - SFX_Faint_Thud_Ch8: noise_note 4, 15, 5, 51 noise_note 8, 15, 4, 34 diff --git a/audio/sfx/get_item1_1.asm b/audio/sfx/get_item1_1.asm index 09f76c70..c8864343 100644 --- a/audio/sfx/get_item1_1.asm +++ b/audio/sfx/get_item1_1.asm @@ -15,7 +15,6 @@ SFX_Get_Item1_1_Ch5: note E_, 4 sound_ret - SFX_Get_Item1_1_Ch6: execute_music vibrato 8, 2, 7 @@ -29,7 +28,6 @@ SFX_Get_Item1_1_Ch6: note B_, 4 sound_ret - SFX_Get_Item1_1_Ch7: execute_music note_type 4, 1, 0 diff --git a/audio/sfx/get_item1_3.asm b/audio/sfx/get_item1_3.asm index dfc1848f..12f17aa8 100644 --- a/audio/sfx/get_item1_3.asm +++ b/audio/sfx/get_item1_3.asm @@ -15,7 +15,6 @@ SFX_Get_Item1_3_Ch5: note E_, 4 sound_ret - SFX_Get_Item1_3_Ch6: execute_music vibrato 8, 2, 7 @@ -29,7 +28,6 @@ SFX_Get_Item1_3_Ch6: note B_, 4 sound_ret - SFX_Get_Item1_3_Ch7: execute_music note_type 4, 1, 0 diff --git a/audio/sfx/get_item2_1.asm b/audio/sfx/get_item2_1.asm index 04bbdae2..f225109f 100644 --- a/audio/sfx/get_item2_1.asm +++ b/audio/sfx/get_item2_1.asm @@ -24,7 +24,6 @@ SFX_Get_Item2_1_Ch5: note C_, 8 sound_ret - SFX_Get_Item2_1_Ch6: execute_music vibrato 8, 2, 7 @@ -45,7 +44,6 @@ SFX_Get_Item2_1_Ch6: note A_, 8 sound_ret - SFX_Get_Item2_1_Ch7: execute_music note_type 5, 1, 0 diff --git a/audio/sfx/get_item2_2.asm b/audio/sfx/get_item2_2.asm index f05e0728..2f7ed947 100644 --- a/audio/sfx/get_item2_2.asm +++ b/audio/sfx/get_item2_2.asm @@ -24,7 +24,6 @@ SFX_Get_Item2_2_Ch5: note C_, 8 sound_ret - SFX_Get_Item2_2_Ch6: execute_music vibrato 8, 2, 7 @@ -45,7 +44,6 @@ SFX_Get_Item2_2_Ch6: note A_, 8 sound_ret - SFX_Get_Item2_2_Ch7: execute_music note_type 5, 1, 0 diff --git a/audio/sfx/get_item2_3.asm b/audio/sfx/get_item2_3.asm index 036d375b..74edbe54 100644 --- a/audio/sfx/get_item2_3.asm +++ b/audio/sfx/get_item2_3.asm @@ -24,7 +24,6 @@ SFX_Get_Item2_3_Ch5: note C_, 8 sound_ret - SFX_Get_Item2_3_Ch6: execute_music vibrato 8, 2, 7 @@ -45,7 +44,6 @@ SFX_Get_Item2_3_Ch6: note A_, 8 sound_ret - SFX_Get_Item2_3_Ch7: execute_music note_type 5, 1, 0 diff --git a/audio/sfx/get_key_item_1.asm b/audio/sfx/get_key_item_1.asm index a19f1143..59e868b4 100644 --- a/audio/sfx/get_key_item_1.asm +++ b/audio/sfx/get_key_item_1.asm @@ -22,7 +22,6 @@ SFX_Get_Key_Item_1_Ch5: note A#, 8 sound_ret - SFX_Get_Key_Item_1_Ch6: execute_music vibrato 4, 2, 3 @@ -46,7 +45,6 @@ SFX_Get_Key_Item_1_Ch6: note D#, 8 sound_ret - SFX_Get_Key_Item_1_Ch7: execute_music note_type 5, 1, 0 diff --git a/audio/sfx/get_key_item_3.asm b/audio/sfx/get_key_item_3.asm index c1063a7f..f06ba09d 100644 --- a/audio/sfx/get_key_item_3.asm +++ b/audio/sfx/get_key_item_3.asm @@ -22,7 +22,6 @@ SFX_Get_Key_Item_3_Ch5: note A#, 8 sound_ret - SFX_Get_Key_Item_3_Ch6: execute_music vibrato 4, 2, 3 @@ -46,7 +45,6 @@ SFX_Get_Key_Item_3_Ch6: note D#, 8 sound_ret - SFX_Get_Key_Item_3_Ch7: execute_music note_type 5, 1, 0 diff --git a/audio/sfx/level_up.asm b/audio/sfx/level_up.asm index f1af4978..6ec2a17c 100644 --- a/audio/sfx/level_up.asm +++ b/audio/sfx/level_up.asm @@ -19,7 +19,6 @@ SFX_Level_Up_Ch5: note F_, 8 sound_ret - SFX_Level_Up_Ch6: execute_music vibrato 4, 2, 2 @@ -39,7 +38,6 @@ SFX_Level_Up_Ch6: note A_, 8 sound_ret - SFX_Level_Up_Ch7: execute_music note_type 6, 1, 0 diff --git a/audio/sfx/pokedex_rating_1.asm b/audio/sfx/pokedex_rating_1.asm index 0df1138f..4e7d58fa 100644 --- a/audio/sfx/pokedex_rating_1.asm +++ b/audio/sfx/pokedex_rating_1.asm @@ -20,7 +20,6 @@ SFX_Pokedex_Rating_1_Ch5: note F_, 4 sound_ret - SFX_Pokedex_Rating_1_Ch6: execute_music duty_cycle 2 @@ -43,7 +42,6 @@ SFX_Pokedex_Rating_1_Ch6: note F_, 4 sound_ret - SFX_Pokedex_Rating_1_Ch7: execute_music note_type 5, 1, 0 diff --git a/audio/sfx/pokedex_rating_3.asm b/audio/sfx/pokedex_rating_3.asm index 18dbcda2..a7142a1d 100644 --- a/audio/sfx/pokedex_rating_3.asm +++ b/audio/sfx/pokedex_rating_3.asm @@ -20,7 +20,6 @@ SFX_Pokedex_Rating_3_Ch5: note F_, 4 sound_ret - SFX_Pokedex_Rating_3_Ch6: execute_music duty_cycle 2 @@ -43,7 +42,6 @@ SFX_Pokedex_Rating_3_Ch6: note F_, 4 sound_ret - SFX_Pokedex_Rating_3_Ch7: execute_music note_type 5, 1, 0 diff --git a/audio/sfx/pokeflute_ch5_ch6.asm b/audio/sfx/pokeflute_ch5_ch6.asm index 4f0e96a8..e17eb3cc 100644 --- a/audio/sfx/pokeflute_ch5_ch6.asm +++ b/audio/sfx/pokeflute_ch5_ch6.asm @@ -1,7 +1,6 @@ SFX_Pokeflute_Ch5: tempo 256 - SFX_Pokeflute_Ch6: execute_music note_type 8, 0, 0 diff --git a/audio/sfx/psybeam.asm b/audio/sfx/psybeam.asm index 2b94cf6d..d6bf3b42 100644 --- a/audio/sfx/psybeam.asm +++ b/audio/sfx/psybeam.asm @@ -7,7 +7,6 @@ SFX_Psybeam_Ch5: square_note 10, 15, 1, 1600 sound_ret - SFX_Psybeam_Ch6: duty_cycle_pattern 2, 3, 0, 3 square_note 10, 15, 3, 1393 @@ -17,7 +16,6 @@ SFX_Psybeam_Ch6: square_note 10, 15, 1, 1393 sound_ret - SFX_Psybeam_Ch8: noise_note 2, 13, 1, 74 noise_note 2, 13, 2, 42 diff --git a/audio/sfx/psychic_m.asm b/audio/sfx/psychic_m.asm index ff0ab384..36aefff8 100644 --- a/audio/sfx/psychic_m.asm +++ b/audio/sfx/psychic_m.asm @@ -10,7 +10,6 @@ SFX_Psychic_M_Ch5: pitch_sweep 0, 8 sound_ret - SFX_Psychic_M_Ch6: duty_cycle 2 square_note 8, 12, 4, 1904 @@ -21,7 +20,6 @@ SFX_Psychic_M_Ch6: square_note 15, 15, 2, 1892 sound_ret - SFX_Psychic_M_Ch8: noise_note 15, 3, -7, 20 noise_note 15, 12, -7, 19 diff --git a/audio/sfx/purchase_1.asm b/audio/sfx/purchase_1.asm index 9dc06f0b..1abb8dfe 100644 --- a/audio/sfx/purchase_1.asm +++ b/audio/sfx/purchase_1.asm @@ -4,7 +4,6 @@ SFX_Purchase_1_Ch5: square_note 8, 15, 2, 2016 sound_ret - SFX_Purchase_1_Ch6: duty_cycle 2 square_note 1, 0, 8, 0 diff --git a/audio/sfx/purchase_3.asm b/audio/sfx/purchase_3.asm index eaa4bb60..f7f2ccdf 100644 --- a/audio/sfx/purchase_3.asm +++ b/audio/sfx/purchase_3.asm @@ -4,7 +4,6 @@ SFX_Purchase_3_Ch5: square_note 8, 15, 2, 2016 sound_ret - SFX_Purchase_3_Ch6: duty_cycle 2 square_note 1, 0, 8, 0 diff --git a/audio/sfx/save_1.asm b/audio/sfx/save_1.asm index d0849ff5..d1e193b2 100644 --- a/audio/sfx/save_1.asm +++ b/audio/sfx/save_1.asm @@ -9,7 +9,6 @@ SFX_Save_1_Ch5: square_note 15, 15, 2, 2016 sound_ret - SFX_Save_1_Ch6: duty_cycle 2 square_note 4, 0, 8, 0 diff --git a/audio/sfx/save_3.asm b/audio/sfx/save_3.asm index 8db092b2..cfd86732 100644 --- a/audio/sfx/save_3.asm +++ b/audio/sfx/save_3.asm @@ -15,7 +15,6 @@ ELSE ENDC sound_ret - SFX_Save_3_Ch6: duty_cycle 2 IF DEF(_RED) diff --git a/audio/sfx/slots_new_spin.asm b/audio/sfx/slots_new_spin.asm index a8b668b8..2333f5ec 100644 --- a/audio/sfx/slots_new_spin.asm +++ b/audio/sfx/slots_new_spin.asm @@ -5,7 +5,6 @@ SFX_Slots_New_Spin_Ch5: square_note 15, 15, 1, 1984 sound_ret - SFX_Slots_New_Spin_Ch6: duty_cycle 2 square_note 4, 12, 1, 1729 diff --git a/audio/sfx/ss_anne_horn_1.asm b/audio/sfx/ss_anne_horn_1.asm index 7f5094f4..118c4314 100644 --- a/audio/sfx/ss_anne_horn_1.asm +++ b/audio/sfx/ss_anne_horn_1.asm @@ -9,7 +9,6 @@ SFX_SS_Anne_Horn_1_Ch5: square_note 15, 15, 2, 1280 sound_ret - SFX_SS_Anne_Horn_1_Ch6: duty_cycle 3 square_note 15, 15, 0, 1154 diff --git a/audio/sfx/ss_anne_horn_3.asm b/audio/sfx/ss_anne_horn_3.asm index fda8e346..cf6b4bf5 100644 --- a/audio/sfx/ss_anne_horn_3.asm +++ b/audio/sfx/ss_anne_horn_3.asm @@ -9,7 +9,6 @@ SFX_SS_Anne_Horn_3_Ch5: square_note 15, 15, 2, 1280 sound_ret - SFX_SS_Anne_Horn_3_Ch6: duty_cycle 3 square_note 15, 15, 0, 1154 diff --git a/audio/sfx/swap_1.asm b/audio/sfx/swap_1.asm index 98bfff72..3e8c675c 100644 --- a/audio/sfx/swap_1.asm +++ b/audio/sfx/swap_1.asm @@ -3,7 +3,6 @@ SFX_Swap_1_Ch5: square_note 8, 14, 1, 1856 sound_ret - SFX_Swap_1_Ch6: duty_cycle 2 square_note 2, 0, 8, 0 diff --git a/audio/sfx/swap_3.asm b/audio/sfx/swap_3.asm index 8e86ac7c..2bbf484d 100644 --- a/audio/sfx/swap_3.asm +++ b/audio/sfx/swap_3.asm @@ -3,7 +3,6 @@ SFX_Swap_3_Ch5: square_note 8, 14, 1, 1856 sound_ret - SFX_Swap_3_Ch6: duty_cycle 2 square_note 2, 0, 8, 0 diff --git a/audio/sfx/unused_cry_1.asm b/audio/sfx/unused_cry_1.asm index 342ca2ab..0ff7c79a 100644 --- a/audio/sfx/unused_cry_1.asm +++ b/audio/sfx/unused_cry_1.asm @@ -9,7 +9,6 @@ SFX_UnusedCry_1_Ch5: ; unreferenced square_note 8, 7, 1, 1924 sound_ret - SFX_UnusedCry_1_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 @@ -20,7 +19,6 @@ SFX_UnusedCry_1_Ch6: ; unreferenced square_note 8, 3, 1, 1862 sound_ret - SFX_UnusedCry_1_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 diff --git a/audio/sfx/unused_cry_2.asm b/audio/sfx/unused_cry_2.asm index aa6218e1..4924e560 100644 --- a/audio/sfx/unused_cry_2.asm +++ b/audio/sfx/unused_cry_2.asm @@ -9,7 +9,6 @@ SFX_UnusedCry_2_Ch5: ; unreferenced square_note 8, 7, 1, 1924 sound_ret - SFX_UnusedCry_2_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 @@ -20,7 +19,6 @@ SFX_UnusedCry_2_Ch6: ; unreferenced square_note 8, 3, 1, 1862 sound_ret - SFX_UnusedCry_2_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 diff --git a/audio/sfx/unused_cry_3.asm b/audio/sfx/unused_cry_3.asm index 95721633..6f3e2737 100644 --- a/audio/sfx/unused_cry_3.asm +++ b/audio/sfx/unused_cry_3.asm @@ -9,7 +9,6 @@ SFX_UnusedCry_3_Ch5: ; unreferenced square_note 8, 7, 1, 1924 sound_ret - SFX_UnusedCry_3_Ch6: ; unreferenced duty_cycle_pattern 0, 0, 1, 1 square_note 15, 10, 0, 1857 @@ -20,7 +19,6 @@ SFX_UnusedCry_3_Ch6: ; unreferenced square_note 8, 3, 1, 1862 sound_ret - SFX_UnusedCry_3_Ch8: ; unreferenced noise_note 2, 15, 2, 76 noise_note 6, 14, 0, 58 From 8f81e71f192bce4b6f56b042638da376737e5abc Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 10 Jul 2022 21:11:03 -0400 Subject: [PATCH 090/119] Identify some `.asm_*` labels --- audio/low_health_alarm.asm | 14 ++++---- data/sgb/sgb_packets.asm | 16 ++++----- engine/battle/core.asm | 4 +-- engine/events/diploma.asm | 5 +-- engine/events/hidden_objects/bench_guys.asm | 4 +-- .../hidden_objects/cinnabar_gym_quiz.asm | 4 +-- engine/events/pewter_guys.asm | 4 +-- engine/gfx/hp_bar.asm | 4 +-- engine/gfx/palettes.asm | 16 ++++----- engine/items/item_effects.asm | 36 +++++++++---------- engine/math/multiply_divide.asm | 22 ++++++------ engine/menus/main_menu.asm | 4 +-- engine/overworld/field_move_messages.asm | 4 +-- engine/overworld/missable_objects.asm | 4 +-- engine/overworld/pathfinding.asm | 8 ++--- engine/overworld/player_state.asm | 8 ++--- engine/overworld/spinners.asm | 14 ++++---- engine/overworld/tilesets.asm | 4 +-- engine/play_time.asm | 8 ++--- home/yes_no.asm | 2 +- 20 files changed, 93 insertions(+), 92 deletions(-) diff --git a/audio/low_health_alarm.asm b/audio/low_health_alarm.asm index 08060aab..65e19aa7 100644 --- a/audio/low_health_alarm.asm +++ b/audio/low_health_alarm.asm @@ -7,25 +7,25 @@ Music_DoLowHealthAlarm:: ret z ;nope and $7f ;low 7 bits are the timer. - jr nz, .asm_21383 ;if timer > 0, play low tone. + jr nz, .notToneHi ;if timer > 0, play low tone. call .playToneHi ld a, 30 ;keep this tone for 30 frames. - jr .asm_21395 ;reset the timer. + jr .resetTimer -.asm_21383 +.notToneHi cp 20 - jr nz, .asm_2138a ;if timer == 20, - call .playToneLo ;actually set the sound registers. + jr nz, .noTone ;if timer == 20, + call .playToneLo ;actually set the sound registers. -.asm_2138a +.noTone ld a, $86 ld [wChannelSoundIDs + Ch5], a ;disable sound channel? ld a, [wLowHealthAlarm] and $7f ;decrement alarm timer. dec a -.asm_21395 +.resetTimer ; reset the timer and enable flag. set 7, a ld [wLowHealthAlarm], a diff --git a/data/sgb/sgb_packets.asm b/data/sgb/sgb_packets.asm index 11fc8900..2a38f6c5 100644 --- a/data/sgb/sgb_packets.asm +++ b/data/sgb/sgb_packets.asm @@ -241,14 +241,14 @@ MaskEnCancelPacket: MASK_EN 0 ; This set of packets is found in several Japanese SGB-compatible titles. ; It appears to be part of NCL's SGB devkit. -DataSnd_72548: +DataSndPacket1: DATA_SND $85d, $0, 11 db $8C ; cpx #$8c (2) db $D0, $F4 ; bne -$0c db $60 ; rts ds 7, 0 -DataSnd_72558: +DataSndPacket2: DATA_SND $852, $0, 11 db $A9, $E7 ; lda #$e7 db $9F, $01, $C0, $7E ; sta $7ec001, x @@ -258,7 +258,7 @@ DataSnd_72558: db $E8 ; inx db $E0 ; cpx #$8c (1) -DataSnd_72568: +DataSndPacket3: DATA_SND $847, $0, 11 db $C4 ; cmp #$c4 (2) db $D0, $16 ; bne +$16 @@ -268,7 +268,7 @@ DataSnd_72568: db $D0, $10 ; bne +$10 db $A2, $28 ; ldx #$28 -DataSnd_72578: +DataSndPacket4: DATA_SND $83c, $0, 11 db $F0, $12 ; beq +$12 db $A5 ; lda dp @@ -279,7 +279,7 @@ DataSnd_72578: db $CA ; dex db $C9 ; cmp #$c4 (1) -DataSnd_72588: +DataSndPacket5: DATA_SND $831, $0, 11 dbw $0C, $CAA5 ; tsb $caa5 db $C9, $7E ; cmp #$7e @@ -288,7 +288,7 @@ DataSnd_72588: db $CB ; wai db $C9, $7E ; cmp #$7e -DataSnd_72598: +DataSndPacket6: DATA_SND $826, $0, 11 db $39 ; bne +$39 (2) dbw $CD, $C48 ; cmp $c48 @@ -297,7 +297,7 @@ DataSnd_72598: db $C9, $C9 ; cmp #$c9 db $80, $D0 ; bra -$30 -DataSnd_725a8: +DataSndPacket7: DATA_SND $81b, $0, 11 db $EA ; nop db $EA ; nop @@ -309,7 +309,7 @@ DataSnd_725a8: dbw $CD,$C4F ; cmp $c4f db $D0 ; bne +$39 (1) -DataSnd_725b8: +DataSndPacket8: DATA_SND $810, $0, 11 dbw $4C, $820 ; jmp $820 db $EA ; nop diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 580a9899..62813eb4 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6768,11 +6768,11 @@ InitOpponent: DetermineWildOpponent: ld a, [wd732] bit 1, a - jr z, .asm_3ef2f + jr z, .notDebug ldh a, [hJoyHeld] bit BIT_B_BUTTON, a ret nz -.asm_3ef2f +.notDebug ld a, [wNumberOfNoRandomBattleStepsLeft] and a ret nz diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index 41e0d7c6..e08b1f24 100644 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -17,9 +17,10 @@ DisplayDiploma:: hlcoord 0, 0 lb bc, 16, 18 predef Diploma_TextBoxBorder + ld hl, DiplomaTextPointersAndCoords ld c, $5 -.asm_56715 +.placeTextLoop push bc ld a, [hli] ld e, a @@ -34,7 +35,7 @@ DisplayDiploma:: inc hl pop bc dec c - jr nz, .asm_56715 + jr nz, .placeTextLoop hlcoord 10, 4 ld de, wPlayerName call PlaceString diff --git a/engine/events/hidden_objects/bench_guys.asm b/engine/events/hidden_objects/bench_guys.asm index b41434ad..55090c01 100644 --- a/engine/events/hidden_objects/bench_guys.asm +++ b/engine/events/hidden_objects/bench_guys.asm @@ -79,9 +79,9 @@ SaffronCityPokecenterBenchGuyText:: text_asm CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SaffronCityPokecenterBenchGuyText2 - jr nz, .asm_624f2 + jr nz, .printText ld hl, SaffronCityPokecenterBenchGuyText1 -.asm_624f2 +.printText call PrintText jp TextScriptEnd diff --git a/engine/events/hidden_objects/cinnabar_gym_quiz.asm b/engine/events/hidden_objects/cinnabar_gym_quiz.asm index f4c46115..69f03f2c 100644 --- a/engine/events/hidden_objects/cinnabar_gym_quiz.asm +++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm @@ -32,7 +32,7 @@ CinnabarGymQuiz:: call PrintText ld a, 1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - call CinnabarGymQuiz_1ea92 + call CinnabarGymQuiz_AskQuestion jp TextScriptEnd CinnabarGymQuizIntroText: @@ -75,7 +75,7 @@ CinnabarGymGateFlagAction: EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED predef_jump FlagActionPredef -CinnabarGymQuiz_1ea92: +CinnabarGymQuiz_AskQuestion: call YesNoChoice ldh a, [hGymGateAnswer] ld c, a diff --git a/engine/events/pewter_guys.asm b/engine/events/pewter_guys.asm index 532fa4bf..06bb60fb 100644 --- a/engine/events/pewter_guys.asm +++ b/engine/events/pewter_guys.asm @@ -8,7 +8,7 @@ PewterGuys: add hl, de ld d, h ld e, l - ld hl, PointerTable_37ce6 + ld hl, PewterGuysCoordsTable ld a, [wWhichPewterGuy] add a ld b, 0 @@ -48,7 +48,7 @@ PewterGuys: inc hl jr .findMatchingCoordsLoop -PointerTable_37ce6: +PewterGuysCoordsTable: dw PewterMuseumGuyCoords dw PewterGymGuyCoords diff --git a/engine/gfx/hp_bar.asm b/engine/gfx/hp_bar.asm index e4de0b95..d848a337 100644 --- a/engine/gfx/hp_bar.asm +++ b/engine/gfx/hp_bar.asm @@ -215,10 +215,10 @@ UpdateHPBar_PrintHPNumber: push hl ldh a, [hUILayoutFlags] bit 0, a - jr z, .asm_fb15 + jr z, .hpBelowBar ld de, $9 jr .next -.asm_fb15 +.hpBelowBar ld de, $15 .next add hl, de diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index caa22c10..d97fbc55 100644 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -443,14 +443,14 @@ PrepareSuperNintendoVRAMTransfer: .packetPointers ; Only the first packet is needed. dw MaskEnFreezePacket - dw DataSnd_72548 - dw DataSnd_72558 - dw DataSnd_72568 - dw DataSnd_72578 - dw DataSnd_72588 - dw DataSnd_72598 - dw DataSnd_725a8 - dw DataSnd_725b8 + dw DataSndPacket1 + dw DataSndPacket2 + dw DataSndPacket3 + dw DataSndPacket4 + dw DataSndPacket5 + dw DataSndPacket6 + dw DataSndPacket7 + dw DataSndPacket8 CheckSGB: ; Returns whether the game is running on an SGB in carry. diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index faba8837..02408484 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -2646,7 +2646,7 @@ SendNewMonToBox: ld a, [wcf91] ld [wd0b5], a ld c, a -.asm_e7b1 +.loop inc de ld a, [de] ld b, a @@ -2654,13 +2654,13 @@ SendNewMonToBox: ld c, b ld [de], a cp $ff - jr nz, .asm_e7b1 + jr nz, .loop call GetMonHeader ld hl, wBoxMonOT ld bc, NAME_LENGTH ld a, [wBoxCount] dec a - jr z, .asm_e7ee + jr z, .skip dec a call AddNTimes push hl @@ -2672,7 +2672,7 @@ SendNewMonToBox: ld a, [wBoxCount] dec a ld b, a -.asm_e7db +.loop2 push bc push hl ld bc, NAME_LENGTH @@ -2684,15 +2684,15 @@ SendNewMonToBox: add hl, bc pop bc dec b - jr nz, .asm_e7db -.asm_e7ee + jr nz, .loop2 +.skip ld hl, wPlayerName ld de, wBoxMonOT ld bc, NAME_LENGTH call CopyData ld a, [wBoxCount] dec a - jr z, .asm_e82a + jr z, .skip2 ld hl, wBoxMonNicks ld bc, NAME_LENGTH dec a @@ -2706,7 +2706,7 @@ SendNewMonToBox: ld a, [wBoxCount] dec a ld b, a -.asm_e817 +.loop3 push bc push hl ld bc, NAME_LENGTH @@ -2718,15 +2718,15 @@ SendNewMonToBox: add hl, bc pop bc dec b - jr nz, .asm_e817 -.asm_e82a + jr nz, .loop3 +.skip2 ld hl, wBoxMonNicks ld a, NAME_MON_SCREEN ld [wNamingScreenType], a predef AskName ld a, [wBoxCount] dec a - jr z, .asm_e867 + jr z, .skip3 ld hl, wBoxMons ld bc, wBoxMon2 - wBoxMon1 dec a @@ -2740,7 +2740,7 @@ SendNewMonToBox: ld a, [wBoxCount] dec a ld b, a -.asm_e854 +.loop4 push bc push hl ld bc, wBoxMon2 - wBoxMon1 @@ -2752,8 +2752,8 @@ SendNewMonToBox: add hl, bc pop bc dec b - jr nz, .asm_e854 -.asm_e867 + jr nz, .loop4 +.skip3 ld a, [wEnemyMonLevel] ld [wEnemyMonBoxLevel], a ld hl, wEnemyMon @@ -2783,11 +2783,11 @@ SendNewMonToBox: inc de xor a ld b, NUM_STATS * 2 -.asm_e89f +.loop5 ld [de], a inc de dec b - jr nz, .asm_e89f + jr nz, .loop5 ld hl, wEnemyMonDVs ld a, [hli] ld [de], a @@ -2796,12 +2796,12 @@ SendNewMonToBox: ld [de], a ld hl, wEnemyMonPP ld b, NUM_MOVES -.asm_e8b1 +.loop6 ld a, [hli] inc de ld [de], a dec b - jr nz, .asm_e8b1 + jr nz, .loop6 ret ; checks if the tile in front of the player is a shore or water tile diff --git a/engine/math/multiply_divide.asm b/engine/math/multiply_divide.asm index 2fcda158..ab065052 100644 --- a/engine/math/multiply_divide.asm +++ b/engine/math/multiply_divide.asm @@ -68,7 +68,7 @@ _Divide:: ldh [hDivideBuffer+4], a ld a, $9 ld e, a -.asm_37db3 +.loop ldh a, [hDivideBuffer] ld c, a ldh a, [hDividend+1] ; (aliases: hMultiplicand) @@ -78,18 +78,18 @@ _Divide:: ld c, a ldh a, [hDividend] ; (aliases: hProduct, hPastLeadingZeros, hQuotient) sbc c - jr c, .asm_37dce + jr c, .next ldh [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) ld a, d ldh [hDividend+1], a ; (aliases: hMultiplicand) ldh a, [hDivideBuffer+4] inc a ldh [hDivideBuffer+4], a - jr .asm_37db3 -.asm_37dce + jr .loop +.next ld a, b cp $1 - jr z, .asm_37e18 + jr z, .done ldh a, [hDivideBuffer+4] sla a ldh [hDivideBuffer+4], a @@ -103,7 +103,7 @@ _Divide:: rl a ldh [hDivideBuffer+1], a dec e - jr nz, .asm_37e04 + jr nz, .next2 ld a, $8 ld e, a ldh a, [hDivideBuffer] @@ -116,20 +116,20 @@ _Divide:: ldh [hDividend+1], a ; (aliases: hMultiplicand) ldh a, [hDividend+3] ldh [hDividend+2], a -.asm_37e04 +.next2 ld a, e cp $1 - jr nz, .asm_37e0a + jr nz, .okay dec b -.asm_37e0a +.okay ldh a, [hDivisor] ; (aliases: hDivisor, hMultiplier, hPowerOf10) srl a ldh [hDivisor], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) ldh a, [hDivideBuffer] rr a ldh [hDivideBuffer], a - jr .asm_37db3 -.asm_37e18 + jr .loop +.done ldh a, [hDividend+1] ; (aliases: hMultiplicand) ldh [hRemainder], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) ldh a, [hDivideBuffer+4] diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 7db60d3d..d94c65eb 100644 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -184,13 +184,13 @@ LinkMenu: ld b, a and $f0 cp $d0 - jr z, .asm_5c7d + jr z, .checkEnemyMenuSelection ld a, [wLinkMenuSelectionReceiveBuffer + 1] ld b, a and $f0 cp $d0 jr nz, .exchangeMenuSelectionLoop -.asm_5c7d +.checkEnemyMenuSelection ld a, b and $c ; did the enemy press A or B? jr nz, .enemyPressedAOrB diff --git a/engine/overworld/field_move_messages.asm b/engine/overworld/field_move_messages.asm index 520ef8ad..d75ffc21 100644 --- a/engine/overworld/field_move_messages.asm +++ b/engine/overworld/field_move_messages.asm @@ -32,7 +32,7 @@ IsSurfingAllowed: ret nz CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE ret z - ld hl, CoordsData_cdf7 + ld hl, SeafoamIslandsB4FStairsCoords call ArePlayerCoordsInArray ret nc ld hl, wd728 @@ -45,7 +45,7 @@ IsSurfingAllowed: ld hl, CyclingIsFunText jp PrintText -CoordsData_cdf7: +SeafoamIslandsB4FStairsCoords: dbmapcoord 7, 11 db -1 ; end diff --git a/engine/overworld/missable_objects.asm b/engine/overworld/missable_objects.asm index 31fdc257..8f88b138 100644 --- a/engine/overworld/missable_objects.asm +++ b/engine/overworld/missable_objects.asm @@ -23,9 +23,9 @@ LoadMissableObjects: ld de, MissableObjects ; calculate difference between out pointer and the base pointer ld a, l sub e - jr nc, .asm_f13c + jr nc, .noCarry dec h -.asm_f13c +.noCarry ld l, a ld a, h sub d diff --git a/engine/overworld/pathfinding.asm b/engine/overworld/pathfinding.asm index 1925dbbc..d067345e 100644 --- a/engine/overworld/pathfinding.asm +++ b/engine/overworld/pathfinding.asm @@ -14,22 +14,22 @@ FindPathToPlayer: call CalcDifference ld d, a and a - jr nz, .asm_f8da + jr nz, .stillHasYProgress ldh a, [hFindPathFlags] set 0, a ; current end of path matches the player's Y coordinate ldh [hFindPathFlags], a -.asm_f8da +.stillHasYProgress ldh a, [hFindPathXProgress] ld b, a ldh a, [hNPCPlayerXDistance] ; X distance in steps call CalcDifference ld e, a and a - jr nz, .asm_f8ec + jr nz, .stillHasXProgress ldh a, [hFindPathFlags] set 1, a ; current end of path matches the player's X coordinate ldh [hFindPathFlags], a -.asm_f8ec +.stillHasXProgress ldh a, [hFindPathFlags] cp $3 ; has the end of the path reached the player's position? jr z, .done diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index 70326754..8d652cdf 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -101,10 +101,10 @@ IsPlayerFacingEdgeOfMap:: ld b, a ld a, [wXCoord] ld c, a - ld de, .asm_c41e + ld de, .return push de jp hl -.asm_c41e +.return pop bc pop de pop hl @@ -239,11 +239,11 @@ PrintSafariZoneSteps:: call PlaceString ld a, [wNumSafariBalls] cp 10 - jr nc, .asm_c56d + jr nc, .tenOrMore hlcoord 5, 3 ld a, " " ld [hl], a -.asm_c56d +.tenOrMore hlcoord 6, 3 ld de, wNumSafariBalls lb bc, 1, 2 diff --git a/engine/overworld/spinners.asm b/engine/overworld/spinners.asm index 0ac6380d..98b478c4 100644 --- a/engine/overworld/spinners.asm +++ b/engine/overworld/spinners.asm @@ -11,18 +11,18 @@ LoadSpinnerArrowTiles:: ld a, [wCurMapTileset] cp FACILITY ld hl, FacilitySpinnerArrows - jr z, .asm_44ff6 + jr z, .gotSpinnerArrows ld hl, GymSpinnerArrows -.asm_44ff6 +.gotSpinnerArrows ld a, [wSimulatedJoypadStatesIndex] bit 0, a - jr nz, .asm_45001 - ld de, $18 + jr nz, .alternateGraphics + ld de, 6 * 4 add hl, de -.asm_45001 +.alternateGraphics ld a, $4 ld bc, $0 -.asm_45006 +.loop push af push hl push bc @@ -46,7 +46,7 @@ LoadSpinnerArrowTiles:: pop hl pop af dec a - jr nz, .asm_45006 + jr nz, .loop ret INCLUDE "data/tilesets/spinner_tiles.asm" diff --git a/engine/overworld/tilesets.asm b/engine/overworld/tilesets.asm index fa5cf626..d36e1169 100644 --- a/engine/overworld/tilesets.asm +++ b/engine/overworld/tilesets.asm @@ -35,13 +35,13 @@ LoadTilesetHeader: call IsInArray pop de pop hl - jr c, .asm_c797 + jr c, .dungeon ld a, [wCurMapTileset] ld b, a ldh a, [hPreviousTileset] cp b jr z, .done -.asm_c797 +.dungeon ld a, [wDestinationWarpID] cp $ff jr z, .done diff --git a/engine/play_time.asm b/engine/play_time.asm index 29897242..dcba88c2 100644 --- a/engine/play_time.asm +++ b/engine/play_time.asm @@ -39,12 +39,12 @@ TrackPlayTime:: CountDownIgnoreInputBitReset: ld a, [wIgnoreInputCounter] and a - jr nz, .asm_18e40 + jr nz, .decrement ld a, $ff - jr .asm_18e41 -.asm_18e40 + jr .continue +.decrement dec a -.asm_18e41 +.continue ld [wIgnoreInputCounter], a and a ret nz diff --git a/home/yes_no.asm b/home/yes_no.asm index 5b0e09ed..3f5a5a45 100644 --- a/home/yes_no.asm +++ b/home/yes_no.asm @@ -5,7 +5,7 @@ YesNoChoice:: call InitYesNoTextBoxParameters jr DisplayYesNoChoice -Func_35f4:: +TwoOptionMenu:: ; unreferenced ld a, TWO_OPTION_MENU ld [wTextBoxID], a call InitYesNoTextBoxParameters From ce4c2d3d1247b7d90c7cf6d5b64ef486a88b70c7 Mon Sep 17 00:00:00 2001 From: vulcandth Date: Sun, 10 Jul 2022 22:42:17 -0500 Subject: [PATCH 091/119] Remove empty lines on the top of map header files (#375) --- data/maps/headers/AgathasRoom.asm | 1 - data/maps/headers/BikeShop.asm | 1 - data/maps/headers/BillsHouse.asm | 1 - data/maps/headers/BluesHouse.asm | 1 - data/maps/headers/BrunosRoom.asm | 1 - data/maps/headers/CeladonChiefHouse.asm | 1 - data/maps/headers/CeladonCity.asm | 1 - data/maps/headers/CeladonDiner.asm | 1 - data/maps/headers/CeladonGym.asm | 1 - data/maps/headers/CeladonHotel.asm | 1 - data/maps/headers/CeladonMansion1F.asm | 1 - data/maps/headers/CeladonMansion2F.asm | 1 - data/maps/headers/CeladonMansion3F.asm | 1 - data/maps/headers/CeladonMansionRoof.asm | 1 - data/maps/headers/CeladonMansionRoofHouse.asm | 1 - data/maps/headers/CeladonMart1F.asm | 1 - data/maps/headers/CeladonMart2F.asm | 1 - data/maps/headers/CeladonMart3F.asm | 1 - data/maps/headers/CeladonMart4F.asm | 1 - data/maps/headers/CeladonMart5F.asm | 1 - data/maps/headers/CeladonMartElevator.asm | 1 - data/maps/headers/CeladonMartRoof.asm | 1 - data/maps/headers/CeladonPokecenter.asm | 1 - data/maps/headers/CeruleanBadgeHouse.asm | 1 - data/maps/headers/CeruleanCave1F.asm | 1 - data/maps/headers/CeruleanCave2F.asm | 1 - data/maps/headers/CeruleanCaveB1F.asm | 1 - data/maps/headers/CeruleanCity.asm | 1 - data/maps/headers/CeruleanGym.asm | 1 - data/maps/headers/CeruleanMart.asm | 1 - data/maps/headers/CeruleanPokecenter.asm | 1 - data/maps/headers/CeruleanTradeHouse.asm | 1 - data/maps/headers/CeruleanTrashedHouse.asm | 1 - data/maps/headers/ChampionsRoom.asm | 1 - data/maps/headers/CinnabarGym.asm | 1 - data/maps/headers/CinnabarIsland.asm | 1 - data/maps/headers/CinnabarLab.asm | 1 - data/maps/headers/CinnabarLabFossilRoom.asm | 1 - data/maps/headers/CinnabarLabMetronomeRoom.asm | 1 - data/maps/headers/CinnabarLabTradeRoom.asm | 1 - data/maps/headers/CinnabarMart.asm | 1 - data/maps/headers/CinnabarPokecenter.asm | 1 - data/maps/headers/Colosseum.asm | 1 - data/maps/headers/CopycatsHouse1F.asm | 1 - data/maps/headers/CopycatsHouse2F.asm | 1 - data/maps/headers/Daycare.asm | 1 - data/maps/headers/DiglettsCave.asm | 1 - data/maps/headers/DiglettsCaveRoute11.asm | 1 - data/maps/headers/DiglettsCaveRoute2.asm | 1 - data/maps/headers/FightingDojo.asm | 1 - data/maps/headers/FuchsiaBillsGrandpasHouse.asm | 1 - data/maps/headers/FuchsiaCity.asm | 1 - data/maps/headers/FuchsiaGoodRodHouse.asm | 1 - data/maps/headers/FuchsiaGym.asm | 1 - data/maps/headers/FuchsiaMart.asm | 1 - data/maps/headers/FuchsiaMeetingRoom.asm | 1 - data/maps/headers/FuchsiaPokecenter.asm | 1 - data/maps/headers/GameCorner.asm | 1 - data/maps/headers/GameCornerPrizeRoom.asm | 1 - data/maps/headers/HallOfFame.asm | 1 - data/maps/headers/IndigoPlateau.asm | 1 - data/maps/headers/IndigoPlateauLobby.asm | 1 - data/maps/headers/LancesRoom.asm | 1 - data/maps/headers/LavenderCuboneHouse.asm | 1 - data/maps/headers/LavenderMart.asm | 1 - data/maps/headers/LavenderPokecenter.asm | 1 - data/maps/headers/LavenderTown.asm | 1 - data/maps/headers/LoreleisRoom.asm | 1 - data/maps/headers/MrFujisHouse.asm | 1 - data/maps/headers/MrPsychicsHouse.asm | 1 - data/maps/headers/MtMoon1F.asm | 1 - data/maps/headers/MtMoonB1F.asm | 1 - data/maps/headers/MtMoonB2F.asm | 1 - data/maps/headers/MtMoonPokecenter.asm | 1 - data/maps/headers/Museum1F.asm | 1 - data/maps/headers/Museum2F.asm | 1 - data/maps/headers/NameRatersHouse.asm | 1 - data/maps/headers/OaksLab.asm | 1 - data/maps/headers/PalletTown.asm | 1 - data/maps/headers/PewterCity.asm | 1 - data/maps/headers/PewterGym.asm | 1 - data/maps/headers/PewterMart.asm | 1 - data/maps/headers/PewterNidoranHouse.asm | 1 - data/maps/headers/PewterPokecenter.asm | 1 - data/maps/headers/PewterSpeechHouse.asm | 1 - data/maps/headers/PokemonFanClub.asm | 1 - data/maps/headers/PokemonMansion1F.asm | 1 - data/maps/headers/PokemonMansion2F.asm | 1 - data/maps/headers/PokemonMansion3F.asm | 1 - data/maps/headers/PokemonMansionB1F.asm | 1 - data/maps/headers/PokemonTower1F.asm | 1 - data/maps/headers/PokemonTower2F.asm | 1 - data/maps/headers/PokemonTower3F.asm | 1 - data/maps/headers/PokemonTower4F.asm | 1 - data/maps/headers/PokemonTower5F.asm | 1 - data/maps/headers/PokemonTower6F.asm | 1 - data/maps/headers/PokemonTower7F.asm | 1 - data/maps/headers/PowerPlant.asm | 1 - data/maps/headers/RedsHouse1F.asm | 1 - data/maps/headers/RedsHouse2F.asm | 1 - data/maps/headers/RockTunnel1F.asm | 1 - data/maps/headers/RockTunnelB1F.asm | 1 - data/maps/headers/RockTunnelPokecenter.asm | 1 - data/maps/headers/RocketHideoutB1F.asm | 1 - data/maps/headers/RocketHideoutB2F.asm | 1 - data/maps/headers/RocketHideoutB3F.asm | 1 - data/maps/headers/RocketHideoutB4F.asm | 1 - data/maps/headers/RocketHideoutElevator.asm | 1 - data/maps/headers/Route1.asm | 1 - data/maps/headers/Route10.asm | 1 - data/maps/headers/Route11.asm | 1 - data/maps/headers/Route11Gate1F.asm | 1 - data/maps/headers/Route11Gate2F.asm | 1 - data/maps/headers/Route12.asm | 1 - data/maps/headers/Route12Gate1F.asm | 1 - data/maps/headers/Route12Gate2F.asm | 1 - data/maps/headers/Route12SuperRodHouse.asm | 1 - data/maps/headers/Route13.asm | 1 - data/maps/headers/Route14.asm | 1 - data/maps/headers/Route15.asm | 1 - data/maps/headers/Route15Gate1F.asm | 1 - data/maps/headers/Route15Gate2F.asm | 1 - data/maps/headers/Route16.asm | 1 - data/maps/headers/Route16FlyHouse.asm | 1 - data/maps/headers/Route16Gate1F.asm | 1 - data/maps/headers/Route16Gate2F.asm | 1 - data/maps/headers/Route17.asm | 1 - data/maps/headers/Route18.asm | 1 - data/maps/headers/Route18Gate1F.asm | 1 - data/maps/headers/Route18Gate2F.asm | 1 - data/maps/headers/Route19.asm | 1 - data/maps/headers/Route2.asm | 1 - data/maps/headers/Route20.asm | 1 - data/maps/headers/Route21.asm | 1 - data/maps/headers/Route22.asm | 1 - data/maps/headers/Route22Gate.asm | 1 - data/maps/headers/Route23.asm | 1 - data/maps/headers/Route24.asm | 1 - data/maps/headers/Route25.asm | 1 - data/maps/headers/Route2Gate.asm | 1 - data/maps/headers/Route2TradeHouse.asm | 1 - data/maps/headers/Route3.asm | 1 - data/maps/headers/Route4.asm | 1 - data/maps/headers/Route5.asm | 1 - data/maps/headers/Route5Gate.asm | 1 - data/maps/headers/Route6.asm | 1 - data/maps/headers/Route6Gate.asm | 1 - data/maps/headers/Route7.asm | 1 - data/maps/headers/Route7Gate.asm | 1 - data/maps/headers/Route8.asm | 1 - data/maps/headers/Route8Gate.asm | 1 - data/maps/headers/Route9.asm | 1 - data/maps/headers/SSAnne1F.asm | 1 - data/maps/headers/SSAnne1FRooms.asm | 1 - data/maps/headers/SSAnne2F.asm | 1 - data/maps/headers/SSAnne2FRooms.asm | 1 - data/maps/headers/SSAnne3F.asm | 1 - data/maps/headers/SSAnneB1F.asm | 1 - data/maps/headers/SSAnneB1FRooms.asm | 1 - data/maps/headers/SSAnneBow.asm | 1 - data/maps/headers/SSAnneCaptainsRoom.asm | 1 - data/maps/headers/SSAnneKitchen.asm | 1 - data/maps/headers/SafariZoneCenter.asm | 1 - data/maps/headers/SafariZoneCenterRestHouse.asm | 1 - data/maps/headers/SafariZoneEast.asm | 1 - data/maps/headers/SafariZoneEastRestHouse.asm | 1 - data/maps/headers/SafariZoneGate.asm | 1 - data/maps/headers/SafariZoneNorth.asm | 1 - data/maps/headers/SafariZoneNorthRestHouse.asm | 1 - data/maps/headers/SafariZoneSecretHouse.asm | 1 - data/maps/headers/SafariZoneWest.asm | 1 - data/maps/headers/SafariZoneWestRestHouse.asm | 1 - data/maps/headers/SaffronCity.asm | 1 - data/maps/headers/SaffronGym.asm | 1 - data/maps/headers/SaffronMart.asm | 1 - data/maps/headers/SaffronPidgeyHouse.asm | 1 - data/maps/headers/SaffronPokecenter.asm | 1 - data/maps/headers/SeafoamIslands1F.asm | 1 - data/maps/headers/SeafoamIslandsB1F.asm | 1 - data/maps/headers/SeafoamIslandsB2F.asm | 1 - data/maps/headers/SeafoamIslandsB3F.asm | 1 - data/maps/headers/SeafoamIslandsB4F.asm | 1 - data/maps/headers/SilphCo10F.asm | 1 - data/maps/headers/SilphCo11F.asm | 1 - data/maps/headers/SilphCo1F.asm | 1 - data/maps/headers/SilphCo2F.asm | 1 - data/maps/headers/SilphCo3F.asm | 1 - data/maps/headers/SilphCo4F.asm | 1 - data/maps/headers/SilphCo5F.asm | 1 - data/maps/headers/SilphCo6F.asm | 1 - data/maps/headers/SilphCo7F.asm | 1 - data/maps/headers/SilphCo8F.asm | 1 - data/maps/headers/SilphCo9F.asm | 1 - data/maps/headers/SilphCoElevator.asm | 1 - data/maps/headers/TradeCenter.asm | 1 - data/maps/headers/UndergroundPathNorthSouth.asm | 1 - data/maps/headers/UndergroundPathRoute5.asm | 1 - data/maps/headers/UndergroundPathRoute6.asm | 1 - data/maps/headers/UndergroundPathRoute7.asm | 1 - data/maps/headers/UndergroundPathRoute7Copy.asm | 1 - data/maps/headers/UndergroundPathRoute8.asm | 1 - data/maps/headers/UndergroundPathWestEast.asm | 1 - data/maps/headers/VermilionCity.asm | 1 - data/maps/headers/VermilionDock.asm | 1 - data/maps/headers/VermilionGym.asm | 1 - data/maps/headers/VermilionMart.asm | 1 - data/maps/headers/VermilionOldRodHouse.asm | 1 - data/maps/headers/VermilionPidgeyHouse.asm | 1 - data/maps/headers/VermilionPokecenter.asm | 1 - data/maps/headers/VermilionTradeHouse.asm | 1 - data/maps/headers/VictoryRoad1F.asm | 1 - data/maps/headers/VictoryRoad2F.asm | 1 - data/maps/headers/VictoryRoad3F.asm | 1 - data/maps/headers/ViridianCity.asm | 1 - data/maps/headers/ViridianForest.asm | 1 - data/maps/headers/ViridianForestNorthGate.asm | 1 - data/maps/headers/ViridianForestSouthGate.asm | 1 - data/maps/headers/ViridianGym.asm | 1 - data/maps/headers/ViridianMart.asm | 1 - data/maps/headers/ViridianNicknameHouse.asm | 1 - data/maps/headers/ViridianPokecenter.asm | 1 - data/maps/headers/ViridianSchoolHouse.asm | 1 - data/maps/headers/WardensHouse.asm | 1 - 223 files changed, 223 deletions(-) diff --git a/data/maps/headers/AgathasRoom.asm b/data/maps/headers/AgathasRoom.asm index d04e0cfd..882d03e0 100644 --- a/data/maps/headers/AgathasRoom.asm +++ b/data/maps/headers/AgathasRoom.asm @@ -1,3 +1,2 @@ - map_header AgathasRoom, AGATHAS_ROOM, CEMETERY, 0 end_map_header diff --git a/data/maps/headers/BikeShop.asm b/data/maps/headers/BikeShop.asm index b4b520e2..a9ef3094 100644 --- a/data/maps/headers/BikeShop.asm +++ b/data/maps/headers/BikeShop.asm @@ -1,3 +1,2 @@ - map_header BikeShop, BIKE_SHOP, CLUB, 0 end_map_header diff --git a/data/maps/headers/BillsHouse.asm b/data/maps/headers/BillsHouse.asm index 6063175d..363234fd 100644 --- a/data/maps/headers/BillsHouse.asm +++ b/data/maps/headers/BillsHouse.asm @@ -1,3 +1,2 @@ - map_header BillsHouse, BILLS_HOUSE, INTERIOR, 0 end_map_header diff --git a/data/maps/headers/BluesHouse.asm b/data/maps/headers/BluesHouse.asm index 33cee254..de4b51f4 100644 --- a/data/maps/headers/BluesHouse.asm +++ b/data/maps/headers/BluesHouse.asm @@ -1,3 +1,2 @@ - map_header BluesHouse, BLUES_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/BrunosRoom.asm b/data/maps/headers/BrunosRoom.asm index a0b2d4fd..706d5ccd 100644 --- a/data/maps/headers/BrunosRoom.asm +++ b/data/maps/headers/BrunosRoom.asm @@ -1,3 +1,2 @@ - map_header BrunosRoom, BRUNOS_ROOM, GYM, 0 end_map_header diff --git a/data/maps/headers/CeladonChiefHouse.asm b/data/maps/headers/CeladonChiefHouse.asm index 34f17273..c8225665 100644 --- a/data/maps/headers/CeladonChiefHouse.asm +++ b/data/maps/headers/CeladonChiefHouse.asm @@ -1,3 +1,2 @@ - map_header CeladonChiefHouse, CELADON_CHIEF_HOUSE, MANSION, 0 end_map_header diff --git a/data/maps/headers/CeladonCity.asm b/data/maps/headers/CeladonCity.asm index 6faa6f48..afd93c62 100644 --- a/data/maps/headers/CeladonCity.asm +++ b/data/maps/headers/CeladonCity.asm @@ -1,4 +1,3 @@ - map_header CeladonCity, CELADON_CITY, OVERWORLD, WEST | EAST connection west, Route16, ROUTE_16, 4 connection east, Route7, ROUTE_7, 4 diff --git a/data/maps/headers/CeladonDiner.asm b/data/maps/headers/CeladonDiner.asm index b18d9633..1afd5dd9 100644 --- a/data/maps/headers/CeladonDiner.asm +++ b/data/maps/headers/CeladonDiner.asm @@ -1,3 +1,2 @@ - map_header CeladonDiner, CELADON_DINER, LOBBY, 0 end_map_header diff --git a/data/maps/headers/CeladonGym.asm b/data/maps/headers/CeladonGym.asm index 2302c65a..66cec4d3 100644 --- a/data/maps/headers/CeladonGym.asm +++ b/data/maps/headers/CeladonGym.asm @@ -1,3 +1,2 @@ - map_header CeladonGym, CELADON_GYM, GYM, 0 end_map_header diff --git a/data/maps/headers/CeladonHotel.asm b/data/maps/headers/CeladonHotel.asm index 2339c14d..ea5cf5e1 100644 --- a/data/maps/headers/CeladonHotel.asm +++ b/data/maps/headers/CeladonHotel.asm @@ -1,3 +1,2 @@ - map_header CeladonHotel, CELADON_HOTEL, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/CeladonMansion1F.asm b/data/maps/headers/CeladonMansion1F.asm index 45970028..a35fb1dd 100644 --- a/data/maps/headers/CeladonMansion1F.asm +++ b/data/maps/headers/CeladonMansion1F.asm @@ -1,3 +1,2 @@ - map_header CeladonMansion1F, CELADON_MANSION_1F, MANSION, 0 end_map_header diff --git a/data/maps/headers/CeladonMansion2F.asm b/data/maps/headers/CeladonMansion2F.asm index d5e3e77b..1450a093 100644 --- a/data/maps/headers/CeladonMansion2F.asm +++ b/data/maps/headers/CeladonMansion2F.asm @@ -1,3 +1,2 @@ - map_header CeladonMansion2F, CELADON_MANSION_2F, MANSION, 0 end_map_header diff --git a/data/maps/headers/CeladonMansion3F.asm b/data/maps/headers/CeladonMansion3F.asm index 7566caad..e63113cc 100644 --- a/data/maps/headers/CeladonMansion3F.asm +++ b/data/maps/headers/CeladonMansion3F.asm @@ -1,3 +1,2 @@ - map_header CeladonMansion3F, CELADON_MANSION_3F, MANSION, 0 end_map_header diff --git a/data/maps/headers/CeladonMansionRoof.asm b/data/maps/headers/CeladonMansionRoof.asm index 9cbae6f6..a1ace86d 100644 --- a/data/maps/headers/CeladonMansionRoof.asm +++ b/data/maps/headers/CeladonMansionRoof.asm @@ -1,3 +1,2 @@ - map_header CeladonMansionRoof, CELADON_MANSION_ROOF, MANSION, 0 end_map_header diff --git a/data/maps/headers/CeladonMansionRoofHouse.asm b/data/maps/headers/CeladonMansionRoofHouse.asm index cb80fac8..5b155f72 100644 --- a/data/maps/headers/CeladonMansionRoofHouse.asm +++ b/data/maps/headers/CeladonMansionRoofHouse.asm @@ -1,3 +1,2 @@ - map_header CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/CeladonMart1F.asm b/data/maps/headers/CeladonMart1F.asm index 30bd9ba9..d1375146 100644 --- a/data/maps/headers/CeladonMart1F.asm +++ b/data/maps/headers/CeladonMart1F.asm @@ -1,3 +1,2 @@ - map_header CeladonMart1F, CELADON_MART_1F, LOBBY, 0 end_map_header diff --git a/data/maps/headers/CeladonMart2F.asm b/data/maps/headers/CeladonMart2F.asm index d78dfe28..2117cd76 100644 --- a/data/maps/headers/CeladonMart2F.asm +++ b/data/maps/headers/CeladonMart2F.asm @@ -1,3 +1,2 @@ - map_header CeladonMart2F, CELADON_MART_2F, LOBBY, 0 end_map_header diff --git a/data/maps/headers/CeladonMart3F.asm b/data/maps/headers/CeladonMart3F.asm index ad415eee..d3bd4282 100644 --- a/data/maps/headers/CeladonMart3F.asm +++ b/data/maps/headers/CeladonMart3F.asm @@ -1,3 +1,2 @@ - map_header CeladonMart3F, CELADON_MART_3F, LOBBY, 0 end_map_header diff --git a/data/maps/headers/CeladonMart4F.asm b/data/maps/headers/CeladonMart4F.asm index b9ce5b34..c9f170c6 100644 --- a/data/maps/headers/CeladonMart4F.asm +++ b/data/maps/headers/CeladonMart4F.asm @@ -1,3 +1,2 @@ - map_header CeladonMart4F, CELADON_MART_4F, LOBBY, 0 end_map_header diff --git a/data/maps/headers/CeladonMart5F.asm b/data/maps/headers/CeladonMart5F.asm index 04d65b2b..036e3cad 100644 --- a/data/maps/headers/CeladonMart5F.asm +++ b/data/maps/headers/CeladonMart5F.asm @@ -1,3 +1,2 @@ - map_header CeladonMart5F, CELADON_MART_5F, LOBBY, 0 end_map_header diff --git a/data/maps/headers/CeladonMartElevator.asm b/data/maps/headers/CeladonMartElevator.asm index 2a98ccb0..709b5d34 100644 --- a/data/maps/headers/CeladonMartElevator.asm +++ b/data/maps/headers/CeladonMartElevator.asm @@ -1,3 +1,2 @@ - map_header CeladonMartElevator, CELADON_MART_ELEVATOR, LOBBY, 0 end_map_header diff --git a/data/maps/headers/CeladonMartRoof.asm b/data/maps/headers/CeladonMartRoof.asm index 823ff25f..42089ef0 100644 --- a/data/maps/headers/CeladonMartRoof.asm +++ b/data/maps/headers/CeladonMartRoof.asm @@ -1,3 +1,2 @@ - map_header CeladonMartRoof, CELADON_MART_ROOF, LOBBY, 0 end_map_header diff --git a/data/maps/headers/CeladonPokecenter.asm b/data/maps/headers/CeladonPokecenter.asm index 378a41ec..e380d1ed 100644 --- a/data/maps/headers/CeladonPokecenter.asm +++ b/data/maps/headers/CeladonPokecenter.asm @@ -1,3 +1,2 @@ - map_header CeladonPokecenter, CELADON_POKECENTER, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/CeruleanBadgeHouse.asm b/data/maps/headers/CeruleanBadgeHouse.asm index 47a97b14..c06ee719 100644 --- a/data/maps/headers/CeruleanBadgeHouse.asm +++ b/data/maps/headers/CeruleanBadgeHouse.asm @@ -1,3 +1,2 @@ - map_header CeruleanBadgeHouse, CERULEAN_BADGE_HOUSE, SHIP, 0 end_map_header diff --git a/data/maps/headers/CeruleanCave1F.asm b/data/maps/headers/CeruleanCave1F.asm index 7c80bbeb..49f6f0cd 100644 --- a/data/maps/headers/CeruleanCave1F.asm +++ b/data/maps/headers/CeruleanCave1F.asm @@ -1,3 +1,2 @@ - map_header CeruleanCave1F, CERULEAN_CAVE_1F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/CeruleanCave2F.asm b/data/maps/headers/CeruleanCave2F.asm index 353e265b..8644b8ba 100644 --- a/data/maps/headers/CeruleanCave2F.asm +++ b/data/maps/headers/CeruleanCave2F.asm @@ -1,3 +1,2 @@ - map_header CeruleanCave2F, CERULEAN_CAVE_2F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/CeruleanCaveB1F.asm b/data/maps/headers/CeruleanCaveB1F.asm index d759aa6b..f7fe5d43 100644 --- a/data/maps/headers/CeruleanCaveB1F.asm +++ b/data/maps/headers/CeruleanCaveB1F.asm @@ -1,3 +1,2 @@ - map_header CeruleanCaveB1F, CERULEAN_CAVE_B1F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/CeruleanCity.asm b/data/maps/headers/CeruleanCity.asm index c925713c..cf6c45a3 100644 --- a/data/maps/headers/CeruleanCity.asm +++ b/data/maps/headers/CeruleanCity.asm @@ -1,4 +1,3 @@ - map_header CeruleanCity, CERULEAN_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST connection north, Route24, ROUTE_24, 5 connection south, Route5, ROUTE_5, 5 diff --git a/data/maps/headers/CeruleanGym.asm b/data/maps/headers/CeruleanGym.asm index b1010ac3..8307e2d3 100644 --- a/data/maps/headers/CeruleanGym.asm +++ b/data/maps/headers/CeruleanGym.asm @@ -1,3 +1,2 @@ - map_header CeruleanGym, CERULEAN_GYM, GYM, 0 end_map_header diff --git a/data/maps/headers/CeruleanMart.asm b/data/maps/headers/CeruleanMart.asm index 2ee31666..d611c42b 100644 --- a/data/maps/headers/CeruleanMart.asm +++ b/data/maps/headers/CeruleanMart.asm @@ -1,3 +1,2 @@ - map_header CeruleanMart, CERULEAN_MART, MART, 0 end_map_header diff --git a/data/maps/headers/CeruleanPokecenter.asm b/data/maps/headers/CeruleanPokecenter.asm index b79e7aff..5075e9d9 100644 --- a/data/maps/headers/CeruleanPokecenter.asm +++ b/data/maps/headers/CeruleanPokecenter.asm @@ -1,3 +1,2 @@ - map_header CeruleanPokecenter, CERULEAN_POKECENTER, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/CeruleanTradeHouse.asm b/data/maps/headers/CeruleanTradeHouse.asm index 20970b77..5a507675 100644 --- a/data/maps/headers/CeruleanTradeHouse.asm +++ b/data/maps/headers/CeruleanTradeHouse.asm @@ -1,3 +1,2 @@ - map_header CeruleanTradeHouse, CERULEAN_TRADE_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/CeruleanTrashedHouse.asm b/data/maps/headers/CeruleanTrashedHouse.asm index 192a4195..76d9f83f 100644 --- a/data/maps/headers/CeruleanTrashedHouse.asm +++ b/data/maps/headers/CeruleanTrashedHouse.asm @@ -1,3 +1,2 @@ - map_header CeruleanTrashedHouse, CERULEAN_TRASHED_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/ChampionsRoom.asm b/data/maps/headers/ChampionsRoom.asm index aadc70a6..818f1fb9 100644 --- a/data/maps/headers/ChampionsRoom.asm +++ b/data/maps/headers/ChampionsRoom.asm @@ -1,3 +1,2 @@ - map_header ChampionsRoom, CHAMPIONS_ROOM, GYM, $0 end_map_header diff --git a/data/maps/headers/CinnabarGym.asm b/data/maps/headers/CinnabarGym.asm index cc6dc1d7..cf21a8f1 100644 --- a/data/maps/headers/CinnabarGym.asm +++ b/data/maps/headers/CinnabarGym.asm @@ -1,3 +1,2 @@ - map_header CinnabarGym, CINNABAR_GYM, FACILITY, 0 end_map_header diff --git a/data/maps/headers/CinnabarIsland.asm b/data/maps/headers/CinnabarIsland.asm index a94498be..e80b8f1e 100644 --- a/data/maps/headers/CinnabarIsland.asm +++ b/data/maps/headers/CinnabarIsland.asm @@ -1,4 +1,3 @@ - map_header CinnabarIsland, CINNABAR_ISLAND, OVERWORLD, NORTH | EAST connection north, Route21, ROUTE_21, 0 connection east, Route20, ROUTE_20, 0 diff --git a/data/maps/headers/CinnabarLab.asm b/data/maps/headers/CinnabarLab.asm index e8081e75..8d968d06 100644 --- a/data/maps/headers/CinnabarLab.asm +++ b/data/maps/headers/CinnabarLab.asm @@ -1,3 +1,2 @@ - map_header CinnabarLab, CINNABAR_LAB, LAB, 0 end_map_header diff --git a/data/maps/headers/CinnabarLabFossilRoom.asm b/data/maps/headers/CinnabarLabFossilRoom.asm index 3cb88437..1d072a50 100644 --- a/data/maps/headers/CinnabarLabFossilRoom.asm +++ b/data/maps/headers/CinnabarLabFossilRoom.asm @@ -1,3 +1,2 @@ - map_header CinnabarLabFossilRoom, CINNABAR_LAB_FOSSIL_ROOM, LAB, 0 end_map_header diff --git a/data/maps/headers/CinnabarLabMetronomeRoom.asm b/data/maps/headers/CinnabarLabMetronomeRoom.asm index d77338c8..ba9ffe96 100644 --- a/data/maps/headers/CinnabarLabMetronomeRoom.asm +++ b/data/maps/headers/CinnabarLabMetronomeRoom.asm @@ -1,3 +1,2 @@ - map_header CinnabarLabMetronomeRoom, CINNABAR_LAB_METRONOME_ROOM, LAB, 0 end_map_header diff --git a/data/maps/headers/CinnabarLabTradeRoom.asm b/data/maps/headers/CinnabarLabTradeRoom.asm index c23d9c15..06d39849 100644 --- a/data/maps/headers/CinnabarLabTradeRoom.asm +++ b/data/maps/headers/CinnabarLabTradeRoom.asm @@ -1,3 +1,2 @@ - map_header CinnabarLabTradeRoom, CINNABAR_LAB_TRADE_ROOM, LAB, 0 end_map_header diff --git a/data/maps/headers/CinnabarMart.asm b/data/maps/headers/CinnabarMart.asm index c68d582a..9fcc306f 100644 --- a/data/maps/headers/CinnabarMart.asm +++ b/data/maps/headers/CinnabarMart.asm @@ -1,3 +1,2 @@ - map_header CinnabarMart, CINNABAR_MART, MART, 0 end_map_header diff --git a/data/maps/headers/CinnabarPokecenter.asm b/data/maps/headers/CinnabarPokecenter.asm index d910133b..87bca04d 100644 --- a/data/maps/headers/CinnabarPokecenter.asm +++ b/data/maps/headers/CinnabarPokecenter.asm @@ -1,3 +1,2 @@ - map_header CinnabarPokecenter, CINNABAR_POKECENTER, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/Colosseum.asm b/data/maps/headers/Colosseum.asm index faf03eb4..81fd1c4e 100644 --- a/data/maps/headers/Colosseum.asm +++ b/data/maps/headers/Colosseum.asm @@ -1,3 +1,2 @@ - map_header Colosseum, COLOSSEUM, CLUB, 0 end_map_header diff --git a/data/maps/headers/CopycatsHouse1F.asm b/data/maps/headers/CopycatsHouse1F.asm index 532cef93..6f835fe8 100644 --- a/data/maps/headers/CopycatsHouse1F.asm +++ b/data/maps/headers/CopycatsHouse1F.asm @@ -1,3 +1,2 @@ - map_header CopycatsHouse1F, COPYCATS_HOUSE_1F, REDS_HOUSE_1, 0 end_map_header diff --git a/data/maps/headers/CopycatsHouse2F.asm b/data/maps/headers/CopycatsHouse2F.asm index 38b1fbbb..dc47db31 100644 --- a/data/maps/headers/CopycatsHouse2F.asm +++ b/data/maps/headers/CopycatsHouse2F.asm @@ -1,3 +1,2 @@ - map_header CopycatsHouse2F, COPYCATS_HOUSE_2F, REDS_HOUSE_2, 0 end_map_header diff --git a/data/maps/headers/Daycare.asm b/data/maps/headers/Daycare.asm index dabeedd9..d0da3676 100644 --- a/data/maps/headers/Daycare.asm +++ b/data/maps/headers/Daycare.asm @@ -1,3 +1,2 @@ - map_header Daycare, DAYCARE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/DiglettsCave.asm b/data/maps/headers/DiglettsCave.asm index d3777d31..7ebf14c8 100644 --- a/data/maps/headers/DiglettsCave.asm +++ b/data/maps/headers/DiglettsCave.asm @@ -1,3 +1,2 @@ - map_header DiglettsCave, DIGLETTS_CAVE, CAVERN, 0 end_map_header diff --git a/data/maps/headers/DiglettsCaveRoute11.asm b/data/maps/headers/DiglettsCaveRoute11.asm index d8bdd704..874481dc 100644 --- a/data/maps/headers/DiglettsCaveRoute11.asm +++ b/data/maps/headers/DiglettsCaveRoute11.asm @@ -1,3 +1,2 @@ - map_header DiglettsCaveRoute11, DIGLETTS_CAVE_ROUTE_11, CAVERN, 0 end_map_header diff --git a/data/maps/headers/DiglettsCaveRoute2.asm b/data/maps/headers/DiglettsCaveRoute2.asm index 86f5ae35..e61f7972 100644 --- a/data/maps/headers/DiglettsCaveRoute2.asm +++ b/data/maps/headers/DiglettsCaveRoute2.asm @@ -1,3 +1,2 @@ - map_header DiglettsCaveRoute2, DIGLETTS_CAVE_ROUTE_2, CAVERN, 0 end_map_header diff --git a/data/maps/headers/FightingDojo.asm b/data/maps/headers/FightingDojo.asm index 7ecadc57..7702279a 100644 --- a/data/maps/headers/FightingDojo.asm +++ b/data/maps/headers/FightingDojo.asm @@ -1,3 +1,2 @@ - map_header FightingDojo, FIGHTING_DOJO, DOJO, 0 end_map_header diff --git a/data/maps/headers/FuchsiaBillsGrandpasHouse.asm b/data/maps/headers/FuchsiaBillsGrandpasHouse.asm index 10ba48e9..944c7ac8 100644 --- a/data/maps/headers/FuchsiaBillsGrandpasHouse.asm +++ b/data/maps/headers/FuchsiaBillsGrandpasHouse.asm @@ -1,3 +1,2 @@ - map_header FuchsiaBillsGrandpasHouse, FUCHSIA_BILLS_GRANDPAS_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/FuchsiaCity.asm b/data/maps/headers/FuchsiaCity.asm index 6028bce0..8cfec109 100644 --- a/data/maps/headers/FuchsiaCity.asm +++ b/data/maps/headers/FuchsiaCity.asm @@ -1,4 +1,3 @@ - map_header FuchsiaCity, FUCHSIA_CITY, OVERWORLD, SOUTH | WEST | EAST connection south, Route19, ROUTE_19, 5 connection west, Route18, ROUTE_18, 4 diff --git a/data/maps/headers/FuchsiaGoodRodHouse.asm b/data/maps/headers/FuchsiaGoodRodHouse.asm index d21611c1..2bf65a92 100644 --- a/data/maps/headers/FuchsiaGoodRodHouse.asm +++ b/data/maps/headers/FuchsiaGoodRodHouse.asm @@ -1,3 +1,2 @@ - map_header FuchsiaGoodRodHouse, FUCHSIA_GOOD_ROD_HOUSE, SHIP, 0 end_map_header diff --git a/data/maps/headers/FuchsiaGym.asm b/data/maps/headers/FuchsiaGym.asm index 44be2971..1c51b53c 100644 --- a/data/maps/headers/FuchsiaGym.asm +++ b/data/maps/headers/FuchsiaGym.asm @@ -1,3 +1,2 @@ - map_header FuchsiaGym, FUCHSIA_GYM, GYM, 0 end_map_header diff --git a/data/maps/headers/FuchsiaMart.asm b/data/maps/headers/FuchsiaMart.asm index 120fe305..b56dafa8 100644 --- a/data/maps/headers/FuchsiaMart.asm +++ b/data/maps/headers/FuchsiaMart.asm @@ -1,3 +1,2 @@ - map_header FuchsiaMart, FUCHSIA_MART, MART, 0 end_map_header diff --git a/data/maps/headers/FuchsiaMeetingRoom.asm b/data/maps/headers/FuchsiaMeetingRoom.asm index a5ab4f04..9bf88bbf 100644 --- a/data/maps/headers/FuchsiaMeetingRoom.asm +++ b/data/maps/headers/FuchsiaMeetingRoom.asm @@ -1,3 +1,2 @@ - map_header FuchsiaMeetingRoom, FUCHSIA_MEETING_ROOM, LAB, 0 end_map_header diff --git a/data/maps/headers/FuchsiaPokecenter.asm b/data/maps/headers/FuchsiaPokecenter.asm index c1c683bd..fae3c293 100644 --- a/data/maps/headers/FuchsiaPokecenter.asm +++ b/data/maps/headers/FuchsiaPokecenter.asm @@ -1,3 +1,2 @@ - map_header FuchsiaPokecenter, FUCHSIA_POKECENTER, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/GameCorner.asm b/data/maps/headers/GameCorner.asm index ad367b93..7507a364 100644 --- a/data/maps/headers/GameCorner.asm +++ b/data/maps/headers/GameCorner.asm @@ -1,3 +1,2 @@ - map_header GameCorner, GAME_CORNER, LOBBY, 0 end_map_header diff --git a/data/maps/headers/GameCornerPrizeRoom.asm b/data/maps/headers/GameCornerPrizeRoom.asm index 4668cbb8..6e08abf5 100644 --- a/data/maps/headers/GameCornerPrizeRoom.asm +++ b/data/maps/headers/GameCornerPrizeRoom.asm @@ -1,3 +1,2 @@ - map_header GameCornerPrizeRoom, GAME_CORNER_PRIZE_ROOM, LOBBY, 0 end_map_header diff --git a/data/maps/headers/HallOfFame.asm b/data/maps/headers/HallOfFame.asm index e2dc3fb3..bccc334a 100644 --- a/data/maps/headers/HallOfFame.asm +++ b/data/maps/headers/HallOfFame.asm @@ -1,3 +1,2 @@ - map_header HallOfFame, HALL_OF_FAME, GYM, 0 end_map_header diff --git a/data/maps/headers/IndigoPlateau.asm b/data/maps/headers/IndigoPlateau.asm index ff394dfe..7f2f1d02 100644 --- a/data/maps/headers/IndigoPlateau.asm +++ b/data/maps/headers/IndigoPlateau.asm @@ -1,4 +1,3 @@ - map_header IndigoPlateau, INDIGO_PLATEAU, PLATEAU, SOUTH connection south, Route23, ROUTE_23, 0 end_map_header diff --git a/data/maps/headers/IndigoPlateauLobby.asm b/data/maps/headers/IndigoPlateauLobby.asm index b13afa12..639faef6 100644 --- a/data/maps/headers/IndigoPlateauLobby.asm +++ b/data/maps/headers/IndigoPlateauLobby.asm @@ -1,3 +1,2 @@ - map_header IndigoPlateauLobby, INDIGO_PLATEAU_LOBBY, MART, 0 end_map_header diff --git a/data/maps/headers/LancesRoom.asm b/data/maps/headers/LancesRoom.asm index 0b69970e..4075ac94 100644 --- a/data/maps/headers/LancesRoom.asm +++ b/data/maps/headers/LancesRoom.asm @@ -1,3 +1,2 @@ - map_header LancesRoom, LANCES_ROOM, DOJO, 0 end_map_header diff --git a/data/maps/headers/LavenderCuboneHouse.asm b/data/maps/headers/LavenderCuboneHouse.asm index dfd38ff1..bbb91b2d 100644 --- a/data/maps/headers/LavenderCuboneHouse.asm +++ b/data/maps/headers/LavenderCuboneHouse.asm @@ -1,3 +1,2 @@ - map_header LavenderCuboneHouse, LAVENDER_CUBONE_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/LavenderMart.asm b/data/maps/headers/LavenderMart.asm index 82c239e6..385e8771 100644 --- a/data/maps/headers/LavenderMart.asm +++ b/data/maps/headers/LavenderMart.asm @@ -1,3 +1,2 @@ - map_header LavenderMart, LAVENDER_MART, MART, 0 end_map_header diff --git a/data/maps/headers/LavenderPokecenter.asm b/data/maps/headers/LavenderPokecenter.asm index c0cd0adf..ff3ee244 100644 --- a/data/maps/headers/LavenderPokecenter.asm +++ b/data/maps/headers/LavenderPokecenter.asm @@ -1,3 +1,2 @@ - map_header LavenderPokecenter, LAVENDER_POKECENTER, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/LavenderTown.asm b/data/maps/headers/LavenderTown.asm index 7c1c9c46..27ac9eb1 100644 --- a/data/maps/headers/LavenderTown.asm +++ b/data/maps/headers/LavenderTown.asm @@ -1,4 +1,3 @@ - map_header LavenderTown, LAVENDER_TOWN, OVERWORLD, NORTH | SOUTH | WEST connection north, Route10, ROUTE_10, 0 connection south, Route12, ROUTE_12, 0 diff --git a/data/maps/headers/LoreleisRoom.asm b/data/maps/headers/LoreleisRoom.asm index feff946c..862ad868 100644 --- a/data/maps/headers/LoreleisRoom.asm +++ b/data/maps/headers/LoreleisRoom.asm @@ -1,3 +1,2 @@ - map_header LoreleisRoom, LORELEIS_ROOM, GYM, 0 end_map_header diff --git a/data/maps/headers/MrFujisHouse.asm b/data/maps/headers/MrFujisHouse.asm index 023cb501..86cfbb53 100644 --- a/data/maps/headers/MrFujisHouse.asm +++ b/data/maps/headers/MrFujisHouse.asm @@ -1,3 +1,2 @@ - map_header MrFujisHouse, MR_FUJIS_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/MrPsychicsHouse.asm b/data/maps/headers/MrPsychicsHouse.asm index 628db044..1d826f3a 100644 --- a/data/maps/headers/MrPsychicsHouse.asm +++ b/data/maps/headers/MrPsychicsHouse.asm @@ -1,3 +1,2 @@ - map_header MrPsychicsHouse, MR_PSYCHICS_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/MtMoon1F.asm b/data/maps/headers/MtMoon1F.asm index 8de2be3e..82eca4ca 100644 --- a/data/maps/headers/MtMoon1F.asm +++ b/data/maps/headers/MtMoon1F.asm @@ -1,3 +1,2 @@ - map_header MtMoon1F, MT_MOON_1F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/MtMoonB1F.asm b/data/maps/headers/MtMoonB1F.asm index 9c97b5c7..66923c81 100644 --- a/data/maps/headers/MtMoonB1F.asm +++ b/data/maps/headers/MtMoonB1F.asm @@ -1,3 +1,2 @@ - map_header MtMoonB1F, MT_MOON_B1F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/MtMoonB2F.asm b/data/maps/headers/MtMoonB2F.asm index 0ed1f96e..3f0595bd 100644 --- a/data/maps/headers/MtMoonB2F.asm +++ b/data/maps/headers/MtMoonB2F.asm @@ -1,3 +1,2 @@ - map_header MtMoonB2F, MT_MOON_B2F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/MtMoonPokecenter.asm b/data/maps/headers/MtMoonPokecenter.asm index 0425eae7..2d187f5f 100644 --- a/data/maps/headers/MtMoonPokecenter.asm +++ b/data/maps/headers/MtMoonPokecenter.asm @@ -1,3 +1,2 @@ - map_header MtMoonPokecenter, MT_MOON_POKECENTER, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/Museum1F.asm b/data/maps/headers/Museum1F.asm index d92176d2..a42b8eea 100644 --- a/data/maps/headers/Museum1F.asm +++ b/data/maps/headers/Museum1F.asm @@ -1,3 +1,2 @@ - map_header Museum1F, MUSEUM_1F, MUSEUM, 0 end_map_header diff --git a/data/maps/headers/Museum2F.asm b/data/maps/headers/Museum2F.asm index d5bf8918..9d4e4273 100644 --- a/data/maps/headers/Museum2F.asm +++ b/data/maps/headers/Museum2F.asm @@ -1,3 +1,2 @@ - map_header Museum2F, MUSEUM_2F, MUSEUM, 0 end_map_header diff --git a/data/maps/headers/NameRatersHouse.asm b/data/maps/headers/NameRatersHouse.asm index 3f9010f0..86e17b89 100644 --- a/data/maps/headers/NameRatersHouse.asm +++ b/data/maps/headers/NameRatersHouse.asm @@ -1,3 +1,2 @@ - map_header NameRatersHouse, NAME_RATERS_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/OaksLab.asm b/data/maps/headers/OaksLab.asm index 42bb76e8..44483e93 100644 --- a/data/maps/headers/OaksLab.asm +++ b/data/maps/headers/OaksLab.asm @@ -1,3 +1,2 @@ - map_header OaksLab, OAKS_LAB, DOJO, 0 end_map_header diff --git a/data/maps/headers/PalletTown.asm b/data/maps/headers/PalletTown.asm index 2745bdc1..bdc43e4d 100644 --- a/data/maps/headers/PalletTown.asm +++ b/data/maps/headers/PalletTown.asm @@ -1,4 +1,3 @@ - map_header PalletTown, PALLET_TOWN, OVERWORLD, NORTH | SOUTH connection north, Route1, ROUTE_1, 0 connection south, Route21, ROUTE_21, 0 diff --git a/data/maps/headers/PewterCity.asm b/data/maps/headers/PewterCity.asm index 268adb7a..bfc1f3eb 100644 --- a/data/maps/headers/PewterCity.asm +++ b/data/maps/headers/PewterCity.asm @@ -1,4 +1,3 @@ - map_header PewterCity, PEWTER_CITY, OVERWORLD, SOUTH | EAST connection south, Route2, ROUTE_2, 5 connection east, Route3, ROUTE_3, 4 diff --git a/data/maps/headers/PewterGym.asm b/data/maps/headers/PewterGym.asm index a1659e42..272b47c5 100644 --- a/data/maps/headers/PewterGym.asm +++ b/data/maps/headers/PewterGym.asm @@ -1,3 +1,2 @@ - map_header PewterGym, PEWTER_GYM, GYM, 0 end_map_header diff --git a/data/maps/headers/PewterMart.asm b/data/maps/headers/PewterMart.asm index c9b24eb2..91b98739 100644 --- a/data/maps/headers/PewterMart.asm +++ b/data/maps/headers/PewterMart.asm @@ -1,3 +1,2 @@ - map_header PewterMart, PEWTER_MART, MART, 0 end_map_header diff --git a/data/maps/headers/PewterNidoranHouse.asm b/data/maps/headers/PewterNidoranHouse.asm index ee2e46ca..7dd43ee0 100644 --- a/data/maps/headers/PewterNidoranHouse.asm +++ b/data/maps/headers/PewterNidoranHouse.asm @@ -1,3 +1,2 @@ - map_header PewterNidoranHouse, PEWTER_NIDORAN_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/PewterPokecenter.asm b/data/maps/headers/PewterPokecenter.asm index 4e420bf8..07a37168 100644 --- a/data/maps/headers/PewterPokecenter.asm +++ b/data/maps/headers/PewterPokecenter.asm @@ -1,3 +1,2 @@ - map_header PewterPokecenter, PEWTER_POKECENTER, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/PewterSpeechHouse.asm b/data/maps/headers/PewterSpeechHouse.asm index a378d61e..0462ebc1 100644 --- a/data/maps/headers/PewterSpeechHouse.asm +++ b/data/maps/headers/PewterSpeechHouse.asm @@ -1,3 +1,2 @@ - map_header PewterSpeechHouse, PEWTER_SPEECH_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/PokemonFanClub.asm b/data/maps/headers/PokemonFanClub.asm index b4ff8e1c..12abe59e 100644 --- a/data/maps/headers/PokemonFanClub.asm +++ b/data/maps/headers/PokemonFanClub.asm @@ -1,3 +1,2 @@ - map_header PokemonFanClub, POKEMON_FAN_CLUB, INTERIOR, 0 end_map_header diff --git a/data/maps/headers/PokemonMansion1F.asm b/data/maps/headers/PokemonMansion1F.asm index 9407f956..2cdc2ee3 100644 --- a/data/maps/headers/PokemonMansion1F.asm +++ b/data/maps/headers/PokemonMansion1F.asm @@ -1,3 +1,2 @@ - map_header PokemonMansion1F, POKEMON_MANSION_1F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/PokemonMansion2F.asm b/data/maps/headers/PokemonMansion2F.asm index deb7c84f..c2ffa95c 100644 --- a/data/maps/headers/PokemonMansion2F.asm +++ b/data/maps/headers/PokemonMansion2F.asm @@ -1,3 +1,2 @@ - map_header PokemonMansion2F, POKEMON_MANSION_2F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/PokemonMansion3F.asm b/data/maps/headers/PokemonMansion3F.asm index e4baa709..9588013f 100644 --- a/data/maps/headers/PokemonMansion3F.asm +++ b/data/maps/headers/PokemonMansion3F.asm @@ -1,3 +1,2 @@ - map_header PokemonMansion3F, POKEMON_MANSION_3F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/PokemonMansionB1F.asm b/data/maps/headers/PokemonMansionB1F.asm index 0aae67e6..5e2a9646 100644 --- a/data/maps/headers/PokemonMansionB1F.asm +++ b/data/maps/headers/PokemonMansionB1F.asm @@ -1,3 +1,2 @@ - map_header PokemonMansionB1F, POKEMON_MANSION_B1F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/PokemonTower1F.asm b/data/maps/headers/PokemonTower1F.asm index 185fd2c0..51fec360 100644 --- a/data/maps/headers/PokemonTower1F.asm +++ b/data/maps/headers/PokemonTower1F.asm @@ -1,3 +1,2 @@ - map_header PokemonTower1F, POKEMON_TOWER_1F, CEMETERY, 0 end_map_header diff --git a/data/maps/headers/PokemonTower2F.asm b/data/maps/headers/PokemonTower2F.asm index 5a6046c8..aa55737d 100644 --- a/data/maps/headers/PokemonTower2F.asm +++ b/data/maps/headers/PokemonTower2F.asm @@ -1,3 +1,2 @@ - map_header PokemonTower2F, POKEMON_TOWER_2F, CEMETERY, 0 end_map_header diff --git a/data/maps/headers/PokemonTower3F.asm b/data/maps/headers/PokemonTower3F.asm index 49ebc4e7..88717251 100644 --- a/data/maps/headers/PokemonTower3F.asm +++ b/data/maps/headers/PokemonTower3F.asm @@ -1,3 +1,2 @@ - map_header PokemonTower3F, POKEMON_TOWER_3F, CEMETERY, 0 end_map_header diff --git a/data/maps/headers/PokemonTower4F.asm b/data/maps/headers/PokemonTower4F.asm index 0eb9a0d6..8e54dbed 100644 --- a/data/maps/headers/PokemonTower4F.asm +++ b/data/maps/headers/PokemonTower4F.asm @@ -1,3 +1,2 @@ - map_header PokemonTower4F, POKEMON_TOWER_4F, CEMETERY, 0 end_map_header diff --git a/data/maps/headers/PokemonTower5F.asm b/data/maps/headers/PokemonTower5F.asm index e58c63c6..c070b5e6 100644 --- a/data/maps/headers/PokemonTower5F.asm +++ b/data/maps/headers/PokemonTower5F.asm @@ -1,3 +1,2 @@ - map_header PokemonTower5F, POKEMON_TOWER_5F, CEMETERY, 0 end_map_header diff --git a/data/maps/headers/PokemonTower6F.asm b/data/maps/headers/PokemonTower6F.asm index ba53347b..d616e995 100644 --- a/data/maps/headers/PokemonTower6F.asm +++ b/data/maps/headers/PokemonTower6F.asm @@ -1,3 +1,2 @@ - map_header PokemonTower6F, POKEMON_TOWER_6F, CEMETERY, 0 end_map_header diff --git a/data/maps/headers/PokemonTower7F.asm b/data/maps/headers/PokemonTower7F.asm index bd9f839b..6a6eff82 100644 --- a/data/maps/headers/PokemonTower7F.asm +++ b/data/maps/headers/PokemonTower7F.asm @@ -1,3 +1,2 @@ - map_header PokemonTower7F, POKEMON_TOWER_7F, CEMETERY, 0 end_map_header diff --git a/data/maps/headers/PowerPlant.asm b/data/maps/headers/PowerPlant.asm index 88d82ae2..bf1dcd9f 100644 --- a/data/maps/headers/PowerPlant.asm +++ b/data/maps/headers/PowerPlant.asm @@ -1,3 +1,2 @@ - map_header PowerPlant, POWER_PLANT, FACILITY, 0 end_map_header diff --git a/data/maps/headers/RedsHouse1F.asm b/data/maps/headers/RedsHouse1F.asm index 018bdc80..938c72d6 100644 --- a/data/maps/headers/RedsHouse1F.asm +++ b/data/maps/headers/RedsHouse1F.asm @@ -1,3 +1,2 @@ - map_header RedsHouse1F, REDS_HOUSE_1F, REDS_HOUSE_1, 0 end_map_header diff --git a/data/maps/headers/RedsHouse2F.asm b/data/maps/headers/RedsHouse2F.asm index 10332e2c..65eb0f9b 100644 --- a/data/maps/headers/RedsHouse2F.asm +++ b/data/maps/headers/RedsHouse2F.asm @@ -1,3 +1,2 @@ - map_header RedsHouse2F, REDS_HOUSE_2F, REDS_HOUSE_2, $00 end_map_header diff --git a/data/maps/headers/RockTunnel1F.asm b/data/maps/headers/RockTunnel1F.asm index 268ee645..f9cb9291 100644 --- a/data/maps/headers/RockTunnel1F.asm +++ b/data/maps/headers/RockTunnel1F.asm @@ -1,3 +1,2 @@ - map_header RockTunnel1F, ROCK_TUNNEL_1F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/RockTunnelB1F.asm b/data/maps/headers/RockTunnelB1F.asm index 7b13f647..f812afde 100644 --- a/data/maps/headers/RockTunnelB1F.asm +++ b/data/maps/headers/RockTunnelB1F.asm @@ -1,3 +1,2 @@ - map_header RockTunnelB1F, ROCK_TUNNEL_B1F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/RockTunnelPokecenter.asm b/data/maps/headers/RockTunnelPokecenter.asm index a873854b..82034058 100644 --- a/data/maps/headers/RockTunnelPokecenter.asm +++ b/data/maps/headers/RockTunnelPokecenter.asm @@ -1,3 +1,2 @@ - map_header RockTunnelPokecenter, ROCK_TUNNEL_POKECENTER, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/RocketHideoutB1F.asm b/data/maps/headers/RocketHideoutB1F.asm index 521a6693..5c4ba063 100644 --- a/data/maps/headers/RocketHideoutB1F.asm +++ b/data/maps/headers/RocketHideoutB1F.asm @@ -1,3 +1,2 @@ - map_header RocketHideoutB1F, ROCKET_HIDEOUT_B1F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/RocketHideoutB2F.asm b/data/maps/headers/RocketHideoutB2F.asm index ab2a965d..aa15717f 100644 --- a/data/maps/headers/RocketHideoutB2F.asm +++ b/data/maps/headers/RocketHideoutB2F.asm @@ -1,3 +1,2 @@ - map_header RocketHideoutB2F, ROCKET_HIDEOUT_B2F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/RocketHideoutB3F.asm b/data/maps/headers/RocketHideoutB3F.asm index 0a04b00e..737e74cf 100644 --- a/data/maps/headers/RocketHideoutB3F.asm +++ b/data/maps/headers/RocketHideoutB3F.asm @@ -1,3 +1,2 @@ - map_header RocketHideoutB3F, ROCKET_HIDEOUT_B3F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/RocketHideoutB4F.asm b/data/maps/headers/RocketHideoutB4F.asm index 11512c01..9897f7c3 100644 --- a/data/maps/headers/RocketHideoutB4F.asm +++ b/data/maps/headers/RocketHideoutB4F.asm @@ -1,3 +1,2 @@ - map_header RocketHideoutB4F, ROCKET_HIDEOUT_B4F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/RocketHideoutElevator.asm b/data/maps/headers/RocketHideoutElevator.asm index 90ece237..ceb4711a 100644 --- a/data/maps/headers/RocketHideoutElevator.asm +++ b/data/maps/headers/RocketHideoutElevator.asm @@ -1,3 +1,2 @@ - map_header RocketHideoutElevator, ROCKET_HIDEOUT_ELEVATOR, LOBBY, 0 end_map_header diff --git a/data/maps/headers/Route1.asm b/data/maps/headers/Route1.asm index 6eeb0347..36e53d83 100644 --- a/data/maps/headers/Route1.asm +++ b/data/maps/headers/Route1.asm @@ -1,4 +1,3 @@ - map_header Route1, ROUTE_1, OVERWORLD, NORTH | SOUTH connection north, ViridianCity, VIRIDIAN_CITY, -5 connection south, PalletTown, PALLET_TOWN, 0 diff --git a/data/maps/headers/Route10.asm b/data/maps/headers/Route10.asm index ba498b0a..c1d35489 100644 --- a/data/maps/headers/Route10.asm +++ b/data/maps/headers/Route10.asm @@ -1,4 +1,3 @@ - map_header Route10, ROUTE_10, OVERWORLD, SOUTH | WEST connection south, LavenderTown, LAVENDER_TOWN, 0 connection west, Route9, ROUTE_9, 0 diff --git a/data/maps/headers/Route11.asm b/data/maps/headers/Route11.asm index d8f2e72f..d71eeb82 100644 --- a/data/maps/headers/Route11.asm +++ b/data/maps/headers/Route11.asm @@ -1,4 +1,3 @@ - map_header Route11, ROUTE_11, OVERWORLD, WEST | EAST connection west, VermilionCity, VERMILION_CITY, -4 connection east, Route12, ROUTE_12, -27 diff --git a/data/maps/headers/Route11Gate1F.asm b/data/maps/headers/Route11Gate1F.asm index aa97b791..bd8a2679 100644 --- a/data/maps/headers/Route11Gate1F.asm +++ b/data/maps/headers/Route11Gate1F.asm @@ -1,3 +1,2 @@ - map_header Route11Gate1F, ROUTE_11_GATE_1F, GATE, 0 end_map_header diff --git a/data/maps/headers/Route11Gate2F.asm b/data/maps/headers/Route11Gate2F.asm index 560d38db..33ab2f90 100644 --- a/data/maps/headers/Route11Gate2F.asm +++ b/data/maps/headers/Route11Gate2F.asm @@ -1,3 +1,2 @@ - map_header Route11Gate2F, ROUTE_11_GATE_2F, GATE, 0 end_map_header diff --git a/data/maps/headers/Route12.asm b/data/maps/headers/Route12.asm index 931ddf1d..c013784c 100644 --- a/data/maps/headers/Route12.asm +++ b/data/maps/headers/Route12.asm @@ -1,4 +1,3 @@ - map_header Route12, ROUTE_12, OVERWORLD, NORTH | SOUTH | WEST connection north, LavenderTown, LAVENDER_TOWN, 0 connection south, Route13, ROUTE_13, -20 diff --git a/data/maps/headers/Route12Gate1F.asm b/data/maps/headers/Route12Gate1F.asm index 047a670c..fa3c99a6 100644 --- a/data/maps/headers/Route12Gate1F.asm +++ b/data/maps/headers/Route12Gate1F.asm @@ -1,3 +1,2 @@ - map_header Route12Gate1F, ROUTE_12_GATE_1F, GATE, 0 end_map_header diff --git a/data/maps/headers/Route12Gate2F.asm b/data/maps/headers/Route12Gate2F.asm index e1366736..0938607f 100644 --- a/data/maps/headers/Route12Gate2F.asm +++ b/data/maps/headers/Route12Gate2F.asm @@ -1,3 +1,2 @@ - map_header Route12Gate2F, ROUTE_12_GATE_2F, GATE, 0 end_map_header diff --git a/data/maps/headers/Route12SuperRodHouse.asm b/data/maps/headers/Route12SuperRodHouse.asm index 2195a9b1..a904c839 100644 --- a/data/maps/headers/Route12SuperRodHouse.asm +++ b/data/maps/headers/Route12SuperRodHouse.asm @@ -1,3 +1,2 @@ - map_header Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/Route13.asm b/data/maps/headers/Route13.asm index 242aaa02..139156d5 100644 --- a/data/maps/headers/Route13.asm +++ b/data/maps/headers/Route13.asm @@ -1,4 +1,3 @@ - map_header Route13, ROUTE_13, OVERWORLD, NORTH | WEST connection north, Route12, ROUTE_12, 20 connection west, Route14, ROUTE_14, 0 diff --git a/data/maps/headers/Route14.asm b/data/maps/headers/Route14.asm index c0c39c56..4b98c5f5 100644 --- a/data/maps/headers/Route14.asm +++ b/data/maps/headers/Route14.asm @@ -1,4 +1,3 @@ - map_header Route14, ROUTE_14, OVERWORLD, WEST | EAST connection west, Route15, ROUTE_15, 18 connection east, Route13, ROUTE_13, 0 diff --git a/data/maps/headers/Route15.asm b/data/maps/headers/Route15.asm index 28a811d2..3253eda9 100644 --- a/data/maps/headers/Route15.asm +++ b/data/maps/headers/Route15.asm @@ -1,4 +1,3 @@ - map_header Route15, ROUTE_15, OVERWORLD, WEST | EAST connection west, FuchsiaCity, FUCHSIA_CITY, -4 connection east, Route14, ROUTE_14, -18 diff --git a/data/maps/headers/Route15Gate1F.asm b/data/maps/headers/Route15Gate1F.asm index a23d15a0..32d0b3bf 100644 --- a/data/maps/headers/Route15Gate1F.asm +++ b/data/maps/headers/Route15Gate1F.asm @@ -1,3 +1,2 @@ - map_header Route15Gate1F, ROUTE_15_GATE_1F, GATE, 0 end_map_header diff --git a/data/maps/headers/Route15Gate2F.asm b/data/maps/headers/Route15Gate2F.asm index 8ca89872..1a700146 100644 --- a/data/maps/headers/Route15Gate2F.asm +++ b/data/maps/headers/Route15Gate2F.asm @@ -1,3 +1,2 @@ - map_header Route15Gate2F, ROUTE_15_GATE_2F, GATE, 0 end_map_header diff --git a/data/maps/headers/Route16.asm b/data/maps/headers/Route16.asm index 423c7af2..3190be86 100644 --- a/data/maps/headers/Route16.asm +++ b/data/maps/headers/Route16.asm @@ -1,4 +1,3 @@ - map_header Route16, ROUTE_16, OVERWORLD, SOUTH | EAST connection south, Route17, ROUTE_17, 0 connection east, CeladonCity, CELADON_CITY, -4 diff --git a/data/maps/headers/Route16FlyHouse.asm b/data/maps/headers/Route16FlyHouse.asm index 240b6df4..df6f5845 100644 --- a/data/maps/headers/Route16FlyHouse.asm +++ b/data/maps/headers/Route16FlyHouse.asm @@ -1,3 +1,2 @@ - map_header Route16FlyHouse, ROUTE_16_FLY_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/Route16Gate1F.asm b/data/maps/headers/Route16Gate1F.asm index 74fd1b7f..05f23dd0 100644 --- a/data/maps/headers/Route16Gate1F.asm +++ b/data/maps/headers/Route16Gate1F.asm @@ -1,3 +1,2 @@ - map_header Route16Gate1F, ROUTE_16_GATE_1F, GATE, 0 end_map_header diff --git a/data/maps/headers/Route16Gate2F.asm b/data/maps/headers/Route16Gate2F.asm index ed889f4b..b2e9507e 100644 --- a/data/maps/headers/Route16Gate2F.asm +++ b/data/maps/headers/Route16Gate2F.asm @@ -1,3 +1,2 @@ - map_header Route16Gate2F, ROUTE_16_GATE_2F, GATE, 0 end_map_header diff --git a/data/maps/headers/Route17.asm b/data/maps/headers/Route17.asm index 5e853299..ff8a6be0 100644 --- a/data/maps/headers/Route17.asm +++ b/data/maps/headers/Route17.asm @@ -1,4 +1,3 @@ - map_header Route17, ROUTE_17, OVERWORLD, NORTH | SOUTH connection north, Route16, ROUTE_16, 0 connection south, Route18, ROUTE_18, 0 diff --git a/data/maps/headers/Route18.asm b/data/maps/headers/Route18.asm index 34573051..2068781c 100644 --- a/data/maps/headers/Route18.asm +++ b/data/maps/headers/Route18.asm @@ -1,4 +1,3 @@ - map_header Route18, ROUTE_18, OVERWORLD, NORTH | EAST connection north, Route17, ROUTE_17, 0 connection east, FuchsiaCity, FUCHSIA_CITY, -4 diff --git a/data/maps/headers/Route18Gate1F.asm b/data/maps/headers/Route18Gate1F.asm index 2847e0e3..05aa68b1 100644 --- a/data/maps/headers/Route18Gate1F.asm +++ b/data/maps/headers/Route18Gate1F.asm @@ -1,3 +1,2 @@ - map_header Route18Gate1F, ROUTE_18_GATE_1F, GATE, 0 end_map_header diff --git a/data/maps/headers/Route18Gate2F.asm b/data/maps/headers/Route18Gate2F.asm index f25fa700..7317384a 100644 --- a/data/maps/headers/Route18Gate2F.asm +++ b/data/maps/headers/Route18Gate2F.asm @@ -1,3 +1,2 @@ - map_header Route18Gate2F, ROUTE_18_GATE_2F, GATE, 0 end_map_header diff --git a/data/maps/headers/Route19.asm b/data/maps/headers/Route19.asm index 7f01c804..9ea5f159 100644 --- a/data/maps/headers/Route19.asm +++ b/data/maps/headers/Route19.asm @@ -1,4 +1,3 @@ - map_header Route19, ROUTE_19, OVERWORLD, NORTH | WEST connection north, FuchsiaCity, FUCHSIA_CITY, -5 connection west, Route20, ROUTE_20, 18 diff --git a/data/maps/headers/Route2.asm b/data/maps/headers/Route2.asm index 521eef69..5fcb3f70 100644 --- a/data/maps/headers/Route2.asm +++ b/data/maps/headers/Route2.asm @@ -1,4 +1,3 @@ - map_header Route2, ROUTE_2, OVERWORLD, NORTH | SOUTH connection north, PewterCity, PEWTER_CITY, -5 connection south, ViridianCity, VIRIDIAN_CITY, -5 diff --git a/data/maps/headers/Route20.asm b/data/maps/headers/Route20.asm index 3495b785..cc9ffbc7 100644 --- a/data/maps/headers/Route20.asm +++ b/data/maps/headers/Route20.asm @@ -1,4 +1,3 @@ - map_header Route20, ROUTE_20, OVERWORLD, WEST | EAST connection west, CinnabarIsland, CINNABAR_ISLAND, 0 connection east, Route19, ROUTE_19, -18 diff --git a/data/maps/headers/Route21.asm b/data/maps/headers/Route21.asm index 803bf217..968af4e0 100644 --- a/data/maps/headers/Route21.asm +++ b/data/maps/headers/Route21.asm @@ -1,4 +1,3 @@ - map_header Route21, ROUTE_21, OVERWORLD, NORTH | SOUTH connection north, PalletTown, PALLET_TOWN, 0 connection south, CinnabarIsland, CINNABAR_ISLAND, 0 diff --git a/data/maps/headers/Route22.asm b/data/maps/headers/Route22.asm index a045838e..8370b8e2 100644 --- a/data/maps/headers/Route22.asm +++ b/data/maps/headers/Route22.asm @@ -1,4 +1,3 @@ - map_header Route22, ROUTE_22, OVERWORLD, NORTH | EAST connection north, Route23, ROUTE_23, 0 ; unnecessary connection east, ViridianCity, VIRIDIAN_CITY, -4 diff --git a/data/maps/headers/Route22Gate.asm b/data/maps/headers/Route22Gate.asm index a9d1dd37..bac7eb70 100644 --- a/data/maps/headers/Route22Gate.asm +++ b/data/maps/headers/Route22Gate.asm @@ -1,3 +1,2 @@ - map_header Route22Gate, ROUTE_22_GATE, GATE, 0 end_map_header diff --git a/data/maps/headers/Route23.asm b/data/maps/headers/Route23.asm index 66c2936f..7d3d8bd3 100644 --- a/data/maps/headers/Route23.asm +++ b/data/maps/headers/Route23.asm @@ -1,4 +1,3 @@ - map_header Route23, ROUTE_23, PLATEAU, NORTH | SOUTH connection north, IndigoPlateau, INDIGO_PLATEAU, 0 connection south, Route22, ROUTE_22, 0 ; unnecessary diff --git a/data/maps/headers/Route24.asm b/data/maps/headers/Route24.asm index faf53660..40758e82 100644 --- a/data/maps/headers/Route24.asm +++ b/data/maps/headers/Route24.asm @@ -1,4 +1,3 @@ - map_header Route24, ROUTE_24, OVERWORLD, SOUTH | EAST connection south, CeruleanCity, CERULEAN_CITY, -5 connection east, Route25, ROUTE_25, 0 diff --git a/data/maps/headers/Route25.asm b/data/maps/headers/Route25.asm index 1873d19b..f2d5ff2e 100644 --- a/data/maps/headers/Route25.asm +++ b/data/maps/headers/Route25.asm @@ -1,4 +1,3 @@ - map_header Route25, ROUTE_25, OVERWORLD, WEST connection west, Route24, ROUTE_24, 0 end_map_header diff --git a/data/maps/headers/Route2Gate.asm b/data/maps/headers/Route2Gate.asm index 730d8f2d..b1d1d08e 100644 --- a/data/maps/headers/Route2Gate.asm +++ b/data/maps/headers/Route2Gate.asm @@ -1,3 +1,2 @@ - map_header Route2Gate, ROUTE_2_GATE, GATE, 0 end_map_header diff --git a/data/maps/headers/Route2TradeHouse.asm b/data/maps/headers/Route2TradeHouse.asm index b9937dad..68482f96 100644 --- a/data/maps/headers/Route2TradeHouse.asm +++ b/data/maps/headers/Route2TradeHouse.asm @@ -1,3 +1,2 @@ - map_header Route2TradeHouse, ROUTE_2_TRADE_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/Route3.asm b/data/maps/headers/Route3.asm index ddbd7783..1dd2b250 100644 --- a/data/maps/headers/Route3.asm +++ b/data/maps/headers/Route3.asm @@ -1,4 +1,3 @@ - map_header Route3, ROUTE_3, OVERWORLD, NORTH | WEST connection north, Route4, ROUTE_4, 25 connection west, PewterCity, PEWTER_CITY, -4 diff --git a/data/maps/headers/Route4.asm b/data/maps/headers/Route4.asm index 6c43171a..ed24b466 100644 --- a/data/maps/headers/Route4.asm +++ b/data/maps/headers/Route4.asm @@ -1,4 +1,3 @@ - map_header Route4, ROUTE_4, OVERWORLD, SOUTH | EAST connection south, Route3, ROUTE_3, -25 connection east, CeruleanCity, CERULEAN_CITY, -4 diff --git a/data/maps/headers/Route5.asm b/data/maps/headers/Route5.asm index ea84090c..92301763 100644 --- a/data/maps/headers/Route5.asm +++ b/data/maps/headers/Route5.asm @@ -1,4 +1,3 @@ - map_header Route5, ROUTE_5, OVERWORLD, NORTH | SOUTH connection north, CeruleanCity, CERULEAN_CITY, -5 connection south, SaffronCity, SAFFRON_CITY, -5 diff --git a/data/maps/headers/Route5Gate.asm b/data/maps/headers/Route5Gate.asm index a0115533..f8b8362a 100644 --- a/data/maps/headers/Route5Gate.asm +++ b/data/maps/headers/Route5Gate.asm @@ -1,3 +1,2 @@ - map_header Route5Gate, ROUTE_5_GATE, GATE, 0 end_map_header diff --git a/data/maps/headers/Route6.asm b/data/maps/headers/Route6.asm index 956aa4d6..13a68628 100644 --- a/data/maps/headers/Route6.asm +++ b/data/maps/headers/Route6.asm @@ -1,4 +1,3 @@ - map_header Route6, ROUTE_6, OVERWORLD, NORTH | SOUTH connection north, SaffronCity, SAFFRON_CITY, -5 connection south, VermilionCity, VERMILION_CITY, -5 diff --git a/data/maps/headers/Route6Gate.asm b/data/maps/headers/Route6Gate.asm index f80b57c8..08996acb 100644 --- a/data/maps/headers/Route6Gate.asm +++ b/data/maps/headers/Route6Gate.asm @@ -1,3 +1,2 @@ - map_header Route6Gate, ROUTE_6_GATE, GATE, 0 end_map_header diff --git a/data/maps/headers/Route7.asm b/data/maps/headers/Route7.asm index 8368c3fe..27cd8b1d 100644 --- a/data/maps/headers/Route7.asm +++ b/data/maps/headers/Route7.asm @@ -1,4 +1,3 @@ - map_header Route7, ROUTE_7, OVERWORLD, WEST | EAST connection west, CeladonCity, CELADON_CITY, -4 connection east, SaffronCity, SAFFRON_CITY, -4 diff --git a/data/maps/headers/Route7Gate.asm b/data/maps/headers/Route7Gate.asm index e9b9b16d..a7757208 100644 --- a/data/maps/headers/Route7Gate.asm +++ b/data/maps/headers/Route7Gate.asm @@ -1,3 +1,2 @@ - map_header Route7Gate, ROUTE_7_GATE, GATE, 0 end_map_header diff --git a/data/maps/headers/Route8.asm b/data/maps/headers/Route8.asm index 8df9e023..467a8ff4 100644 --- a/data/maps/headers/Route8.asm +++ b/data/maps/headers/Route8.asm @@ -1,4 +1,3 @@ - map_header Route8, ROUTE_8, OVERWORLD, WEST | EAST connection west, SaffronCity, SAFFRON_CITY, -4 connection east, LavenderTown, LAVENDER_TOWN, 0 diff --git a/data/maps/headers/Route8Gate.asm b/data/maps/headers/Route8Gate.asm index f6a320a4..2c319a97 100644 --- a/data/maps/headers/Route8Gate.asm +++ b/data/maps/headers/Route8Gate.asm @@ -1,3 +1,2 @@ - map_header Route8Gate, ROUTE_8_GATE, GATE, 0 end_map_header diff --git a/data/maps/headers/Route9.asm b/data/maps/headers/Route9.asm index c1ed9225..4e97ee41 100644 --- a/data/maps/headers/Route9.asm +++ b/data/maps/headers/Route9.asm @@ -1,4 +1,3 @@ - map_header Route9, ROUTE_9, OVERWORLD, WEST | EAST connection west, CeruleanCity, CERULEAN_CITY, -4 connection east, Route10, ROUTE_10, 0 diff --git a/data/maps/headers/SSAnne1F.asm b/data/maps/headers/SSAnne1F.asm index 80d25e2d..c9bb5ea9 100644 --- a/data/maps/headers/SSAnne1F.asm +++ b/data/maps/headers/SSAnne1F.asm @@ -1,3 +1,2 @@ - map_header SSAnne1F, SS_ANNE_1F, SHIP, 0 end_map_header diff --git a/data/maps/headers/SSAnne1FRooms.asm b/data/maps/headers/SSAnne1FRooms.asm index 8bdd8d00..2f24e897 100644 --- a/data/maps/headers/SSAnne1FRooms.asm +++ b/data/maps/headers/SSAnne1FRooms.asm @@ -1,3 +1,2 @@ - map_header SSAnne1FRooms, SS_ANNE_1F_ROOMS, SHIP, 0 end_map_header diff --git a/data/maps/headers/SSAnne2F.asm b/data/maps/headers/SSAnne2F.asm index b2fe14d7..16a09520 100644 --- a/data/maps/headers/SSAnne2F.asm +++ b/data/maps/headers/SSAnne2F.asm @@ -1,3 +1,2 @@ - map_header SSAnne2F, SS_ANNE_2F, SHIP, 0 end_map_header diff --git a/data/maps/headers/SSAnne2FRooms.asm b/data/maps/headers/SSAnne2FRooms.asm index 2d349e4c..02d5f7a3 100644 --- a/data/maps/headers/SSAnne2FRooms.asm +++ b/data/maps/headers/SSAnne2FRooms.asm @@ -1,3 +1,2 @@ - map_header SSAnne2FRooms, SS_ANNE_2F_ROOMS, SHIP, 0 end_map_header diff --git a/data/maps/headers/SSAnne3F.asm b/data/maps/headers/SSAnne3F.asm index f391a0cd..b8faf7c9 100644 --- a/data/maps/headers/SSAnne3F.asm +++ b/data/maps/headers/SSAnne3F.asm @@ -1,3 +1,2 @@ - map_header SSAnne3F, SS_ANNE_3F, SHIP, 0 end_map_header diff --git a/data/maps/headers/SSAnneB1F.asm b/data/maps/headers/SSAnneB1F.asm index c21d7cff..d3cebd1c 100644 --- a/data/maps/headers/SSAnneB1F.asm +++ b/data/maps/headers/SSAnneB1F.asm @@ -1,3 +1,2 @@ - map_header SSAnneB1F, SS_ANNE_B1F, SHIP, 0 end_map_header diff --git a/data/maps/headers/SSAnneB1FRooms.asm b/data/maps/headers/SSAnneB1FRooms.asm index 1b8b4620..9ce96cd6 100644 --- a/data/maps/headers/SSAnneB1FRooms.asm +++ b/data/maps/headers/SSAnneB1FRooms.asm @@ -1,3 +1,2 @@ - map_header SSAnneB1FRooms, SS_ANNE_B1F_ROOMS, SHIP, 0 end_map_header diff --git a/data/maps/headers/SSAnneBow.asm b/data/maps/headers/SSAnneBow.asm index 2195e970..7cf79f56 100644 --- a/data/maps/headers/SSAnneBow.asm +++ b/data/maps/headers/SSAnneBow.asm @@ -1,3 +1,2 @@ - map_header SSAnneBow, SS_ANNE_BOW, SHIP, 0 end_map_header diff --git a/data/maps/headers/SSAnneCaptainsRoom.asm b/data/maps/headers/SSAnneCaptainsRoom.asm index a24f930d..3f3692b5 100644 --- a/data/maps/headers/SSAnneCaptainsRoom.asm +++ b/data/maps/headers/SSAnneCaptainsRoom.asm @@ -1,3 +1,2 @@ - map_header SSAnneCaptainsRoom, SS_ANNE_CAPTAINS_ROOM, SHIP, 0 end_map_header diff --git a/data/maps/headers/SSAnneKitchen.asm b/data/maps/headers/SSAnneKitchen.asm index 47e84fbe..807f9b79 100644 --- a/data/maps/headers/SSAnneKitchen.asm +++ b/data/maps/headers/SSAnneKitchen.asm @@ -1,3 +1,2 @@ - map_header SSAnneKitchen, SS_ANNE_KITCHEN, SHIP, 0 end_map_header diff --git a/data/maps/headers/SafariZoneCenter.asm b/data/maps/headers/SafariZoneCenter.asm index ccc58ed1..b5636c2c 100644 --- a/data/maps/headers/SafariZoneCenter.asm +++ b/data/maps/headers/SafariZoneCenter.asm @@ -1,3 +1,2 @@ - map_header SafariZoneCenter, SAFARI_ZONE_CENTER, FOREST, 0 end_map_header diff --git a/data/maps/headers/SafariZoneCenterRestHouse.asm b/data/maps/headers/SafariZoneCenterRestHouse.asm index a866003f..c80abea0 100644 --- a/data/maps/headers/SafariZoneCenterRestHouse.asm +++ b/data/maps/headers/SafariZoneCenterRestHouse.asm @@ -1,3 +1,2 @@ - map_header SafariZoneCenterRestHouse, SAFARI_ZONE_CENTER_REST_HOUSE, GATE, 0 end_map_header diff --git a/data/maps/headers/SafariZoneEast.asm b/data/maps/headers/SafariZoneEast.asm index c23e9334..2a6c564f 100644 --- a/data/maps/headers/SafariZoneEast.asm +++ b/data/maps/headers/SafariZoneEast.asm @@ -1,3 +1,2 @@ - map_header SafariZoneEast, SAFARI_ZONE_EAST, FOREST, 0 end_map_header diff --git a/data/maps/headers/SafariZoneEastRestHouse.asm b/data/maps/headers/SafariZoneEastRestHouse.asm index 1f8d76c6..94964754 100644 --- a/data/maps/headers/SafariZoneEastRestHouse.asm +++ b/data/maps/headers/SafariZoneEastRestHouse.asm @@ -1,3 +1,2 @@ - map_header SafariZoneEastRestHouse, SAFARI_ZONE_EAST_REST_HOUSE, GATE, 0 end_map_header diff --git a/data/maps/headers/SafariZoneGate.asm b/data/maps/headers/SafariZoneGate.asm index 7816460d..3f99fec0 100644 --- a/data/maps/headers/SafariZoneGate.asm +++ b/data/maps/headers/SafariZoneGate.asm @@ -1,3 +1,2 @@ - map_header SafariZoneGate, SAFARI_ZONE_GATE, GATE, 0 end_map_header diff --git a/data/maps/headers/SafariZoneNorth.asm b/data/maps/headers/SafariZoneNorth.asm index 32639d22..b8719506 100644 --- a/data/maps/headers/SafariZoneNorth.asm +++ b/data/maps/headers/SafariZoneNorth.asm @@ -1,3 +1,2 @@ - map_header SafariZoneNorth, SAFARI_ZONE_NORTH, FOREST, 0 end_map_header diff --git a/data/maps/headers/SafariZoneNorthRestHouse.asm b/data/maps/headers/SafariZoneNorthRestHouse.asm index ec083803..7f9d5dbc 100644 --- a/data/maps/headers/SafariZoneNorthRestHouse.asm +++ b/data/maps/headers/SafariZoneNorthRestHouse.asm @@ -1,3 +1,2 @@ - map_header SafariZoneNorthRestHouse, SAFARI_ZONE_NORTH_REST_HOUSE, GATE, 0 end_map_header diff --git a/data/maps/headers/SafariZoneSecretHouse.asm b/data/maps/headers/SafariZoneSecretHouse.asm index 630577c4..1c055f27 100644 --- a/data/maps/headers/SafariZoneSecretHouse.asm +++ b/data/maps/headers/SafariZoneSecretHouse.asm @@ -1,3 +1,2 @@ - map_header SafariZoneSecretHouse, SAFARI_ZONE_SECRET_HOUSE, LAB, 0 end_map_header diff --git a/data/maps/headers/SafariZoneWest.asm b/data/maps/headers/SafariZoneWest.asm index a1117d09..3bf4ad68 100644 --- a/data/maps/headers/SafariZoneWest.asm +++ b/data/maps/headers/SafariZoneWest.asm @@ -1,3 +1,2 @@ - map_header SafariZoneWest, SAFARI_ZONE_WEST, FOREST, 0 end_map_header diff --git a/data/maps/headers/SafariZoneWestRestHouse.asm b/data/maps/headers/SafariZoneWestRestHouse.asm index e4618e1d..3d3bef71 100644 --- a/data/maps/headers/SafariZoneWestRestHouse.asm +++ b/data/maps/headers/SafariZoneWestRestHouse.asm @@ -1,3 +1,2 @@ - map_header SafariZoneWestRestHouse, SAFARI_ZONE_WEST_REST_HOUSE, GATE, 0 end_map_header diff --git a/data/maps/headers/SaffronCity.asm b/data/maps/headers/SaffronCity.asm index ee1f71e4..42494862 100644 --- a/data/maps/headers/SaffronCity.asm +++ b/data/maps/headers/SaffronCity.asm @@ -1,4 +1,3 @@ - map_header SaffronCity, SAFFRON_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST connection north, Route5, ROUTE_5, 5 connection south, Route6, ROUTE_6, 5 diff --git a/data/maps/headers/SaffronGym.asm b/data/maps/headers/SaffronGym.asm index 14ee3323..1abaa4ff 100644 --- a/data/maps/headers/SaffronGym.asm +++ b/data/maps/headers/SaffronGym.asm @@ -1,3 +1,2 @@ - map_header SaffronGym, SAFFRON_GYM, FACILITY, 0 end_map_header diff --git a/data/maps/headers/SaffronMart.asm b/data/maps/headers/SaffronMart.asm index f03132d2..f0ec8505 100644 --- a/data/maps/headers/SaffronMart.asm +++ b/data/maps/headers/SaffronMart.asm @@ -1,3 +1,2 @@ - map_header SaffronMart, SAFFRON_MART, MART, 0 end_map_header diff --git a/data/maps/headers/SaffronPidgeyHouse.asm b/data/maps/headers/SaffronPidgeyHouse.asm index e9f8dde7..50203da2 100644 --- a/data/maps/headers/SaffronPidgeyHouse.asm +++ b/data/maps/headers/SaffronPidgeyHouse.asm @@ -1,3 +1,2 @@ - map_header SaffronPidgeyHouse, SAFFRON_PIDGEY_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/SaffronPokecenter.asm b/data/maps/headers/SaffronPokecenter.asm index 9b250050..94bf5a0b 100644 --- a/data/maps/headers/SaffronPokecenter.asm +++ b/data/maps/headers/SaffronPokecenter.asm @@ -1,3 +1,2 @@ - map_header SaffronPokecenter, SAFFRON_POKECENTER, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/SeafoamIslands1F.asm b/data/maps/headers/SeafoamIslands1F.asm index db530549..5807a8ad 100644 --- a/data/maps/headers/SeafoamIslands1F.asm +++ b/data/maps/headers/SeafoamIslands1F.asm @@ -1,3 +1,2 @@ - map_header SeafoamIslands1F, SEAFOAM_ISLANDS_1F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/SeafoamIslandsB1F.asm b/data/maps/headers/SeafoamIslandsB1F.asm index 589eef93..43d6cc18 100644 --- a/data/maps/headers/SeafoamIslandsB1F.asm +++ b/data/maps/headers/SeafoamIslandsB1F.asm @@ -1,3 +1,2 @@ - map_header SeafoamIslandsB1F, SEAFOAM_ISLANDS_B1F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/SeafoamIslandsB2F.asm b/data/maps/headers/SeafoamIslandsB2F.asm index f7e624ed..45ab3b36 100644 --- a/data/maps/headers/SeafoamIslandsB2F.asm +++ b/data/maps/headers/SeafoamIslandsB2F.asm @@ -1,3 +1,2 @@ - map_header SeafoamIslandsB2F, SEAFOAM_ISLANDS_B2F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/SeafoamIslandsB3F.asm b/data/maps/headers/SeafoamIslandsB3F.asm index b57da3c0..e4452a8d 100644 --- a/data/maps/headers/SeafoamIslandsB3F.asm +++ b/data/maps/headers/SeafoamIslandsB3F.asm @@ -1,3 +1,2 @@ - map_header SeafoamIslandsB3F, SEAFOAM_ISLANDS_B3F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/SeafoamIslandsB4F.asm b/data/maps/headers/SeafoamIslandsB4F.asm index bae1e3a2..7504f74b 100644 --- a/data/maps/headers/SeafoamIslandsB4F.asm +++ b/data/maps/headers/SeafoamIslandsB4F.asm @@ -1,3 +1,2 @@ - map_header SeafoamIslandsB4F, SEAFOAM_ISLANDS_B4F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/SilphCo10F.asm b/data/maps/headers/SilphCo10F.asm index 7a6786e7..1b4c0ea1 100644 --- a/data/maps/headers/SilphCo10F.asm +++ b/data/maps/headers/SilphCo10F.asm @@ -1,3 +1,2 @@ - map_header SilphCo10F, SILPH_CO_10F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/SilphCo11F.asm b/data/maps/headers/SilphCo11F.asm index 72eaaca2..9c1a3aad 100644 --- a/data/maps/headers/SilphCo11F.asm +++ b/data/maps/headers/SilphCo11F.asm @@ -1,3 +1,2 @@ - map_header SilphCo11F, SILPH_CO_11F, INTERIOR, 0 end_map_header diff --git a/data/maps/headers/SilphCo1F.asm b/data/maps/headers/SilphCo1F.asm index 4c4ac97d..49ba5a38 100644 --- a/data/maps/headers/SilphCo1F.asm +++ b/data/maps/headers/SilphCo1F.asm @@ -1,3 +1,2 @@ - map_header SilphCo1F, SILPH_CO_1F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/SilphCo2F.asm b/data/maps/headers/SilphCo2F.asm index 7dc44a55..0e6fbe2e 100644 --- a/data/maps/headers/SilphCo2F.asm +++ b/data/maps/headers/SilphCo2F.asm @@ -1,3 +1,2 @@ - map_header SilphCo2F, SILPH_CO_2F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/SilphCo3F.asm b/data/maps/headers/SilphCo3F.asm index 99e4aa15..de01f9be 100644 --- a/data/maps/headers/SilphCo3F.asm +++ b/data/maps/headers/SilphCo3F.asm @@ -1,3 +1,2 @@ - map_header SilphCo3F, SILPH_CO_3F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/SilphCo4F.asm b/data/maps/headers/SilphCo4F.asm index 8eed0f9a..02600774 100644 --- a/data/maps/headers/SilphCo4F.asm +++ b/data/maps/headers/SilphCo4F.asm @@ -1,3 +1,2 @@ - map_header SilphCo4F, SILPH_CO_4F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/SilphCo5F.asm b/data/maps/headers/SilphCo5F.asm index 3b40c360..a589d31d 100644 --- a/data/maps/headers/SilphCo5F.asm +++ b/data/maps/headers/SilphCo5F.asm @@ -1,3 +1,2 @@ - map_header SilphCo5F, SILPH_CO_5F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/SilphCo6F.asm b/data/maps/headers/SilphCo6F.asm index 3d2b3b8c..f8f8b94b 100644 --- a/data/maps/headers/SilphCo6F.asm +++ b/data/maps/headers/SilphCo6F.asm @@ -1,3 +1,2 @@ - map_header SilphCo6F, SILPH_CO_6F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/SilphCo7F.asm b/data/maps/headers/SilphCo7F.asm index 1591837a..feb4c082 100644 --- a/data/maps/headers/SilphCo7F.asm +++ b/data/maps/headers/SilphCo7F.asm @@ -1,3 +1,2 @@ - map_header SilphCo7F, SILPH_CO_7F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/SilphCo8F.asm b/data/maps/headers/SilphCo8F.asm index e676fa86..de37e25c 100644 --- a/data/maps/headers/SilphCo8F.asm +++ b/data/maps/headers/SilphCo8F.asm @@ -1,3 +1,2 @@ - map_header SilphCo8F, SILPH_CO_8F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/SilphCo9F.asm b/data/maps/headers/SilphCo9F.asm index 89f0300a..ec8f9bcd 100644 --- a/data/maps/headers/SilphCo9F.asm +++ b/data/maps/headers/SilphCo9F.asm @@ -1,3 +1,2 @@ - map_header SilphCo9F, SILPH_CO_9F, FACILITY, 0 end_map_header diff --git a/data/maps/headers/SilphCoElevator.asm b/data/maps/headers/SilphCoElevator.asm index 4dd9cd9f..785443bc 100644 --- a/data/maps/headers/SilphCoElevator.asm +++ b/data/maps/headers/SilphCoElevator.asm @@ -1,3 +1,2 @@ - map_header SilphCoElevator, SILPH_CO_ELEVATOR, LOBBY, 0 end_map_header diff --git a/data/maps/headers/TradeCenter.asm b/data/maps/headers/TradeCenter.asm index 268d76b2..75c47d0a 100644 --- a/data/maps/headers/TradeCenter.asm +++ b/data/maps/headers/TradeCenter.asm @@ -1,3 +1,2 @@ - map_header TradeCenter, TRADE_CENTER, CLUB, 0 end_map_header diff --git a/data/maps/headers/UndergroundPathNorthSouth.asm b/data/maps/headers/UndergroundPathNorthSouth.asm index 4bb03c79..c5400415 100644 --- a/data/maps/headers/UndergroundPathNorthSouth.asm +++ b/data/maps/headers/UndergroundPathNorthSouth.asm @@ -1,3 +1,2 @@ - map_header UndergroundPathNorthSouth, UNDERGROUND_PATH_NORTH_SOUTH, UNDERGROUND, 0 end_map_header diff --git a/data/maps/headers/UndergroundPathRoute5.asm b/data/maps/headers/UndergroundPathRoute5.asm index 18287254..733bdb50 100644 --- a/data/maps/headers/UndergroundPathRoute5.asm +++ b/data/maps/headers/UndergroundPathRoute5.asm @@ -1,3 +1,2 @@ - map_header UndergroundPathRoute5, UNDERGROUND_PATH_ROUTE_5, GATE, 0 end_map_header diff --git a/data/maps/headers/UndergroundPathRoute6.asm b/data/maps/headers/UndergroundPathRoute6.asm index 67772543..b9e56bd8 100644 --- a/data/maps/headers/UndergroundPathRoute6.asm +++ b/data/maps/headers/UndergroundPathRoute6.asm @@ -1,3 +1,2 @@ - map_header UndergroundPathRoute6, UNDERGROUND_PATH_ROUTE_6, GATE, 0 end_map_header diff --git a/data/maps/headers/UndergroundPathRoute7.asm b/data/maps/headers/UndergroundPathRoute7.asm index d70548ed..b3de5c69 100644 --- a/data/maps/headers/UndergroundPathRoute7.asm +++ b/data/maps/headers/UndergroundPathRoute7.asm @@ -1,3 +1,2 @@ - map_header UndergroundPathRoute7, UNDERGROUND_PATH_ROUTE_7, GATE, 0 end_map_header diff --git a/data/maps/headers/UndergroundPathRoute7Copy.asm b/data/maps/headers/UndergroundPathRoute7Copy.asm index 30bb70a8..5627e074 100644 --- a/data/maps/headers/UndergroundPathRoute7Copy.asm +++ b/data/maps/headers/UndergroundPathRoute7Copy.asm @@ -1,3 +1,2 @@ - map_header UndergroundPathRoute7Copy, UNDERGROUND_PATH_ROUTE_7, GATE, 0 end_map_header diff --git a/data/maps/headers/UndergroundPathRoute8.asm b/data/maps/headers/UndergroundPathRoute8.asm index 102d8413..748e4441 100644 --- a/data/maps/headers/UndergroundPathRoute8.asm +++ b/data/maps/headers/UndergroundPathRoute8.asm @@ -1,3 +1,2 @@ - map_header UndergroundPathRoute8, UNDERGROUND_PATH_ROUTE_8, GATE, 0 end_map_header diff --git a/data/maps/headers/UndergroundPathWestEast.asm b/data/maps/headers/UndergroundPathWestEast.asm index 05976e87..6dfa8832 100644 --- a/data/maps/headers/UndergroundPathWestEast.asm +++ b/data/maps/headers/UndergroundPathWestEast.asm @@ -1,3 +1,2 @@ - map_header UndergroundPathWestEast, UNDERGROUND_PATH_WEST_EAST, UNDERGROUND, 0 end_map_header diff --git a/data/maps/headers/VermilionCity.asm b/data/maps/headers/VermilionCity.asm index e211562c..b776a67f 100644 --- a/data/maps/headers/VermilionCity.asm +++ b/data/maps/headers/VermilionCity.asm @@ -1,4 +1,3 @@ - map_header VermilionCity, VERMILION_CITY, OVERWORLD, NORTH | EAST connection north, Route6, ROUTE_6, 5 connection east, Route11, ROUTE_11, 4 diff --git a/data/maps/headers/VermilionDock.asm b/data/maps/headers/VermilionDock.asm index 9a9b61c2..0234f616 100644 --- a/data/maps/headers/VermilionDock.asm +++ b/data/maps/headers/VermilionDock.asm @@ -1,3 +1,2 @@ - map_header VermilionDock, VERMILION_DOCK, SHIP_PORT, 0 end_map_header diff --git a/data/maps/headers/VermilionGym.asm b/data/maps/headers/VermilionGym.asm index ca75b8c1..f54c6bfb 100644 --- a/data/maps/headers/VermilionGym.asm +++ b/data/maps/headers/VermilionGym.asm @@ -1,3 +1,2 @@ - map_header VermilionGym, VERMILION_GYM, GYM, 0 end_map_header diff --git a/data/maps/headers/VermilionMart.asm b/data/maps/headers/VermilionMart.asm index 5777db4b..11f1d676 100644 --- a/data/maps/headers/VermilionMart.asm +++ b/data/maps/headers/VermilionMart.asm @@ -1,3 +1,2 @@ - map_header VermilionMart, VERMILION_MART, MART, 0 end_map_header diff --git a/data/maps/headers/VermilionOldRodHouse.asm b/data/maps/headers/VermilionOldRodHouse.asm index f9c890e0..40feae75 100644 --- a/data/maps/headers/VermilionOldRodHouse.asm +++ b/data/maps/headers/VermilionOldRodHouse.asm @@ -1,3 +1,2 @@ - map_header VermilionOldRodHouse, VERMILION_OLD_ROD_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/VermilionPidgeyHouse.asm b/data/maps/headers/VermilionPidgeyHouse.asm index afb81784..7ddf452f 100644 --- a/data/maps/headers/VermilionPidgeyHouse.asm +++ b/data/maps/headers/VermilionPidgeyHouse.asm @@ -1,3 +1,2 @@ - map_header VermilionPidgeyHouse, VERMILION_PIDGEY_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/VermilionPokecenter.asm b/data/maps/headers/VermilionPokecenter.asm index af9827ac..6b7f7d62 100644 --- a/data/maps/headers/VermilionPokecenter.asm +++ b/data/maps/headers/VermilionPokecenter.asm @@ -1,3 +1,2 @@ - map_header VermilionPokecenter, VERMILION_POKECENTER, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/VermilionTradeHouse.asm b/data/maps/headers/VermilionTradeHouse.asm index 3cb82c47..f948348f 100644 --- a/data/maps/headers/VermilionTradeHouse.asm +++ b/data/maps/headers/VermilionTradeHouse.asm @@ -1,3 +1,2 @@ - map_header VermilionTradeHouse, VERMILION_TRADE_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/VictoryRoad1F.asm b/data/maps/headers/VictoryRoad1F.asm index dae95f16..c982da4b 100644 --- a/data/maps/headers/VictoryRoad1F.asm +++ b/data/maps/headers/VictoryRoad1F.asm @@ -1,3 +1,2 @@ - map_header VictoryRoad1F, VICTORY_ROAD_1F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/VictoryRoad2F.asm b/data/maps/headers/VictoryRoad2F.asm index 99079ad3..7cb9aac5 100644 --- a/data/maps/headers/VictoryRoad2F.asm +++ b/data/maps/headers/VictoryRoad2F.asm @@ -1,3 +1,2 @@ - map_header VictoryRoad2F, VICTORY_ROAD_2F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/VictoryRoad3F.asm b/data/maps/headers/VictoryRoad3F.asm index bc15cad7..aabde2e6 100644 --- a/data/maps/headers/VictoryRoad3F.asm +++ b/data/maps/headers/VictoryRoad3F.asm @@ -1,3 +1,2 @@ - map_header VictoryRoad3F, VICTORY_ROAD_3F, CAVERN, 0 end_map_header diff --git a/data/maps/headers/ViridianCity.asm b/data/maps/headers/ViridianCity.asm index 0771cc81..1e497fc5 100644 --- a/data/maps/headers/ViridianCity.asm +++ b/data/maps/headers/ViridianCity.asm @@ -1,4 +1,3 @@ - map_header ViridianCity, VIRIDIAN_CITY, OVERWORLD, NORTH | SOUTH | WEST connection north, Route2, ROUTE_2, 5 connection south, Route1, ROUTE_1, 5 diff --git a/data/maps/headers/ViridianForest.asm b/data/maps/headers/ViridianForest.asm index d531ec86..8086f518 100644 --- a/data/maps/headers/ViridianForest.asm +++ b/data/maps/headers/ViridianForest.asm @@ -1,3 +1,2 @@ - map_header ViridianForest, VIRIDIAN_FOREST, FOREST, 0 end_map_header diff --git a/data/maps/headers/ViridianForestNorthGate.asm b/data/maps/headers/ViridianForestNorthGate.asm index 5bfcd6ed..208b6df1 100644 --- a/data/maps/headers/ViridianForestNorthGate.asm +++ b/data/maps/headers/ViridianForestNorthGate.asm @@ -1,3 +1,2 @@ - map_header ViridianForestNorthGate, VIRIDIAN_FOREST_NORTH_GATE, FOREST_GATE, 0 end_map_header diff --git a/data/maps/headers/ViridianForestSouthGate.asm b/data/maps/headers/ViridianForestSouthGate.asm index 87a49284..17ac1550 100644 --- a/data/maps/headers/ViridianForestSouthGate.asm +++ b/data/maps/headers/ViridianForestSouthGate.asm @@ -1,3 +1,2 @@ - map_header ViridianForestSouthGate, VIRIDIAN_FOREST_SOUTH_GATE, FOREST_GATE, 0 end_map_header diff --git a/data/maps/headers/ViridianGym.asm b/data/maps/headers/ViridianGym.asm index 640a71b6..1812531f 100644 --- a/data/maps/headers/ViridianGym.asm +++ b/data/maps/headers/ViridianGym.asm @@ -1,3 +1,2 @@ - map_header ViridianGym, VIRIDIAN_GYM, GYM, 0 end_map_header diff --git a/data/maps/headers/ViridianMart.asm b/data/maps/headers/ViridianMart.asm index 817b5265..ed5c4c90 100644 --- a/data/maps/headers/ViridianMart.asm +++ b/data/maps/headers/ViridianMart.asm @@ -1,3 +1,2 @@ - map_header ViridianMart, VIRIDIAN_MART, MART, 0 end_map_header diff --git a/data/maps/headers/ViridianNicknameHouse.asm b/data/maps/headers/ViridianNicknameHouse.asm index 5a7c272f..d0cb757c 100644 --- a/data/maps/headers/ViridianNicknameHouse.asm +++ b/data/maps/headers/ViridianNicknameHouse.asm @@ -1,3 +1,2 @@ - map_header ViridianNicknameHouse, VIRIDIAN_NICKNAME_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/ViridianPokecenter.asm b/data/maps/headers/ViridianPokecenter.asm index daac19f3..79f1e3b5 100644 --- a/data/maps/headers/ViridianPokecenter.asm +++ b/data/maps/headers/ViridianPokecenter.asm @@ -1,3 +1,2 @@ - map_header ViridianPokecenter, VIRIDIAN_POKECENTER, POKECENTER, 0 end_map_header diff --git a/data/maps/headers/ViridianSchoolHouse.asm b/data/maps/headers/ViridianSchoolHouse.asm index f5b77212..56cbb786 100644 --- a/data/maps/headers/ViridianSchoolHouse.asm +++ b/data/maps/headers/ViridianSchoolHouse.asm @@ -1,3 +1,2 @@ - map_header ViridianSchoolHouse, VIRIDIAN_SCHOOL_HOUSE, HOUSE, 0 end_map_header diff --git a/data/maps/headers/WardensHouse.asm b/data/maps/headers/WardensHouse.asm index 08216f59..6f484b3b 100644 --- a/data/maps/headers/WardensHouse.asm +++ b/data/maps/headers/WardensHouse.asm @@ -1,3 +1,2 @@ - map_header WardensHouse, WARDENS_HOUSE, LAB, 0 end_map_header From bef36398c936e8aa3d61229dfe7b52ca577d024a Mon Sep 17 00:00:00 2001 From: dannye <33dannye@gmail.com> Date: Fri, 15 Jul 2022 05:46:22 -0500 Subject: [PATCH 092/119] Update comment --- audio/engine_2.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audio/engine_2.asm b/audio/engine_2.asm index 51a5d7c4..30845fc8 100644 --- a/audio/engine_2.asm +++ b/audio/engine_2.asm @@ -1074,7 +1074,7 @@ Audio2_IsCry: ; --- this section is only present in this copy of the sound engine Audio2_IsBattleSFX: -; Returns whether the currently playing audio is a cry in carry. +; Returns whether the currently playing audio is a battle sfx in carry. ld a, [wChannelSoundIDs + Ch8] ld b, a ld a, [wChannelSoundIDs + Ch5] From 8ffc0367f927d44ce96d84282146b206e423f31f Mon Sep 17 00:00:00 2001 From: vulcandth Date: Wed, 20 Jul 2022 22:06:40 -0500 Subject: [PATCH 093/119] Basic Issue Template with Discord Link (#377) Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/blank_issue.md | 4 ++++ .github/ISSUE_TEMPLATE/config.yml | 5 +++++ 2 files changed, 9 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/blank_issue.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml diff --git a/.github/ISSUE_TEMPLATE/blank_issue.md b/.github/ISSUE_TEMPLATE/blank_issue.md new file mode 100644 index 00000000..bf249d91 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/blank_issue.md @@ -0,0 +1,4 @@ +--- +name: Update to pokered +about: Suggest a possible change to pokered itself. +--- diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..ceec6344 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: pret Discord + url: https://discord.gg/d5dubZ3 + about: If you need help with using pokered, or just have general questions about it, ask in our Discord server! From 498da6ab0921a280507b3d96e7faac1b305959bd Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 26 Jul 2022 00:01:21 -0400 Subject: [PATCH 094/119] Clarify how Metronome picks a move --- engine/battle/core.asm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 62813eb4..44c657ee 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -5144,12 +5144,13 @@ MetronomePickMove: ; values for enemy turn ld de, wEnemyMoveNum ld hl, wEnemySelectedMove -; loop to pick a random number in the range [1, $a5) to be the move used by Metronome +; loop to pick a random number in the range of valid moves used by Metronome .pickMoveLoop call BattleRandom and a jr z, .pickMoveLoop - cp NUM_ATTACKS ; max move number (including Struggle) + cp STRUGGLE + assert NUM_ATTACKS == STRUGGLE ; random numbers greater than STRUGGLE are not moves jr nc, .pickMoveLoop cp METRONOME jr z, .pickMoveLoop From 1e689606a3e25875af72323ea0f45b06ed044b79 Mon Sep 17 00:00:00 2001 From: Rangi Date: Wed, 10 Aug 2022 21:20:31 -0400 Subject: [PATCH 095/119] PP must be 40 or less --- data/moves/moves.asm | 1 + 1 file changed, 1 insertion(+) diff --git a/data/moves/moves.asm b/data/moves/moves.asm index b7e5e7af..c32a89cb 100644 --- a/data/moves/moves.asm +++ b/data/moves/moves.asm @@ -5,6 +5,7 @@ MACRO move db \4 ; type db \5 percent ; accuracy db \6 ; pp + assert \6 <= 40, "PP must be 40 or less" ENDM Moves: From 8b194055907d1f69f9e0c7edd232f4e669e3fe48 Mon Sep 17 00:00:00 2001 From: Chatot4444 <94812895+Chatot4444@users.noreply.github.com> Date: Thu, 11 Aug 2022 08:51:18 -0400 Subject: [PATCH 096/119] Replace Hard-Coded Number With Constant (#381) Replace a hard coded $a in CheckMapForMon with NUM_WILDMONS --- engine/items/item_effects.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 02408484..913b8636 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -2919,7 +2919,7 @@ FindWildLocationsOfMon: CheckMapForMon: inc hl - ld b, $a + ld b, NUM_WILDMONS .loop ld a, [wd11e] cp [hl] From ac7263b1adef941f8978b775d4b7629a7d8620e3 Mon Sep 17 00:00:00 2001 From: SatoMew Date: Fri, 12 Aug 2022 02:22:57 +0100 Subject: [PATCH 097/119] Update comments related to Swift and Substitute checks (#380) Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com> --- engine/battle/core.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 44c657ee..6aa697c9 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -5368,10 +5368,10 @@ MoveHitTest: .swiftCheck ld a, [de] cp SWIFT_EFFECT - ret z ; Swift never misses (interestingly, Azure Heights lists this is a myth, but it appears to be true) + ret z ; Swift never misses (this was fixed from the Japanese versions) call CheckTargetSubstitute ; substitute check (note that this overwrites a) jr z, .checkForDigOrFlyStatus -; This code is buggy. It's supposed to prevent HP draining moves from working on substitutes. +; The fix for Swift broke this code. It's supposed to prevent HP draining moves from working on Substitutes. ; Since CheckTargetSubstitute overwrites a with either $00 or $01, it never works. cp DRAIN_HP_EFFECT jp z, .moveMissed From bbb0e7e82deb6741f75a12b48f81076d92f5d9dc Mon Sep 17 00:00:00 2001 From: Rangi <35663410+Rangi42@users.noreply.github.com> Date: Thu, 11 Aug 2022 21:23:08 -0400 Subject: [PATCH 098/119] Use the same music headers as pokecrystal (#382) --- audio.asm | 6 +- audio/engine_1.asm | 84 ++-- audio/engine_2.asm | 94 ++-- audio/engine_3.asm | 84 ++-- audio/headers/musicheaders1.asm | 109 +++- audio/headers/musicheaders2.asm | 35 +- audio/headers/musicheaders3.asm | 96 +++- audio/headers/sfxheaders1.asm | 375 ++++++++++---- audio/headers/sfxheaders2.asm | 471 +++++++++++++----- audio/headers/sfxheaders3.asm | 400 +++++++++++---- audio/low_health_alarm.asm | 4 +- audio/poke_flute.asm | 2 +- ...{wave_instruments.asm => wave_samples.asm} | 0 constants/audio_constants.asm | 16 +- engine/battle/core.asm | 6 +- engine/battle/end_of_battle.asm | 2 +- engine/events/hidden_objects/safari_game.asm | 2 +- engine/items/item_effects.asm | 6 +- engine/movie/evolution.asm | 2 +- engine/overworld/elevator.asm | 2 +- home/audio.asm | 8 +- home/delay.asm | 2 +- home/overworld.asm | 4 +- macros/scripts/audio.asm | 55 +- scripts/PewterPokecenter.asm | 2 +- 25 files changed, 1313 insertions(+), 554 deletions(-) rename audio/{wave_instruments.asm => wave_samples.asm} (100%) diff --git a/audio.asm b/audio.asm index 35b0d872..e934c440 100644 --- a/audio.asm +++ b/audio.asm @@ -44,7 +44,7 @@ INCLUDE "audio/sfx/noise_instrument18_1.asm" INCLUDE "audio/sfx/noise_instrument19_1.asm" Audio1_WavePointers: -INCLUDE "audio/wave_instruments.asm" +INCLUDE "audio/wave_samples.asm" INCLUDE "audio/sfx/start_menu_1.asm" INCLUDE "audio/sfx/pokeflute.asm" @@ -144,7 +144,7 @@ INCLUDE "audio/sfx/noise_instrument18_2.asm" INCLUDE "audio/sfx/noise_instrument19_2.asm" Audio2_WavePointers: -INCLUDE "audio/wave_instruments.asm" +INCLUDE "audio/wave_samples.asm" INCLUDE "audio/sfx/press_ab_2.asm" INCLUDE "audio/sfx/start_menu_2.asm" @@ -270,7 +270,7 @@ INCLUDE "audio/sfx/noise_instrument18_3.asm" INCLUDE "audio/sfx/noise_instrument19_3.asm" Audio3_WavePointers: -INCLUDE "audio/wave_instruments.asm" +INCLUDE "audio/wave_samples.asm" INCLUDE "audio/sfx/start_menu_3.asm" INCLUDE "audio/sfx/cut_3.asm" diff --git a/audio/engine_1.asm b/audio/engine_1.asm index f9b4166a..8b30fb1a 100644 --- a/audio/engine_1.asm +++ b/audio/engine_1.asm @@ -1,7 +1,7 @@ ; The first of three duplicated sound engines. Audio1_UpdateMusic:: - ld c, Ch1 + ld c, CHAN1 .loop ld b, 0 ld hl, wChannelSoundIDs @@ -10,7 +10,7 @@ Audio1_UpdateMusic:: and a jr z, .nextChannel ld a, c - cp Ch5 + cp CHAN5 jr nc, .applyAffects ; if sfx channel ld a, [wMuteAudioAndPauseMusic] and a @@ -30,7 +30,7 @@ Audio1_UpdateMusic:: .nextChannel ld a, c inc c ; inc channel number - cp Ch8 + cp CHAN8 jr nz, .loop ret @@ -46,9 +46,9 @@ Audio1_ApplyMusicAffects: dec a ; otherwise, decrease the delay timer ld [hl], a ld a, c - cp Ch5 + cp CHAN5 jr nc, .startChecks ; if a sfx channel - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 add hl, bc ld a, [hl] and a @@ -171,7 +171,7 @@ Audio1_sound_ret: bit BIT_SOUND_CALL, [hl] jr nz, .returnFromCall ld a, c - cp Ch4 + cp CHAN4 jr nc, .noiseOrSfxChannel jr .disableChannelOutput .noiseOrSfxChannel @@ -179,7 +179,7 @@ Audio1_sound_ret: ld hl, wChannelFlags2 add hl, bc res BIT_EXECUTE_MUSIC, [hl] - cp Ch7 + cp CHAN7 jr nz, .skipSfxChannel3 ; restart hardware channel 3 (wave channel) output ld a, $0 @@ -223,19 +223,19 @@ Audio1_sound_ret: and [hl] ldh [rNR51], a .afterDisable - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp CRY_SFX_START jr nc, .maybeCry jr .skipCry .maybeCry - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp CRY_SFX_END jr z, .skipCry jr c, .cry jr .skipCry .cry ld a, c - cp Ch5 + cp CHAN5 jr z, .skipRewind call Audio1_GoBackOneCommandIfCry ret c @@ -336,14 +336,14 @@ Audio1_note_type: add hl, bc ld [hl], a ; store low nibble as speed ld a, c - cp Ch4 + cp CHAN4 jr z, .noiseChannel ; noise channel has 0 params call Audio1_GetNextMusicByte ld d, a ld a, c - cp Ch3 + cp CHAN3 jr z, .musicChannel3 - cp Ch7 + cp CHAN7 jr nz, .skipChannel3 ld hl, wSfxWaveInstrument jr .channel3 @@ -477,7 +477,7 @@ Audio1_tempo: cp tempo_cmd jr nz, Audio1_stereo_panning ld a, c - cp Ch5 + cp CHAN5 jr nc, .sfxChannel call Audio1_GetNextMusicByte ld [wMusicTempo], a ; store first param @@ -520,10 +520,10 @@ Audio1_unknownmusic0xef: ld a, [wDisableChannelOutputWhenSfxEnds] and a jr nz, .skip - ld a, [wChannelSoundIDs + Ch8] + ld a, [wChannelSoundIDs + CHAN8] ld [wDisableChannelOutputWhenSfxEnds], a xor a - ld [wChannelSoundIDs + Ch8], a + ld [wChannelSoundIDs + CHAN8], a .skip jp Audio1_sound_ret @@ -577,7 +577,7 @@ Audio1_sfx_note: cp sfx_note_cmd jr nz, Audio1_pitch_sweep ld a, c - cp Ch4 ; is this a noise or sfx channel? + cp CHAN4 ; is this a noise or sfx channel? jr c, Audio1_pitch_sweep ; no ld b, 0 ld hl, wChannelFlags2 @@ -607,7 +607,7 @@ Audio1_sfx_note: call Audio1_GetNextMusicByte ld e, a ld a, c - cp Ch8 + cp CHAN8 ld a, 0 jr z, .skip ; Channels 1 through 3 have 2 registers that control frequency, but the noise @@ -627,7 +627,7 @@ Audio1_sfx_note: Audio1_pitch_sweep: ld a, c - cp Ch5 + cp CHAN5 jr c, Audio1_note ; if not a sfx ld a, d cp pitch_sweep_cmd @@ -643,7 +643,7 @@ Audio1_pitch_sweep: Audio1_note: ld a, c - cp Ch4 + cp CHAN4 jr nz, Audio1_note_length ; if not noise channel ld a, d and $f0 @@ -701,7 +701,7 @@ Audio1_note_length: ld l, b call Audio1_MultiplyAdd ld a, c - cp Ch5 + cp CHAN5 jr nc, .sfxChannel ld a, [wMusicTempo] ld d, a @@ -711,7 +711,7 @@ Audio1_note_length: .sfxChannel ld d, $1 ld e, $0 - cp Ch8 + cp CHAN8 jr z, .skip ; if noise channel call Audio1_SetSfxTempo ld a, [wSfxTempo] @@ -751,10 +751,10 @@ Audio1_note_pitch: cp rest_cmd jr nz, .notRest ld a, c - cp Ch5 + cp CHAN5 jr nc, .next ; If this isn't an SFX channel, try the corresponding SFX channel. - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 add hl, bc ld a, [hl] and a @@ -762,9 +762,9 @@ Audio1_note_pitch: ; fall through .next ld a, c - cp Ch3 + cp CHAN3 jr z, .channel3 - cp Ch7 + cp CHAN7 jr nz, .notChannel3 .channel3 ld b, 0 @@ -800,10 +800,10 @@ Audio1_note_pitch: .skipPitchSlide push de ld a, c - cp Ch5 + cp CHAN5 jr nc, .sfxChannel ; if sfx channel ; If this isn't an SFX channel, try the corresponding SFX channel. - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 ld d, 0 ld e, a add hl, de @@ -848,12 +848,12 @@ Audio1_EnableChannelOutput: or [hl] ; set this channel's bits ld d, a ld a, c - cp Ch8 + cp CHAN8 jr z, .noiseChannelOrNoSfx - cp Ch5 + cp CHAN5 jr nc, .skip ; if sfx channel ; If this isn't an SFX channel, try the corresponding SFX channel. - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 add hl, bc ld a, [hl] and a @@ -883,9 +883,9 @@ Audio1_ApplyDutyCycleAndSoundLength: add hl, bc ld d, [hl] ld a, c - cp Ch3 + cp CHAN3 jr z, .skipDuty ; if music channel 3 - cp Ch7 + cp CHAN7 jr z, .skipDuty ; if sfx channel 3 ; include duty cycle (except on channel 3 which doesn't have it) ld a, d @@ -904,15 +904,15 @@ Audio1_ApplyDutyCycleAndSoundLength: Audio1_ApplyWavePatternAndFrequency: ld a, c - cp Ch3 + cp CHAN3 jr z, .channel3 - cp Ch7 + cp CHAN7 jr nz, .notChannel3 ; fall through .channel3 push de ld de, wMusicWaveInstrument - cp Ch3 + cp CHAN3 jr z, .next ld de, wSfxWaveInstrument .next @@ -1016,7 +1016,7 @@ Audio1_GoBackOneCommandIfCry: Audio1_IsCry: ; Returns whether the currently playing audio is a cry in carry. - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp CRY_SFX_START jr nc, .next jr .no @@ -1453,7 +1453,7 @@ Audio1_PlaySound:: and a jr z, .playChannel ld a, e - cp Ch8 + cp CHAN8 jr nz, .notNoiseChannel ld a, [wSoundID] cp NOISE_INSTRUMENTS_END @@ -1552,7 +1552,7 @@ Audio1_PlaySound:: add hl, de ld [hl], a ld a, e - cp Ch5 + cp CHAN5 jr nz, .skipSweepDisable ld a, $8 ldh [rNR10], a ; sweep off @@ -1654,7 +1654,7 @@ Audio1_PlaySound:: ld a, [wSoundID] ld [hl], a pop af - cp Ch4 + cp CHAN4 jr c, .skipSettingFlag ld hl, wChannelFlags1 add hl, bc @@ -1686,12 +1686,12 @@ Audio1_PlaySound:: jr c, .cry jr .done .cry - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 ld [hli], a ld [hli], a ld [hli], a ld [hl], a - ld hl, wChannelCommandPointers + Ch7 * 2 ; sfx wave channel pointer + ld hl, wChannelCommandPointers + CHAN7 * 2 ; sfx wave channel pointer ld de, Audio1_CryRet ld [hl], e inc hl diff --git a/audio/engine_2.asm b/audio/engine_2.asm index 30845fc8..8783c4c6 100644 --- a/audio/engine_2.asm +++ b/audio/engine_2.asm @@ -3,7 +3,7 @@ ; and the low health alarm that plays in battle Audio2_UpdateMusic:: - ld c, Ch1 + ld c, CHAN1 .loop ld b, 0 ld hl, wChannelSoundIDs @@ -12,7 +12,7 @@ Audio2_UpdateMusic:: and a jr z, .nextChannel ld a, c - cp Ch5 + cp CHAN5 jr nc, .applyAffects ; if sfx channel ld a, [wMuteAudioAndPauseMusic] and a @@ -32,7 +32,7 @@ Audio2_UpdateMusic:: .nextChannel ld a, c inc c ; inc channel number - cp Ch8 + cp CHAN8 jr nz, .loop ret @@ -48,9 +48,9 @@ Audio2_ApplyMusicAffects: dec a ; otherwise, decrease the delay timer ld [hl], a ld a, c - cp Ch5 + cp CHAN5 jr nc, .startChecks ; if a sfx channel - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 add hl, bc ld a, [hl] and a @@ -161,7 +161,7 @@ Audio2_PlayNextNote: res BIT_PITCH_SLIDE_DECREASING, [hl] ; --- this section is only present in this copy of the sound engine ld a, c - cp Ch5 + cp CHAN5 jr nz, .beginChecks ld a, [wLowHealthAlarm] ; low health alarm enabled? bit 7, a @@ -182,7 +182,7 @@ Audio2_sound_ret: bit BIT_SOUND_CALL, [hl] jr nz, .returnFromCall ld a, c - cp Ch4 + cp CHAN4 jr nc, .noiseOrSfxChannel jr .disableChannelOutput .noiseOrSfxChannel @@ -190,7 +190,7 @@ Audio2_sound_ret: ld hl, wChannelFlags2 add hl, bc res BIT_EXECUTE_MUSIC, [hl] - cp Ch7 + cp CHAN7 jr nz, .skipSfxChannel3 ; restart hardware channel 3 (wave channel) output ld a, $0 @@ -234,19 +234,19 @@ Audio2_sound_ret: and [hl] ldh [rNR51], a .afterDisable - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp CRY_SFX_START jr nc, .maybeCry jr .skipCry .maybeCry - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp CRY_SFX_END jr z, .skipCry jr c, .cry jr .skipCry .cry ld a, c - cp Ch5 + cp CHAN5 jr z, .skipRewind call Audio2_GoBackOneCommandIfCry ret c @@ -347,14 +347,14 @@ Audio2_note_type: add hl, bc ld [hl], a ; store low nibble as speed ld a, c - cp Ch4 + cp CHAN4 jr z, .noiseChannel ; noise channel has 0 params call Audio2_GetNextMusicByte ld d, a ld a, c - cp Ch3 + cp CHAN3 jr z, .musicChannel3 - cp Ch7 + cp CHAN7 jr nz, .skipChannel3 ld hl, wSfxWaveInstrument jr .channel3 @@ -488,7 +488,7 @@ Audio2_tempo: cp tempo_cmd jr nz, Audio2_stereo_panning ld a, c - cp Ch5 + cp CHAN5 jr nc, .sfxChannel call Audio2_GetNextMusicByte ld [wMusicTempo], a ; store first param @@ -531,10 +531,10 @@ Audio2_unknownmusic0xef: ld a, [wDisableChannelOutputWhenSfxEnds] and a jr nz, .skip - ld a, [wChannelSoundIDs + Ch8] + ld a, [wChannelSoundIDs + CHAN8] ld [wDisableChannelOutputWhenSfxEnds], a xor a - ld [wChannelSoundIDs + Ch8], a + ld [wChannelSoundIDs + CHAN8], a .skip jp Audio2_sound_ret @@ -588,7 +588,7 @@ Audio2_sfx_note: cp sfx_note_cmd jr nz, Audio2_pitch_sweep ld a, c - cp Ch4 ; is this a noise or sfx channel? + cp CHAN4 ; is this a noise or sfx channel? jr c, Audio2_pitch_sweep ; no ld b, 0 ld hl, wChannelFlags2 @@ -618,7 +618,7 @@ Audio2_sfx_note: call Audio2_GetNextMusicByte ld e, a ld a, c - cp Ch8 + cp CHAN8 ld a, 0 jr z, .skip ; Channels 1 through 3 have 2 registers that control frequency, but the noise @@ -638,7 +638,7 @@ Audio2_sfx_note: Audio2_pitch_sweep: ld a, c - cp Ch5 + cp CHAN5 jr c, Audio2_note ; if not a sfx ld a, d cp pitch_sweep_cmd @@ -654,7 +654,7 @@ Audio2_pitch_sweep: Audio2_note: ld a, c - cp Ch4 + cp CHAN4 jr nz, Audio2_note_length ; if not noise channel ld a, d and $f0 @@ -712,7 +712,7 @@ Audio2_note_length: ld l, b call Audio2_MultiplyAdd ld a, c - cp Ch5 + cp CHAN5 jr nc, .sfxChannel ld a, [wMusicTempo] ld d, a @@ -722,7 +722,7 @@ Audio2_note_length: .sfxChannel ld d, $1 ld e, $0 - cp Ch8 + cp CHAN8 jr z, .skip ; if noise channel call Audio2_SetSfxTempo ld a, [wSfxTempo] @@ -762,10 +762,10 @@ Audio2_note_pitch: cp rest_cmd jr nz, .notRest ld a, c - cp Ch5 + cp CHAN5 jr nc, .next ; If this isn't an SFX channel, try the corresponding SFX channel. - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 add hl, bc ld a, [hl] and a @@ -773,9 +773,9 @@ Audio2_note_pitch: ; fall through .next ld a, c - cp Ch3 + cp CHAN3 jr z, .channel3 - cp Ch7 + cp CHAN7 jr nz, .notChannel3 .channel3 ld b, 0 @@ -811,10 +811,10 @@ Audio2_note_pitch: .skipPitchSlide push de ld a, c - cp Ch5 + cp CHAN5 jr nc, .sfxChannel ; if sfx channel ; If this isn't an SFX channel, try the corresponding SFX channel. - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 ld d, 0 ld e, a add hl, de @@ -859,12 +859,12 @@ Audio2_EnableChannelOutput: or [hl] ; set this channel's bits ld d, a ld a, c - cp Ch8 + cp CHAN8 jr z, .noiseChannelOrNoSfx - cp Ch5 + cp CHAN5 jr nc, .skip ; if sfx channel ; If this isn't an SFX channel, try the corresponding SFX channel. - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 add hl, bc ld a, [hl] and a @@ -894,9 +894,9 @@ Audio2_ApplyDutyCycleAndSoundLength: add hl, bc ld d, [hl] ld a, c - cp Ch3 + cp CHAN3 jr z, .skipDuty ; if music channel 3 - cp Ch7 + cp CHAN7 jr z, .skipDuty ; if sfx channel 3 ; include duty cycle (except on channel 3 which doesn't have it) ld a, d @@ -915,15 +915,15 @@ Audio2_ApplyDutyCycleAndSoundLength: Audio2_ApplyWavePatternAndFrequency: ld a, c - cp Ch3 + cp CHAN3 jr z, .channel3 - cp Ch7 + cp CHAN7 jr nz, .notChannel3 ; fall through .channel3 push de ld de, wMusicWaveInstrument - cp Ch3 + cp CHAN3 jr z, .next ld de, wSfxWaveInstrument .next @@ -963,7 +963,7 @@ Audio2_ApplyWavePatternAndFrequency: ld [hl], d ; store frequency high byte ; --- this section is only present in this copy of the sound engine ld a, c - cp Ch5 + cp CHAN5 jr c, .musicChannel call Audio2_ApplyFrequencyModifier .musicChannel @@ -974,7 +974,7 @@ Audio2_ApplyWavePatternAndFrequency: ; unused Audio2_ResetCryModifiers: ld a, c - cp Ch5 + cp CHAN5 jr nz, .skip ld a, [wLowHealthAlarm] bit 7, a @@ -1056,7 +1056,7 @@ Audio2_GoBackOneCommandIfCry: Audio2_IsCry: ; Returns whether the currently playing audio is a cry in carry. - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp CRY_SFX_START jr nc, .next jr .no @@ -1075,9 +1075,9 @@ Audio2_IsCry: ; --- this section is only present in this copy of the sound engine Audio2_IsBattleSFX: ; Returns whether the currently playing audio is a battle sfx in carry. - ld a, [wChannelSoundIDs + Ch8] + ld a, [wChannelSoundIDs + CHAN8] ld b, a - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] or b cp BATTLE_SFX_START jr nc, .next @@ -1516,7 +1516,7 @@ Audio2_PlaySound:: and a jr z, .playChannel ld a, e - cp Ch8 + cp CHAN8 jr nz, .notNoiseChannel ld a, [wSoundID] cp NOISE_INSTRUMENTS_END @@ -1615,7 +1615,7 @@ Audio2_PlaySound:: add hl, de ld [hl], a ld a, e - cp Ch5 + cp CHAN5 jr nz, .skipSweepDisable ld a, $8 ldh [rNR10], a ; sweep off @@ -1717,7 +1717,7 @@ Audio2_PlaySound:: ld a, [wSoundID] ld [hl], a pop af - cp Ch4 + cp CHAN4 jr c, .skipSettingFlag ld hl, wChannelFlags1 add hl, bc @@ -1749,12 +1749,12 @@ Audio2_PlaySound:: jr c, .cry jr .done .cry - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 ld [hli], a ld [hli], a ld [hli], a ld [hl], a - ld hl, wChannelCommandPointers + Ch7 * 2 ; sfx wave channel pointer + ld hl, wChannelCommandPointers + CHAN7 * 2 ; sfx wave channel pointer ld de, Audio2_CryRet ld [hl], e inc hl diff --git a/audio/engine_3.asm b/audio/engine_3.asm index 57618486..404e6e7c 100644 --- a/audio/engine_3.asm +++ b/audio/engine_3.asm @@ -1,7 +1,7 @@ ; The third of three duplicated sound engines. Audio3_UpdateMusic:: - ld c, Ch1 + ld c, CHAN1 .loop ld b, 0 ld hl, wChannelSoundIDs @@ -10,7 +10,7 @@ Audio3_UpdateMusic:: and a jr z, .nextChannel ld a, c - cp Ch5 + cp CHAN5 jr nc, .applyAffects ; if sfx channel ld a, [wMuteAudioAndPauseMusic] and a @@ -30,7 +30,7 @@ Audio3_UpdateMusic:: .nextChannel ld a, c inc c ; inc channel number - cp Ch8 + cp CHAN8 jr nz, .loop ret @@ -46,9 +46,9 @@ Audio3_ApplyMusicAffects: dec a ; otherwise, decrease the delay timer ld [hl], a ld a, c - cp Ch5 + cp CHAN5 jr nc, .startChecks ; if a sfx channel - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 add hl, bc ld a, [hl] and a @@ -171,7 +171,7 @@ Audio3_sound_ret: bit BIT_SOUND_CALL, [hl] jr nz, .returnFromCall ld a, c - cp Ch4 + cp CHAN4 jr nc, .noiseOrSfxChannel jr .disableChannelOutput .noiseOrSfxChannel @@ -179,7 +179,7 @@ Audio3_sound_ret: ld hl, wChannelFlags2 add hl, bc res BIT_EXECUTE_MUSIC, [hl] - cp Ch7 + cp CHAN7 jr nz, .skipSfxChannel3 ; restart hardware channel 3 (wave channel) output ld a, $0 @@ -223,19 +223,19 @@ Audio3_sound_ret: and [hl] ldh [rNR51], a .afterDisable - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp CRY_SFX_START jr nc, .maybeCry jr .skipCry .maybeCry - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp CRY_SFX_END jr z, .skipCry jr c, .cry jr .skipCry .cry ld a, c - cp Ch5 + cp CHAN5 jr z, .skipRewind call Audio3_GoBackOneCommandIfCry ret c @@ -336,14 +336,14 @@ Audio3_note_type: add hl, bc ld [hl], a ; store low nibble as speed ld a, c - cp Ch4 + cp CHAN4 jr z, .noiseChannel ; noise channel has 0 params call Audio3_GetNextMusicByte ld d, a ld a, c - cp Ch3 + cp CHAN3 jr z, .musicChannel3 - cp Ch7 + cp CHAN7 jr nz, .skipChannel3 ld hl, wSfxWaveInstrument jr .channel3 @@ -477,7 +477,7 @@ Audio3_tempo: cp tempo_cmd jr nz, Audio3_stereo_panning ld a, c - cp Ch5 + cp CHAN5 jr nc, .sfxChannel call Audio3_GetNextMusicByte ld [wMusicTempo], a ; store first param @@ -520,10 +520,10 @@ Audio3_unknownmusic0xef: ld a, [wDisableChannelOutputWhenSfxEnds] and a jr nz, .skip - ld a, [wChannelSoundIDs + Ch8] + ld a, [wChannelSoundIDs + CHAN8] ld [wDisableChannelOutputWhenSfxEnds], a xor a - ld [wChannelSoundIDs + Ch8], a + ld [wChannelSoundIDs + CHAN8], a .skip jp Audio3_sound_ret @@ -577,7 +577,7 @@ Audio3_sfx_note: cp sfx_note_cmd jr nz, Audio3_pitch_sweep ld a, c - cp Ch4 ; is this a noise or sfx channel? + cp CHAN4 ; is this a noise or sfx channel? jr c, Audio3_pitch_sweep ; no ld b, 0 ld hl, wChannelFlags2 @@ -607,7 +607,7 @@ Audio3_sfx_note: call Audio3_GetNextMusicByte ld e, a ld a, c - cp Ch8 + cp CHAN8 ld a, 0 jr z, .skip ; Channels 1 through 3 have 2 registers that control frequency, but the noise @@ -627,7 +627,7 @@ Audio3_sfx_note: Audio3_pitch_sweep: ld a, c - cp Ch5 + cp CHAN5 jr c, Audio3_note ; if not a sfx ld a, d cp pitch_sweep_cmd @@ -643,7 +643,7 @@ Audio3_pitch_sweep: Audio3_note: ld a, c - cp Ch4 + cp CHAN4 jr nz, Audio3_note_length ; if not noise channel ld a, d and $f0 @@ -701,7 +701,7 @@ Audio3_note_length: ld l, b call Audio3_MultiplyAdd ld a, c - cp Ch5 + cp CHAN5 jr nc, .sfxChannel ld a, [wMusicTempo] ld d, a @@ -711,7 +711,7 @@ Audio3_note_length: .sfxChannel ld d, $1 ld e, $0 - cp Ch8 + cp CHAN8 jr z, .skip ; if noise channel call Audio3_SetSfxTempo ld a, [wSfxTempo] @@ -751,10 +751,10 @@ Audio3_note_pitch: cp rest_cmd jr nz, .notRest ld a, c - cp Ch5 + cp CHAN5 jr nc, .next ; If this isn't an SFX channel, try the corresponding SFX channel. - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 add hl, bc ld a, [hl] and a @@ -762,9 +762,9 @@ Audio3_note_pitch: ; fall through .next ld a, c - cp Ch3 + cp CHAN3 jr z, .channel3 - cp Ch7 + cp CHAN7 jr nz, .notChannel3 .channel3 ld b, 0 @@ -800,10 +800,10 @@ Audio3_note_pitch: .skipPitchSlide push de ld a, c - cp Ch5 + cp CHAN5 jr nc, .sfxChannel ; if sfx channel ; If this isn't an SFX channel, try the corresponding SFX channel. - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 ld d, 0 ld e, a add hl, de @@ -848,12 +848,12 @@ Audio3_EnableChannelOutput: or [hl] ; set this channel's bits ld d, a ld a, c - cp Ch8 + cp CHAN8 jr z, .noiseChannelOrNoSfx - cp Ch5 + cp CHAN5 jr nc, .skip ; if sfx channel ; If this isn't an SFX channel, try the corresponding SFX channel. - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 add hl, bc ld a, [hl] and a @@ -883,9 +883,9 @@ Audio3_ApplyDutyCycleAndSoundLength: add hl, bc ld d, [hl] ld a, c - cp Ch3 + cp CHAN3 jr z, .skipDuty ; if music channel 3 - cp Ch7 + cp CHAN7 jr z, .skipDuty ; if sfx channel 3 ; include duty cycle (except on channel 3 which doesn't have it) ld a, d @@ -904,15 +904,15 @@ Audio3_ApplyDutyCycleAndSoundLength: Audio3_ApplyWavePatternAndFrequency: ld a, c - cp Ch3 + cp CHAN3 jr z, .channel3 - cp Ch7 + cp CHAN7 jr nz, .notChannel3 ; fall through .channel3 push de ld de, wMusicWaveInstrument - cp Ch3 + cp CHAN3 jr z, .next ld de, wSfxWaveInstrument .next @@ -1016,7 +1016,7 @@ Audio3_GoBackOneCommandIfCry: Audio3_IsCry: ; Returns whether the currently playing audio is a cry in carry. - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp CRY_SFX_START jr nc, .next jr .no @@ -1453,7 +1453,7 @@ Audio3_PlaySound:: and a jr z, .playChannel ld a, e - cp Ch8 + cp CHAN8 jr nz, .notNoiseChannel ld a, [wSoundID] cp NOISE_INSTRUMENTS_END @@ -1552,7 +1552,7 @@ Audio3_PlaySound:: add hl, de ld [hl], a ld a, e - cp Ch5 + cp CHAN5 jr nz, .skipSweepDisable ld a, $8 ldh [rNR10], a ; sweep off @@ -1654,7 +1654,7 @@ Audio3_PlaySound:: ld a, [wSoundID] ld [hl], a pop af - cp Ch4 + cp CHAN4 jr c, .skipSettingFlag ld hl, wChannelFlags1 add hl, bc @@ -1686,12 +1686,12 @@ Audio3_PlaySound:: jr c, .cry jr .done .cry - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 ld [hli], a ld [hli], a ld [hli], a ld [hl], a - ld hl, wChannelCommandPointers + Ch7 * 2 ; sfx wave channel pointer + ld hl, wChannelCommandPointers + CHAN7 * 2 ; sfx wave channel pointer ld de, Audio3_CryRet ld [hl], e inc hl diff --git a/audio/headers/musicheaders1.asm b/audio/headers/musicheaders1.asm index ef85eae6..fb387671 100644 --- a/audio/headers/musicheaders1.asm +++ b/audio/headers/musicheaders1.asm @@ -1,66 +1,135 @@ Music_PalletTown:: - audio_header Music_PalletTown, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_PalletTown_Ch1 + channel 2, Music_PalletTown_Ch2 + channel 3, Music_PalletTown_Ch3 Music_Pokecenter:: - audio_header Music_Pokecenter, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_Pokecenter_Ch1 + channel 2, Music_Pokecenter_Ch2 + channel 3, Music_Pokecenter_Ch3 Music_Gym:: - audio_header Music_Gym, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_Gym_Ch1 + channel 2, Music_Gym_Ch2 + channel 3, Music_Gym_Ch3 ; Viridian City, Pewter City, Saffron City Music_Cities1:: - audio_header Music_Cities1, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_Cities1_Ch1 + channel 2, Music_Cities1_Ch2 + channel 3, Music_Cities1_Ch3 + channel 4, Music_Cities1_Ch4 ; Cerulean City, Fuchsia City Music_Cities2:: - audio_header Music_Cities2, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_Cities2_Ch1 + channel 2, Music_Cities2_Ch2 + channel 3, Music_Cities2_Ch3 Music_Celadon:: - audio_header Music_Celadon, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_Celadon_Ch1 + channel 2, Music_Celadon_Ch2 + channel 3, Music_Celadon_Ch3 Music_Cinnabar:: - audio_header Music_Cinnabar, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_Cinnabar_Ch1 + channel 2, Music_Cinnabar_Ch2 + channel 3, Music_Cinnabar_Ch3 Music_Vermilion:: - audio_header Music_Vermilion, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_Vermilion_Ch1 + channel 2, Music_Vermilion_Ch2 + channel 3, Music_Vermilion_Ch3 + channel 4, Music_Vermilion_Ch4 Music_Lavender:: - audio_header Music_Lavender, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_Lavender_Ch1 + channel 2, Music_Lavender_Ch2 + channel 3, Music_Lavender_Ch3 + channel 4, Music_Lavender_Ch4 Music_SSAnne:: - audio_header Music_SSAnne, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_SSAnne_Ch1 + channel 2, Music_SSAnne_Ch2 + channel 3, Music_SSAnne_Ch3 Music_MeetProfOak:: - audio_header Music_MeetProfOak, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_MeetProfOak_Ch1 + channel 2, Music_MeetProfOak_Ch2 + channel 3, Music_MeetProfOak_Ch3 Music_MeetRival:: - audio_header Music_MeetRival, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_MeetRival_Ch1 + channel 2, Music_MeetRival_Ch2 + channel 3, Music_MeetRival_Ch3 Music_MuseumGuy:: - audio_header Music_MuseumGuy, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_MuseumGuy_Ch1 + channel 2, Music_MuseumGuy_Ch2 + channel 3, Music_MuseumGuy_Ch3 + channel 4, Music_MuseumGuy_Ch4 Music_SafariZone:: - audio_header Music_SafariZone, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_SafariZone_Ch1 + channel 2, Music_SafariZone_Ch2 + channel 3, Music_SafariZone_Ch3 Music_PkmnHealed:: - audio_header Music_PkmnHealed, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_PkmnHealed_Ch1 + channel 2, Music_PkmnHealed_Ch2 + channel 3, Music_PkmnHealed_Ch3 ; Routes 1 and 2 Music_Routes1:: - audio_header Music_Routes1, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_Routes1_Ch1 + channel 2, Music_Routes1_Ch2 + channel 3, Music_Routes1_Ch3 + channel 4, Music_Routes1_Ch4 ; Routes 24 and 25 Music_Routes2:: - audio_header Music_Routes2, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_Routes2_Ch1 + channel 2, Music_Routes2_Ch2 + channel 3, Music_Routes2_Ch3 + channel 4, Music_Routes2_Ch4 ; Routes 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 21, 22 Music_Routes3:: - audio_header Music_Routes3, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_Routes3_Ch1 + channel 2, Music_Routes3_Ch2 + channel 3, Music_Routes3_Ch3 + channel 4, Music_Routes3_Ch4 ; Routes 11, 12, 13, 14, 15 Music_Routes4:: - audio_header Music_Routes4, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_Routes4_Ch1 + channel 2, Music_Routes4_Ch2 + channel 3, Music_Routes4_Ch3 + channel 4, Music_Routes4_Ch4 ; Route 23, Indigo Plateau Music_IndigoPlateau:: - audio_header Music_IndigoPlateau, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_IndigoPlateau_Ch1 + channel 2, Music_IndigoPlateau_Ch2 + channel 3, Music_IndigoPlateau_Ch3 + channel 4, Music_IndigoPlateau_Ch4 diff --git a/audio/headers/musicheaders2.asm b/audio/headers/musicheaders2.asm index d6cca9a9..c24c08d6 100644 --- a/audio/headers/musicheaders2.asm +++ b/audio/headers/musicheaders2.asm @@ -1,20 +1,41 @@ Music_GymLeaderBattle:: - audio_header Music_GymLeaderBattle, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_GymLeaderBattle_Ch1 + channel 2, Music_GymLeaderBattle_Ch2 + channel 3, Music_GymLeaderBattle_Ch3 Music_TrainerBattle:: - audio_header Music_TrainerBattle, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_TrainerBattle_Ch1 + channel 2, Music_TrainerBattle_Ch2 + channel 3, Music_TrainerBattle_Ch3 Music_WildBattle:: - audio_header Music_WildBattle, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_WildBattle_Ch1 + channel 2, Music_WildBattle_Ch2 + channel 3, Music_WildBattle_Ch3 Music_FinalBattle:: - audio_header Music_FinalBattle, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_FinalBattle_Ch1 + channel 2, Music_FinalBattle_Ch2 + channel 3, Music_FinalBattle_Ch3 Music_DefeatedTrainer:: - audio_header Music_DefeatedTrainer, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_DefeatedTrainer_Ch1 + channel 2, Music_DefeatedTrainer_Ch2 + channel 3, Music_DefeatedTrainer_Ch3 Music_DefeatedWildMon:: - audio_header Music_DefeatedWildMon, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_DefeatedWildMon_Ch1 + channel 2, Music_DefeatedWildMon_Ch2 + channel 3, Music_DefeatedWildMon_Ch3 Music_DefeatedGymLeader:: - audio_header Music_DefeatedGymLeader, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_DefeatedGymLeader_Ch1 + channel 2, Music_DefeatedGymLeader_Ch2 + channel 3, Music_DefeatedGymLeader_Ch3 diff --git a/audio/headers/musicheaders3.asm b/audio/headers/musicheaders3.asm index ca21b419..82699f8e 100644 --- a/audio/headers/musicheaders3.asm +++ b/audio/headers/musicheaders3.asm @@ -1,56 +1,116 @@ Music_TitleScreen:: - audio_header Music_TitleScreen, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_TitleScreen_Ch1 + channel 2, Music_TitleScreen_Ch2 + channel 3, Music_TitleScreen_Ch3 + channel 4, Music_TitleScreen_Ch4 Music_Credits:: - audio_header Music_Credits, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_Credits_Ch1 + channel 2, Music_Credits_Ch2 + channel 3, Music_Credits_Ch3 Music_HallOfFame:: - audio_header Music_HallOfFame, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_HallOfFame_Ch1 + channel 2, Music_HallOfFame_Ch2 + channel 3, Music_HallOfFame_Ch3 Music_OaksLab:: - audio_header Music_OaksLab, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_OaksLab_Ch1 + channel 2, Music_OaksLab_Ch2 + channel 3, Music_OaksLab_Ch3 Music_JigglypuffSong:: - audio_header Music_JigglypuffSong, Ch1, Ch2 + channel_count 2 + channel 1, Music_JigglypuffSong_Ch1 + channel 2, Music_JigglypuffSong_Ch2 Music_BikeRiding:: - audio_header Music_BikeRiding, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_BikeRiding_Ch1 + channel 2, Music_BikeRiding_Ch2 + channel 3, Music_BikeRiding_Ch3 + channel 4, Music_BikeRiding_Ch4 Music_Surfing:: - audio_header Music_Surfing, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_Surfing_Ch1 + channel 2, Music_Surfing_Ch2 + channel 3, Music_Surfing_Ch3 Music_GameCorner:: - audio_header Music_GameCorner, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_GameCorner_Ch1 + channel 2, Music_GameCorner_Ch2 + channel 3, Music_GameCorner_Ch3 Music_IntroBattle:: - audio_header Music_IntroBattle, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_IntroBattle_Ch1 + channel 2, Music_IntroBattle_Ch2 + channel 3, Music_IntroBattle_Ch3 + channel 4, Music_IntroBattle_Ch4 ; Power Plant, Cerulean Cave, Rocket HQ Music_Dungeon1:: - audio_header Music_Dungeon1, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_Dungeon1_Ch1 + channel 2, Music_Dungeon1_Ch2 + channel 3, Music_Dungeon1_Ch3 + channel 4, Music_Dungeon1_Ch4 ; Viridian Forest, Seafoam Islands Music_Dungeon2:: - audio_header Music_Dungeon2, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_Dungeon2_Ch1 + channel 2, Music_Dungeon2_Ch2 + channel 3, Music_Dungeon2_Ch3 + channel 4, Music_Dungeon2_Ch4 ; Mt. Moon, Rock Tunnel, Victory Road Music_Dungeon3:: - audio_header Music_Dungeon3, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_Dungeon3_Ch1 + channel 2, Music_Dungeon3_Ch2 + channel 3, Music_Dungeon3_Ch3 + channel 4, Music_Dungeon3_Ch4 Music_CinnabarMansion:: - audio_header Music_CinnabarMansion, Ch1, Ch2, Ch3, Ch4 + channel_count 4 + channel 1, Music_CinnabarMansion_Ch1 + channel 2, Music_CinnabarMansion_Ch2 + channel 3, Music_CinnabarMansion_Ch3 + channel 4, Music_CinnabarMansion_Ch4 Music_PokemonTower:: - audio_header Music_PokemonTower, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_PokemonTower_Ch1 + channel 2, Music_PokemonTower_Ch2 + channel 3, Music_PokemonTower_Ch3 Music_SilphCo:: - audio_header Music_SilphCo, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_SilphCo_Ch1 + channel 2, Music_SilphCo_Ch2 + channel 3, Music_SilphCo_Ch3 Music_MeetEvilTrainer:: - audio_header Music_MeetEvilTrainer, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_MeetEvilTrainer_Ch1 + channel 2, Music_MeetEvilTrainer_Ch2 + channel 3, Music_MeetEvilTrainer_Ch3 Music_MeetFemaleTrainer:: - audio_header Music_MeetFemaleTrainer, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_MeetFemaleTrainer_Ch1 + channel 2, Music_MeetFemaleTrainer_Ch2 + channel 3, Music_MeetFemaleTrainer_Ch3 Music_MeetMaleTrainer:: - audio_header Music_MeetMaleTrainer, Ch1, Ch2, Ch3 + channel_count 3 + channel 1, Music_MeetMaleTrainer_Ch1 + channel 2, Music_MeetMaleTrainer_Ch2 + channel 3, Music_MeetMaleTrainer_Ch3 diff --git a/audio/headers/sfxheaders1.asm b/audio/headers/sfxheaders1.asm index 2d5eca4a..297b7582 100644 --- a/audio/headers/sfxheaders1.asm +++ b/audio/headers/sfxheaders1.asm @@ -2,287 +2,472 @@ SFX_Headers_1:: db $ff, $ff, $ff ; padding SFX_Noise_Instrument01_1:: - audio_header SFX_Noise_Instrument01_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument01_1_Ch8 SFX_Noise_Instrument02_1:: - audio_header SFX_Noise_Instrument02_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument02_1_Ch8 SFX_Noise_Instrument03_1:: - audio_header SFX_Noise_Instrument03_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument03_1_Ch8 SFX_Noise_Instrument04_1:: - audio_header SFX_Noise_Instrument04_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument04_1_Ch8 SFX_Noise_Instrument05_1:: - audio_header SFX_Noise_Instrument05_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument05_1_Ch8 SFX_Noise_Instrument06_1:: - audio_header SFX_Noise_Instrument06_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument06_1_Ch8 SFX_Noise_Instrument07_1:: - audio_header SFX_Noise_Instrument07_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument07_1_Ch8 SFX_Noise_Instrument08_1:: - audio_header SFX_Noise_Instrument08_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument08_1_Ch8 SFX_Noise_Instrument09_1:: - audio_header SFX_Noise_Instrument09_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument09_1_Ch8 SFX_Noise_Instrument10_1:: - audio_header SFX_Noise_Instrument10_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument10_1_Ch8 SFX_Noise_Instrument11_1:: - audio_header SFX_Noise_Instrument11_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument11_1_Ch8 SFX_Noise_Instrument12_1:: - audio_header SFX_Noise_Instrument12_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument12_1_Ch8 SFX_Noise_Instrument13_1:: - audio_header SFX_Noise_Instrument13_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument13_1_Ch8 SFX_Noise_Instrument14_1:: - audio_header SFX_Noise_Instrument14_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument14_1_Ch8 SFX_Noise_Instrument15_1:: - audio_header SFX_Noise_Instrument15_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument15_1_Ch8 SFX_Noise_Instrument16_1:: - audio_header SFX_Noise_Instrument16_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument16_1_Ch8 SFX_Noise_Instrument17_1:: - audio_header SFX_Noise_Instrument17_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument17_1_Ch8 SFX_Noise_Instrument18_1:: - audio_header SFX_Noise_Instrument18_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument18_1_Ch8 SFX_Noise_Instrument19_1:: - audio_header SFX_Noise_Instrument19_1, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument19_1_Ch8 SFX_Cry00_1:: - audio_header SFX_Cry00_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry00_1_Ch5 + channel 6, SFX_Cry00_1_Ch6 + channel 8, SFX_Cry00_1_Ch8 SFX_Cry01_1:: - audio_header SFX_Cry01_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry01_1_Ch5 + channel 6, SFX_Cry01_1_Ch6 + channel 8, SFX_Cry01_1_Ch8 SFX_Cry02_1:: - audio_header SFX_Cry02_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry02_1_Ch5 + channel 6, SFX_Cry02_1_Ch6 + channel 8, SFX_Cry02_1_Ch8 SFX_Cry03_1:: - audio_header SFX_Cry03_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry03_1_Ch5 + channel 6, SFX_Cry03_1_Ch6 + channel 8, SFX_Cry03_1_Ch8 SFX_Cry04_1:: - audio_header SFX_Cry04_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry04_1_Ch5 + channel 6, SFX_Cry04_1_Ch6 + channel 8, SFX_Cry04_1_Ch8 SFX_Cry05_1:: - audio_header SFX_Cry05_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry05_1_Ch5 + channel 6, SFX_Cry05_1_Ch6 + channel 8, SFX_Cry05_1_Ch8 SFX_Cry06_1:: - audio_header SFX_Cry06_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry06_1_Ch5 + channel 6, SFX_Cry06_1_Ch6 + channel 8, SFX_Cry06_1_Ch8 SFX_Cry07_1:: - audio_header SFX_Cry07_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry07_1_Ch5 + channel 6, SFX_Cry07_1_Ch6 + channel 8, SFX_Cry07_1_Ch8 SFX_Cry08_1:: - audio_header SFX_Cry08_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry08_1_Ch5 + channel 6, SFX_Cry08_1_Ch6 + channel 8, SFX_Cry08_1_Ch8 SFX_Cry09_1:: - audio_header SFX_Cry09_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry09_1_Ch5 + channel 6, SFX_Cry09_1_Ch6 + channel 8, SFX_Cry09_1_Ch8 SFX_Cry0A_1:: - audio_header SFX_Cry0A_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0A_1_Ch5 + channel 6, SFX_Cry0A_1_Ch6 + channel 8, SFX_Cry0A_1_Ch8 SFX_Cry0B_1:: - audio_header SFX_Cry0B_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0B_1_Ch5 + channel 6, SFX_Cry0B_1_Ch6 + channel 8, SFX_Cry0B_1_Ch8 SFX_Cry0C_1:: - audio_header SFX_Cry0C_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0C_1_Ch5 + channel 6, SFX_Cry0C_1_Ch6 + channel 8, SFX_Cry0C_1_Ch8 SFX_Cry0D_1:: - audio_header SFX_Cry0D_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0D_1_Ch5 + channel 6, SFX_Cry0D_1_Ch6 + channel 8, SFX_Cry0D_1_Ch8 SFX_Cry0E_1:: - audio_header SFX_Cry0E_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0E_1_Ch5 + channel 6, SFX_Cry0E_1_Ch6 + channel 8, SFX_Cry0E_1_Ch8 SFX_Cry0F_1:: - audio_header SFX_Cry0F_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0F_1_Ch5 + channel 6, SFX_Cry0F_1_Ch6 + channel 8, SFX_Cry0F_1_Ch8 SFX_Cry10_1:: - audio_header SFX_Cry10_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry10_1_Ch5 + channel 6, SFX_Cry10_1_Ch6 + channel 8, SFX_Cry10_1_Ch8 SFX_Cry11_1:: - audio_header SFX_Cry11_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry11_1_Ch5 + channel 6, SFX_Cry11_1_Ch6 + channel 8, SFX_Cry11_1_Ch8 SFX_Cry12_1:: - audio_header SFX_Cry12_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry12_1_Ch5 + channel 6, SFX_Cry12_1_Ch6 + channel 8, SFX_Cry12_1_Ch8 SFX_Cry13_1:: - audio_header SFX_Cry13_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry13_1_Ch5 + channel 6, SFX_Cry13_1_Ch6 + channel 8, SFX_Cry13_1_Ch8 SFX_Cry14_1:: - audio_header SFX_Cry14_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry14_1_Ch5 + channel 6, SFX_Cry14_1_Ch6 + channel 8, SFX_Cry14_1_Ch8 SFX_Cry15_1:: - audio_header SFX_Cry15_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry15_1_Ch5 + channel 6, SFX_Cry15_1_Ch6 + channel 8, SFX_Cry15_1_Ch8 SFX_Cry16_1:: - audio_header SFX_Cry16_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry16_1_Ch5 + channel 6, SFX_Cry16_1_Ch6 + channel 8, SFX_Cry16_1_Ch8 SFX_Cry17_1:: - audio_header SFX_Cry17_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry17_1_Ch5 + channel 6, SFX_Cry17_1_Ch6 + channel 8, SFX_Cry17_1_Ch8 SFX_Cry18_1:: - audio_header SFX_Cry18_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry18_1_Ch5 + channel 6, SFX_Cry18_1_Ch6 + channel 8, SFX_Cry18_1_Ch8 SFX_Cry19_1:: - audio_header SFX_Cry19_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry19_1_Ch5 + channel 6, SFX_Cry19_1_Ch6 + channel 8, SFX_Cry19_1_Ch8 SFX_Cry1A_1:: - audio_header SFX_Cry1A_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1A_1_Ch5 + channel 6, SFX_Cry1A_1_Ch6 + channel 8, SFX_Cry1A_1_Ch8 SFX_Cry1B_1:: - audio_header SFX_Cry1B_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1B_1_Ch5 + channel 6, SFX_Cry1B_1_Ch6 + channel 8, SFX_Cry1B_1_Ch8 SFX_Cry1C_1:: - audio_header SFX_Cry1C_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1C_1_Ch5 + channel 6, SFX_Cry1C_1_Ch6 + channel 8, SFX_Cry1C_1_Ch8 SFX_Cry1D_1:: - audio_header SFX_Cry1D_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1D_1_Ch5 + channel 6, SFX_Cry1D_1_Ch6 + channel 8, SFX_Cry1D_1_Ch8 SFX_Cry1E_1:: - audio_header SFX_Cry1E_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1E_1_Ch5 + channel 6, SFX_Cry1E_1_Ch6 + channel 8, SFX_Cry1E_1_Ch8 SFX_Cry1F_1:: - audio_header SFX_Cry1F_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1F_1_Ch5 + channel 6, SFX_Cry1F_1_Ch6 + channel 8, SFX_Cry1F_1_Ch8 SFX_Cry20_1:: - audio_header SFX_Cry20_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry20_1_Ch5 + channel 6, SFX_Cry20_1_Ch6 + channel 8, SFX_Cry20_1_Ch8 SFX_Cry21_1:: - audio_header SFX_Cry21_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry21_1_Ch5 + channel 6, SFX_Cry21_1_Ch6 + channel 8, SFX_Cry21_1_Ch8 SFX_Cry22_1:: - audio_header SFX_Cry22_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry22_1_Ch5 + channel 6, SFX_Cry22_1_Ch6 + channel 8, SFX_Cry22_1_Ch8 SFX_Cry23_1:: - audio_header SFX_Cry23_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry23_1_Ch5 + channel 6, SFX_Cry23_1_Ch6 + channel 8, SFX_Cry23_1_Ch8 SFX_Cry24_1:: - audio_header SFX_Cry24_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry24_1_Ch5 + channel 6, SFX_Cry24_1_Ch6 + channel 8, SFX_Cry24_1_Ch8 SFX_Cry25_1:: - audio_header SFX_Cry25_1, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry25_1_Ch5 + channel 6, SFX_Cry25_1_Ch6 + channel 8, SFX_Cry25_1_Ch8 SFX_Get_Item1_1:: - audio_header SFX_Get_Item1_1, Ch5, Ch6, Ch7 + channel_count 3 + channel 5, SFX_Get_Item1_1_Ch5 + channel 6, SFX_Get_Item1_1_Ch6 + channel 7, SFX_Get_Item1_1_Ch7 SFX_Get_Item2_1:: - audio_header SFX_Get_Item2_1, Ch5, Ch6, Ch7 + channel_count 3 + channel 5, SFX_Get_Item2_1_Ch5 + channel 6, SFX_Get_Item2_1_Ch6 + channel 7, SFX_Get_Item2_1_Ch7 SFX_Tink_1:: - audio_header SFX_Tink_1, Ch5 + channel_count 1 + channel 5, SFX_Tink_1_Ch5 SFX_Heal_HP_1:: - audio_header SFX_Heal_HP_1, Ch5 + channel_count 1 + channel 5, SFX_Heal_HP_1_Ch5 SFX_Heal_Ailment_1:: - audio_header SFX_Heal_Ailment_1, Ch5 + channel_count 1 + channel 5, SFX_Heal_Ailment_1_Ch5 SFX_Start_Menu_1:: - audio_header SFX_Start_Menu_1, Ch8 + channel_count 1 + channel 8, SFX_Start_Menu_1_Ch8 SFX_Press_AB_1:: - audio_header SFX_Press_AB_1, Ch5 + channel_count 1 + channel 5, SFX_Press_AB_1_Ch5 SFX_Pokedex_Rating_1:: - audio_header SFX_Pokedex_Rating_1, Ch5, Ch6, Ch7 + channel_count 3 + channel 5, SFX_Pokedex_Rating_1_Ch5 + channel 6, SFX_Pokedex_Rating_1_Ch6 + channel 7, SFX_Pokedex_Rating_1_Ch7 SFX_Get_Key_Item_1:: - audio_header SFX_Get_Key_Item_1, Ch5, Ch6, Ch7 + channel_count 3 + channel 5, SFX_Get_Key_Item_1_Ch5 + channel 6, SFX_Get_Key_Item_1_Ch6 + channel 7, SFX_Get_Key_Item_1_Ch7 SFX_Poisoned_1:: - audio_header SFX_Poisoned_1, Ch5 + channel_count 1 + channel 5, SFX_Poisoned_1_Ch5 SFX_Trade_Machine_1:: - audio_header SFX_Trade_Machine_1, Ch5 + channel_count 1 + channel 5, SFX_Trade_Machine_1_Ch5 SFX_Turn_On_PC_1:: - audio_header SFX_Turn_On_PC_1, Ch5 + channel_count 1 + channel 5, SFX_Turn_On_PC_1_Ch5 SFX_Turn_Off_PC_1:: - audio_header SFX_Turn_Off_PC_1, Ch5 + channel_count 1 + channel 5, SFX_Turn_Off_PC_1_Ch5 SFX_Enter_PC_1:: - audio_header SFX_Enter_PC_1, Ch5 + channel_count 1 + channel 5, SFX_Enter_PC_1_Ch5 SFX_Shrink_1:: - audio_header SFX_Shrink_1, Ch5 + channel_count 1 + channel 5, SFX_Shrink_1_Ch5 SFX_Switch_1:: - audio_header SFX_Switch_1, Ch5 + channel_count 1 + channel 5, SFX_Switch_1_Ch5 SFX_Healing_Machine_1:: - audio_header SFX_Healing_Machine_1, Ch5 + channel_count 1 + channel 5, SFX_Healing_Machine_1_Ch5 SFX_Teleport_Exit1_1:: - audio_header SFX_Teleport_Exit1_1, Ch5 + channel_count 1 + channel 5, SFX_Teleport_Exit1_1_Ch5 SFX_Teleport_Enter1_1:: - audio_header SFX_Teleport_Enter1_1, Ch5 + channel_count 1 + channel 5, SFX_Teleport_Enter1_1_Ch5 SFX_Teleport_Exit2_1:: - audio_header SFX_Teleport_Exit2_1, Ch5 + channel_count 1 + channel 5, SFX_Teleport_Exit2_1_Ch5 SFX_Ledge_1:: - audio_header SFX_Ledge_1, Ch5 + channel_count 1 + channel 5, SFX_Ledge_1_Ch5 SFX_Teleport_Enter2_1:: - audio_header SFX_Teleport_Enter2_1, Ch8 + channel_count 1 + channel 8, SFX_Teleport_Enter2_1_Ch8 SFX_Fly_1:: - audio_header SFX_Fly_1, Ch8 + channel_count 1 + channel 8, SFX_Fly_1_Ch8 SFX_Denied_1:: - audio_header SFX_Denied_1, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Denied_1_Ch5 + channel 6, SFX_Denied_1_Ch6 SFX_Arrow_Tiles_1:: - audio_header SFX_Arrow_Tiles_1, Ch5 + channel_count 1 + channel 5, SFX_Arrow_Tiles_1_Ch5 SFX_Push_Boulder_1:: - audio_header SFX_Push_Boulder_1, Ch8 + channel_count 1 + channel 8, SFX_Push_Boulder_1_Ch8 SFX_SS_Anne_Horn_1:: - audio_header SFX_SS_Anne_Horn_1, Ch5, Ch6 + channel_count 2 + channel 5, SFX_SS_Anne_Horn_1_Ch5 + channel 6, SFX_SS_Anne_Horn_1_Ch6 SFX_Withdraw_Deposit_1:: - audio_header SFX_Withdraw_Deposit_1, Ch5 + channel_count 1 + channel 5, SFX_Withdraw_Deposit_1_Ch5 SFX_Cut_1:: - audio_header SFX_Cut_1, Ch8 + channel_count 1 + channel 8, SFX_Cut_1_Ch8 SFX_Go_Inside_1:: - audio_header SFX_Go_Inside_1, Ch8 + channel_count 1 + channel 8, SFX_Go_Inside_1_Ch8 SFX_Swap_1:: - audio_header SFX_Swap_1, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Swap_1_Ch5 + channel 6, SFX_Swap_1_Ch6 SFX_59_1:: - audio_header SFX_59_1, Ch5, Ch6 + channel_count 2 + channel 5, SFX_59_1_Ch5 + channel 6, SFX_59_1_Ch6 SFX_Purchase_1:: - audio_header SFX_Purchase_1, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Purchase_1_Ch5 + channel 6, SFX_Purchase_1_Ch6 SFX_Collision_1:: - audio_header SFX_Collision_1, Ch5 + channel_count 1 + channel 5, SFX_Collision_1_Ch5 SFX_Go_Outside_1:: - audio_header SFX_Go_Outside_1, Ch8 + channel_count 1 + channel 8, SFX_Go_Outside_1_Ch8 SFX_Save_1:: - audio_header SFX_Save_1, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Save_1_Ch5 + channel 6, SFX_Save_1_Ch6 ; the Pokeflute sound effect directly hijacks channel 3 SFX_Pokeflute:: - audio_header SFX_Pokeflute, Ch3 + channel_count 1 + channel 3, SFX_Pokeflute_Ch3 SFX_Safari_Zone_PA:: - audio_header SFX_Safari_Zone_PA, Ch5 + channel_count 1 + channel 5, SFX_Safari_Zone_PA_Ch5 diff --git a/audio/headers/sfxheaders2.asm b/audio/headers/sfxheaders2.asm index 912d137e..1ccbf265 100644 --- a/audio/headers/sfxheaders2.asm +++ b/audio/headers/sfxheaders2.asm @@ -2,358 +2,591 @@ SFX_Headers_2:: db $ff, $ff, $ff ; padding SFX_Noise_Instrument01_2:: - audio_header SFX_Noise_Instrument01_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument01_2_Ch8 SFX_Noise_Instrument02_2:: - audio_header SFX_Noise_Instrument02_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument02_2_Ch8 SFX_Noise_Instrument03_2:: - audio_header SFX_Noise_Instrument03_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument03_2_Ch8 SFX_Noise_Instrument04_2:: - audio_header SFX_Noise_Instrument04_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument04_2_Ch8 SFX_Noise_Instrument05_2:: - audio_header SFX_Noise_Instrument05_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument05_2_Ch8 SFX_Noise_Instrument06_2:: - audio_header SFX_Noise_Instrument06_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument06_2_Ch8 SFX_Noise_Instrument07_2:: - audio_header SFX_Noise_Instrument07_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument07_2_Ch8 SFX_Noise_Instrument08_2:: - audio_header SFX_Noise_Instrument08_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument08_2_Ch8 SFX_Noise_Instrument09_2:: - audio_header SFX_Noise_Instrument09_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument09_2_Ch8 SFX_Noise_Instrument10_2:: - audio_header SFX_Noise_Instrument10_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument10_2_Ch8 SFX_Noise_Instrument11_2:: - audio_header SFX_Noise_Instrument11_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument11_2_Ch8 SFX_Noise_Instrument12_2:: - audio_header SFX_Noise_Instrument12_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument12_2_Ch8 SFX_Noise_Instrument13_2:: - audio_header SFX_Noise_Instrument13_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument13_2_Ch8 SFX_Noise_Instrument14_2:: - audio_header SFX_Noise_Instrument14_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument14_2_Ch8 SFX_Noise_Instrument15_2:: - audio_header SFX_Noise_Instrument15_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument15_2_Ch8 SFX_Noise_Instrument16_2:: - audio_header SFX_Noise_Instrument16_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument16_2_Ch8 SFX_Noise_Instrument17_2:: - audio_header SFX_Noise_Instrument17_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument17_2_Ch8 SFX_Noise_Instrument18_2:: - audio_header SFX_Noise_Instrument18_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument18_2_Ch8 SFX_Noise_Instrument19_2:: - audio_header SFX_Noise_Instrument19_2, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument19_2_Ch8 SFX_Cry00_2:: - audio_header SFX_Cry00_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry00_2_Ch5 + channel 6, SFX_Cry00_2_Ch6 + channel 8, SFX_Cry00_2_Ch8 SFX_Cry01_2:: - audio_header SFX_Cry01_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry01_2_Ch5 + channel 6, SFX_Cry01_2_Ch6 + channel 8, SFX_Cry01_2_Ch8 SFX_Cry02_2:: - audio_header SFX_Cry02_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry02_2_Ch5 + channel 6, SFX_Cry02_2_Ch6 + channel 8, SFX_Cry02_2_Ch8 SFX_Cry03_2:: - audio_header SFX_Cry03_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry03_2_Ch5 + channel 6, SFX_Cry03_2_Ch6 + channel 8, SFX_Cry03_2_Ch8 SFX_Cry04_2:: - audio_header SFX_Cry04_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry04_2_Ch5 + channel 6, SFX_Cry04_2_Ch6 + channel 8, SFX_Cry04_2_Ch8 SFX_Cry05_2:: - audio_header SFX_Cry05_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry05_2_Ch5 + channel 6, SFX_Cry05_2_Ch6 + channel 8, SFX_Cry05_2_Ch8 SFX_Cry06_2:: - audio_header SFX_Cry06_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry06_2_Ch5 + channel 6, SFX_Cry06_2_Ch6 + channel 8, SFX_Cry06_2_Ch8 SFX_Cry07_2:: - audio_header SFX_Cry07_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry07_2_Ch5 + channel 6, SFX_Cry07_2_Ch6 + channel 8, SFX_Cry07_2_Ch8 SFX_Cry08_2:: - audio_header SFX_Cry08_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry08_2_Ch5 + channel 6, SFX_Cry08_2_Ch6 + channel 8, SFX_Cry08_2_Ch8 SFX_Cry09_2:: - audio_header SFX_Cry09_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry09_2_Ch5 + channel 6, SFX_Cry09_2_Ch6 + channel 8, SFX_Cry09_2_Ch8 SFX_Cry0A_2:: - audio_header SFX_Cry0A_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0A_2_Ch5 + channel 6, SFX_Cry0A_2_Ch6 + channel 8, SFX_Cry0A_2_Ch8 SFX_Cry0B_2:: - audio_header SFX_Cry0B_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0B_2_Ch5 + channel 6, SFX_Cry0B_2_Ch6 + channel 8, SFX_Cry0B_2_Ch8 SFX_Cry0C_2:: - audio_header SFX_Cry0C_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0C_2_Ch5 + channel 6, SFX_Cry0C_2_Ch6 + channel 8, SFX_Cry0C_2_Ch8 SFX_Cry0D_2:: - audio_header SFX_Cry0D_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0D_2_Ch5 + channel 6, SFX_Cry0D_2_Ch6 + channel 8, SFX_Cry0D_2_Ch8 SFX_Cry0E_2:: - audio_header SFX_Cry0E_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0E_2_Ch5 + channel 6, SFX_Cry0E_2_Ch6 + channel 8, SFX_Cry0E_2_Ch8 SFX_Cry0F_2:: - audio_header SFX_Cry0F_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0F_2_Ch5 + channel 6, SFX_Cry0F_2_Ch6 + channel 8, SFX_Cry0F_2_Ch8 SFX_Cry10_2:: - audio_header SFX_Cry10_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry10_2_Ch5 + channel 6, SFX_Cry10_2_Ch6 + channel 8, SFX_Cry10_2_Ch8 SFX_Cry11_2:: - audio_header SFX_Cry11_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry11_2_Ch5 + channel 6, SFX_Cry11_2_Ch6 + channel 8, SFX_Cry11_2_Ch8 SFX_Cry12_2:: - audio_header SFX_Cry12_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry12_2_Ch5 + channel 6, SFX_Cry12_2_Ch6 + channel 8, SFX_Cry12_2_Ch8 SFX_Cry13_2:: - audio_header SFX_Cry13_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry13_2_Ch5 + channel 6, SFX_Cry13_2_Ch6 + channel 8, SFX_Cry13_2_Ch8 SFX_Cry14_2:: - audio_header SFX_Cry14_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry14_2_Ch5 + channel 6, SFX_Cry14_2_Ch6 + channel 8, SFX_Cry14_2_Ch8 SFX_Cry15_2:: - audio_header SFX_Cry15_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry15_2_Ch5 + channel 6, SFX_Cry15_2_Ch6 + channel 8, SFX_Cry15_2_Ch8 SFX_Cry16_2:: - audio_header SFX_Cry16_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry16_2_Ch5 + channel 6, SFX_Cry16_2_Ch6 + channel 8, SFX_Cry16_2_Ch8 SFX_Cry17_2:: - audio_header SFX_Cry17_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry17_2_Ch5 + channel 6, SFX_Cry17_2_Ch6 + channel 8, SFX_Cry17_2_Ch8 SFX_Cry18_2:: - audio_header SFX_Cry18_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry18_2_Ch5 + channel 6, SFX_Cry18_2_Ch6 + channel 8, SFX_Cry18_2_Ch8 SFX_Cry19_2:: - audio_header SFX_Cry19_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry19_2_Ch5 + channel 6, SFX_Cry19_2_Ch6 + channel 8, SFX_Cry19_2_Ch8 SFX_Cry1A_2:: - audio_header SFX_Cry1A_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1A_2_Ch5 + channel 6, SFX_Cry1A_2_Ch6 + channel 8, SFX_Cry1A_2_Ch8 SFX_Cry1B_2:: - audio_header SFX_Cry1B_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1B_2_Ch5 + channel 6, SFX_Cry1B_2_Ch6 + channel 8, SFX_Cry1B_2_Ch8 SFX_Cry1C_2:: - audio_header SFX_Cry1C_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1C_2_Ch5 + channel 6, SFX_Cry1C_2_Ch6 + channel 8, SFX_Cry1C_2_Ch8 SFX_Cry1D_2:: - audio_header SFX_Cry1D_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1D_2_Ch5 + channel 6, SFX_Cry1D_2_Ch6 + channel 8, SFX_Cry1D_2_Ch8 SFX_Cry1E_2:: - audio_header SFX_Cry1E_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1E_2_Ch5 + channel 6, SFX_Cry1E_2_Ch6 + channel 8, SFX_Cry1E_2_Ch8 SFX_Cry1F_2:: - audio_header SFX_Cry1F_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1F_2_Ch5 + channel 6, SFX_Cry1F_2_Ch6 + channel 8, SFX_Cry1F_2_Ch8 SFX_Cry20_2:: - audio_header SFX_Cry20_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry20_2_Ch5 + channel 6, SFX_Cry20_2_Ch6 + channel 8, SFX_Cry20_2_Ch8 SFX_Cry21_2:: - audio_header SFX_Cry21_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry21_2_Ch5 + channel 6, SFX_Cry21_2_Ch6 + channel 8, SFX_Cry21_2_Ch8 SFX_Cry22_2:: - audio_header SFX_Cry22_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry22_2_Ch5 + channel 6, SFX_Cry22_2_Ch6 + channel 8, SFX_Cry22_2_Ch8 SFX_Cry23_2:: - audio_header SFX_Cry23_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry23_2_Ch5 + channel 6, SFX_Cry23_2_Ch6 + channel 8, SFX_Cry23_2_Ch8 SFX_Cry24_2:: - audio_header SFX_Cry24_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry24_2_Ch5 + channel 6, SFX_Cry24_2_Ch6 + channel 8, SFX_Cry24_2_Ch8 SFX_Cry25_2:: - audio_header SFX_Cry25_2, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry25_2_Ch5 + channel 6, SFX_Cry25_2_Ch6 + channel 8, SFX_Cry25_2_Ch8 SFX_Level_Up:: - audio_header SFX_Level_Up, Ch5, Ch6, Ch7 + channel_count 3 + channel 5, SFX_Level_Up_Ch5 + channel 6, SFX_Level_Up_Ch6 + channel 7, SFX_Level_Up_Ch7 SFX_Get_Item2_2:: - audio_header SFX_Get_Item2_2, Ch5, Ch6, Ch7 + channel_count 3 + channel 5, SFX_Get_Item2_2_Ch5 + channel 6, SFX_Get_Item2_2_Ch6 + channel 7, SFX_Get_Item2_2_Ch7 SFX_Tink_2:: - audio_header SFX_Tink_2, Ch5 + channel_count 1 + channel 5, SFX_Tink_2_Ch5 SFX_Heal_HP_2:: - audio_header SFX_Heal_HP_2, Ch5 + channel_count 1 + channel 5, SFX_Heal_HP_2_Ch5 SFX_Heal_Ailment_2:: - audio_header SFX_Heal_Ailment_2, Ch5 + channel_count 1 + channel 5, SFX_Heal_Ailment_2_Ch5 SFX_Start_Menu_2:: - audio_header SFX_Start_Menu_2, Ch8 + channel_count 1 + channel 8, SFX_Start_Menu_2_Ch8 SFX_Press_AB_2:: - audio_header SFX_Press_AB_2, Ch5 + channel_count 1 + channel 5, SFX_Press_AB_2_Ch5 SFX_Ball_Toss:: - audio_header SFX_Ball_Toss, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Ball_Toss_Ch5 + channel 6, SFX_Ball_Toss_Ch6 SFX_Ball_Poof:: - audio_header SFX_Ball_Poof, Ch5, Ch8 + channel_count 2 + channel 5, SFX_Ball_Poof_Ch5 + channel 8, SFX_Ball_Poof_Ch8 SFX_Faint_Thud:: - audio_header SFX_Faint_Thud, Ch5, Ch8 + channel_count 2 + channel 5, SFX_Faint_Thud_Ch5 + channel 8, SFX_Faint_Thud_Ch8 SFX_Run:: - audio_header SFX_Run, Ch8 + channel_count 1 + channel 8, SFX_Run_Ch8 SFX_Dex_Page_Added:: - audio_header SFX_Dex_Page_Added, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Dex_Page_Added_Ch5 + channel 6, SFX_Dex_Page_Added_Ch6 SFX_Caught_Mon:: - audio_header SFX_Caught_Mon, Ch5, Ch6, Ch7 + channel_count 3 + channel 5, SFX_Caught_Mon_Ch5 + channel 6, SFX_Caught_Mon_Ch6 + channel 7, SFX_Caught_Mon_Ch7 SFX_Peck:: - audio_header SFX_Peck, Ch8 + channel_count 1 + channel 8, SFX_Peck_Ch8 SFX_Faint_Fall:: - audio_header SFX_Faint_Fall, Ch5 + channel_count 1 + channel 5, SFX_Faint_Fall_Ch5 SFX_Battle_09:: - audio_header SFX_Battle_09, Ch5 + channel_count 1 + channel 5, SFX_Battle_09_Ch5 SFX_Pound:: - audio_header SFX_Pound, Ch8 + channel_count 1 + channel 8, SFX_Pound_Ch8 SFX_Battle_0B:: - audio_header SFX_Battle_0B, Ch8 + channel_count 1 + channel 8, SFX_Battle_0B_Ch8 SFX_Battle_0C:: - audio_header SFX_Battle_0C, Ch8 + channel_count 1 + channel 8, SFX_Battle_0C_Ch8 SFX_Battle_0D:: - audio_header SFX_Battle_0D, Ch8 + channel_count 1 + channel 8, SFX_Battle_0D_Ch8 SFX_Battle_0E:: - audio_header SFX_Battle_0E, Ch8 + channel_count 1 + channel 8, SFX_Battle_0E_Ch8 SFX_Battle_0F:: - audio_header SFX_Battle_0F, Ch8 + channel_count 1 + channel 8, SFX_Battle_0F_Ch8 SFX_Damage:: - audio_header SFX_Damage, Ch8 + channel_count 1 + channel 8, SFX_Damage_Ch8 SFX_Not_Very_Effective:: - audio_header SFX_Not_Very_Effective, Ch8 + channel_count 1 + channel 8, SFX_Not_Very_Effective_Ch8 SFX_Battle_12:: - audio_header SFX_Battle_12, Ch8 + channel_count 1 + channel 8, SFX_Battle_12_Ch8 SFX_Battle_13:: - audio_header SFX_Battle_13, Ch8 + channel_count 1 + channel 8, SFX_Battle_13_Ch8 SFX_Battle_14:: - audio_header SFX_Battle_14, Ch8 + channel_count 1 + channel 8, SFX_Battle_14_Ch8 SFX_Vine_Whip:: - audio_header SFX_Vine_Whip, Ch8 + channel_count 1 + channel 8, SFX_Vine_Whip_Ch8 SFX_Battle_16:: - audio_header SFX_Battle_16, Ch8 + channel_count 1 + channel 8, SFX_Battle_16_Ch8 SFX_Battle_17:: - audio_header SFX_Battle_17, Ch8 + channel_count 1 + channel 8, SFX_Battle_17_Ch8 SFX_Battle_18:: - audio_header SFX_Battle_18, Ch8 + channel_count 1 + channel 8, SFX_Battle_18_Ch8 SFX_Battle_19:: - audio_header SFX_Battle_19, Ch8 + channel_count 1 + channel 8, SFX_Battle_19_Ch8 SFX_Super_Effective:: - audio_header SFX_Super_Effective, Ch8 + channel_count 1 + channel 8, SFX_Super_Effective_Ch8 SFX_Battle_1B:: - audio_header SFX_Battle_1B, Ch8 + channel_count 1 + channel 8, SFX_Battle_1B_Ch8 SFX_Battle_1C:: - audio_header SFX_Battle_1C, Ch8 + channel_count 1 + channel 8, SFX_Battle_1C_Ch8 SFX_Doubleslap:: - audio_header SFX_Doubleslap, Ch8 + channel_count 1 + channel 8, SFX_Doubleslap_Ch8 SFX_Battle_1E:: - audio_header SFX_Battle_1E, Ch5, Ch8 + channel_count 2 + channel 5, SFX_Battle_1E_Ch5 + channel 8, SFX_Battle_1E_Ch8 SFX_Horn_Drill:: - audio_header SFX_Horn_Drill, Ch8 + channel_count 1 + channel 8, SFX_Horn_Drill_Ch8 SFX_Battle_20:: - audio_header SFX_Battle_20, Ch8 + channel_count 1 + channel 8, SFX_Battle_20_Ch8 SFX_Battle_21:: - audio_header SFX_Battle_21, Ch8 + channel_count 1 + channel 8, SFX_Battle_21_Ch8 SFX_Battle_22:: - audio_header SFX_Battle_22, Ch8 + channel_count 1 + channel 8, SFX_Battle_22_Ch8 SFX_Battle_23:: - audio_header SFX_Battle_23, Ch8 + channel_count 1 + channel 8, SFX_Battle_23_Ch8 SFX_Battle_24:: - audio_header SFX_Battle_24, Ch5, Ch8 + channel_count 2 + channel 5, SFX_Battle_24_Ch5 + channel 8, SFX_Battle_24_Ch8 SFX_Battle_25:: - audio_header SFX_Battle_25, Ch8 + channel_count 1 + channel 8, SFX_Battle_25_Ch8 SFX_Battle_26:: - audio_header SFX_Battle_26, Ch8 + channel_count 1 + channel 8, SFX_Battle_26_Ch8 SFX_Battle_27:: - audio_header SFX_Battle_27, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Battle_27_Ch5 + channel 6, SFX_Battle_27_Ch6 + channel 8, SFX_Battle_27_Ch8 SFX_Battle_28:: - audio_header SFX_Battle_28, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Battle_28_Ch5 + channel 6, SFX_Battle_28_Ch6 + channel 8, SFX_Battle_28_Ch8 SFX_Battle_29:: - audio_header SFX_Battle_29, Ch5, Ch8 + channel_count 2 + channel 5, SFX_Battle_29_Ch5 + channel 8, SFX_Battle_29_Ch8 SFX_Battle_2A:: - audio_header SFX_Battle_2A, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Battle_2A_Ch5 + channel 6, SFX_Battle_2A_Ch6 + channel 8, SFX_Battle_2A_Ch8 SFX_Battle_2B:: - audio_header SFX_Battle_2B, Ch5, Ch8 + channel_count 2 + channel 5, SFX_Battle_2B_Ch5 + channel 8, SFX_Battle_2B_Ch8 SFX_Battle_2C:: - audio_header SFX_Battle_2C, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Battle_2C_Ch5 + channel 6, SFX_Battle_2C_Ch6 + channel 8, SFX_Battle_2C_Ch8 SFX_Psybeam:: - audio_header SFX_Psybeam, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Psybeam_Ch5 + channel 6, SFX_Psybeam_Ch6 + channel 8, SFX_Psybeam_Ch8 SFX_Battle_2E:: - audio_header SFX_Battle_2E, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Battle_2E_Ch5 + channel 6, SFX_Battle_2E_Ch6 + channel 8, SFX_Battle_2E_Ch8 SFX_Battle_2F:: - audio_header SFX_Battle_2F, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Battle_2F_Ch5 + channel 6, SFX_Battle_2F_Ch6 + channel 8, SFX_Battle_2F_Ch8 SFX_Psychic_M:: - audio_header SFX_Psychic_M, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Psychic_M_Ch5 + channel 6, SFX_Psychic_M_Ch6 + channel 8, SFX_Psychic_M_Ch8 SFX_Battle_31:: - audio_header SFX_Battle_31, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Battle_31_Ch5 + channel 6, SFX_Battle_31_Ch6 SFX_Battle_32:: - audio_header SFX_Battle_32, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Battle_32_Ch5 + channel 6, SFX_Battle_32_Ch6 SFX_Battle_33:: - audio_header SFX_Battle_33, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Battle_33_Ch5 + channel 6, SFX_Battle_33_Ch6 SFX_Battle_34:: - audio_header SFX_Battle_34, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Battle_34_Ch5 + channel 6, SFX_Battle_34_Ch6 + channel 8, SFX_Battle_34_Ch8 SFX_Battle_35:: - audio_header SFX_Battle_35, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Battle_35_Ch5 + channel 6, SFX_Battle_35_Ch6 SFX_Battle_36:: - audio_header SFX_Battle_36, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Battle_36_Ch5 + channel 6, SFX_Battle_36_Ch6 + channel 8, SFX_Battle_36_Ch8 SFX_Silph_Scope:: - audio_header SFX_Silph_Scope, Ch5 + channel_count 1 + channel 5, SFX_Silph_Scope_Ch5 diff --git a/audio/headers/sfxheaders3.asm b/audio/headers/sfxheaders3.asm index 2732767f..bc6451a7 100644 --- a/audio/headers/sfxheaders3.asm +++ b/audio/headers/sfxheaders3.asm @@ -2,310 +2,504 @@ SFX_Headers_3:: db $ff, $ff, $ff ; padding SFX_Noise_Instrument01_3:: - audio_header SFX_Noise_Instrument01_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument01_3_Ch8 SFX_Noise_Instrument02_3:: - audio_header SFX_Noise_Instrument02_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument02_3_Ch8 SFX_Noise_Instrument03_3:: - audio_header SFX_Noise_Instrument03_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument03_3_Ch8 SFX_Noise_Instrument04_3:: - audio_header SFX_Noise_Instrument04_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument04_3_Ch8 SFX_Noise_Instrument05_3:: - audio_header SFX_Noise_Instrument05_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument05_3_Ch8 SFX_Noise_Instrument06_3:: - audio_header SFX_Noise_Instrument06_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument06_3_Ch8 SFX_Noise_Instrument07_3:: - audio_header SFX_Noise_Instrument07_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument07_3_Ch8 SFX_Noise_Instrument08_3:: - audio_header SFX_Noise_Instrument08_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument08_3_Ch8 SFX_Noise_Instrument09_3:: - audio_header SFX_Noise_Instrument09_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument09_3_Ch8 SFX_Noise_Instrument10_3:: - audio_header SFX_Noise_Instrument10_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument10_3_Ch8 SFX_Noise_Instrument11_3:: - audio_header SFX_Noise_Instrument11_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument11_3_Ch8 SFX_Noise_Instrument12_3:: - audio_header SFX_Noise_Instrument12_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument12_3_Ch8 SFX_Noise_Instrument13_3:: - audio_header SFX_Noise_Instrument13_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument13_3_Ch8 SFX_Noise_Instrument14_3:: - audio_header SFX_Noise_Instrument14_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument14_3_Ch8 SFX_Noise_Instrument15_3:: - audio_header SFX_Noise_Instrument15_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument15_3_Ch8 SFX_Noise_Instrument16_3:: - audio_header SFX_Noise_Instrument16_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument16_3_Ch8 SFX_Noise_Instrument17_3:: - audio_header SFX_Noise_Instrument17_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument17_3_Ch8 SFX_Noise_Instrument18_3:: - audio_header SFX_Noise_Instrument18_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument18_3_Ch8 SFX_Noise_Instrument19_3:: - audio_header SFX_Noise_Instrument19_3, Ch8 + channel_count 1 + channel 8, SFX_Noise_Instrument19_3_Ch8 SFX_Cry00_3:: - audio_header SFX_Cry00_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry00_3_Ch5 + channel 6, SFX_Cry00_3_Ch6 + channel 8, SFX_Cry00_3_Ch8 SFX_Cry01_3:: - audio_header SFX_Cry01_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry01_3_Ch5 + channel 6, SFX_Cry01_3_Ch6 + channel 8, SFX_Cry01_3_Ch8 SFX_Cry02_3:: - audio_header SFX_Cry02_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry02_3_Ch5 + channel 6, SFX_Cry02_3_Ch6 + channel 8, SFX_Cry02_3_Ch8 SFX_Cry03_3:: - audio_header SFX_Cry03_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry03_3_Ch5 + channel 6, SFX_Cry03_3_Ch6 + channel 8, SFX_Cry03_3_Ch8 SFX_Cry04_3:: - audio_header SFX_Cry04_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry04_3_Ch5 + channel 6, SFX_Cry04_3_Ch6 + channel 8, SFX_Cry04_3_Ch8 SFX_Cry05_3:: - audio_header SFX_Cry05_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry05_3_Ch5 + channel 6, SFX_Cry05_3_Ch6 + channel 8, SFX_Cry05_3_Ch8 SFX_Cry06_3:: - audio_header SFX_Cry06_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry06_3_Ch5 + channel 6, SFX_Cry06_3_Ch6 + channel 8, SFX_Cry06_3_Ch8 SFX_Cry07_3:: - audio_header SFX_Cry07_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry07_3_Ch5 + channel 6, SFX_Cry07_3_Ch6 + channel 8, SFX_Cry07_3_Ch8 SFX_Cry08_3:: - audio_header SFX_Cry08_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry08_3_Ch5 + channel 6, SFX_Cry08_3_Ch6 + channel 8, SFX_Cry08_3_Ch8 SFX_Cry09_3:: - audio_header SFX_Cry09_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry09_3_Ch5 + channel 6, SFX_Cry09_3_Ch6 + channel 8, SFX_Cry09_3_Ch8 SFX_Cry0A_3:: - audio_header SFX_Cry0A_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0A_3_Ch5 + channel 6, SFX_Cry0A_3_Ch6 + channel 8, SFX_Cry0A_3_Ch8 SFX_Cry0B_3:: - audio_header SFX_Cry0B_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0B_3_Ch5 + channel 6, SFX_Cry0B_3_Ch6 + channel 8, SFX_Cry0B_3_Ch8 SFX_Cry0C_3:: - audio_header SFX_Cry0C_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0C_3_Ch5 + channel 6, SFX_Cry0C_3_Ch6 + channel 8, SFX_Cry0C_3_Ch8 SFX_Cry0D_3:: - audio_header SFX_Cry0D_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0D_3_Ch5 + channel 6, SFX_Cry0D_3_Ch6 + channel 8, SFX_Cry0D_3_Ch8 SFX_Cry0E_3:: - audio_header SFX_Cry0E_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0E_3_Ch5 + channel 6, SFX_Cry0E_3_Ch6 + channel 8, SFX_Cry0E_3_Ch8 SFX_Cry0F_3:: - audio_header SFX_Cry0F_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry0F_3_Ch5 + channel 6, SFX_Cry0F_3_Ch6 + channel 8, SFX_Cry0F_3_Ch8 SFX_Cry10_3:: - audio_header SFX_Cry10_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry10_3_Ch5 + channel 6, SFX_Cry10_3_Ch6 + channel 8, SFX_Cry10_3_Ch8 SFX_Cry11_3:: - audio_header SFX_Cry11_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry11_3_Ch5 + channel 6, SFX_Cry11_3_Ch6 + channel 8, SFX_Cry11_3_Ch8 SFX_Cry12_3:: - audio_header SFX_Cry12_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry12_3_Ch5 + channel 6, SFX_Cry12_3_Ch6 + channel 8, SFX_Cry12_3_Ch8 SFX_Cry13_3:: - audio_header SFX_Cry13_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry13_3_Ch5 + channel 6, SFX_Cry13_3_Ch6 + channel 8, SFX_Cry13_3_Ch8 SFX_Cry14_3:: - audio_header SFX_Cry14_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry14_3_Ch5 + channel 6, SFX_Cry14_3_Ch6 + channel 8, SFX_Cry14_3_Ch8 SFX_Cry15_3:: - audio_header SFX_Cry15_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry15_3_Ch5 + channel 6, SFX_Cry15_3_Ch6 + channel 8, SFX_Cry15_3_Ch8 SFX_Cry16_3:: - audio_header SFX_Cry16_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry16_3_Ch5 + channel 6, SFX_Cry16_3_Ch6 + channel 8, SFX_Cry16_3_Ch8 SFX_Cry17_3:: - audio_header SFX_Cry17_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry17_3_Ch5 + channel 6, SFX_Cry17_3_Ch6 + channel 8, SFX_Cry17_3_Ch8 SFX_Cry18_3:: - audio_header SFX_Cry18_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry18_3_Ch5 + channel 6, SFX_Cry18_3_Ch6 + channel 8, SFX_Cry18_3_Ch8 SFX_Cry19_3:: - audio_header SFX_Cry19_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry19_3_Ch5 + channel 6, SFX_Cry19_3_Ch6 + channel 8, SFX_Cry19_3_Ch8 SFX_Cry1A_3:: - audio_header SFX_Cry1A_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1A_3_Ch5 + channel 6, SFX_Cry1A_3_Ch6 + channel 8, SFX_Cry1A_3_Ch8 SFX_Cry1B_3:: - audio_header SFX_Cry1B_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1B_3_Ch5 + channel 6, SFX_Cry1B_3_Ch6 + channel 8, SFX_Cry1B_3_Ch8 SFX_Cry1C_3:: - audio_header SFX_Cry1C_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1C_3_Ch5 + channel 6, SFX_Cry1C_3_Ch6 + channel 8, SFX_Cry1C_3_Ch8 SFX_Cry1D_3:: - audio_header SFX_Cry1D_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1D_3_Ch5 + channel 6, SFX_Cry1D_3_Ch6 + channel 8, SFX_Cry1D_3_Ch8 SFX_Cry1E_3:: - audio_header SFX_Cry1E_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1E_3_Ch5 + channel 6, SFX_Cry1E_3_Ch6 + channel 8, SFX_Cry1E_3_Ch8 SFX_Cry1F_3:: - audio_header SFX_Cry1F_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry1F_3_Ch5 + channel 6, SFX_Cry1F_3_Ch6 + channel 8, SFX_Cry1F_3_Ch8 SFX_Cry20_3:: - audio_header SFX_Cry20_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry20_3_Ch5 + channel 6, SFX_Cry20_3_Ch6 + channel 8, SFX_Cry20_3_Ch8 SFX_Cry21_3:: - audio_header SFX_Cry21_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry21_3_Ch5 + channel 6, SFX_Cry21_3_Ch6 + channel 8, SFX_Cry21_3_Ch8 SFX_Cry22_3:: - audio_header SFX_Cry22_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry22_3_Ch5 + channel 6, SFX_Cry22_3_Ch6 + channel 8, SFX_Cry22_3_Ch8 SFX_Cry23_3:: - audio_header SFX_Cry23_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry23_3_Ch5 + channel 6, SFX_Cry23_3_Ch6 + channel 8, SFX_Cry23_3_Ch8 SFX_Cry24_3:: - audio_header SFX_Cry24_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry24_3_Ch5 + channel 6, SFX_Cry24_3_Ch6 + channel 8, SFX_Cry24_3_Ch8 SFX_Cry25_3:: - audio_header SFX_Cry25_3, Ch5, Ch6, Ch8 + channel_count 3 + channel 5, SFX_Cry25_3_Ch5 + channel 6, SFX_Cry25_3_Ch6 + channel 8, SFX_Cry25_3_Ch8 SFX_Get_Item1_3:: - audio_header SFX_Get_Item1_3, Ch5, Ch6, Ch7 + channel_count 3 + channel 5, SFX_Get_Item1_3_Ch5 + channel 6, SFX_Get_Item1_3_Ch6 + channel 7, SFX_Get_Item1_3_Ch7 SFX_Get_Item2_3:: - audio_header SFX_Get_Item2_3, Ch5, Ch6, Ch7 + channel_count 3 + channel 5, SFX_Get_Item2_3_Ch5 + channel 6, SFX_Get_Item2_3_Ch6 + channel 7, SFX_Get_Item2_3_Ch7 SFX_Tink_3:: - audio_header SFX_Tink_3, Ch5 + channel_count 1 + channel 5, SFX_Tink_3_Ch5 SFX_Heal_HP_3:: - audio_header SFX_Heal_HP_3, Ch5 + channel_count 1 + channel 5, SFX_Heal_HP_3_Ch5 SFX_Heal_Ailment_3:: - audio_header SFX_Heal_Ailment_3, Ch5 + channel_count 1 + channel 5, SFX_Heal_Ailment_3_Ch5 SFX_Start_Menu_3:: - audio_header SFX_Start_Menu_3, Ch8 + channel_count 1 + channel 8, SFX_Start_Menu_3_Ch8 SFX_Press_AB_3:: - audio_header SFX_Press_AB_3, Ch5 + channel_count 1 + channel 5, SFX_Press_AB_3_Ch5 SFX_Pokedex_Rating_3:: - audio_header SFX_Pokedex_Rating_3, Ch5, Ch6, Ch7 + channel_count 3 + channel 5, SFX_Pokedex_Rating_3_Ch5 + channel 6, SFX_Pokedex_Rating_3_Ch6 + channel 7, SFX_Pokedex_Rating_3_Ch7 SFX_Get_Key_Item_3:: - audio_header SFX_Get_Key_Item_3, Ch5, Ch6, Ch7 + channel_count 3 + channel 5, SFX_Get_Key_Item_3_Ch5 + channel 6, SFX_Get_Key_Item_3_Ch6 + channel 7, SFX_Get_Key_Item_3_Ch7 SFX_Poisoned_3:: - audio_header SFX_Poisoned_3, Ch5 + channel_count 1 + channel 5, SFX_Poisoned_3_Ch5 SFX_Trade_Machine_3:: - audio_header SFX_Trade_Machine_3, Ch5 + channel_count 1 + channel 5, SFX_Trade_Machine_3_Ch5 SFX_Turn_On_PC_3:: - audio_header SFX_Turn_On_PC_3, Ch5 + channel_count 1 + channel 5, SFX_Turn_On_PC_3_Ch5 SFX_Turn_Off_PC_3:: - audio_header SFX_Turn_Off_PC_3, Ch5 + channel_count 1 + channel 5, SFX_Turn_Off_PC_3_Ch5 SFX_Enter_PC_3:: - audio_header SFX_Enter_PC_3, Ch5 + channel_count 1 + channel 5, SFX_Enter_PC_3_Ch5 SFX_Shrink_3:: - audio_header SFX_Shrink_3, Ch5 + channel_count 1 + channel 5, SFX_Shrink_3_Ch5 SFX_Switch_3:: - audio_header SFX_Switch_3, Ch5 + channel_count 1 + channel 5, SFX_Switch_3_Ch5 SFX_Healing_Machine_3:: - audio_header SFX_Healing_Machine_3, Ch5 + channel_count 1 + channel 5, SFX_Healing_Machine_3_Ch5 SFX_Teleport_Exit1_3:: - audio_header SFX_Teleport_Exit1_3, Ch5 + channel_count 1 + channel 5, SFX_Teleport_Exit1_3_Ch5 SFX_Teleport_Enter1_3:: - audio_header SFX_Teleport_Enter1_3, Ch5 + channel_count 1 + channel 5, SFX_Teleport_Enter1_3_Ch5 SFX_Teleport_Exit2_3:: - audio_header SFX_Teleport_Exit2_3, Ch5 + channel_count 1 + channel 5, SFX_Teleport_Exit2_3_Ch5 SFX_Ledge_3:: - audio_header SFX_Ledge_3, Ch5 + channel_count 1 + channel 5, SFX_Ledge_3_Ch5 SFX_Teleport_Enter2_3:: - audio_header SFX_Teleport_Enter2_3, Ch8 + channel_count 1 + channel 8, SFX_Teleport_Enter2_3_Ch8 SFX_Fly_3:: - audio_header SFX_Fly_3, Ch8 + channel_count 1 + channel 8, SFX_Fly_3_Ch8 SFX_Denied_3:: - audio_header SFX_Denied_3, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Denied_3_Ch5 + channel 6, SFX_Denied_3_Ch6 SFX_Arrow_Tiles_3:: - audio_header SFX_Arrow_Tiles_3, Ch5 + channel_count 1 + channel 5, SFX_Arrow_Tiles_3_Ch5 SFX_Push_Boulder_3:: - audio_header SFX_Push_Boulder_3, Ch8 + channel_count 1 + channel 8, SFX_Push_Boulder_3_Ch8 SFX_SS_Anne_Horn_3:: - audio_header SFX_SS_Anne_Horn_3, Ch5, Ch6 + channel_count 2 + channel 5, SFX_SS_Anne_Horn_3_Ch5 + channel 6, SFX_SS_Anne_Horn_3_Ch6 SFX_Withdraw_Deposit_3:: - audio_header SFX_Withdraw_Deposit_3, Ch5 + channel_count 1 + channel 5, SFX_Withdraw_Deposit_3_Ch5 SFX_Cut_3:: - audio_header SFX_Cut_3, Ch8 + channel_count 1 + channel 8, SFX_Cut_3_Ch8 SFX_Go_Inside_3:: - audio_header SFX_Go_Inside_3, Ch8 + channel_count 1 + channel 8, SFX_Go_Inside_3_Ch8 SFX_Swap_3:: - audio_header SFX_Swap_3, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Swap_3_Ch5 + channel 6, SFX_Swap_3_Ch6 SFX_59_3:: - audio_header SFX_59_3, Ch5, Ch6 + channel_count 2 + channel 5, SFX_59_3_Ch5 + channel 6, SFX_59_3_Ch6 SFX_Purchase_3:: - audio_header SFX_Purchase_3, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Purchase_3_Ch5 + channel 6, SFX_Purchase_3_Ch6 SFX_Collision_3:: - audio_header SFX_Collision_3, Ch5 + channel_count 1 + channel 5, SFX_Collision_3_Ch5 SFX_Go_Outside_3:: - audio_header SFX_Go_Outside_3, Ch8 + channel_count 1 + channel 8, SFX_Go_Outside_3_Ch8 SFX_Save_3:: - audio_header SFX_Save_3, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Save_3_Ch5 + channel 6, SFX_Save_3_Ch6 SFX_Intro_Lunge:: - audio_header SFX_Intro_Lunge, Ch8 + channel_count 1 + channel 8, SFX_Intro_Lunge_Ch8 SFX_Intro_Hip:: - audio_header SFX_Intro_Hip, Ch5 + channel_count 1 + channel 5, SFX_Intro_Hip_Ch5 SFX_Intro_Hop:: - audio_header SFX_Intro_Hop, Ch5 + channel_count 1 + channel 5, SFX_Intro_Hop_Ch5 SFX_Intro_Raise:: - audio_header SFX_Intro_Raise, Ch8 + channel_count 1 + channel 8, SFX_Intro_Raise_Ch8 SFX_Intro_Crash:: - audio_header SFX_Intro_Crash, Ch8 + channel_count 1 + channel 8, SFX_Intro_Crash_Ch8 SFX_Intro_Whoosh:: - audio_header SFX_Intro_Whoosh, Ch8 + channel_count 1 + channel 8, SFX_Intro_Whoosh_Ch8 SFX_Slots_Stop_Wheel:: - audio_header SFX_Slots_Stop_Wheel, Ch5 + channel_count 1 + channel 5, SFX_Slots_Stop_Wheel_Ch5 SFX_Slots_Reward:: - audio_header SFX_Slots_Reward, Ch5 + channel_count 1 + channel 5, SFX_Slots_Reward_Ch5 SFX_Slots_New_Spin:: - audio_header SFX_Slots_New_Spin, Ch5, Ch6 + channel_count 2 + channel 5, SFX_Slots_New_Spin_Ch5 + channel 6, SFX_Slots_New_Spin_Ch6 SFX_Shooting_Star:: - audio_header SFX_Shooting_Star, Ch5 + channel_count 1 + channel 5, SFX_Shooting_Star_Ch5 diff --git a/audio/low_health_alarm.asm b/audio/low_health_alarm.asm index 65e19aa7..35fe1815 100644 --- a/audio/low_health_alarm.asm +++ b/audio/low_health_alarm.asm @@ -20,7 +20,7 @@ Music_DoLowHealthAlarm:: .noTone ld a, $86 - ld [wChannelSoundIDs + Ch5], a ;disable sound channel? + ld [wChannelSoundIDs + CHAN5], a ;disable sound channel? ld a, [wLowHealthAlarm] and $7f ;decrement alarm timer. dec a @@ -34,7 +34,7 @@ Music_DoLowHealthAlarm:: .disableAlarm xor a ld [wLowHealthAlarm], a ;disable alarm - ld [wChannelSoundIDs + Ch5], a ;re-enable sound channel? + ld [wChannelSoundIDs + CHAN5], a ;re-enable sound channel? ld de, .toneDataSilence jr .playTone diff --git a/audio/poke_flute.asm b/audio/poke_flute.asm index f55a2a1f..1c0caab1 100644 --- a/audio/poke_flute.asm +++ b/audio/poke_flute.asm @@ -3,7 +3,7 @@ Music_PokeFluteInBattle:: ld a, SFX_CAUGHT_MON call PlaySoundWaitForCurrent ; then immediately overwrite the channel pointers - ld hl, wChannelCommandPointers + Ch5 * 2 + ld hl, wChannelCommandPointers + CHAN5 * 2 ld de, SFX_Pokeflute_Ch5 call Audio2_OverwriteChannelPointer ld de, SFX_Pokeflute_Ch6 diff --git a/audio/wave_instruments.asm b/audio/wave_samples.asm similarity index 100% rename from audio/wave_instruments.asm rename to audio/wave_samples.asm diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index 59900fec..a8903052 100644 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -19,15 +19,15 @@ DEF NUM_NOTES EQU const_value ; Audio[1|2|3]_HWChannelBaseAddresses, Audio[1|2|3]_HWChannelDisableMasks, ; and Audio[1|2|3]_HWChannelEnableMasks indexes (see audio/engine_[1|2|3].asm) const_def - const Ch1 ; 0 - const Ch2 ; 1 - const Ch3 ; 2 - const Ch4 ; 3 + const CHAN1 ; 0 + const CHAN2 ; 1 + const CHAN3 ; 2 + const CHAN4 ; 3 DEF NUM_MUSIC_CHANS EQU const_value - const Ch5 ; 4 - const Ch6 ; 5 - const Ch7 ; 6 - const Ch8 ; 7 + const CHAN5 ; 4 + const CHAN6 ; 5 + const CHAN7 ; 6 + const CHAN8 ; 7 DEF NUM_NOISE_CHANS EQU const_value - NUM_MUSIC_CHANS DEF NUM_CHANNELS EQU const_value diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 6aa697c9..f84b759c 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -782,7 +782,7 @@ FaintEnemyPokemon: ld a, SFX_FAINT_FALL call PlaySoundWaitForCurrent .sfxwait - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp SFX_FAINT_FALL jr z, .sfxwait ld a, SFX_FAINT_THUD @@ -866,7 +866,7 @@ EndLowHealthAlarm: ; the low health alarm and prevents it from reactivating until the next battle. xor a ld [wLowHealthAlarm], a ; turn off low health alarm - ld [wChannelSoundIDs + Ch5], a + ld [wChannelSoundIDs + CHAN5], a inc a ld [wLowHealthAlarmDisabled], a ; prevent it from reactivating ret @@ -1864,7 +1864,7 @@ DrawPlayerHUDAndHPBar: ld [hl], $0 ret z xor a - ld [wChannelSoundIDs + Ch5], a + ld [wChannelSoundIDs + CHAN5], a ret .setLowHealthAlarm ld hl, wLowHealthAlarm diff --git a/engine/battle/end_of_battle.asm b/engine/battle/end_of_battle.asm index bd4a1901..b9f9d537 100644 --- a/engine/battle/end_of_battle.asm +++ b/engine/battle/end_of_battle.asm @@ -46,7 +46,7 @@ EndOfBattle: .resetVariables xor a ld [wLowHealthAlarm], a ;disable low health alarm - ld [wChannelSoundIDs + Ch5], a + ld [wChannelSoundIDs + CHAN5], a ld [wIsInBattle], a ld [wBattleType], a ld [wMoveMissed], a diff --git a/engine/events/hidden_objects/safari_game.asm b/engine/events/hidden_objects/safari_game.asm index ac07e2f3..ea00be5a 100644 --- a/engine/events/hidden_objects/safari_game.asm +++ b/engine/events/hidden_objects/safari_game.asm @@ -37,7 +37,7 @@ SafariZoneGameOver: ld a, SFX_SAFARI_ZONE_PA call PlayMusic .waitForMusicToPlay - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp SFX_SAFARI_ZONE_PA jr nz, .waitForMusicToPlay ld a, TEXT_SAFARI_GAME_OVER diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 913b8636..a89031b4 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -991,7 +991,7 @@ ItemUseMedicine: .notFullHP ; if the pokemon's current HP doesn't equal its max HP xor a ld [wLowHealthAlarm], a ;disable low health alarm - ld [wChannelSoundIDs + Ch5], a + ld [wChannelSoundIDs + CHAN5], a push hl push de ld bc, wPartyMon1MaxHP - (wPartyMon1HP + 1) @@ -1732,7 +1732,7 @@ ItemUsePokeflute: call WaitForSoundToFinish ; wait for sound to end farcall Music_PokeFluteInBattle ; play in-battle pokeflute music .musicWaitLoop ; wait for music to finish playing - ld a, [wChannelSoundIDs + Ch7] + ld a, [wChannelSoundIDs + CHAN7] and a ; music off? jr nz, .musicWaitLoop .skipMusic @@ -1799,7 +1799,7 @@ PlayedFluteHadEffectText: ld c, BANK(SFX_Pokeflute) call PlayMusic .musicWaitLoop ; wait for music to finish playing - ld a, [wChannelSoundIDs + Ch3] + ld a, [wChannelSoundIDs + CHAN3] cp SFX_POKEFLUTE jr z, .musicWaitLoop call PlayDefaultMusic ; start playing normal music again diff --git a/engine/movie/evolution.asm b/engine/movie/evolution.asm index 77840556..4464fd87 100644 --- a/engine/movie/evolution.asm +++ b/engine/movie/evolution.asm @@ -8,7 +8,7 @@ EvolveMon: push af xor a ld [wLowHealthAlarm], a - ld [wChannelSoundIDs + Ch5], a + ld [wChannelSoundIDs + CHAN5], a dec a ; SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound diff --git a/engine/overworld/elevator.asm b/engine/overworld/elevator.asm index fa404602..0d19c127 100644 --- a/engine/overworld/elevator.asm +++ b/engine/overworld/elevator.asm @@ -33,7 +33,7 @@ ShakeElevator:: ld a, SFX_SAFARI_ZONE_PA call PlayMusic .musicLoop - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp SFX_SAFARI_ZONE_PA jr z, .musicLoop call UpdateSprites diff --git a/home/audio.asm b/home/audio.asm index eded85e9..1da6453c 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -146,10 +146,10 @@ PlaySound:: and a jr z, .next xor a - ld [wChannelSoundIDs + Ch5], a - ld [wChannelSoundIDs + Ch6], a - ld [wChannelSoundIDs + Ch7], a - ld [wChannelSoundIDs + Ch8], a + ld [wChannelSoundIDs + CHAN5], a + ld [wChannelSoundIDs + CHAN6], a + ld [wChannelSoundIDs + CHAN7], a + ld [wChannelSoundIDs + CHAN8], a .next ld a, [wAudioFadeOutControl] and a ; has a fade-out length been specified? diff --git a/home/delay.asm b/home/delay.asm index 850b23e9..3d1ea44d 100644 --- a/home/delay.asm +++ b/home/delay.asm @@ -18,7 +18,7 @@ WaitForSoundToFinish:: ret nz push hl .waitLoop - ld hl, wChannelSoundIDs + Ch5 + ld hl, wChannelSoundIDs + CHAN5 xor a or [hl] inc hl diff --git a/home/overworld.asm b/home/overworld.asm index 74c97cb7..a4e547bf 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -1244,7 +1244,7 @@ CollisionCheckOnLand:: call CheckTilePassable jr nc, .noCollision .collision - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp SFX_COLLISION ; check if collision sound is already playing jr z, .setCarry ld a, SFX_COLLISION @@ -1925,7 +1925,7 @@ CollisionCheckOnWater:: jr z, .stopSurfing ; stop surfing if the tile is passable jr .loop .collision - ld a, [wChannelSoundIDs + Ch5] + ld a, [wChannelSoundIDs + CHAN5] cp SFX_COLLISION ; check if collision sound is already playing jr z, .setCarry ld a, SFX_COLLISION diff --git a/macros/scripts/audio.asm b/macros/scripts/audio.asm index 114bf576..6b8a650a 100644 --- a/macros/scripts/audio.asm +++ b/macros/scripts/audio.asm @@ -1,18 +1,15 @@ -MACRO audio_header - db (_NARG - 2) << 6 | \2 - dw \1_\2 - IF _NARG > 2 - db \3 - dw \1_\3 - ENDC - IF _NARG > 3 - db \4 - dw \1_\4 - ENDC - IF _NARG > 4 - db \5 - dw \1_\5 - ENDC +MACRO channel_count + ASSERT 0 < (\1) && (\1) <= NUM_MUSIC_CHANS, \ + "channel_count must be 1-{d:NUM_MUSIC_CHANS}" + DEF _num_channels = \1 - 1 +ENDM + +MACRO channel + ASSERT 0 < (\1) && (\1) <= NUM_CHANNELS, \ + "channel id must be 1-{d:NUM_CHANNELS}" + dn (_num_channels << 2), \1 - 1 ; channel id + dw \2 ; address + DEF _num_channels = 0 ENDM const_def $10 @@ -27,9 +24,9 @@ ENDM MACRO pitch_sweep db pitch_sweep_cmd IF \2 < 0 - db (\1 << 4) | (%1000 | (\2 * -1)) + dn \1, %1000 | (\2 * -1) ELSE - db (\1 << 4) | \2 + dn \1, \2 ENDC ENDM @@ -45,9 +42,9 @@ DEF square_note_cmd EQU sfx_note_cmd ; $20 MACRO square_note db square_note_cmd | \1 IF \3 < 0 - db (\2 << 4) | (%1000 | (\3 * -1)) + dn \2, %1000 | (\3 * -1) ELSE - db (\2 << 4) | \3 + dn \2, \3 ENDC dw \4 ENDM @@ -60,16 +57,16 @@ DEF noise_note_cmd EQU sfx_note_cmd ; $20 MACRO noise_note db noise_note_cmd | \1 IF \3 < 0 - db (\2 << 4) | (%1000 | (\3 * -1)) + dn \2, %1000 | (\3 * -1) ELSE - db (\2 << 4) | \3 + dn \2, \3 ENDC db \4 ENDM ; arguments: pitch, length [1, 16] MACRO note - db (\1 << 4) | (\2 - 1) + dn \1, \2 - 1 ENDM const_next $b0 @@ -86,7 +83,7 @@ ENDM ; can only be used with instruments 1-10, excluding 2 ; unused MACRO drum_note_short - db (\1 << 4) | (\2 - 1) + note \1, \2 ENDM const_next $c0 @@ -107,9 +104,9 @@ ENDM MACRO note_type db note_type_cmd | \1 IF \3 < 0 - db (\2 << 4) | (%1000 | (\3 * -1)) + dn \2, %1000 | (\3 * -1) ELSE - db (\2 << 4) | \3 + dn \2, \3 ENDC ENDM @@ -145,7 +142,7 @@ ENDM MACRO vibrato db vibrato_cmd db \1 - db (\2 << 4) | \3 + dn \2, \3 ENDM ; arguments: length [1, 256], octave [1, 8], pitch @@ -153,7 +150,7 @@ ENDM MACRO pitch_slide db pitch_slide_cmd db \1 - 1 - db ((8 - \2) << 4) | \3 + dn 8 - \2, \3 ENDM ; arguments: duty cycle [0, 3] (12.5%, 25%, 50%, 75%) @@ -179,7 +176,7 @@ ENDM const stereo_panning_cmd ; $ee MACRO stereo_panning db stereo_panning_cmd - db (\1 << 4) | \2 + dn \1, \2 ENDM const unknownmusic0xef_cmd ; $ef @@ -192,7 +189,7 @@ ENDM const volume_cmd ; $f0 MACRO volume db volume_cmd - db (\1 << 4) | \2 + dn \1, \2 ENDM const_next $f8 diff --git a/scripts/PewterPokecenter.asm b/scripts/PewterPokecenter.asm index 5030244c..3267dcee 100644 --- a/scripts/PewterPokecenter.asm +++ b/scripts/PewterPokecenter.asm @@ -62,7 +62,7 @@ PewterJigglypuffText: call DelayFrames ld a, [wChannelSoundIDs] ld b, a - ld a, [wChannelSoundIDs + Ch2] + ld a, [wChannelSoundIDs + CHAN2] or b jr nz, .spinMovementLoop From 63a7eb2cf545281cbeaf289b261f9345d9249819 Mon Sep 17 00:00:00 2001 From: SatoMew Date: Sat, 10 Sep 2022 18:44:31 +0100 Subject: [PATCH 099/119] Improve NPC trade labels and comments (#384) Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com> --- constants/script_constants.asm | 4 ++-- data/events/trades.asm | 24 ++++++++++++++---------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/constants/script_constants.asm b/constants/script_constants.asm index d4543f05..afd1258b 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -22,7 +22,7 @@ DEF SLOTS_SOMEONESKEYS EQU $ff const_def const TRADE_FOR_TERRY const TRADE_FOR_MARCEL - const TRADE_FOR_CHIKUCHIKU + const TRADE_FOR_CHIKUCHIKU ; unused const TRADE_FOR_SAILOR const TRADE_FOR_DUX const TRADE_FOR_MARC @@ -36,7 +36,7 @@ DEF NUM_NPC_TRADES EQU const_value ; InGameTradeTextPointers indexes (see engine/events/in_game_trades.asm) const_def const TRADE_DIALOGSET_CASUAL - const TRADE_DIALOGSET_POLITE + const TRADE_DIALOGSET_EVOLUTION const TRADE_DIALOGSET_HAPPY ; badges diff --git a/data/events/trades.asm b/data/events/trades.asm index 560abfa1..b230a918 100644 --- a/data/events/trades.asm +++ b/data/events/trades.asm @@ -2,14 +2,18 @@ TradeMons: ; entries correspond to TRADE_FOR_* constants table_width 3 + NAME_LENGTH, TradeMons ; give mon, get mon, dialog id, nickname - db NIDORINO, NIDORINA, TRADE_DIALOGSET_CASUAL, "TERRY@@@@@@" - db ABRA, MR_MIME, TRADE_DIALOGSET_CASUAL, "MARCEL@@@@@" - db BUTTERFREE, BEEDRILL, TRADE_DIALOGSET_HAPPY, "CHIKUCHIKU@" - db PONYTA, SEEL, TRADE_DIALOGSET_CASUAL, "SAILOR@@@@@" - db SPEAROW, FARFETCHD, TRADE_DIALOGSET_HAPPY, "DUX@@@@@@@@" - db SLOWBRO, LICKITUNG, TRADE_DIALOGSET_CASUAL, "MARC@@@@@@@" - db POLIWHIRL, JYNX, TRADE_DIALOGSET_POLITE, "LOLA@@@@@@@" - db RAICHU, ELECTRODE, TRADE_DIALOGSET_POLITE, "DORIS@@@@@@" - db VENONAT, TANGELA, TRADE_DIALOGSET_HAPPY, "CRINKLES@@@" - db NIDORAN_M, NIDORAN_F, TRADE_DIALOGSET_HAPPY, "SPOT@@@@@@@" + ; The two instances of TRADE_DIALOGSET_EVOLUTION are a leftover + ; from the Japanese Blue trades, which used species that evolve. + ; Japanese Red and Green used TRADE_DIALOGSET_CASUAL, and had + ; the same species as English Red and Blue. + db NIDORINO, NIDORINA, TRADE_DIALOGSET_CASUAL, "TERRY@@@@@@" + db ABRA, MR_MIME, TRADE_DIALOGSET_CASUAL, "MARCEL@@@@@" + db BUTTERFREE, BEEDRILL, TRADE_DIALOGSET_HAPPY, "CHIKUCHIKU@" ; unused + db PONYTA, SEEL, TRADE_DIALOGSET_CASUAL, "SAILOR@@@@@" + db SPEAROW, FARFETCHD, TRADE_DIALOGSET_HAPPY, "DUX@@@@@@@@" + db SLOWBRO, LICKITUNG, TRADE_DIALOGSET_CASUAL, "MARC@@@@@@@" + db POLIWHIRL, JYNX, TRADE_DIALOGSET_EVOLUTION, "LOLA@@@@@@@" + db RAICHU, ELECTRODE, TRADE_DIALOGSET_EVOLUTION, "DORIS@@@@@@" + db VENONAT, TANGELA, TRADE_DIALOGSET_HAPPY, "CRINKLES@@@" + db NIDORAN_M, NIDORAN_F, TRADE_DIALOGSET_HAPPY, "SPOT@@@@@@@" assert_table_length NUM_NPC_TRADES From 0c4d2e178ebbcee1d0b8de6354fef2d1134d90bc Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 10 Sep 2022 13:52:11 -0400 Subject: [PATCH 100/119] Link to the symbols branch --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 950b8b99..706ab86c 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,8 @@ To set up the repository, see [**INSTALL.md**](INSTALL.md). ## See also +- [**Wiki**][wiki] (includes [tutorials][tutorials]) +- [**Symbols**][symbols] - **Discord:** [pret][discord] - **IRC:** [libera#pret][irc] @@ -37,6 +39,9 @@ Other disassembly projects: [pokeruby]: https://github.com/pret/pokeruby [pokefirered]: https://github.com/pret/pokefirered [pokeemerald]: https://github.com/pret/pokeemerald +[wiki]: https://github.com/pret/pokered/wiki +[tutorials]: https://github.com/pret/pokered/wiki/Tutorials +[symbols]: https://github.com/pret/pokered/tree/symbols [discord]: https://discord.gg/d5dubZ3 [irc]: https://web.libera.chat/?#pret [ci]: https://github.com/pret/pokered/actions From 74cee737f6990fd770838eb8fe4d090028a76bd9 Mon Sep 17 00:00:00 2001 From: vulcandth Date: Sun, 11 Sep 2022 00:05:04 -0500 Subject: [PATCH 101/119] Rename `macros/wram.asm` to `macros/ram.asm` (#388) --- constants/map_object_constants.asm | 4 ++-- constants/pokemon_data_constants.asm | 2 +- macros/{wram.asm => ram.asm} | 0 ram.asm | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename macros/{wram.asm => ram.asm} (100%) diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm index 5c666d83..377edcea 100644 --- a/constants/map_object_constants.asm +++ b/constants/map_object_constants.asm @@ -1,4 +1,4 @@ -; spritestatedata1 struct members (see macros/wram.asm) +; spritestatedata1 struct members (see macros/ram.asm) const_def const SPRITESTATEDATA1_PICTUREID ; 0 const SPRITESTATEDATA1_MOVEMENTSTATUS ; 1 @@ -18,7 +18,7 @@ const SPRITESTATEDATA1_0F ; f DEF SPRITESTATEDATA1_LENGTH EQU const_value -; spritestatedata2 struct members (see macros/wram.asm) +; spritestatedata2 struct members (see macros/ram.asm) const_def const SPRITESTATEDATA2_WALKANIMATIONCOUNTER ; 0 const SPRITESTATEDATA2_01 ; 1 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 1fd7ce19..028d6711 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -23,7 +23,7 @@ DEF BASE_TMHM rb (NUM_TM_HM + 7) / 8 rb_skip DEF BASE_DATA_SIZE EQU _RS -; party_struct members (see macros/wram.asm) +; party_struct members (see macros/ram.asm) rsreset DEF MON_SPECIES rb DEF MON_HP rw diff --git a/macros/wram.asm b/macros/ram.asm similarity index 100% rename from macros/wram.asm rename to macros/ram.asm diff --git a/ram.asm b/ram.asm index 24040b14..077ae799 100644 --- a/ram.asm +++ b/ram.asm @@ -1,6 +1,6 @@ INCLUDE "constants.asm" -INCLUDE "macros/wram.asm" +INCLUDE "macros/ram.asm" INCLUDE "ram/vram.asm" From e9e769fba15c2373d43f37721a45427a9218c154 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 11 Sep 2022 15:00:06 -0400 Subject: [PATCH 102/119] Copy pokecrystal's `map_const` macro Fixes #386 --- constants/map_constants.asm | 502 ++++++++++++++++++------------------ 1 file changed, 251 insertions(+), 251 deletions(-) diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 48b25461..644cfab4 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -1,7 +1,7 @@ -MACRO mapconst +MACRO map_const const \1 - DEF \1_HEIGHT EQU \2 - DEF \1_WIDTH EQU \3 + DEF \1_WIDTH EQU \2 + DEF \1_HEIGHT EQU \3 ENDM ; map ids @@ -16,257 +16,257 @@ ENDM ; Each map also has associated data in maps.asm. ; Order: towns/cities, then routes, then indoor/dungeon maps const_def - mapconst PALLET_TOWN, 9, 10 ; $00 - mapconst VIRIDIAN_CITY, 18, 20 ; $01 - mapconst PEWTER_CITY, 18, 20 ; $02 - mapconst CERULEAN_CITY, 18, 20 ; $03 - mapconst LAVENDER_TOWN, 9, 10 ; $04 - mapconst VERMILION_CITY, 18, 20 ; $05 - mapconst CELADON_CITY, 18, 25 ; $06 - mapconst FUCHSIA_CITY, 18, 20 ; $07 - mapconst CINNABAR_ISLAND, 9, 10 ; $08 - mapconst INDIGO_PLATEAU, 9, 10 ; $09 - mapconst SAFFRON_CITY, 18, 20 ; $0A + map_const PALLET_TOWN, 10, 9 ; $00 + map_const VIRIDIAN_CITY, 20, 18 ; $01 + map_const PEWTER_CITY, 20, 18 ; $02 + map_const CERULEAN_CITY, 20, 18 ; $03 + map_const LAVENDER_TOWN, 10, 9 ; $04 + map_const VERMILION_CITY, 20, 18 ; $05 + map_const CELADON_CITY, 25, 18 ; $06 + map_const FUCHSIA_CITY, 20, 18 ; $07 + map_const CINNABAR_ISLAND, 10, 9 ; $08 + map_const INDIGO_PLATEAU, 10, 9 ; $09 + map_const SAFFRON_CITY, 20, 18 ; $0A DEF NUM_CITY_MAPS EQU const_value - mapconst UNUSED_MAP_0B, 0, 0 ; $0B + map_const UNUSED_MAP_0B, 0, 0 ; $0B DEF FIRST_ROUTE_MAP EQU const_value - mapconst ROUTE_1, 18, 10 ; $0C - mapconst ROUTE_2, 36, 10 ; $0D - mapconst ROUTE_3, 9, 35 ; $0E - mapconst ROUTE_4, 9, 45 ; $0F - mapconst ROUTE_5, 18, 10 ; $10 - mapconst ROUTE_6, 18, 10 ; $11 - mapconst ROUTE_7, 9, 10 ; $12 - mapconst ROUTE_8, 9, 30 ; $13 - mapconst ROUTE_9, 9, 30 ; $14 - mapconst ROUTE_10, 36, 10 ; $15 - mapconst ROUTE_11, 9, 30 ; $16 - mapconst ROUTE_12, 54, 10 ; $17 - mapconst ROUTE_13, 9, 30 ; $18 - mapconst ROUTE_14, 27, 10 ; $19 - mapconst ROUTE_15, 9, 30 ; $1A - mapconst ROUTE_16, 9, 20 ; $1B - mapconst ROUTE_17, 72, 10 ; $1C - mapconst ROUTE_18, 9, 25 ; $1D - mapconst ROUTE_19, 27, 10 ; $1E - mapconst ROUTE_20, 9, 50 ; $1F - mapconst ROUTE_21, 45, 10 ; $20 - mapconst ROUTE_22, 9, 20 ; $21 - mapconst ROUTE_23, 72, 10 ; $22 - mapconst ROUTE_24, 18, 10 ; $23 - mapconst ROUTE_25, 9, 30 ; $24 + map_const ROUTE_1, 10, 18 ; $0C + map_const ROUTE_2, 10, 36 ; $0D + map_const ROUTE_3, 35, 9 ; $0E + map_const ROUTE_4, 45, 9 ; $0F + map_const ROUTE_5, 10, 18 ; $10 + map_const ROUTE_6, 10, 18 ; $11 + map_const ROUTE_7, 10, 9 ; $12 + map_const ROUTE_8, 30, 9 ; $13 + map_const ROUTE_9, 30, 9 ; $14 + map_const ROUTE_10, 10, 36 ; $15 + map_const ROUTE_11, 30, 9 ; $16 + map_const ROUTE_12, 10, 54 ; $17 + map_const ROUTE_13, 30, 9 ; $18 + map_const ROUTE_14, 10, 27 ; $19 + map_const ROUTE_15, 30, 9 ; $1A + map_const ROUTE_16, 20, 9 ; $1B + map_const ROUTE_17, 10, 72 ; $1C + map_const ROUTE_18, 25, 9 ; $1D + map_const ROUTE_19, 10, 27 ; $1E + map_const ROUTE_20, 50, 9 ; $1F + map_const ROUTE_21, 10, 45 ; $20 + map_const ROUTE_22, 20, 9 ; $21 + map_const ROUTE_23, 10, 72 ; $22 + map_const ROUTE_24, 10, 18 ; $23 + map_const ROUTE_25, 30, 9 ; $24 DEF FIRST_INDOOR_MAP EQU const_value - mapconst REDS_HOUSE_1F, 4, 4 ; $25 - mapconst REDS_HOUSE_2F, 4, 4 ; $26 - mapconst BLUES_HOUSE, 4, 4 ; $27 - mapconst OAKS_LAB, 6, 5 ; $28 - mapconst VIRIDIAN_POKECENTER, 4, 7 ; $29 - mapconst VIRIDIAN_MART, 4, 4 ; $2A - mapconst VIRIDIAN_SCHOOL_HOUSE, 4, 4 ; $2B - mapconst VIRIDIAN_NICKNAME_HOUSE, 4, 4 ; $2C - mapconst VIRIDIAN_GYM, 9, 10 ; $2D - mapconst DIGLETTS_CAVE_ROUTE_2, 4, 4 ; $2E - mapconst VIRIDIAN_FOREST_NORTH_GATE, 4, 5 ; $2F - mapconst ROUTE_2_TRADE_HOUSE, 4, 4 ; $30 - mapconst ROUTE_2_GATE, 4, 5 ; $31 - mapconst VIRIDIAN_FOREST_SOUTH_GATE, 4, 5 ; $32 - mapconst VIRIDIAN_FOREST, 24, 17 ; $33 - mapconst MUSEUM_1F, 4, 10 ; $34 - mapconst MUSEUM_2F, 4, 7 ; $35 - mapconst PEWTER_GYM, 7, 5 ; $36 - mapconst PEWTER_NIDORAN_HOUSE, 4, 4 ; $37 - mapconst PEWTER_MART, 4, 4 ; $38 - mapconst PEWTER_SPEECH_HOUSE, 4, 4 ; $39 - mapconst PEWTER_POKECENTER, 4, 7 ; $3A - mapconst MT_MOON_1F, 18, 20 ; $3B - mapconst MT_MOON_B1F, 14, 14 ; $3C - mapconst MT_MOON_B2F, 18, 20 ; $3D - mapconst CERULEAN_TRASHED_HOUSE, 4, 4 ; $3E - mapconst CERULEAN_TRADE_HOUSE, 4, 4 ; $3F - mapconst CERULEAN_POKECENTER, 4, 7 ; $40 - mapconst CERULEAN_GYM, 7, 5 ; $41 - mapconst BIKE_SHOP, 4, 4 ; $42 - mapconst CERULEAN_MART, 4, 4 ; $43 - mapconst MT_MOON_POKECENTER, 4, 7 ; $44 - mapconst CERULEAN_TRASHED_HOUSE_COPY, 4, 4 ; $45 - mapconst ROUTE_5_GATE, 3, 4 ; $46 - mapconst UNDERGROUND_PATH_ROUTE_5, 4, 4 ; $47 - mapconst DAYCARE, 4, 4 ; $48 - mapconst ROUTE_6_GATE, 3, 4 ; $49 - mapconst UNDERGROUND_PATH_ROUTE_6, 4, 4 ; $4A - mapconst UNDERGROUND_PATH_ROUTE_6_COPY, 4, 4 ; $4B - mapconst ROUTE_7_GATE, 4, 3 ; $4C - mapconst UNDERGROUND_PATH_ROUTE_7, 4, 4 ; $4D - mapconst UNDERGROUND_PATH_ROUTE_7_COPY, 4, 4 ; $4E - mapconst ROUTE_8_GATE, 4, 3 ; $4F - mapconst UNDERGROUND_PATH_ROUTE_8, 4, 4 ; $50 - mapconst ROCK_TUNNEL_POKECENTER, 4, 7 ; $51 - mapconst ROCK_TUNNEL_1F, 18, 20 ; $52 - mapconst POWER_PLANT, 18, 20 ; $53 - mapconst ROUTE_11_GATE_1F, 5, 4 ; $54 - mapconst DIGLETTS_CAVE_ROUTE_11, 4, 4 ; $55 - mapconst ROUTE_11_GATE_2F, 4, 4 ; $56 - mapconst ROUTE_12_GATE_1F, 4, 5 ; $57 - mapconst BILLS_HOUSE, 4, 4 ; $58 - mapconst VERMILION_POKECENTER, 4, 7 ; $59 - mapconst POKEMON_FAN_CLUB, 4, 4 ; $5A - mapconst VERMILION_MART, 4, 4 ; $5B - mapconst VERMILION_GYM, 9, 5 ; $5C - mapconst VERMILION_PIDGEY_HOUSE, 4, 4 ; $5D - mapconst VERMILION_DOCK, 6, 14 ; $5E - mapconst SS_ANNE_1F, 9, 20 ; $5F - mapconst SS_ANNE_2F, 9, 20 ; $60 - mapconst SS_ANNE_3F, 3, 10 ; $61 - mapconst SS_ANNE_B1F, 4, 15 ; $62 - mapconst SS_ANNE_BOW, 7, 10 ; $63 - mapconst SS_ANNE_KITCHEN, 8, 7 ; $64 - mapconst SS_ANNE_CAPTAINS_ROOM, 4, 3 ; $65 - mapconst SS_ANNE_1F_ROOMS, 8, 12 ; $66 - mapconst SS_ANNE_2F_ROOMS, 8, 12 ; $67 - mapconst SS_ANNE_B1F_ROOMS, 8, 12 ; $68 - mapconst UNUSED_MAP_69, 0, 0 ; $69 - mapconst UNUSED_MAP_6A, 0, 0 ; $6A - mapconst UNUSED_MAP_6B, 0, 0 ; $6B - mapconst VICTORY_ROAD_1F, 9, 10 ; $6C - mapconst UNUSED_MAP_6D, 0, 0 ; $6D - mapconst UNUSED_MAP_6E, 0, 0 ; $6E - mapconst UNUSED_MAP_6F, 0, 0 ; $6F - mapconst UNUSED_MAP_70, 0, 0 ; $70 - mapconst LANCES_ROOM, 13, 13 ; $71 - mapconst UNUSED_MAP_72, 0, 0 ; $72 - mapconst UNUSED_MAP_73, 0, 0 ; $73 - mapconst UNUSED_MAP_74, 0, 0 ; $74 - mapconst UNUSED_MAP_75, 0, 0 ; $75 - mapconst HALL_OF_FAME, 4, 5 ; $76 - mapconst UNDERGROUND_PATH_NORTH_SOUTH, 24, 4 ; $77 - mapconst CHAMPIONS_ROOM, 4, 4 ; $78 - mapconst UNDERGROUND_PATH_WEST_EAST, 4, 25 ; $79 - mapconst CELADON_MART_1F, 4, 10 ; $7A - mapconst CELADON_MART_2F, 4, 10 ; $7B - mapconst CELADON_MART_3F, 4, 10 ; $7C - mapconst CELADON_MART_4F, 4, 10 ; $7D - mapconst CELADON_MART_ROOF, 4, 10 ; $7E - mapconst CELADON_MART_ELEVATOR, 2, 2 ; $7F - mapconst CELADON_MANSION_1F, 6, 4 ; $80 - mapconst CELADON_MANSION_2F, 6, 4 ; $81 - mapconst CELADON_MANSION_3F, 6, 4 ; $82 - mapconst CELADON_MANSION_ROOF, 6, 4 ; $83 - mapconst CELADON_MANSION_ROOF_HOUSE, 4, 4 ; $84 - mapconst CELADON_POKECENTER, 4, 7 ; $85 - mapconst CELADON_GYM, 9, 5 ; $86 - mapconst GAME_CORNER, 9, 10 ; $87 - mapconst CELADON_MART_5F, 4, 10 ; $88 - mapconst GAME_CORNER_PRIZE_ROOM, 4, 5 ; $89 - mapconst CELADON_DINER, 4, 5 ; $8A - mapconst CELADON_CHIEF_HOUSE, 4, 4 ; $8B - mapconst CELADON_HOTEL, 4, 7 ; $8C - mapconst LAVENDER_POKECENTER, 4, 7 ; $8D - mapconst POKEMON_TOWER_1F, 9, 10 ; $8E - mapconst POKEMON_TOWER_2F, 9, 10 ; $8F - mapconst POKEMON_TOWER_3F, 9, 10 ; $90 - mapconst POKEMON_TOWER_4F, 9, 10 ; $91 - mapconst POKEMON_TOWER_5F, 9, 10 ; $92 - mapconst POKEMON_TOWER_6F, 9, 10 ; $93 - mapconst POKEMON_TOWER_7F, 9, 10 ; $94 - mapconst MR_FUJIS_HOUSE, 4, 4 ; $95 - mapconst LAVENDER_MART, 4, 4 ; $96 - mapconst LAVENDER_CUBONE_HOUSE, 4, 4 ; $97 - mapconst FUCHSIA_MART, 4, 4 ; $98 - mapconst FUCHSIA_BILLS_GRANDPAS_HOUSE, 4, 4 ; $99 - mapconst FUCHSIA_POKECENTER, 4, 7 ; $9A - mapconst WARDENS_HOUSE, 4, 5 ; $9B - mapconst SAFARI_ZONE_GATE, 3, 4 ; $9C - mapconst FUCHSIA_GYM, 9, 5 ; $9D - mapconst FUCHSIA_MEETING_ROOM, 4, 7 ; $9E - mapconst SEAFOAM_ISLANDS_B1F, 9, 15 ; $9F - mapconst SEAFOAM_ISLANDS_B2F, 9, 15 ; $A0 - mapconst SEAFOAM_ISLANDS_B3F, 9, 15 ; $A1 - mapconst SEAFOAM_ISLANDS_B4F, 9, 15 ; $A2 - mapconst VERMILION_OLD_ROD_HOUSE, 4, 4 ; $A3 - mapconst FUCHSIA_GOOD_ROD_HOUSE, 4, 4 ; $A4 - mapconst POKEMON_MANSION_1F, 14, 15 ; $A5 - mapconst CINNABAR_GYM, 9, 10 ; $A6 - mapconst CINNABAR_LAB, 4, 9 ; $A7 - mapconst CINNABAR_LAB_TRADE_ROOM, 4, 4 ; $A8 - mapconst CINNABAR_LAB_METRONOME_ROOM, 4, 4 ; $A9 - mapconst CINNABAR_LAB_FOSSIL_ROOM, 4, 4 ; $AA - mapconst CINNABAR_POKECENTER, 4, 7 ; $AB - mapconst CINNABAR_MART, 4, 4 ; $AC - mapconst CINNABAR_MART_COPY, 4, 4 ; $AD - mapconst INDIGO_PLATEAU_LOBBY, 6, 8 ; $AE - mapconst COPYCATS_HOUSE_1F, 4, 4 ; $AF - mapconst COPYCATS_HOUSE_2F, 4, 4 ; $B0 - mapconst FIGHTING_DOJO, 6, 5 ; $B1 - mapconst SAFFRON_GYM, 9, 10 ; $B2 - mapconst SAFFRON_PIDGEY_HOUSE, 4, 4 ; $B3 - mapconst SAFFRON_MART, 4, 4 ; $B4 - mapconst SILPH_CO_1F, 9, 15 ; $B5 - mapconst SAFFRON_POKECENTER, 4, 7 ; $B6 - mapconst MR_PSYCHICS_HOUSE, 4, 4 ; $B7 - mapconst ROUTE_15_GATE_1F, 5, 4 ; $B8 - mapconst ROUTE_15_GATE_2F, 4, 4 ; $B9 - mapconst ROUTE_16_GATE_1F, 7, 4 ; $BA - mapconst ROUTE_16_GATE_2F, 4, 4 ; $BB - mapconst ROUTE_16_FLY_HOUSE, 4, 4 ; $BC - mapconst ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; $BD - mapconst ROUTE_18_GATE_1F, 5, 4 ; $BE - mapconst ROUTE_18_GATE_2F, 4, 4 ; $BF - mapconst SEAFOAM_ISLANDS_1F, 9, 15 ; $C0 - mapconst ROUTE_22_GATE, 4, 5 ; $C1 - mapconst VICTORY_ROAD_2F, 9, 15 ; $C2 - mapconst ROUTE_12_GATE_2F, 4, 4 ; $C3 - mapconst VERMILION_TRADE_HOUSE, 4, 4 ; $C4 - mapconst DIGLETTS_CAVE, 18, 20 ; $C5 - mapconst VICTORY_ROAD_3F, 9, 15 ; $C6 - mapconst ROCKET_HIDEOUT_B1F, 14, 15 ; $C7 - mapconst ROCKET_HIDEOUT_B2F, 14, 15 ; $C8 - mapconst ROCKET_HIDEOUT_B3F, 14, 15 ; $C9 - mapconst ROCKET_HIDEOUT_B4F, 12, 15 ; $CA - mapconst ROCKET_HIDEOUT_ELEVATOR, 4, 3 ; $CB - mapconst UNUSED_MAP_CC, 0, 0 ; $CC - mapconst UNUSED_MAP_CD, 0, 0 ; $CD - mapconst UNUSED_MAP_CE, 0, 0 ; $CE - mapconst SILPH_CO_2F, 9, 15 ; $CF - mapconst SILPH_CO_3F, 9, 15 ; $D0 - mapconst SILPH_CO_4F, 9, 15 ; $D1 - mapconst SILPH_CO_5F, 9, 15 ; $D2 - mapconst SILPH_CO_6F, 9, 13 ; $D3 - mapconst SILPH_CO_7F, 9, 13 ; $D4 - mapconst SILPH_CO_8F, 9, 13 ; $D5 - mapconst POKEMON_MANSION_2F, 14, 15 ; $D6 - mapconst POKEMON_MANSION_3F, 9, 15 ; $D7 - mapconst POKEMON_MANSION_B1F, 14, 15 ; $D8 - mapconst SAFARI_ZONE_EAST, 13, 15 ; $D9 - mapconst SAFARI_ZONE_NORTH, 18, 20 ; $DA - mapconst SAFARI_ZONE_WEST, 13, 15 ; $DB - mapconst SAFARI_ZONE_CENTER, 13, 15 ; $DC - mapconst SAFARI_ZONE_CENTER_REST_HOUSE, 4, 4 ; $DD - mapconst SAFARI_ZONE_SECRET_HOUSE, 4, 4 ; $DE - mapconst SAFARI_ZONE_WEST_REST_HOUSE, 4, 4 ; $DF - mapconst SAFARI_ZONE_EAST_REST_HOUSE, 4, 4 ; $E0 - mapconst SAFARI_ZONE_NORTH_REST_HOUSE, 4, 4 ; $E1 - mapconst CERULEAN_CAVE_2F, 9, 15 ; $E2 - mapconst CERULEAN_CAVE_B1F, 9, 15 ; $E3 - mapconst CERULEAN_CAVE_1F, 9, 15 ; $E4 - mapconst NAME_RATERS_HOUSE, 4, 4 ; $E5 - mapconst CERULEAN_BADGE_HOUSE, 4, 4 ; $E6 - mapconst UNUSED_MAP_E7, 0, 0 ; $E7 - mapconst ROCK_TUNNEL_B1F, 18, 20 ; $E8 - mapconst SILPH_CO_9F, 9, 13 ; $E9 - mapconst SILPH_CO_10F, 9, 8 ; $EA - mapconst SILPH_CO_11F, 9, 9 ; $EB - mapconst SILPH_CO_ELEVATOR, 2, 2 ; $EC - mapconst UNUSED_MAP_ED, 0, 0 ; $ED - mapconst UNUSED_MAP_EE, 0, 0 ; $EE - mapconst TRADE_CENTER, 4, 5 ; $EF - mapconst COLOSSEUM, 4, 5 ; $F0 - mapconst UNUSED_MAP_F1, 0, 0 ; $F1 - mapconst UNUSED_MAP_F2, 0, 0 ; $F2 - mapconst UNUSED_MAP_F3, 0, 0 ; $F3 - mapconst UNUSED_MAP_F4, 0, 0 ; $F4 - mapconst LORELEIS_ROOM, 6, 5 ; $F5 - mapconst BRUNOS_ROOM, 6, 5 ; $F6 - mapconst AGATHAS_ROOM, 6, 5 ; $F7 + map_const REDS_HOUSE_1F, 4, 4 ; $25 + map_const REDS_HOUSE_2F, 4, 4 ; $26 + map_const BLUES_HOUSE, 4, 4 ; $27 + map_const OAKS_LAB, 5, 6 ; $28 + map_const VIRIDIAN_POKECENTER, 7, 4 ; $29 + map_const VIRIDIAN_MART, 4, 4 ; $2A + map_const VIRIDIAN_SCHOOL_HOUSE, 4, 4 ; $2B + map_const VIRIDIAN_NICKNAME_HOUSE, 4, 4 ; $2C + map_const VIRIDIAN_GYM, 10, 9 ; $2D + map_const DIGLETTS_CAVE_ROUTE_2, 4, 4 ; $2E + map_const VIRIDIAN_FOREST_NORTH_GATE, 5, 4 ; $2F + map_const ROUTE_2_TRADE_HOUSE, 4, 4 ; $30 + map_const ROUTE_2_GATE, 5, 4 ; $31 + map_const VIRIDIAN_FOREST_SOUTH_GATE, 5, 4 ; $32 + map_const VIRIDIAN_FOREST, 17, 24 ; $33 + map_const MUSEUM_1F, 10, 4 ; $34 + map_const MUSEUM_2F, 7, 4 ; $35 + map_const PEWTER_GYM, 5, 7 ; $36 + map_const PEWTER_NIDORAN_HOUSE, 4, 4 ; $37 + map_const PEWTER_MART, 4, 4 ; $38 + map_const PEWTER_SPEECH_HOUSE, 4, 4 ; $39 + map_const PEWTER_POKECENTER, 7, 4 ; $3A + map_const MT_MOON_1F, 20, 18 ; $3B + map_const MT_MOON_B1F, 14, 14 ; $3C + map_const MT_MOON_B2F, 20, 18 ; $3D + map_const CERULEAN_TRASHED_HOUSE, 4, 4 ; $3E + map_const CERULEAN_TRADE_HOUSE, 4, 4 ; $3F + map_const CERULEAN_POKECENTER, 7, 4 ; $40 + map_const CERULEAN_GYM, 5, 7 ; $41 + map_const BIKE_SHOP, 4, 4 ; $42 + map_const CERULEAN_MART, 4, 4 ; $43 + map_const MT_MOON_POKECENTER, 7, 4 ; $44 + map_const CERULEAN_TRASHED_HOUSE_COPY, 4, 4 ; $45 + map_const ROUTE_5_GATE, 4, 3 ; $46 + map_const UNDERGROUND_PATH_ROUTE_5, 4, 4 ; $47 + map_const DAYCARE, 4, 4 ; $48 + map_const ROUTE_6_GATE, 4, 3 ; $49 + map_const UNDERGROUND_PATH_ROUTE_6, 4, 4 ; $4A + map_const UNDERGROUND_PATH_ROUTE_6_COPY, 4, 4 ; $4B + map_const ROUTE_7_GATE, 3, 4 ; $4C + map_const UNDERGROUND_PATH_ROUTE_7, 4, 4 ; $4D + map_const UNDERGROUND_PATH_ROUTE_7_COPY, 4, 4 ; $4E + map_const ROUTE_8_GATE, 3, 4 ; $4F + map_const UNDERGROUND_PATH_ROUTE_8, 4, 4 ; $50 + map_const ROCK_TUNNEL_POKECENTER, 7, 4 ; $51 + map_const ROCK_TUNNEL_1F, 20, 18 ; $52 + map_const POWER_PLANT, 20, 18 ; $53 + map_const ROUTE_11_GATE_1F, 4, 5 ; $54 + map_const DIGLETTS_CAVE_ROUTE_11, 4, 4 ; $55 + map_const ROUTE_11_GATE_2F, 4, 4 ; $56 + map_const ROUTE_12_GATE_1F, 5, 4 ; $57 + map_const BILLS_HOUSE, 4, 4 ; $58 + map_const VERMILION_POKECENTER, 7, 4 ; $59 + map_const POKEMON_FAN_CLUB, 4, 4 ; $5A + map_const VERMILION_MART, 4, 4 ; $5B + map_const VERMILION_GYM, 5, 9 ; $5C + map_const VERMILION_PIDGEY_HOUSE, 4, 4 ; $5D + map_const VERMILION_DOCK, 14, 6 ; $5E + map_const SS_ANNE_1F, 20, 9 ; $5F + map_const SS_ANNE_2F, 20, 9 ; $60 + map_const SS_ANNE_3F, 10, 3 ; $61 + map_const SS_ANNE_B1F, 15, 4 ; $62 + map_const SS_ANNE_BOW, 10, 7 ; $63 + map_const SS_ANNE_KITCHEN, 7, 8 ; $64 + map_const SS_ANNE_CAPTAINS_ROOM, 3, 4 ; $65 + map_const SS_ANNE_1F_ROOMS, 12, 8 ; $66 + map_const SS_ANNE_2F_ROOMS, 12, 8 ; $67 + map_const SS_ANNE_B1F_ROOMS, 12, 8 ; $68 + map_const UNUSED_MAP_69, 0, 0 ; $69 + map_const UNUSED_MAP_6A, 0, 0 ; $6A + map_const UNUSED_MAP_6B, 0, 0 ; $6B + map_const VICTORY_ROAD_1F, 10, 9 ; $6C + map_const UNUSED_MAP_6D, 0, 0 ; $6D + map_const UNUSED_MAP_6E, 0, 0 ; $6E + map_const UNUSED_MAP_6F, 0, 0 ; $6F + map_const UNUSED_MAP_70, 0, 0 ; $70 + map_const LANCES_ROOM, 13, 13 ; $71 + map_const UNUSED_MAP_72, 0, 0 ; $72 + map_const UNUSED_MAP_73, 0, 0 ; $73 + map_const UNUSED_MAP_74, 0, 0 ; $74 + map_const UNUSED_MAP_75, 0, 0 ; $75 + map_const HALL_OF_FAME, 5, 4 ; $76 + map_const UNDERGROUND_PATH_NORTH_SOUTH, 4, 24 ; $77 + map_const CHAMPIONS_ROOM, 4, 4 ; $78 + map_const UNDERGROUND_PATH_WEST_EAST, 25, 4 ; $79 + map_const CELADON_MART_1F, 10, 4 ; $7A + map_const CELADON_MART_2F, 10, 4 ; $7B + map_const CELADON_MART_3F, 10, 4 ; $7C + map_const CELADON_MART_4F, 10, 4 ; $7D + map_const CELADON_MART_ROOF, 10, 4 ; $7E + map_const CELADON_MART_ELEVATOR, 2, 2 ; $7F + map_const CELADON_MANSION_1F, 4, 6 ; $80 + map_const CELADON_MANSION_2F, 4, 6 ; $81 + map_const CELADON_MANSION_3F, 4, 6 ; $82 + map_const CELADON_MANSION_ROOF, 4, 6 ; $83 + map_const CELADON_MANSION_ROOF_HOUSE, 4, 4 ; $84 + map_const CELADON_POKECENTER, 7, 4 ; $85 + map_const CELADON_GYM, 5, 9 ; $86 + map_const GAME_CORNER, 10, 9 ; $87 + map_const CELADON_MART_5F, 10, 4 ; $88 + map_const GAME_CORNER_PRIZE_ROOM, 5, 4 ; $89 + map_const CELADON_DINER, 5, 4 ; $8A + map_const CELADON_CHIEF_HOUSE, 4, 4 ; $8B + map_const CELADON_HOTEL, 7, 4 ; $8C + map_const LAVENDER_POKECENTER, 7, 4 ; $8D + map_const POKEMON_TOWER_1F, 10, 9 ; $8E + map_const POKEMON_TOWER_2F, 10, 9 ; $8F + map_const POKEMON_TOWER_3F, 10, 9 ; $90 + map_const POKEMON_TOWER_4F, 10, 9 ; $91 + map_const POKEMON_TOWER_5F, 10, 9 ; $92 + map_const POKEMON_TOWER_6F, 10, 9 ; $93 + map_const POKEMON_TOWER_7F, 10, 9 ; $94 + map_const MR_FUJIS_HOUSE, 4, 4 ; $95 + map_const LAVENDER_MART, 4, 4 ; $96 + map_const LAVENDER_CUBONE_HOUSE, 4, 4 ; $97 + map_const FUCHSIA_MART, 4, 4 ; $98 + map_const FUCHSIA_BILLS_GRANDPAS_HOUSE, 4, 4 ; $99 + map_const FUCHSIA_POKECENTER, 7, 4 ; $9A + map_const WARDENS_HOUSE, 5, 4 ; $9B + map_const SAFARI_ZONE_GATE, 4, 3 ; $9C + map_const FUCHSIA_GYM, 5, 9 ; $9D + map_const FUCHSIA_MEETING_ROOM, 7, 4 ; $9E + map_const SEAFOAM_ISLANDS_B1F, 15, 9 ; $9F + map_const SEAFOAM_ISLANDS_B2F, 15, 9 ; $A0 + map_const SEAFOAM_ISLANDS_B3F, 15, 9 ; $A1 + map_const SEAFOAM_ISLANDS_B4F, 15, 9 ; $A2 + map_const VERMILION_OLD_ROD_HOUSE, 4, 4 ; $A3 + map_const FUCHSIA_GOOD_ROD_HOUSE, 4, 4 ; $A4 + map_const POKEMON_MANSION_1F, 15, 14 ; $A5 + map_const CINNABAR_GYM, 10, 9 ; $A6 + map_const CINNABAR_LAB, 9, 4 ; $A7 + map_const CINNABAR_LAB_TRADE_ROOM, 4, 4 ; $A8 + map_const CINNABAR_LAB_METRONOME_ROOM, 4, 4 ; $A9 + map_const CINNABAR_LAB_FOSSIL_ROOM, 4, 4 ; $AA + map_const CINNABAR_POKECENTER, 7, 4 ; $AB + map_const CINNABAR_MART, 4, 4 ; $AC + map_const CINNABAR_MART_COPY, 4, 4 ; $AD + map_const INDIGO_PLATEAU_LOBBY, 8, 6 ; $AE + map_const COPYCATS_HOUSE_1F, 4, 4 ; $AF + map_const COPYCATS_HOUSE_2F, 4, 4 ; $B0 + map_const FIGHTING_DOJO, 5, 6 ; $B1 + map_const SAFFRON_GYM, 10, 9 ; $B2 + map_const SAFFRON_PIDGEY_HOUSE, 4, 4 ; $B3 + map_const SAFFRON_MART, 4, 4 ; $B4 + map_const SILPH_CO_1F, 15, 9 ; $B5 + map_const SAFFRON_POKECENTER, 7, 4 ; $B6 + map_const MR_PSYCHICS_HOUSE, 4, 4 ; $B7 + map_const ROUTE_15_GATE_1F, 4, 5 ; $B8 + map_const ROUTE_15_GATE_2F, 4, 4 ; $B9 + map_const ROUTE_16_GATE_1F, 4, 7 ; $BA + map_const ROUTE_16_GATE_2F, 4, 4 ; $BB + map_const ROUTE_16_FLY_HOUSE, 4, 4 ; $BC + map_const ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; $BD + map_const ROUTE_18_GATE_1F, 4, 5 ; $BE + map_const ROUTE_18_GATE_2F, 4, 4 ; $BF + map_const SEAFOAM_ISLANDS_1F, 15, 9 ; $C0 + map_const ROUTE_22_GATE, 5, 4 ; $C1 + map_const VICTORY_ROAD_2F, 15, 9 ; $C2 + map_const ROUTE_12_GATE_2F, 4, 4 ; $C3 + map_const VERMILION_TRADE_HOUSE, 4, 4 ; $C4 + map_const DIGLETTS_CAVE, 20, 18 ; $C5 + map_const VICTORY_ROAD_3F, 15, 9 ; $C6 + map_const ROCKET_HIDEOUT_B1F, 15, 14 ; $C7 + map_const ROCKET_HIDEOUT_B2F, 15, 14 ; $C8 + map_const ROCKET_HIDEOUT_B3F, 15, 14 ; $C9 + map_const ROCKET_HIDEOUT_B4F, 15, 12 ; $CA + map_const ROCKET_HIDEOUT_ELEVATOR, 3, 4 ; $CB + map_const UNUSED_MAP_CC, 0, 0 ; $CC + map_const UNUSED_MAP_CD, 0, 0 ; $CD + map_const UNUSED_MAP_CE, 0, 0 ; $CE + map_const SILPH_CO_2F, 15, 9 ; $CF + map_const SILPH_CO_3F, 15, 9 ; $D0 + map_const SILPH_CO_4F, 15, 9 ; $D1 + map_const SILPH_CO_5F, 15, 9 ; $D2 + map_const SILPH_CO_6F, 13, 9 ; $D3 + map_const SILPH_CO_7F, 13, 9 ; $D4 + map_const SILPH_CO_8F, 13, 9 ; $D5 + map_const POKEMON_MANSION_2F, 15, 14 ; $D6 + map_const POKEMON_MANSION_3F, 15, 9 ; $D7 + map_const POKEMON_MANSION_B1F, 15, 14 ; $D8 + map_const SAFARI_ZONE_EAST, 15, 13 ; $D9 + map_const SAFARI_ZONE_NORTH, 20, 18 ; $DA + map_const SAFARI_ZONE_WEST, 15, 13 ; $DB + map_const SAFARI_ZONE_CENTER, 15, 13 ; $DC + map_const SAFARI_ZONE_CENTER_REST_HOUSE, 4, 4 ; $DD + map_const SAFARI_ZONE_SECRET_HOUSE, 4, 4 ; $DE + map_const SAFARI_ZONE_WEST_REST_HOUSE, 4, 4 ; $DF + map_const SAFARI_ZONE_EAST_REST_HOUSE, 4, 4 ; $E0 + map_const SAFARI_ZONE_NORTH_REST_HOUSE, 4, 4 ; $E1 + map_const CERULEAN_CAVE_2F, 15, 9 ; $E2 + map_const CERULEAN_CAVE_B1F, 15, 9 ; $E3 + map_const CERULEAN_CAVE_1F, 15, 9 ; $E4 + map_const NAME_RATERS_HOUSE, 4, 4 ; $E5 + map_const CERULEAN_BADGE_HOUSE, 4, 4 ; $E6 + map_const UNUSED_MAP_E7, 0, 0 ; $E7 + map_const ROCK_TUNNEL_B1F, 20, 18 ; $E8 + map_const SILPH_CO_9F, 13, 9 ; $E9 + map_const SILPH_CO_10F, 8, 9 ; $EA + map_const SILPH_CO_11F, 9, 9 ; $EB + map_const SILPH_CO_ELEVATOR, 2, 2 ; $EC + map_const UNUSED_MAP_ED, 0, 0 ; $ED + map_const UNUSED_MAP_EE, 0, 0 ; $EE + map_const TRADE_CENTER, 5, 4 ; $EF + map_const COLOSSEUM, 5, 4 ; $F0 + map_const UNUSED_MAP_F1, 0, 0 ; $F1 + map_const UNUSED_MAP_F2, 0, 0 ; $F2 + map_const UNUSED_MAP_F3, 0, 0 ; $F3 + map_const UNUSED_MAP_F4, 0, 0 ; $F4 + map_const LORELEIS_ROOM, 5, 6 ; $F5 + map_const BRUNOS_ROOM, 5, 6 ; $F6 + map_const AGATHAS_ROOM, 5, 6 ; $F7 DEF NUM_MAPS EQU const_value ; Indoor maps, such as houses, use this as the Map ID in their exit warps From cab3ccdbbd661aa75b9861aeaaa11fd0446c8113 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 11 Sep 2022 15:00:31 -0400 Subject: [PATCH 103/119] Comment about UndergroundPathNorthSouth.blk size Fixes #387 --- constants/map_constants.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 644cfab4..dad63579 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -138,7 +138,7 @@ DEF FIRST_INDOOR_MAP EQU const_value map_const UNUSED_MAP_74, 0, 0 ; $74 map_const UNUSED_MAP_75, 0, 0 ; $75 map_const HALL_OF_FAME, 5, 4 ; $76 - map_const UNDERGROUND_PATH_NORTH_SOUTH, 4, 24 ; $77 + map_const UNDERGROUND_PATH_NORTH_SOUTH, 4, 24 ; $77 ; UndergroundPathNorthSouth.blk is actually 4x23 map_const CHAMPIONS_ROOM, 4, 4 ; $78 map_const UNDERGROUND_PATH_WEST_EAST, 25, 4 ; $79 map_const CELADON_MART_1F, 10, 4 ; $7A From d809d3d59c0c1016b89332be7f6f3003efa7a9f9 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 11 Sep 2022 15:02:51 -0400 Subject: [PATCH 104/119] Add `UNUSED_TYPE`/`UNUSED_TYPE_END` constants Fixes #385 --- constants/type_constants.asm | 2 ++ data/types/names.asm | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/constants/type_constants.asm b/constants/type_constants.asm index e9df7faf..8226af1a 100644 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -12,7 +12,9 @@ DEF PHYSICAL EQU const_value const BUG ; $07 const GHOST ; $08 +DEF UNUSED_TYPES EQU const_value const_next 20 +DEF UNUSED_TYPES_END EQU const_value DEF SPECIAL EQU const_value const FIRE ; $14 diff --git a/data/types/names.asm b/data/types/names.asm index b63c072e..87da5c5f 100644 --- a/data/types/names.asm +++ b/data/types/names.asm @@ -11,7 +11,7 @@ TypeNames: dw .Bug dw .Ghost -REPT FIRE - GHOST - 1 +REPT UNUSED_TYPES_END - UNUSED_TYPES dw .Normal ENDR From 3520a4c99a530c7464a7e9e5b956cfcdbe4b28d6 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 15 Sep 2022 18:10:45 -0400 Subject: [PATCH 105/119] Distinguish Elite 4 "meta" constants from event constants Fixes #390 --- constants/event_constants.asm | 6 ++++-- scripts/HallOfFame.asm | 2 +- scripts/IndigoPlateauLobby.asm | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 9e2ebcc6..7bcef25c 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -715,7 +715,8 @@ ; Indigo Plateau events const_next $8E0 - const ELITE4_EVENTS_START +DEF INDIGO_PLATEAU_EVENTS_START EQU const_value + const_skip const EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 const_skip 4 const EVENT_AUTOWALKED_INTO_LORELEIS_ROOM @@ -735,7 +736,8 @@ const_skip const EVENT_BEAT_CHAMPION_RIVAL const_skip 5 - const ELITE4_CHAMPION_EVENTS_END + const_skip +DEF INDIGO_PLATEAU_EVENTS_END EQU const_value - 1 ; Victory Road 1F events const_next $910 diff --git a/scripts/HallOfFame.asm b/scripts/HallOfFame.asm index fd13719b..45cef29c 100644 --- a/scripts/HallOfFame.asm +++ b/scripts/HallOfFame.asm @@ -40,7 +40,7 @@ HallofFameRoomScript2: ld [wLancesRoomCurScript], a ld [wHallOfFameCurScript], a ; Elite 4 events - ResetEventRange ELITE4_EVENTS_START, ELITE4_CHAMPION_EVENTS_END, 1 + ResetEventRange INDIGO_PLATEAU_EVENTS_START, INDIGO_PLATEAU_EVENTS_END, 1 xor a ld [wHallOfFameCurScript], a ld a, PALLET_TOWN diff --git a/scripts/IndigoPlateauLobby.asm b/scripts/IndigoPlateauLobby.asm index a9b549e3..d5c89536 100644 --- a/scripts/IndigoPlateauLobby.asm +++ b/scripts/IndigoPlateauLobby.asm @@ -11,7 +11,7 @@ IndigoPlateauLobby_Script: res 1, [hl] ret z ; Elite 4 events - ResetEventRange ELITE4_EVENTS_START, EVENT_LANCES_ROOM_LOCK_DOOR + ResetEventRange INDIGO_PLATEAU_EVENTS_START, EVENT_LANCES_ROOM_LOCK_DOOR ret IndigoPlateauLobby_TextPointers: From 208ea072375937c7258b4841a23185e82fb563b1 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 18 Sep 2022 23:25:22 -0400 Subject: [PATCH 106/119] Update and add more tool scripts --- tools/free_space.awk | 70 ++ tools/free_space.py | 69 ++ tools/mapreader.py | 173 +++ tools/palfix.py | 77 ++ tools/pic.py | 0 tools/png.py | 2357 +++++++++++++++++++++++++++++++++++++++++ tools/rgb555.py | 38 + tools/sym_comments.py | 52 + tools/toc.py | 99 ++ tools/unique.py | 106 ++ tools/unnamed.py | 197 ++-- tools/used_space.py | 64 ++ 12 files changed, 3207 insertions(+), 95 deletions(-) create mode 100755 tools/free_space.awk create mode 100755 tools/free_space.py create mode 100644 tools/mapreader.py create mode 100755 tools/palfix.py mode change 100644 => 100755 tools/pic.py create mode 100644 tools/png.py create mode 100755 tools/rgb555.py create mode 100755 tools/sym_comments.py create mode 100755 tools/toc.py create mode 100755 tools/unique.py create mode 100755 tools/used_space.py diff --git a/tools/free_space.awk b/tools/free_space.awk new file mode 100755 index 00000000..aa48c3e3 --- /dev/null +++ b/tools/free_space.awk @@ -0,0 +1,70 @@ +#!/usr/bin/gawk -f + +# Usage: tools/free_space.awk [BANK=] pokered.map + +# The BANK argument allows printing free space in one, all, or none of the ROM's banks. +# Valid arguments are numbers (in decimal "42" or hexadecimal "0x2a"), "all" or "none". +# If not specified, defaults to "none". +# The `BANK` argument MUST be before the map file name, otherwise it has no effect! +# Yes: tools/free_space.awk BANK=all pokered.map +# No: tools/free_space.awk pokered.map BANK=42 + +# Copyright (c) 2020, Eldred Habert. +# SPDX-License-Identifier: MIT + +BEGIN { + nb_banks = 0 + free = 0 + rom_bank = 0 # Safety net for malformed files + + # Default settings + # Variables assigned via the command-line (except through `-v`) are *after* `BEGIN` + BANK="none" +} + +# Only accept ROM banks, ignore everything else +toupper($0) ~ /^[ \t]*ROM[0X][ \t]+BANK[ \t]+#/ { + nb_banks++ + rom_bank = 1 + split($0, fields, /[ \t]/) + bank_num = strtonum(substr(fields[3], 2)) +} + +function register_bank(amount) { + free += amount + rom_bank = 0 # Reject upcoming banks by default + + if (BANK ~ /all/ || BANK == bank_num) { + printf "Bank %3d: %5d/16384 (%.2f%%)\n", bank_num, amount, amount * 100 / 16384 + } +} + +rom_bank && toupper($0) ~ /^[ \t]*EMPTY/ { + # Empty bank + register_bank(16384) +} +rom_bank && toupper($0) ~ /^[ \t]*SLACK:[ \t]/ { + if ($2 ~ /\$[0-9A-F]+/) { + register_bank(strtonum("0x" substr($2, 2))) + } else { + printf "Malformed slack line? \"%s\" does not start with '$'\n", $2 + } +} + +END { + # Determine number of banks, by rounding to upper power of 2 + total_banks = 2 # Smallest size is 2 banks + while (total_banks < nb_banks) { + total_banks *= 2 + } + + # RGBLINK omits "trailing" ROM banks, so fake them + bank_num = nb_banks + while (bank_num < total_banks) { + register_bank(16384) + bank_num++ + } + + total = total_banks * 16384 + printf "Free space: %5d/%5d (%.2f%%)\n", free, total, free * 100 / total +} diff --git a/tools/free_space.py b/tools/free_space.py new file mode 100755 index 00000000..3bf7433e --- /dev/null +++ b/tools/free_space.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Usage: python3 free_space.py [BANK=none] [pokered.map] + +Calculate the free space in the ROM or its individual banks. + +The BANK argument allows printing free space in one, all, or none of the ROM's banks. +Valid arguments are numbers (in decimal "42" or hexadecimal "0x2A"), "all" or "none". +If not specified, defaults to "none". +""" + +import sys + +from mapreader import MapReader + +def main(): + print_bank = 'none' + filename = 'pokered.map' + + for arg in sys.argv[1:]: + if arg.startswith('BANK='): + print_bank = arg.split('=', 1)[-1] + else: + filename = arg + + if print_bank not in {'all', 'none'}: + try: + print_bank = (int(print_bank[2:], 16) + if print_bank.startswith('0x') or print_bank.startswith('0X') + else int(print_bank)) + except ValueError: + error = f'Error: invalid BANK: {print_bank}' + if print_bank.isalnum(): + error += f' (did you mean: 0x{print_bank}?)' + print(error, file=sys.stderr) + sys.exit(1) + + num_banks = 0x80 + bank_size = 0x4000 # bytes + total_size = num_banks * bank_size + + reader = MapReader() + with open(filename, 'r', encoding='utf-8') as file: + reader.read_map_data(file.readlines()) + + free_space = 0 + per_bank = [] + default_bank_data = {'sections': [], 'used': 0, 'slack': bank_size} + for bank in range(num_banks): + bank_data = reader.bank_data['ROM0 bank' if bank == 0 else 'ROMX bank'] + data = bank_data.get(bank, default_bank_data) + used, slack = data['used'], data['slack'] + per_bank.append((used, slack)) + free_space += slack + + free_percent = 100 * free_space / total_size + print(f'Free space: {free_space}/{total_size} ({free_percent:.2f}%)') + if print_bank != 'none': + print() + print('bank, used, free') + for bank in range(num_banks): + used, slack = per_bank[bank] + if print_bank in {'all', bank}: + print(f'${bank:02X}, {used}, {slack}') + +if __name__ == '__main__': + main() diff --git a/tools/mapreader.py b/tools/mapreader.py new file mode 100644 index 00000000..0ab2739a --- /dev/null +++ b/tools/mapreader.py @@ -0,0 +1,173 @@ +# -*- coding: utf-8 -*- + +# A library for parsing the pokered.map file output by rgbds. + +import re + +class MapReader: + + # {'ROM Bank': { 0: { 'sections': [ { 'beg': 1234, + # 'end': 5678, + # 'name': 'Section001', + # 'symbols': [ { 'symbol': 'Function1234', + # 'address: 1234, + # }, + # ] + # }, + # ], + # 'used': 1234, + # 'slack': 4567, + # }, + # }, + # 'OAM': { 'sections': [ { 'beg': 1234, + # 'end': 5678, + # 'name': 'Section002', + # 'symbols': [ { 'symbol': 'Data1234', + # 'address: 1234, + # }, + # ] + # }, + # ], + # 'used': 1234, + # 'slack': 4567, + # }, + # } + # + bank_data = {} + + bank_types = { + 'HRAM' : { 'size': 0x80, 'banked': False, }, + 'OAM' : { 'size': 0xA0, 'banked': False, }, + 'ROM0 bank': { 'size': 0x4000, 'banked': True, }, + 'ROMX bank': { 'size': 0x4000, 'banked': True, }, + 'SRAM bank': { 'size': 0x2000, 'banked': True, }, + 'VRAM bank': { 'size': 0x1000, 'banked': True, }, + 'WRAM bank': { 'size': 0x2000, 'banked': True, }, + } + + # FSM states + INIT, BANK, SECTION = range(3) + + # $506D-$519A ($012E bytes) ["Type Matchups"] + section_header_regex = re.compile('\$([0-9A-Fa-f]{4})-\$([0-9A-Fa-f]{4}) \(.*\) \["(.*)"\]') + # $506D = TypeMatchups + section_data_regex = re.compile('\$([0-9A-Fa-f]{4}) = (.*)') + # $3ED2 bytes + slack_regex = re.compile('\$([0-9A-Fa-f]{4}) bytes?') + + def __init__(self, *args, **kwargs): + self.__dict__.update(kwargs) + + def _parse_init(self, line): + + line = line.split(':', 1)[0] + parts = line.split(' #', 1) + + if (parts[0] in self.bank_types): + self._cur_bank_name = parts[0] + self._cur_bank_type = self.bank_types[self._cur_bank_name] + if (self._cur_bank_type['banked'] and len(parts) > 1): + parts[1] = parts[1].split(':', 1)[0] + parts[1] = parts[1].split(' ', 1)[0] + self._cur_bank = int(parts[1], 10) + if self._cur_bank_name not in self.bank_data: + self.bank_data[self._cur_bank_name] = {} + if self._cur_bank_type['banked']: + if self._cur_bank not in self.bank_data[self._cur_bank_name]: + self.bank_data[self._cur_bank_name][self._cur_bank] = {} + self._cur_data = self.bank_data[self._cur_bank_name][self._cur_bank] + else: + self._cur_data = self.bank_data[self._cur_bank_name] + + if ({} == self._cur_data): + self._cur_data['sections'] = [] + self._cur_data['used'] = 0 + self._cur_data['slack'] = self._cur_bank_type['size'] + return True + + return False + + def _parse_section_header(self, header): + + section_data = self.section_header_regex.match(header) + if section_data is not None: + beg = int(section_data.group(1), 16) + end = int(section_data.group(2), 16) + name = section_data.group(3) + self._cur_section = {'beg': beg, 'end': end, 'name': name, 'symbols': []} + self._cur_data['sections'].append(self._cur_section) + return True + return False + + def _parse_slack(self, data): + + slack_data = self.slack_regex.match(data) + slack_bytes = int(slack_data.group(1), 16) + self._cur_data['slack'] = slack_bytes + + used_bytes = 0 + + for s in self._cur_data['sections']: + used_bytes += s['end'] - s['beg'] + 1 + + self._cur_data['used'] = used_bytes + + def read_map_data(self, map): + + if type(map) is str: + map = map.split('\n') + + self._state = MapReader.INIT + self._cur_bank_name = '' + self._cur_bank_type = {} + self._cur_bank = 0 + self._cur_data = {} + + for line in map: + + line = line.rstrip() + if (MapReader.INIT == self._state): + + if (self._parse_init(line)): + self._state = MapReader.BANK + + elif (MapReader.BANK == self._state or MapReader.SECTION == self._state): + + if ('' == line): + self._state = MapReader.INIT + else: + + line = line.lstrip() + parts = line.split(': ', 1) + + if (MapReader.SECTION == self._state): + section_data = self.section_data_regex.match(parts[0]) + if section_data is not None: + address = int(section_data.group(1), 16) + name = section_data.group(2) + self._cur_section['symbols'].append({'name': name, 'address': address}) + continue + + if ('SECTION' == parts[0]): + if (self._parse_section_header(parts[1])): + self._state = MapReader.SECTION + elif ('SLACK' == parts[0]): + self._parse_slack(parts[1]) + self._state = MapReader.INIT + elif ('EMPTY' == parts[0]): + self._cur_data = {'sections': [], 'used': 0, 'slack': self._cur_bank_type['size']} + self._state = MapReader.INIT + + else: + pass + + for k, v in self.bank_data.items(): + if (self.bank_types[k]['banked']): + for _, vv in v.items(): + vv['sections'].sort(key=lambda x: x['beg']) + for vvv in vv['sections']: + vvv['symbols'].sort(key=lambda x: x['address']) + else: + v['sections'].sort(key=lambda x: x['beg']) + for vv in v['sections']: + vv['symbols'].sort(key=lambda x: x['address']) diff --git a/tools/palfix.py b/tools/palfix.py new file mode 100755 index 00000000..e7841958 --- /dev/null +++ b/tools/palfix.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Usage: python palfix.py image.png + +Fix the palette format of the input image. Colored images (Gen 2 Pokémon or +trainer sprites) will become indexed, with a palette sorted {white, light +color, dark color, black}. Grayscale images (all Gen 1 images) will become +two-bit grayscale. +""" + +import sys + +import png + +def rgb8_to_rgb5(c): + r, g, b = c + return (r // 8, g // 8, b // 8) + +def rgb5_to_rgb8(c): + r, g, b = c + return (r * 8 + r // 4, g * 8 + g // 4, b * 8 + b // 4) + +def invert(c): + r, g, b = c + return (31 - r, 31 - g, 31 - b) + +def luminance(c): + r, g, b = c + return 0.299 * r**2 + 0.587 * g**2 + 0.114 * b**2 + +def rgb5_pixels(row): + yield from (rgb8_to_rgb5(row[x:x+3]) for x in range(0, len(row), 4)) + +def is_grayscale(palette): + return (palette == ((31, 31, 31), (21, 21, 21), (10, 10, 10), (0, 0, 0)) or + palette == ((31, 31, 31), (20, 20, 20), (10, 10, 10), (0, 0, 0))) + +def fix_pal(filename): + with open(filename, 'rb') as file: + width, height, rows = png.Reader(file).asRGBA8()[:3] + rows = list(rows) + b_and_w = {(0, 0, 0), (31, 31, 31)} + colors = {c for row in rows for c in rgb5_pixels(row)} - b_and_w + if not colors: + colors = {(21, 21, 21), (10, 10, 10)} + elif len(colors) == 1: + c = colors.pop() + colors = {c, invert(c)} + elif len(colors) != 2: + return False + palette = tuple(sorted(colors | b_and_w, key=luminance, reverse=True)) + assert len(palette) == 4 + rows = [list(map(palette.index, rgb5_pixels(row))) for row in rows] + if is_grayscale(palette): + rows = [[3 - c for c in row] for row in rows] + writer = png.Writer(width, height, greyscale=True, bitdepth=2, compression=9) + else: + palette = tuple(map(rgb5_to_rgb8, palette)) + writer = png.Writer(width, height, palette=palette, bitdepth=8, compression=9) + with open(filename, 'wb') as file: + writer.write(file, rows) + return True + +def main(): + if len(sys.argv) < 2: + print(f'Usage: {sys.argv[0]} pic.png', file=sys.stderr) + sys.exit(1) + for filename in sys.argv[1:]: + if not filename.lower().endswith('.png'): + print(f'{filename} is not a .png file!', file=sys.stderr) + elif not fix_pal(filename): + print(f'{filename} has too many colors!', file=sys.stderr) + +if __name__ == '__main__': + main() diff --git a/tools/pic.py b/tools/pic.py old mode 100644 new mode 100755 diff --git a/tools/png.py b/tools/png.py new file mode 100644 index 00000000..dd9746bf --- /dev/null +++ b/tools/png.py @@ -0,0 +1,2357 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +# png.py - PNG encoder/decoder in pure Python +# +# Copyright (C) 2006 Johann C. Rocholl +# Portions Copyright (C) 2009 David Jones +# And probably portions Copyright (C) 2006 Nicko van Someren +# +# Original concept by Johann C. Rocholl. +# +# LICENCE (MIT) +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation files +# (the "Software"), to deal in the Software without restriction, +# including without limitation the rights to use, copy, modify, merge, +# publish, distribute, sublicense, and/or sell copies of the Software, +# and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +""" +The ``png`` module can read and write PNG files. + +Installation and Overview +------------------------- + +``pip install pypng`` + +For help, type ``import png; help(png)`` in your python interpreter. + +A good place to start is the :class:`Reader` and :class:`Writer` classes. + +Coverage of PNG formats is fairly complete; +all allowable bit depths (1/2/4/8/16/24/32/48/64 bits per pixel) and +colour combinations are supported: + +- greyscale (1/2/4/8/16 bit); +- RGB, RGBA, LA (greyscale with alpha) with 8/16 bits per channel; +- colour mapped images (1/2/4/8 bit). + +Interlaced images, +which support a progressive display when downloading, +are supported for both reading and writing. + +A number of optional chunks can be specified (when writing) +and understood (when reading): ``tRNS``, ``bKGD``, ``gAMA``. + +The ``sBIT`` chunk can be used to specify precision for +non-native bit depths. + +Requires Python 3.5 or higher. +Installation is trivial, +but see the ``README.txt`` file (with the source distribution) for details. + +Full use of all features will need some reading of the PNG specification +http://www.w3.org/TR/2003/REC-PNG-20031110/. + +The package also comes with command line utilities. + +- ``pripamtopng`` converts + `Netpbm `_ PAM/PNM files to PNG; +- ``pripngtopam`` converts PNG to file PAM/PNM. + +There are a few more for simple PNG manipulations. + +Spelling and Terminology +------------------------ + +Generally British English spelling is used in the documentation. +So that's "greyscale" and "colour". +This not only matches the author's native language, +it's also used by the PNG specification. + +Colour Models +------------- + +The major colour models supported by PNG (and hence by PyPNG) are: + +- greyscale; +- greyscale--alpha; +- RGB; +- RGB--alpha. + +Also referred to using the abbreviations: L, LA, RGB, RGBA. +Each letter codes a single channel: +*L* is for Luminance or Luma or Lightness (greyscale images); +*A* stands for Alpha, the opacity channel +(used for transparency effects, but higher values are more opaque, +so it makes sense to call it opacity); +*R*, *G*, *B* stand for Red, Green, Blue (colour image). + +Lists, arrays, sequences, and so on +----------------------------------- + +When getting pixel data out of this module (reading) and +presenting data to this module (writing) there are +a number of ways the data could be represented as a Python value. + +The preferred format is a sequence of *rows*, +which each row being a sequence of *values*. +In this format, the values are in pixel order, +with all the values from all the pixels in a row +being concatenated into a single sequence for that row. + +Consider an image that is 3 pixels wide by 2 pixels high, and each pixel +has RGB components: + +Sequence of rows:: + + list([R,G,B, R,G,B, R,G,B], + [R,G,B, R,G,B, R,G,B]) + +Each row appears as its own list, +but the pixels are flattened so that three values for one pixel +simply follow the three values for the previous pixel. + +This is the preferred because +it provides a good compromise between space and convenience. +PyPNG regards itself as at liberty to replace any sequence type with +any sufficiently compatible other sequence type; +in practice each row is an array (``bytearray`` or ``array.array``). + +To allow streaming the outer list is sometimes +an iterator rather than an explicit list. + +An alternative format is a single array holding all the values. + +Array of values:: + + [R,G,B, R,G,B, R,G,B, + R,G,B, R,G,B, R,G,B] + +The entire image is one single giant sequence of colour values. +Generally an array will be used (to save space), not a list. + +The top row comes first, +and within each row the pixels are ordered from left-to-right. +Within a pixel the values appear in the order R-G-B-A +(or L-A for greyscale--alpha). + +There is another format, which should only be used with caution. +It is mentioned because it is used internally, +is close to what lies inside a PNG file itself, +and has some support from the public API. +This format is called *packed*. +When packed, each row is a sequence of bytes (integers from 0 to 255), +just as it is before PNG scanline filtering is applied. +When the bit depth is 8 this is the same as a sequence of rows; +when the bit depth is less than 8 (1, 2 and 4), +several pixels are packed into each byte; +when the bit depth is 16 each pixel value is decomposed into 2 bytes +(and `packed` is a misnomer). +This format is used by the :meth:`Writer.write_packed` method. +It isn't usually a convenient format, +but may be just right if the source data for +the PNG image comes from something that uses a similar format +(for example, 1-bit BMPs, or another PNG file). +""" + +__version__ = "0.0.21" + +import collections +import io # For io.BytesIO +import itertools +import math +# http://www.python.org/doc/2.4.4/lib/module-operator.html +import operator +import re +import struct +import sys +# http://www.python.org/doc/2.4.4/lib/module-warnings.html +import warnings +import zlib + +from array import array + + +__all__ = ['Image', 'Reader', 'Writer', 'write_chunks', 'from_array'] + + +# The PNG signature. +# http://www.w3.org/TR/PNG/#5PNG-file-signature +signature = struct.pack('8B', 137, 80, 78, 71, 13, 10, 26, 10) + +# The xstart, ystart, xstep, ystep for the Adam7 interlace passes. +adam7 = ((0, 0, 8, 8), + (4, 0, 8, 8), + (0, 4, 4, 8), + (2, 0, 4, 4), + (0, 2, 2, 4), + (1, 0, 2, 2), + (0, 1, 1, 2)) + + +def adam7_generate(width, height): + """ + Generate the coordinates for the reduced scanlines + of an Adam7 interlaced image + of size `width` by `height` pixels. + + Yields a generator for each pass, + and each pass generator yields a series of (x, y, xstep) triples, + each one identifying a reduced scanline consisting of + pixels starting at (x, y) and taking every xstep pixel to the right. + """ + + for xstart, ystart, xstep, ystep in adam7: + if xstart >= width: + continue + yield ((xstart, y, xstep) for y in range(ystart, height, ystep)) + + +# Models the 'pHYs' chunk (used by the Reader) +Resolution = collections.namedtuple('_Resolution', 'x y unit_is_meter') + + +def group(s, n): + return list(zip(* [iter(s)] * n)) + + +def isarray(x): + return isinstance(x, array) + + +def check_palette(palette): + """ + Check a palette argument (to the :class:`Writer` class) for validity. + Returns the palette as a list if okay; + raises an exception otherwise. + """ + + # None is the default and is allowed. + if palette is None: + return None + + p = list(palette) + if not (0 < len(p) <= 256): + raise ProtocolError( + "a palette must have between 1 and 256 entries," + " see https://www.w3.org/TR/PNG/#11PLTE") + seen_triple = False + for i, t in enumerate(p): + if len(t) not in (3, 4): + raise ProtocolError( + "palette entry %d: entries must be 3- or 4-tuples." % i) + if len(t) == 3: + seen_triple = True + if seen_triple and len(t) == 4: + raise ProtocolError( + "palette entry %d: all 4-tuples must precede all 3-tuples" % i) + for x in t: + if int(x) != x or not(0 <= x <= 255): + raise ProtocolError( + "palette entry %d: " + "values must be integer: 0 <= x <= 255" % i) + return p + + +def check_sizes(size, width, height): + """ + Check that these arguments, if supplied, are consistent. + Return a (width, height) pair. + """ + + if not size: + return width, height + + if len(size) != 2: + raise ProtocolError( + "size argument should be a pair (width, height)") + if width is not None and width != size[0]: + raise ProtocolError( + "size[0] (%r) and width (%r) should match when both are used." + % (size[0], width)) + if height is not None and height != size[1]: + raise ProtocolError( + "size[1] (%r) and height (%r) should match when both are used." + % (size[1], height)) + return size + + +def check_color(c, greyscale, which): + """ + Checks that a colour argument for transparent or background options + is the right form. + Returns the colour + (which, if it's a bare integer, is "corrected" to a 1-tuple). + """ + + if c is None: + return c + if greyscale: + try: + len(c) + except TypeError: + c = (c,) + if len(c) != 1: + raise ProtocolError("%s for greyscale must be 1-tuple" % which) + if not is_natural(c[0]): + raise ProtocolError( + "%s colour for greyscale must be integer" % which) + else: + if not (len(c) == 3 and + is_natural(c[0]) and + is_natural(c[1]) and + is_natural(c[2])): + raise ProtocolError( + "%s colour must be a triple of integers" % which) + return c + + +class Error(Exception): + def __str__(self): + return self.__class__.__name__ + ': ' + ' '.join(self.args) + + +class FormatError(Error): + """ + Problem with input file format. + In other words, PNG file does not conform to + the specification in some way and is invalid. + """ + + +class ProtocolError(Error): + """ + Problem with the way the programming interface has been used, + or the data presented to it. + """ + + +class ChunkError(FormatError): + pass + + +class Default: + """The default for the greyscale parameter.""" + + +class Writer: + """ + PNG encoder in pure Python. + """ + + def __init__(self, width=None, height=None, + size=None, + greyscale=Default, + alpha=False, + bitdepth=8, + palette=None, + transparent=None, + background=None, + gamma=None, + compression=None, + interlace=False, + planes=None, + colormap=None, + maxval=None, + chunk_limit=2**20, + x_pixels_per_unit=None, + y_pixels_per_unit=None, + unit_is_meter=False): + """ + Create a PNG encoder object. + + Arguments: + + width, height + Image size in pixels, as two separate arguments. + size + Image size (w,h) in pixels, as single argument. + greyscale + Pixels are greyscale, not RGB. + alpha + Input data has alpha channel (RGBA or LA). + bitdepth + Bit depth: from 1 to 16 (for each channel). + palette + Create a palette for a colour mapped image (colour type 3). + transparent + Specify a transparent colour (create a ``tRNS`` chunk). + background + Specify a default background colour (create a ``bKGD`` chunk). + gamma + Specify a gamma value (create a ``gAMA`` chunk). + compression + zlib compression level: 0 (none) to 9 (more compressed); + default: -1 or None. + interlace + Create an interlaced image. + chunk_limit + Write multiple ``IDAT`` chunks to save memory. + x_pixels_per_unit + Number of pixels a unit along the x axis (write a + `pHYs` chunk). + y_pixels_per_unit + Number of pixels a unit along the y axis (write a + `pHYs` chunk). Along with `x_pixel_unit`, this gives + the pixel size ratio. + unit_is_meter + `True` to indicate that the unit (for the `pHYs` + chunk) is metre. + + The image size (in pixels) can be specified either by using the + `width` and `height` arguments, or with the single `size` + argument. + If `size` is used it should be a pair (*width*, *height*). + + The `greyscale` argument indicates whether input pixels + are greyscale (when true), or colour (when false). + The default is true unless `palette=` is used. + + The `alpha` argument (a boolean) specifies + whether input pixels have an alpha channel (or not). + + `bitdepth` specifies the bit depth of the source pixel values. + Each channel may have a different bit depth. + Each source pixel must have values that are + an integer between 0 and ``2**bitdepth-1``, where + `bitdepth` is the bit depth for the corresponding channel. + For example, 8-bit images have values between 0 and 255. + PNG only stores images with bit depths of + 1,2,4,8, or 16 (the same for all channels). + When `bitdepth` is not one of these values or where + channels have different bit depths, + the next highest valid bit depth is selected, + and an ``sBIT`` (significant bits) chunk is generated + that specifies the original precision of the source image. + In this case the supplied pixel values will be rescaled to + fit the range of the selected bit depth. + + The PNG file format supports many bit depth / colour model + combinations, but not all. + The details are somewhat arcane + (refer to the PNG specification for full details). + Briefly: + Bit depths < 8 (1,2,4) are only allowed with greyscale and + colour mapped images; + colour mapped images cannot have bit depth 16. + + For colour mapped images + (in other words, when the `palette` argument is specified) + the `bitdepth` argument must match one of + the valid PNG bit depths: 1, 2, 4, or 8. + (It is valid to have a PNG image with a palette and + an ``sBIT`` chunk, but the meaning is slightly different; + it would be awkward to use the `bitdepth` argument for this.) + + The `palette` option, when specified, + causes a colour mapped image to be created: + the PNG colour type is set to 3; + `greyscale` must not be true; `alpha` must not be true; + `transparent` must not be set. + The bit depth must be 1,2,4, or 8. + When a colour mapped image is created, + the pixel values are palette indexes and + the `bitdepth` argument specifies the size of these indexes + (not the size of the colour values in the palette). + + The palette argument value should be a sequence of 3- or + 4-tuples. + 3-tuples specify RGB palette entries; + 4-tuples specify RGBA palette entries. + All the 4-tuples (if present) must come before all the 3-tuples. + A ``PLTE`` chunk is created; + if there are 4-tuples then a ``tRNS`` chunk is created as well. + The ``PLTE`` chunk will contain all the RGB triples in the same + sequence; + the ``tRNS`` chunk will contain the alpha channel for + all the 4-tuples, in the same sequence. + Palette entries are always 8-bit. + + If specified, the `transparent` and `background` parameters must be + a tuple with one element for each channel in the image. + Either a 3-tuple of integer (RGB) values for a colour image, or + a 1-tuple of a single integer for a greyscale image. + + If specified, the `gamma` parameter must be a positive number + (generally, a `float`). + A ``gAMA`` chunk will be created. + Note that this will not change the values of the pixels as + they appear in the PNG file, + they are assumed to have already + been converted appropriately for the gamma specified. + + The `compression` argument specifies the compression level to + be used by the ``zlib`` module. + Values from 1 to 9 (highest) specify compression. + 0 means no compression. + -1 and ``None`` both mean that the ``zlib`` module uses + the default level of compression (which is generally acceptable). + + If `interlace` is true then an interlaced image is created + (using PNG's so far only interlace method, *Adam7*). + This does not affect how the pixels should be passed in, + rather it changes how they are arranged into the PNG file. + On slow connexions interlaced images can be + partially decoded by the browser to give + a rough view of the image that is + successively refined as more image data appears. + + .. note :: + + Enabling the `interlace` option requires the entire image + to be processed in working memory. + + `chunk_limit` is used to limit the amount of memory used whilst + compressing the image. + In order to avoid using large amounts of memory, + multiple ``IDAT`` chunks may be created. + """ + + # At the moment the `planes` argument is ignored; + # its purpose is to act as a dummy so that + # ``Writer(x, y, **info)`` works, where `info` is a dictionary + # returned by Reader.read and friends. + # Ditto for `colormap`. + + width, height = check_sizes(size, width, height) + del size + + if not is_natural(width) or not is_natural(height): + raise ProtocolError("width and height must be integers") + if width <= 0 or height <= 0: + raise ProtocolError("width and height must be greater than zero") + # http://www.w3.org/TR/PNG/#7Integers-and-byte-order + if width > 2 ** 31 - 1 or height > 2 ** 31 - 1: + raise ProtocolError("width and height cannot exceed 2**31-1") + + if alpha and transparent is not None: + raise ProtocolError( + "transparent colour not allowed with alpha channel") + + # bitdepth is either single integer, or tuple of integers. + # Convert to tuple. + try: + len(bitdepth) + except TypeError: + bitdepth = (bitdepth, ) + for b in bitdepth: + valid = is_natural(b) and 1 <= b <= 16 + if not valid: + raise ProtocolError( + "each bitdepth %r must be a positive integer <= 16" % + (bitdepth,)) + + # Calculate channels, and + # expand bitdepth to be one element per channel. + palette = check_palette(palette) + alpha = bool(alpha) + colormap = bool(palette) + if greyscale is Default and palette: + greyscale = False + greyscale = bool(greyscale) + if colormap: + color_planes = 1 + planes = 1 + else: + color_planes = (3, 1)[greyscale] + planes = color_planes + alpha + if len(bitdepth) == 1: + bitdepth *= planes + + bitdepth, self.rescale = check_bitdepth_rescale( + palette, + bitdepth, + transparent, alpha, greyscale) + + # These are assertions, because above logic should have + # corrected or raised all problematic cases. + if bitdepth < 8: + assert greyscale or palette + assert not alpha + if bitdepth > 8: + assert not palette + + transparent = check_color(transparent, greyscale, 'transparent') + background = check_color(background, greyscale, 'background') + + # It's important that the true boolean values + # (greyscale, alpha, colormap, interlace) are converted + # to bool because Iverson's convention is relied upon later on. + self.width = width + self.height = height + self.transparent = transparent + self.background = background + self.gamma = gamma + self.greyscale = greyscale + self.alpha = alpha + self.colormap = colormap + self.bitdepth = int(bitdepth) + self.compression = compression + self.chunk_limit = chunk_limit + self.interlace = bool(interlace) + self.palette = palette + self.x_pixels_per_unit = x_pixels_per_unit + self.y_pixels_per_unit = y_pixels_per_unit + self.unit_is_meter = bool(unit_is_meter) + + self.color_type = (4 * self.alpha + + 2 * (not greyscale) + + 1 * self.colormap) + assert self.color_type in (0, 2, 3, 4, 6) + + self.color_planes = color_planes + self.planes = planes + # :todo: fix for bitdepth < 8 + self.psize = (self.bitdepth / 8) * self.planes + + def write(self, outfile, rows): + """ + Write a PNG image to the output file. + `rows` should be an iterable that yields each row + (each row is a sequence of values). + The rows should be the rows of the original image, + so there should be ``self.height`` rows of + ``self.width * self.planes`` values. + If `interlace` is specified (when creating the instance), + then an interlaced PNG file will be written. + Supply the rows in the normal image order; + the interlacing is carried out internally. + + .. note :: + + Interlacing requires the entire image to be in working memory. + """ + + # Values per row + vpr = self.width * self.planes + + def check_rows(rows): + """ + Yield each row in rows, + but check each row first (for correct width). + """ + for i, row in enumerate(rows): + try: + wrong_length = len(row) != vpr + except TypeError: + # When using an itertools.ichain object or + # other generator not supporting __len__, + # we set this to False to skip the check. + wrong_length = False + if wrong_length: + # Note: row numbers start at 0. + raise ProtocolError( + "Expected %d values but got %d values, in row %d" % + (vpr, len(row), i)) + yield row + + if self.interlace: + fmt = 'BH'[self.bitdepth > 8] + a = array(fmt, itertools.chain(*check_rows(rows))) + return self.write_array(outfile, a) + + nrows = self.write_passes(outfile, check_rows(rows)) + if nrows != self.height: + raise ProtocolError( + "rows supplied (%d) does not match height (%d)" % + (nrows, self.height)) + return nrows + + def write_passes(self, outfile, rows): + """ + Write a PNG image to the output file. + + Most users are expected to find the :meth:`write` or + :meth:`write_array` method more convenient. + + The rows should be given to this method in the order that + they appear in the output file. + For straightlaced images, this is the usual top to bottom ordering. + For interlaced images the rows should have been interlaced before + passing them to this function. + + `rows` should be an iterable that yields each row + (each row being a sequence of values). + """ + + # Ensure rows are scaled (to 4-/8-/16-bit), + # and packed into bytes. + + if self.rescale: + rows = rescale_rows(rows, self.rescale) + + if self.bitdepth < 8: + rows = pack_rows(rows, self.bitdepth) + elif self.bitdepth == 16: + rows = unpack_rows(rows) + + return self.write_packed(outfile, rows) + + def write_packed(self, outfile, rows): + """ + Write PNG file to `outfile`. + `rows` should be an iterator that yields each packed row; + a packed row being a sequence of packed bytes. + + The rows have a filter byte prefixed and + are then compressed into one or more IDAT chunks. + They are not processed any further, + so if bitdepth is other than 1, 2, 4, 8, 16, + the pixel values should have been scaled + before passing them to this method. + + This method does work for interlaced images but it is best avoided. + For interlaced images, the rows should be + presented in the order that they appear in the file. + """ + + self.write_preamble(outfile) + + # http://www.w3.org/TR/PNG/#11IDAT + if self.compression is not None: + compressor = zlib.compressobj(self.compression) + else: + compressor = zlib.compressobj() + + # data accumulates bytes to be compressed for the IDAT chunk; + # it's compressed when sufficiently large. + data = bytearray() + + # raise i scope out of the for loop. set to -1, because the for loop + # sets i to 0 on the first pass + i = -1 + for i, row in enumerate(rows): + # Add "None" filter type. + # Currently, it's essential that this filter type be used + # for every scanline as + # we do not mark the first row of a reduced pass image; + # that means we could accidentally compute + # the wrong filtered scanline if we used + # "up", "average", or "paeth" on such a line. + data.append(0) + data.extend(row) + if len(data) > self.chunk_limit: + compressed = compressor.compress(data) + if len(compressed): + write_chunk(outfile, b'IDAT', compressed) + data = bytearray() + + compressed = compressor.compress(bytes(data)) + flushed = compressor.flush() + if len(compressed) or len(flushed): + write_chunk(outfile, b'IDAT', compressed + flushed) + # http://www.w3.org/TR/PNG/#11IEND + write_chunk(outfile, b'IEND') + return i + 1 + + def write_preamble(self, outfile): + # http://www.w3.org/TR/PNG/#5PNG-file-signature + outfile.write(signature) + + # http://www.w3.org/TR/PNG/#11IHDR + write_chunk(outfile, b'IHDR', + struct.pack("!2I5B", self.width, self.height, + self.bitdepth, self.color_type, + 0, 0, self.interlace)) + + # See :chunk:order + # http://www.w3.org/TR/PNG/#11gAMA + if self.gamma is not None: + write_chunk(outfile, b'gAMA', + struct.pack("!L", int(round(self.gamma * 1e5)))) + + # See :chunk:order + # http://www.w3.org/TR/PNG/#11sBIT + if self.rescale: + write_chunk( + outfile, b'sBIT', + struct.pack('%dB' % self.planes, + * [s[0] for s in self.rescale])) + + # :chunk:order: Without a palette (PLTE chunk), + # ordering is relatively relaxed. + # With one, gAMA chunk must precede PLTE chunk + # which must precede tRNS and bKGD. + # See http://www.w3.org/TR/PNG/#5ChunkOrdering + if self.palette: + p, t = make_palette_chunks(self.palette) + write_chunk(outfile, b'PLTE', p) + if t: + # tRNS chunk is optional; + # Only needed if palette entries have alpha. + write_chunk(outfile, b'tRNS', t) + + # http://www.w3.org/TR/PNG/#11tRNS + if self.transparent is not None: + if self.greyscale: + fmt = "!1H" + else: + fmt = "!3H" + write_chunk(outfile, b'tRNS', + struct.pack(fmt, *self.transparent)) + + # http://www.w3.org/TR/PNG/#11bKGD + if self.background is not None: + if self.greyscale: + fmt = "!1H" + else: + fmt = "!3H" + write_chunk(outfile, b'bKGD', + struct.pack(fmt, *self.background)) + + # http://www.w3.org/TR/PNG/#11pHYs + if (self.x_pixels_per_unit is not None and + self.y_pixels_per_unit is not None): + tup = (self.x_pixels_per_unit, + self.y_pixels_per_unit, + int(self.unit_is_meter)) + write_chunk(outfile, b'pHYs', struct.pack("!LLB", *tup)) + + def write_array(self, outfile, pixels): + """ + Write an array that holds all the image values + as a PNG file on the output file. + See also :meth:`write` method. + """ + + if self.interlace: + if type(pixels) != array: + # Coerce to array type + fmt = 'BH'[self.bitdepth > 8] + pixels = array(fmt, pixels) + return self.write_passes( + outfile, + self.array_scanlines_interlace(pixels) + ) + else: + return self.write_passes( + outfile, + self.array_scanlines(pixels) + ) + + def array_scanlines(self, pixels): + """ + Generates rows (each a sequence of values) from + a single array of values. + """ + + # Values per row + vpr = self.width * self.planes + stop = 0 + for y in range(self.height): + start = stop + stop = start + vpr + yield pixels[start:stop] + + def array_scanlines_interlace(self, pixels): + """ + Generator for interlaced scanlines from an array. + `pixels` is the full source image as a single array of values. + The generator yields each scanline of the reduced passes in turn, + each scanline being a sequence of values. + """ + + # http://www.w3.org/TR/PNG/#8InterlaceMethods + # Array type. + fmt = 'BH'[self.bitdepth > 8] + # Value per row + vpr = self.width * self.planes + + # Each iteration generates a scanline starting at (x, y) + # and consisting of every xstep pixels. + for lines in adam7_generate(self.width, self.height): + for x, y, xstep in lines: + # Pixels per row (of reduced image) + ppr = int(math.ceil((self.width - x) / float(xstep))) + # Values per row (of reduced image) + reduced_row_len = ppr * self.planes + if xstep == 1: + # Easy case: line is a simple slice. + offset = y * vpr + yield pixels[offset: offset + vpr] + continue + # We have to step by xstep, + # which we can do one plane at a time + # using the step in Python slices. + row = array(fmt) + # There's no easier way to set the length of an array + row.extend(pixels[0:reduced_row_len]) + offset = y * vpr + x * self.planes + end_offset = (y + 1) * vpr + skip = self.planes * xstep + for i in range(self.planes): + row[i::self.planes] = \ + pixels[offset + i: end_offset: skip] + yield row + + +def write_chunk(outfile, tag, data=b''): + """ + Write a PNG chunk to the output file, including length and + checksum. + """ + + data = bytes(data) + # http://www.w3.org/TR/PNG/#5Chunk-layout + outfile.write(struct.pack("!I", len(data))) + outfile.write(tag) + outfile.write(data) + checksum = zlib.crc32(tag) + checksum = zlib.crc32(data, checksum) + checksum &= 2 ** 32 - 1 + outfile.write(struct.pack("!I", checksum)) + + +def write_chunks(out, chunks): + """Create a PNG file by writing out the chunks.""" + + out.write(signature) + for chunk in chunks: + write_chunk(out, *chunk) + + +def rescale_rows(rows, rescale): + """ + Take each row in rows (an iterator) and yield + a fresh row with the pixels scaled according to + the rescale parameters in the list `rescale`. + Each element of `rescale` is a tuple of + (source_bitdepth, target_bitdepth), + with one element per channel. + """ + + # One factor for each channel + fs = [float(2 ** s[1] - 1)/float(2 ** s[0] - 1) + for s in rescale] + + # Assume all target_bitdepths are the same + target_bitdepths = set(s[1] for s in rescale) + assert len(target_bitdepths) == 1 + (target_bitdepth, ) = target_bitdepths + typecode = 'BH'[target_bitdepth > 8] + + # Number of channels + n_chans = len(rescale) + + for row in rows: + rescaled_row = array(typecode, iter(row)) + for i in range(n_chans): + channel = array( + typecode, + (int(round(fs[i] * x)) for x in row[i::n_chans])) + rescaled_row[i::n_chans] = channel + yield rescaled_row + + +def pack_rows(rows, bitdepth): + """Yield packed rows that are a byte array. + Each byte is packed with the values from several pixels. + """ + + assert bitdepth < 8 + assert 8 % bitdepth == 0 + + # samples per byte + spb = int(8 / bitdepth) + + def make_byte(block): + """Take a block of (2, 4, or 8) values, + and pack them into a single byte. + """ + + res = 0 + for v in block: + res = (res << bitdepth) + v + return res + + for row in rows: + a = bytearray(row) + # Adding padding bytes so we can group into a whole + # number of spb-tuples. + n = float(len(a)) + extra = math.ceil(n / spb) * spb - n + a.extend([0] * int(extra)) + # Pack into bytes. + # Each block is the samples for one byte. + blocks = group(a, spb) + yield bytearray(make_byte(block) for block in blocks) + + +def unpack_rows(rows): + """Unpack each row from being 16-bits per value, + to being a sequence of bytes. + """ + for row in rows: + fmt = '!%dH' % len(row) + yield bytearray(struct.pack(fmt, *row)) + + +def make_palette_chunks(palette): + """ + Create the byte sequences for a ``PLTE`` and + if necessary a ``tRNS`` chunk. + Returned as a pair (*p*, *t*). + *t* will be ``None`` if no ``tRNS`` chunk is necessary. + """ + + p = bytearray() + t = bytearray() + + for x in palette: + p.extend(x[0:3]) + if len(x) > 3: + t.append(x[3]) + if t: + return p, t + return p, None + + +def check_bitdepth_rescale( + palette, bitdepth, transparent, alpha, greyscale): + """ + Returns (bitdepth, rescale) pair. + """ + + if palette: + if len(bitdepth) != 1: + raise ProtocolError( + "with palette, only a single bitdepth may be used") + (bitdepth, ) = bitdepth + if bitdepth not in (1, 2, 4, 8): + raise ProtocolError( + "with palette, bitdepth must be 1, 2, 4, or 8") + if transparent is not None: + raise ProtocolError("transparent and palette not compatible") + if alpha: + raise ProtocolError("alpha and palette not compatible") + if greyscale: + raise ProtocolError("greyscale and palette not compatible") + return bitdepth, None + + # No palette, check for sBIT chunk generation. + + if greyscale and not alpha: + # Single channel, L. + (bitdepth,) = bitdepth + if bitdepth in (1, 2, 4, 8, 16): + return bitdepth, None + if bitdepth > 8: + targetbitdepth = 16 + elif bitdepth == 3: + targetbitdepth = 4 + else: + assert bitdepth in (5, 6, 7) + targetbitdepth = 8 + return targetbitdepth, [(bitdepth, targetbitdepth)] + + assert alpha or not greyscale + + depth_set = tuple(set(bitdepth)) + if depth_set in [(8,), (16,)]: + # No sBIT required. + (bitdepth, ) = depth_set + return bitdepth, None + + targetbitdepth = (8, 16)[max(bitdepth) > 8] + return targetbitdepth, [(b, targetbitdepth) for b in bitdepth] + + +# Regex for decoding mode string +RegexModeDecode = re.compile("(LA?|RGBA?);?([0-9]*)", flags=re.IGNORECASE) + + +def from_array(a, mode=None, info={}): + """ + Create a PNG :class:`Image` object from a 2-dimensional array. + One application of this function is easy PIL-style saving: + ``png.from_array(pixels, 'L').save('foo.png')``. + + Unless they are specified using the *info* parameter, + the PNG's height and width are taken from the array size. + The first axis is the height; the second axis is the + ravelled width and channel index. + The array is treated is a sequence of rows, + each row being a sequence of values (``width*channels`` in number). + So an RGB image that is 16 pixels high and 8 wide will + occupy a 2-dimensional array that is 16x24 + (each row will be 8*3 = 24 sample values). + + *mode* is a string that specifies the image colour format in a + PIL-style mode. It can be: + + ``'L'`` + greyscale (1 channel) + ``'LA'`` + greyscale with alpha (2 channel) + ``'RGB'`` + colour image (3 channel) + ``'RGBA'`` + colour image with alpha (4 channel) + + The mode string can also specify the bit depth + (overriding how this function normally derives the bit depth, + see below). + Appending ``';16'`` to the mode will cause the PNG to be + 16 bits per channel; + any decimal from 1 to 16 can be used to specify the bit depth. + + When a 2-dimensional array is used *mode* determines how many + channels the image has, and so allows the width to be derived from + the second array dimension. + + The array is expected to be a ``numpy`` array, + but it can be any suitable Python sequence. + For example, a list of lists can be used: + ``png.from_array([[0, 255, 0], [255, 0, 255]], 'L')``. + The exact rules are: ``len(a)`` gives the first dimension, height; + ``len(a[0])`` gives the second dimension. + It's slightly more complicated than that because + an iterator of rows can be used, and it all still works. + Using an iterator allows data to be streamed efficiently. + + The bit depth of the PNG is normally taken from + the array element's datatype + (but if *mode* specifies a bitdepth then that is used instead). + The array element's datatype is determined in a way which + is supposed to work both for ``numpy`` arrays and for Python + ``array.array`` objects. + A 1 byte datatype will give a bit depth of 8, + a 2 byte datatype will give a bit depth of 16. + If the datatype does not have an implicit size, + like the above example where it is a plain Python list of lists, + then a default of 8 is used. + + The *info* parameter is a dictionary that can + be used to specify metadata (in the same style as + the arguments to the :class:`png.Writer` class). + For this function the keys that are useful are: + + height + overrides the height derived from the array dimensions and + allows *a* to be an iterable. + width + overrides the width derived from the array dimensions. + bitdepth + overrides the bit depth derived from the element datatype + (but must match *mode* if that also specifies a bit depth). + + Generally anything specified in the *info* dictionary will + override any implicit choices that this function would otherwise make, + but must match any explicit ones. + For example, if the *info* dictionary has a ``greyscale`` key then + this must be true when mode is ``'L'`` or ``'LA'`` and + false when mode is ``'RGB'`` or ``'RGBA'``. + """ + + # We abuse the *info* parameter by modifying it. Take a copy here. + # (Also typechecks *info* to some extent). + info = dict(info) + + # Syntax check mode string. + match = RegexModeDecode.match(mode) + if not match: + raise Error("mode string should be 'RGB' or 'L;16' or similar.") + + mode, bitdepth = match.groups() + if bitdepth: + bitdepth = int(bitdepth) + + # Colour format. + if 'greyscale' in info: + if bool(info['greyscale']) != ('L' in mode): + raise ProtocolError("info['greyscale'] should match mode.") + info['greyscale'] = 'L' in mode + + alpha = 'A' in mode + if 'alpha' in info: + if bool(info['alpha']) != alpha: + raise ProtocolError("info['alpha'] should match mode.") + info['alpha'] = alpha + + # Get bitdepth from *mode* if possible. + if bitdepth: + if info.get("bitdepth") and bitdepth != info['bitdepth']: + raise ProtocolError( + "bitdepth (%d) should match bitdepth of info (%d)." % + (bitdepth, info['bitdepth'])) + info['bitdepth'] = bitdepth + + # Fill in and/or check entries in *info*. + # Dimensions. + width, height = check_sizes( + info.get("size"), + info.get("width"), + info.get("height")) + if width: + info["width"] = width + if height: + info["height"] = height + + if "height" not in info: + try: + info['height'] = len(a) + except TypeError: + raise ProtocolError( + "len(a) does not work, supply info['height'] instead.") + + planes = len(mode) + if 'planes' in info: + if info['planes'] != planes: + raise Error("info['planes'] should match mode.") + + # In order to work out whether we the array is 2D or 3D we need its + # first row, which requires that we take a copy of its iterator. + # We may also need the first row to derive width and bitdepth. + a, t = itertools.tee(a) + row = next(t) + del t + + testelement = row + if 'width' not in info: + width = len(row) // planes + info['width'] = width + + if 'bitdepth' not in info: + try: + dtype = testelement.dtype + # goto the "else:" clause. Sorry. + except AttributeError: + try: + # Try a Python array.array. + bitdepth = 8 * testelement.itemsize + except AttributeError: + # We can't determine it from the array element's datatype, + # use a default of 8. + bitdepth = 8 + else: + # If we got here without exception, + # we now assume that the array is a numpy array. + if dtype.kind == 'b': + bitdepth = 1 + else: + bitdepth = 8 * dtype.itemsize + info['bitdepth'] = bitdepth + + for thing in ["width", "height", "bitdepth", "greyscale", "alpha"]: + assert thing in info + + return Image(a, info) + + +# So that refugee's from PIL feel more at home. Not documented. +fromarray = from_array + + +class Image: + """A PNG image. You can create an :class:`Image` object from + an array of pixels by calling :meth:`png.from_array`. It can be + saved to disk with the :meth:`save` method. + """ + + def __init__(self, rows, info): + """ + .. note :: + + The constructor is not public. Please do not call it. + """ + + self.rows = rows + self.info = info + + def save(self, file): + """Save the image to the named *file*. + + See `.write()` if you already have an open file object. + + In general, you can only call this method once; + after it has been called the first time the PNG image is written, + the source data will have been streamed, and + cannot be streamed again. + """ + + w = Writer(**self.info) + + with open(file, 'wb') as fd: + w.write(fd, self.rows) + + def write(self, file): + """Write the image to the open file object. + + See `.save()` if you have a filename. + + In general, you can only call this method once; + after it has been called the first time the PNG image is written, + the source data will have been streamed, and + cannot be streamed again. + """ + + w = Writer(**self.info) + w.write(file, self.rows) + + +class Reader: + """ + Pure Python PNG decoder in pure Python. + """ + + def __init__(self, _guess=None, filename=None, file=None, bytes=None): + """ + The constructor expects exactly one keyword argument. + If you supply a positional argument instead, + it will guess the input type. + Choose from the following keyword arguments: + + filename + Name of input file (a PNG file). + file + A file-like object (object with a read() method). + bytes + ``bytes`` or ``bytearray`` with PNG data. + + """ + keywords_supplied = ( + (_guess is not None) + + (filename is not None) + + (file is not None) + + (bytes is not None)) + if keywords_supplied != 1: + raise TypeError("Reader() takes exactly 1 argument") + + # Will be the first 8 bytes, later on. See validate_signature. + self.signature = None + self.transparent = None + # A pair of (len,type) if a chunk has been read but its data and + # checksum have not (in other words the file position is just + # past the 4 bytes that specify the chunk type). + # See preamble method for how this is used. + self.atchunk = None + + if _guess is not None: + if isarray(_guess): + bytes = _guess + elif isinstance(_guess, str): + filename = _guess + elif hasattr(_guess, 'read'): + file = _guess + + if bytes is not None: + self.file = io.BytesIO(bytes) + elif filename is not None: + self.file = open(filename, "rb") + elif file is not None: + self.file = file + else: + raise ProtocolError("expecting filename, file or bytes array") + + def chunk(self, lenient=False): + """ + Read the next PNG chunk from the input file; + returns a (*type*, *data*) tuple. + *type* is the chunk's type as a byte string + (all PNG chunk types are 4 bytes long). + *data* is the chunk's data content, as a byte string. + + If the optional `lenient` argument evaluates to `True`, + checksum failures will raise warnings rather than exceptions. + """ + + self.validate_signature() + + # http://www.w3.org/TR/PNG/#5Chunk-layout + if not self.atchunk: + self.atchunk = self._chunk_len_type() + if not self.atchunk: + raise ChunkError("No more chunks.") + length, type = self.atchunk + self.atchunk = None + + data = self.file.read(length) + if len(data) != length: + raise ChunkError( + 'Chunk %s too short for required %i octets.' + % (type, length)) + checksum = self.file.read(4) + if len(checksum) != 4: + raise ChunkError('Chunk %s too short for checksum.' % type) + verify = zlib.crc32(type) + verify = zlib.crc32(data, verify) + verify = struct.pack('!I', verify) + if checksum != verify: + (a, ) = struct.unpack('!I', checksum) + (b, ) = struct.unpack('!I', verify) + message = ("Checksum error in %s chunk: 0x%08X != 0x%08X." + % (type.decode('ascii'), a, b)) + if lenient: + warnings.warn(message, RuntimeWarning) + else: + raise ChunkError(message) + return type, data + + def chunks(self): + """Return an iterator that will yield each chunk as a + (*chunktype*, *content*) pair. + """ + + while True: + t, v = self.chunk() + yield t, v + if t == b'IEND': + break + + def undo_filter(self, filter_type, scanline, previous): + """ + Undo the filter for a scanline. + `scanline` is a sequence of bytes that + does not include the initial filter type byte. + `previous` is decoded previous scanline + (for straightlaced images this is the previous pixel row, + but for interlaced images, it is + the previous scanline in the reduced image, + which in general is not the previous pixel row in the final image). + When there is no previous scanline + (the first row of a straightlaced image, + or the first row in one of the passes in an interlaced image), + then this argument should be ``None``. + + The scanline will have the effects of filtering removed; + the result will be returned as a fresh sequence of bytes. + """ + + # :todo: Would it be better to update scanline in place? + result = scanline + + if filter_type == 0: + return result + + if filter_type not in (1, 2, 3, 4): + raise FormatError( + 'Invalid PNG Filter Type. ' + 'See http://www.w3.org/TR/2003/REC-PNG-20031110/#9Filters .') + + # Filter unit. The stride from one pixel to the corresponding + # byte from the previous pixel. Normally this is the pixel + # size in bytes, but when this is smaller than 1, the previous + # byte is used instead. + fu = max(1, self.psize) + + # For the first line of a pass, synthesize a dummy previous + # line. An alternative approach would be to observe that on the + # first line 'up' is the same as 'null', 'paeth' is the same + # as 'sub', with only 'average' requiring any special case. + if not previous: + previous = bytearray([0] * len(scanline)) + + # Call appropriate filter algorithm. Note that 0 has already + # been dealt with. + fn = (None, + undo_filter_sub, + undo_filter_up, + undo_filter_average, + undo_filter_paeth)[filter_type] + fn(fu, scanline, previous, result) + return result + + def _deinterlace(self, raw): + """ + Read raw pixel data, undo filters, deinterlace, and flatten. + Return a single array of values. + """ + + # Values per row (of the target image) + vpr = self.width * self.planes + + # Values per image + vpi = vpr * self.height + # Interleaving writes to the output array randomly + # (well, not quite), so the entire output array must be in memory. + # Make a result array, and make it big enough. + if self.bitdepth > 8: + a = array('H', [0] * vpi) + else: + a = bytearray([0] * vpi) + source_offset = 0 + + for lines in adam7_generate(self.width, self.height): + # The previous (reconstructed) scanline. + # `None` at the beginning of a pass + # to indicate that there is no previous line. + recon = None + for x, y, xstep in lines: + # Pixels per row (reduced pass image) + ppr = int(math.ceil((self.width - x) / float(xstep))) + # Row size in bytes for this pass. + row_size = int(math.ceil(self.psize * ppr)) + + filter_type = raw[source_offset] + source_offset += 1 + scanline = raw[source_offset: source_offset + row_size] + source_offset += row_size + recon = self.undo_filter(filter_type, scanline, recon) + # Convert so that there is one element per pixel value + flat = self._bytes_to_values(recon, width=ppr) + if xstep == 1: + assert x == 0 + offset = y * vpr + a[offset: offset + vpr] = flat + else: + offset = y * vpr + x * self.planes + end_offset = (y + 1) * vpr + skip = self.planes * xstep + for i in range(self.planes): + a[offset + i: end_offset: skip] = \ + flat[i:: self.planes] + + return a + + def _iter_bytes_to_values(self, byte_rows): + """ + Iterator that yields each scanline; + each scanline being a sequence of values. + `byte_rows` should be an iterator that yields + the bytes of each row in turn. + """ + + for row in byte_rows: + yield self._bytes_to_values(row) + + def _bytes_to_values(self, bs, width=None): + """Convert a packed row of bytes into a row of values. + Result will be a freshly allocated object, + not shared with the argument. + """ + + if self.bitdepth == 8: + return bytearray(bs) + if self.bitdepth == 16: + return array('H', + struct.unpack('!%dH' % (len(bs) // 2), bs)) + + assert self.bitdepth < 8 + if width is None: + width = self.width + # Samples per byte + spb = 8 // self.bitdepth + out = bytearray() + mask = 2**self.bitdepth - 1 + shifts = [self.bitdepth * i + for i in reversed(list(range(spb)))] + for o in bs: + out.extend([mask & (o >> i) for i in shifts]) + return out[:width] + + def _iter_straight_packed(self, byte_blocks): + """Iterator that undoes the effect of filtering; + yields each row as a sequence of packed bytes. + Assumes input is straightlaced. + `byte_blocks` should be an iterable that yields the raw bytes + in blocks of arbitrary size. + """ + + # length of row, in bytes + rb = self.row_bytes + a = bytearray() + # The previous (reconstructed) scanline. + # None indicates first line of image. + recon = None + for some_bytes in byte_blocks: + a.extend(some_bytes) + while len(a) >= rb + 1: + filter_type = a[0] + scanline = a[1: rb + 1] + del a[: rb + 1] + recon = self.undo_filter(filter_type, scanline, recon) + yield recon + if len(a) != 0: + # :file:format We get here with a file format error: + # when the available bytes (after decompressing) do not + # pack into exact rows. + raise FormatError('Wrong size for decompressed IDAT chunk.') + assert len(a) == 0 + + def validate_signature(self): + """ + If signature (header) has not been read then read and + validate it; otherwise do nothing. + No signature (empty read()) will raise EOFError; + An invalid signature will raise FormatError. + EOFError is raised to make possible the case where + a program can read multiple PNG files from the same stream. + The end of the stream can be distinguished from non-PNG files + or corrupted PNG files. + """ + + if self.signature: + return + self.signature = self.file.read(8) + if len(self.signature) == 0: + raise EOFError("End of PNG stream.") + if self.signature != signature: + raise FormatError("PNG file has invalid signature.") + + def preamble(self, lenient=False): + """ + Extract the image metadata by reading + the initial part of the PNG file up to + the start of the ``IDAT`` chunk. + All the chunks that precede the ``IDAT`` chunk are + read and either processed for metadata or discarded. + + If the optional `lenient` argument evaluates to `True`, + checksum failures will raise warnings rather than exceptions. + """ + + self.validate_signature() + + while True: + if not self.atchunk: + self.atchunk = self._chunk_len_type() + if self.atchunk is None: + raise FormatError('This PNG file has no IDAT chunks.') + if self.atchunk[1] == b'IDAT': + return + self.process_chunk(lenient=lenient) + + def _chunk_len_type(self): + """ + Reads just enough of the input to + determine the next chunk's length and type; + return a (*length*, *type*) pair where *type* is a byte sequence. + If there are no more chunks, ``None`` is returned. + """ + + x = self.file.read(8) + if not x: + return None + if len(x) != 8: + raise FormatError( + 'End of file whilst reading chunk length and type.') + length, type = struct.unpack('!I4s', x) + if length > 2 ** 31 - 1: + raise FormatError('Chunk %s is too large: %d.' % (type, length)) + # Check that all bytes are in valid ASCII range. + # https://www.w3.org/TR/2003/REC-PNG-20031110/#5Chunk-layout + type_bytes = set(bytearray(type)) + if not(type_bytes <= set(range(65, 91)) | set(range(97, 123))): + raise FormatError( + 'Chunk %r has invalid Chunk Type.' + % list(type)) + return length, type + + def process_chunk(self, lenient=False): + """ + Process the next chunk and its data. + This only processes the following chunk types: + ``IHDR``, ``PLTE``, ``bKGD``, ``tRNS``, ``gAMA``, ``sBIT``, ``pHYs``. + All other chunk types are ignored. + + If the optional `lenient` argument evaluates to `True`, + checksum failures will raise warnings rather than exceptions. + """ + + type, data = self.chunk(lenient=lenient) + method = '_process_' + type.decode('ascii') + m = getattr(self, method, None) + if m: + m(data) + + def _process_IHDR(self, data): + # http://www.w3.org/TR/PNG/#11IHDR + if len(data) != 13: + raise FormatError('IHDR chunk has incorrect length.') + (self.width, self.height, self.bitdepth, self.color_type, + self.compression, self.filter, + self.interlace) = struct.unpack("!2I5B", data) + + check_bitdepth_colortype(self.bitdepth, self.color_type) + + if self.compression != 0: + raise FormatError( + "Unknown compression method %d" % self.compression) + if self.filter != 0: + raise FormatError( + "Unknown filter method %d," + " see http://www.w3.org/TR/2003/REC-PNG-20031110/#9Filters ." + % self.filter) + if self.interlace not in (0, 1): + raise FormatError( + "Unknown interlace method %d, see " + "http://www.w3.org/TR/2003/REC-PNG-20031110/#8InterlaceMethods" + " ." + % self.interlace) + + # Derived values + # http://www.w3.org/TR/PNG/#6Colour-values + colormap = bool(self.color_type & 1) + greyscale = not(self.color_type & 2) + alpha = bool(self.color_type & 4) + color_planes = (3, 1)[greyscale or colormap] + planes = color_planes + alpha + + self.colormap = colormap + self.greyscale = greyscale + self.alpha = alpha + self.color_planes = color_planes + self.planes = planes + self.psize = float(self.bitdepth) / float(8) * planes + if int(self.psize) == self.psize: + self.psize = int(self.psize) + self.row_bytes = int(math.ceil(self.width * self.psize)) + # Stores PLTE chunk if present, and is used to check + # chunk ordering constraints. + self.plte = None + # Stores tRNS chunk if present, and is used to check chunk + # ordering constraints. + self.trns = None + # Stores sBIT chunk if present. + self.sbit = None + + def _process_PLTE(self, data): + # http://www.w3.org/TR/PNG/#11PLTE + if self.plte: + warnings.warn("Multiple PLTE chunks present.") + self.plte = data + if len(data) % 3 != 0: + raise FormatError( + "PLTE chunk's length should be a multiple of 3.") + if len(data) > (2 ** self.bitdepth) * 3: + raise FormatError("PLTE chunk is too long.") + if len(data) == 0: + raise FormatError("Empty PLTE is not allowed.") + + def _process_bKGD(self, data): + try: + if self.colormap: + if not self.plte: + warnings.warn( + "PLTE chunk is required before bKGD chunk.") + self.background = struct.unpack('B', data) + else: + self.background = struct.unpack("!%dH" % self.color_planes, + data) + except struct.error: + raise FormatError("bKGD chunk has incorrect length.") + + def _process_tRNS(self, data): + # http://www.w3.org/TR/PNG/#11tRNS + self.trns = data + if self.colormap: + if not self.plte: + warnings.warn("PLTE chunk is required before tRNS chunk.") + else: + if len(data) > len(self.plte) / 3: + # Was warning, but promoted to Error as it + # would otherwise cause pain later on. + raise FormatError("tRNS chunk is too long.") + else: + if self.alpha: + raise FormatError( + "tRNS chunk is not valid with colour type %d." % + self.color_type) + try: + self.transparent = \ + struct.unpack("!%dH" % self.color_planes, data) + except struct.error: + raise FormatError("tRNS chunk has incorrect length.") + + def _process_gAMA(self, data): + try: + self.gamma = struct.unpack("!L", data)[0] / 100000.0 + except struct.error: + raise FormatError("gAMA chunk has incorrect length.") + + def _process_sBIT(self, data): + self.sbit = data + if (self.colormap and len(data) != 3 or + not self.colormap and len(data) != self.planes): + raise FormatError("sBIT chunk has incorrect length.") + + def _process_pHYs(self, data): + # http://www.w3.org/TR/PNG/#11pHYs + self.phys = data + fmt = "!LLB" + if len(data) != struct.calcsize(fmt): + raise FormatError("pHYs chunk has incorrect length.") + self.x_pixels_per_unit, self.y_pixels_per_unit, unit = \ + struct.unpack(fmt, data) + self.unit_is_meter = bool(unit) + + def read(self, lenient=False): + """ + Read the PNG file and decode it. + Returns (`width`, `height`, `rows`, `info`). + + May use excessive memory. + + `rows` is a sequence of rows; + each row is a sequence of values. + + If the optional `lenient` argument evaluates to True, + checksum failures will raise warnings rather than exceptions. + """ + + def iteridat(): + """Iterator that yields all the ``IDAT`` chunks as strings.""" + while True: + type, data = self.chunk(lenient=lenient) + if type == b'IEND': + # http://www.w3.org/TR/PNG/#11IEND + break + if type != b'IDAT': + continue + # type == b'IDAT' + # http://www.w3.org/TR/PNG/#11IDAT + if self.colormap and not self.plte: + warnings.warn("PLTE chunk is required before IDAT chunk") + yield data + + self.preamble(lenient=lenient) + raw = decompress(iteridat()) + + if self.interlace: + def rows_from_interlace(): + """Yield each row from an interlaced PNG.""" + # It's important that this iterator doesn't read + # IDAT chunks until it yields the first row. + bs = bytearray(itertools.chain(*raw)) + arraycode = 'BH'[self.bitdepth > 8] + # Like :meth:`group` but + # producing an array.array object for each row. + values = self._deinterlace(bs) + vpr = self.width * self.planes + for i in range(0, len(values), vpr): + row = array(arraycode, values[i:i+vpr]) + yield row + rows = rows_from_interlace() + else: + rows = self._iter_bytes_to_values(self._iter_straight_packed(raw)) + info = dict() + for attr in 'greyscale alpha planes bitdepth interlace'.split(): + info[attr] = getattr(self, attr) + info['size'] = (self.width, self.height) + for attr in 'gamma transparent background'.split(): + a = getattr(self, attr, None) + if a is not None: + info[attr] = a + if getattr(self, 'x_pixels_per_unit', None): + info['physical'] = Resolution(self.x_pixels_per_unit, + self.y_pixels_per_unit, + self.unit_is_meter) + if self.plte: + info['palette'] = self.palette() + return self.width, self.height, rows, info + + def read_flat(self): + """ + Read a PNG file and decode it into a single array of values. + Returns (*width*, *height*, *values*, *info*). + + May use excessive memory. + + `values` is a single array. + + The :meth:`read` method is more stream-friendly than this, + because it returns a sequence of rows. + """ + + x, y, pixel, info = self.read() + arraycode = 'BH'[info['bitdepth'] > 8] + pixel = array(arraycode, itertools.chain(*pixel)) + return x, y, pixel, info + + def palette(self, alpha='natural'): + """ + Returns a palette that is a sequence of 3-tuples or 4-tuples, + synthesizing it from the ``PLTE`` and ``tRNS`` chunks. + These chunks should have already been processed (for example, + by calling the :meth:`preamble` method). + All the tuples are the same size: + 3-tuples if there is no ``tRNS`` chunk, + 4-tuples when there is a ``tRNS`` chunk. + + Assumes that the image is colour type + 3 and therefore a ``PLTE`` chunk is required. + + If the `alpha` argument is ``'force'`` then an alpha channel is + always added, forcing the result to be a sequence of 4-tuples. + """ + + if not self.plte: + raise FormatError( + "Required PLTE chunk is missing in colour type 3 image.") + plte = group(array('B', self.plte), 3) + if self.trns or alpha == 'force': + trns = array('B', self.trns or []) + trns.extend([255] * (len(plte) - len(trns))) + plte = list(map(operator.add, plte, group(trns, 1))) + return plte + + def asDirect(self): + """ + Returns the image data as a direct representation of + an ``x * y * planes`` array. + This removes the need for callers to deal with + palettes and transparency themselves. + Images with a palette (colour type 3) are converted to RGB or RGBA; + images with transparency (a ``tRNS`` chunk) are converted to + LA or RGBA as appropriate. + When returned in this format the pixel values represent + the colour value directly without needing to refer + to palettes or transparency information. + + Like the :meth:`read` method this method returns a 4-tuple: + + (*width*, *height*, *rows*, *info*) + + This method normally returns pixel values with + the bit depth they have in the source image, but + when the source PNG has an ``sBIT`` chunk it is inspected and + can reduce the bit depth of the result pixels; + pixel values will be reduced according to the bit depth + specified in the ``sBIT`` chunk. + PNG nerds should note a single result bit depth is + used for all channels: + the maximum of the ones specified in the ``sBIT`` chunk. + An RGB565 image will be rescaled to 6-bit RGB666. + + The *info* dictionary that is returned reflects + the `direct` format and not the original source image. + For example, an RGB source image with a ``tRNS`` chunk + to represent a transparent colour, + will start with ``planes=3`` and ``alpha=False`` for the + source image, + but the *info* dictionary returned by this method + will have ``planes=4`` and ``alpha=True`` because + an alpha channel is synthesized and added. + + *rows* is a sequence of rows; + each row being a sequence of values + (like the :meth:`read` method). + + All the other aspects of the image data are not changed. + """ + + self.preamble() + + # Simple case, no conversion necessary. + if not self.colormap and not self.trns and not self.sbit: + return self.read() + + x, y, pixels, info = self.read() + + if self.colormap: + info['colormap'] = False + info['alpha'] = bool(self.trns) + info['bitdepth'] = 8 + info['planes'] = 3 + bool(self.trns) + plte = self.palette() + + def iterpal(pixels): + for row in pixels: + row = [plte[x] for x in row] + yield array('B', itertools.chain(*row)) + pixels = iterpal(pixels) + elif self.trns: + # It would be nice if there was some reasonable way + # of doing this without generating a whole load of + # intermediate tuples. But tuples does seem like the + # easiest way, with no other way clearly much simpler or + # much faster. (Actually, the L to LA conversion could + # perhaps go faster (all those 1-tuples!), but I still + # wonder whether the code proliferation is worth it) + it = self.transparent + maxval = 2 ** info['bitdepth'] - 1 + planes = info['planes'] + info['alpha'] = True + info['planes'] += 1 + typecode = 'BH'[info['bitdepth'] > 8] + + def itertrns(pixels): + for row in pixels: + # For each row we group it into pixels, then form a + # characterisation vector that says whether each + # pixel is opaque or not. Then we convert + # True/False to 0/maxval (by multiplication), + # and add it as the extra channel. + row = group(row, planes) + opa = map(it.__ne__, row) + opa = map(maxval.__mul__, opa) + opa = list(zip(opa)) # convert to 1-tuples + yield array( + typecode, + itertools.chain(*map(operator.add, row, opa))) + pixels = itertrns(pixels) + targetbitdepth = None + if self.sbit: + sbit = struct.unpack('%dB' % len(self.sbit), self.sbit) + targetbitdepth = max(sbit) + if targetbitdepth > info['bitdepth']: + raise Error('sBIT chunk %r exceeds bitdepth %d' % + (sbit, self.bitdepth)) + if min(sbit) <= 0: + raise Error('sBIT chunk %r has a 0-entry' % sbit) + if targetbitdepth: + shift = info['bitdepth'] - targetbitdepth + info['bitdepth'] = targetbitdepth + + def itershift(pixels): + for row in pixels: + yield [p >> shift for p in row] + pixels = itershift(pixels) + return x, y, pixels, info + + def _as_rescale(self, get, targetbitdepth): + """Helper used by :meth:`asRGB8` and :meth:`asRGBA8`.""" + + width, height, pixels, info = get() + maxval = 2**info['bitdepth'] - 1 + targetmaxval = 2**targetbitdepth - 1 + factor = float(targetmaxval) / float(maxval) + info['bitdepth'] = targetbitdepth + + def iterscale(): + for row in pixels: + yield [int(round(x * factor)) for x in row] + if maxval == targetmaxval: + return width, height, pixels, info + else: + return width, height, iterscale(), info + + def asRGB8(self): + """ + Return the image data as an RGB pixels with 8-bits per sample. + This is like the :meth:`asRGB` method except that + this method additionally rescales the values so that + they are all between 0 and 255 (8-bit). + In the case where the source image has a bit depth < 8 + the transformation preserves all the information; + where the source image has bit depth > 8, then + rescaling to 8-bit values loses precision. + No dithering is performed. + Like :meth:`asRGB`, + an alpha channel in the source image will raise an exception. + + This function returns a 4-tuple: + (*width*, *height*, *rows*, *info*). + *width*, *height*, *info* are as per the :meth:`read` method. + + *rows* is the pixel data as a sequence of rows. + """ + + return self._as_rescale(self.asRGB, 8) + + def asRGBA8(self): + """ + Return the image data as RGBA pixels with 8-bits per sample. + This method is similar to :meth:`asRGB8` and :meth:`asRGBA`: + The result pixels have an alpha channel, *and* + values are rescaled to the range 0 to 255. + The alpha channel is synthesized if necessary + (with a small speed penalty). + """ + + return self._as_rescale(self.asRGBA, 8) + + def asRGB(self): + """ + Return image as RGB pixels. + RGB colour images are passed through unchanged; + greyscales are expanded into RGB triplets + (there is a small speed overhead for doing this). + + An alpha channel in the source image will raise an exception. + + The return values are as for the :meth:`read` method except that + the *info* reflect the returned pixels, not the source image. + In particular, + for this method ``info['greyscale']`` will be ``False``. + """ + + width, height, pixels, info = self.asDirect() + if info['alpha']: + raise Error("will not convert image with alpha channel to RGB") + if not info['greyscale']: + return width, height, pixels, info + info['greyscale'] = False + info['planes'] = 3 + + if info['bitdepth'] > 8: + def newarray(): + return array('H', [0]) + else: + def newarray(): + return bytearray([0]) + + def iterrgb(): + for row in pixels: + a = newarray() * 3 * width + for i in range(3): + a[i::3] = row + yield a + return width, height, iterrgb(), info + + def asRGBA(self): + """ + Return image as RGBA pixels. + Greyscales are expanded into RGB triplets; + an alpha channel is synthesized if necessary. + The return values are as for the :meth:`read` method except that + the *info* reflect the returned pixels, not the source image. + In particular, for this method + ``info['greyscale']`` will be ``False``, and + ``info['alpha']`` will be ``True``. + """ + + width, height, pixels, info = self.asDirect() + if info['alpha'] and not info['greyscale']: + return width, height, pixels, info + typecode = 'BH'[info['bitdepth'] > 8] + maxval = 2**info['bitdepth'] - 1 + maxbuffer = struct.pack('=' + typecode, maxval) * 4 * width + + if info['bitdepth'] > 8: + def newarray(): + return array('H', maxbuffer) + else: + def newarray(): + return bytearray(maxbuffer) + + if info['alpha'] and info['greyscale']: + # LA to RGBA + def convert(): + for row in pixels: + # Create a fresh target row, then copy L channel + # into first three target channels, and A channel + # into fourth channel. + a = newarray() + convert_la_to_rgba(row, a) + yield a + elif info['greyscale']: + # L to RGBA + def convert(): + for row in pixels: + a = newarray() + convert_l_to_rgba(row, a) + yield a + else: + assert not info['alpha'] and not info['greyscale'] + # RGB to RGBA + + def convert(): + for row in pixels: + a = newarray() + convert_rgb_to_rgba(row, a) + yield a + info['alpha'] = True + info['greyscale'] = False + info['planes'] = 4 + return width, height, convert(), info + + +def decompress(data_blocks): + """ + `data_blocks` should be an iterable that + yields the compressed data (from the ``IDAT`` chunks). + This yields decompressed byte strings. + """ + + # Currently, with no max_length parameter to decompress, + # this routine will do one yield per IDAT chunk: Not very + # incremental. + d = zlib.decompressobj() + # Each IDAT chunk is passed to the decompressor, then any + # remaining state is decompressed out. + for data in data_blocks: + # :todo: add a max_length argument here to limit output size. + yield bytearray(d.decompress(data)) + yield bytearray(d.flush()) + + +def check_bitdepth_colortype(bitdepth, colortype): + """ + Check that `bitdepth` and `colortype` are both valid, + and specified in a valid combination. + Returns (None) if valid, raise an Exception if not valid. + """ + + if bitdepth not in (1, 2, 4, 8, 16): + raise FormatError("invalid bit depth %d" % bitdepth) + if colortype not in (0, 2, 3, 4, 6): + raise FormatError("invalid colour type %d" % colortype) + # Check indexed (palettized) images have 8 or fewer bits + # per pixel; check only indexed or greyscale images have + # fewer than 8 bits per pixel. + if colortype & 1 and bitdepth > 8: + raise FormatError( + "Indexed images (colour type %d) cannot" + " have bitdepth > 8 (bit depth %d)." + " See http://www.w3.org/TR/2003/REC-PNG-20031110/#table111 ." + % (bitdepth, colortype)) + if bitdepth < 8 and colortype not in (0, 3): + raise FormatError( + "Illegal combination of bit depth (%d)" + " and colour type (%d)." + " See http://www.w3.org/TR/2003/REC-PNG-20031110/#table111 ." + % (bitdepth, colortype)) + + +def is_natural(x): + """A non-negative integer.""" + try: + is_integer = int(x) == x + except (TypeError, ValueError): + return False + return is_integer and x >= 0 + + +def undo_filter_sub(filter_unit, scanline, previous, result): + """Undo sub filter.""" + + ai = 0 + # Loops starts at index fu. Observe that the initial part + # of the result is already filled in correctly with + # scanline. + for i in range(filter_unit, len(result)): + x = scanline[i] + a = result[ai] + result[i] = (x + a) & 0xff + ai += 1 + + +def undo_filter_up(filter_unit, scanline, previous, result): + """Undo up filter.""" + + for i in range(len(result)): + x = scanline[i] + b = previous[i] + result[i] = (x + b) & 0xff + + +def undo_filter_average(filter_unit, scanline, previous, result): + """Undo up filter.""" + + ai = -filter_unit + for i in range(len(result)): + x = scanline[i] + if ai < 0: + a = 0 + else: + a = result[ai] + b = previous[i] + result[i] = (x + ((a + b) >> 1)) & 0xff + ai += 1 + + +def undo_filter_paeth(filter_unit, scanline, previous, result): + """Undo Paeth filter.""" + + # Also used for ci. + ai = -filter_unit + for i in range(len(result)): + x = scanline[i] + if ai < 0: + a = c = 0 + else: + a = result[ai] + c = previous[ai] + b = previous[i] + p = a + b - c + pa = abs(p - a) + pb = abs(p - b) + pc = abs(p - c) + if pa <= pb and pa <= pc: + pr = a + elif pb <= pc: + pr = b + else: + pr = c + result[i] = (x + pr) & 0xff + ai += 1 + + +def convert_la_to_rgba(row, result): + for i in range(3): + result[i::4] = row[0::2] + result[3::4] = row[1::2] + + +def convert_l_to_rgba(row, result): + """ + Convert a grayscale image to RGBA. + This method assumes the alpha channel in result is + already correctly initialized. + """ + for i in range(3): + result[i::4] = row + + +def convert_rgb_to_rgba(row, result): + """ + Convert an RGB image to RGBA. + This method assumes the alpha channel in result is + already correctly initialized. + """ + for i in range(3): + result[i::4] = row[i::3] + + +# Only reason to include this in this module is that +# several utilities need it, and it is small. +def binary_stdin(): + """ + A sys.stdin that returns bytes. + """ + + return sys.stdin.buffer + + +def binary_stdout(): + """ + A sys.stdout that accepts bytes. + """ + + stdout = sys.stdout.buffer + + # On Windows the C runtime file orientation needs changing. + if sys.platform == "win32": + import msvcrt + import os + msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) + + return stdout + + +def cli_open(path): + if path == "-": + return binary_stdin() + return open(path, "rb") + + +def main(argv): + """ + Run command line PNG. + Which reports version. + """ + print(__version__, __file__) + + +if __name__ == '__main__': + try: + main(sys.argv) + except Error as e: + print(e, file=sys.stderr) diff --git a/tools/rgb555.py b/tools/rgb555.py new file mode 100755 index 00000000..bf650313 --- /dev/null +++ b/tools/rgb555.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Usage: python rgb555.py image.png + +Round all colors of the input image to RGB555. +""" + +import sys + +import png + +def rgb8_to_rgb5(c): + return (c & 0b11111000) | (c >> 5) + +def round_pal(filename): + with open(filename, 'rb') as file: + width, height, rows = png.Reader(file).asRGBA8()[:3] + rows = list(rows) + for row in rows: + del row[3::4] + rows = [[rgb8_to_rgb5(c) for c in row] for row in rows] + writer = png.Writer(width, height, greyscale=False, bitdepth=8, compression=9) + with open(filename, 'wb') as file: + writer.write(file, rows) + +def main(): + if len(sys.argv) < 2: + print(f'Usage: {sys.argv[0]} pic.png', file=sys.stderr) + sys.exit(1) + for filename in sys.argv[1:]: + if not filename.lower().endswith('.png'): + print(f'{filename} is not a .png file!', file=sys.stderr) + round_pal(filename) + +if __name__ == '__main__': + main() diff --git a/tools/sym_comments.py b/tools/sym_comments.py new file mode 100755 index 00000000..0f060e5c --- /dev/null +++ b/tools/sym_comments.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Usage: python sym_comments.py file.asm [pokered.sym] > file_commented.asm + +Comments each label in file.asm with its bank:address from the sym file. +""" + +import sys +import re + +def main(): + if len(sys.argv) not in {2, 3}: + print(f'Usage: {sys.argv[0]} file.asm [pokered.sym] > file_commented.asm', file=sys.stderr) + sys.exit(1) + + wram_name = sys.argv[1] + sym_name = sys.argv[2] if len(sys.argv) == 3 else 'pokered.sym' + + sym_def_rx = re.compile(r'(^{sym})(:.*)|(^\.{sym})(.*)'.format(sym=r'[A-Za-z_][A-Za-z0-9_#@]*')) + + sym_addrs = {} + with open(sym_name, 'r', encoding='utf-8') as file: + for line in file: + line = line.split(';', 1)[0].rstrip() + parts = line.split(' ', 1) + if len(parts) != 2: + continue + addr, sym = parts + sym_addrs[sym] = addr + + with open(wram_name, 'r', encoding='utf-8') as file: + cur_label = None + for line in file: + line = line.rstrip() + if (m = re.match(sym_def_rx, line)): + sym, rest = m.group(1), m.group(2) + if sym is None and rest is None: + sym, rest = m.group(3), m.group(4) + key = sym + if not sym.startswith('.'): + cur_label = sym + elif cur_label: + key = cur_label + sym + if key in sym_addrs: + addr = sym_addrs[key] + line = sym + rest + ' ; ' + addr + print(line) + +if __name__ == '__main__': + main() diff --git a/tools/toc.py b/tools/toc.py new file mode 100755 index 00000000..d9a3d963 --- /dev/null +++ b/tools/toc.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Usage: python toc.py file.md + +Replace a "## TOC" heading in a Markdown file with a table of contents, +generated from the other headings in the file. Supports multiple files. +Headings must start with "##" signs to be detected. +""" + +import sys +import re +from collections import namedtuple +from urllib.parse import quote + +toc_name = 'Contents' +valid_toc_headings = {'## TOC', '##TOC'} + +TocItem = namedtuple('TocItem', ['name', 'anchor', 'level']) +punctuation_rx = re.compile(r'[^\w\- ]+') +numbered_heading_rx = re.compile(r'^[0-9]+\. ') +specialchar_rx = re.compile(r'[⅔]+') + +def name_to_anchor(name): + # GitHub's algorithm for generating anchors from headings + # https://github.com/jch/html-pipeline/blob/master/lib/html/pipeline/toc_filter.rb + anchor = name.strip().lower() # lowercase + anchor = re.sub(punctuation_rx, '', anchor) # remove punctuation + anchor = anchor.replace(' ', '-') # replace spaces with dash + anchor = re.sub(specialchar_rx, '', anchor) # remove misc special chars + anchor = quote(anchor) # url encode + return anchor + +def get_toc_index(lines): + toc_index = None + for i, line in enumerate(lines): + if line.rstrip() in valid_toc_headings: + toc_index = i + break + return toc_index + +def get_toc_items(lines, toc_index): + for i, line in enumerate(lines): + if i <= toc_index: + continue + if line.startswith('##'): + name = line.lstrip('#') + level = len(line) - len(name) - len('##') + name = name.strip() + anchor = name_to_anchor(name) + yield TocItem(name, anchor, level) + +def toc_string(toc_items): + lines = [f'## {toc_name}', ''] + for name, anchor, level in toc_items: + padding = ' ' * level + if re.match(numbered_heading_rx, name): + bullet, name = name.split('.', 1) + bullet += '.' + name = name.lstrip() + else: + bullet = '-' + lines.append(f'{padding}{bullet} [{name}](#{anchor})') + return '\n'.join(lines) + '\n' + +def add_toc(filename): + with open(filename, 'r', encoding='utf-8') as file: + lines = file.readlines() + toc_index = get_toc_index(lines) + if toc_index is None: + return None # no TOC heading + toc_items = list(get_toc_items(lines, toc_index)) + if not toc_items: + return False # no content headings + with open(filename, 'w', encoding='utf-8') as file: + for i, line in enumerate(lines): + if i == toc_index: + file.write(toc_string(toc_items)) + else: + file.write(line) + return True # OK + +def main(): + if len(sys.argv) < 2: + print(f'Usage: {sys.argv[0]} file.md', file=sys.stderr) + sys.exit(1) + for filename in sys.argv[1:]: + print(filename) + result = add_toc(filename) + if result is None: + print('Warning: No "## TOC" heading found', file=sys.stderr) + elif result is False: + print('Warning: No content headings found', file=sys.stderr) + else: + print('OK') + +if __name__ == '__main__': + main() diff --git a/tools/unique.py b/tools/unique.py new file mode 100755 index 00000000..34530a3e --- /dev/null +++ b/tools/unique.py @@ -0,0 +1,106 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Usage: python unique.py [-f|--flip] [-x|--cross] image.png + +Erase duplicate tiles from an input image. +-f or --flip counts X/Y mirrored tiles as duplicates. +-x or --cross erases with a cross instead of a blank tile. +""" + +import sys + +import png + +def rgb5_pixels(row): + yield from (tuple(c // 8 for c in row[x:x+3]) for x in range(0, len(row), 4)) + +def rgb8_pixels(row): + yield from (c * 8 + c // 4 for pixel in row for c in pixel) + +def gray_pixels(row): + yield from (pixel[0] // 10 for pixel in row) + +def rows_to_tiles(rows, width, height): + assert len(rows) == height and len(rows[0]) == width + yield from (tuple(tuple(row[x:x+8]) for row in rows[y:y+8]) + for y in range(0, height, 8) for x in range(0, width, 8)) + +def tiles_to_rows(tiles, width, height): + assert width % 8 == 0 and height % 8 == 0 + width, height = width // 8, height // 8 + tiles = list(tiles) + assert len(tiles) == width * height + tile_rows = (tiles[y:y+width] for y in range(0, width * height, width)) + yield from ([tile[y][x] for tile in tile_row for x in range(8)] + for tile_row in tile_rows for y in range(8)) + +def tile_variants(tile, flip): + yield tile + if flip: + yield tile[::-1] + yield tuple(row[::-1] for row in tile) + yield tuple(row[::-1] for row in tile[::-1]) + +def unique_tiles(tiles, flip, cross): + if cross: + blank = [[(0, 0, 0)] * 8 for _ in range(8)] + for y in range(8): + blank[y][y] = blank[y][7 - y] = (31, 31, 31) + blank = tuple(tuple(row) for row in blank) + else: + blank = tuple(tuple([(31, 31, 31)] * 8) for _ in range(8)) + seen = set() + for tile in tiles: + if any(variant in seen for variant in tile_variants(tile, flip)): + yield blank + else: + yield tile + seen.add(tile) + +def is_grayscale(colors): + return (colors.issubset({(31, 31, 31), (21, 21, 21), (10, 10, 10), (0, 0, 0)}) or + colors.issubset({(31, 31, 31), (20, 20, 20), (10, 10, 10), (0, 0, 0)})) + +def erase_duplicates(filename, flip, cross): + with open(filename, 'rb') as file: + width, height, rows = png.Reader(file).asRGBA8()[:3] + rows = [list(rgb5_pixels(row)) for row in rows] + if width % 8 or height % 8: + return False + tiles = unique_tiles(rows_to_tiles(rows, width, height), flip, cross) + rows = list(tiles_to_rows(tiles, width, height)) + if is_grayscale({c for row in rows for c in row}): + rows = [list(gray_pixels(row)) for row in rows] + writer = png.Writer(width, height, greyscale=True, bitdepth=2, compression=9) + else: + rows = [list(rgb8_pixels(row)) for row in rows] + writer = png.Writer(width, height, greyscale=False, bitdepth=8, compression=9) + with open(filename, 'wb') as file: + writer.write(file, rows) + return True + +def main(): + flip = cross = False + while True: + if len(sys.argv) < 2: + print(f'Usage: {sys.argv[0]} [-f|--flip] [-x|--cross] tileset.png', file=sys.stderr) + sys.exit(1) + elif sys.argv[1] in {'-f', '--flip'}: + flip = True + elif sys.argv[1] in {'-x', '--cross'}: + cross = True + elif sys.argv[1] in {'-fx', '-xf'}: + flip = cross = True + else: + break + sys.argv.pop(1) + for filename in sys.argv[1:]: + if not filename.lower().endswith('.png'): + print(f'{filename} is not a .png file!', file=sys.stderr) + elif not erase_duplicates(filename, flip, cross): + print(f'{filename} is not divisible into 8x8 tiles!', file=sys.stderr) + +if __name__ == '__main__': + main() diff --git a/tools/unnamed.py b/tools/unnamed.py index c5544437..265f1452 100755 --- a/tools/unnamed.py +++ b/tools/unnamed.py @@ -1,130 +1,137 @@ #!/usr/bin/env python3 +# -*- coding: utf-8 -*- -from sys import stderr, exit -from subprocess import Popen, PIPE -from struct import unpack, calcsize -from enum import Enum +""" +Usage: unnamed.py [-h] [-r rootdir] [-l count] pokered.sym -class symtype(Enum): - LOCAL = 0 - IMPORT = 1 - EXPORT = 2 +Parse the symfile to find unnamed symbols. +""" -def unpack_file(fmt, file): - size = calcsize(fmt) - return unpack(fmt, file.read(size)) +import sys +import argparse +import subprocess +import struct +import enum +import signal + +class symtype(enum.Enum): + LOCAL = 0 + IMPORT = 1 + EXPORT = 2 + +def unpack_from(fmt, file): + size = struct.calcsize(fmt) + return struct.unpack(fmt, file.read(size)) def read_string(file): - buf = bytearray() - while True: - b = file.read(1) - if b is None or b == b'\0': - return buf.decode() - else: - buf += b - + buf = bytearray() + while True: + b = file.read(1) + if b is None or b == b'\0': + return buf.decode() + buf += b # Fix broken pipe when using `head` -from signal import signal, SIGPIPE, SIG_DFL -signal(SIGPIPE,SIG_DFL) +signal.signal(signal.SIGPIPE, signal.SIG_DFL) -import argparse -parser = argparse.ArgumentParser(description="Parse the symfile to find unnamed symbols") -parser.add_argument('symfile', type=argparse.FileType('r'), help="the list of symbols") -parser.add_argument('-r', '--rootdir', type=str, help="scan the output files to obtain a list of files with unnamed symbols (NOTE: will rebuild objects as necessary)") -parser.add_argument('-l', '--list', type=int, default=0, help="output this many of each file's unnamed symbols (NOTE: requires -r)") +parser = argparse.ArgumentParser(description='Parse the symfile to find unnamed symbols') +parser.add_argument('symfile', type=argparse.FileType('r'), + help='the list of symbols') +parser.add_argument('-r', '--rootdir', type=str, + help='scan the output files to obtain a list of files with unnamed symbols (note: will rebuild objects as necessary)') +parser.add_argument('-l', '--list', type=int, default=0, + help="output this many of each file's unnamed symbols (note: requires -r)") args = parser.parse_args() # Get list of object files objects = None if args.rootdir: - for line in Popen(["make", "-C", args.rootdir, "-s", "-p", "DEBUG=1"], - stdout=PIPE).stdout.read().decode().split("\n"): - if line.startswith("pokered_obj := "): - objects = line[15:].strip().split() - break - else: - print("Error: Object files not found!", file=stderr) - exit(1) + for line in subprocess.Popen(['make', '-C', args.rootdir, '-s', '-p', 'DEBUG=1'], + stdout=subprocess.PIPE).stdout.read().decode().split('\n'): + if line.startswith('pokered_obj := '): + objects = line[19:].strip().split() + break + else: + print('Error: Object files not found!', file=sys.stderr) + sys.exit(1) # Scan all unnamed symbols from the symfile symbols_total = 0 symbols = set() for line in args.symfile: - line = line.split(";")[0].strip() - split = line.split(" ") - if len(split) < 2: - continue + line = line.split(';')[0].strip() + split = line.split(' ') + if len(split) < 2: + continue - symbols_total += 1 + symbols_total += 1 - symbol = " ".join(split[1:]).strip() - if symbol[-3:].lower() == split[0][-3:].lower(): - symbols.add(symbol) + symbol = ' '.join(split[1:]).strip() + if symbol[-3:].lower() == split[0][-3:].lower(): + symbols.add(symbol) # If no object files were provided, just print what we know and exit -print("Unnamed pokered symbols: %d (%.2f%% complete)" % (len(symbols), - (symbols_total - len(symbols)) / symbols_total * 100)) +unnamed_percent = 100 * (symbols_total - len(symbols)) / symbols_total +print(f'Unnamed pokered symbols: {len(symbols)} ({unnamed_percent:.2f}% complete)') if not objects: - for sym in symbols: - print(sym) - exit() + for sym in symbols: + print(sym) + sys.exit() # Count the amount of symbols in each file -files = {} +file_symbols = {} for objfile in objects: - f = open(objfile, "rb") - obj_ver = None + with open(objfile, 'rb') as file: + obj_ver = None - magic = unpack_file("4s", f)[0] - if magic == b'RGB6': - obj_ver = 6 - elif magic == b'RGB9': - obj_ver = 10 + unpack_file("= 2 else 'pokered.map' + outfile = sys.argv[2] if len(sys.argv) >= 3 else 'used_space.png' + + num_banks = 0x80 + bank_mask = 0x3FFF + bank_size = 0x4000 # bytes + + bpp = 8 # bytes per pixel + height = 256 # pixels + assert bank_size % bpp == 0 and (bank_size // bpp) % height == 0 + + pixels_per_bank = bank_size // bpp # 2048 pixels + bank_width = pixels_per_bank // height # 8 pixels + width = bank_width * num_banks # 1024 pixels + + reader = MapReader() + with open(mapfile, 'r', encoding='utf-8') as file: + reader.read_map_data(file.readlines()) + + hit_data = [] + default_bank_data = {'sections': [], 'used': 0, 'slack': bank_size} + for bank in range(num_banks): + hits = [0] * pixels_per_bank + bank_data = reader.bank_data['ROM0 bank' if bank == 0 else 'ROMX bank'] + data = bank_data.get(bank, default_bank_data) + for s in data['sections']: + beg = s['beg'] & bank_mask + end = s['end'] & bank_mask + for i in range(beg, end + 1): + hits[i // bpp] += 1 + hit_data.append(hits) + + pixels = [[(0xFF, 0xFF, 0xFF)] * width for _ in range(height)] + for bank, hits in enumerate(hit_data): + hue = 0 if bank == 0 else 210 if bank % 2 else 270 + for i, hit in enumerate(hits): + x, y = i % bank_width + bank * bank_width, i // bank_width + hls = (hue / 360, 1 - (85 * hit / bpp) / 100, 1) + rgb = tuple(int(c * 0xFF) for c in hls_to_rgb(*hls)) + pixels[y][x] = rgb + + png_data = [tuple(c for pixel in row for c in pixel) for row in pixels] + with open(outfile, 'wb') as file: + writer = png.Writer(width, height, greyscale=False, bitdepth=8, compression=9) + writer.write(file, png_data) + +if __name__ == '__main__': + main() From fa7d76f39ef2ca94f1b4a1ba01039f748664f523 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 18 Sep 2022 23:59:03 -0400 Subject: [PATCH 107/119] Fix tools/unnamed.py and add tools/consts.py --- tools/consts.py | 56 ++++++++++++++++++++++++++++++++++++++++++++++++ tools/unnamed.py | 4 ++-- 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100755 tools/consts.py diff --git a/tools/consts.py b/tools/consts.py new file mode 100755 index 00000000..37c85951 --- /dev/null +++ b/tools/consts.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +""" +Usage: python consts.py constants/some_constants.asm + +View numeric values of `const`ants. +""" + +import sys +import re + +const_value = 0 +const_inc = 1 + +def asm_int(s): + base = {'$': 16, '&': 8, '%': 2}.get(s[0], 10) + return int(s if base == 10 else s[1:], base) + +def print_const(s, v): + print(f'{s} == {v} == ${v:x}') + +def parse_for_constants(line): + global const_value, const_inc + if not (m := re.match(r'^\s+([A-Za-z_][A-Za-z0-9_@#]*)(?:\s+([^;\\n]+))?', line)): + return + macro, rest = m.groups() + args = [arg.strip() for arg in rest.split(',')] if rest else [] + if args and not args[-1]: + args = args[:-1] + if macro == 'const_def': + const_value = asm_int(args[0]) if len(args) >= 1 else 0 + const_inc = asm_int(args[1]) if len(args) >= 2 else 1 + elif macro == 'const': + print_const(args[0], const_value) + const_value += const_inc + elif macro == 'shift_const': + print_const(args[0], 1 << const_value) + print_const(args[0] + '_F', const_value) + const_value += const_inc + elif macro == 'const_skip': + const_value += const_inc * (asm_int(args[0]) if len(args) >= 1 else 1) + elif macro == 'const_next': + const_value = asm_int(args[0]) + +def main(): + if len(sys.argv) < 2: + print(f'Usage: {sys.argv[0]} constants/some_constants.asm', file=sys.stderr) + sys.exit(1) + for filename in sys.argv[1:]: + with open(filename, 'r', encoding='utf-8') as file: + for line in file: + parse_for_constants(line) + +if __name__ == '__main__': + main() diff --git a/tools/unnamed.py b/tools/unnamed.py index 265f1452..9dcf5cb3 100755 --- a/tools/unnamed.py +++ b/tools/unnamed.py @@ -48,8 +48,8 @@ objects = None if args.rootdir: for line in subprocess.Popen(['make', '-C', args.rootdir, '-s', '-p', 'DEBUG=1'], stdout=subprocess.PIPE).stdout.read().decode().split('\n'): - if line.startswith('pokered_obj := '): - objects = line[19:].strip().split() + if line.startswith('pokered_obj :='): + objects = line[len('pokered_obj :='):].strip().split() break else: print('Error: Object files not found!', file=sys.stderr) From d2be79adf1c366b28821817cefaab9066668b205 Mon Sep 17 00:00:00 2001 From: Rangi <35663410+Rangi42@users.noreply.github.com> Date: Sat, 24 Sep 2022 11:30:29 -0400 Subject: [PATCH 108/119] Add constants and table macros for the map sprite sets (#392) Fixes #391 --- constants.asm | 1 + constants/sprite_set_constants.asm | 38 +++++++ data/maps/sprite_sets.asm | 160 +++++++++++++---------------- engine/overworld/map_sprites.asm | 72 +++++++------ ram/wram.asm | 4 +- 5 files changed, 150 insertions(+), 125 deletions(-) create mode 100644 constants/sprite_set_constants.asm diff --git a/constants.asm b/constants.asm index a307549b..b9445784 100644 --- a/constants.asm +++ b/constants.asm @@ -28,6 +28,7 @@ INCLUDE "constants/map_constants.asm" INCLUDE "constants/map_data_constants.asm" INCLUDE "constants/map_object_constants.asm" INCLUDE "constants/hide_show_constants.asm" +INCLUDE "constants/sprite_set_constants.asm" INCLUDE "constants/credits_constants.asm" INCLUDE "constants/audio_constants.asm" INCLUDE "constants/music_constants.asm" diff --git a/constants/sprite_set_constants.asm b/constants/sprite_set_constants.asm new file mode 100644 index 00000000..4f617c4a --- /dev/null +++ b/constants/sprite_set_constants.asm @@ -0,0 +1,38 @@ +; sprite set ids +; indexes for SpriteSets (see data/maps/sprite_sets.asm) +; values for MapSpriteSets and SplitMapSpriteSets (see data/maps/sprite_sets.asm) + const_def 1 + const SPRITESET_PALLET_VIRIDIAN ; 01 + const SPRITESET_PEWTER_CERULEAN ; 02 + const SPRITESET_LAVENDER ; 03 + const SPRITESET_VERMILION ; 04 + const SPRITESET_CELADON ; 05 + const SPRITESET_INDIGO ; 06 + const SPRITESET_SAFFRON ; 07 + const SPRITESET_SILENCE_BRIDGE ; 08 + const SPRITESET_CYCLING_ROAD ; 09 + const SPRITESET_FUCHSIA ; 0a +DEF NUM_SPRITE_SETS EQU const_value - 1 + +; split sprite set ids +; indexes for SplitMapSpriteSets (see data/maps/sprite_sets.asm) +; values for MapSpriteSets (see data/maps/sprite_sets.asm) + const_next $f1 +DEF FIRST_SPLIT_SET EQU const_value + const SPLITSET_ROUTE_2 ; f1 + const SPLITSET_ROUTE_10 ; f2 + const SPLITSET_ROUTE_11 ; f3 + const SPLITSET_ROUTE_12 ; f4 + const SPLITSET_ROUTE_15 ; f5 + const SPLITSET_ROUTE_16 ; f6 + const SPLITSET_ROUTE_18 ; f7 + const SPLITSET_ROUTE_20 ; f8 + const SPLITSET_ROUTE_5 ; f9 + const SPLITSET_ROUTE_6 ; fa + const SPLITSET_ROUTE_7 ; fb + const SPLITSET_ROUTE_8 ; fc +DEF NUM_SPLIT_SETS EQU const_value - FIRST_SPLIT_SET + +; split directions +DEF EAST_WEST EQU 1 +DEF NORTH_SOUTH EQU 2 diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm index 755ed2fc..23274aa2 100644 --- a/data/maps/sprite_sets.asm +++ b/data/maps/sprite_sets.asm @@ -1,73 +1,72 @@ +; Valid sprite IDs for each outdoor map. + MapSpriteSets: table_width 1, MapSpriteSets - db $01 ; PALLET_TOWN - db $01 ; VIRIDIAN_CITY - db $02 ; PEWTER_CITY - db $02 ; CERULEAN_CITY - db $03 ; LAVENDER_TOWN - db $04 ; VERMILION_CITY - db $05 ; CELADON_CITY - db $0a ; FUCHSIA_CITY - db $01 ; CINNABAR_ISLAND - db $06 ; INDIGO_PLATEAU - db $07 ; SAFFRON_CITY - db $01 ; unused map ID - db $01 ; ROUTE_1 - db $f1 ; ROUTE_2 - db $02 ; ROUTE_3 - db $02 ; ROUTE_4 - db $f9 ; ROUTE_5 - db $fa ; ROUTE_6 - db $fb ; ROUTE_7 - db $fc ; ROUTE_8 - db $02 ; ROUTE_9 - db $f2 ; ROUTE_10 - db $f3 ; ROUTE_11 - db $f4 ; ROUTE_12 - db $08 ; ROUTE_13 - db $08 ; ROUTE_14 - db $f5 ; ROUTE_15 - db $f6 ; ROUTE_16 - db $09 ; ROUTE_17 - db $f7 ; ROUTE_18 - db $0a ; ROUTE_19 - db $f8 ; ROUTE_20 - db $01 ; ROUTE_21 - db $01 ; ROUTE_22 - db $06 ; ROUTE_23 - db $02 ; ROUTE_24 - db $02 ; ROUTE_25 + db SPRITESET_PALLET_VIRIDIAN ; PALLET_TOWN + db SPRITESET_PALLET_VIRIDIAN ; VIRIDIAN_CITY + db SPRITESET_PEWTER_CERULEAN ; PEWTER_CITY + db SPRITESET_PEWTER_CERULEAN ; CERULEAN_CITY + db SPRITESET_LAVENDER ; LAVENDER_TOWN + db SPRITESET_VERMILION ; VERMILION_CITY + db SPRITESET_CELADON ; CELADON_CITY + db SPRITESET_FUCHSIA ; FUCHSIA_CITY + db SPRITESET_PALLET_VIRIDIAN ; CINNABAR_ISLAND + db SPRITESET_INDIGO ; INDIGO_PLATEAU + db SPRITESET_SAFFRON ; SAFFRON_CITY + db SPRITESET_PALLET_VIRIDIAN ; UNUSED_MAP_0B + db SPRITESET_PALLET_VIRIDIAN ; ROUTE_1 + db SPLITSET_ROUTE_2 ; ROUTE_2 + db SPRITESET_PEWTER_CERULEAN ; ROUTE_3 + db SPRITESET_PEWTER_CERULEAN ; ROUTE_4 + db SPLITSET_ROUTE_5 ; ROUTE_5 + db SPLITSET_ROUTE_6 ; ROUTE_6 + db SPLITSET_ROUTE_7 ; ROUTE_7 + db SPLITSET_ROUTE_8 ; ROUTE_8 + db SPRITESET_PEWTER_CERULEAN ; ROUTE_9 + db SPLITSET_ROUTE_10 ; ROUTE_10 + db SPLITSET_ROUTE_11 ; ROUTE_11 + db SPLITSET_ROUTE_12 ; ROUTE_12 + db SPRITESET_SILENCE_BRIDGE ; ROUTE_13 + db SPRITESET_SILENCE_BRIDGE ; ROUTE_14 + db SPLITSET_ROUTE_15 ; ROUTE_15 + db SPLITSET_ROUTE_16 ; ROUTE_16 + db SPRITESET_CYCLING_ROAD ; ROUTE_17 + db SPLITSET_ROUTE_18 ; ROUTE_18 + db SPRITESET_FUCHSIA ; ROUTE_19 + db SPLITSET_ROUTE_20 ; ROUTE_20 + db SPRITESET_PALLET_VIRIDIAN ; ROUTE_21 + db SPRITESET_PALLET_VIRIDIAN ; ROUTE_22 + db SPRITESET_INDIGO ; ROUTE_23 + db SPRITESET_PEWTER_CERULEAN ; ROUTE_24 + db SPRITESET_PEWTER_CERULEAN ; ROUTE_25 assert_table_length FIRST_INDOOR_MAP -DEF EAST_WEST EQU 1 -DEF NORTH_SOUTH EQU 2 - ; Format: -; 00: determines whether the map is split EAST_WEST or NORTH_SOUTH -; 01: coordinate of dividing line -; 02: sprite set ID if in the West or North side -; 03: sprite set ID if in the East or South side +; #1: whether the map is split EAST_WEST or NORTH_SOUTH +; #2: coordinate of dividing line +; #3: sprite set ID if on the west or north side +; #4: sprite set ID if on the east or south side SplitMapSpriteSets: - db NORTH_SOUTH, 37, $02, $01 ; $f1 - db NORTH_SOUTH, 50, $02, $03 ; $f2 - db EAST_WEST, 57, $04, $08 ; $f3 - db NORTH_SOUTH, 21, $03, $08 ; $f4 - db EAST_WEST, 8, $0A, $08 ; $f5 - db EAST_WEST, 24, $09, $05 ; $f6 - db EAST_WEST, 34, $09, $0A ; $f7 - db EAST_WEST, 53, $01, $0A ; $f8 - db NORTH_SOUTH, 33, $02, $07 ; $f9 - db NORTH_SOUTH, 2, $07, $04 ; $fa - db EAST_WEST, 17, $05, $07 ; $fb - db EAST_WEST, 3, $07, $03 ; $fc + table_width 4, SplitMapSpriteSets + db NORTH_SOUTH, 37, SPRITESET_PEWTER_CERULEAN, SPRITESET_PALLET_VIRIDIAN ; SPLITSET_ROUTE_2 + db NORTH_SOUTH, 50, SPRITESET_PEWTER_CERULEAN, SPRITESET_LAVENDER ; SPLITSET_ROUTE_10 + db EAST_WEST, 57, SPRITESET_VERMILION, SPRITESET_SILENCE_BRIDGE ; SPLITSET_ROUTE_11 + db NORTH_SOUTH, 21, SPRITESET_LAVENDER, SPRITESET_SILENCE_BRIDGE ; SPLITSET_ROUTE_12 + db EAST_WEST, 8, SPRITESET_FUCHSIA, SPRITESET_SILENCE_BRIDGE ; SPLITSET_ROUTE_15 + db EAST_WEST, 24, SPRITESET_CYCLING_ROAD, SPRITESET_CELADON ; SPLITSET_ROUTE_16 + db EAST_WEST, 34, SPRITESET_CYCLING_ROAD, SPRITESET_FUCHSIA ; SPLITSET_ROUTE_18 + db EAST_WEST, 53, SPRITESET_PALLET_VIRIDIAN, SPRITESET_FUCHSIA ; SPLITSET_ROUTE_20 + db NORTH_SOUTH, 33, SPRITESET_PEWTER_CERULEAN, SPRITESET_SAFFRON ; SPLITSET_ROUTE_5 + db NORTH_SOUTH, 2, SPRITESET_SAFFRON, SPRITESET_VERMILION ; SPLITSET_ROUTE_6 + db EAST_WEST, 17, SPRITESET_CELADON, SPRITESET_SAFFRON ; SPLITSET_ROUTE_7 + db EAST_WEST, 3, SPRITESET_SAFFRON, SPRITESET_LAVENDER ; SPLITSET_ROUTE_8 + assert_table_length NUM_SPLIT_SETS SpriteSets: + ; each sprite set has 9 walking sprites and 2 still sprites + table_width 9 + 2, SpriteSets -; each sprite set has 9 walking sprites and 2 still sprites -DEF SPRITE_SET_LENGTH EQU 9 + 2 - -; sprite set $01 - table_width 1 +; SPRITESET_PALLET_VIRIDIAN db SPRITE_BLUE db SPRITE_YOUNGSTER db SPRITE_GIRL @@ -79,10 +78,8 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_SWIMMER db SPRITE_POKE_BALL db SPRITE_GAMBLER_ASLEEP - assert_table_length SPRITE_SET_LENGTH -; sprite set $02 - table_width 1 +; SPRITESET_PEWTER_CERULEAN db SPRITE_YOUNGSTER db SPRITE_ROCKET db SPRITE_SUPER_NERD @@ -94,10 +91,8 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_COOLTRAINER_M db SPRITE_POKE_BALL db SPRITE_UNUSED_GAMBLER_ASLEEP_2 - assert_table_length SPRITE_SET_LENGTH -; sprite set $03 - table_width 1 +; SPRITESET_LAVENDER db SPRITE_LITTLE_GIRL db SPRITE_GIRL db SPRITE_SUPER_NERD @@ -109,10 +104,8 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_GUARD db SPRITE_POKE_BALL db SPRITE_UNUSED_GAMBLER_ASLEEP_2 - assert_table_length SPRITE_SET_LENGTH -; sprite set $04 - table_width 1 +; SPRITESET_VERMILION db SPRITE_BEAUTY db SPRITE_SUPER_NERD db SPRITE_YOUNGSTER @@ -124,10 +117,8 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_COOLTRAINER_M db SPRITE_POKE_BALL db SPRITE_UNUSED_GAMBLER_ASLEEP_2 - assert_table_length SPRITE_SET_LENGTH -; sprite set $05 - table_width 1 +; SPRITESET_CELADON db SPRITE_LITTLE_GIRL db SPRITE_LITTLE_BOY db SPRITE_GIRL @@ -139,10 +130,8 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_ROCKET db SPRITE_POKE_BALL db SPRITE_SNORLAX - assert_table_length SPRITE_SET_LENGTH -; sprite set $06 - table_width 1 +; SPRITESET_INDIGO db SPRITE_YOUNGSTER db SPRITE_GYM_GUIDE db SPRITE_MONSTER @@ -154,10 +143,8 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_GAMBLER db SPRITE_POKE_BALL db SPRITE_UNUSED_GAMBLER_ASLEEP_2 - assert_table_length SPRITE_SET_LENGTH -; sprite set $07 - table_width 1 +; SPRITESET_SAFFRON db SPRITE_ROCKET db SPRITE_SCIENTIST db SPRITE_SILPH_WORKER @@ -169,10 +156,8 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_MONSTER db SPRITE_POKE_BALL db SPRITE_UNUSED_GAMBLER_ASLEEP_2 - assert_table_length SPRITE_SET_LENGTH -; sprite set $08 - table_width 1 +; SPRITESET_SILENCE_BRIDGE db SPRITE_BIKER db SPRITE_SUPER_NERD db SPRITE_MIDDLE_AGED_MAN @@ -184,10 +169,8 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_MONSTER db SPRITE_POKE_BALL db SPRITE_SNORLAX - assert_table_length SPRITE_SET_LENGTH -; sprite set $09 - table_width 1 +; SPRITESET_CYCLING_ROAD db SPRITE_BIKER db SPRITE_COOLTRAINER_M db SPRITE_SILPH_WORKER @@ -199,10 +182,8 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_SUPER_NERD db SPRITE_POKE_BALL db SPRITE_SNORLAX - assert_table_length SPRITE_SET_LENGTH -; sprite set $0a - table_width 1 +; SPRITESET_FUCHSIA db SPRITE_BIRD db SPRITE_COOLTRAINER_M db SPRITE_FAIRY @@ -214,4 +195,5 @@ DEF SPRITE_SET_LENGTH EQU 9 + 2 db SPRITE_YOUNGSTER db SPRITE_POKE_BALL db SPRITE_FOSSIL - assert_table_length SPRITE_SET_LENGTH + + assert_table_length NUM_SPRITE_SETS diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index fa3a37dc..5a4c27c3 100644 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -11,7 +11,7 @@ InitMapSprites:: call InitOutsideMapSprites ret c ; return if the map is an outside map (already handled by above call) -; if the map is an inside map (i.e. mapID >= $25) +; if the map is an inside map (i.e. mapID >= FIRST_INDOOR_MAP) ld hl, wSpritePlayerStateData1PictureID ld de, wSpritePlayerStateData2PictureID ; Loop to copy picture IDs from [x#SPRITESTATEDATA1_PICTUREID] @@ -19,10 +19,10 @@ InitMapSprites:: .copyPictureIDLoop ld a, [hl] ; a = [x#SPRITESTATEDATA1_PICTUREID] ld [de], a ; [x#SPRITESTATEDATA2_PICTUREID] = a - ld a, $10 + ld a, SPRITESTATEDATA1_LENGTH add e ld e, a - ld a, $10 + ld a, SPRITESTATEDATA1_LENGTH add l ld l, a jr nz, .copyPictureIDLoop @@ -37,7 +37,7 @@ LoadMapSpriteTilePatterns: ret .spritesExist ld c, a ; c = [wNumSprites] - ld b, $10 ; number of sprite slots + ld b, NUM_SPRITESTATEDATA_STRUCTS ld hl, wSpritePlayerStateData2PictureID xor a ldh [hFourTileSpriteCount], a @@ -47,7 +47,7 @@ LoadMapSpriteTilePatterns: ld a, [hli] ; a = [x#SPRITESTATEDATA2_PICTUREID] ld [hld], a ; [x#SPRITESTATEDATA2_IMAGEBASEOFFSET] = a ld a, l - add $10 + add SPRITESTATEDATA1_LENGTH ld l, a dec b jr nz, .copyPictureIDLoop @@ -69,17 +69,17 @@ LoadMapSpriteTilePatterns: cp [hl] ; do the picture ID's match? jp z, .alreadyLoaded ld a, e - add $10 + add SPRITESTATEDATA1_LENGTH ld e, a jr .checkIfAlreadyLoadedLoop .notAlreadyLoaded ld de, wSpritePlayerStateData2ImageBaseOffset - ld b, $01 + ld b, 1 ; loop to find the highest tile pattern VRAM slot (among the first 10 slots) used by a previous sprite slot ; this is done in order to find the first free VRAM slot available .findNextVRAMSlotLoop ld a, e - add $10 + add SPRITESTATEDATA1_LENGTH ld e, a ld a, l cp e ; reached current slot? @@ -187,7 +187,7 @@ LoadMapSpriteTilePatterns: jr nz, .loadWhileLCDOn pop af pop hl - set 3, h ; add $800 to hl + set 3, h ; add $80 tiles to hl push hl ld h, d ld l, e @@ -200,7 +200,7 @@ LoadMapSpriteTilePatterns: .loadWhileLCDOn pop af pop hl - set 3, h ; add $800 to hl + set 3, h ; add $80 tiles to hl ld b, a swap c call CopyVideoData ; load tile pattern data for sprite when walking @@ -214,18 +214,18 @@ LoadMapSpriteTilePatterns: ld [hl], a ; [x#SPRITESTATEDATA2_IMAGEBASEOFFSET] = a .nextSpriteSlot ld a, l - add $10 + add SPRITESTATEDATA2_LENGTH ld l, a dec c jp nz, .loadTilePatternLoop ld hl, wSpritePlayerStateData2PictureID - ld b, $10 + ld b, NUM_SPRITESTATEDATA_STRUCTS ; the pictures IDs stored at [x#SPRITESTATEDATA2_PICTUREID] are no longer needed, ; so zero them .zeroStoredPictureIDLoop xor a ld [hl], a ; [x#SPRITESTATEDATA2_PICTUREID] - ld a, $10 + ld a, SPRITESTATEDATA2_LENGTH add l ld l, a dec b @@ -264,7 +264,7 @@ InitOutsideMapSprites: inc h .noCarry ld a, [hl] ; a = spriteSetID - cp $f0 ; does the map have 2 sprite sets? + cp FIRST_SPLIT_SET - 1 ; does the map have 2 sprite sets? call nc, GetSplitMapSpriteSetID ; if so, choose the appropriate one ld b, a ; b = spriteSetID ld a, [wFontLoaded] @@ -300,7 +300,7 @@ InitOutsideMapSprites: ; with picture IDs. This is done so that LoadMapSpriteTilePatterns will ; load tile patterns for all sprite pictures in the sprite set. .loadSpriteSetLoop - ld a, $10 + ld a, SPRITESTATEDATA2_LENGTH add l ld l, a ld a, [de] ; sprite picture ID from sprite set @@ -313,7 +313,7 @@ InitOutsideMapSprites: jr nz, .loadSpriteSetLoop ld b, 4 ; 4 remaining sprite slots .zeroRemainingSlotsLoop ; loop to zero the picture ID's of the remaining sprite slots - ld a, $10 + ld a, SPRITESTATEDATA2_LENGTH add l ld l, a xor a @@ -335,7 +335,7 @@ InitOutsideMapSprites: .zeroVRAMSlotsLoop xor a ld [hl], a ; [x#SPRITESTATEDATA2_IMAGEBASEOFFSET] - ld a, $10 + ld a, SPRITESTATEDATA2_LENGTH add l ld l, a dec b @@ -366,14 +366,14 @@ InitOutsideMapSprites: inc c .skipGettingPictureIndex push hl - inc h - ld a, $0e + inc h ; HIGH(wSpriteStateData2) + ld a, SPRITESTATEDATA2_IMAGEBASEOFFSET - SPRITESTATEDATA1_PICTUREID add l ld l, a ld a, c ; a = VRAM slot (zero if sprite slot is not used) ld [hl], a ; [x#SPRITESTATEDATA2_IMAGEBASEOFFSET] pop hl - ld a, $10 + ld a, SPRITESTATEDATA1_LENGTH add l ld l, a and a @@ -384,7 +384,7 @@ InitOutsideMapSprites: ; Chooses the correct sprite set ID depending on the player's position within ; the map for maps with two sprite sets. GetSplitMapSpriteSetID: - cp $f8 + cp SPLITSET_ROUTE_20 jr z, .route20 ld hl, SplitMapSpriteSets and $0f @@ -396,8 +396,8 @@ GetSplitMapSpriteSetID: jr nc, .noCarry inc h .noCarry - ld a, [hli] ; determines whether the map is split East/West or North/South - cp $01 + ld a, [hli] ; whether the map is split EAST_WEST or NORTH_SOUTH + cp EAST_WEST ld a, [hli] ; position of dividing line ld b, a jr z, .eastWestDivide @@ -409,35 +409,39 @@ GetSplitMapSpriteSetID: .compareCoord cp b jr c, .loadSpriteSetID -; if in the East side or South side +; if in the east side or south side inc hl .loadSpriteSetID ld a, [hl] ret -; Uses sprite set $01 for West side and $0A for East side. +; Uses sprite set SPRITESET_PALLET_VIRIDIAN for west side and SPRITESET_FUCHSIA for east side. ; Route 20 is a special case because the two map sections have a more complex ; shape instead of the map simply being split horizontally or vertically. .route20 ld hl, wXCoord + ; Use SPRITESET_PALLET_VIRIDIAN if X < 43 ld a, [hl] - cp $2b - ld a, $01 + cp 43 + ld a, SPRITESET_PALLET_VIRIDIAN ret c + ; Use SPRITESET_FUCHSIA if X >= 62. ld a, [hl] - cp $3e - ld a, $0a + cp 62 + ld a, SPRITESET_FUCHSIA ret nc + ; If 55 <= X < 62, split Y at 8; else 43 <= X < 55, so split Y at 13 ld a, [hl] - cp $37 - ld b, $08 + cp 55 + ld b, 8 jr nc, .next - ld b, $0d + ld b, 13 .next + ; Use SPRITESET_FUCHSIA if Y < split; else use SPRITESET_PALLET_VIRIDIAN ld a, [wYCoord] cp b - ld a, $0a + ld a, SPRITESET_FUCHSIA ret c - ld a, $01 + ld a, SPRITESET_PALLET_VIRIDIAN ret INCLUDE "data/maps/sprite_sets.asm" diff --git a/ram/wram.asm b/ram/wram.asm index 3becc82a..4923ebca 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -101,7 +101,7 @@ wSpriteStateData1:: ; - E ; - F wSpritePlayerStateData1:: spritestatedata1 wSpritePlayerStateData1 ; player is struct 0 -; wSprite02StateData1 - wSprite15StateData1 +; wSprite01StateData1 - wSprite15StateData1 FOR n, 1, NUM_SPRITESTATEDATA_STRUCTS wSprite{02d:n}StateData1:: spritestatedata1 wSprite{02d:n}StateData1 ENDR @@ -127,7 +127,7 @@ wSpriteStateData2:: ; - E: sprite image base offset (in video ram, player always has value 1, used to compute sprite image index) ; - F wSpritePlayerStateData2:: spritestatedata2 wSpritePlayerStateData2 ; player is struct 0 -; wSprite02StateData2 - wSprite15StateData2 +; wSprite01StateData2 - wSprite15StateData2 FOR n, 1, NUM_SPRITESTATEDATA_STRUCTS wSprite{02d:n}StateData2:: spritestatedata2 wSprite{02d:n}StateData2 ENDR From c299cf10675164502a7c487a29014b2927a403c0 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 24 Sep 2022 11:39:39 -0400 Subject: [PATCH 109/119] Use a SPRITE_SET_LENGTH constant --- constants/sprite_set_constants.asm | 3 +++ data/maps/sprite_sets.asm | 3 +-- engine/overworld/map_sprites.asm | 8 ++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/constants/sprite_set_constants.asm b/constants/sprite_set_constants.asm index 4f617c4a..56e4ccbb 100644 --- a/constants/sprite_set_constants.asm +++ b/constants/sprite_set_constants.asm @@ -36,3 +36,6 @@ DEF NUM_SPLIT_SETS EQU const_value - FIRST_SPLIT_SET ; split directions DEF EAST_WEST EQU 1 DEF NORTH_SOUTH EQU 2 + +; each sprite set has 9 walking sprites and 2 still sprites +DEF SPRITE_SET_LENGTH EQU 9 + 2 diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm index 23274aa2..76ddee34 100644 --- a/data/maps/sprite_sets.asm +++ b/data/maps/sprite_sets.asm @@ -63,8 +63,7 @@ SplitMapSpriteSets: assert_table_length NUM_SPLIT_SETS SpriteSets: - ; each sprite set has 9 walking sprites and 2 still sprites - table_width 9 + 2, SpriteSets + table_width SPRITE_SET_LENGTH, SpriteSets ; SPRITESET_PALLET_VIRIDIAN db SPRITE_BLUE diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 5a4c27c3..8acbb04f 100644 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -283,7 +283,7 @@ InitOutsideMapSprites: sla a sla a add c - add b ; a = (spriteSetID - 1) * 11 + add b ; a = (spriteSetID - 1) * SPRITE_SET_LENGTH ld de, SpriteSets ; add a to de to get offset of sprite set add e @@ -309,7 +309,7 @@ InitOutsideMapSprites: inc de inc bc ld a, l - cp $bd ; reached 11th sprite slot? + cp 11 * SPRITESTATEDATA2_LENGTH + SPRITESTATEDATA2_PICTUREID ; reached 11th sprite slot? jr nz, .loadSpriteSetLoop ld b, 4 ; 4 remaining sprite slots .zeroRemainingSlotsLoop ; loop to zero the picture ID's of the remaining sprite slots @@ -322,13 +322,13 @@ InitOutsideMapSprites: jr nz, .zeroRemainingSlotsLoop ld a, [wNumSprites] push af ; save number of sprites - ld a, 11 ; 11 sprites in sprite set + ld a, SPRITE_SET_LENGTH ; 11 sprites in sprite set ld [wNumSprites], a call LoadMapSpriteTilePatterns pop af ld [wNumSprites], a ; restore number of sprites ld hl, wSprite01StateData2ImageBaseOffset - ld b, $0f + ld b, NUM_SPRITESTATEDATA_STRUCTS - 1 ; The VRAM tile pattern slots that LoadMapSpriteTilePatterns set are in the ; order of the map's sprite set, not the order of the actual sprites loaded ; for the current map. So, they are not needed and are zeroed by this loop. From 0f5a9eb1465c76426034a68caa2ff350d29716e0 Mon Sep 17 00:00:00 2001 From: BlueZangoose <113498143+BlueZangoose@users.noreply.github.com> Date: Sun, 25 Sep 2022 19:17:39 +0100 Subject: [PATCH 110/119] Change names of move subanimations to be meaningful (#389) Co-authored-by: Rangi --- Makefile | 4 +- constants/move_animation_constants.asm | 175 ++++--- data/battle_anims/subanimations.asm | 344 ++++++------ data/moves/animations.asm | 493 +++++++++--------- engine/battle/animations.asm | 31 +- engine/movie/splash.asm | 8 +- engine/overworld/cut.asm | 4 +- .../{attack_anim_1.png => move_anim_0.png} | Bin .../{attack_anim_2.png => move_anim_1.png} | Bin 9 files changed, 533 insertions(+), 526 deletions(-) rename gfx/battle/{attack_anim_1.png => move_anim_0.png} (100%) rename gfx/battle/{attack_anim_2.png => move_anim_1.png} (100%) diff --git a/Makefile b/Makefile index 636f5c3d..286b2b9d 100644 --- a/Makefile +++ b/Makefile @@ -153,8 +153,8 @@ pokeblue_vc_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON BLUE" ### Misc file-specific graphics rules -gfx/battle/attack_anim_1.2bpp: tools/gfx += --trim-whitespace -gfx/battle/attack_anim_2.2bpp: tools/gfx += --trim-whitespace +gfx/battle/move_anim_0.2bpp: tools/gfx += --trim-whitespace +gfx/battle/move_anim_1.2bpp: tools/gfx += --trim-whitespace gfx/intro/blue_jigglypuff_1.2bpp: rgbgfx += -h gfx/intro/blue_jigglypuff_2.2bpp: rgbgfx += -h diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index 3d62cd19..2057541b 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -45,93 +45,96 @@ DEF FIRST_SE_ID EQU const_value ; subanimations that are part of move animations ; SubanimationPointers indexes (see data/battle_anims/subanimations.asm) + +; The 0 or 1 in the name of a subanim indicates whether to use tileset 0 or 1 data/moves/animations.asm. +; "Both" indicates either can be used for different images using the same animation. const_def - const SUBANIM_00 - const SUBANIM_01 - const SUBANIM_02 - const SUBANIM_03 - const SUBANIM_04 - const SUBANIM_05 - const SUBANIM_06 - const SUBANIM_07 - const SUBANIM_08 - const SUBANIM_09 - const SUBANIM_0A - const SUBANIM_0B - const SUBANIM_0C - const SUBANIM_0D - const SUBANIM_0E - const SUBANIM_0F - const SUBANIM_10 - const SUBANIM_11 - const SUBANIM_12 - const SUBANIM_13 - const SUBANIM_14 - const SUBANIM_15 - const SUBANIM_16 - const SUBANIM_17 - const SUBANIM_18 - const SUBANIM_19 - const SUBANIM_1A - const SUBANIM_1B - const SUBANIM_1C - const SUBANIM_1D - const SUBANIM_1E - const SUBANIM_1F - const SUBANIM_20 - const SUBANIM_21 - const SUBANIM_22 - const SUBANIM_23 - const SUBANIM_24 - const SUBANIM_25 - const SUBANIM_26 - const SUBANIM_27 - const SUBANIM_28 - const SUBANIM_29 - const SUBANIM_2A - const SUBANIM_2B - const SUBANIM_2C - const SUBANIM_2D - const SUBANIM_2E - const SUBANIM_2F - const SUBANIM_30 - const SUBANIM_31 - const SUBANIM_32 - const SUBANIM_33 - const SUBANIM_34 - const SUBANIM_35 - const SUBANIM_36 - const SUBANIM_37 - const SUBANIM_38 - const SUBANIM_39 - const SUBANIM_3A - const SUBANIM_3B - const SUBANIM_3C - const SUBANIM_3D - const SUBANIM_3E - const SUBANIM_3F - const SUBANIM_40 - const SUBANIM_41 - const SUBANIM_42 - const SUBANIM_43 - const SUBANIM_44 - const SUBANIM_45 - const SUBANIM_46 - const SUBANIM_47 - const SUBANIM_48 - const SUBANIM_49 - const SUBANIM_4A - const SUBANIM_4B - const SUBANIM_4C - const SUBANIM_4D - const SUBANIM_4E - const SUBANIM_4F - const SUBANIM_50 - const SUBANIM_51 - const SUBANIM_52 - const SUBANIM_53 - const SUBANIM_54 - const SUBANIM_55 + const SUBANIM_0_STAR + const SUBANIM_0_STAR_TWICE + const SUBANIM_0_STAR_THRICE + const SUBANIM_0_STAR_DESCENDING + const SUBANIM_1_STAR_BIG_MOVING + const SUBANIM_1_STAR_BIG + const SUBANIM_0_BALL_TOSS_HIGH + const SUBANIM_0_BALL_TOSS_MIDDLE + const SUBANIM_0_BALL_TOSS_LOW + const SUBANIM_0_BALL_SHAKE_ENEMY + const SUBANIM_0_BALL_POOF_ENEMY + const SUBANIM_0_BALL_BLOCK + const SUBANIM_1_FLAME_COLUMN_1 + const SUBANIM_1_FLAME_COLUMN_2 + const SUBANIM_1_FLAME_COLUMN_3 + const SUBANIM_0_SCRATCHES + const SUBANIM_1_TORNADO + const SUBANIM_1_FLAMES + const SUBANIM_0_HEART_1_MUSIC + const SUBANIM_1_BLOB_TOSS + const SUBANIM_1_BLOB_DRIP_ENEMY + const SUBANIM_1_SHOUT + const SUBANIM_0_SLICE + const SUBANIM_0_BIRDIES_CIRCLING_ENEMY + const SUBANIM_1_SWORDS_CIRCLING + const SUBANIM_1_CLOUD_TOSS + const SUBANIM_0_WATER_COLUMNS + const SUBANIM_1_SEED_TOSS + const SUBANIM_1_SEED_LAND + const SUBANIM_0_ROCKS_LIFT + const SUBANIM_0_ROCKS_TOSS + const SUBANIM_1_FLAME_BEAM + const SUBANIM_1_FLAME_STAR + const SUBANIM_0_CIRCLES_1_SQUARES_CENTERING_ENEMY + const SUBANIM_0_CIRCLE_1_SQUARE_TOSS_BACK + const SUBANIM_0_BIND + const SUBANIM_0_STATUS_PARALYZED + const SUBANIM_0_STATUS_CONFUSED + const SUBANIM_0_STATUS_CONFUSED_ENEMY + const SUBANIM_0_STATUS_POISONED + const SUBANIM_1_SAND + const SUBANIM_1_LIGHTNING_BALL + const SUBANIM_0_SLICE_BOTH_SIDES + const SUBANIM_1_LIGHTNING + const SUBANIM_0_WATER_DROPLETS + const SUBANIM_0_CIRCLES_CENTERING + const SUBANIM_0_BEAM + const SUBANIM_0_ICE_RISE + const SUBANIM_0_ROCKS_FALL_ENEMY + const SUBANIM_0_SOUND_WAVE + const SUBANIM_0_CIRCLE_1_SQUARE_HALF_TOSS ; unused + const SUBANIM_1_BARRIER + const SUBANIM_1_SELFDESTRUCT + const SUBANIM_0_WATER_BUBBLES + const SUBANIM_0_CIRCLES_FALLING + const SUBANIM_0_STRING_SHOT + const SUBANIM_0_ICE_FALL + const SUBANIM_0_CIRCLE_1_SQUARE_APPEARS ; unused + const SUBANIM_0_STATUS_SLEEP + const SUBANIM_0_STATUS_SLEEP_ENEMY + const SUBANIM_0_WATER_1_FIRE_BARRIER ; unused + const SUBANIM_0_WATER_1_FIRE_GEYSER ; unused + const SUBANIM_1_STAR_BIG_TOSS + const SUBANIM_1_STARS_SMALL_TOSS + const SUBANIM_1_MUSIC_CIRCLING_ENEMY + const SUBANIM_1_CIRCLE_BLACK_TOSS + const SUBANIM_1_EXPLOSION_SMALL_ENEMY + const SUBANIM_0_CIRCLE_1_SQUARE_CLOSING + const SUBANIM_1_LEAVES_TOSS + const SUBANIM_0_HORN_JAB_TWICE + const SUBANIM_0_HORN_JAB_THRICE + const SUBANIM_0_BALL_POOF + const SUBANIM_2_TRADE_BALL_DROP + const SUBANIM_2_TRADE_BALL_SHAKE + const SUBANIM_2_TRADE_BALL_APPEAR + const SUBANIM_2_TRADE_BALL_POOF + const SUBANIM_0_EGG_SHAKING + const SUBANIM_1_TRIANGLE_TOSS + const SUBANIM_1_SPHERE_BIG + const SUBANIM_1_SPHERE_BIG_RISE + const SUBANIM_1_SPHERE_BIG_FALL + const SUBANIM_0_SHELL + const SUBANIM_0_COIN_BOUNCE + const SUBANIM_0_SAFARI_ROCK + const SUBANIM_0_SAFARI_BAIT + const SUBANIM_0_STAR_HIGH DEF NUM_SUBANIMS EQU const_value ; types of subanimations diff --git a/data/battle_anims/subanimations.asm b/data/battle_anims/subanimations.asm index d67d4641..574047c5 100644 --- a/data/battle_anims/subanimations.asm +++ b/data/battle_anims/subanimations.asm @@ -1,91 +1,91 @@ SubanimationPointers: table_width 2, SubanimationPointers - dw Subanimation00 - dw Subanimation01 - dw Subanimation02 - dw Subanimation03 - dw Subanimation04 - dw Subanimation05 - dw Subanimation06 - dw Subanimation07 - dw Subanimation08 - dw Subanimation09 - dw Subanimation0a - dw Subanimation0b - dw Subanimation0c - dw Subanimation0d - dw Subanimation0e - dw Subanimation0f - dw Subanimation10 - dw Subanimation11 - dw Subanimation12 - dw Subanimation13 - dw Subanimation14 - dw Subanimation15 - dw Subanimation16 - dw Subanimation17 - dw Subanimation18 - dw Subanimation19 - dw Subanimation1a - dw Subanimation1b - dw Subanimation1c - dw Subanimation1d - dw Subanimation1e - dw Subanimation1f - dw Subanimation20 - dw Subanimation21 - dw Subanimation22 - dw Subanimation23 - dw Subanimation24 - dw Subanimation25 - dw Subanimation26 - dw Subanimation27 - dw Subanimation28 - dw Subanimation29 - dw Subanimation2a - dw Subanimation2b - dw Subanimation2c - dw Subanimation2d - dw Subanimation2e - dw Subanimation2f - dw Subanimation30 - dw Subanimation31 - dw Subanimation32 - dw Subanimation33 - dw Subanimation34 - dw Subanimation35 - dw Subanimation36 - dw Subanimation37 - dw Subanimation38 - dw Subanimation39 - dw Subanimation3a - dw Subanimation3b - dw Subanimation3c - dw Subanimation3d - dw Subanimation3e - dw Subanimation3f - dw Subanimation40 - dw Subanimation41 - dw Subanimation42 - dw Subanimation43 - dw Subanimation44 - dw Subanimation45 - dw Subanimation46 - dw Subanimation47 - dw Subanimation48 - dw Subanimation49 - dw Subanimation4a - dw Subanimation4b - dw Subanimation4c - dw Subanimation4d - dw Subanimation4e - dw Subanimation4f - dw Subanimation50 - dw Subanimation51 - dw Subanimation52 - dw Subanimation53 - dw Subanimation54 - dw Subanimation55 + dw Subanim_0Star + dw Subanim_0StarTwice + dw Subanim_0StarThrice + dw Subanim_0StarDescending + dw Subanim_1StarBigMoving + dw Subanim_1StarBig + dw Subanim_0BallTossHigh + dw Subanim_0BallTossMiddle + dw Subanim_0BallTossLow + dw Subanim_0BallShakeEnemy + dw Subanim_0BallPoofEnemy + dw Subanim_0BallBlock + dw Subanim_1FlameColumn1 + dw Subanim_1FlameColumn2 + dw Subanim_1FlameColumn3 + dw Subanim_0Scratches + dw Subanim_1Tornado + dw Subanim_1Flames + dw Subanim_0Heart_1Music + dw Subanim_1BlobToss + dw Subanim_1BlobDripEnemy + dw Subanim_1Shout + dw Subanim_0Slice + dw Subanim_0BirdiesCirclingEnemy + dw Subanim_1SwordsCircling + dw Subanim_1CloudToss + dw Subanim_0WaterColumns + dw Subanim_1SeedToss + dw Subanim_1SeedLand + dw Subanim_0RocksLift + dw Subanim_0RocksToss + dw Subanim_1FlameBeam + dw Subanim_1FlameStar + dw Subanim_0Circles_1Squares_CenteringEnemy + dw Subanim_0Circle_1Square_TossBack + dw Subanim_0Bind + dw Subanim_0StatusParalyzed + dw Subanim_0StatusConfused + dw Subanim_0StatusConfusedEnemy + dw Subanim_0StatusPoisoned + dw Subanim_1Sand + dw Subanim_1LightningBall + dw Subanim_0SliceBothSides + dw Subanim_1Lightning + dw Subanim_0WaterDroplets + dw Subanim_0CirclesCentering + dw Subanim_0Beam + dw Subanim_0IceRise + dw Subanim_0RocksFallEnemy + dw Subanim_0SoundWave + dw Subanim_0Circle_1Square_HalfToss ; unused + dw Subanim_1Barrier + dw Subanim_1Selfdestruct + dw Subanim_0WaterBubbles + dw Subanim_0CirclesFalling + dw Subanim_0StringShot + dw Subanim_0IceFall + dw Subanim_0Circle_1Square_Appears ; unused + dw Subanim_0StatusSleep + dw Subanim_0StatusSleepEnemy + dw Subanim_0Water_1Fire_Barrier ; unused + dw Subanim_0Water_1Fire_Geyser ; unused + dw Subanim_1StarBigToss + dw Subanim_1StarsSmallToss + dw Subanim_1MusicCirclingEnemy + dw Subanim_1CircleBlackToss + dw Subanim_1ExplosionSmallEnemy + dw Subanim_0Circle_1Square_Closing + dw Subanim_1LeavesToss + dw Subanim_0HornJabTwice + dw Subanim_0HornJabThrice + dw Subanim_0BallPoof + dw Subanim_2TradeBallDrop + dw Subanim_2TradeBallShake + dw Subanim_2TradeBallAppear + dw Subanim_2TradeBallPoof + dw Subanim_0EggShaking + dw Subanim_1TriangleToss + dw Subanim_1SphereBig + dw Subanim_1SphereBigRise + dw Subanim_1SphereBigFall + dw Subanim_0Shell + dw Subanim_0CoinBounce + dw Subanim_0SafariRock + dw Subanim_0SafariBait + dw Subanim_0StarHigh assert_table_length NUM_SUBANIMS ; format: @@ -98,17 +98,17 @@ MACRO subanim db (\1 << 5) | \2 ENDM -Subanimation04: +Subanim_1StarBigMoving: subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_02, BASECOORD_1A, FRAMEBLOCKMODE_00 db FRAMEBLOCK_02, BASECOORD_10, FRAMEBLOCKMODE_00 db FRAMEBLOCK_02, BASECOORD_03, FRAMEBLOCKMODE_00 -Subanimation05: +Subanim_1StarBig: subanim SUBANIMTYPE_HFLIP, 1 db FRAMEBLOCK_02, BASECOORD_10, FRAMEBLOCKMODE_00 -Subanimation08: +Subanim_0BallTossLow: subanim SUBANIMTYPE_NORMAL, 11 db FRAMEBLOCK_03, BASECOORD_30, FRAMEBLOCKMODE_00 db FRAMEBLOCK_03, BASECOORD_44, FRAMEBLOCKMODE_00 @@ -122,7 +122,7 @@ Subanimation08: db FRAMEBLOCK_03, BASECOORD_A1, FRAMEBLOCKMODE_00 db FRAMEBLOCK_03, BASECOORD_34, FRAMEBLOCKMODE_00 -Subanimation07: +Subanim_0BallTossMiddle: subanim SUBANIMTYPE_NORMAL, 11 db FRAMEBLOCK_03, BASECOORD_30, FRAMEBLOCKMODE_00 db FRAMEBLOCK_03, BASECOORD_A2, FRAMEBLOCKMODE_00 @@ -136,7 +136,7 @@ Subanimation07: db FRAMEBLOCK_03, BASECOORD_A6, FRAMEBLOCKMODE_00 db FRAMEBLOCK_03, BASECOORD_34, FRAMEBLOCKMODE_00 -Subanimation06: +Subanim_0BallTossHigh: subanim SUBANIMTYPE_NORMAL, 11 db FRAMEBLOCK_03, BASECOORD_30, FRAMEBLOCKMODE_00 db FRAMEBLOCK_03, BASECOORD_A2, FRAMEBLOCKMODE_00 @@ -150,14 +150,14 @@ Subanimation06: db FRAMEBLOCK_03, BASECOORD_A9, FRAMEBLOCKMODE_00 db FRAMEBLOCK_03, BASECOORD_34, FRAMEBLOCKMODE_00 -Subanimation09: +Subanim_0BallShakeEnemy: subanim SUBANIMTYPE_NORMAL, 4 db FRAMEBLOCK_03, BASECOORD_21, FRAMEBLOCKMODE_04 db FRAMEBLOCK_04, BASECOORD_21, FRAMEBLOCKMODE_04 db FRAMEBLOCK_03, BASECOORD_21, FRAMEBLOCKMODE_04 db FRAMEBLOCK_05, BASECOORD_21, FRAMEBLOCKMODE_04 -Subanimation0a: +Subanim_0BallPoofEnemy: subanim SUBANIMTYPE_HFLIP, 6 db FRAMEBLOCK_06, BASECOORD_1B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_07, BASECOORD_1B, FRAMEBLOCKMODE_00 @@ -166,18 +166,18 @@ Subanimation0a: db FRAMEBLOCK_0A, BASECOORD_15, FRAMEBLOCKMODE_00 db FRAMEBLOCK_0A, BASECOORD_15, FRAMEBLOCKMODE_00 -Subanimation0b: +Subanim_0BallBlock: subanim SUBANIMTYPE_NORMAL, 4 db FRAMEBLOCK_01, BASECOORD_2D, FRAMEBLOCKMODE_00 db FRAMEBLOCK_03, BASECOORD_2F, FRAMEBLOCKMODE_00 db FRAMEBLOCK_03, BASECOORD_35, FRAMEBLOCKMODE_00 db FRAMEBLOCK_03, BASECOORD_4D, FRAMEBLOCKMODE_00 -Subanimation55: +Subanim_0StarHigh: subanim SUBANIMTYPE_HFLIP, 1 db FRAMEBLOCK_01, BASECOORD_9D, FRAMEBLOCKMODE_00 -Subanimation11: +Subanim_1Flames: subanim SUBANIMTYPE_HFLIP, 12 db FRAMEBLOCK_0B, BASECOORD_26, FRAMEBLOCKMODE_00 db FRAMEBLOCK_0C, BASECOORD_26, FRAMEBLOCKMODE_00 @@ -192,7 +192,7 @@ Subanimation11: db FRAMEBLOCK_0B, BASECOORD_27, FRAMEBLOCKMODE_00 db FRAMEBLOCK_0C, BASECOORD_27, FRAMEBLOCKMODE_00 -Subanimation2b: +Subanim_1Lightning: subanim SUBANIMTYPE_HFLIP, 11 db FRAMEBLOCK_0D, BASECOORD_03, FRAMEBLOCKMODE_03 db FRAMEBLOCK_0E, BASECOORD_03, FRAMEBLOCKMODE_03 @@ -206,7 +206,7 @@ Subanimation2b: db FRAMEBLOCK_11, BASECOORD_1B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_11, BASECOORD_1B, FRAMEBLOCKMODE_00 -Subanimation2c: +Subanim_0WaterDroplets: subanim SUBANIMTYPE_HFLIP, 12 db FRAMEBLOCK_12, BASECOORD_01, FRAMEBLOCKMODE_00 db FRAMEBLOCK_12, BASECOORD_0F, FRAMEBLOCKMODE_00 @@ -221,7 +221,7 @@ Subanimation2c: db FRAMEBLOCK_16, BASECOORD_38, FRAMEBLOCKMODE_00 db FRAMEBLOCK_16, BASECOORD_38, FRAMEBLOCKMODE_00 -Subanimation12: +Subanim_0Heart_1Music: subanim SUBANIMTYPE_COORDFLIP, 9 db FRAMEBLOCK_17, BASECOORD_30, FRAMEBLOCKMODE_00 db FRAMEBLOCK_17, BASECOORD_39, FRAMEBLOCKMODE_00 @@ -233,35 +233,35 @@ Subanimation12: db FRAMEBLOCK_17, BASECOORD_3F, FRAMEBLOCKMODE_00 db FRAMEBLOCK_17, BASECOORD_1F, FRAMEBLOCKMODE_00 -Subanimation00: +Subanim_0Star: subanim SUBANIMTYPE_HFLIP, 1 db FRAMEBLOCK_01, BASECOORD_17, FRAMEBLOCKMODE_00 -Subanimation01: +Subanim_0StarTwice: subanim SUBANIMTYPE_HFLIP, 2 db FRAMEBLOCK_01, BASECOORD_0F, FRAMEBLOCKMODE_00 db FRAMEBLOCK_01, BASECOORD_1D, FRAMEBLOCKMODE_00 -Subanimation02: +Subanim_0StarThrice: subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_01, BASECOORD_12, FRAMEBLOCKMODE_00 db FRAMEBLOCK_01, BASECOORD_15, FRAMEBLOCKMODE_00 db FRAMEBLOCK_01, BASECOORD_1C, FRAMEBLOCKMODE_00 -Subanimation03: +Subanim_0StarDescending: subanim SUBANIMTYPE_HFLIP, 4 db FRAMEBLOCK_01, BASECOORD_0B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_01, BASECOORD_11, FRAMEBLOCKMODE_00 db FRAMEBLOCK_01, BASECOORD_18, FRAMEBLOCKMODE_00 db FRAMEBLOCK_01, BASECOORD_1D, FRAMEBLOCKMODE_00 -Subanimation0c: +Subanim_1FlameColumn1: subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_0C, BASECOORD_20, FRAMEBLOCKMODE_00 db FRAMEBLOCK_0C, BASECOORD_21, FRAMEBLOCKMODE_00 db FRAMEBLOCK_0C, BASECOORD_23, FRAMEBLOCKMODE_00 -Subanimation0d: +Subanim_1FlameColumn2: subanim SUBANIMTYPE_HFLIP, 6 db FRAMEBLOCK_0C, BASECOORD_20, FRAMEBLOCKMODE_02 db FRAMEBLOCK_0C, BASECOORD_15, FRAMEBLOCKMODE_00 @@ -270,7 +270,7 @@ Subanimation0d: db FRAMEBLOCK_0C, BASECOORD_23, FRAMEBLOCKMODE_02 db FRAMEBLOCK_0C, BASECOORD_19, FRAMEBLOCKMODE_00 -Subanimation0e: +Subanim_1FlameColumn3: subanim SUBANIMTYPE_HFLIP, 9 db FRAMEBLOCK_0C, BASECOORD_20, FRAMEBLOCKMODE_02 db FRAMEBLOCK_0C, BASECOORD_15, FRAMEBLOCKMODE_02 @@ -282,7 +282,7 @@ Subanimation0e: db FRAMEBLOCK_0C, BASECOORD_19, FRAMEBLOCKMODE_02 db FRAMEBLOCK_0C, BASECOORD_0C, FRAMEBLOCKMODE_00 -Subanimation1f: +Subanim_1FlameBeam: subanim SUBANIMTYPE_REVERSE, 5 db FRAMEBLOCK_0C, BASECOORD_30, FRAMEBLOCKMODE_03 db FRAMEBLOCK_0C, BASECOORD_40, FRAMEBLOCKMODE_03 @@ -290,7 +290,7 @@ Subanimation1f: db FRAMEBLOCK_0C, BASECOORD_42, FRAMEBLOCKMODE_03 db FRAMEBLOCK_0C, BASECOORD_21, FRAMEBLOCKMODE_00 -Subanimation2e: +Subanim_0Beam: subanim SUBANIMTYPE_HVFLIP, 14 db FRAMEBLOCK_18, BASECOORD_43, FRAMEBLOCKMODE_02 db FRAMEBLOCK_75, BASECOORD_52, FRAMEBLOCKMODE_04 @@ -307,14 +307,14 @@ Subanimation2e: db FRAMEBLOCK_1E, BASECOORD_43, FRAMEBLOCKMODE_02 db FRAMEBLOCK_75, BASECOORD_1B, FRAMEBLOCKMODE_00 -Subanimation2f: +Subanim_0IceRise: subanim SUBANIMTYPE_HFLIP, 4 db FRAMEBLOCK_1F, BASECOORD_24, FRAMEBLOCKMODE_00 db FRAMEBLOCK_20, BASECOORD_20, FRAMEBLOCKMODE_00 db FRAMEBLOCK_21, BASECOORD_1A, FRAMEBLOCKMODE_00 db FRAMEBLOCK_22, BASECOORD_15, FRAMEBLOCKMODE_00 -Subanimation30: +Subanim_0RocksFallEnemy: subanim SUBANIMTYPE_HFLIP, 18 db FRAMEBLOCK_23, BASECOORD_00, FRAMEBLOCKMODE_02 db FRAMEBLOCK_23, BASECOORD_02, FRAMEBLOCKMODE_02 @@ -335,7 +335,7 @@ Subanimation30: db FRAMEBLOCK_24, BASECOORD_28, FRAMEBLOCKMODE_00 db FRAMEBLOCK_24, BASECOORD_28, FRAMEBLOCKMODE_00 -Subanimation0f: +Subanim_0Scratches: subanim SUBANIMTYPE_HFLIP, 12 db FRAMEBLOCK_26, BASECOORD_0E, FRAMEBLOCKMODE_02 db FRAMEBLOCK_26, BASECOORD_16, FRAMEBLOCKMODE_02 @@ -350,7 +350,7 @@ Subanimation0f: db FRAMEBLOCK_29, BASECOORD_16, FRAMEBLOCKMODE_02 db FRAMEBLOCK_29, BASECOORD_1C, FRAMEBLOCKMODE_00 -Subanimation16: +Subanim_0Slice: subanim SUBANIMTYPE_HFLIP, 12 db FRAMEBLOCK_2A, BASECOORD_05, FRAMEBLOCKMODE_00 db FRAMEBLOCK_2B, BASECOORD_05, FRAMEBLOCKMODE_02 @@ -365,7 +365,7 @@ Subanimation16: db FRAMEBLOCK_2C, BASECOORD_00, FRAMEBLOCKMODE_02 db FRAMEBLOCK_2C, BASECOORD_00, FRAMEBLOCKMODE_00 -Subanimation10: +Subanim_1Tornado: subanim SUBANIMTYPE_REVERSE, 8 db FRAMEBLOCK_2D, BASECOORD_44, FRAMEBLOCKMODE_00 db FRAMEBLOCK_2E, BASECOORD_45, FRAMEBLOCKMODE_00 @@ -376,7 +376,7 @@ Subanimation10: db FRAMEBLOCK_2D, BASECOORD_2F, FRAMEBLOCKMODE_00 db FRAMEBLOCK_2E, BASECOORD_1A, FRAMEBLOCKMODE_00 -Subanimation31: +Subanim_0SoundWave: subanim SUBANIMTYPE_HVFLIP, 10 db FRAMEBLOCK_2F, BASECOORD_46, FRAMEBLOCKMODE_00 db FRAMEBLOCK_2F, BASECOORD_4A, FRAMEBLOCKMODE_00 @@ -389,7 +389,7 @@ Subanimation31: db FRAMEBLOCK_2F, BASECOORD_2E, FRAMEBLOCKMODE_00 db FRAMEBLOCK_2F, BASECOORD_51, FRAMEBLOCKMODE_00 -Subanimation13: +Subanim_1BlobToss: subanim SUBANIMTYPE_REVERSE, 6 db FRAMEBLOCK_30, BASECOORD_31, FRAMEBLOCKMODE_00 db FRAMEBLOCK_30, BASECOORD_32, FRAMEBLOCKMODE_00 @@ -398,7 +398,7 @@ Subanimation13: db FRAMEBLOCK_30, BASECOORD_0F, FRAMEBLOCKMODE_00 db FRAMEBLOCK_30, BASECOORD_10, FRAMEBLOCKMODE_00 -Subanimation14: +Subanim_1BlobDripEnemy: subanim SUBANIMTYPE_HFLIP, 9 db FRAMEBLOCK_30, BASECOORD_10, FRAMEBLOCKMODE_00 db FRAMEBLOCK_30, BASECOORD_10, FRAMEBLOCKMODE_03 @@ -410,7 +410,7 @@ Subanimation14: db FRAMEBLOCK_31, BASECOORD_22, FRAMEBLOCKMODE_04 db FRAMEBLOCK_31, BASECOORD_27, FRAMEBLOCKMODE_00 -Subanimation41: +Subanim_1CircleBlackToss: subanim SUBANIMTYPE_REVERSE, 5 db FRAMEBLOCK_03, BASECOORD_31, FRAMEBLOCKMODE_00 db FRAMEBLOCK_03, BASECOORD_32, FRAMEBLOCKMODE_00 @@ -418,32 +418,32 @@ Subanimation41: db FRAMEBLOCK_03, BASECOORD_0E, FRAMEBLOCKMODE_00 db FRAMEBLOCK_03, BASECOORD_10, FRAMEBLOCKMODE_00 -Subanimation42: +Subanim_1ExplosionSmallEnemy: subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_08, FRAMEBLOCKMODE_00 db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_08, FRAMEBLOCKMODE_00 db FRAMEBLOCK_5A, BASECOORD_08, FRAMEBLOCKMODE_00 -Subanimation15: +Subanim_1Shout: subanim SUBANIMTYPE_HVFLIP, 2 db FRAMEBLOCK_35, BASECOORD_52, FRAMEBLOCKMODE_00 db FRAMEBLOCK_35, BASECOORD_53, FRAMEBLOCKMODE_00 -Subanimation17: +Subanim_0BirdiesCirclingEnemy: subanim SUBANIMTYPE_HFLIP, 4 db FRAMEBLOCK_36, BASECOORD_54, FRAMEBLOCKMODE_00 db FRAMEBLOCK_36, BASECOORD_55, FRAMEBLOCKMODE_00 db FRAMEBLOCK_37, BASECOORD_56, FRAMEBLOCKMODE_00 db FRAMEBLOCK_37, BASECOORD_57, FRAMEBLOCKMODE_00 -Subanimation18: +Subanim_1SwordsCircling: subanim SUBANIMTYPE_ENEMY, 4 db FRAMEBLOCK_36, BASECOORD_54, FRAMEBLOCKMODE_00 db FRAMEBLOCK_36, BASECOORD_55, FRAMEBLOCKMODE_00 db FRAMEBLOCK_37, BASECOORD_56, FRAMEBLOCKMODE_00 db FRAMEBLOCK_37, BASECOORD_57, FRAMEBLOCKMODE_00 -Subanimation40: +Subanim_1MusicCirclingEnemy: subanim SUBANIMTYPE_HFLIP, 6 db FRAMEBLOCK_17, BASECOORD_54, FRAMEBLOCKMODE_00 db FRAMEBLOCK_17, BASECOORD_55, FRAMEBLOCKMODE_00 @@ -452,7 +452,7 @@ Subanimation40: db FRAMEBLOCK_17, BASECOORD_57, FRAMEBLOCKMODE_00 db FRAMEBLOCK_17, BASECOORD_13, FRAMEBLOCKMODE_00 -Subanimation19: +Subanim_1CloudToss: subanim SUBANIMTYPE_REVERSE, 12 db FRAMEBLOCK_38, BASECOORD_31, FRAMEBLOCKMODE_00 db FRAMEBLOCK_39, BASECOORD_31, FRAMEBLOCKMODE_00 @@ -467,7 +467,7 @@ Subanimation19: db FRAMEBLOCK_38, BASECOORD_10, FRAMEBLOCKMODE_00 db FRAMEBLOCK_39, BASECOORD_10, FRAMEBLOCKMODE_00 -Subanimation1a: +Subanim_0WaterColumns: subanim SUBANIMTYPE_HFLIP, 16 db FRAMEBLOCK_3A, BASECOORD_08, FRAMEBLOCKMODE_00 db FRAMEBLOCK_3B, BASECOORD_08, FRAMEBLOCKMODE_00 @@ -486,20 +486,20 @@ Subanimation1a: db FRAMEBLOCK_3E, BASECOORD_0B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_3F, BASECOORD_0B, FRAMEBLOCKMODE_00 -Subanimation1b: +Subanim_1SeedToss: subanim SUBANIMTYPE_REVERSE, 4 db FRAMEBLOCK_40, BASECOORD_31, FRAMEBLOCKMODE_00 db FRAMEBLOCK_40, BASECOORD_32, FRAMEBLOCKMODE_00 db FRAMEBLOCK_40, BASECOORD_92, FRAMEBLOCKMODE_00 db FRAMEBLOCK_40, BASECOORD_15, FRAMEBLOCKMODE_00 -Subanimation1c: +Subanim_1SeedLand: subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_41, BASECOORD_58, FRAMEBLOCKMODE_00 db FRAMEBLOCK_41, BASECOORD_59, FRAMEBLOCKMODE_00 db FRAMEBLOCK_41, BASECOORD_21, FRAMEBLOCKMODE_00 -Subanimation1d: +Subanim_0RocksLift: subanim SUBANIMTYPE_ENEMY, 15 db FRAMEBLOCK_24, BASECOORD_9A, FRAMEBLOCKMODE_00 db FRAMEBLOCK_23, BASECOORD_1B, FRAMEBLOCKMODE_02 @@ -517,22 +517,22 @@ Subanimation1d: db FRAMEBLOCK_25, BASECOORD_62, FRAMEBLOCKMODE_04 db FRAMEBLOCK_25, BASECOORD_99, FRAMEBLOCKMODE_03 -Subanimation1e: +Subanim_0RocksToss: subanim SUBANIMTYPE_NORMAL, 1 db FRAMEBLOCK_25, BASECOORD_75, FRAMEBLOCKMODE_00 -Subanimation20: +Subanim_1FlameStar: subanim SUBANIMTYPE_HFLIP, 2 db FRAMEBLOCK_42, BASECOORD_07, FRAMEBLOCKMODE_00 db FRAMEBLOCK_43, BASECOORD_07, FRAMEBLOCKMODE_00 -Subanimation21: +Subanim_0Circles_1Squares_CenteringEnemy: subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_44, BASECOORD_00, FRAMEBLOCKMODE_00 db FRAMEBLOCK_45, BASECOORD_08, FRAMEBLOCKMODE_00 db FRAMEBLOCK_46, BASECOORD_10, FRAMEBLOCKMODE_02 -Subanimation22: +Subanim_0Circle_1Square_TossBack: subanim SUBANIMTYPE_REVERSE, 11 db FRAMEBLOCK_47, BASECOORD_10, FRAMEBLOCKMODE_00 db FRAMEBLOCK_47, BASECOORD_56, FRAMEBLOCKMODE_00 @@ -546,7 +546,7 @@ Subanimation22: db FRAMEBLOCK_47, BASECOORD_89, FRAMEBLOCKMODE_00 db FRAMEBLOCK_47, BASECOORD_B0, FRAMEBLOCKMODE_00 -Subanimation2d: +Subanim_0CirclesCentering: subanim SUBANIMTYPE_COORDFLIP, 6 db FRAMEBLOCK_44, BASECOORD_64, FRAMEBLOCKMODE_00 db FRAMEBLOCK_45, BASECOORD_65, FRAMEBLOCKMODE_00 @@ -555,15 +555,15 @@ Subanimation2d: db FRAMEBLOCK_47, BASECOORD_66, FRAMEBLOCKMODE_00 db FRAMEBLOCK_47, BASECOORD_66, FRAMEBLOCKMODE_00 -Subanimation39: +Subanim_0Circle_1Square_Appears: subanim SUBANIMTYPE_COORDFLIP, 1 db FRAMEBLOCK_47, BASECOORD_67, FRAMEBLOCKMODE_00 -Subanimation4e: +Subanim_1SphereBig: subanim SUBANIMTYPE_HFLIP, 1 db FRAMEBLOCK_71, BASECOORD_0F, FRAMEBLOCKMODE_03 -Subanimation4f: +Subanim_1SphereBigRise: subanim SUBANIMTYPE_HFLIP, 7 db FRAMEBLOCK_71, BASECOORD_0F, FRAMEBLOCKMODE_00 db FRAMEBLOCK_71, BASECOORD_08, FRAMEBLOCKMODE_00 @@ -573,7 +573,7 @@ Subanimation4f: db FRAMEBLOCK_73, BASECOORD_95, FRAMEBLOCKMODE_00 db FRAMEBLOCK_74, BASECOORD_95, FRAMEBLOCKMODE_00 -Subanimation50: +Subanim_1SphereBigFall: subanim SUBANIMTYPE_HFLIP, 8 db FRAMEBLOCK_74, BASECOORD_95, FRAMEBLOCKMODE_00 db FRAMEBLOCK_73, BASECOORD_95, FRAMEBLOCKMODE_00 @@ -584,7 +584,7 @@ Subanimation50: db FRAMEBLOCK_71, BASECOORD_0F, FRAMEBLOCKMODE_00 db FRAMEBLOCK_71, BASECOORD_16, FRAMEBLOCKMODE_00 -Subanimation29: +Subanim_1LightningBall: subanim SUBANIMTYPE_HFLIP, 29 db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_0F, FRAMEBLOCKMODE_00 db FRAMEBLOCK_4A, BASECOORD_68, FRAMEBLOCKMODE_03 @@ -616,63 +616,63 @@ Subanimation29: db FRAMEBLOCK_4D, BASECOORD_2A, FRAMEBLOCKMODE_03 db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_6B, FRAMEBLOCKMODE_00 -Subanimation2a: +Subanim_0SliceBothSides: subanim SUBANIMTYPE_HFLIP, 4 db FRAMEBLOCK_4E, BASECOORD_2B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_4F, BASECOORD_2B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_50, BASECOORD_2B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_50, BASECOORD_2B, FRAMEBLOCKMODE_00 -Subanimation23: +Subanim_0Bind: subanim SUBANIMTYPE_HFLIP, 2 db FRAMEBLOCK_51, BASECOORD_2D, FRAMEBLOCKMODE_00 db FRAMEBLOCK_51, BASECOORD_6E, FRAMEBLOCKMODE_00 -Subanimation24: +Subanim_0StatusParalyzed: subanim SUBANIMTYPE_ENEMY, 2 db FRAMEBLOCK_51, BASECOORD_2D, FRAMEBLOCKMODE_00 db FRAMEBLOCK_51, BASECOORD_6E, FRAMEBLOCKMODE_00 -Subanimation25: +Subanim_0StatusConfused: subanim SUBANIMTYPE_COORDFLIP, 2 db FRAMEBLOCK_52, BASECOORD_71, FRAMEBLOCKMODE_00 db FRAMEBLOCK_52, BASECOORD_72, FRAMEBLOCKMODE_00 -Subanimation26: +Subanim_0StatusConfusedEnemy: subanim SUBANIMTYPE_NORMAL, 2 db FRAMEBLOCK_52, BASECOORD_01, FRAMEBLOCKMODE_00 db FRAMEBLOCK_52, BASECOORD_2C, FRAMEBLOCKMODE_00 -Subanimation3a: +Subanim_0StatusSleep: subanim SUBANIMTYPE_COORDFLIP, 3 db FRAMEBLOCK_53, BASECOORD_71, FRAMEBLOCKMODE_00 db FRAMEBLOCK_53, BASECOORD_7F, FRAMEBLOCKMODE_00 db FRAMEBLOCK_53, BASECOORD_81, FRAMEBLOCKMODE_00 -Subanimation3b: +Subanim_0StatusSleepEnemy: subanim SUBANIMTYPE_NORMAL, 3 db FRAMEBLOCK_53, BASECOORD_01, FRAMEBLOCKMODE_00 db FRAMEBLOCK_53, BASECOORD_15, FRAMEBLOCKMODE_00 db FRAMEBLOCK_53, BASECOORD_2C, FRAMEBLOCKMODE_00 -Subanimation27: +Subanim_0StatusPoisoned: subanim SUBANIMTYPE_ENEMY, 2 db FRAMEBLOCK_54, BASECOORD_01, FRAMEBLOCKMODE_00 db FRAMEBLOCK_54, BASECOORD_2C, FRAMEBLOCKMODE_00 -Subanimation28: +Subanim_1Sand: subanim SUBANIMTYPE_HVFLIP, 3 db FRAMEBLOCK_55, BASECOORD_73, FRAMEBLOCKMODE_03 db FRAMEBLOCK_56, BASECOORD_73, FRAMEBLOCKMODE_03 db FRAMEBLOCK_57, BASECOORD_73, FRAMEBLOCKMODE_00 -Subanimation32: +Subanim_0Circle_1Square_HalfToss: subanim SUBANIMTYPE_COORDFLIP, 3 db FRAMEBLOCK_47, BASECOORD_74, FRAMEBLOCKMODE_00 db FRAMEBLOCK_47, BASECOORD_43, FRAMEBLOCKMODE_00 db FRAMEBLOCK_47, BASECOORD_75, FRAMEBLOCKMODE_00 -Subanimation33: +Subanim_1Barrier: subanim SUBANIMTYPE_HVFLIP, 6 db FRAMEBLOCK_58, BASECOORD_76, FRAMEBLOCKMODE_00 db FRAMEBLOCK_34, BASECOORD_76, FRAMEBLOCKMODE_00 @@ -681,7 +681,7 @@ Subanimation33: db FRAMEBLOCK_58, BASECOORD_76, FRAMEBLOCKMODE_00 db FRAMEBLOCK_34, BASECOORD_76, FRAMEBLOCKMODE_00 -Subanimation3c: +Subanim_0Water_1Fire_Barrier: subanim SUBANIMTYPE_COORDFLIP, 7 db FRAMEBLOCK_59, BASECOORD_79, FRAMEBLOCKMODE_03 db FRAMEBLOCK_59, BASECOORD_7B, FRAMEBLOCKMODE_03 @@ -691,7 +691,7 @@ Subanimation3c: db FRAMEBLOCK_59, BASECOORD_7C, FRAMEBLOCKMODE_03 db FRAMEBLOCK_59, BASECOORD_76, FRAMEBLOCKMODE_00 -Subanimation3d: +Subanim_0Water_1Fire_Geyser: subanim SUBANIMTYPE_NORMAL, 8 db FRAMEBLOCK_3A, BASECOORD_4D, FRAMEBLOCKMODE_00 db FRAMEBLOCK_3B, BASECOORD_4D, FRAMEBLOCKMODE_00 @@ -702,7 +702,7 @@ Subanimation3d: db FRAMEBLOCK_3E, BASECOORD_4D, FRAMEBLOCKMODE_00 db FRAMEBLOCK_3F, BASECOORD_4D, FRAMEBLOCKMODE_00 -Subanimation34: +Subanim_1Selfdestruct: subanim SUBANIMTYPE_HVFLIP, 21 db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_7D, FRAMEBLOCKMODE_00 db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_7D, FRAMEBLOCKMODE_00 @@ -726,14 +726,14 @@ Subanimation34: db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_82, FRAMEBLOCKMODE_00 db FRAMEBLOCK_5A, BASECOORD_82, FRAMEBLOCKMODE_00 -Subanimation35: +Subanim_0WaterBubbles: subanim SUBANIMTYPE_HVFLIP, 4 db FRAMEBLOCK_5B, BASECOORD_83, FRAMEBLOCKMODE_03 db FRAMEBLOCK_5C, BASECOORD_84, FRAMEBLOCKMODE_03 db FRAMEBLOCK_5D, BASECOORD_85, FRAMEBLOCKMODE_03 db FRAMEBLOCK_5E, BASECOORD_09, FRAMEBLOCKMODE_00 -Subanimation36: +Subanim_0CirclesFalling: subanim SUBANIMTYPE_HFLIP, 8 db FRAMEBLOCK_5F, BASECOORD_2A, FRAMEBLOCKMODE_00 db FRAMEBLOCK_5F, BASECOORD_00, FRAMEBLOCKMODE_00 @@ -744,7 +744,7 @@ Subanimation36: db FRAMEBLOCK_62, BASECOORD_2A, FRAMEBLOCKMODE_00 db FRAMEBLOCK_62, BASECOORD_00, FRAMEBLOCKMODE_00 -Subanimation37: +Subanim_0StringShot: subanim SUBANIMTYPE_HVFLIP, 10 db FRAMEBLOCK_63, BASECOORD_89, FRAMEBLOCKMODE_00 db FRAMEBLOCK_64, BASECOORD_75, FRAMEBLOCKMODE_00 @@ -757,7 +757,7 @@ Subanimation37: db FRAMEBLOCK_65, BASECOORD_88, FRAMEBLOCKMODE_00 db FRAMEBLOCK_65, BASECOORD_1A, FRAMEBLOCKMODE_00 -Subanimation38: +Subanim_0IceFall: subanim SUBANIMTYPE_HFLIP, 16 db FRAMEBLOCK_66, BASECOORD_8A, FRAMEBLOCKMODE_00 db FRAMEBLOCK_66, BASECOORD_33, FRAMEBLOCKMODE_00 @@ -776,7 +776,7 @@ Subanimation38: db FRAMEBLOCK_66, BASECOORD_1E, FRAMEBLOCKMODE_04 db FRAMEBLOCK_67, BASECOORD_29, FRAMEBLOCKMODE_00 -Subanimation3e: +Subanim_1StarBigToss: subanim SUBANIMTYPE_REVERSE, 18 db FRAMEBLOCK_02, BASECOORD_31, FRAMEBLOCKMODE_00 db FRAMEBLOCK_34, BASECOORD_31, FRAMEBLOCKMODE_00 @@ -797,7 +797,7 @@ Subanimation3e: db FRAMEBLOCK_34, BASECOORD_10, FRAMEBLOCKMODE_00 db FRAMEBLOCK_02, BASECOORD_10, FRAMEBLOCKMODE_00 -Subanimation3f: +Subanim_1StarsSmallToss: subanim SUBANIMTYPE_COORDFLIP, 18 db FRAMEBLOCK_68, BASECOORD_4B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_68, BASECOORD_8C, FRAMEBLOCKMODE_00 @@ -818,7 +818,7 @@ Subanimation3f: db FRAMEBLOCK_68, BASECOORD_23, FRAMEBLOCKMODE_00 db FRAMEBLOCK_68, BASECOORD_1F, FRAMEBLOCKMODE_00 -Subanimation44: +Subanim_1LeavesToss: subanim SUBANIMTYPE_HVFLIP, 12 db FRAMEBLOCK_69, BASECOORD_4B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_69, BASECOORD_8C, FRAMEBLOCKMODE_00 @@ -833,20 +833,20 @@ Subanimation44: db FRAMEBLOCK_69, BASECOORD_0C, FRAMEBLOCKMODE_00 db FRAMEBLOCK_69, BASECOORD_06, FRAMEBLOCKMODE_00 -Subanimation43: +Subanim_0Circle_1Square_Closing: subanim SUBANIMTYPE_ENEMY, 3 db FRAMEBLOCK_6A, BASECOORD_07, FRAMEBLOCKMODE_00 db FRAMEBLOCK_6B, BASECOORD_0F, FRAMEBLOCKMODE_00 db FRAMEBLOCK_6C, BASECOORD_17, FRAMEBLOCKMODE_00 -Subanimation45: +Subanim_0HornJabTwice: subanim SUBANIMTYPE_HVFLIP, 4 db FRAMEBLOCK_6D, BASECOORD_8B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_6D, BASECOORD_84, FRAMEBLOCKMODE_00 db FRAMEBLOCK_6D, BASECOORD_63, FRAMEBLOCKMODE_00 db FRAMEBLOCK_6D, BASECOORD_8C, FRAMEBLOCKMODE_00 -Subanimation46: +Subanim_0HornJabThrice: subanim SUBANIMTYPE_HVFLIP, 6 db FRAMEBLOCK_6D, BASECOORD_8B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_6D, BASECOORD_84, FRAMEBLOCKMODE_00 @@ -855,13 +855,13 @@ Subanimation46: db FRAMEBLOCK_6D, BASECOORD_0A, FRAMEBLOCKMODE_00 db FRAMEBLOCK_6D, BASECOORD_89, FRAMEBLOCKMODE_00 -Subanimation47: +Subanim_0BallPoof: subanim SUBANIMTYPE_HVFLIP, 3 db FRAMEBLOCK_06, BASECOORD_82, FRAMEBLOCKMODE_00 db FRAMEBLOCK_07, BASECOORD_82, FRAMEBLOCKMODE_00 db FRAMEBLOCK_08, BASECOORD_96, FRAMEBLOCKMODE_00 -Subanimation48: +Subanim_2TradeBallDrop: subanim SUBANIMTYPE_NORMAL, 6 db FRAMEBLOCK_03, BASECOORD_41, FRAMEBLOCKMODE_04 db FRAMEBLOCK_03, BASECOORD_48, FRAMEBLOCKMODE_04 @@ -870,24 +870,24 @@ Subanimation48: db FRAMEBLOCK_05, BASECOORD_48, FRAMEBLOCKMODE_04 db FRAMEBLOCK_03, BASECOORD_48, FRAMEBLOCKMODE_03 -Subanimation49: +Subanim_2TradeBallShake: subanim SUBANIMTYPE_NORMAL, 4 db FRAMEBLOCK_04, BASECOORD_48, FRAMEBLOCKMODE_04 db FRAMEBLOCK_03, BASECOORD_48, FRAMEBLOCKMODE_04 db FRAMEBLOCK_05, BASECOORD_48, FRAMEBLOCKMODE_04 db FRAMEBLOCK_03, BASECOORD_48, FRAMEBLOCKMODE_03 -Subanimation4a: +Subanim_2TradeBallAppear: subanim SUBANIMTYPE_NORMAL, 1 db FRAMEBLOCK_04, BASECOORD_84, FRAMEBLOCKMODE_03 -Subanimation4b: +Subanim_2TradeBallPoof: subanim SUBANIMTYPE_NORMAL, 3 db FRAMEBLOCK_06, BASECOORD_72, FRAMEBLOCKMODE_00 db FRAMEBLOCK_07, BASECOORD_72, FRAMEBLOCKMODE_00 db FRAMEBLOCK_08, BASECOORD_72, FRAMEBLOCKMODE_00 -Subanimation4c: +Subanim_0EggShaking: subanim SUBANIMTYPE_COORDFLIP, 8 db FRAMEBLOCK_6F, BASECOORD_30, FRAMEBLOCKMODE_00 db FRAMEBLOCK_6E, BASECOORD_30, FRAMEBLOCKMODE_00 @@ -898,7 +898,7 @@ Subanimation4c: db FRAMEBLOCK_70, BASECOORD_30, FRAMEBLOCKMODE_00 db FRAMEBLOCK_6E, BASECOORD_30, FRAMEBLOCKMODE_00 -Subanimation4d: +Subanim_1TriangleToss: subanim SUBANIMTYPE_HVFLIP, 6 db FRAMEBLOCK_32, BASECOORD_4B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_33, BASECOORD_4F, FRAMEBLOCKMODE_00 @@ -907,7 +907,7 @@ Subanimation4d: db FRAMEBLOCK_32, BASECOORD_19, FRAMEBLOCKMODE_00 db FRAMEBLOCK_33, BASECOORD_0D, FRAMEBLOCKMODE_00 -Subanimation51: +Subanim_0Shell: subanim SUBANIMTYPE_ENEMY, 6 db FRAMEBLOCK_76, BASECOORD_1B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_34, BASECOORD_1B, FRAMEBLOCKMODE_00 @@ -916,7 +916,7 @@ Subanimation51: db FRAMEBLOCK_76, BASECOORD_1B, FRAMEBLOCKMODE_00 db FRAMEBLOCK_34, BASECOORD_1B, FRAMEBLOCKMODE_00 -Subanimation52: +Subanim_0CoinBounce: subanim SUBANIMTYPE_HFLIP, 7 db FRAMEBLOCK_77, BASECOORD_25, FRAMEBLOCKMODE_00 db FRAMEBLOCK_77, BASECOORD_9B, FRAMEBLOCKMODE_00 @@ -926,7 +926,7 @@ Subanimation52: db FRAMEBLOCK_77, BASECOORD_50, FRAMEBLOCKMODE_00 db FRAMEBLOCK_77, BASECOORD_8C, FRAMEBLOCKMODE_00 -Subanimation53: +Subanim_0SafariRock: subanim SUBANIMTYPE_NORMAL, 12 db FRAMEBLOCK_78, BASECOORD_30, FRAMEBLOCKMODE_00 db FRAMEBLOCK_78, BASECOORD_A2, FRAMEBLOCKMODE_00 @@ -941,7 +941,7 @@ Subanimation53: db FRAMEBLOCK_78, BASECOORD_34, FRAMEBLOCKMODE_00 db FRAMEBLOCK_01, BASECOORD_9E, FRAMEBLOCKMODE_00 -Subanimation54: +Subanim_0SafariBait: subanim SUBANIMTYPE_NORMAL, 11 db FRAMEBLOCK_79, BASECOORD_30, FRAMEBLOCKMODE_00 db FRAMEBLOCK_79, BASECOORD_A2, FRAMEBLOCKMODE_00 diff --git a/data/moves/animations.asm b/data/moves/animations.asm index e30e4379..0a8db8f5 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -225,161 +225,164 @@ MACRO battle_anim ENDC ENDM +; The 0 or 1 in the name of a subanim indicates whether to use tileset 0 or 1. +; "Both" indicates either can be used for different images using the same animation. + ZigZagScreenAnim: battle_anim NO_MOVE, SE_WAVY_SCREEN db -1 ; end PoundAnim: StruggleAnim: - battle_anim POUND, SUBANIM_01, 0, 8 + battle_anim POUND, SUBANIM_0_STAR_TWICE, 0, 8 db -1 ; end KarateChopAnim: - battle_anim KARATE_CHOP, SUBANIM_03, 0, 8 + battle_anim KARATE_CHOP, SUBANIM_0_STAR_DESCENDING, 0, 8 db -1 ; end DoubleSlapAnim: - battle_anim DOUBLESLAP, SUBANIM_01, 0, 5 - battle_anim DOUBLESLAP, SUBANIM_01, 0, 5 + battle_anim DOUBLESLAP, SUBANIM_0_STAR_TWICE, 0, 5 + battle_anim DOUBLESLAP, SUBANIM_0_STAR_TWICE, 0, 5 db -1 ; end CometPunchAnim: - battle_anim COMET_PUNCH, SUBANIM_02, 0, 4 - battle_anim COMET_PUNCH, SUBANIM_02, 0, 4 + battle_anim COMET_PUNCH, SUBANIM_0_STAR_THRICE, 0, 4 + battle_anim COMET_PUNCH, SUBANIM_0_STAR_THRICE, 0, 4 db -1 ; end MegaPunchAnim: - battle_anim MEGA_PUNCH, SUBANIM_04, 1, 6 + battle_anim MEGA_PUNCH, SUBANIM_1_STAR_BIG_MOVING, 1, 6 db -1 ; end PayDayAnim: - battle_anim POUND, SUBANIM_01, 0, 8 - battle_anim PAY_DAY, SUBANIM_52, 0, 4 + battle_anim POUND, SUBANIM_0_STAR_TWICE, 0, 8 + battle_anim PAY_DAY, SUBANIM_0_COIN_BOUNCE, 0, 4 db -1 ; end FirePunchAnim: - battle_anim FIRE_PUNCH, SUBANIM_02, 0, 6 - battle_anim NO_MOVE, SUBANIM_11, 1, 6 + battle_anim FIRE_PUNCH, SUBANIM_0_STAR_THRICE, 0, 6 + battle_anim NO_MOVE, SUBANIM_1_FLAMES, 1, 6 db -1 ; end IcePunchAnim: - battle_anim ICE_PUNCH, SUBANIM_02, 0, 6 - battle_anim NO_MOVE, SUBANIM_2F, 0, 16 + battle_anim ICE_PUNCH, SUBANIM_0_STAR_THRICE, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_ICE_RISE, 0, 16 db -1 ; end ThunderPunchAnim: - battle_anim THUNDERPUNCH, SUBANIM_02, 0, 6 + battle_anim THUNDERPUNCH, SUBANIM_0_STAR_THRICE, 0, 6 battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE - battle_anim NO_MOVE, SUBANIM_2B, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_LIGHTNING, 1, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end ScratchAnim: - battle_anim SCRATCH, SUBANIM_0F, 0, 6 + battle_anim SCRATCH, SUBANIM_0_SCRATCHES, 0, 6 db -1 ; end VicegripAnim: - battle_anim VICEGRIP, SUBANIM_2A, 0, 8 + battle_anim VICEGRIP, SUBANIM_0_SLICE_BOTH_SIDES, 0, 8 db -1 ; end GuillotineAnim: - battle_anim GUILLOTINE, SUBANIM_2A, 0, 6 + battle_anim GUILLOTINE, SUBANIM_0_SLICE_BOTH_SIDES, 0, 6 db -1 ; end RazorWindAnim: - battle_anim RAZOR_WIND, SUBANIM_16, 0, 4 + battle_anim RAZOR_WIND, SUBANIM_0_SLICE, 0, 4 db -1 ; end SwordsDanceAnim: - battle_anim SWORDS_DANCE, SUBANIM_18, 1, 6 - battle_anim SWORDS_DANCE, SUBANIM_18, 1, 6 - battle_anim SWORDS_DANCE, SUBANIM_18, 1, 6 + battle_anim SWORDS_DANCE, SUBANIM_1_SWORDS_CIRCLING, 1, 6 + battle_anim SWORDS_DANCE, SUBANIM_1_SWORDS_CIRCLING, 1, 6 + battle_anim SWORDS_DANCE, SUBANIM_1_SWORDS_CIRCLING, 1, 6 db -1 ; end CutAnim: battle_anim CUT, SE_DARK_SCREEN_FLASH - battle_anim NO_MOVE, SUBANIM_16, 0, 4 + battle_anim NO_MOVE, SUBANIM_0_SLICE, 0, 4 db -1 ; end GustAnim: - battle_anim GUST, SUBANIM_10, 1, 6 - battle_anim NO_MOVE, SUBANIM_02, 0, 6 + battle_anim GUST, SUBANIM_1_TORNADO, 1, 6 + battle_anim NO_MOVE, SUBANIM_0_STAR_THRICE, 0, 6 db -1 ; end WingAttackAnim: - battle_anim WING_ATTACK, SUBANIM_04, 1, 6 + battle_anim WING_ATTACK, SUBANIM_1_STAR_BIG_MOVING, 1, 6 db -1 ; end WhirlwindAnim: - battle_anim WHIRLWIND, SUBANIM_10, 1, 6 + battle_anim WHIRLWIND, SUBANIM_1_TORNADO, 1, 6 battle_anim NO_MOVE, SE_SLIDE_ENEMY_MON_OFF db -1 ; end FlyAnim: - battle_anim FLY, SUBANIM_04, 1, 6 + battle_anim FLY, SUBANIM_1_STAR_BIG_MOVING, 1, 6 battle_anim NO_MOVE, SE_SHOW_MON_PIC db -1 ; end BindAnim: - battle_anim BIND, SUBANIM_23, 0, 4 - battle_anim BIND, SUBANIM_23, 0, 4 + battle_anim BIND, SUBANIM_0_BIND, 0, 4 + battle_anim BIND, SUBANIM_0_BIND, 0, 4 db -1 ; end SlamAnim: - battle_anim SLAM, SUBANIM_02, 0, 6 + battle_anim SLAM, SUBANIM_0_STAR_THRICE, 0, 6 db -1 ; end VineWhipAnim: - battle_anim VINE_WHIP, SUBANIM_16, 0, 1 - battle_anim NO_MOVE, SUBANIM_01, 0, 8 + battle_anim VINE_WHIP, SUBANIM_0_SLICE, 0, 1 + battle_anim NO_MOVE, SUBANIM_0_STAR_TWICE, 0, 8 db -1 ; end StompAnim: - battle_anim STOMP, SUBANIM_05, 1, 8 + battle_anim STOMP, SUBANIM_1_STAR_BIG, 1, 8 db -1 ; end DoubleKickAnim: - battle_anim DOUBLE_KICK, SUBANIM_01, 0, 8 - battle_anim DOUBLE_KICK, SUBANIM_01, 0, 8 + battle_anim DOUBLE_KICK, SUBANIM_0_STAR_TWICE, 0, 8 + battle_anim DOUBLE_KICK, SUBANIM_0_STAR_TWICE, 0, 8 db -1 ; end MegaKickAnim: - battle_anim MEGA_KICK, SUBANIM_04, 1, 6 + battle_anim MEGA_KICK, SUBANIM_1_STAR_BIG_MOVING, 1, 6 db -1 ; end JumpKickAnim: - battle_anim JUMP_KICK, SUBANIM_04, 1, 6 + battle_anim JUMP_KICK, SUBANIM_1_STAR_BIG_MOVING, 1, 6 db -1 ; end RollingKickAnim: battle_anim ROLLING_KICK, SE_DARK_SCREEN_FLASH - battle_anim NO_MOVE, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG_MOVING, 1, 6 db -1 ; end SandAttackAnim: - battle_anim SAND_ATTACK, SUBANIM_28, 1, 6 + battle_anim SAND_ATTACK, SUBANIM_1_SAND, 1, 6 db -1 ; end HeadButtAnim: - battle_anim HEADBUTT, SUBANIM_05, 1, 6 + battle_anim HEADBUTT, SUBANIM_1_STAR_BIG, 1, 6 db -1 ; end HornAttackAnim: - battle_anim HORN_ATTACK, SUBANIM_45, 0, 6 - battle_anim NO_MOVE, SUBANIM_05, 1, 6 + battle_anim HORN_ATTACK, SUBANIM_0_HORN_JAB_TWICE, 0, 6 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG, 1, 6 db -1 ; end FuryAttackAnim: - battle_anim FURY_ATTACK, SUBANIM_46, 0, 2 - battle_anim NO_MOVE, SUBANIM_46, 0, 2 + battle_anim FURY_ATTACK, SUBANIM_0_HORN_JAB_THRICE, 0, 2 + battle_anim NO_MOVE, SUBANIM_0_HORN_JAB_THRICE, 0, 2 db -1 ; end HornDrillAnim: - battle_anim HORN_DRILL, SUBANIM_05, 1, 2 - battle_anim NO_MOVE, SUBANIM_05, 1, 2 - battle_anim NO_MOVE, SUBANIM_05, 1, 2 - battle_anim NO_MOVE, SUBANIM_05, 1, 2 - battle_anim NO_MOVE, SUBANIM_05, 1, 2 + battle_anim HORN_DRILL, SUBANIM_1_STAR_BIG, 1, 2 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG, 1, 2 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG, 1, 2 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG, 1, 2 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG, 1, 2 db -1 ; end TackleAnim: @@ -395,9 +398,9 @@ BodySlamAnim: db -1 ; end WrapAnim: - battle_anim WRAP, SUBANIM_23, 0, 4 - battle_anim WRAP, SUBANIM_23, 0, 4 - battle_anim WRAP, SUBANIM_23, 0, 4 + battle_anim WRAP, SUBANIM_0_BIND, 0, 4 + battle_anim WRAP, SUBANIM_0_BIND, 0, 4 + battle_anim WRAP, SUBANIM_0_BIND, 0, 4 db -1 ; end TakeDownAnim: @@ -407,12 +410,12 @@ TakeDownAnim: db -1 ; end ThrashAnim: - battle_anim THRASH, SUBANIM_04, 1, 6 + battle_anim THRASH, SUBANIM_1_STAR_BIG_MOVING, 1, 6 db -1 ; end DoubleEdgeAnim: battle_anim LEECH_SEED, SE_LIGHT_SCREEN_PALETTE - battle_anim NO_MOVE, SUBANIM_2D, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLES_CENTERING, 0, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE battle_anim NO_MOVE, SE_MOVE_MON_HORIZONTALLY battle_anim DOUBLE_EDGE, SE_DARK_SCREEN_FLASH @@ -430,16 +433,16 @@ TailWhipAnim: db -1 ; end PoisonStingAnim: - battle_anim POISON_STING, SUBANIM_00, 0, 6 + battle_anim POISON_STING, SUBANIM_0_STAR, 0, 6 db -1 ; end TwineedleAnim: - battle_anim TWINEEDLE, SUBANIM_01, 0, 5 - battle_anim TWINEEDLE, SUBANIM_01, 0, 5 + battle_anim TWINEEDLE, SUBANIM_0_STAR_TWICE, 0, 5 + battle_anim TWINEEDLE, SUBANIM_0_STAR_TWICE, 0, 5 db -1 ; end PinMissileAnim: - battle_anim PIN_MISSILE, SUBANIM_01, 0, 3 + battle_anim PIN_MISSILE, SUBANIM_0_STAR_TWICE, 0, 3 db -1 ; end LeerAnim: @@ -450,34 +453,34 @@ LeerAnim: db -1 ; end BiteAnim: - battle_anim BITE, SUBANIM_02, 0, 8 + battle_anim BITE, SUBANIM_0_STAR_THRICE, 0, 8 db -1 ; end GrowlAnim: - battle_anim GROWL, SUBANIM_12, 1, 6 + battle_anim GROWL, SUBANIM_0_HEART_1_MUSIC, 1, 6 db -1 ; end RoarAnim: - battle_anim ROAR, SUBANIM_15, 1, 6 - battle_anim ROAR, SUBANIM_15, 1, 6 - battle_anim ROAR, SUBANIM_15, 1, 6 + battle_anim ROAR, SUBANIM_1_SHOUT, 1, 6 + battle_anim ROAR, SUBANIM_1_SHOUT, 1, 6 + battle_anim ROAR, SUBANIM_1_SHOUT, 1, 6 db -1 ; end SingAnim: - battle_anim SING, SUBANIM_12, 1, 6 - battle_anim NO_MOVE, SUBANIM_40, 1, 16 - battle_anim NO_MOVE, SUBANIM_40, 1, 16 + battle_anim SING, SUBANIM_0_HEART_1_MUSIC, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_MUSIC_CIRCLING_ENEMY, 1, 16 + battle_anim NO_MOVE, SUBANIM_1_MUSIC_CIRCLING_ENEMY, 1, 16 db -1 ; end SupersonicAnim: - battle_anim SUPERSONIC, SUBANIM_31, 0, 6 + battle_anim SUPERSONIC, SUBANIM_0_SOUND_WAVE, 0, 6 db -1 ; end SonicBoomAnim: - battle_anim ROAR, SUBANIM_15, 1, 6 - battle_anim ROAR, SUBANIM_15, 1, 6 - battle_anim GUST, SUBANIM_10, 1, 6 - battle_anim NO_MOVE, SUBANIM_05, 1, 6 + battle_anim ROAR, SUBANIM_1_SHOUT, 1, 6 + battle_anim ROAR, SUBANIM_1_SHOUT, 1, 6 + battle_anim GUST, SUBANIM_1_TORNADO, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG, 1, 6 db -1 ; end DisableAnim: @@ -488,18 +491,18 @@ DisableAnim: db -1 ; end AcidAnim: - battle_anim ACID, SUBANIM_13, 1, 6 - battle_anim ACID, SUBANIM_14, 1, 6 + battle_anim ACID, SUBANIM_1_BLOB_TOSS, 1, 6 + battle_anim ACID, SUBANIM_1_BLOB_DRIP_ENEMY, 1, 6 db -1 ; end EmberAnim: - battle_anim EMBER, SUBANIM_11, 1, 6 + battle_anim EMBER, SUBANIM_1_FLAMES, 1, 6 db -1 ; end FlamethrowerAnim: - battle_anim FLAMETHROWER, SUBANIM_1F, 1, 6 - battle_anim FLAMETHROWER, SUBANIM_0C, 1, 6 - battle_anim FLAMETHROWER, SUBANIM_0D, 1, 6 + battle_anim FLAMETHROWER, SUBANIM_1_FLAME_BEAM, 1, 6 + battle_anim FLAMETHROWER, SUBANIM_1_FLAME_COLUMN_1, 1, 6 + battle_anim FLAMETHROWER, SUBANIM_1_FLAME_COLUMN_2, 1, 6 db -1 ; end MistAnim: @@ -509,40 +512,40 @@ MistAnim: db -1 ; end WaterGunAnim: - battle_anim WATER_GUN, SUBANIM_2C, 0, 6 + battle_anim WATER_GUN, SUBANIM_0_WATER_DROPLETS, 0, 6 db -1 ; end HydroPumpAnim: - battle_anim HYDRO_PUMP, SUBANIM_1A, 0, 6 - battle_anim HYDRO_PUMP, SUBANIM_1A, 0, 6 + battle_anim HYDRO_PUMP, SUBANIM_0_WATER_COLUMNS, 0, 6 + battle_anim HYDRO_PUMP, SUBANIM_0_WATER_COLUMNS, 0, 6 db -1 ; end SurfAnim: battle_anim SURF, SE_WATER_DROPLETS_EVERYWHERE - battle_anim HYDRO_PUMP, SUBANIM_1A, 0, 6 + battle_anim HYDRO_PUMP, SUBANIM_0_WATER_COLUMNS, 0, 6 db -1 ; end IceBeamAnim: - battle_anim ICE_BEAM, SUBANIM_2E, 0, 3 - battle_anim NO_MOVE, SUBANIM_2F, 0, 16 + battle_anim ICE_BEAM, SUBANIM_0_BEAM, 0, 3 + battle_anim NO_MOVE, SUBANIM_0_ICE_RISE, 0, 16 db -1 ; end BlizzardAnim: - battle_anim BLIZZARD, SUBANIM_38, 0, 4 - battle_anim HYDRO_PUMP, SUBANIM_38, 0, 4 + battle_anim BLIZZARD, SUBANIM_0_ICE_FALL, 0, 4 + battle_anim HYDRO_PUMP, SUBANIM_0_ICE_FALL, 0, 4 db -1 ; end PsyBeamAnim: - battle_anim PSYBEAM, SUBANIM_2E, 0, 3 + battle_anim PSYBEAM, SUBANIM_0_BEAM, 0, 3 battle_anim NO_MOVE, SE_FLASH_SCREEN_LONG db -1 ; end BubbleBeamAnim: - battle_anim BUBBLEBEAM, SUBANIM_35, 0, 18 + battle_anim BUBBLEBEAM, SUBANIM_0_WATER_BUBBLES, 0, 18 db -1 ; end AuroraBeamAnim: - battle_anim AURORA_BEAM, SUBANIM_2E, 0, 3 + battle_anim AURORA_BEAM, SUBANIM_0_BEAM, 0, 3 battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 db -1 ; end @@ -550,49 +553,49 @@ AuroraBeamAnim: HyperBeamAnim: battle_anim LEECH_SEED, SE_DARK_SCREEN_PALETTE battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD - battle_anim HYPER_BEAM, SUBANIM_2E, 0, 2 + battle_anim HYPER_BEAM, SUBANIM_0_BEAM, 0, 2 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH - battle_anim MEGA_PUNCH, SUBANIM_04, 1, 6 + battle_anim MEGA_PUNCH, SUBANIM_1_STAR_BIG_MOVING, 1, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end PeckAnim: - battle_anim PECK, SUBANIM_01, 0, 8 + battle_anim PECK, SUBANIM_0_STAR_TWICE, 0, 8 db -1 ; end DrillPeckAnim: - battle_anim DRILL_PECK, SUBANIM_04, 1, 6 + battle_anim DRILL_PECK, SUBANIM_1_STAR_BIG_MOVING, 1, 6 db -1 ; end SubmissionAnim: battle_anim SUBMISSION, SE_SLIDE_MON_OFF - battle_anim NO_MOVE, SUBANIM_01, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_STAR_TWICE, 0, 6 battle_anim NO_MOVE, SE_SHOW_MON_PIC db -1 ; end LowKickAnim: battle_anim LOW_KICK, SE_SLIDE_MON_OFF - battle_anim NO_MOVE, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG_MOVING, 1, 6 battle_anim NO_MOVE, SE_SHOW_MON_PIC db -1 ; end CounterAnim: battle_anim COUNTER, SE_SLIDE_MON_OFF - battle_anim NO_MOVE, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG_MOVING, 1, 6 battle_anim NO_MOVE, SE_SHOW_MON_PIC db -1 ; end SeismicTossAnim: battle_anim NO_MOVE, SE_BLINK_ENEMY_MON - battle_anim BARRAGE, SUBANIM_4E, 1, 1 + battle_anim BARRAGE, SUBANIM_1_SPHERE_BIG, 1, 1 battle_anim NO_MOVE, SE_HIDE_ENEMY_MON_PIC battle_anim NO_MOVE, SE_SLIDE_MON_OFF - battle_anim SEISMIC_TOSS, SUBANIM_4F, 1, 2 + battle_anim SEISMIC_TOSS, SUBANIM_1_SPHERE_BIG_RISE, 1, 2 battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 battle_anim NO_MOVE, SE_SHOW_MON_PIC - battle_anim SEISMIC_TOSS, SUBANIM_50, 1, 1 + battle_anim SEISMIC_TOSS, SUBANIM_1_SPHERE_BIG_FALL, 1, 1 battle_anim NO_MOVE, SE_SHOW_ENEMY_MON_PIC battle_anim NO_MOVE, SE_SHAKE_SCREEN db -1 ; end @@ -600,28 +603,28 @@ SeismicTossAnim: StrengthAnim: battle_anim LEECH_SEED, SE_MOVE_MON_HORIZONTALLY battle_anim NO_MOVE, SE_RESET_MON_POSITION - battle_anim FIRE_PUNCH, SUBANIM_04, 1, 6 + battle_anim FIRE_PUNCH, SUBANIM_1_STAR_BIG_MOVING, 1, 6 db -1 ; end AbsorbAnim: battle_anim ABSORB, SE_LIGHT_SCREEN_PALETTE - battle_anim NO_MOVE, SUBANIM_21, 0, 6 - battle_anim NO_MOVE, SUBANIM_22, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLES_1_SQUARES_CENTERING_ENEMY, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLE_1_SQUARE_TOSS_BACK, 0, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end MegaDrainAnim: battle_anim MEGA_DRAIN, SE_LIGHT_SCREEN_PALETTE battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH - battle_anim NO_MOVE, SUBANIM_21, 0, 6 - battle_anim NO_MOVE, SUBANIM_22, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLES_1_SQUARES_CENTERING_ENEMY, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLE_1_SQUARE_TOSS_BACK, 0, 6 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end LeechSeedAnim: - battle_anim LEECH_SEED, SUBANIM_1B, 1, 6 - battle_anim STUN_SPORE, SUBANIM_1C, 1, 21 + battle_anim LEECH_SEED, SUBANIM_1_SEED_TOSS, 1, 6 + battle_anim STUN_SPORE, SUBANIM_1_SEED_LAND, 1, 21 db -1 ; end GrowthAnim: @@ -632,25 +635,25 @@ GrowthAnim: RazorLeafAnim: battle_anim RAZOR_LEAF, SE_LEAVES_FALLING - battle_anim SWIFT, SUBANIM_44, 1, 1 - battle_anim RAZOR_WIND, SUBANIM_16, 0, 1 + battle_anim SWIFT, SUBANIM_1_LEAVES_TOSS, 1, 1 + battle_anim RAZOR_WIND, SUBANIM_0_SLICE, 0, 1 db -1 ; end SolarBeamAnim: - battle_anim SOLARBEAM, SUBANIM_2E, 0, 6 - battle_anim NO_MOVE, SUBANIM_01, 0, 6 + battle_anim SOLARBEAM, SUBANIM_0_BEAM, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_STAR_TWICE, 0, 6 db -1 ; end PoisonPowderAnim: - battle_anim POISONPOWDER, SUBANIM_36, 0, 6 + battle_anim POISONPOWDER, SUBANIM_0_CIRCLES_FALLING, 0, 6 db -1 ; end StunSporeAnim: - battle_anim STUN_SPORE, SUBANIM_36, 0, 6 + battle_anim STUN_SPORE, SUBANIM_0_CIRCLES_FALLING, 0, 6 db -1 ; end SleepPowderAnim: - battle_anim SLEEP_POWDER, SUBANIM_36, 0, 6 + battle_anim SLEEP_POWDER, SUBANIM_0_CIRCLES_FALLING, 0, 6 db -1 ; end PetalDanceAnim: @@ -660,48 +663,48 @@ PetalDanceAnim: db -1 ; end StringShotAnim: - battle_anim STRING_SHOT, SUBANIM_37, 0, 8 + battle_anim STRING_SHOT, SUBANIM_0_STRING_SHOT, 0, 8 db -1 ; end DragonRageAnim: - battle_anim DRAGON_RAGE, SUBANIM_1F, 1, 6 - battle_anim NO_MOVE, SUBANIM_0C, 1, 6 - battle_anim NO_MOVE, SUBANIM_0D, 1, 6 - battle_anim NO_MOVE, SUBANIM_0E, 1, 6 + battle_anim DRAGON_RAGE, SUBANIM_1_FLAME_BEAM, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_FLAME_COLUMN_1, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_FLAME_COLUMN_2, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_FLAME_COLUMN_3, 1, 6 db -1 ; end FireSpinAnim: - battle_anim FIRE_SPIN, SUBANIM_0C, 1, 6 - battle_anim NO_MOVE, SUBANIM_0D, 1, 6 - battle_anim NO_MOVE, SUBANIM_0E, 1, 6 + battle_anim FIRE_SPIN, SUBANIM_1_FLAME_COLUMN_1, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_FLAME_COLUMN_2, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_FLAME_COLUMN_3, 1, 6 db -1 ; end ThunderShockAnim: - battle_anim THUNDERSHOCK, SUBANIM_29, 1, 2 + battle_anim THUNDERSHOCK, SUBANIM_1_LIGHTNING_BALL, 1, 2 db -1 ; end ThunderBoltAnim: - battle_anim THUNDERBOLT, SUBANIM_29, 1, 1 - battle_anim THUNDERBOLT, SUBANIM_29, 1, 1 + battle_anim THUNDERBOLT, SUBANIM_1_LIGHTNING_BALL, 1, 1 + battle_anim THUNDERBOLT, SUBANIM_1_LIGHTNING_BALL, 1, 1 db -1 ; end ThunderWaveAnim: - battle_anim THUNDER_WAVE, SUBANIM_29, 1, 2 - battle_anim NO_MOVE, SUBANIM_23, 0, 2 - battle_anim NO_MOVE, SUBANIM_23, 0, 4 + battle_anim THUNDER_WAVE, SUBANIM_1_LIGHTNING_BALL, 1, 2 + battle_anim NO_MOVE, SUBANIM_0_BIND, 0, 2 + battle_anim NO_MOVE, SUBANIM_0_BIND, 0, 4 db -1 ; end ThunderAnim: battle_anim THUNDER, SE_DARK_SCREEN_PALETTE battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH - battle_anim NO_MOVE, SUBANIM_2B, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_LIGHTNING, 1, 6 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH - battle_anim THUNDERBOLT, SUBANIM_29, 1, 2 + battle_anim THUNDERBOLT, SUBANIM_1_LIGHTNING_BALL, 1, 2 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end RockThrowAnim: - battle_anim ROCK_THROW, SUBANIM_30, 0, 4 + battle_anim ROCK_THROW, SUBANIM_0_ROCKS_FALL_ENEMY, 0, 4 db -1 ; end EarthquakeAnim: @@ -717,13 +720,13 @@ FissureAnim: db -1 ; end DigAnim: - battle_anim DIG, SUBANIM_04, 1, 6 + battle_anim DIG, SUBANIM_1_STAR_BIG_MOVING, 1, 6 battle_anim NO_MOVE, SE_SLIDE_MON_UP db -1 ; end ToxicAnim: battle_anim SURF, SE_WATER_DROPLETS_EVERYWHERE - battle_anim TOXIC, SUBANIM_14, 1, 6 + battle_anim TOXIC, SUBANIM_1_BLOB_DRIP_ENEMY, 1, 6 db -1 ; end ConfusionAnim: @@ -741,7 +744,7 @@ HypnosisAnim: MeditateAnim: battle_anim MEDITATE, SE_LIGHT_SCREEN_PALETTE - battle_anim NO_MOVE, SUBANIM_43, 1, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLE_1_SQUARE_CLOSING, 1, 6 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end @@ -753,12 +756,12 @@ AgilityAnim: QuickAttackAnim: battle_anim QUICK_ATTACK, SE_SLIDE_MON_OFF - battle_anim NO_MOVE, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG_MOVING, 1, 6 battle_anim NO_MOVE, SE_SHOW_MON_PIC db -1 ; end RageAnim: - battle_anim RAGE, SUBANIM_01, 0, 6 + battle_anim RAGE, SUBANIM_0_STAR_TWICE, 0, 6 db -1 ; end TeleportAnim: @@ -772,12 +775,12 @@ NightShadeAnim: db -1 ; end MimicAnim: - battle_anim MIMIC, SUBANIM_21, 1, 6 - battle_anim MIMIC, SUBANIM_22, 1, 6 + battle_anim MIMIC, SUBANIM_0_CIRCLES_1_SQUARES_CENTERING_ENEMY, 1, 6 + battle_anim MIMIC, SUBANIM_0_CIRCLE_1_SQUARE_TOSS_BACK, 1, 6 db -1 ; end ScreechAnim: - battle_anim SCREECH, SUBANIM_12, 1, 6 + battle_anim SCREECH, SUBANIM_0_HEART_1_MUSIC, 1, 6 db -1 ; end DoubleTeamAnim: @@ -789,7 +792,7 @@ DoubleTeamAnim: battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE battle_anim DOUBLE_TEAM, SE_SHAKE_BACK_AND_FORTH battle_anim NO_MOVE, SE_SHOW_MON_PIC - battle_anim BARRIER, SUBANIM_33, 1, 6 + battle_anim BARRIER, SUBANIM_1_BARRIER, 1, 6 db -1 ; end RecoverAnim: @@ -801,7 +804,7 @@ RecoverAnim: HardenAnim: battle_anim HARDEN, SE_LIGHT_SCREEN_PALETTE - battle_anim NO_MOVE, SUBANIM_43, 1, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLE_1_SQUARE_CLOSING, 1, 6 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end @@ -814,8 +817,8 @@ MinimizeAnim: db -1 ; end SmokeScreenAnim: - battle_anim SMOKESCREEN, SUBANIM_28, 1, 6 - battle_anim NO_MOVE, SUBANIM_0A, 0, 4 + battle_anim SMOKESCREEN, SUBANIM_1_SAND, 1, 6 + battle_anim NO_MOVE, SUBANIM_0_BALL_POOF_ENEMY, 0, 4 battle_anim NO_MOVE, SE_DARKEN_MON_PALETTE battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 @@ -833,34 +836,34 @@ SmokeScreenAnim: ConfuseRayAnim: battle_anim CONFUSE_RAY, SE_DARK_SCREEN_PALETTE - battle_anim NO_MOVE, SUBANIM_3E, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_STAR_BIG_TOSS, 1, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end WithdrawAnim: battle_anim DEFENSE_CURL, SE_LIGHT_SCREEN_PALETTE battle_anim NO_MOVE, SE_SLIDE_MON_DOWN - battle_anim NO_MOVE, SUBANIM_51, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_SHELL, 0, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE battle_anim NO_MOVE, SE_SHOW_MON_PIC db -1 ; end DefenseCurlAnim: battle_anim DEFENSE_CURL, SE_LIGHT_SCREEN_PALETTE - battle_anim NO_MOVE, SUBANIM_43, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLE_1_SQUARE_CLOSING, 0, 6 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end BarrierAnim: - battle_anim BARRIER, SUBANIM_33, 1, 6 - battle_anim BARRIER, SUBANIM_33, 1, 6 + battle_anim BARRIER, SUBANIM_1_BARRIER, 1, 6 + battle_anim BARRIER, SUBANIM_1_BARRIER, 1, 6 db -1 ; end LightScreenAnim: battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE - battle_anim LIGHT_SCREEN, SUBANIM_33, 1, 6 - battle_anim LIGHT_SCREEN, SUBANIM_33, 1, 6 + battle_anim LIGHT_SCREEN, SUBANIM_1_BARRIER, 1, 6 + battle_anim LIGHT_SCREEN, SUBANIM_1_BARRIER, 1, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end @@ -872,8 +875,8 @@ HazeAnim: ReflectAnim: battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE - battle_anim REFLECT, SUBANIM_33, 1, 6 - battle_anim REFLECT, SUBANIM_33, 1, 6 + battle_anim REFLECT, SUBANIM_1_BARRIER, 1, 6 + battle_anim REFLECT, SUBANIM_1_BARRIER, 1, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end @@ -882,7 +885,7 @@ FocusEnergyAnim: db -1 ; end BideAnim: - battle_anim BIDE, SUBANIM_04, 1, 6 + battle_anim BIDE, SUBANIM_1_STAR_BIG_MOVING, 1, 6 db -1 ; end MetronomeAnim: @@ -896,88 +899,88 @@ MetronomeAnim: db -1 ; end MirrorMoveAnim: - battle_anim MIRROR_MOVE, SUBANIM_01, 0, 8 + battle_anim MIRROR_MOVE, SUBANIM_0_STAR_TWICE, 0, 8 db -1 ; end SelfdestructAnim: - battle_anim SELFDESTRUCT, SUBANIM_34, 1, 3 + battle_anim SELFDESTRUCT, SUBANIM_1_SELFDESTRUCT, 1, 3 db -1 ; end EggBombAnim: - battle_anim EGG_BOMB, SUBANIM_41, 1, 4 - battle_anim EGG_BOMB, SUBANIM_42, 1, 4 + battle_anim EGG_BOMB, SUBANIM_1_CIRCLE_BLACK_TOSS, 1, 4 + battle_anim EGG_BOMB, SUBANIM_1_EXPLOSION_SMALL_ENEMY, 1, 4 db -1 ; end LickAnim: - battle_anim SLUDGE, SUBANIM_14, 1, 6 + battle_anim SLUDGE, SUBANIM_1_BLOB_DRIP_ENEMY, 1, 6 db -1 ; end SmogAnim: battle_anim LEECH_SEED, SE_DARKEN_MON_PALETTE - battle_anim SMOG, SUBANIM_19, 1, 6 + battle_anim SMOG, SUBANIM_1_CLOUD_TOSS, 1, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end SludgeAnim: - battle_anim SLUDGE, SUBANIM_13, 1, 6 - battle_anim SLUDGE, SUBANIM_14, 1, 6 + battle_anim SLUDGE, SUBANIM_1_BLOB_TOSS, 1, 6 + battle_anim SLUDGE, SUBANIM_1_BLOB_DRIP_ENEMY, 1, 6 db -1 ; end BoneClubAnim: - battle_anim BONE_CLUB, SUBANIM_02, 0, 8 + battle_anim BONE_CLUB, SUBANIM_0_STAR_THRICE, 0, 8 db -1 ; end FireBlastAnim: - battle_anim FIRE_BLAST, SUBANIM_1F, 1, 6 - battle_anim NO_MOVE, SUBANIM_20, 1, 6 - battle_anim NO_MOVE, SUBANIM_20, 1, 6 - battle_anim NO_MOVE, SUBANIM_0C, 1, 6 - battle_anim NO_MOVE, SUBANIM_0D, 1, 6 + battle_anim FIRE_BLAST, SUBANIM_1_FLAME_BEAM, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_FLAME_STAR, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_FLAME_STAR, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_FLAME_COLUMN_1, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_FLAME_COLUMN_2, 1, 6 db -1 ; end WaterfallAnim: battle_anim LEECH_SEED, SE_SLIDE_MON_DOWN - battle_anim HYDRO_PUMP, SUBANIM_1A, 0, 6 - battle_anim NO_MOVE, SUBANIM_02, 0, 8 + battle_anim HYDRO_PUMP, SUBANIM_0_WATER_COLUMNS, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_STAR_THRICE, 0, 8 battle_anim NO_MOVE, SE_SLIDE_MON_UP db -1 ; end ClampAnim: - battle_anim CLAMP, SUBANIM_2A, 0, 8 - battle_anim CONSTRICT, SUBANIM_23, 0, 6 - battle_anim CONSTRICT, SUBANIM_23, 0, 6 + battle_anim CLAMP, SUBANIM_0_SLICE_BOTH_SIDES, 0, 8 + battle_anim CONSTRICT, SUBANIM_0_BIND, 0, 6 + battle_anim CONSTRICT, SUBANIM_0_BIND, 0, 6 db -1 ; end SwiftAnim: - battle_anim SWIFT, SUBANIM_3F, 1, 3 + battle_anim SWIFT, SUBANIM_1_STARS_SMALL_TOSS, 1, 3 db -1 ; end SkullBashAnim: - battle_anim SKULL_BASH, SUBANIM_05, 1, 6 + battle_anim SKULL_BASH, SUBANIM_1_STAR_BIG, 1, 6 db -1 ; end SpikeCannonAnim: - battle_anim SPIKE_CANNON, SUBANIM_04, 1, 4 + battle_anim SPIKE_CANNON, SUBANIM_1_STAR_BIG_MOVING, 1, 4 db -1 ; end ConstrictAnim: - battle_anim CONSTRICT, SUBANIM_23, 0, 6 - battle_anim CONSTRICT, SUBANIM_23, 0, 6 - battle_anim CONSTRICT, SUBANIM_23, 0, 6 + battle_anim CONSTRICT, SUBANIM_0_BIND, 0, 6 + battle_anim CONSTRICT, SUBANIM_0_BIND, 0, 6 + battle_anim CONSTRICT, SUBANIM_0_BIND, 0, 6 db -1 ; end AmnesiaAnim: - battle_anim AMNESIA, SUBANIM_25, 0, 8 - battle_anim AMNESIA, SUBANIM_25, 0, 8 + battle_anim AMNESIA, SUBANIM_0_STATUS_CONFUSED, 0, 8 + battle_anim AMNESIA, SUBANIM_0_STATUS_CONFUSED, 0, 8 db -1 ; end KinesisAnim: - battle_anim KINESIS, SUBANIM_01, 0, 8 + battle_anim KINESIS, SUBANIM_0_STAR_TWICE, 0, 8 db -1 ; end SoftboiledAnim: battle_anim LEECH_SEED, SE_SLIDE_MON_HALF_OFF - battle_anim SOFTBOILED, SUBANIM_4C, 0, 8 + battle_anim SOFTBOILED, SUBANIM_0_EGG_SHAKING, 0, 8 battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE @@ -985,7 +988,7 @@ SoftboiledAnim: db -1 ; end HiJumpKickAnim: - battle_anim HI_JUMP_KICK, SUBANIM_04, 1, 6 + battle_anim HI_JUMP_KICK, SUBANIM_1_STAR_BIG_MOVING, 1, 6 db -1 ; end GlareAnim: @@ -998,58 +1001,58 @@ GlareAnim: DreamEaterAnim: battle_anim DREAM_EATER, SE_FLASH_SCREEN_LONG battle_anim DREAM_EATER, SE_DARK_SCREEN_PALETTE - battle_anim DREAM_EATER, SUBANIM_02, 0, 8 + battle_anim DREAM_EATER, SUBANIM_0_STAR_THRICE, 0, 8 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end PoisonGasAnim: - battle_anim POISON_GAS, SUBANIM_19, 1, 6 + battle_anim POISON_GAS, SUBANIM_1_CLOUD_TOSS, 1, 6 db -1 ; end BarrageAnim: - battle_anim BARRAGE, SUBANIM_41, 1, 3 - battle_anim NO_MOVE, SUBANIM_55, 0, 5 + battle_anim BARRAGE, SUBANIM_1_CIRCLE_BLACK_TOSS, 1, 3 + battle_anim NO_MOVE, SUBANIM_0_STAR_HIGH, 0, 5 db -1 ; end LeechLifeAnim: - battle_anim LEECH_LIFE, SUBANIM_02, 0, 8 + battle_anim LEECH_LIFE, SUBANIM_0_STAR_THRICE, 0, 8 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH - battle_anim NO_MOVE, SUBANIM_21, 0, 6 - battle_anim NO_MOVE, SUBANIM_22, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLES_1_SQUARES_CENTERING_ENEMY, 0, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLE_1_SQUARE_TOSS_BACK, 0, 6 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH db -1 ; end LovelyKissAnim: - battle_anim LOVELY_KISS, SUBANIM_12, 0, 6 + battle_anim LOVELY_KISS, SUBANIM_0_HEART_1_MUSIC, 0, 6 db -1 ; end SkyAttackAnim: battle_anim SKY_ATTACK, SE_SQUISH_MON_PIC battle_anim NO_MOVE, SE_SHOOT_BALLS_UPWARD - battle_anim HI_JUMP_KICK, SUBANIM_04, 1, 6 + battle_anim HI_JUMP_KICK, SUBANIM_1_STAR_BIG_MOVING, 1, 6 battle_anim NO_MOVE, SE_SHOW_MON_PIC db -1 ; end TransformAnim: - battle_anim TRANSFORM, SUBANIM_21, 1, 6 - battle_anim TRANSFORM, SUBANIM_22, 1, 4 - battle_anim NO_MOVE, SUBANIM_47, 0, 8 + battle_anim TRANSFORM, SUBANIM_0_CIRCLES_1_SQUARES_CENTERING_ENEMY, 1, 6 + battle_anim TRANSFORM, SUBANIM_0_CIRCLE_1_SQUARE_TOSS_BACK, 1, 4 + battle_anim NO_MOVE, SUBANIM_0_BALL_POOF, 0, 8 battle_anim NO_MOVE, SE_TRANSFORM_MON db -1 ; end BubbleAnim: - battle_anim BUBBLE, SUBANIM_35, 0, 22 + battle_anim BUBBLE, SUBANIM_0_WATER_BUBBLES, 0, 22 db -1 ; end DizzyPunchAnim: - battle_anim DIZZY_PUNCH, SUBANIM_17, 0, 6 - battle_anim DIZZY_PUNCH, SUBANIM_17, 0, 6 - battle_anim DIZZY_PUNCH, SUBANIM_17, 0, 6 - battle_anim DOUBLESLAP, SUBANIM_02, 0, 6 + battle_anim DIZZY_PUNCH, SUBANIM_0_BIRDIES_CIRCLING_ENEMY, 0, 6 + battle_anim DIZZY_PUNCH, SUBANIM_0_BIRDIES_CIRCLING_ENEMY, 0, 6 + battle_anim DIZZY_PUNCH, SUBANIM_0_BIRDIES_CIRCLING_ENEMY, 0, 6 + battle_anim DOUBLESLAP, SUBANIM_0_STAR_THRICE, 0, 6 db -1 ; end SporeAnim: - battle_anim SPORE, SUBANIM_36, 0, 6 + battle_anim SPORE, SUBANIM_0_CIRCLES_FALLING, 0, 6 db -1 ; end FlashAnim: @@ -1060,7 +1063,7 @@ FlashAnim: db -1 ; end PsywaveAnim: - battle_anim SUPERSONIC, SUBANIM_31, 0, 6 + battle_anim SUPERSONIC, SUBANIM_0_SOUND_WAVE, 0, 6 battle_anim CONFUSION, SE_WAVY_SCREEN db -1 ; end @@ -1073,91 +1076,91 @@ AcidArmorAnim: db -1 ; end CrabHammerAnim: - battle_anim CRABHAMMER, SUBANIM_05, 1, 6 - battle_anim NO_MOVE, SUBANIM_2A, 0, 6 + battle_anim CRABHAMMER, SUBANIM_1_STAR_BIG, 1, 6 + battle_anim NO_MOVE, SUBANIM_0_SLICE_BOTH_SIDES, 0, 6 db -1 ; end ExplosionAnim: - battle_anim EXPLOSION, SUBANIM_34, 1, 3 + battle_anim EXPLOSION, SUBANIM_1_SELFDESTRUCT, 1, 3 db -1 ; end FurySwipesAnim: - battle_anim FURY_SWIPES, SUBANIM_0F, 0, 4 + battle_anim FURY_SWIPES, SUBANIM_0_SCRATCHES, 0, 4 db -1 ; end BonemerangAnim: - battle_anim BONEMERANG, SUBANIM_02, 0, 6 + battle_anim BONEMERANG, SUBANIM_0_STAR_THRICE, 0, 6 db -1 ; end RestAnim: - battle_anim REST, SUBANIM_3A, 0, 16 - battle_anim REST, SUBANIM_3A, 0, 16 + battle_anim REST, SUBANIM_0_STATUS_SLEEP, 0, 16 + battle_anim REST, SUBANIM_0_STATUS_SLEEP, 0, 16 db -1 ; end RockSlideAnim: - battle_anim ROCK_SLIDE, SUBANIM_1D, 0, 4 - battle_anim ROCK_SLIDE, SUBANIM_1E, 0, 3 - battle_anim HYPER_FANG, SUBANIM_04, 1, 6 + battle_anim ROCK_SLIDE, SUBANIM_0_ROCKS_LIFT, 0, 4 + battle_anim ROCK_SLIDE, SUBANIM_0_ROCKS_TOSS, 0, 3 + battle_anim HYPER_FANG, SUBANIM_1_STAR_BIG_MOVING, 1, 6 db -1 ; end HyperFangAnim: - battle_anim HYPER_FANG, SUBANIM_02, 0, 6 + battle_anim HYPER_FANG, SUBANIM_0_STAR_THRICE, 0, 6 db -1 ; end SharpenAnim: battle_anim SHARPEN, SE_LIGHT_SCREEN_PALETTE - battle_anim NO_MOVE, SUBANIM_43, 1, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLE_1_SQUARE_CLOSING, 1, 6 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end ConversionAnim: battle_anim CONVERSION, SE_DARK_SCREEN_FLASH - battle_anim NO_MOVE, SUBANIM_21, 1, 6 - battle_anim NO_MOVE, SUBANIM_22, 1, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLES_1_SQUARES_CENTERING_ENEMY, 1, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLE_1_SQUARE_TOSS_BACK, 1, 6 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH db -1 ; end TriAttackAnim: battle_anim TRI_ATTACK, SE_DARK_SCREEN_FLASH - battle_anim NO_MOVE, SUBANIM_4D, 1, 6 + battle_anim NO_MOVE, SUBANIM_1_TRIANGLE_TOSS, 1, 6 battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH db -1 ; end SuperFangAnim: battle_anim LEECH_SEED, SE_DARK_SCREEN_PALETTE - battle_anim SUPER_FANG, SUBANIM_04, 1, 6 + battle_anim SUPER_FANG, SUBANIM_1_STAR_BIG_MOVING, 1, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end SlashAnim: - battle_anim SLASH, SUBANIM_0F, 0, 6 + battle_anim SLASH, SUBANIM_0_SCRATCHES, 0, 6 db -1 ; end SubstituteAnim: battle_anim SUBSTITUTE, SE_SLIDE_MON_OFF - battle_anim NO_MOVE, SUBANIM_47, 0, 8 + battle_anim NO_MOVE, SUBANIM_0_BALL_POOF, 0, 8 battle_anim NO_MOVE, SE_SUBSTITUTE_MON db -1 ; end BallTossAnim: - battle_anim NO_MOVE, SUBANIM_06, 0, 3 + battle_anim NO_MOVE, SUBANIM_0_BALL_TOSS_HIGH, 0, 3 db -1 ; end GreatTossAnim: - battle_anim NO_MOVE, SUBANIM_07, 0, 3 + battle_anim NO_MOVE, SUBANIM_0_BALL_TOSS_MIDDLE, 0, 3 db -1 ; end UltraTossAnim: - battle_anim NO_MOVE, SUBANIM_08, 0, 2 + battle_anim NO_MOVE, SUBANIM_0_BALL_TOSS_LOW, 0, 2 db -1 ; end BallShakeAnim: - battle_anim NO_MOVE, SUBANIM_09, 0, 4 + battle_anim NO_MOVE, SUBANIM_0_BALL_SHAKE_ENEMY, 0, 4 db -1 ; end BallPoofAnim: - battle_anim NO_MOVE, SUBANIM_0A, 0, 4 + battle_anim NO_MOVE, SUBANIM_0_BALL_POOF_ENEMY, 0, 4 db -1 ; end ShowPicAnim: @@ -1181,19 +1184,19 @@ EnemyHUDShakeAnim: db -1 ; end TradeBallDropAnim: - battle_anim NO_MOVE, SUBANIM_48, 2, 6 + battle_anim NO_MOVE, SUBANIM_2_TRADE_BALL_DROP, 2, 6 db -1 ; end TradeBallAppear1Anim: - battle_anim NO_MOVE, SUBANIM_49, 2, 4 + battle_anim NO_MOVE, SUBANIM_2_TRADE_BALL_SHAKE, 2, 4 db -1 ; end TradeBallAppear2Anim: - battle_anim NO_MOVE, SUBANIM_4A, 2, 6 + battle_anim NO_MOVE, SUBANIM_2_TRADE_BALL_APPEAR, 2, 6 db -1 ; end TradeBallPoofAnim: - battle_anim NO_MOVE, SUBANIM_4B, 2, 6 + battle_anim NO_MOVE, SUBANIM_2_TRADE_BALL_POOF, 2, 6 db -1 ; end XStatItemAnim: @@ -1204,7 +1207,7 @@ XStatItemAnim: ShrinkingSquareAnim: battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE - battle_anim NO_MOVE, SUBANIM_43, 1, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLE_1_SQUARE_CLOSING, 1, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end @@ -1216,7 +1219,7 @@ XStatItemBlackAnim: ShrinkingSquareBlackAnim: battle_anim NO_MOVE, SE_DARKEN_MON_PALETTE - battle_anim NO_MOVE, SUBANIM_43, 1, 6 + battle_anim NO_MOVE, SUBANIM_0_CIRCLE_1_SQUARE_CLOSING, 1, 6 battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE db -1 ; end @@ -1227,37 +1230,37 @@ UnusedAnim: db -1 ; end ParalyzeAnim: - battle_anim BIND, SUBANIM_24, 0, 4 - battle_anim BIND, SUBANIM_24, 0, 4 + battle_anim BIND, SUBANIM_0_STATUS_PARALYZED, 0, 4 + battle_anim BIND, SUBANIM_0_STATUS_PARALYZED, 0, 4 db -1 ; end PoisonAnim: - battle_anim BIND, SUBANIM_27, 0, 8 - battle_anim BIND, SUBANIM_27, 0, 8 + battle_anim BIND, SUBANIM_0_STATUS_POISONED, 0, 8 + battle_anim BIND, SUBANIM_0_STATUS_POISONED, 0, 8 db -1 ; end SleepPlayerAnim: - battle_anim REST, SUBANIM_3A, 0, 16 - battle_anim REST, SUBANIM_3A, 0, 16 + battle_anim REST, SUBANIM_0_STATUS_SLEEP, 0, 16 + battle_anim REST, SUBANIM_0_STATUS_SLEEP, 0, 16 db -1 ; end SleepEnemyAnim: - battle_anim REST, SUBANIM_3B, 0, 16 - battle_anim REST, SUBANIM_3B, 0, 16 + battle_anim REST, SUBANIM_0_STATUS_SLEEP_ENEMY, 0, 16 + battle_anim REST, SUBANIM_0_STATUS_SLEEP_ENEMY, 0, 16 db -1 ; end ConfusedPlayerAnim: - battle_anim AMNESIA, SUBANIM_25, 0, 8 - battle_anim AMNESIA, SUBANIM_25, 0, 8 + battle_anim AMNESIA, SUBANIM_0_STATUS_CONFUSED, 0, 8 + battle_anim AMNESIA, SUBANIM_0_STATUS_CONFUSED, 0, 8 db -1 ; end ConfusedEnemyAnim: - battle_anim AMNESIA, SUBANIM_26, 0, 8 - battle_anim AMNESIA, SUBANIM_26, 0, 8 + battle_anim AMNESIA, SUBANIM_0_STATUS_CONFUSED_ENEMY, 0, 8 + battle_anim AMNESIA, SUBANIM_0_STATUS_CONFUSED_ENEMY, 0, 8 db -1 ; end BallBlockAnim: - battle_anim NO_MOVE, SUBANIM_0B, 0, 3 + battle_anim NO_MOVE, SUBANIM_0_BALL_BLOCK, 0, 3 db -1 ; end FaintAnim: @@ -1269,9 +1272,9 @@ ShakeScreenAnim: db -1 ; end ThrowRockAnim: - battle_anim BARRAGE, SUBANIM_53, 0, 3 + battle_anim BARRAGE, SUBANIM_0_SAFARI_ROCK, 0, 3 db -1 ; end ThrowBaitAnim: - battle_anim BARRAGE, SUBANIM_54, 0, 3 + battle_anim BARRAGE, SUBANIM_0_SAFARI_BAIT, 0, 3 db -1 ; end diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 789dcb8a..fcfec14d 100644 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -249,7 +249,7 @@ PlayAnimation: push af ld a, [wAnimPalette] ldh [rOBP0], a - call LoadAnimationTileset + call LoadMoveAnimationTiles vc_hook Reduce_move_anim_flashing_Mega_Punch_Self_Destruct_Explosion call LoadSubanimation call PlaySubanimation @@ -352,11 +352,11 @@ GetSubanimationTransform2: ret ; loads tile patterns for battle animations -LoadAnimationTileset: +LoadMoveAnimationTiles: ld a, [wWhichBattleAnimTileset] add a add a - ld hl, AnimationTilesetPointers + ld hl, MoveAnimationTilesPointers ld e, a ld d, 0 add hl, de @@ -367,7 +367,7 @@ LoadAnimationTileset: ld a, [hl] ld d, a ; de = address of tileset ld hl, vSprites tile $31 - ld b, BANK(AnimationTileset1) ; ROM bank + ld b, BANK(MoveAnimationTiles0) ; ROM bank ld a, [wTempTilesetNumTiles] ld c, a ; number of tiles jp CopyVideoData ; load tileset @@ -378,17 +378,18 @@ MACRO anim_tileset db -1 ; padding ENDM -AnimationTilesetPointers: +MoveAnimationTilesPointers: ; number of tiles, gfx pointer - anim_tileset 79, AnimationTileset1 - anim_tileset 79, AnimationTileset2 - anim_tileset 64, AnimationTileset1 + anim_tileset 79, MoveAnimationTiles0 + anim_tileset 79, MoveAnimationTiles1 + anim_tileset 64, MoveAnimationTiles2 -AnimationTileset1: - INCBIN "gfx/battle/attack_anim_1.2bpp" +MoveAnimationTiles0: +MoveAnimationTiles2: + INCBIN "gfx/battle/move_anim_0.2bpp" -AnimationTileset2: - INCBIN "gfx/battle/attack_anim_2.2bpp" +MoveAnimationTiles1: + INCBIN "gfx/battle/move_anim_1.2bpp" SlotMachineTiles2: IF DEF(_RED) @@ -1114,7 +1115,7 @@ AnimationWaterDropletsEverywhere: ; in Surf/Mist/Toxic. xor a ld [wWhichBattleAnimTileset], a - call LoadAnimationTileset + call LoadMoveAnimationTiles ld d, 32 ld a, -16 ld [wBaseCoordX], a @@ -1634,7 +1635,7 @@ _AnimationShootBallsUpward: push bc xor a ld [wWhichBattleAnimTileset], a - call LoadAnimationTileset + call LoadMoveAnimationTiles pop bc ld d, $7a ; ball tile ld hl, wShadowOAM @@ -2074,7 +2075,7 @@ InitMultipleObjectsOAM: push bc push de ld [wWhichBattleAnimTileset], a - call LoadAnimationTileset + call LoadMoveAnimationTiles pop de pop bc xor a diff --git a/engine/movie/splash.asm b/engine/movie/splash.asm index 2373a0f9..6e483e99 100644 --- a/engine/movie/splash.asm +++ b/engine/movie/splash.asm @@ -3,13 +3,13 @@ LoadShootingStarGraphics: ldh [rOBP0], a ld a, $a4 ldh [rOBP1], a - ld de, AnimationTileset2 tile 3 ; star tile (top left quadrant) + ld de, MoveAnimationTiles1 tile 3 ; star tile (top left quadrant) ld hl, vChars1 tile $20 - lb bc, BANK(AnimationTileset2), 1 + lb bc, BANK(MoveAnimationTiles1), 1 call CopyVideoData - ld de, AnimationTileset2 tile 19 ; star tile (bottom left quadrant) + ld de, MoveAnimationTiles1 tile 19 ; star tile (bottom left quadrant) ld hl, vChars1 tile $21 - lb bc, BANK(AnimationTileset2), 1 + lb bc, BANK(MoveAnimationTiles1), 1 call CopyVideoData ld de, FallingStar ld hl, vChars1 tile $22 diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index 4a337e8d..8ae9ed65 100644 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -112,8 +112,8 @@ InitCutAnimOAM: ret LoadCutGrassAnimationTilePattern: - ld de, AnimationTileset2 tile 6 ; tile depicting a leaf - lb bc, BANK(AnimationTileset2), 1 + ld de, MoveAnimationTiles1 tile 6 ; tile depicting a leaf + lb bc, BANK(MoveAnimationTiles1), 1 jp CopyVideoData WriteCutOrBoulderDustAnimationOAMBlock: diff --git a/gfx/battle/attack_anim_1.png b/gfx/battle/move_anim_0.png similarity index 100% rename from gfx/battle/attack_anim_1.png rename to gfx/battle/move_anim_0.png diff --git a/gfx/battle/attack_anim_2.png b/gfx/battle/move_anim_1.png similarity index 100% rename from gfx/battle/attack_anim_2.png rename to gfx/battle/move_anim_1.png From 3e72d0834efd0a02383fa4fd960ed8e563b0e8c4 Mon Sep 17 00:00:00 2001 From: Vortyne <104168801+Vortyne@users.noreply.github.com> Date: Mon, 26 Sep 2022 11:12:43 -0400 Subject: [PATCH 111/119] Bug: `SUBANIMTYPE_COORDFLIP` should be `SUBANIMTYPE_HVFLIP` (#394) Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com> --- data/battle_anims/subanimations.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/battle_anims/subanimations.asm b/data/battle_anims/subanimations.asm index 574047c5..74097e22 100644 --- a/data/battle_anims/subanimations.asm +++ b/data/battle_anims/subanimations.asm @@ -547,7 +547,7 @@ Subanim_0Circle_1Square_TossBack: db FRAMEBLOCK_47, BASECOORD_B0, FRAMEBLOCKMODE_00 Subanim_0CirclesCentering: - subanim SUBANIMTYPE_COORDFLIP, 6 + subanim SUBANIMTYPE_COORDFLIP, 6 ; should be SUBANIMTYPE_HVFLIP db FRAMEBLOCK_44, BASECOORD_64, FRAMEBLOCKMODE_00 db FRAMEBLOCK_45, BASECOORD_65, FRAMEBLOCKMODE_00 db FRAMEBLOCK_46, BASECOORD_66, FRAMEBLOCKMODE_00 From 742dd00eb735b3e548bc35f70f23d43ae91ad215 Mon Sep 17 00:00:00 2001 From: Vortyne <104168801+Vortyne@users.noreply.github.com> Date: Mon, 26 Sep 2022 14:53:16 -0400 Subject: [PATCH 112/119] Bug: Sprites can receive the wrong movement byte (#395) Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com> --- engine/overworld/movement.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index e08da61a..20de17a1 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -117,7 +117,7 @@ UpdateNPCSprite: dec a add a ld hl, wMapSpriteData - add l + add l ; should be adc ld l, a ld a, [hl] ; read movement byte 2 ld [wCurSpriteMovement2], a From 22859c4bb70dba17994c9b47b07f657ea082875d Mon Sep 17 00:00:00 2001 From: Rangi <35663410+Rangi42@users.noreply.github.com> Date: Mon, 26 Sep 2022 15:17:26 -0400 Subject: [PATCH 113/119] Revert PR #395 --- engine/overworld/movement.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index 20de17a1..e08da61a 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -117,7 +117,7 @@ UpdateNPCSprite: dec a add a ld hl, wMapSpriteData - add l ; should be adc + add l ld l, a ld a, [hl] ; read movement byte 2 ld [wCurSpriteMovement2], a From 2b52ceb718b55dce038db24d177715ae4281d065 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 30 Sep 2022 16:57:47 -0400 Subject: [PATCH 114/119] `startswith` works with a tuple --- tools/free_space.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/free_space.py b/tools/free_space.py index 3bf7433e..553e1352 100755 --- a/tools/free_space.py +++ b/tools/free_space.py @@ -28,7 +28,7 @@ def main(): if print_bank not in {'all', 'none'}: try: print_bank = (int(print_bank[2:], 16) - if print_bank.startswith('0x') or print_bank.startswith('0X') + if print_bank.startswith(('0x', '0X')) else int(print_bank)) except ValueError: error = f'Error: invalid BANK: {print_bank}' From f58dbe3849ecb6c47a703c674458fd63436db946 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 2 Oct 2022 21:14:23 -0400 Subject: [PATCH 115/119] Require rgbds 0.6.0 --- .github/workflows/main.yml | 2 +- INSTALL.md | 22 ++--- Makefile | 22 ++--- audio.asm | 3 - home.asm | 3 - constants.asm => includes.asm | 15 ++- macros.asm | 14 --- main.asm | 3 - maps.asm | 3 - ram.asm | 2 - rgbdscheck.asm | 12 +-- text.asm | 3 - tools/free_space.awk | 2 +- tools/free_space.py | 69 -------------- tools/mapreader.py | 173 ---------------------------------- tools/used_space.py | 64 ------------- vc/pokeblue.constants.asm | 2 - vc/pokered.constants.asm | 2 - 18 files changed, 43 insertions(+), 373 deletions(-) rename constants.asm => includes.asm (78%) delete mode 100644 macros.asm delete mode 100755 tools/free_space.py delete mode 100644 tools/mapreader.py delete mode 100755 tools/used_space.py diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 13cc4e5f..805aea49 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: uses: actions/checkout@master with: path: rgbds - ref: v0.5.2 + ref: v0.6.0 repository: gbdev/rgbds - name: Install rgbds diff --git a/INSTALL.md b/INSTALL.md index 95ce870e..c8965f40 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -42,9 +42,9 @@ Run setup and leave the default settings. At the "**Select Packages**" step, cho Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.5.2**. +Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.6.0**. -**Note:** If you already have an older rgbds, you will need to update to 0.5.2. Ignore this if you have never installed rgbds before. If a version newer than 0.5.2 does not work, try downloading 0.5.2. +**Note:** If you already have an older rgbds, you will need to update to 0.6.0. Ignore this if you have never installed rgbds before. If a version newer than 0.6.0 does not work, try downloading 0.6.0. Now open the **Cygwin terminal** and enter the following commands. @@ -67,7 +67,7 @@ Install [**Homebrew**](https://brew.sh/). Follow the official instructions. Open **Terminal** and prepare to enter commands. -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 0.5.2**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 0.6.0**. Now you're ready to [build **pokered**](#build-pokered). @@ -84,7 +84,7 @@ To install the software required for **pokered**: sudo apt-get install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.5.2** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.0** from source. ### OpenSUSE @@ -94,7 +94,7 @@ To install the software required for **pokered**: sudo zypper install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.5.2** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.0** from source. ### Arch Linux @@ -104,9 +104,9 @@ To install the software required for **pokered**: sudo pacman -S make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for Arch Linux to install **rgbds 0.5.2**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for Arch Linux to install **rgbds 0.6.0**. -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.5.2** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.0** from source. ### Termux @@ -122,7 +122,7 @@ To install **rgbds**: sudo apt install rgbds ``` -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.5.2** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.0** from source. ### Other distros @@ -133,7 +133,7 @@ If your distro is not listed here, try to find the required software in its repo - `git` - `rgbds` -If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.5.2** from source. +If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.0** from source. Now you're ready to [build **pokered**](#build-pokered). @@ -155,8 +155,8 @@ make ### Build with a local rgbds version -If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.5.2 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.5.2/`. Then specify it when you run `make`: +If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.6.0 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.6.0/`. Then specify it when you run `make`: ```bash -make RGBDS=rgbds-0.5.2/ +make RGBDS=rgbds-0.6.0/ ``` diff --git a/Makefile b/Makefile index 286b2b9d..39176c78 100644 --- a/Makefile +++ b/Makefile @@ -85,7 +85,7 @@ tools: $(MAKE) -C tools/ -RGBASMFLAGS = -h -L -Weverything -Wnumeric-string=2 -Wtruncation=1 +RGBASMFLAGS = -hL -Q8 -P includes.asm -Weverything -Wnumeric-string=2 -Wtruncation=1 # Create a sym/map for debug purposes if `make` run with `DEBUG=1` ifeq ($(DEBUG),1) RGBASMFLAGS += -E @@ -107,7 +107,7 @@ rgbdscheck.o: rgbdscheck.asm # As a side effect, they're evaluated immediately instead of when the rule is invoked. # It doesn't look like $(shell) can be deferred so there might not be a better way. define DEP -$1: $2 $$(shell tools/scan_includes $2) | rgbdscheck.o +$1: $2 $$(shell tools/scan_includes $2) | includes.asm rgbdscheck.o $$(RGBASM) $$(RGBASMFLAGS) -o $$@ $$< endef @@ -125,8 +125,8 @@ $(foreach obj, $(pokered_vc_obj), $(eval $(call DEP,$(obj),$(obj:_red_vc.o=.asm) $(foreach obj, $(pokeblue_vc_obj), $(eval $(call DEP,$(obj),$(obj:_blue_vc.o=.asm)))) # Dependencies for VC files that need to run scan_includes -%.constants.sym: %.constants.asm $(shell tools/scan_includes %.constants.asm) | rgbdscheck.o - $(RGBASM) $< > $@ +%.constants.sym: %.constants.asm $(shell tools/scan_includes %.constants.asm) | includes.asm rgbdscheck.o + $(RGBASM) $(RGBASMFLAGS) $< > $@ endif @@ -156,13 +156,13 @@ pokeblue_vc_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON BLUE" gfx/battle/move_anim_0.2bpp: tools/gfx += --trim-whitespace gfx/battle/move_anim_1.2bpp: tools/gfx += --trim-whitespace -gfx/intro/blue_jigglypuff_1.2bpp: rgbgfx += -h -gfx/intro/blue_jigglypuff_2.2bpp: rgbgfx += -h -gfx/intro/blue_jigglypuff_3.2bpp: rgbgfx += -h -gfx/intro/red_nidorino_1.2bpp: rgbgfx += -h -gfx/intro/red_nidorino_2.2bpp: rgbgfx += -h -gfx/intro/red_nidorino_3.2bpp: rgbgfx += -h -gfx/intro/gengar.2bpp: rgbgfx += -h +gfx/intro/blue_jigglypuff_1.2bpp: rgbgfx += -Z +gfx/intro/blue_jigglypuff_2.2bpp: rgbgfx += -Z +gfx/intro/blue_jigglypuff_3.2bpp: rgbgfx += -Z +gfx/intro/red_nidorino_1.2bpp: rgbgfx += -Z +gfx/intro/red_nidorino_2.2bpp: rgbgfx += -Z +gfx/intro/red_nidorino_3.2bpp: rgbgfx += -Z +gfx/intro/gengar.2bpp: rgbgfx += -Z gfx/intro/gengar.2bpp: tools/gfx += --remove-duplicates --preserve=0x19,0x76 gfx/credits/the_end.2bpp: tools/gfx += --interleave --png=$< diff --git a/audio.asm b/audio.asm index e934c440..47ea6031 100644 --- a/audio.asm +++ b/audio.asm @@ -1,6 +1,3 @@ -INCLUDE "constants.asm" - - SECTION "Sound Effect Headers 1", ROMX INCLUDE "audio/headers/sfxheaders1.asm" diff --git a/home.asm b/home.asm index ee507c21..4090a274 100644 --- a/home.asm +++ b/home.asm @@ -1,6 +1,3 @@ -INCLUDE "constants.asm" - - SECTION "NULL", ROM0 NULL:: diff --git a/constants.asm b/includes.asm similarity index 78% rename from constants.asm rename to includes.asm index b9445784..29acbc6c 100644 --- a/constants.asm +++ b/includes.asm @@ -1,6 +1,19 @@ INCLUDE "charmap.asm" -INCLUDE "macros.asm" +INCLUDE "macros/asserts.asm" +INCLUDE "macros/const.asm" +INCLUDE "macros/predef.asm" +INCLUDE "macros/farcall.asm" +INCLUDE "macros/data.asm" +INCLUDE "macros/code.asm" +INCLUDE "macros/gfx.asm" +INCLUDE "macros/coords.asm" +INCLUDE "macros/vc.asm" + +INCLUDE "macros/scripts/audio.asm" +INCLUDE "macros/scripts/maps.asm" +INCLUDE "macros/scripts/events.asm" +INCLUDE "macros/scripts/text.asm" INCLUDE "constants/hardware_constants.asm" INCLUDE "constants/oam_constants.asm" diff --git a/macros.asm b/macros.asm deleted file mode 100644 index 466cc1ad..00000000 --- a/macros.asm +++ /dev/null @@ -1,14 +0,0 @@ -INCLUDE "macros/asserts.asm" -INCLUDE "macros/const.asm" -INCLUDE "macros/predef.asm" -INCLUDE "macros/farcall.asm" -INCLUDE "macros/data.asm" -INCLUDE "macros/code.asm" -INCLUDE "macros/gfx.asm" -INCLUDE "macros/coords.asm" -INCLUDE "macros/vc.asm" - -INCLUDE "macros/scripts/audio.asm" -INCLUDE "macros/scripts/maps.asm" -INCLUDE "macros/scripts/events.asm" -INCLUDE "macros/scripts/text.asm" diff --git a/main.asm b/main.asm index 31506a29..11ee2fa9 100644 --- a/main.asm +++ b/main.asm @@ -1,6 +1,3 @@ -INCLUDE "constants.asm" - - SECTION "bank1", ROMX INCLUDE "data/sprites/facings.asm" diff --git a/maps.asm b/maps.asm index 4f00f451..fb003f2a 100644 --- a/maps.asm +++ b/maps.asm @@ -1,6 +1,3 @@ -INCLUDE "constants.asm" - - SECTION "Maps 1", ROMX INCLUDE "data/maps/headers/CeladonCity.asm" diff --git a/ram.asm b/ram.asm index 077ae799..cfeb5997 100644 --- a/ram.asm +++ b/ram.asm @@ -1,5 +1,3 @@ -INCLUDE "constants.asm" - INCLUDE "macros/ram.asm" diff --git a/rgbdscheck.asm b/rgbdscheck.asm index a836a156..e06e1707 100644 --- a/rgbdscheck.asm +++ b/rgbdscheck.asm @@ -1,18 +1,16 @@ MAJOR EQU 0 -MINOR EQU 5 -PATCH EQU 2 +MINOR EQU 6 +PATCH EQU 0 -MACRO wrong_rgbds - fail "pokered requires rgbds v0.5.2 or newer." -ENDM +WRONG_RGBDS EQUS "fail \"pokered requires rgbds v0.6.0 or newer.\"" IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) - wrong_rgbds + WRONG_RGBDS ELSE IF (__RGBDS_MAJOR__ < MAJOR) || \ (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ < MINOR) || \ (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ == MINOR && __RGBDS_PATCH__ < PATCH) || \ (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ == MINOR && __RGBDS_PATCH__ == PATCH && DEF(__RGBDS_RC__)) - wrong_rgbds + WRONG_RGBDS ENDC ENDC diff --git a/text.asm b/text.asm index c5020bba..79a03166 100644 --- a/text.asm +++ b/text.asm @@ -1,6 +1,3 @@ -INCLUDE "constants.asm" - - SECTION "Text 1", ROMX INCLUDE "data/text/text_1.asm" diff --git a/tools/free_space.awk b/tools/free_space.awk index aa48c3e3..0e157858 100755 --- a/tools/free_space.awk +++ b/tools/free_space.awk @@ -39,7 +39,7 @@ function register_bank(amount) { } } -rom_bank && toupper($0) ~ /^[ \t]*EMPTY/ { +rom_bank && toupper($0) ~ /^[ \t]*EMPTY$/ { # Empty bank register_bank(16384) } diff --git a/tools/free_space.py b/tools/free_space.py deleted file mode 100755 index 553e1352..00000000 --- a/tools/free_space.py +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -""" -Usage: python3 free_space.py [BANK=none] [pokered.map] - -Calculate the free space in the ROM or its individual banks. - -The BANK argument allows printing free space in one, all, or none of the ROM's banks. -Valid arguments are numbers (in decimal "42" or hexadecimal "0x2A"), "all" or "none". -If not specified, defaults to "none". -""" - -import sys - -from mapreader import MapReader - -def main(): - print_bank = 'none' - filename = 'pokered.map' - - for arg in sys.argv[1:]: - if arg.startswith('BANK='): - print_bank = arg.split('=', 1)[-1] - else: - filename = arg - - if print_bank not in {'all', 'none'}: - try: - print_bank = (int(print_bank[2:], 16) - if print_bank.startswith(('0x', '0X')) - else int(print_bank)) - except ValueError: - error = f'Error: invalid BANK: {print_bank}' - if print_bank.isalnum(): - error += f' (did you mean: 0x{print_bank}?)' - print(error, file=sys.stderr) - sys.exit(1) - - num_banks = 0x80 - bank_size = 0x4000 # bytes - total_size = num_banks * bank_size - - reader = MapReader() - with open(filename, 'r', encoding='utf-8') as file: - reader.read_map_data(file.readlines()) - - free_space = 0 - per_bank = [] - default_bank_data = {'sections': [], 'used': 0, 'slack': bank_size} - for bank in range(num_banks): - bank_data = reader.bank_data['ROM0 bank' if bank == 0 else 'ROMX bank'] - data = bank_data.get(bank, default_bank_data) - used, slack = data['used'], data['slack'] - per_bank.append((used, slack)) - free_space += slack - - free_percent = 100 * free_space / total_size - print(f'Free space: {free_space}/{total_size} ({free_percent:.2f}%)') - if print_bank != 'none': - print() - print('bank, used, free') - for bank in range(num_banks): - used, slack = per_bank[bank] - if print_bank in {'all', bank}: - print(f'${bank:02X}, {used}, {slack}') - -if __name__ == '__main__': - main() diff --git a/tools/mapreader.py b/tools/mapreader.py deleted file mode 100644 index 0ab2739a..00000000 --- a/tools/mapreader.py +++ /dev/null @@ -1,173 +0,0 @@ -# -*- coding: utf-8 -*- - -# A library for parsing the pokered.map file output by rgbds. - -import re - -class MapReader: - - # {'ROM Bank': { 0: { 'sections': [ { 'beg': 1234, - # 'end': 5678, - # 'name': 'Section001', - # 'symbols': [ { 'symbol': 'Function1234', - # 'address: 1234, - # }, - # ] - # }, - # ], - # 'used': 1234, - # 'slack': 4567, - # }, - # }, - # 'OAM': { 'sections': [ { 'beg': 1234, - # 'end': 5678, - # 'name': 'Section002', - # 'symbols': [ { 'symbol': 'Data1234', - # 'address: 1234, - # }, - # ] - # }, - # ], - # 'used': 1234, - # 'slack': 4567, - # }, - # } - # - bank_data = {} - - bank_types = { - 'HRAM' : { 'size': 0x80, 'banked': False, }, - 'OAM' : { 'size': 0xA0, 'banked': False, }, - 'ROM0 bank': { 'size': 0x4000, 'banked': True, }, - 'ROMX bank': { 'size': 0x4000, 'banked': True, }, - 'SRAM bank': { 'size': 0x2000, 'banked': True, }, - 'VRAM bank': { 'size': 0x1000, 'banked': True, }, - 'WRAM bank': { 'size': 0x2000, 'banked': True, }, - } - - # FSM states - INIT, BANK, SECTION = range(3) - - # $506D-$519A ($012E bytes) ["Type Matchups"] - section_header_regex = re.compile('\$([0-9A-Fa-f]{4})-\$([0-9A-Fa-f]{4}) \(.*\) \["(.*)"\]') - # $506D = TypeMatchups - section_data_regex = re.compile('\$([0-9A-Fa-f]{4}) = (.*)') - # $3ED2 bytes - slack_regex = re.compile('\$([0-9A-Fa-f]{4}) bytes?') - - def __init__(self, *args, **kwargs): - self.__dict__.update(kwargs) - - def _parse_init(self, line): - - line = line.split(':', 1)[0] - parts = line.split(' #', 1) - - if (parts[0] in self.bank_types): - self._cur_bank_name = parts[0] - self._cur_bank_type = self.bank_types[self._cur_bank_name] - if (self._cur_bank_type['banked'] and len(parts) > 1): - parts[1] = parts[1].split(':', 1)[0] - parts[1] = parts[1].split(' ', 1)[0] - self._cur_bank = int(parts[1], 10) - if self._cur_bank_name not in self.bank_data: - self.bank_data[self._cur_bank_name] = {} - if self._cur_bank_type['banked']: - if self._cur_bank not in self.bank_data[self._cur_bank_name]: - self.bank_data[self._cur_bank_name][self._cur_bank] = {} - self._cur_data = self.bank_data[self._cur_bank_name][self._cur_bank] - else: - self._cur_data = self.bank_data[self._cur_bank_name] - - if ({} == self._cur_data): - self._cur_data['sections'] = [] - self._cur_data['used'] = 0 - self._cur_data['slack'] = self._cur_bank_type['size'] - return True - - return False - - def _parse_section_header(self, header): - - section_data = self.section_header_regex.match(header) - if section_data is not None: - beg = int(section_data.group(1), 16) - end = int(section_data.group(2), 16) - name = section_data.group(3) - self._cur_section = {'beg': beg, 'end': end, 'name': name, 'symbols': []} - self._cur_data['sections'].append(self._cur_section) - return True - return False - - def _parse_slack(self, data): - - slack_data = self.slack_regex.match(data) - slack_bytes = int(slack_data.group(1), 16) - self._cur_data['slack'] = slack_bytes - - used_bytes = 0 - - for s in self._cur_data['sections']: - used_bytes += s['end'] - s['beg'] + 1 - - self._cur_data['used'] = used_bytes - - def read_map_data(self, map): - - if type(map) is str: - map = map.split('\n') - - self._state = MapReader.INIT - self._cur_bank_name = '' - self._cur_bank_type = {} - self._cur_bank = 0 - self._cur_data = {} - - for line in map: - - line = line.rstrip() - if (MapReader.INIT == self._state): - - if (self._parse_init(line)): - self._state = MapReader.BANK - - elif (MapReader.BANK == self._state or MapReader.SECTION == self._state): - - if ('' == line): - self._state = MapReader.INIT - else: - - line = line.lstrip() - parts = line.split(': ', 1) - - if (MapReader.SECTION == self._state): - section_data = self.section_data_regex.match(parts[0]) - if section_data is not None: - address = int(section_data.group(1), 16) - name = section_data.group(2) - self._cur_section['symbols'].append({'name': name, 'address': address}) - continue - - if ('SECTION' == parts[0]): - if (self._parse_section_header(parts[1])): - self._state = MapReader.SECTION - elif ('SLACK' == parts[0]): - self._parse_slack(parts[1]) - self._state = MapReader.INIT - elif ('EMPTY' == parts[0]): - self._cur_data = {'sections': [], 'used': 0, 'slack': self._cur_bank_type['size']} - self._state = MapReader.INIT - - else: - pass - - for k, v in self.bank_data.items(): - if (self.bank_types[k]['banked']): - for _, vv in v.items(): - vv['sections'].sort(key=lambda x: x['beg']) - for vvv in vv['sections']: - vvv['symbols'].sort(key=lambda x: x['address']) - else: - v['sections'].sort(key=lambda x: x['beg']) - for vv in v['sections']: - vv['symbols'].sort(key=lambda x: x['address']) diff --git a/tools/used_space.py b/tools/used_space.py deleted file mode 100755 index 1ad4eadd..00000000 --- a/tools/used_space.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -""" -Usage: python used_space.py [pokered.map] [used_space.png] - -Generate a PNG visualizing the space used by each bank in the ROM. -""" - -import sys -from colorsys import hls_to_rgb - -import png -from mapreader import MapReader - -def main(): - mapfile = sys.argv[1] if len(sys.argv) >= 2 else 'pokered.map' - outfile = sys.argv[2] if len(sys.argv) >= 3 else 'used_space.png' - - num_banks = 0x80 - bank_mask = 0x3FFF - bank_size = 0x4000 # bytes - - bpp = 8 # bytes per pixel - height = 256 # pixels - assert bank_size % bpp == 0 and (bank_size // bpp) % height == 0 - - pixels_per_bank = bank_size // bpp # 2048 pixels - bank_width = pixels_per_bank // height # 8 pixels - width = bank_width * num_banks # 1024 pixels - - reader = MapReader() - with open(mapfile, 'r', encoding='utf-8') as file: - reader.read_map_data(file.readlines()) - - hit_data = [] - default_bank_data = {'sections': [], 'used': 0, 'slack': bank_size} - for bank in range(num_banks): - hits = [0] * pixels_per_bank - bank_data = reader.bank_data['ROM0 bank' if bank == 0 else 'ROMX bank'] - data = bank_data.get(bank, default_bank_data) - for s in data['sections']: - beg = s['beg'] & bank_mask - end = s['end'] & bank_mask - for i in range(beg, end + 1): - hits[i // bpp] += 1 - hit_data.append(hits) - - pixels = [[(0xFF, 0xFF, 0xFF)] * width for _ in range(height)] - for bank, hits in enumerate(hit_data): - hue = 0 if bank == 0 else 210 if bank % 2 else 270 - for i, hit in enumerate(hits): - x, y = i % bank_width + bank * bank_width, i // bank_width - hls = (hue / 360, 1 - (85 * hit / bpp) / 100, 1) - rgb = tuple(int(c * 0xFF) for c in hls_to_rgb(*hls)) - pixels[y][x] = rgb - - png_data = [tuple(c for pixel in row for c in pixel) for row in pixels] - with open(outfile, 'wb') as file: - writer = png.Writer(width, height, greyscale=False, bitdepth=8, compression=9) - writer.write(file, png_data) - -if __name__ == '__main__': - main() diff --git a/vc/pokeblue.constants.asm b/vc/pokeblue.constants.asm index f89c4fd9..c32c39e6 100644 --- a/vc/pokeblue.constants.asm +++ b/vc/pokeblue.constants.asm @@ -1,5 +1,3 @@ -INCLUDE "constants.asm" - ; These are all the asm constants needed to make the blue_vc patch. MACRO vc_const diff --git a/vc/pokered.constants.asm b/vc/pokered.constants.asm index cb7efa96..646444ee 100644 --- a/vc/pokered.constants.asm +++ b/vc/pokered.constants.asm @@ -1,5 +1,3 @@ -INCLUDE "constants.asm" - ; These are all the asm constants needed to make the red_vc patch. MACRO vc_const From c37cc15f44380af3fdd9030fc196b4951cd6920c Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 2 Oct 2022 22:34:06 -0400 Subject: [PATCH 116/119] Update tools/unnamed.py for rgbds 0.6.0 object files --- tools/unnamed.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/unnamed.py b/tools/unnamed.py index 9dcf5cb3..e6426aaf 100755 --- a/tools/unnamed.py +++ b/tools/unnamed.py @@ -90,14 +90,14 @@ for objfile in objects: elif magic == b'RGB9': obj_ver = 10 + unpack_from(' Date: Fri, 14 Oct 2022 16:21:42 -0400 Subject: [PATCH 117/119] Add `COUNTOF` macro to tools/common.h --- tools/common.h | 2 ++ tools/make_patch.c | 2 +- tools/pkmncompress.c | 20 ++++++++++---------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/tools/common.h b/tools/common.h index f04e917b..2c690423 100644 --- a/tools/common.h +++ b/tools/common.h @@ -19,6 +19,8 @@ #error Define USAGE_OPTS before including common.h! #endif +#define COUNTOF(...) (sizeof(__VA_ARGS__) / sizeof(*(__VA_ARGS__))) + #define error_exit(...) exit((fprintf(stderr, PROGRAM_NAME ": " __VA_ARGS__), 1)) noreturn void usage_exit(int status) { diff --git a/tools/make_patch.c b/tools/make_patch.c index 71c6b455..ecfd67b2 100644 --- a/tools/make_patch.c +++ b/tools/make_patch.c @@ -165,7 +165,7 @@ int strfind(const char *s, const char *list[], int count) { return -1; } -#define vstrfind(s, ...) strfind(s, (const char *[]){__VA_ARGS__}, sizeof (const char *[]){__VA_ARGS__} / sizeof(const char *)) +#define vstrfind(s, ...) strfind(s, (const char *[]){__VA_ARGS__}, COUNTOF((const char *[]){__VA_ARGS__})) int parse_arg_value(const char *arg, bool absolute, const struct Symbol *symbols, const char *patch_name) { // Comparison operators for "ConditionValueB" evaluate to their particular values diff --git a/tools/pkmncompress.c b/tools/pkmncompress.c index f8899b1e..0e20df4f 100644 --- a/tools/pkmncompress.c +++ b/tools/pkmncompress.c @@ -32,7 +32,7 @@ void write_bit(int bit) { } void compress_plane(uint8_t *plane, int width) { - static int nybble_lookup[2][0x10] = { + static int gray_codes[2][0x10] = { {0x0, 0x1, 0x3, 0x2, 0x6, 0x7, 0x5, 0x4, 0xC, 0xD, 0xF, 0xE, 0xA, 0xB, 0x9, 0x8}, {0x8, 0x9, 0xB, 0xA, 0xE, 0xF, 0xD, 0xC, 0x4, 0x5, 0x7, 0x6, 0x2, 0x3, 0x1, 0x0}, }; @@ -44,10 +44,10 @@ void compress_plane(uint8_t *plane, int width) { } int j = i / width + m * width * 8; int nybble_hi = (plane[j] >> 4) & 0xF; - int code_1 = nybble_lookup[nybble_lo & 1][nybble_hi]; + int code_hi = gray_codes[nybble_lo & 1][nybble_hi]; nybble_lo = plane[j] & 0xF; - int code_2 = nybble_lookup[nybble_hi & 1][nybble_lo]; - plane[j] = (code_1 << 4) | code_2; + int code_lo = gray_codes[nybble_hi & 1][nybble_lo]; + plane[j] = (code_hi << 4) | code_lo; } } @@ -105,7 +105,7 @@ int interpret_compress(uint8_t *plane1, uint8_t *plane2, int mode, int order, in } cur_bit = 7; cur_byte = 0; - memset(compressed, 0, sizeof(compressed) / sizeof(*compressed)); + memset(compressed, 0, COUNTOF(compressed)); compressed[0] = (width << 4) | width; write_bit(order); uint8_t bit_groups[0x1000] = {0}; @@ -113,7 +113,7 @@ int interpret_compress(uint8_t *plane1, uint8_t *plane2, int mode, int order, in for (int plane = 0; plane < 2; plane++) { int type = 0; int nums = 0; - memset(bit_groups, 0, sizeof(bit_groups) / sizeof(*bit_groups)); + memset(bit_groups, 0, COUNTOF(bit_groups)); for (int x = 0; x < width; x++) { for (int bit = 0; bit < 8; bit += 2) { for (int y = 0, byte = x * width * 8; y < width * 8; y++, byte++) { @@ -129,7 +129,7 @@ int interpret_compress(uint8_t *plane1, uint8_t *plane2, int mode, int order, in write_bit(0); } type = 1; - memset(bit_groups, 0, sizeof(bit_groups) / sizeof(*bit_groups)); + memset(bit_groups, 0, COUNTOF(bit_groups)); index = 0; } else { if (!type) { @@ -171,7 +171,7 @@ int compress(uint8_t *data, int width) { plane1[i] = data[i * 2]; plane2[i] = data[i * 2 + 1]; } - uint8_t current[sizeof(compressed) / sizeof(*compressed)] = {0}; + uint8_t current[COUNTOF(compressed)] = {0}; int compressed_size = -1; for (int mode = 1; mode < 4; mode++) { for (int order = 0; order < 2; order++) { @@ -181,12 +181,12 @@ int compress(uint8_t *data, int width) { int new_size = interpret_compress(plane1, plane2, mode, order, width); if (compressed_size == -1 || new_size < compressed_size) { compressed_size = new_size; - memset(current, 0, sizeof(current) / sizeof(*current)); + memset(current, 0, COUNTOF(current)); memcpy(current, compressed, compressed_size / 8); } } } - memset(compressed, 0, sizeof(compressed) / sizeof(*compressed)); + memset(compressed, 0, COUNTOF(compressed)); memcpy(compressed, current, compressed_size / 8); free(plane1); free(plane2); From 6bb3d82e7a11d2fbdada3e5a57e51d9ec7fff142 Mon Sep 17 00:00:00 2001 From: mid-kid Date: Tue, 25 Oct 2022 18:02:29 +0200 Subject: [PATCH 118/119] Fix preinclude dependencies From pokecrystal: - 0425018d1ce5b3b726e3cd83f59f14ead9171c92 - 8b429e2a545e87407a3b8c7b92f7ceafc455e390 --- Makefile | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 39176c78..215aa768 100644 --- a/Makefile +++ b/Makefile @@ -103,20 +103,21 @@ $(pokeblue_vc_obj): RGBASMFLAGS += -D _BLUE -D _BLUE_VC rgbdscheck.o: rgbdscheck.asm $(RGBASM) -o $@ $< -# The dep rules have to be explicit or else missing files won't be reported. -# As a side effect, they're evaluated immediately instead of when the rule is invoked. -# It doesn't look like $(shell) can be deferred so there might not be a better way. -define DEP -$1: $2 $$(shell tools/scan_includes $2) | includes.asm rgbdscheck.o - $$(RGBASM) $$(RGBASMFLAGS) -o $$@ $$< -endef - # Build tools when building the rom. # This has to happen before the rules are processed, since that's when scan_includes is run. ifeq (,$(filter clean tidy tools,$(MAKECMDGOALS))) $(info $(shell $(MAKE) -C tools)) +# The dep rules have to be explicit or else missing files won't be reported. +# As a side effect, they're evaluated immediately instead of when the rule is invoked. +# It doesn't look like $(shell) can be deferred so there might not be a better way. +preinclude_deps := includes.asm $(shell tools/scan_includes includes.asm) +define DEP +$1: $2 $$(shell tools/scan_includes $2) $(preinclude_deps) | rgbdscheck.o + $$(RGBASM) $$(RGBASMFLAGS) -o $$@ $$< +endef + # Dependencies for objects (drop _red and _blue from asm file basenames) $(foreach obj, $(pokered_obj), $(eval $(call DEP,$(obj),$(obj:_red.o=.asm)))) $(foreach obj, $(pokeblue_obj), $(eval $(call DEP,$(obj),$(obj:_blue.o=.asm)))) @@ -125,7 +126,7 @@ $(foreach obj, $(pokered_vc_obj), $(eval $(call DEP,$(obj),$(obj:_red_vc.o=.asm) $(foreach obj, $(pokeblue_vc_obj), $(eval $(call DEP,$(obj),$(obj:_blue_vc.o=.asm)))) # Dependencies for VC files that need to run scan_includes -%.constants.sym: %.constants.asm $(shell tools/scan_includes %.constants.asm) | includes.asm rgbdscheck.o +%.constants.sym: %.constants.asm $(shell tools/scan_includes %.constants.asm) $(preinclude_deps) | rgbdscheck.o $(RGBASM) $(RGBASMFLAGS) $< > $@ endif From 53805947c3bc30c491b4f2a820c27e152dfa4b89 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 3 Dec 2022 11:11:13 -0500 Subject: [PATCH 119/119] Use rgbds 0.6.1 (0.6.0 also still works) --- .github/workflows/main.yml | 2 +- INSTALL.md | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 805aea49..9b3efa30 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: uses: actions/checkout@master with: path: rgbds - ref: v0.6.0 + ref: v0.6.1 repository: gbdev/rgbds - name: Install rgbds diff --git a/INSTALL.md b/INSTALL.md index c8965f40..e0204866 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -42,9 +42,9 @@ Run setup and leave the default settings. At the "**Select Packages**" step, cho Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.6.0**. +Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.6.1**. -**Note:** If you already have an older rgbds, you will need to update to 0.6.0. Ignore this if you have never installed rgbds before. If a version newer than 0.6.0 does not work, try downloading 0.6.0. +**Note:** If you already have an installed rgbds older than 0.6.0, you will need to update to 0.6.0 or 0.6.1. Ignore this if you have never installed rgbds before. If a version newer than 0.6.1 does not work, try downloading 0.6.1. Now open the **Cygwin terminal** and enter the following commands. @@ -67,7 +67,7 @@ Install [**Homebrew**](https://brew.sh/). Follow the official instructions. Open **Terminal** and prepare to enter commands. -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 0.6.0**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 0.6.1**. Now you're ready to [build **pokered**](#build-pokered). @@ -84,7 +84,7 @@ To install the software required for **pokered**: sudo apt-get install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.0** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.1** from source. ### OpenSUSE @@ -94,7 +94,7 @@ To install the software required for **pokered**: sudo zypper install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.0** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.1** from source. ### Arch Linux @@ -104,9 +104,9 @@ To install the software required for **pokered**: sudo pacman -S make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for Arch Linux to install **rgbds 0.6.0**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for Arch Linux to install **rgbds 0.6.1**. -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.0** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.1** from source. ### Termux @@ -122,7 +122,7 @@ To install **rgbds**: sudo apt install rgbds ``` -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.0** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.1** from source. ### Other distros @@ -133,7 +133,7 @@ If your distro is not listed here, try to find the required software in its repo - `git` - `rgbds` -If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.0** from source. +If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.6.1** from source. Now you're ready to [build **pokered**](#build-pokered). @@ -155,8 +155,8 @@ make ### Build with a local rgbds version -If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.6.0 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.6.0/`. Then specify it when you run `make`: +If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.6.1 globally. Instead, you can put its files in a directory within pokered, such as `pokered/rgbds-0.6.1/`. Then specify it when you run `make`: ```bash -make RGBDS=rgbds-0.6.0/ +make RGBDS=rgbds-0.6.1/ ```