jewalky

Untitled

Aug 10th, 2016
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.03 KB | None | 0 0
  1. // fire shit!
  2.                 // let's assume we have horizontal fov of 90.
  3.                 int fireheight = GetActorViewHeight(0);
  4.                
  5.                 int fov = 90;
  6.                 int angxmax = (65536*fov/360)/2;
  7.                 int angymax = angxmax*240/320;
  8.                 int angxhalf = angxmax/2;
  9.                 int angyhalf = angymax/2;
  10.                
  11.                  //hudX/2 - ((hudX/2) * sin(angle) / cos(angle));
  12.                 //int hudX2 = 160;
  13.                
  14.                
  15.                 int angxfinal = ((angxmax*(160-mousex)/160));
  16.                 int angyfinal = -((angymax*(120-mousey)/120));
  17.                 //print(f:angxfinal);
  18.                 //angxfinal -= 0.25;
  19.                
  20.                
  21.                
  22.                 int angfix = Abs(160-mousex);
  23.                 angfix = (1.0-(Abs(80-angfix)*1.0/80));
  24.                 int angsin = (sin(angfix/2)+1.0)/8;
  25.                 //angfix = FixedMul(angsin, angfix);
  26.                 //print(f:angfix, c:'\n', f:angsin);
  27.                 angxfinal = FixedMul(angxfinal, 1.0+angsin)*angfix/1.0 + angxfinal*(1.0-angfix)/1.0;
  28.                 angxfinal += curangle;
  29.                
  30.                 int dx = 1.0;
  31.                 int dy = 0;
  32.                 int dz = 0;
  33.                
  34.                 int cdx, cdy, cdz;
  35.                
  36.                 cdx = dx; cdy = dy; cdz = dz;
  37.                
  38.                 dz = FixedMul(cdz, cos(angyfinal)) - FixedMul(cdx, sin(angyfinal));
  39.                 dx = FixedMul(cdz, sin(angyfinal)) + FixedMul(cdx, cos(angyfinal));
  40.                
  41.                 cdx = dx; cdy = dy; cdz = dz;
  42.                
  43.                 dx = FixedMul(cdx, cos(angxfinal)) - FixedMul(cdy, sin(angxfinal));
  44.                 dy = FixedMul(cdx, sin(angxfinal)) + FixedMul(cdy, cos(angxfinal));
  45.                
  46.                 int xcoord = cos(angxfinal) * 64 + GetActorX(0);
  47.                 int ycoord = sin(angxfinal) * 64 + GetActorY(0);
  48.                
  49.                 //Spawn("BulletPuff", xcoord, ycoord, GetActorZ(0)+GetActorViewHeight(0), 0, 0);
  50.                 int utid = UniqueTID();
  51.                 Spawn("Rocket", xcoord, ycoord, GetActorZ(0)+fireheight, utid);
  52.                 SetActorAngle(utid, angxfinal);
  53.                 int ctid = ActivatorTID();
  54.                 int utid2 = UniqueTID();
  55.                 Thing_ChangeTID(0, utid2);
  56.                 SetActivator(utid);
  57.                 SetPointer(AAPTR_TARGET, utid2);
  58.                 SetActivator(utid2);
  59.                 Thing_ChangeTID(0, ctid);
  60.                 SetActorPosition(utid, GetActorX(0), GetActorY(0), GetActorZ(0)+fireheight-4.0, false);
  61.                 SetActorVelocity(utid, dx*16, dy*16, dz*16, false, true);
  62.                 lastattack = Timer();
Advertisement
Add Comment
Please, Sign In to add comment