diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..e2b50ba --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,37 @@ +{ + "configurations": [ + { + "name": "fx-9860G", + "compilerPath": "~/.local/bin/sh-elf-gcc", + "compilerArgs": [ "-D FX9860G" ], + + "cStandard": "c17", + "cppStandard": "gnu++17", + + "includePath": [], + "intelliSenseMode": "${default}", + "mergeConfigurations": false, + "browse": { + "path": [], + "limitSymbolsToIncludedHeaders": true + } + }, + { + "name": "fx-CG50", + "compilerPath": "~/.local/bin/sh-elf-gcc", + "compilerArgs": [ "-D FXCG50" ], + + "cStandard": "c17", + "cppStandard": "gnu++17", + + "includePath": [], + "intelliSenseMode": "${default}", + "mergeConfigurations": false, + "browse": { + "path": [], + "limitSymbolsToIncludedHeaders": true + } + } + ], + "version": 4 +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..3f9ef32 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,12 @@ +{ + "debug.showInStatusBar": "never", + "cmake.options.statusBarVisibility": "hidden", + "files.associations": { + "keyboard.h": "c", + "display.h": "c", + "stdlib.h": "c", + "kmalloc.h": "c", + "types.h": "c", + "linked_list.h": "c" + } +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..b109c07 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,17 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "Build CG", + "type": "shell", + "command": "fxsdk build-cg", + "problemMatcher": [] + }, + { + "label": "Copy G3A to Calculator", + "type": "shell", + "command": "cp ${workspaceFolder}/*.g3a /media/$USER/disk/ && udisksctl unmount -b /dev/sdc1 && udisksctl power-off -b /dev/sdc1", + "problemMatcher": [] + } + ] +} \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..cd8ed46 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,39 @@ +# Configure with [fxsdk build-fx] or [fxsdk build-cg], which provide the +# toolchain file and module path of the fxSDK + +cmake_minimum_required(VERSION 3.15) +project(2D_Engine) + +include(GenerateG1A) +include(GenerateG3A) +include(GenerateHH2Bin) +include(Fxconv) +find_package(Gint 2.9 REQUIRED) + +set(SOURCES + src/main.c + src/game.c + src/linked_list.c + src/texture_manager.c + src/vector2d.c +) + +# fx-CG-50-only assets +set(ASSETS_cg +) + +fxconv_declare_assets(${ASSETS_cg} WITH_METADATA) + +add_executable(myaddin ${SOURCES} ${ASSETS} ${ASSETS_${FXSDK_PLATFORM}}) +target_compile_options(myaddin PRIVATE -Wall -Wextra -Os -g -flto) +target_link_libraries(myaddin Gint::Gint) + +if("${FXSDK_PLATFORM_LONG}" STREQUAL fxCG50) + generate_g3a(TARGET myaddin OUTPUT "2D_Engine.g3a" + NAME "2D_Engine" ICONS assets-cg/Icon/icon-uns.png assets-cg/Icon/icon-sel.png) +elseif("${FXSDK_PLATFORM_LONG}" STREQUAL fx9860G_G3A) + generate_g3a(TARGET myaddin OUTPUT "2D_Engine-fx.g3a" + NAME "2D_Engine-fx" ICONS assets-cg/Icon/icon-uns.png assets-cg/Icon/icon-sel.png) +elseif("${FXSDK_PLATFORM_LONG}" STREQUAL fxCP) + generate_hh2_bin(TARGET myaddin OUTPUT "2D_Engine-hh2.bin") +endif() diff --git a/assets-cg/Entities/Enemies/Orcs/Base/death-sheet.png b/assets-cg/Entities/Enemies/Orcs/Base/death-sheet.png new file mode 100644 index 0000000..cd32132 Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Base/death-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Orcs/Base/idle-sheet.png b/assets-cg/Entities/Enemies/Orcs/Base/idle-sheet.png new file mode 100644 index 0000000..9a6b072 Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Base/idle-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Orcs/Base/run-sheet.png b/assets-cg/Entities/Enemies/Orcs/Base/run-sheet.png new file mode 100644 index 0000000..2f24a2a Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Base/run-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Orcs/Rogue/death-sheet.png b/assets-cg/Entities/Enemies/Orcs/Rogue/death-sheet.png new file mode 100644 index 0000000..2a10b98 Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Rogue/death-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Orcs/Rogue/idle-sheet.png b/assets-cg/Entities/Enemies/Orcs/Rogue/idle-sheet.png new file mode 100644 index 0000000..6902aa4 Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Rogue/idle-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Orcs/Rogue/run-sheet.png b/assets-cg/Entities/Enemies/Orcs/Rogue/run-sheet.png new file mode 100644 index 0000000..1783b09 Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Rogue/run-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Orcs/Shaman/death-sheet.png b/assets-cg/Entities/Enemies/Orcs/Shaman/death-sheet.png new file mode 100644 index 0000000..ec23abb Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Shaman/death-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Orcs/Shaman/idle-sheet.png b/assets-cg/Entities/Enemies/Orcs/Shaman/idle-sheet.png new file mode 100644 index 0000000..897d9b2 Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Shaman/idle-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Orcs/Shaman/run-sheet.png b/assets-cg/Entities/Enemies/Orcs/Shaman/run-sheet.png new file mode 100644 index 0000000..71fc767 Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Shaman/run-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Orcs/Warrior/death-sheet.png b/assets-cg/Entities/Enemies/Orcs/Warrior/death-sheet.png new file mode 100644 index 0000000..2a87d9e Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Warrior/death-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Orcs/Warrior/idle-sheet.png b/assets-cg/Entities/Enemies/Orcs/Warrior/idle-sheet.png new file mode 100644 index 0000000..602efff Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Warrior/idle-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Orcs/Warrior/run-sheet.png b/assets-cg/Entities/Enemies/Orcs/Warrior/run-sheet.png new file mode 100644 index 0000000..dbeb740 Binary files /dev/null and b/assets-cg/Entities/Enemies/Orcs/Warrior/run-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Base/death-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Base/death-sheet.png new file mode 100644 index 0000000..1b5fcd3 Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Base/death-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Base/idle-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Base/idle-sheet.png new file mode 100644 index 0000000..4c4f552 Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Base/idle-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Base/run-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Base/run-sheet.png new file mode 100644 index 0000000..396eabc Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Base/run-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Mage/death-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Mage/death-sheet.png new file mode 100644 index 0000000..02d0832 Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Mage/death-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Mage/idle-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Mage/idle-sheet.png new file mode 100644 index 0000000..5911e16 Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Mage/idle-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Mage/run-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Mage/run-sheet.png new file mode 100644 index 0000000..85bfb1e Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Mage/run-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Rogue/death-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Rogue/death-sheet.png new file mode 100644 index 0000000..70914dc Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Rogue/death-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Rogue/idle-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Rogue/idle-sheet.png new file mode 100644 index 0000000..a625ee1 Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Rogue/idle-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Rogue/run-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Rogue/run-sheet.png new file mode 100644 index 0000000..740543b Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Rogue/run-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Warrior/death-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Warrior/death-sheet.png new file mode 100644 index 0000000..4691ab8 Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Warrior/death-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Warrior/idle-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Warrior/idle-sheet.png new file mode 100644 index 0000000..e61ee1d Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Warrior/idle-sheet.png differ diff --git a/assets-cg/Entities/Enemies/Skeletons/Warrior/run-sheet.png b/assets-cg/Entities/Enemies/Skeletons/Warrior/run-sheet.png new file mode 100644 index 0000000..dc4cfcf Binary files /dev/null and b/assets-cg/Entities/Enemies/Skeletons/Warrior/run-sheet.png differ diff --git a/assets-cg/Entities/Heroes/Knight/death-sheet.png b/assets-cg/Entities/Heroes/Knight/death-sheet.png new file mode 100644 index 0000000..1f6103a Binary files /dev/null and b/assets-cg/Entities/Heroes/Knight/death-sheet.png differ diff --git a/assets-cg/Entities/Heroes/Knight/idle-sheet.png b/assets-cg/Entities/Heroes/Knight/idle-sheet.png new file mode 100644 index 0000000..ca6c29f Binary files /dev/null and b/assets-cg/Entities/Heroes/Knight/idle-sheet.png differ diff --git a/assets-cg/Entities/Heroes/Knight/run-sheet.png b/assets-cg/Entities/Heroes/Knight/run-sheet.png new file mode 100644 index 0000000..9564a9e Binary files /dev/null and b/assets-cg/Entities/Heroes/Knight/run-sheet.png differ diff --git a/assets-cg/Entities/Heroes/Rogue/death-sheet.png b/assets-cg/Entities/Heroes/Rogue/death-sheet.png new file mode 100644 index 0000000..123942e Binary files /dev/null and b/assets-cg/Entities/Heroes/Rogue/death-sheet.png differ diff --git a/assets-cg/Entities/Heroes/Rogue/idle-sheet.png b/assets-cg/Entities/Heroes/Rogue/idle-sheet.png new file mode 100644 index 0000000..b36a641 Binary files /dev/null and b/assets-cg/Entities/Heroes/Rogue/idle-sheet.png differ diff --git a/assets-cg/Entities/Heroes/Rogue/run-sheet.png b/assets-cg/Entities/Heroes/Rogue/run-sheet.png new file mode 100644 index 0000000..f50017d Binary files /dev/null and b/assets-cg/Entities/Heroes/Rogue/run-sheet.png differ diff --git a/assets-cg/Entities/Heroes/Wizzard/death-sheet.png b/assets-cg/Entities/Heroes/Wizzard/death-sheet.png new file mode 100644 index 0000000..66271d1 Binary files /dev/null and b/assets-cg/Entities/Heroes/Wizzard/death-sheet.png differ diff --git a/assets-cg/Entities/Heroes/Wizzard/idle-sheet.png b/assets-cg/Entities/Heroes/Wizzard/idle-sheet.png new file mode 100644 index 0000000..23fc252 Binary files /dev/null and b/assets-cg/Entities/Heroes/Wizzard/idle-sheet.png differ diff --git a/assets-cg/Entities/Heroes/Wizzard/run-sheet.png b/assets-cg/Entities/Heroes/Wizzard/run-sheet.png new file mode 100644 index 0000000..6a3d85e Binary files /dev/null and b/assets-cg/Entities/Heroes/Wizzard/run-sheet.png differ diff --git a/assets-cg/Icon/icon-cg.kra b/assets-cg/Icon/icon-cg.kra new file mode 100644 index 0000000..ffd8333 Binary files /dev/null and b/assets-cg/Icon/icon-cg.kra differ diff --git a/assets-cg/Icon/icon-sel.png b/assets-cg/Icon/icon-sel.png new file mode 100644 index 0000000..50371c0 Binary files /dev/null and b/assets-cg/Icon/icon-sel.png differ diff --git a/assets-cg/Icon/icon-uns.png b/assets-cg/Icon/icon-uns.png new file mode 100644 index 0000000..3020010 Binary files /dev/null and b/assets-cg/Icon/icon-uns.png differ diff --git a/assets-cg/Tileset/tileset.png b/assets-cg/Tileset/tileset.png new file mode 100644 index 0000000..4d36a9c Binary files /dev/null and b/assets-cg/Tileset/tileset.png differ diff --git a/assets-cg/fxconv-metadata.txt b/assets-cg/fxconv-metadata.txt new file mode 100644 index 0000000..6d05532 --- /dev/null +++ b/assets-cg/fxconv-metadata.txt @@ -0,0 +1,4 @@ +Tileset/tileset.png: + type: bopti-image + name: img_tileset + diff --git a/assets-cg/ressources/TiledMaps/dungeon entry.tmx b/assets-cg/ressources/TiledMaps/dungeon entry.tmx new file mode 100644 index 0000000..686f7d1 --- /dev/null +++ b/assets-cg/ressources/TiledMaps/dungeon entry.tmx @@ -0,0 +1,82 @@ + + + + + + + + +297,306,306,306,306,297,306,297,297,306,297,306,297,408,306,306,278,297,278,306,278,297, +278,278,278,297,692,306,306,306,306,297,278,297,297,417,306,278,297,306,278,630,278,297, +306,297,278,278,306,278,278,297,297,278,278,306,278,297,297,278,297,306,297,306,306,306, +278,278,278,278,306,297,297,306,297,297,297,278,297,306,297,297,306,297,306,306,278,297, +306,297,306,278,297,297,297,306,278,306,278,297,306,297,278,306,278,297,297,306,297,297, +297,278,274,282,306,297,297,297,306,297,297,306,306,297,297,278,278,297,274,282,297,297, +306,278,273,274,278,278,306,302,310,309,1,1,310,309,299,306,278,297,274,274,278,306, +297,278,274,282,297,297,302,311,319,318,322,323,319,318,308,310,299,278,283,273,306,278, +297,297,274,274,302,310,311,320,328,327,331,332,328,327,317,319,308,299,273,273,297,278, +306,297,283,273,285,319,320,329,306,306,306,306,306,297,326,328,317,280,282,283,297,306, +278,278,283,273,285,329,324,278,297,297,306,306,306,297,297,315,326,280,283,274,306,306, +306,278,274,274,285,297,306,306,297,306,315,297,278,306,306,278,297,280,274,282,278,278, +278,278,274,273,285,278,297,306,306,297,306,306,278,306,297,306,306,280,274,273,278,278, +278,599,283,273,275,306,297,297,278,306,278,306,278,297,333,306,278,272,282,283,297,297, +607,608,609,274,283,1,278,306,324,278,297,364,365,366,278,297,278,282,274,283,278,306, +306,297,273,438,439,274,274,306,306,278,306,373,374,375,272,273,283,659,660,274,297,278, +278,297,306,278,278,306,278,306,306,364,365,365,366,278,306,278,306,412,306,278,278,278, +306,278,278,297,297,297,297,278,278,373,374,374,375,297,306,306,278,297,306,306,306,306, +278,278,306,297,306,306,278,278,297,373,374,374,375,306,306,297,278,278,278,297,278,278, +278,297,278,306,306,278,278,278,278,382,363,374,379,366,278,297,278,278,306,297,278,297, +297,306,297,278,278,278,278,278,297,306,373,374,374,375,297,306,297,306,278,297,306,278 + + + + +620,621,1,682,683,684,1,640,641,1,1,406,407,646,452,453,1,619,620,621,1,1, +629,630,1,691,409,693,1,649,650,1,1,415,416,655,461,462,1,628,629,397,398,1, +569,570,571,1,418,419,1,658,659,1,1,424,425,664,470,471,1,421,422,406,407,408, +578,579,580,1,427,428,1,667,668,1,1,433,434,435,479,480,1,430,431,415,416,417, +587,588,589,1,1,437,1,1,677,1,1,442,443,1,488,489,1,439,440,424,425,426, +596,597,598,1,1,1,1,1,1,1,1,1,1,1,1,1,1,508,509,510,511,512, +605,606,607,1,1,1,1,1,1,1,1,1,1,1,1,1,1,457,518,519,520,521, +614,615,616,1,1,464,1,1,1,1,1,1,1,1,1,1,1,1,407,408,529,629, +1,1,585,558,1,1,1,1,1,515,1,1,516,1,1,1,1,1,416,417,538,1, +1,1,1,1,1,1,638,639,1,1,1,1,1,1,533,1,1,1,425,546,547,1, +1,644,645,646,1,532,647,648,1,1,1,1,1,1,515,1,1,1,434,1,1,1, +1,653,654,655,1,1,534,1,1,1,1,1,1,1,1,1,1,1,586,587,588,589, +1,662,663,664,1,1,514,1,714,1,1,1,1,1,1,525,514,1,595,596,597,598, +670,418,419,420,1,276,1,1,1,1,1,1,697,1,1,1,640,641,642,605,606,607, +1,427,428,429,567,275,265,266,1,516,1,1,1,1,271,264,649,650,651,614,615,616, +1,436,493,494,1,440,460,461,264,265,265,265,264,264,400,401,402,403,404,662,662,663, +1,1,502,503,1,1,469,470,471,1,1,1,1,1,409,410,411,404,669,1,671,672, +1,1,511,512,570,571,572,573,480,1,1,715,1,1,418,419,420,413,678,1,680,681, +1,1,520,521,579,580,581,582,583,1,1,1,1,1,427,428,429,422,687,1,689,690, +1,1,529,530,588,589,590,591,592,1,1,1,1,1,1,1,1,431,1,1,1,1, +1,1,538,1,597,598,599,600,1,1,1,1,1,1,1,1,1,440,1,1,1,1 + + + + +551,552,553,554,400,401,402,403,404,642,643,644,645,451,400,401,402,403,404,388,389,390, +560,561,562,563,564,410,411,412,413,651,652,653,654,460,409,410,411,412,473,474,475,399, +474,475,0,572,573,574,420,421,422,660,661,662,663,469,418,419,420,481,482,483,484,485, +483,484,485,581,582,583,429,430,431,669,670,671,672,478,427,428,429,490,491,492,493,494, +492,493,494,590,591,592,438,439,440,678,679,680,681,487,436,437,438,499,500,501,502,503, +501,502,503,599,600,446,447,448,686,687,688,689,690,496,497,498,447,388,389,390,610,611, +510,511,512,608,609,455,456,457,1,1,313,314,1,505,506,455,456,397,398,399,619,620, +519,520,521,617,618,464,465,466,1,1,1,1,1,1,1,464,465,406,550,551,552,553, +625,626,627,1,1,1,1,1,1,1,1,1,1,1,1,1,1,415,559,560,561,562, +634,635,636,637,1,1,1,1,1,1,1,1,1,1,1,1,1,424,568,569,570,571, +643,391,392,393,394,1,1,1,1,1,1,1,1,1,391,1,1,433,577,578,579,580, +652,400,401,402,403,404,1,1,1,1,1,1,1,1,1,1,622,623,624,625,626,1, +661,409,410,411,412,413,1,1,1,1,1,1,1,1,1,1,631,632,633,634,635,636, +473,474,475,476,421,422,1,1,1,1,1,1,1,1,1,1,640,641,1,643,644,645, +482,483,484,485,430,431,451,452,453,1,1,1,1,1,1,392,393,394,1,652,653,654, +491,492,1,551,552,553,554,555,462,1,1,1,1,1,392,393,394,472,473,474,475,476, +500,501,559,560,561,562,563,564,565,1,1,1,1,400,401,402,403,481,482,483,484,485, +509,510,568,569,472,473,474,475,574,1,1,1,1,409,410,411,412,490,491,492,493,494, +518,519,577,578,481,482,483,484,485,1,1,1,1,418,419,420,421,499,500,501,502,503, +527,528,586,587,490,491,492,493,494,1,1,1,1,427,428,429,430,508,509,510,511,512, +536,537,595,596,499,500,501,502,503,1,1,1,1,436,437,438,439,517,518,519,520,521 + + + diff --git a/assets-cg/ressources/TiledMaps/map dungeon 1.tmx b/assets-cg/ressources/TiledMaps/map dungeon 1.tmx new file mode 100644 index 0000000..00ac55d --- /dev/null +++ b/assets-cg/ressources/TiledMaps/map dungeon 1.tmx @@ -0,0 +1,118 @@ + + + + + + + + +19,31,31,31,31,31,31,31,31,31,31,31,31,20,1,1,1,1,1,19,31,31,163,165,31,31,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +28,3,2,2,2,2,2,2,2,2,2,2,4,29,1,1,1,1,1,28,3,2,163,165,2,4,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +28,12,11,11,11,11,95,95,11,11,11,11,13,29,1,1,1,1,1,28,12,11,163,165,11,13,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +28,154,155,155,155,130,131,131,132,155,155,155,156,29,1,1,1,1,1,28,154,155,167,166,155,156,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +28,163,164,164,164,139,140,140,141,164,164,164,165,29,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,19,31,31,31,31,31,31,31,31,31,31,31,31,31,20, +28,163,164,181,182,148,149,149,150,164,164,164,165,29,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,28,3,2,2,2,2,2,2,2,2,2,2,2,4,29, +28,163,164,190,191,164,164,164,164,183,164,164,165,29,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,28,12,11,11,11,11,11,11,11,11,11,11,11,13,29, +28,163,164,164,164,193,164,164,164,164,193,164,165,29,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,28,154,155,155,155,155,155,155,155,155,155,155,155,156,29, +28,172,173,173,173,173,158,157,173,173,173,173,174,29,1,1,1,1,1,28,163,164,164,164,193,165,29,1,1,1,1,1,1,1,1,1,28,163,164,164,164,164,164,164,164,164,164,164,164,165,29, +37,22,22,22,359,46,163,165,46,377,22,22,22,38,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,28,172,173,173,173,173,173,173,173,158,157,173,173,174,29, +1,1,1,1,28,3,163,165,4,29,1,1,1,1,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,52,46,46,46,46,46,46,46,46,163,165,46,46,46,44, +1,1,1,1,28,12,163,165,13,29,1,1,1,1,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,28,3,2,2,2,2,2,2,2,163,165,2,2,4,29, +1,1,1,1,28,154,167,166,156,29,1,1,1,1,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,28,12,11,11,11,11,11,11,11,163,165,11,11,13,29, +1,1,1,1,28,163,164,164,165,30,31,31,31,31,31,31,31,31,31,32,163,164,164,164,164,165,30,31,31,31,31,31,31,31,31,31,32,154,155,155,155,155,155,155,155,167,166,155,155,156,29, +1,1,1,1,28,163,164,164,165,6,2,2,2,2,2,2,2,2,2,7,163,164,164,164,164,165,6,2,2,2,2,2,2,2,2,2,7,163,164,164,157,173,173,173,173,173,173,173,173,174,29, +1,1,1,1,28,163,164,164,165,15,11,11,11,11,11,11,10,11,11,16,163,164,164,164,164,165,15,11,11,11,11,11,11,11,11,11,16,163,164,164,165,21,22,22,22,22,22,22,22,22,38, +1,1,1,1,28,163,164,164,166,155,155,155,155,155,155,155,155,155,155,155,167,164,164,164,164,166,155,155,155,155,155,155,155,155,155,155,155,167,164,164,165,30,31,31,31,31,31,31,31,31,20, +1,1,1,1,28,172,173,173,173,173,173,173,173,173,173,173,173,173,173,173,158,183,164,164,164,157,173,173,173,173,173,173,173,173,173,173,173,158,164,164,165,6,2,2,2,2,2,2,2,4,29, +1,1,1,1,37,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,163,164,164,164,164,165,21,22,22,22,22,22,22,22,22,22,23,163,164,164,165,15,11,11,10,11,11,11,11,13,29, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,28,163,164,183,166,155,155,155,155,155,155,155,155,156,29, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,28,172,173,173,173,173,173,173,173,173,173,173,173,174,29, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,37,22,22,22,22,22,22,22,22,22,22,22,22,22,38, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,28,163,164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,19,31,31,31,31,31,32,163,164,164,164,164,165,30,31,31,31,31,31,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,19,31,31,31,31,31,360,3,2,2,2,2,7,163,164,164,164,164,165,6,2,2,2,2,4,386,31,31,31,31,31,20,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,28,3,2,2,2,4,33,12,11,11,11,11,16,163,164,164,164,164,165,15,11,11,11,11,13,33,2,2,2,2,4,29,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,28,12,11,11,11,13,234,154,155,155,155,155,155,167,164,164,164,164,166,155,155,155,155,155,156,234,11,11,10,11,13,29,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,28,154,155,155,155,156,243,163,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,165,243,154,155,155,155,156,29,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,28,163,164,192,193,166,155,167,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,166,155,167,164,164,164,165,29,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,28,172,173,173,173,173,173,173,173,173,173,173,173,173,173,158,157,173,173,173,173,173,173,173,173,173,173,173,173,173,174,29,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,37,22,22,22,22,22,22,22,22,22,22,22,22,22,22,1,1,22,22,22,22,22,22,22,22,22,22,22,22,22,22,38,1,1,1,1,1,1,1,1,1,1,1,1 + + + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,65,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,73,74,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,161,162,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,64,65,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,73,74,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,65,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,73,74,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,701,1,1,701,698,1,1,188,189,1,1,698,701,1,1,701,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,710,1,1,710,707,1,1,188,189,1,1,707,710,1,1,710,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,252,1,1,1,1,1,1,1,1,188,189,1,1,1,1,1,1,1,1,252,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,197,198,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,55,56,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,341,342,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,395,396,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,341,342,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,395,396,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,341,342,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,350,351,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + + diff --git a/assets-cg/ressources/TiledMaps/map dungeon 2.tmx b/assets-cg/ressources/TiledMaps/map dungeon 2.tmx new file mode 100644 index 0000000..f711184 --- /dev/null +++ b/assets-cg/ressources/TiledMaps/map dungeon 2.tmx @@ -0,0 +1,340 @@ + + + + + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,19,31,31,31,31,31,31,31, +1,1,1,1,1,1,1,1,28,3,2,2,2,2,2,2, +1,1,1,1,1,1,1,1,28,12,11,10,11,11,11,11, +1,1,1,1,1,1,1,1,28,154,155,155,155,155,155,155, +1,1,1,1,1,1,1,1,28,163,157,173,173,173,173,173, +1,1,1,1,1,1,1,1,28,163,165,21,22,22,22,22, +1,1,1,1,1,1,1,1,28,163,165,29,1,1,1,1, +1,1,1,1,1,1,1,1,28,163,165,29,1,1,1,1, +1,1,1,1,1,1,1,1,28,163,165,29,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +19,1,1,20,1,1,1,1,1,1,1,1,1,1,1,1, +28,1,1,29,1,1,1,1,1,1,1,1,1,1,1,1, +32,1,1,30,31,31,31,31,31,31,31,31,31,31,31,31, +7,154,156,6,2,2,2,2,2,2,2,2,2,2,2,2, +16,163,165,15,11,11,11,11,11,11,11,11,10,11,11,11, +155,167,166,155,155,155,155,155,155,155,155,155,155,155,155,155, +173,173,173,173,173,173,173,173,173,173,158,157,173,173,173,173, +22,22,22,22,22,22,22,22,22,23,163,165,21,22,22,22, +1,1,1,1,1,1,1,1,1,28,163,165,29,1,1,1, +1,1,1,1,1,1,1,1,1,28,163,165,29,1,1,1, +1,1,1,1,1,1,1,1,1,28,159,160,29,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +31,31,1,1,31,20,1,1,1,1,1,1,1,1,1,1, +2,2,1,1,4,29,1,1,1,1,1,1,1,1,1,1, +11,11,1,1,13,29,1,1,1,1,1,1,1,1,1,1, +155,155,155,155,156,29,1,1,1,1,1,1,1,1,1,1, +173,173,173,173,174,29,1,1,1,1,1,1,1,1,1,1, +22,22,22,22,22,38,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,28,163,165,29,1,1,1,1, +1,1,1,1,1,1,1,1,28,163,165,29,1,1,1,1, +1,1,1,19,31,31,31,31,32,1,1,30,31,31,31,31, +1,1,1,28,3,2,2,2,7,1,1,6,2,2,2,2, +1,1,1,28,12,11,11,11,16,1,1,15,11,11,11,11, +1,1,1,28,199,200,200,200,200,200,200,200,200,200,200,201, +1,1,1,28,208,209,209,236,209,209,209,209,209,209,209,210, +1,1,1,28,208,209,209,209,209,209,236,209,236,209,209,210, +1,1,1,28,208,209,209,209,209,209,209,209,209,209,209,210, +1,1,1,28,208,209,236,209,209,209,209,209,236,209,209,210, +1,1,1,28,217,218,218,218,218,218,218,218,218,218,218,219, +1,1,1,37,22,22,22,22,22,22,22,22,22,22,22,22, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,28,168,169,29,1,1,1, +1,1,1,1,1,1,1,1,1,28,154,156,29,1,1,1, +43,31,31,31,31,31,31,31,31,32,163,165,30,31,31,31, +47,3,2,2,2,2,2,2,2,7,163,165,6,2,2,2, +47,10,11,11,11,11,11,11,11,16,163,165,15,11,11,11, +47,154,155,155,155,155,155,155,155,155,167,166,155,155,155,155, +47,163,164,164,164,164,164,164,164,164,164,164,164,164,164,164, +47,163,164,164,164,164,164,164,164,164,39,40,164,164,164,164, +47,163,164,164,164,164,164,164,164,164,48,49,164,164,183,164, +47,163,164,164,164,164,181,182,164,164,6,7,164,164,164,164, +47,172,173,173,173,158,190,191,164,164,15,16,164,164,164,164, +53,22,22,22,23,163,164,164,164,164,164,164,164,164,193,164, +1,1,1,1,28,172,173,173,173,173,173,173,173,173,173,173, +1,1,1,1,37,22,22,22,22,22,1,1,22,22,22,22, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +31,31,31,31,31,20,1,1,1,1,1,1,1,1,1,1, +2,2,2,2,4,386,31,1,1,31,20,1,1,1,1,1, +11,11,11,11,13,234,3,1,1,4,29,1,1,1,1,1, +155,155,155,155,156,243,12,1,1,13,29,1,1,1,1,1, +164,164,164,164,165,173,154,155,155,156,29,1,1,1,1,1, +164,164,164,164,165,25,172,173,173,174,29,1,1,1,1,1, +164,164,164,164,165,368,22,22,22,22,38,1,1,1,1,1, +164,164,164,164,165,29,1,1,1,1,1,1,1,1,1,1, +157,173,173,173,174,29,1,1,1,1,1,1,1,1,1,1, +165,21,22,22,22,38,1,1,1,1,1,1,1,1,1,1, +174,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +22,38,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + + + + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,57,58,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,66,67,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,75,76,1,1,1,1,1,1,1,1,1,1,1,1, +0,253,206,256,207,1,1,1,1,1,1,1,1,1,1,1, +1,251,260,242,216,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,773,774,1,1,1,1,1,1,773,774,773,774, +1,1,1,1,782,783,751,752,753,1,1,1,782,783,782,783, +1,1,1,1,791,792,760,761,762,1,1,1,791,792,791,792, +1,1,1,1,1,771,772,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,780,781,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,789,790,1,754,755,755,756,1,754,756,1, +1,1,1,1,1,1,1,1,763,764,764,765,1,763,765,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,701,1,1,1,701,1,1,1,1,1,1,701,1, +1,1,1,710,1,1,1,710,1,1,1,1,1,1,710,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,701,1,1,1,1,57,58,1,1,1,1,1,1,1, +1,1,710,1,1,1,1,66,67,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,75,76,1,1,1,1,1,1,1, +1,1,1,1,1,252,260,251,260,1,1,1,1,1,1,1, +1,1,1,1,1,1,261,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + + + + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,341,342,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,395,396,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,341,342,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,350,351,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + + + diff --git a/assets-cg/ressources/maps/dungeon entry.json b/assets-cg/ressources/maps/dungeon entry.json new file mode 100644 index 0000000..2da1ac9 --- /dev/null +++ b/assets-cg/ressources/maps/dungeon entry.json @@ -0,0 +1,118 @@ +{ + "TileMapWidth": 22, + "TileMapHeight": 21, + + "Layer 1": [ + [297, 306, 306, 306, 306, 297, 306, 297, 297, 306, 297, 306, 297, 408, 306, 306, 278, 297, 278, 306, 278, 297], + [278, 278, 278, 297, 692, 306, 306, 306, 306, 297, 278, 297, 297, 417, 306, 278, 297, 306, 278, 630, 278, 297], + [306, 297, 278, 278, 306, 278, 278, 297, 297, 278, 278, 306, 278, 297, 297, 278, 297, 306, 297, 306, 306, 306], + [278, 278, 278, 278, 306, 297, 297, 306, 297, 297, 297, 278, 297, 306, 297, 297, 306, 297, 306, 306, 278, 297], + [306, 297, 306, 278, 297, 297, 297, 306, 278, 306, 278, 297, 306, 297, 278, 306, 278, 297, 297, 306, 297, 297], + [297, 278, 274, 282, 306, 297, 297, 297, 306, 297, 297, 306, 306, 297, 297, 278, 278, 297, 274, 282, 297, 297], + [306, 278, 273, 274, 278, 278, 306, 302, 310, 309, 330, 330, 310, 309, 299, 306, 278, 297, 274, 274, 278, 306], + [297, 278, 274, 282, 297, 297, 302, 311, 319, 318, 322, 323, 319, 318, 308, 310, 299, 278, 283, 273, 306, 278], + [297, 297, 274, 274, 302, 310, 311, 320, 328, 327, 331, 332, 328, 327, 317, 319, 308, 299, 273, 273, 297, 278], + [306, 297, 283, 273, 285, 319, 320, 329, 306, 306, 306, 306, 306, 297, 326, 328, 317, 280, 282, 283, 297, 306], + [278, 278, 283, 273, 285, 329, 324, 278, 297, 297, 306, 306, 306, 297, 297, 315, 326, 280, 283, 274, 306, 306], + [306, 278, 274, 274, 285, 297, 306, 306, 297, 306, 315, 297, 278, 306, 306, 278, 297, 280, 274, 282, 278, 278], + [278, 278, 274, 273, 285, 278, 297, 306, 306, 297, 306, 306, 278, 306, 297, 306, 306, 280, 274, 273, 278, 278], + [278, 599, 283, 273, 275, 306, 297, 297, 278, 306, 278, 306, 278, 297, 333, 306, 278, 272, 282, 283, 297, 297], + [607, 608, 609, 274, 283, 1, 278, 306, 324, 278, 297, 364, 365, 366, 278, 297, 274, 282, 274, 283, 278, 306], + [306, 297, 273, 438, 439, 274, 274, 306, 306, 278, 306, 373, 374, 375, 272, 273, 283, 659, 660, 274, 297, 278], + [278, 297, 306, 278, 278, 306, 278, 306, 306, 364, 365, 365, 366, 278, 306, 278, 306, 412, 306, 278, 278, 278], + [306, 278, 278, 297, 297, 297, 297, 278, 278, 373, 374, 374, 375, 297, 306, 306, 278, 297, 306, 306, 306, 306], + [278, 278, 306, 297, 306, 306, 278, 278, 297, 373, 374, 374, 375, 306, 306, 297, 278, 278, 278, 297, 278, 278], + [278, 297, 278, 306, 306, 278, 278, 278, 278, 382, 363, 374, 379, 366, 278, 297, 278, 278, 306, 297, 278, 297], + [297, 306, 297, 278, 278, 278, 278, 278, 297, 306, 373, 374, 374, 375, 297, 306, 297, 306, 278, 297, 306, 278] + ], + + "Layer 2": [ + [620, 621, 1, 682, 683, 684, 1, 640, 641, 1, 1, 406, 407, 646, 452, 453, 1, 619, 620, 621, 1, 1], + [629, 630, 1, 691, 409, 693, 1, 649, 650, 1, 1, 415, 416, 655, 461, 462, 1, 628, 629, 397, 398, 1], + [569, 570, 571, 1, 418, 419, 1, 658, 659, 1, 1, 424, 425, 664, 470, 471, 1, 421, 422, 406, 407, 408], + [578, 579, 580, 1, 427, 428, 1, 667, 668, 1, 1, 433, 434, 435, 479, 480, 1, 430, 431, 415, 416, 417], + [587, 588, 589, 1, 1, 437, 1, 1, 677, 1, 1, 442, 443, 1, 488, 489, 1, 439, 440, 424, 425, 426], + [596, 597, 598, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 508, 509, 510, 511, 512], + [605, 606, 607, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 457, 518, 519, 520, 521], + [614, 615, 616, 1, 1, 464, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 407, 408, 529, 629], + [1, 1, 585, 558, 1, 1, 1, 1, 1, 515, 1, 1, 516, 1, 1, 1, 1, 1, 416, 417, 538, 1], + [1, 1, 1, 1, 1, 1, 638, 639, 1, 1, 1, 1, 1, 1, 533, 1, 1, 1, 425, 546, 547, 1], + [1, 644, 645, 646, 1, 532, 647, 648, 1, 1, 1, 1, 1, 1, 515, 1, 1, 1, 434, 1, 1, 1], + [1, 653, 654, 655, 1, 1, 534, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 586, 587, 588, 589], + [1, 662, 663, 664, 1, 1, 514, 1, 714, 1, 1, 1, 1, 1, 1, 525, 514, 1, 595, 596, 597, 598], + [670, 418, 419, 420, 1, 276, 1, 1, 1, 1, 1, 1, 697, 1, 1, 1, 640, 641, 642, 605, 606, 607], + [1, 427, 428, 429, 567, 275, 265, 266, 1, 516, 1, 1, 1, 1, 271, 264, 649, 650, 651, 614, 615, 616], + [1, 436, 493, 494, 1, 440, 460, 461, 264, 265, 265, 265, 264, 264, 400, 401, 402, 403, 404, 662, 662, 663], + [1, 1, 502, 503, 1, 1, 469, 470, 471, 1, 1, 1, 1, 1, 409, 410, 411, 404, 669, 1, 671, 672], + [1, 1, 511, 512, 570, 571, 572, 573, 480, 1, 1, 715, 1, 1, 418, 419, 420, 413, 678, 1, 680, 681], + [1, 1, 520, 521, 579, 580, 581, 582, 583, 1, 1, 1, 1, 1, 427, 428, 429, 422, 687, 1, 689, 690], + [1, 1, 529, 530, 588, 589, 590, 591, 592, 1, 1, 1, 1, 1, 1, 1, 1, 431, 1, 1, 1, 1], + [1, 1, 538, 1, 597, 598, 599, 600, 1, 1, 1, 1, 1, 1, 1, 1, 1, 440, 1, 1, 1, 1] + ], + + "Layer 3": [ + [551, 552, 553, 554, 400, 401, 402, 403, 404, 642, 643, 644, 645, 451, 400, 401, 402, 403, 404, 388, 389, 390], + [560, 561, 562, 563, 564, 410, 411, 412, 413, 651, 652, 653, 654, 460, 409, 410, 411, 412, 473, 474, 475, 399], + [474, 475, 0, 572, 573, 574, 420, 421, 422, 660, 661, 662, 663, 469, 418, 419, 420, 481, 482, 483, 484, 485], + [483, 484, 485, 581, 582, 583, 429, 430, 431, 669, 670, 671, 672, 478, 427, 428, 429, 490, 491, 492, 493, 494], + [492, 493, 494, 590, 591, 592, 438, 439, 440, 678, 679, 680, 681, 487, 436, 437, 438, 499, 500, 501, 502, 503], + [501, 502, 503, 599, 600, 446, 447, 448, 686, 687, 688, 689, 690, 496, 497, 498, 447, 388, 389, 390, 610, 611], + [510, 511, 512, 608, 609, 455, 456, 457, 1, 1, 313, 314, 1, 505, 506, 455, 456, 397, 398, 399, 619, 620], + [519, 520, 521, 617, 618, 464, 465, 466, 1, 1, 1, 1, 1, 1, 1, 464, 465, 406, 550, 551, 552, 553], + [625, 626, 627, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 415, 559, 560, 561, 562], + [634, 635, 636, 637, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 424, 568, 569, 570, 571], + [643, 391, 392, 393, 394, 1, 1, 1, 1, 1, 1, 1, 1, 1, 391, 1, 1, 433, 577, 578, 579, 580], + [652, 400, 401, 402, 403, 404, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 622, 623, 624, 625, 626, 1], + [661, 409, 410, 411, 412, 413, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 631, 632, 633, 634, 635, 636], + [473, 474, 475, 476, 421, 422, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 640, 641, 1, 643, 644, 645], + [482, 483, 484, 485, 430, 431, 451, 452, 453, 1, 1, 1, 1, 1, 1, 392, 393, 394, 1, 652, 653, 654], + [491, 492, 1, 551, 552, 553, 554, 555, 462, 1, 1, 1, 1, 1, 392, 393, 394, 472, 473, 474, 475, 476], + [500, 501, 559, 560, 561, 562, 563, 564, 565, 1, 1, 1, 1, 400, 401, 402, 403, 481, 482, 483, 484, 485], + [509, 510, 568, 569, 472, 473, 474, 475, 574, 1, 1, 1, 1, 409, 410, 411, 412, 490, 491, 492, 493, 494], + [518, 519, 577, 578, 481, 482, 483, 484, 485, 1, 1, 1, 1, 418, 419, 420, 421, 499, 500, 501, 502, 503], + [527, 528, 586, 587, 490, 491, 492, 493, 494, 1, 1, 1, 1, 427, 428, 429, 430, 508, 509, 510, 511, 512], + [536, 537, 595, 596, 499, 500, 501, 502, 503, 1, 1, 1, 1, 436, 437, 438, 439, 517, 518, 519, 520, 521] + ], + + "Hitboxes": [ + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 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] + ], + + "NextMaps": [ + { + "Number": 2, + + "Path": "ressources/maps/map dungeon 1.json", + + "PlayerInitPos": { + "x": 22, + "y": 30 + } + } + ], + + "PlayerInitPos": { + "x": 10, + "y": 11 + } +} diff --git a/assets-cg/ressources/maps/map dungeon 1.json b/assets-cg/ressources/maps/map dungeon 1.json new file mode 100644 index 0000000..971d4d0 --- /dev/null +++ b/assets-cg/ressources/maps/map dungeon 1.json @@ -0,0 +1,434 @@ +{ + "TileMapWidth": 51, + "TileMapHeight": 33, + + "Layer 1": [ + [19, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 20, 1, 1, 1, 1, 1, 19, 31, 31, 163, 165, 31, 31, 20, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [28, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 29, 1, 1, 1, 1, 1, 28, 3, 2, 163, 165, 2, 4, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [28, 12, 11, 11, 11, 11, 95, 95, 11, 11, 11, 11, 13, 29, 1, 1, 1, 1, 1, 28, 12, 11, 163, 165, 11, 13, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [28, 154, 155, 155, 155, 130, 131, 131, 132, 155, 155, 155, 156, 29, 1, 1, 1, 1, 1, 28, 154, 155, 167, 166, 155, 156, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [28, 163, 164, 164, 164, 139, 140, 140, 141, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 19, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 20], + [28, 163, 164, 181, 182, 148, 149, 149, 150, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 29], + [28, 163, 164, 190, 191, 164, 164, 164, 164, 183, 164, 164, 165, 29, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 13, 29], + [28, 163, 164, 164, 164, 193, 164, 164, 164, 164, 193, 164, 165, 29, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 154, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 156, 29], + [28, 172, 173, 173, 173, 173, 158, 157, 173, 173, 173, 173, 174, 29, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 193, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 165, 29], + [37, 22, 22, 22, 359, 46, 163, 165, 46, 377, 22, 22, 22, 38, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 172, 173, 173, 173, 173, 173, 173, 173, 158, 157, 173, 173, 174, 29], + [1, 1, 1, 1, 28, 3, 163, 165, 4, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 52, 46, 46, 46, 46, 46, 46, 46, 46, 163, 165, 46, 46, 46, 44], + [1, 1, 1, 1, 28, 12, 163, 165, 13, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 3, 2, 2, 2, 2, 2, 2, 2, 163, 165, 2, 2, 4, 29], + [1, 1, 1, 1, 28, 154, 167, 166, 156, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 12, 11, 11, 11, 11, 11, 11, 11, 163, 165, 11, 11, 13, 29], + [1, 1, 1, 1, 28, 163, 164, 164, 165, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 163, 164, 164, 164, 164, 165, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 154, 155, 155, 155, 155, 155, 155, 155, 167, 166, 155, 155, 156, 29], + [1, 1, 1, 1, 28, 163, 164, 164, 165, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 163, 164, 164, 164, 164, 165, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 163, 164, 164, 157, 173, 173, 173, 173, 173, 173, 173, 173, 174, 29], + [1, 1, 1, 1, 28, 163, 164, 164, 165, 15, 11, 11, 11, 11, 11, 11, 10, 11, 11, 16, 163, 164, 164, 164, 164, 165, 15, 11, 11, 11, 11, 11, 11, 11, 11, 11, 16, 163, 164, 164, 165, 21, 22, 22, 22, 22, 22, 22, 22, 22, 38], + [1, 1, 1, 1, 28, 163, 164, 164, 166, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 167, 164, 164, 164, 164, 166, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 167, 164, 164, 165, 30, 31, 31, 31, 31, 31, 31, 31, 31, 20], + [1, 1, 1, 1, 28, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 158, 183, 164, 164, 164, 157, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 158, 164, 164, 165, 6, 2, 2, 2, 2, 2, 2, 2, 4, 29], + [1, 1, 1, 1, 37, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 163, 164, 164, 164, 164, 165, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 163, 164, 164, 165, 15, 11, 11, 10, 11, 11, 11, 11, 13, 29], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 183, 166, 155, 155, 155, 155, 155, 155, 155, 155, 156, 29], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 174, 29], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 37, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 38], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 19, 31, 31, 31, 31, 31, 32, 163, 164, 164, 164, 164, 165, 30, 31, 31, 31, 31, 31, 20, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 19, 31, 31, 31, 31, 31, 360, 3, 2, 2, 2, 2, 7, 163, 164, 164, 164, 164, 165, 6, 2, 2, 2, 2, 4, 386, 31, 31, 31, 31, 31, 20, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 28, 3, 2, 2, 2, 4, 33, 12, 11, 11, 11, 11, 16, 163, 164, 164, 164, 164, 165, 15, 11, 11, 11, 11, 13, 33, 2, 2, 2, 2, 4, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 28, 12, 11, 11, 11, 13, 234, 154, 155, 155, 155, 155, 155, 167, 164, 164, 164, 164, 166, 155, 155, 155, 155, 155, 156, 234, 11, 11, 10, 11, 13, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 28, 154, 155, 155, 155, 156, 243, 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 165, 243, 154, 155, 155, 155, 156, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 28, 163, 164, 192, 193, 166, 155, 167, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 166, 155, 167, 164, 164, 164, 165, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 28, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 158, 157, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 174, 29, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 37, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 1, 1, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 38, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] + ], + + "Layer 2": [ + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 64, 65, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 73, 74, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 161, 162, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 64, 65, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 73, 74, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 64, 65, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 73, 74, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 701, 1, 1, 701, 698, 1, 1, 188, 189, 1, 1, 698, 701, 1, 1, 701, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 710, 1, 1, 710, 707, 1, 1, 188, 189, 1, 1, 707, 710, 1, 1, 710, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 252, 1, 1, 1, 1, 1, 1, 1, 1, 188, 189, 1, 1, 1, 1, 1, 1, 1, 1, 252, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 197, 198, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] + ], + + "Layer 3": [ + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 55, 56, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 341, 342, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 395, 396, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 341, 342, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 395, 396, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 341, 342, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 350, 351, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] + ], + + "Hitboxes": [ + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 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], + [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 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], + [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 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], + [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 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], + [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0], + [0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0], + [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0], + [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0], + [0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 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, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 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, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + ], + + "NextMaps": [ + { + "Number": 2, + + "Path": "ressources/maps/dungeon entry.json", + + "PlayerInitPos": { + "x": 10, + "y": 7 + } + } + ], + + "Entities": [ + [ + { + "Type": "TransformComponent", + + "Position": { + "x": 47, + "y": 12 + }, + + "Dimension": { + "x": 48, + "y": 32 + }, + + "Scale": 2, + + "Speed": 0 + }, + { + "Type": "SpriteComponent", + + "Path": "ressources/props/lever.png" + }, + { + "Type": "AnimationSystem", + + "NbFrames": 3, + + "CurrentFrame": 0, + + "FrameDelay": 10, + + "PlayAnimation": false + }, + { + "Type": "HitboxComponent", + + "Scale": { + "x": 0.33333, + "y": 0.21875 + }, + + "Position": { + "x": 0.5, + "y": 0.82 + } + }, + { + "Type": "Lever", + + "Channel": 0 + } + ], + [ + { + "Type": "TransformComponent", + + "Position": { + "x": 47, + "y": 18 + }, + + "Dimension": { + "x": 48, + "y": 32 + }, + + "Scale": 2, + + "Speed": 0 + }, + { + "Type": "SpriteComponent", + + "Path": "ressources/props/lever.png" + }, + { + "Type": "AnimationSystem", + + "NbFrames": 3, + + "CurrentFrame": 0, + + "FrameDelay": 10, + + "PlayAnimation": false + }, + { + "Type": "HitboxComponent", + + "Scale": { + "x": 0.33333, + "y": 0.21875 + }, + + "Position": { + "x": 0.5, + "y": 0.82 + } + }, + { + "Type": "Lever", + + "Channel": 1 + } + ], + [ + { + "Type": "TransformComponent", + + "Position": { + "x": 23, + "y": 1 + }, + + "Dimension": { + "x": 16, + "y": 32 + }, + + "Scale": 2, + + "Speed": 0 + }, + { + "Type": "SpriteComponent", + + "Path": "ressources/props/lock.png" + }, + { + "Type": "AnimationSystem", + + "NbFrames": 7, + + "CurrentFrame": 0, + + "FrameDelay": 8, + + "PlayAnimation": false + }, + { + "Type": "Lock", + + "Channel": 2 + } + ], + [ + { + "Type": "TransformComponent", + + "Position": { + "x": 45, + "y": 10 + }, + + "Dimension": { + "x": 32, + "y": 48 + }, + + "Scale": 2, + + "Speed": 0 + }, + { + "Type": "SpriteComponent", + + "Path": "ressources/props/barred door 2.png" + }, + { + "Type": "AnimationSystem", + + "NbFrames": 8, + + "CurrentFrame": 0, + + "FrameDelay": 3, + + "PlayAnimation": false + }, + { + "Type": "HitboxComponent", + + "Scale": { + "x": 1, + "y": 0.6666666666666 + }, + + "Position": { + "x": 0, + "y": 1 + } + }, + { + "Type": "Door", + + "States": [ + { + "Channel": 0, + "State": false + }, + { + "Channel": 1, + "State": true + } + ] + } + ], + [ + { + "Type": "TransformComponent", + + "Position": { + "x": 6, + "y": 9 + }, + + "Dimension": { + "x": 32, + "y": 48 + }, + + "Scale": 2, + + "Speed": 0 + }, + { + "Type": "SpriteComponent", + + "Path": "ressources/props/barred door 2.png" + }, + { + "Type": "AnimationSystem", + + "NbFrames": 8, + + "CurrentFrame": 0, + + "FrameDelay": 3, + + "PlayAnimation": false + }, + { + "Type": "HitboxComponent", + + "Scale": { + "x": 1, + "y": 0.6666666666666 + }, + + "Position": { + "x": 0, + "y": 1 + } + }, + { + "Type": "Door", + + "States": [ + { + "Channel": 0, + "State": true + }, + { + "Channel": 1, + "State": true + } + ] + } + ] + ] +} diff --git a/assets-cg/ressources/props/Props/Props 2.png b/assets-cg/ressources/props/Props/Props 2.png new file mode 100644 index 0000000..a99fab4 Binary files /dev/null and b/assets-cg/ressources/props/Props/Props 2.png differ diff --git a/assets-cg/ressources/props/Props/Props.png b/assets-cg/ressources/props/Props/Props.png new file mode 100644 index 0000000..188dcb3 Binary files /dev/null and b/assets-cg/ressources/props/Props/Props.png differ diff --git a/assets-cg/ressources/props/barred door 2.png b/assets-cg/ressources/props/barred door 2.png new file mode 100644 index 0000000..9f51a56 Binary files /dev/null and b/assets-cg/ressources/props/barred door 2.png differ diff --git a/assets-cg/ressources/props/barred door.png b/assets-cg/ressources/props/barred door.png new file mode 100644 index 0000000..62b0109 Binary files /dev/null and b/assets-cg/ressources/props/barred door.png differ diff --git a/assets-cg/ressources/props/big chest.png b/assets-cg/ressources/props/big chest.png new file mode 100644 index 0000000..7e274df Binary files /dev/null and b/assets-cg/ressources/props/big chest.png differ diff --git a/assets-cg/ressources/props/key.png b/assets-cg/ressources/props/key.png new file mode 100644 index 0000000..974f6bd Binary files /dev/null and b/assets-cg/ressources/props/key.png differ diff --git a/assets-cg/ressources/props/lever.png b/assets-cg/ressources/props/lever.png new file mode 100644 index 0000000..25704c0 Binary files /dev/null and b/assets-cg/ressources/props/lever.png differ diff --git a/assets-cg/ressources/props/lock.png b/assets-cg/ressources/props/lock.png new file mode 100644 index 0000000..d638470 Binary files /dev/null and b/assets-cg/ressources/props/lock.png differ diff --git a/assets-cg/ressources/props/small chest.png b/assets-cg/ressources/props/small chest.png new file mode 100644 index 0000000..7476600 Binary files /dev/null and b/assets-cg/ressources/props/small chest.png differ diff --git a/assets-cg/ressources/props/small empty jare.png b/assets-cg/ressources/props/small empty jare.png new file mode 100644 index 0000000..91c683e Binary files /dev/null and b/assets-cg/ressources/props/small empty jare.png differ diff --git a/assets-cg/ressources/props/tall empty jare.png b/assets-cg/ressources/props/tall empty jare.png new file mode 100644 index 0000000..5ac3a28 Binary files /dev/null and b/assets-cg/ressources/props/tall empty jare.png differ diff --git a/assets-cg/ressources/props/wood barrel.png b/assets-cg/ressources/props/wood barrel.png new file mode 100644 index 0000000..890ce56 Binary files /dev/null and b/assets-cg/ressources/props/wood barrel.png differ diff --git a/assets-cg/ressources/props/wood box.png b/assets-cg/ressources/props/wood box.png new file mode 100644 index 0000000..87a9898 Binary files /dev/null and b/assets-cg/ressources/props/wood box.png differ diff --git a/assets-cg/ressources/props/wood door.png b/assets-cg/ressources/props/wood door.png new file mode 100644 index 0000000..d2f3caa Binary files /dev/null and b/assets-cg/ressources/props/wood door.png differ diff --git a/assets-cg/ressources/tileset/tileset.png b/assets-cg/ressources/tileset/tileset.png new file mode 100644 index 0000000..4d36a9c Binary files /dev/null and b/assets-cg/ressources/tileset/tileset.png differ diff --git a/assets-cg/ressources/tileset/tileset.tsx b/assets-cg/ressources/tileset/tileset.tsx new file mode 100644 index 0000000..48bb47d --- /dev/null +++ b/assets-cg/ressources/tileset/tileset.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/assets-cg/ressources/weapons/Bone/Bone.png b/assets-cg/ressources/weapons/Bone/Bone.png new file mode 100644 index 0000000..b1e5587 Binary files /dev/null and b/assets-cg/ressources/weapons/Bone/Bone.png differ diff --git a/assets-cg/ressources/weapons/Hands/Hands.png b/assets-cg/ressources/weapons/Hands/Hands.png new file mode 100644 index 0000000..a181c2e Binary files /dev/null and b/assets-cg/ressources/weapons/Hands/Hands.png differ diff --git a/assets-cg/ressources/weapons/Wood/Wood.png b/assets-cg/ressources/weapons/Wood/Wood.png new file mode 100644 index 0000000..61ea975 Binary files /dev/null and b/assets-cg/ressources/weapons/Wood/Wood.png differ diff --git a/src/event.h b/src/event.h new file mode 100644 index 0000000..7000bc8 --- /dev/null +++ b/src/event.h @@ -0,0 +1,10 @@ +#ifndef EVENT_H +#define EVENT_H + +#include + +typedef struct { + bool keys[0xa6]; +} event_t; + +#endif // EVENT_H \ No newline at end of file diff --git a/src/game.c b/src/game.c new file mode 100644 index 0000000..2b6d5bc --- /dev/null +++ b/src/game.c @@ -0,0 +1,11 @@ +#include +#include "game.h" + +int game_init(game_t *game) +{ + game = kmalloc(sizeof(game_t), NULL); + + if(game == NULL) return 1; + + return 0; +} \ No newline at end of file diff --git a/src/game.h b/src/game.h new file mode 100644 index 0000000..141779c --- /dev/null +++ b/src/game.h @@ -0,0 +1,25 @@ +#ifndef GAME_H +#define GAME_H + +#include +#include "event.h" +#include "texture_manager.h" + +#define WINDOW_WIDTH 396 +#define WINDOW_HEIGHT 224 + +typedef struct { + event_t event; + texture_manager_t *texture_manager; + bool is_running; +} game_t; + +int game_init(game_t*); + +int game_handle_event(game_t*); +int game_update(game_t*); +int game_render(game_t*); + +int game_exit(game_t*); + +#endif // GAME_H \ No newline at end of file diff --git a/src/linked_list.c b/src/linked_list.c new file mode 100644 index 0000000..49504b1 --- /dev/null +++ b/src/linked_list.c @@ -0,0 +1,137 @@ +#include +#include "linked_list.h" + +#include + +void linked_list_init(linked_list_t *linked_list, const size_t data_size) +{ + linked_list->data_size = data_size; + linked_list->first = NULL; + linked_list->last = NULL; +} + +elem_t *elem_create(linked_list_t *linked_list) +{ + elem_t *elem; + elem = kmalloc(sizeof(elem_t), NULL); + if(!elem) return NULL; + + elem->data = kmalloc(linked_list->data_size, NULL); + if(!elem->data) + { + kfree(elem); + return NULL; + } + + return elem; +} + +void linked_list_push_back(linked_list_t *linked_list, elem_t *elem) +{ + if(!elem) return; + + elem->prev = linked_list->last; + elem->next = NULL; + + if(linked_list->last) + linked_list->last->next = elem; + else + linked_list->first = elem; + + linked_list->last = elem; +} + +void linked_list_push_front(linked_list_t *linked_list, elem_t *elem) +{ + if(!elem) return; + + elem->next = linked_list->first; + elem->prev = NULL; + + if(linked_list->first) + linked_list->first->prev = elem; + else + linked_list->last = elem; + + linked_list->first = elem; +} + +void linked_list_pop_back(linked_list_t *linked_list) +{ + elem_t *tmp = linked_list->last; + if(!tmp) return; + + linked_list->last = tmp->prev; + + if(linked_list->last) + linked_list->last->next = NULL; + else + linked_list->first = NULL; + + kfree(tmp->data); + kfree(tmp); + if(tmp != NULL) + { + dtext(80, 80, C_RED, "WHAT THE HELLL ??"); + } +} + +void linked_list_pop_front(linked_list_t *linked_list) +{ + elem_t *tmp = linked_list->first; + if(!tmp) return; + + linked_list->first = tmp->next; + + if(linked_list->first) + linked_list->first->prev = NULL; + else + linked_list->last = NULL; + + kfree(tmp->data); + kfree(tmp); +} + +size_t linked_list_get_size(linked_list_t *linked_list) +{ + elem_t *actual_elem = linked_list->first; + if(!actual_elem) return 0; + + size_t size = 0; + while(actual_elem) + { + actual_elem = actual_elem->next; + size++; + } + return size; +} + +bool linked_list_is_empty(linked_list_t *linked_list) +{ + return !linked_list->first; +} + +bool linked_list_is_in_bound(linked_list_t *linked_list, size_t index) +{ + return index < linked_list_get_size(linked_list); +} + +elem_t *linked_list_get_elem(linked_list_t *linked_list, size_t index) +{ + if(!linked_list_is_in_bound(linked_list, index)) return NULL; + + elem_t *actual_elem = linked_list->first; + if(!actual_elem) return NULL; + + for (size_t i = 0; i < index; i++) + { + actual_elem = actual_elem->next; + } + + return actual_elem; +} +/* +void linked_list_insert(linked_list_t *linked_list, elem_t *elem, size_t index) +{ + +}*/ \ No newline at end of file diff --git a/src/linked_list.h b/src/linked_list.h new file mode 100644 index 0000000..05909a3 --- /dev/null +++ b/src/linked_list.h @@ -0,0 +1,95 @@ +#ifndef LINKED_LIST_H +#define LINKED_LIST_H + +#include + +/* elem_t: Element base for linked lists + This struct is the base for storing data. + + @data Raw pointer to any type of data + @prev Pointer to the prev element in the linked list + @next Pointer to the next element in the linked list */ +typedef struct elem_t { + void *data; + struct elem_t *prev; + struct elem_t *next; +} elem_t; + +/* linked_list_t: Base of linked lists + This struct is the base for creating linked lists. + + @data_size Size of the data stored in the linked list + @first Pointer to the first element in the linked list + @last Pointer to the last element in the linked list */ +typedef struct { + size_t data_size; + elem_t *first; + elem_t *last; +} linked_list_t; + +/* linked_list_init(): Init a linked_list_t + This function is necessary if you create a linked list. + + @linked_list Pointer to an linked_list_t + @data_size Data size for the linked list */ +void linked_list_init(linked_list_t *linked_list, const size_t data_size); + +/* elem_create(): Create an elem to fill with data and insert in a linked list. + This function is usefull when you want to initialise an elem with the proper data_size. + + @linked_list Pointer to an linked_list_t + Return adress of initialised elem, NULL on error. */ +elem_t *elem_create(linked_list_t *linked_list); + +/* linked_list_push_back(): Insert an elem_t from the back in a linked_list_t. + + @linked_list Pointer to an linked_list_t + @elem Pointer to an elem_t + Insert elem in the back of the linked list, do nothing on error. */ +void linked_list_push_back(linked_list_t *linked_list, elem_t *elem); + +/* linked_list_push_front(): Insert an elem_t from the front in a linked_list_t. + + @linked_list Pointer to an linked_list_t + @elem Pointer to an elem_t + Insert elem in the front of the linked list, do nothing on error. */ +void linked_list_push_front(linked_list_t *linked_list, elem_t *elem); + +/* linked_list_pop_back(): Delete the last elem in the given linked list + + @linked_list Pointer to an linked_list_t + Delete last elem of the linked list, do nothing on error. */ +void linked_list_pop_back(linked_list_t *linked_list); + +/* linked_list_pop_front(): Delete the first elem in the given linked list + + @linked_list Pointer to an linked_list_t + Delete first elem of the linked list, do nothing on error. */ +void linked_list_pop_front(linked_list_t *linked_list); + +/* linked_list_get_size(): Get the size of the given linked list + + @linked_list Pointer to an linked_list_t + Return size of the given linked list, 0 if it's empty. */ +size_t linked_list_get_size(linked_list_t *linked_list); + +/* linked_list_is_empty(): Check if the given linked list is empty + + @linked_list Pointer to an linked_list_t + Return true if the given linked list is empty else false. */ +bool linked_list_is_empty(linked_list_t *linked_list); + +/* linked_list_is_in_bound(): Check if the given index is whithin the range of the linked list + + @linked_list Pointer to an linked_list_t + Return true if the given linked list is empty else false. */ +bool linked_list_is_in_bound(linked_list_t *linked_list, size_t index); + +/* linked_list_get_elem(): Get element at the given index in the linked list + + @linked_list Pointer to an linked_list_t + @index Index of the wanted element + Return the element, NULL on error. */ +elem_t *linked_list_get_elem(linked_list_t *linked_list, size_t index); + +#endif // LINKED_LIST_H \ No newline at end of file diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..858aa47 --- /dev/null +++ b/src/main.c @@ -0,0 +1,83 @@ +//#include "game.h" +/* +int main(void) +{ + game_t *game; + + game_init(game); + + while(game->is_running) + { + game_handle_event(game); + game_update(game); + game_render(game); + } + + return game_exit(game); +} +*/ + +#include +#include +#include +#include "linked_list.h" + +int main(void) +{ + dclear(C_WHITE); + + linked_list_t list; + linked_list_init(&list, sizeof(int)); + + elem_t *elem = elem_create(&list); + if((!elem) || (!elem->data)) + { + dtext(1, 1, C_BLACK, "element is not correctly initialised"); + goto Exit; + } + *(int *)elem->data = 42; + + elem_t *elem2 = elem_create(&list); + if((!elem2) || (!elem2->data)) + { + dtext(1, 1, C_BLACK, "element 2 is not correctly initialised"); + goto Exit; + } + + linked_list_push_back(&list, elem); + linked_list_push_back(&list, elem2); + + if(*(int *)list.first->data == 42) + { + dtext(1, 1, C_BLACK, "element is correctly initialised"); + } + + if(list.first == elem && list.last == elem2) + { + dtext(1, 20, C_BLACK, "elements are correctly putted in the list"); + } + + linked_list_pop_back(&list); + if(list.first == list.last && list.first == elem) + { + dtext(1, 40, C_BLACK, "element 2 is correctly removed from the back"); + } +/* + linked_list_pop_back(&list); + if(list.first == list.last && list.first == NULL) + { + dtext(1, 60, C_BLACK, "element is correctly removed from the back"); + } +*/ + Exit: + //if(elem) kfree(elem->data); + //if(elem) kfree(elem); + //if(elem2) kfree(elem2->data); + //if(elem2) kfree(elem2); + + dupdate(); + + getkey(); + + return 1; +} \ No newline at end of file diff --git a/src/texture_manager.c b/src/texture_manager.c new file mode 100644 index 0000000..e69de29 diff --git a/src/texture_manager.h b/src/texture_manager.h new file mode 100644 index 0000000..e1988d4 --- /dev/null +++ b/src/texture_manager.h @@ -0,0 +1,8 @@ +#ifndef TEXTURE_MANAGER_H +#define TEXTURE_MANAGER_H + +typedef struct { + +} texture_manager_t; + +#endif // TEXTURE_MANAGER_H \ No newline at end of file diff --git a/src/vector2d.c b/src/vector2d.c new file mode 100644 index 0000000..dcffcf2 --- /dev/null +++ b/src/vector2d.c @@ -0,0 +1,82 @@ +#include "vector2d.h" + +bool has_intersection(const rect_t * A, const rect_t * B) +{ + int Amin, Amax, Bmin, Bmax; + + if (!A || !B) { + return false; + } + + /* Special cases for empty rects */ + if (rect_empty(A) || rect_empty(B)) { + return false; + } + + /* Horizontal intersection */ + Amin = A->x; + Amax = Amin + A->w; + Bmin = B->x; + Bmax = Bmin + B->w; + if (Bmin > Amin) + Amin = Bmin; + if (Bmax < Amax) + Amax = Bmax; + if (Amax <= Amin) + return false; + + /* Vertical intersection */ + Amin = A->y; + Amax = Amin + A->h; + Bmin = B->y; + Bmax = Bmin + B->h; + if (Bmin > Amin) + Amin = Bmin; + if (Bmax < Amax) + Amax = Bmax; + if (Amax <= Amin) + return false; + + return true; +} + +bool intersect_rect(const rect_t * A, const rect_t * B, rect_t * result) +{ + int Amin, Amax, Bmin, Bmax; + + if (!A || !B || !result) { + // TODO error message + return false; + } + + /* Special cases for empty rects */ + if (rect_empty(A) || rect_empty(B)) { + return false; + } + + /* Horizontal intersection */ + Amin = A->x; + Amax = Amin + A->w; + Bmin = B->x; + Bmax = Bmin + B->w; + if (Bmin > Amin) + Amin = Bmin; + result->x = Amin; + if (Bmax < Amax) + Amax = Bmax; + result->w = Amax - Amin; + + /* Vertical intersection */ + Amin = A->y; + Amax = Amin + A->h; + Bmin = B->y; + Bmax = Bmin + B->h; + if (Bmin > Amin) + Amin = Bmin; + result->y = Amin; + if (Bmax < Amax) + Amax = Bmax; + result->h = Amax - Amin; + + return !rect_empty(result); +} \ No newline at end of file diff --git a/src/vector2d.h b/src/vector2d.h new file mode 100644 index 0000000..dc9badb --- /dev/null +++ b/src/vector2d.h @@ -0,0 +1,31 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\ +* All of the functions declared in this file and * +* defined in vector2d.c are from the SDL2 source code. * +* They are just renamed. * +* => https://github.com/libsdl-org/SDL * +\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#ifndef VECTOR2D_H +#define VECTOR2D_H + +#include + +typedef struct { + int x, y; +} vector2d_t; + +typedef struct { + int x, y; + int w, h; +} rect_t; + +#define point_in_rect(P, R) (((P)->x >= (R)->x) && ((P)->x < ((R)->x + (R)->w)) && \ + ((P)->y >= (R)->y) && ((P)->y < ((R)->y + (R)->h))) + +#define rect_empty(X) ((!(X)) || ((X)->w <= 0) || ((X)->h <= 0)) + +bool has_intersection(const rect_t * A, const rect_t * B); + +bool intersect_rect(const rect_t * A, const rect_t * B, rect_t * result); + +#endif // VECTOR2D_H \ No newline at end of file