Jump to content

Recommended Posts

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


 

Posted

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 ?

Posted

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? :)

Posted

@ 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

 

Posted

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.

Posted

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

Posted

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

Posted

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.

 

Posted

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

 

 

Posted

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.

 

 

Posted

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

 

Posted

 

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

Posted

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

Posted

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.

Posted

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.

Posted

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.

Posted

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.

Posted

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

Posted

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.

Posted

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

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...