Mike's Musings #10: Add-On Standard File Format

By Mike McCarthy (15 June 2007)

With the kind permission of webmaster Nels Anderson, at some point in the future portions of this article will be republished in modified form on my pending writing web site, thewritingblog.com. There you will find articles and photography from, I hope, several different authors, on a broad range of subjects.


This article is an appeal to freeware developers to submit their add-ons in a standard download/install folder and file format, one which would be easily understood by newcomers to this wonderful hobby of ours, regardless of the complexity of the add-ons being uploaded. The proposed standard is especially aimed at compilation add-ons where, for example, an airframe will come from one author, a panel from another, a repaint from a third author, and so on.

To help illustrate my points, as a companion to the article I have composed and uploaded an example library submission, B7272EXP.ZIP, one which reflects an actual FS2004 aircraft that I integrated from several different sources recently. You can download that compilation aircraft HERE though of course you must first log into the file library to do so.

The issue is this, developers: If you don't take the time to make life simple for your users, then the users must take the time on your behalf, defeating your whole mission in FS life, because many of them will not try your add-ons again. Your developer reputations are at stake whether you realize this or not.

The Need For A Standard

As discussed by Andrew Herd in his recent article How To ... Install FSX Aircraft, these days many add-on aircraft come with (potentially dangerous) installers. However, most add-ons don't come with installers, and those that do usually don't come with uninstallers.

Furthermore, while Andrew's procedures will result in clean installs, they make no simple provision for future add-on reinstalls such as would be required if, for some reason, you had to reinstall FS2004 from scratch.

