Mission Pack 2 Animation fix?

Discuss programming in the QuakeC language.
Post Reply
ooppee
Posts: 70
Joined: Thu Oct 28, 2010 2:57 am

Mission Pack 2 Animation fix?

Post by ooppee »

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.
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Post by leileilol »

Not a bug: it's not intended to animate.
i should not be here
ooppee
Posts: 70
Joined: Thu Oct 28, 2010 2:57 am

Post by ooppee »

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.
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: Mission Pack 2 Animation fix?

Post by mankrip »

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
ooppee
Posts: 70
Joined: Thu Oct 28, 2010 2:57 am

Post by ooppee »

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.
Dr. Shadowborg
InsideQC Staff
Posts: 1120
Joined: Sat Oct 16, 2004 3:34 pm

Post by Dr. Shadowborg »

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)
ooppee
Posts: 70
Joined: Thu Oct 28, 2010 2:57 am

Post by ooppee »

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.
Post Reply