1
0
Fork 0
OpenTTD is an open source simulation game based upon Transport Tycoon Deluxe
 
 
 
 
 
Go to file
bjarni 181853aff9 (svn r3670) -Codechange: [OSX] rewrote a part of the cocoa video driver to speed it up by 1000% in fullscreen
rewrote QZ_DrawScreen to only redraw dirty rectangles (instead of everything)
	This reduce the OpenTTD time spent on this function from 75% to 6,7% (in main menu)
	Note: window mode is unaffected by this commit
	Note: the mouse pointer can now leave artefacts in debug mode
2006-02-24 22:05:20 +00:00
ai (svn r3660) Convert further road bits and type references to the functions/enums 2006-02-23 12:24:19 +00:00
data
docs (svn r3507) - Fix: [Makefile] Make sure the ICON_DIR gets created before copying files there. 2006-02-01 01:36:18 +00:00
lang (svn r3560) Restore plural forms of cargo types for several languages. 2006-02-06 07:38:05 +00:00
makefiledir (svn r3622) - Partly revert r3214. The patch setting max_num_autosaves stays to help control PDA-troubles which the commit was intended for. Didn't revert makefile-config version since it would cause trouble. But Bjarni promised to rewrite it :) 2006-02-20 17:54:25 +00:00
media
music (svn r3596) -Codechange: [OSX] changed to use Apple's macros instead of OTTD macros for endian conversion 2006-02-12 14:31:33 +00:00
openttd.xcode
os (svn r3596) -Codechange: [OSX] changed to use Apple's macros instead of OTTD macros for endian conversion 2006-02-12 14:31:33 +00:00
scripts
sound (svn r3552) Remove the global variable _mixer 2006-02-05 09:56:04 +00:00
strgen (svn r3595) Several small cleanups, the only notable are some additional symbolic names for a few ISO8859 characters 2006-02-12 10:44:52 +00:00
table (svn r3602) - Move _railveh_score data to _rail_vehicle_info->ai_rank and remove global variable to return data as we can now access this directly. 2006-02-13 22:13:02 +00:00
video (svn r3670) -Codechange: [OSX] rewrote a part of the cocoa video driver to speed it up by 1000% in fullscreen 2006-02-24 22:05:20 +00:00
COPYING
Doxyfile
Makefile (svn r3622) - Partly revert r3214. The patch setting max_num_autosaves stays to help control PDA-troubles which the commit was intended for. Didn't revert makefile-config version since it would cause trouble. But Bjarni promised to rewrite it :) 2006-02-20 17:54:25 +00:00
StdAfx.c
aircraft_cmd.c (svn r3588) - Refit: Use only one global to return the refit capacity rather than one per vehicle type. 2006-02-11 09:24:51 +00:00
aircraft_gui.c (svn r3631) - 2cc: Remove use of some temporary variables and perform minor optimization in the form of the ternary operator. 2006-02-20 21:49:31 +00:00
airport.c
airport.h
airport_gui.c
airport_movement.h
aystar.c (svn r3472) - [PBS] Remove from trunk. Anyone interested can still find it in branch/pbs. This reverts revisions r3158, r3140, r3075, r2977, r2674, r2625, r2621, r2529, r2528, r2525, r2524, r2519, r2517, r2516, r2507, r2499. (in conjunction with Tron) 2006-01-29 18:57:26 +00:00
aystar.h (svn r3472) - [PBS] Remove from trunk. Anyone interested can still find it in branch/pbs. This reverts revisions r3158, r3140, r3075, r2977, r2674, r2625, r2621, r2529, r2528, r2525, r2524, r2519, r2517, r2516, r2507, r2499. (in conjunction with Tron) 2006-01-29 18:57:26 +00:00
bridge.h
bridge_gui.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
callback_table.c
callback_table.h
changelog.txt (svn r3502) - Update appropiate files with release information for 0.4.5 2006-01-31 22:26:00 +00:00
clear.h (svn r3665) Add a function to turn a tile into a clear tile 2006-02-24 19:56:24 +00:00
clear_cmd.c (svn r3564) Several smaller changes: 2006-02-06 09:18:04 +00:00
command.c
command.h
console.c (svn r3597) Miscellaneous (I like that word) changes: Fix some indentation, add consts, reduce indentation level by short-circuit logic, convert if cascades to switch, whitespace, bracing, plus some minor stuff 2006-02-13 21:15:00 +00:00
console.h
console_cmds.c (svn r3593) Fix typo in r3591 2006-02-11 21:41:49 +00:00
currency.c
currency.h
debug.c (svn r3472) - [PBS] Remove from trunk. Anyone interested can still find it in branch/pbs. This reverts revisions r3158, r3140, r3075, r2977, r2674, r2625, r2621, r2529, r2528, r2525, r2524, r2519, r2517, r2516, r2507, r2499. (in conjunction with Tron) 2006-01-29 18:57:26 +00:00
debug.h (svn r3472) - [PBS] Remove from trunk. Anyone interested can still find it in branch/pbs. This reverts revisions r3158, r3140, r3075, r2977, r2674, r2625, r2621, r2529, r2528, r2525, r2524, r2519, r2517, r2516, r2507, r2499. (in conjunction with Tron) 2006-01-29 18:57:26 +00:00
dedicated.c
depot.c (svn r3627) - Change all hardcoded 255 max-saveload versions with the define SL_MAX_VERSION 2006-02-20 19:43:26 +00:00
depot.h (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
disaster_cmd.c (svn r3564) Several smaller changes: 2006-02-06 09:18:04 +00:00
dock_gui.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
driver.c
driver.h
dummy_land.c
economy.c (svn r3627) - Change all hardcoded 255 max-saveload versions with the define SL_MAX_VERSION 2006-02-20 19:43:26 +00:00
economy.h
endian_check.c
engine.c (svn r3627) - Change all hardcoded 255 max-saveload versions with the define SL_MAX_VERSION 2006-02-20 19:43:26 +00:00
engine.h (svn r3602) - Move _railveh_score data to _rail_vehicle_info->ai_rank and remove global variable to return data as we can now access this directly. 2006-02-13 22:13:02 +00:00
engine_gui.c (svn r3524) - Split newgrf features from engine.[ch] into newgrf_engine.[ch], and add the new files to project files. 2006-02-03 12:55:21 +00:00
fileio.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
fileio.h
functions.h
gfx.c (svn r3529) - Fix: [ 1415782 ] crash in string code with openbsd/zaurus; alignment issues (thanks Tron for the help) 2006-02-03 21:51:42 +00:00
gfx.h
gfxinit.c
gfxinit.h
graph_gui.c (svn r3613) Some more const, indentation, whitespace and similar stuff 2006-02-18 14:41:24 +00:00
gui.h
hal.h
industry.h
industry_cmd.c (svn r3627) - Change all hardcoded 255 max-saveload versions with the define SL_MAX_VERSION 2006-02-20 19:43:26 +00:00
industry_gui.c (svn r3597) Miscellaneous (I like that word) changes: Fix some indentation, add consts, reduce indentation level by short-circuit logic, convert if cascades to switch, whitespace, bracing, plus some minor stuff 2006-02-13 21:15:00 +00:00
intro_gui.c
known-bugs.txt (svn r3505) - Update known-bugs and delete scenarios from SVN. 2006-01-31 23:38:58 +00:00
landscape.c (svn r3667) Fix the cause of an assertion I triggered in r3665 2006-02-24 20:35:37 +00:00
langs.dsp
langs.vcproj
lzoconf.h
macros.h (svn r3529) - Fix: [ 1415782 ] crash in string code with openbsd/zaurus; alignment issues (thanks Tron for the help) 2006-02-03 21:51:42 +00:00
main_gui.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
mainicon.ico
map.c
map.h
md5.c
md5.h
mersenne.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
minilzo.c
minilzo.h
misc.c (svn r3626) - Merge the SlGlobVarList (global variables) and SaveLoad (offset in struct, variable determined runtime) structs. The only difference between these two is the last element that either holds the address or the offset in the struct. Which one to take is determined by which function is called; SlObject or SlGlobList. 2006-02-20 19:42:39 +00:00
misc_cmd.c
misc_gui.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
mixer.c (svn r3552) Remove the global variable _mixer 2006-02-05 09:56:04 +00:00
mixer.h (svn r3552) Remove the global variable _mixer 2006-02-05 09:56:04 +00:00
music_gui.c (svn r3641) - Rename MusicFilesettings 'btn_down' to more sensible 'playing' 2006-02-20 23:40:53 +00:00
namegen.c
namegen.h
network.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
network.h (svn r3621) - Codechange: Only define the server and bans list if network is enabled. Preparatory work for saving patches/settings to savegame. 2006-02-20 17:49:26 +00:00
network_client.c
network_client.h
network_core.h
network_data.c (svn r3564) Several smaller changes: 2006-02-06 09:18:04 +00:00
network_data.h
network_gamelist.c
network_gamelist.h
network_gui.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
network_server.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
network_server.h
network_udp.c (svn r3500) - Workaround the inaccurate count of spectators/companies that can happen in certain border-cases. For now just dynamically get this value when requested so it is always right. To do properly all player/client creation/destruction needs a hook for networking. 2006-01-31 22:16:15 +00:00
network_udp.h
newgrf.c (svn r3613) Some more const, indentation, whitespace and similar stuff 2006-02-18 14:41:24 +00:00
newgrf.h
newgrf_callbacks.h (svn r3587) - NewGRF: Rename Callback IDs to include their "class" 2006-02-11 09:17:16 +00:00
newgrf_engine.c (svn r3594) - NewGRF: Add support for some vehicle specific properties and a give a debug message for unknown variables. 2006-02-12 10:35:51 +00:00
newgrf_engine.h (svn r3557) - NewGRF: move callback enums to a new file as more than just engines will use them 2006-02-05 19:46:20 +00:00
newgrf_station.c (svn r3530) - NewGRF: Move station resolver to newgrf_station 2006-02-03 23:02:01 +00:00
newgrf_station.h (svn r3530) - NewGRF: Move station resolver to newgrf_station 2006-02-03 23:02:01 +00:00
news.h
news_gui.c
npf.c (svn r3642) There is a 'npf' debug level for a reason, use that instead of bastardizing 'misc'. Also, pointers are checked against NULL in an if-statement 2006-02-21 01:15:59 +00:00
npf.h (svn r3510) Fiddle with whitespace and parentheses 2006-02-01 06:32:03 +00:00
oldloader.c (svn r3613) Some more const, indentation, whitespace and similar stuff 2006-02-18 14:41:24 +00:00
openttd.c (svn r3664) Add a function to turn a tile into a void tile 2006-02-24 19:52:26 +00:00
openttd.dsp (svn r3666) Fix up svn properties and add header files to Windows project files. 2006-02-24 20:09:50 +00:00
openttd.dsw
openttd.h (svn r3597) Miscellaneous (I like that word) changes: Fix some indentation, add consts, reduce indentation level by short-circuit logic, convert if cascades to switch, whitespace, bracing, plus some minor stuff 2006-02-13 21:15:00 +00:00
openttd.ico
openttd.sln
openttd.tgt
openttd.vcproj (svn r3666) Fix up svn properties and add header files to Windows project files. 2006-02-24 20:09:50 +00:00
order.h
order_cmd.c (svn r3627) - Change all hardcoded 255 max-saveload versions with the define SL_MAX_VERSION 2006-02-20 19:43:26 +00:00
order_gui.c (svn r3660) Convert further road bits and type references to the functions/enums 2006-02-23 12:24:19 +00:00
os2.c (svn r3496) - Validate filename titles before they get displayed. This avoids crashes with UTF-8 encoded or bad filenames by replacing undisplayable characters with a '?' 2006-01-31 12:08:49 +00:00
ottdres.rc (svn r3651) -Fix: r3646 fixed some lame compiler, but broke others... this fixes it for some more compilers 2006-02-21 19:42:42 +00:00
pathfind.c (svn r3599) -Fix: added some casts to suppress some more warnings 2006-02-13 21:56:49 +00:00
pathfind.h
player.h (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
player_gui.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
players.c (svn r3627) - Change all hardcoded 255 max-saveload versions with the define SL_MAX_VERSION 2006-02-20 19:43:26 +00:00
pool.c
pool.h
queue.c (svn r3592) Miscellaneous smaller changes, most notably replacing sizeof(type) by sizeof(*variable) 2006-02-11 15:05:56 +00:00
queue.h (svn r3592) Miscellaneous smaller changes, most notably replacing sizeof(type) by sizeof(*variable) 2006-02-11 15:05:56 +00:00
rail.c
rail.h (svn r3564) Several smaller changes: 2006-02-06 09:18:04 +00:00
rail_cmd.c (svn r3660) Convert further road bits and type references to the functions/enums 2006-02-23 12:24:19 +00:00
rail_gui.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
railtypes.h
readme.txt (svn r3502) - Update appropiate files with release information for 0.4.5 2006-01-31 22:26:00 +00:00
resource.h
road.h (svn r3659) Add function to get the road bits of a level crossing 2006-02-23 11:53:48 +00:00
road_cmd.c (svn r3660) Convert further road bits and type references to the functions/enums 2006-02-23 12:24:19 +00:00
road_gui.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
roadveh_cmd.c (svn r3663) - Fix: [Multistop] Check the status of the destination road stop instead of a station's first road stop. This only has effect with road vehicle queuing disabled. 2006-02-24 17:52:07 +00:00
roadveh_gui.c (svn r3631) - 2cc: Remove use of some temporary variables and perform minor optimization in the form of the ternary operator. 2006-02-20 21:49:31 +00:00
saveload.c (svn r3662) Fix regression FS#58 with union, endiannes and static decleration problems. Removed the union. 2006-02-23 20:53:30 +00:00
saveload.h (svn r3662) Fix regression FS#58 with union, endiannes and static decleration problems. Removed the union. 2006-02-23 20:53:30 +00:00
screenshot.c
screenshot.h
sdl.c
sdl.h
settings.c (svn r3641) - Rename MusicFilesettings 'btn_down' to more sensible 'playing' 2006-02-20 23:40:53 +00:00
settings.h (svn r3600) -Fix: suppress error on 64bit targets 2006-02-13 22:06:02 +00:00
settings_gui.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
ship_cmd.c (svn r3585) Similar changes to the order handlers of the other vehicle types like r3584 2006-02-10 06:33:56 +00:00
ship_gui.c (svn r3631) - 2cc: Remove use of some temporary variables and perform minor optimization in the form of the ternary operator. 2006-02-20 21:49:31 +00:00
signs.c (svn r3627) - Change all hardcoded 255 max-saveload versions with the define SL_MAX_VERSION 2006-02-20 19:43:26 +00:00
signs.h
smallmap_gui.c (svn r3564) Several smaller changes: 2006-02-06 09:18:04 +00:00
sound.c (svn r3564) Several smaller changes: 2006-02-06 09:18:04 +00:00
sound.h (svn r3641) - Rename MusicFilesettings 'btn_down' to more sensible 'playing' 2006-02-20 23:40:53 +00:00
sprite.c
sprite.h
spritecache.c
spritecache.h
station.h (svn r3612) - RoadStop->slot[] stores a vehicle index. Adjust its type and use INVALID_VEHICLE instead of nonsense INVALID_SLOT. 2006-02-18 14:11:23 +00:00
station_cmd.c (svn r3644) Don't use FindLandscapeHeightByTile() when it's overkill - often it was just a complicated way of writing GetTileSlope(tile, NULL) 2006-02-21 07:41:54 +00:00
station_gui.c
stdafx.h (svn r3596) -Codechange: [OSX] changed to use Apple's macros instead of OTTD macros for endian conversion 2006-02-12 14:31:33 +00:00
string.c
string.h
strings.c (svn r3613) Some more const, indentation, whitespace and similar stuff 2006-02-18 14:41:24 +00:00
strings.h
subsidy_gui.c
svnup.sh
terraform_gui.c (svn r3665) Add a function to turn a tile into a clear tile 2006-02-24 19:56:24 +00:00
texteff.c
thread.c
thread.h
tile.c (svn r3597) Miscellaneous (I like that word) changes: Fix some indentation, add consts, reduce indentation level by short-circuit logic, convert if cascades to switch, whitespace, bracing, plus some minor stuff 2006-02-13 21:15:00 +00:00
tile.h
town.h (svn r3520) Remove unused parameters from some functions 2006-02-02 07:15:46 +00:00
town_cmd.c (svn r3660) Convert further road bits and type references to the functions/enums 2006-02-23 12:24:19 +00:00
town_gui.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
train.h
train_cmd.c (svn r3602) - Move _railveh_score data to _rail_vehicle_info->ai_rank and remove global variable to return data as we can now access this directly. 2006-02-13 22:13:02 +00:00
train_gui.c (svn r3631) - 2cc: Remove use of some temporary variables and perform minor optimization in the form of the ternary operator. 2006-02-20 21:49:31 +00:00
tree.h (svn r3668) Add a function to turn a tile into a tree tile 2006-02-24 20:38:08 +00:00
tree_cmd.c (svn r3668) Add a function to turn a tile into a tree tile 2006-02-24 20:38:08 +00:00
tunnelbridge_cmd.c (svn r3658) Add functions and symbolic names to retrieve road tile types and road pieces 2006-02-23 08:20:28 +00:00
unix.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
unmovable_cmd.c (svn r3597) Miscellaneous (I like that word) changes: Fix some indentation, add consts, reduce indentation level by short-circuit logic, convert if cascades to switch, whitespace, bracing, plus some minor stuff 2006-02-13 21:15:00 +00:00
variables.h (svn r3640) - Remove win32-only variables from variables.h and put them into win32_v.c. Also ifdef the win32 specific configuration file settings. 2006-02-20 23:01:58 +00:00
vehicle.c (svn r3627) - Change all hardcoded 255 max-saveload versions with the define SL_MAX_VERSION 2006-02-20 19:43:26 +00:00
vehicle.h (svn r3620) - 2cc: Replace use of macro to determine colour map with a function call for drawing of vehicles. 2006-02-20 09:26:07 +00:00
vehicle_gui.c (svn r3620) - 2cc: Replace use of macro to determine colour map with a function call for drawing of vehicles. 2006-02-20 09:26:07 +00:00
vehicle_gui.h
viewport.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
viewport.h
void.h (svn r3669) Really wipe all data when making a void tile 2006-02-24 20:52:32 +00:00
water_cmd.c (svn r3597) Miscellaneous (I like that word) changes: Fix some indentation, add consts, reduce indentation level by short-circuit logic, convert if cascades to switch, whitespace, bracing, plus some minor stuff 2006-02-13 21:15:00 +00:00
waypoint.c (svn r3627) - Change all hardcoded 255 max-saveload versions with the define SL_MAX_VERSION 2006-02-20 19:43:26 +00:00
waypoint.h
widget.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
win32.c (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
win32.h
win64.asm
window.c (svn r3564) Several smaller changes: 2006-02-06 09:18:04 +00:00
window.h (svn r3535) -Feature: [autoreplace] allow autoreplacing of train wagons 2006-02-04 18:25:07 +00:00

readme.txt

OpenTTD README
Last updated:    2006-01-31
Release version: 0.4.5
------------------------------------------------------------------------


Table of Contents:
------------------
1.0) About
2.0) Contacting
 * 2.1 Reporting Bugs
3.0) Supported Platforms
4.0) Running OpenTTD
5.0) OpenTTD features
6.0) Configuration File
7.0) Compiling
8.0) Translating
 * 8.1 Guidelines
 * 8.2 Translation
 * 8.3 Previewing
