prideslayer Posted December 29, 2013 Posted December 29, 2013 View File This is a custom build of NVSE, required by the alpha/beta versions of the NVSE Extender. Â It will remain here until ianpatt or one of the other Silverlock guys updates the official NVSE download page with this version, or a newer version with the features from this one. Â I do extremely minor work on this myself, you can thank jaam for most of what gets done here! I'm only making the download page to keep the question/support issues about this version of NVSE in the Extender support thread to a minimum. Submitter prideslayer Submitted 12/28/2013 Category Other Requires
Strec Posted January 5, 2014 Posted January 5, 2014 I think it is not the better place to ask but I've not found another.  It concern NVSE 3.2 but maybe all versions even 4.  Does NVSE do some job on all formlist at starting, a sort of purge ?  My problem :  I've a formlist containing 2 references, one persistent and an other which if ok but that will be invalid (00000000) when I'll change cell  I fast travel, my form list contains 2 refs, one ok and one invalid  I save (not a quick or auto).  When I reload my list contains only 1 ref, then invalid is not here.  Is it done by NVSE or by FNV ?
DoctaSax Posted January 5, 2014 Posted January 5, 2014 So... I was wondering if it's possible at all to have a version of the ar_dump function that's dependent on debugmode, ie like debugprint it doesn't spam your console if you don't want to?
Odessa Posted January 5, 2014 Posted January 5, 2014 @ Strec: how are you adding to the formlist?  I believe using 'AddFormToFormList' means it will persist through gameloads (but may not be a good idea, because they can't ever be removed if I remember right*). Using 'ListAddReference' or 'ListAddForm' does not- if you use them and want it to persist, make a quest script with if (GetGameLoaded || GetGameRestarted)    if ListGetFormIndex SomeFormList MyForm < 1        ListAddForm SomeFormList MyForm    endif endif * Edit: I was thinking of 'AddItemToLeveledList' which can't be undone according to wiki Â
Strec Posted January 5, 2014 Posted January 5, 2014 I can't retrieve the missing when reloading or restarting cause they have disappeared from my lists  The only function I use to add something in a list is 'addFormToFormList' cause as I've read it's the only one who works well for references (I remove them with listRemoveNthForm).  It appears only on invalid references at start or load, the others are ok.
DoctaSax Posted January 5, 2014 Posted January 5, 2014 If it's invalid, it probably should be removed, no? That's just FNV doing a bit of housekeeping, I think. Addformtoformlist is a vanilla function used by the game to add DLC content to formlists, and if people untick the DLCs that did that, things'd be in them that shouldn't be because the load order shifted, so those get removed when you load up the game without them. Invalid refs getting cleaned out is probably part of that process. (Just a guess, there, I don't really know anything about what's under the hood.)
Strec Posted January 5, 2014 Posted January 5, 2014 If it's invalid, it probably should be removed, no? That's just FNV doing a bit of housekeeping, I think. Addformtoformlist is a vanilla function used by the game to add DLC content to formlists, and if people untick the DLCs that did that, things'd be in them that shouldn't be because the load order shifted, so those get removed when you load up the game without them. Invalid refs getting cleaned out is probably part of that process. (Just a guess, there, I don't really know anything about what's under the hood.)  1/ I enslave a NPC in a cell A, it's reference is valid. 2/ I go in cell B and its ref is invalid, ok. 3/ I return in cell A and the reference is valid.  If I save in cell A on step 1 or 3 and reload all is ok. If I save in step 2 and reload the ref has diseappear from my list.  But no problem, I've found a solution so it's just curiosity.  For Addformtoformlist  which fonction may I use ? I did read this page :  http://geck.bethsoft.com/index.php?title=ListAddReference "Note that forms added to a list with this function will not persist across savegames. If you need to add items to a list that will be preserved in a saved game, use AddFormToFormList"  and this one : http://geck.bethsoft.com/index.php?title=AddFormToFormList "This function has been tested to accept any FormIDs, including base objects and dynamically created references."
jaam Posted January 5, 2014 Posted January 5, 2014 if you want to add a reference to the list, use ListAddForm or ListAddReference. AddFormToFormList will add the baseForm to the list, not the reference.  On the subject of saving list it is more complicated:  The engine will save a list if its private member numAddedObjects is greater than zero.  The vanilla AddFormToFormList will update the member.  ListAddForm and ListAddReference will update the member ONLY if the new object is added at an index BIGGER than the last added object, which requires the list to not be empty to begin with. Â
Strec Posted January 5, 2014 Posted January 5, 2014 Not sure Jaam. I tryied this code :  scn D202DKeyPressScript  short bIsDoing  ref rTmp ref rTmpBase ref rTmp2 ref rList short iNbItems short iNoItem  begin gameMode setdebugmode 1 if bIsDoing==0 set bIsDoing to 1 ;---------------------------------------------------------------- if isKeyPressed 35 ; H debugPrint "-----------------------------------------" set rList to D202DLstTest label 10 if listGetCount rList > 0 listRemoveNthForm rList 0 goto 10 endif ;end label 10 ; set rTmp to TrudyREF set rTmpBase to rTmp.gbo debugprint "NPC : %i %n - Base : %i" rTmp rTmp rTmpBase debugPrint "adding Ref by 'addFormToFormList'" addFormToFormList rList rTmp set iNoItem to 0 set rTmp2 to listGetNthForm rList iNoItem set rTmpBase to rTmp2.gbo debugprint "List %g : %i %n - Base : %i" iNoItem rTmp2 rTmp2 rTmpBase ; set rTmp to DocMitchellREF set rTmpBase to rTmp.gbo debugprint "NPC : %i %n - Base : %i" rTmp rTmp rTmpBase debugPrint "adding Ref by 'listAddForm'" listAddForm rList rTmp set iNoItem to 1 set rTmp2 to listGetNthForm rList iNoItem set rTmpBase to rTmp2.gbo debugprint "List %g : %i %n - Base : %i" iNoItem rTmp2 rTmp2 rTmpBase ; set rTmp to SunnyREF set rTmpBase to rTmp.gbo debugprint "NPC : %i %n - Base : %i" rTmp rTmp rTmpBase debugPrint "adding Ref by 'listAddReference'" rTmp.listAddReference rList set iNoItem to 2 set rTmp2 to listGetNthForm rList iNoItem set rTmpBase to rTmp2.gbo debugprint "List %g : %i %n - Base : %i" iNoItem rTmp2 rTmp2 rTmpBase ; ;set rTmp to buildref 10 22152 set rTmp to buildref 255 5729 set rTmpBase to apple ; asking for gbo on a cloned form seems to stop the script debugprint "NPC : %i %n - Base : %i" rTmp rTmp rTmpBase debugPrint "adding Ref by 'addFormToFormList'" addFormToFormList rList rTmp set iNoItem to 0 set rTmp2 to listGetNthForm rList iNoItem set rTmpBase to apple ; asking for gbo on a cloned form seems to stop the script debugprint "List %g : %i %n - Base : %i" iNoItem rTmp2 rTmp2 rTmpBase  ;----------------------------------------------------------------------------------------------- elseif isKeyPressed 36 ; J debugPrint "-----------------------------------------" set rList to D202DLstTest set iNbItems to listGetCount rList if iNbItems==0 debugPrint "List is empty" else debugPrint "List has %g items"iNbItems set iNoItem to 0 label 90 set rTmp to listGetNthForm rList iNoItem debugPrint "Item %g : %i %n" iNoItem rTmp rTmp ;------------------------------ set iNoItem to iNoItem + 1 if iNoItem<iNbItems goto 90 endif ;end label 90 endif debugPrint "End of list" endif ;---------------------------------------------------------------- set bIsDoing to 0 endif end    The last NPC is invalid  Im in the same cell. Before saving I press 'H' to stock in list  I press 'J' to see and have that ----------------------------------------- List has 4 items Item 0 : FF001661 Radroach Item 1 : 00104C6D Trudy Item 2 : 00104C0F Doc Mitchell Item 3 : 00104E85 Sunny Smiles End of list All is ok in the list  I save and reload without quitting game - I press J and have that : List has 4 items Item 0 : FF001661 Radroach Item 1 : 00104C6D Trudy Item 2 : 00104C0F Doc Mitchell Item 3 : 00104E85 Sunny Smiles End of list All is ok in the list  I quit and reload - I press J and have that : List has 2 items Item 0 : 00104C6D Trudy Item 1 : FF001661 Gecko doré End of list  So you can see that only the two reference added with 'addFormToFormlist' are here if the game is reloaded.  You can also see that ref. FF001661  which is a clone has been repoped by another mod and so I know where is my problem   Â
jaam Posted January 5, 2014 Posted January 5, 2014 I'll check you code later.  I remember ianpatt making changes to FormList to handle non valid ref, which was creating issues (ie CTD), might be interfering with what you do.  You should try making the ref persistent on enslavment, so it doesn't get unloaded with the cell. Never did verifiy the function effectivly had an effect. (Please try removing respawning at the same time, another untested change, at least in the long run)  What is surprising is that the cloned ref id was already reused.  - Did you reload the save directly or did you use an alternate save before that one?  I'll have to re check the code for attributing those refIDs as it may be an issue also for DoctaSax new spunk mod.  Â
Strec Posted January 5, 2014 Posted January 5, 2014 At did only one save.  If reloaded without quitting the game, it's reload 4 refs in the form list and if reload after quitting it reload 2 refs in the list, it is a first abnormality.  If reloaded without quitting the game, it's reload the cloned ref unchanged, if reload a ref reused it's a second one.  I get around the problem because I have often a double check on items. For example a slave is in the list but also in a faction.  So now if my first controller find an invalid slave ( invalid ref or ref not in faction) it remove it.  I add now a token on each slave and if the token see than NPC is in faction and not in list, it add the NPC in the list.  edit :  You should try making the ref persistent on enslavment,   How do you make in game a ref persistent ? I know 'isPersistent' but never seen a 'setPersistent'.  Â
prideslayer Posted January 5, 2014 Author Posted January 5, 2014 4.2beta2 is up. Â This one corrects a flaw in some message notifications required by new versions of NX (v12b2 or newer -- coming shortly).
jaam Posted January 7, 2014 Posted January 7, 2014  At did only one save.  If reloaded without quitting the game, it's reload 4 refs in the form list and if reload after quitting it reload 2 refs in the list, it is a first abnormality.  If reloaded without quitting the game, it's reload the cloned ref unchanged, if reload a ref reused it's a second one.  I get around the problem because I have often a double check on items. For example a slave is in the list but also in a faction.  So now if my first controller find an invalid slave ( invalid ref or ref not in faction) it remove it.  I add now a token on each slave and if the token see than NPC is in faction and not in list, it add the NPC in the list.  edit :  You should try making the ref persistent on enslavment,   How do you make in game a ref persistent ? I know 'isPersistent' but never seen a 'setPersistent'.   SetPermanent from NVSE 3
LukeDuke Posted January 7, 2014 Posted January 7, 2014 So if I don't have no gore edition of the game (English/Polish version) then I should delete nvse_1_4ng.dll and nvse_extender_ng.dll and also nvse_editor_1_4.dll (cuz I'm not using GECK)?
prideslayer Posted January 7, 2014 Author Posted January 7, 2014 There is no reason to delete them, having them there will not harm anything.
LukeDuke Posted January 7, 2014 Posted January 7, 2014 That was fast!  Anyway, I'm asking cuz I can't load my last save (bloat?) and I'm using latest available versions of all Sexout main mods + NVSE4.2b2 with extended 12b2.
prideslayer Posted January 7, 2014 Author Posted January 7, 2014 Removing those DLLs will not help in that regard unfortunately. Â The editor one will simply not be loaded and is just a file sitting there, unless you open the GECK. The extender_ng dll is loaded by NVSE and immediately exits when it determines that you aren't running the nogore version of FONV. Â Something else has caused your problem. In FOMM go to tools->savegames. Is the game you're trying to load 'green'? If it's not, click it, and you'll get a list of all the mods it wants and which ones are missing.
LukeDuke Posted January 7, 2014 Posted January 7, 2014 Thank you, but I didn't removed/updated any mod, and in FOMM the one save that I can't load is ''yellow'' and the other one is ''green'' & I can load it. I don't know why my newest save is bloated. I must say that I have such a problem for the first the of playing Fallout 3 & New Vegas from more than four years ;-) Â Â E: One more thing... About five seconds after I was manually saving the game, my game just crashed with responsible file of kernel32.dll. Then when I was trying to load that save I was having endless loading screen.
prideslayer Posted January 7, 2014 Author Posted January 7, 2014 Click the yellow savegame. It will have a list of all the mods used by that savegame, and some of them will be yellow (disabled) or red (missing) as well. Installing those mods should allow the savegame to load. Though with the bloat in them, I think you just need to go back to an earlier save and forget that one. Â The crash may or may not be related. It sounds like you have probably installed a lot of mods over time, and uninstalled some that require a 'special' uninstall procedure that was not followed. Â Savegame bloat is normal, especially if you use a lot of mods.
LukeDuke Posted January 7, 2014 Posted January 7, 2014 Thanks for suggestions prideslayer, but only loading older save works, but I think that I know why my save was bloated. I used ''Save Key'' mod to saving my game (author of the mod says that it is still manual and not quick save), but only my ''truly'' manual save (using esc and then manual saving) still works fine and not than one created with Save Key mod...  So far no problems using game manul saving.  And I used the same mods while I was using ''Save Key'' mod and normal manual saving (no updating or deleting mods).  I'm glad it's over Â
LukeDuke Posted January 9, 2014 Posted January 9, 2014 New version is out here http://nvse.silverlock.org/  It is the same version as available in this thread (NVSE_4_2_beta2)?  File dates and weight of the files are different than in version from this thread...
prideslayer Posted January 9, 2014 Author Posted January 9, 2014 I've asked the same question and am waiting on an answer. I believe it's OK to use though and if so, I will remove this one and change the link.
Halstrom Posted January 10, 2014 Posted January 10, 2014 I'm pretty sure this had been looked into by people at some stage, but was wondering if the FO3 & NV engines are so similar, I'm guessing people have looked into porting NVSE over to work for FO3 rather than upgrading FOSE.
prideslayer Posted January 10, 2014 Author Posted January 10, 2014 It would be easier to upgrade FOSE. Most of what's in the current update of NVSE is copied from OBSE, in fact, as it's also easier to update NVSE than to somehow make OBSE work. The thing that requires them to be different are the different entry points in the game executable, and that's different for each game exe (and each patchlevel of the game as well).
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