Native Animation Framework extender. An extension for the excellent NAF, which allows you to play on it most of the LL modifications was written for another animation framework. It also Include extended manual for easy modders using.
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou must get permission from me before you are allowed to modify my files to improve it
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou must get permission from me before you are allowed to use any of the assets in this file
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are not allowed to earn Donation Points for your mods if they use my assets
Console modding permissionThis mod will not be available on Bethesda.net for console users
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Removed force face animation looping (caused face freezing)
Fix for wrong ActorIsAlive function (possible caused wrong actor reject in scene validation). Thanks Dav42 for this.
Version 0.906
Removed Is3dLoaded check, because in some cases it returns false negative result. Object is part of precombined mesh and it is disabled, but in fact it is not culled. I couldn't find a way to guarantee it correctly work for now, so remove this check.
Version 0.904
Include RemoveOverlay fix for Looks Menu 1.620. Thanks to Nopse. You really should download it (!!!BUT NOT INSTALL!!!) https://www.nexusmods.com/fallout4/mods/91235
I guess this time I really fixed player disappearing!
Version 0.902
Fixed a problem with a possible crash at the beginning and end of a scene.
Fixed a trouble when furniture groups with same id overrides each other. Now it merges.
Fixed the problem that in case of wmkHUD absence there was a blocking after the scene (scene end function did not work correctly).
Some changes in parsing and working with game forms necessary for correct work with NAFicator 0.9.
0.902 : Fixed string GetBuild() papyrus function.
Version 0.800
NAF.esp can now be either ESP or ESPFE (user choice). Added optional ESLFied esp file (only for 0.800 and higher). Not recommended for changing during playthrough without starting new game. NAF will work fine, but you can get randomly troubles because of indexes offset. Or provide your mods plugins indexes stayed unchanged.
The homemade parser has been removed, now everything works using PugiXML (native NAF parser).
Patches for MfgSet, Overlays, Offset, ProtectedEquipment are placed in separate classes, based on the principle of how the NAF functionality is implemented.
The offset parser now reads 4 values as expected (instead of three). The fourth value is for the angle along the Z axis, I didn’t think this was used, but I came across it. I think this is exactly what occurs in the form of the third offset value equal to 180. I’m not sure if this is an error in the xml file when offsets of the form 0, 0, 180 are indicated - I think this means that the actor should be rotated 180 degrees along the z axis, but for some reason this is indicated in the position of the z axis offset. Perhaps the AAF parser is reading from the end. Don't know. This is weird. Nevertheless, our parser will do everything in a humanly understandable way: if 3 digits are specified, then these will be XYZ offsets, if 4, then XYZ and ANGLE.
Furniture is no longer parsed twice, but it is taken from what NAF was able to parse, so there will no longer be any discrepancies.
Filenames no longer matter to the parser: PugiXML selects an XML file by root node. It is important that all XML contains the correct root node. However, like all XML, it must be written in accordance with the standard.
The log for all classes is now in NAF format (warnings), in addition, I added the ability to log everything that NAF was able to parse. To enable it you need to set 1 or true in Data/MCM/Settings/AAF.ini : bdebugAnimations=1, bdebugPositions=1, bdebugFaceAnims=1, bdebugMorphSets=1, bdebugMessages=1, bdebugEquipmentSets=1, etc. I think this will be useful for those who do or will do something in XML. To be honest, I was lazy and made a fairly detailed report for some classes, but minimal for others. If you need any additional information in the reports, write to me about it.
The ini file parser and its logic have been redesigned - now if it fails to read the file, or you suddenly have an old ini file from AAF, there will be no error messages, the mod itself will try to recreate the ini file or add the necessary values to the one you have.
Version 0.780
Everything has been collected into one dll, put things in order, bridge changes are now applied as a patches after NAF is initialized. No dif for users and moders, just code improvements, source code on disk updated.
Hot reload (NAF UI option) now works for bridge patches - no need to restart the game.
The log is now single: NAF.log, so that there is no confusion with the original dll, [info] NAF v1.0.14 Bridge build 0.7 is displayed in the log. 8 (version number of naf build and bridge build), the log for papyrus is still in aaSUPF4SEDebugPrint.txt. To determine for yourself where the NAF initialization log ends, look for the line [info] NAF initialization successful, waiting for game data load. This line means that NAF initialization is complete and the application of bridge patches begins. In fact, this is not entirely true, but everything related to XML parsing (what basically everyone should be interested in in the log is here, after this NAF Bridge starts and starts its logging).
Fixed errors in the bridge parser that led to a loop in a situation where two conditions matched: comments more than one line before the defaults was parsed.
Fixed parsing of duplicate forms by the bridge furniture parser.
Removed couple of tested functions from NAFBridge.pex
Added ReadyUnready_morphSetData.xml (default xml for using dick morph)
Version 0.771
0.770 Fixed furniture search. 0.771 : fixed critical issue produced by 0.770.
Version 0.770
Fixed furniture search.
Version 0.760
Fixed headless feral ghouls in scenes. All ghouls are patched according to the principle of having the keywords 'feral' and 'head' in its editor id, case is not important. This patches all vanilla and most custom ghouls. If your ghoul mod does not have such words in the editor id of the ghoul head, you will have to either rename your forms or add NAF as a dependency esp and add the NAF_DoNotUse keyword manually. Or provide this in any other way available to you.
Removed case sensitivity for parsing xml files.
Version 0.753
Overlays with a temporary expiration date (mostly cum) will be removed from characters (not the player) when unloading (OnUnload).
Added _protectedEquipmentData xml parsing, please make sure that this is exactly what you have in the filename. This is the second (and final) part of adding the "Protected Keyword" functionality for equipment - equipment with keywords from this list is not removes during scenes. IMPORTANT for modders, formlists have two memory areas: for those forms that you add using the editor and for those forms that you add using scripts. Keywords from XML will be added to the same memory area that you adds IN THE EDITOR. Those. you won't be able to clear it with script commands. If you need to clean formlist with script commands, use scripts to add your keywords.
0.751 - fastfix: forgot to unscribe OnUnload.
0.752 - fastfix: fixed crashes added in 0.750.
0.753 - fastfix: little but important fix, it seems I mixed up keywords functionality Locked and Blocked.
Version 0.752
Overlays with a temporary expiration date (mostly cum) will be removed from characters (not the player) when unloading (OnUnload).
Added _protectedEquipmentData xml parsing, please make sure that this is exactly what you have in the filename. This is the second (and final) part of adding the "Protected Keyword" functionality for equipment - equipment with keywords from this list is not removes during scenes. IMPORTANT for modders, formlists have two memory areas: for those forms that you add using the editor and for those forms that you add using scripts. Keywords from XML will be added to the same memory area that you adds IN THE EDITOR. Those. you won't be able to clear it with script commands. If you need to clean formlist with script commands, use scripts to add your keywords.
0.751 - fastfix: forgot to unscribe OnUnload.
0.752 - fastfix: fixed crashes added in 0.750.
Version 0.751
Overlays with a temporary expiration date (mostly cum) will be removed from characters (not the player) when unloading (OnUnload).
Added _protectedEquipmentData xml parsing, please make sure that this is exactly what you have in the filename. This is the second (and final) part of adding the "Protected Keyword" functionality for equipment - equipment with keywords from this list is not removes during scenes. IMPORTANT for modders, formlists have two memory areas: for those forms that you add using the editor and for those forms that you add using scripts. Keywords from XML will be added to the same memory area that you adds IN THE EDITOR. Those. you won't be able to clear it with script commands. If you need to clean formlist with script commands, use scripts to add your keywords.
0.751 - fastfix: forgot to unscribe OnUnload.
Version 0.750
Overlays with a temporary expiration date (mostly cum) will be removed from characters (not the player) when unloading (OnUnload).
Added _protectedEquipmentData xml parsing, please make sure that this is exactly what you have in the filename. This is the second (and final) part of adding the "Protected Keyword" functionality for equipment - equipment with keywords from this list is not removes during scenes. IMPORTANT for modders, formlists have two memory areas: for those forms that you add using the editor and for those forms that you add using scripts. Keywords from XML will be added to the same memory area that you adds IN THE EDITOR. Those. you won't be able to clear it with script commands. If you need to clean formlist with script commands, use scripts to add your keywords.
Version 0.740
ActorBusy Keyword will now be added to scenes running outside of this API, otherwise actor theft may occur.
Launching a scene via the GUI now adds ActorBusy and ActorLocked keywords.
It turned out that offsets from _positionData xmls are not applied to tree-scenes (scenes which can be switched manually). Its processing is different, I had to redo some. In theory, there should be no more problems in this area.
Version 0.730
Added small fixes to improve stability (most situations that are unlikely to ever happen to anyone)
Fixed several unimplemented papyrus functions that should have returned a value, but did not. It always return 0 and false.
Fixed a crash if it was not possible to parse the settings, now a message will be displayed forcing you to exit the game and install Bridge correctly.
Version 0.721
Fixed crashes on game loading produced by 0.720
Fixed game freezes on scenes start
Implemented GetProtectedEquipmentKeywords().
The algorithm for applying offsets has been corrected.
Fixed a bug with the Boolean array (HideHUD function)
Fixed a bug with the Boolean array (HideHUD function)
Version 0.720
Implemented GetProtectedEquipmentKeywords().
The algorithm for applying offsets has been corrected.
Fixed a bug with the Boolean array (HideHUD function)
Fixed a bug with saving control lock in some situations of a failed scene.
Fixed cases when sending none using NAFBridge papyrus scripts produces crashes.
Version 0.710
SetActorLocked now adds NAF_DoNotUse keyword. (undone in 0.753)
Fixed body disappearing when starting player's scene in first person.
All main features is provided by Snapdragon's NAF : fast modern animation framework with comfortable UI for your enjoyment!
What does it do? You can play with mods was written for using with old framework, but it will use NAF. I'm telling about mods like Violate, RSE, Sexual Harassment, Sex Attributes etc. For modders it provides API that them already knows, but it works faster and has some new features. Now sources is open and described in details. If you need more info or new api functions - be free to tell me about it.
Thank you for your endorses! Here is the link to Snapdragon's discord, you can send your questions there. There is different persons can try to help you!
What new features? It is totally rebuilded Bridge mod. Now it based not only papyrus, but also C++ code, congratulate me - now I can. It is still beta, but tested well. I mostly expect improvements towards friendliness rather than bug fixes, but anything is possible.
MCM settings. Now you can setup framework rules in mcm (settings and overrides).
Removed all blackscreens (old-build trouble).
Fixed player's body disappearing in close-spaces scenes.
Fixed keyboard blocking in scenes.
Fixed endless walking (old-build trouble).
Extends NAF parsing for using with some XML features, that NAF doesn't support. (offsets for scenes, old-style one-frame face animations, get furniture list).
Added slow drying feature : cum does not disappear immediately in a sec, but gradually, becoming transparent over time, emulating the effect of drying. Can be disabled in MCM.
Improved old-framework's functions, now it implemented using C++ plugin extends NAF, and works less then for a sec.
Almost full compatible with mods written for old animation framework, implemented functions: OnFurnitureListLoaded, OnWalkInit, OnSceneInit, OnAnimationStart, OnAnimationChange, OnStageEvent, OnAnimationStop, OnSceneEnd, OnPositionData, GetAPI, GetFurnitureList, StartScene, StopScene, StopSceneWithAbruptStop, ChangePosition, ApplyEquipmentSet, GetPositionData, ApplyMorphSet, ApplyOverlaySet, RemoveOverlaySet, ApplyMfgSet, AddMFGBlock, RemoveMfgBlock, SetActorLocked, QuickScene, StartSceneByPosition, GetProtectedItemsKeywords. All this functions uses fast C++ and papyrus algorithms and executes less then in a second.
Totally removed requirements for some old-framework mods (dif from old-build version).
Full sources and docs for modders.
Is it beta? Is it safe for using? It is not full release still. But I tested it for a some time. It should works fine, and shouldn't break something.
Does it requires AAF be installed ? Nope. It hard required AAF was removed.
Does it requires NAF be installed ? Yes. Hard.
Is there AAF files inside? Nope, there is no any AAF code or AAF's unique author's solutions used. API was totally rewrited. But it is emulating AAF events and functions (main functionality of this), so you can find same names, but no same implementations. Here is you can see the sources.
My character is dissappears during scenes! How to fix this? Investigating how to fix this, but for now you can use Camera Tweaks mod. Using Camera Tweaks will solve this allmost absolute, except rare cases.
How to install?
Be sure you have F4SE installed and 1.10.163.x Fallout ver.
Install newest C++ vc redist.
Install MCM.
Install NAF.
Install SUP F4SE and Looks Menu exactly official 1_6_20.
If you have AAF installed - remove it. NAF and Bridge doesn't require LL Fourplay, but some of your mods can. AAF contains it, so after removing AAF, you may need to install that separately as well. Be sure you install 1.10.163.x LL Four Play version. It seems it is ver 46 for now.
XML files from AAF are not fully suitable for working with NAF. For your convenience, I wrote NAFICATOR - a mod for automatically fitting XML files from AAF for use with NAF. All you need to do is write your paths in the INI file and run the game once. Everything will be done automatically.
All posts about fixing your xml is depricated. Write to NAFicator topic everything, that it couldn't procceess. Or you can read XML parsing structure to fix it by yourself.
If you cant understand what troubles can provide wrong XMLS and how to deal with that, then try to read this case!
CREDITS This mod uses NAF 1.0.14 and it's dll fork(published with Snapdragon's permission), but NAF still must be installed, Bridge won't work without it. So, thanks to Snapdragon for great NAF and his help. Special thanks dlinny_lag for his great help. Thanks perchik71 for helping, and TommInfinite for his SUP. And despite all the disagreements and complaints, thanks to dagobaking, for the fact that his framework brightened up our game for many years.