9.0) Troubleshooting
X.X) Credits


1.0) About:
---- ------
OpenTTD is a clone of Transport Tycoon Deluxe, a popular game originally
written by Chris Sawyer.  It attempts to mimic the original game as closely
as possible while extending it with new features.

OpenTTD is licensed under the GNU General Public License version 2.0. For
more information, see the file 'COPYING'.

2.0) Contacting:
---- ----------
The easiest way to contact the OpenTTD team is by submitting bug reports or
posting comments in our forums. You can also chat with us on IRC (#openttd
on irc.freenode.net).

The OpenTTD homepage is http://www.openttd.org/.

You can also find the OpenTTD forums at
http://www.tt-forums.net/index.php?c=20


2.1) Reporting Bugs:
---- ---------------
To report a bug, please create a SourceForge account and follow the bugs
link from our homepage. Please make sure the bug is reproducible and
still occurs in the latest daily build or the current SVN version. Also
please look through the existing bug reports briefly to see whether the bug
is not already known.

The SourceForge project page URL is: http://sourceforge.net/projects/openttd/
Click on "Bugs" to see the bug tracker.

Please include the following information in your bug report:
        - OpenTTD version (PLEASE test the latest SVN/daily build)
        - Bug details, including instructions how to reproduce it
        - Platform and compiler (Win32, Linux, FreeBSD, ...)
        - Attach a saved game or a screenshot if possible
        - If this bug only occurred recently please note the last
          version without the bug and the first version including
          the bug. That way we can fix it quicker by looking at the
          changes made.


