mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-06 15:45:24 +13:00
Commented more sprite and map code
This commit is contained in:
parent
91793015e5
commit
0c916aea33
108 changed files with 1091 additions and 946 deletions
|
|
@ -15,7 +15,7 @@ Func_525af: ; 525af (14:65af)
|
|||
ld [wPartyGainExpFlags], a
|
||||
ld [wPlayerMonNumber], a ; wPlayerMonNumber
|
||||
ld [wEscapedFromBattle], a
|
||||
ld [wd35d], a
|
||||
ld [wMapPalOffset], a
|
||||
ld hl, wcf1d
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ BattleTransition: ; 7096d (1c:496d)
|
|||
xor a
|
||||
ld [hVBlankWY], a
|
||||
dec a
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
call DelayFrame
|
||||
ld hl, wSpriteStateData1 + 2
|
||||
ld a, [H_DOWNARROWBLINKCNT2]
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ EndOfBattle: ; 137aa (4:77aa)
|
|||
call WaitForSoundToFinish
|
||||
call GBPalWhiteOut
|
||||
ld a, $ff
|
||||
ld [wd42f], a
|
||||
ld [wDestinationWarpID], a
|
||||
ret
|
||||
|
||||
YouWinText: ; 13853 (4:7853)
|
||||
|
|
@ -94,7 +94,7 @@ Func_13870: ; 13870 (4:7870)
|
|||
ld a, [wd736]
|
||||
and a
|
||||
ret nz
|
||||
callab Func_c49d
|
||||
callab IsPlayerStandingOnDoorTileOrWarpTile
|
||||
jr nc, .asm_13888
|
||||
.asm_13884
|
||||
ld a, $1
|
||||
|
|
|
|||
|
|
@ -517,7 +517,7 @@ Func_78e01: ; 78e01 (1e:4e01)
|
|||
ret
|
||||
|
||||
Func_78e23: ; 78e23 (1e:4e23)
|
||||
ld a, [wcf1b]
|
||||
ld a, [wOnSGB]
|
||||
and a
|
||||
ld a, $e4
|
||||
jr z, .asm_78e47
|
||||
|
|
@ -1091,7 +1091,7 @@ CallWithTurnFlipped: ; 79155 (1e:5155)
|
|||
AnimationFlashScreenLong: ; 79165 (1e:5165)
|
||||
ld a,3 ; cycle through the palettes 3 times
|
||||
ld [wd08a],a
|
||||
ld a,[wcf1b] ; running on SGB?
|
||||
ld a,[wOnSGB] ; running on SGB?
|
||||
and a
|
||||
ld hl,FlashScreenLongMonochrome
|
||||
jr z,.loop
|
||||
|
|
@ -1211,7 +1211,7 @@ Func_791f9: ; 791f9 (1e:51f9)
|
|||
ld bc, $4040
|
||||
|
||||
Func_791fc: ; 791fc (1e:51fc)
|
||||
ld a, [wcf1b]
|
||||
ld a, [wOnSGB]
|
||||
and a
|
||||
ld a, b
|
||||
jr z, .asm_79204
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; 3c04c (f:404c)
|
|||
ld [$ffd7], a
|
||||
ld [hVBlankSCY], a
|
||||
dec a
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
call Delay3
|
||||
xor a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
|
|
@ -6247,7 +6247,7 @@ DoBattleTransitionAndInitBattleVariables: ; 3ec32 (f:6c32)
|
|||
ld [wMenuJoypadPollCount], a
|
||||
callab DisplayLinkBattleVersusTextBox
|
||||
ld a, $1
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
call ClearScreen
|
||||
.next
|
||||
call DelayFrame
|
||||
|
|
@ -6256,7 +6256,7 @@ DoBattleTransitionAndInitBattleVariables: ; 3ec32 (f:6c32)
|
|||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld a, $ff
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
call ClearSprites
|
||||
call ClearScreen
|
||||
xor a
|
||||
|
|
@ -6729,16 +6729,16 @@ asm_3ef23: ; 3ef23 (f:6f23)
|
|||
bit 1, a
|
||||
jr z, .asm_3ef2f
|
||||
ld a, [hJoyHeld]
|
||||
bit 1, a
|
||||
bit 1, a ; B button pressed?
|
||||
ret nz
|
||||
.asm_3ef2f
|
||||
ld a, [wd13c]
|
||||
ld a, [wNumberOfNoRandomBattleStepsLeft]
|
||||
and a
|
||||
ret nz
|
||||
callab Func_13870
|
||||
ret nz
|
||||
asm_3ef3d: ; 3ef3d (f:6f3d)
|
||||
ld a, [wd35d]
|
||||
ld a, [wMapPalOffset]
|
||||
push af
|
||||
ld hl, wd358
|
||||
ld a, [hl]
|
||||
|
|
@ -6849,7 +6849,7 @@ InitBattle_Common: ; 3efeb (f:6feb)
|
|||
pop af
|
||||
ld [wd358], a
|
||||
pop af
|
||||
ld [wd35d], a
|
||||
ld [wMapPalOffset], a
|
||||
ld a, [wd0d4]
|
||||
ld [$ffd7], a
|
||||
scf
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ DisplayLinkBattleVersusTextBox: ; 372d6 (d:72d6)
|
|||
ld [hli], a
|
||||
ld [hl], $6a
|
||||
xor a
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
callab SetupPlayerAndEnemyPokeballs
|
||||
ld c, 150
|
||||
jp DelayFrames
|
||||
|
|
|
|||
|
|
@ -570,13 +570,13 @@ Func_577d: ; 577d (1:577d)
|
|||
xor a
|
||||
ld [wd72d], a
|
||||
dec a
|
||||
ld [wd42f], a
|
||||
ld [wDestinationWarpID], a
|
||||
call LoadMapData
|
||||
callba Func_c335
|
||||
pop hl
|
||||
pop af
|
||||
ld [hl], a
|
||||
call GBFadeIn2
|
||||
call GBFadeInFromWhite
|
||||
ret
|
||||
|
||||
Func_57a2:
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ Evolution_PartyMonLoop: ; loop over party mons
|
|||
ld a, $1
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
ld a, $ff
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
call ClearSprites
|
||||
callab Func_7bde9
|
||||
jp c, CancelledEvolution
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ _GivePokemon: ; 4fda5 (13:7da5)
|
|||
call SetPokedexOwnedFlag
|
||||
call AddPartyMon
|
||||
ld a, $1
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld [wccd3], a
|
||||
scf
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
|
|||
ld bc, HOF_TEAM
|
||||
call FillMemory
|
||||
xor a
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld [$ffd7], a
|
||||
ld [W_SPRITEFLIPPED], a
|
||||
ld [wd358], a
|
||||
|
|
@ -66,7 +66,7 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
|
|||
call PlaceString
|
||||
ld c, 180
|
||||
call DelayFrames
|
||||
call GBFadeOut2
|
||||
call GBFadeOutToWhite
|
||||
pop bc
|
||||
pop hl
|
||||
jr .asm_701fb
|
||||
|
|
@ -125,7 +125,7 @@ Func_70278: ; 70278 (1c:4278)
|
|||
call Func_7036d
|
||||
ld d, $a0
|
||||
ld e, $4
|
||||
ld a, [wcf1b]
|
||||
ld a, [wOnSGB]
|
||||
and a
|
||||
jr z, .asm_702c7
|
||||
sla e
|
||||
|
|
@ -282,4 +282,4 @@ Func_70423: ; 70423 (1c:4423)
|
|||
ld [wcfc9], a
|
||||
ld a, $ff
|
||||
ld [wMusicHeaderPointer], a
|
||||
jp GBFadeOut2
|
||||
jp GBFadeOutToWhite
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
PrintNotebookText: ; 52996 (14:6996)
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $1
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld a, [wTrainerSpriteOffset]
|
||||
jp PrintPredefTextID
|
||||
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9)
|
|||
PrintBlackboardLinkCableText: ; 5dc1a (17:5c1a)
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $1
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld a, [wWhichTrade]
|
||||
call PrintPredefTextID
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ OpenPokemonCenterPC: ; 62516 (18:6516)
|
|||
ret nz
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $1
|
||||
ld [wcf0c], a
|
||||
ld [wAutoTextBoxDrawingControl], a
|
||||
ld a, $1f ; PredefText1f
|
||||
jp PrintPredefTextID
|
||||
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ TownMapText: ; fc12 (3:7c12)
|
|||
db $06
|
||||
db $08 ; asm
|
||||
ld a, $1
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ asm_1e9b0: ; 1e9b0 (7:69b0)
|
|||
ld a, $9c
|
||||
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
|
||||
ld a, $3
|
||||
ld [wd42f], a
|
||||
ld [wDestinationWarpID], a
|
||||
ld a, $5
|
||||
ld [W_SAFARIZONEENTRANCECURSCRIPT], a
|
||||
ld hl, wd790
|
||||
|
|
@ -152,7 +152,7 @@ CinnabarGymQuiz: ; 1ea25 (7:6a25)
|
|||
ld l, a
|
||||
call PrintText
|
||||
ld a, $1
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
call CinnabarGymQuiz_1ea92
|
||||
jp TextScriptEnd
|
||||
|
||||
|
|
@ -334,7 +334,7 @@ BillsHousePC: ; 1eb6e (7:6b6e)
|
|||
jp PrintPredefTextID
|
||||
.asm_1eb8b
|
||||
ld a, $1
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld a, $2e
|
||||
call PrintPredefTextID
|
||||
ld c, $20
|
||||
|
|
@ -363,7 +363,7 @@ BillsHousePC: ; 1eb6e (7:6b6e)
|
|||
ret
|
||||
.asm_1ebd2
|
||||
ld a, $1
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld a, $2f
|
||||
call PrintPredefTextID
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ Func_71c07: ; 71c07 (1c:5c07)
|
|||
xor a
|
||||
ld [wd07d],a
|
||||
dec a
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
call DisplayPartyMenu
|
||||
push af
|
||||
call Func_71ca2
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ PlayIntro: ; 41682 (10:5682)
|
|||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
call PlayShootingStar
|
||||
call PlayIntroScene
|
||||
call GBFadeOut2
|
||||
call GBFadeOutToWhite
|
||||
xor a
|
||||
ld [$ffae], a
|
||||
ld [H_AUTOBGTRANSFERENABLED], a
|
||||
|
|
|
|||
|
|
@ -507,8 +507,8 @@ ItemUseBicycle: ; d977 (3:5977)
|
|||
ld a,[W_ISINBATTLE]
|
||||
and a
|
||||
jp nz,ItemUseNotTime
|
||||
ld a,[wd700]
|
||||
ld [wd11a],a
|
||||
ld a,[wWalkBikeSurfState]
|
||||
ld [wWalkBikeSurfStateCopy],a
|
||||
cp a,2 ; is the player surfing?
|
||||
jp z,ItemUseNotTime
|
||||
dec a ; is player already bicycling?
|
||||
|
|
@ -516,7 +516,7 @@ ItemUseBicycle: ; d977 (3:5977)
|
|||
.getOffBike
|
||||
call ItemUseReloadOverworldData
|
||||
xor a
|
||||
ld [wd700],a ; change player state to walking
|
||||
ld [wWalkBikeSurfState],a ; change player state to walking
|
||||
call PlayDefaultMusic ; play walking music
|
||||
ld hl,GotOffBicycleText
|
||||
jr .printText
|
||||
|
|
@ -527,7 +527,7 @@ ItemUseBicycle: ; d977 (3:5977)
|
|||
xor a ; no keys pressed
|
||||
ld [hJoyHeld],a ; current joypad state
|
||||
inc a
|
||||
ld [wd700],a ; change player state to bicycling
|
||||
ld [wWalkBikeSurfState],a ; change player state to bicycling
|
||||
ld hl,GotOnBicycleText
|
||||
call PlayDefaultMusic ; play bike riding music
|
||||
.printText
|
||||
|
|
@ -535,8 +535,8 @@ ItemUseBicycle: ; d977 (3:5977)
|
|||
|
||||
; used for Surf out-of-battle effect
|
||||
ItemUseSurfboard: ; d9b4 (3:59b4)
|
||||
ld a,[wd700]
|
||||
ld [wd11a],a
|
||||
ld a,[wWalkBikeSurfState]
|
||||
ld [wWalkBikeSurfStateCopy],a
|
||||
cp a,2 ; is the player already surfing?
|
||||
jr z,.tryToStopSurfing
|
||||
.tryToSurf
|
||||
|
|
@ -550,7 +550,7 @@ ItemUseSurfboard: ; d9b4 (3:59b4)
|
|||
ld hl,wd730
|
||||
set 7,[hl]
|
||||
ld a,2
|
||||
ld [wd700],a ; change player state to surfing
|
||||
ld [wWalkBikeSurfState],a ; change player state to surfing
|
||||
call PlayDefaultMusic ; play surfing music
|
||||
ld hl,SurfingGotOnText
|
||||
jp PrintText
|
||||
|
|
@ -570,7 +570,7 @@ ItemUseSurfboard: ; d9b4 (3:59b4)
|
|||
ld a,[hli]
|
||||
ld h,[hl]
|
||||
ld l,a ; hl now points to passable tiles
|
||||
ld a,[wcfc6] ; tile in front of the player
|
||||
ld a,[wTileInFrontOfPlayer] ; tile in front of the player
|
||||
ld b,a
|
||||
.passableTileLoop
|
||||
ld a,[hli]
|
||||
|
|
@ -586,7 +586,7 @@ ItemUseSurfboard: ; d9b4 (3:59b4)
|
|||
ld hl,wd730
|
||||
set 7,[hl]
|
||||
xor a
|
||||
ld [wd700],a ; change player state to walking
|
||||
ld [wWalkBikeSurfState],a ; change player state to walking
|
||||
dec a
|
||||
ld [wJoyIgnore],a
|
||||
call PlayDefaultMusic ; play walking music
|
||||
|
|
@ -636,7 +636,7 @@ ItemUseEvoStone: ; da5b (3:5a5b)
|
|||
ld a,$05 ; evolution stone party menu
|
||||
ld [wd07d],a
|
||||
ld a,$ff
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
call DisplayPartyMenu
|
||||
pop bc
|
||||
jr c,.canceledItemUse
|
||||
|
|
@ -681,7 +681,7 @@ ItemUseMedicine: ; dabb (3:5abb)
|
|||
ld a,$01
|
||||
ld [wd07d],a ; item use party menu
|
||||
ld a,$ff
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
ld a,[wd152]
|
||||
and a ; using Softboiled?
|
||||
jr z,.notUsingSoftboiled
|
||||
|
|
@ -1096,7 +1096,7 @@ ItemUseMedicine: ; dabb (3:5abb)
|
|||
ld [H_AUTOBGTRANSFERENABLED],a
|
||||
call ClearScreen
|
||||
dec a
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
call RedrawPartyMenu ; redraws the party menu and displays the message
|
||||
ld a,1
|
||||
ld [H_AUTOBGTRANSFERENABLED],a
|
||||
|
|
@ -1278,7 +1278,7 @@ ItemUseMedicine: ; dabb (3:5abb)
|
|||
ld [wccd4],a
|
||||
callab TryEvolvingMon ; evolve pokemon, if appropriate
|
||||
ld a,$01
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
pop af
|
||||
ld [wcf91],a
|
||||
pop af
|
||||
|
|
@ -1424,8 +1424,8 @@ ItemUseXAccuracy: ; e013 (3:6013)
|
|||
ItemUseCardKey: ; e022 (3:6022)
|
||||
xor a
|
||||
ld [wd71f],a
|
||||
call Func_c586
|
||||
ld a,[Func_c586] ; $4586
|
||||
call GetTileAndCoordsInFrontOfPlayer
|
||||
ld a,[GetTileAndCoordsInFrontOfPlayer] ; $4586
|
||||
cp a,$18
|
||||
jr nz,.next0
|
||||
ld hl,CardKeyTable1
|
||||
|
|
@ -1796,7 +1796,7 @@ RodResponse: ; e28d (3:628d)
|
|||
ld [W_CUROPPONENT], a
|
||||
|
||||
.next
|
||||
ld hl, wd700
|
||||
ld hl, wWalkBikeSurfState
|
||||
ld a, [hl] ; store the value in a
|
||||
push af
|
||||
push hl
|
||||
|
|
@ -1818,7 +1818,7 @@ FishingInit: ; e2b4 (3:62b4)
|
|||
.notInBattle
|
||||
call IsNextTileShoreOrWater
|
||||
ret c
|
||||
ld a,[wd700]
|
||||
ld a,[wWalkBikeSurfState]
|
||||
cp a,2 ; Surfing?
|
||||
jr z,.surfing
|
||||
call ItemUseReloadOverworldData
|
||||
|
|
@ -1877,7 +1877,7 @@ ItemUsePPRestore: ; e31e (3:631e)
|
|||
ld [wWhichTrade],a
|
||||
.chooseMon
|
||||
xor a
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
ld a,$01 ; item use party menu
|
||||
ld [wd07d],a
|
||||
call DisplayPartyMenu
|
||||
|
|
@ -2117,7 +2117,7 @@ ItemUseTMHM: ; e479 (3:6479)
|
|||
ld bc,14
|
||||
call CopyData
|
||||
ld a,$ff
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
ld a,$03 ; teach TM/HM party menu
|
||||
ld [wd07d],a
|
||||
call DisplayPartyMenu
|
||||
|
|
@ -2744,7 +2744,7 @@ IsNextTileShoreOrWater: ; e8b8 (3:68b8)
|
|||
jr nc, .notShoreOrWater
|
||||
ld a, [W_CURMAPTILESET]
|
||||
cp SHIP_PORT ; Vermilion Dock tileset
|
||||
ld a, [wcfc6] ; tile in front of player
|
||||
ld a, [wTileInFrontOfPlayer] ; tile in front of player
|
||||
jr z, .skipShoreTiles ; if it's the Vermilion Dock tileset
|
||||
cp $48 ; eastern shore tile in Safari Zone
|
||||
jr z, .shoreOrWater
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ DisplayDiploma: ; 566e2 (15:66e2)
|
|||
call GBPalWhiteOutWithDelay3
|
||||
call ClearScreen
|
||||
xor a
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
call DisableLCD
|
||||
|
|
|
|||
|
|
@ -4,14 +4,14 @@ PKMNLeaguePC: ; 0x7657e
|
|||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
push hl
|
||||
ld a, [wcfcb]
|
||||
ld a, [wUpdateSpritesEnabled]
|
||||
push af
|
||||
ld a, [$ffD7]
|
||||
push af
|
||||
xor a
|
||||
ld [$ffD7], a
|
||||
ld [W_SPRITEFLIPPED], a
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld [wTrainerScreenX], a
|
||||
ld [wcd42], a
|
||||
ld a, [wd5a2]
|
||||
|
|
@ -40,7 +40,7 @@ PKMNLeaguePC: ; 0x7657e
|
|||
pop af
|
||||
ld [$ffD7], a
|
||||
pop af
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
pop hl
|
||||
res 6, [hl]
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
|
|
|||
|
|
@ -111,16 +111,16 @@ MainMenu: ; 5af2 (1:5af2)
|
|||
call DelayFrames
|
||||
ld a,[wd5a2]
|
||||
and a
|
||||
jp z,Func_5d5f
|
||||
jp z,SpecialEnterMap
|
||||
ld a,[W_CURMAP] ; map ID
|
||||
cp a,HALL_OF_FAME
|
||||
jp nz,Func_5d5f
|
||||
jp nz,SpecialEnterMap
|
||||
xor a
|
||||
ld [wd71a],a
|
||||
ld [wDestinationMap],a
|
||||
ld hl,wd732
|
||||
set 2,[hl]
|
||||
call Func_62ce
|
||||
jp Func_5d5f
|
||||
set 2,[hl] ; fly warp or dungeon warp
|
||||
call SpecialWarpIn
|
||||
jp SpecialEnterMap
|
||||
Func_5bff: ; 5bff (1:5bff)
|
||||
ld a,1
|
||||
ld [wd358],a
|
||||
|
|
@ -247,7 +247,7 @@ LinkMenu: ; 5c0a (1:5c0a)
|
|||
cp $2
|
||||
jr z, .asm_5d2d
|
||||
xor a
|
||||
ld [wd700], a
|
||||
ld [wWalkBikeSurfState], a
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
ld a, TRADE_CENTER
|
||||
|
|
@ -262,8 +262,8 @@ LinkMenu: ; 5c0a (1:5c0a)
|
|||
ld hl, wd732
|
||||
res 1, [hl]
|
||||
ld a, [W_ANIMATIONID] ; W_ANIMATIONID
|
||||
ld [wd71a], a
|
||||
call Func_62ce
|
||||
ld [wDestinationMap], a
|
||||
call SpecialWarpIn
|
||||
ld c, $14
|
||||
call DelayFrames
|
||||
xor a
|
||||
|
|
@ -272,7 +272,7 @@ LinkMenu: ; 5c0a (1:5c0a)
|
|||
inc a
|
||||
ld [W_ISLINKBATTLE], a ; W_ISLINKBATTLE
|
||||
ld [wcc47], a
|
||||
jr Func_5d5f
|
||||
jr SpecialEnterMap
|
||||
.asm_5d2d
|
||||
xor a
|
||||
ld [wMenuJoypadPollCount], a ; wMenuJoypadPollCount
|
||||
|
|
@ -303,16 +303,17 @@ Func_5d52: ; 5d52 (1:5d52)
|
|||
ld c, $14
|
||||
call DelayFrames
|
||||
|
||||
Func_5d5f: ; 5d5f (1:5d5f)
|
||||
; enter map after using a special warp or loading the game from the main menu
|
||||
SpecialEnterMap: ; 5d5f (1:5d5f)
|
||||
xor a
|
||||
ld [hJoyPressed], a
|
||||
ld [hJoyHeld], a
|
||||
ld [$ffb5], a
|
||||
ld [wd72d], a
|
||||
ld hl, wd732
|
||||
set 0, [hl]
|
||||
set 0, [hl] ; count play time
|
||||
call ResetPlayerSpriteData
|
||||
ld c, $14
|
||||
ld c, 20
|
||||
call DelayFrames
|
||||
ld a, [wcc47]
|
||||
and a
|
||||
|
|
|
|||
|
|
@ -22,10 +22,10 @@ AskName: ; 64eb (1:64eb)
|
|||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
and a
|
||||
jr nz, .asm_654c
|
||||
ld a, [wcfcb]
|
||||
ld a, [wUpdateSpritesEnabled]
|
||||
push af
|
||||
xor a
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
push hl
|
||||
ld a, $2
|
||||
ld [wd07d], a
|
||||
|
|
@ -38,7 +38,7 @@ AskName: ; 64eb (1:64eb)
|
|||
call LoadScreenTilesFromBuffer1
|
||||
pop hl
|
||||
pop af
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld a, [wcf4b]
|
||||
cp $50
|
||||
ret nz
|
||||
|
|
@ -56,7 +56,7 @@ DoYouWantToNicknameText: ; 0x6557
|
|||
Func_655c: ; 655c (1:655c)
|
||||
ld hl, wHPBarMaxHP
|
||||
xor a
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld a, $2
|
||||
ld [wd07d], a
|
||||
call DisplayNamingScreen
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ BillsPC: ; 17ee4 (5:7ee4)
|
|||
callba BillsPC_
|
||||
ReloadMainMenu: ; 17f06 (5:7f06)
|
||||
xor a
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
call ReloadMapData
|
||||
call UpdateSprites ;XXX: moves sprites
|
||||
jp PCMainMenu
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ Func_796d: ; 796d (1:796d)
|
|||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
xor a
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ret
|
||||
|
||||
Func_7995: ; 7995 (1:7995)
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ DisplayStartMenu:: ; 2acd (0:2acd)
|
|||
ld a,$04 ; hardcoded Bank, not sure what's it refers to
|
||||
ld [H_LOADEDROMBANK],a
|
||||
ld [$2000],a ; ROM bank 4
|
||||
ld a,[wd700] ; walking/biking/surfing
|
||||
ld [wd11a],a
|
||||
ld a,[wWalkBikeSurfState] ; walking/biking/surfing
|
||||
ld [wWalkBikeSurfStateCopy],a
|
||||
ld a, (SFX_02_3f - SFX_Headers_02) / 3 ; Start menu sound
|
||||
call PlaySound
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
xor a
|
||||
ld [wMenuItemToSwap],a
|
||||
ld [wd07d],a
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
call DisplayPartyMenu
|
||||
jr .checkIfPokemonChosen
|
||||
.loop
|
||||
|
|
@ -184,7 +184,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
bit 0,a ; does the player have the Boulder Badge?
|
||||
jp z,.newBadgeRequired
|
||||
xor a
|
||||
ld [wd35d],a
|
||||
ld [wMapPalOffset],a
|
||||
ld hl,.flashLightsAreaText
|
||||
call PrintText
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
|
@ -406,7 +406,7 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
jp z,ItemMenuLoop
|
||||
jp CloseStartMenu
|
||||
.useItem_partyMenu
|
||||
ld a,[wcfcb]
|
||||
ld a,[wUpdateSpritesEnabled]
|
||||
push af
|
||||
call UseItem
|
||||
ld a,[wcd6a]
|
||||
|
|
@ -415,11 +415,11 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
call GBPalWhiteOutWithDelay3
|
||||
call RestoreScreenTilesAndReloadTilePatterns
|
||||
pop af
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
jp StartMenu_Item
|
||||
.partyMenuNotDisplayed
|
||||
pop af
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
jp ItemMenuLoop
|
||||
.tossItem
|
||||
call IsKeyItem
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ GetAnimationSpeed: ; 7170a (1c:570a)
|
|||
ld c, a
|
||||
ld hl, PartyMonSpeeds
|
||||
add hl, bc
|
||||
ld a, [wcf1b]
|
||||
ld a, [wOnSGB]
|
||||
xor $1
|
||||
add [hl]
|
||||
ld c, a
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ OakSpeech: ; 6115 (1:6115)
|
|||
ld [wcf96],a
|
||||
call AddItemToInventory ; give one potion
|
||||
ld a,[W_ANIMATIONID]
|
||||
ld [wd71a],a
|
||||
call Func_62ce
|
||||
ld [wDestinationMap],a
|
||||
call SpecialWarpIn
|
||||
xor a
|
||||
ld [$FFD7],a
|
||||
ld a,[wd732]
|
||||
|
|
@ -62,7 +62,7 @@ OakSpeech: ; 6115 (1:6115)
|
|||
call FadeInIntroPic
|
||||
ld hl,OakSpeechText1
|
||||
call PrintText ; prints text box
|
||||
call GBFadeOut2
|
||||
call GBFadeOutToWhite
|
||||
call ClearScreen
|
||||
ld a,NIDORINO
|
||||
ld [wd0b5],a ; pic displayed is stored at this location
|
||||
|
|
@ -73,7 +73,7 @@ OakSpeech: ; 6115 (1:6115)
|
|||
call MovePicLeft
|
||||
ld hl,OakSpeechText2
|
||||
call PrintText ; Prints text box
|
||||
call GBFadeOut2
|
||||
call GBFadeOutToWhite
|
||||
call ClearScreen
|
||||
ld de,RedPicFront
|
||||
ld bc,(Bank(RedPicFront) << 8) | $00
|
||||
|
|
@ -82,7 +82,7 @@ OakSpeech: ; 6115 (1:6115)
|
|||
ld hl,IntroducePlayerText
|
||||
call PrintText
|
||||
call LoadDefaultNamesPlayer ; brings up NewName/Red/etc menu
|
||||
call GBFadeOut2
|
||||
call GBFadeOutToWhite
|
||||
call ClearScreen
|
||||
ld de,Rival1Pic
|
||||
ld bc,(Bank(Rival1Pic) << 8) | $00
|
||||
|
|
@ -93,12 +93,12 @@ OakSpeech: ; 6115 (1:6115)
|
|||
call LoadDefaultNamesRival
|
||||
|
||||
Func_61bc: ; 61bc (1:61bc)
|
||||
call GBFadeOut2
|
||||
call GBFadeOutToWhite
|
||||
call ClearScreen
|
||||
ld de,RedPicFront
|
||||
ld bc,(Bank(RedPicFront) << 8) | $00
|
||||
call IntroPredef3B
|
||||
call GBFadeIn2
|
||||
call GBFadeInFromWhite
|
||||
ld a,[wd72d]
|
||||
and a
|
||||
jr nz,.next
|
||||
|
|
@ -148,10 +148,10 @@ Func_61bc: ; 61bc (1:61bc)
|
|||
call ClearScreenArea
|
||||
call LoadTextBoxTilePatterns
|
||||
ld a,1
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
ld c,$32
|
||||
call DelayFrames
|
||||
call GBFadeOut2
|
||||
call GBFadeOutToWhite
|
||||
jp ClearScreen
|
||||
OakSpeechText1: ; 6253 (1:6253)
|
||||
TX_FAR _OakSpeechText1
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ PrintCardKeyText: ; 52673 (14:6673)
|
|||
ret z
|
||||
cp b
|
||||
jr nz, .asm_5267a
|
||||
predef Func_c586
|
||||
ld a, [wcfc6]
|
||||
predef GetTileAndCoordsInFrontOfPlayer
|
||||
ld a, [wTileInFrontOfPlayer]
|
||||
cp $18
|
||||
jr z, .asm_5269c
|
||||
cp $24
|
||||
|
|
|
|||
|
|
@ -6,13 +6,13 @@ UsedCut: ; ef54 (3:6f54)
|
|||
jr z, .asm_ef6b
|
||||
cp GYM
|
||||
jr nz, .asm_ef77
|
||||
ld a, [wcfc6]
|
||||
ld a, [wTileInFrontOfPlayer]
|
||||
cp $50 ; gym cut tree
|
||||
jr nz, .asm_ef77
|
||||
jr asm_ef82
|
||||
.asm_ef6b
|
||||
dec a
|
||||
ld a, [wcfc6]
|
||||
ld a, [wTileInFrontOfPlayer]
|
||||
cp $3d ; cut tree
|
||||
jr z, asm_ef82
|
||||
cp $52 ; grass
|
||||
|
|
@ -52,14 +52,14 @@ asm_ef82: ; ef82 (3:6f82)
|
|||
ld hl, wd730
|
||||
res 6, [hl]
|
||||
ld a, $ff
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
call AnimateCutTree
|
||||
ld de, CutTreeBlockSwaps ; $7100
|
||||
call Func_f09f
|
||||
call Func_eedc
|
||||
callba Func_79e96
|
||||
ld a, $1
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld a, (SFX_02_56 - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld a, $90
|
||||
|
|
@ -178,7 +178,7 @@ Func_f09f: ; f09f (3:709f)
|
|||
ld c, a
|
||||
ld b, $0
|
||||
ld d, $0
|
||||
ld hl, wd35f
|
||||
ld hl, wCurrentTileBlockMapViewPointer
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
; returns whether the player is standing on a door in carry
|
||||
IsPlayerStandingOnDoor: ; 1a609 (6:6609)
|
||||
; returns whether the player is standing on a door tile in carry
|
||||
IsPlayerStandingOnDoorTile: ; 1a609 (6:6609)
|
||||
push de
|
||||
ld hl, DoorTileIDPointers ; $662c
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
|
|
|
|||
|
|
@ -11,10 +11,10 @@ EmotionBubble: ; 17c47 (5:7c47)
|
|||
ld hl, vChars1 + $780
|
||||
ld bc, (BANK(EmotionBubblesPointerTable) << 8) + $04
|
||||
call CopyVideoData
|
||||
ld a, [wcfcb]
|
||||
ld a, [wUpdateSpritesEnabled]
|
||||
push af
|
||||
ld a, $ff
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld a, [wd736]
|
||||
bit 6, a
|
||||
ld hl, wOAMBuffer + $8f
|
||||
|
|
@ -51,7 +51,7 @@ EmotionBubble: ; 17c47 (5:7c47)
|
|||
ld c, $3c
|
||||
call DelayFrames
|
||||
pop af
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
call DelayFrame
|
||||
jp UpdateSprites
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ AnimateHealingMachine: ; 70433 (1c:4433)
|
|||
ld hl, vChars0 + $7c0
|
||||
ld bc, (BANK(PokeCenterFlashingMonitorAndHealBall) << 8) + $03
|
||||
call CopyVideoData
|
||||
ld hl, wcfcb
|
||||
ld hl, wUpdateSpritesEnabled
|
||||
ld a, [hl]
|
||||
push af
|
||||
ld [hl], $ff
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ HiddenItems: ; 76688 (1d:6688)
|
|||
ret nz
|
||||
call EnableAutoTextBoxDrawing
|
||||
ld a, $1
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld a, [wWhichTrade] ; item ID
|
||||
ld [wd11e], a
|
||||
call GetItemName
|
||||
|
|
@ -42,7 +42,7 @@ FoundHiddenItemText: ; 7675b (1d:675b)
|
|||
.BagFull
|
||||
call WaitForTextScrollButtonPress ; wait for button press
|
||||
xor a
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld hl, HiddenItemBagFullText
|
||||
call PrintText
|
||||
jp TextScriptEnd
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
Func_46981: ; 46981 (11:6981)
|
||||
xor a
|
||||
ld [wd71e], a
|
||||
ld [wWhichDungeonWarp], a
|
||||
ld a, [wd72d]
|
||||
bit 4, a
|
||||
ret nz
|
||||
call ArePlayerCoordsInArray
|
||||
ret nc
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld [wd71e], a
|
||||
ld [wWhichDungeonWarp], a
|
||||
ld hl, wd72d
|
||||
set 4, [hl]
|
||||
ld hl, wd732
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ PickupItem:
|
|||
ld [wcc4d], a
|
||||
predef HideObject
|
||||
ld a, 1
|
||||
ld [wcc3c], a
|
||||
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
|
||||
ld hl, FoundItemText
|
||||
jr .print
|
||||
|
||||
|
|
|
|||
|
|
@ -1,48 +1,48 @@
|
|||
HandleLedges: ; 1a672 (6:6672)
|
||||
ld a, [wd736]
|
||||
bit 6, a
|
||||
bit 6, a ; already jumping down ledge
|
||||
ret nz
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
and a ; OVERWORLD
|
||||
ret nz
|
||||
predef Func_c586
|
||||
predef GetTileAndCoordsInFrontOfPlayer
|
||||
ld a, [wSpriteStateData1 + 9]
|
||||
ld b, a
|
||||
aCoord 8, 9
|
||||
ld c, a
|
||||
ld a, [wcfc6]
|
||||
ld a, [wTileInFrontOfPlayer]
|
||||
ld d, a
|
||||
ld hl, LedgeTiles ; $66cf
|
||||
.asm_1a691
|
||||
ld hl, LedgeTiles
|
||||
.loop
|
||||
ld a, [hli]
|
||||
cp $ff
|
||||
ret z
|
||||
cp b
|
||||
jr nz, .asm_1a6a4
|
||||
jr nz, .nextLedgeTile1
|
||||
ld a, [hli]
|
||||
cp c
|
||||
jr nz, .asm_1a6a5
|
||||
jr nz, .nextLedgeTile2
|
||||
ld a, [hli]
|
||||
cp d
|
||||
jr nz, .asm_1a6a6
|
||||
jr nz, .nextLedgeTile3
|
||||
ld a, [hl]
|
||||
ld e, a
|
||||
jr .asm_1a6a9
|
||||
.asm_1a6a4
|
||||
jr .foundMatch
|
||||
.nextLedgeTile1
|
||||
inc hl
|
||||
.asm_1a6a5
|
||||
.nextLedgeTile2
|
||||
inc hl
|
||||
.asm_1a6a6
|
||||
.nextLedgeTile3
|
||||
inc hl
|
||||
jr .asm_1a691
|
||||
.asm_1a6a9
|
||||
jr .loop
|
||||
.foundMatch
|
||||
ld a, [hJoyHeld]
|
||||
and e
|
||||
ret z
|
||||
ld a, $ff
|
||||
ld [wJoyIgnore], a
|
||||
ld hl, wd736
|
||||
set 6, [hl]
|
||||
set 6, [hl] ; jumping down ledge
|
||||
call StartSimulatingJoypadStates
|
||||
ld a, e
|
||||
ld [wSimulatedJoypadStatesEnd], a
|
||||
|
|
@ -56,24 +56,24 @@ HandleLedges: ; 1a672 (6:6672)
|
|||
|
||||
; (player direction) (tile player standing on) (ledge tile) (input required)
|
||||
LedgeTiles: ; 1a6cf (6:66cf)
|
||||
db $00,$2C,$37,$80
|
||||
db $00,$39,$36,$80
|
||||
db $00,$39,$37,$80
|
||||
db $08,$2C,$27,$20
|
||||
db $08,$39,$27,$20
|
||||
db $0C,$2C,$0D,$10
|
||||
db $0C,$2C,$1D,$10
|
||||
db $0C,$39,$0D,$10
|
||||
db SPRITE_FACING_DOWN, $2C,$37,D_DOWN
|
||||
db SPRITE_FACING_DOWN, $39,$36,D_DOWN
|
||||
db SPRITE_FACING_DOWN, $39,$37,D_DOWN
|
||||
db SPRITE_FACING_LEFT, $2C,$27,D_LEFT
|
||||
db SPRITE_FACING_LEFT, $39,$27,D_LEFT
|
||||
db SPRITE_FACING_RIGHT,$2C,$0D,D_RIGHT
|
||||
db SPRITE_FACING_RIGHT,$2C,$1D,D_RIGHT
|
||||
db SPRITE_FACING_RIGHT,$39,$0D,D_RIGHT
|
||||
db $FF
|
||||
|
||||
LoadHoppingShadowOAM: ; 1a6f0 (6:66f0)
|
||||
ld hl, vChars1 + $7f0
|
||||
ld de, LedgeHoppingShadow ; $6708
|
||||
ld de, LedgeHoppingShadow
|
||||
ld bc, (BANK(LedgeHoppingShadow) << 8) + $01
|
||||
call CopyVideoDataDouble
|
||||
ld a, $9
|
||||
ld bc, $5448 ; b, c = y, x coordinates of shadow
|
||||
ld de, LedgeHoppingShadowOAM ; $6710
|
||||
ld de, LedgeHoppingShadowOAM
|
||||
call WriteOAMBlock
|
||||
ret
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
PlayerStepOutFromDoor: ; 1a3e0 (6:63e0)
|
||||
ld hl, wd730
|
||||
res 1, [hl]
|
||||
call IsPlayerStandingOnDoor
|
||||
call IsPlayerStandingOnDoorTile
|
||||
jr nc, .notStandingOnDoor
|
||||
ld a, $fc
|
||||
ld [wJoyIgnore], a
|
||||
|
|
@ -62,7 +62,7 @@ Func_1a44c: ; 1a44c (6:644c)
|
|||
ld a, $80
|
||||
call FillMemory
|
||||
ld [hl], $ff
|
||||
ld a, [wcf13]
|
||||
ld a, [wSpriteIndex]
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
ld de, wNPCMovementDirections2
|
||||
call MoveSprite
|
||||
|
|
@ -100,18 +100,18 @@ Func_1a4a1: ; 1a4a1 (6:64a1)
|
|||
Func_1a4a6: ; 1a4a6 (6:64a6)
|
||||
xor a
|
||||
ld [wOverrideSimulatedJoypadStatesMask], a
|
||||
ld a, [wcf13]
|
||||
ld a, [wSpriteIndex]
|
||||
swap a
|
||||
ld [wNPCMovementScriptSpriteOffset], a
|
||||
xor a
|
||||
ld [wSpriteStateData2 + $06], a
|
||||
ld hl, wSimulatedJoypadStatesEnd
|
||||
ld de, RLEList_1a4e9
|
||||
ld de, RLEList_PlayerWalkToLab
|
||||
call DecodeRLEList
|
||||
dec a
|
||||
ld [wSimulatedJoypadStatesIndex], a
|
||||
ld hl, wNPCMovementDirections2
|
||||
ld de, RLEList_1a4dc
|
||||
ld de, RLEList_ProfOakWalkToLab
|
||||
call DecodeRLEList
|
||||
ld hl, wd72e
|
||||
res 7, [hl]
|
||||
|
|
@ -121,7 +121,7 @@ Func_1a4a6: ; 1a4a6 (6:64a6)
|
|||
ld [wNPCMovementScriptFunctionNum], a
|
||||
ret
|
||||
|
||||
RLEList_1a4dc: ; 1a4dc (6:64dc)
|
||||
RLEList_ProfOakWalkToLab: ; 1a4dc (6:64dc)
|
||||
db $00, $05
|
||||
db $80, $01
|
||||
db $00, $05
|
||||
|
|
@ -130,7 +130,7 @@ RLEList_1a4dc: ; 1a4dc (6:64dc)
|
|||
db $E0, $01
|
||||
db $FF
|
||||
|
||||
RLEList_1a4e9: ; 1a4e9 (6:64e9)
|
||||
RLEList_PlayerWalkToLab: ; 1a4e9 (6:64e9)
|
||||
db D_UP, $02
|
||||
db D_RIGHT, $03
|
||||
db D_DOWN, $05
|
||||
|
|
@ -162,7 +162,7 @@ Func_1a514: ; 1a514 (6:6514)
|
|||
ld a, MUSIC_MUSEUM_GUY
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld a, [wcf13]
|
||||
ld a, [wSpriteIndex]
|
||||
swap a
|
||||
ld [wNPCMovementScriptSpriteOffset], a
|
||||
call StartSimulatingJoypadStates
|
||||
|
|
@ -218,7 +218,7 @@ Func_1a581: ; 1a581 (6:6581)
|
|||
ld a, MUSIC_MUSEUM_GUY
|
||||
ld [wc0ee], a
|
||||
call PlaySound
|
||||
ld a, [wcf13]
|
||||
ld a, [wSpriteIndex]
|
||||
swap a
|
||||
ld [wNPCMovementScriptSpriteOffset], a
|
||||
xor a
|
||||
|
|
@ -276,7 +276,7 @@ Func_1a5e7: ; 1a5e7 (6:65e7)
|
|||
ret z
|
||||
jr .loop
|
||||
.notRival
|
||||
ld a, [wcf13]
|
||||
ld a, [wSpriteIndex]
|
||||
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
||||
jp SetSpriteMovementBytesToFF
|
||||
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ PrepareOAMData:
|
|||
; Determine OAM data for currently visible
|
||||
; sprites and write it to wOAMBuffer.
|
||||
|
||||
ld a, [wcfcb]
|
||||
ld a, [wUpdateSpritesEnabled]
|
||||
dec a
|
||||
jr z, .asm_4b1e
|
||||
|
||||
cp 0 - 1
|
||||
ret nz
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
jp HideSprites
|
||||
|
||||
.asm_4b1e
|
||||
|
|
|
|||
|
|
@ -1,66 +1,67 @@
|
|||
Func_70510: ; 70510 (1c:4510)
|
||||
call Func_706ef
|
||||
EnterMapAnim: ; 70510 (1c:4510)
|
||||
call InitFacingDirectionBuffer
|
||||
ld a, $ec
|
||||
ld [wSpriteStateData1 + 4], a
|
||||
ld [wSpriteStateData1 + 4], a ; player's sprite Y screen position
|
||||
call Delay3
|
||||
push hl
|
||||
call GBFadeIn2
|
||||
call GBFadeInFromWhite
|
||||
ld hl, W_FLAGS_D733
|
||||
bit 7, [hl]
|
||||
bit 7, [hl] ; used fly out of battle?
|
||||
res 7, [hl]
|
||||
jr nz, .asm_70568
|
||||
jr nz, .flyAnimation
|
||||
ld a, (SFX_02_4c - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld hl, wd732
|
||||
bit 4, [hl]
|
||||
bit 4, [hl] ; used dungeon warp?
|
||||
res 4, [hl]
|
||||
pop hl
|
||||
jr nz, .asm_7055e
|
||||
call Func_705aa
|
||||
jr nz, .dungeonWarpAnimation
|
||||
call PlayerSpinWhileMovingDown
|
||||
ld a, (SFX_02_4f - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
call Func_70787
|
||||
call IsPlayerStandingOnWarpPadOrHole
|
||||
ld a, b
|
||||
and a
|
||||
jr nz, .asm_7055b
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
jr nz, .done
|
||||
; if the player is not standing on a warp pad or hole
|
||||
ld hl, wPlayerSpinInPlaceAnimFrameDelay
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hli], a ; wPlayerSpinInPlaceAnimFrameDelay
|
||||
inc a
|
||||
ld [hli], a
|
||||
ld [hli], a ; wPlayerSpinInPlaceAnimFrameDelayDelta
|
||||
ld a, $8
|
||||
ld [hli], a
|
||||
ld [hl], $ff
|
||||
ld [hli], a ; wPlayerSpinInPlaceAnimFrameDelayEndValue
|
||||
ld [hl], $ff ; wPlayerSpinInPlaceAnimSoundID
|
||||
ld hl, wcd48
|
||||
call Func_70730
|
||||
.asm_70558
|
||||
call PlayerSpinInPlace
|
||||
.restoreDefaultMusic
|
||||
call PlayDefaultMusic
|
||||
.asm_7055b
|
||||
jp Func_70772
|
||||
.asm_7055e
|
||||
ld c, $32
|
||||
.done
|
||||
jp RestoreFacingDirectionAndYScreenPos
|
||||
.dungeonWarpAnimation
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
call Func_705aa
|
||||
jr .asm_7055b
|
||||
.asm_70568
|
||||
call PlayerSpinWhileMovingDown
|
||||
jr .done
|
||||
.flyAnimation
|
||||
pop hl
|
||||
ld de, BirdSprite ; $4d80
|
||||
ld de, BirdSprite
|
||||
ld hl, vNPCSprites
|
||||
ld bc, (BANK(BirdSprite) << 8) + $0c
|
||||
call CopyVideoData
|
||||
call Func_706d7
|
||||
call LoadBirdSpriteGraphics
|
||||
ld a, (SFX_02_50 - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, $c
|
||||
ld [hli], a
|
||||
ld [hl], $8
|
||||
ld hl, wFlyAnimUsingCoordList
|
||||
xor a ; is using coord list
|
||||
ld [hli], a ; wFlyAnimUsingCoordList
|
||||
ld a, 12
|
||||
ld [hli], a ; wFlyAnimCounter
|
||||
ld [hl], $8 ; wFlyAnimBirdSpriteImageIndex (facing right)
|
||||
ld de, FlyAnimationEnterScreenCoords ; $4592
|
||||
call Func_706ae
|
||||
call DoFlyAnimation
|
||||
call LoadPlayerSpriteGraphics
|
||||
jr .asm_70558
|
||||
jr .restoreDefaultMusic
|
||||
|
||||
FlyAnimationEnterScreenCoords: ; 70592 (1c:4592)
|
||||
; y, x pairs
|
||||
|
|
@ -79,90 +80,92 @@ FlyAnimationEnterScreenCoords: ; 70592 (1c:4592)
|
|||
db $3C, $48
|
||||
db $3C, $40
|
||||
|
||||
Func_705aa: ; 705aa (1c:45aa)
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
PlayerSpinWhileMovingDown: ; 705aa (1c:45aa)
|
||||
ld hl, wPlayerSpinWhileMovingUpOrDownAnimDeltaY
|
||||
ld a, $10
|
||||
ld [hli], a
|
||||
ld [hli], a ; wPlayerSpinWhileMovingUpOrDownAnimDeltaY
|
||||
ld a, $3c
|
||||
ld [hli], a
|
||||
call Func_7077f
|
||||
ld [hl], a
|
||||
jp Func_70755
|
||||
ld [hli], a ; wPlayerSpinWhileMovingUpOrDownAnimMaxY
|
||||
call GetPlayerTeleportAnimFrameDelay
|
||||
ld [hl], a ; wPlayerSpinWhileMovingUpOrDownAnimFrameDelay
|
||||
jp PlayerSpinWhileMovingUpOrDown
|
||||
|
||||
_LeaveMapAnim: ; 705ba (1c:45ba)
|
||||
call Func_706ef
|
||||
call Func_70787
|
||||
call InitFacingDirectionBuffer
|
||||
call IsPlayerStandingOnWarpPadOrHole
|
||||
ld a, b
|
||||
and a
|
||||
jr z, .asm_705ef
|
||||
jr z, .playerNotStandingOnWarpPadOrHole
|
||||
dec a
|
||||
jp nz, Func_7067d
|
||||
.asm_705c8
|
||||
jp nz, LeaveMapThroughHoleAnim
|
||||
.spinWhileMovingUp
|
||||
ld a, (SFX_02_4b - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld a, $f0
|
||||
ld [hli], a
|
||||
ld hl, wPlayerSpinWhileMovingUpOrDownAnimDeltaY
|
||||
ld a, -$10
|
||||
ld [hli], a ; wPlayerSpinWhileMovingUpOrDownAnimDeltaY
|
||||
ld a, $ec
|
||||
ld [hli], a
|
||||
call Func_7077f
|
||||
ld [hl], a
|
||||
call Func_70755
|
||||
call Func_70787
|
||||
ld [hli], a ; wPlayerSpinWhileMovingUpOrDownAnimMaxY
|
||||
call GetPlayerTeleportAnimFrameDelay
|
||||
ld [hl], a ; wPlayerSpinWhileMovingUpOrDownAnimFrameDelay
|
||||
call PlayerSpinWhileMovingUpOrDown
|
||||
call IsPlayerStandingOnWarpPadOrHole
|
||||
ld a, b
|
||||
dec a
|
||||
jr z, .asm_705e9
|
||||
ld c, $a
|
||||
jr z, .playerStandingOnWarpPad
|
||||
; if not standing on a warp pad, there is an extra delay
|
||||
ld c, 10
|
||||
call DelayFrames
|
||||
.asm_705e9
|
||||
call GBFadeOut2
|
||||
jp Func_70772
|
||||
.asm_705ef
|
||||
.playerStandingOnWarpPad
|
||||
call GBFadeOutToWhite
|
||||
jp RestoreFacingDirectionAndYScreenPos
|
||||
.playerNotStandingOnWarpPadOrHole
|
||||
ld a, $4
|
||||
call StopMusic
|
||||
ld a, [wd732]
|
||||
bit 6, a
|
||||
jr z, .asm_70610
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld a, $10
|
||||
ld [hli], a
|
||||
ld a, $ff
|
||||
ld [hli], a
|
||||
bit 6, a ; is the last used pokemon center the destination?
|
||||
jr z, .flyAnimation
|
||||
; if going to the last used pokemon center
|
||||
ld hl, wPlayerSpinInPlaceAnimFrameDelay
|
||||
ld a, 16
|
||||
ld [hli], a ; wPlayerSpinInPlaceAnimFrameDelay
|
||||
ld a, -1
|
||||
ld [hli], a ; wPlayerSpinInPlaceAnimFrameDelayDelta
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hl], $a1
|
||||
ld [hli], a ; wPlayerSpinInPlaceAnimFrameDelayEndValue
|
||||
ld [hl], $a1 ; wPlayerSpinInPlaceAnimSoundID
|
||||
ld hl, wcd48
|
||||
call Func_70730
|
||||
jr .asm_705c8
|
||||
.asm_70610
|
||||
call Func_706d7
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
ld a, $ff
|
||||
ld [hli], a
|
||||
ld a, $8
|
||||
ld [hli], a
|
||||
ld [hl], $c
|
||||
call Func_706ae
|
||||
call PlayerSpinInPlace
|
||||
jr .spinWhileMovingUp
|
||||
.flyAnimation
|
||||
call LoadBirdSpriteGraphics
|
||||
ld hl, wFlyAnimUsingCoordList
|
||||
ld a, $ff ; is not using coord list (flap in place)
|
||||
ld [hli], a ; wFlyAnimUsingCoordList
|
||||
ld a, 8
|
||||
ld [hli], a ; wFlyAnimCounter
|
||||
ld [hl], $c ; wFlyAnimBirdSpriteImageIndex
|
||||
call DoFlyAnimation
|
||||
ld a, (SFX_02_50 - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld hl, wWhichTrade ; wWhichTrade
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld hl, wFlyAnimUsingCoordList
|
||||
xor a ; is using coord list
|
||||
ld [hli], a ; wFlyAnimUsingCoordList
|
||||
ld a, $c
|
||||
ld [hli], a
|
||||
ld [hl], $c
|
||||
ld [hli], a ; wFlyAnimCounter
|
||||
ld [hl], $c ; wFlyAnimBirdSpriteImageIndex (facing right)
|
||||
ld de, FlyAnimationScreenCoords1 ; $464f
|
||||
call Func_706ae
|
||||
ld c, $28
|
||||
call DoFlyAnimation
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
ld hl, wTrainerEngageDistance
|
||||
ld a, $b
|
||||
ld [hli], a
|
||||
ld [hl], $8
|
||||
ld hl, wFlyAnimCounter
|
||||
ld a, 11
|
||||
ld [hli], a ; wFlyAnimCounter
|
||||
ld [hl], $8 ; wFlyAnimBirdSpriteImageIndex (facing left)
|
||||
ld de, FlyAnimationScreenCoords2 ; $4667
|
||||
call Func_706ae
|
||||
call GBFadeOut2
|
||||
jp Func_70772
|
||||
call DoFlyAnimation
|
||||
call GBFadeOutToWhite
|
||||
jp RestoreFacingDirectionAndYScreenPos
|
||||
|
||||
FlyAnimationScreenCoords1: ; 7064f (1c:464f)
|
||||
; y, x pairs
|
||||
|
|
@ -198,33 +201,35 @@ FlyAnimationScreenCoords2: ; 70667 (1c:4667)
|
|||
|
||||
db $F0, $00
|
||||
|
||||
Func_7067d: ; 7067d (1c:467d)
|
||||
LeaveMapThroughHoleAnim: ; 7067d (1c:467d)
|
||||
ld a, $ff
|
||||
ld [wcfcb], a
|
||||
ld a, [wOAMBuffer + $02]
|
||||
ld [wOAMBuffer + $0a], a
|
||||
ld a, [wOAMBuffer + $06]
|
||||
ld [wOAMBuffer + $0e], a
|
||||
ld [wUpdateSpritesEnabled], a ; disable UpdateSprites
|
||||
; shift upper half of player's sprite down 8 pixels and hide lower half
|
||||
ld a, [wOAMBuffer + 0 * 4 + 2]
|
||||
ld [wOAMBuffer + 2 * 4 + 2], a
|
||||
ld a, [wOAMBuffer + 1 * 4 + 2]
|
||||
ld [wOAMBuffer + 3 * 4 + 2], a
|
||||
ld a, $a0
|
||||
ld [wOAMBuffer], a
|
||||
ld [wOAMBuffer + $04], a
|
||||
ld c, $2
|
||||
ld [wOAMBuffer + 0 * 4], a
|
||||
ld [wOAMBuffer + 1 * 4], a
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
; hide lower half of player's sprite
|
||||
ld a, $a0
|
||||
ld [wOAMBuffer + $08], a
|
||||
ld [wOAMBuffer + $0c], a
|
||||
call GBFadeOut2
|
||||
ld [wOAMBuffer + 2 * 4], a
|
||||
ld [wOAMBuffer + 3 * 4], a
|
||||
call GBFadeOutToWhite
|
||||
ld a, $1
|
||||
ld [wcfcb], a
|
||||
jp Func_70772
|
||||
ld [wUpdateSpritesEnabled], a ; enable UpdateSprites
|
||||
jp RestoreFacingDirectionAndYScreenPos
|
||||
|
||||
Func_706ae: ; 706ae (1c:46ae)
|
||||
ld a, [wTrainerFacingDirection]
|
||||
xor $1
|
||||
ld [wTrainerFacingDirection], a
|
||||
DoFlyAnimation: ; 706ae (1c:46ae)
|
||||
ld a, [wFlyAnimBirdSpriteImageIndex]
|
||||
xor $1 ; make the bird flap its wings
|
||||
ld [wFlyAnimBirdSpriteImageIndex], a
|
||||
ld [wSpriteStateData1 + 2], a
|
||||
call Delay3
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
ld a, [wFlyAnimUsingCoordList]
|
||||
cp $ff
|
||||
jr z, .asm_706cd
|
||||
ld hl, wSpriteStateData1 + 4
|
||||
|
|
@ -236,13 +241,13 @@ Func_706ae: ; 706ae (1c:46ae)
|
|||
inc de
|
||||
ld [hl], a
|
||||
.asm_706cd
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld a, [wFlyAnimCounter]
|
||||
dec a
|
||||
ld [wTrainerEngageDistance], a
|
||||
jr nz, Func_706ae
|
||||
ld [wFlyAnimCounter], a
|
||||
jr nz, DoFlyAnimation
|
||||
ret
|
||||
|
||||
Func_706d7: ; 706d7 (1c:46d7)
|
||||
LoadBirdSpriteGraphics: ; 706d7 (1c:46d7)
|
||||
ld de, BirdSprite ; $4d80
|
||||
ld hl, vNPCSprites
|
||||
ld bc, (BANK(BirdSprite) << 8) + $0c
|
||||
|
|
@ -252,32 +257,32 @@ Func_706d7: ; 706d7 (1c:46d7)
|
|||
ld bc, (BANK(BirdSprite) << 8) + $0c
|
||||
jp CopyVideoData
|
||||
|
||||
Func_706ef: ; 706ef (1c:46ef)
|
||||
ld a, [wSpriteStateData1 + 2]
|
||||
InitFacingDirectionBuffer: ; 706ef (1c:46ef)
|
||||
ld a, [wSpriteStateData1 + 2] ; player's sprite facing direction (image index is locked to standing images)
|
||||
ld [wcd50], a
|
||||
ld a, [wSpriteStateData1 + 4]
|
||||
ld a, [wSpriteStateData1 + 4] ; player's sprite Y screen position
|
||||
ld [wcd4f], a
|
||||
ld hl, PlayerSpinningFacingOrder ; $4713
|
||||
ld hl, PlayerSpinningFacingOrder
|
||||
ld de, wcd48
|
||||
ld bc, $4
|
||||
call CopyData
|
||||
ld a, [wSpriteStateData1 + 2]
|
||||
ld a, [wSpriteStateData1 + 2] ; player's sprite facing direction (image index is locked to standing images)
|
||||
ld hl, wcd48
|
||||
.asm_7070d
|
||||
.loop
|
||||
cp [hl]
|
||||
inc hl
|
||||
jr nz, .asm_7070d
|
||||
jr nz, .loop
|
||||
dec hl
|
||||
ret
|
||||
|
||||
PlayerSpinningFacingOrder: ; 70713 (1c:4713)
|
||||
; The order of the direction the player's sprite is facing when teleporting
|
||||
; away. Creates a spinning effect.
|
||||
db $00, $08, $04, $0C ; down, left, up, right
|
||||
db SPRITE_FACING_DOWN, SPRITE_FACING_LEFT, SPRITE_FACING_UP, SPRITE_FACING_RIGHT
|
||||
|
||||
Func_70717: ; 70717 (1c:4717)
|
||||
SpinPlayerSprite: ; 70717 (1c:4717)
|
||||
ld a, [hl]
|
||||
ld [wSpriteStateData1 + 2], a
|
||||
ld [wSpriteStateData1 + 2], a ; player's sprite facing direction (image index is locked to standing images)
|
||||
push hl
|
||||
ld hl, wcd48
|
||||
ld de, wcd47
|
||||
|
|
@ -288,84 +293,85 @@ Func_70717: ; 70717 (1c:4717)
|
|||
pop hl
|
||||
ret
|
||||
|
||||
Func_70730: ; 70730 (1c:4730)
|
||||
call Func_70717
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
PlayerSpinInPlace: ; 70730 (1c:4730)
|
||||
call SpinPlayerSprite
|
||||
ld a, [wPlayerSpinInPlaceAnimFrameDelay]
|
||||
ld c, a
|
||||
and $3
|
||||
jr nz, .asm_70743
|
||||
ld a, [wTrainerScreenY]
|
||||
ld a, [wPlayerSpinInPlaceAnimSoundID]
|
||||
cp $ff
|
||||
call nz, PlaySound
|
||||
.asm_70743
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld a, [wPlayerSpinInPlaceAnimFrameDelayDelta]
|
||||
add c
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
ld [wPlayerSpinInPlaceAnimFrameDelay], a
|
||||
ld c, a
|
||||
ld a, [wTrainerFacingDirection]
|
||||
ld a, [wPlayerSpinInPlaceAnimFrameDelayEndValue]
|
||||
cp c
|
||||
ret z
|
||||
call DelayFrames
|
||||
jr Func_70730
|
||||
jr PlayerSpinInPlace
|
||||
|
||||
Func_70755: ; 70755 (1c:4755)
|
||||
call Func_70717
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
PlayerSpinWhileMovingUpOrDown: ; 70755 (1c:4755)
|
||||
call SpinPlayerSprite
|
||||
ld a, [wPlayerSpinWhileMovingUpOrDownAnimDeltaY]
|
||||
ld c, a
|
||||
ld a, [wSpriteStateData1 + 4]
|
||||
ld a, [wSpriteStateData1 + 4] ; player's sprite Y screen position
|
||||
add c
|
||||
ld [wSpriteStateData1 + 4], a
|
||||
ld c, a
|
||||
ld a, [wTrainerEngageDistance]
|
||||
ld a, [wPlayerSpinWhileMovingUpOrDownAnimMaxY]
|
||||
cp c
|
||||
ret z
|
||||
ld a, [wTrainerFacingDirection]
|
||||
ld a, [wPlayerSpinWhileMovingUpOrDownAnimFrameDelay]
|
||||
ld c, a
|
||||
call DelayFrames
|
||||
jr Func_70755
|
||||
jr PlayerSpinWhileMovingUpOrDown
|
||||
|
||||
Func_70772: ; 70772 (1c:4772)
|
||||
RestoreFacingDirectionAndYScreenPos: ; 70772 (1c:4772)
|
||||
ld a, [wcd4f]
|
||||
ld [wSpriteStateData1 + 4], a
|
||||
ld a, [wcd50]
|
||||
ld [wSpriteStateData1 + 2], a
|
||||
ret
|
||||
|
||||
Func_7077f: ; 7077f (1c:477f)
|
||||
ld a, [wcf1b]
|
||||
; if SGB, 2 frames, else 3 frames
|
||||
GetPlayerTeleportAnimFrameDelay: ; 7077f (1c:477f)
|
||||
ld a, [wOnSGB]
|
||||
xor $1
|
||||
inc a
|
||||
inc a
|
||||
ret
|
||||
|
||||
Func_70787: ; 70787 (1c:4787)
|
||||
IsPlayerStandingOnWarpPadOrHole: ; 70787 (1c:4787)
|
||||
ld b, 0
|
||||
ld hl, DataTable_707a9 ; $47a9
|
||||
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
|
||||
ld hl, .warpPadAndHoleData
|
||||
ld a, [W_CURMAPTILESET]
|
||||
ld c, a
|
||||
.asm_70790
|
||||
.loop
|
||||
ld a, [hli]
|
||||
cp $ff
|
||||
jr z, .asm_707a4
|
||||
jr z, .done
|
||||
cp c
|
||||
jr nz, .asm_7079e
|
||||
jr nz, .nextEntry
|
||||
aCoord 8, 9
|
||||
cp [hl]
|
||||
jr z, .asm_707a2
|
||||
.asm_7079e
|
||||
jr z, .foundMatch
|
||||
.nextEntry
|
||||
inc hl
|
||||
inc hl
|
||||
jr .asm_70790
|
||||
.asm_707a2
|
||||
jr .loop
|
||||
.foundMatch
|
||||
inc hl
|
||||
ld b, [hl]
|
||||
.asm_707a4
|
||||
.done
|
||||
ld a, b
|
||||
ld [wcd5b], a
|
||||
ret
|
||||
|
||||
; format: db tileset id, tile id, value to be put in wcd5b
|
||||
DataTable_707a9: ; 707a9 (1c:47a9)
|
||||
.warpPadAndHoleData: ; 707a9 (1c:47a9)
|
||||
db FACILITY, $20, 1 ; warp pad
|
||||
db FACILITY, $11, 2 ; hole
|
||||
db CAVERN, $22, 2 ; hole
|
||||
|
|
@ -454,7 +460,7 @@ ItsABiteText: ; 70851 (1c:4851)
|
|||
db "@"
|
||||
|
||||
FishingRodGfxProperties: ; 70856 (1c:4856)
|
||||
; specicies how the fishing rod should be drawn on the screen
|
||||
; specifies how the fishing rod should be drawn on the screen
|
||||
; first byte = screen y coordinate
|
||||
; second byte = screen x coordinate
|
||||
; third byte = tile number
|
||||
|
|
@ -482,21 +488,21 @@ RedFishingTiles: ; 70866 (1c:4866)
|
|||
dw vNPCSprites2 + $7d0
|
||||
|
||||
_HandleMidJump: ; 7087e (1c:487e)
|
||||
ld a, [wd714]
|
||||
ld a, [wPlayerJumpingYScreenCoordsIndex]
|
||||
ld c, a
|
||||
inc a
|
||||
cp $10
|
||||
jr nc, .asm_70895
|
||||
ld [wd714], a
|
||||
ld b, $0
|
||||
ld hl, PlayerJumpingYScreenCoords ; $48ba
|
||||
jr nc, .finishedJump
|
||||
ld [wPlayerJumpingYScreenCoordsIndex], a
|
||||
ld b, 0
|
||||
ld hl, PlayerJumpingYScreenCoords
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wSpriteStateData1 + 4], a ; player's sprite y coordinate
|
||||
ret
|
||||
.asm_70895
|
||||
ld a, [wWalkCounter] ; wcfc5
|
||||
cp $0
|
||||
.finishedJump
|
||||
ld a, [wWalkCounter]
|
||||
cp 0
|
||||
ret nz
|
||||
call UpdateSprites
|
||||
call Delay3
|
||||
|
|
@ -504,11 +510,11 @@ _HandleMidJump: ; 7087e (1c:487e)
|
|||
ld [hJoyHeld], a
|
||||
ld [hJoyPressed], a
|
||||
ld [hJoyReleased], a
|
||||
ld [wd714], a
|
||||
ld [wPlayerJumpingYScreenCoordsIndex], a
|
||||
ld hl, wd736
|
||||
res 6, [hl]
|
||||
res 6, [hl] ; not jumping down a ledge any more
|
||||
ld hl, wd730
|
||||
res 7, [hl]
|
||||
res 7, [hl] ; not simulating joypad states any more
|
||||
xor a
|
||||
ld [wJoyIgnore], a
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
|
|||
ld hl,PokemartThankYouText
|
||||
call PrintText
|
||||
ld a,$01
|
||||
ld [wcfcb],a
|
||||
ld [wUpdateSpritesEnabled],a
|
||||
call UpdateSprites ; move sprites
|
||||
ld a,[wd07e]
|
||||
ld [wListScrollOffset],a
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
AnimateBoulderDust: ; 79f54 (1e:5f54)
|
||||
ld a, $1
|
||||
ld [wcd50], a ; select the boulder dust offsets
|
||||
ld a, [wcfcb]
|
||||
ld a, [wUpdateSpritesEnabled]
|
||||
push af
|
||||
ld a, $ff
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld a, %11100100
|
||||
ld [rOBP1], a
|
||||
call LoadSmokeTileFourTimes
|
||||
|
|
@ -26,7 +26,7 @@ AnimateBoulderDust: ; 79f54 (1e:5f54)
|
|||
dec c
|
||||
jr nz, .loop
|
||||
pop af
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
jp LoadPlayerSpriteGraphics
|
||||
|
||||
GetMoveBoulderDustFunctionPointer: ; 79f92 (1e:5f92)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
_GetSpritePosition1: ; 567f9 (15:67f9)
|
||||
ld hl, wSpriteStateData1
|
||||
ld de, $4
|
||||
ld a, [wcf13]
|
||||
ld a, [wSpriteIndex]
|
||||
ld [H_SPRITEINDEX], a
|
||||
call GetSpriteDataPointer
|
||||
ld a, [hli]
|
||||
|
|
@ -20,7 +20,7 @@ _GetSpritePosition1: ; 567f9 (15:67f9)
|
|||
_GetSpritePosition2: ; 56819 (15:6819)
|
||||
ld hl, wSpriteStateData1
|
||||
ld de, $4
|
||||
ld a, [wcf13]
|
||||
ld a, [wSpriteIndex]
|
||||
ld [H_SPRITEINDEX], a
|
||||
call GetSpriteDataPointer
|
||||
ld a, [hli] ; c1x4 (screen Y pos)
|
||||
|
|
@ -39,7 +39,7 @@ _GetSpritePosition2: ; 56819 (15:6819)
|
|||
_SetSpritePosition1: ; 5683d (15:683d)
|
||||
ld hl, wSpriteStateData1
|
||||
ld de, $4
|
||||
ld a, [wcf13]
|
||||
ld a, [wSpriteIndex]
|
||||
ld [H_SPRITEINDEX], a
|
||||
call GetSpriteDataPointer
|
||||
ld a, [$ffeb] ; c1x4 (screen Y pos)
|
||||
|
|
@ -58,7 +58,7 @@ _SetSpritePosition1: ; 5683d (15:683d)
|
|||
_SetSpritePosition2: ; 5685d (15:685d)
|
||||
ld hl, wSpriteStateData1
|
||||
ld de, $0004
|
||||
ld a, [wcf13]
|
||||
ld a, [wSpriteIndex]
|
||||
ld [H_SPRITEINDEX], a
|
||||
call GetSpriteDataPointer
|
||||
ld a, [wd130]
|
||||
|
|
@ -75,7 +75,7 @@ _SetSpritePosition2: ; 5685d (15:685d)
|
|||
ret
|
||||
|
||||
TrainerWalkUpToPlayer: ; 56881 (15:6881)
|
||||
ld a, [wcf13]
|
||||
ld a, [wSpriteIndex]
|
||||
swap a
|
||||
ld [wTrainerSpriteOffset], a ; wWhichTrade
|
||||
call ReadTrainerScreenPosition
|
||||
|
|
@ -143,7 +143,7 @@ TrainerWalkUpToPlayer: ; 56881 (15:6881)
|
|||
ld de, wNPCMovementDirections2
|
||||
call FillMemory ; write the necessary steps to reach player
|
||||
ld [hl], $ff ; write end of list sentinel
|
||||
ld a, [wcf13]
|
||||
ld a, [wSpriteIndex]
|
||||
ld [H_SPRITEINDEX], a
|
||||
jp MoveSprite_
|
||||
|
||||
|
|
|
|||
|
|
@ -380,11 +380,11 @@ SendSGBPacket: ; 71feb (1c:5feb)
|
|||
|
||||
LoadSGB: ; 7202b (1c:602b)
|
||||
xor a
|
||||
ld [wcf1b], a
|
||||
ld [wOnSGB], a
|
||||
call Func_7209b
|
||||
ret nc
|
||||
ld a, $1
|
||||
ld [wcf1b], a
|
||||
ld [wOnSGB], a
|
||||
ld a, [wGBC]
|
||||
and a
|
||||
jr z, .asm_7203f
|
||||
|
|
|
|||
|
|
@ -71,19 +71,19 @@ PredefPointers:: ; 4fe79 (13:7e79)
|
|||
add_predef FlagActionPredef
|
||||
add_predef HideObject
|
||||
add_predef IsObjectHidden
|
||||
add_predef Func_c69c
|
||||
add_predef ApplyOutOfBattlePoisonDamage
|
||||
add_predef AnyPartyAlive
|
||||
add_predef ShowObject
|
||||
add_predef ShowObject2
|
||||
add_predef Func_ee9e
|
||||
add_predef InitPlayerData2
|
||||
add_predef Func_c754
|
||||
add_predef LoadTilesetHeader
|
||||
add_predef LearnMoveFromLevelUp
|
||||
add_predef LearnMove
|
||||
add_predef IsItemInBag_ ; 1C, used in Pokémon Tower
|
||||
dbw $03,Func_3eb5 ; for these two, the bank number is actually 0
|
||||
dbw $03,GiveItem
|
||||
add_predef Func_480eb
|
||||
add_predef ChangeBGPalColor0_4Frames
|
||||
add_predef FindPathToPlayer
|
||||
add_predef Func_480ff
|
||||
add_predef CalcPositionOfPlayerRelativeToNPC
|
||||
|
|
@ -105,7 +105,7 @@ PredefPointers:: ; 4fe79 (13:7e79)
|
|||
add_predef PlayIntro
|
||||
add_predef Func_79869
|
||||
add_predef FlashScreen
|
||||
add_predef Func_c586
|
||||
add_predef GetTileAndCoordsInFrontOfPlayer
|
||||
add_predef StatusScreen
|
||||
add_predef StatusScreen2
|
||||
add_predef Func_410e2
|
||||
|
|
@ -140,9 +140,9 @@ PredefPointers:: ; 4fe79 (13:7e79)
|
|||
add_predef HallOfFamePC
|
||||
add_predef DisplayDexRating
|
||||
dbw $1E, _LeaveMapAnim ; wrong bank
|
||||
dbw $1E, Func_70510 ; wrong bank
|
||||
add_predef Func_c5be
|
||||
add_predef Func_c60b
|
||||
dbw $1E, EnterMapAnim ; wrong bank
|
||||
add_predef GetTileTwoStepsInFrontOfPlayer
|
||||
add_predef CheckForCollisionWhenPushingBoulder
|
||||
add_predef PrintStrengthTxt
|
||||
add_predef PickupItem
|
||||
add_predef Func_27d98
|
||||
|
|
|
|||
|
|
@ -1,13 +1,14 @@
|
|||
Func_480eb: ; 480eb (12:40eb)
|
||||
; b = new colour for BG colour 0 (usually white) for 4 frames
|
||||
ChangeBGPalColor0_4Frames: ; 480eb (12:40eb)
|
||||
call GetPredefRegisters
|
||||
ld a, [rBGP] ; $ff47
|
||||
ld a, [rBGP]
|
||||
or b
|
||||
ld [rBGP], a ; $ff47
|
||||
ld [rBGP], a
|
||||
ld c, $4
|
||||
call DelayFrames
|
||||
ld a, [rBGP] ; $ff47
|
||||
and $fc
|
||||
ld [rBGP], a ; $ff47
|
||||
ld a, [rBGP]
|
||||
and %11111100
|
||||
ld [rBGP], a
|
||||
ret
|
||||
|
||||
Func_480ff: ; 480ff (12:40ff)
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ Func_1c9c6: ; 1c9c6 (7:49c6)
|
|||
ld b, a
|
||||
ld a, [hl]
|
||||
ld c, a
|
||||
ld hl, wd3af
|
||||
ld hl, wWarpEntries
|
||||
call Func_1ca0d
|
||||
|
||||
Func_1ca0d: ; 1ca0d (7:4a0d)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
PromptUserToPlaySlots: ; 3730e (d:730e)
|
||||
call SaveScreenTilesToBuffer2
|
||||
ld a, BANK(DisplayTextIDInit)
|
||||
ld [wcf0c], a
|
||||
ld [wAutoTextBoxDrawingControl], a
|
||||
ld b, a
|
||||
ld hl, DisplayTextIDInit
|
||||
call Bankswitch
|
||||
|
|
@ -12,7 +12,7 @@ PromptUserToPlaySlots: ; 3730e (d:730e)
|
|||
and a
|
||||
jr nz, .skip
|
||||
dec a
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld hl, wcd4f
|
||||
xor a
|
||||
ld [hli], a
|
||||
|
|
@ -40,7 +40,7 @@ PromptUserToPlaySlots: ; 3730e (d:730e)
|
|||
ld [W_SUBANIMSUBENTRYADDR], a
|
||||
call GBPalWhiteOutWithDelay3
|
||||
ld a, $1
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
call GoPAL_SET_CF1C
|
||||
call ReloadMapSpriteTilePatterns
|
||||
call ReloadTilesetTilePatterns
|
||||
|
|
@ -221,7 +221,7 @@ SlotMachine_374ad: ; 374ad (d:74ad)
|
|||
call SlotMachine_374fb
|
||||
call SlotMachine_37517
|
||||
ret c
|
||||
ld a, [wcf1b]
|
||||
ld a, [wOnSGB]
|
||||
xor $1
|
||||
inc a
|
||||
ld c, a
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
DisplayTownMap: ; 70e3e (1c:4e3e)
|
||||
call LoadTownMap
|
||||
ld hl, wcfcb
|
||||
ld hl, wUpdateSpritesEnabled
|
||||
ld a, [hl]
|
||||
push af
|
||||
ld [hl], $ff
|
||||
|
|
@ -111,7 +111,7 @@ TownMapCursor: ; 70f40 (1c:4f40)
|
|||
|
||||
LoadTownMap_Nest: ; 70f60 (1c:4f60)
|
||||
call LoadTownMap
|
||||
ld hl, wcfcb
|
||||
ld hl, wUpdateSpritesEnabled
|
||||
ld a, [hl]
|
||||
push af
|
||||
ld [hl], $ff
|
||||
|
|
@ -148,7 +148,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90)
|
|||
ld bc, (BANK(TownMapUpArrow) << 8) + $01
|
||||
call CopyVideoDataDouble
|
||||
call Func_71070
|
||||
ld hl, wcfcb
|
||||
ld hl, wUpdateSpritesEnabled
|
||||
ld a, [hl]
|
||||
push af
|
||||
ld [hl], $ff
|
||||
|
|
@ -206,7 +206,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90)
|
|||
ld a, (SFX_02_3e - SFX_Headers_02) / 3
|
||||
call PlaySound
|
||||
ld a, [hl]
|
||||
ld [wd71a], a
|
||||
ld [wDestinationMap], a
|
||||
ld hl, wd732
|
||||
set 3, [hl]
|
||||
inc hl
|
||||
|
|
|
|||
|
|
@ -119,10 +119,10 @@ LoadTradingGFXAndMonNames: ; 411a1 (10:51a1)
|
|||
call FillMemory
|
||||
call ClearSprites
|
||||
ld a, $ff
|
||||
ld [wcfcb], a
|
||||
ld [wUpdateSpritesEnabled], a
|
||||
ld hl, wd730
|
||||
set 6, [hl]
|
||||
ld a, [wcf1b]
|
||||
ld a, [wOnSGB]
|
||||
and a
|
||||
ld a, $e4
|
||||
jr z, .asm_411e5
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue