From OpenTTD
Jump to: navigation, search
External Links

OpenTTD GitHub
Contributing to OpenTTD - guidelines
OpenTTD Doxygen

General Reference

Coding style
Compiling OpenTTD
Add a setting
Add a squirrel function
Understanding the SaveGame handler
Bumping the savegame version
Doing an OpenTTD release

Language and Strings

Format of langfiles
Using OpenTTD strings
List of special strings

Window System

Using the window system
Colour codes that exist in OpenTTD
Adding a text box
Understanding the widget focus system
GUI style guide


The OpenTTD TCP protocol
The OpenTTD UDP protocol
Debugging desyncs
Server Admin Port development

Ingame Console

The console window
Console commands
Console variables
Using console scripting
Adding functions/commands to the console
Adding variables to the console
Console development history

Content APIs (modding frameworks)

Graphics and similar (NewGRF)
AI framework (NoAI)
GameScript framework (NoGO)

Other Reference

Map array (landscape grid)
Train acceleration

Note: This is just a rough overview of what to do if you want to bump to a new savegame. I myself am not very experienced and hope some more experienced person will complete this to a minimalistic guide on how to create a new savegame version.

Important locations in the code to look at, when you want to do a savegame bump:

  • saveload.cpp:40
    • extern const uint16 SAVEGAME_VERSION = 103; // increase by one
  • openttd.cpp:AfterLoadGame(...) // use this to do default variable settings if a older save game was loaded
  • have a look at all the references of the class SaveLoad. Use SLE_ macros to add your variables to save
Personal tools