OpenTTD - http://www.openttd.org/ - with additional patches
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
Jonathan G Rennison 769462f537 Squashed commit of the following:
commit b17f39a2016dc11a6a9815f398d690d82a6a59aa
Merge: 67b3190 3bb7c47
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Fri Feb 12 19:44:34 2016 +0100

    Merge branch 'merge/trunk27506' into dev

commit 3bb7c4768580198b7316bfeebc4b870d355439e8
Merge: 14929fe 9db36bd
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Fri Feb 12 19:43:53 2016 +0100

    Merge remote-tracking branch 'openttd/master' into merge/trunk27506

commit 14929fe3536e2aa5b4d6a43d0d55043da7a2f252
Merge: af15609 4b8c698
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Feb 10 22:14:25 2016 +0100

    Merge branch 'master' into merge/trunk27506

commit 67b319060b4b88b72c94b0e0c2c9fdcf1c2fd95d
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sat Feb 28 20:17:13 2015 +0100

    removed 2 unused function calls

commit af15609c938eb388dd507b16fb7b6d547c54c2da
Merge: 5465c88 b251ba3
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sat Feb 28 15:12:33 2015 +0100

    Merge branch 'trunk' into merge_trunk

commit 5465c88c8016c5e7910570ab5795222e8348c703
Author: me <streen01@gmx.de>
Date:   Sat Feb 28 10:59:41 2015 +0100

    regenerated MSVS project files

    forgot to do this, they still retained the old filenames

commit 0391455e29c5ed794fcd0f58c63ff98dc52685ac
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Thu Feb 26 16:53:05 2015 +0100

    removed the patch files from this repo again

    that was a rather dum idea, it made the difference patch between
    branches trunk and tbtr huge.
    the patch files are now being tracked again in the supplimentary repo
    'tbtr_proj', that will keep this fork clean and creating diff-patches
    will be much easier

commit 8395d40386c8d620c90fb4be66cf6679408ac975
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Thu Feb 26 16:27:40 2015 +0100

    fix for reported bug by DC-1: crash in station gui

    the template gui item was added to the drop-down list that was also
    shown in a station gui, but there was no action present when this item
    was selected in a station gui. per default the game would commit suicide
    by called NOT_REACHED() at the default case of the according
    switch-statement.

commit 833873245d33bd77105a82a584d9bec2362419bc
Merge: 39596be 8688c95
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Thu Feb 26 15:08:53 2015 +0100

    Merge branch 'fix_disableTemplateOrderCheck' into tbtr

commit 8688c95a01ed5933a35a08597bbf45ff148f5a67
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Thu Feb 26 15:06:25 2015 +0100

    added fix by DC-1

    don't check the orders list of a virtual vehicle

commit 39596beff9a815a0f9b2ea3abe5d82c3ec5933e7
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Feb 22 10:47:58 2015 +0100

    added history of patches for the mod

commit b3ae74ac4e9143202a1fda1333a91c3716ebb21e
Merge: 9a601a1 ee756e1
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Feb 22 10:03:04 2015 +0100

    Merge branch 'tbtr' into merge_tbtr

commit ee756e1c2229534f1cc05edb97269b0c83ddde66
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Feb 17 22:25:50 2015 +0100

    removed nonsensical comments + disabled code

commit e7d37f0500c56c84a36ce8b93eafb31f800e1086
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Feb 17 21:30:38 2015 +0100

    added some missing renames in includes

commit 63c2b13766b077e4f2923f321e95d53356dee2db
Merge: e92e6ba 9752606
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Feb 17 21:22:11 2015 +0100

    Merge branch 'feat_renameFiles' into merge_renameFiles

    Conflicts:
    	src/tbtr_template_gui_create_virtualtrain.cpp

commit 975260643d212f8cac72485f2011011210622849
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Mon Feb 9 22:11:18 2015 +0100

    replaced source file prefix: aaa -> tbtr

commit e92e6ba7089564886d17dd5c1fd8d85ea0ca4ac7
Merge: 62d2f80 ac16eab
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Feb 8 15:02:19 2015 +0100

    Merge branch 'rm_TODOs' into dev

    Conflicts:
    	src/aaa_template_gui_main.cpp

commit 62d2f809edf170cfbeb0599822c4c3d4f9a1fefe
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Feb 8 14:59:36 2015 +0100

    i++ -> ++i

commit ac16eabc082f62b9fe2ef6c11a314f8e9a28c26b
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Feb 8 14:34:36 2015 +0100

    rm'ed TODOs

commit 22f642f32265882b8f99b409b517823991c08101
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Feb 8 14:17:49 2015 +0100

    rm TODO

    yes, depends on the selected template because the button "Start
    replacing" means, to start the replacement for the currently selected
    group and template (create a templatereplacement object for this
    combination)

commit 60d8192838e340a3cf6899979361c997df73b716
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Feb 8 14:17:26 2015 +0100

    rm'ed TODO: included task in TODO-list

commit 39e42674ac9f5ad5dd056b613e80ef4e754c1153
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Feb 8 11:19:36 2015 +0100

    changed window class in use: WC_NONE -> WC_TEMPLATE_GUI_MAIN

commit cadfac96e21aeb862b75e0454197ddce89fb728c
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Mon Jan 26 23:18:29 2015 +0100

    removed a weird call to deleteAllTmplReplacements

    was a TODO task, it was set to delete all template replacements
    belonging to group with id -1, which does not exist, ever

commit dc1058464c29f61b6197dec556ec468d1ff38451
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Jan 25 23:27:03 2015 +0100

    removed some TODOs

commit 7afeb17db512600424039099a0f4bd78882fcd8e
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Jan 25 11:35:47 2015 +0100

    removed all MYGUI comments

    tried to replace them with useful comments where necessary
    added a few new TODOs here and there

commit 6b9453224a77811062254e6bce7dac4074b829a8
Merge: 292a5aa 687bc4c
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Jan 18 20:47:06 2015 +0100

    Merge branch 'fix_compiler_warnings' into dev

commit 687bc4c34fbb9ddeaf15b4857b235a9709dd85be
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Jan 18 20:43:26 2015 +0100

    fixed all remaining warnings

commit ada08d7097772e325b7852fd058d8bad7036ae4d
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Jan 18 18:25:45 2015 +0100

    removed testing code that produced a warning

commit f3b1568384f36998aeb1fa51c1fab4cfb96c7f93
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Jan 18 00:07:34 2015 +0100

    removed unused variable REPLACEMENT_IN_PROGRESS

