Creating an .esm to get around the navmesh bug, how?

Post » Wed Jun 20, 2012 11:55 pm

Hello!

I have read several times in mod descriptions that the author had created .esm version of the files. It seems that it gets rid of the navmesh bug.

I have created three new interior cells for my mod, that will soon have NPCs in them, and was wondering how exactly you transform an .esp into an .esm.

I only use the creation kit. I suppose a third party program is required?

Also, would it be safe considering to put into the .esm only the interior layout design and navmesh of my mod (rather definitive now), and let in an .esp file all the data concerning NPCs and future quests and custom dialog?

Thanks for the advice.
User avatar
kristy dunn
 
Posts: 3410
Joined: Thu Mar 01, 2007 2:08 am

Post » Thu Jun 21, 2012 6:52 am

Although the CK won't add an ONAM list, you can still ESM'ify by changing the extension to ESM, opening as "Active", then saving. There's no guarantee it'll fix anything w/o an ONAM list though...
User avatar
~Amy~
 
Posts: 3478
Joined: Sat Aug 12, 2006 5:38 am

Post » Thu Jun 21, 2012 3:54 am

Just like that? Thought it would involve a more complex process than simply renaming the extension. Sounds barbaric somehow :biggrin:

Thanks for the quick answer. Will complete my navmesh and do some testing.
User avatar
Dustin Brown
 
Posts: 3307
Joined: Sun Sep 30, 2007 6:55 am

Post » Wed Jun 20, 2012 7:52 pm

Just like that. You could use TESVSnip or WyreBash to ESM'ify too, but using the CK seems the best method given it's capable and will assuredly leave the zlib'd records compressed and all.
User avatar
Jenna Fields
 
Posts: 3396
Joined: Mon Dec 11, 2006 11:36 am

Post » Thu Jun 21, 2012 8:16 am

Although the CK won't add an ONAM list, you can still ESM'ify by changing the extension to ESM, opening as "Active", then saving. There's no guarantee it'll fix anything w/o an ONAM list though...
I've wondered about this. What exactly does the Onam list do, and why do I need it? I've been ESM'ing my mod with the CK all this time, and I wonder what issues lacking an ONAM may create...
User avatar
SiLa
 
Posts: 3447
Joined: Tue Jun 13, 2006 7:52 am

Post » Thu Jun 21, 2012 7:36 am

The ONAM lists seem to help the engine's object permanence when an ESM overrides its master(s) cell children, ensuring the overrides A) work properly and B) aren't forgotten when they unload. It's a TES4 (header) subrecord http://i.imgur.com/VaIrx.png (ACHR, NAVM, LAND, REFR, PHZD). ThePitt.ESM was the first Beth plugin to get an ONAM list and every applicable Beth ESM since has one save for one iteration of Update.ESM. Not sure exactly how it works but, in Oblivion, if one moved something from Oblivion.ESM around with another ESM flagged plugin, the ground would vanish in game. This is most likely why Shivering Isles was merged in and its ESP was empty. Evidently, the the CK has the capacity to create ONAM lists, but it is part of the VCS which will hopefully be made available to us by Beth unless they've another solution in mind. Currently, the only way to get an ONAM list is with FO3/FNVEdit...
User avatar
Fanny Rouyé
 
Posts: 3316
Joined: Sun Mar 25, 2007 9:47 am

Post » Wed Jun 20, 2012 8:47 pm

Interesting, at least, seems going without an ONAM for my mod won't create issue as long as I don't delete or move vanilla objects.
Will be ok, only wanted to create .esm for my custom cells layout.
Thanks for all the answers.
User avatar
john palmer
 
Posts: 3410
Joined: Fri Jun 22, 2007 8:07 pm

Post » Thu Jun 21, 2012 3:12 am

So it just makes sure that vanilla content that the ESM edits works properly? Alright then, I don't have much to worry about. The only thing my mod alters in Vanilla Skyrim is I place one guy in Riften, and place a rock formation and a doorway near the city. The rest is entirely my own cells and exteriors. Though I'll keep this in mind, so if I have issues with this, I know where to start looking. Thanks! :D
User avatar
sara OMAR
 
Posts: 3451
Joined: Wed Jul 05, 2006 11:18 pm

Post » Thu Jun 21, 2012 1:13 am

Interesting, at least, seems going without an ONAM for my mod won't create issue as long as I don't delete or move vanilla objects.
One should never delete vanilla objects of any kind. There are other ways to remove anything from the game like with enable parentage for placed stuff, impossible conditions for INFOs, redirection of reference info, etc.

