From db7d941d22d89cf8d6d13cbf768208c5cf2ac2c2 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Sun, 19 Jul 2015 20:45:34 -0700 Subject: constants for flag actions --- constants/misc_constants.asm | 6 ++++++ engine/battle/core.asm | 12 ++++++------ engine/battle/experience.asm | 6 +++--- engine/evos_moves.asm | 6 +++--- engine/give_pokemon.asm | 2 +- engine/hidden_object_functions7.asm | 8 ++++---- engine/in_game_trades.asm | 4 ++-- engine/items/itemfinder.asm | 2 +- engine/items/items.asm | 14 +++++++------- engine/items/tms.asm | 2 +- engine/menu/pokedex.asm | 2 +- engine/overworld/hidden_items.asm | 8 ++++---- home.asm | 6 +++--- main.asm | 18 +++++++++--------- scripts/cinnabargym.asm | 6 +++--- scripts/route23.asm | 6 +++--- 16 files changed, 57 insertions(+), 51 deletions(-) diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index cb167da6..68090c78 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -133,6 +133,12 @@ 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) +; flag operations + +FLAG_RESET EQU 0 +FLAG_SET EQU 1 +FLAG_TEST EQU 2 + ; serial ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 42d7f5e6..a74e0a27 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -328,7 +328,7 @@ StartBattle: ; 3c11e (f:411e) call SaveScreenTilesToBuffer1 ld a, [wWhichPokemon] ld c, a - ld b, $1 + ld b, FLAG_SET push bc ld hl, wPartyGainExpFlags predef FlagActionPredef @@ -1081,7 +1081,7 @@ RemoveFaintedPlayerMon: ; 3c741 (f:4741) ld a, [wPlayerMonNumber] ld c, a ld hl, wPartyGainExpFlags - ld b, $0 + ld b, FLAG_RESET predef FlagActionPredef ; clear gain exp flag for fainted mon ld hl, W_ENEMYBATTSTATUS1 res 2, [hl] ; reset "attacking multiple times" flag @@ -1181,7 +1181,7 @@ ChooseNextMon: ; 3c7d8 (f:47d8) ld [wPlayerMonNumber], a ld c, a ld hl, wPartyGainExpFlags - ld b, $1 + ld b, FLAG_SET push bc predef FlagActionPredef pop bc @@ -1350,7 +1350,7 @@ EnemySendOut: ; 3c90e (f:490e) ld [hl],a ld a,[wPlayerMonNumber] ld c,a - ld b,1 + ld b,FLAG_SET push bc predef FlagActionPredef ld hl,wPartyFoughtCurrentEnemyFlags @@ -2490,7 +2490,7 @@ SwitchPlayerMon: ; 3d1ba (f:51ba) ld a, [wWhichPokemon] ld [wPlayerMonNumber], a ld c, a - ld b, $1 + ld b, FLAG_SET push bc ld hl, wPartyGainExpFlags predef FlagActionPredef @@ -6326,7 +6326,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01) ld a, [wd11e] dec a ld c, a - ld b, $1 + ld b, FLAG_SET ld hl, wPokedexSeen predef FlagActionPredef ; mark this mon as seen in the pokedex ld hl, wEnemyMonLevel diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index 6ec8c463..6f479ea3 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -15,7 +15,7 @@ GainExperience: ; 5524f (15:524f) ld hl, wPartyGainExpFlags ld a, [wWhichPokemon] ld c, a - ld b, $2 + ld b, FLAG_TEST predef FlagActionPredef ld a, c and a ; is mon's gain exp flag set? @@ -257,7 +257,7 @@ GainExperience: ; 5524f (15:524f) ld hl, wCanEvolveFlags ld a, [wWhichPokemon] ld c, a - ld b, $1 + ld b, FLAG_SET predef FlagActionPredef pop hl pop af @@ -281,7 +281,7 @@ GainExperience: ; 5524f (15:524f) ld [hl], a ; clear gain exp flags ld a, [wPlayerMonNumber] ld c, a - ld b, $1 + ld b, FLAG_SET push bc predef FlagActionPredef ; set the gain exp flag for the mon that is currently out ld hl, wPartyFoughtCurrentEnemyFlags diff --git a/engine/evos_moves.asm b/engine/evos_moves.asm index 3129b560..2c668d63 100755 --- a/engine/evos_moves.asm +++ b/engine/evos_moves.asm @@ -5,7 +5,7 @@ TryEvolvingMon: ; 3ad0e (e:6d0e) ld [hl], a ld a, [wWhichPokemon] ld c, a - ld b, $1 + ld b, FLAG_SET call Evolution_FlagAction ; this is only called after battle @@ -36,7 +36,7 @@ Evolution_PartyMonLoop: ; loop over party mons ld a, [wWhichPokemon] ld c, a ld hl, wCanEvolveFlags - ld b, $2 + ld b, FLAG_TEST call Evolution_FlagAction ld a, c and a ; is the mon's bit set? @@ -217,7 +217,7 @@ Evolution_PartyMonLoop: ; loop over party mons ld a, [wd11e] dec a ld c, a - ld b, $1 + ld b, FLAG_SET ld hl, wPokedexOwned push bc call Evolution_FlagAction diff --git a/engine/give_pokemon.asm b/engine/give_pokemon.asm index 4b45631d..02e2b743 100755 --- a/engine/give_pokemon.asm +++ b/engine/give_pokemon.asm @@ -60,7 +60,7 @@ SetPokedexOwnedFlag: ; 4fe11 (13:7e11) dec a ld c, a ld hl, wPokedexOwned - ld b, $1 + ld b, FLAG_SET predef FlagActionPredef pop af ld [wd11e], a diff --git a/engine/hidden_object_functions7.asm b/engine/hidden_object_functions7.asm index 397d2a02..8893e496 100755 --- a/engine/hidden_object_functions7.asm +++ b/engine/hidden_object_functions7.asm @@ -209,7 +209,7 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92) call PrintText ld a, [$ffe0] ld c, a - ld b, $1 + ld b, FLAG_SET call CinnabarGymQuiz_1ea8a jp CinnabarGymQuiz_1eb0a .asm_1eab8 @@ -222,7 +222,7 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92) ld a, [$ffdb] add $2 ld c, a - ld b, $2 + ld b, FLAG_TEST ld hl, wd79a predef FlagActionPredef ld a, c @@ -241,7 +241,7 @@ CinnabarGymQuizCorrectText: ; 1eae3 (7:6ae3) ld a, [$ffe0] ld c, a - ld b, $2 + ld b, FLAG_TEST call CinnabarGymQuiz_1ea8a ld a, c and a @@ -278,7 +278,7 @@ CinnabarGymQuiz_1eb0a: ; 1eb0a (7:6b0a) ld a, [$ffdb] ld [$ffe0], a ld c, a - ld b, $2 + ld b, FLAG_TEST call CinnabarGymQuiz_1ea8a ld a, c and a diff --git a/engine/in_game_trades.asm b/engine/in_game_trades.asm index fffaedcf..96c37ab0 100755 --- a/engine/in_game_trades.asm +++ b/engine/in_game_trades.asm @@ -38,7 +38,7 @@ DoInGameTradeDialogue: ; 71ad9 (1c:5ad9) ld hl,wCompletedInGameTradeFlags ld a,[wWhichTrade] ld c,a - ld b,$2 + ld b,FLAG_TEST predef FlagActionPredef ld a,c and a @@ -112,7 +112,7 @@ InGameTrade_DoTrade: ; 71c07 (1c:5c07) ld hl,wCompletedInGameTradeFlags ld a,[wWhichTrade] ld c,a - ld b,$1 + ld b,FLAG_SET predef FlagActionPredef ld hl, ConnectCableText call PrintText diff --git a/engine/items/itemfinder.asm b/engine/items/itemfinder.asm index 51277632..5da72388 100755 --- a/engine/items/itemfinder.asm +++ b/engine/items/itemfinder.asm @@ -10,7 +10,7 @@ HiddenItemNear: ; 7481f (1d:481f) push hl ld hl, wObtainedHiddenItemsFlags ld c, b - ld b, $2 + ld b, FLAG_TEST predef FlagActionPredef ld a, c pop hl diff --git a/engine/items/items.asm b/engine/items/items.asm index 000940d2..f2c41ef6 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -400,15 +400,15 @@ ItemUseBall: ; d687 (3:5687) ld a,[wd11e] dec a ld c,a - ld b,2 - ld hl,wPokedexOwned ;Dex_own_flags (pokemon) + ld b,FLAG_TEST + ld hl,wPokedexOwned predef FlagActionPredef ld a,c push af ld a,[wd11e] dec a ld c,a - ld b,1 + ld b,FLAG_SET predef FlagActionPredef pop af and a @@ -804,7 +804,7 @@ ItemUseMedicine: ; dabb (3:5abb) ld a,[wUsedItemOnWhichPokemon] ld c,a ld hl,wPartyFoughtCurrentEnemyFlags - ld b,$02 + ld b,FLAG_TEST predef FlagActionPredef ld a,c and a @@ -812,7 +812,7 @@ ItemUseMedicine: ; dabb (3:5abb) ld a,[wUsedItemOnWhichPokemon] ld c,a ld hl,wPartyGainExpFlags - ld b,$01 + ld b,FLAG_SET predef FlagActionPredef .next pop bc @@ -2550,8 +2550,8 @@ IsKeyItem_: ; e764 (3:6764) dec a ld c,a ld hl,wHPBarMaxHP - ld b,$02 ; test bit - predef FlagActionPredef ; bitfield operation function + ld b,FLAG_TEST + predef FlagActionPredef ld a,c and a ret nz diff --git a/engine/items/tms.asm b/engine/items/tms.asm index 511aab5b..23912b34 100755 --- a/engine/items/tms.asm +++ b/engine/items/tms.asm @@ -17,7 +17,7 @@ CanLearnTM: ; 1373e (4:773e) jr .findTMloop .TMfoundLoop pop hl - ld b, $2 ; read corresponding bit from TM compatibility array + ld b, FLAG_TEST predef_jump FlagActionPredef ; converts TM/HM number in wd11e into move number diff --git a/engine/menu/pokedex.asm b/engine/menu/pokedex.asm index 4e173bc0..2f22f78e 100755 --- a/engine/menu/pokedex.asm +++ b/engine/menu/pokedex.asm @@ -379,7 +379,7 @@ IsPokemonBitSet: ; 402c2 (10:42c2) ld a,[wd11e] dec a ld c,a - ld b,2 + ld b,FLAG_TEST predef FlagActionPredef ld a,c and a diff --git a/engine/overworld/hidden_items.asm b/engine/overworld/hidden_items.asm index 311b38d4..fc69afc1 100755 --- a/engine/overworld/hidden_items.asm +++ b/engine/overworld/hidden_items.asm @@ -5,7 +5,7 @@ HiddenItems: ; 76688 (1d:6688) ld hl, wObtainedHiddenItemsFlags ld a, [wHiddenItemOrCoinsIndex] ld c, a - ld b, $2 + ld b, FLAG_TEST predef FlagActionPredef ld a, c and a @@ -31,7 +31,7 @@ FoundHiddenItemText: ; 7675b (1d:675b) ld hl, wObtainedHiddenItemsFlags ld a, [wTrainerScreenX] ld c, a - ld b, $1 + ld b, FLAG_SET predef FlagActionPredef ld a, SFX_GET_ITEM_2 call PlaySoundWaitForCurrent @@ -61,7 +61,7 @@ HiddenCoins: ; 76799 (1d:6799) ld hl, wObtainedHiddenCoinsFlags ld a, [wHiddenItemOrCoinsIndex] ld c, a - ld b, $2 + ld b, FLAG_TEST predef FlagActionPredef ld a, c and a @@ -102,7 +102,7 @@ HiddenCoins: ; 76799 (1d:6799) ld hl, wObtainedHiddenCoinsFlags ld a, [wTrainerScreenX] ld c, a - ld b, $1 + ld b, FLAG_SET predef FlagActionPredef call EnableAutoTextBoxDrawing ld a, [wPlayerCoins] diff --git a/home.asm b/home.asm index b5165ebf..6bb54df2 100644 --- a/home.asm +++ b/home.asm @@ -2297,7 +2297,7 @@ TalkToTrainer:: ; 31cc (0:31cc) call ReadTrainerHeaderInfo ; read flag's byte ptr ld a, [wTrainerHeaderFlagBit] ld c, a - ld b, $2 + ld b, FLAG_TEST call TrainerFlagAction ; read trainer's flag ld a, c and a @@ -2392,7 +2392,7 @@ EndTrainerBattle:: ; 3275 (0:3275) call ReadTrainerHeaderInfo ld a, [wTrainerHeaderFlagBit] ld c, a - ld b, $1 + ld b, FLAG_SET call TrainerFlagAction ; flag trainer as fought ld a, [W_ENEMYMONORTRAINERCLASS] cp $c8 @@ -2470,7 +2470,7 @@ CheckForEngagingTrainers:: ; 3306 (0:3306) ret z ld a, $2 call ReadTrainerHeaderInfo ; read trainer flag's byte ptr - ld b, $2 + ld b, FLAG_TEST ld a, [wTrainerHeaderFlagBit] ld c, a call TrainerFlagAction ; read trainer flag diff --git a/main.asm b/main.asm index d45b8825..2261acb8 100755 --- a/main.asm +++ b/main.asm @@ -2038,7 +2038,7 @@ _DisplayPokedex: ; 7c18 (1:7c18) ld a, [wd11e] dec a ld c, a - ld b, $1 + ld b, FLAG_SET ld hl, wPokedexSeen predef FlagActionPredef ld a, $1 @@ -3235,7 +3235,7 @@ MarkTownVisitedAndLoadMissableObjects: ; f113 (3:7113) cp ROUTE_1 jr nc, .notInTown ld c, a - ld b, $1 + ld b, FLAG_SET ld hl, W_TOWNVISITEDFLAG ; mark town as visited (for flying) predef FlagActionPredef .notInTown @@ -3319,7 +3319,7 @@ InitializeMissableObjectsFlags: ; f175 (3:7175) ld hl, W_MISSABLEOBJECTFLAGS ld a, [wd048] ld c, a - ld b, $1 + ld b, FLAG_SET call MissableObjectFlagAction ; set flag iff Item is hidden .asm_f19d ld hl, wd048 @@ -3343,7 +3343,7 @@ IsObjectHidden: ; f1a6 (3:71a6) ld a, [hli] jr nz, .loop ld c, a - ld b, $2 + ld b, FLAG_TEST ld hl, W_MISSABLEOBJECTFLAGS call MissableObjectFlagAction ld a, c @@ -3362,7 +3362,7 @@ ShowObject2: ld hl, W_MISSABLEOBJECTFLAGS ld a, [wcc4d] ld c, a - ld b, $0 + ld b, FLAG_RESET call MissableObjectFlagAction ; reset "removed" flag jp UpdateSprites @@ -3372,7 +3372,7 @@ HideObject: ; f1d7 (3:71d7) ld hl, W_MISSABLEOBJECTFLAGS ld a, [wcc4d] ld c, a - ld b, $1 + ld b, FLAG_SET call MissableObjectFlagAction ; set "removed" flag jp UpdateSprites @@ -3642,7 +3642,7 @@ _AddPartyMon: ; f2e5 (3:72e5) ld a, [wd11e] dec a ld c, a - ld b, $2 + ld b, FLAG_TEST ld hl, wPokedexOwned call FlagAction ld a, c @@ -3650,7 +3650,7 @@ _AddPartyMon: ; f2e5 (3:72e5) ld a, [wd11e] dec a ld c, a - ld b, $1 + ld b, FLAG_SET push bc call FlagAction pop bc @@ -3882,7 +3882,7 @@ _AddEnemyMonToPlayerParty: ; f49d (3:749d) ld a, [wd11e] dec a ld c, a - ld b, $1 + ld b, FLAG_SET ld hl, wPokedexOwned push bc call FlagAction ; add to owned pokemon diff --git a/scripts/cinnabargym.asm b/scripts/cinnabargym.asm index fcafa83a..213568d5 100755 --- a/scripts/cinnabargym.asm +++ b/scripts/cinnabargym.asm @@ -99,7 +99,7 @@ CinnabarGymScript2: ; 757f6 (1d:57f6) ld a, [wTrainerHeaderFlagBit] ld [$ffdb], a ld c, a - ld b, $2 + ld b, FLAG_TEST ld hl, wd79a call CinnabarGymScript_757f1 ld a, c @@ -113,13 +113,13 @@ CinnabarGymScript2: ; 757f6 (1d:57f6) ld a, [wTrainerHeaderFlagBit] ld [$ffdb], a ld c, a - ld b, $1 + ld b, FLAG_SET ld hl, wd79a call CinnabarGymScript_757f1 ld a, [wTrainerHeaderFlagBit] sub $2 ld c, a - ld b, $1 + ld b, FLAG_SET ld hl, wd79c call CinnabarGymScript_757f1 call Func_3ead diff --git a/scripts/route23.asm b/scripts/route23.asm index a258b88a..cfcf41f5 100755 --- a/scripts/route23.asm +++ b/scripts/route23.asm @@ -52,7 +52,7 @@ Route23Script0: ; 51219 (14:5219) ld [hSpriteIndexOrTextID], a ld a, c ld [wWhichBadge], a - ld b, $2 + ld b, FLAG_TEST ld hl, wd7ed predef FlagActionPredef ld a, c @@ -193,7 +193,7 @@ Route23Script_51346: ; 51346 (14:5346) ld a, [wWhichBadge] inc a ld c, a - ld b, $2 + ld b, FLAG_TEST ld hl, W_OBTAINEDBADGES predef FlagActionPredef ld a, c @@ -210,7 +210,7 @@ Route23Script_51346: ; 51346 (14:5346) call PrintText ld a, [wWhichBadge] ld c, a - ld b, $1 + ld b, FLAG_SET ld hl, wd7ed predef FlagActionPredef ld a, $2 -- cgit v1.2.3