commit 5aa9098880070cfaa3d2815f445497b2886933f9
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Jan 18 00:02:43 2015 +0100

    removed variable 'mode' from ClickedOnVehicle()

    member function of class TemplateCreateWindow
    in the depot gui the mode variable is used to decide whether a vehicle
    is started or dragged or ...

    here, we only drag so the mode is never used

commit 292a5aa9dba9cf1d0003e84055fb95357f922454
Merge: 8f6df8c 2bb12bc
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Jan 14 23:41:29 2015 +0100

    Merge branch 'feat_mergePatch0.4c' into dev

commit 2bb12bcf283cccc8869bf537b79b22f479cb7203
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Jan 14 23:32:04 2015 +0100

    added vi's .swp files to .gitignore

commit aecf6f549b32f92342f8e0b65158bebef6270537
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Jan 13 20:15:25 2015 +0100

    corrected UpdateViewport code

    was VehicleUpdateViewport(Vehicle*, bool) before
    is  Vehicle::UpdateViewport(bool, bool) now

commit ae199283fd5ac0199cef1c4c980561122d030199
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Mon Jan 12 22:34:22 2015 +0100

    updated code for EngineNumberSorter

commit 9735035c6dd4ded9bb76958722dc25e26ced5f05
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Jan 11 18:36:17 2015 +0100

    removed unused parameter 'part_of_chain'

    from cargo movement code

commit b8b86e1f2592288ddcfb46a0a5d81c3257da60d3
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Jan 4 21:44:17 2015 +0100

    Reimplemented moving of cargo

    - uses the new shift function
    - manages to spread the old cargo of replaced vehicles from a chain across the memebers of the newly constructed chain

    some TODOs are left within the code and some testing needs to be done,
    how this behaves when there is more than one vehicle being replaced

commit 0d76e1bfe10ef207ac5e4018976e9fba0b0bb25e
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sat Jan 3 01:05:54 2015 +0100

    fixed saveload code for TemplateVehicle

commit ba0ea6975f48fe38c2b5376ebc83c23d6bb6151c
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Fri Jan 2 11:32:23 2015 +0100

    final changes for the merge

    - removed the WDF_UNLICK_BUTTON
    - updated ctor calls to Window()
    - disabled the engine number sorter

commit 9cc213335046b3febfe6649fde40b00e1bb43d5b
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Fri Jan 2 11:29:03 2015 +0100

    disabled cargo movement during templrpl

    need to reimplement this step since the cargo is now moved
    packet-by-packet and not as a complete list from a vehicle onto another
    vehicle anymore

commit 39743806d0156f8547670c525af0e59083dbcd49
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Fri Jan 2 11:16:54 2015 +0100

    replaced cargo function 'Count'

    - not available anymore: VehicleCargoList::Count()
    - using StoredCount() for now, should check if this is the correct count

commit 9b240bbf9b2ee5659bbcb518e9e2767103861254
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Fri Jan 2 01:27:56 2015 +0100

    final corrections for template_gui_create_virtualtrain

commit cf0d48d8fa052ff521e1fac0ec75d75107c9b76e
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Fri Jan 2 01:20:30 2015 +0100

    disbabled usage of not-anymore-existing newgrf_engine.h::ListPositionOfEngine

commit 81da16b7f0c3ea2417b24707329d1d971a67e82e
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Fri Jan 2 01:09:53 2015 +0100

    fixed typo in value WID_BV_SORT_ASSENDING_DESCENDING

commit c8f81a5c3df5ccf4858bda64a53979af510ccd87
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Fri Jan 2 01:09:25 2015 +0100

    create_virtual_train: uint GetEngineListHeight not static

commit bd29d99f80bd824e28104f3bc839fc2a5abdd297
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Fri Jan 2 00:57:25 2015 +0100

    template_gui_create: static WindowDesc not const

commit edee9c1c544845459102328209b98d424cfd3248
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Fri Jan 2 00:44:50 2015 +0100

    updated call to Window::FinishInitNested

commit 25fc3cb7ed6db15f42bd3fdff9506621fbba3d72
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Thu Jan 1 23:56:48 2015 +0100

    updated ctor calls for classes derived from Window

    - first param in the constructor used to be const WindowDesc*, now it is
      WindowDesc*

commit 54d710170f1ce9cf5539cd525744ca61f4089e7b
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Thu Jan 1 02:50:29 2015 +0100

    updated constr calls to WindowDesc::WindowDesc

    need a const char* at 2nd pos now

commit 7c954141f00666dec4c9559019a1a4af3b452372
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Dec 31 02:30:02 2014 +0100

    applied patch vehicle.cpp

commit aa12720049a3dfb1c2e02d453813bd567b67ff60
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Dec 31 02:22:54 2014 +0100

    applied patch vehicle_gui.cpp (failed hunks 2,4,5/6)

commit 2b8e70f15478072264f1e063418f8de0744a98e1
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Dec 31 02:13:29 2014 +0100

    applied patch train_cmd.cpp (failed hunk 1/8)

commit 47499523bf1ed0cce5fdf6cc2a7102e571dcb07d
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Dec 31 02:07:00 2014 +0100

    applied patch newgrf_engine.cpp

commit 7a40c62a7b5ab8059981270252a7def69eacb7d7
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Dec 31 02:02:52 2014 +0100

    applied patch vehicle_cmd.cpp (failed hunks 2,3/3)

commit 277839abd8cb7eb277e4ed6cb72e0f3da5b7e479
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Dec 31 01:56:35 2014 +0100

    applied patch saveload.h (failed hunk 1/1)

commit 7b64c87ad3dede6442a88dafa5aa8a6a3e0db812
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Dec 31 01:53:56 2014 +0100

    applied patch group_gui.cpp (failed hunks 2,3/4)

commit 8075261c526004e21534fa0ab80429132d5f634b
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Dec 31 01:46:24 2014 +0100

    applied patch vehiclelist.cpp (failed hunk 1/2)

commit b1c197c0f38e45fb50dad7f7e33f1438b150a34f
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Wed Dec 31 01:42:04 2014 +0100

    applied patch train.h (failed hunk 1/3)

commit 81bfa209e92fa74387420cc85851767d2737c1b0
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:10 2014 +0100

    applied patch viewport.cpp.patch (file src/viewport.cpp)

commit 5c083054544eabac9260a75033198c665b169215
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:10 2014 +0100

    applied patch train_gui.cpp.patch (file src/train_gui.cpp)

