ref: 76e2ea534fa8374e62b8916e068514101cd617fa
parent: 6b2d0ae841f5a7ff851d462b12f09eac998d2d8f
author: PikalaxALT <[email protected]>
date: Sun Nov 1 16:17:46 EST 2015
Object masks
--- a/engine/map_setup.asm
+++ b/engine/map_setup.asm
@@ -313,7 +313,7 @@
LoadObjectsRunCallback_02: ; 154d7
ld a, $2
call RunMapCallback
- callba Function2454f
+ callba LoadObjectMasks
callba Function8177
ret
; 154ea (5:54ea)
--- a/home/map.asm
+++ b/home/map.asm
@@ -1170,33 +1170,33 @@
; 2707
-Function2707:: ; 2707
+CheckObjectMask:: ; 2707
ld a, [hMapObjectIndexBuffer1]
ld e, a
ld d, $0
- ld hl, wd81e
+ ld hl, wObjectMasks
add hl, de
ld a, [hl]
ret
; 2712
-Function2712:: ; 2712
+MaskObject:: ; 2712
ld a, [hMapObjectIndexBuffer1]
ld e, a
ld d, $0
- ld hl, wd81e
+ ld hl, wObjectMasks
add hl, de
- ld [hl], $ff
+ ld [hl], -1 ; ,masked
ret
; 271e
-Function271e:: ; 271e
+UnmaskObject:: ; 271e
ld a, [hMapObjectIndexBuffer1]
ld e, a
ld d, $0
- ld hl, wd81e
+ ld hl, wObjectMasks
add hl, de
- ld [hl], $0
+ ld [hl], 0 ; unmasked
ret
; 272a
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -251,7 +251,7 @@
ret
; 18f5
-Function18f5:: ; 18f5
+CheckObjectTime:: ; 18f5
ld hl, MAPOBJECT_HOUR
add hl, bc
ld a, [hl]
@@ -336,7 +336,7 @@
_CopyObjectStruct:: ; 1956
ld [hMapObjectIndexBuffer1], a
- call Function271e
+ call UnmaskObject
ld a, [hMapObjectIndexBuffer1]
call GetMapObject
callba CopyObjectStruct
@@ -378,7 +378,7 @@
DeleteObjectStruct:: ; 199f
call Function1967
- call Function2712
+ call MaskObject
ret
; 19a6
--- a/main.asm
+++ b/main.asm
@@ -3315,9 +3315,9 @@
CopyObjectStruct:: ; 80e7
- call Function2707
+ call CheckObjectMask
and a
- ret nz
+ ret nz ; masked
ld hl, ObjectStructs + OBJECT_STRUCT_LENGTH * 1
ld a, 1
ld de, OBJECT_STRUCT_LENGTH
@@ -22936,22 +22936,22 @@
db 1 ; default option
; 0x2454f
-Function2454f: ; 2454f
- ld hl, wd81e
+LoadObjectMasks: ; 2454f
+ ld hl, wObjectMasks
xor a
ld bc, NUM_OBJECTS
call ByteFill
nop
ld bc, MapObjects
- ld de, wd81e
+ ld de, wObjectMasks
xor a
.loop
push af
push bc
push de
- call Function245a7
+ call GetObjectTimeMask
jr c, .next
- call Function2457d
+ call CheckObjectFlag
.next
pop de
ld [de], a
@@ -22967,12 +22967,12 @@
jr nz, .loop
ret
-Function2457d: ; 2457d (9:457d)
+CheckObjectFlag: ; 2457d (9:457d)
ld hl, MAPOBJECT_SPRITE
add hl, bc
ld a, [hl]
and a
- jr z, .minus_one
+ jr z, .masked
ld hl, MAPOBJECT_EVENT_FLAG
add hl, bc
ld a, [hli]
@@ -22983,24 +22983,25 @@
jr nz, .check
ld a, e
cp -1
- jr z, .zero
- jr .minus_one
+ jr z, .unmasked
+ jr .masked
.check
ld b, CHECK_FLAG
call EventFlagAction
ld a, c
and a
- jr nz, .minus_one
-.zero
+ jr nz, .masked
+.unmasked
xor a
ret
-.minus_one
+
+.masked
ld a, -1
scf
ret
-Function245a7: ; 245a7 (9:45a7)
- call Function18f5
+GetObjectTimeMask: ; 245a7 (9:45a7)
+ call CheckObjectTime
ld a, -1
ret c
xor a
--- a/wram.asm
+++ b/wram.asm
@@ -2122,7 +2122,7 @@
MapObjects:: ; d71e
ds OBJECT_LENGTH * NUM_OBJECTS
-wd81e:: ds NUM_OBJECTS
+wObjectMasks:: ds NUM_OBJECTS ; d81e
VariableSprites:: ; d82e
ds $10