Jump to content

How to merge an ESP into an ESM with FNVedit?


Recommended Posts

I remember reading about this a while ago, and BruceWayne was even so good as to make me a tutorial about it a while ago. All I remember is that you make the esp you want to modify into an esm, then write any new changes you make into a new esp.

 

When you then want to integrate the two, merge them via FNVedit. But I can't remember how, and the menu in FNVedit only allows me to merge patches.

 

The reasons I've done this this way is because if I remember correctly, this allows two players to make parallel development of the same plugin, so long as the "newer" one is the master. Or something along those lines.

 

So while I search my inbox, if anybody already has the answer (or wants to tell me I've majorly screwed up) then I'm all ears.

 

Thanks.

Link to comment

OK, I've found the tutorial. I'm trying the "deep copy as override into" of my modified SexoutBreeder.esp, and clicking for the changes to take place into SexoutBreeder.esm.

 

But I get the following message:

 

"The required master "SexoutBreeder.esp cannot be added "SexoutBreeder.esm" as it has a higher load order."

Link to comment
OK' date=' I've found the tutorial. I'm trying the "deep copy as override into" of my modified SexoutBreeder.esp, and clicking for the changes to take place into SexoutBreeder.esm.

 

But I get the following message:

 

"The required master "SexoutBreeder.esp cannot be added "SexoutBreeder.esm" as it has a higher load order."[/quote']

Yeah I've hit that problem too, you can't copy things up the chain if they reference effects or stuff in the esp. So what I do is remove those references copy the items and the stuff refered to up into the esm then edit the new items in the esm with the new references, duplication of names can be a big issue too which is why SCR has the prefic SexoutS on all items and Pregnancy has the prefix SexoutP :)

