summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2013-03-04 19:55:26 +0400
committerAndrey Nazarov <skuller@skuller.net>2013-03-13 19:54:41 +0400
commit16cf0713b7229e2be17c2af5543c28d720cc8ab9 (patch)
tree2eab1049cfb9ee6de64b2f2b4b7449901701d324
parentf11a61b138d4edaf162d127af08331543932a9f4 (diff)
Don't ERR_DROP from R_AddSkySurface.
Simply ignore oversize surfaces, printing a developer warning.
-rw-r--r--src/refresh/gl/sky.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/refresh/gl/sky.c b/src/refresh/gl/sky.c
index bd40b79..299b6f7 100644
--- a/src/refresh/gl/sky.c
+++ b/src/refresh/gl/sky.c
@@ -143,8 +143,11 @@ static void ClipSkyPolygon(int nump, vec3_t vecs, int stage)
int newc[2];
int i, j;
- if (nump > MAX_CLIP_VERTS - 2)
- Com_Error(ERR_DROP, "ClipSkyPolygon: MAX_CLIP_VERTS");
+ if (nump > MAX_CLIP_VERTS - 2) {
+ Com_DPrintf("%s: too many verts\n", __func__);
+ return;
+ }
+
if (stage == 6) {
// fully clipped, so draw it
DrawSkyPolygon(nump, vecs);
@@ -161,8 +164,9 @@ static void ClipSkyPolygon(int nump, vec3_t vecs, int stage)
} else if (d < -ON_EPSILON) {
back = qtrue;
sides[i] = SIDE_BACK;
- } else
+ } else {
sides[i] = SIDE_ON;
+ }
dists[i] = d;
}
@@ -227,7 +231,8 @@ void R_AddSkySurface(mface_t *fa)
mvertex_t *vert;
if (fa->numsurfedges > MAX_CLIP_VERTS) {
- Com_Error(ERR_DROP, "%s: too many verts", __func__);
+ Com_DPrintf("%s: too many verts\n", __func__);
+ return;
}
// calculate vertex values for sky box