From: Randy McShandy Date: Tue, 9 Dec 2025 04:32:36 +0000 (-0600) Subject: Map asset loading and rendering with custom layer detection and import basics X-Git-Url: http://git.mcshandy.xyz/gitweb.cgi?a=commitdiff_plain;h=60aa3d494ea1f8e8f04c3ff617191829b290c24e;p=sumeriangame Map asset loading and rendering with custom layer detection and import basics --- diff --git a/main/assets.lua b/main/assets.lua index ba8f1e9..f92ffb1 100644 --- a/main/assets.lua +++ b/main/assets.lua @@ -1,6 +1,8 @@ -- assets.lua -- Asset storage +local sti = require('plugin/STI/sti') + -- You need a cuneiform font for this one IntroMessage = "\n𒊩𒌆𒋼𒀯𒀭𒁶𒈨𒂗\n𒁓𒋧𒈠𒃲\n𒍣𒂵" @@ -11,8 +13,50 @@ AssetClass = Image = 1, Font = 2, AudioSource = 3, + TiledMap = 4, + Object = 5, +} + +ObjectClass = +{ + Drawn = 1, } +function assets.integrate_object_layers(pmap) + for k,layer in pairs(pmap.layers) do + if layer.type == 'objectgroup' then + local new_layer = pmap:addCustomLayer('imported-' .. layer.name) + new_layer.offsetx, new_layer.offsetx = layer.offsetx, layer.offsety + new_layer.objects = layer.objects + + -- Match objects in each layer to a pre-loaded asset-object + for ok,ov in pairs(new_layer.objects) do + object = assets.get_object(ov.name) + if object then + object.image = love.graphics.newImage(object.path) + object.x = ov.x + object.y = ov.y + end + end + + new_layer.draw = function(self) + for ok, ov in pairs(self.objects) do + local object = assets.get_object(ov.name) + if object and object.image then + love.graphics.draw(object.image, object.x, object.y, 0, 1, 1, 0, 0) + end + end + end + + new_layer.update = function(self, dt) + end + + pmap:setObjectData(new_layer) + pmap:removeLayer(layer.name) + end + end +end + local AssetTables = {} for k,v in pairs(AssetClass) do table.insert(AssetTables, {}) @@ -35,8 +79,50 @@ function assets.get_source(name) return AssetTables[AssetClass.AudioSource][name] end -assets.store_font("Cuneiform36", "assets/SantakkuM.ttf", 36) -assets.store_source("intro", "assets/Intro.wav", "static") -assets.store_source("transition1", "assets/transition1.wav", "static") +-- Load a map into STI and convert Object layers to custom layers +function assets.store_map(name, path) + local new_map = sti(path) + assets.integrate_object_layers(new_map) + AssetTables[AssetClass.TiledMap][name] = new_map +end + +function assets.get_map(name) + return AssetTables[AssetClass.TiledMap][name] +end + +function assets.store_object(name, opts) + local new_object = {} + + if opts.class == ObjectClass.Drawn then + new_object.path = opts.path + new_object.x = 0 + new_object.y = 0 + else + return + end + + AssetTables[AssetClass.Object][name] = new_object +end + +function assets.get_object(name) + return AssetTables[AssetClass.Object][name] +end + +assets.store_font('Cuneiform36', 'assets/SantakkuM.ttf', 36) +assets.store_source('intro', 'assets/Intro.wav', 'static') +assets.store_source('transition1', 'assets/transition1.wav', 'static') + +-- If relevant, an Object asset's name should match an object as placed +-- in an Object layer of a Tiled map +assets.store_object('Player', { + -- This is a drawn sprite that's going to be jammed into a Sprite layer + class = ObjectClass.Drawn, + path = 'assets/sprites/gilgamesh.png', +}) + +-- STI only supports images for tilesheet sources in a tilemap, not a tsx file +-- Mostly just embed the tileset in Tiled so it knows to reference the original +-- tilesheet png directly. +assets.store_map('test_map_1', 'tiled/test_1.lua') return assets diff --git a/main/assets/sprites/gilgamesh.png b/main/assets/sprites/gilgamesh.png new file mode 100644 index 0000000..3c0398d Binary files /dev/null and b/main/assets/sprites/gilgamesh.png differ diff --git a/main/assets/sprites/gilgamesh.xcf b/main/assets/sprites/gilgamesh.xcf new file mode 100644 index 0000000..4468981 Binary files /dev/null and b/main/assets/sprites/gilgamesh.xcf differ diff --git a/main/assets/tilesets/kenney_1_bit/Instructions.url b/main/assets/tilesets/kenney_1_bit/Instructions.url new file mode 100644 index 0000000..fc622ae --- /dev/null +++ b/main/assets/tilesets/kenney_1_bit/Instructions.url @@ -0,0 +1,6 @@ +[InternetShortcut] +URL=https://kenney.nl/documentation/game-assets/tilemaps +IDList= +HotKey=0 +[{000214A0-0000-0000-C000-000000000046}] +Prop3=19,11 diff --git a/main/assets/tilesets/kenney_1_bit/License.txt b/main/assets/tilesets/kenney_1_bit/License.txt new file mode 100644 index 0000000..1b18403 --- /dev/null +++ b/main/assets/tilesets/kenney_1_bit/License.txt @@ -0,0 +1,23 @@ + + + 1-Bit Pack (1.2) + + Created/distributed by Kenney (www.kenney.nl) + Creation date: 09-11-2021 + + ------------------------------ + + 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 Kenney or www.kenney.nl (this is not mandatory) + + ------------------------------ + + Donate: http://support.kenney.nl + Patreon: http://patreon.com/kenney/ + + Follow on Twitter for updates: + http://twitter.com/KenneyNL \ No newline at end of file diff --git a/main/assets/tilesets/kenney_1_bit/Preview.png b/main/assets/tilesets/kenney_1_bit/Preview.png new file mode 100644 index 0000000..014112a Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Preview.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Sample_fantasy.png b/main/assets/tilesets/kenney_1_bit/Sample_fantasy.png new file mode 100644 index 0000000..d7b9979 Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Sample_fantasy.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Sample_interior.png b/main/assets/tilesets/kenney_1_bit/Sample_interior.png new file mode 100644 index 0000000..1afbc7a Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Sample_interior.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Sample_platformer.png b/main/assets/tilesets/kenney_1_bit/Sample_platformer.png new file mode 100644 index 0000000..4fa13b3 Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Sample_platformer.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Sample_urban.png b/main/assets/tilesets/kenney_1_bit/Sample_urban.png new file mode 100644 index 0000000..2ef290a Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Sample_urban.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Tilemap/sample_fantasy.tmx b/main/assets/tilesets/kenney_1_bit/Tilemap/sample_fantasy.tmx new file mode 100644 index 0000000..7f0f84f --- /dev/null +++ b/main/assets/tilesets/kenney_1_bit/Tilemap/sample_fantasy.tmx @@ -0,0 +1,32 @@ + + + + + +1,1,33,1,1,68,1,68,1,1,1,1,1,1,1,6,1,1,6,33,33,33,1,1,1,1,1,1,1,2,6,6,1,1,137,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,68,33,68,1,1,1,1,138,2684354697,2684354697,2684354697,2684354697,2684354697,2684354697,2684354697,2684354698,2,2,1,488,102,102,102,102,102,102,102,488,1,68,68,1,33,137,1,1,1,6,68,1,1,1,1,1,1,1,1, +68,6,6,68,1,6,1,1,137,385,355,355,355,355,355,385,137,33,33,1,488,1,1,1,1,1,1,1,488,1,6,6,68,1,137,1,1,68,1,1,1,1,1,1,1,1,1,1, +6,33,68,33,2,1,1,1,137,417,387,360,360,360,387,417,137,1,68,68,488,1,450,1,452,1,449,1,488,1,1,33,68,1,137,1,33,1,1,1,1,1,1,1,1,1,1,1, +68,1,1,68,2,1,1,1,137,417,1,417,326,417,1,417,137,1,33,1,488,1,3,3,3,3,3,1,488,1,1,33,68,1,137,1,68,6,68,2,1,1,1,1,1,1,1,1, +2,2,6,68,33,1,2,1,137,417,1,1,41,1,1,417,137,1,1,1,488,1,449,1,3,1,450,1,488,71,1,1,138,2684354697,3221225610,1,68,2,33,1,1,1,1,1,1,1,1,1, +68,1,68,68,6,1,1,1,137,417,1,1610612781,3221225515,227,1,417,137,6,1,71,488,1,1,1,3,481,1,1,488,1,71,1,137,68,1,1,68,33,1,68,1,1,1,1,1,1,1,1, +68,33,6,6,6,1,1,1,137,417,1,1,43,2684354605,1,417,137,1,1,1,488,1,451,1,3,1,451,1,488,1,1,1,137,1,68,33,1,33,1,1,2,68,1,1,1,1,1,1, +6,6,68,68,1,1,1,1,137,386,355,355,355,355,355,386,137,1,6,1,488,102,488,102,3,102,488,102,488,1,208,208,137,6,2,33,68,33,68,68,68,68,68,1,1,1,1,1, +1,2,2,33,2,33,1,1,137,417,387,417,421,417,387,417,137,1,1,1,1,38,1,1,3,1,1,1,1,1,208,208,137,1,1,1,68,1,6,33,1,33,2,1,1,1,1,1, +1,33,33,33,1,33,1,1,1610612874,2684354697,2684354697,2684354697,197,2684354697,2684354697,2684354697,3221225610,1,1,1,38,1,1,1,3,3,3,3,3,1,208,208,1610612874,2684354697,2684354697,2684354697,2684354698,1,33,68,68,33,1,68,1,1,1,1, +1,33,1,33,2,1,1,68,1,2,1,1,41,1,6,1,1,1,1,1,1,6,358,358,358,166,166,166,41,1,1,1,1,1,68,1,137,1,1,1,1,1,1,1,1,1,1,1, +68,2,33,1,1,1,68,33,355,1,1,1,41,2,1,1,6,359,359,359,1,1,422,293,422,1,6,1,43,2684354601,2684354601,2684354601,2684354601,2684354603,2684354601,2684354601,167,2684354601,2684354601,2684354601,2684354601,2684354601,2684354601,2684354601,2684354601,2684354601,2684354601,2684354601, +68,6,1,1,1,1,1,355,418,417,1,2,41,1,1,6,359,556,417,556,359,1,1,41,2,6,1,1,41,1,1,1,68,3221225513,1,1,137,1,1,1,1,1,1,1,1,1,1,1, +68,1,1,1,1,1,354,417,417,417,369,1,41,1,1,1,417,556,297,556,417,1,1,43,2684354601,2684354601,2684354601,2684354601,3221225514,1,491,492,493,3221225513,38,1,137,1,33,1,6,68,33,6,6,1,2,1, +1,1,68,1,1,1,1,3,1,355,1610612781,2684354601,3221225515,1,1,1,1,1,41,1,2,241,6,41,1,1,38,1,1,1,523,524,525,3221225513,1,38,137,1,68,68,1,1,1,68,6,2,68,1, +6,68,1,1,1,401,1,1,3,417,417,1,41,1,453,1,1,2,1610612778,2684354603,2684354601,2684354601,2684354601,3221225515,1,358,358,358,358,1,1,1610612778,2684354601,3221225514,1,1,137,68,1,33,33,6,68,33,1,1,1,1, +68,6,6,68,1,1,2147484017,417,401,417,417,2147484002,41,1,45,1,1,6,1,41,1,2,1,3221225513,2147483919,424,488,292,488,1,206,206,206,206,206,1,137,1,1,1,2,68,68,2,1,1,1,1, +33,2,2,68,68,1,1,3,3,3,2,1,41,1,41,2,1,1,2,41,1,38,1,3221225513,1,1,1,3221225513,1,1,206,206,206,206,206,1,137,1,1,1,68,2,68,6,68,1,1,1, +2,2,68,68,1,1,1,1,1,1,1,1,1610612778,2684354601,1610612779,2684354601,2684354601,2684354601,2684354603,3221225514,1,1,359,359,2684354601,2684354601,2684354601,3221225514,6,1,1,1,1,1,1,1,137,1,68,1,1,6,33,1,2,1,1,1, +1,33,33,68,33,33,1,1,1,33,1,1,1,1,1,1,38,1,3221225513,1,1,359,417,417,359,1,2,6,1,68,1,138,2684354697,2684354697,2684354697,2684354697,3221225610,1,1,1,33,1,6,2,1,1,1,1, +68,68,33,1,2,1,6,68,6,1,68,1,1,1,1,1,1,6,3221225513,38,1,417,417,293,417,1,1,1,68,1,1,137,1,1,1,1,1,1,1,68,6,68,1,1,68,33,1,1, +68,68,1,33,33,6,1,6,1,1,6,1,33,6,1,1,1,1,3221225513,1,1,1,1,41,6,1,1,138,2684354697,2684354697,2684354697,3221225610,1,6,68,68,1,6,1,68,6,33,68,1,1,6,1,1, +33,33,68,68,2,1,2,2,68,33,6,68,1,1,6,1,1,1,1610612778,2684354601,2684354601,2684354601,2684354601,3221225514,1,1,1,137,1,1,1,1,33,33,1,33,6,68,68,2,68,1,1,1,1,1,1,1 + + + diff --git a/main/assets/tilesets/kenney_1_bit/Tilemap/sample_interior.tmx b/main/assets/tilesets/kenney_1_bit/Tilemap/sample_interior.tmx new file mode 100644 index 0000000..9388dde --- /dev/null +++ b/main/assets/tilesets/kenney_1_bit/Tilemap/sample_interior.tmx @@ -0,0 +1,32 @@ + + + + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,417,419,417,417,417,419,417,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,35,1,417,1,269,236,237,1,417,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,35,1,1,1,417,1,1,1,1,63,417,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,417,417,417,417,417,417,417,292,417,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,417,417,417,417,417,417,1,228,1,265,1,1,5,417,1,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,419,1,1,257,229,417,1,1,1,1,1,154,1,417,35,1,35,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,417,262,1,1,4,292,1,258,258,258,1,1,1,417,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,417,1,1,486,1,417,1,260,261,2147483908,89,1,1,417,419,417,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,417,417,417,417,417,417,1,258,258,258,1,1,258,273,258,417,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,419,1,1,257,229,417,1,1,1,1,1,1,258,305,258,417,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,417,262,1,1,4,292,1,1,218,59,1,1,258,337,258,417,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,417,1,1,486,1,417,1,1,1,1,1,1,1,1,1,417,2,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,417,417,417,417,417,417,485,1,1,1,5,1,1,1,485,417,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,417,417,417,419,417,292,417,419,417,417,417,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,35,1,1,2,1,1,2,1,1,1,41,239,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + + diff --git a/main/assets/tilesets/kenney_1_bit/Tilemap/sample_platformer.tmx b/main/assets/tilesets/kenney_1_bit/Tilemap/sample_platformer.tmx new file mode 100644 index 0000000..c174e2c --- /dev/null +++ b/main/assets/tilesets/kenney_1_bit/Tilemap/sample_platformer.tmx @@ -0,0 +1,32 @@ + + + + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,55,1,1,55,1,1,1,1,1,1,1,1,1,1,1,55,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,55,1,1,55,1,1,1,1,1,1,1,1,1,1,1,55,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,55,1,1,55,1,1,1,1,1,1,1,1,1,1,1,55,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,55,1,1,55,1,1,1,1,1,1,1,1,1,1,1,55,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,87,1,1,55,1,1,1,1,1,1,1,1,1,1,1,55,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,55,1,1,55,1,1,1,1,1,1,1,1,1,1,1,55,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,55,1,1,55,1,152,1,1,1,1,1,1,1,1,1,55,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,55,1,1,55,1,88,1,1,1,1,1,1,1,1,1,55,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,55,1,1,55,214,215,2147483863,216,1,1,1,1,1,1,1,55,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,151,55,1,1,55,1,1,1,1,1,1,1,1,1,1,1,87,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,88,55,1,1,55,1,1,1,1,1,1,1,246,1,306,1,55,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,20,20,20,118,1,55,1,1,1,1,1,1,1,214,215,216,1,55,1,1,1,1,151,151,86,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,1,53,1,87,1,1,1,280,1,86,183,1,1,1,1,87,1,151,1,19,20,20,20,20,21,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51,52,1,1,53,1,55,1,1,1,19,20,20,21,1,1,1,1,55,1,151,1,51,1,1,1,1,53,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,1,53,1,87,151,1,1,51,1,1,53,1,1,1,2147483956,88,86,1,86,51,1,1,1,1,53,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,1,53,1,55,86,1,117,148,1,1,53,179,179,179,19,20,20,20,20,148,1,1,1,1,53,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,52,147,20,20,20,20,148,1,1,1,53,1,1,1,51,1,1,1,1,1,1,1,1,1,53,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,86,1,1,51,1,1,1,1,1,1,1,1,1,1,1,1,53,1,1,1,51,1,1,1,1,1,1,1,1,1,53,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,19,20,20,20,148,1,1,1,1,1,1,1,52,1,1,1,1,53,23,23,23,51,1,1,1,1,1,1,1,1,1,53,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,147,20,20,20,148,1,1,1,1,1,1,1,1,1,53,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,1,1,1,1,1,1,1,1,52,1,1,1,1,1,1,1,1,1,1,1,1,52,1,1,1,1,1,1,53,1,1,1,1, +1,1,1,1,1,1,1,1,19,20,20,20,148,1,1,1,1,1,1,1,1,1,1,1,1,1,52,1,1,1,1,1,1,1,1,52,1,1,52,1,1,1,1,53,1,1,1,1, +1,1,1,1,1,1,1,1,51,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,53,1,1,1,1, +1,1,1,1,1,1,1,1,51,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,53,1,1,1,1 + + + diff --git a/main/assets/tilesets/kenney_1_bit/Tilemap/sample_urban.tmx b/main/assets/tilesets/kenney_1_bit/Tilemap/sample_urban.tmx new file mode 100644 index 0000000..836930a --- /dev/null +++ b/main/assets/tilesets/kenney_1_bit/Tilemap/sample_urban.tmx @@ -0,0 +1,32 @@ + + + + + +6,6,6,358,358,358,358,2,1,161,1,488,488,488,1,1,1,1,1,17,73,17,593,594,595,1,68,68,6,2,6,1610612907,1610612906,1610612906,169,169,169,169,169,3221225642,1,2147483716,2147483649,2147484243,2147484242,2147484241,2147483665,2147483721, +1,1,1,488,328,328,488,1,1,161,1,422,328,422,2,2,2,2,33,17,73,17,556,556,556,68,2,6,33,68,68,68,2,2,1610612907,1610612906,1610612906,1610612906,1610612906,3221225643,1,2147483650,2147483716,2147484204,2147484204,2147484204,2147483665,2147483721, +17,17,17,17,3221225486,14,17,17,17,107,17,17,17,17,17,17,33,6,33,17,73,17,556,556,556,1,1,1,68,1,1,1,6,1,1,2147483654,2147483649,2147483649,2147483649,2147483716,2147483649,2147483649,2147483649,2147484204,2147484204,2147484204,2147483665,2147483721, +1610612750,1610612750,1610612750,1610612750,1,1,1610612750,1610612750,1610612750,107,1610612750,1610612750,1610612750,1610612750,1610612752,17,1,33,1,17,73,17,555,326,555,130,130,130,130,130,130,130,130,130,2147483778,2147483778,2147483778,2147483778,2147483778,2147483778,2147483778,2147483778,2147483778,2147484203,2147483974,2147484203,2147483665,2147483721, +2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,107,2684354606,1610612782,1610612782,3221225519,14,17,529,530,531,17,73,17,17,17,17,17,17,17,17,17,17,17,17,17,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483721, +2684354574,2684354574,2684354574,2684354574,2684354574,2684354574,2684354574,2684354574,2684354574,107,2684354574,2684354574,1,46,14,17,561,1,563,17,73,17,398,1,1,1,529,530,530,531,1,1,1,1,130,130,130,130,2147484179,2147484178,2147484178,2147484177,2147483649,2147483649,2147483649,2147484046,2147483665,2147483721, +17,17,427,427,427,427,427,427,17,107,17,17,3221225486,46,15,17,593,594,595,17,73,17,1,529,530,531,561,1,1,563,1,1,33,1,130,70,2147483649,2147483649,2147484211,2147483649,2147483649,2147484209,2147484179,2147484178,2147484177,2147483649,2147483665,2147483721, +1,1,1,428,1,399,1,397,1,161,1,17,751,46,14,17,587,556,587,17,73,17,1,561,1,563,488,625,626,626,626,627,1,1,529,530,530,530,530,530,531,2147484136,2147484211,2147483649,2147484209,2147483649,2147483665,2147483721, +1,1,1,428,1,3,1,429,3,161,33,17,3221225486,46,14,17,587,556,587,17,73,17,1,593,594,595,488,657,1,1,1,659,1,68,561,1,1,1,1,1,563,2147484136,2147484243,2147484242,2147484241,2147483649,2147483665,2147483721, +1,1,462,462,462,1,3,1,1,161,1,17,3221225486,46,14,17,587,556,587,17,73,17,1,556,556,556,1,689,690,690,690,691,68,1,593,594,594,594,594,594,595,2147483649,2147484204,2147484204,2147484204,2147483649,2147483665,2147483721, +1,1,432,432,432,1,393,394,2147484041,161,401,17,3221225486,46,719,17,587,556,587,17,73,17,430,556,556,556,1,488,424,488,424,488,1,1,555,555,555,555,555,555,555,2147483649,2147484204,2147484204,2147484204,2147484078,2147483665,2147483721, +1,1,1,1,1,1,1,3,3,161,68,17,3221225486,46,14,17,587,328,587,17,73,17,130,555,326,555,1,488,424,362,424,488,1,1,555,331,2147483979,555,331,2147483979,555,2147483649,2147484203,2147483974,2147484203,2147483778,2147483665,2147483721, +99,99,99,99,99,99,99,99,99,161,99,17,367,46,719,17,398,17,1,17,73,17,1,35,17,35,1,6,6,17,6,6,1,1,2147483649,3221225486,14,2147483649,3221225486,14,2147483649,2147483649,2147483683,2147483665,2147483683,2147483649,2147483665,2147483721, +17,17,17,17,17,17,17,17,17,107,17,17,3221225486,46,14,17,17,17,17,17,73,17,17,17,17,17,17,17,17,17,17,2147483665,2147483665,2147483665,2147483665,3221225486,14,2147483665,3221225486,14,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483721, +1610612750,1610612750,1610612750,1610612750,1610612750,1610612750,1610612750,1610612750,1610612750,107,750,1610612750,1,46,1,1610612751,1610612750,1610612750,1610612750,1610612750,1,1610612750,716,1610612750,716,1610612750,1610612751,653,654,1610612750,1610612750,3758096398,3758096398,3758096398,3758096398,1,1,3758096398,1,653,654,3758096399,3758096398,716,3758096398,716,3758096398,2147483649, +2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,3221225520,2684354606,2684354606,107,2684354606,2684354606,2684354606,48,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,2684354606,1610612782,1610612782,536870958,536870958,536870958,536870958,536870958,536870958,536870958,536870958,3758096430,3758096430,536870958,536870958,536870958,536870958,536870958,536870958,536870958,536870958, +2684354574,2684354574,2684354574,2684354574,2684354574,1,46,1,2684354574,107,2684354574,2684354574,2684354574,2147484270,2147484269,2684354574,2684354574,1,2684354574,2147484302,2147484301,2684354574,2147484398,2684354574,2684354574,2684354574,2684354574,2684354574,2684354574,1,46,2147483649,536870926,536870926,536870926,536870926,2147483649,2147483694,2147483649,536870926,536870926,536870926,536870926,536870926,536870926,2147484398,536870926,2147484302, +17,17,17,17,17,3221225486,46,14,17,107,17,17,17,17,17,17,17,73,17,17,17,17,17,17,17,17,17,17,17,3221225486,46,14,2147483665,2147483665,2147483665,2147483665,2147483662,2147483694,1073741838,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665,2147483665, +33,2,68,1,17,3221225486,46,14,17,161,1,1,1,1,1,1,17,73,17,1,1,1,1,398,1,1,1,1,17,3221225677,3221225677,3221225677,17,130,130,2147483665,1073742029,1073742029,1073742029,2147483665,2147483649,2147483649,2147483649,2147483649,2147484046,2147483649,2147483649,2147483649, +6,68,68,1,17,3221225486,46,14,17,161,625,626,626,626,627,1,17,73,17,1,529,530,531,1,68,2,1,2,17,3221225486,46,751,17,1,2147483649,2147483665,2147483662,2147483694,1073741838,2147483665,2147483650,2147483649,2147483650,2147483716,2147483649,2147484179,2147484178,2147484177, +2684354730,2684354731,2,68,17,3221225486,46,14,17,161,657,1,1,1,659,1,17,73,17,1,561,1,563,1,1,68,6,1,17,719,46,14,17,360,360,2147483665,2147483662,2147483694,1073741838,2147483665,2147483649,2147483654,2147483716,2147483649,2147483649,2147484211,2147483649,2147484209, +169,3221225642,2,68,17,3221225486,46,14,17,161,689,690,690,690,691,130,17,73,17,130,593,594,595,530,530,530,531,1,17,3221225486,46,14,17,326,555,2147483665,2147483662,2147483694,1073741838,2147483665,2147483649,2147484179,2147484178,2147484178,2147484178,2147484243,2147484242,2147484241, +169,169,2684354731,33,17,3221225486,46,14,17,161,488,424,488,424,488,1,17,73,17,1,556,556,556,1,1,1,563,1,17,719,46,15,17,2147483665,2147483665,2147483665,2147483663,2147483694,1073741838,2147483665,2147483649,2147484211,2147483649,2147483649,2147483649,2147484204,2147484204,2147484204, +169,169,3221225642,1,17,3221225486,46,14,17,161,488,424,488,424,488,1,17,73,17,1,556,556,556,594,594,594,595,1,17,3221225486,46,14,17,2147483665,2147483665,2147483665,2147483662,2147483694,1073741838,2147483665,2147483649,2147484243,2147484242,2147484242,2147484242,2147484204,2147484204,2147484204 + + + diff --git a/main/assets/tilesets/kenney_1_bit/Tilemap/tileset_colored.tsx b/main/assets/tilesets/kenney_1_bit/Tilemap/tileset_colored.tsx new file mode 100644 index 0000000..4d0ee20 --- /dev/null +++ b/main/assets/tilesets/kenney_1_bit/Tilemap/tileset_colored.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/main/assets/tilesets/kenney_1_bit/Tilemap/tileset_legacy.png b/main/assets/tilesets/kenney_1_bit/Tilemap/tileset_legacy.png new file mode 100644 index 0000000..6c3751c Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Tilemap/tileset_legacy.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Tilesheet.txt b/main/assets/tilesets/kenney_1_bit/Tilesheet.txt new file mode 100644 index 0000000..3dc19c9 --- /dev/null +++ b/main/assets/tilesets/kenney_1_bit/Tilesheet.txt @@ -0,0 +1,9 @@ +Tilesheet information: + +Tile size • 16px × 16px +Space between tiles • 1px × 1px +--- +Total tiles (horizontal) • 49 tiles +Total tiles (vertical) • 22 tiles +--- +Total tiles in sheet • 1078 tiles \ No newline at end of file diff --git a/main/assets/tilesets/kenney_1_bit/Tilesheet/colored-transparent.png b/main/assets/tilesets/kenney_1_bit/Tilesheet/colored-transparent.png new file mode 100644 index 0000000..154a26e Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Tilesheet/colored-transparent.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Tilesheet/colored-transparent_packed.png b/main/assets/tilesets/kenney_1_bit/Tilesheet/colored-transparent_packed.png new file mode 100644 index 0000000..ec91ce3 Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Tilesheet/colored-transparent_packed.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Tilesheet/colored.png b/main/assets/tilesets/kenney_1_bit/Tilesheet/colored.png new file mode 100644 index 0000000..8e2f3e7 Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Tilesheet/colored.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Tilesheet/colored_packed.png b/main/assets/tilesets/kenney_1_bit/Tilesheet/colored_packed.png new file mode 100644 index 0000000..a7a8237 Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Tilesheet/colored_packed.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome-transparent.png b/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome-transparent.png new file mode 100644 index 0000000..9f8187d Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome-transparent.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome-transparent_packed.png b/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome-transparent_packed.png new file mode 100644 index 0000000..4a99afc Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome-transparent_packed.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome.png b/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome.png new file mode 100644 index 0000000..fe873cd Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome_packed.png b/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome_packed.png new file mode 100644 index 0000000..1c33015 Binary files /dev/null and b/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome_packed.png differ diff --git a/main/assets/tilesets/kenney_1_bit/Visit Kenney.url b/main/assets/tilesets/kenney_1_bit/Visit Kenney.url new file mode 100644 index 0000000..c220c41 --- /dev/null +++ b/main/assets/tilesets/kenney_1_bit/Visit Kenney.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://www.kenney.nl/ \ No newline at end of file diff --git a/main/assets/tilesets/kenney_1_bit/Visit Patreon.url b/main/assets/tilesets/kenney_1_bit/Visit Patreon.url new file mode 100644 index 0000000..67e9ea5 --- /dev/null +++ b/main/assets/tilesets/kenney_1_bit/Visit Patreon.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=https://www.patreon.com/kenney/ \ No newline at end of file diff --git a/main/main.lua b/main/main.lua index 883cbce..fccbedc 100644 --- a/main/main.lua +++ b/main/main.lua @@ -1,19 +1,40 @@ -- main.lua +local sti = require('plugin/STI/sti') local conf = require('conf') local assets = require('assets') +local active_map = nil +local world = nil +local player = nil +local tx, ty + function love.load() love.graphics.setFont(assets.get_font('Cuneiform36')) - love.audio.play(assets.get_source("intro")) + love.audio.play(assets.get_source('intro')) + + active_map = assets.get_map('test_map_1') + for k,v in pairs(active_map.objects) do + if v.name == "Player" then + player = v + end + end + + tx = 0 + ty = 0 end function love.update(delta_time) + active_map:update(delta_time) + if player then + player.x = player.x + 1 + end end function love.keypressed(key) end function love.draw() + active_map:draw(tx, ty, 2.0) love.graphics.print(IntroMessage, math.floor((conf.window.width/16) * 1), math.floor((conf.window.height/16) * 1)) end diff --git a/main/tiled/Sample_fantasy.tsx b/main/tiled/Sample_fantasy.tsx new file mode 100644 index 0000000..2d98431 --- /dev/null +++ b/main/tiled/Sample_fantasy.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/main/tiled/test_1.lua b/main/tiled/test_1.lua new file mode 100644 index 0000000..efeee1e --- /dev/null +++ b/main/tiled/test_1.lua @@ -0,0 +1,132 @@ +return { + version = "1.10", + luaversion = "5.1", + tiledversion = "1.11.2", + class = "", + orientation = "orthogonal", + renderorder = "right-down", + width = 30, + height = 20, + tilewidth = 16, + tileheight = 16, + nextlayerid = 5, + nextobjectid = 9, + properties = {}, + tilesets = { + { + name = "colored_packed", + firstgid = 1, + class = "", + tilewidth = 16, + tileheight = 16, + spacing = 0, + margin = 0, + columns = 49, + image = "../assets/tilesets/kenney_1_bit/Tilesheet/colored_packed.png", + imagewidth = 784, + imageheight = 352, + objectalignment = "unspecified", + tilerendersize = "tile", + fillmode = "stretch", + tileoffset = { + x = 0, + y = 0 + }, + grid = { + orientation = "orthogonal", + width = 16, + height = 16 + }, + properties = {}, + wangsets = {}, + tilecount = 1078, + tiles = {} + } + }, + layers = { + { + type = "tilelayer", + x = 0, + y = 0, + width = 30, + height = 20, + id = 1, + name = "Tile Layer 1", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 746, 747, 748, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 206, 2684354765, 2684354765, 2684354765, 2684354765, 2684354765, 2684354766, 1, 1, 1, 1, 795, 796, 797, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 205, 1, 1, 1, 1, 1, 205, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 205, 206, 2684354765, 2684354765, 2684354765, 2684354766, 205, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 205, 205, 1, 209, 1, 205, 205, 1, 1, 1, 1, 1, 1, 19, 21, 19, 21, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 205, 1610612942, 2684354765, 208, 2684354765, 3221225678, 205, 1, 1, 1, 1, 1, 1, 117, 119, 117, 119, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 205, 1, 1, 3221225677, 1, 1, 205, 1, 1, 1, 1, 1, 1, 19, 21, 19, 21, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 1610612942, 2684354765, 2684354765, 1610612943, 2684354765, 2684354765, 3221225678, 1, 1, 1, 1, 1, 1, 117, 119, 117, 119, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51 + } + }, + { + type = "objectgroup", + draworder = "topdown", + id = 2, + name = "Object Layer 1", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + objects = { + { + id = 2, + name = "Player", + type = "", + shape = "rectangle", + x = 48, + y = 160, + width = 16, + height = 16, + rotation = 0, + gid = 515, + visible = true, + properties = {} + }, + { + id = 8, + name = "", + type = "", + shape = "rectangle", + x = 128, + y = 64, + width = 16, + height = 16, + rotation = 0, + gid = 515, + visible = true, + properties = {} + } + } + } + } +} diff --git a/main/tiled/test_1.tmx b/main/tiled/test_1.tmx new file mode 100644 index 0000000..d8d9090 --- /dev/null +++ b/main/tiled/test_1.tmx @@ -0,0 +1,36 @@ + + + + + + + + + + +51,869,870,871,872,873,874,875,876,877,878,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51, +918,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +919,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +920,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +921,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +922,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,746,747,748,1,1,1,1,1,1,1,1,51, +923,1,1,1,1,1,1,206,2684354765,2684354765,2684354765,2684354765,2684354765,2684354766,1,1,1,1,795,796,797,1,1,1,1,1,1,1,1,51, +924,1,1,1,1,1,1,205,1,1,1,1,1,205,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +925,1,1,1,1,1,1,205,206,2684354765,2684354765,2684354765,2684354766,205,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +926,1,1,1,1,1,1,205,205,1,209,1,205,205,1,1,1,1,1,1,19,21,19,21,1,1,1,1,1,51, +927,1,1,1,1,1,1,205,1610612942,2684354765,208,2684354765,3221225678,205,1,1,1,1,1,1,117,119,117,119,1,1,1,1,1,51, +928,1,1,1,1,1,1,205,1,1,3221225677,1,1,205,1,1,1,1,1,1,19,21,19,21,1,1,1,1,1,51, +51,1,1,1,1,1,1,1610612942,2684354765,2684354765,1610612943,2684354765,2684354765,3221225678,1,1,1,1,1,1,117,119,117,119,1,1,1,1,1,51, +51,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +51,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +51,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +51,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +51,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +51,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51, +51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51 + + + + + +