mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-01-14 21:10:01 +13:00
commit
13e28b0ece
|
|
@ -121,6 +121,24 @@ BOX_DATA EQU 2
|
|||
DAYCARE_DATA EQU 3
|
||||
BATTLE_MON_DATA EQU 4
|
||||
|
||||
; player direction constants
|
||||
|
||||
PLAYER_DIR_BIT_RIGHT EQU 0
|
||||
PLAYER_DIR_BIT_LEFT EQU 1
|
||||
PLAYER_DIR_BIT_DOWN EQU 2
|
||||
PLAYER_DIR_BIT_UP EQU 3
|
||||
|
||||
PLAYER_DIR_RIGHT EQU (1 << PLAYER_DIR_BIT_RIGHT)
|
||||
PLAYER_DIR_LEFT EQU (1 << PLAYER_DIR_BIT_LEFT)
|
||||
PLAYER_DIR_DOWN EQU (1 << PLAYER_DIR_BIT_DOWN)
|
||||
PLAYER_DIR_UP EQU (1 << PLAYER_DIR_BIT_UP)
|
||||
|
||||
; flag operations
|
||||
|
||||
FLAG_RESET EQU 0
|
||||
FLAG_SET EQU 1
|
||||
FLAG_TEST EQU 2
|
||||
|
||||
; serial
|
||||
|
||||
ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ HallOfFamePC: ; 7405c (1d:405c)
|
|||
ld c, 128
|
||||
call DelayFrames
|
||||
xor a
|
||||
ld [wNumCreditsMonsDisplayed - 1], a ; not read
|
||||
ld [wUnusedCD3D], a ; not read
|
||||
ld [wNumCreditsMonsDisplayed], a
|
||||
jp Credits
|
||||
|
||||
|
|
|
|||
|
|
@ -187,9 +187,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; 3c04c (f:404c)
|
|||
ld b, $1
|
||||
call GoPAL_SET
|
||||
call HideSprites
|
||||
ld hl, PrintBeginningBattleText
|
||||
ld b, BANK(PrintBeginningBattleText)
|
||||
jp Bankswitch
|
||||
jpab PrintBeginningBattleText
|
||||
|
||||
; when a battle is starting, silhouettes of the player's pic and the enemy's pic are slid onto the screen
|
||||
; the lower of the player's pic (his body) is part of the background, but his head is a sprite
|
||||
|
|
@ -330,7 +328,7 @@ StartBattle: ; 3c11e (f:411e)
|
|||
call SaveScreenTilesToBuffer1
|
||||
ld a, [wWhichPokemon]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
push bc
|
||||
ld hl, wPartyGainExpFlags
|
||||
predef FlagActionPredef
|
||||
|
|
@ -359,9 +357,7 @@ EnemyRan: ; 3c202 (f:4202)
|
|||
call PlaySoundWaitForCurrent
|
||||
xor a
|
||||
ld [H_WHOSETURN], a
|
||||
ld hl, AnimationSlideEnemyMonOut
|
||||
ld b, BANK(AnimationSlideEnemyMonOut)
|
||||
jp Bankswitch
|
||||
jpab AnimationSlideEnemyMonOut
|
||||
|
||||
WildRanText: ; 3c229 (f:4229)
|
||||
TX_FAR _WildRanText
|
||||
|
|
@ -938,9 +934,7 @@ FaintEnemyPokemon: ; 0x3c567
|
|||
jr nz, .gainExpFlagsLoop
|
||||
ld a, b
|
||||
ld [wPartyGainExpFlags], a
|
||||
ld hl, GainExperience
|
||||
ld b, BANK(GainExperience)
|
||||
jp Bankswitch
|
||||
jpab GainExperience
|
||||
|
||||
EnemyMonFaintedText: ; 0x3c63e
|
||||
TX_FAR _EnemyMonFaintedText
|
||||
|
|
@ -1087,7 +1081,7 @@ RemoveFaintedPlayerMon: ; 3c741 (f:4741)
|
|||
ld a, [wPlayerMonNumber]
|
||||
ld c, a
|
||||
ld hl, wPartyGainExpFlags
|
||||
ld b, $0
|
||||
ld b, FLAG_RESET
|
||||
predef FlagActionPredef ; clear gain exp flag for fainted mon
|
||||
ld hl, W_ENEMYBATTSTATUS1
|
||||
res 2, [hl] ; reset "attacking multiple times" flag
|
||||
|
|
@ -1187,7 +1181,7 @@ ChooseNextMon: ; 3c7d8 (f:47d8)
|
|||
ld [wPlayerMonNumber], a
|
||||
ld c, a
|
||||
ld hl, wPartyGainExpFlags
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
push bc
|
||||
predef FlagActionPredef
|
||||
pop bc
|
||||
|
|
@ -1356,7 +1350,7 @@ EnemySendOut: ; 3c90e (f:490e)
|
|||
ld [hl],a
|
||||
ld a,[wPlayerMonNumber]
|
||||
ld c,a
|
||||
ld b,1
|
||||
ld b,FLAG_SET
|
||||
push bc
|
||||
predef FlagActionPredef
|
||||
ld hl,wPartyFoughtCurrentEnemyFlags
|
||||
|
|
@ -2496,7 +2490,7 @@ SwitchPlayerMon: ; 3d1ba (f:51ba)
|
|||
ld a, [wWhichPokemon]
|
||||
ld [wPlayerMonNumber], a
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
push bc
|
||||
ld hl, wPartyGainExpFlags
|
||||
predef FlagActionPredef
|
||||
|
|
@ -6302,7 +6296,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01)
|
|||
predef WriteMonMoves ; get moves based on current level
|
||||
.loadMovePPs
|
||||
ld hl, wEnemyMonMoves
|
||||
ld de, wEnemyMonSpecial + 1
|
||||
ld de, wEnemyMonPP - 1
|
||||
predef LoadMovePPs
|
||||
ld hl, W_MONHBASESTATS
|
||||
ld de, wEnemyMonBaseStats
|
||||
|
|
@ -6332,7 +6326,7 @@ LoadEnemyMonData: ; 3eb01 (f:6b01)
|
|||
ld a, [wd11e]
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
ld hl, wPokedexSeen
|
||||
predef FlagActionPredef ; mark this mon as seen in the pokedex
|
||||
ld hl, wEnemyMonLevel
|
||||
|
|
@ -6462,14 +6456,10 @@ LoadPlayerBackPic: ; 3ec92 (f:6c92)
|
|||
; does nothing since no stats are ever selected (barring glitches)
|
||||
DoubleOrHalveSelectedStats: ; 3ed02 (f:6d02)
|
||||
callab DoubleSelectedStats
|
||||
ld hl, HalveSelectedStats
|
||||
ld b, BANK(HalveSelectedStats)
|
||||
jp Bankswitch
|
||||
jpab HalveSelectedStats
|
||||
|
||||
ScrollTrainerPicAfterBattle: ; 3ed12 (f:6d12)
|
||||
ld hl, _ScrollTrainerPicAfterBattle
|
||||
ld b, BANK(_ScrollTrainerPicAfterBattle)
|
||||
jp Bankswitch
|
||||
jpab _ScrollTrainerPicAfterBattle
|
||||
|
||||
ApplyBurnAndParalysisPenaltiesToPlayer: ; 3ed1a (f:6d1a)
|
||||
ld a, $1
|
||||
|
|
@ -6967,7 +6957,7 @@ InitBattle_Common: ; 3efeb (f:6feb)
|
|||
ld [wLetterPrintingDelayFlags], a
|
||||
pop af
|
||||
ld [wMapPalOffset], a
|
||||
ld a, [wd0d4]
|
||||
ld a, [wSavedTilesetType]
|
||||
ld [hTilesetType], a
|
||||
scf
|
||||
ret
|
||||
|
|
@ -7372,9 +7362,7 @@ BadlyPoisonedText: ; 3f2e4 (f:72e4)
|
|||
db "@"
|
||||
|
||||
DrainHPEffect: ; 3f2e9 (f:72e9)
|
||||
ld hl, DrainHPEffect_
|
||||
ld b, BANK(DrainHPEffect_)
|
||||
jp Bankswitch
|
||||
jpab DrainHPEffect_
|
||||
|
||||
ExplodeEffect: ; 3f2f1 (f:72f1)
|
||||
ld hl, wBattleMonHP
|
||||
|
|
@ -8209,9 +8197,7 @@ FlinchSideEffect: ; 3f85b (f:785b)
|
|||
ret
|
||||
|
||||
OneHitKOEffect: ; 3f884 (f:7884)
|
||||
ld hl, OneHitKOEffect_
|
||||
ld b, BANK(OneHitKOEffect_)
|
||||
jp Bankswitch
|
||||
jpab OneHitKOEffect_
|
||||
|
||||
ChargeEffect: ; 3f88c (f:788c)
|
||||
ld hl, W_PLAYERBATTSTATUS1
|
||||
|
|
@ -8321,19 +8307,13 @@ TrappingEffect: ; 3f917 (f:7917)
|
|||
ret
|
||||
|
||||
MistEffect: ; 3f941 (f:7941)
|
||||
ld hl, MistEffect_
|
||||
ld b, BANK(MistEffect_)
|
||||
jp Bankswitch
|
||||
jpab MistEffect_
|
||||
|
||||
FocusEnergyEffect: ; 3f949 (f:7949)
|
||||
ld hl, FocusEnergyEffect_
|
||||
ld b, BANK(FocusEnergyEffect_)
|
||||
jp Bankswitch
|
||||
jpab FocusEnergyEffect_
|
||||
|
||||
RecoilEffect: ; 3f951 (f:7951)
|
||||
ld hl, RecoilEffect_
|
||||
ld b, BANK(RecoilEffect_)
|
||||
jp Bankswitch
|
||||
jpab RecoilEffect_
|
||||
|
||||
ConfusionSideEffect: ; 3f959 (f:7959)
|
||||
call BattleRandom
|
||||
|
|
@ -8387,14 +8367,10 @@ ConfusionEffectFailed: ; 3f9a6 (f:79a6)
|
|||
jp ConditionalPrintButItFailed
|
||||
|
||||
ParalyzeEffect: ; 3f9b1 (f:79b1)
|
||||
ld hl, ParalyzeEffect_
|
||||
ld b, BANK(ParalyzeEffect_)
|
||||
jp Bankswitch
|
||||
jpab ParalyzeEffect_
|
||||
|
||||
SubstituteEffect: ; 3f9b9 (f:79b9)
|
||||
ld hl, SubstituteEffect_
|
||||
ld b, BANK(SubstituteEffect_)
|
||||
jp Bankswitch
|
||||
jpab SubstituteEffect_
|
||||
|
||||
HyperBeamEffect: ; 3f9c1 (f:79c1)
|
||||
ld hl, W_PLAYERBATTSTATUS2
|
||||
|
|
@ -8505,9 +8481,7 @@ MimicLearnedMoveText: ; 3fa77 (f:7a77)
|
|||
db "@"
|
||||
|
||||
LeechSeedEffect: ; 3fa7c (f:7a7c)
|
||||
ld hl, LeechSeedEffect_
|
||||
ld b, BANK(LeechSeedEffect_)
|
||||
jp Bankswitch
|
||||
jpab LeechSeedEffect_
|
||||
|
||||
SplashEffect: ; 3fa84 (f:7a84)
|
||||
call PlayCurrentMoveAnimation
|
||||
|
|
@ -8601,34 +8575,22 @@ MoveWasDisabledText: ; 3fb09 (f:7b09)
|
|||
db "@"
|
||||
|
||||
PayDayEffect: ; 3fb0e (f:7b0e)
|
||||
ld hl, PayDayEffect_
|
||||
ld b, BANK(PayDayEffect_)
|
||||
jp Bankswitch
|
||||
jpab PayDayEffect_
|
||||
|
||||
ConversionEffect: ; 3fb16 (f:7b16)
|
||||
ld hl, ConversionEffect_
|
||||
ld b, BANK(ConversionEffect_)
|
||||
jp Bankswitch
|
||||
jpab ConversionEffect_
|
||||
|
||||
HazeEffect: ; 3fb1e (f:7b1e)
|
||||
ld hl, HazeEffect_
|
||||
ld b, BANK(HazeEffect_)
|
||||
jp Bankswitch
|
||||
jpab HazeEffect_
|
||||
|
||||
HealEffect: ; 3fb26 (f:7b26)
|
||||
ld hl, HealEffect_
|
||||
ld b, BANK(HealEffect_)
|
||||
jp Bankswitch
|
||||
jpab HealEffect_
|
||||
|
||||
TransformEffect: ; 3fb2e (f:7b2e)
|
||||
ld hl, TransformEffect_
|
||||
ld b, BANK(TransformEffect_)
|
||||
jp Bankswitch
|
||||
jpab TransformEffect_
|
||||
|
||||
ReflectLightScreenEffect: ; 3fb36 (f:7b36)
|
||||
ld hl, ReflectLightScreenEffect_
|
||||
ld b, BANK(ReflectLightScreenEffect_)
|
||||
jp Bankswitch
|
||||
jpab ReflectLightScreenEffect_
|
||||
|
||||
NothingHappenedText: ; 3fb3e (f:7b3e)
|
||||
TX_FAR _NothingHappenedText
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ GainExperience: ; 5524f (15:524f)
|
|||
ld hl, wPartyGainExpFlags
|
||||
ld a, [wWhichPokemon]
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
predef FlagActionPredef
|
||||
ld a, c
|
||||
and a ; is mon's gain exp flag set?
|
||||
|
|
@ -257,7 +257,7 @@ GainExperience: ; 5524f (15:524f)
|
|||
ld hl, wCanEvolveFlags
|
||||
ld a, [wWhichPokemon]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
predef FlagActionPredef
|
||||
pop hl
|
||||
pop af
|
||||
|
|
@ -281,7 +281,7 @@ GainExperience: ; 5524f (15:524f)
|
|||
ld [hl], a ; clear gain exp flags
|
||||
ld a, [wPlayerMonNumber]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
push bc
|
||||
predef FlagActionPredef ; set the gain exp flag for the mon that is currently out
|
||||
ld hl, wPartyFoughtCurrentEnemyFlags
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
InitBattleVariables: ; 525af (14:65af)
|
||||
ld a, [hTilesetType]
|
||||
ld [wd0d4], a
|
||||
ld [wSavedTilesetType], a
|
||||
xor a
|
||||
ld [wActionResultOrTookBattleTurn], a
|
||||
ld [wBattleResult], a
|
||||
|
|
@ -35,6 +35,4 @@ InitBattleVariables: ; 525af (14:65af)
|
|||
ld a, $2 ; safari battle
|
||||
ld [W_BATTLETYPE], a
|
||||
.notSafariBattle
|
||||
ld hl, PlayBattleMusic
|
||||
ld b, BANK(PlayBattleMusic)
|
||||
jp Bankswitch
|
||||
jpab PlayBattleMusic
|
||||
|
|
|
|||
|
|
@ -14,9 +14,7 @@ FocusEnergyEffect_: ; 27f86 (9:7f86)
|
|||
.alreadyUsing
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld hl, PrintButItFailedText_
|
||||
ld b, BANK(PrintButItFailedText_)
|
||||
jp Bankswitch
|
||||
jpab PrintButItFailedText_
|
||||
|
||||
GettingPumpedText: ; 27fb3 (9:7fb3)
|
||||
db $0a
|
||||
|
|
|
|||
|
|
@ -12,9 +12,7 @@ MistEffect_: ; 33f2b (c:7f2b)
|
|||
ld hl, ShroudedInMistText
|
||||
jp PrintText
|
||||
.mistAlreadyInUse
|
||||
ld hl, PrintButItFailedText_
|
||||
ld b, BANK(PrintButItFailedText_)
|
||||
jp Bankswitch
|
||||
jpab PrintButItFailedText_
|
||||
|
||||
ShroudedInMistText: ; 33f52 (c:7f52)
|
||||
TX_FAR _ShroudedInMistText
|
||||
|
|
|
|||
|
|
@ -36,18 +36,12 @@ ParalyzeEffect_: ; 52601 (14:6601)
|
|||
ld c, 30
|
||||
call DelayFrames
|
||||
callab PlayCurrentMoveAnimation
|
||||
ld hl, PrintMayNotAttackText
|
||||
ld b, BANK(PrintMayNotAttackText)
|
||||
jp Bankswitch
|
||||
jpab PrintMayNotAttackText
|
||||
.didntAffect
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld hl, PrintDidntAffectText
|
||||
ld b, BANK(PrintDidntAffectText)
|
||||
jp Bankswitch
|
||||
jpab PrintDidntAffectText
|
||||
.doesntAffect
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld hl, PrintDoesntAffectText
|
||||
ld b, BANK(PrintDoesntAffectText)
|
||||
jp Bankswitch
|
||||
jpab PrintDoesntAffectText
|
||||
|
|
|
|||
|
|
@ -55,9 +55,7 @@ SubstituteEffect_: ; 17dad (5:7dad)
|
|||
call Bankswitch ; jump to routine depending on animation setting
|
||||
ld hl, SubstituteText
|
||||
call PrintText
|
||||
ld hl, DrawHUDsAndHPBars
|
||||
ld b, BANK(DrawHUDsAndHPBars)
|
||||
jp Bankswitch
|
||||
jpab DrawHUDsAndHPBars
|
||||
.alreadyHasSubstitute
|
||||
ld hl, HasSubstituteText
|
||||
jr .printText
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ TryEvolvingMon: ; 3ad0e (e:6d0e)
|
|||
ld [hl], a
|
||||
ld a, [wWhichPokemon]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
call Evolution_FlagAction
|
||||
|
||||
; this is only called after battle
|
||||
|
|
@ -36,7 +36,7 @@ Evolution_PartyMonLoop: ; loop over party mons
|
|||
ld a, [wWhichPokemon]
|
||||
ld c, a
|
||||
ld hl, wCanEvolveFlags
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
call Evolution_FlagAction
|
||||
ld a, c
|
||||
and a ; is the mon's bit set?
|
||||
|
|
@ -217,7 +217,7 @@ Evolution_PartyMonLoop: ; loop over party mons
|
|||
ld a, [wd11e]
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
ld hl, wPokedexOwned
|
||||
push bc
|
||||
call Evolution_FlagAction
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ SetPokedexOwnedFlag: ; 4fe11 (13:7e11)
|
|||
dec a
|
||||
ld c, a
|
||||
ld hl, wPokedexOwned
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
predef FlagActionPredef
|
||||
pop af
|
||||
ld [wd11e], a
|
||||
|
|
|
|||
|
|
@ -34,9 +34,7 @@ PrintBookshelfText: ; fb50 (3:7b50)
|
|||
.noMatch
|
||||
ld a, $ff
|
||||
ld [$ffdb], a
|
||||
ld b, BANK(PrintCardKeyText)
|
||||
ld hl, PrintCardKeyText
|
||||
jp Bankswitch
|
||||
jpba PrintCardKeyText
|
||||
|
||||
; format: db tileset id, bookshelf tile id, text id
|
||||
BookshelfTileIDs: ; fb8b (3:7b8b)
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ SafariZoneGameOver: ; 1e9b0 (7:69b0)
|
|||
ld [H_DOWNARROWBLINKCNT2], a
|
||||
call DisplayTextID
|
||||
xor a
|
||||
ld [wd528], a
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, SAFARI_ZONE_ENTRANCE
|
||||
ld [H_DOWNARROWBLINKCNT1], a
|
||||
ld a, $3
|
||||
|
|
@ -209,7 +209,7 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92)
|
|||
call PrintText
|
||||
ld a, [$ffe0]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
call CinnabarGymQuiz_1ea8a
|
||||
jp CinnabarGymQuiz_1eb0a
|
||||
.asm_1eab8
|
||||
|
|
@ -222,7 +222,7 @@ CinnabarGymQuiz_1ea92: ; 1ea92 (7:6a92)
|
|||
ld a, [$ffdb]
|
||||
add $2
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
ld hl, wd79a
|
||||
predef FlagActionPredef
|
||||
ld a, c
|
||||
|
|
@ -241,7 +241,7 @@ CinnabarGymQuizCorrectText: ; 1eae3 (7:6ae3)
|
|||
|
||||
ld a, [$ffe0]
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
call CinnabarGymQuiz_1ea8a
|
||||
ld a, c
|
||||
and a
|
||||
|
|
@ -278,7 +278,7 @@ CinnabarGymQuiz_1eb0a: ; 1eb0a (7:6b0a)
|
|||
ld a, [$ffdb]
|
||||
ld [$ffe0], a
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
call CinnabarGymQuiz_1ea8a
|
||||
ld a, c
|
||||
and a
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ DoInGameTradeDialogue: ; 71ad9 (1c:5ad9)
|
|||
ld hl,wCompletedInGameTradeFlags
|
||||
ld a,[wWhichTrade]
|
||||
ld c,a
|
||||
ld b,$2
|
||||
ld b,FLAG_TEST
|
||||
predef FlagActionPredef
|
||||
ld a,c
|
||||
and a
|
||||
|
|
@ -112,7 +112,7 @@ InGameTrade_DoTrade: ; 71c07 (1c:5c07)
|
|||
ld hl,wCompletedInGameTradeFlags
|
||||
ld a,[wWhichTrade]
|
||||
ld c,a
|
||||
ld b,$1
|
||||
ld b,FLAG_SET
|
||||
predef FlagActionPredef
|
||||
ld hl, ConnectCableText
|
||||
call PrintText
|
||||
|
|
@ -159,9 +159,7 @@ InGameTrade_RestoreScreen: ; 71ca2 (1c:5ca2)
|
|||
call LoadGBPal
|
||||
ld c, 10
|
||||
call DelayFrames
|
||||
ld b, BANK(LoadWildData)
|
||||
ld hl, LoadWildData
|
||||
jp Bankswitch
|
||||
jpba LoadWildData
|
||||
|
||||
InGameTrade_PrepareTradeData: ; 71cc1 (1c:5cc1)
|
||||
ld hl, wTradedPlayerMonSpecies
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ HiddenItemNear: ; 7481f (1d:481f)
|
|||
push hl
|
||||
ld hl, wObtainedHiddenItemsFlags
|
||||
ld c, b
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
predef FlagActionPredef
|
||||
ld a, c
|
||||
pop hl
|
||||
|
|
|
|||
|
|
@ -400,15 +400,15 @@ ItemUseBall: ; d687 (3:5687)
|
|||
ld a,[wd11e]
|
||||
dec a
|
||||
ld c,a
|
||||
ld b,2
|
||||
ld hl,wPokedexOwned ;Dex_own_flags (pokemon)
|
||||
ld b,FLAG_TEST
|
||||
ld hl,wPokedexOwned
|
||||
predef FlagActionPredef
|
||||
ld a,c
|
||||
push af
|
||||
ld a,[wd11e]
|
||||
dec a
|
||||
ld c,a
|
||||
ld b,1
|
||||
ld b,FLAG_SET
|
||||
predef FlagActionPredef
|
||||
pop af
|
||||
and a
|
||||
|
|
@ -499,9 +499,7 @@ ItemUseTownMap: ; d968 (3:5968)
|
|||
ld a,[W_ISINBATTLE]
|
||||
and a
|
||||
jp nz,ItemUseNotTime
|
||||
ld b, BANK(DisplayTownMap)
|
||||
ld hl, DisplayTownMap
|
||||
jp Bankswitch ; display Town Map
|
||||
jpba DisplayTownMap
|
||||
|
||||
ItemUseBicycle: ; d977 (3:5977)
|
||||
ld a,[W_ISINBATTLE]
|
||||
|
|
@ -593,14 +591,14 @@ ItemUseSurfboard: ; d9b4 (3:59b4)
|
|||
jp LoadWalkingPlayerSpriteGraphics
|
||||
; uses a simulated button press to make the player move forward
|
||||
.makePlayerMoveForward
|
||||
ld a,[wd52a] ; direction the player is going
|
||||
bit 3,a
|
||||
ld a,[wPlayerDirection] ; direction the player is going
|
||||
bit PLAYER_DIR_BIT_UP,a
|
||||
ld b,D_UP
|
||||
jr nz,.storeSimulatedButtonPress
|
||||
bit 2,a
|
||||
bit PLAYER_DIR_BIT_DOWN,a
|
||||
ld b,D_DOWN
|
||||
jr nz,.storeSimulatedButtonPress
|
||||
bit 1,a
|
||||
bit PLAYER_DIR_BIT_LEFT,a
|
||||
ld b,D_LEFT
|
||||
jr nz,.storeSimulatedButtonPress
|
||||
ld b,D_RIGHT
|
||||
|
|
@ -806,7 +804,7 @@ ItemUseMedicine: ; dabb (3:5abb)
|
|||
ld a,[wUsedItemOnWhichPokemon]
|
||||
ld c,a
|
||||
ld hl,wPartyFoughtCurrentEnemyFlags
|
||||
ld b,$02
|
||||
ld b,FLAG_TEST
|
||||
predef FlagActionPredef
|
||||
ld a,c
|
||||
and a
|
||||
|
|
@ -814,7 +812,7 @@ ItemUseMedicine: ; dabb (3:5abb)
|
|||
ld a,[wUsedItemOnWhichPokemon]
|
||||
ld c,a
|
||||
ld hl,wPartyGainExpFlags
|
||||
ld b,$01
|
||||
ld b,FLAG_SET
|
||||
predef FlagActionPredef
|
||||
.next
|
||||
pop bc
|
||||
|
|
@ -2552,8 +2550,8 @@ IsKeyItem_: ; e764 (3:6764)
|
|||
dec a
|
||||
ld c,a
|
||||
ld hl,wHPBarMaxHP
|
||||
ld b,$02 ; test bit
|
||||
predef FlagActionPredef ; bitfield operation function
|
||||
ld b,FLAG_TEST
|
||||
predef FlagActionPredef
|
||||
ld a,c
|
||||
and a
|
||||
ret nz
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ CanLearnTM: ; 1373e (4:773e)
|
|||
jr .findTMloop
|
||||
.TMfoundLoop
|
||||
pop hl
|
||||
ld b, $2 ; read corresponding bit from TM compatibility array
|
||||
ld b, FLAG_TEST
|
||||
predef_jump FlagActionPredef
|
||||
|
||||
; converts TM/HM number in wd11e into move number
|
||||
|
|
|
|||
|
|
@ -110,9 +110,7 @@ LeaguePCShowMon: ; 76610 (1d:6610)
|
|||
ld de, wHoFTeamNo
|
||||
ld bc, $0103
|
||||
call PrintNumber
|
||||
ld b, BANK(HoFDisplayMonInfo)
|
||||
ld hl, HoFDisplayMonInfo
|
||||
jp Bankswitch
|
||||
jpba HoFDisplayMonInfo
|
||||
|
||||
HallOfFameNoText: ; 76670 (1d:6670)
|
||||
db "HALL OF FAME No @"
|
||||
|
|
|
|||
|
|
@ -107,8 +107,8 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
.pressedA
|
||||
call GBPalWhiteOutWithDelay3
|
||||
call ClearScreen
|
||||
ld a,4
|
||||
ld [wd52a],a
|
||||
ld a,PLAYER_DIR_DOWN
|
||||
ld [wPlayerDirection],a
|
||||
ld c,10
|
||||
call DelayFrames
|
||||
ld a,[wNumHoFTeams]
|
||||
|
|
|
|||
|
|
@ -172,9 +172,7 @@ DisplayNamingScreen: ; 6596 (1:6596)
|
|||
ld a, [W_ISINBATTLE]
|
||||
and a
|
||||
jp z, LoadTextBoxTilePatterns
|
||||
ld hl, LoadHudTilePatterns
|
||||
ld b, BANK(LoadHudTilePatterns)
|
||||
jp Bankswitch
|
||||
jpab LoadHudTilePatterns
|
||||
|
||||
.namingScreenButtonFunctions
|
||||
dw .dPadReturnPoint
|
||||
|
|
|
|||
|
|
@ -379,7 +379,7 @@ IsPokemonBitSet: ; 402c2 (10:42c2)
|
|||
ld a,[wd11e]
|
||||
dec a
|
||||
ld c,a
|
||||
ld b,2
|
||||
ld b,FLAG_TEST
|
||||
predef FlagActionPredef
|
||||
ld a,c
|
||||
and a
|
||||
|
|
|
|||
|
|
@ -179,7 +179,7 @@ LoadCoinsToSubtract: ; 528b1 (14:68b1)
|
|||
ld hl,wd141 ; first prize's price
|
||||
add hl,de ; get selected prize's price
|
||||
xor a
|
||||
ld [hCoins - 1],a
|
||||
ld [hUnusedCoinsByte],a
|
||||
ld a,[hli]
|
||||
ld [hCoins],a
|
||||
ld a,[hl]
|
||||
|
|
|
|||
|
|
@ -111,9 +111,7 @@ Func_72a8: ; 72a8 (1:72a8)
|
|||
xor a
|
||||
ld [hld], a
|
||||
ld [hl], a
|
||||
ld hl, LinkMenu
|
||||
ld b, BANK(LinkMenu)
|
||||
jp Bankswitch
|
||||
jpab LinkMenu
|
||||
|
||||
CableClubNPCAreaReservedFor2FriendsLinkedByCableText: ; 72b3 (1:72b3)
|
||||
TX_FAR _CableClubNPCAreaReservedFor2FriendsLinkedByCableText
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ HiddenItems: ; 76688 (1d:6688)
|
|||
ld hl, wObtainedHiddenItemsFlags
|
||||
ld a, [wHiddenItemOrCoinsIndex]
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
predef FlagActionPredef
|
||||
ld a, c
|
||||
and a
|
||||
|
|
@ -31,7 +31,7 @@ FoundHiddenItemText: ; 7675b (1d:675b)
|
|||
ld hl, wObtainedHiddenItemsFlags
|
||||
ld a, [wTrainerScreenX]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
predef FlagActionPredef
|
||||
ld a, SFX_GET_ITEM_2
|
||||
call PlaySoundWaitForCurrent
|
||||
|
|
@ -61,13 +61,13 @@ HiddenCoins: ; 76799 (1d:6799)
|
|||
ld hl, wObtainedHiddenCoinsFlags
|
||||
ld a, [wHiddenItemOrCoinsIndex]
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
predef FlagActionPredef
|
||||
ld a, c
|
||||
and a
|
||||
ret nz
|
||||
xor a
|
||||
ld [hCoins - 1], a
|
||||
ld [hUnusedCoinsByte], a
|
||||
ld [hCoins], a
|
||||
ld [hCoins + 1], a
|
||||
ld a, [wHiddenObjectFunctionArgument]
|
||||
|
|
@ -102,7 +102,7 @@ HiddenCoins: ; 76799 (1d:6799)
|
|||
ld hl, wObtainedHiddenCoinsFlags
|
||||
ld a, [wTrainerScreenX]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
predef FlagActionPredef
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, [wPlayerCoins]
|
||||
|
|
|
|||
|
|
@ -25,24 +25,24 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
|
|||
ld a, [wWalkCounter]
|
||||
and a
|
||||
jr nz, .moving
|
||||
ld a, [wd528]
|
||||
ld a, [wPlayerMovingDirection]
|
||||
; check if down
|
||||
bit 2, a
|
||||
bit PLAYER_DIR_BIT_DOWN, a
|
||||
jr z, .checkIfUp
|
||||
xor a ; ld a, SPRITE_FACING_DOWN
|
||||
jr .next
|
||||
.checkIfUp
|
||||
bit 3, a
|
||||
bit PLAYER_DIR_BIT_UP, a
|
||||
jr z, .checkIfLeft
|
||||
ld a, SPRITE_FACING_UP
|
||||
jr .next
|
||||
.checkIfLeft
|
||||
bit 1, a
|
||||
bit PLAYER_DIR_BIT_LEFT, a
|
||||
jr z, .checkIfRight
|
||||
ld a, SPRITE_FACING_LEFT
|
||||
jr .next
|
||||
.checkIfRight
|
||||
bit 0, a
|
||||
bit PLAYER_DIR_BIT_RIGHT, a
|
||||
jr z, .notMoving
|
||||
ld a, SPRITE_FACING_RIGHT
|
||||
jr .next
|
||||
|
|
@ -405,23 +405,23 @@ InitializeSpriteFacingDirection: ; 507f (1:507f)
|
|||
bit 5, a
|
||||
jr nz, notYetMoving
|
||||
res 7, [hl]
|
||||
ld a, [wd52a]
|
||||
bit 3, a
|
||||
ld a, [wPlayerDirection]
|
||||
bit PLAYER_DIR_BIT_UP, a
|
||||
jr z, .notFacingDown
|
||||
ld c, $0 ; make sprite face down
|
||||
ld c, SPRITE_FACING_DOWN
|
||||
jr .facingDirectionDetermined
|
||||
.notFacingDown
|
||||
bit 2, a
|
||||
bit PLAYER_DIR_BIT_DOWN, a
|
||||
jr z, .notFacingUp
|
||||
ld c, $4 ; make sprite face up
|
||||
ld c, SPRITE_FACING_UP
|
||||
jr .facingDirectionDetermined
|
||||
.notFacingUp
|
||||
bit 1, a
|
||||
bit PLAYER_DIR_BIT_LEFT, a
|
||||
jr z, .notFacingRight
|
||||
ld c, $c ; make sprite face right
|
||||
ld c, SPRITE_FACING_RIGHT
|
||||
jr .facingDirectionDetermined
|
||||
.notFacingRight
|
||||
ld c, $8 ; make sprite face left
|
||||
ld c, SPRITE_FACING_LEFT
|
||||
.facingDirectionDetermined
|
||||
ld a, [H_CURRENTSPRITEOFFSET]
|
||||
add $9
|
||||
|
|
|
|||
|
|
@ -10,9 +10,7 @@ RemoveGuardDrink: ; 5a59f (16:659f)
|
|||
call IsItemInBag
|
||||
pop hl
|
||||
jr z, .drinkLoop
|
||||
ld b, BANK(RemoveItemByID)
|
||||
ld hl, RemoveItemByID
|
||||
jp Bankswitch
|
||||
jpba RemoveItemByID
|
||||
|
||||
GuardDrinksList: ; 5a5b7 (16:65b7)
|
||||
db FRESH_WATER, SODA_POP, LEMONADE, $00
|
||||
|
|
|
|||
|
|
@ -262,9 +262,7 @@ ENDC
|
|||
jp MainMenu
|
||||
|
||||
.doClearSaveDialogue
|
||||
ld b, BANK(DoClearSaveDialogue)
|
||||
ld hl, DoClearSaveDialogue
|
||||
jp Bankswitch
|
||||
jpba DoClearSaveDialogue
|
||||
|
||||
TitleScreenPickNewMon: ; 4496 (1:4496)
|
||||
ld a, vBGMap0 / $100
|
||||
|
|
|
|||
|
|
@ -199,9 +199,7 @@ LoadTradingGFXAndMonNames: ; 411a1 (10:51a1)
|
|||
Trade_LoadMonPartySpriteGfx: ; 4120b (10:520b)
|
||||
ld a, %11010000
|
||||
ld [rOBP1], a
|
||||
ld b, BANK(LoadMonPartySpriteGfx)
|
||||
ld hl, LoadMonPartySpriteGfx
|
||||
jp Bankswitch
|
||||
jpba LoadMonPartySpriteGfx
|
||||
|
||||
Trade_SwapNames: ; 41217 (10:5217)
|
||||
ld hl, wPlayerName
|
||||
|
|
|
|||
54
home.asm
54
home.asm
|
|
@ -253,9 +253,7 @@ DrawHPBar:: ; 1336 (0:1336)
|
|||
; wLoadedMon = base address of pokemon data
|
||||
; W_MONHDEXNUM = base address of base stats
|
||||
LoadMonData:: ; 1372 (0:1372)
|
||||
ld hl, LoadMonData_
|
||||
ld b, BANK(LoadMonData_)
|
||||
jp Bankswitch
|
||||
jpab LoadMonData_
|
||||
|
||||
|
||||
OverwritewMoves:: ; 137a (0:137a)
|
||||
|
|
@ -1317,9 +1315,7 @@ CountSetBits:: ; 2b7f (0:2b7f)
|
|||
; subtracts the amount the player paid from their money
|
||||
; sets carry flag if there is enough money and unsets carry flag if not
|
||||
SubtractAmountPaidFromMoney:: ; 2b96 (0:2b96)
|
||||
ld b,BANK(SubtractAmountPaidFromMoney_)
|
||||
ld hl,SubtractAmountPaidFromMoney_
|
||||
jp Bankswitch
|
||||
jpba SubtractAmountPaidFromMoney_
|
||||
|
||||
; adds the amount the player sold to their money
|
||||
AddAmountSoldToMoney:: ; 2b9e (0:2b9e)
|
||||
|
|
@ -2077,9 +2073,7 @@ ReloadTilesetTilePatterns:: ; 3090 (0:3090)
|
|||
ChooseFlyDestination:: ; 30a9 (0:30a9)
|
||||
ld hl,wd72e
|
||||
res 4,[hl]
|
||||
ld b, BANK(LoadTownMap_Fly)
|
||||
ld hl, LoadTownMap_Fly
|
||||
jp Bankswitch
|
||||
jpba LoadTownMap_Fly
|
||||
|
||||
; causes the text box to close without waiting for a button press after displaying text
|
||||
DisableWaitingAfterTextDisplay:: ; 30b6 (0:30b6)
|
||||
|
|
@ -2097,9 +2091,7 @@ DisableWaitingAfterTextDisplay:: ; 30b6 (0:30b6)
|
|||
; 01: successful
|
||||
; 02: not able to be used right now, no extra menu displayed (only certain items use this)
|
||||
UseItem:: ; 30bc (0:30bc)
|
||||
ld b,BANK(UseItem_)
|
||||
ld hl,UseItem_
|
||||
jp Bankswitch
|
||||
jpba UseItem_
|
||||
|
||||
; confirms the item toss and then tosses the item
|
||||
; INPUT:
|
||||
|
|
@ -2201,14 +2193,10 @@ RunNPCMovementScript:: ; 310e (0:310e)
|
|||
dw PewterMuseumGuyMovementScriptPointerTable
|
||||
dw PewterGymGuyMovementScriptPointerTable
|
||||
.playerStepOutFromDoor
|
||||
ld b, BANK(PlayerStepOutFromDoor)
|
||||
ld hl, PlayerStepOutFromDoor
|
||||
jp Bankswitch
|
||||
jpba PlayerStepOutFromDoor
|
||||
|
||||
EndNPCMovementScript:: ; 314e (0:314e)
|
||||
ld b, BANK(_EndNPCMovementScript)
|
||||
ld hl, _EndNPCMovementScript
|
||||
jp Bankswitch
|
||||
jpba _EndNPCMovementScript
|
||||
|
||||
EmptyFunc2:: ; 3156 (0:3156)
|
||||
ret
|
||||
|
|
@ -2309,7 +2297,7 @@ TalkToTrainer:: ; 31cc (0:31cc)
|
|||
call ReadTrainerHeaderInfo ; read flag's byte ptr
|
||||
ld a, [wTrainerHeaderFlagBit]
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
call TrainerFlagAction ; read trainer's flag
|
||||
ld a, c
|
||||
and a
|
||||
|
|
@ -2404,7 +2392,7 @@ EndTrainerBattle:: ; 3275 (0:3275)
|
|||
call ReadTrainerHeaderInfo
|
||||
ld a, [wTrainerHeaderFlagBit]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
call TrainerFlagAction ; flag trainer as fought
|
||||
ld a, [W_ENEMYMONORTRAINERCLASS]
|
||||
cp $c8
|
||||
|
|
@ -2434,9 +2422,7 @@ ResetButtonPressedAndMapScript:: ; 32c1 (0:32c1)
|
|||
|
||||
; calls TrainerWalkUpToPlayer
|
||||
TrainerWalkUpToPlayer_Bank0:: ; 32cf (0:32cf)
|
||||
ld b, BANK(TrainerWalkUpToPlayer)
|
||||
ld hl, TrainerWalkUpToPlayer
|
||||
jp Bankswitch
|
||||
jpba TrainerWalkUpToPlayer
|
||||
|
||||
; sets opponent type and mon set/lvl based on the engaging trainer data
|
||||
InitBattleEnemyParameters:: ; 32d7 (0:32d7)
|
||||
|
|
@ -2484,7 +2470,7 @@ CheckForEngagingTrainers:: ; 3306 (0:3306)
|
|||
ret z
|
||||
ld a, $2
|
||||
call ReadTrainerHeaderInfo ; read trainer flag's byte ptr
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
ld a, [wTrainerHeaderFlagBit]
|
||||
ld c, a
|
||||
call TrainerFlagAction ; read trainer flag
|
||||
|
|
@ -2726,9 +2712,7 @@ IsItemInBag:: ; 3493 (0:3493)
|
|||
|
||||
DisplayPokedex:: ; 349b (0:349b)
|
||||
ld [wd11e], a
|
||||
ld b, BANK(_DisplayPokedex)
|
||||
ld hl, _DisplayPokedex
|
||||
jp Bankswitch
|
||||
jpba _DisplayPokedex
|
||||
|
||||
SetSpriteFacingDirectionAndDelay:: ; 34a6 (0:34a6)
|
||||
call SetSpriteFacingDirection
|
||||
|
|
@ -2937,9 +2921,7 @@ GetTrainerInformation:: ; 3566 (0:3566)
|
|||
ret
|
||||
|
||||
GetTrainerName:: ; 359e (0:359e)
|
||||
ld b, BANK(GetTrainerName_)
|
||||
ld hl, GetTrainerName_
|
||||
jp Bankswitch
|
||||
jpba GetTrainerName_
|
||||
|
||||
|
||||
HasEnoughMoney::
|
||||
|
|
@ -3604,9 +3586,7 @@ CopyDataUntil:: ; 3913 (0:3913)
|
|||
; [wRemoveMonFromBox] == 0 specifies the party.
|
||||
; [wRemoveMonFromBox] != 0 specifies the current box.
|
||||
RemovePokemon:: ; 391f (0:391f)
|
||||
ld hl, _RemovePokemon
|
||||
ld b, BANK(_RemovePokemon)
|
||||
jp Bankswitch
|
||||
jpab _RemovePokemon
|
||||
|
||||
AddPartyMon:: ; 3927 (0:3927)
|
||||
push hl
|
||||
|
|
@ -4590,9 +4570,7 @@ GivePokemon::
|
|||
ld [W_CURENEMYLVL], a
|
||||
xor a ; PLAYER_PARTY_DATA
|
||||
ld [wMonDataLocation], a
|
||||
ld b, BANK(_GivePokemon)
|
||||
ld hl, _GivePokemon
|
||||
jp Bankswitch
|
||||
jpba _GivePokemon
|
||||
|
||||
|
||||
Random::
|
||||
|
|
@ -4613,9 +4591,7 @@ INCLUDE "home/predef.asm"
|
|||
|
||||
|
||||
Func_3ead:: ; 3ead (0:3ead)
|
||||
ld b, BANK(CinnabarGymQuiz_1eb0a)
|
||||
ld hl, CinnabarGymQuiz_1eb0a
|
||||
jp Bankswitch
|
||||
jpba CinnabarGymQuiz_1eb0a
|
||||
|
||||
CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: ; 3eb5 (0:3eb5)
|
||||
ld a, [H_LOADEDROMBANK]
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
HandleMidJump::
|
||||
; Handle the player jumping down
|
||||
; a ledge in the overworld.
|
||||
ld b, BANK(_HandleMidJump)
|
||||
ld hl, _HandleMidJump
|
||||
jp Bankswitch
|
||||
jpba _HandleMidJump
|
||||
|
||||
EnterMap::
|
||||
; Load a new map.
|
||||
|
|
@ -136,52 +134,52 @@ OverworldLoopLessDelay::
|
|||
call UpdateSprites
|
||||
ld a,$01
|
||||
ld [wcc4b],a
|
||||
ld a,[wd528] ; the direction that was pressed last time
|
||||
ld a,[wPlayerMovingDirection] ; the direction that was pressed last time
|
||||
and a
|
||||
jp z,OverworldLoop
|
||||
; if a direction was pressed last time
|
||||
ld [wd529],a ; save the last direction
|
||||
ld [wPlayerLastStopDirection],a ; save the last direction
|
||||
xor a
|
||||
ld [wd528],a ; zero the direction
|
||||
ld [wPlayerMovingDirection],a ; zero the direction
|
||||
jp OverworldLoop
|
||||
.checkIfDownButtonIsPressed
|
||||
ld a,[hJoyHeld] ; current joypad state
|
||||
bit 7,a ; down button
|
||||
jr z,.checkIfUpButtonIsPressed
|
||||
ld a,$01
|
||||
ld [wSpriteStateData1 + 3],a
|
||||
ld a,$04
|
||||
ld a,1
|
||||
ld [wSpriteStateData1 + 3],a ; delta Y
|
||||
ld a,PLAYER_DIR_DOWN
|
||||
jr .handleDirectionButtonPress
|
||||
.checkIfUpButtonIsPressed
|
||||
bit 6,a ; up button
|
||||
jr z,.checkIfLeftButtonIsPressed
|
||||
ld a,$ff
|
||||
ld [wSpriteStateData1 + 3],a
|
||||
ld a,$08
|
||||
ld a,-1
|
||||
ld [wSpriteStateData1 + 3],a ; delta Y
|
||||
ld a,PLAYER_DIR_UP
|
||||
jr .handleDirectionButtonPress
|
||||
.checkIfLeftButtonIsPressed
|
||||
bit 5,a ; left button
|
||||
jr z,.checkIfRightButtonIsPressed
|
||||
ld a,$ff
|
||||
ld [wSpriteStateData1 + 5],a
|
||||
ld a,$02
|
||||
ld a,-1
|
||||
ld [wSpriteStateData1 + 5],a ; delta X
|
||||
ld a,PLAYER_DIR_LEFT
|
||||
jr .handleDirectionButtonPress
|
||||
.checkIfRightButtonIsPressed
|
||||
bit 4,a ; right button
|
||||
jr z,.noDirectionButtonsPressed
|
||||
ld a,$01
|
||||
ld [wSpriteStateData1 + 5],a
|
||||
ld a,1 ; PLAYER_DIR_RIGHT
|
||||
ld [wSpriteStateData1 + 5],a ; delta X
|
||||
.handleDirectionButtonPress
|
||||
ld [wd52a],a ; new direction
|
||||
ld [wPlayerDirection],a ; new direction
|
||||
ld a,[wd730]
|
||||
bit 7,a ; are we simulating button presses?
|
||||
jr nz,.noDirectionChange ; ignore direction changes if we are
|
||||
ld a,[wcc4b]
|
||||
and a
|
||||
jr z,.noDirectionChange
|
||||
ld a,[wd52a] ; new direction
|
||||
ld a,[wPlayerDirection] ; new direction
|
||||
ld b,a
|
||||
ld a,[wd529] ; old direction
|
||||
ld a,[wPlayerLastStopDirection] ; old direction
|
||||
cp b
|
||||
jr z,.noDirectionChange
|
||||
; the code below is strange
|
||||
|
|
@ -189,42 +187,42 @@ OverworldLoopLessDelay::
|
|||
; also, it does a seemingly pointless loop afterwards
|
||||
swap a ; put old direction in upper half
|
||||
or b ; put new direction in lower half
|
||||
cp a,$48 ; change dir from down to up
|
||||
cp a,(PLAYER_DIR_DOWN << 4) | PLAYER_DIR_UP ; change dir from down to up
|
||||
jr nz,.notDownToUp
|
||||
ld a,$02
|
||||
ld [wd528],a
|
||||
ld a,PLAYER_DIR_LEFT
|
||||
ld [wPlayerMovingDirection],a
|
||||
jr .oddLoop
|
||||
.notDownToUp
|
||||
cp a,$84 ; change dir from up to down
|
||||
cp a,(PLAYER_DIR_UP << 4) | PLAYER_DIR_DOWN ; change dir from up to down
|
||||
jr nz,.notUpToDown
|
||||
ld a,$01
|
||||
ld [wd528],a
|
||||
ld a,PLAYER_DIR_RIGHT
|
||||
ld [wPlayerMovingDirection],a
|
||||
jr .oddLoop
|
||||
.notUpToDown
|
||||
cp a,$12 ; change dir from right to left
|
||||
cp a,(PLAYER_DIR_RIGHT << 4) | PLAYER_DIR_LEFT ; change dir from right to left
|
||||
jr nz,.notRightToLeft
|
||||
ld a,$04
|
||||
ld [wd528],a
|
||||
ld a,PLAYER_DIR_DOWN
|
||||
ld [wPlayerMovingDirection],a
|
||||
jr .oddLoop
|
||||
.notRightToLeft
|
||||
cp a,$21 ; change dir from left to right
|
||||
cp a,(PLAYER_DIR_LEFT << 4) | PLAYER_DIR_RIGHT ; change dir from left to right
|
||||
jr nz,.oddLoop
|
||||
ld a,$08
|
||||
ld [wd528],a
|
||||
ld a,PLAYER_DIR_UP
|
||||
ld [wPlayerMovingDirection],a
|
||||
.oddLoop
|
||||
ld hl,wFlags_0xcd60
|
||||
set 2,[hl]
|
||||
ld hl,wcc4b
|
||||
dec [hl]
|
||||
jr nz,.oddLoop
|
||||
ld a,[wd52a]
|
||||
ld [wd528],a
|
||||
ld a,[wPlayerDirection]
|
||||
ld [wPlayerMovingDirection],a
|
||||
call NewBattle
|
||||
jp c,.battleOccurred
|
||||
jp OverworldLoop
|
||||
.noDirectionChange
|
||||
ld a,[wd52a] ; current direction
|
||||
ld [wd528],a ; save direction
|
||||
ld a,[wPlayerDirection] ; current direction
|
||||
ld [wPlayerMovingDirection],a ; save direction
|
||||
call UpdateSprites
|
||||
ld a,[wWalkBikeSurfState]
|
||||
cp a,$02 ; surfing
|
||||
|
|
@ -355,9 +353,7 @@ NewBattle:: ; 0683 (0:0683)
|
|||
ld a,[wd72e]
|
||||
bit 4,a
|
||||
jr nz,.noBattle
|
||||
ld b, BANK(InitBattle)
|
||||
ld hl, InitBattle
|
||||
jp Bankswitch
|
||||
jpba InitBattle
|
||||
.noBattle
|
||||
and a
|
||||
ret
|
||||
|
|
@ -570,7 +566,7 @@ CheckMapConnections:: ; 07ba (0:07ba)
|
|||
jp .loadNewMap
|
||||
.checkEastMap
|
||||
ld b,a
|
||||
ld a,[wd525] ; map width
|
||||
ld a,[wCurrentMapWidth2] ; map width
|
||||
cp b
|
||||
jr nz,.checkNorthMap
|
||||
ld a,[W_MAPCONN4PTR]
|
||||
|
|
@ -632,7 +628,7 @@ CheckMapConnections:: ; 07ba (0:07ba)
|
|||
jp .loadNewMap
|
||||
.checkSouthMap
|
||||
ld b,a
|
||||
ld a,[wd524]
|
||||
ld a,[wCurrentMapHeight2]
|
||||
cp b
|
||||
jr nz,.didNotEnterConnectedMap
|
||||
ld a,[W_MAPCONN2PTR]
|
||||
|
|
@ -783,9 +779,7 @@ HandleFlyWarpOrDungeonWarp::
|
|||
jp SpecialEnterMap
|
||||
|
||||
LeaveMapAnim::
|
||||
ld b, BANK(_LeaveMapAnim)
|
||||
ld hl, _LeaveMapAnim
|
||||
jp Bankswitch
|
||||
jpba _LeaveMapAnim
|
||||
|
||||
LoadPlayerSpriteGraphics::
|
||||
; Load sprite graphics based on whether the player is standing, biking, or surfing.
|
||||
|
|
@ -870,7 +864,7 @@ LoadTilesetTilePatternData:: ; 09e8 (0:09e8)
|
|||
LoadTileBlockMap:: ; 09fc (0:09fc)
|
||||
; fill C6E8-CBFB with the background tile
|
||||
ld hl,wOverworldMap
|
||||
ld a,[wd3ad] ; background tile number
|
||||
ld a,[wMapBackgroundTile]
|
||||
ld d,a
|
||||
ld bc,$0514
|
||||
.backgroundTileLoop
|
||||
|
|
@ -1063,15 +1057,15 @@ LoadEastWestConnectionsTileMap:: ; 0b02 (0:0b02)
|
|||
IsSpriteOrSignInFrontOfPlayer:: ; 0b23 (0:0b23)
|
||||
xor a
|
||||
ld [hSpriteIndexOrTextID],a
|
||||
ld a,[wd4b0] ; number of signs in the map
|
||||
ld a,[wNumSigns]
|
||||
and a
|
||||
jr z,.extendRangeOverCounter
|
||||
; if there are signs
|
||||
predef GetTileAndCoordsInFrontOfPlayer ; get the coordinates in front of the player in de
|
||||
ld hl,wd4b1 ; start of sign coordinates
|
||||
ld a,[wd4b0] ; number of signs in the map
|
||||
ld hl,wSignCoords
|
||||
ld a,[wNumSigns]
|
||||
ld b,a
|
||||
ld c,$00
|
||||
ld c,0
|
||||
.signLoop
|
||||
inc c
|
||||
ld a,[hli] ; sign Y
|
||||
|
|
@ -1087,8 +1081,8 @@ IsSpriteOrSignInFrontOfPlayer:: ; 0b23 (0:0b23)
|
|||
; found sign
|
||||
push hl
|
||||
push bc
|
||||
ld hl,wd4d1 ; start of sign text ID's
|
||||
ld b,$00
|
||||
ld hl,wSignTextIDs
|
||||
ld b,0
|
||||
dec c
|
||||
add hl,bc
|
||||
ld a,[hl]
|
||||
|
|
@ -1103,7 +1097,7 @@ IsSpriteOrSignInFrontOfPlayer:: ; 0b23 (0:0b23)
|
|||
.extendRangeOverCounter
|
||||
predef GetTileAndCoordsInFrontOfPlayer ; get the tile in front of the player in c
|
||||
ld hl,W_TILESETTALKINGOVERTILES ; list of tiles that extend talking range (counter tiles)
|
||||
ld b,$03
|
||||
ld b,3
|
||||
ld d,$20 ; talking range in pixels (long range)
|
||||
.counterTilesLoop
|
||||
ld a,[hli]
|
||||
|
|
@ -1117,7 +1111,7 @@ IsSpriteOrSignInFrontOfPlayer:: ; 0b23 (0:0b23)
|
|||
IsSpriteInFrontOfPlayer:: ; 0b6b (0:0b6b)
|
||||
ld d,$10 ; talking range in pixels (normal range)
|
||||
IsSpriteInFrontOfPlayer2:: ; 0b6d (0:0b6d)
|
||||
ld bc,$3c40 ; Y and X position of player sprite
|
||||
lb bc, $3c, $40 ; Y and X position of player sprite
|
||||
ld a,[wSpriteStateData1 + 9] ; direction the player is facing
|
||||
.checkIfPlayerFacingUp
|
||||
cp SPRITE_FACING_UP
|
||||
|
|
@ -1126,7 +1120,7 @@ IsSpriteInFrontOfPlayer2:: ; 0b6d (0:0b6d)
|
|||
ld a,b
|
||||
sub d
|
||||
ld b,a
|
||||
ld a,$08
|
||||
ld a,PLAYER_DIR_UP
|
||||
jr .doneCheckingDirection
|
||||
.checkIfPlayerFacingDown
|
||||
cp SPRITE_FACING_DOWN
|
||||
|
|
@ -1135,7 +1129,7 @@ IsSpriteInFrontOfPlayer2:: ; 0b6d (0:0b6d)
|
|||
ld a,b
|
||||
add d
|
||||
ld b,a
|
||||
ld a,$04
|
||||
ld a,PLAYER_DIR_DOWN
|
||||
jr .doneCheckingDirection
|
||||
.checkIfPlayerFacingRight
|
||||
cp SPRITE_FACING_RIGHT
|
||||
|
|
@ -1144,16 +1138,16 @@ IsSpriteInFrontOfPlayer2:: ; 0b6d (0:0b6d)
|
|||
ld a,c
|
||||
add d
|
||||
ld c,a
|
||||
ld a,$01
|
||||
ld a,PLAYER_DIR_RIGHT
|
||||
jr .doneCheckingDirection
|
||||
.playerFacingLeft
|
||||
; facing left
|
||||
ld a,c
|
||||
sub d
|
||||
ld c,a
|
||||
ld a,$02
|
||||
ld a,PLAYER_DIR_LEFT
|
||||
.doneCheckingDirection
|
||||
ld [wd52a],a
|
||||
ld [wPlayerDirection],a
|
||||
ld a,[W_NUMSPRITES] ; number of sprites
|
||||
and a
|
||||
ret z
|
||||
|
|
@ -1208,7 +1202,7 @@ CollisionCheckOnLand:: ; 0bd1 (0:0bd1)
|
|||
ld a,[wSimulatedJoypadStatesIndex]
|
||||
and a
|
||||
jr nz,.noCollision ; no collisions when the player's movements are being controlled by the game
|
||||
ld a,[wd52a] ; the direction that the player is trying to go in
|
||||
ld a,[wPlayerDirection] ; the direction that the player is trying to go in
|
||||
ld d,a
|
||||
ld a,[wSpriteStateData1 + 12] ; the player sprite's collision data (bit field) (set in the sprite movement code)
|
||||
and d ; check if a sprite is in the direction the player is trying to go
|
||||
|
|
@ -1899,7 +1893,7 @@ CollisionCheckOnWater:: ; 0fb7 (0:0fb7)
|
|||
ld a,[wd730]
|
||||
bit 7,a
|
||||
jp nz,.noCollision ; return and clear carry if button presses are being simulated
|
||||
ld a,[wd52a] ; the direction that the player is trying to go in
|
||||
ld a,[wPlayerDirection] ; the direction that the player is trying to go in
|
||||
ld d,a
|
||||
ld a,[wSpriteStateData1 + 12] ; the player sprite's collision data (bit field) (set in the sprite movement code)
|
||||
and d ; check if a sprite is in the direction the player is trying to go
|
||||
|
|
@ -2079,17 +2073,17 @@ LoadMapHeader:: ; 107c (0:107c)
|
|||
call CopyMapConnectionHeader
|
||||
.getObjectDataPointer
|
||||
ld a,[hli]
|
||||
ld [wd3a9],a
|
||||
ld [wObjectDataPointerTemp],a
|
||||
ld a,[hli]
|
||||
ld [wd3aa],a
|
||||
ld [wObjectDataPointerTemp + 1],a
|
||||
push hl
|
||||
ld a,[wd3a9]
|
||||
ld a,[wObjectDataPointerTemp]
|
||||
ld l,a
|
||||
ld a,[wd3aa]
|
||||
ld a,[wObjectDataPointerTemp + 1]
|
||||
ld h,a ; hl = base of object data
|
||||
ld de,wd3ad ; background tile ID
|
||||
ld de,wMapBackgroundTile
|
||||
ld a,[hli]
|
||||
ld [de],a ; save background tile ID
|
||||
ld [de],a
|
||||
.loadWarpData
|
||||
ld a,[hli]
|
||||
ld [wNumberOfWarps],a
|
||||
|
|
@ -2109,16 +2103,16 @@ LoadMapHeader:: ; 107c (0:107c)
|
|||
jr nz,.warpLoop
|
||||
.loadSignData
|
||||
ld a,[hli] ; number of signs
|
||||
ld [wd4b0],a ; save the number of signs
|
||||
ld [wNumSigns],a
|
||||
and a ; are there any signs?
|
||||
jr z,.loadSpriteData ; if not, skip this
|
||||
ld c,a
|
||||
ld de,wd4d1 ; base address of sign text IDs
|
||||
ld de,wSignTextIDs
|
||||
ld a,d
|
||||
ld [$ff95],a
|
||||
ld [hSignCoordPointer],a
|
||||
ld a,e
|
||||
ld [$ff96],a
|
||||
ld de,wd4b1 ; base address of sign coordinates
|
||||
ld [hSignCoordPointer + 1],a
|
||||
ld de,wSignCoords
|
||||
.signLoop
|
||||
ld a,[hli]
|
||||
ld [de],a
|
||||
|
|
@ -2127,17 +2121,17 @@ LoadMapHeader:: ; 107c (0:107c)
|
|||
ld [de],a
|
||||
inc de
|
||||
push de
|
||||
ld a,[$ff95]
|
||||
ld a,[hSignCoordPointer]
|
||||
ld d,a
|
||||
ld a,[$ff96]
|
||||
ld a,[hSignCoordPointer + 1]
|
||||
ld e,a
|
||||
ld a,[hli]
|
||||
ld [de],a
|
||||
inc de
|
||||
ld a,d
|
||||
ld [$ff95],a
|
||||
ld [hSignCoordPointer],a
|
||||
ld a,e
|
||||
ld [$ff96],a
|
||||
ld [hSignCoordPointer + 1],a
|
||||
pop de
|
||||
dec c
|
||||
jr nz,.signLoop
|
||||
|
|
@ -2265,10 +2259,10 @@ LoadMapHeader:: ; 107c (0:107c)
|
|||
pop hl ; restore hl from before going to the warp/sign/sprite data (this value was saved for seemingly no purpose)
|
||||
ld a,[W_CURMAPHEIGHT] ; map height in 4x4 tile blocks
|
||||
add a ; double it
|
||||
ld [wd524],a ; store map height in 2x2 tile blocks
|
||||
ld [wCurrentMapHeight2],a ; store map height in 2x2 tile blocks
|
||||
ld a,[W_CURMAPWIDTH] ; map width in 4x4 tile blocks
|
||||
add a ; double it
|
||||
ld [wd525],a ; map width in 2x2 tile blocks
|
||||
ld [wCurrentMapWidth2],a ; map width in 2x2 tile blocks
|
||||
ld a,[W_CURMAP]
|
||||
ld c,a
|
||||
ld b,$00
|
||||
|
|
|
|||
6
hram.asm
6
hram.asm
|
|
@ -82,6 +82,9 @@ hTilePlayerStandingOn EQU $FF93
|
|||
|
||||
hSpritePriority EQU $FF94
|
||||
|
||||
; 2 bytes
|
||||
hSignCoordPointer EQU $FF95
|
||||
|
||||
hNPCMovementDirections2Index EQU $FF95
|
||||
|
||||
; CalcPositionOfPlayerRelativeToNPC
|
||||
|
|
@ -137,6 +140,9 @@ hNPCPlayerRelativePosPerspective EQU $FF9B
|
|||
; 1 = target is to the west
|
||||
hNPCPlayerRelativePosFlags EQU $FF9D
|
||||
|
||||
; some code zeroes this for no reason when writing a coin amount
|
||||
hUnusedCoinsByte EQU $FF9F
|
||||
|
||||
hMoney EQU $FF9F ; 3-byte BCD number
|
||||
hCoins EQU $FFA0 ; 2-byte BCD number
|
||||
|
||||
|
|
|
|||
12
macros.asm
12
macros.asm
|
|
@ -53,6 +53,18 @@ callab: MACRO
|
|||
call Bankswitch
|
||||
ENDM
|
||||
|
||||
jpba: MACRO
|
||||
ld b, BANK(\1)
|
||||
ld hl, \1
|
||||
jp Bankswitch
|
||||
ENDM
|
||||
|
||||
jpab: MACRO
|
||||
ld hl, \1
|
||||
ld b, BANK(\1)
|
||||
jp Bankswitch
|
||||
ENDM
|
||||
|
||||
bcd2: MACRO
|
||||
dn ((\1) / 1000) % 10, ((\1) / 100) % 10
|
||||
dn ((\1) / 10) % 10, (\1) % 10
|
||||
|
|
|
|||
18
main.asm
18
main.asm
|
|
@ -2038,7 +2038,7 @@ _DisplayPokedex: ; 7c18 (1:7c18)
|
|||
ld a, [wd11e]
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
ld hl, wPokedexSeen
|
||||
predef FlagActionPredef
|
||||
ld a, $1
|
||||
|
|
@ -3235,7 +3235,7 @@ MarkTownVisitedAndLoadMissableObjects: ; f113 (3:7113)
|
|||
cp ROUTE_1
|
||||
jr nc, .notInTown
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
ld hl, W_TOWNVISITEDFLAG ; mark town as visited (for flying)
|
||||
predef FlagActionPredef
|
||||
.notInTown
|
||||
|
|
@ -3319,7 +3319,7 @@ InitializeMissableObjectsFlags: ; f175 (3:7175)
|
|||
ld hl, W_MISSABLEOBJECTFLAGS
|
||||
ld a, [wd048]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
call MissableObjectFlagAction ; set flag iff Item is hidden
|
||||
.asm_f19d
|
||||
ld hl, wd048
|
||||
|
|
@ -3343,7 +3343,7 @@ IsObjectHidden: ; f1a6 (3:71a6)
|
|||
ld a, [hli]
|
||||
jr nz, .loop
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
ld hl, W_MISSABLEOBJECTFLAGS
|
||||
call MissableObjectFlagAction
|
||||
ld a, c
|
||||
|
|
@ -3362,7 +3362,7 @@ ShowObject2:
|
|||
ld hl, W_MISSABLEOBJECTFLAGS
|
||||
ld a, [wcc4d]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
ld b, FLAG_RESET
|
||||
call MissableObjectFlagAction ; reset "removed" flag
|
||||
jp UpdateSprites
|
||||
|
||||
|
|
@ -3372,7 +3372,7 @@ HideObject: ; f1d7 (3:71d7)
|
|||
ld hl, W_MISSABLEOBJECTFLAGS
|
||||
ld a, [wcc4d]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
call MissableObjectFlagAction ; set "removed" flag
|
||||
jp UpdateSprites
|
||||
|
||||
|
|
@ -3642,7 +3642,7 @@ _AddPartyMon: ; f2e5 (3:72e5)
|
|||
ld a, [wd11e]
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
ld hl, wPokedexOwned
|
||||
call FlagAction
|
||||
ld a, c
|
||||
|
|
@ -3650,7 +3650,7 @@ _AddPartyMon: ; f2e5 (3:72e5)
|
|||
ld a, [wd11e]
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
push bc
|
||||
call FlagAction
|
||||
pop bc
|
||||
|
|
@ -3882,7 +3882,7 @@ _AddEnemyMonToPlayerParty: ; f49d (3:749d)
|
|||
ld a, [wd11e]
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
ld hl, wPokedexOwned
|
||||
push bc
|
||||
call FlagAction ; add to owned pokemon
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ CeladonGameCornerText2: ; 48ca9 (12:4ca9)
|
|||
ld c, $3
|
||||
predef SubBCDPredef
|
||||
xor a
|
||||
ld [hCoins - 1], a
|
||||
ld [hUnusedCoinsByte], a
|
||||
ld [hCoins], a
|
||||
ld a, $50
|
||||
ld [hCoins + 1], a
|
||||
|
|
@ -238,7 +238,7 @@ CeladonGameCornerText5: ; 48d4a (12:4d4a)
|
|||
call Has9990Coins
|
||||
jr nc, .asm_48d8e
|
||||
xor a
|
||||
ld [hCoins - 1], a
|
||||
ld [hUnusedCoinsByte], a
|
||||
ld [hCoins], a
|
||||
ld a, $10
|
||||
ld [hCoins + 1], a
|
||||
|
|
@ -320,7 +320,7 @@ CeladonGameCornerText9: ; 48dd9 (12:4dd9)
|
|||
call Has9990Coins
|
||||
jr nc, .asm_48e18
|
||||
xor a
|
||||
ld [hCoins - 1], a
|
||||
ld [hUnusedCoinsByte], a
|
||||
ld [hCoins], a
|
||||
ld a, $20
|
||||
ld [hCoins + 1], a
|
||||
|
|
@ -373,7 +373,7 @@ CeladonGameCornerText10: ; 48e3b (12:4e3b)
|
|||
call Has9990Coins
|
||||
jr z, .asm_48e7a
|
||||
xor a
|
||||
ld [hCoins - 1], a
|
||||
ld [hUnusedCoinsByte], a
|
||||
ld [hCoins], a
|
||||
ld a, $20
|
||||
ld [hCoins + 1], a
|
||||
|
|
|
|||
|
|
@ -55,9 +55,7 @@ CeldaonMartElevatorWarpMaps: ; 4864a (12:464a)
|
|||
db $02, CELADON_MART_5
|
||||
|
||||
CeladonMartElevatorScript_48654: ; 48654 (12:4654)
|
||||
ld b, BANK(ShakeElevator)
|
||||
ld hl, ShakeElevator
|
||||
jp Bankswitch
|
||||
jpba ShakeElevator
|
||||
|
||||
CeladonMartElevatorTextPointers: ; 4865c (12:465c)
|
||||
dw CeladonMartElevatorText1
|
||||
|
|
|
|||
|
|
@ -135,9 +135,7 @@ CeladonMartRoofScript_4840c: ; 4840c (12:440c)
|
|||
jp PrintText
|
||||
|
||||
RemoveItemByIDBank12: ; 484e6 (12:44e6)
|
||||
ld b, BANK(RemoveItemByID)
|
||||
ld hl, RemoveItemByID
|
||||
jp Bankswitch
|
||||
jpba RemoveItemByID
|
||||
|
||||
CeladonMartRoofText_484ee: ; 484ee (12:44ee)
|
||||
TX_FAR _CeladonMartRoofText_484ee
|
||||
|
|
|
|||
|
|
@ -44,15 +44,15 @@ CeruleanCityScript0: ; 194c8 (6:54c8)
|
|||
jr nc, .asm_194f7
|
||||
ld a, [wCoordIndex]
|
||||
cp $1
|
||||
ld a, $8
|
||||
ld a, PLAYER_DIR_UP
|
||||
ld b, SPRITE_FACING_DOWN
|
||||
jr nz, .asm_194e6
|
||||
ld a, $4
|
||||
ld a, PLAYER_DIR_DOWN
|
||||
ld b, SPRITE_FACING_UP
|
||||
.asm_194e6
|
||||
ld [wd528], a
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, b
|
||||
ld [wSpriteStateData1 + $29], a
|
||||
ld [wSpriteStateData1 + 2 * $10 + $9], a
|
||||
call Delay3
|
||||
ld a, $2
|
||||
ld [hSpriteIndexOrTextID], a
|
||||
|
|
|
|||
|
|
@ -54,14 +54,14 @@ CinnabarGymScript0: ; 757ae (1d:57ae)
|
|||
ld [H_SPRITEINDEX], a
|
||||
cp $4
|
||||
jr nz, .asm_757c3
|
||||
ld a, $4
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_DOWN
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld de, MovementData_757d7
|
||||
jr .asm_757cb
|
||||
.asm_757c3
|
||||
ld de, MovementData_757da
|
||||
ld a, $1
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_RIGHT
|
||||
ld [wPlayerMovingDirection], a
|
||||
.asm_757cb
|
||||
call MoveSprite
|
||||
ld a, $1
|
||||
|
|
@ -99,7 +99,7 @@ CinnabarGymScript2: ; 757f6 (1d:57f6)
|
|||
ld a, [wTrainerHeaderFlagBit]
|
||||
ld [$ffdb], a
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
ld hl, wd79a
|
||||
call CinnabarGymScript_757f1
|
||||
ld a, c
|
||||
|
|
@ -113,13 +113,13 @@ CinnabarGymScript2: ; 757f6 (1d:57f6)
|
|||
ld a, [wTrainerHeaderFlagBit]
|
||||
ld [$ffdb], a
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
ld hl, wd79a
|
||||
call CinnabarGymScript_757f1
|
||||
ld a, [wTrainerHeaderFlagBit]
|
||||
sub $2
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
ld hl, wd79c
|
||||
call CinnabarGymScript_757f1
|
||||
call Func_3ead
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ CinnabarIslandScript0: ; 1ca38 (7:4a38)
|
|||
ld a, [W_XCOORD]
|
||||
cp $12
|
||||
ret nz
|
||||
ld a, $8
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_UP
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $8
|
||||
ld [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@ FightingDojoScript1: ; 5cd83 (17:4d83)
|
|||
ret nz
|
||||
ld a, $1
|
||||
ld [wcf0d], a
|
||||
ld a, $1
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_RIGHT
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $1
|
||||
ld [H_SPRITEINDEX], a
|
||||
ld a, SPRITE_FACING_LEFT
|
||||
|
|
@ -61,8 +61,8 @@ FightingDojoScript3: ; 5cdc6 (17:4dc6)
|
|||
ld a, [wcf0d]
|
||||
and a
|
||||
jr z, .asm_5cde4
|
||||
ld a, $1
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_RIGHT
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $1
|
||||
ld [H_SPRITEINDEX], a
|
||||
ld a, SPRITE_FACING_LEFT
|
||||
|
|
|
|||
|
|
@ -139,8 +139,8 @@ GaryScript5: ; 7601a (1d:601a)
|
|||
ld a, [wd730]
|
||||
bit 0, a
|
||||
ret nz
|
||||
ld a, $2
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_LEFT
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $1
|
||||
ld [H_SPRITEINDEX], a
|
||||
ld a, SPRITE_FACING_LEFT
|
||||
|
|
|
|||
|
|
@ -80,19 +80,19 @@ HallofFameRoomScript1: ; 5a52b (16:652b)
|
|||
ld a, [wSimulatedJoypadStatesIndex]
|
||||
and a
|
||||
ret nz
|
||||
ld a, $1
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_RIGHT
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $1
|
||||
ld [H_SPRITEINDEX], a
|
||||
call SetSpriteMovementBytesToFF
|
||||
ld a, $8
|
||||
ld a, SPRITE_FACING_LEFT
|
||||
ld [hSpriteFacingDirection], a
|
||||
call SetSpriteFacingDirectionAndDelay
|
||||
call Delay3
|
||||
xor a
|
||||
ld [wJoyIgnore], a
|
||||
inc a
|
||||
ld [wd528], a
|
||||
inc a ; PLAYER_DIR_RIGHT
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $1
|
||||
ld [hSpriteIndexOrTextID], a
|
||||
call DisplayTextID
|
||||
|
|
|
|||
|
|
@ -112,6 +112,4 @@ Lab4Text2: ; 75dda (1d:5dda)
|
|||
jp TextScriptEnd
|
||||
|
||||
LoadFossilItemAndMonNameBank1D: ; 75de8 (1d:5de8)
|
||||
ld b, BANK(LoadFossilItemAndMonName)
|
||||
ld hl, LoadFossilItemAndMonName
|
||||
jp Bankswitch
|
||||
jpba LoadFossilItemAndMonName
|
||||
|
|
|
|||
|
|
@ -178,8 +178,8 @@ OaksLabScript6: ; 1cc36 (7:4c36)
|
|||
ld a, D_UP
|
||||
ld [wSimulatedJoypadStatesEnd], a
|
||||
call StartSimulatingJoypadStates
|
||||
ld a, $8
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_UP
|
||||
ld [wPlayerMovingDirection], a
|
||||
|
||||
ld a, $7
|
||||
ld [W_OAKSLABCURSCRIPT], a
|
||||
|
|
@ -354,8 +354,8 @@ OaksLabScript10: ; 1cd6d (7:4d6d)
|
|||
xor a ; SPRITE_FACING_DOWN
|
||||
ld [hSpriteFacingDirection], a
|
||||
call SetSpriteFacingDirectionAndDelay
|
||||
ld a, $8
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_UP
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld c, BANK(Music_MeetRival)
|
||||
ld a, MUSIC_MEET_RIVAL
|
||||
call PlayMusic
|
||||
|
|
@ -414,8 +414,8 @@ OaksLabScript11: ; 1cdb9 (7:4db9)
|
|||
set 7, [hl]
|
||||
xor a
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $8
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_UP
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $c
|
||||
ld [W_OAKSLABCURSCRIPT], a
|
||||
ret
|
||||
|
|
@ -423,8 +423,8 @@ OaksLabScript11: ; 1cdb9 (7:4db9)
|
|||
OaksLabScript12: ; 1ce03 (7:4e03)
|
||||
ld a, $f0
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $8
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_UP
|
||||
ld [wPlayerMovingDirection], a
|
||||
call UpdateSprites
|
||||
ld a, $1
|
||||
ld [wSpriteIndex], a
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@ PalletTownScript0: ; 18e81 (6:4e81)
|
|||
ret nz
|
||||
xor a
|
||||
ld [hJoyHeld],a
|
||||
ld a,4
|
||||
ld [wd528],a
|
||||
ld a,PLAYER_DIR_DOWN
|
||||
ld [wPlayerMovingDirection],a
|
||||
ld a,$FF
|
||||
call PlaySound ; stop music
|
||||
ld a, BANK(Music_MeetProfOak)
|
||||
|
|
@ -190,8 +190,8 @@ OakAppearsText: ; 18fb0 (6:4fb0)
|
|||
ld [wEmotionBubbleSpriteIndex],a ; player's sprite
|
||||
ld [wWhichEmotionBubble],a ; EXCLAMATION_BUBBLE
|
||||
predef EmotionBubble
|
||||
ld a,4
|
||||
ld [wd528],a
|
||||
ld a,PLAYER_DIR_DOWN
|
||||
ld [wPlayerMovingDirection],a
|
||||
jp TextScriptEnd
|
||||
|
||||
OakWalksUpText: ; 18fce (6:4fce)
|
||||
|
|
|
|||
|
|
@ -33,15 +33,15 @@ PokemonTower2Script0: ; 6050f (18:450f)
|
|||
res 6, [hl]
|
||||
ld a, [wCoordIndex]
|
||||
cp $1
|
||||
ld a, $8
|
||||
ld a, PLAYER_DIR_UP
|
||||
ld b, SPRITE_FACING_DOWN
|
||||
jr nz, .asm_60544
|
||||
ld hl, wd764
|
||||
set 6, [hl]
|
||||
ld a, $2
|
||||
ld a, PLAYER_DIR_LEFT
|
||||
ld b, SPRITE_FACING_RIGHT
|
||||
.asm_60544
|
||||
ld [wd528], a
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $1
|
||||
ld [H_SPRITEINDEX], a
|
||||
ld a, b
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ RedsHouse2FScriptPointers: ; 5c0bc (17:40bc)
|
|||
RedsHouse2FScript0: ; 5c0c0 (17:40c0)
|
||||
xor a
|
||||
ld [hJoyHeld],a
|
||||
ld a,8
|
||||
ld [wd528],a
|
||||
ld a,PLAYER_DIR_UP
|
||||
ld [wPlayerMovingDirection],a
|
||||
ld a,1
|
||||
ld [W_REDSHOUSE2CURSCRIPT],a
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -67,8 +67,8 @@ Route22Script0: ; 50f00 (14:4f00)
|
|||
ld [hJoyHeld], a
|
||||
ld a, $f0
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $2
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_LEFT
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, [wd7eb]
|
||||
bit 0, a ; is this the rival battle at the beginning of the game?
|
||||
jr nz, .firstRivalBattle
|
||||
|
|
@ -111,8 +111,8 @@ Route22Script1: ; 50f62 (14:4f62)
|
|||
ld a, [wcf0d]
|
||||
cp $1
|
||||
jr nz, .asm_50f78
|
||||
ld a, $4
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_DOWN
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, SPRITE_FACING_UP
|
||||
jr .asm_50f7a
|
||||
.asm_50f78
|
||||
|
|
@ -270,13 +270,13 @@ Route22Script4: ; 51087 (14:5087)
|
|||
ld a, [wcf0d]
|
||||
cp $1
|
||||
jr nz, .asm_510a1
|
||||
ld a, $4
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_DOWN
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, SPRITE_FACING_UP
|
||||
jr .asm_510a8
|
||||
.asm_510a1
|
||||
ld a, $2
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_LEFT
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, SPRITE_FACING_RIGHT
|
||||
.asm_510a8
|
||||
ld [hSpriteFacingDirection], a
|
||||
|
|
@ -314,13 +314,13 @@ Route22Script5: ; 510df (14:50df)
|
|||
ld a, [wcf0d]
|
||||
cp $1
|
||||
jr nz, .asm_510fb
|
||||
ld a, $4
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_DOWN
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, SPRITE_FACING_UP
|
||||
jr .asm_51102
|
||||
.asm_510fb
|
||||
ld a, $2
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_LEFT
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, SPRITE_FACING_RIGHT
|
||||
.asm_51102
|
||||
ld [hSpriteFacingDirection], a
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ Route23Script0: ; 51219 (14:5219)
|
|||
ld [hSpriteIndexOrTextID], a
|
||||
ld a, c
|
||||
ld [wWhichBadge], a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
ld hl, wd7ed
|
||||
predef FlagActionPredef
|
||||
ld a, c
|
||||
|
|
@ -193,7 +193,7 @@ Route23Script_51346: ; 51346 (14:5346)
|
|||
ld a, [wWhichBadge]
|
||||
inc a
|
||||
ld c, a
|
||||
ld b, $2
|
||||
ld b, FLAG_TEST
|
||||
ld hl, W_OBTAINEDBADGES
|
||||
predef FlagActionPredef
|
||||
ld a, c
|
||||
|
|
@ -210,7 +210,7 @@ Route23Script_51346: ; 51346 (14:5346)
|
|||
call PrintText
|
||||
ld a, [wWhichBadge]
|
||||
ld c, a
|
||||
ld b, $1
|
||||
ld b, FLAG_SET
|
||||
ld hl, wd7ed
|
||||
predef FlagActionPredef
|
||||
ld a, $2
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ Route5GateScript0: ; 1df50 (7:5f50)
|
|||
ld hl, CoordsData_1df8f
|
||||
call ArePlayerCoordsInArray
|
||||
ret nc
|
||||
ld a, $2
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_LEFT
|
||||
ld [wPlayerMovingDirection], a
|
||||
xor a
|
||||
ld [hJoyHeld], a
|
||||
callba RemoveGuardDrink
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ Route6GateScript0: ; 1e04e (7:604e)
|
|||
ld hl, CoordsData_1e08c
|
||||
call ArePlayerCoordsInArray
|
||||
ret nc
|
||||
ld a, $1
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_RIGHT
|
||||
ld [wPlayerMovingDirection], a
|
||||
xor a
|
||||
ld [hJoyHeld], a
|
||||
callba RemoveGuardDrink
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@ Route7GateScript0: ; 1e128 (7:6128)
|
|||
ld hl, CoordsData_1e167
|
||||
call ArePlayerCoordsInArray
|
||||
ret nc
|
||||
ld a, $8
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_UP
|
||||
ld [wPlayerMovingDirection], a
|
||||
xor a
|
||||
ld [hJoyHeld], a
|
||||
callba RemoveGuardDrink
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ Route8GateScript0: ; 1e1ee (7:61ee)
|
|||
ld hl, CoordsData_1e22c
|
||||
call ArePlayerCoordsInArray
|
||||
ret nc
|
||||
ld a, $2
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_LEFT
|
||||
ld [wPlayerMovingDirection], a
|
||||
xor a
|
||||
ld [hJoyHeld], a
|
||||
callba RemoveGuardDrink
|
||||
|
|
|
|||
|
|
@ -72,8 +72,8 @@ SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9)
|
|||
ret
|
||||
|
||||
.SafariZoneEntranceScript5
|
||||
ld a, $4
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_DOWN
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld hl, wd790
|
||||
bit 6, [hl]
|
||||
res 6, [hl]
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ MovementData_62216: ; 62216 (18:6216)
|
|||
db $FF
|
||||
|
||||
SilphCo11Script_6221a: ; 6221a (18:621a)
|
||||
ld [wd528], a
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $3
|
||||
ld [H_SPRITEINDEX], a
|
||||
ld a, b
|
||||
|
|
@ -213,11 +213,11 @@ SilphCo11Script5: ; 62227 (18:6227)
|
|||
ld a, [wcf0d]
|
||||
cp $1
|
||||
jr z, .asm_6223c
|
||||
ld a, $2
|
||||
ld a, PLAYER_DIR_LEFT
|
||||
ld b, SPRITE_FACING_RIGHT
|
||||
jr .asm_62240
|
||||
.asm_6223c
|
||||
ld a, $8
|
||||
ld a, PLAYER_DIR_UP
|
||||
ld b, SPRITE_FACING_DOWN
|
||||
.asm_62240
|
||||
call SilphCo11Script_6221a
|
||||
|
|
@ -247,11 +247,11 @@ SilphCo11Script3: ; 6226a (18:626a)
|
|||
ld a, [wcf0d]
|
||||
cp $1
|
||||
jr z, .asm_62284
|
||||
ld a, $2
|
||||
ld a, PLAYER_DIR_LEFT
|
||||
ld b, SPRITE_FACING_RIGHT
|
||||
jr .asm_62288
|
||||
.asm_62284
|
||||
ld a, $8
|
||||
ld a, PLAYER_DIR_UP
|
||||
ld b, SPRITE_FACING_DOWN
|
||||
.asm_62288
|
||||
call SilphCo11Script_6221a
|
||||
|
|
|
|||
|
|
@ -127,8 +127,8 @@ SilphCo7Script0: ; 51c23 (14:5c23)
|
|||
ld [hJoyHeld], a
|
||||
ld a, $f0
|
||||
ld [wJoyIgnore], a
|
||||
ld a, $4
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_DOWN
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $ff
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
|
|
@ -209,8 +209,8 @@ SilphCo7Script4: ; 51cc8 (14:5cc8)
|
|||
ld [wJoyIgnore], a
|
||||
ld hl, wd82f
|
||||
set 0, [hl]
|
||||
ld a, $4
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_DOWN
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, $9
|
||||
ld [H_SPRITEINDEX], a
|
||||
ld a, SPRITE_FACING_UP
|
||||
|
|
|
|||
|
|
@ -74,8 +74,8 @@ SSAnne2Script_61416: ; 61416 (18:5416)
|
|||
ld a, [W_XCOORD]
|
||||
cp $25
|
||||
jr nz, .asm_61426
|
||||
ld a, $2
|
||||
ld [wd528], a
|
||||
ld a, PLAYER_DIR_LEFT
|
||||
ld [wPlayerMovingDirection], a
|
||||
ld a, SPRITE_FACING_RIGHT
|
||||
jr .asm_61427
|
||||
.asm_61426
|
||||
|
|
|
|||
|
|
@ -128,9 +128,7 @@ ViridianGymScript4: ; 7496b (1d:496b)
|
|||
ld [W_CURMAPSCRIPT], a
|
||||
ret
|
||||
.asm_74980
|
||||
ld b, BANK(LoadSpinnerArrowTiles)
|
||||
ld hl, LoadSpinnerArrowTiles
|
||||
jp Bankswitch
|
||||
jpba LoadSpinnerArrowTiles
|
||||
|
||||
ViridianGymScript3: ; 74988 (1d:4988)
|
||||
ld a, [W_ISINBATTLE]
|
||||
|
|
|
|||
62
wram.asm
62
wram.asm
|
|
@ -733,6 +733,8 @@ wWhichTrade:: ; cd3d
|
|||
; which entry from TradeMons to select
|
||||
|
||||
wTrainerSpriteOffset:: ; cd3d
|
||||
|
||||
wUnusedCD3D:: ; cd3d
|
||||
ds 1
|
||||
|
||||
wSSAnneSmokeX:: ; cd3e
|
||||
|
|
@ -1699,7 +1701,11 @@ W_MONHLEARNSET:: ; d0cc
|
|||
flag_array 50 + 5
|
||||
ds 1
|
||||
|
||||
wd0d4:: ds 3 ; temp storage for hTilesetType
|
||||
wSavedTilesetType:: ; d0d4
|
||||
; saved at the start of a battle and then written back at the end of the battle
|
||||
ds 1
|
||||
|
||||
ds 2
|
||||
|
||||
W_MONHPADDING:: ; d0d7
|
||||
|
||||
|
|
@ -2064,9 +2070,14 @@ W_SPRITESETID:: ; d3a8
|
|||
; sprite set ID for the current map
|
||||
ds 1
|
||||
|
||||
wd3a9:: ds 1 ; used when getting the object data pointer
|
||||
wd3aa:: ds 3 ; second part of the pointer
|
||||
wd3ad:: ds 1 ; used as the beginning value for copying warp data
|
||||
wObjectDataPointerTemp:: ; d3a9
|
||||
ds 2
|
||||
|
||||
ds 2
|
||||
|
||||
wMapBackgroundTile:: ; d3ad
|
||||
; the tile shown outside the boundaries of the map
|
||||
ds 1
|
||||
|
||||
wNumberOfWarps:: ; d3ae
|
||||
; number of warps in current map
|
||||
|
|
@ -2082,9 +2093,17 @@ wDestinationWarpID:: ; d42f
|
|||
|
||||
ds 128
|
||||
|
||||
wd4b0:: ds 1 ; number of signs on the map
|
||||
wd4b1:: ds 32 ; starting address for sign coords
|
||||
wd4d1:: ds 16 ; starting address for sign text IDs
|
||||
wNumSigns:: ; d4b0
|
||||
; number of signs in the current map (up to 16)
|
||||
ds 1
|
||||
|
||||
wSignCoords:: ; d4b1
|
||||
; 2 bytes each
|
||||
; Y, X
|
||||
ds 32
|
||||
|
||||
wSignTextIDs:: ; d4d1
|
||||
ds 16
|
||||
|
||||
W_NUMSPRITES:: ; d4e1
|
||||
; number of sprites on the current map
|
||||
|
|
@ -2105,16 +2124,35 @@ W_MAPSPRITEEXTRADATA:: ; d504
|
|||
; two bytes per sprite (trainer class/item ID, trainer set ID)
|
||||
ds 32
|
||||
|
||||
wd524:: ds 1 ; map height in 2x2 metatiles, also used with checking connections
|
||||
wd525:: ds 1 ; map width in 2x2 metatiles, also used with checking connections
|
||||
wCurrentMapHeight2:: ; d524
|
||||
; map height in 2x2 meta-tiles
|
||||
ds 1
|
||||
|
||||
wCurrentMapWidth2:: ; d525
|
||||
; map width in 2x2 meta-tiles
|
||||
ds 1
|
||||
|
||||
wMapViewVRAMPointer:: ; d526
|
||||
; the address of the upper left corner of the visible portion of the BG tile map in VRAM
|
||||
ds 2
|
||||
|
||||
wd528:: ds 1 ; additional storage for directions
|
||||
wd529:: ds 1 ; same case as above, but used differently
|
||||
wd52a:: ds 1 ; same case as above
|
||||
; In the comments for the player direction variables below, "moving" refers to
|
||||
; both walking and changing facing direction without taking a step.
|
||||
|
||||
wPlayerMovingDirection:: ; d528
|
||||
; if the player is moving, the current direction
|
||||
; if the player is not moving, zero
|
||||
; map scripts write to this in order to change the player's facing direction
|
||||
ds 1
|
||||
|
||||
wPlayerLastStopDirection:: ; d529
|
||||
; the direction in which the player was moving before the player last stopped
|
||||
ds 1
|
||||
|
||||
wPlayerDirection:: ; d52a
|
||||
; if the player is moving, the current direction
|
||||
; if the player is not moving, the last the direction in which the player moved
|
||||
ds 1
|
||||
|
||||
W_TILESETBANK:: ; d52b
|
||||
ds 1
|
||||
|
|
|
|||
Loading…
Reference in a new issue