modef MOT_SET_PAT, 0, 8, pat_center_empty_wall
modef2 MOT_ACTOR_SPAWNER, 0, 8, ACT_T_GUARD, 0x40
; rectangle at y/x 0/0 with height 32 width 64
- modef MOT_RECT, 0, 8, 0x0804
+ modef MOT_RECT, 0, 8, 0x0703
; center rectangle
- ; modef MOT_RECT, 0, 8, 0x8604
+ ; modef MOT_RECT, 0, 8, 0x8303
; rectangle at y/x 0/0 with height 32 width 48
- modef MOT_RECT, 0, 8, 0xE604
+ modef MOT_RECT, 0, 8, 0xE503
modef MOT_SET_PAT, 0, 10, pat_center_grass
modef2 MOT_ACTOR_SPAWNER, 0, 11, ACT_T_GUARD, 0x80
modef MOT_SET_PAT, 0, 18, pat_center_empty_wall
modef MOT_RECT_CLEAR, 0, 18, 0
- modef2 MOT_RECT, 0, 18, 0x0F, 0x08
+ modef2 MOT_RECT, 0, 18, 0x0F, 0x07
modef2 MOT_ACTOR_SPAWNER, 0, 18, ACT_T_GUARD, 0x40
modef MOT_SET_PAT, 0, 0x1E, pat_empty
; spawns a collision rectangle
; the origin of a rectangle is the bottom left
; dat1: nnnn0000: y offset from row in 8 pixel increments
- ; 0000nnnn: height in 8 pixel increments
+ ; 0000nnnn: height in 8 pixel increments (+1 height is implicitly added)
; dat2: nnnn0000: x offset from row in 8 pixel increments
- ; 0000nnnn: width in 8 pixel increments
+ ; 0000nnnn: width in 8 pixel increments (+1 widt is implicitly added)
; inputs:
; de: map object ptr
mo_rect:
; calculate height
ld a, [hl+] ; hl = dat2
and a, 0x0F
+ inc a
mul8 a
; d = height
ld d, a
; calculate width
ld a, [hl]
and a, 0x0F
+ inc a
mul8 a
; e = width
ld e, a