Legend NULA

developing/porting a new game or gaming framework? post in here!
Post Reply
Naomasa298
Posts: 394
Joined: Sat Feb 16, 2013 12:49 pm
Contact:

Legend NULA

Post by Naomasa298 »

Hi all,

Long time no post! Been a bit crap the last year or so, had some serious health issues but a message from Arcadian gave me the impetus to get off my backside and work on Legend again. I've decided to rework the graphics for VideoNULA. Here are some of them:

Image

I'm using 15 colours, plus 1 reserved for sky effects (the sky will darken depending on time of the day), or as a masking bit. One of the problems I have is that I cannot use the RLE schema I had if I'm using the whole palette. So having written some nice efficient sprite routines, I'm going to have to rewrite them. Given the volume of graphics, I still want some compression, so here's some pseudo-code for what I came up with:

GET next byte
IF byte &F0 = &F0 THEN
NEXT byte AND &F are RLE encoded pairs
FOR I = 1 TO byte &F
GET counter byte
GET pixdata byte
FOR J = 1 TO counter: WRITE pixdata: NEXT
NEXT
ELSE
NEXT byte are non encoded pixels
FOR I = 1 TO byte
GET pixdata: WRITE pixdata
NEXT
END IF
RETURN TO START

I would only RLE encode if the saving on the next X encoded pixels > 3.

Any comments and ideas would be gratefully received.
User avatar
tricky
Posts: 7695
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Legend NULA

Post by tricky »

Is &F0, special or could it be 1+(byte and &F) pairs?
Naomasa298
Posts: 394
Joined: Sat Feb 16, 2013 12:49 pm
Contact:

Re: Legend NULA

Post by Naomasa298 »

tricky wrote: Fri Dec 30, 2022 10:58 pm Is &F0, special or could it be 1+(byte and &F) pairs?
I was thinking I'd use the top bit to indicate whether it was a counter for RLE pairs or uncompressed pixel data. Given the images you see above, I thought that would give the best compression ratio.
Post Reply

Return to “new projects in development: games”