3.0) Supported Platforms:
---- --------------------
OpenTTD has been ported to several platforms and operating systems. It shouldn't
be very difficult to port it to a new platform. The currently working platforms
are:

	BeOS                 - SDL
	FreeBSD              - SDL
	Linux                - SDL
	MacOS X (universal)  - Cocoa video and sound drivers (SDL works too, but not 100% and not as a universal binary)
	MorphOS              - SDL
	OS/2                 - SDL
	Windows              - Win32 GDI (faster) or SDL


4.0) Running OpenTTD:
---- ----------------

Before you run OpenTTD, you need to put the game's datafiles into the data/
subdirectory. You need the following files from the original version
of TTD as OpenTTD makes use of the original TTD artwork.

List of the required files:
sample.cat
trg1r.grf
trgcr.grf
trghr.grf
trgir.grf
trgtr.grf

(Alternatively you can use the TTD GRF files from the DOS version: TRG1.GRF,
TRGC.GRF, TRGH.GRF, TRGI.GRF, TRGT.GRF. A few minor graphical glitches with
the DOS graphics remain. E.g. the autorail button in the rail toolbar doesn't
look as nice as with the Windows graphics.)

If you want music you need to copy the gm/ folder from Windows TTD into your
OpenTTD folder, not your data folder.

