diff --git a/src/engine/engine.hh b/src/engine/engine.hh index 0c47ce3..297bd4d 100644 --- a/src/engine/engine.hh +++ b/src/engine/engine.hh @@ -63,22 +63,4 @@ extern bool useavatarmask(); extern void enableavatarmask(); extern void disableavatarmask(); -// octarender -extern ivec worldmin, worldmax, nogimin, nogimax; -extern vector tjoints; -extern vector varoot, valist; - -extern ushort encodenormal(const vec &n); -extern vec decodenormal(ushort norm); -extern void guessnormals(const vec *pos, int numverts, vec *normals); -extern void reduceslope(ivec &n); -extern void findtjoints(); -extern void octarender(); -extern void allchanged(bool load = false); -extern void clearvas(cube *c); -extern void destroyva(vtxarray *va, bool reparent = true); -extern void updatevabb(vtxarray *va, bool force = false); -extern void updatevabbs(bool force = false); - #endif - diff --git a/src/engine/light.cc b/src/engine/light.cc index e286a28..588a800 100644 --- a/src/engine/light.cc +++ b/src/engine/light.cc @@ -3,6 +3,7 @@ #include "main.hh" // renderbackground #include "octa.hh" #include "octaedit.hh" // commitchanges +#include "octarender.hh" #include "physics.hh" #include "renderlights.hh" #include "texture.hh" diff --git a/src/engine/main.cc b/src/engine/main.cc index abed65d..3fd6856 100644 --- a/src/engine/main.cc +++ b/src/engine/main.cc @@ -7,6 +7,7 @@ #include "console.hh" #include "movie.hh" #include "octaedit.hh" +#include "octarender.hh" // allchanged #include "rendergl.hh" #include "rendermodel.hh" // cleanupmodels #include "renderparticles.hh" diff --git a/src/engine/material.cc b/src/engine/material.cc index 6681d81..39aa94c 100644 --- a/src/engine/material.cc +++ b/src/engine/material.cc @@ -1,5 +1,6 @@ #include "material.hh" #include "octaedit.hh" // editmode +#include "octarender.hh" #include "rendergl.hh" #include "renderlights.hh" #include "renderva.hh" diff --git a/src/engine/normal.cc b/src/engine/normal.cc index c5845df..5d91cb0 100644 --- a/src/engine/normal.cc +++ b/src/engine/normal.cc @@ -1,4 +1,5 @@ #include "main.hh" // renderprogress +#include "octarender.hh" #include "texture.hh" #include "engine.hh" diff --git a/src/engine/octa.cc b/src/engine/octa.cc index 2581cc5..5fd81ef 100644 --- a/src/engine/octa.cc +++ b/src/engine/octa.cc @@ -5,6 +5,7 @@ #include "console.hh" /* conoutf */ #include "main.hh" // renderprogress #include "octaedit.hh" +#include "octarender.hh" #include "world.hh" #include "engine.hh" diff --git a/src/engine/octaedit.cc b/src/engine/octaedit.cc index 641e98c..857445c 100644 --- a/src/engine/octaedit.cc +++ b/src/engine/octaedit.cc @@ -5,6 +5,7 @@ #include "main.hh" // mainmenu, keyrepeat, renderedframe #include "material.hh" #include "octa.hh" +#include "octarender.hh" #include "pvs.hh" #include "rendergl.hh" #include "renderlights.hh" diff --git a/src/engine/octarender.cc b/src/engine/octarender.cc index 50fb11f..8d371f9 100644 --- a/src/engine/octarender.cc +++ b/src/engine/octarender.cc @@ -1,5 +1,7 @@ // octarender.cpp: fill vertex arrays with different cube surfaces. +#include "octarender.hh" + #include "blend.hh" #include "console.hh" /* conoutf */ #include "grass.hh" @@ -836,7 +838,7 @@ ushort encodenormal(const vec &n) return ushort(clamp(pitch + 90, 0, 180)*360 + (yaw < 0 ? yaw%360 + 360 : yaw%360) + 1); } -vec decodenormal(ushort norm) +static vec decodenormal(ushort norm) { if(!norm) return vec(0, 0, 1); norm--; diff --git a/src/engine/octarender.hh b/src/engine/octarender.hh new file mode 100644 index 0000000..046a071 --- /dev/null +++ b/src/engine/octarender.hh @@ -0,0 +1,24 @@ +#ifndef ENGINE_OCTARENDER_HH +#define ENGINE_OCTARENDER_HH + +#include +#include + +#include "octa.hh" + +extern ivec worldmin, worldmax, nogimin, nogimax; +extern vector tjoints; +extern vector varoot, valist; + +ushort encodenormal(const vec &n); +void guessnormals(const vec *pos, int numverts, vec *normals); +void reduceslope(ivec &n); +void findtjoints(); +void octarender(); +void allchanged(bool load = false); +void clearvas(cube *c); +void destroyva(vtxarray *va, bool reparent = true); +void updatevabb(vtxarray *va, bool force = false); +void updatevabbs(bool force = false); + +#endif diff --git a/src/engine/pvs.cc b/src/engine/pvs.cc index b134454..fce0aae 100644 --- a/src/engine/pvs.cc +++ b/src/engine/pvs.cc @@ -3,6 +3,7 @@ #include "console.hh" /* conoutf */ #include "main.hh" // numcpus, interceptkey, renderbackground #include "octa.hh" +#include "octarender.hh" // valist #include "engine.hh" diff --git a/src/engine/rendergl.cc b/src/engine/rendergl.cc index 1ef332f..43ddb93 100644 --- a/src/engine/rendergl.cc +++ b/src/engine/rendergl.cc @@ -8,6 +8,7 @@ #include "material.hh" #include "pvs.hh" #include "octaedit.hh" +#include "octarender.hh" // valist #include "rendergl.hh" #include "renderlights.hh" #include "rendermodel.hh" diff --git a/src/engine/renderlights.cc b/src/engine/renderlights.cc index 9d8f2cf..f1e94d1 100644 --- a/src/engine/renderlights.cc +++ b/src/engine/renderlights.cc @@ -5,6 +5,7 @@ #include "main.hh" // initwarning #include "material.hh" #include "octaedit.hh" // editmode +#include "octarender.hh" #include "pvs.hh" #include "rendergl.hh" #include "rendermodel.hh" diff --git a/src/engine/renderva.cc b/src/engine/renderva.cc index d4a7d41..281b398 100644 --- a/src/engine/renderva.cc +++ b/src/engine/renderva.cc @@ -6,6 +6,7 @@ #include "grass.hh" #include "main.hh" // renderprogress #include "octaedit.hh" // editmode +#include "octarender.hh" #include "pvs.hh" #include "rendergl.hh" #include "renderlights.hh" diff --git a/src/engine/shader.cc b/src/engine/shader.cc index 41e6c7b..3d27965 100644 --- a/src/engine/shader.cc +++ b/src/engine/shader.cc @@ -5,6 +5,7 @@ #include "command.hh" // identflags #include "console.hh" /* conoutf */ #include "main.hh" // loadprogress, renderprogress +#include "octarender.hh" #include "rendergl.hh" #include "rendermodel.hh" // cleanupmodels #include "texture.hh" diff --git a/src/engine/texture.cc b/src/engine/texture.cc index 11503cc..6432952 100644 --- a/src/engine/texture.cc +++ b/src/engine/texture.cc @@ -7,6 +7,7 @@ #include "main.hh" // initwarning, loadprogress, renderprogress, screenw/h, renderedframe #include "material.hh" #include "octaedit.hh" +#include "octarender.hh" #include "rendergl.hh" #include "rendersky.hh" #include "shader.hh" diff --git a/src/engine/water.cc b/src/engine/water.cc index a79028b..774738b 100644 --- a/src/engine/water.cc +++ b/src/engine/water.cc @@ -1,4 +1,5 @@ #include "material.hh" +#include "octarender.hh" #include "rendergl.hh" #include "texture.hh" #include "water.hh" diff --git a/src/engine/world.cc b/src/engine/world.cc index 3bcb0b7..6c9c1a0 100644 --- a/src/engine/world.cc +++ b/src/engine/world.cc @@ -6,6 +6,7 @@ #include "main.hh" // clearmainmenu #include "octa.hh" #include "octaedit.hh" +#include "octarender.hh" #include "physics.hh" #include "pvs.hh" #include "rendergl.hh" /* fovy */ diff --git a/src/engine/worldio.cc b/src/engine/worldio.cc index 1fa033b..ad3f14f 100644 --- a/src/engine/worldio.cc +++ b/src/engine/worldio.cc @@ -6,6 +6,7 @@ #include "main.hh" // clearmainmenu, renderbackground #include "octa.hh" #include "octaedit.hh" // texmru +#include "octarender.hh" #include "pvs.hh" #include "rendermodel.hh" // loadmapmodel, getmminfo, flushpreloadedmodels #include "texture.hh"