commit 3c3534621c6b37530035faadfa092d70fed724c9
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:10 2014 +0100

    applied patch source.list.patch (file source.list)

commit 6bbb071431882d4bab43023f7194f96c824e78e5
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:10 2014 +0100

    applied patch saveload_internal.h.patch (file src/saveload/saveload_internal.h)

commit 158640eb786cc7867c9e689eb8a92a209e528a83
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:10 2014 +0100

    applied patch saveload.cpp.patch (file src/saveload/saveload.cpp)

commit e171ad716c126e98bc045f5ce574ac6161f3ab4f
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:10 2014 +0100

    applied patch openttd_vs90.vcproj.patch (file projects/openttd_vs90.vcproj)

commit b77486d89c12a80f73f088759da760abd0af7f49
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:10 2014 +0100

    applied patch openttd_vs80.vcproj.patch (file projects/openttd_vs80.vcproj)

commit 57f9c52fc580da51e20bd40f116fe66c9a0f3669
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:10 2014 +0100

    applied patch openttd_vs100.vcxproj.patch (file projects/openttd_vs100.vcxproj)

commit bda1f739a415600a7f522b1c7f9ca53fa7713ed3
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:10 2014 +0100

    applied patch openttd_vs100.vcxproj.filters.patch (file projects/openttd_vs100.vcxproj.filters)

commit ed96771b03e726e5cb56cac9a8328c3a1e63856b
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:10 2014 +0100

    applied patch newgrf_spritegroup.cpp.patch (file src/newgrf_spritegroup.cpp)

commit 3df57e0d855fef5f54be4fd8d25e231a7eb3c3f1
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:10 2014 +0100

    applied patch group_cmd.cpp.patch (file src/group_cmd.cpp)

commit da31ca4b67d6993f127c6cecac717eb286ead4e6
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch english.txt.patch (file src/lang/english.txt)

commit ddc0af7139fccbae4060c70440f17c763e3bba96
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch depot_gui.cpp.patch (file src/depot_gui.cpp)

commit 88aca9db192c6a2b92185f56505caf8b91d23ab4
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch autoreplace_cmd.cpp.patch (file src/autoreplace_cmd.cpp)

commit 45ca80f7c9847ac3afe181a0badeb12bbbd5ed0d
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch articulated_vehicles.cpp.patch (file src/articulated_vehicles.cpp)

commit 44bd0bf2e77f366b61f96b0f4ca564f2e2e5814a
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch afterload.cpp.patch (file src/saveload/afterload.cpp)

commit 679f9b327f9d3f3bec327ae0266f289981972c85
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch aaa_template_veh_sl.cpp.patch (file src/saveload/aaa_template_veh_sl.cpp)

commit ebcec221ec7c1988e85ba458283ff362e034e6d5
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch aaa_template_vehicle.h.patch (file src/aaa_template_vehicle.h)

commit ad690e74b95d2aa07157b73834eef672c63ef901
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch aaa_template_vehicle_func.h.patch (file src/aaa_template_vehicle_func.h)

commit 5982153c369432fc694daaa91a06dfefeeb29485
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch aaa_template_vehicle_func.cpp.patch (file src/aaa_template_vehicle_func.cpp)

commit 773f889e165b013de96736fa380d5ab5c311b3dd
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch aaa_template_vehicle.cpp.patch (file src/aaa_template_vehicle.cpp)

commit 03af781d69a09863d3b76ee4911e5eecd90a7cf5
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch aaa_template_replacement_sl.cpp.patch (file src/saveload/aaa_template_replacement_sl.cpp)

commit ab6cb0562fd390d551670dbc27e0c3c94c8554db
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch aaa_template_gui_replaceall.cpp.patch (file src/aaa_template_gui_replaceall.cpp)

commit d88452a6195c55e39bceb3ea7689fc546c4eee6a
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:43:09 2014 +0100

    applied patch aaa_template_gui_main.cpp.patch (file src/aaa_template_gui_main.cpp)

commit ab6ac687f355d400ad9ebc154e75477671a8e0fa
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:42:21 2014 +0100

    applied patch aaa_template_gui_create_virtualtrain.cpp.patch (file src/aaa_template_gui_create_virtualtrain.cpp)

commit 288d14b9b145cb045b6a287d23cf3be4f2712ede
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:38:12 2014 +0100

    applied patch aaa_template_gui_create.cpp.patch (file src/aaa_template_gui_create.cpp)

commit 5342db70e07fb7c1f3c41654abd2c6a4c51472c4
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Tue Dec 30 01:18:32 2014 +0100

    applied aaa_* header files

commit 6f14e94a0ad715a33a2653cf6c12e1c2981ace8d
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Dec 28 17:29:55 2014 +0100

    applied vehicle_base.h.patch

commit b76a5ce921fab5d81b60755ce66db71e38664e9b
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Dec 28 17:29:28 2014 +0100

    applied window_type.h.patch

commit d33d738c7e3477de3f12affcc74c88194a61c442
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Dec 28 17:28:30 2014 +0100

    applied newgrf_engine.h.patch

commit 931fd1143706bc76aa145e1430645cb4496f9f4a
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Dec 28 17:27:21 2014 +0100

    applied vehicle_gui.h.patch

commit f6c4ab089dad5a4a01401e18cffa8f20e02f733e
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Dec 28 17:00:52 2014 +0100

    applied vehicle_gui_base.h.patch

commit 5f7378136758fcc4987791d264856169950cbfe2
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Dec 28 12:34:23 2014 +0100

    applied build_vehicle_widget.h.patch

commit 5c6fc73847a2f34573260721bb68c7b552d546bc
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Dec 28 12:01:10 2014 +0100

    applied autoreplace_func.h

commit 7636f27011841d01e5f954c855dfa0cf1859e0e0
Author: Thomas Schmidt <streen01@gmx.de>
Date:   Sun Dec 28 12:01:00 2014 +0100

    applied newgrf.h

