diff --git a/.gitignore b/.gitignore
index f8118b0..a28946e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,7 +3,7 @@
/build-cg
/*.g1a
/*.g3a
-*.json
+/*.json
# Python bytecode
__pycache__/
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 44ffaf5..f3aa301 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,12 +24,14 @@ set(SOURCES
src/game.c
src/engine.c
src/animation.c
+ src/character.c
)
set(ASSETS_cg
assets-cg/tileset.png
assets-cg/maps/testCarte.json
assets-cg/spritesheet.png
+ assets-cg/characters/Tituya.char
)
fxconv_declare_assets(${ASSETS} ${ASSETS_fx} ${ASSETS_cg} WITH_METADATA)
diff --git a/assets-cg/__pycache__/converters.cpython-39.pyc b/assets-cg/__pycache__/converters.cpython-39.pyc
index 7741583..2c3f44d 100644
Binary files a/assets-cg/__pycache__/converters.cpython-39.pyc and b/assets-cg/__pycache__/converters.cpython-39.pyc differ
diff --git a/assets-cg/characters/Tituya.char b/assets-cg/characters/Tituya.char
new file mode 100644
index 0000000..36068a1
--- /dev/null
+++ b/assets-cg/characters/Tituya.char
@@ -0,0 +1,4 @@
+39
+30
+Tituya
+Salut ! Ça va bien ? hé
diff --git a/assets-cg/characters/fxconv-metadata.txt b/assets-cg/characters/fxconv-metadata.txt
new file mode 100644
index 0000000..6e6b439
--- /dev/null
+++ b/assets-cg/characters/fxconv-metadata.txt
@@ -0,0 +1,3 @@
+*.char:
+ custom-type: character
+ name_regex: (.*)\.char character_\1
diff --git a/assets-cg/converters.py b/assets-cg/converters.py
index 1518639..01eb6b0 100644
--- a/assets-cg/converters.py
+++ b/assets-cg/converters.py
@@ -5,6 +5,9 @@ def convert(input, output, params, target):
if params["custom-type"] == "map":
convert_map(input, output, params, target)
return 0
+ elif params["custom-type"] == "character":
+ convert_character(input, output, params, target)
+ return 0
else:
return 1
@@ -12,6 +15,7 @@ def convert_map(input, output, params, target):
TILE_AIR = 0
TILE_SOLID = 1
TILE_DOOR = 2
+ TILE_CHARACTER = 3
with open(input, "r") as jsonData:
data = json.load(jsonData)
@@ -34,6 +38,8 @@ def convert_map(input, output, params, target):
value = TILE_SOLID
elif type == "door":
value = TILE_DOOR
+ elif type == "character":
+ value = TILE_CHARACTER
else:
value = TILE_AIR
@@ -65,4 +71,16 @@ def convert_map(input, output, params, target):
else:
raise fxconv.FxconvError(f"There is too much layer ! {nblayer} found for a max of 2")
+ fxconv.elf(o, output, "_" + params["name"], **target)
+
+def convert_character(input, output, params, target):
+ with open(input,"r") as dialog:
+ file = dialog.read().splitlines()
+
+ o = fxconv.ObjectData()
+ o += fxconv.u32((int)(file[0])) + fxconv.u32((int)(file[1]))
+ o += fxconv.ref(bytes(file[2], 'utf-8') + bytes(1))
+ o += fxconv.ref(bytes(file[3], 'utf-8') + bytes(1))
+
+
fxconv.elf(o, output, "_" + params["name"], **target)
\ No newline at end of file
diff --git a/assets-cg/fxconv-metadata.txt b/assets-cg/fxconv-metadata.txt
index 3144da4..0c5f699 100644
--- a/assets-cg/fxconv-metadata.txt
+++ b/assets-cg/fxconv-metadata.txt
@@ -1,8 +1,12 @@
tileset.png:
type: bopti-image
name: img_tileset
- profile:p8
+ profile:p4
spritesheet.png:
type: bopti-image
name: img_spritesheet
+
+dialog.txt:
+ custom-type: dialog
+ name: dialog_1
diff --git a/assets-cg/maps/testCarte.json b/assets-cg/maps/testCarte.json
index 5f55d2d..b0bfff8 100644
--- a/assets-cg/maps/testCarte.json
+++ b/assets-cg/maps/testCarte.json
@@ -15,7 +15,7 @@
"y":0
},
{
- "data":[576, 577, 578, 579, 580, 19, 20, 21, 0, 398, 399, 400, 80, 81, 82, 344, 345, 346, 0, 0, 0, 242, 243, 244, 245, 246, 247, 217, 218, 211, 212, 213, 214, 215, 216, 217, 218, 211, 212, 213, 214, 215, 216, 217, 218, 211, 212, 213, 214, 215, 216, 217, 218, 242, 217, 218, 605, 606, 607, 608, 609, 0, 59, 60, 61, 427, 428, 429, 109, 110, 111, 373, 374, 375, 376, 377, 80, 81, 82, 0, 0, 0, 0, 246, 247, 240, 241, 242, 243, 244, 245, 246, 247, 240, 241, 242, 243, 244, 245, 246, 247, 240, 241, 242, 243, 244, 245, 246, 247, 242, 246, 247, 634, 635, 636, 637, 638, 0, 88, 89, 90, 456, 457, 458, 138, 139, 140, 402, 403, 404, 405, 406, 138, 139, 140, 77, 78, 78, 79, 217, 218, 0, 0, 281, 161, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 664, 665, 666, 667, 0, 117, 118, 119, 485, 486, 487, 19, 20, 21, 431, 432, 433, 434, 435, 13, 0, 0, 106, 0, 10, 108, 246, 247, 0, 0, 281, 190, 191, 0, 159, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 150, 151, 159, 160, 0, 692, 693, 694, 695, 696, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 460, 461, 462, 463, 464, 19, 20, 21, 106, 10, 0, 108, 157, 158, 0, 0, 0, 219, 220, 0, 188, 189, 0, 0, 0, 0, 0, 0, 281, 281, 0, 0, 0, 0, 0, 178, 179, 180, 188, 189, 0, 721, 722, 723, 724, 725, 240, 241, 0, 0, 244, 245, 246, 247, 163, 164, 489, 490, 491, 492, 493, 274, 275, 276, 106, 23, 0, 108, 186, 187, 0, 149, 150, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 0, 0, 0, 0, 0, 207, 208, 209, 0, 0, 0, 750, 751, 0, 753, 754, 593, 594, 595, 596, 0, 0, 0, 0, 192, 193, 518, 519, 520, 521, 522, 303, 304, 305, 106, 0, 0, 108, 217, 218, 0, 178, 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 0, 0, 0, 0, 0, 236, 237, 238, 0, 0, 0, 0, 19, 0, 593, 594, 595, 596, 0, 0, 593, 594, 595, 596, 221, 222, 547, 0, 549, 550, 551, 332, 333, 334, 106, 0, 23, 108, 246, 247, 0, 207, 208, 209, 0, 0, 0, 281, 0, 0, 0, 0, 0, 0, 281, 0, 159, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 15, 21, 19, 14, 18, 19, 19, 14, 15, 19, 18, 13, 21, 0, 19, 677, 0, 361, 362, 363, 135, 136, 136, 137, 243, 185, 0, 236, 237, 238, 0, 0, 0, 281, 0, 0, 0, 0, 0, 0, 281, 0, 188, 189, 0, 0, 0, 0, 281, 281, 0, 0, 0, 0, 19, 0, 0, 0, 0, 281, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 706, 619, 576, 577, 578, 579, 580, 0, 595, 595, 0, 0, 0, 0, 0, 281, 281, 281, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 0, 0, 0, 0, 14, 18, 19, 14, 16, 19, 0, 0, 17, 21, 15, 19, 19, 19, 17, 0, 19, 619, 0, 605, 606, 607, 608, 609, 0, 595, 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 281, 0, 161, 162, 0, 0, 0, 0, 0, 281, 281, 0, 0, 0, 509, 510, 511, 677, 0, 0, 0, 0, 0, 0, 0, 0, 149, 150, 151, 18, 0, 17, 18, 15, 634, 635, 636, 637, 638, 0, 595, 595, 593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 190, 191, 0, 0, 14, 17, 0, 0, 281, 281, 0, 0, 538, 539, 540, 706, 80, 81, 82, 0, 0, 80, 81, 82, 178, 179, 180, 20, 0, 0, 0, 0, 663, 664, 665, 666, 667, 0, 595, 595, 565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 0, 219, 220, 0, 62, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 0, 0, 109, 110, 111, 207, 208, 209, 16, 15, 16, 20, 0, 692, 693, 694, 695, 696, 15, 595, 595, 596, 0, 13, 62, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 91, 92, 93, 0, 535, 0, 0, 0, 0, 0, 19, 20, 21, 109, 110, 111, 0, 0, 109, 110, 111, 236, 237, 238, 19, 20, 21, 20, 0, 721, 722, 723, 724, 725, 0, 595, 595, 594, 0, 17, 91, 92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 21, 0, 120, 121, 122, 0, 535, 0, 268, 269, 270, 500, 501, 502, 535, 109, 110, 111, 0, 0, 109, 110, 111, 0, 18, 500, 501, 502, 0, 18, 0, 750, 751, 752, 753, 754, 0, 595, 595, 564, 0, 18, 120, 121, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 535, 535, 0, 0, 0, 19, 0, 297, 298, 299, 529, 530, 531, 535, 138, 139, 140, 0, 0, 138, 139, 140, 535, 0, 529, 530, 531, 0, 535, 536, 537, 537, 535, 535, 536, 537, 595, 595, 565, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 63, 64, 0, 0, 18, 0, 0, 19, 0, 326, 327, 328, 558, 559, 560, 0, 0, 14, 0, 0, 0, 0, 0, 21, 535, 0, 558, 559, 560, 0, 564, 565, 566, 566, 564, 564, 565, 566, 595, 595, 596, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 92, 93, 0, 0, 14, 14, 18, 13, 14, 355, 356, 357, 587, 588, 589, 19, 21, 15, 0, 0, 0, 0, 0, 19, 0, 15, 587, 588, 589, 0, 593, 594, 595, 595, 593, 593, 594, 595, 595, 595, 536, 0, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, 122, 0, 535, 0, 13, 0, 0, 21, 268, 269, 270, 0, 0, 0, 19, 0, 18, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 594, 537, 593, 595, 593, 535, 593, 535, 595, 268, 269, 270, 0, 62, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 535, 535, 0, 0, 19, 19, 297, 298, 299, 0, 21, 19, 21, 0, 0, 0, 0, 0, 0, 0, 277, 278, 279, 0, 19, 0, 0, 16, 0, 0, 0, 19, 19, 20, 0, 0, 0, 0, 297, 298, 299, 0, 91, 92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 92, 92, 0, 0, 0, 19, 0, 326, 327, 328, 16, 0, 0, 0, 0, 95, 252, 252, 252, 252, 95, 306, 307, 308, 0, 19, 20, 0, 14, 13, 0, 0, 19, 16, 19, 19, 15, 19, 20, 326, 327, 328, 0, 120, 121, 122, 535, 0, 0, 0, 0, 0, 0, 0, 98, 98, 92, 92, 0, 0, 509, 510, 511, 355, 356, 357, 16, 277, 278, 279, 0, 95, 252, 252, 252, 252, 95, 335, 336, 337, 0, 15, 21, 0, 19, 0, 0, 0, 0, 0, 0, 19, 20, 509, 510, 511, 356, 357, 0, 17, 20, 15, 535, 0, 113, 0, 113, 0, 0, 0, 0, 98, 92, 92, 0, 0, 538, 539, 540, 0, 0, 0, 0, 306, 307, 308, 0, 95, 252, 252, 252, 252, 95, 364, 365, 366, 69, 69, 70, 21, 21, 0, 535, 535, 0, 0, 535, 535, 0, 538, 539, 540, 0, 0, 0, 15, 19, 535, 535, 0, 113, 113, 113, 0, 0, 0, 0, 98, 98, 92, 92, 0, 0, 77, 78, 78, 78, 78, 0, 335, 336, 337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 20, 21, 99, 13, 16, 0, 535, 535, 393, 394, 395, 0, 21, 20, 0, 0, 68, 69, 70, 0, 535, 535, 346, 347, 348, 113, 113, 0, 0, 594, 0, 0, 98, 98, 98, 0, 0, 106, 0, 0, 0, 0, 0, 364, 365, 366, 0, 0, 0, 0, 0, 0, 0, 19, 20, 21, 20, 21, 99, 21, 16, 0, 535, 593, 422, 423, 424, 0, 0, 0, 0, 0, 97, 98, 99, 0, 373, 374, 375, 376, 113, 113, 113, 0, 535, 536, 536, 0, 0, 0, 19, 21, 0, 106, 0, 80, 81, 82, 157, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 509, 510, 511, 99, 0, 15, 0, 535, 537, 451, 452, 453, 0, 0, 0, 0, 0, 126, 127, 128, 0, 402, 403, 404, 405, 406, 113, 113, 0, 593, 536, 593, 0, 0, 14, 21, 0, 16, 106, 0, 109, 110, 111, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 538, 539, 540, 99, 0, 19, 0, 535, 536, 480, 481, 482, 0, 0, 0, 0, 0, 20, 0, 0, 0, 431, 432, 433, 434, 435, 113, 113, 13, 536, 535, 535, 0, 0, 15, 19, 19, 16, 106, 0, 138, 139, 140, 19, 20, 21, 0, 0, 0, 595, 594, 535, 536, 537, 565, 0, 0, 0, 0, 99, 0, 20, 0, 595, 595, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 20, 0, 460, 461, 462, 463, 464, 0, 113, 18, 535, 594, 593, 0, 17, 16, 0, 21, 0, 106, 0, 0, 0, 0, 157, 158, 0, 0, 0, 0, 595, 564, 567, 593, 567, 535, 0, 0, 0, 21, 99, 21, 19, 0, 535, 535, 0, 0, 535, 535, 0, 0, 18, 17, 17, 19, 19, 0, 489, 490, 491, 492, 493, 0, 113, 0, 595, 593, 536, 0, 0, 0, 19, 19, 0, 106, 0, 0, 0, 0, 186, 187, 0, 0, 0, 0, 595, 536, 536, 566, 564, 566, 0, 0, 0, 21, 99, 19, 0, 0, 535, 535, 0, 0, 593, 593, 535, 0, 0, 0, 16, 19, 19, 0, 518, 519, 520, 521, 522, 0, 113, 0, 535, 595, 535, 0, 0, 268, 269, 270, 0, 106, 80, 81, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, 596, 595, 0, 0, 0, 21, 99, 0, 0, 0, 0, 0, 0, 0, 535, 595, 535, 0, 0, 0, 13, 0, 0, 0, 547, 548, 549, 550, 551, 0, 0, 0, 536, 595, 594, 0, 0, 297, 298, 299, 0, 106, 109, 110, 111, 0, 18, 14, 278, 279, 0, 0, 0, 0, 0, 596, 537, 535, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 535, 537, 594, 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 594, 594, 595, 0, 16, 326, 327, 328, 535, 106, 138, 139, 140, 0, 0, 306, 307, 308, 0, 0, 0, 0, 0, 594, 596, 566, 0, 0, 0, 0, 95, 393, 394, 395, 0, 0, 0, 0, 535, 535, 536, 595, 535, 535, 535, 535, 535, 535, 535, 535, 537, 537, 535, 593, 537, 595, 594, 595, 0, 0, 535, 355, 356, 357, 535, 106, 0, 0, 0, 0, 0, 335, 336, 337, 0, 0, 0, 0, 0, 567, 567, 566, 0, 0, 0, 0, 99, 422, 423, 424, 0, 0, 0, 0, 0, 535, 535, 593, 536, 593, 536, 535, 537, 596, 593, 593, 593, 535, 535, 535, 535, 268, 269, 270, 268, 269, 535, 268, 269, 270, 535, 135, 136, 136, 136, 136, 0, 364, 365, 366, 0, 0, 0, 0, 0, 596, 593, 593, 0, 0, 0, 0, 99, 451, 452, 453, 0, 0, 20, 0, 0, 14, 17, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 0, 297, 298, 299, 297, 298, 299, 297, 298, 299, 0, 16, 19, 19, 20, 0, 19, 20, 21, 509, 510, 511, 0, 0, 0, 0, 0, 0, 157, 158, 159, 160, 99, 480, 481, 509, 510, 511, 17, 20, 0, 153, 154, 155, 156, 157, 158, 159, 160, 153, 154, 155, 156, 157, 158, 159, 160, 326, 327, 328, 326, 327, 328, 326, 327, 328, 0, 14, 20, 0, 19, 21, 0, 18, 14, 538, 539, 540, 19, 20, 21, 0, 0, 0, 186, 187, 188, 189, 99, 0, 0, 538, 539, 540, 13, 15, 19, 182, 183, 184, 185, 186, 187, 188, 189, 182, 183, 184, 185, 186, 187, 188, 189, 355, 356, 357, 355, 356, 357, 355, 356, 357, 0, 0, 0, 0, 0, 0],
+ "data":[576, 577, 578, 579, 580, 19, 20, 21, 0, 398, 399, 400, 80, 81, 82, 344, 345, 346, 0, 0, 0, 242, 243, 244, 245, 246, 247, 217, 218, 211, 212, 213, 214, 215, 216, 217, 218, 211, 212, 213, 214, 215, 216, 217, 218, 211, 212, 213, 214, 215, 216, 217, 218, 242, 217, 218, 605, 606, 607, 608, 609, 0, 59, 60, 61, 427, 428, 429, 109, 110, 111, 373, 374, 375, 376, 377, 80, 81, 82, 0, 0, 0, 0, 246, 247, 240, 241, 242, 243, 244, 245, 246, 247, 240, 241, 242, 243, 244, 245, 246, 247, 240, 241, 242, 243, 244, 245, 246, 247, 242, 246, 247, 634, 635, 636, 637, 638, 0, 88, 89, 90, 456, 457, 458, 138, 139, 140, 402, 403, 404, 405, 406, 138, 139, 140, 77, 78, 78, 79, 217, 218, 0, 0, 281, 161, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 664, 665, 666, 667, 0, 117, 118, 119, 485, 486, 487, 19, 20, 21, 431, 432, 433, 434, 435, 13, 0, 0, 106, 0, 10, 108, 246, 247, 0, 0, 281, 190, 191, 0, 159, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 150, 151, 159, 160, 0, 692, 693, 694, 695, 696, 211, 212, 0, 0, 215, 216, 217, 218, 0, 0, 460, 461, 462, 463, 464, 19, 20, 21, 106, 10, 0, 108, 157, 158, 0, 0, 0, 219, 220, 0, 188, 189, 0, 0, 0, 0, 0, 0, 281, 281, 0, 0, 0, 0, 0, 178, 179, 180, 188, 189, 0, 721, 722, 723, 724, 725, 240, 241, 0, 0, 244, 245, 246, 247, 163, 164, 489, 490, 491, 492, 493, 274, 275, 276, 106, 23, 0, 108, 186, 187, 0, 149, 150, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 0, 0, 0, 0, 0, 207, 208, 209, 0, 0, 0, 750, 751, 224, 753, 754, 593, 594, 595, 596, 0, 0, 0, 0, 192, 193, 518, 519, 520, 521, 522, 303, 304, 305, 106, 0, 0, 108, 217, 218, 0, 178, 179, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 0, 0, 0, 0, 0, 236, 237, 238, 0, 0, 0, 0, 19, 253, 593, 594, 595, 596, 0, 0, 593, 594, 595, 596, 221, 222, 547, 0, 549, 550, 551, 332, 333, 334, 106, 0, 23, 108, 246, 247, 0, 207, 208, 209, 0, 0, 0, 281, 0, 0, 0, 0, 0, 0, 281, 0, 159, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 15, 21, 19, 14, 18, 19, 19, 14, 15, 19, 18, 13, 21, 0, 19, 677, 0, 361, 362, 363, 135, 136, 136, 137, 243, 185, 0, 236, 237, 238, 0, 0, 0, 281, 0, 0, 0, 0, 0, 0, 281, 0, 188, 189, 0, 0, 0, 0, 281, 281, 0, 0, 0, 0, 19, 0, 0, 0, 0, 281, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 706, 619, 576, 577, 578, 579, 580, 0, 595, 595, 0, 0, 0, 0, 0, 281, 281, 281, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 0, 0, 0, 0, 14, 18, 19, 14, 16, 19, 0, 0, 17, 21, 15, 19, 19, 19, 17, 0, 19, 619, 0, 605, 606, 607, 608, 609, 0, 595, 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 281, 0, 161, 162, 0, 0, 0, 0, 0, 281, 281, 0, 0, 0, 509, 510, 511, 677, 0, 0, 0, 0, 0, 0, 0, 0, 149, 150, 151, 18, 0, 17, 18, 15, 634, 635, 636, 637, 638, 0, 595, 595, 593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 190, 191, 0, 0, 14, 17, 0, 0, 281, 281, 0, 0, 538, 539, 540, 706, 80, 81, 82, 0, 0, 80, 81, 82, 178, 179, 180, 20, 0, 0, 0, 0, 663, 664, 665, 666, 667, 0, 595, 595, 565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 0, 219, 220, 0, 62, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 0, 0, 109, 110, 111, 207, 208, 209, 16, 15, 16, 20, 0, 692, 693, 694, 695, 696, 15, 595, 595, 596, 0, 13, 62, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 91, 92, 93, 0, 535, 0, 0, 0, 0, 0, 19, 20, 21, 109, 110, 111, 0, 0, 109, 110, 111, 236, 237, 238, 19, 20, 21, 20, 0, 721, 722, 723, 724, 725, 0, 595, 595, 594, 0, 17, 91, 92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 21, 0, 120, 121, 122, 0, 535, 0, 268, 269, 270, 500, 501, 502, 535, 109, 110, 111, 0, 0, 109, 110, 111, 0, 18, 500, 501, 502, 0, 18, 0, 750, 751, 752, 753, 754, 0, 595, 595, 564, 0, 18, 120, 121, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 535, 535, 0, 0, 0, 19, 0, 297, 298, 299, 529, 530, 531, 535, 138, 139, 140, 0, 0, 138, 139, 140, 535, 0, 529, 530, 531, 0, 535, 536, 537, 537, 535, 535, 536, 537, 595, 595, 565, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 63, 64, 0, 0, 18, 0, 0, 19, 0, 326, 327, 328, 558, 559, 560, 0, 0, 14, 0, 0, 0, 0, 0, 21, 535, 0, 558, 559, 560, 0, 564, 565, 566, 566, 564, 564, 565, 566, 595, 595, 596, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 92, 93, 0, 0, 14, 14, 18, 13, 14, 355, 356, 357, 587, 588, 589, 19, 21, 15, 0, 0, 0, 0, 0, 19, 0, 15, 587, 588, 589, 0, 593, 594, 595, 595, 593, 593, 594, 595, 595, 595, 536, 0, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 121, 122, 0, 535, 0, 13, 0, 0, 21, 268, 269, 270, 0, 0, 0, 19, 0, 18, 0, 0, 0, 0, 0, 19, 19, 0, 0, 0, 0, 0, 0, 0, 594, 537, 593, 595, 593, 535, 593, 535, 595, 268, 269, 270, 0, 62, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 535, 535, 0, 0, 19, 19, 297, 298, 299, 0, 21, 19, 21, 0, 0, 0, 0, 0, 0, 0, 277, 278, 279, 0, 19, 0, 0, 16, 0, 0, 0, 19, 19, 20, 0, 0, 0, 0, 297, 298, 299, 0, 91, 92, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 92, 92, 0, 0, 0, 19, 0, 326, 327, 328, 16, 0, 0, 0, 0, 95, 252, 252, 252, 252, 95, 306, 307, 308, 0, 19, 20, 0, 14, 13, 0, 0, 19, 16, 19, 19, 15, 19, 20, 326, 327, 328, 0, 120, 121, 122, 535, 0, 0, 0, 0, 0, 0, 0, 98, 98, 92, 92, 0, 0, 509, 510, 511, 355, 356, 357, 16, 277, 278, 279, 0, 95, 252, 252, 252, 252, 95, 335, 336, 337, 0, 15, 21, 0, 19, 0, 0, 0, 0, 0, 0, 19, 20, 509, 510, 511, 356, 357, 0, 17, 20, 15, 535, 0, 113, 0, 113, 0, 0, 0, 0, 98, 92, 92, 0, 0, 538, 539, 540, 0, 0, 0, 0, 306, 307, 308, 0, 95, 252, 252, 252, 252, 95, 364, 365, 366, 69, 69, 70, 21, 21, 0, 535, 535, 0, 0, 535, 535, 0, 538, 539, 540, 0, 0, 0, 15, 19, 535, 535, 0, 113, 113, 113, 0, 0, 0, 0, 98, 98, 92, 92, 0, 0, 77, 78, 78, 78, 78, 0, 335, 336, 337, 0, 0, 224, 0, 0, 0, 0, 0, 0, 19, 20, 21, 99, 13, 16, 0, 535, 535, 393, 394, 395, 0, 21, 20, 0, 0, 68, 69, 70, 0, 535, 535, 346, 347, 348, 113, 113, 0, 0, 594, 0, 0, 98, 98, 98, 0, 0, 106, 0, 0, 0, 0, 0, 364, 365, 366, 0, 0, 253, 0, 0, 0, 0, 19, 20, 21, 20, 21, 99, 21, 16, 0, 535, 593, 422, 423, 424, 0, 0, 0, 0, 0, 97, 98, 99, 0, 373, 374, 375, 376, 113, 113, 113, 0, 535, 536, 536, 0, 0, 0, 19, 21, 0, 106, 0, 80, 81, 82, 157, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 509, 510, 511, 99, 0, 15, 0, 535, 537, 451, 452, 453, 0, 0, 0, 0, 0, 126, 127, 128, 0, 402, 403, 404, 405, 406, 113, 113, 0, 593, 536, 593, 0, 0, 14, 21, 0, 16, 106, 0, 109, 110, 111, 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 538, 539, 540, 99, 0, 19, 0, 535, 536, 480, 481, 482, 0, 0, 0, 0, 0, 20, 0, 0, 0, 431, 432, 433, 434, 435, 113, 113, 13, 536, 535, 535, 0, 0, 15, 19, 19, 16, 106, 0, 138, 139, 140, 19, 20, 21, 0, 0, 0, 595, 594, 535, 536, 537, 565, 0, 0, 0, 0, 99, 0, 20, 0, 595, 595, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 20, 0, 460, 461, 462, 463, 464, 0, 113, 18, 535, 594, 593, 0, 17, 16, 0, 21, 0, 106, 0, 0, 0, 0, 157, 158, 0, 0, 0, 0, 595, 564, 567, 593, 567, 535, 0, 0, 0, 21, 99, 21, 19, 0, 535, 535, 0, 0, 535, 535, 0, 0, 18, 17, 17, 19, 19, 0, 489, 490, 491, 492, 493, 224, 113, 0, 595, 593, 536, 0, 0, 0, 19, 19, 0, 106, 0, 0, 0, 0, 186, 187, 0, 0, 0, 0, 595, 536, 536, 566, 564, 566, 0, 0, 0, 21, 99, 19, 0, 0, 535, 535, 0, 0, 593, 593, 535, 0, 0, 0, 16, 19, 19, 0, 518, 519, 520, 521, 522, 253, 113, 0, 535, 595, 535, 0, 0, 268, 269, 270, 0, 106, 80, 81, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, 596, 595, 0, 0, 0, 21, 99, 0, 0, 0, 0, 0, 0, 0, 535, 595, 535, 0, 0, 0, 13, 0, 0, 0, 547, 548, 549, 550, 551, 0, 0, 0, 536, 595, 594, 0, 0, 297, 298, 299, 0, 106, 109, 110, 111, 0, 18, 14, 278, 279, 0, 0, 0, 0, 0, 596, 537, 535, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 535, 537, 594, 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 594, 594, 595, 0, 16, 326, 327, 328, 535, 106, 138, 139, 140, 0, 0, 306, 307, 308, 0, 0, 0, 0, 0, 594, 596, 566, 0, 0, 0, 0, 95, 393, 394, 395, 0, 0, 0, 0, 535, 535, 536, 595, 535, 535, 535, 535, 535, 535, 535, 535, 537, 537, 535, 593, 537, 595, 594, 595, 0, 0, 535, 355, 356, 357, 535, 106, 0, 0, 0, 0, 0, 335, 336, 337, 0, 0, 0, 0, 0, 567, 567, 566, 0, 0, 0, 0, 99, 422, 423, 424, 0, 0, 0, 0, 0, 535, 535, 593, 536, 593, 536, 535, 537, 596, 593, 593, 593, 535, 535, 535, 535, 268, 269, 270, 268, 269, 535, 268, 269, 270, 535, 135, 136, 136, 136, 136, 0, 364, 365, 366, 0, 0, 0, 0, 0, 596, 593, 593, 0, 0, 0, 0, 99, 451, 452, 453, 0, 0, 20, 0, 0, 14, 17, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 0, 297, 298, 299, 297, 298, 299, 297, 298, 299, 0, 16, 19, 19, 20, 0, 19, 20, 21, 509, 510, 511, 0, 0, 0, 0, 0, 0, 157, 158, 159, 160, 99, 480, 481, 509, 510, 511, 17, 20, 0, 153, 154, 155, 156, 157, 158, 159, 160, 153, 154, 155, 156, 157, 158, 159, 160, 326, 327, 328, 326, 327, 328, 326, 327, 328, 0, 14, 20, 0, 19, 21, 0, 18, 14, 538, 539, 540, 19, 20, 21, 0, 0, 0, 186, 187, 188, 189, 99, 0, 0, 538, 539, 540, 13, 15, 19, 182, 183, 184, 185, 186, 187, 188, 189, 182, 183, 184, 185, 186, 187, 188, 189, 355, 356, 357, 355, 356, 357, 355, 356, 357, 0, 0, 0, 0, 0, 0],
"height":38,
"id":1,
"name":"2",
diff --git a/assets-cg/maps/testCarte.tmx b/assets-cg/maps/testCarte.tmx
index a64d08e..303a648 100644
--- a/assets-cg/maps/testCarte.tmx
+++ b/assets-cg/maps/testCarte.tmx
@@ -54,8 +54,8 @@
663,664,665,666,667,0,117,118,119,485,486,487,19,20,21,431,432,433,434,435,13,0,0,106,0,10,108,246,247,0,0,281,190,191,0,159,160,0,0,0,0,0,0,0,0,0,0,0,0,0,149,150,151,159,160,0,
692,693,694,695,696,211,212,0,0,215,216,217,218,0,0,460,461,462,463,464,19,20,21,106,10,0,108,157,158,0,0,0,219,220,0,188,189,0,0,0,0,0,0,281,281,0,0,0,0,0,178,179,180,188,189,0,
721,722,723,724,725,240,241,0,0,244,245,246,247,163,164,489,490,491,492,493,274,275,276,106,23,0,108,186,187,0,149,150,151,0,0,0,0,0,0,0,0,0,0,281,0,0,0,0,0,0,207,208,209,0,0,0,
-750,751,0,753,754,593,594,595,596,0,0,0,0,192,193,518,519,520,521,522,303,304,305,106,0,0,108,217,218,0,178,179,180,0,0,0,0,0,0,0,0,0,0,281,0,0,0,0,0,0,236,237,238,0,0,0,
-0,19,0,593,594,595,596,0,0,593,594,595,596,221,222,547,0,549,550,551,332,333,334,106,0,23,108,246,247,0,207,208,209,0,0,0,281,0,0,0,0,0,0,281,0,159,160,0,0,0,0,0,0,0,0,0,
+750,751,224,753,754,593,594,595,596,0,0,0,0,192,193,518,519,520,521,522,303,304,305,106,0,0,108,217,218,0,178,179,180,0,0,0,0,0,0,0,0,0,0,281,0,0,0,0,0,0,236,237,238,0,0,0,
+0,19,253,593,594,595,596,0,0,593,594,595,596,221,222,547,0,549,550,551,332,333,334,106,0,23,108,246,247,0,207,208,209,0,0,0,281,0,0,0,0,0,0,281,0,159,160,0,0,0,0,0,0,0,0,0,
0,16,0,15,21,19,14,18,19,19,14,15,19,18,13,21,0,19,677,0,361,362,363,135,136,136,137,243,185,0,236,237,238,0,0,0,281,0,0,0,0,0,0,281,0,188,189,0,0,0,0,281,281,0,0,0,
0,19,0,0,0,0,281,281,0,0,0,0,0,0,0,0,0,16,706,619,576,577,578,579,580,0,595,595,0,0,0,0,0,281,281,281,281,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,0,0,0,0,
0,14,18,19,14,16,19,0,0,17,21,15,19,19,19,17,0,19,619,0,605,606,607,608,609,0,595,595,0,0,0,0,0,0,0,0,0,0,0,0,0,281,281,0,161,162,0,0,0,0,0,281,281,0,0,0,
@@ -72,13 +72,13 @@
16,0,0,0,0,95,252,252,252,252,95,306,307,308,0,19,20,0,14,13,0,0,19,16,19,19,15,19,20,326,327,328,0,120,121,122,535,0,0,0,0,0,0,0,98,98,92,92,0,0,509,510,511,355,356,357,
16,277,278,279,0,95,252,252,252,252,95,335,336,337,0,15,21,0,19,0,0,0,0,0,0,19,20,509,510,511,356,357,0,17,20,15,535,0,113,0,113,0,0,0,0,98,92,92,0,0,538,539,540,0,0,0,
0,306,307,308,0,95,252,252,252,252,95,364,365,366,69,69,70,21,21,0,535,535,0,0,535,535,0,538,539,540,0,0,0,15,19,535,535,0,113,113,113,0,0,0,0,98,98,92,92,0,0,77,78,78,78,78,
-0,335,336,337,0,0,0,0,0,0,0,0,0,19,20,21,99,13,16,0,535,535,393,394,395,0,21,20,0,0,68,69,70,0,535,535,346,347,348,113,113,0,0,594,0,0,98,98,98,0,0,106,0,0,0,0,
-0,364,365,366,0,0,0,0,0,0,0,19,20,21,20,21,99,21,16,0,535,593,422,423,424,0,0,0,0,0,97,98,99,0,373,374,375,376,113,113,113,0,535,536,536,0,0,0,19,21,0,106,0,80,81,82,
+0,335,336,337,0,0,224,0,0,0,0,0,0,19,20,21,99,13,16,0,535,535,393,394,395,0,21,20,0,0,68,69,70,0,535,535,346,347,348,113,113,0,0,594,0,0,98,98,98,0,0,106,0,0,0,0,
+0,364,365,366,0,0,253,0,0,0,0,19,20,21,20,21,99,21,16,0,535,593,422,423,424,0,0,0,0,0,97,98,99,0,373,374,375,376,113,113,113,0,535,536,536,0,0,0,19,21,0,106,0,80,81,82,
157,158,0,0,0,0,0,0,0,0,0,0,0,509,510,511,99,0,15,0,535,537,451,452,453,0,0,0,0,0,126,127,128,0,402,403,404,405,406,113,113,0,593,536,593,0,0,14,21,0,16,106,0,109,110,111,
186,187,0,0,0,0,0,0,0,0,0,0,0,538,539,540,99,0,19,0,535,536,480,481,482,0,0,0,0,0,20,0,0,0,431,432,433,434,435,113,113,13,536,535,535,0,0,15,19,19,16,106,0,138,139,140,
19,20,21,0,0,0,595,594,535,536,537,565,0,0,0,0,99,0,20,0,595,595,0,0,0,0,0,0,0,0,19,19,20,0,460,461,462,463,464,0,113,18,535,594,593,0,17,16,0,21,0,106,0,0,0,0,
-157,158,0,0,0,0,595,564,567,593,567,535,0,0,0,21,99,21,19,0,535,535,0,0,535,535,0,0,18,17,17,19,19,0,489,490,491,492,493,0,113,0,595,593,536,0,0,0,19,19,0,106,0,0,0,0,
-186,187,0,0,0,0,595,536,536,566,564,566,0,0,0,21,99,19,0,0,535,535,0,0,593,593,535,0,0,0,16,19,19,0,518,519,520,521,522,0,113,0,535,595,535,0,0,268,269,270,0,106,80,81,82,0,
+157,158,0,0,0,0,595,564,567,593,567,535,0,0,0,21,99,21,19,0,535,535,0,0,535,535,0,0,18,17,17,19,19,0,489,490,491,492,493,224,113,0,595,593,536,0,0,0,19,19,0,106,0,0,0,0,
+186,187,0,0,0,0,595,536,536,566,564,566,0,0,0,21,99,19,0,0,535,535,0,0,593,593,535,0,0,0,16,19,19,0,518,519,520,521,522,253,113,0,535,595,535,0,0,268,269,270,0,106,80,81,82,0,
0,0,0,0,0,0,0,0,0,564,596,595,0,0,0,21,99,0,0,0,0,0,0,0,535,595,535,0,0,0,13,0,0,0,547,548,549,550,551,0,0,0,536,595,594,0,0,297,298,299,0,106,109,110,111,0,
18,14,278,279,0,0,0,0,0,596,537,535,0,0,0,0,95,0,0,0,0,0,0,0,535,537,594,535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,594,594,595,0,16,326,327,328,535,106,138,139,140,0,
0,306,307,308,0,0,0,0,0,594,596,566,0,0,0,0,95,393,394,395,0,0,0,0,535,535,536,595,535,535,535,535,535,535,535,535,537,537,535,593,537,595,594,595,0,0,535,355,356,357,535,106,0,0,0,0,
diff --git a/assets-cg/maps/tileset.json b/assets-cg/maps/tileset.json
new file mode 100644
index 0000000..498796a
--- /dev/null
+++ b/assets-cg/maps/tileset.json
@@ -0,0 +1,1631 @@
+{ "columns":29,
+ "image":"..\/tileset.png",
+ "imageheight":416,
+ "imagewidth":464,
+ "margin":0,
+ "name":"tileset",
+ "spacing":0,
+ "tilecount":754,
+ "tiledversion":"1.7.1",
+ "tileheight":16,
+ "tiles":[
+ {
+ "id":18,
+ "probability":5
+ },
+ {
+ "id":145,
+ "type":"solid"
+ },
+ {
+ "id":146,
+ "type":"solid"
+ },
+ {
+ "id":147,
+ "type":"solid"
+ },
+ {
+ "id":148,
+ "type":"solid"
+ },
+ {
+ "id":149,
+ "type":"solid"
+ },
+ {
+ "id":150,
+ "type":"solid"
+ },
+ {
+ "id":160,
+ "type":"solid"
+ },
+ {
+ "id":161,
+ "type":"solid"
+ },
+ {
+ "id":162,
+ "type":"solid"
+ },
+ {
+ "id":163,
+ "type":"solid"
+ },
+ {
+ "id":174,
+ "type":"solid"
+ },
+ {
+ "id":175,
+ "type":"solid"
+ },
+ {
+ "id":176,
+ "type":"solid"
+ },
+ {
+ "id":177,
+ "type":"solid"
+ },
+ {
+ "id":178,
+ "type":"solid"
+ },
+ {
+ "id":179,
+ "type":"solid"
+ },
+ {
+ "id":189,
+ "type":"solid"
+ },
+ {
+ "id":190,
+ "type":"solid"
+ },
+ {
+ "id":191,
+ "type":"solid"
+ },
+ {
+ "id":192,
+ "type":"solid"
+ },
+ {
+ "id":203,
+ "type":"solid"
+ },
+ {
+ "id":204,
+ "type":"solid"
+ },
+ {
+ "id":205,
+ "type":"solid"
+ },
+ {
+ "id":206,
+ "type":"solid"
+ },
+ {
+ "id":207,
+ "type":"solid"
+ },
+ {
+ "id":208,
+ "type":"solid"
+ },
+ {
+ "id":210,
+ "type":"solid"
+ },
+ {
+ "id":211,
+ "type":"solid"
+ },
+ {
+ "id":214,
+ "type":"solid"
+ },
+ {
+ "id":215,
+ "type":"solid"
+ },
+ {
+ "id":216,
+ "type":"solid"
+ },
+ {
+ "id":217,
+ "type":"solid"
+ },
+ {
+ "id":218,
+ "type":"solid"
+ },
+ {
+ "id":219,
+ "type":"solid"
+ },
+ {
+ "id":220,
+ "type":"solid"
+ },
+ {
+ "id":221,
+ "type":"solid"
+ },
+ {
+ "id":232,
+ "type":"solid"
+ },
+ {
+ "id":233,
+ "type":"solid"
+ },
+ {
+ "id":234,
+ "type":"solid"
+ },
+ {
+ "id":235,
+ "type":"solid"
+ },
+ {
+ "id":236,
+ "type":"solid"
+ },
+ {
+ "id":237,
+ "type":"solid"
+ },
+ {
+ "id":239,
+ "type":"solid"
+ },
+ {
+ "id":240,
+ "type":"solid"
+ },
+ {
+ "id":241,
+ "type":"solid"
+ },
+ {
+ "id":242,
+ "type":"solid"
+ },
+ {
+ "id":243,
+ "type":"solid"
+ },
+ {
+ "id":244,
+ "type":"solid"
+ },
+ {
+ "id":245,
+ "type":"solid"
+ },
+ {
+ "id":246,
+ "type":"solid"
+ },
+ {
+ "id":252,
+ "type":"character"
+ },
+ {
+ "id":261,
+ "type":"solid"
+ },
+ {
+ "id":262,
+ "type":"solid"
+ },
+ {
+ "id":263,
+ "type":"solid"
+ },
+ {
+ "id":264,
+ "type":"solid"
+ },
+ {
+ "id":265,
+ "type":"solid"
+ },
+ {
+ "id":266,
+ "type":"solid"
+ },
+ {
+ "id":267,
+ "type":"solid"
+ },
+ {
+ "id":268,
+ "type":"solid"
+ },
+ {
+ "id":269,
+ "type":"solid"
+ },
+ {
+ "id":270,
+ "type":"solid"
+ },
+ {
+ "id":271,
+ "type":"solid"
+ },
+ {
+ "id":272,
+ "type":"solid"
+ },
+ {
+ "id":273,
+ "type":"solid"
+ },
+ {
+ "id":274,
+ "type":"solid"
+ },
+ {
+ "id":275,
+ "type":"solid"
+ },
+ {
+ "id":276,
+ "type":"solid"
+ },
+ {
+ "id":277,
+ "type":"solid"
+ },
+ {
+ "id":278,
+ "type":"solid"
+ },
+ {
+ "id":290,
+ "type":"solid"
+ },
+ {
+ "id":291,
+ "type":"solid"
+ },
+ {
+ "id":292,
+ "type":"solid"
+ },
+ {
+ "id":293,
+ "type":"solid"
+ },
+ {
+ "id":294,
+ "type":"solid"
+ },
+ {
+ "id":295,
+ "type":"solid"
+ },
+ {
+ "id":296,
+ "type":"solid"
+ },
+ {
+ "id":297,
+ "type":"solid"
+ },
+ {
+ "id":298,
+ "type":"solid"
+ },
+ {
+ "id":299,
+ "type":"solid"
+ },
+ {
+ "id":300,
+ "type":"solid"
+ },
+ {
+ "id":301,
+ "type":"solid"
+ },
+ {
+ "id":302,
+ "type":"solid"
+ },
+ {
+ "id":303,
+ "type":"solid"
+ },
+ {
+ "id":304,
+ "type":"solid"
+ },
+ {
+ "id":305,
+ "type":"solid"
+ },
+ {
+ "id":306,
+ "type":"solid"
+ },
+ {
+ "id":307,
+ "type":"solid"
+ },
+ {
+ "id":319,
+ "type":"solid"
+ },
+ {
+ "id":320,
+ "type":"solid"
+ },
+ {
+ "id":321,
+ "type":"solid"
+ },
+ {
+ "id":322,
+ "type":"solid"
+ },
+ {
+ "id":323,
+ "type":"solid"
+ },
+ {
+ "id":324,
+ "type":"solid"
+ },
+ {
+ "id":325,
+ "type":"solid"
+ },
+ {
+ "id":326,
+ "type":"solid"
+ },
+ {
+ "id":327,
+ "type":"solid"
+ },
+ {
+ "id":328,
+ "type":"solid"
+ },
+ {
+ "id":329,
+ "type":"solid"
+ },
+ {
+ "id":330,
+ "type":"solid"
+ },
+ {
+ "id":331,
+ "type":"solid"
+ },
+ {
+ "id":332,
+ "type":"solid"
+ },
+ {
+ "id":333,
+ "type":"solid"
+ },
+ {
+ "id":334,
+ "type":"solid"
+ },
+ {
+ "id":335,
+ "type":"solid"
+ },
+ {
+ "id":336,
+ "type":"solid"
+ },
+ {
+ "id":345,
+ "type":"solid"
+ },
+ {
+ "id":348,
+ "type":"solid"
+ },
+ {
+ "id":349,
+ "type":"solid"
+ },
+ {
+ "id":350,
+ "type":"solid"
+ },
+ {
+ "id":351,
+ "type":"solid"
+ },
+ {
+ "id":352,
+ "type":"solid"
+ },
+ {
+ "id":353,
+ "type":"solid"
+ },
+ {
+ "id":354,
+ "type":"solid"
+ },
+ {
+ "id":355,
+ "type":"solid"
+ },
+ {
+ "id":356,
+ "type":"solid"
+ },
+ {
+ "id":357,
+ "type":"solid"
+ },
+ {
+ "id":358,
+ "type":"solid"
+ },
+ {
+ "id":359,
+ "type":"solid"
+ },
+ {
+ "id":360,
+ "type":"solid"
+ },
+ {
+ "id":361,
+ "type":"solid"
+ },
+ {
+ "id":362,
+ "type":"solid"
+ },
+ {
+ "id":363,
+ "type":"solid"
+ },
+ {
+ "id":364,
+ "type":"solid"
+ },
+ {
+ "id":365,
+ "type":"solid"
+ },
+ {
+ "id":373,
+ "type":"solid"
+ },
+ {
+ "id":374,
+ "type":"solid"
+ },
+ {
+ "id":375,
+ "type":"solid"
+ },
+ {
+ "id":377,
+ "type":"solid"
+ },
+ {
+ "id":378,
+ "type":"solid"
+ },
+ {
+ "id":379,
+ "type":"solid"
+ },
+ {
+ "id":380,
+ "type":"solid"
+ },
+ {
+ "id":381,
+ "type":"solid"
+ },
+ {
+ "id":382,
+ "type":"solid"
+ },
+ {
+ "id":383,
+ "type":"solid"
+ },
+ {
+ "id":384,
+ "type":"solid"
+ },
+ {
+ "id":385,
+ "type":"solid"
+ },
+ {
+ "id":386,
+ "type":"solid"
+ },
+ {
+ "id":387,
+ "type":"solid"
+ },
+ {
+ "id":388,
+ "type":"solid"
+ },
+ {
+ "id":389,
+ "type":"solid"
+ },
+ {
+ "id":390,
+ "type":"solid"
+ },
+ {
+ "id":391,
+ "type":"solid"
+ },
+ {
+ "id":392,
+ "type":"solid"
+ },
+ {
+ "id":393,
+ "type":"solid"
+ },
+ {
+ "id":394,
+ "type":"solid"
+ },
+ {
+ "id":401,
+ "type":"solid"
+ },
+ {
+ "id":402,
+ "type":"solid"
+ },
+ {
+ "id":403,
+ "type":"solid"
+ },
+ {
+ "id":404,
+ "type":"solid"
+ },
+ {
+ "id":405,
+ "type":"solid"
+ },
+ {
+ "id":406,
+ "type":"solid"
+ },
+ {
+ "id":407,
+ "type":"solid"
+ },
+ {
+ "id":408,
+ "type":"solid"
+ },
+ {
+ "id":409,
+ "type":"solid"
+ },
+ {
+ "id":410,
+ "type":"solid"
+ },
+ {
+ "id":411,
+ "type":"solid"
+ },
+ {
+ "id":412,
+ "type":"solid"
+ },
+ {
+ "id":413,
+ "type":"solid"
+ },
+ {
+ "id":414,
+ "type":"solid"
+ },
+ {
+ "id":415,
+ "type":"solid"
+ },
+ {
+ "id":416,
+ "type":"solid"
+ },
+ {
+ "id":417,
+ "type":"solid"
+ },
+ {
+ "id":418,
+ "type":"solid"
+ },
+ {
+ "id":419,
+ "type":"solid"
+ },
+ {
+ "id":420,
+ "type":"solid"
+ },
+ {
+ "id":421,
+ "type":"solid"
+ },
+ {
+ "id":422,
+ "type":"solid"
+ },
+ {
+ "id":423,
+ "type":"solid"
+ },
+ {
+ "id":426,
+ "type":"solid"
+ },
+ {
+ "id":427,
+ "type":"solid"
+ },
+ {
+ "id":428,
+ "type":"solid"
+ },
+ {
+ "id":430,
+ "type":"solid"
+ },
+ {
+ "id":431,
+ "type":"solid"
+ },
+ {
+ "id":432,
+ "type":"solid"
+ },
+ {
+ "id":433,
+ "type":"solid"
+ },
+ {
+ "id":434,
+ "type":"solid"
+ },
+ {
+ "id":435,
+ "type":"solid"
+ },
+ {
+ "id":436,
+ "type":"solid"
+ },
+ {
+ "id":437,
+ "type":"solid"
+ },
+ {
+ "id":438,
+ "type":"solid"
+ },
+ {
+ "id":439,
+ "type":"solid"
+ },
+ {
+ "id":440,
+ "type":"solid"
+ },
+ {
+ "id":441,
+ "type":"solid"
+ },
+ {
+ "id":442,
+ "type":"solid"
+ },
+ {
+ "id":443,
+ "type":"solid"
+ },
+ {
+ "id":444,
+ "type":"solid"
+ },
+ {
+ "id":445,
+ "type":"solid"
+ },
+ {
+ "id":446,
+ "type":"solid"
+ },
+ {
+ "id":447,
+ "type":"solid"
+ },
+ {
+ "id":448,
+ "type":"solid"
+ },
+ {
+ "id":449,
+ "type":"solid"
+ },
+ {
+ "id":450,
+ "type":"solid"
+ },
+ {
+ "id":451,
+ "type":"solid"
+ },
+ {
+ "id":452,
+ "type":"solid"
+ },
+ {
+ "id":455,
+ "type":"solid"
+ },
+ {
+ "id":456,
+ "type":"solid"
+ },
+ {
+ "id":457,
+ "type":"solid"
+ },
+ {
+ "id":459,
+ "type":"solid"
+ },
+ {
+ "id":460,
+ "type":"solid"
+ },
+ {
+ "id":461,
+ "type":"solid"
+ },
+ {
+ "id":462,
+ "type":"solid"
+ },
+ {
+ "id":463,
+ "type":"solid"
+ },
+ {
+ "id":464,
+ "type":"solid"
+ },
+ {
+ "id":465,
+ "type":"solid"
+ },
+ {
+ "id":466,
+ "type":"solid"
+ },
+ {
+ "id":467,
+ "type":"solid"
+ },
+ {
+ "id":468,
+ "type":"solid"
+ },
+ {
+ "id":469,
+ "type":"solid"
+ },
+ {
+ "id":470,
+ "type":"solid"
+ },
+ {
+ "id":471,
+ "type":"solid"
+ },
+ {
+ "id":472,
+ "type":"solid"
+ },
+ {
+ "id":473,
+ "type":"solid"
+ },
+ {
+ "id":474,
+ "type":"solid"
+ },
+ {
+ "id":475,
+ "type":"solid"
+ },
+ {
+ "id":476,
+ "type":"solid"
+ },
+ {
+ "id":477,
+ "type":"solid"
+ },
+ {
+ "id":478,
+ "type":"solid"
+ },
+ {
+ "id":479,
+ "type":"solid"
+ },
+ {
+ "id":480,
+ "type":"solid"
+ },
+ {
+ "id":481,
+ "type":"solid"
+ },
+ {
+ "id":484,
+ "type":"solid"
+ },
+ {
+ "id":485,
+ "type":"solid"
+ },
+ {
+ "id":486,
+ "type":"solid"
+ },
+ {
+ "id":488,
+ "type":"solid"
+ },
+ {
+ "id":489,
+ "type":"solid"
+ },
+ {
+ "id":490,
+ "type":"solid"
+ },
+ {
+ "id":491,
+ "type":"solid"
+ },
+ {
+ "id":492,
+ "type":"solid"
+ },
+ {
+ "id":493,
+ "type":"solid"
+ },
+ {
+ "id":494,
+ "type":"solid"
+ },
+ {
+ "id":495,
+ "type":"solid"
+ },
+ {
+ "id":496,
+ "type":"solid"
+ },
+ {
+ "id":497,
+ "type":"solid"
+ },
+ {
+ "id":498,
+ "type":"solid"
+ },
+ {
+ "id":499,
+ "type":"solid"
+ },
+ {
+ "id":500,
+ "type":"solid"
+ },
+ {
+ "id":501,
+ "type":"solid"
+ },
+ {
+ "id":502,
+ "type":"solid"
+ },
+ {
+ "id":503,
+ "type":"solid"
+ },
+ {
+ "id":504,
+ "type":"solid"
+ },
+ {
+ "id":517,
+ "type":"solid"
+ },
+ {
+ "id":518,
+ "type":"door"
+ },
+ {
+ "id":519,
+ "type":"solid"
+ },
+ {
+ "id":520,
+ "type":"solid"
+ },
+ {
+ "id":521,
+ "type":"solid"
+ },
+ {
+ "id":522,
+ "type":"solid"
+ },
+ {
+ "id":523,
+ "type":"solid"
+ },
+ {
+ "id":524,
+ "type":"solid"
+ },
+ {
+ "id":525,
+ "type":"solid"
+ },
+ {
+ "id":526,
+ "type":"solid"
+ },
+ {
+ "id":527,
+ "type":"solid"
+ },
+ {
+ "id":528,
+ "type":"solid"
+ },
+ {
+ "id":529,
+ "type":"solid"
+ },
+ {
+ "id":530,
+ "type":"solid"
+ },
+ {
+ "id":531,
+ "type":"solid"
+ },
+ {
+ "id":532,
+ "type":"solid"
+ },
+ {
+ "id":533,
+ "type":"solid"
+ },
+ {
+ "id":542,
+ "type":"solid"
+ },
+ {
+ "id":543,
+ "type":"solid"
+ },
+ {
+ "id":544,
+ "type":"solid"
+ },
+ {
+ "id":551,
+ "type":"solid"
+ },
+ {
+ "id":552,
+ "type":"solid"
+ },
+ {
+ "id":553,
+ "type":"solid"
+ },
+ {
+ "id":554,
+ "type":"solid"
+ },
+ {
+ "id":555,
+ "type":"solid"
+ },
+ {
+ "id":556,
+ "type":"solid"
+ },
+ {
+ "id":557,
+ "type":"solid"
+ },
+ {
+ "id":558,
+ "type":"solid"
+ },
+ {
+ "id":559,
+ "type":"solid"
+ },
+ {
+ "id":560,
+ "type":"solid"
+ },
+ {
+ "id":561,
+ "type":"solid"
+ },
+ {
+ "id":562,
+ "type":"solid"
+ },
+ {
+ "id":571,
+ "type":"solid"
+ },
+ {
+ "id":572,
+ "type":"solid"
+ },
+ {
+ "id":573,
+ "type":"solid"
+ },
+ {
+ "id":575,
+ "type":"solid"
+ },
+ {
+ "id":576,
+ "type":"solid"
+ },
+ {
+ "id":577,
+ "type":"solid"
+ },
+ {
+ "id":578,
+ "type":"solid"
+ },
+ {
+ "id":579,
+ "type":"solid"
+ },
+ {
+ "id":580,
+ "type":"solid"
+ },
+ {
+ "id":581,
+ "type":"solid"
+ },
+ {
+ "id":582,
+ "type":"solid"
+ },
+ {
+ "id":583,
+ "type":"solid"
+ },
+ {
+ "id":584,
+ "type":"solid"
+ },
+ {
+ "id":585,
+ "type":"solid"
+ },
+ {
+ "id":586,
+ "type":"solid"
+ },
+ {
+ "id":587,
+ "type":"solid"
+ },
+ {
+ "id":588,
+ "type":"solid"
+ },
+ {
+ "id":589,
+ "type":"solid"
+ },
+ {
+ "id":590,
+ "type":"solid"
+ },
+ {
+ "id":591,
+ "type":"solid"
+ },
+ {
+ "id":600,
+ "type":"solid"
+ },
+ {
+ "id":601,
+ "type":"solid"
+ },
+ {
+ "id":602,
+ "type":"solid"
+ },
+ {
+ "id":604,
+ "type":"solid"
+ },
+ {
+ "id":605,
+ "type":"solid"
+ },
+ {
+ "id":606,
+ "type":"solid"
+ },
+ {
+ "id":607,
+ "type":"solid"
+ },
+ {
+ "id":608,
+ "type":"solid"
+ },
+ {
+ "id":609,
+ "type":"solid"
+ },
+ {
+ "id":610,
+ "type":"solid"
+ },
+ {
+ "id":611,
+ "type":"solid"
+ },
+ {
+ "id":612,
+ "type":"solid"
+ },
+ {
+ "id":613,
+ "type":"solid"
+ },
+ {
+ "id":614,
+ "type":"solid"
+ },
+ {
+ "id":619,
+ "type":"solid"
+ },
+ {
+ "id":620,
+ "type":"solid"
+ },
+ {
+ "id":621,
+ "type":"solid"
+ },
+ {
+ "id":622,
+ "type":"solid"
+ },
+ {
+ "id":623,
+ "type":"solid"
+ },
+ {
+ "id":624,
+ "type":"solid"
+ },
+ {
+ "id":625,
+ "type":"solid"
+ },
+ {
+ "id":626,
+ "type":"solid"
+ },
+ {
+ "id":627,
+ "type":"solid"
+ },
+ {
+ "id":629,
+ "type":"solid"
+ },
+ {
+ "id":630,
+ "type":"solid"
+ },
+ {
+ "id":631,
+ "type":"solid"
+ },
+ {
+ "id":633,
+ "type":"solid"
+ },
+ {
+ "id":634,
+ "type":"solid"
+ },
+ {
+ "id":635,
+ "type":"solid"
+ },
+ {
+ "id":636,
+ "type":"solid"
+ },
+ {
+ "id":637,
+ "type":"solid"
+ },
+ {
+ "id":638,
+ "type":"solid"
+ },
+ {
+ "id":639,
+ "type":"solid"
+ },
+ {
+ "id":640,
+ "type":"solid"
+ },
+ {
+ "id":641,
+ "type":"solid"
+ },
+ {
+ "id":642,
+ "type":"solid"
+ },
+ {
+ "id":643,
+ "type":"solid"
+ },
+ {
+ "id":648,
+ "type":"solid"
+ },
+ {
+ "id":649,
+ "type":"solid"
+ },
+ {
+ "id":650,
+ "type":"solid"
+ },
+ {
+ "id":651,
+ "type":"solid"
+ },
+ {
+ "id":652,
+ "type":"solid"
+ },
+ {
+ "id":653,
+ "type":"solid"
+ },
+ {
+ "id":654,
+ "type":"solid"
+ },
+ {
+ "id":655,
+ "type":"solid"
+ },
+ {
+ "id":656,
+ "type":"solid"
+ },
+ {
+ "id":662,
+ "type":"solid"
+ },
+ {
+ "id":663,
+ "type":"solid"
+ },
+ {
+ "id":664,
+ "type":"solid"
+ },
+ {
+ "id":665,
+ "type":"solid"
+ },
+ {
+ "id":666,
+ "type":"solid"
+ },
+ {
+ "id":667,
+ "type":"solid"
+ },
+ {
+ "id":668,
+ "type":"solid"
+ },
+ {
+ "id":669,
+ "type":"solid"
+ },
+ {
+ "id":670,
+ "type":"solid"
+ },
+ {
+ "id":671,
+ "type":"solid"
+ },
+ {
+ "id":672,
+ "type":"solid"
+ },
+ {
+ "id":676,
+ "type":"solid"
+ },
+ {
+ "id":677,
+ "type":"solid"
+ },
+ {
+ "id":678,
+ "type":"solid"
+ },
+ {
+ "id":679,
+ "type":"solid"
+ },
+ {
+ "id":680,
+ "type":"solid"
+ },
+ {
+ "id":681,
+ "type":"solid"
+ },
+ {
+ "id":682,
+ "type":"solid"
+ },
+ {
+ "id":683,
+ "type":"solid"
+ },
+ {
+ "id":684,
+ "type":"solid"
+ },
+ {
+ "id":685,
+ "type":"solid"
+ },
+ {
+ "id":687,
+ "type":"solid"
+ },
+ {
+ "id":688,
+ "type":"solid"
+ },
+ {
+ "id":689,
+ "type":"solid"
+ },
+ {
+ "id":691,
+ "type":"solid"
+ },
+ {
+ "id":692,
+ "type":"solid"
+ },
+ {
+ "id":693,
+ "type":"solid"
+ },
+ {
+ "id":694,
+ "type":"solid"
+ },
+ {
+ "id":695,
+ "type":"solid"
+ },
+ {
+ "id":696,
+ "type":"solid"
+ },
+ {
+ "id":697,
+ "type":"solid"
+ },
+ {
+ "id":698,
+ "type":"solid"
+ },
+ {
+ "id":699,
+ "type":"solid"
+ },
+ {
+ "id":700,
+ "type":"solid"
+ },
+ {
+ "id":701,
+ "type":"solid"
+ },
+ {
+ "id":705,
+ "type":"solid"
+ },
+ {
+ "id":706,
+ "type":"solid"
+ },
+ {
+ "id":707,
+ "type":"solid"
+ },
+ {
+ "id":708,
+ "type":"solid"
+ },
+ {
+ "id":709,
+ "type":"solid"
+ },
+ {
+ "id":710,
+ "type":"solid"
+ },
+ {
+ "id":711,
+ "type":"solid"
+ },
+ {
+ "id":712,
+ "type":"solid"
+ },
+ {
+ "id":713,
+ "type":"solid"
+ },
+ {
+ "id":714,
+ "type":"solid"
+ },
+ {
+ "id":716,
+ "type":"solid"
+ },
+ {
+ "id":717,
+ "type":"solid"
+ },
+ {
+ "id":718,
+ "type":"solid"
+ },
+ {
+ "id":720,
+ "type":"solid"
+ },
+ {
+ "id":721,
+ "type":"solid"
+ },
+ {
+ "id":722,
+ "type":"door"
+ },
+ {
+ "id":723,
+ "type":"solid"
+ },
+ {
+ "id":724,
+ "type":"solid"
+ },
+ {
+ "id":735,
+ "type":"solid"
+ },
+ {
+ "id":736,
+ "type":"solid"
+ },
+ {
+ "id":737,
+ "type":"solid"
+ },
+ {
+ "id":738,
+ "type":"solid"
+ },
+ {
+ "id":739,
+ "type":"solid"
+ },
+ {
+ "id":740,
+ "type":"solid"
+ },
+ {
+ "id":741,
+ "type":"solid"
+ },
+ {
+ "id":742,
+ "type":"solid"
+ },
+ {
+ "id":743,
+ "type":"solid"
+ },
+ {
+ "id":745,
+ "type":"solid"
+ },
+ {
+ "id":746,
+ "type":"solid"
+ },
+ {
+ "id":747,
+ "type":"solid"
+ }],
+ "tilewidth":16,
+ "type":"tileset",
+ "version":"1.6"
+}
\ No newline at end of file
diff --git a/assets-cg/maps/tileset.tsx b/assets-cg/maps/tileset.tsx
index da96945..f57f191 100644
--- a/assets-cg/maps/tileset.tsx
+++ b/assets-cg/maps/tileset.tsx
@@ -55,6 +55,7 @@
+
diff --git a/assets-cg/spritesheet.png~ b/assets-cg/spritesheet.png~
deleted file mode 100644
index b2d8a0e..0000000
Binary files a/assets-cg/spritesheet.png~ and /dev/null differ
diff --git a/assets-cg/tileset.png b/assets-cg/tileset.png
index 9617720..1f6dacf 100644
Binary files a/assets-cg/tileset.png and b/assets-cg/tileset.png differ
diff --git a/include/character.h b/include/character.h
new file mode 100644
index 0000000..83c40d2
--- /dev/null
+++ b/include/character.h
@@ -0,0 +1,8 @@
+struct character {
+ int x, y;
+ char *name;
+ char *dialog;
+};
+
+void draw_dialog(struct character *character);
+struct character* get_character_xy(struct character *characters[], int x, int y);
\ No newline at end of file
diff --git a/include/define.h b/include/define.h
index 69e5ed5..cd7ebdf 100644
--- a/include/define.h
+++ b/include/define.h
@@ -1,2 +1,2 @@
-#define PLAYER_VIEW_X 13
-#define PLAYER_VIEW_Y 8
+#define PLAYER_VIEW_X 5
+#define PLAYER_VIEW_Y 5
diff --git a/include/map.h b/include/map.h
index 51075c5..80e126b 100644
--- a/include/map.h
+++ b/include/map.h
@@ -11,5 +11,6 @@ struct map {
enum map_state {
TILE_AIR = 0,
TILE_SOLID = 1,
- TILE_DOOR = 2
+ TILE_DOOR = 2,
+ TILE_CHARACTER = 3,
};
diff --git a/src/character.c b/src/character.c
new file mode 100644
index 0000000..07d2232
--- /dev/null
+++ b/src/character.c
@@ -0,0 +1,19 @@
+#include
+#include
+#include
+#include "character.h"
+
+void draw_dialog(struct character *character) {
+ dprint(1,20, C_BLACK, "(%d,%d)", character->x, character->y);
+ dprint(1,40, C_BLACK, "%s", character->name);
+ dprint(1,60, C_BLACK, "%s", character->dialog);
+}
+
+struct character* get_character_xy(struct character *characters[], int x, int y) {
+ int i = 0;
+ while(strcmp(characters[i]->name,"default name") != 0) {
+ if(characters[i]->x == x && characters[i]->y == y) return characters[i];
+ i++;
+ }
+ return characters[i];
+}
\ No newline at end of file
diff --git a/src/engine.c b/src/engine.c
index bc208ae..9cd1bef 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -124,8 +124,8 @@ void engine_tick(struct game *game, int dt) {
int map_walkable(struct map const *map, int x, int y) {
int tile = map->info_map[x + map->w * y];
- if(x < 0 || x > map->w-1 || y < 0 || y > map->h) return 0;
- return (tile != TILE_SOLID);
+ if(x < 0 || x > map->w-1 || y < 0 || y > map->h-1) return 0;
+ return (tile != TILE_SOLID && tile != TILE_CHARACTER);
}
void engine_set_background(struct game *game, int color) {
diff --git a/src/main.c b/src/main.c
index 28c33d8..570df92 100644
--- a/src/main.c
+++ b/src/main.c
@@ -5,6 +5,7 @@
#include "engine.h"
#include "player.h"
#include "animation.h"
+#include "character.h"
#include
#include
@@ -15,6 +16,20 @@ struct map *maps[] = {
&map_1,
};
+extern struct character character_Tituya;
+
+struct character character_default = {
+ .x = 0,
+ .y = 0,
+ .name = "default name",
+ .dialog = "default dialog"
+};
+
+struct character *characters[] = {
+ &character_Tituya,
+ &character_default,
+};
+
static int callback_tick(volatile int *tick) {
*tick = 1;
return TIMER_CONTINUE;
@@ -49,6 +64,7 @@ int main(void) {
tick = 0;
engine_draw(&game);
+ draw_dialog(get_character_xy(characters, 39, 30));
dupdate();
int dir = get_inputs();