From 757096e7df15c14b9b10352fa91663483f9e34f8 Mon Sep 17 00:00:00 2001 From: xolatile Date: Sun, 10 Aug 2025 00:19:46 +0200 Subject: all --- src/fpsgame/weapon.cpp | 37 ++++--------------------------------- 1 file changed, 4 insertions(+), 33 deletions(-) (limited to 'src/fpsgame/weapon.cpp') diff --git a/src/fpsgame/weapon.cpp b/src/fpsgame/weapon.cpp index c486110..30d2da8 100644 --- a/src/fpsgame/weapon.cpp +++ b/src/fpsgame/weapon.cpp @@ -305,9 +305,6 @@ namespace game { if((gun==GUN_RL || gun==GUN_GL) && explodebright < 1) color = vec::hexcolor(color).mul(explodebright).tohexcolor(); /// REPLACE THIS SHIT WITH SMOKE AND FIRE EFFECT LIKE IN XONOTIC //~particle_fireball(v, guns[gun].exprad, gun!=GUN_GL ? PART_EXPLOSION : PART_EXPLOSION_BLUE, gun!=GUN_GL ? -1 : int((guns[gun].exprad-4.0f)*15), color, 4.0f); - if(gun==GUN_RL) adddynlight(v, 1.15f*guns[gun].exprad, vec(2, 1.5f, 1), 700, 100, 0, guns[gun].exprad/2, vec(1, 0.75f, 0.5f)); - else if(gun==GUN_GL) adddynlight(v, 1.15f*guns[gun].exprad, vec(0.5f, 1.5f, 2), 600, 100, 0, 8, vec(0.25f, 1, 1)); - else adddynlight(v, 1.15f*guns[gun].exprad, vec(2, 1.5f, 1), 700, 100); if(!local) return; int numdyn = numdynents(); loopi(numdyn) { @@ -431,7 +428,6 @@ namespace game { particle_flare(hudgunorigin(gun, from, rays[i], d), rays[i], 300, PART_STREAK, 0xFFC864, 0.28f); if(!local) adddecal(DECAL_BULLET, rays[i], vec(from).sub(rays[i]).safenormalize(), 2.0f); } - if(muzzlelight) adddynlight(hudgunorigin(gun, d->o, to, d), 30, vec(0.5f, 0.375f, 0.25f), 100, 100, DL_FLASH, 0, vec(0, 0, 0), d); break; } case GUN_CG: @@ -443,7 +439,6 @@ namespace game { if(muzzleflash && d->muzzle.x >= 0) particle_flare(d->muzzle, d->muzzle, gun==GUN_CG ? 100 : 200, PART_MUZZLE_FLASH1, 0xFFFFFF, gun==GUN_CG ? 2.25f : 1.25f, d); if(!local) adddecal(DECAL_BULLET, to, vec(from).sub(to).safenormalize(), 2.0f); - if(muzzlelight) adddynlight(hudgunorigin(gun, d->o, to, d), gun==GUN_CG ? 30 : 15, vec(0.5f, 0.375f, 0.25f), gun==GUN_CG ? 50 : 100, gun==GUN_CG ? 50 : 100, DL_FLASH, 0, vec(0, 0, 0), d); break; } case GUN_RL: @@ -460,7 +455,6 @@ namespace game { up.z += dist/8; if(muzzleflash && d->muzzle.x >= 0) particle_flare(d->muzzle, d->muzzle, 200, PART_MUZZLE_FLASH2, 0xFFFFFF, 1.5f, d); - if(muzzlelight) adddynlight(hudgunorigin(gun, d->o, to, d), 20, vec(0.5f, 0.375f, 0.25f), 100, 100, DL_FLASH, 0, vec(0, 0, 0), d); newbouncer(from, up, local, id, d, BNC_GRENADE, guns[gun].ttl, guns[gun].projspeed); break; } @@ -472,7 +466,6 @@ namespace game { if(muzzleflash && d->muzzle.x >= 0) particle_flare(d->muzzle, d->muzzle, 150, PART_MUZZLE_FLASH3, 0xFFFFFF, 1.25f, d); if(!local) adddecal(DECAL_BULLET, to, vec(from).sub(to).safenormalize(), 3.0f); - if(muzzlelight) adddynlight(hudgunorigin(gun, d->o, to, d), 25, vec(0.5f, 0.375f, 0.25f), 75, 75, DL_FLASH, 0, vec(0, 0, 0), d); break; } bool looped = false; @@ -483,7 +476,7 @@ namespace game { case S_CHAINSAW_ATTACK: if(d->attacksound >= 0) looped = true; d->attacksound = sound; - d->attackchan = playsound(sound, d==h ? NULL : &d->o, NULL, 0, -1, 100, d->attackchan); + d->attackchan = playsound(sound, d==h ? NULL : &d->o, NULL, -1, 100, d->attackchan); break; default: playsound(sound, d==h ? NULL : &d->o); @@ -504,13 +497,6 @@ namespace game { d.mul(min(newdist, dist)).add(owner->o); } } - void dynlighttrack(physent *owner, vec &o, vec &hud) { - if(owner->type!=ENT_PLAYER && owner->type!=ENT_AI) return; - fpsent *pl = (fpsent *)owner; - if(pl->muzzle.x < 0 || pl->lastattackgun != pl->gunselect) return; - o = pl->muzzle; - hud = owner == followingplayer(player1) ? vec(pl->o).add(vec(0, 0, 2)) : pl->muzzle; - } float intersectdist = 1e16f; bool intersect(dynent *d, const vec &from, const vec &to, float &dist) { // if lineseg hits entity bounding box { vec bottom(d->o), top(d->o); @@ -609,21 +595,6 @@ namespace game { if(d->gunselect == GUN_PISTOL && d->ai) d->gunwait += int(d->gunwait*(((101-d->skill)+rnd(111-d->skill))/100.f)); d->totalshots += guns[d->gunselect].damage*(d->quadmillis ? 4 : 1)*guns[d->gunselect].rays; } - void adddynlights() { - loopv(projs) { - projectile &p = projs[i]; - if(p.gun!=GUN_RL) continue; - vec pos(p.o); - pos.add(vec(p.offset).mul(p.offsetmillis/float(OFFSETMILLIS))); - adddynlight(pos, 20, vec(1, 0.75f, 0.5f)); - } - loopv(bouncers) { - bouncer &bnc = *bouncers[i]; - if(bnc.bouncetype!=BNC_GRENADE) continue; - vec pos = bnc.offsetpos(); - adddynlight(pos, 8, vec(0.25f, 1, 1)); - } - } static const char * const projnames[2] = { "projectiles/grenade", "projectiles/rocket" }; void preloadbouncers() { loopi(sizeof(projnames)/sizeof(projnames[0])) preloadmodel(projnames[i]); @@ -680,7 +651,7 @@ namespace game { if(gun >= 0 && gun < NUMGUNS && d->clientnum >= 0 && d->state == CS_ALIVE && d->lastattackgun == gun && lastmillis - d->lastaction < guns[gun].attackdelay + 50) { - d->attackchan = playsound(d->attacksound, local ? NULL : &d->o, NULL, 0, -1, -1, d->attackchan); + d->attackchan = playsound(d->attacksound, local ? NULL : &d->o, NULL, -1, -1, d->attackchan); if(d->attackchan < 0) d->attacksound = -1; } else d->stopattacksound(); @@ -698,12 +669,12 @@ namespace game { if(d->idlesound != sound) { if(d->idlesound >= 0) d->stopidlesound(); if(sound >= 0) { - d->idlechan = playsound(sound, local ? NULL : &d->o, NULL, 0, -1, 100, d->idlechan, radius); + d->idlechan = playsound(sound, local ? NULL : &d->o, NULL, -1, 100, d->idlechan, radius); if(d->idlechan >= 0) d->idlesound = sound; } } else if(sound >= 0) { - d->idlechan = playsound(sound, local ? NULL : &d->o, NULL, 0, -1, -1, d->idlechan, radius); + d->idlechan = playsound(sound, local ? NULL : &d->o, NULL, -1, -1, d->idlechan, radius); if(d->idlechan < 0) d->idlesound = -1; } } -- cgit v1.2.3