Hello,
would it be possible to add support for the Godpaint fileformat? (Godpaint is a Hicolor pixel art program for the Atari Falcon 030.)
The format is very simple:
+0 uint8_t 'G' +1 uint8_t '4' +2 uint16_t width in pixels +4 uint16_t height in pixels +6 pixel data for each row, each pixel is uint16_t
All words are in BIG ENDIAN format. The pixel format for each 16bits chunky pixel is as follows:
RRRRRGGGGGXBBBBB
Simple C code to put it together: Uint8 r,g,b; Uint16 pixel;
r=((r & 0xFF) >>3);
g=((g & 0xFF) >>3);
b=((b & 0xFF) >>3);
pixel=0x0000;
pixel=(((r<<5)|g)<<6)|b;
I have attached a sample file with known "web palette" as gif and its rendering as a .GOD file with 320x240. I have confirmed on my Falcon that it looks ok.
Note that due to the 5bits used for RGB, full RGB information of a picture might get lost.
Regards, Simon Sunnyboy / Paradize
Comment #1
Posted on Aug 4, 2012 by Massive OxI forgot the attachment.
- godfile.zip 10.9KB
Comment #2
Posted on Aug 14, 2012 by Grumpy MonkeyShould not be too hard to do. Both loading and saving are going to be lossy operations with this one...
Comment #3
Posted on Aug 15, 2012 by Massive HorseThe original program handles 32k (15bit) color images. Images that use it to its full potential (gradients, transparency, antialias) will lose a lot when converted to 256 colors in Grafx2.
Comment #4
Posted on Aug 15, 2012 by Massive OxI am fully aware of the information loss during the conversion!
The main idea is to be able to draw more easily from within GrafX2 and export later to .GOD as that original paint package has a bit awkward GUI. Esp Sprite/block/tile editing normally won't make use of full 16bit color space anyway.
The color loss can be compensated in the end by combining multiple GOD files with different 256 color palettes into a larger one.
Regards, Simon Sunnyboy / Paradize
Comment #5
Posted on Oct 6, 2012 by Grumpy Monkey(No comment was entered for this change.)
Status: Accepted
Labels:
Type-Enhancement
Priority-Medium
OpSys-All
Level-Easy
Component-Files
Milestone-NotPlanned