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:
parent
81ffca403d
commit
602a89cc68
1761 changed files with 4461 additions and 1597 deletions
|
|
@ -543,10 +543,10 @@ Class FlakSlug : Actor
|
|||
p.bHITOWNER = true;
|
||||
a = FRandom[Flak](0,360);
|
||||
s = FRandom[Flak](0,0.1);
|
||||
Vector3 dir = (x+y*cos(a)*s+z*sin(a)*s).unit();
|
||||
Vector3 dir = dt_Utility.ConeSpread(x,y,z,a,s);
|
||||
p.angle = atan2(dir.y,dir.x);
|
||||
p.pitch = -asin(dir.z);
|
||||
p.vel = (cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch))*(p.speed+FRandom[Flak](-3,3));
|
||||
p.vel = dt_Utility.Vec3FromAngle(p.angle,p.pitch)*(p.speed+FRandom[Flak](-3,3));
|
||||
p.target = target;
|
||||
}
|
||||
int numpt = Random[Flak](8,12);
|
||||
|
|
@ -637,20 +637,25 @@ Class FlakMag : UTCasing
|
|||
|
||||
Class FlakCannon : UTWeapon
|
||||
{
|
||||
FlakCannonLED ammoled;
|
||||
ui Canvas AmmoLed;
|
||||
ui TextureID LedFont;
|
||||
|
||||
override void DoEffect()
|
||||
override void RenderOverlay( RenderEvent e )
|
||||
{
|
||||
Super.DoEffect();
|
||||
if ( !ammoled )
|
||||
Vector2 fnt[] =
|
||||
{
|
||||
let ti = ThinkerIterator.Create("FlakCannonLED");
|
||||
while ( ammoled=FlakCannonLED(ti.Next()) ) break;
|
||||
if ( !ammoled ) ammoled = FlakCannonLED(Spawn("FlakCannonLED"));
|
||||
}
|
||||
if ( !Owner || !Owner.player || (Owner != players[consoleplayer].Camera) ) return;
|
||||
ammoled.mygun = self;
|
||||
TexMan.SetCameraToTexture(ammoled,"FlakALed",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("FlakALed");
|
||||
if ( !LedFont ) LedFont = TexMan.CheckForTexture("models/LEDFont2.png",TexMan.Type_Any);
|
||||
AmmoLed.Clear(0,0,128,64,"Black");
|
||||
int dg3 = (Ammo1.Amount/100)%10;
|
||||
int dg2 = (Ammo1.Amount/10)%10;
|
||||
int dg1 = Ammo1.Amount%10;
|
||||
AmmoLed.DrawTexture(LedFont,false,34,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,54,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,74,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_Loading( bool first = false )
|
||||
|
|
@ -692,10 +697,10 @@ Class FlakCannon : UTWeapon
|
|||
p = Spawn("FlakChunk",level.Vec3Offset(origin,offsets[i]));
|
||||
a = FRandom[Flak](0,360);
|
||||
s = FRandom[Flak](0,0.1);
|
||||
Vector3 dir = (x+y*cos(a)*s+z*sin(a)*s).unit();
|
||||
Vector3 dir = dt_Utility.ConeSpread(x,y,z,a,s);
|
||||
p.angle = atan2(dir.y,dir.x);
|
||||
p.pitch = -asin(dir.z);
|
||||
p.vel = (cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch))*(p.speed+FRandom[Flak](-3,3));
|
||||
p.vel = dt_Utility.Vec3FromAngle(p.angle,p.pitch)*(p.speed+FRandom[Flak](-3,3));
|
||||
p.target = self;
|
||||
}
|
||||
int numpt = Random[Flak](20,30);
|
||||
|
|
@ -737,7 +742,7 @@ Class FlakCannon : UTWeapon
|
|||
Actor p = Spawn("FlakSlug",origin);
|
||||
p.angle = angle;
|
||||
p.pitch = BulletSlope();
|
||||
p.vel = (cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch))*p.speed;
|
||||
p.vel = dt_Utility.Vec3FromAngle(p.angle,p.pitch)*p.speed;
|
||||
p.target = self;
|
||||
int numpt = Random[Flak](10,15);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
|
|
@ -776,6 +781,7 @@ Class FlakCannon : UTWeapon
|
|||
Weapon.AmmoUse2 1;
|
||||
Weapon.AmmoGive 10;
|
||||
UTWeapon.DropAmmo 5;
|
||||
UTWeapon.NameColor "FF 60 00";
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue