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();