Mercurial > hg > dmlib
annotate tools/lib64util.c @ 2380:89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 08 Jan 2020 13:08:53 +0200 |
parents | f35ee6f8d994 |
children | 43e39d9ec42f |
rev | line source |
---|---|
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
1 /* |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
2 * Common utility functions for gfxconv and 64vw |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
3 * Programmed and designed by Matti 'ccr' Hamalainen |
2372 | 4 * (C) Copyright 2019-2020 Tecnic Software productions (TNSP) |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
5 * |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
6 * Please read file 'COPYING' for information on license and distribution. |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
7 */ |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
8 #include "lib64util.h" |
2208
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
9 #include "dmfile.h" |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
10 |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
11 |
2380
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
12 // |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
13 // Some common C64 palettes |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
14 // |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
15 DMC64Palette dmC64DefaultPalettes[] = |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
16 { |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
17 { |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
18 "pepto", |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
19 "Pepto's classic (default)", |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
20 { |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
21 { 0x00, 0x00, 0x00, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
22 { 0xFF, 0xFF, 0xFF, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
23 { 0x68, 0x37, 0x2B, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
24 { 0x70, 0xA4, 0xB2, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
25 { 0x6F, 0x3D, 0x86, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
26 { 0x58, 0x8D, 0x43, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
27 { 0x35, 0x28, 0x79, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
28 { 0xB8, 0xC7, 0x6F, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
29 { 0x6F, 0x4F, 0x25, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
30 { 0x43, 0x39, 0x00, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
31 { 0x9A, 0x67, 0x59, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
32 { 0x44, 0x44, 0x44, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
33 { 0x6C, 0x6C, 0x6C, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
34 { 0x9A, 0xD2, 0x84, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
35 { 0x6C, 0x5E, 0xB5, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
36 { 0x95, 0x95, 0x95, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
37 }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
38 }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
39 { |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
40 "colodore", |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
41 "Colodore", |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
42 { |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
43 { 0x00, 0x00, 0x00, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
44 { 0xff, 0xff, 0xff, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
45 { 0x96, 0x28, 0x2e, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
46 { 0x5b, 0xd6, 0xce, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
47 { 0x9f, 0x2d, 0xad, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
48 { 0x41, 0xb9, 0x36, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
49 { 0x27, 0x24, 0xc4, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
50 { 0xef, 0xf3, 0x47, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
51 { 0x9f, 0x48, 0x15, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
52 { 0x5e, 0x35, 0x00, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
53 { 0xda, 0x5f, 0x66, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
54 { 0x47, 0x47, 0x47, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
55 { 0x78, 0x78, 0x78, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
56 { 0x91, 0xff, 0x84, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
57 { 0x68, 0x64, 0xff, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
58 { 0xae, 0xae, 0xae, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
59 }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
60 }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
61 { |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
62 "vice3", |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
63 "VICE 3.3", |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
64 { |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
65 { 0x00, 0x00, 0x00, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
66 { 0xfd, 0xfe, 0xfc, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
67 { 0xbe, 0x1a, 0x24, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
68 { 0x30, 0xe6, 0xc6, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
69 { 0xb4, 0x1a, 0xe2, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
70 { 0x1f, 0xd2, 0x1e, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
71 { 0x21, 0x1b, 0xae, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
72 { 0xdf, 0xf6, 0x0a, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
73 { 0xb8, 0x41, 0x04, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
74 { 0x6a, 0x33, 0x04, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
75 { 0xfe, 0x4a, 0x57, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
76 { 0x42, 0x45, 0x40, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
77 { 0x70, 0x74, 0x6f, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
78 { 0x59, 0xfe, 0x59, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
79 { 0x5f, 0x53, 0xfe, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
80 { 0xa4, 0xa7, 0xa2, 0xff }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
81 }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
82 }, |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
83 }; |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
84 |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
85 const int ndmC64DefaultPalettes = sizeof(dmC64DefaultPalettes) / sizeof(dmC64DefaultPalettes[0]); |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
86 |
89cb93184175
Move dmC64DefaultPalettes from lib64gfx to lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2373
diff
changeset
|
87 |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
88 char * dmC64GetImageTypeString(char *buf, const size_t len, const int type, const BOOL lng) |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
89 { |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
90 static const char *fmtModesShort[] = { "*", "HiR", "MC", "ECM" }; |
2314
87533af8db64
Add format flag for formats that use sprite layer.
Matti Hamalainen <ccr@tnsp.org>
parents:
2265
diff
changeset
|
91 static const char *fmtModesLong[] = { "*", "Hires", "Multi-color", "Extended Color Mode" }; |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
92 const char *fmtStr; |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
93 size_t nfmt = type & D64_FMT_MODE_MASK; |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
94 |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
95 if (nfmt < sizeof(fmtModesShort) / sizeof(fmtModesShort[0])) |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
96 fmtStr = lng ? fmtModesLong[nfmt] : fmtModesShort[nfmt]; |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
97 else |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
98 fmtStr = lng ? "ERROR" : "ERR"; |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
99 |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
100 snprintf(buf, len, |
2314
87533af8db64
Add format flag for formats that use sprite layer.
Matti Hamalainen <ccr@tnsp.org>
parents:
2265
diff
changeset
|
101 "%s %s%s%s%s", |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
102 fmtStr, |
2314
87533af8db64
Add format flag for formats that use sprite layer.
Matti Hamalainen <ccr@tnsp.org>
parents:
2265
diff
changeset
|
103 (type & D64_FMT_ILACE) ? (lng ? "interlaced " : "ILace ") : "", |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
104 (type & D64_FMT_FLI) ? "FLI " : "", |
2314
87533af8db64
Add format flag for formats that use sprite layer.
Matti Hamalainen <ccr@tnsp.org>
parents:
2265
diff
changeset
|
105 (type & D64_FMT_CHAR) ? (lng ? "char-mode" : "CHAR") : "", |
87533af8db64
Add format flag for formats that use sprite layer.
Matti Hamalainen <ccr@tnsp.org>
parents:
2265
diff
changeset
|
106 (type & D64_FMT_SPRITES) ? (lng ? "+ sprite-layer" : "SPR") : "" |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
107 ); |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
108 |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
109 return buf; |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
110 } |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
111 |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
112 |
2264
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
113 static void dmC64ImageDumpLine(FILE *fh, const char *indent, const char *field, const char *fmt, ...) |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
114 { |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
115 va_list ap; |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
116 |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
117 fputs(indent, fh); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
118 fprintf(fh, "%-20s: ", field); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
119 va_start(ap, fmt); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
120 vfprintf(fh, fmt, ap); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
121 va_end(ap); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
122 fputs("\n", fh); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
123 } |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
124 |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
125 |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
126 void dmC64ImageDump(FILE *fh, const DMC64Image *img, const DMC64ImageFormat *fmt, const char *indent) |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
127 { |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
128 char typeStr[64]; |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
129 |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
130 if (fmt != NULL) |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
131 { |
2264
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
132 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
133 "Format", "%s [%s]", |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
134 fmt->name, fmt->fext); |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
135 } |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
136 |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
137 if (img != NULL) |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
138 { |
2265
48b48251610a
Refactor how the image "mode/type" is handled. It is still not perfect for
Matti Hamalainen <ccr@tnsp.org>
parents:
2264
diff
changeset
|
139 dmC64GetImageTypeString(typeStr, sizeof(typeStr), img->extraInfo[D64_EI_MODE], TRUE); |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
140 |
2264
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
141 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
142 "Type", "%s", typeStr); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
143 |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
144 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
145 "Internal blocks", "%d", img->nblocks); |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
146 |
2265
48b48251610a
Refactor how the image "mode/type" is handled. It is still not perfect for
Matti Hamalainen <ccr@tnsp.org>
parents:
2264
diff
changeset
|
147 if (img->extraInfo[D64_EI_MODE] & D64_FMT_ILACE) |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
148 { |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
149 char *tmps; |
2238
5db6e0b63b35
Change again how the interlace type information is stored. Now store it in
Matti Hamalainen <ccr@tnsp.org>
parents:
2210
diff
changeset
|
150 switch (img->extraInfo[D64_EI_ILACE_TYPE]) |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
151 { |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
152 case D64_ILACE_COLOR: tmps = "color"; break; |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
153 case D64_ILACE_RES: tmps = "resolution"; break; |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
154 default: tmps = "ERROR"; break; |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
155 } |
2264
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
156 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
157 "Interlace type", "%s", tmps); |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
158 } |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
159 |
2265
48b48251610a
Refactor how the image "mode/type" is handled. It is still not perfect for
Matti Hamalainen <ccr@tnsp.org>
parents:
2264
diff
changeset
|
160 if (img->extraInfo[D64_EI_MODE] & D64_FMT_FLI) |
2238
5db6e0b63b35
Change again how the interlace type information is stored. Now store it in
Matti Hamalainen <ccr@tnsp.org>
parents:
2210
diff
changeset
|
161 { |
2264
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
162 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
163 "FLI type", "%d", |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
164 img->extraInfo[D64_EI_FLI_TYPE]); |
2238
5db6e0b63b35
Change again how the interlace type information is stored. Now store it in
Matti Hamalainen <ccr@tnsp.org>
parents:
2210
diff
changeset
|
165 } |
5db6e0b63b35
Change again how the interlace type information is stored. Now store it in
Matti Hamalainen <ccr@tnsp.org>
parents:
2210
diff
changeset
|
166 |
2264
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
167 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
168 "Width x Height", "%d x %d pixels", |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
169 img->fmt->width, img->fmt->height); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
170 |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
171 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
172 "CHwidth x CHheight", "%d x %d", |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
173 img->fmt->chWidth, img->fmt->chHeight); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
174 |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
175 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
176 "d020 / border", "%d ($%02x)", |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
177 img->d020, img->d020); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
178 |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
179 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
180 "d021 / background", "%d ($%02x)", |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
181 img->bgcolor, img->bgcolor); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
182 |
2265
48b48251610a
Refactor how the image "mode/type" is handled. It is still not perfect for
Matti Hamalainen <ccr@tnsp.org>
parents:
2264
diff
changeset
|
183 if (img->extraInfo[D64_EI_MODE] & D64_FMT_CHAR) |
2264
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
184 { |
2265
48b48251610a
Refactor how the image "mode/type" is handled. It is still not perfect for
Matti Hamalainen <ccr@tnsp.org>
parents:
2264
diff
changeset
|
185 if ((img->extraInfo[D64_EI_MODE] & D64_FMT_MODE_MASK) == (D64_FMT_MC | D64_FMT_ECM)) |
2264
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
186 { |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
187 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
188 "d022", "%d ($%02x)", |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
189 img->d022, img->d022); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
190 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
191 "d023", "%d ($%02x)", |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
192 img->d023, img->d023); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
193 } |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
194 |
2265
48b48251610a
Refactor how the image "mode/type" is handled. It is still not perfect for
Matti Hamalainen <ccr@tnsp.org>
parents:
2264
diff
changeset
|
195 if ((img->extraInfo[D64_EI_MODE] & D64_FMT_MODE_MASK) == D64_FMT_ECM) |
2264
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
196 { |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
197 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
198 "d024", "%d ($%02x)", |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
199 img->d024, img->d024); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
200 } |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
201 } |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
202 } |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
203 else |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
204 if (fmt != NULL) |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
205 { |
2265
48b48251610a
Refactor how the image "mode/type" is handled. It is still not perfect for
Matti Hamalainen <ccr@tnsp.org>
parents:
2264
diff
changeset
|
206 dmC64GetImageTypeString(typeStr, sizeof(typeStr), fmt->format->mode, TRUE); |
2264
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
207 |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
208 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
209 "Type", "%s", typeStr); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
210 |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
211 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
212 "Width x Height", "%d x %d pixels", |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
213 fmt->format->width, fmt->format->height); |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
214 |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
215 dmC64ImageDumpLine(fh, indent, |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
216 "CHwidth x CHheight", "%d x %d", |
e25fa516b53a
Add helper function dmC64ImageDumpLine() for printing information out in
Matti Hamalainen <ccr@tnsp.org>
parents:
2263
diff
changeset
|
217 fmt->format->chWidth, fmt->format->chHeight); |
2204
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
218 } |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
219 } |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
220 |
cbac4912992c
Add new module "lib64util", and move some functions there from lib64gfx
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
221 |
2263 | 222 void argShowC64Formats(FILE *fh, const BOOL rw) |
2242
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
223 { |
2263 | 224 fprintf(fh, |
2242
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
225 "Available C64 bitmap formats (-f <frmt>):\n" |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
226 " frmt %s| Type | Description\n" |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
227 "------%s+-----------------+-------------------------------------\n", |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
228 rw ? "| RW " : "", |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
229 rw ? "+----" : "" |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
230 ); |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
231 |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
232 for (int i = 0; i < ndmC64ImageFormats; i++) |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
233 { |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
234 const DMC64ImageFormat *fmt = dmC64ImageFormatsSorted[i]; |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
235 char buf[64]; |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
236 |
2263 | 237 fprintf(fh, "%-6s", |
2242
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
238 fmt->fext); |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
239 |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
240 if (rw) |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
241 { |
2263 | 242 fprintf(fh, "| %c%c ", |
2242
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
243 (fmt->flags & DM_FMT_RD) ? 'R' : ' ', |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
244 (fmt->flags & DM_FMT_WR) ? 'W' : ' ' |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
245 ); |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
246 } |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
247 |
2263 | 248 fprintf(fh, |
2242
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
249 "| %-15s | %s%s\n", |
2263 | 250 dmC64GetImageTypeString(buf, sizeof(buf), fmt->format->mode, FALSE), |
2242
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
251 fmt->name, |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
252 fmt->flags & DM_FMT_BROKEN ? " [BROKEN]" : ""); |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
253 } |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
254 |
2263 | 255 fprintf(fh, "%d formats supported.\n", ndmC64ImageFormats); |
2242
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
256 } |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
257 |
65a2c2e99c81
Move listing of C64 formats function to argShowC64Formats in lib64util.
Matti Hamalainen <ccr@tnsp.org>
parents:
2240
diff
changeset
|
258 |
2263 | 259 void argShowC64PaletteHelp(FILE *fh) |
2244
b26e37e7cbe6
Move function to better place in the file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2242
diff
changeset
|
260 { |
2263 | 261 fprintf(fh, |
2245
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
262 "\n" |
2373
f35ee6f8d994
Improve the help text in argShowC64PaletteHelp().
Matti Hamalainen <ccr@tnsp.org>
parents:
2372
diff
changeset
|
263 "Available internal C64 palettes (-p <name>):\n" |
f35ee6f8d994
Improve the help text in argShowC64PaletteHelp().
Matti Hamalainen <ccr@tnsp.org>
parents:
2372
diff
changeset
|
264 "--------------------------------------------\n"); |
2245
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
265 |
2244
b26e37e7cbe6
Move function to better place in the file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2242
diff
changeset
|
266 for (int n = 0; n < ndmC64DefaultPalettes; n++) |
b26e37e7cbe6
Move function to better place in the file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2242
diff
changeset
|
267 { |
b26e37e7cbe6
Move function to better place in the file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2242
diff
changeset
|
268 DMC64Palette *pal = &dmC64DefaultPalettes[n]; |
2263 | 269 fprintf(fh, |
2244
b26e37e7cbe6
Move function to better place in the file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2242
diff
changeset
|
270 "%-10s | %s\n", |
b26e37e7cbe6
Move function to better place in the file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2242
diff
changeset
|
271 pal->name, pal->desc); |
b26e37e7cbe6
Move function to better place in the file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2242
diff
changeset
|
272 } |
2245
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
273 |
2263 | 274 fprintf(fh, |
2245
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
275 "\n" |
2373
f35ee6f8d994
Improve the help text in argShowC64PaletteHelp().
Matti Hamalainen <ccr@tnsp.org>
parents:
2372
diff
changeset
|
276 "Instead of using one of the internal palettes,\n" |
f35ee6f8d994
Improve the help text in argShowC64PaletteHelp().
Matti Hamalainen <ccr@tnsp.org>
parents:
2372
diff
changeset
|
277 "you can specify an external palette file.\n" |
f35ee6f8d994
Improve the help text in argShowC64PaletteHelp().
Matti Hamalainen <ccr@tnsp.org>
parents:
2372
diff
changeset
|
278 "\n" |
2245
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
279 "Supported palette file formats are:\n" |
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
280 "-----------------------------------\n" |
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
281 ); |
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
282 |
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
283 for (int n = 0; n < ndmPaletteFormatList; n++) |
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
284 { |
2247 | 285 const DMPaletteFormat *fmt = &dmPaletteFormatList[n]; |
2245
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
286 if (fmt->flags & DM_FMT_RD) |
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
287 { |
2263 | 288 fprintf(fh, |
2245
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
289 "%-6s | %s\n", |
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
290 fmt->fext, fmt->name); |
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
291 } |
95f669692b01
Mention support for external palette files in palette help, and also
Matti Hamalainen <ccr@tnsp.org>
parents:
2244
diff
changeset
|
292 } |
2373
f35ee6f8d994
Improve the help text in argShowC64PaletteHelp().
Matti Hamalainen <ccr@tnsp.org>
parents:
2372
diff
changeset
|
293 fprintf(fh, |
f35ee6f8d994
Improve the help text in argShowC64PaletteHelp().
Matti Hamalainen <ccr@tnsp.org>
parents:
2372
diff
changeset
|
294 "\n" |
f35ee6f8d994
Improve the help text in argShowC64PaletteHelp().
Matti Hamalainen <ccr@tnsp.org>
parents:
2372
diff
changeset
|
295 "Example: -p foobar.bin\n" |
f35ee6f8d994
Improve the help text in argShowC64PaletteHelp().
Matti Hamalainen <ccr@tnsp.org>
parents:
2372
diff
changeset
|
296 "\n"); |
2244
b26e37e7cbe6
Move function to better place in the file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2242
diff
changeset
|
297 } |
b26e37e7cbe6
Move function to better place in the file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2242
diff
changeset
|
298 |
b26e37e7cbe6
Move function to better place in the file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2242
diff
changeset
|
299 |
2208
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
300 BOOL argHandleC64PaletteOption(char *optArg, DMC64Palette **ppal, char **palFile) |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
301 { |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
302 if (strcasecmp(optArg, "help") == 0 || |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
303 strcasecmp(optArg, "list") == 0) |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
304 { |
2240
e2c6af0c9431
Add FILE argument to argShowC64PaletteHelp().
Matti Hamalainen <ccr@tnsp.org>
parents:
2238
diff
changeset
|
305 argShowC64PaletteHelp(stdout); |
2208
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
306 return FALSE; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
307 } |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
308 |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
309 for (int n = 0; n < ndmC64DefaultPalettes; n++) |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
310 { |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
311 DMC64Palette *pal = &dmC64DefaultPalettes[n]; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
312 if (strcasecmp(pal->name, optArg) == 0) |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
313 { |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
314 *ppal = pal; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
315 return TRUE; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
316 } |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
317 } |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
318 |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
319 *palFile = optArg; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
320 return TRUE; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
321 } |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
322 |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
323 |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
324 int dmHandleExternalPalette(const char *filename, DMPalette **ppal) |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
325 { |
2263 | 326 DMResource *fh = NULL; |
2208
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
327 const DMImageFormat *ifmt = NULL; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
328 const DMPaletteFormat *pfmt = NULL; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
329 DMImage *inImage = NULL; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
330 Uint8 *dataBuf = NULL; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
331 size_t dataSize; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
332 int index, res; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
333 |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
334 dmMsg(1, "Probing file '%s' for palette data.\n", filename); |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
335 |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
336 if ((res = dmReadDataFile(NULL, filename, &dataBuf, &dataSize)) != DMERR_OK) |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
337 { |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
338 dmErrorMsg("No such palette '%s', and no such file found (%s).\n", |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
339 filename, dmErrorStr(res)); |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
340 goto done; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
341 } |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
342 |
2263 | 343 if ((res = dmf_open_memio(NULL, filename, dataBuf, dataSize, &fh)) != DMERR_OK) |
2208
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
344 { |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
345 dmErrorMsg("Could not create MemIO handle for input.\n"); |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
346 goto done; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
347 } |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
348 |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
349 if (dmImageProbeGeneric(dataBuf, dataSize, &ifmt, &index) > 0 && |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
350 ifmt->read != NULL) |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
351 { |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
352 dmMsg(1, "Probed image format %s (%s)\n", |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
353 ifmt->name, ifmt->fext); |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
354 |
2263 | 355 res = ifmt->read(fh, &inImage); |
2208
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
356 if (res != DMERR_OK) |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
357 { |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
358 dmErrorMsg("Could not read image file: %s\n", |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
359 dmErrorStr(res)); |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
360 goto done; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
361 } |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
362 |
2210
fa5e74384d87
Check for non-existing palette when reading palette from image file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2208
diff
changeset
|
363 if (inImage->pal != NULL) |
fa5e74384d87
Check for non-existing palette when reading palette from image file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2208
diff
changeset
|
364 res = dmPaletteCopy(ppal, inImage->pal); |
fa5e74384d87
Check for non-existing palette when reading palette from image file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2208
diff
changeset
|
365 else |
fa5e74384d87
Check for non-existing palette when reading palette from image file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2208
diff
changeset
|
366 { |
fa5e74384d87
Check for non-existing palette when reading palette from image file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2208
diff
changeset
|
367 dmErrorMsg("Image file does not have a palette.\n"); |
fa5e74384d87
Check for non-existing palette when reading palette from image file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2208
diff
changeset
|
368 res = DMERR_NULLPTR; |
fa5e74384d87
Check for non-existing palette when reading palette from image file.
Matti Hamalainen <ccr@tnsp.org>
parents:
2208
diff
changeset
|
369 } |
2208
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
370 } |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
371 else |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
372 if (dmPaletteProbeGeneric(dataBuf, dataSize, &pfmt, &index) > 0 && |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
373 pfmt->read != NULL) |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
374 { |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
375 dmMsg(1, "Probed palette format %s (%s)\n", |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
376 pfmt->name, pfmt->fext); |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
377 |
2263 | 378 res = pfmt->read(fh, ppal); |
2208
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
379 } |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
380 else |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
381 { |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
382 res = DMERR_NOT_SUPPORTED; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
383 dmErrorMsg("Not an internal palette or recognized palette file '%s'.\n", |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
384 filename); |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
385 } |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
386 |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
387 done: |
2263 | 388 dmf_close(fh); |
2208
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
389 dmImageFree(inImage); |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
390 dmFree(dataBuf); |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
391 |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
392 return res; |
90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
Matti Hamalainen <ccr@tnsp.org>
parents:
2204
diff
changeset
|
393 } |