diff options
author | Rangi <35663410+Rangi42@users.noreply.github.com> | 2020-11-05 23:50:02 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-05 23:50:02 -0500 |
commit | 5db3bdd6551fad07066b669db1e44a6151aaa0b4 (patch) | |
tree | ab357b894c9457b3d1d38fd49300df34412168f8 /engine | |
parent | ed03fc4f4a3287a01647e528abba27aac1937de0 (diff) | |
parent | 3de7ab601d465581accfe3ff171aeed2808c9647 (diff) |
Merge pull request #60 from Rangi42/master
Organize home and macro code
Diffstat (limited to 'engine')
34 files changed, 130 insertions, 160 deletions
diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 3b0fd4ec..4110e8b6 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -57,7 +57,7 @@ DrawFrameBlock: inc hl inc de ld a, [hli] - add a, $31 ; base tile ID for battle animations + add $31 ; base tile ID for battle animations ld [de], a ; store tile ID inc de ld a, [hli] @@ -91,7 +91,7 @@ DrawFrameBlock: inc hl inc de ld a, [hli] - add a, $31 ; base tile ID for battle animations + add $31 ; base tile ID for battle animations ld [de], a ; store tile ID inc de ; toggle horizontal and vertical flip @@ -99,10 +99,10 @@ DrawFrameBlock: and a ld b, OAM_VFLIP | OAM_HFLIP jr z, .storeFlags1 - cp a, OAM_HFLIP + cp OAM_HFLIP ld b, OAM_VFLIP jr z, .storeFlags1 - cp a, OAM_VFLIP + cp OAM_VFLIP ld b, OAM_HFLIP jr z, .storeFlags1 ld b, 0 @@ -160,7 +160,7 @@ DrawFrameBlock: .afterDrawingTiles ld a, [wFBMode] cp FRAMEBLOCKMODE_02 - jr z, .advanceFrameBlockDestAddr; skip delay and don't clean OAM buffer + jr z, .advanceFrameBlockDestAddr ; skip delay and don't clean OAM buffer ld a, [wSubAnimFrameDelay] ld c, a call DelayFrames @@ -1327,7 +1327,7 @@ BattleAnimWriteOAMEntry: ; Y coordinate = e (increased by 8 each call, before the write to OAM) ; X coordinate = [wBaseCoordX] ; tile = d -; attributes = variable (dependant on coords) +; attributes = variable (depending on coords) ld a, $1 ld [wdef5], a ld a, e @@ -1402,7 +1402,7 @@ AdjustOAMBlockYPos2: ret AnimationBlinkEnemyMon: - ; Make the enemy mon's sprite blink on and off for a second or two +; Make the enemy mon's sprite blink on and off for a second or two ld hl, AnimationBlinkMon jp CallWithTurnFlipped @@ -1880,7 +1880,7 @@ _AnimationSlideMonOff: jr nz, .slideLoop ret -; Since mon pic tile numbers go from top to bottom, left to right in order, +; Since mon pic tile numbers go from top to bottom, left to right in order, ; adding the height of the mon pic in tiles to a tile number gives the tile ; number of the tile one column to the right (and thus subtracting the height ; gives the reverse). If the next tile would be past the edge of the pic, the 2 @@ -2246,7 +2246,7 @@ ClearMonPicFromTileMap: ret ; puts the tile map destination address of a mon sprite in hl, given the row count in b -; The usual row count is 7, but it may be smaller when sliding a mon sprite in/out, +; The usual row count is 7, but it may be smaller when sliding a mon sprite in/out, ; in order to show only a portion of the mon sprite. GetMonSpriteTileMapPointerFromRowCount: push de diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 82c3318c..6d3a4f9c 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -355,7 +355,7 @@ BattleTransition_FlashScreenPalettes: ; used for low level trainer dungeon battles BattleTransition_Shrink: - ld c, 9 + ld c, SCREEN_HEIGHT / 2 .loop push bc xor a @@ -389,7 +389,7 @@ BattleTransition_Shrink: ; used for high level trainer dungeon battles BattleTransition_Split: - ld c, 9 + ld c, SCREEN_HEIGHT / 2 xor a ldh [hAutoBGTransferEnabled], a .loop diff --git a/engine/battle/core.asm b/engine/battle/core.asm index f66f509f..abb1c9b4 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -902,7 +902,7 @@ ReplaceFaintedEnemyMon: ld hl, wEnemyHPBarColor ld e, $30 call GetBattleHealthBarColor - setpal SHADE_BLACK, SHADE_DARK, SHADE_LIGHT, SHADE_WHITE + ldpal a, SHADE_BLACK, SHADE_DARK, SHADE_LIGHT, SHADE_WHITE ldh [rOBP0], a ldh [rOBP1], a call UpdateGBCPal_OBP0 @@ -1765,7 +1765,7 @@ SendOutMon: ld hl, wEnemyMonHP ld a, [hli] or [hl] ; is enemy mon HP zero? - jp z, .skipDrawingEnemyHUDAndHPBar; if HP is zero, skip drawing the HUD and HP bar + jp z, .skipDrawingEnemyHUDAndHPBar ; if HP is zero, skip drawing the HUD and HP bar call DrawEnemyHUDAndHPBar .skipDrawingEnemyHUDAndHPBar call DrawPlayerHUDAndHPBar @@ -2096,16 +2096,17 @@ DisplayBattleMenu:: jp .handleBattleMenuInput ; the following happens for the old man tutorial and prof. oak pikachu battle .doSimulatedMenuInput + ; Temporarily save the player name in wGrassRate, + ; which is supposed to get overwritten when entering a + ; map with wild Pokémon. + ; In Red/Blue, due to an oversight, the data may not get + ; overwritten (on Cinnabar and Route 21) and the infamous + ; Missingno. glitch can show up. + ; However, this has been fixed in Yellow. ld hl, wPlayerName ld de, wGrassRate ld bc, NAME_LENGTH - call CopyData ; temporarily save the player name in unused space, - ; which is supposed to get overwritten when entering a - ; map with wild Pokémon. - ; In Red/Blue, due to an oversight, the data - ; may not get overwritten (cinnabar) and the infamous - ; Missingno. glitch can show up. However, - ; this has been fixed in yellow + call CopyData ld hl, .oldManName ld a, [wBattleType] dec a @@ -2310,9 +2311,9 @@ BagWasSelected: jr DisplayBagMenu SimulatedInputBattleItemList: - db 1 ; # of items + db 1 ; # items db POKE_BALL, 1 - db $ff + db -1 ; end DisplayPlayerBag: ; get the pointer to player's bag when in a normal battle @@ -4258,7 +4259,7 @@ CheckForDisobedience: call GetCurrentMove .canUseMove ld a, $1 - and a; clear Z flag + and a ; clear Z flag ret .cannotUseMove xor a ; set Z flag @@ -4642,7 +4643,7 @@ CalculateDamage: ld b, 4 call Divide -; Update wCurDamage. +; Update wCurDamage. ; Capped at MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE: 999 - 2 = 997. ld hl, wDamage ld b, [hl] @@ -4731,7 +4732,7 @@ JumpToOHKOMoveEffect: INCLUDE "data/battle/unused_critical_hit_moves.asm" ; determines if attack is a critical hit -; azure heights claims "the fastest pokémon (who are, not coincidentally, +; Azure Heights claims "the fastest pokémon (who are, not coincidentally, ; among the most popular) tend to CH about 20 to 25% of the time." CriticalHitTest: xor a @@ -5442,26 +5443,32 @@ AdjustDamageForMoveType: .done ret +; function to tell how effective the type of an enemy attack is on the player's current pokemon +; this doesn't take into account the effects that dual types can have +; (e.g. 4x weakness / resistance, weaknesses and resistances canceling) +; the result is stored in [wTypeEffectiveness] +; ($05 is not very effective, $10 is neutral, $14 is super effective) +; as far is can tell, this is only used once in some AI code to help decide which move to use AIGetTypeEffectiveness: ld a, [wEnemyMoveType] - ld d, a ; d = type of enemy move + ld d, a ; d = type of enemy move ld hl, wBattleMonType - ld b, [hl] ; b = type 1 of player's pokemon + ld b, [hl] ; b = type 1 of player's pokemon inc hl - ld c, [hl] ; c = type 2 of player's pokemon + ld c, [hl] ; c = type 2 of player's pokemon ld a, $10 - ld [wd11e], a ; initialize [wd11e] to neutral effectiveness + ld [wTypeEffectiveness], a ; initialize to neutral effectiveness ld hl, TypeEffects .loop ld a, [hli] cp $ff ret z - cp d ; match the type of the move + cp d ; match the type of the move jr nz, .nextTypePair1 ld a, [hli] - cp b ; match with type 1 of pokemon + cp b ; match with type 1 of pokemon jr z, .done - cp c ; or match with type 2 of pokemon + cp c ; or match with type 2 of pokemon jr z, .done jr .nextTypePair2 .nextTypePair1 @@ -5469,8 +5476,8 @@ AIGetTypeEffectiveness: .nextTypePair2 inc hl jr .loop - .done + ; 40% chance for Lorelei's Dewgong to ignore type effectiveness? ld a, [wTrainerClass] cp LORELEI jr nz, .ok @@ -5481,9 +5488,8 @@ AIGetTypeEffectiveness: cp $66 ; 40 percent ret c .ok - ld a, [hl] - ld [wd11e], a ; store damage multiplier + ld [wTypeEffectiveness], a ; store damage multiplier ret INCLUDE "data/types/type_matchups.asm" @@ -6462,7 +6468,7 @@ SwapPlayerAndEnemyLevels: ; (for use when scrolling the player sprite and enemy's silhouettes on screen) LoadPlayerBackPic: ld a, [wBattleType] - ld de, OldManPic + ld de, OldManPicBack cp BATTLE_TYPE_OLD_MAN ; is it the old man tutorial? jr z, .next ld de, ProfOakPicBack diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index c4e81816..7573ce8d 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -231,7 +231,7 @@ FreezeBurnParalyzeEffect: ld b, $1a ; 0x1A/0x100 or 26/256 = 10.2%~ chance jr .next1 .asm_3f2c7 - cp a, PARALYZE_SIDE_EFFECT1 + 1 ; 10% status effects are 04, 05, 06 so 07 will set carry for those + cp PARALYZE_SIDE_EFFECT1 + 1 ; 10% status effects are 04, 05, 06 so 07 will set carry for those ld b, $1a ; 0x1A/0x100 or 26/256 = 10.2%~ chance jr c, .next1 ; branch ahead if this is a 10% chance effect.. ld b, $4d ; else use 0x4D/0x100 or 77/256 = 30.1%~ chance @@ -247,7 +247,7 @@ FreezeBurnParalyzeEffect: jr z, .burn1 cp FREEZE_SIDE_EFFECT jr z, .freeze1 -; .paralyze +; .paralyze1 ld a, 1 << PAR ld [wEnemyMonStatus], a call QuarterSpeedDueToParalysis ; quarter speed of affected mon @@ -293,7 +293,7 @@ FreezeBurnParalyzeEffect: ld b, $1a ; 0x1A/0x100 or 26/256 = 10.2%~ chance jr .next2 .asm_3f341 - cp a, PARALYZE_SIDE_EFFECT1 + 1 + cp PARALYZE_SIDE_EFFECT1 + 1 ld b, $1a jr c, .next2 ld b, $4d @@ -309,6 +309,7 @@ FreezeBurnParalyzeEffect: jr z, .burn2 cp FREEZE_SIDE_EFFECT jr z, .freeze2 +; .paralyze2 ld a, 1 << PAR ld [wBattleMonStatus], a call QuarterSpeedDueToParalysis diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index bab804bb..61fbdfa3 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -43,7 +43,7 @@ GainExperience: inc de jr .nextBaseStat .maxStatExp ; if the upper byte also overflowed, then we have hit the max stat exp - dec a ; a is 0 from previous check + dec a ; ld a, $ff; a is 0 from previous check ld [de], a inc de ld [de], a @@ -234,15 +234,15 @@ GainExperience: xor a ; battle mon ld [wCalculateWhoseStats], a ld hl, CalculateModifiedStats - call Bankswitch15ToF + call CallBattleCore ld hl, ApplyBurnAndParalysisPenaltiesToPlayer - call Bankswitch15ToF + call CallBattleCore ld hl, ApplyBadgeStatBoosts - call Bankswitch15ToF + call CallBattleCore ld hl, DrawPlayerHUDAndHPBar - call Bankswitch15ToF + call CallBattleCore ld hl, PrintEmptyString - call Bankswitch15ToF + call CallBattleCore call SaveScreenTilesToBuffer1 .printGrewLevelText callabd_ModifyPikachuHappiness PIKAHAPPY_LEVELUP @@ -345,7 +345,7 @@ BoostExp: ldh [hQuotient + 2], a ret -Bankswitch15ToF: +CallBattleCore: ld b, BANK(BattleCore) jp Bankswitch diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 03059022..76d89ba9 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -77,7 +77,7 @@ CopyMonPicFromBGToSpriteVRAM: ld [hli], a ld a, d ld [hli], a - ld a, $14 ; use OBP1 + ld a, OAM_OBP1 | 4 ld [hli], a inc d dec c diff --git a/engine/battle/move_effects/heal.asm b/engine/battle/move_effects/heal.asm index 80923a29..c3ffda65 100644 --- a/engine/battle/move_effects/heal.asm +++ b/engine/battle/move_effects/heal.asm @@ -86,7 +86,7 @@ HealEffect_: ld [wHPBarNewHP], a .playAnim ld hl, PlayCurrentMoveAnimation - call Bankswitch3DtoF + call EffectCallBattleCore ldh a, [hWhoseTurn] and a hlcoord 10, 9 @@ -98,14 +98,14 @@ HealEffect_: ld [wHPBarType], a predef UpdateHPBar2 ld hl, DrawHUDsAndHPBars - call Bankswitch3DtoF + call EffectCallBattleCore ld hl, RegainedHealthText jp PrintText .failed ld c, 50 call DelayFrames ld hl, PrintButItFailedText_ - jp Bankswitch3DtoF + jp EffectCallBattleCore StartedSleepingEffect: text_far _StartedSleepingEffect diff --git a/engine/battle/move_effects/reflect_light_screen.asm b/engine/battle/move_effects/reflect_light_screen.asm index c05055fa..46c299e9 100644 --- a/engine/battle/move_effects/reflect_light_screen.asm +++ b/engine/battle/move_effects/reflect_light_screen.asm @@ -23,14 +23,14 @@ ReflectLightScreenEffect_: .playAnim push hl ld hl, PlayCurrentMoveAnimation - call Bankswitch3DtoF + call EffectCallBattleCore pop hl jp PrintText .moveFailed ld c, 50 call DelayFrames ld hl, PrintButItFailedText_ - jp Bankswitch3DtoF + jp EffectCallBattleCore LightScreenProtectedText: text_far _LightScreenProtectedText @@ -40,6 +40,6 @@ ReflectGainedArmorText: text_far _ReflectGainedArmorText text_end -Bankswitch3DtoF: +EffectCallBattleCore: ld b, BANK(BattleCore) jp Bankswitch diff --git a/engine/battle/move_effects/transform.asm b/engine/battle/move_effects/transform.asm index d37bd94d..af47ae1b 100644 --- a/engine/battle/move_effects/transform.asm +++ b/engine/battle/move_effects/transform.asm @@ -134,7 +134,7 @@ TransformEffect_: .failed ld hl, PrintButItFailedText_ - jp Bankswitch3DtoF + jp EffectCallBattleCore TransformedText: text_far _TransformedText diff --git a/engine/battle/safari_zone.asm b/engine/battle/safari_zone.asm index 9362cc3a..a61f402f 100755 --- a/engine/battle/safari_zone.asm +++ b/engine/battle/safari_zone.asm @@ -2,18 +2,18 @@ PrintSafariZoneBattleText: ld hl, wSafariBaitFactor ld a, [hl] and a - jr z, .asm_411e + jr z, .no_bait dec [hl] ld hl, SafariZoneEatingText - jr .asm_4138 -.asm_411e + jr .done +.no_bait dec hl ld a, [hl] and a ret z dec [hl] ld hl, SafariZoneAngryText - jr nz, .asm_4138 + jr nz, .done push hl ld a, [wEnemyMonSpecies] ld [wd0b5], a @@ -21,7 +21,7 @@ PrintSafariZoneBattleText: ld a, [wMonHCatchRate] ld [wEnemyMonActualCatchRate], a pop hl -.asm_4138 +.done push hl call LoadScreenTilesFromBuffer1 pop hl diff --git a/engine/battle/scale_sprites.asm b/engine/battle/scale_sprites.asm index 794a65ab..38ebff21 100644 --- a/engine/battle/scale_sprites.asm +++ b/engine/battle/scale_sprites.asm @@ -4,18 +4,18 @@ ScaleSpriteByTwo: ld a, $0 call SwitchSRAMBankAndLatchClockData - call ScaleSpriteByTwo_ + call .ScaleSpriteByTwo call PrepareRTCDataAndDisableSRAM ret -ScaleSpriteByTwo_: +.ScaleSpriteByTwo: ld de, sSpriteBuffer1 + (4*4*8) - 5 ; last byte of input data, last 4 rows already skipped ld hl, sSpriteBuffer0 + SPRITEBUFFERSIZE - 1 ; end of destination buffer - call ScaleLastSpriteColumnByTwo ; last tile column is special case - call ScaleFirstThreeSpriteColumnsByTwo ; scale first 3 tile columns + call ScaleLastSpriteColumnByTwo ; last tile column is special case + call ScaleFirstThreeSpriteColumnsByTwo ; scale first 3 tile columns ld de, sSpriteBuffer2 + (4*4*8) - 5 ; last byte of input data, last 4 rows already skipped ld hl, sSpriteBuffer1 + SPRITEBUFFERSIZE - 1 ; end of destination buffer - call ScaleLastSpriteColumnByTwo ; last tile column is special case + call ScaleLastSpriteColumnByTwo ; last tile column is special case ScaleFirstThreeSpriteColumnsByTwo: ld b, $3 ; 3 tile columns diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 17e68e75..94e427a1 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -295,10 +295,10 @@ TrainerAI: cp LINK_STATE_BATTLING jr z, .done ; if in a link battle, we're done as well ld a, [wEnemyBattleStatus1] - and 1 << CHARGING_UP | 1 << THRASHING_ABOUT | 1 << STORING_ENERGY ; %10011 + and 1 << CHARGING_UP | 1 << THRASHING_ABOUT | 1 << STORING_ENERGY jr nz, .done ; don't follow trainer ai if opponent is in a locked state ld a, [wEnemyBattleStatus2] - and 1 << USING_RAGE ; %1000000 + and 1 << USING_RAGE jr nz, .done ; don't follow trainer ai if opponent is locked in rage ; note that this doesn't check for hyper beam recharge which can cause problems ld a, [wTrainerClass] ; what trainer class is this? @@ -311,7 +311,7 @@ TrainerAI: add hl, bc ld a, [wAICount] and a - jr z, .done; if no AI uses left, we're done here + jr z, .done ; if no AI uses left, we're done here inc hl inc a jr nz, .getpointer diff --git a/engine/events/card_key.asm b/engine/events/card_key.asm index de5f402e..10de5ed2 100755 --- a/engine/events/card_key.asm +++ b/engine/events/card_key.asm @@ -8,8 +8,7 @@ PrintCardKeyText: ret z cp b jr nz, .silphCoMapListLoop -; does not check for tile in front of player. This might be buggy - ;predef GetTileAndCoordsInFrontOfPlayer +; does not check for tile in front of player. This might be buggy. ld a, [wTileInFrontOfPlayer] cp $18 jr z, .cardKeyDoorInFrontOfPlayer diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index c08992d3..b480c6d0 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -19,7 +19,7 @@ _RunPaletteCommand: push de jp hl -SetPal_Black: +SetPal_BattleBlack: ld hl, PalPacket_Black ld de, BlkPacket_Battle ret @@ -30,7 +30,6 @@ SetPal_Battle: ld de, wPalPacket ld bc, $10 call CopyData - ;ld a, [wPlayerBattleStatus3] ld hl, wBattleMonSpecies ld a, [hl] and a @@ -42,7 +41,6 @@ SetPal_Battle: .asm_71ef9 call DeterminePaletteID ld b, a - ;ld a, [wEnemyBattleStatus3] ld hl, wEnemyMonSpecies2 call DeterminePaletteID ld c, a @@ -118,7 +116,7 @@ SetPal_Slots: ld de, BlkPacket_Slots ret -SetPal_Titlescreen: +SetPal_TitleScreen: ld hl, PalPacket_Titlescreen ld de, BlkPacket_Titlescreen ret @@ -267,13 +265,13 @@ SendUnknownPalPacket_72064:: SetPalFunctions: ; entries correspond to SET_PAL_* constants - dw SetPal_Black + dw SetPal_BattleBlack dw SetPal_Battle dw SetPal_TownMap dw SetPal_StatusScreen dw SetPal_Pokedex dw SetPal_Slots - dw SetPal_Titlescreen + dw SetPal_TitleScreen dw SetPal_NidorinoIntro dw SetPal_Generic dw SetPal_Overworld diff --git a/engine/gfx/sprite_oam.asm b/engine/gfx/sprite_oam.asm index b62d9d4b..136e3afb 100644 --- a/engine/gfx/sprite_oam.asm +++ b/engine/gfx/sprite_oam.asm @@ -219,7 +219,7 @@ _IsTilePassable:: ld l, a ; hl now points to passable tiles .loop ld a, [hli] - cp a, $ff + cp $ff jr z, .tileNotPassable cp c jr nz, .loop diff --git a/engine/items/inventory.asm b/engine/items/inventory.asm index c2e0b2b4..e28edc6c 100644 --- a/engine/items/inventory.asm +++ b/engine/items/inventory.asm @@ -34,9 +34,9 @@ AddItemToInventory_:: cp b ; does the current item in the table match the item being added? jp z, .increaseItemQuantity ; if so, increase the item's quantity inc hl -.loop +.addAnotherStackOfItem ld a, [hl] - cp a, $ff ; is it the end of the table? + cp $ff ; is it the end of the table? jr nz, .notAtEndOfInventory .addNewItem ; add an item not yet in the inventory pop hl @@ -74,7 +74,7 @@ AddItemToInventory_:: ; if so, store 99 in the current slot and store the rest in a new slot ld a, 99 ld [hli], a - jp .loop + jp .addAnotherStackOfItem .increaseItemQuantityFailed pop hl and a diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index d4c3ae18..00a575f1 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -386,7 +386,7 @@ ItemUseBall: ldh [hDivisor], a ld b, 4 call Divide - + ; Determine Status2. ; no status ailment: Status2 = 0 ; Burn/Paralysis/Poison: Status2 = 5 @@ -3092,7 +3092,7 @@ SendNewMonToBox: ld a, [wcf91] cp KADABRA jr nz, .notKadabra - ld a, $60 ; twistedspoon in gsc + ld a, TWISTEDSPOON_GSC ld [wBoxMon1CatchRate], a .notKadabra ret diff --git a/engine/items/tms.asm b/engine/items/tms.asm index dcf2665d..40030675 100755 --- a/engine/items/tms.asm +++ b/engine/items/tms.asm @@ -11,7 +11,7 @@ CanLearnTM: ld hl, TechnicalMachines .findTMloop ld a, [hli] - cp $ff ; reached terminator? + cp -1 ; reached terminator? jr z, .done cp b jr z, .TMfoundLoop diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index c401d1c1..d385044a 100755 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -152,7 +152,7 @@ LoadTownMap_Fly:: call LoadFontTilePatterns ld de, BirdSprite ld b, BANK(BirdSprite) - ld c, $c + ld c, 12 ld hl, vSprites tile $04 call CopyVideoData ld de, TownMapUpArrow diff --git a/engine/joypad.asm b/engine/joypad.asm index 06a15e4e..d50eea08 100644 --- a/engine/joypad.asm +++ b/engine/joypad.asm @@ -7,7 +7,6 @@ ReadJoypad_:: ret nz ld a, 1 << 5 ; select direction keys - ;ld c, 0 ldh [rJOYP], a ldh a, [rJOYP] @@ -19,9 +18,9 @@ ReadJoypad_:: ld a, 1 << 4 ; select button keys ldh [rJOYP], a - REPT 6 +REPT 6 ldh a, [rJOYP] - ENDR +ENDR cpl and %1111 or b @@ -32,14 +31,13 @@ ReadJoypad_:: ldh [rJOYP], a ret - _Joypad:: ; hJoyReleased: (hJoyLast ^ hJoyInput) & hJoyLast ; hJoyPressed: (hJoyLast ^ hJoyInput) & hJoyInput ldh a, [hJoyInput] ld b, a - and $4F + and A_BUTTON + B_BUTTON + SELECT + START + D_UP cp A_BUTTON + B_BUTTON + SELECT + START ; soft reset jp z, TrySoftReset diff --git a/engine/link/print_waiting_text.asm b/engine/link/print_waiting_text.asm index 98a44970..a07967fd 100644 --- a/engine/link/print_waiting_text.asm +++ b/engine/link/print_waiting_text.asm @@ -3,12 +3,13 @@ PrintWaitingText:: lb bc, 1, 11 ld a, [wIsInBattle] and a - jr z, .asm_4b9a + jr z, .trade +; battle call TextBoxBorder - jr .asm_4b9d -.asm_4b9a + jr .border_done +.trade call CableClub_TextBoxBorder -.asm_4b9d +.border_done hlcoord 4, 11 ld de, WaitingText call PlaceString diff --git a/engine/math/bcd.asm b/engine/math/bcd.asm index 92bf6f17..5747a684 100644 --- a/engine/math/bcd.asm +++ b/engine/math/bcd.asm @@ -13,7 +13,7 @@ DivideBCD:: ldh [hDivideBCDBuffer+1], a ldh [hDivideBCDBuffer+2], a ld d, $1 -.mulBy10Loop +.mulBy10Loop ; multiply the divisor by 10 until the leading digit is nonzero ; to set up the standard long division algorithm ldh a, [hDivideBCDDivisor] @@ -108,7 +108,7 @@ DivideBCD:: ldh a, [hDivideBCDBuffer+2] ldh [hDivideBCDQuotient+2], a pop de - ld a, $6 + ld a, $6 sub d and a ret z diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 874fe50f..315e4805 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -205,9 +205,9 @@ HandlePokedexListMenu: jr z, .checkIfRightPressed .downPressed ; scroll down one row ld a, [wDexMaxSeenMon] - cp a, 7 + cp 7 jp c, .loop ; can't if the list is shorter than 7 - sub a, 7 + sub 7 ld b, a ld a, [wListScrollOffset] cp b @@ -221,12 +221,12 @@ HandlePokedexListMenu: jr z, .checkIfLeftPressed .rightPressed ; scroll down 7 rows ld a, [wDexMaxSeenMon] - cp a, 7 + cp 7 jp c, .loop ; can't if the list is shorter than 7 - sub a, 6 + sub 6 ld b, a ld a, [wListScrollOffset] - add a, 7 + add 7 ld [wListScrollOffset], a cp b jp c, .loop @@ -240,7 +240,7 @@ HandlePokedexListMenu: jr z, .buttonAPressed .leftPressed ld a, [wListScrollOffset] - sub a, 7 + sub 7 ld [wListScrollOffset], a jp nc, .loop xor a @@ -324,7 +324,7 @@ DrawPokedexVerticalLine: .loop ld [hl], a add hl, de - xor a, 1 ; toggle between vertical line tile and box tile + xor 1 ; toggle between vertical line tile and box tile dec c jr nz, .loop ret @@ -459,7 +459,7 @@ ShowPokedexDataInternal: .waitForButtonPress call JoypadLowSensitivity ldh a, [hJoy5] - and a, A_BUTTON | B_BUTTON + and A_BUTTON | B_BUTTON jr z, .waitForButtonPress pop af ldh [hTilesetType], a diff --git a/engine/minigame/surfing_pikachu.asm b/engine/minigame/surfing_pikachu.asm index 6d319867..641c4f62 100755 --- a/engine/minigame/surfing_pikachu.asm +++ b/engine/minigame/surfing_pikachu.asm @@ -1689,7 +1689,7 @@ SurfingMinigame_WriteTotal: .Total: db $2b,$2c,$25,$28,$2d ; Total - + DidPlayerGetAHighScore: ld hl, wSurfingMinigameHiScore + 1 ld a, [wSurfingMinigameTotalScore + 1] diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index 9165113f..a9774ff9 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -83,7 +83,7 @@ PlayShootingStar: ld b, SET_PAL_GAME_FREAK_INTRO call RunPaletteCommand farcall LoadCopyrightAndTextBoxTiles - ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE + ldpal a, SHADE_BLACK, SHADE_DARK, SHADE_LIGHT, SHADE_WHITE ldh [rBGP], a call UpdateGBCPal_BGP ld c, 180 diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 0b421d89..11852ae4 100755 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -254,7 +254,7 @@ CopyrightTextString: TitleScreen_PlayPikachuPCM: callfar PlayPikachuSoundClip ret - + DoTitleScreenFunction: call .CheckTimer ld a, [wTitleScreenScene] @@ -268,7 +268,7 @@ DoTitleScreenFunction: ld l, a jp hl - + .Jumptable: dw .Nop dw .BlinkHalf @@ -282,13 +282,13 @@ DoTitleScreenFunction: dw .BlinkWait dw .BlinkOpen dw .GoBackToStart - + .GoBackToStart: xor a ld [wTitleScreenScene], a .Nop ret - + .BlinkOpen: ld e, 0 jr .LoadBlinkFrame @@ -316,7 +316,7 @@ DoTitleScreenFunction: ld hl, wTitleScreenScene inc [hl] ret - + .CheckTimer: ld hl, wTitleScreenTimer ld a, [hl] diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index e31c0bd2..ba412ab2 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -304,7 +304,7 @@ GetSplitMapSpriteSetID: ld hl, MapSpriteSets add hl, de ld a, [hl] ; a = spriteSetID - cp a, $f0 ; does the map have 2 sprite sets? + cp $f0 ; does the map have 2 sprite sets? ret c ; Chooses the correct sprite set ID depending on the player's position within ; the map for maps with two sprite sets. diff --git a/engine/overworld/specific_script_flags.asm b/engine/overworld/specific_script_flags.asm index d6f333ac..b59aa9d0 100644 --- a/engine/overworld/specific_script_flags.asm +++ b/engine/overworld/specific_script_flags.asm @@ -8,7 +8,7 @@ SetMapSpecificScriptFlagsOnMapReload:: ld a, [hli] cp c jr z, .in_list - cp a, $ff + cp $ff jr nz, .search_loop ret diff --git a/engine/pikachu/pikachu_movement.asm b/engine/pikachu/pikachu_movement.asm index 6b912e61..91c16999 100755 --- a/engine/pikachu/pikachu_movement.asm +++ b/engine/pikachu/pikachu_movement.asm @@ -866,7 +866,7 @@ LoadPikachuShadowOAMData: push bc push de push hl - + ld bc, wOAMBuffer + 4 * 36 ld a, [wPikaSpriteY] ld e, a diff --git a/engine/pikachu/pikachu_pic_animation.asm b/engine/pikachu/pikachu_pic_animation.asm index 33a3e504..755395ba 100755 --- a/engine/pikachu/pikachu_pic_animation.asm +++ b/engine/pikachu/pikachu_pic_animation.asm @@ -625,7 +625,7 @@ PikaPicAnimCommand_loadgfx: ld a, [wPikaPicAnimCurGraphicID] call LoadPikaPicAnimGFXHeader ld a, c - cp a, $ff + cp $ff jr z, .compressed call RequestPikaPicAnimGFX jr .done diff --git a/engine/pokemon/add_mon.asm b/engine/pokemon/add_mon.asm index d3d08e99..54d7b4de 100644 --- a/engine/pokemon/add_mon.asm +++ b/engine/pokemon/add_mon.asm @@ -172,10 +172,10 @@ _AddPartyMon:: ld [de], a ld a, [wcf91] cp KADABRA - jr nz, .skipGivingTwistedSpoon - ld a, $60 ; twistedspoon in gen 2 + jr nz, .notKadabra + ld a, TWISTEDSPOON_GSC ld [de], a -.skipGivingTwistedSpoon +.notKadabra ld hl, wMonHMoves ld a, [hli] inc de @@ -436,7 +436,7 @@ _MoveMon:: cp PARTY_TO_DAYCARE ld de, wDayCareMonOT jr z, .findOTsrc - dec a + dec a ld hl, wPartyMonOT ld a, [wPartyCount] jr nz, .addOToffset diff --git a/engine/pokemon/evos_moves.asm b/engine/pokemon/evos_moves.asm index 4e48fe30..3df780c1 100755 --- a/engine/pokemon/evos_moves.asm +++ b/engine/pokemon/evos_moves.asm @@ -452,40 +452,7 @@ Func_3b0a2: scf ret -Pointer_3b0ee: - db NIDOKING - db IVYSAUR - db EXEGGUTOR - db GENGAR - db NIDOQUEEN - db ARCANINE - db GYARADOS - db BLASTOISE - db GOLEM - db DRAGONITE - db NINETALES - db DRAGONAIR - db KABUTOPS - db OMASTAR - db JIGGLYPUFF - db FLAREON - db JOLTEON - db VAPOREON - db BEEDRILL - db BUTTERFREE - db MACHAMP - db CLOYSTER - db CLEFABLE - db ALAKAZAM - db STARMIE - db VENUSAUR - db TENTACRUEL - db CHARMELEON - db WARTORTLE - db CHARIZARD - db VILEPLUME - db VICTREEBEL - db $ff +INCLUDE "data/pokemon/unknown_list.asm" Func_3b10f: ld c, $0 diff --git a/engine/predefs.asm b/engine/predefs.asm index 73f69d03..a9877739 100755 --- a/engine/predefs.asm +++ b/engine/predefs.asm @@ -1,8 +1,8 @@ GetPredefPointer:: - ; Store the contents of the register - ; pairs (hl, de, bc) at wPredefRegisters. - ; Then put the bank and address of predef - ; wPredefID in [wPredefBank] and hl. +; Store the contents of the register +; pairs (hl, de, bc) at wPredefRegisters. +; Then put the bank and address of predef +; wPredefID in [wPredefBank] and hl. ld a, h ld [wPredefRegisters], a diff --git a/engine/printer/printer2.asm b/engine/printer/printer2.asm index 180f044c..b257aff4 100755 --- a/engine/printer/printer2.asm +++ b/engine/printer/printer2.asm @@ -356,7 +356,7 @@ Func_ea6af: ld hl, wPrinterSerialFrameDelay inc [hl] ld a, [hl] - cp a, $6 + cp $6 ret c xor a ld [hl], a @@ -381,17 +381,17 @@ Func_ea6d2: call Func_ea742 ret c ld a, [wPrinterHandshake] - cp a, $ff + cp $ff jr nz, .asm_ea6e4 ld a, [wPrinterStatusFlags] - cp a, $ff + cp $ff jr z, .asm_ea6fb .asm_ea6e4 ld a, [wPrinterHandshake] - cp a, $81 + cp $81 jr nz, .asm_ea6fb ld a, [wPrinterStatusFlags] - cp a, $0 + cp $0 jr nz, .asm_ea6fb ld hl, wPrinterConnectionOpen set 1, [hl] |