mirror of
https://github.com/pret/pokeyellow.git
synced 2026-03-21 17:34:31 -05:00
Merge branch 'master' of https://github.com/pret/pokered
Some checks failed
CI / build (push) Has been cancelled
Some checks failed
CI / build (push) Has been cancelled
This commit is contained in:
commit
6cb885a9f6
|
|
@ -10,9 +10,16 @@ DEF SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels
|
|||
DEF BG_MAP_WIDTH EQU 32 ; tiles
|
||||
DEF BG_MAP_HEIGHT EQU 32 ; tiles
|
||||
|
||||
DEF BLOCK_WIDTH EQU 4 ; tiles
|
||||
DEF BLOCK_HEIGHT EQU BLOCK_WIDTH ; tiles
|
||||
DEF SCREEN_BLOCK_WIDTH EQU 6 ; blocks
|
||||
DEF SCREEN_BLOCK_HEIGHT EQU 5 ; blocks
|
||||
DEF SURROUNDING_WIDTH EQU SCREEN_BLOCK_WIDTH * BLOCK_WIDTH ; tiles
|
||||
DEF SURROUNDING_HEIGHT EQU SCREEN_BLOCK_HEIGHT * BLOCK_HEIGHT ; tiles
|
||||
|
||||
DEF SPRITEBUFFERSIZE EQU 7 * 7 * LEN_1BPP_TILE
|
||||
|
||||
; DMGPalToGBCPal
|
||||
; DMGPalToCGBPal
|
||||
DEF CONVERT_BGP EQU 0
|
||||
DEF CONVERT_OBP0 EQU 1
|
||||
DEF CONVERT_OBP1 EQU 2
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
; From http://nocash.emubase.de/pandocs.htm.
|
||||
; Reference documents:
|
||||
; https://gbdev.io/pandocs/
|
||||
; https://github.com/gbdev/hardware.inc
|
||||
|
||||
DEF GBC EQU $11
|
||||
DEF CGB EQU $11
|
||||
|
||||
; MBC1
|
||||
DEF MBC1SRamEnable EQU $0000
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Route3_Object:
|
|||
def_warp_events
|
||||
|
||||
def_bg_events
|
||||
bg_event 59, 9, 10 ; Route3SignText
|
||||
bg_event 59, 9, TEXT_ROUTE3_SIGN
|
||||
|
||||
def_object_events
|
||||
object_event 57, 11, SPRITE_SUPER_NERD, STAY, NONE, TEXT_ROUTE3_SUPER_NERD
|
||||
|
|
|
|||
|
|
@ -9,6 +9,6 @@ TradeCenter_Object:
|
|||
def_bg_events
|
||||
|
||||
def_object_events
|
||||
object_event 2, 2, SPRITE_RED, STAY, 0, TEXT_TRADECENTER_OPPONENT
|
||||
object_event 2, 2, SPRITE_RED, STAY, ANY_DIR, TEXT_TRADECENTER_OPPONENT
|
||||
|
||||
def_warps_to TRADE_CENTER
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ MACRO move
|
|||
db \4 ; type
|
||||
db \5 percent ; accuracy
|
||||
db \6 ; pp
|
||||
assert \6 <= 40, "PP must be 40 or less"
|
||||
ASSERT \6 <= 40, "PP must be 40 or less"
|
||||
ENDM
|
||||
|
||||
Moves:
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ PredefPointers::
|
|||
add_predef BattleTransition
|
||||
add_predef CopyTileIDsFromList
|
||||
add_predef PlayIntro
|
||||
add_predef GetMoveSoundB
|
||||
add_predef GetIntroMoveSound
|
||||
add_predef FlashScreen
|
||||
add_predef GetTileAndCoordsInFrontOfPlayer
|
||||
add_predef StatusScreen
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ SuperPalettes:
|
|||
RGB 31,31,30, 16,16,16, 31,25,09, 06,06,06 ; PAL_PIKACHUS_BEACH_TITLE
|
||||
assert_table_length NUM_SGB_PALS
|
||||
|
||||
GBCBasePalettes:
|
||||
CGBBasePalettes:
|
||||
; entries correspond to PAL_* constants
|
||||
table_width 2 * 4
|
||||
RGB 31,31,31, 16,31,04, 11,23,31, 03,03,03 ; PAL_ROUTE
|
||||
|
|
|
|||
|
|
@ -274,7 +274,7 @@ PlayAnimation:
|
|||
push af
|
||||
ld a, [wAnimPalette]
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
call LoadMoveAnimationTiles
|
||||
call LoadSubanimation
|
||||
call PlaySubanimation
|
||||
|
|
@ -282,7 +282,7 @@ PlayAnimation:
|
|||
vc_hook Stop_reducing_move_anim_flashing_Thunderbolt
|
||||
ldh [rOBP0], a
|
||||
vc_hook Stop_reducing_move_anim_flashing_Explosion
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
.nextAnimationCommand
|
||||
vc_hook Stop_reducing_move_anim_flashing_Guillotine
|
||||
pop hl
|
||||
|
|
@ -583,8 +583,8 @@ SetAnimationPalette:
|
|||
ld a, $6c
|
||||
vc_hook Reduce_move_anim_flashing_Haze
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
.notSGB
|
||||
ld a, $e4
|
||||
|
|
@ -592,8 +592,8 @@ SetAnimationPalette:
|
|||
ldh [rOBP0], a
|
||||
ld a, $6c
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
|
||||
Func_78e98:
|
||||
|
|
@ -729,7 +729,7 @@ DoBallTossSpecialEffects:
|
|||
ldh a, [rOBP0]
|
||||
xor %00111100 ; complement colors 1 and 2
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
.skipFlashingEffect
|
||||
ld a, [wSubAnimCounter]
|
||||
cp 11 ; is it the beginning of the subanimation?
|
||||
|
|
@ -1019,7 +1019,7 @@ AnimationFlashScreenLong:
|
|||
cp 1
|
||||
jr z, .endOfPalettes
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
call FlashScreenLongDelay
|
||||
jr .innerLoop
|
||||
.endOfPalettes
|
||||
|
|
@ -1082,17 +1082,17 @@ AnimationFlashScreen:
|
|||
push af ; save initial palette
|
||||
ld a, %00011011 ; 0, 1, 2, 3 (inverted colors)
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
xor a ; white out background
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
pop af
|
||||
ldh [rBGP], a ; restore initial palette
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ret
|
||||
|
||||
AnimationDarkScreenPalette:
|
||||
|
|
@ -1138,7 +1138,7 @@ SetAnimationBGPalette:
|
|||
ld a, c
|
||||
.next
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ret
|
||||
|
||||
ld b, $5
|
||||
|
|
@ -2019,7 +2019,7 @@ AnimationSubstitute:
|
|||
; Changes the pokemon's sprite to the mini sprite
|
||||
ld hl, wTempPic
|
||||
xor a
|
||||
ld bc, $310
|
||||
ld bc, 7 * 7 tiles
|
||||
call FillMemory
|
||||
ldh a, [hWhoseTurn]
|
||||
and a
|
||||
|
|
@ -2282,7 +2282,7 @@ GetMonSpriteTileMapPointerFromRowCount:
|
|||
ldh a, [hWhoseTurn]
|
||||
and a
|
||||
jr nz, .enemyTurn
|
||||
ld a, 20 * 5 + 1
|
||||
ld a, 5 * SCREEN_WIDTH + 1
|
||||
jr .next
|
||||
.enemyTurn
|
||||
ld a, 12
|
||||
|
|
@ -2295,7 +2295,7 @@ GetMonSpriteTileMapPointerFromRowCount:
|
|||
sub b
|
||||
and a
|
||||
jr z, .done
|
||||
ld de, 20
|
||||
ld de, SCREEN_WIDTH
|
||||
.loop
|
||||
add hl, de
|
||||
dec a
|
||||
|
|
@ -2349,8 +2349,7 @@ AnimCopyRowRight:
|
|||
jr nz, AnimCopyRowRight
|
||||
ret
|
||||
|
||||
; get the sound of the move id in b
|
||||
GetMoveSoundB:
|
||||
GetIntroMoveSound: ; unreferenced
|
||||
ld a, b
|
||||
call GetMoveSound
|
||||
ld b, a
|
||||
|
|
@ -2456,7 +2455,7 @@ CopyTileIDs:
|
|||
dec c
|
||||
jr nz, .columnLoop
|
||||
pop hl
|
||||
ld bc, 20
|
||||
ld bc, SCREEN_WIDTH
|
||||
add hl, bc
|
||||
pop bc
|
||||
dec b
|
||||
|
|
@ -2473,7 +2472,7 @@ AnimationLeavesFalling:
|
|||
; in Razor Leaf's animation.
|
||||
ld a, [wAnimPalette]
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
ld d, $37 ; leaf tile
|
||||
ld a, 3 ; number of leaves
|
||||
ld [wNumFallingObjects], a
|
||||
|
|
@ -2678,12 +2677,12 @@ AnimationShakeEnemyHUD:
|
|||
call BattleAnimCopyTileMapToVRAM
|
||||
|
||||
; update BGMap attributes
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jr z, .notGBC
|
||||
jr z, .notCGB
|
||||
ld c, 13
|
||||
farcall LoadBGMapAttributes
|
||||
.notGBC
|
||||
.notCGB
|
||||
|
||||
; Move the window so that the row below the enemy HUD (in BG map 0) lines up
|
||||
; with the top row of the window on the screen. This makes it so that the window
|
||||
|
|
@ -2719,12 +2718,12 @@ AnimationShakeEnemyHUD:
|
|||
ld hl, vBGMap1
|
||||
call BattleAnimCopyTileMapToVRAM
|
||||
; update BGMap attributes
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jr z, .notGBC2
|
||||
jr z, .notCGB2
|
||||
ld c, 11
|
||||
farcall LoadBGMapAttributes
|
||||
.notGBC2
|
||||
.notCGB2
|
||||
xor a
|
||||
ldh [hWY], a
|
||||
call SaveScreenTilesToBuffer1
|
||||
|
|
|
|||
|
|
@ -171,9 +171,9 @@ BattleTransition_BlackScreen:
|
|||
ldh [rBGP], a
|
||||
ldh [rOBP0], a
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
|
||||
; for non-dungeon trainer battles
|
||||
|
|
@ -337,7 +337,7 @@ BattleTransition_FlashScreen_:
|
|||
cp 1
|
||||
jr z, .done
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
jr .loop
|
||||
|
|
|
|||
|
|
@ -67,9 +67,9 @@ SlidePlayerAndEnemySilhouettesOnScreen:
|
|||
ldh [rBGP], a
|
||||
ldh [rOBP0], a
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
.slideSilhouettesLoop ; slide silhouettes of the player's pic and the enemy's pic onto the screen
|
||||
ld h, b
|
||||
ld l, $40
|
||||
|
|
@ -905,8 +905,8 @@ ReplaceFaintedEnemyMon:
|
|||
ldpal a, SHADE_BLACK, SHADE_DARK, SHADE_LIGHT, SHADE_WHITE
|
||||
ldh [rOBP0], a
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
callfar DrawEnemyPokeballs
|
||||
ld a, [wLinkState]
|
||||
cp LINK_STATE_BATTLING
|
||||
|
|
@ -4619,7 +4619,7 @@ CalculateDamage:
|
|||
; Multi-hit attacks may or may not have 0 bp.
|
||||
cp TWO_TO_FIVE_ATTACKS_EFFECT
|
||||
jr z, .skipbp
|
||||
cp $1e
|
||||
cp EFFECT_1E
|
||||
jr z, .skipbp
|
||||
|
||||
; Calculate OHKO damage based on remaining HP.
|
||||
|
|
@ -5328,7 +5328,7 @@ MetronomePickMove:
|
|||
and a
|
||||
jr z, .pickMoveLoop
|
||||
cp STRUGGLE
|
||||
assert NUM_ATTACKS == STRUGGLE ; random numbers greater than STRUGGLE are not moves
|
||||
ASSERT NUM_ATTACKS == STRUGGLE ; random numbers greater than STRUGGLE are not moves
|
||||
jr nc, .pickMoveLoop
|
||||
cp METRONOME
|
||||
jr z, .pickMoveLoop
|
||||
|
|
@ -6940,7 +6940,7 @@ HandleExplodingAnimation:
|
|||
ret nz
|
||||
ld a, ANIMATIONTYPE_SHAKE_SCREEN_HORIZONTALLY_LIGHT
|
||||
ld [wAnimationType], a
|
||||
assert ANIMATIONTYPE_SHAKE_SCREEN_HORIZONTALLY_LIGHT == MEGA_PUNCH
|
||||
ASSERT ANIMATIONTYPE_SHAKE_SCREEN_HORIZONTALLY_LIGHT == MEGA_PUNCH
|
||||
; ld a, MEGA_PUNCH
|
||||
; fallthrough
|
||||
PlayMoveAnimation:
|
||||
|
|
|
|||
|
|
@ -236,8 +236,8 @@ FreezeBurnParalyzeEffect:
|
|||
jr c, .regular_effectiveness
|
||||
; extra effectiveness
|
||||
ld b, 30 percent + 1
|
||||
assert PARALYZE_SIDE_EFFECT2 - PARALYZE_SIDE_EFFECT1 == BURN_SIDE_EFFECT2 - BURN_SIDE_EFFECT1
|
||||
assert PARALYZE_SIDE_EFFECT2 - PARALYZE_SIDE_EFFECT1 == FREEZE_SIDE_EFFECT2 - FREEZE_SIDE_EFFECT1
|
||||
ASSERT PARALYZE_SIDE_EFFECT2 - PARALYZE_SIDE_EFFECT1 == BURN_SIDE_EFFECT2 - BURN_SIDE_EFFECT1
|
||||
ASSERT PARALYZE_SIDE_EFFECT2 - PARALYZE_SIDE_EFFECT1 == FREEZE_SIDE_EFFECT2 - FREEZE_SIDE_EFFECT1
|
||||
sub PARALYZE_SIDE_EFFECT2 - PARALYZE_SIDE_EFFECT1 ; treat extra effective as regular from now on
|
||||
.regular_effectiveness
|
||||
push af
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ MarowakAnim:
|
|||
; animate the ghost being unveiled as a Marowak
|
||||
ld a, $e4
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
call CopyMonPicFromBGToSpriteVRAM ; cover the BG ghost pic with a sprite ghost pic that looks the same
|
||||
; now that the ghost pic is being displayed using sprites, clear the ghost pic from the BG tilemap
|
||||
hlcoord 12, 0
|
||||
|
|
@ -28,7 +28,7 @@ MarowakAnim:
|
|||
sla a
|
||||
sla a
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
jr nz, .fadeOutGhostLoop
|
||||
call ClearSprites
|
||||
call CopyMonPicFromBGToSpriteVRAM ; copy Marowak pic from BG to sprite VRAM
|
||||
|
|
@ -42,7 +42,7 @@ MarowakAnim:
|
|||
srl b
|
||||
rra
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
ld a, b
|
||||
and a
|
||||
jr nz, .fadeInMarowakLoop
|
||||
|
|
|
|||
|
|
@ -644,7 +644,7 @@ AICureStatus:
|
|||
res BADLY_POISONED, [hl]
|
||||
ret
|
||||
|
||||
AIUseXAccuracy: ; unused
|
||||
AIUseXAccuracy: ; unreferenced
|
||||
call AIPlayRestoringSFX
|
||||
ld hl, wEnemyBattleStatus2
|
||||
set USING_X_ACCURACY, [hl]
|
||||
|
|
@ -658,7 +658,7 @@ AIUseGuardSpec:
|
|||
ld a, GUARD_SPEC
|
||||
jp AIPrintItemUse
|
||||
|
||||
AIUseDireHit: ; unused
|
||||
AIUseDireHit: ; unreferenced
|
||||
call AIPlayRestoringSFX
|
||||
ld hl, wEnemyBattleStatus2
|
||||
set GETTING_PUMPED, [hl]
|
||||
|
|
|
|||
|
|
@ -782,9 +782,9 @@ Func_fec10:
|
|||
ldh [rBGP], a
|
||||
ldh [rOBP0], a
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
hlcoord 0, 0
|
||||
lb bc, 1, 18
|
||||
call TextBoxBorder
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ IF DEF(_DEBUG)
|
|||
|
||||
; Get some debug items.
|
||||
ld hl, wNumBagItems
|
||||
ld de, DebugItemsList
|
||||
ld de, DebugNewGameItemsList
|
||||
.items_loop
|
||||
ld a, [de]
|
||||
cp -1
|
||||
|
|
@ -76,12 +76,13 @@ IF DEF(_DEBUG)
|
|||
|
||||
; Rival chose Jolteon.
|
||||
ld hl, wRivalStarter
|
||||
ASSERT wRivalStarter + 2 == wPlayerStarter
|
||||
ld a, RIVAL_STARTER_JOLTEON
|
||||
ld [hli], a
|
||||
ld a, NUM_POKEMON
|
||||
ld [hli], a ; hl = wUnknownDebugByte
|
||||
ld a, STARTER_PIKACHU
|
||||
ld [hl], a ; hl = wPlayerStarter
|
||||
ld [hl], a
|
||||
|
||||
; Give max money.
|
||||
ld hl, wPlayerMoney
|
||||
|
|
@ -102,7 +103,7 @@ DebugSetPokedexEntries:
|
|||
ld [hl], %01111111
|
||||
ret
|
||||
|
||||
DebugItemsList:
|
||||
DebugNewGameItemsList:
|
||||
db MASTER_BALL, 99
|
||||
db TOWN_MAP, 1
|
||||
db BICYCLE, 1
|
||||
|
|
@ -119,7 +120,7 @@ DebugItemsList:
|
|||
db PP_UP, 99
|
||||
db -1 ; end
|
||||
|
||||
DebugUnusedList:
|
||||
DebugUnusedList: ; unreferenced
|
||||
db OLD_AMBER, 1
|
||||
db DOME_FOSSIL, 1
|
||||
db HELIX_FOSSIL, 1
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
ApplyOutOfBattlePoisonDamage:
|
||||
ld a, [wStatusFlags5]
|
||||
assert BIT_SCRIPTED_MOVEMENT_STATE == 7
|
||||
ASSERT BIT_SCRIPTED_MOVEMENT_STATE == 7
|
||||
add a ; overflows scripted movement state bit into carry flag
|
||||
jp c, .noBlackOut ; no black out if joypad states are being simulated
|
||||
ld a, [wd492]
|
||||
|
|
|
|||
|
|
@ -317,27 +317,27 @@ YellowIntroPaletteAction::
|
|||
and a
|
||||
jr nz, .asm_720bd
|
||||
ld hl, PalPacket_Generic
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jp z, SendSGBPacket
|
||||
jp InitGBCPalettes
|
||||
jp InitCGBPalettes
|
||||
|
||||
.asm_720bd
|
||||
ld hl, PalPacket_PikachusBeach
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jp z, SendSGBPacket
|
||||
call InitGBCPalettes
|
||||
call InitCGBPalettes
|
||||
ld hl, PalPacket_Generic
|
||||
inc hl
|
||||
ld a, [hli]
|
||||
call GetGBCBasePalAddress
|
||||
call GetCGBBasePalAddress
|
||||
ld a, e
|
||||
ld [wGBCBasePalPointers + 2], a
|
||||
ld [wCGBBasePalPointers + 2], a
|
||||
ld a, d
|
||||
ld [wGBCBasePalPointers + 2 + 1], a
|
||||
ld [wCGBBasePalPointers + 2 + 1], a
|
||||
xor a ; CONVERT_BGP
|
||||
call DMGPalToGBCPal
|
||||
call DMGPalToCGBPal
|
||||
ld a, 1
|
||||
call TransferCurBGPData
|
||||
ret
|
||||
|
|
@ -354,14 +354,14 @@ LoadOverworldPikachuFrontpicPalettes::
|
|||
ld a, PAL_PIKACHU_PORTRAIT
|
||||
ld [hl], a
|
||||
ld hl, wPalPacket
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jr nz, .cgb_1
|
||||
call SendSGBPacket
|
||||
jr .okay_1
|
||||
|
||||
.cgb_1
|
||||
call InitGBCPalettes
|
||||
call InitCGBPalettes
|
||||
.okay_1
|
||||
ld hl, BlkPacket_WholeScreen
|
||||
ld de, wPalPacket
|
||||
|
|
@ -379,14 +379,14 @@ LoadOverworldPikachuFrontpicPalettes::
|
|||
ld a, $a
|
||||
ld [hl], a
|
||||
ld hl, wPalPacket
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jr nz, .cgb_2
|
||||
call SendSGBPacket
|
||||
jr .okay_2
|
||||
|
||||
.cgb_2
|
||||
call InitGBCPalettes
|
||||
call InitCGBPalettes
|
||||
.okay_2
|
||||
ret
|
||||
|
||||
|
|
@ -545,7 +545,7 @@ LoadSGB:
|
|||
ld [wOnSGB], a
|
||||
call CheckSGB
|
||||
jr c, .onSGB
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jr z, .onDMG
|
||||
ld a, $1
|
||||
|
|
@ -666,7 +666,7 @@ CopyGfxToSuperNintendoVRAM:
|
|||
call DisableLCD
|
||||
ld a, $e4
|
||||
ldh [rBGP], a
|
||||
call _UpdateGBCPal_BGP_CheckDMG
|
||||
call _UpdateCGBPal_BGP_CheckDMG
|
||||
ld de, vChars1
|
||||
ld a, [wCopyingSGBTileData]
|
||||
and a
|
||||
|
|
@ -697,7 +697,7 @@ CopyGfxToSuperNintendoVRAM:
|
|||
call SendSGBPacket
|
||||
xor a
|
||||
ldh [rBGP], a
|
||||
call _UpdateGBCPal_BGP_CheckDMG
|
||||
call _UpdateCGBPal_BGP_CheckDMG
|
||||
ei
|
||||
ret
|
||||
|
||||
|
|
@ -715,25 +715,25 @@ Wait7000:
|
|||
ret
|
||||
|
||||
SendSGBPackets:
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jr z, .notGBC
|
||||
jr z, .notCGB
|
||||
push de
|
||||
call InitGBCPalettes
|
||||
call InitCGBPalettes
|
||||
pop hl
|
||||
call InitGBCPalettes
|
||||
call InitCGBPalettes
|
||||
ldh a, [rLCDC]
|
||||
and 1 << rLCDC_ENABLE
|
||||
ret z
|
||||
call Delay3
|
||||
ret
|
||||
.notGBC
|
||||
.notCGB
|
||||
push de
|
||||
call SendSGBPacket
|
||||
pop hl
|
||||
jp SendSGBPacket
|
||||
|
||||
InitGBCPalettes:
|
||||
InitCGBPalettes:
|
||||
ld a, [hl]
|
||||
and $f8
|
||||
cp $20
|
||||
|
|
@ -753,31 +753,31 @@ InitGBCPalettes:
|
|||
push hl
|
||||
ENDC
|
||||
|
||||
call GetGBCBasePalAddress
|
||||
call GetCGBBasePalAddress
|
||||
ld a, e
|
||||
ld [wGBCBasePalPointers + index * 2], a
|
||||
ld [wCGBBasePalPointers + index * 2], a
|
||||
ld a, d
|
||||
ld [wGBCBasePalPointers + index * 2 + 1], a
|
||||
ld [wCGBBasePalPointers + index * 2 + 1], a
|
||||
|
||||
xor a ; CONVERT_BGP
|
||||
call DMGPalToGBCPal
|
||||
call DMGPalToCGBPal
|
||||
ld a, index
|
||||
call TransferCurBGPData
|
||||
|
||||
ld a, CONVERT_OBP0
|
||||
call DMGPalToGBCPal
|
||||
call DMGPalToCGBPal
|
||||
ld a, index
|
||||
call TransferCurOBPData
|
||||
|
||||
ld a, CONVERT_OBP1
|
||||
call DMGPalToGBCPal
|
||||
call DMGPalToCGBPal
|
||||
ld a, index + 4
|
||||
call TransferCurOBPData
|
||||
ENDR
|
||||
|
||||
ret
|
||||
|
||||
GetGBCBasePalAddress::
|
||||
GetCGBBasePalAddress::
|
||||
; Input: a = palette ID
|
||||
; Output: de = palette address
|
||||
push hl
|
||||
|
|
@ -787,7 +787,7 @@ GetGBCBasePalAddress::
|
|||
add hl, hl
|
||||
add hl, hl
|
||||
add hl, hl
|
||||
ld de, GBCBasePalettes
|
||||
ld de, CGBBasePalettes
|
||||
add hl, de
|
||||
ld a, l
|
||||
ld e, a
|
||||
|
|
@ -796,12 +796,12 @@ GetGBCBasePalAddress::
|
|||
pop hl
|
||||
ret
|
||||
|
||||
DMGPalToGBCPal::
|
||||
; Populate wGBCPal with colors from a base palette, selected using one of the
|
||||
DMGPalToCGBPal::
|
||||
; Populate wCGBPal with colors from a base palette, selected using one of the
|
||||
; DMG palette registers.
|
||||
; Input:
|
||||
; a = which DMG palette register
|
||||
; de = address of GBC base palette
|
||||
; de = address of CGB base palette
|
||||
and a
|
||||
jr nz, .notBGP
|
||||
ldh a, [rBGP]
|
||||
|
|
@ -822,9 +822,9 @@ DMGPalToGBCPal::
|
|||
and %11
|
||||
call .GetColorAddress
|
||||
ld a, [hli]
|
||||
ld [wGBCPal + color_index * 2], a
|
||||
ld [wCGBPal + color_index * 2], a
|
||||
ld a, [hl]
|
||||
ld [wGBCPal + color_index * 2 + 1], a
|
||||
ld [wCGBPal + color_index * 2 + 1], a
|
||||
|
||||
IF color_index < NUM_PAL_COLORS - 1
|
||||
ld a, b
|
||||
|
|
@ -850,7 +850,7 @@ TransferCurBGPData::
|
|||
or $80 ; auto-increment
|
||||
ldh [rBGPI], a
|
||||
ld de, rBGPD
|
||||
ld hl, wGBCPal
|
||||
ld hl, wCGBPal
|
||||
ld b, %10 ; mask for non-V-blank/non-H-blank STAT mode
|
||||
ldh a, [rLCDC]
|
||||
and 1 << rLCDC_ENABLE
|
||||
|
|
@ -868,7 +868,7 @@ TransferCurBGPData::
|
|||
ret
|
||||
|
||||
BufferBGPPal::
|
||||
; Copy wGBCPal to palette a in wBGPPalsBuffer.
|
||||
; Copy wCGBPal to palette a in wBGPPalsBuffer.
|
||||
push de
|
||||
add a
|
||||
add a
|
||||
|
|
@ -878,7 +878,7 @@ BufferBGPPal::
|
|||
ld h, a
|
||||
ld de, wBGPPalsBuffer
|
||||
add hl, de
|
||||
ld de, wGBCPal
|
||||
ld de, wCGBPal
|
||||
ld c, PALETTE_SIZE
|
||||
.loop
|
||||
ld a, [de]
|
||||
|
|
@ -926,7 +926,7 @@ TransferCurOBPData:
|
|||
or $80 ; auto-increment
|
||||
ldh [rOBPI], a
|
||||
ld de, rOBPD
|
||||
ld hl, wGBCPal
|
||||
ld hl, wCGBPal
|
||||
ld b, %10 ; mask for non-V-blank/non-H-blank STAT mode
|
||||
ldh a, [rLCDC]
|
||||
and 1 << rLCDC_ENABLE
|
||||
|
|
@ -967,20 +967,20 @@ TransferPalColorLCDDisabled:
|
|||
ld [de], a
|
||||
ret
|
||||
|
||||
_UpdateGBCPal_BGP_CheckDMG::
|
||||
ldh a, [hGBC]
|
||||
_UpdateCGBPal_BGP_CheckDMG::
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
ret z
|
||||
; fall through
|
||||
|
||||
_UpdateGBCPal_BGP::
|
||||
_UpdateCGBPal_BGP::
|
||||
FOR index, NUM_ACTIVE_PALS
|
||||
ld a, [wGBCBasePalPointers + index * 2]
|
||||
ld a, [wCGBBasePalPointers + index * 2]
|
||||
ld e, a
|
||||
ld a, [wGBCBasePalPointers + index * 2 + 1]
|
||||
ld a, [wCGBBasePalPointers + index * 2 + 1]
|
||||
ld d, a
|
||||
xor a ; CONVERT_BGP
|
||||
call DMGPalToGBCPal
|
||||
call DMGPalToCGBPal
|
||||
ld a, index
|
||||
call BufferBGPPal
|
||||
ENDR
|
||||
|
|
@ -988,14 +988,14 @@ _UpdateGBCPal_BGP::
|
|||
call TransferBGPPals
|
||||
ret
|
||||
|
||||
_UpdateGBCPal_OBP::
|
||||
_UpdateCGBPal_OBP::
|
||||
FOR index, NUM_ACTIVE_PALS
|
||||
ld a, [wGBCBasePalPointers + index * 2]
|
||||
ld a, [wCGBBasePalPointers + index * 2]
|
||||
ld e, a
|
||||
ld a, [wGBCBasePalPointers + index * 2 + 1]
|
||||
ld a, [wCGBBasePalPointers + index * 2 + 1]
|
||||
ld d, a
|
||||
ld a, c
|
||||
call DMGPalToGBCPal
|
||||
call DMGPalToCGBPal
|
||||
ld a, c
|
||||
dec a
|
||||
rlca
|
||||
|
|
@ -1015,7 +1015,7 @@ _UpdateGBCPal_OBP::
|
|||
ret
|
||||
|
||||
TranslatePalPacketToBGMapAttributes::
|
||||
; translate the SGB pal packets into something usable for the GBC
|
||||
; translate the SGB pal packets into something usable for the CGB
|
||||
push hl
|
||||
pop de
|
||||
ld hl, PalPacketPointers
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ ChangeBGPalColor0_4Frames:
|
|||
ldh a, [rBGP]
|
||||
xor $ff
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ld c, 4
|
||||
call DelayFrames
|
||||
ldh a, [rBGP]
|
||||
xor $ff
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ret
|
||||
|
||||
PredefShakeScreenVertically:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ PrepareOAMData::
|
|||
; Determine OAM data for currently visible
|
||||
; sprites and write it to wShadowOAM.
|
||||
; Yellow code has been changed to use registers more efficiently
|
||||
; as well as tweaking the code to show gbc palettes
|
||||
; as well as tweaking the code to show cgb palettes
|
||||
|
||||
ld a, [wUpdateSpritesEnabled]
|
||||
dec a
|
||||
|
|
|
|||
|
|
@ -482,7 +482,7 @@ ItemUseBall:
|
|||
|
||||
push hl
|
||||
|
||||
; If the Pokémon is transformed, the Pokémon is assumed to be a Ditto.
|
||||
; Bug: If the Pokémon is transformed, the Pokémon is assumed to be a Ditto.
|
||||
; This is a bug because a wild Pokémon could have used Transform via
|
||||
; Mirror Move even though the only wild Pokémon that knows Transform is Ditto.
|
||||
ld hl, wEnemyBattleStatus3
|
||||
|
|
@ -828,7 +828,7 @@ ItemUseEvoStone:
|
|||
ld a, SFX_HEAL_AILMENT
|
||||
call PlaySoundWaitForCurrent
|
||||
call WaitForSoundToFinish
|
||||
ld a, $01
|
||||
ld a, TRUE
|
||||
ld [wForceEvolution], a
|
||||
callfar TryEvolvingMon ; try to evolve pokemon
|
||||
pop af
|
||||
|
|
@ -2321,10 +2321,10 @@ ItemUsePPRestore:
|
|||
|
||||
.fullyRestorePP
|
||||
ld a, [hl] ; move PP
|
||||
; Note that this code has a bug. It doesn't mask out the upper two bits, which
|
||||
; are used to count how many PP Ups have been used on the move. So, Max Ethers
|
||||
; and Max Elixirs will not be detected as having no effect on a move with full
|
||||
; PP if the move has had any PP Ups used on it.
|
||||
; Bug: This code doesn't mask out the upper two bits, which are used to count
|
||||
; how many PP Ups have been used on the move.
|
||||
; So, Max Ethers and Max Elixirs will not be detected as having no effect on
|
||||
; a move with full PP if the move has had any PP Ups used on it.
|
||||
cp b ; does current PP equal max PP?
|
||||
ret z
|
||||
jr .storeNewAmount
|
||||
|
|
@ -2794,7 +2794,7 @@ GetMaxPP:
|
|||
and %11000000 ; get PP Up count
|
||||
pop bc
|
||||
or b ; place normal max PP in 6 lower bits of a
|
||||
assert wMoveData + MOVE_PP + 1 == wPPUpCountAndMaxPP
|
||||
ASSERT wMoveData + MOVE_PP + 1 == wPPUpCountAndMaxPP
|
||||
ld h, d
|
||||
ld l, e
|
||||
inc hl ; hl = wPPUpCountAndMaxPP
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@ DisplayTownMap:
|
|||
hlcoord 1, 0
|
||||
ld de, wNameBuffer
|
||||
call PlaceString
|
||||
ld hl, wShadowOAM
|
||||
ld de, wTileMapBackup
|
||||
ld bc, $10
|
||||
ld hl, wShadowOAMSprite00
|
||||
ld de, wShadowOAMBackupSprite00
|
||||
ld bc, 4 * 4
|
||||
call CopyData
|
||||
ld hl, vSprites tile BIRD_BASE_TILE
|
||||
ld de, TownMapCursor
|
||||
|
|
@ -63,8 +63,8 @@ DisplayTownMap:
|
|||
ld de, wNameBuffer
|
||||
call PlaceString
|
||||
ld hl, wShadowOAMSprite04
|
||||
ld de, wTileMapBackup + 16
|
||||
ld bc, $10
|
||||
ld de, wShadowOAMBackupSprite04
|
||||
ld bc, 4 * 4
|
||||
call CopyData
|
||||
.inputLoop
|
||||
call TownMapSpriteBlinkingAnimation
|
||||
|
|
@ -222,7 +222,7 @@ LoadTownMap_Fly::
|
|||
ld [wDestinationMap], a
|
||||
ld hl, wStatusFlags6
|
||||
set BIT_FLY_WARP, [hl]
|
||||
assert wStatusFlags6 + 1 == wStatusFlags7
|
||||
ASSERT wStatusFlags6 + 1 == wStatusFlags7
|
||||
inc hl
|
||||
set BIT_USED_FLY, [hl]
|
||||
.pressedB
|
||||
|
|
@ -376,8 +376,8 @@ DrawPlayerOrBirdSprite:
|
|||
cp "@"
|
||||
jr nz, .loop
|
||||
ld hl, wShadowOAM
|
||||
ld de, wTileMapBackup
|
||||
ld bc, $a0
|
||||
ld de, wShadowOAMBackup
|
||||
ld bc, NUM_SPRITE_OAM_STRUCTS * 4
|
||||
jp CopyData
|
||||
|
||||
DisplayWildLocations:
|
||||
|
|
@ -423,8 +423,8 @@ DisplayWildLocations:
|
|||
call DrawPlayerOrBirdSprite
|
||||
.done
|
||||
ld hl, wShadowOAM
|
||||
ld de, wTileMapBackup
|
||||
ld bc, $a0
|
||||
ld de, wShadowOAMBackup
|
||||
ld bc, NUM_SPRITE_OAM_STRUCTS * 4
|
||||
jp CopyData
|
||||
|
||||
AreaUnknownText:
|
||||
|
|
@ -611,15 +611,15 @@ TownMapSpriteBlinkingAnimation::
|
|||
cp 50
|
||||
jr nz, .done
|
||||
; show sprites when the counter reaches 50
|
||||
ld hl, wTileMapBackup
|
||||
ld hl, wShadowOAMBackup
|
||||
ld de, wShadowOAM
|
||||
ld bc, $90
|
||||
ld bc, (NUM_SPRITE_OAM_STRUCTS - 4) * 4
|
||||
call CopyData
|
||||
xor a
|
||||
jr .done
|
||||
.hideSprites
|
||||
ld hl, wShadowOAM
|
||||
ld b, $24
|
||||
ld b, NUM_SPRITE_OAM_STRUCTS - 4
|
||||
ld de, $4
|
||||
.hideSpritesLoop
|
||||
ld [hl], $a0
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@ CableClub_DoBattleOrTradeAgain:
|
|||
ld [hli], a
|
||||
dec b
|
||||
jr nz, .zeroPlayerDataPatchListLoop
|
||||
ld hl, wGrassRate
|
||||
ld bc, wTrainerHeaderPtr - wGrassRate
|
||||
ld hl, wLinkEnemyTrainerName
|
||||
ld bc, wTrainerHeaderPtr - wLinkEnemyTrainerName
|
||||
.zeroEnemyPartyLoop
|
||||
xor a
|
||||
ld [hli], a
|
||||
|
|
@ -822,7 +822,7 @@ TradeCenter_Trade:
|
|||
ld a, [wPartyCount]
|
||||
dec a
|
||||
ld [wWhichPokemon], a
|
||||
ld a, $1
|
||||
ld a, TRUE
|
||||
ld [wForceEvolution], a
|
||||
ld a, [wTradingWhichEnemyMon]
|
||||
ld hl, wEnemyPartySpecies
|
||||
|
|
|
|||
|
|
@ -656,20 +656,20 @@ LinkMenu:
|
|||
ld hl, wTopMenuItemY
|
||||
ld a, 5
|
||||
ld [hli], a
|
||||
assert wTopMenuItemY + 1 == wTopMenuItemX
|
||||
ASSERT wTopMenuItemY + 1 == wTopMenuItemX
|
||||
ld a, 6
|
||||
ld [hli], a
|
||||
assert wTopMenuItemX + 1 == wCurrentMenuItem
|
||||
ASSERT wTopMenuItemX + 1 == wCurrentMenuItem
|
||||
xor a
|
||||
ld [hli], a
|
||||
inc hl
|
||||
assert wCurrentMenuItem + 2 == wMaxMenuItem
|
||||
ASSERT wCurrentMenuItem + 2 == wMaxMenuItem
|
||||
ld a, 3
|
||||
ld [hli], a
|
||||
assert wMaxMenuItem + 1 == wMenuWatchedKeys
|
||||
assert 2 == B_BUTTON
|
||||
ASSERT wMaxMenuItem + 1 == wMenuWatchedKeys
|
||||
ASSERT 2 == B_BUTTON
|
||||
ld [hli], a
|
||||
assert wMenuWatchedKeys + 1 == wLastMenuItem
|
||||
ASSERT wMenuWatchedKeys + 1 == wLastMenuItem
|
||||
xor a
|
||||
ld [hl], a
|
||||
.waitForInputLoop
|
||||
|
|
@ -741,7 +741,7 @@ LinkMenu:
|
|||
ld d, " "
|
||||
ld e, "▷"
|
||||
ld a, [wLinkMenuSelectionSendBuffer]
|
||||
and (B_BUTTON << 2) ; was B button pressed?
|
||||
and B_BUTTON << 2 ; was B button pressed?
|
||||
jr nz, .updateCursorPosition
|
||||
; A button was pressed
|
||||
ld a, [wCurrentMenuItem]
|
||||
|
|
@ -762,7 +762,7 @@ LinkMenu:
|
|||
call Func_f59ec
|
||||
call LoadScreenTilesFromBuffer1
|
||||
ld a, [wLinkMenuSelectionSendBuffer]
|
||||
and (B_BUTTON << 2) ; was B button pressed?
|
||||
and B_BUTTON << 2 ; was B button pressed?
|
||||
jr nz, .choseCancel ; cancel if B pressed
|
||||
ld a, [wCurrentMenuItem]
|
||||
cp $2
|
||||
|
|
|
|||
|
|
@ -278,7 +278,7 @@ CheckForPlayerNameInSRAM:
|
|||
ld [MBC1SRamEnable], a
|
||||
ld a, SRAM_BANKING_MODE
|
||||
ld [MBC1SRamBankingMode], a
|
||||
assert SRAM_BANKING_MODE == BANK("Save Data")
|
||||
ASSERT SRAM_BANKING_MODE == BANK("Save Data")
|
||||
ld [MBC1SRamBank], a
|
||||
ld b, NAME_LENGTH
|
||||
ld hl, sPlayerName
|
||||
|
|
|
|||
|
|
@ -29,9 +29,9 @@ SurfingPikachuMinigame::
|
|||
ldh [rBGP], a
|
||||
ldh [rOBP0], a
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
call ClearObjectAnimationBuffers
|
||||
call ClearSprites
|
||||
xor a
|
||||
|
|
@ -257,8 +257,8 @@ SurfingPikachuMinigame_LoadGFXAndLayout:
|
|||
ldh [rOBP0], a
|
||||
ld a, $e0
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
|
||||
SurfingPikachuMinigame_SetBGPals:
|
||||
|
|
@ -267,13 +267,13 @@ SurfingPikachuMinigame_SetBGPals:
|
|||
jr nz, .sgb
|
||||
ld a, $d0
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ret
|
||||
|
||||
.sgb
|
||||
ld a, $e4
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ret
|
||||
|
||||
Func_f81ff:
|
||||
|
|
@ -2376,8 +2376,8 @@ SurfingPikachuMinigameIntro:
|
|||
ldh [rOBP0], a
|
||||
ld a, $e0
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
call DelayFrame
|
||||
ld a, MUSIC_SURFING_PIKACHU
|
||||
ld c, BANK(Music_SurfingPikachu)
|
||||
|
|
@ -2518,9 +2518,9 @@ SurfingPikachuMinigame_BlankPals:
|
|||
ldh [rBGP], a
|
||||
ldh [rOBP0], a
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
|
||||
SurfingPikachuMinigame_NormalPals:
|
||||
|
|
@ -2529,9 +2529,9 @@ SurfingPikachuMinigame_NormalPals:
|
|||
ldh [rOBP0], a
|
||||
ld a, $e0
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
|
||||
SurfingPikachu_ClearTileMap:
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ HallOfFamePC:
|
|||
call FillFourRowsWithBlack
|
||||
ld a, %11000000
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
call EnableLCD
|
||||
call StopAllMusic
|
||||
ld hl, vBGMap1
|
||||
|
|
@ -46,7 +46,7 @@ FadeInCreditsText:
|
|||
.loop
|
||||
ld a, [hli]
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ld c, 5
|
||||
call DelayFrames
|
||||
dec b
|
||||
|
|
@ -78,7 +78,7 @@ DisplayCreditsMon:
|
|||
call CreditsCopyTileMapToVRAM
|
||||
ld a, %11111100 ; make the mon a black silhouette
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ld hl, rLCDC
|
||||
res rLCDC_BG_TILEMAP, [hl]
|
||||
ld a, 1
|
||||
|
|
@ -94,7 +94,7 @@ DisplayCreditsMon:
|
|||
call ScrollCreditsMonLeft
|
||||
ld a, %11000000
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
xor a
|
||||
ldh [hSCX], a
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ HoFShowMonOrPlayer:
|
|||
call RunPaletteCommand
|
||||
ld a, %11100100
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ld c, $31 ; back pic
|
||||
call HoFLoadMonPlayerPicTileIDs
|
||||
ld d, $a0
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ PlayShootingStar:
|
|||
farcall LoadCopyrightAndTextBoxTiles
|
||||
ldpal a, SHADE_BLACK, SHADE_DARK, SHADE_LIGHT, SHADE_WHITE
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ld c, 180
|
||||
call DelayFrames
|
||||
call ClearScreen
|
||||
|
|
@ -122,6 +122,7 @@ PlayShootingStar:
|
|||
call DelayFrames
|
||||
farcall AnimateShootingStar
|
||||
push af
|
||||
; A `call LoadPresentsGraphic` here was removed in localization
|
||||
pop af
|
||||
jr c, .next ; skip the delay if the user interrupted the animation
|
||||
ld c, 40
|
||||
|
|
@ -147,7 +148,11 @@ IntroDrawBlackBars:
|
|||
ld c, BG_MAP_WIDTH * 4
|
||||
jp IntroPlaceBlackTiles
|
||||
|
||||
EmptyFunc2:
|
||||
LoadPresentsGraphic: ; unreferenced
|
||||
; This routine loaded the "PRESENTS" text graphic (tiles
|
||||
; $67, $68, $69, $6A, $6B, and $6C from gamefreak_presents.2bpp)
|
||||
; at coordinates (11, 7) in the Japanese versions.
|
||||
; It was dummied out in the English localization.
|
||||
ret
|
||||
|
||||
GameFreakIntro:
|
||||
|
|
|
|||
|
|
@ -143,9 +143,9 @@ YellowIntroScene0:
|
|||
ldh [rOBP0], a
|
||||
ld a, $c4
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ld a, 130
|
||||
ld [wYellowIntroSceneTimer], a
|
||||
call YellowIntro_NextScene
|
||||
|
|
@ -198,7 +198,7 @@ YellowIntroScene2_PlaceGraphic:
|
|||
add $10
|
||||
dec b
|
||||
jr nz, .row
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jr z, .dmg_sgb
|
||||
; We can actually set palettes!
|
||||
|
|
@ -278,7 +278,7 @@ YellowIntroScene4:
|
|||
call YellowIntro_BlankPalsDelay2AndDisableLCD
|
||||
ld c, $5
|
||||
call UpdateMusicCTimes
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jr z, .dmg_sgb
|
||||
; We can actually set palettes!
|
||||
|
|
@ -566,9 +566,9 @@ YellowIntroScene14:
|
|||
ldh [rOBP0], a
|
||||
and $f0
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
|
||||
.expired
|
||||
|
|
@ -596,8 +596,8 @@ YellowIntroScene14:
|
|||
ld a, $e4
|
||||
ldh [rOBP0], a
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
lb de, $58, $58
|
||||
ld a, $7
|
||||
call YellowIntro_SpawnAnimatedObjectAndSavePointer
|
||||
|
|
@ -619,8 +619,8 @@ YellowIntroScene15:
|
|||
ldh a, [rBGP]
|
||||
xor $3
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
ret
|
||||
|
||||
.expired
|
||||
|
|
@ -629,8 +629,8 @@ YellowIntroScene15:
|
|||
ld a, $e4
|
||||
ldh [rBGP], a
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call YellowIntro_NextScene
|
||||
YellowIntroScene16:
|
||||
ld de, YellowIntroPalSequence_f9e0a
|
||||
|
|
@ -638,8 +638,8 @@ YellowIntroScene16:
|
|||
jr c, .expired
|
||||
ldh [rOBP0], a
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
ret
|
||||
|
||||
.expired
|
||||
|
|
@ -750,9 +750,9 @@ YellowIntro_BlankPalsDelay2AndDisableLCD:
|
|||
ldh [rBGP], a
|
||||
ldh [rOBP0], a
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
call DisableLCD
|
||||
|
|
@ -773,9 +773,9 @@ Func_f9e9a:
|
|||
ldh [rOBP0], a
|
||||
ld a, $e0
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
|
||||
YellowIntro_Copy8BitSineWave:
|
||||
|
|
@ -922,9 +922,9 @@ YellowIntro_BlankPalettes:
|
|||
ldh [rBGP], a
|
||||
ldh [rOBP0], a
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
|
||||
YellowIntro_AnimatedObjectSpawnStateData:
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ DEF START_MONEY EQU $3000
|
|||
|
||||
ld hl, wObtainedBadges
|
||||
ld [hli], a
|
||||
assert wObtainedBadges + 1 == wUnusedObtainedBadges
|
||||
ASSERT wObtainedBadges + 1 == wUnusedObtainedBadges
|
||||
ld [hl], a
|
||||
|
||||
ld hl, wPlayerCoins
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ FadeInIntroPic:
|
|||
.next
|
||||
ld a, [hli]
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ld c, 10
|
||||
call DelayFrames
|
||||
dec b
|
||||
|
|
@ -212,7 +212,7 @@ MovePicLeft:
|
|||
|
||||
ld a, %11100100
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
.next
|
||||
call DelayFrame
|
||||
ldh a, [rWX]
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ LoadShootingStarGraphics:
|
|||
ldh [rOBP0], a
|
||||
ld a, $a4
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ld de, MoveAnimationTiles1 tile 3 ; star tile (top left quadrant)
|
||||
ld hl, vChars1 tile $20
|
||||
lb bc, BANK(MoveAnimationTiles1), 1
|
||||
|
|
@ -77,7 +77,7 @@ AnimateShootingStar:
|
|||
ld hl, rOBP0
|
||||
rrc [hl]
|
||||
rrc [hl]
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
ld c, 10
|
||||
call CheckForUserInterruption
|
||||
ret c
|
||||
|
|
@ -220,7 +220,7 @@ MoveDownSmallStars:
|
|||
ldh a, [rOBP1]
|
||||
xor %10100000
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
ld c, 3
|
||||
call CheckForUserInterruption
|
||||
ret c
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ PrepareTitleScreen::
|
|||
ld [wLetterPrintingDelayFlags], a
|
||||
ld hl, wStatusFlags6
|
||||
ld [hli], a
|
||||
assert wStatusFlags6 + 1 == wStatusFlags7
|
||||
ASSERT wStatusFlags6 + 1 == wStatusFlags7
|
||||
ld [hli], a
|
||||
assert wStatusFlags7 + 1 == wElite4Flags
|
||||
ASSERT wStatusFlags7 + 1 == wElite4Flags
|
||||
ld [hl], a
|
||||
ld a, BANK(Music_TitleScreen)
|
||||
ld [wAudioROMBank], a
|
||||
|
|
@ -76,7 +76,7 @@ DisplayTitleScreen:
|
|||
call GBPalNormal
|
||||
ld a, %11100000
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
|
||||
; make pokemon logo bounce up and down
|
||||
ld bc, hSCY ; background scroll Y
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ LoadTradingGFXAndMonNames:
|
|||
ld a, $f0 ; SGB OBP0
|
||||
.next
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
call EnableLCD
|
||||
xor a
|
||||
ldh [hAutoBGTransferEnabled], a
|
||||
|
|
@ -201,7 +201,7 @@ LoadTradingGFXAndMonNames:
|
|||
Trade_LoadMonPartySpriteGfx:
|
||||
ld a, %11010000
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
farjp LoadMonPartySpriteGfx
|
||||
|
||||
Trade_SwapNames:
|
||||
|
|
@ -305,7 +305,7 @@ Trade_AnimateBallEnteringLinkCable:
|
|||
call DelayFrames
|
||||
ld a, %11100100
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
xor a
|
||||
ld [wLinkCableAnimBulgeToggle], a
|
||||
lb bc, $20, $60
|
||||
|
|
@ -386,7 +386,7 @@ Trade_AnimLeftToRight:
|
|||
ld [wTradedMonMovingRight], a
|
||||
ld a, %11100100
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
ld a, $54
|
||||
ld [wBaseCoordX], a
|
||||
ld a, $1c
|
||||
|
|
@ -604,7 +604,7 @@ Trade_AnimCircledMon:
|
|||
ldh a, [rBGP]
|
||||
xor $3c ; make link cable flash
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ld hl, wShadowOAMSprite00TileID
|
||||
ld de, $4
|
||||
ld c, $14
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ InitCutAnimOAM:
|
|||
ld [wWhichAnimationOffsets], a
|
||||
ld a, %11100100
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
ld a, [wCutTile]
|
||||
cp $52
|
||||
jr z, .grass
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ AnimCut:
|
|||
ldh a, [rOBP1]
|
||||
xor $64
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
call DelayFrame
|
||||
pop bc
|
||||
dec c
|
||||
|
|
@ -69,7 +69,7 @@ AnimCutGrass_UpdateOAMEntries:
|
|||
ldh a, [rOBP1]
|
||||
xor $64
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
call DelayFrame
|
||||
pop bc
|
||||
dec c
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ AnimateBoulderDust:
|
|||
ld [wUpdateSpritesEnabled], a
|
||||
ld a, %11100100
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
call LoadSmokeTileFourTimes
|
||||
farcall WriteCutOrBoulderDustAnimationOAMBlock
|
||||
ld c, 8 ; number of steps in animation
|
||||
|
|
@ -22,7 +22,7 @@ AnimateBoulderDust:
|
|||
ldh a, [rOBP1]
|
||||
xor %01100100
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
call Delay3
|
||||
pop bc
|
||||
dec c
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ AnimateHealingMachine:
|
|||
push af
|
||||
ld a, $e0
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
ld hl, wShadowOAMSprite33
|
||||
ld de, PokeCenterOAMData
|
||||
call CopyHealingMachineOAM
|
||||
|
|
@ -54,7 +54,7 @@ AnimateHealingMachine:
|
|||
call DelayFrames
|
||||
pop af
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
pop hl
|
||||
pop af
|
||||
ld [hl], a
|
||||
|
|
@ -81,7 +81,7 @@ FlashSprite8Times:
|
|||
ldh a, [rOBP1]
|
||||
xor d
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
ld c, 10
|
||||
call DelayFrames
|
||||
dec b
|
||||
|
|
|
|||
|
|
@ -396,7 +396,7 @@ CheckForBoulderCollisionWithSprites:
|
|||
ld a, [hli]
|
||||
ld b, a
|
||||
ldh a, [hPlayerFacing]
|
||||
assert BIT_FACING_DOWN == 0
|
||||
ASSERT BIT_FACING_DOWN == 0
|
||||
rrca
|
||||
jr c, .pushingDown
|
||||
; pushing up
|
||||
|
|
|
|||
|
|
@ -97,8 +97,8 @@ TrainerWalkUpToPlayer::
|
|||
swap a
|
||||
dec a
|
||||
ld c, a ; bc = steps yet to go to reach player
|
||||
xor a
|
||||
ld b, a ; a = direction to go to
|
||||
xor a ; NPC_MOVEMENT_DOWN
|
||||
ld b, a
|
||||
jr .writeWalkScript
|
||||
.facingUp
|
||||
ld a, [wTrainerScreenY]
|
||||
|
|
@ -111,7 +111,7 @@ TrainerWalkUpToPlayer::
|
|||
dec a
|
||||
ld c, a ; bc = steps yet to go to reach player
|
||||
ld b, $0
|
||||
ld a, $40 ; a = direction to go to
|
||||
ld a, NPC_MOVEMENT_UP
|
||||
jr .writeWalkScript
|
||||
.facingRight
|
||||
ld a, [wTrainerScreenX]
|
||||
|
|
@ -124,7 +124,7 @@ TrainerWalkUpToPlayer::
|
|||
dec a
|
||||
ld c, a ; bc = steps yet to go to reach player
|
||||
ld b, $0
|
||||
ld a, $c0 ; a = direction to go to
|
||||
ld a, NPC_MOVEMENT_RIGHT
|
||||
jr .writeWalkScript
|
||||
.facingLeft
|
||||
ld a, [wTrainerScreenX]
|
||||
|
|
@ -137,7 +137,7 @@ TrainerWalkUpToPlayer::
|
|||
dec a
|
||||
ld c, a ; bc = steps yet to go to reach player
|
||||
ld b, $0
|
||||
ld a, $80 ; a = direction to go to
|
||||
ld a, NPC_MOVEMENT_LEFT
|
||||
.writeWalkScript
|
||||
ld hl, wNPCMovementDirections2
|
||||
ld de, wNPCMovementDirections2
|
||||
|
|
|
|||
|
|
@ -845,7 +845,7 @@ PikaPicAnimCommand_thunderbolt:
|
|||
.UpdatePal:
|
||||
ld a, b
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
call DelayFrames
|
||||
ret
|
||||
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ Evolution_PartyMonLoop: ; loop over party mons
|
|||
jp nz, .nextEvoEntry1 ; don't evolve if we're in a battle as wCurPartySpecies could be holding the last mon sent out
|
||||
|
||||
ld b, a ; evolution item
|
||||
ld a, [wCurItem]
|
||||
ld a, [wCurItem] ; same as [wCurPartySpecies]
|
||||
cp b ; was the evolution item in this entry used?
|
||||
jp nz, .nextEvoEntry1 ; if not, go to the next evolution entry
|
||||
.checkLevel
|
||||
|
|
@ -264,7 +264,7 @@ Evolution_PartyMonLoop: ; loop over party mons
|
|||
RenameEvolvedMon:
|
||||
; Renames the mon to its new, evolved form's standard name unless it had a
|
||||
; nickname, in which case the nickname is kept.
|
||||
assert wCurSpecies == wNameListIndex ; save+restore wCurSpecies while using wNameListIndex
|
||||
ASSERT wCurSpecies == wNameListIndex ; save+restore wCurSpecies while using wNameListIndex
|
||||
ld a, [wCurSpecies]
|
||||
push af
|
||||
ld a, [wMonHIndex]
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
PromptUserToPlaySlots:
|
||||
call SaveScreenTilesToBuffer2
|
||||
ld a, BANK(DisplayTextIDInit)
|
||||
assert BANK(DisplayTextIDInit) == 1 << BIT_NO_AUTO_TEXT_BOX
|
||||
ASSERT BANK(DisplayTextIDInit) == 1 << BIT_NO_AUTO_TEXT_BOX
|
||||
ld [wAutoTextBoxDrawingControl], a ; 1 << BIT_NO_AUTO_TEXT_BOX
|
||||
ld b, a ; BANK(DisplayTextIDInit)
|
||||
ld hl, DisplayTextIDInit
|
||||
|
|
@ -28,7 +28,7 @@ PromptUserToPlaySlots:
|
|||
call GBPalNormal
|
||||
ld a, $e4
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
ld hl, wStatusFlags5
|
||||
set BIT_NO_TEXT_DELAY, [hl]
|
||||
xor a
|
||||
|
|
@ -299,8 +299,8 @@ SlotMachine_StopWheel1Early:
|
|||
cp HIGH(SLOTSCHERRY)
|
||||
jr nz, .stopWheel
|
||||
ret
|
||||
; It looks like this was intended to make the wheel stop when a 7 symbol was
|
||||
; visible, but it has a bug and so the wheel stops randomly.
|
||||
; Bug: This looks intended to make the wheel stop when a
|
||||
; 7 symbol was visible, but instead the wheel stops randomly.
|
||||
.sevenAndBarMode
|
||||
ld c, $3
|
||||
.loop
|
||||
|
|
@ -459,7 +459,7 @@ SlotMachine_CheckForMatches:
|
|||
ldh a, [rBGP]
|
||||
xor $40
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateCGBPal_BGP
|
||||
ld c, 5
|
||||
call DelayFrames
|
||||
dec b
|
||||
|
|
@ -476,7 +476,7 @@ SlotMachine_CheckForMatches:
|
|||
call SlotMachine_PrintPayoutCoins
|
||||
ld a, $e4
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
jp .done
|
||||
|
||||
SymbolLinedUpSlotMachineText:
|
||||
|
|
@ -702,7 +702,7 @@ SlotMachine_PayCoinsToPlayer:
|
|||
ldh a, [rOBP0]
|
||||
xor $40 ; make the slot wheel symbols flash
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateCGBPal_OBP0
|
||||
ld a, 5
|
||||
.skip1
|
||||
ld [wAnimCounter], a
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
UpdateGBCPal_BGP::
|
||||
UpdateCGBPal_BGP::
|
||||
push af
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jr z, .notGBC
|
||||
jr z, .notCGB
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
|
|
@ -11,20 +11,20 @@ UpdateGBCPal_BGP::
|
|||
ld a, [wLastBGP]
|
||||
cp b
|
||||
jr z, .noChangeInBGP
|
||||
farcall _UpdateGBCPal_BGP
|
||||
farcall _UpdateCGBPal_BGP
|
||||
.noChangeInBGP
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
.notGBC
|
||||
.notCGB
|
||||
pop af
|
||||
ret
|
||||
|
||||
UpdateGBCPal_OBP0::
|
||||
UpdateCGBPal_OBP0::
|
||||
push af
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jr z, .notGBC
|
||||
jr z, .notCGB
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
|
|
@ -33,23 +33,23 @@ UpdateGBCPal_OBP0::
|
|||
ld a, [wLastOBP0]
|
||||
cp b
|
||||
jr z, .noChangeInOBP0
|
||||
ld b, BANK(_UpdateGBCPal_OBP)
|
||||
ld hl, _UpdateGBCPal_OBP
|
||||
ld b, BANK(_UpdateCGBPal_OBP)
|
||||
ld hl, _UpdateCGBPal_OBP
|
||||
ld c, CONVERT_OBP0
|
||||
call Bankswitch
|
||||
.noChangeInOBP0
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
.notGBC
|
||||
.notCGB
|
||||
pop af
|
||||
ret
|
||||
|
||||
UpdateGBCPal_OBP1::
|
||||
UpdateCGBPal_OBP1::
|
||||
push af
|
||||
ldh a, [hGBC]
|
||||
ldh a, [hOnCGB]
|
||||
and a
|
||||
jr z, .notGBC
|
||||
jr z, .notCGB
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
|
|
@ -58,15 +58,15 @@ UpdateGBCPal_OBP1::
|
|||
ld a, [wLastOBP1]
|
||||
cp b
|
||||
jr z, .noChangeInOBP1
|
||||
ld b, BANK(_UpdateGBCPal_OBP)
|
||||
ld hl, _UpdateGBCPal_OBP
|
||||
ld b, BANK(_UpdateCGBPal_OBP)
|
||||
ld hl, _UpdateCGBPal_OBP
|
||||
ld c, CONVERT_OBP1
|
||||
call Bankswitch
|
||||
.noChangeInOBP1
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
.notGBC
|
||||
.notCGB
|
||||
pop af
|
||||
ret
|
||||
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ LoadGBPal::
|
|||
ldh [rOBP0], a
|
||||
ld a, [hli]
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
|
||||
GBFadeInFromBlack::
|
||||
|
|
@ -37,9 +37,9 @@ GBFadeIncCommon:
|
|||
ldh [rOBP0], a
|
||||
ld a, [hli]
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ld c, 8
|
||||
call DelayFrames
|
||||
dec b
|
||||
|
|
@ -62,9 +62,9 @@ GBFadeDecCommon:
|
|||
ldh [rOBP0], a
|
||||
ld a, [hld]
|
||||
ldh [rBGP], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ld c, 8
|
||||
call DelayFrames
|
||||
dec b
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ DisplayListMenuIDLoop::
|
|||
and a ; PCPOKEMONLISTMENU?
|
||||
jr z, .pokemonList
|
||||
; if it's an item menu
|
||||
assert wCurListMenuItem == wCurItem
|
||||
ASSERT wCurListMenuItem == wCurItem
|
||||
push hl
|
||||
call GetItemPrice
|
||||
pop hl
|
||||
|
|
@ -147,7 +147,7 @@ DisplayListMenuIDLoop::
|
|||
call GetName
|
||||
jr .storeChosenEntry
|
||||
.pokemonList
|
||||
assert wCurListMenuItem == wCurPartySpecies
|
||||
ASSERT wCurListMenuItem == wCurPartySpecies
|
||||
ld hl, wPartyCount
|
||||
ld a, [wListPointer]
|
||||
cp l ; is it a list of party pokemon or box pokemon?
|
||||
|
|
|
|||
|
|
@ -1359,12 +1359,12 @@ LoadCurrentMapView::
|
|||
ld e, a
|
||||
ld a, [wCurrentTileBlockMapViewPointer + 1]
|
||||
ld d, a
|
||||
ld hl, wTileMapBackup
|
||||
ld b, $05
|
||||
ld hl, wSurroundingTiles
|
||||
ld b, SCREEN_BLOCK_HEIGHT
|
||||
.rowLoop ; each loop iteration fills in one row of tile blocks
|
||||
push hl
|
||||
push de
|
||||
ld c, $06
|
||||
ld c, SCREEN_BLOCK_WIDTH
|
||||
.rowInnerLoop ; loop to draw each tile block of the current row
|
||||
push bc
|
||||
push de
|
||||
|
|
@ -1393,7 +1393,7 @@ LoadCurrentMapView::
|
|||
.noCarry
|
||||
; update tile map pointer to next row's address
|
||||
pop hl
|
||||
ld a, $60
|
||||
ld a, SURROUNDING_WIDTH * BLOCK_HEIGHT
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .noCarry2
|
||||
|
|
@ -1401,19 +1401,19 @@ LoadCurrentMapView::
|
|||
.noCarry2
|
||||
dec b
|
||||
jr nz, .rowLoop
|
||||
ld hl, wTileMapBackup
|
||||
ld bc, $0
|
||||
ld hl, wSurroundingTiles
|
||||
ld bc, 0
|
||||
.adjustForYCoordWithinTileBlock
|
||||
ld a, [wYBlockCoord]
|
||||
and a
|
||||
jr z, .adjustForXCoordWithinTileBlock
|
||||
ld bc, $30
|
||||
ld bc, SURROUNDING_WIDTH * 2
|
||||
add hl, bc
|
||||
.adjustForXCoordWithinTileBlock
|
||||
ld a, [wXBlockCoord]
|
||||
and a
|
||||
jr z, .copyToVisibleAreaBuffer
|
||||
ld bc, $2
|
||||
ld bc, BLOCK_WIDTH / 2
|
||||
add hl, bc
|
||||
.copyToVisibleAreaBuffer
|
||||
decoord 0, 0 ; base address for the tiles that are directly transferred to VRAM during V-blank
|
||||
|
|
@ -1426,7 +1426,7 @@ LoadCurrentMapView::
|
|||
inc de
|
||||
dec c
|
||||
jr nz, .rowInnerLoop2
|
||||
ld a, $04
|
||||
ld a, SURROUNDING_WIDTH - SCREEN_WIDTH
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .noCarry3
|
||||
|
|
@ -1520,7 +1520,7 @@ ScheduleColumnRedrawHelper::
|
|||
ld a, [hl]
|
||||
ld [de], a
|
||||
inc de
|
||||
ld a, 19
|
||||
ld a, SCREEN_WIDTH - 1
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .noCarry
|
||||
|
|
@ -1561,22 +1561,18 @@ DrawTileBlock::
|
|||
ld d, h
|
||||
ld e, l ; de = address of the tile block's tiles
|
||||
pop hl
|
||||
ld c, $04 ; 4 loop iterations
|
||||
ld c, BLOCK_HEIGHT ; 4 loop iterations
|
||||
.loop ; each loop iteration, write 4 tile numbers
|
||||
push bc
|
||||
REPT BLOCK_WIDTH - 1
|
||||
ld a, [de]
|
||||
ld [hli], a
|
||||
inc de
|
||||
ld a, [de]
|
||||
ld [hli], a
|
||||
inc de
|
||||
ld a, [de]
|
||||
ld [hli], a
|
||||
inc de
|
||||
ENDR
|
||||
ld a, [de]
|
||||
ld [hl], a
|
||||
inc de
|
||||
ld bc, $15
|
||||
ld bc, SURROUNDING_WIDTH - (BLOCK_WIDTH - 1)
|
||||
add hl, bc
|
||||
pop bc
|
||||
dec c
|
||||
|
|
|
|||
|
|
@ -26,9 +26,9 @@ GBPalNormal::
|
|||
ldh [rBGP], a
|
||||
ld a, %11010000 ; 3100
|
||||
ldh [rOBP0], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
|
||||
GBPalWhiteOut::
|
||||
|
|
@ -37,9 +37,9 @@ GBPalWhiteOut::
|
|||
ldh [rBGP], a
|
||||
ldh [rOBP0], a
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_BGP
|
||||
call UpdateGBCPal_OBP0
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_BGP
|
||||
call UpdateCGBPal_OBP0
|
||||
call UpdateCGBPal_OBP1
|
||||
ret
|
||||
|
||||
RunDefaultPaletteCommand::
|
||||
|
|
|
|||
|
|
@ -112,7 +112,11 @@ LoadFrontSpriteByMonIndex::
|
|||
cp NUM_POKEMON + 1
|
||||
jr c, .validDexNumber ; dex >#151 invalid
|
||||
.invalidDexNumber
|
||||
ld a, RHYDON ; $1
|
||||
; This is the so-called "Rhydon trap" or "Rhydon glitch"
|
||||
; to fail-safe invalid dex numbers
|
||||
; (see https://glitchcity.wiki/wiki/Rhydon_trap
|
||||
; or https://bulbapedia.bulbagarden.net/wiki/Rhydon_glitch)
|
||||
ld a, RHYDON
|
||||
ld [wCurPartySpecies], a
|
||||
ret
|
||||
.validDexNumber
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
_Start::
|
||||
cp GBC
|
||||
jr z, .gbc
|
||||
cp CGB
|
||||
jr z, .cgb
|
||||
xor a
|
||||
jr .ok
|
||||
.gbc
|
||||
.cgb
|
||||
ld a, TRUE
|
||||
.ok
|
||||
ldh [hGBC], a
|
||||
ldh [hOnCGB], a
|
||||
jp Init
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ NextChar::
|
|||
inc de
|
||||
jp PlaceNextChar
|
||||
|
||||
NullChar:: ; unused
|
||||
NullChar::
|
||||
ld b, h
|
||||
ld c, l
|
||||
pop hl
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ UnknownText_2812:: ; unreferenced
|
|||
; this function is used to display sign messages, sprite dialog, etc.
|
||||
; INPUT: [hSpriteIndex] = sprite ID or [hTextID] = text ID
|
||||
DisplayTextID::
|
||||
assert hSpriteIndex == hTextID ; these are at the same memory location
|
||||
ASSERT hSpriteIndex == hTextID ; these are at the same memory location
|
||||
ldh a, [hLoadedROMBank]
|
||||
push af
|
||||
farcall DisplayTextIDInit ; initialization
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ YesNoChoicePokeCenter::
|
|||
lb bc, 8, 12
|
||||
jr DisplayYesNoChoice
|
||||
|
||||
WideYesNoChoice:: ; unused
|
||||
WideYesNoChoice:: ; unreferenced
|
||||
call SaveScreenTilesToBuffer1
|
||||
ld a, WIDE_YES_NO_MENU
|
||||
ld [wTwoOptionMenuID], a
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ WRAM0
|
|||
"Party Data"
|
||||
"Main Data"
|
||||
"Current Box Data"
|
||||
"GBC Palette Data"
|
||||
"CGB Palette Data"
|
||||
org $df15
|
||||
"Stack"
|
||||
VRAM $0
|
||||
|
|
|
|||
|
|
@ -106,8 +106,8 @@ ENDM
|
|||
;\1 event flag
|
||||
;\2 view range
|
||||
;\3 TextBeforeBattle
|
||||
;\4 TextAfterBattle
|
||||
;\5 TextEndBattle
|
||||
;\4 TextEndBattle
|
||||
;\5 TextAfterBattle
|
||||
MACRO trainer
|
||||
DEF _ev_bit = \1 % 8
|
||||
DEF _cur_bit = CURRENT_TRAINER_BIT % 8
|
||||
|
|
|
|||
|
|
@ -406,7 +406,7 @@ hPikachuSpriteVRAMOffset:: db
|
|||
|
||||
ds 1
|
||||
|
||||
; 0 if DMG, != 0 if GBC
|
||||
hGBC:: db
|
||||
; 0 if DMG, != 0 if CGB
|
||||
hOnCGB:: db
|
||||
|
||||
ENDSECTION
|
||||
|
|
|
|||
22
ram/wram.asm
22
ram/wram.asm
|
|
@ -160,11 +160,25 @@ SECTION "Tilemap", WRAM0
|
|||
; buffer for tiles that are visible on screen (20 columns by 18 rows)
|
||||
wTileMap:: ds SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
|
||||
; This union spans 480 bytes.
|
||||
UNION
|
||||
; buffer for temporarily saving and restoring current screen's tiles
|
||||
; (e.g. if menus are drawn on top)
|
||||
wTileMapBackup:: ds SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
|
||||
NEXTU
|
||||
; buffer for the blocks surrounding the player (6 columns by 5 rows of 4x4-tile blocks)
|
||||
wSurroundingTiles:: ds SURROUNDING_WIDTH * SURROUNDING_HEIGHT
|
||||
|
||||
NEXTU
|
||||
; buffer for temporarily saving and restoring shadow OAM
|
||||
wShadowOAMBackup::
|
||||
; wShadowOAMBackupSprite00 - wShadowOAMBackupSprite39
|
||||
FOR n, NUM_SPRITE_OAM_STRUCTS
|
||||
wShadowOAMBackupSprite{02d:n}:: sprite_oam_struct wShadowOAMBackupSprite{02d:n}
|
||||
ENDR
|
||||
wShadowOAMBackupEnd::
|
||||
|
||||
NEXTU
|
||||
; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer
|
||||
wSerialPartyMonsPatchList:: ds 200
|
||||
|
|
@ -250,8 +264,6 @@ wYellowIntroAnimatedObjectStructPointer:: db
|
|||
wSurfingMinigameDataEnd::
|
||||
ENDU
|
||||
|
||||
ds 80
|
||||
|
||||
|
||||
SECTION "Overworld Map", WRAM0
|
||||
|
||||
|
|
@ -2488,10 +2500,10 @@ wBoxMonNicksEnd::
|
|||
wBoxDataEnd::
|
||||
|
||||
|
||||
SECTION "GBC Palette Data", WRAM0
|
||||
SECTION "CGB Palette Data", WRAM0
|
||||
|
||||
wGBCBasePalPointers:: ds NUM_ACTIVE_PALS * 2
|
||||
wGBCPal:: ds PALETTE_SIZE
|
||||
wCGBBasePalPointers:: ds NUM_ACTIVE_PALS * 2
|
||||
wCGBPal:: ds PALETTE_SIZE
|
||||
wLastBGP:: db
|
||||
wLastOBP0:: db
|
||||
wLastOBP1:: db
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ ChampionsRoom_Script:
|
|||
ret
|
||||
|
||||
ResetRivalScript:
|
||||
xor a ; SCENE_CHAMPIONSROOM_DEFAULT
|
||||
xor a ; SCRIPT_CHAMPIONSROOM_DEFAULT
|
||||
ld [wJoyIgnore], a
|
||||
ld [wChampionsRoomCurScript], a
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -31,9 +31,9 @@ HallOfFameResetEventsAndSaveScript:
|
|||
ld [wLetterPrintingDelayFlags], a
|
||||
ld hl, wStatusFlags7
|
||||
res BIT_NO_MAP_MUSIC, [hl]
|
||||
assert wStatusFlags7 + 1 == wElite4Flags
|
||||
ASSERT wStatusFlags7 + 1 == wElite4Flags
|
||||
inc hl
|
||||
set BIT_UNUSED_BEAT_ELITE_4, [hl] ; debug, unused?
|
||||
set BIT_UNUSED_BEAT_ELITE_4, [hl] ; unused
|
||||
xor a ; SCRIPT_*_DEFAULT
|
||||
ld hl, wLoreleisRoomCurScript
|
||||
ld [hli], a ; wLoreleisRoomCurScript
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ PokemonTower6FMarowakBattleScript:
|
|||
.did_not_defeat
|
||||
ld a, $1
|
||||
ld [wSimulatedJoypadStatesIndex], a
|
||||
ld a, $10
|
||||
ld a, D_RIGHT
|
||||
ld [wSimulatedJoypadStatesEnd], a
|
||||
xor a
|
||||
ld [wSpritePlayerStateData2MovementByte1], a
|
||||
|
|
|
|||
|
|
@ -281,7 +281,7 @@ RocketHideoutB2F_TextPointers:
|
|||
RocketHideout2TrainerHeaders:
|
||||
def_trainers
|
||||
RocketHideout2TrainerHeader0:
|
||||
trainer EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0, 4, RocketHideoutB1FRocketBattleText, RocketHideoutB1FRocketEndBattleText, RocketHideoutB1FRocketAfterBattleText
|
||||
trainer EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0, 4, RocketHideoutB2FRocketBattleText, RocketHideoutB2FRocketEndBattleText, RocketHideoutB2FRocketAfterBattleText
|
||||
db -1 ; end
|
||||
|
||||
RocketHideoutB2FRocketText:
|
||||
|
|
@ -290,14 +290,14 @@ RocketHideoutB2FRocketText:
|
|||
call TalkToTrainer
|
||||
jp TextScriptEnd
|
||||
|
||||
RocketHideoutB1FRocketBattleText:
|
||||
text_far _RocketHideoutB1FRocketBattleText
|
||||
RocketHideoutB2FRocketBattleText:
|
||||
text_far _RocketHideoutB2FRocketBattleText
|
||||
text_end
|
||||
|
||||
RocketHideoutB1FRocketEndBattleText:
|
||||
text_far _RocketHideoutB1FRocketEndBattleText
|
||||
RocketHideoutB2FRocketEndBattleText:
|
||||
text_far _RocketHideoutB2FRocketEndBattleText
|
||||
text_end
|
||||
|
||||
RocketHideoutB1FRocketAfterBattleText:
|
||||
text_far _RocketHideoutB1FRocketAfterBattleText
|
||||
RocketHideoutB2FRocketAfterBattleText:
|
||||
text_far _RocketHideoutB2FRocketAfterBattleText
|
||||
text_end
|
||||
|
|
|
|||
|
|
@ -391,11 +391,11 @@ RocketHideoutB4FRocketText:
|
|||
jp TextScriptEnd
|
||||
|
||||
RocketHideoutB4FRocketBattleText:
|
||||
text_far _RocketHideoutB4FRocket2BattleText
|
||||
text_far _RocketHideoutB4FRocketBattleText
|
||||
text_end
|
||||
|
||||
RocketHideoutB4FRocketEndBattleText:
|
||||
text_far _RocketHideoutB4FRocket2EndBattleText
|
||||
text_far _RocketHideoutB4FRocketEndBattleText
|
||||
text_promptbutton
|
||||
text_asm
|
||||
SetEvent EVENT_ROCKET_DROPPED_LIFT_KEY
|
||||
|
|
@ -411,5 +411,5 @@ RocketHideoutB4FRocketAfterBattleText:
|
|||
jp TextScriptEnd
|
||||
|
||||
.Text:
|
||||
text_far _RocketHideoutB4FRocket2AfterBattleText
|
||||
text_far _RocketHideoutB4FRocketAfterBattleText
|
||||
text_end
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ RocketHideoutElevatorStoreWarpEntriesScript:
|
|||
ret
|
||||
|
||||
RocketHideoutElevatorScript:
|
||||
ld hl, RocketHideoutElavatorFloors
|
||||
ld hl, RocketHideoutElevatorFloors
|
||||
call LoadItemList
|
||||
ld hl, RocketHideoutElevatorWarpMaps
|
||||
ld de, wElevatorWarpMaps
|
||||
|
|
@ -40,7 +40,7 @@ RocketHideoutElevatorScript:
|
|||
call CopyData
|
||||
ret
|
||||
|
||||
RocketHideoutElavatorFloors:
|
||||
RocketHideoutElevatorFloors:
|
||||
db 3 ; #
|
||||
db FLOOR_B1F
|
||||
db FLOOR_B2F
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ Route8TrainerHeader1:
|
|||
Route8TrainerHeader2:
|
||||
trainer EVENT_BEAT_ROUTE_8_TRAINER_2, 4, Route8SuperNerd2BattleText, Route8SuperNerd2EndBattleText, Route8SuperNerd2AfterBattleText
|
||||
Route8TrainerHeader3:
|
||||
trainer EVENT_BEAT_ROUTE_8_TRAINER_3, 2, Route8CooltrainerF1BattleText, Route8CooltrainerF21EndBattleText, Route8CooltrainerF1AfterBattleText
|
||||
trainer EVENT_BEAT_ROUTE_8_TRAINER_3, 2, Route8CooltrainerF1BattleText, Route8CooltrainerF1EndBattleText, Route8CooltrainerF1AfterBattleText
|
||||
Route8TrainerHeader4:
|
||||
trainer EVENT_BEAT_ROUTE_8_TRAINER_4, 3, Route8SuperNerd3BattleText, Route8SuperNerd3EndBattleText, Route8SuperNerd3AfterBattleText
|
||||
Route8TrainerHeader5:
|
||||
|
|
@ -112,8 +112,8 @@ Route8CooltrainerF1BattleText:
|
|||
text_far _Route8CooltrainerF1BattleText
|
||||
text_end
|
||||
|
||||
Route8CooltrainerF21EndBattleText:
|
||||
text_far _Route8CooltrainerF21EndBattleText
|
||||
Route8CooltrainerF1EndBattleText:
|
||||
text_far _Route8CooltrainerF1EndBattleText
|
||||
text_end
|
||||
|
||||
Route8CooltrainerF1AfterBattleText:
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ SilphCo6F_TextPointers:
|
|||
SilphCo6TrainerHeaders:
|
||||
def_trainers 6
|
||||
SilphCo6TrainerHeader0:
|
||||
trainer EVENT_BEAT_SILPH_CO_6F_TRAINER_0, 2, SilphCo6FRocket1BattleText, SilphCo6Rocket1EndBattleText, SilphCo6Rocket1AfterBattleText
|
||||
trainer EVENT_BEAT_SILPH_CO_6F_TRAINER_0, 2, SilphCo6FRocket1BattleText, SilphCo6FRocket1EndBattleText, SilphCo6FRocket1AfterBattleText
|
||||
SilphCo6TrainerHeader1:
|
||||
trainer EVENT_BEAT_SILPH_CO_6F_TRAINER_1, 3, SilphCo6FScientistBattleText, SilphCo6FScientistEndBattleText, SilphCo6FScientistAfterBattleText
|
||||
SilphCo6TrainerHeader2:
|
||||
|
|
@ -158,12 +158,12 @@ SilphCo6FRocket1BattleText:
|
|||
text_far _SilphCo6FRocket1BattleText
|
||||
text_end
|
||||
|
||||
SilphCo6Rocket1EndBattleText:
|
||||
text_far _SilphCo6Rocket1EndBattleText
|
||||
SilphCo6FRocket1EndBattleText:
|
||||
text_far _SilphCo6FRocket1EndBattleText
|
||||
text_end
|
||||
|
||||
SilphCo6Rocket1AfterBattleText:
|
||||
text_far _SilphCo6Rocket1AfterBattleText
|
||||
SilphCo6FRocket1AfterBattleText:
|
||||
text_far _SilphCo6FRocket1AfterBattleText
|
||||
text_end
|
||||
|
||||
SilphCo6FScientistText:
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@ SilphCo7FSilphWorkerM1Text:
|
|||
lb bc, LAPRAS, 15
|
||||
call GivePokemon
|
||||
jr nc, .done
|
||||
ld a, [wSimulatedJoypadStatesEnd]
|
||||
ld a, [wAddedToParty]
|
||||
and a
|
||||
call z, WaitForTextScrollButtonPress
|
||||
call EnableAutoTextBoxDrawing
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ VermilionDockSSAnneLeavesScript:
|
|||
ldh [hAutoBGTransferEnabled], a
|
||||
ld [wSSAnneSmokeDriftAmount], a
|
||||
ldh [rOBP1], a
|
||||
call UpdateGBCPal_OBP1
|
||||
call UpdateCGBPal_OBP1
|
||||
ld a, 88
|
||||
ld [wSSAnneSmokeX], a
|
||||
ld hl, wMapViewVRAMPointer
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
_RocketHideoutB1FRocketBattleText::
|
||||
_RocketHideoutB2FRocketBattleText::
|
||||
text "BOSS said you can"
|
||||
line "see GHOSTs with"
|
||||
cont "the SILPH SCOPE!"
|
||||
done
|
||||
|
||||
_RocketHideoutB1FRocketEndBattleText::
|
||||
_RocketHideoutB2FRocketEndBattleText::
|
||||
text "I"
|
||||
line "surrender!"
|
||||
prompt
|
||||
|
||||
_RocketHideoutB1FRocketAfterBattleText::
|
||||
_RocketHideoutB2FRocketAfterBattleText::
|
||||
text "The TEAM ROCKET"
|
||||
line "HQ has 4 basement"
|
||||
cont "floors. Can you"
|
||||
|
|
|
|||
|
|
@ -51,17 +51,17 @@ _RocketHideoutB4FGiovanniHopeWeMeetAgainText::
|
|||
line "again..."
|
||||
done
|
||||
|
||||
_RocketHideoutB4FRocket2BattleText::
|
||||
_RocketHideoutB4FRocketBattleText::
|
||||
text "The elevator"
|
||||
line "doesn't work? Who"
|
||||
cont "has the LIFT KEY?"
|
||||
done
|
||||
|
||||
_RocketHideoutB4FRocket2EndBattleText::
|
||||
_RocketHideoutB4FRocketEndBattleText::
|
||||
text "No!"
|
||||
prompt
|
||||
|
||||
_RocketHideoutB4FRocket2AfterBattleText::
|
||||
_RocketHideoutB4FRocketAfterBattleText::
|
||||
text "Oh no! I dropped"
|
||||
line "the LIFT KEY!"
|
||||
done
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ _Route8CooltrainerF1BattleText::
|
|||
line "I collect them!"
|
||||
done
|
||||
|
||||
_Route8CooltrainerF21EndBattleText::
|
||||
_Route8CooltrainerF1EndBattleText::
|
||||
text "Why? Why??"
|
||||
prompt
|
||||
|
||||
|
|
|
|||
|
|
@ -60,12 +60,12 @@ _SilphCo6FRocket1BattleText::
|
|||
line "ROCKET BROTHERS!"
|
||||
done
|
||||
|
||||
_SilphCo6Rocket1EndBattleText::
|
||||
_SilphCo6FRocket1EndBattleText::
|
||||
text "Flame"
|
||||
line "out!"
|
||||
prompt
|
||||
|
||||
_SilphCo6Rocket1AfterBattleText::
|
||||
_SilphCo6FRocket1AfterBattleText::
|
||||
text "No matter!"
|
||||
line "My brothers will"
|
||||
cont "avenge me!"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user