Modding Glossary


  • -


  • -


  • 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


  • DSO : A short for Darkstar One. Another popular one is "DS1".


  • -


  • File Extensions

    • .lua file : LUA is the scripting language we use in DSO. All missions are scripted using LUA. See 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.
    • .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 .
  • 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


  • global.res : A resource file. Contains the strings used by DSO.


  • -


  • INI-Files:
  • Upgrades.ini : Contains information about upgrades for the ship.
  • StarSystem.ini : Contains information about every star system in the game.

  • planets.ini : Contains info about all fixed space objects (called "planets" here) in ALL star system.

  • 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:
  • Quote

    mod_name = Modding Tutorial ; name of the modification
    mod_desc = Simple modding example ; a brief(!) descriptionJ


  • -


  • -


  • -


  • 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.


  • -


  • -


  • -


  • -


  • -


  • 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.


  • Texture : Textures are images applied to a polygon or complete 3D Model. in DSO they are in .dds format.


  • user_strings.xml : Contains additional strings used by a DSO modification. This is human-readable and can be edited by worksheet programs like MS Excel. Needs to be converted into .res format before it can be used. Use the Ascaron delivered tool XML2ResConverter.exe to do so.
  • user_strings.res : A resource file. Contains additional strings used by a DSO modification. Is already converted and ready for use.


  • -


  • Wing : A logical group of ships. Contains a wingleader and wingmen. You can only assign orders to the whole group. In DSO all ships are also in a wing, even if there is just one ship inside.
  • Wingleader : Part of a wing. Each wing will have exactly one wingleader. If the wingleader is destroyed, you can rely on the wing having been eliminated.
  • Waypoints : Wings may be ordered to fly to certain positions in space. These are called waypoints. Waypoints are space objects that will trigger a script event if the player or a certain ship comes close enough. They have a position and a given radius. See also coordinates.


  • XML2ResConverter.exe: A tool to convert a user_string.xml to a user_strings.res. It needs to check the global.res to avoid overriding stringId's from the original game content.


  • -


  • -