mirror of
https://github.com/pret/pokeyellow.git
synced 2026-05-12 22:11:29 -05:00
365 lines
6.7 KiB
NASM
Executable File
365 lines
6.7 KiB
NASM
Executable File
ViridianCityScript: ; 1902a (6:502a)
|
|
call EnableAutoTextBoxDrawing
|
|
ld hl, ViridianCityScriptPointers
|
|
ld a, [W_VIRIDIANCITYCURSCRIPT]
|
|
call JumpTable
|
|
ret
|
|
|
|
ViridianCityScriptPointers: ; 19037 (6:5037)
|
|
dw ViridianCityScript0 ; 1904d
|
|
dw ViridianCityScript1 ; 19054
|
|
dw ViridianCityScript2 ; 19057
|
|
dw ViridianCityScript3 ; 190ca
|
|
dw ViridianCityScript4 ; 19104
|
|
dw ViridianCityScript5 ; 1913f
|
|
dw ViridianCityScript6 ; 1909d
|
|
dw ViridianCityScript7 ; 19191
|
|
dw ViridianCityScript8 ; 191a7
|
|
dw ViridianCityScript9 ; 191cf
|
|
dw ViridianCityScript10 ; 191f9
|
|
|
|
ViridianCityScript0:
|
|
call ViridianCityScript_1905b
|
|
call ViridianCityScript_190ab
|
|
ret
|
|
|
|
ViridianCityScript1: ; 19054
|
|
call ViridianCityScript_19162
|
|
ViridianCityScript2: ; 19057
|
|
call ViridianCityScript_1905b
|
|
ret
|
|
|
|
ViridianCityScript_1905b:
|
|
CheckEvent EVENT_VIRIDIAN_GYM_OPEN
|
|
ret nz
|
|
ld a, [wObtainedBadges]
|
|
cp $7f ; all but Earthbadge
|
|
jr nz, .asm_1906e
|
|
SetEvent EVENT_VIRIDIAN_GYM_OPEN
|
|
ret
|
|
|
|
.asm_1906e
|
|
ld a, [wYCoord]
|
|
cp 8
|
|
ret nz
|
|
ld a, [wXCoord]
|
|
cp 32
|
|
ret nz
|
|
ld a, $f
|
|
ld [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
call StartSimulatingJoypadStates
|
|
ld a, $1
|
|
ld [wSimulatedJoypadStatesIndex], a
|
|
ld a, D_DOWN
|
|
ld [wSimulatedJoypadStatesEnd], a
|
|
xor a
|
|
ld [wSpriteStateData1 + 9], a
|
|
ld [wJoyIgnore], a
|
|
ld [hJoyHeld], a
|
|
ld a, $6
|
|
ld [W_VIRIDIANCITYCURSCRIPT], a
|
|
ret
|
|
|
|
ViridianCityScript6: ; 1909d
|
|
ld a, [wSimulatedJoypadStatesIndex]
|
|
and a
|
|
ret nz
|
|
call Delay3
|
|
ld a, $2
|
|
ld [W_VIRIDIANCITYCURSCRIPT], a
|
|
ret
|
|
|
|
ViridianCityScript_190ab:
|
|
ld a, [wYCoord]
|
|
cp 9
|
|
ret nz
|
|
ld a, [wXCoord]
|
|
cp 19
|
|
ret nz
|
|
ld a, $5
|
|
ld [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
xor a
|
|
ld [hJoyHeld], a
|
|
call ViridianCityScript_1914d
|
|
ld a, $5
|
|
ld [W_VIRIDIANCITYCURSCRIPT], a
|
|
ret
|
|
|
|
ViridianCityScript3: ; 190ca
|
|
call ViridianCityScript_190ef
|
|
call ViridianCityScript_190db
|
|
ResetEvent EVENT_02F
|
|
ld a, $4
|
|
ld [W_VIRIDIANCITYCURSCRIPT], a
|
|
ret
|
|
|
|
ViridianCityScript_190db:
|
|
xor a
|
|
ld [wListScrollOffset], a
|
|
ld a, OLD_MAN_BATTLE
|
|
ld [wBattleType], a
|
|
ld a, 5
|
|
ld [wCurEnemyLVL], a
|
|
ld a, RATTATA
|
|
ld [wCurOpponent], a
|
|
ret
|
|
|
|
ViridianCityScript_190ef:
|
|
ld a, [wSpriteStateData1 + 3 * $10 + 4]
|
|
ld [$ffeb], a
|
|
ld a, [wSpriteStateData1 + 3 * $10 + 6]
|
|
ld [$ffec], a
|
|
ld a, [wSpriteStateData2 + 3 * $10 + 4]
|
|
ld [$ffed], a
|
|
ld a, [wSpriteStateData2 + 3 * $10 + 5]
|
|
ld [$ffee], a
|
|
ret
|
|
|
|
ViridianCityScript4: ; 19104
|
|
call ViridianCityScript_1912a
|
|
call UpdateSprites
|
|
call Delay3
|
|
SetEvent EVENT_02E
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
ld a, $10
|
|
ld [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
xor a
|
|
ld [wBattleType], a
|
|
ld [wJoyIgnore], a
|
|
ld a, $2
|
|
ld [W_VIRIDIANCITYCURSCRIPT], a
|
|
ret
|
|
|
|
ViridianCityScript_1912a:
|
|
ld a, [$ffeb]
|
|
ld [wSpriteStateData1 + 3 * $10 + 4], a
|
|
ld a, [$ffec]
|
|
ld [wSpriteStateData1 + 3 * $10 + 6], a
|
|
ld a, [$ffed]
|
|
ld [wSpriteStateData2 + 3 * $10 + 4], a
|
|
ld a, [$ffee]
|
|
ld [wSpriteStateData2 + 3 * $10 + 5], a
|
|
ret
|
|
|
|
ViridianCityScript5: ; 1913f
|
|
ld a, [wSimulatedJoypadStatesIndex]
|
|
and a
|
|
ret nz
|
|
call Delay3
|
|
ld a, $0
|
|
ld [W_VIRIDIANCITYCURSCRIPT], a
|
|
ret
|
|
|
|
ViridianCityScript_1914d:
|
|
call StartSimulatingJoypadStates
|
|
ld a, $1
|
|
ld [wSimulatedJoypadStatesIndex], a
|
|
ld a, D_DOWN
|
|
ld [wSimulatedJoypadStatesEnd], a
|
|
xor a
|
|
ld [wSpriteStateData1 + 9], a
|
|
ld [wJoyIgnore], a
|
|
ret
|
|
|
|
ViridianCityScript_19162:
|
|
CheckEvent EVENT_02D
|
|
ret nz
|
|
ld a, [wYCoord]
|
|
cp 9
|
|
ret nz
|
|
ld a, [wXCoord]
|
|
cp 19
|
|
ret nz
|
|
ld a, $8
|
|
ld [hSpriteIndexOrTextID], a
|
|
ld a, SPRITE_FACING_RIGHT
|
|
ld [hSpriteFacingDirection], a
|
|
call SetSpriteFacingDirectionAndDelay
|
|
ld a, $8
|
|
ld [wSpriteStateData1 + 9], a
|
|
ld a, $8
|
|
ld [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
ld a, D_UP | D_DOWN | D_LEFT | D_RIGHT | START | SELECT
|
|
ld [wJoyIgnore], a
|
|
ret
|
|
|
|
ViridianCityScript7: ; 19191
|
|
call ViridianCityScript_190ef
|
|
call ViridianCityScript_190db
|
|
SetEvent EVENT_02F
|
|
ld a, D_UP | D_DOWN | D_LEFT | D_RIGHT | START | SELECT
|
|
ld [wJoyIgnore], a
|
|
ld a, $8
|
|
ld [W_VIRIDIANCITYCURSCRIPT], a
|
|
ret
|
|
|
|
ViridianCityScript8: ; 191a7
|
|
call ViridianCityScript_1912a
|
|
call UpdateSprites
|
|
call Delay3
|
|
SetEvent EVENT_02D
|
|
ld a, D_UP | D_DOWN | D_LEFT | D_RIGHT | START | SELECT
|
|
ld [wJoyIgnore], a
|
|
ld a, $8
|
|
ld [hSpriteIndexOrTextID], a
|
|
call DisplayTextID
|
|
xor a
|
|
ld [wBattleType], a
|
|
dec a
|
|
ld [wJoyIgnore], a
|
|
ld a, $9
|
|
ld [W_VIRIDIANCITYCURSCRIPT], a
|
|
ret
|
|
|
|
ViridianCityScript9: ; 191cf
|
|
ld de, ViridianCityOldManMovementData2
|
|
ld a, [wXCoord]
|
|
cp 19
|
|
jr z, .asm_191e4
|
|
callab Func_f1a01
|
|
ld de, ViridianCityOldManMovementData1
|
|
.asm_191e4
|
|
ld a, $8
|
|
ld [hSpriteIndexOrTextID], a
|
|
call MoveSprite
|
|
ld a, $a
|
|
ld [W_VIRIDIANCITYCURSCRIPT], a
|
|
ret
|
|
|
|
ViridianCityOldManMovementData1:
|
|
db NPC_MOVEMENT_RIGHT
|
|
ViridianCityOldManMovementData2:
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_DOWN
|
|
db NPC_MOVEMENT_DOWN
|
|
db $ff
|
|
|
|
ViridianCityScript10: ; 191f9
|
|
ld a, [wd730]
|
|
bit 0, a
|
|
ret nz
|
|
ld a, $3
|
|
ld [wMissableObjectIndex], a
|
|
predef HideObject
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
ld a, $2
|
|
ld [W_VIRIDIANCITYCURSCRIPT], a
|
|
ret
|
|
|
|
ViridianCityTextPointers:
|
|
dw ViridianCityText_0 ; 19233
|
|
dw ViridianCityText_1 ; 1923f
|
|
dw ViridianCityText_2 ; 1924b
|
|
dw ViridianCityText_3 ; 19257
|
|
dw ViridianCityText_4 ; 19263
|
|
dw ViridianCityText_5 ; 1926f
|
|
dw ViridianCityText_6 ; 1927b
|
|
dw ViridianCityText_7 ; 1928c
|
|
dw ViridianCityText_8 ; 192b9
|
|
dw ViridianCityText_9 ; 192c5
|
|
dw ViridianCityText_10 ; 192d1
|
|
dw MartSignText ; 23e5
|
|
dw PokeCenterSignText ; 23ea
|
|
dw ViridianCityText_11 ; 192dd
|
|
dw ViridianCityText_12 ; 192e9
|
|
dw ViridianCityText_13 ; 19287
|
|
|
|
ViridianCityText_0:
|
|
TX_ASM
|
|
callba Func_f18bb
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_1:
|
|
TX_ASM
|
|
callba Func_f18c7
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_2:
|
|
TX_ASM
|
|
callba Func_f18e9
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_3:
|
|
TX_ASM
|
|
callba Func_f1911
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_4:
|
|
TX_ASM
|
|
callba Func_f192c
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_5:
|
|
TX_ASM
|
|
callba Func_f194a
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_6:
|
|
TX_ASM
|
|
callba Func_f198e
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_13:
|
|
TX_FAR _ViridianCityText_19219
|
|
db "@"
|
|
|
|
ViridianCityText_7:
|
|
TX_ASM
|
|
CheckEvent EVENT_02D
|
|
jr nz, .asm_192a6
|
|
ld hl, ViridianCityText_192af
|
|
call PrintText
|
|
ld c, 2
|
|
call DelayFrames
|
|
ld a, $7
|
|
ld [W_VIRIDIANCITYCURSCRIPT], a
|
|
jr .asm_192ac
|
|
|
|
.asm_192a6
|
|
ld hl, ViridianCityText_192b4
|
|
call PrintText
|
|
.asm_192ac
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_192af:
|
|
TX_FAR _ViridianCityText_1920a
|
|
db "@"
|
|
|
|
ViridianCityText_192b4:
|
|
TX_FAR _OldManTextAfterBattle
|
|
db "@"
|
|
|
|
ViridianCityText_8:
|
|
TX_ASM
|
|
callba Func_f19c5
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_9:
|
|
TX_ASM
|
|
callba Func_f19d1
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_10:
|
|
TX_ASM
|
|
callba Func_f19dd
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_11:
|
|
TX_ASM
|
|
callba Func_f19e9
|
|
jp TextScriptEnd
|
|
|
|
ViridianCityText_12:
|
|
TX_ASM
|
|
callba Func_f19f5
|
|
jp TextScriptEnd
|