Modding: glossary
Modding glossary
A
B
C
Camera Lib : Collection of helper functions concerning in-game cameras.
Coordinates : Within a star system, DSO always uses the same coordinate system:
The tradestation is at position (0,0,0) and the hypergate is at position (0,0,10000). Most of the action will happen along this path.
Alignment is following:
Assume you are the tradestation and looking at the hypergate.
- X is right
- Y is upwards
- Z is towards the hypergate
D
DSO : A short for Darkstar One. Another popular one is "DS1".
E
F
File Extensions
.lua file : LUA is the scripting language we use in DSO. All missions are scripted using LUA. See Lua.org for lua basic tutorials and here for a reference of available commands.
.bin file : Binary file. This file has been processed so that it is not human-readable anymore. DSO reads them during startup. If it cannot find a .bin file then the associated .ini files are opened and coverted into .bin format. Lua files also get converted into .bin format. The resulting file is the missions.bin.
.ini file : Initialization files. They are human-readable. Use a text editor to edit them. They are usually kept within .cpr files
.cpr file : A compressed (archive) file. Can be opened using various decompression utilities.
.dds file : Direct Draw Surface format. An image format used in DSO for textures and in screens. To make use of them, use either the DirectX Texture tool coming with the DirectX SDK or a plugin for the graphics program of your taste.
Have a look at those sites:
MSDN: DXTech - Microsofts DirectX Texture Tool (included in the DirectX SDK)
MSDN: DDS FileFormat (technical article)
MSDN: Using Compressed Textures (technical article)
DevIL - OpenSource image library, supporting .dds
NVidia Texture Tools
NVidia .dds - Photoshop PlugIn for .dds
3DSMax Plugins
ATI Compressonator
.dss file : Our savegame format. Each modification will contain an own set of savegames to avoid confusion. Savegames can be hacked but not modded. We do not provide support for hacked savegames .
G
global.res : A resource file. Contains the strings used by DSO.
H
I
INI-Files:
Upgrades.ini : Contains information about upgrades for the ship.
StarSystem.ini : Contains information about every star system in the game.
Example:
planets.ini : Contains info about all fixed space objects (called "planets" here) in ALL star system.
(This planet is the central orbiter, so the timesteps are 0 each)
darkstarmod.ini : Contains info about the particular DSO mod. One file is needed inside every mod's subdirectory inside the "Customization" directory. Contains two parameters:
K
L
M
Model : 3D objects created by a 3D program.
Mission : Missions are scripted, not programmed. Thus they can be altered or created without having to recompile the game executable. This makes modding possible. Missions appear at different places in the game. There are terminal missions, missions started by the storyline, missions starting in free space and missions that are always active. More details will follow.
Mission Lib : Collection of helper functions not contained in any of the other scripting namespaces.
N
O
P
Q
R
S
Script : Missions are scripted using the scripting language LUA. The original retail scripts are converted into the file missions.bin. Sources to them are not public.
script event : Also know as trigger. Scripts can react to certain events like destroyed ships, the player entering a system or a timer running down.
script function : Scripts can call various functions to interact with the world. Examples are creating wings of ships, giving wings new orders or starting voice messages or cameras.
scripting namespaces : Hard-wired code collections available for scripting use. Each does contain a number of useful scripting functions. The namespaces are: math, lua, NStarSystem, NPlayer, NWing, NShip, NGroupAi, NCamera, NComm, NMission, NScript, NWaypoint, NObject, NContainer, NTerminal, NNPC, NGUI, NSound, NVector, NDebug. "math" and "lua" are original lua code collections. More details to follow.
stringId : A name for a string that is used by the program instead of the text itself. StringId's are placeholders.
T
Texture : Textures are images applied to a polygon or complete 3D Model. in DSO they are in .dds format.
Edited by - SWAT_OP-R8R on 2/3/2007 2:26:58 AM
A
B
C
Camera Lib : Collection of helper functions concerning in-game cameras.
Coordinates : Within a star system, DSO always uses the same coordinate system:
The tradestation is at position (0,0,0) and the hypergate is at position (0,0,10000). Most of the action will happen along this path.
Alignment is following:
Assume you are the tradestation and looking at the hypergate.
- X is right
- Y is upwards
- Z is towards the hypergate
D
DSO : A short for Darkstar One. Another popular one is "DS1".
E
F
File Extensions
.lua file : LUA is the scripting language we use in DSO. All missions are scripted using LUA. See Lua.org for lua basic tutorials and here for a reference of available commands.
.bin file : Binary file. This file has been processed so that it is not human-readable anymore. DSO reads them during startup. If it cannot find a .bin file then the associated .ini files are opened and coverted into .bin format. Lua files also get converted into .bin format. The resulting file is the missions.bin.
.ini file : Initialization files. They are human-readable. Use a text editor to edit them. They are usually kept within .cpr files
.cpr file : A compressed (archive) file. Can be opened using various decompression utilities.
.dds file : Direct Draw Surface format. An image format used in DSO for textures and in screens. To make use of them, use either the DirectX Texture tool coming with the DirectX SDK or a plugin for the graphics program of your taste.
Have a look at those sites:
MSDN: DXTech - Microsofts DirectX Texture Tool (included in the DirectX SDK)
MSDN: DDS FileFormat (technical article)
MSDN: Using Compressed Textures (technical article)
DevIL - OpenSource image library, supporting .dds
NVidia Texture Tools
NVidia .dds - Photoshop PlugIn for .dds
3DSMax Plugins
ATI Compressonator
.dss file : Our savegame format. Each modification will contain an own set of savegames to avoid confusion. Savegames can be hacked but not modded. We do not provide support for hacked savegames .
G
global.res : A resource file. Contains the strings used by DSO.
H
I
INI-Files:
Upgrades.ini : Contains information about upgrades for the ship.
StarSystem.ini : Contains information about every star system in the game.
Example:
[System000 ;
Artefakt = 0 ; > 0, if there is an artifact inside the system
Bedroht = 0 ; > 0, if occupied by pirates
Bürger = 3.600000 ; population, counted in billions
Cluster = 0 ; index of the cluster this system belongs to
EnergyLevel = 0 ; determines the type of energy particles floating around
Faction = 1 ; pirate system
Function_X1 = 0 ; X1 value
Function_X2 = 3 ; X2 value
Function_X3 = 5 ; X3 value
Function_Y = 0 ; minimal level
NachbarRegel = 10 - 10 ; system becomes visible as soon as one of these systems is entered
Piratengang = 65535 ; index of pirate gang
Planeten = 2 ; number of planets in system
PosX = 4.500000 ; x position on map
PosY = 17.799999 ; y position on map
Produktion1 = 0 ; coal hydrates
Produktion2 = 1 ; proteins
Produktion3 = 3 ; plants
Produktion4 = 12 ; pharma
Produktion5 = 23 ; drugs
Produktionsfaktor = 0.920000 ; production factor
Regierung = 3 ; government
Sichtbarkeitstyp = 2 ; visibility type (2=made visible by neighbor)
StarLightId = 3 ; star light index (3=anarchy)
UniqueItem = 0 ; > 0, if an unique item is present
planets.ini : Contains info about all fixed space objects (called "planets" here) in ALL star system.
[Globals ;
Planetenanzahl = 5969 ; Number of planets in the whole ini file. May be greater but NOT smaller than the actual count!
Sternenanzahl = 403 ; Number of star systems that this ini file has stored planets for. Again, must be at least the actual count!
[Planet000_000 ; First index: star system index, second index: planet index within star system
Model = 3 ; Id of the 3D model to show for this orbiter
Orbitart = Sonne ; orbiter type ("Sonne" = "Sun"
Position = 464831.531250 / 1936431.875000 / 499874.875000 ; X, Y and Z Position in meters.
Radius = 20000.000000 ; Radius in meters
RotationSteps = 0 ; Timesteps needed for a complete rotation about its axis
SystemId = 0 ; Index of star system this belongs to
UmlaufSteps = 0 ; Timesteps for one complete circulation around the central orbiter
(This planet is the central orbiter, so the timesteps are 0 each)
darkstarmod.ini : Contains info about the particular DSO mod. One file is needed inside every mod's subdirectory inside the "Customization" directory. Contains two parameters:
[darkstarmod
mod_name = Modding Tutorial ; name of the modification
mod_desc = Simple modding example ; a brief(!) descriptionJ
K
L
M
Model : 3D objects created by a 3D program.
Mission : Missions are scripted, not programmed. Thus they can be altered or created without having to recompile the game executable. This makes modding possible. Missions appear at different places in the game. There are terminal missions, missions started by the storyline, missions starting in free space and missions that are always active. More details will follow.
Mission Lib : Collection of helper functions not contained in any of the other scripting namespaces.
N
O
P
Q
R
S
Script : Missions are scripted using the scripting language LUA. The original retail scripts are converted into the file missions.bin. Sources to them are not public.
script event : Also know as trigger. Scripts can react to certain events like destroyed ships, the player entering a system or a timer running down.
script function : Scripts can call various functions to interact with the world. Examples are creating wings of ships, giving wings new orders or starting voice messages or cameras.
scripting namespaces : Hard-wired code collections available for scripting use. Each does contain a number of useful scripting functions. The namespaces are: math, lua, NStarSystem, NPlayer, NWing, NShip, NGroupAi, NCamera, NComm, NMission, NScript, NWaypoint, NObject, NContainer, NTerminal, NNPC, NGUI, NSound, NVector, NDebug. "math" and "lua" are original lua code collections. More details to follow.
stringId : A name for a string that is used by the program instead of the text itself. StringId's are placeholders.
T
Texture : Textures are images applied to a polygon or complete 3D Model. in DSO they are in .dds format.
Edited by - SWAT_OP-R8R on 2/3/2007 2:26:58 AM