OpenTTD is an open source simulation game based upon Transport Tycoon Deluxe
Go to file
2006-06-05 16:08:06 +00:00
ai
data (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas. 2006-03-29 16:30:26 +00:00
docs (svn r4724) - Newstations: Add per-tile random data for station tiles. 2006-05-03 21:25:49 +00:00
lang (svn r5131) s/STRING[1-5]/STRING/g 2006-06-05 16:08:06 +00:00
makefiledir
media (svn r2371) - Fix: [ 1144510 ] make install tries to install scenarios in the (non-existing) personal dir when USE_HOMEDIR is specified. 2005-05-28 10:32:09 +00:00
music
openttd.xcode (svn r2606) -Codechange: renamed ai.c to ai_old.c, and ai.h to ai_new.h to make room 2005-07-17 15:34:10 +00:00
os (svn r4997) -Fix: [OSX] reverted the OSX part of rev 4994 as it caused dyld (lib) crashes 2006-05-27 23:16:37 +00:00
scenario (svn r3802) * Add a dummy file in the scenario dir to make the makefile stop complaining on make install (temporary hack). 2006-03-08 23:21:32 +00:00
scripts
sound (svn r3552) Remove the global variable _mixer 2006-02-05 09:56:04 +00:00
strgen
table
video
yapf (svn r5093) -CodeChange: [YAPF] min. debug level changed from 1 to 3 and 4 for frequent debug messages (performance stats) 2006-06-04 09:13:59 +00:00
aircraft_cmd.c
aircraft_gui.c (svn r5124) Add IsAircraftInHangar{Stopped,}(), which supersedes CheckStoppedInHangar() 2006-06-05 12:43:41 +00:00
aircraft.h (svn r5124) Add IsAircraftInHangar{Stopped,}(), which supersedes CheckStoppedInHangar() 2006-06-05 12:43:41 +00:00
airport_gui.c (svn r4940) Remove the dubious feature of remembering the last built depot. It serves no real purpose except causing confusion 2006-05-21 13:51:36 +00:00
airport_movement.h (svn r4642) - Codechange: reorganise airport.h and airport_movement.h to avoid having 8 copies of the airport FTAs, and make the enums used available elsewhere. 2006-05-01 11:27:39 +00:00
airport.c
airport.h (svn r4918) Move the information about the size of airports from an global array into the struct which describes an airport 2006-05-20 15:13:27 +00:00
aystar.c
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_gui.c
bridge_map.c
bridge_map.h (svn r5101) Add a function to convert an axis and a flag for north/south into a DiagDirection. Use it for bridge ramps and ship depots 2006-06-04 16:04:15 +00:00
bridge.h
BUGS
callback_table.c (svn r5092) -Fix: There was a gross race condition in the AI code which made it pretty random if the AI could give a new vehicle its orders 2006-06-04 09:10:24 +00:00
callback_table.h (svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters 2005-09-18 20:56:44 +00:00
changelog.txt
clear_cmd.c (svn r5070) Merged the bridge branch 2006-06-02 13:05:41 +00:00
clear_map.h
command.c (svn r4342) Change the first two parameters of commands - virtual pixel coordinates of the tile to operate on - to a TileIndex 2006-04-10 07:15:58 +00:00
command.h (svn r4342) Change the first two parameters of commands - virtual pixel coordinates of the tile to operate on - to a TileIndex 2006-04-10 07:15:58 +00:00
configure
console_cmds.c (svn r4889) - Codechange: added vehicle count in 'players' console command 2006-05-16 16:30:40 +00:00
console.c
console.h
COPYING (svn r1) Import of revision 975 of old (crashed) SVN 2004-08-09 17:04:08 +00:00
currency.c (svn r4487) - Codechange: replace the custom currency magic number 23 with a define 2006-04-20 21:13:08 +00:00
currency.h
debug.c
debug.h (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 2006-05-27 16:12:16 +00:00
dedicated.c
depot.c
depot.h (svn r5116) Move the overly generic GetDepotDirection() from a header to its only consumer 2006-06-05 08:34:39 +00:00
direction.h (svn r5101) Add a function to convert an axis and a flag for north/south into a DiagDirection. Use it for bridge ramps and ship depots 2006-06-04 16:04:15 +00:00
disaster_cmd.c (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 2006-05-27 16:12:16 +00:00
dock_gui.c
Doxyfile (svn r2808) -Fix: Removed 'kdevelop' from the doxygen project name (thanks tron) 2005-08-05 08:31:29 +00:00
driver.c
driver.h (svn r3380) -Fix: removed 'size' from r3379, because it was pretty silly 2006-01-07 10:15:46 +00:00
dummy_land.c (svn r4572) Remove vehicle_leave_tile_proc 2006-04-25 07:32:33 +00:00
economy.c (svn r4570) - Fix: subsidy calculation was too high, broken in r3564 2006-04-25 06:56:22 +00:00
economy.h
elrail.c (svn r5070) Merged the bridge branch 2006-06-02 13:05:41 +00:00
endian_check.c
engine_gui.c (svn r4322) - Codechange: Remove conversion of kmh to mph from gui code to within the units conversion system, in string.c. This means displaying kmh requires no conversion, instead of being convert from kmh to mph, and then back to kmh again. 2006-04-08 12:04:23 +00:00
engine.c
engine.h (svn r5105) - NewGRF: Move callbackmask from *VehicleInfo to EngineInfo. This simplifies code that works with more than one vehicle type. 2006-06-04 18:22:32 +00:00
fileio.c
fileio.h (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil) 2005-12-10 11:16:45 +00:00
functions.h
gfx.c
gfx.h (svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed. 2006-05-09 13:23:04 +00:00
gfxinit.c
gfxinit.h (svn r3183) Remove an unused declaration and properly declare CheckExternalFiles() in a header 2005-11-15 08:40:45 +00:00
graph_gui.c (svn r4809) Codechange : Merged two loops in only one. 2006-05-09 17:10:26 +00:00
gui.h (svn r4314) -Fix: a buffer overflow of the chat box introduced in r1263. Don't tell the Textbuf an arbitrary number as size of the string buffer, but the real lengthof() it 2006-04-07 09:07:53 +00:00
hal.h
industry_cmd.c
industry_gui.c (svn r4614) CodeChange : Cleanup of industry_cmd (Step-4). 2006-04-28 21:58:16 +00:00
industry_map.h (svn r4614) CodeChange : Cleanup of industry_cmd (Step-4). 2006-04-28 21:58:16 +00:00
industry.h (svn r4614) CodeChange : Cleanup of industry_cmd (Step-4). 2006-04-28 21:58:16 +00:00
intro_gui.c
known-bugs.txt
landscape.c (svn r5070) Merged the bridge branch 2006-06-02 13:05:41 +00:00
langs_vs80.vcproj (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 2006-05-27 16:12:16 +00:00
langs.dsp (svn r3318) - Codechange: [FS#27] MSVC projectfile & documentation update (bociusz) 2005-12-18 20:48:22 +00:00
langs.vcproj
lzoconf.h
macros.h
main_gui.c (svn r4623) - Codechange: s/byte/PlayerID/ 2006-04-29 14:31:16 +00:00
mainicon.ico
Makefile
map.c
map.h (svn r3342) Remove some cruft 2005-12-25 19:44:23 +00:00
md5.c (svn r2701) Insert Id tags into all source files 2005-07-24 14:12:37 +00:00
md5.h
mersenne.c
minilzo.c
minilzo.h (svn r3077) static, const, bracing, indentation, 0 -> '\0'/NULL, typos in comments, excess empty lines, minor other changes 2005-10-22 06:39:32 +00:00
misc_cmd.c
misc_gui.c
misc.c
mixer.c
mixer.h
music_gui.c
namegen.c (svn r4639) -Feature: Turkish town names (jnmbk) 2006-05-01 09:25:23 +00:00
namegen.h (svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters 2005-09-18 20:56:44 +00:00
network_client.c
network_client.h
network_core.h
network_data.c
network_data.h (svn r4267) - Fix (r4241): also validate the error number that a client receives from a server, and encapsulate this functionality into GetNetworkErrorMsg(). 2006-04-03 18:31:01 +00:00
network_gamelist.c (svn r3435) - Fix a warning, removed unused extern and some comments in network_gamelist.c 2006-01-26 13:01:53 +00:00
network_gamelist.h (svn r2701) Insert Id tags into all source files 2005-07-24 14:12:37 +00:00
network_gui.c
network_server.c
network_server.h (svn r4521) - Fix: be consistent about the size of the player-name in MP. This hopefully fixes a crash on lesser OS's (eg Win98). Use ttd_strlcpy() to just copy over strings and properly terminate them because different implementations of snprintf() behave differently. Courtesy of TrueLight 2006-04-22 09:46:31 +00:00
network_udp.c
network_udp.h (svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters 2005-09-18 20:56:44 +00:00
network.c
network.h
newgrf_callbacks.h
newgrf_cargo.c
newgrf_cargo.h
newgrf_engine.c (svn r5060) - NewGRF: add support for variable 7F (retrieve GRF parameter) for vehicles 2006-05-31 17:40:48 +00:00
newgrf_engine.h
newgrf_spritegroup.c (svn r5087) - NewGRF: Fix thinko in returning a calculated callback result 2006-06-03 19:17:34 +00:00
newgrf_spritegroup.h (svn r4960) - NewGRF: explicitly handle unsupported variables, instead of returning -1. 2006-05-23 19:36:50 +00:00
newgrf_station.c
newgrf_station.h
newgrf_text.c
newgrf_text.h
newgrf.c (svn r5105) - NewGRF: Move callbackmask from *VehicleInfo to EngineInfo. This simplifies code that works with more than one vehicle type. 2006-06-04 18:22:32 +00:00
newgrf.h (svn r4901) - Codechange: change 'SpriteGroup *' to 'struct SpriteGroup *' within StationSpec and GRFFile struct declarations. Now only code which actually references those pointers needs to know about the SpriteGroup struct. Remove some unnecessary lingering header dependencies. 2006-05-17 21:26:12 +00:00
news_gui.c (svn r3778) - Fix crash when resizing news history window. 2006-03-06 23:01:35 +00:00
news.h (svn r3758) Remove the news validation callback. It is superseded by r3757. 2006-03-04 11:15:44 +00:00
npf.c (svn r5116) Move the overly generic GetDepotDirection() from a header to its only consumer 2006-06-05 08:34:39 +00:00
npf.h (svn r4153) -Codechange. Changed NPF_TILE_LENGTH into an enum and moved it out of variables.h. Just a drop in the bucket, but it is a start 2006-03-29 19:00:56 +00:00
oldloader.c (svn r4917) - NewGRF: remove _custom_sprites_base, now used only to rejig vehicle images from ttd games, as we redetermine all vehicle images after game load anyway. 2006-05-20 08:12:59 +00:00
openttd_vs80.sln (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 2006-05-27 16:12:16 +00:00
openttd_vs80.vcproj
openttd.c (svn r5070) Merged the bridge branch 2006-06-02 13:05:41 +00:00
openttd.dsp (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 2006-05-27 16:12:16 +00:00
openttd.dsw (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 2006-05-27 16:12:16 +00:00
openttd.h
openttd.ico
openttd.sln
openttd.tgt (svn r4205) Whoops, forgot to add os_timer.c to project 2006-03-31 16:11:09 +00:00
openttd.vcproj
order_cmd.c
order_gui.c
order.h (svn r4131) - CodeChange: Add proper semantics for StationID for such variables instead of using the general uint16-type. StationID was added for depots, waypoints and stations where necessary. We probably need to change GetDepot(), IsDepotIndex(), IsStationIndex(), GetWaypoint() and IsWaypointIndex() as well to use StationID. 2006-03-26 22:55:27 +00:00
os2.c (svn r4808) - Fix GetCharacterWidth() change in os2.c missed in r4802. 2006-05-09 15:43:40 +00:00
os_timer.c (svn r4218) - Codechange: Try to make the rdtsc() not present warning message a bit more clear 2006-03-31 21:13:53 +00:00
ottdres.rc
pathfind.c
pathfind.h (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas. 2006-03-29 16:30:26 +00:00
player_gui.c
player.h (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas. 2006-03-29 16:30:26 +00:00
players.c (svn r4915) - Fix: SLE_UINT8 replaced by SLE_BOOL for bool variables (found by Celestar) 2006-05-19 19:36:17 +00:00
pool.c (svn r4471) - Pools: Add a facility for calling a custom function during pool block clean up. 2006-04-18 18:48:50 +00:00
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
rail_cmd.c (svn r5070) Merged the bridge branch 2006-06-02 13:05:41 +00:00
rail_gui.c (svn r5048) - NewStations: Set up clipping areas to draw the station preview graphics in. This prevents larger station graphics from overflowing onto the list. 2006-05-30 21:27:51 +00:00
rail_map.h (svn r5070) Merged the bridge branch 2006-06-02 13:05:41 +00:00
rail.c (svn r5070) Merged the bridge branch 2006-06-02 13:05:41 +00:00
rail.h (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 2006-05-27 16:12:16 +00:00
railtypes.h
readme.txt
resource.h (svn r2701) Insert Id tags into all source files 2005-07-24 14:12:37 +00:00
road_cmd.c
road_gui.c
road_map.c
road_map.h (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 2006-05-27 16:12:16 +00:00
road.h (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 2006-05-27 16:12:16 +00:00
roadveh_cmd.c
roadveh_gui.c (svn r5119) -Fix: If a road vehicle is on a road depot tile and stopped doesn't mean it's in the depot. Use the proper test for this 2006-06-05 10:26:38 +00:00
roadveh.h
saveload.c
saveload.h
screenshot.c (svn r4105) - Feature: Add proper ISO-8859-15 <> LOCALCODE conversion. As the mess that is makefile can't properly support it at the moment, it is only available for MACOSX. Windows doesn't need FS conversion and I have no idea about OS/2 so it's disabled for them. 2006-03-25 09:22:10 +00:00
screenshot.h (svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters 2005-09-18 20:56:44 +00:00
sdl.c
sdl.h
settings_gui.c (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 2006-05-27 16:12:16 +00:00
settings.c (svn r5076) CodeChange: [YAPF] Platform selection feature related settings added into regular savegames (breaks savegame compatibility only with r5070 and 5071). 2006-06-02 16:31:35 +00:00
settings.h
ship_cmd.c
ship_gui.c
ship.h
signs.c (svn r4471) - Pools: Add a facility for calling a custom function during pool block clean up. 2006-04-18 18:48:50 +00:00
signs.h (svn r3337) Remove an unused variable and add 2 times static 2005-12-24 20:51:21 +00:00
slope.h (svn r4541) Add a type for slopes and replace many magic numbers by the appropriate enums 2006-04-23 13:48:16 +00:00
smallmap_gui.c
sound.c (svn r4975) - Codechange: increase the number of file handles from 32 to 64 (arbitrary powers of 2!) to allow more GRF files to be loaded. 2006-05-25 09:57:27 +00:00
sound.h (svn r3641) - Rename MusicFilesettings 'btn_down' to more sensible 'playing' 2006-02-20 23:40:53 +00:00
sprite.h (svn r4901) - Codechange: change 'SpriteGroup *' to 'struct SpriteGroup *' within StationSpec and GRFFile struct declarations. Now only code which actually references those pointers needs to know about the SpriteGroup struct. Remove some unnecessary lingering header dependencies. 2006-05-17 21:26:12 +00:00
spritecache.c (svn r4481) - Fix: Validate the given sprite ID when loading a sprite. 2006-04-20 05:57:47 +00:00
spritecache.h
station_cmd.c (svn r5070) Merged the bridge branch 2006-06-02 13:05:41 +00:00
station_gui.c
station_map.c (svn r4938) Remove STATION_HANGAR, because it isn't really a station type of its own 2006-05-21 12:01:57 +00:00
station_map.h
station.h (svn r5063) -Codechange: Add a function to determine the length of a platform (request by KUDr) 2006-06-01 09:41:35 +00:00
StdAfx.c (svn r2701) Insert Id tags into all source files 2005-07-24 14:12:37 +00:00
stdafx.h (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 2006-05-27 16:12:16 +00:00
string.c (svn r3322) - Fix: Network window crash when it receives invalid information for example from the integrated nightly, so validate the network-input when it is received 2005-12-20 20:52:05 +00:00
string.h
strings.c
strings.h (svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters 2005-09-18 20:56:44 +00:00
subsidy_gui.c (svn r3405) - Feature: Make subsidies window pinnable. Don't ask me why this wasn't included in the first round of pinning. 2006-01-18 18:12:49 +00:00
svnup.sh
terraform_gui.c
texteff.c
thread.c
thread.h (svn r2906) Fix some threaded saving problems. Now the thread only interfaces with the main program through a sort of mutex. Communication uses the function OTTD_SendThreadMessage() with the approiate message which is handled in ProcessSentMessage() during the main loop. 2005-09-02 16:05:59 +00:00
tile.c (svn r4765) Add GetTileMaxZ(), which returns the height of the highest corner of a tile, and use it to simplify the code in a few places 2006-05-07 07:55:05 +00:00
tile.h
town_cmd.c
town_gui.c (svn r4623) - Codechange: s/byte/PlayerID/ 2006-04-29 14:31:16 +00:00
town_map.h (svn r4261) CodeChange : Add and Use Accessor for Houses Construction. And cleaning on town.flags12 too 2006-04-03 14:56:07 +00:00
town.h
train_cmd.c (svn r5105) - NewGRF: Move callbackmask from *VehicleInfo to EngineInfo. This simplifies code that works with more than one vehicle type. 2006-06-04 18:22:32 +00:00
train_gui.c
train.h (svn r3403) -Codechange: [multiheaded engines] the references between the front and rear engines are no longer saved 2006-01-18 15:05:01 +00:00
tree_cmd.c
tree_map.h
tunnel_map.c (svn r3830) Move IsTunnelTile() from tile.h to tunnel_map.h and add IsTunnel(), which just checks for a tunnel, but not the tile type as IsTunnelTile() does 2006-03-12 15:04:03 +00:00
tunnel_map.h
tunnelbridge_cmd.c
unix.c
unmovable_cmd.c (svn r4572) Remove vehicle_leave_tile_proc 2006-04-25 07:32:33 +00:00
unmovable_map.h (svn r4648) - Fix (r4196): Company HQ's were not upgraded during the monthly loops. 2006-05-01 13:24:37 +00:00
unmovable.h (svn r4194) -Codechange: Renamed UpdatePlayerHouse to UpdateCompanyHQ because the rest of the code calls it Comapany HQ. Moved it to unmovable_cmd.c because CompanyHQ is an unmovable and has nothing to do with economy. 2006-03-31 08:59:19 +00:00
variables.h
vehicle_gui.c
vehicle_gui.h
vehicle.c
vehicle.h (svn r5094) Remove _new_{aircraft,roadveh,ship,train,wagon}_id. _new_vehicle_id is enough. 2006-06-04 09:28:33 +00:00
viewport.c
viewport.h
void_map.h
water_cmd.c
water_map.h
waypoint.c
waypoint.h
widget.c
win32.c
win32.h
win64.asm
window.c
window.h
yapf.txt

OpenTTD README
Last updated:    2006-03-26
Release version: 0.4.7
------------------------------------------------------------------------


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 beginning the translation
      process! This avoids double work, as someone else may have already
      started translating to the same language.
    * Translators must use the character 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 adventurous 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!