diff --git a/assets-cg/Levels/Level1.json b/assets-cg/Levels/Level1.json
new file mode 100644
index 0000000..4465c14
--- /dev/null
+++ b/assets-cg/Levels/Level1.json
@@ -0,0 +1,44 @@
+{ "compressionlevel":-1,
+ "height":14,
+ "infinite":false,
+ "layers":[
+ {
+ "data":[0, 0, 0, 0, 1310, 0, 1310, 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 0, 759, 760, 759, 760, 759, 760, 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 0, 759, 760, 759, 760, 759, 760, 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 0, 759, 760, 759, 760, 759, 760, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 0, 791, 792, 791, 792, 791, 792, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 0, 791, 792, 791, 792, 791, 792, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 0, 791, 792, 791, 792, 791, 792, 834, 842, 0, 0, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 919, 77, 921, 919, 77, 921, 834, 842, 0, 0, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 919, 77, 921, 919, 77, 921, 834, 842, 0, 0, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 919, 77, 921, 919, 77, 921, 0, 810, 0, 0, 919, 77, 921, 601, 601, 877, 0, 919, 77, 921, 0, 601, 601, 0, 919, 77, 921, 0, 601, 601, 919, 77, 921, 919, 77, 921, 0, 810, 0, 0, 919, 77, 921, 601, 601, 877, 0, 919, 77, 921, 0, 601, 601, 0, 919, 77, 921, 0, 601, 601, 919, 77, 921, 919, 77, 921, 0, 810, 0, 0, 919, 77, 921, 601, 601, 877, 0, 919, 77, 921, 0, 601, 601, 0, 919, 77, 921, 0, 601, 601, 919, 77, 921, 919, 77, 921, 851, 0, 0, 0, 116, 533, 118, 601, 601, 907, 885, 116, 533, 118, 886, 601, 601, 885, 116, 533, 118, 0, 601, 601, 116, 533, 118, 116, 533, 118, 851, 0, 0, 0, 116, 533, 118, 601, 601, 907, 885, 116, 533, 118, 886, 601, 601, 885, 116, 533, 118, 0, 601, 601, 116, 533, 118, 116, 533, 118, 851, 0, 0, 0, 116, 533, 118, 601, 601, 907, 885, 116, 533, 118, 886, 601, 601, 885, 116, 533, 118, 0, 601, 601, 116, 533, 118, 116, 533, 118, 627, 628, 629, 630, 308, 213, 310, 601, 0, 629, 630, 308, 213, 310, 627, 628, 629, 630, 308, 213, 310, 0, 601, 0, 308, 213, 310, 308, 213, 310, 627, 628, 629, 630, 308, 213, 310, 601, 0, 629, 630, 308, 213, 310, 627, 628, 629, 630, 308, 213, 310, 0, 601, 0, 308, 213, 310, 308, 213, 310, 627, 628, 629, 630, 308, 213, 310, 601, 0, 629, 630, 308, 213, 310, 627, 628, 629, 630, 308, 213, 310, 0, 601, 0, 308, 213, 310, 308, 213, 310, 659, 660, 661, 662, 919, 77, 921, 601, 852, 661, 662, 919, 77, 921, 659, 660, 661, 662, 919, 77, 921, 0, 601, 0, 919, 77, 921, 919, 77, 921, 659, 660, 661, 662, 919, 77, 921, 601, 852, 661, 662, 919, 77, 921, 659, 660, 661, 662, 919, 77, 921, 0, 601, 0, 919, 77, 921, 919, 77, 921, 659, 660, 661, 662, 919, 77, 921, 601, 852, 661, 662, 919, 77, 921, 659, 660, 661, 662, 919, 77, 921, 0, 601, 0, 919, 77, 921, 919, 77, 921, 691, 692, 693, 694, 919, 77, 921, 691, 692, 819, 0, 919, 77, 921, 691, 692, 693, 694, 919, 77, 921, 0, 601, 0, 919, 77, 921, 919, 77, 921, 691, 692, 693, 694, 919, 77, 921, 691, 692, 819, 0, 919, 77, 921, 691, 692, 693, 694, 919, 77, 921, 0, 601, 0, 919, 77, 921, 919, 77, 921, 691, 692, 693, 694, 919, 77, 921, 691, 692, 819, 0, 919, 77, 921, 691, 692, 693, 694, 919, 77, 921, 0, 601, 0, 919, 77, 921, 919, 77, 921, 723, 724, 725, 726, 116, 533, 118, 723, 724, 0, 0, 1371, 0, 1370, 723, 724, 725, 726, 116, 533, 118, 0, 601, 0, 116, 533, 118, 116, 533, 118, 723, 724, 725, 726, 116, 533, 118, 723, 724, 0, 0, 1371, 0, 1370, 723, 724, 725, 726, 116, 533, 118, 0, 601, 0, 116, 533, 118, 116, 533, 118, 723, 724, 725, 726, 116, 533, 118, 723, 724, 0, 0, 1371, 0, 1370, 723, 724, 725, 726, 116, 533, 118, 0, 601, 0, 116, 533, 118, 116, 533, 118, 918, 0, 0, 917, 308, 213, 310, 918, 0, 0, 620, 621, 0, 618, 619, 0, 0, 917, 308, 213, 310, 0, 0, 0, 308, 213, 310, 308, 213, 310, 918, 0, 0, 917, 308, 213, 310, 918, 0, 0, 620, 621, 0, 618, 619, 0, 0, 917, 308, 213, 310, 0, 0, 0, 308, 213, 310, 308, 213, 310, 918, 0, 0, 917, 308, 213, 310, 918, 0, 0, 620, 621, 0, 618, 619, 0, 0, 917, 308, 213, 310, 0, 0, 0, 308, 213, 310, 308, 213, 310, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 652, 653, 695, 650, 651, 0, 0, 0, 919, 77, 921, 0, 0, 0, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 652, 653, 695, 650, 651, 0, 0, 0, 919, 77, 921, 0, 0, 0, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 652, 653, 695, 650, 651, 0, 0, 0, 919, 77, 921, 0, 0, 0, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 0, 0, 811, 0, 0, 727, 0, 0, 810, 0, 0, 919, 77, 921, 0, 0, 0, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 0, 0, 811, 0, 0, 727, 0, 0, 810, 0, 0, 919, 77, 921, 0, 0, 0, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 0, 0, 811, 0, 0, 727, 0, 0, 810, 0, 0, 919, 77, 921, 0, 0, 0, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 542, 509, 510, 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 542, 509, 510, 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 542, 509, 510, 542, 543, 0, 0, 0, 0, 524, 756, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 756, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 756, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 756, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 756, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 756, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ "height":14,
+ "id":2,
+ "name":"Background",
+ "opacity":1,
+ "type":"tilelayer",
+ "visible":true,
+ "width":90,
+ "x":0,
+ "y":0
+ },
+ {
+ "data":[866, 1986, 1991, 1971, 976, 1011, 977, 1971, 741, 742, 1971, 976, 1011, 977, 1971, 741, 742, 1971, 976, 1011, 977, 1971, 1991, 1972, 0, 0, 0, 0, 0, 0, 866, 1986, 1991, 1971, 976, 1011, 977, 1971, 741, 742, 1971, 976, 1011, 977, 1971, 741, 742, 1971, 976, 1011, 977, 1971, 1991, 1972, 0, 0, 0, 0, 0, 0, 866, 1986, 1991, 1971, 976, 1011, 977, 1971, 741, 742, 1971, 976, 1011, 977, 1971, 741, 742, 1971, 976, 1011, 977, 1971, 1991, 1972, 0, 0, 0, 0, 0, 0, 898, 1986, 1991, 1974, 1498, 1497, 1499, 1973, 773, 774, 1974, 1498, 1497, 1499, 1973, 773, 774, 1974, 1498, 1497, 1499, 1973, 1991, 1972, 0, 0, 0, 0, 0, 0, 898, 1986, 1991, 1974, 1498, 1497, 1499, 1973, 773, 774, 1974, 1498, 1497, 1499, 1973, 773, 774, 1974, 1498, 1497, 1499, 1973, 1991, 1972, 0, 0, 0, 0, 0, 0, 898, 1986, 1991, 1974, 1498, 1497, 1499, 1973, 773, 774, 1974, 1498, 1497, 1499, 1973, 773, 774, 1974, 1498, 1497, 1499, 1973, 1991, 1972, 0, 0, 0, 0, 0, 0, 899, 2018, 2023, 2020, 0, 0, 0, 2002, 2003, 2003, 2020, 0, 0, 0, 2002, 2003, 2003, 2020, 0, 0, 0, 2002, 2023, 2004, 0, 0, 0, 0, 0, 0, 899, 2018, 2023, 2020, 0, 0, 0, 2002, 2003, 2003, 2020, 0, 0, 0, 2002, 2003, 2003, 2020, 0, 0, 0, 2002, 2023, 2004, 0, 0, 0, 0, 0, 0, 899, 2018, 2023, 2020, 0, 0, 0, 2002, 2003, 2003, 2020, 0, 0, 0, 2002, 2003, 2003, 2020, 0, 0, 0, 2002, 2023, 2004, 0, 0, 0, 0, 0, 0, 612, 908, 874, 877, 0, 0, 0, 908, 874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 908, 874, 877, 0, 0, 0, 908, 874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 908, 874, 877, 0, 0, 0, 908, 874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 908, 907, 0, 0, 0, 0, 908, 0, 877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 908, 907, 0, 0, 0, 0, 908, 0, 877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 908, 907, 0, 0, 0, 0, 908, 0, 877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 569, 855, 908, 907, 0, 0, 1398, 569, 855, 854, 569, 1398, 0, 265, 569, 569, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 569, 855, 908, 907, 0, 0, 1398, 569, 855, 854, 569, 1398, 0, 265, 569, 569, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 569, 855, 908, 907, 0, 0, 1398, 569, 855, 854, 569, 1398, 0, 265, 569, 569, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 855, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 855, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 855, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 207, 537, 810, 0, 0, 0, 0, 0, 1398, 569, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 207, 537, 810, 0, 0, 0, 0, 0, 1398, 569, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 207, 537, 810, 0, 0, 0, 0, 0, 1398, 569, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 852, 0, 0, 0, 0, 0, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 852, 0, 0, 0, 0, 0, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 852, 0, 0, 0, 0, 0, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 819, 0, 0, 0, 811, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 819, 0, 0, 0, 811, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 819, 0, 0, 0, 811, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 6, 38, 39, 0, 0, 0, 0, 265, 0, 0, 0, 0, 37, 38, 6, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 6, 38, 39, 0, 0, 0, 0, 265, 0, 0, 0, 0, 37, 38, 6, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 6, 38, 39, 0, 0, 0, 0, 265, 0, 0, 0, 0, 37, 38, 6, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 503, 408, 504, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 503, 408, 504, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 503, 408, 504, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 503, 408, 504, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 503, 408, 504, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 503, 408, 504, 537, 0, 0, 0, 0, 0, 0, 0, 0],
+ "height":14,
+ "id":1,
+ "name":"Foreground",
+ "opacity":1,
+ "type":"tilelayer",
+ "visible":true,
+ "width":90,
+ "x":0,
+ "y":0
+ }],
+ "nextlayerid":3,
+ "nextobjectid":1,
+ "orientation":"orthogonal",
+ "renderorder":"right-down",
+ "tiledversion":"1.8.0",
+ "tileheight":16,
+ "tilesets":[
+ {
+ "firstgid":1,
+ "source":"Tileset_Space.tsx"
+ }],
+ "tilewidth":16,
+ "type":"map",
+ "version":"1.8",
+ "width":90
+}
\ No newline at end of file
diff --git a/assets-cg/Levels/Level2.json b/assets-cg/Levels/Level2.json
new file mode 100644
index 0000000..9ed17eb
--- /dev/null
+++ b/assets-cg/Levels/Level2.json
@@ -0,0 +1,44 @@
+{ "compressionlevel":-1,
+ "height":14,
+ "infinite":false,
+ "layers":[
+ {
+ "data":[0, 0, 0, 0, 1310, 0, 1310, 0, 0, 0, 0, 1310, 0, 1310, 1310, 0, 1310, 1310, 0, 1310, 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 1310, 0, 1310, 0, 0, 0, 0, 1310, 0, 1310, 0, 0, 0, 0, 759, 760, 759, 760, 759, 760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 0, 0, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 2003, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 2003, 2003, 2003, 0, 0, 0, 0, 2003, 2003, 2003, 0, 0, 0, 0, 791, 792, 791, 792, 791, 792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 834, 842, 0, 0, 919, 77, 921, 0, 0, 0, 0, 0, 852, 661, 724, 0, 0, 919, 77, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 810, 0, 0, 919, 77, 921, 601, 601, 877, 0, 691, 630, 819, 0, 0, 0, 919, 77, 921, 0, 820, 0, 0, 0, 0, 0, 0, 691, 692, 693, 694, 691, 692, 693, 694, 919, 77, 921, 0, 601, 0, 601, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 851, 0, 0, 0, 116, 533, 118, 601, 601, 907, 852, 661, 724, 0, 0, 0, 0, 116, 533, 118, 886, 601, 0, 0, 0, 0, 0, 0, 723, 724, 725, 726, 723, 724, 725, 726, 116, 533, 118, 0, 601, 0, 601, 116, 533, 118, 116, 533, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 627, 628, 629, 630, 308, 213, 310, 601, 0, 629, 630, 819, 0, 0, 0, 0, 0, 308, 213, 310, 627, 628, 0, 0, 0, 0, 0, 0, 627, 628, 629, 630, 627, 628, 629, 630, 308, 213, 310, 0, 601, 0, 0, 308, 213, 310, 308, 213, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 659, 660, 661, 662, 919, 77, 921, 601, 852, 661, 662, 0, 0, 0, 0, 0, 0, 919, 77, 921, 659, 660, 0, 0, 0, 0, 0, 0, 659, 660, 661, 662, 659, 660, 661, 662, 919, 77, 921, 0, 601, 0, 0, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 692, 693, 694, 919, 77, 921, 691, 692, 819, 0, 0, 0, 0, 0, 0, 0, 919, 77, 921, 691, 692, 0, 0, 0, 0, 0, 0, 691, 692, 693, 694, 691, 692, 693, 694, 919, 77, 921, 0, 601, 0, 0, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 723, 724, 725, 726, 116, 533, 118, 723, 724, 0, 0, 0, 0, 0, 0, 0, 0, 919, 77, 921, 723, 724, 0, 0, 0, 0, 0, 0, 723, 724, 725, 726, 723, 724, 725, 726, 116, 533, 118, 0, 601, 0, 0, 116, 533, 118, 116, 533, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 918, 0, 0, 917, 308, 213, 310, 918, 0, 0, 0, 0, 0, 0, 0, 0, 620, 541, 542, 509, 619, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 917, 308, 213, 310, 0, 0, 0, 0, 308, 213, 310, 308, 213, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 652, 653, 695, 650, 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 0, 0, 0, 0, 0, 811, 0, 0, 727, 0, 0, 810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 77, 921, 0, 0, 0, 0, 919, 77, 921, 919, 77, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 542, 509, 510, 542, 543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 756, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 756, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ "height":14,
+ "id":2,
+ "name":"Background",
+ "opacity":1,
+ "type":"tilelayer",
+ "visible":true,
+ "width":90,
+ "x":0,
+ "y":0
+ },
+ {
+ "data":[866, 1986, 1991, 1971, 976, 1011, 977, 1971, 741, 742, 1971, 976, 1011, 977, 976, 1011, 977, 976, 1011, 977, 1971, 741, 742, 1971, 976, 1011, 977, 0, 0, 976, 1011, 977, 1971, 741, 742, 1971, 976, 1011, 977, 1971, 1991, 0, 1972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 898, 1986, 1991, 1974, 1498, 1497, 1499, 1973, 773, 774, 1974, 1498, 1497, 1499, 1498, 1497, 1499, 1498, 1497, 1499, 1973, 773, 774, 1974, 1498, 1497, 1499, 0, 0, 1498, 1497, 1499, 1973, 773, 774, 1974, 1498, 1497, 1499, 1973, 1991, 0, 1972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 899, 2018, 2023, 2020, 0, 0, 0, 2002, 2003, 2003, 2020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2002, 2003, 2003, 2020, 0, 0, 0, 0, 0, 0, 0, 0, 2002, 2003, 2003, 2020, 0, 0, 0, 2002, 2023, 0, 2004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 908, 874, 877, 0, 0, 0, 908, 874, 0, 0, 0, 0, 0, 0, 0, 876, 0, 0, 0, 0, 601, 627, 628, 691, 692, 693, 694, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 908, 907, 0, 0, 0, 0, 908, 0, 877, 0, 0, 0, 0, 843, 875, 0, 0, 0, 0, 0, 659, 660, 723, 724, 725, 726, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 569, 855, 908, 907, 842, 0, 0, 843, 875, 810, 0, 0, 1398, 569, 855, 629, 630, 627, 628, 629, 630, 0, 0, 0, 0, 0, 0, 854, 569, 1398, 0, 265, 569, 569, 0, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 908, 874, 842, 843, 875, 810, 0, 0, 0, 0, 0, 0, 661, 662, 659, 660, 661, 662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0, 811, 907, 875, 810, 0, 0, 0, 0, 0, 0, 0, 693, 694, 691, 692, 693, 694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 725, 726, 723, 724, 725, 726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 569, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 852, 0, 0, 0, 0, 0, 842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 819, 0, 0, 0, 811, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 6, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 6, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 503, 408, 504, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 503, 408, 504, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ "height":14,
+ "id":1,
+ "name":"Foreground",
+ "opacity":1,
+ "type":"tilelayer",
+ "visible":true,
+ "width":90,
+ "x":0,
+ "y":0
+ }],
+ "nextlayerid":4,
+ "nextobjectid":1,
+ "orientation":"orthogonal",
+ "renderorder":"right-down",
+ "tiledversion":"1.8.0",
+ "tileheight":16,
+ "tilesets":[
+ {
+ "firstgid":1,
+ "source":"Tileset_Space.tsx"
+ }],
+ "tilewidth":16,
+ "type":"map",
+ "version":"1.8",
+ "width":90
+}
\ No newline at end of file
diff --git a/assets-cg/Levels/Level2.tmx b/assets-cg/Levels/Level2.tmx
new file mode 100644
index 0000000..56e1d0f
--- /dev/null
+++ b/assets-cg/Levels/Level2.tmx
@@ -0,0 +1,40 @@
+
+
diff --git a/assets-cg/Levels/Tileset_Space.json b/assets-cg/Levels/Tileset_Space.json
new file mode 100644
index 0000000..fd37d86
--- /dev/null
+++ b/assets-cg/Levels/Tileset_Space.json
@@ -0,0 +1,14 @@
+{ "columns":32,
+ "image":"tileset.png",
+ "imageheight":1024,
+ "imagewidth":512,
+ "margin":0,
+ "name":"Tileset_Space",
+ "spacing":0,
+ "tilecount":2048,
+ "tiledversion":"1.8.0",
+ "tileheight":16,
+ "tilewidth":16,
+ "type":"tileset",
+ "version":"1.8"
+}
\ No newline at end of file
diff --git a/assets-cg/__pycache__/converters.cpython-310.pyc b/assets-cg/__pycache__/converters.cpython-310.pyc
new file mode 100644
index 0000000..a0c803e
Binary files /dev/null and b/assets-cg/__pycache__/converters.cpython-310.pyc differ
diff --git a/src/MyAzurShaders.h b/src/MyAzurShaders.h
index 55e5efe..a823330 100644
--- a/src/MyAzurShaders.h
+++ b/src/MyAzurShaders.h
@@ -1,14 +1,8 @@
#ifndef MYAZURSHADERS_H
#define MYAZURSHADERS_H
-
-#include "starfield.h"
#include
-void azrp_pixel(int x1, int y1, int color);
-
-void azrp_pixellist(std::vector const &list, int fragnum );
-
#define SHOW_PIXELS 1
#define SHOW_STARS 2
@@ -18,4 +12,6 @@ void azrp_starfield_init( uint8_t nbstars );
void azrp_starfield_close( void );
void azrp_starfield_USBDEBUG( uint8_t info );
+void azrp_tilesmap( int shifttile, int *tilemap, bopti_image_t *image, int tileset_size );
+
#endif //MYAZURSHADERS_H
\ No newline at end of file
diff --git a/src/background.cpp b/src/background.cpp
index 74f2ac0..9810cd3 100644
--- a/src/background.cpp
+++ b/src/background.cpp
@@ -22,7 +22,7 @@ Background::~Background( )
void Background::Render( void )
{
- int x0 = (int) xlevel;
+/* int x0 = (int) xlevel;
int shifttile = (int) (16*xlevel.frac());
for(int u=0; u MyParticles;
extern std::vector MyPlayerBullets;
extern std::vector MyEnemies;
extern std::vector MyImpacts;
-extern Starfield *MyStarField;
extern Player *MyPlayer;
diff --git a/src/main.cpp b/src/main.cpp
index 0c6a181..e57ba36 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -24,12 +24,14 @@
#include "collections.h"
+#include "MyAzurShaders.h"
+
#include "player.h"
#include "utilities.h"
#include "particles.h"
#include "bullet.h"
#include "enemy.h"
-#include "MyAzurShaders.h"
+
#include "impact.h"
#include "background.h"
@@ -75,8 +77,6 @@ std::vector MyImpacts;
Background MyBackground;
-Starfield *MyStarField;
-
Player *MyPlayer;
KeyboardExtra MyKeyboard;
diff --git a/src/starfield.cpp b/src/starfield.cpp
deleted file mode 100644
index 87f4d6d..0000000
--- a/src/starfield.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-#include "starfield.h"
-
-#include
-#include
-
-#include
-#include
-#include
-
-#include
-
-#include "MyAzurShaders.h"
-
-
-
-Star::Star( void )
-{
- x = libnum::num( rand() % 396 );
- y = libnum::num( rand() % 224 );
-
- size = 1 + ( rand() % 4 );
-
- sx = libnum::num( -1*size );
- sy = 0;
-
- int colorrandom = rand() % 4;
-
- color = 0xFFFF;
-/*
- if (colorrandom==0) color = 0xFFFF;
- else if (colorrandom==1) color = 0xFFE0;
- else if (colorrandom==2) color = 0xFB80;
- else color = 0xF80D;
-*/
-}
-
-Star::~Star()
-{
-
-
-}
-
-void Star::Update( libnum::num dt )
-{
- //libnum::num a = libnum::num( dt / 12000.0f );
- //y += sy * a;
- x += sx * dt;
- y += sy * dt;
-
-
- if (y<-3 || y > 226 || x<-3 || x>398)
- {
- x = 396;
- y = libnum::num( rand() % 224 );
- }
-}
-
-
-
-Starfield::Starfield( )
-{
- srand(rtc_ticks());
-
- for(int i=0; i<100; i++)
- {
- Star *s = new Star( );
- MyStars.push_back( s );
- }
-}
-
-Starfield::~Starfield( )
-{
- for(auto& s : MyStars)
- delete(s);
-
- for(auto& list : PixelListPerFragment)
- {
- for(auto& p : list)
- delete(p);
- list.clear();
- }
-
- MyStars.clear();
-}
-
-void Starfield::Update( float dt )
-{
- libnum::num a = libnum::num( dt / 50000.f );
-
- for(auto& s : MyStars)
- s->Update( a );
-}
-
-void Starfield::AddPixel( int x, int y, int c )
-{
- // check if the point is in the range screen
- if(x >= azrp_width || x < 0 || y >= azrp_height || y < 0)
- return;
-
- uint8_t current_frag = y >> 4; // each fragment is 16pixel high : so fragment number for the current point is y/16 or y>>4
- Pixel *MyPix = new Pixel( x, y & 15, c ); // consider the local offset of the point in the current fragment (y & 15)
- PixelListPerFragment[ current_frag ].push_back( MyPix ); // add the pixel to the appropriate list
-}
-
-void Starfield::Render( void )
-{
- for(auto& list : PixelListPerFragment)
- {
- for(auto& p : list)
- {
- delete(p);
- }
- list.clear();
- }
-
- for(auto& s : MyStars)
- {
- //TODO :The only considered case is for a small star 1x1 pixel
- //TODO :Other sizes to be added right after this case
- if (s->size==1)
- {
- AddPixel( s->x, (int) s->y, s->color );
- }
- else if (s->size==2)
- {
- AddPixel( s->x, (int) s->y, s->color );
- AddPixel( s->x+1, (int) s->y, s->color );
- AddPixel( s->x, (int) s->y+1, s->color );
- AddPixel( s->x+1, (int) s->y+1, s->color );
- }
- else if (s->size==3)
- {
- AddPixel( s->x+1, (int) s->y, s->color );
- AddPixel( s->x-1, (int) s->y+1, s->color );
- AddPixel( s->x, (int) s->y+1, s->color );
- AddPixel( s->x+1, (int) s->y+1, s->color );
- AddPixel( s->x+1, (int) s->y+2, s->color );
- }
- else if (s->size==4)
- {
- AddPixel( s->x-1, (int) s->y-1, s->color );
- AddPixel( s->x-1, (int) s->y, s->color );
- AddPixel( s->x-1, (int) s->y+1, s->color );
- AddPixel( s->x, (int) s->y-1, s->color );
- AddPixel( s->x, (int) s->y, s->color );
- AddPixel( s->x, (int) s->y+1, s->color );
- AddPixel( s->x+1, (int) s->y-1, s->color );
- AddPixel( s->x+1, (int) s->y, s->color );
- AddPixel( s->x+1, (int) s->y+1, s->color );
- }
- }
-
-
- // call the PixelList shader with the appropriate lists
- for(unsigned int i=0; i<14; i++)
- //for(unsigned int i=0; i
-#include
-#include
-#include
-
-
-class Star
-{
- public:
- Star();
- ~Star();
- //void Update( float dt );
- void Update( libnum::num dt );
-
-
- libnum::num x;
- libnum::num y;
- libnum::num sx;
- libnum::num sy;
- uint8_t size;
- uint16_t color;
-};
-
-class Pixel
-{
- public:
- int x, y, c;
- Pixel( int _x, int _y, int _c)
- {
- x = _x;
- y = _y;
- c = _c;
- };
- ~Pixel() {};
-};
-
-class Starfield
-{
- public:
- // the Star collection
- std::vector MyStars;
- // list of all pixels to be rendered by Azur pixel shader fragment by fragment
- std::array,14> PixelListPerFragment;
-
- Starfield( );
- ~Starfield( );
- void Update( float dt );
- void Render( void );
-
- private:
- void AddPixel( int x, int y, int c );
-};
-
-#endif //STARS_H
\ No newline at end of file
diff --git a/src/tilesmapshader.cpp b/src/tilesmapshader.cpp
new file mode 100644
index 0000000..fb85654
--- /dev/null
+++ b/src/tilesmapshader.cpp
@@ -0,0 +1,67 @@
+#include
+#include "MyAzurShaders.h"
+#include
+#include
+
+#include
+#include
+#include
+
+
+
+
+uint8_t AZRP_SHADER_TILESMAP = -1;
+
+
+__attribute__((constructor))
+static void register_shader(void)
+{
+ extern azrp_shader_t azrp_shader_tilesmap;
+ AZRP_SHADER_TILESMAP = azrp_register_shader(azrp_shader_tilesmap);
+}
+
+
+void azrp_shader_tilesmap_configure(void)
+{
+ azrp_set_uniforms(AZRP_SHADER_TILESMAP, (void *)azrp_width);
+}
+
+struct command {
+ uint8_t shader_id;
+ uint8_t current_frag;
+ int shifttile;
+ int *tilemap;
+ bopti_image_t *image;
+ int tileset_size;
+};
+
+void azrp_tilesmap( int shifttile, int *tilemap, bopti_image_t *image, int tileset_size );
+{
+ prof_enter(azrp_perf_cmdgen);
+
+ struct command cmd;
+ cmd.shader_id = AZRP_SHADER_TILESMAP;
+ cmd.current_frag = 0;
+ cmd.shifttile = shifttile;
+ cmd.tilemap = tilemap;
+ cmd.image = image;
+ cmd.tileset_size = tileset_size;
+
+ azrp_queue_command(&cmd, sizeof cmd, 0, azrp_frag_count);
+ prof_leave(azrp_perf_cmdgen);
+}
+
+
+void azrp_shader_tilesmap( void *uniforms, void *comnd, void *fragment )
+{
+ struct command *cmd = (struct command *) comnd;
+ uint16_t *frag = (uint16_t *) fragment;
+
+ int currentile = cmd->tilemap[cmd->current_frag*25];
+
+ for(int u=0; u<=25;u++)
+
+
+
+ cmd->current_frag++;
+}
\ No newline at end of file