Link to comment
OK' date=' I have a problem then... I've referenced literally every dialogue line. Doing that will take me forever. I'm thinking of maybe making the esm into an esp, but then the esp I'm trying to copy will probably not work... and esp can't be the master to another esp, can it?[/quote']

Hmm yes you have aproblem then, I think there is a better way than what I do and it had something to do with Deep Copy override, I think Astymma or Jaam may have told me at some point, but I can't remember now or find the PM.

Link to comment
OK' date=' I have a problem then... I've referenced literally every dialogue line. Doing that will take me forever. I'm thinking of maybe making the esm into an esp, but then the esp I'm trying to copy will probably not work... and esp can't be the master to another esp, can it?[/quote']

Hmm yes you have aproblem then, I think there is a better way than what I do and it had something to do with Deep Copy override, I think Astymma or Jaam may have told me at some point, but I can't remember now or find the PM.

 

An esp can be the master of an esp. The GECK will not recognize it as a valid relationship but the game will. It's why the esmifying process exists (that and the weird bug with certain content and esp/esm status). The way most people do it is have the file named *.esp but set the esm flag in the file header. The GECK will recognize the relationship at that point. The main key to remember is that at no point should any file flagged as an esm edit another file flagged as an esm. Only esp files should directly edit/override an esm. As far as FNVEdit and the actual game goes though, an esp can be a master to an esp with no problems at all even if it isn't esm flagged in the header, I do that all the time. The best way to make an esm into an esp is to deep copy as override the entire contents of the esm file to a new esp. It will force you to add the esm as a master, say yes. Now, go to the file header of the esp and delete the master entry. Close FNVEdit. Remove the esm from data directory. Re-open FNVEdit with the esp loaded. Assuming no other masters were listed in the esp, it should now be a functioning esp and will have renumbered all the formid's to use the new load order prefix.

Link to comment

Run a search on FNVEdit on the nexus. One of the top results will be the training manual. That document is essential for understanding how to use that program. Its great, it has step by step instructions, screencaps with explanations, everything you need for just about everything the program does.

 

From the sound of your specific problem, you may just have the relationship between the two backward. You have the original plugin, and the new plugin with the changes you made and need to add, yes? Make sure that the original is the master to the new, and your merging process should work just fine.

Link to comment

I have that tutorial still saved, but I haven't looked over it for a while. From what I can remember this was specifically for your problem and I don't know, if it's useful for anyone else, but I'm going to post it here anyway in case it might.

 

 

 

Okay here is a first draft of the tutorial...:D

 

Tutorial: How to make overrides for other mods.

 

An override is, as the name suggests, a mod that alters specific things of another mod. It's used for things like NPC overhauls, custom patches etc. It can change all records of it's parent mod(s) or only those that needs to be changed. The following steps, show you how it's done:

 

(the wording and pictures will be different in the official turorial:D

 

Step 1: Open FNVEdit, right-click and choose "Select None"

 

pic01z.jpg

 

Step 2: Select your edited file and hit okay. This should only load your file and its masters.

 

pic02y.jpg

 

Step 3: Open the tree and click, in this case, dialog topic and choose "deep copy as override into". If you know what topics you edited, you could do this step for the topics only.

 

pic03rd.jpg

 

Step 4: This might or might not pop up for you. If it does, click yes!

 

pic04c.jpg

 

Step 5: Choose "new file"

 

pic05m.jpg

 

Step 6: Name it however you please. I chose "SOA - CKs dialogue"

 

pic06rr.jpg

 

Step 7: If FNVEdit asks you, if you want these files as master, click yes!

 

pic07j.jpg

 

Step 8: This should be your newly created file. If you copied only a few topics, this list would be considerably shorter.

 

pic08ef.jpg

 

Step 9: If you changed other things as well, repeat step 3. Other changes go in your newly created file as well.

 

Step 10: If your done, close FNVEdit. It asks you to save changed files. Just click OK.

 

pic09n.jpg

 

 

This is to show you what I would do with it.

 

Step 11: I load my copy of SOA and the override.

 

pic10qt.jpg

 

Step 12: FNVEdit shows me, with the yellow background that something has changed/is different. All I need to do now, is drag and drop the changes to my file and I'm done. Newly created topics or items or whatever, get deep copied in my file as well.

 

pic11dw.jpg

 

 

 

This is for importing dialogue topics from one .esp to another. It works for a lot of other stuff too, with the exceptions mentioned by others.

Link to comment

You know' date=' I was going to PM you if you ever planned publishing that, I think it is very useful. Should even be stickied maybe, somewhere? Unless you had anything to add or change.

[/quote']

 

I haven't looked over that until 5 minutes ago. :D

 

I have that saved as a draft for the modders resource forum. But for publishing it, it needs to be a little more generic, I think. Although, if you think it's useful as it is, all I have to do is press "post thread"...:D

Link to comment

Right, I think I'm getting somewhere, but I'm still running into problems.

 

@ KS: I've downloaded the manual and I am looking through it now. You're right - it is very comprehensive. Thanks for the suggestion!

 

@ Astymma: I've followed your instructions, but I'm running into a stumbling block, particularly the highlighted portion below:

 

The best way to make an esm into an esp is to deep copy as override the entire contents of the esm file to a new esp. It will force you to add the esm as a master' date=' say yes. [u']Now, go to the file header of the esp and delete the master entry.[/u] Close FNVEdit. Remove the esm from data directory. Re-open FNVEdit with the esp loaded. Assuming no other masters were listed in the esp, it should now be a functioning esp and will have renumbered all the formid's to use the new load order prefix.

 

I've shift selected everything I want from the original file (the one I made into an esm) and copied it all over into a new esp. When it asked if I wanted to make the original the master of the new, I said yes. I then deep copy as override all the changes I made to the original esm from my own esp (which I've also loaded) into the esp I've just copied all the original stuff over. (and make it also a master in the process) It should thus overwrite all the original stuff in the third esp with my new stuff.

 

Do that, save. Now, I was under the impression that, seeing as this last esp now has both ALL the original content from the esm, and the changes I made from the other esp, that if I clicked "clean masters" it would remove both the original esm requirement and then my edited version. But it does not. Those masters remain there.

 

So I'm at an impasse now. I can't possibly think of what the esp would require in those "masters" that isn't already contained in the esp.

 

I feel like I'm going in circles, or failing to grasp at some point you guys have been hammering into my head. In short, I feel stupid :blush:

Link to comment

I know, when I was doing it, I thought I remembered reading that the easiest way for you, the author, to then integrate what I made was to make your original plugin an esm and mine an esp dependent on it. Now I see that is not the case, and I'm trying to find some way of getting out of it.

 

Otherwise, I'll just release it as a separate plugin that people can run beside Breeder if they wish.

Link to comment

Right' date=' I think I'm getting somewhere, but I'm still running into problems.

 

@ KS: I've downloaded the manual and I am looking through it now. You're right - it is very comprehensive. Thanks for the suggestion!

 

@ Astymma: I've followed your instructions, but I'm running into a stumbling block, particularly the highlighted portion below:

 

The best way to make an esm into an esp is to deep copy as override the entire contents of the esm file to a new esp. It will force you to add the esm as a master, say yes. Now, go to the file header of the esp and delete the master entry. Close FNVEdit. Remove the esm from data directory. Re-open FNVEdit with the esp loaded. Assuming no other masters were listed in the esp, it should now be a functioning esp and will have renumbered all the formid's to use the new load order prefix.

 

I've shift selected everything I want from the original file (the one I made into an esm) and copied it all over into a new esp. When it asked if I wanted to make the original the master of the new, I said yes. I then deep copy as override all the changes I made to the original esm from my own esp (which I've also loaded) into the esp I've just copied all the original stuff over. (and make it also a master in the process) It should thus overwrite all the original stuff in the third esp with my new stuff.

 

Do that, save. Now, I was under the impression that, seeing as this last esp now has both ALL the original content from the esm, and the changes I made from the other esp, that if I clicked "clean masters" it would remove both the original esm requirement and then my edited version. But it does not. Those masters remain there.

 

So I'm at an impasse now. I can't possibly think of what the esp would require in those "masters" that isn't already contained in the esp.

 

I feel like I'm going in circles, or failing to grasp at some point you guys have been hammering into my head. In short, I feel stupid :blush:

Clean Masters won't remove the master entries because of the following reason. When you copy records into an esp that masters an esm always remember that you're not copying an 8 digit id, you're only copying a 6 digit id. IF that 6 digit id exists in the esm, its load order index will be prepended to the id to make the 8 digit id and NOT the esps load order index. Clean masters will still think you have records that reference the master and the esm entry won't be removed.

 

In FNVEdit, when you expand the + next to a mod name, will show you all the record categories and the file header entry. Left click the file header entry and on the right you'll see the list of masters. Right click the master entry you need to remove and remove it. Then close FNVEdit and let the changes be saved. Re-open FNVEdit and do NOT load the esm. When the esp loads, since the 6 digit id's can't find a master that contains the same 6 digit id's, they will get renumbered using the esp's load order index.

 

Be aware that this is a problem you'll have when merging ANY records into another esp. For example, the most common id handed out when you add your first record into an esp is 000ADD. If you take two esp's with an 000ADD record and merge them, it's very likely that in the absence of a master-child relationship already existing, you'll end up with what the esp considers as duplicate records, both with 000ADD. It's why when merging you should renumber any possible conflicting id's BEFORE the merge. FNVEdit will then update any referencing records to the new id prior to the merge so they still work.

 

Hope this information helps you (and anyone else who was interested).

Link to comment

I read that and also interpreted "delete the master" as "clean masters" because I'm so used to doing that and never removing the thing directly from the header. :dodgy:

 

I don't suppose you know if there's a technical reason the GECK starts IDs at ADD/2781 and not 0/0? I've always been curious.

Link to comment

I read that and also interpreted "delete the master" as "clean masters" because I'm so used to doing that and never removing the thing directly from the header. :dodgy:

 

I don't suppose you know if there's a technical reason the GECK starts IDs at ADD/2781 and not 0/0? I've always been curious.

 

No idea but it sure is annoying...:huh:

 

EDIT: Meaning I couldn't find anything in GECKPrefs.ini or GECKCustom.ini resembling a setting that would affect it. Maybe uForcedNextID but it's set to 0... haven't tried playing with it to see what it does.

Link to comment

 

Clean Masters won't remove the master entries because of the following reason. When you copy records into an esp that masters an esm always remember that you're not copying an 8 digit id' date=' you're only copying a 6 digit id. IF that 6 digit id exists in the esm, its load order index will be prepended to the id to make the 8 digit id and NOT the esps load order index. Clean masters will still think you have records that reference the master and the esm entry won't be removed.

 

In FNVEdit, when you expand the + next to a mod name, will show you all the record categories and the file header entry. Left click the file header entry and on the right you'll see the list of masters. Right click the master entry you need to remove and remove it. Then close FNVEdit and let the changes be saved. Re-open FNVEdit and do NOT load the esm. When the esp loads, since the 6 digit id's can't find a master that contains the same 6 digit id's, they will get renumbered using the esp's load order index.

 

Be aware that this is a problem you'll have when merging ANY records into another esp. For example, the most common id handed out when you add your first record into an esp is 000ADD. If you take two esp's with an 000ADD record and merge them, it's very likely that in the absence of a master-child relationship already existing, you'll end up with what the esp considers as duplicate records, both with 000ADD. It's why when merging you should renumber any possible conflicting id's BEFORE the merge. FNVEdit will then update any referencing records to the new id prior to the merge so they still work.

 

Hope this information helps you (and anyone else who was interested).

[/quote']

 

 

Oh my god, I can't believe that worked! I was ready to give up! I even tried doing something like that similar, but rather than deleting the Master I deleted the mast filename subfolder beneath it, and no wonder it didn't work!

 

There are a few hiccups though with the final "merged" file. While FNVedit finds nothing game breaking on loading it, the GECK finds all sorts of errors, and if I try and load it in the game the load menu won't come up and the game freezes. I assume this is because something in the deep copy didn't transfer as it should, or certain assets got left behind.

 

But seeing as I only need user29 to be able to open it up in the GECK or FNVEdit (which I am now able to do, without the annoying Breeder.esm as a master) then I think this should work fine.

 

At least I hope. :angel:

Link to comment

I read that and also interpreted "delete the master" as "clean masters" because I'm so used to doing that and never removing the thing directly from the header. :dodgy:

 

I don't suppose you know if there's a technical reason the GECK starts IDs at ADD/2781 and not 0/0? I've always been curious.

 

No idea but it sure is annoying...:huh:

 

EDIT: Meaning I couldn't find anything in GECKPrefs.ini or GECKCustom.ini resembling a setting that would affect it. Maybe uForcedNextID but it's set to 0... haven't tried playing with it to see what it does.

 

Any value below 800 is "reserved" and can only appear inside the game esm.

As for calculating the next free id, which ends up converting 800 into ADD, I honestly never understood the formula as written in assembler. The same formula is also responsible for every geck session to skip a lot of id when finding the next id to use.

Link to comment
  • 1 month later...

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

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