aboutsummaryrefslogtreecommitdiffstats
path: root/engine/overworld/npc_movement.asm
diff options
context:
space:
mode:
authordannye <33dannye@gmail.com>2020-11-04 00:06:44 -0600
committerdannye <33dannye@gmail.com>2020-11-04 00:06:44 -0600
commit5647ca687b92954dcf37a6ea6bfbc9a341c32de4 (patch)
treedde1937a1bfdb3a835f4155e1c2eb8f1aaf86f63 /engine/overworld/npc_movement.asm
parentMerge pull request #55 from Deokishisu/patch-1 (diff)
downloadpokeyellow-5647ca687b92954dcf37a6ea6bfbc9a341c32de4.tar.gz
pokeyellow-5647ca687b92954dcf37a6ea6bfbc9a341c32de4.tar.xz
pokeyellow-5647ca687b92954dcf37a6ea6bfbc9a341c32de4.zip
Sync with pokered
Diffstat (limited to 'engine/overworld/npc_movement.asm')
-rwxr-xr-xengine/overworld/npc_movement.asm270
1 files changed, 0 insertions, 270 deletions
diff --git a/engine/overworld/npc_movement.asm b/engine/overworld/npc_movement.asm
deleted file mode 100755
index 670cb121..00000000
--- a/engine/overworld/npc_movement.asm
+++ /dev/null
@@ -1,270 +0,0 @@
-PlayerStepOutFromDoor:
- ld hl, wd730
- res 1, [hl]
- call IsPlayerStandingOnDoorTile
- jr nc, .notStandingOnDoor
- ld a, $fc
- ld [wJoyIgnore], a
- ld hl, wd736
- set 1, [hl]
- ld a, $1
- ld [wSimulatedJoypadStatesIndex], a
- ld a, D_DOWN
- ld [wSimulatedJoypadStatesEnd], a
- xor a
- ld [wSpriteStateData1 + 2], a
- call StartSimulatingJoypadStates
- ret
-.notStandingOnDoor
- xor a
- ld [wWastedByteCD3A], a
- ld [wSimulatedJoypadStatesIndex], a
- ld [wSimulatedJoypadStatesEnd], a
- ld hl, wd736
- res 0, [hl]
- res 1, [hl]
- ld hl, wd730
- res 7, [hl]
- ret
-
-_EndNPCMovementScript:
- ld hl, wd730
- res 7, [hl]
- ld hl, wd72e
- res 7, [hl]
- ld hl, wd736
- res 0, [hl]
- res 1, [hl]
- xor a
- ld [wNPCMovementScriptSpriteOffset], a
- ld [wNPCMovementScriptFunctionNum], a
- ld [wNPCMovementScriptPointerTableNum], a
- ld [wWastedByteCD3A], a
- ld [wSimulatedJoypadStatesIndex], a
- ld [wSimulatedJoypadStatesEnd], a
- ret
-
-PalletMovementScriptPointerTable:
- dw PalletMovementScript_OakMoveLeft
- dw PalletMovementScript_PlayerMoveLeft
- dw PalletMovementScript_WaitAndWalkToLab
- dw PalletMovementScript_WalkToLab
- dw PalletMovementScript_Done
-
-PalletMovementScript_OakMoveLeft:
- ld a, [wXCoord]
- sub $a
- ld [wNumStepsToTake], a
- jr z, .playerOnLeftTile
-; The player is on the right tile of the northern path out of Pallet Town and
-; Prof. Oak is below.
-; Make Prof. Oak step to the left.
- ld b, 0
- ld c, a
- ld hl, wNPCMovementDirections2
- ld a, NPC_MOVEMENT_LEFT
- call FillMemory
- ld [hl], $ff
- ld a, [wSpriteIndex]
- ld [H_SPRITEINDEX], a
- ld de, wNPCMovementDirections2
- call MoveSprite
- ld a, $1
- ld [wNPCMovementScriptFunctionNum], a
- jr .done
-; The player is on the left tile of the northern path out of Pallet Town and
-; Prof. Oak is below.
-; Prof. Oak is already where he needs to be.
-.playerOnLeftTile
- ld a, $3
- ld [wNPCMovementScriptFunctionNum], a
-.done
- ld a, BANK(Music_MuseumGuy)
- ld c, a
- ld a, MUSIC_MUSEUM_GUY
- call PlayMusic
- ld hl, wFlags_D733
- set 1, [hl]
- ld a, $fc
- ld [wJoyIgnore], a
- ret
-
-PalletMovementScript_PlayerMoveLeft:
- ld a, [wd730]
- bit 0, a ; is an NPC being moved by a script?
- ret nz ; return if Oak is still moving
- ld a, [wNumStepsToTake]
- ld [wSimulatedJoypadStatesIndex], a
- ld [hNPCMovementDirections2Index], a
- predef ConvertNPCMovementDirectionsToJoypadMasks
- call StartSimulatingJoypadStates
- ld a, $2
- ld [wNPCMovementScriptFunctionNum], a
- ret
-
-PalletMovementScript_WaitAndWalkToLab:
- ld a, [wSimulatedJoypadStatesIndex]
- and a ; is the player done moving left yet?
- ret nz
-
-PalletMovementScript_WalkToLab:
- xor a
- ld [wOverrideSimulatedJoypadStatesMask], a
- ld a, [wSpriteIndex]
- swap a
- ld [wNPCMovementScriptSpriteOffset], a
- xor a
- ld [wSpriteStateData2 + $06], a
- ld hl, wSimulatedJoypadStatesEnd
- ld de, RLEList_PlayerWalkToLab
- call DecodeRLEList
- dec a
- ld [wSimulatedJoypadStatesIndex], a
- ld hl, wNPCMovementDirections2
- ld de, RLEList_ProfOakWalkToLab
- call DecodeRLEList
- ld hl, wd72e
- res 7, [hl]
- ld hl, wd730
- set 7, [hl]
- ld a, $4
- ld [wNPCMovementScriptFunctionNum], a
- ret
-
-
-RLEList_ProfOakWalkToLab:
- db NPC_MOVEMENT_DOWN, $06 ; differs from red
- db NPC_MOVEMENT_LEFT, $01
- db NPC_MOVEMENT_DOWN, $05
- db NPC_MOVEMENT_RIGHT, $03
- db NPC_MOVEMENT_UP, $01
- db $E0, $01 ; stand still
- db $FF
-
-RLEList_PlayerWalkToLab:
- db D_UP, $02
- db D_RIGHT, $03
- db D_DOWN, $05
- db D_LEFT, $01
- db D_DOWN, $07 ; differs from red
- db $FF
-
-PalletMovementScript_Done:
- ld a, [wSimulatedJoypadStatesIndex]
- and a
- ret nz
- ld a, HS_PALLET_TOWN_OAK
- ld [wMissableObjectIndex], a
- predef HideObject
- ld hl, wd730
- res 7, [hl]
- ld hl, wd72e
- res 7, [hl]
- jp EndNPCMovementScript
-
-PewterMuseumGuyMovementScriptPointerTable:
- dw PewterMovementScript_WalkToMuseum
- dw PewterMovementScript_Done
-
-PewterMovementScript_WalkToMuseum:
- ld a, BANK(Music_MuseumGuy)
- ld c, a
- ld a, MUSIC_MUSEUM_GUY
- call PlayMusic
- ld a, [wSpriteIndex]
- swap a
- ld [wNPCMovementScriptSpriteOffset], a
- call StartSimulatingJoypadStates
- ld hl, wSimulatedJoypadStatesEnd
- ld de, RLEList_PewterMuseumPlayer
- call DecodeRLEList
- dec a
- ld [wSimulatedJoypadStatesIndex], a
- xor a
- ld [wWhichPewterGuy], a
- call PewterGuys
- ld hl, wNPCMovementDirections2
- ld de, RLEList_PewterMuseumGuy
- call DecodeRLEList
- ld hl, wd72e
- res 7, [hl]
- ld a, $1
- ld [wNPCMovementScriptFunctionNum], a
- ret
-
-RLEList_PewterMuseumPlayer:
- db 0, $01
- db D_UP, $03
- db D_LEFT, $0D
- db D_UP, $06
- db $FF
-
-RLEList_PewterMuseumGuy:
- db NPC_MOVEMENT_UP, $06
- db NPC_MOVEMENT_LEFT, $0D
- db NPC_MOVEMENT_UP, $03
- db NPC_MOVEMENT_LEFT, $01
- db $FF
-
-PewterMovementScript_Done:
- ld a, [wSimulatedJoypadStatesIndex]
- and a
- ret nz
- ld hl, wd730
- res 7, [hl]
- ld hl, wd72e
- res 7, [hl]
- jp EndNPCMovementScript
-
-PewterGymGuyMovementScriptPointerTable:
- dw PewterMovementScript_WalkToGym
- dw PewterMovementScript_Done
-
-PewterMovementScript_WalkToGym:
- ld a, BANK(Music_MuseumGuy)
- ld c, a
- ld a, MUSIC_MUSEUM_GUY
- call PlayMusic
- ld a, [wSpriteIndex]
- swap a
- ld [wNPCMovementScriptSpriteOffset], a
- xor a
- ld [wSpriteStateData2 + $06], a
- ld hl, wSimulatedJoypadStatesEnd
- ld de, RLEList_PewterGymPlayer
- call DecodeRLEList
- dec a
- ld [wSimulatedJoypadStatesIndex], a
- ld a, 1
- ld [wWhichPewterGuy], a
- call PewterGuys
- ld hl, wNPCMovementDirections2
- ld de, RLEList_PewterGymGuy
- call DecodeRLEList
- ld hl, wd72e
- res 7, [hl]
- ld hl, wd730
- set 7, [hl]
- ld a, $1
- ld [wNPCMovementScriptFunctionNum], a
- ret
-
-RLEList_PewterGymPlayer:
- db 0, $01
- db D_RIGHT, $02
- db D_DOWN, $05
- db D_LEFT, $0B
- db D_UP, $05
- db D_LEFT, $0F
- db $FF
-
-RLEList_PewterGymGuy:
- db NPC_MOVEMENT_DOWN, $02
- db NPC_MOVEMENT_LEFT, $0F
- db NPC_MOVEMENT_UP, $05
- db NPC_MOVEMENT_LEFT, $0B
- db NPC_MOVEMENT_DOWN, $05
- db NPC_MOVEMENT_RIGHT, $03
- db $FF
-
-INCLUDE "engine/overworld/pewter_guys.asm"