Forum

Mission Pack 2 Animation fix?

Discuss programming in the QuakeC language.

Moderator: InsideQC Admins

Mission Pack 2 Animation fix?

Postby ooppee » Mon Mar 14, 2011 12:35 am

http://quakeone.com/forums/quake-mod-re ... perly.html

I did this QC edit which fixed the issue of the Plasmagun NOT working in Darkplaces.
However a annoyance that has happened since Day 1 for me regardless of engine.
The Plasmagun NOT having a fire animation. The model itself does - but ingame it doesn't use it.
I have the source code (obviously due to my linked edit). However I cannot for the life of me find where the (first person) fire animation is handled. I want to fix that and have it actually use the frames of animation of the model - I must be blind but where is this handled? I know models.qc contains the info in id1 - but DoE source code doesn't have this file.
ooppee
 
Posts: 70
Joined: Thu Oct 28, 2010 2:57 am

Postby leileilol » Mon Mar 14, 2011 12:39 am

Not a bug: it's not intended to animate.
i should not be here
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Postby ooppee » Mon Mar 14, 2011 1:00 am

Ok well if I want to animate it - where would that fix need to be applied?
I called it a bug as the model itself has animation frames + the gun is pretty much the Q1 BFG equal (big ball that deals heavy damage) yet it sits idle. Zero feedback from a weapon is bad.
ooppee
 
Posts: 70
Joined: Thu Oct 28, 2010 2:57 am

Re: Mission Pack 2 Animation fix?

Postby mankrip » Mon Mar 14, 2011 6:19 am

ooppee wrote:The model itself does - but ingame it doesn't use it.
[...] However I cannot for the life of me find where the (first person) fire animation is handled.

self.weaponframe
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
User avatar
mankrip
 
Posts: 915
Joined: Fri Jul 04, 2008 3:02 am

Postby ooppee » Mon Mar 14, 2011 8:55 am

Indeed found the part, but now whenever I touch it - the firing goes to the Lightning guns speed lmao (animation works though).

Code: Select all
//============================================================================
void() W_FirePlasma;

void() player_light1   =[$light1, player_light2  ]
{
   self.effects = self.effects | EF_MUZZLEFLASH;

   if (!self.button0)
      {player_run ();return;}
   self.weaponframe = self.weaponframe + 1;
   if (self.weaponframe == 5)
      self.weaponframe = 1;
   SuperDamageSound();
   
   if (self.weapon == IT_LIGHTNING)
   {      
      W_FireLightning();
      self.attack_finished = time + 0.2;
   }
   else if (self.weapon == IT_PLASMA_GUN)
   {
      W_FirePlasma();
      player_run();
      return;
   }
};
void() player_light2   =[$light2, player_light1  ]
{
   self.effects = self.effects | EF_MUZZLEFLASH;

   if (!self.button0)
      {player_run ();return;}
   self.weaponframe = self.weaponframe + 1;
   if (self.weaponframe == 5)
      self.weaponframe = 1;
   SuperDamageSound();
   
   if (self.weapon == IT_LIGHTNING)
   {      
      W_FireLightning();
      self.attack_finished = time + 0.2;
   }
};



That's the original code.

In the:
else if (self.weapon == IT_PLASMA_GUN)

the culprit for animation removing is:
Code: Select all
   else if (self.weapon == IT_PLASMA_GUN)
   {
      W_FirePlasma();
      ************player_run();************
      return;
   }

The *'s are just to highlight the issue.
If I at ALL touch or edit it out. Animation works - however it then fires just as fast (if not more) than the lightning gun.
I've even checked the weapons.qc (W_Attack) and it's set at 1.0.

Out of even replacing the entire part of the if IT_PLASMA_GUN to be:
Code: Select all
   else if (self.weapon == IT_PLASMA_GUN)
   {
      W_FirePlasma();
      self.attack_finished = time + 1.0;
   }


It's the same effect as editing out the player_run.

I've been fiddling around with this for a bit and I'm at a loss. I can get animation, but not without making the gun have a insane rate of fire. I even tried keeping the original code part and just adding the self.attack_finished part and still no change.
ooppee
 
Posts: 70
Joined: Thu Oct 28, 2010 2:57 am

Postby Dr. Shadowborg » Mon Mar 14, 2011 3:48 pm

player_light1() and player_light2() are designed for a rapid fire weapon, not a single fire weapon like the plasma gun is.

Look at player_shot1-6 or player_rock1-6 for your answers.

You'll need to shorten the animation though as v_plasma.mdl, like v_light.mdl only has 4 animation frames. (5 total, but frame 0 is the
"idle" frame)
User avatar
Dr. Shadowborg
InsideQC Staff
 
Posts: 1110
Joined: Sat Oct 16, 2004 3:34 pm

Postby ooppee » Tue Mar 15, 2011 4:23 pm

http://www.quaketastic.com/upload/files ... her-V2.zip

Got it running all now. So it as the projectile not moving fix (when used in Darkplaces) and now the Plasmagun animates upon firing which actually looks a lot better than sitting idle (and allows modders to make a animated weapon replacement)

Thanks for the help mk and Shadow.
ooppee
 
Posts: 70
Joined: Thu Oct 28, 2010 2:57 am


Return to QuakeC Programming

Who is online

Users browsing this forum: No registered users and 1 guest