Implement macros for engine flags

This commit is contained in:
pikalaxalt
2016-06-21 09:52:00 -04:00
parent b0e462675f
commit dc48fd153a
15 changed files with 389 additions and 350 deletions

View File

@@ -1,96 +1,110 @@
const_def
const ENGINE_RADIO_CARD
const ENGINE_MAP_CARD
const ENGINE_PHONE_CARD
const ENGINE_EXPN_CARD
const ENGINE_POKEGEAR
const ENGINE_DAYCARE_MAN_HAS_EGG
const ENGINE_DAYCARE_MAN_HAS_MON
const ENGINE_DAYCARE_LADY_HAS_MON
const ENGINE_MOM_SAVING_MONEY
const ENGINE_DST
const ENGINE_0A
const ENGINE_POKEDEX
const ENGINE_UNOWN_DEX
const ENGINE_POKERUS
const ENGINE_ROCKET_SIGNAL_ON_CH20
const ENGINE_CREDITS_SKIP
const ENGINE_BUG_CONTEST_TIMER ; 10
const ENGINE_SAFARI_ZONE
const ENGINE_ROCKETS_IN_RADIO_TOWER
const ENGINE_BIKE_SHOP_CALL_ENABLED
const ENGINE_GIVE_POKERUS
const ENGINE_FLORIA
const ENGINE_ROCKETS_IN_MAHOGANY
const ENGINE_STRENGTH_ACTIVE
const ENGINE_ALWAYS_ON_BIKE
const ENGINE_DOWNHILL
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
const ENGINE_BOULDERBADGE
const ENGINE_CASCADEBADGE
const ENGINE_THUNDERBADGE
const ENGINE_RAINBOWBADGE
const ENGINE_SOULBADGE
const ENGINE_MARSHBADGE
const ENGINE_VOLCANOBADGE
const ENGINE_EARTHBADGE
const ENGINE_UNLOCKED_UNOWNS_1
const ENGINE_UNLOCKED_UNOWNS_2
const ENGINE_UNLOCKED_UNOWNS_3
const ENGINE_UNLOCKED_UNOWNS_4
const ENGINE_UNLOCKED_UNOWNS_5
const ENGINE_UNLOCKED_UNOWNS_6
const ENGINE_UNLOCKED_UNOWNS_7 ; 30
const ENGINE_UNLOCKED_UNOWNS_8
const ENGINE_FLYPOINT_KRISS_HOUSE
const ENGINE_FLYPOINT_VIRIDIAN_POKECENTER
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
const ENGINE_LUCKY_NUMBER_SHOW
const ENGINE_4E
const ENGINE_KURT_MAKING_BALLS
const ENGINE_DAILY_BUG_CONTEST ; 50
const ENGINE_SPECIAL_WILDDATA
const ENGINE_TIME_CAPSULE
const ENGINE_ALL_FRUIT_TREES
const ENGINE_SHUCKLE_GIVEN
const ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED
const ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
const ENGINE_MT_MOON_SQUARE_CLEFAIRY
const ENGINE_UNION_CAVE_LAPRAS
const ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
const ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT
const ENGINE_TEA_IN_BLUES_HOUSE
const ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
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_DAYCARE_MAN_HAS_EGG, wDayCareMan, 6 ; egg is ready
engine_flag_def ENGINE_DAYCARE_MAN_HAS_MON, wDayCareMan, 0 ; monster 1 in daycare
engine_flag_def ENGINE_DAYCARE_LADY_HAS_MON, wDaycareLady, 0 ; monster 2 in daycare
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_FLORIA, 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_1, wUnlockedUnowns, 0
engine_flag_def ENGINE_UNLOCKED_UNOWNS_2, wUnlockedUnowns, 1
engine_flag_def ENGINE_UNLOCKED_UNOWNS_3, wUnlockedUnowns, 2
engine_flag_def ENGINE_UNLOCKED_UNOWNS_4, wUnlockedUnowns, 3
engine_flag_def ENGINE_UNLOCKED_UNOWNS_5, wUnlockedUnowns, 4
engine_flag_def ENGINE_UNLOCKED_UNOWNS_6, wUnlockedUnowns, 5
engine_flag_def ENGINE_UNLOCKED_UNOWNS_7, wUnlockedUnowns, 6 ; $30
engine_flag_def ENGINE_UNLOCKED_UNOWNS_8, wUnlockedUnowns, 7
engine_flag_def ENGINE_FLYPOINT_KRISS_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, wDailyFlags, 0 ; kurt making balls
engine_flag_def ENGINE_DAILY_BUG_CONTEST, wDailyFlags, 1 ; did bug catching contest today ; $50
engine_flag_def ENGINE_SPECIAL_WILDDATA, wDailyFlags, 2 ; special wilddata?
engine_flag_def ENGINE_TIME_CAPSULE, wDailyFlags, 3 ; time capsule (24h wait)
engine_flag_def ENGINE_ALL_FRUIT_TREES, wDailyFlags, 4 ; all fruit trees
engine_flag_def ENGINE_SHUCKLE_GIVEN, wDailyFlags, 5 ; shuckle given
engine_flag_def ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED, wDailyFlags, 6 ; goldenrod underground merchant closed
engine_flag_def ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY, wDailyFlags, 7 ; fought in trainer hall today
engine_flag_def ENGINE_MT_MOON_SQUARE_CLEFAIRY, wWeeklyFlags, 0 ; mt moon square clefairy
engine_flag_def ENGINE_UNION_CAVE_LAPRAS, wWeeklyFlags, 1 ; union cave lapras ; $58
engine_flag_def ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT, wWeeklyFlags, 2 ; goldenrod underground haircut used
engine_flag_def ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT, wWeeklyFlags, 3 ; goldenrod mall happiness event floor05 person07
engine_flag_def ENGINE_TEA_IN_BLUES_HOUSE, wWeeklyFlags, 4 ; tea in blues house
engine_flag_def ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT, wWeeklyFlags, 5 ; indigo plateau rival fight
NUM_ENGINE_FLAGS EQU const_value