Remove some spurious whitespace changes, update projects files.
8 years ago
bin (svn r27496) -Update: Baseset translations 9 years ago
docs (svn r27210) -Doc[FS#6268]: OpenTTD tiles have more attributes nowadays (Samu). 9 years ago
media (svn r27265) -Fix: Truncated comment in openttd.grf 9 years ago
os (svn r27463) -Merge: Documentation updates from 1.5 branch 9 years ago
projects Squashed commit of the following: 8 years ago
src Squashed commit of the following: 8 years ago
.gitignore (svn r23656) -Fix: make all vcs ignore docs/gamedocs/ just like docs/aidocs/ 13 years ago
.hgignore (svn r23656) -Fix: make all vcs ignore docs/gamedocs/ just like docs/aidocs/ 13 years ago
COPYING (svn r25781) -Doc: Add licensing section to readme.txt. 11 years ago
Doxyfile (svn r25595) -Fix-ish: move the Doxygen .tag files into objs, so they are automatically ignored and removed upon mrproper/distclean. Furthermore remove the gamedocs folder too 11 years ago
Makefile.bundle.in (svn r27399) -Fix: [Makefile] game script directory and compat*.nut were never installed on *nix 9 years ago
Makefile.grf.in (svn r27263) -Doc: nforenum is part of grfcodec for some years. 9 years ago
Makefile.in (svn r25595) -Fix-ish: move the Doxygen .tag files into objs, so they are automatically ignored and removed upon mrproper/distclean. Furthermore remove the gamedocs folder too 11 years ago
Makefile.lang.in (svn r26497) -Fix: make sure the strgen and settingsgen code gets notified of changes to safeguards.h 10 years ago
Makefile.msvc (svn r22581) -Add: 'make regression' support to Makefile.msvc 13 years ago
Makefile.setting.in (svn r26497) -Fix: make sure the strgen and settingsgen code gets notified of changes to safeguards.h 10 years ago
Makefile.src.in (svn r26194) -Change: add SSE detection to the configure script with the possibility to disable it (based on patch by MJP) 11 years ago
changelog.txt (svn r27463) -Merge: Documentation updates from 1.5 branch 9 years ago
config.lib (svn r27472) -Change [FS#6401] (r20219): On Haiku use the appropriate system variable to obtain the include dir (aarroyoc) 9 years ago
configure (svn r26194) -Change: add SSE detection to the configure script with the possibility to disable it (based on patch by MJP) 11 years ago
findversion.sh (svn r27079) -Fix: Compilation with freetype2 version 2.5.4 and newer (AMDmi3) 10 years ago
known-bugs.txt (svn r27169) -Update: Documentation 9 years ago
readme.txt (svn r27299) -Doc: game script and ai library paths were wrong in readme. 9 years ago
source.list Squashed commit of the following: 8 years ago

readme.txt

Last updated:    2015-02-24
Release version: 1.5.0-beta2
------------------------------------------------------------------------


Table of contents
-----------------
1.0) About
2.0) Contacting
 * 2.1) Reporting bugs
 * 2.2) Reporting desyncs
3.0) Supported platforms
4.0) Installing and running OpenTTD
 * 4.1) (Required) 3rd party files
 * 4.2) OpenTTD directories
 * 4.3) Portable installations (portable media)
 * 4.4) Files in tar (archives)
5.0) OpenTTD features
 * 5.1) Logging of potentially dangerous actions
6.0) Configuration file
7.0) Compiling
 * 7.1) Required/optional libraries
 * 7.2) Supported compilers
 * 7.3) Compilation of base sets
8.0) Translating
 * 8.1) Translation
 * 8.2) Previewing
9.0) Troubleshooting
10.0) Licensing
X.X) Credits


1.0) About
---- -----
OpenTTD is a transport simulation game based upon the popular game Transport
Tycoon Deluxe, 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,
but includes some 3rd party software under different licenses. See the
section "Licensing" below for details.

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.oftc.net).

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

You can also find the OpenTTD forums at
http://forum.openttd.org/

2.1) Reporting bugs
---- --------------
First of all, check whether the bug is not already known. Do this by looking
through the file called 'known-bugs.txt' which is distributed with OpenTTD
like this readme.

For tracking our bugs we are using a bug tracker called Flyspray. You can find
the tracker at http://bugs.openttd.org/. Before actually reporting take a look
through the already reported bugs there to see if the bug is already known.
The 'known-bugs.txt' file might be a bit outdated at the moment you are
reading it as only bugs known before the release are documented there. Also
look through the recently closed bugs.

When you are sure it is not already reported you should:
 * Make sure you are running a recent version, i.e. run the latest stable or
   nightly based on where you found the bug.
 * Make sure you are not running a non-official binary, like a patch pack.
   When you are playing with a patch pack you should report any bugs to the
   forum thread related to that patch pack.
 * Make it reproducible for the developers. In other words, create a savegame
   in which you can reproduce the issue once loaded. It is very useful to give
   us the crash.dmp, crash.sav, crash.log and crash screenshot which are
   created on crashes.
 * Check whether the bug is already reported on our bug tracker. This includes
   searching for recently closed bug reports as the bug might already be fixed.

After you have done all that you can report the bug. Please include the
following information in your bug report:
 * OpenTTD version (PLEASE test the latest SVN/nightly build)
 * Bug details, including instructions how to reproduce it
 * Platform (Windows, Linux, FreeBSD, ...) and compiler (including version) if
   you compiled OpenTTD yourself.
 * The processor architecture of your OS (32 bits Windows, 64 bits Windows,
   Linux on an ARM, Mac OS X on a PowerPC, ...)
 * Attach a saved game *and* 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.
 * Attach crash.dmp, crash.log and crash.sav. These files are usually created
   next to your openttd.cfg. The crash handler will tell you the location.

2.2) Reporting desyncs
---- -----------------
As desyncs are hard to make reproducible OpenTTD has the ability to log all
actions done by clients so we can replay the whole game in an effort to make
desyncs better reproducible. You need to turn this ability on. When turned
on an automatic savegame will be made once the map has been constructed in
the 'save/autosave' directory, see OpenTTD directories to know where to find
this directory. Furthermore the log file 'commands-out.log' will be created
and all actions will be written to there.

To enable the desync debugging you need to set the debug level for 'desync'
to at least 1. You do this by starting OpenTTD with '-d desync=<level>' as
parameter or by typing 'debug_level desync=<level>' in OpenTTD's internal
console.
The desync debug levels are:
 0: nothing.
 1: dumping of commands to 'commands-out.log'.
 2: same as 1 plus checking vehicle caches and dumping that too.
 3: same as 2 plus monthly saves in autosave.
 4 and higher: same as 3

Restarting OpenTTD will overwrite 'commands-out.log'. OpenTTD will not remove
the savegames (dmp_cmds_*.sav) made by the desync debugging system, so you
have to occasionally remove them yourself!

