Jump to content

Home

New saber forms, LS_ animations


Boli_Delish

Recommended Posts

Hi all, thanks for even taking the time to read this. Anywho...

 

Currently, I have the rather tedious job of animating some new lightsaber moves for my clan (Trust me, I'm enjoying it, it's just...tedious) who, as a Rolplaying clan, want to get their server closer to SW universe. For me, that means animating the Lightsaber forms.

 

Anywho, I just had a few questions, the first being how would I go about implementing a new lightsaber form in game? I'm not even looking for a fourth single saber form, more a seperate form (much like the Tavion and Desann sets).

 

Secondly, I was wondering how I go about setting up animations to use with the .sab file's katamove line, for example...you know, the LS_ animations?

 

Thanks again for your time, peace.

Link to comment
Share on other sites

The big issue is to simply make animations for all the animations used by the game. You'll have to look thru the LS_ file and figure out everything that needs to be replicated.

 

After that, you'd have to define everything in the anim.h and add it to the SS_ define and finally add the offset to PM_SetSaberMove.

Link to comment
Share on other sites

Thanks for the reply, but I've got a minor problem: I'm pretty new to coding, and so have no bloody clue what you're talking about. (and I got this job...makes sense, huh?)

 

If you could please explain it a little more fully (more coder noob level) for me, that'd be REALLY appreciated.

Link to comment
Share on other sites

As far as I can remember no one has made any new moves to add to JA. Keshire made a new form but was never able to implement it into game. The files are probley up for down load somewhere on the net. You could practice putting them in the game first that way if you can't figure it out you didn't waste all that time making new moves that can't be used. Also why would your clan give you a job this large when a) you don't know how to do it and b) not offer to help you with this? Some friends I think.

Link to comment
Share on other sites

Katanamaru: Don't talk about stuff you have no idea on. I volunteered to do this, and it's a learning experience i'm taking on willingly.

 

Kthnxbai.

 

The main reason I want to learn this is so (eventually) I can animate all seven lightsaber forms for the single saber. At the moment, I can only add two (replacing tavion/desann) and that still means i'm using existing katas etc. So you can see why I want the LS_ stuff as well.

Link to comment
Share on other sites

Currently, i'm both animating AND coding, mainly coding in preperation for when I complete the animations and add them to the animations.cfg and _Humanoid.gla.

 

"Also, you're going to have the new stance to the SS_FAST, SS_STRONG, etc enum and add the offset code to PM_SetSaberMove."

 

You're talking coder...which i'm not too good at. Can you dumb it down a tad? ;)

Link to comment
Share on other sites

PM_SetSaberMove() in bg_saber.c

else if ( pm->ps->fd.saberAnimLevel == SS_STAFF && newMove >= LS_S_TL2BR && newMove < LS_REFLECT_LL )
{//staff has an entirely new set of anims, besides special attacks
	//FIXME: include ready and draw/putaway?
	//FIXME: get hand-made bounces and deflections?
	if ( newMove >= LS_V1_BR && newMove <= LS_REFLECT_LL )
	{//there aren't 1-7, just 1, 6 and 7, so just set it
		anim = BOTH_P7_S7_T_ + (anim-BOTH_P1_S1_T_);//shift it up to the proper set
	}
	else
	{//add the appropriate animLevel
		anim += (pm->ps->fd.saberAnimLevel-FORCE_LEVEL_1) * SABER_ANIM_GROUP_SIZE;
	}
}
else if ( pm->ps->fd.saberAnimLevel == SS_DUAL && newMove >= LS_S_TL2BR && newMove < LS_REFLECT_LL )
{ //akimbo has an entirely new set of anims, besides special attacks
	//FIXME: include ready and draw/putaway?
	//FIXME: get hand-made bounces and deflections?
	if ( newMove >= LS_V1_BR && newMove <= LS_REFLECT_LL )
	{//there aren't 1-7, just 1, 6 and 7, so just set it
		anim = BOTH_P6_S6_T_ + (anim-BOTH_P1_S1_T_);//shift it up to the proper set
	}
	else
	{//add the appropriate animLevel
		anim += (pm->ps->fd.saberAnimLevel-FORCE_LEVEL_1) * SABER_ANIM_GROUP_SIZE;
	}
}
/*
else if ( newMove == LS_DRAW && pm->ps->SaberStaff() )
{//hold saber out front as we turn it on
	//FIXME: need a real "draw" anim for this (and put-away)
	anim = BOTH_SABERSTAFF_STANCE;
}
*/
else if ( pm->ps->fd.saberAnimLevel > FORCE_LEVEL_1 &&
	 !BG_SaberInIdle( newMove ) && !PM_SaberInParry( newMove ) && !PM_SaberInKnockaway( newMove ) && !PM_SaberInBrokenParry( newMove ) && !PM_SaberInReflect( newMove ) && !BG_SaberInSpecial(newMove))
{//readies, parries and reflections have only 1 level 
	anim += (pm->ps->fd.saberAnimLevel-FORCE_LEVEL_1) * SABER_ANIM_GROUP_SIZE;
}

Basically, this code manually offsets the animations from the basic animation name given in the saberMoveData table thingy. It's pretty simple, but the downside is that you gotta have your animations defined in anim.h in an order that matches the base animation order.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...