You can change the data path (which contains savegames as well) in
Makefile.config by setting DATA_DIR_PREFIX and USE_HOMEDIR.


5.0) OpenTTD features:
---- -----------------

OpenTTD has a lot of features going beyond the original TTD emulation.
Unfortunately, there is currently no comprehensive list of features, but there
is a basic features list on the web, and some optional features can be
controlled through the Configure Patches dialog. We also implement some
features known from TTDPatch (http://www.ttdpatch.net/).

Several important non-standard controls:

* Use Ctrl to place semaphore signals
* Ctrl-D toggles double mode in the Windows version
* Ingame console. More information at
  http://wiki.openttd.org/index.php/OpenTTDDevBlackBook


6.0) Configuration File:
---- -------------------
The configuration file for OpenTTD (openttd.cfg) is in a simple Windows-like
.INI format. It's mostly undocumented. Almost all settings can be changed
ingame by using the 'Configure Patches' window.


7.0) Compiling:
---- ----------
Windows:
  You need Microsoft Visual Studio 6 or .NET. Open the project file
  and it should build automatically. In case you want to build with SDL support
  you need to add WITH_SDL to the project settings.
  PNG (WITH_PNG) and ZLIB (WITH_ZLIB) support is enabled by default. For these
  to work you need their development files. For best results, download the
  openttd-useful.zip file from SourceForge under the Files tab. Put the header
  files into your compiler's include/ directory and the library (.lib) files
  into the lib/ directory.
  For more help with VS6 see docs/Readme_Windows_MSVC6.0.txt.

  You can also build it using the Makefile with MSYS/MinGW or Cygwin/MinGW.
  Please read the Makefile for more information.