The naming format of the desync savegames is as follows:
dmp_cmds_XXXXXXXX_YYYYYYYY.sav. The XXXXXXXX is the hexadecimal representation
of the generation seed of the game and YYYYYYYY is the hexadecimal
representation of the date of the game. This sorts the savegames by game and
then by date making it easier to find the right savegames.

When a desync has occurred with the desync debugging turned on you should file
a bug report with the following files attached:
 - commands-out.log as it contains all the commands that were done
 - the last saved savegame (search for the last line beginning with
   'save: dmp_cmds_' in commands-out.log). We use this savegame to check
   whether we can quickly reproduce the desync. Otherwise we will need...
 - the first saved savegame (search for the first line beginning with 'save'
   where the first part, up to the last underscore '_', is the same). We need
   this savegame to be able to reproduce the bug when the last savegame is not
   old enough. If you loaded a scenario or savegame you need to attach that.
 - optionally you can attach the savegames from around 50%, 75%, 85%, 90% and
   95% of the game's progression. We can use these savegames to speed up the
   reproduction of the desync, but we should be able to reproduce these
   savegames based on the first savegame and commands-out.log.
 - in case you use any NewGRFs you should attach the ones you used unless
   we can easily find them ourselves via bananas or when they are in the
   #openttdcoop pack.

Do NOT remove the dmp_cmds savegames of a desync you have reported until the
desync has been fixed; if you, by accident, send us the wrong savegames we
will not be able to reproduce the desync and thus will be unable to fix it.


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

  BeOS                 - SDL or Allegro
  DOS                  - Allegro
  FreeBSD              - SDL
  Linux                - SDL or Allegro
  MacOS X (universal)  - Cocoa video and sound drivers
  MorphOS              - SDL
  OpenBSD              - SDL
  OS/2                 - SDL
  Windows              - Win32 GDI (faster) or SDL or Allegro


4.0) Installing and running OpenTTD
---- ------------------------------
Installing OpenTTD is fairly straightforward. Either you have downloaded an
archive which you have to extract to a directory where you want OpenTTD to
be installed, or you have downloaded an installer, which will automatically
extract OpenTTD in the given directory.

OpenTTD looks in multiple locations to find the required data files (described
in section 4.2). Installing any 3rd party files into a 'shared' location has
the advantage that you only need to do this step once, rather than copying the
data files into all OpenTTD versions you have.
Savegames, screenshots, etc are saved relative to the config file (openttd.cfg)
currently being used. This means that if you use a config file in one of the
shared directories, savegames will reside in the save/ directory next to the
openttd.cfg file there.
If you want savegames and screenshots in the directory where the OpenTTD binary
resides, simply have your config file in that location. But if you remove this
config file, savegames will still be in this directory (see notes in
section 4.2 'OpenTTD directories')

OpenTTD comes without AIs, so if you want to play with AIs you have to download
them. The easiest way is via the 'Check Online Content' button in the main menu.
You can select some AIs that you think are compatible with your playing style.
Another way is manually downloading the AIs from the forum although then you
need to make sure that you install all the required AI libraries too; they get
automatically selected (and downloaded) if you get the AIs via the 'Check
Online Content'. If you do not have an AI but have configured OpenTTD to start
an AI a message will be shown that the 'dummy' AI has been started.

4.1) (Required) 3rd party files
---- --------------------------
Before you run OpenTTD, you need to put the game's data files into a baseset/
directory which can be located in various places addressed in the following
section.

For OpenTTD you need to acquire some third party data files. For this you have
the choice of using the original Transport Tycoon Deluxe data files or a set
of free data files.

Do NOT copy files included with OpenTTD into 'shared' directories (explained in
the following sections) as sooner or later you will run into graphical glitches
when using other versions of the game.

4.1.1) Free graphics and sound files
------ -----------------------------
The free data files, split into OpenGFX for graphics, OpenSFX for sounds and
OpenMSX for music can be found at:
 - http://www.openttd.org/download-opengfx for OpenGFX
 - http://www.openttd.org/download-opensfx for OpenSFX
 - http://www.openttd.org/download-openmsx for OpenMSX
Please follow the readme of these packages about the installation procedure.
The Windows installer can optionally download and install these packages.

4.1.2) Original Transport Tycoon Deluxe graphics and sound files
------ ---------------------------------------------------------
If you want to play with the original Transport Tycoon Deluxe data files you
have to copy the data files from the CD-ROM into the baseset/ directory. It
does not matter whether you copy them from the DOS or Windows version of
Transport Tycoon Deluxe. The Windows install can optionally copy these files.
You need to copy the following files:
 - sample.cat
 - trg1r.grf or TRG1.GRF
 - trgcr.grf or TRGC.GRF
 - trghr.grf or TRGH.GRF
 - trgir.grf or TRGI.GRF
 - trgtr.grf or TRGT.GRF

4.1.3) Original Transport Tycoon Deluxe music
------ --------------------------------------
If you want the Transport Tycoon Deluxe music, copy the files from the gm/
folder from the Windows version of Transport Tycoon Deluxe to the baseset
folder in your OpenTTD folder (also explained in the following sections).
The music from the DOS version as well as the original Transport Tycoon does
not work.

4.1.4) AIs
------ ---
If you want AIs use the in-game content downloader. If for some reason that is
not possible or you want to use an AI that has not been uploaded to the content
download system download the tar file and place it in the ai/ directory. If the
AI needs libraries you will have to download those too and put them in the
ai/library/ directory. All AIs and AI Libraries that have been uploaded to
the content download system can be found at http://noai.openttd.org/downloads/
The AIs and libraries can be found their in the form of .tar.gz packages.
OpenTTD can read inside tar files but it does not extract .tar.gz files by
itself.
To figure out which libraries you need for an AI you have to start the AI and
wait for an error message to pop up. The error message will tell you
'could not find library "lib-name"'. Download that library and try again.

4.1.5) Game scripts
------ ------------
If you want an extra challenge in OpenTTD you can download so-called game
scripts via the in-game content downloader. These game scripts have varying
functionality, though they can generally influence town growth, subsidies, add
goals to reach or provide a different ranking system.
If you download a game script manually you have to follow the same rules as for
AIs, except that game scripts are placed in the game/ directory instead of the
ai/ directory.


