summaryrefslogtreecommitdiff
path: root/src/engine/octa.cpp
diff options
context:
space:
mode:
authorxolatile2025-08-10 14:30:56 +0200
committerxolatile2025-08-10 14:30:56 +0200
commitbec4167d29a68efd0cd2da36143e7f1c78a119a0 (patch)
treef5f75c25e412b000850c4e466db94ee4b804dfa2 /src/engine/octa.cpp
parent757096e7df15c14b9b10352fa91663483f9e34f8 (diff)
downloadxolatile-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.cpp28
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;