Issue #101 unit test (should fail)

This commit is contained in:
2024-09-11 18:31:08 -05:00
committed by Celtic Minstrel
parent 38de505723
commit 34b7eb9a76
20 changed files with 20225 additions and 15 deletions

View File

@@ -19,7 +19,7 @@ class cScenario;
class cUniverse;
fs::path locate_scenario(std::string scen_name);
bool load_scenario(fs::path file_to_load, cScenario& scenario, bool only_header = false);
bool load_scenario(fs::path file_to_load, cScenario& scenario, bool only_header = false, bool pop_paths = true);
fs::path nav_get_or_decode_party();
fs::path nav_put_or_temp_party(fs::path def = "");

View File

@@ -100,20 +100,22 @@ fs::path locate_scenario(std::string scen_name) {
return scenPath;
}
bool load_scenario(fs::path file_to_load, cScenario& scenario, bool only_header) {
bool load_scenario(fs::path file_to_load, cScenario& scenario, bool only_header, bool pop_paths) {
// Before loading a scenario, we may need to pop scenario resource paths.
fs::path graphics_path = ResMgr::graphics.popPath();
for(auto p : graphics_path) {
if(p.string() == "data") {
ResMgr::graphics.pushPath(graphics_path);
break;
if(pop_paths){
fs::path graphics_path = ResMgr::graphics.popPath();
for(auto p : graphics_path) {
if(p.string() == "data") {
ResMgr::graphics.pushPath(graphics_path);
break;
}
}
}
fs::path sounds_path = ResMgr::sounds.popPath();
for(auto p : sounds_path) {
if(p.string() == "data") {
ResMgr::sounds.pushPath(sounds_path);
break;
fs::path sounds_path = ResMgr::sounds.popPath();
for(auto p : sounds_path) {
if(p.string() == "data") {
ResMgr::sounds.pushPath(sounds_path);
break;
}
}
}
scenario = cScenario();