/*\r
pal_unmix.c\r
The tool to extract two images hidden iside one indexed image\r
-01.12.2022\r
+03.12.2022\r
\r
Copyright (C) 2015, 2022 Balthasar SzczepaĆski\r
\r
#include "pal_unmix.h"\r
\r
int palette_unmix_index (ILuint n, struct PixelInfo *p, void *data);\r
-ILuint tsqrt(ILuint s);\r
\r
char PAL_UNMIX_MISSING_ARGS[] = "Missing parameters.\npal_unmix inPix outPix1 outPix2 [n1 n2]\n";\r
\r
\r
return 0;\r
}\r
-\r
-ILuint tsqrt(ILuint s)\r
-{\r
- switch(s)\r
- {\r
- case 256:\r
- return 16;\r
- case 225:\r
- return 15;\r
- case 196:\r
- return 14;\r
- case 169:\r
- return 13;\r
- case 144:\r
- return 12;\r
- case 121:\r
- return 11;\r
- case 100:\r
- return 10;\r
- case 81:\r
- return 9;\r
- case 64:\r
- return 8;\r
- case 49:\r
- return 7;\r
- case 36:\r
- return 6;\r
- case 25:\r
- return 5;\r
- case 16:\r
- return 4;\r
- case 9:\r
- return 3;\r
- case 4:\r
- return 2;\r
- case 1:\r
- return 1;\r
- default: // not a square - please fail\r
- return 0;\r
- }\r
-}\r
-\r
-//unsigned short isqrt(unsigned s)\r
-//{\r
-// unsigned short r;\r
-// unsigned short b=0x0040;\r
-// \r
-// while(b>s)\r
-// b>>=2;\r
-// while(b)\r
-// {\r
-// if(s>=r+b)\r
-// {\r
-// s-=r+b;\r
-// r=(r>>1)+b;\r
-// }\r
-// else\r
-// r>>1;\r
-// b>>2;\r
-// }\r
-// return r;\r
-//}\r