ref: properly return false to the engine if renderer refuses to load the model for some reason
This commit is contained in:
parent
c2da140ccc
commit
719093c10b
2 changed files with 50 additions and 49 deletions
|
@ -124,33 +124,35 @@ static void Mod_UnloadTextures( model_t *mod )
|
||||||
|
|
||||||
static qboolean Mod_ProcessRenderData( model_t *mod, qboolean create, const byte *buf )
|
static qboolean Mod_ProcessRenderData( model_t *mod, qboolean create, const byte *buf )
|
||||||
{
|
{
|
||||||
qboolean loaded = true;
|
qboolean loaded = false;
|
||||||
|
|
||||||
if( create )
|
|
||||||
{
|
|
||||||
switch( mod->type )
|
|
||||||
{
|
|
||||||
case mod_studio:
|
|
||||||
// Mod_LoadStudioModel( mod, buf, loaded );
|
|
||||||
break;
|
|
||||||
case mod_sprite:
|
|
||||||
Mod_LoadSpriteModel( mod, buf, &loaded, mod->numtexinfo );
|
|
||||||
break;
|
|
||||||
case mod_alias:
|
|
||||||
Mod_LoadAliasModel( mod, buf, &loaded );
|
|
||||||
break;
|
|
||||||
case mod_brush:
|
|
||||||
// Mod_LoadBrushModel( mod, buf, loaded );
|
|
||||||
break;
|
|
||||||
default: gEngfuncs.Host_Error( "%s: unsupported type %d\n", __func__, mod->type );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if( loaded && gEngfuncs.drawFuncs->Mod_ProcessUserData )
|
|
||||||
gEngfuncs.drawFuncs->Mod_ProcessUserData( mod, create, buf );
|
|
||||||
|
|
||||||
if( !create )
|
if( !create )
|
||||||
|
{
|
||||||
|
if( gEngfuncs.drawFuncs->Mod_ProcessUserData )
|
||||||
|
gEngfuncs.drawFuncs->Mod_ProcessUserData( mod, false, buf );
|
||||||
Mod_UnloadTextures( mod );
|
Mod_UnloadTextures( mod );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch( mod->type )
|
||||||
|
{
|
||||||
|
case mod_studio:
|
||||||
|
case mod_brush:
|
||||||
|
loaded = true;
|
||||||
|
break;
|
||||||
|
case mod_sprite:
|
||||||
|
Mod_LoadSpriteModel( mod, buf, &loaded, mod->numtexinfo );
|
||||||
|
break;
|
||||||
|
case mod_alias:
|
||||||
|
Mod_LoadAliasModel( mod, buf, &loaded );
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
gEngfuncs.Host_Error( "%s: unsupported type %d\n", __func__, mod->type );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( gEngfuncs.drawFuncs->Mod_ProcessUserData )
|
||||||
|
gEngfuncs.drawFuncs->Mod_ProcessUserData( mod, true, buf );
|
||||||
|
|
||||||
return loaded;
|
return loaded;
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,34 +66,33 @@ void Mod_UnloadTextures( model_t *mod );
|
||||||
|
|
||||||
static qboolean GAME_EXPORT Mod_ProcessRenderData( model_t *mod, qboolean create, const byte *buf )
|
static qboolean GAME_EXPORT Mod_ProcessRenderData( model_t *mod, qboolean create, const byte *buf )
|
||||||
{
|
{
|
||||||
qboolean loaded = true;
|
qboolean loaded = false;
|
||||||
|
|
||||||
if( create )
|
|
||||||
{
|
|
||||||
switch( mod->type )
|
|
||||||
{
|
|
||||||
case mod_studio:
|
|
||||||
// Mod_LoadStudioModel( mod, buf, loaded );
|
|
||||||
break;
|
|
||||||
case mod_sprite:
|
|
||||||
Mod_LoadSpriteModel( mod, buf, &loaded, mod->numtexinfo );
|
|
||||||
break;
|
|
||||||
case mod_alias:
|
|
||||||
// Mod_LoadAliasModel( mod, buf, &loaded );
|
|
||||||
break;
|
|
||||||
case mod_brush:
|
|
||||||
// Mod_LoadBrushModel( mod, buf, loaded );
|
|
||||||
break;
|
|
||||||
|
|
||||||
default: gEngfuncs.Host_Error( "%s: unsupported type %d\n", __func__, mod->type );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if( loaded && gEngfuncs.drawFuncs->Mod_ProcessUserData )
|
|
||||||
gEngfuncs.drawFuncs->Mod_ProcessUserData( mod, create, buf );
|
|
||||||
|
|
||||||
if( !create )
|
if( !create )
|
||||||
|
{
|
||||||
|
if( gEngfuncs.drawFuncs->Mod_ProcessUserData )
|
||||||
|
gEngfuncs.drawFuncs->Mod_ProcessUserData( mod, false, buf );
|
||||||
Mod_UnloadTextures( mod );
|
Mod_UnloadTextures( mod );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch( mod->type )
|
||||||
|
{
|
||||||
|
case mod_studio:
|
||||||
|
case mod_brush:
|
||||||
|
case mod_alias:
|
||||||
|
loaded = true;
|
||||||
|
break;
|
||||||
|
case mod_sprite:
|
||||||
|
Mod_LoadSpriteModel( mod, buf, &loaded, mod->numtexinfo );
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
gEngfuncs.Host_Error( "%s: unsupported type %d\n", __func__, mod->type );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( gEngfuncs.drawFuncs->Mod_ProcessUserData )
|
||||||
|
gEngfuncs.drawFuncs->Mod_ProcessUserData( mod, true, buf );
|
||||||
|
|
||||||
return loaded;
|
return loaded;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue