This commit is contained in:
Masséna Fezard | Nounouille 2021-12-21 22:25:52 +01:00
parent a910f94023
commit c8850ee774
20 changed files with 0 additions and 729 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -1,4 +0,0 @@
tileset.png:
type: bopti-image
name: img_tileset
profile: p4

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -1,70 +0,0 @@
return {
version = "1.5",
luaversion = "5.1",
tiledversion = "1.7.2",
orientation = "orthogonal",
renderorder = "right-down",
width = 50,
height = 28,
tilewidth = 8,
tileheight = 8,
nextlayerid = 2,
nextobjectid = 1,
properties = {},
tilesets = {
{
name = "tileset",
firstgid = 1,
filename = "test.tsx"
}
},
layers = {
{
type = "tilelayer",
x = 0,
y = 0,
width = 50,
height = 28,
id = 1,
name = "Calque de Tuiles 1",
visible = true,
opacity = 1,
offsetx = 0,
offsety = 0,
parallaxx = 1,
parallaxy = 1,
properties = {},
encoding = "lua",
data = {
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 50, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 49, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 14, 14, 14, 14,
26, 26, 26, 26, 26, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 26, 26, 26, 26,
40, 41, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 39, 40,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 62, 63, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 13, 14,
14, 38, 2, 2, 2, 2, 2, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 37, 14,
14, 14, 14, 14, 14, 14, 14, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 18, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, 13, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 18, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 13, 14, 14, 14, 14, 14, 14, 14
}
}
}
}

View File

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="50" height="28" tilewidth="8" tileheight="8" infinite="0" nextlayerid="2" nextobjectid="1">
<tileset firstgid="1" source="test.tsx"/>
<layer id="1" name="Calque de Tuiles 1" width="50" height="28">
<data encoding="csv">
14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
14,14,14,14,14,50,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,49,14,14,14,14,14,
14,14,14,14,14,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,14,14,14,14,14,
26,26,26,26,26,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,26,26,26,26,26,
40,41,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,39,40,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,62,63,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,61,62,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,62,63,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,61,62,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,62,63,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,61,62,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,62,63,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,13,14,
14,18,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,13,14,
14,38,2,2,2,2,2,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,2,37,14,
14,14,14,14,14,14,14,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,18,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,6,13,14,14,14,14,14,14,14,
14,14,14,14,14,14,14,18,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,18,13,14,14,14,14,14,14,14
</data>
</layer>
</map>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.5" tiledversion="1.7.2" name="tileset" tilewidth="8" tileheight="8" tilecount="72" columns="12">
<image source="tileset.png" width="96" height="48"/>
</tileset>

View File

@ -1,6 +0,0 @@
{
"maps": [
],
"onlyShowAdjacentMaps": false,
"type": "world"
}

View File

