some hints, I'll finish it later

This commit is contained in:
Issac332 2026-06-13 23:49:02 +03:00
parent 1bcc4dd12d
commit 5f366d8b44

View file

@ -1,198 +1,269 @@
struct StaticRect { float x, y, w, h; };
extern const StaticRect autotileRects[] = {
{ 32.5, 64.5, 15, 15 },
{ 48.5, 64.5, 15, 15 },
{ 32.5, 80.5, 15, 15 },
{ 48.5, 80.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 48.5, 64.5, 15, 15 },
{ 32.5, 80.5, 15, 15 },
{ 48.5, 80.5, 15, 15 },
{ 32.5, 64.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 32.5, 80.5, 15, 15 },
{ 48.5, 80.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 32.5, 80.5, 15, 15 },
{ 48.5, 80.5, 15, 15 },
{ 32.5, 64.5, 15, 15 },
{ 48.5, 64.5, 15, 15 },
{ 32.5, 80.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 48.5, 64.5, 15, 15 },
{ 32.5, 80.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 32.5, 64.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 32.5, 80.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 32.5, 80.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 32.5, 64.5, 15, 15 },
{ 48.5, 64.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 48.5, 80.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 48.5, 64.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 48.5, 80.5, 15, 15 },
{ 32.5, 64.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 48.5, 80.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 48.5, 80.5, 15, 15 },
{ 32.5, 64.5, 15, 15 },
{ 48.5, 64.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 48.5, 64.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 32.5, 64.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 0.5, 64.5, 15, 15 },
{ 16.5, 64.5, 15, 15 },
{ 0.5, 80.5, 15, 15 },
{ 16.5, 80.5, 15, 15 },
{ 0.5, 64.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 0.5, 80.5, 15, 15 },
{ 16.5, 80.5, 15, 15 },
{ 0.5, 64.5, 15, 15 },
{ 16.5, 64.5, 15, 15 },
{ 0.5, 80.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 0.5, 64.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 0.5, 80.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 32.5, 32.5, 15, 15 },
{ 48.5, 32.5, 15, 15 },
{ 32.5, 48.5, 15, 15 },
{ 48.5, 48.5, 15, 15 },
{ 32.5, 32.5, 15, 15 },
{ 48.5, 32.5, 15, 15 },
{ 32.5, 48.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 32.5, 32.5, 15, 15 },
{ 48.5, 32.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 48.5, 48.5, 15, 15 },
{ 32.5, 32.5, 15, 15 },
{ 48.5, 32.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 64.5, 64.5, 15, 15 },
{ 80.5, 64.5, 15, 15 },
{ 64.5, 80.5, 15, 15 },
{ 80.5, 80.5, 15, 15 },
{ 64.5, 64.5, 15, 15 },
{ 80.5, 64.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 80.5, 80.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 80.5, 64.5, 15, 15 },
{ 64.5, 80.5, 15, 15 },
{ 80.5, 80.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 80.5, 64.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 80.5, 80.5, 15, 15 },
{ 32.5, 96.5, 15, 15 },
{ 48.5, 96.5, 15, 15 },
{ 32.5, 112.5, 15, 15 },
{ 48.5, 112.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 48.5, 96.5, 15, 15 },
{ 32.5, 112.5, 15, 15 },
{ 48.5, 112.5, 15, 15 },
{ 32.5, 96.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 32.5, 112.5, 15, 15 },
{ 48.5, 112.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 32.5, 112.5, 15, 15 },
{ 48.5, 112.5, 15, 15 },
{ 0.5, 64.5, 15, 15 },
{ 80.5, 64.5, 15, 15 },
{ 0.5, 80.5, 15, 15 },
{ 80.5, 80.5, 15, 15 },
{ 32.5, 32.5, 15, 15 },
{ 48.5, 32.5, 15, 15 },
{ 32.5, 112.5, 15, 15 },
{ 48.5, 112.5, 15, 15 },
{ 0.5, 32.5, 15, 15 },
{ 16.5, 32.5, 15, 15 },
{ 0.5, 48.5, 15, 15 },
{ 16.5, 48.5, 15, 15 },
{ 0.5, 32.5, 15, 15 },
{ 16.5, 32.5, 15, 15 },
{ 0.5, 48.5, 15, 15 },
{ 80.5, 16.5, 15, 15 },
{ 64.5, 32.5, 15, 15 },
{ 80.5, 32.5, 15, 15 },
{ 64.5, 48.5, 15, 15 },
{ 80.5, 48.5, 15, 15 },
{ 64.5, 32.5, 15, 15 },
{ 80.5, 32.5, 15, 15 },
{ 64.5, 16.5, 15, 15 },
{ 80.5, 48.5, 15, 15 },
{ 64.5, 96.5, 15, 15 },
{ 80.5, 96.5, 15, 15 },
{ 64.5, 112.5, 15, 15 },
{ 80.5, 112.5, 15, 15 },
{ 64.5, 0.5, 15, 15 },
{ 80.5, 96.5, 15, 15 },
{ 64.5, 112.5, 15, 15 },
{ 80.5, 112.5, 15, 15 },
{ 0.5, 96.5, 15, 15 },
{ 16.5, 96.5, 15, 15 },
{ 0.5, 112.5, 15, 15 },
{ 16.5, 112.5, 15, 15 },
{ 0.5, 96.5, 15, 15 },
{ 80.5, 0.5, 15, 15 },
{ 0.5, 112.5, 15, 15 },
{ 16.5, 112.5, 15, 15 },
{ 0.5, 32.5, 15, 15 },
{ 80.5, 32.5, 15, 15 },
{ 0.5, 48.5, 15, 15 },
{ 80.5, 48.5, 15, 15 },
{ 0.5, 32.5, 15, 15 },
{ 16.5, 32.5, 15, 15 },
{ 0.5, 112.5, 15, 15 },
{ 16.5, 112.5, 15, 15 },
{ 0.5, 96.5, 15, 15 },
{ 80.5, 96.5, 15, 15 },
{ 0.5, 112.5, 15, 15 },
{ 80.5, 112.5, 15, 15 },
{ 64.5, 32.5, 15, 15 },
{ 80.5, 32.5, 15, 15 },
{ 64.5, 112.5, 15, 15 },
{ 80.5, 112.5, 15, 15 },
{ 0.5, 32.5, 15, 15 },
{ 80.5, 32.5, 15, 15 },
{ 0.5, 112.5, 15, 15 },
{ 80.5, 112.5, 15, 15 },
{ 0.5, 0.5, 15, 15 },
{ 16.5, 0.5, 15, 15 },
{ 0.5, 16.5, 15, 15 },
{ 16.5, 16.5, 15, 15 }
// where "-" - "Water", "#" - filled "water" connected subtile, "C" - cetral subtile, "U" - unused
// autotile example (Look Graphics/Autotiles/minitiles.png), in this example mini tile is 2x2
/*
UUUU UUUU -##-
UUUU UUUU #CC#
UUUU UUUU #CC#
UUUU UUUU -##-
---- ---- ----
-C#C #CC# C#C-
-### #### ###-
-C#C #CC# C#C-
-### #### ###-
-C#C #CC# C#C-
-C#C #CC# C#C-
-### #### ###-
-C#C #CC# C#C-
-### #### ###-
-C#C #CC# C#C-
---- ---- ----
*/
// 0
{ 32.5, 64.5, 15, 15 }, // ####
{ 48.5, 64.5, 15, 15 }, // #CC#
{ 32.5, 80.5, 15, 15 }, // #CC#
{ 48.5, 80.5, 15, 15 }, // ####
// 1
{ 64.5, 0.5, 15, 15 }, // -###
{ 48.5, 64.5, 15, 15 }, // #CC#
{ 32.5, 80.5, 15, 15 }, // #CC#
{ 48.5, 80.5, 15, 15 }, // ####
// 2
{ 32.5, 64.5, 15, 15 }, // ###-
{ 80.5, 0.5, 15, 15 }, // #CC#
{ 32.5, 80.5, 15, 15 }, // #CC#
{ 48.5, 80.5, 15, 15 }, // ####
// 3
{ 64.5, 0.5, 15, 15 }, // -##-
{ 80.5, 0.5, 15, 15 }, // #CC#
{ 32.5, 80.5, 15, 15 }, // #CC#
{ 48.5, 80.5, 15, 15 }, // ####
// 4
{ 32.5, 64.5, 15, 15 }, // ####
{ 48.5, 64.5, 15, 15 }, // #CC#
{ 32.5, 80.5, 15, 15 }, // #CC#
{ 80.5, 16.5, 15, 15 }, // ###-
// 5
{ 64.5, 0.5, 15, 15 }, // -###
{ 48.5, 64.5, 15, 15 }, // #CC#
{ 32.5, 80.5, 15, 15 }, // #CC#
{ 80.5, 16.5, 15, 15 }, // ###-
// 6
{ 32.5, 64.5, 15, 15 }, // ###-
{ 80.5, 0.5, 15, 15 }, // #CC#
{ 32.5, 80.5, 15, 15 }, // #CC#
{ 80.5, 16.5, 15, 15 }, // ###-
// 7
{ 64.5, 0.5, 15, 15 }, // -##-
{ 80.5, 0.5, 15, 15 }, // #CC#
{ 32.5, 80.5, 15, 15 }, // #CC#
{ 80.5, 16.5, 15, 15 }, // ###-
// 8
{ 32.5, 64.5, 15, 15 }, // ####
{ 48.5, 64.5, 15, 15 }, // #CC#
{ 64.5, 16.5, 15, 15 }, // #CC#
{ 48.5, 80.5, 15, 15 }, // -###
// 9
{ 64.5, 0.5, 15, 15 }, // -###
{ 48.5, 64.5, 15, 15 }, // #CC#
{ 64.5, 16.5, 15, 15 }, // #CС#
{ 48.5, 80.5, 15, 15 }, // -###
// 10
{ 32.5, 64.5, 15, 15 }, // ###-
{ 80.5, 0.5, 15, 15 }, // #CC#
{ 64.5, 16.5, 15, 15 }, // #CC#
{ 48.5, 80.5, 15, 15 }, // -###
// 11
{ 64.5, 0.5, 15, 15 }, // -##-
{ 80.5, 0.5, 15, 15 }, // #CC#
{ 64.5, 16.5, 15, 15 }, // #CC#
{ 48.5, 80.5, 15, 15 }, // -###
// 12
{ 32.5, 64.5, 15, 15 }, // ####
{ 48.5, 64.5, 15, 15 }, // #CC#
{ 64.5, 16.5, 15, 15 }, // #CC#
{ 80.5, 16.5, 15, 15 }, // -##-
// 13
{ 64.5, 0.5, 15, 15 }, //
{ 48.5, 64.5, 15, 15 }, //
{ 64.5, 16.5, 15, 15 }, //
{ 80.5, 16.5, 15, 15 }, //
// 14
{ 32.5, 64.5, 15, 15 }, //
{ 80.5, 0.5, 15, 15 }, //
{ 64.5, 16.5, 15, 15 }, //
{ 80.5, 16.5, 15, 15 }, //
// 15
{ 64.5, 0.5, 15, 15 }, //
{ 80.5, 0.5, 15, 15 }, //
{ 64.5, 16.5, 15, 15 }, //
{ 80.5, 16.5, 15, 15 }, //
// 16
{ 0.5, 64.5, 15, 15 }, //
{ 16.5, 64.5, 15, 15 }, //
{ 0.5, 80.5, 15, 15 }, //
{ 16.5, 80.5, 15, 15 }, //
// 17
{ 0.5, 64.5, 15, 15 }, //
{ 80.5, 0.5, 15, 15 }, //
{ 0.5, 80.5, 15, 15 }, //
{ 16.5, 80.5, 15, 15 }, //
// 18
{ 0.5, 64.5, 15, 15 }, //
{ 16.5, 64.5, 15, 15 }, //
{ 0.5, 80.5, 15, 15 }, //
{ 80.5, 16.5, 15, 15 }, //
// 19
{ 0.5, 64.5, 15, 15 }, //
{ 80.5, 0.5, 15, 15 }, //
{ 0.5, 80.5, 15, 15 }, //
{ 80.5, 16.5, 15, 15 }, //
// 20
{ 32.5, 32.5, 15, 15 }, //
{ 48.5, 32.5, 15, 15 }, //
{ 32.5, 48.5, 15, 15 }, //
{ 48.5, 48.5, 15, 15 }, //
// 21
{ 32.5, 32.5, 15, 15 }, //
{ 48.5, 32.5, 15, 15 }, //
{ 32.5, 48.5, 15, 15 }, //
{ 80.5, 16.5, 15, 15 }, //
// 22
{ 32.5, 32.5, 15, 15 }, //
{ 48.5, 32.5, 15, 15 }, //
{ 64.5, 16.5, 15, 15 }, //
{ 48.5, 48.5, 15, 15 }, //
// 23
{ 32.5, 32.5, 15, 15 }, //
{ 48.5, 32.5, 15, 15 }, //
{ 64.5, 16.5, 15, 15 }, //
{ 80.5, 16.5, 15, 15 }, //
// 24
{ 64.5, 64.5, 15, 15 }, //
{ 80.5, 64.5, 15, 15 }, //
{ 64.5, 80.5, 15, 15 }, //
{ 80.5, 80.5, 15, 15 }, //
// 25
{ 64.5, 64.5, 15, 15 }, //
{ 80.5, 64.5, 15, 15 }, //
{ 64.5, 16.5, 15, 15 }, //
{ 80.5, 80.5, 15, 15 }, //
// 26
{ 64.5, 0.5, 15, 15 }, //
{ 80.5, 64.5, 15, 15 }, //
{ 64.5, 80.5, 15, 15 }, //
{ 80.5, 80.5, 15, 15 }, //
// 27
{ 64.5, 0.5, 15, 15 }, //
{ 80.5, 64.5, 15, 15 }, //
{ 64.5, 16.5, 15, 15 }, //
{ 80.5, 80.5, 15, 15 }, //
// 28
{ 32.5, 96.5, 15, 15 }, //
{ 48.5, 96.5, 15, 15 }, //
{ 32.5, 112.5, 15, 15 }, //
{ 48.5, 112.5, 15, 15 }, //
// 29
{ 64.5, 0.5, 15, 15 }, //
{ 48.5, 96.5, 15, 15 }, //
{ 32.5, 112.5, 15, 15 }, //
{ 48.5, 112.5, 15, 15 }, //
// 30
{ 32.5, 96.5, 15, 15 }, //
{ 80.5, 0.5, 15, 15 }, //
{ 32.5, 112.5, 15, 15 }, //
{ 48.5, 112.5, 15, 15 }, //
// 31
{ 64.5, 0.5, 15, 15 }, //
{ 80.5, 0.5, 15, 15 }, //
{ 32.5, 112.5, 15, 15 }, //
{ 48.5, 112.5, 15, 15 }, //
// 32
{ 0.5, 64.5, 15, 15 }, //
{ 80.5, 64.5, 15, 15 }, //
{ 0.5, 80.5, 15, 15 }, //
{ 80.5, 80.5, 15, 15 }, //
// 33
{ 32.5, 32.5, 15, 15 }, //
{ 48.5, 32.5, 15, 15 }, //
{ 32.5, 112.5, 15, 15 }, //
{ 48.5, 112.5, 15, 15 }, //
// 34
{ 0.5, 32.5, 15, 15 }, //
{ 16.5, 32.5, 15, 15 }, //
{ 0.5, 48.5, 15, 15 }, //
{ 16.5, 48.5, 15, 15 }, //
// 35
{ 0.5, 32.5, 15, 15 }, //
{ 16.5, 32.5, 15, 15 }, //
{ 0.5, 48.5, 15, 15 }, //
{ 80.5, 16.5, 15, 15 }, //
// 36
{ 64.5, 32.5, 15, 15 }, //
{ 80.5, 32.5, 15, 15 }, //
{ 64.5, 48.5, 15, 15 }, //
{ 80.5, 48.5, 15, 15 }, //
// 37
{ 64.5, 32.5, 15, 15 }, //
{ 80.5, 32.5, 15, 15 }, //
{ 64.5, 16.5, 15, 15 }, //
{ 80.5, 48.5, 15, 15 }, //
// 38
{ 64.5, 96.5, 15, 15 }, //
{ 80.5, 96.5, 15, 15 }, //
{ 64.5, 112.5, 15, 15 }, //
{ 80.5, 112.5, 15, 15 }, //
// 39
{ 64.5, 0.5, 15, 15 }, //
{ 80.5, 96.5, 15, 15 }, //
{ 64.5, 112.5, 15, 15 }, //
{ 80.5, 112.5, 15, 15 }, //
// 40
{ 0.5, 96.5, 15, 15 }, //
{ 16.5, 96.5, 15, 15 }, //
{ 0.5, 112.5, 15, 15 }, //
{ 16.5, 112.5, 15, 15 }, //
// 41
{ 0.5, 96.5, 15, 15 }, //
{ 80.5, 0.5, 15, 15 }, //
{ 0.5, 112.5, 15, 15 }, //
{ 16.5, 112.5, 15, 15 }, //
// 42
{ 0.5, 32.5, 15, 15 }, //
{ 80.5, 32.5, 15, 15 }, //
{ 0.5, 48.5, 15, 15 }, //
{ 80.5, 48.5, 15, 15 }, //
// 43
{ 0.5, 32.5, 15, 15 }, //
{ 16.5, 32.5, 15, 15 }, //
{ 0.5, 112.5, 15, 15 }, //
{ 16.5, 112.5, 15, 15 }, //
// 44
{ 0.5, 96.5, 15, 15 }, //
{ 80.5, 96.5, 15, 15 }, //
{ 0.5, 112.5, 15, 15 }, //
{ 80.5, 112.5, 15, 15 }, //
// 45
{ 64.5, 32.5, 15, 15 }, //
{ 80.5, 32.5, 15, 15 }, //
{ 64.5, 112.5, 15, 15 }, //
{ 80.5, 112.5, 15, 15 }, //
// 46
{ 0.5, 32.5, 15, 15 }, //
{ 80.5, 32.5, 15, 15 }, //
{ 0.5, 112.5, 15, 15 }, //
{ 80.5, 112.5, 15, 15 }, //
// 47
{ 0.5, 0.5, 15, 15 }, //
{ 16.5, 0.5, 15, 15 }, //
{ 0.5, 16.5, 15, 15 }, //
{ 16.5, 16.5, 15, 15 } //
};
extern const int autotileRectsN = sizeof(autotileRects) / sizeof(autotileRects[0]);