Ashal Posted September 29, 2013 Posted September 29, 2013 Are you going to update the beta with the fixed behavior files? I've gone ahead released a patch with the fixed SexLab behavior files, but since that only half fixes it I also included some instructions on how to fix the current FNIS behaviors included in 4.1, and well; I'm sure you know how people are with instructions...
xaz Posted September 29, 2013 Posted September 29, 2013 The newest beta appears to generate files. Furniture no longer works though. Has anything else changed in how furniture is defined (apart from syntax)? Example: fu -a ZazWoodenHorse01_EnterInstant ZazAPCAO024.hkx + ZazWoodenHorse01_Enter ZazAPCAO024.hkx + -a ZazWoodenHorse01_Exit ZazFurnitureExit.hkx With those lines, it should work the same as before, right?
fore Posted September 29, 2013 Author Posted September 29, 2013 Are you going to update the beta with the fixed behavior files? I've gone ahead released a patch with the fixed SexLab behavior files, but since that only half fixes it I also included some instructions on how to fix the current FNIS behaviors included in 4.1, and well; I'm sure you know how people are with instructions... I have just updated to FNIS Behaviors 4.0 Beta 4.2 and Creature Pack 4.0.2. Hope, the worst is over now. So I'm still set to release final on Wednesday (if xaz can give me ok). So why do you care about mentioning Beta? The newest beta appears to generate files. Furniture no longer works though. Has anything else changed in how furniture is defined (apart from syntax)? Example: fu -a ZazWoodenHorse01_EnterInstant ZazAPCAO024.hkx + ZazWoodenHorse01_Enter ZazAPCAO024.hkx + -a ZazWoodenHorse01_Exit ZazFurnitureExit.hkx With those lines, it should work the same as before, right? You almost gave me a heart attack. But fortunately you mixed Enter and EnterInstant. EnterInstant is the one which you supposedly do when the character already is in furniture, i.e. Enter was already run. But as I mentioned before. I did some new tests a few days ago. For me, this "Instant" seems of no use. For the vanilla I used for testing, and for FNIS anyway. So I recommend to call this something else (like "loop"), and delete the EnterInstant Idle definition in the CK. This should do it. Full script in the spoiler Thanks jbezorg for the nice script. I will add that to my Modder's document. Once I find time with all these bugs. Unfortunately I couldn't compile myself, because of that SKSE dependency. Although I have installed SKSE, maybe an older version. Can you give me a hint what to do? I just don't want to spend any time for that right now.
Ashal Posted September 29, 2013 Posted September 29, 2013 Unfortunately I couldn't compile myself, because of that SKSE dependency. Although I have installed SKSE, maybe an older version. Can you give me a hint what to do? I just don't want to spend any time for that right now. If you installed the CK after SKSE, you need to reinstall SKSE in order to compile SKSE related scripts, as installing the CK overwrites many of the source scripts SKSE provides.
D_ManXX2 Posted September 29, 2013 Posted September 29, 2013 i downloaded the latest fnis but tool still refer to 4.0 instead of 4.2 ?? I did noticed the creature part is no longer needed to generate. But how can i know if it was even done correctly now ??
xaz Posted September 29, 2013 Posted September 29, 2013 The newest beta appears to generate files. Furniture no longer works though. Has anything else changed in how furniture is defined (apart from syntax)? Example: fu -a ZazWoodenHorse01_EnterInstant ZazAPCAO024.hkx + ZazWoodenHorse01_Enter ZazAPCAO024.hkx + -a ZazWoodenHorse01_Exit ZazFurnitureExit.hkx With those lines, it should work the same as before, right? You almost gave me a heart attack. But fortunately you mixed Enter and EnterInstant. EnterInstant is the one which you supposedly do when the character already is in furniture, i.e. Enter was already run. But as I mentioned before. I did some new tests a few days ago. For me, this "Instant" seems of no use. For the vanilla I used for testing, and for FNIS anyway. So I recommend to call this something else (like "loop"), and delete the EnterInstant Idle definition in the CK. I thought they were just names, so I used those names to make the animations compatible with what was already defined in the CK. I'll remove the EnterInstant entries and make the other changes and see if that helps. Edit: Works now. I'll have to try and solve some minor issues like the idle animation playing after furniture exits, but at least the generator does what I want it to. Edit2: Solved those issues too by brushing up my reading skills and actually reading through the readme in FNIS.
zax Posted September 29, 2013 Posted September 29, 2013 But as I mentioned before. I did some new tests a few days ago. For me, this "Instant" seems of no use. For the vanilla I used for testing, and for FNIS anyway. So I recommend to call this something else (like "loop"), and delete the EnterInstant Idle definition in the CK. Some time ago I found accidentally that EnterInstant might be used by NPCs that were sitting before they get unloaded by engine, so that they appear sitting instantly after they got loaded back (gaining isEnteringInteractionQuick), without playing the whole sequence again. So EnterInstant might be actually more useful than we thought. Would keep it.
fore Posted October 1, 2013 Author Posted October 1, 2013 i downloaded the latest fnis but tool still refer to 4.0 instead of 4.2 ?? I did noticed the creature part is no longer needed to generate. But how can i know if it was even done correctly now ?? It still refers to 4.1 instead of 4.2. Again one of those errors you make when releasing in a hurry. The creature part IS needed. I just removed the extra button, cause otherwise people will never know what they did. I just kept the Creature Pack seperate. I see no need to burden all users who don't use creature mods (still the majority) with this big folder structure. Edit2: Solved those issues too by brushing up my reading skills and actually reading through the readme in FNIS. I have uploaded a seperate pdf "FNIS 4.0 for Modders Documentation". Probably easier to read. But as I mentioned before. I did some new tests a few days ago. For me, this "Instant" seems of no use. For the vanilla I used for testing, and for FNIS anyway. So I recommend to call this something else (like "loop"), and delete the EnterInstant Idle definition in the CK. Some time ago I found accidentally that EnterInstant might be used by NPCs that were sitting before they get unloaded by engine, so that they appear sitting instantly after they got loaded back (gaining isEnteringInteractionQuick), without playing the whole sequence again. So EnterInstant might be actually more useful than we thought. Would keep it. Excellent point, zax. That's probably it. So I used this in the "FNIS 4.0 for Modders Documentation". Thanks.
fore Posted October 1, 2013 Author Posted October 1, 2013 Unfortunately I couldn't compile myself, because of that SKSE dependency. Although I have installed SKSE, maybe an older version. Can you give me a hint what to do? I just don't want to spend any time for that right now. If you installed the CK after SKSE, you need to reinstall SKSE in order to compile SKSE related scripts, as installing the CK overwrites many of the source scripts SKSE provides. I'm so used to OBSE that I always forget to install scripts as well. Thanks This should do it.Full script in the spoiler I'm just adding your functions to the Modders doc. I have 2 questions. What if.... ... the user hasn't installed SKSE? Will your script return some arbitrary result? ... the user hasn't installed SKSE without scripts (like I did)? I assume this will work (LogicalAnd directly going to the SKSE Math? No scripts in between) Sorry that I'm not testing myself. Wednesday is tomorrow.
jbezorg Posted October 2, 2013 Posted October 2, 2013 The StringUtil functions are all SKSE too so without SKSE it won't work. SKSE *.pex files are needed by all users. The *.psc files are needed for the creation kit. So, a SKSE clean version. Doc in spoiler and in archive FNIS Versioning created by: jbezorg@yaiws.com FNIS.VersionToString() This function returns the concatenation of Major & minor versions as well as the version flags. A period (full stop) delimiter is used. @param bool abCreature - check FNIS Creature Pack version info. defaults to false and FNIS Behavior version info. @return string - concatenated version info string function VersionToString( bool abCreature = false ) global FNIS.VersionCompare() Compares the major, minor1 & minor2 versions ints passed as attributes to the current version of FNIS installed. This function returns an int reflecting the result of the comparison between Major, Minor1 & Minor2 version numbers. Note that FNISFlags values are not compared. 0 = Both versions match. 1 = The installed version is newer/greater than the compared version. -1 = The installed version is older/less than the compared version. @param int iCompMajor - Major version @param int iCompMinor1 - Mminor1 version @param int iCompMinor2 - Mminor2 version @param bool abCreature - check FNIS Creature Pack version info. defaults to false and FNIS Behavior version info. @return int - 0, 1, -1 int function VersionCompare( int iCompMajor, int iCompMinor1, int iCompMinor2, bool abCreature = false ) global call FNIS.GetMajor() Major changes and upgrades @param bool abCreature - check FNIS Creature Pack version info. defaults to false and FNIS Behavior version info. @return int - major version int function GetMajor( bool abCreature = false ) global call FNIS.GetMinor1() Functional enhancements @param bool abCreature - check FNIS Creature Pack version info. defaults to false and FNIS Behavior version info. @return int - minor1 version int function GetMinor1( bool abCreature = false ) global call FNIS.GetMinor2() Bug fixes @param bool abCreature - check FNIS Creature Pack version info. defaults to false and FNIS Behavior version info. @return int - minor2 version int function GetMinor2( bool abCreature = false ) global call FNIS.GetFlags() Version flags. 0 = Pre-alpha 1 = Alpha 2 = Beta 3 = Release @param bool abCreature - check FNIS Creature Pack version info. defaults to false and FNIS Behavior version info. @return int - minor2 version int function GetFlags( bool abCreature = false ) global call FNIS.IsAlpha() Returns true if the installed FNIS version is flagged as an alpha. @param bool abCreature - check FNIS Creature Pack version info. defaults to false and FNIS Behavior version info. @return bool Bool function IsAlpha( bool abCreature = false ) global call FNIS.IsBeta() Returns true if the installed FNIS version is flagged as an beta. @param bool abCreature - check FNIS Creature Pack version info. defaults to false and FNIS Behavior version info. @return bool Bool function IsBeta( bool abCreature = false ) global call FNIS.IsRelease() Returns true if the installed FNIS version is flagged as a stable release. @param bool abCreature - check FNIS Creature Pack version info. defaults to false and FNIS Behavior version info. @return bool Bool function IsRelease( bool abCreature = false ) global FNIS.7z
fore Posted October 2, 2013 Author Posted October 2, 2013 The StringUtil functions are all SKSE too so without SKSE it won't work. SKSE *.pex files are needed by all users. The *.psc files are needed for the creation kit. So, a SKSE clean version. Thanks. I had no problem if your scripts would require SKSE. Most likely you guys here will mostly use it. But then there should be a way to determine if SKSE is installed. If there is one, we could simply put it into documentation and use the SKSE based version. I leave it up to you. And all others here who might use it. I just need a quick response.
jbezorg Posted October 2, 2013 Posted October 2, 2013 I'd go with the non-SKSE version. Functionally it's the same at this point and it will require a lot less support at the cost of a little extra work. We can create our own FNIS wrapper functions that use SKSE if we really want to. Scriptname FNIS_SKSE Hidden int function VersionCompare( string asVersion, bool abCreature = false ) global int iCharPos iCharPos = StringUtil.Find(asVersion, ".") int iCompMajor = StringUtil.Substring(asVersion, 0, iCharPos) as int asVersion = StringUtil.Substring(asVersion, iCharPos + 1) iCharPos = StringUtil.Find(asVersion, ".") int iCompMinor1 = StringUtil.Substring(asVersion, 0, iCharPos) as int asVersion = StringUtil.Substring(asVersion, iCharPos + 1) iCharPos = StringUtil.Find(asVersion, ".") int iCompMinor2 = StringUtil.Substring(asVersion, 0, iCharPos) as int asVersion = StringUtil.Substring(asVersion, iCharPos + 1) return FNIS.VersionCompare( iCompMajor, iCompMinor1, iCompMinor2, abCreature ) endFunction
fore Posted October 2, 2013 Author Posted October 2, 2013 I have put the non-SKSE version into the release, and uploaded a new doc. Thanks again. So now this overload you here as a download, or where?
fore Posted October 2, 2013 Author Posted October 2, 2013 FNIS 4.0 is released (final and finally) Thank you all for your patience during the last days and weeks. I hope it's working now for you. It was pretty stressful at the end. Just yesterday I realized, that Beth had mixed behavior updates for some creatures (dog, wolf, draugr, falmer) into their DLC bsas. Big mistake. For character they always did it right (into the Update.bsa), but for creatures ... I can't believe they did that. So that took me another couple of hours which I didn't expect. Oh yes. Or no. If you think there could be an implicit fix for this dog/wolf problem.... Unfortunately not.
xaz Posted October 2, 2013 Posted October 2, 2013 FNIS 4.0 is released (final and finally) Thank you all for your patience during the last days and weeks. I hope it's working now for you. It was pretty stressful at the end. Just yesterday I realized, that Beth had mixed behavior updates for some creatures (dog, wolf, draugr, falmer) into their DLC bsas. Big mistake. For character they always did it right (into the Update.bsa), but for creatures ... I can't believe they did that. So that took me another couple of hours which I didn't expect. Oh yes. Or no. If you think there could be an implicit fix for this dog/wolf problem.... Unfortunately not. Finally!! Excellent work! Now to update all the mods to take advantage of the latest features.
xaz Posted October 3, 2013 Posted October 3, 2013 I've been running into a lot of issues lately. In xpo when I wait in the pillories, the jailer will typically not break his animation leaning against things and just teleport to wherever his ai packages is supposed to move him. He will not move from this spot by himself. If I then force him into another idle with the console, he'll start moving again as his ai dictates. Same thing happened with the smith in Falkreath. I've also seen guards in Whiterun jail do this (and I don't modify their ai packages at all). They were frozen in a sitting motion outside a cell, as if they were supposed to be patrolling, but were sitting. I've no idea where this comes from, but I'm guessing that for some reason furniture isn't working perfectly. Also, animations in xpo are broken. I'm logging when the script attempts to play an animation, and what typically happens is that on the first "attempt" to play the animation, another pose is selected using the same AO. On the second attempt at playing an animation, the correct one is played. At least that is how it appears. Rolling back to 4.0 beta 3 solved the issue with animations not triggering. The jailer is still behaving strangely. I'll investigate more ....
xaz Posted October 3, 2013 Posted October 3, 2013 Updated: Tried 3.5 with no improvement. What is weird is that actors retain idles that were normally reserved for furniture or idle markers, when moved out of those through the console. They also will not move when instructed by ai packages. But if I break the animation with the console, they'll resume the expected ai routine. Maybe it was always like this and I never noticed, but it seems kind of game breaking and obvious (actors leaning against something will not follow ai, for instance). Force moving actors through the console does not break idle animations, like it usually does. I tested this behavior on 3.5, where it breaks idles and with 4.0 where it didn't break idles. After downgrade to 3.5, then upgrade to 4.0, force moving again broke idles (as expected). Edit: I take it all back. Uninstalling SexLab and Zap, then reinstalling those on top of 3.5 (temp removing furniture from Zap) solved the issues. I'll try reupgrading. Any advice on what could have gone wrong is greatly appreciated, because I don't feel I want to recommend this procedure to everyone. Edit2: Reinstalling FNIS 4.0, the problems with animations not playing are back. Jailer, however, behaves normally. As does everyone else when force moving them through the console.
xaz Posted October 4, 2013 Posted October 4, 2013 Just pointing out that this happens only to the actor in the pillory, so the other actors plays animations normally. It also happens with Debug::SendAnimationEvent as well as Actor::PlayIdle. I'm examining possible workarounds, like doubling the nr. of calls to play idles. No success so far.
fore Posted October 4, 2013 Author Posted October 4, 2013 xaz, I have really problems to comprehend what the problem is. I don't have time now to really try to understand the details. But you should please break it down to what the problem is, using which(EXACT) AnimDefinition, doing what with your mod. I'm reading a lot about console operation. Quite honestly, I'm VERY reluctant to even talk about that. Since all I'm doing is undocumented territory, I can only reproduce what the game shows me how to do. And console function are not part of the game. I have actually no idea what they do, and especially how they will interact with furniture animations, should you use one in this environment, Also you said you didn't change packages for guards you use. But you have to. I had to do this from the beginning with FNIS Spells. Behaviors have NO IMPACT AT ALL on packages and movements. So whenever you work with vanilla NPCs you have to give them your own packages. And that's possible without modifying these vanilla NPCs.
xaz Posted October 5, 2013 Posted October 5, 2013 xaz, I have really problems to comprehend what the problem is. I don't have time now to really try to understand the details. But you should please break it down to what the problem is, using which(EXACT) AnimDefinition, doing what with your mod. The first problem with guards still playing sitting idles disappeared after reinstalling SexLab, Zaz and FNIS. So in order to keep the discussion clean, I'll focus on the other issue. I play all idles from scripts. I normally use Actor::PlayIdle, but sometimes use Debug::SendAnimationEvent. The later is the one used by SexLab. In PrisonOverhaul, the pillory animations go through a sequence of idles, similar to how SexLab does it. When I script the player to play an anim event in the pillory, the pillory is correctly included in the animation, but the wrong idle (or pose) is played on the player. On the next call to change idle (in the sequence), the correct idle is played. In this way, the game alternates between wrong idle and correct idle. Now you're thinking "he's sending the wrong anim event". There are two good reasons why this is not the case: 1. I'm logging all calls to play the idle. The correct idle is passed to the function to play it. 2. The idle actually playing is not defined in the animation file. So far, this problem only affects the pillory animations. My guess is that anim objects are the problem because I've not seen it on any other kind of animations. These problems also appear on Zaz pillory animations run through SexLab. Attaching screenshots of the problem soon.
xaz Posted October 5, 2013 Posted October 5, 2013 Screenshots of the problem when running through SexLab. The same problems are visible in Prison Overhaul (where I can control and debug the scripting better). The reason I used SexLab is that it was easier to trigger the behavior this way (for screenshots) rather than going through the prison. There is no animation definition which uses the idle from the broken.jpg in combination with the pillory animated object. So why do I suspect FNIS? Because if I install 4.0 beta 3 instead of the release, this problem disappears. (Reinstalling includes regenerating behavior files for Zaz, ie. running modders _and_ user tools.) Did you change anything with animation objects or similar for the release? An example line from animations that behave this way: o ZazAPPillSXSpank01B ZazAPPillSXSpank01B.hkx AOZaZPunishmentPillory
ZaZ Posted October 5, 2013 Posted October 5, 2013 I have noticed this too as well , but its happening via console too when switching animations player.playidle zazapcao010 ------------------------------Pillory Animation plays player.playidle zazapcao011 ------------------------------- (Post appears , R post animation is meant to be played . , but its playing the first animation ie " zazapc001 " this animation is cyclic without ao) on typing player.playidle zazapcao011 again the animation works Cheers
Ashal Posted October 5, 2013 Posted October 5, 2013 Screenshots of the problem when running through SexLab. The same problems are visible in Prison Overhaul (where I can control and debug the scripting better). The reason I used SexLab is that it was easier to trigger the behavior this way (for screenshots) rather than going through the prison. There is no animation definition which uses the idle from the broken.jpg in combination with the pillory animated object. So why do I suspect FNIS? Because if I install 4.0 beta 3 instead of the release, this problem disappears. (Reinstalling includes regenerating behavior files for Zaz, ie. running modders _and_ user tools.) Did you change anything with animation objects or similar for the release? An example line from animations that behave this way: o ZazAPPillSXSpank01B ZazAPPillSXSpank01B.hkx AOZaZPunishmentPillory Try using the modder tool from the release version to regenerate all the behaviors in the character folder, including all the ones from FNIS and other mods, then running user tool. You may simply have some behavior file that was generated using the broken beta 4 generator.
xaz Posted October 5, 2013 Posted October 5, 2013 Screenshots of the problem when running through SexLab. The same problems are visible in Prison Overhaul (where I can control and debug the scripting better). The reason I used SexLab is that it was easier to trigger the behavior this way (for screenshots) rather than going through the prison. There is no animation definition which uses the idle from the broken.jpg in combination with the pillory animated object. So why do I suspect FNIS? Because if I install 4.0 beta 3 instead of the release, this problem disappears. (Reinstalling includes regenerating behavior files for Zaz, ie. running modders _and_ user tools.) Did you change anything with animation objects or similar for the release? An example line from animations that behave this way: o ZazAPPillSXSpank01B ZazAPPillSXSpank01B.hkx AOZaZPunishmentPillory Try using the modder tool from the release version to regenerate all the behaviors in the character folder, including all the ones from FNIS and other mods, then running user tool. You may simply have some behavior file that was generated using the broken beta 4 generator. Thanks, but sadly ... ... as I wrote above, I uninstalled all mods that used FNIS (and verified that it was indeed at zero using FNIS), then I reinstalled the mods. Problem persists. Before anyone points out that FNIS is at a minimum two mods: yes, I uninstalled the behavior files from FNIS too. I use wrye bash for installing mods, so I'm fairly confident there are no leftovers, but I did go through the relevant folders manually just in case.
fore Posted October 5, 2013 Author Posted October 5, 2013 Thanks, but sadly ... ... as I wrote above, I uninstalled all mods that used FNIS (and verified that it was indeed at zero using FNIS), then I reinstalled the mods. Problem persists. Before anyone points out that FNIS is at a minimum two mods: yes, I uninstalled the behavior files from FNIS too. I use wrye bash for installing mods, so I'm fairly confident there are no leftovers, but I did go through the relevant folders manually just in case. So what you indicate is, that either the animfile or the animevent is mixed up. For this ZazAPPillSXSpank01B I downloaded the newest ZaZ (V0ß053), generated for modders, and checked the result with CondenseBehavior. This tool shows immediately are somehow broken in the xml. Because then it couldn't get the names of file and AnimEvent together. No problem there. What I noticed is that you release ZaZ with a behavior file dated 2013-09-29. So this was NOT generatad with 4.0 final. And as Ashal says, there were problems because of the wrong DefaultState. I didn't thing it would be so severe, but maybe that has to do with your console activation. But one request for the next time. Screenshots are helpful to understand the problem, but insufficient for me to test. I need exact detail. - What's the Anilmist - Which AnimList line(s) - Which was wrong (in this case: which file did you see instead of the one you pointed out) I have your mods available, but not fully installed. I simply don't have the time to test on user level. Or FNIS 4.1 will come out in a year.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.