1. Add-on or game profile?..
2. *.KSP game profile format
3. *.KSA add-on profile format
1. Add-on or game profile?..
There is a very short list of general rules that you should follow
if you want to make MOD/FX set with support of KS2 features:.
If you want to create a model, visual effect, or alter the behavior
of game objects, you should make *.KSA add-on profile for your work.
If you want to create a set of new levels, replacing the standard
episode or its part - you should make *.KSP game profile.
The difference: *.KSP profile adds a new line to list of games
(doom, heretic, etc.), where *.KSA profile adds a new line to the list
of add-ons which could be atached to specific games.
Also note, that if you want the combined functionality, there is
such *.KSP featue, as add-ons, attached by force which could be used to
keep additional configuration data (look in the corresponding section)
And do NOT use *.KSP and *.KSA filenames containing spaces!
[New in 2.09] KickStart automatically
moves all *.KSPs, *.KSAs and *.KSLs to the ..\kicksprofiles\ folder. But
it also does the file date check and will never replace the newer
file with the older one. So if you see that after starting KickStart any
of the profiles left in the root Doomsday folder, it means, that there is
newer version of that file in the ..\kicksprofiles\ folder!
[New in 2.10] Added PK3 and DEHsupport ("PK3_List"
and "deH_List" parameters for KSPs and KSAs)
*Note: you can freely omit any parameters you don't use. They will be
treated as empty by INI reader. For example, :
[Addon]
Name=BFG MOD #1 (realistic)
Profiles_To_Apply=sharedoom doom doom2 plut tnt
Ded_List=defs\jdoom\bfgmod.ded
Class=bfgmod
Story=Makes BFG a bit more ..blablablablabla
2. *.KSP game profile format
In general, this is Win3.11 *.INI format (i.e. plain text). :)
Example 1, profile for DooM
II: doom2.ksp
[Profile]
Name=DooM II: Hell on Earth
DLL=jdoom.dll
Runtime_folder=jdoom
Definitions_folder=jdoom
WAD_List=doom2.wad
DED_List=jdoom.ded
Treat_As=
Order=C
Doomsday=Doomsday.exe
Story=Doom 2 is the successor to DooM.\nIt was released on December
10, 1994. The really noticeable difference with \nDoom is the level design,
one new weapon (the super shotgun) and a bunch of \nnew monsters: Chaingun
guy, Hell Knight, Arachnotron, Pain Elemental, \nRevenant, Mancubus and
the Arch Vile. \n\n..And, of course, higher system requirements - due to
more complex levels and \nlarger packs of monsters.\nThis applies to jDoom
too
Example 2, profile
for Boomsday demo: boomsday_test1.ksp
Note that "DLL" parameter here is empty. This is because the game
DLL is defined in the boomsday_d1.ksa addon profile (attached by force)
[Profile]
Name=Boomsday large demo
Force_Use_Addons=boomsday_d1
DLL=
Runtime_folder=jdoom
Definitions_folder=jdoom
WAD_List=doom2.wad
DED_List=jdoom.ded
Treat_As=doom2
Order=F
Doomsday=
Story=This is the large demo ... \nblablabla, etc.
"Name" parameter
This is how this game profile will be visible in the list.
"Force_Use_Addons" parameter
List of add-on names (i.e. file names without extensions) separated
by spaces. If there is add-on profile with such name, it will be attached
automatically and user will be not able to detach it (the checkbox will
be checked and grayed)
"DLL" parameter
Specifies the game DLL. If no path is given, the \bin path will
be used.
"Runtime_folder" parameter
Specifies the game runtime folder, relative to \run folder.
"Definitions_folder" parameter
Specifies definitions path (relative to \defs folder) which will
be used, if no path is specified in definition file names
"WAD_List" parameter
Specifies the list of WAD files required to run this game. The
first in this list should be IWAD file. Separated by spaces.
"DED_List" parameter
Specifies the list of DED files required to run this game, separated
by spaces. If filename contains no path, the path from the "Definitions_folder"
parameter will be used.
"PK3_List" parameter
Specifies the list of PK3 files required
to run this game, separated by spaces. Paths are relative to the Doomsday
folder. If no path is speciied, then Data folder of current game is used
"deH_List" parameter
Specifies the list of DEH files (DeHackEd patches) required to run this
game, separated by spaces. Paths are relative to the Doomsday folder. If
no path is speciied, then Data folder of current game is used
"Treat_As" parameter
When KS2 will check for adons which can be attached to this game
profile, it will also allow all add-ons designed for profile which name
is defined by this parameter
"Order" parameter
Should be a single letter. When KS2 sorts list of profiles, it
takes profile file name, adds "Order" letter in front of it, and then sorts
them alpabeticaly.
There are used: "B" for DooM, "I" for Heretic and "P" for Hexen
"Doomsday" parameter
Specifies the Doomsday executable. If you will leave this parameter
empty, then "bin\Doomsday.exe" will be used. If no path is specified, then
"bin\" path will be used
"Story" parameter
This is what will be on the "About" tab. Story should be the one
single line, but you can use \n in it to mark line breaks.
3. *.KSA add-on profile format
This is the plain text too. :)
Example 1, add-on profile for the medium rocket smoke trails: RocketTrailMedium.ksa
[Addon]
Name=Medium rocket smoke trails
Profiles_To_Apply=sharedoom doom doom2 plut tnt
Command_Line=
Ded_List=defs\jdoom\RocketTrailMedium.ded
Wad_List=
PK3_List=
deH_List=
PK3_List=
Runtime_Folder=
Definitions_Folder=
Doomsday=
DLL=
Do_not_use_standard_definitions=0
Class=rockettrail
Conflicts=
Story=Medium rocket smoke trails - a trade-off between speed and visual
quality
Example 2, add-on profile for the Boomsday: boomsday.ksa
[Addon]
Name=Use the Boomsday engine instead of Doomsday
Profiles_To_Apply=sharedoom doom doom2 plut tnt
Command_Line=-ud *
ded_list=
wad_list=DATA\BOOMSDAY.WAD
Runtime_Folder=
Definitions_Folder=
Doomsday=bin\boomsday.exe
Alterate_Renderers=bin\drBDOpenGL.dll bin\drBDd3d.dl
DLL=bin\jBoom.dll
Do_not_use_standard_definitions=0
Class=boomsday
Conflicts=
Story=The Boomsday engine
Example 3, add-on profile for the Boomsday demo: boomsday_d1.ksa
[Addon]
Name=Configuration for Boomsday large demo
Profiles_To_Apply=boomsday_test1
Command_Line=-ud *
ded_list=
wad_list=DATA\BOOMSDAY.WAD BDTEST\PWADS\BOOM3DdemoV8.wad
Runtime_Folder=
Definitions_Folder=
Doomsday=bin\boomsday.exe
Alterate_Renderers=bin\drBDOpenGL.dll bin\drBDd3d.dl
DLL=bin\jBoom.dll
Do_not_use_standard_definitions=0
Class=boomsday_d1
Conflicts=boomsday
Story=This component is required by the Boomsday large demo and cannot
be disabled
"Name" parameter
What to say here?..
"Profiles_To_Apply" parameter
Specifies the list of profiles to which this add-on could be attached.
Contains profile file names without extensions, separated by spaces.
"Command_Line" parameter
It is the most powerful tool you have, because here you can write
any Doomsday command-line parameters. Note, that asterisk symbol ("*") will
be replaced with the Doomsday folder path. i.e. "-f *\hell\hole.wad" will
turn to "-f C:\Doomsday\hell\hole.wad", or something similar, depending on
folder to which the Doomsday is installed.
"ded_list" parameter
List of DED files, used by your add-on. Paths should be relative
to Doomsday folder. Separated by spaces.
"wad_list" parameter
List of WAD files, used by your add-on. Paths should be relative
to Doomsday folder. Separated by spaces.
"PK3_List" parameter
List of PK3 files, used by your add-on. Paths
are relative to Doomsday folder. Separated by spaces.
"deH_List" parameter
List of DEH files (DeHackEd patches), used
by your add-on. Paths are relative to Doomsday folder. Separated by spaces.
"Runtime_Folder" parameter
Redefines the corresponding parameter from game profile, if necessary.
Or leave it empty.
"Definitions_Folder" parameter
Same story.
"Doomsday" parameter
Redefines the Doomsday executable, defined in the game profile.
Path should be relative to Doomsday folder.
"Alterate_Renderers" parameter
If your MOD uses its own renderer DLLs, they should be listed here.
I added this in order to make Boomsday work.
"DLL" parameter
Redefines game DLL defined in the game profile
"Do_not_use_standard_definitions" parameter
If set to 1, then definitions listed in the game profile in the
"DED_List" will not be attached.
"Class" parameter
A simple string, intended for compatibility checking.
Currently only there are used (although you may use any string
you wish):
altzombie for my alternate monsters,
boomsday
for boomsday engine,
moreblood for my MoreBlod! effects set,
rockettrail for rocket smoke trails,
fxfireballs
for 3d fireballs set.
Matter is that two or more add-ons of same class canot be attached
simultaneously, thus this feature is great fot things that have variants.
And, if you will invent a new class, please send it to me, to publish
here.
And, please, do NOT use class names containing spaces!.. There
is no checking for this, but this could cause problems in the future (see
section below)
"Conflicts" parameter
Contains a list of classes or add-on IDs (file names without extensions),
separated by spaces. If this add-on will be attached, then any conflicting
add-ons will be automatically detached (see example with the boomsday.ksa
and boomsday_d1.ksa which disables its usage). Due to bug, this does not
work properly in early KS versions (2.07 and below). Corrected since 2.08
"Story" parameter
Same story as with the game profiles, but it should be short -
there in KS2 are only few lines to display it