Modding
Mods are packages of files that change The Last Starship in some way. These packages match the `main.dat` file structure to overload specific files. Mods can change game textures, default ships, and adjust system interactions.
Using mods
To install a mod, unzip the mod package into the game directory (C:\Program Files (x86)\Steam\steamapps\common\The Last Starship
for Steam). If done correctly, you should end up with a data
directory containing the mod files.
Creating mods
Texture packs
- The texture files for the game are still changing regularly. Any texture pack mods may need to be updated with each game release.
To create new textures for the game, it is recommended to create new sprite sheets and only override spitebank.txt
. This should allow multiple texture packs to co-exist once stronger mod tooling has been developed.
Sprites define their textures as below:
BEGIN Sprite Name Engine Image sprite-bank.png BEGIN Frames Size 2 BEGIN "[i 0]" X 2160 Y 300 Width 840 Height 480 ExtendLeft 123 ExtendRight 1 ExtendUp 250 END BEGIN "[i 1]" X 4140 Y 60 Width 840 Height 480 ExtendLeft 135 ExtendRight 1 ExtendUp 2 END END BEGIN Markers Size 13 BEGIN "[i 0]" Name Activation X 2544 Y 239 Width 198 Height 40 END BEGIN "[i 1]" Name FuelBuffer X 2544 Y 318 Width 201 Height 36 END BEGIN "[i 2]" Name Terminal1 X 2963 Y 448 Width 30 Height 92 END BEGIN "[i 3]" Name Terminal2 X 2969 Y 326 Width 19 Height 98 END BEGIN "[i 4]" Name GlowOn1 X 2177 Y 575 Width 186 Height 164 END BEGIN "[i 5]" Name GlowThrust3 X 2097 Y 132 Width 146 Height 356 END BEGIN "[i 6]" Name GlowThrust1 X 2046 Y 467 Width 90 Height 145 END BEGIN "[i 7]" Name GlowThrust2 X 2069 Y 612 Width 69 Height 70 END BEGIN "[i 8]" Name GlowOn3 X 2524 Y 368 Width 244 Height 275 END BEGIN "[i 9]" Name GlowOn4 X 2627 Y 156 Width 64 Height 64 END BEGIN "[i 10]" Name GlowOn5 X 2876 Y 312 Width 34 Height 220 END BEGIN "[i 11]" Name GlowThrust1 X 4083 Y 119 Width 141 Height 360 END BEGIN "[i 12]" Name GlowOn1 X 4519 Y 162 Width 229 Height 293 END END BEGIN State Frames [0] END BEGIN State Name Exterior Frames [1] END END
The Name field of the sprite must match the name of the item used in the game. The Image field must be an image inside the sprites
data folder. Frames define textures for different rotations and state the item may appear, while Markers define effects on the item.
Translations
- An existing fan translation project needs support. Please consider contributing to it instead of creating your own.
To add a new language, create a new directory in data\language
with the name of the language (e.g.: latin
). The name of the folder will be used for the selection menu in the game. Inside this folder, create the file language.txt
to contain all of the strings for the language.