This branch is a staging area for changes that will make it to devel once they are fully implemented.

Everything in here is highly unstable and may not work.
Current commit contains various new features for the HUD, some cleanup, and additional changes for compatibility with Doomreal as it is developed.
The diff is kinda fucky on the font restructure due to flaky rename detection.
This commit is contained in:
Marisa the Magician 2019-08-31 03:09:40 +02:00
commit a3449b5c5b
1411 changed files with 416 additions and 214 deletions

View file

@ -31,7 +31,13 @@ Class EnforcerLight : DynamicLight
Destroy();
return;
}
if ( target.player ) SetOrigin(target.Vec2OffsetZ(0,0,target.player.viewz),true);
if ( target.player )
{
Vector3 x, y, z, origin;
[x, y, z] = dt_CoordUtil.GetAxes(target.pitch,target.angle,target.roll);
origin = level.Vec3Offset(target.Vec2OffsetZ(0,0,target.player.viewz),x*12);
SetOrigin(origin,true);
}
else SetOrigin(target.pos,true);
if ( cnt++ > 2 ) Destroy();
}
@ -173,6 +179,7 @@ Class Enforcer : UTWeapon
bool SlaveActive, SlaveDown, SlaveReload, SlaveAltFire;
int SlaveRefire;
transient ui Font usmf;
double AltAccuracy;
property ClipCount : ClipCount;
property SlaveClipCount : SlaveClipCount;
@ -213,6 +220,7 @@ Class Enforcer : UTWeapon
{
Weapon weap = Weapon(invoker);
if ( !weap || !player ) return;
if ( invoker.altaccuracy < 0.2 ) invoker.altaccuracy += 0.05;
if ( slave )
{
if ( flak_enforcerreload && (invoker.slaveclipcount < 5) ) A_PlaySound("enforcer/click",CHAN_6);
@ -323,8 +331,7 @@ Class Enforcer : UTWeapon
int ydir = slave?-1:1;
if ( alt ) origin = origin-z*3.0+ydir*y*1.0;
else origin = origin-z*1.0+ydir*y*4.0;
double a = FRandom[Enforcer](0,360), s = FRandom[Enforcer](0,alt?0.08:0.004);
if ( invoker.SlaveActive ) s *= 3;
double a = FRandom[Enforcer](0,360), s = FRandom[Enforcer](0,alt?invoker.altaccuracy:0.004);
[x2, y2, z2] = dt_CoordUtil.GetAxes(BulletSlope(),angle,roll);
Vector3 dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit();
FLineTraceData d;
@ -499,7 +506,11 @@ Class Enforcer : UTWeapon
2NFI A 0;
Goto LeftIdle;
AltFire:
ENFA A 0 A_Overlay(-9999,null);
ENFA A 0
{
invoker.altaccuracy = 0.08;
A_Overlay(-9999,null);
}
ENFA ABCDEF 1;
AltHold:
ENFA G 0 A_EnforcerFire(true);