From: <ave...@us...> - 2009-04-26 16:06:35
|
Revision: 5892 http://gemrb.svn.sourceforge.net/gemrb/?rev=5892&view=rev Author: avenger_teambg Date: 2009-04-26 16:06:31 +0000 (Sun, 26 Apr 2009) Log Message: ----------- new avatar animation scheme for projectile fragments Modified Paths: -------------- gemrb/trunk/gemrb/plugins/Core/CharAnimations.cpp gemrb/trunk/gemrb/plugins/Core/CharAnimations.h Modified: gemrb/trunk/gemrb/plugins/Core/CharAnimations.cpp =================================================================== --- gemrb/trunk/gemrb/plugins/Core/CharAnimations.cpp 2009-04-26 16:01:23 UTC (rev 5891) +++ gemrb/trunk/gemrb/plugins/Core/CharAnimations.cpp 2009-04-26 16:06:31 UTC (rev 5892) @@ -564,6 +564,9 @@ IE_ANI_NINE_FRAMES: These animations are huge, nine bams make a frame. +IE_ANI_FRAGMENT: These animations are used for projectile graphics. + A single file contains 5 cycles (code mirror for east animation) + IE_ANI_PST_ANIMATION_1: IE_ANI_PST_ANIMATION_2: IE_ANI_PST_ANIMATION_3: @@ -851,6 +854,7 @@ case IE_ANI_PST_ANIMATION_3: //no stc just std case IE_ANI_PST_ANIMATION_2: //no std just stc case IE_ANI_PST_ANIMATION_1: + case IE_ANI_FRAGMENT: if (Orient > 8) { a->MirrorAnimation( ); } @@ -867,22 +871,11 @@ switch (GetAnimType()) { case IE_ANI_NINE_FRAMES: //dragon animations - Anims[StanceID][Orient] = anims; - break; case IE_ANI_FOUR_FRAMES: //wyvern animations - Anims[StanceID][Orient] = anims; - break; case IE_ANI_BIRD: - Anims[StanceID][Orient] = anims; - break; case IE_ANI_CODE_MIRROR: - Anims[StanceID][Orient] = anims; - break; - case IE_ANI_SIX_FILES: //16 anims some are stored elsewhere case IE_ANI_ONE_FILE: //16 orientations - Anims[StanceID][Orient] = anims; - break; case IE_ANI_CODE_MIRROR_2: //9 orientations Anims[StanceID][Orient] = anims; break; @@ -892,6 +885,7 @@ case IE_ANI_TWO_FILES_3: case IE_ANI_FOUR_FILES: case IE_ANI_SIX_FILES_2: + case IE_ANI_FRAGMENT: Orient&=~1; Anims[StanceID][Orient] = anims; Anims[StanceID][Orient + 1] = anims; @@ -960,6 +954,10 @@ Cycle = (ieByte) ((StanceID&1) * 9 + SixteenToNine[Orient]); break; + case IE_ANI_FRAGMENT: + Cycle = SixteenToFive[Orient]; + break; + case IE_ANI_ONE_FILE: Cycle = (ieByte) (one_file[StanceID] * 16 + Orient); break; Modified: gemrb/trunk/gemrb/plugins/Core/CharAnimations.h =================================================================== --- gemrb/trunk/gemrb/plugins/Core/CharAnimations.h 2009-04-26 16:01:23 UTC (rev 5891) +++ gemrb/trunk/gemrb/plugins/Core/CharAnimations.h 2009-04-26 16:06:31 UTC (rev 5892) @@ -86,6 +86,7 @@ #define IE_ANI_TWO_FILES_2 10 //low res bg1 anim #define IE_ANI_FOUR_FRAMES 11 //wyvern anims #define IE_ANI_NINE_FRAMES 12 //dragon anims +#define IE_ANI_FRAGMENT 13 //fragment animation //PST animation types #define IE_ANI_PST_ANIMATION_1 16 //full animation This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |