Fix some segfaults in server model loading.

I'd forgotten to test the servers when I did the vid_plugin changes.
This commit is contained in:
Bill Currie 2012-04-15 14:12:00 +09:00
parent 92c08fb957
commit 6f026e9116
2 changed files with 13 additions and 7 deletions

View File

@ -206,7 +206,8 @@ Mod_LoadTextures (bsp_t *bsp)
if (!strncmp (mt->name, "sky", 3))
loadmodel->skytexture = tx;
mod_funcs->Mod_ProcessTexture (tx);
if (mod_funcs)
mod_funcs->Mod_ProcessTexture (tx);
}
// sequence the animations
@ -544,7 +545,8 @@ Mod_LoadFaces (bsp_t *bsp)
if (!strncmp (out->texinfo->texture->name, "sky", 3)) { // sky
out->flags |= (SURF_DRAWSKY | SURF_DRAWTILED);
if (gl_sky_divide && gl_sky_divide->int_val)
mod_funcs->Mod_SubdivideSurface (out);
if (mod_funcs)
mod_funcs->Mod_SubdivideSurface (out);
continue;
}
@ -556,7 +558,8 @@ Mod_LoadFaces (bsp_t *bsp)
out->extents[i] = 16384;
out->texturemins[i] = -8192;
}
mod_funcs->Mod_SubdivideSurface (out); // cut up polygon for warps
if (mod_funcs) // cut up polygon for warps
mod_funcs->Mod_SubdivideSurface (out);
continue;
}
}
@ -902,7 +905,8 @@ Mod_LoadBrushModel (model_t *mod, void *buffer)
Mod_LoadEdges (bsp);
Mod_LoadSurfedges (bsp);
Mod_LoadTextures (bsp);
mod_funcs->Mod_LoadLighting (bsp);
if (mod_funcs)
mod_funcs->Mod_LoadLighting (bsp);
Mod_LoadPlanes (bsp);
Mod_LoadTexinfo (bsp);
Mod_LoadFaces (bsp);

View File

@ -212,13 +212,15 @@ Mod_RealLoadModel (model_t *mod, qboolean crash, cache_allocator_t allocator)
} else if (strequal (mod->name, "progs/player.mdl")) {
mod->min_light = 0.04;
}
mod_funcs->Mod_LoadAliasModel (mod, buf, allocator);
if (mod_funcs)
mod_funcs->Mod_LoadAliasModel (mod, buf, allocator);
break;
case IDHEADER_MD2: // Type 8: Quake 2 .md2
// Mod_LoadMD2 (mod, buf, allocator);
break;
case IDHEADER_SPR: // Type 1: Quake 1 .spr
mod_funcs->Mod_LoadSpriteModel (mod, buf);
if (mod_funcs)
mod_funcs->Mod_LoadSpriteModel (mod, buf);
break;
case IDHEADER_SP2: // Type 2: Quake 2 .sp2
// Mod_LoadSP2 (mod, buf);
@ -228,7 +230,7 @@ Mod_RealLoadModel (model_t *mod, qboolean crash, cache_allocator_t allocator)
Mod_LoadBrushModel (mod, buf);
if (gl_textures_external->int_val
&& mod_funcs->Mod_LoadExternalTextures)
&& mod_funcs && mod_funcs->Mod_LoadExternalTextures)
mod_funcs->Mod_LoadExternalTextures (mod);
break;
}