From 512863989fb2cb17bcca2f27a61fe3fa8f567b9a Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 00:50:59 -0500 Subject: [PATCH 01/16] Document constants with comments, actual names, and more thorough usage --- battle/ai/items.asm | 6 +- constants/animation_constants.asm | 27 +- constants/audio_constants.asm | 3 - constants/battle_constants.asm | 105 +- constants/battle_tower_constants.asm | 22 +- constants/cgb_constants.asm | 1 + constants/cry_constants.asm | 1 + constants/deco_constants.asm | 98 +- constants/engine_flags.asm | 27 +- constants/event_flags.asm | 32 +- constants/gfx_constants.asm | 1 - constants/item_constants.asm | 50 +- constants/landmark_constants.asm | 4 +- constants/map_constants.asm | 193 ++-- constants/map_setup_constants.asm | 8 +- constants/misc_constants.asm | 181 +-- constants/move_constants.asm | 572 +++++----- constants/music_constants.asm | 9 +- constants/phone_constants.asm | 6 +- constants/pokemon_constants.asm | 545 +++++----- constants/pokemon_data_constants.asm | 39 +- constants/printer_constants.asm | 2 +- constants/radio_constants.asm | 16 +- constants/script_constants.asm | 3 + constants/sfx_constants.asm | 2 + constants/sprite_constants.asm | 145 +-- constants/std_constants.asm | 2 + constants/tilemap_constants.asm | 26 +- constants/trainer_constants.asm | 92 +- constants/type_constants.asm | 4 + constants/wram_constants.asm | 33 +- data/map_objects.asm | 2 + data/sprite_engine.asm | 215 ++-- engine/breeding/egg.asm | 4 +- engine/crystal_intro.asm | 22 +- engine/dummy_game.asm | 2 +- engine/engine_flags.asm | 2 +- engine/evolution_animation.asm | 2 +- engine/facings.asm | 10 +- engine/link.asm | 2 +- engine/map_object_action.asm | 52 +- engine/map_objects.asm | 30 +- engine/mon_icons.asm | 18 +- engine/mon_menu.asm | 11 +- engine/move_mon.asm | 4 +- engine/namingscreen.asm | 6 +- engine/overworld.asm | 7 +- engine/phone.asm | 2 +- engine/pokegear.asm | 4 +- engine/radio.asm | 6 +- engine/scripting.asm | 10 +- engine/slot_machine.asm | 2 +- engine/spawn_points.asm | 5 +- engine/specials.asm | 6 +- engine/sprite_anims.asm | 148 +-- engine/sprites.asm | 134 ++- engine/trade/animation.asm | 8 +- engine/variables.asm | 6 +- engine/wildmons.asm | 4 +- event/celebi.asm | 4 +- event/field_moves.asm | 2 +- event/magnet_train.asm | 4 +- event/mom_phone.asm | 5 +- gbhw.asm | 3 + home.asm | 6 +- home/flag.asm | 12 +- home/map.asm | 2 - home/map_objects.asm | 4 +- main.asm | 2 +- maps/AzaleaTown.asm | 6 +- maps/BurnedTower1F.asm | 6 +- maps/CherrygroveCity.asm | 6 +- maps/IndigoPlateauPokeCenter1F.asm | 6 +- maps/MountMoon.asm | 6 +- maps/RadioTower4F.asm | 2 +- maps/RadioTower5F.asm | 6 +- maps/TeamRocketBaseB2F.asm | 2 +- maps/TeamRocketBaseB3F.asm | 2 +- maps/UndergroundPathSwitchRoomEntrances.asm | 6 +- maps/VictoryRoad.asm | 6 +- maps/map_headers.asm | 10 +- misc/fixed_words.asm | 1 + tilesets/collision.asm | 6 - tilesets/tileset_headers.asm | 2 + trainers/trainers.asm | 1090 +++++++++---------- wram.asm | 16 +- 86 files changed, 2222 insertions(+), 1980 deletions(-) diff --git a/battle/ai/items.asm b/battle/ai/items.asm index 325c7b555..5a292763e 100644 --- a/battle/ai/items.asm +++ b/battle/ai/items.asm @@ -27,7 +27,7 @@ AI_SwitchOrTryItem: ; 38000 ld a, [TrainerClass] dec a - ld bc, 7 + ld bc, NUM_TRAINER_ATTRIBUTES call AddNTimes .ok bit SWITCH_OFTEN_F, [hl] @@ -174,8 +174,8 @@ AI_TryItem: ; 38105 ld a, [TrainerClass] dec a - ld hl, TrainerClassAttributes + 5 - ld bc, 7 + ld hl, TrainerClassAttributes + TRNATTR_AI_ITEM_SWITCH + ld bc, NUM_TRAINER_ATTRIBUTES call AddNTimes ld b, h ld c, l diff --git a/constants/animation_constants.asm b/constants/animation_constants.asm index ea052aabb..13663fb8e 100644 --- a/constants/animation_constants.asm +++ b/constants/animation_constants.asm @@ -1,3 +1,4 @@ +; battle_anim_struct members (see macros/wram.asm) const_def const BATTLEANIMSTRUCT_INDEX const BATTLEANIMSTRUCT_01 @@ -25,6 +26,7 @@ const BATTLEANIMSTRUCT_17 BATTLEANIMSTRUCT_LENGTH EQU const_value +; BattleAnimObjects indexes (see battle/objects/data.asm) const_def const ANIM_OBJ_00 const ANIM_OBJ_01 @@ -215,6 +217,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const ANIM_OBJ_BA const ANIM_OBJ_BB +; DoBattleAnimFrame arguments (see battle/objects/functions.asm) const_def const BATTLEANIMFUNC_00 const BATTLEANIMFUNC_01 @@ -297,6 +300,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const BATTLEANIMFUNC_4E const BATTLEANIMFUNC_4F +; BattleAnimFrameData indexes (see battle/objects/framesets.asm) const_def const BATTLEANIMFRAMESET_00 const BATTLEANIMFRAMESET_01 @@ -484,6 +488,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const BATTLEANIMFRAMESET_B7 const BATTLEANIMFRAMESET_B8 +; BattleAnimOAMData indexes (see battle/objects/oam.asm) const_def const BATTLEANIMOAMSET_00 const BATTLEANIMOAMSET_01 @@ -702,6 +707,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const BATTLEANIMOAMSET_D6 const BATTLEANIMOAMSET_D7 +; BattleBGEffects indexes (see battle/bg_effects.asm) const_value SET 1 const ANIM_BG_FLASH_INVERTED const ANIM_BG_FLASH_WHITE @@ -757,17 +763,19 @@ const_value SET 1 const ANIM_BG_WOBBLE_MON const ANIM_BG_35 +; PokeAnims indexes (see gfx/pics/animation.asm) const_def - const ANIM_MON_SLOW ; 0 - const ANIM_MON_NORMAL ; 1 - const ANIM_MON_MENU ; 2 - const ANIM_MON_TRADE ; 3 - const ANIM_MON_EVOLVE ; 4 - const ANIM_MON_HATCH ; 5 - const ANIM_MON_UNUSED ; 6 - const ANIM_MON_EGG1 ; 7 - const ANIM_MON_EGG2 ; 8 + const ANIM_MON_SLOW + const ANIM_MON_NORMAL + const ANIM_MON_MENU + const ANIM_MON_TRADE + const ANIM_MON_EVOLVE + const ANIM_MON_HATCH + const ANIM_MON_UNUSED + const ANIM_MON_EGG1 + const ANIM_MON_EGG2 +; AnimObjGFX indexes (see battle/objects/gfx_headers.asm) const_value SET 1 const ANIM_GFX_HIT const ANIM_GFX_CUT @@ -809,6 +817,7 @@ const_value SET 1 const ANIM_GFX_WAVE const ANIM_GFX_AEROBLAST +; battle_bg_effect struct members (see macros/wram.asm) const_def const BG_EFFECT_STRUCT_FUNCTION const BG_EFFECT_STRUCT_JT_INDEX diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index bc50e3db2..44abe35c4 100755 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -1,5 +1,3 @@ - - ; pitch const_def const __ @@ -40,7 +38,6 @@ SOUND_NOISE EQU 4 SOUND_REST EQU 5 ; Flags2 - SOUND_VIBRATO EQU 0 SOUND_PITCH_WHEEL EQU 1 SOUND_DUTY EQU 2 diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index 523713574..64e3ec4f8 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -1,12 +1,20 @@ +; significant level values MAX_LEVEL EQU 100 MIN_LEVEL EQU 2 EGG_LEVEL EQU 5 + +; maximum moves known per mon NUM_MOVES EQU 4 -REST_TURNS EQU 2 -MAX_STAT_LEVEL EQU 13 +; significant stat values BASE_STAT_LEVEL EQU 7 +MAX_STAT_LEVEL EQU 13 +; turns that Rest sleep lasts +REST_TURNS EQU 2 + +; PlayerStatLevels and EnemyStatLevels indexes +; used for GetStatName const_def const ATTACK const DEFENSE @@ -15,10 +23,10 @@ BASE_STAT_LEVEL EQU 7 const SP_DEFENSE const ACCURACY const EVASION - const ABILITY + const ABILITY ; used for BattleCommand_Curse NUM_LEVEL_STATS EQU const_value -; move struct +; move struct members (see battle/moves/moves.asm) const_def const MOVE_ANIM const MOVE_EFFECT @@ -30,6 +38,9 @@ NUM_LEVEL_STATS EQU const_value const MOVE_LENGTH ; stat constants +; indexes for: +; - PlayerStats and EnemyStats (see wram.asm) +; - party_struct and battle_struct members (see macros/wram.asm) const_value SET 1 const STAT_HP const STAT_ATK @@ -38,6 +49,8 @@ const_value SET 1 const STAT_SATK const STAT_SDEF NUM_STATS EQU const_value + +; stat formula constants STAT_MIN_NORMAL EQU 5 STAT_MIN_HP EQU 10 @@ -45,12 +58,12 @@ STAT_MIN_HP EQU 10 ATKDEFDV_SHINY EQU $EA SPDSPCDV_SHINY EQU $AA -; battle classes +; battle classes (wBattleMode values) const_value SET 1 const WILD_BATTLE const TRAINER_BATTLE -; battle types +; battle types (BattleType values) const_def const BATTLETYPE_NORMAL const BATTLETYPE_CANLOSE @@ -66,7 +79,7 @@ const_value SET 1 const BATTLETYPE_CELEBI const BATTLETYPE_SUICUNE -; battle variables +; GetBattleVar and GetBattleVarAddr arguments (see home/battle.asm) const_def const BATTLE_VARS_SUBSTATUS1 const BATTLE_VARS_SUBSTATUS2 @@ -90,8 +103,37 @@ const_value SET 1 const BATTLE_VARS_LAST_MOVE const BATTLE_VARS_LAST_MOVE_OPP -; status -SLP EQU 7 ; 0-7 turns +; GetBattleVar and GetBattleVarAddr internal indexes (see home/battle.asm) + const_def + const PLAYER_SUBSTATUS_1 + const ENEMY_SUBSTATUS_1 + const PLAYER_SUBSTATUS_2 + const ENEMY_SUBSTATUS_2 + const PLAYER_SUBSTATUS_3 + const ENEMY_SUBSTATUS_3 + const PLAYER_SUBSTATUS_4 + const ENEMY_SUBSTATUS_4 + const PLAYER_SUBSTATUS_5 + const ENEMY_SUBSTATUS_5 + const PLAYER_STATUS + const ENEMY_STATUS + const PLAYER_MOVE_ANIMATION + const ENEMY_MOVE_ANIMATION + const PLAYER_MOVE_EFFECT + const ENEMY_MOVE_EFFECT + const PLAYER_MOVE_POWER + const ENEMY_MOVE_POWER + const PLAYER_MOVE_TYPE + const ENEMY_MOVE_TYPE + const PLAYER_CUR_MOVE + const ENEMY_CUR_MOVE + const PLAYER_COUNTER_MOVE + const ENEMY_COUNTER_MOVE + const PLAYER_LAST_MOVE + const ENEMY_LAST_MOVE + +; status condition bit flags +SLP EQU %111 ; 0-7 turns const_value SET 3 const PSN const BRN @@ -100,7 +142,7 @@ const_value SET 3 ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP -; substatus +; PlayerSubStatus1 or EnemySubStatus1 bit flags enum_start 7, -1 enum SUBSTATUS_IN_LOVE enum SUBSTATUS_ROLLOUT @@ -111,8 +153,10 @@ ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP enum SUBSTATUS_CURSE enum SUBSTATUS_NIGHTMARE -SUBSTATUS_CURLED EQU 0 +; PlayerSubStatus2 or EnemySubStatus2 bit flags +SUBSTATUS_CURLED EQU 0 +; PlayerSubStatus3 or EnemySubStatus3 bit flags enum_start 7, -1 enum SUBSTATUS_CONFUSED enum SUBSTATUS_FLYING @@ -123,6 +167,7 @@ SUBSTATUS_CURLED EQU 0 enum SUBSTATUS_RAMPAGE enum SUBSTATUS_BIDE +; PlayerSubStatus4 or EnemySubStatus4 bit flags enum_start 7, -1 enum SUBSTATUS_LEECH_SEED enum SUBSTATUS_RAGE @@ -133,6 +178,7 @@ SUBSTATUS_CURLED EQU 0 enum SUBSTATUS_MIST enum SUBSTATUS_X_ACCURACY +; PlayerSubStatus5 or EnemySubStatus5 bit flags enum_start 7, -1 enum SUBSTATUS_CANT_RUN enum SUBSTATUS_DESTINY_BOND @@ -143,7 +189,7 @@ SUBSTATUS_CURLED EQU 0 enum SUBSTATUS_UNKNOWN_3 enum SUBSTATUS_TOXIC -; environmental +; PlayerScreens or EnemyScreens bit flags enum_start 4, -1 enum SCREENS_REFLECT enum SCREENS_LIGHT_SCREEN @@ -151,7 +197,7 @@ SUBSTATUS_CURLED EQU 0 enum SCREENS_UNUSED enum SCREENS_SPIKES -; weather +; Weather values const_def const WEATHER_NONE const WEATHER_RAIN @@ -161,8 +207,7 @@ SUBSTATUS_CURLED EQU 0 const WEATHER_SUN_END const WEATHER_SANDSTORM_END - -; move effects +; MoveEffectsPointers indexes (see battle/moves/move_effects_pointers.asm) const_def const EFFECT_NORMAL_HIT const EFFECT_SLEEP @@ -322,35 +367,6 @@ SUBSTATUS_CURLED EQU 0 const EFFECT_FLY const EFFECT_DEFENSE_CURL -; Battle vars used in home/battle.asm - const_def - const PLAYER_SUBSTATUS_1 - const ENEMY_SUBSTATUS_1 - const PLAYER_SUBSTATUS_2 - const ENEMY_SUBSTATUS_2 - const PLAYER_SUBSTATUS_3 - const ENEMY_SUBSTATUS_3 - const PLAYER_SUBSTATUS_4 - const ENEMY_SUBSTATUS_4 - const PLAYER_SUBSTATUS_5 - const ENEMY_SUBSTATUS_5 - const PLAYER_STATUS - const ENEMY_STATUS - const PLAYER_MOVE_ANIMATION - const ENEMY_MOVE_ANIMATION - const PLAYER_MOVE_EFFECT - const ENEMY_MOVE_EFFECT - const PLAYER_MOVE_POWER - const ENEMY_MOVE_POWER - const PLAYER_MOVE_TYPE - const ENEMY_MOVE_TYPE - const PLAYER_CUR_MOVE - const ENEMY_CUR_MOVE - const PLAYER_COUNTER_MOVE - const ENEMY_COUNTER_MOVE - const PLAYER_LAST_MOVE - const ENEMY_LAST_MOVE - ; wBattleAction const_def const BATTLEACTION_MOVE1 @@ -370,6 +386,7 @@ SUBSTATUS_CURLED EQU 0 const BATTLEACTION_E const BATTLEACTION_FORFEIT +; wBattleResult const_def const WIN const LOSE diff --git a/constants/battle_tower_constants.asm b/constants/battle_tower_constants.asm index 481c1f19b..5ab69d752 100755 --- a/constants/battle_tower_constants.asm +++ b/constants/battle_tower_constants.asm @@ -1,3 +1,4 @@ +; BattleTowerAction arguments (see misc/battle_tower_5c.asm) const_def const BATTLETOWERACTION_CHECK_EXPLANATION_READ const BATTLETOWERACTION_SET_EXPLANATION_READ @@ -32,8 +33,19 @@ const BATTLETOWERACTION_CHOOSEREWARD ; save options const BATTLETOWERACTION_SAVEOPTIONS -BATTLETOWER_NO_CHALLENGE EQU 0 -BATTLETOWER_SAVED_AND_LEFT EQU 1 -BATTLETOWER_CHALLENGE_IN_PROGESS EQU 2 -BATTLETOWER_WON_CHALLENGE EQU 3 -BATTLETOWER_RECEIVED_REWARD EQU 4 +; sBattleTowerChallengeState + const_def + const BATTLETOWER_NO_CHALLENGE + const BATTLETOWER_SAVED_AND_LEFT + const BATTLETOWER_CHALLENGE_IN_PROGESS + const BATTLETOWER_WON_CHALLENGE + const BATTLETOWER_RECEIVED_REWARD + +BATTLETOWER_NROFPKMNS EQU 3 +BATTLETOWER_TRAINERDATALENGTH EQU $24 +BATTLETOWER_NROFTRAINERS EQU 7 +BATTLETOWER_NRMONSPERLEVELBRACKET EQU BATTLETOWER_NROFPKMNS * BATTLETOWER_NROFTRAINERS +BATTLE_TOWER_STRUCT_LENGTH EQU $e0 ; NAME_LENGTH + 3 * (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH + +; return value from BattleTowerAction(BATTLETOWERACTION_CHECKMOBILEEVENT) +MOBILE_EVENT_OBJECT_GS_BALL EQU $b diff --git a/constants/cgb_constants.asm b/constants/cgb_constants.asm index 36cf369c2..c5aef7750 100755 --- a/constants/cgb_constants.asm +++ b/constants/cgb_constants.asm @@ -1,3 +1,4 @@ +; GetSGBLayout arguments (see predef/cgb.asm and predef/sgb.asm) const_def const SCGB_BATTLE_GRAYSCALE const SCGB_BATTLE_COLORS diff --git a/constants/cry_constants.asm b/constants/cry_constants.asm index da40877cc..654aac523 100755 --- a/constants/cry_constants.asm +++ b/constants/cry_constants.asm @@ -1,3 +1,4 @@ +; Cries indexes (see audio/cry_pointers.asm) const_def ; gen 1 diff --git a/constants/deco_constants.asm b/constants/deco_constants.asm index 22cf1e670..540920e5c 100644 --- a/constants/deco_constants.asm +++ b/constants/deco_constants.asm @@ -1,3 +1,4 @@ +; decoration types const_value = 1 const DECO_PLANT const DECO_BED @@ -6,6 +7,7 @@ const_value = 1 const DECO_DOLL const DECO_BIGDOLL +; DecorationNames indexes (see engine/decorations.asm) const_value = 1 const PUT_IT_AWAY const MAGNAPLANT @@ -33,6 +35,7 @@ const_value = 1 const YELLOW_CARPET const GREEN_CARPET +; DoDecorationAction2 arguments (see engine/decorations.asm) const_value = 1 const SET_UP_BED const PUT_AWAY_BED @@ -56,66 +59,67 @@ deco: MACRO enum DECOFLAG_\1 endm +; decorations const_value = 1 __enum__ = 0 const BEDS - deco FEATHERY_BED ; 2 (0) - deco PINK_BED ; 3 (1) - deco POLKADOT_BED ; 4 (2) - deco PIKACHU_BED ; 5 (3) + deco FEATHERY_BED + deco PINK_BED + deco POLKADOT_BED + deco PIKACHU_BED const CARPETS - deco RED_CARPET ; 7 (4) - deco BLUE_CARPET ; 8 (5) - deco YELLOW_CARPET ; 9 (6) - deco GREEN_CARPET ; a (7) + deco RED_CARPET + deco BLUE_CARPET + deco YELLOW_CARPET + deco GREEN_CARPET const PLANTS - deco MAGNAPLANT ; c (8) - deco TROPICPLANT ; d (9) - deco JUMBOPLANT ; e (a) + deco MAGNAPLANT + deco TROPICPLANT + deco JUMBOPLANT const POSTERS - deco TOWN_MAP ; 10 (b) - deco PIKACHU_POSTER ; 11 (c) - deco CLEFAIRY_POSTER ; 12 (d) - deco JIGGLYPUFF_POSTER ; 13(e) + deco TOWN_MAP + deco PIKACHU_POSTER + deco CLEFAIRY_POSTER + deco JIGGLYPUFF_POSTER const CONSOLES - deco FAMICOM ; 15 (f) - deco SNES ; 16 (10) - deco N64 ; 17 (11) - deco VIRTUAL_BOY ; 18 (12) + deco FAMICOM + deco SNES + deco N64 + deco VIRTUAL_BOY const BIG_DOLLS - deco BIG_SNORLAX_DOLL ; 1a (13) - deco BIG_ONIX_DOLL ; 1b (14) - deco BIG_LAPRAS_DOLL ; 1c (15) + deco BIG_SNORLAX_DOLL + deco BIG_ONIX_DOLL + deco BIG_LAPRAS_DOLL const DOLLS - deco PIKACHU_DOLL ; 1e (16) - deco SURF_PIKACHU_DOLL ; 1f (17) - deco CLEFAIRY_DOLL ; 20 (18) - deco JIGGLYPUFF_DOLL ; 21 (19) - deco BULBASAUR_DOLL ; 22 (1a) - deco CHARMANDER_DOLL ; 23 (1b) - deco SQUIRTLE_DOLL ; 24 (1c) - deco POLIWAG_DOLL ; 25 (1d) - deco DIGLETT_DOLL ; 26 (1e) - deco STARMIE_DOLL ; 27 (1f) - deco MAGIKARP_DOLL ; 28 (20) - deco ODDISH_DOLL ; 29 (21) - deco GENGAR_DOLL ; 2a (22) - deco SHELLDER_DOLL ; 2b (23) - deco GRIMER_DOLL ; 2c (24) - deco VOLTORB_DOLL ; 2d (25) - deco WEEDLE_DOLL ; 2e (26) - deco UNOWN_DOLL ; 2f (27) - deco GEODUDE_DOLL ; 30 (28) - deco MACHOP_DOLL ; 31 (29) - deco TENTACOOL_DOLL ; 32 (2a) - deco GOLD_TROPHY_DOLL ; 33 (2b) - deco SILVER_TROPHY_DOLL ; 34 (2c) + deco PIKACHU_DOLL + deco SURF_PIKACHU_DOLL + deco CLEFAIRY_DOLL + deco JIGGLYPUFF_DOLL + deco BULBASAUR_DOLL + deco CHARMANDER_DOLL + deco SQUIRTLE_DOLL + deco POLIWAG_DOLL + deco DIGLETT_DOLL + deco STARMIE_DOLL + deco MAGIKARP_DOLL + deco ODDISH_DOLL + deco GENGAR_DOLL + deco SHELLDER_DOLL + deco GRIMER_DOLL + deco VOLTORB_DOLL + deco WEEDLE_DOLL + deco UNOWN_DOLL + deco GEODUDE_DOLL + deco MACHOP_DOLL + deco TENTACOOL_DOLL + deco GOLD_TROPHY_DOLL + deco SILVER_TROPHY_DOLL -NUM_NON_TROPHY_DECOS EQU $2b -NUM_DECOS EQU $2d +NUM_DECOS = __enum__ +NUM_NON_TROPHY_DECOS = NUM_DECOS +- 2 diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm index 31a038196..080939f2c 100644 --- a/constants/engine_flags.asm +++ b/constants/engine_flags.asm @@ -1,22 +1,29 @@ +; EngineFlags indexes (see engine/engine_flasg.asm) const_def - +; wPokegearFlags const ENGINE_RADIO_CARD const ENGINE_MAP_CARD const ENGINE_PHONE_CARD const ENGINE_EXPN_CARD const ENGINE_POKEGEAR +; wDaycareMan const ENGINE_DAYCARE_MAN_HAS_EGG const ENGINE_DAYCARE_MAN_HAS_MON +; wDaycareLady const ENGINE_DAYCARE_LADY_HAS_MON +; wMomSavingMoney const ENGINE_MOM_SAVING_MONEY const ENGINE_DST +; wUnusedTwoDayTimerOn const ENGINE_0A +; StatusFlags const ENGINE_POKEDEX const ENGINE_UNOWN_DEX const ENGINE_POKERUS const ENGINE_ROCKET_SIGNAL_ON_CH20 const ENGINE_CREDITS_SKIP const ENGINE_BUG_CONTEST_ON ; 10 +; StatusFlags2 const ENGINE_BUG_CONTEST_TIMER const ENGINE_SAFARI_ZONE const ENGINE_ROCKETS_IN_RADIO_TOWER @@ -24,9 +31,11 @@ const ENGINE_GIVE_POKERUS const ENGINE_FLORIA const ENGINE_ROCKETS_IN_MAHOGANY +; BikeFlags const ENGINE_STRENGTH_ACTIVE const ENGINE_ALWAYS_ON_BIKE const ENGINE_DOWNHILL +; JohtoBadges const ENGINE_ZEPHYRBADGE const ENGINE_HIVEBADGE const ENGINE_PLAINBADGE @@ -35,6 +44,7 @@ const ENGINE_STORMBADGE ; 20 const ENGINE_GLACIERBADGE const ENGINE_RISINGBADGE +; KantoBadges const ENGINE_BOULDERBADGE const ENGINE_CASCADEBADGE const ENGINE_THUNDERBADGE @@ -43,6 +53,7 @@ const ENGINE_MARSHBADGE const ENGINE_VOLCANOBADGE const ENGINE_EARTHBADGE +; UnlockedUnowns const ENGINE_UNLOCKED_UNOWNS_1 const ENGINE_UNLOCKED_UNOWNS_2 const ENGINE_UNLOCKED_UNOWNS_3 @@ -51,6 +62,7 @@ const ENGINE_UNLOCKED_UNOWNS_6 ; 30 const ENGINE_UNLOCKED_UNOWNS_7 const ENGINE_UNLOCKED_UNOWNS_8 +; VisitedSpawns const ENGINE_FLYPOINT_KRISS_HOUSE const ENGINE_FLYPOINT_VIRIDIAN_POKECENTER const ENGINE_FLYPOINT_PALLET @@ -78,8 +90,11 @@ const ENGINE_FLYPOINT_BLACKTHORN const ENGINE_FLYPOINT_SILVER_CAVE const ENGINE_FLYPOINT_UNUSED +; wLuckyNumberShowFlag const ENGINE_LUCKY_NUMBER_SHOW +; StatusFlags2 const ENGINE_4F +; DailyFlags const ENGINE_KURT_MAKING_BALLS ; 50 const ENGINE_DAILY_BUG_CONTEST const ENGINE_SPECIAL_WILDDATA @@ -88,6 +103,7 @@ const ENGINE_SHUCKLE_GIVEN const ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED const ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY +; WeeklyFlags const ENGINE_MT_MOON_SQUARE_CLEFAIRY const ENGINE_UNION_CAVE_LAPRAS const ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT @@ -96,11 +112,16 @@ const ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT const ENGINE_DAILY_MOVE_TUTOR const ENGINE_BUENAS_PASSWORD +; SwarmFlags const ENGINE_BUENAS_PASSWORD_2 ; 60 const ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON +; GameTimerPause const ENGINE_62 +; PlayerGender const ENGINE_PLAYER_IS_FEMALE +; wCelebiEvent const ENGINE_HAVE_EXAMINED_GS_BALL +; wDailyRematchFlags const ENGINE_JACK const ENGINE_HUEY const ENGINE_GAVEN @@ -125,6 +146,7 @@ const ENGINE_WILTON const ENGINE_PARRY const ENGINE_ERIN +; wDailyPhoneItemFlags const ENGINE_BEVERLY_HAS_NUGGET const ENGINE_JOSE_HAS_STAR_PIECE const ENGINE_WADE_HAS_ITEM @@ -135,6 +157,7 @@ const ENGINE_TULLY_HAS_WATER_STONE const ENGINE_TIFFANY_HAS_PINK_BOW const ENGINE_WILTON_HAS_ITEM +; wDailyPhoneTimeOfDayFlags const ENGINE_JACK_MONDAY_MORNING const ENGINE_HUEY_WEDNESDAY_NIGHT const ENGINE_GAVEN_THURSDAY_MORNING @@ -159,7 +182,9 @@ const ENGINE_WILTON_THRUSDAY_MORNING const ENGINE_PARRY_FRIDAY_AFTERNOON const ENGINE_ERIN_SATURDAY_NIGHT +; wPlayerSpriteSetupFlags const ENGINE_KRIS_IN_CABLE_CLUB +; SwarmFlags const ENGINE_DUNSPARCE_SWARM ; a0 const ENGINE_YANMA_SWARM NUM_ENGINE_FLAGS EQU const_value diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 636d0226c..8ec4f46d5 100644 --- a/constants/event_flags.asm +++ b/constants/event_flags.asm @@ -1,7 +1,6 @@ - +; EventFlags bit flags const_def - -; These first eight flags are reset upon reloading the map. +; The first eight flags are reset upon reloading the map const EVENT_GAVE_KURT_APRICORNS ; 000 const EVENT_RECEIVED_BALLS_FROM_KURT const EVENT_DRAGON_SHRINE_QUESTION_2 @@ -10,7 +9,7 @@ const EVENT_DRAGON_SHRINE_QUESTION_5 const EVENT_JUST_RECEIVED_DRATINI const EVENT_IN_YOUR_ROOM -; Johto story events +; Johto Gym Leader TM gifts const EVENT_GOT_TM31_MUD_SLAP const EVENT_GOT_TM49_FURY_CUTTER const EVENT_GOT_TM01_DYNAMICPUNCH @@ -19,6 +18,7 @@ const EVENT_GOT_TM23_IRON_TAIL const EVENT_GOT_TM16_ICY_WIND const EVENT_GOT_TM24_DRAGONBREATH +; HMs (EVENT_GOT_HM07_WATERFALL is with the Johto itemballs) const EVENT_GOT_HM01_CUT const EVENT_GOT_HM02_FLY const EVENT_GOT_HM03_SURF @@ -26,9 +26,11 @@ const EVENT_GOT_HM05_FLASH const EVENT_GOT_HM06_WHIRLPOOL const EVENT_016 +; Rods const EVENT_GOT_OLD_ROD const EVENT_GOT_GOOD_ROD const EVENT_GOT_SUPER_ROD +; Johto story events const EVENT_GOT_A_POKEMON_FROM_ELM const EVENT_GOT_CYNDAQUIL_FROM_ELM const EVENT_GOT_TOTODILE_FROM_ELM @@ -128,7 +130,7 @@ const EVENT_GOT_TM12_SWEET_SCENT const EVENT_RELEASED_THE_BEASTS const EVENT_GOT_MASTER_BALL_FROM_ELM -; Johto Signpost Items +; Johto signpost items const EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION const EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE const EVENT_TIN_TOWER_5F_HIDDEN_CARBOS @@ -234,7 +236,7 @@ const EVENT_TALKED_TO_OAK_IN_KANTO const EVENT_GOT_HP_UP_FROM_VERMILION_GUY const EVENT_GOT_TM29_PSYCHIC -; Kanto Signpost Items +; Kanto signpost items const EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE const EVENT_UNDERGROUND_HIDDEN_FULL_RESTORE const EVENT_UNDERGROUND_HIDDEN_X_SPECIAL @@ -608,7 +610,7 @@ const EVENT_255 const EVENT_256 const EVENT_257 -; Kurt events +; Kurt Apricorn events const EVENT_GAVE_KURT_RED_APRICORN const EVENT_GAVE_KURT_BLU_APRICORN const EVENT_GAVE_KURT_YLW_APRICORN @@ -682,7 +684,7 @@ const EVENT_ERIN_ASKED_FOR_PHONE_NUMBER const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD const EVENT_29F -; Ruins Of Alph puzzles +; Ruins of Alph puzzles const EVENT_SOLVED_HO_OH_PUZZLE ; 2a0 const EVENT_SOLVED_KABUTO_PUZZLE const EVENT_SOLVED_OMANYTE_PUZZLE @@ -734,7 +736,7 @@ const EVENT_DECO_BIG_SNORLAX_DOLL const EVENT_DECO_BIG_ONIX_DOLL ; 2d0 const EVENT_DECO_BIG_LAPRAS_DOLL -; More Johto events +; More Johto story events const EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE const EVENT_SWITCH_1 const EVENT_SWITCH_2 @@ -818,7 +820,7 @@ const EVENT_GOT_WATER_STONE_FROM_BILLS_GRANDPA const EVENT_GOT_FIRE_STONE_FROM_BILLS_GRANDPA const EVENT_GOT_THUNDERSTONE_FROM_BILLS_GRANDPA -; More Crystal-specific events +; More Crystal-exclusive events in Johto const EVENT_LISTENED_TO_INITIAL_RADIO const EVENT_WALL_OPENED_IN_HO_OH_CHAMBER const EVENT_WALL_OPENED_IN_KABUTO_CHAMBER @@ -1015,7 +1017,7 @@ const EVENT_3E5 const EVENT_3E6 const EVENT_3E7 -; Trainer Flags +; Trainer flags ; Swimmer F const EVENT_BEAT_SWIMMERF_ELAINE const EVENT_BEAT_SWIMMERF_PAULA @@ -1530,7 +1532,7 @@ const EVENT_BEAT_ELITE_4_BRUNO const EVENT_BEAT_ELITE_4_KAREN const EVENT_BEAT_CHAMPION_LANCE -; New to Crystal +; Crystal-exclusive trainer flags const EVENT_BEAT_COOLTRAINERM_DARIN const EVENT_BEAT_COOLTRAINERF_CARA const EVENT_BEAT_TWINS_LEA_AND_PIA @@ -1663,10 +1665,11 @@ const EVENT_63D const EVENT_63E const EVENT_63F -; Sprite visibility: When these events are cleared, the sprite becomes visible; when set, the sprite is hidden. +; Sprite visibility flags +; When these events are cleared, the sprite becomes visible; when set, the sprite is hidden. ; The map script command macros `disappear` and `appear` set/clear these flags and immediately apply the effect on visibility. ; The map script command macros `setevent` and `clearevent` set/clear these flags, and their effects will be seen when the map is reloaded. -; Johto items: 0x640 +; Johto itemballs const EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB const EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB const EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB @@ -1986,6 +1989,7 @@ const EVENT_MT_MOON_RIVAL const EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL const EVENT_TELEPORT_GUY +; Kanto itemballs const EVENT_PICKED_UP_FOCUS_BAND const EVENT_ROCK_TUNNEL_1F_ELIXER const EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 9478cd123..6b8cc33c9 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -1,4 +1,3 @@ LEN_2BPP_TILE EQU 16 LEN_1BPP_TILE EQU 8 TILES_PER_FRAME EQU 6 -TILESIZE EQU $10 diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 76eaba5ca..c3bdd11ef 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -1,3 +1,9 @@ +; item ids +; indexes for: +; - ItemAttributes (see items/item_attributes.asm) +; - ItemDescriptions (see items/item_descriptions.asm) +; - ItemEffects (see items/item_effects.asm) +; - ItemNames (see items/item_names.asm) const_def const NO_ITEM ; $00 const MASTER_BALL ; $01 @@ -243,7 +249,7 @@ add_tm FIRE_PUNCH ; $F0 add_tm FURY_CUTTER ; $F1 add_tm NIGHTMARE ; $F2 -NUM_TMS = const_value - TM01 - 2 +NUM_TMS = const_value - TM01 - 2 ; discount ITEM_C3 and ITEM_DC add_hm CUT ; $F3 add_hm FLY ; $F4 @@ -253,27 +259,36 @@ NUM_TMS = const_value - TM01 - 2 add_hm WHIRLPOOL ; $F8 add_hm WATERFALL ; $F9 NUM_HMS = const_value - HM01 - const HM_08 ; $FA + const ITEM_FA ; $FA add_mt FLAMETHROWER add_mt THUNDERBOLT add_mt ICE_BEAM -ITEM_FROM_MEM EQU $ff - +ITEM_FROM_MEM EQU $FF ; leftovers from red -SAFARI_BALL EQU 8 ; MOON_STONE -MOON_STONE_RED EQU 10 ; BURN_HEAL -FULL_HEAL_RED EQU 52 ; X_SPEED -MAIL_MAX_LENGTH EQU $20 +SAFARI_BALL EQU $08 ; MOON_STONE +MOON_STONE_RED EQU $0A ; BURN_HEAL +FULL_HEAL_RED EQU $34 ; X_SPEED -; pockets +; mail +MAIL_MSG_LENGTH EQU $20 +MAILBOX_CAPACITY EQU 10 +MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct + +; pack pockets ITEM EQU 1 KEY_ITEM EQU 2 BALL EQU 3 TM_HM EQU 4 +; pack pocket sizes +MAX_ITEMS EQU 20 +MAX_KEY_ITEMS EQU 25 +MAX_BALLS EQU 12 +MAX_PC_ITEMS EQU 50 + ; item actions CANT_SELECT EQU 1 << 6 CANT_TOSS EQU 1 << 7 @@ -356,6 +371,7 @@ const_value SET 70 const HELD_78 const HELD_FOCUS_BAND +; item_attribute struct members (see items/item_attributes.asm) const_def const ITEMATTR_PRICE const ITEMATTR_PRICE_HI @@ -366,11 +382,13 @@ const_value SET 70 const ITEMATTR_HELP NUM_ITEMATTRS EQU const_value -ITEMMENU_NOUSE EQU 0 -ITEMMENU_CURRENT EQU 4 -ITEMMENU_PARTY EQU 5 -ITEMMENU_CLOSE EQU 6 +; item menu types +ITEMMENU_NOUSE EQU 0 +ITEMMENU_CURRENT EQU 4 +ITEMMENU_PARTY EQU 5 +ITEMMENU_CLOSE EQU 6 +; mart types (see engine/mart.asm) const_def const MARTTYPE_STANDARD const MARTTYPE_BITTER @@ -378,6 +396,7 @@ ITEMMENU_CLOSE EQU 6 const MARTTYPE_PHARMACY const MARTTYPE_ROOFTOP +; Marts indexes (see items/marts.asm) const_def const MART_CHERRYGROVE const MART_CHERRYGROVE_DEX @@ -414,7 +433,8 @@ ITEMMENU_CLOSE EQU 6 const MART_INDIGO_PLATEAU const MART_UNDERGROUND -; PartyMenuActionText +; PartyMenuActionText values +; GetPartyMenuTilemapPointers arguments (see engine/party_menu.asm) const_def const PARTYMENUACTION_CHOOSE_POKEMON const PARTYMENUACTION_HEALING_ITEM @@ -426,7 +446,7 @@ ITEMMENU_CLOSE EQU 6 const PARTYMENUACTION_GIVE_MON_FEMALE ; unused const PARTYMENUACTION_GIVE_ITEM const PARTYMENUACTION_MOBILE ; mobile - +; PrintPartyMenuActionText arguments (see engine/party_menu.asm) const_value set $f0 const PARTYMENUTEXT_HEAL_PSN const PARTYMENUTEXT_HEAL_BRN diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm index 5aa14f972..f9c840595 100644 --- a/constants/landmark_constants.asm +++ b/constants/landmark_constants.asm @@ -1,6 +1,7 @@ - +; Landmarks indexes (see engine/landmarks.asm) const_def +; Johto landmarks const SPECIAL_MAP ; 00 const NEW_BARK_TOWN ; 01 const ROUTE_29 ; 02 @@ -50,7 +51,6 @@ const SILVER_CAVE ; 2e KANTO_LANDMARK EQU const_value - const PALLET_TOWN ; 2f const ROUTE_1 ; 30 const VIRIDIAN_CITY ; 31 diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 1ed12662f..b1b78551c 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -5,7 +5,13 @@ GROUP_NONE EQU 0 MAP_NONE EQU 0 ; map group ids +; `newgroup` indexes are for: +; - MapGroupPointers (see maps/map_headers.asm) +; - OutdoorSprites (see engine/overworld.asm) +; - MapGroupRoofs (see tilesets/roofs.asm) +; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm) const_def + newgroup ; 1 mapgroup OLIVINE_POKECENTER_1F, 4, 5 ; 1 @@ -473,40 +479,7 @@ MAP_NONE EQU 0 mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11 -; elevator floors - - const_def - const _B4F - const _B3F - const _B2F - const _B1F - const _1F - const _2F - const _3F - const _4F - const _5F - const _6F - const _7F - const _8F - const _9F - const _10F - const _11F - const _ROOF - -; connection directions - const_def - const EAST_F - const WEST_F - const SOUTH_F - const NORTH_F - - const_def - shift_const EAST - shift_const WEST - shift_const SOUTH - shift_const NORTH - -; permissions +; map permissions (wPermission) const_value SET 1 const TOWN const ROUTE @@ -516,7 +489,48 @@ const_value SET 1 const GATE const DUNGEON -; object struct +; map palettes (wPermission) + const_def + const PALETTE_AUTO + const PALETTE_DAY + const PALETTE_NITE + const PALETTE_MORN + const PALETTE_DARK + +; fish groups + const_def + const FISHGROUP_NONE + const FISHGROUP_SHORE + const FISHGROUP_OCEAN + const FISHGROUP_LAKE + const FISHGROUP_POND + const FISHGROUP_DRATINI + const FISHGROUP_QWILFISH_SWARM + const FISHGROUP_REMORAID_SWARM + const FISHGROUP_GYARADOS + const FISHGROUP_DRATINI_2 + const FISHGROUP_WHIRL_ISLANDS + const FISHGROUP_QWILFISH + const FISHGROUP_REMORAID + const FISHGROUP_QWILFISH_NO_SWARM + + +; connection directions + const_def + const EAST_F + const WEST_F + const SOUTH_F + const NORTH_F + +; MapConnections + const_def + shift_const EAST + shift_const WEST + shift_const SOUTH + shift_const NORTH + + +; object_struct members (see macros/wram.asm) const_def const OBJECT_SPRITE ; 00 const OBJECT_MAP_OBJECT_INDEX ; 01 @@ -553,7 +567,7 @@ const_value SET 1 const OBJECT_RANGE ; 20 ; 33-39 are not used -; map object struct +; map_object struct members (see macros/wram.asm) const_def const MAPOBJECT_OBJECT_STRUCT_ID ; 0 const MAPOBJECT_SPRITE ; 1 @@ -576,46 +590,25 @@ OBJECT_LENGTH EQU const_value MAPOBJECT_SCREEN_HEIGHT EQU 11 MAPOBJECT_SCREEN_WIDTH EQU 12 +; object_struct OBJECT_FACING values OW_DOWN EQU DOWN << 2 OW_UP EQU UP << 2 OW_LEFT EQU LEFT << 2 OW_RIGHT EQU RIGHT << 2 - const_def - const EMOTE_SHOCK ; 0 - const EMOTE_QUESTION ; 1 - const EMOTE_HAPPY ; 2 - const EMOTE_SAD ; 3 - const EMOTE_HEART ; 4 - const EMOTE_BOLT ; 5 - const EMOTE_SLEEP ; 6 - const EMOTE_FISH ; 7 - const EMOTE_SHADOW ; 8 - const EMOTE_ROD ; 9 - const EMOTE_BOULDER_DUST ; 10 - const EMOTE_0B ; 11 -EMOTE_MEM EQU -1 - - const_def - const SIGNPOST_READ - const SIGNPOST_UP - const SIGNPOST_DOWN - const SIGNPOST_RIGHT - const SIGNPOST_LEFT - const SIGNPOST_IFSET - const SIGNPOST_IFNOTSET - const SIGNPOST_ITEM - const SIGNPOST_COPY - -; I'm relocating spawn constants here, so that they can be used anywhere in the disassembly. +; object_struct OBJECT_FLAGS1 bit flags +INVISIBLE EQU 0 +FIXED_FACING EQU 2 +SLIDING EQU 3 +EMOTE_OBJECT EQU 7 +; SpawnPoints indexes (see engine/spawn_points.asm) const_value = -1 const SPAWN_N_A - const SPAWN_HOME const SPAWN_DEBUG - +; kanto const SPAWN_PALLET const SPAWN_VIRIDIAN const SPAWN_PEWTER @@ -628,7 +621,7 @@ const_value = -1 const SPAWN_FUCHSIA const SPAWN_CINNABAR const SPAWN_INDIGO - +; johto const SPAWN_NEW_BARK const SPAWN_CHERRYGROVE const SPAWN_VIOLET @@ -645,18 +638,21 @@ const_value = -1 const SPAWN_FAST_SHIP NUM_SPAWNS EQU const_value + +; TryReadSign arguments (see engine/events.asm) const_def - const PALETTE_AUTO - const PALETTE_DAY - const PALETTE_NITE - const PALETTE_MORN - const PALETTE_DARK - -INVISIBLE EQU 0 -FIXED_FACING EQU 2 -SLIDING EQU 3 -EMOTE_OBJECT EQU 7 + const SIGNPOST_READ + const SIGNPOST_UP + const SIGNPOST_DOWN + const SIGNPOST_RIGHT + const SIGNPOST_LEFT + const SIGNPOST_IFSET + const SIGNPOST_IFNOTSET + const SIGNPOST_ITEM + const SIGNPOST_COPY +; person_event types +; TryObjectEvent arguments (see engine/events.asm) const_def const PERSONTYPE_SCRIPT const PERSONTYPE_ITEMBALL @@ -666,7 +662,24 @@ EMOTE_OBJECT EQU 7 const PERSONTYPE_5 const PERSONTYPE_6 -; fruit trees + +; EmotesPointers indexes (see engine/overworld.asm) + const_def + const EMOTE_SHOCK ; 0 + const EMOTE_QUESTION ; 1 + const EMOTE_HAPPY ; 2 + const EMOTE_SAD ; 3 + const EMOTE_HEART ; 4 + const EMOTE_BOLT ; 5 + const EMOTE_SLEEP ; 6 + const EMOTE_FISH ; 7 + const EMOTE_SHADOW ; 8 + const EMOTE_ROD ; 9 + const EMOTE_BOULDER_DUST ; 10 + const EMOTE_GRASS_RUSTLE ; 11 +EMOTE_MEM EQU -1 + +; FruitTreeItems indexes (see engine/fruit_trees.asm) const_value SET 1 const FRUITTREE_ROUTE_29 ; 01 const FRUITTREE_ROUTE_30_1 ; 02 @@ -700,6 +713,27 @@ const_value SET 1 const FRUITTREE_FUCHSIA_CITY ; 1e NUM_FRUIT_TREES EQU const_value +- 1 +; elevator floors +; used by `elevfloor` + const_def + const _B4F + const _B3F + const _B2F + const _B1F + const _1F + const _2F + const _3F + const _4F + const _5F + const _6F + const _7F + const _8F + const _9F + const _10F + const _11F + const _ROOF + +; command queue members CMDQUEUE_TYPE EQU 0 CMDQUEUE_ADDR EQU 1 CMDQUEUE_03 EQU 3 @@ -708,4 +742,9 @@ CMDQUEUE_05 EQU 5 CMDQUEUE_ENTRY_SIZE EQU 6 CMDQUEUE_CAPACITY EQU 4 +; command queue types CMDQUEUE_STONETABLE EQU 2 + +; see engine/overworld.asm +MAX_OUTDOOR_SPRITES EQU 23 +SPRITE_GFX_LIST_CAPACITY EQU $20 diff --git a/constants/map_setup_constants.asm b/constants/map_setup_constants.asm index 1a3f60e7b..0dcc2b941 100644 --- a/constants/map_setup_constants.asm +++ b/constants/map_setup_constants.asm @@ -1,3 +1,5 @@ +; hMapEntryMethod values +; MapSetupScripts indexes (see engine/map_setup.asm) const_value SET $f1 const MAPSETUP_WARP const MAPSETUP_CONTINUE @@ -12,6 +14,7 @@ const_value SET $f1 const MAPSETUP_BADWARP const MAPSETUP_FLY +; callback types const_value SET 1 const MAPCALLBACK_TILES const MAPCALLBACK_OBJECTS @@ -19,9 +22,10 @@ const_value SET 1 const MAPCALLBACK_SPRITES const MAPCALLBACK_NEWMAP -; Command descriptions from Condensation water's scripting compendium. +; MapSetupCommands indexes (see engine/map_setup.asm) +; Names taken from Condensation water's scripting compendium +; https://hax.iimarck.us/files/scriptingcodes_eng.htm const_def - const map_lcd_on ; 00 const map_lcd_off ; 01 const map_sound_off ; 02 diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 77b65a38a..2e77b795c 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -1,21 +1,32 @@ -PARTY_LENGTH EQU 6 +; Boolean checks +FALSE EQU 0 +TRUE EQU 1 -MAX_ITEMS EQU 20 -MAX_BALLS EQU 12 -MAX_KEY_ITEMS EQU 25 -MAX_PC_ITEMS EQU 50 +; genders +MALE EQU 0 +FEMALE EQU 1 -; strings +; FlagAction arguments (see home/flag.asm) +RESET_FLAG EQU 0 +SET_FLAG EQU 1 +CHECK_FLAG EQU 2 + +; GetHPPal return values (see home.asm) +HP_GREEN EQU 0 +HP_YELLOW EQU 1 +HP_RED EQU 2 + + +; name lengths +NAME_LENGTH EQU 11 PLAYER_NAME_LENGTH EQU 8 -BOX_NAME_LENGTH EQU 9 -PKMN_NAME_LENGTH EQU 11 -MOVE_NAME_LENGTH EQU 13 -ITEM_NAME_LENGTH EQU 13 +BOX_NAME_LENGTH EQU 9 +PKMN_NAME_LENGTH EQU 11 +MOVE_NAME_LENGTH EQU 13 +ITEM_NAME_LENGTH EQU 13 TRAINER_CLASS_NAME_LENGTH EQU 13 -NAME_LENGTH EQU 11 -LV_CHAR EQU $6e -; GetName types +; GetName types (see home.asm) PKMN_NAME EQU 1 MOVE_NAME EQU 2 ; dummied out EQU 3 @@ -25,35 +36,17 @@ ENEMY_OT_NAME EQU 6 TRAINER_NAME EQU 7 ; broken ptr EQU 8 -; hp -HP_GREEN EQU 0 -HP_YELLOW EQU 1 -HP_RED EQU 2 ; boxes MONS_PER_BOX EQU 20 NUM_BOXES EQU 14 -; mail -MAIL_STRUCT_LENGTH EQU $2f -MAILBOX_CAPACITY EQU 10 -MAIL_MSG_LENGTH EQU $20 - ; hall of fame HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (PKMN_NAME_LENGTH +- 1) ; species, id, dvs, level, nick HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator NUM_HOF_TEAMS = 30 -; flag manipulation -RESET_FLAG EQU 0 -SET_FLAG EQU 1 -CHECK_FLAG EQU 2 - -; Boolean checks -FALSE EQU 0 -TRUE EQU 1 - ; joypad const_def @@ -82,7 +75,9 @@ D_PAD EQU D_RIGHT | D_LEFT | D_UP | D_DOWN R_DPAD EQU %00100000 R_BUTTONS EQU %00010000 + ; screen + HP_BAR_LENGTH EQU 6 HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * 8 EXP_BAR_LENGTH EQU 8 @@ -101,51 +96,7 @@ WMISC_HEIGHT EQU 5 * 4 TILE_WIDTH EQU 8 -; movement -STEP_SLOW EQU 0 -STEP_WALK EQU 1 -STEP_BIKE EQU 2 -STEP_LEDGE EQU 3 -STEP_ICE EQU 4 -STEP_TURN EQU 5 -STEP_BACK_LEDGE EQU 6 -STEP_WALK_IN_PLACE EQU 7 - - -; ai -CONTEXT_USE_F EQU 6 -UNKNOWN_USE_F EQU 5 -ALWAYS_USE_F EQU 4 -SWITCH_SOMETIMES_F EQU 2 -SWITCH_RARELY_F EQU 1 -SWITCH_OFTEN_F EQU 0 - -CONTEXT_USE EQU 1 << CONTEXT_USE_F -UNKNOWN_USE EQU 1 << UNKNOWN_USE_F -ALWAYS_USE EQU 1 << ALWAYS_USE_F -SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F -SWITCH_RARELY EQU 1 << SWITCH_RARELY_F -SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F -SPRITE_GFX_LIST_CAPACITY EQU $20 - -const_value = 1 - const MOM_ITEM - const MOM_DOLL - -BATTLETOWER_NROFPKMNS EQU 3 -BATTLETOWER_TRAINERDATALENGTH EQU $24 -BATTLETOWER_NROFTRAINERS EQU 7 -BATTLETOWER_NRMONSPERLEVELBRACKET EQU BATTLETOWER_NROFPKMNS * BATTLETOWER_NROFTRAINERS -BATTLE_TOWER_STRUCT_LENGTH EQU $e0 ; NAME_LENGTH + 3 * (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH - -NUM_WILDMONS_PER_AREA_TIME_OF_DAY EQU 7 -WILDMON_GRASS_STRUCTURE_LENGTH EQU 2 + 3 * (1 + 2 * NUM_WILDMONS_PER_AREA_TIME_OF_DAY) - -MOBILE_EVENT_OBJECT_GS_BALL EQU $b -MOBILE_LOGIN_PASSWORD_LENGTH EQU 17 - -MALE EQU 0 -FEMALE EQU 1 +; printing text PRINTNUM_MONEY_F EQU 5 PRINTNUM_RIGHTALIGN_F EQU 6 @@ -155,6 +106,20 @@ PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F + +; movement + const_def + const STEP_SLOW ; 0 + const STEP_WALK ; 1 + const STEP_BIKE ; 2 + const STEP_LEDGE ; 3 + const STEP_ICE ; 4 + const STEP_TURN ; 5 + const STEP_BACK_LEDGE ; 6 + const STEP_WALK_IN_PLACE ; 7 + + +; ChangeHappiness arguments (see event/happiness_egg.asm) const_value = 1 const HAPPINESS_GAINLEVEL ; 01 const HAPPINESS_USEDITEM ; 02 @@ -178,44 +143,22 @@ const_value = 1 const_def - const LINK_NULL - const LINK_TIMECAPSULE - const LINK_TRADECENTER - const LINK_COLOSSEUM - const LINK_MOBILE + const LINK_NULL ; 0 + const LINK_TIMECAPSULE ; 1 + const LINK_TRADECENTER ; 2 + const LINK_COLOSSEUM ; 3 + const LINK_MOBILE ; 4 SERIAL_TIMECAPSULE EQU $60 SERIAL_TRADECENTER EQU $70 SERIAL_BATTLE EQU $80 + HMENURETURN_SCRIPT EQU %10000000 HMENURETURN_ASM EQU %11111111 -NUM_MON_SUBMENU_ITEMS EQU 8 - - const_def - const ZEPHYRBADGE - const HIVEBADGE - const PLAINBADGE - const FOGBADGE - const MINERALBADGE - const STORMBADGE - const GLACIERBADGE - const RISINGBADGE -NUM_JOHTO_BADGES EQU const_value - const_def - const BOULDERBADGE - const CASCADEBADGE - const THUNDERBADGE - const RAINBOWBADGE - const SOULBADGE - const MARSHBADGE - const VOLCANOBADGE - const EARTHBADGE -NUM_KANTO_BADGES EQU const_value -NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES -NUM_KANA EQU $2d +; MobileEZChatCategoryPointers indexes (see misc/fixed_words.asm) const_def const EZCHAT_POKEMON const EZCHAT_TYPES @@ -233,30 +176,6 @@ NUM_KANA EQU $2d const EZCHAT_FAREWELLS const EZCHAT_THISANDTHAT -SWARM_DUNSPARCE EQU 0 -SWARM_YANMA EQU 1 +NUM_KANA EQU 45 ; length of SortedPokemon table (see misc/fixed_words.asm) -FISHSWARM_QWILFISH EQU 1 -FISHSWARM_REMORAID EQU 2 - - const_def - const FISHGROUP_NONE - const FISHGROUP_SHORE - const FISHGROUP_OCEAN - const FISHGROUP_LAKE - const FISHGROUP_POND - const FISHGROUP_DRATINI - const FISHGROUP_QWILFISH_SWARM - const FISHGROUP_REMORAID_SWARM - const FISHGROUP_GYARADOS - const FISHGROUP_DRATINI_2 - const FISHGROUP_WHIRL_ISLANDS - const FISHGROUP_QWILFISH - const FISHGROUP_REMORAID - const FISHGROUP_QWILFISH_NO_SWARM - -INIT_ENEMYOT_LIST EQU 1 -INIT_BAG_ITEM_LIST EQU 2 -INIT_OTHER_ITEM_LIST EQU 3 -INIT_PLAYEROT_LIST EQU 4 -INIT_MON_LIST EQU 5 +MOBILE_LOGIN_PASSWORD_LENGTH EQU 17 diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 8492c2415..a4b1a0ba8 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -1,291 +1,293 @@ - +; move ids +; indexes for: +; - MoveDescriptions (see battle/moves/move_descriptions.asm) +; - Moves (see battle/moves/moves.asm) +; - MoveNames (see battle/move_names.asm) +; - BattleAnimations (see battle/anims.asm) const_def - const NO_MOVE ; $00 - const POUND ; $01 - const KARATE_CHOP ; $02 - const DOUBLESLAP ; $03 - const COMET_PUNCH ; $04 - const MEGA_PUNCH ; $05 - const PAY_DAY ; $06 - const FIRE_PUNCH ; $07 - const ICE_PUNCH ; $08 - const THUNDERPUNCH ; $09 - const SCRATCH ; $0a - const VICEGRIP ; $0b - const GUILLOTINE ; $0c - const RAZOR_WIND ; $0d - const SWORDS_DANCE ; $0e - const CUT ; $0f - const GUST ; $10 - const WING_ATTACK ; $11 - const WHIRLWIND ; $12 - const FLY ; $13 - const BIND ; $14 - const SLAM ; $15 - const VINE_WHIP ; $16 - const STOMP ; $17 - const DOUBLE_KICK ; $18 - const MEGA_KICK ; $19 - const JUMP_KICK ; $1a - const ROLLING_KICK ; $1b - const SAND_ATTACK ; $1c - const HEADBUTT ; $1d - const HORN_ATTACK ; $1e - const FURY_ATTACK ; $1f - const HORN_DRILL ; $20 - const TACKLE ; $21 - const BODY_SLAM ; $22 - const WRAP ; $23 - const TAKE_DOWN ; $24 - const THRASH ; $25 - const DOUBLE_EDGE ; $26 - const TAIL_WHIP ; $27 - const POISON_STING ; $28 - const TWINEEDLE ; $29 - const PIN_MISSILE ; $2a - const LEER ; $2b - const BITE ; $2c - const GROWL ; $2d - const ROAR ; $2e - const SING ; $2f - const SUPERSONIC ; $30 - const SONICBOOM ; $31 - const DISABLE ; $32 - const ACID ; $33 - const EMBER ; $34 - const FLAMETHROWER ; $35 - const MIST ; $36 - const WATER_GUN ; $37 - const HYDRO_PUMP ; $38 - const SURF ; $39 - const ICE_BEAM ; $3a - const BLIZZARD ; $3b - const PSYBEAM ; $3c - const BUBBLEBEAM ; $3d - const AURORA_BEAM ; $3e - const HYPER_BEAM ; $3f - const PECK ; $40 - const DRILL_PECK ; $41 - const SUBMISSION ; $42 - const LOW_KICK ; $43 - const COUNTER ; $44 - const SEISMIC_TOSS ; $45 - const STRENGTH ; $46 - const ABSORB ; $47 - const MEGA_DRAIN ; $48 - const LEECH_SEED ; $49 - const GROWTH ; $4a - const RAZOR_LEAF ; $4b - const SOLARBEAM ; $4c - const POISONPOWDER ; $4d - const STUN_SPORE ; $4e - const SLEEP_POWDER ; $4f - const PETAL_DANCE ; $50 - const STRING_SHOT ; $51 - const DRAGON_RAGE ; $52 - const FIRE_SPIN ; $53 - const THUNDERSHOCK ; $54 - const THUNDERBOLT ; $55 - const THUNDER_WAVE ; $56 - const THUNDER ; $57 - const ROCK_THROW ; $58 - const EARTHQUAKE ; $59 - const FISSURE ; $5a - const DIG ; $5b - const TOXIC ; $5c - const CONFUSION ; $5d - const PSYCHIC_M ; $5e - const HYPNOSIS ; $5f - const MEDITATE ; $60 - const AGILITY ; $61 - const QUICK_ATTACK ; $62 - const RAGE ; $63 - const TELEPORT ; $64 - const NIGHT_SHADE ; $65 - const MIMIC ; $66 - const SCREECH ; $67 - const DOUBLE_TEAM ; $68 - const RECOVER ; $69 - const HARDEN ; $6a - const MINIMIZE ; $6b - const SMOKESCREEN ; $6c - const CONFUSE_RAY ; $6d - const WITHDRAW ; $6e - const DEFENSE_CURL ; $6f - const BARRIER ; $70 - const LIGHT_SCREEN ; $71 - const HAZE ; $72 - const REFLECT ; $73 - const FOCUS_ENERGY ; $74 - const BIDE ; $75 - const METRONOME ; $76 - const MIRROR_MOVE ; $77 - const SELFDESTRUCT ; $78 - const EGG_BOMB ; $79 - const LICK ; $7a - const SMOG ; $7b - const SLUDGE ; $7c - const BONE_CLUB ; $7d - const FIRE_BLAST ; $7e - const WATERFALL ; $7f - const CLAMP ; $80 - const SWIFT ; $81 - const SKULL_BASH ; $82 - const SPIKE_CANNON ; $83 - const CONSTRICT ; $84 - const AMNESIA ; $85 - const KINESIS ; $86 - const SOFTBOILED ; $87 - const HI_JUMP_KICK ; $88 - const GLARE ; $89 - const DREAM_EATER ; $8a - const POISON_GAS ; $8b - const BARRAGE ; $8c - const LEECH_LIFE ; $8d - const LOVELY_KISS ; $8e - const SKY_ATTACK ; $8f - const TRANSFORM ; $90 - const BUBBLE ; $91 - const DIZZY_PUNCH ; $92 - const SPORE ; $93 - const FLASH ; $94 - const PSYWAVE ; $95 - const SPLASH ; $96 - const ACID_ARMOR ; $97 - const CRABHAMMER ; $98 - const EXPLOSION ; $99 - const FURY_SWIPES ; $9a - const BONEMERANG ; $9b - const REST ; $9c - const ROCK_SLIDE ; $9d - const HYPER_FANG ; $9e - const SHARPEN ; $9f - const CONVERSION ; $a0 - const TRI_ATTACK ; $a1 - const SUPER_FANG ; $a2 - const SLASH ; $a3 - const SUBSTITUTE ; $a4 - const STRUGGLE ; $a5 - const SKETCH ; $a6 - const TRIPLE_KICK ; $a7 - const THIEF ; $a8 - const SPIDER_WEB ; $a9 - const MIND_READER ; $aa - const NIGHTMARE ; $ab - const FLAME_WHEEL ; $ac - const SNORE ; $ad - const CURSE ; $ae - const FLAIL ; $af - const CONVERSION2 ; $b0 - const AEROBLAST ; $b1 - const COTTON_SPORE ; $b2 - const REVERSAL ; $b3 - const SPITE ; $b4 - const POWDER_SNOW ; $b5 - const PROTECT ; $b6 - const MACH_PUNCH ; $b7 - const SCARY_FACE ; $b8 - const FAINT_ATTACK ; $b9 - const SWEET_KISS ; $ba - const BELLY_DRUM ; $bb - const SLUDGE_BOMB ; $bc - const MUD_SLAP ; $bd - const OCTAZOOKA ; $be - const SPIKES ; $bf - const ZAP_CANNON ; $c0 - const FORESIGHT ; $c1 - const DESTINY_BOND ; $c2 - const PERISH_SONG ; $c3 - const ICY_WIND ; $c4 - const DETECT ; $c5 - const BONE_RUSH ; $c6 - const LOCK_ON ; $c7 - const OUTRAGE ; $c8 - const SANDSTORM ; $c9 - const GIGA_DRAIN ; $ca - const ENDURE ; $cb - const CHARM ; $cc - const ROLLOUT ; $cd - const FALSE_SWIPE ; $ce - const SWAGGER ; $cf - const MILK_DRINK ; $d0 - const SPARK ; $d1 - const FURY_CUTTER ; $d2 - const STEEL_WING ; $d3 - const MEAN_LOOK ; $d4 - const ATTRACT ; $d5 - const SLEEP_TALK ; $d6 - const HEAL_BELL ; $d7 - const RETURN ; $d8 - const PRESENT ; $d9 - const FRUSTRATION ; $da - const SAFEGUARD ; $db - const PAIN_SPLIT ; $dc - const SACRED_FIRE ; $dd - const MAGNITUDE ; $de - const DYNAMICPUNCH ; $df - const MEGAHORN ; $e0 - const DRAGONBREATH ; $e1 - const BATON_PASS ; $e2 - const ENCORE ; $e3 - const PURSUIT ; $e4 - const RAPID_SPIN ; $e5 - const SWEET_SCENT ; $e6 - const IRON_TAIL ; $e7 - const METAL_CLAW ; $e8 - const VITAL_THROW ; $e9 - const MORNING_SUN ; $ea - const SYNTHESIS ; $eb - const MOONLIGHT ; $ec - const HIDDEN_POWER ; $ed - const CROSS_CHOP ; $ee - const TWISTER ; $ef - const RAIN_DANCE ; $f0 - const SUNNY_DAY ; $f1 - const CRUNCH ; $f2 - const MIRROR_COAT ; $f3 - const PSYCH_UP ; $f4 - const EXTREMESPEED ; $f5 - const ANCIENTPOWER ; $f6 - const SHADOW_BALL ; $f7 - const FUTURE_SIGHT ; $f8 - const ROCK_SMASH ; $f9 - const WHIRLPOOL ; $fa - const BEAT_UP ; $fb + const NO_MOVE ; 00 + const POUND ; 01 + const KARATE_CHOP ; 02 + const DOUBLESLAP ; 03 + const COMET_PUNCH ; 04 + const MEGA_PUNCH ; 05 + const PAY_DAY ; 06 + const FIRE_PUNCH ; 07 + const ICE_PUNCH ; 08 + const THUNDERPUNCH ; 09 + const SCRATCH ; 0a + const VICEGRIP ; 0b + const GUILLOTINE ; 0c + const RAZOR_WIND ; 0d + const SWORDS_DANCE ; 0e + const CUT ; 0f + const GUST ; 10 + const WING_ATTACK ; 11 + const WHIRLWIND ; 12 + const FLY ; 13 + const BIND ; 14 + const SLAM ; 15 + const VINE_WHIP ; 16 + const STOMP ; 17 + const DOUBLE_KICK ; 18 + const MEGA_KICK ; 19 + const JUMP_KICK ; 1a + const ROLLING_KICK ; 1b + const SAND_ATTACK ; 1c + const HEADBUTT ; 1d + const HORN_ATTACK ; 1e + const FURY_ATTACK ; 1f + const HORN_DRILL ; 20 + const TACKLE ; 21 + const BODY_SLAM ; 22 + const WRAP ; 23 + const TAKE_DOWN ; 24 + const THRASH ; 25 + const DOUBLE_EDGE ; 26 + const TAIL_WHIP ; 27 + const POISON_STING ; 28 + const TWINEEDLE ; 29 + const PIN_MISSILE ; 2a + const LEER ; 2b + const BITE ; 2c + const GROWL ; 2d + const ROAR ; 2e + const SING ; 2f + const SUPERSONIC ; 30 + const SONICBOOM ; 31 + const DISABLE ; 32 + const ACID ; 33 + const EMBER ; 34 + const FLAMETHROWER ; 35 + const MIST ; 36 + const WATER_GUN ; 37 + const HYDRO_PUMP ; 38 + const SURF ; 39 + const ICE_BEAM ; 3a + const BLIZZARD ; 3b + const PSYBEAM ; 3c + const BUBBLEBEAM ; 3d + const AURORA_BEAM ; 3e + const HYPER_BEAM ; 3f + const PECK ; 40 + const DRILL_PECK ; 41 + const SUBMISSION ; 42 + const LOW_KICK ; 43 + const COUNTER ; 44 + const SEISMIC_TOSS ; 45 + const STRENGTH ; 46 + const ABSORB ; 47 + const MEGA_DRAIN ; 48 + const LEECH_SEED ; 49 + const GROWTH ; 4a + const RAZOR_LEAF ; 4b + const SOLARBEAM ; 4c + const POISONPOWDER ; 4d + const STUN_SPORE ; 4e + const SLEEP_POWDER ; 4f + const PETAL_DANCE ; 50 + const STRING_SHOT ; 51 + const DRAGON_RAGE ; 52 + const FIRE_SPIN ; 53 + const THUNDERSHOCK ; 54 + const THUNDERBOLT ; 55 + const THUNDER_WAVE ; 56 + const THUNDER ; 57 + const ROCK_THROW ; 58 + const EARTHQUAKE ; 59 + const FISSURE ; 5a + const DIG ; 5b + const TOXIC ; 5c + const CONFUSION ; 5d + const PSYCHIC_M ; 5e + const HYPNOSIS ; 5f + const MEDITATE ; 60 + const AGILITY ; 61 + const QUICK_ATTACK ; 62 + const RAGE ; 63 + const TELEPORT ; 64 + const NIGHT_SHADE ; 65 + const MIMIC ; 66 + const SCREECH ; 67 + const DOUBLE_TEAM ; 68 + const RECOVER ; 69 + const HARDEN ; 6a + const MINIMIZE ; 6b + const SMOKESCREEN ; 6c + const CONFUSE_RAY ; 6d + const WITHDRAW ; 6e + const DEFENSE_CURL ; 6f + const BARRIER ; 70 + const LIGHT_SCREEN ; 71 + const HAZE ; 72 + const REFLECT ; 73 + const FOCUS_ENERGY ; 74 + const BIDE ; 75 + const METRONOME ; 76 + const MIRROR_MOVE ; 77 + const SELFDESTRUCT ; 78 + const EGG_BOMB ; 79 + const LICK ; 7a + const SMOG ; 7b + const SLUDGE ; 7c + const BONE_CLUB ; 7d + const FIRE_BLAST ; 7e + const WATERFALL ; 7f + const CLAMP ; 80 + const SWIFT ; 81 + const SKULL_BASH ; 82 + const SPIKE_CANNON ; 83 + const CONSTRICT ; 84 + const AMNESIA ; 85 + const KINESIS ; 86 + const SOFTBOILED ; 87 + const HI_JUMP_KICK ; 88 + const GLARE ; 89 + const DREAM_EATER ; 8a + const POISON_GAS ; 8b + const BARRAGE ; 8c + const LEECH_LIFE ; 8d + const LOVELY_KISS ; 8e + const SKY_ATTACK ; 8f + const TRANSFORM ; 90 + const BUBBLE ; 91 + const DIZZY_PUNCH ; 92 + const SPORE ; 93 + const FLASH ; 94 + const PSYWAVE ; 95 + const SPLASH ; 96 + const ACID_ARMOR ; 97 + const CRABHAMMER ; 98 + const EXPLOSION ; 99 + const FURY_SWIPES ; 9a + const BONEMERANG ; 9b + const REST ; 9c + const ROCK_SLIDE ; 9d + const HYPER_FANG ; 9e + const SHARPEN ; 9f + const CONVERSION ; a0 + const TRI_ATTACK ; a1 + const SUPER_FANG ; a2 + const SLASH ; a3 + const SUBSTITUTE ; a4 + const STRUGGLE ; a5 + const SKETCH ; a6 + const TRIPLE_KICK ; a7 + const THIEF ; a8 + const SPIDER_WEB ; a9 + const MIND_READER ; aa + const NIGHTMARE ; ab + const FLAME_WHEEL ; ac + const SNORE ; ad + const CURSE ; ae + const FLAIL ; af + const CONVERSION2 ; b0 + const AEROBLAST ; b1 + const COTTON_SPORE ; b2 + const REVERSAL ; b3 + const SPITE ; b4 + const POWDER_SNOW ; b5 + const PROTECT ; b6 + const MACH_PUNCH ; b7 + const SCARY_FACE ; b8 + const FAINT_ATTACK ; b9 + const SWEET_KISS ; ba + const BELLY_DRUM ; bb + const SLUDGE_BOMB ; bc + const MUD_SLAP ; bd + const OCTAZOOKA ; be + const SPIKES ; bf + const ZAP_CANNON ; c0 + const FORESIGHT ; c1 + const DESTINY_BOND ; c2 + const PERISH_SONG ; c3 + const ICY_WIND ; c4 + const DETECT ; c5 + const BONE_RUSH ; c6 + const LOCK_ON ; c7 + const OUTRAGE ; c8 + const SANDSTORM ; c9 + const GIGA_DRAIN ; ca + const ENDURE ; cb + const CHARM ; cc + const ROLLOUT ; cd + const FALSE_SWIPE ; ce + const SWAGGER ; cf + const MILK_DRINK ; d0 + const SPARK ; d1 + const FURY_CUTTER ; d2 + const STEEL_WING ; d3 + const MEAN_LOOK ; d4 + const ATTRACT ; d5 + const SLEEP_TALK ; d6 + const HEAL_BELL ; d7 + const RETURN ; d8 + const PRESENT ; d9 + const FRUSTRATION ; da + const SAFEGUARD ; db + const PAIN_SPLIT ; dc + const SACRED_FIRE ; dd + const MAGNITUDE ; de + const DYNAMICPUNCH ; df + const MEGAHORN ; e0 + const DRAGONBREATH ; e1 + const BATON_PASS ; e2 + const ENCORE ; e3 + const PURSUIT ; e4 + const RAPID_SPIN ; e5 + const SWEET_SCENT ; e6 + const IRON_TAIL ; e7 + const METAL_CLAW ; e8 + const VITAL_THROW ; e9 + const MORNING_SUN ; ea + const SYNTHESIS ; eb + const MOONLIGHT ; ec + const HIDDEN_POWER ; ed + const CROSS_CHOP ; ee + const TWISTER ; ef + const RAIN_DANCE ; f0 + const SUNNY_DAY ; f1 + const CRUNCH ; f2 + const MIRROR_COAT ; f3 + const PSYCH_UP ; f4 + const EXTREMESPEED ; f5 + const ANCIENTPOWER ; f6 + const SHADOW_BALL ; f7 + const FUTURE_SIGHT ; f8 + const ROCK_SMASH ; f9 + const WHIRLPOOL ; fa + const BEAT_UP ; fb +NUM_ATTACKS EQU const_value + -1 -const_value SET const_value + -1 + const MOVE_OR_ANIM_FC ; fc + const MOVE_OR_ANIM_FD ; fd + const MOVE_OR_ANIM_FE ; fe - const NUM_ATTACKS ; $fb - -; Battle animations use the same constants -; as the moves up to this point. - const ANIM_FC ; $fc - const ANIM_FD ; $fd - const ANIM_FE ; $fe - const ANIM_SWEET_SCENT_2 ; $ff - const ANIM_THROW_POKE_BALL ; $100 - const ANIM_SEND_OUT_MON ; $101 - const ANIM_RETURN_MON ; $102 - const ANIM_CONFUSED ; $103 - const ANIM_SLP ; $104 - const ANIM_BRN ; $105 - const ANIM_PSN ; $106 - const ANIM_SAP ; $107 - const ANIM_FRZ ; $108 - const ANIM_PAR ; $109 - const ANIM_IN_LOVE ; $10a - const ANIM_IN_SANDSTORM ; $10b - const ANIM_IN_NIGHTMARE ; $10c - const ANIM_IN_WHIRLPOOL ; $10d +; Battle animations use the same constants as the moves up to this point + const ANIM_SWEET_SCENT_2 ; ff + const ANIM_THROW_POKE_BALL ; 100 + const ANIM_SEND_OUT_MON ; 101 + const ANIM_RETURN_MON ; 102 + const ANIM_CONFUSED ; 103 + const ANIM_SLP ; 104 + const ANIM_BRN ; 105 + const ANIM_PSN ; 106 + const ANIM_SAP ; 107 + const ANIM_FRZ ; 108 + const ANIM_PAR ; 109 + const ANIM_IN_LOVE ; 10a + const ANIM_IN_SANDSTORM ; 10b + const ANIM_IN_NIGHTMARE ; 10c + const ANIM_IN_WHIRLPOOL ; 10d ; battle anims - const ANIM_MISS ; $10e - const ANIM_ENEMY_DAMAGE ; $10f - const ANIM_ENEMY_STAT_DOWN ; $110 - const ANIM_PLAYER_STAT_DOWN ; $111 - const ANIM_PLAYER_DAMAGE ; $112 - const ANIM_WOBBLE ; $113 - const ANIM_SHAKE ; $114 - const ANIM_HIT_CONFUSION ; $115 + const ANIM_MISS ; 10e + const ANIM_ENEMY_DAMAGE ; 10f + const ANIM_ENEMY_STAT_DOWN ; 110 + const ANIM_PLAYER_STAT_DOWN ; 111 + const ANIM_PLAYER_DAMAGE ; 112 + const ANIM_WOBBLE ; 113 + const ANIM_SHAKE ; 114 + const ANIM_HIT_CONFUSION ; 115 ; wNumHits uses offsets from ANIM_MISS const_def @@ -296,4 +298,4 @@ const_value SET const_value + -1 const BATTLEANIM_PLAYER_DAMAGE const BATTLEANIM_WOBBLE const BATTLEANIM_SHAKE - const BATTLEANIM_HIT_CONFUSION \ No newline at end of file + const BATTLEANIM_HIT_CONFUSION diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 5c54c3dc0..9536ae837 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -1,3 +1,5 @@ +; song ids +; Music indexes (see audio/music_pointers.asm) const_def const MUSIC_NONE ; 00 @@ -93,6 +95,8 @@ const MUSIC_LAKE_OF_RAGE_ROCKET_RADIO ; 5a const MUSIC_PRINTER ; 5b const MUSIC_POST_CREDITS ; 5c + +; new to Crystal const MUSIC_CLAIR ; 5d const MUSIC_MOBILE_ADAPTER_MENU ; 5e const MUSIC_MOBILE_ADAPTER ; 5f @@ -104,4 +108,7 @@ const MUSIC_BATTLE_TOWER_LOBBY ; 65 const MUSIC_MOBILE_CENTER ; 66 -MUSIC_MAHOGANY_MART EQU $64 ; leftover from gold +; GetMapHeaderMusic picks music for this value (see home/map.asm) +MUSIC_MAHOGANY_MART EQU $64 +; GetMapHeaderMusic picks music for this bit flag +RADIO_TOWER_MUSIC EQU 7 diff --git a/constants/phone_constants.asm b/constants/phone_constants.asm index 1eb2b2d23..fe602a413 100644 --- a/constants/phone_constants.asm +++ b/constants/phone_constants.asm @@ -1,4 +1,4 @@ - +; PhoneContacts indexes (see engine/phone.asm) const_def const PHONE_00 const PHONE_MOM @@ -39,6 +39,7 @@ const PHONE_PICNICKER_ERIN const PHONE_BUENA +; SpecialPhoneCallList indexes (see engine/phone.asm) const_def const SPECIALCALL_NONE const SPECIALCALL_POKERUS @@ -50,6 +51,7 @@ const SPECIALCALL_WORRIED const SPECIALCALL_MASTERBALL +; phone struct members const_def const PHONE_CONTACT_TRAINER_CLASS const PHONE_CONTACT_TRAINER_NUMBER @@ -64,4 +66,6 @@ const PHONE_CONTACT_SCRIPT2_ADDR_LO const PHONE_CONTACT_SCRIPT2_ADDR_HI PHONE_TABLE_WIDTH EQU const_value + +; maximum number of pokegear contacts CONTACT_LIST_SIZE EQU 10 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 5041f7064..eb8938d21 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -1,265 +1,280 @@ - -; pokemon +; pokemon ids +; indexes for: +; - CryHeaders (see audio/cry_headers.asm) +; - BaseData (see data/base_stats.asm) +; - EggMovePointers (see data/egg_move_pointers.asm) +; - EvosAttacksPointers (see data/evos_attacks_pointers.asm) +; - PokemonNames (see data/pokemon_names.asm) +; - PokedexDataPointerTable (see data/pokedex/entry_pointers.asm) +; - AnimationPointers (see gfx/pics/anim_pointers.asm) +; - BitmasksPointers (see gfx/pics/bitmask_pointers.asm) +; - AnimationExtraPointers (see gfx/pics/extra_pointers.asm) +; - FramesPointers (see gfx/pics/frame_pointers.asm) +; - PokemonPalettes (see gfx/pics/palette_pointers.asm) +; - PicPointers (see gfx/pics/pic_pointers.asm) +; - AlphabeticalPokedexOrder (see data/pokedex/order_alpha.asm) +; - NewPokedexOrder (see data/pokedex/order_new.asm) +; - MonMenuIcons (see menu/mon_icons.asm) +; - Pokered_MonIndices (see engine/time_capsule/conversion.asm) +; - SortedPokemon (see misc/fixed_words.asm) const_value set 1 - const BULBASAUR - const IVYSAUR - const VENUSAUR - const CHARMANDER - const CHARMELEON - const CHARIZARD - const SQUIRTLE - const WARTORTLE - const BLASTOISE - const CATERPIE - const METAPOD - const BUTTERFREE - const WEEDLE - const KAKUNA - const BEEDRILL - const PIDGEY - const PIDGEOTTO - const PIDGEOT - const RATTATA - const RATICATE - const SPEAROW - const FEAROW - const EKANS - const ARBOK - const PIKACHU - const RAICHU - const SANDSHREW - const SANDSLASH - const NIDORAN_F - const NIDORINA - const NIDOQUEEN - const NIDORAN_M - const NIDORINO - const NIDOKING - const CLEFAIRY - const CLEFABLE - const VULPIX - const NINETALES - const JIGGLYPUFF - const WIGGLYTUFF - const ZUBAT - const GOLBAT - const ODDISH - const GLOOM - const VILEPLUME - const PARAS - const PARASECT - const VENONAT - const VENOMOTH - const DIGLETT - const DUGTRIO - const MEOWTH - const PERSIAN - const PSYDUCK - const GOLDUCK - const MANKEY - const PRIMEAPE - const GROWLITHE - const ARCANINE - const POLIWAG - const POLIWHIRL - const POLIWRATH - const ABRA - const KADABRA - const ALAKAZAM - const MACHOP - const MACHOKE - const MACHAMP - const BELLSPROUT - const WEEPINBELL - const VICTREEBEL - const TENTACOOL - const TENTACRUEL - const GEODUDE - const GRAVELER - const GOLEM - const PONYTA - const RAPIDASH - const SLOWPOKE - const SLOWBRO - const MAGNEMITE - const MAGNETON - const FARFETCH_D - const DODUO - const DODRIO - const SEEL - const DEWGONG - const GRIMER - const MUK - const SHELLDER - const CLOYSTER - const GASTLY - const HAUNTER - const GENGAR - const ONIX - const DROWZEE - const HYPNO - const KRABBY - const KINGLER - const VOLTORB - const ELECTRODE - const EXEGGCUTE - const EXEGGUTOR - const CUBONE - const MAROWAK - const HITMONLEE - const HITMONCHAN - const LICKITUNG - const KOFFING - const WEEZING - const RHYHORN - const RHYDON - const CHANSEY - const TANGELA - const KANGASKHAN - const HORSEA - const SEADRA - const GOLDEEN - const SEAKING - const STARYU - const STARMIE - const MR__MIME - const SCYTHER - const JYNX - const ELECTABUZZ - const MAGMAR - const PINSIR - const TAUROS - const MAGIKARP - const GYARADOS - const LAPRAS - const DITTO - const EEVEE - const VAPOREON - const JOLTEON - const FLAREON - const PORYGON - const OMANYTE - const OMASTAR - const KABUTO - const KABUTOPS - const AERODACTYL - const SNORLAX - const ARTICUNO - const ZAPDOS - const MOLTRES - const DRATINI - const DRAGONAIR - const DRAGONITE - const MEWTWO - const MEW - const CHIKORITA - const BAYLEEF - const MEGANIUM - const CYNDAQUIL - const QUILAVA - const TYPHLOSION - const TOTODILE - const CROCONAW - const FERALIGATR - const SENTRET - const FURRET - const HOOTHOOT - const NOCTOWL - const LEDYBA - const LEDIAN - const SPINARAK - const ARIADOS - const CROBAT - const CHINCHOU - const LANTURN - const PICHU - const CLEFFA - const IGGLYBUFF - const TOGEPI - const TOGETIC - const NATU - const XATU - const MAREEP - const FLAAFFY - const AMPHAROS - const BELLOSSOM - const MARILL - const AZUMARILL - const SUDOWOODO - const POLITOED - const HOPPIP - const SKIPLOOM - const JUMPLUFF - const AIPOM - const SUNKERN - const SUNFLORA - const YANMA - const WOOPER - const QUAGSIRE - const ESPEON - const UMBREON - const MURKROW - const SLOWKING - const MISDREAVUS - const UNOWN - const WOBBUFFET - const GIRAFARIG - const PINECO - const FORRETRESS - const DUNSPARCE - const GLIGAR - const STEELIX - const SNUBBULL - const GRANBULL - const QWILFISH - const SCIZOR - const SHUCKLE - const HERACROSS - const SNEASEL - const TEDDIURSA - const URSARING - const SLUGMA - const MAGCARGO - const SWINUB - const PILOSWINE - const CORSOLA - const REMORAID - const OCTILLERY - const DELIBIRD - const MANTINE - const SKARMORY - const HOUNDOUR - const HOUNDOOM - const KINGDRA - const PHANPY - const DONPHAN - const PORYGON2 - const STANTLER - const SMEARGLE - const TYROGUE - const HITMONTOP - const SMOOCHUM - const ELEKID - const MAGBY - const MILTANK - const BLISSEY - const RAIKOU - const ENTEI - const SUICUNE - const LARVITAR - const PUPITAR - const TYRANITAR - const LUGIA - const HO_OH - const CELEBI + const BULBASAUR ; 01 + const IVYSAUR ; 02 + const VENUSAUR ; 03 + const CHARMANDER ; 04 + const CHARMELEON ; 05 + const CHARIZARD ; 06 + const SQUIRTLE ; 07 + const WARTORTLE ; 08 + const BLASTOISE ; 09 + const CATERPIE ; 0a + const METAPOD ; 0b + const BUTTERFREE ; 0c + const WEEDLE ; 0d + const KAKUNA ; 0e + const BEEDRILL ; 0f + const PIDGEY ; 10 + const PIDGEOTTO ; 11 + const PIDGEOT ; 12 + const RATTATA ; 13 + const RATICATE ; 14 + const SPEAROW ; 15 + const FEAROW ; 16 + const EKANS ; 17 + const ARBOK ; 18 + const PIKACHU ; 19 + const RAICHU ; 1a + const SANDSHREW ; 1b + const SANDSLASH ; 1c + const NIDORAN_F ; 1d + const NIDORINA ; 1e + const NIDOQUEEN ; 1f + const NIDORAN_M ; 20 + const NIDORINO ; 21 + const NIDOKING ; 22 + const CLEFAIRY ; 23 + const CLEFABLE ; 24 + const VULPIX ; 25 + const NINETALES ; 26 + const JIGGLYPUFF ; 27 + const WIGGLYTUFF ; 28 + const ZUBAT ; 29 + const GOLBAT ; 2a + const ODDISH ; 2b + const GLOOM ; 2c + const VILEPLUME ; 2d + const PARAS ; 2e + const PARASECT ; 2f + const VENONAT ; 30 + const VENOMOTH ; 31 + const DIGLETT ; 32 + const DUGTRIO ; 33 + const MEOWTH ; 34 + const PERSIAN ; 35 + const PSYDUCK ; 36 + const GOLDUCK ; 37 + const MANKEY ; 38 + const PRIMEAPE ; 39 + const GROWLITHE ; 3a + const ARCANINE ; 3b + const POLIWAG ; 3c + const POLIWHIRL ; 3d + const POLIWRATH ; 3e + const ABRA ; 3f + const KADABRA ; 40 + const ALAKAZAM ; 41 + const MACHOP ; 42 + const MACHOKE ; 43 + const MACHAMP ; 44 + const BELLSPROUT ; 45 + const WEEPINBELL ; 46 + const VICTREEBEL ; 47 + const TENTACOOL ; 48 + const TENTACRUEL ; 49 + const GEODUDE ; 4a + const GRAVELER ; 4b + const GOLEM ; 4c + const PONYTA ; 4d + const RAPIDASH ; 4e + const SLOWPOKE ; 4f + const SLOWBRO ; 50 + const MAGNEMITE ; 51 + const MAGNETON ; 52 + const FARFETCH_D ; 53 + const DODUO ; 54 + const DODRIO ; 55 + const SEEL ; 56 + const DEWGONG ; 57 + const GRIMER ; 58 + const MUK ; 59 + const SHELLDER ; 5a + const CLOYSTER ; 5b + const GASTLY ; 5c + const HAUNTER ; 5d + const GENGAR ; 5e + const ONIX ; 5f + const DROWZEE ; 60 + const HYPNO ; 61 + const KRABBY ; 62 + const KINGLER ; 63 + const VOLTORB ; 64 + const ELECTRODE ; 65 + const EXEGGCUTE ; 66 + const EXEGGUTOR ; 67 + const CUBONE ; 68 + const MAROWAK ; 69 + const HITMONLEE ; 6a + const HITMONCHAN ; 6b + const LICKITUNG ; 6c + const KOFFING ; 6d + const WEEZING ; 6e + const RHYHORN ; 6f + const RHYDON ; 70 + const CHANSEY ; 71 + const TANGELA ; 72 + const KANGASKHAN ; 73 + const HORSEA ; 74 + const SEADRA ; 75 + const GOLDEEN ; 76 + const SEAKING ; 77 + const STARYU ; 78 + const STARMIE ; 79 + const MR__MIME ; 7a + const SCYTHER ; 7b + const JYNX ; 7c + const ELECTABUZZ ; 7d + const MAGMAR ; 7e + const PINSIR ; 7f + const TAUROS ; 80 + const MAGIKARP ; 81 + const GYARADOS ; 82 + const LAPRAS ; 83 + const DITTO ; 84 + const EEVEE ; 85 + const VAPOREON ; 86 + const JOLTEON ; 87 + const FLAREON ; 88 + const PORYGON ; 89 + const OMANYTE ; 8a + const OMASTAR ; 8b + const KABUTO ; 8c + const KABUTOPS ; 8d + const AERODACTYL ; 8e + const SNORLAX ; 8f + const ARTICUNO ; 90 + const ZAPDOS ; 91 + const MOLTRES ; 92 + const DRATINI ; 93 + const DRAGONAIR ; 94 + const DRAGONITE ; 95 + const MEWTWO ; 96 + const MEW ; 97 + const CHIKORITA ; 98 + const BAYLEEF ; 99 + const MEGANIUM ; 9a + const CYNDAQUIL ; 9b + const QUILAVA ; 9c + const TYPHLOSION ; 9d + const TOTODILE ; 9e + const CROCONAW ; 9f + const FERALIGATR ; a0 + const SENTRET ; a1 + const FURRET ; a2 + const HOOTHOOT ; a3 + const NOCTOWL ; a4 + const LEDYBA ; a5 + const LEDIAN ; a6 + const SPINARAK ; a7 + const ARIADOS ; a8 + const CROBAT ; a9 + const CHINCHOU ; aa + const LANTURN ; ab + const PICHU ; ac + const CLEFFA ; ad + const IGGLYBUFF ; ae + const TOGEPI ; af + const TOGETIC ; b0 + const NATU ; b1 + const XATU ; b2 + const MAREEP ; b3 + const FLAAFFY ; b4 + const AMPHAROS ; b5 + const BELLOSSOM ; b6 + const MARILL ; b7 + const AZUMARILL ; b8 + const SUDOWOODO ; b9 + const POLITOED ; ba + const HOPPIP ; bb + const SKIPLOOM ; bc + const JUMPLUFF ; bd + const AIPOM ; be + const SUNKERN ; bf + const SUNFLORA ; c0 + const YANMA ; c1 + const WOOPER ; c2 + const QUAGSIRE ; c3 + const ESPEON ; c4 + const UMBREON ; c5 + const MURKROW ; c6 + const SLOWKING ; c7 + const MISDREAVUS ; c8 + const UNOWN ; c9 + const WOBBUFFET ; ca + const GIRAFARIG ; cb + const PINECO ; cc + const FORRETRESS ; cd + const DUNSPARCE ; ce + const GLIGAR ; cf + const STEELIX ; d0 + const SNUBBULL ; d1 + const GRANBULL ; d2 + const QWILFISH ; d3 + const SCIZOR ; d4 + const SHUCKLE ; d5 + const HERACROSS ; d6 + const SNEASEL ; d7 + const TEDDIURSA ; d8 + const URSARING ; d9 + const SLUGMA ; da + const MAGCARGO ; db + const SWINUB ; dc + const PILOSWINE ; dd + const CORSOLA ; de + const REMORAID ; df + const OCTILLERY ; e0 + const DELIBIRD ; e1 + const MANTINE ; e2 + const SKARMORY ; e3 + const HOUNDOUR ; e4 + const HOUNDOOM ; e5 + const KINGDRA ; e6 + const PHANPY ; e7 + const DONPHAN ; e8 + const PORYGON2 ; e9 + const STANTLER ; ea + const SMEARGLE ; eb + const TYROGUE ; ec + const HITMONTOP ; ed + const SMOOCHUM ; ee + const ELEKID ; ef + const MAGBY ; f0 + const MILTANK ; f1 + const BLISSEY ; f2 + const RAIKOU ; f3 + const ENTEI ; f4 + const SUICUNE ; f5 + const LARVITAR ; f6 + const PUPITAR ; f7 + const TYRANITAR ; f8 + const LUGIA ; f9 + const HO_OH ; fa + const CELEBI ; fb +NUM_POKEMON EQU const_value +- 1 + const MON_FC ; fc + const EGG ; fd + const MON_FE ; fe -const_value SET const_value + -1 - -NUM_POKEMON EQU const_value - -EGG EQU 253 - -; pokemon structure in RAM +; party_struct members (see macros/wram.asm) MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)" MON_ITEM EQUS "(PartyMon1Item - PartyMon1)" MON_MOVES EQUS "(PartyMon1Moves - PartyMon1)" @@ -293,7 +308,9 @@ BOXMON_STRUCT_LENGTH EQUS "(PartyMon1End - PartyMon1)" PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)" REDMON_STRUCT_LENGTH EQU 44 +; MonMenuOptions indexes (see engine/mon_menu.asm) const_value SET 1 +; moves const MONMENU_CUT ; 1 const MONMENU_FLY ; 2 const MONMENU_SURF ; 3 @@ -308,7 +325,7 @@ const_value SET 1 const MONMENU_ROCKSMASH ; 12 const MONMENU_MILKDRINK ; 13 const MONMENU_SWEETSCENT ; 14 - +; options const MONMENU_STATS ; 15 const MONMENU_SWITCH ; 16 const MONMENU_ITEM ; 17 @@ -317,5 +334,11 @@ const_value SET 1 const MONMENU_MAIL ; 20 const MONMENU_ERROR ; 21 +; MonMenuOptions types MONMENU_FIELD_MOVE EQU 0 MONMENU_MENUOPTION EQU 1 + +NUM_MONMENU_ITEMS EQU 8 + +; maximum number of party pokemon +PARTY_LENGTH EQU 6 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 9a34e2ae5..c7cf9dccb 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -1,4 +1,5 @@ -; growth rate +; BaseGrowthRate values +; GrowthRates indexes (see main.asm) const_def const MEDIUM_FAST const SLIGHTLY_FAST @@ -7,7 +8,7 @@ const FAST const SLOW -; egg group constants +; BaseEggGroups values const_value SET 1 const MONSTER ; 1 const AMPHIBIAN ; 2 @@ -26,7 +27,7 @@ const_value SET 1 const NO_EGGS ; f -; menu sprites +; IconPointers indexes (see menu/mon_icons.asm) const_value SET 1 const ICON_POLIWAG const ICON_JIGGLYPUFF @@ -68,7 +69,7 @@ const_value SET 1 const ICON_BIGMON -; evolution types +; evolution types (used in data/evos_attacks.asm) const_value SET 1 const EVOLVE_LEVEL const EVOLVE_ITEM @@ -76,26 +77,36 @@ const_value SET 1 const EVOLVE_HAPPINESS const EVOLVE_STAT - -BASE_HAPPINESS EQU 70 -FRIEND_BALL_HAPPINESS EQU 200 - -; happiness evolution triggers -HAPPINESS_TO_EVOLVE EQU 220 +; EVOLVE_HAPPINESS triggers const_value SET 1 const TR_ANYTIME const TR_MORNDAY const TR_NITE - -; stat evolution triggers +; EVOLVE_STAT triggers const_value SET 1 const ATK_GT_DEF const ATK_LT_DEF const ATK_EQ_DEF -NUM_GRASSMON EQU 7 -NUM_WATERMON EQU 3 + +; significant happiness values +BASE_HAPPINESS EQU 70 +FRIEND_BALL_HAPPINESS EQU 200 +HAPPINESS_TO_EVOLVE EQU 220 + + +NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size +NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2 WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2 + + +; swarms + +SWARM_DUNSPARCE EQU 0 +SWARM_YANMA EQU 1 + +FISHSWARM_QWILFISH EQU 1 +FISHSWARM_REMORAID EQU 2 diff --git a/constants/printer_constants.asm b/constants/printer_constants.asm index 5cd8fcd77..3cbaa049a 100755 --- a/constants/printer_constants.asm +++ b/constants/printer_constants.asm @@ -1,5 +1,5 @@ +; wPrinterStatus const_value SET 1 - const PRINTER_STATUS_CHECKING const PRINTER_STATUS_TRANSMITTING const PRINTER_STATUS_PRINTING diff --git a/constants/radio_constants.asm b/constants/radio_constants.asm index 14bc75a41..86817081e 100644 --- a/constants/radio_constants.asm +++ b/constants/radio_constants.asm @@ -1,3 +1,4 @@ +; PlayRadioShow arguments, RadioJumptable indexes (see engine/radio.asm) const_def const OAKS_POKEMON_TALK ; $00 const POKEDEX_SHOW ; $01 @@ -88,6 +89,7 @@ const POKEDEX_SHOW_7 ; $56 const POKEDEX_SHOW_8 ; $57 +; PlayRadio arguments (see engine/pokegear.asm) const_def const MAPRADIO_POKEMON_CHANNEL const MAPRADIO_OAKS_MON_TALK @@ -99,12 +101,7 @@ const MAPRADIO_LETS_ALL_SING const MAPRADIO_ROCKET - const_def - const BUENA_MON - const BUENA_ITEM - const BUENA_MOVE - const BUENA_STRING - +; PasswordTable indexes (see engine/radio.asm) const_def const BUENA_STARTERS const BUENA_DRINKS @@ -119,3 +116,10 @@ const BUENA_STATIONS NUM_PASSWORD_CATEGORIES EQU const_value NUM_PASSWORDS_PER_CATEGORY EQU 3 + +; PasswordTable string types (see engine/radio.asm) + const_def + const BUENA_MON + const BUENA_ITEM + const BUENA_MOVE + const BUENA_STRING diff --git a/constants/script_constants.asm b/constants/script_constants.asm index b695c4ee9..9dd4987f8 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -2,6 +2,7 @@ PLAYER EQU 0 LAST_TALKED EQU -2 +; GetVarAction arguments (see engine/variables.asm) const_def const VAR_STRINGBUFFER2 ; 00 const VAR_PARTYCOUNT ; 01 @@ -32,10 +33,12 @@ LAST_TALKED EQU -2 const VAR_KENJI_BREAK ; 1a NUM_VARS EQU const_value ; 1b +; variable action types RETVAR_STRBUF2 EQU (0 << 6) RETVAR_ADDR_DE EQU (1 << 6) RETVAR_EXECUTE EQU (2 << 6) +; PlayerEventScriptPointers indexes (see engine/events.asm) const_value SET -1 const PLAYEREVENT_MAPSCRIPT const PLAYEREVENT_NONE diff --git a/constants/sfx_constants.asm b/constants/sfx_constants.asm index 65abfc3ca..f54235049 100644 --- a/constants/sfx_constants.asm +++ b/constants/sfx_constants.asm @@ -1,3 +1,4 @@ +; SFX indexes (see audio/sfx_pointers.asm) const_def const SFX_DEX_FANFARE_50_79 ; 00 @@ -191,6 +192,7 @@ const SFX_GLASS_TING ; bc const SFX_GLASS_TING_2 ; bd +; new to Crystal const SFX_INTRO_UNOWN_1 ; be const SFX_INTRO_UNOWN_2 ; bf const SFX_INTRO_UNOWN_3 ; c0 diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index f9cc7ec77..8dc63402a 100644 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -1,5 +1,5 @@ - -; sprites +; sprite ids +; SpriteHeaders indexes (see gfx/overworld/sprite_headers.asm) const_def const SPRITE_NONE ; 00 const SPRITE_CHRIS ; 01 @@ -105,8 +105,8 @@ const SPRITE_RAIKOU ; 65 const SPRITE_STANDING_YOUNGSTER ; 66 +; SpriteMons indexes (see engine/overworld.asm) const_value SET $80 - SPRITE_POKEMON EQU const_value const SPRITE_UNOWN ; 80 const SPRITE_GEODUDE ; 81 @@ -144,10 +144,12 @@ SPRITE_POKEMON EQU const_value const SPRITE_LUGIA ; a1 const SPRITE_HO_OH ; a2 +; special GetMonSprite values (see engine/overworld.asm) const_value SET $e0 const SPRITE_DAYCARE_MON_1 ; e0 const SPRITE_DAYCARE_MON_2 ; e1 +; VariableSprites indexes (see wram.asm) const_value SET $f0 SPRITE_VARS EQU const_value const SPRITE_CONSOLE ; f0 @@ -164,13 +166,7 @@ SPRITE_VARS EQU const_value const SPRITE_COPYCAT ; fb const SPRITE_JANINE_IMPERSONATOR ; fc -; sprite types -const_value SET 1 - const WALKING_SPRITE - const STANDING_SPRITE - const STILL_SPRITE - -; sprite header fields +; sprite_header struct members (see gfx/overworld/sprite_headers.asm) const_def const SPRITEHEADER_ADDR_LO const SPRITEHEADER_ADDR_HI @@ -180,18 +176,24 @@ const_value SET 1 const SPRITEHEADER_PALETTE NUM_SPRITEHEADER_FIELDS EQU const_value +; sprite types +const_value SET 1 + const WALKING_SPRITE + const STANDING_SPRITE + const STILL_SPRITE + ; sprite palettes const_def - const PAL_OW_RED - const PAL_OW_BLUE - const PAL_OW_GREEN - const PAL_OW_BROWN - const PAL_OW_PINK - const PAL_OW_SILVER - const PAL_OW_TREE - const PAL_OW_ROCK + const PAL_OW_RED ; 0 + const PAL_OW_BLUE ; 1 + const PAL_OW_GREEN ; 2 + const PAL_OW_BROWN ; 3 + const PAL_OW_PINK ; 4 + const PAL_OW_SILVER ; 5 + const PAL_OW_TREE ; 6 + const PAL_OW_ROCK ; 7 -; sprite movement data table indices +; SpriteMovementData indexes (see data/map_objects.asm) const_def const SPRITEMOVEDATA_00 ; 00 const SPRITEMOVEDATA_ITEM_TREE ; 01 @@ -233,7 +235,7 @@ NUM_SPRITEHEADER_FIELDS EQU const_value NUM_SPRITEMOVEDATA EQU const_value SPRITEMOVEDATA_FIELDS EQU 6 -; sprite movement functions +; MapObjectMovementPattern.Pointers indexes (see engine/map_objects.asm) const_def const SPRITEMOVEFN_00 const SPRITEMOVEFN_RANDOM_WALK_Y @@ -264,8 +266,7 @@ SPRITEMOVEDATA_FIELDS EQU 6 const SPRITEMOVEFN_BOULDERDUST const SPRITEMOVEFN_GRASS -MAX_OUTDOOR_SPRITES EQU 23 - +; StepTypesJumptable indexes (see engine/map_objects.asm) const_def const STEP_TYPE_00 const STEP_TYPE_SLEEP @@ -294,6 +295,7 @@ MAX_OUTDOOR_SPRITES EQU 23 const STEP_TYPE_18 const STEP_TYPE_SKYFALL_TOP +; PersonActionPairPointers indexes (see engine/map_object_action.asm) const_def const PERSON_ACTION_00 const PERSON_ACTION_STAND @@ -313,6 +315,7 @@ MAX_OUTDOOR_SPRITES EQU 23 const PERSON_ACTION_GRASS_SHAKE const PERSON_ACTION_SKYFALL +; Facings indexes (see engine/facings.asm) const_def const FACING_STEP_DOWN_0 const FACING_STEP_DOWN_1 @@ -347,6 +350,7 @@ MAX_OUTDOOR_SPRITES EQU 23 const FACING_GRASS_1 const FACING_GRASS_2 +; sprite_anim_struct members (see macros/wram.asm) const_def const SPRITEANIMSTRUCT_INDEX ; 0 const SPRITEANIMSTRUCT_FRAMESET_ID ; 1 @@ -365,6 +369,7 @@ MAX_OUTDOOR_SPRITES EQU 23 const SPRITEANIMSTRUCT_0E ; e const SPRITEANIMSTRUCT_0F ; f +; SpriteAnimFrameData indexes (see data/sprite_engine.asm) const_def const SPRITE_ANIM_FRAMESET_00 const SPRITE_ANIM_FRAMESET_PARTY_MON @@ -377,13 +382,13 @@ MAX_OUTDOOR_SPRITES EQU 23 const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR const SPRITE_ANIM_FRAMESET_09 ; unused? const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO - const SPRITE_ANIM_FRAMESET_0B - const SPRITE_ANIM_FRAMESET_0C + const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR + const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 const SPRITE_ANIM_FRAMESET_SLOTS_EGG - const SPRITE_ANIM_FRAMESET_WALK_CYCLE + const SPRITE_ANIM_FRAMESET_RED_WALK const SPRITE_ANIM_FRAMESET_STILL_CURSOR const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0 @@ -433,29 +438,30 @@ MAX_OUTDOOR_SPRITES EQU 23 const SPRITE_ANIM_FRAMESET_CELEBI_LEFT const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT +; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm) const_def const SPRITE_ANIM_SEQ_NULL - const SPRITE_ANIM_SEQ_01 - const SPRITE_ANIM_SEQ_02 - const SPRITE_ANIM_SEQ_03 + const SPRITE_ANIM_SEQ_PARTY_MON + const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH + const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED const SPRITE_ANIM_SEQ_04 - const SPRITE_ANIM_SEQ_05 + const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO - const SPRITE_ANIM_SEQ_07 - const SPRITE_ANIM_SEQ_08 - const SPRITE_ANIM_SEQ_SLOT_GOLEM + const SPRITE_ANIM_SEQ_GS_INTRO_STAR + const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE + const SPRITE_ANIM_SEQ_SLOTS_GOLEM const SPRITE_ANIM_SEQ_SLOTS_CHANSEY const SPRITE_ANIM_SEQ_SLOTS_EGG - const SPRITE_ANIM_SEQ_0C + const SPRITE_ANIM_SEQ_MAIL_CURSOR const SPRITE_ANIM_SEQ_0D const SPRITE_ANIM_SEQ_0E const SPRITE_ANIM_SEQ_0F - const SPRITE_ANIM_SEQ_10 - const SPRITE_ANIM_SEQ_11 + const SPRITE_ANIM_SEQ_TRADE_POKE_BALL + const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE - const SPRITE_ANIM_SEQ_13 - const SPRITE_ANIM_SEQ_14 - const SPRITE_ANIM_SEQ_15 + const SPRITE_ANIM_SEQ_REVEAL_NEW_MON + const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB + const SPRITE_ANIM_SEQ_CUT_LEAVES const SPRITE_ANIM_SEQ_FLY_FROM const SPRITE_ANIM_SEQ_FLY_LEAF const SPRITE_ANIM_SEQ_FLY_TO @@ -463,62 +469,63 @@ MAX_OUTDOOR_SPRITES EQU 23 const SPRITE_ANIM_SEQ_1A const SPRITE_ANIM_SEQ_1B const SPRITE_ANIM_SEQ_1C - const SPRITE_ANIM_SEQ_1D - const SPRITE_ANIM_SEQ_1E - const SPRITE_ANIM_SEQ_1F - const SPRITE_ANIM_SEQ_20 - const SPRITE_ANIM_SEQ_21 - const SPRITE_ANIM_SEQ_22 + const SPRITE_ANIM_SEQ_INTRO_SUICUNE + const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER + const SPRITE_ANIM_SEQ_CELEBI + const SPRITE_ANIM_SEQ_INTRO_UNOWN + const SPRITE_ANIM_SEQ_INTRO_UNOWN_F + const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY +; SpriteAnimSeqData indexes (see engine/sprites.asm) const_def - const SPRITE_ANIM_INDEX_00 + const SPRITE_ANIM_INDEX_PARTY_MON const SPRITE_ANIM_INDEX_01 - const SPRITE_ANIM_INDEX_02 - const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO - const SPRITE_ANIM_INDEX_04 const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR - const SPRITE_ANIM_INDEX_SLOT_GOLEM + const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO + const SPRITE_ANIM_INDEX_GS_INTRO_STAR + const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE + const SPRITE_ANIM_INDEX_SLOTS_GOLEM const SPRITE_ANIM_INDEX_SLOTS_CHANSEY const SPRITE_ANIM_INDEX_SLOTS_EGG - const SPRITE_ANIM_INDEX_09 + const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR const SPRITE_ANIM_INDEX_RED_WALK const SPRITE_ANIM_INDEX_0B - const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR + const SPRITE_ANIM_INDEX_DUMMY_GAME const SPRITE_ANIM_INDEX_0D - const SPRITE_ANIM_INDEX_0E - const SPRITE_ANIM_INDEX_0F - const SPRITE_ANIM_INDEX_10 + const SPRITE_ANIM_INDEX_TRADE_POKE_BALL + const SPRITE_ANIM_INDEX_TRADE_POOF + const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE const SPRITE_ANIM_INDEX_TRADEMON_ICON const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE - const SPRITE_ANIM_INDEX_13 - const SPRITE_ANIM_INDEX_14 - const SPRITE_ANIM_INDEX_15 + const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT + const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB + const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED const SPRITE_ANIM_INDEX_LEAF const SPRITE_ANIM_INDEX_CUT_TREE const SPRITE_ANIM_INDEX_FLY_LEAF - const SPRITE_ANIM_INDEX_19 + const SPRITE_ANIM_INDEX_EGG_CRACK const SPRITE_ANIM_INDEX_1A - const SPRITE_ANIM_INDEX_1B - const SPRITE_ANIM_INDEX_1C + const SPRITE_ANIM_INDEX_HEADBUTT + const SPRITE_ANIM_INDEX_EGG_HATCH const SPRITE_ANIM_INDEX_1D const SPRITE_ANIM_INDEX_BLUE_WALK - const SPRITE_ANIM_INDEX_1F + const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE const SPRITE_ANIM_INDEX_20 const SPRITE_ANIM_INDEX_21 const SPRITE_ANIM_INDEX_22 const SPRITE_ANIM_INDEX_23 const SPRITE_ANIM_INDEX_24 const SPRITE_ANIM_INDEX_25 - const SPRITE_ANIM_INDEX_26 - const SPRITE_ANIM_INDEX_27 - const SPRITE_ANIM_INDEX_28 - const SPRITE_ANIM_INDEX_29 - const SPRITE_ANIM_INDEX_2A - const SPRITE_ANIM_INDEX_2B - const SPRITE_ANIM_INDEX_2C + const SPRITE_ANIM_INDEX_INTRO_SUICUNE + const SPRITE_ANIM_INDEX_INTRO_PICHU + const SPRITE_ANIM_INDEX_INTRO_WOOPER + const SPRITE_ANIM_INDEX_INTRO_UNOWN + const SPRITE_ANIM_INDEX_INTRO_UNOWN_F + const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY + const SPRITE_ANIM_INDEX_CELEBI +; SpriteAnimOAMData indexes (see data/sprite_engine.asm) const_def - const SPRITE_ANIM_FRAME_IDX_00 const SPRITE_ANIM_FRAME_IDX_01 const SPRITE_ANIM_FRAME_IDX_02 diff --git a/constants/std_constants.asm b/constants/std_constants.asm index 039b27073..0667f020f 100644 --- a/constants/std_constants.asm +++ b/constants/std_constants.asm @@ -1,3 +1,5 @@ +; StdScripts indexes (see engine/std_scripts.asm) +; also used in CheckFacingTileForStd (see main.asm) enum_start enum pokecenternurse enum difficultbookshelf diff --git a/constants/tilemap_constants.asm b/constants/tilemap_constants.asm index 04f9bcaaa..702dc92bf 100644 --- a/constants/tilemap_constants.asm +++ b/constants/tilemap_constants.asm @@ -1,9 +1,10 @@ -LANDTILE EQU 0 +; collision values (see tilesets/collision.asm) +LANDTILE EQU $0 +WATERTILE EQU $1 WALLTILE EQU $f -WATERTILE EQU 1 - -TALK EQU 1 << 4 +TALK EQU $10 +; Tilesets indexes (see tilesets/tileset_headers.asm) const_value SET 1 const TILESET_JOHTO_1 ; 01 const TILESET_JOHTO_2 ; 02 @@ -42,12 +43,13 @@ const_value SET 1 const TILESET_OMANYTE_WORD_ROOM ; 23 const TILESET_AERODACTYL_WORD_ROOM ; 24 +; bg palette values (see tilesets/*_palette_map.asm) const_def - const PAL_BG_GRAY - const PAL_BG_RED - const PAL_BG_GREEN - const PAL_BG_WATER - const PAL_BG_YELLOW - const PAL_BG_BROWN - const PAL_BG_ROOF - const PAL_BG_TEXT + const PAL_BG_GRAY ; 0 + const PAL_BG_RED ; 1 + const PAL_BG_GREEN ; 2 + const PAL_BG_WATER ; 3 + const PAL_BG_YELLOW ; 4 + const PAL_BG_BROWN ; 5 + const PAL_BG_ROOF ; 6 + const PAL_BG_TEXT ; 7 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 70692c822..42b499abb 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -1,4 +1,11 @@ -; trainer groups +; trainer class ids +; `trainerclass` indexes are for: +; - TrainerClassAttributes (see trainers/attributes.asm) +; - TrainerClassDVs (see trainers/dvs.asm) +; - TrainerGroups (see trainers/trainer_pointers.asm) +; - TrainerEncounterMusic (see audio/trainer_encounters.asm) +; - BTTrainerClassGenders (see misc/battle_tower_47.asm) +; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see trainers/trainers.asm) enum_start CHRIS EQU __enum__ trainerclass TRAINER_NONE ; 0 @@ -26,21 +33,21 @@ KRIS EQU __enum__ trainerclass CLAIR ; 8 trainerclass RIVAL1 ; 9 - const RIVAL1_1 - const RIVAL1_2 - const RIVAL1_3 - const RIVAL1_4 - const RIVAL1_5 - const RIVAL1_6 - const RIVAL1_7 - const RIVAL1_8 - const RIVAL1_9 - const RIVAL1_10 - const RIVAL1_11 - const RIVAL1_12 - const RIVAL1_13 - const RIVAL1_14 - const RIVAL1_15 + const RIVAL1_1_CHIKORITA + const RIVAL1_1_CYNDAQUIL + const RIVAL1_1_TOTODILE + const RIVAL1_2_CHIKORITA + const RIVAL1_2_CYNDAQUIL + const RIVAL1_2_TOTODILE + const RIVAL1_3_CHIKORITA + const RIVAL1_3_CYNDAQUIL + const RIVAL1_3_TOTODILE + const RIVAL1_4_CHIKORITA + const RIVAL1_4_CYNDAQUIL + const RIVAL1_4_TOTODILE + const RIVAL1_5_CHIKORITA + const RIVAL1_5_CYNDAQUIL + const RIVAL1_5_TOTODILE trainerclass POKEMON_PROF ; a @@ -415,6 +422,12 @@ KRIS EQU __enum__ const MARKUS trainerclass RIVAL2 ; 2a + const RIVAL2_1_CHIKORITA + const RIVAL2_1_CYNDAQUIL + const RIVAL2_1_TOTODILE + const RIVAL2_2_CHIKORITA + const RIVAL2_2_CYNDAQUIL + const RIVAL2_2_TOTODILE trainerclass GUITARIST ; 2b const CLYDE @@ -492,6 +505,10 @@ KRIS EQU __enum__ const WAI trainerclass EXECUTIVEM ; 33 + const EXECUTIVEM_1 + const EXECUTIVEM_2 + const EXECUTIVEM_3 + const EXECUTIVEM_4 trainerclass PSYCHIC_T ; 34 const NATHAN @@ -560,6 +577,8 @@ KRIS EQU __enum__ const QUENTIN trainerclass EXECUTIVEF ; 37 + const EXECUTIVEF_1 + const EXECUTIVEF_2 trainerclass SAGE ; 38 const CHOW @@ -648,12 +667,23 @@ KRIS EQU __enum__ const GRUNTF_4 const GRUNTF_5 - trainerclass MYSTICALMAN ; 43 const EUSINE NUM_TRAINER_CLASSES EQU __enum__ +; TrainerClassAttributes fields (see trainers/attributes.asm) + const_def + const TRNATTR_ITEM1 + const TRNATTR_ITEM2 + const TRNATTR_BASEMONEY + const TRNATTR_AI_MOVE_WEIGHTS + const TRNATTR_AI2 + const TRNATTR_AI_ITEM_SWITCH + const TRNATTR_AI4 +NUM_TRAINER_ATTRIBUTES EQU const_value + +; TRNATTR_AI_MOVE_WEIGHTS bit flags (wEnemyTrainerAIFlags) const_def const NO_AI const_value = 0 @@ -674,12 +704,24 @@ const_value = 0 shift_const AI_14 shift_const AI_15 +; TRNATTR_AI_ITEM_SWITCH bit flags +CONTEXT_USE_F EQU 6 +UNKNOWN_USE_F EQU 5 +ALWAYS_USE_F EQU 4 +SWITCH_SOMETIMES_F EQU 2 +SWITCH_RARELY_F EQU 1 +SWITCH_OFTEN_F EQU 0 + +CONTEXT_USE EQU 1 << CONTEXT_USE_F +UNKNOWN_USE EQU 1 << UNKNOWN_USE_F +ALWAYS_USE EQU 1 << ALWAYS_USE_F +SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F +SWITCH_RARELY EQU 1 << SWITCH_RARELY_F +SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F + +; TrainerTypes indexes (see trainers/read_party.asm) const_def - const TRNATTR_ITEM1 - const TRNATTR_ITEM2 - const TRNATTR_BASEMONEY - const TRNATTR_AI_MOVE_WEIGHTS - const TRNATTR_AI2 - const TRNATTR_AI_ITEM_SWITCH - const TRNATTR_AI4 -NUM_TRAINER_ATTRIBUTES EQU const_value + const TRAINERTYPE_NORMAL + const TRAINERTYPE_MOVES + const TRAINERTYPE_ITEM + const TRAINERTYPE_ITEM_MOVES diff --git a/constants/type_constants.asm b/constants/type_constants.asm index b7b350e33..6f389617b 100644 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -1,3 +1,7 @@ +; TypeNames indexes (see text/types.asm) +; also used in: +; - TypeMatchup (see battle.type_matchup.asm) +; - Pokedex_SearchForMons.TypeConversionTable and Pokedex_PlaceSearchScreenTypeStrings.TypeStrings (see engine/pokedex.asm) const_def PHYSICAL EQU const_value diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 09d457f5e..73a319081 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -1,4 +1,3 @@ - ; MonType: ; cf5f PARTYMON EQU 0 OTPARTYMON EQU 1 @@ -103,3 +102,35 @@ DAYCARE_DEPOSIT EQU 3 const DEXMODE_OLD const DEXMODE_ABC const DEXMODE_UNOWN + +; JohtoBadges: + const_def + const ZEPHYRBADGE + const HIVEBADGE + const PLAINBADGE + const FOGBADGE + const MINERALBADGE + const STORMBADGE + const GLACIERBADGE + const RISINGBADGE +NUM_JOHTO_BADGES EQU const_value + +; KantoBadges: + const_def + const BOULDERBADGE + const CASCADEBADGE + const THUNDERBADGE + const RAINBOWBADGE + const SOULBADGE + const MARSHBADGE + const VOLCANOBADGE + const EARTHBADGE +NUM_KANTO_BADGES EQU const_value +NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES + +; wInitListType: +INIT_ENEMYOT_LIST EQU 1 +INIT_BAG_ITEM_LIST EQU 2 +INIT_OTHER_ITEM_LIST EQU 3 +INIT_PLAYEROT_LIST EQU 4 +INIT_MON_LIST EQU 5 diff --git a/data/map_objects.asm b/data/map_objects.asm index ec4a859b3..9cc495b7f 100755 --- a/data/map_objects.asm +++ b/data/map_objects.asm @@ -1,3 +1,5 @@ +; entries correspond to SPRITEMOVEDATA_* constants + sprite_movement_data: macro db \1, \2, \3, \4, \5 dn \6, 0 diff --git a/data/sprite_engine.asm b/data/sprite_engine.asm index 7a8a49bbe..31872d531 100755 --- a/data/sprite_engine.asm +++ b/data/sprite_engine.asm @@ -1,77 +1,78 @@ SpriteAnimFrameData: ; 8d6e6 - dw .Frameset_00 ; 00 - dw .Frameset_01 ; 01 - dw .Frameset_02 ; 02 - dw .Frameset_03 ; 03 - dw .Frameset_04 ; 04 - dw .Frameset_05 ; 05 - dw .Frameset_06 ; 06 - dw .Frameset_07 ; 07 - dw .Frameset_08 ; 08 - dw .Frameset_09 ; 09 - dw .Frameset_0a ; 0a - dw .Frameset_0b ; 0b - dw .Frameset_0c ; 0c - dw .Frameset_0d ; 0d - dw .Frameset_0e ; 0e - dw .Frameset_0f ; 0f - dw .Frameset_10 ; 10 - dw .Frameset_11 ; 11 - dw .Frameset_12 ; 12 - dw .Frameset_13 ; 13 - dw .Frameset_14 ; 14 - dw .Frameset_15 ; 15 - dw .Frameset_16 ; 16 - dw .Frameset_17 ; 17 - dw .Frameset_18 ; 18 - dw .Frameset_19 ; 19 - dw .Frameset_1a ; 1a - dw .Frameset_1b ; 1b - dw .Frameset_1c ; 1c - dw .Frameset_1d ; 1d - dw .Frameset_1e ; 1e - dw .Frameset_1f ; 1f - dw .Frameset_20 ; 20 - dw .Frameset_21 ; 21 - dw .Frameset_22 ; 22 - dw .Frameset_23 ; 23 - dw .Frameset_24 ; 24 - dw .Frameset_25 ; 25 headbutt - dw .Frameset_26 ; 26 - dw .Frameset_27 ; 27 - dw .Frameset_28 ; 28 - dw .Frameset_29 ; 29 - dw .Frameset_2a ; 2a - dw .Frameset_2b ; 2b - dw .Frameset_2c ; 2c - dw .Frameset_2d ; 2d - dw .Frameset_2e ; 2e - dw .Frameset_2f ; 2f - dw .Frameset_30 ; 30 - dw .Frameset_31 ; 31 - dw .Frameset_32 ; 32 - dw .Frameset_33 ; 33 - dw .Frameset_34 ; 34 - dw .Frameset_35 ; 35 - dw .Frameset_36 ; 36 - dw .Frameset_37 ; 37 - dw .Frameset_38 ; 38 - dw .Frameset_39 ; 39 unown in intro - dw .Frameset_3a ; 3a unown in intro - dw .Frameset_3b ; 3b unown in intro - dw .Frameset_3c ; 3c unown in intro - dw .Frameset_3d ; 3d - dw .Frameset_3e ; 3e - dw .Frameset_3f ; 3f - dw .Frameset_40 ; 40 celebi on the left - dw .Frameset_41 ; 41 celebi on the right +; entries correspond to SPRITE_ANIM_FRAMESET_* constants + dw .Frameset_00 + dw .Frameset_PartyMon + dw .Frameset_02 + dw .Frameset_03 + dw .Frameset_04 + dw .Frameset_05 + dw .Frameset_06 + dw .Frameset_07 + dw .Frameset_TextEntryCursor + dw .Frameset_09 + dw .Frameset_GameFreakLogo + dw .Frameset_GSIntroStar + dw .Frameset_GSIntroSparkle + dw .Frameset_SlotsGolem + dw .Frameset_SlotsChansey + dw .Frameset_SlotsChansey2 + dw .Frameset_SlotsEgg + dw .Frameset_RedWalk + dw .Frameset_StillCursor + dw .Frameset_TradePokeBall + dw .Frameset_TradePokeBall0 + dw .Frameset_TradePoof + dw .Frameset_TradeTubeBulge + dw .Frameset_TrademonIcon + dw .Frameset_TrademonBubble + dw .Frameset_EvolutionBallOfLight + dw .Frameset_RadioTuningKnob + dw .Frameset_MagnetTrainRed + dw .Frameset_1c + dw .Frameset_Leaf + dw .Frameset_CutTree + dw .Frameset_EggCrack + dw .Frameset_EggHatch + dw .Frameset_21 + dw .Frameset_22 + dw .Frameset_23 + dw .Frameset_24 + dw .Frameset_HeadbuttTree + dw .Frameset_26 + dw .Frameset_27 + dw .Frameset_28 + dw .Frameset_29 + dw .Frameset_2a + dw .Frameset_2b + dw .Frameset_2c + dw .Frameset_BlueWalk + dw .Frameset_MagnetTrainBlue + dw .Frameset_2f + dw .Frameset_30 + dw .Frameset_31 + dw .Frameset_32 + dw .Frameset_33 + dw .Frameset_34 + dw .Frameset_IntroSuicune + dw .Frameset_IntroSuicune2 + dw .Frameset_IntroPichu + dw .Frameset_IntroWooper + dw .Frameset_IntroUnown1 + dw .Frameset_IntroUnown2 + dw .Frameset_IntroUnown3 + dw .Frameset_IntroUnown4 + dw .Frameset_IntroUnownF2 + dw .Frameset_IntroSuicuneAway + dw .Frameset_IntroUnownF + dw .Frameset_CelebiLeft + dw .Frameset_CelebiRight ; 8d76a .Frameset_00: frame SPRITE_ANIM_FRAME_IDX_00, 32 endanim -.Frameset_01: +.Frameset_PartyMon: frame SPRITE_ANIM_FRAME_IDX_00, 8 frame SPRITE_ANIM_FRAME_IDX_01, 8 dorestart @@ -101,21 +102,21 @@ SpriteAnimFrameData: ; 8d6e6 frame SPRITE_ANIM_FRAME_IDX_40, 4 dorestart -.Frameset_11: +.Frameset_RedWalk: frame SPRITE_ANIM_FRAME_IDX_00, 8 frame SPRITE_ANIM_FRAME_IDX_01, 8 frame SPRITE_ANIM_FRAME_IDX_00, 8 frame SPRITE_ANIM_FRAME_IDX_01, 8, OAM_X_FLIP dorestart -.Frameset_2d: +.Frameset_BlueWalk: frame SPRITE_ANIM_FRAME_IDX_63, 8 frame SPRITE_ANIM_FRAME_IDX_64, 8 frame SPRITE_ANIM_FRAME_IDX_63, 8 frame SPRITE_ANIM_FRAME_IDX_64, 8, OAM_X_FLIP dorestart -.Frameset_2e: +.Frameset_MagnetTrainBlue: frame SPRITE_ANIM_FRAME_IDX_65, 8 frame SPRITE_ANIM_FRAME_IDX_66, 8 frame SPRITE_ANIM_FRAME_IDX_65, 8 @@ -127,7 +128,7 @@ SpriteAnimFrameData: ; 8d6e6 frame SPRITE_ANIM_FRAME_IDX_1F, 1 dorestart -.Frameset_08: +.Frameset_TextEntryCursor: frame SPRITE_ANIM_FRAME_IDX_20, 1 dorepeat 1 dorestart @@ -137,7 +138,7 @@ SpriteAnimFrameData: ; 8d6e6 dorepeat 1 dorestart -.Frameset_0a: +.Frameset_GameFreakLogo: frame SPRITE_ANIM_FRAME_IDX_81, 12 frame SPRITE_ANIM_FRAME_IDX_82, 1 frame SPRITE_ANIM_FRAME_IDX_83, 1 @@ -155,33 +156,33 @@ SpriteAnimFrameData: ; 8d6e6 frame SPRITE_ANIM_FRAME_IDX_8B, 7 endanim -.Frameset_0b: +.Frameset_GSIntroStar: frame SPRITE_ANIM_FRAME_IDX_23, 3 frame SPRITE_ANIM_FRAME_IDX_23, 3, OAM_Y_FLIP dorestart -.Frameset_0c: +.Frameset_GSIntroSparkle: frame SPRITE_ANIM_FRAME_IDX_24, 2 frame SPRITE_ANIM_FRAME_IDX_25, 2 frame SPRITE_ANIM_FRAME_IDX_26, 2 frame SPRITE_ANIM_FRAME_IDX_25, 2 dorestart -.Frameset_0d: +.Frameset_SlotsGolem: frame SPRITE_ANIM_FRAME_IDX_27, 7 frame SPRITE_ANIM_FRAME_IDX_28, 7 frame SPRITE_ANIM_FRAME_IDX_27, 7, OAM_Y_FLIP frame SPRITE_ANIM_FRAME_IDX_28, 7, OAM_X_FLIP dorestart -.Frameset_0e: +.Frameset_SlotsChansey: frame SPRITE_ANIM_FRAME_IDX_29, 7 frame SPRITE_ANIM_FRAME_IDX_2A, 7 frame SPRITE_ANIM_FRAME_IDX_29, 7 frame SPRITE_ANIM_FRAME_IDX_2B, 7 dorestart -.Frameset_0f: +.Frameset_SlotsChansey2: frame SPRITE_ANIM_FRAME_IDX_29, 7 frame SPRITE_ANIM_FRAME_IDX_2C, 7 frame SPRITE_ANIM_FRAME_IDX_2D, 7 @@ -189,56 +190,56 @@ SpriteAnimFrameData: ; 8d6e6 frame SPRITE_ANIM_FRAME_IDX_29, 7 endanim -.Frameset_10: +.Frameset_SlotsEgg: frame SPRITE_ANIM_FRAME_IDX_2E, 20 endanim -.Frameset_12: +.Frameset_StillCursor: frame SPRITE_ANIM_FRAME_IDX_2F, 32 endanim -.Frameset_13: +.Frameset_TradePokeBall: frame SPRITE_ANIM_FRAME_IDX_30, 32 endanim -.Frameset_14: +.Frameset_TradePokeBall0: frame SPRITE_ANIM_FRAME_IDX_30, 3 frame SPRITE_ANIM_FRAME_IDX_31, 3 frame SPRITE_ANIM_FRAME_IDX_30, 3 frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP dorestart -.Frameset_15: +.Frameset_TradePoof: frame SPRITE_ANIM_FRAME_IDX_32, 4 frame SPRITE_ANIM_FRAME_IDX_33, 4 frame SPRITE_ANIM_FRAME_IDX_34, 4 delanim -.Frameset_16: +.Frameset_TradeTubeBulge: frame SPRITE_ANIM_FRAME_IDX_35, 3 frame SPRITE_ANIM_FRAME_IDX_36, 3 dorestart -.Frameset_17: +.Frameset_TrademonIcon: frame SPRITE_ANIM_FRAME_IDX_37, 7 frame SPRITE_ANIM_FRAME_IDX_38, 7 dorestart -.Frameset_18: +.Frameset_TrademonBubble: frame SPRITE_ANIM_FRAME_IDX_39, 32 endanim -.Frameset_19: +.Frameset_EvolutionBallOfLight: frame SPRITE_ANIM_FRAME_IDX_3B, 2 frame SPRITE_ANIM_FRAME_IDX_3A, 2 frame SPRITE_ANIM_FRAME_IDX_3B, 2 endanim -.Frameset_1a: +.Frameset_RadioTuningKnob: frame SPRITE_ANIM_FRAME_IDX_3C, 32 endanim -.Frameset_1b: +.Frameset_MagnetTrainRed: frame SPRITE_ANIM_FRAME_IDX_41, 8 frame SPRITE_ANIM_FRAME_IDX_42, 8 frame SPRITE_ANIM_FRAME_IDX_41, 8 @@ -292,11 +293,11 @@ SpriteAnimFrameData: ; 8d6e6 dorepeat 32 endanim -.Frameset_1d: +.Frameset_Leaf: frame SPRITE_ANIM_FRAME_IDX_4F, 32 endanim -.Frameset_1e: +.Frameset_CutTree: frame SPRITE_ANIM_FRAME_IDX_50, 2 frame SPRITE_ANIM_FRAME_IDX_51, 16 dorepeat 1 @@ -305,11 +306,11 @@ SpriteAnimFrameData: ; 8d6e6 frame SPRITE_ANIM_FRAME_IDX_53, 1 delanim -.Frameset_1f: +.Frameset_EggCrack: frame SPRITE_ANIM_FRAME_IDX_54, 32 endanim -.Frameset_20: +.Frameset_EggHatch: frame SPRITE_ANIM_FRAME_IDX_55, 32 endanim @@ -334,7 +335,7 @@ SpriteAnimFrameData: ; 8d6e6 frame SPRITE_ANIM_FRAME_IDX_5A, 10 dorestart -.Frameset_25: +.Frameset_HeadbuttTree: frame SPRITE_ANIM_FRAME_IDX_50, 2 frame SPRITE_ANIM_FRAME_IDX_5B, 2 frame SPRITE_ANIM_FRAME_IDX_50, 2 @@ -424,53 +425,53 @@ SpriteAnimFrameData: ; 8d6e6 frame SPRITE_ANIM_FRAME_IDX_6B, 2 delanim -.Frameset_35: +.Frameset_IntroSuicune: frame SPRITE_ANIM_FRAME_IDX_6E, 3 frame SPRITE_ANIM_FRAME_IDX_6F, 3 frame SPRITE_ANIM_FRAME_IDX_70, 3 frame SPRITE_ANIM_FRAME_IDX_71, 3 dorestart -.Frameset_36: +.Frameset_IntroSuicune2: frame SPRITE_ANIM_FRAME_IDX_71, 3 frame SPRITE_ANIM_FRAME_IDX_6E, 7 endanim -.Frameset_37: +.Frameset_IntroPichu: frame SPRITE_ANIM_FRAME_IDX_72, 32 frame SPRITE_ANIM_FRAME_IDX_73, 7 frame SPRITE_ANIM_FRAME_IDX_74, 7 endanim -.Frameset_38: +.Frameset_IntroWooper: frame SPRITE_ANIM_FRAME_IDX_75, 3 endanim -.Frameset_39: +.Frameset_IntroUnown1: frame SPRITE_ANIM_FRAME_IDX_76, 3 frame SPRITE_ANIM_FRAME_IDX_77, 3 frame SPRITE_ANIM_FRAME_IDX_78, 7 delanim -.Frameset_3a: +.Frameset_IntroUnown2: frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP delanim -.Frameset_3b: +.Frameset_IntroUnown3: frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_Y_FLIP frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_Y_FLIP frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_Y_FLIP delanim -.Frameset_3c: +.Frameset_IntroUnown4: frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP, OAM_Y_FLIP frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP, OAM_Y_FLIP frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP, OAM_Y_FLIP delanim -.Frameset_3d: +.Frameset_IntroUnownF2: frame SPRITE_ANIM_FRAME_IDX_79, 3 frame SPRITE_ANIM_FRAME_IDX_7A, 3 frame SPRITE_ANIM_FRAME_IDX_7B, 3 @@ -478,26 +479,27 @@ SpriteAnimFrameData: ; 8d6e6 frame SPRITE_ANIM_FRAME_IDX_7D, 7 endanim -.Frameset_3e: +.Frameset_IntroSuicuneAway: frame SPRITE_ANIM_FRAME_IDX_7E, 3 endanim -.Frameset_3f: +.Frameset_IntroUnownF: dorepeat 0 endanim -.Frameset_40: +.Frameset_CelebiLeft: frame SPRITE_ANIM_FRAME_IDX_7F, 8 frame SPRITE_ANIM_FRAME_IDX_80, 8 endanim -.Frameset_41: +.Frameset_CelebiRight: frame SPRITE_ANIM_FRAME_IDX_7F, 8, OAM_X_FLIP frame SPRITE_ANIM_FRAME_IDX_80, 8, OAM_X_FLIP endanim ; 8d94d SpriteAnimOAMData: ; 8d94d +; entries correspond to SPRITE_ANIM_FRAME_IDX_* constants ; vtile offset, pointer dbw $00, .OAMData_00 ; 00 dbw $04, .OAMData_00 ; 01 @@ -1632,6 +1634,7 @@ SpriteAnimOAMData: ; 8d94d dsprite 0, 0, 0, 4, $52, $01 dsprite 0, 0, 1, 4, $53, $01 ; 8e706 + BrokenStdGFXPointers: ; Broken 2bpp pointers dbbw $80, $01, .deleted ; 128-tile 2bpp at 1:672a (inside Multiply) dbbw $80, $01, .deleted diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm index 326faaa6c..eeac2ebd7 100755 --- a/engine/breeding/egg.asm +++ b/engine/breeding/egg.asm @@ -803,7 +803,7 @@ EggHatch_CrackShell: ; 1736d (5:736d) add 9 * 8 + 4 ld d, a ld e, 11 * 8 - ld a, SPRITE_ANIM_INDEX_19 + ld a, SPRITE_ANIM_INDEX_EGG_CRACK call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc @@ -833,7 +833,7 @@ Hatch_InitShellFragments: ; 173b3 (5:73b3) push hl push bc - ld a, SPRITE_ANIM_INDEX_1C + ld a, SPRITE_ANIM_INDEX_EGG_HATCH call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_TILE_ID diff --git a/engine/crystal_intro.asm b/engine/crystal_intro.asm index fbb2dbc97..dbc7c7f70 100755 --- a/engine/crystal_intro.asm +++ b/engine/crystal_intro.asm @@ -773,7 +773,7 @@ IntroScene7: ; e4b3f (39:4b3f) call Intro_ResetLYOverrides callba ClearSpriteAnims depixel 13, 27, 4, 0 - ld a, SPRITE_ANIM_INDEX_26 + ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE call _InitSpriteAnimStruct ld a, $f0 ld [wGlobalAnimXOffset], a @@ -866,7 +866,7 @@ IntroScene10: ; e4c4f (39:4c4f) .pichu depixel 21, 16, 1, 0 - ld a, SPRITE_ANIM_INDEX_27 + ld a, SPRITE_ANIM_INDEX_INTRO_PICHU call _InitSpriteAnimStruct ld de, SFX_INTRO_PICHU call PlaySFX @@ -874,7 +874,7 @@ IntroScene10: ; e4c4f (39:4c4f) .wooper depixel 22, 6 - ld a, SPRITE_ANIM_INDEX_28 + ld a, SPRITE_ANIM_INDEX_INTRO_WOOPER call _InitSpriteAnimStruct ld de, SFX_INTRO_PICHU call PlaySFX @@ -1054,7 +1054,7 @@ IntroScene13: ; e4d6d (39:4d6d) ld [hWY], a callba ClearSpriteAnims depixel 13, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_26 + ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE call _InitSpriteAnimStruct ld de, MUSIC_CRYSTAL_OPENING call PlayMusic @@ -1165,10 +1165,10 @@ IntroScene15: ; e4e40 (39:4e40) callba ClearSpriteAnims call Intro_SetCGBPalUpdate depixel 8, 5 - ld a, SPRITE_ANIM_INDEX_2A + ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN_F call _InitSpriteAnimStruct depixel 12, 0 - ld a, SPRITE_ANIM_INDEX_2B + ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY call _InitSpriteAnimStruct xor a ld [wIntroSceneFrameCounter], a @@ -1317,7 +1317,7 @@ IntroScene19: ; e4f7e (39:4f7e) ld [hl], $7f call Intro_SetCGBPalUpdate depixel 12, 0 - ld a, SPRITE_ANIM_INDEX_2B + ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY call _InitSpriteAnimStruct xor a ld [wIntroSceneFrameCounter], a @@ -1617,7 +1617,7 @@ Intro_Scene24_ApplyPaletteFade: ; e5172 (39:5172) CrystalIntro_InitUnownAnim: ; e51dc (39:51dc) push de - ld a, SPRITE_ANIM_INDEX_29 + ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_0C add hl, bc @@ -1627,7 +1627,7 @@ CrystalIntro_InitUnownAnim: ; e51dc (39:51dc) pop de push de - ld a, SPRITE_ANIM_INDEX_29 + ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_0C add hl, bc @@ -1637,7 +1637,7 @@ CrystalIntro_InitUnownAnim: ; e51dc (39:51dc) pop de push de - ld a, SPRITE_ANIM_INDEX_29 + ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_0C add hl, bc @@ -1646,7 +1646,7 @@ CrystalIntro_InitUnownAnim: ; e51dc (39:51dc) call ReinitSpriteAnimFrame pop de - ld a, SPRITE_ANIM_INDEX_29 + ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_0C add hl, bc diff --git a/engine/dummy_game.asm b/engine/dummy_game.asm index e5ef9b4cf..edda3d02e 100755 --- a/engine/dummy_game.asm +++ b/engine/dummy_game.asm @@ -109,7 +109,7 @@ endr .spawn_object depixel 6, 3, 4, 4 - ld a, SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR + ld a, SPRITE_ANIM_INDEX_DUMMY_GAME call _InitSpriteAnimStruct ld a, 5 ld [wDummyGameNumberTriesRemaining], a diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm index 2b441bab4..3bca8dd87 100644 --- a/engine/engine_flags.asm +++ b/engine/engine_flags.asm @@ -208,7 +208,7 @@ ENDM engine_flag WeeklyFlags, 6 ; move tutor engine_flag WeeklyFlags, 7 ; buenas password - engine_flag SwarmFlags, 0 ; $60 + engine_flag SwarmFlags, 0 ; buenas password 2 engine_flag SwarmFlags, 1 ; goldenrod dept store sale is on engine_flag GameTimerPause, 7 ; $62 diff --git a/engine/evolution_animation.asm b/engine/evolution_animation.asm index 2f1c4c522..173a31bf2 100755 --- a/engine/evolution_animation.asm +++ b/engine/evolution_animation.asm @@ -316,7 +316,7 @@ EvolutionAnimation: ; 4e5e1 .GenerateBallOfLight: ; 4e7e8 push de depixel 9, 11 - ld a, SPRITE_ANIM_INDEX_13 + ld a, SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc diff --git a/engine/facings.asm b/engine/facings.asm index ee9efec3f..4d2a55364 100644 --- a/engine/facings.asm +++ b/engine/facings.asm @@ -1,4 +1,5 @@ Facings: ; 4049 +; entries correspond to FACING_* constants dw FacingStepDown0 dw FacingStepDown1 dw FacingStepDown2 @@ -31,7 +32,8 @@ Facings: ; 4049 dw FacingBoulderDust2 dw FacingGrass1 dw FacingGrass2 -FacingsEnd: dw 0 +FacingsEnd: + dw 0 NUM_FACINGS EQU (FacingsEnd - Facings) / 2 @@ -41,12 +43,6 @@ NUM_FACINGS EQU (FacingsEnd - Facings) / 2 ; Format: ; db y, x, attributes, tile index -; Attributes: -X_FLIP EQU 1 << OAM_X_FLIP -Y_FLIP EQU 1 << OAM_Y_FLIP -BEHIND_BG EQU 1 << OAM_PRIORITY - - FacingStepDown0: FacingStepDown2: FacingWeirdTree0: diff --git a/engine/link.asm b/engine/link.asm index f5bc24da9..ad2d8a982 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -1143,7 +1143,7 @@ TimeCapsule_ReplaceTeruSama: ; 28771 db ITEM_BE, BERRY db ITEM_C3, BERRY db ITEM_DC, BERRY - db HM_08, BERRY + db ITEM_FA, BERRY db -1, BERRY db 0 ; 2879e diff --git a/engine/map_object_action.asm b/engine/map_object_action.asm index a7ab87200..2a13f924e 100755 --- a/engine/map_object_action.asm +++ b/engine/map_object_action.asm @@ -1,36 +1,22 @@ - ld hl, OBJECT_ACTION - add hl, bc - ld a, [hl] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call _hl_ - ret -; 445f - -Pointers445f: ; 445f - dw SetFacingStanding, SetFacingStanding ; 00 - dw SetFacingStandAction, SetFacingCurrent ; 01 standing? - dw SetFacingStepAction, SetFacingCurrent ; 02 walking? - dw SetFacingBumpAction, SetFacingCurrent ; 03 bumping? - dw SetFacingCounterclockwiseSpin, SetFacingCurrent ; 04 - dw SetFacingCounterclockwiseSpin2, SetFacingStanding ; 05 - dw SetFacingFish, SetFacingFish ; 06 - dw SetFacingShadow, SetFacingStanding ; 07 - dw SetFacingEmote, SetFacingEmote ; 08 - dw SetFacingBigDollSym, SetFacingBigDollSym ; 09 - dw SetFacingBounce, SetFacingFreezeBounce ; 0a - dw SetFacingWeirdTree, SetFacingCurrent ; 0b - dw SetFacingBigDollAsym, SetFacingBigDollAsym ; 0c - dw SetFacingBigDoll, SetFacingBigDoll ; 0d - dw SetFacingBoulderDust, SetFacingStanding ; 0e - dw SetFacingGrassShake, SetFacingStanding ; 0f - dw SetFacingSkyfall, SetFacingCurrent ; 10 +PersonActionPairPointers: ; 445f +; entries correspond to PERSON_ACTION_* constants + dw SetFacingStanding, SetFacingStanding + dw SetFacingStandAction, SetFacingCurrent + dw SetFacingStepAction, SetFacingCurrent + dw SetFacingBumpAction, SetFacingCurrent + dw SetFacingCounterclockwiseSpin, SetFacingCurrent + dw SetFacingCounterclockwiseSpin2, SetFacingStanding + dw SetFacingFish, SetFacingFish + dw SetFacingShadow, SetFacingStanding + dw SetFacingEmote, SetFacingEmote + dw SetFacingBigDollSym, SetFacingBigDollSym + dw SetFacingBounce, SetFacingFreezeBounce + dw SetFacingWeirdTree, SetFacingCurrent + dw SetFacingBigDollAsym, SetFacingBigDollAsym + dw SetFacingBigDoll, SetFacingBigDoll + dw SetFacingBoulderDust, SetFacingStanding + dw SetFacingGrassShake, SetFacingStanding + dw SetFacingSkyfall, SetFacingCurrent ; 44a3 SetFacingStanding: ; 44a3 diff --git a/engine/map_objects.asm b/engine/map_objects.asm index d5fa84642..83147c168 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -155,8 +155,8 @@ Function437b: ; 437b jr nz, SetFacingStanding bit 5, [hl] jr nz, asm_4448 - ld de, Pointers445f ; use first column - jr asm_444d + ld de, PersonActionPairPointers ; use first column + jr _HandleObjectAction ; 4440 Function4440: ; 4440 @@ -164,13 +164,28 @@ Function4440: ; 4440 add hl, bc bit INVISIBLE, [hl] jr nz, SetFacingStanding -asm_4448 ; use second column - ld de, Pointers445f + 2 - jr asm_444d +asm_4448 + ld de, PersonActionPairPointers + 2 ; use second column + jr _HandleObjectAction ; 444d -asm_444d +_HandleObjectAction ; call [4 * ObjectStructs[ObjInd, OBJECT_ACTION] + de] + ld hl, OBJECT_ACTION + add hl, bc + ld a, [hl] + ld l, a + ld h, 0 + add hl, hl + add hl, hl + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call _hl_ + ret +; 445f + INCLUDE "engine/map_object_action.asm" CopyNextCoordsTileToStandingCoordsTile: ; 4600 @@ -535,6 +550,7 @@ MapObjectMovementPattern: ; 47dd ret .Pointers: ; 47e9 +; entries correspond to SPRITEMOVEFN_* constants dw .Null_00 ; 00 dw .RandomWalkY ; 01 dw .RandomWalkX ; 02 @@ -1085,7 +1101,7 @@ SetRandomStepDuration: ; 4b2d ; 4b45 StepTypesJumptable: ; 4b45 -; These pointers use OBJECT_STEP_TYPE. See constants/sprite_constants.asm +; entries correspond to STEP_TYPE_* constants dw ObjectMovementReset ; 00 dw MapObjectMovementPattern ; unused dw NPCStep ; 02 npc walk diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm index d66ea6fac..6874c82c5 100755 --- a/engine/mon_icons.asm +++ b/engine/mon_icons.asm @@ -178,7 +178,7 @@ InitPartyMenuIcon: ; 8e908 (23:6908) ; x coord ld e, $10 ; type is partymon icon - ld a, SPRITE_ANIM_INDEX_00 + ld a, SPRITE_ANIM_INDEX_PARTY_MON call InitSpriteAnimStruct pop af ld hl, SPRITEANIMSTRUCT_TILE_ID @@ -215,7 +215,9 @@ SetPartyMonIconAnimSpeed: ; 8e936 (23:6936) ; 8e95e (23:695e) .speeds ; 8e95e - db $00, $40, $80 + db $00 ; HP_GREEN + db $40 ; HP_YELLOW + db $80 ; HP_RED ; 8e961 NamingScreen_InitAnimatedMonIcon: ; 8e961 (23:6961) @@ -225,7 +227,7 @@ NamingScreen_InitAnimatedMonIcon: ; 8e961 (23:6961) xor a call GetIconGFX depixel 4, 4, 4, 0 - ld a, SPRITE_ANIM_INDEX_00 + ld a, SPRITE_ANIM_INDEX_PARTY_MON call InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc @@ -240,7 +242,7 @@ MoveList_InitAnimatedMonIcon: ; 8e97d (23:697d) call GetIconGFX ld d, 3 * 8 + 2 ld e, 4 * 8 + 4 - ld a, SPRITE_ANIM_INDEX_00 + ld a, SPRITE_ANIM_INDEX_PARTY_MON call InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc @@ -376,7 +378,7 @@ FreezeMonIcons: ; 8ea4a jr .ok .loadwithtwo - ld a, SPRITE_ANIM_SEQ_02 + ld a, SPRITE_ANIM_SEQ_PARTY_MON_SWITCH .ok push hl @@ -407,7 +409,7 @@ UnfreezeMonIcons: ; 8ea71 ld b, h ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc - ld [hl], SPRITE_ANIM_SEQ_01 + ld [hl], SPRITE_ANIM_SEQ_PARTY_MON pop hl .next ld bc, $10 @@ -428,11 +430,11 @@ HoldSwitchmonIcon: ; 8ea8c jr z, .next cp d jr z, .is_switchmon - ld a, SPRITE_ANIM_SEQ_03 + ld a, SPRITE_ANIM_SEQ_PARTY_MON_SELECTED jr .join_back .is_switchmon - ld a, SPRITE_ANIM_SEQ_02 + ld a, SPRITE_ANIM_SEQ_PARTY_MON_SWITCH .join_back push hl ld c, l diff --git a/engine/mon_menu.asm b/engine/mon_menu.asm index a6dcf0eb7..fbeffe3ed 100755 --- a/engine/mon_menu.asm +++ b/engine/mon_menu.asm @@ -9,8 +9,7 @@ MonMenuOptionStrings: ; 24caf ; 24cd9 MonMenuOptions: ; 24cd9 - -; Moves +; moves db MONMENU_FIELD_MOVE, MONMENU_CUT, CUT db MONMENU_FIELD_MOVE, MONMENU_FLY, FLY db MONMENU_FIELD_MOVE, MONMENU_SURF, SURF @@ -25,8 +24,7 @@ MonMenuOptions: ; 24cd9 db MONMENU_FIELD_MOVE, MONMENU_ROCKSMASH, ROCK_SMASH db MONMENU_FIELD_MOVE, MONMENU_MILKDRINK, MILK_DRINK db MONMENU_FIELD_MOVE, MONMENU_SWEETSCENT, SWEET_SCENT - -; Options +; options db MONMENU_MENUOPTION, MONMENU_STATS, 1 ; STATS db MONMENU_MENUOPTION, MONMENU_SWITCH, 2 ; SWITCH db MONMENU_MENUOPTION, MONMENU_ITEM, 3 ; ITEM @@ -34,7 +32,6 @@ MonMenuOptions: ; 24cd9 db MONMENU_MENUOPTION, MONMENU_MOVE, 5 ; MOVE db MONMENU_MENUOPTION, MONMENU_MAIL, 6 ; MAIL db MONMENU_MENUOPTION, MONMENU_ERROR, 7 ; ERROR! - db -1 ; 24d19 @@ -216,7 +213,7 @@ GetMonSubmenuItems: ; 24dd4 .skip2 ld a, [Buffer1] - cp NUM_MON_SUBMENU_ITEMS + cp NUM_MONMENU_ITEMS jr z, .ok2 ld a, MONMENU_CANCEL call AddMonMenuItem @@ -261,7 +258,7 @@ ResetMonSubmenu: ; 24e68 xor a ld [Buffer1], a ld hl, Buffer2 - ld bc, NUM_MON_SUBMENU_ITEMS + 1 + ld bc, NUM_MONMENU_ITEMS + 1 call ByteFill ret ; 24e76 diff --git a/engine/move_mon.asm b/engine/move_mon.asm index e07237d68..21b6994ac 100755 --- a/engine/move_mon.asm +++ b/engine/move_mon.asm @@ -1543,7 +1543,7 @@ CalcPkmnStatC: ; e17b call Divide ld a, c cp STAT_HP - ld a, 5 + ld a, STAT_MIN_NORMAL jr nz, .not_hp ld a, [CurPartyLevel] ld b, a @@ -1556,7 +1556,7 @@ CalcPkmnStatC: ; e17b ld [hMultiplicand + 1], a .no_overflow_3 - ld a, 10 + ld a, STAT_MIN_HP .not_hp ld b, a diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm index 4a7ca301a..19859d96e 100755 --- a/engine/namingscreen.asm +++ b/engine/namingscreen.asm @@ -419,7 +419,7 @@ NamingScreenJoypadLoop: ; 11915 jr nz, .got_cursor_position ld d, 8 * 8 .got_cursor_position - ld a, SPRITE_ANIM_INDEX_02 + ld a, SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR call _InitSpriteAnimStruct ld a, c ld [wNamingScreenCursorObjectPointer], a @@ -1039,7 +1039,7 @@ _ComposeMailMessage: ; 11e75 (mail?) ; init mail icon depixel 3, 2 - ld a, SPRITE_ANIM_INDEX_00 + ld a, SPRITE_ANIM_INDEX_PARTY_MON call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID @@ -1174,7 +1174,7 @@ INCBIN "gfx/icon/mail2.2bpp" .init_blinking_cursor ; 1201b (4:601b) depixel 9, 2 - ld a, SPRITE_ANIM_INDEX_09 + ld a, SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR call _InitSpriteAnimStruct ld a, c ld [wNamingScreenCursorObjectPointer], a diff --git a/engine/overworld.asm b/engine/overworld.asm index 4d22e55b6..330dd3893 100755 --- a/engine/overworld.asm +++ b/engine/overworld.asm @@ -181,7 +181,7 @@ MapCallbackSprites_LoadUsedSpritesGFX: ; 14209 callba LoadEmote call GetMapPermission call CheckOutdoorMap - ld c, EMOTE_0B + ld c, EMOTE_GRASS_RUSTLE jr z, .outdoor ld c, EMOTE_BOULDER_DUST .outdoor @@ -723,10 +723,7 @@ emote_header: MACRO ENDM EmotesPointers: ; 144d -; dw source address -; db length, bank -; dw dest address - +; graphics address, length, starting tile emote_header ShockEmote, 4, $78 emote_header QuestionEmote, 4, $78 emote_header HappyEmote, 4, $78 diff --git a/engine/phone.asm b/engine/phone.asm index f5f39218d..8163047e0 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -769,7 +769,7 @@ phone: MACRO db \6 dba \7 ; script 2 ENDM - +; entries correspond to PHONE_* constants phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript diff --git a/engine/pokegear.asm b/engine/pokegear.asm index 8e5697f75..dadee0629 100755 --- a/engine/pokegear.asm +++ b/engine/pokegear.asm @@ -751,7 +751,7 @@ TownMap_GetKantoLandmarkLimits: ; 910e8 PokegearRadio_Init: ; 910f9 (24:50f9) call InitPokegearTilemap depixel 4, 10, 4, 4 - ld a, SPRITE_ANIM_INDEX_14 + ld a, SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc @@ -2910,7 +2910,7 @@ TownMapMon: ; 91f7b callba GetSpeciesIcon ; Animation/palette depixel 0, 0 - ld a, SPRITE_ANIM_INDEX_00 + ld a, SPRITE_ANIM_INDEX_PARTY_MON call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc diff --git a/engine/radio.asm b/engine/radio.asm index 99408af48..8760956b2 100644 --- a/engine/radio.asm +++ b/engine/radio.asm @@ -234,7 +234,7 @@ OaksPkmnTalk4: jr z, .done .next dec hl - ld de, WILDMON_GRASS_STRUCTURE_LENGTH + ld de, GRASS_WILDDATA_LENGTH add hl, de jr .loop @@ -249,12 +249,12 @@ endr cp 3 jr z, .loop2 - ld bc, 2 * NUM_WILDMONS_PER_AREA_TIME_OF_DAY + ld bc, 2 * NUM_GRASSMON call AddNTimes .loop3 ; Choose one of the middle three Pokemon. call Random - and NUM_WILDMONS_PER_AREA_TIME_OF_DAY + and NUM_GRASSMON cp 2 jr c, .loop3 cp 5 diff --git a/engine/scripting.asm b/engine/scripting.asm index 42976ad65..b5fb027ab 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -979,7 +979,7 @@ Script_cry: ret GetScriptPerson: - and a + and a ; PLAYER? ret z cp LAST_TALKED ret z @@ -2170,7 +2170,7 @@ Script_givepokeitem: ld b, a push bc inc hl - ld bc, MAIL_MAX_LENGTH + ld bc, MAIL_MSG_LENGTH ld de, wd002 ld a, [ScriptBank] call FarCopyBytes @@ -2955,9 +2955,9 @@ ExitScriptSubroutine: ld e, [hl] ld d, $0 ld hl, wScriptStack - add hl,de - add hl,de - add hl,de + add hl, de + add hl, de + add hl, de ld a, [hli] ld b, a and " " diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index 93be28d9a..c131e584f 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -1067,7 +1067,7 @@ ReelAction_InitGolem: ; 92d20 push bc push af depixel 12, 13 - ld a, SPRITE_ANIM_INDEX_SLOT_GOLEM + ld a, SPRITE_ANIM_INDEX_SLOTS_GOLEM call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_0E add hl, bc diff --git a/engine/spawn_points.asm b/engine/spawn_points.asm index e8f1177f2..69b91446e 100644 --- a/engine/spawn_points.asm +++ b/engine/spawn_points.asm @@ -50,9 +50,8 @@ LoadSpawnPoint: ; 1531f jr z, .spawn_n_a ld l, a ld h, 0 -rept 2 ; multiply hl by 4 - add hl,hl -endr + add hl, hl + add hl, hl ld de, SpawnPoints add hl, de ld a, [hli] diff --git a/engine/specials.asm b/engine/specials.asm index 2548cf076..6baca2697 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -2,9 +2,9 @@ Special:: ; c01b ; Run script special de. ld hl, SpecialsPointers - add hl,de - add hl,de - add hl,de + add hl, de + add hl, de + add hl, de ld b, [hl] inc hl ld a, [hli] diff --git a/engine/sprite_anims.asm b/engine/sprite_anims.asm index ed7fe20ad..e6681c8ac 100755 --- a/engine/sprite_anims.asm +++ b/engine/sprite_anims.asm @@ -13,54 +13,54 @@ DoAnimFrame: ; 8d24b ; 8d25b .Jumptable: ; 8d25b (23:525b) - - dw .Null ; null - dw .one ; bouncing mon icon - dw .two ; bouncing mon icon, selected - dw .three ; bouncing mon icon, menu open - dw .four +; entries correspond to SPRITE_ANIM_SEQ_* constants + dw .Null + dw .PartyMon + dw .PartyMonSwitch + dw .PartyMonSelected + dw .sprite_anim_seq_04 dw .namingscreencursor - dw .GameFreakLogo ; Game Freak logo - dw .seven - dw .eight - dw .SlotsGolem ; Something to do with slots - dw .SlotsChansey ; Something to do with slots - dw .SlotsChanseyEgg ; Something to do with slots - dw .mailcompositioncursor ; blinking cursor - dw .thirteen - dw .fourteen - dw .fifteen - dw .sixteen - dw .seventeen - dw .eighteen - dw .EggShell ; finish egg hatching animation - dw .RadioTuningKnob ; radio tuning knob - dw .twentyone ; cut grass leaves - dw .FlyFrom ; flying sprite - dw .FlyLeaf ; flying leaves - dw .FlyTo ; fly to - dw .twentyfive - dw .twentysix - dw .twentyseven - dw .twentyeight - dw .twentynine ; intro suicune - dw .thirty ; intro pichu wooper - dw .thirtyone ; celebi - dw .thirtytwo ; intro unown - dw .thirtythree ; intro unown F with suicune leaping up - dw .thirtyfour ; intro suicune facing away from us + dw .GameFreakLogo + dw .GSIntroStar + dw .GSIntroSparkle + dw .SlotsGolem + dw .SlotsChansey + dw .SlotsChanseyEgg + dw .MailCursor + dw .sprite_anim_seq_0D + dw .sprite_anim_seq_0E + dw .sprite_anim_seq_0F + dw .TradePokeBall + dw .TradeTubeBulge + dw .TrademonInTube + dw .RevealNewMon + dw .RadioTuningKnob + dw .CutLeaves + dw .FlyFrom + dw .FlyLeaf + dw .FlyTo + dw .sprite_anim_seq_19 + dw .sprite_anim_seq_1A + dw .sprite_anim_seq_1B + dw .sprite_anim_seq_1C + dw .IntroSuicune + dw .IntroPichuWooper + dw .Celebi + dw .IntroUnown + dw .IntroUnownF + dw .IntroSuicuneAway .Null: ; 8d2a1 (23:52a1) ret -.one ; 8d2a2 (23:52a2) +.PartyMon ; 8d2a2 (23:52a2) ld a, [wMenuCursorY] ld hl, SPRITEANIMSTRUCT_INDEX add hl, bc cp [hl] - jr z, .two + jr z, .PartyMonSwitch ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc @@ -71,7 +71,7 @@ DoAnimFrame: ; 8d24b ld [hl], $0 ret -.two ; 8d2b9 (23:52b9) +.PartyMonSwitch ; 8d2b9 (23:52b9) ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld [hl], 8 * 3 @@ -113,7 +113,7 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.three ; 8d2ea (23:52ea) +.PartyMonSelected ; 8d2ea (23:52ea) ld a, [wMenuCursorY] ld hl, SPRITEANIMSTRUCT_INDEX @@ -132,7 +132,7 @@ DoAnimFrame: ; 8d24b ld [hl], 8 * 3 ret -.four ; 8d302 (23:5302) +.sprite_anim_seq_04 ; 8d302 (23:5302) call .AnonymousJumptable jp hl ; 8d306 (23:5306) @@ -203,7 +203,7 @@ DoAnimFrame: ; 8d24b ret ; 8d35a -.twentyfive ; 8d35a (23:535a) +.sprite_anim_seq_19 ; 8d35a (23:535a) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -221,7 +221,7 @@ DoAnimFrame: ; 8d24b callab NamingScreen_AnimateCursor ret -.mailcompositioncursor ; 8d373 (23:5373) +.MailCursor ; 8d373 (23:5373) callab ComposeMail_AnimateCursor ret @@ -229,7 +229,7 @@ DoAnimFrame: ; 8d24b callab GameFreakLogoJumper ret -.seven ; 8d381 (23:5381) +.GSIntroStar ; 8d381 (23:5381) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -279,7 +279,7 @@ DoAnimFrame: ; 8d24b call DeinitializeSprite ret -.eight ; 8d3c3 (23:53c3) +.GSIntroSparkle ; 8d3c3 (23:53c3) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hli] @@ -404,33 +404,33 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.thirteen ; 8d46e (23:546e) +.sprite_anim_seq_0D ; 8d46e (23:546e) callab ret_e00ed ret -.fifteen ; 8d475 (23:5475) +.sprite_anim_seq_0F ; 8d475 (23:5475) callab AnimatePokegearModeIndicatorArrow ret -.fourteen ; 8d47c (23:547c) +.sprite_anim_seq_0E ; 8d47c (23:547c) callab DummyGame_InterpretJoypad_AnimateCursor ret -.sixteen ; 8d483 (23:5483) +.TradePokeBall ; 8d483 (23:5483) call .AnonymousJumptable jp hl ; 8d487 (23:5487) ; Anonymous dw (see .AnonymousJumptable) - dw .sixteen_zero - dw .sixteen_one - dw .sixteen_two - dw .sixteen_three - dw .sixteen_four - dw .sixteen_five + dw .TradePokeBall_zero + dw .TradePokeBall_one + dw .TradePokeBall_two + dw .TradePokeBall_three + dw .TradePokeBall_four + dw .TradePokeBall_five ; 8d493 -.sixteen_zero ; 8d493 +.TradePokeBall_zero ; 8d493 ld a, SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0 call _ReinitSpriteAnimFrame @@ -444,7 +444,7 @@ DoAnimFrame: ; 8d24b ret ; 8d4a5 -.sixteen_two ; 8d4a5 +.TradePokeBall_two ; 8d4a5 ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -460,7 +460,7 @@ DoAnimFrame: ; 8d24b add hl, bc ld [hl], $40 -.sixteen_three ; 8d4b8 +.TradePokeBall_three ; 8d4b8 ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -478,10 +478,10 @@ DoAnimFrame: ; 8d24b .asm_8d4cd ld de, SFX_GOT_SAFARI_BALLS call PlaySFX - jr .sixteen_five + jr .TradePokeBall_five ; 8d4d5 -.sixteen_one ; 8d4d5 +.TradePokeBall_one ; 8d4d5 ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc ld [hl], $4 @@ -496,7 +496,7 @@ DoAnimFrame: ; 8d24b ret ; 8d4e8 -.sixteen_four ; 8d4e8 +.TradePokeBall_four ; 8d4e8 ld hl, SPRITEANIMSTRUCT_0D add hl, bc ld a, [hl] @@ -542,12 +542,12 @@ DoAnimFrame: ; 8d24b call .IncrementJumptableIndex ret -.sixteen_five ; 8d526 +.TradePokeBall_five ; 8d526 call DeinitializeSprite ret ; 8d52a -.seventeen ; 8d52a (23:552a) +.TradeTubeBulge ; 8d52a (23:552a) ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc ld a, [hl] @@ -565,11 +565,11 @@ DoAnimFrame: ; 8d24b call DeinitializeSprite ret -.eighteen ; 8d543 (23:5543) +.TrademonInTube ; 8d543 (23:5543) callab TradeAnim_AnimateTrademonInTube ret -.EggShell: ; 8d54a (23:554a) +.RevealNewMon: ; 8d54a (23:554a) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -610,7 +610,7 @@ DoAnimFrame: ; 8d24b callab AnimateTuningKnob ret -.twentyone ; 8d57f (23:557f) +.CutLeaves ; 8d57f (23:557f) ld hl, SPRITEANIMSTRUCT_0D add hl, bc ld e, [hl] @@ -749,15 +749,15 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.twentyseven ; 8d630 (23:5630) +.sprite_anim_seq_1B ; 8d630 (23:5630) callba Function108bc7 ret -.twentyeight ; 8d637 (23:5637) +.sprite_anim_seq_1C ; 8d637 (23:5637) callba Function108be0 ret -.twentynine ; 8d63e (23:563e) +.IntroSuicune ; 8d63e (23:563e) ld a, [wcf65] and a jr nz, .asm_8d645 @@ -784,7 +784,7 @@ DoAnimFrame: ; 8d24b call _ReinitSpriteAnimFrame ret -.thirty ; 8d666 (23:5666) +.IntroPichuWooper ; 8d666 (23:5666) ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -803,7 +803,7 @@ DoAnimFrame: ; 8d24b .asm_8d67f ret -.thirtytwo ; 8d680 (23:5680) +.IntroUnown ; 8d680 (23:5680) ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc ld d, [hl] @@ -830,7 +830,7 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.thirtythree ; 8d6a2 (23:56a2) +.IntroUnownF ; 8d6a2 (23:56a2) ld a, [wcf64] cp $40 ret nz @@ -838,7 +838,7 @@ DoAnimFrame: ; 8d24b call _ReinitSpriteAnimFrame ret -.thirtyfour ; 8d6ae (23:56ae) +.IntroSuicuneAway ; 8d6ae (23:56ae) ld hl, SPRITEANIMSTRUCT_YCOORD add hl, bc ld a, [hl] @@ -846,11 +846,11 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.twentysix ; 8d6b7 (23:56b7) +.sprite_anim_seq_1A ; 8d6b7 (23:56b7) callba AnimateEZChatCursor ret -.thirtyone ; 8d6be (23:56be) +.Celebi ; 8d6be (23:56be) callba UpdateCelebiPosition ret diff --git a/engine/sprites.asm b/engine/sprites.asm index b358275eb..ad36dfbc9 100755 --- a/engine/sprites.asm +++ b/engine/sprites.asm @@ -551,51 +551,97 @@ BrokenGetStdGraphics: ; 8d1ac ; 8d1c4 SpriteAnimSeqData: ; 8d1c4 +; entries correspond to SPRITE_ANIM_INDEX_* constants ; frameset sequence, tile - db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_01, $00 ; 00 - db SPRITE_ANIM_FRAMESET_07, SPRITE_ANIM_SEQ_04, $00 ; 01 - db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_05, $05 ; 02 - db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; 03 - db SPRITE_ANIM_FRAMESET_0B, SPRITE_ANIM_SEQ_07, $06 ; 04 gs intro star - db SPRITE_ANIM_FRAMESET_0C, SPRITE_ANIM_SEQ_08, $06 ; 05 gs intro sparkle - db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOT_GOLEM, $07 ; 06 slots golem - db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; 07 slots chansey - db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; 08 slots egg - db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_0C, $05 ; 09 - db SPRITE_ANIM_FRAMESET_WALK_CYCLE, SPRITE_ANIM_SEQ_NULL, $00 ; 0a walk cycle - db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0D, $08 ; 0b - db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0E, $08 ; 0c - db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0F, $08 ; 0d - db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_10, $00 ; 0e - db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; 0f - db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_11, $00 ; 10 - db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; 11 - db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; 12 - db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_13, $00 ; 13 - db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_14, $00 ; 14 radio tuning knob - db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; 15 chris on magnet train - db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_15, $00 ; 16 leaves when cutting down a tree - db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; 17 - db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; 18 flying leaves - db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; 19 - db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 ; 1a - db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; 1b headbutt - db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_13, $00 ; 1c - db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; 1d - db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; 1e kris on map - db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; 1f kris on magnet train - db SPRITE_ANIM_FRAMESET_2F, SPRITE_ANIM_SEQ_NULL, $00 ; 20 - db SPRITE_ANIM_FRAMESET_30, SPRITE_ANIM_SEQ_NULL, $00 ; 21 - db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00 ; 22 - db SPRITE_ANIM_FRAMESET_32, SPRITE_ANIM_SEQ_1B, $00 ; 23 - db SPRITE_ANIM_FRAMESET_33, SPRITE_ANIM_SEQ_1C, $00 ; 24 - db SPRITE_ANIM_FRAMESET_34, SPRITE_ANIM_SEQ_NULL, $00 ; 25 - db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_1D, $00 ; 26 - db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_1E, $00 ; 27 - db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_1E, $00 ; 28 - db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_20, $00 ; 29 intro unown - db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_21, $00 ; 2a - db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_22, $00 ; 2b +; SPRITE_ANIM_INDEX_PARTY_MON + db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 +; SPRITE_ANIM_INDEX_01 + db SPRITE_ANIM_FRAMESET_07, SPRITE_ANIM_SEQ_04, $00 +; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR + db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 +; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO + db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 +; SPRITE_ANIM_INDEX_GS_INTRO_STAR + db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 +; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE + db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 +; SPRITE_ANIM_INDEX_SLOTS_GOLEM + db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 +; SPRITE_ANIM_INDEX_SLOTS_CHANSEY + db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 +; SPRITE_ANIM_INDEX_SLOTS_EGG + db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 +; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR + db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 +; SPRITE_ANIM_INDEX_RED_WALK + db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_0B + db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0D, $08 +; SPRITE_ANIM_INDEX_DUMMY_GAME + db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0E, $08 +; SPRITE_ANIM_INDEX_0D + db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0F, $08 +; SPRITE_ANIM_INDEX_TRADE_POKE_BALL + db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 +; SPRITE_ANIM_INDEX_TRADE_POOF + db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE + db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 +; SPRITE_ANIM_INDEX_TRADEMON_ICON + db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 +; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE + db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 +; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT + db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 +; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB + db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 +; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED + db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_LEAF + db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 +; SPRITE_ANIM_INDEX_CUT_TREE + db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_FLY_LEAF + db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 +; SPRITE_ANIM_INDEX_EGG_CRACK + db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_1A + db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 +; SPRITE_ANIM_INDEX_HEADBUTT + db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_EGG_HATCH + db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 +; SPRITE_ANIM_INDEX_1D + db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 +; SPRITE_ANIM_INDEX_BLUE_WALK + db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE + db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_20 + db SPRITE_ANIM_FRAMESET_2F, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_21 + db SPRITE_ANIM_FRAMESET_30, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_22 + db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_23 + db SPRITE_ANIM_FRAMESET_32, SPRITE_ANIM_SEQ_1B, $00 +; SPRITE_ANIM_INDEX_24 + db SPRITE_ANIM_FRAMESET_33, SPRITE_ANIM_SEQ_1C, $00 +; SPRITE_ANIM_INDEX_25 + db SPRITE_ANIM_FRAMESET_34, SPRITE_ANIM_SEQ_NULL, $00 +; SPRITE_ANIM_INDEX_INTRO_SUICUNE + db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 +; SPRITE_ANIM_INDEX_INTRO_PICHU + db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 +; SPRITE_ANIM_INDEX_INTRO_WOOPER + db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 +; SPRITE_ANIM_INDEX_INTRO_UNOWN + db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 +; SPRITE_ANIM_INDEX_INTRO_UNOWN_F + db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 +; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY + db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 +; SPRITE_ANIM_INDEX_CELEBI db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; 2c ; 8d24b diff --git a/engine/trade/animation.asm b/engine/trade/animation.asm index fa351ba3d..a1f46b48c 100755 --- a/engine/trade/animation.asm +++ b/engine/trade/animation.asm @@ -1110,7 +1110,7 @@ TrademonStats_PrintTrademonID: ; 29611 TradeAnim_RockingBall: ; 2961b depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_0E + ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL call _InitSpriteAnimStruct call TradeAnim_AdvanceScriptPointer ld a, $20 @@ -1121,7 +1121,7 @@ TradeAnim_RockingBall: ; 2961b TradeAnim_DropBall: ; 2962c depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_0E + ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX add hl, bc @@ -1138,7 +1138,7 @@ TradeAnim_DropBall: ; 2962c TradeAnim_Poof: ; 29649 depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_0F + ld a, SPRITE_ANIM_INDEX_TRADE_POOF call _InitSpriteAnimStruct call TradeAnim_AdvanceScriptPointer ld a, $10 @@ -1153,7 +1153,7 @@ TradeAnim_BulgeThroughTube: ; 29660 ld a, %11100100 ; 3,2,1,0 call DmgToCgbObjPal0 depixel 5, 11 - ld a, SPRITE_ANIM_INDEX_10 + ld a, SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE call _InitSpriteAnimStruct call TradeAnim_AdvanceScriptPointer ld a, $40 diff --git a/engine/variables.asm b/engine/variables.asm index fde2583b7..edc12ac66 100755 --- a/engine/variables.asm +++ b/engine/variables.asm @@ -35,9 +35,9 @@ _GetVarAction:: ; 80648 (20:4648) ; 80671 (20:4671) .VarActionTable: ; 80671 -; $00: copy [de] to StringBuffer2 -; $40: return address in de -; $80: call function +; RETVAR_STRBUF2: copy [de] to StringBuffer2 +; RETVAR_ADDR_DE: return address in de +; RETVAR_EXECUTE: call function dwb StringBuffer2, RETVAR_STRBUF2 dwb PartyCount, RETVAR_STRBUF2 dwb .BattleResult, RETVAR_EXECUTE diff --git a/engine/wildmons.asm b/engine/wildmons.asm index 6208cfbce..bb668f2be 100755 --- a/engine/wildmons.asm +++ b/engine/wildmons.asm @@ -65,7 +65,7 @@ FindNest: ; 2a01f inc hl inc hl inc hl - ld a, NUM_WILDMONS_PER_AREA_TIME_OF_DAY * 3 + ld a, NUM_GRASSMON * 3 call .SearchMapForMon jr nc, .next_grass ld [de], a @@ -73,7 +73,7 @@ FindNest: ; 2a01f .next_grass pop hl - ld bc, WILDMON_GRASS_STRUCTURE_LENGTH + ld bc, GRASS_WILDDATA_LENGTH add hl, bc jr .FindGrass ; 2a06e diff --git a/event/celebi.asm b/event/celebi.asm index 7c8646ec7..c9be9cb39 100755 --- a/event/celebi.asm +++ b/event/celebi.asm @@ -6,14 +6,14 @@ Special_CelebiShrineEvent: ; 4989a ld [VramState], a call LoadCelebiGFX depixel 0, 10, 7, 0 - ld a, SPRITE_ANIM_INDEX_2C + ld a, SPRITE_ANIM_INDEX_CELEBI call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc ld [hl], $84 ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc - ld [hl], SPRITE_ANIM_SEQ_1F + ld [hl], SPRITE_ANIM_SEQ_CELEBI ld hl, SPRITEANIMSTRUCT_0F add hl, bc ld a, $80 diff --git a/event/field_moves.asm b/event/field_moves.asm index 82bc6d3f8..158f65598 100755 --- a/event/field_moves.asm +++ b/event/field_moves.asm @@ -30,7 +30,7 @@ ShakeHeadbuttTree: ; 8c80a lb bc, BANK(HeadbuttTreeGFX), 8 call Request2bpp call Cut_Headbutt_GetPixelFacing - ld a, SPRITE_ANIM_INDEX_1B + ld a, SPRITE_ANIM_INDEX_HEADBUTT call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_TILE_ID add hl, bc diff --git a/event/magnet_train.asm b/event/magnet_train.asm index 75bd12cd7..c6c6da846 100755 --- a/event/magnet_train.asm +++ b/event/magnet_train.asm @@ -323,7 +323,7 @@ MagnetTrain_Jumptable: ; 8cdf7 ld d, 10 * 8 + 5 ld a, [wMagnetTrainPlayerSpriteInitX] ld e, a - ld b, SPRITE_ANIM_INDEX_15 + ld b, SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED ld a, [rSVBK] push af ld a, $1 @@ -331,7 +331,7 @@ MagnetTrain_Jumptable: ; 8cdf7 ld a, [PlayerGender] bit 0, a jr z, .got_gender - ld b, SPRITE_ANIM_INDEX_1F + ld b, SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE .got_gender pop af diff --git a/event/mom_phone.asm b/event/mom_phone.asm index f689745f1..818010091 100755 --- a/event/mom_phone.asm +++ b/event/mom_phone.asm @@ -1,3 +1,7 @@ +const_value = 1 + const MOM_ITEM + const MOM_DOLL + MomTriesToBuySomething:: ; fcfec ld a, [wMapReentryScriptQueueFlag] and a @@ -215,7 +219,6 @@ momitem: macro db \3, \4 ENDM - MomItems_1: ; fd136 momitem 0, 600, MOM_ITEM, SUPER_POTION momitem 0, 90, MOM_ITEM, ANTIDOTE diff --git a/gbhw.asm b/gbhw.asm index c55f1a9ec..3ee05432c 100644 --- a/gbhw.asm +++ b/gbhw.asm @@ -36,6 +36,9 @@ 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) +X_FLIP EQU 1 << OAM_X_FLIP +Y_FLIP EQU 1 << OAM_Y_FLIP +BEHIND_BG EQU 1 << OAM_PRIORITY ; Hardware registers rJOYP EQU $ff00 ; Joypad (R/W) diff --git a/home.asm b/home.asm index 4d9600c54..435c2e55c 100644 --- a/home.asm +++ b/home.asm @@ -718,22 +718,20 @@ SetHPPal:: ; 334e GetHPPal:: ; 3353 ; Get palette for hp bar pixel length e in d. - ld d, HP_GREEN ld a, e cp (50 * 48 / 100) ret nc - inc d ; yellow + inc d ; HP_YELLOW cp (21 * 48 / 100) ret nc - inc d ; red + inc d ; HP_RED ret ; 335f CountSetBits:: ; 0x335f ; Count the number of set bits in b bytes starting from hl. ; Return in a, c and [wd265]. - ld c, 0 .next ld a, [hli] diff --git a/home/flag.asm b/home/flag.asm index 099f4bf00..d2b70731a 100644 --- a/home/flag.asm +++ b/home/flag.asm @@ -38,9 +38,9 @@ FlagAction:: ; 0x2e76 ; inputs: ; b: function -; 0 clear bit -; 1 set bit -; 2 check bit +; 0 RESET_FLAG clear bit +; 1 SET_FLAG set bit +; 2 CHECK_FLAG check bit ; de: bit number ; hl: index within bit table @@ -75,9 +75,9 @@ FlagAction:: ; 0x2e76 ; check b's value: 0, 1, 2 ld a, b - cp 1 - jr c, .clearbit ; 0 - jr z, .setbit ; 1 + cp SET_FLAG + jr c, .clearbit ; RESET_FLAG + jr z, .setbit ; SET_FLAG ; check bit ld a, [hl] diff --git a/home/map.asm b/home/map.asm index 967d13af5..430a7b119 100644 --- a/home/map.asm +++ b/home/map.asm @@ -2284,8 +2284,6 @@ GetWorldMapLocation:: ; 0x2caf ; 0x2cbd GetMapHeaderMusic:: ; 2cbd -RADIO_TOWER_MUSIC EQU 7 - push hl push bc ld de, 6 ; music diff --git a/home/map_objects.asm b/home/map_objects.asm index 4c896c7d7..dfcb411c5 100644 --- a/home/map_objects.asm +++ b/home/map_objects.asm @@ -485,7 +485,7 @@ GetSpriteMovementFunction:: ; 1a2f ld e, a ld d, 0 rept SPRITEMOVEDATA_FIELDS - add hl,de + add hl, de endr ld a, [hl] ret @@ -498,7 +498,7 @@ GetInitialFacing:: ; 1a47 ld d, 0 ld hl, SpriteMovementData + 1 ; init facing rept SPRITEMOVEDATA_FIELDS - add hl,de + add hl, de endr ld a, BANK(SpriteMovementData) call GetFarByte diff --git a/main.asm b/main.asm index 123b4e434..2c19e9743 100644 --- a/main.asm +++ b/main.asm @@ -1481,7 +1481,7 @@ PlayBattleMusic: ; 2ee6c jr nz, .othertrainer ld a, [OtherTrainerID] - cp 4 ; Rival in Indigo Plateau + cp RIVAL2_2_CHIKORITA ; Rival in Indigo Plateau jr c, .done ld de, MUSIC_CHAMPION_BATTLE jr .done diff --git a/maps/AzaleaTown.asm b/maps/AzaleaTown.asm index 769067421..23da7452d 100644 --- a/maps/AzaleaTown.asm +++ b/maps/AzaleaTown.asm @@ -72,7 +72,7 @@ AzaleaTownRivalBattleScript: iftrue .Chikorita winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText setlasttalked AZALEATOWN_SILVER - loadtrainer RIVAL1, RIVAL1_6 + loadtrainer RIVAL1, RIVAL1_2_TOTODILE startbattle dontrestartmapmusic reloadmapafterbattle @@ -81,7 +81,7 @@ AzaleaTownRivalBattleScript: .Totodile: winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText setlasttalked AZALEATOWN_SILVER - loadtrainer RIVAL1, RIVAL1_4 + loadtrainer RIVAL1, RIVAL1_2_CHIKORITA startbattle dontrestartmapmusic reloadmapafterbattle @@ -90,7 +90,7 @@ AzaleaTownRivalBattleScript: .Chikorita: winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText setlasttalked AZALEATOWN_SILVER - loadtrainer RIVAL1, RIVAL1_5 + loadtrainer RIVAL1, RIVAL1_2_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/BurnedTower1F.asm b/maps/BurnedTower1F.asm index 369d89b02..c48bb3bcc 100644 --- a/maps/BurnedTower1F.asm +++ b/maps/BurnedTower1F.asm @@ -73,7 +73,7 @@ BurnedTowerRivalBattleScript: iftrue .chikorita winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText setlasttalked BURNEDTOWER1F_SILVER - loadtrainer RIVAL1, RIVAL1_9 + loadtrainer RIVAL1, RIVAL1_3_TOTODILE startbattle dontrestartmapmusic reloadmapafterbattle @@ -82,7 +82,7 @@ BurnedTowerRivalBattleScript: .totodile winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText setlasttalked BURNEDTOWER1F_SILVER - loadtrainer RIVAL1, RIVAL1_7 + loadtrainer RIVAL1, RIVAL1_3_CHIKORITA startbattle dontrestartmapmusic reloadmapafterbattle @@ -91,7 +91,7 @@ BurnedTowerRivalBattleScript: .chikorita winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText setlasttalked BURNEDTOWER1F_SILVER - loadtrainer RIVAL1, RIVAL1_8 + loadtrainer RIVAL1, RIVAL1_3_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/CherrygroveCity.asm b/maps/CherrygroveCity.asm index 5b0db50f2..12c3f5d9a 100644 --- a/maps/CherrygroveCity.asm +++ b/maps/CherrygroveCity.asm @@ -125,7 +125,7 @@ CherrygroveSilverTriggerNorth: iftrue .Chikorita winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText setlasttalked CHERRYGROVECITY_SILVER - loadtrainer RIVAL1, RIVAL1_3 + loadtrainer RIVAL1, RIVAL1_1_TOTODILE writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE startbattle dontrestartmapmusic @@ -136,7 +136,7 @@ CherrygroveSilverTriggerNorth: .Totodile: winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText setlasttalked CHERRYGROVECITY_SILVER - loadtrainer RIVAL1, RIVAL1_1 + loadtrainer RIVAL1, RIVAL1_1_CHIKORITA writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE startbattle dontrestartmapmusic @@ -147,7 +147,7 @@ CherrygroveSilverTriggerNorth: .Chikorita: winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText setlasttalked CHERRYGROVECITY_SILVER - loadtrainer RIVAL1, RIVAL1_2 + loadtrainer RIVAL1, RIVAL1_1_CYNDAQUIL writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE startbattle dontrestartmapmusic diff --git a/maps/IndigoPlateauPokeCenter1F.asm b/maps/IndigoPlateauPokeCenter1F.asm index 4ebc80cd1..4b906d818 100644 --- a/maps/IndigoPlateauPokeCenter1F.asm +++ b/maps/IndigoPlateauPokeCenter1F.asm @@ -102,7 +102,7 @@ PlateauRivalBattleCommon: ; Cyndaquil winlosstext PlateauRivalWinText, PlateauRivalLoseText setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER - loadtrainer RIVAL2, 6 + loadtrainer RIVAL2, RIVAL2_2_TOTODILE startbattle dontrestartmapmusic reloadmapafterbattle @@ -111,7 +111,7 @@ PlateauRivalBattleCommon: .Totodile: winlosstext PlateauRivalWinText, PlateauRivalLoseText setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER - loadtrainer RIVAL2, 4 + loadtrainer RIVAL2, RIVAL2_2_CHIKORITA startbattle dontrestartmapmusic reloadmapafterbattle @@ -120,7 +120,7 @@ PlateauRivalBattleCommon: .Chikorita: winlosstext PlateauRivalWinText, PlateauRivalLoseText setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER - loadtrainer RIVAL2, 5 + loadtrainer RIVAL2, RIVAL2_2_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/MountMoon.asm b/maps/MountMoon.asm index 649b5686f..3a98e1b90 100644 --- a/maps/MountMoon.asm +++ b/maps/MountMoon.asm @@ -36,7 +36,7 @@ MountMoon_MapScriptHeader: iftrue .Chikorita winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss setlasttalked MOUNTMOON_SILVER - loadtrainer RIVAL2, 3 + loadtrainer RIVAL2, RIVAL2_1_TOTODILE startbattle dontrestartmapmusic reloadmapafterbattle @@ -45,7 +45,7 @@ MountMoon_MapScriptHeader: .Totodile: winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss setlasttalked MOUNTMOON_SILVER - loadtrainer RIVAL2, 1 + loadtrainer RIVAL2, RIVAL2_1_CHIKORITA startbattle dontrestartmapmusic reloadmapafterbattle @@ -54,7 +54,7 @@ MountMoon_MapScriptHeader: .Chikorita: winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss setlasttalked MOUNTMOON_SILVER - loadtrainer RIVAL2, 2 + loadtrainer RIVAL2, RIVAL2_1_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/RadioTower4F.asm b/maps/RadioTower4F.asm index 837858d69..983beb843 100644 --- a/maps/RadioTower4F.asm +++ b/maps/RadioTower4F.asm @@ -67,7 +67,7 @@ GruntM10Script: end TrainerExecutivem2: - trainer EVENT_BEAT_ROCKET_EXECUTIVEM_2, EXECUTIVEM, 2, Executivem2SeenText, Executivem2BeatenText, 0, Executivem2Script + trainer EVENT_BEAT_ROCKET_EXECUTIVEM_2, EXECUTIVEM, EXECUTIVEM_2, Executivem2SeenText, Executivem2BeatenText, 0, Executivem2Script Executivem2Script: end_if_just_battled diff --git a/maps/RadioTower5F.asm b/maps/RadioTower5F.asm index 31d54e742..c9c965496 100644 --- a/maps/RadioTower5F.asm +++ b/maps/RadioTower5F.asm @@ -41,7 +41,7 @@ FakeDirectorScript: closetext winlosstext FakeDirectorWinText, 0 setlasttalked RADIOTOWER5F_DIRECTOR - loadtrainer EXECUTIVEM, 3 + loadtrainer EXECUTIVEM, EXECUTIVEM_3 startbattle reloadmapafterbattle opentext @@ -70,7 +70,7 @@ Director: end TrainerExecutivef1: - trainer EVENT_BEAT_ROCKET_EXECUTIVEF_1, EXECUTIVEF, 1, Executivef1SeenText, Executivef1BeatenText, 0, Executivef1Script + trainer EVENT_BEAT_ROCKET_EXECUTIVEF_1, EXECUTIVEF, EXECUTIVEF_1, Executivef1SeenText, Executivef1BeatenText, 0, Executivef1Script Executivef1Script: end_if_just_battled @@ -90,7 +90,7 @@ RadioTower5FRocketBossTrigger: closetext winlosstext RadioTower5FRocketBossWinText, 0 setlasttalked RADIOTOWER5F_ROCKET - loadtrainer EXECUTIVEM, 1 + loadtrainer EXECUTIVEM, EXECUTIVEM_1 startbattle reloadmapafterbattle opentext diff --git a/maps/TeamRocketBaseB2F.asm b/maps/TeamRocketBaseB2F.asm index 26adc801b..d3e208e99 100644 --- a/maps/TeamRocketBaseB2F.asm +++ b/maps/TeamRocketBaseB2F.asm @@ -102,7 +102,7 @@ UnknownScript_0x6cfac: applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d248 winlosstext UnknownText_0x6d45c, 0 setlasttalked TEAMROCKETBASEB2F_ROCKET_GIRL - loadtrainer EXECUTIVEF, 2 + loadtrainer EXECUTIVEF, EXECUTIVEF_2 startbattle disappear TEAMROCKETBASEB2F_DRAGON setevent EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE diff --git a/maps/TeamRocketBaseB3F.asm b/maps/TeamRocketBaseB3F.asm index 990e55608..c08d004b5 100644 --- a/maps/TeamRocketBaseB3F.asm +++ b/maps/TeamRocketBaseB3F.asm @@ -109,7 +109,7 @@ UnknownScript_0x6e056: applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e142 winlosstext UnknownText_0x6e511, 0 setlasttalked TEAMROCKETBASEB3F_ROCKET1 - loadtrainer EXECUTIVEM, 4 + loadtrainer EXECUTIVEM, EXECUTIVEM_4 startbattle reloadmapafterbattle setevent EVENT_BEAT_ROCKET_EXECUTIVEM_4 diff --git a/maps/UndergroundPathSwitchRoomEntrances.asm b/maps/UndergroundPathSwitchRoomEntrances.asm index bf4f1f1c9..66d9a417f 100644 --- a/maps/UndergroundPathSwitchRoomEntrances.asm +++ b/maps/UndergroundPathSwitchRoomEntrances.asm @@ -178,7 +178,7 @@ UndergroundSilverBattleScript: iftrue .Chikorita winlosstext UndergroundSilverWinText, UndergroundSilverLossText setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER - loadtrainer RIVAL1, RIVAL1_12 + loadtrainer RIVAL1, RIVAL1_4_TOTODILE startbattle dontrestartmapmusic reloadmapafterbattle @@ -187,7 +187,7 @@ UndergroundSilverBattleScript: .Totodile: winlosstext UndergroundSilverWinText, UndergroundSilverLossText setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER - loadtrainer RIVAL1, RIVAL1_10 + loadtrainer RIVAL1, RIVAL1_4_CHIKORITA startbattle dontrestartmapmusic reloadmapafterbattle @@ -196,7 +196,7 @@ UndergroundSilverBattleScript: .Chikorita: winlosstext UndergroundSilverWinText, UndergroundSilverLossText setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER - loadtrainer RIVAL1, RIVAL1_11 + loadtrainer RIVAL1, RIVAL1_4_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/VictoryRoad.asm b/maps/VictoryRoad.asm index 3b85a534a..46f59f5c3 100644 --- a/maps/VictoryRoad.asm +++ b/maps/VictoryRoad.asm @@ -66,7 +66,7 @@ UnknownScript_0x744d4: iftrue UnknownScript_0x7450f winlosstext UnknownText_0x7463d, UnknownText_0x747aa setlasttalked VICTORYROAD_SILVER - loadtrainer RIVAL1, RIVAL1_15 + loadtrainer RIVAL1, RIVAL1_5_TOTODILE startbattle dontrestartmapmusic reloadmapafterbattle @@ -75,7 +75,7 @@ UnknownScript_0x744d4: UnknownScript_0x744ff: winlosstext UnknownText_0x7463d, UnknownText_0x747aa setlasttalked VICTORYROAD_SILVER - loadtrainer RIVAL1, RIVAL1_13 + loadtrainer RIVAL1, RIVAL1_5_CHIKORITA startbattle dontrestartmapmusic reloadmapafterbattle @@ -84,7 +84,7 @@ UnknownScript_0x744ff: UnknownScript_0x7450f: winlosstext UnknownText_0x7463d, UnknownText_0x747aa setlasttalked VICTORYROAD_SILVER - loadtrainer RIVAL1, RIVAL1_14 + loadtrainer RIVAL1, RIVAL1_5_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/map_headers.asm b/maps/map_headers.asm index 95909baa8..27fbd4166 100644 --- a/maps/map_headers.asm +++ b/maps/map_headers.asm @@ -72,11 +72,11 @@ MapGroup3: map_header BurnedTowerB1F, TILESET_CAVE, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, PALETTE_NITE, FISHGROUP_SHORE map_header NationalPark, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, 0, PALETTE_AUTO, FISHGROUP_SHORE map_header NationalParkBugContest, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, 0, PALETTE_AUTO, FISHGROUP_SHORE - map_header RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE - map_header RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE - map_header RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE - map_header RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE - map_header RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE + map_header RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, (1 << RADIO_TOWER_MUSIC) | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE + map_header RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, (1 << RADIO_TOWER_MUSIC) | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE + map_header RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, (1 << RADIO_TOWER_MUSIC) | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE + map_header RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, (1 << RADIO_TOWER_MUSIC) | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE + map_header RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, (1 << RADIO_TOWER_MUSIC) | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE map_header RuinsofAlphOutside, TILESET_JOHTO_1, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, PALETTE_AUTO, FISHGROUP_POND map_header RuinsofAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE map_header RuinsofAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE diff --git a/misc/fixed_words.asm b/misc/fixed_words.asm index 8d1f73c28..56e53da91 100755 --- a/misc/fixed_words.asm +++ b/misc/fixed_words.asm @@ -3416,6 +3416,7 @@ MobileEZChatCategoryNames: ; 11da52 ; 11daac MobileEZChatCategoryPointers: ; 11daac +; entries correspond to EZCHAT_* constants dw .Types ; 01 dw .Greetings ; 02 dw .People ; 03 diff --git a/tilesets/collision.asm b/tilesets/collision.asm index 29b61feed..84397cb5d 100755 --- a/tilesets/collision.asm +++ b/tilesets/collision.asm @@ -1,9 +1,3 @@ - -; 00 land -; 01 water -; 0f wall -; 11 talkable water -; 1f talkable wall NONTALKABLE EQUS "db" TALKABLE EQUS "db TALK +" NONTALKABLE LANDTILE ; 00 diff --git a/tilesets/tileset_headers.asm b/tilesets/tileset_headers.asm index 752ff1cc0..d0debd2b7 100644 --- a/tilesets/tileset_headers.asm +++ b/tilesets/tileset_headers.asm @@ -1,3 +1,5 @@ +; entries correspond to TILESET_* constants + tileset: macro dba \1GFX, \1Meta, \1Coll dw \1Anim diff --git a/trainers/trainers.asm b/trainers/trainers.asm index 2b4a68475..e96cfd895 100644 --- a/trainers/trainers.asm +++ b/trainers/trainers.asm @@ -4,10 +4,10 @@ Trainers: ; Name ; String in format "TEXT@" ; Type - ; 0: Level, species - ; 1: Level, species, moves - ; 2: Level, species, item - ; 3: Level, species, item, moves + ; TRAINERTYPE_NORMAL: level, species + ; TRAINERTYPE_MOVES: level, species, moves + ; TRAINERTYPE_ITEM: level, species, item + ; TRAINERTYPE_ITEM_MOVES: level, species, item, moves ; Party ; Up to six monsters following the data type ; $ff @@ -19,7 +19,7 @@ FalknerGroup: ; FALKNER (1) db "FALKNER@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -47,7 +47,7 @@ WhitneyGroup: ; WHITNEY (1) db "WHITNEY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -75,7 +75,7 @@ BugsyGroup: ; BUGSY (1) db "BUGSY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -109,7 +109,7 @@ MortyGroup: ; MORTY (1) db "MORTY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -149,7 +149,7 @@ PryceGroup: ; PRYCE (1) db "PRYCE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -183,7 +183,7 @@ JasmineGroup: ; JASMINE (1) db "JASMINE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -217,7 +217,7 @@ ChuckGroup: ; CHUCK (1) db "CHUCK@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -245,7 +245,7 @@ ClairGroup: ; CLAIR (1) db "CLAIR@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -285,7 +285,7 @@ Rival1Group: ; RIVAL1 (1) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 5, CHIKORITA @@ -296,7 +296,7 @@ Rival1Group: ; RIVAL1 (2) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 5, CYNDAQUIL @@ -307,7 +307,7 @@ Rival1Group: ; RIVAL1 (3) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 5, TOTODILE @@ -318,7 +318,7 @@ Rival1Group: ; RIVAL1 (4) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, GASTLY @@ -331,7 +331,7 @@ Rival1Group: ; RIVAL1 (5) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, GASTLY @@ -344,7 +344,7 @@ Rival1Group: ; RIVAL1 (6) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, GASTLY @@ -357,7 +357,7 @@ Rival1Group: ; RIVAL1 (7) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -391,7 +391,7 @@ Rival1Group: ; RIVAL1 (8) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -425,7 +425,7 @@ Rival1Group: ; RIVAL1 (9) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -459,7 +459,7 @@ Rival1Group: ; RIVAL1 (10) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -499,7 +499,7 @@ Rival1Group: ; RIVAL1 (11) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -539,7 +539,7 @@ Rival1Group: ; RIVAL1 (12) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -579,7 +579,7 @@ Rival1Group: ; RIVAL1 (13) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -625,7 +625,7 @@ Rival1Group: ; RIVAL1 (14) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -671,7 +671,7 @@ Rival1Group: ; RIVAL1 (15) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -729,7 +729,7 @@ WillGroup: ; WILL (1) db "WILL@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -775,7 +775,7 @@ PKMNTrainerGroup: ; CAL (1) db "CAL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, CHIKORITA @@ -788,7 +788,7 @@ PKMNTrainerGroup: ; CAL (2) db "CAL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, BAYLEEF @@ -801,7 +801,7 @@ PKMNTrainerGroup: ; CAL (3) db "CAL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 50, MEGANIUM @@ -820,7 +820,7 @@ BrunoGroup: ; BRUNO (1) db "BRUNO@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -866,7 +866,7 @@ KarenGroup: ; KAREN (1) db "KAREN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -912,7 +912,7 @@ KogaGroup: ; KOGA (1) db "KOGA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -958,7 +958,7 @@ ChampionGroup: ; CHAMPION (1) db "LANCE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1010,7 +1010,7 @@ BrockGroup: ; BROCK (1) db "BROCK@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1056,7 +1056,7 @@ MistyGroup: ; MISTY (1) db "MISTY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1096,7 +1096,7 @@ LtSurgeGroup: ; LT_SURGE (1) db "LT.SURGE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1142,7 +1142,7 @@ ScientistGroup: ; SCIENTIST (1) db "ROSS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, KOFFING @@ -1154,7 +1154,7 @@ ScientistGroup: ; SCIENTIST (2) db "MITCH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, DITTO @@ -1165,7 +1165,7 @@ ScientistGroup: ; SCIENTIST (3) db "JED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, MAGNEMITE @@ -1178,7 +1178,7 @@ ScientistGroup: ; SCIENTIST (4) db "MARC@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, MAGNEMITE @@ -1191,7 +1191,7 @@ ScientistGroup: ; SCIENTIST (5) db "RICH@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1213,7 +1213,7 @@ ErikaGroup: ; ERIKA (1) db "ERIKA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1253,7 +1253,7 @@ YoungsterGroup: ; YOUNGSTER (1) db "JOEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 4, RATTATA @@ -1264,7 +1264,7 @@ YoungsterGroup: ; YOUNGSTER (2) db "MIKEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 2, PIDGEY @@ -1276,7 +1276,7 @@ YoungsterGroup: ; YOUNGSTER (3) db "ALBERT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, RATTATA @@ -1288,7 +1288,7 @@ YoungsterGroup: ; YOUNGSTER (4) db "GORDON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, WOOPER @@ -1299,7 +1299,7 @@ YoungsterGroup: ; YOUNGSTER (5) db "SAMUEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, RATTATA @@ -1313,7 +1313,7 @@ YoungsterGroup: ; YOUNGSTER (6) db "IAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, MANKEY @@ -1325,7 +1325,7 @@ YoungsterGroup: ; YOUNGSTER (7) db "JOEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, RATTATA @@ -1336,7 +1336,7 @@ YoungsterGroup: ; YOUNGSTER (8) db "JOEY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1352,7 +1352,7 @@ YoungsterGroup: ; YOUNGSTER (9) db "WARREN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, FEAROW @@ -1363,7 +1363,7 @@ YoungsterGroup: ; YOUNGSTER (10) db "JIMMY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, RATICATE @@ -1375,7 +1375,7 @@ YoungsterGroup: ; YOUNGSTER (11) db "OWEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, GROWLITHE @@ -1386,7 +1386,7 @@ YoungsterGroup: ; YOUNGSTER (12) db "JASON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, SANDSLASH @@ -1398,7 +1398,7 @@ YoungsterGroup: ; YOUNGSTER (13) db "JOEY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1414,7 +1414,7 @@ YoungsterGroup: ; YOUNGSTER (14) db "JOEY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1436,7 +1436,7 @@ SchoolboyGroup: ; SCHOOLBOY (1) db "JACK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, ODDISH @@ -1448,7 +1448,7 @@ SchoolboyGroup: ; SCHOOLBOY (2) db "KIPP@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, VOLTORB @@ -1462,7 +1462,7 @@ SchoolboyGroup: ; SCHOOLBOY (3) db "ALAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, TANGELA @@ -1473,7 +1473,7 @@ SchoolboyGroup: ; SCHOOLBOY (4) db "JOHNNY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, BELLSPROUT @@ -1486,7 +1486,7 @@ SchoolboyGroup: ; SCHOOLBOY (5) db "DANNY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, JYNX @@ -1499,7 +1499,7 @@ SchoolboyGroup: ; SCHOOLBOY (6) db "TOMMY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, XATU @@ -1511,7 +1511,7 @@ SchoolboyGroup: ; SCHOOLBOY (7) db "DUDLEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, ODDISH @@ -1522,7 +1522,7 @@ SchoolboyGroup: ; SCHOOLBOY (8) db "JOE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, TANGELA @@ -1534,7 +1534,7 @@ SchoolboyGroup: ; SCHOOLBOY (9) db "BILLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, PARAS @@ -1548,7 +1548,7 @@ SchoolboyGroup: ; SCHOOLBOY (10) db "CHAD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, MR__MIME @@ -1559,7 +1559,7 @@ SchoolboyGroup: ; SCHOOLBOY (11) db "NATE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, LEDIAN @@ -1571,7 +1571,7 @@ SchoolboyGroup: ; SCHOOLBOY (12) db "RICKY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, AIPOM @@ -1583,7 +1583,7 @@ SchoolboyGroup: ; SCHOOLBOY (13) db "JACK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, ODDISH @@ -1595,7 +1595,7 @@ SchoolboyGroup: ; SCHOOLBOY (14) db "JACK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, GLOOM @@ -1607,7 +1607,7 @@ SchoolboyGroup: ; SCHOOLBOY (15) db "ALAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, TANGELA @@ -1619,7 +1619,7 @@ SchoolboyGroup: ; SCHOOLBOY (16) db "ALAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, NATU @@ -1633,7 +1633,7 @@ SchoolboyGroup: ; SCHOOLBOY (17) db "CHAD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, MR__MIME @@ -1645,7 +1645,7 @@ SchoolboyGroup: ; SCHOOLBOY (18) db "CHAD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, MR__MIME @@ -1657,7 +1657,7 @@ SchoolboyGroup: ; SCHOOLBOY (19) db "JACK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GLOOM @@ -1670,7 +1670,7 @@ SchoolboyGroup: ; SCHOOLBOY (20) db "JACK@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1698,7 +1698,7 @@ SchoolboyGroup: ; SCHOOLBOY (21) db "ALAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, NATU @@ -1712,7 +1712,7 @@ SchoolboyGroup: ; SCHOOLBOY (22) db "ALAN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1746,7 +1746,7 @@ SchoolboyGroup: ; SCHOOLBOY (23) db "CHAD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, MR__MIME @@ -1758,7 +1758,7 @@ SchoolboyGroup: ; SCHOOLBOY (24) db "CHAD@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1786,7 +1786,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (1) db "ROD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, PIDGEY @@ -1798,7 +1798,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (2) db "ABE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, SPEAROW @@ -1809,7 +1809,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (3) db "BRYAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, PIDGEY @@ -1821,7 +1821,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (4) db "THEO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, PIDGEY @@ -1836,7 +1836,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (5) db "TOBY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, DODUO @@ -1849,7 +1849,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (6) db "DENIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, SPEAROW @@ -1862,7 +1862,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (7) db "VANCE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, PIDGEOTTO @@ -1874,7 +1874,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (8) db "HANK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, PIDGEY @@ -1886,7 +1886,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (9) db "ROY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, FEAROW @@ -1898,7 +1898,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (10) db "BORIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, DODUO @@ -1911,7 +1911,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (11) db "BOB@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, NOCTOWL @@ -1922,7 +1922,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (12) db "JOSE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, FARFETCH_D @@ -1933,7 +1933,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (13) db "PETER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, PIDGEY @@ -1946,7 +1946,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (14) db "JOSE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, FARFETCH_D @@ -1957,7 +1957,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (15) db "PERRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, FARFETCH_D @@ -1968,7 +1968,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (16) db "BRET@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, PIDGEOTTO @@ -1980,7 +1980,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (17) db "JOSE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1996,7 +1996,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (18) db "VANCE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, PIDGEOTTO @@ -2008,7 +2008,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (19) db "VANCE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2036,7 +2036,7 @@ LassGroup: ; LASS (1) db "CARRIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2052,7 +2052,7 @@ LassGroup: ; LASS (2) db "BRIDGET@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, JIGGLYPUFF @@ -2065,7 +2065,7 @@ LassGroup: ; LASS (3) db "ALICE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GLOOM @@ -2078,7 +2078,7 @@ LassGroup: ; LASS (4) db "KRISE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, ODDISH @@ -2090,7 +2090,7 @@ LassGroup: ; LASS (5) db "CONNIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, MARILL @@ -2101,7 +2101,7 @@ LassGroup: ; LASS (6) db "LINDA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, BULBASAUR @@ -2114,7 +2114,7 @@ LassGroup: ; LASS (7) db "LAURA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, GLOOM @@ -2127,7 +2127,7 @@ LassGroup: ; LASS (8) db "SHANNON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, PARAS @@ -2140,7 +2140,7 @@ LassGroup: ; LASS (9) db "MICHELLE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, SKIPLOOM @@ -2153,7 +2153,7 @@ LassGroup: ; LASS (10) db "DANA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2175,7 +2175,7 @@ LassGroup: ; LASS (11) db "ELLEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, WIGGLYTUFF @@ -2187,7 +2187,7 @@ LassGroup: ; LASS (12) db "CONNIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, MARILL @@ -2198,7 +2198,7 @@ LassGroup: ; LASS (13) db "CONNIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, MARILL @@ -2209,7 +2209,7 @@ LassGroup: ; LASS (14) db "DANA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2231,7 +2231,7 @@ LassGroup: ; LASS (15) db "DANA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2253,7 +2253,7 @@ LassGroup: ; LASS (16) db "DANA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2275,7 +2275,7 @@ LassGroup: ; LASS (17) db "DANA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2303,7 +2303,7 @@ JanineGroup: ; JANINE (1) db "JANINE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2349,7 +2349,7 @@ CooltrainerMGroup: ; COOLTRAINERM (1) db "NICK@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2377,7 +2377,7 @@ CooltrainerMGroup: ; COOLTRAINERM (2) db "AARON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, IVYSAUR @@ -2390,7 +2390,7 @@ CooltrainerMGroup: ; COOLTRAINERM (3) db "PAUL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, DRATINI @@ -2403,7 +2403,7 @@ CooltrainerMGroup: ; COOLTRAINERM (4) db "CODY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, HORSEA @@ -2415,7 +2415,7 @@ CooltrainerMGroup: ; COOLTRAINERM (5) db "MIKE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, DRAGONAIR @@ -2426,7 +2426,7 @@ CooltrainerMGroup: ; COOLTRAINERM (6) db "GAVEN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2454,7 +2454,7 @@ CooltrainerMGroup: ; COOLTRAINERM (7) db "GAVEN@" - db 3 ; item + moves + db TRAINERTYPE_ITEM_MOVES ; party @@ -2482,7 +2482,7 @@ CooltrainerMGroup: ; COOLTRAINERM (8) db "RYAN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2504,7 +2504,7 @@ CooltrainerMGroup: ; COOLTRAINERM (9) db "JAKE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2526,7 +2526,7 @@ CooltrainerMGroup: ; COOLTRAINERM (10) db "GAVEN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2554,7 +2554,7 @@ CooltrainerMGroup: ; COOLTRAINERM (11) db "BLAKE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2582,7 +2582,7 @@ CooltrainerMGroup: ; COOLTRAINERM (12) db "BRIAN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2598,7 +2598,7 @@ CooltrainerMGroup: ; COOLTRAINERM (13) db "ERICK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, BULBASAUR @@ -2611,7 +2611,7 @@ CooltrainerMGroup: ; COOLTRAINERM (14) db "ANDY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, BULBASAUR @@ -2624,7 +2624,7 @@ CooltrainerMGroup: ; COOLTRAINERM (15) db "TYLER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, BULBASAUR @@ -2637,7 +2637,7 @@ CooltrainerMGroup: ; COOLTRAINERM (16) db "SEAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, FLAREON @@ -2650,7 +2650,7 @@ CooltrainerMGroup: ; COOLTRAINERM (17) db "KEVIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 38, RHYHORN @@ -2663,7 +2663,7 @@ CooltrainerMGroup: ; COOLTRAINERM (18) db "STEVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, BULBASAUR @@ -2676,7 +2676,7 @@ CooltrainerMGroup: ; COOLTRAINERM (19) db "ALLEN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2692,7 +2692,7 @@ CooltrainerMGroup: ; COOLTRAINERM (20) db "DARIN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2714,7 +2714,7 @@ CooltrainerFGroup: ; COOLTRAINERF (1) db "GWEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, EEVEE @@ -2728,7 +2728,7 @@ CooltrainerFGroup: ; COOLTRAINERF (2) db "LOIS@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2750,7 +2750,7 @@ CooltrainerFGroup: ; COOLTRAINERF (3) db "FRAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, SEADRA @@ -2761,7 +2761,7 @@ CooltrainerFGroup: ; COOLTRAINERF (4) db "LOLA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, DRATINI @@ -2773,7 +2773,7 @@ CooltrainerFGroup: ; COOLTRAINERF (5) db "KATE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, SHELLDER @@ -2785,7 +2785,7 @@ CooltrainerFGroup: ; COOLTRAINERF (6) db "IRENE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, GOLDEEN @@ -2797,7 +2797,7 @@ CooltrainerFGroup: ; COOLTRAINERF (7) db "KELLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, MARILL @@ -2810,7 +2810,7 @@ CooltrainerFGroup: ; COOLTRAINERF (8) db "JOYCE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2832,7 +2832,7 @@ CooltrainerFGroup: ; COOLTRAINERF (9) db "BETH@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2848,7 +2848,7 @@ CooltrainerFGroup: ; COOLTRAINERF (10) db "REENA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, STARMIE @@ -2861,7 +2861,7 @@ CooltrainerFGroup: ; COOLTRAINERF (11) db "MEGAN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2889,7 +2889,7 @@ CooltrainerFGroup: ; COOLTRAINERF (12) db "BETH@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2905,7 +2905,7 @@ CooltrainerFGroup: ; COOLTRAINERF (13) db "CAROL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, ELECTRODE @@ -2918,7 +2918,7 @@ CooltrainerFGroup: ; COOLTRAINERF (14) db "QUINN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 38, IVYSAUR @@ -2930,7 +2930,7 @@ CooltrainerFGroup: ; COOLTRAINERF (15) db "EMMA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, POLIWHIRL @@ -2941,7 +2941,7 @@ CooltrainerFGroup: ; COOLTRAINERF (16) db "CYBIL@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2963,7 +2963,7 @@ CooltrainerFGroup: ; COOLTRAINERF (17) db "JENN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, STARYU @@ -2975,7 +2975,7 @@ CooltrainerFGroup: ; COOLTRAINERF (18) db "BETH@" - db 3 ; item + moves + db TRAINERTYPE_ITEM_MOVES ; party @@ -2991,7 +2991,7 @@ CooltrainerFGroup: ; COOLTRAINERF (19) db "REENA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, STARMIE @@ -3004,7 +3004,7 @@ CooltrainerFGroup: ; COOLTRAINERF (20) db "REENA@" - db 3 ; item + moves + db TRAINERTYPE_ITEM_MOVES ; party @@ -3032,7 +3032,7 @@ CooltrainerFGroup: ; COOLTRAINERF (21) db "CARA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3066,7 +3066,7 @@ BeautyGroup: ; BEAUTY (1) db "VICTORIA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, SENTRET @@ -3079,7 +3079,7 @@ BeautyGroup: ; BEAUTY (2) db "SAMANTHA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3101,7 +3101,7 @@ BeautyGroup: ; BEAUTY (3) db "JULIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3112,7 +3112,7 @@ BeautyGroup: ; BEAUTY (4) db "JACLYN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3123,7 +3123,7 @@ BeautyGroup: ; BEAUTY (5) db "BRENDA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, FURRET @@ -3134,7 +3134,7 @@ BeautyGroup: ; BEAUTY (6) db "CASSIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, VILEPLUME @@ -3146,7 +3146,7 @@ BeautyGroup: ; BEAUTY (7) db "CAROLINE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, MARILL @@ -3159,7 +3159,7 @@ BeautyGroup: ; BEAUTY (8) db "CARLENE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3170,7 +3170,7 @@ BeautyGroup: ; BEAUTY (9) db "JESSICA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3181,7 +3181,7 @@ BeautyGroup: ; BEAUTY (10) db "RACHAEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3192,7 +3192,7 @@ BeautyGroup: ; BEAUTY (11) db "ANGELICA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3203,7 +3203,7 @@ BeautyGroup: ; BEAUTY (12) db "KENDRA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3214,7 +3214,7 @@ BeautyGroup: ; BEAUTY (13) db "VERONICA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3225,7 +3225,7 @@ BeautyGroup: ; BEAUTY (14) db "JULIA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, PARAS @@ -3238,7 +3238,7 @@ BeautyGroup: ; BEAUTY (15) db "THERESA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3249,7 +3249,7 @@ BeautyGroup: ; BEAUTY (16) db "VALERIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3271,7 +3271,7 @@ BeautyGroup: ; BEAUTY (17) db "OLIVIA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, CORSOLA @@ -3288,7 +3288,7 @@ PokemaniacGroup: ; POKEMANIAC (1) db "LARRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, SLOWPOKE @@ -3299,7 +3299,7 @@ PokemaniacGroup: ; POKEMANIAC (2) db "ANDREW@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, MAROWAK @@ -3311,7 +3311,7 @@ PokemaniacGroup: ; POKEMANIAC (3) db "CALVIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, KANGASKHAN @@ -3322,7 +3322,7 @@ PokemaniacGroup: ; POKEMANIAC (4) db "SHANE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, NIDORINA @@ -3334,7 +3334,7 @@ PokemaniacGroup: ; POKEMANIAC (5) db "BEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, SLOWBRO @@ -3345,7 +3345,7 @@ PokemaniacGroup: ; POKEMANIAC (6) db "BRENT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, LICKITUNG @@ -3356,7 +3356,7 @@ PokemaniacGroup: ; POKEMANIAC (7) db "RON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, NIDOKING @@ -3367,7 +3367,7 @@ PokemaniacGroup: ; POKEMANIAC (8) db "ETHAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, RHYHORN @@ -3379,7 +3379,7 @@ PokemaniacGroup: ; POKEMANIAC (9) db "BRENT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, KANGASKHAN @@ -3390,7 +3390,7 @@ PokemaniacGroup: ; POKEMANIAC (10) db "BRENT@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3406,7 +3406,7 @@ PokemaniacGroup: ; POKEMANIAC (11) db "ISSAC@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3422,7 +3422,7 @@ PokemaniacGroup: ; POKEMANIAC (12) db "DONALD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, SLOWPOKE @@ -3434,7 +3434,7 @@ PokemaniacGroup: ; POKEMANIAC (13) db "ZACH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, RHYHORN @@ -3445,7 +3445,7 @@ PokemaniacGroup: ; POKEMANIAC (14) db "BRENT@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3461,7 +3461,7 @@ PokemaniacGroup: ; POKEMANIAC (15) db "MILLER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, NIDOKING @@ -3479,7 +3479,7 @@ GruntMGroup: ; GRUNTM (1) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, KOFFING @@ -3490,7 +3490,7 @@ GruntMGroup: ; GRUNTM (2) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, RATTATA @@ -3503,7 +3503,7 @@ GruntMGroup: ; GRUNTM (3) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, RATICATE @@ -3515,7 +3515,7 @@ GruntMGroup: ; GRUNTM (4) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, GRIMER @@ -3528,7 +3528,7 @@ GruntMGroup: ; GRUNTM (5) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, RATTATA @@ -3543,7 +3543,7 @@ GruntMGroup: ; GRUNTM (6) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, ZUBAT @@ -3555,7 +3555,7 @@ GruntMGroup: ; GRUNTM (7) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, KOFFING @@ -3569,7 +3569,7 @@ GruntMGroup: ; GRUNTM (8) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, WEEZING @@ -3580,7 +3580,7 @@ GruntMGroup: ; GRUNTM (9) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, RATICATE @@ -3592,7 +3592,7 @@ GruntMGroup: ; GRUNTM (10) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, ZUBAT @@ -3605,7 +3605,7 @@ GruntMGroup: ; GRUNTM (11) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, MUK @@ -3618,7 +3618,7 @@ GruntMGroup: ; GRUNTM (12) db "EXECUTIVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, HOUNDOUR @@ -3629,7 +3629,7 @@ GruntMGroup: ; GRUNTM (13) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, RATTATA @@ -3640,7 +3640,7 @@ GruntMGroup: ; GRUNTM (14) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, RATICATE @@ -3652,7 +3652,7 @@ GruntMGroup: ; GRUNTM (15) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, GRIMER @@ -3664,7 +3664,7 @@ GruntMGroup: ; GRUNTM (16) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, RATTATA @@ -3678,7 +3678,7 @@ GruntMGroup: ; GRUNTM (17) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, GOLBAT @@ -3689,7 +3689,7 @@ GruntMGroup: ; GRUNTM (18) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, RATTATA @@ -3702,7 +3702,7 @@ GruntMGroup: ; GRUNTM (19) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, VENONAT @@ -3714,7 +3714,7 @@ GruntMGroup: ; GRUNTM (20) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, DROWZEE @@ -3726,7 +3726,7 @@ GruntMGroup: ; GRUNTM (21) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, ZUBAT @@ -3739,7 +3739,7 @@ GruntMGroup: ; GRUNTM (22) db "EXECUTIVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, GOLBAT @@ -3750,7 +3750,7 @@ GruntMGroup: ; GRUNTM (23) db "EXECUTIVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, KOFFING @@ -3761,7 +3761,7 @@ GruntMGroup: ; GRUNTM (24) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, KOFFING @@ -3773,7 +3773,7 @@ GruntMGroup: ; GRUNTM (25) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, KOFFING @@ -3785,7 +3785,7 @@ GruntMGroup: ; GRUNTM (26) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, RATTATA @@ -3797,7 +3797,7 @@ GruntMGroup: ; GRUNTM (27) db "EXECUTIVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, ZUBAT @@ -3808,7 +3808,7 @@ GruntMGroup: ; GRUNTM (28) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, RATICATE @@ -3819,7 +3819,7 @@ GruntMGroup: ; GRUNTM (29) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, RATTATA @@ -3831,7 +3831,7 @@ GruntMGroup: ; GRUNTM (30) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, GOLBAT @@ -3844,7 +3844,7 @@ GruntMGroup: ; GRUNTM (31) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GOLBAT @@ -3861,7 +3861,7 @@ GentlemanGroup: ; GENTLEMAN (1) db "PRESTON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, GROWLITHE @@ -3873,7 +3873,7 @@ GentlemanGroup: ; GENTLEMAN (2) db "EDWARD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, PERSIAN @@ -3884,7 +3884,7 @@ GentlemanGroup: ; GENTLEMAN (3) db "GREGORY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, PIKACHU @@ -3896,7 +3896,7 @@ GentlemanGroup: ; GENTLEMAN (4) db "VIRGIL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, PONYTA @@ -3907,7 +3907,7 @@ GentlemanGroup: ; GENTLEMAN (5) db "ALFRED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, NOCTOWL @@ -3924,7 +3924,7 @@ SkierGroup: ; SKIER (1) db "ROXANNE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, JYNX @@ -3935,7 +3935,7 @@ SkierGroup: ; SKIER (2) db "CLARISSA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, DEWGONG @@ -3952,7 +3952,7 @@ TeacherGroup: ; TEACHER (1) db "COLETTE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, CLEFAIRY @@ -3963,7 +3963,7 @@ TeacherGroup: ; TEACHER (2) db "HILLARY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, AIPOM @@ -3975,7 +3975,7 @@ TeacherGroup: ; TEACHER (3) db "SHIRLEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, JIGGLYPUFF @@ -3992,7 +3992,7 @@ SabrinaGroup: ; SABRINA (1) db "SABRINA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4026,7 +4026,7 @@ BugCatcherGroup: ; BUG_CATCHER (1) db "DON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 3, CATERPIE @@ -4038,7 +4038,7 @@ BugCatcherGroup: ; BUG_CATCHER (2) db "ROB@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, BEEDRILL @@ -4050,7 +4050,7 @@ BugCatcherGroup: ; BUG_CATCHER (3) db "ED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, BEEDRILL @@ -4063,7 +4063,7 @@ BugCatcherGroup: ; BUG_CATCHER (4) db "WADE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 2, CATERPIE @@ -4077,7 +4077,7 @@ BugCatcherGroup: ; BUG_CATCHER (5) db "BENNY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, WEEDLE @@ -4090,7 +4090,7 @@ BugCatcherGroup: ; BUG_CATCHER (6) db "AL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, CATERPIE @@ -4102,7 +4102,7 @@ BugCatcherGroup: ; BUG_CATCHER (7) db "JOSH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, PARAS @@ -4113,7 +4113,7 @@ BugCatcherGroup: ; BUG_CATCHER (8) db "ARNIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, VENONAT @@ -4124,7 +4124,7 @@ BugCatcherGroup: ; BUG_CATCHER (9) db "KEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, ARIADOS @@ -4136,7 +4136,7 @@ BugCatcherGroup: ; BUG_CATCHER (10) db "WADE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, METAPOD @@ -4150,7 +4150,7 @@ BugCatcherGroup: ; BUG_CATCHER (11) db "WADE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, BUTTERFREE @@ -4164,7 +4164,7 @@ BugCatcherGroup: ; BUG_CATCHER (12) db "DOUG@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, ARIADOS @@ -4175,7 +4175,7 @@ BugCatcherGroup: ; BUG_CATCHER (13) db "ARNIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, VENONAT @@ -4186,7 +4186,7 @@ BugCatcherGroup: ; BUG_CATCHER (14) db "ARNIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4202,7 +4202,7 @@ BugCatcherGroup: ; BUG_CATCHER (15) db "WADE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4236,7 +4236,7 @@ BugCatcherGroup: ; BUG_CATCHER (16) db "WADE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4270,7 +4270,7 @@ BugCatcherGroup: ; BUG_CATCHER (17) db "ARNIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4286,7 +4286,7 @@ BugCatcherGroup: ; BUG_CATCHER (18) db "ARNIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4302,7 +4302,7 @@ BugCatcherGroup: ; BUG_CATCHER (19) db "WAYNE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 8, LEDYBA @@ -4320,7 +4320,7 @@ FisherGroup: ; FISHER (1) db "JUSTIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 5, MAGIKARP @@ -4334,7 +4334,7 @@ FisherGroup: ; FISHER (2) db "RALPH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, GOLDEEN @@ -4345,7 +4345,7 @@ FisherGroup: ; FISHER (3) db "ARNOLD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, TENTACRUEL @@ -4356,7 +4356,7 @@ FisherGroup: ; FISHER (4) db "KYLE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, SEAKING @@ -4369,7 +4369,7 @@ FisherGroup: ; FISHER (5) db "HENRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 8, POLIWAG @@ -4381,7 +4381,7 @@ FisherGroup: ; FISHER (6) db "MARVIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, MAGIKARP @@ -4395,7 +4395,7 @@ FisherGroup: ; FISHER (7) db "TULLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, QWILFISH @@ -4406,7 +4406,7 @@ FisherGroup: ; FISHER (8) db "ANDRE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, GYARADOS @@ -4417,7 +4417,7 @@ FisherGroup: ; FISHER (9) db "RAYMOND@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, MAGIKARP @@ -4431,7 +4431,7 @@ FisherGroup: ; FISHER (10) db "WILTON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, GOLDEEN @@ -4444,7 +4444,7 @@ FisherGroup: ; FISHER (11) db "EDGAR@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4466,7 +4466,7 @@ FisherGroup: ; FISHER (12) db "JONAH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, SHELLDER @@ -4480,7 +4480,7 @@ FisherGroup: ; FISHER (13) db "MARTIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, REMORAID @@ -4492,7 +4492,7 @@ FisherGroup: ; FISHER (14) db "STEPHEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, MAGIKARP @@ -4506,7 +4506,7 @@ FisherGroup: ; FISHER (15) db "BARNEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GYARADOS @@ -4519,7 +4519,7 @@ FisherGroup: ; FISHER (16) db "RALPH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, GOLDEEN @@ -4530,7 +4530,7 @@ FisherGroup: ; FISHER (17) db "RALPH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, QWILFISH @@ -4542,7 +4542,7 @@ FisherGroup: ; FISHER (18) db "TULLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, QWILFISH @@ -4553,7 +4553,7 @@ FisherGroup: ; FISHER (19) db "TULLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, GOLDEEN @@ -4566,7 +4566,7 @@ FisherGroup: ; FISHER (20) db "WILTON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, GOLDEEN @@ -4579,7 +4579,7 @@ FisherGroup: ; FISHER (21) db "SCOTT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, QWILFISH @@ -4592,7 +4592,7 @@ FisherGroup: ; FISHER (22) db "WILTON@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4620,7 +4620,7 @@ FisherGroup: ; FISHER (23) db "RALPH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, QWILFISH @@ -4632,7 +4632,7 @@ FisherGroup: ; FISHER (24) db "RALPH@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4654,7 +4654,7 @@ FisherGroup: ; FISHER (25) db "TULLY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4688,7 +4688,7 @@ SwimmerMGroup: ; SWIMMERM (1) db "HAROLD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, REMORAID @@ -4700,7 +4700,7 @@ SwimmerMGroup: ; SWIMMERM (2) db "SIMON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, TENTACOOL @@ -4712,7 +4712,7 @@ SwimmerMGroup: ; SWIMMERM (3) db "RANDALL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, SHELLDER @@ -4725,7 +4725,7 @@ SwimmerMGroup: ; SWIMMERM (4) db "CHARLIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, SHELLDER @@ -4738,7 +4738,7 @@ SwimmerMGroup: ; SWIMMERM (5) db "GEORGE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, TENTACOOL @@ -4754,7 +4754,7 @@ SwimmerMGroup: ; SWIMMERM (6) db "BERKE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, QWILFISH @@ -4765,7 +4765,7 @@ SwimmerMGroup: ; SWIMMERM (7) db "KIRK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, GYARADOS @@ -4777,7 +4777,7 @@ SwimmerMGroup: ; SWIMMERM (8) db "MATHEW@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, KRABBY @@ -4788,7 +4788,7 @@ SwimmerMGroup: ; SWIMMERM (9) db "HAL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, SEEL @@ -4801,7 +4801,7 @@ SwimmerMGroup: ; SWIMMERM (10) db "PATON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, PILOSWINE @@ -4813,7 +4813,7 @@ SwimmerMGroup: ; SWIMMERM (11) db "DARYL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, SHELLDER @@ -4826,7 +4826,7 @@ SwimmerMGroup: ; SWIMMERM (12) db "WALTER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, HORSEA @@ -4839,7 +4839,7 @@ SwimmerMGroup: ; SWIMMERM (13) db "TONY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, STARYU @@ -4852,7 +4852,7 @@ SwimmerMGroup: ; SWIMMERM (14) db "JEROME@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, SEADRA @@ -4866,7 +4866,7 @@ SwimmerMGroup: ; SWIMMERM (15) db "TUCKER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, SHELLDER @@ -4878,7 +4878,7 @@ SwimmerMGroup: ; SWIMMERM (16) db "RICK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, STARYU @@ -4891,7 +4891,7 @@ SwimmerMGroup: ; SWIMMERM (17) db "CAMERON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, MARILL @@ -4902,7 +4902,7 @@ SwimmerMGroup: ; SWIMMERM (18) db "SETH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, QUAGSIRE @@ -4915,7 +4915,7 @@ SwimmerMGroup: ; SWIMMERM (19) db "JAMES@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, STARYU @@ -4928,7 +4928,7 @@ SwimmerMGroup: ; SWIMMERM (20) db "LEWIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, STARYU @@ -4941,7 +4941,7 @@ SwimmerMGroup: ; SWIMMERM (21) db "PARKER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, HORSEA @@ -4960,7 +4960,7 @@ SwimmerFGroup: ; SWIMMERF (1) db "ELAINE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, STARYU @@ -4971,7 +4971,7 @@ SwimmerFGroup: ; SWIMMERF (2) db "PAULA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, STARYU @@ -4983,7 +4983,7 @@ SwimmerFGroup: ; SWIMMERF (3) db "KAYLEE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, GOLDEEN @@ -4996,7 +4996,7 @@ SwimmerFGroup: ; SWIMMERF (4) db "SUSIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5018,7 +5018,7 @@ SwimmerFGroup: ; SWIMMERF (5) db "DENISE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, SEEL @@ -5029,7 +5029,7 @@ SwimmerFGroup: ; SWIMMERF (6) db "KARA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, STARYU @@ -5041,7 +5041,7 @@ SwimmerFGroup: ; SWIMMERF (7) db "WENDY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5063,7 +5063,7 @@ SwimmerFGroup: ; SWIMMERF (8) db "LISA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, JYNX @@ -5074,7 +5074,7 @@ SwimmerFGroup: ; SWIMMERF (9) db "JILL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, DEWGONG @@ -5085,7 +5085,7 @@ SwimmerFGroup: ; SWIMMERF (10) db "MARY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, SEAKING @@ -5096,7 +5096,7 @@ SwimmerFGroup: ; SWIMMERF (11) db "KATIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, DEWGONG @@ -5107,7 +5107,7 @@ SwimmerFGroup: ; SWIMMERF (12) db "DAWN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, SEAKING @@ -5118,7 +5118,7 @@ SwimmerFGroup: ; SWIMMERF (13) db "TARA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, SEAKING @@ -5129,7 +5129,7 @@ SwimmerFGroup: ; SWIMMERF (14) db "NICOLE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, MARILL @@ -5142,7 +5142,7 @@ SwimmerFGroup: ; SWIMMERF (15) db "LORI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, STARMIE @@ -5154,7 +5154,7 @@ SwimmerFGroup: ; SWIMMERF (16) db "JODY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, SEAKING @@ -5165,7 +5165,7 @@ SwimmerFGroup: ; SWIMMERF (17) db "NIKKI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, SEEL @@ -5179,7 +5179,7 @@ SwimmerFGroup: ; SWIMMERF (18) db "DIANA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, GOLDUCK @@ -5190,7 +5190,7 @@ SwimmerFGroup: ; SWIMMERF (19) db "BRIANA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, SEAKING @@ -5208,7 +5208,7 @@ SailorGroup: ; SAILOR (1) db "EUGENE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, POLIWHIRL @@ -5221,7 +5221,7 @@ SailorGroup: ; SAILOR (2) db "HUEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, POLIWAG @@ -5233,7 +5233,7 @@ SailorGroup: ; SAILOR (3) db "TERRELL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, POLIWHIRL @@ -5244,7 +5244,7 @@ SailorGroup: ; SAILOR (4) db "KENT@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5266,7 +5266,7 @@ SailorGroup: ; SAILOR (5) db "ERNEST@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, MACHOP @@ -5279,7 +5279,7 @@ SailorGroup: ; SAILOR (6) db "JEFF@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, RATICATE @@ -5291,7 +5291,7 @@ SailorGroup: ; SAILOR (7) db "GARRETT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, KINGLER @@ -5302,7 +5302,7 @@ SailorGroup: ; SAILOR (8) db "KENNETH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, MACHOP @@ -5316,7 +5316,7 @@ SailorGroup: ; SAILOR (9) db "STANLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, MACHOP @@ -5329,7 +5329,7 @@ SailorGroup: ; SAILOR (10) db "HARRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, WOOPER @@ -5340,7 +5340,7 @@ SailorGroup: ; SAILOR (11) db "HUEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, POLIWHIRL @@ -5352,7 +5352,7 @@ SailorGroup: ; SAILOR (12) db "HUEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, POLIWHIRL @@ -5364,7 +5364,7 @@ SailorGroup: ; SAILOR (13) db "HUEY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5392,7 +5392,7 @@ SuperNerdGroup: ; SUPER_NERD (1) db "STAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, GRIMER @@ -5403,7 +5403,7 @@ SuperNerdGroup: ; SUPER_NERD (2) db "ERIC@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 11, GRIMER @@ -5415,7 +5415,7 @@ SuperNerdGroup: ; SUPER_NERD (3) db "GREGG@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, MAGNEMITE @@ -5428,7 +5428,7 @@ SuperNerdGroup: ; SUPER_NERD (4) db "JAY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, KOFFING @@ -5440,7 +5440,7 @@ SuperNerdGroup: ; SUPER_NERD (5) db "DAVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, DITTO @@ -5451,7 +5451,7 @@ SuperNerdGroup: ; SUPER_NERD (6) db "SAM@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, GRIMER @@ -5463,7 +5463,7 @@ SuperNerdGroup: ; SUPER_NERD (7) db "TOM@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, MAGNEMITE @@ -5476,7 +5476,7 @@ SuperNerdGroup: ; SUPER_NERD (8) db "PAT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, PORYGON @@ -5487,7 +5487,7 @@ SuperNerdGroup: ; SUPER_NERD (9) db "SHAWN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, MAGNEMITE @@ -5500,7 +5500,7 @@ SuperNerdGroup: ; SUPER_NERD (10) db "TERU@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, MAGNEMITE @@ -5514,7 +5514,7 @@ SuperNerdGroup: ; SUPER_NERD (11) db "RUSS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, MAGNEMITE @@ -5527,7 +5527,7 @@ SuperNerdGroup: ; SUPER_NERD (12) db "NORTON@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5543,7 +5543,7 @@ SuperNerdGroup: ; SUPER_NERD (13) db "HUGH@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5559,7 +5559,7 @@ SuperNerdGroup: ; SUPER_NERD (14) db "MARKUS@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5581,7 +5581,7 @@ Rival2Group: ; RIVAL2 (1) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5627,7 +5627,7 @@ Rival2Group: ; RIVAL2 (2) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5673,7 +5673,7 @@ Rival2Group: ; RIVAL2 (3) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5719,7 +5719,7 @@ Rival2Group: ; RIVAL2 (4) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5765,7 +5765,7 @@ Rival2Group: ; RIVAL2 (5) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5811,7 +5811,7 @@ Rival2Group: ; RIVAL2 (6) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5863,7 +5863,7 @@ GuitaristGroup: ; GUITARIST (1) db "CLYDE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, ELECTABUZZ @@ -5874,7 +5874,7 @@ GuitaristGroup: ; GUITARIST (2) db "VINCENT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, MAGNEMITE @@ -5894,7 +5894,7 @@ HikerGroup: ; HIKER (1) db "ANTHONY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, GEODUDE @@ -5906,7 +5906,7 @@ HikerGroup: ; HIKER (2) db "RUSSELL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 4, GEODUDE @@ -5919,7 +5919,7 @@ HikerGroup: ; HIKER (3) db "PHILLIP@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, GEODUDE @@ -5932,7 +5932,7 @@ HikerGroup: ; HIKER (4) db "LEONARD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, GEODUDE @@ -5944,7 +5944,7 @@ HikerGroup: ; HIKER (5) db "ANTHONY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 11, GEODUDE @@ -5956,7 +5956,7 @@ HikerGroup: ; HIKER (6) db "BENJAMIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, DIGLETT @@ -5969,7 +5969,7 @@ HikerGroup: ; HIKER (7) db "ERIK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, MACHOP @@ -5982,7 +5982,7 @@ HikerGroup: ; HIKER (8) db "MICHAEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, GEODUDE @@ -5995,7 +5995,7 @@ HikerGroup: ; HIKER (9) db "PARRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, ONIX @@ -6007,7 +6007,7 @@ HikerGroup: ; HIKER (10) db "TIMOTHY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6029,7 +6029,7 @@ HikerGroup: ; HIKER (11) db "BAILEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, GEODUDE @@ -6044,7 +6044,7 @@ HikerGroup: ; HIKER (12) db "ANTHONY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, GRAVELER @@ -6057,7 +6057,7 @@ HikerGroup: ; HIKER (13) db "TIM@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, GRAVELER @@ -6070,7 +6070,7 @@ HikerGroup: ; HIKER (14) db "NOLAND@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, SANDSLASH @@ -6082,7 +6082,7 @@ HikerGroup: ; HIKER (15) db "SIDNEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, DUGTRIO @@ -6094,7 +6094,7 @@ HikerGroup: ; HIKER (16) db "KENNY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, SANDSLASH @@ -6108,7 +6108,7 @@ HikerGroup: ; HIKER (17) db "JIM@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, MACHAMP @@ -6119,7 +6119,7 @@ HikerGroup: ; HIKER (18) db "DANIEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 11, ONIX @@ -6130,7 +6130,7 @@ HikerGroup: ; HIKER (19) db "PARRY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6158,7 +6158,7 @@ HikerGroup: ; HIKER (20) db "PARRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, ONIX @@ -6169,7 +6169,7 @@ HikerGroup: ; HIKER (21) db "ANTHONY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GRAVELER @@ -6182,7 +6182,7 @@ HikerGroup: ; HIKER (22) db "ANTHONY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6216,7 +6216,7 @@ BikerGroup: ; BIKER (1) db "BENNY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, KOFFING @@ -6229,7 +6229,7 @@ BikerGroup: ; BIKER (2) db "KAZU@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, KOFFING @@ -6242,7 +6242,7 @@ BikerGroup: ; BIKER (3) db "DWAYNE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, KOFFING @@ -6256,7 +6256,7 @@ BikerGroup: ; BIKER (4) db "HARRIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, FLAREON @@ -6267,7 +6267,7 @@ BikerGroup: ; BIKER (5) db "ZEKE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, KOFFING @@ -6279,7 +6279,7 @@ BikerGroup: ; BIKER (6) db "CHARLES@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, KOFFING @@ -6292,7 +6292,7 @@ BikerGroup: ; BIKER (7) db "RILEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, WEEZING @@ -6303,7 +6303,7 @@ BikerGroup: ; BIKER (8) db "JOEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, MAGMAR @@ -6315,7 +6315,7 @@ BikerGroup: ; BIKER (9) db "GLENN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, KOFFING @@ -6334,7 +6334,7 @@ BlaineGroup: ; BLAINE (1) db "BLAINE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6368,7 +6368,7 @@ BurglarGroup: ; BURGLAR (1) db "DUNCAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, KOFFING @@ -6381,7 +6381,7 @@ BurglarGroup: ; BURGLAR (2) db "EDDIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6403,7 +6403,7 @@ BurglarGroup: ; BURGLAR (3) db "COREY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, KOFFING @@ -6423,7 +6423,7 @@ FirebreatherGroup: ; FIREBREATHER (1) db "OTIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, MAGMAR @@ -6436,7 +6436,7 @@ FirebreatherGroup: ; FIREBREATHER (2) db "DICK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, CHARMELEON @@ -6447,7 +6447,7 @@ FirebreatherGroup: ; FIREBREATHER (3) db "NED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, KOFFING @@ -6460,7 +6460,7 @@ FirebreatherGroup: ; FIREBREATHER (4) db "BURT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, KOFFING @@ -6472,7 +6472,7 @@ FirebreatherGroup: ; FIREBREATHER (5) db "BILL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, KOFFING @@ -6484,7 +6484,7 @@ FirebreatherGroup: ; FIREBREATHER (6) db "WALT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 11, MAGMAR @@ -6496,7 +6496,7 @@ FirebreatherGroup: ; FIREBREATHER (7) db "RAY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, VULPIX @@ -6507,7 +6507,7 @@ FirebreatherGroup: ; FIREBREATHER (8) db "LYLE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, KOFFING @@ -6526,7 +6526,7 @@ JugglerGroup: ; JUGGLER (1) db "IRWIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 2, VOLTORB @@ -6540,7 +6540,7 @@ JugglerGroup: ; JUGGLER (2) db "FRITZ@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, MR__MIME @@ -6553,7 +6553,7 @@ JugglerGroup: ; JUGGLER (3) db "HORTON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, ELECTRODE @@ -6567,7 +6567,7 @@ JugglerGroup: ; JUGGLER (4) db "IRWIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, VOLTORB @@ -6581,7 +6581,7 @@ JugglerGroup: ; JUGGLER (5) db "IRWIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, VOLTORB @@ -6595,7 +6595,7 @@ JugglerGroup: ; JUGGLER (6) db "IRWIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, VOLTORB @@ -6615,7 +6615,7 @@ BlackbeltGroup: ; BLACKBELT_T (1) db "KENJI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, ONIX @@ -6629,7 +6629,7 @@ BlackbeltGroup: ; BLACKBELT_T (2) db "YOSHI@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6645,7 +6645,7 @@ BlackbeltGroup: ; BLACKBELT_T (3) db "KENJI@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6679,7 +6679,7 @@ BlackbeltGroup: ; BLACKBELT_T (4) db "LAO@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6695,7 +6695,7 @@ BlackbeltGroup: ; BLACKBELT_T (5) db "NOB@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6717,7 +6717,7 @@ BlackbeltGroup: ; BLACKBELT_T (6) db "KIYO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, HITMONLEE @@ -6729,7 +6729,7 @@ BlackbeltGroup: ; BLACKBELT_T (7) db "LUNG@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, MANKEY @@ -6742,7 +6742,7 @@ BlackbeltGroup: ; BLACKBELT_T (8) db "KENJI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, MACHOKE @@ -6753,7 +6753,7 @@ BlackbeltGroup: ; BLACKBELT_T (9) db "WAI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, MACHOKE @@ -6772,7 +6772,7 @@ ExecutiveMGroup: ; EXECUTIVEM (1) db "EXECUTIVE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6800,7 +6800,7 @@ ExecutiveMGroup: ; EXECUTIVEM (2) db "EXECUTIVE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6816,7 +6816,7 @@ ExecutiveMGroup: ; EXECUTIVEM (3) db "EXECUTIVE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6862,7 +6862,7 @@ ExecutiveMGroup: ; EXECUTIVEM (4) db "EXECUTIVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, ZUBAT @@ -6881,7 +6881,7 @@ PsychicGroup: ; PSYCHIC_T (1) db "NATHAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, GIRAFARIG @@ -6892,7 +6892,7 @@ PsychicGroup: ; PSYCHIC_T (2) db "FRANKLIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, KADABRA @@ -6903,7 +6903,7 @@ PsychicGroup: ; PSYCHIC_T (3) db "HERMAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, EXEGGCUTE @@ -6916,7 +6916,7 @@ PsychicGroup: ; PSYCHIC_T (4) db "FIDEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, XATU @@ -6927,7 +6927,7 @@ PsychicGroup: ; PSYCHIC_T (5) db "GREG@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6943,7 +6943,7 @@ PsychicGroup: ; PSYCHIC_T (6) db "NORMAN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6965,7 +6965,7 @@ PsychicGroup: ; PSYCHIC_T (7) db "MARK@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6993,7 +6993,7 @@ PsychicGroup: ; PSYCHIC_T (8) db "PHIL@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7015,7 +7015,7 @@ PsychicGroup: ; PSYCHIC_T (9) db "RICHARD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, ESPEON @@ -7026,7 +7026,7 @@ PsychicGroup: ; PSYCHIC_T (10) db "GILBERT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, STARMIE @@ -7039,7 +7039,7 @@ PsychicGroup: ; PSYCHIC_T (11) db "JARED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, MR__MIME @@ -7052,7 +7052,7 @@ PsychicGroup: ; PSYCHIC_T (12) db "RODNEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, DROWZEE @@ -7070,7 +7070,7 @@ PicnickerGroup: ; PICNICKER (1) db "LIZ@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, NIDORAN_F @@ -7081,7 +7081,7 @@ PicnickerGroup: ; PICNICKER (2) db "GINA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, HOPPIP @@ -7094,7 +7094,7 @@ PicnickerGroup: ; PICNICKER (3) db "BROOKE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7110,7 +7110,7 @@ PicnickerGroup: ; PICNICKER (4) db "KIM@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, VULPIX @@ -7121,7 +7121,7 @@ PicnickerGroup: ; PICNICKER (5) db "CINDY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, NIDOQUEEN @@ -7132,7 +7132,7 @@ PicnickerGroup: ; PICNICKER (6) db "HOPE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, FLAAFFY @@ -7143,7 +7143,7 @@ PicnickerGroup: ; PICNICKER (7) db "SHARON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, FURRET @@ -7155,7 +7155,7 @@ PicnickerGroup: ; PICNICKER (8) db "DEBRA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, SEAKING @@ -7166,7 +7166,7 @@ PicnickerGroup: ; PICNICKER (9) db "GINA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, HOPPIP @@ -7179,7 +7179,7 @@ PicnickerGroup: ; PICNICKER (10) db "ERIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, PONYTA @@ -7191,7 +7191,7 @@ PicnickerGroup: ; PICNICKER (11) db "LIZ@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, WEEPINBELL @@ -7203,7 +7203,7 @@ PicnickerGroup: ; PICNICKER (12) db "LIZ@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, WEEPINBELL @@ -7216,7 +7216,7 @@ PicnickerGroup: ; PICNICKER (13) db "HEIDI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, SKIPLOOM @@ -7228,7 +7228,7 @@ PicnickerGroup: ; PICNICKER (14) db "EDNA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, NIDORINA @@ -7240,7 +7240,7 @@ PicnickerGroup: ; PICNICKER (15) db "GINA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, SKIPLOOM @@ -7253,7 +7253,7 @@ PicnickerGroup: ; PICNICKER (16) db "TIFFANY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7269,7 +7269,7 @@ PicnickerGroup: ; PICNICKER (17) db "TIFFANY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7285,7 +7285,7 @@ PicnickerGroup: ; PICNICKER (18) db "ERIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, PONYTA @@ -7297,7 +7297,7 @@ PicnickerGroup: ; PICNICKER (19) db "TANYA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, EXEGGUTOR @@ -7308,7 +7308,7 @@ PicnickerGroup: ; PICNICKER (20) db "TIFFANY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7324,7 +7324,7 @@ PicnickerGroup: ; PICNICKER (21) db "ERIN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7352,7 +7352,7 @@ PicnickerGroup: ; PICNICKER (22) db "LIZ@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, WEEPINBELL @@ -7365,7 +7365,7 @@ PicnickerGroup: ; PICNICKER (23) db "LIZ@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7393,7 +7393,7 @@ PicnickerGroup: ; PICNICKER (24) db "GINA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, SKIPLOOM @@ -7406,7 +7406,7 @@ PicnickerGroup: ; PICNICKER (25) db "GINA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7434,7 +7434,7 @@ PicnickerGroup: ; PICNICKER (26) db "TIFFANY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7456,7 +7456,7 @@ CamperGroup: ; CAMPER (1) db "ROLAND@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, NIDORAN_M @@ -7467,7 +7467,7 @@ CamperGroup: ; CAMPER (2) db "TODD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, PSYDUCK @@ -7478,7 +7478,7 @@ CamperGroup: ; CAMPER (3) db "IVAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, DIGLETT @@ -7491,7 +7491,7 @@ CamperGroup: ; CAMPER (4) db "ELLIOT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, SANDSHREW @@ -7503,7 +7503,7 @@ CamperGroup: ; CAMPER (5) db "BARRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, NIDOKING @@ -7514,7 +7514,7 @@ CamperGroup: ; CAMPER (6) db "LLOYD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, NIDOKING @@ -7525,7 +7525,7 @@ CamperGroup: ; CAMPER (7) db "DEAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, GOLDUCK @@ -7537,7 +7537,7 @@ CamperGroup: ; CAMPER (8) db "SID@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, DUGTRIO @@ -7550,7 +7550,7 @@ CamperGroup: ; CAMPER (9) db "HARVEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, NIDORINO @@ -7561,7 +7561,7 @@ CamperGroup: ; CAMPER (10) db "DALE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, NIDORINO @@ -7572,7 +7572,7 @@ CamperGroup: ; CAMPER (11) db "TED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, MANKEY @@ -7583,7 +7583,7 @@ CamperGroup: ; CAMPER (12) db "TODD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, GEODUDE @@ -7596,7 +7596,7 @@ CamperGroup: ; CAMPER (13) db "TODD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, GEODUDE @@ -7609,7 +7609,7 @@ CamperGroup: ; CAMPER (14) db "THOMAS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, GRAVELER @@ -7623,7 +7623,7 @@ CamperGroup: ; CAMPER (15) db "LEROY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, GRAVELER @@ -7637,7 +7637,7 @@ CamperGroup: ; CAMPER (16) db "DAVID@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, GRAVELER @@ -7651,7 +7651,7 @@ CamperGroup: ; CAMPER (17) db "JOHN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, GRAVELER @@ -7665,7 +7665,7 @@ CamperGroup: ; CAMPER (18) db "JERRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, SANDSLASH @@ -7676,7 +7676,7 @@ CamperGroup: ; CAMPER (19) db "SPENCER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, SANDSHREW @@ -7689,7 +7689,7 @@ CamperGroup: ; CAMPER (20) db "TODD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GRAVELER @@ -7703,7 +7703,7 @@ CamperGroup: ; CAMPER (21) db "TODD@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7737,7 +7737,7 @@ CamperGroup: ; CAMPER (22) db "QUENTIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, FEAROW @@ -7756,7 +7756,7 @@ ExecutiveFGroup: ; EXECUTIVEF (1) db "EXECUTIVE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7784,7 +7784,7 @@ ExecutiveFGroup: ; EXECUTIVEF (2) db "EXECUTIVE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7818,7 +7818,7 @@ SageGroup: ; SAGE (1) db "CHOW@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 3, BELLSPROUT @@ -7831,7 +7831,7 @@ SageGroup: ; SAGE (2) db "NICO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 3, BELLSPROUT @@ -7844,7 +7844,7 @@ SageGroup: ; SAGE (3) db "JIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, BELLSPROUT @@ -7855,7 +7855,7 @@ SageGroup: ; SAGE (4) db "TROY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, BELLSPROUT @@ -7867,7 +7867,7 @@ SageGroup: ; SAGE (5) db "JEFFREY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, HAUNTER @@ -7878,7 +7878,7 @@ SageGroup: ; SAGE (6) db "PING@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, GASTLY @@ -7893,7 +7893,7 @@ SageGroup: ; SAGE (7) db "EDMOND@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 3, BELLSPROUT @@ -7906,7 +7906,7 @@ SageGroup: ; SAGE (8) db "NEAL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, BELLSPROUT @@ -7917,7 +7917,7 @@ SageGroup: ; SAGE (9) db "LI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, BELLSPROUT @@ -7930,7 +7930,7 @@ SageGroup: ; SAGE (10) db "GAKU@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, NOCTOWL @@ -7942,7 +7942,7 @@ SageGroup: ; SAGE (11) db "MASA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, NOCTOWL @@ -7954,7 +7954,7 @@ SageGroup: ; SAGE (12) db "KOJI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, NOCTOWL @@ -7972,7 +7972,7 @@ MediumGroup: ; MEDIUM (1) db "MARTHA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, GASTLY @@ -7985,7 +7985,7 @@ MediumGroup: ; MEDIUM (2) db "GRACE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, HAUNTER @@ -7997,7 +7997,7 @@ MediumGroup: ; MEDIUM (3) db "BETHANY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, HAUNTER @@ -8008,7 +8008,7 @@ MediumGroup: ; MEDIUM (4) db "MARGRET@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, HAUNTER @@ -8019,7 +8019,7 @@ MediumGroup: ; MEDIUM (5) db "ETHEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, HAUNTER @@ -8030,7 +8030,7 @@ MediumGroup: ; MEDIUM (6) db "REBECCA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, DROWZEE @@ -8042,7 +8042,7 @@ MediumGroup: ; MEDIUM (7) db "DORIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, SLOWPOKE @@ -8060,7 +8060,7 @@ BoarderGroup: ; BOARDER (1) db "RONALD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, SEEL @@ -8073,7 +8073,7 @@ BoarderGroup: ; BOARDER (2) db "BRAD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, SWINUB @@ -8085,7 +8085,7 @@ BoarderGroup: ; BOARDER (3) db "DOUGLAS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, SHELLDER @@ -8104,7 +8104,7 @@ PokefanMGroup: ; POKEFANM (1) db "WILLIAM@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 14, RAICHU, BERRY @@ -8115,7 +8115,7 @@ PokefanMGroup: ; POKEFANM (2) db "DEREK@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 17, PIKACHU, BERRY @@ -8126,7 +8126,7 @@ PokefanMGroup: ; POKEFANM (3) db "ROBERT@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 33, QUAGSIRE, BERRY @@ -8137,7 +8137,7 @@ PokefanMGroup: ; POKEFANM (4) db "JOSHUA@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 23, PIKACHU, BERRY @@ -8153,7 +8153,7 @@ PokefanMGroup: ; POKEFANM (5) db "CARTER@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 29, BULBASAUR, BERRY @@ -8166,7 +8166,7 @@ PokefanMGroup: ; POKEFANM (6) db "TREVOR@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 33, PSYDUCK, BERRY @@ -8177,7 +8177,7 @@ PokefanMGroup: ; POKEFANM (7) db "BRANDON@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 13, SNUBBULL, BERRY @@ -8188,7 +8188,7 @@ PokefanMGroup: ; POKEFANM (8) db "JEREMY@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 28, MEOWTH, BERRY @@ -8201,7 +8201,7 @@ PokefanMGroup: ; POKEFANM (9) db "COLIN@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 32, DELIBIRD, BERRY @@ -8212,7 +8212,7 @@ PokefanMGroup: ; POKEFANM (10) db "DEREK@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 19, PIKACHU, BERRY @@ -8223,7 +8223,7 @@ PokefanMGroup: ; POKEFANM (11) db "DEREK@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 36, PIKACHU, BERRY @@ -8234,7 +8234,7 @@ PokefanMGroup: ; POKEFANM (12) db "ALEX@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 29, NIDOKING, BERRY @@ -8247,7 +8247,7 @@ PokefanMGroup: ; POKEFANM (13) db "REX@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 35, PHANPY, BERRY @@ -8258,7 +8258,7 @@ PokefanMGroup: ; POKEFANM (14) db "ALLAN@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 35, TEDDIURSA, BERRY @@ -8275,7 +8275,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (1) db "NAOKO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, SKIPLOOM @@ -8288,7 +8288,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (2) db "NAOKO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, FLAREON @@ -8299,7 +8299,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (3) db "SAYO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, ESPEON @@ -8310,7 +8310,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (4) db "ZUKI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, UMBREON @@ -8321,7 +8321,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (5) db "KUNI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, VAPOREON @@ -8332,7 +8332,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (6) db "MIKI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, JOLTEON @@ -8349,7 +8349,7 @@ TwinsGroup: ; TWINS (1) db "AMY & MAY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, SPINARAK @@ -8361,7 +8361,7 @@ TwinsGroup: ; TWINS (2) db "ANN & ANNE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8383,7 +8383,7 @@ TwinsGroup: ; TWINS (3) db "ANN & ANNE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8405,7 +8405,7 @@ TwinsGroup: ; TWINS (4) db "AMY & MAY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, LEDYBA @@ -8417,7 +8417,7 @@ TwinsGroup: ; TWINS (5) db "JO & ZOE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, VICTREEBEL @@ -8429,7 +8429,7 @@ TwinsGroup: ; TWINS (6) db "JO & ZOE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, VILEPLUME @@ -8441,7 +8441,7 @@ TwinsGroup: ; TWINS (7) db "MEG & PEG@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, TEDDIURSA @@ -8453,7 +8453,7 @@ TwinsGroup: ; TWINS (8) db "MEG & PEG@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, PHANPY @@ -8465,7 +8465,7 @@ TwinsGroup: ; TWINS (9) db "LEA & PIA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8487,7 +8487,7 @@ TwinsGroup: ; TWINS (10) db "LEA & PIA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8515,7 +8515,7 @@ PokefanFGroup: ; POKEFANF (1) db "BEVERLY@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 14, SNUBBULL, BERRY @@ -8526,7 +8526,7 @@ PokefanFGroup: ; POKEFANF (2) db "RUTH@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 17, PIKACHU, BERRY @@ -8537,7 +8537,7 @@ PokefanFGroup: ; POKEFANF (3) db "BEVERLY@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 18, SNUBBULL, BERRY @@ -8548,7 +8548,7 @@ PokefanFGroup: ; POKEFANF (4) db "BEVERLY@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 30, GRANBULL, BERRY @@ -8559,7 +8559,7 @@ PokefanFGroup: ; POKEFANF (5) db "GEORGIA@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 23, SENTRET, BERRY @@ -8574,7 +8574,7 @@ PokefanFGroup: ; POKEFANF (6) db "JAIME@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 16, MEOWTH, BERRY @@ -8591,7 +8591,7 @@ RedGroup: ; RED (1) db "RED@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8643,7 +8643,7 @@ BlueGroup: ; BLUE (1) db "BLUE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8695,7 +8695,7 @@ OfficerGroup: ; OFFICER (1) db "KEITH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, GROWLITHE @@ -8706,7 +8706,7 @@ OfficerGroup: ; OFFICER (2) db "DIRK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, GROWLITHE @@ -8724,7 +8724,7 @@ GruntFGroup: ; GRUNTF (1) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, ZUBAT @@ -8736,7 +8736,7 @@ GruntFGroup: ; GRUNTF (2) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, ARBOK @@ -8747,7 +8747,7 @@ GruntFGroup: ; GRUNTF (3) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, GLOOM @@ -8759,7 +8759,7 @@ GruntFGroup: ; GRUNTF (4) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, EKANS @@ -8773,7 +8773,7 @@ GruntFGroup: ; GRUNTF (5) db "GRUNT@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8801,7 +8801,7 @@ MysticalmanGroup: ; MYSTICALMAN (1) db "EUSINE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party diff --git a/wram.asm b/wram.asm index 582ad30c0..bb2cbf605 100644 --- a/wram.asm +++ b/wram.asm @@ -425,7 +425,7 @@ AttackMissed:: ; c667 PlayerSubStatus1:: ; c668 ; bit -; 7 attract +; 7 in love ; 6 rollout ; 5 endure ; 4 perish song @@ -451,9 +451,9 @@ PlayerSubStatus3:: ; c66a ; 6 flying ; 5 underground ; 4 charged -; 3 flinch -; 2 -; 1 rollout +; 3 flinched +; 2 in loop +; 1 rampage ; 0 bide ds 1 PlayerSubStatus4:: ; c66b @@ -469,10 +469,10 @@ PlayerSubStatus4:: ; c66b ds 1 PlayerSubStatus5:: ; c66c ; bit -; 7 cant run +; 7 can't run ; 6 destiny bond ; 5 lock-on -; 4 encore +; 4 encored ; 3 transformed ; 2 ; 1 @@ -663,9 +663,13 @@ wDanger:: ds 1 ; c6fd wPlayerMinimized:: ds 1 ; c6fe PlayerScreens:: ; c6ff ; bit +; 7 +; 6 +; 5 ; 4 reflect ; 3 light screen ; 2 safeguard +; 1 ; 0 spikes ds 1 From 6a41d4f63e8fb9f14e1c0a4a9ace062dac747432 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 12:24:50 -0500 Subject: [PATCH 02/16] Define more charmap characters and use them in place of hard-coded numbers --- battle/trainer_huds.asm | 4 +- engine/events_2.asm | 2 +- engine/phone.asm | 4 +- engine/printnum.asm | 2 +- engine/stats_screen.asm | 6 +-- engine/trainer_card.asm | 2 +- engine/warp_connection.asm | 2 +- event/halloffame.asm | 10 ++-- event/magikarp.asm | 2 +- gfx/font.asm | 12 ++--- home/text.asm | 58 +++++++++++------------ macros/charmap.asm | 95 ++++++++++++++++++++++++++------------ macros/text.asm | 6 +-- main.asm | 6 +-- misc/mobile_42.asm | 6 +-- 15 files changed, 125 insertions(+), 92 deletions(-) diff --git a/battle/trainer_huds.asm b/battle/trainer_huds.asm index 03a85b9f4..60be946fa 100755 --- a/battle/trainer_huds.asm +++ b/battle/trainer_huds.asm @@ -256,9 +256,9 @@ _ShowLinkBattleParticipants: ; 2c1b2 ld de, OTPlayerName call PlaceString hlcoord 9, 8 - ld a, $69 ; "V" + ld a, "" ld [hli], a - ld [hl], $6a ; "S" + ld [hl], "" callba LinkBattle_TrainerHuds ; no need to callba ld b, SCGB_DIPLOMA call GetSGBLayout diff --git a/engine/events_2.asm b/engine/events_2.asm index 42e3ed8e4..285b3e05b 100644 --- a/engine/events_2.asm +++ b/engine/events_2.asm @@ -627,7 +627,7 @@ CmdQueue_StoneTable: ; 97f42 ld hl, OBJECT_MOVEMENTTYPE add hl, de ld a, [hl] - cp STEP_TYPE_SKYFALL_TOP + cp SPRITEMOVEDATA_STRENGTH_BOULDER jr nz, .next ld hl, OBJECT_NEXT_TILE diff --git a/engine/phone.asm b/engine/phone.asm index 8163047e0..69d685622 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -518,7 +518,7 @@ Phone_FirstOfTwoRings: ; 902b3 Phone_CallerTextboxWithName2: ; 902c9 call Phone_CallerTextbox hlcoord 1, 2 - ld [hl], $62 + ld [hl], "" inc hl inc hl ld a, [PhoneScriptBank] @@ -618,7 +618,7 @@ Function90363: ; 90363 (24:4363) push bc call Phone_CallerTextbox hlcoord 1, 1 - ld [hl], $62 + ld [hl], "" inc hl inc hl ld d, h diff --git a/engine/printnum.asm b/engine/printnum.asm index 4ef7721c8..c68776d5f 100755 --- a/engine/printnum.asm +++ b/engine/printnum.asm @@ -275,7 +275,7 @@ _PrintNum:: ; c4c7 dec e ret nz inc hl - ld [hl], "·" + ld [hl], "" ret .PrintLeadingZero: ; c644 diff --git a/engine/stats_screen.asm b/engine/stats_screen.asm index 6a59019f0..fef83afc7 100755 --- a/engine/stats_screen.asm +++ b/engine/stats_screen.asm @@ -453,7 +453,7 @@ Function4df7f: ; 4df7f ld bc, SCREEN_WIDTH ld d, SCREEN_HEIGHT .loop - ld a, $31 + ld a, "|" ld [hl], a add hl, bc dec d @@ -583,7 +583,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) hlcoord 9, 8 ld de, SCREEN_WIDTH ld b, 10 - ld a, $31 + ld a, "|" .vertical_divider ld [hl], a add hl, de @@ -743,7 +743,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) hlcoord 10, 8 ld de, SCREEN_WIDTH ld b, 10 - ld a, $31 + ld a, "|" .BluePageVerticalDivider: ld [hl], a add hl, de diff --git a/engine/trainer_card.asm b/engine/trainer_card.asm index 23defe919..497d81ae6 100755 --- a/engine/trainer_card.asm +++ b/engine/trainer_card.asm @@ -448,7 +448,7 @@ TrainerCard_Page1_PrintGameTime: ; 25415 (9:5415) ret nz hlcoord 15, 12 ld a, [hl] - xor %01010001 ; $7F <--> $2E + xor %01010001 ; $7F (space) <--> $2E (colon) ld [hl], a ret diff --git a/engine/warp_connection.asm b/engine/warp_connection.asm index 180aada87..f9b379cb2 100755 --- a/engine/warp_connection.asm +++ b/engine/warp_connection.asm @@ -254,7 +254,7 @@ LoadMapTimeOfDay: ; 104750 pop af ld [rVBK], a - ld a, $60 + ld a, "" ld bc, VBGMap1 - VBGMap0 hlbgcoord 0, 0 call ByteFill diff --git a/event/halloffame.asm b/event/halloffame.asm index 8d542addb..e1870b8ac 100755 --- a/event/halloffame.asm +++ b/event/halloffame.asm @@ -1,3 +1,5 @@ +HALLOFFAME_COLON EQU $63 + HallOfFame:: ; 0x8640e call HallOfFame_FadeOutMusic ld a, [StatusFlags] @@ -487,7 +489,7 @@ DisplayHOFMon: ; 86748 hlcoord 1, 13 ld a, "â„–" ld [hli], a - ld [hl], "·" + ld [hl], "" hlcoord 3, 13 ld de, wd265 lb bc, PRINTNUM_LEADINGZEROS | 1, 3 @@ -531,8 +533,8 @@ DisplayHOFMon: ; 86748 HOF_AnimatePlayerPic: ; 86810 call ClearBGPalettes - ld hl, VTiles2 tile $63 - ld de, FontExtra + 13 tiles + ld hl, VTiles2 tile HALLOFFAME_COLON + ld de, FontExtra + 13 tiles ; "" lb bc, BANK(FontExtra), 1 call Request2bpp hlcoord 0, 0 @@ -604,7 +606,7 @@ HOF_AnimatePlayerPic: ; 86810 ld de, GameTimeHours lb bc, 2, 3 call PrintNum - ld [hl], 99 + ld [hl], HALLOFFAME_COLON inc hl ld de, GameTimeMinutes lb bc, PRINTNUM_LEADINGZEROS | 1, 2 diff --git a/event/magikarp.asm b/event/magikarp.asm index f926196cd..649760c1d 100644 --- a/event/magikarp.asm +++ b/event/magikarp.asm @@ -79,7 +79,7 @@ Special_CheckMagikarpLength: ; fbb32 ; 0xfbbae Magikarp_LoadFeetInchesChars: ; fbbae - ld hl, VTiles2 tile "′" + ld hl, VTiles2 tile "′" ; $6e ld de, .feetinchchars lb bc, BANK(.feetinchchars), 2 call Request2bpp diff --git a/gfx/font.asm b/gfx/font.asm index 76c87545b..578085ddf 100755 --- a/gfx/font.asm +++ b/gfx/font.asm @@ -131,11 +131,11 @@ _LoadStandardFont:: ; fb449 _LoadFontsExtra1:: ; fb48a ld de, MobilePhoneTilesGFX - ld hl, VTiles2 tile $60 + ld hl, VTiles2 tile "" ; $60 lb bc, BANK(MobilePhoneTilesGFX), 1 call Get1bpp_2 ld de, OverworldPhoneIconGFX - ld hl, VTiles2 tile $62 + ld hl, VTiles2 tile "" ; $62 lb bc, BANK(OverworldPhoneIconGFX), 1 call Get2bpp_2 ld de, FontExtra + 3 * LEN_2BPP_TILE @@ -147,7 +147,7 @@ _LoadFontsExtra1:: ; fb48a _LoadFontsExtra2:: ; fb4b0 ld de, FontsExtra2_UpArrowGFX - ld hl, VTiles2 tile $61 + ld hl, VTiles2 tile "â–²" ; $61 ld b, BANK(FontsExtra2_UpArrowGFX) ld c, 1 call Get2bpp_2 @@ -170,10 +170,10 @@ LoadFrame: ; fb4cc call AddNTimes ld d, h ld e, l - ld hl, VTiles2 tile $79 + ld hl, VTiles2 tile "┌" ; $79 lb bc, BANK(Frames), TILES_PER_FRAME call Get1bpp_2 - ld hl, VTiles2 tile $7f + ld hl, VTiles2 tile " " ; $7f ld de, TextBoxSpaceGFX lb bc, BANK(TextBoxSpaceGFX), 1 call Get1bpp_2 @@ -186,7 +186,7 @@ LoadBattleFontsHPBar: ; fb4f2 lb bc, BANK(FontBattleExtra), $c call Get2bpp_2 ld hl, VTiles2 tile $70 - ld de, FontBattleExtra + $10 * LEN_2BPP_TILE + ld de, FontBattleExtra tile $10 lb bc, BANK(FontBattleExtra), 3 call Get2bpp_2 call LoadFrame diff --git a/home/text.asm b/home/text.asm index f7730319a..4e20ab17e 100644 --- a/home/text.asm +++ b/home/text.asm @@ -230,41 +230,41 @@ dict2: macro ._\@: endm - dict "", Char15 - dict "", LineChar - dict "", NextLineChar - dict TX_FAR, TextFar - dict $00, NullChar - dict $4c, Char4C - dict $4b, Char4B - dict "", Paragraph - dict "", PrintMomsName + dict "", Char15 + dict "", LineChar + dict "", NextLineChar + dict TX_FAR, TextFar + dict $00, NullChar + dict $4c, Char4C + dict $4b, Char4B + dict "", Paragraph + dict "", PrintMomsName dict "", PrintPlayerName - dict "", PrintRivalName - dict $35, Char35 - dict $36, Char36 - dict $37, Char37 - dict "", PrintRedsName - dict "", PrintGreensName - dict "#", PlacePOKe - dict "", PCChar + dict "", PrintRivalName + dict $35, Char35 + dict $36, Char36 + dict $37, Char37 + dict "", PrintRedsName + dict "", PrintGreensName + dict "#", PlacePOKe + dict "", PCChar dict "", RocketChar - dict "", TMChar - dict "", TrainerChar - dict $23, PlaceKougeki - dict "", Char22 - dict "", ContText + dict "", TMChar + dict "", TrainerChar + dict $23, PlaceKougeki + dict "", Char22 + dict "", ContText dict "<......>", SixDotsChar - dict "", DoneText + dict "", DoneText dict "", PromptText - dict "", PlacePKMN - dict "", PlacePOKE - dict $25, NextChar - dict2 $1f, " " + dict "", PlacePKMN + dict "", PlacePOKE + dict $25, NextChar + dict2 $1f, " " dict "", PlaceDexEnd dict "", PlaceMoveTargetsName - dict "", PlaceMoveUsersName - dict "", PlaceEnemysName + dict "", PlaceMoveUsersName + dict "", PlaceEnemysName dict "", PlaceGenderedPlayerName cp "゚" diff --git a/macros/charmap.asm b/macros/charmap.asm index 445922932..89398033e 100644 --- a/macros/charmap.asm +++ b/macros/charmap.asm @@ -1,53 +1,63 @@ ; Control characters charmap "", $00 - charmap "", $14 ; + gender + charmap "", $14 ; gendered PlayerName; same as "" in English charmap "", $15 - charmap "¯", $1f + charmap "¯", $1f ; soft linebreak charmap "", $22 - charmap "", $24 + charmap "", $24 ; "" charmap "%", $25 - charmap "", $38 - charmap "", $39 + charmap "", $38 ; RedsName + charmap "", $39 ; GreensName charmap "", $3f - charmap "", $3f - charmap "", $49 - charmap "", $4a + charmap "", $49 ; MomsName + charmap "", $4a ; "" charmap "", $4e charmap "", $4f charmap "@", $50 charmap "", $51 - charmap "", $52 + charmap "", $52 ; PlayerName charmap "", $53 charmap "#", $54 charmap "", $55 - charmap "<......>", $56 + charmap "<......>", $56 ; "……" charmap "", $57 charmap "", $58 charmap "", $59 charmap "", $5a - charmap "", $5b - charmap "", $5c - charmap "", $5d - charmap "", $5e + charmap "", $5b ; "PC" + charmap "", $5c ; "TM" + charmap "", $5d ; "TRAINER" + charmap "", $5e ; "ROCKET" charmap "", $5f -; Actual characters - charmap "â–²", $61 - charmap "_", $62 - charmap "", $6d ; necessary because ":" is already used - charmap "′", $6e - charmap "", $6e - charmap "″", $6f +; Actual characters (from gfx/misc/font_extra.png) + charmap "", $60 ; unused + charmap "", $61 ; unused + charmap "", $62 ; unused + charmap "", $63 ; unused + charmap "", $64 ; unused + charmap "", $65 ; unused + charmap "", $66 ; unused + charmap "", $67 ; unused + charmap "", $68 ; unused + charmap "", $69 + charmap "", $6a + charmap "", $6b ; unused + charmap "", $6c ; unused + charmap "", $6d ; colon with tinier dots than ":" + charmap "ãƒ", $6e ; hiragana small i, unused + charmap "ã…", $6f ; hiragana small u, unused charmap "", $70 charmap "", $71 - charmap "â—€", $71 - charmap "<``>", $72 - charmap "<''>", $73 - charmap "", $73 - charmap "â„–", $74 - charmap "…", $75 + charmap "<``>", $72 ; opening quote + charmap "<''>", $73 ; closing quote + charmap "·", $74 ; middle dot, unused + charmap "…", $75 ; ellipsis + charmap "ã", $76 ; hiragana small a, unused + charmap "ã‡", $77 ; hiragana small e, unused + charmap "ã‰", $78 ; hiragana small o, unused charmap "┌", $79 charmap "─", $7a @@ -57,6 +67,32 @@ charmap "┘", $7e charmap " ", $7f +; Actual characters (from gfx/misc/font_battle_extra.png) + + charmap "", $6e + + charmap "<ã©>", $70 ; hiragana small do, unused + charmap "â—€", $71 + charmap "『", $72 ; Japanese opening quote, unused + charmap "", $73 + charmap "â„–", $74 + +; Actual characters (from other graphics files) + + charmap "|", $31 ; StatsScreenPageTilesGFX + + charmap "", $3f ; ShinyIcon + + charmap "", $60 ; MobilePhoneTilesGFX + charmap "â–²", $61 ; FontsExtra2_UpArrowGFX + charmap "", $62 ; OverworldPhoneIconGFX + charmap "_", $62 ; HPExpBarBorderGFX + + charmap "′", $6e ; Magikarp_LoadFeetInchesChars.feetinchchars + charmap "″", $6f ; Magikarp_LoadFeetInchesChars.feetinchchars + +; Actual characters (from gfx/misc/font.png) + charmap "A", $80 charmap "B", $81 charmap "C", $82 @@ -152,7 +188,7 @@ charmap "♂", $ef charmap "Â¥", $f0 charmap "×", $f1 - charmap "·", $f2 + charmap "", $f2 ; same as "." in English charmap "/", $f3 charmap ",", $f4 charmap "♀", $f5 @@ -168,8 +204,7 @@ charmap "8", $fe charmap "9", $ff -; Japanese, for those bits of text that -; were not translated to English. +; Japanese kana, for those bits of text that were not translated to English charmap "ガ", $5 charmap "ã‚®", $6 diff --git a/macros/text.asm b/macros/text.asm index cc7f609b6..08004f32a 100644 --- a/macros/text.asm +++ b/macros/text.asm @@ -1,16 +1,12 @@ text EQUS "db $00," ; Start writing text. next EQUS "db $4e," ; Move a line down. line EQUS "db $4f," ; Start writing at the bottom line. +page EQUS "db $50," ; Start a new Pokedex page. para EQUS "db $51," ; Start a new paragraph. cont EQUS "db $55," ; Scroll to the next line. done EQUS "db $57" ; End a text box. prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event). -; Pokedex text commands are only used with pokered. -; They are included for compatibility. -page EQUS "db $50," ; Start a new Pokedex page. -dex EQUS "db $e8, $50" ; End a Pokedex entry. - ; TX_RAM EQU $01 ; TX_FAR EQU $16 enum_start 1 diff --git a/main.asm b/main.asm index 2c19e9743..b2dbbeb9e 100644 --- a/main.asm +++ b/main.asm @@ -92,7 +92,7 @@ ReanchorBGMap_NoOAMUpdate:: ; 6454 xor a ld [hBGMapMode], a ld [hWY], a - callba HDMATransfer_FillBGMap0WithTile60 ; no need to farcall + callba HDMATransfer_FillBGMap0WithBlack ; no need to farcall ld a, VBGMap0 / $100 call .LoadBGMapAddrIntoHRAM xor a @@ -131,13 +131,13 @@ LoadFonts_NoOAMUpdate:: ; 64bf call LoadStandardFont ret -HDMATransfer_FillBGMap0WithTile60: ; 64db +HDMATransfer_FillBGMap0WithBlack: ; 64db ld a, [rSVBK] push af ld a, $6 ld [rSVBK], a - ld a, $60 + ld a, "" ; $60 ld hl, wDecompressScratch ld bc, wScratchAttrMap - wDecompressScratch call ByteFill diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm index d08bc8882..d7690f813 100644 --- a/misc/mobile_42.asm +++ b/misc/mobile_42.asm @@ -1313,7 +1313,7 @@ MobileTradeAnim_DisplayEggData .EggTemplate: ; 108a1d db "タマゴ" next "ãŠã‚„/?????" - next "№·?????" + next "â„–?????" db "@" ; 108a33 @@ -1353,10 +1353,10 @@ MobileTradeAnim_LoadMonTemplate: ; 108a5b ; 108a79 .MonTemplate: ; 108a79 - db "─ №·" + db "─ â„–" next "" next "ãŠã‚„/" - next "№·" + next "â„–" db "@" ; 108a87 From 55d19b6dca382bc2f0dae9bef3ce95aa3907bc6a Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 12:57:42 -0500 Subject: [PATCH 03/16] Separate file for mobile constants --- constants.asm | 1 + constants/misc_constants.asm | 23 ----------------------- constants/mobile_constants.asm | 21 +++++++++++++++++++++ 3 files changed, 22 insertions(+), 23 deletions(-) create mode 100644 constants/mobile_constants.asm diff --git a/constants.asm b/constants.asm index 782950e40..5c7288d87 100644 --- a/constants.asm +++ b/constants.asm @@ -22,6 +22,7 @@ INCLUDE "constants/animation_constants.asm" INCLUDE "constants/phone_constants.asm" INCLUDE "constants/gfx_constants.asm" INCLUDE "constants/pokemon_data_constants.asm" +INCLUDE "constants/mobile_constants.asm" INCLUDE "constants/misc_constants.asm" INCLUDE "constants/std_constants.asm" INCLUDE "constants/deco_constants.asm" diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 2e77b795c..6ae41e989 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -156,26 +156,3 @@ SERIAL_BATTLE EQU $80 HMENURETURN_SCRIPT EQU %10000000 HMENURETURN_ASM EQU %11111111 - - -; MobileEZChatCategoryPointers indexes (see misc/fixed_words.asm) - const_def - const EZCHAT_POKEMON - const EZCHAT_TYPES - const EZCHAT_GREETINGS - const EZCHAT_PEOPLE - const EZCHAT_BATTLE - const EZCHAT_EXCLAMATIONS - const EZCHAT_CONVERSATION - const EZCHAT_FEELINGS - const EZCHAT_CONDITIONS - const EZCHAT_LIFE - const EZCHAT_HOBBIES - const EZCHAT_ACTIONS - const EZCHAT_TIME - const EZCHAT_FAREWELLS - const EZCHAT_THISANDTHAT - -NUM_KANA EQU 45 ; length of SortedPokemon table (see misc/fixed_words.asm) - -MOBILE_LOGIN_PASSWORD_LENGTH EQU 17 diff --git a/constants/mobile_constants.asm b/constants/mobile_constants.asm new file mode 100644 index 000000000..0ac28c94b --- /dev/null +++ b/constants/mobile_constants.asm @@ -0,0 +1,21 @@ +; MobileEZChatCategoryPointers indexes (see misc/fixed_words.asm) + const_def + const EZCHAT_POKEMON + const EZCHAT_TYPES + const EZCHAT_GREETINGS + const EZCHAT_PEOPLE + const EZCHAT_BATTLE + const EZCHAT_EXCLAMATIONS + const EZCHAT_CONVERSATION + const EZCHAT_FEELINGS + const EZCHAT_CONDITIONS + const EZCHAT_LIFE + const EZCHAT_HOBBIES + const EZCHAT_ACTIONS + const EZCHAT_TIME + const EZCHAT_FAREWELLS + const EZCHAT_THISANDTHAT + +NUM_KANA EQU 45 ; length of SortedPokemon table (see misc/fixed_words.asm) + +MOBILE_LOGIN_PASSWORD_LENGTH EQU 17 From 0b7d8d44ad6b911c4fe2e74b7d5bcbee971d7c90 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 13:28:23 -0500 Subject: [PATCH 04/16] More constants --- audio/engine.asm | 28 +++++----- constants/audio_constants.asm | 97 +++++++++++++++++++---------------- constants/item_constants.asm | 1 + constants/wram_constants.asm | 61 ++++++++++++---------- home/audio.asm | 2 +- macros/basestats.asm | 49 +++++++++--------- wram.asm | 2 +- 7 files changed, 128 insertions(+), 112 deletions(-) diff --git a/audio/engine.asm b/audio/engine.asm index 57418246b..7bb5b5c4e 100644 --- a/audio/engine.asm +++ b/audio/engine.asm @@ -22,7 +22,7 @@ _MapSetup_Sound_Off:: ; e8000 ld [hli], a ; ff26 ; music channels ld hl, rNR10 ; sound channel registers - ld e, $4 ; number of channels + ld e, NUM_MUSIC_CHANS .clearsound ; sound channel 1 2 3 4 xor a @@ -47,7 +47,7 @@ _MapSetup_Sound_Off:: ; e8000 ld a, e or d jr nz, .clearchannels - ld a, $77 ; max + ld a, MAX_VOLUME ld [Volume], a call MusicOn pop af @@ -151,7 +151,7 @@ _UpdateSound:: ; e805c jr z, .next ; are we in a sfx channel right now? ld a, [CurChannel] - cp $4 + cp CHAN5 jr nc, .next ; are any sfx channels active? ; if so, mute @@ -174,7 +174,7 @@ _UpdateSound:: ; e805c .next ; are we in a sfx channel right now? ld a, [CurChannel] - cp $4 ; sfx + cp CHAN5 jr nc, .sfx_channel ld hl, Channel5Flags - Channel1 add hl, bc @@ -1223,7 +1223,7 @@ ParseMusic: ; e85e1 bit SOUND_SUBROUTINE, [hl] ; in a subroutine? jr nz, .readcommand ; execute ld a, [CurChannel] - cp $4 ; channels 0-3? + cp CHAN5 jr nc, .chan_5to8 ; ???? ld hl, Channel5Flags - Channel1 @@ -1237,7 +1237,7 @@ ParseMusic: ; e85e1 call nz, RestoreVolume ; end music ld a, [CurChannel] - cp $4 ; channel 5? + cp CHAN5 jr nz, .ok ; ???? xor a @@ -1266,7 +1266,7 @@ ParseMusic: ; e85e1 RestoreVolume: ; e8679 ; ch5 only ld a, [CurChannel] - cp $4 + cp CHAN5 ret nz xor a ld hl, Channel6CryPitch @@ -1968,7 +1968,7 @@ Music_NoteType: ; e8963 ld [hl], a ld a, [CurChannel] and $3 - cp CHAN4 ; CHAN8 & $3 + cp CHAN8 & $3 ret z ; intensity call Music_Intensity @@ -2063,7 +2063,7 @@ Music_StereoPanning: ; e89ba ; params: 1 ; stereo on? ld a, [Options] - bit 5, a ; stereo + bit STEREO, a jr nz, Music_Panning ; skip param call GetMusicByte @@ -2552,7 +2552,7 @@ _PlayCryHeader:: ; e8b79 ; This only applies in-battle. ld a, [Options] - bit 5, a ; stereo + bit STEREO, a jr z, .next ; [Tracks] &= [CryTracks] @@ -2577,7 +2577,7 @@ _PlayCryHeader:: ; e8b79 ld a, [Volume] ld [LastVolume], a - ld a, $77 + ld a, MAX_VOLUME ld [Volume], a .end @@ -2696,7 +2696,7 @@ PlayStereoSFX:: ; e8ca6 ; standard procedure if stereo's off ld a, [Options] - bit 5, a + bit STEREO, a jp z, _PlaySFX ; else, let's go ahead with this @@ -3231,7 +3231,7 @@ GetLRTracks: ; e8fc2 ; gets the default sound l/r channels ; stores mono/stereo table in hl ld a, [Options] - bit 5, a ; stereo + bit STEREO, a ; made redundant, could have had a purpose in gold jr nz, .stereo ld hl, MonoTracks @@ -3279,7 +3279,7 @@ ClearChannels:: ; e8fe9 ld a, $80 ld [hli], a ld hl, rNR10 - ld e, $4 + ld e, NUM_MUSIC_CHANS .loop call ClearChannel dec e diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index 44abe35c4..a0c2f05ae 100755 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -1,60 +1,69 @@ ; pitch const_def - const __ - const C_ - const C# - const D_ - const D# - const E_ - const F_ - const F# - const G_ - const G# - const A_ - const A# - const B_ - const CC ; used for pitchoffset + const __ ; 0 + const C_ ; 1 + const C# ; 2 + const D_ ; 3 + const D# ; 4 + const E_ ; 5 + const F_ ; 6 + const F# ; 7 + const G_ ; 8 + const G# ; 9 + const A_ ; a + const A# ; b + const B_ ; c + const CC ; d (used for pitchoffset) ; channel +; ChannelPointers indexes (see engine/audio.asm) const_def - const CHAN1 - const CHAN2 - const CHAN3 - const CHAN4 + const CHAN1 ; 0 + const CHAN2 ; 1 + const CHAN3 ; 2 + const CHAN4 ; 3 NUM_MUSIC_CHANS EQU const_value NUM_NOISE_CHANS EQU const_value - const CHAN5 - const CHAN6 - const CHAN7 - const CHAN8 + const CHAN5 ; 4 + const CHAN6 ; 5 + const CHAN7 ; 6 + const CHAN8 ; 7 NUM_CHANNELS EQU const_value ; Flags1 -SOUND_CHANNEL_ON EQU 0 -SOUND_SUBROUTINE EQU 1 -SOUND_LOOPING EQU 2 -SOUND_SFX EQU 3 -SOUND_NOISE EQU 4 -SOUND_REST EQU 5 + const_def + const SOUND_CHANNEL_ON ; 0 + const SOUND_SUBROUTINE ; 1 + const SOUND_LOOPING ; 2 + const SOUND_SFX ; 3 + const SOUND_NOISE ; 4 + const SOUND_REST ; 5 ; Flags2 -SOUND_VIBRATO EQU 0 -SOUND_PITCH_WHEEL EQU 1 -SOUND_DUTY EQU 2 -SOUND_UNKN_0B EQU 3 -SOUND_CRY_PITCH EQU 4 -SOUND_UNKN_0D EQU 5 -SOUND_UNKN_0E EQU 6 -SOUND_UNKN_0F EQU 7 + const_def + const SOUND_VIBRATO ; 0 + const SOUND_PITCH_WHEEL ; 1 + const SOUND_DUTY ; 2 + const SOUND_UNKN_0B ; 3 + const SOUND_CRY_PITCH ; 4 + const SOUND_UNKN_0D ; 5 + const SOUND_UNKN_0E ; 6 + const SOUND_UNKN_0F ; 7 ; Flags3 -SOUND_VIBRATO_DIR EQU 0 -SOUND_PITCH_WHEEL_DIR EQU 1 + const_def + const SOUND_VIBRATO_DIR ; 0 + const SOUND_PITCH_WHEEL_DIR ; 1 ; NoteFlags -NOTE_DUTY_OVERRIDE EQU 0 -NOTE_FREQ_OVERRIDE EQU 1 -NOTE_UNKN_3 EQU 3 -NOTE_NOISE_SAMPLING EQU 4 -NOTE_REST EQU 5 -NOTE_VIBRATO_OVERRIDE EQU 6 + const_def + const NOTE_DUTY_OVERRIDE ; 0 + const NOTE_FREQ_OVERRIDE ; 1 + const NOTE_UNUSED ; 2 + const NOTE_UNKN_3 ; 3 + const NOTE_NOISE_SAMPLING ; 4 + const NOTE_REST ; 5 + const NOTE_VIBRATO_OVERRIDE ; 6 + +; Volume: +MAX_VOLUME EQU $77 diff --git a/constants/item_constants.asm b/constants/item_constants.asm index c3bdd11ef..443176f1f 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -264,6 +264,7 @@ NUM_HMS = const_value - HM01 add_mt FLAMETHROWER add_mt THUNDERBOLT add_mt ICE_BEAM +NUM_TM_HM_TUTOR = __enum__ +- 1 ITEM_FROM_MEM EQU $FF diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 73a319081..5bb1013ac 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -1,22 +1,26 @@ ; MonType: ; cf5f -PARTYMON EQU 0 -OTPARTYMON EQU 1 -BOXMON EQU 2 -TEMPMON EQU 3 -WILDMON EQU 4 + const_def + const PARTYMON ; 0 + const OTPARTYMON ; 1 + const BOXMON ; 2 + const TEMPMON ; 3 + const WILDMON ; 4 -; Options: ; cfcc +; Options: (bits) ; cfcc +const_value SET 5 + const STEREO ; 5 + const BATTLE_SHIFT ; 6 + const BATTLE_SCENE ; 7 + +; Options: (bits 0-2 values) ; cfcc FAST_TEXT EQU 0 MED_TEXT EQU 1 SLOW_TEXT EQU 2 NO_TEXT_SCROLL EQU 4 -; bits -STEREO EQU 5 -BATTLE_SHIFT EQU 6 -BATTLE_SCENE EQU 7 ; Options2: -MENU_ACCOUNT EQU 0 + const_def + const MENU_ACCOUNT ; 0 ; GBPrinter: PRINT_LIGHTEST EQU $00 @@ -26,11 +30,12 @@ PRINT_DARKER EQU $60 PRINT_DARKEST EQU $7f ; WalkingDirection: ; d043 -STANDING EQU -1 -DOWN EQU 0 -UP EQU 1 -LEFT EQU 2 -RIGHT EQU 3 +const_value SET -1 + const STANDING ; -1 + const DOWN ; 0 + const UP ; 1 + const LEFT ; 2 + const RIGHT ; 3 ; FacingDirection: ; d044 FACE_CURRENT EQU 0 @@ -40,10 +45,11 @@ FACE_LEFT EQU 2 FACE_RIGHT EQU 1 ; TimeOfDay: ; d269 -MORN EQU 0 -DAY EQU 1 -NITE EQU 2 -DARKNESS EQU 3 + const_def + const MORN ; 0 + const DAY ; 1 + const NITE ; 2 + const DARKNESS ; 3 ; ScriptFlags: ; d434 SCRIPT_RUNNING EQU 2 @@ -55,13 +61,14 @@ SCRIPT_WAIT_MOVEMENT EQU 2 SCRIPT_WAIT EQU 3 ; CurDay: ; d4cb -SUNDAY EQU 0 -MONDAY EQU 1 -TUESDAY EQU 2 -WEDNESDAY EQU 3 -THURSDAY EQU 4 -FRIDAY EQU 5 -SATURDAY EQU 6 + const_def + const SUNDAY ; 0 + const MONDAY ; 1 + const TUESDAY ; 2 + const WEDNESDAY ; 3 + const THURSDAY ; 4 + const FRIDAY ; 5 + const SATURDAY ; 6 ; MapObjects: ; d71e diff --git a/home/audio.asm b/home/audio.asm index 5e6eafe9a..fbbce72de 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -295,7 +295,7 @@ IsSFXPlaying:: ; 3c74 ; 3c97 MaxVolume:: ; 3c97 - ld a, $77 ; max + ld a, MAX_VOLUME ld [Volume], a ret ; 3c9d diff --git a/macros/basestats.asm b/macros/basestats.asm index 25ffcc02b..f3e98b64a 100644 --- a/macros/basestats.asm +++ b/macros/basestats.asm @@ -29,38 +29,37 @@ add_mt: MACRO enum \1_TMNUM ENDM +; N TMs/HMs need (N+7)/8 bytes for their bit flags. +; The rgbasm integers tms1, tms2, tms3 each hold 3 bytes, or 24 bits. tmhm: MACRO -x = 0 -y = 0 -w = 0 - rept _NARG +tms1 = 0 +tms2 = 0 +tms3 = 0 +rept _NARG if def(\1_TMNUM) - if \1_TMNUM < 25 -x = x | (1 << ((\1_TMNUM) - 1)) + if \1_TMNUM < 24 + 1 +tms1 = tms1 | (1 << ((\1_TMNUM) - 1)) + elif \1_TMNUM < 48 + 1 +tms2 = tms2 | (1 << ((\1_TMNUM) - 1 - 24)) else - if \1_TMNUM < 49 -y = y | (1 << ((\1_TMNUM) - 1 - 24)) - else -w = w | (1 << ((\1_TMNUM) - 1 - 48)) - endc +tms3 = tms3 | (1 << ((\1_TMNUM) - 1 - 48)) endc else fail "\1 is not a TM, HM, or move tutor move" endc - shift - endr +endr - rept 3 - db x & $ff -x = x >> 8 - endr - rept 3 - db y & $ff -y = y >> 8 - endr - rept 2 - db w & $ff -w = w >> 8 - endr +rept 3 + db tms1 & $ff +tms1 = tms1 >> 8 +endr +rept 3 + db tms2 & $ff +tms2 = tms2 >> 8 +endr +rept 2 + db tms3 & $ff +tms3 = tms3 >> 8 +endr ENDM diff --git a/wram.asm b/wram.asm index bb2cbf605..6a505a21f 100644 --- a/wram.asm +++ b/wram.asm @@ -2212,7 +2212,7 @@ BaseGrowthRate:: ; d24c BaseEggGroups:: ; d24d ds 1 BaseTMHM:: ; d24e - ds 8 + flag_array NUM_TM_HM_TUTOR CurDamage:: ; d256 From 16c6696dd5d786eafca0beb855b55c00b25b01f4 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 13:52:14 -0500 Subject: [PATCH 05/16] Start organizing WRAM - Use db and dw when they're more meaningful than ds 1/2 - Use unions to group related labels --- audio/engine.asm | 38 ++-- engine/credits.asm | 2 +- engine/init_gender.asm | 4 +- engine/intro_menu.asm | 20 +-- engine/map_setup.asm | 4 +- engine/specials.asm | 4 +- engine/timeset.asm | 4 +- event/halloffame.asm | 8 +- home/audio.asm | 4 +- misc/mobile_12.asm | 4 +- misc/mobile_45_sprite_engine.asm | 20 +-- misc/mobile_5f.asm | 12 +- misc/mobile_menu.asm | 4 +- wram.asm | 290 ++++++++++++++----------------- 14 files changed, 195 insertions(+), 223 deletions(-) diff --git a/audio/engine.asm b/audio/engine.asm index 7bb5b5c4e..c99fe324c 100644 --- a/audio/engine.asm +++ b/audio/engine.asm @@ -60,15 +60,15 @@ _MapSetup_Sound_Off:: ; e8000 MusicFadeRestart: ; e803d ; restart but keep the music id to fade in to - ld a, [MusicFadeIDHi] + ld a, [MusicFadeID + 1] push af - ld a, [MusicFadeIDLo] + ld a, [MusicFadeID] push af call _MapSetup_Sound_Off pop af - ld [MusicFadeIDLo], a + ld [MusicFadeID], a pop af - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ret ; e8051 @@ -654,11 +654,11 @@ FadeMusic: ; e8358 ; restart sound call MusicFadeRestart ; get new song id - ld a, [MusicFadeIDLo] + ld a, [MusicFadeID] and a jr z, .quit ; this assumes there are fewer than 256 songs! ld e, a - ld a, [MusicFadeIDHi] + ld a, [MusicFadeID + 1] ld d, a ; load new song call _PlayMusic @@ -679,9 +679,9 @@ FadeMusic: ; e8358 xor a ld [Volume], a ; get new song id - ld a, [MusicFadeIDLo] + ld a, [MusicFadeID] ld e, a - ld a, [MusicFadeIDHi] + ld a, [MusicFadeID + 1] ld d, a ; load new song call _PlayMusic @@ -1364,9 +1364,9 @@ GetNoiseSample: ; e86c5 add hl, de ; load sample pointer into NoiseSampleAddress ld a, [hli] - ld [NoiseSampleAddressLo], a + ld [NoiseSampleAddress], a ld a, [hl] - ld [NoiseSampleAddressHi], a + ld [NoiseSampleAddress + 1], a ; clear ???? xor a ld [wNoiseSampleDelay], a @@ -2160,9 +2160,9 @@ Music_RestartChannel: ; e8a08 ld hl, Channel1MusicID - Channel1 add hl, bc ld a, [hli] - ld [MusicIDLo], a + ld [MusicID], a ld a, [hl] - ld [MusicIDHi], a + ld [MusicID + 1], a ; update music bank ld hl, Channel1MusicBank - Channel1 add hl, bc @@ -2437,7 +2437,7 @@ _PlayMusic:: ; e8b30 ld hl, MusicID ld [hl], e ; song number inc hl - ld [hl], d ; MusicIDHi (always $) + ld [hl], d ; (always 0) ld hl, Music add hl, de ; three add hl, de ; byte @@ -2466,8 +2466,8 @@ _PlayMusic:: ; e8b30 ld [Channel2JumpCondition], a ld [Channel3JumpCondition], a ld [Channel4JumpCondition], a - ld [NoiseSampleAddressLo], a - ld [NoiseSampleAddressHi], a + ld [NoiseSampleAddress], a + ld [NoiseSampleAddress + 1], a ld [wNoiseSampleDelay], a ld [MusicNoiseSampleSet], a call MusicOn @@ -2647,8 +2647,8 @@ _PlaySFX:: ; e8c04 ld a, $80 ld [rNR44], a ; restart sound (freq hi = 0) xor a - ld [NoiseSampleAddressLo], a - ld [NoiseSampleAddressHi], a + ld [NoiseSampleAddress], a + ld [NoiseSampleAddress + 1], a .chscleared ; start reading sfx header for # chs ld hl, MusicID @@ -2825,9 +2825,9 @@ LoadChannel: ; e8d1b ; load music id ld hl, Channel1MusicID - Channel1 add hl, bc - ld a, [MusicIDLo] + ld a, [MusicID] ld [hli], a - ld a, [MusicIDHi] + ld a, [MusicID + 1] ld [hl], a ; load music bank ld hl, Channel1MusicBank - Channel1 diff --git a/engine/credits.asm b/engine/credits.asm index 1888ef27d..3442d4f16 100644 --- a/engine/credits.asm +++ b/engine/credits.asm @@ -491,7 +491,7 @@ ParseCredits: ; 1099aa ld a, MUSIC_POST_CREDITS % $100 ld [MusicFadeID], a ld a, MUSIC_POST_CREDITS / $100 - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ret .get diff --git a/engine/init_gender.asm b/engine/init_gender.asm index ff5babdf9..3ae856029 100755 --- a/engine/init_gender.asm +++ b/engine/init_gender.asm @@ -68,9 +68,9 @@ InitGenderScreen: ; 48e14 (12:4e14) ld a, $10 ld [MusicFade], a ld a, MUSIC_NONE - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, $0 - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld c, 8 call DelayFrames call ClearBGPalettes diff --git a/engine/intro_menu.asm b/engine/intro_menu.asm index 8e3c90204..2da478ede 100755 --- a/engine/intro_menu.asm +++ b/engine/intro_menu.asm @@ -375,9 +375,9 @@ Continue: ; 5d65 ld a, $8 ld [MusicFade], a ld a, MUSIC_NONE % $100 - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, MUSIC_NONE / $100 - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a call ClearBGPalettes call Continue_MobileAdapterMenu call CloseWindow @@ -429,9 +429,9 @@ Continue_MobileAdapterMenu: ; 5df0 ld a, 5 ld [MusicFade], a ld a, MUSIC_MOBILE_ADAPTER_MENU % $100 - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, MUSIC_MOBILE_ADAPTER_MENU / $100 - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld c, 20 call DelayFrames ld c, $1 @@ -440,9 +440,9 @@ Continue_MobileAdapterMenu: ; 5df0 ld a, 8 ld [MusicFade], a ld a, MUSIC_NONE % $100 - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, MUSIC_NONE / $100 - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld c, 35 call DelayFrames ret @@ -859,9 +859,9 @@ ShrinkPlayer: ; 610f ld [MusicFade], a ld de, MUSIC_NONE ld a, e - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, d - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld de, SFX_ESCAPE_ROPE call PlaySFX @@ -1282,8 +1282,8 @@ TitleScreenMain: ; 6304 ; Fade out the title screen music xor a - ld [MusicFadeIDLo], a - ld [MusicFadeIDHi], a + ld [MusicFadeID], a + ld [MusicFadeID + 1], a ld hl, MusicFade ld [hl], 8 ; 1 second diff --git a/engine/map_setup.asm b/engine/map_setup.asm index dc013ffdd..5de4f30da 100644 --- a/engine/map_setup.asm +++ b/engine/map_setup.asm @@ -414,9 +414,9 @@ RetainOldPalettes: ; 1556d RotatePalettesRightMapAndMusic: ; 15574 ld e, 0 - ld a, [MusicFadeIDLo] + ld a, [MusicFadeID] ld d, 0 - ld a, [MusicFadeIDHi] + ld a, [MusicFadeID + 1] ld a, $4 ld [MusicFade], a call RotateThreePalettesRight diff --git a/engine/specials.asm b/engine/specials.asm index 6baca2697..e88112286 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -618,9 +618,9 @@ SpecialGameboyCheck: ; c478 Special_FadeOutMusic: ; c48f ld a, MUSIC_NONE % $100 - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, MUSIC_NONE / $100 - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld a, $2 ld [MusicFade], a ret diff --git a/engine/timeset.asm b/engine/timeset.asm index d560ae817..77ee5a0dd 100755 --- a/engine/timeset.asm +++ b/engine/timeset.asm @@ -10,9 +10,9 @@ InitClock: ; 90672 (24:4672) ld a, $10 ld [MusicFade], a ld a, MUSIC_NONE % $100 - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, MUSIC_NONE / $100 - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld c, 8 call DelayFrames call RotateFourPalettesLeft diff --git a/event/halloffame.asm b/event/halloffame.asm index e1870b8ac..5e0a20378 100755 --- a/event/halloffame.asm +++ b/event/halloffame.asm @@ -37,9 +37,9 @@ HallOfFame:: ; 0x8640e RedCredits:: ; 86455 ld a, MUSIC_NONE % $100 - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, MUSIC_NONE / $100 - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld a, 10 ld [MusicFade], a callba FadeOutPalettes @@ -60,9 +60,9 @@ RedCredits:: ; 86455 HallOfFame_FadeOutMusic: ; 8648e ld a, MUSIC_NONE % $100 - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, MUSIC_NONE / $100 - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld a, 10 ld [MusicFade], a callba FadeOutPalettes diff --git a/home/audio.asm b/home/audio.asm index fbbce72de..98e1fc40c 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -348,9 +348,9 @@ FadeToMapMusic:: ; 3cbc ld a, 8 ld [MusicFade], a ld a, e - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, d - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld a, e ld [wMapMusic], a diff --git a/misc/mobile_12.asm b/misc/mobile_12.asm index 69a5551a7..ea1e25bb8 100755 --- a/misc/mobile_12.asm +++ b/misc/mobile_12.asm @@ -40,9 +40,9 @@ InitMobileProfile: ; 4802f (12:402f) ld a, $5 ld [MusicFade], a ld a, MUSIC_MOBILE_ADAPTER_MENU % $100 - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, MUSIC_MOBILE_ADAPTER_MENU / $100 - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld c, 20 call DelayFrames ld b, $1 diff --git a/misc/mobile_45_sprite_engine.asm b/misc/mobile_45_sprite_engine.asm index 57c45e43c..a85e7fce4 100755 --- a/misc/mobile_45_sprite_engine.asm +++ b/misc/mobile_45_sprite_engine.asm @@ -496,9 +496,9 @@ Function1161d5: ; 1161d5 ld [MusicFade], a ld de, MUSIC_MOBILE_ADAPTER ld a, e - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, d - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld a, [$c319] inc a ld [$c319], a @@ -680,9 +680,9 @@ Function11636e: ; 11636e ld a, $8 ld [MusicFade], a ld a, [wMapMusic] - ld [MusicFadeIDLo], a + ld [MusicFadeID], a xor a - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a xor a ld [$c319], a ld [wc30d], a @@ -728,18 +728,18 @@ Function1163c0: ; 1163c0 ld a, $8 ld [MusicFade], a ld a, [wMapMusic] - ld [MusicFadeIDLo], a + ld [MusicFadeID], a xor a - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a jr .asm_116439 .asm_11642a ld a, $8 ld [MusicFade], a ld a, $0 - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, $0 - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a .asm_116439 xor a @@ -757,9 +757,9 @@ Function116441: ; 116441 ld a, $8 ld [MusicFade], a ld a, [wMapMusic] - ld [MusicFadeIDLo], a + ld [MusicFadeID], a xor a - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a xor a ld [$c319], a ld [wc30d], a diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm index 061b1357f..816e23394 100644 --- a/misc/mobile_5f.asm +++ b/misc/mobile_5f.asm @@ -559,9 +559,9 @@ Function17d2ce: ; 17d2ce ld de, MUSIC_MOBILE_CENTER ld a, e ld [wMapMusic], a - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, d - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a call PlayMusic call ReturnToMapFromSubmenu call CloseSubmenu @@ -4728,9 +4728,9 @@ Function17f5e4: ; 17f5e4 ld [MusicFade], a ld de, MUSIC_NONE ld a, e - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, d - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld a, " " hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT @@ -5274,9 +5274,9 @@ Function17ff23: ; 17ff23 ld a, $8 ld [MusicFade], a ld a, [wMapMusic] - ld [MusicFadeIDLo], a + ld [MusicFadeID], a xor a - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld hl, wc303 set 7, [hl] ret diff --git a/misc/mobile_menu.asm b/misc/mobile_menu.asm index 518ad9a25..1bee0cced 100755 --- a/misc/mobile_menu.asm +++ b/misc/mobile_menu.asm @@ -856,9 +856,9 @@ Function4a6c5: ; 4a6c5 (12:66c5) ld a, $5 ld [MusicFade], a ld a, e - ld [MusicFadeIDLo], a + ld [MusicFadeID], a ld a, d - ld [MusicFadeIDHi], a + ld [MusicFadeID + 1], a ld c, 22 call DelayFrames ret diff --git a/wram.asm b/wram.asm index 6a505a21f..c577d5519 100644 --- a/wram.asm +++ b/wram.asm @@ -2,7 +2,9 @@ INCLUDE "includes.asm" INCLUDE "macros/wram.asm" INCLUDE "vram.asm" + SECTION "Stack", WRAM0 + wc000:: StackBottom:: ds $100 - 1 @@ -12,10 +14,11 @@ StackTop:: SECTION "Audio RAM", WRAM0 + wMusic:: -MusicPlaying:: ; c100 + ; nonzero if playing - ds 1 +MusicPlaying:: db ; c100 Channels:: Channel1:: channel_struct Channel1 ; c101 @@ -30,16 +33,15 @@ Channel7:: channel_struct Channel7 ; c22d Channel8:: channel_struct Channel8 ; c25f ds 1 ; c291 -wCurTrackDuty:: ds 1 -wCurTrackIntensity:: ds 1 -wCurTrackFrequency:: dw -wc296:: ds 1 ; BCD value, dummied out -wCurNoteDuration:: ds 1 ; used in MusicE0 and LoadNote -CurMusicByte:: ; c298 - ds 1 -CurChannel:: ; c299 - ds 1 +wCurTrackDuty:: db +wCurTrackIntensity:: db +wCurTrackFrequency:: dw +wc296:: db ; BCD value, dummied out +wCurNoteDuration:: db ; used in MusicE0 and LoadNote + +CurMusicByte:: db ; c298 +CurChannel:: db ; c299 Volume:: ; c29a ; corresponds to $ff24 ; Channel control / ON-OFF / Volume (R/W) @@ -47,12 +49,12 @@ Volume:: ; c29a ; bit 6-4 - SO2 output level (volume) (# 0-7) ; bit 3 - Vin->SO1 ON/OFF ; bit 2-0 - SO1 output level (volume) (# 0-7) - ds 1 + db SoundOutput:: ; c29b ; corresponds to $ff25 ; bit 4-7: ch1-4 so2 on/off ; bit 0-3: ch1-4 so1 on/off - ds 1 + db SoundInput:: ; c29c ; corresponds to $ff26 ; bit 7: global on/off @@ -60,80 +62,69 @@ SoundInput:: ; c29c ; bit 1: ch2 on/off ; bit 2: ch3 on/off ; bit 3: ch4 on/off - ds 1 + db + +MusicID:: dw ; c29d +MusicBank:: db ; c29f +NoiseSampleAddress:: dw ; c2a0 +wNoiseSampleDelay:: db ; c2a2 + ds 1 ; c2a3 +MusicNoiseSampleSet:: db ; c2a4 +SFXNoiseSampleSet:: db ; c2a5 -MusicID:: -MusicIDLo:: ; c29d - ds 1 -MusicIDHi:: ; c29e - ds 1 -MusicBank:: ; c29f - ds 1 -NoiseSampleAddress:: -NoiseSampleAddressLo:: ; c2a0 - ds 1 -NoiseSampleAddressHi:: ; c2a1 - ds 1 -wNoiseSampleDelay:: ; noise delay? ; c2a2 - ds 1 -; c2a3 - ds 1 -MusicNoiseSampleSet:: ; c2a4 - ds 1 -SFXNoiseSampleSet:: ; c2a5 - ds 1 Danger:: ; c2a6 ; bit 7: on/off ; bit 4: pitch ; bit 0-3: counter - ds 1 + db + MusicFade:: ; c2a7 ; fades volume over x frames ; bit 7: fade in/out ; bit 0-5: number of frames for each volume level ; $00 = none (default) - ds 1 -MusicFadeCount:: ; c2a8 - ds 1 -MusicFadeID:: -wc2a9:: -MusicFadeIDLo:: ; c2a9 - ds 1 -wc2aa:: -MusicFadeIDHi:: ; c2aa - ds 1 + db +MusicFadeCount:: db ; c2a8 +MusicFadeID:: dw ; c2a9 + ds 5 -CryPitch:: ; c2b0 - ds 2 -CryLength:: ; c2b2 - ds 2 -LastVolume:: ; c2b4 - ds 1 -wc2b5:: ds 1 + +CryPitch:: dw ; c2b0 +CryLength:: dw ; c2b2 + +LastVolume:: db ; c2b4 +wc2b5:: db ; c2b5 + SFXPriority:: ; c2b6 ; if nonzero, turn off music when playing sfx + db + ds 1 - ds 1 -Channel1JumpCondition:: ds 1 -Channel2JumpCondition:: ds 1 -Channel3JumpCondition:: ds 1 -Channel4JumpCondition:: ds 1 -wStereoPanningMask:: ds 1 ; c2bc + +Channel1JumpCondition:: db +Channel2JumpCondition:: db +Channel3JumpCondition:: db +Channel4JumpCondition:: db + +wStereoPanningMask:: db ; c2bc + CryTracks:: ; c2bd ; plays only in left or right track depending on what side the monster is on ; both tracks active outside of battle - ds 1 -wSFXDuration:: ds 1 + db + +wSFXDuration:: db CurSFX:: ; c2bf ; id of sfx currently playing - ds 1 + db ChannelsEnd:: -wMapMusic:: ; c2c0 - ds 1 -wDontPlayMapMusicOnReload:: ds 1 +wMapMusic:: db ; c2c0 + +wDontPlayMapMusicOnReload:: db wMusicEnd:: + SECTION "WRAM", WRAM0 wLZAddress:: dw ; c2c2 @@ -141,69 +132,62 @@ wLZBank:: db ; c2c4 ds 1 -wBoxAlignment:: ds 1 -InputType:: ; c2c7 - ds 1 -AutoInputAddress:: ; c2c8 - ds 2 -AutoInputBank:: ; c2ca - ds 1 -AutoInputLength:: ; c2cb - ds 1 +wBoxAlignment:: db -wMonStatusFlags:: ds 1 -wGameLogicPaused:: ds 1 ; c2cd -wSpriteUpdatesEnabled:: ds 1 -wc2cf:: ds 1 -wMapTimeOfDay:: ds 1 +InputType:: db ; c2c7 +AutoInputAddress:: dw ; c2c8 +AutoInputBank:: db ; c2ca +AutoInputLength:: db ; c2cb + +wMonStatusFlags:: db +wGameLogicPaused:: db ; c2cd +wSpriteUpdatesEnabled:: db +wc2cf:: db +wMapTimeOfDay:: db ds 3 -wPrinterConnectionOpen:: ds 1 -wPrinterOpcode:: ds 1 -wLastDexEntry:: ds 1 -wDisableTextAcceleration:: ds 1 -wPreviousLandmark:: ds 1 -wCurrentLandmark:: ds 1 -wLandmarkSignTimer:: ds 2 +wPrinterConnectionOpen:: db +wPrinterOpcode:: db +wLastDexEntry:: db +wDisableTextAcceleration:: db +wPreviousLandmark:: db +wCurrentLandmark:: db +wLandmarkSignTimer:: dw wLinkMode:: ; c2dc ; 0 not in link battle ; 1 link battle ; 4 mobile battle - ds 1 + db -ScriptVar:: ; c2dd - ds 1 +ScriptVar:: db ; c2dd -wPlayerNextMovement:: ds 1 -wPlayerMovement:: ds 1 +wPlayerNextMovement:: db +wPlayerMovement:: db ds 2 wc2e2:: -wMovementPerson:: ds 1 +wMovementPerson:: db wMovementDataPointer:: ds 3 ; dba wc2e6:: ds 4 -wMovementByteWasControlSwitch:: ds 1 -wMovementPointer:: ds 2 ; c2eb +wMovementByteWasControlSwitch:: db +wMovementPointer:: dw ; c2eb + ds 3 -wTempObjectCopyMapObjectIndex:: ds 1 ; c2f0 -wTempObjectCopySprite:: ds 1 ; c2f1 -wTempObjectCopySpriteVTile:: ds 1 ; c2f2 -wTempObjectCopyPalette:: ds 1 ; c2f3 -wTempObjectCopyMovement:: ds 1 ; c2f4 -wTempObjectCopyRange:: ds 1 ; c2f5 -wTempObjectCopyX:: ds 1 ; c2f6 -wTempObjectCopyY:: ds 1 ; c2f7 -wTempObjectCopyRadius:: ds 1 ; c2f8 +wTempObjectCopyMapObjectIndex:: db ; c2f0 +wTempObjectCopySprite:: db ; c2f1 +wTempObjectCopySpriteVTile:: db ; c2f2 +wTempObjectCopyPalette:: db ; c2f3 +wTempObjectCopyMovement:: db ; c2f4 +wTempObjectCopyRange:: db ; c2f5 +wTempObjectCopyX:: db ; c2f6 +wTempObjectCopyY:: db ; c2f7 +wTempObjectCopyRadius:: db ; c2f8 ds 1 -TileDown:: ; c2fa - ds 1 -TileUp:: ; c2fb - ds 1 -TileLeft:: ; c2fc - ds 1 -TileRight:: ; c2fd - ds 1 +TileDown:: db ; c2fa +TileUp:: db ; c2fb +TileLeft:: db ; c2fc +TileRight:: db ; c2fd TilePermissions:: ; c2fe ; set if tile behavior prevents @@ -212,19 +196,36 @@ TilePermissions:: ; c2fe ; bit 2: up ; bit 1: left ; bit 0: right - ds 1 + db ds 1 + SECTION "wSpriteAnims", WRAM0 -; wc300 - wc313 is a 10x2 dictionary. -; keys: taken from third column of SpriteAnimSeqData -; values: VTiles UNION +; wSpriteAnimDict is a 10x2 dictionary +; keys: taken from third column of SpriteAnimSeqData +; values: VTiles wSpriteAnimDict:: ds 10 * 2 +wSpriteAnimationStructs:: +; field 0: index +; fields 1-3: loaded from SpriteAnimSeqData +SpriteAnim1:: sprite_anim_struct SpriteAnim1 +SpriteAnim2:: sprite_anim_struct SpriteAnim2 +SpriteAnim3:: sprite_anim_struct SpriteAnim3 +SpriteAnim4:: sprite_anim_struct SpriteAnim4 +SpriteAnim5:: sprite_anim_struct SpriteAnim5 +SpriteAnim6:: sprite_anim_struct SpriteAnim6 +SpriteAnim7:: sprite_anim_struct SpriteAnim7 +SpriteAnim8:: sprite_anim_struct SpriteAnim8 +SpriteAnim9:: sprite_anim_struct SpriteAnim9 +SpriteAnim10:: sprite_anim_struct SpriteAnim10 +wSpriteAnimationStructsEnd:: + NEXTU +; mobile data wc300:: ds 1 wc301:: ds 1 wc302:: ds 1 @@ -244,62 +245,32 @@ wc310:: ds 1 wc311:: ds 1 wc312:: ds 1 wc313:: ds 1 +wc314:: ds 152 +wc3ac:: ds 8 ENDU -wSpriteAnimationStructs:: -; Field 0: Index -; Fields 1-3: Loaded from SpriteAnimSeqData -wc314:: -SpriteAnim1:: sprite_anim_struct SpriteAnim1 -wc324:: -SpriteAnim2:: sprite_anim_struct SpriteAnim2 -wc334:: -SpriteAnim3:: sprite_anim_struct SpriteAnim3 -wc344:: -SpriteAnim4:: sprite_anim_struct SpriteAnim4 -wc354:: -SpriteAnim5:: sprite_anim_struct SpriteAnim5 -wc364:: -SpriteAnim6:: sprite_anim_struct SpriteAnim6 -wc374:: -SpriteAnim7:: sprite_anim_struct SpriteAnim7 -wc384:: -SpriteAnim8:: sprite_anim_struct SpriteAnim8 -wc394:: -SpriteAnim9:: sprite_anim_struct SpriteAnim9 -wc3a4:: +wSpriteAnimCount:: db +wCurrSpriteOAMAddr:: db -UNION -SpriteAnim10:: sprite_anim_struct SpriteAnim10 -wSpriteAnimationStructsEnd:: -NEXTU - ds 8 -wc3ac:: ds 8 ; c3ac -ENDU +CurIcon:: db ; c3b6 -wSpriteAnimCount:: ds 1 -wCurrSpriteOAMAddr:: ds 1 - -CurIcon:: ; c3b6 - ds 1 - - -wCurIconTile:: ds 1 +wCurIconTile:: db wSpriteAnimAddrBackup:: wSpriteAnimIDBuffer:: wCurrSpriteAddSubFlags:: - ds 2 -wCurrAnimVTile:: ds 1 -wCurrAnimXCoord:: ds 1 -wCurrAnimYCoord:: ds 1 -wCurrAnimXOffset:: ds 1 -wCurrAnimYOffset:: ds 1 -wGlobalAnimYOffset:: ds 1 -wGlobalAnimXOffset:: ds 1 + dw +wCurrAnimVTile:: db +wCurrAnimXCoord:: db +wCurrAnimYCoord:: db +wCurrAnimXOffset:: db +wCurrAnimYOffset:: db +wGlobalAnimYOffset:: db +wGlobalAnimXOffset:: db wSpriteAnimsEnd:: ds 11 +; mobile data wc3cc:: ds 1 wc3cd:: ds 31 wc3ec:: ds 1 @@ -352,6 +323,7 @@ TileMapEnd:: SECTION "Battle", WRAM0 + UNION wc608:: wOddEgg:: party_struct OddEgg From 5a5df2ab87268c0ec8851a8a71ed088c2a04fe14 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 14:22:58 -0500 Subject: [PATCH 06/16] More WRAM organization --- battle/effect_commands.asm | 34 +- engine/pokedex.asm | 2 +- engine/trade/animation.asm | 4 +- gfx/load_pics.asm | 12 +- home/map.asm | 2 +- misc/mobile_42.asm | 6 +- wram.asm | 806 ++++++++++++++++++------------------- 7 files changed, 418 insertions(+), 448 deletions(-) diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index 23ff3deaf..4e8976dd3 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -70,25 +70,25 @@ DoMove: ; 3402c ; Start at the first command. ld hl, BattleScriptBuffer ld a, l - ld [BattleScriptBufferLoc], a + ld [BattleScriptBufferAddress], a ld a, h - ld [BattleScriptBufferLoc + 1], a + ld [BattleScriptBufferAddress + 1], a .ReadMoveEffectCommand: -; ld a, [BattleScriptBufferLoc++] - ld a, [BattleScriptBufferLoc] +; ld a, [BattleScriptBufferAddress++] + ld a, [BattleScriptBufferAddress] ld l, a - ld a, [BattleScriptBufferLoc + 1] + ld a, [BattleScriptBufferAddress + 1] ld h, a ld a, [hli] push af ld a, l - ld [BattleScriptBufferLoc], a + ld [BattleScriptBufferAddress], a ld a, h - ld [BattleScriptBufferLoc + 1], a + ld [BattleScriptBufferAddress + 1], a pop af ; endturn_command (-2) is used to terminate branches without ending the read cycle. @@ -2743,9 +2743,9 @@ BattleCommand_RageDamage: ; 3527b EndMoveEffect: ; 352a3 - ld a, [BattleScriptBufferLoc] + ld a, [BattleScriptBufferAddress] ld l, a - ld a, [BattleScriptBufferLoc + 1] + ld a, [BattleScriptBufferAddress + 1] ld h, a ld a, $ff ld [hli], a @@ -7097,9 +7097,9 @@ BattleCommand_EndLoop: ; 369b6 ; Loop back to the command before 'critical'. .loop_back_to_critical - ld a, [BattleScriptBufferLoc + 1] + ld a, [BattleScriptBufferAddress + 1] ld h, a - ld a, [BattleScriptBufferLoc] + ld a, [BattleScriptBufferAddress] ld l, a .not_critical ld a, [hld] @@ -7107,9 +7107,9 @@ BattleCommand_EndLoop: ; 369b6 jr nz, .not_critical inc hl ld a, h - ld [BattleScriptBufferLoc + 1], a + ld [BattleScriptBufferAddress + 1], a ld a, l - ld [BattleScriptBufferLoc], a + ld [BattleScriptBufferAddress], a ret ; 36a82 @@ -9983,9 +9983,9 @@ BattleCommand_ClearText: ; 37e85 SkipToBattleCommand: ; 37e8c ; Skip over commands until reaching command b. - ld a, [BattleScriptBufferLoc + 1] + ld a, [BattleScriptBufferAddress + 1] ld h, a - ld a, [BattleScriptBufferLoc] + ld a, [BattleScriptBufferAddress] ld l, a .loop ld a, [hli] @@ -9993,9 +9993,9 @@ SkipToBattleCommand: ; 37e8c jr nz, .loop ld a, h - ld [BattleScriptBufferLoc + 1], a + ld [BattleScriptBufferAddress + 1], a ld a, l - ld [BattleScriptBufferLoc], a + ld [BattleScriptBufferAddress], a ret ; 37ea1 diff --git a/engine/pokedex.asm b/engine/pokedex.asm index 569bdbb0b..531684640 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -512,7 +512,7 @@ Pokedex_InitOptionScreen: ; 4039d (10:439d) call ClearSprites call Pokedex_DrawOptionScreenBG call Pokedex_InitArrowCursor - ld a, [wCurrentDexMode] + ld a, [wCurrentDexMode] ; Index of the topmost visible item in a scrolling menu ??? ld [wDexArrowCursorPosIndex], a call Pokedex_DisplayModeDescription call WaitBGMap diff --git a/engine/trade/animation.asm b/engine/trade/animation.asm index a1f46b48c..31c1578c2 100755 --- a/engine/trade/animation.asm +++ b/engine/trade/animation.asm @@ -100,7 +100,7 @@ TradeAnimationPlayer2: ; 28f63 tradeanim_end RunTradeAnimScript: ; 28fa1 - ld hl, wTradeAnimPointer + ld hl, wTradeAnimAddress ld [hl], e inc hl ld [hl], d @@ -294,7 +294,7 @@ TradeAnim_IncrementJumptableIndex: ; 2910f ; 29114 TradeAnim_AdvanceScriptPointer: ; 29114 - ld hl, wTradeAnimPointer + ld hl, wTradeAnimAddress ld e, [hl] inc hl ld d, [hl] diff --git a/gfx/load_pics.asm b/gfx/load_pics.asm index 78e65dc81..040a1d644 100755 --- a/gfx/load_pics.asm +++ b/gfx/load_pics.asm @@ -83,14 +83,14 @@ _GetFrontpic: ; 510a5 ld b, a push bc call GetFrontpicPointer - ld a, BANK(wDecompressScratch) + ld a, BANK(wDecompressEnemyFrontpic) ld [rSVBK], a ld a, b - ld de, wDecompressScratch + $800 + ld de, wDecompressEnemyFrontpic call FarDecompress pop bc ld hl, wDecompressScratch - ld de, wDecompressScratch + $800 + ld de, wDecompressEnemyFrontpic call PadFrontpic pop hl push hl @@ -149,15 +149,15 @@ GetAnimatedFrontpic: ; 51103 call GetFarWRAMByte pop hl and $f - ld de, w6_d800 + 5 * 5 tiles + ld de, wDecompressEnemyFrontpic + 5 * 5 tiles ld c, 5 * 5 cp 5 jr z, .got_dims - ld de, w6_d800 + 6 * 6 tiles + ld de, wDecompressEnemyFrontpic + 6 * 6 tiles ld c, 6 * 6 cp 6 jr z, .got_dims - ld de, w6_d800 + 7 * 7 tiles + ld de, wDecompressEnemyFrontpic + 7 * 7 tiles ld c, 7 * 7 .got_dims diff --git a/home/map.asm b/home/map.asm index 430a7b119..b66faa9ae 100644 --- a/home/map.asm +++ b/home/map.asm @@ -1415,7 +1415,7 @@ LoadTileset:: ; 2821 ld a, $1 ld [rVBK], a - ld hl, w6_d600 + ld hl, wDecompressScratch + $60 tiles ld de, VTiles2 ld bc, $60 tiles call CopyBytes diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm index d7690f813..ce1767233 100644 --- a/misc/mobile_42.asm +++ b/misc/mobile_42.asm @@ -83,7 +83,7 @@ Function10804d: ; 10804d mobiletradeanim_end RunMobileTradeAnim_Frontpics: ; 10805b - ld hl, wTradeAnimPointer + ld hl, wTradeAnimAddress ld [hl], e inc hl ld [hl], d @@ -113,7 +113,7 @@ RunMobileTradeAnim_Frontpics: ; 10805b ; 108089 RunMobileTradeAnim_NoFrontpics: ; 108089 - ld hl, wTradeAnimPointer + ld hl, wTradeAnimAddress ld [hl], e inc hl ld [hl], d @@ -411,7 +411,7 @@ MobileTradeAnim_Next: ; 1082b2 ; 1082b7 GetMobileTradeAnimByte: ; 1082b7 - ld hl, wTradeAnimPointer + ld hl, wTradeAnimAddress ld e, [hl] inc hl ld d, [hl] diff --git a/wram.asm b/wram.asm index c577d5519..ae73595f5 100644 --- a/wram.asm +++ b/wram.asm @@ -203,7 +203,7 @@ TilePermissions:: ; c2fe SECTION "wSpriteAnims", WRAM0 -UNION +UNION ; c300 ; wSpriteAnimDict is a 10x2 dictionary ; keys: taken from third column of SpriteAnimSeqData ; values: VTiles @@ -224,7 +224,7 @@ SpriteAnim9:: sprite_anim_struct SpriteAnim9 SpriteAnim10:: sprite_anim_struct SpriteAnim10 wSpriteAnimationStructsEnd:: -NEXTU +NEXTU ; c300 ; mobile data wc300:: ds 1 wc301:: ds 1 @@ -325,29 +325,40 @@ TileMapEnd:: SECTION "Battle", WRAM0 UNION +; unidentified mobile/debug wc608:: + +NEXTU ; c608 +; miscellaneous +wMisc:: ds (SCREEN_WIDTH + 4) * (SCREEN_HEIGHT + 2) +wMiscEnd:: + +NEXTU ; c608 +; odd egg wOddEgg:: party_struct OddEgg wOddEggName:: ds PKMN_NAME_LENGTH wOddEggOTName:: ds PKMN_NAME_LENGTH -NEXTU +NEXTU ; c608 +; battle tower temp struct wBT_OTTemp:: battle_tower_struct wBT_OTTemp -NEXTU +NEXTU ; c608 +; hall of fame temp struct hall_of_fame wHallOfFameTemp -NEXTU -wMisc:: ; ds (SCREEN_WIDTH + 4) * (SCREEN_HEIGHT + 2) - ds 10 -wc612:: - ds 6 -wc618:: - ds 4 -wInitHourBuffer:: ; c61c - ds 10 -wc626:: +NEXTU ; c608 +; timeset temp storage + ds 20 +wInitHourBuffer:: db ; c61c -NEXTU +NEXTU ; c608 +; link engine data + ds 10 +wc612:: ds 10 + +NEXTU ; c608 +; battle data wBattle:: wEnemyMoveStruct:: move_struct wEnemyMoveStruct ; c608 wPlayerMoveStruct:: move_struct wPlayerMoveStruct ; c60f @@ -359,16 +370,15 @@ BattleMon:: battle_struct BattleMon ; c62c ds 2 -wWildMon:: ds 1 ; c64e +wWildMon:: db ; c64e ds 1 -wEnemyTrainerItem1:: ds 1 ; c650 -wEnemyTrainerItem2:: ds 1 ; c651 -wEnemyTrainerBaseReward:: ds 1 ; c652 +wEnemyTrainerItem1:: db ; c650 +wEnemyTrainerItem2:: db ; c651 +wEnemyTrainerBaseReward:: db ; c652 wEnemyTrainerAIFlags:: ds 3 ; c653 OTClassName:: ds TRAINER_CLASS_NAME_LENGTH ; c656 -CurOTMon:: ; c663 - ds 1 +CurOTMon:: db ; c663 wBattleParticipantsNotFainted:: ; Bit array. Bits 0 - 5 correspond to party members 1 - 6. @@ -376,24 +386,24 @@ wBattleParticipantsNotFainted:: ; Bit cleared if the mon faints. ; Backed up if the enemy switches. ; All bits cleared if the enemy faints. - ds 1 + db TypeModifier:: ; c665 ; >10: super-effective ; 10: normal ; <10: not very effective ; bit 7: stab - ds 1 + db CriticalHit:: ; c666 ; 0 if not critical ; 1 for a critical hit ; 2 for a OHKO - ds 1 + db AttackMissed:: ; c667 ; nonzero for a miss - ds 1 + db PlayerSubStatus1:: ; c668 ; bit @@ -405,7 +415,7 @@ PlayerSubStatus1:: ; c668 ; 2 protect ; 1 curse ; 0 nightmare - ds 1 + db PlayerSubStatus2:: ; c669 ; bit ; 7 @@ -416,7 +426,7 @@ PlayerSubStatus2:: ; c669 ; 2 ; 1 ; 0 curled - ds 1 + db PlayerSubStatus3:: ; c66a ; bit ; 7 confused @@ -427,7 +437,7 @@ PlayerSubStatus3:: ; c66a ; 2 in loop ; 1 rampage ; 0 bide - ds 1 + db PlayerSubStatus4:: ; c66b ; bit ; 7 leech seed @@ -438,7 +448,7 @@ PlayerSubStatus4:: ; c66b ; 2 focus energy ; 1 mist ; 0 x accuracy - ds 1 + db PlayerSubStatus5:: ; c66c ; bit ; 7 can't run @@ -449,190 +459,143 @@ PlayerSubStatus5:: ; c66c ; 2 ; 1 ; 0 toxic - ds 1 + db EnemySubStatus1:: ; c66d ; see PlayerSubStatus1 - ds 1 + db EnemySubStatus2:: ; c66e ; see PlayerSubStatus2 - ds 1 + db EnemySubStatus3:: ; c66f ; see PlayerSubStatus3 - ds 1 + db EnemySubStatus4:: ; c670 ; see PlayerSubStatus4 - ds 1 + db EnemySubStatus5:: ; c671 ; see PlayerSubStatus5 - ds 1 + db -PlayerRolloutCount:: ; c672 - ds 1 -PlayerConfuseCount:: ; c673 - ds 1 -PlayerToxicCount:: ; c674 - ds 1 -PlayerDisableCount:: ; c675 - ds 1 -PlayerEncoreCount:: ; c676 - ds 1 -PlayerPerishCount:: ; c677 - ds 1 -PlayerFuryCutterCount:: ; c678 - ds 1 -PlayerProtectCount:: ; c679 - ds 1 +PlayerRolloutCount:: db ; c672 +PlayerConfuseCount:: db ; c673 +PlayerToxicCount:: db ; c674 +PlayerDisableCount:: db ; c675 +PlayerEncoreCount:: db ; c676 +PlayerPerishCount:: db ; c677 +PlayerFuryCutterCount:: db ; c678 +PlayerProtectCount:: db ; c679 -EnemyRolloutCount:: ; c67a - ds 1 -EnemyConfuseCount:: ; c67b - ds 1 -EnemyToxicCount:: ; c67c - ds 1 -EnemyDisableCount:: ; c67d - ds 1 -EnemyEncoreCount:: ; c67e - ds 1 -EnemyPerishCount:: ; c67f - ds 1 -EnemyFuryCutterCount:: ; c680 - ds 1 -EnemyProtectCount:: ; c681 - ds 1 +EnemyRolloutCount:: db ; c67a +EnemyConfuseCount:: db ; c67b +EnemyToxicCount:: db ; c67c +EnemyDisableCount:: db ; c67d +EnemyEncoreCount:: db ; c67e +EnemyPerishCount:: db ; c67f +EnemyFuryCutterCount:: db ; c680 +EnemyProtectCount:: db ; c681 -PlayerDamageTaken:: ; c682 - ds 2 -EnemyDamageTaken:: ; c684 - ds 2 +PlayerDamageTaken:: dw ; c682 +EnemyDamageTaken:: dw ; c684 wBattleReward:: ds 3 ; c686 wBattleAnimParam:: wKickCounter:: -wPresentPower:: ds 1 ; c689 -BattleScriptBuffer:: ; c68a - ds 40 +wPresentPower:: db ; c689 +BattleScriptBuffer:: ds 40 ; c68a -BattleScriptBufferLoc:: ; c6b2 - ds 2 +BattleScriptBufferAddress:: dw ; c6b2 + +wTurnEnded:: db ; c6b4 -wTurnEnded:: ds 1 ; c6b4 ds 1 PlayerStats:: ; c6b6 -PlayerAttack:: ds 2 -PlayerDefense:: ds 2 -PlayerSpeed:: ds 2 -PlayerSpAtk:: ds 2 -PlayerSpDef:: ds 2 +PlayerAttack:: dw +PlayerDefense:: dw +PlayerSpeed:: dw +PlayerSpAtk:: dw +PlayerSpDef:: dw ds 1 + EnemyStats:: ; c6c1 -EnemyAttack:: ds 2 -EnemyDefense:: ds 2 -EnemySpeed:: ds 2 -EnemySpAtk:: ds 2 -EnemySpDef:: ds 2 +EnemyAttack:: dw +EnemyDefense:: dw +EnemySpeed:: dw +EnemySpAtk:: dw +EnemySpDef:: dw ds 1 PlayerStatLevels:: ; c6cc ; 07 neutral -PlayerAtkLevel:: ; c6cc - ds 1 -PlayerDefLevel:: ; c6cd - ds 1 -PlayerSpdLevel:: ; c6ce - ds 1 -PlayerSAtkLevel:: ; c6cf - ds 1 +PlayerAtkLevel:: db ; c6cc +PlayerDefLevel:: db ; c6cd +PlayerSpdLevel:: db ; c6ce +PlayerSAtkLevel:: db ; c6cf -UNION -wc6d0:: -PlayerSDefLevel:: ; c6d0 - ds 1 -PlayerAccLevel:: ; c6d1 - ds 1 -PlayerEvaLevel:: ; c6d2 - ds 1 -; c6d3 - ds 1 +UNION ; c6d0 +PlayerSDefLevel:: db ; c6d0 +PlayerAccLevel:: db ; c6d1 +PlayerEvaLevel:: db ; c6d2 + ds 1 ; c6d3 PlayerStatLevelsEnd:: EnemyStatLevels:: ; c6d4 ; 07 neutral -EnemyAtkLevel:: ; c6d4 - ds 1 -EnemyDefLevel:: ; c6d5 - ds 1 -EnemySpdLevel:: ; c6d6 - ds 1 -EnemySAtkLevel:: ; c6d7 - ds 1 -EnemySDefLevel:: ; c6d8 - ds 1 -EnemyAccLevel:: ; c6d9 - ds 1 -EnemyEvaLevel:: ; c6da +EnemyAtkLevel:: db ; c6d4 +EnemyDefLevel:: db ; c6d5 +EnemySpdLevel:: db ; c6d6 +EnemySAtkLevel:: db ; c6d7 +EnemySDefLevel:: db ; c6d8 +EnemyAccLevel:: db ; c6d9 +EnemyEvaLevel:: db ; c6da ds 1 - ds 1 -EnemyTurnsTaken:: ; c6dc - ds 1 -PlayerTurnsTaken:: ; c6dd +EnemyTurnsTaken:: db ; c6dc +PlayerTurnsTaken:: db ; c6dd ds 1 +PlayerSubstituteHP:: db ; c6df +EnemySubstituteHP:: db ; c6e0 + +wUnusedPlayerLockedMove:: db ; c6e1 ds 1 -PlayerSubstituteHP:: ; c6df - ds 1 -EnemySubstituteHP:: ; c6e0 - ds 1 - -wUnusedPlayerLockedMove:: ds 1 ; c6e1 - ds 1 -CurPlayerMove:: ; c6e3 - ds 1 -CurEnemyMove:: ; c6e4 - ds 1 +CurPlayerMove:: db ; c6e3 +CurEnemyMove:: db ; c6e4 LinkBattleRNCount:: ; c6e5 ; how far through the prng stream - ds 1 + db -wEnemyItemState:: ds 1 ; c6e6 +wEnemyItemState:: db ; c6e6 ds 2 -CurEnemyMoveNum:: ; c6e9 - ds 1 +CurEnemyMoveNum:: db ; c6e9 -wEnemyHPAtTimeOfPlayerSwitch:: ds 2 ; c6ea +wEnemyHPAtTimeOfPlayerSwitch:: dw ; c6ea wPayDayMoney:: ds 3 ; c6ec -wSafariMonAngerCount:: ds 1 -wSafariMonEating:: ds 2 -wEnemyBackupDVs:: ; used when enemy is transformed - ds 2 -AlreadyDisobeyed:: ; c6f4 +wSafariMonAngerCount:: db +wSafariMonEating:: db ds 1 +wEnemyBackupDVs:: dw ; used when enemy is transformed +AlreadyDisobeyed:: db ; c6f4 -DisabledMove:: ; c6f5 - ds 1 -EnemyDisabledMove:: ; c6f6 - ds 1 -wWhichMonFaintedFirst:: ds 1 +DisabledMove:: db ; c6f5 +EnemyDisabledMove:: db ; c6f6 +wWhichMonFaintedFirst:: db ; exists so you can't counter on switch -LastPlayerCounterMove:: ; c6f8 - ds 1 -LastEnemyCounterMove:: ; c6f9 - ds 1 +LastPlayerCounterMove:: db ; c6f8 +LastEnemyCounterMove:: db ; c6f9 -wEnemyMinimized:: ds 1 ; c6fa +wEnemyMinimized:: db ; c6fa -AlreadyFailed:: ; c6fb - ds 1 +AlreadyFailed:: db ; c6fb -wBattleParticipantsIncludingFainted:: ds 1 ; c6fc -wDanger:: ds 1 ; c6fd -wPlayerMinimized:: ds 1 ; c6fe +wBattleParticipantsIncludingFainted:: db ; c6fc +wDanger:: db ; c6fd +wPlayerMinimized:: db ; c6fe PlayerScreens:: ; c6ff ; bit ; 7 @@ -643,27 +606,22 @@ PlayerScreens:: ; c6ff ; 2 safeguard ; 1 ; 0 spikes - ds 1 + db EnemyScreens:: ; c700 ; see PlayerScreens + db + +PlayerSafeguardCount:: db ; c701 +PlayerLightScreenCount:: db ; c702 +PlayerReflectCount:: db ; c703 ds 1 -PlayerSafeguardCount:: ; c701 - ds 1 -PlayerLightScreenCount:: ; c702 - ds 1 -PlayerReflectCount:: ; c703 - ds 1 - - ds 1 -EnemySafeguardCount:: ; c705 - ds 1 -EnemyLightScreenCount:: ; c706 - ds 1 -EnemyReflectCount:: ; c707 - ds 1 +EnemySafeguardCount:: db ; c705 +EnemyLightScreenCount:: db ; c706 +EnemyReflectCount:: db ; c707 ds 2 + Weather:: ; c70a ; 00 normal ; 01 rain @@ -672,113 +630,110 @@ Weather:: ; c70a ; 04 rain stopped ; 05 sunliight faded ; 06 sandstorm subsided - ds 1 + db WeatherCount:: ; c70b ; # turns remaining - ds 1 + db -LoweredStat:: ; c70c - ds 1 -EffectFailed:: ; c70d - ds 1 -FailedMessage:: ; c70e - ds 1 -wEnemyGoesFirst:: ; c70f - ds 1 -wPlayerIsSwitching:: ds 1 ; c710 -wEnemyIsSwitching:: ds 1 ; c711 +LoweredStat:: db ; c70c +EffectFailed:: db ; c70d +FailedMessage:: db ; c70e +wEnemyGoesFirst:: db ; c70f + +wPlayerIsSwitching:: db ; c710 +wEnemyIsSwitching:: db ; c711 PlayerUsedMoves:: ; c712 ; add a move that has been used once by the player ; added in order of use ds NUM_MOVES -wEnemyAISwitchScore:: ds 1 ; c716 -wEnemySwitchMonParam:: ds 1 ; c717 -wEnemySwitchMonIndex:: ds 1 ; c718 -wTempLevel:: ds 1 ; c719 -LastPlayerMon:: ds 1 ; c71a -LastPlayerMove:: ; c71b - ds 1 -LastEnemyMove:: ; c71c - ds 1 +wEnemyAISwitchScore:: db ; c716 +wEnemySwitchMonParam:: db ; c717 +wEnemySwitchMonIndex:: db ; c718 +wTempLevel:: db ; c719 +LastPlayerMon:: db ; c71a +LastPlayerMove:: db ; c71b +LastEnemyMove:: db ; c71c + +wPlayerFutureSightCount:: db ; c71d +wEnemyFutureSightCount:: db ; c71e + +wGivingExperienceToExpShareHolders:: db ; c71f -wPlayerFutureSightCount:: ds 1 ; c71d -wEnemyFutureSightCount:: ds 1 ; c71e -wGivingExperienceToExpShareHolders:: ds 1 ; c71f wBackupEnemyMonBaseStats:: ds 5 ; c720 wBackupEnemyMonCatchRate:: db ; c725 wBackupEnemyMonBaseExp:: db ; c726 -wPlayerFutureSightDamage:: ds 2 ; c727 -wEnemyFutureSightDamage:: ds 2 ; c729 -wPlayerRageCounter:: ds 1 ; c72b -wEnemyRageCounter:: ds 1 ; c72c -wBeatUpHitAtLeastOnce:: ds 1 ; c72d -wPlayerTrappingMove:: ds 1 ; c72e -wEnemyTrappingMove:: ds 1 ; c72f -wPlayerWrapCount:: ds 1 ; c730 -wEnemyWrapCount:: ds 1 ; c731 -wPlayerCharging:: ds 1 ; c732 -wEnemyCharging:: ds 1 ; c733 -BattleEnded:: ; c734 - ds 1 + +wPlayerFutureSightDamage:: dw ; c727 +wEnemyFutureSightDamage:: dw ; c729 +wPlayerRageCounter:: db ; c72b +wEnemyRageCounter:: db ; c72c + +wBeatUpHitAtLeastOnce:: db ; c72d + +wPlayerTrappingMove:: db ; c72e +wEnemyTrappingMove:: db ; c72f +wPlayerWrapCount:: db ; c730 +wEnemyWrapCount:: db ; c731 +wPlayerCharging:: db ; c732 +wEnemyCharging:: db ; c733 + +BattleEnded:: db ; c734 wWildMonMoves:: ds NUM_MOVES ; c735 wWildMonPP:: ds NUM_MOVES ; c739 -wAmuletCoin:: ds 1 ; c73a -wSomeoneIsRampaging:: ds 1 ; c73b -wPlayerJustGotFrozen:: ds 1 ; c73c -wEnemyJustGotFrozen:: ds 1 ; c73d + +wAmuletCoin:: db ; c73a + +wSomeoneIsRampaging:: db ; c73b + +wPlayerJustGotFrozen:: db ; c73c +wEnemyJustGotFrozen:: db ; c73d wBattleEnd:: ; Battle RAM - ; c741 -NEXTU + +NEXTU ; c6d0 +; trade wTrademons:: wPlayerTrademon:: trademon wPlayerTrademon wOTTrademon:: trademon wOTTrademon wTrademonsEnd:: -wTradeAnimPointer:: - ds 2 +wTradeAnimAddress:: dw wLinkPlayer1Name:: ds NAME_LENGTH wLinkPlayer2Name:: ds NAME_LENGTH -wLinkTradeSendmonSpecies:: ds 1 -wLinkTradeGetmonSpecies:: ds 1 -wc74e:: ds 107 -wc7b9:: ds 1 -wc7ba:: ds 1 -wc7bb:: ds 2 -wc7bd:: +wLinkTradeSendmonSpecies:: db +wLinkTradeGetmonSpecies:: db -NEXTU +NEXTU ; c6d0 ; naming screen -wNamingScreenDestinationPointer:: ds 2 ; c6d0 -wNamingScreenCurrNameLength:: ds 1 ; c6d2 -wNamingScreenMaxNameLength:: ds 1 ; c6d3 -wNamingScreenType:: ds 1 ; c6d4 -wNamingScreenCursorObjectPointer:: ds 2 ; c6d5 -wNamingScreenLastCharacter:: ds 1 ; c6d7 -wNamingScreenStringEntryCoord:: ds 2 ; c6d8 +wNamingScreenDestinationPointer:: dw ; c6d0 +wNamingScreenCurrNameLength:: db ; c6d2 +wNamingScreenMaxNameLength:: db ; c6d3 +wNamingScreenType:: db ; c6d4 +wNamingScreenCursorObjectPointer:: dw ; c6d5 +wNamingScreenLastCharacter:: db ; c6d7 +wNamingScreenStringEntryCoord:: dw ; c6d8 -NEXTU +NEXTU ; c6d0 ; pokegear -wPokegearPhoneLoadNameBuffer:: ds 1 ; c6d0 -wPokegearPhoneCursorPosition:: ds 1 ; c6d1 -wPokegearPhoneScrollPosition:: ds 1 ; c6d2 -wPokegearPhoneSelectedPerson:: ds 1 ; c6d3 -wPokegearPhoneSubmenuCursor:: ds 1 ; c6d4 -wPokegearMapCursorObjectPointer:: ds 2 ; c6d5 -wPokegearMapCursorLandmark:: ds 1 ; c6d7 -wPokegearMapPlayerIconLandmark:: ds 1 ; c6d8 -wPokegearRadioChannelBank:: ds 1 ; c6d9 -wPokegearRadioChannelAddr:: ds 2 ; c6da -wPokegearRadioMusicPlaying:: ds 1 ; c6dc +wPokegearPhoneLoadNameBuffer:: db ; c6d0 +wPokegearPhoneCursorPosition:: db ; c6d1 +wPokegearPhoneScrollPosition:: db ; c6d2 +wPokegearPhoneSelectedPerson:: db ; c6d3 +wPokegearPhoneSubmenuCursor:: db ; c6d4 +wPokegearMapCursorObjectPointer:: dw ; c6d5 +wPokegearMapCursorLandmark:: db ; c6d7 +wPokegearMapPlayerIconLandmark:: db ; c6d8 +wPokegearRadioChannelBank:: db ; c6d9 +wPokegearRadioChannelAddr:: dw ; c6da +wPokegearRadioMusicPlaying:: db ; c6dc -NEXTU +NEXTU ; c6d0 +; slot machine wSlots:: -; Slot Machine -; c6d0 wReel1:: slot_reel wReel1 wReel2:: slot_reel wReel2 wReel3:: slot_reel wReel3 @@ -786,127 +741,130 @@ wReel3:: slot_reel wReel3 wReel1Stopped:: ds 3 wReel2Stopped:: ds 3 wReel3Stopped:: ds 3 -wSlotBias:: ds 1 -wSlotBet:: ds 1 -wFirstTwoReelsMatching:: ds 1 -wFirstTwoReelsMatchingSevens:: ds 1 -wSlotMatched:: ds 1 +wSlotBias:: db +wSlotBet:: db +wFirstTwoReelsMatching:: db +wFirstTwoReelsMatchingSevens:: db +wSlotMatched:: db wCurrReelStopped:: ds 3 -wPayout:: ds 2 -wCurrReelXCoord:: ds 1 -wCurrReelYCoord:: ds 1 +wPayout:: dw +wCurrReelXCoord:: db +wCurrReelYCoord:: db ds 2 -wSlotBuildingMatch:: ds 1 +wSlotBuildingMatch:: db wSlotsDataEnd:: ds 28 wSlotsEnd:: -NEXTU -; Card Flip -; c6d0 +NEXTU ; c6d0 +; card flip wCardFlip:: wDeck:: ds 24 wDeckEnd:: ; c6e8 -wCardFlipNumCardsPlayed:: ds 1 -wCardFlipFaceUpCard:: ds 1 +wCardFlipNumCardsPlayed:: db +wCardFlipFaceUpCard:: db wDiscardPile:: ds 24 wDiscardPileEnd:: wCardFlipEnd:: -NEXTU -; Dummy Game -; c6d0 +NEXTU ; c6d0 +; dummy game wDummyGame:: wDummyGameCards:: ds 9 * 5 wDummyGameCardsEnd:: -wDummyGameLastCardPicked:: ds 1 ; c6fd -wDummyGameCard1:: ds 1 ; c6fe -wDummyGameCard2:: ds 1 ; c6ff -wDummyGameCard1Location:: ds 1 ; c700 -wDummyGameCard2Location:: ds 1 ; c701 -wDummyGameNumberTriesRemaining:: ds 1 ; c702 +wDummyGameLastCardPicked:: db ; c6fd +wDummyGameCard1:: db ; c6fe +wDummyGameCard2:: db ; c6ff +wDummyGameCard1Location:: db ; c700 +wDummyGameCard2Location:: db ; c701 +wDummyGameNumberTriesRemaining:: db ; c702 wDummyGameLastMatches:: ds 5 ; c703 -wDummyGameCounter:: ds 1 ; c708 -wDummyGameNumCardsMatched:: ds 1 ; c709 +wDummyGameCounter:: db ; c708 +wDummyGameNumCardsMatched:: db ; c709 wDummyGameEnd:: -NEXTU -; Unown Puzzle +NEXTU ; c6d0 +; unown puzzle wUnownPuzzle:: wPuzzlePieces:: ds 6 * 6 wUnownPuzzleEnd:: -NEXTU +NEXTU ; c6d0 +; pokedex wPokedexDataStart:: wPokedexOrder:: ds NUM_POKEMON +- 1 -wPokedexOrderEnd:: ds 6 +wPokedexOrderEnd:: + ds 6 wPokedexMetadata:: -wDexListingScrollOffset:: ; offset of the first displayed entry from the start -wc7d0:: ds 1 -wDexListingCursor:: -wc7d1:: ds 1 ; Dex cursor -wDexListingEnd:: -wc7d2:: ds 1 ; Last mon to display -wDexListingHeight:: ; number of entries displayed at once in the dex listing -wc7d3:: ds 1 -wCurrentDexMode:: ; Pokedex Mode -wc7d4:: ds 1 ; Index of the topmost visible item in a scrolling menu -wDexSearchMonType1:: ds 1 ; first type to search -wDexSearchMonType2:: ds 1 ; second type to search -wDexSearchResultCount:: ds 1 -wDexArrowCursorPosIndex:: ds 1 -wDexArrowCursorDelayCounter:: ds 1 -wDexArrowCursorBlinkCounter:: ds 1 -wDexSearchSlowpokeFrame:: ds 1 -wUnlockedUnownMode:: ds 1 -wDexCurrentUnownIndex:: ds 1 -wDexUnownCount:: ds 1 -wDexConvertedMonType:: ds 1 ; mon type converted from dex search mon type -wDexListingScrollOffsetBackup:: ds 1 -wDexListingCursorBackup:: ds 1 -wBackupDexListingCursor:: -wc7e2:: ds 1 -wBackupDexListingPage:: -wc7e3:: ds 1 -wDexCurrentLocation:: -wc7e4:: ds 1 +wDexListingScrollOffset:: db ; offset of the first displayed entry from the start +wDexListingCursor:: db ; Dex cursor +wDexListingEnd:: db ; Last mon to display +wDexListingHeight:: db ; number of entries displayed at once in the dex listing +wCurrentDexMode:: db ; Pokedex Mode +wDexSearchMonType1:: db ; first type to search +wDexSearchMonType2:: db ; second type to search +wDexSearchResultCount:: db +wDexArrowCursorPosIndex:: db +wDexArrowCursorDelayCounter:: db +wDexArrowCursorBlinkCounter:: db +wDexSearchSlowpokeFrame:: db +wUnlockedUnownMode:: db +wDexCurrentUnownIndex:: db +wDexUnownCount:: db +wDexConvertedMonType:: db ; mon type converted from dex search mon type +wDexListingScrollOffsetBackup:: db +wDexListingCursorBackup:: db +wBackupDexListingCursor:: db +wBackupDexListingPage:: db +wDexCurrentLocation:: db IF DEF(CRYSTAL11) -wPokedexStatus:: +wPokedexStatus:: ds 1 +wPokedexDataEnd:: ELSE -wPokedexDataEnd:: -ENDC - ds 1 -IF DEF(CRYSTAL11) -wPokedexDataEnd:: +wPokedexDataEnd:: ds 1 ENDC ds 2 -wMiscEnd:: +NEXTU ; c6d0 +; mobile data +wc6d0:: ds 126 +wc74e:: ds 107 +wc7b9:: ds 1 +wc7ba:: ds 1 +wc7bb:: ds 2 +wc7bd:: ds 19 +wc7d0:: ds 1 +wc7d1:: ds 1 +wc7d2:: ds 1 +wc7d3:: ds 1 +wc7d4:: ds 1 ENDU ENDU wc7e8:: ds 24 ; ???? + SECTION "Overworld Map", WRAM0 -UNION +UNION ; c800 OverworldMap:: ; c800 ds 1300 OverworldMapEnd:: -NEXTU +NEXTU ; c800 +; GB Printer screen RAM wGameboyPrinterRAM:: wGameboyPrinterScreen:: ds SCREEN_HEIGHT * SCREEN_WIDTH ; c800 wGameboyPrinterScreenEnd:: ; c968 -NEXTU -wGameboyPrinter2bppSource:: - ds 40 tiles +NEXTU ; c800 +; GB Printer data +wGameboyPrinter2bppSource:: ds 40 tiles wGameboyPrinter2bppSourceEnd:: wca80:: ds 1 -wPrinterRowIndex:: ds 1 +wPrinterRowIndex:: db ; Printer data header wca82:: ds 1 @@ -914,43 +872,45 @@ wca83:: ds 1 wca84:: ds 1 wca85:: ds 1 wPrinterChecksum:: dw ; ca86 -wPrinterHandshake:: ds 1 +wPrinterHandshake:: db wPrinterStatusFlags:: ; bit 7: set if error 1 (battery low) ; bit 6: set if error 4 (too hot or cold) ; bit 5: set if error 3 (paper jammed or empty) ; if this and the previous byte are both $ff: error 2 (connection error) - ds 1 + db -wHandshakeFrameDelay:: ds 1 -wPrinterSerialFrameDelay:: ds 1 +wHandshakeFrameDelay:: db +wPrinterSerialFrameDelay:: db wPrinterSendByteOffset:: dw wPrinterSendByteCounter:: dw ; tilemap backup? wPrinterTileMapBuffer:: ds SCREEN_HEIGHT * SCREEN_WIDTH ; ca90 wPrinterTileMapBufferEnd:: -wPrinterStatus:: ds 1 ; cbf8 +wPrinterStatus:: db ; cbf8 ds 1 wcbfa:: ds 1 -wGBPrinterSettings:: ds 1 +wGBPrinterSettings:: db ds 16 wGameboyPrinterRAMEnd:: -NEXTU +NEXTU ; c800 +; bill's pc data wBillsPCPokemonList:: ; c800 ; Pokemon, box number, list index + ds 3 * 30 -wMysteryGiftPartyTemp:: ; ds PARTY_LENGTH * (1 + 1 + NUM_MOVES) -wMysteryGiftStaging:: - +NEXTU ; c800 +; link data wLinkData:: ; ds $514 wLinkPlayerName:: ds NAME_LENGTH -wLinkPartyCount:: ds 1 +wLinkPartyCount:: db wLinkPartySpecies:: ds PARTY_LENGTH -wLinkPartySpeciesEnd:: ds 1 +wLinkPartySpeciesEnd:: db -UNION +UNION ; c813 +; time capsule party data wTimeCapsulePlayerData:: wTimeCapsulePartyMon1:: red_party_struct wTimeCapsulePartyMon1 wTimeCapsulePartyMon2:: red_party_struct wTimeCapsulePartyMon2 @@ -962,7 +922,8 @@ wTimeCapsulePartyMonOTNames:: ds PARTY_LENGTH * NAME_LENGTH wTimeCapsulePartyMonNicks:: ds PARTY_LENGTH * PKMN_NAME_LENGTH wTimeCapsulePlayerDataEnd:: -NEXTU +NEXTU ; c813 +; link player data wLinkPlayerData:: wLinkPlayerPartyMon1:: party_struct wLinkPlayerPartyMon1 wLinkPlayerPartyMon2:: party_struct wLinkPlayerPartyMon2 @@ -974,12 +935,14 @@ wLinkPlayerPartyMonOTNames:: ds PARTY_LENGTH * NAME_LENGTH wLinkPlayerPartyMonNicks:: ds PARTY_LENGTH * PKMN_NAME_LENGTH wLinkPlayerDataEnd:: ENDU - ds $35d - + ds 861 wLinkDataEnd:: -NEXTU -wc800:: ds 1 +NEXTU ; c800 +; mystery gift data +wMysteryGiftPartyTemp:: ; ds PARTY_LENGTH * (1 + 1 + NUM_MOVES) +wMysteryGiftStaging:: +wc800:: ds 1 wc801:: ds 1 wc802:: ds 1 wc803:: ds 4 @@ -996,11 +959,12 @@ wc820:: ds 1 wc821:: ds 15 wc830:: ds 16 wc840:: ds 16 -UNION + +UNION ; c850 wMysteryGiftTrainerData:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2 wMysteryGiftTrainerDataEnd:: -NEXTU +NEXTU ; c850 wc850:: ds 16 wc860:: ds 16 wc870:: ds 16 @@ -1076,15 +1040,15 @@ wcb08:: ds 6 wcb0e:: ds 5 wcb13:: ds 9 wcb1c:: ds 14 -wBillsPC_ScrollPosition:: ds 1 -wBillsPC_CursorPosition:: ds 1 -wBillsPC_NumMonsInBox:: ds 1 -wBillsPC_NumMonsOnScreen:: ds 1 -wBillsPC_LoadedBox:: ds 1 ; 0 if party, 1 - 14 if box, 15 if active box -wBillsPC_BackupScrollPosition:: ds 1 -wBillsPC_BackupCursorPosition:: ds 1 -wBillsPC_BackupLoadedBox:: ds 1 -wBillsPC_MonHasMail:: ds 1 +wBillsPC_ScrollPosition:: db +wBillsPC_CursorPosition:: db +wBillsPC_NumMonsInBox:: db +wBillsPC_NumMonsOnScreen:: db +wBillsPC_LoadedBox:: db ; 0 if party, 1 - 14 if box, 15 if active box +wBillsPC_BackupScrollPosition:: db +wBillsPC_BackupCursorPosition:: db +wBillsPC_BackupLoadedBox:: db +wBillsPC_MonHasMail:: db ds 18 wcb45:: ds 20 wcb59:: ds 20 @@ -1110,9 +1074,10 @@ wccb9:: ds 1 wccba:: ds 102 ENDU + SECTION "Video", WRAM0 -UNION +UNION ; cd20 CreditsPos:: BGMapBuffer:: wMobileMonSpeciesPointerBuffer:: dw @@ -1121,7 +1086,7 @@ wMobileMonOTNamePointerBuffer:: dw wMobileMonNicknamePointerBuffer:: dw wMobileMonMailPointerBuffer:: dw -NEXTU +NEXTU ; cd20 wcd20:: ds 1 wcd21:: ds 1 wcd22:: @@ -2213,7 +2178,9 @@ TimeOfDay:: ; d269 ds 1 + SECTION "Enemy Party", WRAMX + UNION wPokedexShowPointerAddr:: wd26b:: ds 1 @@ -2931,40 +2898,42 @@ wMagikarpRecordHoldersName:: ds NAME_LENGTH wPokemonDataEnd:: wGameDataEnd:: + SECTION "Pic Animations", WRAMX TempTileMap:: ; 20x18 grid of 8x8 tiles ds SCREEN_WIDTH * SCREEN_HEIGHT ; $168 = 360 + ; PokeAnim Header -wPokeAnimSceneIndex:: ds 1 -wPokeAnimPointer:: ds 2 -wPokeAnimSpecies:: ds 1 -wPokeAnimUnownLetter:: ds 1 -wPokeAnimSpeciesOrUnown:: ds 1 -wPokeAnimGraphicStartTile:: ds 1 -wPokeAnimCoord:: ds 2 -wPokeAnimFrontpicHeight:: ds 1 +wPokeAnimSceneIndex:: db +wPokeAnimPointer:: dw +wPokeAnimSpecies:: db +wPokeAnimUnownLetter:: db +wPokeAnimSpeciesOrUnown:: db +wPokeAnimGraphicStartTile:: db +wPokeAnimCoord:: dw +wPokeAnimFrontpicHeight:: db ; PokeAnim Data -wPokeAnimExtraFlag:: ds 1 -wPokeAnimSpeed:: ds 1 -wPokeAnimPointerBank:: ds 1 -wPokeAnimPointerAddr:: ds 2 -wPokeAnimFramesBank:: ds 1 -wPokeAnimFramesAddr:: ds 2 -wPokeAnimBitmaskBank:: ds 1 -wPokeAnimBitmaskAddr:: ds 2 -wPokeAnimFrame:: ds 1 -wPokeAnimJumptableIndex:: ds 1 -wPokeAnimRepeatTimer:: ds 1 -wPokeAnimCurBitmask:: ds 1 -wPokeAnimWaitCounter:: ds 1 -wPokeAnimCommand:: ds 1 -wPokeAnimParameter:: ds 1 +wPokeAnimExtraFlag:: db +wPokeAnimSpeed:: db +wPokeAnimPointerBank:: db +wPokeAnimPointerAddr:: dw +wPokeAnimFramesBank:: db +wPokeAnimFramesAddr:: dw +wPokeAnimBitmaskBank:: db +wPokeAnimBitmaskAddr:: dw +wPokeAnimFrame:: db +wPokeAnimJumptableIndex:: db +wPokeAnimRepeatTimer:: db +wPokeAnimCurBitmask:: db +wPokeAnimWaitCounter:: db +wPokeAnimCommand:: db +wPokeAnimParameter:: db ds 1 -wPokeAnimBitmaskCurCol:: ds 1 -wPokeAnimBitmaskCurRow:: ds 1 -wPokeAnimBitmaskCurBit:: ds 1 +wPokeAnimBitmaskCurCol:: db +wPokeAnimBitmaskCurRow:: db +wPokeAnimBitmaskCurBit:: db wPokeAnimBitmaskBuffer:: ds 7 ds 2 wPokeAnimStructEnd:: @@ -3025,28 +2994,29 @@ w3_dd68:: ds SCREEN_WIDTH * SCREEN_HEIGHT w3_dfec:: ds $10 w3_dffc:: ds 4 + SECTION "GBC Video", WRAMX -; 8 4-color palettes +; eight 4-color palettes each UnknBGPals:: ds 8 palettes ; d000 UnknOBPals:: ds 8 palettes ; d040 BGPals:: ds 8 palettes ; d080 OBPals:: ds 8 palettes ; d0c0 -LYOverrides:: ; d100 - ds SCREEN_HEIGHT_PX +LYOverrides:: ds SCREEN_HEIGHT_PX ; d100 LYOverridesEnd:: ; d190 ds 1 -wMagnetTrainDirection:: ds 1 -wMagnetTrainInitPosition:: ds 1 -wMagnetTrainHoldPosition:: ds 1 -wMagnetTrainFinalPosition:: ds 1 -wMagnetTrainPlayerSpriteInitX:: ds 1 + +wMagnetTrainDirection:: db +wMagnetTrainInitPosition:: db +wMagnetTrainHoldPosition:: db +wMagnetTrainFinalPosition:: db +wMagnetTrainPlayerSpriteInitX:: db + ds 106 -LYOverridesBackup:: ; d200 - ds SCREEN_HEIGHT_PX +LYOverridesBackup:: ds SCREEN_HEIGHT_PX ; d200 LYOverridesBackupEnd:: @@ -3075,40 +3045,33 @@ BGEffect4:: battle_bg_effect BGEffect4 BGEffect5:: battle_bg_effect BGEffect5 ActiveBGEffectsEnd:: -wNumActiveBattleAnims:: ds 1 ; d40e +wNumActiveBattleAnims:: db ; d40e -BattleAnimFlags:: ; d40f - ds 1 -BattleAnimAddress:: ; d410 - ds 2 -BattleAnimDuration:: ; d412 - ds 1 -BattleAnimParent:: ; d413 - ds 2 -BattleAnimLoops:: ; d415 - ds 1 -BattleAnimVar:: ; d416 - ds 1 -BattleAnimByte:: ; d417 - ds 1 -wBattleAnimOAMPointerLo:: ds 1 ; d418 +BattleAnimFlags:: db ; d40f +BattleAnimAddress:: dw ; d410 +BattleAnimDuration:: db ; d412 +BattleAnimParent:: dw ; d413 +BattleAnimLoops:: db ; d415 +BattleAnimVar:: db ; d416 +BattleAnimByte:: db ; d417 +wBattleAnimOAMPointerLo:: db ; d418 BattleAnimTemps:: ; d419 wBattleAnimTempOAMFlags:: -wBattleAnimTemp0:: ds 1 -wBattleAnimTemp1:: ds 1 +wBattleAnimTemp0:: db +wBattleAnimTemp1:: db wBattleAnimTempTileID:: -wBattleAnimTemp2:: ds 1 +wBattleAnimTemp2:: db wBattleAnimTempXCoord:: -wBattleAnimTemp3:: ds 1 +wBattleAnimTemp3:: db wBattleAnimTempYCoord:: -wBattleAnimTemp4:: ds 1 +wBattleAnimTemp4:: db wBattleAnimTempXOffset:: -wBattleAnimTemp5:: ds 1 +wBattleAnimTemp5:: db wBattleAnimTempYOffset:: -wBattleAnimTemp6:: ds 1 -wBattleAnimTemp7:: ds 1 +wBattleAnimTemp6:: db +wBattleAnimTemp7:: db wBattleAnimTempPalette:: -wBattleAnimTemp8:: ds 1 +wBattleAnimTemp8:: db UNION wSurfWaveBGEffect:: ds $40 @@ -3120,6 +3083,7 @@ wBattleAnimEnd:: ENDU SECTION "WRAM 5 MOBILE", WRAMX + w5_d800:: ds $200 w5_da00:: ds $200 w5_dc00:: ds $d @@ -3130,17 +3094,23 @@ w5_MobileOpponentBattleStartMessage:: ds $c ; dc26 w5_MobileOpponentBattleWinMessage:: ds $c ; dc32 w5_MobileOpponentBattleLossMessage:: ds $c ; dc3e + SECTION "WRAM 6", WRAMX -wDecompressScratch:: -wScratchTileMap:: - ds BG_MAP_WIDTH * BG_MAP_HEIGHT -wScratchAttrMap:: ds $200 -w6_d600:: ds $200 -w6_d800:: +UNION ; d000 +wScratchTileMap:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT +wScratchAttrMap:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT + +NEXTU ; d000 +wDecompressScratch:: ds $80 tiles +wDecompressEnemyFrontpic:: ds $80 tiles +ENDU -INCLUDE "sram.asm" SECTION "WRAM 7", WRAMX + wWindowStack:: ds $1000 - 1 wWindowStackBottom:: ds 1 + + +INCLUDE "sram.asm" From e3c686f6df866d1b393d9cc9e61a750a454b5270 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 15:14:51 -0500 Subject: [PATCH 07/16] Further WRAM organization --- battle/bg_effects.asm | 4 +- engine/intro_menu.asm | 4 +- engine/items.asm | 2 +- engine/scripting.asm | 4 +- engine/selectmenu.asm | 2 +- engine/spawn_points.asm | 4 +- engine/startmenu.asm | 2 +- event/overworld.asm | 4 +- event/whiteout.asm | 2 +- home/init.asm | 4 +- main.asm | 2 +- misc/mobile_40.asm | 2 +- wram.asm | 498 ++++++++++++++++------------------------ 13 files changed, 211 insertions(+), 323 deletions(-) diff --git a/battle/bg_effects.asm b/battle/bg_effects.asm index 22807f77d..628c6ce1f 100644 --- a/battle/bg_effects.asm +++ b/battle/bg_effects.asm @@ -2581,8 +2581,8 @@ BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52) ld a, h push bc push af - ld hl, BGPals ; BGPals - ld de, UnknBGPals ; wd000 + ld hl, BGPals + ld de, UnknBGPals ld b, a ld c, $1 call CopyPals diff --git a/engine/intro_menu.asm b/engine/intro_menu.asm index 2da478ede..c576e4526 100755 --- a/engine/intro_menu.asm +++ b/engine/intro_menu.asm @@ -111,8 +111,8 @@ _ResetWRAM: ; 5bae xor a call ByteFill - ld hl, wd000 - ld bc, wGameData - wd000 + ld hl, wRAM1Start + ld bc, wGameData - wRAM1Start xor a call ByteFill diff --git a/engine/items.asm b/engine/items.asm index 81c080dda..0124489e5 100755 --- a/engine/items.asm +++ b/engine/items.asm @@ -331,7 +331,7 @@ ReceiveKeyItem: ; d35a ret TossKeyItem: ; d374 - ld a, [wd107] + ld a, [CurItemQuantity] ld e, a ld d, 0 ld hl, NumKeyItems diff --git a/engine/scripting.asm b/engine/scripting.asm index b5fb027ab..3ff22599b 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -2668,7 +2668,7 @@ Script_warp: call GetScriptByte ld [YCoord], a ld a, -1 - ld [wd001], a + ld [DefaultSpawnpoint], a ld a, MAPSETUP_WARP ld [hMapEntryMethod], a ld a, 1 @@ -2681,7 +2681,7 @@ Script_warp: call GetScriptByte call GetScriptByte ld a, -1 - ld [wd001], a + ld [DefaultSpawnpoint], a ld a, MAPSETUP_BADWARP ld [hMapEntryMethod], a ld a, 1 diff --git a/engine/selectmenu.asm b/engine/selectmenu.asm index 838438a4c..5d3b5ff0a 100755 --- a/engine/selectmenu.asm +++ b/engine/selectmenu.asm @@ -94,7 +94,7 @@ CheckRegisteredItem: ; 13345 dec a cp [hl] jr nc, .NotEnoughItems - ld [wd107], a + ld [CurItemQuantity], a and a ret diff --git a/engine/spawn_points.asm b/engine/spawn_points.asm index 69b91446e..8dda255a1 100644 --- a/engine/spawn_points.asm +++ b/engine/spawn_points.asm @@ -42,10 +42,10 @@ ENDM LoadSpawnPoint: ; 1531f - ; loads the spawn point in wd001 + ; loads the spawn point in DefaultSpawnpoint push hl push de - ld a, [wd001] + ld a, [DefaultSpawnpoint] cp SPAWN_N_A jr z, .spawn_n_a ld l, a diff --git a/engine/startmenu.asm b/engine/startmenu.asm index 32999cacb..2a567bf4f 100755 --- a/engine/startmenu.asm +++ b/engine/startmenu.asm @@ -614,7 +614,7 @@ TossItemFromPC: ; 129f4 pop af jr c, .quit pop hl - ld a, [wd107] + ld a, [CurItemQuantity] call TossItem call PartyMonItemName ld hl, .TossedThisMany diff --git a/event/overworld.asm b/event/overworld.asm index 156ef389f..8b883f67f 100755 --- a/event/overworld.asm +++ b/event/overworld.asm @@ -632,7 +632,7 @@ FlyFunction: ; ca3b cp NUM_SPAWNS jr nc, .illegal - ld [wd001], a + ld [DefaultSpawnpoint], a call CloseWindow ld a, $1 ret @@ -962,7 +962,7 @@ TeleportFunction: ; cc61 callba IsSpawnPoint jr nc, .nope ld a, c - ld [wd001], a + ld [DefaultSpawnpoint], a ld a, $1 ret diff --git a/event/whiteout.asm b/event/whiteout.asm index 38049b3b5..159f3a519 100755 --- a/event/whiteout.asm +++ b/event/whiteout.asm @@ -77,6 +77,6 @@ GetWhiteoutSpawn: ; 12527 xor a ; SPAWN_HOME .yes - ld [wd001], a + ld [DefaultSpawnpoint], a ret ; 1253d diff --git a/home/init.asm b/home/init.asm index b983ce826..087a26f12 100644 --- a/home/init.asm +++ b/home/init.asm @@ -69,8 +69,8 @@ Init:: ; 17d ld [rLCDC], a ; Clear WRAM bank 0 - ld hl, wc000 - ld bc, wd000 - wc000 + ld hl, wRAM0Start + ld bc, wRAM1Start - wRAM0Start .ByteFill: ld [hl], 0 inc hl diff --git a/main.asm b/main.asm index b2dbbeb9e..2ea98cd7a 100644 --- a/main.asm +++ b/main.asm @@ -3332,7 +3332,7 @@ InitDisplayForRedCredits: ; 4e8c2 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT xor a call ByteFill - ld hl, wd000 ; UnknBGPals + ld hl, UnknBGPals ld c, 4 tiles .load_white_palettes ld a, (palred 31 + palgreen 31 + palblue 31) % $100 diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm index 8cd0311f0..8aee09a92 100644 --- a/misc/mobile_40.asm +++ b/misc/mobile_40.asm @@ -5410,7 +5410,7 @@ Function1023c6: ; 1023c6 dec a ld [CurPartyMon], a xor a - ld [wd10b], a + ld [wPokemonWithdrawDepositParameter], a callba RemoveMonFromPartyOrBox ld hl, PartyCount inc [hl] diff --git a/wram.asm b/wram.asm index ae73595f5..5924259a4 100644 --- a/wram.asm +++ b/wram.asm @@ -5,7 +5,7 @@ INCLUDE "vram.asm" SECTION "Stack", WRAM0 -wc000:: +wRAM0Start:: StackBottom:: ds $100 - 1 Stack:: @@ -1484,20 +1484,18 @@ wMinutesSince:: ds 1 wHoursSince:: ds 1 wDaysSince:: ds 1 -wRAM0End:: ; cfd8 - SECTION "WRAM 1", WRAMX +wRAM1Start:: wd000:: ds 1 -DefaultSpawnpoint:: -wd001:: ds 1 -; d002 -UNION +DefaultSpawnpoint:: db + +UNION ; d002 wTempMail:: mailmsg wTempMail -NEXTU +NEXTU ; d002 wSeerAction:: ds 1 wSeerNickname:: ds PKMN_NAME_LENGTH wSeerCaughtLocation:: ds 17 @@ -1509,14 +1507,14 @@ wSeerCaughtLevel:: ds 1 wSeerCaughtData:: ds 1 wSeerCaughtGender:: ds 1 -NEXTU +NEXTU ; d002 wBufferMonNick:: ds PKMN_NAME_LENGTH ; d002 wBufferMonOT:: ds NAME_LENGTH ; d00d wBufferMon:: party_struct wBufferMon ; d018 ds 8 wMonOrItemNameBuffer:: -NEXTU +NEXTU ; d002 wBugContestResults:: bugcontestwinner wBugContestFirstPlace bugcontestwinner wBugContestSecondPlace @@ -1526,7 +1524,7 @@ wBugContestWinnersEnd:: ds 4 wBugContestWinnerName:: ds NAME_LENGTH -NEXTU +NEXTU ; d002 wd002:: wTempDayOfWeek:: wApricorns:: @@ -1577,11 +1575,11 @@ wd00a:: ds 1 wMartItem4BCD:: wd00b:: ds 1 -UNION +UNION ; d00c wRadioText:: ds 2 * SCREEN_WIDTH wRadioTextEnd:: -NEXTU +NEXTU ; d00c wMobileParticipant2Nickname:: wd00c:: ds 1 wd00d:: ds 1 @@ -1692,45 +1690,35 @@ wTempTrainerHeaderEnd:: wPlayerTurningDirection:: ; d04e ds 24 ENDU + wTMHMMoveNameBackup:: ds MOVE_NAME_LENGTH ; d066 -StringBuffer1:: ; d073 - ds 19 - -StringBuffer2:: ; d086 - ds 19 - -StringBuffer3:: ; d099 - ds 19 - -StringBuffer4:: ; d0ac - ds 19 - -StringBuffer5:: ; d0bf - ds 19 +StringBuffer1:: ds 19 ; d073 +StringBuffer2:: ds 19 ; d086 +StringBuffer3:: ds 19 ; d099 +StringBuffer4:: ds 19 ; d0ac +StringBuffer5:: ds 19 ; d0bf wd0d2:: ds 2 -CurBattleMon:: ; d0d4 - ds 1 -CurMoveNum:: ; d0d5 - ds 1 +CurBattleMon:: db ; d0d4 +CurMoveNum:: db ; d0d5 -wLastPocket:: ds 1 +wLastPocket:: db -wPCItemsCursor:: ds 1 -wPartyMenuCursor:: ds 1 -wItemsPocketCursor:: ds 1 -wKeyItemsPocketCursor:: ds 1 -wBallsPocketCursor:: ds 1 -wTMHMPocketCursor:: ds 1 +wPCItemsCursor:: db +wPartyMenuCursor:: db +wItemsPocketCursor:: db +wKeyItemsPocketCursor:: db +wBallsPocketCursor:: db +wTMHMPocketCursor:: db -wPCItemsScrollPosition:: ds 1 -wPartyMenuScrollPosition:: ds 1 ; unused -wItemsPocketScrollPosition:: ds 1 -wKeyItemsPocketScrollPosition:: ds 1 -wBallsPocketScrollPosition:: ds 1 -wTMHMPocketScrollPosition:: ds 1 +wPCItemsScrollPosition:: db +wPartyMenuScrollPosition:: db ; unused +wItemsPocketScrollPosition:: db +wKeyItemsPocketScrollPosition:: db +wBallsPocketScrollPosition:: db +wTMHMPocketScrollPosition:: db wMoveSwapBuffer:: wSwitchMon:: @@ -1755,255 +1743,190 @@ VramState:: ; d0ed ; bit 6: something to do with text ; bit 7: on when surf initiates ; flickers when climbing waterfall - ds 1 + db -wBattleResult:: ds 1 ; d0ee -wUsingItemWithSelect:: ds 1 ; d0ef +wBattleResult:: db ; d0ee +wUsingItemWithSelect:: db ; d0ef -UNION -CurMart:: ds 16 ; d0f0 +UNION ; d0f0 +; mart data +CurMart:: ds 16 CurMartEnd:: -NEXTU -CurElevator:: ds 1 -wd0f1:: -CurElevatorFloors:: -wCurMessageIndex:: ds 1 -wd0f2:: -wMailboxCount:: ds 1 +NEXTU ; d0f0 +; elevator data +CurElevator:: db +CurElevatorFloors:: db + +NEXTU ; d0f0 +; mailbox data + ds 1 +wCurMessageIndex:: db +wMailboxCount:: db wMailboxItems:: ds MAILBOX_CAPACITY wMailboxEnd:: ds 1 ; d0fe - ENDU + wListPointer:: dw ; d100 wUnusedD102:: dw ; d102 wItemAttributesPtr:: dw ; d104 -CurItem:: ds 1 ; d106 +CurItem:: db ; d106 CurItemQuantity:: ; d107 wMartItemID:: -wd107:: ds 1 + db -CurPartySpecies:: ; d108 - ds 1 +CurPartySpecies:: db ; d108 CurPartyMon:: ; d109 ; contains which monster in a party ; is being dealt with at the moment ; 0-5 - ds 1 + db wWhichHPBar:: ; 0: Enemy ; 1: Player ; 2: Party Menu - ds 1 + db wPokemonWithdrawDepositParameter:: ; 0: Take from PC ; 1: Put into PC ; 2: Take from Daycare ; 3: Put into Daycare -wd10b:: ds 1 -wItemQuantityChangeBuffer:: ds 1 -wItemQuantityBuffer:: ds 1 + db -TempMon:: ; d10e - party_struct TempMon +wItemQuantityChangeBuffer:: db +wItemQuantityBuffer:: db -wSpriteFlags:: ds 1 ; d13e +TempMon:: party_struct TempMon ; d10e -wHandlePlayerStep:: ds 2 ; d13f +wSpriteFlags:: db ; d13e -PartyMenuActionText:: ; d141 - ds 1 +wHandlePlayerStep:: dw ; d13f -wItemAttributeParamBuffer:: ; d142 - ds 1 +PartyMenuActionText:: db ; d141 -CurPartyLevel:: ; d143 - ds 1 +wItemAttributeParamBuffer:: db ; d142 -wScrollingMenuListSize:: ds 2 +CurPartyLevel:: db ; d143 + +wScrollingMenuListSize:: dw ; used when following a map warp ; d146 -wNextWarp:: ds 1 -wNextMapGroup:: ds 1 -wNextMapNumber:: ds 1 -wPrevWarp:: ds 1 -wPrevMapGroup:: ds 1 -wPrevMapNumber:: ds 1 +wNextWarp:: db +wNextMapGroup:: db +wNextMapNumber:: db +wPrevWarp:: db +wPrevMapGroup:: db +wPrevMapNumber:: db ; d14c -wPlayerBGMapOffsetX:: ds 1 ; used in FollowNotExact; unit is pixels -wPlayerBGMapOffsetY:: ds 1 ; used in FollowNotExact; unit is pixels +wPlayerBGMapOffsetX:: db ; used in FollowNotExact; unit is pixels +wPlayerBGMapOffsetY:: db ; used in FollowNotExact; unit is pixels ; Player movement -wPlayerStepVectorX:: ds 1 ; d14e -wPlayerStepVectorY:: ds 1 ; d14f -wPlayerStepFlags:: ds 1 ; d150 +wPlayerStepVectorX:: db ; d14e +wPlayerStepVectorY:: db ; d14f +wPlayerStepFlags:: db ; d150 +wPlayerStepDirection:: ; d151 ; bit 7: Start step ; bit 6: Stop step ; bit 5: Doing step ; bit 4: In midair ; bits 0-3: unused -wPlayerStepDirection:: ds 1 ; d151 + db -wBGMapAnchor:: ds 2 ; d152 +wBGMapAnchor:: dw ; d152 -UNION -UsedSprites:: ds 64 ; d154 +UNION ; d154 +UsedSprites:: ds 64 UsedSpritesEnd:: -NEXTU -wd154:: ; d154 - ds 31 ; 64 - +NEXTU ; d154 + ds 31 wd173:: ds 1 ; related to command queue type 3 - ds 13 -wd181:: ds 1 -wd182:: ds 1 - ds 14 - -wd191:: ds 1 -wd192:: ds 1 -wd193:: ds 1 ENDU wOverworldMapAnchor:: dw ; d194 -wMetatileStandingY:: ds 1 ; d196 -wMetatileStandingX:: ds 1 ; d197 -wSecondMapHeaderBank:: ds 1 ; d198 -wTileset:: ds 1 ; d199 -wPermission:: ds 1 ; d19a +wMetatileStandingY:: db ; d196 +wMetatileStandingX:: db ; d197 + +wSecondMapHeaderBank:: db ; d198 +wTileset:: db ; d199 +wPermission:: db ; d19a wSecondMapHeaderAddr:: dw ; d19b ; width/height are in blocks (2x2 walkable tiles, 4x4 graphics tiles) MapHeader:: ; d19d -MapBorderBlock:: ; d19d - ds 1 -MapHeight:: ; d19e - ds 1 -MapWidth:: ; d19f - ds 1 -MapBlockDataBank:: ; d1a0 - ds 1 -MapBlockDataPointer:: ; d1a1 - ds 2 -MapScriptHeaderBank:: ; d1a3 - ds 1 -MapScriptHeaderPointer:: ; d1a4 - ds 2 -MapEventHeaderPointer:: ; d1a6 - ds 2 +MapBorderBlock:: db ; d19d +MapHeight:: db ; d19e +MapWidth:: db ; d19f +MapBlockDataBank:: db; d1a0 +MapBlockDataPointer:: dw ; d1a1 +MapScriptHeaderBank:: db ; d1a3 +MapScriptHeaderPointer:: dw ; d1a4 +MapEventHeaderPointer:: dw ; d1a6 ; bit set -MapConnections:: ; d1a8 - ds 1 +MapConnections:: db ; d1a8 + NorthMapConnection:: ; d1a9 -NorthConnectedMapGroup:: ; d1a9 - ds 1 -NorthConnectedMapNumber:: ; d1aa - ds 1 -NorthConnectionStripPointer:: ; d1ab - ds 2 -NorthConnectionStripLocation:: ; d1ad - ds 2 -NorthConnectionStripLength:: ; d1af - ds 1 -NorthConnectedMapWidth:: ; d1b0 - ds 1 -NorthConnectionStripYOffset:: ; d1b1 - ds 1 -NorthConnectionStripXOffset:: ; d1b2 - ds 1 -NorthConnectionWindow:: ; d1b3 - ds 2 +NorthConnectedMapGroup:: db ; d1a9 +NorthConnectedMapNumber:: db ; d1aa +NorthConnectionStripPointer:: dw ; d1ab +NorthConnectionStripLocation:: dw ; d1ad +NorthConnectionStripLength:: db ; d1af +NorthConnectedMapWidth:: db ; d1b0 +NorthConnectionStripYOffset:: db ; d1b1 +NorthConnectionStripXOffset:: db ; d1b2 +NorthConnectionWindow:: dw ; d1b3 SouthMapConnection:: ; d1b5 -SouthConnectedMapGroup:: ; d1b5 - ds 1 -SouthConnectedMapNumber:: ; d1b6 - ds 1 -SouthConnectionStripPointer:: ; d1b7 - ds 2 -SouthConnectionStripLocation:: ; d1b9 - ds 2 -SouthConnectionStripLength:: ; d1bb - ds 1 -SouthConnectedMapWidth:: ; d1bc - ds 1 -SouthConnectionStripYOffset:: ; d1bd - ds 1 -SouthConnectionStripXOffset:: ; d1be - ds 1 -SouthConnectionWindow:: ; d1bf - ds 2 +SouthConnectedMapGroup:: db ; d1b5 +SouthConnectedMapNumber:: db ; d1b6 +SouthConnectionStripPointer:: dw ; d1b7 +SouthConnectionStripLocation:: dw ; d1b9 +SouthConnectionStripLength:: db ; d1bb +SouthConnectedMapWidth:: db ; d1bc +SouthConnectionStripYOffset:: db ; d1bd +SouthConnectionStripXOffset:: db ; d1be +SouthConnectionWindow:: dw ; d1bf WestMapConnection:: ; d1c1 -WestConnectedMapGroup:: ; d1c1 - ds 1 -WestConnectedMapNumber:: ; d1c2 - ds 1 -WestConnectionStripPointer:: ; d1c3 - ds 2 -WestConnectionStripLocation:: ; d1c5 - ds 2 -WestConnectionStripLength:: ; d1c7 - ds 1 -WestConnectedMapWidth:: ; d1c8 - ds 1 -WestConnectionStripYOffset:: ; d1c9 - ds 1 -WestConnectionStripXOffset:: ; d1ca - ds 1 -WestConnectionWindow:: ; d1cb - ds 2 +WestConnectedMapGroup:: db ; d1c1 +WestConnectedMapNumber:: db ; d1c2 +WestConnectionStripPointer:: dw ; d1c3 +WestConnectionStripLocation:: dw ; d1c5 +WestConnectionStripLength:: db ; d1c7 +WestConnectedMapWidth:: db ; d1c8 +WestConnectionStripYOffset:: db ; d1c9 +WestConnectionStripXOffset:: db ; d1ca +WestConnectionWindow:: dw ; d1cb EastMapConnection:: ; d1cd -EastConnectedMapGroup:: ; d1cd - ds 1 -EastConnectedMapNumber:: ; d1ce - ds 1 -EastConnectionStripPointer:: ; d1cf - ds 2 -EastConnectionStripLocation:: ; d1d1 - ds 2 -EastConnectionStripLength:: ; d1d3 - ds 1 -EastConnectedMapWidth:: ; d1d4 - ds 1 -EastConnectionStripYOffset:: ; d1d5 - ds 1 -EastConnectionStripXOffset:: ; d1d6 - ds 1 -EastConnectionWindow:: ; d1d7 - ds 2 - +EastConnectedMapGroup:: db ; d1cd +EastConnectedMapNumber:: db ; d1ce +EastConnectionStripPointer:: dw ; d1cf +EastConnectionStripLocation:: dw ; d1d1 +EastConnectionStripLength:: db ; d1d3 +EastConnectedMapWidth:: db ; d1d4 +EastConnectionStripYOffset:: db ; d1d5 +EastConnectionStripXOffset:: db ; d1d6 +EastConnectionWindow:: dw ; d1d7 TilesetHeader:: -TilesetBank:: ; d1d9 - ds 1 -TilesetAddress:: ; d1da - ds 2 -TilesetBlocksBank:: ; d1dc - ds 1 -TilesetBlocksAddress:: ; d1dd - ds 2 -TilesetCollisionBank:: ; d1df - ds 1 -TilesetCollisionAddress:: ; d1e0 - ds 2 -TilesetAnim:: ; d1e2 -; bank 3f - ds 2 -; unused ; d1e4 - ds 2 -TilesetPalettes:: ; d1e6 -; bank 3f - ds 2 +TilesetBank:: db ; d1d9 +TilesetAddress:: dw ; d1da +TilesetBlocksBank:: db ; d1dc +TilesetBlocksAddress:: dw ; d1dd +TilesetCollisionBank:: db ; d1df +TilesetCollisionAddress:: dw ; d1e0 +TilesetAnim:: dw ; bank 3f ; d1e2 + ds 2 ; unused ; d1e4 +TilesetPalettes:: dw ; bank 3f ; d1e6 -EvolvableFlags:: ; d1e8 - flag_array PARTY_LENGTH +EvolvableFlags:: flag_array PARTY_LENGTH ; d1e8 wForceEvolution:: db ; d1e9 @@ -2066,115 +1989,80 @@ wBattleMode:: ; d22d ; 0: overworld ; 1: wild battle ; 2: trainer battle - ds 1 + db + +TempWildMonSpecies:: db -TempWildMonSpecies:: ds 1 OtherTrainerClass:: ; d22f ; class (Youngster, Bug Catcher, etc.) of opposing trainer ; 0 if opponent is a wild Pokémon, not a trainer - ds 1 + db -BattleType:: ; d230 -; $00 normal -; $01 can lose -; $02 debug -; $03 dude/tutorial -; $04 fishing -; $05 roaming -; $06 contest -; $07 shiny -; $08 headbutt/rock smash -; $09 trap -; $0a force Item1 -; $0b celebi -; $0c suicune - ds 1 +; BATTLETYPE_* values +BattleType:: db ; d230 OtherTrainerID:: ; d231 ; which trainer of the class that you're fighting ; (Joey, Mikey, Albert, etc.) - ds 1 + db -wForcedSwitch:: ds 1 +wForcedSwitch:: db -TrainerClass:: ; d233 - ds 1 +TrainerClass:: db ; d233 -UnownLetter:: ; d234 - ds 1 +UnownLetter:: db ; d234 -wMoveSelectionMenuType:: ds 1 +wMoveSelectionMenuType:: db +; corresponds to the data/base_stats/*.asm contents CurBaseData:: ; d236 -BaseDexNo:: ; d236 - ds 1 +BaseDexNo:: db ; d236 BaseStats:: ; d237 -BaseHP:: ; d237 - ds 1 -BaseAttack:: ; d238 - ds 1 -BaseDefense:: ; d239 - ds 1 -BaseSpeed:: ; d23a - ds 1 -BaseSpecialAttack:: ; d23b - ds 1 -BaseSpecialDefense:: ; d23c - ds 1 +BaseHP:: db ; d237 +BaseAttack:: db ; d238 +BaseDefense:: db ; d239 +BaseSpeed:: db ; d23a +BaseSpecialAttack:: db ; d23b +BaseSpecialDefense:: db ; d23c BaseType:: ; d23d -BaseType1:: ; d23d - ds 1 -BaseType2:: ; d23e - ds 1 -BaseCatchRate:: ; d23f - ds 1 -BaseExp:: ; d240 - ds 1 -BaseItems:: ; d241 - ds 2 -BaseGender:: ; d243 - ds 1 -BaseUnknown1:: ; d244 - ds 1 -BaseEggSteps:: ; d245 - ds 1 -BaseUnknown2:: ; d246 - ds 1 -BasePicSize:: ; d247 - ds 1 -BasePadding:: ; d248 - ds 4 -BaseGrowthRate:: ; d24c - ds 1 -BaseEggGroups:: ; d24d - ds 1 -BaseTMHM:: ; d24e - flag_array NUM_TM_HM_TUTOR +BaseType1:: db ; d23d +BaseType2:: db ; d23e +BaseCatchRate:: db ; d23f +BaseExp:: db ; d240 +BaseItems:: dw ; d241 +BaseGender:: db ; d243 +BaseUnknown1:: db ; d244 +BaseEggSteps:: db ; d245 +BaseUnknown2:: db ; d246 +BasePicSize:: db ; d247 +BasePadding:: ds 4 ; d248 +BaseGrowthRate:: db ; d24c +BaseEggGroups:: db ; d24d +BaseTMHM:: flag_array NUM_TM_HM_TUTOR ; d24e - -CurDamage:: ; d256 +CurDamage:: dw ; d256 ds 2 - ds 2 -wMornEncounterRate:: ds 1 ; d25a -wDayEncounterRate:: ds 1 ; d25b -wNiteEncounterRate:: ds 1 ; d25c -wWaterEncounterRate:: ds 1 ; d25d +wMornEncounterRate:: db ; d25a +wDayEncounterRate:: db ; d25b +wNiteEncounterRate:: db ; d25c +wWaterEncounterRate:: db ; d25d wListMoves_MoveIndicesBuffer:: ds NUM_MOVES -wPutativeTMHMMove:: ds 1 -wInitListType:: ds 1 -wBattleHasJustStarted:: ds 1 +wPutativeTMHMMove:: db +wInitListType:: db +wBattleHasJustStarted:: db + wFoundMatchingIDInParty:: wNamedObjectIndexBuffer:: wCurTMHM:: wTypeMatchup:: -wd265:: ds 1 -wFailedToFlee:: ds 1 -wNumFleeAttempts:: ds 1 -wMonTriedToEvolve:: ds 1 +wd265:: db -TimeOfDay:: ; d269 - ds 1 +wFailedToFlee:: db +wNumFleeAttempts:: db +wMonTriedToEvolve:: db + +TimeOfDay:: db ; d269 ds 1 From 880fb511e19eb6aa413af1519731074c7ec8d852 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 15:28:03 -0500 Subject: [PATCH 08/16] More WRAM organization --- engine/pokedex.asm | 24 ++++++++++++------------ engine/printer/serial.asm | 36 ++++++++++++++++++------------------ wram.asm | 29 ++++++++++++++--------------- 3 files changed, 44 insertions(+), 45 deletions(-) diff --git a/engine/pokedex.asm b/engine/pokedex.asm index 531684640..282b9ca91 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -117,7 +117,7 @@ Pokedex_CheckUnlockedUnownMode: ; 400a2 ret Pokedex_InitCursorPosition: ; 400b4 - ld hl, wPokedexDataStart + ld hl, wPokedexOrder ld a, [wLastDexEntry] and a jr z, .done @@ -1479,11 +1479,11 @@ Pokedex_PrintListing: ; 40b0f (10:4b0f) ld a, " " call Pokedex_FillBox -; Load de with wPokedexDataStart + [wDexListingScrollOffset] +; Load de with wPokedexOrder + [wDexListingScrollOffset] ld a, [wDexListingScrollOffset] ld e, a ld d, $0 - ld hl, wPokedexDataStart + ld hl, wPokedexOrder add hl, de ld e, l ld d, h @@ -1583,7 +1583,7 @@ Pokedex_GetSelectedMon: ; 40bb1 add [hl] ld e, a ld d, $0 - ld hl, wPokedexDataStart + ld hl, wPokedexOrder add hl, de ld a, [hl] ld [wd265], a @@ -1614,8 +1614,8 @@ Pokedex_CheckSeen: ; 40bd0 Pokedex_OrderMonsByMode: ; 40bdc - ld hl, wPokedexDataStart - ld bc, wPokedexMetadata - wPokedexDataStart + ld hl, wPokedexOrder + ld bc, wPokedexOrderEnd - wPokedexOrder xor a call ByteFill ld a, [wCurrentDexMode] @@ -1632,7 +1632,7 @@ Pokedex_OrderMonsByMode: ; 40bdc .NewMode: ; 40bf6 (10:4bf6) ld de, NewPokedexOrder - ld hl, wPokedexDataStart + ld hl, wPokedexOrder ld c, NUM_POKEMON .loopnew ld a, [de] @@ -1644,7 +1644,7 @@ Pokedex_OrderMonsByMode: ; 40bdc ret .OldMode: ; 40c08 (10:4c08) - ld hl, wPokedexDataStart + ld hl, wPokedexOrder ld a, $1 ld c, NUM_POKEMON .loopold @@ -1656,7 +1656,7 @@ Pokedex_OrderMonsByMode: ; 40bdc ret .FindLastSeen: ; 40c18 (10:4c18) - ld hl, wPokedexDataStart + NUM_POKEMON - 1 + ld hl, wPokedexOrder + NUM_POKEMON - 1 ld d, NUM_POKEMON ld e, d .loopfindend @@ -1675,7 +1675,7 @@ Pokedex_OrderMonsByMode: ; 40bdc Pokedex_ABCMode: ; 40c30 xor a ld [wDexListingEnd], a - ld hl, wPokedexDataStart + ld hl, wPokedexOrder ld de, AlphabeticalPokedexOrder ld c, NUM_POKEMON .loop1abc @@ -1915,8 +1915,8 @@ Pokedex_SearchForMons: ; 41086 add hl, de ld a, [hl] ld [wDexConvertedMonType], a - ld hl, wPokedexDataStart - ld de, wPokedexDataStart + ld hl, wPokedexOrder + ld de, wPokedexOrder ld c, NUM_POKEMON xor a ld [wDexSearchResultCount], a diff --git a/engine/printer/serial.asm b/engine/printer/serial.asm index 37ed2990b..6909a38b2 100755 --- a/engine/printer/serial.asm +++ b/engine/printer/serial.asm @@ -292,13 +292,13 @@ Printer_WaitHandshake: ; 841c3 (21:41c3) Printer_CopyPacket: ; 841e2 (21:41e2) ld a, [hli] - ld [wca82], a + ld [wPrinterData], a ld a, [hli] - ld [wca83], a + ld [wPrinterData + 1], a ld a, [hli] - ld [wca84], a + ld [wPrinterData + 2], a ld a, [hli] - ld [wca85], a + ld [wPrinterData + 3], a ld a, [hli] ld [wPrinterChecksum], a ld a, [hl] @@ -307,7 +307,7 @@ Printer_CopyPacket: ; 841e2 (21:41e2) Printer_ResetData: ; 841fb (21:41fb) xor a - ld hl, wca82 + ld hl, wPrinterData ld [hli], a ld [hli], a ld [hli], a @@ -326,7 +326,7 @@ Printer_ResetData: ; 841fb (21:41fb) Printer_ComputeChecksum: ; 84219 (21:4219) ld hl, 0 ld bc, 4 - ld de, wca82 + ld de, wPrinterData call .ComputeChecksum ld a, [wPrinterSendByteCounter] ld c, a @@ -476,10 +476,10 @@ _PrinterReceive:: ; 842db dw Printer_DoNothing ; 00 dw Printer_Send0x33 ; 01 - dw Printer_Sendwca82 ; 02 - dw Printer_Sendwca83 ; 03 - dw Printer_Sendwca84 ; 04 - dw Printer_Sendwca85 ; 05 + dw Printer_SendPrinterData1 ; 02 + dw Printer_SendPrinterData2 ; 03 + dw Printer_SendPrinterData3 ; 04 + dw Printer_SendPrinterData4 ; 05 dw Printer_SendNextByte ; 06 dw Printer_SendwPrinterChecksumLo ; 07 dw Printer_SendwPrinterChecksumHi ; 08 @@ -524,26 +524,26 @@ Printer_Send0x33: ; 84330 (21:4330) call Printer_NextInstruction ret -Printer_Sendwca82: ; 84339 (21:4339) - ld a, [wca82] +Printer_SendPrinterData1: ; 84339 (21:4339) + ld a, [wPrinterData] call Printer_SerialSend call Printer_NextInstruction ret -Printer_Sendwca83: ; 84343 (21:4343) - ld a, [wca83] +Printer_SendPrinterData2: ; 84343 (21:4343) + ld a, [wPrinterData + 1] call Printer_SerialSend call Printer_NextInstruction ret -Printer_Sendwca84: ; 8434d (21:434d) - ld a, [wca84] +Printer_SendPrinterData3: ; 8434d (21:434d) + ld a, [wPrinterData + 2] call Printer_SerialSend call Printer_NextInstruction ret -Printer_Sendwca85: ; 84357 (21:4357) - ld a, [wca85] +Printer_SendPrinterData4: ; 84357 (21:4357) + ld a, [wPrinterData + 3] call Printer_SerialSend call Printer_NextInstruction ret diff --git a/wram.asm b/wram.asm index 5924259a4..ec828ff8f 100644 --- a/wram.asm +++ b/wram.asm @@ -142,9 +142,13 @@ AutoInputLength:: db ; c2cb wMonStatusFlags:: db wGameLogicPaused:: db ; c2cd wSpriteUpdatesEnabled:: db -wc2cf:: db + +wc2cf:: db ; ???? + wMapTimeOfDay:: db + ds 3 + wPrinterConnectionOpen:: db wPrinterOpcode:: db wLastDexEntry:: db @@ -324,8 +328,8 @@ TileMapEnd:: SECTION "Battle", WRAM0 -UNION -; unidentified mobile/debug +UNION ; c608 +; unidentified uses wc608:: NEXTU ; c608 @@ -534,6 +538,7 @@ PlayerSpdLevel:: db ; c6ce PlayerSAtkLevel:: db ; c6cf UNION ; c6d0 +; finish battle RAM PlayerSDefLevel:: db ; c6d0 PlayerAccLevel:: db ; c6d1 PlayerEvaLevel:: db ; c6d2 @@ -787,16 +792,14 @@ wDummyGameEnd:: NEXTU ; c6d0 ; unown puzzle wUnownPuzzle:: -wPuzzlePieces:: - ds 6 * 6 +wPuzzlePieces:: ds 6 * 6 wUnownPuzzleEnd:: NEXTU ; c6d0 ; pokedex wPokedexDataStart:: -wPokedexOrder:: ds NUM_POKEMON +- 1 +wPokedexOrder:: ds $100 ; NUM_POKEMON + 5 wPokedexOrderEnd:: - ds 6 wPokedexMetadata:: wDexListingScrollOffset:: db ; offset of the first displayed entry from the start wDexListingCursor:: db ; Dex cursor @@ -820,7 +823,7 @@ wBackupDexListingCursor:: db wBackupDexListingPage:: db wDexCurrentLocation:: db IF DEF(CRYSTAL11) -wPokedexStatus:: ds 1 +wPokedexStatus:: db wPokedexDataEnd:: ELSE wPokedexDataEnd:: ds 1 @@ -849,8 +852,7 @@ wc7e8:: ds 24 ; ???? SECTION "Overworld Map", WRAM0 UNION ; c800 -OverworldMap:: ; c800 - ds 1300 +OverworldMap:: ds 1300 ; c800 OverworldMapEnd:: NEXTU ; c800 @@ -863,14 +865,11 @@ NEXTU ; c800 ; GB Printer data wGameboyPrinter2bppSource:: ds 40 tiles wGameboyPrinter2bppSourceEnd:: -wca80:: ds 1 +wca80:: db wPrinterRowIndex:: db ; Printer data header -wca82:: ds 1 -wca83:: ds 1 -wca84:: ds 1 -wca85:: ds 1 +wPrinterData:: ds 4 wPrinterChecksum:: dw ; ca86 wPrinterHandshake:: db wPrinterStatusFlags:: From cd2a7481283beec7ba37451deeb841ebc37073ba Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 19:41:03 -0500 Subject: [PATCH 09/16] More WRAM cleanup --- battle/anim_commands.asm | 12 +- battle/bg_effects.asm | 4 +- battle/core.asm | 32 +- battle/effect_commands.asm | 24 +- battle/effects/transform.asm | 4 +- battle/magikarp_length.asm | 10 +- battle/menu.asm | 8 +- battle/objects/engine.asm | 4 +- constants/pokemon_constants.asm | 3 + engine/clock_reset.asm | 18 +- engine/credits.asm | 2 +- engine/decorations.asm | 22 +- engine/link.asm | 2 +- engine/mart.asm | 12 +- engine/mysterygift2.asm | 2 +- engine/pokegear.asm | 161 ++- engine/printnum.asm | 2 +- engine/scripting.asm | 10 +- engine/startmenu.asm | 6 +- engine/stats_screen.asm | 12 +- engine/unowndex.asm | 2 +- engine/warp_connection.asm | 2 +- event/halloffame.asm | 2 +- event/magikarp.asm | 22 +- event/overworld.asm | 8 +- home/movement.asm | 6 +- items/item_effects.asm | 8 +- macros/charmap.asm | 2 +- main.asm | 16 +- misc/mobile_40.asm | 4 +- misc/mobile_42.asm | 6 +- predef/cgb.asm | 2 +- predef/sgb.asm | 2 +- wram.asm | 1635 ++++++++++++++++--------------- 34 files changed, 1043 insertions(+), 1024 deletions(-) diff --git a/battle/anim_commands.asm b/battle/anim_commands.asm index 958dcfe40..b4633d8dd 100644 --- a/battle/anim_commands.asm +++ b/battle/anim_commands.asm @@ -57,7 +57,7 @@ _PlayBattleAnim: ; cc0e4 BattleAnimRunScript: ; cc11c - ld a, [FXAnimIDHi] + ld a, [FXAnimID + 1] and a jr nz, .hi_byte @@ -86,9 +86,9 @@ BattleAnimRunScript: ; cc11c ld de, ANIM_MISS add hl, de ld a, l - ld [FXAnimIDLo], a + ld [FXAnimID], a ld a, h - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a .hi_byte call WaitSFX @@ -112,11 +112,11 @@ RunBattleAnimScript: ; cc163 call BattleAnimRequestPals ; Speed up Rollout's animation. - ld a, [FXAnimIDHi] + ld a, [FXAnimID + 1] or a jr nz, .not_rollout - ld a, [FXAnimIDLo] + ld a, [FXAnimID] cp ROLLOUT jr nz, .not_rollout @@ -1393,7 +1393,7 @@ ClearBattleAnims: ; cc8d3 or b jr nz, .loop - ld hl, FXAnimIDLo + ld hl, FXAnimID ld e, [hl] inc hl ld d, [hl] diff --git a/battle/bg_effects.asm b/battle/bg_effects.asm index 628c6ce1f..8c51a5052 100644 --- a/battle/bg_effects.asm +++ b/battle/bg_effects.asm @@ -1538,10 +1538,10 @@ Tackle_BGEffect25_2d_two: Functionc88a5: ; c88a5 (32:48a5) push af - ld a, [FXAnimIDHi] ; FXAnimIDHi + ld a, [FXAnimID + 1] ; FXAnimID + 1 or a jr nz, .not_rollout - ld a, [FXAnimIDLo] ; FXAnimID + ld a, [FXAnimID] ; FXAnimID cp ROLLOUT jr z, .rollout .not_rollout diff --git a/battle/core.asm b/battle/core.asm index 1bffd407e..fb86c2799 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -633,7 +633,7 @@ ParsePlayerAction: ; 3c434 xor a ld [wMoveSelectionMenuType], a inc a ; POUND - ld [FXAnimIDLo], a + ld [FXAnimID], a call MoveSelectionScreen push af call Call_LoadTempTileMapToTileMap @@ -1305,7 +1305,7 @@ HandleWrap: ; 3c874 ld a, [de] ld [wd265], a - ld [FXAnimIDLo], a + ld [FXAnimID], a call GetMoveName dec [hl] jr z, .release_from_bounds @@ -1318,7 +1318,7 @@ HandleWrap: ; 3c874 call SwitchTurnCore xor a ld [wNumHits], a - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a predef PlayBattleAnim call SwitchTurnCore @@ -4213,7 +4213,7 @@ SendOutPlayerMon: ; 3db5f call GetMonBackpic xor a ld [hGraphicStartTile], a - ld [wd0d2], a + ld [wBattleMenuCursorBuffer], a ld [CurMoveNum], a ld [TypeModifier], a ld [wPlayerMoveStruct + MOVE_ANIM], a @@ -4551,11 +4551,11 @@ ItemRecoveryAnim: ; 3ddc8 push bc call EmptyBattleTextBox ld a, RECOVER - ld [FXAnimIDLo], a + ld [FXAnimID], a call SwitchTurnCore xor a ld [wNumHits], a - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a predef PlayBattleAnim call SwitchTurnCore pop bc @@ -5130,7 +5130,7 @@ BattleMenu: ; 3e139 .next ld a, $1 ld [hBGMapMode], a - ld a, [wd0d2] + ld a, [wBattleMenuCursorBuffer] cp $1 jp z, BattleMenu_Fight cp $3 @@ -6415,7 +6415,7 @@ LoadEnemyMon: ; 3e8eb callab CalcMagikarpLength ; We're clear if the length is < 1536 - ld a, [MagikarpLength] + ld a, [wMagikarpLength] cp a, $06 ; $600 = 1536 jr nz, .CheckMagikarpArea @@ -6424,7 +6424,7 @@ LoadEnemyMon: ; 3e8eb cp a, $0c ; / $100 jr c, .CheckMagikarpArea ; Try again if > 1614 - ld a, [MagikarpLength + 1] + ld a, [wMagikarpLength + 1] cp a, $50 jr nc, .GenerateDVs @@ -6433,7 +6433,7 @@ LoadEnemyMon: ; 3e8eb cp a, $32 ; / $100 jr c, .CheckMagikarpArea ; Try again if > 1598 - ld a, [MagikarpLength + 1] + ld a, [wMagikarpLength + 1] cp a, $40 jr nc, .GenerateDVs @@ -6458,7 +6458,7 @@ LoadEnemyMon: ; 3e8eb cp a, $64 ; / $100 jr c, .Happiness ; Floor at length 1024 - ld a, [MagikarpLength] + ld a, [wMagikarpLength] cp a, 1024 >> 8 jr c, .GenerateDVs ; try again @@ -6588,7 +6588,7 @@ LoadEnemyMon: ; 3e8eb ld [hli], a ld [hl], a ; Make sure the predef knows this isn't a partymon - ld [MagikarpLength], a + ld [wEvolutionOldSpecies], a ; Fill moves based on level predef FillMoves @@ -7285,9 +7285,9 @@ Call_PlayBattleAnim_OnlyIfVisible: ; 3ee0f Call_PlayBattleAnim: ; 3ee17 ld a, e - ld [FXAnimIDLo], a + ld [FXAnimID], a ld a, d - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a call WaitBGMap predef_jump PlayBattleAnim ; 3ee27 @@ -8405,7 +8405,7 @@ BattleIntro: ; 3f4dd call LoadTrainerOrWildMonPic xor a ld [TempBattleMonSpecies], a - ld [wd0d2], a + ld [wBattleMenuCursorBuffer], a xor a ld [hMapAnims], a callba PlayBattleMusic @@ -8670,7 +8670,7 @@ CleanUpBattleRAM: ; 3f6d0 ld [wPartyMenuCursor], a ld [wKeyItemsPocketCursor], a ld [wItemsPocketCursor], a - ld [wd0d2], a + ld [wBattleMenuCursorBuffer], a ld [CurMoveNum], a ld [wBallsPocketCursor], a ld [wLastPocket], a diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index 4e8976dd3..b292474b8 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -2103,7 +2103,7 @@ BattleCommand_LowerSub: ; 34eee xor a ld [wNumHits], a - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a inc a ld [wKickCounter], a ld a, SUBSTITUTE @@ -2280,7 +2280,7 @@ BattleCommand_RaiseSub: ; 35004 xor a ld [wNumHits], a - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a ld a, $2 ld [wKickCounter], a ld a, SUBSTITUTE @@ -2645,7 +2645,7 @@ BattleCommand_CheckDestinyBond: ; 351c0 call BattleCommand_SwitchTurn xor a ld [wNumHits], a - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a inc a ld [wKickCounter], a ld a, DESTINY_BOND @@ -4738,9 +4738,9 @@ FarPlayBattleAnimation: ; 35d00 PlayFXAnimID: ; 35d08 ld a, e - ld [FXAnimIDLo], a + ld [FXAnimID], a ld a, d - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a ld c, 3 call DelayFrames @@ -7882,7 +7882,7 @@ BattleCommand_Substitute: ; 36e7c xor a ld [wNumHits], a - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a ld [wKickCounter], a ld a, SUBSTITUTE call LoadAnim @@ -9862,14 +9862,14 @@ AnimateCurrentMove: ; 37e01 PlayDamageAnim: ; 37e19 xor a - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVar and a ret z - ld [FXAnimIDLo], a + ld [FXAnimID], a ld a, [hBattleTurn] and a @@ -9888,7 +9888,7 @@ PlayDamageAnim: ; 37e19 LoadMoveAnim: ; 37e36 xor a ld [wNumHits], a - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVar @@ -9901,7 +9901,7 @@ LoadMoveAnim: ; 37e36 LoadAnim: ; 37e44 - ld [FXAnimIDLo], a + ld [FXAnimID], a ; fallthrough ; 37e47 @@ -9922,9 +9922,9 @@ PlayUserBattleAnim: ; 37e47 PlayOpponentBattleAnim: ; 37e54 ld a, e - ld [FXAnimIDLo], a + ld [FXAnimID], a ld a, d - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a xor a ld [wNumHits], a diff --git a/battle/effects/transform.asm b/battle/effects/transform.asm index eb80aea8a..65c3f3e60 100755 --- a/battle/effects/transform.asm +++ b/battle/effects/transform.asm @@ -11,7 +11,7 @@ BattleCommand_Transform: ; 371cd jp nz, BattleEffect_ButItFailed xor a ld [wNumHits], a - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a ld a, $1 ld [wKickCounter], a ld a, BATTLE_VARS_SUBSTATUS4 @@ -129,7 +129,7 @@ BattleCommand_Transform: ; 371cd .after_anim xor a ld [wNumHits], a - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a ld a, $2 ld [wKickCounter], a pop af diff --git a/battle/magikarp_length.asm b/battle/magikarp_length.asm index 160912c53..794823f63 100644 --- a/battle/magikarp_length.asm +++ b/battle/magikarp_length.asm @@ -1,5 +1,5 @@ CalcMagikarpLength: ; fbbfc -; Return Magikarp's length (in mm) at MagikarpLength (big endian). +; Return Magikarp's length (in mm) at wMagikarpLength (big endian). ; ; input: ; de: EnemyMonDVs @@ -16,9 +16,9 @@ CalcMagikarpLength: ; fbbfc ; bc = rrc(dv[0]) ++ rrc(dv[1]) ^ rrc(id) -; if bc < 10: [MagikarpLength] = c + 190 -; if bc >= $ff00: [MagikarpLength] = c + 1370 -; else: [MagikarpLength] = z * 100 + (bc - x) / y +; if bc < 10: [wMagikarpLength] = c + 190 +; if bc >= $ff00: [wMagikarpLength] = c + 1370 +; else: [wMagikarpLength] = z * 100 + (bc - x) / y ; X, Y, and Z depend on the value of b as follows: @@ -165,7 +165,7 @@ CalcMagikarpLength: ; fbbfc .ok ld e, a - ld hl, MagikarpLength + ld hl, wMagikarpLength ld [hl], d inc hl ld [hl], e diff --git a/battle/menu.asm b/battle/menu.asm index 3efcc0079..07d3e6081 100755 --- a/battle/menu.asm +++ b/battle/menu.asm @@ -1,11 +1,11 @@ LoadBattleMenu: ; 24ef2 ld hl, BattleMenuDataHeader call LoadMenuDataHeader - ld a, [wd0d2] + ld a, [wBattleMenuCursorBuffer] ld [wMenuCursorBuffer], a call InterpretBattleMenu ld a, [wMenuCursorBuffer] - ld [wd0d2], a + ld [wBattleMenuCursorBuffer], a call ExitMenu ret ; 24f0b @@ -23,11 +23,11 @@ ContestBattleMenu: ; 24f13 ; 24f19 Function24f19: ; 24f19 - ld a, [wd0d2] + ld a, [wBattleMenuCursorBuffer] ld [wMenuCursorBuffer], a call _2DMenu ld a, [wMenuCursorBuffer] - ld [wd0d2], a + ld [wBattleMenuCursorBuffer], a call ExitMenu ret ; 24f2c diff --git a/battle/objects/engine.asm b/battle/objects/engine.asm index eca0af8a1..9e6c3329a 100755 --- a/battle/objects/engine.asm +++ b/battle/objects/engine.asm @@ -249,10 +249,10 @@ InitBattleAnimBuffer: ; ccaaa .check_kinesis_softboiled_milkdrink sub d push af - ld a, [FXAnimIDHi] + ld a, [FXAnimID + 1] or a jr nz, .no_sub - ld a, [FXAnimIDLo] + ld a, [FXAnimID] cp KINESIS jr z, .kinesis cp SOFTBOILED diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index eb8938d21..fb713507f 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -342,3 +342,6 @@ NUM_MONMENU_ITEMS EQU 8 ; maximum number of party pokemon PARTY_LENGTH EQU 6 + +; number of Unown forms +NUM_UNOWN EQU 26 diff --git a/engine/clock_reset.asm b/engine/clock_reset.asm index 4e6f588e9..7b1d84302 100755 --- a/engine/clock_reset.asm +++ b/engine/clock_reset.asm @@ -66,7 +66,7 @@ RestartClock: ; 20021 (8:4021) .SetClock: ; 20051 (8:4051) ld a, 1 ld [Buffer1], a ; which digit - ld [Buffer2], a ; wd1eb (aliases: MovementType) + ld [Buffer2], a ld a, 8 ld [Buffer3], a call UpdateTime @@ -151,7 +151,7 @@ RestartClock: ; 20021 (8:4021) ret .pressed_up - ld a, [Buffer1] ; wd1ea (aliases: MagikarpLength) + ld a, [Buffer1] call ResetClock_GetWraparoundTime ld a, [de] inc a @@ -163,7 +163,7 @@ RestartClock: ; 20021 (8:4021) jr .done_scroll .pressed_down - ld a, [Buffer1] ; wd1ea (aliases: MagikarpLength) + ld a, [Buffer1] call ResetClock_GetWraparoundTime ld a, [de] dec a @@ -176,14 +176,14 @@ RestartClock: ; 20021 (8:4021) jr .done_scroll .pressed_left - ld hl, Buffer1 ; wd1ea (aliases: MagikarpLength) + ld hl, Buffer1 dec [hl] jr nz, .done_scroll ld [hl], $3 jr .done_scroll .pressed_right - ld hl, Buffer1 ; wd1ea (aliases: MagikarpLength) + ld hl, Buffer1 inc [hl] ld a, [hl] cp $4 @@ -209,14 +209,14 @@ RestartClock: ; 20021 (8:4021) ld c, a decoord 11, 8 callba PrintHoursMins - ld a, [Buffer2] ; wd1eb (aliases: MovementType) + ld a, [Buffer2] lb de, " ", " " call .PlaceChars - ld a, [Buffer1] ; wd1ea (aliases: MagikarpLength) + ld a, [Buffer1] lb de, "â–²", "â–¼" call .PlaceChars - ld a, [Buffer1] ; wd1ea (aliases: MagikarpLength) - ld [Buffer2], a ; wd1eb (aliases: MovementType) + ld a, [Buffer1] + ld [Buffer2], a ret ; 20160 (8:4160) diff --git a/engine/credits.asm b/engine/credits.asm index 3442d4f16..823bcde3a 100644 --- a/engine/credits.asm +++ b/engine/credits.asm @@ -196,7 +196,7 @@ Credits:: ; 109847 xor a ld [hBGMapMode], a ld [CreditsPos], a - ld [wcd21], a + ld [CreditsUnusedCD21], a ld [CreditsTimer], a .execution_loop diff --git a/engine/decorations.asm b/engine/decorations.asm index 4bd99c0a5..ad82a2080 100755 --- a/engine/decorations.asm +++ b/engine/decorations.asm @@ -908,16 +908,16 @@ DecoAction_putawayornament: ; 26dc9 DecoAction_FinishUp_Ornament: ; 26dd6 call QueryWhichSide - ld a, [wd1ec] + ld a, [wSelectedDecoration] ld [hl], a - ld a, [wd1ed] + ld a, [wOtherDecoration] ld [de], a xor a ret ; 26de3 DecoAction_SetItUp_Ornament: ; 26de3 - ld a, [wd1ec] + ld a, [wSelectedDecoration] and a jr z, .nothingthere ld b, a @@ -931,7 +931,7 @@ DecoAction_SetItUp_Ornament: ; 26de3 ld hl, StringBuffer4 call GetDecorationName ld a, [MenuSelection] - ld [wd1ec], a + ld [wSelectedDecoration], a call .getwhichside ld hl, DecoText_PutAwayAndSetUp call MenuTextBoxBackup @@ -940,7 +940,7 @@ DecoAction_SetItUp_Ornament: ; 26de3 .nothingthere ld a, [MenuSelection] - ld [wd1ec], a + ld [wSelectedDecoration], a call .getwhichside ld a, [MenuSelection] ld hl, StringBuffer3 @@ -960,11 +960,11 @@ DecoAction_SetItUp_Ornament: ; 26de3 .getwhichside ; 26e33 ld a, [MenuSelection] ld b, a - ld a, [wd1ed] + ld a, [wOtherDecoration] cp b ret nz xor a - ld [wd1ed], a + ld [wOtherDecoration], a ret ; 26e41 @@ -975,7 +975,7 @@ UnknownText_0x26e41: ; 0x26e41 ; 0x26e46 DecoAction_PutItAway_Ornament: ; 26e46 - ld a, [wd1ec] + ld a, [wSelectedDecoration] and a jr z, .nothingthere ld hl, StringBuffer3 @@ -983,7 +983,7 @@ DecoAction_PutItAway_Ornament: ; 26e46 ld a, $1 ld [Buffer5], a xor a - ld [wd1ec], a + ld [wSelectedDecoration], a ld hl, DecoText_PutAwayTheDeco call MenuTextBoxBackup xor a @@ -1015,9 +1015,9 @@ DecoAction_AskWhichSide: ; 26e70 ld [Buffer2], a call QueryWhichSide ld a, [hl] - ld [wd1ec], a + ld [wSelectedDecoration], a ld a, [de] - ld [wd1ed], a + ld [wOtherDecoration], a xor a ret diff --git a/engine/link.asm b/engine/link.asm index ad2d8a982..ab3d38968 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -390,7 +390,7 @@ Gen2ToGen2LinkComms: ; 28177 ld [de], a .skip_mail - ld hl, wLinkData + ld hl, wLinkPlayerName ld de, OTPlayerName ld bc, NAME_LENGTH call CopyBytes diff --git a/engine/mart.asm b/engine/mart.asm index 7002902cc..6bcec4c55 100755 --- a/engine/mart.asm +++ b/engine/mart.asm @@ -370,9 +370,9 @@ BuyMenu: ; 15c62 call FadeToMenu callba BlankScreen xor a - ld [wd045 + 1], a + ld [wMenuScrollPositionBackup], a ld a, 1 - ld [wd045], a + ld [wMenuCursorBufferBackup], a .loop call BuyMenuLoop ; menu loop jr nc, .loop @@ -471,15 +471,15 @@ BuyMenuLoop: ; 15cef call UpdateSprites ld hl, MenuDataHeader_Buy call CopyMenuDataHeader - ld a, [wd045] + ld a, [wMenuCursorBufferBackup] ld [wMenuCursorBuffer], a - ld a, [wd045 + 1] + ld a, [wMenuScrollPositionBackup] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] - ld [wd045 + 1], a + ld [wMenuScrollPositionBackup], a ld a, [wMenuCursorY] - ld [wd045], a + ld [wMenuCursorBufferBackup], a call SpeechTextBox ld a, [wMenuJoypad] cp B_BUTTON diff --git a/engine/mysterygift2.asm b/engine/mysterygift2.asm index 4048ea533..0b8948c5b 100755 --- a/engine/mysterygift2.asm +++ b/engine/mysterygift2.asm @@ -9,7 +9,7 @@ PrepMysteryGiftDataToSend: ; 2c642 (b:4642) ld a, [hli] ld [de], a ld b, a - inc de + inc de ; wc802 ld a, [hl] ld [de], a ld c, a diff --git a/engine/pokegear.asm b/engine/pokegear.asm index dadee0629..948589639 100755 --- a/engine/pokegear.asm +++ b/engine/pokegear.asm @@ -1619,8 +1619,8 @@ RadioChannels: LoadStation_OaksPokemonTalk: ; 91753 (24:5753) xor a ; OAKS_POKEMON_TALK - ld [wd002], a - ld [wd005], a + ld [wCurrentRadioLine], a + ld [wNumRadioLinesPrinted], a ld a, BANK(PlayRadioShow) ld hl, PlayRadioShow call Radio_BackUpFarCallParams @@ -1629,9 +1629,9 @@ LoadStation_OaksPokemonTalk: ; 91753 (24:5753) LoadStation_PokedexShow: ; 91766 (24:5766) ld a, POKEDEX_SHOW - ld [wd002], a + ld [wCurrentRadioLine], a xor a - ld [wd005], a + ld [wNumRadioLinesPrinted], a ld a, BANK(PlayRadioShow) ld hl, PlayRadioShow call Radio_BackUpFarCallParams @@ -1640,9 +1640,9 @@ LoadStation_PokedexShow: ; 91766 (24:5766) LoadStation_PokemonMusic: ; 9177b (24:577b) ld a, POKEMON_MUSIC - ld [wd002], a + ld [wCurrentRadioLine], a xor a - ld [wd005], a + ld [wNumRadioLinesPrinted], a ld a, BANK(PlayRadioShow) ld hl, PlayRadioShow call Radio_BackUpFarCallParams @@ -1651,9 +1651,9 @@ LoadStation_PokemonMusic: ; 9177b (24:577b) LoadStation_LuckyChannel: ; 91790 (24:5790) ld a, LUCKY_CHANNEL - ld [wd002], a + ld [wCurrentRadioLine], a xor a - ld [wd005], a + ld [wNumRadioLinesPrinted], a ld a, BANK(PlayRadioShow) ld hl, PlayRadioShow call Radio_BackUpFarCallParams @@ -1662,9 +1662,9 @@ LoadStation_LuckyChannel: ; 91790 (24:5790) LoadStation_BuenasPassword: ; 917a5 (24:57a5) ld a, BUENAS_PASSWORD - ld [wd002], a + ld [wCurrentRadioLine], a xor a - ld [wd005], a + ld [wNumRadioLinesPrinted], a ld a, BANK(PlayRadioShow) ld hl, PlayRadioShow call Radio_BackUpFarCallParams @@ -1682,9 +1682,9 @@ NotBuenasPasswordName: db "@" LoadStation_UnownRadio: ; 917d5 (24:57d5) ld a, UNOWN_RADIO - ld [wd002], a + ld [wCurrentRadioLine], a xor a - ld [wd005], a + ld [wNumRadioLinesPrinted], a ld a, BANK(PlayRadioShow) ld hl, PlayRadioShow call Radio_BackUpFarCallParams @@ -1693,9 +1693,9 @@ LoadStation_UnownRadio: ; 917d5 (24:57d5) LoadStation_PlacesAndPeople: ; 917ea (24:57ea) ld a, PLACES_AND_PEOPLE - ld [wd002], a + ld [wCurrentRadioLine], a xor a - ld [wd005], a + ld [wNumRadioLinesPrinted], a ld a, BANK(PlayRadioShow) ld hl, PlayRadioShow call Radio_BackUpFarCallParams @@ -1704,9 +1704,9 @@ LoadStation_PlacesAndPeople: ; 917ea (24:57ea) LoadStation_LetsAllSing: ; 917ff (24:57ff) ld a, LETS_ALL_SING - ld [wd002], a + ld [wCurrentRadioLine], a xor a - ld [wd005], a + ld [wNumRadioLinesPrinted], a ld a, BANK(PlayRadioShow) ld hl, PlayRadioShow call Radio_BackUpFarCallParams @@ -1717,9 +1717,9 @@ LoadStation_LetsAllSing: ; 917ff (24:57ff) LoadStation_RocketRadio: ; 91814 ld a, ROCKET_RADIO - ld [wd002], a + ld [wCurrentRadioLine], a xor a - ld [wd005], a + ld [wNumRadioLinesPrinted], a ld a, BANK(PlayRadioShow) ld hl, PlayRadioShow call Radio_BackUpFarCallParams @@ -1730,9 +1730,9 @@ LoadStation_RocketRadio: ; 91814 LoadStation_PokeFluteRadio: ; 91829 (24:5829) ld a, POKE_FLUTE_RADIO - ld [wd002], a + ld [wCurrentRadioLine], a xor a - ld [wd005], a + ld [wNumRadioLinesPrinted], a ld a, BANK(PlayRadioShow) ld hl, PlayRadioShow call Radio_BackUpFarCallParams @@ -1741,9 +1741,9 @@ LoadStation_PokeFluteRadio: ; 91829 (24:5829) LoadStation_EvolutionRadio: ; 9183e (24:583e) ld a, EVOLUTION_RADIO - ld [wd002], a + ld [wCurrentRadioLine], a xor a - ld [wd005], a + ld [wNumRadioLinesPrinted], a ld a, BANK(PlayRadioShow) ld hl, PlayRadioShow call Radio_BackUpFarCallParams @@ -1855,20 +1855,20 @@ _TownMap: ; 9191c ld a, $e3 ld [rLCDC], a call TownMap_GetCurrentLandmark - ld [wd002], a - ld [wd003], a + ld [wTownMapPlayerIconLandmark], a + ld [wTownMapCursorLandmark], a xor a ld [hBGMapMode], a call .InitTilemap call WaitBGMap2 - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] call PokegearMap_InitPlayerIcon - ld a, [wd003] + ld a, [wTownMapCursorLandmark] call PokegearMap_InitCursor ld a, c - ld [wd004], a + ld [wTownMapCursorObjectPointer], a ld a, b - ld [wd005], a + ld [wTownMapCursorObjectPointer + 1], a ld b, SCGB_POKEGEAR_PALS call GetSGBLayout call SetPalettes @@ -1880,7 +1880,7 @@ _TownMap: ; 9191c call DelayFrame .dmg - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] cp KANTO_LANDMARK jr nc, .kanto ld d, KANTO_LANDMARK - 1 @@ -1925,7 +1925,7 @@ _TownMap: ; 9191c jr .loop .pressed_up - ld hl, wd003 + ld hl, wTownMapCursorLandmark ld a, [hl] cp d jr c, .okay @@ -1938,7 +1938,7 @@ _TownMap: ; 9191c jr .next .pressed_down - ld hl, wd003 + ld hl, wTownMapCursorLandmark ld a, [hl] cp e jr nz, .okay2 @@ -1951,20 +1951,20 @@ _TownMap: ; 9191c .next push de - ld a, [wd003] + ld a, [wTownMapCursorLandmark] call PokegearMap_UpdateLandmarkName - ld a, [wd004] + ld a, [wTownMapCursorObjectPointer] ld c, a - ld a, [wd005] + ld a, [wTownMapCursorObjectPointer + 1] ld b, a - ld a, [wd003] + ld a, [wTownMapCursorLandmark] call PokegearMap_UpdateCursorPosition pop de jr .loop2 ; 91a04 .InitTilemap: ; 91a04 - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] cp KANTO_LANDMARK jr nc, .kanto2 ld e, $0 @@ -1992,7 +1992,7 @@ _TownMap: ; 9191c call ByteFill hlcoord 19, 2 ld [hl], $17 - ld a, [wd003] + ld a, [wTownMapCursorLandmark] call PokegearMap_UpdateLandmarkName callba TownMapPals ret @@ -2147,7 +2147,7 @@ _FlyMap: ; 91af3 jr .exit .pressedA - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] ld l, a ld h, 0 add hl, hl @@ -2155,7 +2155,7 @@ _FlyMap: ; 91af3 add hl, de ld a, [hl] .exit - ld [wd002], a + ld [wTownMapPlayerIconLandmark], a pop af ld [hInMenu], a call ClearBGPalettes @@ -2165,7 +2165,7 @@ _FlyMap: ; 91af3 ld [hBGMapAddress], a ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] ld e, a ret @@ -2186,7 +2186,7 @@ FlyMapScroll: ; 91b73 ret .ScrollNext: - ld hl, wd002 + ld hl, wTownMapPlayerIconLandmark ld a, [hl] cp d jr nz, .NotAtEndYet @@ -2200,7 +2200,7 @@ FlyMapScroll: ; 91b73 jr .Finally .ScrollPrev: - ld hl, wd002 + ld hl, wTownMapPlayerIconLandmark ld a, [hl] cp e jr nz, .NotAtStartYet @@ -2269,7 +2269,7 @@ TownMapBubble: ; 91bb5 .Name: ; We need the map location of the default flypoint - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] ld l, a ld h, 0 add hl, hl ; two bytes per flypoint @@ -2285,7 +2285,7 @@ TownMapBubble: ; 91bb5 ; 91c17 GetMapCursorCoordinates: ; 91c17 - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] ld l, a ld h, $0 add hl, hl @@ -2293,9 +2293,9 @@ GetMapCursorCoordinates: ; 91c17 add hl, de ld e, [hl] callba GetLandmarkCoords - ld a, [wd003] + ld a, [wTownMapCursorCoordinates] ld c, a - ld a, [wd004] + ld a, [wTownMapCursorCoordinates + 1] ld b, a ld hl, $4 add hl, bc @@ -2389,8 +2389,7 @@ FlyMap: ; 91c90 ld c, a call GetWorldMapLocation ; If we're not in a valid location, i.e. Pokecenter floor 2F, - -; the backup map information is used +; the backup map information is used. cp SPECIAL_MAP jr nz, .CheckRegion ld a, [BackupMapGroup] @@ -2399,7 +2398,7 @@ FlyMap: ; 91c90 ld c, a call GetWorldMapLocation .CheckRegion: -; The first 46 locations are part of Johto. The rest are in Kanto +; The first 46 locations are part of Johto. The rest are in Kanto. cp KANTO_LANDMARK jr nc, .KantoFlyMap .JohtoFlyMap: @@ -2407,10 +2406,10 @@ FlyMap: ; 91c90 push af ; Start from New Bark Town ld a, FLY_NEW_BARK - ld [wd002], a + ld [wTownMapPlayerIconLandmark], a ; Flypoints begin at New Bark Town... ld [StartFlypoint], a -; ..and end at Silver Cave +; ..and end at Silver Cave. ld a, FLY_MT_SILVER ld [EndFlypoint], a ; Fill out the map @@ -2422,17 +2421,13 @@ FlyMap: ; 91c90 .KantoFlyMap: ; The event that there are no flypoints enabled in a map is not - ; accounted for. As a result, if you attempt to select a flypoint ; when there are none enabled, the game will crash. Additionally, - ; the flypoint selection has a default starting point that -; can be flown to even if none are enabled - +; can be flown to even if none are enabled. ; To prevent both of these things from happening when the player ; enters Kanto, fly access is restricted until Indigo Plateau is - -; visited and its flypoint enabled +; visited and its flypoint enabled. push af ld c, SPAWN_INDIGO call HasVisitedSpawn @@ -2447,9 +2442,8 @@ FlyMap: ; 91c90 ld a, FLY_INDIGO ld [EndFlypoint], a ; Because Indigo Plateau is the first flypoint the player - -; visits, it's made the default flypoint - ld [wd002], a +; visits, it's made the default flypoint. + ld [wTownMapPlayerIconLandmark], a ; Fill out the map call FillKantoMap call .MapHud @@ -2462,7 +2456,7 @@ FlyMap: ; 91c90 ; Start from New Bark Town ld a, FLY_NEW_BARK - ld [wd002], a + ld [wTownMapPlayerIconLandmark], a ; Flypoints begin at New Bark Town... ld [StartFlypoint], a ; ..and end at Silver Cave @@ -2477,21 +2471,21 @@ FlyMap: ; 91c90 call TownMapBGUpdate call TownMapMon ld a, c - ld [wd003], a + ld [wTownMapCursorCoordinates], a ld a, b - ld [wd004], a + ld [wTownMapCursorCoordinates + 1], a ret ; 91d11 _Area: ; 91d11 ; e: Current landmark - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] push af - ld a, [wd003] + ld a, [wTownMapCursorLandmark] push af ld a, e - ld [wd002], a + ld [wTownMapPlayerIconLandmark], a call ClearSprites xor a ld [hBGMapMode], a @@ -2545,9 +2539,9 @@ _Area: ; 91d11 .a_b call ClearSprites pop af - ld [wd003], a + ld [wTownMapCursorLandmark], a pop af - ld [wd002], a + ld [wTownMapPlayerIconLandmark], a ret ; 91d9b @@ -2636,7 +2630,7 @@ _Area: ; 91d11 ; 91e1e .GetAndPlaceNest: ; 91e1e - ld [wd003], a + ld [wTownMapCursorLandmark], a ld e, a callba FindNest ; load nest landmarks into TileMap[0,0] decoord 0, 0 @@ -2678,7 +2672,7 @@ _Area: ; 91d11 .HideNestsShowPlayer: ; 91e5a call .CheckPlayerLocation ret c - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] ld e, a callba GetLandmarkCoords ld c, e @@ -2731,22 +2725,21 @@ _Area: ; 91d11 .CheckPlayerLocation: ; 91ea9 ; Don't show the player's sprite if you're - ; not in the same region as what's currently ; on the screen. - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] cp FAST_SHIP jr z, .johto cp KANTO_LANDMARK jr c, .johto .kanto - ld a, [wd003] + ld a, [wTownMapCursorLandmark] and a jr z, .clear jr .ok .johto - ld a, [wd003] + ld a, [wTownMapCursorLandmark] and a jr nz, .clear .ok @@ -2764,7 +2757,7 @@ _Area: ; 91d11 ; 91ed0 .GetPlayerOrFastShipIcon: ; 91ed0 - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] cp FAST_SHIP jr z, .FastShip callba GetPlayerIcon @@ -2991,7 +2984,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp" ; XXX xor a - ld [wd002], a + ld [wTownMapPlayerIconLandmark], a call ClearBGPalettes call ClearTileMap call ClearSprites @@ -3019,9 +3012,9 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp" call TownMapBGUpdate call TownMapMon ld a, c - ld [wd003], a + ld [wTownMapCursorCoordinates], a ld a, b - ld [wd004], a + ld [wTownMapCursorCoordinates + 1], a ld b, SCGB_POKEGEAR_PALS call GetSGBLayout call SetPalettes @@ -3045,7 +3038,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp" jr .finished_a_b .pressedA - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] ld l, a ld h, 0 add hl, hl @@ -3053,7 +3046,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp" add hl, de ld a, [hl] .finished_a_b - ld [wd002], a + ld [wTownMapPlayerIconLandmark], a pop af ld [hInMenu], a call ClearBGPalettes @@ -3063,7 +3056,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp" ld [hBGMapAddress], a ld a, VBGMap0 / $100 ld [hBGMapAddress + 1], a - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] ld e, a ret @@ -3080,7 +3073,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp" ret .down_right - ld hl, wd002 + ld hl, wTownMapPlayerIconLandmark ld a, [hl] cp FLY_INDIGO jr c, .okay_dr @@ -3090,7 +3083,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp" jr .continue .up_left - ld hl, wd002 + ld hl, wTownMapPlayerIconLandmark ld a, [hl] and a jr nz, .okay_ul @@ -3098,7 +3091,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp" .okay_ul dec [hl] .continue - ld a, [wd002] + ld a, [wTownMapPlayerIconLandmark] cp KANTO_FLYPOINT jr c, .johto call FillKantoMap diff --git a/engine/printnum.asm b/engine/printnum.asm index c68776d5f..7b814a042 100755 --- a/engine/printnum.asm +++ b/engine/printnum.asm @@ -275,7 +275,7 @@ _PrintNum:: ; c4c7 dec e ret nz inc hl - ld [hl], "" + ld [hl], "" ret .PrintLeadingZero: ; c644 diff --git a/engine/scripting.asm b/engine/scripting.asm index 3ff22599b..df22995b5 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -1355,19 +1355,19 @@ Script_earthquake: ; param (DecimalParam) ld hl, EarthquakeMovement - ld de, wd002 + ld de, wEarthquakeMovementDataBuffer ld bc, EarthquakeMovementEnd - EarthquakeMovement call CopyBytes call GetScriptByte - ld [wd003], a - and (1 << 6) - 1 - ld [wd005], a + ld [wEarthquakeMovementDataBuffer + 1], a + and %00111111 + ld [wEarthquakeMovementDataBuffer + 3], a ld b, BANK(.script) ld de, .script jp ScriptCall .script - applymovement PLAYER, wd002 + applymovement PLAYER, wEarthquakeMovementDataBuffer end EarthquakeMovement: diff --git a/engine/startmenu.asm b/engine/startmenu.asm index 2a567bf4f..871da86be 100755 --- a/engine/startmenu.asm +++ b/engine/startmenu.asm @@ -16,7 +16,7 @@ StartMenu:: ; 125cd call LoadMenuDataHeader call .SetUpMenuItems - ld a, [wd0d2] + ld a, [wBattleMenuCursorBuffer] ld [wMenuCursorBuffer], a call .DrawMenuAccount_ call DrawVariableLengthMenuBox @@ -32,7 +32,7 @@ StartMenu:: ; 125cd call UpdateSprites call UpdateTimePals call .SetUpMenuItems - ld a, [wd0d2] + ld a, [wBattleMenuCursorBuffer] ld [wMenuCursorBuffer], a .Select: @@ -40,7 +40,7 @@ StartMenu:: ; 125cd jr c, .Exit call .DrawMenuAccount ld a, [wMenuCursorBuffer] - ld [wd0d2], a + ld [wBattleMenuCursorBuffer], a call PlayClickSFX call PlaceHollowCursor call .OpenMenu diff --git a/engine/stats_screen.asm b/engine/stats_screen.asm index fef83afc7..6f098574e 100755 --- a/engine/stats_screen.asm +++ b/engine/stats_screen.asm @@ -420,7 +420,7 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea) ld d, a ld e, [hl] callba ComputeHPBarPixels - ld hl, wcda1 + ld hl, wCurHPPal call SetHPPal ld b, SCGB_STATS_SCREEN_HP_PALS call GetSGBLayout @@ -601,7 +601,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) call .CalcExpToNextLevel hlcoord 13, 13 lb bc, 3, 7 - ld de, Buffer1 ; wd1ea (aliases: MagikarpLength) + ld de, Buffer1 call PrintNum ld de, .LevelUpStr hlcoord 10, 12 @@ -649,14 +649,14 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) ld a, [hQuotient + 1] sbc [hl] dec hl - ld [Buffer2], a ; wd1eb (aliases: MovementType) + ld [Buffer2], a ld a, [hQuotient] sbc [hl] - ld [Buffer1], a ; wd1ea (aliases: MagikarpLength) + ld [Buffer1], a ret .AlreadyAtMaxLevel: - ld hl, Buffer1 ; wd1ea (aliases: MagikarpLength) + ld hl, Buffer1 xor a ld [hli], a ld [hli], a @@ -973,7 +973,7 @@ Unknown_4e32a: ; 4e32a EggStatsScreen: ; 4e33a xor a ld [hBGMapMode], a - ld hl, wcda1 + ld hl, wCurHPPal call SetHPPal ld b, SCGB_STATS_SCREEN_HP_PALS call GetSGBLayout diff --git a/engine/unowndex.asm b/engine/unowndex.asm index d7fe63dc3..007dd9790 100755 --- a/engine/unowndex.asm +++ b/engine/unowndex.asm @@ -1,7 +1,7 @@ UpdateUnownDex: ; fba18 ld a, [UnownLetter] ld c, a - ld b, 26 + ld b, NUM_UNOWN ld hl, UnownDex .loop ld a, [hli] diff --git a/engine/warp_connection.asm b/engine/warp_connection.asm index f9b379cb2..365e24ea6 100755 --- a/engine/warp_connection.asm +++ b/engine/warp_connection.asm @@ -184,7 +184,7 @@ LoadWarpData: ; 1046c6 ret z .not_mt_moon_or_tin_tower ld a, [wPrevWarp] - ld [wDigWarp], a + ld [wDigWarpNumber], a ld a, [wPrevMapGroup] ld [wDigMapGroup], a ld a, [wPrevMapNumber] diff --git a/event/halloffame.asm b/event/halloffame.asm index 5e0a20378..4f37200a4 100755 --- a/event/halloffame.asm +++ b/event/halloffame.asm @@ -489,7 +489,7 @@ DisplayHOFMon: ; 86748 hlcoord 1, 13 ld a, "â„–" ld [hli], a - ld [hl], "" + ld [hl], "" hlcoord 3, 13 ld de, wd265 lb bc, PRINTNUM_LEADINGZEROS | 1, 3 diff --git a/event/magikarp.asm b/event/magikarp.asm index 649760c1d..450a68df8 100644 --- a/event/magikarp.asm +++ b/event/magikarp.asm @@ -33,14 +33,14 @@ Special_CheckMagikarpLength: ; fbb32 call PrintText ; Did we beat the record? - ld hl, Buffer1 + ld hl, wMagikarpLength ld de, wBestMagikarpLengthFeet ld c, 2 call StringCmp jr nc, .not_long_enough ; NEW RECORD!!! Let's save that. - ld hl, Buffer1 + ld hl, wMagikarpLength ld de, wBestMagikarpLengthFeet ld a, [hli] ld [de], a @@ -93,12 +93,12 @@ INCBIN "gfx/unknown/0fbbbb.2bpp" PrintMagikarpLength: ; fbbdb call Magikarp_LoadFeetInchesChars ld hl, StringBuffer1 - ld de, Buffer1 + ld de, wMagikarpLength lb bc, PRINTNUM_RIGHTALIGN | 1, 2 call PrintNum ld [hl], "′" inc hl - ld de, Buffer2 + ld de, wMagikarpLength + 1 lb bc, PRINTNUM_RIGHTALIGN | 1, 2 call PrintNum ld [hl], "″" @@ -108,7 +108,7 @@ PrintMagikarpLength: ; fbbdb ; fbbfc CalcMagikarpLength: ; fbbfc -; Return Magikarp's length (in mm) at MagikarpLength (big endian). +; Return Magikarp's length (in mm) at wMagikarpLength (big endian). ; ; input: ; de: EnemyMonDVs @@ -125,9 +125,9 @@ CalcMagikarpLength: ; fbbfc ; bc = rrc(dv[0]) ++ rrc(dv[1]) ^ rrc(id) -; if bc < 10: [MagikarpLength] = c + 190 -; if bc ≥ $ff00: [MagikarpLength] = c + 1370 -; else: [MagikarpLength] = z × 100 + (bc − x) / y +; if bc < 10: [wMagikarpLength] = c + 190 +; if bc ≥ $ff00: [wMagikarpLength] = c + 1370 +; else: [wMagikarpLength] = z × 100 + (bc − x) / y ; X, Y, and Z depend on the value of b as follows: @@ -274,7 +274,7 @@ CalcMagikarpLength: ; fbbfc .ok ld e, a - ld hl, MagikarpLength + ld hl, wMagikarpLength ld [hl], d inc hl ld [hl], e @@ -326,9 +326,9 @@ CalcMagikarpLength: ; fbbfc Special_MagikarpHouseSign: ; fbcd2 ld a, [wBestMagikarpLengthFeet] - ld [Buffer1], a + ld [wMagikarpLength], a ld a, [wBestMagikarpLengthInches] - ld [Buffer2], a + ld [wMagikarpLength + 1], a call PrintMagikarpLength ld hl, .CurrentRecordtext call PrintText diff --git a/event/overworld.asm b/event/overworld.asm index 8b883f67f..6163a2a3b 100755 --- a/event/overworld.asm +++ b/event/overworld.asm @@ -432,7 +432,7 @@ SurfFunction: ; c909 .DoSurf: ; c95f (3:495f) call GetSurfType - ld [Buffer2], a ; wd1eb (aliases: MovementType) + ld [Buffer2], a call GetPartyNick ld hl, SurfFromMenuScript call QueueScript @@ -569,7 +569,7 @@ TrySurfOW:: ; c9e7 jr nz, .quit call GetSurfType - ld [MovementType], a + ld [Buffer2], a call GetPartyNick ld a, BANK(AskSurfScript) @@ -837,7 +837,7 @@ dig_incave ret .incave - ld hl, wDigWarp + ld hl, wDigWarpNumber ld a, [hli] and a jr z, .fail @@ -851,7 +851,7 @@ dig_incave ret .DoDig: ; cbd8 - ld hl, wDigWarp + ld hl, wDigWarpNumber ld de, wNextWarp ld bc, 3 call CopyBytes diff --git a/home/movement.asm b/home/movement.asm index c4b5b578d..781a368a9 100644 --- a/home/movement.asm +++ b/home/movement.asm @@ -3,11 +3,11 @@ InitMovementBuffer:: ; 1b1e xor a ld [wMovementBufferCount], a ld a, $0 ; useless - ld [wd004], a + ld [wUnusedMovementBufferBank], a ld a, MovementBuffer % $100 - ld [wd005], a + ld [wUnusedMovementBufferPointer], a ld a, MovementBuffer / $100 - ld [wd006], a + ld [wUnusedMovementBufferPointer + 1], a ret ; 1b35 diff --git a/items/item_effects.asm b/items/item_effects.asm index c13568a5d..f830cd22b 100644 --- a/items/item_effects.asm +++ b/items/item_effects.asm @@ -407,9 +407,9 @@ ParkBall: ; e8a2 ld de, ANIM_THROW_POKE_BALL ld a, e - ld [FXAnimIDLo], a + ld [FXAnimID], a ld a, d - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a xor a ld [hBattleTurn], a ld [Buffer2], a @@ -2945,9 +2945,9 @@ UseBallInTrainerBattle: ; f7a0 call ReturnToBattle_UseBall ld de, ANIM_THROW_POKE_BALL ld a, e - ld [FXAnimIDLo], a + ld [FXAnimID], a ld a, d - ld [FXAnimIDHi], a + ld [FXAnimID + 1], a xor a ld [wBattleAnimParam], a ld [hBattleTurn], a diff --git a/macros/charmap.asm b/macros/charmap.asm index 89398033e..2cbd07225 100644 --- a/macros/charmap.asm +++ b/macros/charmap.asm @@ -188,7 +188,7 @@ charmap "♂", $ef charmap "Â¥", $f0 charmap "×", $f1 - charmap "", $f2 ; same as "." in English + charmap "", $f2 ; same as "." in English charmap "/", $f3 charmap ",", $f4 charmap "♀", $f5 diff --git a/main.asm b/main.asm index 2ea98cd7a..40bfa7cbe 100644 --- a/main.asm +++ b/main.asm @@ -4501,13 +4501,13 @@ _SwitchPartyMons: ld b, a ld a, [wMenuCursorY] dec a - ld [Buffer2], a ; wd1eb (aliases: MovementType) + ld [Buffer2], a cp b jr z, .skip call .SwapMonAndMail ld a, [Buffer3] call .ClearSprite - ld a, [Buffer2] ; wd1eb (aliases: MovementType) + ld a, [Buffer2] call .ClearSprite .skip ret @@ -4540,7 +4540,7 @@ _SwitchPartyMons: push de push bc ld bc, PartySpecies - ld a, [Buffer2] ; wd1eb (aliases: MovementType) + ld a, [Buffer2] ld l, a ld h, $0 add hl, bc @@ -4556,8 +4556,8 @@ _SwitchPartyMons: ld [hl], a pop af ld [de], a - ld a, [Buffer2] ; wd1eb (aliases: MovementType) - ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) + ld a, [Buffer2] + ld hl, PartyMon1Species ld bc, PARTYMON_STRUCT_LENGTH call AddNTimes push hl @@ -4576,7 +4576,7 @@ _SwitchPartyMons: ld hl, wd002 ld bc, PARTYMON_STRUCT_LENGTH call CopyBytes - ld a, [Buffer2] ; wd1eb (aliases: MovementType) + ld a, [Buffer2] ld hl, PartyMonOT call SkipNames push hl @@ -4591,7 +4591,7 @@ _SwitchPartyMons: ld hl, wd002 call .CopyName ld hl, PartyMonNicknames - ld a, [Buffer2] ; wd1eb (aliases: MovementType) + ld a, [Buffer2] call SkipNames push hl call .CopyNameTowd002 @@ -4605,7 +4605,7 @@ _SwitchPartyMons: ld hl, wd002 call .CopyName ld hl, sPartyMail - ld a, [Buffer2] ; wd1eb (aliases: MovementType) + ld a, [Buffer2] ld bc, MAIL_STRUCT_LENGTH call AddNTimes push hl diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm index 8aee09a92..fa6a39fdf 100644 --- a/misc/mobile_40.asm +++ b/misc/mobile_40.asm @@ -1804,14 +1804,14 @@ Function100b12: ; 100b12 call FarCall_de ld a, BANK(BattleMenuDataHeader) ld [wMenuData2_2DMenuItemStringsBank], a - ld a, [wd0d2] + ld a, [wBattleMenuCursorBuffer] ld [wMenuCursorBuffer], a call Function100e72 call Function100b45 callba InitPartyMenuBGPal7 call Function100ed4 ld a, [wMenuCursorBuffer] - ld [wd0d2], a + ld [wBattleMenuCursorBuffer], a call ExitMenu ret ; 100b45 diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm index ce1767233..77cf9ac54 100644 --- a/misc/mobile_42.asm +++ b/misc/mobile_42.asm @@ -1313,7 +1313,7 @@ MobileTradeAnim_DisplayEggData .EggTemplate: ; 108a1d db "タマゴ" next "ãŠã‚„/?????" - next "â„–?????" + next "â„–?????" db "@" ; 108a33 @@ -1353,10 +1353,10 @@ MobileTradeAnim_LoadMonTemplate: ; 108a5b ; 108a79 .MonTemplate: ; 108a79 - db "─ â„–" + db "─ â„–" next "" next "ãŠã‚„/" - next "â„–" + next "â„–" db "@" ; 108a87 diff --git a/predef/cgb.asm b/predef/cgb.asm index 5ac243963..af762221e 100644 --- a/predef/cgb.asm +++ b/predef/cgb.asm @@ -204,7 +204,7 @@ _CGB_PokegearPals: ; 8eb9 _CGB_StatsScreenHPPals: ; 8edb ld de, UnknBGPals - ld a, [wcda1] + ld a, [wCurHPPal] ld l, a ld h, $0 add hl, hl diff --git a/predef/sgb.asm b/predef/sgb.asm index 1d8184cc2..545a8d4e8 100644 --- a/predef/sgb.asm +++ b/predef/sgb.asm @@ -168,7 +168,7 @@ Predef_LoadSGBLayout: ; 864c ld de, wSGBPals ld bc, $10 call CopyBytes - ld a, [wcda1] + ld a, [wCurHPPal] ld l, a ld h, 0 add hl, hl diff --git a/wram.asm b/wram.asm index ec828ff8f..199495499 100644 --- a/wram.asm +++ b/wram.asm @@ -251,7 +251,7 @@ wc312:: ds 1 wc313:: ds 1 wc314:: ds 152 wc3ac:: ds 8 -ENDU +ENDU ; c3b4 wSpriteAnimCount:: db wCurrSpriteOAMAddr:: db @@ -843,8 +843,8 @@ wc7d1:: ds 1 wc7d2:: ds 1 wc7d3:: ds 1 wc7d4:: ds 1 -ENDU -ENDU +ENDU ; c7e8 +ENDU ; c7e8 wc7e8:: ds 24 ; ???? @@ -901,12 +901,16 @@ wBillsPCPokemonList:: ; c800 ds 3 * 30 NEXTU ; c800 -; link data -wLinkData:: ; ds $514 +; raw link data +wLinkData:: ds $514 +wLinkDataEnd:: + +NEXTU ; c800 +; link data members wLinkPlayerName:: ds NAME_LENGTH wLinkPartyCount:: db wLinkPartySpecies:: ds PARTY_LENGTH -wLinkPartySpeciesEnd:: db +wLinkPartySpeciesEnd:: db ; legacy scripts don't check PartyCount UNION ; c813 ; time capsule party data @@ -933,9 +937,7 @@ wLinkPlayerPartyMon6:: party_struct wLinkPlayerPartyMon6 wLinkPlayerPartyMonOTNames:: ds PARTY_LENGTH * NAME_LENGTH wLinkPlayerPartyMonNicks:: ds PARTY_LENGTH * PKMN_NAME_LENGTH wLinkPlayerDataEnd:: -ENDU - ds 861 -wLinkDataEnd:: +ENDU ; c9b7 NEXTU ; c800 ; mystery gift data @@ -955,9 +957,7 @@ wc813:: ds 1 wc814:: ds 4 wc818:: ds 8 wc820:: ds 1 -wc821:: ds 15 -wc830:: ds 16 -wc840:: ds 16 +wc821:: ds 47 UNION ; c850 wMysteryGiftTrainerData:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2 @@ -975,62 +975,53 @@ wc8c0:: ds 16 wc8d0:: ds 16 wc8e0:: ds 16 wc8f0:: ds 16 -ENDU +ENDU ; c900 wMysteryGiftPartnerData:: -wc900:: ds 1 -wMysteryGiftPartnerID:: ds 2 +wc900:: db +wMysteryGiftPartnerID:: dw wMysteryGiftPartnerName:: ds NAME_LENGTH -wMysteryGiftPartnerDexCaught:: ds 1 +wMysteryGiftPartnerDexCaught:: db wc90f:: -wMysteryGiftPartnerSentDeco:: ds 1 -wMysteryGiftPartnerWhichItem:: ds 1 -wMysteryGiftPartnerWhichDeco:: ds 1 -wMysteryGiftPartnerBackupItem:: ds 2 +wMysteryGiftPartnerSentDeco:: db +wMysteryGiftPartnerWhichItem:: db +wMysteryGiftPartnerWhichDeco:: db +wMysteryGiftPartnerBackupItem:: db + ds 1 wMysteryGiftPartnerDataEnd:: - ds 12 -wc920:: ds 16 -wc930:: ds 16 -wc940:: ds 16 + + ds 60 + wMysteryGiftPlayerData:: -wc950:: ds 1 -wMysteryGiftPlayerID:: ds 2 + ds 1 +wMysteryGiftPlayerID:: dw wMysteryGiftPlayerName:: ds NAME_LENGTH -wMysteryGiftPlayerDexCaught:: ds 1 -wMysteryGiftPlayerSentDeco:: ds 1 -wMysteryGiftPlayerWhichItem:: ds 1 -wMysteryGiftPlayerWhichDeco:: ds 1 -wMysteryGiftPlayerBackupItem:: ds 2 +wMysteryGiftPlayerDexCaught:: db +wMysteryGiftPlayerSentDeco:: db +wMysteryGiftPlayerWhichItem:: db +wMysteryGiftPlayerWhichDeco:: db +wMysteryGiftPlayerBackupItem:: db + ds 1 wMysteryGiftPlayerDataEnd:: -wc964:: ds 12 -wc970:: ds 16 -wc980:: ds 16 -wc990:: ds 16 -wc9a0:: ds 16 -wc9b0:: ds 16 -wc9c0:: ds 16 -wc9d0:: ds 16 -wc9e0:: ds 16 -wc9f0:: ds 4 + ds 144 + wc9f4:: ds 5 wc9f9:: ds 7 -wCreditsFaux2bpp:: -wca00:: ds 1 -wca01:: ds 1 -wca02:: ds 14 -wca10:: ds 16 -wca20:: ds 16 -wca30:: ds 16 -wca40:: ds 16 -wca50:: ds 16 -wca60:: ds 16 -wca70:: ds 16 +UNION ; ca00 +; blank credits tile buffer +wCreditsFaux2bpp:: ds 128 - ds 35 +NEXTU ; ca00 +; mystery gift data +wca00:: db +wca01:: db +wca02:: db + ds 160 +ENDU ; caa3 -wcaa3:: ds 2 ; caa3 +wcaa3:: ds 2 wcaa5:: ds 16 wcab5:: ds 10 wcabf:: ds 10 @@ -1039,6 +1030,7 @@ wcb08:: ds 6 wcb0e:: ds 5 wcb13:: ds 9 wcb1c:: ds 14 + wBillsPC_ScrollPosition:: db wBillsPC_CursorPosition:: db wBillsPC_NumMonsInBox:: db @@ -1049,14 +1041,14 @@ wBillsPC_BackupCursorPosition:: db wBillsPC_BackupLoadedBox:: db wBillsPC_MonHasMail:: db ds 18 + wcb45:: ds 20 wcb59:: ds 20 wcb6d:: ds 1 wcb6e:: ds 22 wcb84:: ds 100 wcbe8:: dw -wLinkOTPartyMonTypes:: - ds 2 * PARTY_LENGTH +wLinkOTPartyMonTypes:: ds 2 * PARTY_LENGTH ds 84 wcc4a:: ds 22 @@ -1071,14 +1063,26 @@ wccb5:: ds 3 wccb8:: ds 1 wccb9:: ds 1 wccba:: ds 102 -ENDU +ENDU ; cd20 SECTION "Video", WRAM0 UNION ; cd20 -CreditsPos:: -BGMapBuffer:: +; BGMapBuffer +BGMapBuffer:: ds 40 ; cd20 +BGMapPalBuffer:: ds 40 ; cd48 +BGMapBufferPtrs:: ds 40 ; cd70 ; 20 bg map addresses (16x8 tiles) +BGMapBufferEnd:: + +NEXTU ; cd20 +; credits +CreditsPos:: db +CreditsUnusedCD21:: db +CreditsTimer:: db + +NEXTU ; cd20 +; mobile data wMobileMonSpeciesPointerBuffer:: dw wMobileMonStructurePointerBuffer:: dw wMobileMonOTNamePointerBuffer:: dw @@ -1086,12 +1090,10 @@ wMobileMonNicknamePointerBuffer:: dw wMobileMonMailPointerBuffer:: dw NEXTU ; cd20 +; more mobile data wcd20:: ds 1 wcd21:: ds 1 -wcd22:: -CreditsTimer:: ; cd22 - ds 1 - +wcd22:: ds 1 wcd23:: ds 1 wcd24:: ds 1 wMobileCommsJumptableIndex:: ds 1 ; cd25 @@ -1099,11 +1101,11 @@ wcd26:: ds 1 wcd27:: ds 1 wcd28:: ds 1 wcd29:: ds 1 -ENDU wMobileMonSpeciesBuffer:: -wcd2a:: ds 1 -wTempOddEggNickname:: +wcd2a:: db + +wTempOddEggNickname:: ; ds 11 wcd2b:: ds 1 wcd2c:: ds 1 wcd2d:: ds 1 @@ -1117,9 +1119,9 @@ wcd34:: ds 1 wcd35:: ds 1 ; current time for link/mobile? -wcd36:: ds 1 ; hours -wcd37:: ds 1 ; mins -wcd38:: ds 1 ; secs +wcd36:: db ; hours +wcd37:: db ; mins +wcd38:: db ; secs wcd39:: ds 1 wcd3a:: ds 1 @@ -1134,29 +1136,31 @@ wcd42:: ds 1 wcd43:: ds 1 ; some sort of timer in link battles -wMobileInactivityTimerMinutes:: ds 1 ; mins -wMobileInactivityTimerSeconds:: ds 1 ; secs -wMobileInactivityTimerFrames:: ds 1 ; frames - +wMobileInactivityTimerMinutes:: db ; mins +wMobileInactivityTimerSeconds:: db ; secs +wMobileInactivityTimerFrames:: db ; frames wcd47:: ds 1 -BGMapPalBuffer:: ; cd48 - ds 1 ; 40 + ds 1 wBTTempOTSprite:: -wcd49:: ds 1 +wcd49:: db + wcd4a:: ds 1 wcd4b:: ds 1 + wEZChatCursorXCoord:: -wcd4c:: ds 1 +wcd4c:: db wEZChatCursorYCoord:: -wcd4d:: ds 1 +wcd4d:: db + wcd4e:: ds 1 wcd4f:: ds 1 wcd50:: ds 1 wcd51:: ds 1 wcd52:: ds 1 -wMobileOpponentBattleMessage:: ; dc $c + +wMobileOpponentBattleMessage:: ; ds 12 wcd53:: ds 1 wcd54:: ds 1 wcd55:: ds 1 @@ -1184,18 +1188,15 @@ wcd6b:: ds 1 wcd6c:: ds 1 wcd6d:: ds 1 wcd6e:: ds 1 -wcd6f:: ds 1 - -BGMapBufferPtrs:: ; cd70 -; 20 bg map addresses (16x8 tiles) - ds 1 ; 40 - +wcd6f:: ds 2 wcd71:: ds 1 wcd72:: ds 1 wcd73:: ds 1 wcd74:: ds 1 + wOTMonSelection:: ds 2 ; ds 3 wcd77:: ds 1 + wcd78:: ds 1 wcd79:: ds 1 wcd7a:: ds 2 @@ -1212,17 +1213,18 @@ wcd8a:: ds 1 wcd8b:: ds 1 wcd8c:: ds 1 wcd8d:: ds 11 -BGMapBufferEnd:: +ENDU ; cd98 -SGBPredef:: ; cd98 - ds 1 -PlayerHPPal:: ; cd99 - ds 1 -EnemyHPPal:: ; cd9a - ds 1 +SGBPredef:: db ; cd98 + +PlayerHPPal:: db ; cd99 +EnemyHPPal:: db ; cd9a wHPPals:: ds PARTY_LENGTH -wcda1:: ds 8 +wCurHPPal:: db + + ds 7 + wSGBPals:: ds 48 ; cda9 AttrMap:: ; cdd9 @@ -1237,101 +1239,123 @@ AttrMap:: ; cdd9 ds SCREEN_WIDTH * SCREEN_HEIGHT AttrMapEnd:: -UNION - ds 1 -wcf42:: ds 2 -wcf44:: ds 1 -wcf45:: - -NEXTU -wTileAnimBuffer:: - ds $10 +UNION ; cf41 ; addresses dealing with serial comms -ENDU + ds 1 +wcf42:: db + ds 1 +wcf44:: db +wcf45:: db -wOtherPlayerLinkMode:: ds 1 -wOtherPlayerLinkAction:: ds 4 -wPlayerLinkAction:: ds 1 -wcf57:: ds 4 +NEXTU ; cf41 +wTileAnimBuffer:: ds 1 tiles +ENDU ; cf51 + +; link data +wOtherPlayerLinkMode:: db +wOtherPlayerLinkAction:: db + ds 3 +wPlayerLinkAction:: db +wcf57:: db + ds 3 wLinkTimeoutFrames:: dw ; cf5b -wcf5d:: ds 2 +wcf5d:: dw + +MonType:: db ; cf5f + +CurSpecies:: +CurMove:: db ; cf60 + +wNamedObjectTypeBuffer:: db -MonType:: ; cf5f ds 1 -CurSpecies:: ; cf60 -CurMove:: - ds 1 - -wNamedObjectTypeBuffer:: ds 1 - ds 1 -wJumptableIndex:: wBattleTowerBattleEnded:: -wcf63:: ds 1 +wJumptableIndex:: db + +UNION ; cf64 +; unidentified +wcf64:: db +wcf65:: db +wcf66:: db + +NEXTU ; cf64 +; intro and title data +wIntroSceneFrameCounter:: db +wTitleScreenTimer:: dw + +NEXTU ; cf64 +; credits data +wCreditsBorderFrame:: db +wCreditsBorderMon:: db +wCreditsLYOverride:: db + +NEXTU ; cf64 +; unown puzzle data +wHoldingUnownPuzzlePiece:: db +wUnownPuzzleCursorPosition:: db +wUnownPuzzleHeldPiece:: db + +NEXTU ; cf64 +; card flip data +wCardFlipCursorY:: db +wCardFlipCursorX:: db +wCardFlipWhichCard:: db + +NEXTU ; cf64 +; pokedex +wDexEntryPrevJumptableIndex:: db +IF !DEF(CRYSTAL11) +wPokedexStatus:: db +ENDC + +NEXTU ; cf64 +; miscellaneous wNrOfBeatenBattleTowerTrainers:: wMomBankDigitCursorPosition:: -wIntroSceneFrameCounter:: -wHoldingUnownPuzzlePiece:: -wCardFlipCursorY:: -wCreditsBorderFrame:: -wDexEntryPrevJumptableIndex:: -wcf64:: ds 1 -IF !DEF(CRYSTAL11) -wPokedexStatus:: -ENDC -wCreditsBorderMon:: -wTitleScreenTimerLo:: -wUnownPuzzleCursorPosition:: -wCardFlipCursorX:: + db wCurrPocket:: wPrinterQueueLength:: -wcf65:: ds 1 -wCreditsLYOverride:: -wTitleScreenTimerHi:: -wUnownPuzzleHeldPiece:: -wCardFlipWhichCard:: -wcf66:: ds 1 + db +ENDU ; cf67 -Requested2bpp:: ; cf67 -Requested2bppSize:: - ds 1 -Requested2bppSource:: ; cf68 - ds 2 -Requested2bppDest:: ; cf6a - ds 2 +Requested2bpp:: +Requested2bppSize:: db ; cf67 +Requested2bppSource:: dw ; cf68 +Requested2bppDest:: dw ; cf6a -Requested1bpp:: ; cf6c -Requested1bppSize:: - ds 1 -Requested1bppSource:: ; cf6d - ds 2 -Requested1bppDest:: ; cf6f - ds 2 +Requested1bpp:: +Requested1bppSize:: db ; cf6c +Requested1bppSource:: dw ; cf6d +Requested1bppDest:: dw ; cf6f wWindowStackPointer:: dw ; cf71 -wMenuJoypad:: ds 1 ; cf73 -MenuSelection:: ds 1 ; cf74 -MenuSelectionQuantity:: ds 1 ; cf75 -wWhichIndexSet:: ds 1 ; cf76 -wScrollingMenuCursorPosition:: ds 1 ; cf77 -wWindowStackSize:: ds 9 ; cf78 +wMenuJoypad:: db ; cf73 +MenuSelection:: db ; cf74 +MenuSelectionQuantity:: db ; cf75 +wWhichIndexSet:: db ; cf76 +wScrollingMenuCursorPosition:: db ; cf77 +wWindowStackSize:: db ; cf78 + + ds 8 ; menu data header wMenuDataHeader:: ; cf81 -wMenuFlags:: ds 1 -wMenuBorderTopCoord:: ds 1 -wMenuBorderLeftCoord:: ds 1 -wMenuBorderBottomCoord:: ds 1 -wMenuBorderRightCoord:: ds 1 -wMenuData2Pointer:: ds 2 -wMenuCursorBuffer:: ds 2 -; end menu data header -wMenuDataBank:: ds 1 ; menu data bank? +wMenuFlags:: db +wMenuBorderTopCoord:: db +wMenuBorderLeftCoord:: db +wMenuBorderBottomCoord:: db +wMenuBorderRightCoord:: db +wMenuData2Pointer:: dw +wMenuCursorBuffer:: dw +wMenuDataBank:: db ds 6 wMenuDataHeaderEnd:: wMenuData2:: -wMenuData2Flags:: ds 1 ; cf91 +UNION ; cf91 +; MenuData2 +wMenuData2Flags:: ; cf91 ; bit 7: When set, start printing text one tile to the right of the border ; In scrolling menus, SELECT is functional ; bit 6: When set, start printing text one tile below the border @@ -1342,104 +1366,98 @@ wMenuData2Flags:: ds 1 ; cf91 ; bit 2: ???? ; bit 1: Enable Select button ; bit 0: Disable B button + db +wMenuData2Items:: db ; cf92 +wMenuData2IndicesPointer:: dw ; cf94 +wMenuData2DisplayFunctionPointer:: dw ; cf96 +wMenuData2PointerTableAddr:: dw ; cf97 -wMenuData2_ScrollingMenuHeight:: -wMenuData2Items:: - ds 1 ; cf92 -wMenuData2IndicesPointer:: -wMenuData2Spacing:: -wMenuData2_ScrollingMenuWidth:: - ds 1 ; cf93 -wMenuData2_2DMenuItemStringsBank:: -wMenuData2_ScrollingMenuSpacing:: - ds 1 ; cf94 -wMenuData2_2DMenuItemStringsAddr:: -wMenuData2DisplayFunctionPointer:: -wMenuData2_ItemsPointerBank:: - ds 1 ; cf95 -wMenuData2_ItemsPointerAddr:: - ds 1 ; cf96 -wMenuData2PointerTableAddr:: -wMenuData2_2DMenuFunctionBank:: - ds 1 ; cf97 -wMenuData2_2DMenuFunctionAddr:: -wMenuData2_ScrollingMenuFunction1:: - ds 3 ; cf98 -wMenuData2_ScrollingMenuFunction2:: - ds 3 ; cf9b -wMenuData2_ScrollingMenuFunction3:: - ds 3 ; cf9e +NEXTU ; cf91 +; 2D menu + ds 2 ; cf91 +wMenuData2Spacing:: db ; cf93 +wMenuData2_2DMenuItemStringsBank:: db ; cf94 +wMenuData2_2DMenuItemStringsAddr:: dw ; cf96 +wMenuData2_2DMenuFunctionBank:: db ; cf97 +wMenuData2_2DMenuFunctionAddr:: dw ; cf98 + +NEXTU ; cf91 +; scrolling menu + ds 1 ; cf91 +wMenuData2_ScrollingMenuHeight:: db ; cf92 +wMenuData2_ScrollingMenuWidth:: db ; cf93 +wMenuData2_ScrollingMenuSpacing:: db ; cf94 +wMenuData2_ItemsPointerBank:: db ; cf95 +wMenuData2_ItemsPointerAddr:: dw ; cf97 +wMenuData2_ScrollingMenuFunction1:: ds 3 ; cf98 +wMenuData2_ScrollingMenuFunction2:: ds 3 ; cf9b +wMenuData2_ScrollingMenuFunction3:: ds 3 ; cf9e +ENDU ; cfa1 wMenuData2End:: wMenuData3:: -w2DMenuCursorInitY:: ds 1 ; cfa1 -w2DMenuCursorInitX:: ds 1 ; cfa2 -w2DMenuNumRows:: ds 1 ; cfa3 -w2DMenuNumCols:: ds 1 ; cfa4 -w2DMenuFlags1:: ds 1 ; cfa5 -w2DMenuFlags2:: ds 1 ; cfa6 -w2DMenuCursorOffsets:: ds 1 ; cfa7 -wMenuJoypadFilter:: ds 1 ; cfa8 +w2DMenuCursorInitY:: db ; cfa1 +w2DMenuCursorInitX:: db ; cfa2 +w2DMenuNumRows:: db ; cfa3 +w2DMenuNumCols:: db ; cfa4 +w2DMenuFlags1:: db ; cfa5 +w2DMenuFlags2:: db ; cfa6 +w2DMenuCursorOffsets:: db ; cfa7 +wMenuJoypadFilter:: db ; cfa8 wMenuData3End:: -wMenuCursorY:: ds 1 ; cfa9 -wMenuCursorX:: ds 1 ; cfaa -wCursorOffCharacter:: ds 1 ; cfab -wCursorCurrentTile:: ds 2 ; cfac +wMenuCursorY:: db ; cfa9 +wMenuCursorX:: db ; cfaa +wCursorOffCharacter:: db ; cfab +wCursorCurrentTile:: dw ; cfac + ds 3 -OverworldDelay:: ; cfb1 - ds 1 -TextDelayFrames:: ; cfb2 - ds 1 -VBlankOccurred:: ; cfb3 - ds 1 +OverworldDelay:: db ; cfb1 +TextDelayFrames:: db ; cfb2 +VBlankOccurred:: db ; cfb3 -PredefID:: ; cfb4 - ds 1 -PredefTemp:: ; cfb5 - ds 2 -PredefAddress:: ; cfb7 - ds 2 -wFarCallBCBuffer:: ; cfb9 - ds 2 +PredefID:: db ; cfb4 +PredefTemp:: dw ; cfb5 +PredefAddress:: dw ; cfb7 +wFarCallBCBuffer:: dw ; cfb9 + +wcfbb:: db -wcfbb:: ds 1 GameTimerPause:: ; cfbc ; bit 0 - ds 1 + db ds 1 -wcfbe:: -; SGB flags? - ds 2 +wcfbe:: ; SGB flags? +; bit 7 + db + + ds 1 InBattleTowerBattle:: ; cfc0 ; 0 not in BattleTower-Battle ; 1 BattleTower-Battle - ds 1 + db ds 1 -FXAnimID:: -FXAnimIDLo:: ; cfc2 - ds 1 -FXAnimIDHi:: ; cfc3 - ds 1 -wPlaceBallsX:: ; cfc4 - ds 1 -wPlaceBallsY:: ; cfc5 - ds 1 -TileAnimationTimer:: ; cfc6 - ds 1 +FXAnimID:: dw ; cfc2 + +wPlaceBallsX:: db ; cfc4 +wPlaceBallsY:: db ; cfc5 + +TileAnimationTimer:: db ; cfc6 ; palette backups? -wBGP:: ds 1 -wOBP0:: ds 1 -wOBP1:: ds 1 +wBGP:: db +wOBP0:: db +wOBP1:: db -wNumHits:: ds 2 +wNumHits:: db + + ds 1 Options:: ; cfcc ; bit 0-2: number of frames to delay when printing text @@ -1449,16 +1467,12 @@ Options:: ; cfcc ; bit 5: stereo off/on ; bit 6: battle style shift/set ; bit 7: battle scene off/on - ds 1 - -wSaveFileExists:: ds 1 - + db +wSaveFileExists:: db TextBoxFrame:: ; cfce ; bits 0-2: textbox frame 0-7 - ds 1 -TextBoxFlags:: - ds 1 - + db +TextBoxFlags:: db GBPrinter:: ; cfd0 ; bit 0-6: brightness ; lightest: $00 @@ -1466,22 +1480,19 @@ GBPrinter:: ; cfd0 ; normal: $40 (default) ; darker: $60 ; darkest: $7F - ds 1 - + db Options2:: ; cfd1 ; bit 1: menu account off/on - ds 1 - + db ds 2 OptionsEnd:: ; Time buffer, for counting the amount of time since ; an event began. - -wSecondsSince:: ds 1 -wMinutesSince:: ds 1 -wHoursSince:: ds 1 -wDaysSince:: ds 1 +wSecondsSince:: db +wMinutesSince:: db +wHoursSince:: db +wDaysSince:: db SECTION "WRAM 1", WRAMX @@ -1492,21 +1503,24 @@ wd000:: ds 1 DefaultSpawnpoint:: db UNION ; d002 +; mail temp storage wTempMail:: mailmsg wTempMail NEXTU ; d002 -wSeerAction:: ds 1 +; poke seer +wSeerAction:: db wSeerNickname:: ds PKMN_NAME_LENGTH wSeerCaughtLocation:: ds 17 wSeerTimeOfDay:: ds NAME_LENGTH wSeerOTName:: ds NAME_LENGTH -wSeerOTNameGrammar:: ds 1 +wSeerOTNameGrammar:: db wSeerCaughtLevelString:: ds 4 -wSeerCaughtLevel:: ds 1 -wSeerCaughtData:: ds 1 -wSeerCaughtGender:: ds 1 +wSeerCaughtLevel:: db +wSeerCaughtData:: db +wSeerCaughtGender:: db NEXTU ; d002 +; mon buffer wBufferMonNick:: ds PKMN_NAME_LENGTH ; d002 wBufferMonOT:: ds NAME_LENGTH ; d00d wBufferMon:: party_struct wBufferMon ; d018 @@ -1514,6 +1528,7 @@ wBufferMon:: party_struct wBufferMon ; d018 wMonOrItemNameBuffer:: NEXTU ; d002 +; bug-catching contest wBugContestResults:: bugcontestwinner wBugContestFirstPlace bugcontestwinner wBugContestSecondPlace @@ -1524,88 +1539,120 @@ wBugContestWinnersEnd:: wBugContestWinnerName:: ds NAME_LENGTH NEXTU ; d002 -wd002:: -wTempDayOfWeek:: -wApricorns:: -PhoneScriptBank:: -LuckyNumberDigit1Buffer:: -wCurrentRadioLine:: -wMovementBufferCount:: -wMartItem1BCD:: -wWhichBoxMonToPrint:: - ds 1 -wd003:: -LuckyNumberDigit2Buffer:: -PhoneCallerLo:: -wNextRadioLine:: -wMovementBufferPerson:: -wPlaceBallsDirection:: -wFinishedPrintingBox:: - ds 1 -wd004:: -LuckyNumberDigit3Buffer:: -PhoneCallerHi:: -wRadioTextDelay:: -wTrainerHUDTiles:: -wAddrOfBoxToPrint:: - ds 1 -wd005:: -LuckyNumberDigit4Buffer:: -StartFlypoint:: ; d005 -wNumRadioLinesPrinted:: -wMartItem2BCD:: - ds 1 -wd006:: -wMobileParticipant1Nickname:: -LuckyNumberDigit5Buffer:: -EndFlypoint:: ; d006 -wOaksPkmnTalkSegmentCounter:: -wBankOfBoxToPrint:: - ds 1 +; mart items +wMartItem1BCD:: ds 3 +wMartItem2BCD:: ds 3 +wMartItem3BCD:: ds 3 +wMartItem4BCD:: ds 3 +wMartItem5BCD:: ds 3 +wMartItem6BCD:: ds 3 +wMartItem7BCD:: ds 3 +wMartItem8BCD:: ds 3 +wMartItem9BCD:: ds 3 +wMartItem10BCD:: ds 3 +wMartItemBCDEnd:: -wd007:: -wWhichBoxToPrint:: -MovementBuffer:: ; d007 - ds 1 +NEXTU ; d002 +; town map data +wTownMapPlayerIconLandmark:: ds 1 +UNION +wTownMapCursorLandmark:: ds 1 +wTownMapCursorObjectPointer:: ds 2 +NEXTU +wTownMapCursorCoordinates:: ds 2 +ENDU -wMartItem3BCD:: -wd008:: ds 2 -wd00a:: ds 1 -wMartItem4BCD:: -wd00b:: ds 1 +NEXTU ; d002 +; phone call data +PhoneScriptBank:: db +PhoneCallerLo:: db +PhoneCallerHi:: db -UNION ; d00c +NEXTU ; d002 +; radio data +wCurrentRadioLine:: db +wNextRadioLine:: db +wRadioTextDelay:: db +wNumRadioLinesPrinted:: db +wOaksPkmnTalkSegmentCounter:: db + ds 5 wRadioText:: ds 2 * SCREEN_WIDTH wRadioTextEnd:: -NEXTU ; d00c -wMobileParticipant2Nickname:: +NEXTU ; d002 +; lucky number show +LuckyNumberDigit1Buffer:: db +LuckyNumberDigit2Buffer:: db +LuckyNumberDigit3Buffer:: db +LuckyNumberDigit4Buffer:: db +LuckyNumberDigit5Buffer:: db + +NEXTU ; d002 +; movement buffer data +wMovementBufferCount:: db +wMovementBufferPerson:: db +wUnusedMovementBufferBank:: db +wUnusedMovementBufferPointer:: dw +MovementBuffer:: ds 55 + +NEXTU ; d002 +; box printing +wWhichBoxMonToPrint:: db +wFinishedPrintingBox:: db +wAddrOfBoxToPrint:: dw +wBankOfBoxToPrint:: db +wWhichBoxToPrint:: db + +NEXTU ; d002 +; trainer HUD data + ds 1 +wPlaceBallsDirection:: db +wTrainerHUDTiles:: db + +NEXTU ; d002 +; mobile participant nicknames + ds 4 +wMobileParticipant1Nickname:: ds 6 +wMobileParticipant2Nickname:: ds 6 +wMobileParticipant3Nickname:: ds 6 + +NEXTU ; d002 +; earthquake data buffer +wEarthquakeMovementDataBuffer:: ds 5 + +NEXTU ; d002 +; miscellaneous +wTempDayOfWeek:: +wApricorns:: db + ds 2 + +StartFlypoint:: db +EndFlypoint:: db + +NEXTU ; d002 +; unidentified +wd002:: db +wd003:: db +wd004:: db + +; mobile? + ds 3 +wd008:: ds 2 + ds 2 wd00c:: ds 1 wd00d:: ds 1 -wMartItem5BCD:: -wd00e:: ds 1 + ds 1 wd00f:: ds 1 wd010:: ds 1 -wMartItem6BCD:: wd011:: ds 1 -wMobileParticipant3Nickname:: wd012:: ds 1 wd013:: ds 1 -wMartItem7BCD:: wd014:: ds 2 -wd016:: ds 1 -wMartItem8BCD:: + ds 1 wd017:: ds 1 - wd018:: ds 1 wd019:: ds 1 -wMartItem9BCD:: -wd01a:: ds 3 -wMartItem10BCD:: ds 2 -wd01f:: ds 1 -wMartItemBCDEnd:: - ds 13 - + ds 19 wd02d:: ds 1 wd02e:: ds 1 wd02f:: ds 1 @@ -1615,80 +1662,104 @@ wd032:: ds 1 wd033:: ds 1 wd034:: ds 2 wd036:: ds 2 -wd038:: ds 3 -wd03b:: ds 3 -ENDU + ds 6 -MenuItemsList:: -CurFruitTree:: -CurInput:: -wElevatorPointerBank:: -wCurCoordEventTriggerID:: -wCurSignpostYCoord:: -EngineBuffer1:: ; d03e - ds 1 +UNION ; d03e +; engine buffers +EngineBuffer1:: db +EngineBuffer2:: db +EngineBuffer3:: db +EngineBuffer4:: db +EngineBuffer5:: db -wd03f:: -wJumpStdScriptBuffer:: -CurFruit:: ; d03f -MartPointerBank:: -wElevatorPointerLo:: -wCurCoordEventMapY:: -wCurSignpostXCoord:: -EngineBuffer2:: - ds 1 - -wd040:: -wElevatorPointerHi:: -MartPointer:: ; d040 -wCurCoordEventMapX:: -wCurSignpostType:: -EngineBuffer3:: - ds 1 - -wd041:: -wElevatorOriginFloor:: -wTempTrainerHeader:: -wTempTrainerEventFlagLo:: -wCurSignpostScriptAddr:: -EngineBuffer4:: - ds 1 - -wTempTrainerEventFlagHi:: -MovementAnimation:: ; d042 -wCurCoordEventScriptAddr:: -EngineBuffer5:: - ds 1 - -wTempTrainerClass:: -WalkingDirection:: ; d043 -wBargainShopFlags:: - ds 1 - -wTempTrainerID:: -FacingDirection:: ; d044 - ds 1 - -wSeenTextPointer:: -WalkingX:: -wd045:: ; d045 - ds 1 -WalkingY:: ; d046 - ds 1 - -WalkingTile:: ; d047 -wWinTextPointer:: - ds 1 - -wPhoneScriptPointer:: ds 1 -wLossTextPointer:: ds 2 -wScriptAfterPointer:: ds 2 -wRunningTrainerBattleScript:: ds 1 +NEXTU ; d03e +; menu items list +MenuItemsList:: ds 16 MenuItemsListEnd:: + +NEXTU ; d03e +; fruit tree data +CurFruitTree:: db +CurFruit:: db + +NEXTU ; d03e +; elevator data +wElevatorPointerBank:: db +wElevatorPointerLo:: db +wElevatorPointerHi:: db +wElevatorOriginFloor:: db + +NEXTU ; d03e +; coord event data +wCurCoordEventTriggerID:: db +wCurCoordEventMapY:: db +wCurCoordEventMapX:: db + ds 1 +wCurCoordEventScriptAddr:: dw + +NEXTU ; d03e +; signpost data +wCurSignpostYCoord:: db +wCurSignpostXCoord:: db +wCurSignpostType:: db +wCurSignpostScriptAddr:: dw + +NEXTU ; d03e +; mart data + ds 1 +MartPointerBank:: db +MartPointer:: dw + ds 1 +wBargainShopFlags:: db + +NEXTU ; d03e +; trainer data + ds 3 +wTempTrainerHeader:: +wTempTrainerEventFlagLo:: db +wTempTrainerEventFlagHi:: db +wTempTrainerClass:: db +wTempTrainerID:: db +wSeenTextPointer:: dw +wWinTextPointer:: dw +wLossTextPointer:: dw +wScriptAfterPointer:: dw +wRunningTrainerBattleScript:: db wTempTrainerHeaderEnd:: -wPlayerTurningDirection:: ; d04e - ds 24 -ENDU + +NEXTU ; d03e +; player movement data +CurInput:: db +wd03f:: db +wd040:: db +wd041:: db +MovementAnimation:: db +WalkingDirection:: db +FacingDirection:: db +WalkingX:: db +WalkingY:: db +WalkingTile:: db + ds 6 +wPlayerTurningDirection:: db + +NEXTU ; d03e +; std script buffer + ds 1 +wJumpStdScriptBuffer:: ds 3 + +NEXTU ; d03e +; phone script pointer + ds 10 +wPhoneScriptPointer:: dw + +NEXTU ; d03e +; backup menu data + ds 7 +wMenuCursorBufferBackup:: db +wMenuScrollPositionBackup:: db + ds 31 +ENDU ; d066 +ENDU ; d066 wTMHMMoveNameBackup:: ds MOVE_NAME_LENGTH ; d066 @@ -1698,7 +1769,7 @@ StringBuffer3:: ds 19 ; d099 StringBuffer4:: ds 19 ; d0ac StringBuffer5:: ds 19 ; d0bf -wd0d2:: ds 2 +wBattleMenuCursorBuffer:: dw ; d0d2 CurBattleMon:: db ; d0d4 CurMoveNum:: db ; d0d5 @@ -1719,15 +1790,18 @@ wKeyItemsPocketScrollPosition:: db wBallsPocketScrollPosition:: db wTMHMPocketScrollPosition:: db -wMoveSwapBuffer:: wSwitchMon:: wSwitchItem:: +wMoveSwapBuffer:: wd0e3:: ds 1 + wMenuScrollPosition:: ds 4 -wQueuedScriptBank:: ds 1 -wQueuedScriptAddr:: ds 2 -wNumMoves:: -wd0eb:: ds 1 + +wQueuedScriptBank:: db +wQueuedScriptAddr:: dw + +wNumMoves:: db + wFieldMoveSucceeded:: wItemEffectSucceeded:: wPlayerAction:: @@ -1735,7 +1809,7 @@ wPlayerAction:: ; 1 - use item ; 2 - switch wSolvedUnownPuzzle:: - ds 1 ; d0ec + db ; d0ec VramState:: ; d0ed ; bit 0: overworld sprite updating on/off @@ -1764,7 +1838,7 @@ wCurMessageIndex:: db wMailboxCount:: db wMailboxItems:: ds MAILBOX_CAPACITY wMailboxEnd:: ds 1 ; d0fe -ENDU +ENDU ; d100 wListPointer:: dw ; d100 wUnusedD102:: dw ; d102 @@ -1845,8 +1919,8 @@ UsedSpritesEnd:: NEXTU ; d154 ds 31 -wd173:: ds 1 ; related to command queue type 3 -ENDU +wd173:: db ; related to command queue type 3 +ENDU ; d194 wOverworldMapAnchor:: dw ; d194 wMetatileStandingY:: db ; d196 @@ -1929,7 +2003,16 @@ EvolvableFlags:: flag_array PARTY_LENGTH ; d1e8 wForceEvolution:: db ; d1e9 -UNION +UNION ; d1ea +; general-purpose buffers +Buffer1:: db ; d1ea +Buffer2:: db ; d1eb +Buffer3:: db ; d1ec +Buffer4:: db ; d1ed +Buffer5:: db ; d1ee +Buffer6:: db ; d1ef + +NEXTU ; d1ea ; HP bar animations wCurHPAnimMaxHP:: dw ; d1ea wCurHPAnimOldHP:: dw ; d1ec @@ -1941,41 +2024,40 @@ wCurHPAnimDeltaHP:: dw ; d1f3 wCurHPAnimLowHP:: db ; d1f5 wCurHPAnimHighHP:: db ; d1f6 -NEXTU -MagikarpLength:: -wEvolutionOldSpecies:: -Buffer1:: ; d1ea - ds 1 -MovementType:: -wEvolutionNewSpecies:: -Buffer2:: ; d1eb - ds 1 -wEvolutionPicOffset:: -Buffer3:: +NEXTU ; d1ea +; evolution data +wEvolutionOldSpecies:: db ; d1ea +wEvolutionNewSpecies:: db ; d1eb +wEvolutionPicOffset:: db ; d1ec +wEvolutionCanceled:: db ; d1ed + +NEXTU ; d1ea +; mobile + ds 2 wd1ec:: ds 1 -wEvolutionCanceled:: -Buffer4:: wd1ed:: ds 1 -Buffer5:: wd1ee:: ds 1 -Buffer6:: wd1ef:: ds 1 wd1f0:: ds 1 -CurEnemyItem:: wd1f1:: ds 1 wd1f2:: ds 1 -wd1f3:: ds 1 -wd1f4:: ds 1 -wd1f5:: ds 1 -wd1f6:: - ds 4 -ENDU +wd1f3:: ds 4 -LinkBattleRNs:: ; d1fa - ds 10 +NEXTU ; d1ea +; miscellaneous +wMagikarpLength:: dw +wSelectedDecoration:: db +wOtherDecoration:: db + ds 3 +CurEnemyItem:: db +ENDU ; d1f7 -TempEnemyMonSpecies:: ds 1 ; d204 -TempBattleMonSpecies:: ds 1 ; d205 + ds 3 + +LinkBattleRNs:: ds 10 ; d1fa + +TempEnemyMonSpecies:: db ; d204 +TempBattleMonSpecies:: db ; d205 EnemyMon:: battle_struct EnemyMon ; d206 EnemyMonBaseStats:: ds 5 ; d226 @@ -2040,6 +2122,7 @@ BaseEggGroups:: db ; d24d BaseTMHM:: flag_array NUM_TM_HM_TUTOR ; d24e CurDamage:: dw ; d256 + ds 2 wMornEncounterRate:: db ; d25a @@ -2068,7 +2151,7 @@ TimeOfDay:: db ; d269 SECTION "Enemy Party", WRAMX -UNION +UNION ; d26b wPokedexShowPointerAddr:: wd26b:: ds 1 wd26c:: ds 1 @@ -2077,33 +2160,35 @@ wd26d:: ds 1 ds 3 wd271:: ds 5 -NEXTU +NEXTU ; d26b ; SECTION "Enemy Party", WRAMX OTPlayerName:: ds NAME_LENGTH ; d26b -ENDU +ENDU ; d276 OTPlayerID:: ds 2 ; d276 ds 8 OTPartyCount:: ds 1 ; d280 OTPartySpecies:: ds PARTY_LENGTH ; d281 -OTPartyEnd:: ds 1 +OTPartyEnd:: ds 1 ; legacy scripts don't check PartyCount -UNION -wDudeBag:: ; d288 -wDudeNumItems:: ds 1 +UNION ; d288 +; catch tutorial dude pack +wDudeBag:: +wDudeNumItems:: db wDudeItems:: ds 2 * 4 -wDudeItemsEnd:: ds 1 +wDudeItemsEnd:: db -wDudeNumKeyItems:: ds 1 ; d292 +wDudeNumKeyItems:: db ; d292 wDudeKeyItems:: ds 18 -wDudeKeyItemsEnd:: ds 1 +wDudeKeyItemsEnd:: db -wDudeNumBalls:: ds 1 ; d2a6 +wDudeNumBalls:: db ; d2a6 wDudeBalls:: ds 2 * 4 ; d2a7 -wDudeBallsEnd:: ds 1 ; d2af +wDudeBallsEnd:: db ; d2af wDudeBagEnd:: -NEXTU +NEXTU ; d288 +; ot party mons OTPartyMons:: OTPartyMon1:: party_struct OTPartyMon1 ; d288 OTPartyMon2:: party_struct OTPartyMon2 ; d2b8 @@ -2117,72 +2202,66 @@ OTPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH ; d3a8 OTPartyMonNicknames:: ds PKMN_NAME_LENGTH * PARTY_LENGTH ; d3ea OTPartyDataEnd:: ds 4 -ENDU +ENDU ; d430 wd430:: -wBattleAction:: ds 1 ; d430 +wBattleAction:: db ; d430 -wd431:: ds 1 -MapStatus:: ; d432 - ds 1 +wd431:: db +MapStatus:: db ; d432 MapEventStatus:: ; d433 ; 0: do map events ; 1: do background events - ds 1 + db ScriptFlags:: ; d434 ; bit 3: priority jump - ds 1 + db ScriptFlags2:: ; d435 - ds 1 + db ScriptFlags3:: ; d436 ; bit 0: count steps ; bit 1: xy triggers ; bit 2: warps and connections ; bit 4: wild encounters ; bit 5: unknown - ds 1 + db -ScriptMode:: ; d437 - ds 1 -ScriptRunning:: ; d438 - ds 1 -ScriptBank:: ; d439 - ds 1 -ScriptPos:: ; d43a - ds 2 +ScriptMode:: db ; d437 +ScriptRunning:: db ; d438 +ScriptBank:: db ; d439 +ScriptPos:: dw ; d43a -wScriptStackSize:: ds 1 +wScriptStackSize:: db wScriptStack:: ds 3 * 5 ds 1 -ScriptDelay:: ; d44d - ds 1 +ScriptDelay:: db ; d44d wPriorityScriptBank:: -wScriptTextBank:: - ds 1 ; d44e +wScriptTextBank:: db ; d44e wPriorityScriptAddr:: -wScriptTextAddr:: ds 2 ; d44f +wScriptTextAddr:: dw ; d44f ds 1 -wWildEncounterCooldown:: ds 1 ; d452 -wXYComparePointer:: ds 2 ; d453 +wWildEncounterCooldown:: db ; d452 +wXYComparePointer:: dw ; d453 ds 4 -wBattleScriptFlags:: ds 2 ; d459 -wPlayerSpriteSetupFlags:: ds 1 ; d45b +wBattleScriptFlags:: dw ; d459 +wPlayerSpriteSetupFlags:: ; d45b ; bit 7: if set, cancel PlayerAction ; bit 5: if set, set facing according to bits 0-1 ; bits 0-1: direction facing -wMapReentryScriptQueueFlag:: ds 1 ; d45c MemScriptFlag -wMapReentryScriptBank:: ds 1 ; d45d MemScriptBank -wMapReentryScriptAddress:: ds 2 ; d45e MemScriptAddr - ds 4 ; ????????????? -wTimeCyclesSinceLastCall:: ds 1 ; d464 -wReceiveCallDelay_MinsRemaining:: ds 1 ; d465 + db +wMapReentryScriptQueueFlag:: db ; d45c MemScriptFlag +wMapReentryScriptBank:: db ; d45d MemScriptBank +wMapReentryScriptAddress:: dw ; d45e MemScriptAddr + ds 4 +wTimeCyclesSinceLastCall:: db ; d464 +wReceiveCallDelay_MinsRemaining:: db ; d465 wReceiveCallDelay_StartTime:: ds 3 ; d466 ds 3 -wBugContestMinsRemaining:: ds 1 ; d46c -wBugContestSecsRemaining:: ds 1 ; d46d +wBugContestMinsRemaining:: db ; d46c +wBugContestSecsRemaining:: db ; d46d ds 2 wMapStatusEnd:: ds 2 ; d470 @@ -2191,7 +2270,7 @@ PlayerGender:: ; d472 ; bit 0: ; 0 male ; 1 female - ds 1 + db wd473:: ds 1 wd474:: ds 1 wd475:: ds 1 @@ -2205,7 +2284,7 @@ wd479:: ds 2 wGameData:: wPlayerData:: PlayerID:: ; d47b - ds 2 + dw PlayerName:: ds NAME_LENGTH ; d47d MomsName:: ds NAME_LENGTH ; d488 @@ -2213,45 +2292,34 @@ RivalName:: ds NAME_LENGTH ; d493 RedsName:: ds NAME_LENGTH ; d49e GreensName:: ds NAME_LENGTH ; d4a9 -wSavedAtLeastOnce:: ds 1 -wSpawnAfterChampion:: ds 1 +wSavedAtLeastOnce:: db +wSpawnAfterChampion:: db ; init time set at newgame -StartDay:: ; d4b6 - ds 1 -StartHour:: ; d4b7 - ds 1 -StartMinute:: ; d4b8 - ds 1 -StartSecond:: ; d4b9 - ds 1 +StartDay:: db ; d4b6 +StartHour:: db ; d4b7 +StartMinute:: db ; d4b8 +StartSecond:: db ; d4b9 -wRTC:: ; d4ba - ds 8 -wDST:: ; d4c2 - ds 1 +wRTC:: ds 8 ; d4ba +wDST:: db ; d4c2 -GameTimeCap:: ; d4c3 - ds 1 -GameTimeHours:: ; d4c4 - ds 2 -GameTimeMinutes:: ; d4c6 - ds 1 -GameTimeSeconds:: ; d4c7 - ds 1 -GameTimeFrames:: ; d4c8 - ds 1 +GameTimeCap:: db ; d4c3 +GameTimeHours:: dw ; d4c4 +GameTimeMinutes:: db ; d4c6 +GameTimeSeconds:: db ; d4c7 +GameTimeFrames:: db ; d4c8 ds 2 -CurDay:: ; d4cb - ds 1 +CurDay:: db ; d4cb ds 1 -wObjectFollow_Leader:: ds 1 -wObjectFollow_Follower:: ds 1 -wCenteredObject:: ds 1 -wFollowerMovementQueueLength:: ds 1 + +wObjectFollow_Leader:: db +wObjectFollow_Follower:: db +wCenteredObject:: db +wFollowerMovementQueueLength:: db wFollowMovementQueue:: ds 5 ObjectStructs:: ; d4d6 @@ -2271,7 +2339,8 @@ ObjectStructs:: ; d4d6 ObjectStructsEnd:: ; d6de wCmdQueue:: ds CMDQUEUE_CAPACITY * CMDQUEUE_ENTRY_SIZE - ds $28 + + ds 40 MapObjects:: ; d71e map_object Player @@ -2294,23 +2363,19 @@ MapObjectsEnd:: wObjectMasks:: ds NUM_OBJECTS ; d81e -VariableSprites:: ; d82e - ds $10 +VariableSprites:: ds 16; d82e -wEnteredMapFromContinue:: ds 1 ; d83e +wEnteredMapFromContinue:: db ; d83e ds 2 -TimeOfDayPal:: ; d841 - ds 1 +TimeOfDayPal:: db ; d841 ds 4 -; d846 -wTimeOfDayPalFlags:: ds 1 -wTimeOfDayPalset:: ds 1 -CurTimeOfDay:: ; d848 - ds 1 +wTimeOfDayPalFlags:: db ; d846 +wTimeOfDayPalset:: db +CurTimeOfDay:: db ; d848 ds 1 -wSecretID:: ds 2 +wSecretID:: dw StatusFlags:: ; d84c ; 0 - pokedex ; 1 - unown dex @@ -2320,7 +2385,7 @@ StatusFlags:: ; d84c ; 5 - wild encounters on/off ; 6 - hall of fame ; 7 - bug contest on - ds 1 + db StatusFlags2:: ; d84d ; 0 - rockets @@ -2331,356 +2396,323 @@ StatusFlags2:: ; d84d ; 5 - pokerus ; 6 - berry juice? ; 7 - rockets in mahogany - ds 1 + db -Money:: ; d84e - ds 3 +Money:: ds 3 ; d84e +wMomsMoney:: ds 3 ; d851 +wMomSavingMoney:: db ; d854 -wMomsMoney:: ; d851 - ds 3 -wMomSavingMoney:: ; d854 - ds 1 - -Coins:: ; d855 - ds 2 +Coins:: dw ; d855 Badges:: -JohtoBadges:: ; d857 - flag_array 8 -KantoBadges:: ; d858 - flag_array 8 +JohtoBadges:: flag_array NUM_JOHTO_BADGES ; d857 +KantoBadges:: flag_array NUM_KANTO_BADGES ; d858 -TMsHMs:: ; d859 - ds NUM_TMS + NUM_HMS +TMsHMs:: ds NUM_TMS + NUM_HMS ; d859 TMsHMsEnd:: -NumItems:: ; d892 - ds 1 -Items:: ; d893 - ds MAX_ITEMS * 2 + 1 +NumItems:: db ; d892 +Items:: ds MAX_ITEMS * 2 + 1 ; d893 ItemsEnd:: -NumKeyItems:: ; d8bc - ds 1 -KeyItems:: ; d8bd - ds MAX_KEY_ITEMS + 1 +NumKeyItems:: db ; d8bc +KeyItems:: ds MAX_KEY_ITEMS + 1 ; d8bd KeyItemsEnd:: -NumBalls:: ; d8d7 - ds 1 -Balls:: ; d8d8 - ds MAX_BALLS * 2 + 1 +NumBalls:: db ; d8d7 +Balls:: ds MAX_BALLS * 2 + 1 ; d8d8 BallsEnd:: -PCItems:: ; d8f1 - ds MAX_PC_ITEMS * 2 + 1 +PCItems:: ds MAX_PC_ITEMS * 2 + 1 ; d8f1 PCItemsEnd:: ds 1 -wPokegearFlags:: ds 1 +wPokegearFlags:: ; bit 0: map ; bit 1: radio ; bit 2: phone ; bit 3: expn ; bit 7: on/off -wRadioTuningKnob:: ds 1 -wLastDexMode:: ds 2 -WhichRegisteredItem:: ; d95b - ds 1 -RegisteredItem:: ; d95c + db +wRadioTuningKnob:: db +wLastDexMode:: db ds 1 +WhichRegisteredItem:: db ; d95b +RegisteredItem:: db ; d95c -PlayerState:: ; d95d - ds 1 +PlayerState:: db ; d95d -wHallOfFameCount:: ds 2 +wHallOfFameCount:: dw wTradeFlags:: flag_array 6 ; d960 ds 1 -MooMooBerries:: ; d962 - ds 1 ; how many berries fed to MooMoo -UndergroundSwitchPositions:: ; d963 - ds 1 ; which positions the switches are in -FarfetchdPosition:: ; d964 - ds 1 ; which position the ilex farfetch'd is in +MooMooBerries:: db ; d962 +UndergroundSwitchPositions:: db ; d963 +FarfetchdPosition:: db ; d964 ds 13 ;SECTION "Map Triggers", WRAMX -wPokecenter2FTrigger:: ds 1 ; d972 -wTradeCenterTrigger:: ds 1 ; d973 -wColosseumTrigger:: ds 1 ; d974 -wTimeCapsuleTrigger:: ds 1 ; d975 -wPowerPlantTrigger:: ds 1 ; d976 -wCeruleanGymTrigger:: ds 1 ; d977 -wRoute25Trigger:: ds 1 ; d978 -wTrainerHouseB1FTrigger:: ds 1 ; d979 -wVictoryRoadGateTrigger:: ds 1 ; d97a -wSaffronTrainStationTrigger:: ds 1 ; d97b -wRoute16GateTrigger:: ds 1 ; d97c -wRoute1718GateTrigger:: ds 1 ; d97d -wIndigoPlateauPokecenter1FTrigger:: ds 1 ; d97e -wWillsRoomTrigger:: ds 1 ; d97f -wKogasRoomTrigger:: ds 1 ; d980 -wBrunosRoomTrigger:: ds 1 ; d981 -wKarensRoomTrigger:: ds 1 ; d982 -wLancesRoomTrigger:: ds 1 ; d983 -wHallOfFameTrigger:: ds 1 ; d984 -wRoute27Trigger:: ds 1 ; d985 -wNewBarkTownTrigger:: ds 1 ; d986 -wElmsLabTrigger:: ds 1 ; d987 -wKrissHouse1FTrigger:: ds 1 ; d988 -wRoute29Trigger:: ds 1 ; d989 -wCherrygroveCityTrigger:: ds 1 ; d98a -wMrPokemonsHouseTrigger:: ds 1 ; d98b -wRoute32Trigger:: ds 1 ; d98c -wRoute35NationalParkGateTrigger:: ds 1 ; d98d -wRoute36Trigger:: ds 1 ; d98e -wRoute36NationalParkGateTrigger:: ds 1 ; d98f -wAzaleaTownTrigger:: ds 1 ; d990 -wGoldenrodGymTrigger:: ds 1 ; d991 -wGoldenrodMagnetTrainStationTrigger:: ds 1 ; d992 -wGoldenrodPokecenter1FTrigger:: ds 1 ; d993 -wOlivineCityTrigger:: ds 1 ; d994 -wRoute34Trigger:: ds 1 ; d995 -wRoute34IlexForestGateTrigger:: ds 1 ; d996 -wEcruteakHouseTrigger:: ds 1 ; d997 -wWiseTriosRoomTrigger:: ds 1 ; d998 -wEcruteakPokecenter1FTrigger:: ds 1 ; d999 -wEcruteakGymTrigger:: ds 1 ; d99a -wMahoganyTownTrigger:: ds 1 ; d99b -wRoute42Trigger:: ds 1 ; d99c -wCianwoodCityTrigger:: ds 1 ; d99d -wBattleTower1FTrigger:: ds 1 ; d99e -wBattleTowerBattleRoomTrigger:: ds 1 ; d99f -wBattleTowerElevatorTrigger:: ds 1 ; d9a0 -wBattleTowerHallwayTrigger:: ds 1 ; d9a1 -wBattleTowerOutsideTrigger:: ds 1 ; d9a2 -wRoute43GateTrigger:: ds 1 ; d9a3 -wMountMoonTrigger:: ds 1 ; d9a4 -wSproutTower3FTrigger:: ds 1 ; d9a5 -wTinTower1FTrigger:: ds 1 ; d9a6 -wBurnedTower1FTrigger:: ds 1 ; d9a7 -wBurnedTowerB1FTrigger:: ds 1 ; d9a8 -wRadioTower5FTrigger:: ds 1 ; d9a9 -wRuinsOfAlphOutsideTrigger:: ds 1 ; d9aa -wRuinsOfAlphResearchCenterTrigger:: ds 1 ; d9ab -wRuinsOfAlphHoOhChamberTrigger:: ds 1 ; d9ac -wRuinsOfAlphKabutoChamberTrigger:: ds 1 ; d9ad -wRuinsOfAlphOmanyteChamberTrigger:: ds 1 ; d9ae -wRuinsOfAlphAerodactylChamberTrigger:: ds 1 ; d9af -wRuinsOfAlphInnerChamberTrigger:: ds 1 ; d9b0 -wMahoganyMart1FTrigger:: ds 1 ; d9b1 -wTeamRocketBaseB1FTrigger:: ds 1 ; d9b2 -wTeamRocketBaseB2FTrigger:: ds 1 ; d9b3 -wTeamRocketBaseB3FTrigger:: ds 1 ; d9b4 -wUndergroundPathSwitchRoomEntrancesTrigger:: ds 1 ; d9b5 -wSilverCaveRoom3Trigger:: ds 1 ; d9b6 -wVictoryRoadTrigger:: ds 1 ; d9b7 -wDragonsDenB1FTrigger:: ds 1 ; d9b8 -wDragonShrineTrigger:: ds 1 ; d9b9 -wOlivinePortTrigger:: ds 1 ; d9ba -wVermilionPortTrigger:: ds 1 ; d9bb -wFastShip1FTrigger:: ds 1 ; d9bc -wFastShipB1FTrigger:: ds 1 ; d9bd -wMountMoonSquareTrigger:: ds 1 ; d9be -wMobileTradeRoomMobileTrigger:: ds 1 ; d9bf -wMobileBattleRoomTrigger:: ds 1 ; d9c0 +wPokecenter2FTrigger:: db ; d972 +wTradeCenterTrigger:: db ; d973 +wColosseumTrigger:: db ; d974 +wTimeCapsuleTrigger:: db ; d975 +wPowerPlantTrigger:: db ; d976 +wCeruleanGymTrigger:: db ; d977 +wRoute25Trigger:: db ; d978 +wTrainerHouseB1FTrigger:: db ; d979 +wVictoryRoadGateTrigger:: db ; d97a +wSaffronTrainStationTrigger:: db ; d97b +wRoute16GateTrigger:: db ; d97c +wRoute1718GateTrigger:: db ; d97d +wIndigoPlateauPokecenter1FTrigger:: db ; d97e +wWillsRoomTrigger:: db ; d97f +wKogasRoomTrigger:: db ; d980 +wBrunosRoomTrigger:: db ; d981 +wKarensRoomTrigger:: db ; d982 +wLancesRoomTrigger:: db ; d983 +wHallOfFameTrigger:: db ; d984 +wRoute27Trigger:: db ; d985 +wNewBarkTownTrigger:: db ; d986 +wElmsLabTrigger:: db ; d987 +wKrissHouse1FTrigger:: db ; d988 +wRoute29Trigger:: db ; d989 +wCherrygroveCityTrigger:: db ; d98a +wMrPokemonsHouseTrigger:: db ; d98b +wRoute32Trigger:: db ; d98c +wRoute35NationalParkGateTrigger:: db ; d98d +wRoute36Trigger:: db ; d98e +wRoute36NationalParkGateTrigger:: db ; d98f +wAzaleaTownTrigger:: db ; d990 +wGoldenrodGymTrigger:: db ; d991 +wGoldenrodMagnetTrainStationTrigger:: db ; d992 +wGoldenrodPokecenter1FTrigger:: db ; d993 +wOlivineCityTrigger:: db ; d994 +wRoute34Trigger:: db ; d995 +wRoute34IlexForestGateTrigger:: db ; d996 +wEcruteakHouseTrigger:: db ; d997 +wWiseTriosRoomTrigger:: db ; d998 +wEcruteakPokecenter1FTrigger:: db ; d999 +wEcruteakGymTrigger:: db ; d99a +wMahoganyTownTrigger:: db ; d99b +wRoute42Trigger:: db ; d99c +wCianwoodCityTrigger:: db ; d99d +wBattleTower1FTrigger:: db ; d99e +wBattleTowerBattleRoomTrigger:: db ; d99f +wBattleTowerElevatorTrigger:: db ; d9a0 +wBattleTowerHallwayTrigger:: db ; d9a1 +wBattleTowerOutsideTrigger:: db ; d9a2 +wRoute43GateTrigger:: db ; d9a3 +wMountMoonTrigger:: db ; d9a4 +wSproutTower3FTrigger:: db ; d9a5 +wTinTower1FTrigger:: db ; d9a6 +wBurnedTower1FTrigger:: db ; d9a7 +wBurnedTowerB1FTrigger:: db ; d9a8 +wRadioTower5FTrigger:: db ; d9a9 +wRuinsOfAlphOutsideTrigger:: db ; d9aa +wRuinsOfAlphResearchCenterTrigger:: db ; d9ab +wRuinsOfAlphHoOhChamberTrigger:: db ; d9ac +wRuinsOfAlphKabutoChamberTrigger:: db ; d9ad +wRuinsOfAlphOmanyteChamberTrigger:: db ; d9ae +wRuinsOfAlphAerodactylChamberTrigger:: db ; d9af +wRuinsOfAlphInnerChamberTrigger:: db ; d9b0 +wMahoganyMart1FTrigger:: db ; d9b1 +wTeamRocketBaseB1FTrigger:: db ; d9b2 +wTeamRocketBaseB2FTrigger:: db ; d9b3 +wTeamRocketBaseB3FTrigger:: db ; d9b4 +wUndergroundPathSwitchRoomEntrancesTrigger:: db ; d9b5 +wSilverCaveRoom3Trigger:: db ; d9b6 +wVictoryRoadTrigger:: db ; d9b7 +wDragonsDenB1FTrigger:: db ; d9b8 +wDragonShrineTrigger:: db ; d9b9 +wOlivinePortTrigger:: db ; d9ba +wVermilionPortTrigger:: db ; d9bb +wFastShip1FTrigger:: db ; d9bc +wFastShipB1FTrigger:: db ; d9bd +wMountMoonSquareTrigger:: db ; d9be +wMobileTradeRoomMobileTrigger:: db ; d9bf +wMobileBattleRoomTrigger:: db ; d9c0 ds 49 ;SECTION "Events", WRAMX -wJackFightCount:: ds 1 ; d9f2 -wBeverlyFightCount:: ds 1 ; unused -wHueyFightCount:: ds 1 -wGavenFightCount:: ds 1 -wBethFightCount:: ds 1 -wJoseFightCount:: ds 1 -wReenaFightCount:: ds 1 -wJoeyFightCount:: ds 1 -wWadeFightCount:: ds 1 -wRalphFightCount:: ds 1 -wLizFightCount:: ds 1 -wAnthonyFightCount:: ds 1 -wToddFightCount:: ds 1 -wGinaFightCount:: ds 1 -wIrwinFightCount:: ds 1 ; unused -wArnieFightCount:: ds 1 -wAlanFightCount:: ds 1 -wDanaFightCount:: ds 1 -wChadFightCount:: ds 1 -wDerekFightCount:: ds 1 ; unused -wTullyFightCount:: ds 1 -wBrentFightCount:: ds 1 -wTiffanyFightCount:: ds 1 -wVanceFightCount:: ds 1 -wWiltonFightCount:: ds 1 -wKenjiFightCount:: ds 1 ; unused -wParryFightCount:: ds 1 -wErinFightCount:: ds 1 +wJackFightCount:: db ; d9f2 +wBeverlyFightCount:: db ; unused +wHueyFightCount:: db +wGavenFightCount:: db +wBethFightCount:: db +wJoseFightCount:: db +wReenaFightCount:: db +wJoeyFightCount:: db +wWadeFightCount:: db +wRalphFightCount:: db +wLizFightCount:: db +wAnthonyFightCount:: db +wToddFightCount:: db +wGinaFightCount:: db +wIrwinFightCount:: db ; unused +wArnieFightCount:: db +wAlanFightCount:: db +wDanaFightCount:: db +wChadFightCount:: db +wDerekFightCount:: db ; unused +wTullyFightCount:: db +wBrentFightCount:: db +wTiffanyFightCount:: db +wVanceFightCount:: db +wWiltonFightCount:: db +wKenjiFightCount:: db ; unused +wParryFightCount:: db +wErinFightCount:: db ; da0e ds 100 -EventFlags:: ; da72 - flag_array NUM_EVENTS +EventFlags:: flag_array NUM_EVENTS ; da72 ; db6c ds 6 -wCurBox:: ; db72 - ds 1 +wCurBox:: db ; db72 ds 2 ; 8 chars + $50 wBoxNames:: ds BOX_NAME_LENGTH * NUM_BOXES ; db75 -wCelebiEvent:: ds 1 +wCelebiEvent:: db + ds 1 BikeFlags:: ; dbf5 ; bit 0: using strength ; bit 1: always on bike ; bit 2: downhill - ds 1 + db ds 1 -wCurrentMapTriggerPointer:: ds 2 ; dbf7 -wCurrentCaller:: ds 2 ; dbf9 -wCurrMapWarpCount:: ds 1 ; dbfb -wCurrMapWarpHeaderPointer:: ds 2 ; dbfc -wCurrentMapXYTriggerCount:: ds 1 ; dbfe -wCurrentMapXYTriggerHeaderPointer:: ds 2 ; dbff -wCurrentMapSignpostCount:: ds 1 ; dc01 -wCurrentMapSignpostHeaderPointer:: ds 2 ; dc02 -wCurrentMapPersonEventCount:: ds 1 ; dc04 -wCurrentMapPersonEventHeaderPointer:: ds 2 ; dc05 -wCurrMapTriggerCount:: ds 1 ; dc07 -wCurrMapTriggerHeaderPointer:: ds 2 ; dc08 -wCurrMapCallbackCount:: ds 1 ; dc0a -wCurrMapCallbackHeaderPointer:: ds 2 ; dc0b +wCurrentMapTriggerPointer:: dw ; dbf7 + +wCurrentCaller:: dw ; dbf9 +wCurrMapWarpCount:: db ; dbfb +wCurrMapWarpHeaderPointer:: dw ; dbfc +wCurrentMapXYTriggerCount:: db ; dbfe +wCurrentMapXYTriggerHeaderPointer:: dw ; dbff +wCurrentMapSignpostCount:: db ; dc01 +wCurrentMapSignpostHeaderPointer:: dw ; dc02 +wCurrentMapPersonEventCount:: db ; dc04 +wCurrentMapPersonEventHeaderPointer:: dw ; dc05 +wCurrMapTriggerCount:: db ; dc07 +wCurrMapTriggerHeaderPointer:: dw ; dc08 +wCurrMapCallbackCount:: db ; dc0a +wCurrMapCallbackHeaderPointer:: dw ; dc0b + ds 2 ; Sprite id of each decoration -Bed:: ; dc0f - ds 1 -Carpet:: ; dc10 - ds 1 -Plant:: ; dc11 - ds 1 -Poster:: ; dc12 - ds 1 -Console:: ; dc13 - ds 1 -LeftOrnament:: ; dc14 - ds 1 -RightOrnament:: ; dc15 - ds 1 -BigDoll:: ; dc16 - ds 1 +Bed:: db ; dc0f +Carpet:: db ; dc10 +Plant:: db ; dc11 +Poster:: db ; dc12 +Console:: db ; dc13 +LeftOrnament:: db ; dc14 +RightOrnament:: db ; dc15 +BigDoll:: db ; dc16 ; Items bought from Mom -wWhichMomItem:: ds 1 ; dc17 -wWhichMomItemSet:: ds 1 ; dc18 +wWhichMomItem:: db ; dc17 +wWhichMomItemSet:: db ; dc18 MomItemTriggerBalance:: ds 3 ; dc19 -wDailyResetTimer:: ds 2 ; dc1c -DailyFlags:: ds 1 -WeeklyFlags:: ds 1 -SwarmFlags:: ds 1 +wDailyResetTimer:: dw ; dc1c +DailyFlags:: db +WeeklyFlags:: db +SwarmFlags:: db ds 2 -wStartDay:: ds 1 +wStartDay:: db ds 3 FruitTreeFlags:: flag_array NUM_FRUIT_TREES ; dc27 ds 2 -wLuckyNumberDayBuffer:: ds 2 ; dc2d +wLuckyNumberDayBuffer:: dw ; dc2d ds 2 -wSpecialPhoneCallID:: ds 1 ; dc31 +wSpecialPhoneCallID:: db ; dc31 ds 3 wBugContestStartTime:: ds 4 ; day, hour, min, sec ; dc35 -wUnusedTwoDayTimerOn:: ds 1 ; dc39 -wUnusedTwoDayTimer:: ds 1 -wUnusedTwoDayTimerStartDate:: ds 1 +wUnusedTwoDayTimerOn:: db ; dc39 +wUnusedTwoDayTimer:: db +wUnusedTwoDayTimerStartDate:: db ds 4 -wMobileOrCable_LastSelection:: ds 1 +wMobileOrCable_LastSelection:: db wdc41:: ds 1 wdc42:: ds 8 -wBuenasPassword:: ds 1 -wBlueCardBalance:: ds 1 +wBuenasPassword:: db +wBlueCardBalance:: db wDailyRematchFlags:: ds 4 wDailyPhoneItemFlags:: ds 4 wDailyPhoneTimeOfDayFlags:: ds 4 wKenjiBreakTimer:: ds 2 ; Kenji -wYanmaMapGroup:: ds 1 ; dc5a -wYanmaMapNumber:: ds 1 +wYanmaMapGroup:: db ; dc5a +wYanmaMapNumber:: db wPlayerMonSelection:: ds 3 wdc5f:: ds 1 wdc60:: ds 19 -StepCount:: ; dc73 - ds 1 -PoisonStepCount:: ; dc74 +StepCount:: db ; dc73 +PoisonStepCount:: db ; dc74 + ds 2 +wHappinessStepCount:: db ds 1 - ds 2 -wHappinessStepCount:: ds 1 - ds 1 wParkBallsRemaining:: -wSafariBallsRemaining:: ds 1 ; dc79 -wSafariTimeRemaining:: ds 2 ; dc7a +wSafariBallsRemaining:: db ; dc79 +wSafariTimeRemaining:: dw ; dc7a + wPhoneList:: ds CONTACT_LIST_SIZE ; dc7c ; dc86 ds 23 -wLuckyNumberShowFlag:: ds 2 ; dc9d -wLuckyIDNumber:: ds 2 ; dc9f -wRepelEffect:: ds 1 ; If a Repel is in use, it contains the nr of steps it's still active -wBikeStep:: ds 2 -wKurtApricornQuantity:: ds 1 + +wLuckyNumberShowFlag:: dw ; dc9d +wLuckyIDNumber:: dw ; dc9f + +wRepelEffect:: db ; If a Repel is in use, it contains the nr of steps it's still active +wBikeStep:: dw +wKurtApricornQuantity:: db wPlayerDataEnd:: wMapData:: -VisitedSpawns:: ; dca5 - flag_array NUM_SPAWNS +VisitedSpawns:: flag_array NUM_SPAWNS ; dca5 + +wDigWarpNumber:: db ; dcaa +wDigMapGroup:: db ; dcab +wDigMapNumber:: db ; dcac -wDigWarp:: ds 1 ; dcaa -wDigMapGroup:: ds 1 ; dcab -wDigMapNumber:: ds 1 ; dcac ; used on maps like second floor pokécenter, which are reused, so we know which ; map to return to -BackupWarpNumber:: ; dcad - ds 1 -BackupMapGroup:: ; dcae - ds 1 -BackupMapNumber:: ; dcaf - ds 1 +BackupWarpNumber:: db ; dcad +BackupMapGroup:: db ; dcae +BackupMapNumber:: db ; dcaf ds 3 -wLastSpawnMapGroup:: ds 1 -wLastSpawnMapNumber:: ds 1 +wLastSpawnMapGroup:: db +wLastSpawnMapNumber:: db -WarpNumber:: ; dcb4 - ds 1 -MapGroup:: ; dcb5 - ds 1 ; map group of current map -MapNumber:: ; dcb6 - ds 1 ; map number of current map -YCoord:: ; dcb7 - ds 1 ; current y coordinate relative to top-left corner of current map -XCoord:: ; dcb8 - ds 1 ; current x coordinate relative to top-left corner of current map +WarpNumber:: db ; dcb4 +MapGroup:: db ; dcb5 ; map group of current map +MapNumber:: db ; dcb6 ; map number of current map +YCoord:: db ; dcb7 ; current y coordinate relative to top-left corner of current map +XCoord:: db ; dcb8 ; current x coordinate relative to top-left corner of current map wScreenSave:: ds 6 * 5 wMapDataEnd:: @@ -2690,12 +2722,9 @@ SECTION "Party", WRAMX wPokemonData:: -PartyCount:: ; dcd7 - ds 1 ; number of Pokémon in party -PartySpecies:: ; dcd8 - ds PARTY_LENGTH ; species of each Pokémon in party -PartyEnd:: ; dcde - ds 1 ; legacy scripts don't check PartyCount +PartyCount:: db ; dcd7 ; number of Pokémon in party +PartySpecies:: ds PARTY_LENGTH ; dcd8 ; species of each Pokémon in party +PartyEnd:: db ; dcde ; legacy scripts don't check PartyCount PartyMons:: PartyMon1:: party_struct PartyMon1 ; dcdf @@ -2710,32 +2739,25 @@ PartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH ; ddff PartyMonNicknames:: ds PKMN_NAME_LENGTH * PARTY_LENGTH ; de41 PartyMonNicknamesEnd:: - ds 22 -PokedexCaught:: ; de99 - flag_array NUM_POKEMON +PokedexCaught:: flag_array NUM_POKEMON ; de99 EndPokedexCaught:: -PokedexSeen:: ; deb9 - flag_array NUM_POKEMON +PokedexSeen:: flag_array NUM_POKEMON ; deb9 EndPokedexSeen:: -UnownDex:: ; ded9 - ds 26 -UnlockedUnowns:: ; def3 - ds 1 - -wFirstUnownSeen:: ds 1 - +UnownDex:: ds NUM_UNOWN ; ded9 +UnlockedUnowns:: db ; def3 +wFirstUnownSeen:: db wDaycareMan:: ; def5 ; bit 7: active ; bit 6: monsters are compatible ; bit 5: egg ready ; bit 0: monster 1 in daycare - ds 1 + db wBreedMon1:: wBreedMon1Nick:: ds PKMN_NAME_LENGTH ; def6 @@ -2745,14 +2767,14 @@ wBreedMon1Stats:: box_struct wBreedMon1 ; df0c wDaycareLady:: ; df2c ; bit 7: active ; bit 0: monster 2 in daycare - ds 1 + db wStepsToEgg:: ; df2d - ds 1 + db wBreedMotherOrNonDitto:: ; df2e ; z: yes ; nz: no - ds 1 + db wBreedMon2:: wBreedMon2Nick:: ds PKMN_NAME_LENGTH ; df2f @@ -2763,23 +2785,23 @@ wEggNick:: ds PKMN_NAME_LENGTH ; df65 wEggOT:: ds NAME_LENGTH ; df70 wEggMon:: box_struct wEggMon ; df7b -wBugContestSecondPartySpecies:: ds 1 +wBugContestSecondPartySpecies:: db wContestMon:: party_struct wContestMon ; df9c -wDunsparceMapGroup:: ds 1 -wDunsparceMapNumber:: ds 1 -wFishingSwarmFlag:: ds 1 +wDunsparceMapGroup:: db +wDunsparceMapNumber:: db +wFishingSwarmFlag:: db wRoamMon1:: roam_struct wRoamMon1 ; dfcf wRoamMon2:: roam_struct wRoamMon2 ; dfd6 wRoamMon3:: roam_struct wRoamMon3 ; dfdd -wRoamMons_CurrentMapNumber:: ds 1 -wRoamMons_CurrentMapGroup:: ds 1 -wRoamMons_LastMapNumber:: ds 1 -wRoamMons_LastMapGroup:: ds 1 -wBestMagikarpLengthFeet:: ds 1 -wBestMagikarpLengthInches:: ds 1 +wRoamMons_CurrentMapNumber:: db +wRoamMons_CurrentMapGroup:: db +wRoamMons_LastMapNumber:: db +wRoamMons_LastMapGroup:: db +wBestMagikarpLengthFeet:: db +wBestMagikarpLengthInches:: db wMagikarpRecordHoldersName:: ds NAME_LENGTH ; dff5 wPokemonDataEnd:: @@ -2849,17 +2871,17 @@ w3_d3c2:: battle_tower_struct w3_d3c2 w3_d4a2:: battle_tower_struct w3_d4a2 w3_d582:: battle_tower_struct w3_d582 w3_d662:: battle_tower_struct w3_d662 -UNION +UNION ; d742 w3_d742:: battle_tower_struct w3_d742 ; d822 -NEXTU +NEXTU ; d742 ds $be wBTChoiceOfLvlGroup:: w3_d800:: ; ds BG_MAP_WIDTH * SCREEN_HEIGHT ($240) ds $69 -ENDU +ENDU ; d869 w3_d869:: ds $17 w3_d880:: ds 1 w3_d881:: ds 1 @@ -2960,14 +2982,15 @@ wBattleAnimTemp7:: db wBattleAnimTempPalette:: wBattleAnimTemp8:: db -UNION +UNION ; d422 wSurfWaveBGEffect:: ds $40 wSurfWaveBGEffectEnd:: -NEXTU +NEXTU ; d422 ds $32 wBattleAnimEnd:: -ENDU +ENDU ; d462 + SECTION "WRAM 5 MOBILE", WRAMX @@ -2991,7 +3014,7 @@ wScratchAttrMap:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT NEXTU ; d000 wDecompressScratch:: ds $80 tiles wDecompressEnemyFrontpic:: ds $80 tiles -ENDU +ENDU ; e000 SECTION "WRAM 7", WRAMX From 7ccb11c903bb46796301f85b7b21c37369773517 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 22:07:52 -0500 Subject: [PATCH 10/16] Add constants for battle object colors --- battle/objects/data.asm | 394 +++++++++++++++--------------- battle/objects/functions.asm | 24 +- constants/animation_constants.asm | 11 + 3 files changed, 226 insertions(+), 203 deletions(-) diff --git a/battle/objects/data.asm b/battle/objects/data.asm index fa5dff269..c72b81027 100755 --- a/battle/objects/data.asm +++ b/battle/objects/data.asm @@ -1,573 +1,585 @@ BattleAnimObjects: ; ccb56 battleanimobj: MACRO - -; ??, ??, frameset, function, ??, tile offset - db \1, \2, \3, \4, \5, \6 + db \1 ; flags + ; bit 7: priority + ; bit 6: y flip (for enemy) + ; bit 5: x flip (for enemy) + ; bit 0: enable enemy animation coord fixing (x = $b4 - x; see below for y) + db \2 ; enemy animation y fix param + ; if $FF: y = y + 5 tiles + ; else: y = -y - (1 tile) * (is_softboiled_animation) + db \3 ; video sequence + db \4 ; callback + db \5 ; palette + db \6 ; tile offset endm +ABSOLUTE_X EQU $00 +RELATIVE_X EQU $01 + ; ANIM_OBJ_00 - battleanimobj $01, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, $02, $01 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_01 - battleanimobj $01, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, $02, $01 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_02 - battleanimobj $01, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, $02, $01 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_03 - battleanimobj $01, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, $02, $01 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_04 - battleanimobj $01, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, $02, $01 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_05 - battleanimobj $01, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, $02, $01 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_06 - battleanimobj $01, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, $02, $01 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_07 - battleanimobj $01, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, $02, $01 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_08 - battleanimobj $01, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, $02, $01 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_09 - battleanimobj $01, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, $02, $01 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_0A - battleanimobj $01, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, $02, $01 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_0B - battleanimobj $01, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, $04, $03 + battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_RED, $03 ; ANIM_OBJ_0C - battleanimobj $01, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, $04, $03 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_RED, $03 ; ANIM_OBJ_0D - battleanimobj $01, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, $04, $03 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_RED, $03 ; ANIM_OBJ_0E - battleanimobj $01, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, $04, $03 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_RED, $03 ; ANIM_OBJ_0F - battleanimobj $01, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, $04, $03 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_RED, $03 ; ANIM_OBJ_BURNED - battleanimobj $01, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, $04, $03 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_RED, $03 ; ANIM_OBJ_BLIZZARD - battleanimobj $01, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, $06, $0a + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_BLUE, $0a ; ANIM_OBJ_12 - battleanimobj $01, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, $06, $0a + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $0a ; ANIM_OBJ_ICE_BEAM - battleanimobj $01, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, $06, $0a + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, PAL_BATTLE_BLUE, $0a ; ANIM_OBJ_RAZOR_LEAF - battleanimobj $21, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, $05, $06 + battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, PAL_BATTLE_GREEN, $06 ; ANIM_OBJ_POKE_BALL - battleanimobj $00, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, $04, $0b + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, PAL_BATTLE_RED, $0b ; ANIM_OBJ_POKE_BALL_BLOCKED - battleanimobj $00, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, $04, $0b + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, PAL_BATTLE_RED, $0b ; ANIM_OBJ_17 - battleanimobj $01, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, $04, $08 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_RED, $08 ; ANIM_OBJ_18 - battleanimobj $01, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, $04, $08 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_RED, $08 ; ANIM_OBJ_19 - battleanimobj $01, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, $02, $0c + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, PAL_BATTLE_GRAY, $0c ; ANIM_OBJ_1A - battleanimobj $01, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, $02, $0c + battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_GRAY, $0c ; ANIM_OBJ_1B - battleanimobj $01, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, $02, $07 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $07 ; ANIM_OBJ_BALL_POOF - battleanimobj $01, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, $02, $07 + battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $07 ; ANIM_OBJ_1D - battleanimobj $01, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, $07, $09 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_BROWN, $09 ; ANIM_OBJ_1E - battleanimobj $01, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, $07, $09 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_BROWN, $09 ; ANIM_OBJ_1F - battleanimobj $01, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, $07, $09 + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_BROWN, $09 ; ANIM_OBJ_20 - battleanimobj $01, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, $06, $21 + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_BLUE, $21 ; ANIM_OBJ_BUBBLE - battleanimobj $01, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, $06, $0d + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_BLUE, $0d ; ANIM_OBJ_22 - battleanimobj $00, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, $06, $0d + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_BLUE, $0d ; ANIM_OBJ_23 - battleanimobj $01, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, $02, $0e + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_GRAY, $0e ; ANIM_OBJ_24 - battleanimobj $61, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, $06, $04 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_BLUE, $04 ; ANIM_OBJ_25 - battleanimobj $01, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, $06, $04 + battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $04 ; ANIM_OBJ_26 - battleanimobj $01, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, $05, $0f + battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_GREEN, $0f ; ANIM_OBJ_27 - battleanimobj $61, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, $03, $10 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $10 ; ANIM_OBJ_28 - battleanimobj $61, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, $03, $10 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_YELLOW, $10 ; ANIM_OBJ_ICE_BUILDUP - battleanimobj $01, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, $06, $0a + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $0a ; ANIM_OBJ_FROZEN - battleanimobj $01, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, $06, $0a + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $0a ; ANIM_OBJ_MASTER_BALL_SPARKLE - battleanimobj $01, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, $07, $11 + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_BROWN, $11 ; ANIM_OBJ_2C - battleanimobj $01, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, $03, $0d + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_YELLOW, $0d ; ANIM_OBJ_2D - battleanimobj $21, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, $03, $05 + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05 ; ANIM_OBJ_2E - battleanimobj $21, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, $03, $05 + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05 ; ANIM_OBJ_2F - battleanimobj $21, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, $03, $05 + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05 ; ANIM_OBJ_30 - battleanimobj $21, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, $03, $05 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_YELLOW, $05 ; ANIM_OBJ_31 - battleanimobj $21, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, $03, $05 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05 ; ANIM_OBJ_LIGHTNING_BOLT - battleanimobj $21, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, $02, $08 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_GRAY, $08 ; ANIM_OBJ_33 - battleanimobj $21, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, $03, $05 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05 ; ANIM_OBJ_34 - battleanimobj $21, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, $02, $08 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_GRAY, $08 ; ANIM_OBJ_35 - battleanimobj $21, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, $02, $02 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_GRAY, $02 ; ANIM_OBJ_36 - battleanimobj $01, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, $02, $02 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_GRAY, $02 ; ANIM_OBJ_37 - battleanimobj $21, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, $02, $02 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02 ; ANIM_OBJ_38 - battleanimobj $21, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, $02, $02 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02 ; ANIM_OBJ_39 - battleanimobj $21, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, $02, $02 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02 ; ANIM_OBJ_3A - battleanimobj $21, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, $02, $02 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02 ; ANIM_OBJ_3B - battleanimobj $21, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, $02, $02 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02 ; ANIM_OBJ_3C - battleanimobj $01, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, $05, $12 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, PAL_BATTLE_GREEN, $12 ; ANIM_OBJ_3D - battleanimobj $01, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, $05, $12 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, PAL_BATTLE_GREEN, $12 ; ANIM_OBJ_GUST - battleanimobj $21, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, $02, $13 + battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, PAL_BATTLE_GRAY, $13 ; ANIM_OBJ_3F - battleanimobj $21, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, $02, $14 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $14 ; ANIM_OBJ_40 - battleanimobj $21, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, $02, $14 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $14 ; ANIM_OBJ_41 - battleanimobj $21, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, $02, $14 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_GRAY, $14 ; ANIM_OBJ_42 - battleanimobj $21, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, $02, $14 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_GRAY, $14 ; ANIM_OBJ_43 - battleanimobj $21, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, $02, $14 + battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_GRAY, $14 ; ANIM_OBJ_44 - battleanimobj $21, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, $03, $11 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $11 ; ANIM_OBJ_ABSORB - battleanimobj $01, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, $05, $12 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_GREEN, $12 ; ANIM_OBJ_46 - battleanimobj $21, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, $02, $15 + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_GRAY, $15 ; ANIM_OBJ_47 - battleanimobj $01, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, $03, $11 + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_YELLOW, $11 ; ANIM_OBJ_48 - battleanimobj $21, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, $05, $16 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_GREEN, $16 ; ANIM_OBJ_49 - battleanimobj $21, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, $05, $16 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_GREEN, $16 ; ANIM_OBJ_LEECH_SEED - battleanimobj $21, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, $05, $06 + battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_GREEN, $06 ; ANIM_OBJ_4B - battleanimobj $21, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, $02, $0e + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_GRAY, $0e ; ANIM_OBJ_4C - battleanimobj $21, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, $02, $17 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_GRAY, $17 ; ANIM_OBJ_4D - battleanimobj $01, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, $03, $11 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_YELLOW, $11 ; ANIM_OBJ_4E - battleanimobj $61, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, $03, $10 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $10 ; ANIM_OBJ_4F - battleanimobj $61, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, $03, $10 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_YELLOW, $10 ; ANIM_OBJ_50 - battleanimobj $21, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, $03, $18 + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $18 ; ANIM_OBJ_51 - battleanimobj $21, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, $02, $18 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $18 ; ANIM_OBJ_CHICK - battleanimobj $21, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, $03, $19 + battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_YELLOW, $19 ; ANIM_OBJ_53 - battleanimobj $01, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, $02, $19 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_GRAY, $19 ; ANIM_OBJ_54 - battleanimobj $01, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, $02, $19 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_GRAY, $19 ; ANIM_OBJ_SKULL - battleanimobj $01, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, $02, $0c + battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $0c ; ANIM_OBJ_56 - battleanimobj $21, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, $07, $1a + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_BROWN, $1a ; ANIM_OBJ_57 - battleanimobj $21, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, $07, $1a + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_BROWN, $1a ; ANIM_OBJ_58 - battleanimobj $21, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, $02, $1a + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_GRAY, $1a ; ANIM_OBJ_PARALYZED - battleanimobj $21, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, $03, $19 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_YELLOW, $19 ; ANIM_OBJ_5A - battleanimobj $21, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, $02, $1b + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_GRAY, $1b ; ANIM_OBJ_HAZE - battleanimobj $00, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, $02, $1c + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_GRAY, $1c ; ANIM_OBJ_MIST - battleanimobj $21, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, $02, $1c + battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_GRAY, $1c ; ANIM_OBJ_SMOG - battleanimobj $21, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, $02, $1c + battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_GRAY, $1c ; ANIM_OBJ_POISON_GAS - battleanimobj $21, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, $02, $1c + battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_GRAY, $1c ; ANIM_OBJ_HORN - battleanimobj $61, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, $02, $1d + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_GRAY, $1d ; ANIM_OBJ_60 - battleanimobj $61, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, $02, $1d + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_GRAY, $1d ; ANIM_OBJ_61 - battleanimobj $01, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, $04, $1e + battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_RED, $1e ; ANIM_OBJ_62 - battleanimobj $01, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, $02, $15 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_GRAY, $15 ; ANIM_OBJ_63 - battleanimobj $01, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, $07, $19 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_BROWN, $19 ; ANIM_OBJ_64 - battleanimobj $21, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, $02, $14 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_GRAY, $14 ; ANIM_OBJ_65 - battleanimobj $01, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, $02, $11 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_GRAY, $11 ; ANIM_OBJ_66 - battleanimobj $01, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, $04, $23 + battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_RED, $23 ; ANIM_OBJ_67 - battleanimobj $01, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, $02, $1f + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_68 - battleanimobj $01, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, $02, $1f + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_69 - battleanimobj $01, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, $02, $1f + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_6A - battleanimobj $01, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, $03, $23 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_YELLOW, $23 ; ANIM_OBJ_6B - battleanimobj $21, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, $02, $1f + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_6C - battleanimobj $01, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_YELLOW, $11 ; ANIM_OBJ_6D - battleanimobj $01, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_YELLOW, $11 ; ANIM_OBJ_SKY_ATTACK_FEAROW - battleanimobj $21, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, $02, $20 + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_GRAY, $20 ; ANIM_OBJ_LICK - battleanimobj $21, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, $02, $04 + battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $04 ; ANIM_OBJ_WITHDRAW - battleanimobj $21, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, $02, $18 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $18 ; ANIM_OBJ_71 - battleanimobj $01, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, $06, $0d + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_BLUE, $0d ; ANIM_OBJ_72 - battleanimobj $01, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, $03, $12 + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_YELLOW, $12 ; ANIM_OBJ_73 - battleanimobj $01, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, $02, $08 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_GRAY, $08 ; ANIM_OBJ_74 - battleanimobj $21, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, $02, $1c + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_GRAY, $1c ; ANIM_OBJ_75 - battleanimobj $21, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, $02, $15 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_GRAY, $15 ; ANIM_OBJ_76 - battleanimobj $21, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, $02, $14 + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_GRAY, $14 ; ANIM_OBJ_77 - battleanimobj $01, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, $02, $11 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_GRAY, $11 ; ANIM_OBJ_78 - battleanimobj $01, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, $02, $22 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $22 ; ANIM_OBJ_79 - battleanimobj $01, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, $02, $22 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $22 ; ANIM_OBJ_7A - battleanimobj $01, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, $02, $1f + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_7B - battleanimobj $01, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, $03, $11 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_YELLOW, $11 ; ANIM_OBJ_7C - battleanimobj $21, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, $03, $05 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05 ; ANIM_OBJ_7D - battleanimobj $a1, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, $06, $13 + battleanimobj RELATIVE_X | X_FLIP | BEHIND_BG, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_BLUE, $13 ; ANIM_OBJ_HEART - battleanimobj $01, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, $04, $23 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_RED, $23 ; ANIM_OBJ_7F - battleanimobj $01, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, $04, $03 + battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_RED, $03 ; ANIM_OBJ_80 - battleanimobj $01, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, $04, $03 + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_RED, $03 ; ANIM_OBJ_COTTON_SPORE - battleanimobj $21, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, $02, $1f + battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_82 - battleanimobj $21, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, $02, $1f + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_83 - battleanimobj $21, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, $02, $1f + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_84 - battleanimobj $21, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, $03, $1f + battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $1f ; ANIM_OBJ_85 - battleanimobj $01, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, $02, $0e + battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_GRAY, $0e ; ANIM_OBJ_86 - battleanimobj $21, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, $04, $1f + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_RED, $1f ; ANIM_OBJ_87 - battleanimobj $21, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, $02, $1f + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_88 - battleanimobj $21, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, $02, $1f + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_89 - battleanimobj $21, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, $02, $1f + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_8A - battleanimobj $21, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, $03, $23 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_YELLOW, $23 ; ANIM_OBJ_8B - battleanimobj $01, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, $02, $19 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_GRAY, $19 ; ANIM_OBJ_8C - battleanimobj $21, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, $02, $15 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_GRAY, $15 ; ANIM_OBJ_8D - battleanimobj $21, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, $04, $19 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_RED, $19 ; ANIM_OBJ_SPIKES - battleanimobj $21, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, $02, $1f + battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_GRAY, $1f ; ANIM_OBJ_8F - battleanimobj $01, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, $02, $0a + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_GRAY, $0a ; ANIM_OBJ_90 - battleanimobj $01, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, $04, $03 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_RED, $03 ; ANIM_OBJ_91 - battleanimobj $01, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, $02, $08 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_GRAY, $08 ; ANIM_OBJ_92 - battleanimobj $01, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, $02, $1b + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $1b ; ANIM_OBJ_93 - battleanimobj $21, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, $04, $23 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_RED, $23 ; ANIM_OBJ_94 - battleanimobj $21, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, $02, $25 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_GRAY, $25 ; ANIM_OBJ_95 - battleanimobj $21, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, $02, $25 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_GRAY, $25 ; ANIM_OBJ_96 - battleanimobj $21, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, $02, $25 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $25 ; ANIM_OBJ_97 - battleanimobj $21, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, $06, $25 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $25 ; ANIM_OBJ_98 - battleanimobj $61, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, $05, $23 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_GREEN, $23 ; ANIM_OBJ_99 - battleanimobj $21, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, $02, $23 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_GRAY, $23 ; ANIM_OBJ_9A - battleanimobj $21, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, $03, $23 + battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_YELLOW, $23 ; ANIM_OBJ_9B - battleanimobj $21, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, $02, $25 + battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_GRAY, $25 ; ANIM_OBJ_9C - battleanimobj $21, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, $03, $24 + battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_YELLOW, $24 ; ANIM_OBJ_9D - battleanimobj $01, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, $02, $24 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $24 ; ANIM_OBJ_9E - battleanimobj $01, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, $03, $24 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $24 ; ANIM_OBJ_9F - battleanimobj $01, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, $04, $12 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_RED, $12 ; ANIM_OBJ_A0 - battleanimobj $21, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, $02, $02 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02 ; ANIM_OBJ_A1 - battleanimobj $21, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, $02, $02 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02 ; ANIM_OBJ_A2 - battleanimobj $21, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, $07, $0f + battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_BROWN, $0f ; ANIM_OBJ_A3 - battleanimobj $21, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, $03, $05 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_YELLOW, $05 ; ANIM_OBJ_A4 - battleanimobj $21, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, $02, $25 + battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_GRAY, $25 ; ANIM_OBJ_A5 - battleanimobj $61, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, $02, $23 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_GRAY, $23 ; ANIM_OBJ_PERISH_SONG - battleanimobj $00, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, $02, $0e + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_GRAY, $0e ; ANIM_OBJ_A7 - battleanimobj $01, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, $02, $24 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $24 ; ANIM_OBJ_A8 - battleanimobj $21, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, $02, $13 + battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_GRAY, $13 ; ANIM_OBJ_A9 - battleanimobj $21, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, $02, $13 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_GRAY, $13 ; ANIM_OBJ_AA - battleanimobj $01, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, $02, $01 + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_AB - battleanimobj $01, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, $02, $0e + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_GRAY, $0e ; ANIM_OBJ_AC - battleanimobj $01, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, $06, $17 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $17 ; ANIM_OBJ_AD - battleanimobj $01, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, $02, $01 + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_GRAY, $01 ; ANIM_OBJ_AE - battleanimobj $21, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, $03, $11 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_YELLOW, $11 ; ANIM_OBJ_AF - battleanimobj $21, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, $02, $04 + battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_GRAY, $04 ; ANIM_OBJ_B0 - battleanimobj $00, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, $04, $1c + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_RED, $1c ; ANIM_OBJ_B1 - battleanimobj $01, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, $02, $19 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_GRAY, $19 ; ANIM_OBJ_B2 - battleanimobj $01, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, $07, $09 + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_BROWN, $09 ; ANIM_OBJ_B3 - battleanimobj $61, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, $03, $27 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $27 ; ANIM_OBJ_B4 - battleanimobj $61, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, $06, $15 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_BLUE, $15 ; ANIM_OBJ_B5 - battleanimobj $21, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, $07, $09 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_BROWN, $09 ; ANIM_OBJ_FLOWER - battleanimobj $01, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, $04, $1e + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_RED, $1e ; ANIM_OBJ_COTTON - battleanimobj $01, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, $04, $1f + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_RED, $1f ; ANIM_OBJ_PLAYERFEETFOLLOW - battleanimobj $00, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, $00, $28 + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_ENEMY, $28 ; ANIM_OBJ_ENEMYFEETFOLLOW - battleanimobj $00, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, $01, $29 + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_PLAYER, $29 ; ANIM_OBJ_BA - battleanimobj $00, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, $00, $28 + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_ENEMY, $28 ; ANIM_OBJ_BB - battleanimobj $00, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, $01, $29 + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_PLAYER, $29 ; ccfbe diff --git a/battle/objects/functions.asm b/battle/objects/functions.asm index debfcf04d..3f988a2cc 100755 --- a/battle/objects/functions.asm +++ b/battle/objects/functions.asm @@ -451,18 +451,18 @@ GetBallAnimPal: ; cd249 (33:5249) ; cd26c (33:526c) .balls - db MASTER_BALL, 5 - db ULTRA_BALL, 3 - db GREAT_BALL, 6 - db POKE_BALL, 4 - db HEAVY_BALL, 2 - db LEVEL_BALL, 7 - db LURE_BALL, 6 - db FAST_BALL, 6 - db FRIEND_BALL, 3 - db MOON_BALL, 2 - db LOVE_BALL, 4 - db -1, 2 + db MASTER_BALL, PAL_BATTLE_GREEN + db ULTRA_BALL, PAL_BATTLE_YELLOW + db GREAT_BALL, PAL_BATTLE_BLUE + db POKE_BALL, PAL_BATTLE_RED + db HEAVY_BALL, PAL_BATTLE_GRAY + db LEVEL_BALL, PAL_BATTLE_BROWN + db LURE_BALL, PAL_BATTLE_BLUE + db FAST_BALL, PAL_BATTLE_BLUE + db FRIEND_BALL, PAL_BATTLE_YELLOW + db MOON_BALL, PAL_BATTLE_GRAY + db LOVE_BALL, PAL_BATTLE_RED + db -1, PAL_BATTLE_GRAY ; cd284 BattleAnimFunction_10: ; cd284 (33:5284) call BattleAnim_AnonJumptable diff --git a/constants/animation_constants.asm b/constants/animation_constants.asm index 13663fb8e..8802cd579 100644 --- a/constants/animation_constants.asm +++ b/constants/animation_constants.asm @@ -823,3 +823,14 @@ const_value SET 1 const BG_EFFECT_STRUCT_JT_INDEX const BG_EFFECT_STRUCT_BATTLE_TURN const BG_EFFECT_STRUCT_03 + +; animation object palettes + const_def + const PAL_BATTLE_ENEMY ; 0 + const PAL_BATTLE_PLAYER ; 1 + const PAL_BATTLE_GRAY ; 2 + const PAL_BATTLE_YELLOW ; 3 + const PAL_BATTLE_RED ; 4 + const PAL_BATTLE_GREEN ; 5 + const PAL_BATTLE_BLUE ; 6 + const PAL_BATTLE_BROWN ; 7 From e29a1f8f948a5353c1ba8d631aa9352185ca6e29 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 22:14:11 -0500 Subject: [PATCH 11/16] Clarify which rgbds builds to use --- INSTALL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL.md b/INSTALL.md index 40cffb61c..c15044d13 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -58,7 +58,7 @@ In the installer, select the following packages: - `gcc-core` Then download [**rgbds**](https://github.com/rednex/rgbds/releases/). -Extract the archive and put all the `exe` and `dll` files individually in `C:\cygwin64\usr\local\bin`. +Extract rgbds-0.3.3-win64.tar.gz and put all the `exe` and `dll` files individually in **C:\Cygwin64\usr\local\bin**. If you are using 32-bit Windows and Cygwin, extract **rgbds-0.3.3-win32.tar.gz** to **C:\Cygwin\usr\local\bin**. **Note: If you have an older rgbds, you will need to update to 0.3.3 or newer.** Ignore this if you have never installed rgbds before. From 59ee673775b20b4859842c98b8199991fa55790c Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 22:24:43 -0500 Subject: [PATCH 12/16] Consistent pointer labels in WRAM --- engine/phone.asm | 14 +++++++------- event/elevator.asm | 10 +++++----- wram.asm | 9 +++------ 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/engine/phone.asm b/engine/phone.asm index 69d685622..9fe3da7a1 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -381,11 +381,11 @@ Function90199: ; 90199 (24:4199) .DoPhoneCall: ld a, b - ld [wd002], a + ld [PhoneScriptBank], a ld a, l - ld [wd003], a + ld [PhoneCaller], a ld a, h - ld [wd004], a + ld [PhoneCaller + 1], a ld b, BANK(UnknownScript_0x90205) ld de, UnknownScript_0x90205 call ExecuteCallbackScript @@ -495,9 +495,9 @@ PhoneCall:: ; 9029a ld a, b ld [PhoneScriptBank], a ld a, e - ld [PhoneCallerLo], a + ld [PhoneCaller], a ld a, d - ld [PhoneCallerHi], a + ld [PhoneCaller + 1], a call Phone_FirstOfTwoRings call Phone_FirstOfTwoRings callba TrainerRankings_PhoneCalls @@ -523,9 +523,9 @@ Phone_CallerTextboxWithName2: ; 902c9 inc hl ld a, [PhoneScriptBank] ld b, a - ld a, [PhoneCallerLo] + ld a, [PhoneCaller] ld e, a - ld a, [PhoneCallerHi] + ld a, [PhoneCaller + 1] ld d, a call FarPlaceString ret diff --git a/event/elevator.asm b/event/elevator.asm index 7626989b3..9170b642d 100755 --- a/event/elevator.asm +++ b/event/elevator.asm @@ -21,9 +21,9 @@ Elevator:: ; 1342d ld a, b ld [wElevatorPointerBank], a ld a, e - ld [wElevatorPointerLo], a + ld [wElevatorPointer], a ld a, d - ld [wElevatorPointerHi], a + ld [wElevatorPointer + 1], a call .LoadFloors ret ; 1345a @@ -31,7 +31,7 @@ Elevator:: ; 1342d .LoadFloors: ; 1345a ld de, CurElevator ld bc, 4 - ld hl, wElevatorPointerLo + ld hl, wElevatorPointer ld a, [hli] ld h, [hl] ld l, a @@ -52,7 +52,7 @@ Elevator:: ; 1342d ; 1347d .FindCurrentFloor: ; 1347d - ld hl, wElevatorPointerLo + ld hl, wElevatorPointer ld a, [hli] ld h, [hl] ld l, a @@ -102,7 +102,7 @@ Elevator:: ; 1342d Elevator_GoToFloor: ; 134c0 push af - ld hl, wElevatorPointerLo + ld hl, wElevatorPointer ld a, [hli] ld h, [hl] ld l, a diff --git a/wram.asm b/wram.asm index 199495499..ee0bcbbde 100644 --- a/wram.asm +++ b/wram.asm @@ -1565,8 +1565,7 @@ ENDU NEXTU ; d002 ; phone call data PhoneScriptBank:: db -PhoneCallerLo:: db -PhoneCallerHi:: db +PhoneCaller:: dw NEXTU ; d002 ; radio data @@ -1685,8 +1684,7 @@ CurFruit:: db NEXTU ; d03e ; elevator data wElevatorPointerBank:: db -wElevatorPointerLo:: db -wElevatorPointerHi:: db +wElevatorPointer:: dw wElevatorOriginFloor:: db NEXTU ; d03e @@ -1716,8 +1714,7 @@ NEXTU ; d03e ; trainer data ds 3 wTempTrainerHeader:: -wTempTrainerEventFlagLo:: db -wTempTrainerEventFlagHi:: db +wTempTrainerEventFlag:: dw wTempTrainerClass:: db wTempTrainerID:: db wSeenTextPointer:: dw From 31901f73b0cb0c516962975c323df06d73263486 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 22:57:41 -0500 Subject: [PATCH 13/16] Move some gfx/misc/ files into meaningful directories --- Makefile | 36 ++++++++++-------- engine/battle_start.asm | 2 +- engine/billspc.asm | 4 +- engine/events_3.asm | 4 +- engine/overworld.asm | 5 ++- engine/pack.asm | 4 +- engine/pokegear.asm | 8 ++-- engine/slot_machine.asm | 8 ++-- engine/trainer_card.asm | 12 +++--- event/field_moves.asm | 6 +-- gfx/{misc => battle}/dude.2bpp.lz.d13fb490 | Bin gfx/{misc => battle}/dude.png | Bin gfx/font.asm | 10 ++--- gfx/{misc => font}/font.png | Bin gfx/{misc => font}/font_battle_extra.png | Bin gfx/{misc => font}/font_extra.png | Bin gfx/{misc => font}/font_inversed.png | Bin gfx/{misc => font}/unown_font.png | Bin .../boulder_dust.png} | Bin gfx/{overworld => ow_fx}/chris_fish.png | Bin gfx/{misc => ow_fx}/cut_grass.png | Bin gfx/{misc => ow_fx}/cut_tree.png | Bin .../fishing2.png => ow_fx/fishing_rod.png} | Bin .../fishing4.png => ow_fx/grass_rustle.png} | Bin gfx/{overworld => ow_fx}/headbutt_tree.png | Bin gfx/{overworld => ow_fx}/kris_fish.png | Bin gfx/{misc => ow_fx}/shadow.png | Bin .../trainer_battle_pokeball_tiles.png | Bin gfx/{misc => pack}/pack.png | Bin gfx/{misc => pack}/pack_f.png | Bin gfx/{misc => pack}/pack_menu.png | Bin gfx/{ => pc}/pc.2bpp.lz.2201c1aa | Bin gfx/{ => pc}/pc.png | Bin gfx/{ => pc}/pc_mail.png | Bin gfx/{misc => player}/chris.png | Bin .../chris_back.2bpp.lz.0312ddce} | Bin .../player.png => player/chris_back.png} | Bin gfx/{misc => player}/kris.png | Bin gfx/{misc => player}/kris_back.png | Bin gfx/{misc => pokedex}/footprints.png | Bin gfx/pokegear/dexmap_nest_icon.2bpp | 1 + gfx/{misc => pokegear}/fast_ship.png | Bin gfx/pokegear/flymap_label_border.1bpp | Bin 0 -> 48 bytes gfx/{misc => pokegear}/johto.bin | Bin gfx/{misc => pokegear}/kanto.bin | Bin .../pokegear.2bpp.lz.42315ab4 | Bin gfx/{misc => pokegear}/pokegear.png | Bin .../pokegear_sprites.2bpp.lz.7a3cc91f | Bin gfx/{misc => pokegear}/pokegear_sprites.png | Bin .../town_map.2bpp.lz.c0587c86 | Bin gfx/{misc => pokegear}/town_map.png | Bin gfx/{ => shrink}/shrink1.2bpp.lz.d4443930 | Bin gfx/{ => shrink}/shrink1.png | Bin gfx/{ => shrink}/shrink2.2bpp.lz.3f58480a | Bin gfx/{ => shrink}/shrink2.png | Bin gfx/{ => slots}/slots.tilemap | Bin gfx/{ => slots}/slots_1.2bpp.lz.b22ddc13 | Bin gfx/{ => slots}/slots_1.png | Bin gfx/{ => slots}/slots_2.2bpp.lz.b28f76e3 | Bin gfx/{ => slots}/slots_2.png | Bin gfx/{ => slots}/slots_3.2bpp.lz.70c2984c | Bin gfx/{ => slots}/slots_3.png | Bin gfx/{misc => splash}/copyright.png | Bin gfx/tilesets/{ => water}/water.png | Bin gfx/{misc => trainer_card}/badges.png | Bin .../card_right_corner.png | Bin gfx/{misc => trainer_card}/card_status.png | Bin gfx/{misc => trainer_card}/chris_card.png | Bin gfx/{misc => trainer_card}/kris_card.png | Bin gfx/{misc => trainer_card}/leaders.png | Bin gfx/{misc => trainer_card}/trainer_card.png | Bin main.asm | 30 +++++++-------- misc/gfx_41.asm | 8 ++-- tilesets/animations.asm | 2 +- 74 files changed, 73 insertions(+), 67 deletions(-) rename gfx/{misc => battle}/dude.2bpp.lz.d13fb490 (100%) rename gfx/{misc => battle}/dude.png (100%) rename gfx/{misc => font}/font.png (100%) rename gfx/{misc => font}/font_battle_extra.png (100%) rename gfx/{misc => font}/font_extra.png (100%) rename gfx/{misc => font}/font_inversed.png (100%) rename gfx/{misc => font}/unown_font.png (100%) rename gfx/{misc/boulderdust.png => ow_fx/boulder_dust.png} (100%) rename gfx/{overworld => ow_fx}/chris_fish.png (100%) rename gfx/{misc => ow_fx}/cut_grass.png (100%) rename gfx/{misc => ow_fx}/cut_tree.png (100%) rename gfx/{misc/fishing2.png => ow_fx/fishing_rod.png} (100%) rename gfx/{misc/fishing4.png => ow_fx/grass_rustle.png} (100%) rename gfx/{overworld => ow_fx}/headbutt_tree.png (100%) rename gfx/{overworld => ow_fx}/kris_fish.png (100%) rename gfx/{misc => ow_fx}/shadow.png (100%) rename gfx/{overworld => ow_fx}/trainer_battle_pokeball_tiles.png (100%) rename gfx/{misc => pack}/pack.png (100%) rename gfx/{misc => pack}/pack_f.png (100%) rename gfx/{misc => pack}/pack_menu.png (100%) rename gfx/{ => pc}/pc.2bpp.lz.2201c1aa (100%) rename gfx/{ => pc}/pc.png (100%) rename gfx/{ => pc}/pc_mail.png (100%) rename gfx/{misc => player}/chris.png (100%) rename gfx/{misc/player.2bpp.lz.0312ddce => player/chris_back.2bpp.lz.0312ddce} (100%) rename gfx/{misc/player.png => player/chris_back.png} (100%) rename gfx/{misc => player}/kris.png (100%) rename gfx/{misc => player}/kris_back.png (100%) rename gfx/{misc => pokedex}/footprints.png (100%) create mode 100644 gfx/pokegear/dexmap_nest_icon.2bpp rename gfx/{misc => pokegear}/fast_ship.png (100%) create mode 100644 gfx/pokegear/flymap_label_border.1bpp rename gfx/{misc => pokegear}/johto.bin (100%) rename gfx/{misc => pokegear}/kanto.bin (100%) rename gfx/{misc => pokegear}/pokegear.2bpp.lz.42315ab4 (100%) rename gfx/{misc => pokegear}/pokegear.png (100%) rename gfx/{misc => pokegear}/pokegear_sprites.2bpp.lz.7a3cc91f (100%) rename gfx/{misc => pokegear}/pokegear_sprites.png (100%) rename gfx/{misc => pokegear}/town_map.2bpp.lz.c0587c86 (100%) rename gfx/{misc => pokegear}/town_map.png (100%) rename gfx/{ => shrink}/shrink1.2bpp.lz.d4443930 (100%) rename gfx/{ => shrink}/shrink1.png (100%) rename gfx/{ => shrink}/shrink2.2bpp.lz.3f58480a (100%) rename gfx/{ => shrink}/shrink2.png (100%) rename gfx/{ => slots}/slots.tilemap (100%) rename gfx/{ => slots}/slots_1.2bpp.lz.b22ddc13 (100%) rename gfx/{ => slots}/slots_1.png (100%) rename gfx/{ => slots}/slots_2.2bpp.lz.b28f76e3 (100%) rename gfx/{ => slots}/slots_2.png (100%) rename gfx/{ => slots}/slots_3.2bpp.lz.70c2984c (100%) rename gfx/{ => slots}/slots_3.png (100%) mode change 100755 => 100644 rename gfx/{misc => splash}/copyright.png (100%) rename gfx/tilesets/{ => water}/water.png (100%) rename gfx/{misc => trainer_card}/badges.png (100%) rename gfx/{misc => trainer_card}/card_right_corner.png (100%) rename gfx/{misc => trainer_card}/card_status.png (100%) rename gfx/{misc => trainer_card}/chris_card.png (100%) rename gfx/{misc => trainer_card}/kris_card.png (100%) rename gfx/{misc => trainer_card}/leaders.png (100%) rename gfx/{misc => trainer_card}/trainer_card.png (100%) diff --git a/Makefile b/Makefile index 6cbc1e1df..824ededb8 100644 --- a/Makefile +++ b/Makefile @@ -140,8 +140,8 @@ gfx/pics/%/front.animated.tilemap: gfx/pics/%/front.2bpp gfx/pics/%/front.dimens ### Misc file-specific graphics rules -gfx/shrink1.2bpp: rgbgfx += -h -gfx/shrink2.2bpp: rgbgfx += -h +gfx/shrink/shrink1.2bpp: rgbgfx += -h +gfx/shrink/shrink2.2bpp: rgbgfx += -h gfx/trainers/%.2bpp: rgbgfx += -h gfx/trainers/%.pal: gfx/trainers/%.gbcpal @@ -153,7 +153,9 @@ gfx/mail/0b9d86.1bpp: tools/gfx += --remove-whitespace gfx/mail/0b9dc6.1bpp: tools/gfx += --remove-whitespace gfx/mail/0b9cfe.1bpp: tools/gfx += --remove-whitespace -gfx/pokedex/%.2bpp: tools/gfx += --trim-whitespace +gfx/pokedex/pokedex.2bpp: tools/gfx += --trim-whitespace +gfx/pokedex/sgb.2bpp: tools/gfx += --trim-whitespace +gfx/pokedex/slowpoke.2bpp: tools/gfx += --trim-whitespace gfx/title/crystal.2bpp: tools/gfx += --interleave --png=$< gfx/title/old_fg.2bpp: tools/gfx += --interleave --png=$< @@ -162,10 +164,8 @@ gfx/title/logo.2bpp: rgbgfx += -x 4 gfx/trade/ball.2bpp: tools/gfx += --remove-whitespace gfx/trade/game_boy_n64.2bpp: tools/gfx += --trim-whitespace -gfx/slots_2.2bpp: tools/gfx += --interleave --png=$< -gfx/slots_3.2bpp: tools/gfx += --interleave --png=$< --remove-duplicates --keep-whitespace --remove-xflip -gfx/slots_3a.2bpp: tools/gfx += --interleave --png=$< -gfx/slots_3b.2bpp: tools/gfx += --interleave --png=$< --remove-duplicates --keep-whitespace --remove-xflip +gfx/slots/slots_2.2bpp: tools/gfx += --interleave --png=$< +gfx/slots/slots_3.2bpp: tools/gfx += --interleave --png=$< --remove-duplicates --keep-whitespace --remove-xflip gfx/fx/angels.2bpp: tools/gfx += --trim-whitespace gfx/fx/beam.2bpp: tools/gfx += --remove-xflip --remove-yflip --remove-whitespace @@ -185,16 +185,20 @@ gfx/fx/rocks.2bpp: tools/gfx += --remove-whitespace gfx/fx/skyattack.2bpp: tools/gfx += --remove-whitespace gfx/fx/status.2bpp: tools/gfx += --remove-whitespace -gfx/misc/chris.2bpp: rgbgfx += -h -gfx/misc/chris_card.2bpp: rgbgfx += -h -gfx/misc/kris.2bpp: rgbgfx += -h -gfx/misc/kris_card.2bpp: rgbgfx += -h -gfx/misc/kris_back.2bpp: rgbgfx += -h -gfx/misc/dude.2bpp: rgbgfx += -h +gfx/player/chris.2bpp: rgbgfx += -h +gfx/player/chris_back.2bpp: rgbgfx += -h +gfx/player/kris.2bpp: rgbgfx += -h +gfx/player/kris_back.2bpp: rgbgfx += -h + +gfx/trainer_card/chris_card.2bpp: rgbgfx += -h +gfx/trainer_card/kris_card.2bpp: rgbgfx += -h + +gfx/battle/dude.2bpp: rgbgfx += -h + gfx/misc/unknown_egg.2bpp: rgbgfx += -h -gfx/misc/player.2bpp: rgbgfx += -h -gfx/misc/pokegear.2bpp: rgbgfx += -x2 -gfx/misc/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace + +gfx/pokegear/pokegear.2bpp: rgbgfx += -x2 +gfx/pokegear/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace gfx/unknown/0e0ea8.2bpp: tools/gfx += --remove-whitespace gfx/unknown/0f8f34.1bpp: tools/gfx += --trim-whitespace diff --git a/engine/battle_start.asm b/engine/battle_start.asm index 627519daa..9097e74ed 100644 --- a/engine/battle_start.asm +++ b/engine/battle_start.asm @@ -141,7 +141,7 @@ ConvertTrainerBattlePokeballTilesTo2bpp: ; 8c2cf ; 8c2f4 TrainerBattlePokeballTiles: ; 8c2f4 -INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp" +INCBIN "gfx/ow_fx/trainer_battle_pokeball_tiles.2bpp" FlashyTransitionToBattle: ; 8c314 diff --git a/engine/billspc.asm b/engine/billspc.asm index 4d8bf1c48..85f01af37 100755 --- a/engine/billspc.asm +++ b/engine/billspc.asm @@ -2280,8 +2280,8 @@ BillsPC_InitGFX: ; e33e8 (38:73e8) ret ; e3419 (38:7419) -PCSelectLZ: INCBIN "gfx/pc.2bpp.lz" -PCMailGFX: INCBIN "gfx/pc_mail.2bpp" +PCSelectLZ: INCBIN "gfx/pc/pc.2bpp.lz" +PCMailGFX: INCBIN "gfx/pc/pc_mail.2bpp" ; e34dd PCString_ChooseaPKMN: db "Choose a .@" diff --git a/engine/events_3.asm b/engine/events_3.asm index b6aaea3b7..cff4eefb9 100755 --- a/engine/events_3.asm +++ b/engine/events_3.asm @@ -850,9 +850,9 @@ LoadFishingGFX: ; b84b3 ; b84f2 FishingGFX: ; b84f2 -INCBIN "gfx/overworld/chris_fish.2bpp" +INCBIN "gfx/ow_fx/chris_fish.2bpp" ; b8582 KrisFishingGFX: ; b8582 -INCBIN "gfx/overworld/kris_fish.2bpp" +INCBIN "gfx/ow_fx/kris_fish.2bpp" ; b8612 diff --git a/engine/overworld.asm b/engine/overworld.asm index 330dd3893..5bbd70a85 100755 --- a/engine/overworld.asm +++ b/engine/overworld.asm @@ -723,6 +723,7 @@ emote_header: MACRO ENDM EmotesPointers: ; 144d +; entries correspond to EMOTE_* constants ; graphics address, length, starting tile emote_header ShockEmote, 4, $78 emote_header QuestionEmote, 4, $78 @@ -733,9 +734,9 @@ EmotesPointers: ; 144d emote_header SleepEmote, 4, $78 emote_header FishEmote, 4, $78 emote_header JumpShadowGFX, 1, $7c - emote_header FishingRodGFX2, 2, $7c + emote_header FishingRodGFX, 2, $7c emote_header BoulderDustGFX, 2, $7e - emote_header FishingRodGFX4, 1, $7e + emote_header GrassRustleGFX, 1, $7e ; 14495 diff --git a/engine/pack.asm b/engine/pack.asm index dad9a799d..e10b70e12 100644 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -1716,6 +1716,6 @@ TextJump_YouCantUseItInABattle: ; 0x10b11 ; 0x10b16 PackMenuGFX: -INCBIN "gfx/misc/pack_menu.2bpp" +INCBIN "gfx/pack/pack_menu.2bpp" PackGFX: -INCBIN "gfx/misc/pack.2bpp" +INCBIN "gfx/pack/pack.2bpp" diff --git a/engine/pokegear.asm b/engine/pokegear.asm index 948589639..901053c9f 100755 --- a/engine/pokegear.asm +++ b/engine/pokegear.asm @@ -136,7 +136,7 @@ Pokegear_LoadGFX: ; 90c4e ; 90cb2 FastShipGFX: ; 90cb2 -INCBIN "gfx/misc/fast_ship.2bpp" +INCBIN "gfx/pokegear/fast_ship.2bpp" ; 90d32 InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32) @@ -1407,7 +1407,7 @@ PokegearText_DeleteStoredNumber: ; 0x914d8 ; 0x914dd PokegearSpritesGFX: ; 914dd -INCBIN "gfx/misc/pokegear_sprites.2bpp.lz" +INCBIN "gfx/pokegear/pokegear_sprites.2bpp.lz" ; 9150d RadioTilemapRLE: ; 9150d @@ -2970,11 +2970,11 @@ LoadTownMapGFX: ; 91ff2 ; 91fff JohtoMap: ; 91fff -INCBIN "gfx/misc/johto.bin" +INCBIN "gfx/pokegear/johto.bin" ; 92168 KantoMap: ; 92168 -INCBIN "gfx/misc/kanto.bin" +INCBIN "gfx/pokegear/kanto.bin" ; 922d1 PokedexNestIconGFX: ; 922d1 diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index c131e584f..e23b760cd 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -2211,17 +2211,17 @@ Reel3Tilemap: ; 9334b ; 9335d SlotsTilemap: ; 9335d -INCBIN "gfx/slots.tilemap" +INCBIN "gfx/slots/slots.tilemap" ; 9344d Slots1LZ: ; 9344d -INCBIN "gfx/slots_1.2bpp.lz" +INCBIN "gfx/slots/slots_1.2bpp.lz" ; 935cd Slots2LZ: ; 935cd -INCBIN "gfx/slots_2.2bpp.lz" +INCBIN "gfx/slots/slots_2.2bpp.lz" ; 9382d Slots3LZ: ; 9382d -INCBIN "gfx/slots_3.2bpp.lz" +INCBIN "gfx/slots/slots_3.2bpp.lz" ; 93a3d diff --git a/engine/trainer_card.asm b/engine/trainer_card.asm index 497d81ae6..499891fb0 100755 --- a/engine/trainer_card.asm +++ b/engine/trainer_card.asm @@ -606,11 +606,11 @@ TrainerCard_JohtoBadgesOAM: ; 254c9 db $1c | $80, $20, $24, $20 | $80 ; 25523 -CardStatusGFX: INCBIN "gfx/misc/card_status.2bpp" +CardStatusGFX: INCBIN "gfx/trainer_card/card_status.2bpp" -LeaderGFX: INCBIN "gfx/misc/leaders.2bpp" -LeaderGFX2: INCBIN "gfx/misc/leaders.2bpp" -BadgeGFX: INCBIN "gfx/misc/badges.2bpp" -BadgeGFX2: INCBIN "gfx/misc/badges.2bpp" +LeaderGFX: INCBIN "gfx/trainer_card/leaders.2bpp" +LeaderGFX2: INCBIN "gfx/trainer_card/leaders.2bpp" +BadgeGFX: INCBIN "gfx/trainer_card/badges.2bpp" +BadgeGFX2: INCBIN "gfx/trainer_card/badges.2bpp" -CardRightCornerGFX: INCBIN "gfx/misc/card_right_corner.2bpp" +CardRightCornerGFX: INCBIN "gfx/trainer_card/card_right_corner.2bpp" diff --git a/event/field_moves.asm b/event/field_moves.asm index 158f65598..2869f9be9 100755 --- a/event/field_moves.asm +++ b/event/field_moves.asm @@ -75,7 +75,7 @@ ShakeHeadbuttTree: ; 8c80a ; 8c893 HeadbuttTreeGFX: ; 8c893 -INCBIN "gfx/overworld/headbutt_tree.2bpp" +INCBIN "gfx/ow_fx/headbutt_tree.2bpp" ; 8c913 HideHeadbuttTree: ; 8c913 @@ -152,11 +152,11 @@ OWCutAnimation: ; 8c940 ; 8c98c CutTreeGFX: ; c898c -INCBIN "gfx/misc/cut_tree.2bpp" +INCBIN "gfx/ow_fx/cut_tree.2bpp" ; c89cc CutGrassGFX: ; 8c9cc -INCBIN "gfx/misc/cut_grass.2bpp" +INCBIN "gfx/ow_fx/cut_grass.2bpp" ; 8ca0c OWCutJumptable: ; 8ca0c diff --git a/gfx/misc/dude.2bpp.lz.d13fb490 b/gfx/battle/dude.2bpp.lz.d13fb490 similarity index 100% rename from gfx/misc/dude.2bpp.lz.d13fb490 rename to gfx/battle/dude.2bpp.lz.d13fb490 diff --git a/gfx/misc/dude.png b/gfx/battle/dude.png similarity index 100% rename from gfx/misc/dude.png rename to gfx/battle/dude.png diff --git a/gfx/font.asm b/gfx/font.asm index 578085ddf..b61fc1e23 100755 --- a/gfx/font.asm +++ b/gfx/font.asm @@ -1,11 +1,11 @@ FontExtra: -INCBIN "gfx/misc/font_extra.2bpp" +INCBIN "gfx/font/font_extra.2bpp" Font: -INCBIN "gfx/misc/font.1bpp" +INCBIN "gfx/font/font.1bpp" FontBattleExtra: -INCBIN "gfx/misc/font_battle_extra.2bpp" +INCBIN "gfx/font/font_battle_extra.2bpp" Frames: ; f8800 INCBIN "gfx/frames/1.1bpp" @@ -47,7 +47,7 @@ INCBIN "gfx/battle/expbar.2bpp" ; f8ba0 TownMapGFX: ; f8ba0 -INCBIN "gfx/misc/town_map.2bpp.lz" +INCBIN "gfx/pokegear/town_map.2bpp.lz" ; f8ea4 WeekdayKanjiGFX: ; unused kanji @@ -79,7 +79,7 @@ INCBIN "gfx/unknown/0f9424.2bpp" ; f9434 Footprints: ; f9434 -INCBIN "gfx/misc/footprints.1bpp" +INCBIN "gfx/pokedex/footprints.1bpp" ; fb434 ; This and the following two functions are unreferenced. diff --git a/gfx/misc/font.png b/gfx/font/font.png similarity index 100% rename from gfx/misc/font.png rename to gfx/font/font.png diff --git a/gfx/misc/font_battle_extra.png b/gfx/font/font_battle_extra.png similarity index 100% rename from gfx/misc/font_battle_extra.png rename to gfx/font/font_battle_extra.png diff --git a/gfx/misc/font_extra.png b/gfx/font/font_extra.png similarity index 100% rename from gfx/misc/font_extra.png rename to gfx/font/font_extra.png diff --git a/gfx/misc/font_inversed.png b/gfx/font/font_inversed.png similarity index 100% rename from gfx/misc/font_inversed.png rename to gfx/font/font_inversed.png diff --git a/gfx/misc/unown_font.png b/gfx/font/unown_font.png similarity index 100% rename from gfx/misc/unown_font.png rename to gfx/font/unown_font.png diff --git a/gfx/misc/boulderdust.png b/gfx/ow_fx/boulder_dust.png similarity index 100% rename from gfx/misc/boulderdust.png rename to gfx/ow_fx/boulder_dust.png diff --git a/gfx/overworld/chris_fish.png b/gfx/ow_fx/chris_fish.png similarity index 100% rename from gfx/overworld/chris_fish.png rename to gfx/ow_fx/chris_fish.png diff --git a/gfx/misc/cut_grass.png b/gfx/ow_fx/cut_grass.png similarity index 100% rename from gfx/misc/cut_grass.png rename to gfx/ow_fx/cut_grass.png diff --git a/gfx/misc/cut_tree.png b/gfx/ow_fx/cut_tree.png similarity index 100% rename from gfx/misc/cut_tree.png rename to gfx/ow_fx/cut_tree.png diff --git a/gfx/misc/fishing2.png b/gfx/ow_fx/fishing_rod.png similarity index 100% rename from gfx/misc/fishing2.png rename to gfx/ow_fx/fishing_rod.png diff --git a/gfx/misc/fishing4.png b/gfx/ow_fx/grass_rustle.png similarity index 100% rename from gfx/misc/fishing4.png rename to gfx/ow_fx/grass_rustle.png diff --git a/gfx/overworld/headbutt_tree.png b/gfx/ow_fx/headbutt_tree.png similarity index 100% rename from gfx/overworld/headbutt_tree.png rename to gfx/ow_fx/headbutt_tree.png diff --git a/gfx/overworld/kris_fish.png b/gfx/ow_fx/kris_fish.png similarity index 100% rename from gfx/overworld/kris_fish.png rename to gfx/ow_fx/kris_fish.png diff --git a/gfx/misc/shadow.png b/gfx/ow_fx/shadow.png similarity index 100% rename from gfx/misc/shadow.png rename to gfx/ow_fx/shadow.png diff --git a/gfx/overworld/trainer_battle_pokeball_tiles.png b/gfx/ow_fx/trainer_battle_pokeball_tiles.png similarity index 100% rename from gfx/overworld/trainer_battle_pokeball_tiles.png rename to gfx/ow_fx/trainer_battle_pokeball_tiles.png diff --git a/gfx/misc/pack.png b/gfx/pack/pack.png similarity index 100% rename from gfx/misc/pack.png rename to gfx/pack/pack.png diff --git a/gfx/misc/pack_f.png b/gfx/pack/pack_f.png similarity index 100% rename from gfx/misc/pack_f.png rename to gfx/pack/pack_f.png diff --git a/gfx/misc/pack_menu.png b/gfx/pack/pack_menu.png similarity index 100% rename from gfx/misc/pack_menu.png rename to gfx/pack/pack_menu.png diff --git a/gfx/pc.2bpp.lz.2201c1aa b/gfx/pc/pc.2bpp.lz.2201c1aa similarity index 100% rename from gfx/pc.2bpp.lz.2201c1aa rename to gfx/pc/pc.2bpp.lz.2201c1aa diff --git a/gfx/pc.png b/gfx/pc/pc.png similarity index 100% rename from gfx/pc.png rename to gfx/pc/pc.png diff --git a/gfx/pc_mail.png b/gfx/pc/pc_mail.png similarity index 100% rename from gfx/pc_mail.png rename to gfx/pc/pc_mail.png diff --git a/gfx/misc/chris.png b/gfx/player/chris.png similarity index 100% rename from gfx/misc/chris.png rename to gfx/player/chris.png diff --git a/gfx/misc/player.2bpp.lz.0312ddce b/gfx/player/chris_back.2bpp.lz.0312ddce similarity index 100% rename from gfx/misc/player.2bpp.lz.0312ddce rename to gfx/player/chris_back.2bpp.lz.0312ddce diff --git a/gfx/misc/player.png b/gfx/player/chris_back.png similarity index 100% rename from gfx/misc/player.png rename to gfx/player/chris_back.png diff --git a/gfx/misc/kris.png b/gfx/player/kris.png similarity index 100% rename from gfx/misc/kris.png rename to gfx/player/kris.png diff --git a/gfx/misc/kris_back.png b/gfx/player/kris_back.png similarity index 100% rename from gfx/misc/kris_back.png rename to gfx/player/kris_back.png diff --git a/gfx/misc/footprints.png b/gfx/pokedex/footprints.png similarity index 100% rename from gfx/misc/footprints.png rename to gfx/pokedex/footprints.png diff --git a/gfx/pokegear/dexmap_nest_icon.2bpp b/gfx/pokegear/dexmap_nest_icon.2bpp new file mode 100644 index 000000000..48a4938e6 --- /dev/null +++ b/gfx/pokegear/dexmap_nest_icon.2bpp @@ -0,0 +1 @@ +BBffÿÿ½ÿ™ÿÿÿZZ$$ \ No newline at end of file diff --git a/gfx/misc/fast_ship.png b/gfx/pokegear/fast_ship.png similarity index 100% rename from gfx/misc/fast_ship.png rename to gfx/pokegear/fast_ship.png diff --git a/gfx/pokegear/flymap_label_border.1bpp b/gfx/pokegear/flymap_label_border.1bpp new file mode 100644 index 0000000000000000000000000000000000000000..671aab1d756b16f834cca87c4fff021e0a5afed5 GIT binary patch literal 48 tcmezI;6OtI0|SFRJ2N9AkOqQ=h64|N0BJ@>W_EcAn>q%DIvWWX4FD_-3eNxl literal 0 HcmV?d00001 diff --git a/gfx/misc/johto.bin b/gfx/pokegear/johto.bin similarity index 100% rename from gfx/misc/johto.bin rename to gfx/pokegear/johto.bin diff --git a/gfx/misc/kanto.bin b/gfx/pokegear/kanto.bin similarity index 100% rename from gfx/misc/kanto.bin rename to gfx/pokegear/kanto.bin diff --git a/gfx/misc/pokegear.2bpp.lz.42315ab4 b/gfx/pokegear/pokegear.2bpp.lz.42315ab4 similarity index 100% rename from gfx/misc/pokegear.2bpp.lz.42315ab4 rename to gfx/pokegear/pokegear.2bpp.lz.42315ab4 diff --git a/gfx/misc/pokegear.png b/gfx/pokegear/pokegear.png similarity index 100% rename from gfx/misc/pokegear.png rename to gfx/pokegear/pokegear.png diff --git a/gfx/misc/pokegear_sprites.2bpp.lz.7a3cc91f b/gfx/pokegear/pokegear_sprites.2bpp.lz.7a3cc91f similarity index 100% rename from gfx/misc/pokegear_sprites.2bpp.lz.7a3cc91f rename to gfx/pokegear/pokegear_sprites.2bpp.lz.7a3cc91f diff --git a/gfx/misc/pokegear_sprites.png b/gfx/pokegear/pokegear_sprites.png similarity index 100% rename from gfx/misc/pokegear_sprites.png rename to gfx/pokegear/pokegear_sprites.png diff --git a/gfx/misc/town_map.2bpp.lz.c0587c86 b/gfx/pokegear/town_map.2bpp.lz.c0587c86 similarity index 100% rename from gfx/misc/town_map.2bpp.lz.c0587c86 rename to gfx/pokegear/town_map.2bpp.lz.c0587c86 diff --git a/gfx/misc/town_map.png b/gfx/pokegear/town_map.png similarity index 100% rename from gfx/misc/town_map.png rename to gfx/pokegear/town_map.png diff --git a/gfx/shrink1.2bpp.lz.d4443930 b/gfx/shrink/shrink1.2bpp.lz.d4443930 similarity index 100% rename from gfx/shrink1.2bpp.lz.d4443930 rename to gfx/shrink/shrink1.2bpp.lz.d4443930 diff --git a/gfx/shrink1.png b/gfx/shrink/shrink1.png similarity index 100% rename from gfx/shrink1.png rename to gfx/shrink/shrink1.png diff --git a/gfx/shrink2.2bpp.lz.3f58480a b/gfx/shrink/shrink2.2bpp.lz.3f58480a similarity index 100% rename from gfx/shrink2.2bpp.lz.3f58480a rename to gfx/shrink/shrink2.2bpp.lz.3f58480a diff --git a/gfx/shrink2.png b/gfx/shrink/shrink2.png similarity index 100% rename from gfx/shrink2.png rename to gfx/shrink/shrink2.png diff --git a/gfx/slots.tilemap b/gfx/slots/slots.tilemap similarity index 100% rename from gfx/slots.tilemap rename to gfx/slots/slots.tilemap diff --git a/gfx/slots_1.2bpp.lz.b22ddc13 b/gfx/slots/slots_1.2bpp.lz.b22ddc13 similarity index 100% rename from gfx/slots_1.2bpp.lz.b22ddc13 rename to gfx/slots/slots_1.2bpp.lz.b22ddc13 diff --git a/gfx/slots_1.png b/gfx/slots/slots_1.png similarity index 100% rename from gfx/slots_1.png rename to gfx/slots/slots_1.png diff --git a/gfx/slots_2.2bpp.lz.b28f76e3 b/gfx/slots/slots_2.2bpp.lz.b28f76e3 similarity index 100% rename from gfx/slots_2.2bpp.lz.b28f76e3 rename to gfx/slots/slots_2.2bpp.lz.b28f76e3 diff --git a/gfx/slots_2.png b/gfx/slots/slots_2.png similarity index 100% rename from gfx/slots_2.png rename to gfx/slots/slots_2.png diff --git a/gfx/slots_3.2bpp.lz.70c2984c b/gfx/slots/slots_3.2bpp.lz.70c2984c similarity index 100% rename from gfx/slots_3.2bpp.lz.70c2984c rename to gfx/slots/slots_3.2bpp.lz.70c2984c diff --git a/gfx/slots_3.png b/gfx/slots/slots_3.png old mode 100755 new mode 100644 similarity index 100% rename from gfx/slots_3.png rename to gfx/slots/slots_3.png diff --git a/gfx/misc/copyright.png b/gfx/splash/copyright.png similarity index 100% rename from gfx/misc/copyright.png rename to gfx/splash/copyright.png diff --git a/gfx/tilesets/water.png b/gfx/tilesets/water/water.png similarity index 100% rename from gfx/tilesets/water.png rename to gfx/tilesets/water/water.png diff --git a/gfx/misc/badges.png b/gfx/trainer_card/badges.png similarity index 100% rename from gfx/misc/badges.png rename to gfx/trainer_card/badges.png diff --git a/gfx/misc/card_right_corner.png b/gfx/trainer_card/card_right_corner.png similarity index 100% rename from gfx/misc/card_right_corner.png rename to gfx/trainer_card/card_right_corner.png diff --git a/gfx/misc/card_status.png b/gfx/trainer_card/card_status.png similarity index 100% rename from gfx/misc/card_status.png rename to gfx/trainer_card/card_status.png diff --git a/gfx/misc/chris_card.png b/gfx/trainer_card/chris_card.png similarity index 100% rename from gfx/misc/chris_card.png rename to gfx/trainer_card/chris_card.png diff --git a/gfx/misc/kris_card.png b/gfx/trainer_card/kris_card.png similarity index 100% rename from gfx/misc/kris_card.png rename to gfx/trainer_card/kris_card.png diff --git a/gfx/misc/leaders.png b/gfx/trainer_card/leaders.png similarity index 100% rename from gfx/misc/leaders.png rename to gfx/trainer_card/leaders.png diff --git a/gfx/misc/trainer_card.png b/gfx/trainer_card/trainer_card.png similarity index 100% rename from gfx/misc/trainer_card.png rename to gfx/trainer_card/trainer_card.png diff --git a/main.asm b/main.asm index 40bfa7cbe..c50cef618 100644 --- a/main.asm +++ b/main.asm @@ -1178,10 +1178,10 @@ INCLUDE "engine/wildmons.asm" INCLUDE "battle/link_result.asm" ChrisBackpic: ; 2ba1a -INCBIN "gfx/misc/player.2bpp.lz" +INCBIN "gfx/player/chris_back.2bpp.lz" DudeBackpic: ; 2bbaa -INCBIN "gfx/misc/dude.2bpp.lz" +INCBIN "gfx/battle/dude.2bpp.lz" SECTION "bankB", ROMX @@ -1969,7 +1969,7 @@ PackFGFXPointers: ; 48e93 dw PackFGFX + (15 tiles) * 2 PackFGFX: ; 48e9b -INCBIN "gfx/misc/pack_f.2bpp" +INCBIN "gfx/pack/pack_f.2bpp" Special_MoveTutor: ; 4925b call FadeToMenu @@ -2487,10 +2487,10 @@ endr ret Shrink1Pic: ; 4d249 -INCBIN "gfx/shrink1.2bpp.lz" +INCBIN "gfx/shrink/shrink1.2bpp.lz" Shrink2Pic: ; 4d2d9 -INCBIN "gfx/shrink2.2bpp.lz" +INCBIN "gfx/shrink/shrink2.2bpp.lz" LinkMonStatsScreen: ; 4d319 ld a, [wMenuCursorY] @@ -4857,13 +4857,13 @@ GetCardPic: ; 8833e ret ChrisCardPic: ; 88365 -INCBIN "gfx/misc/chris_card.2bpp" +INCBIN "gfx/trainer_card/chris_card.2bpp" KrisCardPic: ; 88595 -INCBIN "gfx/misc/kris_card.2bpp" +INCBIN "gfx/trainer_card/kris_card.2bpp" CardGFX: ; 887c5 -INCBIN "gfx/misc/trainer_card.2bpp" +INCBIN "gfx/trainer_card/trainer_card.2bpp" GetPlayerBackpic: ; 88825 ld a, [PlayerGender] @@ -4943,10 +4943,10 @@ DrawIntroPlayerPic: ; 88874 ret ChrisPic: ; 888a9 -INCBIN "gfx/misc/chris.2bpp" +INCBIN "gfx/player/chris.2bpp" KrisPic: ; 88bb9 -INCBIN "gfx/misc/kris.2bpp" +INCBIN "gfx/player/kris.2bpp" GetKrisBackpic: ; 88ec9 ; Kris's backpic is uncompressed. @@ -4957,7 +4957,7 @@ GetKrisBackpic: ; 88ec9 ret KrisBackpic: ; 88ed6 -INCBIN "gfx/misc/kris_back.2bpp" +INCBIN "gfx/player/kris_back.2bpp" String_89116: db "-----@" @@ -5310,7 +5310,7 @@ INCLUDE "gfx/pics/kanto_frames.asm" SECTION "bank36", ROMX -FontInversed: INCBIN "gfx/misc/font_inversed.1bpp" +FontInversed: INCBIN "gfx/font/font_inversed.1bpp" SECTION "Pic Animations 3", ROMX @@ -5452,7 +5452,7 @@ INCLUDE "engine/billspc.asm" SECTION "bank39", ROMX CopyrightGFX:: ; e4000 -INCBIN "gfx/misc/copyright.2bpp" +INCBIN "gfx/splash/copyright.2bpp" INCLUDE "engine/options_menu.asm" INCLUDE "engine/crystal_intro.asm" @@ -5595,7 +5595,7 @@ INCLUDE "engine/landmarks.asm" SECTION "bank77", ROMX UnownFont: ; 1dc000 -INCBIN "gfx/misc/unown_font.2bpp" +INCBIN "gfx/font/unown_font.2bpp" INCLUDE "misc/printer_77.asm" @@ -5908,7 +5908,7 @@ TownMap_ConvertLineBreakCharacters: ; 1de2c5 ret PokegearGFX: ; 1de2e4 -INCBIN "gfx/misc/pokegear.2bpp.lz" +INCBIN "gfx/pokegear/pokegear.2bpp.lz" IsMailEuropean: ; 1de5c8 ; return 1 if French diff --git a/misc/gfx_41.asm b/misc/gfx_41.asm index 952742ec1..8f128a7bd 100755 --- a/misc/gfx_41.asm +++ b/misc/gfx_41.asm @@ -632,7 +632,7 @@ HeartEmote: INCBIN "gfx/emotes/heart.2bpp" BoltEmote: INCBIN "gfx/emotes/bolt.2bpp" SleepEmote: INCBIN "gfx/emotes/sleep.2bpp" FishEmote: INCBIN "gfx/emotes/fish.2bpp" -JumpShadowGFX: INCBIN "gfx/misc/shadow.2bpp" -FishingRodGFX2: INCBIN "gfx/misc/fishing2.2bpp" -BoulderDustGFX: INCBIN "gfx/misc/boulderdust.2bpp" -FishingRodGFX4: INCBIN "gfx/misc/fishing4.2bpp" +JumpShadowGFX: INCBIN "gfx/ow_fx/shadow.2bpp" +FishingRodGFX: INCBIN "gfx/ow_fx/fishing_rod.2bpp" +BoulderDustGFX: INCBIN "gfx/ow_fx/boulder_dust.2bpp" +GrassRustleGFX: INCBIN "gfx/ow_fx/grass_rustle.2bpp" diff --git a/tilesets/animations.asm b/tilesets/animations.asm index 76b3c65f8..124c84b58 100644 --- a/tilesets/animations.asm +++ b/tilesets/animations.asm @@ -492,7 +492,7 @@ AnimateWaterTile: ; fc402 ; fc41c WaterTileFrames: ; fc41c - INCBIN "gfx/tilesets/water.2bpp" + INCBIN "gfx/tilesets/water/water.2bpp" ; fc45c From 32ea595c47d84cf6759f15c0d82fcad35ac4dcbd Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sat, 9 Dec 2017 23:37:08 -0500 Subject: [PATCH 14/16] Move some gfx/unknown/ files into meaningful directories --- Makefile | 3 +- engine/breeding/egg.asm | 2 +- engine/card_flip.asm | 10 +++--- engine/diploma.asm | 6 ++-- engine/dummy_game.asm | 2 +- engine/healmachineanim.asm | 2 +- engine/link_trade.asm | 8 ++--- engine/namingscreen.asm | 12 +++---- engine/timeset.asm | 32 +++++++++--------- event/magikarp.asm | 2 +- .../card_flip_1.2bpp.lz.86f267e8} | Bin .../0e0d16.png => card_flip/card_flip_1.png} | Bin .../card_flip_2.2bpp.lz.6a6c671d} | Bin .../0e0ea8.png => card_flip/card_flip_2.png} | Bin .../card_flip_3.2bpp.lz.53679db7} | Bin .../0e0cdb.png => card_flip/card_flip_3.png} | Bin gfx/{unknown/0e0cf6.png => card_flip/off.png} | Bin gfx/{unknown/0e0d06.png => card_flip/on.png} | Bin .../diploma.2bpp.lz.7b56f7e5} | Bin .../1dd805.png => diploma/diploma.png} | Bin .../1ddc4b.tilemap => diploma/page1.tilemap} | Bin .../1dddb3.tilemap => diploma/page2.tilemap} | Bin .../dummy_game.2bpp.lz.821ba441} | Bin .../0e2221.png => dummy_game/dummy_game.png} | Bin gfx/{unknown/017393.png => evo/egg_hatch.png} | Bin gfx/font.asm | 12 +++---- .../0fbbbb.png => font/feet_inches.png} | Bin gfx/{unknown/0f9424.png => font/up_arrow.png} | Bin .../011cb7.png => namingscreen/border.png} | Bin .../011cc7.png => namingscreen/cursor.png} | Bin .../011e5d.png => namingscreen/end.png} | Bin .../middle_line.png} | Bin .../011e6d.png => namingscreen/underline.png} | Bin .../0123fc.png => ow_fx/heal_machine.png} | Bin .../0f8aa0.png => stats/exp_bar_ends.png} | Bin .../0f89b0.png => stats/stats_tiles.png} | Bin .../0908fb.png => timeset/background.png} | Bin .../09090b.png => timeset/down_arrow.png} | Bin .../090903.png => timeset/up_arrow.png} | Bin .../border_cable_bottom.tilemap} | 0 .../border_cable_top.tilemap} | 0 .../border_mobile_fullscreen.tilemap} | 0 .../16cfc1.png => trade/border_tiles.png} | Bin macros/charmap.asm | 16 ++++----- misc/printer_77.asm | 4 +-- 45 files changed, 56 insertions(+), 55 deletions(-) rename gfx/{unknown/0e0d16.2bpp.lz.86f267e8 => card_flip/card_flip_1.2bpp.lz.86f267e8} (100%) rename gfx/{unknown/0e0d16.png => card_flip/card_flip_1.png} (100%) rename gfx/{unknown/0e0ea8.2bpp.lz.6a6c671d => card_flip/card_flip_2.2bpp.lz.6a6c671d} (100%) rename gfx/{unknown/0e0ea8.png => card_flip/card_flip_2.png} (100%) mode change 100755 => 100644 rename gfx/{unknown/0e0cdb.2bpp.lz.53679db7 => card_flip/card_flip_3.2bpp.lz.53679db7} (100%) rename gfx/{unknown/0e0cdb.png => card_flip/card_flip_3.png} (100%) rename gfx/{unknown/0e0cf6.png => card_flip/off.png} (100%) rename gfx/{unknown/0e0d06.png => card_flip/on.png} (100%) rename gfx/{unknown/1dd805.2bpp.lz.7b56f7e5 => diploma/diploma.2bpp.lz.7b56f7e5} (100%) rename gfx/{unknown/1dd805.png => diploma/diploma.png} (100%) rename gfx/{unknown/1ddc4b.tilemap => diploma/page1.tilemap} (100%) rename gfx/{unknown/1dddb3.tilemap => diploma/page2.tilemap} (100%) rename gfx/{unknown/0e2221.2bpp.lz.821ba441 => dummy_game/dummy_game.2bpp.lz.821ba441} (100%) rename gfx/{unknown/0e2221.png => dummy_game/dummy_game.png} (100%) rename gfx/{unknown/017393.png => evo/egg_hatch.png} (100%) rename gfx/{unknown/0fbbbb.png => font/feet_inches.png} (100%) rename gfx/{unknown/0f9424.png => font/up_arrow.png} (100%) rename gfx/{unknown/011cb7.png => namingscreen/border.png} (100%) rename gfx/{unknown/011cc7.png => namingscreen/cursor.png} (100%) rename gfx/{unknown/011e5d.png => namingscreen/end.png} (100%) rename gfx/{unknown/011e65.png => namingscreen/middle_line.png} (100%) rename gfx/{unknown/011e6d.png => namingscreen/underline.png} (100%) rename gfx/{unknown/0123fc.png => ow_fx/heal_machine.png} (100%) rename gfx/{unknown/0f8aa0.png => stats/exp_bar_ends.png} (100%) rename gfx/{unknown/0f89b0.png => stats/stats_tiles.png} (100%) rename gfx/{unknown/0908fb.png => timeset/background.png} (100%) rename gfx/{unknown/09090b.png => timeset/down_arrow.png} (100%) rename gfx/{unknown/090903.png => timeset/up_arrow.png} (100%) rename gfx/{unknown/16d5f5.tilemap => trade/border_cable_bottom.tilemap} (100%) rename gfx/{unknown/16d5cd.tilemap => trade/border_cable_top.tilemap} (100%) rename gfx/{unknown/16d465.tilemap => trade/border_mobile_fullscreen.tilemap} (100%) rename gfx/{unknown/16cfc1.png => trade/border_tiles.png} (100%) diff --git a/Makefile b/Makefile index 824ededb8..be1ca99c7 100644 --- a/Makefile +++ b/Makefile @@ -167,6 +167,8 @@ gfx/trade/game_boy_n64.2bpp: tools/gfx += --trim-whitespace gfx/slots/slots_2.2bpp: tools/gfx += --interleave --png=$< gfx/slots/slots_3.2bpp: tools/gfx += --interleave --png=$< --remove-duplicates --keep-whitespace --remove-xflip +gfx/card_flip/card_flip_2.2bpp: tools/gfx += --remove-whitespace + gfx/fx/angels.2bpp: tools/gfx += --trim-whitespace gfx/fx/beam.2bpp: tools/gfx += --remove-xflip --remove-yflip --remove-whitespace gfx/fx/bubble.2bpp: tools/gfx += --trim-whitespace @@ -200,7 +202,6 @@ gfx/misc/unknown_egg.2bpp: rgbgfx += -h gfx/pokegear/pokegear.2bpp: rgbgfx += -x2 gfx/pokegear/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace -gfx/unknown/0e0ea8.2bpp: tools/gfx += --remove-whitespace gfx/unknown/0f8f34.1bpp: tools/gfx += --trim-whitespace gfx/unknown/16c173.2bpp: tools/gfx += --remove-duplicates --remove-xflip gfx/unknown/170d16.2bpp: tools/gfx += --trim-whitespace diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm index eeac2ebd7..1a556f9f1 100755 --- a/engine/breeding/egg.asm +++ b/engine/breeding/egg.asm @@ -813,7 +813,7 @@ EggHatch_CrackShell: ; 1736d (5:736d) ; 17393 (5:7393) EggHatchGFX: ; 17393 -INCBIN "gfx/unknown/017393.2bpp" +INCBIN "gfx/evo/egg_hatch.2bpp" ; 173b3 Hatch_InitShellFragments: ; 173b3 (5:73b3) diff --git a/engine/card_flip.asm b/engine/card_flip.asm index cdf2be010..cf3f8ecba 100755 --- a/engine/card_flip.asm +++ b/engine/card_flip.asm @@ -1712,19 +1712,19 @@ CardFlip_InitAttrPals: ; e0c37 (38:4c37) ; e0cdb CardFlipLZ03: ; e0cdb -INCBIN "gfx/unknown/0e0cdb.2bpp.lz" +INCBIN "gfx/card_flip/card_flip_3.2bpp.lz" CardFlipOffButtonGFX: ; e0cf6 -INCBIN "gfx/unknown/0e0cf6.2bpp" +INCBIN "gfx/card_flip/off.2bpp" CardFlipOnButtonGFX: ; e0d06 -INCBIN "gfx/unknown/0e0d06.2bpp" +INCBIN "gfx/card_flip/on.2bpp" CardFlipLZ01: ; e0d16 -INCBIN "gfx/unknown/0e0d16.2bpp.lz" +INCBIN "gfx/card_flip/card_flip_1.2bpp.lz" CardFlipLZ02: ; e0ea8 -INCBIN "gfx/unknown/0e0ea8.2bpp.lz" +INCBIN "gfx/card_flip/card_flip_2.2bpp.lz" CardFlipTilemap: ; e110c db $ef, $15, $27, $2a, $2a, $06, $27, $2a, $2a, $06, $27 diff --git a/engine/diploma.asm b/engine/diploma.asm index c446ff86b..582d0cd1c 100644 --- a/engine/diploma.asm +++ b/engine/diploma.asm @@ -85,10 +85,10 @@ PrintDiplomaPage2: ; 1dd7ae ; 1dd805 DiplomaGFX: ; 1dd805 -INCBIN "gfx/unknown/1dd805.2bpp.lz" +INCBIN "gfx/diploma/diploma.2bpp.lz" DiplomaPage1Tilemap: ; 1ddc4b -INCBIN "gfx/unknown/1ddc4b.tilemap" +INCBIN "gfx/diploma/page1.tilemap" DiplomaPage2Tilemap: ; 1dddb3 -INCBIN "gfx/unknown/1dddb3.tilemap" +INCBIN "gfx/diploma/page2.tilemap" diff --git a/engine/dummy_game.asm b/engine/dummy_game.asm index edda3d02e..3ff1888dc 100755 --- a/engine/dummy_game.asm +++ b/engine/dummy_game.asm @@ -609,4 +609,4 @@ DummyGame_InterpretJoypad_AnimateCursor: ; e21a1 (38:61a1) ; e2221 (38:6221) LZ_e2221: ; e2221 -INCBIN "gfx/unknown/0e2221.2bpp.lz" +INCBIN "gfx/dummy_game/dummy_game.2bpp.lz" diff --git a/engine/healmachineanim.asm b/engine/healmachineanim.asm index 5162b3830..bea580dcd 100755 --- a/engine/healmachineanim.asm +++ b/engine/healmachineanim.asm @@ -137,7 +137,7 @@ HealMachineAnim: ; 12324 ; 123fc .HealMachineGFX: ; 123fc -INCBIN "gfx/unknown/0123fc.2bpp" +INCBIN "gfx/ow_fx/heal_machine.2bpp" ; 1241c .HOF_OAM: ; 1241c diff --git a/engine/link_trade.asm b/engine/link_trade.asm index 96401f188..3983dfd1d 100755 --- a/engine/link_trade.asm +++ b/engine/link_trade.asm @@ -1,5 +1,5 @@ LinkCommsBorderGFX: -INCBIN "gfx/unknown/16cfc1.2bpp" +INCBIN "gfx/trade/border_tiles.2bpp" ; 16d421 __LoadTradeScreenBorder: ; 16d421 @@ -35,13 +35,13 @@ Function16d43b: ; 16d43b ; 16d465 Tilemap_16d465: -INCBIN "gfx/unknown/16d465.tilemap" +INCBIN "gfx/trade/border_mobile_fullscreen.tilemap" Tilemap_16d5cd: -INCBIN "gfx/unknown/16d5cd.tilemap" +INCBIN "gfx/trade/border_cable_top.tilemap" Tilemap_16d5f5: -INCBIN "gfx/unknown/16d5f5.tilemap" +INCBIN "gfx/trade/border_cable_bottom.tilemap" _LinkTextbox: ; 16d61d ld h, d diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm index 19859d96e..d4f11cb8c 100755 --- a/engine/namingscreen.asm +++ b/engine/namingscreen.asm @@ -946,11 +946,11 @@ LoadNamingScreenGFX: ; 11c51 ; 11cb7 NamingScreenGFX_Border: ; 11cb7 -INCBIN "gfx/unknown/011cb7.2bpp" +INCBIN "gfx/namingscreen/border.2bpp" ; 11cc7 NamingScreenGFX_Cursor: ; 11cc7 -INCBIN "gfx/unknown/011cc7.2bpp" +INCBIN "gfx/namingscreen/cursor.2bpp" ; 11ce7 NameInputLower: @@ -985,16 +985,16 @@ BoxNameInputUpper: ; 11e5d -GFX_11e5d: ; ???? -INCBIN "gfx/unknown/011e5d.1bpp" +NamingScreenGFX_End: ; unused +INCBIN "gfx/namingscreen/end.1bpp" ; 11e6d NamingScreenGFX_MiddleLine: -INCBIN "gfx/unknown/011e65.1bpp" +INCBIN "gfx/namingscreen/middle_line.1bpp" ; 11e6d NamingScreenGFX_UnderLine: ; 11e6d -INCBIN "gfx/unknown/011e6d.1bpp" +INCBIN "gfx/namingscreen/underline.1bpp" ; 11e75 _ComposeMailMessage: ; 11e75 (mail?) diff --git a/engine/timeset.asm b/engine/timeset.asm index 77ee5a0dd..ca5d9b85a 100755 --- a/engine/timeset.asm +++ b/engine/timeset.asm @@ -23,17 +23,17 @@ InitClock: ; 90672 (24:4672) xor a ld [hBGMapMode], a call LoadStandardFont - ld de, GFX_908fb + ld de, TimeSetBackgroundGFX ld hl, VTiles2 tile $00 - lb bc, BANK(GFX_908fb), 1 + lb bc, BANK(TimeSetBackgroundGFX), 1 call Request1bpp - ld de, GFX_90903 + ld de, TimeSetUpArrowGFX ld hl, VTiles2 tile $01 - lb bc, BANK(GFX_90903), 1 + lb bc, BANK(TimeSetUpArrowGFX), 1 call Request1bpp - ld de, GFX_9090b + ld de, TimeSetDownArrowGFX ld hl, VTiles2 tile $02 - lb bc, BANK(GFX_9090b), 1 + lb bc, BANK(TimeSetDownArrowGFX), 1 call Request1bpp call .ClearScreen call WaitBGMap @@ -396,12 +396,12 @@ OakText_ResponseToSetTime: ; 0x908b8 db "@" ; 0x908fb -GFX_908fb: ; 908fb -INCBIN "gfx/unknown/0908fb.1bpp" -GFX_90903: ; 90903 -INCBIN "gfx/unknown/090903.1bpp" -GFX_9090b: ; 9090b -INCBIN "gfx/unknown/09090b.1bpp" +TimeSetBackgroundGFX: ; 908fb +INCBIN "gfx/timeset/background.1bpp" +TimeSetUpArrowGFX: ; 90903 +INCBIN "gfx/timeset/up_arrow.1bpp" +TimeSetDownArrowGFX: ; 9090b +INCBIN "gfx/timeset/down_arrow.1bpp" ; 90913 Special_SetDayOfWeek: ; 90913 @@ -409,13 +409,13 @@ Special_SetDayOfWeek: ; 90913 push af ld a, $1 ld [hInMenu], a - ld de, GFX_90903 + ld de, TimeSetUpArrowGFX ld hl, VTiles1 tile $6f - lb bc, BANK(GFX_90903), 1 + lb bc, BANK(TimeSetUpArrowGFX), 1 call Request1bpp - ld de, GFX_9090b + ld de, TimeSetDownArrowGFX ld hl, VTiles1 tile $75 - lb bc, BANK(GFX_9090b), 1 + lb bc, BANK(TimeSetDownArrowGFX), 1 call Request1bpp xor a ld [wTempDayOfWeek], a diff --git a/event/magikarp.asm b/event/magikarp.asm index 450a68df8..e18d087dd 100644 --- a/event/magikarp.asm +++ b/event/magikarp.asm @@ -87,7 +87,7 @@ Magikarp_LoadFeetInchesChars: ; fbbae ; fbbbb .feetinchchars ; fbbb -INCBIN "gfx/unknown/0fbbbb.2bpp" +INCBIN "gfx/font/feet_inches.2bpp" ; fbbdb PrintMagikarpLength: ; fbbdb diff --git a/gfx/unknown/0e0d16.2bpp.lz.86f267e8 b/gfx/card_flip/card_flip_1.2bpp.lz.86f267e8 similarity index 100% rename from gfx/unknown/0e0d16.2bpp.lz.86f267e8 rename to gfx/card_flip/card_flip_1.2bpp.lz.86f267e8 diff --git a/gfx/unknown/0e0d16.png b/gfx/card_flip/card_flip_1.png similarity index 100% rename from gfx/unknown/0e0d16.png rename to gfx/card_flip/card_flip_1.png diff --git a/gfx/unknown/0e0ea8.2bpp.lz.6a6c671d b/gfx/card_flip/card_flip_2.2bpp.lz.6a6c671d similarity index 100% rename from gfx/unknown/0e0ea8.2bpp.lz.6a6c671d rename to gfx/card_flip/card_flip_2.2bpp.lz.6a6c671d diff --git a/gfx/unknown/0e0ea8.png b/gfx/card_flip/card_flip_2.png old mode 100755 new mode 100644 similarity index 100% rename from gfx/unknown/0e0ea8.png rename to gfx/card_flip/card_flip_2.png diff --git a/gfx/unknown/0e0cdb.2bpp.lz.53679db7 b/gfx/card_flip/card_flip_3.2bpp.lz.53679db7 similarity index 100% rename from gfx/unknown/0e0cdb.2bpp.lz.53679db7 rename to gfx/card_flip/card_flip_3.2bpp.lz.53679db7 diff --git a/gfx/unknown/0e0cdb.png b/gfx/card_flip/card_flip_3.png similarity index 100% rename from gfx/unknown/0e0cdb.png rename to gfx/card_flip/card_flip_3.png diff --git a/gfx/unknown/0e0cf6.png b/gfx/card_flip/off.png similarity index 100% rename from gfx/unknown/0e0cf6.png rename to gfx/card_flip/off.png diff --git a/gfx/unknown/0e0d06.png b/gfx/card_flip/on.png similarity index 100% rename from gfx/unknown/0e0d06.png rename to gfx/card_flip/on.png diff --git a/gfx/unknown/1dd805.2bpp.lz.7b56f7e5 b/gfx/diploma/diploma.2bpp.lz.7b56f7e5 similarity index 100% rename from gfx/unknown/1dd805.2bpp.lz.7b56f7e5 rename to gfx/diploma/diploma.2bpp.lz.7b56f7e5 diff --git a/gfx/unknown/1dd805.png b/gfx/diploma/diploma.png similarity index 100% rename from gfx/unknown/1dd805.png rename to gfx/diploma/diploma.png diff --git a/gfx/unknown/1ddc4b.tilemap b/gfx/diploma/page1.tilemap similarity index 100% rename from gfx/unknown/1ddc4b.tilemap rename to gfx/diploma/page1.tilemap diff --git a/gfx/unknown/1dddb3.tilemap b/gfx/diploma/page2.tilemap similarity index 100% rename from gfx/unknown/1dddb3.tilemap rename to gfx/diploma/page2.tilemap diff --git a/gfx/unknown/0e2221.2bpp.lz.821ba441 b/gfx/dummy_game/dummy_game.2bpp.lz.821ba441 similarity index 100% rename from gfx/unknown/0e2221.2bpp.lz.821ba441 rename to gfx/dummy_game/dummy_game.2bpp.lz.821ba441 diff --git a/gfx/unknown/0e2221.png b/gfx/dummy_game/dummy_game.png similarity index 100% rename from gfx/unknown/0e2221.png rename to gfx/dummy_game/dummy_game.png diff --git a/gfx/unknown/017393.png b/gfx/evo/egg_hatch.png similarity index 100% rename from gfx/unknown/017393.png rename to gfx/evo/egg_hatch.png diff --git a/gfx/font.asm b/gfx/font.asm index b61fc1e23..8d7186e4c 100755 --- a/gfx/font.asm +++ b/gfx/font.asm @@ -19,19 +19,19 @@ INCBIN "gfx/frames/8.1bpp" INCBIN "gfx/frames/9.1bpp" ; f89b0 -; TODO: Various misc graphics here. +; Various misc graphics here. StatsScreenPageTilesGFX: ; f89b0 -INCBIN "gfx/unknown/0f89b0.2bpp" +INCBIN "gfx/stats/stats_tiles.2bpp" ; f8a90 -ShinyIcon: ; f8a90 +ShinyIconGFX: ; f8a90 ; also part of StatsScreenPageTilesGFX INCBIN "gfx/stats/shiny.2bpp" -StatsScreenPageTilesGFX_Part2: ; f8aa0 +ExpBarEndsGFX: ; f8aa0 ; not referenced on its own, but part of StatsScreenPageTilesGFX -INCBIN "gfx/unknown/0f8aa0.2bpp" +INCBIN "gfx/stats/exp_bar_ends.2bpp" ; f8ac0 EnemyHPBarBorderGFX: ; f8ac0 @@ -75,7 +75,7 @@ INCBIN "gfx/frames/map_entry_sign.2bpp" ; f9424 FontsExtra2_UpArrowGFX: ; f9424 -INCBIN "gfx/unknown/0f9424.2bpp" +INCBIN "gfx/font/up_arrow.2bpp" ; f9434 Footprints: ; f9434 diff --git a/gfx/unknown/0fbbbb.png b/gfx/font/feet_inches.png similarity index 100% rename from gfx/unknown/0fbbbb.png rename to gfx/font/feet_inches.png diff --git a/gfx/unknown/0f9424.png b/gfx/font/up_arrow.png similarity index 100% rename from gfx/unknown/0f9424.png rename to gfx/font/up_arrow.png diff --git a/gfx/unknown/011cb7.png b/gfx/namingscreen/border.png similarity index 100% rename from gfx/unknown/011cb7.png rename to gfx/namingscreen/border.png diff --git a/gfx/unknown/011cc7.png b/gfx/namingscreen/cursor.png similarity index 100% rename from gfx/unknown/011cc7.png rename to gfx/namingscreen/cursor.png diff --git a/gfx/unknown/011e5d.png b/gfx/namingscreen/end.png similarity index 100% rename from gfx/unknown/011e5d.png rename to gfx/namingscreen/end.png diff --git a/gfx/unknown/011e65.png b/gfx/namingscreen/middle_line.png similarity index 100% rename from gfx/unknown/011e65.png rename to gfx/namingscreen/middle_line.png diff --git a/gfx/unknown/011e6d.png b/gfx/namingscreen/underline.png similarity index 100% rename from gfx/unknown/011e6d.png rename to gfx/namingscreen/underline.png diff --git a/gfx/unknown/0123fc.png b/gfx/ow_fx/heal_machine.png similarity index 100% rename from gfx/unknown/0123fc.png rename to gfx/ow_fx/heal_machine.png diff --git a/gfx/unknown/0f8aa0.png b/gfx/stats/exp_bar_ends.png similarity index 100% rename from gfx/unknown/0f8aa0.png rename to gfx/stats/exp_bar_ends.png diff --git a/gfx/unknown/0f89b0.png b/gfx/stats/stats_tiles.png similarity index 100% rename from gfx/unknown/0f89b0.png rename to gfx/stats/stats_tiles.png diff --git a/gfx/unknown/0908fb.png b/gfx/timeset/background.png similarity index 100% rename from gfx/unknown/0908fb.png rename to gfx/timeset/background.png diff --git a/gfx/unknown/09090b.png b/gfx/timeset/down_arrow.png similarity index 100% rename from gfx/unknown/09090b.png rename to gfx/timeset/down_arrow.png diff --git a/gfx/unknown/090903.png b/gfx/timeset/up_arrow.png similarity index 100% rename from gfx/unknown/090903.png rename to gfx/timeset/up_arrow.png diff --git a/gfx/unknown/16d5f5.tilemap b/gfx/trade/border_cable_bottom.tilemap similarity index 100% rename from gfx/unknown/16d5f5.tilemap rename to gfx/trade/border_cable_bottom.tilemap diff --git a/gfx/unknown/16d5cd.tilemap b/gfx/trade/border_cable_top.tilemap similarity index 100% rename from gfx/unknown/16d5cd.tilemap rename to gfx/trade/border_cable_top.tilemap diff --git a/gfx/unknown/16d465.tilemap b/gfx/trade/border_mobile_fullscreen.tilemap similarity index 100% rename from gfx/unknown/16d465.tilemap rename to gfx/trade/border_mobile_fullscreen.tilemap diff --git a/gfx/unknown/16cfc1.png b/gfx/trade/border_tiles.png similarity index 100% rename from gfx/unknown/16cfc1.png rename to gfx/trade/border_tiles.png diff --git a/macros/charmap.asm b/macros/charmap.asm index 2cbd07225..b936b0953 100644 --- a/macros/charmap.asm +++ b/macros/charmap.asm @@ -79,17 +79,17 @@ ; Actual characters (from other graphics files) - charmap "|", $31 ; StatsScreenPageTilesGFX + charmap "|", $31 ; from gfx/stats/stats_tiles - charmap "", $3f ; ShinyIcon + charmap "", $3f ; gfx/stats/shiny - charmap "", $60 ; MobilePhoneTilesGFX - charmap "â–²", $61 ; FontsExtra2_UpArrowGFX - charmap "", $62 ; OverworldPhoneIconGFX - charmap "_", $62 ; HPExpBarBorderGFX + charmap "", $60 ; from gfx/mobile/phone_tiles.2bpp + charmap "â–²", $61 ; gfx/font/up_arrow.png + charmap "", $62 ; gfx/mobile/overworld_phone_icon.2bpp + charmap "_", $62 ; from gfx/battle/hp_exp_bar_border.1bpp - charmap "′", $6e ; Magikarp_LoadFeetInchesChars.feetinchchars - charmap "″", $6f ; Magikarp_LoadFeetInchesChars.feetinchchars + charmap "′", $6e ; gfx/font/feet_inches.png + charmap "″", $6f ; gfx/font/feet_inches.png ; Actual characters (from gfx/misc/font.png) diff --git a/misc/printer_77.asm b/misc/printer_77.asm index c36c21463..4f67909b0 100755 --- a/misc/printer_77.asm +++ b/misc/printer_77.asm @@ -150,9 +150,9 @@ PrintPartyMonPage1: ; 1dc381 lb bc, BANK(MobileLvIcon), 1 call Request1bpp - ld de, ShinyIcon + ld de, ShinyIconGFX ld hl, VTiles2 tile $3f - lb bc, BANK(ShinyIcon), 1 + lb bc, BANK(ShinyIconGFX), 1 call Get2bpp xor a From ab7025a144605de609fed4ca67a281fb4cde8705 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sun, 10 Dec 2017 00:06:20 -0500 Subject: [PATCH 15/16] Consistent code formatting: no redundant `a`s and spaces after commas --- audio/engine.asm | 14 ++++++------- battle/bg_effects.asm | 2 +- battle/core.asm | 44 ++++++++++++++++++++-------------------- engine/billspctop.asm | 4 ++-- engine/card_flip.asm | 12 +++++------ engine/credits.asm | 10 ++++----- engine/crystal_intro.asm | 2 +- event/overworld.asm | 6 +++--- home.asm | 4 ++-- home/joypad.asm | 6 +++--- interrupts.asm | 10 ++++----- lib/mobile/main.asm | 4 ++-- main.asm | 2 +- tilesets/animations.asm | 2 +- 14 files changed, 61 insertions(+), 61 deletions(-) diff --git a/audio/engine.asm b/audio/engine.asm index c99fe324c..b6e9b1aeb 100644 --- a/audio/engine.asm +++ b/audio/engine.asm @@ -744,7 +744,7 @@ LoadNote: ; e83d1 sub [hl] ld e, a ld a, d - sbc a, 0 + sbc 0 ld d, a ld hl, Channel1PitchWheelTarget + 1 - Channel1 add hl, bc @@ -766,7 +766,7 @@ LoadNote: ; e83d1 sub e ld e, a ld a, d - sbc a, 0 + sbc 0 ld d, a ; ???? ld hl, Channel1PitchWheelTarget + 1 - Channel1 @@ -793,7 +793,7 @@ LoadNote: ; e83d1 sub [hl] ld e, a ld a, d - sbc a, 0 + sbc 0 ld d, a ld hl, Channel1PitchWheelTarget + 1 - Channel1 add hl, bc @@ -1021,7 +1021,7 @@ ApplyPitchWheel: ; e84f9 sub e ld e, a ld a, d - sbc a, 0 + sbc 0 ld d, a ; [Channel*Field0x25] *= 2 ; if rollover: Frequency -= 1 @@ -1031,10 +1031,10 @@ ApplyPitchWheel: ; e84f9 add a ld [hl], a ld a, e - sbc a, 0 + sbc 0 ld e, a ld a, d - sbc a, 0 + sbc 0 ld d, a ; Compare the dw at [Channel*PitchWheelTarget] to de. ; If frequency is lower, we're finished. @@ -1378,7 +1378,7 @@ ParseMusicCommand: ; e870f ; reload command ld a, [CurMusicByte] ; get command # - sub a, $d0 ; first command + sub $d0 ; first command ld e, a ld d, 0 ; seek command pointer diff --git a/battle/bg_effects.asm b/battle/bg_effects.asm index 8c51a5052..fdb27af13 100644 --- a/battle/bg_effects.asm +++ b/battle/bg_effects.asm @@ -868,7 +868,7 @@ BattleBGEffect_RunPicResizeScript: ; c83ed (32:43ed) .BGSquares: bgsquare: MACRO - dn \1,\2 + dn \1, \2 dw \3 endm diff --git a/battle/core.asm b/battle/core.asm index fb86c2799..cd745a957 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -6267,13 +6267,13 @@ LoadEnemyMon: ; 3e8eb ; 25% chance of getting an item call BattleRandom - cp a, 1 + (75 percent) + cp 1 + (75 percent) ld a, NO_ITEM jr c, .UpdateItem ; From there, an 8% chance for Item2 call BattleRandom - cp a, 8 percent ; 8% of 25% = 2% Item2 + cp 8 percent ; 8% of 25% = 2% Item2 ld a, [BaseItems] jr nc, .UpdateItem ld a, [BaseItems+1] @@ -6320,7 +6320,7 @@ LoadEnemyMon: ; 3e8eb ; Roaming monsters (Entei, Raikou) work differently ; They have their own structs, which are shorter than normal ld a, [BattleType] - cp a, BATTLETYPE_ROAMING + cp BATTLETYPE_ROAMING jr nz, .NotRoaming ; Grab HP @@ -6361,7 +6361,7 @@ LoadEnemyMon: ; 3e8eb ; Forced shiny battle type ; Used by Red Gyarados at Lake of Rage - cp a, BATTLETYPE_SHINY + cp BATTLETYPE_SHINY jr nz, .GenerateDVs ld b, ATKDEFDV_SHINY ; $ea @@ -6391,7 +6391,7 @@ LoadEnemyMon: ; 3e8eb ; Unown ld a, [TempEnemyMonSpecies] - cp a, UNOWN + cp UNOWN jr nz, .Magikarp ; Get letter based on DVs @@ -6406,7 +6406,7 @@ LoadEnemyMon: ; 3e8eb ; Skimming this part recommended ld a, [TempEnemyMonSpecies] - cp a, MAGIKARP + cp MAGIKARP jr nz, .Happiness ; Get Magikarp's length @@ -6416,25 +6416,25 @@ LoadEnemyMon: ; 3e8eb ; We're clear if the length is < 1536 ld a, [wMagikarpLength] - cp a, $06 ; $600 = 1536 + cp $06 ; $600 = 1536 jr nz, .CheckMagikarpArea ; 5% chance of skipping size checks call Random - cp a, $0c ; / $100 + cp $0c ; / $100 jr c, .CheckMagikarpArea ; Try again if > 1614 ld a, [wMagikarpLength + 1] - cp a, $50 + cp $50 jr nc, .GenerateDVs ; 20% chance of skipping this check call Random - cp a, $32 ; / $100 + cp $32 ; / $100 jr c, .CheckMagikarpArea ; Try again if > 1598 ld a, [wMagikarpLength + 1] - cp a, $40 + cp $40 jr nc, .GenerateDVs .CheckMagikarpArea: @@ -6448,18 +6448,18 @@ LoadEnemyMon: ; 3e8eb ; Intended behavior enforces a minimum size at Lake of Rage ; The real behavior prevents size flooring in the Lake of Rage area ld a, [MapGroup] - cp a, GROUP_LAKE_OF_RAGE + cp GROUP_LAKE_OF_RAGE jr z, .Happiness ld a, [MapNumber] - cp a, MAP_LAKE_OF_RAGE + cp MAP_LAKE_OF_RAGE jr z, .Happiness ; 40% chance of not flooring call Random - cp a, $64 ; / $100 + cp $64 ; / $100 jr c, .Happiness ; Floor at length 1024 ld a, [wMagikarpLength] - cp a, 1024 >> 8 + cp 1024 >> 8 jr c, .GenerateDVs ; try again ; Finally done with DVs @@ -6480,7 +6480,7 @@ LoadEnemyMon: ; 3e8eb ; If we're in a trainer battle, ; get the rest of the parameters from the party struct ld a, [wBattleMode] - cp a, TRAINER_BATTLE + cp TRAINER_BATTLE jr z, .OpponentParty ; If we're in a wild battle, check wild-specific stuff @@ -6515,7 +6515,7 @@ LoadEnemyMon: ; 3e8eb ; ..unless it's a RoamMon ld a, [BattleType] - cp a, BATTLETYPE_ROAMING + cp BATTLETYPE_ROAMING jr nz, .Moves ; Grab HP @@ -6568,7 +6568,7 @@ LoadEnemyMon: ; 3e8eb ld de, EnemyMonMoves ; Are we in a trainer battle? ld a, [wBattleMode] - cp a, TRAINER_BATTLE + cp TRAINER_BATTLE jr nz, .WildMoves ; Then copy moves from the party struct ld hl, OTPartyMon1Moves @@ -6595,7 +6595,7 @@ LoadEnemyMon: ; 3e8eb .PP: ; Trainer battle? ld a, [wBattleMode] - cp a, TRAINER_BATTLE + cp TRAINER_BATTLE jr z, .TrainerPP ; Fill wild PP @@ -6670,13 +6670,13 @@ CheckSleepingTreeMon: ; 3eb38 ; Don't do anything if this isn't a tree encounter ld a, [BattleType] - cp a, BATTLETYPE_TREE + cp BATTLETYPE_TREE jr nz, .NotSleeping ; Get list for the time of day ld hl, .Morn ld a, [TimeOfDay] - cp a, DAY + cp DAY jr c, .Check ld hl, .Day jr z, .Check @@ -6759,7 +6759,7 @@ CheckUnownLetter: ; 3eb75 inc e inc e ld a, e - cp a, .Set1 - .LetterSets + cp .Set1 - .LetterSets jr c, .loop ; Hasn't been unlocked, or the letter is invalid diff --git a/engine/billspctop.asm b/engine/billspctop.asm index 115c90385..eda83c28e 100755 --- a/engine/billspctop.asm +++ b/engine/billspctop.asm @@ -245,10 +245,10 @@ ClearPCItemScreen: ; e58b ld bc, SCREEN_HEIGHT * SCREEN_WIDTH ld a, " " call ByteFill - hlcoord 0,0 + hlcoord 0, 0 lb bc, 10, 18 call TextBox - hlcoord 0,12 + hlcoord 0, 12 lb bc, 4, 18 call TextBox call WaitBGMap2 diff --git a/engine/card_flip.asm b/engine/card_flip.asm index cf3f8ecba..063d5324f 100755 --- a/engine/card_flip.asm +++ b/engine/card_flip.asm @@ -499,12 +499,12 @@ CardFlip_DisplayCardFaceUp: ; e03ec .Deck: ; e0459 ; level, pic anchor (3x3) - db "1",$4e, "1",$57, "1",$69, "1",$60 - db "2",$4e, "2",$57, "2",$69, "2",$60 - db "3",$4e, "3",$57, "3",$69, "3",$60 - db "4",$4e, "4",$57, "4",$69, "4",$60 - db "5",$4e, "5",$57, "5",$69, "5",$60 - db "6",$4e, "6",$57, "6",$69, "6",$60 + db "1", $4e, "1", $57, "1", $69, "1", $60 + db "2", $4e, "2", $57, "2", $69, "2", $60 + db "3", $4e, "3", $57, "3", $69, "3", $60 + db "4", $4e, "4", $57, "4", $69, "4", $60 + db "5", $4e, "5", $57, "5", $69, "5", $60 + db "6", $4e, "6", $57, "6", $69, "6", $60 ; e0489 CardFlip_UpdateCoinBalanceDisplay: ; e0489 diff --git a/engine/credits.asm b/engine/credits.asm index 823bcde3a..f8cce7a15 100644 --- a/engine/credits.asm +++ b/engine/credits.asm @@ -1303,9 +1303,9 @@ CreditsStrings: .Copyright: ; (C) 1 9 9 5 - 2 0 0 1 N i n t e n d o - db $60,$61,$62,$63,$64,$65,$66, $67, $68, $69, $6a, $6b, $6c - ; (C) 1 9 9 5 - 2 0 0 1 C r e a t u r e s i n c . - next $60,$61,$62,$63,$64,$65,$66, $6d, $6e, $6f, $70, $71, $72, $7a, $7b, $7c - ; (C) 1 9 9 5 - 2 0 0 1 G A M E F R E A K i n c . - next $60,$61,$62,$63,$64,$65,$66, $73, $74, $75, $76, $77, $78, $79, $7a, $7b, $7c + db $60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$6a,$6b,$6c + ; (C) 1 9 9 5 - 2 0 0 1 C r e a t u r e s i n c . + next $60,$61,$62,$63,$64,$65,$66,$6d,$6e,$6f,$70,$71,$72, $7a,$7b,$7c + ; (C) 1 9 9 5 - 2 0 0 1 G A M E F R E A K i n c . + next $60,$61,$62,$63,$64,$65,$66,$73,$74,$75,$76,$77,$78,$79, $7a,$7b,$7c db "@" diff --git a/engine/crystal_intro.asm b/engine/crystal_intro.asm index dbc7c7f70..d0a0b7281 100755 --- a/engine/crystal_intro.asm +++ b/engine/crystal_intro.asm @@ -183,7 +183,7 @@ PlaceGameFreakPresents_2: ; e46ba .place_presents ld [hl], 0 ld hl, .presents - decoord 7,11 + decoord 7, 11 ld bc, .end - .presents call CopyBytes call PlaceGameFreakPresents_AdvanceIndex diff --git a/event/overworld.asm b/event/overworld.asm index 6163a2a3b..4d67bf61e 100755 --- a/event/overworld.asm +++ b/event/overworld.asm @@ -77,9 +77,9 @@ CheckPartyMove: ; c742 ld a, [hl] and a jr z, .no - cp a, -1 + cp -1 jr z, .no - cp a, EGG + cp EGG jr z, .next ld bc, PARTYMON_STRUCT_LENGTH @@ -510,7 +510,7 @@ CheckDirection: ; c9cb ; Get player direction ld a, [PlayerDirection] - and a, %00001100 ; bits 2 and 3 contain direction + and %00001100 ; bits 2 and 3 contain direction rrca rrca ld e, a diff --git a/home.asm b/home.asm index 435c2e55c..4686ed4b1 100644 --- a/home.asm +++ b/home.asm @@ -1830,7 +1830,7 @@ PrintBCDNumber:: ; 38bb ; 0x38f2 PrintBCDDigit:: ; 38f2 - and a, %00001111 + and %00001111 and a jr z, .zeroDigit .nonzeroDigit @@ -1845,7 +1845,7 @@ PrintBCDDigit:: ; 38f2 .skipCurrencySymbol res 7, b ; unset 7 to indicate that a nonzero digit has been reached .outputDigit - add a, "0" + add "0" ld [hli], a jp PrintLetterDelay diff --git a/home/joypad.asm b/home/joypad.asm index 0cb2f6206..0f5060c63 100644 --- a/home/joypad.asm +++ b/home/joypad.asm @@ -130,7 +130,7 @@ GetJoypad:: ; 984 ; The player input can be automated using an input stream. ; See more below. ld a, [InputType] - cp a, AUTO_INPUT + cp AUTO_INPUT jr z, .auto ; To get deltas, take this and last frame's input. @@ -197,14 +197,14 @@ GetJoypad:: ; 984 .updateauto ; An input of $ff will end the stream. ld a, [hli] - cp a, -1 + cp -1 jr z, .stopauto ld b, a ; A duration of $ff will end the stream indefinitely. ld a, [hli] ld [AutoInputLength], a - cp a, -1 + cp -1 jr nz, .next ; The current input is overwritten. diff --git a/interrupts.asm b/interrupts.asm index ba09578ea..0cae6441c 100644 --- a/interrupts.asm +++ b/interrupts.asm @@ -1,16 +1,16 @@ ; Game Boy hardware interrupts -SECTION "vblank",ROM0 +SECTION "vblank", ROM0 jp VBlank -SECTION "lcd",ROM0 +SECTION "lcd", ROM0 jp LCD -SECTION "timer",ROM0 +SECTION "timer", ROM0 jp Timer -SECTION "serial",ROM0 +SECTION "serial", ROM0 jp Serial -SECTION "joypad",ROM0 +SECTION "joypad", ROM0 jp JoypadInt diff --git a/lib/mobile/main.asm b/lib/mobile/main.asm index 0261bc564..a122d2472 100644 --- a/lib/mobile/main.asm +++ b/lib/mobile/main.asm @@ -9073,8 +9073,8 @@ Unknown_113b70: ; 113b70 dw $cbef Unknown_113b7e: ; 113b7e - db $01,$23,$45,$67,$89,$ab,$cd,$ef - db $fe,$dc,$ba,$98,$76,$54,$32,$10 + db $01, $23, $45, $67, $89, $ab, $cd, $ef + db $fe, $dc, $ba, $98, $76, $54, $32, $10 Unknown_113b8e: db $78, $a4, $6a, $d7, $56, $b7, $c7, $e8, $db, $70, $20, $24, $ee, $ce, $bd, $c1 diff --git a/main.asm b/main.asm index c50cef618..b2433e45d 100644 --- a/main.asm +++ b/main.asm @@ -183,7 +183,7 @@ CheckNickErrors:: ; 669f inc hl ; reached end of commands table? ld a, [hl] - cp a, -1 + cp -1 jr z, .done ; is the current char between this value (inclusive)... diff --git a/tilesets/animations.asm b/tilesets/animations.asm index 124c84b58..9bc80454c 100644 --- a/tilesets/animations.asm +++ b/tilesets/animations.asm @@ -304,7 +304,7 @@ WaitTileAnimation: ; fc2fe StandingTileFrame8: ; fc2ff ld a, [TileAnimationTimer] inc a - and a, 7 + and 7 ld [TileAnimationTimer], a ret ; fc309 From d554b997c590825f030bd1be71989653b16a2ae0 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sun, 10 Dec 2017 00:18:29 -0500 Subject: [PATCH 16/16] Use correct WRAM labels for intro/title scenes Remove outdated WRAM alias comments --- engine/billspc.asm | 2 +- engine/breeding/egg.asm | 6 +++--- engine/intro_menu.asm | 24 ++++++++++++------------ engine/mon_icons.asm | 2 +- engine/mysterygift.asm | 10 +++++----- engine/phone.asm | 4 ++-- engine/stats_screen.asm | 12 ++++++------ engine/title.asm | 12 ++++++------ main.asm | 4 ++-- misc/battle_tower_5c.asm | 2 +- 10 files changed, 39 insertions(+), 39 deletions(-) diff --git a/engine/billspc.asm b/engine/billspc.asm index 85f01af37..9595bffc6 100755 --- a/engine/billspc.asm +++ b/engine/billspc.asm @@ -1783,7 +1783,7 @@ BillsPC_CopyMon: ; e2fd6 (38:6fd6) call CopyNicknameToTemp ld hl, PartyMonOT call CopyOTNameToTemp - ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) + ld hl, PartyMon1 ld bc, PARTYMON_STRUCT_LENGTH ld a, [CurPartyMon] call AddNTimes diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm index 1a556f9f1..5051083b2 100755 --- a/engine/breeding/egg.asm +++ b/engine/breeding/egg.asm @@ -234,7 +234,7 @@ HatchEggs: ; 16f70 (5:6f70) callba SetEggMonCaughtData callba TrainerRankings_EggsHatched ld a, [CurPartyMon] - ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) + ld hl, PartyMon1Species ld bc, PARTYMON_STRUCT_LENGTH call AddNTimes ld a, [hl] @@ -263,7 +263,7 @@ HatchEggs: ; 16f70 (5:6f70) ld [wd26b], a call GetBaseData ld a, [CurPartyMon] - ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) + ld hl, PartyMon1 ld bc, PARTYMON_STRUCT_LENGTH call AddNTimes push hl @@ -309,7 +309,7 @@ HatchEggs: ; 16f70 (5:6f70) ld a, [PlayerID + 1] ld [hl], a ld a, [CurPartyMon] - ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) + ld hl, PartyMonOT ld bc, NAME_LENGTH call AddNTimes ld d, h diff --git a/engine/intro_menu.asm b/engine/intro_menu.asm index c576e4526..6dcda93f3 100755 --- a/engine/intro_menu.asm +++ b/engine/intro_menu.asm @@ -1051,7 +1051,7 @@ StartTitleScreen: ; 6219 ld b, SCGB_DIPLOMA call GetSGBLayout call UpdateTimePals - ld a, [wcf64] + ld a, [wIntroSceneFrameCounter] cp $5 jr c, .ok xor a @@ -1191,7 +1191,7 @@ TitleScreenTimer: ; 62f6 inc [hl] ; Start a timer - ld hl, wcf65 + ld hl, wTitleScreenTimer ld de, 73 * 60 + 36 ld [hl], e inc hl @@ -1202,7 +1202,7 @@ TitleScreenTimer: ; 62f6 TitleScreenMain: ; 6304 ; Run the timer down. - ld hl, wcf65 + ld hl, wTitleScreenTimer ld e, [hl] inc hl ld d, [hl] @@ -1268,7 +1268,7 @@ TitleScreenMain: ; 6304 ld a, 1 .done - ld [wcf64], a + ld [wIntroSceneFrameCounter], a ; Return to the intro sequence. ld hl, wJumptableIndex @@ -1287,13 +1287,13 @@ TitleScreenMain: ; 6304 ld hl, MusicFade ld [hl], 8 ; 1 second - ld hl, wcf65 + ld hl, wTitleScreenTimer inc [hl] ret .clock_reset ld a, 4 - ld [wcf64], a + ld [wIntroSceneFrameCounter], a ; Return to the intro sequence. ld hl, wJumptableIndex @@ -1305,7 +1305,7 @@ TitleScreenEnd: ; 6375 ; Wait until the music is done fading. - ld hl, wcf65 + ld hl, wTitleScreenTimer inc [hl] ld a, [MusicFade] @@ -1313,7 +1313,7 @@ TitleScreenEnd: ; 6375 ret nz ld a, 2 - ld [wcf64], a + ld [wIntroSceneFrameCounter], a ; Back to the intro. ld hl, wJumptableIndex @@ -1332,8 +1332,8 @@ ResetClock: ; 6392 ; 639b Function639b: ; unreferenced - ; If bit 0 or 1 of [wcf65] is set, we don't need to be here. - ld a, [wcf65] + ; If bit 0 or 1 of [wTitleScreenTimer] is set, we don't need to be here. + ld a, [wTitleScreenTimer] and $3 ret nz ld bc, SpriteAnim10 @@ -1345,8 +1345,8 @@ Function639b: ; unreferenced add hl, hl ld de, Data63ca add hl, de - ; If bit 2 of [wcf65] is set, get the second dw; else, get the first dw - ld a, [wcf65] + ; If bit 2 of [wTitleScreenTimer] is set, get the second dw; else, get the first dw + ld a, [wTitleScreenTimer] and %00000100 srl a srl a diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm index 6874c82c5..9c6fb1870 100755 --- a/engine/mon_icons.asm +++ b/engine/mon_icons.asm @@ -240,7 +240,7 @@ MoveList_InitAnimatedMonIcon: ; 8e97d (23:697d) ld [CurIcon], a xor a call GetIconGFX - ld d, 3 * 8 + 2 + ld d, 3 * 8 + 2 ; depixel 3, 4, 2, 4 ld e, 4 * 8 + 4 ld a, SPRITE_ANIM_INDEX_PARTY_MON call InitSpriteAnimStruct diff --git a/engine/mysterygift.asm b/engine/mysterygift.asm index f2d29b08a..ae40d0992 100755 --- a/engine/mysterygift.asm +++ b/engine/mysterygift.asm @@ -815,7 +815,7 @@ Function104e93: ; 104e93 (41:4e93) ld c, rRP % $100 ld d, $3d call Function104dd1 - ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand) + ld hl, hPrintNum2 ld a, $5a ld [hli], a ld [hl], b @@ -830,7 +830,7 @@ Function104e93: ; 104e93 (41:4e93) ld a, [hPrintNum6] ld [hPrintNum3], a push hl - ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand) + ld hl, hPrintNum2 ld b, $2 call Function104ed6 ld hl, hMGStatusFlags @@ -934,7 +934,7 @@ Function104f57: ; 104f57 (41:4f57) ld [hPrintNum6], a push bc push hl - ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand) + ld hl, hPrintNum2 ld b, $2 call Function104faf ld a, [hPrintNum3] @@ -954,11 +954,11 @@ Function104f57: ; 104f57 (41:4f57) ld e, a push hl push de - ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand) + ld hl, hPrintNum2 ld b, $2 call Function104faf pop de - ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand) + ld hl, hPrintNum2 ld a, [hli] xor d ld b, a diff --git a/engine/phone.asm b/engine/phone.asm index 9fe3da7a1..6366ea579 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -203,7 +203,7 @@ ChooseRandomCaller: ; 900bf (24:40bf) GetAvailableCallers: ; 900de (24:40de) callba CheckTime ld a, c - ld [EngineBuffer1], a ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput) + ld [EngineBuffer1], a ld hl, EngineBuffer3 ld bc, 11 xor a @@ -219,7 +219,7 @@ GetAvailableCallers: ; 900de (24:40de) ld hl, PhoneContacts + PHONE_CONTACT_SCRIPT2_TIME ld bc, PHONE_TABLE_WIDTH call AddNTimes - ld a, [EngineBuffer1] ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput) + ld a, [EngineBuffer1] and [hl] jr z, .not_good_for_call ld bc, PHONE_CONTACT_MAP_GROUP - PHONE_CONTACT_SCRIPT2_TIME diff --git a/engine/stats_screen.asm b/engine/stats_screen.asm index 6f098574e..14a0c1d47 100755 --- a/engine/stats_screen.asm +++ b/engine/stats_screen.asm @@ -3,7 +3,7 @@ BattleStatsScreenInit: ; 4dc7b (13:5c7b) cp LINK_MOBILE jr nz, StatsScreenInit - ld a, [wBattleMode] ; wd22d (aliases: EnemyMonEnd) + ld a, [wBattleMode] and a jr z, StatsScreenInit jr _MobileStatsScreenInit @@ -377,7 +377,7 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea) call .PlaceHPBar xor a ld [hBGMapMode], a - ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo) + ld a, [CurBaseData] ld [wd265], a ld [CurSpecies], a hlcoord 8, 0 @@ -401,7 +401,7 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea) hlcoord 9, 4 ld a, "/" ld [hli], a - ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo) + ld a, [CurBaseData] ld [wd265], a call GetPokemonName call PlaceString @@ -487,7 +487,7 @@ StatsScreen_PlaceShinyIcon: ; 4dfa6 (13:5fa6) ret StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) - ld a, [BaseDexNo] ; wd236 (aliases: BaseDexNo) + ld a, [BaseDexNo] ld [wd265], a ld [CurSpecies], a xor a @@ -891,7 +891,7 @@ StatsScreen_GetAnimationParam: ; 4e2ad (13:62ad) .PartyMon: ; 4e2bf (13:62bf) ld a, [CurPartyMon] - ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) + ld hl, PartyMon1 ld bc, PARTYMON_STRUCT_LENGTH call AddNTimes ld b, h @@ -918,7 +918,7 @@ StatsScreen_GetAnimationParam: ; 4e2ad (13:62ad) ret .Tempmon: ; 4e2ed (13:62ed) - ld bc, TempMonSpecies ; wd10e (aliases: TempMon) + ld bc, TempMonSpecies jr .CheckEggFaintedFrzSlp ; utterly pointless .CheckEggFaintedFrzSlp: ; 4e2f2 (13:62f2) diff --git a/engine/title.asm b/engine/title.asm index 36e2851d3..2073fdf58 100644 --- a/engine/title.asm +++ b/engine/title.asm @@ -10,10 +10,10 @@ _TitleScreen: ; 10ed67 ; Reset timing variables ld hl, wJumptableIndex - ld [hli], a ; cf63 ; Scene? - ld [hli], a ; cf64 - ld [hli], a ; cf65 ; Timer lo - ld [hl], a ; cf66 ; Timer hi + ld [hli], a ; wJumptableIndex + ld [hli], a ; wIntroSceneFrameCounter + ld [hli], a ; wTitleScreenTimer + ld [hl], a ; wTitleScreenTimer + 1 ; Turn LCD off call DisableLCD @@ -145,12 +145,12 @@ _TitleScreen: ; 10ed67 ; Update palette colors ld hl, TitleScreenPalettes ld de, UnknBGPals - ld bc, 4 * 32 + ld bc, 16 palettes call CopyBytes ld hl, TitleScreenPalettes ld de, BGPals - ld bc, 4 * 32 + ld bc, 16 palettes call CopyBytes ; Restore WRAM bank diff --git a/main.asm b/main.asm index b2433e45d..ca2c141a4 100644 --- a/main.asm +++ b/main.asm @@ -492,7 +492,7 @@ HiddenItemScript:: ; 0x13625 db "@" SetMemEvent: ; 1364f - ld hl, EngineBuffer1 ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput) + ld hl, EngineBuffer1 ld a, [hli] ld d, [hl] ld e, a @@ -4565,7 +4565,7 @@ _SwitchPartyMons: ld bc, PARTYMON_STRUCT_LENGTH call CopyBytes ld a, [Buffer3] - ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) + ld hl, PartyMon1 ld bc, PARTYMON_STRUCT_LENGTH call AddNTimes pop de diff --git a/misc/battle_tower_5c.asm b/misc/battle_tower_5c.asm index 54948591c..462e4f75a 100755 --- a/misc/battle_tower_5c.asm +++ b/misc/battle_tower_5c.asm @@ -1361,7 +1361,7 @@ BattleTowerAction_EggTicket: ; 17093c (5c:493c) BattleTowerAction $0e cp EGG jr nz, .not_egg push hl - ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) + ld hl, PartyMonOT ld de, $6 ; NAME_LENGTH ld a, b and a