View File

@@ -84,114 +84,112 @@ EngineFlagAction:: ; c01b
; 404d
EngineFlags:
; All locations are in WRAM bank 1.
engine_flag: MACRO
dwb \1, 1 << \2
ENDM
; location, bit
engine_flag wPokegearFlags, 1 ; radio card ; $0
engine_flag wPokegearFlags, 0 ; map card
engine_flag wPokegearFlags, 2 ; phone card
engine_flag wPokegearFlags, 3 ; expn card
engine_flag wPokegearFlags, 7 ; on/off
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 wDayCareMan, 6 ; egg is ready
engine_flag wDayCareMan, 0 ; monster 1 in daycare
engine_flag ENGINE_DAYCARE_MAN_HAS_EGG
engine_flag ENGINE_DAYCARE_MAN_HAS_MON
engine_flag wDaycareLady, 0 ; monster 2 in daycare
engine_flag ENGINE_DAYCARE_LADY_HAS_MON
engine_flag wMomSavingMoney, 0 ; mom saving money ; $8
engine_flag wMomSavingMoney, 7 ; dst
engine_flag ENGINE_MOM_SAVING_MONEY
engine_flag ENGINE_DST
engine_flag wUnusedTwoDayTimerOn, 0 ; unused
engine_flag ENGINE_0A
engine_flag wStatusFlags, 0 ; pokedex
engine_flag wStatusFlags, 1 ; unown dex
engine_flag wStatusFlags, 3 ; pokerus
engine_flag wStatusFlags, 4 ; rocket signal on ch20
engine_flag wStatusFlags, 6 ; credits skip
engine_flag wStatusFlags2, 2 ; bug contest timer ; $10
engine_flag wStatusFlags2, 1 ; safari zone?
engine_flag wStatusFlags2, 0 ; rockets in radio tower
engine_flag wStatusFlags2, 4 ; bike shop call enabled (1024 bike steps reqd)
engine_flag wStatusFlags2, 5 ; give pokerus
engine_flag wStatusFlags2, 6 ; berry -> berry juice when trading?
engine_flag wStatusFlags2, 7 ; rockets in mahogany
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_FLORIA
engine_flag ENGINE_ROCKETS_IN_MAHOGANY
engine_flag wBikeFlags, 0 ; strength active
engine_flag wBikeFlags, 1 ; always on bike (cant surf) ; $18
engine_flag wBikeFlags, 2 ; downhill (cycling road)
engine_flag ENGINE_STRENGTH_ACTIVE
engine_flag ENGINE_ALWAYS_ON_BIKE
engine_flag ENGINE_DOWNHILL
engine_flag wJohtoBadges, 0 ; zephyrbadge
engine_flag wJohtoBadges, 1 ; hivebadge
engine_flag wJohtoBadges, 2 ; plainbadge
engine_flag wJohtoBadges, 3 ; fogbadge
engine_flag wJohtoBadges, 4 ; mineralbadge
engine_flag wJohtoBadges, 5 ; stormbadge
engine_flag wJohtoBadges, 6 ; glacierbadge ; $20
engine_flag wJohtoBadges, 7 ; risingbadge
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 wKantoBadges, 0 ; boulderbadge
engine_flag wKantoBadges, 1 ; cascadebadge
engine_flag wKantoBadges, 2 ; thunderbadge
engine_flag wKantoBadges, 3 ; rainbowbadge
engine_flag wKantoBadges, 4 ; soulbadge
engine_flag wKantoBadges, 5 ; marshbadge
engine_flag wKantoBadges, 6 ; volcanobadge ; $28
engine_flag wKantoBadges, 7 ; earthbadge
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 wUnlockedUnowns, 0
engine_flag wUnlockedUnowns, 1
engine_flag wUnlockedUnowns, 2
engine_flag wUnlockedUnowns, 3
engine_flag wUnlockedUnowns, 4
engine_flag wUnlockedUnowns, 5
engine_flag wUnlockedUnowns, 6 ; $30
engine_flag wUnlockedUnowns, 7
engine_flag ENGINE_UNLOCKED_UNOWNS_1
engine_flag ENGINE_UNLOCKED_UNOWNS_2
engine_flag ENGINE_UNLOCKED_UNOWNS_3
engine_flag ENGINE_UNLOCKED_UNOWNS_4
engine_flag ENGINE_UNLOCKED_UNOWNS_5
engine_flag ENGINE_UNLOCKED_UNOWNS_6
engine_flag ENGINE_UNLOCKED_UNOWNS_7
engine_flag ENGINE_UNLOCKED_UNOWNS_8
engine_flag wVisitedSpawns, 0 ; your house
engine_flag wVisitedSpawns, 1 ; viridian pokecenter
engine_flag wVisitedSpawns, 2 ; pallet
engine_flag wVisitedSpawns, 3 ; viridian
engine_flag wVisitedSpawns, 4 ; pewter
engine_flag wVisitedSpawns, 5 ; cerulean
engine_flag wVisitedSpawns, 6 ; rock tunnel ; $38
engine_flag wVisitedSpawns, 7 ; vermilion
engine_flag wVisitedSpawns + 1, 0 ; lavender
engine_flag wVisitedSpawns + 1, 1 ; saffron
engine_flag wVisitedSpawns + 1, 2 ; celadon
engine_flag wVisitedSpawns + 1, 3 ; fuchsia
engine_flag wVisitedSpawns + 1, 4 ; cinnabar
engine_flag wVisitedSpawns + 1, 5 ; indigo plateau
engine_flag wVisitedSpawns + 1, 6 ; new bark ; $40
engine_flag wVisitedSpawns + 1, 7 ; cherrygrove
engine_flag wVisitedSpawns + 2, 0 ; violet
; union cave
engine_flag wVisitedSpawns + 2, 2 ; azalea
engine_flag wVisitedSpawns + 2, 3 ; cianwood
engine_flag wVisitedSpawns + 2, 4 ; goldenrod
engine_flag wVisitedSpawns + 2, 5 ; olivine
engine_flag wVisitedSpawns + 2, 6 ; ecruteak
engine_flag wVisitedSpawns + 2, 7 ; mahogany ; $48
engine_flag wVisitedSpawns + 3, 0 ; lake of rage
engine_flag wVisitedSpawns + 3, 1 ; blackthorn
engine_flag wVisitedSpawns + 3, 2 ; silver cave
; fast ship
engine_flag wVisitedSpawns + 3, 4 ; unused
engine_flag wLuckyNumberShowFlag, 0
engine_flag wStatusFlags2, 3
engine_flag ENGINE_FLYPOINT_KRISS_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 wDailyFlags, 0 ; kurt making balls
engine_flag wDailyFlags, 1 ; did bug catching contest today ; $50
engine_flag wDailyFlags, 2 ; special wilddata?
engine_flag wDailyFlags, 3 ; time capsule (24h wait)
engine_flag wDailyFlags, 4 ; all fruit trees
engine_flag wDailyFlags, 5 ; shuckle given
engine_flag wDailyFlags, 6 ; goldenrod underground merchant closed
engine_flag wDailyFlags, 7 ; fought in trainer hall today
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 wWeeklyFlags, 0 ; mt moon square clefairy
engine_flag wWeeklyFlags, 1 ; union cave lapras ; $58
engine_flag wWeeklyFlags, 2 ; goldenrod underground haircut used
engine_flag wWeeklyFlags, 3 ; goldenrod mall happiness event floor05 person07
engine_flag wWeeklyFlags, 4 ; tea in blues house
engine_flag wWeeklyFlags, 5 ; indigo plateau rival fight
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_SHUCKLE_GIVEN
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_MALL_5F_HAPPINESS_EVENT
engine_flag ENGINE_TEA_IN_BLUES_HOUSE
engine_flag ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT

