From 599e6e8d16571235f2054aa38f39e66181da3796 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 1 Mar 2016 22:31:21 -0500 Subject: [PATCH] Battle animation annotations --- audio/engine.asm | 4 +- battle/ai/items.asm | 8 +- battle/ai/move.asm | 2 +- battle/anim_gfx.asm | 10 +- battle/anims.asm | 44 ++-- battle/core.asm | 59 ++--- battle/moves/move_effects.asm | 2 +- battle/objects/data.asm | 10 +- battle/objects/gfx_headers.asm | 10 +- constants/animation_constants.asm | 53 ++++- constants/gfx_constants.asm | 42 ---- constants/map_setup_constants.asm | 2 +- engine/anim_hp_bar.asm | 66 +++--- engine/battle_start.asm | 12 +- engine/init_gender.asm | 2 +- engine/main_menu.asm | 2 +- engine/mon_icons.asm | 25 +-- engine/movement.asm | 8 +- engine/namingscreen.asm | 6 +- engine/party_menu.asm | 8 +- engine/player_movement.asm | 4 +- engine/pokecenter_pc.asm | 243 +++++++++------------ engine/scrolling_menu.asm | 6 +- engine/startmenu.asm | 88 ++++---- engine/tile_events.asm | 10 +- engine/time.asm | 2 +- engine/trade/animation.asm | 2 +- event/mom.asm | 2 +- event/poke_seer.asm | 1 + home.asm | 2 +- home/map.asm | 9 +- home/menu.asm | 10 +- home/movement.asm | 4 +- macros/move_effect.asm | 350 +++++++++++++++--------------- macros/movement.asm | 10 +- macros/sound.asm | 2 +- main.asm | 8 +- maps/BurnedTowerB1F.asm | 24 +- maps/CianwoodGym.asm | 80 +++---- maps/LancesRoom.asm | 92 ++++---- maps/Route36.asm | 120 +++++----- maps/TinTower1F.asm | 20 +- misc/mobile_12_2.asm | 2 +- misc/mobile_22.asm | 6 +- misc/mobile_22_2.asm | 2 +- misc/mobile_40.asm | 2 +- misc/mobile_46.asm | 8 +- sram.asm | 2 +- wram.asm | 47 ++-- 49 files changed, 761 insertions(+), 772 deletions(-) diff --git a/audio/engine.asm b/audio/engine.asm index ad03c16a5..d01d74c7d 100644 --- a/audio/engine.asm +++ b/audio/engine.asm @@ -38,8 +38,8 @@ _MapSetup_Sound_Off:: ; e8000 dec e jr nz, .clearsound - ld hl, Channel1 ; start of channel data - ld de, $1bf ; length of area to clear (entire sound wram area) + ld hl, Channels ; start of channel data + ld de, ChannelsEnd - Channels ; length of area to clear (entire sound wram area) .clearchannels ; clear Channel1-$c2bf xor a ld [hli], a diff --git a/battle/ai/items.asm b/battle/ai/items.asm index f5d22d786..c7c8f8201 100644 --- a/battle/ai/items.asm +++ b/battle/ai/items.asm @@ -9,7 +9,7 @@ AI_SwitchOrTryItem: ; 38000 and a ret nz - callba CheckSubstatus_RechargeChargedRampageBideRollout + callba CheckEnemyLockedIn ret nz ld a, [PlayerSubStatus5] @@ -716,7 +716,7 @@ AI_Switch: ; 3846c ld d, h ld e, l ld hl, EnemyMonStatus - ld bc, $0004 + ld bc, MON_MAXHP - MON_STATUS call CopyBytes pop af @@ -726,7 +726,7 @@ AI_Switch: ; 3846c .skiptext ld a, 1 - ld [wd264], a + ld [wAISwitch], a callab NewEnemyMonStatus callab ResetEnemyStatLevels ld hl, PlayerSubStatus1 @@ -734,7 +734,7 @@ AI_Switch: ; 3846c callba EnemySwitch callba ResetBattleParticipants xor a - ld [wd264], a + ld [wAISwitch], a ld a, [wLinkMode] and a ret nz diff --git a/battle/ai/move.asm b/battle/ai/move.asm index 5f58bae3e..eb6a0536d 100755 --- a/battle/ai/move.asm +++ b/battle/ai/move.asm @@ -12,7 +12,7 @@ AIChooseMove: ; 440ce ret nz ; No use picking a move if there's no choice. - callba CheckSubstatus_RechargeChargedRampageBideRollout + callba CheckEnemyLockedIn ret nz diff --git a/battle/anim_gfx.asm b/battle/anim_gfx.asm index c84dda83f..996c17f1e 100644 --- a/battle/anim_gfx.asm +++ b/battle/anim_gfx.asm @@ -1,9 +1,9 @@ AnimObj00GFX: ; 84a2e -AnimObj01GFX: INCBIN "gfx/fx/001.2bpp.lz" -AnimObj02GFX: INCBIN "gfx/fx/002.2bpp.lz" -AnimObj03GFX: INCBIN "gfx/fx/003.2bpp.lz" -AnimObj04GFX: INCBIN "gfx/fx/004.2bpp.lz" -AnimObj05GFX: INCBIN "gfx/fx/005.2bpp.lz" +AnimObjHitGFX: INCBIN "gfx/fx/001.2bpp.lz" +AnimObjCutGFX: INCBIN "gfx/fx/002.2bpp.lz" +AnimObjFireGFX: INCBIN "gfx/fx/003.2bpp.lz" +AnimObjWaterGFX: INCBIN "gfx/fx/004.2bpp.lz" +AnimObjLightningGFX: INCBIN "gfx/fx/005.2bpp.lz" AnimObj07GFX: INCBIN "gfx/fx/007.2bpp.lz" AnimObj08GFX: INCBIN "gfx/fx/008.2bpp.lz" AnimObj10GFX: INCBIN "gfx/fx/010.2bpp.lz" diff --git a/battle/anims.asm b/battle/anims.asm index 5d8050c83..66ae9ff1b 100644 --- a/battle/anims.asm +++ b/battle/anims.asm @@ -1323,7 +1323,7 @@ BattleAnim_Thundershock: ; c9b53 BattleAnim_Thunderbolt: ; c9b66 anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION - anim_obj ANIM_OBJ_32, -15, 0, 7, 0, $2 + anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 anim_wait 16 anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 anim_sound 0, 1, SFX_THUNDERSHOCK @@ -2497,10 +2497,10 @@ BattleAnim_Transform: ; ca54d anim_call BattleAnim_FollowPlayerHead_0 anim_transform anim_sound 0, 0, SFX_PSYBEAM - anim_bgeffect ANIM_BG_28, $0, $1, $0 + anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 anim_wait 48 anim_updateactorpic - anim_incbgeffect ANIM_BG_28 + anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER anim_wait 48 anim_call BattleAnim_ShowMon_0 anim_ret @@ -2759,10 +2759,10 @@ BattleAnim_Minimize: ; ca78a anim_1gfx ANIM_GFX_HIT anim_call BattleAnim_FollowPlayerHead_0 anim_minimize - anim_bgeffect ANIM_BG_28, $0, $1, $0 + anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 anim_wait 48 anim_updateactorpic - anim_incbgeffect ANIM_BG_28 + anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER anim_wait 48 anim_call BattleAnim_ShowMon_0 anim_ret @@ -2774,7 +2774,7 @@ BattleAnim_SkyAttack: ; ca7a1 anim_bgeffect ANIM_BG_27, $0, $1, $0 anim_wait 32 anim_sound 0, 0, SFX_HYPER_BEAM - anim_obj ANIM_OBJ_6E, 6, 0, 11, 0, $40 + anim_obj ANIM_OBJ_SKY_ATTACK_FEAROW, 6, 0, 11, 0, $40 anim_wait 64 anim_incobj 1 anim_wait 21 @@ -2805,7 +2805,7 @@ BattleAnim_NightShade: ; ca7cc BattleAnim_Lick: ; ca7e5 anim_1gfx ANIM_GFX_WATER anim_sound 0, 1, SFX_LICK - anim_obj ANIM_OBJ_6F, -15, 0, 7, 0, $0 + anim_obj ANIM_OBJ_LICK, -15, 0, 7, 0, $0 anim_wait 64 anim_ret ; ca7f1 @@ -3025,9 +3025,9 @@ BattleAnim_Meditate: ; ca9d8 anim_1gfx ANIM_GFX_HIT anim_call BattleAnim_FollowEnemyFeet_0 anim_sound 0, 0, SFX_PSYBEAM - anim_bgeffect ANIM_BG_28, $0, $1, $0 + anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 anim_wait 48 - anim_incbgeffect ANIM_BG_28 + anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER anim_wait 48 anim_call BattleAnim_ShowMon_0 anim_ret @@ -3765,13 +3765,13 @@ BattleAnim_Octazooka: ; cb06f BattleAnim_Spikes: ; cb092 anim_1gfx ANIM_GFX_MISC anim_sound 6, 2, SFX_MENU - anim_obj ANIM_OBJ_8E, 6, 0, 11, 0, $20 + anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $20 anim_wait 8 anim_sound 6, 2, SFX_MENU - anim_obj ANIM_OBJ_8E, 6, 0, 11, 0, $30 + anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $30 anim_wait 8 anim_sound 6, 2, SFX_MENU - anim_obj ANIM_OBJ_8E, 6, 0, 11, 0, $28 + anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $28 anim_wait 64 anim_ret ; cb0b0 @@ -3784,7 +3784,7 @@ BattleAnim_ZapCannon: ; cb0b0 anim_obj ANIM_OBJ_A3, 8, 0, 11, 4, $2 anim_wait 40 anim_sound 0, 1, SFX_THUNDERSHOCK - anim_obj ANIM_OBJ_32, -15, 0, 7, 0, $2 + anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 anim_wait 16 anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0 anim_wait 128 @@ -3830,14 +3830,14 @@ BattleAnim_PerishSong: ; cb113 anim_bgeffect ANIM_BG_06, $0, $2, $0 anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 anim_sound 0, 2, SFX_PERISH_SONG - anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $0 - anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $8 - anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $10 - anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $18 - anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $20 - anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $28 - anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $30 - anim_obj ANIM_OBJ_A6, 11, 0, 0, 0, $38 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $0 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $8 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $10 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $18 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $20 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $28 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $30 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $38 anim_wait 112 anim_ret ; cb14c @@ -4087,7 +4087,7 @@ BattleAnim_Spark: ; cb34d anim_incobj 2 anim_wait 1 anim_sound 0, 1, SFX_THUNDERSHOCK - anim_obj ANIM_OBJ_32, -15, 0, 7, 0, $2 + anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0 anim_wait 32 anim_ret diff --git a/battle/core.asm b/battle/core.asm index 7e6eea9c6..34e43a9ab 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -7,7 +7,7 @@ DoBattle: ; 3c000 ld [wPlayerAction], a ld [BattleEnded], a inc a - ld [wd264], a + ld [wAISwitch], a ld hl, OTPartyMon1HP ld bc, PARTYMON_STRUCT_LENGTH - 1 ld d, BATTLEACTION_SWITCH1 - 1 @@ -60,7 +60,7 @@ DoBattle: ; 3c000 xor a ld [CurPartyMon], a .loop2 - call CheckIfPartyHasPkmnToBattleWith + call CheckIfCurPartyMonIsFitToFight jr nz, .alive2 ld hl, CurPartyMon inc [hl] @@ -170,7 +170,7 @@ BattleTurn: ; 3c12f xor a ld [wPlayerIsSwitching], a ld [wEnemyIsSwitching], a - ld [wd264], a + ld [wAISwitch], a ld [wPlayerJustGotFrozen], a ld [wEnemyJustGotFrozen], a ld [CurDamage], a @@ -2497,7 +2497,7 @@ WinTrainerBattle: ; 3cfa4 call PrintWinLossText .skip_win_loss_text - jp HandleBattleReward + jp .GiveMoney .mobile call BattleWinSlideInEnemyTrainerFrontpic @@ -2524,9 +2524,8 @@ WinTrainerBattle: ; 3cfa4 call ClearTileMap call ClearBGPalettes ret -; 3d02b -HandleBattleReward: ; 3d02b +.GiveMoney ld a, [wAmuletCoin] and a call nz, .DoubleReward @@ -3024,7 +3023,7 @@ PickPartyMonInBattle: ; 3d33c call JumpToPartyMenuAndPrintText call SelectBattleMon ret c - call CheckIfPartyHasPkmnToBattleWith + call CheckIfCurPartyMonIsFitToFight jr z, .loop xor a ret @@ -3373,14 +3372,14 @@ CheckWhetherSwitchmonIsPredetermined: ; 3d533 .not_linked ld a, [wEnemySwitchMonIndex] and a - jr z, .check_wd264 + jr z, .check_wAISwitch dec a ld b, a jr .return_carry -.check_wd264 - ld a, [wd264] +.check_wAISwitch + ld a, [wAISwitch] and a ld b, $0 jr nz, .return_carry @@ -3656,7 +3655,7 @@ LoadEnemyPkmnToSwitchTo: ; 3d6ca ; 3d714 CheckWhetherToAskSwitch: ; 3d714 - ld a, [wd264] + ld a, [wAISwitch] dec a jp z, .return_nc ld a, [PartyCount] @@ -3836,19 +3835,19 @@ CheckPlayerPartyForFitPkmn: ; 3d873 xor a ld hl, PartyMon1HP ld bc, PartyMon2 - (PartyMon1 + 1) -.asm_3d87e +.loop or [hl] inc hl or [hl] add hl, bc dec e - jr nz, .asm_3d87e + jr nz, .loop ld d, a ret ; 3d887 -CheckIfPartyHasPkmnToBattleWith: ; 3d887 +CheckIfCurPartyMonIsFitToFight: ; 3d887 ld a, [CurPartyMon] ld hl, PartyMon1HP call GetPartyLocation @@ -3856,9 +3855,9 @@ CheckIfPartyHasPkmnToBattleWith: ; 3d887 or [hl] ret nz - ld a, [wd264] + ld a, [wAISwitch] and a - jr nz, .asm_3d8b1 + jr nz, .finish_fail ld hl, PartySpecies ld a, [CurPartyMon] ld c, a @@ -3867,14 +3866,14 @@ CheckIfPartyHasPkmnToBattleWith: ; 3d887 ld a, [hl] cp EGG ld hl, BattleText_AnEGGCantBattle - jr z, .asm_3d8ae + jr z, .print_textbox ld hl, BattleText_TheresNoWillToBattle -.asm_3d8ae +.print_textbox call StdBattleTextBox -.asm_3d8b1 +.finish_fail xor a ret ; 3d8b3 @@ -4501,6 +4500,8 @@ HandleHPHealingItem: ; 3dd2f ld hl, BattleMonMaxHP .go +; If, and only if, Pokemon's HP is less than half max, use the item. +; Store current HP in Buffer 3/4 push bc ld a, [de] ld [Buffer3], a @@ -4528,6 +4529,7 @@ HandleHPHealingItem: ; 3dd2f .less call ItemRecoveryAnim + ; store max HP in Buffer1/2 ld a, [hli] ld [Buffer2], a ld a, [hl] @@ -5434,7 +5436,7 @@ TryPlayerSwitch: ; 3e358 jp BattleMenuPKMN_Loop .try_switch - call CheckIfPartyHasPkmnToBattleWith + call CheckIfCurPartyMonIsFitToFight jp z, BattleMenuPKMN_Loop ld a, [CurBattleMon] ld [LastPlayerMon], a @@ -5675,15 +5677,15 @@ MoveSelectionScreen: ; 3e4bc ld c, $2c ld a, [wMoveSelectionMenuType] dec a - ld b, $c1 + ld b, D_DOWN | D_UP | A_BUTTON jr z, .okay dec a - ld b, $c3 + ld b, D_DOWN | D_UP | A_BUTTON | B_BUTTON jr z, .okay ld a, [wLinkMode] and a jr nz, .okay - ld b, $c7 + ld b, D_DOWN | D_UP | A_BUTTON | B_BUTTON | SELECT .okay ld a, b @@ -5727,6 +5729,7 @@ MoveSelectionScreen: ; 3e4bc bit SELECT_F, a jp nz, .pressed_select bit B_BUTTON_F, a + ; A button push af xor a @@ -6106,7 +6109,7 @@ ParseEnemyAction: ; 3e7c1 jp .finish .skip_encore - call CheckSubstatus_RechargeChargedRampageBideRollout + call CheckEnemyLockedIn jp nz, ResetVarsForSubstatusRage jr .continue @@ -6173,7 +6176,7 @@ ParseEnemyAction: ; 3e7c1 .skip_load call SetEnemyTurn callab UpdateMoveData - call CheckSubstatus_RechargeChargedRampageBideRollout + call CheckEnemyLockedIn jr nz, .raging xor a ld [wEnemyCharging], a @@ -6219,7 +6222,7 @@ ResetVarsForSubstatusRage: ; 3e8c1 ret ; 3e8d1 -CheckSubstatus_RechargeChargedRampageBideRollout: ; 3e8d1 +CheckEnemyLockedIn: ; 3e8d1 ld a, [EnemySubStatus4] and 1 << SUBSTATUS_RECHARGE ret nz @@ -8025,7 +8028,7 @@ SendOutPkmnText: ; 3f26d ld hl, JumpText_GoPkmn ; If we're in a LinkBattle print just "Go " - ld a, [wd264] ; unless this (unidentified) variable is set + ld a, [wAISwitch] ; unless this (unidentified) variable is set and a jr nz, .skip_to_textbox @@ -8482,7 +8485,7 @@ BattleIntro: ; 3f4dd ld [hMapAnims], a callba PlayBattleMusic callba ShowLinkBattleParticipants - callba FindFirstAliveMon + callba FindFirstAliveMonAndStartBattle call DisableSpriteUpdates callba ClearBattleRAM call InitEnemy diff --git a/battle/moves/move_effects.asm b/battle/moves/move_effects.asm index 454a1ac9b..2d4c06a33 100644 --- a/battle/moves/move_effects.asm +++ b/battle/moves/move_effects.asm @@ -2095,7 +2095,7 @@ FutureSight: damagestats damagecalc futuresight - damagevariation + damagevariation ; skip here if last turn checkhit hittargetnosub failuretext diff --git a/battle/objects/data.asm b/battle/objects/data.asm index 7ae0dc371..8a3f42f85 100755 --- a/battle/objects/data.asm +++ b/battle/objects/data.asm @@ -156,7 +156,7 @@ endm ; ANIM_OBJ_31 battleanimobj $21, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, $03, $05 -; ANIM_OBJ_32 +; ANIM_OBJ_LIGHTNING_BOLT battleanimobj $21, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, $02, $08 ; ANIM_OBJ_33 @@ -336,10 +336,10 @@ endm ; ANIM_OBJ_6D battleanimobj $01, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11 -; ANIM_OBJ_6E +; ANIM_OBJ_SKY_ATTACK_FEAROW battleanimobj $21, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, $02, $20 -; ANIM_OBJ_6F +; ANIM_OBJ_LICK battleanimobj $21, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, $02, $04 ; ANIM_OBJ_70 @@ -432,7 +432,7 @@ endm ; ANIM_OBJ_8D battleanimobj $21, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, $04, $19 -; ANIM_OBJ_8E +; ANIM_OBJ_SPIKES battleanimobj $21, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, $02, $1f ; ANIM_OBJ_8F @@ -504,7 +504,7 @@ endm ; ANIM_OBJ_A5 battleanimobj $61, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, $02, $23 -; ANIM_OBJ_A6 +; ANIM_OBJ_PERISH_SONG battleanimobj $00, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, $02, $0e ; ANIM_OBJ_A7 diff --git a/battle/objects/gfx_headers.asm b/battle/objects/gfx_headers.asm index bec34ce74..eadd1abfb 100755 --- a/battle/objects/gfx_headers.asm +++ b/battle/objects/gfx_headers.asm @@ -8,11 +8,11 @@ object_gfx: MACRO ENDM object_gfx 0, AnimObj00GFX - object_gfx 21, AnimObj01GFX - object_gfx 6, AnimObj02GFX - object_gfx 6, AnimObj03GFX - object_gfx 20, AnimObj04GFX - object_gfx 26, AnimObj05GFX + object_gfx 21, AnimObjHitGFX + object_gfx 6, AnimObjCutGFX + object_gfx 6, AnimObjFireGFX + object_gfx 20, AnimObjWaterGFX + object_gfx 26, AnimObjLightningGFX object_gfx 18, AnimObj06GFX object_gfx 12, AnimObj07GFX object_gfx 9, AnimObj08GFX diff --git a/constants/animation_constants.asm b/constants/animation_constants.asm index 5ae2f324f..9ea2f3f34 100644 --- a/constants/animation_constants.asm +++ b/constants/animation_constants.asm @@ -76,7 +76,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const ANIM_OBJ_2F const ANIM_OBJ_30 const ANIM_OBJ_31 - const ANIM_OBJ_32 + const ANIM_OBJ_LIGHTNING_BOLT const ANIM_OBJ_33 const ANIM_OBJ_34 const ANIM_OBJ_35 @@ -136,8 +136,8 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const ANIM_OBJ_6B const ANIM_OBJ_6C const ANIM_OBJ_6D - const ANIM_OBJ_6E - const ANIM_OBJ_6F + const ANIM_OBJ_SKY_ATTACK_FEAROW + const ANIM_OBJ_LICK const ANIM_OBJ_70 const ANIM_OBJ_71 const ANIM_OBJ_72 @@ -168,7 +168,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const ANIM_OBJ_8B const ANIM_OBJ_8C const ANIM_OBJ_8D - const ANIM_OBJ_8E + const ANIM_OBJ_SPIKES const ANIM_OBJ_8F const ANIM_OBJ_90 const ANIM_OBJ_91 @@ -192,7 +192,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const ANIM_OBJ_A3 const ANIM_OBJ_A4 const ANIM_OBJ_A5 - const ANIM_OBJ_A6 + const ANIM_OBJ_PERISH_SONG const ANIM_OBJ_A7 const ANIM_OBJ_A8 const ANIM_OBJ_A9 @@ -742,7 +742,7 @@ const_value SET 1 const ANIM_BG_25 const ANIM_BG_26 const ANIM_BG_27 - const ANIM_BG_28 + const ANIM_BG_WAVE_DEFORM_USER const ANIM_BG_PSYCHIC const ANIM_BG_2A const ANIM_BG_2B @@ -768,6 +768,47 @@ const_value SET 1 const ANIM_MON_EGG1 ; 7 const ANIM_MON_EGG2 ; 8 +const_value SET 1 + const ANIM_GFX_HIT + const ANIM_GFX_CUT + const ANIM_GFX_FIRE + const ANIM_GFX_WATER + const ANIM_GFX_LIGHTNING + const ANIM_GFX_PLANT + const ANIM_GFX_SMOKE + const ANIM_GFX_EXPLOSION + const ANIM_GFX_ROCKS + const ANIM_GFX_ICE + const ANIM_GFX_POKE_BALL + const ANIM_GFX_POISON + const ANIM_GFX_BUBBLE + const ANIM_GFX_NOISE + const ANIM_GFX_POWDER + const ANIM_GFX_BEAM + const ANIM_GFX_SPEED + const ANIM_GFX_CHARGE + const ANIM_GFX_WIND + const ANIM_GFX_WHIP + const ANIM_GFX_EGG + const ANIM_GFX_ROPE + const ANIM_GFX_PSYCHIC + const ANIM_GFX_REFLECT + const ANIM_GFX_STATUS + const ANIM_GFX_SAND + const ANIM_GFX_WEB + const ANIM_GFX_HAZE + const ANIM_GFX_HORN + const ANIM_GFX_FLOWER + const ANIM_GFX_MISC + const ANIM_GFX_SKY_ATTACK + const ANIM_GFX_GLOBE + const ANIM_GFX_SHAPES + const ANIM_GFX_OBJECTS + const ANIM_GFX_SHINE + const ANIM_GFX_ANGELS + const ANIM_GFX_WAVE + const ANIM_GFX_AEROBLAST + const_def const BG_EFFECT_STRUCT_FUNCTION const BG_EFFECT_STRUCT_JT_INDEX diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index c774faa95..9478cd123 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -1,45 +1,3 @@ -const_value SET 1 - const ANIM_GFX_HIT - const ANIM_GFX_CUT - const ANIM_GFX_FIRE - const ANIM_GFX_WATER - const ANIM_GFX_LIGHTNING - const ANIM_GFX_PLANT - const ANIM_GFX_SMOKE - const ANIM_GFX_EXPLOSION - const ANIM_GFX_ROCKS - const ANIM_GFX_ICE - const ANIM_GFX_POKE_BALL - const ANIM_GFX_POISON - const ANIM_GFX_BUBBLE - const ANIM_GFX_NOISE - const ANIM_GFX_POWDER - const ANIM_GFX_BEAM - const ANIM_GFX_SPEED - const ANIM_GFX_CHARGE - const ANIM_GFX_WIND - const ANIM_GFX_WHIP - const ANIM_GFX_EGG - const ANIM_GFX_ROPE - const ANIM_GFX_PSYCHIC - const ANIM_GFX_REFLECT - const ANIM_GFX_STATUS - const ANIM_GFX_SAND - const ANIM_GFX_WEB - const ANIM_GFX_HAZE - const ANIM_GFX_HORN - const ANIM_GFX_FLOWER - const ANIM_GFX_MISC - const ANIM_GFX_SKY_ATTACK - const ANIM_GFX_GLOBE - const ANIM_GFX_SHAPES - const ANIM_GFX_OBJECTS - const ANIM_GFX_SHINE - const ANIM_GFX_ANGELS - const ANIM_GFX_WAVE - const ANIM_GFX_AEROBLAST - - LEN_2BPP_TILE EQU 16 LEN_1BPP_TILE EQU 8 TILES_PER_FRAME EQU 6 diff --git a/constants/map_setup_constants.asm b/constants/map_setup_constants.asm index 0ee137ead..1a3f60e7b 100644 --- a/constants/map_setup_constants.asm +++ b/constants/map_setup_constants.asm @@ -19,7 +19,7 @@ const_value SET 1 const MAPCALLBACK_SPRITES const MAPCALLBACK_NEWMAP -; Command descriptions from Condensation water's scripting compendium. const_def +; Command descriptions from Condensation water's scripting compendium. const_def const map_lcd_on ; 00 diff --git a/engine/anim_hp_bar.asm b/engine/anim_hp_bar.asm index c00a97921..c88c73145 100755 --- a/engine/anim_hp_bar.asm +++ b/engine/anim_hp_bar.asm @@ -1,8 +1,8 @@ _AnimateHPBar: ; d627 - call Functiond65f - jr c, .do_player - call Functiond670 -.enemy_loop + call .IsMaximumMoreThan48Pixels + jr c, .MoreThan48Pixels + call .ComputePixels +.ShortAnimLoop push bc push hl call Functiond6e2 @@ -16,12 +16,12 @@ _AnimateHPBar: ; d627 pop hl pop bc pop af - jr nc, .enemy_loop + jr nc, .ShortAnimLoop ret -.do_player - call Functiond670 -.player_loop +.MoreThan48Pixels + call .ComputePixels +.LongAnimLoop push bc push hl call Functiond6f5 @@ -36,11 +36,11 @@ _AnimateHPBar: ; d627 pop hl pop bc pop af - jr nc, .player_loop + jr nc, .LongAnimLoop ret ; d65f -Functiond65f: ; d65f +.IsMaximumMoreThan48Pixels: ; d65f ld a, [Buffer2] and a jr nz, .player @@ -55,7 +55,7 @@ Functiond65f: ; d65f ret ; d670 -Functiond670: ; d670 +.ComputePixels: ; d670 ; Buffer1-2: Max HP ; Buffer3-4: Old HP ; Buffer5-6: New HP @@ -72,7 +72,7 @@ Functiond670: ; d670 pop hl call ComputeHPBarPixels ld a, e - ld [wd1f1], a + ld [wCurHPBarPixels], a ld a, [Buffer5] ld c, a @@ -84,7 +84,7 @@ Functiond670: ; d670 ld d, a call ComputeHPBarPixels ld a, e - ld [wd1f2], a + ld [wNewHPBarPixels], a push hl ld hl, Buffer3 @@ -103,15 +103,15 @@ Functiond670: ; d670 ld a, d sbc b ld d, a - jr c, .asm_d6c1 + jr c, .negative ld a, [Buffer3] ld [wd1f5], a ld a, [Buffer5] ld [wd1f6], a ld bc, 1 - jr .asm_d6d9 + jr .got_direction -.asm_d6c1 +.negative ld a, [Buffer3] ld [wd1f6], a ld a, [Buffer5] @@ -123,8 +123,8 @@ Functiond670: ; d670 ld a, d xor $ff ld d, a - ld bc, rIE -.asm_d6d9 + ld bc, -1 +.got_direction ld a, d ld [wd1f3], a ld a, e @@ -133,14 +133,14 @@ Functiond670: ; d670 ; d6e2 Functiond6e2: ; d6e2 - ld hl, wd1f1 - ld a, [wd1f2] + ld hl, wCurHPBarPixels + ld a, [wNewHPBarPixels] cp [hl] - jr nz, .asm_d6ed + jr nz, .not_finished scf ret -.asm_d6ed +.not_finished ld a, c add [hl] ld [hl], a @@ -150,7 +150,7 @@ Functiond6e2: ; d6e2 ; d6f5 Functiond6f5: ; d6f5 -.asm_d6f5 +.loop ld hl, Buffer3 ld a, [hli] ld e, a @@ -158,22 +158,22 @@ Functiond6f5: ; d6f5 ld d, a ld a, e cp [hl] - jr nz, .asm_d707 + jr nz, .next inc hl ld a, d cp [hl] - jr nz, .asm_d707 + jr nz, .next scf ret -.asm_d707 +.next ld l, e ld h, d add hl, bc ld a, l ld [Buffer3], a ld a, h - ld [wd1ed], a + ld [Buffer4], a push hl push de push bc @@ -191,9 +191,9 @@ Functiond6f5: ; d6f5 pop de pop hl ld a, e - ld hl, wd1f1 + ld hl, wCurHPBarPixels cp [hl] - jr z, .asm_d6f5 + jr z, .loop ld [hl], a and a ret @@ -205,7 +205,7 @@ Functiond730: ; d730 ld a, [wWhichHPBar] and $1 ld b, a - ld a, [wd1f1] + ld a, [wCurHPBarPixels] ld e, a ld c, a push de @@ -219,7 +219,7 @@ Functiond749: ; d749 call Functiond784 ld a, [Buffer3] ld c, a - ld a, [wd1ed] + ld a, [Buffer4] ld b, a ld a, [Buffer1] ld e, a @@ -275,7 +275,7 @@ endr dec hl ld a, [Buffer3] ld [StringBuffer2 + 1], a - ld a, [wd1ed] + ld a, [Buffer4] ld [StringBuffer2], a ld de, StringBuffer2 lb bc, 2, 3 @@ -375,7 +375,7 @@ Functiond839: ; d839 ld c, a ld b, 0 ld hl, 0 - ld a, [wd1f1] + ld a, [wCurHPBarPixels] cp 6 * 8 jr nc, .coppy_buffer and a diff --git a/engine/battle_start.asm b/engine/battle_start.asm index 6fb64e9b1..083469b0d 100644 --- a/engine/battle_start.asm +++ b/engine/battle_start.asm @@ -1,5 +1,5 @@ Predef_StartBattle: ; 8c20f - call Function8c26d + call .InitGFX ld a, [rBGP] ld [wBGP], a ld a, [rOBP0] @@ -52,15 +52,15 @@ Predef_StartBattle: ; 8c20f ret ; 8c26d -Function8c26d: ; 8c26d +.InitGFX: ; 8c26d ld a, [wLinkMode] cp LINK_MOBILE jr z, .mobile callba Function6454 call UpdateSprites call DelayFrame - call Function8c2a0 - call Function8cf4f + call .NonMobile_LoadPokeballTiles + call BattleStart_LoadEDTile jr .resume .mobile @@ -81,7 +81,7 @@ Function8c26d: ; 8c26d ret ; 8c2a0 -Function8c2a0: ; 8c2a0 +.NonMobile_LoadPokeballTiles: ; 8c2a0 call LoadTrainerBattlePokeballTiles hlbgcoord 0, 0 call Function8c2cf @@ -663,7 +663,7 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) ld a, $1 ld [hCGBPalUpdate], a call DelayFrame - call Function8cf4f + call BattleStart_LoadEDTile .nextscene: ; 8c673 (23:4673) call StartTrainerBattle_NextScene diff --git a/engine/init_gender.asm b/engine/init_gender.asm index 5de576c2a..ff5babdf9 100755 --- a/engine/init_gender.asm +++ b/engine/init_gender.asm @@ -67,7 +67,7 @@ TextJump_AreYouABoyOrAreYouAGirl: ; 0x48e0f InitGenderScreen: ; 48e14 (12:4e14) ld a, $10 ld [MusicFade], a - ld a, $0 + ld a, MUSIC_NONE ld [MusicFadeIDLo], a ld a, $0 ld [MusicFadeIDHi], a diff --git a/engine/main_menu.asm b/engine/main_menu.asm index 637253c12..2c9afcc07 100755 --- a/engine/main_menu.asm +++ b/engine/main_menu.asm @@ -202,7 +202,7 @@ MainMenuJoypadLoop: ; 49de4 ld a, [w2DMenuFlags1] set 5, a ld [w2DMenuFlags1], a - call Function1f1a + call GetScrollingMenuJoypad ld a, [wMenuJoypad] cp B_BUTTON jr z, .b_button diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm index 5e41cd4a1..6a5c7484f 100755 --- a/engine/mon_icons.asm +++ b/engine/mon_icons.asm @@ -14,7 +14,7 @@ LoadOverworldMonIcon: ; 8e82b ret ; 8e83f -Function8e83f: ; 8e83f +LoadMenuMonIcon: ; 8e83f push hl push de push bc @@ -28,9 +28,8 @@ Function8e83f: ; 8e83f .LoadIcon: ; 8e849 ld d, 0 ld hl, .Jumptable -rept 2 add hl, de -endr + add hl, de ld a, [hli] ld h, [hl] ld l, a @@ -39,13 +38,13 @@ endr .Jumptable: ; 8e854 (23:6854) - dw Function8e8d5 ; init - dw Function8e961 - dw Function8e97d - dw Trade_LoadMonIconGFX - dw Function8e898 - dw Mobile_InitPartyMenuBGPal71 - dw .GetPartyMenuMonIcon + dw Function8e8d5 ; party menu + dw Function8e961 ; naming screen + dw Function8e97d ; moves (?) + dw Trade_LoadMonIconGFX ; trade + dw Function8e898 ; mobile + dw Mobile_InitPartyMenuBGPal71 ; mobile + dw .GetPartyMenuMonIcon ; unused .GetPartyMenuMonIcon: ; 8e862 (23:6862) @@ -89,7 +88,7 @@ Function8e898: ; 8e898 (23:6898) call Function8e8d5 ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc - ld a, $0 + ld a, SPRITE_ANIM_SEQ_NULL ld [hl], a ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc @@ -106,7 +105,7 @@ Mobile_InitPartyMenuBGPal71: ; 8e8b1 (23:68b1) call SetPartyMonIconAnimSpeed ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc - ld a, $0 + ld a, SPRITE_ANIM_SEQ_NULL ld [hl], a ld hl, SPRITEANIMSTRUCT_XCOORD add hl, bc @@ -229,7 +228,7 @@ Function8e961: ; 8e961 (23:6961) call InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID add hl, bc - ld [hl], $0 + ld [hl], SPRITE_ANIM_SEQ_NULL ret Function8e97d: ; 8e97d (23:697d) diff --git a/engine/movement.asm b/engine/movement.asm index ca3ac55b5..04f3f5208 100644 --- a/engine/movement.asm +++ b/engine/movement.asm @@ -55,8 +55,8 @@ MovementPointers: ; 5075 dw Movement_fast_jump_step_up ; 35 dw Movement_fast_jump_step_left ; 36 dw Movement_fast_jump_step_right ; 37 - dw Movement_38 ; 38 - dw Movement_39 ; 39 + dw Movement_remove_sliding ; 38 + dw Movement_set_sliding ; 39 dw Movement_remove_fixed_facing ; 3a dw Movement_fix_facing ; 3b dw Movement_show_person ; 3c @@ -373,14 +373,14 @@ Movement_56: ; 5279 ret ; 5293 -Movement_38: ; 5293 +Movement_remove_sliding: ; 5293 ld hl, OBJECT_FLAGS1 add hl, bc res SLIDING, [hl] jp ContinueReadingMovement ; 529c -Movement_39: ; 529c +Movement_set_sliding: ; 529c ld hl, OBJECT_FLAGS1 add hl, bc set SLIDING, [hl] diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm index ac56ec250..e65a2d54f 100755 --- a/engine/namingscreen.asm +++ b/engine/namingscreen.asm @@ -88,10 +88,10 @@ endr .Pokemon: ; 1173e (4:573e) ld a, [CurPartySpecies] ld [wd265], a - ld hl, Function8e83f - ld a, BANK(Function8e83f) + ld hl, LoadMenuMonIcon + ld a, BANK(LoadMenuMonIcon) ld e, $1 - rst FarCall ; ; indirect jump to Function8e83f (8e83f (23:683f)) + rst FarCall ; ; indirect jump to LoadMenuMonIcon (8e83f (23:683f)) ld a, [CurPartySpecies] ld [wd265], a call GetPokemonName diff --git a/engine/party_menu.asm b/engine/party_menu.asm index b9048da10..9bf02351e 100644 --- a/engine/party_menu.asm +++ b/engine/party_menu.asm @@ -658,8 +658,8 @@ InitPartyMenuGFX: ; 503e0 .loop push bc push hl - ld hl, Function8e83f - ld a, BANK(Function8e83f) + ld hl, LoadMenuMonIcon + ld a, BANK(LoadMenuMonIcon) ld e, $0 rst FarCall ld a, [hObjectStructIndexBuffer] @@ -752,8 +752,8 @@ PartyMenuSelect: ; 0x50457 ld [wPartyMenuCursor], a ld a, [hJoyLast] ld b, a - bit 1, b - jr nz, .exitmenu ; B button? + bit B_BUTTON_F, b + jr nz, .exitmenu ; B button ld a, [wMenuCursorY] dec a ld [CurPartyMon], a diff --git a/engine/player_movement.asm b/engine/player_movement.asm index 80c5e6edc..6ab121f61 100755 --- a/engine/player_movement.asm +++ b/engine/player_movement.asm @@ -121,12 +121,12 @@ DoPlayerMovement:: ; 80000 ld a, [PlayerStandingTile] ld c, a call CheckWhirlpoolTile - jr c, .asm_800c4 + jr c, .not_whirlpool ld a, 3 scf ret -.asm_800c4 +.not_whirlpool and $f0 cp $30 ; moving water jr z, .water diff --git a/engine/pokecenter_pc.asm b/engine/pokecenter_pc.asm index a75798709..4c4effb6b 100755 --- a/engine/pokecenter_pc.asm +++ b/engine/pokecenter_pc.asm @@ -2,9 +2,9 @@ PokemonCenterPC: ; 1559a call PC_CheckPartyForPokemon ret c call PC_PlayBootSound - ld hl, UnknownText_0x15a27 + ld hl, PokeCenterPCText_BootedUpPC call PC_DisplayText - ld hl, UnknownText_0x15a2c + ld hl, PokeCenterPCText_AccessWhosePC call PC_DisplayTextWaitMenu ld hl, .TopMenu call LoadMenuDataHeader @@ -25,40 +25,35 @@ PokemonCenterPC: ; 1559a call ExitMenu call CloseWindow ret -; 155d6 -.TopMenu: ; 0x155d6 +.TopMenu db $48 ; flags db 00, 00 ; start coords db 12, 15 ; end coords dw .MenuData2 db 1 ; default option -; 0x155de -.MenuData2: ; 0x155de +.MenuData2 db $a0 ; flags db 0 ; items dw .WhichPC dw PlaceNthMenuStrings dw .JumpTable -; 0x155e6 -.JumpTable: ; 155e6 +.JumpTable dw PlayersPC, .String_PlayersPC dw BillsPC, .String_BillsPC dw OaksPC, .String_OaksPC dw HallOfFamePC, .String_HallOfFame dw TurnOffPC, .String_TurnOff -; 155fa -.String_PlayersPC: db "'s PC@" -.String_BillsPC: db "BILL's PC@" -.String_OaksPC: db "PROF.OAK's PC@" -.String_HallOfFame: db "HALL OF FAME@" -.String_TurnOff: db "TURN OFF@" -; 1562c +.String_PlayersPC: db "'s PC@" +.String_BillsPC: db "BILL's PC@" +.String_OaksPC: db "PROF.OAK's PC@" +.String_HallOfFame: db "HALL OF FAME@" +.String_TurnOff: db "TURN OFF@" -.WhichPC: ; 1562c +.WhichPC ; before pokedex db 3 ; items db 1, 0, 4 ; bill's, player's, turn off @@ -73,9 +68,8 @@ PokemonCenterPC: ; 1559a db 5 ; items db 1, 0, 2, 3, 4 ; bill's, player's, oak's, hall of fame, turn off db -1 -; 1563e -.ChooseWhichPCListToUse: ; 1563e +.ChooseWhichPCListToUse call CheckReceivedDex jr nz, .got_dex ld a, $0 @@ -96,13 +90,12 @@ PC_CheckPartyForPokemon: ; 15650 ret nz ld de, SFX_CHOOSE_PC_OPTION call PlaySFX - ld hl, UnknownText_0x15663 + ld hl, .MustHavePokemonToUse call PC_DisplayText scf ret -; 15663 -UnknownText_0x15663: ; 0x15663 +.MustHavePokemonToUse ; Bzzzzt! You must have a #MON to use this! text_jump UnknownText_0x1c1328 db "@" @@ -110,7 +103,7 @@ UnknownText_0x15663: ; 0x15663 BillsPC: ; 15668 call PC_PlayChoosePCSound - ld hl, UnknownText_0x15a31 + ld hl, PokeCenterPCText_AccessedBillsPC call PC_DisplayText callba _BillsPC and a @@ -119,7 +112,7 @@ BillsPC: ; 15668 PlayersPC: ; 15679 call PC_PlayChoosePCSound - ld hl, UnknownText_0x15a36 + ld hl, PokeCenterPCText_AccessedOwnPC call PC_DisplayText ld b, $0 call _PlayersPC @@ -129,7 +122,7 @@ PlayersPC: ; 15679 OaksPC: ; 15689 call PC_PlayChoosePCSound - ld hl, UnknownText_0x15a3b + ld hl, PokeCenterPCText_AccessedOaksPC call PC_DisplayText callba ProfOaksPC and a @@ -146,7 +139,7 @@ HallOfFamePC: ; 1569a ; 156ab TurnOffPC: ; 156ab - ld hl, UnknownText_0x15a40 + ld hl, PokeCenterPCText_LinkClosed call PrintText scf ret @@ -166,7 +159,7 @@ PC_PlayChoosePCSound: ; 156c2 ld de, SFX_CHOOSE_PC_OPTION jr PC_WaitPlaySFX -Function156c7: ; 156c7 +PC_PlaySwapItemsSound: ; 156c7 ld de, SFX_SWITCH_POKEMON call PC_WaitPlaySFX ld de, SFX_SWITCH_POKEMON @@ -218,8 +211,8 @@ _PlayersPC: ; 15704 Function15715: ; 15715 xor a - ld [wd0d7], a - ld [wd0dd], a + ld [wPCItemsCursor], a + ld [wPCItemsScrollPosition], a ld hl, KrissPCMenuData call LoadMenuDataHeader .asm_15722 @@ -316,19 +309,18 @@ UnknownText_0x157cc: ; 0x157cc KrisWithdrawItemMenu: ; 0x157d1 call LoadStandardMenuDataHeader callba ClearPCItemScreen -.asm_157da - call Function15985 - jr c, .asm_157e4 - call Function157e9 - jr .asm_157da +.loop + call PCItemsJoypad + jr c, .quit + call .Submenu + jr .loop -.asm_157e4 +.quit call CloseSubmenu xor a ret -; 0x157e9 -Function157e9: ; 0x157e9 +.Submenu ; check if the item has a quantity callba _CheckTossableItem ld a, [wItemAttributeParamBuffer] @@ -351,7 +343,7 @@ Function157e9: ; 0x157e9 .withdraw ld a, [wItemQuantityChangeBuffer] ld [Buffer1], a ; quantity - ld a, [wd107] + ld a, [CurItemQuantity] ld [Buffer2], a ld hl, NumItems call ReceiveItem @@ -359,7 +351,7 @@ Function157e9: ; 0x157e9 ld a, [Buffer1] ld [wItemQuantityChangeBuffer], a ld a, [Buffer2] - ld [wd107], a + ld [CurItemQuantity], a ld hl, PCItems call TossItem predef PartyMonItemName @@ -377,7 +369,6 @@ Function157e9: ; 0x157e9 .done ret -; 0x15850 .HowManyText ; 0x15850 text_jump _KrissPCHowManyWithdrawText @@ -391,24 +382,22 @@ Function157e9: ; 0x157e9 text_jump _KrissPCNoRoomWithdrawText db "@" - KrisTossItemMenu: ; 0x1585f call LoadStandardMenuDataHeader callba ClearPCItemScreen -.asm_15868 - call Function15985 - jr c, .asm_15878 +.loop + call PCItemsJoypad + jr c, .quit ld de, PCItems - callba Function129f4 - jr .asm_15868 + callba TossItemFromPC + jr .loop -.asm_15878 +.quit call CloseSubmenu xor a ret ; 0x1587d - KrisDecorationMenu: ; 0x1587d callba _KrisDecorationMenu ld a, c @@ -418,54 +407,48 @@ KrisDecorationMenu: ; 0x1587d ret ; 0x15888 - KrisLogOffMenu: ; 0x15888 xor a scf ret ; 0x1588b - KrisDepositItemMenu: ; 0x1588b - call Function158b8 - jr c, .asm_158b6 + call .CheckItemsInBag + jr c, .nope call DisableSpriteUpdates call LoadStandardMenuDataHeader callba DepositSellInitPackBuffers -.asm_1589c +.loop callba DepositSellPack ld a, [wcf66] and a - jr z, .asm_158b3 - call Function158cc + jr z, .close + call .TryDepositItem callba CheckRegisteredItem - jr .asm_1589c + jr .loop -.asm_158b3 +.close call CloseSubmenu -.asm_158b6 +.nope xor a ret -; 0x158b8 -Function158b8: ; 0x158b8 +.CheckItemsInBag callba HasNoItems ret nc - ld hl, UnknownText_0x158c7 + ld hl, .NoItemsInBag call MenuTextBoxBackup scf ret -; 0x158c7 -UnknownText_0x158c7: ; 0x158c7 +.NoItemsInBag ; No items here! text_jump UnknownText_0x1c13df db "@" -; 0x158cc - -Function158cc: ; 0x158cc +.TryDepositItem ld a, [wSpriteUpdatesEnabled] push af ld a, $0 @@ -477,9 +460,8 @@ Function158cc: ; 0x158cc pop af ld [wSpriteUpdatesEnabled], a ret -; 0x158e7 -.dw: ; 0x158e7 +.dw dw .tossable dw .no_toss dw .no_toss @@ -488,32 +470,31 @@ Function158cc: ; 0x158cc dw .tossable dw .tossable -.no_toss: +.no_toss ret -.tossable: +.tossable ld a, [Buffer1] push af ld a, [Buffer2] push af - call Function1590a + call .DepositItem_ pop af ld [Buffer2], a pop af ld [Buffer1], a ret -; 0x1590a -Function1590a: ; 0x1590a +.DepositItem_ callba _CheckTossableItem ld a, [wItemAttributeParamBuffer] and a - jr z, .asm_1591d + jr z, .AskQuantity ld a, $1 ld [wItemQuantityChangeBuffer], a - jr .asm_15933 + jr .DepositItem -.asm_1591d +.AskQuantity ld hl, .HowManyText call MenuTextBox callba SelectQuantityToToss @@ -521,20 +502,20 @@ Function1590a: ; 0x1590a call ExitMenu call ExitMenu pop af - jr c, .asm_1596c + jr c, .DeclinedToDeposit -.asm_15933 +.DepositItem ld a, [wItemQuantityChangeBuffer] ld [Buffer1], a - ld a, [wd107] + ld a, [CurItemQuantity] ld [Buffer2], a ld hl, PCItems call ReceiveItem - jr nc, .asm_15965 + jr nc, .NoRoomInPC ld a, [Buffer1] ld [wItemQuantityChangeBuffer], a ld a, [Buffer2] - ld [wd107], a + ld [CurItemQuantity], a ld hl, NumItems call TossItem predef PartyMonItemName @@ -542,16 +523,14 @@ Function1590a: ; 0x1590a call PrintText ret -.asm_15965 +.NoRoomInPC ld hl, .NoRoomText call PrintText ret -.asm_1596c +.DeclinedToDeposit and a ret -; 0x1596e - .HowManyText ; 0x1596e text_jump _KrissPCHowManyDepositText @@ -565,87 +544,82 @@ Function1590a: ; 0x1590a text_jump _KrissPCNoRoomDepositText db "@" - KrisMailBoxMenu: ; 0x1597d callba _KrisMailBoxMenu xor a ret ; 0x15985 - -Function15985: ; 0x15985 +PCItemsJoypad: ; 0x15985 xor a - ld [wd0e3], a -.asm_15989 + ld [wSwitchItem], a +.loop ld a, [wSpriteUpdatesEnabled] push af ld a, $0 ld [wSpriteUpdatesEnabled], a - ld hl, MenuData15a08 + ld hl, .PCItemsMenuData call CopyMenuDataHeader hlcoord 0, 0 - ld b, $a - ld c, $12 + ld b, 10 + ld c, 18 call TextBox - ld a, [wd0d7] + ld a, [wPCItemsCursor] ld [wMenuCursorBuffer], a - ld a, [wd0dd] + ld a, [wPCItemsScrollPosition] ld [wMenuScrollPosition], a call ScrollingMenu ld a, [wMenuScrollPosition] - ld [wd0dd], a + ld [wPCItemsScrollPosition], a ld a, [wMenuCursorY] - ld [wd0d7], a + ld [wPCItemsCursor], a pop af ld [wSpriteUpdatesEnabled], a - ld a, [wd0e3] + ld a, [wSwitchItem] and a - jr nz, .asm_159d8 + jr nz, .moving_stuff_around ld a, [wMenuJoypad] - cp $2 - jr z, .asm_15a06 - cp $1 - jr z, .asm_159fb - cp $4 - jr z, .asm_159f2 - jr .asm_159f8 + cp B_BUTTON + jr z, .b_1 + cp A_BUTTON + jr z, .a_1 + cp SELECT + jr z, .select_1 + jr .next -.asm_159d8 +.moving_stuff_around ld a, [wMenuJoypad] - cp $2 - jr z, .asm_159e9 - cp $1 - jr z, .asm_159ef - cp $4 - jr z, .asm_159ef - jr .asm_159f8 + cp B_BUTTON + jr z, .b_2 + cp A_BUTTON + jr z, .a_select_2 + cp SELECT + jr z, .a_select_2 + jr .next -.asm_159e9 +.b_2 xor a - ld [wd0e3], a - jr .asm_159f8 + ld [wSwitchItem], a + jr .next -.asm_159ef - call Function156c7 - -.asm_159f2 +.a_select_2 + call PC_PlaySwapItemsSound +.select_1 callba SwitchItemsInBag +.next + jp .loop -.asm_159f8 - jp .asm_15989 - -.asm_159fb - callba Function24706 +.a_1 + callba ScrollingMenu_ClearLeftColumn call PlaceHollowCursor and a ret -.asm_15a06 +.b_1 scf ret -; 0x15a08 -MenuData15a08: ; 0x15a08 +.PCItemsMenuData db %01000000 db 1, 4 ; start coords db 10, 18 ; end coords @@ -667,38 +641,37 @@ PC_DisplayText: ; 15a20 ret ; 15a27 - -UnknownText_0x15a27: ; 0x15a27 +PokeCenterPCText_BootedUpPC: ; 0x15a27 ; turned on the PC. text_jump UnknownText_0x1c144d db "@" ; 0x15a2c -UnknownText_0x15a2c: ; 0x15a2c +PokeCenterPCText_AccessWhosePC: ; 0x15a2c ; Access whose PC? text_jump UnknownText_0x1c1462 db "@" ; 0x15a31 -UnknownText_0x15a31: ; 0x15a31 +PokeCenterPCText_AccessedBillsPC: ; 0x15a31 ; BILL's PC accessed. #MON Storage System opened. text_jump UnknownText_0x1c1474 db "@" ; 0x15a36 -UnknownText_0x15a36: ; 0x15a36 +PokeCenterPCText_AccessedOwnPC: ; 0x15a36 ; Accessed own PC. Item Storage System opened. text_jump UnknownText_0x1c14a4 db "@" ; 0x15a3b -UnknownText_0x15a3b: ; 0x15a3b +PokeCenterPCText_AccessedOaksPC: ; 0x15a3b ; PROF.OAK's PC accessed. #DEX Rating System opened. text_jump UnknownText_0x1c14d2 db "@" ; 0x15a40 -UnknownText_0x15a40: ; 0x15a40 +PokeCenterPCText_LinkClosed: ; 0x15a40 ; … Link closed… text_jump UnknownText_0x1c1505 db "@" diff --git a/engine/scrolling_menu.asm b/engine/scrolling_menu.asm index b09453239..001beb71b 100755 --- a/engine/scrolling_menu.asm +++ b/engine/scrolling_menu.asm @@ -210,17 +210,17 @@ ScrollingMenu_GetCursorPosition: ; 246fc ret ; 24706 -Function24706: ; 24706 (9:4706) +ScrollingMenu_ClearLeftColumn: ; 24706 (9:4706) call MenuBoxCoord2Tile ld de, SCREEN_WIDTH add hl, de ld de, 2 * SCREEN_WIDTH ld a, [wMenuData2_ScrollingMenuHeight] -.asm_24713 +.loop ld [hl], " " add hl, de dec a - jr nz, .asm_24713 + jr nz, .loop ret InitScrollingMenuCursor: ; 2471a diff --git a/engine/startmenu.asm b/engine/startmenu.asm index 25a3eee39..acad9bb88 100755 --- a/engine/startmenu.asm +++ b/engine/startmenu.asm @@ -91,7 +91,7 @@ StartMenu:: ; 125cd ld [MenuSelection], a .loop call .PrintMenuAccount - call Function1f1a + call GetScrollingMenuJoypad ld a, [wMenuJoypad] cp B_BUTTON jr z, .b @@ -591,70 +591,66 @@ HasNoItems: ; 129d5 and a ret -Function129f4: ; 129f4 +TossItemFromPC: ; 129f4 push de call PartyMonItemName callba _CheckTossableItem ld a, [wItemAttributeParamBuffer] and a - jr nz, .asm_12a3f - ld hl, UnknownText_0x12a45 + jr nz, .key_item + ld hl, .TossHowMany call MenuTextBox callba SelectQuantityToToss push af call CloseWindow call ExitMenu pop af - jr c, .asm_12a42 - ld hl, UnknownText_0x12a4a + jr c, .quit + ld hl, .ConfirmToss call MenuTextBox call YesNoBox push af call ExitMenu pop af - jr c, .asm_12a42 + jr c, .quit pop hl ld a, [wd107] call TossItem call PartyMonItemName - ld hl, UnknownText_0x12a4f + ld hl, .TossedThisMany call MenuTextBox call ExitMenu and a ret -.asm_12a3f - call Function12a54 -.asm_12a42 + +.key_item + call .CantToss +.quit pop hl scf ret -; 12a45 (4:6a45) -UnknownText_0x12a45: ; 0x12a45 +.TossHowMany ; Toss out how many @ (S)? text_jump UnknownText_0x1c1a90 db "@" -; 0x12a4a -UnknownText_0x12a4a: ; 0x12a4a +.ConfirmToss ; Throw away @ @ (S)? text_jump UnknownText_0x1c1aad db "@" -; 0x12a4f -UnknownText_0x12a4f: ; 0x12a4f +.TossedThisMany ; Discarded @ (S). text_jump UnknownText_0x1c1aca db "@" -; 0x12a54 -Function12a54: ; 12a54 (4:6a54) - ld hl, UnknownText_0x12a5b +.CantToss + ld hl, .TooImportantToToss call MenuTextBoxBackup ret -; 12a5b (4:6a5b) -UnknownText_0x12a5b: ; 0x12a5b +.TooImportantToToss ; That's too impor- tant to toss out! text_jump UnknownText_0x1c1adf db "@" @@ -830,7 +826,7 @@ GiveTakePartyMonItem: ; 12b60 ; 12ba9 -.GiveItem: ; 12ba9 +.GiveItem callba DepositSellInitPackBuffers @@ -1168,7 +1164,7 @@ MonMailAction: ; 12d45 ; 12dc9 -.MenuDataHeader: ; 0x12dc9 +.MenuDataHeader db $40 ; flags db 10, 12 ; start coords db 17, 19 ; end coords @@ -1176,7 +1172,7 @@ MonMailAction: ; 12d45 db 1 ; default option ; 0x12dd1 -.MenuData2: ; 0x12dd1 +.MenuData2 db $80 ; flags db 3 ; items db "READ@" @@ -1185,37 +1181,37 @@ MonMailAction: ; 12d45 ; 0x12de2 -.mailwilllosemessagetext: ; 0x12de2 +.mailwilllosemessagetext ; The MAIL will lose its message. OK? text_jump UnknownText_0x1c1c22 db "@" ; 0x12de7 -.tookmailfrommontext: ; 0x12de7 +.tookmailfrommontext ; MAIL detached from . text_jump UnknownText_0x1c1c47 db "@" ; 0x12dec -.bagfulltext: ; 0x12dec +.bagfulltext ; There's no space for removing MAIL. text_jump UnknownText_0x1c1c62 db "@" ; 0x12df1 -.sendmailtopctext: ; 0x12df1 +.sendmailtopctext ; Send the removed MAIL to your PC? text_jump UnknownText_0x1c1c86 db "@" ; 0x12df6 -.mailboxfulltext: ; 0x12df6 +.mailboxfulltext ; Your PC's MAILBOX is full. text_jump UnknownText_0x1c1ca9 db "@" ; 0x12dfb -.sentmailtopctext: ; 0x12dfb +.sentmailtopctext ; The MAIL was sent to your PC. text_jump UnknownText_0x1c1cc4 db "@" @@ -1392,13 +1388,13 @@ MonMenu_Softboiled_MilkDrink: ; 12ee6 ret ; 12f00 -.Text_NotEnoughHP: ; 0x12f00 +.Text_NotEnoughHP ; Not enough HP! text_jump UnknownText_0x1c1ce3 db "@" ; 0x12f05 -.CheckMonHasEnoughHP: ; 12f05 +.CheckMonHasEnoughHP ; Need to have at least (MaxHP / 5) HP left. ld a, MON_MAXHP call GetPartyParamLocation @@ -1471,7 +1467,7 @@ ChooseMoveToDelete: ; 12f5b ret ; 12f73 -.asm_12f73: ; 12f73 +.asm_12f73 call SetUpMoveScreenBG ld de, DeleteMoveScreenAttrs call SetMenuAttributes @@ -1480,27 +1476,27 @@ ChooseMoveToDelete: ; 12f5b set 6, [hl] jr .asm_12f93 -.asm_12f86: ; 12f86 +.asm_12f86 call ScrollingMenuJoypad bit 1, a jp nz, .asm_12f9f bit 0, a jp nz, .asm_12f9c -.asm_12f93: ; 12f93 +.asm_12f93 call PrepareToPlaceMoveData call PlaceMoveData jp .asm_12f86 ; 12f9c -.asm_12f9c: ; 12f9c +.asm_12f9c and a jr .asm_12fa0 -.asm_12f9f: ; 12f9f +.asm_12f9f scf -.asm_12fa0: ; 12fa0 +.asm_12fa0 push af xor a ld [wSwitchMon], a @@ -1583,7 +1579,7 @@ MoveScreenLoop: ; 12fd5 ld de, String_1316b call PlaceString jp .joy_loop -.b_button: ; 13038 +.b_button call PlayClickSFX call WaitSFX ld a, [wMoveSwapBuffer] @@ -1600,7 +1596,7 @@ MoveScreenLoop: ; 12fd5 jp .loop ; 1305b -.d_right: ; 1305b +.d_right ld a, [wMoveSwapBuffer] and a jp nz, .joy_loop @@ -1615,7 +1611,7 @@ MoveScreenLoop: ; 12fd5 jp z, .joy_loop jp MoveScreenLoop -.d_left: ; 13075 +.d_left ld a, [wMoveSwapBuffer] and a jp nz, .joy_loop @@ -1665,7 +1661,7 @@ MoveScreenLoop: ; 12fd5 jr .cycle_left_loop ; 130c6 -.a_button: ; 130c6 +.a_button call PlayClickSFX call WaitSFX ld a, [wMoveSwapBuffer] @@ -1716,7 +1712,7 @@ MoveScreenLoop: ; 12fd5 jp .loop ; 1313a -.copy_move: ; 1313a +.copy_move push hl ld a, [wMenuCursorY] dec a @@ -1739,7 +1735,7 @@ MoveScreenLoop: ; 12fd5 ret ; 13154 -.exit: ; 13154 +.exit xor a ld [wMoveSwapBuffer], a ld hl, w2DMenuFlags1 @@ -1776,7 +1772,7 @@ SetUpMoveScreenBG: ; 13172 ld a, [hl] ld [wd265], a ld e, $2 - callba Function8e83f + callba LoadMenuMonIcon hlcoord 0, 1 ld b, 9 ld c, 18 diff --git a/engine/tile_events.asm b/engine/tile_events.asm index a6794e817..77f267b4f 100755 --- a/engine/tile_events.asm +++ b/engine/tile_events.asm @@ -21,17 +21,17 @@ CheckDirectionalWarp:: ; 149af ; Else, set carry (immediate warp). ld a, [PlayerStandingTile] cp $70 ; Warp on down - jr z, .not_warp + jr z, .directional cp $76 ; Warp on left - jr z, .not_warp + jr z, .directional cp $78 ; Warp on up - jr z, .not_warp + jr z, .directional cp $7e ; Warp on right - jr z, .not_warp + jr z, .directional scf ret -.not_warp +.directional xor a ret ; 149c6 diff --git a/engine/time.asm b/engine/time.asm index 4240522c2..235645966 100755 --- a/engine/time.asm +++ b/engine/time.asm @@ -133,7 +133,7 @@ endr ; 11485 Special_SampleKenjiBreakCountdown: ; 11485 -; Generate a random number between 3 and 5 +; Generate a random number between 3 and 6 call Random and 3 add 3 diff --git a/engine/trade/animation.asm b/engine/trade/animation.asm index 719a230ff..be5318b2e 100755 --- a/engine/trade/animation.asm +++ b/engine/trade/animation.asm @@ -1440,7 +1440,7 @@ LoadTradeBallAndCableGFX: ; 2982b LoadTradeBubbleGFX: ; 2985a call DelayFrame ld e, $3 - callab Function8e83f + callab LoadMenuMonIcon ld de, TradeBubbleGFX ld hl, VTiles0 tile $72 lb bc, BANK(TradeBubbleGFX), $4 diff --git a/event/mom.asm b/event/mom.asm index ab405a27c..4102ee771 100644 --- a/event/mom.asm +++ b/event/mom.asm @@ -480,7 +480,7 @@ Function1651a: ; 1651a lb bc, PRINTNUM_MONEY | PRINTNUM_LEADINGZEROS | 3, 6 call PrintNum call UpdateSprites - call Function3238 + call CGBOnly_LoadEDTile ret ; 1656b diff --git a/event/poke_seer.asm b/event/poke_seer.asm index 5f1a5d1ab..c963076e9 100644 --- a/event/poke_seer.asm +++ b/event/poke_seer.asm @@ -163,6 +163,7 @@ GetCaughtLevel: ; 4f18c call ByteFill ; caught level + ; Limited to between 1 and 63 for some reason. ld a, [wSeerCaughtData] and $3f jr z, .unknown diff --git a/home.asm b/home.asm index 8cb0d25b3..b747d10cf 100644 --- a/home.asm +++ b/home.asm @@ -560,7 +560,7 @@ ApplyTilemap:: ; 321c ret ; 3238 -Function3238:: ; 3238 +CGBOnly_LoadEDTile:: ; 3238 ld a, [hCGB] and a jr z, WaitBGMap diff --git a/home/map.asm b/home/map.asm index c51f9c48a..276ccdb73 100644 --- a/home/map.asm +++ b/home/map.asm @@ -1593,7 +1593,14 @@ GetMovementPermissions:: ; 2914 ; 2945 .MovementPermissionsData ; 2945 - db 1, 2, 4, 8, 9, 10, 5, 6 + db 1 << DOWN + db 1 << UP + db 1 << LEFT + db 1 << RIGHT + db (1 << DOWN) | (1 << RIGHT) + db (1 << UP) | (1 << RIGHT) + db (1 << DOWN) | (1 << LEFT) + db (1 << UP) | (1 << LEFT) ; 294d .UpDown diff --git a/home/menu.asm b/home/menu.asm index 3e04af8cf..a8c2bb0b7 100644 --- a/home/menu.asm +++ b/home/menu.asm @@ -232,7 +232,7 @@ DoNthMenu:: ; 1e5d call MenuFunc_1e7f call MenuWriteText call Function1eff - call Function1f23 + call GetStaticMenuJoypad call GetMenuJoypad call MenuClickSound ret @@ -360,20 +360,20 @@ Function1eff:: ; 1eff ; 1f1a -Function1f1a:: ; 1f1a +GetScrollingMenuJoypad:: ; 1f1a call ScrollingMenuJoypad ld hl, wMenuJoypadFilter and [hl] - jr Function1f2a + jr ContinueGettingMenuJoypad ; 1f23 -Function1f23:: ; 1f23 +GetStaticMenuJoypad:: ; 1f23 xor a ld [wMenuJoypad], a call StaticMenuJoypad ; 1f2a -Function1f2a:: ; 1f2a +ContinueGettingMenuJoypad: bit A_BUTTON_F, a jr nz, .a_button bit B_BUTTON_F, a diff --git a/home/movement.asm b/home/movement.asm index f962c8316..5353bbe4a 100644 --- a/home/movement.asm +++ b/home/movement.asm @@ -4,9 +4,9 @@ InitMovementBuffer:: ; 1b1e ld [wMovementBufferCount], a ld a, $0 ; useless ld [wd004], a - ld a, $7 + ld a, MovementBuffer % $100 ld [wd005], a - ld a, $d0 + ld a, MovementBuffer / $100 ld [wd006], a ret ; 1b35 diff --git a/macros/move_effect.asm b/macros/move_effect.asm index d25db45bd..d3761c9a1 100644 --- a/macros/move_effect.asm +++ b/macros/move_effect.asm @@ -5,181 +5,181 @@ endm enum_start 1 - command checkturn - command checkobedience - command usedmovetext - command doturn - command critical - command damagestats - command stab - command damagevariation - command checkhit - command lowersub - command hittargetnosub - command raisesub - command failuretext - command checkfaint - command criticaltext - command supereffectivetext - command checkdestinybond - command buildopponentrage - command poisontarget - command sleeptarget - command draintarget - command eatdream - command burntarget - command freezetarget - command paralyzetarget - command selfdestruct - command mirrormove - command statup - command statdown - command payday - command conversion - command resetstats - command storeenergy - command unleashenergy - command forceswitch - command endloop - command flinchtarget - command ohko - command recoil - command mist - command focusenergy - command confuse - command confusetarget - command heal - command transform - command screen - command poison - command paralyze - command substitute - command rechargenextturn - command mimic - command metronome - command leechseed - command splash - command disable - command cleartext - command charge - command checkcharge - command traptarget - command effect0x3c - command rampage - command checkrampage - command constantdamage - command counter - command encore - command painsplit - command snore - command conversion2 - command lockon - command sketch - command defrostopponent - command sleeptalk - command destinybond - command spite - command falseswipe - command healbell - command kingsrock - command triplekick - command kickcounter - command thief - command arenatrap - command nightmare - command defrost - command curse - command protect - command spikes - command foresight - command perishsong - command startsandstorm - command endure - command checkcurl - command rolloutpower - command effect0x5d - command furycutter - command attract - command happinesspower - command present - command damagecalc - command frustrationpower - command safeguard - command checksafeguard - command getmagnitude - command batonpass - command pursuit - command clearhazards - command healmorn - command healday - command healnite - command hiddenpower - command startrain - command startsun - command attackup - command defenseup - command speedup - command specialattackup - command specialdefenseup - command accuracyup - command evasionup - command attackup2 - command defenseup2 - command speedup2 - command specialattackup2 - command specialdefenseup2 - command accuracyup2 - command evasionup2 - command attackdown - command defensedown - command speeddown - command specialattackdown - command specialdefensedown - command accuracydown - command evasiondown - command attackdown2 - command defensedown2 - command speeddown2 - command specialattackdown2 - command specialdefensedown2 - command accuracydown2 - command evasiondown2 - command statupmessage - command statdownmessage - command statupfailtext - command statdownfailtext - command effectchance - command statdownanim - command statupanim - command switchturn - command fakeout - command bellydrum - command psychup - command rage - command doubleflyingdamage - command doubleundergrounddamage - command mirrorcoat - command checkfuturesight - command futuresight - command doubleminimizedamage - command skipsuncharge - command thunderaccuracy - command teleport - command beatup - command ragedamage - command resettypematchup - command allstatsup - command effect0xa5 - command raisesubnoanim - command lowersubnoanim - command effect0xa8 - command clearmissdamage - command movedelay - command hittarget - command tristatuschance - command supereffectivelooptext - command startloop - command curl + command checkturn ; 01 + command checkobedience ; 02 + command usedmovetext ; 03 + command doturn ; 04 + command critical ; 05 + command damagestats ; 06 + command stab ; 07 + command damagevariation ; 08 + command checkhit ; 09 + command lowersub ; 0a + command hittargetnosub ; 0b + command raisesub ; 0c + command failuretext ; 0d + command checkfaint ; 0e + command criticaltext ; 0f + command supereffectivetext ; 10 + command checkdestinybond ; 11 + command buildopponentrage ; 12 + command poisontarget ; 13 + command sleeptarget ; 14 + command draintarget ; 15 + command eatdream ; 16 + command burntarget ; 17 + command freezetarget ; 18 + command paralyzetarget ; 19 + command selfdestruct ; 1a + command mirrormove ; 1b + command statup ; 1c + command statdown ; 1d + command payday ; 1e + command conversion ; 1f + command resetstats ; 20 + command storeenergy ; 21 + command unleashenergy ; 22 + command forceswitch ; 23 + command endloop ; 24 + command flinchtarget ; 25 + command ohko ; 26 + command recoil ; 27 + command mist ; 28 + command focusenergy ; 29 + command confuse ; 2a + command confusetarget ; 2b + command heal ; 2c + command transform ; 2d + command screen ; 2e + command poison ; 2f + command paralyze ; 30 + command substitute ; 31 + command rechargenextturn ; 32 + command mimic ; 33 + command metronome ; 34 + command leechseed ; 35 + command splash ; 36 + command disable ; 37 + command cleartext ; 38 + command charge ; 39 + command checkcharge ; 3a + command traptarget ; 3b + command effect0x3c ; 3c + command rampage ; 3d + command checkrampage ; 3e + command constantdamage ; 3f + command counter ; 40 + command encore ; 41 + command painsplit ; 42 + command snore ; 43 + command conversion2 ; 44 + command lockon ; 45 + command sketch ; 46 + command defrostopponent ; 47 + command sleeptalk ; 48 + command destinybond ; 49 + command spite ; 4a + command falseswipe ; 4b + command healbell ; 4c + command kingsrock ; 4d + command triplekick ; 4e + command kickcounter ; 4f + command thief ; 50 + command arenatrap ; 51 + command nightmare ; 52 + command defrost ; 53 + command curse ; 54 + command protect ; 55 + command spikes ; 56 + command foresight ; 57 + command perishsong ; 58 + command startsandstorm ; 59 + command endure ; 5a + command checkcurl ; 5b + command rolloutpower ; 5c + command effect0x5d ; 5d + command furycutter ; 5e + command attract ; 5f + command happinesspower ; 60 + command present ; 61 + command damagecalc ; 62 + command frustrationpower ; 63 + command safeguard ; 64 + command checksafeguard ; 65 + command getmagnitude ; 66 + command batonpass ; 67 + command pursuit ; 68 + command clearhazards ; 69 + command healmorn ; 6a + command healday ; 6b + command healnite ; 6c + command hiddenpower ; 6d + command startrain ; 6e + command startsun ; 6f + command attackup ; 70 + command defenseup ; 71 + command speedup ; 72 + command specialattackup ; 73 + command specialdefenseup ; 74 + command accuracyup ; 75 + command evasionup ; 76 + command attackup2 ; 77 + command defenseup2 ; 78 + command speedup2 ; 79 + command specialattackup2 ; 7a + command specialdefenseup2 ; 7b + command accuracyup2 ; 7c + command evasionup2 ; 7d + command attackdown ; 7e + command defensedown ; 7f + command speeddown ; 80 + command specialattackdown ; 81 + command specialdefensedown ; 82 + command accuracydown ; 83 + command evasiondown ; 84 + command attackdown2 ; 85 + command defensedown2 ; 86 + command speeddown2 ; 87 + command specialattackdown2 ; 88 + command specialdefensedown2 ; 89 + command accuracydown2 ; 8a + command evasiondown2 ; 8b + command statupmessage ; 8c + command statdownmessage ; 8d + command statupfailtext ; 8e + command statdownfailtext ; 8f + command effectchance ; 90 + command statdownanim ; 91 + command statupanim ; 92 + command switchturn ; 93 + command fakeout ; 94 + command bellydrum ; 95 + command psychup ; 96 + command rage ; 97 + command doubleflyingdamage ; 98 + command doubleundergrounddamage ; 99 + command mirrorcoat ; 9a + command checkfuturesight ; 9b + command futuresight ; 9c + command doubleminimizedamage ; 9d + command skipsuncharge ; 9e + command thunderaccuracy ; 9f + command teleport ; a0 + command beatup ; a1 + command ragedamage ; a2 + command resettypematchup ; a3 + command allstatsup ; a4 + command effect0xa5 ; a5 + command raisesubnoanim ; a6 + command lowersubnoanim ; a7 + command effect0xa8 ; a8 + command clearmissdamage ; a9 + command movedelay ; aa + command hittarget ; ab + command tristatuschance ; ac + command supereffectivelooptext ; ad + command startloop ; ae + command curl ; af enum_start -1, -1 command endmove diff --git a/macros/movement.asm b/macros/movement.asm index fd4852e8a..1d3ad42dd 100644 --- a/macros/movement.asm +++ b/macros/movement.asm @@ -281,7 +281,15 @@ fast_jump_step_right: macro db movement_fast_jump_step_right ; $37 endm -__enum__ = $3a + enum movement_remove_sliding +remove_sliding: macro + db movement_remove_sliding ; $38 + endm + + enum movement_set_sliding +set_sliding: macro + db movement_set_sliding ; $39 + endm enum movement_remove_fixed_facing remove_fixed_facing: macro diff --git a/macros/sound.asm b/macros/sound.asm index b5a33994b..64fe309cb 100644 --- a/macros/sound.asm +++ b/macros/sound.asm @@ -15,7 +15,7 @@ noise: macro endm musicheader: macro - ; number of tracks, ??, address + ; number of tracks, track idx, address dbw ((\1 - 1) << 6) + (\2 - 1), \3 endm diff --git a/main.asm b/main.asm index 1440d7933..90b6ef046 100644 --- a/main.asm +++ b/main.asm @@ -3799,7 +3799,7 @@ BikeFunction: ; d0b3 ld hl, Script_GetOffBike ld de, Script_GetOffBike_Register call .CheckIfRegistered - ld a, $3 + ld a, BANK(Script_GetOffBike) jr .done .CantGetOffBike @@ -6275,7 +6275,7 @@ ShowLinkBattleParticipants: ; 2ee18 call ClearSprites ret -FindFirstAliveMon: ; 2ee2f +FindFirstAliveMonAndStartBattle: ; 2ee2f xor a ld [hMapAnims], a call DelayFrame @@ -10522,8 +10522,8 @@ Function8c7c9: ; unreferenced INCLUDE "event/field_moves.asm" INCLUDE "event/magnet_train.asm" -Function8cf4f: ; 8cf4f - call Function3238 +BattleStart_LoadEDTile: ; 8cf4f + call CGBOnly_LoadEDTile ret INCLUDE "engine/sprites.asm" diff --git a/maps/BurnedTowerB1F.asm b/maps/BurnedTowerB1F.asm index 3ab89533c..be6f66c9d 100644 --- a/maps/BurnedTowerB1F.asm +++ b/maps/BurnedTowerB1F.asm @@ -130,53 +130,53 @@ BurnedTowerB1FBoulder: jumpstd strengthboulder MovementData_0x186236: - db $39 ; movement + set_sliding fast_jump_step_down fast_jump_step_left - db $38 ; movement + remove_sliding step_end MovementData_0x18623b: - db $39 ; movement + set_sliding fast_jump_step_right fast_jump_step_down fast_jump_step_right - db $38 ; movement + remove_sliding step_end MovementData_0x186241: - db $39 ; movement + set_sliding fast_jump_step_right fast_jump_step_down fast_jump_step_down fast_jump_step_left - db $38 ; movement + remove_sliding step_end MovementData_0x186248: - db $39 ; movement + set_sliding fast_jump_step_left fast_jump_step_up big_step_up fast_jump_step_right - db $38 ; movement + remove_sliding step_end MovementData_0x18624f: - db $39 ; movement + set_sliding big_step_down - db $38 ; movement + remove_sliding step_end MovementData_0x186253: - db $39 ; movement + set_sliding big_step_up fast_jump_step_right fast_jump_step_down fast_jump_step_down fast_jump_step_down fast_jump_step_down - db $38 ; movement + remove_sliding step_end MovementData_0x18625c: diff --git a/maps/CianwoodGym.asm b/maps/CianwoodGym.asm index 3d0a87751..afeb908de 100644 --- a/maps/CianwoodGym.asm +++ b/maps/CianwoodGym.asm @@ -21,31 +21,31 @@ ChuckScript_0x9d60f: opentext checkevent EVENT_BEAT_CHUCK iftrue .FightDone - writetext UnknownText_0x9d6f9 + writetext ChuckIntroText1 waitbutton closetext spriteface CIANWOODGYM_CHUCK, RIGHT opentext - writetext UnknownText_0x9d76f + writetext ChuckIntroText2 waitbutton closetext - applymovement CIANWOODGYM_BOULDER1, MovementData_0x9d6f3 + applymovement CIANWOODGYM_BOULDER1, CianwoodGymMovement_ChuckChucksBoulder playsound SFX_STRENGTH earthquake 80 disappear CIANWOODGYM_BOULDER1 pause 30 faceplayer opentext - writetext UnknownText_0x9d78a + writetext ChuckIntroText3 waitbutton closetext - winlosstext UnknownText_0x9d7f6, 0 + winlosstext ChuckLossText, 0 loadtrainer CHUCK, 1 startbattle reloadmapafterbattle setevent EVENT_BEAT_CHUCK opentext - writetext UnknownText_0x9d835 + writetext GetStormBadgeText playsound SFX_GET_BADGE waitsfx setflag ENGINE_STORMBADGE @@ -53,25 +53,25 @@ ChuckScript_0x9d60f: scall CianwoodGymTriggerRockets .FightDone checkevent EVENT_GOT_TM01_DYNAMICPUNCH - iftrue UnknownScript_0x9d67b + iftrue .AlreadyGotTM setevent EVENT_BEAT_BLACKBELT_YOSHI setevent EVENT_BEAT_BLACKBELT_LAO setevent EVENT_BEAT_BLACKBELT_NOB setevent EVENT_BEAT_BLACKBELT_LUNG - writetext UnknownText_0x9d84d + writetext ChuckExplainBadgeText buttonsound verbosegiveitem TM_DYNAMICPUNCH - iffalse UnknownScript_0x9d67f + iffalse .BagFull setevent EVENT_GOT_TM01_DYNAMICPUNCH - writetext UnknownText_0x9d8da + writetext ChuckExplainTMText waitbutton closetext end -UnknownScript_0x9d67b: - writetext UnknownText_0x9d930 +.AlreadyGotTM: + writetext ChuckAfterText waitbutton -UnknownScript_0x9d67f: +.BagFull: closetext end @@ -87,45 +87,45 @@ CianwoodGymTriggerRockets: jumpstd radiotowerrockets TrainerBlackbeltYoshi: - trainer EVENT_BEAT_BLACKBELT_YOSHI, BLACKBELT_T, YOSHI, BlackbeltYoshiSeenText, BlackbeltYoshiBeatenText, 0, BlackbeltYoshiScript + trainer EVENT_BEAT_BLACKBELT_YOSHI, BLACKBELT_T, YOSHI, BlackbeltYoshiSeenText, BlackbeltYoshiBeatenText, 0, .Script -BlackbeltYoshiScript: +.Script: end_if_just_battled opentext - writetext UnknownText_0x9d9fa + writetext BlackbeltYoshiAfterText waitbutton closetext end TrainerBlackbeltLao: - trainer EVENT_BEAT_BLACKBELT_LAO, BLACKBELT_T, LAO, BlackbeltLaoSeenText, BlackbeltLaoBeatenText, 0, BlackbeltLaoScript + trainer EVENT_BEAT_BLACKBELT_LAO, BLACKBELT_T, LAO, BlackbeltLaoSeenText, BlackbeltLaoBeatenText, 0, .Script -BlackbeltLaoScript: +.Script: end_if_just_battled opentext - writetext UnknownText_0x9da61 + writetext BlackbeltLaoAfterText waitbutton closetext end TrainerBlackbeltNob: - trainer EVENT_BEAT_BLACKBELT_NOB, BLACKBELT_T, NOB, BlackbeltNobSeenText, BlackbeltNobBeatenText, 0, BlackbeltNobScript + trainer EVENT_BEAT_BLACKBELT_NOB, BLACKBELT_T, NOB, BlackbeltNobSeenText, BlackbeltNobBeatenText, 0, .Script -BlackbeltNobScript: +.Script: end_if_just_battled opentext - writetext UnknownText_0x9dac0 + writetext BlackbeltNobAfterText waitbutton closetext end TrainerBlackbeltLung: - trainer EVENT_BEAT_BLACKBELT_LUNG, BLACKBELT_T, LUNG, BlackbeltLungSeenText, BlackbeltLungBeatenText, 0, BlackbeltLungScript + trainer EVENT_BEAT_BLACKBELT_LUNG, BLACKBELT_T, LUNG, BlackbeltLungSeenText, BlackbeltLungBeatenText, 0, .Script -BlackbeltLungScript: +.Script: end_if_just_battled opentext - writetext UnknownText_0x9db14 + writetext BlackbeltLungAfterText waitbutton closetext end @@ -141,15 +141,15 @@ CianwoodGymStatue: trainertotext CHUCK, 1, $1 jumpstd gymstatue2 -MovementData_0x9d6f3: - db $39 ; movement +CianwoodGymMovement_ChuckChucksBoulder: + set_sliding big_step_left big_step_up fast_jump_step_right - db $38 ; movement + remove_sliding step_end -UnknownText_0x9d6f9: +ChuckIntroText1: text "WAHAHAH!" para "So you've come" @@ -165,14 +165,14 @@ UnknownText_0x9d6f9: para "Watch this!" done -UnknownText_0x9d76f: +ChuckIntroText2: text "CHUCK: Urggh!" line "…" para "Oooarrgh!" done -UnknownText_0x9d78a: +ChuckIntroText3: text "There! Scared now," line "are you?" @@ -186,7 +186,7 @@ UnknownText_0x9d78a: line "do battle!" done -UnknownText_0x9d7f6: +ChuckLossText: text "Wha? Huh?" line "I lost?" @@ -195,12 +195,12 @@ UnknownText_0x9d7f6: cont "STORMBADGE!" done -UnknownText_0x9d835: +GetStormBadgeText: text " received" line "STORMBADGE." done -UnknownText_0x9d84d: +ChuckExplainBadgeText: text "STORMBADGE makes" line "all #MON up to" @@ -217,7 +217,7 @@ UnknownText_0x9d84d: line "too!" done -UnknownText_0x9d8da: +ChuckExplainTMText: text "That is DYNAMIC-" line "PUNCH." @@ -228,7 +228,7 @@ UnknownText_0x9d8da: line "confusion!" done -UnknownText_0x9d930: +ChuckAfterText: text "WAHAHAH! I enjoyed" line "battling you!" @@ -253,7 +253,7 @@ BlackbeltYoshiBeatenText: text "This isn't real!" done -UnknownText_0x9d9fa: +BlackbeltYoshiAfterText: text "You seem to have a" line "strong bond with" cont "your #MON too!" @@ -268,7 +268,7 @@ BlackbeltLaoBeatenText: text "That's shocking!" done -UnknownText_0x9da61: +BlackbeltLaoAfterText: text "Fighting #MON" line "are afraid of psy-" cont "chics…" @@ -284,7 +284,7 @@ BlackbeltNobBeatenText: text "…" done -UnknownText_0x9dac0: +BlackbeltNobAfterText: text "I lost! " line "I'm speechless!" done @@ -299,7 +299,7 @@ BlackbeltLungBeatenText: text "I got shattered!" done -UnknownText_0x9db14: +BlackbeltLungAfterText: text "My #MON lost…" line "My… my pride is" cont "shattered…" diff --git a/maps/LancesRoom.asm b/maps/LancesRoom.asm index 6188ac56d..a3c9018e2 100644 --- a/maps/LancesRoom.asm +++ b/maps/LancesRoom.asm @@ -8,36 +8,36 @@ LancesRoom_MapScriptHeader: db 2 ; triggers - dw UnknownScript_0x180e39, 0 - dw UnknownScript_0x180e3d, 0 + dw .Trigger0, 0 + dw .Trigger1, 0 .MapCallbacks: db 1 ; callbacks - dbw MAPCALLBACK_TILES, UnknownScript_0x180e3e + dbw MAPCALLBACK_TILES, .CheckDoor -UnknownScript_0x180e39: - priorityjump UnknownScript_0x180e53 +.Trigger0: + priorityjump LancesRoom_PlayerWalksIn_DoorsCloseBehind end -UnknownScript_0x180e3d: +.Trigger1: end -UnknownScript_0x180e3e: +.CheckDoor: checkevent EVENT_LANCES_ROOM_ENTRANCE_CLOSED - iffalse UnknownScript_0x180e48 + iffalse .LanceEntranceOpen changeblock $4, $16, $34 -UnknownScript_0x180e48: +.LanceEntranceOpen: checkevent EVENT_LANCES_ROOM_EXIT_OPEN - iffalse UnknownScript_0x180e52 + iffalse .LanceExitClosed changeblock $4, $0, $b -UnknownScript_0x180e52: +.LanceExitClosed: return -UnknownScript_0x180e53: - applymovement PLAYER, MovementData_0x180f33 +LancesRoom_PlayerWalksIn_DoorsCloseBehind: + applymovement PLAYER, LancesRoom_PlayerWalksInMovementData refreshscreen $86 playsound SFX_STRENGTH earthquake 80 @@ -48,21 +48,21 @@ UnknownScript_0x180e53: setevent EVENT_LANCES_ROOM_ENTRANCE_CLOSED end -UnknownScript_0x180e6a: +Script_ApproachLanceFromLeft: special Special_FadeOutMusic - applymovement PLAYER, MovementData_0x180f38 + applymovement PLAYER, MovementData_ApproachLanceFromLeft jump LanceScript_0x180e7b -UnknownScript_0x180e74: +Script_ApproachLanceFromRight: special Special_FadeOutMusic - applymovement PLAYER, MovementData_0x180f3c + applymovement PLAYER, MovementData_ApproachLanceFromRight LanceScript_0x180e7b: spriteface LANCESROOM_LANCE, LEFT opentext - writetext UnknownText_0x180f67 + writetext LanceBattleIntroText waitbutton closetext - winlosstext UnknownText_0x1810a4, 0 + winlosstext LanceBattleWinText, 0 setlasttalked LANCESROOM_LANCE loadtrainer CHAMPION, LANCE startbattle @@ -70,7 +70,7 @@ LanceScript_0x180e7b: reloadmapafterbattle setevent EVENT_BEAT_CHAMPION_LANCE opentext - writetext UnknownText_0x181132 + writetext LanceBattleAfterText waitbutton closetext playsound SFX_ENTER_DOOR @@ -85,15 +85,15 @@ LanceScript_0x180e7b: pause 10 spriteface PLAYER, DOWN appear LANCESROOM_MARY - applymovement LANCESROOM_MARY, MovementData_0x180f41 + applymovement LANCESROOM_MARY, LancesRoomMovementData_MaryRushesIn opentext writetext UnknownText_0x1811dd waitbutton closetext appear LANCESROOM_OAK - applymovement LANCESROOM_OAK, MovementData_0x180f46 + applymovement LANCESROOM_OAK, LancesRoomMovementData_OakWalksIn follow LANCESROOM_MARY, LANCESROOM_OAK - applymovement LANCESROOM_MARY, MovementData_0x180f49 + applymovement LANCESROOM_MARY, LancesRoomMovementData_MaryYieldsToOak stopfollow spriteface LANCESROOM_OAK, UP spriteface LANCESROOM_LANCE, LEFT @@ -101,13 +101,13 @@ LanceScript_0x180e7b: writetext UnknownText_0x18121b waitbutton closetext - applymovement LANCESROOM_MARY, MovementData_0x180f4c + applymovement LANCESROOM_MARY, LancesRoomMovementData_MaryInterviewChampion spriteface PLAYER, LEFT opentext writetext UnknownText_0x18134b waitbutton closetext - applymovement LANCESROOM_LANCE, MovementData_0x180f4f + applymovement LANCESROOM_LANCE, LancesRoomMovementData_LancePositionsSelfToGuidePlayerAway spriteface PLAYER, UP opentext writetext UnknownText_0x18137b @@ -116,88 +116,88 @@ LanceScript_0x180e7b: follow LANCESROOM_LANCE, PLAYER spriteface LANCESROOM_MARY, UP spriteface LANCESROOM_OAK, UP - applymovement LANCESROOM_LANCE, MovementData_0x180f53 + applymovement LANCESROOM_LANCE, LancesRoomMovementData_LanceLeadsPlayerToHallOfFame stopfollow playsound SFX_EXIT_BUILDING disappear LANCESROOM_LANCE - applymovement PLAYER, MovementData_0x180f55 + applymovement PLAYER, LancesRoomMovementData_PlayerExits playsound SFX_EXIT_BUILDING disappear PLAYER - applymovement LANCESROOM_MARY, MovementData_0x180f57 + applymovement LANCESROOM_MARY, LancesRoomMovementData_MaryTriesToFollow showemote EMOTE_SHOCK, LANCESROOM_MARY, 15 opentext writetext UnknownText_0x1813c5 pause 30 closetext - applymovement LANCESROOM_MARY, MovementData_0x180f5b + applymovement LANCESROOM_MARY, LancesRoomMovementData_MaryRunsBackAndForth special FadeOutPalettes pause 15 warpfacing UP, HALL_OF_FAME, $4, $d end -MovementData_0x180f33: +LancesRoom_PlayerWalksInMovementData: step_up step_up step_up step_up step_end -MovementData_0x180f38: +MovementData_ApproachLanceFromLeft: step_up step_up turn_head_right step_end -MovementData_0x180f3c: +MovementData_ApproachLanceFromRight: step_up step_left step_up turn_head_right step_end -MovementData_0x180f41: +LancesRoomMovementData_MaryRushesIn: big_step_up big_step_up big_step_up turn_head_down step_end -MovementData_0x180f46: +LancesRoomMovementData_OakWalksIn: step_up step_up step_end -MovementData_0x180f49: +LancesRoomMovementData_MaryYieldsToOak: step_left turn_head_right step_end -MovementData_0x180f4c: +LancesRoomMovementData_MaryInterviewChampion: big_step_up turn_head_right step_end -MovementData_0x180f4f: +LancesRoomMovementData_LancePositionsSelfToGuidePlayerAway: step_up step_left turn_head_down step_end -MovementData_0x180f53: +LancesRoomMovementData_LanceLeadsPlayerToHallOfFame: step_up step_end -MovementData_0x180f55: +LancesRoomMovementData_PlayerExits: step_up step_end -MovementData_0x180f57: +LancesRoomMovementData_MaryTriesToFollow: step_up step_right turn_head_up step_end -MovementData_0x180f5b: +LancesRoomMovementData_MaryRunsBackAndForth: big_step_right big_step_right big_step_left @@ -211,7 +211,7 @@ MovementData_0x180f5b: turn_head_up step_end -UnknownText_0x180f67: +LanceBattleIntroText: text "LANCE: I've been" line "waiting for you." @@ -243,7 +243,7 @@ UnknownText_0x180f67: cont "your challenge!" done -UnknownText_0x1810a4: +LanceBattleWinText: text "…It's over." para "But it's an odd" @@ -260,7 +260,7 @@ UnknownText_0x1810a4: line "CHAMPION!" done -UnknownText_0x181132: +LanceBattleAfterText: text "…Whew." para "You have become" @@ -355,8 +355,8 @@ LancesRoom_MapEventHeader: .XYTriggers: db 2 - xy_trigger 1, $5, $4, $0, UnknownScript_0x180e6a, $0, $0 - xy_trigger 1, $5, $5, $0, UnknownScript_0x180e74, $0, $0 + xy_trigger 1, $5, $4, $0, Script_ApproachLanceFromLeft, $0, $0 + xy_trigger 1, $5, $5, $0, Script_ApproachLanceFromRight, $0, $0 .Signposts: db 0 diff --git a/maps/Route36.asm b/maps/Route36.asm index 7e3af11d7..e096f37be 100644 --- a/maps/Route36.asm +++ b/maps/Route36.asm @@ -14,23 +14,23 @@ Route36_MapScriptHeader: db 2 ; triggers - dw UnknownScript_0x19400d, 0 - dw UnknownScript_0x19400e, 0 + dw .Trigger0, 0 + dw .Trigger1, 0 .MapCallbacks: db 1 ; callbacks - dbw MAPCALLBACK_OBJECTS, ArthurCallback + dbw MAPCALLBACK_OBJECTS, .ArthurCallback -UnknownScript_0x19400d: +.Trigger0: end -UnknownScript_0x19400e: +.Trigger1: end -ArthurCallback: +.ArthurCallback: checkcode VAR_WEEKDAY if_equal THURSDAY, .ArthurAppears disappear ROUTE36_YOUNGSTER3 @@ -40,12 +40,12 @@ ArthurCallback: appear ROUTE36_YOUNGSTER3 return -UnknownScript_0x19401b: +Route36SuicuneTrigger: showemote EMOTE_SHOCK, PLAYER, 15 pause 15 playsound SFX_WARP_FROM spriteface PLAYER, UP - applymovement ROUTE36_SUICUNE, MovementData_0x194262 + applymovement ROUTE36_SUICUNE, Route36SuicuneMovement disappear ROUTE36_SUICUNE spriteface PLAYER, DOWN pause 10 @@ -56,103 +56,103 @@ UnknownScript_0x19401b: WeirdTreeScript_0x19403c: checkitem SQUIRTBOTTLE - iftrue UnknownScript_0x19404a + iftrue .HaveSquirtbottle waitsfx playsound SFX_SANDSTORM - applymovement ROUTE36_WEIRD_TREE, MovementData_0x194249 + applymovement ROUTE36_WEIRD_TREE, WeirdTreeMovement_Shake end -UnknownScript_0x19404a: +.HaveSquirtbottle: opentext - writetext UnknownText_0x19426b + writetext WeirdTreeText_AskUseBottle yesorno - iffalse UnknownScript_0x194079 + iffalse DidntWaterSudowoodo closetext ; fallthrough WateredWeirdTreeScript:: opentext - writetext UnknownText_0x194290 + writetext WeirdTreeText_PlayerUsedBottle waitbutton closetext waitsfx playsound SFX_SANDSTORM - applymovement ROUTE36_WEIRD_TREE, MovementData_0x194249 + applymovement ROUTE36_WEIRD_TREE, WeirdTreeMovement_Shake opentext - writetext UnknownText_0x1942aa + writetext WeirdTreeText_DidntLikeTheBottle waitbutton closetext loadwildmon SUDOWOODO, 20 startbattle setevent EVENT_FOUGHT_SUDOWOODO - if_equal $2, UnknownScript_0x19407b + if_equal $2, DidntCatchSudowoodo disappear ROUTE36_WEIRD_TREE variablesprite SPRITE_WEIRD_TREE, SPRITE_TWIN reloadmapafterbattle end -UnknownScript_0x194079: +DidntWaterSudowoodo: closetext end -UnknownScript_0x19407b: +DidntCatchSudowoodo: reloadmapafterbattle - applymovement ROUTE36_WEIRD_TREE, MovementData_0x19424b + applymovement ROUTE36_WEIRD_TREE, WeirdTreeMovement_Flee disappear ROUTE36_WEIRD_TREE variablesprite SPRITE_WEIRD_TREE, SPRITE_TWIN special RunCallback_04 special RefreshSprites end -LassScript_0x19408c: +Route36FloriaScript: faceplayer opentext checkevent EVENT_TALKED_TO_FLORIA_AT_FLOWER_SHOP - iftrue UnknownScript_0x1940b3 + iftrue .TalkedToFloriaAtFlowerShop setevent EVENT_MET_FLORIA - writetext UnknownText_0x1942f1 + writetext Route36FloriaText1 waitbutton closetext clearevent EVENT_FLORIA_AT_FLOWER_SHOP checkcode VAR_FACING - if_equal UP, UnknownScript_0x1940ac - applymovement ROUTE36_LASS2, MovementData_0x19424e + if_equal UP, .Depart2 + applymovement ROUTE36_LASS2, Route36FloriaDepartureMovement1 disappear ROUTE36_LASS2 end -UnknownScript_0x1940ac: - applymovement ROUTE36_LASS2, MovementData_0x194258 +.Depart2: + applymovement ROUTE36_LASS2, Route36FloriaDepartureMovement2 disappear ROUTE36_LASS2 end -UnknownScript_0x1940b3: - writetext UnknownText_0x1943ed +.TalkedToFloriaAtFlowerShop: + writetext Route36FloriaText2 waitbutton closetext end -FisherScript_0x1940b9: +Route36RockSmashGuyScript: faceplayer opentext checkevent EVENT_GOT_TM08_ROCK_SMASH - iftrue UnknownScript_0x1940da + iftrue .AlreadyGotRockSmash checkevent EVENT_FOUGHT_SUDOWOODO - iftrue UnknownScript_0x1940cd - writetext UnknownText_0x19446f + iftrue .ClearedSudowoodo + writetext RockSmashGuyText1 waitbutton closetext end -UnknownScript_0x1940cd: - writetext UnknownText_0x1944d0 +.ClearedSudowoodo: + writetext RockSmashGuyText2 buttonsound verbosegiveitem TM_ROCK_SMASH - iffalse UnknownScript_0x1940de + iffalse .NoRoomForTM setevent EVENT_GOT_TM08_ROCK_SMASH -UnknownScript_0x1940da: - writetext UnknownText_0x19452c +.AlreadyGotRockSmash: + writetext RockSmashGuyText3 waitbutton -UnknownScript_0x1940de: +.NoRoomForTM: closetext end @@ -160,13 +160,13 @@ LassScript_0x1940e0: faceplayer opentext checkevent EVENT_FOUGHT_SUDOWOODO - iftrue UnknownScript_0x1940ee + iftrue .ClearedSudowoodo writetext UnknownText_0x194626 waitbutton closetext end -UnknownScript_0x1940ee: +.ClearedSudowoodo: writetext UnknownText_0x19469e waitbutton closetext @@ -372,16 +372,16 @@ MapRoute36Signpost0Script: FruitTreeScript_0x194247: fruittree FRUITTREE_ROUTE_36 -MovementData_0x194249: +WeirdTreeMovement_Shake: db $56 ; movement step_end -MovementData_0x19424b: +WeirdTreeMovement_Flee: fast_jump_step_up fast_jump_step_up step_end -MovementData_0x19424e: +Route36FloriaDepartureMovement1: step_down step_down step_down @@ -393,7 +393,7 @@ MovementData_0x19424e: step_left step_end -MovementData_0x194258: +Route36FloriaDepartureMovement2: step_left step_down step_down @@ -405,28 +405,28 @@ MovementData_0x194258: step_left step_end -MovementData_0x194262: - db $39 ; movement +Route36SuicuneMovement: + set_sliding fast_jump_step_down fast_jump_step_down fast_jump_step_down fast_jump_step_right fast_jump_step_right fast_jump_step_right - db $38 ; movement + remove_sliding step_end -UnknownText_0x19426b: +WeirdTreeText_AskUseBottle: text "It's a weird tree." line "Use SQUIRTBOTTLE?" done -UnknownText_0x194290: +WeirdTreeText_PlayerUsedBottle: text " used the" line "SQUIRTBOTTLE." done -UnknownText_0x1942aa: +WeirdTreeText_DidntLikeTheBottle: text "The weird tree" line "doesn't like the" cont "SQUIRTBOTTLE!" @@ -435,7 +435,7 @@ UnknownText_0x1942aa: line "attacked!" done -UnknownText_0x1942f1: +Route36FloriaText1: text "I'm the FLOWER" line "SHOP's FLORIA!" @@ -461,7 +461,7 @@ UnknownText_0x1942f1: cont "her water bottle!" done -UnknownText_0x1943ed: +Route36FloriaText2: text "When I told my sis" line "about the jiggly" @@ -475,7 +475,7 @@ UnknownText_0x1943ed: line "bottle…" done -UnknownText_0x19446f: +RockSmashGuyText1: text "Wa-hey!" para "I was going to" @@ -488,7 +488,7 @@ UnknownText_0x19446f: line "I'm a failure!" done -UnknownText_0x1944d0: +RockSmashGuyText2: text "Did you clear that" line "wretched tree?" @@ -502,7 +502,7 @@ UnknownText_0x19451a: line "TM08." done -UnknownText_0x19452c: +RockSmashGuyText3: text "That happens to be" line "ROCK SMASH." @@ -678,8 +678,8 @@ Route36_MapEventHeader: .XYTriggers: db 2 - xy_trigger 1, $7, $14, $0, UnknownScript_0x19401b, $0, $0 - xy_trigger 1, $7, $16, $0, UnknownScript_0x19401b, $0, $0 + xy_trigger 1, $7, $14, $0, Route36SuicuneTrigger, $0, $0 + xy_trigger 1, $7, $16, $0, Route36SuicuneTrigger, $0, $0 .Signposts: db 4 @@ -694,8 +694,8 @@ Route36_MapEventHeader: person_event SPRITE_YOUNGSTER, 14, 31, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_TRAINER, 5, TrainerSchoolboyAlan1, -1 person_event SPRITE_WEIRD_TREE, 9, 35, SPRITEMOVEDATA_SUDOWOODO, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, WeirdTreeScript_0x19403c, EVENT_ROUTE_36_SUDOWOODO person_event SPRITE_LASS, 8, 51, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, PERSONTYPE_SCRIPT, 0, LassScript_0x1940e0, -1 - person_event SPRITE_FISHER, 9, 44, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FisherScript_0x1940b9, -1 + person_event SPRITE_FISHER, 9, 44, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, Route36RockSmashGuyScript, -1 person_event SPRITE_FRUIT_TREE, 4, 21, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, FruitTreeScript_0x194247, -1 person_event SPRITE_YOUNGSTER, 6, 46, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ArthurScript, EVENT_ROUTE_36_ARTHUR_OF_THURSDAY - person_event SPRITE_LASS, 12, 33, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, LassScript_0x19408c, EVENT_FLORIA_AT_SUDOWOODO + person_event SPRITE_LASS, 12, 33, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, Route36FloriaScript, EVENT_FLORIA_AT_SUDOWOODO person_event SPRITE_SUICUNE, 6, 21, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ObjectEvent, EVENT_SAW_SUICUNE_ON_ROUTE_36 diff --git a/maps/TinTower1F.asm b/maps/TinTower1F.asm index 4d23f2ce1..99400915d 100644 --- a/maps/TinTower1F.asm +++ b/maps/TinTower1F.asm @@ -243,37 +243,37 @@ MovementData_0x1851cb: step_end MovementData_0x1851d0: - db $39 ; movement + set_sliding fast_jump_step_down - db $38 ; movement + remove_sliding step_end MovementData_0x1851d4: - db $39 ; movement + set_sliding fast_jump_step_down fast_jump_step_right fast_jump_step_down - db $38 ; movement + remove_sliding step_end MovementData_0x1851da: - db $39 ; movement + set_sliding fast_jump_step_down - db $38 ; movement + remove_sliding step_end MovementData_0x1851de: - db $39 ; movement + set_sliding fast_jump_step_down fast_jump_step_left fast_jump_step_down - db $38 ; movement + remove_sliding step_end MovementData_0x1851e4: - db $39 ; movement + set_sliding fast_jump_step_down - db $38 ; movement + remove_sliding step_end MovementData_0x1851e8: diff --git a/misc/mobile_12_2.asm b/misc/mobile_12_2.asm index 86583aa40..928eeec98 100755 --- a/misc/mobile_12_2.asm +++ b/misc/mobile_12_2.asm @@ -443,7 +443,7 @@ Function4aad3: ; 4aad3 push bc push hl ld e, 0 - callba Function8e83f + callba LoadMenuMonIcon ld a, [hObjectStructIndexBuffer] inc a ld [hObjectStructIndexBuffer], a diff --git a/misc/mobile_22.asm b/misc/mobile_22.asm index b849b8405..c9a844b42 100644 --- a/misc/mobile_22.asm +++ b/misc/mobile_22.asm @@ -2216,7 +2216,7 @@ Function89d85: ; 89d85 (22:5d85) push hl call Function8923c call _hl_ - call Function3238 + call CGBOnly_LoadEDTile pop hl asm_89d90: ; 89d90 (22:5d90) @@ -2661,7 +2661,7 @@ rept 3 endr ld a, $6 call Function8a5a3 - call Function3238 + call CGBOnly_LoadEDTile pop bc ld a, c cp $b @@ -2676,7 +2676,7 @@ endr ld a, $6 hlcoord 15, 4, AttrMap call Function8a5a3 - call Function3238 + call CGBOnly_LoadEDTile jp Function89e36 Function8a0a1: ; 8a0a1 (22:60a1) diff --git a/misc/mobile_22_2.asm b/misc/mobile_22_2.asm index 70fc96095..4b2cb07ee 100644 --- a/misc/mobile_22_2.asm +++ b/misc/mobile_22_2.asm @@ -401,7 +401,7 @@ Function8b539: ; 8b539 (22:7539) call Function8b4fd ld e, $0 call Function89c44 - call Function3238 + call CGBOnly_LoadEDTile ret Function8b555: ; 8b555 (22:7555) diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm index 8594f0044..430400c8d 100644 --- a/misc/mobile_40.asm +++ b/misc/mobile_40.asm @@ -3079,7 +3079,7 @@ Function1013d6: ; 1013d6 ; 1013dd Function1013dd: ; 1013dd - call Function3238 + call CGBOnly_LoadEDTile ret ; 1013e1 diff --git a/misc/mobile_46.asm b/misc/mobile_46.asm index a5f9bbddb..c30713f43 100755 --- a/misc/mobile_46.asm +++ b/misc/mobile_46.asm @@ -5846,12 +5846,12 @@ Function11ad1b: ; 11ad1b ld [hObjectStructIndexBuffer], a ld a, $10 ld [wCurIconTile], a - ld hl, Function8e83f - ld a, BANK(Function8e83f) + ld hl, LoadMenuMonIcon + ld a, BANK(LoadMenuMonIcon) ld e, $4 rst FarCall - ld hl, Function8e83f - ld a, BANK(Function8e83f) + ld hl, LoadMenuMonIcon + ld a, BANK(LoadMenuMonIcon) ld e, $5 rst FarCall ld hl, $c6d0 diff --git a/sram.asm b/sram.asm index f28ed939e..e90128004 100644 --- a/sram.asm +++ b/sram.asm @@ -69,7 +69,7 @@ sMysteryGiftTimerStartDay:: ds 1 sMysteryGiftTrainerHouseFlag:: ds 1 sMysteryGiftPartnerName:: ds NAME_LENGTH s0_ac09:: ds 1 -sMysteryGiftTrainer:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2 +sMysteryGiftTrainer:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2 ; ac0a sBackupMysteryGiftItemEnd:: ds $30 diff --git a/wram.asm b/wram.asm index 01394f364..bb3c83c4b 100644 --- a/wram.asm +++ b/wram.asm @@ -118,7 +118,7 @@ Channel1JumpCondition:: ds 1 Channel2JumpCondition:: ds 1 Channel3JumpCondition:: ds 1 Channel4JumpCondition:: ds 1 -wStereoPanningMask:: ds 1 +wStereoPanningMask:: ds 1 ; c2bc CryTracks:: ; c2bd ; plays only in left or right track depending on what side the monster is on ; both tracks active outside of battle @@ -127,7 +127,7 @@ wSFXDuration:: ds 1 CurSFX:: ; c2bf ; id of sfx currently playing ds 1 - +ChannelsEnd:: wMapMusic:: ; c2c0 ds 1 @@ -1328,9 +1328,9 @@ wWindowStackPointer:: dw ; cf71 wMenuJoypad:: ds 1 ; cf73 MenuSelection:: ds 1 ; cf74 MenuSelectionQuantity:: ds 1 ; cf75 -wWhichIndexSet:: ds 1 -wScrollingMenuCursorPosition:: ds 1 -wWindowStackSize:: ds 9 +wWhichIndexSet:: ds 1 ; cf76 +wScrollingMenuCursorPosition:: ds 1 ; cf77 +wWindowStackSize:: ds 9 ; cf78 ; menu data header wMenuDataHeader:: ; cf81 @@ -1727,18 +1727,21 @@ CurMoveNum:: ; d0d5 ds 1 wLastPocket:: ds 1 -wd0d7:: ds 1 -wd0d8:: + +wPCItemsCursor:: ds 1 wPartyMenuCursor:: ds 1 wItemsPocketCursor:: ds 1 wKeyItemsPocketCursor:: ds 1 wBallsPocketCursor:: ds 1 wTMHMPocketCursor:: ds 1 -wd0dd:: ds 2 + +wPCItemsScrollPosition:: ds 1 +wPartyMenuScrollPosition:: ds 1 ; unused wItemsPocketScrollPosition:: ds 1 wKeyItemsPocketScrollPosition:: ds 1 wBallsPocketScrollPosition:: ds 1 wTMHMPocketScrollPosition:: ds 1 + wMoveSwapBuffer:: wSwitchMon:: wSwitchItem:: @@ -1764,9 +1767,9 @@ VramState:: ; d0ed ; flickers when climbing waterfall ds 1 -wBattleResult:: ds 1 -wUsingItemWithSelect:: ds 1 -CurMart:: ds 16 +wBattleResult:: ds 1 ; d0ee +wUsingItemWithSelect:: ds 1 ; d0ef +CurMart:: ds 16 ; d0f0 CurMartEnd:: ds CurMart - @ CurElevator:: ds 1 @@ -1776,7 +1779,7 @@ wCurMessageIndex:: ds 1 wd0f2:: wMailboxCount:: ds 1 wMailboxItems:: ds MAILBOX_CAPACITY -wMailboxEnd:: ds 1 ; d1fe +wMailboxEnd:: ds 1 ; d0fe ds 2 wd100:: ds 1 @@ -1786,9 +1789,7 @@ wd103:: ds 1 wd104:: ds 1 wd105:: ds 1 -CurItem:: ; d106 - ds 1 - +CurItem:: ds 1 ; d106 CurItemQuantity:: ; d107 wMartItemID:: wd107:: ds 1 @@ -2027,7 +2028,9 @@ wd1ee:: ds 1 Buffer6:: wd1ef:: ds 1 wd1f0:: ds 1 +wCurHPBarPixels:: wd1f1:: ds 1 +wNewHPBarPixels:: wd1f2:: ds 1 wd1f3:: ds 1 wd1f4:: ds 1 @@ -2148,7 +2151,7 @@ wWaterEncounterRate:: ds 1 ; d25d wListMoves_MoveIndicesBuffer:: ds NUM_MOVES wPutativeTMHMMove:: ds 1 wd263:: ds 1 -wd264:: ds 1 +wAISwitch:: ds 1 wFoundMatchingIDInParty:: wNamedObjectIndexBuffer:: wCurTMHM:: @@ -2801,16 +2804,16 @@ wMapData:: VisitedSpawns:: ; dca5 flag_array NUM_SPAWNS -wDigWarp:: ds 1 -wDigMapGroup:: ds 1 -wDigMapNumber:: ds 1 +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:: ; dcac +BackupWarpNumber:: ; dcad ds 1 -BackupMapGroup:: ; dcad +BackupMapGroup:: ; dcae ds 1 -BackupMapNumber:: ; dcae +BackupMapNumber:: ; dcaf ds 1 ds 3