1.2 update, w/ GZDoom 4.9 stuff:

- Customizable player skins here too.
 - Integrated re-skin add-ons ("Old Sounds" is still separate).
 - The usual fixes and optimizations.
 - All weapons are now left-handed, where possible.
This commit is contained in:
Marisa the Magician 2022-11-06 00:02:46 +01:00
commit a21aa43f35
1485 changed files with 1157 additions and 380 deletions

View file

@ -919,7 +919,7 @@ Class LightFlareThrown : BetaFlareThrown
a = FRandom[BFlare](0,360);
s = FRandom[BFlare](0,0.15);
let t = Spawn("LightFlareParticle",pos+x*4+z);
t.vel = (x+y*cos(a)*s+z*sin(a)*s).unit()*FRandom[BFlare](1,4);
t.vel = dt_Utility.ConeSpread(x,y,z,a,s)*FRandom[BFlare](1,4);
}
}
override void Tick()
@ -941,7 +941,7 @@ Class DarkFlareThrown : BetaFlareThrown
a = FRandom[BFlare](0,360);
s = FRandom[BFlare](0,0.5);
let t = Spawn("DarkFlareParticle",pos+x*4+z);
t.vel = (x+y*cos(a)*s+z*sin(a)*s).unit()*FRandom[BFlare](4,8);
t.vel = dt_Utility.ConeSpread(x,y,z,a,s)*FRandom[BFlare](4,8);
}
}
override void Tick()
@ -1201,7 +1201,7 @@ Class UFlashLight1 : DynamicLight
while ( bt.Next() )
{
if ( !bt.Thing || (Distance3D(bt.Thing) > args[LIGHT_INTENSITY]) ) continue;
Vector3 aimdir = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch));
Vector3 aimdir = dt_Utility.Vec3FromAngle(angle,pitch);
Vector3 reldir = Vec3To(bt.Thing).unit();
if ( (acos(aimdir dot reldir) < SpotOuterAngle+5) && bt.Thing.CheckSight(target) ) bt.Thing.LastHeard = target;
}
@ -1673,7 +1673,7 @@ Class MinigunSentry : Actor
[x, y, z] = dt_CoordUtil.GetAxes(pitch,angle,roll);
origin = level.Vec3Offset(pos,x*24+z*8);
double a = FRandom[Sentry](0,360), s = FRandom[Sentry](0,0.04);
Vector3 dir = (x+y*cos(a)*s+z*sin(a)*s).unit();
Vector3 dir = dt_Utility.ConeSpread(x,y,z,a,s);
FLineTraceData d;
master.LineTrace(atan2(dir.y,dir.x),10000,asin(-dir.z),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d);
if ( d.HitType == TRACE_HitActor )
@ -1952,7 +1952,7 @@ Class SentryBoom : Actor
let f = Spawn("SentryFragment",Vec3Offset(FRandom[EFrag](-8,8),FRandom[EFrag](-8,8),FRandom[EFrag](4,40)));
ang = FRandom[EFrag](0,360);
pt = FRandom[EFrag](-90,90);
f.vel = (cos(ang)*cos(pt),sin(ang)*cos(pt),-sin(pt))*FRandom[EFrag](8,15);
f.vel = dt_Utility.Vec3FromAngle(ang,pt)*FRandom[EFrag](8,15);
}
Scale.x *= RandomPick[EFrag](-1,1);
Scale.y *= RandomPick[EFrag](-1,1);
@ -2366,7 +2366,7 @@ Class SentryGun : Actor
while ( a = Actor(ti.Next()) )
{
if ( !IsEnemy(a) ) continue;
Vector3 x = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch));
Vector3 x = dt_Utility.Vec3FromAngle(angle,pitch);
Vector3 vecto = level.Vec3Diff(Vec3Offset(0,0,16),a.Vec3Offset(0,0,a.height/2));
double distto = vecto.length();
Vector3 dirto = vecto/distto;
@ -2415,7 +2415,7 @@ Class SentryGun : Actor
origin = level.Vec3Offset(pos,x*12+z*16);
double a = FRandom[Sentry](0,360), s = FRandom[Sentry](0,0.05);
Vector3 nx = target?Vec3To(target).unit():x;
Vector3 dir = (nx+y*cos(a)*s+z*sin(a)*s).unit();
Vector3 dir = dt_Utility.ConeSpread(nx,y,z,a,s);
FLineTraceData d;
LineTrace(atan2(dir.y,dir.x),10000,asin(-dir.z),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d);
if ( d.HitType == TRACE_HitActor )