mirror of
https://github.com/redstrate/Novus.git
synced 2025-05-19 06:47:44 +00:00
Add more error handling when loading maps, update libphysis
This commit is contained in:
parent
7077f1727b
commit
2be604d6fa
2 changed files with 17 additions and 8 deletions
|
@ -49,8 +49,11 @@ void MapView::addTerrain(QString basePath, physis_Terrain terrain)
|
||||||
for (uint32_t j = 0; j < plateMdl.num_material_names; j++) {
|
for (uint32_t j = 0; j < plateMdl.num_material_names; j++) {
|
||||||
const char *material_name = plateMdl.material_names[j];
|
const char *material_name = plateMdl.material_names[j];
|
||||||
|
|
||||||
auto mat = physis_material_parse(m_cache.lookupFile(QLatin1String(material_name)));
|
const auto matFile = m_cache.lookupFile(QLatin1String(material_name));
|
||||||
materials.push_back(mat);
|
if (matFile.size > 0) {
|
||||||
|
auto mat = physis_material_parse(matFile);
|
||||||
|
materials.push_back(mat);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mdlPart->addModel(plateMdl,
|
mdlPart->addModel(plateMdl,
|
||||||
|
@ -78,9 +81,12 @@ void MapView::reloadMap()
|
||||||
std::string bgPathStd = bgPath.toStdString() + "terrain.tera";
|
std::string bgPathStd = bgPath.toStdString() + "terrain.tera";
|
||||||
|
|
||||||
auto tera_buffer = physis_gamedata_extract_file(m_data, bgPathStd.c_str());
|
auto tera_buffer = physis_gamedata_extract_file(m_data, bgPathStd.c_str());
|
||||||
|
if (tera_buffer.size > 0) {
|
||||||
auto tera = physis_parse_tera(tera_buffer);
|
auto tera = physis_parse_tera(tera_buffer);
|
||||||
addTerrain(bgPath, tera);
|
addTerrain(bgPath, tera);
|
||||||
|
} else {
|
||||||
|
qWarning() << "Failed to load" << bgPathStd;
|
||||||
|
}
|
||||||
|
|
||||||
// add bg models
|
// add bg models
|
||||||
for (const auto &[name, lgb] : m_appState->lgbFiles) {
|
for (const auto &[name, lgb] : m_appState->lgbFiles) {
|
||||||
|
@ -111,8 +117,11 @@ void MapView::reloadMap()
|
||||||
for (uint32_t j = 0; j < plateMdl.num_material_names; j++) {
|
for (uint32_t j = 0; j < plateMdl.num_material_names; j++) {
|
||||||
const char *material_name = plateMdl.material_names[j];
|
const char *material_name = plateMdl.material_names[j];
|
||||||
|
|
||||||
auto mat = physis_material_parse(m_cache.lookupFile(QLatin1String(material_name)));
|
const auto matFile = m_cache.lookupFile(QLatin1String(material_name));
|
||||||
materials.push_back(mat);
|
if (matFile.size > 0) {
|
||||||
|
auto mat = physis_material_parse(matFile);
|
||||||
|
materials.push_back(mat);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mdlPart->addModel(
|
mdlPart->addModel(
|
||||||
|
|
2
extern/libphysis
vendored
2
extern/libphysis
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit 92a9a217616b8a229871b41cc7ca3e65704dc059
|
Subproject commit a003502171ceed7a15d4dad705c68e4447a485e3
|
Loading…
Add table
Reference in a new issue