diff options
| author | xolatile | 2025-08-10 14:30:56 +0200 |
|---|---|---|
| committer | xolatile | 2025-08-10 14:30:56 +0200 |
| commit | bec4167d29a68efd0cd2da36143e7f1c78a119a0 (patch) | |
| tree | f5f75c25e412b000850c4e466db94ee4b804dfa2 /src/engine/octa.cpp | |
| parent | 757096e7df15c14b9b10352fa91663483f9e34f8 (diff) | |
| download | xolatile-badassbug-bec4167d29a68efd0cd2da36143e7f1c78a119a0.tar.xz xolatile-badassbug-bec4167d29a68efd0cd2da36143e7f1c78a119a0.tar.zst | |
Cleared all warnings on GCC...
Diffstat (limited to 'src/engine/octa.cpp')
| -rw-r--r-- | src/engine/octa.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/engine/octa.cpp b/src/engine/octa.cpp index 21a3938..521a3b4 100644 --- a/src/engine/octa.cpp +++ b/src/engine/octa.cpp @@ -1064,7 +1064,7 @@ static inline bool mergefacecmp(const facebounds &x, const facebounds &y) { return false; } -static int mergefacev(int orient, facebounds *m, int sz, facebounds &n) { +static int mergefacev(facebounds *m, int sz, facebounds &n) { for(int i = sz-1; i >= 0; --i) { if(m[i].v2 < n.v1) break; if(m[i].v2 == n.v1 && m[i].u1 == n.u1 && m[i].u2 == n.u2) { @@ -1076,7 +1076,7 @@ static int mergefacev(int orient, facebounds *m, int sz, facebounds &n) { return 0; } -static int mergefaceu(int orient, facebounds &m, facebounds &n) { +static int mergefaceu(facebounds &m, facebounds &n) { if(m.v1 == n.v1 && m.v2 == n.v2 && m.u2 == n.u1) { n.u1 = m.u1; return 1; @@ -1084,13 +1084,13 @@ static int mergefaceu(int orient, facebounds &m, facebounds &n) { return 0; } -static int mergeface(int orient, facebounds *m, int sz, facebounds &n) { +static int mergeface(facebounds *m, int sz, facebounds &n) { for(bool merged = false; sz; merged = true) { - int vmerged = mergefacev(orient, m, sz, n); + int vmerged = mergefacev(m, sz, n); sz -= vmerged; if(!vmerged && merged) break; if(!sz) break; - int umerged = mergefaceu(orient, m[sz-1], n); + int umerged = mergefaceu(m[sz-1], n); sz -= umerged; if(!umerged) break; } @@ -1098,10 +1098,10 @@ static int mergeface(int orient, facebounds *m, int sz, facebounds &n) { return sz; } -int mergefaces(int orient, facebounds *m, int sz) { +int mergefaces(facebounds *m, int sz) { quicksort(m, sz, mergefacecmp); int nsz = 0; - loopi(sz) nsz = mergeface(orient, m, nsz, m[i]); + loopi(sz) nsz = mergeface(m, nsz, m[i]); return nsz; } @@ -1342,6 +1342,7 @@ struct plink : pedge { }; bool mergepolys(int orient, hashset<plink> &links, vector<plink *> &queue, int owner, poly &p, poly &q, const pedge &e) { + (void) orient; int pe = -1, qe = -1; loopi(p.numverts) if(p.verts[i] == e.from) { pe = i; break; } loopi(q.numverts) if(q.verts[i] == e.to) { qe = i; break; } @@ -1398,6 +1399,7 @@ bool mergepolys(int orient, hashset<plink> &links, vector<plink *> &queue, int o } void addmerge(cube &cu, int orient, const ivec &co, const ivec &n, int offset, poly &p) { + (void)co; cu.merged |= 1<<orient; if(!p.numverts) { if(cu.ext) cu.ext->surfaces[orient] = ambientsurface; @@ -1443,6 +1445,7 @@ static inline void clearmerge(cube &c, int orient) { } void addmerges(int orient, const ivec &co, const ivec &n, int offset, vector<poly> &polys) { + (void)co; loopv(polys) { poly &p = polys[i]; if(p.merged) addmerge(*p.c, orient, co, n, offset, p); @@ -1451,6 +1454,7 @@ void addmerges(int orient, const ivec &co, const ivec &n, int offset, vector<pol } void mergepolys(int orient, const ivec &co, const ivec &n, int offset, vector<poly> &polys) { + (void) orient; if(polys.length() <= 1) { addmerges(orient, co, n, offset, polys); return; } hashset<plink> links(polys.length() <= 32 ? 128 : 1024); vector<plink *> queue; @@ -1488,13 +1492,13 @@ struct cfpolys { static hashtable<cfkey, cfpolys> cpolys; -void genmerges(cube *c = worldroot, const ivec &o = ivec(0, 0, 0), int size = worldsize>>1) { +void genmerges(int orient = 0, cube *c = worldroot, const ivec &o = ivec(0, 0, 0), int size = worldsize>>1) { if((genmergeprogress++&0xFFF)==0) renderprogress(float(genmergeprogress)/allocnodes, "merging faces..."); neighbourstack[++neighbourdepth] = c; loopi(8) { ivec co(i, o, size); int vis; - if(c[i].children) genmerges(c[i].children, co, size>>1); + if(c[i].children) genmerges(orient, c[i].children, co, size>>1); else if(!isempty(c[i])) loopj(6) if((vis = visibletris(c[i], j, co, size))) { cfkey k; poly p; @@ -1517,7 +1521,7 @@ void genmerges(cube *c = worldroot, const ivec &o = ivec(0, 0, 0), int size = wo } if((size == 1<<maxmerge || c == worldroot) && cpolys.numelems) { enumeratekt(cpolys, cfkey, key, cfpolys, val, { - mergepolys(key.orient, co, key.n, key.offset, val.polys); + mergepolys(orient, co, key.n, key.offset, val.polys); }); cpolys.clear(); } @@ -1525,7 +1529,7 @@ void genmerges(cube *c = worldroot, const ivec &o = ivec(0, 0, 0), int size = wo --neighbourdepth; } -int calcmergedsize(int orient, const ivec &co, int size, const vertinfo *verts, int numverts) { +int calcmergedsize(const ivec &co, int size, const vertinfo *verts, int numverts) { ushort x1 = verts[0].x, y1 = verts[0].y, z1 = verts[0].z, x2 = x1, y2 = y1, z2 = z1; for(int i = 1; i < numverts; i++) { @@ -1572,7 +1576,7 @@ static void invalidatemerges(cube &c) { static int invalidatedmerges = 0; -void invalidatemerges(cube &c, const ivec &co, int size, bool msg) { +void invalidatemerges(cube &c, bool msg) { if(msg && invalidatedmerges!=totalmillis) { renderprogress(0, "invalidating merged surfaces..."); invalidatedmerges = totalmillis; |
