changeset 1442:3773281491c9

Cleanups.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 10 May 2018 03:46:36 +0300
parents 260c413304f3
children 57e97e58cbf3
files tools/lib64gfx.c tools/lib64gfx.h
diffstat 2 files changed, 68 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/tools/lib64gfx.c	Thu May 10 02:43:16 2018 +0300
+++ b/tools/lib64gfx.c	Thu May 10 03:46:36 2018 +0300
@@ -641,8 +641,10 @@
         D64_FMT_MC, "drp", "DrazPaint (unpacked)", 0x5800, 10051,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_COLOR_RAM,    0x0000, 0,  0, NULL, NULL },
             { DT_BITMAP,       0x0800, 0,  0, NULL, NULL },
@@ -656,8 +658,10 @@
         D64_FMT_MC | D64_FMT_ILACE, "drl", "DrazLace 1.0 (unpacked)", 0x5800, 18242,
         C64_SCR_WIDTH   , C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_COLOR_RAM,    0x0000, 0,  0, NULL, NULL },
             { DT_BITMAP,       0x0800, 0,  0, NULL, NULL },
@@ -673,6 +677,7 @@
         D64_FMT_MC | D64_FMT_ILACE, "mci", "Truepaint (unpacked)", 0x9c00, 19434,
         C64_SCR_WIDTH   , C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
         NULL, NULL, NULL, fmtGetPixelTruePaint,
         {
@@ -691,8 +696,10 @@
         D64_FMT_MC, "kla", "Koala Paint (unpacked)", 0x6000, 10003,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_BITMAP,       0x0000, 0,  0, NULL, NULL },
             { DT_SCREEN_RAM,   0x1f40, 0,  0, NULL, NULL },
@@ -706,8 +713,10 @@
         D64_FMT_MC, "ocp", "Advanced Art Studio (unpacked)", 0x2000, 10018,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_BITMAP,       0x0000, 0,  0, NULL, NULL },
             { DT_SCREEN_RAM,   0x1f40, 0,  0, NULL, NULL },
@@ -721,8 +730,10 @@
         D64_FMT_MC, "ami", "Amica Paint (packed)", 0x4000, 0,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
-        fmtProbeAmicaPaintPacked, fmtDecodeAmicaPaintPacked,
-        NULL, NULL, NULL, NULL,
+        fmtProbeAmicaPaintPacked,
+        fmtDecodeAmicaPaintPacked, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_COLOR_RAM,    0x2328, 0,  0, NULL, NULL },
             { DT_BITMAP,       0x0000, 0,  0, NULL, NULL },
@@ -736,8 +747,10 @@
         D64_FMT_MC, "rpm", "Run Paint (unpacked)", 0x6000, 10006,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_COLOR_RAM,    0x2328, 0,  0, NULL, NULL },
             { DT_BITMAP,       0x0000, 0,  0, NULL, NULL },
@@ -751,8 +764,10 @@
         D64_FMT_HIRES, "art", "Art Studio (unpacked)", 0x2000, 9009,
         C64_SCR_WIDTH    , C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_BITMAP,       0x0000, 0,  0, NULL, NULL },
             { DT_SCREEN_RAM,   0x1f40, 0,  0, NULL, NULL },
@@ -764,8 +779,10 @@
         D64_FMT_HIRES, "iph", "Interpaint (unpacked)", 0x4000, 9002,
         C64_SCR_WIDTH   , C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_BITMAP,       0x0000, 0,  0, NULL, NULL },
             { DT_SCREEN_RAM,   0x1f40, 0,  0, NULL, NULL },
@@ -777,8 +794,10 @@
         D64_FMT_MC, "ipc", "Interpaint MC (unpacked)", 0x4000, 10003,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_BITMAP,       0x0000, 0,  0, NULL, NULL },
             { DT_SCREEN_RAM,   0x1f40, 0,  0, NULL, NULL },
@@ -792,8 +811,10 @@
         D64_FMT_HIRES, "dd", "Doodle (unpacked)", 0x1c00, 9218,
         C64_SCR_WIDTH   , C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH, C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_SCREEN_RAM,   0x0000, 0,  0, NULL, NULL },
             { DT_BITMAP,       0x0400, 0,  0, NULL, NULL },