Unix:
  OpenTTD can be built with GNU "make". On non-GNU systems it's called "gmake".
  Note that you need SDL-devel 1.2.5 (or higher) to compile OpenTTD.
  (see also docs/Readme_Mandrake_Linux.txt)

MacOS X:
  Use "make" or Xcode (which will then call make for you)
	This will give you a binary for your CPU type (PPC/Intel)
	To make an universal binary type "make FAT_BINARY:=1"

BeOS:
  Use "make".

FreeBSD:
  You need the port devel/sdl12 for a non-dedicated build.
  graphics/png is optional for screenshots in the PNG format.
  Use "gmake".

MorphOS:
  Use "make". Note that you need the MorphOS SDK and the
  powersdl.library SDK.

OS/2:
  Open Watcom C/C++ 1.3 or later is required to build the OS/2 version. See the
  docs/Readme_OS2.txt file for more information.


8.0) Translating:
---- -------------------
See http://www.openttd.org/translating.php for up-to-date information.

The use of the online Translator service, located at
http://translator.openttd.org/, is highly encouraged. For a username/password
combo you should contact the development team, either by mail, IRC or the
forums. The system is straightforward to use, and if you have any problems,
read the online help located there.

If for some reason the website is down for a longer period of time, the
information below might be of help.

8.1) Guidelines:
---- -------------------
Here are some translation guidelines which you should follow closely.

    * Please contact the development team before begining the translation
      process! This avoids double work, as someone else may have already
      started translating to the same language.
    * Translators must use the charater set ISO 8859-15.
      Otherwise, some characters will not display correctly in the game.
    * Currently it is not possible to translate into character sets other than
      Latin.