View File

@@ -124,7 +124,7 @@ LearnMove:
call TextBox
hlcoord 7, 4
ld a, $28
ld [wd0d3], a
ld [wBuffer1], a
predef ListMoves
ld a, $4
ld [wMenuData2End], a

View File

@@ -24,7 +24,7 @@ MainMenu_:
jr c, .asm_5a94
call ClearTileMap
ld a, [wMenuSelection]
ld hl, .Jumptable ; $5acd
ld hl, .Jumptable
rst JumpTable
jr .asm_5a60
@@ -616,11 +616,10 @@ DisplayContinueDataWithRTCError: ; 5ec7 (1:5ec7)
Continue_LoadMenuHeader: ; 5ed7 (1:5ed7)
xor a
ld [hBGMapMode], a
ld hl, .MenuDataHeader_Dex ; $5ef1
ld a, [wStatusFlags]
bit 0, a
ld hl, .MenuDataHeader_Dex
CheckFlag ENGINE_POKEDEX
jr nz, .asm_5ee7
ld hl, .MenuDataHeader_NoDex ; $5f15
ld hl, .MenuDataHeader_NoDex
.asm_5ee7
call OffsetMenuDataHeader_
call MenuBox
@@ -631,7 +630,7 @@ Continue_LoadMenuHeader: ; 5ed7 (1:5ed7)
db $40
db 00, 00
db 09, 15
dw .MenuData2_Dex ; 5ef9
dw .MenuData2_Dex
db 1
.MenuData2_Dex
@@ -646,7 +645,7 @@ Continue_LoadMenuHeader: ; 5ed7 (1:5ed7)
db $40
db 00, 00
db 09, 15
dw .MenuData2_NoDex ; 5f1d
dw .MenuData2_NoDex
db 1
.MenuData2_NoDex
@@ -698,8 +697,7 @@ Continue_DisplayBadgeCount: ; 5f64 (1:5f64)
jp PrintNum
Continue_DisplayPokedexNumCaught: ; 5f77 (1:5f77)
ld a, [wStatusFlags]
bit 0, a
CheckFlag ENGINE_POKEDEX
ret z
push hl
ld hl, wPokedexCaught
@@ -725,25 +723,34 @@ Continue_DisplayGameTime: ; 5f90 (1:5f90)
jp PrintNum
OakSpeech: ; 5fa5 (1:5fa5)
callba InitClock
callba InitClock ; What time is it?
call RotateFourPalettesLeft
call ClearTileMap
ld de, MUSIC_ROUTE_30
call PlayMusic
call RotateFourPalettesRight
call RotateThreePalettesRight
xor a
ld [wCurPartySpecies], a
ld a, POKEMON_PROF
ld [wTrainerClass], a
call Intro_PrepTrainerPic
ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS
call GetSGBLayout
call Intro_FadeInFrontpic
ld hl, OakText1
call PrintText
call RotateThreePalettesRight
call ClearTileMap
ld a, MARILL
ld [wce60], a
ld [wCurPartySpecies], a
@@ -751,41 +758,57 @@ OakSpeech: ; 5fa5 (1:5fa5)
hlcoord 6, 4
hlcoord 6, 4 ; TriHard
call PrepMonFrontpic
xor a
ld [wTempMonDVs], a
ld [wTempMonDVs + 1], a
ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS
call GetSGBLayout
call Intro_WipeInFrontpic
ld hl, OakText2
call PrintText
ld hl, OakText4
call PrintText
call RotateThreePalettesRight
call ClearTileMap
xor a
ld [wCurPartySpecies], a
ld a, POKEMON_PROF
ld [wTrainerClass], a
call Intro_PrepTrainerPic
ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS
call GetSGBLayout
call Intro_FadeInFrontpic
ld hl, OakText5
call PrintText
call RotateThreePalettesRight
call ClearTileMap
xor a
ld [wCurPartySpecies], a
ld a, CAL
ld [wTrainerClass], a
call Intro_PrepTrainerPic
ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS
call GetSGBLayout
call Intro_FadeInFrontpic
ld hl, OakText6
call PrintText
call NamePlayer
ld hl, OakText7
call PrintText
ret
@@ -966,9 +989,8 @@ MovePlayerPic
push de
xor a
ld [hBGMapMode], a
ld bc, $707
ld a, $13
call Predef
lb bc, 7, 7
predef PlaceGraphic
xor a
ld [hBGMapThird], a
call WaitBGMap
@@ -1024,9 +1046,8 @@ Intro_PrepTrainerPic: ; 61df, 61e0 (1:61df, 1:61e0)
xor a
ld [hGraphicStartTile], a
hlcoord 6, 4
ld bc, $707
ld a, $13
call Predef
lb bc, 7, 7
predef PlaceGraphic
ret
ShrinkFrame: ; 61f7 (1:61f7)

