summaryrefslogtreecommitdiff
path: root/home/map_objects.asm
diff options
context:
space:
mode:
Diffstat (limited to 'home/map_objects.asm')
-rw-r--r--home/map_objects.asm81
1 files changed, 42 insertions, 39 deletions
diff --git a/home/map_objects.asm b/home/map_objects.asm
index ac363b31d..36750b1eb 100644
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -21,7 +21,7 @@ Function180e:: ; 180e
ld hl, UsedSprites + 2
ld c, SPRITE_GFX_LIST_CAPACITY - 1
ld b, a
- ld a, [hConnectionStripLength]
+ 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 [hConnectionStripLength], 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 [hConnectedMapWidth], a
+ ld [hObjectStructIndexBuffer], a
call GetObjectStruct
and a
ret
@@ -251,7 +251,7 @@ Function18de:: ; 18de
ret
; 18f5
-Function18f5:: ; 18f5
+CheckObjectTime:: ; 18f5
ld hl, MAPOBJECT_HOUR
add hl, bc
ld a, [hl]
@@ -326,7 +326,7 @@ Function18f5:: ; 18f5
; 194d
Function194d:: ; 194d
- ld [hConnectionStripLength], a
+ ld [hMapObjectIndexBuffer], a
call GetMapObject
call CopyObjectStruct
ret
@@ -335,22 +335,22 @@ Function194d:: ; 194d
_CopyObjectStruct:: ; 1956
- ld [hConnectionStripLength], a
- call Function271e
- ld a, [hConnectionStripLength]
+ ld [hMapObjectIndexBuffer], a
+ call UnmaskObject
+ ld a, [hMapObjectIndexBuffer]
call GetMapObject
callba CopyObjectStruct
ret
; 1967
Function1967:: ; 1967
- ld [hConnectionStripLength], 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,24 +361,24 @@ 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
DeleteObjectStruct:: ; 199f
call Function1967
- call Function2712
+ call MaskObject
ret
; 19a6
@@ -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
@@ -453,7 +453,10 @@ Function19e9:: ; 19e9
-Function1a13:: ; 1a13
+FindFirstEmptyObjectStruct:: ; 1a13
+; Returns the index of the first empty object struct in A and its address in HL, then sets carry.
+; If all object structs are occupied, A = 0 and Z is set.
+; Preserves BC and DE.
push bc
push de
ld hl, ObjectStructs
@@ -462,15 +465,15 @@ Function1a13:: ; 1a13
.loop
ld a, [hl]
and a
- jr z, .empty
+ jr z, .break
add hl, de
dec c
jr nz, .loop
xor a
jr .done
-.empty
- ld a, $d
+.break
+ ld a, NUM_OBJECT_STRUCTS
sub c
scf
@@ -483,7 +486,7 @@ Function1a13:: ; 1a13
Function1a2f:: ; 1a2f
- ld hl, OBJECT_03
+ ld hl, OBJECT_MOVEMENTTYPE
add hl, bc
ld a, [hl]
cp OBJECT_STRUCT_3_DATA_HEIGHT
@@ -541,13 +544,13 @@ Function1a61:: ; 1a61
; 1a71
Function1a71:: ; 1a71
- ld hl, OBJECT_03
+ ld hl, OBJECT_MOVEMENTTYPE
add hl, de
ld [hl], a
push de
ld e, a
ld d, 0
- ld hl, ObjectStruct3_Data + 1
+ ld hl, ObjectStruct3_Data + 1 ; facing?
rept OBJECT_STRUCT_3_DATA_WIDTH
add hl, de
endr
@@ -569,12 +572,12 @@ endr
ld [hl], a
ld a, [bc]
inc bc
- ld hl, OBJECT_04
+ ld hl, OBJECT_FLAGS1
add hl, de
ld [hl], a
ld a, [bc]
inc bc
- ld hl, OBJECT_FLAGS
+ ld hl, OBJECT_FLAGS2
add hl, de
ld [hl], a
ld a, [bc]