diff --git a/TheOneSDL/Application.h b/TheOneSDL/Application.h index 927ca7f..c517058 100644 --- a/TheOneSDL/Application.h +++ b/TheOneSDL/Application.h @@ -4,7 +4,7 @@ // Version Number #define VERSION_MAJOR 0 #define VERSION_MINOR 23 -#define VERSION_PATCH 9 +#define VERSION_PATCH 10 #define STR_HELPER(x) #x // convert to fit window title #define STR(x) STR_HELPER(x) diff --git a/TheOneSDL/Terrain.cpp b/TheOneSDL/Terrain.cpp index b2ab50c..610faf0 100644 --- a/TheOneSDL/Terrain.cpp +++ b/TheOneSDL/Terrain.cpp @@ -206,20 +206,26 @@ bool Terrain::fillScreen() void Terrain::loadLevel(std::string level) { - std::cout << "Load level: " << level << std::endl; - std::ifstream ifs("levels.json"); // JSON file to open - - Json::Value obj; // Map of other JSON values can returna value type, null, int etc... + Json::Value lvl_data; // Map of other JSON values can returna value type, null, int etc... Json::Reader reader; - - if (reader.parse(ifs, obj)) + if (!reader.parse(ifs, lvl_data)) // If not parsable { - + std::cout << "!!!!!Error Parsing Level Data for Level " << level << std::endl; } + for (const auto& levelObject: lvl_data) + { + if (levelObject["name"].asString() == level) { + std::cout << "Load Level: " + level << std::endl; + // Parse the background tilemap from json to terrain object + //TODO + // Parse the obj_tilemap from json to terrain object + } + } + std::cout << "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"; // std::string line = diff --git a/TheOneSDL/levels.json b/TheOneSDL/levels.json index 8039486..7e3a6c4 100644 --- a/TheOneSDL/levels.json +++ b/TheOneSDL/levels.json @@ -1,45 +1,92 @@ -{ - "name": "Room", - "background_tilemap":[ - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww", - "wwwwwwwwwwwwwwwwwwwwwwwww" - ], - "obj_tilemap":[ - "ggggggggggggggggggggggggg", - "~~~~~~~~~~~~~~~~~~~~~~~~~", - "~~~~~~~~~~~~~~~~~~~~~~~~~", - "~~~~~~~~~~~~~~~~~~~~~~~~~", - "~~~f~~~~~~~~~~~~~~~~~~~~~", - "~~~f~~~~~~fff~~~~~~~~~~~~", - "~~~f~~~~~~~~~~~f~~~~~~~~~", - "~~~f~~~~~~~~~~~~~~f~~~~~~", - "~~~f~~~~~~~~~f~~~~~~f~~~~", - "~~~f~~~~~~~~~f~~~~~~~f~~~", - "~~~f~~~~~~~~fff~~~~~~~~~~", - "~~~f~~~~~~~~~f~~~~~~~~~f~", - "~~~~~~~~~ff~~f~~~~~~~~f~~", - "~~~~~~~~f~~~~~~~~~~~~f~~~", - "~f~~~~~ff~~~~~~~~p~~f~~~~", - "~~~~~ff~f~~~~~~~~~~f~~~~~", - "~~~~~~~~f~~~~lct~~f~~~~~~", - "fffffffffffffffffffffffff", - "ggggggggggggggggggggggggg" - ] -} \ No newline at end of file +[ + { + "name": "Empty", + "background_tilemap": [ + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~" + ], + "obj_tilemap:":[ + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~" + ] + }, + { + "name": "Room", + "background_tilemap": [ + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww", + "wwwwwwwwwwwwwwwwwwwwwwwww" + ], + "obj_tilemap:":[ + "ggggggggggggggggggggggggg", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~f~~~~~~~~~~~~~~~~~~~~~", + "~~~f~~~~~~fff~~~~~~~~~~~~", + "~~~f~~~~~~~~~~~f~~~~~~~~~", + "~~~f~~~~~~~~~~~~~~f~~~~~~", + "~~~f~~~~~~~~~f~~~~~~f~~~~", + "~~~f~~~~~~~~~f~~~~~~~f~~~", + "~~~f~~~~~~~~fff~~~~~~~~~~", + "~~~f~~~~~~~~~f~~~~~~~~~f~", + "~~~~~~~~~ff~~f~~~~~~~~f~~", + "~~~~~~~~f~~~~~~~~~~~~f~~~", + "~f~~~~~ff~~~~~~~~p~~f~~~~", + "~~~~~ff~f~~~~~~~~~~f~~~~~", + "~~~~~~~~f~~~~lct~~f~~~~~~", + "fffffffffffffffffffffffff", + "ggggggggggggggggggggggggg" + ] + } +] \ No newline at end of file