Jump to content

Recommended Posts

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....

fzdx.png

 

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 by Sgt. Marge
Link to comment
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
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
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
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. 

Link to comment
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 by Dlinny_Lag
Link to comment
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
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

 

 

 

Link to comment
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.

Link to comment
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 by spicydoritos
Link to comment
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 by vaultbait
Link to comment
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 by Dlinny_Lag
Link to comment

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 by dagobaking
Link to comment
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 by dagobaking
Link to comment
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 by vaultbait
Link to comment

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
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

barebones_load_order.png.f5278d6c2fd626f2c9a5d4b9b63acb2e.png

 

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

animation_packs_list.png.2df8d3e376563c51166a7d77efe3e9b2.png

 

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 by spicydoritos
Link to comment
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 by Dlinny_Lag
Link to comment
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 by Dlinny_Lag
Link to comment
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.

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use