mirror of https://github.com/minexew/Shrine.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.2 KiB
45 lines
1.2 KiB
$WW,1$GR graphics files are 8-bits-per-pixels but only 4-bits of color, with transparency and no palette. Compression is the standard TempleOS$FG$ LZW compression. |
|
$HL,1$ |
|
#define DCF_COMPRESSED 1 //This is the only saved flag. |
|
#define DCF_PALETTE 2 |
|
|
|
#define TRANSPARENT 0xFF |
|
#define BLACK 0 |
|
#define BLUE 1 |
|
#define GREEN 2 |
|
#define CYAN 3 |
|
#define RED 4 |
|
#define PURPLE 5 |
|
#define BROWN 6 |
|
#define LTGRAY 7 |
|
#define DKGRAY 8 |
|
#define LTBLUE 9 |
|
#define LTGREEN 10 |
|
#define LTCYAN 11 |
|
#define LTRED 12 |
|
#define LTPURPLE 13 |
|
#define YELLOW 14 |
|
#define WHITE 15 |
|
|
|
class CBGR48 |
|
{ |
|
U16 r,g,b,pad; |
|
}; |
|
|
|
CBGR48 gr_palette_std[16]={ |
|
0x000000000000,0x00000000AAAA,0x0000AAAA0000,0x0000AAAAAAAA, |
|
0xAAAA00000000,0xAAAA0000AAAA,0xAAAA55550000,0xAAAAAAAAAAAA, |
|
0x555555555555,0x55555555FFFF,0x5555FFFF5555,0x5555FFFFFFFF, |
|
0xFFFF55555555,0xFFFF5555FFFF,0xFFFFFFFF5555,0xFFFFFFFFFFFF}; |
|
|
|
class GRFile |
|
{ |
|
I32 width; |
|
I32 width_internal; //Rounded-up to multiple of 8. |
|
I32 height; |
|
I32 flags; //DCF_COMPRESSED? See $LK,"::/Kernel/Compress.HC"$. |
|
CBGR48 palette[16]; //Included if DCF_PALETTE. |
|
U8 body[]; |
|
};$HL,0$ |
|
|
|
See $LK,"DCSave",A="MN:DCSave"$(), $LK,"GRWrite",A="MN:GRWrite"$(), $LK,"DCLoad",A="MN:DCLoad"$(), and $LK,"GRRead",A="MN:GRRead"$().
|
|
|