|
This document describes the DETLEF server format, as used by Descent Manager DETLEF32.
These specifications were defined and written by Heiko Herrmann. Thanks a lot to Jeff "ZappaFan" Guynn for the great support.
Get Descent Manager DETLEF32 client software
Go to *.DET specs for advanced level information on DETLEF server sites
Support for DETLEF servers
|
Technical background information
|
A DETLEF server provides several (text) data files for the
DETLEF client application plus a logo file. These files can be anywhere on a HTTP or FTP
server, but of course the client application has to know the location. For Descent Level
Network this is the directory http://www.descent2.com/levels/detlef/
. Although not necessary it is recommended to put these files -as we do- in an own
directory, like /detlef. Please note, that these files do not need to be on the same
server as the level files. You can even switch protocols here (DETLEF on HTTP, the levels
on FTP) and you can spread your level files on several servers.
The client application now downloads these files (the logo
will only be loaded if needed) which contain the main information for each level available
on the server. The search query etc. is made by the client application using these files,
the DETLEF server has nothing to do with the search itself. This also means, that after
these files are downloaded, the search query can be made off-line as long as you don't do
an advanced search query.
Advanced search queries however need additional files.
These files have the extension .DET, standing for DETLEF or also DETails. This file has to
be in the download directory with the levels, not the DETLEF directory. However a DET file
is not necessary, the client application will just ignore levels that contain no DET file.
(These just cannot be queried, when doing Advanced search queries.) The DET files will be
downloaded then, when an advanced search query was initiated. To speed the thing up, only
those files are actually downloaded, that match non-advanced search settings. So if you
want to search for D2 anarchy levels by "Luke Schneider", newer than 100 days,
that contain 0 earthshakers, then only the DET files will be downloaded, that are actually
D2 anarchy levels by Luke Schneider, newer than 100 days. This pre-search is made using
the main DETLEF files. Also DET files are cached. So the next time the client application
needs a specific DET file, that is already downloaded, it uses the cache copy. Of course
this option can be turned off and also you can delete the current cache at any time in the
client application.
Summary: The DETLEF server does not need any special
requirements. It just must be able to get HTTP or FTP files. Not more. So you don't need
any Java, CGI or FrontPage rights on your server...
The DETLEF 02 file format is an extension of the original
DETLEF 01 file format, adding new features. Both specs are combined on this page. As soon
as something DETLEF 01 or 02 specific comes up it will be enclosed by lines looking like
this:
|
#DETLEF 01
specific START---
<text, that only applies to DETLEF 01
files>
#DETLEF 01 specific END--- |
|
#DETLEF 02
specific START---
<text, that only applies to DETLEF 02
files>
#DETLEF 02 specific END--- |
Note that only DETLEF Beta 02 clients and higher are able
to read DETLEF 02 files. DETLEF 01 files can be read by all versions of DETLEF.
|
The main DETLEF server definition files
|
|
#DETLEF 01
specific START---
Here is a short overview over the DETLEF server files, every
DETLEF-server needs (important: all of these filenames must be written in low-case!):
| detlef.inf |
Main DETLEF file. The
presence of this file defines the server as a DETLEF server. Contains general information
about the server and some alias definitions. |
| detlef.d1a |
List for Descent 1 Anarchy
levels available on the server. |
| detlef.d1b |
List for Descent 1
Architectural levels available on the server. |
| detlef.d1c |
List for Descent 1
Single-Player levels available on the server. |
| detlef.d1d |
List for Descent 1 Archives
(unsorted) levels available on the server. |
| detlef.d2a |
List for Descent 2 Anarchy
levels available on the server. |
| detlef.d2b |
List for Descent 2
Architectural levels available on the server. |
| detlef.d2c |
List for Descent 2
Single-Player levels available on the server |
| detlef.d2d |
List for Descent 2 Archives
(unsorted) levels available on the server. |
| detlef.jpg |
Logo for the site. Must be
in JPG format and of 400x100 size. |
If you don't provide for example Descent 1 Architectural levels,
simply provide an empty "detlef.d1b" file!
How you sort your levels into the four categories Anarchy,
Architectural, Single-Player and Archives is each's DETLEF web-admin's own decision.
However we recommended the "Archives" for usage of new levels, that you haven't
time to look at yet (to decide what type it is) and/or not really good ones (this is how
the Descent Level Network use the "Archives").
#DETLEF 01 specific END--- |
|
#DETLEF 02
specific START---
Since DETLEF 02 you are not fixed to the given
structure listed above anymore. So you can create own lists like one for "My
missions", one for "Best missions", one for "Cooperative
missions", one for "My friend X's missions" and one for "Other
missions". The lists are defined in two files called DETLEF.D1 and DETLEF.D2. (See
definitions for them here).
Here is the list of the DETLEF 02 files:
| detlef.inf |
Main DETLEF file. The
presence of this file defines the server as a DETLEF server. Contains general information
about the server and some alias definitions. |
| detlef.d1 |
Descent 1 list definition
file. |
| detlef.d2 |
Descent 2 list definition
file. |
| detlef.* |
List files with the
extensions you defined in the list definition files. |
| detlef.jpg |
Logo for the site. Must be
in JPG format and of 400x100 size. |
#DETLEF 02 specific END--- |
The detlef.inf file uses the common Windows-INI-format.
Please note that all caption-names and keywords are case-sensitive! Here is the
description of the sections:
|
#DETLEF 01
specific START---
If you are generating a DETLEF 01 site the line must
be "FileVersion=1".
#DETLEF 01 specific
END--- |
|
#DETLEF 02
specific START---
If you are generating a DETLEF 02 site the line must
be "FileVersion=2".
#DETLEF 02 specific
END--- |
Note: DETLEF Beta 02 and higher clients can both read from
both DETLEF 01 and DETLEF 02 servers, while DETLEF Beta 01-01d clients can only read from
DETLEF 01 sites.
[Archivers]
exe=rar x -c- -std -y %f
zip=pkunzip -o %f |
These lines define the command-line to launch for
extracting files, in dependancy of the file extension. %f stands for the file including
the path. Please note that the dearchiver needs to be in the [DETLEF32]\UNPACK directory,
and the DETLEF32 client application only installs PKUNZIP and RAR there. So if you want to
use a different one, you need to let the user install it in that directory, OR ask us to
include it next time.
As you might see we use RAR to extract EXE files. Of course
we could use "exe=%f" also, but this way a virus can't get active...
The extension is case-sensitive, so if you upload
"eXe" files, then you need to define "eXe"... Files types that are not
defined here force an error when trying to download them...
Also note that you should provide all switches to make the
unextracting automatic - deactivate all user inputs etc. . In our example we use
"-c-" switch for RAR to skip our comments we display for every download. Don't
forget: DETLEF32 is easily able to download and install 2000 missions, and you wouldn't
want it as user to press 2000x a key, do ya ;)?
[Site]
WebAdmin=Alexander Streule alias Assassin
Name=Descent Level Network
ShortName=DLN
Homepage=http://www.descent2.com/levels
eMail=Assassin@descent2.com
Logo=32768 |
This section provides information about you and your
web-server. Enter your name at "WebAdmin", the name of your homepage at
"Name", your direct URL to the homepage at "Homepage" and your
eMail-adress at "eMail". Please note, that you don't need to specify the page
which contains actually the levels you provide. The information here is only used with the
menu commands "View informations about the site", "Visit homepage" and
"eMail web admin" with your server active.
Very important is the "ShortName" key: Here you
specify which sub-directory will be used for list, cache and query files for your server.
Let's say someone has installed DETLEF32 to its default dir: C:\DMTOOLS\DETLEF32! Now if
you have set "ShortName=XYZ", the files will be saved into the directory
C:\DMTOOLS\DETLEF32\SITES\XYZ for default (the user can still change it). So it is
important a) to specify a directory name, that the chance is low that no other DETLEF site
wants to have and b) that the name has a maximum length of 8 characters and contains no
special characters like "\,./?*"!
The "Logo" key specifies the size of your logo
file. It must be exact and the logo must be in the DETLEF directory with the name
"detlef.jpg".
[SiteDesc]
Welcome to the Descent Level Network.
We generally divide levels into two categories: Sorted ones, that have been
tested by us for quality, and unsorted ones, that did not reach the status of
a quality level. The sorted ones are subsorted in Anarchy, Architectural and
Single Player ones. You can be sure, that when you download from any of these
sorted three categories, that these are great ones...
Descent 1 levels are not yet available here at the Descent Level Network, that
is one of our future plans.
Have fun and CU in the mines :)...
http://www.descent2.com |
Here you can specify a short description for your web-site,
that will be displayed when you click on "View informations of site" in the
"Sites" menu. You can specify up to 65535 characters here (including spaces and
carriage returns).
You can also provide a logo. Name it
"detlef.jpg" and put it in your DETLEF directory. The logo has to be of size
400x100, so you might first need to resize it to that size.
|
#DETLEF 01
specific START---
DETLEF 01 also has the alias directives in the
detlef.ini file => see below.
#DETLEF 01 specific
END--- |
|
#DETLEF 02
specific START---
The following entries are new to DETLEF 02:
[Modes]
D1=http://www.descent2.com/levels/detlef
D2=http://www.descent2.com/levels/detlef
F1=n/a |
These point to the directory to where the detlef.d1 and
detlef.d2 files can be found as well as the list files. This has been made out of three
reasons:
- You can store the DETLEF 02 inf file in a different
directory than the DETLEF 01 inf file while both pointing to the same list files. This
makes your site both DETLEF 01 compatible and you gain DETLEF 02 features. Note that
DETLEF 01 clients only can read from detlef.d1a to detlef.d2d file names.
- You can disable a game for your site. Your site has no D1
levels? Write "D1=n/a" instead then.
- You can store D1 levels incl. their lists somewhere else
than D2 levels. Maybe someone else administrates your D1 level database than the one who
administrates your D2 level database.
- Support for new games will come soon: FreeSpace (F1),
Descent 3 (D3) and FreeSpace 2 (F2) at least. Some groups (like DNet) have different
servers for each game. So that makes it important to also store the files somewhere
different.
- FreeSpace 1 (F1) support will be added in DETLEF 03.
Also -since DETLEF Beta 02d- the site admin can now make
announcements, which are listed in your DETLEF.INF file. See the caption "Announcements"
below for details.
#DETLEF 02 specific END--- |
|
#DETLEF 01
specific START---
In DETLEF 01 there are exactly 8 lists: 4 for each D1/D2
(Anarchy, Architectural, Single-Player, Archives). This is exactly how DNet has structured
its level databases at the Descent Level Network.
There are no list definition files in DETLEF 01.
#DETLEF 01 specific
END--- |
|
#DETLEF 02
specific START---
However, you might divide your level sections into different
cathegories, and thats why since DETLEF 02, you can create the lists like you want. This
is done by two new files: DETLEF.D1 and DETLEF.D2.
The
format of these is like this:
[General]
FileVersion=2
[Lists]
d2a,D2 Anarchy,1
d2b,D2 Architectural,2
d2c,D2 Single-Player,3
d2d,D2 Archives,4
[Alias]
1=
2=
3=
4=
5=http://www.descent2.com/downloads/levels/d2a
6=http://www.descent2.com/downloads/levels/d2b
7=http://www.descent2.com/downloads/levels/d2c
8=http://www.descent2.com/downloads/levels/d2d
9=
0= |
- [General]\FileVersion=2 indicates the file version.
- [Lists] lists the list files. In this example we just list
our DLN specific lists, so this one behaves like DETLEF01. Each list gets one line with
three parameters: the first one is the extension of the list file (e.g. DETLEF.D2A). The
second is a name/desciption of it to be displayed in DETLEF. The third one is the icon
displayed for each mission in that list: 1=Anarchy, 2=Architectural, 3=SinglePlayer,
4=Archives. 5-7 are reserved for FreeSpace icons (but not yet implemented).
- [Alias] is the list of aliases for this game. See
description of "Aliases" below.
#DETLEF 02 specific END--- |
The files detlef.d1a to detlef.d2d contain the complete URL
of each level to download. As these URLs will most time start with the same characters
(the server name + the directory), using alias numbers will make these files much smaller
and faster to download. You can define up to 10 aliases.
Example:
- Assume that all your levels are in the directory
"http://www.myserver.com/mydirectory/levels".
- Set the alias "2" to
"http://www.myserver.com/mydirectory/levels"
- So the complete name for crazyx.zip would be
"http://www.myserver.com/mydirectory/levels/crazyx.zip"
- Instead of that you can then write "2/crazyx.zip"
at the URL of this level.
Another advantage of using aliases is, that when you switch
servers later the only things you have to update are the alias names.
However you are not forced to use Alias names...
The place where to store the Alias names is:
|
#DETLEF 01
specific START---
In the DETLEF.INI file.
#DETLEF 01 specific
END--- |
|
#DETLEF 02
specific START---
In the file for the current game (e.g. D2 aliases are
in DETLEF.D2).
#DETLEF 02 specific
END--- |
The syntax is the same in both file versions:
[Alias]
1=http://www.descent2.com/download/levels/d1anarchy
2=http://www.descent2.com/download/levels/d1architectural
3=http://www.descent2.com/download/levels/d1siplayer
4=http://www.descent2.com/download/levels/d1archives
5=http://www.descent2.com/download/levels/d2anarchy
6=http://www.descent2.com/download/levels/d2architectural
7=http://www.descent2.com/download/levels/d2siplayer
8=http://www.descent2.com/download/levels/d2archives
9=
0= |
This is all what is currently used by DETLEF. However you
can add remark lines at any row. Just begin the line with a semicolon ";" and
you can write after this symbol whatever you want. However, the semicolon MUST be at the
first position of the line. You can NOT add a ";" after a line (like in "eMail=HHSoft@descent2.com ;my eMail-adress").
These files contain the list of all levels you provide. As
said before the allocation of the levels to the four categories is your job. The format of
each of these files is as follows:
Each line can be:
- Either a remark line (introduced with a semicolon
";" character)
- Or a blank line
- Or a level definition line.
Here is an example file with 3 list entries, that should be
enough to understand the format:
CRAZYX,Crazy X,5/crazyx.exe,1.01,Luke Schneider,Vizor,Luke Schneider,10,239,05/21/1997,08/18/1997,1,M
KAOSCTRL,Kaos Control,5/kaosctrl.exe,1.0,NuKE,NuKE,Jesse Cameron,6,310,11/11/1996,08/18/1997,0,M
ECLECTIC,Eclectic II,5/eclectic.exe,1.0,,,,5,217,,08/18/1997,0,
MIDGCOLL,Midgard Collection,5/midgcoll.exe,1.32,Midgard,Midgard,Dave Monson,8,821,10/01/1997/10/01/1997,0,T
ENTROPY2,Entropy 2,7/entropy2.exe,1.0,Luke Schneider,Vizor,Luke Schneider,6,865,11/27/1997,11/27/1997,2!,MRPB |
So you see, each level is listed with 10 informations,
seperated with commas each, in the following order:
| Parameter nr/name |
Descent 1/2 meaning |
FreeSpace 1 meaning |
| (1) HOG_NAME |
Name of the HOG-file without
the extension. |
Name of the FSM/FSC/VP file
without the extension |
| (2) MISSION_NAME |
Mission Name. |
Mission/Campaign Name. |
| (3) DOWNLOAD_URL |
URL-Location, either
complete or starting with an alias-nr. (warning: case-ensitive!). |
<- dito. |
| (4) REVISION |
Revision (e.g.
"1.0","1.01" and so on) |
<- dito. |
| (5) AUTHOR |
Name of the author as s/he
is usually called (some authors are better known with their real name (like Luke Schneider
and Dan Wentz) and some with their nick names (like Midgard and NuKE). |
<- dito. |
| (6) AUTHOR_REALNAME |
Realname of the author. |
<- dito. |
| (7) AUTHOR_NICKNAME |
Nickname of the author. |
<- dito. |
| (8) NUMBER_OF_LEVELS |
Number of levels in the
mission (including secret ones). |
Number of missions in the
campaign (if not a campaign, then =1) |
| (9) SIZE_OF_DOWNLOAD_FILE |
Size in bytes of the
download file (packed). Needs to be exact! |
<- dito. |
| (10) RELEASE_DATE |
Release date: when the
author released the mission. |
<- dito. |
| (11) POST_DATE |
Post date: when you have
post the mission on your page. |
<- dito. |
| (12) ICON_ATTRIBUTES |
to sign additional
attributes that show up in the icon that is used for this mission. See below... |
<- dito. |
| (13) FEATURE_ATTRIBUTES |
blank or any mix of the
characters "T",M","R","P","B", that specify
the features of the level. See below... |
blank or any mix of the
characters |
As you can also see in the example, values that you don't
know (like author name or the release date), can be just left out, by writing another
comma directly after the previous one.
Important: the dates must be specified in
the form MM/DD/YYYY. So "05/04/1997" would mean the 4th of May, 1997. Invalid
values would be "5/4/1997", "05-04-1997", 04.05.1997" and
"05/04/97".
Icon Attributes:
| 0 |
STANDARD_MISSION - Normal
(can also be blank then) |
| 1 |
GOOD_MISSION - Super Mission |
| 2 |
PERFECT_MISSION - Fantastic
Must-Have Mission |
| b |
BETA_VERSION - Beta version
of a mission: handle with care and check for a final soon |
| - |
BAD_MISSION - Bad mission |
| ! |
HANDLE_SPECIAL - (this one
must be specified after 0/1/2/b/-) Important! Has to be handled specially! Check out the
readme or description before using the mission.
Examples for proper usage of this attribute:
- Entropy 2 (the user needs Vertigo)
- EON X (special rules to play)
- Orion Nebula Project for D2 (need to start a batch file for full soundtrack) |
Feature Attributes:
|
Descent 1/2 meaning |
FreeSpace 1 meaning |
| T |
Features new texture(s) |
Features new texture maps |
| M |
Features new (MIDI) music(s) |
Features new (WAV) music(s) |
| R |
Features new robot-behaviour |
Features new TBL files,
editing ship and/or AI specs |
| P |
Features new
polygon-model(s) (of any kind) |
Features new
polygon-model(s) (of any kind) |
| B |
Features briefings (and a
story) |
Features full-voiced
briefing/debriefing (otherwise just text) |
| A |
n/a |
Features custum animations
(ANI) |
| S |
n/a |
Features new voices |
| C |
n/a |
Is a Campaign |
You can specify up to about 2.000.000.000 missions, so
you don't need to pay attention on letting the list grow too big :)...
|
#DETLEF 02
specific START---
Starting with Beta 02d, DETLEF supports displaying
announcements, which the DETLEF site admin can define. These announcements can contain
DETLEF news, site news and announcements for new big level sets. Each announcement can
link to a webpage. After a user has seen an announcement, the DETLEF client saves this and
will not show it again.<(p>
To make an
announcement, first make a new caption [Announcements] in your DETLEF.INF file. Each entry
now consists of the name of the caption where the text for it is listed in this inf file,
and optionally a webadress, which the user will get to, if he clicks on "Click here
for more information". The third parameter is a short header. It is used for DETLEF
03's upcoming history feature, where you can see old announcement messages again (Beta 02d
will not use it).
Note that each
announcement caption name must be unique, otherwise DETLEF might remember it as already
being read. It must be even unique for ALL DETLEF sites, so best is you use a name
containing your site name and a number, like DBs_SuperLevelServer001,
DBs_SuperLevelServer002, etc. Here is an example announcement:
[Announcements]
DBs_SuperLevelServer001,,Server updated to DETLEF 02!
DBs_SuperLevelServer002,http://www.dbs-superlevelserver.net/supermission,New great mission
released!
[DBs_SuperLevelServer001]
Hey, my site is not DETLEF 02 compatible. Hope you like the new features :).
[DBs_SuperLevelServer002]
I have released a very cool mission called "SuperMission". It has a lot of
custom bots, great music, and much more. Have a look at its features and details by
clicking on the "More information" button below and then be sure to download and
install it right via DETLEF. |
You can create as many announcements as you want, DETLEF
shows all of them to the user after he updated the list files, that he did not yet see. Of
course you should not make too many announcements at once, since that might upset the user
and logoff your DETLEF site. So only post important announcements once in a while. Do not
announce usual updates, like "uploaded this and that level", since new missions
since hie last update are shown bold anyway. If you think an announcement expires (you
don't want it to be shown to any new user) then simply delete the caption and the entry in
your [Announcement] caption.
DETLEF 02, 02b and 02c will simply ignore your
announcements. However as soon as the user installs 02d he will get them all.
#DETLEF 02 specific END--- |
DET files are used for extended level information (like the lists of available weapons)
and for advanced search queries, like "search
all missions with 0 earthshakers and at least 4 anarchy player-starts". DET files
have to be in the same directory as the level download file and has to have the same
filename. For example crazyx.zip would have a crazyx.det (warning: case-sensitive!) in the
same directory. Each mission has its own DET file. In multi-level-missions contain the sum
of each item in the levels (so if 2-level-mission has 2 afterburners in level 1 and 1
afterburner in level 2, the value of afterburners would be "3").
DET files are not needed for a DETLEF server. You do not
need to support the advanced search queries. You can even decide that some levels have DET
files and some not. An example would be letting all Archives levels have no DET file. All
levels that do not contain a DET file are simply excluded from advanced search queries.
DET files are automatically made by the LVLREP and soon
also LVLREP32 modules of the Descent Manager. For the DOS version LVLREP you need V1.0
Alpha 01 Build 03 or higher, as available with the DETLEF Server Tools. To make DET
files specify the /DET switch. For example LVLREP /DET *.MN2 will make DET files for all
missions in the current directory. Then just upload the DET files into the directory with
your level downloads to enable this feature.
Go to *.DET specs for advanced level information on DETLEF server sites
The recently released Beta 04 of the DETLEF32-client adds some new features, which
for which however support from the server-side must be added. It is not required
to add support for them on your website, so you can decide yourself, which of
them you want to support, and which not.
List caching
Updating the mission lists from a server does take some time, updating the
lists from all registered servers at once does take a long time. So wouldn't it
be good to only let the client download the whole lists from your server if
something has changed at all since his last update? DETLEF Beta 04 and higher
does this by checking the values in the DETLEF.INF file under [CacheLists].
Each game gets an own entry named "LastUpdate_D1" for D1, "LastUpdate_D2" for
D2, and so on. The trick is the following: If the value for a LastUpdate_** key
is the same in both the previously downloaded (locally cached) INF file and the
just downloaded INF file from the server (the INF file will be downloaded in any
case!) this game will be completely skipped. So add the following to your DETLEF.INF:
[CacheLists]
LastUpdate_D1=1
LastUpdate_D2=1
LastUpdate_D3=1
LastUpdate_F1=1
LastUpdate_F2=1
Now every time you update one or more lists or the game definition file of a game,
increment the value of the appropriate LastUpdate_** key. Alternatively to just
numbers you can use the date of the last change or anything else (you are not limited
to numerical characters either, you can use any string you want). Just make sure
it *changes* each time you change a list to a new value. Note: if either the
local version or the online version contains an empty value or does not exist,
this feature is turned off for this game or the whole site and the lists are
*always* completely downloaded. So you can always turn this feature off on your
site if you see later that it takes too much time for you or you forget too
often to update it. However you should never forget that this feature can save
a lot of time and nerves on the client side and you want that people browse
your site often, don't ya :)?
Compressed Lists
The above feature lets you minimize the amount of unneccessary list downloads.
It however does not speed up when an update happens on the lists (at least not
for the one game whose lists were updated). And the first startup list download
for a new DETLEF client user still takes a lot of time. This is what the
new "Compressed Lists" feature takes care of. The server can provide a compressed
file for each game that contains the game definition file (e.g. detlef.d3) and
all of its list files (e.g. detlef.d3a to detlef.d3e). This will not only halve
the number of downloaded bytes for the lists, it will also speed it up some more
since e.g. 5 files of 10 kB take a lot more download over a network than one
50 kB file (because of the file request header overhead).
To support this, all you have to do is to a) add the following to your INF file:
[CompressedLists]
D1=pd1
D2=pd2
D3=pd3
F1=pf1
F2=n/a
(we have "n/a" for F2, since we don't have F2 missions and lists for now) and
b) pack the d1, d1a, d1b, ... files in detlef.pd1, etc. using WinRAR. Note:
the contra of this feature is that you will have to update both the list files
and the compressed file(s) where a change occured each time you update your lists.
So again you may want to evaluate if you want to take this little extra time to
provide your visitors some service... You can always take the [CompressedLists]
off of your INF file later again, if you decide to not support it any more.
Installation Points
While the new features above improve the update speed, this last new feature
adds something to the ease of installation of special missions and MODs.
Normally DETLEF downloads missions and installs all downloaded missions to a
pre-defined installation directory, which is for example the MISSIONS subdirectory
in Descent 2 and 3. However some missions/MODs need to be installed somewhere
else, e.g. a MOD might be installed right into the games' root dir or one of
the other subdirectories of the game. You can now specify for each mission you
provide where DETLEF shall extract the files to. Alternatively you can tell
DETLEF to not extract the files but to launch them instead after download, like
self-extracting EXEcutables that contain a Setup routine which is needed to
install the mission/MOD.
Add a new section [Install] to your game definition file, e.g. detlef.d2 for Descent 2.
Now list up every mission that needs to be handled specially in the format
\={,,...}. For example:
d2c\EAF2=OPERATION_EXECUTE lets
the mission EAF2 in the list detlef.d2c be installed by just executing the file
eaf2.exe. Here is a parameter description: can be * to include
all missions in a specific list (e.g. "d3e\*=OPERATION_EXTRACT,$gamerootdir\NETGAMES").
can be OPERATION_EXTRACT for normal extraction the old-style (2nd
parameter is the directory then, where $gamerootdir stands for the games' root
dir, so that $gamerootdir\MISSIONS for example specifies the MISSIONS subdir
of the game),
OPERATION_EXECUTE to start the downloaded EXE file (2nd parameters can be
command-line switches to be posted to the application) or OPERATION_COMMAND
which call a command (2nd parameter, use %f in the command as the variable to
be replaced by the mission download file). Also note that *= specifies the
default operation for all other missions, which you only need to override if
you don't want the hard-coded default (which is MISSIONS dir for D2/D3 and
the game's root dir for D1/F1/F2).
|