Move more contiguous related code blocks from main.asm to engine/ and events/
This commit is contained in:
70
engine/map_objects_2.asm
Normal file
70
engine/map_objects_2.asm
Normal file
@@ -0,0 +1,70 @@
|
||||
LoadObjectMasks: ; 2454f
|
||||
ld hl, wObjectMasks
|
||||
xor a
|
||||
ld bc, NUM_OBJECTS
|
||||
call ByteFill
|
||||
nop
|
||||
ld bc, MapObjects
|
||||
ld de, wObjectMasks
|
||||
xor a
|
||||
.loop
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
call GetObjectTimeMask
|
||||
jr c, .next
|
||||
call CheckObjectFlag
|
||||
.next
|
||||
pop de
|
||||
ld [de], a
|
||||
inc de
|
||||
pop bc
|
||||
ld hl, OBJECT_LENGTH
|
||||
add hl, bc
|
||||
ld b, h
|
||||
ld c, l
|
||||
pop af
|
||||
inc a
|
||||
cp NUM_OBJECTS
|
||||
jr nz, .loop
|
||||
ret
|
||||
|
||||
CheckObjectFlag: ; 2457d (9:457d)
|
||||
ld hl, MAPOBJECT_SPRITE
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .masked
|
||||
ld hl, MAPOBJECT_EVENT_FLAG
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld e, a
|
||||
ld a, [hl]
|
||||
ld d, a
|
||||
cp -1
|
||||
jr nz, .check
|
||||
ld a, e
|
||||
cp -1
|
||||
jr z, .unmasked
|
||||
jr .masked
|
||||
.check
|
||||
ld b, CHECK_FLAG
|
||||
call EventFlagAction
|
||||
ld a, c
|
||||
and a
|
||||
jr nz, .masked
|
||||
.unmasked
|
||||
xor a
|
||||
ret
|
||||
|
||||
.masked
|
||||
ld a, -1
|
||||
scf
|
||||
ret
|
||||
|
||||
GetObjectTimeMask: ; 245a7 (9:45a7)
|
||||
call CheckObjectTime
|
||||
ld a, -1
|
||||
ret c
|
||||
xor a
|
||||
ret
|
Reference in New Issue
Block a user