Zumbs' Blog

The truth may be out there, but lies are inside your head

FOMM and FOMODs for Dummies 2: Making FOMODS

Posted by Zumbs on November 8, 2009

FOMM and FOMODs for Dummies

  1. Installing Mods
  2. Making FOMODS
  3. Basic FOMOD Scripting I
  4. Basic FOMOD Scripting II
  5. Working with Forms I
  6. Working with Forms II
  7. Load Order Magicks

This is the second tutorial in a series on how to get the most of the Package Manager in Fallout Mod Manager. The first tutorial focused on how to use the Package Manager from the mod users point of view. This tutorial will investigate the FOMOD file format and how you can make your own. Thus, it is mostly interesting for the mod author, though the mod user may find some parts of it interesting. To use this tutorial, you will need 7-zip.

The FOMOD file format

Browse to your Fallout 3/fomm/mods folder. The first thing you will notice is that next to the installed fomod files, there is an xml file with the same name. This xml file contains the information on what were installed, so do not tinker with it!

Try to rightclick a fomod file and chose 7-zip->Open Achive, you will see that it contains the mod files and a fomod folder – just like a fomod ready mod. This is because that a fomod is “just” a zipped fomod ready mod with the file extension changed to .fomod.
fomod-archive-7z-open

fomod-archive-open

If you open the fomod folder, you will see at least two files, info.xml and script.cs, though there may very well be more. info.xml contains the description that the mod author added to the mod, and script.cs is the install script. I will get back to this later.

Customizing the FOMOD

You have made a mod, and you want to package it as a fomod. Open the Package Manager and add the folder or compressed file (as shown in the previous tutorial), but do not activate it.

To edit the metadata of the mod, highlight the mod and click Edit info:
package-manager-edit-info

This opens the InfoEditor:
info-editor

In the InfoEditor, you can edit the name, author, version, website, etc. of the mod. You can also add a screenshot that is shown when the mod is highlighted in the Package Manager. The screenshot should be png format, as FOMM will import it, rename it to screenshot.png and place it in the fomod folder.

You should also ensure that your readme is found by FOMM. This can be investigated by highlighting your mod and press View readme:
package-manager-view-readme

This opens the Readme editor:
readme-editor

If you haven’t already, this may be the time to document your hard work!

There is also a script editor. Highlight your mod and press Edit Script:
package-manager-create-script

This opens the Script Editor:
script-editor

The script controls how your mod is installed. When activate is pressed, the function PerformBasicInstall install every file in the mod file to the Data folder. The script is written in C# and uses the .NET framework. How to make more sophisticated install scripts will be saved for a later tutorial.

FOMOD or fomod ready?

As a mod author you have to decide if you should distribute your mod in a fomod version and a manual version or one fomod ready version. The advantage of using a fomod version is that it encourage mod users to use FOMMs Package Manager, which is great if your mod has numerous install options. On the other hand, not all people will use FOMM, or may prefer to tinker with your mod.

Personally, I prefer the middle road of distributing the mod as a fomod ready archive, but do what you prefer. If you chose this method of distribution, remember to extract the contents of the fomod file and compress it before uploading.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: