engine: model: do not crash if renderer refused to load this model

This commit is contained in:
Alibek Omarov 2025-01-22 19:12:43 +03:00
parent 375998dffb
commit c2da140ccc

View file

@ -258,7 +258,7 @@ model_t *Mod_LoadModel( model_t *mod, qboolean crash )
{ {
char tempname[MAX_QPATH]; char tempname[MAX_QPATH];
fs_offset_t length = 0; fs_offset_t length = 0;
qboolean loaded; qboolean loaded, loaded2 = false;
byte *buf; byte *buf;
model_info_t *p; model_info_t *p;
@ -328,12 +328,13 @@ model_t *Mod_LoadModel( model_t *mod, qboolean crash )
{ {
// let the server.dll load custom data // let the server.dll load custom data
svgame.physFuncs.Mod_ProcessUserData( mod, true, buf ); svgame.physFuncs.Mod_ProcessUserData( mod, true, buf );
loaded2 = true;
} }
} }
#if !XASH_DEDICATED #if !XASH_DEDICATED
else else
{ {
loaded = ref.dllFuncs.Mod_ProcessRenderData( mod, true, buf ); loaded2 = ref.dllFuncs.Mod_ProcessRenderData( mod, true, buf );
} }
#endif #endif
} }
@ -345,7 +346,7 @@ model_t *Mod_LoadModel( model_t *mod, qboolean crash )
hdr->pposeverts = NULL; hdr->pposeverts = NULL;
} }
if( !loaded ) if( !loaded || !loaded2 )
{ {
Mod_FreeModel( mod ); Mod_FreeModel( mod );
Mem_Free( buf ); Mem_Free( buf );