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.asm13
1 files changed, 8 insertions, 5 deletions
diff --git a/home/map_objects.asm b/home/map_objects.asm
index 74273f343..07a361340 100644
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -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
@@ -547,7 +550,7 @@ Function1a71:: ; 1a71
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