From f3bdc08f2cbeccc31e2b293a944ef14f08457ae8 Mon Sep 17 00:00:00 2001 From: Alexander Klingenbeck Date: Tue, 13 Jun 2023 23:03:38 +0200 Subject: [PATCH] work on dungeon demo --- bindings/src/index.ts | 16 +- bindings/src/raylib-header.ts | 10 +- examples/lib.raylib.d.ts | 2 + examples/models/models_cubicmap.js | 8 +- examples/models/models_first_person_maze.js | 6 +- examples/shaders/shaders_basic_lighting.js | 6 +- examples/shaders/shaders_basic_lighting2.js | 6 +- examples/ts_dungeon/.gitignore | 3 + examples/ts_dungeon/package-lock.json | 1721 +++++++++++++++++ examples/ts_dungeon/package.json | 25 + .../retro-texture-pack-v9/changelog.txt | 69 + .../retro-texture-pack-v9/license.txt | 20 + .../retro-texture-pack-v9/png/BRICK_1A.png | Bin 0 -> 3786 bytes .../retro-texture-pack-v9/png/BRICK_1B.png | Bin 0 -> 4059 bytes .../retro-texture-pack-v9/png/BRICK_2A.png | Bin 0 -> 3831 bytes .../retro-texture-pack-v9/png/BRICK_2B.png | Bin 0 -> 4100 bytes .../retro-texture-pack-v9/png/BRICK_3A.png | Bin 0 -> 3321 bytes .../retro-texture-pack-v9/png/BRICK_3B.png | Bin 0 -> 3582 bytes .../retro-texture-pack-v9/png/BRICK_3C.png | Bin 0 -> 4246 bytes .../retro-texture-pack-v9/png/BRICK_3D.png | Bin 0 -> 6355 bytes .../retro-texture-pack-v9/png/BRICK_3E.png | Bin 0 -> 6790 bytes .../retro-texture-pack-v9/png/BRICK_4A.png | Bin 0 -> 3522 bytes .../retro-texture-pack-v9/png/BRICK_4B.png | Bin 0 -> 3749 bytes .../retro-texture-pack-v9/png/BRICK_4C.png | Bin 0 -> 4245 bytes .../retro-texture-pack-v9/png/BRICK_4D.png | Bin 0 -> 6312 bytes .../retro-texture-pack-v9/png/BRICK_4E.png | Bin 0 -> 6598 bytes .../retro-texture-pack-v9/png/CONCRETE_1A.png | Bin 0 -> 1933 bytes .../retro-texture-pack-v9/png/CONCRETE_1B.png | Bin 0 -> 3207 bytes .../retro-texture-pack-v9/png/CONCRETE_2A.png | Bin 0 -> 1980 bytes .../retro-texture-pack-v9/png/CONCRETE_2B.png | Bin 0 -> 3600 bytes .../retro-texture-pack-v9/png/CONCRETE_2C.png | Bin 0 -> 2027 bytes .../retro-texture-pack-v9/png/CONCRETE_3A.png | Bin 0 -> 2191 bytes .../retro-texture-pack-v9/png/CONCRETE_3B.png | Bin 0 -> 3689 bytes .../retro-texture-pack-v9/png/CONCRETE_3C.png | Bin 0 -> 2175 bytes .../retro-texture-pack-v9/png/CONSOLE_1A.png | Bin 0 -> 1751 bytes .../retro-texture-pack-v9/png/CONSOLE_1B.png | Bin 0 -> 1943 bytes .../retro-texture-pack-v9/png/CONSOLE_1C.png | Bin 0 -> 2298 bytes .../retro-texture-pack-v9/png/CONSOLE_1D.png | Bin 0 -> 2013 bytes .../retro-texture-pack-v9/png/CRATE_1A.png | Bin 0 -> 1039 bytes .../retro-texture-pack-v9/png/CRATE_1B.png | Bin 0 -> 1733 bytes .../retro-texture-pack-v9/png/CRATE_1C.png | Bin 0 -> 1236 bytes .../retro-texture-pack-v9/png/CRATE_1D.png | Bin 0 -> 1154 bytes .../retro-texture-pack-v9/png/CRATE_1E.png | Bin 0 -> 1482 bytes .../retro-texture-pack-v9/png/CRATE_1F.png | Bin 0 -> 905 bytes .../retro-texture-pack-v9/png/CRATE_1G.png | Bin 0 -> 874 bytes .../retro-texture-pack-v9/png/CRATE_1H.png | Bin 0 -> 928 bytes .../retro-texture-pack-v9/png/CRATE_1I.png | Bin 0 -> 1622 bytes .../retro-texture-pack-v9/png/CRATE_1J.png | Bin 0 -> 1127 bytes .../retro-texture-pack-v9/png/CRATE_1K.png | Bin 0 -> 1022 bytes .../retro-texture-pack-v9/png/CRATE_1L.png | Bin 0 -> 778 bytes .../retro-texture-pack-v9/png/CRATE_1M.png | Bin 0 -> 1295 bytes .../retro-texture-pack-v9/png/CRATE_1N.png | Bin 0 -> 1170 bytes .../retro-texture-pack-v9/png/CRATE_2A.png | Bin 0 -> 1201 bytes .../retro-texture-pack-v9/png/CRATE_2B.png | Bin 0 -> 1737 bytes .../retro-texture-pack-v9/png/CRATE_2C.png | Bin 0 -> 1460 bytes .../retro-texture-pack-v9/png/CRATE_2D.png | Bin 0 -> 1430 bytes .../retro-texture-pack-v9/png/CRATE_2E.png | Bin 0 -> 1482 bytes .../retro-texture-pack-v9/png/CRATE_2F.png | Bin 0 -> 892 bytes .../retro-texture-pack-v9/png/CRATE_2G.png | Bin 0 -> 913 bytes .../retro-texture-pack-v9/png/CRATE_2H.png | Bin 0 -> 1090 bytes .../retro-texture-pack-v9/png/CRATE_2I.png | Bin 0 -> 1641 bytes .../retro-texture-pack-v9/png/CRATE_2J.png | Bin 0 -> 1353 bytes .../retro-texture-pack-v9/png/CRATE_2K.png | Bin 0 -> 1290 bytes .../retro-texture-pack-v9/png/CRATE_2L.png | Bin 0 -> 767 bytes .../retro-texture-pack-v9/png/CRATE_2M.png | Bin 0 -> 1302 bytes .../retro-texture-pack-v9/png/CRATE_2N.png | Bin 0 -> 1198 bytes .../retro-texture-pack-v9/png/DIRT_1A.png | Bin 0 -> 1745 bytes .../retro-texture-pack-v9/png/DIRT_1B.png | Bin 0 -> 4305 bytes .../retro-texture-pack-v9/png/DIRT_1C.png | Bin 0 -> 4728 bytes .../retro-texture-pack-v9/png/DOORTRIM_1A.png | Bin 0 -> 1353 bytes .../retro-texture-pack-v9/png/DOORTRIM_1B.png | Bin 0 -> 1394 bytes .../retro-texture-pack-v9/png/DOORTRIM_1C.png | Bin 0 -> 1355 bytes .../retro-texture-pack-v9/png/DOOR_1A.png | Bin 0 -> 1641 bytes .../retro-texture-pack-v9/png/DOOR_1B.png | Bin 0 -> 2062 bytes .../retro-texture-pack-v9/png/DOOR_1C.png | Bin 0 -> 1766 bytes .../retro-texture-pack-v9/png/DOOR_1D.png | Bin 0 -> 2207 bytes .../retro-texture-pack-v9/png/DOOR_1E.png | Bin 0 -> 1784 bytes .../retro-texture-pack-v9/png/DOOR_1F.png | Bin 0 -> 2232 bytes .../retro-texture-pack-v9/png/DOOR_2A.png | Bin 0 -> 1477 bytes .../retro-texture-pack-v9/png/DOOR_2B.png | Bin 0 -> 1922 bytes .../retro-texture-pack-v9/png/DOOR_2C.png | Bin 0 -> 1542 bytes .../retro-texture-pack-v9/png/DOOR_2D.png | Bin 0 -> 1974 bytes .../retro-texture-pack-v9/png/DOOR_2E.png | Bin 0 -> 1533 bytes .../retro-texture-pack-v9/png/DOOR_2F.png | Bin 0 -> 1975 bytes .../retro-texture-pack-v9/png/DOOR_3A.png | Bin 0 -> 1613 bytes .../retro-texture-pack-v9/png/DOOR_3B.png | Bin 0 -> 2008 bytes .../retro-texture-pack-v9/png/DOOR_4A.png | Bin 0 -> 1378 bytes .../retro-texture-pack-v9/png/DOOR_4B.png | Bin 0 -> 1716 bytes .../retro-texture-pack-v9/png/FENCE_1A.png | Bin 0 -> 671 bytes .../retro-texture-pack-v9/png/FENCE_1B.png | Bin 0 -> 1455 bytes .../retro-texture-pack-v9/png/FLOOR_1A.png | Bin 0 -> 1691 bytes .../retro-texture-pack-v9/png/FLOOR_1B.png | Bin 0 -> 2694 bytes .../retro-texture-pack-v9/png/FLOOR_1C.png | Bin 0 -> 1939 bytes .../retro-texture-pack-v9/png/FLOOR_1D.png | Bin 0 -> 1680 bytes .../retro-texture-pack-v9/png/FLOOR_2A.png | Bin 0 -> 1861 bytes .../retro-texture-pack-v9/png/FLOOR_2B.png | Bin 0 -> 2976 bytes .../retro-texture-pack-v9/png/FLOOR_2C.png | Bin 0 -> 1888 bytes .../retro-texture-pack-v9/png/FLOOR_2D.png | Bin 0 -> 1850 bytes .../retro-texture-pack-v9/png/FLOOR_2E.png | Bin 0 -> 1764 bytes .../retro-texture-pack-v9/png/FLOOR_2F.png | Bin 0 -> 2285 bytes .../retro-texture-pack-v9/png/FLOOR_2G.png | Bin 0 -> 3102 bytes .../retro-texture-pack-v9/png/FLOOR_3A.png | Bin 0 -> 1700 bytes .../retro-texture-pack-v9/png/FLOOR_3B.png | Bin 0 -> 2165 bytes .../retro-texture-pack-v9/png/FLOOR_3C.png | Bin 0 -> 2921 bytes .../retro-texture-pack-v9/png/GRASS_1A.png | Bin 0 -> 3223 bytes .../retro-texture-pack-v9/png/GRID_1A.png | Bin 0 -> 1685 bytes .../retro-texture-pack-v9/png/GRID_1B.png | Bin 0 -> 1671 bytes .../retro-texture-pack-v9/png/GRID_1C.png | Bin 0 -> 1605 bytes .../retro-texture-pack-v9/png/GRID_2A.png | Bin 0 -> 1637 bytes .../retro-texture-pack-v9/png/GRID_2B.png | Bin 0 -> 1608 bytes .../retro-texture-pack-v9/png/GRID_2C.png | Bin 0 -> 1702 bytes .../retro-texture-pack-v9/png/HEDGE_1A.png | Bin 0 -> 3872 bytes .../retro-texture-pack-v9/png/HEDGE_1B.png | Bin 0 -> 5050 bytes .../retro-texture-pack-v9/png/HEDGE_1C.png | Bin 0 -> 2457 bytes .../retro-texture-pack-v9/png/HEDGE_2A.png | Bin 0 -> 4540 bytes .../retro-texture-pack-v9/png/LAB_1A.png | Bin 0 -> 744 bytes .../retro-texture-pack-v9/png/LAB_1B.png | Bin 0 -> 1243 bytes .../retro-texture-pack-v9/png/LAB_1C.png | Bin 0 -> 993 bytes .../retro-texture-pack-v9/png/LAB_2A.png | Bin 0 -> 1003 bytes .../retro-texture-pack-v9/png/LAB_2B.png | Bin 0 -> 1532 bytes .../retro-texture-pack-v9/png/LAB_2C.png | Bin 0 -> 1179 bytes .../retro-texture-pack-v9/png/LAB_3A.png | Bin 0 -> 1801 bytes .../retro-texture-pack-v9/png/LAB_3B.png | Bin 0 -> 1899 bytes .../retro-texture-pack-v9/png/LAB_4A.png | Bin 0 -> 1436 bytes .../retro-texture-pack-v9/png/LAB_4B.png | Bin 0 -> 1712 bytes .../retro-texture-pack-v9/png/LAB_5A.png | Bin 0 -> 1318 bytes .../retro-texture-pack-v9/png/LAB_5B.png | Bin 0 -> 1484 bytes .../retro-texture-pack-v9/png/LEDGE_1A.png | Bin 0 -> 1617 bytes .../retro-texture-pack-v9/png/LIGHT_1A.png | Bin 0 -> 1375 bytes .../retro-texture-pack-v9/png/LIGHT_1B.png | Bin 0 -> 1263 bytes .../retro-texture-pack-v9/png/LIGHT_1C.png | Bin 0 -> 1338 bytes .../retro-texture-pack-v9/png/LIGHT_2A.png | Bin 0 -> 1347 bytes .../retro-texture-pack-v9/png/LIGHT_2B.png | Bin 0 -> 1417 bytes .../retro-texture-pack-v9/png/PIPES_1A.png | Bin 0 -> 1143 bytes .../retro-texture-pack-v9/png/PIPES_1B.png | Bin 0 -> 700 bytes .../retro-texture-pack-v9/png/PIPES_2A.png | Bin 0 -> 2617 bytes .../retro-texture-pack-v9/png/RIVET_1A.png | Bin 0 -> 1709 bytes .../retro-texture-pack-v9/png/RIVET_1B.png | Bin 0 -> 1673 bytes .../retro-texture-pack-v9/png/RIVET_1C.png | Bin 0 -> 2333 bytes .../retro-texture-pack-v9/png/RIVET_2A.png | Bin 0 -> 1711 bytes .../retro-texture-pack-v9/png/RIVET_2B.png | Bin 0 -> 1675 bytes .../retro-texture-pack-v9/png/RIVET_2C.png | Bin 0 -> 2261 bytes .../retro-texture-pack-v9/png/RIVET_3A.png | Bin 0 -> 1665 bytes .../retro-texture-pack-v9/png/RIVET_3B.png | Bin 0 -> 1684 bytes .../retro-texture-pack-v9/png/SAND_1A.png | Bin 0 -> 3475 bytes .../retro-texture-pack-v9/png/SAND_1B.png | Bin 0 -> 4148 bytes .../retro-texture-pack-v9/png/SAND_1C.png | Bin 0 -> 3970 bytes .../retro-texture-pack-v9/png/SLIME_1A.png | Bin 0 -> 3212 bytes .../retro-texture-pack-v9/png/SLIME_1B.png | Bin 0 -> 2903 bytes .../retro-texture-pack-v9/png/STEEL_1A.png | Bin 0 -> 1711 bytes .../retro-texture-pack-v9/png/STEEL_1B.png | Bin 0 -> 2642 bytes .../retro-texture-pack-v9/png/STEEL_2A.png | Bin 0 -> 1700 bytes .../retro-texture-pack-v9/png/STEEL_2B.png | Bin 0 -> 2499 bytes .../retro-texture-pack-v9/png/STEEL_3A.png | Bin 0 -> 1621 bytes .../retro-texture-pack-v9/png/STEP_1A.png | Bin 0 -> 1088 bytes .../retro-texture-pack-v9/png/STEP_2A.png | Bin 0 -> 1066 bytes .../retro-texture-pack-v9/png/STUCCO_1A.png | Bin 0 -> 1911 bytes .../retro-texture-pack-v9/png/STUCCO_1B.png | Bin 0 -> 4030 bytes .../retro-texture-pack-v9/png/STUCCO_1C.png | Bin 0 -> 4501 bytes .../retro-texture-pack-v9/png/STUCCO_1D.png | Bin 0 -> 4522 bytes .../retro-texture-pack-v9/png/STUCCO_2A.png | Bin 0 -> 3518 bytes .../retro-texture-pack-v9/png/STUCCO_2B.png | Bin 0 -> 1992 bytes .../retro-texture-pack-v9/png/SUPPORT_1A.png | Bin 0 -> 682 bytes .../retro-texture-pack-v9/png/SUPPORT_1B.png | Bin 0 -> 1158 bytes .../retro-texture-pack-v9/png/SUPPORT_1C.png | Bin 0 -> 871 bytes .../retro-texture-pack-v9/png/SUPPORT_1D.png | Bin 0 -> 1217 bytes .../retro-texture-pack-v9/png/SUPPORT_2A.png | Bin 0 -> 921 bytes .../retro-texture-pack-v9/png/SUPPORT_2B.png | Bin 0 -> 1048 bytes .../retro-texture-pack-v9/png/SUPPORT_2C.png | Bin 0 -> 1118 bytes .../retro-texture-pack-v9/png/SUPPORT_2D.png | Bin 0 -> 1200 bytes .../retro-texture-pack-v9/png/SUPPORT_3A.png | Bin 0 -> 980 bytes .../retro-texture-pack-v9/png/SUPPORT_3B.png | Bin 0 -> 1174 bytes .../retro-texture-pack-v9/png/SUPPORT_3C.png | Bin 0 -> 1290 bytes .../retro-texture-pack-v9/png/SUPPORT_3D.png | Bin 0 -> 1339 bytes .../retro-texture-pack-v9/png/SUPPORT_4A.png | Bin 0 -> 1008 bytes .../retro-texture-pack-v9/png/SUPPORT_4B.png | Bin 0 -> 1203 bytes .../retro-texture-pack-v9/png/SUPPORT_4C.png | Bin 0 -> 1299 bytes .../retro-texture-pack-v9/png/SUPPORT_4D.png | Bin 0 -> 1344 bytes .../retro-texture-pack-v9/png/SUPPORT_5A.png | Bin 0 -> 928 bytes .../retro-texture-pack-v9/png/SUPPORT_5B.png | Bin 0 -> 1218 bytes .../retro-texture-pack-v9/png/SUPPORT_5C.png | Bin 0 -> 1389 bytes .../retro-texture-pack-v9/png/SUPPORT_5D.png | Bin 0 -> 655 bytes .../retro-texture-pack-v9/png/SUPPORT_6A.png | Bin 0 -> 833 bytes .../retro-texture-pack-v9/png/SUPPORT_6B.png | Bin 0 -> 978 bytes .../retro-texture-pack-v9/png/SUPPORT_6C.png | Bin 0 -> 1085 bytes .../retro-texture-pack-v9/png/SUPPORT_6D.png | Bin 0 -> 1183 bytes .../retro-texture-pack-v9/png/SUPPORT_7A.png | Bin 0 -> 1118 bytes .../retro-texture-pack-v9/png/SUPPORT_7B.png | Bin 0 -> 1309 bytes .../retro-texture-pack-v9/png/SUPPORT_7C.png | Bin 0 -> 1340 bytes .../retro-texture-pack-v9/png/SUPPORT_7D.png | Bin 0 -> 1327 bytes .../retro-texture-pack-v9/png/TECH_0A.png | Bin 0 -> 812 bytes .../retro-texture-pack-v9/png/TECH_0B.png | Bin 0 -> 1055 bytes .../retro-texture-pack-v9/png/TECH_0C.png | Bin 0 -> 1043 bytes .../retro-texture-pack-v9/png/TECH_0D.png | Bin 0 -> 961 bytes .../retro-texture-pack-v9/png/TECH_0E.png | Bin 0 -> 836 bytes .../retro-texture-pack-v9/png/TECH_0F.png | Bin 0 -> 1141 bytes .../retro-texture-pack-v9/png/TECH_0G.png | Bin 0 -> 983 bytes .../retro-texture-pack-v9/png/TECH_1A.png | Bin 0 -> 1037 bytes .../retro-texture-pack-v9/png/TECH_1B.png | Bin 0 -> 1264 bytes .../retro-texture-pack-v9/png/TECH_1C.png | Bin 0 -> 1646 bytes .../retro-texture-pack-v9/png/TECH_1D.png | Bin 0 -> 1205 bytes .../retro-texture-pack-v9/png/TECH_1E.png | Bin 0 -> 1635 bytes .../retro-texture-pack-v9/png/TECH_1F.png | Bin 0 -> 1064 bytes .../retro-texture-pack-v9/png/TECH_2A.png | Bin 0 -> 1178 bytes .../retro-texture-pack-v9/png/TECH_2B.png | Bin 0 -> 1199 bytes .../retro-texture-pack-v9/png/TECH_3A.png | Bin 0 -> 1250 bytes .../retro-texture-pack-v9/png/TECH_3B.png | Bin 0 -> 1562 bytes .../retro-texture-pack-v9/png/TECH_3C.png | Bin 0 -> 1766 bytes .../retro-texture-pack-v9/png/TECH_3D.png | Bin 0 -> 1900 bytes .../retro-texture-pack-v9/png/TECH_3E.png | Bin 0 -> 1766 bytes .../retro-texture-pack-v9/png/TECH_3F.png | Bin 0 -> 1290 bytes .../retro-texture-pack-v9/png/TECH_3G.png | Bin 0 -> 1680 bytes .../retro-texture-pack-v9/png/TECH_3H.png | Bin 0 -> 1711 bytes .../retro-texture-pack-v9/png/TECH_3I.png | Bin 0 -> 1630 bytes .../retro-texture-pack-v9/png/TECH_3J.png | Bin 0 -> 1624 bytes .../retro-texture-pack-v9/png/TECH_3K.png | Bin 0 -> 1641 bytes .../retro-texture-pack-v9/png/TECH_4A.png | Bin 0 -> 1418 bytes .../retro-texture-pack-v9/png/TECH_4B.png | Bin 0 -> 1766 bytes .../retro-texture-pack-v9/png/TECH_4C.png | Bin 0 -> 1552 bytes .../retro-texture-pack-v9/png/TECH_4D.png | Bin 0 -> 1915 bytes .../retro-texture-pack-v9/png/TECH_4E.png | Bin 0 -> 1554 bytes .../retro-texture-pack-v9/png/TECH_4F.png | Bin 0 -> 1891 bytes .../retro-texture-pack-v9/png/TECH_5A.png | Bin 0 -> 1587 bytes .../retro-texture-pack-v9/png/TECH_5B.png | Bin 0 -> 1497 bytes .../retro-texture-pack-v9/png/TILE_1A.png | Bin 0 -> 3072 bytes .../retro-texture-pack-v9/png/TILE_1B.png | Bin 0 -> 3490 bytes .../retro-texture-pack-v9/png/TILE_1C.png | Bin 0 -> 3404 bytes .../retro-texture-pack-v9/png/TILE_1D.png | Bin 0 -> 3650 bytes .../retro-texture-pack-v9/png/TILE_1E.png | Bin 0 -> 3254 bytes .../retro-texture-pack-v9/png/TILE_1F.png | Bin 0 -> 3676 bytes .../retro-texture-pack-v9/png/TILE_1G.png | Bin 0 -> 3719 bytes .../retro-texture-pack-v9/png/TILE_2A.png | Bin 0 -> 2982 bytes .../retro-texture-pack-v9/png/TILE_2B.png | Bin 0 -> 3431 bytes .../retro-texture-pack-v9/png/TILE_2C.png | Bin 0 -> 3364 bytes .../retro-texture-pack-v9/png/TILE_2D.png | Bin 0 -> 3617 bytes .../retro-texture-pack-v9/png/TILE_2E.png | Bin 0 -> 3187 bytes .../retro-texture-pack-v9/png/TILE_2F.png | Bin 0 -> 3528 bytes .../retro-texture-pack-v9/png/TILE_3A.png | Bin 0 -> 2932 bytes .../retro-texture-pack-v9/png/TILE_3B.png | Bin 0 -> 3372 bytes .../retro-texture-pack-v9/png/TILE_3C.png | Bin 0 -> 3266 bytes .../retro-texture-pack-v9/png/TILE_3D.png | Bin 0 -> 3467 bytes .../retro-texture-pack-v9/png/TILE_3E.png | Bin 0 -> 3108 bytes .../retro-texture-pack-v9/png/TILE_3F.png | Bin 0 -> 3510 bytes .../retro-texture-pack-v9/png/VENT_1A.png | Bin 0 -> 1106 bytes .../retro-texture-pack-v9/png/VENT_1B.png | Bin 0 -> 1614 bytes .../retro-texture-pack-v9/png/WARN_1.png | Bin 0 -> 1320 bytes .../retro-texture-pack-v9/png/WARN_2.png | Bin 0 -> 1322 bytes .../retro-texture-pack-v9/readme.txt | 29 + .../retro-texture-pack.png | Bin 0 -> 473097 bytes .../resources/shaders/glsl100/lighting.fs | 81 + .../resources/shaders/glsl100/lighting.vs | 59 + .../resources/shaders/glsl120/lighting.fs | 79 + .../resources/shaders/glsl120/lighting.vs | 59 + .../resources/shaders/glsl330/lighting.fs | 87 + .../resources/shaders/glsl330/lighting.vs | 32 + examples/ts_dungeon/src/index.ts | 219 +++ examples/ts_dungeon/src/promise-extensions.ts | 71 + examples/ts_dungeon/src/timing.ts | 67 + examples/ts_dungeon/tsconfig.json | 15 + examples/ts_dungeon/webpack.config.js | 26 + examples/ts_game/src/timing.ts | 16 + generate-bindings.js | 23 +- src/bindings/js_raylib_core.h | 20 +- src/quickjs.c | 5 + 264 files changed, 2752 insertions(+), 28 deletions(-) create mode 100644 examples/ts_dungeon/.gitignore create mode 100644 examples/ts_dungeon/package-lock.json create mode 100644 examples/ts_dungeon/package.json create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/changelog.txt create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/license.txt create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_3A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_3B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_3C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_3D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_3E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_4A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_4B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_4C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_4D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_4E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_2C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_3A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_3B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_3C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONSOLE_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONSOLE_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONSOLE_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONSOLE_1D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1G.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1H.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1I.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1J.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1K.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1L.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1M.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1N.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2G.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2H.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2I.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2J.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2K.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2L.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2M.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2N.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DIRT_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DIRT_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DIRT_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOORTRIM_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOORTRIM_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOORTRIM_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_3A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_3B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_4A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_4B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FENCE_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FENCE_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_1D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_2C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_2D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_2E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_2F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_2G.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_3A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_3B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_3C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRASS_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_2C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/HEDGE_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/HEDGE_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/HEDGE_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/HEDGE_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_2C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_3A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_3B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_4A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_4B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_5A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_5B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LEDGE_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/PIPES_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/PIPES_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/PIPES_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_2C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_3A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_3B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SAND_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SAND_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SAND_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SLIME_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SLIME_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEEL_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEEL_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEEL_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEEL_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEEL_3A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEP_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEP_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_1D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_1D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_2C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_2D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_3A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_3B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_3C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_3D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_4A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_4B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_4C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_4D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_5A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_5B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_5C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_5D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_6A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_6B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_6C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_6D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_7A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_7B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_7C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_7D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0G.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3G.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3H.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3I.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3J.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3K.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_5A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_5B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1G.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_3A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_3B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_3C.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_3D.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_3E.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_3F.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/VENT_1A.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/VENT_1B.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/WARN_1.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/png/WARN_2.png create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/readme.txt create mode 100644 examples/ts_dungeon/resources/retro-texture-pack-v9/retro-texture-pack.png create mode 100644 examples/ts_dungeon/resources/shaders/glsl100/lighting.fs create mode 100644 examples/ts_dungeon/resources/shaders/glsl100/lighting.vs create mode 100644 examples/ts_dungeon/resources/shaders/glsl120/lighting.fs create mode 100644 examples/ts_dungeon/resources/shaders/glsl120/lighting.vs create mode 100644 examples/ts_dungeon/resources/shaders/glsl330/lighting.fs create mode 100644 examples/ts_dungeon/resources/shaders/glsl330/lighting.vs create mode 100644 examples/ts_dungeon/src/index.ts create mode 100644 examples/ts_dungeon/src/promise-extensions.ts create mode 100644 examples/ts_dungeon/src/timing.ts create mode 100644 examples/ts_dungeon/tsconfig.json create mode 100644 examples/ts_dungeon/webpack.config.js diff --git a/bindings/src/index.ts b/bindings/src/index.ts index 441aae3..8c6779b 100644 --- a/bindings/src/index.ts +++ b/bindings/src/index.ts @@ -81,7 +81,13 @@ function main(){ returnType: "void", params: [{type: "Shader *",name:"shader"},{type:"int",name:"shaderConstant"},{type:"int",name:"location"}] }) - + api.functions.push({ + name: "ImageReadPixel", + description: "Read a single pixel from an image", + returnType: "Color", + params: [{type: "Image *",name:"image"},{type:"int",name:"x"},{type:"int",name:"y"}] + }) + // Define a new header const core = new RayLibHeader("raylib_core") core.includes.include("raymath.h") @@ -541,8 +547,8 @@ function main(){ ignore("Vector3ToFloatV") ignore("MatrixToFloatV") ignore("QuaternionToAxisAngle") - core.exportGlobalConstant("DEG2RAD", "(PI/180.0)") - core.exportGlobalConstant("RAD2DEG", "(180.0/PI)") + core.exportGlobalDouble("DEG2RAD", "(PI/180.0)") + core.exportGlobalDouble("RAD2DEG", "(180.0/PI)") const setOutParam = (fun: RayLibFunction, index: number) => { const param = fun!.params![index] @@ -632,8 +638,8 @@ function main(){ core.exportGlobalStruct("Color", x.name, x.values, x.description) }) api.enums.forEach(x => core.addEnum(x)) - core.exportGlobalConstant("MATERIAL_MAP_DIFFUSE", "Albedo material (same as: MATERIAL_MAP_DIFFUSE") - core.exportGlobalConstant("MATERIAL_MAP_SPECULAR", "Metalness material (same as: MATERIAL_MAP_SPECULAR)") + core.exportGlobalInt("MATERIAL_MAP_DIFFUSE", "Albedo material (same as: MATERIAL_MAP_DIFFUSE") + core.exportGlobalInt("MATERIAL_MAP_SPECULAR", "Metalness material (same as: MATERIAL_MAP_SPECULAR)") core.writeTo("src/bindings/js_raylib_core.h") core.typings.writeTo("examples/lib.raylib.d.ts") const ignored = api.functions.filter(x => x.binding?.ignore).length diff --git a/bindings/src/raylib-header.ts b/bindings/src/raylib-header.ts index 6ea9f49..f87b1c8 100644 --- a/bindings/src/raylib-header.ts +++ b/bindings/src/raylib-header.ts @@ -65,7 +65,7 @@ export class RayLibHeader extends QuickJsHeader { addEnum(renum: RayLibEnum){ console.log("Binding enum "+ renum.name) - renum.values.forEach(x => this.exportGlobalConstant(x.name, x.description)) + renum.values.forEach(x => this.exportGlobalInt(x.name, x.description)) } addApiStruct(struct: RayLibStruct){ @@ -118,9 +118,15 @@ export class RayLibHeader extends QuickJsHeader { this.typings.constants.tsDeclareConstant(exportName, structName, description) } - exportGlobalConstant(name: string, description: string){ + exportGlobalInt(name: string, description: string){ this.moduleInit.statement(`JS_SetModuleExport(ctx, m, "${name}", JS_NewInt32(ctx, ${name}))`) this.moduleEntry.statement(`JS_AddModuleExport(ctx, m, "${name}")`) this.typings.constants.tsDeclareConstant(name, "number", description) } + + exportGlobalDouble(name: string, description: string){ + this.moduleInit.statement(`JS_SetModuleExport(ctx, m, "${name}", JS_NewFloat64(ctx, ${name}))`) + this.moduleEntry.statement(`JS_AddModuleExport(ctx, m, "${name}")`) + this.typings.constants.tsDeclareConstant(name, "number", description) + } } \ No newline at end of file diff --git a/examples/lib.raylib.d.ts b/examples/lib.raylib.d.ts index 8eb5ed6..e6f72ec 100644 --- a/examples/lib.raylib.d.ts +++ b/examples/lib.raylib.d.ts @@ -1620,6 +1620,8 @@ declare function easeElasticIn(t: number, b: number, c: number, d: number): numb declare function setModelMaterial(model: Model, materialIndex: number, material: Material): void; /** Set shader constant in shader locations array */ declare function setShaderLocation(shader: Shader, shaderConstant: number, location: number): void; +/** Read a single pixel from an image */ +declare function imageReadPixel(image: Image, x: number, y: number): Color; /** (PI/180.0) */ declare var DEG2RAD: number; /** (180.0/PI) */ diff --git a/examples/models/models_cubicmap.js b/examples/models/models_cubicmap.js index e4aed51..7381b15 100644 --- a/examples/models/models_cubicmap.js +++ b/examples/models/models_cubicmap.js @@ -29,7 +29,7 @@ let image = loadImage("resources/cubicmap.png"); // Load cubicmap image (RA let cubicmap = loadTextureFromImage(image); // Convert image to texture to display (VRAM) const mesh = genMeshCubicmap(image, new Vector3(1.0, 1.0, 1.0)); -const model = loadModelFromMesh(mesh); +const floor = loadModelFromMesh(mesh); // NOTE: By default each cube is mapped to one part of texture atlas let texture = loadTexture("resources/cubicmap_atlas.png"); // Load map texture @@ -37,7 +37,7 @@ let texture = loadTexture("resources/cubicmap_atlas.png"); // Load map textur //model.materials[0].maps[MATERIAL_MAP_DIFFUSE].texture = texture; // Set map diffuse texture const mat = loadMaterialDefault() setMaterialTexture(mat, MATERIAL_MAP_DIFFUSE, texture) -setModelMaterial(model,0,mat) +setModelMaterial(floor,0,mat) const mapPosition = new Vector3(-16.0, 0.0, -8.0); // Set model position @@ -62,7 +62,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key beginMode3D(camera); - drawModel(model, mapPosition, 1.0, WHITE); + drawModel(floor, mapPosition, 1.0, WHITE); endMode3D(); @@ -82,7 +82,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key //-------------------------------------------------------------------------------------- unloadTexture(cubicmap); unloadTexture(texture); -unloadModel(model); +unloadModel(floor); closeWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/examples/models/models_first_person_maze.js b/examples/models/models_first_person_maze.js index 7942d00..34c8427 100644 --- a/examples/models/models_first_person_maze.js +++ b/examples/models/models_first_person_maze.js @@ -31,7 +31,7 @@ const texture = loadTexture("resources/cubicmap_atlas.png"); // Load map text //model.materials[0].maps[MATERIAL_MAP_DIFFUSE].texture = texture; // Set map diffuse texture const mat = loadMaterialDefault() setMaterialTexture(mat, MATERIAL_MAP_DIFFUSE, texture) -setModelMaterial(model,0,mat) +setModelMaterial(floor,0,mat) // Get map image data to be used for collision detection const mapPixels = new Uint8Array(loadImageColors(imMap)); @@ -93,7 +93,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key clearBackground(RAYWHITE); beginMode3D(camera); - drawModel(model, mapPosition, 1.0, WHITE); // Draw maze map + drawModel(floor, mapPosition, 1.0, WHITE); // Draw maze map endMode3D(); drawTextureEx(cubicmap, new Vector2(getScreenWidth() - cubicmap.width*4.0 - 20, 20.0), 0.0, 4.0, WHITE); @@ -112,7 +112,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key //-------------------------------------------------------------------------------------- unloadTexture(cubicmap); // Unload cubicmap texture unloadTexture(texture); // Unload map texture -unloadModel(model); // Unload map model +unloadModel(floor); // Unload map model closeWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/examples/shaders/shaders_basic_lighting.js b/examples/shaders/shaders_basic_lighting.js index 00b5f12..def3445 100644 --- a/examples/shaders/shaders_basic_lighting.js +++ b/examples/shaders/shaders_basic_lighting.js @@ -56,7 +56,7 @@ setShaderValue(shader, ambientLoc, new Vector4(0.1, 0.1, 0.1, 1.0), SHADER_UNIFO // Assign out lighting shader to model const matModel = loadMaterialDefault() matModel.shader = shader -setModelMaterial(model, 0, matModel) +setModelMaterial(floor, 0, matModel) const matCube = loadMaterialDefault() matCube.shader = shader setModelMaterial(cube, 0, matCube) @@ -99,7 +99,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key clearBackground(RAYWHITE); beginMode3D(camera); - drawModel(model, vector3Zero(), 1.0, WHITE); + drawModel(floor, vector3Zero(), 1.0, WHITE); drawModel(cube, vector3Zero(), 1.0, WHITE); // Draw spheres to show where the lights are @@ -123,7 +123,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key // De-Initialization //-------------------------------------------------------------------------------------- -unloadModel(model); // Unload the model +unloadModel(floor); // Unload the model unloadModel(cube); // Unload the model unloadShader(shader); // Unload shader diff --git a/examples/shaders/shaders_basic_lighting2.js b/examples/shaders/shaders_basic_lighting2.js index b852cb0..1ded493 100644 --- a/examples/shaders/shaders_basic_lighting2.js +++ b/examples/shaders/shaders_basic_lighting2.js @@ -68,7 +68,7 @@ setShaderValue(shader, ambientLoc, new Vector4(0.1, 0.1, 0.1, 1.0), SHADER_UNIFO // Assign out lighting shader to model const matModel = loadMaterialDefault() matModel.shader = shader -setModelMaterial(model, 0, matModel) +setModelMaterial(floor, 0, matModel) setMaterialTexture(matModel, MATERIAL_MAP_DIFFUSE, texture) const matCube = loadMaterialDefault() matCube.shader = shader @@ -107,7 +107,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key clearBackground(RAYWHITE); beginMode3D(camera); - drawModel(model, vector3Zero(), 1.0, WHITE); + drawModel(floor, vector3Zero(), 1.0, WHITE); drawModel(cube, new Vector3(0,1,0), 1.0, WHITE); if (light.enabled) drawSphereEx(light.position, 0.2, 8, 8, light.color); @@ -128,7 +128,7 @@ while (!windowShouldClose()) // Detect window close button or ESC key // De-Initialization //-------------------------------------------------------------------------------------- -unloadModel(model); // Unload the model +unloadModel(floor); // Unload the model unloadModel(cube); // Unload the model unloadShader(shader); // Unload shader diff --git a/examples/ts_dungeon/.gitignore b/examples/ts_dungeon/.gitignore new file mode 100644 index 0000000..bdc9544 --- /dev/null +++ b/examples/ts_dungeon/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +main.js +editor.js \ No newline at end of file diff --git a/examples/ts_dungeon/package-lock.json b/examples/ts_dungeon/package-lock.json new file mode 100644 index 0000000..34b0e25 --- /dev/null +++ b/examples/ts_dungeon/package-lock.json @@ -0,0 +1,1721 @@ +{ + "name": "bindings", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "bindings", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "inkjs": "^2.2.1", + "reflect-metadata": "^0.1.13", + "rxjs": "^7.8.1" + }, + "devDependencies": { + "ts-loader": "^9.4.2", + "ts-node": "^10.9.1", + "typescript": "^5.0.4", + "webpack": "^5.82.0", + "webpack-cli": "^5.0.2" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@types/eslint": { + "version": "8.40.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.1.tgz", + "integrity": "sha512-vRb792M4mF1FBT+eoLecmkpLXwxsBHvWWRGJjzbYANBM6DtiJc6yETyv4rqDA6QNjF1pkj1U7LMA6dGb3VYlHw==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.0.tgz", + "integrity": "sha512-cumHmIAf6On83X7yP+LrsEyUOf/YlociZelmpRYaGFydoaPdxdt80MAbu6vWerQT2COCp2nPvHdsbD7tHn/YlQ==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", + "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001489", + "electron-to-chromium": "^1.4.411", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001502", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001502.tgz", + "integrity": "sha512-AZ+9tFXw1sS0o0jcpJQIXvFTOB/xGiQ4OQ2t98QX3NDn2EZTSRBC801gxrsGgViuq2ak/NLkNgSNEPtCr5lfKg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.427", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.427.tgz", + "integrity": "sha512-HK3r9l+Jm8dYAm1ctXEWIC+hV60zfcjS9UA5BDlYvnI5S7PU/yytjpvSrTNrSSRRkuu3tDyZhdkwIczh+0DWaw==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.14.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz", + "integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inkjs": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/inkjs/-/inkjs-2.2.1.tgz", + "integrity": "sha512-Y3M8GsM8J2iL2RT+rtK2e6uTMgP+glGc7V4iJQELhclxdR3rEVQd40x4yopOBkIjIBZ4gpHnFbKWfdZe6GhEMA==" + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/schema-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.2.0.tgz", + "integrity": "sha512-0zTyLGyDJYd/MBxG1AhJkKa6fpEBds4OQO2ut0w7OYG+ZGhGea09lijvzsqegYSik88zc7cUtIlnnO+/BvD6gQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.0.tgz", + "integrity": "sha512-pdL757Ig5a0I+owA42l6tIuEycRuM7FPY4n62h44mRLRfnOxJkkOHd6i89dOpwZlpF6JXBwaAHF6yWzFrt+QyA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/terser-webpack-plugin/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-loader": { + "version": "9.4.3", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", + "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" + }, + "node_modules/typescript": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.86.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz", + "integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.14.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + } + } +} diff --git a/examples/ts_dungeon/package.json b/examples/ts_dungeon/package.json new file mode 100644 index 0000000..8667689 --- /dev/null +++ b/examples/ts_dungeon/package.json @@ -0,0 +1,25 @@ +{ + "name": "bindings", + "version": "1.0.0", + "description": "", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "webpack --config webpack.config.js", + "watch": "webpack --watch --config webpack.config.js --mode development" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "ts-loader": "^9.4.2", + "ts-node": "^10.9.1", + "typescript": "^5.0.4", + "webpack": "^5.82.0", + "webpack-cli": "^5.0.2" + }, + "dependencies": { + "inkjs": "^2.2.1", + "reflect-metadata": "^0.1.13", + "rxjs": "^7.8.1" + } +} diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/changelog.txt b/examples/ts_dungeon/resources/retro-texture-pack-v9/changelog.txt new file mode 100644 index 0000000..f4d05dd --- /dev/null +++ b/examples/ts_dungeon/resources/retro-texture-pack-v9/changelog.txt @@ -0,0 +1,69 @@ +# Changelog + +## v9 (5th October, 2022) + +- Added a small version of the limestone bricks, to match the red brick version. +- Added more small brick textures (red and limestone) with vines and grass. +- Added an archway cut-out version of the hedge texture. +- Added 3 dirt textures: one bare, one with stones, and one with a puddle. +- Added 3 sand textures: small pebbles, larger stones, and footsteps! +- Adjusted the colors of the grass texture. + +## v8 (31st August, 2022) + +- Updated the brick textures, increasing the spread of the bullet holes. +- Added 2 large sandstone brick textures. +- Added 2 steps textures to match the sandstone and red bricks. +- Renamed the existing step texture to ledge. +- Added 2 chain-link fence textures. +- Added 6 stucco textures, 3 of which have exposed red bricks. +- Added 3 hedge textures: sparse and dense variants, and a flowering variant. +- Added a grass texture. +- Adjusted the color of the BSOD terminal. + +## v7 (26th August, 2022) + +- Added 4 new brick textures, in 2 variants: large bricks and small bricks. + +## v6 (8th July, 2022) + +- Added 6 grid textures, with transparent versions. +- Added a brown slime textures. +- Added 6 new concrete textures, in two color variants. +- Added 2 new floor variants for both the tech lab and toxic lab themes. +- Added 2 new tech lab wall textures with air vents. +- The various support pillar textures have been split up into separate textures, rather then four compressed into each 64x64 texture. +- All of the textures have been lightened slightly. + +## v5 (5th July, 2022) + +- Added 30 new textures in a toxic waste lab theme: floors, ceiling lights, wall panels, support pillars and lights, doors, pipes, and slime. +- Added 6 new tech lab door textures for vertically opening doors. +- Added 6 new door trim textures. + +## v4 (25th June, 2022) + +- Added 4 computer panel textures, including one with a bullet hole, and one with the iconic BSOD!!! +- Added 6 door textures, in three trim variants: metal, yellow and red; with and without damage. +- Added versions of crates without pickup truck holes. +- Recolored the dark crate versions and gave them a unique design. +- Added crate tops for 64x64, 32x32, and 16x16. +- Added simplified pipes texture. +- Added 7 new tech walls, with no panel edges, ideal for making long corridors feel less repetitive. + +## v3 (23rd June, 2022) + +- Added 19 new stone tile ground textures, in three different variants: stone, mossy, and sandstone. For each variant there are two different layout patterns (square block and parquet), with various amounts of damage. The mossy version also has grass tuffs and water pools. +- Added 4 new crate textures, in smaller sizes: 32x16 and 16x16. +- Added 2 new rivets textures, for vertical strips of riveted metal, such as around doorways. +- Updated some of the crate textures to add in more details. +- Tweaked the lighting of most of the tech wall textures to soften them slightly. +- Improved the overview file, with labels to make it easier to find textures. + +## v2 (21st June, 2022) + +- Added 10 new textures, consisting of 5 different crates, in two color variants, in three different sizes: 64x64, 64x32, and 32x32. + +## v1 (28th October, 2021) + +- An initial collection of 58 textures, mostly tech facility themed. diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/license.txt b/examples/ts_dungeon/resources/retro-texture-pack-v9/license.txt new file mode 100644 index 0000000..bbe18ed --- /dev/null +++ b/examples/ts_dungeon/resources/retro-texture-pack-v9/license.txt @@ -0,0 +1,20 @@ +Retro Texture Pack + + Created/distributed by Craig Smith (little-martian.dev) + Creation date: 05-10-2022 + + ------------------------------ + + License: (Creative Commons Zero, CC0) + http://creativecommons.org/publicdomain/zero/1.0/ + + This content is free to use in personal, educational and commercial projects. + + Support us by crediting Little Martian or little-martian.dev (this is not mandatory) + + ------------------------------ + + Donate: https://little-martian.itch.io/ + + Follow on Twitter for updates: + https://twitter.com/MartiansGame \ No newline at end of file diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_1A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_1A.png new file mode 100644 index 0000000000000000000000000000000000000000..c319a0112343856eef9f1b44e8e34c3fad802a41 GIT binary patch literal 3786 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 AF#rGn literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..e654171bf395d3597fad2d14b293710636039081 GIT binary patch literal 4059 zcmV<1400001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuLMM*?KRA>c_n%j?FRT+oB`DWTq zOQ+D5Ll00+B|vRKgsA19NFqUqB;pOk#CRbR5JQY4Y7CL+mG}M&#yb-eFNlc>Hk?#~ zD4`T+ky1J{g|@UaozC>=v-Y#+*VX+^8+N{~zUy7T_psh|de`1FbkjAL_s)LCmMnsC z!RRpMk=c{d5OAypJ~el|1MXk|1Pro+Pg9iFcv>T(GjM{8?8pP(x+fKg0|!q{ADvmg zblICPzlc~Q6{fuE^S4}g%^HZg*=fPkQ#0?s_2!xjM<4#t6DwA)nV6hBI=M>#W#>^O zObo4EyCT(^sP%uca|fP$^U=o!^^fd7Ix;kSOv%%ui+iKJ<-Hz#_{#lv!CW#*tvsls zw7U1;tRi+5{;^&eoaIYBaD|I6i*3fs_I~Cc=sS z9doB>?dS)L+Tq)_d`|h|eXpna#fuglojuKO>cr{kPiLm5=b)D^9ojc_YHIdGTm+_# zLnnv(M-HvN>|(%bqeS7+6McUXv32o1Fby+^!6 z2;tg$I7CP-F%W@p1Q1S$Pd|L$YDy-?x|O4XJ0iiXUV1`WFy5yr#De<414b=wk91s* zWKAHzunsX(7J3*2*jaxl#51P>v}V$W%!+6tG?_DD)`a@qE#T|01Zw;Ii+05_L9NyT za#F4s8wI>`?*TY5fcH#IIPpICj`u{-feoNT)cO;kL?oM=jQN~bbRy#M2$ zp8MVJ|G=)G(@`7ZT>24TP=7zMOpt2xIvoz$TiDn#2>6x|u7Sakto2V$&E9a$mHbw( zzq&JFG;tpN01zM4KeBh<0amU3jyI~SOI6G1z!2Z@*0$A629-$#Qr9Q;^k=Zzxl5>hHCB27811~gv{&jGt`6n`=UEC_Q$ezx&yN*usA9|dk8}x43ik|JAzaf zbfW`{e&?k6%ZAP4&;)@=HD<`_y)}55_0$v(ACDRFMt55PYw<^CLVrg6Z}0lxjvLE9 zA)Zn7!Qr7VfA#LR)?@_iC+vv`z+|$fNq%;l@ZCUHFX@vlP8=dDEJ=8tL8&Ai9TS5{ zmFNuKqyNvZzZaK+AG-IJjU6dz==Zu$_xw2BWuIw8)Fp*5NT zM|q@Z9l7Fz(ueAq zcWgcz#dUrHSlwCB@gS|0lC#L{hH&u-!N>*|KVrft1^@wuxqj`sRbZa|#S^b=dl_ck z^BT+`Q!V!aDV%VhhRb@Yq0(p{WXfTFztN=DgFZz>KL{{`%pOn{dUGAudaI|IV_-P5 z2|)rMLYUDptR5nWnC>y zp>lCM$0ZwunvMzGTd=HdWYrXB3aKJ8#CXH?*AqXdLHH6(%A{y%>dX!Jjwb~BggpsZ zBBM%m(E9~N+7TFRd*S(QOx7}&dOh-``|jL?ix?<%(VfY=8|v-gicTCS)@L zRDIkNr8|K~KYSAY^c-=Nw35w#eOUaMFf>r=F{R#9N?f_I9OOpD678t2bwSro(}&DS zO%x6DIl?VBUt?E08*UwV^cx_Z)oU`c0= zOt*&}-m@YZRz35*5Q5>Lke^|TdBO1Ibim;UUlcaWGTmsMY?#nR!_>@~`+$L2+&gKe zNx6US6p21%l+umR5SeMvocwO4PPq7!J%_~A4tZJ zBy@Tu4Kq(#!*LR(8dX8kfwV%<84~RCUrX$>uv&KHp+_F1&ask1)C7xC+-rY*$@HCS zh;w}?3brzCO&wt zy=(v*@x_07L6!>*uka(Lu(t=dIqw|x_W|xV=lV)8 zIyY5+CFpwJLzz1JnLC}St58G*HzpZWfPZ+>}blR5paOAvLhYFFUbO-Q*> zu%?~v>S2+s_}CmJU%zc>w{QIP4XJDU>$6FLL3i~v7adfy48-q_vfm6_5vWK^^FV}{8i zAl+6or9R<0J;!^eA07*cR6Ppuss2h} zbii^hN2Efcdo@h@v#t1UO8FgE48mH_Nxm2sqH4{EXIm z+878d)<&VDzb3SWT0Tx^cN zYTbfrfb>YT54P1DgVFk3U5JCh8@>{d3vz%PY@6_dricfRsxku2^&o1UlVXexg5<@h zO%7sfkYx&$j?Pc(7%2RTiH(?{3A#oGOsFy}^~@Z^7bRzVkGZTU`mDKFp|$3Kv}uHl zUy5!xra(hyGT7Ad!`4=+`amY%xA=M~Cw-$Dg@!3cZK4#cARgipr49g&+e0MT*}p-! z6+-y_9wJ$Io$>pgBC<*`&`It!tEuIai1SxE%9G!dg@Z{V z&M`!lVdXD{w8tL{)i3*_5ah(G|L_=c8f2A!{Pur@b#k@D4ua1VV$g#)3;KsoKZ&8- zB8Gnclkajq1IjMzLBl+I?bX+q6^}msR4yeZ2xJQRs~+Yk?-zKh<%?MKFiq6}jS_OC zuidtx#%FTl&4vpX;XMI5ynkZB{+q?<9@<<3(GS1e2g)JUd>^2mHWP93`&Ac@;x}It zC~2+V`h(}qJ>N9;?B0WFzW~6Cw(YwoAN$?|@9vo36Gj2ky$hCk8Q>$p{*ON)atz&T z+g{|G$k^Bt;>z`dKT_hp;XMQqw5c$+i0CJjXRb0h#}5HZLdzOrdf>Oo8R-{UxPwr9 zX&(IcM|kFW<$tQ?$?v>*)|FC>XEQV_#J~e4*n|@6C7|>7GVzw#k*p$uGi@%U(=^n= zE_1!7#K2&Zqpl2YY;0J!oLNf@1yOx@RC;YrDV<|hrbS6^D2HB~G@1(GL)(FVbcF;B9_+U2RTa4<8^UB<_|Mu zZgxYhIcqme_4858{fG*o{6vYkRT2w}Y82h#{a7=FAToIl*h0Xr*jh0eG- zk^1{{f1!k#eHh^ygDB`qY2wCxz!#CWpaeQL`{)30%@L>Nli`Mr>hK;@6)0#t(zX>o}t1h|_cP9@X=3CD8o$b5-HLF&@T)uRqJ$>iB zM>!n+D&Y9x11m4Nl;hk!L@fZGcwbut%#%L%ohrqNW*X2x(51PVLL4+y_1m%pVE#5k z6S^pgI-jJNIix+DUm}a0=0gds(h;00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuKVM#c_n%i$1#}&p&krG8I zqU_YyIEh`mNznpvQS_-T(8mCMD3FJ~^*`-@kf#7G`jFTOQpA_|7F(1=ij*k#cjnvq zc6OI?v!F+_XTI~D%goN6-F5%|-4A=sV{f#HV0U{!dwjA|pAHh88h*GqZGl@D00x6> z;XP#X63?hr{y^noDXSz5$IXl}P4u9GkSxuUP?Yus|ck>4Q!|5A==clXb z{`kiJ_WjMROYdEOJe_WD1oru>7g8x(saS%cE4yP(FYRBVeRJ@J4lVuV*{S*8UYp>| zTK?hm>}_uqX^vws;J4lD5yPG3u(w?8O@f!>a2cd=dUNmbPp_q-P?0}+{9lwpeV6rh85q0l}7gb<^;TR0UZynB2I<@zu^~tawMw4ABmHe!( zl3(7Vo+djbK6J7fG9(I1tYC?4(3vhyDt!LK!nm@%Re>{Y9<2W2v3de4Wi1RbAZhV~ z4=}WY!H|EUbAb)fq2Otiq->c4PUHI9tX2h{Rd~pg8S{Hpn1R&1gB+OnW4Aa@N^+QP zBHsw=ruX#%m61|GlHBfYZ32Eai|NvKL?>2)R*t>T_?Gu%v6|QnX#Fkuy+PI4NvTOo zDCsFs+G>F&AqMyx8R~e0{L#TtLUDO)%Ro4!$z{N~PYIIuvce$9hWAR7la+W&ekG{l zm(}D_9RRx_a;-T5>ek*Db47X#&>H>mc(ygHg)y4(_TK!&S#M20gP#Po`4f2+Kz-HP zsj>sKnH#((J>$)E{X{xr7vi{RHG4l1ELuBF|7Y-P2DXiT7N!IXkH_ zU@bqROm&xkL#~t#0hPNgr;)c{GHIBnMRM;UY!Ak0sHMp1S~prS^E)*Fs#--;V+1C} z=qd9oiBxh4wSBeZc+8ATs1}&;47vX^`M+N*ZY37st%bw=`;&c}VI{Di(4v6w&M4hk z)3D^;ZAumTR9aMvKOUS+A2%w{u9h}jR9YswNSTl`fBwxc;s57X5ABli{m*~@D~fF2 z=TM9NBo+ECAw!a@QzBh>6NA*tQ7e{&2svzv{#v7E24He)FuJ#=3kEPk;+qNUHl-N)M>Gmd0-c~@>x z-y4Sf!OJ(0Yf}~yq1R`{b8qJE!>W}}Tw4Er@ros<1T}PfJz&IeeP>ke7UeY)=JKIR zBo%Xrk`t)0wwS3%OpE5aQ!H+j!nSsUZSYTk*CP-$W z1B};y!c(ZPUK#r_*4!FPb)uYZKBGe z5eWlN$;O}}Z^aNwq&3ojbE#LVu{;9NJT&`FS#?%=?<>BAlpiFRNoEgV0;_5?Sr=HC zmLjJu@2do*w5Dow6?aNIfdW?&@yKJhCCf#@)D?2a3vQoU9-4vbGV|ihcw4#1L6fQ9U8|?O7TMLf)5Kd7&3sD_axPifZ4I?g(+t!*0K+I7 zCy3MvOAb9$D6VAha2@2p`%l^ zQ1dL&0)*4Jj@H|^{LFx1OaR8j@#$(b8Gkw+&&~rgYZk2~;o)Kl&Dr@mzF{4gQ0Ekk zn4t~-NNO263lt#;3+W>%4|y+uN28-^ba zS9%c90nGxP=z@{7@KS+|AAO&ShgRn5 z=K&>Va_g!pO;`48+tLT%ekqY6^}UL9FkK{g!+4?3t8A)?$KO4<2wdW!Z9P0NYQ_FV z-v^?g$nV?eD=N1P`S7SET7*6|m5~JCQ91-ec}FXxhHOhh#VlB}f z(&uh}c1K0xa`j@erSct^JB_ad%kz`jaX)<}kk!B5yu(+5-Hmu}{`A#Rub*~;<%$m5 z|IXRjXnF3`oO_o?H+W}QC&}IBY*tjrG&UreIL+yR`Dgyx?~2{zQqp>-4>FT zuS+q}cDC55ATU56skOxhRFc%9P|bKVDl^j2?p8~Z`8btI zQ?cAJA)lX~RWo4y><orxK+rF`=;N!2l+>4ag}CQtfGU}5VmzH<+t zOh4XpN8^spFEGwpG78e6YGTZDuZ)xxW`IwO^=5m5_Moys$>|Sd@6uupb>xilqRIr0n?WiF|-VE z3JI%D3lCb|aJ#UF3>Ih7#oQ`s3cJXL|6cxH6 z*P28~%#w(l))+~=^~Ku&5VN^m-=@+DCp{J*9L8j`NGc$RRX&nQR9%qcJ=0{i(P0qgo+ zr)o_by6MY<)scw2&$ol>8qcb6#pM48q@hwGlmOjP)!QmvRDr3@-0|1srLgRaRuY>= zxb`Vxcqf(VrM?Ss{+EvQsqd-6!8|`+##?3H`lGd6_2*0er;zOZac_KdT3r~6^T70G zREryro=y*Uwr+vP^|ZtCygJ^DyHfuq-8fpc8b%Q+PTs-?+j;NNY&koaKRP=4`|s|p zdgF)Bp6e+hK5(cmt#{dUKWClst$~ z_{%AHZqMI7eO}7d*S(oOSBSnch4;9NXUbr9vDEdBBq1s|Q`JIpItI|p%DT*zds+;1 ziyUz|_qK6ucbj+g)FSfh>*RX9Rbu@8#`aBpeo8HN9P zQ43p_(Y3CZgzD!dRE(gEH(Ck0DaN4EkN2JR!}B;`t%{aac}aNc=oZ$(6qc(lc-Wl8 z?!1Xj=m-D=KcxC$27OxX5`indZ_a>n556Rg{vf_{Ax9gJ>F}dtx6H3hSuVU=9E%qg z#Q`n4!qdi=0=5NyNP)G?aHFa2T*`g&zBH!XBayE%M4$gv5p7y0whqkcr=wknQOQeM zsmS{>Y~=D&LfY!fxQwX+Wh?*y literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_2B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_2B.png new file mode 100644 index 0000000000000000000000000000000000000000..0082fffc2df43630ec5bb6f059a6181f2e4710f5 GIT binary patch literal 4100 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 D9|}xO literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_3B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_3B.png new file mode 100644 index 0000000000000000000000000000000000000000..75551b47c63ffcf1d3c8cc8cf398c9fa1ef6f0de GIT binary patch literal 3582 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 Ef~8u&82|tP literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_3C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_3C.png new file mode 100644 index 0000000000000000000000000000000000000000..f1952696fad2a04a54ba9162bed5a42dc1d4ef98 GIT binary patch literal 4246 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_3D.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_3D.png new file mode 100644 index 0000000000000000000000000000000000000000..dbaf6d36911f7d2d873b5477f44899d3933aeab6 GIT binary patch literal 6355 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 P00000NkvXXu0mjf(!?5r literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_4C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/BRICK_4C.png new file mode 100644 index 0000000000000000000000000000000000000000..2946485cac95dd3d043b7297fd068fd28d22fc61 GIT binary patch literal 4245 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
Ri97Oe{;MKl)URV7%e|QkZ@pur9yM1?cBlq3I zWTECC9&qJ0t}Xie2P58}wK{R3n&;(Nr(<5Lt=uj3dkGSnO|G}RN;Nn>j9ZWjf~Gb&XJsPxIl?q9x2xERP+ rawKnV00001b5ch_0Itp) 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 Te_}xK00000NkvXXu0mjf>oU9> literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..ed3ec86d3cc984931f4cf806055a9096de23e483 GIT binary patch literal 3207 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_2A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_2A.png new file mode 100644 index 0000000000000000000000000000000000000000..58e7508f134764b4087d9169c1b7a848869569e8 GIT binary patch literal 1980 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 JPDHLkV1jbM&jA1c literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_3A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_3A.png new file mode 100644 index 0000000000000000000000000000000000000000..06d07943ea1febc8c55e9ffd9c2325213cfd247e GIT binary patch literal 2191 zcmV;A2ypj_P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuD`AI}URA>e5n%!<2HxNdpUD^7H zst9QS8)%BOMKAjP&(oU%28slZVLP&9E3(wXJ<^0&+r`S&qBmLy^l&&FejE;Ghf8hJ#g@#nMg zJ4d3tUR($L@VM@m1tlB^`Bae)vFUIMtt9lP*_GO0M$-ZH|M}_S_p=XySPTaJR`n;xU@dAu2ZI58nD_Vh5Imri2pXUWP_-}R*Sk4Y zCiZ?ZhKRl)1L1Q({b>Ta6yu$gg+_H4Xh)(dR%N7J8Ds=n6V9t@Ye|2J3k^2`ebpw*JB#D@PEP27TI*m0tlXyh7YDVVZnh1V;hOR`tJmGuk?RZq)Ev z0P#?Y43zpe6AOqjTR1t*vgBed>BmL8!{LyznF^J>42VJ48rA3}K^YoynWwEU>3KT( zQ_0XAO_G3WYr1dMPKv{18gOye_ZxemD=0S8UcVU#>ieK?8Bu z8U%vd^U$s-DQm7D42u-jJ1Gh`)1S5)4<&sV$(@HHQ=>F~6-+@aO^Is7EX7J+nxrYw zpgc0o^|Ooi)t}BW^fA0J2N4+f1A)wVPkVl#6~1$T2Bq^?m?})Vw5>nAi5Uq4=Qaa` z;U5G7QijqO6S#SKQ;k+=Gdc8Vb-T2!zZ{K5=9T37n2=NqOxo3BF*v{^4zf$mxFl#M ztu!%15>ExlVNr!79V10WXLJ1|e`woFe>t6|ea+aEq`@EqJs!nbo+-hk8gpB1HVIAt zM0r|Gn*oiOObARMKY3l1)i%^0=c?xVw{K#B;x^cl;UOZ^)JcE{;U+_v2T6&%6g?%a zl=;@D+J^qEjR7H0_OUe8WWU|R@H;a7rK+SdRN1W1^iq=fyL}a=Y)OBD=yqga$ABX& z?I#^gwDQnJpvc&f9Sk2jHn-bGVVgq90rjT|_y!0}aPpuOsey=T<%xict6*v8fQJAP z+t+|L*H4DCul}u*U@b9;l9DRAz^7?-54Go|;6zNxBkc}}Jlc+(P!S9uqGxjU;{{Mci*xnCZ&S$tCk#zpJ#Dj6)RGrTVL2+r|hk07@dp?AH zzPUmeF?P9q{eVYbe#rESZrl&Nq@Ngoeg}P}{^R{X$`RN97+|eg>dQorRJaCY_T)h}6j2&720riI}hEspKA0Y2^D@M3t1tnOeDI>5V!$V2jM8+<(=GK8}aAfD8gyn6nzxD6;$NPb_ zus$pr=HPKvVX|(=`+@BL=lq_9dDsJf)ne-(?+11cRQ=UDlsXbFl%hCwN&|>F7Bs(P zzulwEu9mtesSH)T6PjL15=PvVcTarPKX`U R-nsw)002ovPDHLkV1hg+1?&I- literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_3B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONCRETE_3B.png new file mode 100644 index 0000000000000000000000000000000000000000..68c0987711ce9df9550549849fa248e91bf55abc GIT binary patch literal 3689 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONSOLE_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONSOLE_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..4234218c330c7232e88878247d6e9ad692f6537c GIT binary patch literal 1943 zcmV;I2Wa?-P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuD0ZBwbRA>d&T1{^pMGzgEwc-F? z+t`kcFc1g|`5+1xB*=jyCore{0VKF^<${nnAVpmG1t8@ga0qbbhPV zzU_3@#dPolf4%d~6PKTtI2;JWMIsZ{mrskNDd@PSQUfBgej+-K$Xa6tF#*1E*mQ10 zIW}`f;!K>LXe6K+q)4E%ap~I2_OwP!X2?RhwYDna=JsZxtM@xHqGu`+NRp-RZim80 zOd%KO4>ALh5pz>#LxygVLGPz~$@C<Y+YiG$|J>EcRQ6>$KKrOFgI_ER;?84^1} zu=lqu4U5a&mEUvs&IWQg$fv@mvz>*?kE|0v1LZEHpO9p%HODJQ_!Nt{N>FO9syoh} z=Cj+L9qFx*jhz6^TEM>k!nK#QX7R^+=g*x*tCf_w0bm8g7i*d(2v{M|pw&u|c>?+- zXuuvh&{Q`8VgKc=Tl5rxEFHbm1t*`DuW`K0uFL>)u-Aa^iDwV?*jRm2vl-@g6zSKZZRZT+*` zduY6kmdf3~{~9^QV!2N&z zB|-#e2523iPU!0h)6-LqhFzZzO?Cn_hXmHTtkDo`U;4-lMB)S!7#$srxM8<}wL$hW zR%F`<@d+ldvy*;r2z@vMA;4gI=jhZyLVWB5fDUEMpfz_!;_C>Z8Hn()69D^A#`0}i z)@~h6jbI{t>;!`BK_@$j8?XL&o)JEF0)Du%I&n)YPFWvz^qOD-&e`Eq=Mm2Uo{PhW zPs&aJXgR%!D`y~69mWdgSgBCGuKRolwi5vRP{!hk8DNM8h4R9Z6)Gb~_}B?VGM1o+ zGy~;@J@7TuQOYdG!eZ0PNew{Kj=t3!`iG@@UtH4A9SpaDDr*fAmQoL>lf4XsQrWw*4h){OUn(lhKEzLNe&VC|T|x|jg4tX|VdRRkPBKki zV3|=&bToy&Uk32b!o;-Z=O4pO12%jiirks>sECC(2wEfV<^UQNmoHwr5L(1=#E4+% z^K6Z^$K#i*p2;)4N|>1)XuzhOr9e!c`CZ7|0sVcWX<~Kbksbwl=8M>01A^eqf({U{ zd&pkFR$J@KI*#K-lcV=}4&nIN>TSv14>V-7I2<4>E&b;BA7eMfGhf6eGo*_tLyO|$ zt}61;>%ov5G~0X|^=+XOnt`}$arPw0;pz2rWDdhpKe9NaerR(9_&XZu9*sW4a~Mw= zJWwY=g_FK@YCRc4aP)L>^mNgB4(i9DN#hyZ$LIgCgEx}Y$qXiwo d3Aisl{{h|OVyX$wGf4md002ovPDHLkV1jiOi^>21 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONSOLE_1C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CONSOLE_1C.png new file mode 100644 index 0000000000000000000000000000000000000000..f55539650a01c90efda116fe29663793afcb91d5 GIT binary patch literal 2298 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1A.png new file mode 100644 index 0000000000000000000000000000000000000000..99886e85d3a14d380a2fc737d9d062c808ad1aa9 GIT binary patch literal 1039 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1C.png new file mode 100644 index 0000000000000000000000000000000000000000..60285f38cb3b4bb3d21287486734a237a8e9b252 GIT binary patch literal 1236 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1F.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1F.png new file mode 100644 index 0000000000000000000000000000000000000000..4299164f772baf71762447410d9e5a7409bc99f3 GIT binary patch literal 905 zcmV;419tq0P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu8^GQTORA>e5TCr}_KoGr)+@#=+ zlMD%hB1%LWkRrN>51>QP<|`0?!ABrk{(~Y)C=x|NDIz6Gk%$CN3U?H=d3);}&(4m0 zaxP0XF6^Dz*|)pT>-CJs{ZF62^k&D&>A5e^d2;=8xblR=xdmbG#m$X1-!Kz?0o;op zM@@tK`}Wv-9Ko8$CxG z42HS!3#{@>%yE1(SYJCk*ef5dx*3-vXsUC{0Ix-vALE%MoaEL*i#A$465w^wWSaYmpnjdIo58)#yp?UU<6kyl#Zs7$5hJFDDRp*G<~l z+?5T)0+ZFWXq!7^lO|Ej|_qShc zp&Kz;FqbO5jasED|Brp~{^JMVQzn1i;(=&!(1z)?5G@{v2y%kO193DW+@~bouy`O@ zLKY7slmvz1CYK|N2Le474+JKfuWGzu@qk8{#RD2ELC4?p@PaKKm=R;~Kv*BGSO1-X zOuT6M0V0GIunYOjfaM1mE1}4DA$*9i{6HY4x>|lf5R!@_-iY1l)VzyE_1C)q%&}GR z;|YiWbPk}bR=h>a4-iRB@rLCG;@=T0KR`>St-#|A%MYkbS$;s!(h_f2ejw&5{eF*n zp0te3d%|ASrlPR7{6I>Pgi z7;WY%emnt-2jI2i=M}MA*R0zALNynmWch)>1ix~B-ToKi%(ycDGH3aLz)p+5u2!i^ f52jYBN^gG)SM48j^lC@v00000NkvXXu0mjfsDG10 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1G.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1G.png new file mode 100644 index 0000000000000000000000000000000000000000..85ce9d6489c807c26706816a94aa2279c79d54f2 GIT binary patch literal 874 zcmV-w1C{)VP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu8)Ja4^RA>e5TFp)yF%WiOCE!3( zr0^$tK%nMACBzN!0KFl4Q>XBt7()jy=1xp2>!= zRkLfP*@IfjzmK0+JDs-A)z6caFjV8iC{NY`@S{tOM(g~d`OA8GY;2rJP^NQzLskHE zyWODh5zO*CAlrJbE-hZ49MwO}S?cvEsKK=L@=!MhtWXUe1@8uhk6@)DIZGSZ*Qcu0 z8srV7outOrn$Ym^8gSff60@hWF$>F|(h>{{e@e&84*2x88;5?;=3#2}e@emg4sd?o zt~MlFF#-YLBSsPURcpQ@p%1Xi#cq(k5&%A8+0qX@3y$(Td@Nn9;`Rc>t?N_1B zID9yBo;zy13hXo&Ie?#c$xmYx79=VeLWxG{>D;~ z=Lvc~kTnAK+~4hk1)L}7`G7Y97|>J2zs2`@K0priGDXJs*etc^u}HIIh1)ZFU#RT+ zMS5ST=XAN?`$aq&P1i}E+#8}X_U7>MyaNN<6Y+BZc-{fQ&pA`|fOmCv;E3hd8>$D` znvDyp2XfqBN;Gj2!Dl(t-RmtXzR!Cf>D}vrzhsT2c^C2CO#lD@07*qoM6N<$g2dl| A0ssI2 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1H.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1H.png new file mode 100644 index 0000000000000000000000000000000000000000..beba5f6f8e65616bacb7cc749c436f66f9b35d52 GIT binary patch literal 928 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1K.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1K.png new file mode 100644 index 0000000000000000000000000000000000000000..1f9b848fa90f86392747969ccd2bf18e78f6630d GIT binary patch literal 1022 zcmV00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9Xh}ptRA>e5TD@))K@h%J*HFa9 z!az_cBCMo9NOT~j;2CIXc>zR8L(M}VTHb>q0tzG~L=luI1rdKnmQ6uJ!FM3~dezSXfGue3Z^jTK^4v$W#z|YB-Prb`mRFxXllgCg2Qfh$IqXvgp zy?8e6KYIM}-P>?2sg3NU2Ix$9rqf9Wyg+7pd~)^1P1MgMAAhjI+3of^?49oqUc?8q z!i*B@TSiY$_g^i5m;lB$-roA8vq8ny+mBdT$@4PHXtPiOan&a#=i$T z75l@qJEac$6iNvt-#A@R&2S;Q^SkKLVsGO4@Oyg)^J1jG&ky%`Qj{?(7_eNu*$n)g zd~SvT)*d+5+gk2IL}DcGnNJfqX=50e+vWLdGC+4gmas_V0Vv2=kZcbxD-Cp+Ytig?4Jk)Ns;RqmxO9w}9Eqbn{oV3?{(C0<$C znBRT)fa-02K(0%?ax*S-)_N?W)9(3d$<*7faN@qx<_F?4BHjaFV0M{v&)4|CLS|Gr z+x)Ev4p!CKvyAe6Ki%p3c@l^Z4j83PPA0YI!YI5x=KJn~N%KD4zUW;lKLAU} zwJv18mK(sK`e?Aj^8@&vZpIgxVt|(to46SUSfOPwu-t_LL-o8W|D+H&X=50uSQL|i z;@lPg2V#*ZRjcT}>6gA}?2I&ENJU@Gx+aSX{| zeH(Swi`h`%p5ESy4O=(-YiwWi!1Kf08gBi0wHzN4Z93E)1^AnmvLD>^E-${FIm>VP7OQ1WVSP;B zA8Ul?vwhss*XJ*npTDYl;#BW`nfbjz*Xer5{e$Nt?r>Q|kY+p_2O>etc-CA?m^^3P0Fi>}j8*ZO_F`NioO z$}i5&QPIhqb}_?p%0(r?&j%vU8O=Eo-|g=tGBNTPqel{hU(&_HAezlU>M=uzfxu}- ziLde;ZyL|aOB+9U&Gn}9X@kQKyCo5PKW;HqUol>w+Npd;+y7BpBgghmm$O1%CKn4N z&NM7JJm+VnD2LLviJn$x4sI66P5F@Q&dofre=bAnrCnPL7@qeQF&HuQrf?SUojAmK z@kKgA+cK91^G#|ECdL;GCZx^#sBt!1-s;D zuP(^#@igTt2O0jXxc(_y@L$+Pp#%F<9nRV{NMw{HG3H8tRbDA&~cclfew6fWEe`2L;2)#!fb+}|^7 zTmnnwpEohq$p?#Mu=g}ip4)n(*5|le*k|i=Ki9fGw_B!jgr~QEv+wFIvy^4QVVUiV z{i3acvZ7WBM*6-xRrc%I9p;smzVB2rPFveEKDs4PbJsm$FDM;)y85}Sb4q9e08h3> A5C8xG literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1M.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_1M.png new file mode 100644 index 0000000000000000000000000000000000000000..8277279d68031a5b89c0ed6b2d663bec5c216ff6 GIT binary patch literal 1295 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 z zUHytn-KA1#Td#gy2JY|QzTuk${fost<*!>{?Pqq=j*c(vWvFNF<)Ygu%V^?vetG4q zW@a+KayfSfRAHctFK&tu@$m3|n)TSZpDOi|OD3p0JGZcJ`7W&4S5Hy6PL4YRrFZX8 zUNqUDf3B=doEh8Ny(8bz;hc$RVcdFkSo*`1W8%R9`toe1t3NX`@OgT5KU}nTv`a}R z-MPi>7wX=NEzC4k9u^Q5y8I^y;3|C5D=LSloB|_Zw1Yhh`Pl`a$EUxqw`-|#?}SBo ztm_^)hD~W-(e4)-O#kHM>yJh2vRa1W^v!8u$%l^@I}1lMZ`ZEO-eMc5Ue-dLg%!To zZs3zR*dGDH#M2VOe^p{3+5+wjs0FG_(0t1nB+Vtn^UC=dJJCHh^1VD?Sqy`x^7o&N zQhky-T9#BEjjlTYLxG2U&JK3J$CpN>452K~1NvSVDNnBOx{_jSKOqrVLdtp+fy@bn zWq0bq8+>m(s_{{vT>kBbA0_@;sQ!({fIWxCm|&HtFb~yAxF2M-S|ND_3xz~{CY)kn zzF4ba8Au3D1<5$Vh{|a+Ow-UZAR0r4L1SpW-UpmOolFBgeLNVt-=wQ3z* zuME_RqaOK2?n3q82-a=zE)a5?R%-;m;e|b zg^Dh3Q*uc1jSOTjUO4Z(S-}gd@8<~#=eU7lcx&^4OrwN&UWt%h<}iV=h8BR`Qe60T#Rg zz^hz0k~RR5SVCc^omwqezZb&Y0g8;=6o0H1HgDoq`Nj~|lYJE+RT^lyda(tIl$!I_%=Ff;Rk9nY*$)H0I@Fb96D4n}^Ir^KjRkL4)Ne`g{2d(0{3r~#gSXeLJ!i$Dp~X<6aSo;^LG9B>!A5bY|=;Y}vG)qs00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuB07*naRA>e5T0Lu&K@h$>PHZF) zqlYJ2m_kh@q6P#}NMi~?e}IiPg1vU%4ju$|zxr^k947ADpp`Z?`if6V4YK~v!?%Ll5KZBt0 z1&uuZ9Sl$g`<7G^GM9vg*%E|ppX!|O#vo^#?X0qC4GL=rS(XtfHv{Mc2y9!C&h<2b zMkLBDwEYhrx6iHOA0bP*m@jXR0ByVrSzMamltsJ=M!_T9#!$I{bBf(VlC0E%URV-Gfn z_v~E8YIV3g(r0p+JY@YR|3K0`2Qauv<8Y0csb)1>R29bP==D`l@v6HEQ3m3jxfN81 zq9RHZgH2FYG5~iMO3VPpPzeu?MNr@yr)}M54cHD!L(%0iuwbLEny8ABEETM(@{LpJ zQFRAkO(PmhLNR0Z3}U-*lNFEw?N31^|sh|ZzNI4N)n(vv$H#Iesn7{s+K{vJX@S@`MqUKORx`8kxC48Vd1>g zL}VG4h#560WW{suE`&M2;YZJOHv2MA1|^Xd&*t4b%gO;)@jHli71r=3W49V;IGJqk z2~{EE(@FE@^+jH(><^=al1tXJz^$ZVO9{nF?j;3AfEo0%DnVqIpxm6k4+P^5_ko(?K6az7TiF_@mq7L2+}kJy7x5N9q#_+t znu3R#yyi%d>HC0;Mrj#S92>ft=s@+pPNQk>Hd@;I1b}=Kkn)6)sStaVXrYo!BG*Ls zCnepnY%q+|fMWC^sQCK;IhEP)G60h90I-q>B0w;zD*ryf)bYzUKkuW`X7fQ?k z9OUA`gmMYs4SQq*|Fww{f^R5<;4WewV%!r&m&d?@jk;>0DoV19d!ai&+h8O#wX!M1 z+A@MAp_nmy_F}tmlNFEwFt&O`*J0b%W4%&3(5bh!Y6I{&16951J07*qoM6N<$f_6=M(*OVf literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2E.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2E.png new file mode 100644 index 0000000000000000000000000000000000000000..dada89050790945d506fb91a06928333d5c45ecd GIT binary patch literal 1482 zcmV;*1vUDKP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuBG)Y83RA>e5nayexK@i8Y%i=+d z_{F-B97I9!B*w?^;?WoI;?a}f#g`CY!J~NaEmXW1b5I1q#NZcEJc;qYTa*7(s;YZ> zW@keV2{Kk!SO2;`dU|?i22UP8SepHP`Me_nubZ1YD=Q~cP3kFx_UA8Dgaz>jj~?E8 z{pJIm=v}yR{nA4D!`?mCz#ref>t^pV_(RkkTu4aOr}cMp&S5yG&z@N{f5=t-{OOB1 zy_eydgLt~}F%a3r)w^W)Bgqi#PK?J$m>xcj z`6%yfqAgfL$nb~WdkokcKZBHA$dRxaJoOq=$QSQrV8}sNvI6Ks+<$-lEU6=mCDZht zODk0Y;o}5~BCwcU$jy>denq-fJ94@v8vDd(dTAYWK)Y&r@y2W}dDTzuHDkxSZ+s)t8W; zZQO)_tLQ0HfF2q0%l*&pE>WQ%eBUKAieBbT@#`hzDI713%4Bp}D`6RCD07}oO_$QA z_{{-mzbRuHog_5FHQHE#l)GM^;wPWPg5a_#Y5G|kHHNS4GhN!OxdPhy5Xx}{@H931 zH!6r#sBcpkgk>!W((nxj6B$j08UG@~0PQQA#%U8$IE~@ZM(edK242H~MyQ^|I7ODc z7XlZr+4#>-<2h1EuQz@aHa(|43+eYQg}Bhna2TY~hhs~WhEx9{!_&8ygQVf00uqDK zm-rgm7*2H$^x`_^^BnQs>qF-nm7X(LyL{0ONtRhmZ!7-j z?)^J5enIc=kG>C>^4R8LpTyYp?1a6x!9V&w;4-TBX=I3p0U-qZr%^p|hj*G`rojyLJ@S(k zz}zJ(gkgu7MsKJ`1^VL0H!(5Tgv$qOp=t0VH z1>}5BKTP?s9F2ySg+h<~_!k-c&|8X@#YL}4xt_ArdM&r*xBEVj@{)R-z|D6Cc@ld) zhqMwrr#=hm_bsiU#@KL}U86Un%A1B$|02T~J@vbxoDNIF;V&|yZ^hKchI90NKqn`X k00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu8=1D|BRA>e5T0u|LP!MjR7YM;9 zxGN+kMx)DmF#^AUlLr$x@&~+lB7P+H!B5YPtEq?6+$5V z`1Pxod!N2l23OnQ>680G@h1@3ualo}^S$@Ac9il&i3T||{$%H2XD~SVyt5BaH*U|% zQ0mFQFD@8uYI-UfP6owKQ02W|G}CI`oV#`Kr8gbNh#SqbexHu+WyoI0(g0_j4~MOG z8)(qe-3W@G;87!I@Q3IT5H;mdhDdT*FZ2kSddV_0e)sp5cr9734gf7?uAO5G8xh1L>w_H z9Q6lYvk>@+bVeC+6X}h{ReDbhji20U&9e`rA5BDtEYd`Pk1AYcpn7F9G=9AP{22zm zwYAj`?>^q`E=k|@WQm3sOXqP{YU*Livm_euCn)8JUK%x&84WL%(D+x+0II+F2+fzx zXm~4AeX@panh1;r{CN4nJ^U#+WX@HRjkn9I{5ST=i>*!a6llI~d_Wb4ZWSkv#S3u(IDIUK-GL5cf-~P z@_NI!AC!&!0#uld!cg|*=Zzy7A1KY1@qyCRq#ecwu1(LV)A&Gjj#3K@bG+JM>jVCr z86Wtc))Q=fz+a`g*7ghKxgg2-Kyf!w<@bBz1BDVYK2S)9Zg}VG+NeR>i(g=5s-Va9 z<<1suzfhjTGQMH^g{rnE+kTkpS^t_uc| SK-E?N00006gA}?2I&ENJVEXOp;uw;_ z`ZmhfUpP_V-L~opNhTWGYAO^2ay!_W=Y0sTc*0-s@x{p_-StgB#BHSb=IsX8x_ zx@tPBtHDPCj5ty#C#dq=4*Ld=AMenQvBVv-ejK1 zt+$Kk&%S@~&A-JTm+*#9pT0(RW#1Gl(e)n`!zx9lzPpx{%rE~Y$Mvd018>H>tx+X= zUzB8hwc7Hg8mOX7Ya+A#26baXX|=NmCxK4iq%`gkkj zr2DInh2L!H`59=tDU#!!p~J`DTRuB|YF?9efW1aTvq^qhONmO(0loZfw}g&u;{Opa zNx5H5_I!`xk2ZewtjA|K-?q(MW5MEvp@3jUH4|rXLj{D(`*z@ZxGY|LyN@ zs9Esh&%sZOl{~ShE1&UC<3AF&y=K8{wyNHQp9j9WJ^9ak?DdZRJ?#=J$TA%}%pYi({w11r?S-;vh$RbX9!H<>C z_PbPn(zbjc%WQN!_~T~&isKAN`)e|P9=I>>oqA3prVJcVr`b2;u&o4Is9?A1*OAvN kS6%V5`Vthna&F6i=69m)>~{ak+d$dD)78&qol`;+0L*Ndg#Z8m literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2H.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2H.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ed21a475041748e86470eca1f7221f02b32750 GIT binary patch literal 1090 zcmV-I1ikx-P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9tVu*cRA>e5TFq({K@fJAJ&K@- zi#g~a7xkiuFX97u@*?;If)`&xd#w@1yJsdnd->w&g_FOZ-;ab~yT5<5vvbLGg=t#q2mvdjp#2!-@@^K-?D?}N z??3F7dzqT%d}@GN;raII^Bj4B&7Z^H_wMeZ-^zY`WrOqj?OStJ=bKk=#|Km~qQ;3C zUq}Yv=;CsDdFx7r$B|7mPGn#q!>6&Q~r0*qjm=a7wqqsu5> zjlie7hzF|gx-h(121qx6x{*e-oJkC$a?g$nxkAoCuQsvoBVpn)hx&yQC|?KlI$%Z|}5={7=a zRLG9P&xc0Za|R5!kB2v8JQC71Y6erbJ4OalSbGOo1q}&;OO+{VOZ2k_Qb4c2+}BV{ z7oyZe>zC8+8VFp(W20aQ7n)QC)6^1&&}w8B5)CgjfftNQpd_?Dp;HsJl$H}rU`}Q2 zp@gnH$g0OH!PH8pCId3xItERnPGp)nuguTx_OClzUx|-=F-J=dbsCA90K};`7$D*& zQmvzdG_bUq5jA!zOUU?55g53p3-i>(_$=(Y+i0OZ)lxtx7?F|)lqqUU)NG^P7$ydm zI|(r~YM!@3es38l1lKS6K|ZSl5Cc)+d>gf)-UqTkvrGf1Z5J7+-$vuXG+a%`R&Aw2 zWuPsNF8Y1$LS1lF+xEN*RpY2OT#pQRuapS8pGS#``ICnWw)$CvGzg)+SIYAVfcPYA zbh%Awk>&>(m_2^;5@rChdp)T7YigLgY)#x+*&|K z04dG|stU(}$rqvoldX}WOR0#csa=tonrjbGGhOW@Ypa?60MTOAY6&qysQ>@~07*qo IM6N<$f>h4hNdN!< literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2I.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2I.png new file mode 100644 index 0000000000000000000000000000000000000000..531ccac424ff33dbbf9485df77f0271f993cceb7 GIT binary patch literal 1641 zcmV-v2A27WP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuB(@8`@RA>d&T03uCMHF7Immm}p zC9&gRAV{QuxFJF$U8G1+dMGKVXprdWkZAY^REWQj5>fCkP(&IBidagdY+~#LnLLDr zfN%4yzk7V)al+-(D4wNnzxndkuXoF>%$sC?-T<}2bAR(rA9aDwlikN3Ub=vJEB&Jvb~w*( zT3t?1xTGXF;C=D^oFHyAirH*c) zo!y-mHip3)YpaUEdIAk+Xf4OYl+5T-D2$>bHUIqeCzn8r<5DJFYd`b?^oZfyL9;X! zkiG~gi`DYFfBa2Sx%@#LbS+Teew7H!22zOa_p*Sh4CVK-?whoiCu*j)HnJ z0IWI9%(O(9x#vjS95ZI4OQjVkZ=pgQ>>`YkFLz-hu@wM+VAn!AJjI+0j;SlxuG&rJ z1T-CG?&alkqD`rYzzv&qp*;YB2?6AfQREWWm(9)J5PN{tBU|&LI9z% zwa(SN%vgTK>P<_l0`;d*zA_nr)rwJ@s6g@*iYkx^5E~osWdy<{;>K81u24VCX&nGS zT)%$VZmG2K@d|Oz0zDkG3xMcby##;?+{_4lE&#OGIDrR$>d>QSaQoSL=Ny1aSHN9m zfF6C{D);aK+`Q~_l-CZ4WDB_p07|RACqy0CI`}$-PE*MMI`PEI{_M~LBlQzJ)GU$IZKx!gdh~wQd=Uq2hd*S$6p8t9dDty zDV9PND_>4eu7K*GyPCXjbdKOcQo>+jDT>UBMFld<}jwK6uyLQ_sGIz7}v4m}i5 z0RH&g7!%&gI*s&}0u-_b`1TE-% z9?-Nf1|bH-k8dn<3RErKiHvb%944tDN1t7$Z zUYWusZb6V*hlTdxA*@fC^Z+Ast1Js33{l6EU?|lUbmL{bT_73ZQdr z?ui?t&Rh%E(qST|w?uxvrDOa0QsLl`&<3$}_Q1f1+?Mu5lr&cR@ z3R$5PP4swKB=l`x9HlIm^Xn@B^m^3=8Zpcceddv}at{!_c7pb<%^YOx)X_YqG`drZ z!eEl0d#HDI3#ZXD)ao)q%Mop{f{Ce)DZ6C(nF=g@@%d*;qPIzy`3_)Kn3zI?f7+akTt$y23&-0C=^1Z0QUjiWLe+?X2TaMf`3Q$!aRFSl^AR&doP-c!G)E5lD1S2;juOJq2d`&D=sj2Wa4QuXzUO nenm5f1Re~La*YPzL(=~Pb{1tErsdG900000NkvXXu0mjf;py|$ literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2J.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2J.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b515905447ad56a755df4072ebeac01fd3f886 GIT binary patch literal 1353 zcmV-P1-AN$P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuAvq?ljRA>e5T1!t;K@=`+U04VP zfg*@5h$67i5EJ9Z;L?qWKfsk66Mun;8~=oH>DHxjVRYqd6peu(3FT3&5()$p z^(&_wPR^Z~-aBnC_Zpk#a%Sc{zVn!wJ43r3KDe9N`>ZT&5W&xKd1H9ES2d|qJ(-6H zNGS%XM=^(Q8u4`9zjx=u$GPxYlE#@$8lXsc7E7~PvJIH__f_!etETG zRO+74$m8bfDxOB!7CT8ZKS>*^#i%xaqBvmlK~`H(SYkX8r$EX6E^iEecOV=<%gFz3oZqDsi& zTVp4-anM?38;z|WFKo7X+{A%|ETgtaq0XB)kdO@69B|D6n@pnmU8_){fI7ffmr;jI zqK5uEaMjdV}9 z*)GJb7h8xlRURe~Cc6A52;eGw(kd#4Lr#tnGoE7uYq_O0pvPxqc(8Aye(!`yc)9Nd zdK@~Xenp!PGzfpG^ksR~by+RlFxuv{Fz4&H>pjIwnfbjdvw187jmuhyGqb|iwCTAM zd)p&G2s}+8{8yzZL^p#u18RaQ6%=pjgQU5HIIf(ZnJfJ>Q#;j_`eYcpntSaTP)SK z41@%yoMaq+MEz~lPtqaffan-U>O5csYV34?3p0ca_%EYw0}`&J-BM9UJC%W` zI9lOv=PJ|+4sY2uuR`89yam&d0o#!hZnu9K4H-*%x!|XK*I*h1(Y8bV;W)tf$W=6X znUX`Y-;sf?+qZ5SZ&q+%wf#IHWQ^O$hEtmjWE>^LaV0`FxrYh39i(j;h;<)e+^TZW z&n3i3qfRBlqfB5YPDcshWQl1U)hOq&ymL8jUtB!8IZrnG$uD8oeJl{)gsnZ_jOQ098fqLznMz~ zbVM+SGmq-WcA%mQFVV?QHHs#W(hze>RoodAmm0vPno@~TR(Adcr7~e#v~Q~T00000 LNkvXXu0mjf|Bhi^ literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2K.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2K.png new file mode 100644 index 0000000000000000000000000000000000000000..e375863688da5f990365deea08f26f9c0181afee GIT binary patch literal 1290 zcmV+l1@-!gP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuAbV)=(RA>e5TFq({K@i?u_9%fh zy10S|J*YW}s5uEjF7fCCc+rdC69`^>3Go#?iU-k49v~>}la%VoHYC7H8Au#u zoZbxb={|Y<@coA`=_tp|vUl7F)#CGY{IQ3+z~|4e-&e0(K)aTId1J-%+}hwLV<`+w^A;G`^rw z$G_7lor@R>CY_ra)n${p&L&)+OfpRMVA3$K+ia3|)0*y$P zd+0j~9-HU4@sE(DoHv#?M}Ripg)A=3Z>pp1jce{)de`ZkhRtAB?aOCJm3(is^WxLB zxTDwWRRAR20I-JgrV#SIJDD?~8Mr(7LGAUG*Kc;#J(iw6l0=Yn1IViY=N@d3@4;%t zYI}BjPhZJR>QMO~`~yk%J%Hd28i!lVOm(Z-qM9&FKeSL83vW^{u6ey~t_-Sz}38%GR=>#$Cj824r-vh-?4>GZkj^l=^fz1HladqsoOZ zFdG1$0-nXP9mbX+q_kR;(PmP?s%MjS&_w6y z?!mbgfCHSdZF!zYp{EfoY43I#9Ne3^hWz9=0V&5}kuT1g%w6PHm-~~F&R8}XaR$`8 zcM+8TeSij~NJ#c70FrJ1I1&;>3S(*0{QCe?Ut7C49)AY7_ZbN!yAST)4Hk&1DVe3n z-X)x;KNJ(x5d)pQsT$G+B;CVY;-OqJlhEoeNHt*zN6%N{Ai3auuDYm+Ct1cvp))_*AQGBd)f8fF6Ty;D%$PloVqLh) z3a9`WTRpPuE@Eq)qLH+iGz&nG1}T7Kqbk6Ts6fjB#3|;n2PUln=FLL;6(Hy!(V&v4 z{jvx?iEoEpK-e{-63ZnxB&o8E_^AgQDu|N5{;!J%XJa< zZ>Jezv4rLKf#UUAejg~FaycOOM%jeC@ZSgi0Y(hswZsijKL7v#07*qoM6N<$f-ERK Ap8x;= literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2L.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2L.png new file mode 100644 index 0000000000000000000000000000000000000000..48d2f17986830230019899edce9d7631dfeb3a01 GIT binary patch literal 767 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 M07*qoM6N<$f^Ho@7ytkO literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2N.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/CRATE_2N.png new file mode 100644 index 0000000000000000000000000000000000000000..3de5cb04104eb6877e2606beff4a06e0825113cb GIT binary patch literal 1198 zcmV;f1X25mP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuA7)eAyRA>d=nZ0flF%ZXdmn%qw zg7~_S0ttc85gG*I2~r`1pye5O1sWcQnu2$rIuL?`hK3?2NmU3KXi{+0)HHQmrZvW{2?X+Tu3O@*V(5feJIZPix;B#L%z#jy?ni7^fX*@ zkWVy!L=}SXv*R%ewtNnf!!r=aA5p|Ep#!Bjn1L(fOIA-#dt5Dlo`7O~m`2MAr>3Dy7_3U^`9(flDzu?lfv^vWL1ET^P*)uu3 zl=R)nWC>0_fmTq--mB6Tery6I$Bz2^D&*)Oy9zn-^Q(}fgVO5Z<-+Y2;$5d#WQtSb zyCuN8TIJZQS>n4Tkgd?~qa&{bN_@8jvK3k%47?I3@!b+ARmdxW65lNWuRvQlr#^xF z8yQ|x9YW^4B2khFUQg3QX8f1)>nkH1%SkfS`PHs;2_YdB`c?;`vmyZu(m;C)XJY?G1 z`r69TYAAn%O~Gt7KU@F&afZJa62MZ30|mO;d}J?VX@F7q3ywE8X}O?kh4PQT5AfQA z=n)V#6$EfHyxFt|}72PZCi6`XwMMqzDoGlijFt=F)U2c_k9?!%yZa?p?ZKXTT-II^^`v zKs~>Izc*QhBEprcY6L$?AY##wt7-&4Nx)^DR%Mnm5W!CpaH)_w^Kzd7#ZMA&sSviG zY7)2^!A}y1m;sI+LIgiaAfiGtfe3z*fO~~h#1Z@?0a+~<*(KsiB;dy;pk|;FO201f zV-x5XR@12P-Kcz!HAU9Z_~djN1Mogh&mBB0=-`g83a1QIuWSOyIYjUWPaZwMLCDU| zeVn^r-M%G#_md?J2ThaP+fvhyDMv{f`1AJx_0>QQ=pi!=2Te4ktm#3sLzo8s{QCgb zBYB=<$24h}hEqDae^}GRDH$^j{Mz?{?06(?&+oHJ8lLUSD*M_01!>cU|4;@d+W-In M07*qoM6N<$f^R7s4gdfE literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DIRT_1A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DIRT_1A.png new file mode 100644 index 0000000000000000000000000000000000000000..7f093a21e4c77da8571920d4e4dbd1dbef074bfd GIT binary patch literal 1745 zcmV;?1}^!DP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuCJ4r-ARA>e5n!$1$H4uh(c6RO9 z6b^x+k{jf}0bYP3y#K?5qEZzb+p+n2zL_5}1`6;BF0_wU>g7eN_|)1{&QqH)xElI1`}?1MzFvs}0%@4o zvSn2gT4z)Nm<%cQ`Q>?wzT|H|;)~w)$8XzJd>~b8j4h+0|b&04--Q;(ox;Xe8?zZFd$>#t%TcdSNl^;PdUWX)}r?e zIKAuPn68*~Z?13IjVLOqSk5{`C;Q`9Z$2fO%bmlVQap|#5LO&teqD}ofnLtKyWvui zQ42}<6(l|Fk8eM_Y<Z<_o}huF%(Z@T`w|(m{Ae2%m)E_Wil!e^!@A?Zl+1eMc3eQ zZfNj{Rg}t$k2b4a(Y5$xL%Q0ZYatUkGgVGpsvt0#1Ou1k7+5%!QIqMMG>2VEIyinq zqYK^7{yv)v5ohc2l~e69#2TR8H0Y!khRg&Cn4@~zpNl#DN<5e)!RM#k{QK(;{4mv8 zWGfV*v-t2K`q{5DU|Ni;oERpvuFxxkYaxPO+-M1%Za6W;P$&E2>zC)03`|MrQ^$KL zVKVCb_>xg+j|4G|7~m`-JOJf|;{n=wwk#|~L|6O!BuW6`Z-E-V`Y-79D{VLk%S4jc zbJMht6Vls$eG@Z1vu2Bf4}MFFOkwz|La6v>BXF_9Xv~J_WPiN6ILxVVH{ik))c`UW zAQBG{L>gj5MIwZ-Q2+u{@KH3n&^5GJl8Ps{Uzd8OF^*g7IG8CJYUie|7A1T?DgwI1 zrYk=LdllN6+-?v1zf}-S3?_VOsN@*fB@!U`Q%uQu5zRlMr^SwR230({{kfE28iATO zS6CT!`iRk0Qa&xwPn#98{v2OrI@zyMBDZqq5H6dZFbK_%pSENW_Y`h*Y=}K?aF!3q zceP(TfG;^}sR-b(682iGts}!s!mUtQe6J$DZynLw{`|9w*#l4G&bggj3O>Hk;|psX8o3_WIy}0 z1I%Z}#D&Zx&BS!$dvVZp6HpAmAZbH_QM$lwh0~?@X%#g^E3;K;#h!1!`|tO; ztY)cfU3QWch7Tdlr~-^;_gLyGI>>(b;y-;K@C%_}Ex$>EnDp(r;^cUE$bS?dfP?Rn zX!Fg3Iv+T`Kg@Sx`YfpT`#=x-+xx)wK4456)*REETKRPOGUZISc`OG5{`NkwT^5Hc&lP*sXp*!dryFWs`rQOePD`FtCR#Q z4)$ZdgKi7B)H#0rD~T>LaAwUW^cngK`|~{}B^UbJ`#}Ad5B^fRL3_c+!F2&T>HEX> zKComVV$TSEdJ-IhPxO0(NuXEF{Ji&vIs;Z3?KzVPpp|uHNQfRdvF7BZ8;(G`+TY#> zmc&PF;AwpCK5Xv;fA{@idmos7$@2E?mE0%_y}b`4w2oTp nv`i)Y+27s=mSpvRy$}2fWQn<}rmquj00000NkvXXu0mjfRbxEz literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DIRT_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DIRT_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..e9fa4ec62d6ee97c5b53f424977b4884ca0db910 GIT binary patch literal 4305 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 LNkvXXu0mjfaY~9x literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOORTRIM_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOORTRIM_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..7eef12e30a7541d84fcd279e4007f3fe54b28d5c GIT binary patch literal 1394 zcmV-&1&#WNP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuA+(|@1RA>e5TER*jK@c66MFJtp zf<}xUBqo875OYetA`r+Q1pK`mLVh3;40sT7F#++oig964e<0OUT{Yd+RXc;z9bIq_ z)7@|0)T{2Esp_7cg-@S%zkmJmY;CiG-^$1x;WwFXynmM;N8@k=p~o_Q^z`iF@WJkQa!>|mk520v9$nSYZRZb>^6KrI(aVQWAN^iG{KJ=3 z+4077T(fjzR?}kspuy&|R(F7J{kjiu^Z34$!L5O^bZ7I88HinPOyt5Fi*e1eAG4a) z%E&(h)AO^cas%%wi!KTwDLdY1$2ChgW;HG5yACWZEq|MStfrNl#Kr2x_SR8764`Oo z2bIh7v*w0DRMYLkU$~t-fUc!CjFks$zL5v2V;CVNKlH`X5k4k)K-y;}RuujaW)n`z zct4pI!i7iN^l?4WWrCjbkd0kUMikq7qo;0h%V^uy5$xK&`7 z;TSoEc_6mmg>U46s@m9ouIvYT;*rbxt{~Fwz;`pC#QT%uGPv*vEPLdBV1KU!j_P1}Mji-tyYO8UI{f(q-wTcF1^Q8)O-kVC(6}y~ zR{Uxx)$PK+#XQg?0dTZK9?!ldz+YFz&|cT*|LIt_o$qDGL3tq5?ZS5*xZe-B?~7m{)O-@-(BhxIzK7F+9VSCX=NtP0ia#9+EX{lLlyMncIC{c!N6B@e{*yYP+wiN$w26dd3o?)5z>k0%(6Ukdp% z!hQ$73!_2YrSC>7i0q!adt&iEL}n4=HSulV|71J4rgsq!4+PrD`?zA{@l;N5PA&XXQg?d5YFQ# zDx3#|uAp&~`R*ZB;(blbj-$Mu3XJ^#Tr!*g4`w7O;M3lC?*IS*07*qoM6N<$f}9SR AEC2ui literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOORTRIM_1C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOORTRIM_1C.png new file mode 100644 index 0000000000000000000000000000000000000000..d4ae9eba6a8e635642c17a0d6730618025f457cc GIT binary patch literal 1355 zcmV-R1+@B!P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuAwMj%lRA>e5S}||bFceNtH!zfI zE0q@14iyC^Bqm@%NGuGj`~xKZ9s~b?3W3ytk)c(Wq7$V=YOh^@iO+uaOZ@D2m*ecV zhngX=zkGS0?IiDulPtV`^Y+90clXveD=e!kW{ssj*?9USKTg51hERRd$T2Q-8Q1y! zrS&^#{fpm!ZvQ%~M)lE+!QS&{!+N&}&J7yXrbufGrgb~;`^0&Cbhx&-i1P8#;T|7W zRoU@Y?4YRW2BcPn`Mnl6mqptFzVvMuaPhdVl)<%e(sal3l`{}Fy$O*EZz6^zEq=&q zYO5>m9{9GrT%Dd`hbdq|im*#|oWjOyO*du|!hF+#!C-0UQ`f5iaJ5JhA z8U6U)Trh-IRjk{Ezi>G|KuwD;7|jQCzTyMbK1L|v4>RI^u-!KH0TI6gzmKyCn#}k0 zNg-S`iK{NJN4iW91?Kn8e;$i{s1ELK6~$vkLNwhm{NConN8*_T7th(*s2r}fM$;Y7 z@6n|alS<>UA|aZt##em6)1?p0jQap`>+-sXS=R${%Y4NLKJDO$gb&PyQ!8+(V3@HM zjWRwE#_z&ce4wf}w(lqA12f{H$?$<_RuJfR;F~j$$oB{PMR3ue)~vwI2ZU}1zPksc z5BMXq<36z5^7B3IU|q@cb>=Hiqn>y5xBu&WAm7Nx*=Bs~Y5B!{fQ+eoUZ0j<+y^kC zc&wuN28}(CF+MOY-*n*1=a2MWXlNhM$xTY&)PbSh7_HC*V%;u$(}BzJftCrN4U>I9 z;k$c)^DaMUSKFrl8E_M(iDPStRikTnvTlNEA?7PS5Ks0fQZ8I;mlj{=D?UJPCBkqf z!R5fU#%S@!^XL8yxO;%}w0q9RNZWfL18xV9<7mU#=uXKu9Y{R)+bG#_MAb|HyUctb z)a}AI9k@sza3%m%++ZDiU?SgiAmIb`ZV?q3_aqQLyQe>>enkK^wH=x#Y&j3rl%VoH|@ zqCos>AE58besCuGh9}A`=XKh_aU{>znP1!opxE{SocH8QA<(Yp1L6Nd7?LJ`xBerV z3CF>_D9`uU-{>+K1%+=eAuQ4d{Bvk_oaExQ%j=PD%p`>QN*1EmC-Kp_@HjFdT6~>9 z|MLOlgk<+h<4I9~ny$vT&q4?LoOe0DBHs-Q;95I0-HCkjvj^vCGG~*IS652lXw3v4 z2z9&gmG8vjza5_(@Fr)b|4Df~5iooybCFcX>aMl(DN+GeX zpmCM>bAJZ<=rR7!ihZCE&f_Nv>;pnq(74L{i=Gdl1)3Ek=K~Y@e*qN&HL@#d4Cnv= N002ovPDHLkV1l38h$8?1 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1A.png new file mode 100644 index 0000000000000000000000000000000000000000..07069e8007d0a9ff9cf60ab34b035ecf7fa88800 GIT binary patch literal 1641 zcmV-v2A27WP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuB(@8`@RA>d&T1{^pMG&=-g>4Cc zL@XpIK>`vEC?HF4$qi225WgIx2oMJdL=X!Ci-^~eY$Fc5+48=AQ~j~sGvk%m!??P- zK3;Wob@#Mq`|~fp+-m$S7H5ZtM^r)+^u_tPaZZ1EI-mdb=+nf9ac8gZ$AKv{C|j@5Y5q@K-UFu@Wz|5;B3jdd;k5@CqG#4wb^$2v2o+5->{5! zwX#UmWzLH6Z7t)9i5i$MUSb~rdNNINnEjl0uHzfb!2J(eGn_-O85mUqN4MXKeOLx! z{)8O$J1T&)=fBm%nrisrQT>K}pdJb(F%sv0{=udZv%}XMN1Mz(bb&+163y6}>XKH! zqXMACdV&y*VACuhJjYpUdDIkIYrRzf=$WEQUCF>i+a!t@zI7nE*iYFRt$6V z?Ayl<0d`+xz+y;_2!zkj`%ipi`LLa^0ORxqvX!@e_+6rfT-i85U(WHV4UC%v+f3Aar0{8JWl zz4{tuT{sKz#lQ*IHzj~#-OwV?$57bYMBpqmJ_Aw%#kw(M6QYN~O=m#SwJ zrfUcwdoPr3;XG@;5LKzF-D#g(XnkqqE4 z*LW`yFaHFMfh3(EFj#OG4OwLZ^_5Zrh|DD%_gPrc@gIsluWNPalNa48+BjIMiVSdT zlK@ntjJbY9MYnlcqN2o4qoaO_E&HH3ok0qCNxbkZ&|P>3N`&v9aY z(p{1nrcknbEi*TZ)+$aVu>I)a2|rGzQGURTuIn$BSA7&dz5I8@+q%2Aqs<4m@BR4v n8J-k~3A0T5+N29=74ZBAY9fy&Cy3Ri00000NkvXXu0mjfKMLOM literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..da2d1026363c9334f8fdae4fb3eb03d82ad3d2b3 GIT binary patch literal 2062 zcmV+p2=VucP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuDcu7P-RA>d&T3v5cRTQ0?O4~$Q znhswnAOc1dO%qL&_@F-dX8eIB{sSM-Hy?fQO(IdyL_kCut(Hg!VyXDxy0bd#uDj1Y zXXZ`^5+`KXXP>>-Ui<9xb#G_x!;e1hb^HtlJIl)}azYdG?!$-FY~H=Iy?y`k`ya@_ zjisDgV03YqXZWsg!AtBNr&Z|&Q_GCb@8_mQX?5Itu-&SEddhi+-o5pMHz6;roY>v@ z9p6D;HT$cna^Xn7H+YolsY&ru%QPYg&}^SZGj5##&?}2(H$0aTO&V32LIra8@|6%G zhNjFYG^bD(uJG@?Iy>SAu4;PRW&$$#{|NJSHY+D;d9nl!A3c^D_J^wV^Dl4S`iZ^! zu-)-faB4hmy^U6DWze!Nb12kvFVl{RHLyK+gmVDwrKII___^rX$Dd&Z&cE8V!a4R{ zfdj39mE$MV7_305pP|O%PLzP^6-exC{T4KZ=B$PvAv|t<4&-8k{cG>OcklaasR2gf z;h%p5eSi6dpz)@v4`1-`u|zXPb6?3GcT56<+jrLAdApUp;5rGSNI^}4Aiba&3tpN+ zWZxBWY{-HEVyQ$0Gw-qrG>=KJU+XVT!5)hk0o*aSgq+91;^M-g1v+-BL$(57?*S&4 zxdyrpIAy(60H=M4j)b{FnRKO|LoDYkVA-TQ)uW~cON}=^1;sEuUzC_ z5q1oQNf$RxUsQlOw2lad8G3z(+)xKjB(2#au-;S_uHR?jqE$8h?H3J}7PVdKp3g}|9!51HS*{v8c~ zhNc@k8IP{GG_Dh<9Qv#3UK>=q(Ecp4cMy#j!wHSaicJvH*Sm5ui86{}(U@J7L1y{f z*&K-L8&k*;3k!flg>Ttw_7x zcd(`}cSpim<|B%(D#LSUbL`z0vL%pIAehdo34Vg&k?eCCy;y0DQ%u%vf+g^jE1>8; zRd~7Z3Sj0`yIk`WLsq9=-w=WemVm3DmFyQg#>9=Vs(@7qvi1+!c*4&v0iP%2fl{yn zK3st-=2E(v9m;kghnYaG25B_wLdDD8aO5n45Gqh%+6U~%KGsfI0kQ{r_2k)K4S|ir zzNjq-ZLNW{0_vjMB#*VzR6y(z24}_caN`3-uk1c?`%jNia0gL->%oAARGL$~4R{x2 zOJK5X6uZHV&#!Q7bYJ4giDDYYHDV8CSOcK~!gu!|+Y}m2=wRVZuqVs=z3SqryGCx0 zqiv}?f~D}yJBl4DAof_Yczy8XQ1zEq2>tcb$STBU9E|AQ>)(cl%v=SS zm=g?l8Sj#86_Bn?5PNhY5=djx;~(zN*tt{oV2SPT%P+3LK0IMMQLOi9Sb?z)Zor>KkWh|&r5`eOM(lW8On;sM2%Z0J=53O2!|(8SnlAj<3mNIiu@2T*X~c{1G8b<_tN zHW64kh(xR9B+5?g0caJlg;GW8ui_-vB`55}PQ?rA`YB`##3b|H$yfz&nX~sI7)vno zBP=DPV<_#yK&HxCgTX?$Fl6?qP+PW1{zz#FByi=K17z&w_zOiEqGCUGL$kq35y~1= zK-?^WvQt|xDU8ed~!YXvuLd2tPJKZU)s=*lLe|DFr#b#7t5nQ8E-!RcckmBFV1`O s!tql#x9;Iv2B|<~;d@gd00001b5ch_0Itp) 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1E.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1E.png new file mode 100644 index 0000000000000000000000000000000000000000..97bc3f59105979745ca9fdaf9cc1976363adb48f GIT binary patch literal 1784 zcmV00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuCVo5|nRA>dwTHT5qMHKFYVVJ~q zHZc=-Wmgar#9&|%yzmLU5fLwa1Rp`cYp=cbEdsuUAPa&*vLa-I+07Vt$JGqWAbvGx z`qbB_s;jGedN z@$K%83Vi?m2THF`h0M)^$(NgqmN|{EOWxCN~P@Y%2nW)n`IyRN^?*{0-;ge#%;*H1eII6w&v76IW zh(c&nbP=B6G}>Hi2sK)7D**JGqD)=NKu^mgiWt714_+zCeci`D{?Lf#m)+fi+iu4t zG34i={|rbCyteqe5i|?Ddw8gEw#tJKpzSOX&Gq(t<}<(m^XNOzRvXVm48|`Fp`{Pg zt#gH$F$B-yPx}TKR^Q2RAThjoJ+iTW{Lc;W^=Z_R2N_7%|E+C8#ZDJC{@YQA}u{W4MSU6csS&xewtOYRR zx8Gt;9bFkh5%hI>OTJdTR$fxvcItlHb~LrsF9a(AG%4DCRM_tQJ>lZ=2YIj($#z}s zCY5ZbA40Y#uZ&x?s5s%*$h2p1V+rGC+kA$|X2J&pAy<_SMCU17!fS zO-8*&K_CWq#)Ad(D_=_6>M~|bv*tWdIy2IlO$V`S{FyFPjL!o!gu?fy8hsFnVdl23 zU4In7dKu^npul1r*}7(fp#Uy819cH%a}mivHW&(^&cj9WWos1ikjwxV@#O`;bDtvS zjh!+bk<0*_y1W1?_{v7N43ygL?!d9 zYNI13dIe;l>s^q(Zyf3;V+TMvMn$nE@Yn$4Y$Z=)E^J~DCjjb!9Ms(6tp=Z}8rOahB@<^BkQpWkuV!4Hzoor7iB}anFY` zb(+oqn-Uc^2o5F&aO9~ra|i}w1JDHmhM11pMFtWvgz9yikRNpyW%?l$?QUe&jiN@y zz67p(_}-p=oUBIm17>uszF02%RQSn!b)rSj&S=2RyIZ@Djt=oGl_Gz|vfAgSx=^(Q ap8o(tleo+7bx%3~0000Gc&RP literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1F.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_1F.png new file mode 100644 index 0000000000000000000000000000000000000000..78229c8ecae7bc6a466a2d07bda705344e8de486 GIT binary patch literal 2232 zcmV;p2uJscP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuEB1uF+RA>dwTHR|MMHJtb7?N6V z8hhKMBuYuErYe+z_=Sjq_#z@ciLZiS{{$a=_Sq)|{|d#v`6QwUf&{fy+lbHPK( zwI3l3#oyd>_qV@2vpakDCaqq|_RN{{@jG+o%*@Va*XwV-m9_l!dh4Ce6qV3?clqqa ziH>nTzkX?L?aC+fa}+pr;u+H0C(JuBjDZ@#sM8{PHASWqR+-UgGicAP{o}8M!y?zl-#}Cc!bj+ODJDy#S*#k~&KNgKW0)UAPV3hq90l<2Y zD0f41GUCKu$w_3O&OUWXIFGJLF(b-Ts0~)=YbiUs)yr>_oJ4b{h954}Z?O;5`3CwYUwnDxm!(($Bk|AWOOD^|gd)ze z>Lf7x&;<@1OEhC^&bT$zZ$kjRKmVG0?%7K8m8Kh+glGhtrikzyr_o?)3K{yg78_kA z1mKG)N{DHfWT3oF0{#B(S`9qBb+b`Y1r}FU7-y?I6alndB`R}0yU{B$pa6%Xk6a!cJQFcEzcPjTK8o%G z2M=9ezxBkTtrc#?Fg$T_WB2Wjk68?l?5Q|dpTD&ad_G-V$b(HJ@GS;irYNj_ch$X8 zKG0je)0v@8Bk{rSUjr7zJ{|XiqPmC;bIc+HA6wpsM~@+Ilxh3^Sxh0CAb}W2CkSj5 zL=UmIckihaCi;A@$hzJAAD=s8pxZ(>FQw7K%0u7w9yB?1JG|noU5j6ISTl1+9y`y| zXqI6(PtuAbCML4Yty3?&1oop@hRDzT`m>1uJ&V{l3P!!tuZa}_1cmN2yZ86PDm0iy zatC2*10VhC2~1Wjf|$PARYx088*KVAVT}P`Itz#Ej3~b}h16oA0PJXlC*@grYPyof zFcYZRftalv)>WzHn8iwyWu*XAuC9pT6?4YW<4Ie9g*>Q*I+{QkzezH%I>kzUF@;<= zG7!fA#5mZU{_Y$2HX17$V!$kdI`S|~DiDCh01N7rfhn_*mJF1S63}$Bh=>h6@?h(6 zV$-Q}kHOY1TkMC=fNl$Y3l)<%f28|7e_3Dnhq%K+`Gx}#+Z4Y7;@y`j94O~4S(8g*+NWbm@)CKxk- zUdsUIJ-QSh?JLvKEiyp#Sfp`%UlwU%mA4* z(l~!0DFINgiXeJ)!c+Ku(Z3YM1=iB$9PhBG3h1~RdgYJoz1i@RNxrFbs;~wOeH?=- zR?d`}g;SFHy(?#BlY(VMc9e1`L2ci8X=8 z2VnKYs#0??jcY961HU`o#dEDU0YHljLD10K6Bj3eHTc~`c-i;g5<1v+p_B_0{}Tp@ zqA#a>06BlC|LxBr0-zkRsVVwE_XX4<(3=dH{d=TRk*H)NT?znOccCELLSjZj{-geF zPi9ZkR}Sd-x49+qwde~x^2o4 z!Px5-=A5CKujLhARKxU3{4iK>=Y}jKC)v=BEFqhss)W|kzse$&EECV}O1MMN`VXj;Q&X!I)>%w2w zSO%6htM*!_f6tndfv5)5sTRKR!#TPCtJuhrrqt~AX$hdEG5&quj%;KtofqPx2LKzW zfx^;%L=^!f)(t&-D9(HzP+p)Dro3qTwgcmrQSH`wU%8{DGoYpnry2wY3j;XzY!!%t z@d0pyfJLP%9UudV7-IE0PRy@#SII1hPP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuBFG)l}RA>e5TD@yjK@h*l>0Ja9 zVxmzZD1H((s1ZReG=*p-R(3X4rm+#kzraES8yl@`{0AhJAQl!{DT-eh6A75$SEAgB znxKWhm${prx4ZA{?%lo19VEy)yE`AhncbP)y}OQ+r_bcP|H|c3S68=eoub6-WbGx=6_(`nXb*K7*M zZE5pr3jsvuwn1&$r(3h2k8+KNY*8N4R4rR*VA~GXn>Bi;tzZYBac1&8InV_3PFr~_ zMBYmYU2& z#O|ZV-aLL(VO~ramen}x?>cR<=DgqRHr;u_s`@E6|$gIk-fKEfk+=3-o|& zcOZrySLiIWwoY3X2V!+#@c|HDn@09@^n9v%8_^vAdaeUd;yjzZ4Oti^dVgE;5P+1r zP7_v%9@84P1w}50nt-~-t(C_dgb3Fhnk8F4dZb`S(38@{vE(EA7Fu#Zp#a+60hI%A z9rv8j095#K4Z%Tfwl%8DDOIjQq8y0O_x03XcBlfHZOuN|N-BM(B1>g#3)POkW|S^L zSq2HcCZSeFr(1U6Yub`#v^yzp$!+DHu3(^azOY$tmKbtD;tpX)3gpk+!0T zLW={0{`Rdq6R%%x-!lZJ3!~>RU%Yhv<_!#j2E)SqJUIaL5AWSGktNwPIg>_w&_mYZ z0BHnJsT%0f)drd2!{o%TQW@R93%^$uRu2si^HgnwCweGPbbx}5z=Mg`!9+tlhtU7r z{IUORu5{Jp3LBAE4Ce#T;sCZdHVFlr05DwZ z2(?r?gw`yl*F9Al+D(}txDvc4(J587CQ(12n2lW02o?*zPj@rIvJ>1Z4|;bmhwsBW&7fQ3@_UDbs_W z{j8;oW^c5S7GgPIc~YX7$hTtEw3cvDA=0W)l{5JN1dFUkGp!s*d{R<*NiHu7_^ z+x8_~7NwrpS4^FKJ(Z#^SqvI6U^e=mkGlqMCIb>ca1Kb}tiPr7@jlD}e8MIFN9EY&Gqok6{R_+bCg`ha9FgZmTut3(zW+G^o8it!y&H%TG#ch?+R4=RgxpH^!8D z&@@J0)3vny3befgd3>4>@RMo$OuG8}>Y4d}yk7>2dD-3GziHyjG+Jgb3GIi|vdbn| fO8dDrkAwIRpkmYd+@OlT00000NkvXXu0mjf1%8_B literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2B.png new file mode 100644 index 0000000000000000000000000000000000000000..16a88b7b875bc6e38e59befd072b407b193f9f85 GIT binary patch literal 1922 zcmV-|2YvX7P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuC>`6pHRA>d&TD@;vMG(KUF4&H2 zpUfE?WD5cggaA>%2+5=%DNra7;vb-)A`J}^qM)WgNHjE|qTwGfsgMu_1z!?h0uo~E z$P%%@U=#TqVq2!*_ukz5y?L|yKK<@wPS)P+?Ci{Mc6R3N`d#zF3okYbf4beRiHWvu zbEk@Mu2^vaW4*a>?tJmdhfs3p5Mn9?sTE6a+}zpvBkqROX!{tLY~#_X$(U|5c2=(H zZZ=JAe$DRWq%AWZZy|sfojYZQi*zebETY`Vh%L!O8LF~{X67EG-hQLcwN=^yXk1(Q zRU8-q`dnKrgrm2d?PD>`6;2YfkDa;k(+?uny}mmA#6ohs&ffT4cW?jor`HySXsLy= zDxDyMyNT4KkPwfYedfyNpY?>pgyCExdGKzoEt)PGfkCc)t}PvbLOCEBWnHmzCLTCm zZH=|zG!2l!F3q;pp1z0El>;f|wnp^KNSZeUY+>JLqsQph`tO{m9N4%?E{VF(L(ke* zUw0b2)a(+)Z553`ag8n-&4HdPA1!vKMm5vWm2IgABvn?{m{b$=u%`w6{=~F93eG`n z`5j1T#1Xn`)*84+y6c8x(U-U7aloSIlg>3>lH*3;;I^y-x{3i_?z6e13kh+JzPK$@ zi{s<8U}Y5(Q${*rKkA?+psulv*uC$g*M148&b{Q{KKU?cOkus3A+eRFhtommiOo`1 zO0A_hZMMFvJQTzKw$r*kK}F0r}!_vOnU58pA2AsBe-?9(8YR#rt) zj*46%VODGPN_){mt;YdD|Nf;9mVf^7#G|Jn^vcDTUw`$rciwv!OwbV6+uaohfd13P zMHioI55=_X+H)0LZM5idK*j)+LLh)1tzlB&`pWV@TU~Vb_ii5u zM)c5%2vD~t0^TyJOD89bE=2Rv$!9@J`}W@Bfq)Z%fSLX&xc06BPZCQRmE6SyNna_Q z?tF>nlUJ88bo`|+(0)4;|I2{#*}0oQU-D9>A`n@VBxd?bHhU8{n$h^?)I*?GKMbB| z^J{T@DUgx77QMb1HJGwmZ6*jc*n{msTaLq1$w;458z@igjX4w(?0Nt0cHsY`t*iauRYO=4;rX; zfVUYi56fFhtoQ8P{QzXHKHe>)&mcqD2VL=7PY5Dg)B6s+sGv6+!7Yzh9~d3qRrrlm~K;ZVDRWQtR6izi5)Is@r;Hne;G}nFL_B#vs8hP5`?wS zNCxcx;4BoUL1@IHuknym-U%kFcPio&I1m@2@LHrdqPGlVN|0OlM1>2#A<#;Kp}u|e z(=8DJ!D>9#(u9QHY(&2s2yjaP5jVs-`_7pw023mUEh$SZcAL+iTd1&j#xda5aigpK zCK3_Q#>6?zF|-Mk=^EiabpaBZ<0>S5F;*caeL`u}3P=sLwYd?#Gu&7WMZ=q6l$vI8 zf4g#VO|zk|wc)e55nN(-@H@Yu;J1GKn0u}6YMSyw$WVrWkx%P-HINBHuFIGnF>(Cv zZ6UZ3dm_VZBkA5W%?FJ?(d%eW!5riJ+TjW<5VbGCyzD zCh6ze?!V;EjI?z3#Psa)`VF)ca0%$46^v4?FpWGVIg0}S0aarS$-~y1L;wH)07*qo IM6N<$f;YHrw*UYD literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2C.png new file mode 100644 index 0000000000000000000000000000000000000000..29fbf1c7213339bb516d380ef4bbf8ce4aa2c488 GIT binary patch literal 1542 zcmV+h2Ko7kP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuBa7jc#RA>e5TFq}wK@`80$19EZ zQpIaiiH0Iof;N)sf-VFbv9gfZSh2B@h`+!>BsMmzZ2SXaB@qz|R)kQEYMUn1SJAxJ zpvA)P_PlrI%-p&6&VB9edoR(*I5TrTe&@`bGcz}@>B#XDp7UR+RLte_vW*ob=2$j& z2E%&Oz@Z^`;X348QHPikLCPrZuQR`jpHz2&TAgplAh&9EeXF89@7MT<>_*e9&8|5p ztlKi?)fNJX)mwXvX_s!*f-cGp9G2O+{Whi1u^iykT1l;}wr#8LARa|_iRP*MO5?|{ky zxQ=^H(g2kCaSg#i9&D>r=P6Zjg+w{vqhH@zec7Q37;LNd!B$e~n~E%z+7_xFebp%A z1Z5c{^oE350iHN=bf~Ru9e0Dow{PF?-o2MymBkbc>>oS;Vsw0xIO(d0ryw4mMo}gP z_f|&QiXN&g4iNgAH*Sp$zwGYa4W_f_&Rjfy;p+8k7z7Q5`MEiA0O%jwxf8?$S*&N6 z)gXUx#05R1EDn$^0F_FC9$jOQ879WZeiTdS{+a)|GP`DXUms6ZM>wK~@=ymT*a$qB zcpZXhXy*|6+0E|?C%xijp9^jTnH@*u6(jZmXmJ2r9GirKO@TKIgTWX<7qM?1Z3B9O zj&6|0WyA$Nt{a?P!hy<@5($be9&Ie!+$%%P|8Z$1wHs3RugiES)S&y0Drzb{qyx?Unhxpj+}e zpUrs%+|m1L#h-SN(KwY+q%ZOqBh*sq6oO@vRUeN@7l5%4TcgRwTTqJ=;M~-u6$lzA1lwsV*@?1Yx32k~2_iaUd*-jl?BP*grU} zd|Ll1v$5$nU9N~NtX(8}s8tT|MFDz`jAI&v za)3sSX$2&WgNPP%nPGejGNSp&w*hlZ?a~f`t&SVa38S2(zUnBIb zJuMuO1P%cG#KSR?tZnRPMt-mZ>L4rUBG2fAJockGb-7e}5{%OdNP(K8M@VoD;lKz7 zLS9exh91!6l}tEbJBjKLJ;$C1;Xq&o>K{FP5Dw_BH3a%l2Q>5vAE|mAQtw$-z(l`< zmz)&bF&)6ONWOQBt6vHL6078g8%e6$C}HJKb~J5pTdl>u0IgDCgT~9#$|ggsPGT!- z{STU3sQwWf2pir3^_w}vvqtGQ{0cO@0~vfxNbr+s{7ky?`|7E=zr4*ln=`W8UD!1C s`8`@@2olB*r)8H-u$1w0YaR#j4?2h7s~T1$oB#j-07*qoM6N<$g5^fE8UO$Q literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2D.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_2D.png new file mode 100644 index 0000000000000000000000000000000000000000..1e76d75a04c857d066055a302452a227e8cf7ef9 GIT binary patch literal 1974 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_3A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_3A.png new file mode 100644 index 0000000000000000000000000000000000000000..d995edad784c7e4fdc85bf594e72ea259c81c9ad GIT binary patch literal 1613 zcmV-T2D15yP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuBw@E}nRA>d&T3w4BMG)N$8@MiU z)g&b9x?#~5AA&+&L=gM~fTUf(>Y+!(;!58gB+_nA98=g(fQZr{H3>HXtxzkg)CW_E)8 z8V&jdz_(G9@AZStj^6dNy^K31jI7sdoC9D_rG+=mevJ(G@vFPQJ^3jN!`z@M zbcP71O%=fTBM2=ZS1dNop#hYP5(s`h01N;wbZ>0Q3kdoS0yaUEZ%~dl50BsZ@rPdk z!@>&zfXvao4@WHkuvJ0>>{AP1dlvK zMB3KENP$_Wmr#bP_hCoFd>|4)kcXC3uv#W(K)3rUx)H z1C9Pl7!KnywstZez-4Ekq;4AAR+JfNC*uLs99*hiZ|u}jo&jCNR~LZpedKDlcWhF~ zGoYrfE&!5KVOj>%!W9KjE>j~>%YahMWk1Mroc8kmN0p=Vyeg?dR@^xd(7Gw{Dn+*K(3ZpCR0Pe_uvd8O#2~RM=H#5Nd(*S5`dIoZ| zvWLIZcECW6B<30J_Nv8yiMG6Uv?G$^Qd zlf8t>zEO?+Euw@4-gexED@P^ok%&oztqe52iV5aE`uM$|S*l4sdPaqE^#H2xg(`Gf z&W*~@s#@P`G`rr7`bg;kl;#o!)`k5ZUnoi#*u&Zgo6gBnFUSCoHZLJXG|H9%+R{-Y>=ims zo)v&)V8JyoAr=pS+v1=VEjt6??=zMG{x4{7;AJa4fP4+;!Z%L5hbgNiH??d?9zd^M zWWa_ja**|UCw_VWFo88dL;scF0hEt zP*XNU4MKyB0UEo~W{aR?VgS0St2}5I8AxI%hu1Wve$d^Z(o1NtdsJDgqS1j%0e10M z1@0#_iY*dKUa5ybu+Du*#l83U@wADn4h(XzuT8q(5Hc|s^$`9B=f|+9r>E{200000 LNkvXXu0mjfMRM7e literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_3B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_3B.png new file mode 100644 index 0000000000000000000000000000000000000000..4e75704b42e8976f6d1ab67d26bf6dc29f66bdb3 GIT binary patch literal 2008 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_4B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/DOOR_4B.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f3165ce5a709e5f548cc061bab99c19c922d8e GIT binary patch literal 1716 zcmV;l221&gP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuC9!W$&RA>d&T1}5tMG$>&e83ZC z7<@(tm>DGE!XR-BEQpDTF4$m5Nc;i*5I2SmKg5Mgm#}eXj4MqvLgL0C1H>WWV`L!1 zhsN`!9;fS7f8P7M#qXbws~*}H51B4r3Suiewlv`lY7&%UjR zWdLpofyDCBH%xa)v$kQ0bAypsQisx2X9=yHI7+{5v(Lt=oB%xj`ujCWpab^VSOZLl zuz5P#q|5;}!pV=9e)(xbVC&caJoV9g2GC%0X=P#K#)DuibTQBX+p08BQoHs~WOi%e z^RveXCQr4YLj$^8gH1X*$;O z>Ry_=1Y+B5gX~$63~vO)!n#khNAJz`M>KQ^;6+9)g{IiU&u>4hFAQFzXJ06fRXPLZ z9(^`igH>_)+dt;t(mE^Gj^$>+xUB8b_(2n^LfG${Kj8O5GfS*+0@@=stlCv;=sw)K zZ#0H|jaY#M4EyZc&F2);_%kqjESrGd#lWLM_I_5HeR(Xi7x&XQGK2O>K!ZI2`x>7H zbK~kQqggqA7#f&x#}t6Xiuut__@aO^lYlm>Et{q9FQnR@VQ81oEWTp4%`!Gox=6r; zY_{pHl<*ZeI zKX+`T46v3cq+Chg^NWf`;za?5D0glEQ%k5mdmSVqvl1vofKzI{4GR0I?q1K$06W%> zEiApWk4<0L`0L@1S8mS_U-!Eb8jO7<>Tsn;I>;WFsTq*)!v34@u6%v*dpz+AJ!CvZ z24HJ@a-cO^qz#n`65THJLKX5`LOQ>Wa=_5w=0vJdDOB{JW5*`1d;(K7;2(o|wUZkoN7ob_Ht*p7hKVm1ViD=Vgmwu;uax?hNH_Hr3|@a*5% z9nz4jR>XMq@F3nEd%X2zE%41?NaIC8O@##Xi?dnwV1qqC#vbhD1GG)QL?Nqp^jnZa@AxY>lqmEn8holL3hAjB7&|@9cvZD z%yPmEFgG^?yi)1}I%6+E^(hS+ut#BFh&ef$o5*vC8R(e3PYz=bdNM73?<4^!dB6LG zvj-)t9E^RU7=Q`C$Ta(^msEc&X3=o12c2N_$L|3%35LBXprE4{rNjao&j8B+GNw#d zQj9&y3t(?|hx1>Q1<0T}i=or36_d+(cWts-uQWGTM*&XJjEx~Hc zNlPq^TOp~b_D_DeN)U?DTpiifwvdi1z4{40XyQA+@rSu22Nh*OuxYxeCoBQb;Dj9X zKqUkjUq*z0kANpj2x%}AvEfs@pfQyE<-E}(!P0bT6A%!eItocs5UOGbxxccqY@DKL zK5y0l=DEGSP5p2<)XgJ@_g=sC2u}ih0e%<-y>u%|gC~+!1pE&?P}K>lRE4wv0000< KMNUMnLSTZd-Ux>P literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FENCE_1A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FENCE_1A.png new file mode 100644 index 0000000000000000000000000000000000000000..c5426d91b9ba1e3e59d78de0a7f31b6ed7ec81ce GIT binary patch literal 671 zcmeAS@N?(olHy`uVBq!ia0vp^4nQ2h!3HE(?k{!)QjEnx?oJHr&dIz4a$Hg)JkxxA z8MJ_G4hF{dOa>N^5+IfWVg?501&j>LK$;OGwtxvP>#%?s&JF-6RNHvfh=GBL)6>N< zq=ND7oP%D69R%9UE1TnZjy9LG9zFg+aL>HloE z7{{`tn|=OxK5x>qZ~qD_>hGGIaR{N(4F>KFFDFWk-9-`DPoExrEo<aM>(AM?TH{-#rw zH{P$eeRp&IoI~F&>{S~a7CW4Gs`YYEc@Y}W&t}X0mF-b+WC~vZ-@JwCk7qkh@O1NQ zbANI3#}XE8jULS|7T51y=bg?w#d}?FTKHw7|0?}R*bX-7sG#%e^{?oEQ)u^ay zp{97svD2@8@7C?!3)k5m%($Ta_~#=Opr7p~7!P@OPU-c0$o;H~7hoMCSt zRE&9f?vhpqGyu7X+23s*3XE~VBf0w>p92zwJ-}j)VDGr>im--o8H4k!e9bBNH z>T%Ya(~I+%CC5c!Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91Pyhe`04A~3G5`Pt8A(JzRCodHoIQwLMHI*9J?v!- zFUv+r8mokutgMA-mp~Fy*r=d|5eq9DNdyfBQYZ)!Y_v&{FCu|xvxSKG(OC$RWYwgy zu}GH9DvLt2%k%wa{Xfo~efPdQ$=m16+!@%Nk27EYbLRZ-nR_?s?0jOrf8(dC9Tz0p zXJ+Tz+RCy^S>9b+xfwuTuL^wX^6t#+qwdg4ulB7LsAGA+r!IGMvs?QdcPW9KI_)SW zb-DL_Kw{|~yY{%>t}l7ZFR$Dl@;%Uzka_>by)WmQ%_Ou6#&q-kX}gYUIA?) zy$z(^Hqr}8y#wQOEW`u2L&~HV;wz9KLXwn`BI$+rawNEc6b3443Mq02xtIMdJpF9# zNH+OMFC@K?^m8N_l7g*MCZ$Y@ITFOeO(DJi!evZLSx!)~)4L_vtV5{$?BQA6E|XMMZ)ie*97Y+wYg$zGwDC zZK|sCpKHtR;h8z#MRT7yeZd2GaoZPFLrZ1HFLwNkoI2P0=tyv3=ho7NV+C8bJmP-5 zv3><-tesm?XzZNyk0I@c!t0?H9Ctnb{If;h_1Eh^yT^C!cI0oLeAj(&@;zUF{)Oj! znNG;5+XVQEKa(--^`jzG45rL1l3;i?G7uUuWv7{WIRmquvQ}QPK0e z&PHPUFgI(6u*!~q)x1)e=CCn^9VfZ7A4b)IZ%V|sMAj4q~usmM>TeS%UhNYv_C74iUjLiFYV-BOM_qb z$&7x#n@b=GLCebCXb2)+5EkHsDKxwyvB`Zb7EX9ioaUs zPhB4MPEbd_$)qMD>P5&n(k+mn0H#cOV6^z6B0(vL{6Qr>VbK2b-wC#j^g>e4ksv-{ zNx|0TFDc7&B#4z89jR^h{z6h{8!6^U5El^1Q6{OL;`KMgmm|T(T~7xlnkFf??)n>& zevSk~Qm}Q(q?Ac9M}k;*nxxY>(hW%=M}mVBkP~k^(Lvl4t`d=18z{q%>tx z&XFKKpCiG+Ux=fKHjo}TMe>w$B#0JrB-o<=IxBqV+4`@;{{p7MQe5v*icSCk002ov JPDHLkV1k#!s~-RW literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_1A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_1A.png new file mode 100644 index 0000000000000000000000000000000000000000..d954cb2a9e16783a06b6f62188423963a026aaee GIT binary patch literal 1691 zcmV;M24wk(P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuC1xZ9fRA>e5nZavaMHI$gUeYEN zO#3tX9LS14BsQiJ zg*JOy@h93K+e~t7rRlfPac=zK`r1W}y8QAL4{us+#}LxD3G9bYJ6t)w21}@PEhc#d&LJs`e0njgPZU3_K zBO^f$u4p`b!D(~jyX&7@Bca33a__Qxw$FrLI{d_+xo1LBW zkQNvlc|0D&^}(O_kdOBFF2DZf?u{?zmzJcl@#6AI68rJNAE(bQWW^tHfHMPUyfj5b z%UzW+GIRd8ql9SVrrh|$c(jB8T)o4HH*3JmG$E9-G|Nr_v*W|tx$zq_AZFfS%-j5M z1{*DFx1zBDf~%OFSy+lQkORM-0W(vEL{64%^EeF#$~qau8F1gp;#b?K(KT>qblV$z zq^lh^SuM%7C&{s{7fj0%^`wK7K%i)P1IqQ^Rc7liQ_jM03Cih zcnwAeNru3l6i<#iY(6F@p*?9f$bmoP8pi{}UWaOp6l07gVUGs(wo%k6ahoPErOAyy z_11guiv(<{*q6t5GZU30shFK@i~##UDR>DBquf6YG4*c>f& zAdPWF&o3S`X~lAJecc{b&K&%XlL9FWmRBh6-QIm_@E|Mxkjp@^bSY*^04c4pZ#Db! z6G6QB4^5eXP|b~BuK`^=iMP@~Y${FpN71}Zl&Hg-lEv*^DBfXt4P?TfAwm!D?2`su zY{At@?5J0o<~hO+DAyat;f_o*kQKjL1GDGOG8k(>K9Ihm*w#ponHG#nlAER$j4{)v zSKsM+J34{F;COU*cz!7_z6j;Jzt4@I9;XQ^Lvm#BJk%lQu-(58=)A<2ds6QY^$hsW zfI{BC4>Pw2kJk13JTFt zR;$VkSKFxLs)o+!GA*$)mJv=nY_eMV_knuzC{|t9`$I7UF|#!Timr0KigfcL|2|Me!}*+KEKTkAhiVNtiteu%8_Nb-3Fwn_cSo-ucS!_cP6|JD!2C=o4&T2I zO#c0$z8hsu{g;4wK#s|PrhgyE^8V1j53n6=Zty|q-v^3wN?di?{ZJAe%E!Gw^zQ>F lw|DwH5w`w);NQJJ{0%trk00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuF@JU2LRA>e5n$2%rM;XSCKVru? zv17-zU1HMIX&p#uB7sPtqIE?ZP=(|Q0Rn+4BotU7!Gdj8-S7t>v8hndWXF*9p z&=wIw+7yz?r9`3e_r-RMeeKxhH}^Sy?%Z>)6Mx*ZsMI5CH0Pano_XGnnKO6B4L^9{ z$4Qc0AAM(b{8ne*{VI`Up175Ird6*?qp$Bh`e>$n{JC$_njd}x2K@fT7i$ulo15+E z=u|0%xb7}Bg=*b1H;w_h;y2}kcGSckgRRF7L}nx0zB8^3Yr=n;)N@X?bV z-n6P2TZf9(4jp}1^%#o22YcGApA&wwJT&+AJ2y9mGL?I>hxh#Cgi0$L3Y=tWv9APc zA#e4?Zxrp0!6T{|T_Z{8lGgqA_3Bl;sbhl`s0d0pjzE6+sR3eupP)q@ma!#nJ^t7e zrt1otQgDexILrYHspNrQHURYFBhUV4^esk$99)rj_`vD(sW<=hvL&k2u(Pyw**xp# zgkLrQ_V9BmQ%4fB#5T2t_>^pu?^VW{vBU=Cgr6D!rJ+_5(aSf z3M1ak0W(uTD5YtZH7lqs&W`1cUl9Q@^9p0$=7%xpXj;1!i4~~$6}7g`{x|}8;Flv{ zX3CJ5lk3*mOoD>4P6}}Z+_%2?=`w0`4P4W^)eC$~S1W90wh#dU=7(RgjM}f&qXzb; zPuVaO#NHArC|tep8#M`m2ALV4h;XQi-Om|3`! z>=<7ll!}928#%_&3k{%aQ!PtkA0x@IM*@56EUX6@%3${33F-ju?eCrZ$qT}#=@Z{S zC;W+vFZJEH;=V!oUigYCCHN={pR(bL-~5(WT}*m-!$0KvevqfHnx`9kj8!u z@JSMHGigP$XK2XdrN$Iy9vnW?&_A&LuWR#fTsri`nZh4_JvTnpzJGtyhaLoE>ikbT zJ`zrDdQLyS(l>w^#ka5BDNMF}@bDJ#@x4d}0t1IB7shUuBM_KI4~BYDN?h$H(IgIz9^`F%Gqjr&>Zwwa^kL32KFvq^~(yX3BPT zvy39ahK}xT<%~vfN4;()tf@u{1q0NFLnsc?T*h#&vpHjf>C$pnymzn!1N1B(Jt6#- z(JO`3qZ5dzSn?jmgSd($?2U>Z^XT^h^83YI1uu+1Hdb zfBCF_;!OYW`Gem%XHGl5f2iC206PUG37niTE$aye{G}LpvIPO=6Seb#ZEbclQG`Ghr=1HOw*^*l%2a zDDP?NYD(IF^gKgiPuqp?aZnxQ-cLQ5VXxM>G<)!4Wi6u&$D~Rl5U)*E&GtI7q{PGPGeA?)?#$$Wn@_YWK2!%`=V3(2s}`+ejuJOU~U~B&1(F*-4Bo$4}9V4v2P&vUb-J(YG&9gjPdETXOx

Xph>J1 z#vS5{bu7$CcvV(NA&!7G>x-X$2aK+PGdUw6sTGq$7}M1Xi-P;2@c#Wk*&Sil)w+KO z5g>Ci5s-J4QK_e^Za0wgd7|{g81Lcx0hz&m1V7m%SL_Q(Vt=U~C!Sj~8B5=4{B#a@ zBr57p>3T(LX(rH`Np~y9RN{`V*B3u)fM)7u?00ZKVBV_K9lyc=(Anyw+vaWF516PN z?AN%G2Y&f%l!0NdO|?dflL5)y?*|+-QVV5xOH!}=kBN}%NM^#jRrz3v}s;y3co!f~2Xm%|h?HCcieRaZ$X zYOI_1o8QoshO$E5_~kjU%liR#I9}}I^Lx*Moba3R&z>% literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_1C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_1C.png new file mode 100644 index 0000000000000000000000000000000000000000..704de7e3fcf48d0a11a7e3a006cc0d04cd11bb45 GIT binary patch literal 1939 zcmV;E2WP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuC{YgYYRA>e5nNM#VMG(c;YddyO zupMOqqZlhnzy|_~#K92}5Q&4iIT9Q=Ata=5;fwGgBECZoTsR=$fSeN`Fh~TW2st87 z4E~b@dmS6`n|-ryYkM{jobB7LtaeRx_3KyF)jd7kLmyxHq*kl_ymDh}?f1!No>hq^ z`Ndk~q*jl+E8mZwc{wRxfA2$T^WhKSz~@)5_9V2uy)`j0sZs_}c9Wh;)sAkj;XqdW zIyUUrE&RI6CDr4Iq*zDw)7bL4zP_#YKI68Oc zR8&fK!^g)TDG`6Yu_~!ei>LoYhxgq(w^iDByA1`)T6+Yn1lF#)NxSE+|Cl`remMdY zr%$Q1(RnNwbpOyi`P9?W2^|?9qLrY8!w9G< z$`cu@%!gk(py*a32iM5bvBx(uDtaZN%9CpTZ-K7QkMs7BnaNYasKJxbMwX<)&wYqd|VtQH{8#iWV zlh`*mHjhkAX2q|wfinYVyfj5bTdOK%Waj*FLkZEwRk`u&accG#0wbVD<(`x-qgRK$Kf81~v! ztEU)aGzoh&u(yq(PKn!8fhkRH{GoR~xGWN|DP!OIq%<>8NirUaaaAoCH;!XT7Rd)e zt$nlf{K8^Z{Nd9RNB$l=M&E2LwIPjhMb9s8GpWV0F*j!qOJ_Fz#7Th^1~api_iwE} zQQOOkU*|ATEM1D35|2L@>lHz~`G%%UKzPiJ-at@3gpQ1nJ zfP5f*)qPbXJ!YCPDp9Io0n&n!ndd-0{NiYlGh|8*p^AgF^_|h$Zh9cKz9B+v&e&k8 zTwD1`N|#-SSk`97FOJvgE8qG3r(Z5L8Yk>dW8&EQ_B~282(P^Qn&!r#?;oj8i31lG-_|UWht5Mi{))alZ0+}z!VeR38U$w@YQmgzV+$~wGd(hkp_J;zZG z%V_gKGd3&w>vdA(Za~zlSMO;X8w!J+^}FMvVDvtwc_drADFL@=7p^ddB5;G4lwlk7@$9T>f`+YIm1?50|oE?;&&YI#{eDhV}_xT ztY~?~D8?u3_{Aw&Mh$xAYc=Zq!Y>_wQ?e$Io%E_)f`oh!%VK;U`F=p`t2x;({L%qM zH;Ei{;i`G2(y_-kK4_v>@=bZDY>`G~KK#M~@u;#XIkmT_JSz5s`vFC!C^hDfbN|qF zI_->C51?yR^^z~W^GA;^tC>SpJe|&g-#MM8GZ?_tD~x!P{br_sQOeTPdkUDb=Na4& zlxgM|DTq80Sw2oWBS3|g8fAzZM8P&zCK?`Tp)p3$DQj%Jc9Lh*n zE3C3k_LPJBfzIV(G3$EWKNKTC<|HGa=qjTm$8$JoD0w|m`bQsw`+*`Fj%JdvRI%S7 zlnxm}IR~Oj?I}?j%LbYW=#zA}vFDGQBtn1jQwPk?gktxD`+@%7KXlGU8Cic4Fb>Eu z8PE*w2eRBh4DJV5j?T~XLKxf+6#JAo>$LizBs!Grp!{Nu_YZ^nf%fU0UwMQ3f&X{^ Z@DKeW(Z5Il;)wtN002ovPDHLkV1iSWjUNC2 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_1D.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_1D.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2bbfb2a78ca6c9db6178e9f49947ab24c9eb6f GIT binary patch literal 1680 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 WQEALwSuBqL000000001b5ch_0Itp) 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_2E.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_2E.png new file mode 100644 index 0000000000000000000000000000000000000000..f3ef68c1c23a5ed892e2402bf6a0597326e26784 GIT binary patch literal 1764 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 Hu0mjfj(B2y literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_2G.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_2G.png new file mode 100644 index 0000000000000000000000000000000000000000..96302fae7729692736e7802be62bfdb8d0824596 GIT binary patch literal 3102 zcmV+(4B_*MP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuHh)G02RA>dYnayupR~d&rGtSsC z>BLP|hbKNC*&3 zg_@>{kOOg<5ZjHv##5W;%yZ|R<2!>rLw&EJllQ(~=l6b`bI%#qUjO+o-nn~ks{d@P z{pZooNB2Jnfc%AbUxU?qa8A+x zw1DW1)&5k_r8Wo=D)c%ibN#+u@qbBFwf{PRm^lzLJ#Aoy977~P0hO4DFr=Y#SL#>o zzaA}-Kx}TXM(^LfBfYfp83&+7NSj4yq|j&2FZNTPdgl3Wf0uHF zVTd9y^dsOSU8rb@9xQiy5HoA=Nj4QIUVB+j`z96WHCUiGFk=q=lJpe)H=b!V z4`$8{U|oN%eeXSAXJ%$|K9~-6x~=7<_Je;CSZ8|+DdWluUtfLq9hHgs+Bd!>KBQX@ zR_CTVmHMx9Mi3=qR5=!|qTrj+D2r0-AWcC6y_~B3*EzR1Q~seL*(`(Tja>A<^kcQ) zZ5;j6@;@zlu;yPYm?^Kly`>}~qx(Z2GSHKI!p5+qU$y_nmCMWY=**Mz&XkXKc`k~c z&Y7-tl`+pn=(jFBS*ib20dmHvi*rtno_1#w9NtDo>Tk9mO{9;LiS&>0Un|`QaLvxm z*N2fkp2je$X#J7*fwyn{;o9>r#+Dz-*#7qSZ|K2sVd1HE`(cbBnx0On>~_09eEny` z_l;xxPorJhH*iEZ=WU&)XS)D-~1yh@`#h3vigk6%S-2)(~mpA>jIQlnT)%; zyR);!X06Vo{>vXSobrI4jJhc0I1ZohQ=B(%96_HMs1I(?gEf<+WP>=+pJ~*Gbz;K+oJ|M`tSOpD-VCLs$L2O7!_dh&PGx|^`@d;AXG50^>K2Z7? z<=Y||WqG6q8`^ebf?UK(rQH$j_3)8zK`*q<$w6f2Kv0Bkce48i{s;Gg`1+PInjih6 z0y$IY;2ypYu#d51Q6Rz5LL#1Nq~hB-dawvqV0{1SG|Jq#V9&|Fj&SHDN0CAE#PQfy zb<**(f1;M7G%Ap{5Jlh>1x7(fZ1mWq{u_rI4_ChSBA+2nW1H`$f*XnF=51mw(ZTw5I{5r zXra3Rq(h_$qdt%K&n!nSG#YD}H)1$lzxVeGD_0eHgHe>$k87sCia64thW^e}z1eKi z;*WRI-tS^KI6S16Y?#jee!X5S26Qf8{p>{k2NxQ@4&n&J67k`n0&&g>eROgwau)iC zfX)b3KLWN2qrF5JM1_L;DQc7YFDgJS_V)L1L@rsx?YC~nsW?PP$>`HxPFq$m7nU!f z+*&+x+1C~N9H*%OkNLKXqL(1%W|}k)1iKUZolfV|UwvsJ|HT@}KOCfx4?--*T*Mq^ zD46NQ$`4`Ly*@-J^H2e@8*A5HND2Utr-*wEmM{<)LE3MDXB_`E9XSpk)8T^v zzl`eq;3q#FKCkmR=L}r%~8Iz%@)#_+Su~Dgol*c;^IZYMQdWL znVjH5upz$u>i6@5D$22fS-Zo3A9#0d)d0fJG5!(JRAP;k<%TH4lk~dXI(j5PF40TC z)J)JaaUD*>OQ45CV6peBkb0oM>qDIApD9o~JJVz$l>-K^(7M$p+ZRuQZg;M47ndXS z(8ia>(Eu6`pVz}Fgx{UmM!jcGV{2J|jir`^SlM0aS?EGJdeNjg;bejuKlD00Q3WC4&|UbfjNjIGyOct{=y7{Hx3w+&=+25nc+Ri(pye zLxvPI%sRe*Oq@v1j8ubs$7^I+wPN4QH6qiXCrZ}E&bjPdYa06Am(us zg62ZAbuh*6C1d(OMkL-B}`83R~OQ0b+YVCOXz39~G&l zerX)vzlLO&BuWeViI2^}VIsp*LAp5Y@WMW;jes0;jymvVf>;-!-&05jdV|TwG5x2X zUpUfkZ4-0&hYs}4<*Q{$A2I;(LUt89!emyH2Zx|Tha#dJ=*5kW9(fH;xC&c2jHl&4 zZKK8tR-NJ)OQ4;_Ox9?%d2B7uqCJ(yfQsG_V*^{76*iC-NRyYv@9yP*`tY}CB+G4snmaC zem?zxY#W^T`#nFTi4qeZ+YHdetP==QAfNE2YU!7o>iieSY35*J+Jju$KQ2@FHVF_R z_?IyC9yBHLQS^*R8SOe1D)K)#N{}QVF8R^dNQ;BsUdlMTl-n?LCgA?3jYeF$_kWCimI9gEv#qq3rKa*F;_0Db`i6C7Yg zhwSWi;P3!0n3#wL4w*IvH>fzPU?R{;{ihaUCTdN>C^S$U?GW%?I5!6eDC|g))D%$f zNmjiRD{rW==deNXV2H?m00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuC4oO5oRA>e5n%i<5H4uhp*9$T0 z6Y-juB1r)kgj`X@6Yv65@%#xF1Sk$k?HU{>Ym;mOpXML`qt$4aO02n?xsY4ktyZhm zYIUzX`r-TUs;c^Z@r<_nT`ZPgKlnn_r@x)S@a;DbX}kQN&F(yU{N!LZg$n2C-Q(^2 zn(OBBCkSFW}EoqS#B*%*MUm;Y?%7jr@R!G-wb8-{TM!3k+Q(!dx8XT=4Pi2mrNYzhvJb@d*h71LZ%$o8+!A#pSmPKovAr z^uX7NgHniAdlI6`d=V>Dtt!|U2m=FS63B$VC;9CHn6EM6s=`iEh*?n!JXGM5lbN-| z>IbJ&f_*#Cv{i*I68@I0sQh*TnjN)vk8W9eW;Gt2yaOmFs|RF#IaqluOlvlOOf4&a zXENUTVA8}Q)H?n2cC!yvmBEiDw`Y5Q|8>E_6z>)LpI^Kbvm`9fn>UfY&cf-}1-GSeVSW6);M04D1^*X%j!T*T6*7CjL_LGZz^e z@No?Aa#rGH2#-Y}CCK18H6EUXq)}aDDfv4`NBg+%^rH_oQ{2kSW0HM3Mxs4V<*X(q z!QZ$1umhN9I-SIMPC(8V1kG+3$?`9kFW!m2p#0I6dVpQF_uG}T^#GhM8&J;7z*&Cq zd`0Ak9dO29i)|VlgOI`;>MQcdl@orDoR%2rFqP$(z*6$_^?(kg!+E=~T)rM(9WAGz z4!^bM&=-;4-o*A6X>Z#zWlPG{14-cD&JVS${7e{)J%{<^1^|4VbpbI_7`HKrlTEyb z6eG*ZZ+3wE-nVaJ(Kz*Yq>7PVQnwy(^4FjIumG8dG9bPk!L!$DrI{2>TJexqGgd2a zFg2f|aIf-r4ySvk_dezt;yR-hEWHUP%pIT6<>f1qIp0~Zg&b~Gkyq=?puIy-Si%VM zs8{)8;&*&rfw6a^M`TwmDd@ERu|jJPyrw;s=iz?e^2gnus8mwMnxV6nlw8apU5g23 zH~b-?nq+zzxfn%NM#y5!;Z2sc%GxdPV+|}iqsy-k| zelM3WlKPl9`{&bhV+@1^=jws7^7Hk;{PE8ZAAC+onLiJSzP7?`FnL`+Tvrk2;bN|t zwM*s{V1DBZ%HLKGFdu&9L|@LZDZd}y2P%#Sdxh2F(t@rc#HRO$d_Ca3jr>R{mNpgvKN=O16M0ozTGdn$}~T1PF;*t_RG}ip)B(Iee(ZB)}BLOM1GqKc{k&bqWN0V z@IHV=lrqXRv~n|b-{bwEtp|KNCRbgY`Va2|?dv}#$5+*=64E9lt$6s&#`Q*nsrf=O zH@puF?*p|n;27K<%0}%)ApI-9;O_fF8%8}$*N{gFFXZq(5Ue3%mwJB~-Uo*Ff#f~m uUEd$_^+3Vj?{RvPh3l6DMTDxL{Qm%ssK8XxV)Bmw000000001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuD-$_J4RA>e5noDmRM-0dHvaKkN zomg&MG!EJxn&wax=&e8x{Q?F0`I8=+rsyMqmBuewQDmjR(SQA4dUq{9vfD%9JxnN) z!{Lw|4(Unz=bwITwOW6UUNe@z!_oNbCtryA>W?=teE02B#xnnB!-vnFzqmIXK!tPX z(bjT)t@ZKpdkA7-i7SsNWa^;b-+OaZ<{wWcke-cR^zW|y`pfI>t#y8)*+u+um5-O- z-53t0C-0-s2p381`G?*-BBi~i%-)}FZQovcTVv{Coqfmzi+Z!cJ0%RZ$B(RN(FH zp|!;7_jU#(`+TBlvlg}}@aJr`%Fj2T)lsXzxn}KI)p&HW2T)E{PsqjPVCA(j?b-a1 zTCe@zb^R| z7a1DxaSVuZcH(Uak3}IBkSTH&cz6mV%_<}7lHc9jTqk@7cUHAh92Mn}|?nEQi1crm;kr%Vt<@pHNS>V80n(&-#2*;iGs$E)Lv@9f|9 zd}XD7XKi)<;lpaTb8tMCu{)iPv}fEqI1+MtI_K-G75k0l^7EV6(GpXN6v;_d{Xik{ zGbQqKHr}7kQ55U;7xy~wWHQ0(+Jlf<$gyN0ICHuDiZmJ{2SEx0Ex=h95Rt-oj3k|G zNT?f?lhPpBiFc(yx~}}p1Jw7veG5B|rN1*(M0&|`Kj8BU54x^&v&hjDJYe%ndw4{; zy8N^O*^D+I-j3jjC5_Tdq6?#VsH>T)ooAQ@A0Ck5b!ykT9h+J4!g!L-s)<)B004i{Z+I_ z{gbN0rlpt`R7 z%ma9wg^|m?eIaN)llX~6)nOUQPvB@Re#VI~o6k<2Vy);NBU-S=WUBrI6I2X)G>2OXm{zbWla_odqA$p`eRJJFF zXuN^^W&Hr+h$|QRiq6V@0M6U@fpq-vEw(811IiE=y+2g<19Bx}ywwx3svqzP&JNG* z`+&@+G;Qk$sr=@&PIX*S-{Z$v&C0Es@39goY9%QmfoqhXr8Y}MIz{LkeihNwf_CyQPhz9d;?l3 zh4StDfd8Q6zop7LL{V%|Q#-o&a{Tq*AM$bE-FdDHaqyjR< z!0r102J)GSO$F8=_FR=kQsPh3&g%PUX~LZbGA43U%l!Z6_koN02h2ez`n33HRr1HS zgo$PbP97-K-(dJ~T>LAqGLJ&Pzz>qs5|K_*mHhR}ukHtQD4ou=WE!jbftcEJPC+Gp zp=*?%-^BK&q~kSflasFhK2RYfq%2WCMt(&ajgi9w3InZlgZBabohu5dSAOOJ>UH0a zg{#!1JbSqD`#^K@(*|UohTaF7mf!gMK(Ezq^!=gP_W}Os+35R2mD>^Uz?ua~5l_hl41fF&Pff_r z8yejv(xafaFPa;?54fReNPgq*11h}8)VkX7tuGvz$s~SK{A$BS@)Ov_RpL4S{?PdQ rK>7a*)%*TX-4E3KK2Yj6YLx#k1nT?BTFj=$00000NkvXXu0mjf$_*uJ literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_3C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/FLOOR_3C.png new file mode 100644 index 0000000000000000000000000000000000000000..9a2967abc9e9d7c8d7edf0e5aac257b9823916a1 GIT binary patch literal 2921 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 Rs5<}v002ovPDHLkV1jLrDB%DA literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_1C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_1C.png new file mode 100644 index 0000000000000000000000000000000000000000..3e67b0d755137ca93f96beb83c2f8c3461929e2e GIT binary patch literal 1605 zcmV-L2DPx#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuBuSrBfRCodHTET9VHxTx&f&_<# zpr%A9P|>dF0b0SOf#v`e2QHP!fj5ZMhv34C@DyBo=#jSc0xFSEtE2>qDj=v~Ie^4r z`+u|l=Zt6VUkUB*Ts()J^?2;D{f}qH_Vm_o-Wr7#UO)dk99=pQh)K7Y^%`3qU4FOu zTR1%UD&+9e>b1zK`@=X&VEIt)f}C8Ar-udj>*0g0_F*`D9p>kcMoebXS=P9#j(mrP z&jS{~Q~n$W1N>y;z7!XZEQH;+y8)Q+z2h%_=BoGokm*Q?)z-!~r%>5IYX_@6vE8uq-^ z05ACyMi7Px7V^!@7vZB%j)!NPf5>1tA!5x(n#Ls~2>SBijPyU;dK}JPUrUUj?spdQ z;}*c+DIAjqU=g6MpliS+ut?<7b@<;kd3<^Fn*$H|aSLET*ps_Ye@HC&-NraJMk|Eo zYXNA@H#Fbkv8LVFOVA6z7wCP>cJLgO&gB&Yf`b%kvUK zYp=k5VD+!Atwj%EBR^01y&LP_PpBgYt}zBlpcQ8s)*A8l`*|JLu{MY|u_}*RsQvQA zm7-DH>tSqIS^hue_q94e04Ad+3mVE03b4XK!{p!dO(kDBAL)4&|K1w{&=kU+?~u@LDe*vYh0L z4Pd;FeTh)jf~7NLwZ;v6IU^}C{V(?d_daFN3wX+xKnMe}ljI^;I?6mOkp~!bK<<2i zg~Fi+3&+U|bNk~dKW+gT1ie5zFj{xs?6CZ7=bj#a>J6H6L$v0K3ulTZ1P-rSO;AyL*sOK8Wlp7~cX*6PTepQ7USMMTBxe!!32f!rGI>8temx6t{dgloD-O#I zcf~SqeaK&;+qj?nz-WU$b6&tpe($?0mqv`?VaQ;`X_ZUX{vdQ3QTELImdC*GMK1a_j3TOZ>0w#vGEThg_eyRb+3rxiJjP;2zg9hjw#---h z)RP|hntEFOL<1b;&*2NaFP;TB^!?zHb+&D{gFb?L%kN`P3gD~F2=rONTYl64?Em%E z%gMVy$5v?gFVf#C#(}E5F}3_=4s79Ue)`>W;0)1cS;Jg4p@ zKY1CV6`$q%eDXT%ke^WV1Ck68hxhqJ103YX*WvU=h&%Hj*xm+}+SdGl#0%8?fHp&= z<_D-9BUg0$$XQlRijT3SzR(tLkrD@ZzRzPIp7Q?%oC#RV->~Az00000NkvXXu0mjf D!TR>= literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_2A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_2A.png new file mode 100644 index 0000000000000000000000000000000000000000..8becda6ccff99c4fba03ad3f24843bb03a8005aa GIT binary patch literal 1637 zcmV-r2AcVaP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuB&q+ie5n$K%pRS?IM=X2wa z8lxmajFeEYNF}y*^9q6sg`@=BDdJxIH(dBP>0e+swp#4Mg@j-%*n%-t>qZbi_kHf2 zJ3aTQEq!Mp+z?LY%$YN1&YYR=oqJDKKmF|emHE%@<3F~xpR$#c+dK-Lhk`!*?s(_? zcG14|?yCx94KXE%Jo-rbSJ}XgYj;9XCVo2o`K7fNY~^Pp&(8g^X& z=6mRk^~v3nzi8!OKl%mw_}6R?^>Y0PS06pT`=Olql%f zfW+3B=I_SJy(iB+7emga)p}0v{`3h)>*;Sj9WKuXWjd@30z2E_Q?89zo)+Pq97}_6f zVsDOiyykCbeb1AVckY<`U%LJtMvs3u%=iOMHWTP9AJ}3jlN-0^=mcNmBE&wiAc^O zRQ5hR5Sk1d`Bn9=e*DQnK5LhZmbIlt6=}kQg6HXH);lXo*rMkLF@V zJ}u0v2NyjDx}JbL7lpEhA)Pr7slP2HL?I$oJP~JtmLH=QYPQ7?6FC-`qL2pB*3;kD zLM|qZ(9&IqIfghU5?5iL1k6wpC{)NSU4M&0m}Pkbi~uH=X0wbi8j(2dTUb;4?9XyJ zgd}2EU!YJu{j2Z1y=zs2M?n=4V~9Eb$ua3wVxZ2= zF0U8}NY;E{Ft~wnaA&NwY(2Z8q7xk=52eHMnuu ze97iL3t|X3Lt7VemHWV9j9!Y<* z0d3_Y6bTot%*ScTW~Q@&s`{t(zTaQI(%co)*57~F8ams<%}1Q+kYC7jl;^{EKhRuR z{LB4ATMO0ue(zD#)8AI3QSk%e5gVBfW)MCohFu;71l4#y@UZs}Z3y8=9zB+55WJ39 zmgd(;N5}htBbI;NTHClq(kR;Kk&e3zv2Bu z|4yv4^=P!=wd$cs452ZoUsI|uXf$m?raF}2K zbXdv2!Bz2fnl3|2zke9-2hvS~0qRQ`@jBiQv{$D1B7X5vasM#h4+O}~iSd4*^@o_2 joipSx$`{N3{r$k--Hpk{HKS3a00000NkvXXu0mjfBwG9F literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_2B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/GRID_2B.png new file mode 100644 index 0000000000000000000000000000000000000000..91b5ac12b03980f6acd0fc79df58591e815fc9bc GIT binary patch literal 1608 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/HEDGE_1A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/HEDGE_1A.png new file mode 100644 index 0000000000000000000000000000000000000000..ae456a51a3c7987479af2819fc179ace7c294919 GIT binary patch literal 3872 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 XO#5?B#!dbj00000NkvXXu0mjf94>IX literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/HEDGE_2A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/HEDGE_2A.png new file mode 100644 index 0000000000000000000000000000000000000000..6fb42c087867222b12685fd0d7c624bc1f2e3a35 GIT binary patch literal 4540 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..589f949a0c7c3179d4367e048172717bfe022245 GIT binary patch literal 1243 zcmV<11SI>3P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuAMM*?KRA>e5T3u@sQ4me)T0(7W zXe%l71NB9eq9BMA6rU@C@BTplfg5f;nV*WQ5K@+-yt?#LZiERgo*uTAiy-!=;#F3_$&dPv0)pwz}eA z0}nS_AK&iIo&Wk?os4*SMojo=|xI=~|F_<6ez4AXfmLO3ySL7N~c>)&g(btC0qHDX3HFnf9tD z-Pl_09~OW&p0r2ORtz+ZG@y9Z(A!BSq5JvPJ#0Lv zr`Wqhpyip8R+VRkpLBT;Js_YKgF zw3t@1(8gY6N1}@b+&4h7ET$E&8Y+8o2&9FdN{nD_z@kQpP(!I$#Xws4smch>7%-Yv zBGgccmP0!dRYq{efW2%coj?ym1sG%BT;1pXAD?O8+oPf zxY!~F%ozg~aYo)a(Xz@SMjMdzd9jf-*BPG)4R#MITe+TqgDVx!UMcDsj%gZh_}WOa3A zZ*L#E5#UbED876i>cL6s2f+`{`lHRed9!}}t24JS!%u1Gy)%XaRJkyPi5PnI)YsQr zUaqsV+Vr&dNp8|x;!T30IPX4nGo&N&a^<1(v;&XJYuKBdX*6ci%~k7kyXg;c0q=Hq zGh8vn&sr-BolcJ)$gVQaWe8NBN}x>TxrFn;kZ!tjo{*t>rl>K>-fe&8W*k`Z)Dm}G z?W3;bp(OH>2fEpV%o8j~56bJy%PrJUCn`>bTwKOHVB8p`&H4Xxd_j}pXZ3h0`SW5X zaq(!HP-9m*m09wv9wop-pKPgkq6gA}?2I&AUd-)R*w-xnsP(;qUDNe_&iX8l0(*ov zYDTOOnq3z8imUGRjE6hY=jNSDyT)=ZZqAu=_rIS#V>x@i8AsS3uJ7OFLNp(qev-X^ zv*+qJ`aeSal^jGSwS0f~p5xx>{48C2*O?3T9p3ftyXx<-|G1G;OZ(zC8=qX`=)bDE zT;p=|PtG6CI{Xp$U#Ty+pDcOMAEB~oe#0I4+ST(L>iSbz>=}33{|d8b{3~~wqmHSl z{>$1rreC(x1plx+`S&6^ypAdGtlY!$jq=OyYo7e}BJFGr-@~n33g7PLi66N9M*Z*G zBaJR|1-|R1Y}#M7)_MQNZ*8wjZ&)1JCEhUCc`y6#&zm_n{6GEv$UD{s!)?4_8{ByX z-o5#@!K`NId`6kboEeWliu82;x|ry+-S^sqIEIL(b-sT;d_Jx%eO>yt-&QUM-hBSP zvvtk3d~9VR{KvOso!EM=!IuMQup0m2Chi009N*8j;VIod!M3IC{KqEsgzJmfeq_xk z|FP*0uP=kT^!&Mc%8!%s7cp$8|Nd|CrRdptj0^g{w@lZM+x=x*)R{-}i(9x~HNX9K zS$+MBZ{N=GEw&3>`1BvoEWAa%EBjZB{R&z8l3KffR7?oPvC=BCH`Z-*DRUg);RJLcxEQ}Dd}=je_H`HOE$^<`{a zYyLvb(~V8|>Xl-NmZo`52i7cjE^zH|d&T8bRiEZe_wQ~H{PyetbMwXkSN{nSg}#2l z#{8NK%|ADoUr%^-GFQ)zga7wmxg?IxredYds~5@T@$_6ccWl1g`AdJM&cAs$>)HS5 zXFPN28{AlOf|qa5s!Hn@_|ZI{Gx9|8CiVKuGap76tX*c`nAE%B{o)lrIyFugsjhF; z*=^-?(niS)ocZolahC5NiJ9zy+>$;B-6~9XYLeLfBSvlAJanHyP2!RS?7SV Nm#3?r%Q~loCIC4KzPtbc literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_2A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_2A.png new file mode 100644 index 0000000000000000000000000000000000000000..e841b5d2af354d73fee31f9fecdced6ffc3b890e GIT binary patch literal 1003 zcmV00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9RY^oaRA>e5T1{`$KoCtL6Gc%Q zsy31%CCz~w9FaKm#2JLdzlEQW15%H`1r9V7R7z2sR#p^p=u0M@Zg^vW3S!DwOYxK`ulgU^OW%G>aurmL}$UC&B*54*PoNgWzG~rSd-!u&;vZe+@ysu zS!UXM4ZNU`OQuXE4cYYHXG0e7XL|ki%?s+RTe-}-_BoM|1t8_==t4*=vx1{QMFO`0 zb@t=?lg`sLN109YlJSrQ2+|=!W@VKE8>L;cf=_tUhhd>lQ#A=pVN?7ntR#TfqO&0jyxTJAeYpeGg<^ z!`t%e_rSISv;1`nK=#}DB1^+oym|q9P2K+=s~3O{T#T2$(l<+;oAk76;ujT$mjg=@R^$lyAXk1*0nE+s5~aIZ({GK-II19ntC4yY;4)MI3ZSr zb!#4W+U*{p1E>L?e1wh6(W1eiKOUcBjseb;jK_*P2Z)lL~rWydXlzxXZc-=~(VUF6Sbts#gT; zad->%g6&qTz1o}-=S2hdZgv-8Jq_mK{$Y}=|NJwvnmD^*VBzEfWfsmZjKhX>)0uIy zEUKqLiQ)EX^o5i0AP-I{amH~qotbe61a8KGZmz+^$*hnbxYv8V7(SGVoR>oGkDNHn zI5AugI_ovQ5A!HKs|RbwPaAU(*B(hDO6*D}w>&tjhYReX&rE5>G1Zg3Y0T+(V6vt? zCB-?ybst6c3&mow1o>=5!PI22&EtW^XEtV#5e$-K{r!p=fde8iB{f|zW+miB>|%Ap Z-T{Fh5*#S$i;w^S002ovPDHLkV1hW^x)}ff literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_2B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_2B.png new file mode 100644 index 0000000000000000000000000000000000000000..a7c24ba763036edba0bb2ad6d3663483c8236fcc GIT binary patch literal 1532 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 t@coMPzz*S7bXAz literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_3A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_3A.png new file mode 100644 index 0000000000000000000000000000000000000000..8d8745cf09363b6904be2a26b26ce2375b6af563 GIT binary patch literal 1801 zcmV+k2ln`hP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuCb4f%&RA>e5TFq};MG${>UQ)-k z;9&fx?ee%o1A9b`=&eEe(*O3;AH=;cUD2ckn}JhT{w@P z0b*n9!D*7o8HOJ`qZ0+|@aUiFF;Mn3r0^h`klEEi(&o!J#+Y)N9tT(eMj{S$A`qZD zp4W*uaDgMRyWPOVUf>8UEM?)qFe6|~jT?MPZdZ@>2;}Ou(TP0$864aTAwn7Tg3#%R zz@wcSCI#Pt`bjJ6D5E-aEd7`xK%1BY!->HERmg1}46_Q^ZU*#8Yt+*}e7{9u^y??5 zg+7rYh{fgrvi9T8H&}&`#|Q$fKi;bq=JWODvs`98f>BXeV{^cme%inw)SHdu9EdH6 zVJm!~-Pv3#$|MfN8(Rd5Q|arQuVeAh94sN#*-QRFGm!h5@Y3?iFF*aE&wcr@wNQFN zV@aeNTLfSotcM#k6FHq5>wxDnYJ-%}6I%|@zS%{!`7yo&$z?Ef#q0px80Ky?W(T;P zHX=Z;5^7_1;KE0M4oC!saI}xJ3dtft4!{R&BCwUP>b3sd$WIg|&o7h&+1ZKN0XdQJ zptrVKf=VWaQ@0NVIQS-_7E4|BVors;ne&p@>6OYsm^sr$0{ekJL`&i~Cw~6ml|RwC zDu(sYhsA@pgSQ5Vt40u`IWT|aMaZDV4%rnE5y!fR8+hAy%M=0v*C7Bo9j+Q9EFnxh z9RSeY!^iikp0~o#r_#6mV3&$Lg|x0l7)0!#Xgci%6zT!?Bd%Zc2uUo~L!Syl+4Gn} z^)!ozGQBm-HHIizyZ4XQZk6PAgUiJ0P!V_j^&x!dZx4rS zZP^7P0_v9A_X!&TPXBwW)}6Z+T0H(i00Sa!1RZ6n*1jq7HOVT>ca3g;L;PkrlmqSQ zSLyrOlJ(h*G+I6gf=?zGRwAdbZ?1*;Ch#MG=|>pV-xlhAr=m~}V6w4n?w4Dz{?6S_ zTPmi%yy=$-x&yHO_D37PZ#|MDoBr0>?^s_sKm@Wm=ld?jFFNGn>R*}d$b9o@M}!pr zOrQ)_4(1-#W5~i1*s8g2TaRH?OIF zK7aYQU1Z&;8hAX9%lqq_D-U;`%DjT{sJuUNDdW?&ofWj*CH+W}A4#y5^phtC_-{s>$eft1d6_O#9uy+k0F zRUgp&bQjz}a2>kZlUiOrKd$!*ot#)>W4)xHk*f%Z^Tjbb005rI7-v`21aU$+DKtk_ zA-pplFK&ZPhT!)S(Px1tGDu~!HmuK{FEGJD2mDSbCq+ck@@{rvs?q3FXkDvL7cq1U zIz?cULDxm(OH4(LX48oi)t)pJL+sbBzjS5nhoMs?T0E6%Q^z4uVD$*l2Lqo_;5X=k zV9+sC5#Td7H;c#$t8@bCM$o}OGu63F(<2E$BLaqAvBaQ@B?cY*z_+Qx&?GWp=meq& z_+3}F{w3~Q2ekzZd>KkdED?Nms1&V@P};UR@u#PXD6N5lq5c-%4SulL3bPQ;#(TcR r!a&u~B7gv00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuC)k#D_RA>d&T1#(RMHKeq+O=If zb{>tRIEf+_sE9(OswkvFV#}gZH%P45v49P~gx`S#5(^Nb5=%A_LPA2k#0E-}RB2Q@ zj_tUXuZ%|YOjxsdk0VcrVc0x-hJl|FzBKMW^?NmrU5+Wi~=c^ zc<6^@C(1DNpvf$h6OGf0))|B!`wD;|UI4&{kz+E9c&Sa9h^E0Ki#mg5`yoXIh%-MhVkh9_n^dUw^Sr7{HzWAh_S2cbf6~kiPxu zwroU57}o#t+v8$RESmJ8YTy6x?NWJpeRD0HygA5RE>!YoPuscDjYJ}u^)f`3&F0_( z+AF?k|GH%0?q2oL=YN%Mi3O2ACH#b^By@V+VlK~=@n#@$4IuWgzIco683C{rK2WDn z9IC@o9~qE(DhT;1%G!^d0nB@{UJ2ytQtICQH@GTL$3pMZYehnqD2%ds$nAHJ{)n`< zMs|SpDdmU@$`9ZFD#!k$F|2JbGW|q=a;wbDiCpdu1Oo}{`JRQEE@nr<03pJ$yJx*^hLi1aoQvCFrRGv+rn8I1g9s*=^HtRwpOjd zf9&7**E&1x)Gr{=w4FQFfT?_8_dmOZ*MC3rPo^nUFs}Bv9CM2YQxQvRn^_PK$)JK8 z;)SmxPK2G_3+;~X=zysV7PFPzdh_I?bzx;9QU3CrE@g5{L#7r>*3skBod??}Vz_}h znMjCvu3RdZ-LVEN8Gz{3Z+oBI{;~GWOI8yeK*;$NILd&P*(C$^O#n$a?Ki*rY-cf- zSCWops_nlNSxrim*T;8he-E)m*~J0V{IQ#b$#C!fPMAG`HUWfRY={u**MLd5iv#xg zqtyiKAAYd+^ZqlwvT4Z}IkLW4M+OQ-Mr#0Db~NNZO1lY|h=Iqj`{SjD8Lj|R_%ZI{z?E3zU&=tx2ZUcN z^VU^G5em~yu_wxzIG|(zQ<>jPp%upp3N{j=nCsAWIm}H|lTYX116oj`Smig<7cYm} zH`9qSO$0N^0F?3kk;4y|?9jfMnoP9gU6xV1L>ff~2nhdX8b)l8X66|P|7IFAE(~T? z4sab$|7L1;V^$7u4M6>rZ>Dw!W>o`<*6H6&6@lEHlLMp=3%`H9XYDZnb8>(WbM~X9 zgF|z2K+XUbRtG~(EOT;zU+m;7ugRuJc+dW$8ZJ;E;A<4Yc9x*}gD2v3kzX13EJSix zg(5tNCyXLLsr2LRuBghU$SChlTqqr1#8yhte2LM8Qy&hB&JUu>_ z8~vayXFxH1O1;Uq_FhvYa<|>+mX^l9#Zyx$0k(wY6F^GQdPt?`sevC11d>}t3cB(r_6^#wsAXbCUgodu#7sb{p@juP lFezmk0@xDLdxaE#{{xOGNG}_Jhgbjr002ovPDHLkV1h`aV&4D& literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_4A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LAB_4A.png new file mode 100644 index 0000000000000000000000000000000000000000..bb74660ca9938c8207978e82ba8b448c5f25e668 GIT binary patch literal 1436 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..b9da6deb818d176fb344d50d810d91c38d71a1ae GIT binary patch literal 1263 zcmV00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuASxH1eRA>e5n$K<%F%ZVnO`4`v zfQW{FA_oq)j-3y0OK@tK!T$_UFmWcxLQj zZ#q35jYhrYv)?cN{JmW)7SJnB#-}+r5G(DgNGU_8QKR;`!C$&GE~RU*}@9 zb31)J4sA?0>F~W=SrXar&OPj&U0lwdOd+rzlR`TDS_3Ss^}c<0)jP4JA3~h=p1uF9 z32$G_=0DDCG8#yP?=@g6b>|+4lb)MiJ(#|nLDk_tqvH?SPE)dh>f)CA^sVa3E&Y=?t_O-wf%mq*(m9lrBIti*ceB|?@u(|Dmz-@i!wN%0HN zSL04+zHK5VWZWmkU&DQOPZyXFHgj2?t(8t(d>03#VhOK1I`f-xz_?F}@2npc*K0(I z1HiJWVQg(?~`~;)_b8yej3)bccp}M_-+q`8B44%-u z_E~-jl>*-f0b7sdF(;X<>1)G==I0l|vAJ`x)HktCGR_?T6_=CF*zmb^< zrn@H%RLt2R*9TVA(u_0GtxMUfGt_cIBtH!np;u>yr1-f$Q0uu72c%e9DS<8FbD?#6nKw7FvfW%CSP@gM54duK#9}*>9%!{yZtHLMbA6zyE&Q+g Zz&{P-q-zX0!&(3U002ovPDHLkV1mtqLrwqy literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_1C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_1C.png new file mode 100644 index 0000000000000000000000000000000000000000..3f90a4d0ae7e529f5ecafeefb286848dd8b2c08a GIT binary patch literal 1338 zcmV-A1;zS_P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuAq)9|URA>e5nayq!F%ZYeZjz?7 zDrp;3J}Q9_hu+{FIPge)1|Eq6?*KOr95_^hiqb;WkB~MgKj-gEjT6*lW8ZcK?yPtG zpUHT}GqxMO-gc+cxi@}VWpOne_4|G63HwE_x0`2!YtghC0&zWl!hzFh(>=m55MCF> zFPhD!P#B5!&?td2!cwb#7=$ieHHuGkLW2`(PtWC_0k+7EUv|4)3^2O6X_v+6`9=4B z2cpwzu5LWJxjIuz5C5dGzQUkRV{45rplJtVD}cGa(i$}io~-zd-QA~Xh82HZ^tT^A zKm7JZidJrW8|$Hu2`3-Ew<{vC{qowQ?$PPlgUwwC{Ku@25C3)s5G;8|?>?`--89+r z6PNE#di#6g-+BD<_sM~cWd<_g`x!7vm9+e&x$`o`^qa_=t9nC1_v{(lNR6Q0Zp+CTp69= zQ64buv*J7NXNpaRa&YB5;D+zZ6fUT=hGxYt!ivR9PV|Rd22yT(U&K3?J#}?xs&yJD z#jYkHAHIu$uwqG-2b9PF&yC;Md+`iYQ2-~YrKK^g)j|s8eE0?X803WpGbNTMC`fbT zyKEmRT6rZ6^MEkfG3UmQYoW^8qj8i6^c$jDC^>$-BTKa((2fijvJ(x}TFLSKj?AjX z$eosXC48klAo=iJ03gYNIAINyF{IcD4hXo(V`_|8Hmug6j`~Vo{8^gKw@Ys zqcb+z53oRK*){MS`1SojXx@NU8A3;t83UH3NW+ge#HscJDwA-bFtwp_a{PEtoNzxt z;PNO8%wWm!T``9wY-6j$Qd2t_T;C5&Eb*VexTu`-pUOYmopwG`-w#CAkMfM_ zV(0ynJ(S~j2mDLi6T9K{{eUy%91m3;T=o4xV5%^PZNJa=up&y82MoWy9|&e(nxr7D z?+0$p61u2*Iq!&Tp~_hd#AuzCjHnh$j_;2aZO4@S{9eaO`SAUY%&NuP30s;%X=x8q zK75ynkz}hn+a literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_2A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_2A.png new file mode 100644 index 0000000000000000000000000000000000000000..eef1a716cbd396e311c635ac93fb06c19744da3f GIT binary patch literal 1347 zcmV-J1-$x+P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuAtw}^dRA>e5nn7<9F%X5*O-Mtj z0JT*QP>?wA|9=n%B#<~%v;vftP)f_^ea?&5*_2JQ7MIPz9oyqK0&2n|lEJuN?f-C&E-_W!sb$jnrs$rzan(bzM-WCV5VAl8Z_V}7*?L96vog5l=D73WuR4(0GM zP{^+`m}I9)SetDLH2(7OGN2d6uWCE3&NkaBx``i)pgO&!@f#;IX|pNpHtCwSd-YfW zoUm2mH97>s>9DZ;iU0)#hY2Lf%fplLk zimywSl#k`6MQ<>5uGFF2;O-Z{;vNHhYOsd1-6|YNOXG)3nJM`|;AWib)y%p&kY;Q> z<7a0fp|kG0=K<+m8b7W;>O#Hb0p?F8#)bG^!A#2G$2;-5y;%zFNSOn;s$Q3FH-RB= zAyv!a2lF5)wNPJqfbjKst{i@t06CvKc<=WCZx2QB<5vknt(T8Nau|P-AO_?`m3wiLr~6ZHJLZHi542}uhP2m>-SNXVid0Y_7?!0;)RImJhJmWsFta#4)|@ct z2bu`;l)xWPr&G3zyZd{D-QSHM(A67ARfUN$y=pv$po$V`FU{1Y8A9LOG`_>7Xyx#S z_krXY!9lE*8Qur%rwu~ew435t2)7>I2ZB+wSwT1%%T$DZ_|j4TvW-rS9m{q6xYK#O z(2<8jyRi#FQq$gQ8SGud`#|H%P3ryFi|w23es~`k4etY8B5cXy0HdKk6NCr$;eB9f zp7bw4rUO-Wc1n46p^e`-nF+C%eVSc(cpqr2(0ZQH+J;0%0-|De=#Vvs_W|+_MoIS# z+Xwxs67;dMo2*opF1}TDPob`0)^GdGdaR zgdz_b!Y!&ws2ZWgpmKS(U440np&b73KCpaS_+Re>e*x7@@IPv10>c0R002ovPDHLk FV1fv~cJ2TG literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_2B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/LIGHT_2B.png new file mode 100644 index 0000000000000000000000000000000000000000..44abcbc373027e225c78ae5bcab670d7ace9fbc9 GIT binary patch literal 1417 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 D5>6z` literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..d0f709f05c48e23d5a0095878d920cee60f25808 GIT binary patch literal 1673 zcmV;426p+0P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuB^GQTORA>d&S;1}{MG$Q*MX@e-Md};KIjo;1f6@!~qE`If`rv1q4FWx_4`9YkKDG`o+&C zhe=OOb$9LTY`1sc`o*{3tt$VnE`B>cIptzZ(~+Do;8oI$bBk%JXZ`%kuhLl8*H=eJ z$LUfHOkGkC5!!gUS|TCiAYz%O8rx``f?sn(&|G@{#Ik6ezk%=xWw@&eO+H8EHoFTmU}@ue^Wep zh$rgzUf1=sP;UxM_(lFSOLZ_~-8}9?kQ#-B4N-#U+2WX=? z&gnnvXPYWPxq8YhCpIKTfSeE=btpfjd*cU&59ChnI8d}M~T4aeR`D8`xd zUa`FoxQ^+Z>eDki+`b{R#{}whOp@G^6)i{j9k|5U~0PC^`BNBNb9#r z)M?7MN*|?Ny?8=!O>~U1Dndw3D!(bVtbUX@pBbEVc1+wL~a4 zHJ0)py?=U|9_z!yx61@Lk?*eldGyyG{~o?)tKgTpOGLe}YFXNR^$i>Ru90D~dp%}u zt@pY$iX-DvKGj>CO$6G#9*5RBeL&UEv7Gm^t?R{xJ4|9qaLU0Zl8m zjpwJy-Le=#)=!>1{$G6miL23W5bqD&`@o{QtJ|`lzG3oI0PN~_A>-*ZJpd^PuQpz; zmWZYc9TP$j22xzrD6ZS4c!N*f$_E%OW&cU~0Ce*jv=68n!!)c;OgM$ry{Rh_~%e*1TTrF=`r&Xc~kBz?fjvuVZD2x;Z!cN=xr`b}F2x3H^y zpccz+XpN?L>XL%+YUAZ<-UlK**s7xu-DsR5LYXpF(`N(cd+GbbScRUUh2#=l+v8Sen=dZ@?PZ_?e=Z{7jshV56^?F*yWJ|0FMGxqM&H7C|3|BA97DrY(v-Li3r}Y~}-K4}+8x9birh5JZAJv?j T4(%~_00000NkvXXu0mjfJSQ!9 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_1C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_1C.png new file mode 100644 index 0000000000000000000000000000000000000000..f4e4d474def7b3d4d2e9f6f55bc03e7a01b64ce6 GIT binary patch literal 2333 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 DFqdwe literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_2A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_2A.png new file mode 100644 index 0000000000000000000000000000000000000000..239c9b704080aba243cd1dbdb620c6255baaf1b8 GIT binary patch literal 1711 zcmV;g22lBlP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuC8A(JzRA>e5naxflM-YU)fGms< z9@%@aWDb7+r}JTj&>ACuvoRYLWY#pj(0#DP99r2?nURt8lif4(>HhxDpI-YsK0aPw zU(4(1>FIED{pIV^a**8qet5jPx?1*R^ga9+3+#vx`{%n`xsj=>ms|3<$Yu4L@SiOJ zcG7c2z2`e^DV7_BaVtR>1QO!gtj)Fpxh7}Y@|4>G|0v-8*UwIAcBCABIT&{(u*)9@ zZ2*NB$6!bzblr*n^6u`A1Yh|4bDYJCiwjG^PCV5lE}=Mg9)TTqNbJ!B3r|FL;+fk#Wd)3H%l|36kko6RcpWURBd)4wO&*71B;MINvWEY~3NSY`K82x) zIlKM&w2#G}$T@a=dZ)r!_~!hh06IXnZ4|pFSiKRe$6(ZTqEb9^$m>r0V+%>8Q=-Xx zN#MD8&8mpXSuh*MPW-0=#9neZ{Q_R9TJThdD5pg!7NTC|KW-t#)2FRC4dM7Ch%G#y z4CX1$#tVaP-^qV@b92M2yxNb;%uW5L&kd=c`cr`MH}hXOlJjRPRzqQcojs#OVrLn?rsr1tqX4!< zIr2_yLq5L6KvPEb^6b15|EU1jvzf$VwNbus`62Jz zig%_`VUEhjyCP*V#O;3kU~?U|O`;_n*N*L5rPDy;Z##eaD?97yAS ztT%Yr+1X$JeJ;3UG5YZE;O`IC+Ic|w_XNN#`JJ9EsHwt0y?2yxc`7${!6j>oE71Pi z^4I48?0RifR&Q&IC?`R9xvI#r<&wd(^M3x(MoBB$&k#lbF|p&`9}dI zrZD32N_+~IXBjAZ~pO>QX=}{183SKohyQn z<=buYZSX5hMZ%$Nj+No>SdNq_|FyqJL$RRrb^pdanlk> z5V&UAw<+58R{Wy?_j_`f9Vs9G4;&}m&w+f%ta)zW!z99h(Rl#J3a|}uW$t}OwFiVB zRebOCvJ)4QxYlrrZ_EGUIUx0F6kS0_q_5-2lQkqhjnZUi2=>&|z2wCTfa+b6Fu0gw z|4by7M3knp<74)eB7AfHQ2-q#+cwJFbFAKo)nhQ~I#DT}lrDQG{;`G1T>8ZmTnf(3 zYgR>6&O(;46aT3Iv6mc9zkrvj7ChA z7l!01Aq=hL|M-8P%_`^E`$Tgum&Ao=);oUAzvD2BL#$z6Gj{=}L-w(;>^2=0I2|&r z4Y`dr$^eiXqG!+dM(>?j#MR(OVVpEdlaHoD*M_XtJDe*EJXl>WPoHUs^*%!DSd_zNUN z{ad$EFP`ErP8{CJ|MCBTr~2Dg;f}35J;%l|IQM=nH7+JrhS4bxLmjWr0qF8|vPjXW zPpwk+t3*uQHs>F06dfeam)@dYqf=Q~0}|a>HD?~(gMX}mlc5{CsJ93k#YeYXwLLls zLyGM~=1gNH|5yPj&TG;YyR+jUP@7xpkWtAjJ4cJXo_`cjVhW>g^{$Z$tQF8C{jumF zQ%#K@6=|AFuSZfJ?PvL?B~yaK`*@|M$( za5t{vpWm?A0-b+!A=8!ZJKeh->6 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_2B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_2B.png new file mode 100644 index 0000000000000000000000000000000000000000..2b07e652e11c5db361e9639bd4fcd440248ace47 GIT binary patch literal 1675 zcmV;626Xv}P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuB^+`lQRA>d&TES{uM-a>kT}%iv zSP(-5hMWR9h94z$#xtc9z8YH)iv{Gd!&_5fByc*55vDt zpFh2Q^H!4_woh>wAgj`X^MYaP=k)OKORM$t^mKcB+fGejo6>?%SmSlJBD8U~Sm!D- znI;ZCf_A|zc=zKQCjR};=THW}RPi<1o|Q1C-#i z_FZZPt~CTMH-T#x0zb-!&h-r_IbJ&OZ`s#Tj?0rDt+vIR4{>DjeAmNGIqiLv!7y|x z!4Z-Vr7-<`4U-k44p~;@&+g;5&{)KAlyO6Nl@0a z{7EMcEp&G7pXcv^s24-IZ_j9u*TYyjb{G6-@1JuQk_jYe8$yn?#Uw2Z)itd7QSN2; z&*~m%`*)c3VatzB&(`i)h`uRzn)?CR+ykO|AoqS+oUk9u0aJLs>*3byG)0}4 zd@oej;LAf?7o%Or?92MSD?nev^Y=ok_nLkzks7r3L!}96`O|%JK0@3-5};x|C%}1L5!7?3cj|`LZt84BT&>37-_R(WsqY3)xO!RJk5yZI==d%; zj;W)3xeA@jj}o=NvUcEFL*Q}~xT*$zl;7%51OK-iI89a#p7*BKLl}Ds2a$)Ctu8#rHp45_g?X-Y4hZ2M+aJ-<$8@-Wb0Z za-$KqXQl;_xW?;jMWT8P@izKD5d@Dzs3T}oT9BVBq|}cV_|@*cRQ#s-!FH-V*p^($AL*mQ+9N&6!yNIiqK)`A4fgtS<+xujZ-twoP`(4NH zpYa}OcL*xJNiI6^o#XLQzDm0YVw{oY9^m=LbUnv9R4%l3Q)esUYBdHQU~Bc-h1A#8 z`@U-bmP^$Y!XR+Ehqu7{dq8X0@5ikAO1{?MI(%JxIu0_x>l+{gsN7RdI06-5a{Er5 z&+`^KF0!LT5!Hge-#>W|gnKV0XAVv=$%j(bQksQB#QJbv{!XlE1zI;u0Q8|YLu9v0 zzNVP#L&R%7Q^Z-{Kg~T5?Kx^=7=*TSvsFi~_ix3)IXWEgfk}uPGtIVmo6>?vU*mNa z$Dz3g=%cbL(mEChKH|1S3-Wv;MMqpx;MeLvu3aeltJscvRmW8ZLEub*v%r-iT>azF z{nOtAavyzHRd;ZT@EQC`Uu)Rp!_V~%NK}PsSGe47;_=d<6;uFk! zfYU+p{QWpY;19X=a8oecdzH}fDa5Pa2mHh{&6kHbv@q1JV|LxY`TvyG3L)6~`4=D? V`+KBi5f=ae002ovPDHLkV1iyQFDw86 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_2C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/RIVET_2C.png new file mode 100644 index 0000000000000000000000000000000000000000..e992f31d3e18b9ed03ee1ecf4cb78a54f3ca752a GIT binary patch literal 2261 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 eyC41kq(1P)00001b5ch_0Itp) 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 BiD3W$ literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SAND_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SAND_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..98cb84a98a97f0ea31fa6b5b84cc52ed2a0bfdd1 GIT binary patch literal 4148 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

{n8ls=VM^ZmM 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SLIME_1A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SLIME_1A.png new file mode 100644 index 0000000000000000000000000000000000000000..d7e3c3dc2f1ca9573e619d6c5b17415d3efd6012 GIT binary patch literal 3212 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 FV1iCYNNxZC literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEEL_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEEL_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..947ed798674562e0ea41f20b1efea4bf029f8113 GIT binary patch literal 2642 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 u+f_PC=&!j4{-6Krr(00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuFElET{RA>e5n(c2>M;6BIyyLu( z2A9y_2C2|)CAOpwlsWsw*?9Yl{gnx>` zZml;YD-LWtvdbW`$DkB9TVkK!7v!J9$9KQ|Pkm)6nFEOM=F0;QNhPt@@RSLTr6yLy z#WpVfYNK%-#_jE2RS~;oegEh&F@^}?F0ltk1fgYP>cUIyC&Yg;0V|_2Vw6jFslA#; zgeb)x+JO>8L&4?GHjZsDvz#BEFkT*eU;PFZY@z z#3Q1*>{TBNe{KR9doSOo>^(eciuPy4$HkuuAp{LS2ck;qvj6yl8{Xo8C}T&RgJ;nB zGn~Kb`+!{{m58H~M6kp~+`VM4b3hCUk1Z2C8lQtd3nAs{=tYqV_W)L4+=%UC4*j^f zbLG|kF5{g z<`M2L#!LCdV`KB=(x_17drbN24zL?%HHvtm9{bmS|L5(47up8WdJ+C8Ci3Jaz^Hm& zr;Hsk_1$y8Nk$Q6T<&q032%RW=V5*0-Bz}b`7jgKWQ_c}pX5S_fyv*>yY?|-N4zWM zq!6zBP0kUzy|KBzv-L&$7(9|-@TO7$KOeuxh12H@^=ty@z=eE~ks?G1u{45<;Ydfk zOSxRB-0$rKsYmzy?oRl$x$|IS6C3y&t^N5|`-65!DL*3Vs}K;g%Km*o0T4^)dwRx? z?gO$E4i{=(-~1clf>1!QQ^D)vVPbrx7gJj5sy`DyeX+-_Fh~ArvfFnLf7-lu_2sL> znErSqHXa|3i@3CsQt$ux!==p|v-^AR?eA^PFER|DspHBwTU+qI|8)Cl7i`v+`TOhc z|6Vqq%w5gK9i1N@=1`lTv-`69fb(}GLYB_~;ULQT(O&8)8#`Nbn>V-*yjs0d@3iWN z`^U$X+M5n@_@vV5?Cw5XxdIRFr-?t3>)ccoe7;icEL_5DI6sPg--wRRZDO$`(QkLV@+6tj21#YO%>3hKdUk2;q>`&?#}AetVV1pL{;C8qT3(lYAVo5gY6 z5oYrz>ZK#lRdVy=H{Q&mfNfEWL_)d&(!zuRDBQ6g%BOi^c;`-_kKHWu3tyA zg9K$v0K7hZqF!^rK>Yt&sLEJ4B|JJejHoh-p8kEH*cqglk|71xlTYjd&Vz#@9)J4) zW-@$)Q?YdM4B{8w?Rru~`-u1N0})l7<)d3%JL8;9w#R__yX_X?A-Qf+ML5!#m^Op( zA^egnGx1ZGy+D__b0DTs<#pxVh*S6Zu>QLBmzU3L`+LN3WAFKw|9!$a@aTB@=HVW4 z8;AS6)%mHufju}I>`iTvO`rSvLy~3=J~ys)S_oY|%pT*A+qrg~`^G=swgEvXvyD47dn&)~A)bTz zrALQSZWF`KXHc{yxOj{9N|)qQJslDKihFR3sV6+ykljy$58}sGO|s9O1GIq_^L;6< z!(8@k->!y}f@J~cKEMMKiX~lbIya)R>cw#*e`234cu!|;0-$O;xhI^7f6%z;eSmdgKMg+zysUOxVz2li_Q~r>zNatu1kQ)! zr4=sw(Wy8{Jg4&0E794%52#HGM;%hin5V@KZvTN`!$)gM<<{{V9+kDNnT&kzE>Yk4 z_~U(`J94FeABgN~bDrjFY#s7`;6Zg(>gl5BN2qz^9p93TkIqkwL?v__=lg;7kJ0#?+0{9gOBC?!#Lj$eAGVp`q}QO?+0`mFhidw98&mIc|E~TJkkB9^xQb* z9Dr98j&g4RQ!B&?jN;bBrqtf}==>he744#28l^1@+1`6%N1N0eH-+u#Ra8I3UJPgA zkAr$#D!B<{>U;SD zOnKU0z39e`$Ob&-P5jCb>s0AASyCY2VvkND+_5)McMbqe7LxwM>!4I4fJki|oVCfpPKYCcvC@AE1na zz}Z0LT|Erar06s*H#=k#9D98x!Jm7SU;y&;cz?h5teC?j`1|((ttrDOLX;3oBUqrL z$lj%*B~p_O&`p;K@%Qfoa#bvyk0sG%>H7g%m8T^%suxdWR(&k|xpP3g5{l2_dt$3E z;?kOJp6>rY)zX6ZKs1ENQEKgY)(o)G8f_4xZenxeh6 zj*CCHiD8E~iGC2o6>&>Zi0iA2RR^bnr)^24$a6vdTpAU7%-@kc;?{&paA}pXnuOa- zl}YgDCV=nRSn+ol`#!<@Dtq>+`W_zVFbV!#2;sJKJg*OWj{jru-vJY&t(oh3*t`G$ N002ovPDHLkV1i|U@uC0# literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEEL_3A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEEL_3A.png new file mode 100644 index 0000000000000000000000000000000000000000..b65a48680a3bf40431d98635a48d6496d9382711 GIT binary patch literal 1621 zcmV-b2CDgqP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuBzez+vRA>e5nNN!(MHIwmW?dNC z)q%Bf5MjlG;=vCf`2F$V2T&9h7d$AVCm9A@#9wxFM@7BtZu?IadgwY-XGKOvzI>Va zUS-$ya{1oX)zxD07Wcd!AK&mOd~tjG`1GXO#CP$J#m~{dp|g)ad0%E_$Hr4#gu;ig z6}MX97yL~98+`orSKlmOz9?e=5&rPUpYD=E;j4S@1#isNz({@k zAa$Gd?RP)3#xO#-@9@Ffu%DhxrYw9be&O%mRUH|QlDNyypkH0Jy3vg`x>rGo!1s9_G2lq4NAJKkGe z))-Hll7B2dm3|$-{ydOYYGCj``}8AkaX>6%N1dRvEC1}*zxH_`T_WR}HRHuC;}Ul( zW&>P#fPydK=$NT0<7QGgL4P<8q!%TsJm3y&fpH_|ucMjUtP0}Kq`&h#fY0)rU|SPU zn-YiYAtY{)Lcvege@5_LynRc&UoPJrb-)>Ag%j5a!LnKPN1Ip! zD67-HF)pOXn_nY0o1cE6TyQrrew6;sJb+3Xgu3!TukQR{Q)H#_96;(!qCc7e)b+kj zvJN~;4UeYxbCVFzcoDW1&6PJ^|+*_ z(qHd^%lCm%yw|jxvnw=#N-4cg>W}gO&0zQOdn<1Bo=?@`I$BXZ|3Lj3Mp>Gd?*qem zK;G4zdFLf!e?HOLa4V*z=NFwe1Mv38d+F+KGTnfvGp!lQOdw@3(~kM{hx0(`mF^v< zDQE5F`#_r;=LfxDK}DaaRM_gO`81u2E|DnrviM|N;%=o?q&xt@msh-*sxodSg%k9L^MC`H6_p44XbX%R5eHl` z(M^nF?o9eS&ja}W@_nF90JC)YJ}~5yT(sInJM#ck`A=&Xw&J=ZEMz>%loRLCm+`6e zYZ%pe;PQQ7{oe11(hT5!@`>_BRweGaq9D9{J)xoV4CUcGz{9$m)eF4>V#xy%6_^$X z=bq;Q6R?9OGwBcKf%RIyd>_!%Ic;S=G00pc&ZDm$*Gw|ETfaYCz7LGg177!dl%>xd zkJ`KK@$!8@?!Y_BOEnMl@AvXqk0XSN@#1^q>Hg#!KU2RBV9$GhiN_kif6o60VA>%6 T)gw?e00000NkvXXu0mjfH$@;@ literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEP_1A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STEP_1A.png new file mode 100644 index 0000000000000000000000000000000000000000..06051fd15dc18902fd6748020fd546b401ace1b3 GIT binary patch literal 1088 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..de6097aaf39d9d5f35eb4d4a52cb0a8aa32e19e0 GIT binary patch literal 4030 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_1D.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_1D.png new file mode 100644 index 0000000000000000000000000000000000000000..c2dd6cd229cc5db072643412544b4609ae4785a7 GIT binary patch literal 4522 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_2B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/STUCCO_2B.png new file mode 100644 index 0000000000000000000000000000000000000000..449686507a42a1ac57572dd3b166c8f3bef8b836 GIT binary patch literal 1992 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 G&;$U@Hy#B5 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..d60ab7f76d35a62e25ef20efd980bf0127ec2563 GIT binary patch literal 1158 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_2B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_2B.png new file mode 100644 index 0000000000000000000000000000000000000000..70fd50c7e5191f6ce13c538fc5b39ba44d15ec36 GIT binary patch literal 1048 zcmV+z1n2vSP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9f=NU{RA>e5nn7>VKoEr;Hz+wk zqN*uTgb#?q1tD?gz>yo`wM`&yEB1ESTjY9B5OVSwS8}A z)@yHF6u0~{c=PsMVqv@8OeWLh*fDi8dGgp4KLj8x$%9x&)QUA~(GPDy(}HPyv4`1(`dn>W8sBl;fo$}(Md#?XAC6z zjGqpx7cW;I-h;}mQ(DD(+d1H-EG%uvSmTGFzFVr?B!-%<{6)r13ABXvU^ZLhZ+!-i zoCEtyZCq&bS^xZz21s?us!31({E-IwA5r4|FPe2D8rbc2%rB5fRErl4jK^cffE?1| zMFaeZ$_BJ}-TZW@V$d)b4fGIx904`M^9o5Gx7n1>PK3s(!xo5~W6`;v~ zU1~xX$y5k>7|j$#=<1&j2B0vcKb+Q#lVyY_yAnkKnxM)boImsf2a!lU)YXOWG{Hv( zP+FuosCBJiQW{ZqUkKb-z&RX!MidxW4V7Ruf}7~!Ki0Gj@= zH%g2_(*oZbNOnzdypteRo^Y S^9^?Z000000001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9$Vo&&RA>e5TF+}!K@fgTW2>Sm zp{b>qgH-K71n(X^dK3S4!JAroh)C^|v=K|AAbz{EJ3IR$TLXRF4J17Bc4xliec#Of z8j_}2@z=)NckcrUv)RR9uoJu+OgkMMKB)@d2ODsWIkA0_SAK*r@;&y(mK(wM=zCwh zej^_cw*x@XEr?e`Xm)(kjE06pI}O>u1tS6U5UL8VGmv2qHO!us)r41bz`ShiCl{?X zHRGL;YR4MLsBvZSW)5g3>W$cppFYRMUG~O};`mSiD1!Rr%O_lDeFwIKv-W&iYtoIN19x+{5lI#gk1KtzBv{=CZG%^a4 zAHP|=8$!v41xDJB17oIp3;5o}>9-7nz=b`#Hhgbq{~%zQ=^~=F;rl^E&ACX3ki#I( zKykd6ftU@1NMn!z>0-&!cnkQ=!=t0$m%lus*j6vE%ys`BT=V&Sd;2b7wzjsa!bhtR zpCITE5uY76)YK@Aj|70$XhvBbhtRo1M4gerBt{o;0%)2Y;hg}~8SWY4`7kC+kV^308~`UAzt$zCNMEX%%x4N{ zYIy?Pfgvok}xXF?dmfG+=x#q;|!8kD1hIbioMCE};?@e%V9ykM) z;Jpl}F~cVa+E%3)QIj`GJ#5vo{CeSjm!7p4A|g^aVx{0(Cy+vt4m~FJQw&B}F!(Q5(KT zMDNT_@lPg@lU%9Ic3@zs4Zpc}aDbnW&cC*2Kh*yT_@^Y(I6h(f-|YwU>G^zfqbj_~ zfC_dy-EFQ^!-kpKuyfQsR~>k>3gIu^G(rq%d*i=)!~18j-?S&>sRzF?8tp#YAAdfb kSk4V~@y-_60J19lKfZh$$teVJ`Tzg`07*qoM6N<$f~d^yw*UYD literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_2D.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_2D.png new file mode 100644 index 0000000000000000000000000000000000000000..17dfb6a81ff05094bbc7288ebeffa3afae47ee6c GIT binary patch literal 1200 zcmV;h1W)^kP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuA8c9S!RA>e5nmun5K@f(|7o$)R zM^PNC2p0&G1|iW?P|_j(1OI}C|A<5v5~Xm2LX4c4h6oAq-p=04?8g}*<-CK0Wu13t zUi+TenfJh=B>QaW{TyH_qMy!=@PttZ!y4Tvu8#u%9MI<{$9Pf<8aLZ6tIq_G zr8H|CynFv){^=w5{CZE7O%<=&*xE>g1=N(@Eu*xNt(lZyZ$rXP9E2Lq6F=!Us2@(B zzn~G_nH`;<9OKs0WWjkfJNkb4waEay#`H1=fCx}fMh~WM>}{6NG@@7gfMY_f?;Jej z7(hv5?=4|+;3}>U0wBtOm_wn4$^d)H>ZODjXk8=Bz&a)Q`q$qwfIlN|S`n9!Um_I- z?EuOUG>hwl45T!G%^E3)tSf8mPcIpe8|#_siWn}+gU*H#eSLlLC8!Ca2RF?>9gNF{ zHGRE1ISc|oXS_$J(eyh2GGI-gWFU?v=%Z}n33c25Y`XqCLmaahA@Soam_fd5xwjKpaK)BeBEgj zbv2XVEa-y(2rWC_o|-CNLTFlL^-@A1RYxybmpXKt_I)=^57ycq7O3AfDt{oseE-Xjyt}T z)+Ye~u=_L`(^J2wJ{Le9)2LPEfB<%%Mn$7rMfFJrxb(TWHEY@~t(O4gBu6utu8vq- zDgZGS)k^?4(g;%snmz3p(Pw_>j!vU0mI}X5rayF-)emv|Xn>=x4ghUy`g%QXM31gD zeXR>1#Z4{N^uuUG<%H9+N2efb`XB=-J)($=Is=i5LXM1m>m>tnV|{>g`xIQ92hM;I zz3cHlezrwUJo_1U^>y_Arg zJ2@8elQ1c53Kik>wzUpPhb}G zO#phILYIgmqZ&$E`nn60w_c5&M$6t(`kHQhZ*_tH(a7n5x!nJ2$PNw6*7REkhlktS z_piA;*30Y^n>wu|LJ7<`C{HOSJcIoExG}vDgAGHY{r@#`tC9S O000000001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9K1oDDRA>e5TF+|}Q4rp2A`PWY zDW;~89yEBd7CjUcd#HHvCSLnDc=q7gvuFPV=~e#$p$DM{4~6QflpLxdy0~p3HN{%| zW@r2I`Zn40fytYN9hS%Z_?mt*^WN^lj^|}u3QwLsGg9bujw+QoV~sIESZUl4g)e~( zxF$I%|FEe3Cyde8WHjmdFL+7-vb?tb<>MABk%N|l-5teV0XV8mC~onzg*y99uR0GN zMC<)KMJQGf3PJ`z!4?vQ_lac+dqk7_UJ_p0Lg%&ru(4BKT>$LaC z@DDQ`;(hE5JhnF0Pw6P*y6(}%!g}Nf05AZg;Y)n8-`pzEy%O>*;(j|?S&#ex&>;>& zY52@{z&ylJ<%ciarQvZiGJd>e0?{MPWSL@*A8(n!_$!)HjRBz`v`k?96&=7b#Z{fR zOd#dA9EI`(92H*uTe}X>!`Mb9fcKBut;I$Y%6Mu&pY6} z1EUB?kH-%(`pjx0a`15i^r2gm>Fxtun!{A(;1eC783W8ZmFa@8N!kVJcfd8?d>4B7 zw%RAX?U9)(&hh=BKMX>!C$!f zFee;PY;ko=x%LKoJqNe=Xy`8*6g4Q~b6D~dotixx5ORd~2NFdxNs64IG`!D5uXNh0 zjoyprcZ@#3gcBhsz+jbzFD}&UQ&Z)`uffg6OmnZ*3h7j!%y5!|kzPNms#u34+x&N!%`3sgXnZ5G=^yq1T4*Whott>7ozXW`I7s6O5?+}pFMU8qR z`lnL!f+k1h;0x92)myctz4n3P%_dgm(G?&?;r{`M00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuA07*naRA>e5T0KuxK@@%az_1~( zgt!POg@P6$(Sk%G1;)nCSlAFt6B}y_D+((MYkz{F)jwcDfuXP+gttnl75fj1>&4j_FmHa^xVL-@0z$3= zZ%q|DS8nk-1K`+d%mxa$fgxEYW|SxK<{Te&fMW06ZmLK75GQSGoa2KMvN=IM7+gc& z@7;~)(}oW5K57H6t;K~SHI?yP^wdL*WUU7PFaV_Cdug#>Ug=e9CE7R5{krZ+)_MTc zB(Bz^;m>>qqLWxhKE0zXrQ4&H&f{}BpkHB8mKo#D<8wOD`G{sjBf(Uy<#eF)5lvv3 zp(+pObRgqzIWlz}a1?m{*nAmKFXKGz6!8B3?oRuZ@G_Q$_lHKu;egsow9ybzY4{)m zYBOiG{>B_0OA&~i0Xg_s2Gl+p|IZiIgGNIosg{rd*ZAlhxbwDbNUwQnXf@6N>zv~Y zkDfej{P+$+*yz*A3X@~u<%{{(Z$4uP2QE!r6NNX+C^q``Ay1q=Ye*1+4=p~#2@@2H z5>Hc#eZU@@xhdm_1iUFB!z*2~ODG*>ET@1sC1gG}Lz1_h4wVp?KYwW5!#s1xH+ zY&-27A94U}mR_xb?vm<)hM8@A2+sitcvC{mro}w?iM2KHSWXB&$bik}_w^O`zE-bH4pcUGc4}%?Ak0uI0ar?o8xWvB?i)C)?H%?MMB#g;Z>sBvU{=}s z)u{gkOALuU>wkLcn=)kJ_rXzVY>f31@WCpCYoSyjAZIte>J96k(x_LhkW~)8P%fXp oIy$kryUo05h@LgJ0Hi4VKUs#QU`G@x&Hw-a07*qoM6N<$g6<~$j{pDw literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_3C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_3C.png new file mode 100644 index 0000000000000000000000000000000000000000..0013b13476198f126ed99bf088e3d1823456e8a3 GIT binary patch literal 1290 zcmV+l1@-!gP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuAbV)=(RA>d&TD?ycQ4rrdFc1Pq zjK?>HA{HXif&>Bu#>QA^EVLk&BwAQoXhUITVeOw_X!Rd3p}1fUC`k?X`O4pAbgg?OxmRU+~HSw6U4lFUw0LXoI?KuB|eA22d}n5ZvO`5UOkx zg8X^#P_*8^V?v>Tu2Pu*5HN(i!eBU@v`ei;ss;Dn-L6hmg^gs-6Kp9zv-M45QkN|D~M) zKD%4oYMc@x>Kndg`p(_Tc9DH}_Vn7<{lO;>^SI}F`*F$Mwzl@(kx^-Jj?X-pe_Z{s zO%8y~!mDL=h6G+Wp&|oAm#=t*&vy3>)M1YKTR|M5{Nprer3i75}9 z0e|r3DipIv@TUT$>c-mwseE^iHysFLKYS42LZehz$4_>^Io@(WQ$vYJRU#7&GhiL& z2;dN(?f~;P1^YN{B9i*)m4W&tV&qPo0oQnQ4xCUTMh@`PIX*rMHB?e=6o#fI=`7?4KF)wAB_ijxK|al2 zQp)2rdtXbyivk`(wJ_3t2Kaag$$#8La??AIm;(qr4*K+)3a|8-Om!0C9G`g6Ez1-p zohT{w%QEir0iW&a=_Nv`Y|tf3N~pf!!wg9Fagk-0lu-u!!N(b(JjCpwr6LD2564H&)w`ca-J6HH@>OY1LHpM!QImBm)=($R9V&nja zWMV1rFro_s_?Di50la(M`Bu6#(pgyF+A6DAfwaJ=1bk9@T!jGpaa-qMdFQYt z;}yPT?7I3K5zGo3zp9l#UZA8} zt}iGRsMjBSCZE4B+Bdvj++^OQ;?5Q+0O=L}FV4mgl7kfY#{d8T07*qoM6N<$g1DGO A=>Px# literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_3D.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_3D.png new file mode 100644 index 0000000000000000000000000000000000000000..eee63e884884440769cbee99ae3b08611b653446 GIT binary patch literal 1339 zcmV-B1;qM^P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuArAb6VRA>e5S}{))K@^_bI|Ctb z#CQk@g@P6$(Sig51;)lsDQt)(iH)@;+E7?oSo;$Ut@;Cu6c`E%64Zu}D^P-7Jh(G> zL?nJQZ}-j2?(KRecejIKa#`NI`Cz{{@6F7|-U@NdTju7ixljm|%3eO-8@l?KQaL|z z-YI+zY``_jiT!b-=C2UOyhcZ(o~Gbs0BB<~vmaNM$xse?*;-#?_6(p=?!rhHFH5Mh zSrmoS;2~+fddY-*14E@U0brnnoWgsOWdeJQM(f@syir2I+`pM$>zo(|^V<9M8%x(< zV9Mph8%xE^Rl0bU0dNc&vw;I)pi3je<1&(HOC28$faYFI*5pUU5G8GTQpbk_Fv%SY z+e2;O*qWa`luKEyPH_%9Xs7(ZKvRAI0E6us-lNTaX*nnN%2IjyVYc>qU3?Mvz(AM$ z2t+R8QrR_pX5sN7IDsFgmd-Lc>vntcXy)1T5AY!d>_1N7^%?*z^H}8&n7#BMOF?r4 z@1Fz2ia4R%QBiVLs77<|)22n@ccj)p%<1BF2?eZ@e&R$MyFCZqNg!ja4R~Eb#(m>W zI|K2!V5IeUtAudd2lubg&E>wNTJn6Sj<*5;o5iOq#G9|Y?XZUp7x21->aqb>?5%Z$ zkRy0M116hycS~YQ&GM?4eo>$pC=c>5R?Qu}x3{xRoan0Aqdz5NS2fyIage!&_j>yW ziK2g{xgW0WUw$h+)D?o(G&0~C-p>HjoNF#1-veyx@-`}f2Bq_EoQV@ z{{;shVz%<8DwF@yXf9r7fXL~;j($XqasX_kjt>Xm%g-1!%DlCas9rUUt!Cr>0C>-# z8^x(nrr{3W51>JH$pN^74`(1*U2*`Nfz~s zv8(cRL@+CE{-{=dgC)Aep8em2{JI+%__=?W9~fZ23wVDQ!tPEL0&-^KT_2;r^8KPz xq)~V9nL^>r#s1-qoh{}~U0m5?8bCUQ{{zLX^+BYFt4ja?002ovPDHLkV1h*RWb6O{ literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_4A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_4A.png new file mode 100644 index 0000000000000000000000000000000000000000..091859f0ec572b834b5904d128fab9e0e9ee8c0d GIT binary patch literal 1008 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 JPDHLkV1h00001b5ch_0Itp) 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_5C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_5C.png new file mode 100644 index 0000000000000000000000000000000000000000..454100e44df815d31eac39fe302fa9ab2675c361 GIT binary patch literal 1389 zcmV-z1(N!SP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuA*GWV{RA>e5TH8t-K@go?C$ea~ zt&$a1MI;0R0U;z0<|RK6$Y=Wy@HKBCL>JU}Sua^u-AK+@TJ~07W_o&dG8;04Nmuph zs#De7Rf8HuWB$}WfBGmwIOv`%&o7EMVQw$ZSJyTwg--$iSHa09QUI00*NN-an{^v$ zBcM9?iOpB*XGaG=&-;!5kaz;zU0=`5EmR7h?7*|xIR|?kP$~Sw5poAm<=L?hATA`k zxFkoXcVw!)zEFtGj7ACwfY`riK5Qn$)Ju|)TozdTcDuE^lLeVz4x&ilsV8i{T*B=1 z^Z5kRJwcH@+`ly9p>#aDeFqp*z=t-n&i6CQJ+jWZr$!D3(4cdVwDE=Rz-==*Ff;K4 z=uY2%Wnhasdp*irj*N;OCOft_?EBpTWK`Hff?F#ybYS2cvtUmm#yVas7h(>)UjWA2 z3A#FUVrIk((yEvP?-zhAL%TbNDi0pp@C*=x9C*I~^bGC&_y#3zt)N1pjyJ+sX~Uxo zaBS-LJn%uC80?$PCfMT|Fp0tk#2$|DfU&4)K>@%VYCm0o!g-THW)Bg*XsgwH1qDF4 zSIbV}Vc_H-@x=buRTl$sT>SzNi(w8Wh>NDqUdQVgRb#|o4t@gz_SEUs4F^8vrlT6N zjj^GfJ&)raj(7JN*pJ(*Q;rmhNDy)Pct@WZgB_p@+WHK3ppJ}+G(*G$N+kVLXK4pi zje8u92M3U`d4c`9eh09C?!I1kF{R^e)}ar?r}i1xmsN<_!@aTYI_MTYm8H+f08;C2 z;Vc~naYE3u+n`?G<(E1x0WSjpCr8~4&!{`* z9QF+Xz=y5wmXJ|*gklzaWB{mK(Bk$8D2X{TWVA!Ij;7S_`yBR%E^%tzHL~$la;4V$ zjISx+hXO$E|N8g6Zwx~LWU0Hp4g?;D#Ql9Q@TuZZ06@FzZmPK~07sw6vRq)~B^J|# zi|#&?!(G_{fTE+%j7I=qY3nmN0+4qghY7DG?(cgqQv@zGfKl|BI!>fl+#&cZea6>* zUHu_ZmPkVIS^A8x{n$6+Kz!=*RDj5GsXHKi8%5t8DD@5)84KnA9S{l8MBfaJ8eeK3 z(6Uj0;$I0M_3jIR5cNz7fDjABCtsuJ@KLm(8)c0E2$5kt5C9=Ej0XZBM27J|1tbBy z`>@4xmci36gR6$GSr`|iURqjgG#dSW|M=MY6Xrlq@ybejf4>7O7~oCLXdJEwd)OrQ zqp%N~wfEbvZ8^9+?aefwetSTo@hvQ1l@1e_9HNm=ZEY?20|))Nxrrtxb+t=lTw+wh zid(PG>KdYwTw;Ar*SLt^TL8cquu(bHXiO!CE9&*-UrPe7d)GD0r_OV&cC*(T(1hw$ z)$=k8gr1gwnb7kR)&oPl>CJjV`tqrhV=Vi!^Oc?PAd8+{;*Flu)Mas+`=02M2iz5k55KDVC)!6=Vu>s{Agy#KC{QHYTq_yBRU>VV{)uhr)636 z%pOaC2S3%Nu%ogkyb5M_JWyv00000NkvXXu0mjf(%Ndr literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_5D.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_5D.png new file mode 100644 index 0000000000000000000000000000000000000000..da0a85c471100d9529918b150f2172852a1aaaed GIT binary patch literal 655 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz0dSip>6gA}?2I&AUe!IJ8U1NIk;I#Vjy9bLuO{$aRX!yV((eGBcN11EB<%W&2(!1ufcO3f9t7y!4 z@~T6^-FFr59iIMKR9YPza!jRb$-}+zC-#&#n6oFiYFph>vtX}~V|*>-_QLYOXAX;i zDIN)Y3+3e)*}G<0tA)O3cW7C)HrpHD*c%YqZXB}F|t+!b=3>4@oVjO5{yFpYHzeEc(G;@-L6>i7a! zS&rC{rmla%YUuCO)@L4TCLg0;c-|yv#aPgC*O@@ z^5KDcb`~4T*mHP2*8ko=!882EwfKSq%Py>XeXuc9JIDI}{sM>J5=+fGi!!`#En%+N zxi9+iJ?}fWuH3PfUeGr*=2??hA9BG`;P-48z9Xd#!7XL|WO^ezZNg$Qbxz zCG&^lx$E-&v9W#3kvp`>soN&nnm@_UlL>FnNfbz8q%?2YeNl$pqE$rL2= ZPu%^MyZxul_CG<1!PC{xWt~$(69DhS1qlEE literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_6A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_6A.png new file mode 100644 index 0000000000000000000000000000000000000000..9d883e92de3d14af535aa4e176d2b4c52f4fe1c8 GIT binary patch literal 833 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz0dSip>6gA}?2I&ENJU|Q|z;uw;_ z`Znse*I@^N+~lc?)`mr|iV*!6DNytIq`bhNH~U0c=DS8|uYI)ip5uynB_*3~9#e@f zFmB{kJacZI+4D0uQ;M}kiuQ^4`}di0HXq;J8x?z7=-KDYEqgbsbG_$g2=Bcd?<=Ih z^)|(k0|IOE+ba8H)bBUybL7vxv z-+UJi<>b9PzJI4v@!9YWJ+-s3P9N-#Gh9~sw)Sr58jn>;5{ubpJ}zZcV1M=ZH2az* zj!UH_)4Tfx1WpF!Y$~bPaxe4u7dGL(vraE`T9O;w?3bAx@;E%*>aC)$Pf0+M&-Q8R zL2A+_o@chqLYxu6BUcj{J+o3azv-&R=Z)^DeYwz|iEe7e{hpX4VJ^FX&({FTCnu=z$ z2n(!h|2wVtK;7BH)g^o_uM_uAt!HlwKkt@0x$XP4?W^3FmOQl06g7SNSjI!DewnE0 zQEPUia)r)@FaQ4dr(DvWb433~RO`eY7niJ839@TGA-0}hvC4?q?}*(;N8e{Z92n|d z+5GlQ(!Fz3Pw|0DvuDq(R7QD@13ZW3Y>{>M({uW;FqvV_2bcK0G0tj}Y&EAed}n=d zcKR=~K8bA4tHNuwqyNOLjSRhMe9_DD(cPPuUp)Mqt;6-+P`XEE$~4x313#}%cUM{Z zu$DdGP2BfKWnUQULMk*CI-J$lnR1db@W%nhIX`ypl5r4vZpv=4{#KH_e9a%00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9JV``BRA>e5T3u@sK@?5bSW0bc zv?Uc|OYvC{eDldaAo#QURuFua(pqU1ZBsu%sGiN$Gk5PyLMGtO4QyDJJ9iG*bMBeh z*`1`t@U;W-A)61MZ~ooZ$b?0n!roql0@mkkn#`(Lr&%6##Oees+9`Lo{f*$+#>&At1@pZLtS zP49fdaoB6zg)j$X^kZogj5mD$=$(aK>!BEv$BqffGjg z?xRgs4jIkf%nA?qh5(k90!+X`qVrmz&LeICABK>*cCu+4NMdxd1$>@>WJNV&6Ssi3 zLnz*P*3UC>MT_Gb4#aFw(PUC8o$N{`{~ta$zzgd#%NRhH_Q9|zi*GmpX2J%%g}Npu zyv?~d-U(^b07*qoM6N<$f^*ET A)&Kwi literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_6C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_6C.png new file mode 100644 index 0000000000000000000000000000000000000000..a261ebebad489dee0de3f35795c5e3167c49080a GIT binary patch literal 1085 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_7A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_7A.png new file mode 100644 index 0000000000000000000000000000000000000000..2f655529e016372f228050b38d3b18931023a9dc GIT binary patch literal 1118 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 TonUI$00000NkvXXu0mjf;G;cC literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_7C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/SUPPORT_7C.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb1faa52b8cd24f56c7de36d6b26ad089843639 GIT binary patch literal 1340 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0A.png new file mode 100644 index 0000000000000000000000000000000000000000..3dbc39c249562d730762565b3dcd2faaa5de9b15 GIT binary patch literal 812 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz0dSip>6gA}?2I&ENJV4CLX;uw;_ z`Zmhf`>=z6>DCKT2DU$Zi@z*;aCP>)J)Qp#);~P@U!y}^ke@Yrg@<;Qs7U-A3qSMO znL6vzQmZ4iqh9uLbjPm^W z!0`F2LhW5`4{u=DYxnNv1;+2D*OadmTDQ*xtPN^P|Sy&&E5JPMj-!dD4!O&?k+ttdI4z1XMlKZRGgbwx2%j zeKt+lY^h_}*N?xF_IP-%U$ZXY)r?7RS@SI20;^x|4)DFRi6Q&jRMyL^3%1-~_$jjY zz-874vB%TS>L1|#6JNrxb$i(XZkyXjuGu!QhRB~6n{c0DpTbSGZOgpnjRL+euGUP5 zY1$z9-?w&KXKzTxsd&AbwM!ccIS-}%G5=~B(%tVJX&L|Fr{AT@nu?sQQTglhSKK-M znLF#|j~|td%ViyoS-4HKz4=A!chmXfg?CN-a^V7C}ZGUHf zyTul4vbArGBD4R~)V8#?m8SC#RWCNa^GoM{N8$Hiy=5I*Mf2nqKUl);w6AnBw_F#K z#JtQ^cNT69>iR5I{6n76jQzm@p>%<^#?MW>bL1ylu%G>%==JJmW!(I`H>6@?<7?8+ zD<)1ksF`9m?ek$y$$ysB%+IIr$o$&EENQzVdH)}WET6+4McDNg&o9vXQ=jV8m075n z@leg|u*iA!P5RRsFHW_}woo%XmQkMlJoAR}i`H*e4syI=!6)Os?Vg>@*{_o}K`_&U ezwL1T)6aa?57Q4C-|#pJN~xZ%elF{r5}E*?-(a8s literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0B.png new file mode 100644 index 0000000000000000000000000000000000000000..43a31bfb8d3a3b43f99ac83abf093fc1d67c5917 GIT binary patch literal 1055 zcmV+)1mOFLP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9iAh93RA>e5T1{`$KoE_ah@_F? zP?5A$He3qgtI!)%JpdFORWvCAD$eWIapKyO8MZ&PcRN%y~H~XvyVbb zx$>_-Om3d?rw6b5-Cy9XQ8&D>m3JOJPKj-~FnCXJ9d%0eb@0A*yXnnlgX8XWbcTf^ z?NMh^_RvMZ4ODUqpcUS~_heV#eGygg`~|2}JQM(;s#a@SFuAo*vQKE^CcB6Vg1gvA zxdp(qG~S0_zi^J@?SVa=ejH`}F2qi6N@%n%=OOv?(v3O!10c11i#;g;^~SsQA2a*B$mGEXc7 zJ2K#fVK5$#d%fSS)}30d2APPFY(HLU_zfc6-fR12vrR_B)!cvJx}#xV-^BvUK9f|q^Y?{vCR2Un}OQ#+CD1nzzO^clRx3!g0M3piA^Uv%xoGEEI?4t_A>fR~)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9eMv+?RA>e5T1}4YkZQrcj9dSA72B%FkPdHt^?$H}M?gCKI5;iDprMS5qnn5Q!mQak0)8oZ-S{0MWn5N;<XrLJ8;5h@=gZ9S*9&FkSYA`|qxB_5*mQHnQ2njF~+-x0~T|Kre zfOAhot*##SU?K|;cZ*ILvH+JW5K-06t04<;X@R|~$_?8-;uT=gwYu9U>RZt(K<9=b z8F+fAw-3qo3Q(JJuz&FQ$>hiP6#{%E+d1C7cXayhEz|H;fFtx6^xVn0Ct?u@Al_)j zCx7h%z#Dsp*rVmM%lksL05HaR{rc$xy^=D|ZUh2|JGolpsH01E6!_Aem~$`g4%9>;E(j1=ss%FvNG%S4OEC&O6M(&r z!|Do%0{<^6fZU4}hyu?Kv3Ld`KtG-fa1TH%NPdV#x^yFhYcigg0gRgjH&O+>X)K}*|->?rW!tJiP9Tl|d%-x{5}?4qvNats+5<%U@? zf6*2Bc)uIPE0#@PQmj9OBE@*0OAJO9vdbuZRz7^uRv32?ztIqS2PGy*bOk0au@CPN zU=t^EY7=M1Ff5#hSU3+cabDD&hh1hoPwvL&Uu=y(e|bM=&r8Bs2d5?TcD;F+kTpNE zw{WIp;fT*Fkh{|%&&vZcV-=23yzn~lOOqS(FPKoosm?;*CA@%NY5`@`S~M~1!D z#1xFSc=GUgI_g{QgT@_z+*)3AO)tJMz2E6^%fSpXVjAWQ)`T1J`2&K*@r|8j9p3-| N002ovPDHLkV1ji2!{Gn` literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0D.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0D.png new file mode 100644 index 0000000000000000000000000000000000000000..e5fb88f35d7758f19e3d408f700a656b4cddb954 GIT binary patch literal 961 zcmV;y13vtTP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9D@jB_RA>e5TETA9KoE^nqqvdc zsH)R|;sZk5KR{F-m$wBV5vS=Jk9j?HpF{+9+ z#OVMut>QEUAf}~7FjSz$WQ$vc3W#ZG5eyY*G1=l)p#oxBS_I?9*S&j)!5bKsrI9b! zrk1$6RNV@^R51QU2BJKltk>)L{4C23lO%ynGRSrxj|b_1M30U}Bpp+-y}*UrC~_~J z1vhaa08zcOU=aXPiw3Al^a3vez*$GLRs-+?|1T;VMeK3)b;Z2(`8 zvWZ2x^dN(4wOpwL##InD<8AWGCf20Tl%HI9TB`)cRS-7gZSuRw7T+$_%=v=vP4dab z&x?M)e{+3<%w7JzL@s-qpBH#h0Vu|86za*QqwEX5m!|1-T6|YadOeJEoXGY9kKVp} z58dJqAF77qN9>}hI5LL}TverMoO?_~J+=QgYX7O3rPyCWOp#yb63N)QxQ)WcBFLy? zYc!sMf2T|E^`(w4y6VUf&}AR~jsTl9sUHSaoE5{+aK1#t`4Sc9O{?p$OXc(8Ret#& zTlggS>92a;5{3;yd3O4Aob$+J j1{qNebp>s~JL&lY(yXhnm0}h800000NkvXXu0mjf+JCeS literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0E.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0E.png new file mode 100644 index 0000000000000000000000000000000000000000..104ed2fb2932cb32484e483798018586802f358c GIT binary patch literal 836 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz0dSip>6gA}?2I&ENJU|Q$t;uw;_ z`ZmfoTiQ|J>q+(?7CX_8>bs1Vcpg~mnH>JE=k=DK;+dby|M=gL_URIE;&N6A;F#2@ zE1mO4uXtw9_it|Lr?cO-g>F2v&)jH9YwLQue$~_Zj;a2Ol0utW)9#r(kTl@VA9~LopNL<%gq&{<7k;adrX{pTzH{3Y* z*39jep9*`Uy1ZST)17PgD}F5AzVWDt?^@;86B{%7R@5Zc}-~WE*e|aP1Bs?c(TC%aV%!I`Gi_Hu8P99hoU$S6{`~Dkx z`Wh{f7GWD7tNr@k!~Ofel45UU-O0?iie`7OoPX~czn;zQ`jyDT2Aat}W%qL8``Fq3 zF51pH!M*ut$fo%A^z~*%a*;C~-IgfmO0da`oR_`wG3)4>JMyNW6zu8h=d#Wzp$P!o C{cCan literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0F.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_0F.png new file mode 100644 index 0000000000000000000000000000000000000000..3b04081f629f61839c8db517e8d1724cac1ac9a4 GIT binary patch literal 1141 zcmV-*1d98KP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9-$_J4RA>e5T0KuxK@{DEB`hR7 z3Kr1pc8Z0X&>9N0vNM*(*1uq-g@47;e`0G)jD=rVU;urDutZoP63^p44ww1bw+41+ z3>4#?bI;s+?#$e`o9EVQiT~9fJbYB8gl=~y%VuQ^@HMS3IS?n{(kVcz-??``z>eQF z7Qe)>!pj1}`*ZPL{|V&V7oYtcGI$Eew?A*L)l#UTfrq2L4->WCTx$vVq04LYM~F1= zSaqb&_fJ5V_rw>&zupsoxWjBQ28m$}o*p<}G|}DUVr>(Q!3Y(=6M*`yd_T?_LIvmz zo@-6%X*{;O0PejAHKy^XhZ1)I&f5}a8SVmXtw5Yrjr=s+1=zBn-mc1~4Il9qV8}J5 z!x!qy=q(`53nOLV+r!NKg4o^yqTO<+zqxXE_vep31^A9^M^o+c`u?a0E*GC-@km4S5mrn6DUB`qhCe6(Ypy0 zK*e%@jNWAd^;gg4IeGnY<;jgVoWc-!=7 zj7-jH4;UesM&lBT5w%PB;gNh%>`Va;)q}uXu;G#=no}0Q(89A5$VxrR5@Vqz*tUdq zjzX4bviDpL5VlUFD=e;%FhH_(Ga18aLxTE7&D1ve0wRU>8g^fD)z|Ar+<2y^JrIwk zfs|YpFwk~g06F;+XmoBbpZmVx^B-YlWN>3z5!a!75g6*y7{w0MJDql~*UR&*R%@== zY{C{9V#kj+X0jO(J-<+XtHV_6Byh)52z&3m3vuF(0-Wlj1&ac(wP*laViI^!0PZ@P z)h-|j{J%H>?7i~@lEBL*cJ=@Yh#xNtup1y1q-qGHka z=O3m{J>C~v@=kc5G}V^~)5-U_oMgx=9;5IXLVaw5#wqv%Es(ePrbz4(Rc^~DZHk_i&ghK^ta97xY!5D9?ovbr?$00000NkvXX Hu0mjfeX00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9K}keGRA>e5T0L(QK@iP3mTWBf zTo5N9yW^t)DQ!dp6*L>BcEEp)^$cYP^!oVsmL2e4V?9IJ0lhx{y=4dd*I3UGd1OpDfjMHKIgOq@Xq)pnY@vRt zZf6Q}74O8!6yRAqK-Cf>s}afUDQl%F@Mtr$ki4(gv)0dqH{0uKsf+Z*5%Mee#&rb}n5Rf8C!Wj|3wE-duIoNz|%wQJOkK3@$qy6_5lb5Ne{78E%fpHUr&G<6;=^++U zXv$A6JgrRv<0c53@n!NWs21NY&B}#>uXehf!|#WUM&tO`F)DZT^9Z%9{rLoeCmn!d z+(x0EY`T;~!B^ur?)Cb~60=iSY^`$XO5{; zPv)2UIezt-e~I|*r@5IdS61-kHVU5^f{>ZspCLk40uh;}%5P|$E+u${eRwqhn-g$i z6K4>Hz00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9cS%G+RA>e5TET7;F%V7CNGTE7 z2$8g)sH5IM^ zHT(Ff*1O>f)LB=Qjt5P^Z9O%iv${<;+jMSOcZ@&NORhsae0WgC<{=v^yhiSYj)mD6Tvb3_ zYP^NOPsg8C)mmh^6`;3JcmMWU9@XG-6R0YnF8(E1RX|;%=)c5t2GktaCClAH>$>xZ zuM+TBr1{q`9;$+pO;n)M-z(_OBWx21R29$)QB^=&os=v4TUKrb;J)l{S;z!%bBH@E zc?AUbT!B2htax60$OJIq;hWcTTB8C6E0u-YffJ}rPUKystUzkDAwM(7q%0(Bw%&FwP2b6mKFyfZ!royO#pix zhc%x-6!?Ep0j#~X0#V@EA-0|YB(VK>mO%ah#DZjp*lL$PWT57=xfC!iL9`j)q&_>u zh861amkVEODPUZJXfwV^eFLk-uS>advEVy{;o$VgX}jIN_;rDmJO6o(wQODfqQKJ% zz%gE3Fy*pM+kyEkyQ zWZ=-J7077Uwb?QpZg}E!sAYO~W6b;42@%W2p-G*G*qp}QzvA941EVW-))<(?c-9|1 zI5?Y*4EkF47C?R)EV`0C8Xw==AM%sM3^F1cas*?*mHhk$ko@XvKki9200000NkvXX Hu0mjf8sgK+ literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1B.png new file mode 100644 index 0000000000000000000000000000000000000000..424175b5e2d2aa198bb49321c4b4a41838911568 GIT binary patch literal 1264 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1D.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1D.png new file mode 100644 index 0000000000000000000000000000000000000000..ea69e7e3a0781202a5dd36816bef8e18d2093150 GIT binary patch literal 1205 zcmV;m1WNmfP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuAA4x<(RA>e5T1`(BK@gpVB`idS z5OzVs9*ps%CR~jNkKT;`!GGb!ALqflQ8^LgfkeeB2f z6El}@C0Id^FTY7Dne$U;-&$z^$bmk)nA)DoZ{hiol~}WUuKJbd=KF8*)~m{g=mcGop&+h_>~$>=xE0jSTm(d2y6N$AEM;<5D^sB{e&BSsl8;3|QNcOfN>)&PT-@#ezl zfUA`h>dkt8h~g1koxuh5`-Q` zJyZh^sCuUmb|DBlKKS7pKfuhL@D z>&<}auMiTlj++P|L`R{(B)N$I0?$+_E4M{`zR^i->RV+Vy|BIB3=}$v z3u~V=s4@T?{x~?(%l-6&yAWr??UD`ah^YLXg0 z4!6eRF`Pm{?QmD!&7fx$QU|fPIGu|YB4x`1}r5w4o;PYFlq8zgHN! zi$50_%f-p36?mEfD8@Dl^;D**+!lO3j^q9P^ymNH;v$|jov7Rjyz}$pt zzSZO+L%00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuB%}GQ-RA>e5T5WF|MG#*5uACDm z=cYJKPz-_;wG|-x4I#vv#EZlS!hhgj@P!}M&mbX0`wa;Mt%_BJ0u{vI=EbS)II&%x z^PDHsz1{QKxr=;=`>>jwncaDw-I+P}Ql)bK6h8j+vm_K+tpne$&=}*-Zsc?S&QHze zql6)1wv{Fh0X)#Vm`ihvOr8_{jSfa-Ossg5L{f}*oqubp1e$xVy!9^KtbuvF)vzFu zDpdkXJ^cB{n6UBIn1wMWH^w%DskQw;Raa~aDDMv;_cxGo7m{ZKnQlN+raMiwh$GOb z1|sS-6=%AE-uAsTvCOnrQUbslh3jozr=T#kzPdRRfU_=2L}1~Yo9?gm-gX_)j6lhB zRxC5EPekDHK((KQ+xs7GaiGE1r>D;PbH0s41lo@4ZC(X#?f9dt;DFm;GU!5BbnB1c-R9SmYTbSZBQ5!8REFfgT_561}q1ar| zC=VnU9XT?J?*wiqfBw;Qf`yshKq3O}N)wg(G(YwQ@e# z@Fwr}m$7QMKcwu+j)V0Ew2(M^ z(l{%ZAOJl$@PqpynJ=yU#(U5dT)lDelC*?G1dtfr_qUcthe`FY=7u)_#9%_WL4%nP zzT#rgg))7t1n7lIfP$`~6gU9r#oz063D6L3G#`SUklmBYLweHMVW$fLH$c-YMk|4(w?9HWna$LQ2qjX8+9lE0eSRsIrW(pJ5Vpu^gvI) zsM#%b!AgMoy^IHNM;C*)nC)rz)uqn9`~(E_d;|Edh%a2yYTIWjy_JA=mXzF4R@z0~ zx%I6Kuie1i+fP}g=ghK|fN@8S72aqXrSg^6<+n^I;JG<_lJID2Cf%%|Q! zz=(csl>q@9EeaqCF&FxP0CFA08YPem{eR*HaQ4O<$b~*EVq*<}!2Ih&0?`70iWYal4c!mlwUWQQPRW zJBy2p!@&?IcicP1S$d-<7y94^fEaBQ=t-tj&WqmheSc>Me<)HV&%;RRL~<_lh0nkE z61a^I{x~Q9z(`Z$s4d5;sGH_9!_;v+^X5_i@PBOK zyWib0dJYL8iJn4+W3qi1khVXg*YpfY)5AZwfzWLGY&J;`G#ohCYLY*r(c+#WA;YA7 zD5$lF^)UANQ|Rq(u*7@DTeXeJ8DrtiS8sF=b~N)sWgSW$H7lmldcX1T<+U1*?958m hNI~wPZ8#O4e*yKe_Mw`L^cnyF002ovPDHLkV1f{D1i=6R literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1F.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_1F.png new file mode 100644 index 0000000000000000000000000000000000000000..cc88a675593492d25a4411bc5ca9f1aaf4be8e42 GIT binary patch literal 1064 zcmV+@1lRkCP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAu9l1W5CRA>e5TF+|}K@{Gk3yHyO z5R+C(5E1d9La)+;M{nZUtN(=;{~iAi550@pgB0;lFwsa!qBRyQe%rS`r?WF}C!5)r zk>s$53G!M%6dk>NEu@uMAyA-V zfh$2xKYWb3S8RbYYm1U`uLanxrzT`pwrOW$>z1|0xHH}4GQ@-XyH#u+va!Hx)ZI5L z$J1~44#2(N*C>yVM(``(`7NZ*4cfE<8tAv{^$_Q*(HY3WK7ndiz^7BoSepVY6SFdS zvjXB&<1GY!GWsN{mLjWN0eTB{cCIhwQ4FrOfXxbslYdTbRzRGi;J?Il2E-bdC9B;+ z%er%j-xT05NwY7X9aJSHt5|_{Z@Z*Bhp_nRoqY#c8Oh7{dlZHhs4h$JE3k?J!af64 zf6HRtsb#i#Q4HMUTXrLgs>|YY3*qJvcUbBb5Zv<$W^x03#a9 z_%aR81w`Xx^{!G~fz;(ib{XFs>+@bHxpkArr3UXGbn~nxF4v8*Ys*CnQMe4%E_A7D z%*A3&lg9}W@@}YqF$1;1pg*6_aS7h-UTrp;Xp;?UuRk8QlQx;|ZTHAJy3`H=H@rqM z_r|@jp17d^qx-c5(*iKHH~@KzLEvct*y}i~`2vE#|BDsC+#6RQ2s}H)#xsBd)*sIb z$RB`Ekn9i}?b3$~)NDFa1&pg8+KjJKpB-Y&3U&F*g|D?LU|a>!W_*?UI%bPsm+H)g zf^YQ){gdw}tyb&o*BNH+^yew&vT^r8~IMz>~HU zwS&NG&z`@4Z{rVt9##LqNL}Mo3rAF5rfEuajee~EH;U^W^?t!6pL+-?jd~kp6vI{e z8U?5Mv#B*1ccEV>1XE+v8!4L@2I|b=QUGo8q|UvHvtu+goI^C6LsXoT=Eq@5)$`za zefA$)xc58w00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuA1W80eRA>e5T0L(QK@hbaOEwn1 zfN&C!4FW_(kU|+z02LkLKkzST_+eB5A)rD+kW>+(h(rQLQ5*;%5)tn*$1vXA+55=) z;zMzC zVKG;;K(o=uPqp58t)btmwJMC~Pe7L*i|~63%hVe-)zz%GF+9EKEReyirIHs9$;f() z8lq)&IQouz0P0ISMrHKM&p?q=NDcsOngIhWt(t!mTheF`Sa3-|fEg%BsS@TifulWu z(b?Jh%wvQjm2GKgxa8!u!|Va<J>Tr!a@K{md8K4KG@r;VpN?Jm=#c&PF4@dNHN|J4F_Ebtr z0D{(Dy^ykK2IwWu_DZJTE-!)Fa9ck8%Nd9zj(h#0r8oSuknEjp`#FMN48XCy+%VN> zPT~pC6BVCO5m9~yrm8K2nM@$W)A_0EBu1b<81(n|_wkC2d$HYa!zLMIPe0!5MqLs; zH$O+xQ6;+)xZ@bb*gMz4bmEQ#oa(0*j1$1nVguL`D}l!eV69`b+6hzw|1V|$WAB`S zO5n*RcJ2WrF#ULvfV}~#f+U;RDVHuXxOPXolEAnGVKZJPKiR~F6sq#gh1*&Z7?&Vy z#>?b4Fj{=iGgzy ziE~i9A9hJTcW(2Oe{A97-r8UF91=zroI)mLwtiTU(LbvDZw0nY{>*OT&w* s^saAh+*lZJ$z%o@k%sKS=rEU_Kegf%Ed>E>sQ>@~07*qoM6N<$f+`9U=Kufz literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_2B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_2B.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f466ad00eeb0a4b13b4d117c542724022c0ae2 GIT binary patch literal 1199 zcmV;g1W@~lP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuA8A(JzRA>e5T1`(BK@i=ANkAfl z#sxI2Mvd_xCU_(q)RQ;k*{lD;i+{)e;0cXEPbNm;V2JTRBIp{zqKG6C-%w*&+uhak zvAx5NVGo_^SFgKX_2F*rI& zidcugQ-fwysjU0uUf1xNt#aFVVrKhpwZia_9!Xt=x=@7(SGK_)h+-%l?LWya8qaqZrTM@&~(g-CG4 z-tf;tvUj%a=Lmi=0LS)n!%QO@#1oHeTb1e_;rA> z96S2e0#9ZDigAoWJ=wIB>w=HQalE;?m8{^gF_g5N$gTz6eDwGUbUT0e>LkCMQPo)* z&C$xH8JrSTrylixqxgm+KO*Fbm%j-yoqWyZBtunljKXK=)7S=$tKb)Ef}zp)PM1c8 zfD!iLu6Nz(ByB~H*K6h^O(|>H?sZ%W41s N002ovPDHLkV1h53CPe@M literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3A.png new file mode 100644 index 0000000000000000000000000000000000000000..922a5489968fb0661b513c9f9e4f1bbe5d77c740 GIT binary patch literal 1250 zcmV<81ReW{P)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuAOi4sRRA>e5T1`(BK@i=AO<0Kx zF)pHEgNArOFu`~t9@LXJ#Xt3X_a78Vq1W3>l4v@1ya@J#YnWzIdt!K&QW5WYp zqc-;x>-N6L&ETRboH{W0RxGUp?dvN+2eGscsKP`{sRK|SR8DkYap7{ra>^zA5UT*S z8l8dA4nRFJpEsg~0x_@A&^4@lsE<4SD%#KzfO_Ph)I>~&mcVHTvTl{ofw-M8LLG=Z zi*a7&AsJ=|Of?Zm2?@m2GS17)u!IEY347jP5~BJCGHpge^po zLObATPLQdz1VYb1kV+4^v;_XU4vf$t_Vm|d8ll&yN2SMf+JUS%>S`W0#Wmaf@{J(h4{I;qZoUt4v64%;T0~q(p#;oA%2m0j7qO$2Xc&FmvmaT5b9x7 zytS& zfR{;AoQSDakMr+Faq}au9*V42+=ZA{zRP4KLsj}3g-z*mu@#M{;0L*&G%mi?yLTheHi7oQBHdvl_MTi4rp8#i2!=hgdJ;p7*JD(_ry4{Z5BmQsjQev>&ABH>TH{zOlFV~Igk-lz#u(80p*@wnsf0c6#xJL M07*qoM6N<$f=Vkol>h($ literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3B.png new file mode 100644 index 0000000000000000000000000000000000000000..555aaa6947310ccb50335bf2752348ec04a01f64 GIT binary patch literal 1562 zcmV+#2IcvQP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuBgh@m}RA>e5T1{^pMG&2JHnOqs zSjg)*$g6+?kwOwFh*QJ?a^i;g5Bv)*{5If#ID#M%5{VU%QS5lEmDdn&5+&jdHCt0# zUER~uI|&S86}78h*T<`>?wQTZW?9cagHJyFEGC8N^d!$W)kuc-?)+F3$F3ixOy(Tx zyRW~3eCy-e7?o!rfsb?xwISvKZMj66a+Ir(T~|`sU1jq~HB*0u(N2VGAAS_})2I+O zcURjdP)tAqO?Q1|#pLd{-xxSUK81i!w)F_@6UegtpMJ2tjoz?vMi&)Eqb*+X`eY4{ z;7_2KcucbC-h;q~_E{+$>~ZuNEPd`h;AyXFdU(Zi-k0FA|SA@JFtYq zp}CvSXS1!*70`HQ?)61}qx|(nAZkV(_+aiI5hKGX@1DzOaW>bhFS7D#Jzp*V7SliE zW{^t(nL1E!MMOj&7O&|tBFU~pZwH|IEZ$wWm3NK3n`?S-q2-yiF*F$*^Ou-&G1Qa5d>;$kQBkhyb{_j9lI=cg{ z>YBC_UTz1FK>RT<&muNqcpsWptqMoV-VTJr%Sg!`kWO03xZ!MUUuZ~R$qvAK*h6v$ zz#ji0IX!yRkU)G%r~~SI1lWgrnASJ2+I{DWjOE=z@d;2Z@m)xofPLp3psy-idkWV< z0=^E&d|Wxc1H>C6e;JY9I!J)rsSd~(%gEr3Jwxm<^4Vpdoh2amC3{~|0Arlj-|zo| z+LNsI5BztQK<6DG#;6OiS7(F^`OP161873`P>kfduq$QPq1fUet zfznqok($eQ!1Y-oai4_*VodVOZ{wfTl>4XgerzhZKBfP#JTyIqZDOCoT>4&kBU72m>`wo8mFsrR(pvviF|XR{eS>|R@2gG?bwj=`ZLS+`wFTMnC z^K)|eaC7HPUZSZvvJMHba@CYh!qnvB{oN=YvB*acG4V_j6NI-g?ykBBQ7SK^SX2Cb z+DeV5(D#{`Rlpmxt!!q#1%$rq%0)Qz3a{b6vyf>)MwK|5K~OlEfRn=6gmHfVM{fZc zC(X8es$Xp3fydoBdkzU92B(lT9v5fF;-{m`M*5*Qu*6>CWw`miRX9^pIP}X7RLhIc z+t@}uhjVe=^kRbTL29y-?1wv`;?_)Pp@|P=>pjFZ(I$x;u@>!Y-%Dc6p3Ox01?Ckg zD8|99>o?C%4wT|+n->A{s8%tRtN4ZKyE|hZS(!mbq#!*ghpqVh1sG8m&z&l(*#H0l M07*qoM6N<$g7HVivH$=8 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3C.png new file mode 100644 index 0000000000000000000000000000000000000000..6458fde8bb33f23850757c6e0974473abe0cdc63 GIT binary patch literal 1766 zcmV00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuCP)S5VRA>e5TFq`7RTLhljuIl` z2*s(35)~+|R2rlpRuv0i#SXFH4Jz>vY*?`2A&~k8yaTX6EQ_EO5+xLrilmvyiUW@#Q1{h1%TZX+>^n{&VObH8)Wof~_`Npi}s)(0PcR3(MM;IPwKF(Vys-~2I6 z58OD$nC`OH_uqUC`RaS`V>FS0L@pf`W^K$P)>=hNJ!&mvH%Qd21uYtM zyQ`uJ#uSTy5KbWN2V9cD_MOOv4tW_I>~ZT0n8n<_Bh%_aAc3@hdv6C@!V?HpEEdvZ zQvm||yaN*iYvmo&0+nX$z}w^aSh3=ACVJo)O^?TR`5~)M z>#;Wbn-2ccn?b80GCPoOMXZQE6wh?MB4syVumdnX>GX^P+r?2-?7+sGTeWUP(}AS3 zGC$ahuV~gKfwu5)1#d*xj2!^`yqwC2mE#Cl1a#o?g;&I|;#y)aLM#Ed9^$5j(hjh4 z9N|a-?2-BTaiEH8jm`7Ffm0|qcv=$JH@o`{A%6mm>tUitreKd8A_f&z{sgciEBZG! z`@aLD()l}3tFFyl5~zL~c<)7Q!uUS)detf%je{MCFRxc>+yNb=mW+Qm%WG## z5}2?9h#rs7xC3C1FC<6%_ev6|UJ`b|e2xJ7cn_QP4XoB*zogd+ZlUT4u$K5Nq+P&% z>K))m6{$U!n?eGi4(NPbxq1i48>4&}(b1-m0K=IM=rtyh!5e#q>@mu{D>0{*fZmr9 zeL?|@alhXE^%vBhve`d~KeYs=-T^X3UC7?tyHc7w0XPWSK&ab+(qmK@gBWsfYfqAS z0!*|4^=2-mH?c4VvB(m60uy#1vW8bx+5xYZ3yu<)F?;YR?SRYGi{u@EI^Ha=Kfwm& zY~bQ0P)H!u2b{hk6@r4ww94tF7zalQu=d^#fIUxQ2EqeCoR~Tvu%ED;Zp=7ot<5_C z_L>%qKpkAay8fkhfNUN?Po)DUrdcsEEj(6{4uJYf@8#=Xd`?ds$#SS=NZRjQc$KPb zHgN~CP{o)Myi_P8K;G~X>hwnwKECz|WTc^~Q>*t6Iu`$r<~49*GIEu%jfi4rcnc1J z8|m7op9u(}h7Gpzj;MWt*MLDZ4Z2EvF(6_Bx6HiR6pz`?Z@yK__m7)5e%}7QmW$W8 zu!Ugp+PU@LcJF#kBOs_S0k@FaONt6`D(n%bwXv~291i)g`(kfn?;t&Tluh-*kohuV zxxIMOPUasaND|26;v#*GajmJup_jz0h_{zJ%OC;gwX=qCN710YI-q=DlCh^e-x4aaAKX9=J}dJ~f?h+_Y63qdAD3dUY?cqX{* zfUtoO*?iJ5V?TR5O8}Sd0Fn3@vY$OZO2AvWNDd+U+2f-GB3z$yRh9scIhUy5M}s4+ z6}5#^Rd6oJ@gO}uP(K|NHaZU9z>>Yjv*pJ7*5E?P;IPj+FjC{$nD-G8!$WT8oDi_|`9@7z-$f7IXv?uoj>H0DZ+{pQInuI{*Lx07*qo IM6N<$f{L{z6#xJL literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3D.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3D.png new file mode 100644 index 0000000000000000000000000000000000000000..86518c17c7ca85a441c4508618a2d2110a16813c GIT binary patch literal 1900 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

KtVZY5=}vfDL%{P6shu`*P;1 z>-W?0Rk#oP_srsPa-#;|l>zd#yu9>5XL8iV0QUGG>1;g62q51yz5Djw%|9Q)mbbQ{ zFQ=tvR?LqFH3RtqfEDt9`)iZ?hymh<;y-(&7cHdjB{4lRJSwR=HOrX3BZDG)ASjn0Tr5@*ieLqcAEKg8VASrEXLdIkG; zN&w85*o)d_!?*@uz^JbP_E#>2m~}R!&r94943#yy2;?R!TLoqeVu(T1E}O&wP@vr5 zC9Krvv406>#Gd>hHY#O+K=5cvpMK~tV-QOr6EC4682}r>UJQw~w0beP^;vI+MwLVV zaMcM#?`AK6BJ43H*kGy9Lq?;3xd-ol4H(CAnt>Z0X8`)?$#Qe3YSB3cACGXVCEw6L=jn>CAdZl7@g@amF* zXz*ssRntOMf%5tsC}PF;034opdZ0awMiHM?Ea-e3@LB>}dO3M)(t9G(w;z%9V`A%cjwo;f8-m^v>K=Zv%_7+E(`YV`lJaH z82VZz^{d!f=p_;EuvtPTC6cjmX5#dElXRVlkYT3(bUsyNnMm`wJ}(1DJd>!V;OIY{ zk7WsIGpgYlzf4>>6iqfy$1MS{<){V9K*3R>01%?Jo_uj%D!%@$`cVLw33|&F41956 zp4s&EZ`J=_WB^lT%|H%3bJm4I@o{@aY^?zd=8Fq{nN45+N&Q{`nIrvY6?#Q%<%gmn zTzu>@F02?oO8s6D3o6vaV~YgwDag36V*Due%k-*9#bnOhxZstg<)!UM+tbt22m1$@ zx!u2`pNXapud%?R41h5*0QMx)QXUt)5{BXWdh|aLwW%rG!5+boJQjHAy^lWuZ|k+y zxIbHelDnvBy|WGpuu7^4og7UoANBu6am3<#^k6lyf?%JHCwr3!O+oY+MW2`tOsH`QN#M|rGSKVR&c?EE zne=80%Y%HHndI|4W-rE#nNUa8xD>5g#69m0f5;Ilf*)kH z{`Ah)x==he`vgF~i(WL%Ui^pY$@((iS(!mbOu_UZ9D4Ej7vX0UT1c2#{r~^~07*qo IM6N<$g1+87F8}}l literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3F.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_3F.png new file mode 100644 index 0000000000000000000000000000000000000000..8b1a1c04869c1ffadb483ce49e61f1e1c908a05c GIT binary patch literal 1290 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 a#piF96|28uZ~|ih000000001b5ch_0Itp) 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 c9M00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuB!bwCyRA>e5T1{^oRTQ;TR|yfB z2*qhYu?i{_l@_U0)kRw&V8srxX3K`(z=prW-+(S6mLN!lphN|wB55YF;y`0sQE`Sd zzH@!whu@6d5+g>@%YEnFk8|&RZ|uyZ)td9G{lSMHrKB(z9A(+68EJTL`@1|pbp04* znoF#&zxopL&G+8NXgmXnT-q(vI+#ba^%6Dps8=DouC%hdD&~o5Ui}3@XChp_{chaP zM1{DyyIMbiybls+y6dZz_wR1q@!$f56e2#wHXzhbpw-&_{#(Dd?n{1L&~b%scTHA; zK1CxSgcHd70h88X=YC{EhpY?^_Bi?i7Cv|G%QRgGB#`&-?eAhscpRaMF+ZwKQFM`Gs?_MA0*UerW2a;y&!1a-TL`)24ya#Th`N>GHy2e<15 zJfew90v+Mu3SN({8an{?RXLRsE5{MA28li#161>9AQWS z?2-BTk)y;|BlYTc;4V}tJSz$8o1K0`$e%#tdKmAKDcB>2h(h9$KLPB>MEk~S|97A) zoxcOM>e_54JlhT+f%IeGJ&V|c@qOsEs#Q2D2RjfCuOqPoNBh5NaH8C-Z*+?foR#%+ zl!FP>?ZE2BD~5F3L*ovBJ^mm$K6p4G0mCLT^>zU4<2`KLfz8)1>hCPU4n!E6CDzh( z0PJVp0e)4H+LOi%5(ss`oepWfJZolpmOwS}hafP1{$s2cIIhk~$24w!NzF6P1>NSVNt?BS?E z2ZRs>!&NfDs%DI-XhNKh_TX|P&II>rPPFxz|UlfQKuWd7LHpOGMy7v>@g?`xirCB&_RehDv zXk8gpn1EYI?MjLYa3<{Gr`_vq4u?ZN>|R=0g3OSVQ*h{LmUU%3rfwFOfjTSM3Q4b@ zTPK7m_| zG6$(BOweA8rjrJr=sB)Xd=8)(=%%YT7kH5XD&#$gbAkUSI)Em4J1`e``CZ6+29Ut% z$IAr3bxyDH5PRA4_J^h8!Le2lT!WAWf1di~AvRPvl}|3-&P7LXLH0)4!gg(vSaqjB+mibIk=_bO4NT8wGpH+{*KUpUJXpZ?AYOytKH8 zk=u##T;T0bKKmTJy%*lw>Gv+2dPidpD_70vG?;q%1pjXok684hhm?3;6E6sFaok;X z5mG8{qgXTiLfS@6rqBX0DpYlJp@WA8lh`oe_kb*NL$HV;OaO;kE5H{Km-@uZ+#*1*HeQWT_ z;W$s|7ab^<$Dg-}jd>2|;(K53>y(;)>`biH<~zJ3I7} z*s>QhReps9MFz##zIo;9$ W>`m+YJm&}i000000001b5ch_0Itp) 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4B.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c4094f628f01a0389f12429be492be516f3ae2 GIT binary patch literal 1766 zcmV00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuCP)S5VRA>d=T3v4&RS;dLt`Z{R z2*qhYu?i|hDlJkGPZbZq6K{zBz`x*y-v&G&9zoCwsUHGlMAB?z#epWYqT=kH-P!Tn zkG<<8g~f{2b7#)XoVj!F^?IEw>-lT&@h6|AlrWzkjYga1O2-Fxf5`JgH;w_*U2=W< z)t8X(eE1QrCNeaUmktZq5aS41n~2m`ZH4TH(qPvr?ujrjenqtBBHVocgLs@)K-}H6 zb}t~GfdrcF#>(>9y>Gs*^!W_Kg+CZHK>J5xYM4*%UO<*jfBfDTD$B;NRC-W%Ur-95 zw2sGHf(phIL_in@^u=tMe1e=m`Z;7OFg5$>Q7$f%&2eR_YXEy}{p&TNh>2Hit<~-C zfez%e2m4c@vJeJ264H?U=>OsCeQ$m~FK zwjv|?uz05HjFjET!43fWY_ww>*e+hh#12f}xy_9@FAWnhbBH}qt`qS!9mqzTm*@NO zjN+?fhc|JSc_V6P%IpBxSJPQ;Vl4WJTG_?0M6*1I=)jF@uS>MVT!I%NR)9Mn;--b= zIso>l{AwL2F;@+5-UFvl1Gp#&>_fZ1Q%ZjUOV39YpuWQsO{8yv2?^-r#`YCjg9UW$z~;_tjHuU1hynDG z4#XqCiZ3L`2aj6{h~ze=qz)LL@)UA(g@XLNCMtJvkEp(o1UnE3VN9G$+W}|Md%cVj zL&Hx4*cq97n$DpB(}60bv*_v0s0Ccpr05*{$%x3aEMMTZvki^iIauuVf$E8%+UlNDABq)Z9uq zUXf#zSYZresKK3k!kPkDsFNsF;Z1;BiBJc;n^-54fFP#zMs5l?V+Y*rg-mDZfFT+h zRt21qJ)(Ojtht$U^0#)t@$f5}4!|C7mOntL#e$X&B+fpi2-tAb1>ql?>AISE?G5pliXztkv!BO##5Bbf5^C&ot6>0Bgxh6iUxB6NZa1 zMcpba?15G^0HbSf7?@r^d_D)Fs8F^w@X(OGJiyaI+?d)LmxqWLM}(~SkT-0wl&1>q z&bI*&%OEZdi7x)lSizux`sr$@hZa`A#YFClLfP+Eh1EX1XmGPK*xx7p?+!$@}erx;6HdPo>PSo>3c~{=R z({bs%ULZXM82`i}CXzMCjKUG^#np7u z=o90IV8sU+N<=qZL@)G30hl50M(l#+Fdo}Lxa$yFu#L&wp_mK@f+?|cIy2l7kD?6tC3JEV#C*2$TaAzS}$%8jGivwWc1=9dSLh)F0Y~| zvMZnJKeq6|<6g~PQbI`4GbOKw`N^UD>!?~MIu3YC4O(BMtAEKedZA?Wz!x2;%%Nvv zZF<}Ee1_%0n7WhlJWtr0ybTi?+VZm6;3lr3C%iF`0KpG(=!bsGUfk65D_u}zQd|dj zZrwgP+B3kHHeZEOuEvU?w&FibukTFcDqvBHMhiNE3D}9xKg58EFN9@P6#xJL07*qo IM6N<$f^h&mz5oCK literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4C.png new file mode 100644 index 0000000000000000000000000000000000000000..66ee237b38576a48631a66fbfd07df2e02e11ae1 GIT binary patch literal 1552 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 Bi*En` literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4E.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_4E.png new file mode 100644 index 0000000000000000000000000000000000000000..73af8d31ae4b9234335f360cd2b0ff763e128bf4 GIT binary patch literal 1554 zcmV+t2JQKYP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuBd`Uz>RA>e5T2X6MM-<*{7P1?g z8`^H%mTa{I6{|whJS9HZ(w6k86a*jp)R)pf(BIHMQ2OkvP-x#QMOq(>AXtMMib~K% zX=1j9Y^sSumVPtm-g752b7$||y(D`jmoR(gJKvmh=A4;Xc5+LlfTs)(t!sur?oN+p|G z9-fkBA?(hG) zY^GoO5Gy3g{q=9>OH&;I-zv}iFpJOj(nHLFmJ_1K);}gkp;^B4eJzr`KK(0zG|No8 z-Ney@H`Nhc`83Z=l7Q&r3ZyVdqs+E~Bg{m-kb3Zjg)eh|?ZZP*o&EE9SPF$l6`1bX zyT>uAc;6+q+W#S)yP&8uIrvP9LlF>vQU&;QiWQzxZWX}Vz;U@bK3l4bW3+a(DkFIr z%W|E75CjVVbE|-K(^Eqgpu@iTWFDst%xyi|7DmTJ6Uq`Fc{0B&zdBKYlM_dUy0<6G zDWrL%J>XjbM30#t(QNs5{ZAo(AJ!3w-oE>->|}7?CV=QMhvdN0YW8gc2NeiQltTrw zt%N?RK(@V@ZIrn)a;w0`>OZD+2a>IBrokL0K)D=kylYx_AO{r)lXFl3{L+%&M+M#k zj)lGlsvMTk9z^MIaWDZ#a-6C@Iz}nZ&9$e_fOTabeUVXUBV&j47@hq-tpI*8I>U~Y z{Z#>^lPVy7)GN=z&Rh6XfLQFK3Lq4ullA~tVC%B@Y5(c79sEI{ZXAAolJ_x+>%rB* z6QiGh!!aOwGo3RRFL2Nh&}F_Uz$OgBtf}gXWW1HQ_uG|5WSc5L_Y1gO;R|#T^u>rI zKi|9X-Nxk~cR^7H1|!k$)4KvNkIUW0&OP>{ReKk=SHZgi+7&q*sOtyI z0CS@`U_)a|@V2Jh6G02hw5bss-3nh9J4jX)qNK|#)?z6)Cc+-Hr8^7azgG~VMMIoDT6I)}a z;}5FM_NGc;Tm>OBzL)%P6KkPRm%q8_IA;#yjO-)7jBN37sb;Py_~3YR{KfMZ!^6X! zoenbn>g6k>b4Wggz(oZRF^*A0Pckj#qTqu;5Ui}MVh+_I@lFXXCz1<+SLVL@8gW}6 z{Lcda`Qo3potr!v<#I*90R8}%3 zBaTt%cv>VRu{9cZ!S@=%Z@RJt7OX0V@iOc1a~3igQgg53>;?iZNSKc<57BTQqT=k- zw8JXZFB=D6#nBDl*usU!ViY~Qgy6ty^>DW2GHjO~GOpQCaSjOfRh*-D_*LTsUsNFU zg!ekFui$mVF^U}vQ{DLL#8iG92{F3aA*YF(Sa*}$-xYl_4H`GotB+5) z6-`|meFq@7nigGE`(X9)u||_yCNs#0DySATgI@9c4~g{R5ku3~g8%>k07*qoM6N<$ Ef=Zjg00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuC%}GQ-RA>d=T1{^pMGzg^8`*2{ zSm1RG@{%AEMgv~3ue!Q>XL~jXN`4J2zyCp=5Sq=MFdWxP z>Ui_oZ&7s5w4;HkJNvr);}4J*-+T+DW*HjKCCvg>LEVFvO@x%CY=vx^l3=ryyXS;i z@fFtgML2!-jkQZZ!4w2Gc<1UWvu6Oe_9zq&AZoN`m*KVA_*wTIHJJU{H(%?mwdaBq zpf`DJ>QKEts4Mc-Prm!M1qh1q*jw16A!>v(FUwxF+5}ha2D#ZSxHAwnf|!umw|e8- zb#wS*oSGr&*kAr+C73@@>MMhbpD*Fwy!9typy>qmSo$a8UMSYT_^gVX!()oF+#MN+ z8aKD@V9YE%;3J2dj6F=uAE;`4)nA(<0qnC3PdL)^#*skjqLP~^1DG4wE_bJwf|}Y! ztH(!Tz@to#=LrB|xC*6~fgl_|(%kZU)cnTw1NR~h0;@&pCQHfyZT9tz60DDA!EVYxviLg8yI_%wfTd-hZ}(TDB+>2 zH4$U1S7NWNT?S_XpaX0BCE!uQl>yH-O5T|}Z>0D8=TxxC=ae3)Yf9W%g4zmNpbBYXIu0mCmwzdvs6m;pxmg)9TW`IF@_gyEzN zs2}y>!W8Oy4G1$nu`Ph^@&NW2PAvnii|SD9o%{RvK%lCRNVjcC05tY_GJxYjd|%3E z9)(CPXGW9(I$yxH%?Id;^aa@| z@I2?hU>h`drELo3$p9?la94ikYZ;&zOadPErcJZEOOs{5h0yfc5jk4r{J}IpY!m|) zG&Ut(*7TG{fQ~jbfTvpF<6;lU+60z#oXD-1%2P8*4Xwe|RrTF2p4}yYdyx^72HR%< zX}BW^16sYiDvsHXotZDx_pfVLe!q3QP!}t>@D#FI0Tl|s97u`hL4~p}>|tl1UZ39E z+oQwok&zL|{~>-5qs7~$9J#XShoOUnkok%W)zOww`N8oL}@ZJvZ zUHGT%!7pD8E}TQTv~bRf??p+!p0!dlNPJjHRp* zjY*K;LTfOt0`KZ#J*vSw+=*b%`X<+UJmoSD0)yO!pRgD(^+DYLNY(l-a-z2Ftx+%HNP1XYDn=3jBlx)qIE7}#&;CR z5W~O^vg<{^&Yru8;TJlmNKR1>ES{Nb?QCkm>i7##a;deVDqHan(-Tv5E*Z>9)<{8G d&00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuBok>JNRA>d=T3u@#WfY!G7ZQWn z5Zts%mRhQUwL(M+6$LMQC;bop3vc`r{UyEiQm9anV$imNwZyW)q#aqZ(HaX@pLfsf z*|X<8@5g2*8^^tvJ@cHe=bZD-JF}A%MZ-U>8=u`&B@Bm$oz6Orgg?6feOdnIn<=mP zPiM+Y#z@*`qLM*AD81&FXUa>)OY>(v+X!9(<>0-KKgANVX~ng+PaYbN9M*aT6h;4s zok-5OHsY96#UqEbZ9net@ov%G@Nq)o+K^Wc9*-Q-dIf~3I}&ki4$Y8FJaSmu4leg` zrf%m|h`sl>Lqi-J*8H8B*WN}YmvZBtrcQ33`jwm_3(DFa}R8(3>eo{Lp=pZ_KG^S7{&Cj z+@vzfNTHgL8XVsSh47t3H6>&A)tod?i2EY zduVT6)CADQa?tgJgau6?(*6*8H3YwGLTa8sC`|~D zuve;3gv>i}`XZ)IgwmL}qR1-;#!6+n6PTGdT|gvuFlI^$_p?5-!^|JGLPC)5d!cw#|CmU(?voTZHw z&nHsA%TW7;E;>=)OA(pT_1KC`G(tREQy~H;?_PfM;?)lV%F}|M-2d*!$G;?_>m_75 zAP@?Obb`mlHtJnG<9>YdWt>Chu!mQx*V{TiKE@05Zuhm7l@-Voi)7#&`b-3{QhXH8 z_F89+NN=9sBvYJ{OgJ3Qsthz2loTJu(^x|2y=*od%*m)u@WkrE!5+;$8XhS=%#CoP z0JdNOfk-AnO$@5jz&RubLn&yRuWkhH3P4BARo)2ve=z|J!JI%N@akdCyarIf ze;=<30M~|os*BiUPunF_*o>tC;}V3-_#*AAi&#;iQ@(?!EtzrU#rPuam(VTVE@kJM zf}h*!Z9V_v`ReNG%fDZub1(jSfxa$}K8?WL1i%>EDA zq~%0%Bk=oF`rwKC&V*w5sG*ES)0Qx!4>fhE@AXDejlB;N~3oEbwg$=IXI=Pj(KsIkc!Xj70#3t4tqC&N*#Fh6?!GcIM{Gv7wV*O zCQOJ>Dh?$LUc^;Z8DCTEqxNyjxK;%wV;ox_UETika9^okS$`cMAC(rTQv2wj|MrC* lAK92eMx-DksDLx^`4>!1Wg#s1MB4xW002ovPDHLkV1kQ#;qCwc literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_5B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TECH_5B.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c433b366a599ad287d398f5b492bba67da3e74 GIT binary patch literal 1497 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 Qd;kCd07*qoM6N<$g3}n2vj6}9 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1C.png new file mode 100644 index 0000000000000000000000000000000000000000..d40ed1cccd2f154c8b99ef00512f4c291944e581 GIT binary patch literal 3404 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 UU_lAJz5oCK07*qoM6N<$g33PvjsO4v literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1E.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1E.png new file mode 100644 index 0000000000000000000000000000000000000000..56790fcfce96bec2a0c04a6e8f9214ac7f5b5403 GIT binary patch literal 3254 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1F.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_1F.png new file mode 100644 index 0000000000000000000000000000000000000000..159b3c340379f3f4657dd182d21b447931927b3b GIT binary patch literal 3676 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2A.png new file mode 100644 index 0000000000000000000000000000000000000000..b723bc949ae25dda8b0f1b79d3fe97ee3fb78095 GIT binary patch literal 2982 zcmV;X3t9AuP)00001b5ch_0Itp) z=>Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuH5J^NqRA>dgnoVzAR~3dG$IS<= zlU5-uM2%X$lB%gn2MDAhG3rl1Vg^5f0Sp+xlmUzoGukmohzT%b4iaKgNTNWLCTSC# z+Qy`g8^uu^%Cqm|`+8+xU+116b7k$Uv-Z2ze)n2?@3YQ1Iq>#xetqcS{STLyKeh15 z+}zyKd*^Ap-{sqfAKbgU`SIO9{QkFez4G~&XrDd(xsPsKqeXuH)TuYW@(RNG(iPg^ zKe+hr_kQxzLH^;h`tLh9;dkZQ2MV7o{{!LdxpSR=_$+|F{_daFHV+Ct^W5Cpy#?fG zP8@m2-`d>MD53uCAN**3V@a^?j-UD>msj7rJ~BCs%xs@J+VK2_`rll6|N4bX866L2 zp1Z&N!rArZTYtHDV{Yyd|L{5Z(ra(rUcWmUt3hFp@x85iHBd*;-NC00J$U$^v#-B? z?b7)xw>Fkm@2qVuoH+V$Y30uC+aJ{-8*(%U@CO&49pwMO+{3tH^wWzE$mjjLAIrzK z`rjr>$MF|F3lw8X(^mEXHda?yGYAZ63DL$(Z|82GK zgR6E3nZqP4R(#fFBeZ-=^Icn#5dG}_H6b*6I|ru!@lrXu#Uev1d)kgY;a@!Yd?lo8 zmZDcUvUm*q%F^~$K}lR^_iti5pY^i(Zxd+K9cRi61nn$oD|_$&AXL*86TGipZD$cb z&!|EEmk+%>GHs2~>0;FRpXY?CHeKL3I&qXE1^LXUcUE1})kYir@IDsXzwCki_TSi; z+&Zu_%V1I&jqG!Ykk}k~=4oec2KLqe{6AMWD~ZU)5-MowcI52$s722l%$NXH4tN$D z8ACXB>^PYH_TTovWTcHHB%lJhx`e_WLw^Ej#jC6)`|5w^J}~C9y%H*W11!Lh2ORb= zuA~9feIGo+WOV))|7`+r%>a|$=?b%YV?tlq$3qpw@2mg$ot_0Lu&$(q(kk$ImCOBIdv|Q+y&AQ1ERJgsbdxNtbnq8qCNkvC(^DzkZXh zTC1G;%*mCJ(m8-9w{h5Fadc}`cWsxk@`H_>uo^!YwesFuc&10MKk>>t_kmU(kDdqY zXoHQPW)z5)$07i|%bu3MSKs^wdZrh;;rcG;dFy*A29(QC zv@82N(1QanQTRghK4`eAF5VNQi^Wy-ahD5D48CcprB9W64fL4_LM~(239ihn z&#u>u;d~N+bGEW0c2;{m4|GtuqRfegM=qHR-koHfYRnBs*mu!M^`$og#EFb8r$Wsq zo()ijz!2Ef=Yb5b5cc7Uo|yUP0_aS3z3kWrgNN)H=D;7Djol2u+={I1E!)~2aO&~Z z3D^T*fN3lNF!s(2%Tr~JUBeIi$>p)J((Va(2n|lNufFw`XBu-b@L@&Z`O^wzTSE1h z>6##L#zs90w1Sn5ifvriQ7ii{1Gv>c?3n|l%B$b{4yO=z!`zG+Mdt|BKbPR!1XvaF zvz2<@EEru05mAz>9H)5bes=jntD9&1Z*H{LrV>DCrx5I; zvIFY;sW-DR&{1aVWm>}{7!0$e8by$eEs+KgKM3)L9uum-Y3#L%IROISGT@N)x%}rpf}fnjwC@k&=Yg5O z55S|n?;rB~02{t1q)5g?E9^#ZO>2q4LShLy+u6TA;Cz9o@$o`CdneAbQ;F8`7cH78j=RUwK!#CPF^>i9bA|xC2!F%ac9Z3)3 z>$=B;m-rM20yLa#GvZ``0){;@e6}Zm$3fo*g4ZLL3XEOJxfe%YqFOAw0EMWh90wHm z?2|4)p&r3)(?1V{LA+}~ICBD`nf>{}3>eF1IKHV>9)=T5GMtD+2p*x`aK_&s`saZf zKcLQ%wz6-r9Dh&HZ>*elhvzF`_G=d)kS=KbWVT#prFC}$8Vs+z=}GRMfa z4Ai$v9hyrkBB|Ir4PR}Mt4Ts$F|OmPF<$lVhM~54vqEDrGiQiVR${*U^MG>&v}=&2 zWkxm(27m||q|p&nc{aKF@A|S^qQ{{$t9U^Ew?2lU-TDZN<1A+Ev)!7c=UlYG$sU!Mo$ z!8#$*b+vG5S8C~LNc7rj0)FuK0pIthVsRwyZV2^+HI2OQ-|z1aqyH~7q`v3rhyP!c z3LM^47XE*p`o7;KM0q^)`2mOC_&AQJ=N|k0q3wa3T$Wt9q{}))4V=h3|F%bpM^Xw!9SV*lv~Ljnq9v?Y-eEh`kwz4=t^+fX`P{M z!k^=1cK<`aKeP$7a1N>OEmusgZO7j5a}b%aLH@Z>aNcuUz^84TbD7LU**_21k;HlF zZ74RuOk)pq?m=1&eSV(R2*{R;qZtcVgP@BH=dR&6^u{!_UCAdUW6k8~zpZr4Ix)ls3ip0uyw z55Tdxbn(OqGa2eXwg@=HJZ{Oe@2KhGkl48oXai0G9DiI|Z@H}Pl6}GtUE^fz!yc2I zLK@P};y+*o9oj;PPZm0{Z5d!BE;2kIl&O0&doU29zVG&~wwP2WT;kAEXpsM*-ya5l zAAn_I4@=Jq1b#JCYM3zW?aK5Bjk^Us(a{6Fn$QLrje_Af&|pk&%YZ5^UGDl#t4BAb z08G3D(+%S#CfPZI{9~RW99M_1&!Rx%=bu(i`#x0=8E0DNT@9@or;7m^Om;<96XhqU c?}zgFFF!WdE+s|QS^xk507*qoM6N<$f|p{!RsaA1 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2B.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2B.png new file mode 100644 index 0000000000000000000000000000000000000000..9da4296e3f33cfdd18f88efa5712bec48e6cce86 GIT binary patch literal 3431 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 JPDHLkV1n&#y)^&; literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2C.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2C.png new file mode 100644 index 0000000000000000000000000000000000000000..a731fb567330dbf7fa44fdfc6be664bc97e52a4a GIT binary patch literal 3364 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 Z{{kh(3Gs%@hgtvt002ovPDHLkV1gMELbU(@ literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2F.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_2F.png new file mode 100644 index 0000000000000000000000000000000000000000..2078459d0b29fec862e859f0de1973d2fc396a2a GIT binary patch literal 3528 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 AjsO4v literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_3D.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_3D.png new file mode 100644 index 0000000000000000000000000000000000000000..a44193b250f2f69eef5e3777e27c56c5d31a0700 GIT binary patch literal 3467 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_3E.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/TILE_3E.png new file mode 100644 index 0000000000000000000000000000000000000000..24cc3eb50c6dd6a4a5c08cd35b80743feedb165b GIT binary patch literal 3108 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/VENT_1A.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/VENT_1A.png new file mode 100644 index 0000000000000000000000000000000000000000..9cea12d688a8971a225a89105b2e7b412947425f GIT binary patch literal 1106 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 M07*qoM6N<$f}a8YDF6Tf literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/retro-texture-pack-v9/png/WARN_1.png b/examples/ts_dungeon/resources/retro-texture-pack-v9/png/WARN_1.png new file mode 100644 index 0000000000000000000000000000000000000000..fd8248483a0783bfd3a7f332ef8ddb3a9952bcff GIT binary patch literal 1320 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 z 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�@9kV2IuCtvg8+ut1cJ_~0N`5~ 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%0D_7KPq5ahsbAAYZ(to8!H_1o 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≪osAenFd+ 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 literal 0 HcmV?d00001 diff --git a/examples/ts_dungeon/resources/shaders/glsl100/lighting.fs b/examples/ts_dungeon/resources/shaders/glsl100/lighting.fs new file mode 100644 index 0000000..7367161 --- /dev/null +++ b/examples/ts_dungeon/resources/shaders/glsl100/lighting.fs @@ -0,0 +1,81 @@ +#version 100 + +precision mediump float; + +// Input vertex attributes (from vertex shader) +varying vec3 fragPosition; +varying vec2 fragTexCoord; +varying vec4 fragColor; +varying vec3 fragNormal; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// NOTE: Add here your custom variables + +#define MAX_LIGHTS 4 +#define LIGHT_DIRECTIONAL 0 +#define LIGHT_POINT 1 + +struct MaterialProperty { + vec3 color; + int useSampler; + sampler2D sampler; +}; + +struct Light { + int enabled; + int type; + vec3 position; + vec3 target; + vec4 color; +}; + +// Input lighting values +uniform Light lights[MAX_LIGHTS]; +uniform vec4 ambient; +uniform vec3 viewPos; + +void main() +{ + // Texel color fetching from texture sampler + vec4 texelColor = texture2D(texture0, fragTexCoord); + vec3 lightDot = vec3(0.0); + vec3 normal = normalize(fragNormal); + vec3 viewD = normalize(viewPos - fragPosition); + vec3 specular = vec3(0.0); + + // NOTE: Implement here your fragment shader code + + for (int i = 0; i < MAX_LIGHTS; i++) + { + if (lights[i].enabled == 1) + { + vec3 light = vec3(0.0); + + if (lights[i].type == LIGHT_DIRECTIONAL) + { + light = -normalize(lights[i].target - lights[i].position); + } + + if (lights[i].type == LIGHT_POINT) + { + light = normalize(lights[i].position - fragPosition); + } + + float NdotL = max(dot(normal, light), 0.0); + lightDot += lights[i].color.rgb*NdotL; + + float specCo = 0.0; + if (NdotL > 0.0) specCo = pow(max(0.0, dot(viewD, reflect(-(light), normal))), 16.0); // 16 refers to shine + specular += specCo; + } + } + + vec4 finalColor = (texelColor*((colDiffuse + vec4(specular, 1.0))*vec4(lightDot, 1.0))); + finalColor += texelColor*(ambient/10.0); + + // Gamma correction + gl_FragColor = pow(finalColor, vec4(1.0/2.2)); +} diff --git a/examples/ts_dungeon/resources/shaders/glsl100/lighting.vs b/examples/ts_dungeon/resources/shaders/glsl100/lighting.vs new file mode 100644 index 0000000..5245c61 --- /dev/null +++ b/examples/ts_dungeon/resources/shaders/glsl100/lighting.vs @@ -0,0 +1,59 @@ +#version 100 + +// Input vertex attributes +attribute vec3 vertexPosition; +attribute vec2 vertexTexCoord; +attribute vec3 vertexNormal; +attribute vec4 vertexColor; + +// Input uniform values +uniform mat4 mvp; +uniform mat4 matModel; + +// Output vertex attributes (to fragment shader) +varying vec3 fragPosition; +varying vec2 fragTexCoord; +varying vec4 fragColor; +varying vec3 fragNormal; + +// NOTE: Add here your custom variables + +// https://github.com/glslify/glsl-inverse +mat3 inverse(mat3 m) +{ + float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2]; + float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2]; + float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2]; + + float b01 = a22*a11 - a12*a21; + float b11 = -a22*a10 + a12*a20; + float b21 = a21*a10 - a11*a20; + + float det = a00*b01 + a01*b11 + a02*b21; + + return mat3(b01, (-a22*a01 + a02*a21), (a12*a01 - a02*a11), + b11, (a22*a00 - a02*a20), (-a12*a00 + a02*a10), + b21, (-a21*a00 + a01*a20), (a11*a00 - a01*a10))/det; +} + +// https://github.com/glslify/glsl-transpose +mat3 transpose(mat3 m) +{ + return mat3(m[0][0], m[1][0], m[2][0], + m[0][1], m[1][1], m[2][1], + m[0][2], m[1][2], m[2][2]); +} + +void main() +{ + // Send vertex attributes to fragment shader + fragPosition = vec3(matModel*vec4(vertexPosition, 1.0)); + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + + mat3 normalMatrix = transpose(inverse(mat3(matModel))); + fragNormal = normalize(normalMatrix*vertexNormal); + + // Calculate final vertex position + gl_Position = mvp*vec4(vertexPosition, 1.0); +} diff --git a/examples/ts_dungeon/resources/shaders/glsl120/lighting.fs b/examples/ts_dungeon/resources/shaders/glsl120/lighting.fs new file mode 100644 index 0000000..d9cfb44 --- /dev/null +++ b/examples/ts_dungeon/resources/shaders/glsl120/lighting.fs @@ -0,0 +1,79 @@ +#version 120 + +// Input vertex attributes (from vertex shader) +varying vec3 fragPosition; +varying vec2 fragTexCoord; +varying vec4 fragColor; +varying vec3 fragNormal; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// NOTE: Add here your custom variables + +#define MAX_LIGHTS 4 +#define LIGHT_DIRECTIONAL 0 +#define LIGHT_POINT 1 + +struct MaterialProperty { + vec3 color; + int useSampler; + sampler2D sampler; +}; + +struct Light { + int enabled; + int type; + vec3 position; + vec3 target; + vec4 color; +}; + +// Input lighting values +uniform Light lights[MAX_LIGHTS]; +uniform vec4 ambient; +uniform vec3 viewPos; + +void main() +{ + // Texel color fetching from texture sampler + vec4 texelColor = texture2D(texture0, fragTexCoord); + vec3 lightDot = vec3(0.0); + vec3 normal = normalize(fragNormal); + vec3 viewD = normalize(viewPos - fragPosition); + vec3 specular = vec3(0.0); + + // NOTE: Implement here your fragment shader code + + for (int i = 0; i < MAX_LIGHTS; i++) + { + if (lights[i].enabled == 1) + { + vec3 light = vec3(0.0); + + if (lights[i].type == LIGHT_DIRECTIONAL) + { + light = -normalize(lights[i].target - lights[i].position); + } + + if (lights[i].type == LIGHT_POINT) + { + light = normalize(lights[i].position - fragPosition); + } + + float NdotL = max(dot(normal, light), 0.0); + lightDot += lights[i].color.rgb*NdotL; + + float specCo = 0.0; + if (NdotL > 0.0) specCo = pow(max(0.0, dot(viewD, reflect(-(light), normal))), 16.0); // 16 refers to shine + specular += specCo; + } + } + + vec4 finalColor = (texelColor*((colDiffuse + vec4(specular, 1.0))*vec4(lightDot, 1.0))); + finalColor += texelColor*(ambient/10.0); + + // Gamma correction + gl_FragColor = pow(finalColor, vec4(1.0/2.2)); +} \ No newline at end of file diff --git a/examples/ts_dungeon/resources/shaders/glsl120/lighting.vs b/examples/ts_dungeon/resources/shaders/glsl120/lighting.vs new file mode 100644 index 0000000..b114093 --- /dev/null +++ b/examples/ts_dungeon/resources/shaders/glsl120/lighting.vs @@ -0,0 +1,59 @@ +#version 120 + +// Input vertex attributes +attribute vec3 vertexPosition; +attribute vec2 vertexTexCoord; +attribute vec3 vertexNormal; +attribute vec4 vertexColor; + +// Input uniform values +uniform mat4 mvp; +uniform mat4 matModel; + +// Output vertex attributes (to fragment shader) +varying vec3 fragPosition; +varying vec2 fragTexCoord; +varying vec4 fragColor; +varying vec3 fragNormal; + +// NOTE: Add here your custom variables + +// https://github.com/glslify/glsl-inverse +mat3 inverse(mat3 m) +{ + float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2]; + float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2]; + float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2]; + + float b01 = a22*a11 - a12*a21; + float b11 = -a22*a10 + a12*a20; + float b21 = a21*a10 - a11*a20; + + float det = a00*b01 + a01*b11 + a02*b21; + + return mat3(b01, (-a22*a01 + a02*a21), (a12*a01 - a02*a11), + b11, (a22*a00 - a02*a20), (-a12*a00 + a02*a10), + b21, (-a21*a00 + a01*a20), (a11*a00 - a01*a10))/det; +} + +// https://github.com/glslify/glsl-transpose +mat3 transpose(mat3 m) +{ + return mat3(m[0][0], m[1][0], m[2][0], + m[0][1], m[1][1], m[2][1], + m[0][2], m[1][2], m[2][2]); +} + +void main() +{ + // Send vertex attributes to fragment shader + fragPosition = vec3(matModel*vec4(vertexPosition, 1.0)); + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + + mat3 normalMatrix = transpose(inverse(mat3(matModel))); + fragNormal = normalize(normalMatrix*vertexNormal); + + // Calculate final vertex position + gl_Position = mvp*vec4(vertexPosition, 1.0); +} diff --git a/examples/ts_dungeon/resources/shaders/glsl330/lighting.fs b/examples/ts_dungeon/resources/shaders/glsl330/lighting.fs new file mode 100644 index 0000000..a76c13a --- /dev/null +++ b/examples/ts_dungeon/resources/shaders/glsl330/lighting.fs @@ -0,0 +1,87 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec3 fragPosition; +in vec2 fragTexCoord; +//in vec4 fragColor; +in vec3 fragNormal; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// Output fragment color +out vec4 finalColor; + +// NOTE: Add here your custom variables + +#define MAX_LIGHTS 4 +#define LIGHT_DIRECTIONAL 0 +#define LIGHT_POINT 1 + +struct MaterialProperty { + vec3 color; + int useSampler; + sampler2D sampler; +}; + +struct Light { + int enabled; + int type; + vec3 position; + vec3 target; + vec4 color; +}; + +// Input lighting values +uniform Light lights[MAX_LIGHTS]; +uniform vec4 ambient; +uniform vec3 viewPos; + +void main() +{ + // Texel color fetching from texture sampler + vec4 texelColor = texture(texture0, fragTexCoord); + vec3 lightDot = vec3(0.0); + vec3 normal = normalize(fragNormal); + vec3 viewD = normalize(viewPos - fragPosition); + vec3 specular = vec3(0.0); + + // NOTE: Implement here your fragment shader code + + + for (int i = 0; i < MAX_LIGHTS; i++) + { + if (lights[i].enabled == 1) + { + vec3 light = vec3(0.0); + + if (lights[i].type == LIGHT_DIRECTIONAL) + { + light = -normalize(lights[i].target - lights[i].position); + } + + if (lights[i].type == LIGHT_POINT) + { + float dist = distance(fragPosition, lights[i].position); + light = normalize(lights[i].position - fragPosition); + + float att = clamp(1.0 - dist*dist/(8*8), 0.0, 1.0); + light *= att; + } + + float NdotL = max(dot(normal, light), 0.0); + lightDot += lights[i].color.rgb*NdotL; + + float specCo = 0.0; + if (NdotL > 0.0) specCo = pow(max(0.0, dot(viewD, reflect(-(light), normal))), 16.0); // 16 refers to shine + specular += specCo; + } + } + + finalColor = (texelColor*((colDiffuse + vec4(specular, 1.0))*vec4(lightDot, 1.0))); + finalColor += texelColor*(ambient/10.0)*colDiffuse; + + // Gamma correction + finalColor = pow(finalColor, vec4(1.0/2.2)); +} diff --git a/examples/ts_dungeon/resources/shaders/glsl330/lighting.vs b/examples/ts_dungeon/resources/shaders/glsl330/lighting.vs new file mode 100644 index 0000000..f8ec45f --- /dev/null +++ b/examples/ts_dungeon/resources/shaders/glsl330/lighting.vs @@ -0,0 +1,32 @@ +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; +in vec2 vertexTexCoord; +in vec3 vertexNormal; +in vec4 vertexColor; + +// Input uniform values +uniform mat4 mvp; +uniform mat4 matModel; +uniform mat4 matNormal; + +// Output vertex attributes (to fragment shader) +out vec3 fragPosition; +out vec2 fragTexCoord; +out vec4 fragColor; +out vec3 fragNormal; + +// NOTE: Add here your custom variables + +void main() +{ + // Send vertex attributes to fragment shader + fragPosition = vec3(matModel*vec4(vertexPosition, 1.0)); + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + fragNormal = normalize(vec3(matNormal*vec4(vertexNormal, 1.0))); + + // Calculate final vertex position + gl_Position = mvp*vec4(vertexPosition, 1.0); +} diff --git a/examples/ts_dungeon/src/index.ts b/examples/ts_dungeon/src/index.ts new file mode 100644 index 0000000..de0de80 --- /dev/null +++ b/examples/ts_dungeon/src/index.ts @@ -0,0 +1,219 @@ +/******************************************************************************************* +* +* raylib [shaders] example - basic lighting +* +* NOTE: This example requires raylib OpenGL 3.3 or ES2 versions for shaders support, +* OpenGL 1.1 does not support shaders, recompile raylib to OpenGL 3.3 version. +* +* NOTE: Shaders used in this example are #version 330 (OpenGL 3.3). +* +* Example originally created with raylib 3.0, last time updated with raylib 4.2 +* +* Example contributed by Chris Camacho (@codifies) and reviewed by Ramon Santamaria (@raysan5) +* +* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, +* BSD-like license that allows static linking with closed source software +* +* Copyright (c) 2019-2023 Chris Camacho (@codifies) and Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +import { dispatchPromises } from "./promise-extensions"; +import { interpolate, interpolateVec3, wait } from "./timing"; + +const GLSL_VERSION = "330" + +// Initialization +//-------------------------------------------------------------------------------------- +const screenWidth = 800; +const screenHeight = 450; + +setConfigFlags(FLAG_MSAA_4X_HINT); // Enable Multi Sampling Anti Aliasing 4x (if available) +initWindow(screenWidth, screenHeight, "raylib [shaders] example - basic lighting"); + +// Define the camera to look into our 3d world +const position = new Vector3(0.0,1.0,0.0); // Camera position +const target = new Vector3(0.0,1.0,1.0); // Camera looking at point +const up = new Vector3(0.0,1.0,0.0); // Camera up vector (rotation towards target) +const fovy = 90.0; // Camera field-of-view Y +const projection = CAMERA_PERSPECTIVE; // Camera projection type +const camera = new Camera3D(position,target,up,fovy,projection) + +// Load plane model from a generated mesh +const floor = loadModelFromMesh(genMeshPlane(2.0, 2.0, 1, 1)); +const cube = loadModelFromMesh(genMeshCube(2.0, 2.0, 2.0)); + +// Load basic lighting shader +const shader = loadShader(`resources/shaders/glsl${GLSL_VERSION}/lighting.vs`, + `resources/shaders/glsl${GLSL_VERSION}/lighting.fs`); +// Get some required shader locations +const viewLoc = getShaderLocation(shader, "viewPos") +// NOTE: "matModel" location name is automatically assigned on shader loading, +// no need to get the location again if using that uniform name +//shader.locs[SHADER_LOC_MATRIX_MODEL] = getShaderLocation(shader, "matModel"); + +// Ambient light level (some basic lighting) +const ambientLoc = getShaderLocation(shader, "ambient"); +setShaderValue(shader, ambientLoc, new Vector4(0.1, 0.1, 0.1, 1.0), SHADER_UNIFORM_VEC4); + +const textureWall = loadTexture("resources/retro-texture-pack-v9/png/BRICK_1A.png") +const textureFloor = loadTexture("resources/retro-texture-pack-v9/png/TILE_2C.png") + +// Assign out lighting shader to model +const matModel = loadMaterialDefault() +matModel.shader = shader +setMaterialTexture(matModel, MATERIAL_MAP_DIFFUSE, textureFloor) +setModelMaterial(floor, 0, matModel) +const matCube = loadMaterialDefault() +setMaterialTexture(matCube, MATERIAL_MAP_DIFFUSE, textureWall) + +matCube.shader = shader +setModelMaterial(cube, 0, matCube) + +// Create lights +const lights: Light[] = new Array(4) +lights[0] = createLight(LIGHT_POINT, new Vector3(4,1,4), vector3Zero(), WHITE, shader); +lights[1] = createLight(LIGHT_POINT, new Vector3(4,1,8), vector3Zero(), RED, shader); +lights[2] = createLight(LIGHT_POINT, new Vector3(12,1,12), vector3Zero(), GREEN, shader); +lights[3] = createLight(LIGHT_POINT, new Vector3(8,1,4), vector3Zero(), BLUE, shader); + +setTargetFPS(60); // Set our game to run at 60 frames-per-second +//-------------------------------------------------------------------------------------- + +//disableCursor() + +class Map { + private _image: Image; + private _texture?: Texture + get texture() { return (this._texture = this._texture ?? loadTextureFromImage(this._image)) } + private _data?: number[] + get data() { return (this._data = this._data ?? this.loadData()) } + + constructor(public readonly width: number, public readonly height: number){ + this._image = genImageColor(width,height,BLACK) + } + + public iterateData(fn: (x: number, y: number, item: number) => void){ + this.foreachXY((x,y) => fn(x,y,this.data[y*this.width+x])) + } + + private foreachXY(fn: (x: number, y: number) => void){ + for (let y = 0; y < this.height; y++) { + for (let x = 0; x < this.width; x++) { + fn(x,y) + } + } + } + + private loadData(){ + const data: number[] = [] + this.foreachXY((x,y) => data[y*this.width+x] = getImageColor(this._image,x,y).r) + return data + } + + makeWall(x: number, y: number){ + imageDrawPixel(this._image, x,y,WHITE) + if(this._texture) unloadTexture(this._texture) + this._texture = undefined + this._data = undefined + } +} + +const map = new Map(16,16) + +let playerPos = new Vector3(2,1,2); +let playerDir = 0 + +const forward = new Vector3(0,0,2) +const backward = new Vector3(0,0,-2) + +async function main(){ + while(true){ + if(isKeyDown(KEY_UP)){ + await interpolateVec3(playerPos, vector3Add(playerPos, forward), 1, v => playerPos = v, easeCubicInOut) + } else if(isKeyDown(KEY_DOWN)){ + await interpolateVec3(playerPos, vector3Add(playerPos, backward), 1, v => playerPos = v, easeCubicInOut) + } else if(isKeyDown(KEY_LEFT)){ + await interpolate(playerDir, playerDir-90, 1, v => playerDir = v, easeCubicInOut) + } else if(isKeyDown(KEY_RIGHT)){ + await interpolate(playerDir, playerDir+90, 1, v => playerDir = v, easeCubicInOut) + } + await wait(0.0) + } +} + +main() + +const MAP_SCALE = 8 +// Main game loop +while (!windowShouldClose()) // Detect window close button or ESC key +{ + dispatchPromises() + // Update + //---------------------------------------------------------------------------------- + //updateCamera(camera, CAMERA_FIRST_PERSON); + camera.position = playerPos + const dir = vector2Rotate(new Vector2(0,1), playerDir*DEG2RAD) + camera.target = vector3Add(new Vector3(dir.x,0,dir.y), playerPos) + + const mousePos = getMousePosition() + const mouseTile = new Vector2(Math.floor(mousePos.x/8),Math.floor(mousePos.y/8)) + if(isMouseButtonPressed(MOUSE_BUTTON_LEFT) && mouseTile.x < map.width && mouseTile.y < map.height){ + map.makeWall(mouseTile.x, mouseTile.y) + } + + // Update the shader with the camera view vector (points towards { 0.0, 0.0, 0.0 }) + const cameraPos = new Vector3(camera.position.x, camera.position.y, camera.position.z); + setShaderValue(shader, viewLoc, cameraPos, SHADER_UNIFORM_VEC3); + + // Check key inputs to enable/disable lights + if (isKeyPressed(KEY_Y)) { lights[0].enabled = !lights[0].enabled; } + if (isKeyPressed(KEY_R)) { lights[1].enabled = !lights[1].enabled; } + if (isKeyPressed(KEY_G)) { lights[2].enabled = !lights[2].enabled; } + if (isKeyPressed(KEY_B)) { lights[3].enabled = !lights[3].enabled; } + + lights[0].position = playerPos + // Update light values (actually, only enable/disable them) + for (let i = 0; i < 4; i++) updateLightValues(shader, lights[i]); + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + beginDrawing(); + + clearBackground(RAYWHITE); + beginMode3D(camera); + + map.iterateData((x,y,e) => { + if(e === 0) drawModel(floor, new Vector3(x*2,0,y*2), 1.0, WHITE) + else drawModel(cube, new Vector3(x*2,1,y*2), 1.0, WHITE) + }) + + // Draw spheres to show where the lights are + for (let i = 0; i < 4; i++) + { + if (lights[i].enabled) drawSphereEx(lights[i].position, 0.2, 8, 8, lights[i].color); + else drawSphereWires(lights[i].position, 0.2, 8, 8, colorAlpha(lights[i].color, 0.3)); + } + + drawGrid(10, 1.0); + + endMode3D(); + + drawTextureEx(map.texture, new Vector2(0,0), 0, MAP_SCALE, WHITE) + + endDrawing(); + //---------------------------------------------------------------------------------- +} + +// De-Initialization +//-------------------------------------------------------------------------------------- +unloadModel(floor); // Unload the model +unloadModel(cube); // Unload the model +unloadShader(shader); // Unload shader +unloadTexture(textureWall); + +closeWindow(); // Close window and OpenGL context +//-------------------------------------------------------------------------------------- + + diff --git a/examples/ts_dungeon/src/promise-extensions.ts b/examples/ts_dungeon/src/promise-extensions.ts new file mode 100644 index 0000000..1ca86fd --- /dev/null +++ b/examples/ts_dungeon/src/promise-extensions.ts @@ -0,0 +1,71 @@ +const promiseUpdateList: PromiseContext[] = [] + +export const dispatchPromises = () => { + for (var i = promiseUpdateList.length - 1; i >= 0; i--) { + const p = promiseUpdateList[i] + p.update() + if (p.isFinished) { + promiseUpdateList.splice(i, 1); + } + } + return promiseUpdateList.length +} + +class PromiseContext { + + private _result: T | null = null; + public get result(): T | null { + return this._result; + } + private _error: any | null = null; + public get error(): any | null { + return this._error; + } + private _isFinished = false; + public get isFinished() { + return this._isFinished; + } + private _isCancellationRequested = false; + public get isCancellationRequested() { + return this._isCancellationRequested; + } + + constructor(private readonly resolveFn: (val: T | PromiseLike) => void, + private readonly rejectFn: (err: any) => void, + private readonly updateFn: (p: PromiseContext) => void){} + + update(){ + if(!this.isFinished){ + this.updateFn(this) + } + } + + resolve(val: T){ + this._result = val + this._isFinished = true + this.resolveFn(val) + } + + reject(reason: any){ + this._error = reason + this._isFinished = true + this.rejectFn(reason) + } + + cancel(){ + this._isCancellationRequested = true + } +} +export interface ExtendedPromise extends Promise { + context: PromiseContext +} + +export const makeUpdateablePromise = (update: (ctx: PromiseContext) => void) => { + let context: PromiseContext + const promise = >new Promise((resolve, reject) => { + context = new PromiseContext(resolve,reject,update) + }); + promise.context = context! + promiseUpdateList.unshift(context!) + return promise +} \ No newline at end of file diff --git a/examples/ts_dungeon/src/timing.ts b/examples/ts_dungeon/src/timing.ts new file mode 100644 index 0000000..37ca480 --- /dev/null +++ b/examples/ts_dungeon/src/timing.ts @@ -0,0 +1,67 @@ +import { makeUpdateablePromise } from "./promise-extensions" + +export type easeFunc = (t: number, a: number, b: number, d: number) => number + +export const interpolate = (a: number, b: number, d: number, setter: (v: number) => void, fn: easeFunc) => { + const start = getTime() + const delta = b - a + return makeUpdateablePromise(ctx => { + const cur = getTime()-start + if(cur < d && !ctx.isCancellationRequested){ + setter(fn(cur, a, delta, d)) + } else { + setter(b) + ctx.resolve() + } + }) +} +export const interpolateVec2 = (a: Vector2, b: Vector2, d: number, setter: (v: Vector2) => void, fn: easeFunc) => { + const start = getTime() + const delta = vector2Subtract(b, a) + return makeUpdateablePromise(ctx => { + const cur = getTime()-start + if(cur < d && !ctx.isCancellationRequested){ + const x = fn(cur, a.x, delta.x, d) + const y = fn(cur, a.y, delta.y, d) + setter(new Vector2(x,y)) + } else { + setter(b) + ctx.resolve() + } + }) +} +export const interpolateVec3 = (a: Vector3, b: Vector3, d: number, setter: (v: Vector3) => void, fn: easeFunc) => { + const start = getTime() + const delta = vector3Subtract(b, a) + return makeUpdateablePromise(ctx => { + const cur = getTime()-start + if(cur < d && !ctx.isCancellationRequested){ + const x = fn(cur, a.x, delta.x, d) + const y = fn(cur, a.y, delta.y, d) + const z = fn(cur, a.z, delta.z, d) + setter(new Vector3(x,y,z)) + } else { + setter(b) + ctx.resolve() + } + }) +} + +export const waitCondition = (predicate: () => boolean) => makeUpdateablePromise(ctx => { + if(predicate() || ctx.isCancellationRequested){ + ctx.resolve() + } +}) +export const waitFirst = (list: T[], predicate: (item: T) => boolean) => makeUpdateablePromise(ctx => { + let idx = list.findIndex(x => predicate(x)) + if(idx !== -1 || ctx.isCancellationRequested) ctx.resolve(idx) +}) + + +export const wait = (time: number) => { + const start = getTime() + return waitCondition(() => (getTime()-start) >= time) +} + +export const waitKeyPressed = (key: number) => waitCondition(() => isKeyPressed(key)) +export const waitClick = (button: number = MOUSE_BUTTON_LEFT) => waitCondition(() => isMouseButtonDown(button)) \ No newline at end of file diff --git a/examples/ts_dungeon/tsconfig.json b/examples/ts_dungeon/tsconfig.json new file mode 100644 index 0000000..9734b59 --- /dev/null +++ b/examples/ts_dungeon/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "es2020", + "module": "commonjs", + "esModuleInterop": true, + "resolveJsonModule": true, + "strict": true, + "lib": ["ES2020"], + "types": [ + "../lib.raylib" + ], + "experimentalDecorators": true + } + } + \ No newline at end of file diff --git a/examples/ts_dungeon/webpack.config.js b/examples/ts_dungeon/webpack.config.js new file mode 100644 index 0000000..08e3d72 --- /dev/null +++ b/examples/ts_dungeon/webpack.config.js @@ -0,0 +1,26 @@ +const path = require('path'); + +module.exports = { + entry: { + main: './src/index.ts' + }, + devtool: false, + target: "node", + mode: 'production', + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + resolve: { + extensions: ['.tsx', '.ts', '.js'], + }, + output: { + filename: '[name].js', + path: path.resolve(__dirname, '.'), + }, +}; diff --git a/examples/ts_game/src/timing.ts b/examples/ts_game/src/timing.ts index ee917fd..91c31ef 100644 --- a/examples/ts_game/src/timing.ts +++ b/examples/ts_game/src/timing.ts @@ -31,6 +31,22 @@ export const interpolateVec2 = (a: Vector2, b: Vector2, d: number, setter: (v: V } }) } +export const interpolateVec3 = (a: Vector3, b: Vector3, d: number, setter: (v: Vector3) => void, fn: easeFunc) => { + const start = getTime() + const delta = vector3Subtract(b, a) + return makeUpdateablePromise(ctx => { + const cur = getTime()-start + if(cur < d && !ctx.isCancellationRequested){ + const x = fn(cur, a.x, delta.x, d) + const y = fn(cur, a.y, delta.y, d) + const z = fn(cur, a.z, delta.z, d) + setter(new Vector3(x,y,z)) + } else { + setter(b) + ctx.resolve() + } + }) +} export const waitCondition = (predicate: () => boolean) => makeUpdateablePromise(ctx => { if(predicate() || ctx.isCancellationRequested){ diff --git a/generate-bindings.js b/generate-bindings.js index 805c7dc..d741079 100644 --- a/generate-bindings.js +++ b/generate-bindings.js @@ -727,7 +727,7 @@ class RayLibHeader extends quickjs_1.QuickJsHeader { } addEnum(renum) { console.log("Binding enum " + renum.name); - renum.values.forEach(x => this.exportGlobalConstant(x.name, x.description)); + renum.values.forEach(x => this.exportGlobalInt(x.name, x.description)); } addApiStruct(struct) { const options = struct.binding || {}; @@ -775,11 +775,16 @@ class RayLibHeader extends quickjs_1.QuickJsHeader { this.moduleEntry.call("JS_AddModuleExport", ["ctx", "m", `"${exportName}"`]); this.typings.constants.tsDeclareConstant(exportName, structName, description); } - exportGlobalConstant(name, description) { + exportGlobalInt(name, description) { this.moduleInit.statement(`JS_SetModuleExport(ctx, m, "${name}", JS_NewInt32(ctx, ${name}))`); this.moduleEntry.statement(`JS_AddModuleExport(ctx, m, "${name}")`); this.typings.constants.tsDeclareConstant(name, "number", description); } + exportGlobalDouble(name, description) { + this.moduleInit.statement(`JS_SetModuleExport(ctx, m, "${name}", JS_NewFloat64(ctx, ${name}))`); + this.moduleEntry.statement(`JS_AddModuleExport(ctx, m, "${name}")`); + this.typings.constants.tsDeclareConstant(name, "number", description); + } } exports.RayLibHeader = RayLibHeader; @@ -1017,6 +1022,12 @@ function main() { returnType: "void", params: [{ type: "Shader *", name: "shader" }, { type: "int", name: "shaderConstant" }, { type: "int", name: "location" }] }); + api.functions.push({ + name: "ImageReadPixel", + description: "Read a single pixel from an image", + returnType: "Color", + params: [{ type: "Image *", name: "image" }, { type: "int", name: "x" }, { type: "int", name: "y" }] + }); // Define a new header const core = new raylib_header_1.RayLibHeader("raylib_core"); core.includes.include("raymath.h"); @@ -1454,8 +1465,8 @@ function main() { ignore("Vector3ToFloatV"); ignore("MatrixToFloatV"); ignore("QuaternionToAxisAngle"); - core.exportGlobalConstant("DEG2RAD", "(PI/180.0)"); - core.exportGlobalConstant("RAD2DEG", "(180.0/PI)"); + core.exportGlobalDouble("DEG2RAD", "(PI/180.0)"); + core.exportGlobalDouble("RAD2DEG", "(180.0/PI)"); const setOutParam = (fun, index) => { const param = fun.params[index]; param.binding = { @@ -1534,8 +1545,8 @@ function main() { core.exportGlobalStruct("Color", x.name, x.values, x.description); }); api.enums.forEach(x => core.addEnum(x)); - core.exportGlobalConstant("MATERIAL_MAP_DIFFUSE", "Albedo material (same as: MATERIAL_MAP_DIFFUSE"); - core.exportGlobalConstant("MATERIAL_MAP_SPECULAR", "Metalness material (same as: MATERIAL_MAP_SPECULAR)"); + core.exportGlobalInt("MATERIAL_MAP_DIFFUSE", "Albedo material (same as: MATERIAL_MAP_DIFFUSE"); + core.exportGlobalInt("MATERIAL_MAP_SPECULAR", "Metalness material (same as: MATERIAL_MAP_SPECULAR)"); core.writeTo("src/bindings/js_raylib_core.h"); core.typings.writeTo("examples/lib.raylib.d.ts"); const ignored = api.functions.filter(x => x.binding?.ignore).length; diff --git a/src/bindings/js_raylib_core.h b/src/bindings/js_raylib_core.h index 3c9a758..2b414ac 100644 --- a/src/bindings/js_raylib_core.h +++ b/src/bindings/js_raylib_core.h @@ -10080,6 +10080,21 @@ static JSValue js_setShaderLocation(JSContext * ctx, JSValueConst this_val, int return JS_UNDEFINED; } +static JSValue js_imageReadPixel(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { + Image* image = (Image*)JS_GetOpaque2(ctx, argv[0], js_Image_class_id); + if(image == NULL) return JS_EXCEPTION; + int x; + JS_ToInt32(ctx, &x, argv[1]); + int y; + JS_ToInt32(ctx, &y, argv[2]); + Color returnVal = ImageReadPixel(image, x, y); + Color* ret_ptr = (Color*)js_malloc(ctx, sizeof(Color)); + *ret_ptr = returnVal; + JSValue ret = JS_NewObjectClass(ctx, js_Color_class_id); + JS_SetOpaque(ret, ret_ptr); + return ret; +} + static const JSCFunctionListEntry js_raylib_core_funcs[] = { JS_CFUNC_DEF("initWindow",3,js_initWindow), JS_CFUNC_DEF("windowShouldClose",0,js_windowShouldClose), @@ -10698,12 +10713,13 @@ static const JSCFunctionListEntry js_raylib_core_funcs[] = { JS_CFUNC_DEF("easeElasticIn",4,js_easeElasticIn), JS_CFUNC_DEF("setModelMaterial",3,js_setModelMaterial), JS_CFUNC_DEF("setShaderLocation",3,js_setShaderLocation), + JS_CFUNC_DEF("imageReadPixel",3,js_imageReadPixel), }; static int js_raylib_core_init(JSContext * ctx, JSModuleDef * m) { JS_SetModuleExportList(ctx, m,js_raylib_core_funcs,countof(js_raylib_core_funcs)); - JS_SetModuleExport(ctx, m, "DEG2RAD", JS_NewInt32(ctx, DEG2RAD)); - JS_SetModuleExport(ctx, m, "RAD2DEG", JS_NewInt32(ctx, RAD2DEG)); + JS_SetModuleExport(ctx, m, "DEG2RAD", JS_NewFloat64(ctx, DEG2RAD)); + JS_SetModuleExport(ctx, m, "RAD2DEG", JS_NewFloat64(ctx, RAD2DEG)); js_declare_Vector2(ctx, m); JSValue Vector2_constr = JS_NewCFunction2(ctx, js_Vector2_constructor,"Vector2)", 2, JS_CFUNC_constructor_or_func, 0); JS_SetModuleExport(ctx, m, "Vector2", Vector2_constr); diff --git a/src/quickjs.c b/src/quickjs.c index 3f15f7c..825db8e 100644 --- a/src/quickjs.c +++ b/src/quickjs.c @@ -216,6 +216,11 @@ void SetShaderLocation(Shader *shader, int constant, int location){ shader->locs[constant] = location; } +Color ImageReadPixel(Image *image, int x, int y){ + int sizeOfPixel = GetPixelDataSize(image->width, image->height, image->format) / (image->width*image->height); + return GetPixelColor((void *)((unsigned char *)image->data) + (sizeOfPixel*(image->width*y+x)),image->format); +} + #include "bindings/js_raylib_core.h" JSModuleDef *js_module_loader(JSContext *ctx,