Issue #101 unit test (should fail)
This commit is contained in:
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@@ -58,7 +58,7 @@
|
||||
},
|
||||
{
|
||||
name: build and unit test,
|
||||
run: ./.github/workflows/scripts/mac/scons-build.sh
|
||||
run: ./.github/workflows/scripts/mac/scons-build.sh test=true
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -153,7 +153,7 @@
|
||||
},
|
||||
{
|
||||
name: build and unit test,
|
||||
run: '.\.github\workflows\scripts\win\scons-build.bat'
|
||||
run: '.\.github\workflows\scripts\win\scons-build.bat test=true'
|
||||
},
|
||||
{
|
||||
name: warn about failure to launch tests,
|
||||
|
@@ -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 = "");
|
||||
|
@@ -100,8 +100,9 @@ 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.
|
||||
if(pop_paths){
|
||||
fs::path graphics_path = ResMgr::graphics.popPath();
|
||||
for(auto p : graphics_path) {
|
||||
if(p.string() == "data") {
|
||||
@@ -116,6 +117,7 @@ bool load_scenario(fs::path file_to_load, cScenario& scenario, bool only_header)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
scenario = cScenario();
|
||||
std::string fname = file_to_load.filename().string();
|
||||
std::transform(fname.begin(), fname.end(), fname.begin(), tolower);
|
||||
|
@@ -42,6 +42,8 @@ env.AlwaysBuild(env.Install("#build/rsrc/", Dir("#rsrc/strings")))
|
||||
env.AlwaysBuild(env.Install("#build/rsrc/", Dir("#rsrc/dialogs")))
|
||||
env.AlwaysBuild(env.Install("#build/rsrc/", Dir("#rsrc/fonts")))
|
||||
env.AlwaysBuild(env.Install("#build/rsrc/", Dir("#rsrc/graphics")))
|
||||
# The town boundaries conversion test requires this:
|
||||
env.AlwaysBuild(env.Install("#build/rsrc/", Dir("#rsrc/sounds")))
|
||||
|
||||
env.Command("#build/test/junk/", '', 'mkdir "' + Dir("#build/test/junk").path + '"')
|
||||
env.Command("#build/test/passed", test, run_tests, chdir=True)
|
||||
|
BIN
test/files/town/townrectMac.exs
Normal file
BIN
test/files/town/townrectMac.exs
Normal file
Binary file not shown.
BIN
test/files/town/townrectUniversal/header.exs
Normal file
BIN
test/files/town/townrectUniversal/header.exs
Normal file
Binary file not shown.
9063
test/files/town/townrectUniversal/items.xml
Normal file
9063
test/files/town/townrectUniversal/items.xml
Normal file
File diff suppressed because it is too large
Load Diff
4606
test/files/town/townrectUniversal/monsters.xml
Normal file
4606
test/files/town/townrectUniversal/monsters.xml
Normal file
File diff suppressed because it is too large
Load Diff
48
test/files/town/townrectUniversal/out/out0~0.map
Normal file
48
test/files/town/townrectUniversal/out/out0~0.map
Normal file
@@ -0,0 +1,48 @@
|
||||
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
|
||||
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
|
||||
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
|
||||
5,5,5,21,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,18,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0*0,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,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247@0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0*2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*3,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,5,5,5
|
||||
5,5,5,20,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,19,5,5,5
|
||||
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
|
||||
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
|
||||
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
|
0
test/files/town/townrectUniversal/out/out0~0.spec
Normal file
0
test/files/town/townrectUniversal/out/out0~0.spec
Normal file
5
test/files/town/townrectUniversal/out/out0~0.xml
Normal file
5
test/files/town/townrectUniversal/out/out0~0.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<sector boes="2.0.0">
|
||||
<name>Area name</name>
|
||||
<comment>Comment</comment>
|
||||
</sector>
|
0
test/files/town/townrectUniversal/scenario.spec
Normal file
0
test/files/town/townrectUniversal/scenario.spec
Normal file
61
test/files/town/townrectUniversal/scenario.xml
Normal file
61
test/files/town/townrectUniversal/scenario.xml
Normal file
@@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<scenario boes="2.0.0">
|
||||
<title>Rect Town Bounds</title>
|
||||
<icon>0</icon>
|
||||
<id></id>
|
||||
<version>1.0.192</version>
|
||||
<language>en-US</language>
|
||||
<author>
|
||||
<name>NQNStudios</name>
|
||||
<email>Contact info</email>
|
||||
</author>
|
||||
<text>
|
||||
<teaser>Who wrote 1</teaser>
|
||||
<teaser>Who wrote 2</teaser>
|
||||
</text>
|
||||
<ratings>
|
||||
<content>G</content>
|
||||
<difficulty>1</difficulty>
|
||||
</ratings>
|
||||
<flags>
|
||||
<adjust-difficulty>true</adjust-difficulty>
|
||||
<legacy>false</legacy>
|
||||
<custom-graphics>true</custom-graphics>
|
||||
</flags>
|
||||
<creator>
|
||||
<type>oboe</type>
|
||||
<version>2.0.0</version>
|
||||
<os>Apple Mac OS X Version 14.5 (Build 23F79)</os>
|
||||
</creator>
|
||||
<game>
|
||||
<num-towns>1</num-towns>
|
||||
<out-width>1</out-width>
|
||||
<out-height>1</out-height>
|
||||
<start-town>0</start-town>
|
||||
<town-start x="24" y="24" />
|
||||
<outdoor-start x="0" y="0" />
|
||||
<sector-start x="24" y="24" />
|
||||
<shop>
|
||||
<name>Healing</name>
|
||||
<type>dead</type>
|
||||
<prompt>heal</prompt>
|
||||
<face>41</face>
|
||||
<entries>
|
||||
<heal>0</heal>
|
||||
<heal>1</heal>
|
||||
<heal>2</heal>
|
||||
<heal>4</heal>
|
||||
<heal>9</heal>
|
||||
<heal>5</heal>
|
||||
<heal>6</heal>
|
||||
<heal>7</heal>
|
||||
<heal>8</heal>
|
||||
</entries>
|
||||
</shop>
|
||||
</game>
|
||||
<editor>
|
||||
<default-ground>0</default-ground>
|
||||
<last-out-section x="0" y="0" />
|
||||
<last-town>0</last-town>
|
||||
</editor>
|
||||
</scenario>
|
6270
test/files/town/townrectUniversal/terrain.xml
Normal file
6270
test/files/town/townrectUniversal/terrain.xml
Normal file
File diff suppressed because it is too large
Load Diff
63
test/files/town/townrectUniversal/towns/talk0.xml
Normal file
63
test/files/town/townrectUniversal/towns/talk0.xml
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<dialogue boes="2.0.0">
|
||||
<personality id="0">
|
||||
<title>Unused</title>
|
||||
<look></look>
|
||||
<name></name>
|
||||
<job></job>
|
||||
</personality>
|
||||
<personality id="1">
|
||||
<title>Unused</title>
|
||||
<look></look>
|
||||
<name></name>
|
||||
<job></job>
|
||||
</personality>
|
||||
<personality id="2">
|
||||
<title>Unused</title>
|
||||
<look></look>
|
||||
<name></name>
|
||||
<job></job>
|
||||
</personality>
|
||||
<personality id="3">
|
||||
<title>Unused</title>
|
||||
<look></look>
|
||||
<name></name>
|
||||
<job></job>
|
||||
</personality>
|
||||
<personality id="4">
|
||||
<title>Unused</title>
|
||||
<look></look>
|
||||
<name></name>
|
||||
<job></job>
|
||||
</personality>
|
||||
<personality id="5">
|
||||
<title>Unused</title>
|
||||
<look></look>
|
||||
<name></name>
|
||||
<job></job>
|
||||
</personality>
|
||||
<personality id="6">
|
||||
<title>Unused</title>
|
||||
<look></look>
|
||||
<name></name>
|
||||
<job></job>
|
||||
</personality>
|
||||
<personality id="7">
|
||||
<title>Unused</title>
|
||||
<look></look>
|
||||
<name></name>
|
||||
<job></job>
|
||||
</personality>
|
||||
<personality id="8">
|
||||
<title>Unused</title>
|
||||
<look></look>
|
||||
<name></name>
|
||||
<job></job>
|
||||
</personality>
|
||||
<personality id="9">
|
||||
<title>Unused</title>
|
||||
<look></look>
|
||||
<name></name>
|
||||
<job></job>
|
||||
</personality>
|
||||
</dialogue>
|
48
test/files/town/townrectUniversal/towns/town0.map
Normal file
48
test/files/town/townrectUniversal/towns/town0.map
Normal file
@@ -0,0 +1,48 @@
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0v,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,170,170,170,170,170,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,0,0,0,0,0,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0>,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,0,0,0,0,0,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0<,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,0,0,0,0,0,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,170,170,170,170,170,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0^,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
0
test/files/town/townrectUniversal/towns/town0.spec
Normal file
0
test/files/town/townrectUniversal/towns/town0.spec
Normal file
12
test/files/town/townrectUniversal/towns/town0.xml
Normal file
12
test/files/town/townrectUniversal/towns/town0.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<town boes="2.0.0">
|
||||
<size>48</size>
|
||||
<name>Medium town 1</name>
|
||||
<comment>Comment 1</comment>
|
||||
<comment>Comment 2</comment>
|
||||
<comment>Comment 3</comment>
|
||||
<bounds top="22" left="21" bottom="26" right="27" />
|
||||
<difficulty>0</difficulty>
|
||||
<lighting>lit</lighting>
|
||||
<flags />
|
||||
</town>
|
BIN
test/files/town/townrectWindows.exs
Normal file
BIN
test/files/town/townrectWindows.exs
Normal file
Binary file not shown.
@@ -10,6 +10,12 @@
|
||||
#include "scenario/town.hpp"
|
||||
#include "scenario/scenario.hpp"
|
||||
#include "oldstructs.hpp"
|
||||
#include "fileio/fileio.hpp"
|
||||
#include <vector>
|
||||
#include "fileio/resmgr/res_image.hpp"
|
||||
#include "fileio/resmgr/res_sound.hpp"
|
||||
#include "fileio/resmgr/res_strings.hpp"
|
||||
|
||||
|
||||
TEST_CASE("Converting legacy town data") {
|
||||
cScenario scen;
|
||||
@@ -244,4 +250,28 @@ TEST_CASE("Converting legacy town data") {
|
||||
CHECK(town.area_desc[0] == rect(12,13,14,15));
|
||||
CHECK(town.creatures.size() == 30);
|
||||
}
|
||||
SECTION("Boundaries conversion") {
|
||||
fs::path test_scenarios_dir = fs::current_path()/"files"/"town";
|
||||
std::vector<fs::path> test_scenarios = {"townrectMac.exs", "townrectWindows.exs", fs::path("townrectUniversal")/"header.exs"};
|
||||
|
||||
ResMgr::strings.pushPath(fs::current_path()/".."/"rsrc"/"strings");
|
||||
ResMgr::graphics.pushPath(fs::current_path()/".."/"rsrc"/"graphics");
|
||||
ResMgr::sounds.pushPath(fs::current_path()/".."/"rsrc"/"sounds");
|
||||
|
||||
try{
|
||||
for(fs::path test_scenario : test_scenarios){
|
||||
cScenario scen;
|
||||
|
||||
load_scenario(test_scenarios_dir / test_scenario, scen, false, false);
|
||||
|
||||
CHECK(scen.towns[0]->in_town_rect.width() == 6);
|
||||
CHECK(scen.towns[0]->in_town_rect.height() == 4);
|
||||
}
|
||||
} catch(...) {
|
||||
ResMgr::sounds.popPath();
|
||||
ResMgr::graphics.popPath();
|
||||
throw;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user