ESM: Still, you might encounter NAVM woes as not all cases are the same and ONAM lists have proven necessary for a few Skyrim plugins already.
So it just makes sure that vanilla content that the ESM edits works properly? Alright then, I don't have much to worry about. The only thing my mod alters in Vanilla Skyrim is I place one guy in Riften, and place a rock formation and a doorway near the city. The rest is entirely my own cells and exteriors. Though I'll keep this in mind, so if I have issues with this, I know where to start looking. Thanks! :D
If ever you do have problems with the location where you drop the door/rock formation, you could store it elsweyr and move/position it with a script. If it would require an edit to a Skyrim.ESM NAVM, you might want to use an L_NAVCUT collision marker property instead so that you won't need to override any Beth NAVMs to prevent NPCs from walking into your rock, then script the door to move the player+followers rather than linking it with NAVI/NAVMs.
User avatar
Jimmie Allen
 
Posts: 3358
Joined: Sun Oct 14, 2007 6:39 am

Post » Wed Jun 20, 2012 10:02 pm

note though, esm's are not 100% immune to navmesh related bugs.

when a user installs more than one esm or esp mod that has a physical navmesh in it, certain random architecture will start to disappear from totally unrelated parts of the game. the most common areas are Helgen, Whiterun, and Dark Brotherhood sanctuary. (this seems to mostly only happen when a user has more than one navmeshed mod)

even if you create a 100% non-vanilla mod on a esm (as i have done in the past), it will still be subject to this bug if it has any door teleporter that sits on a vanilla navmesh regardless if that vanilla navmesh has been refinalized to accept the new door or not.

