Fmsel Reference: Fan Mission Selector and Manager For Dark Engine Based Games
Fmsel Reference: Fan Mission Selector and Manager For Dark Engine Based Games
Fan Mission Selector and Manager for Dark Engine based games
Overview
GETTING STARTED
MAIN WINDOW
TAGS
LOCALIZATION / LANGUAGE
Rev 12
GETTING STARTED
To get the game to run FMSel when it starts, you have to edit cam_mod.ini and uncomment (remove the semi-colon) the line ;fm.
Change
to
This will launch FMSel first when you run the game, and give you the option to select an FM or start the game without an FM.
The default FM path is a directory named FMs in the game directory. For example if the game is installed in C:\Thief2 then you have to create a
directory C:\Thief2\FMs. The FM path can be customized in cam_mod.ini with the fm_path config var, and can be an absolute path to an entirely
different location from where the game is installed.
You are now ready, just run the game and FMSel will start.
When FMSel starts it will scan the FM path for sub-directories and treat them as FMs. Additionally to the readily available FMs it finds in the FM path, it
also supports working with archived (zip/rar/7z) FMs. To enable archive support you need to configure an archive path, a directory which is different
from the FM path, where you store your collection of FM archives. FMSel will scan the archive path recursively, so the archives may be organized in
sub-directories. The archive path is configured in the options menu (see Actions under the MAIN WINDOW chapter).
To play an archived FM it has to be installed first. Installing consists of FMSel extracting the archive into a sub-directory of the FM path. Uninstalling it,
deletes the directory again. Install/Uninstall is done from the context menu in the FM list.
Deleting an FM archive, or the FM dir for a non-archived one, will usually not remove the FM entry from FMSel's database. This ensures that your play
history is preserved, without requiring you to keep the FM on your system.
NOTE: Avoid renaming FM archives after they have been added to FMSel. This will confuse it and usually produce duplicate entries, where the entry
for the old archive name will appear as a deleted FM.
MAIN WINDOW
Filters
Tag Filters
FM List
Actions
FM List
Displays a list, or partial list depending on filter settings, of FMs in the database.
Column
Description
Name
Displays the FM name, rating if set and tags if any (and FMSel is configured to display them). The Name column
header also provides the possibility to sort by Rating.
Some list items may display one of these icons left of the name:
FM is available as an archive, but isn't currently installed.
FM is available as an archive and is currently also installed (ready to be played).
FM isn't available at all (not installed and no archive).
The font and color used for the name also conveys information about status and availability.
Italics - FM isn't installed (may be combined with any of the other styles).
Blue - FM has been launched but hasn't been completed.
Blue Bold - FM has never been played/loaded.
Orange Bold - FM has a playthrough in progress.
Rating is only displayed if an FM has been rated. The rating can range from 0 to 5, in 0.5 steps.
Ex: A 4.5 rating
Pri
Priority. This is a way to flag an FM for importance. The original intent is to use it to flag unplayed FMs that you want
to play more urgently than others, but there's no functionality tied to the priority other than being able to filter and
sort on it, so you may use it for whatever purpose you see fit.
Medium
Status
High
Urgent
or
Last Played
Date when the FM was last launched, empty when mission has never been launched.
Release Date
To change status/rating/priority, install/uninstall, edit other FM properties and more, use the context menu that can be accessed by right-clicking on an
a list entry.
Item
Description
Play
Start Playthrough
Install
Install an archived FM. Installing means it will extract the archive to a directory in the FM path. If there are
backed up files from a previous uninstall, like savegames, it will ask if those should be restored. Not restoring
the backed up files can result in the backup being lost, if you create a new backup the next time the FM is
uninstalled.
Uninstall
Uninstall an archived FM that is currently installed. The uninstallation process simply consists of deleting the
FM's directory and all its contents from the FM path. It will ask if it should make a backup archive of changed
files or savegames (depending on the Backup Type currently set, see Options menu under Actions). The backup
archive is a ZIP file saved alongside the FM archive, using the same filename with a .FMSelBak suffix. For
example If the FM archive is named TheLargeCampaign.rar then the backup archive will be named
TheLargeCampaign.FMSelBak.zip.
Status
Change status.
Priority
Change priority.
Rating
Change rating.
Edit...
Edit FM properties, like the name displayed in the list, release date, tags, notes and more.
Edit Tags...
Does the same as Edit... but displays the tag editor tab page right away, for quick access.
View the info/readme file associated with the FM, if one is available. The file is open in an external application
like for example Notepad or Wordpad, depending on the file type.
View Summary...
Displays a popup window with a summary sheet for the FM. While the popup is displayed it's possible to cycle
through the FM list with the left and right arrow keys.
The context menu has a few additional items in advanced mode, which can be accessed by holding down CTRL while right-clicking.
Item
Description
Delete from Db
Delete FM entry from database. All associated information, such as rating, notes, tags etc. will be
permanently lost. If the FM exists as an archive and/or in the FM path, it will be re-added from scratch
the next time FMSel runs.
Displays a popup window that lists the files in the archive, for an archived FM. Also lists the files in the
backup archive if one is found.
Actions
Button
Description
Skip FM
Start the game without an FM. Pressing ESC has the same function.
Play FM
Start the game with the selected FM. Pressing Return has the same function.
When running under DromEd this button is named Edit FM instead to better suit editor use.
Start FM
Start the game with the selected FM and automatically change its status to playthrough in progress.
This button isn't available when running under DromEd.
Options/Tasks menu. See table below.
Exit
Item
Description
Tag Rows
Number of rows with tags to display per FM entry in the list. When Variable Height is enabled, the number of
rows acts as max number of rows, so if the number of rows is set to 4, and an FM only requires 1, then the list
item height will be adjusted to only display 1 tag row.
Date Format
UI Theme
UI Font Size
Choose between Normal and Large font setting. Changing this will exit FMSel because it requires a restart.
Misc
Return to FMSel
Word Wrap Descr Editor Enable word wrapping in FM description text editor.
Word Wrap Notes Editor Enable word wrapping in FM notes text editor.
Never Does not return back to FMSel after exiting the game(/DromEd).
After FM Returns back to FMSel after exiting the game when an FM was launched.
Always Always returns back to FMSel after exiting the game.
This setting is separate when running under DromEd, so you have to configure it once when running the game
and once when running DromEd.
FM Archive Path...
Optionally set the path(/directory) where FMSel can find your collection of FM archives. This cannot be the same
as, or a sub-directory of, the FM path (the directory where installed FMs are located), or vice versa. FMSel scans
the archive path recursively, so the FM archives my be organized in sub-directories.
Backup Type
When uninstalling (deleting the extracted FM from the FM path) an archived FM, you are asked if you want to
make a backup. A backup is a ZIP archive that FMSel creates, that contains for example savegames. The
Backup Type configures which files will be included in such a backup.
Only Saves and Shots The backup archive only includes savegames and screenshots.
All Changed Files The backup archive includes all files that have been changed*, added or removed**,
compared to the original install (i.e. the archive). Since screenshots and savegames are added files, these will
also be backed up. This option is useful if you modify files in the FM, like customize a config file, add an updated
OSM or even re-process the mission file with improved settings, and want all those changes restored the next
time you install the FM.
* Files whose modified time or size differ from the original file in the archive.
** Removed files are tracked so that when the backup is restored, they are removed again.
Install Options
Tasks
About
About box.
There are a few additional items in advanced mode, which is accessed by holding down CTRL while clicking the button.
No Auto-refresh
Disable automatic refresh of list after editing FM properties. Can be useful when editing a large number of FMs.
Save Db Now
Save database changes immediately. This is normally done when FMSel closes.
Filters
Item
Description
Name
Name filter. Only FMs whose names contain this string will be displayed in the list.
Min Rating
Minimum rating. Only FMs who have this or higher rating will be displayed. An asterisk (*) value means that the
rating filter is disabled.
Min Pri
Minimum priority. Only FMs with this or higher priority will be displayed. An asterisk (*) value means that the priority
filter is disabled.
Status
Status.
Show FMs that have not yet been completed.
Show FMs that have been completed.
Show FMs with a playthrough in progress.
Avail
Availability.
Show FMs that are available as archives but aren't currently installed.
Show FMs that aren't installed and aren't available as archives either.
Rel. Year
Release year (from - to). Only list FMs that have a release date within the specified range. The year is specified as a
two digit number (where 99 would mean 1999, 04 would mean 2004). If both the from and to fields are left empty
then the release date filter is disabled. You can also leave either the 'from' or 'to' field empty. Only specifying a 'from'
year will list all FMs that were released on that year or later, and only specifying a 'to' date will list all FMs that were
released that year or earlier.
Refresh list with regard to sorting and filtering. This can can come in handy after changing the status, rating or
priority of an FM. It doesn't automatically update the list after changing any of those because it may result in the item
disappearing from the list due to filtering, which can be annoying. For example let's say you've hidden all the FMs
that are completed and you just finished playing an FM that you want to rate and mark as completed. If filtering was
updated automatically the FM would disappear the instant you marked it as complete, but you might not be done yet
because you wanted to rate it and maybe add some notes and/or tags.
Reset all filters to default and clear all tag filters.
Tag Filters
Filter FMs based on tags. To add a tag filter click on Add Tag Filter >>, which will display a popup with all existing tags to select from. The popup can
be aborted by pressing ESC or clicking anywhere in the main window, outside of the popup.
The number displayed next to each tag is the total number of FMs in the database that have the tag. By default filters are added as an OR filter, by
holding SHIFT or ALT while clicking on a tag it will add it as an AND or NOT filter. See below for details on the different filter operations. To remove all
tag filters that you've added at once, you can use Reset Tag Filters in the upper right of the popup.
TAGS
The tag system is roughly similar to the ones that can be found on various web sites. It allows you to add any number of keywords to an FM, which can
be used to convey basic information or used to find FMs with specific traits in the database. Aside from simple keyword-like tags, FMSel also supports
what it calls tag categories, to group certain categories of tags. To specify a category you just start the tag with the category name followed by a colon,
and then the actual tag keyword.
For example the recommended tag category to use when specifying the FM's author(s), is author, so the tag for an author named Joe Smith would be
author:Joe Smith. If there are multiple authors for an FM, then you can just add multiple author tags.
The tag editor has a couple of tag and category presets, which are recommended in order to standardize the most common tags. The standardization
is useful so fm.ini files by different authors use the same tags for basic information, otherwise the tag database would become messy and make
filtering less useful.
Tag Editor
The tag editor is accessed through Edit Tags... (or Edit...) in the context menu (in the FM list). It provides two methods of adding tags. You can add
existing tags by clicking Add Tag >>, which will display a popup that's nearly identical to the one for adding tag filters, with all existing tags to select
from. The popup can be aborted by pressing ESC or clicking anywhere in the main window, outside of the popup.
The other method is to type it in manually in the input field and then press return (or click the button to the right of the input field). As you type, a
suggestion list may pop up with existing tags that begin with the same string. When you add the typed in tag, the editor will check for illegal characters
and formatting, and adjust the tag if necessary. If it had to adjust the tag it will not add it immediately, instead it will display the updated tag in the input
field, which allows you to review the change and accept it, by pressing return one more time, or to edit it further.
Important note to users of FMSel localized in other languages
Some tags may be localized when they are displayed, but internally they are still maintained in English. As a result, the Add Tag input
field, for manually adding tags, only works in English even if tags have translations. For example if the tag campaign is localized to
goosfraba. If you want to manually add that tag, using the the text input field, you have to type in campaign and not goosfraba.
The editor will attempt to automatically correct the input by translating the tag back to English if it can, but this is not guaranteed.
Below is a brief description of what the tag presets mean and what their intended use is.
Preset
author:
Category for FM author(s). If there are multiple authors then add several tags.
contest:
Category for FM contests. Specifies the contest name that an FM is part of, if it is a contest FM.
genre:
Category for genre(s) that an FM specializes in. If the FM does not specialize in any genre, in other words if it
represents typical gameplay of the game, then there's no need to add genre tags. That would only make it harder
for users to filter for specialized FMs.
language:
Category for language(s) supported by an FM. If multiple languages are supported then add several tags.
series:
campaign
Specifies that an FM is a multi-mission (consists of more than one mission file) FM.
demo
long
Specifies that an FM is noticably longer than an average mission. No specific numbers will be mentioned, but
think of it from a player's point of view, who feels like playing a mission that takes longer to finish than usual. With
the help of this tag they can filter the database to easily find such FMs.
other protagonist
Specifies that the protagonist/player is a character other than the one of the original game.
short
Specifies that an FM is noticably shorter than an average mission. The intended use for this is based on the same
reasoning as long, see description above.
unknown author
Specifies that the mission author is unknown. Mainly intended for use with contest FMs where the author is
secret.
LOCALIZATION / LANGUAGE
FMSel supports localization, so that the user interface can be translated to other languages. Translations are maintained in separate files (with .po
extension), one per language. If you have obtained such a file for the language of your choice, then place it in the same location as your fmsel.dll (i.e.
the game directory). Make sure it's named fmsel.po (without quotes).
If for some reason your FMSel DLL is named something other than fmsel.dll then the po file must have the same name. For instance if the DLL is
named fmsel-alt.dll then the language file must be named fmsel-alt.po.