Patch Checklist

From OpenTTD
(Difference between revisions)
Jump to: navigation, search
(added "List of patches" to "See also" section)
Line 27: Line 27:
**Other tips
**Other tips
==See also==
* [[List of patches]]

Latest revision as of 09:49, 13 July 2011

HAL (Hardware Abstraction Layer)


Window System

Using the Window System
Colour codes that exist in OpenTTD
Adding a text box
Understanding the widget focus system


Add a setting
Add a squirrel function
Do a savegame BUMP

The Map / Scenario

Understanding the Dynamic Landscape Array
Understanding the SaveGame Handler
HOWTO - Create good Scenarios
HOWTO - Add New Town Name Generators

The actual simulation

Using Orders
Train Acceleration

Language and Strings

Format of langfiles
Using OpenTTD Strings
List of Special Strings


The Core Interface

Starting a Server
Connecting to a Server
Using the list of LAN/Internet Games

The OpenTTD TCP Protocol
The OpenTTD UDP Protocol
HOWTO - Debug desyncs

Ingame Console

The Console Window
Using Console Scripting
HOWTO - Add Functions/Commands to the Console
HOWTO - Add Variables to the Console
HOWTO - Direct Variable Access using ICONSOLE_VAR_POINTER
OpenTTD Console Commands
OpenTTD Console Variables
Development History

[edit] Checklist for patches

  • Stability – keep it stable
    • No known bugs
    • No known network desyncs
    • Checked by other people
    • Checked in full length game
  • Complexity – keep it simple, straightforward, and easy to understand
    • Only one new feature per patch
    • Complex algorithms and tricks explained in comments
    • No unnecessary tricks
    • Adequately commented
    • Only change lang/english.txt, no other language files
  • Attitude – please be nice to the devs!
    • Remember, it was originally in ASM, changed to C, then changed to C++. There is a lot of work to be done with the language changes.
    • Remember this is 100% volunteer work. The devs do this in their free time.
  • Style – please stick with the coding style rules!
    • Strings only in english.txt
    • Functions
    • Variables
    • Enumerations / static consts
    • Control flow
    • Classes
    • Templates
    • Other rules
    • Documentation
    • Other tips

[edit] See also

Personal tools