From 9234eeb1d2954a3dae6c84ffa8ed8643953272c5 Mon Sep 17 00:00:00 2001 From: xolatile Date: Tue, 5 Aug 2025 15:27:57 +0200 Subject: Experimental MD3 to OBJ to IQM converter and code removal, shit compiles... --- src/engine/explosion.h | 67 ++------------------------------------------------ 1 file changed, 2 insertions(+), 65 deletions(-) (limited to 'src/engine/explosion.h') diff --git a/src/engine/explosion.h b/src/engine/explosion.h index 4880125..819b0a3 100644 --- a/src/engine/explosion.h +++ b/src/engine/explosion.h @@ -1,6 +1,5 @@ namespace sphere { - struct vert { vec pos; @@ -110,13 +109,7 @@ struct fireballrenderer : listrenderer void startrender() { - if(depthfx && depthfxtex.rendertex && numdepthfxranges>0) - { - if(!depthfxtex.highprecision()) SETSHADER(explosionsoft8); - else SETSHADER(explosionsoft); - } - else SETSHADER(explosion); - + SETSHADER(explosion); sphere::enable(); } @@ -130,62 +123,6 @@ struct fireballrenderer : listrenderer sphere::cleanup(); } - int finddepthfxranges(void **owners, float *ranges, int numranges, int maxranges, vec &bbmin, vec &bbmax) - { - static struct fireballent : physent - { - fireballent() - { - type = ENT_CAMERA; - } - } e; - - for(listparticle *p = list; p; p = p->next) - { - int ts = p->fade <= 5 ? 1 : lastmillis-p->millis; - float pmax = p->val, - size = p->fade ? float(ts)/p->fade : 1, - psize = (p->size + pmax * size)*WOBBLE; - if(2*(p->size + pmax)*WOBBLE < depthfxblend || - (!depthfxtex.highprecision() && !depthfxtex.emulatehighprecision() && psize > depthfxscale - depthfxbias) || ) continue; - - e.o = p->o; - e.radius = e.xradius = e.yradius = e.eyeheight = e.aboveeye = psize; - if(!::collide(&e, vec(0, 0, 0), 0, false)) continue; - - if(depthfxscissor==2 && !depthfxtex.addscissorbox(p->o, psize)) continue; - - vec dir = camera1->o; - dir.sub(p->o); - float dist = dir.magnitude(); - dir.mul(psize/dist).add(p->o); - float depth = depthfxtex.eyedepth(dir); - - loopk(3) - { - bbmin[k] = min(bbmin[k], p->o[k] - psize); - bbmax[k] = max(bbmax[k], p->o[k] + psize); - } - - int pos = numranges; - loopi(numranges) if(depth < ranges[i]) { pos = i; break; } - if(pos >= maxranges) continue; - - if(numranges > pos) - { - int moved = min(numranges-pos, maxranges-(pos+1)); - memmove(&ranges[pos+1], &ranges[pos], moved*sizeof(float)); - memmove(&owners[pos+1], &owners[pos], moved*sizeof(void *)); - } - if(numranges < maxranges) numranges++; - - ranges[pos] = depth; - owners[pos] = p; - } - - return numranges; - } - void seedemitter(particleemitter &pe, const vec &o, const vec &d, int fade, float size, int gravity) { pe.maxfade = max(pe.maxfade, fade); @@ -226,7 +163,6 @@ struct fireballrenderer : listrenderer LOCALPARAM(center, o); LOCALPARAMF(millis, lastmillis/1000.0f); LOCALPARAMF(blendparams, inside ? 0.5f : 4, inside ? 0.25f : 0); - binddepthfxparams(depthfxblend, inside ? blend/(2*255.0f) : 0, 2*(p->size + pmax)*WOBBLE >= depthfxblend, p); int passes = inside ? 2 : 1; loopi(passes) @@ -238,5 +174,6 @@ struct fireballrenderer : listrenderer } } }; + static fireballrenderer fireballs("packages/particles/explosion.png"), bluefireballs("packages/particles/plasma.png"); -- cgit v1.2.3