diff options
-rw-r--r-- | constants/engine_flags.asm | 218 | ||||
-rw-r--r-- | constants/wram_constants.asm | 19 | ||||
-rw-r--r-- | data/engine_flags.asm | 120 | ||||
-rwxr-xr-x | engine/events/engine_flags.asm | 113 | ||||
-rwxr-xr-x | engine/events/happiness_egg.asm | 8 | ||||
-rwxr-xr-x | engine/events/shuckle.asm | 3 | ||||
-rwxr-xr-x | engine/events/specials.asm | 9 | ||||
-rw-r--r-- | engine/menus/intro_menu.asm | 6 | ||||
-rw-r--r-- | macros.asm | 1 | ||||
-rwxr-xr-x | macros/flag.asm | 45 | ||||
-rwxr-xr-x | tools/unused_sources.sh | 3 |
11 files changed, 269 insertions, 276 deletions
diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm index 51fb02cc..4bdadba9 100644 --- a/constants/engine_flags.asm +++ b/constants/engine_flags.asm @@ -1,110 +1,112 @@ +; EngineFlags indexes (see data/engine_flags.asm) const_def - - engine_flag_def ENGINE_RADIO_CARD, wPokegearFlags, 1 ; radio card ; $0 - engine_flag_def ENGINE_MAP_CARD, wPokegearFlags, 0 ; map card - engine_flag_def ENGINE_PHONE_CARD, wPokegearFlags, 2 ; phone card - engine_flag_def ENGINE_EXPN_CARD, wPokegearFlags, 3 ; expn card - engine_flag_def ENGINE_POKEGEAR, wPokegearFlags, 7 ; on/off - - engine_flag_def ENGINE_DAY_CARE_MAN_HAS_EGG, wDayCareMan, DAYCAREMAN_HAS_EGG_F - engine_flag_def ENGINE_DAY_CARE_MAN_HAS_MON, wDayCareMan, DAYCAREMAN_HAS_MON_F - - engine_flag_def ENGINE_DAY_CARE_LADY_HAS_MON, wDayCareLady, DAYCARELADY_HAS_MON_F - - engine_flag_def ENGINE_MOM_SAVING_MONEY, wMomSavingMoney, 0 ; mom saving money ; $8 - engine_flag_def ENGINE_DST, wMomSavingMoney, 7 ; dst - - engine_flag_def ENGINE_0A, wUnusedTwoDayTimerOn, 0 ; unused - - engine_flag_def ENGINE_POKEDEX, wStatusFlags, 0 ; pokedex - engine_flag_def ENGINE_UNOWN_DEX, wStatusFlags, 1 ; unown dex - engine_flag_def ENGINE_POKERUS, wStatusFlags, 3 ; pokerus - engine_flag_def ENGINE_ROCKET_SIGNAL_ON_CH20, wStatusFlags, 4 ; rocket signal on ch20 - engine_flag_def ENGINE_CREDITS_SKIP, wStatusFlags, 6 ; credits skip - engine_flag_def ENGINE_BUG_CONTEST_TIMER, wStatusFlags2, 2 ; bug contest timer ; $10 - engine_flag_def ENGINE_SAFARI_ZONE, wStatusFlags2, 1 ; safari zone? - engine_flag_def ENGINE_ROCKETS_IN_RADIO_TOWER, wStatusFlags2, 0 ; rockets in radio tower - engine_flag_def ENGINE_BIKE_SHOP_CALL_ENABLED, wStatusFlags2, 4 ; bike shop call enabled (1024 bike steps reqd) - engine_flag_def ENGINE_GIVE_POKERUS, wStatusFlags2, 5 ; give pokerus - engine_flag_def ENGINE_REACHED_GOLDENROD, wStatusFlags2, 6 ; berry -> berry juice when trading? - engine_flag_def ENGINE_ROCKETS_IN_MAHOGANY, wStatusFlags2, 7 ; rockets in mahogany - - engine_flag_def ENGINE_STRENGTH_ACTIVE, wBikeFlags, 0 ; strength active - engine_flag_def ENGINE_ALWAYS_ON_BIKE, wBikeFlags, 1 ; always on bike (cant surf) ; $18 - engine_flag_def ENGINE_DOWNHILL, wBikeFlags, 2 ; downhill (cycling road) - - engine_flag_def ENGINE_ZEPHYRBADGE, wJohtoBadges, 0 ; zephyrbadge - engine_flag_def ENGINE_HIVEBADGE, wJohtoBadges, 1 ; hivebadge - engine_flag_def ENGINE_PLAINBADGE, wJohtoBadges, 2 ; plainbadge - engine_flag_def ENGINE_FOGBADGE, wJohtoBadges, 3 ; fogbadge - engine_flag_def ENGINE_MINERALBADGE, wJohtoBadges, 4 ; mineralbadge - engine_flag_def ENGINE_STORMBADGE, wJohtoBadges, 5 ; stormbadge - engine_flag_def ENGINE_GLACIERBADGE, wJohtoBadges, 6 ; glacierbadge ; $20 - engine_flag_def ENGINE_RISINGBADGE, wJohtoBadges, 7 ; risingbadge - - engine_flag_def ENGINE_BOULDERBADGE, wKantoBadges, 0 ; boulderbadge - engine_flag_def ENGINE_CASCADEBADGE, wKantoBadges, 1 ; cascadebadge - engine_flag_def ENGINE_THUNDERBADGE, wKantoBadges, 2 ; thunderbadge - engine_flag_def ENGINE_RAINBOWBADGE, wKantoBadges, 3 ; rainbowbadge - engine_flag_def ENGINE_SOULBADGE, wKantoBadges, 4 ; soulbadge - engine_flag_def ENGINE_MARSHBADGE, wKantoBadges, 5 ; marshbadge - engine_flag_def ENGINE_VOLCANOBADGE, wKantoBadges, 6 ; volcanobadge ; $28 - engine_flag_def ENGINE_EARTHBADGE, wKantoBadges, 7 ; earthbadge - - engine_flag_def ENGINE_UNLOCKED_UNOWNS_A_TO_K, wUnlockedUnowns, 0 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_L_TO_R, wUnlockedUnowns, 1 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_S_TO_W, wUnlockedUnowns, 2 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_X_TO_Z, wUnlockedUnowns, 3 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_UNUSED_4, wUnlockedUnowns, 4 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_UNUSED_5, wUnlockedUnowns, 5 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_UNUSED_6, wUnlockedUnowns, 6 ; $30 - engine_flag_def ENGINE_UNLOCKED_UNOWNS_UNUSED_7, wUnlockedUnowns, 7 - - engine_flag_def ENGINE_FLYPOINT_PLAYERS_HOUSE, wVisitedSpawns, 0 ; your house - engine_flag_def ENGINE_FLYPOINT_VIRIDIAN_POKECENTER, wVisitedSpawns, 1 ; viridian pokecenter - engine_flag_def ENGINE_FLYPOINT_PALLET, wVisitedSpawns, 2 ; pallet - engine_flag_def ENGINE_FLYPOINT_VIRIDIAN, wVisitedSpawns, 3 ; viridian - engine_flag_def ENGINE_FLYPOINT_PEWTER, wVisitedSpawns, 4 ; pewter - engine_flag_def ENGINE_FLYPOINT_CERULEAN, wVisitedSpawns, 5 ; cerulean - engine_flag_def ENGINE_FLYPOINT_ROCK_TUNNEL, wVisitedSpawns, 6 ; rock tunnel ; $38 - engine_flag_def ENGINE_FLYPOINT_VERMILION, wVisitedSpawns, 7 ; vermilion - engine_flag_def ENGINE_FLYPOINT_LAVENDER, wVisitedSpawns + 1, 0 ; lavender - engine_flag_def ENGINE_FLYPOINT_SAFFRON, wVisitedSpawns + 1, 1 ; saffron - engine_flag_def ENGINE_FLYPOINT_CELADON, wVisitedSpawns + 1, 2 ; celadon - engine_flag_def ENGINE_FLYPOINT_FUCHSIA, wVisitedSpawns + 1, 3 ; fuchsia - engine_flag_def ENGINE_FLYPOINT_CINNABAR, wVisitedSpawns + 1, 4 ; cinnabar - engine_flag_def ENGINE_FLYPOINT_INDIGO_PLATEAU, wVisitedSpawns + 1, 5 ; indigo plateau - engine_flag_def ENGINE_FLYPOINT_NEW_BARK, wVisitedSpawns + 1, 6 ; new bark ; $40 - engine_flag_def ENGINE_FLYPOINT_CHERRYGROVE, wVisitedSpawns + 1, 7 ; cherrygrove - engine_flag_def ENGINE_FLYPOINT_VIOLET, wVisitedSpawns + 2, 0 ; violet - ; union cave - engine_flag_def ENGINE_FLYPOINT_AZALEA, wVisitedSpawns + 2, 2 ; azalea - engine_flag_def ENGINE_FLYPOINT_CIANWOOD, wVisitedSpawns + 2, 3 ; cianwood - engine_flag_def ENGINE_FLYPOINT_GOLDENROD, wVisitedSpawns + 2, 4 ; goldenrod - engine_flag_def ENGINE_FLYPOINT_OLIVINE, wVisitedSpawns + 2, 5 ; olivine - engine_flag_def ENGINE_FLYPOINT_ECRUTEAK, wVisitedSpawns + 2, 6 ; ecruteak - engine_flag_def ENGINE_FLYPOINT_MAHOGANY, wVisitedSpawns + 2, 7 ; mahogany ; $48 - engine_flag_def ENGINE_FLYPOINT_LAKE_OF_RAGE, wVisitedSpawns + 3, 0 ; lake of rage - engine_flag_def ENGINE_FLYPOINT_BLACKTHORN, wVisitedSpawns + 3, 1 ; blackthorn - engine_flag_def ENGINE_FLYPOINT_SILVER_CAVE, wVisitedSpawns + 3, 2 ; silver cave - ; fast ship - engine_flag_def ENGINE_FLYPOINT_UNUSED, wVisitedSpawns + 3, 4 ; unused - engine_flag_def ENGINE_LUCKY_NUMBER_SHOW, wLuckyNumberShowFlag, 0 - engine_flag_def ENGINE_4E, wStatusFlags2, 3 - - engine_flag_def ENGINE_KURT_MAKING_BALLS, wDailyFlags1, 0 ; kurt making balls - engine_flag_def ENGINE_DAILY_BUG_CONTEST, wDailyFlags1, 1 ; did bug catching contest today ; $50 - engine_flag_def ENGINE_SPECIAL_WILDDATA, wDailyFlags1, 2 ; special wilddata? - engine_flag_def ENGINE_TIME_CAPSULE, wDailyFlags1, 3 ; time capsule (24h wait) - engine_flag_def ENGINE_ALL_FRUIT_TREES, wDailyFlags1, 4 ; all fruit trees - engine_flag_def ENGINE_GOT_SHUCKIE_TODAY, wDailyFlags1, 5 ; shuckle given - engine_flag_def ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED, wDailyFlags1, 6 ; goldenrod underground merchant closed - engine_flag_def ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY, wDailyFlags1, 7 ; fought in trainer hall today - - engine_flag_def ENGINE_MT_MOON_SQUARE_CLEFAIRY, wDailyFlags2, 0 ; mt moon square clefairy - engine_flag_def ENGINE_UNION_CAVE_LAPRAS, wDailyFlags2, 1 ; union cave lapras ; $58 - engine_flag_def ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT, wDailyFlags2, 2 ; goldenrod underground haircut used - engine_flag_def ENGINE_GOLDENROD_DEPT_STORE_TM27_RETURN, wDailyFlags2, 3 ; goldenrod mall happiness event floor05 person07 - engine_flag_def ENGINE_DAISYS_GROOMING, wDailyFlags2, 4 ; tea in blues house - engine_flag_def ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT, wDailyFlags2, 5 ; indigo plateau rival fight +; wPokegearFlags + const ENGINE_RADIO_CARD + const ENGINE_MAP_CARD + const ENGINE_PHONE_CARD + const ENGINE_EXPN_CARD + const ENGINE_POKEGEAR +; wDayCareMan + const ENGINE_DAY_CARE_MAN_HAS_EGG + const ENGINE_DAY_CARE_MAN_HAS_MON +; wDayCareLady + const ENGINE_DAY_CARE_LADY_HAS_MON +; wMomSavingMoney + const ENGINE_MOM_SAVING_MONEY + const ENGINE_MOM_ACTIVE +; wUnusedTwoDayTimerOn + const ENGINE_0A +; wStatusFlags + const ENGINE_POKEDEX + const ENGINE_UNOWN_DEX + const ENGINE_CAUGHT_POKERUS + const ENGINE_ROCKET_SIGNAL_ON_CH20 + const ENGINE_CREDITS_SKIP +; wStatusFlags2 + const ENGINE_BUG_CONTEST_TIMER ; 10 + const ENGINE_SAFARI_ZONE + const ENGINE_ROCKETS_IN_RADIO_TOWER + const ENGINE_BIKE_SHOP_CALL_ENABLED + const ENGINE_14 + const ENGINE_REACHED_GOLDENROD + const ENGINE_ROCKETS_IN_MAHOGANY +; wBikeFlags + const ENGINE_STRENGTH_ACTIVE + const ENGINE_ALWAYS_ON_BIKE + const ENGINE_DOWNHILL +; wJohtoBadges + const ENGINE_ZEPHYRBADGE + const ENGINE_HIVEBADGE + const ENGINE_PLAINBADGE + const ENGINE_FOGBADGE + const ENGINE_MINERALBADGE + const ENGINE_STORMBADGE + const ENGINE_GLACIERBADGE ; 20 + const ENGINE_RISINGBADGE +; wKantoBadges + const ENGINE_BOULDERBADGE + const ENGINE_CASCADEBADGE + const ENGINE_THUNDERBADGE + const ENGINE_RAINBOWBADGE + const ENGINE_SOULBADGE + const ENGINE_MARSHBADGE + const ENGINE_VOLCANOBADGE + const ENGINE_EARTHBADGE +; wUnlockedUnowns + const ENGINE_UNLOCKED_UNOWNS_A_TO_K + const ENGINE_UNLOCKED_UNOWNS_L_TO_R + const ENGINE_UNLOCKED_UNOWNS_S_TO_W + const ENGINE_UNLOCKED_UNOWNS_X_TO_Z + const ENGINE_UNLOCKED_UNOWNS_UNUSED_4 + const ENGINE_UNLOCKED_UNOWNS_UNUSED_5 + const ENGINE_UNLOCKED_UNOWNS_UNUSED_6 ; 30 + const ENGINE_UNLOCKED_UNOWNS_UNUSED_7 +; wVisitedSpawns + const ENGINE_FLYPOINT_PLAYERS_HOUSE + const ENGINE_FLYPOINT_DEBUG + const ENGINE_FLYPOINT_PALLET + const ENGINE_FLYPOINT_VIRIDIAN + const ENGINE_FLYPOINT_PEWTER + const ENGINE_FLYPOINT_CERULEAN + const ENGINE_FLYPOINT_ROCK_TUNNEL + const ENGINE_FLYPOINT_VERMILION + const ENGINE_FLYPOINT_LAVENDER + const ENGINE_FLYPOINT_SAFFRON + const ENGINE_FLYPOINT_CELADON + const ENGINE_FLYPOINT_FUCHSIA + const ENGINE_FLYPOINT_CINNABAR + const ENGINE_FLYPOINT_INDIGO_PLATEAU + const ENGINE_FLYPOINT_NEW_BARK ; 40 + const ENGINE_FLYPOINT_CHERRYGROVE + const ENGINE_FLYPOINT_VIOLET + const ENGINE_FLYPOINT_AZALEA + const ENGINE_FLYPOINT_CIANWOOD + const ENGINE_FLYPOINT_GOLDENROD + const ENGINE_FLYPOINT_OLIVINE + const ENGINE_FLYPOINT_ECRUTEAK + const ENGINE_FLYPOINT_MAHOGANY + const ENGINE_FLYPOINT_LAKE_OF_RAGE + const ENGINE_FLYPOINT_BLACKTHORN + const ENGINE_FLYPOINT_SILVER_CAVE + const ENGINE_FLYPOINT_UNUSED +; wLuckyNumberShowFlag + const ENGINE_LUCKY_NUMBER_SHOW +; wStatusFlags2 + const ENGINE_4E +; wDailyFlags1 + const ENGINE_KURT_MAKING_BALLS + const ENGINE_DAILY_BUG_CONTEST ; 50 + const ENGINE_FISH_SWARM + const ENGINE_TIME_CAPSULE + const ENGINE_ALL_FRUIT_TREES + const ENGINE_GOT_SHUCKIE_TODAY + const ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED + const ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY +; wDailyFlags2 + const ENGINE_MT_MOON_SQUARE_CLEFAIRY + const ENGINE_UNION_CAVE_LAPRAS + const ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT + const ENGINE_GOLDENROD_DEPT_STORE_TM27_RETURN + const ENGINE_DAISYS_GROOMING + const ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT NUM_ENGINE_FLAGS EQU const_value diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 13d716b6..d4d94d06 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -212,6 +212,13 @@ NUM_JOHTO_BADGES EQU const_value NUM_KANTO_BADGES EQU const_value NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES +; wPokegearFlags:: + const_def + const POKEGEAR_MAP_CARD_F ; 0 + const POKEGEAR_RADIO_CARD_F ; 1 + const POKEGEAR_PHONE_CARD_F ; 2 + const POKEGEAR_EXPN_CARD_F ; 3 + POKEGEAR_OBTAINED_F EQU 7 ; wWhichRegisteredItem:: ; d680 @@ -242,6 +249,18 @@ PLAYER_SURF_PIKA EQU 8 const DAILYFLAGS1_GOLDENROD_UNDERGROUND_BARGAIN_F ; 6 const DAILYFLAGS1_TRAINER_HOUSE_F ; 7 +; wDailyFlags2:: + const_def + const DAILYFLAGS2_MT_MOON_SQUARE_CLEFAIRY_F ; 0 + const DAILYFLAGS2_UNION_CAVE_LAPRAS_F ; 1 + const DAILYFLAGS2_GOLDENROD_UNDERGROUND_GOT_HAIRCUT_F ; 2 + const DAILYFLAGS2_GOLDENROD_DEPT_STORE_TM27_RETURN_F ; 3 + const DAILYFLAGS2_DAISYS_GROOMING_F ; 4 + const DAILYFLAGS2_INDIGO_PLATEAU_RIVAL_FIGHT_F ; 5 + +; wLuckyNumberShowFlag:: +LUCKYNUMBERSHOW_GAME_OVER_F EQU 0 + ; wDayCareMan:: ; dc40 DAYCAREMAN_HAS_MON_F EQU 0 DAYCAREMAN_MONS_COMPATIBLE_F EQU 5 diff --git a/data/engine_flags.asm b/data/engine_flags.asm new file mode 100644 index 00000000..41c5597f --- /dev/null +++ b/data/engine_flags.asm @@ -0,0 +1,120 @@ +engine_flag: MACRO +; location, bit +; (all locations are in WRAM bank 1) + dwb \1 + (\2 / 8), 1 << (\2 % 8) +ENDM + +EngineFlags: +; entries correspond to ENGINE_* constants + + ; pokegear + engine_flag wPokegearFlags, POKEGEAR_RADIO_CARD_F ; $0 + engine_flag wPokegearFlags, POKEGEAR_MAP_CARD_F + engine_flag wPokegearFlags, POKEGEAR_PHONE_CARD_F + engine_flag wPokegearFlags, POKEGEAR_EXPN_CARD_F + engine_flag wPokegearFlags, POKEGEAR_OBTAINED_F + + ; day-care + engine_flag wDayCareMan, DAYCAREMAN_HAS_EGG_F + engine_flag wDayCareMan, DAYCAREMAN_HAS_MON_F + engine_flag wDayCareLady, DAYCARELADY_HAS_MON_F + + engine_flag wMomSavingMoney, MOM_SAVING_SOME_MONEY_F ; $8 + engine_flag wMomSavingMoney, MOM_ACTIVE_F + + engine_flag wUnusedTwoDayTimerOn, 0 ; unused, possibly related to a 2-day timer + + engine_flag wStatusFlags, STATUSFLAGS_POKEDEX_F + engine_flag wStatusFlags, STATUSFLAGS_UNOWN_DEX_F + engine_flag wStatusFlags, STATUSFLAGS_CAUGHT_POKERUS_F + engine_flag wStatusFlags, STATUSFLAGS_ROCKET_SIGNAL_F + engine_flag wStatusFlags, STATUSFLAGS_HALL_OF_FAME_F + + engine_flag wStatusFlags2, STATUSFLAGS2_BUG_CONTEST_TIMER_F ; $10 + engine_flag wStatusFlags2, STATUSFLAGS2_SAFARI_GAME_F + engine_flag wStatusFlags2, STATUSFLAGS2_ROCKETS_IN_RADIO_TOWER_F + engine_flag wStatusFlags2, STATUSFLAGS2_BIKE_SHOP_CALL_F + engine_flag wStatusFlags2, STATUSFLAGS2_UNUSED_5_F + engine_flag wStatusFlags2, STATUSFLAGS2_REACHED_GOLDENROD_F + engine_flag wStatusFlags2, STATUSFLAGS2_ROCKETS_IN_MAHOGANY_F + + engine_flag wBikeFlags, BIKEFLAGS_STRENGTH_ACTIVE_F + engine_flag wBikeFlags, BIKEFLAGS_ALWAYS_ON_BIKE_F ; $18 + engine_flag wBikeFlags, BIKEFLAGS_DOWNHILL_F + + engine_flag wJohtoBadges, ZEPHYRBADGE + engine_flag wJohtoBadges, HIVEBADGE + engine_flag wJohtoBadges, PLAINBADGE + engine_flag wJohtoBadges, FOGBADGE + engine_flag wJohtoBadges, MINERALBADGE + engine_flag wJohtoBadges, STORMBADGE + engine_flag wJohtoBadges, GLACIERBADGE ; $20 + engine_flag wJohtoBadges, RISINGBADGE + + engine_flag wKantoBadges, BOULDERBADGE + engine_flag wKantoBadges, CASCADEBADGE + engine_flag wKantoBadges, THUNDERBADGE + engine_flag wKantoBadges, RAINBOWBADGE + engine_flag wKantoBadges, SOULBADGE + engine_flag wKantoBadges, MARSHBADGE + engine_flag wKantoBadges, VOLCANOBADGE ; $28 + engine_flag wKantoBadges, EARTHBADGE + + ; unown sets (see data/wild/unlocked_unowns.asm) + engine_flag wUnlockedUnowns, 0 ; A-K + engine_flag wUnlockedUnowns, 1 ; L-R + engine_flag wUnlockedUnowns, 2 ; S-W + engine_flag wUnlockedUnowns, 3 ; X-Z + engine_flag wUnlockedUnowns, 4 ; unused + engine_flag wUnlockedUnowns, 5 ; unused + engine_flag wUnlockedUnowns, 6 ; unused ; $30 + engine_flag wUnlockedUnowns, 7 ; unused + + ; fly + engine_flag wVisitedSpawns, SPAWN_HOME + engine_flag wVisitedSpawns, SPAWN_DEBUG + engine_flag wVisitedSpawns, SPAWN_PALLET + engine_flag wVisitedSpawns, SPAWN_VIRIDIAN + engine_flag wVisitedSpawns, SPAWN_PEWTER + engine_flag wVisitedSpawns, SPAWN_CERULEAN + engine_flag wVisitedSpawns, SPAWN_ROCK_TUNNEL ; $38 + engine_flag wVisitedSpawns, SPAWN_VERMILION + engine_flag wVisitedSpawns, SPAWN_LAVENDER + engine_flag wVisitedSpawns, SPAWN_SAFFRON + engine_flag wVisitedSpawns, SPAWN_CELADON + engine_flag wVisitedSpawns, SPAWN_FUCHSIA + engine_flag wVisitedSpawns, SPAWN_CINNABAR + engine_flag wVisitedSpawns, SPAWN_INDIGO + engine_flag wVisitedSpawns, SPAWN_NEW_BARK ; $40 + engine_flag wVisitedSpawns, SPAWN_CHERRYGROVE + engine_flag wVisitedSpawns, SPAWN_VIOLET + engine_flag wVisitedSpawns, SPAWN_AZALEA + engine_flag wVisitedSpawns, SPAWN_CIANWOOD + engine_flag wVisitedSpawns, SPAWN_GOLDENROD + engine_flag wVisitedSpawns, SPAWN_OLIVINE + engine_flag wVisitedSpawns, SPAWN_ECRUTEAK + engine_flag wVisitedSpawns, SPAWN_MAHOGANY ; $48 + engine_flag wVisitedSpawns, SPAWN_LAKE_OF_RAGE + engine_flag wVisitedSpawns, SPAWN_BLACKTHORN + engine_flag wVisitedSpawns, SPAWN_MT_SILVER + engine_flag wVisitedSpawns, NUM_SPAWNS ; unused + + engine_flag wLuckyNumberShowFlag, LUCKYNUMBERSHOW_GAME_OVER_F + + engine_flag wStatusFlags2, STATUSFLAGS2_UNUSED_3_F + + engine_flag wDailyFlags1, DAILYFLAGS1_KURT_MAKING_BALLS_F + engine_flag wDailyFlags1, DAILYFLAGS1_BUG_CONTEST_F ; $50 + engine_flag wDailyFlags1, DAILYFLAGS1_FISH_SWARM_F + engine_flag wDailyFlags1, DAILYFLAGS1_TIME_CAPSULE_F + engine_flag wDailyFlags1, DAILYFLAGS1_ALL_FRUIT_TREES_F + engine_flag wDailyFlags1, DAILYFLAGS1_GOT_SHUCKIE_TODAY_F + engine_flag wDailyFlags1, DAILYFLAGS1_GOLDENROD_UNDERGROUND_BARGAIN_F + engine_flag wDailyFlags1, DAILYFLAGS1_TRAINER_HOUSE_F + + engine_flag wDailyFlags2, DAILYFLAGS2_MT_MOON_SQUARE_CLEFAIRY_F + engine_flag wDailyFlags2, DAILYFLAGS2_UNION_CAVE_LAPRAS_F ; $58 + engine_flag wDailyFlags2, DAILYFLAGS2_GOLDENROD_UNDERGROUND_GOT_HAIRCUT_F + engine_flag wDailyFlags2, DAILYFLAGS2_GOLDENROD_DEPT_STORE_TM27_RETURN_F + engine_flag wDailyFlags2, DAILYFLAGS2_DAISYS_GROOMING_F + engine_flag wDailyFlags2, DAILYFLAGS2_INDIGO_PLATEAU_RIVAL_FIGHT_F diff --git a/engine/events/engine_flags.asm b/engine/events/engine_flags.asm index 9fa5f8c0..d1329f1d 100755 --- a/engine/events/engine_flags.asm +++ b/engine/events/engine_flags.asm @@ -81,115 +81,4 @@ EngineFlagAction:: ; c01b ld [de], a ret -; 404d -EngineFlags: -; All locations are in WRAM bank 1. - - ; location, bit - engine_flag ENGINE_RADIO_CARD - engine_flag ENGINE_MAP_CARD - engine_flag ENGINE_PHONE_CARD - engine_flag ENGINE_EXPN_CARD - engine_flag ENGINE_POKEGEAR - - engine_flag ENGINE_DAY_CARE_MAN_HAS_EGG - engine_flag ENGINE_DAY_CARE_MAN_HAS_MON - - engine_flag ENGINE_DAY_CARE_LADY_HAS_MON - - engine_flag ENGINE_MOM_SAVING_MONEY - engine_flag ENGINE_DST - - engine_flag ENGINE_0A - - engine_flag ENGINE_POKEDEX - engine_flag ENGINE_UNOWN_DEX - engine_flag ENGINE_POKERUS - engine_flag ENGINE_ROCKET_SIGNAL_ON_CH20 - engine_flag ENGINE_CREDITS_SKIP - engine_flag ENGINE_BUG_CONTEST_TIMER - engine_flag ENGINE_SAFARI_ZONE - engine_flag ENGINE_ROCKETS_IN_RADIO_TOWER - engine_flag ENGINE_BIKE_SHOP_CALL_ENABLED - engine_flag ENGINE_GIVE_POKERUS - engine_flag ENGINE_REACHED_GOLDENROD - engine_flag ENGINE_ROCKETS_IN_MAHOGANY - - engine_flag ENGINE_STRENGTH_ACTIVE - engine_flag ENGINE_ALWAYS_ON_BIKE - engine_flag ENGINE_DOWNHILL - - engine_flag ENGINE_ZEPHYRBADGE - engine_flag ENGINE_HIVEBADGE - engine_flag ENGINE_PLAINBADGE - engine_flag ENGINE_FOGBADGE - engine_flag ENGINE_MINERALBADGE - engine_flag ENGINE_STORMBADGE - engine_flag ENGINE_GLACIERBADGE - engine_flag ENGINE_RISINGBADGE - - engine_flag ENGINE_BOULDERBADGE - engine_flag ENGINE_CASCADEBADGE - engine_flag ENGINE_THUNDERBADGE - engine_flag ENGINE_RAINBOWBADGE - engine_flag ENGINE_SOULBADGE - engine_flag ENGINE_MARSHBADGE - engine_flag ENGINE_VOLCANOBADGE - engine_flag ENGINE_EARTHBADGE - - engine_flag ENGINE_UNLOCKED_UNOWNS_A_TO_K - engine_flag ENGINE_UNLOCKED_UNOWNS_L_TO_R - engine_flag ENGINE_UNLOCKED_UNOWNS_S_TO_W - engine_flag ENGINE_UNLOCKED_UNOWNS_X_TO_Z - engine_flag ENGINE_UNLOCKED_UNOWNS_UNUSED_4 - engine_flag ENGINE_UNLOCKED_UNOWNS_UNUSED_5 - engine_flag ENGINE_UNLOCKED_UNOWNS_UNUSED_6 - engine_flag ENGINE_UNLOCKED_UNOWNS_UNUSED_7 - - engine_flag ENGINE_FLYPOINT_PLAYERS_HOUSE - engine_flag ENGINE_FLYPOINT_VIRIDIAN_POKECENTER - engine_flag ENGINE_FLYPOINT_PALLET - engine_flag ENGINE_FLYPOINT_VIRIDIAN - engine_flag ENGINE_FLYPOINT_PEWTER - engine_flag ENGINE_FLYPOINT_CERULEAN - engine_flag ENGINE_FLYPOINT_ROCK_TUNNEL - engine_flag ENGINE_FLYPOINT_VERMILION - engine_flag ENGINE_FLYPOINT_LAVENDER - engine_flag ENGINE_FLYPOINT_SAFFRON - engine_flag ENGINE_FLYPOINT_CELADON - engine_flag ENGINE_FLYPOINT_FUCHSIA - engine_flag ENGINE_FLYPOINT_CINNABAR - engine_flag ENGINE_FLYPOINT_INDIGO_PLATEAU - engine_flag ENGINE_FLYPOINT_NEW_BARK - engine_flag ENGINE_FLYPOINT_CHERRYGROVE - engine_flag ENGINE_FLYPOINT_VIOLET - - engine_flag ENGINE_FLYPOINT_AZALEA - engine_flag ENGINE_FLYPOINT_CIANWOOD - engine_flag ENGINE_FLYPOINT_GOLDENROD - engine_flag ENGINE_FLYPOINT_OLIVINE - engine_flag ENGINE_FLYPOINT_ECRUTEAK - engine_flag ENGINE_FLYPOINT_MAHOGANY - engine_flag ENGINE_FLYPOINT_LAKE_OF_RAGE - engine_flag ENGINE_FLYPOINT_BLACKTHORN - engine_flag ENGINE_FLYPOINT_SILVER_CAVE - - engine_flag ENGINE_FLYPOINT_UNUSED - engine_flag ENGINE_LUCKY_NUMBER_SHOW - engine_flag ENGINE_4E - - engine_flag ENGINE_KURT_MAKING_BALLS - engine_flag ENGINE_DAILY_BUG_CONTEST - engine_flag ENGINE_SPECIAL_WILDDATA - engine_flag ENGINE_TIME_CAPSULE - engine_flag ENGINE_ALL_FRUIT_TREES - engine_flag ENGINE_GOT_SHUCKIE_TODAY - engine_flag ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED - engine_flag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY - - engine_flag ENGINE_MT_MOON_SQUARE_CLEFAIRY - engine_flag ENGINE_UNION_CAVE_LAPRAS - engine_flag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT - engine_flag ENGINE_GOLDENROD_DEPT_STORE_TM27_RETURN - engine_flag ENGINE_DAISYS_GROOMING - engine_flag ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT +INCLUDE "data/engine_flags.asm" diff --git a/engine/events/happiness_egg.asm b/engine/events/happiness_egg.asm index 9e6bffb4..85b6f710 100755 --- a/engine/events/happiness_egg.asm +++ b/engine/events/happiness_egg.asm @@ -140,7 +140,8 @@ StepHappiness:: ret DayCareStep:: - CheckFlag ENGINE_DAY_CARE_MAN_HAS_MON + ld a, [wDayCareMan] + bit DAYCAREMAN_HAS_MON_F, a jr z, .day_care_lady ld a, [wBreedMon1Level] @@ -161,7 +162,8 @@ DayCareStep:: ld [hl], a .day_care_lady - CheckFlag ENGINE_DAY_CARE_LADY_HAS_MON + ld a, [wDayCareLady] + bit DAYCARELADY_HAS_MON_F, a jr z, .check_egg ld a, [wBreedMon2Level] ; level @@ -212,5 +214,5 @@ DayCareStep:: ret nc ld hl, wDayCareMan res DAYCAREMAN_MONS_COMPATIBLE_F, [hl] - SetFlagForceReuseHL ENGINE_DAY_CARE_MAN_HAS_EGG + set DAYCAREMAN_HAS_EGG_F, [hl] ret diff --git a/engine/events/shuckle.asm b/engine/events/shuckle.asm index e83357b2..db6db8f9 100755 --- a/engine/events/shuckle.asm +++ b/engine/events/shuckle.asm @@ -50,7 +50,8 @@ GiveShuckle: call CopyName2 ; Engine flag for this event. - SetFlag ENGINE_GOT_SHUCKIE_TODAY + ld hl, wDailyFlags1 + set DAILYFLAGS1_GOT_SHUCKIE_TODAY_F, [hl] ld a, 1 ld [wScriptVar], a ret diff --git a/engine/events/specials.asm b/engine/events/specials.asm index c3d2f9ad..1086861a 100755 --- a/engine/events/specials.asm +++ b/engine/events/specials.asm @@ -421,11 +421,13 @@ StoreSwarmMapIndices:: ld [wDunsparceMapNumber], a ; fallthrough SetSwarmFlag: - SetFlag ENGINE_SPECIAL_WILDDATA + ld hl, wDailyFlags1 + set DAILYFLAGS1_FISH_SWARM_F, [hl] ret CheckSwarmFlag:: - CheckFlagHL ENGINE_SPECIAL_WILDDATA + ld hl, wDailyFlags1 + bit DAILYFLAGS1_FISH_SWARM_F, [hl] jr z, .asm_c578 xor a ld [wScriptVar], a @@ -446,7 +448,8 @@ CheckPokerus: ; c588 (3:4588) ResetLuckyNumberShowFlag: ; c591 (3:4591) farcall RestartLuckyNumberCountdown - ClearFlag ENGINE_LUCKY_NUMBER_SHOW + ld hl, wLuckyNumberShowFlag + res LUCKYNUMBERSHOW_GAME_OVER_F, [hl] farcall LoadOrRegenerateLuckyIDNumber ret diff --git a/engine/menus/intro_menu.asm b/engine/menus/intro_menu.asm index 1b19d41e..74eb21f4 100644 --- a/engine/menus/intro_menu.asm +++ b/engine/menus/intro_menu.asm @@ -615,7 +615,8 @@ Continue_LoadMenuHeader: ; 5ed7 (1:5ed7) xor a ldh [hBGMapMode], a ld hl, .MenuDataHeader_Dex - CheckFlag ENGINE_POKEDEX + ld a, [wStatusFlags] + bit STATUSFLAGS_POKEDEX_F, a jr nz, .asm_5ee7 ld hl, .MenuDataHeader_NoDex .asm_5ee7 @@ -695,7 +696,8 @@ Continue_DisplayBadgeCount: ; 5f64 (1:5f64) jp PrintNum Continue_DisplayPokedexNumCaught: ; 5f77 (1:5f77) - CheckFlag ENGINE_POKEDEX + ld a, [wStatusFlags] + bit STATUSFLAGS_POKEDEX_F, a ret z push hl ld hl, wPokedexCaught @@ -17,7 +17,6 @@ INCLUDE "macros/scripts/trade_anims.asm" INCLUDE "macros/move_anim.asm" INCLUDE "macros/pic.asm" INCLUDE "macros/pals.asm" -INCLUDE "macros/flag.asm" INCLUDE "macros/legacy.asm" diff --git a/macros/flag.asm b/macros/flag.asm deleted file mode 100755 index c2b307f0..00000000 --- a/macros/flag.asm +++ /dev/null @@ -1,45 +0,0 @@ -engine_flag_def: macro - const \1 -\1_ADDR EQUS "\2" -\1_BIT EQU \3 -endm - -engine_flag: macro - dwb \1_ADDR, (1 << \1_BIT) -endm - -CheckFlag: macro - ld a, [\1_ADDR] - bit \1_BIT, a -endm - -CheckFlagHL: macro - ld hl, \1_ADDR - bit \1_BIT, [hl] -endm - -SetFlag: macro - ld hl, \1_ADDR - set \1_BIT, [hl] -endm - -ClearFlag: macro - ld hl, \1_ADDR - res \1_BIT, [hl] -endm - -CheckFlagForceReuseA: macro - bit \1_BIT, a -endm - -CheckFlagForceReuseHL: macro - bit \1_BIT, [hl] -endm - -SetFlagForceReuseHL: macro - set \1_BIT, [hl] -endm - -ClearFlagForceReuseHL: macro - res \1_BIT, [hl] -endm diff --git a/tools/unused_sources.sh b/tools/unused_sources.sh index 233c032c..6a441e32 100755 --- a/tools/unused_sources.sh +++ b/tools/unused_sources.sh @@ -3,7 +3,8 @@ # top-level sources listed in Makefile toplevel='audio.asm data/text/common.asm data/pokemon/dex_entries.asm wram.asm -main.asm home.asm gfx/sprites.asm gfx/pics_gold.asm gfx/pics_silver.asm' +main.asm home.asm gfx/sprites.asm gfx/pics_gold.asm gfx/pics_silver.asm +data/maps/map_data.asm engine/overworld/events.asm' for asm in $toplevel; do echo "$asm" |