Sgt. Marge Posted July 11, 2023 Share Posted July 11, 2023 (edited) 6 hours ago, wolffang719 said: okay I've been beating my head against the wall for hours now and I can't get AAF to work for me; some mods seem to work right up until its time to show an animation and I've tried using this tool to find the issue and I see that its unstable from how many mods so I tried with less mods on another file and it still didn't want to work cause it keeps saying the ESM priority is wrong but no matter what reordering I try it stays red I'm dumb as a sack but I feel like I was getting close.... As long as you are using your mod manager to sort your plugins you can ignore the red in that section. Even with plugins sorted it can stay red if you are using the Unofficial Fallout 4 Patch. Make sure you followed The Fucking Manual and try testing in a new game. I posted the other day with some common issues that you can double check but if you still can't get it to work then you should post your GFV report to the AAF Discord server as that is where the support is centralized. The invite for that discord is in The Fucking Manual. Edited July 11, 2023 by Sgt. Marge Link to comment
spicydoritos Posted July 11, 2023 Share Posted July 11, 2023 On 2/4/2023 at 8:37 AM, Dlinny_Lag said: It seems I've triggered same issue. When I tried to open actors selection dialog - it doesn't display. @dagobaking Techical details: I have a lot of XML files from different animation mods and themes. I can share all Data\AAF folder content, if necessary I use AAF 166 dowloaded from https://www.moddingham.com/viewtopic.php?f=9&t=2 Steps to reproduce: 1) Load game, wait for AAF initialization finish 2) Press Home key - UI disaplyed 3) Press Enter key to open actors selection dialog - animation icon appear and "loading" animation playing - after a couple of seconds animation icon disappeared 4) Actors selection dialog is not displayed. I can open other dialogs, like Administrator Research results: Issue triggered when total amount of <position ...> section declarations in XML files exceed some threshold. Issue stops triggering when I decrease total amount of <position> sections declrations. By removing whole files or by removing lines from XML files. I didn't calculate exact amount of <position> section declrations, but it is around 2000. And no, max_array_size option doesn't affect issue triggering. Amount of positions that does NOT trigger issue - 2797 Amount of positions that does trigger issue - 2817 So threshold somewere between those values I'm pretty sure that issue is not triggered by potential Scaleform memory limits - see https://www.loverslab.com/topic/204903-animated-tentacles/?do=findComment&comment=3991456 Execution path details: From decompiled ActionScript of AAF.swf I can see that array of actors succefully passed to ActionScript code. As the "loading" animation started and stopped then WizardController constructor was called, but showActorPreview() was not called most likely, as actor's widget is not displaying. It looks like a crash somewhere during WizardController constructor execution. Workaround: Decrease total amount of <position> declarations in XML files somehow. By deleting *positionData* XML files, or by removing <position> sections inside these files. I recently ran into this issue myself, and fixed it by trimming unused position IDs (many thanks for the solution, Dlinny_Lag!). I read all the subsequent posts but didn't see any official reply. Is this considered a fixable issue on the AAF end? Is it even an AAF issue at all? Or are we looking at some kind of insurmountable limitation? If it's the latter, I'll simply learn to be choosier about which animations I install. Link to comment
Dlinny_Lag Posted July 12, 2023 Share Posted July 12, 2023 12 hours ago, spicydoritos said: Is it even an AAF issue at all? I consider - yes. But as you can see there is no official comment. 12 hours ago, spicydoritos said: Is this considered a fixable issue on the AAF end? I'm not an expect in Scaleform GFx and I don't know answer. Maybe no one is an expert, and it is the reason of no comments from @dagobaking %) Link to comment
EgoBallistic Posted July 12, 2023 Share Posted July 12, 2023 4 hours ago, Dlinny_Lag said: I consider - yes. But as you can see there is no official comment. I think dagoba_king and I just both missed the original post, we were both busy with other things at that time. I suspect there is more to it than just the number of positions. A while back I tested with several thousand positions and animations defined in test XMLs and had no problem. However those were simple positions that didn’t have a lot of tags, no actions, etc. Did this problem also affect mods that call animations? @spicydoritos how were you starting animations when you noticed the problem? Link to comment
spicydoritos Posted July 12, 2023 Share Posted July 12, 2023 16 minutes ago, EgoBallistic said: I think dagoba_king and I just both missed the original post, we were both busy with other things at that time. I suspect there is more to it than just the number of positions. A while back I tested with several thousand positions and animations defined in test XMLs and had no problem. However those were simple positions that didn’t have a lot of tags, no actions, etc. Did this problem also affect mods that call animations? @spicydoritos how were you starting animations when you noticed the problem? I originally noticed it when a call from SH hung indefinitely. But I can replicate it with the AAF Wizard too, even in a new game outside the vault. 1 Link to comment
Dlinny_Lag Posted July 12, 2023 Share Posted July 12, 2023 (edited) 1 hour ago, EgoBallistic said: However those were simple positions that didn’t have a lot of tags, no actions, etc. I can try to reproduce issue on my side to help you, but I can't get exception details from ActionScript. I'm pretty sure that exception occur on WizardController constructor call. I don't know is there are any generic way to obtain details of ActionScript exception, but temporary injection of try/catch block around specific code may help to collect error information in the particular scenario. For example - save exception details to a file somehow. Also, it is not a problem to send you content of \Data\AAF folder for your investigation. Edited July 12, 2023 by Dlinny_Lag 1 Link to comment
EgoBallistic Posted July 12, 2023 Share Posted July 12, 2023 6 minutes ago, Dlinny_Lag said: Also, it is not a problem to send you content of \Data\AAF folder for your investigation. Yes that would help testing. If you can also make a list of all the animation and pose packs you are using that have AAF XML that would help, just so I can make sure I have them all so the XML will work properly. Thanks. Link to comment
spicydoritos Posted July 12, 2023 Share Posted July 12, 2023 1 hour ago, EgoBallistic said: Yes that would help testing. If you can also make a list of all the animation and pose packs you are using that have AAF XML that would help, just so I can make sure I have them all so the XML will work properly. Thanks. Here's every mod with an animation-related xml in my AAF folder, in alphabetical order: Spoiler Animated Tentacles 0.9 Atomic Lust 2.7.0 BP70 Animations 2.8 Brave Animations 1.3 Daily Life of Hookers AAF Patch Leito 2.1b Mutated Lust 1.4 Rainmaker Animations Release 50 Shades Release Bad End Release Creature Pack 3.01 Release Creature Pack DLC RohZima FO4 Sex Animations rufGT's Old Animations SAM Enhanced Animations 1.3.3 SavageCabbages Animation Pack 1.30 Snapdragon Animations 1.1.0 Spicy Altered Creature Anims Torture Devices 2.2a Vadermania ZaZOut4 0.0.3.3 1 Link to comment
EgoBallistic Posted July 12, 2023 Share Posted July 12, 2023 4 hours ago, spicydoritos said: Here's every mod with an animation-related xml in my AAF folder, in alphabetical order: Thanks. I have all of those except the SAM ones. I also have a couple of pose packs. I am traveling on business right now so I can’t test, but I remoted into my PC and I have a total of 2745 position definitions in my PositionData files. So I should be able to easily get to the numbers that seem to cause issues. 1 Link to comment
spicydoritos Posted July 12, 2023 Share Posted July 12, 2023 (edited) 51 minutes ago, EgoBallistic said: Thanks. I have all of those except the SAM ones. I also have a couple of pose packs. I am traveling on business right now so I can’t test, but I remoted into my PC and I have a total of 2745 position definitions in my PositionData files. So I should be able to easily get to the numbers that seem to cause issues. For testing, you can install the SAM packs without actually installing SAM or SAMFormer. They'll just play the original, unaltered idles from Leito, etc. Also, is there some quick and easy method for counting those position IDs? I'm just curious to narrow down the threshold (even if the trigger is a totality of xml data rather than positionID alone). PS: When I switched to my main load order instead of my testing setup, I found more mods with animation xml files. -AAF Violate (which I imagine you already know) -Commonwealth Slavers (handful of position IDs) -Nuka Ride (couple hundred position IDs) Edited July 12, 2023 by spicydoritos 1 Link to comment
vaultbait Posted July 12, 2023 Share Posted July 12, 2023 (edited) 23 minutes ago, spicydoritos said: Also, is there some quick and easy method for counting those position IDs? I'm just curious to narrow down the threshold (even if the trigger is a totality of xml data rather than positionID alone). I'm more of a Unix/POSIX user, but can count mine in a Bourne shell like so: user@DESKTOP:~$ cat Fallout4/Data/AAF/*.xml|grep -c '<position ' 2771 I'm no good at MS PowerShell, but there's probably an equally simple way to do it there. Note that such naive line-based counting methods are likely to also count elements which have been commented out in the XML, using an actual XML parser will be more accurate. Alternatively, it's possible AAF already reports the count if debug logging is enabled. Edited July 12, 2023 by vaultbait 1 Link to comment
dagobaking Posted July 13, 2023 Author Share Posted July 13, 2023 Flash will crash if a loop cant complete within 15 seconds. I would be surprised if 2800 positions would cause that scenario except maybe on a very slow machine? https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/errors/ScriptTimeoutError.html 1 Link to comment
Dlinny_Lag Posted July 13, 2023 Share Posted July 13, 2023 (edited) 2 hours ago, dagobaking said: except maybe on a very slow machine? Not so slow: Edited July 13, 2023 by Dlinny_Lag Link to comment
Dlinny_Lag Posted July 13, 2023 Share Posted July 13, 2023 (edited) 3 hours ago, dagobaking said: Flash will crash if a loop cant complete within 15 seconds. Workers may be a solution to avoid this exception. Not the proof, but some notice on SO. And some article with a sample. Maybe it is the time to redesign this part of AAF to work in async way? %) It is a joke. Please take a look to my report. Execution interrupted in about 2 seconds. Edited July 13, 2023 by Dlinny_Lag Link to comment
dagobaking Posted July 14, 2023 Author Share Posted July 14, 2023 (edited) I doubt Workers is included in the Scaleform build within Fallout 4. But, there are other solutions for this type of thing. There are just more obvious things to test first in order to determine what the actual issue is. I suggest making a mod build with no other mods other than AAF (to rule out the million different things other mods could be doing here). Then removing all AAF XML except for the bare minimum. And then making a dummy position XML with varying numbers of entries. See if the symptoms can be reproduced in those circumstances. PS: Is this running on a legitimate copy of the game? ie. not pirated? Edited July 14, 2023 by dagobaking Link to comment
spicydoritos Posted July 14, 2023 Share Posted July 14, 2023 51 minutes ago, dagobaking said: PS: Is this running on a legitimate copy of the game? ie. not pirated? For what it's worth: Spoiler Link to comment
Dlinny_Lag Posted July 14, 2023 Share Posted July 14, 2023 9 hours ago, dagobaking said: to test first in order to determine what the actual issue is. If you could prepare special build with exceptions details logging then I can run it in my environment and provide logs. I suppose @spicydoritos could do the same. Link to comment
dagobaking Posted July 14, 2023 Author Share Posted July 14, 2023 (edited) 10 hours ago, Dlinny_Lag said: If you could prepare special build with exceptions details logging then I can run it in my environment and provide logs. I suppose @spicydoritos could do the same. Egoballistic generously put in the time to test this. He was able to run 8760 positions with tags, furniture, custom equipment, animationGroups, etc. and it worked without problems. So, it appears that something in your build outside of AAF is breaking things. My guess is that you have a mod that does something to the GUI that tanks the memory Flash needs. [Update] - During testing we did find an issue with AAF Leito VoiceFix. Apparently it works when Indarellos patch is installed. But, causes an issue when that is not installed. Maybe that is related to what you are seeing? But, that wouldn't explain fixing things by removing a quantity of positions... Edited July 14, 2023 by dagobaking Link to comment
vaultbait Posted July 14, 2023 Share Posted July 14, 2023 (edited) 19 minutes ago, dagobaking said: Egoballistic generously put in the time to test this. He was able to run 8760 positions with tags, furniture, custom equipment, animationGroups, etc. and it worked without problems. So, it appears that something in your build outside of AAF is breaking things. My guess is that you have a mod that does something to the GUI that tanks the memory Flash needs. Reports of this nature started cropping up immediately after SAM Enhanced Animations was first published, leading me to suspect everyone who reported it may be using that. I know correlation != causation, but if that's actually the case it could be a common thread to pull on. Edit: Also I remember at least one user said the problem ceased when they uninstalled SAM Enhanced Animations, though I doubt the forum search is going to help me corroborate that recollection. Edited July 14, 2023 by vaultbait Link to comment
dagobaking Posted July 14, 2023 Author Share Posted July 14, 2023 Ego was able to run 6000+ positions with SAM in place. The closest thing we found so far is this Leito VoiceFix issue. But, that doesn't seem to match the issue described here exactly since the issue goes away when that mod is removed. Link to comment
Jeffey67 Posted July 14, 2023 Share Posted July 14, 2023 Hello 2 everyone! Could anyone tell me about exitActors="1" (or 2, etc.). This is string used (as wiki says) in AnimationGroupData xml. Is it functional at all, or not implemented yet? I tried use it with exitTo="someposition", switchimg stage to another position (MMF to MF), then tried to exit all three actors (MMF). I'd be appreciate to see more some example, than in wiki. Never seen that in original animations or patches. Thank you in advance. Link to comment
spicydoritos Posted July 15, 2023 Share Posted July 15, 2023 (edited) On 7/14/2023 at 3:30 PM, dagobaking said: So, it appears that something in your build outside of AAF is breaking things. My guess is that you have a mod that does something to the GUI that tanks the memory Flash needs. This is about as bare a setup as I can create without ditching critical infrastructure like Buffout, MCM, or bodies themselves. All other mods are disabled in MO2 except what you see here. Spoiler That last entry, "Animation Packs XML Only", is nothing but the XML copied from other animation mods. The aim is to eliminate further variables. Nothing is included from any of the animation patches. Here's the list I drew from: Spoiler After starting the game with the loadout above, AAF loads and I can activate the wizard with home key. However if I try to choose actors it spins a circle in the upper corner briefly then does nothing. Admin panel opens but I can't scroll up/down/left/right. If I disable that XML collection, AAF wizard works as expected. If I leave it active but just delete some xml (like all of BP70), the wizard again works as expected. Edited July 18, 2023 by spicydoritos Link to comment
Dlinny_Lag Posted July 15, 2023 Share Posted July 15, 2023 (edited) 4 hours ago, spicydoritos said: Admin panel opens but I can't scroll up/down/left/right. I can confirm that I have same behavior in my environment when I try to use Admin panel AFTER failed attempt to open actor selection wizard. But Admin Panel works OK before first attempt to start animations via wizard. And moreover, I can see list of positions in Admin panel. Edited July 15, 2023 by Dlinny_Lag Link to comment
Dlinny_Lag Posted July 15, 2023 Share Posted July 15, 2023 (edited) 14 hours ago, dagobaking said: But, that wouldn't explain fixing things by removing a quantity of positions... I've injected some logging to AAF.swf and can confirm that execution interrupted inside WizardController constructor. Call of excludeByTagArray failed. cc: @EgoBallistic UPD: Exception thrown on this method call: TypeError: Error #1009 ( Cannot access a property or method of a null object reference ) Unfortunately stack trace is Null Argument passed to excludeByTagArray is not null. In my case it is an array ["HIDDEN"] UPD2: Seems I've found what is the reason of null dereference - one of the position objects has null tags property. id of position - "SE FF Leito Carry 2 Anal S2", but I don't know why tags may be null for it. UPD3: Following quick fix does the trick: At the beginning of PositionNode.initialize() add initialization of _combinedTags with an empty array. Before any return statement. But it doesn't fix the whole situation. Later I can see a message that this position hasn't reference to animation ($MISSING_ANIMATIONREFERENCE) Removing this position from XML fixes the problem (total positions amout is 3190). But I do not see any reasons why it may cause malfunctioning. Position definition: <position id="SE FF Leito Carry 2 Anal S2" animation="SEFFLeito_Carry_2_Anal_S2" tags="Leito,F_F,NoFurn,Neutral,StraponToAnus,SF:F=FFF - Leito Carry Anal 2-2:F=FF - Leito Carry Anal 2-2"/> Corresponding animation definition: <defaults source="FO4_AnimationsByLeito.esp" loadPriority="101" /> <animation id="SEFFLeito_Carry_2_Anal_S2" frames="288"> <actor gender="F"> <idle form="0100A892" id="LeitoCarry2_A1_S2"/> <action id="Coming2_Action"/> <action id="CustomMoans01 Action" target="0" loop="true" from="1" to="0" frames="8.555"/> </actor> <actor gender="F"> <idle form="0100A896" id="LeitoCarry2_A2_S2"/> <value path="morph" value="Erection Up" to="0.7"/> <action id="Yum_Action"/> <action id="FF_activity"/> </actor> </animation> UPD4: In addition, I have multiple positions with wrong animation reference that are mentioned by EgoBalistic. Removing them avoids situation with null tags for this position object. Seems like a bug in invalid positions handling. Error by one? Solution: Implement PositonDataSet.initialize method in following way: 1) copy keys of _dataGrid object to dedicated array 2) iterate this array to call PositionNode.initialize. The problem with current implementation - calls of PositionNode.initilize may cause iterating object (_dataGrid ) change (see DataSetBase.cancelNode) It is pretty simple fix, but I would suggest to implement it in more efficient and clear way: 1) PositionNode.initialize should return a boolean flag that indicates success of initialization. Instead of calls of cancelNode 2) inside of main loop over _dataGrid keys, store keys (to dedicated array) for positions that was failed to initialize 3) after main loop iterate over failed keys array and remove corresponding objects from _dataGrid Edited July 15, 2023 by Dlinny_Lag 1 Link to comment
EgoBallistic Posted July 15, 2023 Share Posted July 15, 2023 8 hours ago, Dlinny_Lag said: In addition, I have multiple positions with wrong animation reference that are mentioned by EgoBalistic. Removing them avoids situation with null tags for this position object. Seems like a bug in invalid positions handling. Error by one? I found the same thing in my testing yesterday. To make a long story short, I discovered that having several Positions that point to non-existent AnimationGroups was causing the problem. Eliminate those ans everything works fine, even with over 10,000 Positions in my XML. It sounds like you found a fix. Thank you for your detailed explanation. 2 Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now