8.2) Translation:
---- -------------------
So, now that you've notified the development team about your intention to
translate (You did, right? Of course you did.) you can pick up english.txt
(found in the SVN repository under /lang) and translate.

You must change the first two lines of the file appropriately:

##name English-Name-Of-Language
##ownname Native-Name-Of-Language

Note: Do not alter the following parts of the file:

    * String identifiers (the first word on each line)
    * Parts of the strings which are in curly braces (such as {STRING})
    * Lines beginning with ## (such as ##id), other than the first two lines of
      the file

8.3) Previewing:
---- -------------------
In order to view the translation in the game, you need to compile your language
file with the strgen utility, which is now bundled with the game.

strgen is a command-line utility. It takes the language filename as parameter.
Example:

strgen lang/german.txt

This results in compiling german.txt and produces another file named german.lng.
Any missing strings are replaced with the English strings. Note that it looks
for english.txt in the lang subdirectory, which is where your language file
should also be.

That's all! You should now be able to select the language in the game options.

9.0) Troubleshooting
---- ---------------

To see all startup options available to you, start OpenTTD with the
"./openttd -h" option. This might help you tweak some of the settings.

If the game is acting strange and you feel adventorous you can try the
"-d [[<name>]=[<level>]" flag, where the higher levels will give you more
debugging output. The "name" variable can help you to display only some type of
debugging messages. This is mostly undocumented so best is to look in the
source code file debug.c for the various debugging types. For more information
look at http://wiki.openttd.org/index.php/Command_line.

