Well it's definitely motivated me to finish off/rewrite and improve my old project from 2010 and make as many improvements to that as I can (in terms of data size, engine speed, etc.).
The 8 frames of animation was exactly what I was looking for!
Got the horizontal repeat working but the check for whether I had to change the brush is suffering from Beer O'Clock.
This data (46 bytes). IPB stands for INK, PAPER, BRIGHT by the way
ROOMPARAMS is _startx_, _starty_, _faceleft_, _border_, _paper_
(Willy start pos, whether facing left or not at start, level border colour, level paper colour) - packed into 16 bits (2 bytes)
EXITPARAMS is _posx_, _posy_, _ink_, _paper_, _bright_ (position and attribs of the exit), also packed into 2 bytes.
Code: Select all
Central_Cavern:
ROOMPARAMS 2, 13, 0, 2, 0 ; 2 bytes
EXITPARAMS 29, 13, 6, 1, 0 ; 2 bytes
; keys. Can obvs compress these better (9bits/xy pos)
keytype gfx_key0
db 5 ; num keys, paper<<3 for key
db 9, 0
db 29, 0
db 16, 1
db 24, 4
db 30, 6
; level tiles
IPB 6, 2, 0
celltype gfx_wall0 ; wall is always first tile in list
IPB 2, 0, 1
celltype gfx_platform0
IPB 4, 0, 1
celltype gfx_spiky0
IPB 2, 0, 0
celltype gfx_crumbly0
IPB 5, 0, 0
celltype gfx_spiky1
IPB_LAST 4, 0, 0
celltype gfx_conveyor0
db 5 ; brush and flags
TILE 11, 0
TILELAST 16, 0
db 3 ; brush and flags
TILE 23, 4
TILE 27, 4
TILE 21, 8
TILELAST 12, 12
db 2|HORZ_REPEAT ; brush and flags
TILEHORZRPT_LAST 1, 15, 30
db #FF ; end of level data
Draws this
Should be easy to fix tomorrow.
Not too much progress today although the brush stuff is nice.