Right after I posted my Ambient Temperature mod to the Nexus, DarkOne posted a comment asking if something like this was possible, given a Nexus based database of the most recent mod versions that the Nexus folks would develop and maintain. At the time I was sort of hung up on the idea of it being a normal plugin that messaged you with mod updates when you launched the game, but it makes more sense to have it be part of a mod manager (plus you wouldn't have to wait for FOSE's IO functions to implement it). I'd PM him about it to see if he's still interested (obviously it's something they'd want, since it would help promote their site).
Thanks man, I hit up DarkOne over on the Nexus forums.
In unrelated news, I figure it's time for a description of the install system.
The NVCMU Install System!
Simple Installs:
So, Simple installs can be done anyway you want. See, My install system is radically different. It doesn't personally care how you arrange your files. If you don't add folders for organization, it's not going to organize anything. If you throw all your textures in with your ESP, it's going to throw them all in the textures folder and the ESP in the data folder. This presents two ways to install.
- Simply Throw everything into the zip file's top level
- Organize
We'll start with the first one. That one is the easiest. Basically, as a mod maker, you can literally throw EVERYTHING into the top level of a zip file and it will be installed. However, I am NOT responsible for ensuring that your ESP knows to LOOK for those resources in the base Meshes folder for example and not the Meshes/MyMod/DarkBats/. However, for a simple mod, this is perfect and saves you time as a mod designer.
Now for the organized way. You put your resources in their own folders. You don't even have to do the asinine Meshes/MyFolder/, no, you can just throw MyFolder in with the ESP. It will detect automatically what's contained in the folder. This brings up an important point, What happens if you put Meshes AND Sounds in a single top level Folder? Well, while I would recommend against, this tool exists for you and therefore, it will separate them by type and then put them in MyFolder. For instance, a mesh will go into Meshes/MyFolder while a voice will go into Sounds/Voice/MyFolder.
Multiple Path Installs:
So what if you have a mod that has version A and B? Well, I can deal with that two. There are Three types of Multiple Path Installs.
- Multiple ESPs and Common Resources
- Multiple ESPs and Multiple Resource Packages with no Common Resources
- Multiple Resource Paths with a Common Resource Bucket and a single ESP
So, again, start with the first one.
When you have Multiple ESP's but the same resources, then all you need to do is name your ESP's the same but with an extra letter or number to identify it. For example, MyESP would be MyESPA.esp and MyESPB.esp. Note however that until scripted installs are hammered out it relies on the user either A) knowing which version to use or B) my nexus api getting lucky and finding your mod on the nexus or C) the user giving me the FID. Hopefully, we can make this a thing of the past latter.
Also note that with Multiple ESPs, they appear in the load order list as a group Mod, that is, the mod name will be the top level and moving that in the load order changes the write dates of both ESPs, however, the one you activate is the one that gets installed. That's pretty much it. It's a simple interface.
Now for the second one.
Multiple ESPs and Multiple Resource Packages are kind of annoying to deal with, especially when trying to do scripted installs, but i've taken the worry about of that. Just name your ESP MyESPA and MyESPB as above and have ResourceA and ResourceB folders in the same zip file. If they activate A, ResourceA is added to the data directory and vice-versa. That's all there is to this one.
The third one is my favorite. It's pretty sweet in my opinion.
So, you have Multiple Resource Paths, a common resource bucket and a single ESP? Well, that's okay. We at NVCMU understand your pain and no longer is it necessary to write a script for install! No, all you need do is follow the format below.
-Zip File Mod
--CommonRes
---Folders or no Folders and Resources
--ResourceA
---Folders or no Folders and Resources
--ResourceB
---Folders or no Folders and Resources
--MyESP.esp
That's all it takes and we'll give em a choice. If they activate A, then CommonRes + ResourceA gets installed and vice-versa. So you may be asking, what if I have TWO ESPs? Well, fret not, for this method will work with more than one ESP by following this format.
-Zip File Mod
--CommonRes
---Ditto
--ResourceA
---Ditto
--ResourceB
---Ditto
--ResourceA2
---Ditto
--ResourceB2
---Ditto
--MyESPA.esp
--MyESPB.esp
So, the big question now would be, do I have to use your naming scheme? The short answer is no. The long answer however is that the Resource Folders MUST follow that naming scheme for multiple levels of install resources. The ESPs are not bound by such rules. Simply make sure that they have a COMMON NAME and I will find it and recognize they're multiple choices.
IE: These examples are correct
- ApplesNOBLOOD.esp
- ApplesBLOOD.esp
The above is correct.
- AlianaCompanionNOCGear.esp
- AlianaCompCG.esp
Yes, even those two are correct as Aliana is the common name.
IE: These examples are wrong
- ApplerBlood.esp
- ApplesNoBld.esp
The above is wrong. It has no common name between them.
- AliCNCG.esp
- AlianaCCG.esp
Again, wrong, no common name between them.
Anyways, I hope that you all enjoyed this sneak peek of the scriptless install system. If you have any questions, comments or suggestions go ahead and post them. I'm building this for all of us after all.
Edit: I thought of an important question someone might ask and wanted to post an answer to it.
Question: So, if I have ResouceA and custom folder names inside those, how are they installed?
Answer: Same way as if there was one ESP and one Resource bucket.
//
Question: So, If I just throw them in ResourceA?
Answer: They get throw into the folders without any organizaiton.
To clarify, while multiple install paths have a different folder structure, the actual process by which the destination is decided is the same.
Question: What if I have MyFolderA/MyFolderB/MyFolderC?
Answer: It will be installed in ////
To clarify, I only look for the resources in the folders and then build their destination path by backtracking until I either A) hit the top level or B ) hit an folder name like Meshes,Textures, etc.
Note: For this system, Texture is the same as Textures.