Alexandre Lange Posted May 26, 2014 Share Posted May 26, 2014 (edited) Hey, guys. I know we are few days from release and big changes cannot be done, but trying to fine tune weapon stats at weapons_gc.xml I have noticed an annoying issue: burst delay, sounds and animations don't match. After hours testing with the laser rifle, I have found values that are not perfect, but far better then default to make things a little more in sync. Problem is: animations don't change with value tweaks, and animation for stand up burst and crouched burst have different timmings! Better values I found: Stand Up Burst- At config.xml: <BurstDelay>330</BurstDelay> - At weapons_gc.xml, laser rifle entry: delay="1.1" burstdelay="0.47" Crouched Burst- At config.xml: <BurstDelay>330</BurstDelay> - At weapons_gc.xml, laser rifle entry: delay="0.6" burstdelay="0.47" Note that optimal BurstDelay (config.xml) and burstdelay (weapons_gc.xml) are the same for both stand up and crouched, but delay (weapons_gc.xml) differ from stand up to crouch. It is the time between the shot command and first bullet fired (stand up soldier rises the weapon so it needs more time, crouched soldiers just fire with the weapon already pointed to the target). Crouch delay value (0.6) is default for laser rifle. I have no clue about the difference between BurstDelay @ config.xml and burstdelay @ weapons_gc.xml, my results are experimental, but I know that both seems to make difference trying to sync things. Below I provide you guys two saves and I would like if you can test and see it for yourselves, and help me to find a solution. Procedure (for each save, at first without tweak the values I mentined): select the soldier out of the transport ship (Hiroto), don't turn him, point the cursor over the ground at some distance direct in front of his facing, hold ctrl and click to fire the burst at the ground. Observe the sync elements (projectiles delay, sound, weapon kick, light over the soldier). End turn and repeat until you can see the small details clearly. Maybe you want to reload and repeat sometimes. After you get the feeling, you can tweak the values and repeat the procedure. You will see the differences. [ATTACH]3826[/ATTACH] [ATTACH]3827[/ATTACH] Now what? I think that better bet is to sync stand up and crouched animations, so we can use the same delay value for both. Note that the light from muzzle flash over the soldier (present only at stand up burst) difficults the sync, even if I have spent hours to make it the better I can. Maybe it could be just removed. Help me, brave guys. We need to fix it, even if it must be as a patch after release. Thanks. shot_anim_up.sav shot_anim_crouch.sav shot_anim_up.sav shot_anim_crouch.sav Edited May 26, 2014 by Alexandre Lange rearranged text for better clarification Quote Link to comment Share on other sites More sharing options...
kabill Posted May 26, 2014 Share Posted May 26, 2014 This sounds like it will be really useful to add a little more polish, even as an unofficial patch. If it's any use, it should be possible to alter the animation speeds as well. To do this, you need to unpack the spectres from GC_UnitsXML using an unpacker (you should be able to use the same one as for unpacking the mapping tiles; there should be some information on this in the stickied introduction to mapping thread). It's worth noting that you'd need to look at this for all armour/weapon and alien/weapon combinations, so it's likely to be a lengthy task. but I thought it worth highlighting in case you're interested. Quote Link to comment Share on other sites More sharing options...
Alexandre Lange Posted May 26, 2014 Author Share Posted May 26, 2014 Default values are almost the same for all weapons (delay=0.6, burstdelay=0.1; few variations), so I think that if we could sync the animations, we can set the same (or almost same) values for all. Quote Link to comment Share on other sites More sharing options...
Skitso Posted May 26, 2014 Share Posted May 26, 2014 This is something that has bugged me for as long as I have played this game. I salute you for trying to fix it. Thanks for the effort! Quote Link to comment Share on other sites More sharing options...
Alexandre Lange Posted May 26, 2014 Author Share Posted May 26, 2014 It's nothing near to all you guys have already done. So, my pleasure to try to payback with something. Anyways, I have no skill or experience modding, so I am limited to find issues. Cannot do much beyond value tweaks to solve things. That's why I am here asking for help. Could anyone sync the timmings of stand up and crouch bursts (make time pointing/aiming, weapon kicks and lights from muzzle flashes over the soldier occurs at the same instant/time count for both)? Quote Link to comment Share on other sites More sharing options...
TacticalDragon Posted May 26, 2014 Share Posted May 26, 2014 You hit the issue, I was looking for this variable the last two weeks and you found it! Thank you, I'll make the changes to thw next builds. Quote Link to comment Share on other sites More sharing options...
Alexandre Lange Posted May 27, 2014 Author Share Posted May 27, 2014 I have unpacked GC_UnitsXML.pfp and I can't find any reference to animation speed, only what seems to be coordenates for the animation sequence. Anyone have been messing with this before to give me a light? Quote Link to comment Share on other sites More sharing options...
kabill Posted May 27, 2014 Share Posted May 27, 2014 I could be wrong, but I think 'frametime' controls how long it takes to play the animation. Try changing one of the values and see if it makes a difference? (I'm assuming the animation files are like animations for other things, but maybe not?). Quote Link to comment Share on other sites More sharing options...
Alexandre Lange Posted May 27, 2014 Author Share Posted May 27, 2014 Yeah, it looks like it. There is a framerate value for every line at the files. Need to pack the files again after the tweaks, or can I use it unpacked (just drop at the assets folder)? Quote Link to comment Share on other sites More sharing options...
kabill Posted May 27, 2014 Share Posted May 27, 2014 I'm fairly certain you can just leave them unpacked. Actually, you definitely can, because my exploding zombies mod uses unpacked animation files. Quote Link to comment Share on other sites More sharing options...
Alexandre Lange Posted May 27, 2014 Author Share Posted May 27, 2014 Thanks, kabill. I tryed to find you at Steam, but I am not sure I have added the right person. Could you check? Quote Link to comment Share on other sites More sharing options...
Alexandre Lange Posted May 27, 2014 Author Share Posted May 27, 2014 Hey, kabill, give me a hand here! In the line below: <frame regx="20" regy="70" name="burstshoot_SE001.png" w="39" h="76" x="0" y="77"/> What value you think is the 'frametime'? There are no 'frametime' value, just a lot of lines like this with different values (all file content at the spoiler, below). <?xml version="1.0"?> <!DOCTYPE sequence SYSTEM "sidewalkdtd"> <sequence name="D:\Chris England\New Task\Received File\Jackal_LR\LR\SE\burstshoot_se.xml" source="./burstshoot_SE*.png"> <img regx="55" regy="91" name="burstshoot_se" savedname="burstshoot_se.png" w="0.000000" h="0.000000"/> <framelist> <frame regx="20" regy="70" name="burstshoot_SE001.png" w="39" h="76" x="0" y="77"/> <frame regx="20" regy="70" name="burstshoot_SE002.png" w="39" h="76" x="0" y="154"/> <frame regx="20" regy="69" name="burstshoot_SE003.png" w="39" h="75" x="40" y="0"/> <frame regx="20" regy="69" name="burstshoot_SE004.png" w="39" h="75" x="0" y="308"/> <frame regx="20" regy="68" name="burstshoot_SE005.png" w="39" h="74" x="283" y="0"/> <frame regx="20" regy="68" name="burstshoot_SE006.png" w="39" h="74" x="403" y="0"/> <frame regx="20" regy="68" name="burstshoot_SE007.png" w="39" h="74" x="40" y="226"/> <frame regx="20" regy="68" name="burstshoot_SE008.png" w="39" h="74" x="40" y="76"/> <frame regx="20" regy="68" name="burstshoot_SE009.png" w="39" h="74" x="40" y="151"/> <frame regx="20" regy="67" name="burstshoot_SE010.png" w="39" h="73" x="40" y="375"/> <frame regx="20" regy="67" name="burstshoot_SE011.png" w="39" h="73" x="40" y="301"/> <frame regx="20" regy="67" name="burstshoot_SE012.png" w="40" h="73" x="415" y="298"/> <frame regx="20" regy="67" name="burstshoot_SE013.png" w="40" h="73" x="332" y="372"/> <frame regx="20" regy="67" name="burstshoot_SE014.png" w="40" h="73" x="416" y="224"/> <frame regx="20" regy="67" name="burstshoot_SE015.png" w="41" h="73" x="290" y="298"/> <frame regx="20" regy="67" name="burstshoot_SE016.png" w="41" h="73" x="206" y="372"/> <frame regx="20" regy="67" name="burstshoot_SE017.png" w="41" h="73" x="206" y="298"/> <frame regx="20" regy="67" name="burstshoot_SE018.png" w="41" h="73" x="248" y="298"/> <frame regx="20" regy="67" name="burstshoot_SE019.png" w="41" h="73" x="290" y="372"/> <frame regx="20" regy="67" name="burstshoot_SE020.png" w="41" h="73" x="80" y="76"/> <frame regx="20" regy="67" name="burstshoot_SE021.png" w="41" h="73" x="80" y="150"/> <frame regx="20" regy="67" name="burstshoot_SE022.png" w="41" h="73" x="80" y="224"/> <frame regx="20" regy="67" name="burstshoot_SE023.png" w="41" h="73" x="80" y="298"/> <frame regx="20" regy="67" name="burstshoot_SE024.png" w="41" h="73" x="80" y="372"/> <frame regx="20" regy="67" name="burstshoot_SE025.png" w="40" h="73" x="416" y="76"/> <frame regx="20" regy="67" name="burstshoot_SE026.png" w="41" h="73" x="164" y="76"/> <frame regx="20" regy="67" name="burstshoot_SE027.png" w="41" h="73" x="206" y="76"/> <frame regx="20" regy="67" name="burstshoot_SE028.png" w="41" h="73" x="332" y="298"/> <frame regx="20" regy="67" name="burstshoot_SE029.png" w="41" h="73" x="332" y="224"/> <frame regx="20" regy="67" name="burstshoot_SE030.png" w="40" h="73" x="416" y="150"/> <frame regx="20" regy="67" name="burstshoot_SE031.png" w="41" h="73" x="290" y="224"/> <frame regx="20" regy="67" name="burstshoot_SE032.png" w="41" h="73" x="248" y="372"/> <frame regx="20" regy="67" name="burstshoot_SE033.png" w="41" h="73" x="122" y="224"/> <frame regx="20" regy="67" name="burstshoot_SE034.png" w="41" h="73" x="374" y="76"/> <frame regx="20" regy="67" name="burstshoot_SE035.png" w="40" h="73" x="374" y="298"/> <frame regx="20" regy="67" name="burstshoot_SE036.png" w="41" h="73" x="122" y="76"/> <frame regx="20" regy="67" name="burstshoot_SE037.png" w="41" h="73" x="248" y="76"/> <frame regx="20" regy="67" name="burstshoot_SE038.png" w="41" h="73" x="290" y="76"/> <frame regx="20" regy="67" name="burstshoot_SE039.png" w="41" h="73" x="332" y="76"/> <frame regx="20" regy="67" name="burstshoot_SE040.png" w="41" h="73" x="122" y="150"/> <frame regx="20" regy="67" name="burstshoot_SE041.png" w="41" h="73" x="374" y="224"/> <frame regx="20" regy="67" name="burstshoot_SE042.png" w="41" h="73" x="248" y="224"/> <frame regx="20" regy="67" name="burstshoot_SE043.png" w="41" h="73" x="122" y="298"/> <frame regx="20" regy="67" name="burstshoot_SE044.png" w="41" h="73" x="248" y="224"/> <frame regx="20" regy="67" name="burstshoot_SE045.png" w="41" h="73" x="122" y="372"/> <frame regx="20" regy="67" name="burstshoot_SE046.png" w="41" h="73" x="164" y="150"/> <frame regx="20" regy="67" name="burstshoot_SE047.png" w="41" h="73" x="164" y="224"/> <frame regx="20" regy="67" name="burstshoot_SE048.png" w="41" h="73" x="164" y="298"/> <frame regx="20" regy="67" name="burstshoot_SE049.png" w="41" h="73" x="164" y="372"/> <frame regx="20" regy="67" name="burstshoot_SE050.png" w="41" h="73" x="206" y="150"/> <frame regx="20" regy="67" name="burstshoot_SE051.png" w="41" h="73" x="248" y="150"/> <frame regx="20" regy="67" name="burstshoot_SE052.png" w="41" h="73" x="290" y="150"/> <frame regx="20" regy="67" name="burstshoot_SE053.png" w="41" h="73" x="332" y="150"/> <frame regx="20" regy="67" name="burstshoot_SE054.png" w="41" h="73" x="374" y="150"/> <frame regx="20" regy="68" name="burstshoot_SE055.png" w="41" h="74" x="200" y="0"/> <frame regx="20" regy="67" name="burstshoot_SE056.png" w="41" h="73" x="206" y="224"/> <frame regx="20" regy="68" name="burstshoot_SE057.png" w="40" h="74" x="242" y="0"/> <frame regx="20" regy="68" name="burstshoot_SE058.png" w="39" h="74" x="323" y="0"/> <frame regx="20" regy="68" name="burstshoot_SE059.png" w="39" h="74" x="363" y="0"/> <frame regx="20" regy="69" name="burstshoot_SE060.png" w="39" h="75" x="80" y="0"/> <frame regx="20" regy="69" name="burstshoot_SE061.png" w="39" h="75" x="160" y="0"/> <frame regx="20" regy="69" name="burstshoot_SE062.png" w="39" h="75" x="120" y="0"/> <frame regx="20" regy="70" name="burstshoot_SE063.png" w="39" h="76" x="0" y="231"/> <frame regx="20" regy="70" name="burstshoot_SE064.png" w="39" h="76" x="0" y="0"/> </framelist> </sequence> Quote Link to comment Share on other sites More sharing options...
kabill Posted May 27, 2014 Share Posted May 27, 2014 None of them, I guess. It's slightly different to the other animation files. For example: <?xml version="1.0"?><!DOCTYPE sequence SYSTEM "sidewalkdtd"><sequence name="empblast.xml" source="./EMP_*.png"> <img regx="128" regy="164" name="empblast" w="0" h="0" /> <framelist> <frame regx="118" regy="80" x="246" y="1072" w="237" h="134" name="EMP_00.png" /> <frame regx="118" regy="99" x="0" y="795" w="237" h="179" name="EMP_01.png" /> <frame regx="119" regy="130" x="0" y="0" w="242" h="219" name="EMP_02.png" /> <frame regx="122" regy="146" x="0" y="220" w="245" h="211" name="EMP_03.png" /> <frame regx="127" regy="144" x="735" y="0" w="252" h="215" name="EMP_04.png" /> <frame regx="120" regy="97" x="735" y="891" w="241" h="157" name="EMP_05.png" /> <frame regx="118" regy="98" x="975" y="732" w="237" h="158" name="EMP_06.png" /> <frame regx="118" regy="99" x="975" y="572" w="237" h="159" name="EMP_07.png" /> <frame regx="119" regy="99" x="735" y="572" w="239" h="159" name="EMP_08.png" /> <frame regx="119" regy="98" x="735" y="732" w="239" h="158" name="EMP_09.png" /> <frame regx="118" regy="100" x="976" y="399" w="237" h="160" name="EMP_10.png" /> <frame regx="118" regy="103" x="246" y="908" w="237" h="163" name="EMP_11.png" /> <frame regx="118" regy="105" x="246" y="574" w="237" h="168" name="EMP_12.png" /> <frame regx="119" regy="108" x="246" y="399" w="239" h="174" name="EMP_13.png" /> <frame regx="120" regy="109" x="729" y="220" w="240" h="177" name="EMP_14.png" /> <frame regx="125" regy="110" x="246" y="220" w="244" h="178" name="EMP_15.png" /> <frame regx="119" regy="99" x="246" y="743" w="238" h="164" name="EMP_16.png" /> <frame regx="123" regy="103" x="486" y="740" w="242" h="167" name="EMP_17.png" /> <frame regx="128" regy="107" x="486" y="572" w="248" h="167" name="EMP_18.png" /> <frame regx="124" regy="111" x="486" y="399" w="244" h="172" name="EMP_19.png" /> <frame regx="118" regy="114" x="970" y="220" w="237" h="176" name="EMP_20.png" /> <frame regx="118" regy="117" x="491" y="220" w="237" h="178" name="EMP_21.png" /> <frame regx="118" regy="119" x="0" y="614" w="238" h="180" name="EMP_22.png" /> <frame regx="119" regy="121" x="0" y="432" w="243" h="181" name="EMP_23.png" /> <frame regx="119" regy="106" x="486" y="908" w="247" h="166" name="EMP_24.png" /> <frame regx="120" regy="107" x="731" y="399" w="244" h="168" name="EMP_25.png" /> <frame regx="127" regy="144" x="735" y="0" w="252" h="215" name="EMP_26.png" /> <frame regx="125" regy="146" x="486" y="0" w="248" h="216" name="EMP_27.png" /> <frame regx="119" regy="130" x="243" y="0" w="242" h="219" name="EMP_28.png" /> <frame regx="118" regy="99" x="0" y="975" w="237" h="179" name="EMP_29.png" /> </framelist> <timeline name="main" frametime="30"> <keyframe frame="1" /> <keyframe frame="2" /> <keyframe frame="3" /> <keyframe frame="4" /> <keyframe frame="5" /> <keyframe frame="6" /> <keyframe frame="7" /> <keyframe frame="8" /> <keyframe frame="9" /> <keyframe frame="10" /> <keyframe frame="11" /> <keyframe frame="12" /> <keyframe frame="13" /> <keyframe frame="14" /> <keyframe frame="15" /> <keyframe frame="16" /> <keyframe frame="17" /> <keyframe frame="18" /> <keyframe frame="19" /> <keyframe frame="20" /> <keyframe frame="21" /> <keyframe frame="22" /> <keyframe frame="23" /> <keyframe frame="24" /> <keyframe frame="25" /> <keyframe frame="26" /> <keyframe frame="27" /> <keyframe frame="28" /> <keyframe frame="29" /> <keyframe frame="30" /> </timeline></sequence> That's from one of the particle spectres. The frametime variable is the one I've been assuming is the speed, but it doesn't exist for the unit animation file you've posted up. I wonder whether it's calling the value from somewhere else instead? Not sure without being able to sift through the files myself. Also, re: Steam - I think you got the wrong person. My steam username is nothing like my username here, so that probably didn't help! Quote Link to comment Share on other sites More sharing options...
Chris Posted May 27, 2014 Share Posted May 27, 2014 Yeah, the "frametime" property is what you need. If a file doesn't have the frametime set, then you need to add the keyframe text into the file manually (make sure you use the correct number of keyframes for the animation). It's not actually particularly time consuming to do, provided you get your hands on something like Notepad++ and use the Find in Files function. Once you figure out basic regular expressions you can do very specific find and replace operations that will allow you to modify files en-masse, including adding the large chunks of keyframe text if needed. I did quite a bit of it myself a few months back. A simple example, this morning I just did a search in the Andron directory for frametime="50" and replaced it with frametime="35", using a filter of singleshoot_*.xml. That just updated the frametime of all of the shoot animations in that folder and subfolders. EDIT - the process takes a few hours to learn, but it's not too hard. Just read up on it a little, I'm sure you guys can work it out between you: http://notepad-plus-plus.org/ http://markantoniou.blogspot.co.uk/2008/06/notepad-how-to-use-regular-expressions.html http://www.powercram.com/2009/08/notepad-guide-to-using-regular.html http://www.slideshare.net/anjesh/the-power-of-regular-expression-use-in-notepad I forget how to search for "any character" off the top of my head, but once you figure that out it's easy to update the frame time for a particular animation to new values across literally thousands of files. Quote Link to comment Share on other sites More sharing options...
TacticalDragon Posted May 27, 2014 Share Posted May 27, 2014 Yeah, the "frametime" property is what you need. If a file doesn't have the frametime set, then you need to add the keyframe text into the file manually (make sure you use the correct number of keyframes for the animation).It's not actually particularly time consuming to do, provided you get your hands on something like Notepad++ and use the Find in Files function. Once you figure out basic regular expressions you can do very specific find and replace operations that will allow you to modify files en-masse, including adding the large chunks of keyframe text if needed. I did quite a bit of it myself a few months back. A simple example, this morning I just did a search in the Andron directory for frametime="50" and replaced it with frametime="35", using a filter of singleshoot_*.xml. That just updated the frametime of all of the shoot animations in that folder and subfolders. I can do this, let me work on the frametime and change all files. Which files did you need to change? Set all values to 35? All frametime lines and test the result with each animation? Quote Link to comment Share on other sites More sharing options...
Chris Posted May 27, 2014 Share Posted May 27, 2014 @TD - no, I've done all I needed to already. But I think Alexandre is proposing that he go through and set up the shoot animations so they're perfectly timed / synced with the "delay" function for each weapon. It'll make everything look nicer. I don't have time to test them all myself and get them perfect. However, he'll need to use regular expressions to do it, so perhaps if you're good at it you should help him get started with them Quote Link to comment Share on other sites More sharing options...
Alexandre Lange Posted May 27, 2014 Author Share Posted May 27, 2014 (edited) Thanks so much for the attention, guys! @TD: If I can suggest you a start, take the values for laser rifle stand up burst I have listed at the oppening post and put it at the mentioned files. Get the save (at op too), go to the game and see the result: burst delay, animation and sound all matches. So, with your burstshoot_se.xml (unpacked from GC_UnitsXML.pfp file), you have your standard. Now, get the crouchburstshoot_se.xml (also unpacked from GC_UnitsXML.pfp file) and make your magic with frametime to make it sync (same delay before first shot, same delay between shots of the burst) with the stand up one (now your standard). So, the delay value we set for the laser rifle at weapons_gc.xml will work (burst delay, animation and sounds matches) for both stand up and crouched bursts! We need to do it for every weapon-armor-user combination, but Chris said it is easy as soon as we have the appropriate frametime values for each kind of weapon, because we can apply it to all at same time with Find in Files function at Notepad++. If you give me just ONE file with the frametime included, I could do all the rest and test it to exaustion to give you guys the final mod. Edited May 27, 2014 by Alexandre Lange Quote Link to comment Share on other sites More sharing options...
Max_Caine Posted May 28, 2014 Share Posted May 28, 2014 As you've called for help, I can lend a hand later on today. If there's any particular set of files you'd like me to go through, I'd be happy to do it. Quote Link to comment Share on other sites More sharing options...
Alexandre Lange Posted May 29, 2014 Author Share Posted May 29, 2014 Really? Sorry not to answer before, I was losting my time working! If you could sync timmings of crouchburstshoot_se.xml and burstshoot_se.xml for, let's say, the combination of jackal armor + laser rifle, to make both stand up burst and crouched burst use same delays matching the animations and sounds, I would be a happy guy! Quote Link to comment Share on other sites More sharing options...
Alexandre Lange Posted June 1, 2014 Author Share Posted June 1, 2014 So... any news, guys? Quote Link to comment Share on other sites More sharing options...
Max_Caine Posted June 1, 2014 Share Posted June 1, 2014 I haven't got the hang of fiddling with animations (it's not something I've ever done!) yet, so it's going to take me a while. I tend to get frustrated then do something else for a while then come back to it. Quote Link to comment Share on other sites More sharing options...
Alexandre Lange Posted June 2, 2014 Author Share Posted June 2, 2014 Me too, that's fine. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.