tests for new WAD stuff

This commit is contained in:
Jonathan 2022-06-27 08:14:30 -04:00
parent 26608c1b37
commit 59bff81e9d
2 changed files with 48 additions and 2 deletions

View File

@ -440,8 +440,8 @@ void serialize_bsp(const bspdata_t &bspdata, const mbsp_t &bsp, const fs::path &
tex.push_back({"height", src_tex.height});
if (src_tex.data.size() > sizeof(dmiptex_t)) {
json &mips = tex["mips"] = json::array();
mips.emplace_back(serialize_image(img::load_mip(src_tex.name, src_tex.data, false, bspdata.loadversion->game)));
json &mips = tex["mips"] = json::array();
mips.emplace_back(serialize_image(img::load_mip(src_tex.name, src_tex.data, false, bspdata.loadversion->game)));
}
}
}

View File

@ -1579,6 +1579,52 @@ TEST_CASE("q2_door", "[testmaps_q2]") {
CHECK(bmodel_tight_bounds.maxs() == bsp.dmodels[1].maxs);
}
/**
* Test for WAD internal textures
**/
TEST_CASE("q1_wad_internal", "[testmaps_q1]") {
const auto [bsp, bspx, prt] = LoadTestmapQ1("qbsp_simple.map");
CHECK(GAME_QUAKE == bsp.loadversion->game->id);
CHECK(bsp.dtex.textures.size() == 4);
// skip is only here because of the water
CHECK(bsp.dtex.textures[0].name == "skip");
CHECK(bsp.dtex.textures[1].name == "orangestuff8");
CHECK(bsp.dtex.textures[2].name == "*zwater1");
CHECK(bsp.dtex.textures[3].name == "brown_brick");
CHECK(!bsp.dtex.textures[1].data.empty());
CHECK(!bsp.dtex.textures[2].data.empty());
CHECK(!bsp.dtex.textures[3].data.empty());
CHECK(img::load_mip("orangestuff8", bsp.dtex.textures[1].data, false, bsp.loadversion->game));
CHECK(img::load_mip("*zwater1", bsp.dtex.textures[2].data, false, bsp.loadversion->game));
CHECK(img::load_mip("brown_brick", bsp.dtex.textures[3].data, false, bsp.loadversion->game));
}
/**
* Test for WAD internal textures
**/
TEST_CASE("q1_wad_external", "[testmaps_q1]") {
const auto [bsp, bspx, prt] = LoadTestmapQ1("qbsp_simple.map", { "-xwadpath", "A:\\ericw-tools\\testmaps" });
CHECK(GAME_QUAKE == bsp.loadversion->game->id);
CHECK(bsp.dtex.textures.size() == 4);
// skip is only here because of the water
CHECK(bsp.dtex.textures[0].name == "skip");
CHECK(bsp.dtex.textures[1].name == "orangestuff8");
CHECK(bsp.dtex.textures[2].name == "*zwater1");
CHECK(bsp.dtex.textures[3].name == "brown_brick");
CHECK(bsp.dtex.textures[1].data.size() == sizeof(dmiptex_t));
CHECK(bsp.dtex.textures[2].data.size() == sizeof(dmiptex_t));
CHECK(bsp.dtex.textures[3].data.size() == sizeof(dmiptex_t));
}
TEST_CASE("winding", "[benchmark]") {
ankerl::nanobench::Bench bench;