diff --git a/.gitignore b/.gitignore
index b3cfc7feb..069a40898 100644
--- a/.gitignore
+++ b/.gitignore
@@ -55,10 +55,6 @@ map_version
mastersrv
packetgen
testrunner
-tileset_borderadd
-tileset_borderfix
-tileset_borderrem
-tileset_borderset
twping
unicode_confusables
uuid
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f2ccd2f03..86971aed8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2026,10 +2026,6 @@ set_src(TOOLS GLOB src/tools
map_replace_image.cpp
map_resave.cpp
packetgen.cpp
- tileset_borderadd.cpp
- tileset_borderfix.cpp
- tileset_borderrem.cpp
- tileset_borderset.cpp
unicode_confusables.cpp
uuid.cpp
)
diff --git a/src/tools/tileset_borderadd.cpp b/src/tools/tileset_borderadd.cpp
deleted file mode 100644
index 6a8674e91..000000000
--- a/src/tools/tileset_borderadd.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
-/* If you are missing that file, acquire a complete release at teeworlds.com. */
-#include
-#include
-
-#include
-
-typedef struct
-{
- unsigned char r, g, b, a;
-} CPixel;
-
-static void TilesetBorderadd(int w, int h, CPixel *pSrc, CPixel *pDest)
-{
- int TileW = w/16;
- int TileH = h/16;
-
- for(int tx = 0; tx < 16; tx++)
- {
- for(int ty = 0; ty < 16; ty++)
- {
- for(int x = 0; x < TileW + 4; x++)
- {
- for(int y = 0; y < TileH + 4; y++)
- {
- int SourceX = tx * TileW + clamp(x - 2, 0, TileW - 1);
- int SourceY = ty * TileH + clamp(y - 2, 0, TileH - 1);
- int DestX = tx * (TileW + 4) + x;
- int DestY = ty * (TileH + 4) + y;
-
- int SourceI = SourceY * w + SourceX;
- int DestI = DestY * (w + 16 * 4) + DestX;
-
- pDest[DestI] = pSrc[SourceI];
-
- }
- }
- }
- }
-}
-
-
-int FixFile(const char *pFileName)
-{
- png_t Png;
- CPixel *pBuffer[2] = {0,0};
-
- png_init(0, 0);
- png_open_file(&Png, pFileName);
-
- if(Png.color_type != PNG_TRUECOLOR_ALPHA)
- {
- dbg_msg("tileset_borderadd", "%s: not an RGBA image", pFileName);
- return 1;
- }
-
- int w = Png.width;
- int h = Png.height;
-
- pBuffer[0] = (CPixel *)malloc(w * h * sizeof(CPixel));
- pBuffer[1] = (CPixel *)malloc((w + 16 * 4) * (h + 16 * 4) * sizeof(CPixel));
- png_get_data(&Png, (unsigned char *)pBuffer[0]);
- png_close_file(&Png);
-
- TilesetBorderadd(w, h, pBuffer[0], pBuffer[1]);
-
- // save here
- png_open_file_write(&Png, pFileName);
- png_set_data(&Png, w + 16 * 4, h + 16 * 4, 8, PNG_TRUECOLOR_ALPHA, (unsigned char *)pBuffer[1]);
- png_close_file(&Png);
-
- return 0;
-}
-
-int main(int argc, const char **argv)
-{
- dbg_logger_stdout();
- if(argc == 1)
- {
- dbg_msg("usage", "%s FILE1 [ FILE2... ]", argv[0]);
- return -1;
- }
-
- for(int i = 1; i < argc; i++)
- FixFile(argv[i]);
- return 0;
-}
diff --git a/src/tools/tileset_borderfix.cpp b/src/tools/tileset_borderfix.cpp
deleted file mode 100644
index d1d04ce5f..000000000
--- a/src/tools/tileset_borderfix.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
-/* If you are missing that file, acquire a complete release at teeworlds.com. */
-#include
-
-#include
-
-typedef struct
-{
- unsigned char r, g, b, a;
-} CPixel;
-
-static CPixel Sample(int x, int y, int w, int h, CPixel *pData, int Pitch, float u, float v)
-{
- x = x + (int)(w*u);
- y = y + (int)(h*v);
- return pData[y*Pitch+x];
-}
-
-static void TilesetBorderfix(int w, int h, CPixel *pSrc, CPixel *pDest)
-{
- int TileW = w/16;
- int TileH = h/16;
-
- mem_zero(pDest, sizeof(CPixel)*w*h);
-
- for(int ty = 0; ty < 16; ty++)
- {
- for(int tx = 0; tx < 16; tx++)
- {
- for(int y = 0; y < TileH-2; y++)
- {
- for(int x = 0; x < TileW-2; x++)
- {
- float u = 0.5f/TileW + x/(float)(TileW-2);
- float v = 0.5f/TileH + y/(float)(TileH-2);
- int k = (ty*TileH+1+y)*w + tx*TileW+x+1;
- pDest[k] = Sample(tx*TileW, ty*TileH, TileW, TileH, pSrc, w, u, v);
-
- if(x == 0) pDest[k-1] = pDest[k];
- if(x == TileW-2-1) pDest[k+1] = pDest[k];
- if(y == 0) pDest[k-w] = pDest[k];
- if(y == TileH-2-1) pDest[k+w] = pDest[k];
-
- if(x == 0 && y == 0) pDest[k-w-1] = pDest[k];
- if(x == TileW-2-1 && y == 0) pDest[k-w+1] = pDest[k];
- if(x == 0 && y == TileH-2-1) pDest[k+w-1] = pDest[k];
- if(x == TileW-2-1 && y == TileH-2-1) pDest[k+w+1] = pDest[k];
- }
- }
- }
- }
-}
-
-
-int FixFile(const char *pFileName)
-{
- png_t Png;
- CPixel *pBuffer[2] = {0,0};
-
- png_init(0, 0);
- png_open_file(&Png, pFileName);
-
- if(Png.color_type != PNG_TRUECOLOR_ALPHA)
- {
- dbg_msg("tileset_borderfix", "%s: not an RGBA image", pFileName);
- return 1;
- }
-
- int w = Png.width;
- int h = Png.height;
-
- pBuffer[0] = (CPixel *)malloc(w * h * sizeof(CPixel));
- pBuffer[1] = (CPixel *)malloc(w * h * sizeof(CPixel));
- png_get_data(&Png, (unsigned char *)pBuffer[0]);
- png_close_file(&Png);
-
- TilesetBorderfix(w, h, pBuffer[0], pBuffer[1]);
-
- // save here
- png_open_file_write(&Png, pFileName);
- png_set_data(&Png, w, h, 8, PNG_TRUECOLOR_ALPHA, (unsigned char *)pBuffer[1]);
- png_close_file(&Png);
-
- return 0;
-}
-
-int main(int argc, const char **argv)
-{
- dbg_logger_stdout();
- if(argc == 1)
- {
- dbg_msg("usage", "%s FILE1 [ FILE2... ]", argv[0]);
- return -1;
- }
-
- for(int i = 1; i < argc; i++)
- FixFile(argv[i]);
- return 0;
-}
diff --git a/src/tools/tileset_borderrem.cpp b/src/tools/tileset_borderrem.cpp
deleted file mode 100644
index 5206ad3e3..000000000
--- a/src/tools/tileset_borderrem.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
-/* If you are missing that file, acquire a complete release at teeworlds.com. */
-#include
-#include
-
-#include
-
-typedef struct
-{
- unsigned char r, g, b, a;
-} CPixel;
-
-static void TilesetBorderrem(int w, int h, CPixel *pSrc, CPixel *pDest)
-{
- int TileW = w/16;
- int TileH = h/16;
-
- for(int tx = 0; tx < 16; tx++)
- {
- for(int ty = 0; ty < 16; ty++)
- {
- for(int x = 0; x < TileW - 4; x++)
- {
- for(int y = 0; y < TileH - 4; y++)
- {
- int SourceX = tx * TileW + x + 2;
- int SourceY = ty * TileH + y + 2;
- int DestX = tx * (TileW - 4) + x;
- int DestY = ty * (TileH - 4) + y;
-
- int SourceI = SourceY * w + SourceX;
- int DestI = DestY * (w - 16 * 4) + DestX;
-
- pDest[DestI] = pSrc[SourceI];
-
- }
- }
- }
- }
-}
-
-
-int FixFile(const char *pFileName)
-{
- png_t Png;
- CPixel *pBuffer[2] = {0,0};
-
- png_init(0, 0);
- png_open_file(&Png, pFileName);
-
- if(Png.color_type != PNG_TRUECOLOR_ALPHA)
- {
- dbg_msg("tileset_borderrem", "%s: not an RGBA image", pFileName);
- return 1;
- }
-
- int w = Png.width;
- int h = Png.height;
-
- pBuffer[0] = (CPixel *)malloc(w * h * sizeof(CPixel));
- pBuffer[1] = (CPixel *)malloc((w - 16 * 4) * (h - 16 * 4) * sizeof(CPixel));
- png_get_data(&Png, (unsigned char *)pBuffer[0]);
- png_close_file(&Png);
-
- TilesetBorderrem(w, h, pBuffer[0], pBuffer[1]);
-
- // save here
- png_open_file_write(&Png, pFileName);
- png_set_data(&Png, w - 16 * 4, h - 16 * 4, 8, PNG_TRUECOLOR_ALPHA, (unsigned char *)pBuffer[1]);
- png_close_file(&Png);
-
- return 0;
-}
-
-int main(int argc, const char **argv)
-{
- dbg_logger_stdout();
- if(argc == 1)
- {
- dbg_msg("usage", "%s FILE1 [ FILE2... ]", argv[0]);
- return -1;
- }
-
- for(int i = 1; i < argc; i++)
- FixFile(argv[i]);
- return 0;
-}
diff --git a/src/tools/tileset_borderset.cpp b/src/tools/tileset_borderset.cpp
deleted file mode 100644
index b260c7731..000000000
--- a/src/tools/tileset_borderset.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
-/* If you are missing that file, acquire a complete release at teeworlds.com. */
-#include
-#include
-
-#include
-
-typedef struct
-{
- unsigned char r, g, b, a;
-} CPixel;
-
-static void TilesetBorderset(int w, int h, CPixel *pSrc, CPixel *pDest)
-{
- int TileW = w/16;
- int TileH = h/16;
-
- for(int tx = 0; tx < 16; tx++)
- {
- for(int ty = 0; ty < 16; ty++)
- {
- for(int x = 0; x < TileW; x++)
- {
- for(int y = 0; y < TileH; y++)
- {
- #define TILE_INDEX(tx_, ty_, x_, y_) (((ty_) * TileH + (y_)) * w + (tx_) * TileW + (x_))
- pDest[TILE_INDEX(tx, ty, x, y)] = pSrc[TILE_INDEX(tx, ty, clamp(x, 2, TileW - 3), clamp(y, 2, TileH - 3))];
- }
- }
- }
- }
-}
-
-
-int FixFile(const char *pFileName)
-{
- png_t Png;
- CPixel *pBuffer[2] = {0,0};
-
- png_init(0, 0);
- png_open_file(&Png, pFileName);
-
- if(Png.color_type != PNG_TRUECOLOR_ALPHA)
- {
- dbg_msg("tileset_borderset", "%s: not an RGBA image", pFileName);
- return 1;
- }
-
- int w = Png.width;
- int h = Png.height;
-
- pBuffer[0] = (CPixel *)malloc(w * h * sizeof(CPixel));
- pBuffer[1] = (CPixel *)malloc(w * h * sizeof(CPixel));
- png_get_data(&Png, (unsigned char *)pBuffer[0]);
- png_close_file(&Png);
-
- TilesetBorderset(w, h, pBuffer[0], pBuffer[1]);
-
- // save here
- png_open_file_write(&Png, pFileName);
- png_set_data(&Png, w, h, 8, PNG_TRUECOLOR_ALPHA, (unsigned char *)pBuffer[1]);
- png_close_file(&Png);
-
- return 0;
-}
-
-int main(int argc, const char **argv)
-{
- dbg_logger_stdout();
- if(argc == 1)
- {
- dbg_msg("usage", "%s FILE1 [ FILE2... ]", argv[0]);
- return -1;
- }
-
- for(int i = 1; i < argc; i++)
- FixFile(argv[i]);
- return 0;
-}