The most frequent problem is missing data files. Don't forget to put all GRF
files from TTD into your data/ folder including sample.cat!

Under Windows 98 and lower it is impossible to use a dedicated server; it will
fail to start. Perhaps this is for the better because those OS's are not known
for their stability.

X.X) Credits:
---- --------
The OpenTTD team (in alphabetical order):
  Bjarni Corfitzen (Bjarni)      - Mac OS X port, coder
  Victor Fischer (Celestar)      - Programming everywhere you need him to
  Tam<61>s Farag<61> (Darkvater)       - Lead programmer
  Kerekes Miham (MiHaMiX)        - Maintainer of translator service, and host of nightlies
  Owen Rudge (orudge)            - Contributor, forum host, master server host, OS/2 port
  Peter Nelson (peter1138)       - NewGRF support wizard, OpenTTD addict
  Christoph Mallon (Tron)        - Programmer, code correctness police
  Patric Stout (TrueLight)       - Programmer, network guru, SVN-repository and website host

Retired Developers:
  Dominik Scherer (dominik81)    - Lead programmer, GUI expert (0.3.0 - 0.3.6)
  Ludvig Strigeus (ludde)        - OpenTTD author, main coder (0.1 - 0.3.3)
  Serge Paquet (vurlix)          - Assistant project manager, coder (0.1 - 0.3.3)

Thanks to:
  Josef Drexler - For his great work on TTDPatch.
  Marcin Grzegorczyk - For his TTDPatch work and documentation of TTD internals and graphics (signals and track foundations)
  Matthijs Kooijman (blathijs) - For his many patches, suggestions and major work on maprewrite
  Petr Baudis (pasky) - Many patches, newgrf support, etc.
  Simon Sasburg (HackyKid) - For the many bugfixes he has blessed us with (and future PBS)
  Stefan Mei<65>ner (sign_de) - For his work on the console
  Mike Ragsdale - OpenTTD installer
  Cian Duffy (MYOB) - BeOS port / manual writing
  Christian Rosentreter (tokaiz) - MorphOS / AmigaOS port
  Michael Blunck - For revolutionizing TTD with awesome graphics
  George - Canal graphics
  All Translators - For their support to make OpenTTD a truly international game
  Bug Reporters - Thanks for all bug reports
  Chris Sawyer - For an amazing game!