Export to GitHub

grafx2 - issue #499

File format support for .GOD files by Reservoir Gods Godpaint


Posted on Aug 4, 2012 by Massive Ox

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 Ox

I forgot the attachment.

Attachments

Comment #2

Posted on Aug 14, 2012 by Grumpy Monkey

Should 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 Horse

The 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 Ox

I 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