View File

@@ -295,7 +295,7 @@ MapRadio: ; c4af (3:44af)
Special_UnownPuzzle: ; c4ba (3:44ba)
call FadeToMenu
callba Functione199d
ld a, [wcfe4]
ld a, [wFieldMoveSucceeded]
ld [wScriptVar], a
call ExitAllMenus
ret
@@ -403,13 +403,11 @@ Functionc556: ; c556 (3:4556)
ld a, e
ld [wdd18], a
.asm_c566
ld hl, wDailyFlags
set 2, [hl]
SetFlag ENGINE_SPECIAL_WILDDATA
ret
Functionc56c:
ld hl, wDailyFlags
bit 2, [hl]
CheckFlagHL ENGINE_SPECIAL_WILDDATA
jr z, .asm_c578
xor a
ld [wScriptVar], a
@@ -430,8 +428,7 @@ Functionc588: ; c588 (3:4588)
Functionc591: ; c591 (3:4591)
callba Function11917
ld hl, wLuckyNumberShowFlag
res 0, [hl]
ClearFlag ENGINE_LUCKY_NUMBER_SHOW
callba LoadOrRegenerateLuckyIDNumber
ret

View File

@@ -143,14 +143,15 @@ StepHappiness::
jr nz, .asm_7349
ret
MAX_EXP EQU 5242880
DaycareStep::
ld a, [wDayCareMan]
bit 0, a
CheckFlag ENGINE_DAYCARE_MAN_HAS_MON
jr z, .daycare_lady
ld a, [wdc76]
cp 100
ld a, [wBreedMon1Level]
cp MAX_LEVEL
jr nc, .daycare_lady
ld hl, wdc61
ld hl, wBreedMon1Exp + 2
inc [hl]
jr nz, .daycare_lady
dec hl
@@ -159,18 +160,17 @@ DaycareStep::
dec hl
inc [hl]
ld a, [hl]
cp 5242880 / $10000
cp MAX_EXP / $10000
jr c, .daycare_lady
ld a, 5242880 / $10000
ld a, MAX_EXP / $10000
ld [hl], a
.daycare_lady
ld a, [wDaycareLady]
bit 0, a
CheckFlag ENGINE_DAYCARE_LADY_HAS_MON
jr z, .check_egg
ld a, [wdcaf]
cp 100
ld a, [wBreedMon2Level]
cp MAX_LEVEL
jr nc, .check_egg
ld hl, wdc9a
ld hl, wBreedMon2Exp + 2
inc [hl]
jr nz, .check_egg
dec hl
@@ -179,17 +179,18 @@ DaycareStep::
dec hl
inc [hl]
ld a, [hl]
cp 5242880 / $10000
cp MAX_EXP / $10000
jr c, .check_egg
ld a, 5242880 / $10000
ld a, MAX_EXP / $10000
ld [hl], a
.check_egg
ld hl, wDayCareMan
bit 5, [hl]
ret z
ld hl, wdc78
ld hl, wStepsToEgg
dec [hl]
ret nz
call Random
ld [hl], a
callab Function171d1
@@ -212,5 +213,5 @@ DaycareStep::
ret nc
ld hl, wDayCareMan
res 5, [hl]
set 6, [hl]
SetFlagForceReuseHL ENGINE_DAYCARE_MAN_HAS_EGG
ret

