mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
object_struct
This commit is contained in:
parent
76e2ea534f
commit
d35cfad0de
@ -3247,7 +3247,7 @@ MonFaintedAnimation: ; 3d444
|
||||
|
||||
|
||||
Function3d490: ; 3d490
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld c, a
|
||||
.asm_3d493
|
||||
push bc
|
||||
@ -3271,7 +3271,7 @@ Function3d490: ; 3d490
|
||||
; 3d4ae
|
||||
|
||||
Function3d4ae: ; 3d4ae
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld c, a
|
||||
cp $8
|
||||
jr nz, .back
|
||||
@ -9486,7 +9486,7 @@ Function3fc30: ; 3fc30
|
||||
Function3fc5b: ; 3fc5b
|
||||
ld hl, Sprites
|
||||
xor a
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld b, $6
|
||||
ld e, $a8
|
||||
.asm_3fc65
|
||||
@ -9497,10 +9497,10 @@ Function3fc5b: ; 3fc5b
|
||||
inc hl
|
||||
ld [hl], e
|
||||
inc hl
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld [hli], a
|
||||
inc a
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld a, $1
|
||||
ld [hli], a
|
||||
ld a, d
|
||||
@ -9508,9 +9508,9 @@ Function3fc5b: ; 3fc5b
|
||||
ld d, a
|
||||
dec c
|
||||
jr nz, .asm_3fc69
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
add $3
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld a, e
|
||||
add $8
|
||||
ld e, a
|
||||
|
@ -516,7 +516,7 @@ const_value SET 1
|
||||
const OBJECT_SPRITE
|
||||
const OBJECT_MAP_OBJECT_INDEX
|
||||
const OBJECT_SPRITE_TILE
|
||||
const OBJECT_03
|
||||
const OBJECT_MOVEMENTTYPE
|
||||
const OBJECT_FLAGS1
|
||||
const OBJECT_FLAGS2
|
||||
const OBJECT_PALETTE
|
||||
|
@ -396,7 +396,7 @@ CheckTileEvent: ; 96874
|
||||
ret
|
||||
|
||||
.return6
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
call CheckPitTile
|
||||
jr nz, .pittile
|
||||
ld a, 6
|
||||
@ -606,7 +606,7 @@ TryObjectEvent: ; 969b5
|
||||
|
||||
.IsObject
|
||||
call PlayTalkObject
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
call GetObjectStruct
|
||||
ld hl, OBJECT_MAP_OBJECT_INDEX
|
||||
add hl, bc
|
||||
|
@ -161,7 +161,7 @@ CanUseSweetScent:: ; 97cfd
|
||||
jr nc, .no
|
||||
|
||||
.ice_check
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
call CheckIceTile
|
||||
jr z, .no
|
||||
scf
|
||||
@ -235,7 +235,7 @@ ChooseWildEncounter_BugContest:: ; 97d31
|
||||
; 97d64
|
||||
|
||||
TryWildEncounter_BugContest: ; 97d64
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
call CheckSuperTallGrassTile
|
||||
ld b, 40 percent
|
||||
jr z, .ok
|
||||
@ -352,7 +352,7 @@ Function97e08:: ; 97e08
|
||||
ld hl, wd6de
|
||||
xor a
|
||||
.asm_97e0c
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_97e19
|
||||
@ -365,7 +365,7 @@ Function97e08:: ; 97e08
|
||||
.asm_97e19
|
||||
ld de, $0006
|
||||
add hl, de
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
inc a
|
||||
cp $4
|
||||
jr nz, .asm_97e0c
|
||||
|
@ -828,7 +828,7 @@ Function4759: ; 4759
|
||||
ret
|
||||
; 4769
|
||||
|
||||
Function4769: ; 4769
|
||||
RestoreDefaultMovement: ; 4769
|
||||
ld hl, OBJECT_MAP_OBJECT_INDEX
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
@ -1029,7 +1029,7 @@ Function4851: ; 4851
|
||||
jp Function4b26
|
||||
; 4869
|
||||
|
||||
Function4869: ; 4869
|
||||
Function4869: ; standing?
|
||||
call Function462a
|
||||
call Function467b
|
||||
ld hl, OBJECT_11
|
||||
@ -1083,7 +1083,7 @@ Function48a0: ; 48a0
|
||||
; 48a6
|
||||
|
||||
Function48a6: ; 48a6
|
||||
ld hl, Function500e
|
||||
ld hl, Function500e ; scripted
|
||||
jp Function5041
|
||||
; 48ac
|
||||
|
||||
@ -1500,7 +1500,7 @@ Function4af0: ; 4af0
|
||||
add hl, bc
|
||||
ld [hl], 2
|
||||
ld hl, wd4cf
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
cp [hl]
|
||||
jr z, .ok
|
||||
ld hl, OBJECT_09
|
||||
@ -2047,7 +2047,7 @@ Function4e0c: ; 4e0c
|
||||
; 4e13
|
||||
|
||||
Function4e13: ; 4e13
|
||||
call Function4769
|
||||
call RestoreDefaultMovement
|
||||
call Function1a47
|
||||
ld hl, OBJECT_FACING
|
||||
add hl, bc
|
||||
@ -2396,7 +2396,7 @@ UpdateJumpPosition: ; 4fd5
|
||||
db -11, -10, -9, -8, -6, -4, 0, 0
|
||||
; 5000
|
||||
|
||||
Function5000: ; 5000
|
||||
Function5000: ; unscripted?
|
||||
ld a, [wc2de]
|
||||
ld hl, wc2df
|
||||
ld [hl], a
|
||||
@ -2406,8 +2406,8 @@ Function5000: ; 5000
|
||||
ret
|
||||
; 500e
|
||||
|
||||
Function500e: ; 500e
|
||||
ld hl, wc2e3
|
||||
Function500e: ; scripted
|
||||
ld hl, wMovementDataPointer
|
||||
call Function1aae
|
||||
ret
|
||||
; 5015
|
||||
@ -2418,7 +2418,7 @@ Function5015: ; 5015
|
||||
ld e, [hl]
|
||||
inc [hl]
|
||||
ld d, 0
|
||||
ld hl, wc2e2
|
||||
ld hl, wMovementPerson
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
@ -2448,7 +2448,7 @@ Function5037: ; 5037
|
||||
; 503d
|
||||
|
||||
Function503d: ; 503d
|
||||
ld a, [wc2e2]
|
||||
ld a, [wMovementPerson]
|
||||
ret
|
||||
; 5041
|
||||
|
||||
@ -2467,14 +2467,14 @@ Function5041: ; 5041
|
||||
|
||||
CopyMovementPointer: ; 5055
|
||||
ld a, l
|
||||
ld [wc2eb], a
|
||||
ld [wMovementPointer], a
|
||||
ld a, h
|
||||
ld [wc2ec], a
|
||||
ld [wMovementPointer + 1], a
|
||||
ret
|
||||
; 505e
|
||||
|
||||
GetMovementByte: ; 505e
|
||||
ld hl, wc2eb
|
||||
ld hl, wMovementPointer
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
@ -2489,7 +2489,7 @@ Function5065: ; 5065
|
||||
|
||||
DoMovementFunction: ; 506b
|
||||
push af
|
||||
call Function54b8
|
||||
call ApplyMovementToFollower
|
||||
pop af
|
||||
ld hl, MovementPointers
|
||||
rst JumpTable
|
||||
@ -2502,14 +2502,14 @@ INCLUDE "engine/movement.asm"
|
||||
; 54b8
|
||||
|
||||
|
||||
Function54b8: ; 54b8
|
||||
ApplyMovementToFollower: ; 54b8
|
||||
ld e, a
|
||||
ld a, [wd4ce]
|
||||
ld a, [wObjectFollow_Follower]
|
||||
cp -1
|
||||
ret z
|
||||
ld a, [wd4cd]
|
||||
ld a, [wObjectFollow_Leader]
|
||||
ld d, a
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
cp d
|
||||
ret nz
|
||||
ld a, e
|
||||
@ -2565,7 +2565,7 @@ Function54e6: ; 54e6
|
||||
; 550a
|
||||
|
||||
Function550a: ; 550a
|
||||
ld a, [wd4cd]
|
||||
ld a, [wObjectFollow_Leader]
|
||||
cp -1
|
||||
jr z, .nope
|
||||
push bc
|
||||
@ -2581,7 +2581,7 @@ Function550a: ; 550a
|
||||
|
||||
.nope
|
||||
ld a, $ff
|
||||
ld [wd4ce], a
|
||||
ld [wObjectFollow_Follower], a
|
||||
ld a, $47
|
||||
scf
|
||||
ret
|
||||
@ -2652,7 +2652,7 @@ Function5565: ; 5565
|
||||
|
||||
Function5579: ; 5579
|
||||
push bc
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld c, a
|
||||
call Function5582
|
||||
pop bc
|
||||
@ -2713,7 +2713,7 @@ Function55b9: ; 55b9
|
||||
ld [hli], a
|
||||
ld a, [de]
|
||||
ld [hli], a
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld [hli], a
|
||||
push hl
|
||||
ld hl, OBJECT_MAP_X
|
||||
@ -2738,7 +2738,7 @@ Function55e0:: ; 55e0
|
||||
ld bc, ObjectStructs
|
||||
xor a
|
||||
.loop
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
call GetObjectSprite
|
||||
jr z, .ok
|
||||
call Function565c
|
||||
@ -2748,7 +2748,7 @@ Function55e0:: ; 55e0
|
||||
add hl, bc
|
||||
ld b, h
|
||||
ld c, l
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
inc a
|
||||
cp NUM_OBJECT_STRUCTS
|
||||
jr nz, .loop
|
||||
@ -2802,13 +2802,13 @@ Function5645: ; 5645
|
||||
xor a
|
||||
ld bc, ObjectStructs
|
||||
.loop
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
call Function5680
|
||||
ld hl, OBJECT_STRUCT_LENGTH
|
||||
add hl, bc
|
||||
ld b, h
|
||||
ld c, l
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
inc a
|
||||
cp NUM_OBJECT_STRUCTS
|
||||
jr nz, .loop
|
||||
@ -3033,7 +3033,7 @@ Function5781: ; 5781
|
||||
ld bc, ObjectStructs
|
||||
xor a
|
||||
.loop
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
call GetObjectSprite
|
||||
jr z, .next
|
||||
call Function437b
|
||||
@ -3043,7 +3043,7 @@ Function5781: ; 5781
|
||||
add hl, bc
|
||||
ld b, h
|
||||
ld c, l
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
inc a
|
||||
cp NUM_OBJECT_STRUCTS
|
||||
jr nz, .loop
|
||||
@ -3056,7 +3056,7 @@ Function579d: ; 579d
|
||||
ld [wc2df], a
|
||||
xor a
|
||||
ld [wd04e], a
|
||||
ld [wd4e2], a
|
||||
ld [PlayerObject12], a
|
||||
call Function57bc
|
||||
callba CheckWarpCollision
|
||||
call c, SpawnInFacingDown
|
||||
@ -3101,7 +3101,7 @@ Function57db: ; 57db
|
||||
|
||||
Function57e2: ; 57e2
|
||||
ld a, d
|
||||
and $80
|
||||
and %10000000
|
||||
ret z
|
||||
ld bc, NONE ; debug?
|
||||
ld hl, OBJECT_FACING
|
||||
@ -3123,69 +3123,69 @@ Function57e2: ; 57e2
|
||||
ret
|
||||
; 5803
|
||||
|
||||
Function5803:: ; 5803
|
||||
StartFollow:: ; 5803
|
||||
push bc
|
||||
ld a, b
|
||||
call Function5815
|
||||
call SetLeaderIfVisible
|
||||
pop bc
|
||||
ret c
|
||||
ld a, c
|
||||
call Function582c
|
||||
call SetFollowerIfVisible
|
||||
callba Function848a
|
||||
ret
|
||||
; 5815
|
||||
|
||||
Function5815: ; 5815
|
||||
call Function18de
|
||||
SetLeaderIfVisible: ; 5815
|
||||
call CheckObjectVisibility
|
||||
ret c
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld [wd4cd], a
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld [wObjectFollow_Leader], a
|
||||
ret
|
||||
; 581f
|
||||
|
||||
Function581f:: ; 581f
|
||||
call Function5826
|
||||
call Function5847
|
||||
StopFollow:: ; 581f
|
||||
call ResetLeader
|
||||
call ResetFollower
|
||||
ret
|
||||
; 5826
|
||||
|
||||
Function5826: ; 5826
|
||||
ResetLeader: ; 5826
|
||||
ld a, -1
|
||||
ld [wd4cd], a
|
||||
ld [wObjectFollow_Leader], a
|
||||
ret
|
||||
; 582c
|
||||
|
||||
Function582c: ; 582c
|
||||
SetFollowerIfVisible: ; 582c
|
||||
push af
|
||||
call Function5847
|
||||
call ResetFollower
|
||||
pop af
|
||||
call Function18de
|
||||
call CheckObjectVisibility
|
||||
ret c
|
||||
ld hl, OBJECT_03
|
||||
ld hl, OBJECT_MOVEMENTTYPE
|
||||
add hl, bc
|
||||
ld [hl], $13
|
||||
ld [hl], SPRITEMOVEDATA_13
|
||||
ld hl, OBJECT_09
|
||||
add hl, bc
|
||||
ld [hl], 0
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld [wd4ce], a
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld [wObjectFollow_Follower], a
|
||||
ret
|
||||
; 5847
|
||||
|
||||
Function5847: ; 5847
|
||||
ld a, [wd4ce]
|
||||
ResetFollower: ; 5847
|
||||
ld a, [wObjectFollow_Follower]
|
||||
cp -1
|
||||
ret z
|
||||
call GetObjectStruct
|
||||
callba Function58e3
|
||||
ld a, -1
|
||||
ld [wd4ce], a
|
||||
ld [wObjectFollow_Follower], a
|
||||
ret
|
||||
; 585c
|
||||
|
||||
SetFlagsForMovement_1:: ; 585c
|
||||
ld a, c
|
||||
call Function18de
|
||||
call CheckObjectVisibility
|
||||
ret c
|
||||
push bc
|
||||
call Function587a
|
||||
@ -3198,7 +3198,7 @@ SetFlagsForMovement_1:: ; 585c
|
||||
; 586e
|
||||
|
||||
Function586e: ; 586e
|
||||
call Function18de
|
||||
call CheckObjectVisibility
|
||||
ret c
|
||||
ld hl, OBJECT_FLAGS2
|
||||
add hl, bc
|
||||
@ -3231,7 +3231,7 @@ Function587a: ; 587a
|
||||
; 5897
|
||||
|
||||
_SetFlagsForMovement_2:: ; 5897
|
||||
ld a, [wd4cd]
|
||||
ld a, [wObjectFollow_Leader]
|
||||
cp -1
|
||||
ret z
|
||||
push bc
|
||||
@ -3242,7 +3242,7 @@ _SetFlagsForMovement_2:: ; 5897
|
||||
pop bc
|
||||
cp c
|
||||
ret nz
|
||||
ld a, [wd4ce]
|
||||
ld a, [wObjectFollow_Follower]
|
||||
cp -1
|
||||
ret z
|
||||
call GetObjectStruct
|
||||
@ -3278,7 +3278,7 @@ Function58b9:: ; 58b9
|
||||
; 58d8
|
||||
|
||||
Function58d8: ; 58d8
|
||||
call Function18de
|
||||
call CheckObjectVisibility
|
||||
ret c
|
||||
ld hl, OBJECT_FLAGS2
|
||||
add hl, bc
|
||||
@ -3298,7 +3298,7 @@ Function58e3: ; 58e3
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
pop bc
|
||||
ld hl, OBJECT_03
|
||||
ld hl, OBJECT_MOVEMENTTYPE
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ld hl, OBJECT_09
|
||||
@ -3316,7 +3316,7 @@ Function5903: ; 5903
|
||||
ld hl, .standing_movefns
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld hl, OBJECT_03
|
||||
ld hl, OBJECT_MOVEMENTTYPE
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ld hl, OBJECT_09
|
||||
@ -3431,13 +3431,13 @@ Function5991: ; 5991
|
||||
|
||||
Function59a4: ; 59a4
|
||||
xor a
|
||||
ld hl, wc2eb
|
||||
ld hl, wMovementPointer
|
||||
ld bc, 13
|
||||
call ByteFill
|
||||
|
||||
ld d, 0
|
||||
ld bc, ObjectStructs
|
||||
ld hl, wc2eb
|
||||
ld hl, wMovementPointer
|
||||
.loop
|
||||
push hl
|
||||
call GetObjectSprite
|
||||
@ -3488,7 +3488,7 @@ Function59a4: ; 59a4
|
||||
; 59f3
|
||||
|
||||
Function59f3: ; 59f3
|
||||
ld hl, wc2eb
|
||||
ld hl, wMovementPointer
|
||||
.next
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
@ -3677,16 +3677,16 @@ endr
|
||||
|
||||
.Addresses ; 5ace
|
||||
dw PlayerStruct
|
||||
dw ObjectStruct1
|
||||
dw ObjectStruct2
|
||||
dw ObjectStruct3
|
||||
dw ObjectStruct4
|
||||
dw ObjectStruct5
|
||||
dw ObjectStruct6
|
||||
dw ObjectStruct7
|
||||
dw ObjectStruct8
|
||||
dw ObjectStruct9
|
||||
dw ObjectStruct10
|
||||
dw ObjectStruct11
|
||||
dw ObjectStruct12
|
||||
dw Object1Struct
|
||||
dw Object2Struct
|
||||
dw Object3Struct
|
||||
dw Object4Struct
|
||||
dw Object5Struct
|
||||
dw Object6Struct
|
||||
dw Object7Struct
|
||||
dw Object8Struct
|
||||
dw Object9Struct
|
||||
dw Object10Struct
|
||||
dw Object11Struct
|
||||
dw Object12Struct
|
||||
; 5ae8
|
||||
|
@ -205,8 +205,8 @@ Movement_4a: ; 51b8
|
||||
; 51c1
|
||||
|
||||
Movement_step_end: ; 51c1
|
||||
call Function4769
|
||||
ld hl, OBJECT_03
|
||||
call RestoreDefaultMovement
|
||||
ld hl, OBJECT_MOVEMENTTYPE
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ld hl, OBJECT_27
|
||||
@ -221,8 +221,8 @@ Movement_step_end: ; 51c1
|
||||
; 51db
|
||||
|
||||
Movement_48: ; 51db
|
||||
call Function4769
|
||||
ld hl, OBJECT_03
|
||||
call RestoreDefaultMovement
|
||||
ld hl, OBJECT_MOVEMENTTYPE
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ld hl, OBJECT_27
|
||||
@ -242,8 +242,8 @@ Movement_48: ; 51db
|
||||
|
||||
Movement_remove_person: ; 51fd
|
||||
call Function4357
|
||||
ld hl, wd4cd
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld hl, wObjectFollow_Leader
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
cp [hl]
|
||||
jr nz, .asm_520a
|
||||
ld [hl], $ff
|
||||
@ -738,7 +738,7 @@ NormalStep: ; 5412
|
||||
|
||||
.asm_5430
|
||||
ld hl, wd4cf
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
cp [hl]
|
||||
jr z, .asm_543f
|
||||
|
||||
@ -761,7 +761,7 @@ TurningStep: ; 5446
|
||||
add hl, bc
|
||||
ld [hl], $4
|
||||
ld hl, wd4cf
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
cp [hl]
|
||||
jr z, .asm_5461
|
||||
ld hl, OBJECT_09
|
||||
@ -784,7 +784,7 @@ SlideStep: ; 5468
|
||||
add hl, bc
|
||||
ld [hl], $1
|
||||
ld hl, wd4cf
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
cp [hl]
|
||||
jr z, .asm_5483
|
||||
ld hl, OBJECT_09
|
||||
@ -813,7 +813,7 @@ JumpStep: ; 548a
|
||||
ld [hl], $2
|
||||
call Function5529
|
||||
ld hl, wd4cf
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
cp [hl]
|
||||
jr z, .asm_54b1
|
||||
ld hl, OBJECT_09
|
||||
|
@ -1191,7 +1191,7 @@ endr
|
||||
ApplyPersonFacing: ; 0x9728b
|
||||
ld a, d
|
||||
push de
|
||||
call Function18de
|
||||
call CheckObjectVisibility
|
||||
jr c, .not_visible ; 0x97290 $27
|
||||
ld hl, OBJECT_SPRITE
|
||||
add hl, bc
|
||||
@ -1258,7 +1258,7 @@ Script_appear: ; 0x972dd
|
||||
call GetScriptByte
|
||||
call GetScriptPerson
|
||||
call _CopyObjectStruct
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld b, 0 ; clear
|
||||
call ApplyEventActionAppearDisappear
|
||||
ret
|
||||
@ -1276,7 +1276,7 @@ Script_disappear: ; 0x972ee
|
||||
ld a, [hLastTalked]
|
||||
.ok
|
||||
call DeleteObjectStruct
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld b, 1 ; set
|
||||
call ApplyEventActionAppearDisappear
|
||||
callba RefreshMapAppearDisappear
|
||||
@ -1316,14 +1316,14 @@ Script_follow: ; 0x97325
|
||||
call GetScriptByte
|
||||
call GetScriptPerson
|
||||
ld c, a
|
||||
callba Function5803
|
||||
callba StartFollow
|
||||
ret
|
||||
; 0x9733a
|
||||
|
||||
Script_stopfollow: ; 0x9733a
|
||||
; script command 0x71
|
||||
|
||||
callba Function581f
|
||||
callba StopFollow
|
||||
ret
|
||||
; 0x97341
|
||||
|
||||
|
8
home.asm
8
home.asm
@ -1515,11 +1515,11 @@ FacingPlayerDistance:: ; 36ad
|
||||
add hl, bc
|
||||
ld e, [hl]
|
||||
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
cp d
|
||||
jr z, .CheckY
|
||||
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
cp e
|
||||
jr z, .CheckX
|
||||
|
||||
@ -1527,7 +1527,7 @@ FacingPlayerDistance:: ; 36ad
|
||||
ret
|
||||
|
||||
.CheckY
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
sub e
|
||||
jr z, .NotFacing
|
||||
jr nc, .Above
|
||||
@ -1545,7 +1545,7 @@ FacingPlayerDistance:: ; 36ad
|
||||
jr .CheckFacing
|
||||
|
||||
.CheckX
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
sub d
|
||||
jr z, .NotFacing
|
||||
jr nc, .Left
|
||||
|
@ -356,14 +356,14 @@ JoyTextDelay:: ; a57
|
||||
; a80
|
||||
|
||||
Functiona80:: ; a80
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
push af
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
push af
|
||||
xor a
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld a, 6
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
|
||||
.loop
|
||||
push hl
|
||||
@ -377,9 +377,9 @@ Functiona80:: ; a80
|
||||
jr z, .loop
|
||||
|
||||
pop af
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
pop af
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ret
|
||||
; aa5
|
||||
|
||||
@ -459,37 +459,37 @@ Functionb06:: ; b06
|
||||
cp b
|
||||
pop bc
|
||||
jr nz, .asm_b27
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
dec a
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ret nz
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
dec a
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
ret nz
|
||||
ld a, "─"
|
||||
ld [hl], a
|
||||
ld a, -1
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld a, 6
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
ret
|
||||
|
||||
.asm_b27
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
and a
|
||||
ret z
|
||||
dec a
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ret nz
|
||||
dec a
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
dec a
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
ret nz
|
||||
ld a, $6
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
ld a, $ee
|
||||
ld [hl], a
|
||||
ret
|
||||
|
84
home/map.asm
84
home/map.asm
@ -252,10 +252,10 @@ Function2252:: ; 2252
|
||||
; 2266
|
||||
|
||||
Function2266:: ; 2266
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
sub $4
|
||||
ld e, a
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
sub $4
|
||||
ld d, a
|
||||
ld a, [wCurrMapWarpCount]
|
||||
@ -652,11 +652,11 @@ Function2457:: ; 2457
|
||||
; 2471
|
||||
|
||||
Function2471:: ; 2471
|
||||
ld hl, ObjectStruct1
|
||||
ld hl, Object1Struct
|
||||
ld bc, OBJECT_STRUCT_LENGTH * (NUM_OBJECT_STRUCTS - 1)
|
||||
xor a
|
||||
call ByteFill
|
||||
ld hl, ObjectStruct1
|
||||
ld hl, Object1Struct
|
||||
ld de, OBJECT_STRUCT_LENGTH
|
||||
ld c, NUM_OBJECT_STRUCTS - 1
|
||||
xor a
|
||||
@ -729,9 +729,9 @@ ChangeMap:: ; 24e4
|
||||
|
||||
ld hl, OverworldMap
|
||||
ld a, [MapWidth]
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
add $6
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld c, a
|
||||
ld b, 0
|
||||
rept 3
|
||||
@ -750,7 +750,7 @@ endr
|
||||
ld b, a
|
||||
.asm_250c
|
||||
push hl
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld c, a
|
||||
.asm_2510
|
||||
ld a, [de]
|
||||
@ -759,7 +759,7 @@ endr
|
||||
dec c
|
||||
jr nz, .asm_2510
|
||||
pop hl
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .asm_251e
|
||||
@ -794,10 +794,10 @@ FillMapConnections:: ; 2524
|
||||
ld e, a
|
||||
ld a, [NorthConnectionStripLocation + 1]
|
||||
ld d, a
|
||||
ld a, [NorthMapObjectIndexBuffer1]
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld a, [NorthMapObjectIndexBuffer2]
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld a, [NorthMapObjectIndexBuffer]
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld a, [NorthObjectStructIndexBuffer]
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
call FillNorthConnectionStrip
|
||||
|
||||
.South
|
||||
@ -817,10 +817,10 @@ FillMapConnections:: ; 2524
|
||||
ld e, a
|
||||
ld a, [SouthConnectionStripLocation + 1]
|
||||
ld d, a
|
||||
ld a, [SouthMapObjectIndexBuffer1]
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld a, [SouthMapObjectIndexBuffer2]
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld a, [SouthMapObjectIndexBuffer]
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld a, [SouthObjectStructIndexBuffer]
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
call FillSouthConnectionStrip
|
||||
|
||||
.West
|
||||
@ -843,7 +843,7 @@ FillMapConnections:: ; 2524
|
||||
ld a, [WestConnectionStripLength]
|
||||
ld b, a
|
||||
ld a, [WestConnectedMapWidth]
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
call FillWestConnectionStrip
|
||||
|
||||
.East
|
||||
@ -866,7 +866,7 @@ FillMapConnections:: ; 2524
|
||||
ld a, [EastConnectionStripLength]
|
||||
ld b, a
|
||||
ld a, [EastConnectedMapWidth]
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
call FillEastConnectionStrip
|
||||
|
||||
.Done
|
||||
@ -882,7 +882,7 @@ FillSouthConnectionStrip:: ; 25d3
|
||||
push de
|
||||
|
||||
push hl
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld b, a
|
||||
.x
|
||||
ld a, [hli]
|
||||
@ -892,7 +892,7 @@ FillSouthConnectionStrip:: ; 25d3
|
||||
jr nz, .x
|
||||
pop hl
|
||||
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
add hl, de
|
||||
@ -917,7 +917,7 @@ FillEastConnectionStrip:: ; 25f6
|
||||
.asm_25f6
|
||||
ld a, [MapWidth]
|
||||
add 6
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
|
||||
push de
|
||||
|
||||
@ -933,13 +933,13 @@ FillEastConnectionStrip:: ; 25f6
|
||||
inc de
|
||||
pop hl
|
||||
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
add hl, de
|
||||
pop de
|
||||
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
add e
|
||||
ld e, a
|
||||
jr nc, .asm_2617
|
||||
@ -1171,7 +1171,7 @@ CoordinatesEventText:: ; 2702
|
||||
|
||||
|
||||
CheckObjectMask:: ; 2707
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld e, a
|
||||
ld d, $0
|
||||
ld hl, wObjectMasks
|
||||
@ -1181,7 +1181,7 @@ CheckObjectMask:: ; 2707
|
||||
; 2712
|
||||
|
||||
MaskObject:: ; 2712
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld e, a
|
||||
ld d, $0
|
||||
ld hl, wObjectMasks
|
||||
@ -1191,7 +1191,7 @@ MaskObject:: ; 2712
|
||||
; 271e
|
||||
|
||||
UnmaskObject:: ; 271e
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld e, a
|
||||
ld d, $0
|
||||
ld hl, wObjectMasks
|
||||
@ -1463,7 +1463,7 @@ SaveScreen:: ; 289d
|
||||
ld de, XCoord + 1
|
||||
ld a, [MapWidth]
|
||||
add $6
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld a, [wd151]
|
||||
and a
|
||||
jr z, .asm_28cb
|
||||
@ -1477,7 +1477,7 @@ SaveScreen:: ; 289d
|
||||
|
||||
.asm_28c0
|
||||
ld de, wdcbf
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
@ -1512,7 +1512,7 @@ LoadNeighboringBlockData:: ; 28e3
|
||||
ld l, a
|
||||
ld a, [MapWidth]
|
||||
add $6
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld de, XCoord + 1
|
||||
ld b, $6
|
||||
ld c, $5
|
||||
@ -1537,7 +1537,7 @@ Function28f7:: ; 28f7
|
||||
|
||||
.asm_2908
|
||||
pop hl
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
@ -1552,15 +1552,15 @@ Function2914:: ; 2914
|
||||
ld [TilePermissions], a
|
||||
call Function296c
|
||||
call Function294d
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
ld d, a
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
ld e, a
|
||||
call Function2a3c
|
||||
ld [StandingTile], a
|
||||
ld [PlayerStandingTile], a
|
||||
call Function29ff
|
||||
ret nz
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
and 7
|
||||
ld hl, .data_2945
|
||||
add l
|
||||
@ -1580,9 +1580,9 @@ Function2914:: ; 2914
|
||||
; 294d
|
||||
|
||||
Function294d:: ; 294d
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
ld d, a
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
ld e, a
|
||||
push de
|
||||
inc e
|
||||
@ -1598,9 +1598,9 @@ Function294d:: ; 294d
|
||||
; 296c
|
||||
|
||||
Function296c:: ; 296c
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
ld d, a
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
ld e, a
|
||||
push de
|
||||
dec d
|
||||
@ -1725,10 +1725,10 @@ endr
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
add d
|
||||
ld d, a
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
add e
|
||||
ld e, a
|
||||
ld a, [hl]
|
||||
@ -1906,10 +1906,10 @@ CheckStandingOnXYTrigger:: ; 2ae7
|
||||
call CheckTriggers
|
||||
ld b, a
|
||||
; Load your current coordinates into de. This will be used to check if your position is in the xy-trigger table for the current map.
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
sub 4
|
||||
ld d, a
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
sub 4
|
||||
ld e, a
|
||||
|
||||
|
@ -21,7 +21,7 @@ Function180e:: ; 180e
|
||||
ld hl, UsedSprites + 2
|
||||
ld c, SPRITE_GFX_LIST_CAPACITY - 1
|
||||
ld b, a
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
cp 0
|
||||
jr z, .nope
|
||||
ld a, b
|
||||
@ -78,14 +78,14 @@ Function1836:: ; 1836
|
||||
|
||||
|
||||
Function184a:: ; 184a
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
call GetTileCollision
|
||||
ld b, a
|
||||
ret
|
||||
; 1852
|
||||
|
||||
CheckOnWater:: ; 1852
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
call GetTileCollision
|
||||
sub 1
|
||||
ret z
|
||||
@ -209,7 +209,7 @@ CheckWaterfallTile:: ; 18bd
|
||||
; 18c3
|
||||
|
||||
CheckStandingOnEntrance:: ; 18c3
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
cp $71 ; door
|
||||
ret z
|
||||
cp $79
|
||||
@ -232,16 +232,16 @@ GetMapObject:: ; 18d2
|
||||
; 18de
|
||||
|
||||
|
||||
Function18de:: ; 18de
|
||||
CheckObjectVisibility:: ; 18de
|
||||
; Sets carry if the object is not visible on the screen.
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
call GetMapObject
|
||||
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp -1
|
||||
jr z, .not_visible
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
call GetObjectStruct
|
||||
and a
|
||||
ret
|
||||
@ -326,7 +326,7 @@ CheckObjectTime:: ; 18f5
|
||||
; 194d
|
||||
|
||||
Function194d:: ; 194d
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
call GetMapObject
|
||||
call CopyObjectStruct
|
||||
ret
|
||||
@ -335,22 +335,22 @@ Function194d:: ; 194d
|
||||
|
||||
|
||||
_CopyObjectStruct:: ; 1956
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
call UnmaskObject
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
call GetMapObject
|
||||
callba CopyObjectStruct
|
||||
ret
|
||||
; 1967
|
||||
|
||||
Function1967:: ; 1967
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
call GetMapObject
|
||||
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp -1
|
||||
ret z
|
||||
ret z ; already hidden
|
||||
ld [hl], -1
|
||||
push af
|
||||
call Function1985
|
||||
@ -361,18 +361,18 @@ Function1967:: ; 1967
|
||||
; 1985
|
||||
|
||||
Function1985:: ; 1985
|
||||
ld hl, wd4cd
|
||||
ld hl, wObjectFollow_Leader
|
||||
cp [hl]
|
||||
jr z, .ok
|
||||
ld hl, wd4ce
|
||||
ld hl, wObjectFollow_Follower
|
||||
cp [hl]
|
||||
ret nz
|
||||
|
||||
.ok
|
||||
callba Function581f
|
||||
callba StopFollow
|
||||
ld a, -1
|
||||
ld [wd4cd], a
|
||||
ld [wd4ce], a
|
||||
ld [wObjectFollow_Leader], a
|
||||
ld [wObjectFollow_Follower], a
|
||||
ret
|
||||
; 199f
|
||||
|
||||
@ -413,11 +413,11 @@ Function19b8:: ; 19b8
|
||||
cp $d
|
||||
ret nc
|
||||
ld b, a
|
||||
ld a, [wd4cd]
|
||||
ld a, [wObjectFollow_Leader]
|
||||
cp b
|
||||
jr nz, .ok
|
||||
ld a, -1
|
||||
ld [wd4cd], a
|
||||
ld [wObjectFollow_Leader], a
|
||||
|
||||
.ok
|
||||
ld a, b
|
||||
@ -429,19 +429,19 @@ Function19b8:: ; 19b8
|
||||
|
||||
|
||||
Function19e9:: ; 19e9
|
||||
ld [wc2e2], a
|
||||
ld [wMovementPerson], a
|
||||
ld a, [hROMBank]
|
||||
ld [wc2e3], a
|
||||
ld [wMovementDataPointer], a
|
||||
ld a, l
|
||||
ld [wc2e3 + 1], a
|
||||
ld [wMovementDataPointer + 1], a
|
||||
ld a, h
|
||||
ld [wc2e3 + 2], a
|
||||
ld a, [wc2e2]
|
||||
call Function18de
|
||||
ld [wMovementDataPointer + 2], a
|
||||
ld a, [wMovementPerson]
|
||||
call CheckObjectVisibility
|
||||
ret c
|
||||
ld hl, OBJECT_03
|
||||
ld hl, OBJECT_MOVEMENTTYPE
|
||||
add hl, bc
|
||||
ld [hl], $14
|
||||
ld [hl], SPRITEMOVEDATA_14
|
||||
ld hl, OBJECT_09
|
||||
add hl, bc
|
||||
ld [hl], 0
|
||||
@ -486,7 +486,7 @@ FindFirstEmptyObjectStruct:: ; 1a13
|
||||
|
||||
|
||||
Function1a2f:: ; 1a2f
|
||||
ld hl, OBJECT_03
|
||||
ld hl, OBJECT_MOVEMENTTYPE
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp OBJECT_STRUCT_3_DATA_HEIGHT
|
||||
@ -544,7 +544,7 @@ Function1a61:: ; 1a61
|
||||
; 1a71
|
||||
|
||||
Function1a71:: ; 1a71
|
||||
ld hl, OBJECT_03
|
||||
ld hl, OBJECT_MOVEMENTTYPE
|
||||
add hl, de
|
||||
ld [hl], a
|
||||
push de
|
||||
|
4
hram.asm
4
hram.asm
@ -32,8 +32,8 @@ hJoyDown EQU $ffa8
|
||||
hJoyLast EQU $ffa9
|
||||
hInMenu EQU $ffaa
|
||||
|
||||
hMapObjectIndexBuffer1 EQU $ffaf
|
||||
hMapObjectIndexBuffer2 EQU $ffb0
|
||||
hMapObjectIndexBuffer EQU $ffaf
|
||||
hObjectStructIndexBuffer EQU $ffb0
|
||||
|
||||
hPastLeadingZeroes EQU $ffb3
|
||||
|
||||
|
164
main.asm
164
main.asm
@ -2345,14 +2345,14 @@ CheckFacingObject:: ; 6fd9
|
||||
call CheckCounterTile
|
||||
jr nz, .asm_6ff1
|
||||
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
sub d
|
||||
cpl
|
||||
inc a
|
||||
add d
|
||||
ld d, a
|
||||
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
sub e
|
||||
cpl
|
||||
inc a
|
||||
@ -2362,7 +2362,7 @@ CheckFacingObject:: ; 6fd9
|
||||
.asm_6ff1
|
||||
ld bc, ObjectStructs ; redundant
|
||||
ld a, 0
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
call Function7041
|
||||
ret nc
|
||||
ld hl, OBJECT_DIRECTION_WALKING
|
||||
@ -2390,7 +2390,7 @@ Function7009: ; 7009
|
||||
; 7015
|
||||
|
||||
Function7015: ; unreferenced
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
call GetObjectStruct
|
||||
call Function7021
|
||||
call Function7041
|
||||
@ -2430,7 +2430,7 @@ Function7041: ; 7041
|
||||
ld bc, ObjectStructs
|
||||
xor a
|
||||
.loop
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
call GetObjectSprite
|
||||
jr z, .nope
|
||||
ld hl, OBJECT_FLAGS1
|
||||
@ -2458,9 +2458,9 @@ Function7041: ; 7041
|
||||
jr nz, .ok
|
||||
|
||||
.ok2
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld l, a
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
cp l
|
||||
jr nz, .setcarry
|
||||
|
||||
@ -2475,9 +2475,9 @@ Function7041: ; 7041
|
||||
ld a, [hl]
|
||||
cp e
|
||||
jr nz, .nope
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld l, a
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
cp l
|
||||
jr nz, .setcarry
|
||||
|
||||
@ -2486,7 +2486,7 @@ Function7041: ; 7041
|
||||
add hl, bc
|
||||
ld b, h
|
||||
ld c, l
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
inc a
|
||||
cp NUM_OBJECT_STRUCTS
|
||||
jr nz, .loop
|
||||
@ -2590,20 +2590,20 @@ Function70ed: ; 70ed
|
||||
; 7113
|
||||
|
||||
Function7113: ; unreferenced
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
ld d, a
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
ld e, a
|
||||
ld bc, ObjectStructs
|
||||
xor a
|
||||
.loop
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
call GetObjectSprite
|
||||
jr z, .asm_7160
|
||||
ld hl, OBJECT_03
|
||||
ld hl, OBJECT_MOVEMENTTYPE
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp $15
|
||||
cp SPRITEMOVEDATA_15
|
||||
jr nz, .asm_7136
|
||||
call Function7171
|
||||
jr c, .asm_716f
|
||||
@ -2620,7 +2620,7 @@ Function7113: ; unreferenced
|
||||
ld a, [hl]
|
||||
cp d
|
||||
jr nz, .asm_714e
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
cp $0
|
||||
jr z, .asm_7160
|
||||
jr .asm_716f
|
||||
@ -2643,7 +2643,7 @@ Function7113: ; unreferenced
|
||||
add hl, bc
|
||||
ld b, h
|
||||
ld c, l
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
inc a
|
||||
cp NUM_OBJECT_STRUCTS
|
||||
jr nz, .loop
|
||||
@ -3198,8 +3198,8 @@ Function8000: ; 8000
|
||||
|
||||
GetSpawnCoord: ; 8029
|
||||
ld a, -1
|
||||
ld [wd4cd], a
|
||||
ld [wd4ce], a
|
||||
ld [wObjectFollow_Leader], a
|
||||
ld [wObjectFollow_Follower], a
|
||||
ld a, $0
|
||||
ld hl, PlayerObjectTemplate
|
||||
call Function19a6
|
||||
@ -3221,10 +3221,10 @@ GetSpawnCoord: ; 8029
|
||||
.ok
|
||||
ld [hl], e
|
||||
ld a, $0
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld bc, MapObjects
|
||||
ld a, $0
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
ld de, ObjectStructs
|
||||
call Function8116
|
||||
ld a, $0
|
||||
@ -3269,7 +3269,7 @@ PlayerSpawn_ConvertCoords: ; 808f
|
||||
|
||||
Function80a1:: ; 80a1
|
||||
ld a, b
|
||||
call Function18de
|
||||
call CheckObjectVisibility
|
||||
ret c
|
||||
ld hl, OBJECT_MAP_X
|
||||
add hl, bc
|
||||
@ -3277,7 +3277,7 @@ Function80a1:: ; 80a1
|
||||
ld hl, OBJECT_MAP_Y
|
||||
add hl, bc
|
||||
ld e, [hl]
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld b, a
|
||||
call CopyDECoordsToMapObject
|
||||
and a
|
||||
@ -3288,26 +3288,26 @@ RefreshPlayerCoords: ; 80b8
|
||||
ld a, [XCoord]
|
||||
add 4
|
||||
ld d, a
|
||||
ld hl, MapX
|
||||
ld hl, PlayerMapX
|
||||
sub [hl]
|
||||
ld [hl], d
|
||||
ld hl, MapObjects + MAPOBJECT_X_COORD
|
||||
ld [hl], d
|
||||
ld hl, MapX2
|
||||
ld hl, PlayerNextMapX
|
||||
ld [hl], d
|
||||
ld d, a
|
||||
ld a, [YCoord]
|
||||
add 4
|
||||
ld e, a
|
||||
ld hl, MapY
|
||||
ld hl, PlayerMapY
|
||||
sub [hl]
|
||||
ld [hl], e
|
||||
ld hl, MapObjects + MAPOBJECT_Y_COORD
|
||||
ld [hl], e
|
||||
ld hl, MapY2
|
||||
ld hl, PlayerNextMapY
|
||||
ld [hl], e
|
||||
ld e, a
|
||||
ld a, [wd4cd]
|
||||
ld a, [wObjectFollow_Leader]
|
||||
cp $0
|
||||
ret nz
|
||||
ret
|
||||
@ -3322,12 +3322,12 @@ CopyObjectStruct:: ; 80e7
|
||||
ld a, 1
|
||||
ld de, OBJECT_STRUCT_LENGTH
|
||||
.loop
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .done
|
||||
add hl, de
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
inc a
|
||||
cp NUM_OBJECT_STRUCTS
|
||||
jr nz, .loop
|
||||
@ -3354,11 +3354,11 @@ Function8116: ; 8116
|
||||
; 811d
|
||||
|
||||
Function811d: ; 811d
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld [wc2f0], a
|
||||
ld hl, MAPOBJECT_SPRITE
|
||||
add hl, bc
|
||||
@ -3406,7 +3406,7 @@ Function8177: ; 8177
|
||||
ld bc, MapObjects + OBJECT_LENGTH
|
||||
ld a, 1
|
||||
.loop
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld hl, MAPOBJECT_SPRITE
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
@ -3447,7 +3447,7 @@ Function8177: ; 8177
|
||||
add hl, bc
|
||||
ld b, h
|
||||
ld c, l
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
inc a
|
||||
cp NUM_OBJECTS
|
||||
jr nz, .loop
|
||||
@ -3491,7 +3491,7 @@ Function81ea: ; 81ea
|
||||
ld bc, MapObjects + OBJECT_LENGTH
|
||||
ld a, 1
|
||||
.loop
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld hl, MAPOBJECT_SPRITE
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
@ -3526,7 +3526,7 @@ Function81ea: ; 81ea
|
||||
add hl, bc
|
||||
ld b, h
|
||||
ld c, l
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
inc a
|
||||
cp NUM_OBJECTS
|
||||
jr nz, .loop
|
||||
@ -3549,7 +3549,7 @@ Function823e: ; 823e
|
||||
ld bc, MapObjects + OBJECT_LENGTH
|
||||
ld a, 1
|
||||
.loop
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld hl, MAPOBJECT_SPRITE
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
@ -3584,7 +3584,7 @@ Function823e: ; 823e
|
||||
add hl, bc
|
||||
ld b, h
|
||||
ld c, l
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
inc a
|
||||
cp NUM_OBJECTS
|
||||
jr nz, .loop
|
||||
@ -3773,13 +3773,13 @@ Function8388: ; 8388
|
||||
Function839e:: ; 839e
|
||||
push bc
|
||||
ld a, c
|
||||
call Function18de
|
||||
call CheckObjectVisibility
|
||||
ld d, b
|
||||
ld e, c
|
||||
pop bc
|
||||
ret c
|
||||
ld a, b
|
||||
call Function18de
|
||||
call CheckObjectVisibility
|
||||
ret c
|
||||
ld hl, OBJECT_MAP_X
|
||||
add hl, bc
|
||||
@ -3841,13 +3841,13 @@ Function839e:: ; 839e
|
||||
ld hl, OBJECT_SPRITE_Y
|
||||
add hl, de
|
||||
ld [hl], a
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld hl, OBJECT_32
|
||||
add hl, de
|
||||
ld [hl], a
|
||||
ld hl, OBJECT_03
|
||||
ld hl, OBJECT_MOVEMENTTYPE
|
||||
add hl, de
|
||||
ld [hl], $1a
|
||||
ld [hl], SPRITEMOVEDATA_1A
|
||||
ld hl, OBJECT_09
|
||||
add hl, de
|
||||
ld [hl], $0
|
||||
@ -3977,7 +3977,7 @@ Function848a: ; 848a
|
||||
; 849d
|
||||
|
||||
Function849d: ; 849d
|
||||
ld a, [wd4cd]
|
||||
ld a, [wObjectFollow_Leader]
|
||||
call GetObjectStruct
|
||||
ld hl, OBJECT_MAP_X
|
||||
add hl, bc
|
||||
@ -3985,7 +3985,7 @@ Function849d: ; 849d
|
||||
ld hl, OBJECT_MAP_Y
|
||||
add hl, bc
|
||||
ld e, [hl]
|
||||
ld a, [wd4ce]
|
||||
ld a, [wObjectFollow_Follower]
|
||||
call GetObjectStruct
|
||||
ld hl, OBJECT_MAP_X
|
||||
add hl, bc
|
||||
@ -5325,7 +5325,7 @@ Script_UsedWaterfall: ; 0xcb20
|
||||
CheckContinueWaterfall: ; cb38
|
||||
xor a
|
||||
ld [ScriptVar], a
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
call CheckWaterfallTile
|
||||
ret z
|
||||
callba MobileFn_1060c1
|
||||
@ -6067,7 +6067,7 @@ GetFacingObject: ; cf0d
|
||||
callba CheckFacingObject
|
||||
jr nc, .fail
|
||||
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
call GetObjectStruct
|
||||
ld hl, OBJECT_MAP_OBJECT_INDEX
|
||||
add hl, bc
|
||||
@ -17687,7 +17687,7 @@ INCLUDE "gfx/overworld/sprite_headers.asm"
|
||||
|
||||
|
||||
Function1499a:: ; 1499a
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
cp $60
|
||||
jr z, .asm_149ad
|
||||
cp $68
|
||||
@ -17704,7 +17704,7 @@ Function1499a:: ; 1499a
|
||||
; 149af
|
||||
|
||||
Function149af:: ; 149af
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
cp $70
|
||||
jr z, .asm_149c4
|
||||
cp $76
|
||||
@ -17724,7 +17724,7 @@ Function149af:: ; 149af
|
||||
CheckWarpCollision: ; 149c6
|
||||
ld de, 1
|
||||
ld hl, .blocks
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
call IsInArray
|
||||
ret
|
||||
; 149d3
|
||||
@ -17743,7 +17743,7 @@ CheckWarpCollision: ; 149c6
|
||||
; 149dd
|
||||
|
||||
CheckGrassCollision:: ; 149dd
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
ld hl, .blocks
|
||||
ld de, 1
|
||||
call IsInArray
|
||||
@ -17783,7 +17783,7 @@ CheckCutCollision: ; 149f5
|
||||
; 14a07
|
||||
|
||||
Function14a07:: ; 14a07
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
ld de, $001f
|
||||
cp $71 ; door
|
||||
ret z
|
||||
@ -41815,15 +41815,15 @@ Function4aad3: ; 4aad3
|
||||
|
||||
ld c, a
|
||||
xor a
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
.loop
|
||||
push bc
|
||||
push hl
|
||||
ld e, 0
|
||||
callba Function8e83f
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
inc a
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
pop hl
|
||||
pop bc
|
||||
dec c
|
||||
@ -46604,7 +46604,7 @@ Function503e0: ; 503e0
|
||||
ret z
|
||||
ld c, a
|
||||
xor a
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
.asm_503ea
|
||||
push bc
|
||||
push hl
|
||||
@ -46612,9 +46612,9 @@ Function503e0: ; 503e0
|
||||
ld a, BANK(Function8e83f)
|
||||
ld e, $0
|
||||
rst FarCall
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
inc a
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
pop hl
|
||||
pop bc
|
||||
dec c
|
||||
@ -49273,7 +49273,7 @@ CheckTileMovement: ; 800b7
|
||||
; Tiles such as waterfalls and warps move the player
|
||||
; in a given direction, overriding input.
|
||||
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
ld c, a
|
||||
call CheckWhirlpoolTile
|
||||
jr c, .asm_800c4
|
||||
@ -49434,7 +49434,7 @@ TryStep: ; 8016b
|
||||
cp 2
|
||||
jr z, .asm_801be
|
||||
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
call CheckIceTile
|
||||
jr nc, .ice
|
||||
|
||||
@ -49521,7 +49521,7 @@ TrySurfStep: ; 801c0
|
||||
|
||||
|
||||
TryJumpLedge: ; 801f3
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
ld e, a
|
||||
and $f0
|
||||
cp $a0 ; ledge
|
||||
@ -49573,7 +49573,7 @@ CheckEdgeWarp: ; 80226
|
||||
ld d, 0
|
||||
ld hl, .EdgeWarps
|
||||
add hl, de
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
cp [hl]
|
||||
jr nz, .asm_80259
|
||||
|
||||
@ -49757,7 +49757,7 @@ GetMovementAction: ; 802ec
|
||||
; tile collision pointer
|
||||
.table1
|
||||
db STANDING, FACE_CURRENT, 0, 0
|
||||
dw StandingTile
|
||||
dw PlayerStandingTile
|
||||
.table2
|
||||
db RIGHT, FACE_RIGHT, 1, 0
|
||||
dw TileRight
|
||||
@ -49773,13 +49773,13 @@ GetMovementAction: ; 802ec
|
||||
IsNPCInFront: ; 80341
|
||||
|
||||
ld a, 0
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld a, [MapX]
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ld a, [PlayerMapX]
|
||||
ld d, a
|
||||
ld a, [WalkingX]
|
||||
add d
|
||||
ld d, a
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
ld e, a
|
||||
ld a, [WalkingY]
|
||||
add e
|
||||
@ -49963,7 +49963,7 @@ Function80404:: ; 80404
|
||||
jr z, .asm_80420
|
||||
cp $f0
|
||||
jr z, .asm_80420
|
||||
ld a, [StandingTile]
|
||||
ld a, [PlayerStandingTile]
|
||||
call CheckIceTile
|
||||
jr nc, .asm_8041e
|
||||
ld a, [PlayerState]
|
||||
@ -58179,7 +58179,7 @@ Function8e862: ; 8e862 (23:6862)
|
||||
|
||||
Function8e86c: ; 8e86c (23:686c)
|
||||
push bc
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld hl, PartyMon1Item
|
||||
ld bc, PartyMon2 - PartyMon1
|
||||
call AddNTimes
|
||||
@ -58251,7 +58251,7 @@ Function8e8d5: ; 8e8d5 (23:68d5)
|
||||
|
||||
Function8e8df: ; 8e8df (23:68df)
|
||||
push bc
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld hl, PartyMon1Item
|
||||
ld bc, $30
|
||||
call AddNTimes
|
||||
@ -58279,7 +58279,7 @@ Function8e8df: ; 8e8df (23:68df)
|
||||
Function8e908: ; 8e908 (23:6908)
|
||||
ld a, [wc3b7]
|
||||
push af
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld hl, PartySpecies
|
||||
ld e, a
|
||||
ld d, $0
|
||||
@ -58288,7 +58288,7 @@ Function8e908: ; 8e908 (23:6908)
|
||||
call ReadMonMenuIcon
|
||||
ld [CurIcon], a
|
||||
call Function8e9db
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
rept 4
|
||||
add a
|
||||
endr
|
||||
@ -58305,7 +58305,7 @@ endr
|
||||
|
||||
Function8e936: ; 8e936 (23:6936)
|
||||
push bc
|
||||
ld a, [hMapObjectIndexBuffer2]
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ld b, a
|
||||
call Function8e94c
|
||||
ld a, b
|
||||
@ -77866,11 +77866,11 @@ Function104263: ; 104263 (41:4263)
|
||||
ld c, $0
|
||||
|
||||
Function104265: ; 104265 (41:4265)
|
||||
; back up the value of c to hMapObjectIndexBuffer1
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
; back up the value of c to hMapObjectIndexBuffer
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
push af
|
||||
ld a, c
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
|
||||
; for each row on the screen
|
||||
ld c, SCREEN_HEIGHT
|
||||
@ -77886,7 +77886,7 @@ Function104265: ; 104265 (41:4265)
|
||||
jr nz, .loop2
|
||||
|
||||
; load the original value of c into hl 12 times
|
||||
ld a, [hMapObjectIndexBuffer1]
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ld b, 12
|
||||
.loop3
|
||||
ld [hli], a
|
||||
@ -77896,9 +77896,9 @@ Function104265: ; 104265 (41:4265)
|
||||
dec c
|
||||
jr nz, .loop1
|
||||
|
||||
; restore the original value of hMapObjectIndexBuffer1
|
||||
; restore the original value of hMapObjectIndexBuffer
|
||||
pop af
|
||||
ld [hMapObjectIndexBuffer1], a
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ret
|
||||
|
||||
|
||||
@ -78411,7 +78411,7 @@ CheckMovingOffEdgeOfMap:: ; 104820 (41:4820)
|
||||
and a
|
||||
ret
|
||||
.down
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
sub 4
|
||||
ld b, a
|
||||
ld a, [MapHeight]
|
||||
@ -78421,21 +78421,21 @@ CheckMovingOffEdgeOfMap:: ; 104820 (41:4820)
|
||||
and a
|
||||
ret
|
||||
.up
|
||||
ld a, [MapY]
|
||||
ld a, [PlayerMapY]
|
||||
sub 4
|
||||
cp -1
|
||||
jr z, .ok
|
||||
and a
|
||||
ret
|
||||
.left
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
sub $4
|
||||
cp -1
|
||||
jr z, .ok
|
||||
and a
|
||||
ret
|
||||
.right
|
||||
ld a, [MapX]
|
||||
ld a, [PlayerMapX]
|
||||
sub 4
|
||||
ld b, a
|
||||
ld a, [MapWidth]
|
||||
|
@ -14428,7 +14428,7 @@ Function11ad1b: ; 11ad1b
|
||||
ld a, [wcfa9]
|
||||
ld [wcd82], a
|
||||
dec a
|
||||
ld [hMapObjectIndexBuffer2], a
|
||||
ld [hObjectStructIndexBuffer], a
|
||||
ld a, $10
|
||||
ld [wc3b7], a
|
||||
ld hl, Function8e83f
|
||||
|
132
wram.asm
132
wram.asm
@ -306,12 +306,12 @@ ScriptVar:: ; c2dd
|
||||
|
||||
wc2de:: ds 1
|
||||
wc2df:: ds 3
|
||||
wc2e2:: ds 1
|
||||
wc2e3:: ds 3
|
||||
wMovementPerson:: ds 1
|
||||
wMovementDataPointer:: ds 3
|
||||
wc2e6:: ds 4
|
||||
wc2ea:: ds 1
|
||||
wc2eb:: ds 1
|
||||
wc2ec:: ds 4
|
||||
wMovementPointer:: ds 2
|
||||
ds 3
|
||||
wc2f0:: ds 1
|
||||
wc2f1:: ds 1
|
||||
wc2f2:: ds 1
|
||||
@ -1649,9 +1649,9 @@ NorthConnectionStripPointer:: ; d1ab
|
||||
ds 2
|
||||
NorthConnectionStripLocation:: ; d1ad
|
||||
ds 2
|
||||
NorthMapObjectIndexBuffer1:: ; d1af
|
||||
NorthMapObjectIndexBuffer:: ; d1af
|
||||
ds 1
|
||||
NorthMapObjectIndexBuffer2:: ; d1b0
|
||||
NorthObjectStructIndexBuffer:: ; d1b0
|
||||
ds 1
|
||||
NorthConnectionStripYOffset:: ; d1b1
|
||||
ds 1
|
||||
@ -1669,9 +1669,9 @@ SouthConnectionStripPointer:: ; d1b7
|
||||
ds 2
|
||||
SouthConnectionStripLocation:: ; d1b9
|
||||
ds 2
|
||||
SouthMapObjectIndexBuffer1:: ; d1bb
|
||||
SouthMapObjectIndexBuffer:: ; d1bb
|
||||
ds 1
|
||||
SouthMapObjectIndexBuffer2:: ; d1bc
|
||||
SouthObjectStructIndexBuffer:: ; d1bc
|
||||
ds 1
|
||||
SouthConnectionStripYOffset:: ; d1bd
|
||||
ds 1
|
||||
@ -2036,85 +2036,57 @@ CurDay:: ; d4cb
|
||||
ds 1
|
||||
|
||||
ds 1
|
||||
wd4cd:: ds 1
|
||||
wd4ce:: ds 1
|
||||
wObjectFollow_Leader:: ds 1
|
||||
wObjectFollow_Follower:: ds 1
|
||||
wd4cf:: ds 1
|
||||
wd4d0:: ds 1
|
||||
wd4d1:: ds 5
|
||||
wd4d1:: ds 1
|
||||
ds 4
|
||||
|
||||
ObjectStructs::
|
||||
|
||||
PlayerStruct:: ; d4d6
|
||||
ds 2
|
||||
PlayerSprite:: ; d4d8
|
||||
object_struct: MACRO
|
||||
\1Struct::
|
||||
\1Sprite:: ds 1
|
||||
\1MapObjectIndex:: ds 1
|
||||
\1SpriteTile:: ds 1
|
||||
\1MovementType:: ds 1
|
||||
\1Flags:: ds 2
|
||||
\1Palette:: ds 1
|
||||
\1Walking:: ds 1
|
||||
\1Direction:: ds 1
|
||||
ds 1
|
||||
\1StepDuration:: ds 1
|
||||
\1Action:: ds 1
|
||||
\1Object12:: ds 1
|
||||
\1Facing:: ds 1
|
||||
\1StandingTile:: ds 1
|
||||
\1NextTile:: ds 1
|
||||
\1MapX:: ds 1
|
||||
\1MapY:: ds 1
|
||||
\1NextMapX:: ds 1
|
||||
\1NextMapY:: ds 1
|
||||
ds 3
|
||||
PlayerPalette:: ; d4dc
|
||||
ds 1
|
||||
ds 1
|
||||
PlayerDirection:: ; d4de
|
||||
; uses bits 2 and 3 / $0c / %00001100
|
||||
; %00 down
|
||||
; %01 up
|
||||
; %10 left
|
||||
; $11 right
|
||||
ds 1
|
||||
ds 2
|
||||
PlayerAction:: ; d4e1
|
||||
; 1 standing
|
||||
; 2 walking
|
||||
; 4 spinning
|
||||
; 6 fishing
|
||||
ds 1
|
||||
wd4e2:: ds 1
|
||||
PlayerFacing:: ; d4e3
|
||||
ds 1
|
||||
StandingTile:: ; d4e4
|
||||
ds 1
|
||||
StandingTile2:: ; d4e5
|
||||
ds 1
|
||||
; relative to the map struct including borders
|
||||
MapX:: ; d4e6
|
||||
ds 1
|
||||
MapY:: ; d4e7
|
||||
ds 1
|
||||
MapX2:: ; d4e8
|
||||
ds 1
|
||||
MapY2:: ; d4e9
|
||||
ds 1
|
||||
ds 3
|
||||
; relative to the bg map, in px
|
||||
PlayerSpriteX:: ; d4ed
|
||||
ds 1
|
||||
PlayerSpriteY:: ; d4ee
|
||||
ds 1
|
||||
ds 15
|
||||
\1SpriteX:: ds 1
|
||||
\1SpriteY:: ds 1
|
||||
\1SpriteXOffset:: ds 1
|
||||
\1SpriteYOffset:: ds 1
|
||||
ds 6
|
||||
ds 7
|
||||
ENDM
|
||||
|
||||
ObjectStruct1:: ; d4fe
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
ObjectStruct2:: ; d526
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
ObjectStruct3:: ; d54e
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
ObjectStruct4:: ; d576
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
ObjectStruct5:: ; d59e
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
ObjectStruct6:: ; d5c6
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
ObjectStruct7:: ; d5ee
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
ObjectStruct8:: ; d616
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
ObjectStruct9:: ; d63e
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
ObjectStruct10:: ; d666
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
ObjectStruct11:: ; d68e
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
ObjectStruct12:: ; d6b6
|
||||
ds OBJECT_STRUCT_LENGTH
|
||||
; d6de
|
||||
object_struct Player
|
||||
object_struct Object1
|
||||
object_struct Object2
|
||||
object_struct Object3
|
||||
object_struct Object4
|
||||
object_struct Object5
|
||||
object_struct Object6
|
||||
object_struct Object7
|
||||
object_struct Object8
|
||||
object_struct Object9
|
||||
object_struct Object10
|
||||
object_struct Object11
|
||||
object_struct Object12
|
||||
|
||||
wd6de::
|
||||
ds 64
|
||||
|
Loading…
Reference in New Issue
Block a user