4.2) OpenTTD directories
---- -------------------
OpenTTD uses its own directory to store its required 3rd party base set files
(see section 4.1 'Required 3rd party files') and non-compulsory extension and
configuration files. See below for their proper place within this OpenTTD main
data directory.

The main OpenTTD directories can be found in various locations, depending on
your operating system:
	1. The current working directory (from where you started OpenTTD)
		For non-Windows operating systems OpenTTD will not scan for files in this
		directory if it is your personal directory, i.e. '~/', or when it is the
		root directory, i.e. '/'.
	2. Your personal directory
		Windows: C:\My Documents\OpenTTD (95, 98, ME)
		         C:\Documents and Settings\<username>\My Documents\OpenTTD (2000, XP)
		         C:\Users\<username>\Documents\OpenTTD (Vista, 7)
		Mac OSX: ~/Documents/OpenTTD
		Linux:   $XDG_DATA_HOME/openttd which is usually ~/.local/share/openttd when
		         built with XDG base directory support, otherwise ~/.openttd
	3. The shared directory
		Windows: C:\Documents and Settings\All Users\Shared Documents\OpenTTD (2000, XP)
		         C:\Users\Public\Documents\OpenTTD (Vista, 7)
		Mac OSX: /Library/Application Support/OpenTTD
		Linux:   not available
	4. The binary directory (where the OpenTTD executable is)
		Windows: C:\Program Files\OpenTTD
		Linux:   /usr/games
	5. The installation directory (Linux only)
		Linux:   /usr/share/games/openttd
	6. The application bundle (Mac OSX only)
		It includes the OpenTTD files (grf+lng) and it will work as long as they
		are not touched

Different types of data or extensions go into different subdirectories of the
chosen main OpenTTD directory:
	Config File:         (no subdirectory)
	Screenshots:         screenshot
	Base Graphics:       baseset                 (or a subdirectory thereof)
	Sound Sets:          baseset                 (or a subdirectory thereof)
	NewGRFs:             newgrf                  (or a subdirectory thereof)
	32bpp Sets:          newgrf                  (or a subdirectory thereof)
	Music Sets:          baseset                 (or a subdirectory thereof)
	AIs:                 ai                      (or a subdirectory thereof)
	AI Libraries:        ai/library              (or a subdirectory thereof)
	Game Scripts (GS):   game                    (or a subdirectory thereof)
	GS Libraries:        game/library            (or a subdirectory thereof)
	Savegames:           save
	Automatic Savegames: save/autosave
	Scenarios:           scenario

The (automatically created) directory content_download is for OpenTTD's internal
use and no files should be added to it or its subdirectories manually.

Notes:
	- Linux in the previous list means .deb, but most paths should be similar for
	  others.
	- The previous search order is also used for NewGRFs and openttd.cfg.
	- If openttd.cfg is not found, then it will be created using the 2, 4, 1, 3,
	  5 order. When built with XDG base directory support, openttd.cfg will be
	  created in $XDG_CONFIG_HOME/openttd which is usually ~/.config/openttd.
	- Savegames will be relative to the config file only if there is no save/
	  directory in paths with higher priority than the config file path, but
	  autosaves and screenshots will always be relative to the config file.
	  Unless the configuration file is in $XDG_CONFIG_HOME/openttd, then all
	  other files will be saved under $XDG_DATA_HOME/openttd.

The preferred setup:
Place 3rd party files in shared directory (or in personal directory if you do
not have write access on shared directory) and have your openttd.cfg config
file in personal directory (where the game will then also place savegames and
screenshots).

4.3) Portable installations (portable media)
---- ---------------------------------------
You can install OpenTTD on external media so you can take it with you, i.e.
using a USB key, or a USB HDD, etc.
Create a directory where you shall store the game in (i.e. OpenTTD/).
Copy the binary (OpenTTD.exe, OpenTTD.app, openttd, etc), baseset/ and your
openttd.cfg to this directory.
You can copy binaries for any operating system into this directory, which will
allow you to play the game on nearly any computer you can attach the external
media to.
As always - additional grf files are stored in the newgrf/ dir (for details,
again, see section 4.1).

4.4) Files in tar (archives)
---- -----------------------
OpenTTD can read files that are in an uncompressed tar (archive), which
makes it easy to bundle files belonging to the same script, NewGRF or base
set. Music sets are the only exception as they cannot be stored in a tar
file due to being played by external applications.

OpenTTD sees each tar archive as the 'root' of its search path. This means that
having a file with the same path in two different tar files means that one
cannot be opened, after all only one file will be found first. As such it is
advisable to put an uniquely named folder in the root of the tar and put all the
content in that folder. For example, all downloaded content has a path that
concatenates the name of the content and the version, which makes the path
unique. For custom tar files it is advised to do this as well.

The normal files are also referred to by their relative path from the search
directory, this means that also normal files could hide files in a tar as
long as the relative path from the search path of the normal file is the
same as the path in the tar file. Again it is advised to have an unique path
to the normal file so they do not collide with the files from other tar
files.


5.0) OpenTTD features
---- ----------------
OpenTTD has a lot of features going beyond the original Transport Tycoon Deluxe
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 Advanced Settings dialog. We also implement some
features known from TTDPatch (http://www.ttdpatch.net/).

Several important non-standard controls:

* Ctrl modifies many commands and makes them more powerful. For example Ctrl
  clicking on signals with the build signal tool changes their behaviour, holding
  Ctrl while the track build tool is activated changes it to the track removal
  tool, and so on. See http://wiki.openttd.org/Hidden_features for a non-
  comprehensive list or look at the tooltips.
* Ingame console. More information at
  http://wiki.openttd.org/index.php/Console
* Hovering over a GUI element shows tooltips. This can be changed to right click
  via the advanced settings.

5.1) Logging of potentially dangerous actions
---- ----------------------------------------
OpenTTD is a complex program, and together with NewGRF, it may show a buggy
behaviour. But not only bugs in code can cause problems. There are several
ways to affect game state possibly resulting in program crash or multiplayer
desyncs.
Easier way would be to forbid all these unsafe actions, but that would affect
game usability for many players. We certainly do not want that.
However, we receive bug reports because of this. To reduce time spent with
solving these problems, these potentially unsafe actions are logged in
the savegame (including crash.sav). Log is stored in crash logs, too.

Information logged:

* Adding / removing / changing order of NewGRFs
* Changing NewGRF parameters, loading compatible NewGRF
* Changing game mode (scenario editor <-> normal game)
* Loading game saved in a different OpenTTD / TTDPatch / Transport Tycoon Deluxe /
  original Transport Tycoon version