View File

@@ -34,8 +34,7 @@ Function73e1:
call SkipNames
ld de, ManiaName
call CopyName2
ld hl, wDailyFlags
set 5, [hl]
SetFlag ENGINE_SHUCKLE_GIVEN
ld a, $1
ld [wScriptVar], a
ret

View File

@@ -666,7 +666,7 @@ Function3414::
rst Bankswitch
ret
Function3423::
QueueScript::
ld a, [hROMBank]
Function3425::
ld [wcfd8], a

View File

@@ -337,14 +337,13 @@ RestartMapMusic::
SpecialMapMusic:: ; 3f40 (0:3f40)
ld a, [wPlayerBikeSurfState]
cp $4
jr z, .asm_3f59
cp $8
jr z, .asm_3f59
ld a, [wStatusFlags2]
bit 2, a
jr nz, .asm_3f5e
.asm_3f52
cp PLAYER_SURF
jr z, .surf
cp PLAYER_SURF_PIKA
jr z, .surf
CheckFlag ENGINE_BUG_CONTEST_TIMER
jr nz, .contest
.normal
and a
ret
@@ -353,21 +352,21 @@ SpecialMapMusic:: ; 3f40 (0:3f40)
scf
ret
.asm_3f59
.surf
ld de, MUSIC_SURF
scf
ret
.asm_3f5e
.contest
ld a, [wMapGroup]
cp GROUP_ROUTE_35_NATIONAL_PARK_GATE
jr nz, .asm_3f52
jr nz, .normal
ld a, [wMapNumber]
cp MAP_ROUTE_35_NATIONAL_PARK_GATE
jr z, .asm_3f70
jr z, .ranking
cp MAP_ROUTE_36_NATIONAL_PARK_GATE
jr nz, .asm_3f52
.asm_3f70
jr nz, .normal
.ranking
ld de, MUSIC_BUG_CATCHING_CONTEST_RANKING
scf
ret

