OpenTTDDevBlackBook/IConsole/History

From OpenTTD
Jump to: navigation, search
HAL (Hardware Abstraction Layer)

Audio
Music
Graphic

Window System

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

Settings

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

Vehicles
Using Orders
Pathfinding
Ratings
Train Acceleration

Language and Strings

Format of langfiles
Using OpenTTD Strings
List of Special Strings

Multiplayer

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

Development History.

Contents

Revision #1

console features:

  • console window like in 3d ego shooters
  • internal command and variable handler
  • 80 lines console screen buffer [scrolling not possible yet]
  • error / debug message output
  • direct c++ integration over pointer access
  • dynamic string allocation

commands:

  • list_cmds [filter]
  • list_vars [filter]
  • echo [string]
  • echoc [color-code] [string]
  • printf [formatstring] [var] [var] [var]....
  • printfc [color-code] [formatstring] [var] [var] [var]....
  • screenshot ["big"]
  • debug_level [0-9]
  • exit

variables:

  • * developer
    • -> 0 = no output
    • -> 1 = console error output [like command not found]
    • -> 2 = console error and debug output
  • *cursor_rate
    • -> 1-12 = defines the cursor blink interval

Revision #2

console features:

  • scroll up CURSOR-UP PAGE-UP
  • scroll down CURSOR-DOWN PAGE-DOWN

console language features:

  • c-language independent variables
  • *temp_uint16 << random
  • the "<<" allows to put a return value of a function into an variable

new console commands:

  • help
  • quit
  • random (implented to test value passing to variable)
  • dump_vars [filter]

Revision #3

Console Language Enhancements:

  • Copy data from one data to another
  • Passing of variable-references

Console Enhancements:

  • new command buffer: saves 20 commandlines [UP and DOWN KEYS]
  • scrolling: SHIFT + UP / DOWN / PG_UP / PG_DOWN

new/changed commands:

  • screenshot [big/no_con]
  • varinfo

new variables:

  • *con_developer
    • -> true = console debugging output
    • -> false = no output

Revision #4 [planned]

Console Language Enhancements:

  • allowing script files with "exec [filename]"
  • dumping console to files with "script [filename]"
  • command and variable hooking
    • ACCESS
    • BEFORE_CHANGE
    • AFTER_CHANGE
    • BEFORE_EXEC
    • AFTER_EXEC
  • some more commands

Revision #5 [planned]

  • access to configuration and patch variables
  • dumping variables to file
Personal tools