no matter what you do, even creating a 100% brand new world with no connection to tamriel, the CK will automatically place a handful of NVMI records in the NAVI group that point to vanilla navmeshes (it is noteworthy that some of these NVMI records are located in helgen, and whiterun - possibly a coincidence, possibly not). i have no idea what these records do or why the CK needs to write these particular NVMI's in every time you create or edit a navmesh, but my best guess is that without proper ONAM'ing, this causes some strange conflict with other mods that also have these same records (yes, the CK writes the same NVMI records every time regardless of where you create your mod's navmesh)
User avatar
Kieren Thomson
 
Posts: 3454
Joined: Sat Jul 21, 2007 3:28 am

Post » Wed Jun 20, 2012 10:36 pm

note though, esm's are not 100% immune to navmesh related bugs.

when a user installs more than one esm or esp mod that has a physical navmesh in it, certain random architecture will start to disappear from totally unrelated parts of the game. the most common areas are Helgen, Whiterun, and Dark Brotherhood sanctuary. (this seems to mostly only happen when a user has more than one navmeshed mod)

even if you create a 100% non-vanilla mod on a esm (as i have done in the past), it will still be subject to this bug if it has any door teleporter that sits on a vanilla navmesh regardless if that vanilla navmesh has been refinalized to accept the new door or not.

no matter what you do, even creating a 100% brand new world with no connection to tamriel, the CK will automatically place a handful of NVMI records in the NAVI group that point to vanilla navmeshes (it is noteworthy that some of these NVMI records are located in helgen, and whiterun - possibly a coincidence, possibly not). i have no idea what these records do or why the CK needs to write these particular NVMI's in every time you create or edit a navmesh, but my best guess is that without proper ONAM'ing, this causes some strange conflict with other mods that also have these same records (yes, the CK writes the same NVMI records every time regardless of where you create your mod's navmesh)

That's depressing. So I have the choice between an .esp that will be bugged second time I enter a zone, or navmeshing an .esm that would create unrelated and unpredictable disappearances. I guess the .esp is better then. At least, it's predictable.
User avatar
Kim Bradley
 
Posts: 3427
Joined: Sat Aug 18, 2007 6:00 am

Post » Thu Jun 21, 2012 1:39 am

i'd say both have an equal amount of downsides. for example esp's have a difficult time managing available memory (this is my guess) when it comes to worldspaces (tamriel excluded) relating in CTD on travel/load or trapped in Oblivion (totally blank screen with some hud visible and can only hear NPC footsteps and sounds). btw, esp mods are also subject to missing architecture if another esm navmeshed mod is installed


esm's also have load order drawbacks.


everything has some level of workaround, but in the end it's a total mess either way. the bottom line is we just have to gamble with the mod until beth releases a solid fix
User avatar
Victoria Bartel
 
Posts: 3325
Joined: Tue Apr 10, 2007 10:20 am

Post » Wed Jun 20, 2012 11:14 pm

I know you can make a child esp from an esm master, but is it possible to create a esm master from a normal esp and keep the existing esp the same ? If so, how would I go about it ?

The reason I'm asking is I'm thinking of only putting the navmesh onto an esm and leaving the esp for all the other stuff. Also, if I can do this, will existing saves still work as normal, or will the game see the esp as a new and totally different esp ?
User avatar
Steeeph
 
Posts: 3443
Joined: Wed Apr 04, 2007 8:28 am

Post » Thu Jun 21, 2012 5:48 am

you cannot slave an esm to an esp, only the other way around.

you can split an existing esp into an esm/esp pair. as long as the items in the esp are non-edits of the new esm (beginning with form id 02), it will translate into loaded save games properly. any records that go directly into the esm will be treated as a new mod and reset on first load.

i don't recommend having an esm for navmesh if any of it is touching tamriel at all. you might be able to get away with dropping a door teleporter down on a tamriel navmesh to connect your world to skyrim, and leave the triangle red (do not finalize). this doesn't always work (especially if that navmesh already has a door on it anywhere)
User avatar
Oyuki Manson Lavey
 
Posts: 3438
Joined: Mon Aug 28, 2006 2:47 am

Post » Thu Jun 21, 2012 5:55 am

...you can split an existing esp into an esm/esp pair. as long as the items in the esp are non-edits of the new esm (beginning with form id 02),...
Thanks for the reply. I'm not quite sure what you mean by 'non edits of the new esm'.

The other thing is, how do I actually go about making an esm that is linked to my esp ? Is it just by name ie. MyMod.esm and MyMod esp will automatically be linked by the game, or is there some internal setting that tells the game that they are master and child ?

...i don't recommend having an esm for navmesh if any of it is touching tamriel at all...

Although there are parts that are in Tamriel worldspace, they are up on a building, so the navmesh wouldn't be touching any of the vanilla navmesh. Most of the navmesh is in interior cells with a little bit connected to the Whiterun vanilla navmesh.

I hope that doesn't prove to be a problem.
User avatar
Jonathan Braz
 
Posts: 3459
Joined: Wed Aug 22, 2007 10:29 pm

Post » Wed Jun 20, 2012 10:31 pm

"non-edits" means things that exist only on the esp and they do not edit anything from an esm (all new content)

you can split off an esm/esp pair by using tesvsnip. clone your esp file and rename it something like this:

mymodmaster.esp (leave it as esp for now)
mymod.esp



open mymodmaster in tessnip, and delete everything except for what you want to leave in the esm. save as esp

open mymod.esp in tessnip, and delete whatever records you left behind in the master.

the idea is you want to split off the records so that none of them overlap yet. be warned, record dependencies WILL break, so plan ahead of time. if you only want the navmesh in the esm, you should also include all records related to the navmesh interconnection (this includes doors, cells, worldspaces etc). and if your connected records have connected records, you need to include those, until you've split off everything cleanly (cue incepetion gong). save as esp


manually rename the master to mymodmaster.esm in windows explorer

open the CK, load mymodmaster and set it as active file.

do not touch anything. just save the file once it loads, and CLOSE the CK.


relaunch the CK, check Skyrim.esm and Mymodmaster.esm (you will notice the CK now recognizes this as a bonafide esm - letters in bold)
double click mymod.esp and set to active.

save when it finishes loading.

once you confirm that mymod.esp lists both skyrim.esm and mymodmaster.esm as master dependencies, you have successfully made a esm/esp pair.

from here on out, do not touch the esm. make all your edits on the esp. you can edit whatever records you left behind on the esm, in the esp file to update them continuously as your mod progresses. do not edit the navmeshes or else the point of this whole procedure is defeated
User avatar
dav
 
Posts: 3338
Joined: Mon Jul 30, 2007 3:46 pm

Post » Thu Jun 21, 2012 10:13 am

Okay, thanks again. It looks a bit complicated, but I'll give it a go.

Expect to see me back, when it all turns pear shaped :)
User avatar
tegan fiamengo
 
Posts: 3455
Joined: Mon Jan 29, 2007 9:53 am

Post » Wed Jun 20, 2012 7:17 pm

The ONAM lists seem to help the engine's object permanence when an ESM overrides its master(s) cell children, ensuring the overrides A) work properly and :cool: aren't forgotten when they unload. It's a TES4 (header) subrecord http://i.imgur.com/VaIrx.png (ACHR, NAVM, LAND, REFR, PHZD). ThePitt.ESM was the first Beth plugin to get an ONAM list and every applicable Beth ESM since has one save for one iteration of Update.ESM. Not sure exactly how it works but, in Oblivion, if one moved something from Oblivion.ESM around with another ESM flagged plugin, the ground would vanish in game. This is most likely why Shivering Isles was merged in and its ESP was empty. Evidently, the the CK has the capacity to create ONAM lists, but it is part of the VCS which will hopefully be made available to us by Beth unless they've another solution in mind. Currently, the only way to get an ONAM list is with FO3/FNVEdit...

So because esps can't have ONAM lists..the navmeshs will not work...?
User avatar
Red Bevinz
 
Posts: 3318
Joined: Thu Sep 20, 2007 7:25 am


Return to V - Skyrim