View File

@@ -14,14 +14,14 @@ ResetBikeFlags:: ; 2f16 (0:2f16)
ResetFlashIfOutOfCave:: ; 2f1d (0:2f1d)
ld a, [wPermission]
cp $2
jr z, .asm_2f29
jr z, .turn_off_lights
cp $1
jr z, .asm_2f29
jr z, .turn_off_lights
ret
.asm_2f29
.turn_off_lights
ld hl, wStatusFlags
res 2, [hl]
res 2, [hl] ; FLASH
ret
EventFlagAction::

View File

@@ -2346,41 +2346,39 @@ GetMapHeaderMusic::
ld de, $6
call GetMapHeaderMember
ld a, c
cp $64
jr z, .asm_2dc1
cp MUSIC_MAHOGANY_MART
jr z, .mahogany_mart_check
bit 7, c
jr nz, .asm_2dad
jr nz, .radio_tower_check
ld e, c
ld d, $0
.asm_2daa
.load
pop bc
pop hl
ret
.asm_2dad
ld a, [wStatusFlags2]
bit 0, a
jr z, .asm_2db9
ld de, $56
jr .asm_2daa
.radio_tower_check
CheckFlag ENGINE_ROCKETS_IN_RADIO_TOWER
jr z, .no_rockets
ld de, MUSIC_ROCKET_OVERTURE
jr .load
.asm_2db9
.no_rockets
ld a, c
and $7f
ld e, a
ld d, $0
jr .asm_2daa
jr .load
.asm_2dc1
ld a, [wStatusFlags2]
bit 7, a
jr z, .asm_2dcd
ld de, $48
jr .asm_2daa
.mahogany_mart_check
CheckFlag ENGINE_ROCKETS_IN_MAHOGANY
jr z, .no_rockets2
ld de, MUSIC_ROCKET_HIDEOUT
jr .load
.asm_2dcd
ld de, $26
jr .asm_2daa
.no_rockets2
ld de, MUSIC_CHERRYGROVE_CITY
jr .load
GetMapHeaderTimeOfDayNybble:: ; 2dd2 (0:2dd2)
call GetPhoneServiceTimeOfDayByte