Finally, the contents of the downloads for many of the aircraft that lack installers are often difficult for beginners to understand, often so difficult that the beginners may give up in frustration, depriving themselves of nice add-ons and depriving authors of wider recognition. Certainly that was true for me when I began accumulating aircraft during the long-ago days of FS98. (Actually, I've been simming since the days of Bruce Artwick's "ATP", but that's another story for another day.)

While today I am no longer a beginner, these same issues apply to me if I'm returning to an aircraft after a period of years. Absent a standard, installations require current skills, just as flying does. Unless I do something special I will not remember how to recreate and reinstall the aircraft, especially if I haven't done such an install recently. Accordingly, years ago I developed an add-on installation standard for myself. This is a format into which I today restructure all downloads, regardless of whether they come with an installer. (Sometimes I do this for payware, too.)

Today I'm going to describe the standard, using an actual FS2004 add-on situation to illustrate the main points. The add-on is a 727-200, one whose panel design is, deliberately, particularly well suited to flying online. (Check out www.vatsim.net to learn about flying online in the largest virtual air traffic control environment.)

Main Features Of The Standard

Let's begin with a discussion of add-ons which lack installers. At an overview level, after unzipping the add-on (which may well contain nested zip subfiles) I end up unzipping everything and restructuring the resulting set of files into folders named, for example:

As Downloaded
To Aircraft
To Effects
To Gauges
To Modules
To Sound
Other

The names of the To Aircraft, To Effects, To Gauges, To Modules and To Sound folders tell me exactly what to do with the files in question--move the contents of my folders to the corresponding FS2004 folders. This is a procedure I can repeat without having to be concerned with the complexity of the original download, very much an issue for today's example.

As for the As Downloaded and Other folders, they are important but play no direct role in the installation of the composite add-on. See the discussion below.

As Downloaded

The As Downloaded folder contains the actual download file or files without modification of any kind. I won't go into all the reasons for retaining these files, but the main reasons are a) there will be no doubt as to which version of which file got used, and b) there will be no doubt about the name of the file at the time it was downloaded.

In the case of my example for today, there are six such download files--airframe, panel, and a change to a particular FS2004 default file to improve aircraft landing lights. Thus for my 727-200 the As Downloaded folder in turn contains the following named subfolders...

Mike Stone Airframe
Gary Smith Panel
Lonny Payne GPWS Gauge
Rick Connely Repaint Northwest
Joe Puliot Repaint Western
Nick Needham Lightfix

Notice that the authors of the downloaded files are given immediate credit for their work. Not only that, giving their names here serves as a basis for future file library searches for additional work by the same authors.

To Aircraft

The contents of this folder is a subfolder which is to be copied unmodified into FS2004 's Aircraft folder. As in the case of today's example 727-200, the panel required that the [radios] section of the aircraft.cfg file be modified. The repaint required more changes to aircraft.cfg. The panel.cfg file itself was also modified by me, for various reasons.

The specifics of those changes aren't important here. The key point is that the contents of To Aircraft concentrates all the various changes in one place--and the resulting aircraft subfolder can be easily installed to (and uninstalled from) the FS9 Aircraft folder.

Nevertheless, a step-by-step list of my changes (and there were indeed others) is found in a file named CHANGES.txt, located in the root folder of the master folder, which I named B727-200 PC Game Controls. The CHANGES.txt file allows me to re-create any the composite, or any part of it, at any time in the future.

To Effects

It is clear what you do with this folder--you copy its contents to the FS2004 Effects folder. But what happens after that? What if you want to uninstall these effects and restore the original effects?

To make this possible I have a folder in My Documents named FS2004 Baseline. One of these folders is named Effects, and it contains an exact copy of the original contents of the FS2004 Effects folder. To deinstall the 727-200 effects I would simply delete the entire contents of FS2004 Effects and then copy into that folder the contents of the corresponding folder from FS2004 Baseline.

To Gauges

Again, the original FS2004 Gauges folder is backed up in FS2004 Baseline, allowing for easy deinstallation of gauges using the procedure described above for To Effects.

However, gauge installation can be tricky, sometimes resulting in two subfolders named:

Addon Gauges
Duplicate Gauges

This gets around the perennial panel author's dilemma--whether or not to include older or modified gauges which have the same names as default gauges in FS2004. The author is now always free to include them, but we users are free to exclude them, or to back them out using our deinstallation procedure if we included them but they messed up FS.

To Modules

How to install this material is self-explanatory but the reason for installing it isn't always obvious. For example, some gauges in some panels require use of a freeware file named FSsound.dll to allow sounds to be played back directly by the gauge itself. Because FSsound.dll isn't always distributed with add-ons, I put it there myself so that nothing can go wrong go wrong go wrong.

To Sound

You know the drill--easy to install, easy to back out if you have something along the lines of FS2004 Baseline.

Other

Here I put all picture files, documentation, licenses, read-me files, and so on. These are things we want to keep, and to respect, but they play no direct role in the installation so they are moved here. In today's example the Other folder contains subfolders for each of the files in As Downloaded, i.e. for each author's work product.

Installers

I use a variant of the procedure described by Andrew Herd for getting along peaceably with add-ons that require the use of an installer. Here's what I do...

In C:\Program Files\Microsoft Games\ I maintain a folder tree named Dummy Flight Simulator 9. Inside this folder are empty folders named:

1033
Addon Scenery
Adv
Aircraft
[blah]
[blah]
[blah]
Texture
Uires
Weather

which precisely duplicates the folder structure of FS2004 itself. When I want to run an installer I rename my FS2004 root folder to True Flight Simulator 9, and I remove the word Dummy from the name of the dummy folder tree.

I then run the installer and look inside each and every one of the dummy folders, et voila!, we then have a complete set of files to be cut and pasted into the requisite To [Whatever] folders. This allows us precise control over what gets put into the real FS2004 folder tree. (Of course it is then necessary to restore the Dummy prefix to the dummy tree, and to remove the True prefix from the real tree.)

License Violations

Some freeware licenses effectively say "you may not modify this work in any way". To authors who adopt this posture I have three things to say:

First, your unmodified work is available in As Downloaded, and you are given credit for that work, up-front. This is advertising, you should welcome it, and people are free to ignore the rest of the standard download folder suite.

Second, as just mentioned, people don't have to use what's in the standard folders. You can think of the standard as a recitation of what results users should expect after your original installation procedures are followed, which the users are still free to adopt.

Finally, if nothing else the standard amounts to a certification of your installation instructions, should users want adhere to them.

I'm Ready To Take The Heat

I'm prepared for it. Nevertheless, take the lead, authors. Show the world what you can really do...

... And if you think that this matter is controversial, just wait till you read my next article, "Open Source Add-Ons"!

Mike McCarthy
mike@pcgamecontrols.com

Discuss This in our Outer Marker (Feedback) Forum.


[ Back | Home | Main Menu | Logout | Help ]

Copyright © 2007 by FlightSim.Com. All Rights Reserved.