* Running a modified OpenTTD build
* Changing settings affecting NewGRF behaviour (non-network-safe settings)
* Triggering NewGRF bugs

No personal information is stored.

You can show the game log by typing 'gamelog' in the console or by running
OpenTTD in debug mode.


6.0) Configuration file
---- ------------------
The configuration file for OpenTTD (openttd.cfg) is in a simple Windows-like
.INI format. It is mostly undocumented. Almost all settings can be changed
ingame by using the 'Advanced Settings' window.
When you cannot find openttd.cfg you should look in the directories as
described in section 4.2. If you do not have an openttd.cfg OpenTTD will
create one after closing.


7.0) Compiling
---- ---------
Windows:
  You need Microsoft Visual Studio .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 http://www.openttd.org/download-openttd-useful
  Put the header files into your compiler's include/ directory and the
  library (.lib) files into the lib/ directory.
  For more help with VS see docs/Readme_Windows_MSVC.txt.

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

Solaris, FreeBSD, OpenBSD:
  Use 'gmake', but do a './configure' before the first build.

Linux/Unix:
  OpenTTD can be built with GNU 'make'. On non-GNU systems it is called 'gmake'.
  However, for the first build one has to do a './configure' first.

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)
  However, for the first build one has to do a './configure' first.
  To make a universal binary type './configure --enabled-universal'
  instead of './configure'.

BeOS:
  Use 'make', but do a './configure' before the first build.

MorphOS:
  Use 'make'. However, for the first build one has to do a './configure' first.
  Note that you need the MorphOS SDK, latest libnix updates (else C++ parts of
  OpenTTD will not build) and the powersdl.library SDK. Optionally libz,
  libpng and freetype2 developer files.

OS/2:
  A comprehensive GNU build environment is required to build the OS/2 version.
  See the docs/Readme_OS2.txt file for more information.

DOS:
  A build environment with DJGPP is needed as well as libraries such as
  Allegro, zlib and libpng, which all can be downloaded from the DJGPP
  website. Compilation is straight forward: use make, but do a './configure'
  before the first build. The build binary will need cwsdpmi.exe to be in
  the same directory as the openttd executable. cwsdpmi.exe can be found in
  the os/dos/cwsdpmi subdirectory. If you compile with stripping turned on a
  binary will be generated that does not need cwsdpmi.exe by adding the
  cswdstub.exe to the created OpenTTD binary.

7.1) Required/optional libraries
---- ---------------------------
The following libraries are used by OpenTTD for:
  - libSDL/liballegro: hardware access (video, sound, mouse)
  - zlib: (de)compressing of old (0.3.0-1.0.5) savegames, content downloads,
    heightmaps
  - liblzo2: (de)compressing of old (pre 0.3.0) savegames
  - liblzma: (de)compressing of savegames (1.1.0 and later)
  - libpng: making screenshots and loading heightmaps
  - libfreetype: loading generic fonts and rendering them
  - libfontconfig: searching for fonts, resolving font names to actual fonts
  - libicu: handling of right-to-left scripts (e.g. Arabic and Persian) and
    natural sorting of strings.

OpenTTD does not require any of the libraries to be present, but without
liblzma you cannot open most recent savegames and without zlib you cannot
open most older savegames or use the content downloading system.
Without libSDL/liballegro on non-Windows and non-MacOS X machines you have
no graphical user interface; you would be building a dedicated server.

7.2) Supported compilers
---- -------------------
The following compilers are known to compile OpenTTD:
  - Microsoft Visual C++ (MSVC) 2005, 2008 and 2010.
    Version 2005 gives bogus warnings about scoping issues.
  - GNU Compiler Collection (GCC) 3.3 - 4.4, 4.6 - 4.8.
    Versions 4.1 and earlier give bogus warnings about uninitialised variables.
    Versions 4.4, 4.6 give bogus warnings about freeing non-heap objects.
    Versions 4.6 and later give invalid warnings when lto is enabled.
  - Intel C++ Compiler (ICC) 12.0.
  - Clang/LLVM 2.9 - 3.0
    Version 2.9 gives bogus warnings about code nonconformity.

The following compilers are known not to compile OpenTTD:
  - Microsoft Visual C++ (MSVC) 2003 and earlier.
  - GNU Compiler Collection (GCC) 3.2 and earlier.
    These old versions fail due to OpenTTD's template usage.
  - GNU Compiler Collection (GCC) 4.5. It optimizes enums too aggressively.
    See http://bugs.openttd.org/task/5513 and references therein.
  - Intel C++ Compiler (ICC) 11.1 and earlier.
    Version 10.0 and earlier fail a configure check and fail with recent system
        headers.
    Version 10.1 fails to compile station_gui.cpp.
    Version 11.1 fails with an internal error when compiling network.cpp.
  - Clang/LLVM 2.8 and earlier.
  - (Open) Watcom.

If any of these compilers can compile OpenTTD again, please let us know.
Patches to support more compilers are welcome.

7.3) Compilation of base sets
-----------------------------
To recompile the extra graphics needed to play with the original Transport
Tycoon Deluxe graphics you need GRFCodec (which includes NFORenum) as well.
GRFCodec can be found at: http://www.openttd.org/download-grfcodec
The compilation of these extra graphics does generally not happen, unless
you remove the graphics file using 'make maintainer-clean'.

Re-compilation of the base sets, thus also use of --maintainer-clean can
leave the repository in a modified state as different grfcodec versions can
cause binary differences in the resulting grf. Also translations might have
been added for the base sets which are not yet included in the base set
information files. Use the configure option --without-grfcodec to avoid
modification of the base set files by the build process.


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

The use of the online Translator service, located at
http://translator.openttd.org/, is highly encouraged. For getting an account
simply follow the guidelines in the FAQ of the translator website.

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

Please contact the translations manager (http://www.openttd.org/contact)
before beginning the translation process! This avoids double work, as
someone else may have already started translating to the same language.

8.1) Translation
---- -----------
So, now that you have 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 /src/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.2) Previewing
---- ----------
In order to view the translation in the game, you need to compile your language
file with the strgen utility. As this utility is tailored to a specific OpenTTD
version, you need to compile it yourself. Just take the normal OpenTTD sources
and build that. During the build process the strgen utility will be made.

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 is 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. Please install OpenGFX and
possibly OpenSFX and OpenMSX. See section 4.1.1 for more information.

