summaryrefslogtreecommitdiff
path: root/scripts/pallettown.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/pallettown.asm')
-rwxr-xr-xscripts/pallettown.asm132
1 files changed, 62 insertions, 70 deletions
diff --git a/scripts/pallettown.asm b/scripts/pallettown.asm
index c43b9682..a06dfd54 100755
--- a/scripts/pallettown.asm
+++ b/scripts/pallettown.asm
@@ -1,16 +1,14 @@
-PalletTownScript: ; 18e5b (6:4e5b)
- ld a,[wd74b]
- bit 4,a
+PalletTownScript:
+ CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK
jr z,.next
- ld hl,wd747
- set 6,[hl]
+ SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS
.next
call EnableAutoTextBoxDrawing
ld hl,PalletTownScriptPointers
- ld a,[W_PALLETTOWNCURSCRIPT]
+ ld a,[wPalletTownCurScript]
jp CallFunctionInTable
-PalletTownScriptPointers: ; 18e73 (6:4e73)
+PalletTownScriptPointers:
dw PalletTownScript0
dw PalletTownScript1
dw PalletTownScript2
@@ -19,93 +17,92 @@ PalletTownScriptPointers: ; 18e73 (6:4e73)
dw PalletTownScript5
dw PalletTownScript6
-PalletTownScript0: ; 18e81 (6:4e81)
- ld a,[wd747]
- bit 0,a
+PalletTownScript0:
+ CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB
ret nz
- ld a,[W_YCOORD]
+ ld a,[wYCoord]
cp 1 ; is player near north exit?
ret nz
xor a
ld [hJoyHeld],a
- ld a,4
- ld [wd528],a
+ ld a,PLAYER_DIR_DOWN
+ ld [wPlayerMovingDirection],a
ld a,$FF
call PlaySound ; stop music
ld a, BANK(Music_MeetProfOak)
- ld c,a ; song bank
+ ld c,a
ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music
- call PlayMusic ; plays music
+ call PlayMusic
ld a,$FC
ld [wJoyIgnore],a
- ld hl,wd74b
- set 7,[hl]
+ SetEvent EVENT_OAK_APPEARED_IN_PALLET
; trigger the next script
ld a,1
- ld [W_PALLETTOWNCURSCRIPT],a
+ ld [wPalletTownCurScript],a
ret
-PalletTownScript1: ; 18eb2 (6:4eb2)
+PalletTownScript1:
xor a
ld [wcf0d],a
ld a,1
- ld [$FF8C],a
+ ld [hSpriteIndexOrTextID],a
call DisplayTextID
ld a,$FF
ld [wJoyIgnore],a
ld a,HS_PALLET_TOWN_OAK
- ld [wcc4d],a
+ ld [wMissableObjectIndex],a
predef ShowObject
; trigger the next script
ld a,2
- ld [W_PALLETTOWNCURSCRIPT],a
+ ld [wPalletTownCurScript],a
ret
-PalletTownScript2: ; 18ed2 (6:4ed2)
+PalletTownScript2:
ld a,1
- ld [$FF8C],a
- ld a,4
- ld [$FF8D],a
+ ld [H_SPRITEINDEX],a
+ ld a,SPRITE_FACING_UP
+ ld [hSpriteFacingDirection],a
call SetSpriteFacingDirectionAndDelay
call Delay3
ld a,1
- ld [W_YCOORD],a
+ ld [wYCoord],a
ld a,1
- ld [$FF9B],a
+ ld [hNPCPlayerRelativePosPerspective],a
ld a,1
swap a
- ld [$FF95],a
+ ld [hNPCSpriteOffset],a
predef CalcPositionOfPlayerRelativeToNPC
- ld hl,$FF95
+ ld hl,hNPCPlayerYDistance
dec [hl]
predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2
ld de,wNPCMovementDirections2
ld a,1 ; oak
- ld [$FF8C],a
+ ld [H_SPRITEINDEX],a
call MoveSprite
ld a,$FF
ld [wJoyIgnore],a
; trigger the next script
ld a,3
- ld [W_PALLETTOWNCURSCRIPT],a
+ ld [wPalletTownCurScript],a
ret
-PalletTownScript3: ; 18f12 (6:4f12)
+PalletTownScript3:
ld a,[wd730]
bit 0,a
ret nz
- xor a
+ xor a ; ld a, SPRITE_FACING_DOWN
ld [wSpriteStateData1 + 9],a
ld a,1
ld [wcf0d],a
ld a,$FC
ld [wJoyIgnore],a
ld a,1
- ld [$FF8C],a
+ ld [hSpriteIndexOrTextID],a
call DisplayTextID
+; set up movement script that causes the player to follow Oak to his lab
ld a,$FF
ld [wJoyIgnore],a
ld a,1
@@ -119,44 +116,39 @@ PalletTownScript3: ; 18f12 (6:4f12)
; trigger the next script
ld a,4
- ld [W_PALLETTOWNCURSCRIPT],a
+ ld [wPalletTownCurScript],a
ret
-PalletTownScript4: ; 18f4b (6:4f4b)
+PalletTownScript4:
ld a,[wNPCMovementScriptPointerTableNum]
- and a
+ and a ; is the movement script over?
ret nz
; trigger the next script
ld a,5
- ld [W_PALLETTOWNCURSCRIPT],a
+ ld [wPalletTownCurScript],a
ret
-PalletTownScript5: ; 18f56 (6:4f56)
- ld a,[wd74a]
- bit 2,a
+PalletTownScript5:
+ CheckEvent EVENT_DAISY_WALKING
jr nz,.next
- and 3
- cp 3
+ CheckBothEventsSet EVENT_GOT_TOWN_MAP, EVENT_ENTERED_BLUES_HOUSE, 1
jr nz,.next
- ld hl,wd74a
- set 2,[hl]
+ SetEvent EVENT_DAISY_WALKING
ld a,HS_DAISY_SITTING
- ld [wcc4d],a
+ ld [wMissableObjectIndex],a
predef HideObject
ld a,HS_DAISY_WALKING
- ld [wcc4d],a
+ ld [wMissableObjectIndex],a
predef_jump ShowObject
.next
- ld a,[wd74b]
- bit 4,a
+ CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK
ret z
- ld hl,wd74b
- set 6,[hl]
-PalletTownScript6: ; 18f87 (6:4f87)
+ SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2
+PalletTownScript6:
ret
-PalletTownTextPointers: ; 18f88 (6:4f88)
+PalletTownTextPointers:
dw PalletTownText1
dw PalletTownText2
dw PalletTownText3
@@ -165,8 +157,8 @@ PalletTownTextPointers: ; 18f88 (6:4f88)
dw PalletTownText6
dw PalletTownText7
-PalletTownText1: ; 18f96 (6:4f96)
- db 8
+PalletTownText1:
+ TX_ASM
ld a,[wcf0d]
and a
jr nz,.next
@@ -180,43 +172,43 @@ PalletTownText1: ; 18f96 (6:4f96)
call PrintText
jp TextScriptEnd
-OakAppearsText: ; 18fb0 (6:4fb0)
+OakAppearsText:
TX_FAR _OakAppearsText
- db 8
+ TX_ASM
ld c,10
call DelayFrames
xor a
- ld [wcd4f],a
- ld [wcd50],a
- predef EmotionBubble ; display ! over head
- ld a,4
- ld [wd528],a
+ ld [wEmotionBubbleSpriteIndex],a ; player's sprite
+ ld [wWhichEmotionBubble],a ; EXCLAMATION_BUBBLE
+ predef EmotionBubble
+ ld a,PLAYER_DIR_DOWN
+ ld [wPlayerMovingDirection],a
jp TextScriptEnd
-OakWalksUpText: ; 18fce (6:4fce)
+OakWalksUpText:
TX_FAR _OakWalksUpText
db "@"
-PalletTownText2: ; 0x18fd3 girl
+PalletTownText2: ; girl
TX_FAR _PalletTownText2
db "@"
-PalletTownText3: ; 0x18fd8 fat man
+PalletTownText3: ; fat man
TX_FAR _PalletTownText3
db "@"
-PalletTownText4: ; 0x18fdd sign by lab
+PalletTownText4: ; sign by lab
TX_FAR _PalletTownText4
db "@"
-PalletTownText5: ; 0x18fe2 sign by fence
+PalletTownText5: ; sign by fence
TX_FAR _PalletTownText5
db "@"
-PalletTownText6: ; 0x18fe7 sign by Red’s house
+PalletTownText6: ; sign by Red’s house
TX_FAR _PalletTownText6
db "@"
-PalletTownText7: ; 0x18fec sign by Blue’s house
+PalletTownText7: ; sign by Blue’s house
TX_FAR _PalletTownText7
db "@"