View File

@@ -16,6 +16,7 @@ INCLUDE "macros/mobile.asm"
INCLUDE "macros/trainer.asm"
INCLUDE "macros/trade_anim.asm"
INCLUDE "macros/pals.asm"
INCLUDE "macros/flag.asm"
dr: macro
IF DEF(GOLD)

45
macros/flag.asm Executable file
View File

@@ -0,0 +1,45 @@
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

View File

@@ -361,7 +361,10 @@ CheckItem_::
GetTMHMNumber::
dr $d414, $d434
CheckTossableItem_::
dr $d434, $d892
dr $d434, $d62d
AnimateHPBar_:
dr $d62d, $d892
TryAddMonToParty::
dr $d892, $da73
@@ -417,7 +420,10 @@ CheckItem_::
GetTMHMNumber::
dr $d412, $d432
CheckTossableItem_::
dr $d432, $d890
dr $d432, $d62b
AnimateHPBar_:
dr $d62b, $d890
TryAddMonToParty::
dr $d890, $da71
@@ -528,7 +534,9 @@ Function14a18:: ; 14a18
Function14a2d:: ; 14a2d
dr $14a2d, $14a44
Function14a44: ; 14a44
dr $14a44, $14ef5
dr $14a44, $14a73
CheckCutCollision:
dr $14a73, $14ef5
TryLoadSaveFile: ; 14ef5
dr $14ef5, $15484
RunMapSetupScript::
@@ -903,7 +911,13 @@ Function8c3e9:: ; 8c3e9
dr $8c3e9, $8c513
Predef_StartBattle::
dr $8c513, $8ce7c
dr $8c513, $8ca6b
BlindingFlash:
dr $8ca6b, $8cbb8
OWCutAnimation:
dr $8cbb8, $8ce7c
Function8ce7c:
dr $8ce7c, $8d174
@@ -1279,7 +1293,17 @@ ReceivedMysteryGiftText_::
NoCoinsText_::
dr $190f0b, $190f1f
NoCoinCaseText_::
dr $190f1f, $194000
dr $190f1f, $1920ad
BadgeRequiredText_::
dr $1920ad, $1920ce
CantUseFieldMoveHereText_::
dr $1920ce, $1920e3
Text_UsedCut_::
dr $1920e3, $1920f2
Text_NothingToCut_::
dr $1920f2, $19210f
Text_UsedFlash_::
dr $19210f, $194000
SECTION "bank65", ROMX, BANK[$65]
dr $194000, $195610

View File

