fix invalid index_size in e3d serialization, fix missing parent message, move captureonstart after crashreporter gui

This commit is contained in:
milek7
2022-03-12 19:43:24 +01:00
parent 043ef610f2
commit 5e72bc1a55
2 changed files with 12 additions and 12 deletions

View File

@@ -1193,10 +1193,10 @@ int TSubModel::index_size() const {
}
if( ( size < 4 ) && ( m_geometry.handle != null_handle ) ) {
auto const indexcount { GfxRenderer->Indices( m_geometry.handle ).size() };
size = (
size = std::max( size, (
indexcount >= ( 1 << 16 ) ? 4 :
indexcount >= ( 1 << 8 ) ? 2 :
1 );
1 ) );
}
if( ( size < 4 ) && ( Next ) ) {
size = std::max( size, Next->index_size() );
@@ -2197,8 +2197,6 @@ void TModel3d::LoadFromTextFile(std::string const &FileName, bool dynamic)
}
SubModel = new TSubModel();
SubModel->Parent = GetFromName(parent);
if (SubModel->Parent == nullptr && parent != "none")
ErrorLog("Bad model: parent for sub-model \"" + SubModel->pName +"\" doesn't exist or is located later in the model data", logtype::model);
{
auto const result { SubModel->Load( parser, dynamic ) };
@@ -2206,6 +2204,8 @@ void TModel3d::LoadFromTextFile(std::string const &FileName, bool dynamic)
m_vertexcount += result.second;
}
if (SubModel->Parent == nullptr && parent != "none")
ErrorLog("Bad model: parent for sub-model \"" + SubModel->pName +"\" doesn't exist or is located later in the model data", logtype::model);
AddTo(SubModel->Parent, SubModel);
parser.getTokens();

View File

@@ -911,14 +911,6 @@ eu07_application::init_glfw() {
::SetWindowPos( Hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE );
#endif
if (Global.captureonstart)
{
Global.ControlPicking = false;
glfwSetInputMode(mainwindow, GLFW_CURSOR, GLFW_CURSOR_DISABLED);
}
else
Global.ControlPicking = true;
return 0;
}
@@ -1043,6 +1035,14 @@ eu07_application::init_modes() {
else
push_mode( mode::scenarioloader );
if (Global.captureonstart)
{
Global.ControlPicking = false;
glfwSetInputMode(m_windows.front(), GLFW_CURSOR, GLFW_CURSOR_DISABLED);
}
else
Global.ControlPicking = true;
return 0;
}