Mercurial > hg > dmlib
comparison tools/lib64util.c @ 2265:48b48251610a
Refactor how the image "mode/type" is handled. It is still not perfect for
our purposes, but better now.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 17 Jun 2019 02:03:35 +0300 |
parents | e25fa516b53a |
children | 87533af8db64 |
comparison
equal
deleted
inserted
replaced
2264:e25fa516b53a | 2265:48b48251610a |
---|---|
57 fmt->name, fmt->fext); | 57 fmt->name, fmt->fext); |
58 } | 58 } |
59 | 59 |
60 if (img != NULL) | 60 if (img != NULL) |
61 { | 61 { |
62 dmC64GetImageTypeString(typeStr, sizeof(typeStr), img->fmt->type, TRUE); | 62 dmC64GetImageTypeString(typeStr, sizeof(typeStr), img->extraInfo[D64_EI_MODE], TRUE); |
63 | 63 |
64 dmC64ImageDumpLine(fh, indent, | 64 dmC64ImageDumpLine(fh, indent, |
65 "Type", "%s", typeStr); | 65 "Type", "%s", typeStr); |
66 | 66 |
67 dmC64ImageDumpLine(fh, indent, | 67 dmC64ImageDumpLine(fh, indent, |
68 "Internal blocks", "%d", img->nblocks); | 68 "Internal blocks", "%d", img->nblocks); |
69 | 69 |
70 if (img->fmt->type & D64_FMT_ILACE) | 70 if (img->extraInfo[D64_EI_MODE] & D64_FMT_ILACE) |
71 { | 71 { |
72 char *tmps; | 72 char *tmps; |
73 switch (img->extraInfo[D64_EI_ILACE_TYPE]) | 73 switch (img->extraInfo[D64_EI_ILACE_TYPE]) |
74 { | 74 { |
75 case D64_ILACE_COLOR: tmps = "color"; break; | 75 case D64_ILACE_COLOR: tmps = "color"; break; |
78 } | 78 } |
79 dmC64ImageDumpLine(fh, indent, | 79 dmC64ImageDumpLine(fh, indent, |
80 "Interlace type", "%s", tmps); | 80 "Interlace type", "%s", tmps); |
81 } | 81 } |
82 | 82 |
83 if (img->fmt->type & D64_FMT_FLI) | 83 if (img->extraInfo[D64_EI_MODE] & D64_FMT_FLI) |
84 { | 84 { |
85 dmC64ImageDumpLine(fh, indent, | 85 dmC64ImageDumpLine(fh, indent, |
86 "FLI type", "%d", | 86 "FLI type", "%d", |
87 img->extraInfo[D64_EI_FLI_TYPE]); | 87 img->extraInfo[D64_EI_FLI_TYPE]); |
88 } | 88 } |
101 | 101 |
102 dmC64ImageDumpLine(fh, indent, | 102 dmC64ImageDumpLine(fh, indent, |
103 "d021 / background", "%d ($%02x)", | 103 "d021 / background", "%d ($%02x)", |
104 img->bgcolor, img->bgcolor); | 104 img->bgcolor, img->bgcolor); |
105 | 105 |
106 if (img->fmt->type & D64_FMT_CHAR) | 106 if (img->extraInfo[D64_EI_MODE] & D64_FMT_CHAR) |
107 { | 107 { |
108 if ((img->fmt->type & D64_FMT_MODE_MASK) == (D64_FMT_MC | D64_FMT_ECM)) | 108 if ((img->extraInfo[D64_EI_MODE] & D64_FMT_MODE_MASK) == (D64_FMT_MC | D64_FMT_ECM)) |
109 { | 109 { |
110 dmC64ImageDumpLine(fh, indent, | 110 dmC64ImageDumpLine(fh, indent, |
111 "d022", "%d ($%02x)", | 111 "d022", "%d ($%02x)", |
112 img->d022, img->d022); | 112 img->d022, img->d022); |
113 dmC64ImageDumpLine(fh, indent, | 113 dmC64ImageDumpLine(fh, indent, |
114 "d023", "%d ($%02x)", | 114 "d023", "%d ($%02x)", |
115 img->d023, img->d023); | 115 img->d023, img->d023); |
116 } | 116 } |
117 | 117 |
118 if ((img->fmt->type & D64_FMT_MODE_MASK) == D64_FMT_ECM) | 118 if ((img->extraInfo[D64_EI_MODE] & D64_FMT_MODE_MASK) == D64_FMT_ECM) |
119 { | 119 { |
120 dmC64ImageDumpLine(fh, indent, | 120 dmC64ImageDumpLine(fh, indent, |
121 "d024", "%d ($%02x)", | 121 "d024", "%d ($%02x)", |
122 img->d024, img->d024); | 122 img->d024, img->d024); |
123 } | 123 } |
124 } | 124 } |
125 } | 125 } |
126 else | 126 else |
127 if (fmt != NULL) | 127 if (fmt != NULL) |
128 { | 128 { |
129 dmC64GetImageTypeString(typeStr, sizeof(typeStr), fmt->format->type, TRUE); | 129 dmC64GetImageTypeString(typeStr, sizeof(typeStr), fmt->format->mode, TRUE); |
130 | 130 |
131 dmC64ImageDumpLine(fh, indent, | 131 dmC64ImageDumpLine(fh, indent, |
132 "Type", "%s", typeStr); | 132 "Type", "%s", typeStr); |
133 | 133 |
134 dmC64ImageDumpLine(fh, indent, | 134 dmC64ImageDumpLine(fh, indent, |