summaryrefslogtreecommitdiff
path: root/engine/player_object.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/player_object.asm')
-rwxr-xr-xengine/player_object.asm786
1 files changed, 0 insertions, 786 deletions
diff --git a/engine/player_object.asm b/engine/player_object.asm
deleted file mode 100755
index 45562e8e..00000000
--- a/engine/player_object.asm
+++ /dev/null
@@ -1,786 +0,0 @@
-BlankScreen:
- call DisableSpriteUpdates
- xor a
- ld [hBGMapMode], a
- call ClearBGPalettes
- call ClearSprites
- ld hl, wTileMap
- ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
- ld a, " "
- call ByteFill
- ld hl, wAttrMap
- ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
- ld a, $7
- call ByteFill
- call Function3456
- call SetPalettes
- ret
-
-SpawnPlayer: ; 861a (2:461a)
- ld a, $ff
- ld [wObjectFollow_Leader], a
- ld [wObjectFollow_Follower], a
- ld a, $0
- ld hl, .PlayerObjectTemplate
- call CopyPlayerObjectTemplate
- ld b, $0
- call PlayerSpawn_ConvertCoords
- ld a, $0
- ld [hObjectStructIndexBuffer], a
- ld de, wObjectStructs
- ld a, $0
- ld [hMapObjectIndexBuffer], a
- ld bc, wMapObjects
- call CopyMapObjectToObjectStruct
- ld a, $0
- ld [wCenteredObject], a
- ret
-
-.PlayerObjectTemplate
- person_event SPRITE_CHRIS, -4, -4, SPRITEMOVEDATA_PLAYER, 15, 15, -1, -1, 0, PERSONTYPE_SCRIPT, 0, 0, -1
-
-CopyDECoordsToMapObject: ; 8653 (2:4653)
- push de
- ld a, b
- call GetMapObject
- pop de
- ld hl, $3
- add hl, bc
- ld [hl], d
- ld hl, $2
- add hl, bc
- ld [hl], e
- ret
-
-PlayerSpawn_ConvertCoords: ; 8664 (2:4664)
- push bc
- ld a, [wXCoord]
- add $4
- ld d, a
- ld a, [wYCoord]
- add $4
- ld e, a
- pop bc
- call CopyDECoordsToMapObject
- ret
-
-WritePersonXY:
- ld a, b
- call CheckObjectVisibility
- ret c
- ld hl, $10
- add hl, bc
- ld d, [hl]
- ld hl, $11
- add hl, bc
- ld e, [hl]
- ld a, [hConnectionStripLength]
- ld b, a
- call CopyDECoordsToMapObject
- and a
- ret
-
-RefreshPlayerCoords:
- ld a, [wXCoord]
- add $4
- ld d, a
- ld hl, wPlayerStandingMapX
- sub [hl]
- ld [hl], d
- ld hl, wPlayerObjectXCoord
- ld [hl], d
- ld hl, wPlayerLastMapX
- ld [hl], d
- ld d, a
- ld a, [wYCoord]
- add $4
- ld e, a
- ld hl, wPlayerStandingMapY
- sub [hl]
- ld [hl], e
- ld hl, wPlayerObjectYCoord
- ld [hl], e
- ld hl, wPlayerLastMapY
- ld [hl], e
- ld e, a
- ld a, [wObjectFollow_Leader]
- cp $0
- ret nz
- ret
-
-SpawnPlayer2:
- ld a, $1
- ld hl, .PlayerObjectTemplate
- call CopyPlayerObjectTemplate
- ld b, $1
- call PlayerSpawn_ConvertCoords
- ret
-
-.PlayerObjectTemplate:
- person_event SPRITE_CHRIS, -4, -4, SPRITEMOVEDATA_12, 15, 15, -1, -1, 0, PERSONTYPE_SCRIPT, 0, 0, -1
-
-CopyObjectStruct_:: ; 86d7 (2:46d7)
- call CheckObjectMask
- and a
- ret nz
- ld hl, wPlayerStructEnd
- ld a, $1
- ld de, $28
-.asm_86e4
- ld [hObjectStructIndexBuffer], a
- ld a, [hl]
- and a
- jr z, .asm_86f4
- add hl, de
- ld a, [hConnectedMapWidth]
- inc a
- cp $d
- jr nz, .asm_86e4
- scf
- ret
-
-.asm_86f4
- ld d, h
- ld e, l
- call CopyMapObjectToObjectStruct
- ld a, [wVramState]
- bit 7, a
- ret z
- ld hl, $5
- add hl, de
- set 5, [hl]
- ret
-
-CopyMapObjectToObjectStruct: ; 8706 (2:4706)
- call CopyMapObjectToTempObject
- call CopyTempObjectToObjectStruct
- ret
-
-CopyMapObjectToTempObject: ; 870d (2:470d)
- ld a, [hConnectedMapWidth]
- ld hl, $0
- add hl, bc
- ld [hl], a
- ld a, [hMapObjectIndexBuffer]
- ld [wce99], a
- ld hl, $1
- add hl, bc
- ld a, [hl]
- ld [wce9a], a
- call GetSpriteVTile
- ld [wce9b], a
- ld a, [hl]
- call GetSpritePalette
- ld [wce9c], a
- ld hl, $8
- add hl, bc
- ld a, [hl]
- and $f0
- jr z, .asm_873e
- swap a
- and $7
- ld [wce9c], a
-.asm_873e
- ld hl, $4
- add hl, bc
- ld a, [hl]
- ld [wce9d], a
- ld hl, $9
- add hl, bc
- ld a, [hl]
- ld [wce9e], a
- ld hl, $3
- add hl, bc
- ld a, [hl]
- ld [wce9f], a
- ld hl, $2
- add hl, bc
- ld a, [hl]
- ld [wcea0], a
- ld hl, $5
- add hl, bc
- ld a, [hl]
- ld [wcea1], a
- ret
-
-InitializeVariableSprites:
- ld bc, wMap2Object
- ld a, $2
-.asm_876c
- ld [hConnectionStripLength], a
- ld hl, $1
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_87ab
- ld hl, $0
- add hl, bc
- ld a, [hl]
- cp $ff
- jr nz, .asm_87ab
- ld a, [wXCoord]
- ld d, a
- ld a, [wYCoord]
- ld e, a
- ld hl, $3
- add hl, bc
- ld a, [hl]
- add $1
- sub d
- jr c, .asm_87ab
- cp $c
- jr nc, .asm_87ab
- ld hl, $2
- add hl, bc
- ld a, [hl]
- add $1
- sub e
- jr c, .asm_87ab
- cp $b
- jr nc, .asm_87ab
- push bc
- call CopyObjectStruct_
- pop bc
- jp c, Function87b9
-.asm_87ab
- ld hl, $10
- add hl, bc
- ld b, h
- ld c, l
- ld a, [hMapObjectIndexBuffer]
- inc a
- cp $10
- jr nz, .asm_876c
- ret
-
-Function87b9: ; 87b9 (2:47b9)
- ret
-
-CheckObjectEnteringVisibleRange:
- nop
- ld a, [wPlayerStepDirection]
- cp $ff
- ret z
- ld hl, .Jumptable
- rst JumpTable
- ret
-
-.Jumptable:
- dw Function87d5
- dw Function87ce
- dw Function8822
- dw Function8829
-
-Function87ce:
- ld a, [wYCoord]
- sub $1
- jr asm_87da
-
-Function87d5:
- ld a, [wYCoord]
- add $9
-asm_87da
- ld d, a
- ld a, [wXCoord]
- ld e, a
- ld bc, wMap2Object
- ld a, $2
-.asm_87e4
- ld [hConnectionStripLength], a
- ld hl, $1
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_8814
- ld hl, $2
- add hl, bc
- ld a, d
- cp [hl]
- jr nz, .asm_8814
- ld hl, $0
- add hl, bc
- ld a, [hl]
- cp $ff
- jr nz, .asm_8814
- ld hl, $3
- add hl, bc
- ld a, [hl]
- add $1
- sub e
- jr c, .asm_8814
- cp $c
- jr nc, .asm_8814
- push de
- push bc
- call CopyObjectStruct_
- pop bc
- pop de
-.asm_8814
- ld hl, $10
- add hl, bc
- ld b, h
- ld c, l
- ld a, [hMapObjectIndexBuffer]
- inc a
- cp $10
- jr nz, .asm_87e4
- ret
-
-Function8822:
- ld a, [wXCoord]
- sub $1
- jr asm_882e
-
-Function8829:
- ld a, [wXCoord]
- add $a
-asm_882e
- ld e, a
- ld a, [wYCoord]
- ld d, a
- ld bc, wMap2Object
- ld a, $2
-.asm_8838
- ld [hConnectionStripLength], a
- ld hl, $1
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_8868
- ld hl, $3
- add hl, bc
- ld a, e
- cp [hl]
- jr nz, .asm_8868
- ld hl, $0
- add hl, bc
- ld a, [hl]
- cp $ff
- jr nz, .asm_8868
- ld hl, $2
- add hl, bc
- ld a, [hl]
- add $1
- sub d
- jr c, .asm_8868
- cp $b
- jr nc, .asm_8868
- push de
- push bc
- call CopyObjectStruct_
- pop bc
- pop de
-.asm_8868
- ld hl, $10
- add hl, bc
- ld b, h
- ld c, l
- ld a, [hConnectionStripLength]
- inc a
- cp $10
- jr nz, .asm_8838
- ret
-
-CopyTempObjectToObjectStruct: ; 8876 (2:4876)
- ld a, [wce99]
- ld hl, $1
- add hl, de
- ld [hl], a
- ld a, [wce9d]
- call CopySpriteMovementData
- ld a, [wce9c]
- ld hl, $6
- add hl, de
- or [hl]
- ld [hl], a
- ld a, [wcea0]
- call InitTempObjectYCoord
- ld a, [wce9f]
- call InitTempObjectXCoord
- ld a, [wce9a]
- ld hl, $0
- add hl, de
- ld [hl], a
- ld a, [wce9b]
- ld hl, $2
- add hl, de
- ld [hl], a
- ld hl, $9
- add hl, de
- ld [hl], $0
- ld hl, $d
- add hl, de
- ld [hl], $ff
- ld a, [wcea1]
- call InitTempObjectRadius
- ld a, [wce9e]
- ld hl, $20
- add hl, de
- ld [hl], a
- and a
- ret
-
-InitTempObjectYCoord: ; 88c5 (2:48c5)
- ld hl, $15
- add hl, de
- ld [hl], a
- ld hl, $11
- add hl, de
- ld [hl], a
- ld hl, wYCoord
- sub [hl]
- and $f
- swap a
- ld hl, wce82
- sub [hl]
- ld hl, $18
- add hl, de
- ld [hl], a
- ret
-
-InitTempObjectXCoord: ; 88e1 (2:48e1)
- ld hl, $14
- add hl, de
- ld [hl], a
- ld hl, $10
- add hl, de
- ld [hl], a
- ld hl, wXCoord
- sub [hl]
- and $f
- swap a
- ld hl, wce81
- sub [hl]
- ld hl, $17
- add hl, de
- ld [hl], a
- ret
-
-InitTempObjectRadius: ; 88fd (2:48fd)
- ld h, a
- inc a
- and $f
- ld l, a
- ld a, h
- add $10
- and $f0
- or l
- ld hl, $16
- add hl, de
- ld [hl], a
- ret
-
-TrainerWalkToPlayer:
- ld a, [hLastTalked]
- call InitMovementBuffer
- ld a, movement_step_sleep
- call AppendToMovementBuffer
- ld a, [wcf2a]
- dec a
- jr z, .asm_892b
- ld a, [hLastTalked]
- ld b, a
- ld c, PLAYER
- ld d, $1
- call GetTrainerPathToPlayer
- call DecrementMovementBufferCount
-.asm_892b
- ld a, movement_step_end
- call AppendToMovementBuffer
- ret
-
-GetTrainerPathToPlayer: ; 8931 (2:4931)
- push de
- push bc
- ld a, c
- call GetMapObject
- ld hl, $0
- add hl, bc
- ld a, [hl]
- call GetObjectStruct
- ld d, b
- ld e, c
- pop bc
- ld a, b
- call GetMapObject
- ld hl, $0
- add hl, bc
- ld a, [hl]
- call GetObjectStruct
- ld hl, $10
- add hl, bc
- ld a, [hl]
- ld hl, $11
- add hl, bc
- ld c, [hl]
- ld b, a
- ld hl, $10
- add hl, de
- ld a, [hl]
- ld hl, $11
- add hl, de
- ld e, [hl]
- ld d, a
- pop af
- call ComputePathToWalkToPlayer
- ret
-
-Special_SurfStartStep: ; 8969 (2:4969)
- call InitMovementBuffer
- call GetInitialSurfStep
- call AppendToMovementBuffer
- ld a, movement_step_end
- call AppendToMovementBuffer
- ret
-
-GetInitialSurfStep: ; 8978 (2:4978)
- ld a, [wPlayerDirection]
- srl a
- srl a
- and $3
- ld e, a
- ld d, $0
- ld hl, .Data ; $498a
- add hl, de
- ld a, [hl]
- ret
-
-.Data
- slow_step DOWN
- slow_step UP
- slow_step LEFT
- slow_step RIGHT
-
-FollowNotExact:
- push bc
- ld a, c
- call CheckObjectVisibility
- ld d, b
- ld e, c
- pop bc
- ret c
- ld a, b
- call CheckObjectVisibility
- ret c
- ld hl, $10
- add hl, bc
- ld a, [hl]
- ld hl, $11
- add hl, bc
- ld c, [hl]
- ld b, a
- ld hl, $10
- add hl, de
- ld a, [hl]
- cp b
- jr z, .asm_89b7
- jr c, .asm_89b4
- inc b
- jr .asm_89c5
-
-.asm_89b4
- dec b
- jr .asm_89c5
-
-.asm_89b7
- ld hl, $11
- add hl, de
- ld a, [hl]
- cp c
- jr z, .asm_89c5
- jr c, .asm_89c4
- inc c
- jr .asm_89c5
-
-.asm_89c4
- dec c
-.asm_89c5
- ld hl, $10
- add hl, de
- ld [hl], b
- ld a, b
- ld hl, wXCoord
- sub [hl]
- and $f
- swap a
- ld hl, wce81
- sub [hl]
- ld hl, $17
- add hl, de
- ld [hl], a
- ld hl, $11
- add hl, de
- ld [hl], c
- ld a, c
- ld hl, wYCoord
- sub [hl]
- and $f
- swap a
- ld hl, wce82
- sub [hl]
- ld hl, $18
- add hl, de
- ld [hl], a
- ld a, [hObjectStructIndexBuffer]
- ld hl, $20
- add hl, de
- ld [hl], a
- ld hl, $3
- add hl, de
- ld [hl], $1a
- ld hl, $9
- add hl, de
- ld [hl], $0
- ret
-
-GetRelativeFacing:
- ld a, d
- call GetMapObject
- ld hl, $0
- add hl, bc
- ld a, [hl]
- cp $d
- jr nc, .asm_8a27
- ld d, a
- ld a, e
- call GetMapObject
- ld hl, $0
- add hl, bc
- ld a, [hl]
- cp $d
- jr nc, .asm_8a27
- ld e, a
- call GetFacing_e_relativeto_d
- ret
-
-.asm_8a27
- scf
- ret
-
-GetFacing_e_relativeto_d: ; 8a29 (2:4a29)
- ld a, d
- call GetObjectStruct
- ld hl, $10
- add hl, bc
- ld a, [hl]
- ld hl, $11
- add hl, bc
- ld c, [hl]
- ld b, a
- push bc
- ld a, e
- call GetObjectStruct
- ld hl, $10
- add hl, bc
- ld d, [hl]
- ld hl, $11
- add hl, bc
- ld e, [hl]
- pop bc
- ld a, b
- sub d
- jr z, .asm_8a5c
- jr nc, .asm_8a50
- cpl
- inc a
-.asm_8a50
- ld h, a
- ld a, c
- sub e
- jr z, .asm_8a6a
- jr nc, .asm_8a59
- cpl
- inc a
-.asm_8a59
- sub h
- jr c, .asm_8a6a
-.asm_8a5c
- ld a, c
- cp e
- jr z, .asm_8a78
- jr c, .asm_8a66
- ld d, $0
- and a
- ret
-
-.asm_8a66
- ld d, $1
- and a
- ret
-
-.asm_8a6a
- ld a, b
- cp d
- jr z, .asm_8a78
- jr c, .asm_8a74
- ld d, $3
- and a
- ret
-
-.asm_8a74
- ld d, $2
- and a
- ret
-
-.asm_8a78
- scf
- ret
-
-QueueFollowerFirstStep: ; 8a7a (2:4a7a)
- call Function8a8d
- jr c, .asm_8a87
- ld [wFollowMovementQueue], a
- xor a
- ld [wFollowerMovementQueueLength], a
- ret
-
-.asm_8a87
- ld a, $ff
- ld [wFollowerMovementQueueLength], a
- ret
-
-Function8a8d: ; 8a8d (2:4a8d)
- ld a, [wObjectFollow_Leader]
- call GetObjectStruct
- ld hl, $10
- add hl, bc
- ld d, [hl]
- ld hl, $11
- add hl, bc
- ld e, [hl]
- ld a, [wObjectFollow_Follower]
- call GetObjectStruct
- ld hl, $10
- add hl, bc
- ld a, d
- cp [hl]
- jr z, .asm_8ab5
- jr c, .asm_8ab1
- and a
- ld a, $f
- ret
-
-.asm_8ab1
- and a
- ld a, $e
- ret
-
-.asm_8ab5
- ld hl, $11
- add hl, bc
- ld a, e
- cp [hl]
- jr z, .asm_8ac7
- jr c, .asm_8ac3
- and a
- ld a, $c
- ret
-
-.asm_8ac3
- and a
- ld a, $d
- ret
-
-.asm_8ac7
- scf
- ret