diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-01 21:17:46 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2015-11-01 21:17:46 -0500 |
commit | 76e2ea534fa8374e62b8916e068514101cd617fa (patch) | |
tree | 2479c2e1625aab654684f3652c6199f99d58180c | |
parent | 6b2d0ae841f5a7ff851d462b12f09eac998d2d8f (diff) |
Object masks
-rw-r--r-- | engine/map_setup.asm | 2 | ||||
-rw-r--r-- | home/map.asm | 16 | ||||
-rw-r--r-- | home/map_objects.asm | 6 | ||||
-rw-r--r-- | main.asm | 33 | ||||
-rw-r--r-- | wram.asm | 2 |
5 files changed, 30 insertions, 29 deletions
diff --git a/engine/map_setup.asm b/engine/map_setup.asm index 8b1e3a7fe..0e391b31c 100644 --- a/engine/map_setup.asm +++ b/engine/map_setup.asm @@ -313,7 +313,7 @@ SuspendMapAnims: ; 154d3 LoadObjectsRunCallback_02: ; 154d7 ld a, $2 call RunMapCallback - callba Function2454f + callba LoadObjectMasks callba Function8177 ret ; 154ea (5:54ea) diff --git a/home/map.asm b/home/map.asm index 07f6b468b..c1a26b772 100644 --- a/home/map.asm +++ b/home/map.asm @@ -1170,33 +1170,33 @@ CoordinatesEventText:: ; 2702 ; 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 diff --git a/home/map_objects.asm b/home/map_objects.asm index 07a361340..0bfb4e98f 100644 --- a/home/map_objects.asm +++ b/home/map_objects.asm @@ -251,7 +251,7 @@ Function18de:: ; 18de ret ; 18f5 -Function18f5:: ; 18f5 +CheckObjectTime:: ; 18f5 ld hl, MAPOBJECT_HOUR add hl, bc ld a, [hl] @@ -336,7 +336,7 @@ Function194d:: ; 194d _CopyObjectStruct:: ; 1956 ld [hMapObjectIndexBuffer1], a - call Function271e + call UnmaskObject ld a, [hMapObjectIndexBuffer1] call GetMapObject callba CopyObjectStruct @@ -378,7 +378,7 @@ Function1985:: ; 1985 DeleteObjectStruct:: ; 199f call Function1967 - call Function2712 + call MaskObject ret ; 19a6 @@ -3315,9 +3315,9 @@ RefreshPlayerCoords: ; 80b8 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 @@ MenuDataHeader_0x24547: ; 0x24547 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 @@ Function2454f: ; 2454f 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 @@ Function2457d: ; 2457d (9:457d) 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 @@ -2122,7 +2122,7 @@ wd6de:: MapObjects:: ; d71e ds OBJECT_LENGTH * NUM_OBJECTS -wd81e:: ds NUM_OBJECTS +wObjectMasks:: ds NUM_OBJECTS ; d81e VariableSprites:: ; d82e ds $10 |