@ -1,56 +0,0 @@
return {
version = "1.5",
luaversion = "5.1",
tiledversion = "1.7.2",
orientation = "orthogonal",
renderorder = "right-down",
width = 25,
height = 14,
tilewidth = 16,
tileheight = 16,
nextlayerid = 2,
nextobjectid = 1,
properties = {},
tilesets = {
{
name = "test",
firstgid = 1,
filename = "test.tsx"
}
},
layers = {
{
type = "tilelayer",
x = 0,
y = 0,
width = 25,
height = 14,
id = 1,
name = "Calque de Tuiles 1",
visible = true,
opacity = 1,
offsetx = 0,
offsety = 0,
parallaxx = 1,
parallaxy = 1,
properties = {},
encoding = "lua",
data = {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
}
}
}

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="25" height="14" tilewidth="16" tileheight="16" infinite="0" nextlayerid="2" nextobjectid="1">
<layer id="1" name="Calque de Tuiles 1" width="25" height="14">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
</map>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -1,3 +0,0 @@
example.png:
type: bopti-image
name: img_example

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -1,34 +0,0 @@
#pragma once
/* FROM FISFOR */
/* use this to get user input, NOT gint/keyboard.h */
typedef enum Key {
K_A,
K_B,
K_UP,
K_DOWN,
K_LEFT,
K_RIGHT,
K_EXIT,
K_X,
K_Y,
K_COUNT
} Key;
typedef enum KeyState { KS_UP, KS_RELEASE, KS_DOWN, KS_PRESS } KeyState;
typedef struct Input {
int keys[K_COUNT];
KeyState states[K_COUNT];
} Input;
/* called by main.c once */
void input_init(void);
/* call this to update key states once per frame */
void input_step(void);
int input_down(Key);
int input_pressed(Key);
int input_up(Key);
int input_released(Key);

View File

@ -1,39 +0,0 @@
#pragma once
#define TILE_S 8
#define TILESET_W 12
#define TILESET_H 6
/* Yup, it's exactly the code from frozen frenzy™. */
/* used for tiles */
typedef int tile_t;
/* struct for a pair of int values */
typedef struct Vec2 {
int x, y;
} Vec2;
/* struct for a pair of float values */
typedef struct FVec2 {
float x, y;
} FVec2;
/* struct for player's data */
typedef struct Player {
Vec2 pos;
Vec2 spawn;
FVec2 spd;
} Player;
/* dynamic level data */
typedef struct Level {
int width, height;
tile_t *data;
} Level;
/* struct for rem movement and collision check */
typedef struct Res_Mov {
Player player;
Vec2 moved;
} Res_Mov;

View File

@ -1,18 +0,0 @@
#pragma once
#include "main.h"
#define PLAYER_SIZE 12
#define PLAYER_ACC 1
#define BASE_FRIC 0.2
#define GRAVITY 0.4
#define JUMP_H 7
#define COYOTE_TIME 3
Player player_reset(Player player, Level level);
Vec2 search(tile_t x, Level level);
int convert_all(tile_t x, tile_t y, Level level);
int collide_pixel(Vec2 pos, tile_t obj, Level level);
int collide(Vec2 pos, int h, tile_t obj, Level level);
Res_Mov move(Player player, Level level);
Player player_reset(Player player, Level level);

View File

@ -1,70 +0,0 @@
#include "input.h"
#include <gint/keyboard.h>
static Input input;
void
input_init(void)
{
int i = K_COUNT;
while (i-- > 0) {
input.states[i] = KS_UP;
}
input.keys[K_A] = KEY_SHIFT;
input.keys[K_B] = KEY_ALPHA;
input.keys[K_X] = KEY_OPTN;
input.keys[K_Y] = KEY_SQUARE;
input.keys[K_LEFT] = KEY_LEFT;
input.keys[K_RIGHT] = KEY_RIGHT;
input.keys[K_UP] = KEY_UP;
input.keys[K_DOWN] = KEY_DOWN;
input.keys[K_EXIT] = KEY_MENU;
}
void
input_step(void)
{
int i = K_COUNT;
clearevents();
while (i-- > 0) {
const int kdown = keydown(input.keys[i]);
KeyState *const state = &input.states[i];
const KeyState prev_state = input.states[i];
switch (prev_state) {
case KS_UP:
case KS_RELEASE:
*state = (kdown) ? (KS_PRESS) : (KS_UP);
break;
case KS_DOWN:
case KS_PRESS:
*state = (kdown) ? (KS_DOWN) : (KS_RELEASE);
break;
default:
break;
}
}
}
int
input_down(Key k)
{
return input.states[k] == KS_DOWN || input.states[k] == KS_PRESS;
}
int
input_pressed(Key k)
{
return input.states[k] == KS_PRESS;
}
int
input_up(Key k)
{
return !input_down(k);
}
int
input_released(Key k)
{
return input.states[k] == KS_RELEASE;
}

View File

@ -1,225 +0,0 @@
#include <gint/display.h>
#include <gint/keyboard.h>
#include <gint/std/string.h>
#include <stdlib.h>
#include "input.h"
#include "main.h"
#include "player.h"
int
main(void)
{
extern bopti_image_t img_tileset;
Level level = {
.width = 50,
.height = 28,
};
/* dynamic level size */
level.data =
(tile_t *)malloc(level.width * level.height * sizeof(tile_t));
tile_t data[] = {
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 50, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 49, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 14, 14, 14, 14, 26, 26, 26,
26, 26, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 25, 26, 26, 26, 26, 26, 40, 41, 64, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 39, 40, 14, 18, 65, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14, 14, 18, 65, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 65, 13, 14, 14, 18, 65, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 65, 13, 14, 14, 18, 65, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 65, 13, 14, 14, 18, 65, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 65, 13, 14, 14, 18, 65, 61, 62, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 65, 13, 14, 14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 65, 13, 14, 14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 65, 13, 14, 14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0,
65, 13, 14, 14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,
13, 14, 14, 18, 65, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13,
14, 14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14,
14, 18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 62, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14, 14,
18, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14, 14, 18,
65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14, 14, 18, 65,
61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 61, 62, 63, 0, 0, 0, 0, 0, 0, 65, 13, 14, 14, 18, 65, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14, 14, 18, 65, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 65, 13, 14, 14, 18, 66, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 66, 13, 14, 14, 38, 2, 2, 2, 2, 2,
6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 2, 2, 2, 2, 2, 37, 14, 14, 14, 14, 14, 14, 14, 14, 18,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 1,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, 13,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 13, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 13, 14,
14, 14, 14, 14, 14, 14};
memcpy(level.data, data, sizeof(data));
input_init();
Player player = {.pos = {50, 50}, .spawn = {0, 0}, .spd = {0, 0}};
Vec2 camera = {0, 0};
int running = 1;
int jumping = 1;
int airbreak = 1;
int coyote = 0;
while (running) {
/* camera thing */
dclear(C_WHITE);
camera.x = player.pos.x - 190;
if (camera.x < 2) {
camera.x = 2;
}
if (camera.x > level.width * TILE_S - 398) {
camera.x = level.width * TILE_S - 398;
}
camera.y = player.pos.y - 104;
if (camera.y < 0) {
camera.y = 0;
}
if (camera.y > level.height * TILE_S - 224) {
camera.y = level.height * TILE_S - 224;
}
/* tiles */
for (int m = 0; m < level.height; ++m) {
for (int n = 0; n < level.width; ++n) {
tile_t tile = level.data[n + m * level.width];
dsubimage(n * TILE_S - camera.x,
m * TILE_S - camera.y, &img_tileset,
((tile - 1) % TILESET_W) * TILE_S,
((tile - 1) / TILESET_W) * TILE_S,
TILE_S, TILE_S, 0);
/* dprint(n * TILE_S - camera.x, m * TILE_S -
camera.y, C_BLACK, "%d", tile); */
}
}
drect(player.pos.x - camera.x, player.pos.y - camera.y,
player.pos.x + PLAYER_SIZE - camera.x - 1,
player.pos.y + PLAYER_SIZE - camera.y - 1, C_BLACK);
dprint(10, 10, C_BLACK, "%d", jumping);
/* input */
input_step();
Vec2 mov = {
.x = input_down(K_RIGHT) - input_down(K_LEFT),
.y = 0,
};
/* on the ground */
if (collide((Vec2){player.pos.x, player.pos.y + 1}, 0, 1,
level)) {
jumping = 0;
airbreak = 0;
coyote = COYOTE_TIME;
} else {
--coyote;
}
/* JUMP */
if (input_pressed(K_A) && coyote > 0) {
player.spd.y = -JUMP_H;
jumping = 2;
coyote = 0;
airbreak = 0;
}
/* airbreak */
if (!airbreak && (!input_down(K_A) || player.spd.y > 0)) {
airbreak = 1;
}
/* moving */
player.spd.x *= (1 - BASE_FRIC); /* friction */
player.spd.x += mov.x * PLAYER_ACC; /* idem */
player.spd.y += GRAVITY + (GRAVITY * airbreak); /* gravity */
if (player.spd.x > -0.2 && player.spd.x < 0.2) {
player.spd.x = 0;
}
if (player.spd.y > -0.2 && player.spd.y < 0.2) {
player.spd.y = 0;
}
Res_Mov position = move(player, level); /* i'm crying rn */
player = position.player;
/* if the player collide with a wall */
if (position.moved.x) {
player.spd.x = 0;
}
if (position.moved.y) {
player.spd.y = 0;
}
/* exit */
if (input_pressed(K_EXIT)) {
break;
}
dupdate();
}
return 1;
}

View File

@ -1,143 +0,0 @@
#include <gint/display.h>
#include "player.h"
int
sign(int n)
{
/* I do not know well C lmao */
if (n > 0) {
return 1;
} else {
return -1;
}
}
Vec2
search(tile_t x, Level level)
{
/* Search for x in a given matrix. */
/* If x is found, return it coordinates */
Vec2 coordinates = {0, 0};
for (int m = 0; m < level.width; ++m) {
for (int n = 0; n < level.height; ++n) {
if (level.data[m + n * level.width] == x) {
coordinates.x = m * TILE_S;
coordinates.y = n * TILE_S;
return coordinates;
}
}
}
return coordinates;
}
int
convert_all(tile_t x, tile_t y, Level level)
{
/* convert all instance of a tile */
for (int i = 0; i < level.width * level.height; ++i) {
if (level.data[i] == x) {
level.data[i] = y;
}
}
return 1;
}
int
collide_pixel(Vec2 pos, tile_t obj, Level level)
{
/* Check if there's something in (x, y) */
const int position = pos.x / TILE_S + pos.y / TILE_S * level.width;
const int uwu = level.data[position];
if (position < 0 || position > level.width * level.height || uwu == 0) {
return 0;
}
/* others */
if (obj != 1) {
if (uwu == obj) {
return position;
} else {
return 0;
}
}
/* solids */
if ((uwu - 1) % TILESET_W <= 6) {
return 1;
} else {
return 0;
}
}
int
collide(Vec2 pos, int h, tile_t obj, Level level)
{
/* tl = top left */
/* br = bottom right */
const Vec2 pos_tl = (Vec2){pos.x + h, pos.y + h};
const Vec2 pos_br =
(Vec2){pos.x + PLAYER_SIZE - h - 1, pos.y + PLAYER_SIZE - h - 1};
const Vec2 middle =
(Vec2){pos.x + PLAYER_SIZE / 2, pos.y + PLAYER_SIZE / 2};
/* Check if there's something in */
/* the square (x, y, x + 15, y + 15) */
/* The size of the hitbox changes with h */
if (collide_pixel(pos_tl, obj, level) ||
collide_pixel(pos_br, obj, level) ||
collide_pixel((Vec2){pos_tl.x, pos_br.y}, obj, level) ||
collide_pixel((Vec2){pos_br.x, pos_tl.y}, obj, level) ||
collide_pixel((Vec2){middle.x, pos_tl.y}, obj, level) ||
collide_pixel((Vec2){middle.x, pos_br.y}, obj, level) ||
collide_pixel((Vec2){pos_tl.x, middle.y}, obj, level) ||
collide_pixel((Vec2){pos_br.x, middle.y}, obj, level)) {
return 1;
}
return 0;
}
Res_Mov
move(Player player, Level level)
{
/* move the player */
Vec2 moved = {0, 0};
if (player.spd.x == 0 && player.spd.y == 0) {
return (Res_Mov){player, moved};
}
int Ispd_x = player.spd.x;
player.pos.x += Ispd_x;
if (collide(player.pos, 0, 1, level)) {
float sign_x = sign(player.spd.x);
while (collide(player.pos, 0, 1, level) == 1) {
player.pos.x -= sign_x;
}
moved.x = 1;
}
int Ispd_y = player.spd.y;
player.pos.y += Ispd_y;
if (collide(player.pos, 0, 1, level)) {
float sign_y = sign(player.spd.y);
while (collide(player.pos, 0, 1, level) == 1) {
player.pos.y -= sign_y;
}
moved.y = 1;
}
return (Res_Mov){player, moved};
}
Player
player_reset(Player player, Level level)
{
/* reset the level */
player.spawn = search(52, level);
player.pos = player.spawn;
player.spd = (FVec2){0, 0};
return player;
}