summaryrefslogtreecommitdiff
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/engine.h1
-rw-r--r--src/engine/engine.h.gchbin0 -> 78745159 bytes
-rw-r--r--src/engine/main.cpp5
-rw-r--r--src/engine/model.h2
-rw-r--r--src/engine/physics.cpp24
-rw-r--r--src/engine/rendergl.cpp211
-rw-r--r--src/engine/rendermodel.cpp80
-rw-r--r--src/engine/renderva.cpp83
8 files changed, 128 insertions, 278 deletions
diff --git a/src/engine/engine.h b/src/engine/engine.h
index 9f41f45..efee4cd 100644
--- a/src/engine/engine.h
+++ b/src/engine/engine.h
@@ -150,7 +150,6 @@ extern void invalidatepostfx();
extern void gl_drawhud();
extern void gl_drawframe();
extern void gl_drawmainmenu();
-extern void drawminimap();
extern void drawtextures();
extern void enablepolygonoffset(GLenum type);
extern void disablepolygonoffset(GLenum type);
diff --git a/src/engine/engine.h.gch b/src/engine/engine.h.gch
new file mode 100644
index 0000000..372a18b
--- /dev/null
+++ b/src/engine/engine.h.gch
Binary files differ
diff --git a/src/engine/main.cpp b/src/engine/main.cpp
index f522479..968c8e6 100644
--- a/src/engine/main.cpp
+++ b/src/engine/main.cpp
@@ -1301,7 +1301,7 @@ int main(int argc, char **argv)
logoutf("init: console");
if(!execfile("data/stdlib.cfg", false)) fatal("cannot find data files (you are running from the wrong folder, try .bat file in the main folder)"); // this is the first file we load.
- if(!execfile("data/font.cfg", false)) fatal("cannot find font definitions");
+ if(!execfile("packages/fonts/default.cfg", false)) fatal("cannot find font definitions");
if(!setfont("default")) fatal("no default font specified");
inbetweenframes = true;
@@ -1322,8 +1322,7 @@ int main(int argc, char **argv)
execfile("data/menus.cfg");
execfile("data/heightmap.cfg");
execfile("data/blendbrush.cfg");
- defformatstring(gamecfgname, "data/game_%s.cfg", game::gameident());
- execfile(gamecfgname);
+ execfile("data/game_fps.cfg");
if(game::savedservers()) execfile(game::savedservers(), false);
identflags |= IDF_PERSIST;
diff --git a/src/engine/model.h b/src/engine/model.h
index 97264bd..cd75c9d 100644
--- a/src/engine/model.h
+++ b/src/engine/model.h
@@ -1,4 +1,4 @@
-enum { MDL_MD2 = 0, MDL_MD3, MDL_MD5, MDL_OBJ, MDL_SMD, MDL_IQM, NUMMODELTYPES };
+enum { MDL_MD3, MDL_MD5, MDL_OBJ, MDL_SMD, NUMMODELTYPES };
struct model
{
diff --git a/src/engine/physics.cpp b/src/engine/physics.cpp
index 6e78863..e1cd04d 100644
--- a/src/engine/physics.cpp
+++ b/src/engine/physics.cpp
@@ -13,7 +13,7 @@ static int clipcacheversion = -2;
static inline clipplanes &getclipplanes(const cube &c, const ivec &o, int size, bool collide = true, int offset = 0)
{
clipplanes &p = clipcache[int(&c - worldroot)&(MAXCLIPPLANES-1)];
- if(p.owner != &c || p.version != clipcacheversion+offset)
+ if(p.owner != &c || p.version != clipcacheversion+offset)
{
p.owner = &c;
p.version = clipcacheversion+offset;
@@ -359,8 +359,8 @@ ShadowRayCache *newshadowraycache() { return new ShadowRayCache; }
void freeshadowraycache(ShadowRayCache *&cache) { delete cache; cache = NULL; }
-void resetshadowraycache(ShadowRayCache *cache)
-{
+void resetshadowraycache(ShadowRayCache *cache)
+{
cache->version++;
if(!cache->version)
{
@@ -839,7 +839,7 @@ static inline bool clampcollide(const clipplanes &p, const E &entvol, const plan
}
return false;
}
-
+
template<class E>
static bool fuzzycollideplanes(physent *d, const vec &dir, float cutoff, const cube &c, const ivec &co, int size) // collide with deformed cube geometry
{
@@ -1213,7 +1213,7 @@ bool trystepdown(physent *d, vec &dir, float step, float xy, float z, bool init
stepfloor.normalize();
if(d->physstate >= PHYS_SLOPE && d->floor != stepfloor)
{
- // prevent alternating step-down/step-up states if player would keep bumping into the same floor
+ // prevent alternating step-down/step-up states if player would keep bumping into the same floor
vec stepped(d->o);
d->o.z -= 0.5f;
d->zmargin = -0.5f;
@@ -1493,14 +1493,14 @@ bool droptofloor(vec &o, float radius, float height)
{
static struct dropent : physent
{
- dropent()
- {
- type = ENT_BOUNCE;
+ dropent()
+ {
+ type = ENT_BOUNCE;
vel = vec(0, 0, -1);
}
} d;
d.o = o;
- if(!insideworld(d.o))
+ if(!insideworld(d.o))
{
if(d.o.z < worldsize) return false;
d.o.z = worldsize - 1e-3f;
@@ -1525,16 +1525,16 @@ float dropheight(entity &e)
switch(e.type)
{
case ET_PARTICLES:
- case ET_MAPMODEL: return 0.0f;
+ case ET_MAPMODEL:
+ return 0.0f;
default:
- if(e.type >= ET_GAMESPECIFIC) return entities::dropheight(e);
return 4.0f;
}
}
void dropenttofloor(entity *e)
{
- droptofloor(e->o, 1.0f, dropheight(*e));
+ droptofloor(e->o, 1.0f, 4.0f);
}
void phystest()
diff --git a/src/engine/rendergl.cpp b/src/engine/rendergl.cpp
index 6049951..5ada421 100644
--- a/src/engine/rendergl.cpp
+++ b/src/engine/rendergl.cpp
@@ -599,7 +599,7 @@ void gl_init()
glClearDepth(1);
glDepthFunc(GL_LESS);
glDisable(GL_DEPTH_TEST);
-
+
glEnable(GL_LINE_SMOOTH);
//glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
@@ -621,7 +621,7 @@ VAR(wireframe, 0, 0, 1);
ICOMMAND(getcamyaw, "", (), floatret(camera1->yaw));
ICOMMAND(getcampitch, "", (), floatret(camera1->pitch));
ICOMMAND(getcamroll, "", (), floatret(camera1->roll));
-ICOMMAND(getcampos, "", (),
+ICOMMAND(getcampos, "", (),
{
defformatstring(pos, "%s %s %s", floatstr(camera1->o.x), floatstr(camera1->o.y), floatstr(camera1->o.z));
result(pos);
@@ -652,7 +652,7 @@ void setcammatrix()
void setcamprojmatrix(bool init = true, bool flush = false)
{
if(init)
- {
+ {
setcammatrix();
}
@@ -672,7 +672,7 @@ void setcamprojmatrix(bool init = true, bool flush = false)
fogplane.x /= projmatrix.a.x;
fogplane.y /= projmatrix.b.y;
fogplane.z /= projmatrix.c.w;
- GLOBALPARAMF(fogplane, fogplane.x, fogplane.y, 0, fogplane.z);
+ GLOBALPARAMF(fogplane, fogplane.x, fogplane.y, 0, fogplane.z);
}
else
{
@@ -771,7 +771,7 @@ FVARP(sensitivity, 1e-3f, 3, 1000);
FVARP(sensitivityscale, 1e-3f, 1, 1000);
VARP(invmouse, 0, 0, 1);
FVARP(mouseaccel, 0, 0, 1000);
-
+
VAR(thirdperson, 0, 0, 2);
FVAR(thirdpersondistance, 0, 20, 50);
FVAR(thirdpersonup, -25, 0, 25);
@@ -795,12 +795,12 @@ void mousemove(int dx, int dy)
float cursens = sensitivity, curaccel = mouseaccel;
if(zoom)
{
- if(zoomautosens)
+ if(zoomautosens)
{
cursens = float(sensitivity*zoomfov)/fov;
curaccel = float(mouseaccel*zoomfov)/fov;
}
- else
+ else
{
cursens = zoomsens;
curaccel = zoomaccel;
@@ -844,7 +844,7 @@ void recomputecamera()
camera1->type = ENT_CAMERA;
camera1->move = -1;
camera1->eyeheight = camera1->aboveeye = camera1->radius = camera1->xradius = camera1->yradius = 2;
-
+
matrix3 orient;
orient.identity();
orient.rotate_around_z(camera1->yaw*RAD);
@@ -852,7 +852,7 @@ void recomputecamera()
orient.rotate_around_y(camera1->roll*-RAD);
vec dir = vec(orient.b).neg(), side = vec(orient.a).neg(), up = orient.c;
- if(game::collidecamera())
+ if(game::collidecamera())
{
movecamera(camera1, dir, thirdpersondistance, 1);
movecamera(camera1, dir, clamp(thirdpersondistance - camera1->o.dist(player->o), 0.0f, 1.0f), 0.1f);
@@ -873,7 +873,7 @@ void recomputecamera()
movecamera(camera1, side, clamp(dist - camera1->o.dist(pos), 0.0f, 1.0f), 0.1f);
}
}
- else
+ else
{
camera1->o.add(vec(dir).mul(thirdpersondistance));
if(thirdpersonup) camera1->o.add(vec(up).mul(thirdpersonup));
@@ -939,7 +939,7 @@ void enablepolygonoffset(GLenum type)
glEnable(type);
return;
}
-
+
bool clipped = reflectz < 1e15f && reflectclip;
nooffsetmatrix = projmatrix;
@@ -954,7 +954,7 @@ void disablepolygonoffset(GLenum type)
glDisable(type);
return;
}
-
+
projmatrix = nooffsetmatrix;
setcamprojmatrix(false, true);
}
@@ -962,8 +962,8 @@ void disablepolygonoffset(GLenum type)
void calcspherescissor(const vec &center, float size, float &sx1, float &sy1, float &sx2, float &sy2)
{
vec worldpos(center), e;
- if(reflecting) worldpos.z = 2*reflectz - worldpos.z;
- cammatrix.transform(worldpos, e);
+ if(reflecting) worldpos.z = 2*reflectz - worldpos.z;
+ cammatrix.transform(worldpos, e);
if(e.z > 2*size) { sx1 = sy1 = 1; sx2 = sy2 = -1; return; }
float zzrr = e.z*e.z - size*size,
dx = e.x*e.x + zzrr, dy = e.y*e.y + zzrr,
@@ -1034,7 +1034,7 @@ int pushscissor(float sx1, float sy1, float sx2, float sy2)
glScissor(sx, sy, sw, sh);
if(scissoring<=1) glEnable(GL_SCISSOR_TEST);
-
+
return scissoring;
}
@@ -1452,7 +1452,7 @@ void drawreflection(float z, bool refract, int fogdepth, const bvec &col)
rendergame();
if(refracting && z>=0 && !isthirdperson() && fabs(camera1->o.z-z) <= 0.5f*(player->eyeheight + player->aboveeye))
- {
+ {
matrix4 oldprojmatrix = projmatrix, avatarproj;
avatarproj.perspective(curavatarfov, aspect, nearplane, farplane);
if(reflectclip)
@@ -1477,7 +1477,7 @@ void drawreflection(float z, bool refract, int fogdepth, const bvec &col)
if(fading) glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
- if(reflectclip && z>=0) projmatrix = noclipmatrix;
+ if(reflectclip && z>=0) projmatrix = noclipmatrix;
if(reflecting)
{
@@ -1488,7 +1488,7 @@ void drawreflection(float z, bool refract, int fogdepth, const bvec &col)
popfogdist();
popfogcolor();
-
+
reflectz = 1e16f;
refracting = 0;
reflecting = fading = fogging = false;
@@ -1513,7 +1513,7 @@ void drawcubemap(int size, const vec &o, float yaw, float pitch, const cubemapsi
cmcamera.roll = 0;
camera1 = &cmcamera;
setviewcell(camera1->o);
-
+
int fogmat = lookupmaterial(o)&(MATF_VOLUME|MATF_INDEX);
setfog(fogmat);
@@ -1653,146 +1653,6 @@ vec calcmodelpreviewpos(const vec &radius, float &yaw)
return vec(0, dist, 0).rotate_around_x(camera1->pitch*RAD);
}
-GLuint minimaptex = 0;
-vec minimapcenter(0, 0, 0), minimapradius(0, 0, 0), minimapscale(0, 0, 0);
-
-void clearminimap()
-{
- if(minimaptex) { glDeleteTextures(1, &minimaptex); minimaptex = 0; }
-}
-
-VARR(minimapheight, 0, 0, 2<<16);
-bvec minimapcolor(0, 0, 0);
-HVARFR(minimapcolour, 0, 0, 0xFFFFFF,
-{
- minimapcolor = bvec((minimapcolour>>16)&0xFF, (minimapcolour>>8)&0xFF, minimapcolour&0xFF);
-});
-VARR(minimapclip, 0, 0, 1);
-VARFP(minimapsize, 7, 8, 10, { if(minimaptex) drawminimap(); });
-
-void bindminimap()
-{
- glBindTexture(GL_TEXTURE_2D, minimaptex);
-}
-
-void clipminimap(ivec &bbmin, ivec &bbmax, cube *c = worldroot, const ivec &co = ivec(0, 0, 0), int size = worldsize>>1)
-{
- loopi(8)
- {
- ivec o(i, co, size);
- if(c[i].children) clipminimap(bbmin, bbmax, c[i].children, o, size>>1);
- else if(!isentirelysolid(c[i]) && (c[i].material&MATF_CLIP)!=MAT_CLIP)
- {
- loopk(3) bbmin[k] = min(bbmin[k], o[k]);
- loopk(3) bbmax[k] = max(bbmax[k], o[k] + size);
- }
- }
-}
-
-void drawminimap()
-{
- if(!game::needminimap()) { clearminimap(); return; }
-
- renderprogress(0, "generating mini-map...", 0, !renderedframe);
-
- int size = 1<<minimapsize, sizelimit = min(hwtexsize, min(screenw, screenh));
- while(size > sizelimit) size /= 2;
- if(!minimaptex) glGenTextures(1, &minimaptex);
-
- ivec bbmin(worldsize, worldsize, worldsize), bbmax(0, 0, 0);
- loopv(valist)
- {
- vtxarray *va = valist[i];
- loopk(3)
- {
- if(va->geommin[k]>va->geommax[k]) continue;
- bbmin[k] = min(bbmin[k], va->geommin[k]);
- bbmax[k] = max(bbmax[k], va->geommax[k]);
- }
- }
- if(minimapclip)
- {
- ivec clipmin(worldsize, worldsize, worldsize), clipmax(0, 0, 0);
- clipminimap(clipmin, clipmax);
- loopk(2) bbmin[k] = max(bbmin[k], clipmin[k]);
- loopk(2) bbmax[k] = min(bbmax[k], clipmax[k]);
- }
-
- minimapradius = vec(bbmax).sub(vec(bbmin)).mul(0.5f);
- minimapcenter = vec(bbmin).add(minimapradius);
- minimapradius.x = minimapradius.y = max(minimapradius.x, minimapradius.y);
- minimapscale = vec((0.5f - 1.0f/size)/minimapradius.x, (0.5f - 1.0f/size)/minimapradius.y, 1.0f);
-
- drawtex = DRAWTEX_MINIMAP;
-
- physent *oldcamera = camera1;
- static physent cmcamera;
- cmcamera = *player;
- cmcamera.reset();
- cmcamera.type = ENT_CAMERA;
- cmcamera.o = vec(minimapcenter.x, minimapcenter.y, max(minimapcenter.z + minimapradius.z + 1, float(minimapheight)));
- cmcamera.yaw = 0;
- cmcamera.pitch = -90;
- cmcamera.roll = 0;
- camera1 = &cmcamera;
- setviewcell(vec(-1, -1, -1));
-
- projmatrix.ortho(-minimapradius.x, minimapradius.x, -minimapradius.y, minimapradius.y, 0, camera1->o.z + 1);
- projmatrix.a.mul(-1);
- setcamprojmatrix();
-
- setnofog(minimapcolor.tocolor());
-
- glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
-
- glViewport(0, 0, size, size);
-
- glEnable(GL_CULL_FACE);
- glEnable(GL_DEPTH_TEST);
-
- glFrontFace(GL_CCW);
-
- xtravertsva = xtraverts = glde = gbatches = 0;
-
- visiblecubes(false);
- queryreflections();
- drawreflections();
-
- loopi(minimapheight > 0 && minimapheight < minimapcenter.z + minimapradius.z ? 2 : 1)
- {
- if(i)
- {
- glClear(GL_DEPTH_BUFFER_BIT);
- camera1->o.z = minimapheight;
- setcamprojmatrix();
- }
- rendergeom();
- rendermapmodels();
- renderwater();
- rendermaterials();
- renderalphageom();
- }
-
- glFrontFace(GL_CW);
-
- glDisable(GL_DEPTH_TEST);
- glDisable(GL_CULL_FACE);
-
- glViewport(0, 0, screenw, screenh);
-
- camera1 = oldcamera;
- drawtex = 0;
-
- glBindTexture(GL_TEXTURE_2D, minimaptex);
- glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB5, 0, 0, size, size, 0);
- setuptexparameters(minimaptex, NULL, 3, 1, GL_RGB5, GL_TEXTURE_2D);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);
- GLfloat border[4] = { minimapcolor.x/255.0f, minimapcolor.y/255.0f, minimapcolor.z/255.0f, 1.0f };
- glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, border);
- glBindTexture(GL_TEXTURE_2D, 0);
-}
-
bool deferdrawtextures = false;
void drawtextures()
@@ -1800,7 +1660,6 @@ void drawtextures()
if(minimized) { deferdrawtextures = true; return; }
deferdrawtextures = false;
genenvmaps();
- drawminimap();
}
GLuint motiontex = 0;
@@ -1870,7 +1729,7 @@ void gl_drawframe()
int w = screenw, h = screenh;
aspect = forceaspect ? forceaspect : w/float(h);
fovy = 2*atan2(tan(curfov/2*RAD), aspect)/RAD;
-
+
int fogmat = lookupmaterial(camera1->o)&(MATF_VOLUME|MATF_INDEX), abovemat = MAT_AIR;
float fogblend = 1.0f, causticspass = 0.0f;
if(isliquid(fogmat&MATF_VOLUME))
@@ -1881,7 +1740,7 @@ void gl_drawframe()
if(caustics && (fogmat&MATF_VOLUME)==MAT_WATER && camera1->o.z < z)
causticspass = min(z - camera1->o.z, 1.0f);
}
- else fogmat = MAT_AIR;
+ else fogmat = MAT_AIR;
setfog(fogmat, fogblend, abovemat);
if(fogmat!=MAT_AIR)
{
@@ -1901,10 +1760,10 @@ void gl_drawframe()
xtravertsva = xtraverts = glde = gbatches = 0;
visiblecubes();
-
+
glClear(GL_DEPTH_BUFFER_BIT|(wireframe && editmode ? GL_COLOR_BUFFER_BIT : 0));
- if(wireframe && editmode) glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
+ if(wireframe && editmode) glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
if(limitsky()) drawskybox(farplane, true);
@@ -1979,7 +1838,7 @@ void damagecompass(int n, const vec &loc)
{
if(!usedamagecompass || minimized) return;
vec delta(loc);
- delta.sub(camera1->o);
+ delta.sub(camera1->o);
float yaw = 0, pitch;
if(delta.magnitude() > 4)
{
@@ -2087,7 +1946,7 @@ void loadcrosshair(const char *name, int i)
{
if(i < 0 || i >= MAXCROSSHAIRS) return;
crosshairs[i] = name ? textureload(name, 3, true) : notexture;
- if(crosshairs[i] == notexture)
+ if(crosshairs[i] == notexture)
{
name = game::defaultcrosshair(i);
if(!name) name = "data/crosshair.png";
@@ -2102,7 +1961,7 @@ void loadcrosshair_(const char *name, int *i)
COMMANDN(loadcrosshair, loadcrosshair_, "si");
-ICOMMAND(getcrosshair, "i", (int *i),
+ICOMMAND(getcrosshair, "i", (int *i),
{
const char *name = "";
if(*i >= 0 && *i < MAXCROSSHAIRS)
@@ -2112,7 +1971,7 @@ ICOMMAND(getcrosshair, "i", (int *i),
}
result(name);
});
-
+
void writecrosshairs(stream *f)
{
loopi(MAXCROSSHAIRS) if(crosshairs[i] && crosshairs[i]!=notexture)
@@ -2137,13 +1996,13 @@ void drawcrosshair(int w, int h)
g3d_cursorpos(cx, cy);
}
else
- {
+ {
int index = game::selectcrosshair(color);
if(index < 0) return;
if(!crosshairfx) index = 0;
if(!crosshairfx || !crosshaircolors) color = vec(1, 1, 1);
crosshair = crosshairs[index];
- if(!crosshair)
+ if(!crosshair)
{
loadcrosshair(NULL, index);
crosshair = crosshairs[index];
@@ -2198,7 +2057,7 @@ void gl_drawhud()
hudmatrix.ortho(0, w, h, 0, -1, 1);
resethudmatrix();
-
+
gle::colorf(1, 1, 1);
extern int debugsm;
@@ -2223,10 +2082,10 @@ void gl_drawhud()
}
glEnable(GL_BLEND);
-
+
extern void debugparticles();
debugparticles();
-
+
if(!mainmenu)
{
drawdamagescreen(w, h);
@@ -2274,12 +2133,12 @@ void gl_drawhud()
char *dst = buf;
const char *src = &buf[!wallclock24 && buf[0]=='0' ? 1 : 0];
while(*src) *dst++ = tolower(*src++);
- *dst++ = '\0';
+ *dst++ = '\0';
draw_text(buf, conw-5*FONTH, conh-FONTH*3/2-roffset);
roffset += FONTH;
}
}
-
+
if(editmode || showeditstats)
{
static int laststats = 0, prevstats[8] = { 0, 0, 0, 0, 0, 0, 0 }, curstats[8] = { 0, 0, 0, 0, 0, 0, 0 };
@@ -2378,8 +2237,6 @@ void cleanupgl()
{
cleanupmotionblur();
- clearminimap();
-
cleanupscreenquad();
gle::cleanup();
diff --git a/src/engine/rendermodel.cpp b/src/engine/rendermodel.cpp
index dc05e69..d79a422 100644
--- a/src/engine/rendermodel.cpp
+++ b/src/engine/rendermodel.cpp
@@ -24,20 +24,16 @@ static model *__loadmodel__##modelclass(const char *filename) \
return new modelclass(filename); \
} \
UNUSED static int __dummy__##modelclass = addmodeltype((modeltype), __loadmodel__##modelclass);
-
-#include "md2.h"
+
#include "md3.h"
#include "md5.h"
#include "obj.h"
#include "smd.h"
-#include "iqm.h"
-MODELTYPE(MDL_MD2, md2);
MODELTYPE(MDL_MD3, md3);
MODELTYPE(MDL_MD5, md5);
MODELTYPE(MDL_OBJ, obj);
MODELTYPE(MDL_SMD, smd);
-MODELTYPE(MDL_IQM, iqm);
#define checkmdl if(!loadingmodel) { conoutf(CON_ERROR, "not loading a model"); return; }
@@ -61,14 +57,14 @@ void mdlellipsecollide(int *collide)
{
checkmdl;
loadingmodel->ellipsecollide = *collide!=0;
-}
-
+}
+
COMMAND(mdlellipsecollide, "i");
void mdlspec(int *percent)
{
checkmdl;
- float spec = 1.0f;
+ float spec = 1.0f;
if(*percent>0) spec = *percent/100.0f;
else if(*percent<0) spec = 0.0f;
loadingmodel->setspec(spec);
@@ -88,7 +84,7 @@ void mdlambient(int *percent)
COMMAND(mdlambient, "i");
void mdlalphatest(float *cutoff)
-{
+{
checkmdl;
loadingmodel->setalphatest(max(0.0f, min(1.0f, *cutoff)));
}
@@ -96,7 +92,7 @@ void mdlalphatest(float *cutoff)
COMMAND(mdlalphatest, "f");
void mdlalphablend(int *blend)
-{
+{
checkmdl;
loadingmodel->setalphablend(*blend!=0);
}
@@ -178,7 +174,7 @@ void mdlscale(int *percent)
float scale = 1.0f;
if(*percent>0) scale = *percent/100.0f;
loadingmodel->scale = scale;
-}
+}
COMMAND(mdlscale, "i");
@@ -186,7 +182,7 @@ void mdltrans(float *x, float *y, float *z)
{
checkmdl;
loadingmodel->translate = vec(*x, *y, *z);
-}
+}
COMMAND(mdltrans, "fff");
@@ -219,7 +215,7 @@ void mdlbb(float *rad, float *h, float *eyeheight)
checkmdl;
loadingmodel->collidexyradius = *rad;
loadingmodel->collideheight = *h;
- loadingmodel->eyeheight = *eyeheight;
+ loadingmodel->eyeheight = *eyeheight;
}
COMMAND(mdlbb, "fff");
@@ -251,7 +247,7 @@ COMMAND(mdlname, "");
if(!skel->ragdoll) skel->ragdoll = new ragdollskel; \
ragdollskel *ragdoll = skel->ragdoll; \
if(ragdoll->loaded) return;
-
+
void rdvert(float *x, float *y, float *z, float *radius)
{
@@ -291,7 +287,7 @@ void rdjoint(int *n, int *t, int *v1, int *v2, int *v3)
j.vert[2] = *v3;
}
COMMAND(rdjoint, "iibbb");
-
+
void rdlimitdist(int *v1, int *v2, float *mindist, float *maxdist)
{
checkragdoll;
@@ -337,10 +333,10 @@ void mapmodelcompat(int *rad, int *h, int *tex, char *name, char *shadow)
mmodel(name);
}
-void mapmodelreset(int *n)
-{
+void mapmodelreset(int *n)
+{
if(!(identflags&IDF_OVERRIDDEN) && !game::allowedittoggle()) return;
- mapmodels.shrink(clamp(*n, 0, mapmodels.length()));
+ mapmodels.shrink(clamp(*n, 0, mapmodels.length()));
}
mapmodelinfo *getmminfo(int i) { return mapmodels.inrange(i) ? &mapmodels[i] : 0; }
@@ -425,7 +421,7 @@ model *loadmodel(const char *name, int i, bool msg)
model *m;
if(mm) m = *mm;
else
- {
+ {
if(!name[0] || loadingmodel || lightmapping > 1) return NULL;
if(msg)
{
@@ -534,13 +530,13 @@ struct batchedmodel
dynent *d;
int attached;
occludequery *query;
-};
+};
struct modelbatch
{
model *m;
int flags;
vector<batchedmodel> batched;
-};
+};
static vector<modelbatch *> batches;
static vector<modelattach> modelattached;
static int numbatches = -1;
@@ -579,10 +575,10 @@ void renderbatchedmodel(model *m, batchedmodel &b)
int anim = b.anim;
if(shadowmapping)
{
- anim |= ANIM_NOSKIN;
+ anim |= ANIM_NOSKIN;
GLOBALPARAMF(shadowintensity, b.transparent);
}
- else
+ else
{
if(b.flags&MDL_FULLBRIGHT) anim |= ANIM_FULLBRIGHT;
if(b.flags&MDL_GHOST) anim |= ANIM_GHOST;
@@ -633,13 +629,13 @@ void endmodelbatches()
if(!rendered) { b.m->startrender(); rendered = true; }
renderbatchedmodel(b.m, bm);
}
- if(rendered)
+ if(rendered)
{
b.m->endrender();
rendered = false;
}
}
- loopvj(b.batched)
+ loopvj(b.batched)
{
batchedmodel &bm = b.batched[j];
if(bm.flags&(MDL_CULL_VFC|MDL_GHOST)) continue;
@@ -806,7 +802,7 @@ static inline int cullmodel(model *m, const vec &center, float radius, int flags
void rendermodel(entitylight *light, const char *mdl, int anim, const vec &o, float yaw, float pitch, int flags, dynent *d, modelattach *a, int basetime, int basetime2, float trans)
{
if(shadowmapping && !(flags&(MDL_SHADOW|MDL_DYNSHADOW))) return;
- model *m = loadmodel(mdl);
+ model *m = loadmodel(mdl);
if(!m) return;
vec center(0, 0, 0), bbradius(0, 0, 0);
float radius = 0;
@@ -851,7 +847,7 @@ void rendermodel(entitylight *light, const char *mdl, int anim, const vec &o, fl
else if(showboundingbox && !shadowmapping && !reflecting && !refracting && editmode)
{
notextureshader->set();
- if(d && showboundingbox==1)
+ if(d && showboundingbox==1)
{
render3dbox(d->o, d->eyeheight, d->aboveeye, d->radius);
renderellipse(d->o, d->xradius, d->yradius, d->yaw);
@@ -871,7 +867,7 @@ void rendermodel(entitylight *light, const char *mdl, int anim, const vec &o, fl
if(!shadowmapping)
{
vec pos = o;
- if(d)
+ if(d)
{
if(!reflecting && !refracting) d->occluded = OCCLUDE_NOTHING;
if(!light) light = &d->light;
@@ -891,7 +887,7 @@ void rendermodel(entitylight *light, const char *mdl, int anim, const vec &o, fl
}
else if(flags&MDL_LIGHT)
{
- if(!light)
+ if(!light)
{
lightreaching(pos, lightcolor, lightdir, (flags&MDL_LIGHT_FAST)!=0);
dynlightreaching(pos, lightcolor, lightdir, (flags&MDL_HUD)!=0);
@@ -928,7 +924,7 @@ void rendermodel(entitylight *light, const char *mdl, int anim, const vec &o, fl
b.basetime2 = basetime2;
b.transparent = trans;
b.flags = flags & ~(MDL_CULL_VFC | MDL_CULL_DIST | MDL_CULL_OCCLUDED);
- if(!shadow || reflecting || refracting>0)
+ if(!shadow || reflecting || refracting>0)
{
b.flags &= ~(MDL_SHADOW|MDL_DYNSHADOW);
if((flags&MDL_CULL_VFC) && refracting<0 && center.z-radius>=reflectz) b.flags |= MDL_CULL_VFC;
@@ -955,7 +951,7 @@ void rendermodel(entitylight *light, const char *mdl, int anim, const vec &o, fl
anim |= ANIM_NOSKIN;
GLOBALPARAMF(shadowintensity, trans);
}
- else
+ else
{
if(flags&MDL_FULLBRIGHT) anim |= ANIM_FULLBRIGHT;
if(flags&MDL_GHOST) anim |= ANIM_GHOST;
@@ -991,7 +987,7 @@ bool matchanim(const char *name, const char *pattern)
{
c = *pattern;
if(!c || c=='|') break;
- else if(c=='*')
+ else if(c=='*')
{
if(!*s || iscubespace(*s)) break;
do s++; while(*s && !iscubespace(*s));
@@ -1041,7 +1037,7 @@ void loadskin(const char *dir, const char *altdir, Texture *&skin, Texture *&mas
} \
} \
}
-
+
defformatstring(mdir, "packages/models/%s", dir);
defformatstring(maltdir, "packages/models/%s", altdir);
masks = notexture;
@@ -1069,7 +1065,7 @@ void renderclient(dynent *d, const char *mdlname, modelattach *attachments, int
basetime = lastpain;
if(ragdoll)
{
- if(!d->ragdoll || d->ragdoll->millis < basetime)
+ if(!d->ragdoll || d->ragdoll->millis < basetime)
{
DELETEP(d->ragdoll);
anim |= ANIM_RAGDOLL;
@@ -1081,20 +1077,20 @@ void renderclient(dynent *d, const char *mdlname, modelattach *attachments, int
else if(d->state==CS_LAGGED) anim = ANIM_LAG|ANIM_LOOP;
else
{
- if(lastmillis-lastpain < 300)
- {
+ if(lastmillis-lastpain < 300)
+ {
anim = ANIM_PAIN;
basetime = lastpain;
}
else if(lastpain < lastaction && (attack < 0 || (d->type != ENT_AI && lastmillis-lastaction < attackdelay)))
- {
- anim = attack < 0 ? -attack : attack;
- basetime = lastaction;
+ {
+ anim = attack < 0 ? -attack : attack;
+ basetime = lastaction;
}
if(d->inwater && d->physstate<=PHYS_FALL) anim |= (((game::allowmove(d) && (d->move || d->strafe)) || d->vel.z+d->falling.z>0 ? ANIM_SWIM : ANIM_SINK)|ANIM_LOOP)<<ANIM_SECONDARY;
else if(d->timeinair>100) anim |= (ANIM_JUMP|ANIM_END)<<ANIM_SECONDARY;
- else if(game::allowmove(d) && (d->move || d->strafe))
+ else if(game::allowmove(d) && (d->move || d->strafe))
{
if(d->move>0) anim |= (ANIM_FORWARD|ANIM_LOOP)<<ANIM_SECONDARY;
else if(d->strafe)
@@ -1104,7 +1100,7 @@ void renderclient(dynent *d, const char *mdlname, modelattach *attachments, int
}
else if(d->move<0) anim |= (ANIM_BACKWARD|ANIM_LOOP)<<ANIM_SECONDARY;
}
-
+
if((anim&ANIM_INDEX)==ANIM_IDLE && (anim>>ANIM_SECONDARY)&ANIM_INDEX) anim >>= ANIM_SECONDARY;
}
if(d->ragdoll && (!ragdoll || (anim&ANIM_INDEX)!=ANIM_DYING)) DELETEP(d->ragdoll);
@@ -1121,7 +1117,7 @@ void renderclient(dynent *d, const char *mdlname, modelattach *attachments, int
void setbbfrommodel(dynent *d, const char *mdl)
{
- model *m = loadmodel(mdl);
+ model *m = loadmodel(mdl);
if(!m) return;
vec center, radius;
m->collisionbox(center, radius);
diff --git a/src/engine/renderva.cpp b/src/engine/renderva.cpp
index cf9d376..6194659 100644
--- a/src/engine/renderva.cpp
+++ b/src/engine/renderva.cpp
@@ -108,7 +108,7 @@ void addvisibleva(vtxarray *va)
void sortvisiblevas()
{
- visibleva = NULL;
+ visibleva = NULL;
vtxarray **last = &visibleva;
loopi(VASORTSIZE) if(vasort[i])
{
@@ -126,7 +126,7 @@ void findvisiblevas(vector<vtxarray *> &vas, bool resetocclude = false)
vtxarray &v = *vas[i];
int prevvfc = resetocclude ? VFC_NOT_VISIBLE : v.curvfc;
v.curvfc = isvisiblecube(v.o, v.size);
- if(v.curvfc!=VFC_NOT_VISIBLE)
+ if(v.curvfc!=VFC_NOT_VISIBLE)
{
if(pvsoccluded(v.o, v.size))
{
@@ -153,7 +153,7 @@ void calcvfcD()
loopk(3) if(p[k] > 0) vfcDfar[i] += p[k];
else vfcDnear[i] += p[k];
}
-}
+}
void setvfcP(float z, const vec &bbmin, const vec &bbmax)
{
@@ -215,7 +215,7 @@ void visiblecubes(bool cull)
static inline bool insideva(const vtxarray *va, const vec &v, int margin = 2)
{
int size = va->size + margin;
- return v.x>=va->o.x-margin && v.y>=va->o.y-margin && v.z>=va->o.z-margin &&
+ return v.x>=va->o.x-margin && v.y>=va->o.y-margin && v.z>=va->o.z-margin &&
v.x<=va->o.x+size && v.y<=va->o.y+size && v.z<=va->o.z+size;
}
@@ -461,7 +461,6 @@ VAR(oqmm, 0, 4, 8);
void rendermapmodel(extentity &e)
{
int anim = ANIM_MAPMODEL|ANIM_LOOP, basetime = 0;
- if(e.flags&EF_ANIM) entities::animatemapmodel(e, anim, basetime);
mapmodelinfo *mmi = getmminfo(e.attr2);
if(mmi) rendermodel(&e.light, mmi->name, anim, e.o, e.attr1, 0, MDL_CULL_VFC | MDL_CULL_DIST | MDL_DYNLIGHT, NULL, NULL, basetime);
}
@@ -479,7 +478,7 @@ void renderreflectedmapmodels()
for(vtxarray *va = reflectedva; va; va = va->rnext)
{
if(va->mapmodels.empty() || va->distance > reflectdist) continue;
- loopv(va->mapmodels)
+ loopv(va->mapmodels)
{
octaentities *oe = va->mapmodels[i];
*lastmms = oe;
@@ -536,7 +535,7 @@ void rendermapmodels()
rendered = true;
oe->query = doquery && oe->distance>0 && !(++skipoq%oqmm) ? newquery(oe) : NULL;
if(oe->query) startmodelquery(oe->query);
- }
+ }
rendermapmodel(e);
e.flags &= ~EF_RENDER;
}
@@ -567,7 +566,7 @@ void rendermapmodels()
static inline bool bbinsideva(const ivec &bo, const ivec &br, vtxarray *va)
{
return bo.x >= va->bbmin.x && bo.y >= va->bbmin.y && bo.z >= va->bbmin.z &&
- br.x <= va->bbmax.x && br.y <= va->bbmax.y && br.z <= va->bbmax.z;
+ br.x <= va->bbmax.x && br.y <= va->bbmax.y && br.z <= va->bbmax.z;
}
static inline bool bboccluded(const ivec &bo, const ivec &br, cube *c, const ivec &o, int size)
@@ -654,7 +653,7 @@ void renderoutline()
drawvatris(va, 3*va->alphatris, &va->edata[3*(va->tris + va->blendtris)]);
xtravertsva += 3*va->alphatris;
}
-
+
prev = va;
}
@@ -716,7 +715,7 @@ void renderblendbrush(GLuint tex, float x, float y, float w, float h)
gle::clearebo();
gle::disablevertex();
}
-
+
void rendershadowmapreceivers()
{
SETSHADER(shadowmapreceiver);
@@ -733,7 +732,7 @@ void rendershadowmapreceivers()
glEnable(GL_BLEND);
glBlendEquation_(GL_MAX);
glBlendFunc(GL_ONE, GL_ONE);
-
+
vtxarray *prev = NULL;
for(vtxarray *va = visibleva; va; va = va->next)
{
@@ -759,7 +758,7 @@ void rendershadowmapreceivers()
glCullFace(GL_BACK);
glDepthMask(GL_TRUE);
glDepthFunc(GL_LESS);
-
+
if(!ati_minmax_bug) glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
gle::clearvbo();
@@ -785,7 +784,7 @@ void renderdepthobstacles(const vec &bbmin, const vec &bbmax, float scale, float
SETSHADER(depthfxworld);
if(!numranges) loopi(4) scales[i] = 1.0f/scale;
- else loopi(numranges)
+ else loopi(numranges)
{
scales[i] = 1.0f/scale;
offsets[i] = -ranges[i]/scale;
@@ -799,7 +798,7 @@ void renderdepthobstacles(const vec &bbmin, const vec &bbmax, float scale, float
vtxarray *prev = NULL;
for(vtxarray *va = visibleva; va; va = va->next)
{
- if(!va->texs || va->occluded >= OCCLUDE_GEOM ||
+ if(!va->texs || va->occluded >= OCCLUDE_GEOM ||
va->o.x > bbmax.x || va->o.y > bbmax.y || va->o.z > bbmax.z ||
va->o.x + va->size < bbmin.x || va->o.y + va->size < bbmin.y || va->o.z + va->size < bbmin.z)
continue;
@@ -936,10 +935,10 @@ static int firstbatch = -1, numbatches = 0;
static void mergetexs(renderstate &cur, vtxarray *va, elementset *texs = NULL, int numtexs = 0, ushort *edata = NULL)
{
- if(!texs)
- {
- texs = va->eslist;
- numtexs = va->texs;
+ if(!texs)
+ {
+ texs = va->eslist;
+ numtexs = va->texs;
edata = va->edata;
if(cur.alphaing)
{
@@ -954,7 +953,7 @@ static void mergetexs(renderstate &cur, vtxarray *va, elementset *texs = NULL, i
{
firstbatch = geombatches.length();
numbatches = numtexs;
- loopi(numtexs-1)
+ loopi(numtexs-1)
{
geombatches.add(geombatch(texs[i], edata, va)).next = i+1;
edata += texs[i].length[1];
@@ -962,7 +961,7 @@ static void mergetexs(renderstate &cur, vtxarray *va, elementset *texs = NULL, i
geombatches.add(geombatch(texs[numtexs-1], edata, va));
return;
}
-
+
int prevbatch = -1, curbatch = firstbatch, curtex = 0;
do
{
@@ -997,9 +996,9 @@ static void mergetexs(renderstate &cur, vtxarray *va, elementset *texs = NULL, i
{
b.batch = next;
geombatches[last].batch = geombatches.length()-1;
- }
+ }
}
- else
+ else
{
numbatches++;
b.next = curbatch;
@@ -1060,7 +1059,7 @@ static void changebatchtmus(renderstate &cur, int pass, geombatch &b)
bool changed = false;
extern bool brightengeom;
extern int fullbright;
- int lmid = brightengeom && (b.es.lmid < LMID_RESERVED || (fullbright && editmode)) ? LMID_BRIGHT : b.es.lmid;
+ int lmid = brightengeom && (b.es.lmid < LMID_RESERVED || (fullbright && editmode)) ? LMID_BRIGHT : b.es.lmid;
if(cur.textures[1]!=lightmaptexs[lmid].id)
{
glActiveTexture_(GL_TEXTURE1);
@@ -1109,7 +1108,7 @@ static void changeslottmus(renderstate &cur, int pass, Slot &slot, VSlot &vslot)
if(cur.alphaing)
{
float alpha = cur.alphaing > 1 ? vslot.alphafront : vslot.alphaback;
- if(cur.colorscale != vslot.colorscale || cur.alphascale != alpha)
+ if(cur.colorscale != vslot.colorscale || cur.alphascale != alpha)
{
cur.colorscale = vslot.colorscale;
cur.alphascale = alpha;
@@ -1137,7 +1136,7 @@ static void changeslottmus(renderstate &cur, int pass, Slot &slot, VSlot &vslot)
glBindTexture(GL_TEXTURE_CUBE_MAP, cur.textures[envmaptmu] = t.t->id);
}
}
- else
+ else
{
if(cur.textures[tmu]!=t.t->id)
{
@@ -1215,7 +1214,7 @@ static void renderbatch(renderstate &cur, int pass, geombatch &b)
for(geombatch *curbatch = &b;; curbatch = &geombatches[curbatch->batch])
{
ushort len = curbatch->es.length[curbatch->va->shadowed ? 0 : 1];
- if(len)
+ if(len)
{
if(rendered < 0)
{
@@ -1224,8 +1223,8 @@ static void renderbatch(renderstate &cur, int pass, geombatch &b)
gbatches++;
}
ushort minvert = curbatch->es.minvert[0], maxvert = curbatch->es.maxvert[0];
- if(!curbatch->va->shadowed) { minvert = min(minvert, curbatch->es.minvert[1]); maxvert = max(maxvert, curbatch->es.maxvert[1]); }
- drawtris(len, curbatch->edata, minvert, maxvert);
+ if(!curbatch->va->shadowed) { minvert = min(minvert, curbatch->es.minvert[1]); maxvert = max(maxvert, curbatch->es.maxvert[1]); }
+ drawtris(len, curbatch->edata, minvert, maxvert);
vtris += len/3;
}
if(curbatch->es.length[1] > len && !shadowed) shadowed = curbatch;
@@ -1274,14 +1273,14 @@ static void renderbatches(renderstate &cur, int pass)
if(cur.vquery) disablevquery(cur);
enablevattribs(cur);
}
- }
+ }
while(curbatch >= 0)
{
geombatch &b = geombatches[curbatch];
curbatch = b.next;
if(cur.vbuf != b.va->vbuf) changevbuf(cur, pass, b.va);
- if(cur.vslot != &b.vslot)
+ if(cur.vslot != &b.vslot)
{
changeslottmus(cur, pass, *b.vslot.slot, b.vslot);
if(cur.texgendim != b.es.dim || (cur.texgendim <= 2 && cur.texgenvslot != &b.vslot)) changetexgen(cur, b.es.dim, *b.vslot.slot, b.vslot);
@@ -1298,7 +1297,7 @@ static void renderbatches(renderstate &cur, int pass)
void renderzpass(renderstate &cur, vtxarray *va)
{
if(!cur.vattribs)
- {
+ {
if(cur.vquery) disablevquery(cur);
enablevattribs(cur, false);
}
@@ -1409,7 +1408,7 @@ void renderva(renderstate &cur, vtxarray *va, int pass = RENDERPASS_LIGHTMAP, bo
drawvatris(va, 3*va->tris, va->edata);
xtravertsva += va->verts;
break;
-
+
case RENDERPASS_Z:
if(doquery) startvaquery(va, );
renderzpass(cur, va);
@@ -1498,7 +1497,7 @@ static void rendergeommultipass(renderstate &cur, int pass, bool fogpass)
{
if(!va->texs) continue;
if(refracting)
- {
+ {
if((refracting < 0 ? va->geommin.z > reflectz : va->geommax.z <= reflectz) || va->occluded >= OCCLUDE_GEOM) continue;
if(ishiddencube(va->o, va->size)) continue;
}
@@ -1529,7 +1528,7 @@ void rendergeom(float causticspass, bool fogpass)
flipqueries();
vtris = vverts = 0;
}
- if(!doZP)
+ if(!doZP)
{
if(shadowmap && mainpass) rendershadowmap();
setupgeom(cur);
@@ -1567,7 +1566,7 @@ void rendergeom(float causticspass, bool fogpass)
va->occluded = pvsoccluded(va->geommin, va->geommax) ? OCCLUDE_GEOM : OCCLUDE_NOTHING;
if(va->occluded >= OCCLUDE_GEOM)
{
- if(va->query)
+ if(va->query)
{
if(!zpass && geombatches.length()) renderbatches(cur, RENDERPASS_LIGHTMAP);
if(cur.vattribs) disablevattribs(cur, !doZP);
@@ -1596,7 +1595,7 @@ void rendergeom(float causticspass, bool fogpass)
if(!cur.colormask) { cur.colormask = true; glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); }
if(!cur.depthmask) { cur.depthmask = true; glDepthMask(GL_TRUE); }
-
+
bool multipassing = false;
if(doZP)
@@ -1720,7 +1719,7 @@ void renderalphageom(bool fogpass)
{
if(va->geommax.z <= reflectz) continue;
}
- else
+ else
{
if(va->occluded >= OCCLUDE_BB) continue;
if(va->occluded >= OCCLUDE_GEOM && pvsoccluded(va->geommin, va->geommax)) continue;
@@ -1746,7 +1745,7 @@ void renderalphageom(bool fogpass)
if(cur.depthmask) { cur.depthmask = false; glDepthMask(GL_FALSE); }
cur.colormask = true;
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_FALSE);
-
+
if(cur.vattribs) disablevattribs(cur, false);
if(cur.vbuf) disablevbuf(cur);
@@ -1773,7 +1772,7 @@ void renderalphageom(bool fogpass)
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, fading ? GL_FALSE : GL_TRUE);
}
-
+
void findreflectedvas(vector<vtxarray *> &vas, int prevvfc = VFC_PART_VISIBLE)
{
loopv(vas)
@@ -1813,7 +1812,7 @@ void renderreflectedgeom(bool causticspass, bool fogpass)
rendergeom(causticspass ? 1 : 0, fogpass);
}
else rendergeom(causticspass ? 1 : 0, fogpass);
-}
+}
static vtxarray *prevskyva = NULL;
@@ -1855,7 +1854,7 @@ void renderreflectedskyvas(vector<vtxarray *> &vas, int prevvfc = VFC_PART_VISIB
if(prevvfc >= VFC_NOT_VISIBLE) va->curvfc = prevvfc;
if((va->curvfc == VFC_FULL_VISIBLE && va->occluded >= OCCLUDE_BB) || va->curvfc==PVS_FULL_VISIBLE) continue;
if(va->o.z+va->size <= reflectz || ishiddencube(va->o, va->size)) continue;
- if(va->sky+va->explicitsky)
+ if(va->sky+va->explicitsky)
{
updateskystats(va);
renderskyva(va);
@@ -1886,7 +1885,7 @@ bool rendersky(bool explicitonly)
if(prevskyva)
{
- gle::disablevertex();
+ gle::disablevertex();
gle::clearvbo();
gle::clearebo();
}