@@ -805,8 +826,10 @@
         D64_FMT_MC | D64_FMT_FLI, "bml", "Blackmail FLI (unpacked)", 0x3b00, 17474,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, fmtGetPixelBMFLI,
+        NULL, NULL,
+        fmtGetPixelBMFLI,
         {
             { DT_EXTRA_DATA,   0x0000, 0,  200, NULL, NULL },
             { DT_COLOR_RAM,    0x0100, 0,  0, NULL, NULL },
@@ -820,8 +843,10 @@
         D64_FMT_MC | D64_FMT_FLI, "fli", "FLI Designer (unpacked)", 0, 17409,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
-        fmtProbeFLIDesigner, NULL,
-        NULL, NULL, NULL, fmtGetPixelFLIDesigner,
+        fmtProbeFLIDesigner,
+        NULL, NULL,
+        NULL, NULL,
+        fmtGetPixelFLIDesigner,
         {
             { DT_COLOR_RAM,    0x0000, 0,  0, NULL, NULL },
             DEF_SCREEN_RAMS_8( 0x0400, 0,  0x400)
@@ -834,8 +859,10 @@
         D64_FMT_MC, "xx1", "Unknown $2000 format (unpacked)", 0x2000, 10242,
         C64_SCR_WIDTH / 2, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_BITMAP,       0x0000, 0,  0, NULL, NULL },
             { DT_SCREEN_RAM,   0x2000, 0,  0, NULL, NULL },
@@ -854,8 +881,10 @@
         D64_FMT_MC, "xx2", "Unknown $2000 format (unpacked)", 0x2000, 0,
         XX2_WIDTH_CH * 4, XX2_HEIGHT_CH * 8,
         XX2_WIDTH_CH    , XX2_HEIGHT_CH,
-        fmtProbeFormatXX2, fmtDecodeFormatXX2,
-        NULL, NULL, NULL, NULL,
+        fmtProbeFormatXX2,
+        fmtDecodeFormatXX2, NULL,
+        NULL, NULL,
+        NULL,
         {
             { DT_BITMAP,       0x0000, 0,  XX2_BSIZE, NULL, NULL },
             { DT_COLOR_RAM,    XX2_BSIZE + XX2_SIZE, 0,  XX2_SIZE, NULL, NULL },
@@ -869,8 +898,10 @@
         D64_FMT_MC | D64_FMT_FLI | D64_FMT_ILACE, "fp2", "FunPaint II (unpacked)", 0x3ff0, 33694,
         C64_SCR_WIDTH, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
-        fmtProbeFunPaint2Unpacked, fmtDecodeFunPaint2Unpacked,
-        NULL, NULL, NULL, fmtGetPixelFunPaint2,
+        fmtProbeFunPaint2Unpacked,
+        fmtDecodeFunPaint2Unpacked, NULL,
+        NULL, NULL,
+        fmtGetPixelFunPaint2,
         {
             DEF_SCREEN_RAMS_8( 0x0000, 0,  0x400)
             { DT_BITMAP,       0x2000, 0,  0, NULL, NULL },
@@ -887,8 +918,10 @@
         D64_FMT_MC | D64_FMT_FLI | D64_FMT_ILACE, "fp2p", "FunPaint II (packed)", 0x3ff0, 0,
         C64_SCR_WIDTH, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
-        fmtProbeFunPaint2Packed, fmtDecodeFunPaint2Packed,
-        NULL, NULL, NULL, fmtGetPixelFunPaint2,
+        fmtProbeFunPaint2Packed,
+        fmtDecodeFunPaint2Packed, NULL,
+        NULL, NULL,
+        fmtGetPixelFunPaint2,
         {
             DEF_SCREEN_RAMS_8( 0x0000, 0,  0x400)
             { DT_BITMAP,       0x2000, 0,  0, NULL, NULL },
@@ -905,8 +938,10 @@
         D64_FMT_MC | D64_FMT_FLI | D64_FMT_ILACE, "gun", "GunPaint (unpacked)", 0x4000, 0,
         C64_SCR_WIDTH, C64_SCR_HEIGHT,
         C64_SCR_CH_WIDTH , C64_SCR_CH_HEIGHT,
-        fmtProbeGunPaint, NULL,
-        NULL, NULL, NULL, fmtGetPixelGunPaint,
+        fmtProbeGunPaint,
+        NULL, NULL,
+        NULL, NULL,
+        fmtGetPixelGunPaint,
         {
             DEF_SCREEN_RAMS_8( 0x0000, 0,  0x400)
             { DT_BITMAP,       0x2000, 0,  0, NULL, NULL },
@@ -923,8 +958,10 @@
         D64_FMT_HIRES | D64_FMT_FLI, "chi", "Crest Hires FLI Designer (unpacked)", 0x4000, 16386,
         C64_SCR_WIDTH, 14 * 8,
         C64_SCR_CH_WIDTH , 14,
+        NULL,
         NULL, NULL,
-        NULL, NULL, NULL, fmtGetPixelCHFLI,
+        NULL, NULL,
+        fmtGetPixelCHFLI,
         {
             { DT_BITMAP,       0x0000, 0,  0, NULL, NULL },
             DEF_SCREEN_RAMS_8( 0x2000, 0,  0x400)
--- a/tools/lib64gfx.h	Thu May 10 02:43:16 2018 +0300
+++ b/tools/lib64gfx.h	Thu May 10 03:46:36 2018 +0300
@@ -170,10 +170,13 @@
     int ch_width, ch_height; // Width and height in charblocks
 
     int  (*probe)(const Uint8 *buf, const size_t len, const struct _DMC64ImageFormat *fmt);
+
     int  (*decode)(DMC64Image *img, const Uint8 *buf, const size_t len, const struct _DMC64ImageFormat *fmt);
-    int  (*encode)(DMC64Image *img, Uint8 **buf, size_t *len, const struct _DMC64ImageFormat *fmt);
+    int  (*encode)(Uint8 **buf, size_t *len, const DMC64Image *img, const struct _DMC64ImageFormat *fmt);
+
     int  (*convertFrom)(DMImage *, const DMC64Image *, const struct _DMC64ImageFormat *fmt);
-    int  (*convertTo)(DMImage *, DMC64Image *, const struct _DMC64ImageFormat *fmt);
+    int  (*convertTo)(DMC64Image *, const DMImage *, const struct _DMC64ImageFormat *fmt);
+
     DMC64GetPixelFunc getPixel;
 
     DMC64EncDecOp encdecOps[D64_MAX_ENCDEC_OPS];
@@ -192,12 +195,13 @@
 char *    dmC64GetImageTypeString(char *buf, const size_t len, const int type);
 int       dmC64ConvertCSDataToImage(DMImage *img, int xoffs, int yoffs, const Uint8 *inBuf, int width, int height, BOOL multicolor, int *colors);
 
+int       dmC64ProbeBMP(const Uint8 *buf, const size_t len, const DMC64ImageFormat **fmt);
+
 int       dmC64DecodeGenericBMP(DMC64Image *img, const Uint8 *buf, const size_t len, const DMC64ImageFormat *fmt);
 int       dmC64EncodeGenericBMP(Uint8 **pbuf, size_t *plen, const DMC64Image *img, const DMC64ImageFormat *fmt);
 int       dmC64ConvertGenericBMP2Image(DMImage *dst, const DMC64Image *src, const DMC64ImageFormat *fmt);
 
 int       dmC64ConvertBMP2Image(DMImage **pdst, const DMC64Image *src, const DMC64ImageFormat *fmt);
-int       dmC64ProbeBMP(const Uint8 *buf, const size_t len, const DMC64ImageFormat **fmt);
 int       dmC64DecodeBMP(DMC64Image **img, const Uint8 *buf, const size_t len, const size_t probeOffs, const size_t loadOffs, const DMC64ImageFormat **fmt, const DMC64ImageFormat *forced);