If you hadn't already heard, the 0.14.5 update has a bunch of modding improvements & changes that, unfortunately, will also break almost all existing mods.
I know that upgrading large mods can be a daunting and time-consuming task, so to ease that process, I've created a "Mod Upgrader". This is a little program that you can download and run and it will try its best to upgrade a mod that is already compatible with 0.14.4 to be compatible 0.14.5. It is not perfect -- there are some situations in which it won't be able to upgrade something, will produce the wrong result, or perhaps even crash -- but for most mods I think it should do about 90% of the work required to upgrade a mod for 0.14.4. Here are some situations that I know of where the upgrader won't handle, which you'll need to handle yourself:
- It won't upgrade any modifications made to vanilla parts, including base_part.txt.
- The behavior of
InheritVelocity particle components has changed in some circumstances, but the upgrader won't do anything about it because it doesn't know whether you want to replace it with
AddFrameOfReference or leave it as-is. You'll need to upgrade these particles manually.
- It won't upgrade any area damage or drain effects to use the new
ExplosiveAmmoDrain because the old effects are still supported and the new ones have substantially different behavior that may or may not be appropriate for your mod.
- In vanilla Cosmoteer, the "Weapons" part tab has been removed and replaced with three separate categorized tabs. The "Munitions" tab has also been removed. But the upgrader doesn't know how to categorize your weapons, so it just puts all weapons in the "Energy Weapons" tab and all munitions in the "Projectile Weapons" tab.
- The old 'AreaDamageBlock' parameter no longer exists. It has sort of been replaced with
ExplosiveDamageAbsorption but those only work with the new
ExplosiveDamage effect and not the old area damage effects, and they don't do quite the same thing, so the mod upgrader won't do anything to upgrade to these.
- Probably more things I can't think of right now.
I've tested the upgrader on Abh, AWV/Stargate, Blood Cult, Bubbet's Placeholder, Automation++, and SW:ACW. All seem to load fine without crashing after being upgraded (with the exception of Abh where I had to fix a few things by hand because it does some extra-fancy things that the upgrader can't handle), though I did not exhaustively test every feature of every mod, so it's likely there are still some issues. (Note: Although I did test these mods, I will not be distributing the actual upgraded mod files -- I will leave that to the mod authors.)
Note: This upgrader only works with mods that are already upgraded to 0.14.4. It will not work with mods that aren't yet compatible with those game versions. It is also not really intended to be used by anyone other than the author(s) of a mod, since it can't do a 100% perfect upgrade. If your favorite mod hasn't been updated to work with 0.14.5, you're welcome to try the upgrader on it, but expect issues.
If you would like to use the Mod Upgrader on your mod, follow these steps:
Backup your mod! The Mod Upgrader makes its own copy of a mod when upgrading it in case something goes wrong, but you can never be too safe, so I highly advise you backup your mod before using the upgrader.
Download and install the 0.14.5 version of Cosmoteer.
Download CosmoteerModUpgrader_0.14.5_v1.zip and extract it to somewhere on your computer. (Do not extract it to your Cosmoteer install folder.)
CosmoteerModUpgrader.exe program! You will first be asked to enter the path of Cosmoteer's installation folder. (That's usually
C:\Program Files\Cosmoteer.) You can either type in the path manually, or (tip!) you can simply click-and-drag the folder straight into the command window to copy the folder path to it. Press enter to confirm the path.
You will next be asked to enter the path of the mod you want to upgrade. (Again, you can simply click-and-drag the folder into the command window.)
The upgrader will then make a copy of your mod by adding a
_upgraded after its folder name. (So if your mod's folder is
MyAwesomeMod, the upgrader will make a copy of it in a folder right next to it called
MyAwesomeMod_upgraded) WARNING: If there is already a folder of that name, it will be deleted and replaced with a new copy!
The mod upgrader will now attempt to upgrade the mod! Depending on the size of your mod, this will take between a few seconds to a few minutes, and you should see a bunch of text whizzing by as it upgrades. With any luck, it will finish without crashing.
If the upgrade completes successfully, you should now test your mod to make sure it loads and works properly in 0.14.2. Move it into your
Mods folder (if it's not already there), turn it on, and restart the game. (You may want to also temporarily remove the old version of the mod, just to be 100% sure that you're testing the upgraded version.) Test your mod for any crashes during loading or gameplay or other issues. If something isn't working, please post here describing the problem and providing a link to download your mod so that I can look into fixing the upgrader.
You will probably have some additional things you need to fix by hand, but hopefully not too many if the upgrader has done its job. Note that the upgrader sometimes produces code that, while it might work just fine, can be pretty ugly and non-ideal, which you may want to clean up. (You may want to use a tool like WinMerge to see what was changed.)
Hopefully this tool will make upgrading existing mods for 0.14.2 much easier. Again, if something's not working right or it screws up an upgrade, please let me know! (And post a link to your mod so I can test it.)