Under certain circumstance, especially on Ubuntu OpenTTD can be extremely slow
and/or freeze. See known-bugs.txt for more information and how to solve this
problem on your computer.

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 OSes are not known
for their stability.

With the added support for font-based text selecting a non-latin language can
result in lots of question marks ('?') being shown on screen. Please open your
configuration file (openttd.cfg - see Section 4.2 for where to find it)
and add a suitable font for the small, medium and / or large font, e.g.:
	small_font = "Tahoma"
	medium_font = "Tahoma"
	large_font = "Tahoma"
You should use a font name like 'Tahoma' or a path to the desired font.

Any NewGRF file used in a game is stored inside the savegame and will refuse
to load if you do not have that NewGRF file available. A list of missing files
can be viewed in the NewGRF window accessible from the file load dialogue window.

You can try to obtain the missing files from that NewGRF dialogue or - if they
are not available online - you can search manually through our forum's graphics
development section (http://www.tt-forums.net/viewforum.php?f=66) or GrfCrawler
(http://grfcrawler.tt-forums.net/). Put the NewGRF files in OpenTTD's newgrf folder
(see section 4.2 'OpenTTD directories') and rescan the list of available NewGRFs.
Once you have all missing files, you are set to go.

10.0) Licensing
----- ---------
OpenTTD is licensed under the GNU General Public License version 2.0. For
the complete license text, see the file 'COPYING'. This license applies
to all files in this distribution, except as noted below.

The squirrel implementation in src/3rdparty/squirrel is licensed under
the Zlib license. See src/3rdparty/squirrel/COPYRIGHT for the complete
license text.

The md5 implementation in src/3rdparty/md5 is licensed under the Zlib
license. See the comments in the source files in src/3rdparty/md5 for
the complete license text.

The implementations of Posix getaddrinfo and getnameinfo for OS/2 in
src/3rdparty/os2 are distributed partly under the GNU Lesser General Public
License 2.1, and partly under the (3-clause) BSD license. The exact licensing
terms can be found in src/3rdparty/os2/getaddrinfo.c resp.
src/3rdparty/os2/getnameinfo.c.

The exe2coff implementation in os/dos/exe2coff is available under the
GPL, with a number of additional terms. See os/dos/exe2coff/copying and
os/dos/exe2coff/copying.dj for the exact licensing terms.

The CWSDPMI implementation in os/dos/cwsdpmi is distributed under a
custom binary-only license that prohibits modification. The exact
licensing terms can be found in os/dos/cwsdpmi/cwsdpmi.txt. The sources
for these files can be downloaded at its author site, at:
http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip

X.X) Credits
---- -------
The OpenTTD team (in alphabetical order):
  Albert Hofkamp (Alberth)        - GUI expert (since 0.7)
  Matthijs Kooijman (blathijs)    - Pathfinder-guru, Debian port (since 0.3)
  Ulf Hermann (fonsinchen)        - Cargo Distribution (since 1.3)
  Christoph Elsenhans (frosch)    - General coding (since 0.6)
  Loïc Guilloux (glx)             - Windows Expert (since 0.4.5)
  Michael Lutz (michi_cc)         - Path based signals (since 0.7)
  Owen Rudge (orudge)             - Forum host, OS/2 port (since 0.1)
  Peter Nelson (peter1138)        - Spiritual descendant from newGRF gods (since 0.4.5)
  Ingo von Borstel (planetmaker)  - General coding, Support (since 1.1)
  Remko Bijker (Rubidium)         - Lead coder and way more (since 0.4.5)
  José Soler (Terkhen)            - General coding (since 1.0)
  Leif Linse (Zuu)                - AI/Game Script (since 1.2)

Inactive Developers:
  Jean-François Claeys (Belugas)  - GUI, newindustries and more (0.4.5 - 1.0)
  Bjarni Corfitzen (Bjarni)       - MacOSX port, coder and vehicles (0.3 - 0.7)
  Victor Fischer (Celestar)       - Programming everywhere you need him to (0.3 - 0.6)
  Jaroslav Mazanec (KUDr)         - YAPG (Yet Another Pathfinder God) ;) (0.4.5 - 0.6)
  Jonathan Coome (Maedhros)       - High priest of the NewGRF Temple (0.5 - 0.6)
  Attila Bán (MiHaMiX)            - WebTranslator 1 and 2 (0.3 - 0.5)
  Zdeněk Sojka (SmatZ)            - Bug finder and fixer (0.6 - 1.3)
  Christoph Mallon (Tron)         - Programmer, code correctness police (0.3 - 0.5)
  Patric Stout (TrueBrain)        - NoProgrammer (0.3 - 1.2), sys op (active)
  Thijs Marinussen (Yexo)         - AI Framework, General (0.6 - 1.3)

Retired Developers:
  Tamás Faragó (Darkvater)        - Ex-Lead coder (0.3 - 0.5)
  Dominik Scherer (dominik81)     - Lead programmer, GUI expert (0.3 - 0.3)
  Emil Djupfeld (egladil)         - MacOSX port (0.4 - 0.6)
  Simon Sasburg (HackyKid)        - Bug fixer (0.4 - 0.4.5)
  Ludvig Strigeus (ludde)         - Original author of OpenTTD, main coder (0.1 - 0.3)
  Cian Duffy (MYOB)               - BeOS port / manual writing (0.1 - 0.3)
  Petr Baudiš (pasky)             - Many patches, newgrf support, etc. (0.3 - 0.3)
  Benedikt Brüggemeier (skidd13)  - Bug fixer and code reworker (0.6 - 0.7)
  Serge Paquet (vurlix)           - 2nd contributor after ludde (0.1 - 0.3)

Thanks to:
  Josef Drexler                   - For his great work on TTDPatch.
  Marcin Grzegorczyk              - For his TTDPatch work and documentation of Transport Tycoon Deluxe internals and track foundations
  Stefan Meißner (sign_de)        - For his work on the console
  Mike Ragsdale                   - OpenTTD installer
  Christian Rosentreter (tokai)   - MorphOS / AmigaOS port
  Richard Kempton (RichK67)       - Additional airports, initial TGP implementation
  Alberto Demichelis              - Squirrel scripting language
  L. Peter Deutsch                - MD5 implementation
  Michael Blunck                  - For revolutionizing TTD with awesome graphics
  George                          - Canal graphics
  Andrew Parkhouse (andythenorth) - River graphics
  David Dallaston (Pikka)         - Tram tracks
  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!