# HG changeset patch # User Matti Hamalainen # Date 1525913196 -10800 # Node ID 3773281491c932123685810bb6bfaf1526f058c2 # Parent 260c413304f332a4e83f6c942d4adcd6d756c1d8 Cleanups. diff -r 260c413304f3 -r 3773281491c9 tools/lib64gfx.c --- 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) diff -r 260c413304f3 -r 3773281491c9 tools/lib64gfx.h --- 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);