From 4fd82fc67c74b4c0e50cea198eefa5b9d74e870d Mon Sep 17 00:00:00 2001 From: b Date: Fri, 2 Dec 2022 10:16:04 +0000 Subject: [PATCH] T-1 remap tool. debug needed! --- enhance.c | 3 + makefile | 33 ++--- makefile.1.mak | 33 ++--- pal_unmix.c | 6 +- remap_t_1.c | 286 ++++++++++++++++++++++++++++++++++++++ remapt-1.c | 131 ----------------- testimg/remapt-1_0001.png | Bin 0 -> 16021 bytes testimg/t-1_0001.png | Bin 0 -> 15891 bytes 8 files changed, 308 insertions(+), 184 deletions(-) create mode 100644 remap_t_1.c delete mode 100644 remapt-1.c create mode 100644 testimg/remapt-1_0001.png create mode 100644 testimg/t-1_0001.png diff --git a/enhance.c b/enhance.c index 0daa9fb..1036266 100644 --- a/enhance.c +++ b/enhance.c @@ -37,6 +37,7 @@ on Pentium III libdevil must be recompiled with #include "npb.h" #include "pal_mix.h" #include "pal_unmix.h" +#include "remap_t_1.h" int main (int argc, char **argv) { @@ -68,6 +69,8 @@ int main (int argc, char **argv) f = &subtool_pal_mix; else if (strcmp(argv[1], "pal_unmix")==0) f = &subtool_pal_unmix; + else if (strcmp(argv[1], "remap_t_1")==0) + f = &subtool_remap_t_1; else finish(EINVAL, "Unknown mode.\n"); diff --git a/makefile b/makefile index f57b8ce..a257374 100644 --- a/makefile +++ b/makefile @@ -45,7 +45,8 @@ reveal\ diff\ npb\ pal_mix\ -pal_unmix +pal_unmix\ +remap_t_1 C_STANDALONE=\ standalone-nofading.c\ @@ -55,7 +56,8 @@ standalone-reveal.c\ standalone-diff.c\ standalone-npb.c\ standalone-pal_mix.c\ -standalone-pal_unmix.c +standalone-pal_unmix.c\ +standalone-remap_t_1.c C_SUBTOOL=\ nofading.c\ @@ -65,7 +67,8 @@ reveal.c\ diff.c\ npb.c\ pal_mix.c\ -pal_unmix.c +pal_unmix.c\ +remap_t_1.c H_SUBTOOL=\ nofading.h\ @@ -75,7 +78,8 @@ reveal.h\ diff.h\ npb.h\ pal_mix.h\ -pal_unmix.h +pal_unmix.h\ +remap_t_1.h H_PNG=\ npb0.h\ @@ -128,33 +132,15 @@ clean: PHONY: all clean -#npb-ong1: npb-ong1.cpp makefile -# $(CC) $(CF) $(LF) -o npb-ong1 npb-ong1.cpp -# -#npb: npb.cpp makefile -# $(CC) $(CF) $(LF) -o npb npb.cpp -# -#403: 403.cpp makefile -# $(CC) $(CF) $(LF) -o 403 403.cpp -# #npbd-ong1: npb npbd-ong1.cpp makefile # $(CC) $(CF) -o npbd-ong1 npbd-ong1.cpp $(LF2) # #npbd: npb npbd.cpp makefile # $(CC) $(CF) -o npbd npbd.cpp $(LF2) # -#bluenh: bluenh.cpp makefile -# $(CC) $(CF) $(LF) -o bluenh bluenh.cpp -# #bluenhd: bluenhd.cpp makefile # $(CC) $(CF) -o bluenhd bluenhd.cpp $(LF2) # -#insert: insert.c makefile -# $(CC) $(CF) $(LF) -o insert insert.c -# -#extract: extract.c makefile -# $(CC) $(CF) $(LF) -o extract extract.c -# #seediff: seediff.c makefile # $(CC) $(CF) $(LF) -o seediff seediff.c # @@ -167,9 +153,6 @@ PHONY: all clean #compare: compare.c makefile # $(CC) $(CF) $(LF) -o compare compare.c # -#nofading: nofading.c makefile -# $(CC) $(CF) $(LF) -o nofading nofading.c -# #nofadingd: nofadingd.c makefile # $(CC) $(CF) $(LF) -o nofadingd nofadingd.c # diff --git a/makefile.1.mak b/makefile.1.mak index 8dcc31a..103fdd2 100644 --- a/makefile.1.mak +++ b/makefile.1.mak @@ -45,7 +45,8 @@ reveal\ diff\ npb\ pal_mix\ -pal_unmix +pal_unmix\ +remap_t_1 C_STANDALONE=\ standalone-nofading.c\ @@ -55,7 +56,8 @@ standalone-reveal.c\ standalone-diff.c\ standalone-npb.c\ standalone-pal_mix.c\ -standalone-pal_unmix.c +standalone-pal_unmix.c\ +standalone-remap_t_1.c C_SUBTOOL=\ nofading.c\ @@ -65,7 +67,8 @@ reveal.c\ diff.c\ npb.c\ pal_mix.c\ -pal_unmix.c +pal_unmix.c\ +remap_t_1.c H_SUBTOOL=\ nofading.h\ @@ -75,7 +78,8 @@ reveal.h\ diff.h\ npb.h\ pal_mix.h\ -pal_unmix.h +pal_unmix.h\ +remap_t_1.h H_PNG=\ npb0.h\ @@ -128,33 +132,15 @@ clean: PHONY: all clean -#npb-ong1: npb-ong1.cpp makefile -# $(CC) $(CF) $(LF) -o npb-ong1 npb-ong1.cpp -# -#npb: npb.cpp makefile -# $(CC) $(CF) $(LF) -o npb npb.cpp -# -#403: 403.cpp makefile -# $(CC) $(CF) $(LF) -o 403 403.cpp -# #npbd-ong1: npb npbd-ong1.cpp makefile # $(CC) $(CF) -o npbd-ong1 npbd-ong1.cpp $(LF2) # #npbd: npb npbd.cpp makefile # $(CC) $(CF) -o npbd npbd.cpp $(LF2) # -#bluenh: bluenh.cpp makefile -# $(CC) $(CF) $(LF) -o bluenh bluenh.cpp -# #bluenhd: bluenhd.cpp makefile # $(CC) $(CF) -o bluenhd bluenhd.cpp $(LF2) # -#insert: insert.c makefile -# $(CC) $(CF) $(LF) -o insert insert.c -# -#extract: extract.c makefile -# $(CC) $(CF) $(LF) -o extract extract.c -# #seediff: seediff.c makefile # $(CC) $(CF) $(LF) -o seediff seediff.c # @@ -167,9 +153,6 @@ PHONY: all clean #compare: compare.c makefile # $(CC) $(CF) $(LF) -o compare compare.c # -#nofading: nofading.c makefile -# $(CC) $(CF) $(LF) -o nofading nofading.c -# #nofadingd: nofadingd.c makefile # $(CC) $(CF) $(LF) -o nofadingd nofadingd.c # \ No newline at end of file diff --git a/pal_unmix.c b/pal_unmix.c index 69b3f65..63461e4 100644 --- a/pal_unmix.c +++ b/pal_unmix.c @@ -31,7 +31,7 @@ on Pentium III libdevil must be recompiled with #include #include "core.h" -#include "pal_mix.h" +#include "pal_unmix.h" int palette_unmix_index (ILuint n, struct PixelInfo *p, void *data); ILuint tsqrt(ILuint s); @@ -65,8 +65,8 @@ int subtool_pal_unmix (int argc, char **argv, int argi, char **err) if (argc >= argi + 5) { - sscanf(argv[argi+3],"%u",&(n0)); - sscanf(argv[argi+4],"%u",&(n1)); + sscanf(argv[argi+3],"%u",&n0); + sscanf(argv[argi+4],"%u",&n1); n = n0 * n1; size_defined = 1; } diff --git a/remap_t_1.c b/remap_t_1.c new file mode 100644 index 0000000..1116fe7 --- /dev/null +++ b/remap_t_1.c @@ -0,0 +1,286 @@ +/* +remap_t_1.c +The tool to enhance t-1 frames by remapping the palette +02.12.2022 + +Copyright (C) 2015, 2022 Balthasar Szczepański + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . + + +Requires Dev Image Library (libdevil) (http://openil.sourceforge.net/) +on Pentium III libdevil must be recompiled with +--disable-ssl2 --disable-ssl3 +(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572954) + +*/ + +#include +#include +#include + +#include "core.h" +#include "remap_t_1.h" + +#define N0 3 +#define N1 85 + +struct remap_data +{ + ILuint n0; + ILuint n1; + ILuint n; + struct ColorInfo new_pal[0x100]; +}; + +int palette_remap (ILuint n, struct PixelInfo *p, void *data); +ILubyte b642d(char c); + +char REMAPT1_MISSING_ARGS[] = "Missing parameters.\npremap_t_1 inPix outPix palette [n1 n2]\n"; + +int subtool_remap_t_1 (int argc, char **argv, int argi, char **err) +{ + struct IL_full_info info; + FLAG_TYPE flags = MUST_BE_INDEXED | CAN_BE_MULTIPLE | CANNOT_HAVE_ALPHA | OK_PALETTE_ONLY; + struct remap_data data; + ILuint i, j, k; + ILubyte v[4]; + uint_fast8_t eot = 0; + int r; + + if (argc < argi + 3) + { + *err = REMAPT1_MISSING_ARGS; + return EINVAL; + } + + if (argc >= argi + 5) + { + sscanf(argv[argi+3],"%u",&(data.n0)); + sscanf(argv[argi+4],"%u",&(data.n1)); + } + else + { + data.n0 = N0; + data.n1 = N1; + } + data.n = data.n0 * data.n1; + if (data.n>=0x100) + { + *err = BAD_PALETTE_SIZE; + return EINVAL; + } + + r = reserve_pictures(1); + if (r) + { + *err = CREATE_FAILED; + return r; + } + + r = load_picture(0, argv[argi], &info, &flags); + if (r) + { + *err = LOAD_FAILED; + return r; + } + + if (info.palette_num_cols != data.n) + { + *err = BAD_PALETTE_SIZE; + return EINVAL; + } + + for (i=0, k=0; i> 4); + data.new_pal[i].green = ((v[1] & 0x0f) << 4) | ((v[2] & 0x3c) >> 2); + data.new_pal[i].blue = ((v[3] & 0x03) << 6) | v[3] ; + ++data.n1; + } + + r = perform_action_1picture ( + 0, //id + 0, 0, 0, 0, 0, 0, //x y f w h f + &palette_remap, + flags, + &data + ); + if (r) + { + *err = CONVERT_FAILED; + return r; + } + + r = save_picture(0, argv[argi+1], flags); + if (r!=0) + { + *err = SAVE_FAILED; + return r; + } + + return 0; +} + +int palette_remap (ILuint n, struct PixelInfo *p, void *data) +{ + struct remap_data *d = data; + ILuint j; + + // i = p->index / d->n1; + j = p->index % d->n1; + + p->red = d->new_pal[j].red; + p->green = d->new_pal[j].green; + p->blue = d->new_pal[j].blue; + + return 0; +} + +ILubyte b642d(char c) +{ + if(c >='A' && c <='Z') + return c-'A'; + else if(c >= 'a' && c <= 'z') + return c-'a'+26; + else if(c >= '0' && c <= '9') + return c-'0'+52; + else if(c=='+') + return 62; + else if(c=='-') + return 63; + else + return 0; +} + +/* +//#include +#include +#include +#include "IL/il.h" + +int mustard(const char *t,int m,int e); +int main(int argc, char *argv[]); +unsigned char b642d(char b64); + +ILuint inpix; +unsigned char q =0; + +int main(int argc, char *argv[]) +{ + ILubyte *pal; + unsigned short i; + + if (argc<4) + return mustard("remapt-1 inpix outpix palette [q]",0,1); + else if(argc > 4) + q=1; + + if(strlen(argv[3])<340) + return mustard("Palette too short.",0,1); + + ilInit(); + + ilEnable(IL_ORIGIN_SET); + ilEnable(IL_FILE_OVERWRITE); + + ilGenImages(1,&inpix); + ilBindImage(inpix); + + if(!ilLoadImage(argv[1])) + return mustard("inpix load fail.",1,1); + + if(ilGetInteger(IL_IMAGE_FORMAT)!=IL_COLOUR_INDEX) + return mustard("inpix not indexed.",1,1); + + + ilConvertPal(IL_PAL_RGB24); + if(ilGetInteger(IL_PALETTE_NUM_COLS)!=255) + return mustard("Wrong number of colors.",1,1); + + pal=ilGetPalette(); + + if(strlen(argv[3])<340) + return mustard("Palette too short.",1,1); + + + for(i=0; i<340; ++i) + argv[3][i]=b642d(argv[3][i]); + for(i=0; i<85; ++i) + { + pal[3*i ]=( argv[3][4*i ] <<2)| + ((argv[3][4*i+1]&0x30) >>4); + + pal[3*i+1]=((argv[3][4*i+1]&0x0f) <<4)| + ((argv[3][4*i+2]&0x3c) >>2); + + pal[3*i+2]=((argv[3][4*i+2]&0x03) <<6)| + ( argv[3][4*i+3] ); + + pal[3*i+255]=pal[3*i ]; + pal[3*i+256]=pal[3*i+1]; + pal[3*i+257]=pal[3*i+2]; + + pal[3*i+510]=pal[3*i ]; + pal[3*i+511]=pal[3*i+1]; + pal[3*i+512]=pal[3*i+2]; + } + if(!ilSave(IL_PNG,argv[2])) + return mustard("outpix save fail",1,1); + + return mustard("remapped",1,0); +} + +unsigned char b642d(char b64) +{ + if(b64 >='A' && b64 <='Z') + return b64-'A'; + else if(b64 >= 'a' && b64 <= 'z') + return b64-'a'+26; + else if(b64 >= '0' && b64 <= '9') + return b64-'0'+52; + else if(b64=='+') + return 62; + else if(b64=='-') + return 63; + else + return 0; +} + +int mustard(const char *t, int m,int e) +{ + if(!q) + puts(t); + switch (m) + { + case 1: + ilDeleteImages(1,&inpix); + case 0: + default: + return e; + } +} +*/ \ No newline at end of file diff --git a/remapt-1.c b/remapt-1.c deleted file mode 100644 index 08b7c15..0000000 --- a/remapt-1.c +++ /dev/null @@ -1,131 +0,0 @@ -// remapt-1.c -// The tool to enhance t-1 frames by remapping the palette -// 16.09.2015 -// -// Copyright (C) 2015 Balthasar Szczepański -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . -// - -// Requires Dev Image Library (libdevil) (http://openil.sourceforge.net/) -// on Pentium III libdevil must be recompiled with -// --disable-ssl2 --disable-ssl3 -// (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572954) - -//#include -#include -#include -#include "IL/il.h" - -int mustard(const char *t,int m,int e); -int main(int argc, char *argv[]); -unsigned char b642d(char b64); - -ILuint inpix; -unsigned char q =0; - -int main(int argc, char *argv[]) -{ - ILubyte *pal; - unsigned short i; - - if (argc<4) - return mustard("remapt-1 inpix outpix palette [q]",0,1); - else if(argc > 4) - q=1; - - if(strlen(argv[3])<340) - return mustard("Palette too short.",0,1); - - ilInit(); - - ilEnable(IL_ORIGIN_SET); - ilEnable(IL_FILE_OVERWRITE); - - ilGenImages(1,&inpix); - ilBindImage(inpix); - - if(!ilLoadImage(argv[1])) - return mustard("inpix load fail.",1,1); - - if(ilGetInteger(IL_IMAGE_FORMAT)!=IL_COLOUR_INDEX) - return mustard("inpix not indexed.",1,1); - - - ilConvertPal(IL_PAL_RGB24); - if(ilGetInteger(IL_PALETTE_NUM_COLS)!=255) - return mustard("Wrong number of colors.",1,1); - - pal=ilGetPalette(); - - if(strlen(argv[3])<340) - return mustard("Palette too short.",1,1); - - - for(i=0; i<340; ++i) - argv[3][i]=b642d(argv[3][i]); - for(i=0; i<85; ++i) - { - pal[3*i ]=( argv[3][4*i ] <<2)| - ((argv[3][4*i+1]&0x30) >>4); - - pal[3*i+1]=((argv[3][4*i+1]&0x0f) <<4)| - ((argv[3][4*i+2]&0x3c) >>2); - - pal[3*i+2]=((argv[3][4*i+2]&0x03) <<6)| - ( argv[3][4*i+3] ); - - pal[3*i+255]=pal[3*i ]; - pal[3*i+256]=pal[3*i+1]; - pal[3*i+257]=pal[3*i+2]; - - pal[3*i+510]=pal[3*i ]; - pal[3*i+511]=pal[3*i+1]; - pal[3*i+512]=pal[3*i+2]; - } - if(!ilSave(IL_PNG,argv[2])) - return mustard("outpix save fail",1,1); - - return mustard("remapped",1,0); -} - -unsigned char b642d(char b64) -{ - if(b64 >='A' && b64 <='Z') - return b64-'A'; - else if(b64 >= 'a' && b64 <= 'z') - return b64-'a'+26; - else if(b64 >= '0' && b64 <= '9') - return b64-'0'+52; - else if(b64=='+') - return 62; - else if(b64=='-') - return 63; - else - return 0; -} - -int mustard(const char *t, int m,int e) -{ - if(!q) - puts(t); - switch (m) - { - case 1: - ilDeleteImages(1,&inpix); - case 0: - default: - return e; - } -} \ No newline at end of file diff --git a/testimg/remapt-1_0001.png b/testimg/remapt-1_0001.png new file mode 100644 index 0000000000000000000000000000000000000000..1cfc2697e507c5a55d6299e9b455cb5bb5242009 GIT binary patch literal 16021 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 literal 0 HcmV?d00001 -- 2.30.2