1.2 update w/ GZDoom 4.9 features:

- Changeable player skins.
 - Ammo LEDs are now 1:1 with UT by using canvas textures.
 - Integrate some add-ons, including reskins.
 - Various fixes (some backported from Demolitionist).
 - Migrated from libeye to Gutamatics.
This commit is contained in:
Marisa the Magician 2022-11-05 23:59:16 +01:00
commit 602a89cc68
1761 changed files with 4461 additions and 1597 deletions

View file

@ -74,20 +74,26 @@ Class Minigun : UTWeapon
{
int bcnt, tcnt;
MinigunLED ammoled;
ui Canvas AmmoLed;
ui TextureID LedBase, LedFont;
override void DoEffect()
override void RenderOverlay( RenderEvent e )
{
Super.DoEffect();
if ( !ammoled )
Vector2 fnt[] =
{
let ti = ThinkerIterator.Create("MinigunLED");
while ( ammoled=MinigunLED(ti.Next()) ) break;
if ( !ammoled ) ammoled = MinigunLED(Spawn("MinigunLED"));
}
if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return;
ammoled.mygun = self;
TexMan.SetCameraToTexture(ammoled,"MiniALed",90);
(0,1), (21,1), (42,1), (63,1), (84,1),
(105,1), (126,1), (147,1), (168,1), (189,1)
};
if ( !AmmoLed ) AmmoLed = TexMan.GetCanvas("MiniALed");
if ( !LedBase ) LedBase = TexMan.CheckForTexture("models/miniammoledbase.png",TexMan.Type_Any);
if ( !LedFont ) LedFont = TexMan.CheckForTexture("models/LEDFont2.png",TexMan.Type_Any);
AmmoLed.DrawTexture(LedBase,false,0,0);
int dg3 = (Ammo1.Amount/100)%10;
int dg2 = (Ammo1.Amount/10)%10;
int dg1 = Ammo1.Amount%10;
AmmoLed.DrawTexture(LedFont,false,2,14,DTA_SrcX,fnt[dg3].x,DTA_SrcY,fnt[dg3].y,DTA_SrcWidth,20,DTA_SrcHeight,35,DTA_DestWidth,20,DTA_DestHeight,35,DTA_Color,0xFFFF0000);
AmmoLed.DrawTexture(LedFont,false,22,14,DTA_SrcX,fnt[dg2].x,DTA_SrcY,fnt[dg2].y,DTA_SrcWidth,20,DTA_SrcHeight,35,DTA_DestWidth,20,DTA_DestHeight,35,DTA_Color,0xFFFF0000);
AmmoLed.DrawTexture(LedFont,false,42,14,DTA_SrcX,fnt[dg1].x,DTA_SrcY,fnt[dg1].y,DTA_SrcWidth,20,DTA_SrcHeight,35,DTA_DestWidth,20,DTA_DestHeight,35,DTA_Color,0xFFFF0000);
}
action void A_FireBullet( bool alt = false )
@ -115,7 +121,7 @@ Class Minigun : UTWeapon
Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+y*2-z*2);
double a = FRandom[Minigun](0,360), s = FRandom[Minigun](0,alt?0.05:0.02);
[x2, y2, z2] = dt_CoordUtil.GetAxes(BulletSlope(),angle,roll);
Vector3 dir = (x2+y2*cos(a)*s+z2*sin(a)*s).unit();
Vector3 dir = dt_Utility.ConeSpread(x2,y2,z2,a,s);
FLineTraceData d;
LineTrace(atan2(dir.y,dir.x),10000,asin(-dir.z),TRF_ABSPOSITION,origin.z,origin.x,origin.y,d);
UTBulletTrail.DoTrail(self,origin,dir,10000,alt?5:3);
@ -216,6 +222,7 @@ Class Minigun : UTWeapon
Weapon.AmmoGive 50;
Weapon.Kickback 180;
UTWeapon.DropAmmo 20;
UTWeapon.NameColor "FF FF 00";
}
States
{