Saturday, January 27, 2018

HD Nermal

I normally don't work on Saturdays, but I had an itching to get all the junk out of Nermal and make it completely HD capable. I pretty much got all the drawing functions done and completed BitBlit().

BitBlit() is the function that copied bitmaps from one buffer to another. I only implemented B_COPY mode which is a simple bitmap copy. Now All 7 modes are implemented (B_OR, B_AND, B_XOR, B_NOT, B_REV, and B_CUT) Each mode copies the colors for the source and pastes them preforming a bitwise operation on the detestation. With only 16 colors this can be dicy, but with 24 bit color, you just preform the operation on each color channel.

HD test of Nermal primitives
Because the resolution is higher, but still made up of a 320x200 "grid" I was wondering if I should make my lines 4x as thick... I decided not to for now, so I can make super thin lines, rectangles, and circles.

My big challenge next is to get rid of _findfirst() and _findnext() functions. These directory search functions are only found in the Microsoft ecosystem, and Allegro uses an iterator and callback function to search directories instead. I will need to create an equivalent function in Allegro like I did for kbhit() and getch(). That's going to be tricky.

I also need to remove the rest of the legacy filesystem functions and get those into Allegro as well. After that... I'll be attacking the 1Ch thread one last time and making it stable.

No comments:

Post a Comment