@@ -2361,7 +2361,7 @@ wPredefPointerBuffer:: dw ; cfde
wFarCallBCBuffer:: dw ; cfe0
wcfe2:: ds 1 ; cfe2
wcfe3:: ds 1 ; cfe3
wcfe4:: ds 1 ; cfe4
wFieldMoveSucceeded:: ds 1 ; cfe4
wVramState:: ds 1
wcfe6:: ds 1 ; cfe6
wcfe7:: ds 1 ; cfe7
@@ -2532,12 +2532,12 @@ wd0ce:: ds 1 ; d0ce
wTilesetPalettes:: dw ; d0cf
wd0d1:: ds 1 ; d0d1
wd0d2:: ds 1 ; d0d2
wd0d3:: ds 1 ; d0d3
wd0d4:: ds 1 ; d0d4
wd0d5:: ds 1 ; d0d5
wd0d6:: ds 1 ; d0d6
wd0d7:: ds 1 ; d0d7
wd0d8:: ds 1 ; d0d8
wBuffer1:: ds 1 ; d0d3
wBuffer2:: ds 1 ; d0d4
wBuffer3:: ds 1 ; d0d5
wBuffer4:: ds 1 ; d0d6
wBuffer5:: ds 1 ; d0d7
wBuffer6:: ds 1 ; d0d8
wd0d9:: ds 1 ; d0d9
wd0da:: ds 1 ; d0da
wd0db:: ds 1 ; d0db
@@ -3706,40 +3706,11 @@ wdc53:: ds 1 ; dc53
wdc54:: ds 1 ; dc54
wdc55:: ds 1 ; dc55
wdc56:: ds 1 ; dc56
wdc57:: ds 1 ; dc57
wdc58:: ds 1 ; dc58
wdc59:: ds 1 ; dc59
wdc5a:: ds 1 ; dc5a
wdc5b:: ds 1 ; dc5b
wdc5c:: ds 1 ; dc5c
wdc5d:: ds 1 ; dc5d
wdc5e:: ds 1 ; dc5e
wdc5f:: ds 1 ; dc5f
wdc60:: ds 1 ; dc60
wdc61:: ds 1 ; dc61
wdc62:: ds 1 ; dc62
wdc63:: ds 1 ; dc63
wdc64:: ds 1 ; dc64
wdc65:: ds 1 ; dc65
wdc66:: ds 1 ; dc66
wdc67:: ds 1 ; dc67
wdc68:: ds 1 ; dc68
wdc69:: ds 1 ; dc69
wdc6a:: ds 1 ; dc6a
wdc6b:: ds 1 ; dc6b
wdc6c:: ds 1 ; dc6c
wdc6d:: ds 1 ; dc6d
wdc6e:: ds 1 ; dc6e
wdc6f:: ds 1 ; dc6f
wdc70:: ds 1 ; dc70
wdc71:: ds 1 ; dc71
wdc72:: ds 1 ; dc72
wdc73:: ds 1 ; dc73
wdc74:: ds 1 ; dc74
wdc75:: ds 1 ; dc75
wdc76:: ds 1 ; dc76
wBreedMon1:: box_struct wBreedMon1 ; dc57
wDaycareLady:: ds 1 ; dc77
wdc78:: ds 1 ; dc78
wStepsToEgg:: ds 1 ; dc78
wdc79:: ds 1 ; dc79
wdc7a:: ds 1 ; dc7a
wdc7b:: ds 1 ; dc7b
@@ -3763,38 +3734,9 @@ wdc8c:: ds 1 ; dc8c
wdc8d:: ds 1 ; dc8d
wdc8e:: ds 1 ; dc8e
wdc8f:: ds 1 ; dc8f
wdc90:: ds 1 ; dc90
wdc91:: ds 1 ; dc91
wdc92:: ds 1 ; dc92
wdc93:: ds 1 ; dc93
wdc94:: ds 1 ; dc94
wdc95:: ds 1 ; dc95
wdc96:: ds 1 ; dc96
wdc97:: ds 1 ; dc97
wdc98:: ds 1 ; dc98
wdc99:: ds 1 ; dc99
wdc9a:: ds 1 ; dc9a
wdc9b:: ds 1 ; dc9b
wdc9c:: ds 1 ; dc9c
wdc9d:: ds 1 ; dc9d
wdc9e:: ds 1 ; dc9e
wdc9f:: ds 1 ; dc9f
wdca0:: ds 1 ; dca0
wdca1:: ds 1 ; dca1
wdca2:: ds 1 ; dca2
wdca3:: ds 1 ; dca3
wdca4:: ds 1 ; dca4
wdca5:: ds 1 ; dca5
wdca6:: ds 1 ; dca6
wdca7:: ds 1 ; dca7
wdca8:: ds 1 ; dca8
wdca9:: ds 1 ; dca9
wdcaa:: ds 1 ; dcaa
wdcab:: ds 1 ; dcab
wdcac:: ds 1 ; dcac
wdcad:: ds 1 ; dcad
wdcae:: ds 1 ; dcae
wdcaf:: ds 1 ; dcaf
wBreedMon2:: box_struct wBreedMon2 ; dc90
wdcb0:: ds 1 ; dcb0
wdcb1:: ds 1 ; dcb1
wdcb2:: ds 1 ; dcb2