mkxp-sunshine/src/autotiles.cpp
2026-06-14 08:54:23 +03:00

269 lines
7.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

struct StaticRect { float x, y, w, h; };
extern const StaticRect autotileRects[] = {
// 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 }, // #CC#
{ 64.5, 16.5, 15, 15 }, // #CC#
{ 80.5, 16.5, 15, 15 }, // -##-
// 14
{ 32.5, 64.5, 15, 15 }, // ###-
{ 80.5, 0.5, 15, 15 }, // #CC#
{ 64.5, 16.5, 15, 15 }, // #CC#
{ 80.5, 16.5, 15, 15 }, // -##-
// 15
{ 64.5, 0.5, 15, 15 }, // -##-
{ 80.5, 0.5, 15, 15 }, // #CC#
{ 64.5, 16.5, 15, 15 }, // #CC#
{ 80.5, 16.5, 15, 15 }, // -##-
// 16
{ 0.5, 64.5, 15, 15 }, // -###
{ 16.5, 64.5, 15, 15 }, // -C#C
{ 0.5, 80.5, 15, 15 }, // -C#C
{ 16.5, 80.5, 15, 15 }, // -###
// 17
{ 0.5, 64.5, 15, 15 }, // -##-
{ 80.5, 0.5, 15, 15 }, // -CC#
{ 0.5, 80.5, 15, 15 }, // -C#C
{ 16.5, 80.5, 15, 15 }, // -###
// 18
{ 0.5, 64.5, 15, 15 }, // -###
{ 16.5, 64.5, 15, 15 }, // -C#C
{ 0.5, 80.5, 15, 15 }, // -CC#
{ 80.5, 16.5, 15, 15 }, // -##-
// 19
{ 0.5, 64.5, 15, 15 }, // -##-
{ 80.5, 0.5, 15, 15 }, // -CC#
{ 0.5, 80.5, 15, 15 }, // -CC#
{ 80.5, 16.5, 15, 15 }, // -##-
// 20
{ 32.5, 32.5, 15, 15 }, // ----
{ 48.5, 32.5, 15, 15 }, // #CC#
{ 32.5, 48.5, 15, 15 }, // ####
{ 48.5, 48.5, 15, 15 }, // #CC#
// 21
{ 32.5, 32.5, 15, 15 }, // ----
{ 48.5, 32.5, 15, 15 }, // #CC#
{ 32.5, 48.5, 15, 15 }, // ##C#
{ 80.5, 16.5, 15, 15 }, // #C#-
// 22
{ 32.5, 32.5, 15, 15 }, // ----
{ 48.5, 32.5, 15, 15 }, // #CC#
{ 64.5, 16.5, 15, 15 }, // #C##
{ 48.5, 48.5, 15, 15 }, // -#C#
// 23
{ 32.5, 32.5, 15, 15 }, // ----
{ 48.5, 32.5, 15, 15 }, // #CC#
{ 64.5, 16.5, 15, 15 }, // #CC#
{ 80.5, 16.5, 15, 15 }, // -##-
// 24
{ 64.5, 64.5, 15, 15 }, // ###-
{ 80.5, 64.5, 15, 15 }, // C#C-
{ 64.5, 80.5, 15, 15 }, // C#C-
{ 80.5, 80.5, 15, 15 }, // ###-
// 25
{ 64.5, 64.5, 15, 15 }, // ###-
{ 80.5, 64.5, 15, 15 }, // C#C-
{ 64.5, 16.5, 15, 15 }, // #CC-
{ 80.5, 80.5, 15, 15 }, // -##-
// 26
{ 64.5, 0.5, 15, 15 }, // -##-
{ 80.5, 64.5, 15, 15 }, // #CC-
{ 64.5, 80.5, 15, 15 }, // C#C-
{ 80.5, 80.5, 15, 15 }, // ###-
// 27
{ 64.5, 0.5, 15, 15 }, // -##-
{ 80.5, 64.5, 15, 15 }, // #CC-
{ 64.5, 16.5, 15, 15 }, // #CC-
{ 80.5, 80.5, 15, 15 }, // -##-
// 28
{ 32.5, 96.5, 15, 15 }, // #CC#
{ 48.5, 96.5, 15, 15 }, // ####
{ 32.5, 112.5, 15, 15 }, // #CC#
{ 48.5, 112.5, 15, 15 }, // ----
// 29
{ 64.5, 0.5, 15, 15 }, // -#C#
{ 48.5, 96.5, 15, 15 }, // #C##
{ 32.5, 112.5, 15, 15 }, // #CC#
{ 48.5, 112.5, 15, 15 }, // ----
// 30
{ 32.5, 96.5, 15, 15 }, // #C#-
{ 80.5, 0.5, 15, 15 }, // ##C#
{ 32.5, 112.5, 15, 15 }, // #CC#
{ 48.5, 112.5, 15, 15 }, // ----
// 31
{ 64.5, 0.5, 15, 15 }, // -##-
{ 80.5, 0.5, 15, 15 }, // #CC#
{ 32.5, 112.5, 15, 15 }, // #CC#
{ 48.5, 112.5, 15, 15 }, // ----
// 32
{ 0.5, 64.5, 15, 15 }, // -##-
{ 80.5, 64.5, 15, 15 }, // -CC-
{ 0.5, 80.5, 15, 15 }, // -CC-
{ 80.5, 80.5, 15, 15 }, // -##-
// 33
{ 32.5, 32.5, 15, 15 }, // ----
{ 48.5, 32.5, 15, 15 }, // #CC#
{ 32.5, 112.5, 15, 15 }, // #CC#
{ 48.5, 112.5, 15, 15 }, // ----
// 34
{ 0.5, 32.5, 15, 15 }, // ----
{ 16.5, 32.5, 15, 15 }, // -C#C
{ 0.5, 48.5, 15, 15 }, // -###
{ 16.5, 48.5, 15, 15 }, // -C#C
// 35
{ 0.5, 32.5, 15, 15 }, // ----
{ 16.5, 32.5, 15, 15 }, // -C#C
{ 0.5, 48.5, 15, 15 }, // -#C#
{ 80.5, 16.5, 15, 15 }, // -C#-
// 36
{ 64.5, 32.5, 15, 15 }, // ----
{ 80.5, 32.5, 15, 15 }, // C#C-
{ 64.5, 48.5, 15, 15 }, // ###-
{ 80.5, 48.5, 15, 15 }, // C#C-
// 37
{ 64.5, 32.5, 15, 15 }, // ----
{ 80.5, 32.5, 15, 15 }, // C#C-
{ 64.5, 16.5, 15, 15 }, // #C#-
{ 80.5, 48.5, 15, 15 }, // -#C-
// 38
{ 64.5, 96.5, 15, 15 }, // C#C-
{ 80.5, 96.5, 15, 15 }, // ###-
{ 64.5, 112.5, 15, 15 }, // C#C-
{ 80.5, 112.5, 15, 15 }, // ----
// 39
{ 64.5, 0.5, 15, 15 }, // -#C-
{ 80.5, 96.5, 15, 15 }, // #C#-
{ 64.5, 112.5, 15, 15 }, // C#C-
{ 80.5, 112.5, 15, 15 }, // ----
// 40
{ 0.5, 96.5, 15, 15 }, // -C#C
{ 16.5, 96.5, 15, 15 }, // -###
{ 0.5, 112.5, 15, 15 }, // -C#C
{ 16.5, 112.5, 15, 15 }, // ----
// 41
{ 0.5, 96.5, 15, 15 }, // -C#-
{ 80.5, 0.5, 15, 15 }, // -#C#
{ 0.5, 112.5, 15, 15 }, // -C#C
{ 16.5, 112.5, 15, 15 }, // ----
// 42
{ 0.5, 32.5, 15, 15 }, // ----
{ 80.5, 32.5, 15, 15 }, // -CC-
{ 0.5, 48.5, 15, 15 }, // -##-
{ 80.5, 48.5, 15, 15 }, // -CC-
// 43
{ 0.5, 32.5, 15, 15 }, // ----
{ 16.5, 32.5, 15, 15 }, // -C#C
{ 0.5, 112.5, 15, 15 }, // -C#C
{ 16.5, 112.5, 15, 15 }, // ----
// 44
{ 0.5, 96.5, 15, 15 }, // -CC-
{ 80.5, 96.5, 15, 15 }, // -##-
{ 0.5, 112.5, 15, 15 }, // -CC-
{ 80.5, 112.5, 15, 15 }, // ----
// 45
{ 64.5, 32.5, 15, 15 }, // ----
{ 80.5, 32.5, 15, 15 }, // C#C-
{ 64.5, 112.5, 15, 15 }, // C#C-
{ 80.5, 112.5, 15, 15 }, // ----
// 46
{ 0.5, 32.5, 15, 15 }, // ----
{ 80.5, 32.5, 15, 15 }, // -CC-
{ 0.5, 112.5, 15, 15 }, // -CC-
{ 80.5, 112.5, 15, 15 }, // ----
// 47
{ 0.5, 0.5, 15, 15 }, // UUUU
{ 16.5, 0.5, 15, 15 }, // UCCU
{ 0.5, 16.5, 15, 15 }, // UCCU
{ 16.5, 16.5, 15, 15 } // UUUU
};
extern const int autotileRectsN = sizeof(autotileRects) / sizeof(autotileRects[0]);