1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-13 17:49:10 +00:00

Compare commits

..

53 Commits

Author SHA1 Message Date
rubidium
3cc2d23d07 (svn r16905) -Release: 0.7.2-RC2 2009-07-21 18:45:01 +00:00
rubidium
a86469d6bc (svn r16904) [0.7] -Backport language updates 2009-07-21 18:28:34 +00:00
rubidium
d567f99ecf (svn r16902) [0.7] -Backport from trunk:
- Fix: When marking trains stuck do not reset the unload/stuck counter when the vehicle is unloading. It will be automatically reset once the vehicle wants to leave the station [FS#3046] (r16901)
- Fix: [NoAI]: Small errors in the API documentation [FS#3037] (r16865)
- Fix: Savegames from before 0.4 would get their waypoint 'index' messed up (r16854)
- Fix: Cargo payments were not destroyed when a vehicle was destructed. This only happened when you crashed a vehicle while it was unloading [FS#3032, FS#3046] (r16801)
2009-07-21 17:17:20 +00:00
rubidium
969d538026 (svn r16835) [0.7] -Backport from trunk:
- Fix: Call the AI Save() function only once so AIs can not crash OpenTTD [FS#3034] (r16834)
- Fix: Use the palette of the vehicle being drawn instead of the one of the front vehicle (r16819)
- Update: language files
2009-07-15 20:29:45 +00:00
rubidium
5cde77086d (svn r16830) [0.7] -Backport from trunk:
- Change: Introduce a plural 'rule' for Korean (r16811)
- Fix: Automatic resizing of SelectCompanyLiveryWindow was not working as expected [FS#3021] (r16809)
2009-07-14 20:38:45 +00:00
rubidium
6d8d781d5c (svn r16807) [0.7] -Fix (r16806): shouldn't forget to revert the 'mistakes' of the script :( 2009-07-13 10:31:41 +00:00
rubidium
08dc96571a (svn r16806) [0.7] -Backport from trunk: language updates 2009-07-13 10:27:27 +00:00
rubidium
a123484ee0 (svn r16804) [0.7] -Backport from trunk:
- Fix: Service orders did not behave like conditional orders; if a train does not need service it did not completely skip the order, but still go in the direction of the depot [FS#3031] (r16802)
- Fix: Houses would not get build on the map edge [FS#3025] (r16795)
- Fix: Audio playback rate was fixed at 11025Hz regardless of the rate specified to the audio driver, resulting in incorrect playback speed. It is still preferable to use 11025Hz output rate if possible as OpenTTD's sample rate converter is very low quality (r16784)
- Fix: Do not use the same error message for turning around road vehicles and flipping parts of trains in the depot [FS#3019] (r16772)
2009-07-13 10:16:50 +00:00
rubidium
3edbb1a543 (svn r16803) [0.7] -Backport from trunk:
- Add: [NoAI] AIVehicle::GetReliability to get the current reliability of vehicles (r16790)
- Fix: The win32 and win64 binary packages would not get their readme converted to DOS line endings (r16769)
- Fix: [NoAI] AITile::GetCargoProduction/Acceptance did not accept a radius of 0 anymore (r16767)
- Fix: In the refit window the "Select cargo type to carry" line always showed the ship refit tooltip [FS#3018] (r16757)
2009-07-13 09:57:37 +00:00
rubidium
893bccf4c8 (svn r16744) [0.7] -Backport from trunk:
- Fix: r16660 and r16669 are needed to make r16709 work as it should.
- Fix: some small 'errors' in the English language file
2009-07-04 21:06:17 +00:00
rubidium
a97240dede (svn r16742) [0.7] -Backport from trunk:
- Fix: Only pay for whatever has been actually unloaded and perform the payment when unloading has finished [FS#2995] (r16694)
2009-07-04 17:39:00 +00:00
rubidium
876d064c4d (svn r16741) [0.7] -Backport from trunk:
- Fix: When loading a savegame Engine::grffile might be left NULL in certain cases (dynamic_engines enabled, articulated vehicle with only wagon-override action3s) (r16737)
- Fix: Show Close instead of Cancel when there is nothing to canel in the content downloading window [FS#2991] (r16732)
- Fix: [NoAI] AIDepotList contained wrong tiles for hangars when st->xy != st->airport_tile (r16731)
- Fix: The Join station window did not show all stations nearby in some cases (r16728)
- Fix: Invalidate subsidies with invalid source or destination when converting older savegames (r16710)
- Fix: The list of animated tiles could have duplicates (only for old savegames) and tiles that were not animated [FS#2994] (r16709)
2009-07-04 17:20:48 +00:00
rubidium
660fe672e8 (svn r16705) [0.7] -Backport: language updates 2009-06-30 20:29:39 +00:00
rubidium
b49c6e0cbd (svn r16704) [0.7] -Backport from trunk:
- Fix: When SDL/Allegro fail to initialise, fall back on another video driver but not to the null driver (r16702, r16700, r16699)
- Fix: Limit the screen's resolution to 65535x65535 so the dirty pixels stay within bounds of a 32 bits integer [FS#3001] (r16701)
- Fix: Missing debug string for ESRB_SAFE_TILE in YAPF debugging helper [FS#3002] (r16690)
- Fix: When there is no AI version that can load data from the savegame, load the latest version of the same AI instead of a random AI (r16651, r16650, r16649)
2009-06-30 20:11:36 +00:00
rubidium
0ffca06944 (svn r16638) [0.7] -Backport from trunk:
- Fix: Loading of some town data from old savegames was broken (r16631)
- Fix: [NewGRF] Some of the var action 2 80+ variables contained wrong values from NewGRF perspective (r16615, r16613)
- Fix: Antialiased fonts broken; check pixel_mode instead of palette_mode (r16602)
- Fix: Give a more meaningful error message when console commands expect an integer but do not get one (r16600)
2009-06-23 20:48:48 +00:00
rubidium
024aa14f94 (svn r16598) [0.7] -Backport from trunk:
- Fix: Mouse would under some circumstances not be undrawn when drawing the first chat line causing two mouse pointers to be visible [FS#2969] (r16594)
- Fix: Do not crash when tars/NewGRFs are removed, just tell the file could not be opened/found [FS#2967] (r16590)
- Fix: Set default stack size to 1MB to prevent _chstk crash (MSVC) [FS#2978] (r16589, r16588)
- Fix: [Network] Always send the starting date from the game you are currently playing instead the starting date from the config file (r16573)
2009-06-18 22:16:52 +00:00
rubidium
2d454f37f0 (svn r16597) [0.7] -Backport from trunk:
- Fix: Also catch FPEs in saveload and the warning about missing NewGRFs; only happens when assertions are disabled and NewGRFs are missing (r16572)
- Fix: In some cases, train could be stuck in depot [FS#2974] (r16571)
- Fix: [NoAI] AIMarine::AreWaterTilesConnected did not return true for bridge head<>neighbouring water tile (r16563)
- Fix: Removing of duplicates of base graphics set could behave randomly (r16548)
2009-06-18 22:14:13 +00:00
rubidium
a00a4b5ad8 (svn r16539) [0.7] -Backport from trunk:
- Fix: When finding duplicate graphics sets favour the more complete one (r16538)
- Fix: [Squirrel] Crash that occured when an AI was halted while one or more generators were still in a 'running' state [FS#2942] (r16534)
- Fix: [Squirrel] Do not copy an object when we just checked that the pointer to it is NULL (r16532)
- Fix: Notify small UFOs on deletion of road vehicles, so they can head for somewhere else instead of stumbling over a ghost (r16525)
- Update: a few languages.
2009-06-08 22:53:39 +00:00
rubidium
b1d2a8876b (svn r16531) [0.7] -Backport from trunk:
- Fix: [NoAI] StationIDs from oilrigs were not considered valid by the API (r16529)
- Fix: Draw PBS reservation as groundsprite resp. childsprite of foundation/bridgehead [FS#2959] (r16528)
- Fix: Missing guards in the NoAI API making it possible to hit an assert in OpenTTD [FS#2963] (r16524)
- Fix: [NoAI] Possible assert in AI debug window when an AI was stopped an a human company took its CompanyID [FS#2962] (r16522)
- Fix: [NoAI] Make sure AIBridge::BuildBridge returns what the documentation says it does (r16520)
2009-06-07 15:26:33 +00:00
rubidium
253702529d (svn r16511) [0.7] -Backport from trunk:
- Doc: [NoAI] Silence some (AI) doxygen warnings by adding comments about the appropriate things (r16510)
- Fix: [NoAI] All Sleep/DoCommand calls failed instead of only those via a call/acall/pcall function (r16509)
2009-06-03 18:55:45 +00:00
rubidium
65c5e26913 (svn r16508) [0.7] -Backport from trunk:
- Fix: Base graphics names must be unique, so do not add duplicates (r16503)
- Fix: [NoAI] When an AI was suspended while in a function called (indirectly) via call/acall/pcall OpenTTD crashed. Fix this by disallowing AIs to be suspended while called via call/acall/pcall [FS#2935] (r16502)
2009-06-03 13:33:58 +00:00
rubidium
9456d20800 (svn r16500) [0.7] -Backport: lots of changed strings from trunk 2009-06-01 17:48:11 +00:00
rubidium
7ccaa82206 (svn r16482) [0.7] -Backport from trunk:
- Fix: [NewGRF] Invalidate NewGRF variable caches of more vehicles in more places. Esp. they were only invalidated for trains (r16480)
- Fix: [NewGRF] Call callbacks after initialisation of vehicle variables (r16479)
- Fix: [NewGRF] Determining most common (sub-)cargo-type was broken due to someone confusing similiary named variables (r16478)
- Fix: Loading indicator when 'unload' in and 'no loading' is off was pointing to the wrong direction [FS#2936] (r16477)
- Fix: Track reservation was drawn at bridge heads in the menu (r16470)
2009-05-31 12:22:53 +00:00
rubidium
02f3d2d8af (svn r16481) [0.7] -Backport from trunk:
- Fix: [NoAI] Another try/catch related bug (r16454)
- Fix: Road vehicles ending up on the pavement when they are in a drive through station that got removed due to bankruptcy [FS#2909] (r16448)
- Fix: [NoAI] AIRail::GetRailStationDirection returned incorrect information (r16440)
- Fix: Crash when a company is deleted while a dropdown with company names is open (r16430)
- Change: [NoAI] Stop an AI when it takes too long to initialize or load [FS#2869] (r16425)
2009-05-31 12:18:03 +00:00
rubidium
7742f8c080 (svn r16423) [0.7] -Backport from trunk:
- Fix: Do not allow content download via the console when there is no zlib as it is done for the GUI already [FS#2919] (r16420)
- Fix: Some 64bit architectures require size_t to be aligned at 8-byte boundary, ensure it for MemBlock (r16415)
- Add: [NoAI] AISignList that can be used to get a list of valid signs (r16400)
- Fix: [NewGRF] Disable multitile houses with non-zero population on additional tiles as they cause desyncs and because the specs do not allow that either (r16383)
- Fix: [NewGRF] Valid UTF-8 sequences between 0x20 and 0xFF should be allowed as is instead of being treated as control codes (r16374)
- Fix: [NewGRF] Use a valid StringID as fall-back when undefined generic NewGRF strings of vehicles are requested (r16366)
2009-05-25 17:15:15 +00:00
rubidium
ba01583ce3 (svn r16364) [0.7] -Backport from trunk:
- Fix: The previously selected NewGRF station type was still remembered after switching to a different game without newstations enabled, preventing stations from being built (r16363)
- Fix: Pointer incremented with wrong count (r16361)
- Fix: Delete invalid depots in TTD savegames caused by improper SVXConverter conversions (r16357)
2009-05-21 11:47:45 +00:00
rubidium
498e5989d1 (svn r16355) [0.7] -Backport from trunk:
- Fix: Invalid read when OTTD savegame contains VEH_INVALID (r16353)
- Fix: Signal handler could end in endless loop (r16351)
- Fix: [NewGRF] When overriding 'original sounds', only allow overriding of the 'original sounds' and not any other that is already loaded (r16339)
- Fix: Desyncs when removing lots of stations/towns (r16329, r16328)
[0.7] -Cleanup: unify style of changelog
2009-05-18 20:17:28 +00:00
rubidium
ab7b117c50 (svn r16324) [0.7] -Backport from trunk:
- Fix: Desyncs due to the fact that depot searching with a maximum search depth simply does not work with YAPF's caches [FS#2900] (r16323)
- Fix: Trains could get stuck in a depot when they wanted to go to the same depot again [FS#2873] (r16322)
- Fix: In the scenario editor change the (starting) game year of the scenario, not the (starting) game year for new games/scenarios (r16321)
- Fix: Loading of savegames created in revision between 0.3.5 and 0.3.6 caused crash (r16320)
- Fix: [NoAI] Set the autorenew settings for new AI companies to the default values, not to 0 or the local settings (r16316)
- Fix: [NewGRF] Allow accessing the house age when the house is not yet built (r16314)
- Fix: (Get|Set)TrackBits() is only valid for RAIL_TILE_NORMAL and _SIGNALS (r16311)
2009-05-16 20:29:53 +00:00
rubidium
085b498c28 (svn r16310) [0.7] -Backport from trunk:
- Fix: Parameter is invalid when it is equal to length of an array (r16308)
- Fix: Close all windows before unloading the AI system as closing the content-download window will rescan for AIs [FS#2901] (r16306)
- Fix: ICC (Intel C++ Compiler) defined __GNUC__ but does not define __builtin_bswap32, so fall back to the default swap method for ICC (r16295)
- Fix: Road vehicles were unable to find a depot when turning around (in some cases), causing 'nearest depot' orders to be occasionally lost [FS#2893] (r16291
2009-05-15 10:24:13 +00:00
rubidium
30eff93341 (svn r16309) [0.7] -Backport from trunk:
- Fix: Unable to (re)set the desert state for watery tiles [FS#2888] (r16290)
- Fix: Possible (in theory) desync related to autorenew settings (r16287)
- Fix: Crash after using the 'Reset landscape' function and remove all waypoint signs and buoys after resetting landscape (r16280)
- Fix: [NewGRF] Disable multitile houses for which the newgrf does not define proper additional tiles (r16274)
2009-05-15 10:17:00 +00:00
rubidium
139a213d4d (svn r16278) [0.7] -Backport from trunk:
- Fix: The language is called Slovak, not Slovakish (r16090)
2009-05-11 15:35:26 +00:00
rubidium
06c45d6fe5 (svn r16275) [0.7] -Backport a lot of language updates from trunk. 2009-05-10 22:35:36 +00:00
rubidium
8446d6b8c2 (svn r16273) [0.7] -Backport from trunk:
- Fix: Wrong number of parameters or wrong parameter types sent to printf-like functions at several places (r16269)
- Fix: [NewGRF] When callback 2E returns an amount of 0, do not transport 1 unit to the station (r16268)
- Fix: [NoAI] Various documentation omissions with respect to IDs of various objects and corners for AITile::(Raise|Lower)Tile (r16267,r16266)
2009-05-10 21:33:55 +00:00
rubidium
9676072298 (svn r16272) [0.7] -Backport from trunk:
- Fix: [NoAI] Check slopes passed to the API better for validity (r16264, r16262)
- Fix: [NewGRF] Interpret setting bridge property 08 to 0 as always available (r16263)
- Add: [NoAI] AIController::GetVersion, this returns the version of OpenTTD in the same way as for NewGRFs (r16253)
- Add: [NoAI] AIAirport::GetPrice, returning the building cost of an airport (r16252)
- Fix: [NoAI] Enable parameter checking for AIController::* functions again (r16249)
2009-05-10 21:26:46 +00:00
rubidium
2db7e3a0a8 (svn r16248) [0.7] -Backport from trunk:
- Fix: Improve corner case order handling: mark order as done only when actually done, obey non-stop orders, do only stop/refit at the depot in the order (r16240,r16228,r16199,r16198,r16187)
- Fix: Use the stop/non-stop intermediate orderflags AIs can give for goto-depot orders (r16239)
2009-05-06 23:21:43 +00:00
rubidium
1e9fd18e6a (svn r16247) [0.7] -Backport from trunk:
- Fix: [NoAI] Make sure AITunnel::BuildTunnel returns what the documentation says it does (r16244)
- Fix: [NoAI] CmdBuildTunnel could be called with invalid parameters from the API code, causing crashes later [FS#2875] (r16243)
- Fix: [NewGRF] ActionB should use the online parameters from GRFFile instead of the initial user-specified values from GRFConfig. Also use the values as they were set when the ActionB was executed, not as they are set when the message is shown (r16223)
- Fix: Possible crashes when quiting OpenTTD or forcing resizes/redraws of the screen during map generation [FS#2862] (r16220)
- Fix: Shared orders without orders were not properly converted causing corrupt/invalid orders when loading pre 0.7 savegames [FS#2878] (r16214)
2009-05-06 22:37:19 +00:00
rubidium
909af50aaa (svn r16246) [0.7] -Backport from trunk:
- Fix: [Squirrel] the traps variable wasn't restored, causing try/catch blocks to be 'forgotten' during a suspend (r16181)
- Add: [NoAI] Two new error codes to AITile: ERR_AREA_ALREADY_FLAT and ERR_EXCAVATION_WOULD_DAMAGE (r16171)
- Add: [NoAI] AITile::Get(Min|Max|Corner)Height (r16166)
- Add: [NoAI] Several functions to AIOrder to check the what kind of order an order is [FS#2801] (r16165)
- Fix: [NoAI] AIOrder::GetOrderDestination and AIOrder::GetOrderFlags didn't work on ORDER_CURRENT when the vehicle was loading/leaving in a station (r16165)
- Fix: [NoAI] Change WAYPOINT_INVALID to 0xFFFF from -1 as that is the value the AIs got (due to casting) (r16150)
2009-05-06 22:31:52 +00:00
rubidium
07a16f9282 (svn r16245) [0.7] -Backport from trunk:
- Fix: Hardcoded (old sized) MAX_COMPANIES constant (r16182)
- Fix: Do not try to reserve path for trains crashed in station [FS#2866] (r16178)
- Fix: Forbid joining AI companies via the 'move' and 'join' console commands/multiplayer lobby (r16176, r16175)
- Fix: The overflowsafe type did not like dividing by int64 larger than MAX_INT32 causing division by negative numbers and small anomolies when drawing graphs [FS#2855] (r16130)
2009-05-06 22:21:32 +00:00
rubidium
28e7981a5b (svn r16121) [0.7] -Backport from trunk:
- Add: [NoAI] UseAsRandomAI as function in info.nut. When an AI returns false, it will never be chosen as random AI (r16113)
- Fix: [NoAI] Make sure AIOrder::GetDestination always returns a tile belonging to the station (16109)
- Fix: [NoAI] When giving an aircraft a goto-hangar order do not let it be a normal goto-station order (r16108)
- Add: [NoAI] AIOF_STOP_IN_DEPOT to the orderflags in AIOrder to allow stop-in-depot orders (r16107)
- Fix: [NoAI] AIOrder::SetOrderFlags always removed "Service if needed" from goto-depot orders (r16106)
- Add: [NoAI] GetURL() as possible function to info.nut. If AIs implement it, that url is shown when the AI crashes and also in the AI selection window [FS#2808] (r16093)
- Change: [NoAI] Reverse the order of the lines in the AI debug window [FS#2778] (r16091)
- Fix: [NoAI] AIDebug window profiled the blitters by invalidating itself unconditionally on repaint. OTOH it was not invalidated in other cases when needed (r16094)
- Fix: [NoAI] MOF_COND_DESTINATION was not accepted by CmdModifyOrder() (r16063)
2009-04-22 09:00:19 +00:00
rubidium
f7cc97fe5c (svn r16120) [0.7] -Backport from trunk:
- Fix: Road was removed when both the Remove button was active and Ctrl was pressed [FS#2582] (r16119)
- Fix: Connect tried to validate too much of the company ID with too little information on hand [FS#2849] (r16096)
- Fix: Insanely fast trains would not stop in time for stations/'jump' over waypoints/via stations within a tick, which would cause the order not to be processed causing the train to go in loops until (with luck) it 'hit' the tile [FS#2824] (r16079)
- Fix: Content download progress bar 'resetting' due to mathematical overflow [FS#2845] (r16071)
- Fix: Memory leak when querying a server multiple times (r16064)
2009-04-22 08:48:08 +00:00
rubidium
d9ed2d380f (svn r16061) [0.7] -Backport from trunk:
- Fix: Non advanced vehicle list did not handle company switching correctly (r16054)
- Fix: Do not warn that crashed vehicles are getting old; upgrading them is impossible [FS#2740] (r16048)
- Fix: The currency abbreviation for the Romanian Leu is now RON [FS#774] (r16041)
- Fix: Dash was not able to run iconv detection (r16035)
- Fix: [NewGRF] Do not give "... Mines" as name to the station of oil rigs, or more general: do not add "... Mines" when the all of the cargoes are part of the liquid, passenger or mail classes [FS#2785] (r16029)
2009-04-14 21:20:03 +00:00
rubidium
60901368cc (svn r16060) [0.7] -Backport from trunk:
- Fix: Storing/loading some currencies failed due to inconsistent settings "tables" [FS#2826] (r16028)
- Fix: Usage of uninitialised memory when trying to build a random new industry, but there are no industrytypes to choose from (i.e. all appearance probabilities are zero) (r16027)
- Fix: "Build separate station" in the station picker would reuse deleted stations [FS#2818] (r16025)
- Fix: 32 bpp sprites in tars would also be shown in the list of heightmaps [FS#2817] (r16023)
- Fix: Sometimes the unregister "query" thread could be delayed so much that the network stuff was already closed and the packet would never reach the master server causing the server to appear online longer than necessary (r16022)
- Fix: Chance16() did not work for b = 1. Also transform the formula to not use divisions (r16006)
2009-04-14 21:13:07 +00:00
rubidium
9f5e690118 (svn r16059) [0.7] -Backport from trunk:
- Fix: Inconsistency between using NETWORK_NAME_LENGTH and NETWORK_CLIENT_NAME_LENGTH for the length of client names (r15988)
- Fix: [NewGRF] Abort production callback after 0x10000 iterations and show a messagebox blaming the NewGRF [FS#2787] (r15958)
- Fix: [NewGRF] Set callback_param1 (var 10) to 1 only when requested (r15957)
- Fix: Tooltip of detailed ratings window button showed wrong tip (r15943)
- Change: Harden string copying on places where it is possible (r16024)
- Change: Use recent Czech language for plural form (r15965)
2009-04-14 21:07:33 +00:00
rubidium
2fbd7ff6cc (svn r15912) [0.7] -Backport from trunk:
- Update: lots and lots of translations
- Fix: Chat completion got called twice causing tab completion to seemingly fail (r15905)
2009-04-01 14:24:54 +00:00
rubidium
1595413545 (svn r15904) [0.7] -Backport from trunk:
- Feature: Watermark crash.sav and do not generate crash information if a loaded crash.sav causes a crash so the real crash report does not get overwritten (r15893)
- Feature: Add autoclean_novehicles setting which will, when autoclean_companies is true, remove any company with no vehicles and no active client after autoclean_novehicles-months (r15848)
- Add: [NoAI] AIIndustryType::IsBuiltOnWater(), HasHeliport() and HasDock(). Just like AIIndustry (r15901)
- Add: [NoAI] AIBridge::GetBridgeID() so AIs can get the type of bridge that are already build (r15875)
- Add: [NoAI] AIRoad::GetRoadVehicleTypeForCargo() to tell whether a certain cargo needs a bus- or a truckstop (r15860)
2009-03-30 23:22:13 +00:00
rubidium
76b2e1c5ab (svn r15903) [0.7] -Backport from trunk:
- Fix: YAPF did not apply the platform length (too long/too short) penalties (r15900)
- Fix: Fixing the slopes was done a bit more often than intended making map generation with the original generator horribly slow (r15895)
- Fix: YAPF used different penalties for aqueducts than for other water tiles (r15891)
- Fix: Round the production rate up, so e.g. oilrigs always produce some passengers on lowest production level [FS#2772] (r15888)
- Fix: Libtimidity cannot handle frees of NULL (in contrast of most other frees) [FS#2770] (r15886)
- Fix: Make sure house class/ID counters do not overflow (r15831)
2009-03-30 23:15:05 +00:00
rubidium
7e1385b6eb (svn r15828) [0.7] -Prepare: for 0.7.0-RC2. 2009-03-23 00:19:22 +00:00
rubidium
4ec28e1ba7 (svn r15826) [0.7] -Backport from trunk:
- Update: language files
- Fix: Some (newer) GCCs have trouble compiling the Win32 specific part of fontcache.cpp; jumps across variable declarations [FS#2752] (r15818)
- Fix: When sorting on cost do not sort on the running cost [FS#2749] (r15778)
2009-03-23 00:12:52 +00:00
rubidium
30afba1d10 (svn r15775) [0.7] -Backport from trunk:
- Fix: Do not show the message about reporting an AI crash for the dummy AI (r15774)
- Fix: Number of active clients was not always properly updated [FS#2475] (r15773)
- Fix: Settings from the [gameopt] section (from old 0.6 config files) were overwritten with default values (r15771)
- Fix: Infinite loop when skipping sprites when a GRF is invalid (or truncated) (r15767)
- Fix: Crash when opening the content list window twice; inconsistencies when clicking download twice [FS#2744] (r15766)
2009-03-19 23:50:54 +00:00
rubidium
61e97110c9 (svn r15765) [0.7] -Backport from trunk:
- Change: [NewGRF] Expose GRF ID of engines in var action property 0x25 (r15739)
- Fix: Add Engine::GetDisplayDefaultCapacity() and use it everywhere, so CB 36 is also used everywhere (r15763)
- Fix: [Windows] Inlined UTF-8 characters (in the source code) are not handled properly on Eastern versions of Windows so escape them (r15762)
- Fix: [Windows] On some system searching a font using its English name fails. So now we search the font using the localised name and use the English name for the final 'validation' only (r15757)
2009-03-18 19:50:34 +00:00
rubidium
9e592b9986 (svn r15764) [0.7] -Backport from trunk:
- Fix: Number of houses in house variables 0x44, 0x60 and 0x61 were incorrect after 0xFF had been reached and could desync clients joining afterwards (r15755)
- Fix: Crash when clicking the small area between the savegame list and the save button in the save game window [FS#2742] (r15753)
- Fix: Do not try to (un)draw the cursor when the screen is not ready (r15752)
- Fix: The big UFO sometimes landed just outside the map. Instead of landing, just disappear (fly away) in those cases (r15750)
- Fix: Crash because submarines would sometimes start far outside of the map [FS#2739] (r15748)
- Fix: Road ownership getting lost when removing a road stop [FS#2736] (r15747)
- Fix: Update threading code for OS/2, add mutex support, fix compilation (r15746, r15745)
- Fix: When town generator failed to create requested number of towns, there were too many cities (r15744)
2009-03-18 19:47:05 +00:00
rubidium
de7a4a4006 (svn r15737) [0.7] -Prepare: for 0.7.0-RC1. 2009-03-15 22:42:48 +00:00
rubidium
53dc1a89da (svn r15734) [0.7] -Branch: the long awaited branch so we can introduce new features in trunk before 0.7.0, but not let them destabalize the pending release :) 2009-03-15 22:14:10 +00:00
1170 changed files with 227499 additions and 352550 deletions

49
.gitignore vendored
View File

@@ -1,45 +1,12 @@
Makefile*
bin/*
!bin/ai
bin/ai/*
!bin/ai/compat*.nut
!bin/ai/regression
!bin/data
bin/data/*
!bin/data/openttd.grf
!bin/data/opntitle.dat
!bin/data/orig_*.obg
!bin/data/orig_*.obs
!bin/data/no_sound.obs
!bin/gm
bin/gm/*
!bin/gm/no_music.obm
!bin/gm/orig_*.obm
!bin/scripts
bin/scripts/*
!bin/scripts/*.example
!bin/scripts/readme.txt
bundle/*
bundles/*
docs/aidocs/*
docs/source/*
media/openttd.desktop
media/openttd.desktop.install
!bin/data/chars.grf
!bin/data/openttdd.grf
!bin/data/openttdw.grf
!bin/data/opntitle.grf
!bin/scenario/README
!bin/scripts*
config.*
objs/*
projects/Debug
projects/Release
projects/*.ncb
projects/*.suo
projects/*.sdf
projects/*.opensdf
projects/*.vcproj.*.user
projects/*.vcxproj.user
src/rev.cpp
src/os/windows/ottdres.rc
/Makefile*
!/Makefile.msvc
/config.*
!/config.lib
!*.in
*.tmp

View File

@@ -1,26 +1,11 @@
syntax: glob
bin/lang/*
bin/openttd*
bin/*.cfg
bin/opentd*
bundle/*
bundles/*
config.cache*
config.cache.*
config.log
config.pwd
docs/aidocs/*
docs/source/*
Makefile
Makefile.am
Makefile.bundle
media/openttd.desktop
media/openttd.desktop.install
media/openttd.desktop*
objs/*
projects/*.ncb
projects/*.suo
projects/*.sdf
projects/*.opensdf
projects/*.vcproj.*.user
projects/*.vcxproj.user
src/rev.cpp
src/os/windows/ottdres.rc

View File

@@ -1,10 +1,3 @@
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
@@ -33,6 +26,7 @@ STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 2
@@ -89,11 +83,12 @@ FILE_PATTERNS = *.c \
*.cpp \
*.c++ \
*.h \
*.hpp
*.hpp \
table/*.h
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = */3rdparty */.svn
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
@@ -195,8 +190,8 @@ EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = ENABLE_NETWORK ENABLE_AI WITH_ZLIB WITH_LZO WITH_PNG WITH_FONTCONFIG WITH_FREETYPE WITH_ICU UNICODE _UNICODE
EXPAND_AS_DEFINED =
PREDEFINED =
EXPAND_AS_DEFINED = DEF_COMMAND
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references

View File

@@ -1,10 +1,3 @@
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
#
# Creation of bundles
#
@@ -29,16 +22,12 @@ endif
# An OSX application bundle needs the data files, lang files and openttd executable in a different location.
ifdef OSXAPP
AI_DIR = $(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/ai
DATA_DIR = $(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/data
LANG_DIR = $(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/lang
GM_DIR = $(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/gm
TTD_DIR = $(BUNDLE_DIR)/$(OSXAPP)/Contents/MacOS
else
AI_DIR = $(BUNDLE_DIR)/ai
DATA_DIR = $(BUNDLE_DIR)/data
LANG_DIR = $(BUNDLE_DIR)/lang
GM_DIR = $(BUNDLE_DIR)/gm
TTD_DIR = $(BUNDLE_DIR)
endif
@@ -50,28 +39,25 @@ bundle: all
$(Q)mkdir -p "$(BUNDLE_DIR)/media"
$(Q)mkdir -p "$(BUNDLE_DIR)/scripts"
$(Q)mkdir -p "$(TTD_DIR)"
$(Q)mkdir -p "$(AI_DIR)"
$(Q)mkdir -p "$(DATA_DIR)"
$(Q)mkdir -p "$(LANG_DIR)"
$(Q)mkdir -p "$(GM_DIR)"
ifdef OSXAPP
$(Q)mkdir -p "$(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources"
$(Q)echo "APPL????" > "$(BUNDLE_DIR)/$(OSXAPP)/Contents/PkgInfo"
$(Q)cp "$(ROOT_DIR)/os/macosx/openttd.icns" "$(BUNDLE_DIR)/$(OSXAPP)/Contents/Resources/openttd.icns"
$(Q)$(ROOT_DIR)/os/macosx/plistgen.sh "$(BUNDLE_DIR)/$(OSXAPP)" "$(REV)"
$(Q)cp "$(ROOT_DIR)/docs/OSX_install_instructions.txt" "$(BUNDLE_DIR)/docs/"
$(Q)cp "$(ROOT_DIR)/os/macosx/splash.png" "$(DATA_DIR)"
endif
$(Q)cp "$(BIN_DIR)/$(TTD)" "$(TTD_DIR)/"
$(Q)cp "$(BIN_DIR)/ai/"compat_*.nut "$(AI_DIR)/"
$(Q)cp "$(BIN_DIR)/data/"*.grf "$(DATA_DIR)/"
$(Q)cp "$(BIN_DIR)/data/"*.obg "$(DATA_DIR)/"
$(Q)cp "$(BIN_DIR)/data/"*.obs "$(DATA_DIR)/"
$(Q)cp "$(BIN_DIR)/data/opntitle.dat" "$(DATA_DIR)/"
$(Q)cp "$(BIN_DIR)/lang/"*.lng "$(LANG_DIR)/"
$(Q)cp "$(BIN_DIR)/gm/"*.obm "$(GM_DIR)/"
$(Q)cp "$(ROOT_DIR)/readme.txt" "$(BUNDLE_DIR)/"
$(Q)cp "$(ROOT_DIR)/COPYING" "$(BUNDLE_DIR)/"
$(Q)cp "$(ROOT_DIR)/known-bugs.txt" "$(BUNDLE_DIR)/"
$(Q)cp "$(ROOT_DIR)/docs/obg_format.txt" "$(BUNDLE_DIR)/docs/"
$(Q)cp "$(ROOT_DIR)/docs/multiplayer.txt" "$(BUNDLE_DIR)/docs/"
$(Q)cp "$(ROOT_DIR)/docs/32bpp.txt" "$(BUNDLE_DIR)/docs/"
$(Q)cp "$(ROOT_DIR)/changelog.txt" "$(BUNDLE_DIR)/"
@@ -85,8 +71,7 @@ endif
$(Q)cp "$(BIN_DIR)/scripts/"* "$(BUNDLE_DIR)/scripts/"
ifdef MENU_DIR
$(Q)cp "$(ROOT_DIR)/media/openttd.desktop" "$(BUNDLE_DIR)/media/"
$(Q)$(AWK) -f "$(ROOT_DIR)/media/openttd.desktop.translation.awk" "$(SRC_DIR)/lang/"*.txt | $(SORT) >> "$(BUNDLE_DIR)/media/openttd.desktop"
$(Q)sed s/=openttd/=$(BINARY_NAME)/g "$(BUNDLE_DIR)/media/openttd.desktop" > "$(ROOT_DIR)/media/openttd.desktop.install"
$(Q)cat "$(ROOT_DIR)/media/openttd.desktop" | sed s/=openttd/=$(BINARY_NAME)/g > "$(ROOT_DIR)/media/openttd.desktop.install"
endif
ifeq ($(TTD), openttd.exe)
$(Q)unix2dos "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/readme.txt" "$(BUNDLE_DIR)/COPYING" "$(BUNDLE_DIR)/changelog.txt" "$(BUNDLE_DIR)/known-bugs.txt"
@@ -110,11 +95,6 @@ bundle_zip: bundle
$(Q)mkdir -p "$(BUNDLES_DIR)"
$(Q)cd "$(BUNDLE_DIR)" && zip -r $(shell if test -z "$(VERBOSE)"; then echo '-q'; fi) "$(BUNDLES_DIR)/$(BUNDLE_NAME).zip" .
bundle_7z: bundle
@echo '[BUNDLE] Creating $(BUNDLE_NAME).7z'
$(Q)mkdir -p "$(BUNDLES_DIR)"
$(Q)cd "$(BUNDLE_DIR)" && 7z a "$(BUNDLES_DIR)/$(BUNDLE_NAME).7z" .
bundle_gzip: bundle
@echo '[BUNDLE] Creating $(BUNDLE_NAME).tar.gz'
$(Q)mkdir -p "$(BUNDLES_DIR)/.gzip/$(BUNDLE_NAME)"
@@ -129,20 +109,6 @@ bundle_bzip2: bundle
$(Q)cd "$(BUNDLES_DIR)/.bzip2" && tar -jc$(shell if test -n "$(VERBOSE)"; then echo 'v'; fi)f "$(BUNDLES_DIR)/$(BUNDLE_NAME).tar.bz2" "$(BUNDLE_NAME)"
$(Q)rm -rf "$(BUNDLES_DIR)/.bzip2"
bundle_lzma: bundle
@echo '[BUNDLE] Creating $(BUNDLE_NAME).tar.lzma'
$(Q)mkdir -p "$(BUNDLES_DIR)/.lzma/$(BUNDLE_NAME)"
$(Q)cp -R "$(BUNDLE_DIR)/"* "$(BUNDLES_DIR)/.lzma/$(BUNDLE_NAME)/"
$(Q)cd "$(BUNDLES_DIR)/.lzma" && tar --lzma -c$(shell if test -n "$(VERBOSE)"; then echo 'v'; fi)f "$(BUNDLES_DIR)/$(BUNDLE_NAME).tar.lzma" "$(BUNDLE_NAME)"
$(Q)rm -rf "$(BUNDLES_DIR)/.lzma"
bundle_xz: bundle
@echo '[BUNDLE] Creating $(BUNDLE_NAME).tar.xz'
$(Q)mkdir -p "$(BUNDLES_DIR)/.xz/$(BUNDLE_NAME)"
$(Q)cp -R "$(BUNDLE_DIR)/"* "$(BUNDLES_DIR)/.xz/$(BUNDLE_NAME)/"
$(Q)cd "$(BUNDLES_DIR)/.xz" && tar --xz -c$(shell if test -n "$(VERBOSE)"; then echo 'v'; fi)f "$(BUNDLES_DIR)/$(BUNDLE_NAME).tar.xz" "$(BUNDLE_NAME)"
$(Q)rm -rf "$(BUNDLES_DIR)/.xz"
bundle_lha: bundle
@echo '[BUNDLE] Creating $(BUNDLE_NAME).lha'
$(Q)mkdir -p "$(BUNDLES_DIR)/.lha/$(BUNDLE_NAME)"
@@ -160,9 +126,9 @@ bundle_dmg: bundle
bundle_exe: all
@echo '[BUNDLE] Creating $(BUNDLE_NAME).exe'
$(Q)mkdir -p "$(BUNDLES_DIR)"
$(Q)unix2dos "$(ROOT_DIR)/docs/"*.txt "$(ROOT_DIR)/readme.txt" "$(ROOT_DIR)/COPYING" "$(ROOT_DIR)/changelog.txt" "$(ROOT_DIR)/known-bugs.txt"
$(Q)cd $(ROOT_DIR)/os/windows/installer && makensis.exe //DVERSION_INCLUDE=version_$(PLATFORM).txt install.nsi
$(Q)mv $(ROOT_DIR)/os/windows/installer/*$(PLATFORM).exe "$(BUNDLES_DIR)/$(BUNDLE_NAME).exe"
$(Q)unix2dos "$(ROOT_DIR)/docs/"* "$(ROOT_DIR)/readme.txt" "$(ROOT_DIR)/COPYING" "$(ROOT_DIR)/changelog.txt" "$(ROOT_DIR)/known-bugs.txt"
$(Q)cd $(ROOT_DIR)/os/win32/installer && makensis.exe //DVERSION_INCLUDE=version_$(PLATFORM).txt install.nsi
$(Q)mv $(ROOT_DIR)/os/win32/installer/*$(PLATFORM).exe "$(BUNDLES_DIR)/$(BUNDLE_NAME).exe"
ifdef OSXAPP
install:
@@ -173,33 +139,21 @@ install: bundle
$(Q)install -d "$(INSTALL_BINARY_DIR)"
$(Q)install -d "$(INSTALL_ICON_DIR)"
$(Q)install -d "$(INSTALL_DATA_DIR)/gm"
$(Q)install -d "$(INSTALL_DATA_DIR)/ai"
$(Q)install -d "$(INSTALL_DATA_DIR)/data"
$(Q)install -d "$(INSTALL_DATA_DIR)/lang"
$(Q)install -d "$(INSTALL_DATA_DIR)/gm"
$(Q)install -d "$(INSTALL_DATA_DIR)/scripts"
$(Q)install -d "$(INSTALL_DOC_DIR)"
ifeq ($(TTD), openttd.exe)
$(Q)install -m 755 "$(BUNDLE_DIR)/$(TTD)" "$(INSTALL_BINARY_DIR)/${BINARY_NAME}.exe"
else
$(Q)install -m 755 "$(BUNDLE_DIR)/$(TTD)" "$(INSTALL_BINARY_DIR)/${BINARY_NAME}"
endif
$(Q)install -m 644 "$(BUNDLE_DIR)/lang/"* "$(INSTALL_DATA_DIR)/lang"
$(Q)install -m 644 "$(BUNDLE_DIR)/ai/"* "$(INSTALL_DATA_DIR)/ai"
$(Q)install -m 644 "$(BUNDLE_DIR)/data/"* "$(INSTALL_DATA_DIR)/data"
$(Q)install -m 644 "$(BUNDLE_DIR)/gm/"* "$(INSTALL_DATA_DIR)/gm"
$(Q)install -m 644 "$(BUNDLE_DIR)/scripts/"* "$(INSTALL_DATA_DIR)/scripts"
ifndef DO_NOT_INSTALL_DOCS
$(Q)install -d "$(INSTALL_DOC_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/readme.txt" "$(BUNDLE_DIR)/known-bugs.txt" "$(INSTALL_DOC_DIR)"
endif
ifndef DO_NOT_INSTALL_CHANGELOG
$(Q)install -d "$(INSTALL_DOC_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/changelog.txt" "$(INSTALL_DOC_DIR)"
endif
ifndef DO_NOT_INSTALL_LICENSE
$(Q)install -d "$(INSTALL_DOC_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/docs/"* "$(INSTALL_DOC_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/"*.txt "$(INSTALL_DOC_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/COPYING" "$(INSTALL_DOC_DIR)"
endif
$(Q)install -m 644 "$(BUNDLE_DIR)/media/openttd.32.xpm" "$(INSTALL_ICON_DIR)/${BINARY_NAME}.32.xpm"
ifdef ICON_THEME_DIR
$(Q)install -d "$(INSTALL_ICON_THEME_DIR)"
@@ -219,11 +173,9 @@ else
$(Q)install -m 644 "$(BUNDLE_DIR)/media/"*.png "$(INSTALL_ICON_DIR)"
endif
ifdef MAN_DIR
ifndef DO_NOT_INSTALL_MAN
$(Q)install -d "$(INSTALL_MAN_DIR)"
$(Q)install -m 644 "$(BUNDLE_DIR)/man/openttd.6.gz" "$(INSTALL_MAN_DIR)/${BINARY_NAME}.6.gz"
endif
endif
ifdef MENU_DIR
$(Q)install -d "$(INSTALL_MENU_DIR)"
$(Q)install -m 644 "$(ROOT_DIR)/media/openttd.desktop.install" "$(INSTALL_MENU_DIR)/${BINARY_NAME}.desktop"

View File

@@ -1,80 +0,0 @@
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
#
# Building requires GRFCodec and NFORenum. Older versions of GRFCodec are
# known to miscompile the graphics.
#
# Recent nightlies (including sources) of both can be found at:
# http://www.openttd.org/download-grfcodec
# http://www.openttd.org/download-nforenum
#
# The mercurial repository of both can be found at:
# http://hg.openttdcoop.org/grfcodec
# http://hg.openttdcoop.org/nforenum
#
ROOT_DIR = !!ROOT_DIR!!
GRF_DIR = $(ROOT_DIR)/media/extra_grf
BIN_DIR = !!BIN_DIR!!/data
OBJS_DIR = !!GRF_OBJS_DIR!!
OS = !!OS!!
STAGE = !!STAGE!!
# Check if we want to show what we are doing
ifdef VERBOSE
Q =
E = @true
else
Q = @
E = @echo
endif
# Some configurational settings for your environment.
# If GRFCodec doesn't know a command, it'll exit with a non-zero exit code.
GRFCODEC := $(shell grfcodec -s -v >/dev/null 2>/dev/null && echo "grfcodec -s" || echo "grfcodec")
# Old NFORenums don't give an error code when a parameter isn't known, so we have to work around that.
NFORENUM := $(shell [ `nforenum -s -v 2>/dev/null | wc -l ` -eq 1 ] && echo "nforenum -s" || echo "nforenum")
MD5SUM := $(shell [ "$(OS)" = "OSX" ] && echo "md5 -r" || echo "md5sum")
# Some "should not be changed" settings.
NFO_FILES := $(GRF_DIR)/*.nfo
PNG_FILES := $(GRF_DIR)/*.png
# Build the GRF.
all: $(BIN_DIR)/openttd.grf
# Make sure the sprites directory exists.
$(OBJS_DIR)/sprites:
$(Q)-mkdir "$@"
# Generic
$(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(OBJS_DIR)/sprites
@# Only try; if nforenum isn't available, just retouch the file as they likely didn't need it anyway.
$(Q) ($(NFORENUM) --help > /dev/null 2>&1 && $(MAKE) $(OBJS_DIR)/openttd.grf && cp $(OBJS_DIR)/openttd.grf $(BIN_DIR)/openttd.grf) || ([ -e $(BIN_DIR)/openttd.grf ] && touch $(BIN_DIR)/openttd.grf && echo "no NFORenum and GRFCodec found, skipping rebuild of openttd.grf...") || (echo "no NFORenum and GRFCodec found, but no openttd.grf either. Install NFORenum and GRFCodec." && exit 1)
# Yeah, we'd like to use -i in the sed, but Mac OS X's sed and GNU sed just can't agree on the usage of -i. In any case either one of them fails.
$(OBJS_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(OBJS_DIR)/sprites
$(E) '$(STAGE) Assembling openttd.nfo'
$(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null
$(Q) gcc -I$(GRF_DIR) -C -E - < "$(GRF_DIR)/openttd.nfo" | sed -e '/^#/d' -e '/^$$/d' > $(OBJS_DIR)/sprites/openttd.nfo
$(Q) $(NFORENUM) $(OBJS_DIR)/sprites/openttd.nfo
$(E) '$(STAGE) Compiling openttd.grf'
$(Q) $(GRFCODEC) -e -p1 $(OBJS_DIR)/openttd.grf
$(Q) cp $(OBJS_DIR)/openttd.grf $(BIN_DIR)/openttd.grf
$(E) '$(STAGE) Updating base graphics sets'
$(Q) for grf in $(BIN_DIR)/orig*.obg; do sed 's/^OPENTTD.GRF = [0-9a-f]*$$/OPENTTD.GRF = '`$(MD5SUM) $(BIN_DIR)/openttd.grf | sed 's@ .*@@'`'/' $$grf > $$grf.tmp && mv $$grf.tmp $$grf; done
# Clean up temporary files.
clean:
$(Q)rm -f *.bak *.grf
# Clean up temporary files
mrproper: clean
$(Q)rm -fr sprites
.PHONY: all mrproper depend clean

View File

@@ -1,10 +1,3 @@
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
# Check if we want to show what we are doing
ifdef VERBOSE
Q =
@@ -14,37 +7,36 @@ endif
include Makefile.am
CONFIG_CACHE_PWD = !!CONFIG_CACHE_PWD!!
SOURCE_LIST = !!SOURCE_LIST!!
CONFIG_CACHE_SOURCE_LIST = !!CONFIG_CACHE_SOURCE_LIST!!
BIN_DIR = !!BIN_DIR!!
ICON_THEME_DIR = !!ICON_THEME_DIR!!
MAN_DIR = !!MAN_DIR!!
MENU_DIR = !!MENU_DIR!!
SRC_DIR = !!SRC_DIR!!
ROOT_DIR = !!ROOT_DIR!!
BUNDLE_DIR = "$(ROOT_DIR)/bundle"
BUNDLES_DIR = "$(ROOT_DIR)/bundles"
INSTALL_DIR = !!INSTALL_DIR!!
INSTALL_BINARY_DIR = "$(INSTALL_DIR)/"!!BINARY_DIR!!
INSTALL_MAN_DIR = "$(INSTALL_DIR)/$(MAN_DIR)"
INSTALL_MENU_DIR = "$(INSTALL_DIR)/$(MENU_DIR)"
INSTALL_ICON_DIR = "$(INSTALL_DIR)/"!!ICON_DIR!!
INSTALL_ICON_THEME_DIR = "$(INSTALL_DIR)/$(ICON_THEME_DIR)"
INSTALL_DATA_DIR = "$(INSTALL_DIR)/"!!DATA_DIR!!
INSTALL_DOC_DIR = "$(INSTALL_DIR)/"!!DOC_DIR!!
SOURCE_LIST = !!SOURCE_LIST!!
CONFIG_CACHE_PWD = !!CONFIG_CACHE_PWD!!
CONFIGURE_FILES = !!CONFIGURE_FILES!!
LIPO = !!LIPO!!
BIN_DIR = !!BIN_DIR!!
ICON_THEME_DIR = !!ICON_THEME_DIR!!
MAN_DIR = !!MAN_DIR!!
MENU_DIR = !!MENU_DIR!!
SRC_DIR = !!SRC_DIR!!
ROOT_DIR = !!ROOT_DIR!!
BUNDLE_DIR = "$(ROOT_DIR)/bundle"
BUNDLES_DIR = "$(ROOT_DIR)/bundles"
INSTALL_DIR = !!INSTALL_DIR!!
INSTALL_BINARY_DIR = "$(INSTALL_DIR)/"!!BINARY_DIR!!
INSTALL_MAN_DIR = "$(INSTALL_DIR)/$(MAN_DIR)"
INSTALL_MENU_DIR = "$(INSTALL_DIR)/$(MENU_DIR)"
INSTALL_ICON_DIR = "$(INSTALL_DIR)/"!!ICON_DIR!!
INSTALL_ICON_THEME_DIR = "$(INSTALL_DIR)/$(ICON_THEME_DIR)"
INSTALL_DATA_DIR = "$(INSTALL_DIR)/"!!DATA_DIR!!
INSTALL_DOC_DIR = "$(INSTALL_DIR)/"!!DOC_DIR!!
BINARY_NAME = !!BINARY_NAME!!
STRIP = !!STRIP!!
TTD = !!TTD!!
TTDS = $(SRC_DIRS:%=%/$(TTD))
OS = !!OS!!
OSXAPP = !!OSXAPP!!
LIPO = !!LIPO!!
REVISION = !!REVISION!!
AWK = !!AWK!!
SORT = !!SORT!!
DISTCC = !!DISTCC!!
STRIP = !!STRIP!!
TTD = !!TTD!!
TTDS = $(SRC_DIRS:%=%/$(TTD))
OS = !!OS!!
OSXAPP = !!OSXAPP!!
REVISION = !!REVISION!!
AWK = !!AWK!!
DISTCC = !!DISTCC!!
RES := $(shell if [ ! -f $(CONFIG_CACHE_PWD) ] || [ "`pwd`" != "`cat $(CONFIG_CACHE_PWD)`" ]; then echo "`pwd`" > $(CONFIG_CACHE_PWD); fi )
RES := $(shell if [ ! -f $(CONFIG_CACHE_SOURCE_LIST) ] || [ -n "`cmp $(CONFIG_CACHE_SOURCE_LIST) $(SOURCE_LIST) 2>/dev/null`" ]; then cp $(SOURCE_LIST) $(CONFIG_CACHE_SOURCE_LIST); fi )
@@ -54,7 +46,7 @@ ifdef DISTCC
@if [ -z "`echo '$(MFLAGS)' | grep '\-j'`" ]; then echo; echo "WARNING: you enabled distcc support, but you don't seem to be using the -jN paramter"; echo; fi
endif
@for dir in $(DIRS); do \
$(MAKE) -C $$dir all || exit 1; \
$(MAKE) -C $$dir all; \
done
ifdef LIPO
# Lipo is an OSX thing. If it is defined, it means we are building for universal,
@@ -130,25 +122,10 @@ mrproper:
done
$(Q)rm -rf objs
$(Q)rm -f Makefile Makefile.am Makefile.bundle
$(Q)rm -f media/openttd.desktop media/openttd.desktop.install
$(Q)rm -f media/openttd.desktop
$(Q)rm -f $(CONFIG_CACHE_SOURCE_LIST) config.cache config.pwd config.log $(CONFIG_CACHE_PWD)
# directories for bundle generation
$(Q)rm -rf $(BUNDLE_DIR)
$(Q)rm -rf $(BUNDLES_DIR)
# output of profiling
$(Q)rm -f $(BIN_DIR)/gmon.out
# output of generating 'API' documentation
$(Q)rm -f $(ROOT_DIR)/openttd.tag
$(Q)rm -rf $(ROOT_DIR)/docs/source
# output of generating AI API documentation
$(Q)rm -f $(SRC_DIR)/ai/api/openttd.tag
$(Q)rm -rf $(ROOT_DIR)/docs/aidocs
# directories created by OpenTTD on regression testing
$(Q)rm -rf $(BIN_DIR)/ai/regression/content_download $(BIN_DIR)/ai/regression/save $(BIN_DIR)/ai/regression/scenario
distclean: mrproper
maintainer-clean: distclean
$(Q)rm -f $(BIN_DIR)/data/openttd.grf
depend:
@for dir in $(SRC_DIRS); do \
@@ -166,7 +143,6 @@ run-prof: all
regression: all
$(Q)cd !!BIN_DIR!! && sh ai/regression/run.sh
test: regression
%.o:
@for dir in $(SRC_DIRS); do \
@@ -178,6 +154,4 @@ test: regression
$(MAKE) -C $$dir $@; \
done
.PHONY: test distclean mrproper clean
include Makefile.bundle

View File

@@ -1,30 +1,22 @@
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
STRGEN = !!STRGEN!!
ENDIAN_CHECK = !!ENDIAN_CHECK!!
SRC_DIR = !!SRC_DIR!!
LANG_DIR = !!LANG_DIR!!
BIN_DIR = !!BIN_DIR!!
LANGS_SRC = $(shell ls $(LANG_DIR)/*.txt)
LANGS = $(LANGS_SRC:$(LANG_DIR)/%.txt=%.lng)
CXX_BUILD = !!CXX_BUILD!!
CFLAGS_BUILD = !!CFLAGS_BUILD!!
LDFLAGS_BUILD = !!LDFLAGS_BUILD!!
STRGEN_FLAGS = !!STRGEN_FLAGS!!
STAGE = !!STAGE!!
LANG_SUPPRESS = !!LANG_SUPPRESS!!
LANG_OBJS_DIR = !!LANG_OBJS_DIR!!
STRGEN = !!STRGEN!!
ENDIAN_CHECK = !!ENDIAN_CHECK!!
SRC_DIR = !!SRC_DIR!!
LANG_DIR = !!LANG_DIR!!
BIN_DIR = !!BIN_DIR!!
LANGS_SRC = $(shell ls $(LANG_DIR)/*.txt)
LANGS = $(LANGS_SRC:$(LANG_DIR)/%.txt=%.lng)
CXX_BUILD = !!CXX_BUILD!!
CFLAGS_BUILD = !!CFLAGS_BUILD!!
STRGEN_FLAGS = !!STRGEN_FLAGS!!
STAGE = !!STAGE!!
LANG_SUPPRESS= !!LANG_SUPPRESS!!
LANG_OBJS_DIR= !!LANG_OBJS_DIR!!
ifeq ($(LANG_SUPPRESS), yes)
LANG_ERRORS = >/dev/null 2>&1
endif
# Make sure endian_host.h is reachable as if it was in the src/ dir
# Make sure endian_host.h is reasable as if it was in the src/ dir
CFLAGS_BUILD += -I $(LANG_OBJS_DIR)
ENDIAN_TARGETS := endian_host.h endian_target.h $(ENDIAN_CHECK)
@@ -42,7 +34,7 @@ RES := $(shell mkdir -p $(BIN_DIR)/lang )
all: table/strings.h $(LANGS)
strgen.o: $(SRC_DIR)/strgen/strgen.cpp endian_host.h $(SRC_DIR)/table/control_codes.h $(SRC_DIR)/table/strgen_tables.h
strgen.o: $(SRC_DIR)/strgen/strgen.cpp endian_host.h $(SRC_DIR)/table/control_codes.h
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$(Q)$(CXX_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $<
@@ -60,7 +52,7 @@ lang/english.txt: $(LANG_DIR)/english.txt
$(STRGEN): alloc_func.o string.o strgen.o
$(E) '$(STAGE) Compiling and Linking $@'
$(Q)$(CXX_BUILD) $(LDFLAGS_BUILD) $^ -o $@
$(Q)$(CXX_BUILD) $^ -o $@
table/strings.h: lang/english.txt $(STRGEN)
$(E) '$(STAGE) Generating $@'
@@ -88,7 +80,6 @@ clean:
$(Q)rm -f strgen.o string.o table/strings.h $(STRGEN) $(LANGS) $(LANGS:%=$(BIN_DIR)/lang/%) lang/english.* $(ENDIAN_TARGETS)
mrproper: clean
$(Q)rm -rf $(BIN_DIR)/lang
%.lng:
@echo '$(STAGE) No such language: $(@:%.lng=%)'

View File

@@ -1,10 +1,3 @@
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
#
# Makefile for creating bundles of MSVC's binaries in the same way as we make
# the zip bundles for ALL other OSes.
@@ -20,14 +13,14 @@ else
Q = @
endif
AWK = "awk"
ROOT_DIR := $(shell pwd)
BIN_DIR = "$(ROOT_DIR)/bin"
SRC_DIR = "$(ROOT_DIR)/src"
BUNDLE_DIR = "$(ROOT_DIR)/bundle"
AWK = "awk"
ROOT_DIR := $(shell pwd)
BIN_DIR = "$(ROOT_DIR)/bin"
SRC_DIR = "$(ROOT_DIR)/src"
BUNDLE_DIR = "$(ROOT_DIR)/bundle"
BUNDLES_DIR = "$(ROOT_DIR)/bundles"
TTD = openttd.exe
TARGET := $(shell echo $(PLATFORM) | sed "s@win64@x64@;s@win32@Win32@")
TTD = openttd.exe
TARGET := $(shell echo $(PLATFORM) | sed "s@win64@x64@;s@win32@Win32@")
all:
$(Q)cp objs/$(TARGET)/Release/$(TTD) $(BIN_DIR)/$(TTD)

View File

@@ -1,43 +1,32 @@
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
CC_HOST = !!CC_HOST!!
CXX_HOST = !!CXX_HOST!!
CC_BUILD = !!CC_BUILD!!
CXX_BUILD = !!CXX_BUILD!!
WINDRES = !!WINDRES!!
STRIP = !!STRIP!!
CFLAGS = !!CFLAGS!!
CFLAGS_BUILD = !!CFLAGS_BUILD!!
CXXFLAGS = !!CXXFLAGS!!
CXXFLAGS_BUILD = !!CXXFLAGS_BUILD!!
LIBS = !!LIBS!!
LDFLAGS = !!LDFLAGS!!
LDFLAGS_BUILD = !!LDFLAGS_BUILD!!
ROOT_DIR = !!ROOT_DIR!!
BIN_DIR = !!BIN_DIR!!
LANG_DIR = !!LANG_DIR!!
SRC_OBJS_DIR = !!SRC_OBJS_DIR!!
LANG_OBJS_DIR = !!LANG_OBJS_DIR!!
SRC_DIR = !!SRC_DIR!!
SCRIPT_SRC_DIR = !!SCRIPT_SRC_DIR!!
MEDIA_DIR = !!MEDIA_DIR!!
TTD = !!TTD!!
STRGEN = !!STRGEN!!
ENDIAN_CHECK = !!ENDIAN_CHECK!!
DEPEND = !!DEPEND!!
ENDIAN_FORCE = !!ENDIAN_FORCE!!
OS = !!OS!!
STAGE = !!STAGE!!
MAKEDEPEND = !!MAKEDEPEND!!
CFLAGS_MAKEDEP = !!CFLAGS_MAKEDEP!!
SORT = !!SORT!!
REVISION = !!REVISION!!
AWK = !!AWK!!
CC_HOST = !!CC_HOST!!
CXX_HOST = !!CXX_HOST!!
CC_BUILD = !!CC_BUILD!!
CXX_BUILD = !!CXX_BUILD!!
WINDRES = !!WINDRES!!
STRIP = !!STRIP!!
CFLAGS = !!CFLAGS!!
CFLAGS_BUILD = !!CFLAGS_BUILD!!
LIBS = !!LIBS!!
LDFLAGS = !!LDFLAGS!!
ROOT_DIR = !!ROOT_DIR!!
BIN_DIR = !!BIN_DIR!!
LANG_DIR = !!LANG_DIR!!
SRC_OBJS_DIR = !!SRC_OBJS_DIR!!
LANG_OBJS_DIR= !!LANG_OBJS_DIR!!
SRC_DIR = !!SRC_DIR!!
SCRIPT_SRC_DIR=!!SCRIPT_SRC_DIR!!
MEDIA_DIR = !!MEDIA_DIR!!
TTD = !!TTD!!
STRGEN = !!STRGEN!!
ENDIAN_CHECK = !!ENDIAN_CHECK!!
ENDIAN_FORCE = !!ENDIAN_FORCE!!
OS = !!OS!!
STAGE = !!STAGE!!
MAKEDEPEND = !!MAKEDEPEND!!
CFLAGS_MAKEDEP= !!CFLAGS_MAKEDEP!!
SORT = !!SORT!!
REVISION = !!REVISION!!
AWK = !!AWK!!
CONFIG_CACHE_COMPILER = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_COMPILER!!
CONFIG_CACHE_LINKER = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_LINKER!!
CONFIG_CACHE_ENDIAN = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_ENDIAN!!
@@ -58,10 +47,7 @@ RES := $(shell mkdir -p $(BIN_DIR) $(sort $(dir $(OBJS))))
# Make sure endian_target.h is reasable as if it was in the src/ dir
CFLAGS += -I $(SRC_OBJS_DIR) -I $(LANG_OBJS_DIR)
CFLAGS_MAKEDEP += -I $(SRC_OBJS_DIR) -I $(LANG_OBJS_DIR)
ifdef SCRIPT_SRC_DIR
CFLAGS_MAKEDEP += -I $(SCRIPT_SRC_DIR)
endif
CFLAGS_MAKEDEP += -I $(SRC_OBJS_DIR) -I $(LANG_OBJS_DIR) -I $(SCRIPT_SRC_DIR)
ENDIAN_TARGETS := endian_target.h $(ENDIAN_CHECK)
@@ -112,7 +98,7 @@ REV_NR := 0
endif
# This helps to recompile if flags change
RES := $(shell if [ "`cat $(CONFIG_CACHE_COMPILER) 2>/dev/null`" != "$(CXXFLAGS) $(CFLAGS)" ]; then echo "$(CXXFLAGS) $(CFLAGS)" > $(CONFIG_CACHE_COMPILER); fi )
RES := $(shell if [ "`cat $(CONFIG_CACHE_COMPILER) 2>/dev/null`" != "$(CFLAGS)" ]; then echo "$(CFLAGS)" > $(CONFIG_CACHE_COMPILER); fi )
RES := $(shell if [ "`cat $(CONFIG_CACHE_LINKER) 2>/dev/null`" != "$(LDFLAGS) $(LIBS)" ]; then echo "$(LDFLAGS) $(LIBS)" > $(CONFIG_CACHE_LINKER); fi )
RES := $(shell if [ "`cat $(CONFIG_CACHE_ENDIAN) 2>/dev/null`" != "$(ENDIAN_FORCE)" ]; then echo "$(ENDIAN_FORCE)" > $(CONFIG_CACHE_ENDIAN); fi )
@@ -141,18 +127,18 @@ endif
$(OBJS_C:%.o=%.d): %.d: $(SRC_DIR)/%.c $(FILE_DEP)
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.c=%.c)'
$(Q)$(CC_HOST) $(CFLAGS) -MM $< | sed 's@^$(@F:%.d=%.o):@$@ $(@:%.d=%.o):@' > $@
$(Q)$(CC_HOST) $(CC_CFLAGS) $(CFLAGS) -MM $< | sed 's@^$(@F:%.d=%.o):@$@ $(@:%.d=%.o):@' > $@
$(OBJS_CPP:%.o=%.d): %.d: $(SRC_DIR)/%.cpp $(FILE_DEP)
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$(Q)$(CXX_HOST) $(CXXFLAGS) $(CFLAGS) -MM $< | sed 's@^$(@F:%.d=%.o):@$@ $(@:%.d=%.o):@' > $@
$(Q)$(CXX_HOST) $(CFLAGS) -MM $< | sed 's@^$(@F:%.d=%.o):@$@ $(@:%.d=%.o):@' > $@
$(OBJS_MM:%.o=%.d): %.d: $(SRC_DIR)/%.mm $(FILE_DEP)
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.mm=%.mm)'
$(Q)$(CC_HOST) $(CFLAGS) -MM $< | sed 's@^$(@F:%.d=%.o):@$@ $(@:%.d=%.o):@' > $@
$(OBJS_RC:%.o=%.d): %.d: $(SRC_DIR)/%.rc $(FILE_DEP)
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.rc=%.rc)'
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.mm=%.mm)'
$(Q)touch $@
else
@@ -165,18 +151,11 @@ ifeq ($(filter $(ENDIAN_TARGETS) depend clean mrproper, $(MAKECMDGOALS)),)
-include Makefile.dep
endif
ifeq ("$(SRC_OBJS_DIR)/$(DEPEND)","$(MAKEDEPEND)")
DEP := $(MAKEDEPEND)
$(SRC_OBJS_DIR)/$(DEPEND): $(SRC_DIR)/depend/depend.cpp
$(E) '$(STAGE) Compiling and linking $(DEPEND)'
$(Q)$(CXX_BUILD) $(CXXFLAGS_BUILD) $(CFLAGS_BUILD) $(LDFLAGS_BUILD) -o $@ $<
endif
# Make sure that only 'make depend' ALWAYS triggers a recheck
ifeq ($(filter depend, $(MAKECMDGOALS)),)
Makefile.dep: $(FILE_DEP) $(SRCS:%=$(SRC_DIR)/%) $(CONFIG_CACHE_SOURCE) $(DEP)
Makefile.dep: $(FILE_DEP) $(SRCS:%=$(SRC_DIR)/%) $(CONFIG_CACHE_SOURCE)
else
Makefile.dep: $(FILE_DEP) $(SRCS:%=$(SRC_DIR)/%) $(DEP) FORCE
Makefile.dep: FORCE
endif
$(E) '$(STAGE) DEP CHECK (all files)'
$(Q)rm -f Makefile.dep.tmp
@@ -231,13 +210,9 @@ endif
# Compile all the files according to the targets
$(OBJS_C): %.o: $(SRC_DIR)/%.c $(DEP_MASK) $(FILE_DEP)
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.c=%.c)'
$(Q)$(CC_HOST) $(CFLAGS) -c -o $@ $<
$(OBJS_CPP): %.o: $(SRC_DIR)/%.cpp $(DEP_MASK) $(FILE_DEP)
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$(Q)$(CXX_HOST) $(CXXFLAGS) $(CFLAGS) -c -o $@ $<
$(Q)$(CXX_HOST) $(CFLAGS) -c -o $@ $<
$(OBJS_MM): %.o: $(SRC_DIR)/%.mm $(DEP_MASK) $(FILE_DEP)
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.mm=%.mm)'
@@ -245,7 +220,7 @@ $(OBJS_MM): %.o: $(SRC_DIR)/%.mm $(DEP_MASK) $(FILE_DEP)
$(OBJS_RC): %.o: $(SRC_DIR)/%.rc $(FILE_DEP)
$(E) '$(STAGE) Compiling resource $(<:$(SRC_DIR)/%.rc=%.rc)'
$(Q)$(WINDRES) -o $@ -I `basename $<` $<
$(Q)$(WINDRES) -o $@ -I $(MEDIA_DIR) $<
$(BIN_DIR)/$(TTD): $(TTD)
$(Q)cp $< $@
@@ -256,17 +231,17 @@ ifeq ($(OS), PSP)
# Because of a bug in the PSP GCC tools, linking via CXX results
# in total chaos and more problems then you can handle. So we need
# CC to link OpenTTD for PSP
$(Q)+$(CC_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
$(Q)$(CC_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
else
$(Q)+$(CXX_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
$(Q)$(CXX_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
endif
ifdef STRIP
$(Q)$(STRIP) $@
endif
ifeq ($(OS), DOS)
$(E) '$(STAGE) Adding CWSDPMI stub to $@'
$(Q)$(ROOT_DIR)/os/dos/make_dos_binary_selfcontained.sh $(SRC_OBJS_DIR)/$@
endif
endif
# The targets to compile the endian-code
@@ -276,15 +251,15 @@ endian_target.h: $(ENDIAN_CHECK) $(CONFIG_CACHE_ENDIAN)
$(ENDIAN_CHECK): $(SRC_DIR)/endian_check.cpp
$(E) '$(STAGE) Compiling and Linking $@'
$(Q)$(CXX_BUILD) $(CXXFLAGS_BUILD) $(CFLAGS_BUILD) $< -o $@
$(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $< -o $@
# Revision files
$(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in
$(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s@\!\!REVISION\!\!@$(REV_NR)@g;s@!!VERSION!!@$(REV)@g;s@!!MODIFIED!!@$(MODIFIED)@g;s@!!DATE!!@`date +%d.%m.%y`@g" > $(SRC_DIR)/rev.cpp
$(SRC_DIR)/os/windows/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/os/windows/ottdres.rc.in
$(Q)cat $(SRC_DIR)/os/windows/ottdres.rc.in | sed "s@\!\!REVISION\!\!@$(REV_NR)@g;s@!!VERSION!!@$(REV)@g;s@!!DATE!!@`date +%d.%m.%y`@g" > $(SRC_DIR)/os/windows/ottdres.rc
$(SRC_DIR)/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/ottdres.rc.in
$(Q)cat $(SRC_DIR)/ottdres.rc.in | sed "s@\!\!REVISION\!\!@$(REV_NR)@g;s@!!VERSION!!@$(REV)@g;s@!!DATE!!@`date +%d.%m.%y`@g" > $(SRC_DIR)/ottdres.rc
FORCE:
@@ -292,10 +267,10 @@ depend: $(DEPS)
clean:
$(E) '$(STAGE) Cleaning up object files'
$(Q)rm -f $(DEPS) $(OBJS) $(TTD) $(DEPEND) $(TTD:%=$(BIN_DIR)/%) $(CONFIG_CACHE_COMPILER) $(CONFIG_CACHE_LINKER) $(CONFIG_CACHE_ENDIAN) $(CONFIG_CACHE_SOURCE) $(ENDIAN_TARGETS)
$(Q)rm -f $(DEPS) $(OBJS) $(TTD) $(TTD:%=$(BIN_DIR)/%) $(CONFIG_CACHE_COMPILER) $(CONFIG_CACHE_LINKER) $(CONFIG_CACHE_ENDIAN) $(CONFIG_CACHE_SOURCE) $(ENDIAN_TARGETS)
mrproper: clean
$(Q)rm -f $(SRC_DIR)/rev.cpp $(SRC_DIR)/os/windows/ottdres.rc
$(Q)rm -f $(SRC_DIR)/rev.cpp $(SRC_DIR)/ottdres.rc
%.o:
@echo '$(STAGE) No such source-file: $(@:%.o=%).[c|cpp|mm|rc]'

View File

@@ -1,323 +0,0 @@
/* $Id$ */
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
AILog.Info("0.7 API compatability in effect:");
AILog.Info(" - AITown::GetLastMonthProduction's behaviour has slightly changed.");
AILog.Info(" - AISubsidy::GetDestination returns STATION_INVALID for awarded subsidies.");
AILog.Info(" - AISubsidy::GetSource returns STATION_INVALID for awarded subsidies.");
AISign.GetMaxSignID <- function()
{
local list = AISignList();
local max_id = 0;
foreach (id, d in list) {
if (id > max_id) max_id = id;
}
return max_id;
}
AITile.GetHeight <- function(tile)
{
if (!AIMap.IsValidTile(tile)) return -1;
return AITile.GetCornerHeight(tile, AITile.CORNER_N);
}
AIOrder.ChangeOrder <- function(vehicle_id, order_position, order_flags)
{
return AIOrder.SetOrderFlags(vehicle_id, order_position, order_flags);
}
AIWaypoint.WAYPOINT_INVALID <- 0xFFFF;
AISubsidy.SourceIsTown <- function(subsidy_id)
{
if (!AISubsidy.IsValidSubsidy(subsidy_id) || AISubsidy.IsAwarded(subsidy_id)) return false;
return AISubsidy.GetSourceType(subsidy_id) == AISubsidy.SPT_TOWN;
}
AISubsidy.GetSource <- function(subsidy_id)
{
if (!AISubsidy.IsValidSubsidy(subsidy_id)) return AIBaseStation.STATION_INVALID;
if (AISubsidy.IsAwarded(subsidy_id)) {
return AIBaseStation.STATION_INVALID;
}
return AISubsidy.GetSourceIndex(subsidy_id);
}
AISubsidy.DestinationIsTown <- function(subsidy_id)
{
if (!AISubsidy.IsValidSubsidy(subsidy_id) || AISubsidy.IsAwarded(subsidy_id)) return false;
return AISubsidy.GetDestinationType(subsidy_id) == AISubsidy.SPT_TOWN;
}
AISubsidy.GetDestination <- function(subsidy_id)
{
if (!AISubsidy.IsValidSubsidy(subsidy_id)) return AIBaseStation.STATION_INVALID;
if (AISubsidy.IsAwarded(subsidy_id)) {
return AIBaseStation.STATION_INVALID;
}
return AISubsidy.GetDestinationIndex(subsidy_id);
}
AITown.GetMaxProduction <- function(town_id, cargo_id)
{
return AITown.GetLastMonthProduction(town_id, cargo_id);
}
AIRail.RemoveRailWaypoint <- function(tile)
{
return AIRail.RemoveRailWaypointTileRect(tile, tile, true);
}
AIRail.RemoveRailStationTileRect <- function(tile, tile2)
{
return AIRail.RemoveRailStationTileRectangle(tile, tile2, false);
}
AIVehicle.SkipToVehicleOrder <- function(vehicle_id, order_position)
{
return AIOrder.SkipToOrder(vehicle_id, order_position);
}
AIEngine.IsValidEngine <- function(engine_id)
{
return AIEngine.IsBuildable(engine_id);
}
AIEngine._GetName <- AIEngine.GetName;
AIEngine.GetName <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return null;
return AIEngine._GetName(engine_id);
}
AIEngine._GetCargoType <- AIEngine.GetCargoType;
AIEngine.GetCargoType <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return 255;
return AIEngine._GetCargoType(engine_id);
}
AIEngine._CanRefitCargo <- AIEngine.CanRefitCargo;
AIEngine.CanRefitCargo <- function(engine_id, cargo_id)
{
if (!AIEngine.IsBuildable(engine_id)) return false;
return AIEngine._CanRefitCargo(engine_id, cargo_id);
}
AIEngine._CanPullCargo <- AIEngine.CanPullCargo;
AIEngine.CanPullCargo <- function(engine_id, cargo_id)
{
if (!AIEngine.IsBuildable(engine_id)) return false;
return AIEngine._CanPullCargo(engine_id, cargo_id);
}
AIEngine._GetCapacity <- AIEngine.GetCapacity;
AIEngine.GetCapacity <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return -1;
return AIEngine._GetCapacity(engine_id);
}
AIEngine._GetReliability <- AIEngine.GetReliability;
AIEngine.GetReliability <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return -1;
return AIEngine._GetReliability(engine_id);
}
AIEngine._GetMaxSpeed <- AIEngine.GetMaxSpeed;
AIEngine.GetMaxSpeed <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return -1;
return AIEngine._GetMaxSpeed(engine_id);
}
AIEngine._GetPrice <- AIEngine.GetPrice;
AIEngine.GetPrice <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return -1;
return AIEngine._GetPrice(engine_id);
}
AIEngine._GetMaxAge <- AIEngine.GetMaxAge;
AIEngine.GetMaxAge <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return -1;
return AIEngine._GetMaxAge(engine_id);
}
AIEngine._GetRunningCost <- AIEngine.GetRunningCost;
AIEngine.GetRunningCost <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return -1;
return AIEngine._GetRunningCost(engine_id);
}
AIEngine._GetPower <- AIEngine.GetPower;
AIEngine.GetPower <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return -1;
return AIEngine._GetPower(engine_id);
}
AIEngine._GetWeight <- AIEngine.GetWeight;
AIEngine.GetWeight <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return -1;
return AIEngine._GetWeight(engine_id);
}
AIEngine._GetMaxTractiveEffort <- AIEngine.GetMaxTractiveEffort;
AIEngine.GetMaxTractiveEffort <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return -1;
return AIEngine._GetMaxTractiveEffort(engine_id);
}
AIEngine._GetDesignDate <- AIEngine.GetDesignDate;
AIEngine.GetDesignDate <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return -1;
return AIEngine._GetDesignDate(engine_id);
}
AIEngine._GetVehicleType <- AIEngine.GetVehicleType;
AIEngine.GetVehicleType <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return AIVehicle.VT_INVALID;
return AIEngine._GetVehicleType(engine_id);
}
AIEngine._IsWagon <- AIEngine.IsWagon;
AIEngine.IsWagon <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return false;
return AIEngine._IsWagon(engine_id);
}
AIEngine._CanRunOnRail <- AIEngine.CanRunOnRail;
AIEngine.CanRunOnRail <- function(engine_id, track_rail_type)
{
if (!AIEngine.IsBuildable(engine_id)) return false;
return AIEngine._CanRunOnRail(engine_id, track_rail_type);
}
AIEngine._HasPowerOnRail <- AIEngine.HasPowerOnRail;
AIEngine.HasPowerOnRail <- function(engine_id, track_rail_type)
{
if (!AIEngine.IsBuildable(engine_id)) return false;
return AIEngine._HasPowerOnRail(engine_id, track_rail_type);
}
AIEngine._GetRoadType <- AIEngine.GetRoadType;
AIEngine.GetRoadType <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return AIRoad.ROADTYPE_INVALID;
return AIEngine._GetRoadType(engine_id);
}
AIEngine._GetRailType <- AIEngine.GetRailType;
AIEngine.GetRailType <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return AIRail.RAILTYPE_INVALID;
return AIEngine._GetRailType(engine_id);
}
AIEngine._IsArticulated <- AIEngine.IsArticulated;
AIEngine.IsArticulated <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return false;
return AIEngine._IsArticulated(engine_id);
}
AIEngine._GetPlaneType <- AIEngine.GetPlaneType;
AIEngine.GetPlaneType <- function(engine_id)
{
if (!AIEngine.IsBuildable(engine_id)) return -1;
return AIEngine._GetPlaneType(engine_id);
}
_AIWaypointList <- AIWaypointList;
class AIWaypointList extends _AIWaypointList {
constructor()
{
::_AIWaypointList.constructor(AIWaypoint.WAYPOINT_RAIL);
}
}
AIRoad._BuildRoadStation <- AIRoad.BuildRoadStation;
AIRoad.BuildRoadStation <- function(tile, front, road_veh_type, station_id)
{
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
return AIRoad._BuildRoadStation(tile, front, road_veh_type, station_id);
}
AIRoad._BuildDriveThroughRoadStation <- AIRoad.BuildDriveThroughRoadStation;
AIRoad.BuildDriveThroughRoadStation <- function(tile, front, road_veh_type, station_id)
{
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
return AIRoad._BuildDriveThroughRoadStation(tile, front, road_veh_type, station_id);
}
AIBridgeList.HasNext <-
AIBridgeList_Length.HasNext <-
AICargoList.HasNext <-
AICargoList_IndustryAccepting.HasNext <-
AICargoList_IndustryProducing.HasNext <-
AIDepotList.HasNext <-
AIEngineList.HasNext <-
AIGroupList.HasNext <-
AIIndustryList.HasNext <-
AIIndustryList_CargoAccepting.HasNext <-
AIIndustryList_CargoProducing.HasNext <-
AIIndustryTypeList.HasNext <-
AIList.HasNext <-
AIRailTypeList.HasNext <-
AISignList.HasNext <-
AIStationList.HasNext <-
AIStationList_Vehicle.HasNext <-
AISubsidyList.HasNext <-
AITileList.HasNext <-
AITileList_IndustryAccepting.HasNext <-
AITileList_IndustryProducing.HasNext <-
AITileList_StationType.HasNext <-
AITownList.HasNext <-
AIVehicleList.HasNext <-
AIVehicleList_DefaultGroup.HasNext <-
AIVehicleList_Group.HasNext <-
AIVehicleList_SharedOrders.HasNext <-
AIVehicleList_Station.HasNext <-
AIWaypointList.HasNext <-
AIWaypointList_Vehicle.HasNext <-
function()
{
return !this.IsEnd();
}
AIIndustry._IsCargoAccepted <- AIIndustry.IsCargoAccepted;
AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
{
return AIIndustry._IsCargoAccepted(industry_id, cargo_id) != AIIndustry.CAS_NOT_ACCEPTED;
}
AIAbstractList <- AIList;
AIList.ChangeItem <- AIList.SetValue;
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;

View File

@@ -1,74 +0,0 @@
/* $Id$ */
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
AILog.Info("1.0 API compatability in effect.");
AIRoad._BuildRoadStation <- AIRoad.BuildRoadStation;
AIRoad.BuildRoadStation <- function(tile, front, road_veh_type, station_id)
{
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
return AIRoad._BuildRoadStation(tile, front, road_veh_type, station_id);
}
AIRoad._BuildDriveThroughRoadStation <- AIRoad.BuildDriveThroughRoadStation;
AIRoad.BuildDriveThroughRoadStation <- function(tile, front, road_veh_type, station_id)
{
if (AIRoad.IsRoadStationTile(tile) && AICompany.IsMine(AITile.GetOwner(tile))) return false;
return AIRoad._BuildDriveThroughRoadStation(tile, front, road_veh_type, station_id);
}
AIBridgeList.HasNext <-
AIBridgeList_Length.HasNext <-
AICargoList.HasNext <-
AICargoList_IndustryAccepting.HasNext <-
AICargoList_IndustryProducing.HasNext <-
AIDepotList.HasNext <-
AIEngineList.HasNext <-
AIGroupList.HasNext <-
AIIndustryList.HasNext <-
AIIndustryList_CargoAccepting.HasNext <-
AIIndustryList_CargoProducing.HasNext <-
AIIndustryTypeList.HasNext <-
AIList.HasNext <-
AIRailTypeList.HasNext <-
AISignList.HasNext <-
AIStationList.HasNext <-
AIStationList_Vehicle.HasNext <-
AISubsidyList.HasNext <-
AITileList.HasNext <-
AITileList_IndustryAccepting.HasNext <-
AITileList_IndustryProducing.HasNext <-
AITileList_StationType.HasNext <-
AITownList.HasNext <-
AIVehicleList.HasNext <-
AIVehicleList_DefaultGroup.HasNext <-
AIVehicleList_Depot.HasNext <-
AIVehicleList_Group.HasNext <-
AIVehicleList_SharedOrders.HasNext <-
AIVehicleList_Station.HasNext <-
AIWaypointList.HasNext <-
AIWaypointList_Vehicle.HasNext <-
function()
{
return !this.IsEnd();
}
AIIndustry._IsCargoAccepted <- AIIndustry.IsCargoAccepted;
AIIndustry.IsCargoAccepted <- function(industry_id, cargo_id)
{
return AIIndustry._IsCargoAccepted(industry_id, cargo_id) != AIIndustry.CAS_NOT_ACCEPTED;
}
AIAbstractList <- AIList;
AIList.ChangeItem <- AIList.SetValue;
AIRail.ERR_NONUNIFORM_STATIONS_DISABLED <- 0xFFFF;

View File

@@ -1,8 +0,0 @@
/* $Id$ */
/*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/

View File

@@ -15,6 +15,3 @@ regression =
[vehicle]
road_side = right
plane_speed = 2
[construction]
max_bridge_length = 100

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,6 @@ class Regression extends AIInfo {
function GetShortName() { return "REGR"; }
function GetDescription() { return "This runs regression-tests on all commands. On the same map the result should always be the same."; }
function GetVersion() { return 1; }
function GetAPIVersion() { return "1.1"; }
function GetDate() { return "2007-03-18"; }
function CreateInstance() { return "Regression"; }
}

View File

@@ -25,7 +25,7 @@ fi
if [ -n "$gdb" ]; then
$gdb ./openttd -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav
else
./openttd -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav -d ai=2 2>&1 | awk '{ gsub("0x(\\(nil\\)|0+)(x0)?", "0x00000000", $0); gsub("^dbg: \\[ai\\]", "", $0); gsub("^ ", "ERROR: ", $0); gsub("ERROR: \\[1\\] ", "", $0); gsub("\\[P\\] ", "", $0); print $0; }' > tmp.regression
./openttd -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav -d ai=2 2>&1 | awk '{ gsub("0x(\\(nil\\)|0+)", "0x00000000", $0); gsub("^dbg: \\[ai\\]", "", $0); gsub("^ ", "ERROR: ", $0); gsub("ERROR: \\[1\\] ", "", $0); gsub("\\[P\\] ", "", $0); print $0; }' > tmp.regression
fi
if [ -z "$gdb" ]; then

View File

@@ -1,49 +0,0 @@
; $Id$
;
; This represents more or less nothingness
;
[metadata]
name = NoSound
shortname = NULL
version = 2
fallback = true
description = A sound pack without any sounds.
description.af_ZA = 'n Klank stel sonder enige klanke.
description.ar_EG = مجموعة صوت بدوت اصوات مضافة
description.bg_BG = Празен звуков пакет.
description.ca_ES = Un joc de sons sense cap so.
description.cs_CZ = Prázdná sada zvuků.
description.da_DA = En lydpakke uden lyde.
description.de_DE = Basissounds ohne Sound.
description.el_GR = Ένα πάκετο ήχων χώρις ήχους.
description.en_GB = A sound pack without any sounds.
description.en_US = A sound pack without any sounds.
description.es_ES = Un conjunto de sonidos vacío.
description.et_ET = Ilma häälteta helipakk.
description.fi_FI = Äänipaketti ilman ääniä.
description.fr_FR = Un pack de sons sans sons.
description.hr_HR = Zvučni paket bez ikakvih zvukova.
description.hu_HU = Hang alapcsomag hangok nélkül.
description.id_ID = Paket efek suara tanpa berisi suara.
description.it_IT = Un pacchetto sonoro non contenente alcun suono.
description.nb_NO = En lydpakke uten noen lyder.
description.nl_NL = Een geluidset zonder geluid.
description.nn_NO = Ei lydpakke utan nokon lydar.
description.pl_PL = Zestaw dźwięków nie zawierający żadnych dźwięków.
description.pt_PT = Um conjunto de sons vazio.
description.ro_RO = Un set de sunete fără nici un sunet inclus.
description.ru_RU = "Пустой" набор звукового оформления, не содержащий никаких звуков.
description.sk_SK = Zvuková sada neobsahujúca zvuky.
description.sl_SL = Zvočni paket brez zvoka.
description.sr_RS = Prazan skup zvukova.
description.sv_SE = Ett ljudpaket utan några ljud.
description.tr_TR = Ses içermeyen boş bir ses kümesi.
description.zh_TW = 不含任何音效的音效集。
[files]
samples =
[md5s]
[origin]
default = This file was part of your OpenTTD installation.

BIN
bin/data/openttdw.grf Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -4,42 +4,11 @@
; Tycoon Deluxe DOS CD.
;
[metadata]
name = original_dos
shortname = TTDD
version = 1
palette = DOS
description = Original Transport Tycoon Deluxe DOS edition graphics.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS uitgawe grafieke.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة الدوس
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS.
description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a DOS.
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro DOS).
description.da_DA = Originalgrafik fra Transport Tycoon Deluxe DOS-version.
description.de_DE = Original Transport Tycoon Deluxe DOS Basisgrafiken.
description.el_GR = Αρχικά γραφικά από το Transport Tycoon Deluxe έκδοση DOS.
description.en_GB = Original Transport Tycoon Deluxe DOS edition graphics.
description.en_US = Original Transport Tycoon Deluxe DOS edition graphics.
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS.
description.et_ET = Algse Transport Tycoon Deluxe DOSi versiooni graafika.
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe DOS grafiikat.
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS).
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS izdanje.
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának grafikája.
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS.
description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione DOS.
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS.
description.nl_NL = Originele graphics van de Transport Tycoon Deluxe DOS-versie.
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS.
description.pl_PL = Oryginalna edycja grafik dla Transport Tycoon Deluxe DOS.
description.pt_PT = Gráficos originais da edição DOS de Transport Tycoon Deluxe.
description.ro_RO = Setul grafic original al Transport Tycoon Deluxe pentru DOS.
description.ru_RU = Оригинальная графика из Transport Tycoon Deluxe для DOS.
description.sk_SK = Pôvodná grafika Transport Tycoon Deluxe (DOS).
description.sl_SL = Originalna grafika Transport Tycoon Deluxe za različico DOS.
description.sr_RS = Originalni skup grafika Transport Tycoon Deluxe DOS izdanja.
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan.
description.tr_TR = Orijinal Transport Tycoon Deluxe DOS sürümü grafikleri.
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的圖形。
name = original_dos
shortname = TTDD
version = 1
description = Original Transport Tycoon Deluxe DOS edition graphics
palette = DOS
[files]
base = TRG1.GRF
@@ -47,7 +16,7 @@ logos = TRGI.GRF
arctic = TRGC.GRF
tropical = TRGH.GRF
toyland = TRGT.GRF
extra = OPENTTD.GRF
extra = OPENTTDD.GRF
[md5s]
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
@@ -55,8 +24,8 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
TRGC.GRF = ed446637e034104c5559b32c18afe78d
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
OPENTTD.GRF = e67a3aaf13b81bab5d72d7440244e20c
OPENTTDD.GRF = c886c7d5b38a93f2cb1cdc0d33472eb8
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
OPENTTD.GRF = This file was part of your OpenTTD installation.
OPENTTDD.GRF = This file was part of your installation.

View File

@@ -1,50 +0,0 @@
; $Id$
;
; This represents the original sounds as on the Transport
; Tycoon Deluxe DOS CD.
;
[metadata]
name = original_dos
shortname = TTDO
version = 0
description = Original Transport Tycoon Deluxe DOS edition sounds.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS uitgawe klanke.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة الدوس
description.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за DOS.
description.ca_ES = Sons originals de Transport Tycoon Deluxe per a DOS.
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro DOS).
description.da_DA = Originallyd fra Transport Tycoon Deluxe DOS-version.
description.de_DE = Original Transport Tycoon Deluxe DOS Basissounds.
description.el_GR = Αρχικοί ήχοι από το Transport Tycoon Deluxe έκδοση DOS.
description.en_GB = Original Transport Tycoon Deluxe DOS edition sounds.
description.en_US = Original Transport Tycoon Deluxe DOS edition sounds.
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión DOS.
description.et_ET = Algse Transport Tycoon Deluxe DOSi versiooni helid.
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe DOS äänet.
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe DOS izdanje.
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS verziójának hangjai.
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version DOS).
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi DOS.
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione DOS.
description.nb_NO = Originale lyder fra Transport Tycoon Deluxe for DOS.
description.nl_NL = Originele geluiden van de Transport Tycoon Deluxe DOS-versie.
description.nn_NO = Originale lydar frå Transport Tycoon Deluxe for DOS.
description.pl_PL = Oryginalna edycja dźwięków dla Transport Tycoon Deluxe DOS.
description.pt_PT = Sons originais da edição DOS de Transport Tycoon Deluxe.
description.ro_RO = Setul de sunete original al Transport Tycoon Deluxe pentru DOS.
description.ru_RU = Оригинальный набор звукового оформления из игры Transport Tycoon Deluxe для DOS.
description.sk_SK = Pôvodné zvuky Transport Tycoon Deluxe (DOS).
description.sl_SL = Originalni zvoki Transport Tycoon Deluxe različice DOS.
description.sr_RS = Originalni skup zvukova Transport Tycoon Deluxe DOS izdanja.
description.sv_SE = Originalljuden från Transport Tycoon Deluxe, DOS-utgåvan.
description.tr_TR = Orijinal Transport Tycoon Deluxe DOS sürümü sesleri.
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的音效。
[files]
samples = SAMPLE.CAT
[md5s]
SAMPLE.CAT = 422ea3dd074d2859bb51639a6e0e85da
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.

View File

@@ -4,42 +4,11 @@
; Tycoon Deluxe DOS CD. It contains one broken sprite.
;
[metadata]
name = original_dos_de
shortname = TTDD
version = 0
palette = DOS
description = Original Transport Tycoon Deluxe DOS (German) edition graphics.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS (German) uitgawe grafieke.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الالمانية نسخة الدوس
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за DOS (немски) .
description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a DOS (Alemany).
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (německá verze pro DOS).
description.da_DA = Originalgrafik fra Transport Tycoon Deluxe DOS (Tysk) version.
description.de_DE = Original Transport Tycoon Deluxe DOS (Deutsch) Basisgrafiken.
description.el_GR = Αρχικά γραφικά από το Transport Tycoon Deluxe έκδοση DOS (Γερμανικό).
description.en_GB = Original Transport Tycoon Deluxe DOS (German) edition graphics.
description.en_US = Original Transport Tycoon Deluxe DOS (German) edition graphics.
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión DOS (Alemán).
description.et_ET = Algse Transport Tycoon Deluxe DOSi (Saksa) versiooni graafika.
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe DOS (Saksalainen) grafiikat.
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version DOS allemande).
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe DOS (Njemački) izdanje.
description.hu_HU = Az eredeti Transport Tycoon Deluxe DOS (német) verziójának grafikája.
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi DOS (Jerman).
description.it_IT = Grafica originale di Transport Tycoon Deluxe (tedesco), edizione DOS.
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for DOS (tysk).
description.nl_NL = Originele graphics van de Duitse Transport Tycoon Deluxe DOS-versie.
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for DOS (tysk).
description.pl_PL = Oryginalna edycja grafik dla Transport Tycoon Deluxe DOS (German).
description.pt_PT = Gráficos originais da edição DOS (Alemã) de Transport Tycoon Deluxe.
description.ro_RO = Setul grafic original al Transport Tycoon Deluxe pentru DOS (ediţia germană).
description.ru_RU = Оригинальная графика из немецкой версии Transport Tycoon Deluxe для DOS.
description.sk_SK = Pôvodná grafika Transport Tycoon Deluxe (DOS) (v jazyku nemčina).
description.sl_SL = Originalna grafika Transport Tycoon Deluxe za nemško različico DOS.
description.sr_RS = Originalni skup grafika nemačkog Transport Tycoon Deluxe DOS izdanja.
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan (tyska).
description.tr_TR = Orijinal Transport Tycoon Deluxe DOS (Almanca) sürümü grafikleri.
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版 (德國版) 的圖形。
name = original_dos_de
shortname = TTDD
version = 0
description = Original Transport Tycoon Deluxe DOS (German) edition graphics
palette = DOS
[files]
base = TRG1.GRF
@@ -47,7 +16,7 @@ logos = TRGI.GRF
arctic = TRGC.GRF
tropical = TRGH.GRF
toyland = TRGT.GRF
extra = OPENTTD.GRF
extra = OPENTTDD.GRF
[md5s]
TRG1.GRF = 9311676280e5b14077a8ee41c1b42192
@@ -55,8 +24,8 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
TRGC.GRF = ed446637e034104c5559b32c18afe78d
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
OPENTTD.GRF = e67a3aaf13b81bab5d72d7440244e20c
OPENTTDD.GRF = c886c7d5b38a93f2cb1cdc0d33472eb8
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
OPENTTD.GRF = This file was part of your OpenTTD installation.
OPENTTDD.GRF = This file was part of your installation.

View File

@@ -1,45 +1,14 @@
; $Id$
;
; This represents the original graphics as on the Transport
; Tycoon Deluxe for Windows CD.
; Tycoon Deluxe for Windows.
;
[metadata]
name = original_windows
shortname = TTDW
version = 0
palette = Windows
description = Original Transport Tycoon Deluxe Windows edition graphics.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe grafieke.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة وندوز
description.bg_BG = Оригинални графики на Transport Tycoon Deluxe за Windows.
description.ca_ES = Gràfics originals de Transport Tycoon Deluxe per a Windows.
description.cs_CZ = Původní sada grafik Transport Tycoon Deluxe (verze pro Windows).
description.da_DA = Originalgrafik fra Transport Tycoon Deluxe Windows-version.
description.de_DE = Original Transport Tycoon Deluxe Windows Basisgrafiken.
description.el_GR = Αρχικά γραφικά από το Transport Tycoon Deluxe έκδοση Windows.
description.en_GB = Original Transport Tycoon Deluxe Windows edition graphics.
description.en_US = Original Transport Tycoon Deluxe Windows edition graphics.
description.es_ES = Gráficos originales de Transport Tycoon Deluxe versión Windows.
description.et_ET = Algse Transport Tycoon Deluxe Windowsi versiooni graafika.
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe Windows grafiikat.
description.fr_FR = Graphiques originaux de Transport Tycoon Deluxe (version Windows).
description.hr_HR = Originalna grafika za Transport Tycoon Deluxe Windows izdanje.
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának grafikája.
description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi Windows.
description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione Windows.
description.nb_NO = Original grafikk fra Transport Tycoon Deluxe for Windows.
description.nl_NL = Originele graphics van de Transport Tycoon Deluxe Windows-versie.
description.nn_NO = Original grafikk frå Transport Tycoon Deluxe for Windows.
description.pl_PL = Oryginalna edycja grafik dla Transport Tycoon Deluxe Windows.
description.pt_PT = Gráficos originais da edição Windows de Transport Tycoon Deluxe.
description.ro_RO = Setul grafic original al Transport Tycoon Deluxe pentru Windows.
description.ru_RU = Оригинальная графика из Transport Tycoon Deluxe для Windows.
description.sk_SK = Pôvodná grafika Transport Tycoon Deluxe (Windows).
description.sl_SL = Originalna grafika Transport Tycoon Deluxe za različico oken(windows).
description.sr_RS = Originalni skup grafika Transport Tycoon Deluxe Windows izdanja.
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, Windows-utgåvan.
description.tr_TR = Orijinal Transport Tycoon Deluxe Windows sürümü grafikleri.
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的圖形。
name = original_windows
shortname = TTDW
version = 0
description = Original Transport Tycoon Deluxe Windows edition graphics
palette = Windows
[files]
base = TRG1R.GRF
@@ -47,7 +16,7 @@ logos = TRGIR.GRF
arctic = TRGCR.GRF
tropical = TRGHR.GRF
toyland = TRGTR.GRF
extra = OPENTTD.GRF
extra = OPENTTDW.GRF
[md5s]
TRG1R.GRF = b04ce593d8c5016e07473a743d7d3358
@@ -55,8 +24,8 @@ TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
OPENTTD.GRF = e67a3aaf13b81bab5d72d7440244e20c
OPENTTDW.GRF = b6689105405fa3ea34cb8a5543633d29
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
OPENTTD.GRF = This file was part of your OpenTTD installation.
OPENTTDW.GRF = This file was part of your installation.

View File

@@ -1,50 +0,0 @@
; $Id$
;
; This represents the original sounds as on the Transport
; Tycoon Deluxe for Windows CD.
;
[metadata]
name = original_windows
shortname = TTDO
version = 0
description = Original Transport Tycoon Deluxe Windows edition sounds.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe klanke.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة وندوز
description.bg_BG = Оригинални звуци на Transport Tycoon Deluxe за Windows.
description.ca_ES = Sons originals de Transport Tycoon Deluxe per a Windows.
description.cs_CZ = Původní sada zvuků Transport Tycoon Deluxe (verze pro Windows).
description.da_DA = Originallyd fra Transport Tycoon Deluxe Windows-version.
description.de_DE = Original Transport Tycoon Deluxe Windows Basissounds.
description.el_GR = Αρχικοί ήχοι από το Transport Tycoon Deluxe έκδοση Windows.
description.en_GB = Original Transport Tycoon Deluxe Windows edition sounds.
description.en_US = Original Transport Tycoon Deluxe Windows edition sounds.
description.es_ES = Sonidos originales de Transport Tycoon Deluxe versión Windows.
description.et_ET = Algse Transport Tycoon Deluxe Windowsi versiooni helid.
description.fi_FI = Alkuperäiset Transport Tycoon Deluxe Windows äänet.
description.hr_HR = Originalni zvukovi za Transport Tycoon Deluxe Windows izdanje.
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának hangjai.
description.fr_FR = Sons originaux de Transport Tycoon Deluxe (version Windows).
description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi Windows.
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione Windows.
description.nb_NO = Originale lyder fra Transport Tycoon Deluxe for Windows.
description.nl_NL = Originele geluiden van de Transport Tycoon Deluxe Windows-versie.
description.nn_NO = Originale lydar frå Transport Tycoon Deluxe for Windows.
description.pl_PL = Oryginalna edycja dźwięków dla Transport Tycoon Deluxe Windows.
description.pt_PT = Sons originais da edição Windows de Transport Tycoon Deluxe.
description.ro_RO = Setul de sunete original al Transport Tycoon Deluxe pentru Windows.
description.ru_RU = Оригинальный набор звукового оформления из игры Transport Tycoon Deluxe для Windows.
description.sk_SK = Pôvodné zvuky Transport Tycoon Deluxe (Windows).
description.sl_SL = Originalni zvoki Transport Tycoon Deluxe različice oken(windows).
description.sr_RS = Originalni skup zvukova Transport Tycoon Deluxe Windows izdanja.
description.sv_SE = Originalljuden från Transport Tycoon Deluxe, Windows-utgåvan.
description.tr_TR = Orijinal Transport Tycoon Deluxe Windows sürümü sesleri.
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的音效。
[files]
samples = SAMPLE.CAT
[md5s]
SAMPLE.CAT = 9212e81e72badd4bbe1eaeae66458e10
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.

View File

@@ -1,81 +0,0 @@
; $Id$
;
; This represents more or less nothingness
;
[metadata]
name = NoMusic
shortname = NULL
version = 0
fallback = true
description = A music pack without actual music.
description.af_ZA = 'n Musiek stel sonder enige musiek.
description.ar_EG = مجموعة موسيقى بدون موسيقى
description.bg_BG = Празен музикален пакет.
description.ca_ES = Un joc de música sense cap música.
description.cs_CZ = Prázná hudební sada.
description.da_DA = En musikpakke uden musik.
description.de_DE = Ein Musikset ohne Musik.
description.el_GR = Ένα πάκετο μουσικής χωρίς πραγματική μουσική.
description.en_GB = A music pack without actual music.
description.en_US = A music pack without actual music.
description.es_ES = Un conjunto de música vacío.
description.et_ET = Muusikakomplekt ilma igasuguse muusikata.
description.fi_FI = Musiikkipaketti, jossa ei ole musiikkia.
description.fr_FR = Un pack de musiques sans musiques.
description.hr_HR = Muzički paket bez ikakve muzike.
description.hu_HU = Zenei alapcsomag zene nélkül.
description.id_ID = Paket musik tanpa berisi musik.
description.it_IT = Un pacchetto musicale non contenente alcuna musica.
description.nb_NO = En musikkpakke uten noe musikk.
description.nl_NL = Een muziekset zonder muziek.
description.nn_NO = Ei musikkpakke utan noko musikk.
description.pl_PL = Zestaw utworów muzycznych nie zawierający żadnej muzyki.
description.pt_PT = Um conjunto de música vazio.
description.ro_RO = Un set de muzică fără muzică inclusă.
description.ru_RU = "Пустой" набор музыкального оформления, не содержащий никакой музыки.
description.sk_SK = Sada hudby neobsahujúca hudbu.
description.sl_SL = Glasbeni paket z vključeno glasbo.
description.sr_RS = Prazan skup muzičkih numera.
description.sv_SE = Ett musikpaket utan någon musik.
description.tr_TR = Müzik içermeyen boş bir müzik paketi.
description.zh_TW = 不含任何音樂的音樂集。
[files]
theme =
old_0 =
old_1 =
old_2 =
old_3 =
old_4 =
old_5 =
old_6 =
old_7 =
old_8 =
old_9 =
new_0 =
new_1 =
new_2 =
new_3 =
new_4 =
new_5 =
new_6 =
new_7 =
new_8 =
new_9 =
ezy_0 =
ezy_1 =
ezy_2 =
ezy_3 =
ezy_4 =
ezy_5 =
ezy_6 =
ezy_7 =
ezy_8 =
ezy_9 =
[md5s]
[names]
[origin]
default = This file was part of your OpenTTD installation.

View File

@@ -1,125 +0,0 @@
; $Id$
;
; This represents the original music as on the Transport
; Tycoon Deluxe for Windows CD.
;
[metadata]
name = original_windows
shortname = TTDW
version = 1
description = Original Transport Tycoon Deluxe Windows edition music.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe musiek.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الموسيقية نسخة وندوز
description.bg_BG = Оригинална музика на Transport Tycoon Deluxe за Windows.
description.ca_ES = Música Original de Transport Tycoon Deluxe per a Windows.
description.cs_CZ = Původní hudba Transport Tycoon Deluxe (verze pro Windows).
description.da_DA = Originalmusik fra Transport Tycoon Deluxe Windows-version.
description.de_DE = Original Transport Tycoon Deluxe Windows Musikset.
description.el_GR = Αρχική μουσική από το Transport Tycoon Deluxe έκδοση Windows.
description.en_GB = Original Transport Tycoon Deluxe Windows edition music.
description.en_US = Original Transport Tycoon Deluxe Windows edition music.
description.es_ES = Música original de Transport Tycoon Deluxe versión Windows.
description.et_ET = Algse Transport Tycoon Deluxe Windowsi versiooni muusika.
description.fi_FI = Alkuperäinen Transport Tycoon Deluxe Windows musiikki.
description.fr_FR = Musiques originales de Transport Tycoon Deluxe (version Windows).
description.hr_HR = Originalna muzika za Transport Tycoon Deluxe Windows izdanje.
description.hu_HU = Az eredeti Transport Tycoon Deluxe Windows verziójának zenéje.
description.id_ID = Musik pengiring orisinil Transport Tycoon Deluxe versi Windows.
description.it_IT = Musica originale di Transport Tycoon Deluxe, edizione Windows.
description.nb_NO = Original musikk fra Transport Tycoon Deluxe for Windows.
description.nl_NL = Originele muziek van de Transport Tycoon Deluxe Windows-versie.
description.nn_NO = Original musikk frå Transport Tycoon Deluxe for Windows.
description.pl_PL = Oryginalna edycja utworów muzycznych w Transport Tycoon Deluxe Windows.
description.pt_PT = Música original da edição Windows de Transport Tycoon Deluxe.
description.ro_RO = Setul de muzică original al Transport Tycoon Deluxe pentru Windows.
description.ru_RU = Оригинальный набор музыкального оформления из игры Transport Tycoon Deluxe.
description.sk_SK = Pôvodná hudba z Transport Tycoon Deluxe (Windows).
description.sl_SL = Originalna glasba Transport Tycoon Deluxe različice oken(windows).
description.sr_RS = Originalni skup muzičkih numera Transport Tycoon Deluxe Windows izdanja.
description.sv_SE = Originalmusiken från Transport Tycoon Deluxe, Windows-utgåvan.
description.tr_TR = Orijinal Transport Tycoon Deluxe Windows sürümü müzikleri.
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的音樂。
[files]
theme = GM_TT00.GM
old_0 = GM_TT02.GM
old_1 = GM_TT06.GM
old_2 = GM_TT03.GM
old_3 = GM_TT12.GM
old_4 = GM_TT08.GM
old_5 = GM_TT13.GM
old_6 = GM_TT14.GM
old_7 = GM_TT10.GM
old_8 =
old_9 =
new_0 = GM_TT04.GM
new_1 = GM_TT01.GM
new_2 = GM_TT05.GM
new_3 = GM_TT15.GM
new_4 = GM_TT11.GM
new_5 = GM_TT16.GM
new_6 = GM_TT09.GM
new_7 =
new_8 =
new_9 =
ezy_0 = GM_TT18.GM
ezy_1 = GM_TT19.GM
ezy_2 = GM_TT21.GM
ezy_3 = GM_TT17.GM
ezy_4 = GM_TT20.GM
ezy_5 = GM_TT07.GM
ezy_6 =
ezy_7 =
ezy_8 =
ezy_9 =
[md5s]
GM_TT00.GM = 45cfec1b9d8c7a0ad45e755833cbf221
GM_TT01.GM = ab14ed3392d848abd2a2e90a9d75d121
GM_TT02.GM = dd4f696e4be5987ce738257b08b50171
GM_TT03.GM = a1bfde23343df9e4063419bf29c166b8
GM_TT04.GM = 4e6943aa0c455203d76c79389054747d
GM_TT05.GM = cee281cb85a2e2343552d97640545a47
GM_TT06.GM = 26d1de5efa8675f94065784e9d539e49
GM_TT07.GM = 6f2691e17558f552ec4c565e4ab7139c
GM_TT08.GM = a42bf2cb3340a822f1a69646fc7a487d
GM_TT09.GM = eb35761a58a8df3c59ed8929cce13916
GM_TT10.GM = 42fecd686720a785d20a78590c466a82
GM_TT11.GM = 50ef1ef02e49d2112786dd45e69dc3ee
GM_TT12.GM = 4ce707a0e0e72419f0681dd9bd95271b
GM_TT13.GM = e765753be29d889ec818f38009103619
GM_TT14.GM = 270e2d63bd32b95a4d007ce15a6ce45f
GM_TT15.GM = 89e116a1c0c69f1845cc903a9bfbe460
GM_TT16.GM = f824e2371b3bedfe61aad4b9c62dd6be
GM_TT17.GM = 1b23eebb0796c1ab99cd97fa7082cf7b
GM_TT18.GM = 15650de3bad645d0e88c4f5c7a2df92a
GM_TT19.GM = 7aec079e15bd09588660b85545ac4dfc
GM_TT20.GM = 1509097889dee617aa1e9a1738a5a930
GM_TT21.GM = a8d0aaad02e1a762d8d54cf81da56bab
[names]
GM_TT00.GM = Tycoon DELUXE Theme
GM_TT01.GM = Snarl Up
GM_TT02.GM = Easy Driver
GM_TT03.GM = Little Red Diesel
GM_TT04.GM = City Groove
GM_TT05.GM = Aliens Ate My Railway
GM_TT06.GM = Stoke It
GM_TT07.GM = Don't Walk!
GM_TT08.GM = Sawyer's Tune
GM_TT09.GM = Fell Apart On Me
GM_TT10.GM = Can't Get There From Here
GM_TT11.GM = Hard Drivin'
GM_TT12.GM = Road Hog
GM_TT13.GM = Hold That Train!
GM_TT14.GM = Broomer's Oil Rag
GM_TT15.GM = Goss Groove
GM_TT16.GM = Small Town
GM_TT17.GM = Cruise Control
GM_TT18.GM = Stroll On
GM_TT19.GM = Funk Central
GM_TT20.GM = Jammit
GM_TT21.GM = Movin' On
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.

File diff suppressed because it is too large Load Diff

1060
config.lib

File diff suppressed because it is too large Load Diff

39
configure vendored
View File

@@ -1,12 +1,5 @@
#!/bin/sh
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
check_path_characters() {
if [ -n "`echo $ROOT_DIR | grep '[^-_A-Za-z0-9\/\\\.:]'`" ]; then
echo "WARNING: The path contains a non-alphanumeric character that might cause"
@@ -47,7 +40,6 @@ PREFIX="$PWD/bin"
OBJS_DIR="$PWD/objs"
BASE_SRC_OBJS_DIR="$OBJS_DIR"
LANG_OBJS_DIR="$OBJS_DIR/lang"
GRF_OBJS_DIR="$OBJS_DIR/extra_grf"
BIN_DIR="$PREFIX"
SRC_DIR="$ROOT_DIR/src"
LANG_DIR="$SRC_DIR/lang"
@@ -62,9 +54,8 @@ if [ "$1" = "--reconfig" ] || [ "$1" = "--reconfigure" ]; then
# Make sure we don't lock config.cache
cat config.cache | sed 's@\\ @\\\\ @g' > cache.tmp
sh cache.tmp
RET=$?
rm -f cache.tmp
exit $RET
exit $?
fi
set_default
@@ -81,7 +72,6 @@ fi
TTD="openttd$EXE"
STRGEN="strgen$EXE"
ENDIAN_CHECK="endian_check$EXE"
DEPEND="depend$EXE"
if [ -z "$sort" ]; then
PIPE_SORT="sed s@a@a@"
@@ -95,7 +85,7 @@ if [ ! -f "$LANG_DIR/english.txt" ]; then
fi
# Read the source.list and process it
AWKCOMMAND='
SRCS="`< $ROOT_DIR/source.list tr '\r' '\n' | $awk '
{ }
/^( *)#end/ { if (deep == skip) { skip -= 1; } deep -= 1; next; }
/^( *)#else/ { if (deep == skip) { skip -= 1; } else if (deep - 1 == skip) { skip += 1; } next; }
@@ -114,13 +104,11 @@ AWKCOMMAND='
if ($0 == "OS2" && "'$os'" != "OS2") { next; }
if ($0 == "PSP" && "'$os'" != "PSP") { next; }
if ($0 == "DEDICATED" && "'$enable_dedicated'" != "1") { next; }
if ($0 == "AI" && "'$enable_ai'" == "0") { next; }
if ($0 == "COCOA" && "'$with_cocoa'" == "0") { next; }
if ($0 == "DOS" && "'$os'" != "DOS") { next; }
if ($0 == "BEOS" && "'$os'" != "BEOS" &&
"'$os'" != "HAIKU") { next; }
if ($0 == "BEOS" && "'$os'" != "BEOS") { next; }
if ($0 == "WIN32" && "'$os'" != "MINGW" &&
"'$os'" != "CYGWIN" && "'$os'" != "MSVC") { next; }
"'$os'" != "CYGWIN" && "'$os'" != "MSVC" ) { next; }
if ($0 == "MORPHOS" && "'$os'" != "MORPHOS") { next; }
if ($0 == "WINCE" && "'$os'" != "WINCE") { next; }
if ($0 == "MSVC" && "'$os'" != "MSVC") { next; }
@@ -142,17 +130,13 @@ AWKCOMMAND='
print $0;
}
}
'
' | $PIPE_SORT`"
# Read the source.list and process it
# Please escape ALL " within ` because e.g. "" terminates the string in some sh implementations
SRCS="`< $ROOT_DIR/source.list tr '\r' '\n' | $awk \"$AWKCOMMAND\" | $PIPE_SORT`"
OBJS_C="` echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.c$/ { gsub(\".c$\", \".o\", $0); print $0; }'`"
OBJS_CPP="`echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.cpp$/ { gsub(\".cpp$\", \".o\", $0); print $0; }'`"
OBJS_MM="` echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.mm$/ { gsub(\".mm$\", \".o\", $0); print $0; }'`"
OBJS_RC="` echo \"$SRCS\" | $awk ' { ORS = \" \" } /\.rc$/ { gsub(\".rc$\", \".o\", $0); print $0; }'`"
SRCS="` echo \"$SRCS\" | $awk ' { ORS = \" \" } { print $0; }'`"
OBJS_C="` echo \"$SRCS\" | $awk ' { ORS = " " } /\.c$/ { gsub(".c$", ".o", $0); print $0; }'`"
OBJS_CPP="`echo \"$SRCS\" | $awk ' { ORS = " " } /\.cpp$/ { gsub(".cpp$", ".o", $0); print $0; }'`"
OBJS_MM="` echo \"$SRCS\" | $awk ' { ORS = " " } /\.mm$/ { gsub(".mm$", ".o", $0); print $0; }'`"
OBJS_RC="` echo \"$SRCS\" | $awk ' { ORS = " " } /\.rc$/ { gsub(".rc$", ".o", $0); print $0; }'`"
SRCS="` echo \"$SRCS\" | $awk ' { ORS = " " } { print $0; }'`"
# In makefiles, we always use -u for sort
if [ -z "$sort" ]; then
@@ -161,11 +145,10 @@ else
sort="$sort -u"
fi
CONFIGURE_FILES="$ROOT_DIR/configure $ROOT_DIR/config.lib $ROOT_DIR/Makefile.in $ROOT_DIR/Makefile.grf.in $ROOT_DIR/Makefile.lang.in $ROOT_DIR/Makefile.src.in $ROOT_DIR/Makefile.bundle.in"
CONFIGURE_FILES="$ROOT_DIR/configure $ROOT_DIR/config.lib $ROOT_DIR/Makefile.in $ROOT_DIR/Makefile.lang.in $ROOT_DIR/Makefile.src.in $ROOT_DIR/Makefile.bundle.in"
generate_main
generate_lang
generate_grf
generate_src
check_path_characters

View File

@@ -1,24 +1,15 @@
32bpp and OpenTTD
Last updated: 2007-06-13
------------------------------------------------------------------------
=================
Table of contents
-----------------
1.0) About
2.0) The format
1.0) About
---- -----
OpenTTD has 32bpp support. This means: OpenTTD still is 8bpp, but it has the
posibility to override the graphics with 32bpp. This means that it isn't a
replacement of grf or newgrf, but simply an addition. If you want to use 32bpp
graphics of a newgrf, you do need the newgrf itself too (with 8bpp graphics).
2.0) The format
---- ----------
The Format
----------
32bpp images are stored in PNG. They should go in:
data/sprites/<grfname>/<SpriteID>.png
@@ -36,9 +27,10 @@ OpenTTD palette. Upon load of the PNG, the mask is loaded too, and overrides
the RGB (not the Alpha) of the original PNG image, and replacing it with a
8bpp color remapped and converted to 32bpp.
Another thing that OpenTTD needs in your png, is 2 tEXt chunks: x_offs and
An other thing that OpenTTD needs in your png, is 2 tEXt chunks: x_offs and
y_offs. This to define the x- and y-offset, of course. Use the tool we supply
to add this information. Sadly enough most graphical editors trashes those
chunks upon save, so you have to readd it every time you save your image.
Your images should be the same as the grf, in size.

View File

@@ -1,17 +1,5 @@
OpenTTD and strgen
Last updated: 2009-06-30
------------------------------------------------------------------------
Table of contents
-----------------
1.0) strgen usage
* 1.1) Examples
* 1.2) strgen command switches
1.0) strgen usage
---- ------------
STRGEN USAGE
------------
This guide is only interesting for people who want to alter something
themselves without access to translator.openttd.org. Please note that
your compiled language file will only be compatible with the OpenTTD version
@@ -26,8 +14,8 @@ strgen takes as argument a txt file and translates it to a lng file, allowing
it to be used inside OpenTTD. strgen needs the master language file
english.txt to work. Below are some examples of strgen usage.
1.1) Examples
---- --------
EXAMPLES
--------
Example 1:
if you are in the root of your working copy (svn code), you should type
strgen/strgen -s lang lang/english.txt
@@ -47,8 +35,8 @@ resulting language file to go to /tmp. Use
You can interchange english.txt to whichever language you want to generate a
.lng file for.
1.2) strgen command switches
---- -----------------------
STRGEN COMMAND SWITCHES
-----------------------
-v | --version
strgen will tell what svn revision it was last modified

100
docs/Manual.txt Normal file
View File

@@ -0,0 +1,100 @@
Welcome to the manual for OpenTTD. The latest release version at the time of writing is 0.3.2.
1 Obtaining OpenTTD.
You can obtain built binaries of OpenTTD for the 4 supported platforms - Win32, Linux,-x86, BeOS 5 and MacOS-X from the projects Sourceforge page, at http://sourceforge.net/projects/openttd . For the non-Win32 builds you will need libSDL.so, libpng.so and zlib.so compiled for your platform. Some builds will include these.
If you use another platform, such as FreeBSD, which has POSIX file i/o and an SDL port, you should be able to build OpenTTD from its source. This is available in the proejcts Subversion repository at svn://svn.openttd.com . The module name is "trunk".
1.1 Building OpenTTD.
Once you have obtained a recent copy of the source, you must build it. Windows build instructions will be provided later.
On UNIX platforms (including OS-X and BeOS), ensure you have a recent GCC (2.9 or above, or 3 and above).You will also need SDL development headers and libraries (libSDL 1.2 or higher). For PNG screenshot support and zlib compressed games, you will need libpng 1.0.12 or higher and zlib 1.2 or higher.
Most UNIX platforms:
First run ./configure, them use make or gmake to compile OpenTTD. You can configure the different compile options via ./configure.
BeOS:
On BeOS, run ./configure and then use jam. There are a variaty of options you can pass to your build tool, these are reported by ./configure.
1.2 Installing OpenTTD.
On Windows, insert your "Transport Tycoon Deluxe for Windows 95" disk. You can use a DOS version, but your graphics will be purple. NB: Even if your version of Transport Tycoon Deluxe ran on Windows 95, it may still be the DOS version. Then run the OpenTTD installer.
On UNIX platforms; decompress your OpenTTD archive, or otherwise run the installer. You should be left with an OpenTTD directory on your system. In this directory, make a subdirectory called 'data', and into this place the sample.cat file and all the .grf files from the install CD of 'Transport Tycoon Deluxe for Windows 95".
(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 MIDI music, copy the 'gm' folder from the original game directory/CD to the OpenTTD folder.
1.3 Running OpenTTD.
On Windows, you can use a third-party launcher such as OTTD-Launcher to run OpenTTD directly from Explorer. Otherwise, navigate via the command prompt to the correct location and launch ttd.exe.
On Linux, navigate at the shell to the correct location and run ttd.
On BeOS and Mac OS-X, just double click the ttd binary in the Tracker/Finder. You can also start from the shell.
1.4 Configuring OpenTTD
OpenTTD's launch menu contains three configuration menus - Difficulty Settings, Configure Patches and Game Settings. Most of these menus can be configured from within a running game as well.
Difficulty Settings lets you configure settings that affect the difficulty of playing the game. These include when your (computer-controlled) competitors can start building, how many of them there are, and how intelligent they are. You can also control how much the subsidy mutliplier is for subsidised routes, and how stable/volitile the in-game economy is. You can also set how you want the terrain to be configured in a random game.
Game Settings lets you set regional settings - currency, language, town names, etc. It also lets you select the resolution to run the game at, as well as the screenshot format to use.
Configure Patches lets you select which patches to use in the game. This allows you to set the game play to either original Transport Tycoon Deluxe compatible mode or a mode more like playing under TTD-Patch. Patches include building on slopes, longer bridges, longer trains, pre-signals, and TTD-Patch compatible handling of non-stop orders.
2.1 Gameplay
This section of the manual is written with the assumption that you already know the gameplay basics of Transport Tycoon Deluxe, on either DOS or Windows. As you must have the Windows Transport Tycoon Deluxe CD to play OpenTTD, you should either have a paper manual or the complete manual in PDF format on the disk. This section will only cover the gameplay differences from Transport Tycoon Deluxe.
2.2 Station Construction
In OpenTTD, you can build rail stations up to seven squares long and with up to seven platforms. You can also have stations spreading across far larger distances, allowing a large rail station to be connected to a large airport, for instance.
However, there is an even more noticable difference in rail station construction. You may now add platforms and lenght to a station after it has been built, and you may also add platforms of a different type. Users of TTDPatch will be used to this behaviour. But beyond what TTDPatch has, you can make stations of uneven lenght/width, and even ones with perpendicular tracks. You can also delete single tiles or tracks from a station, by holding down Shift before pressing the station construction button.
2.3 Checkpoint Stations
Checkpoint stations (the small blue item in the rail construction window) are small 1x1 stations. They must be built on top of pre-existing track. They do not accept or produce carge of any kind. They exist solely for use as route points. They become useful when dealing with large networks where trains may attempt to route themselves along undesirable or impossible routes. As an alternative to checkpoint stations, you can also direct trains to visit depots along the way. This has the advantage of also servicing the train and hence the train will rarely to never need to depart from its route to be serviced.
2.4 Freeform Rail Laying.
Along side the other rail laying buttons, you will see a button that looks somewhat like a crossing. This is the freeform rail laying tool., and it allows you to drag rail in any direction to lay it. This has a number of advantages, one of the main ones being that it can seriously speed up the laying of diagonal tracks.
2.5 Vehicle Queuing (with Quantum Effects)
This useful addition to OpenTTD means that road vehicles will queue outside a road station to wait for a space rather than attempt to enter it immediately. As anyone who has operated a large road network with busy stations will know, road vehicles quickly pile up inside stations. This will prevent that. The Quantum Effects are down to a bug in the game that means that mutliple vehicles will often only take up one space in the queue. However, this is almost too useful to fix, and should still be there in later versions. This can be enabled/disabled.
2.6 Building On Slopes
This allows you to build roads, rails, stations and depots on slopes. It also allows the construction of trasmitters and lighthouses on slopes in the scenario editor. There are some minor differences between OpenTTD's and TTD-Patch's handling of building on slopes, the main one being that bridges must still have solid land at their endings.
2.7 Long Bridges
OpenTTD allows you to constuct bridges up to 127 squares - half the size of the current map. This means that the crossing of large estuaries, such at the Bristol Channel in the original "West Country 90210" scenario can be acheived with one bridge instead of many bridges with staging points.
2.8 Long trains
OpenTTD allows trains of around 60 cars length, hence allowing you to use 7 square stations to their capacity and beyond.
2.9 Speed Display
This addition to OpenTTD allows you to see the current speed of any vehicle in their status window. Just open the status window of a vehicle and you can see the speed at that given moment. This allows you to see wheter better bridges, flatter/straighter track or more powerful engines could be used to increase the speed of a vehicle
2.10 More Trains, More Ships, More Everything!
Virtually any settings - train numbers, start date, what vehicles your competitors can use, etc - can be set in OpenTTD. Just use the Configure Patches menu on the main screen.
2.11 Network Play
See multiplayer.txt for more info.
2.12 Rail Recycling.
This button, at the end of the train construction window, lets you 'recycle' track to a new type. It also works on bridges, tunnels, stations and depots.
2.13 Canal Building
This button, at the end of the water construction window, lets you build canals and shiplifts across the landscape. These act just like normal water.

View File

@@ -0,0 +1,23 @@
To install OpenTTD, you should drag the game to any location you want and in that folder, you should create a folder called "data". It should contain:
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.)
You should also use the data folder to add any custom grf files if you like
if you want music, you can add a GM folder and add all .gm files from TTD inside it
If you want to use the scenarios, you can copy the scenario folder as well. If you already have one, just copy the content so you don't overwrite old ones that have been removed.
In the end, you should have a folder containing:
OpenTTD (the actual game)
data (containing the grf files)
GM (optional for music)
scenario (optional pregenerated maps)
The game adds some items by itself when it runs, like a save folder and a setting file

View File

@@ -1,5 +1,5 @@
Compiling OpenTTD using Microsoft Visual C++
Last updated: 2010-01-03
January 2, 2007
--------------------------------------------
PLEASE READ THE ENTIRE DOCUMENT BEFORE DOING ANY ACTUAL CHANGES!!
@@ -10,7 +10,7 @@ OpenTTD includes projects for MSVC 2005.NET and MSVC 2008.NET. Both will
compile out of the box, providing you have the required libraries/headers;
which ones, see below. There is no support for VS6 or MSVC 2002, or
MSVC 2003.NET. You are therefore strongly encouraged to either upgrade to
MSVC 2008 Express (free) or use GCC.
MSVC 2005 Express (free) or use GCC.
1) REQUIRED FILES
@@ -36,16 +36,16 @@ You need an SVN-client to download the source from subversion:
2) INCLUDES AND LIBRARIES
-------------------------
Put the newly downloaded files in the VC lib\ and include\ directories; where
"C:\Program Files\Microsoft Visual Studio 9.0\VC" is your location of Visual C.
"C:\Program Files\Microsoft Visual Studio 8\VC" is your location of Visual C.
If you are compiling for an x64 system, use the include\ and lib\ directories
from the win64/ folder.
* openttd-useful.zip\include\*
* afxresh.h
to > C:\Program Files\Microsoft Visual Studio 9.0\VC\Include
to > C:\Program Files\Microsoft Visual Studio 8\VC\Include
* openttd-useful.zip\lib\*
to > C:\Program Files\Microsoft Visual Studio 9.0\VC\Lib
to > C:\Program Files\Microsoft Visual Studio 8\VC\Lib
Custom directories might be recommended, check 2.2)
@@ -76,7 +76,14 @@ list, above all others, otherwise compilation will most likely fail!!
3) TTD GRAPHICS FILES
---------------------
See section 4.1 of readme.txt for the required 3rdparty files and how to install them.
Copy the following files from Transport Tycoon Deluxe to the bin/data folder
* sample.cat
* trg1r.grf
* trgcr.grf
* trghr.grf
* trgir.grf
* trgtr.grf
4) COMPILING
@@ -105,4 +112,4 @@ to ask about reasons; or just wait. The problem will most likely solve itself
within a few days as the problem is noticed and fixed.
An up-to-date version of this README can be found on the wiki:
http://wiki.openttd.org/Microsoft_Visual_C%2B%2B_2008_Express_Editions
http://wiki.openttd.org/index.php/MicrosoftVisualCExpress

View File

@@ -1,211 +0,0 @@
OpenTTD's admin network
Last updated: 2011-01-20
------------------------------------------------------------------------
Table of contents
-----------------
1.0) Preface
2.0) Joining the network
3.0) Asking for updates
* 3.1) Polling manually
4.0) Sending rcon commands
5.0) Sending chat
* 5.1) Receiving chat
6.0) Disconnecting
7.0) Certain packet information
1.0) Preface
---- -------
The admin network provides a dedicated network protocol designed for other
applications to communicate with OpenTTD. Connected applications can execute
console commands remotely (rcon commands) with no further authentication.
Furthermore information about clients and companies can be provided.
Admin applications remain connected when starting a new game or loading a saved
game in contrast to normal OpenTTD clients that get disconnected.
This document describes the admin network and its protocol.
Please refer to the mentioned enums in src/network/core/tcp_admin.h
Please also note that further improvements to the admin protocol can mean that
more packet types will be sent by the server. For forward compatibility it is
therefore wise to ignore unknown packets. Future improvements might also add
additional data to packets. This data should be ignored. Data will never be
removed from packets in later versions, except the possibility that complete
packets are dropped in favour of a new packet.
This though will be reflected in the protocol version as announced in the
ADMIN_PACKET_SERVER_PROTOCOL in section 2.0).
A reference implementation in Java for a client connecting to the admin interface
can be found at: http://dev.openttdcoop.org/projects/joan
2.0) Joining the network
---- -------------------
Create a TCP connection to the server on port 3977. The application is
expected to authenticate within 10 seconds.
To authenticate send a ADMIN_PACKET_ADMIN_JOIN packet.
The server will reply with ADMIN_PACKET_SERVER_PROTOCOL followed directly by
ADMIN_PACKET_SERVER_WELCOME.
ADMIN_PACKET_SERVER_PROTOCOL contains details about the protocol version.
It is the job of your application to check this number and decide whether
it will remain connected or not.
Furthermore, this packet holds details on every AdminUpdateType and the
supported AdminFrequencyTypes (bitwise representation).
ADMIN_PACKET_SERVER_WELCOME contains details on the server and the map,
e.g. if the server is dedicated, its NetworkLanguage, size of the Map, etc.
Once you have received ADMIN_PACKET_SERVER_WELCOME you are connected and
authorized to do your thing.
The server will not provide any game related updates unless you ask for them.
There are four packets the server will none the less send, if applicable:
- ADMIN_PACKET_SERVER_ERROR
- ADMIN_PACKET_SERVER_WELCOME
- ADMIN_PACKET_SERVER_NEWGAME
- ADMIN_PACKET_SERVER_SHUTDOWN
However, ADMIN_PACKET_SERVER_WELCOME only after a ADMIN_PACKET_SERVER_NEWGAME
3.0) Asking for updates
---- ------------------
Asking for updates is done with ADMIN_PACKET_ADMIN_UPDATE_FREQUENCY.
With this packet you define which update you wish to receive at which
frequency.
Note: not every update type supports every frequency. If in doubt, you can
verify against the data received in ADMIN_PACKET_SERVER_PROTOCOL.
The server will not confirm your registered update. However, asking for an
invalid AdminUpdateType or a not supported AdminUpdateFrequency you will be
disconnected from the server with NETWORK_ERROR_ILLEGAL_PACKET.
Additional debug information can be found with a debug level of net=3.
ADMIN_UPDATE_DATE results in the server sending:
- ADMIN_PACKET_SERVER_DATE
ADMIN_UPDATE_CLIENT_INFO results in the server sending:
- ADMIN_PACKET_SERVER_CLIENT_JOIN
- ADMIN_PACKET_SERVER_CLIENT_INFO
- ADMIN_PACKET_SERVER_CLIENT_UPDATE
- ADMIN_PACKET_SERVER_CLIENT_QUIT
- ADMIN_PACKET_SERVER_CLIENT_ERROR
ADMIN_UPDATE_COMPANY_INFO results in the server sending:
- ADMIN_PACKET_SERVER_COMPANY_NEW
- ADMIN_PACKET_SERVER_COMPANY_INFO
- ADMIN_PACKET_SERVER_COMPANY_UPDATE
- ADMIN_PACKET_SERVER_COMPANY_REMOVE
ADMIN_UPDATE_COMPANY_ECONOMY results in the server sending:
- ADMIN_PACKET_SERVER_COMPANY_ECONOMY
ADMIN_UPDATE_COMPANY_STATS results in the server sending:
- ADMIN_PACKET_SERVER_COMPANY_STATS
ADMIN_UPDATE_CHAT results in the server sending:
- ADMIN_PACKET_SERVER_CHAT
ADMIN_UPDATE_CONSOLE results in the server sending:
- ADMIN_PACKET_SERVER_CONSOLE
ADMIN_UPDATE_CMD_LOGGING results in the server sending:
- ADMIN_PACKET_SERVER_CMD_LOGGING
3.1) Polling manually
---- ----------------
Certain AdminUpdateTypes can also be polled:
- ADMIN_UPDATE_DATE
- ADMIN_UPDATE_CLIENT_INFO
- ADMIN_UPDATE_COMPANY_INFO
- ADMIN_UPDATE_COMPANY_ECONOMY
- ADMIN_UPDATE_COMPANY_STATS
- ADMIN_UPDATE_CMD_NAMES
ADMIN_UPDATE_CLIENT_INFO and ADMIN_UPDATE_COMPANY_INFO accept an additional
parameter. This parameter is used to specify a certain client or company.
Setting this parameter to UINT32_MAX (0xFFFFFFFF) will tell the server you
want to receive updates for all clients or companies.
Not supported AdminUpdateType in the poll will result in the server
disconnecting the application with NETWORK_ERROR_ILLEGAL_PACKET.
Additional debug information can be found with a debug level of net=3.
4.0) Sending rcon commands
---- ---------------------
Rcon runs separate from the ADMIN_UPDATE_CONSOLE AdminUpdateType. Requesting
the execution of a remote console command is done with the packet
ADMIN_PACKET_ADMIN_RCON.
Note: No additional authentication is required for rcon commands.
The server will reply with a ADMIN_PACKET_SERVER_RCON packet. Applications
will not receive the answer twice if they have asked for the AdminUpdateType
ADMIN_UPDATE_CONSOLE, as the result is not printed on the servers console
(just like clients rcon commands).
Furthermore, sending a 'say' command (or any similar command) will not
be sent back into the admin network.
Chat from the server itself will only be sent to the admin network when it
was not sent from the admin network.
5.0) Sending chat
---- ------------
Sending a ADMIN_PACKET_ADMIN_CHAT results in chat originating from the server.
Currently four types of chat are supported:
- NETWORK_ACTION_CHAT
- NETWORK_ACTION_CHAT_CLIENT
- NETWORK_ACTION_CHAT_COMPANY
- NETWORK_ACTION_SERVER_MESSAGE
NETWORK_ACTION_SERVER_MESSAGE can be sent to a single client or company
using the respective DestType and ID.
This is a message prefixed with the 3 stars, e.g. *** foo has joined the game
5.1) Receiving chat
---- -------------
Register ADMIN_UPDATE_CHAT at ADMIN_FREQUENCY_AUTOMATIC to receive chat.
The application will be able to receive all chat the server can see.
The configuration option network.server_admin_chat specifies whether
private chat for to the server is distributed into the admin network.
6.0) Disconnecting
---- -------------
It is a kind thing to say good bye before leaving. Do this by sending the
ADMIN_PACKET_ADMIN_QUIT packet.
7.0) Certain packet information
---- --------------------------
All ADMIN_PACKET_SERVER_* packets have an enum value greater 100.
ADMIN_PACKET_SERVER_WELCOME
Either directly follows ADMIN_PACKET_SERVER_PROTOCOL or is sent
after a new game has been started or a map loaded, i.e. also
after ADMIN_PACKET_SERVER_NEWGAME.
ADMIN_PACKET_SERVER_CLIENT_JOIN and ADMIN_PACKET_SERVER_COMPANY_NEW
These packets directly follow their respective INFO packets. If you receive
a CLIENT_JOIN / COMPANY_NEW packet without having received the INFO packet
it may be a good idea to POLL for the specific ID.
ADMIN_PACKET_SERVER_CMD_NAMES and ADMIN_PACKET_SERVER_CMD_LOGGING
Data provided with these packets is not stable and will not be
treated as such. Do not rely on IDs or names to be constant
across different versions / revisions of OpenTTD.
Data provided in this packet is for logging purposes only.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@@ -4,90 +4,64 @@
<head>
<meta name="Author" content="Marcin Grzegorczyk">
<meta name="Description" content="Structure of OpenTTD (OTTD) landscape arrays">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>OpenTTD Landscape Internals</title>
</head>
<body>
<h3><a name="Landscape">Landscape</a></h3>
<p>
For a graphical representation of the tile-layout have a look at
<a href="landscape_grid.html">Landscape grid</a> page.
</p>
<p>Eight attributes (counting &quot;<span style="font-weight: bold;">type_height</span>&quot;) hold the informations about a tile.<BR>
<p>Seven attributes (counting &quot;<span style="font-weight: bold;">type_height</span>&quot;) hold the informations about a tile.<BR>
These attributes are referred to as
&quot;<span style="font-weight: bold;">type_height</span>",
&quot;<span style="font-weight: bold;">m1</span>&quot;, &quot;<span style="font-weight: bold;">m2</span>&quot;,
&quot;<span style="font-weight: bold;">m3</span>&quot;, &quot;<span style="font-weight: bold;">m4</span>&quot;,
&quot;<span style="font-weight: bold;">m5</span>&quot;, &quot;<span style="font-weight: bold;">m6</span>&quot;
and "<span style="font-weight: bold;">m7</span>".<br>
"<span style="font-weight: bold;">type_height</span>",
"<span style="font-weight: bold;">m1</span>", "<span style="font-weight: bold;">m2</span>",
"<span style="font-weight: bold;">m3</span>", "<span style="font-weight: bold;">m4</span>",
"<span style="font-weight: bold;">m5</span>" and "<span style="font-weight: bold;">m6</span>".<BR>
The most important value is the class of a tile, stored in the upper 4 bits
of the <span style="font-weight: bold;">type_height</span> attribute. The lower 4 bits are used to encode the height and
slope data.
</p>
Frequently repeating patterns:
Special Attribute : <span style="font-weight: bold;">m6</span>. There are 4 bits of it that are used accross multiple tile classes<br>
<ul>
<li><span style="font-weight: bold;">m1</span>
<ul>
<li>
<a name="WaterClass"></a>
Bits 6..5:
<table border="1" style="width: 30em;">
<tr bgcolor="#CCCCCC"><td colspan="2">The type of water that is on a tile.
<tr><td style="width: 5em;"><tt>00</tt></td><td align=left>Sea</td></tr>
<tr><td><tt>01</tt></td><td align=left>Canal</td></tr>
<tr><td><tt>02</tt></td><td align=left>River</td></tr>
<tr><td><tt>03</tt></td><td align=left>Invalid, i.e. no water on this tile</td></tr>
</table>
Some tiles, such as houses, reuse these bits of other purposes.
</li>
<li>
<a name="OwnershipInfo"></a>
Bits 4..0:
<table border="1" style="width: 30em;">
<tr bgcolor="#CCCCCC"><td colspan="2">The owner of a tile can be either companies (human or AI) or "Game entities".
<tr><td style="width: 5em;"><tt>00..0E</tt></td><td align=left>Normal companies</td></tr>
<tr><td><tt>0F</tt></td><td align=left>a town owns the tile</td></tr>
<tr><td><tt>10</tt></td><td align=left>nobody owns the tile</td></tr>
<tr><td><tt>11</tt></td><td align=left>"water" owns the tile</td></tr>
<tr><td><tt>FF</tt></td><td align=left>spectator in MP or in scenario editor</td></tr>
</table>
Some tiles, such as houses and industries, reuse these bits of other purposes.
</li>
</ul>
<li>
<a name = "bridge_direction">
Bits 7..6 :
<table border="1">
<tr bgcolor="#CCCCCC"><td colspan="2">Presence and direction of bridge above,<br>for tiles that support this.</td></tr>
<tr><td><tt>00</tt>&nbsp; </td><td>no bridge</td></tr>
<tr><td><tt>01</tt>&nbsp; </td><td>Axis X (North-East)</td></tr>
<tr><td><tt>02</tt>&nbsp; </td><td>Axis Y (South-West)</td></tr>
</table>
</li>
<li><span style="font-weight: bold;">m6</span>
<ul>
<li>
<a name="bridge_direction"></a>
Bits 7..6:
<table border="1" style="width: 30em;">
<tr bgcolor="#CCCCCC"><td colspan="2">Presence and direction of bridge above, for tiles that support this.</td></tr>
<tr><td style="width: 5em;"><tt>00</tt></td><td>no bridge</td></tr>
<tr><td><tt>01</tt></td><td>Axis X (North-East)</td></tr>
<tr><td><tt>02</tt></td><td>Axis Y (South-West)</td></tr>
</table>
Some tiles, such as houses do not support bridges over them and use these bits for other purposes.
</li>
<li>
<a name="tropic_zone"></a>
Bits 1..0:
<table border="1" style="width: 30em;">
<tr bgcolor="#CCCCCC"><td colspan="2">Only meaningfull in tropic climate. It contains the definition of the available zones</td></tr>
<tr><td style="width: 5em;"><tt>00</tt></td><td>normal</td></tr>
<tr><td><tt>01</tt></td><td>desert</td></tr>
<tr><td><tt>02</tt></td><td>rain forest</td></tr>
</table>
In any other climate these 2 bits are theoretically free of use, however using them does not seem useful.
</li>
</ul>
</li>
<li><span style="font-weight: bold;">m7:</span><br>
Animation frame/state. Used for houses, industries, objects and stations.
<li>
<a name = "tropic_zone">
Bits 1..0 :
<table border="1">
<tr bgcolor="#CCCCCC"><td colspan="2">Only meaningfull in tropic climate.<br>It contains the definition of the available zones</td></tr>
<tr><td><tt>00</tt>&nbsp; </td><td>normal</td></tr>
<tr><td><tt>01</tt>&nbsp; </td><td>desert</td></tr>
<tr><td><tt>02</tt>&nbsp; </td><td>rain forest</td></tr>
</table>
In any other climate, those 2 bits are free of use.
</li>
</ul>
<p>
For a graphical representation of the tile-layout have a look at
<a href="landscape_grid.html">Landscape grid</a> page.
</p>
The <a name="OwnershipInfo">owner of a tile</a>, as frequently associated with attribute m1,
can be either players (human or AI) or "Game entities".
They are identified using:
<table border="1">
<tr><td><tt>00</tt>&nbsp; </td><td align=left>current player</td></tr>
<tr><td><tt>01..08</tt>&nbsp; </td><td align=left>AI or network players</td></tr>
<tr><td><tt>0F</tt>&nbsp; </td><td align=left>a town owns the tile</td></tr>
<tr><td><tt>10</tt>&nbsp; </td><td align=left>nobody owns the tile</td></tr>
<tr><td><tt>11</tt>&nbsp; </td><td align=left>"water" owns the tile</td></tr>
<tr><td><tt>FF</tt>&nbsp; </td><td align=left>spectator in MP or in scenario editor</td></tr>
</table>
<p>OTTD's class-specific periodic tile processing routine is called once every +256 ticks for each tile.</p>
@@ -104,10 +78,9 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the tile (normally <tt>10</tt>)</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the tile (normally <tt>10</tt>)</li>
<li>m2: see fields</li>
<li>m3 bits 3..0: see fields</li>
<li>m3 bit 4: set if the tile is covered with snow</li>
<li>m4 bits 7..5: type of hedge on the SW border of the tile (1 through 6, or 0=none)</li>
<li>m4 bits 4..2: same as 7..5, but for the SE border</li>
<li>m5 bits 7..5: update counter, incremented on every periodic processing for tile types,
@@ -209,8 +182,8 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the tile</li>
<li>m2: see signals</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the tile</li>
<li>m2: see waypoint and signals</li>
<li>m3 bits 7..4: see signals</li>
<li>m3 bits 3..0 = <a name="TrackType">track type</a>:
<table>
@@ -479,9 +452,27 @@
<li>m2 bit 11: opposite track is reserved, too</li>
</ul>
</li>
<li>m5 bit 7 set, bit 6 clear: checkpoint
<ul>
<li>m2: index into the array of waypoints.</li>
<li>m5 bit 0:
<table>
<tr>
<td><tt>0</tt>&nbsp; </td>
<td>in X direction</td>
</tr>
<tr>
<td><tt>1</tt>&nbsp; </td>
<td>in Y direction</td>
</tr>
</table>
</li>
<li>m5 bit 4: pbs reservation state</li>
</ul>
</li>
<li>m5 bit 7 set, bit 6 set: railway depot
<ul>
<li>m2: Depot index</li>
<li>m5 bits 1..0: exit towards
<table>
<tr>
@@ -574,7 +565,7 @@
<li>m3 bits 7..4: <a href="#OwnershipInfo">owner</a> of road type 1 (tram); OWNER_NONE (<tt>10</tt>) is stored as OWNER_TOWN (<tt>0F</tt>)
<li>m5 bit 6 clear: road
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the road type 0 (normal road)</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the road type 0 (normal road)</li>
<li>m7 bits 3..0: counter for the roadworks</li>
<li>m5 bits 3..0: road layout road type 0 (normal road): bit set = road piece present:
<table>
@@ -613,7 +604,7 @@
</li>
<li>m5 bit 6 set: level crossing
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the railway track</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the railway track</li>
<li>m3 bits 3..0: <a href="#TrackType">railway track type</a></li>
<li>m5 bit 0: direction
<table>
@@ -628,7 +619,7 @@
</table>
</li>
<li>m5 bit 5: set if crossing lights are on</li>
<li>m7 bits 4..0: <a href="#OwnershipInfo">owner</a> of the road type 0 (normal road)</li>
<li>m6 bits 4..0: <a href="#OwnershipInfo">owner</a> of the road type 0 (normal road)</li>
<li>m5 bit 4: pbs reservation state</li>
</ul>
</li>
@@ -636,8 +627,7 @@
</li>
<li>m5 bit 7 set, bit 6 clear: road depot
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the depot</li>
<li>m2: Depot index</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the depot</li>
<li>m5 bits 3..0: exit towards:
<table>
<tr>
@@ -695,7 +685,7 @@
</li>
</ul>
<li>m3 bit 6 : bit 8 of house type (m4), allowing 512 different types.</li>
<li>m3 bit 5 : free</li>
<li>m3 bit 5 : bit 6 of current animation frame (see m6)</li>
<li>m3 bits 4..0 : triggers activated <a href="#newhouses">(newhouses)</a></li>
<li>m4 : <a href="landscape_externals.html">town building type</a> (with m3[6] bit)</li>
<li>m5 : see m3 bit 7</li>
@@ -703,7 +693,7 @@
<ul>
<li>If <a href="#newhouses">newhouses</a> is activated
<ul>
<li>bits 7..2 : Periodic processing time remaining</li>
<li>bits 7..2 : Current animation frame (bits 5..0); bit 6 in m3</li>
</ul>
</li>
<li>Standard behaviour
@@ -718,7 +708,7 @@
<ul>
<li>If <a href="#newhouses">newhouses</a> is activated
<ul>
<li>Current animation frame</li>
<li>Periodic processing time remaining</li>
</ul>
</li>
<li>Standard behaviour (only for houses type 04 and 05)
@@ -734,7 +724,7 @@
</ul>
</li>
</ul>
<small><a name="newhouses"></a>Newhouses is the name englobing a newGRF feature developped by TTDPatch devs (mainly Csaboka).<br>
<small><a name="newhouses">Newhouses is the name englobing a newGRF feature developped by TTDPatch devs (mainly Csaboka).<br>
It allows the replacement of the properties as well as the graphics of houses in the game.<br>
To distinguish between the standard behaviour and the newGRF one, HouseID (m4 + m3[6]) is tested for anything above 110.<br>
110 is the count of standard houses. So above 110 means there is a new definition of at least one house</small>
@@ -749,8 +739,9 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> (normally <tt>10</tt>)</li>
<li>m2 bits 8..6: ground
<li>m1: <a href="#OwnershipInfo">owner</a> (normally <tt>10</tt>)</li>
<li>m2 bits 7..6: ground density
<li>m2 bits 5..4: ground
<table>
<tr>
@@ -772,14 +763,8 @@
<td align=left><tt>3</tt>&nbsp; </td>
<td>on shore (density must be 3)</td>
</tr>
<tr>
<td align=left><tt>4</tt>&nbsp; </td>
<td>on snow with rough land underneed</td>
</tr>
</table>
</li>
<li>m2 bits 5..4: ground density</li>
<li>m2 bits 3..0: update counter, incremented on every periodic processing.<br>
on wraparound the growth status is updated (or, if it's <tt>3</tt>, a random action is taken)</li>
<li>m3 bits 7..0: type of trees:
@@ -848,12 +833,12 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 6..5: water class for buoys, water part of docks and for airport tiles</li>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the station</li>
<li>m1: <a href="#OwnershipInfo">owner</a> of the station</li>
<li>m2: index into the array of stations</li>
<li>m3 bits 7..4: persistent random data for railway stations/waypoints and airports)</li>
<li>m3 bits 7..4: persistent random data for newstations (train station)</li>
<li>m3 bits 7..4: <a href="#OwnershipInfo">owner</a> of tram tracks (road stop)</li>
<li>m3 bits 3..0: <a href="#TrackType">track type</a> for railway stations/waypoints</li>
<li>m3 bits 3..0: <a href="#TrackType">track type</a> for railway stations</li>
<li>m3 bits 1..0: water class for buoys and water part of docks</li>
<li>m4: custom station id; 0 means standard graphics</li>
<li>m5: graphics index (range from 0..255 for each station type):
<table>
@@ -881,29 +866,13 @@
</tr>
<tr>
<td nowrap valign=top><tt>00</tt>..<tt>01</tt></td>
<td align=left>waypoints
<table>
<tr>
<td><tt>00</tt>&nbsp; </td>
<td align=left>in X direction</td>
</tr>
<tr>
<td><tt>01</tt>&nbsp; </td>
<td align=left>in Y direction</td>
</tr>
</table>
</td>
</tr>
<tr>
<td nowrap valign=top><tt>00</tt>..<tt>FF</tt></td>
<td nowrap valign=top><tt>00</tt>..<tt>8F</tt></td>
<td align=left>all airports</td>
</tr>
<tr>
<td nowrap valign=top><tt>00</tt>..<tt>05</tt>&nbsp; </td>
<td align=left>road stops
<td align=left>road stops:
<table>
<tr>
<td><tt>00</tt>&nbsp; </td>
@@ -966,13 +935,13 @@
</tr>
</table>
</li>
<li>m6 bits 5..3: the station type (rail, airport, truck, bus, oilrig, dock, buoy, waypoint)</li>
<li>m6 bit 2: pbs reservation state for railway stations/waypoints</li>
<li>m6 bits 5..3: the station type (rail, airport, truck, bus, oilrig, dock, buoy)</li>
<li>m6 bit 2: pbs reservation state for railway stations</li>
<li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li>
<li>m7 bits 4..0: <a href="#OwnershipInfo">owner</a> of road (road stops)</li>
<li>m7 bits 7..6: present road types (road stops)</li>
<li>m7: animation frame (railway stations/waypoints, airports)</li>
<li>m7: animation frame (train station)</li>
</ul>
</td>
</tr>
@@ -985,9 +954,8 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 6..5 : Water class (sea, canal or river)
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> (for sea, rivers, and coasts normally <tt>11</tt>)</li>
<li>m2: Depot index (for depots only)</li>
<li>m1: <a href="#OwnershipInfo">owner</a> (for sea, rivers, and coasts normally <tt>11</tt>)</li>
<li>m3 bits 1..0 : Water class (sea, canal or river)
<li>m4: Random data for canal or river tiles</li>
<li>m5: tile type:
<table>
@@ -1116,7 +1084,7 @@
</ul>
</li>
<li>m2: index into the array of industries</li>
<li>m3: random bits (NewGRF)</li>
<li>m3: animation state</li>
<li>m4: animation loop</li>
<li>m5: type (plus m6 bit 2):<br>
<small>(note: this is not the same as the industry type, which is stored in the array of industries)</small>
@@ -1133,7 +1101,7 @@
<tr>
<td nowrap valign=top><tt>01</tt>&nbsp; </td>
<td align=left>wheel tower when animated<br>
animation state in m7 bits 5..0; m7 bit 6 set = sound already generated</td>
animation state in m3 bits 5..0; m3 bit 6 set = sound already generated</td>
</tr>
</table>
</td>
@@ -1149,7 +1117,7 @@
</tr>
<tr>
<td nowrap valign=top><tt>0A</tt>&nbsp; </td>
<td align=left>transformer; animation progress in m7(valid range <tt>0</tt>..<tt>7</tt>)</td>
<td align=left>transformer; animation progress in m3(valid range <tt>0</tt>..<tt>7</tt>)</td>
</tr>
</table>
</td>
@@ -1192,7 +1160,7 @@
</tr>
<tr>
<td nowrap valign=top><tt>1E</tt>..<tt>20</tt>&nbsp; </td>
<td align=left>various stages of animation; progress of animation in m7</td>
<td align=left>various stages of animation; progress of animation in m3</td>
</tr>
</table>
</td>
@@ -1223,7 +1191,7 @@
</tr>
<tr>
<td nowrap valign=top><tt>30</tt>&nbsp; </td>
<td align=left>wheel tower when animated; animation state in m7 bits 5..0; m7 bit 6 set = sound already generated</td>
<td align=left>wheel tower when animated; animation state in m3 bits 5..0; m3 bit 6 set = sound already generated</td>
</tr>
<tr>
<td nowrap valign=top><tt>31</tt>&nbsp; </td>
@@ -1263,7 +1231,7 @@
</tr>
<tr>
<td nowrap valign=top><tt>58</tt>&nbsp; </td>
<td align=left>wheel tower when animated; animation state in m7 bits 5..0; m7 bit 6 set = sound already generated</td>
<td align=left>wheel tower when animated; animation state in m3 bits 5..0; m3 bit 6 set = sound already generated</td>
</tr>
</table></td>
</tr>
@@ -1358,7 +1326,7 @@
<table>
<tr>
<td nowrap valign=top><tt>8F</tt>&nbsp; </td>
<td align=left>Animated part; animation state in m7 (valid range <tt>00</tt>..<tt>31</tt>)<br>
<td align=left>Animated part; animation state in m3 (valid range <tt>00</tt>..<tt>31</tt>)<br>
Tile animation is started (m4 zeroed) on the periodic processing.<br>
While the animation is in progress, m4 holds the number
of animation cycles that have already taken place.<br>
@@ -1388,7 +1356,7 @@
</tr>
<tr>
<td nowrap valign=top><tt>A2</tt>&nbsp; </td>
<td align=left>bubble capture facility; animation state in m7 (valid range <tt>00</tt>..<tt>27</tt>)</td>
<td align=left>bubble capture facility; animation state in m3 (valid range <tt>00</tt>..<tt>27</tt>)</td>
</tr>
</table>
</td>
@@ -1426,7 +1394,7 @@
<li>m6 bits 5..3: random triggers (NewGRF)</li>
<li>m6 bit 2: bit 8 of type (see m5)</li>
<li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li>
<li>m7: animation frame</li>
<li>m7: random bits (NewGRF)</li>
</ul>
</td>
</tr>
@@ -1439,7 +1407,7 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a></li>
<li>m1: <a href="#OwnershipInfo">owner</a></li>
<li>m3 bits 7..4: <a href="#OwnershipInfo">owner</a> of tram</li>
<li>m3 bits 3..0: <a href="#TrackType">track type</a> for railway</li>
<li>m5 bit 4: pbs reservation state for railway</li>
@@ -1551,7 +1519,6 @@
<td><tt>2</tt>&nbsp;</td>
<td>water</td>
</tr>
</table>
</li>
<li>m5 bits 1..0: direction onto the bridge / out of the tunnel
<table>
@@ -1587,16 +1554,16 @@
<tr bgcolor="#CCCCCC">
<td valign=top nowrap><strong><a name="ClassA"><tt> A</tt></a></strong></td>
<td><strong><tt>Objects</tt></strong></td>
<td><strong><tt>Unmovables</tt></strong></td>
</tr>
<tr>
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 6..5 : Water class (sea, canal, river or land)
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the object (for lighthouses and transmitters normally <tt>10</tt>)</li>
<li>m2: index into the array of objects
<li>m3: random bits
<li>m1: <a href="#OwnershipInfo">owner</a> of the object (for lighthouses and transmitters normally <tt>10</tt>)</li>
<li>m2: see company statue
<li>m3 bits 4..2: size of HQ
<li>m3 bits 1..0: section identification of the HQ
<li>m5: tile type:
<table>
<tr>
@@ -1612,6 +1579,10 @@
<tr>
<td nowrap valign=top><tt>02</tt>&nbsp; </td>
<td align=left>company statue
<ul>
<li>m2: TownID on which the statue is built in</li>
</ul>
</td>
</tr>
<tr>
@@ -1627,7 +1598,6 @@
</li>
<li>m6 bits 7..6 : Possibility of a bridge above, in the <a href="#bridge_direction">direction specified</a></li>
<li>m6 bits 1..0 : <a href="#tropic_zone">Tropic zone definition</a></li>
<li>m7: animation counter
</ul>
</td>
</tr>

View File

@@ -4,7 +4,7 @@
<head>
<meta name="Author" content="Marcin Grzegorczyk">
<meta name="Description" content="Structure of OpenTTD (OTTD) landscape arrays">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>OpenTTD Landscape externals</title>
</head>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<meta name="Description" content="Structure of OpenTTD (OTTD) landscape arrays #2">
<title>OpenTTD Landscape Internals - #2</title>
<style type="text/css">
@@ -66,9 +66,9 @@ the array so you can quickly see what is used and what is not.
<td rowspan="2">0</td>
<td class="caption">ground</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span><span class="option">~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOO</span>X <span class="free">OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XXXX XX<span class="free">OO</span></td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -77,21 +77,21 @@ the array so you can quickly see what is used and what is not.
<tr>
<td class="caption">farmland</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td rowspan=3>1</td>
<td rowspan=4>1</td>
<td class="caption">rail</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX <span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -102,7 +102,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO</span> XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -112,18 +112,29 @@ the array so you can quickly see what is used and what is not.
<td class="caption">depot</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">XX<span class="free">O</span>X <span class="free">O</span>XXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">waypoint</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO</span> <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO</span> XXXX</td>
<td class="bits">XX<span class="free">O</span>X <span class="free">OOO</span>X</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td rowspan=3>2</td>
<td class="caption">road</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
@@ -136,7 +147,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX<span class="free"> OOO</span>X</td>
<td class="bits">XXXX X<span class="free">O</span>XX</td>
@@ -159,7 +170,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XX<span class="free">O</span><span class="option">~ ~~</span>XX</td>
<td class="bits">XXX<span class="option">~ ~~</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXX<span class="abuse">X XXXX</span></td>
<td class="bits"><span class="abuse">XXXX XX</span>XX</td>
@@ -169,8 +180,8 @@ the array so you can quickly see what is used and what is not.
<td>4</td>
<td class="caption">trees</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span><span class="option">~ ~~~~</span></td>
<td class="bits"><span class="free">OOOO OOO</span>X XXXX XXXX</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OOOO OOOO</span> XXXX XXXX</td>
<td class="bits"><span class="option">~~</span>XX XXXX</td>
<td class="bits">XXXX XX<span class="free">OO</span></td>
<td class="bits">XX<span class="free">OO O</span>XXX</td>
@@ -178,46 +189,35 @@ the array so you can quickly see what is used and what is not.
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td rowspan=7>5</td>
<td rowspan=6>5</td>
<td class="caption">rail station</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">O</span>XXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OO</span>XX XXXX</td>
<td class="bits">XXXX XXXX</td>
</tr>
<tr>
<td class="caption">rail waypoint</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
</tr>
<tr>
<td class="caption">road stop</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX <span class="free">OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~</span>XXX</td>
<td class="bits"><span class="free">OO</span>XX XXXX</td>
<td class="bits">XX<span class="free">O</span>X XXXX</td>
<td class="bits">XXXX X<span class="free">O</span>XX</td>
</tr>
<tr>
<td class="caption">dock</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~</span>XXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
@@ -227,19 +227,19 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX <span class="free">OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">buoy</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
@@ -250,7 +250,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="option">~~~~ ~~~~</span></td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
@@ -259,9 +259,9 @@ the array so you can quickly see what is used and what is not.
<td rowspan=3>6</td>
<td class="caption">sea, shore</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">O</span>XXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">X<span class="option">~~</span>X XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -272,7 +272,7 @@ the array so you can quickly see what is used and what is not.
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -282,8 +282,8 @@ the array so you can quickly see what is used and what is not.
<td class="caption">shipdepot</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -293,7 +293,8 @@ the array so you can quickly see what is used and what is not.
<td>8</td>
<td class="caption">industry</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXX<span class="free">O</span> <span class="abuse">XXXX</span></td>
<td class="bits">XXX<span class="free">O</span> <span class="abuse">
XXXX</span></td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX XXXX</td>
@@ -305,9 +306,9 @@ the array so you can quickly see what is used and what is not.
<td rowspan=2>9</td>
<td class="caption">tunnel entrance</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XXXX <span class="option">~~</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">X<span class="free">OO</span>X XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
@@ -326,15 +327,26 @@ the array so you can quickly see what is used and what is not.
</tr>
<tr>
<td rowspan=2>A</td>
<td class="caption">objects</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">O</span>XXX XXXX</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="caption">unmovables</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="option">~~~</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO OOOO OOOO</span></td>
<td class="bits"><span class="free">OOO</span>X XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">XXXX XXXX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits">XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
<tr>
<td class="caption">company statue</td>
<td class="bits">-inherit-</td>
<td class="bits">-inherit-</td>
<td class="bits">XXXX XXXX XXXX XXXX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
<td class="bits">-inherit-</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
</tbody>
</table>

View File

@@ -1,219 +1,121 @@
Multiplayer manual for OpenTTD
Last updated: 2011-02-16
------------------------------------------------------------------------
Multiplayer Manual for OpenTTD (0.3.5)
=======================================
1. Starting a Server
---------------------
Table of contents
-----------------
1.0) Starting a server
2.0) Connecting to a server
* 2.1) Connecting to a server over the console
3.0) Playing internet games
4.0) Tips for servers
* 4.1) Imposing landscaping limits
5.0) Some useful things
6.0) Troubleshooting
1.0) Starting a server
---- -----------------
- Make sure that you have your firewall of the computer as well as possible
routers or modems of the server configured such that:
* port 3979 is free for both UDP and TCP connections in- and outgoing
* port 3978 is free outbound for UDP in order to advertise with the master
server (if desired). Otherwise you'll have to tell players your IP.
* port 3977 if use of the admin interface is desired (see admin_network.txt)
- Click "multiplayer" on the startup screen
- Click "start server"
- Type in a game name
- Select the type of game ('LAN/Internet' or 'Internet (advertise)'. With the
last one other people are able to see you online. Else they need your IP and
port to join)
- Select the type of game ('LAN/Internet' or 'Internet (advertise)'. With the last one
other people are able to see you online. Else they need your IP and port to join)
- Click "start game", "load game" or "load scenario"
- Start playing
2.0) Connecting to a server
---- ----------------------
2. Connecting to a Server
--------------------------
- Click "multiplayer" on the startup screen
- If you want to connect to any network game in your LAN click on 'LAN', then
on 'Find Server'
- If you want to see which servers all online on the Internet, click on
'Internet' and 'Find Server'
- If you want to connect to any network game in your LAN click on 'LAN', then on
'Find Server'
- If you want to see which servers all online on the Internet, click on 'Internet'
and 'Find Server'
- If there were more than one server
- If there were more then one server
- select one in the list below the buttons
- click on 'join game'
- If you want to play and you have the ip or hostname of the game server you
want connect to.
- If you want to play and you have the ip or hostname of the game server you want connect to.
- click add server
- type in the ip address or hostname
- if you want to add a port use :<port>
- Now you can select a company and press: "Join company", to help that company
- Or you can press "Spectate game", to spectate the game
- Or you can press "New company", and start your own company (if there are
slots free)
- Or you can press "New company", and start your own company (if there are slots free)
- You see a progressbar how far you are with joining the server.
- Happy playing
2.1) Connecting to a server over the console
---- ---------------------------------------
3. Connecting to a Server over the Console
-------------------------------------------
- Open the console and type in the following command:
connect <ip/host>:<port>#<company-no>
connect <ip/host>:<port>#<player-no>
3.0) Playing internet games
---- ----------------------
- Servers with a red dot behind it have a different version then you have. You
will not be able to join those servers.
4. Playing Internet-Games
--------------------------
- Servers with a yellow dot behind it have NewGRFs that you do not have. You
will not be able to join those servers. However, via "NewGRF Settings" and
"Find missing content online" you might be able to download the needed
NewGRFs after which you can join the server.
- Since OpenTTD 0.3.5 the network protocol has been rewritten and is very stable, even over slow connections.
- It can happen that a connection is that slow, or you have that many clients
connected to your server, that your clients start to loose their connection.
Some things you can do about it:
- [network] frame_freq:
change it in console with: 'set network.frame_freq <number>'
the number should be between the 0 and 10, not much higher. It indicates
the delay between clicking and showing up. The higher, the more you notice
it, but the less bandwidth you use.
- Servers with a red dot behind it have a different version then you have. You will not be able to join those servers.
- Servers with a yellow dot behind it have NewGRFs that you do not have. You will not be able to join those servers.
- It can happen that a connection is that slow, or you have that many clients connected to your server, that your clients start to loose their connection. Some things you can do about it:
- net_frame_freq:
change it in console with: net_frame_freq = <number>
the number should be between the 0 and 10, not much higher. It indicates the delay between clicking and showing up. The higher, the more you notice it, but the less bandwidth you use.
A good value for Internet-games is 2 or 3.
- [network] sync_freq:
change it in console with: 'set network.sync_freq <number>'
the number should be between the 50 and 1000, not much lower, not much
higer. It indicates the time between sync-frames. A sync-frame is a frame
which checks if all clients are still in sync. When the value it too high,
clients can desync in 1960, but the server detects it in 1970. Not really
handy. The lower the value, the more bandwidth it uses.
- net_sync_freq:
change it in console with: net_sync_freq = <number>
the number should be between the 50 and 1000, not much lower, not much higer. It indicates the time between sync-frames. A sync-frame is a frame which checks if all clients are still in sync. When the value it too high, clients can desync in 1960, but the server detects it in 1970. Not really handy. The lower the value, the more bandwidth it uses.
NB: changing frame_freq has more effect on the bandwidth then sync_freq.
NB: changing net_frame_freq has more effect on the bandwidth then net_sync_freq. You should never change net_sync_freq!
4.0) Tips for servers
---- ----------------
- You can launch a dedicated server by adding -D as parameter.
- In UNIX like systems, you can fork your dedicated server by adding -f as
parameter.
5. Tips for servers
--------------------
- You can automaticly clean companies that do not have a client connected to
them, for, let's say, 3 years. You can do this via: 'set autoclean_companies'
and 'set autoclean_protected' and 'set autoclean_unprotected'. Unprotected
removes a password from a company when it is not used for more then the
defined amount of months. 'set autoclean_novehicles' can be used to remove
companies without any vehicles quickly.
- You can launch a dedicated server by adding -D as parameter
- In UNIX like systems, you can fork your dedicated server by adding -f as parameter
- You can automaticly clean companies that do not have a client connected to them, for, let's say,
3 years. You can do this via: 'set autoclean_companies' and 'set autoclean_protected' and
'set autoclean_unprotected'. Unprotected removes a password from a company when it is
not used for more then the defined amount of months.
- You can also do this manually via the console: 'reset_company'.
Both ways, the company will go bankrupt.
- You can let your server automaticly restart a map when, let's say, year 2030
is reached. See 'set restart_game_date' for detail.
- You can let your server automaticly restart a map when, let's say, year 2030 is reached.
See 'set restart_game_date' for detail.
- If you want to be on the server-list, enable Advertising. To do this, select 'Internet (advertise)'
in the Start Server menu, or type in console: 'set server_advertise 1'.
- If you want to be on the server-list, enable Advertising. To do this, select
'Internet (advertise)' in the Start Server menu, or type in console:
'set server_advertise 1'.
- You can protect your server with a password via the console: 'set server_pw', or via the
Start Server menu.
- You can protect your server with a password via the console: 'set server_pw',
or via the Start Server menu.
- When you have many clients connected to your server via Internet, watch your
bandwidth (if you have any limit on it, set by your ISP). One client uses
about 1.5 kilobytes per second up and down. To decrease this amount, setting
'frame_freq' to 1 will reduce it to roughly 1 kilobyte per second per client.
- OpenTTD's default settings for maximum number of clients, and amount of data
from clients to process are chosen to not influence the normal playing of
people, but to prevent or at least make it less likely that someone can
perform a (distributed) denial-of-service attack on your server by causing
an out-of-memory event by flooding the server with data to send to all
clients. The major factor in this is the maximum number of clients; with
32 clients "only" sending one chat message causes 1024 messages to be
distributed in total, with 64 clients that already quadruples to 4096. Given
that upstream bandwidth is usually the limiting factor, a queue of packets
that need to be sent will be created.
To prevent clients from exploiting this "explosion" of packets to send we
limit the number of incoming data, resulting in effectively limiting the
amount of data that OpenTTD will send to the clients. Even with the default
limits it is possible to generate about 70.000 packets per second, or about
7 megabit per second of traffic.
Given that OpenTTD kicks clients after they have not reacted within about 9
seconds from sending a frame update packet it would be possible that OpenTTD
keeps about 600.000 packets in memory, using about 50 megabytes of memory.
Given that OpenTTD allows short bursts of packets, you can have slightly
more packets in memory in case of a distributed denial of service attack.
When increasing the amount of incoming data, or the maximum number of
clients the amount of memory OpenTTD needs in case of a distributed denial
of service attack is linearly related to the amount of incoming data and
quadratic to the amount of clients. In short, a rule of thumb for, the
maximum memory usage for packets is:
#max_clients * #max_clients * bytes_per_frame * 10 KiB.
4.1) Imposing landscaping limits
---- ---------------------------
- You can impose limits on companies by the following 4 settings:
- terraform_per_64k_frames
- terraform_frame_burst
- clear_per_64k_frames
- clear_frame_burst
- Explaining 'per_64K_frames' and 'burst'
- 'burst' defines 3 things, the maximum limit, the limit of a single action,
and the initial value for the limit assigned to a new company.
This setting is fairly simple and requires no math.
A value of 1 means a single tile can be affected by a single action.
This results in having to click 400 times when wanting to cover an area
of 20 x 20 tiles.
The default value 4096 covers an area of 64 x 64 tiles.
- 'per_64k_frames' defines the number of tiles added to each companies limit
per frame (however not past the possible maximum value,the 'burst').
64k rather resembles the exact number of 65536 frames. So setting this
variable to 65536 means: 65536 / 65536 = 1 tile per frame.
As a day consists of 74 frames, a company's limit is increased by 74
tiles during the course of a single day (2.22 seconds).
To achieve a 1 tile per day increase the following calculation is needed:
1 / 74 (frames per day) * 65536 (per_64k_frames) = 885.62...
after rounding: a value of 886 means adding a bit over 1 tile per day.
There is still enough space to scale this value downwards:
decreasing this value to 127 results in a bit over 1 tile added to the
allowance per week (7 days).
To create a setup in which a company gets an initial allowance only,
set the value to 0 - no increase of the allowance per frame.
- Even though construction actions include a clear tile action, they are not
affected by the above settings.
- When you have many clients connected to your server via Internet, watch your bandwidth (if
you have any limit on it, set by your ISP). 1 client uses +/- 3 kb/s up and down. To decrease
this amount, set 'net_frame_freq' to 1 for example. This will reduce it to 1.5 kb/s per client.
5.0) Some useful things
---- ------------------
- You can protect your company so nobody else can join uninvited. To do this,
set a password in your Company Screen
6. Some useful things
----------------------
- You can give other players some money via the ClientList (under the 'head'
in the mainbar).
- You can protect your company so nobody else can join uninvited. To do this, check your Company Screen
- You can give other players some money via the ClientList (under the 'head' in the mainbar).
- You can chat with other players via ENTER or via SHIFT+T or via the ClientList
- Servers can now kick players, so don't make them use it!
- From 0.3.5, desyncs should not happen anymore
6.0) Troubleshooting
---- ---------------
- My advertising server does not show up in list at servers.openttd.org
Run openttd with the '-d net=2' parameter. That will show which incoming
communication is received, whether the replies from the master server or
communication from an admin tool reach the programme. See section 1
'Starting a server' further up for the ports and protocols used by OpenTTD.
The ports can be configured in the config file.
- From 0.3.5, patch-settings are also synced. You can now play without deleting openttd.cfg, and with, for example, extra large trains enabled.
7. Troubleshooting
------------------
- My advertised server does not show up in the 'advertised server list' (servers.openttd.org)
Run openttd with the '-d net=2' parameter, as this will show whether it receives replies from the master server.
If it does not receive replies it is most likely that you need to configure your router to forward the OpenTTD ports 3979 (both TCP and UDP) to the computer that is hosting the game.

View File

@@ -26,20 +26,12 @@
[metadata]
; the name of the pack, preferably less than 16 characters
name = example
; the short name (4 characters), used to identify this set
; the short name (4 characters), used to identify this set within NewGRFs
shortname = XMPL
; the version of this graphics set (read as single integer)
version = 0
; a fairly short description of the set
; By adding '.<iso code>' you can translate the description.
; Note that OpenTTD first tries the full ISO code, then the first
; two characters and then uses the fallback (no '.<iso code>').
; The ISO code matching is case sensitive!
; So en_US will be used for en_GB if no en_GB translation is added.
; As a result the below example has 'howdie' for en_US and en_GB but
; 'foo' for all other languages.
description = foo
description.en_US = howdie
; palette used by the set; either DOS or Windows
palette = DOS
@@ -57,8 +49,6 @@ tropical = TRGH.GRF
; GRF file with extra toyland sprites
toyland = TRGT.GRF
; NewGRF file using Actions 5, 7, 9 and A to replace sprites
; Must use a GRF ID starting with FF so it cannot be selected from
; the in-game NewGRF list and (thus) be loaded twice.
extra = OPENTTDD.GRF
; The md5s section lists the MD5 checksum for the files that replace them.

View File

@@ -1,106 +0,0 @@
;
; Example file for the OpenTTD Base Music replacement sets.
; This file consists of basically two different parts:
; * metadata
; * information about the files/songs
;
; Metadata contains information about the name and version
; of the music set.
;
; == Getting started ==
; - you can't add comments after values
; - you have to fill the MD5 checksum for each file
; - you may not miss any of the metadata or files items
; - `openttd -h` lists all music replacement sets it found to be correct
; - `openttd -d grf=1` shows warnings/errors when parsing an .obm file
; - `openttd -M <name>` starts OpenTTD with the given set (case sensitive)
; - adding `musicset = <name>` to the misc section of openttd.cfg makes
; OpenTTD start with that sound set by default
; - there is a command line tool for all platforms called md5sum that can
; create the MD5 checksum you need.
; - all files specified in this file are search relatively to the path where
; this file is found, i.e. if the sound files are in a subdir you have
; to add that subdir to the names in this file to! It will NOT search for
; a file named like specified in here.
[metadata]
; the name of the pack, preferably less than 16 characters
name = example
; the short name (4 characters), used to identify this set
shortname = XMPL
; the version of this sound set (read as single integer)
version = 0
; a fairly short description of the set
; By adding '.<iso code>' you can translate the description.
; Note that OpenTTD first tries the full ISO code, then the first
; two characters and then uses the fallback (no '.<iso code>').
; The ISO code matching is case sensitive!
; So en_US will be used for en_GB if no en_GB translation is added.
; As a result the below example has 'howdie' for en_US and en_GB but
; 'foo' for all other languages.
description = foo
description.en_US = howdie
; The files section lists the files that replace songs.
; The file names are case sensitive.
; You can have empty file names; in that case no song will be loaded
; for that 'entry'.
[files]
; The theme song for OpenTTD
theme = THEME_SONG.GM
; The songs in the 'old style' category
old_0 =
old_1 =
old_2 =
old_3 =
old_4 =
old_5 =
old_6 =
old_7 =
old_8 =
old_9 =
; The songs in the 'new style' category
new_0 =
new_1 =
new_2 =
new_3 =
new_4 =
new_5 =
new_6 =
new_7 =
new_8 =
new_9 =
; The songs in the 'ezy street' category
ezy_0 =
ezy_1 =
ezy_2 =
ezy_3 =
ezy_4 =
ezy_5 =
ezy_6 =
ezy_7 =
ezy_8 =
ezy_9 =
; The names section lists the song names for the given file name.
; Note that the list of files is case sensitive. Each file listed in the
; files section must be listed here with it's song name, otherwise you
; will get a lot of warnings when starting OpenTTD.
[names]
THEME_SONG.GM = Tycoon DELUXE Theme
; The md5s section lists the MD5 checksum for the files that replace them.
; Note that the list of files is case sensitive. Each file listed in the
; files section must be listed here with it's MD5 checksum, otherwise you
; will get a lot of warnings when starting OpenTTD.
[md5s]
THEME_SONG.GM = 45cfec1b9d8c7a0ad45e755833cbf221
; The origin section provides the possibility to put and extra line into
; the warning that a file is missing/corrupt. This can be used to tell
; them where to find it. It works on the filename specified in the
; files section and if that is not found it will fall back to the default
; as shown below here.
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
THEME_SONG.GM = You can find it also on your Transport Tycoon Deluxe CD-ROM.

View File

@@ -1,64 +0,0 @@
;
; Example file for the OpenTTD Base Sound replacement sets.
; This file consists of basically two different parts:
; * metadata
; * information about the files
;
; Metadata contains information about the name and version
; of the sound set.
;
; == Getting started ==
; - you can't add comments after values
; - you have to fill the MD5 checksum for each file
; - you may not miss any of the metadata or files items
; - `openttd -h` lists all sound replacements sets it found to be correct
; - `openttd -d grf=1` shows warnings/errors when parsing an .obs file
; - `openttd -S <name>` starts OpenTTD with the given set (case sensitive)
; - adding `soundsset = <name>` to the misc section of openttd.cfg makes
; OpenTTD start with that sound set by default
; - there is a command line tool for all platforms called md5sum that can
; create the MD5 checksum you need.
; - all files specified in this file are search relatively to the path where
; this file is found, i.e. if the sound files are in a subdir you have
; to add that subdir to the names in this file to! It will NOT search for
; a file named like specified in here.
[metadata]
; the name of the pack, preferably less than 16 characters
name = example
; the short name (4 characters), used to identify this set
shortname = XMPL
; the version of this sound set (read as single integer)
version = 0
; a fairly short description of the set
; By adding '.<iso code>' you can translate the description.
; Note that OpenTTD first tries the full ISO code, then the first
; two characters and then uses the fallback (no '.<iso code>').
; The ISO code matching is case sensitive!
; So en_US will be used for en_GB if no en_GB translation is added.
; As a result the below example has 'howdie' for en_US and en_GB but
; 'foo' for all other languages.
description = foo
description.en_US = howdie
; The files section lists the files that replace sprites.
; The file names are case sensitive.
[files]
; The file with the samples. Must contain exactly 73 samples.
samples = SAMPLES.CAT
; The md5s section lists the MD5 checksum for the files that replace them.
; Note that the list of files is case sensitive. Each file listed in the
; files section must be listed here with it's MD5 checksum, otherwise you
; will get a lot of warnings when starting OpenTTD.
[md5s]
SAMPLES.CAT = 422ea3dd074d2859bb51639a6e0e85da
; The origin section provides the possibility to put and extra line into
; the warning that a file is missing/corrupt. This can be used to tell
; them where to find it. It works on the filename specified in the
; files section and if that is not found it will fall back to the default
; as shown below here.
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.
SAMPLES.CAT = You can find it also on your Transport Tycoon Deluxe CD-ROM.

View File

@@ -1,6 +1,6 @@
.\" Hey, EMACS: -*- nroff -*-
.\" Please adjust this date whenever revising the manpage.
.Dd Dec 31, 2010
.Dd Feb 05, 2009
.Dt OPENTTD 6
.Sh NAME
.Nm openttd
@@ -8,9 +8,10 @@
.Sh SYNOPSIS
.Nm
.Op Fl efhx
.Op Fl a Ar ai
.Op Fl b Ar blitter
.Op Fl c Ar config_file
.Op Fl d Ar [level | cat=lvl[,...]]
.Op Fl d Ar [level | cat=lvl[, ...]]
.Op Fl D Ar [host][:port]
.Op Fl g Ar [savegame]
.Op Fl G Ar seed
@@ -18,28 +19,26 @@
.Op Fl I Ar graphicsset
.Op Fl l Ar host[:port]
.Op Fl m Ar driver
.Op Fl M Ar musicset
.Op Fl n Ar host[:port][#player]
.Op Fl p Ar password
.Op Fl P Ar password
.Op Fl r Ar widthxheight
.Op Fl s Ar driver
.Op Fl S Ar soundset
.Op Fl t Ar year
.Op Fl v Ar driver
.Sh OPTIONS
.Bl -tag -width ".Fl n Ar host[:port][#player]"
.It Fl a Ar ai
Set the AI, see
.Fl h
.It Fl b Ar blitter
Set the blitter, see
.Fl h
for a full list
.It Fl c Ar config_file
Use 'config_file' instead of 'openttd.cfg'
.It Fl d Ar [level]
Set debug verbosity for all categories to
.Ar level
or 1 if omitted
.It Fl d Ar cat=level[,...]
.It Fl d Ar cat=level[, ...]
Set debug verbosity for a specific category
.It Fl D Ar [host][:port]
Start a dedicated server. Sets network debug level to 6. If you want to change this, use
@@ -51,59 +50,38 @@ Seed the pseudo random number generator
.It Fl e
Start in world editor mode
.It Fl f
Fork into background (dedicated server only, see
Fork into background (dedicated only, see
.Fl D )
.It Fl g Ar [savegame]
Load
.Ar savegame
at start or start a new game if omitted. The
.Ar savegame
must be either absolute or relative to the current path or one of the search paths.
at start or start a new game if omitted
.It Fl h
Display a summary of all options and lists all the available AIs, blitters, sound, music and video drivers, graphics sets and sound sets.
Display a summary of all options and available AIs, blitters, drivers and graphic sets
.It Fl i Ar palette
Set the palette. '0' for the DOS palette, '1' for the Windows palette and '2' to autodetect (default).
.sp
The palette depends where the base graphics set originated from. If it came from the Transport Tycoon Deluxe for DOS it has the DOS palette, if it came from the Windows version of Transport Tycoon Deluxe it has the Windows palette. All others likely have the Windows palette as that is the most used palette.
Set the palette, see
.Fl h
.It Fl I Ar graphicsset
Set the graphics set, see
.Fl h
for a full list
.It Fl l Ar host[:port]
Redirect DEBUG(), See
.Fl D
.It Fl m Ar driver
Set the music driver, see
.Fl h
for a full list
.It Fl M Ar musicset
Set the music set, see
.Fl h
for a full list
.It Fl n Ar host[:port][#player]
Join a network game, optionally specify a port to connect to and player to play as
.It Fl p Ar password
Password used to join server. Only useful with
.Fl n
.It Fl P Ar password
Password used to join company. Only useful with
.Fl n
Join a network game, optionally specify player to play as and port to connect to
.It Fl r Ar widthxheight
Set the resolution
.It Fl s Ar driver
Set the sound driver, see
.Fl h
for a full list
.It Fl S Ar soundset
Set the sound set, see
.Fl h
for a full list
.It Fl t Ar year
Set the starting year
.It Fl v Ar driver
Set the video driver, see
.Fl h
for a full list
.It Fl x
Do not automatically save to config file on exit
.El

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,260 +0,0 @@
GIMP Palette
Name: openttd
Columns: 16
#
0 0 255 unnamed
238 0 238 unnamed
239 0 239 unnamed
240 0 240 unnamed
241 0 241 unnamed
242 0 242 unnamed
243 0 243 unnamed
244 0 244 unnamed
245 0 245 unnamed
246 0 246 unnamed
168 168 168 unnamed
184 184 184 unnamed
200 200 200 unnamed
216 216 216 unnamed
232 232 232 unnamed
252 252 252 unnamed
52 60 72 unnamed
68 76 92 unnamed
88 96 112 unnamed
108 116 132 unnamed
132 140 152 unnamed
156 160 172 unnamed
176 184 196 unnamed
204 208 220 unnamed
48 44 4 unnamed
64 60 12 unnamed
80 76 20 unnamed
96 92 28 unnamed
120 120 64 unnamed
148 148 100 unnamed
176 176 132 unnamed
204 204 168 unnamed
100 100 100 unnamed
116 116 116 unnamed
104 80 44 unnamed
124 104 72 unnamed
152 132 92 unnamed
184 160 120 unnamed
212 188 148 unnamed
244 220 176 unnamed
132 132 132 unnamed
88 4 16 unnamed
112 16 32 unnamed
136 32 52 unnamed
160 56 76 unnamed
188 84 108 unnamed
204 104 124 unnamed
220 132 144 unnamed
236 156 164 unnamed
252 188 192 unnamed
252 208 0 unnamed
252 232 60 unnamed
252 252 128 unnamed
76 40 0 unnamed
96 60 8 unnamed
116 88 28 unnamed
136 116 56 unnamed
156 136 80 unnamed
176 156 108 unnamed
196 180 136 unnamed
68 24 0 unnamed
96 44 4 unnamed
128 68 8 unnamed
156 96 16 unnamed
184 120 24 unnamed
212 156 32 unnamed
232 184 16 unnamed
252 212 0 unnamed
252 248 128 unnamed
252 252 192 unnamed
32 4 0 unnamed
64 20 8 unnamed
84 28 16 unnamed
108 44 28 unnamed
128 56 40 unnamed
148 72 56 unnamed
168 92 76 unnamed
184 108 88 unnamed
196 128 108 unnamed
212 148 128 unnamed
8 52 0 unnamed
16 64 0 unnamed
32 80 4 unnamed
48 96 4 unnamed
64 112 12 unnamed
84 132 20 unnamed
104 148 28 unnamed
128 168 44 unnamed
64 64 64 unnamed
44 68 32 unnamed
60 88 48 unnamed
80 104 60 unnamed
104 124 76 unnamed
128 148 92 unnamed
152 176 108 unnamed
180 204 124 unnamed
16 52 24 unnamed
32 72 44 unnamed
56 96 72 unnamed
76 116 88 unnamed
96 136 108 unnamed
120 164 136 unnamed
152 192 168 unnamed
184 220 200 unnamed
32 24 0 unnamed
56 28 0 unnamed
80 80 80 unnamed
88 52 12 unnamed
104 64 24 unnamed
124 84 44 unnamed
140 108 64 unnamed
160 128 88 unnamed
76 40 16 unnamed
96 52 24 unnamed
116 68 40 unnamed
136 84 56 unnamed
164 96 64 unnamed
184 112 80 unnamed
204 128 96 unnamed
212 148 112 unnamed
224 168 128 unnamed
236 188 148 unnamed
80 28 4 unnamed
100 40 20 unnamed
120 56 40 unnamed
140 76 64 unnamed
160 100 96 unnamed
184 136 136 unnamed
36 40 68 unnamed
48 52 84 unnamed
64 64 100 unnamed
80 80 116 unnamed
100 100 136 unnamed
132 132 164 unnamed
172 172 192 unnamed
212 212 224 unnamed
48 48 48 unnamed
64 44 144 unnamed
88 64 172 unnamed
104 76 196 unnamed
120 88 224 unnamed
140 104 252 unnamed
160 136 252 unnamed
188 168 252 unnamed
0 24 108 unnamed
0 36 132 unnamed
0 52 160 unnamed
0 72 184 unnamed
0 96 212 unnamed
24 120 220 unnamed
56 144 232 unnamed
88 168 240 unnamed
128 196 252 unnamed
188 224 252 unnamed
16 64 96 unnamed
24 80 108 unnamed
40 96 120 unnamed
52 112 132 unnamed
80 140 160 unnamed
116 172 192 unnamed
156 204 220 unnamed
204 240 252 unnamed
172 52 52 unnamed
212 52 52 unnamed
252 52 52 unnamed
252 100 88 unnamed
252 144 124 unnamed
252 184 160 unnamed
252 216 200 unnamed
252 244 236 unnamed
72 20 112 unnamed
92 44 140 unnamed
112 68 168 unnamed
140 100 196 unnamed
168 136 224 unnamed
200 176 248 unnamed
208 184 255 unnamed
232 208 252 unnamed
60 0 0 unnamed
92 0 0 unnamed
128 0 0 unnamed
160 0 0 unnamed
196 0 0 unnamed
224 0 0 unnamed
252 0 0 unnamed
252 80 0 unnamed
252 108 0 unnamed
252 136 0 unnamed
252 164 0 unnamed
252 192 0 unnamed
252 220 0 unnamed
252 252 0 unnamed
204 136 8 unnamed
228 144 4 unnamed
252 156 0 unnamed
252 176 48 unnamed
252 196 100 unnamed
252 216 152 unnamed
8 24 88 unnamed
12 36 104 unnamed
20 52 124 unnamed
28 68 140 unnamed
40 92 164 unnamed
56 120 188 unnamed
72 152 216 unnamed
100 172 224 unnamed
92 156 52 unnamed
108 176 64 unnamed
124 200 76 unnamed
144 224 92 unnamed
224 244 252 unnamed
200 236 248 unnamed
180 220 236 unnamed
132 188 216 unnamed
88 152 172 unnamed
16 16 16 unnamed
32 32 32 unnamed
32 68 112 unnamed
36 72 116 unnamed
40 76 120 unnamed
44 80 124 unnamed
48 84 128 unnamed
72 100 144 unnamed
100 132 168 unnamed
216 244 252 unnamed
96 128 164 unnamed
68 96 140 unnamed
76 24 8 unnamed
108 44 24 unnamed
144 72 52 unnamed
176 108 84 unnamed
210 146 126 unnamed
252 60 0 unnamed
252 84 0 unnamed
252 104 0 unnamed
252 124 0 unnamed
252 148 0 unnamed
252 172 0 unnamed
252 196 0 unnamed
64 0 0 unnamed
255 0 0 unnamed
48 48 0 unnamed
64 64 0 unnamed
80 80 0 unnamed
255 255 0 unnamed
148 148 148 unnamed
247 0 247 unnamed
248 0 248 unnamed
249 0 249 unnamed
250 0 250 unnamed
251 0 251 unnamed
252 0 252 unnamed
253 0 253 unnamed
254 0 254 unnamed
255 0 255 unnamed
255 255 255 unnamed

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -2,12 +2,6 @@
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
# Arguments given? Show help text.
if [ "$#" != "0" ]; then
cat <<EOF
@@ -66,19 +60,20 @@ fi
# Find out some dirs
cd `dirname "$0"`
ROOT_DIR=`pwd`
SRC_DIR=src
# Determine if we are using a modified version
# Assume the dir is not modified
MODIFIED="0"
if [ -d "$ROOT_DIR/.svn" ]; then
# We are an svn checkout
if [ -n "`svnversion | grep 'M'`" ]; then
if [ -n "`svnversion \"$SRC_DIR\" | grep 'M'`" ]; then
MODIFIED="2"
fi
# Find the revision like: rXXXXM-branch
BRANCH=`LC_ALL=C svn info | "$AWK" '/^URL:.*branches/ { split($2, a, "/"); for(i in a) if (a[i]=="branches") { print a[i+1]; break } }'`
TAG=`LC_ALL=C svn info | "$AWK" '/^URL:.*tags/ { split($2, a, "/"); for(i in a) if (a[i]=="tags") { print a[i+1]; break } }'`
REV_NR=`LC_ALL=C svn info | "$AWK" '/^Last Changed Rev:/ { print $4 }'`
BRANCH=`LC_ALL=C svn info "$SRC_DIR" | "$AWK" '/^URL:.*branches/ { split($2, a, "/"); for(i in a) if (a[i]=="branches") { print a[i+1]; break } }'`
TAG=`LC_ALL=C svn info "$SRC_DIR" | "$AWK" '/^URL:.*tags/ { split($2, a, "/"); for(i in a) if (a[i]=="tags") { print a[i+1]; break } }'`
REV_NR=`LC_ALL=C svn info "$SRC_DIR" | "$AWK" '/^Last Changed Rev:/ { print $4 }'`
if [ -n "$TAG" ]; then
REV=$TAG
else
@@ -86,46 +81,22 @@ if [ -d "$ROOT_DIR/.svn" ]; then
fi
elif [ -d "$ROOT_DIR/.git" ]; then
# We are a git checkout
# Refresh the index to make sure file stat info is in sync, then look for modifications
git update-index --refresh >/dev/null
if [ -n "`git diff-index HEAD`" ]; then
if [ -n "`git diff-index HEAD \"$SRC_DIR\"`" ]; then
MODIFIED="2"
fi
HASH=`LC_ALL=C git rev-parse --verify HEAD 2>/dev/null`
REV="g`echo $HASH | cut -c1-8`"
BRANCH="`git symbolic-ref -q HEAD 2>/dev/null | sed 's@.*/@@;s@^master$@@'`"
REV_NR=`LC_ALL=C git log --pretty=format:%s --grep="^(svn r[0-9]*)" -1 | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
if [ -z "$REV_NR" ]; then
# No rev? Maybe it is a custom git-svn clone
REV_NR=`LC_ALL=C git log --pretty=format:%b --grep="git-svn-id:.*@[0-9]*" -1 | sed "s@.*\@\([0-9]*\).*@\1@"`
fi
TAG="`git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null`"
if [ -n "$TAG" ]; then
BRANCH=""
REV="$TAG"
fi
BRANCH=`git branch|grep '[*]' | sed 's@\* @@;s@^master$@@'`
REV_NR=`LC_ALL=C git log --pretty=format:%s "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
elif [ -d "$ROOT_DIR/.hg" ]; then
# We are a hg checkout
if [ -n "`hg status | grep -v '^?'`" ]; then
if [ -n "`hg status \"$SRC_DIR\" | grep -v '^?'`" ]; then
MODIFIED="2"
fi
HASH=`LC_ALL=C hg id -i | cut -c1-12`
HASH=`LC_ALL=C hg parents --template="{node}"`
REV="h`echo $HASH | cut -c1-8`"
BRANCH="`hg branch | sed 's@^default$@@'`"
TAG="`hg id -t | grep -v 'tip$'`"
if [ -n "$TAG" ]; then
BRANCH=""
REV="$TAG"
fi
REV_NR=`LC_ALL=C hg log -f -k "(svn r" -l 1 --template "{desc|firstline}\n" | grep "^(svn r[0-9]*)" | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
if [ -z "$REV_NR" ]; then
# No rev? Maybe it is a custom hgsubversion clone
REV_NR=`LC_ALL=C hg parent --template="{svnrev}"`
fi
elif [ -f "$ROOT_DIR/.ottdrev" ]; then
# We are an exported source bundle
cat $ROOT_DIR/.ottdrev
exit
BRANCH=`hg branch | sed 's@^default$@@'`
REV_NR=`LC_ALL=C hg log -r $HASH:0 -k "svn" -l 1 --template "{desc}\n" "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s@.*(svn r\([0-9]*\)).*@\1@"`
else
# We don't know
MODIFIED="1"

View File

@@ -1,18 +1,5 @@
OpenTTD's known bugs
Last updated: 2011-03-18
Release version: 1.1.0-RC3
README
------------------------------------------------------------------------
Table of contents
-----------------
1.0) About
2.0) Known bugs in this release
* 2.1) Known bugs that will not be solved
1.0) About
---- -----
All bugs listed below are marked as known. Please do not submit any bugs
that are the same as these. If you do, do not act surprised, because
we WILL flame you!!
@@ -21,275 +8,26 @@ Of course if you have more knowledge about any of these bugs, have more
specifics, we welcome you to report them. React to the given bug indicated
by the number below on http://bugs.openttd.org.
If the bug report is closed, it has been fixed, which then can be verified
in the latest SVN version of /trunk.
2.0) Known bugs in this release
---- --------------------------
The following bugs are known to exist in this release and we intend to
fix them. Some bugs are known but are not fixable or fixing them would
cause further problems. Those bugs can be found in the "Known bugs that
will not be solved" section.
Bugs for 0.7.1
------------------------------------------------------------------------
URL: http://bugs.openttd.org
The bugs in this section all refer to a ticket in our bug tracking system
that you can find at: http://bugs.openttd.org
If the bugs are closed but still listed here it means that the bug is fixed
and that the nightlies and next major release will not have that bug.
Issues prefixed with [OSX] are required to be fixed before we consider
officially supporting Mac OS X again. For now it remains unsupported and
we only apply bug fixes provided by the community but we are unable to fix
these bugs ourselves.
- 4420 [OSX] OS' mouse pointer still shows
- 3040 Not all alternatives are always shown in the "Join station" list
- 2955 With path signals depots are less likely to be visited
- 2891 Ignore signal does not keep the train running when in path signalled block till the next signal
- 2769 No offer for buying bankrupt AIs
- 2737 Self-crossing trains ignore "forbid 90 degree turn" setting
- 2616 Cloning creates vehicles with invalid subcargos
- 2585 [OSX] OS' mouse pointer showing
- 2484 [OSX] Cannot enter CJK characters
2.1) Known bugs that will not be solved
---- ----------------------------------
This section lists all known bugs that we do not intend to fix and the
reasons why we think that fixing them is infeasible. We might make some
minor improvements that reduce the scope of these bugs, but we will not
be able to completely fix them.
No suitable AI can be found
If you have no AIs and an AI is started the so-called 'dummy' AI will
be loaded. This AI does nothing but writing a message on the AI debug
window and showing a red warning. There are basically two solutions
for this problem: you must change the settings so no AI is started,
this is done in the difficulty settings window. The other solution is
acquiring (downloading) some AI. The easiest way to do this is via
the "Check Online Content" button in the main (intro) menu or via
"AI Settings" -> "Select AI" -> "Check Online Content" which is also
accessed via the main menu.
After a while of playing, colours get corrupted
In Windows 7 the background slideshow corrupts the colour mapping of
OpenTTD's 8bpp screen modes. Workarounds for this are:
a) Switching to windowed mode, instead of fullscreen
b) Switching off background slideshow
c) Setting up the 32bpp-anim or 32bpp-optimized blitter
Long delay between switching songs/music
On Windows there is a delay of a (few) second(s) between switching of
songs for the "win32" driver. This delay is caused by the fact that
opening a MIDI file via MCI is extremely slow.
DirectMusic, known as "dmusic" in OpenTTD, has a much shorter delay.
However, under some circumstances DirectMusic does not reset its
state properly causing wrongly pitched/bad sounding songs. This
problem is in DirectMusic as it is reproducable with Microsoft's
DirectMusic Producer. DirectMusic has been deprecated since 2004
and as such has no support for 64 bits OpenTTD.
As a delay is favourable over bad sounding music the "win32" driver
is the default driver for OpenTTD. You can change this default by
setting the "musicdriver" in your openttd.cfg to "dmusic".
Custom vehicle type name is incorrectly aligned
Some NewGRFs use sprites that are bigger than normal in the "buy
vehicle" window. Due to this they have to encode an offset for the
vehicle type name. Upon renaming the vehicle type this encoded offset
is stripped from the name because the "edit box" cannot show this
encoding. As a result the custom vehicle type names will get the
default alignment. The only way to (partly) fix this is by adding
spaces to the custom name.
Clipping problems [FS#119]
In some cases sprites are not drawn as one would expect. Examples of
this are aircraft that might be hidden below the runway or trees that
in some cases are rendered over vehicles.
The primary cause of this problem is that OpenTTD does not have enough
data (like a 3D model) to properly determine what needs to be drawn in
front of what. OpenTTD has bounding boxes but in lots of cases they
are either too big or too small and then cause problems with what
needs to be drawn in front of what. Also some visual tricks are used.
For example trains at 8 pixels high, the catenary needs to be drawn
above that. When you want to draw bridges on top of that, which are
only one height level (= 8 pixels) higher, you are getting into some
big problems.
We can not change the height levels; it would require us to either
redraw all vehicle or all landscape graphics. Doing so would mean we
leave the Transport Tycoon graphics, which in effect means OpenTTD
will not be a Transport Tycoon clone anymore.
Mouse scrolling not possible at the edges of the screen [FS#383] [FS#3966]
Scrolling the viewport with the mouse cursor at the edges of the screen
in the same direction of the edge will fail. If the cursor is near the
edge the scrolling will be very slow.
OpenTTD only receives cursor position updates when the cursor is inside
OpenTTD's window. It is not told how far you have moved the cursor
outside of OpenTTD's window.
Lost trains ignore (block) exit signals [FS#1473]
If trains are lost they ignore block exit signals, blocking junctions
with presignals. This is caused because the path finders cannot tell
where the train needs to go. As such a random direction is chosen at
each junction. This causes the trains to occasionally to make choices
that are unwanted from a player's point of view.
This will not be fixed because lost trains are in almost all cases a
network problem, e.g. a train can never reach a specific place. This
makes the impact of fixing the bug enormously small against the
amount of work needed to write a system that prevents the lost trains
from taking the wrong direction.
Vehicle owner of last transfer leg gets paid for all [FS#2427]
When you make a transfer system that switches vehicle owners. This
is only possible with 'industry stations', e.g. the oil rig station
the owner of the vehicle that does the final delivery gets paid for
the whole trip. It is not shared amongst the different vehicle
owners that have participated in transporting the cargo.
This sharing is not done because it would enormously increase the
memory and CPU usage in big games for something that is happening
in only one corner case. We think it is not worth the effort until
sharing of stations is an official feature.
Forbid 90 degree turns does not work for crossing PBS paths [FS#2737]
When you run a train through itself on a X junction with PBS turned on
the train will not obey the 'forbid 90 degree turns' setting. This is
due to the fact that we can not be sure that the setting was turned
off when the track was reserved, which means that we assume it was
turned on and that the setting does not hold at the time. We made it
this way to allow one to change the setting in-game, but it breaks
slightly when you are running your train through itself. Running a
train through means that your network is broken and is thus a user
error which OpenTTD tries to graciously handle.
Fixing this bug means that we need to record whether this particular
setting was turned on or off at the time the reservation was made. This
means adding quite a bit of data to the savegame for solving an issue
that is basically an user error. We think it is not worth the effort.
Duplicate (station) names after renaming [FS#3204]
After renaming stations one can create duplicate station names. This
is done giving a station the same custom name as another station with
an automatically generated name.
The major part of this problem is that station names are translatable.
Meaning that a station is called e.g. '<TOWN> Central' in English and
'<TOWN> Centraal' in Dutch. This means that in network games the
renaming of a town could cause the rename to succeed on some clients
and fail at others. This creates an inconsistent game state that will
be seen as a 'desync'. Secondly the custom names are intended to fall
completely outside of the '<TOWN> <name>' naming of stations, so when
you rename a town all station names are updated accordingly.
As a result the decision has been made that all custom names are only
compared to the other custom names in the same class and not compared
to the automatically generated names.
Extreme CPU usage/hangs when using SDL and PulseAudio [FS#3294]
OpenTTD hangs/freezes when closing, OpenTTD is slow, OpenTTD uses a lot of CPU
OpenTTD can be extremely slow/use a lot of CPU when the sound is
played via SDL and then through PulseAudio's ALSA wrapper. Under the
same configuration OpenTTD, or rather SDL, might hang when exiting
the game. This problem is seen most in Ubuntu 9.04 and higher.
This is because recent versions of the PulseAudio sound server are
configured to use timer-based audio scheduling rather than
interrupt-based audio scheduling. Configuring PulseAudio to force
use of interrupt-based scheduling may resolve sound problems for
some users. Under recent versions of Ubuntu Linux (9.04 and higher)
this can be accomplished by changing the following line in the
/etc/pulse/default.pa file:
load-module module-udev-detect
to
load-module module-udev-detect tsched=0
Note that PulseAudio must be restarted for changes to take effect.
Older versions of PulseAudio may use the module-hal-detect module
instead. Adding tsched=0 to the end of that line will have a similar
effect.
Another possible solution is selecting the "pulse" backend of SDL
by either using "SDL_AUDIODRIVER=pulse openttd" at the command
prompt or installing the 'libsdl1.2debian-pulseaudio' package from
Ubuntu's Universe repository. For other distributions a similar
package needs to be installed.
OpenTTD not properly resizing with SDL on X [FS#3305]
Under some X window managers OpenTTD's window does not properly
resize. You will either end up with a black bar at the right/bottom
side of the window or you cannot see the right/bottom of the window,
e.g you cannot see the status bar. The problem is that OpenTTD does
not always receive a resize event from SDL making it impossible for
OpenTTD to know that the window was resized; sometimes moving the
window will solve the problem.
Window managers that are known to exhibit this behaviour are KDE's
and GNOME's. With the XFCE's and LXDE's window managers the resize
event is sent when the user releases the mouse.
Incorrect colours, crashes upon exit, debug warnings and smears upon
window resizing with SDL on Mac OS X [FS#3447]
Video handling with (lib)SDL under Mac OS X is known to fail on some
versions of Mac OS X with some hardware configurations. Some of the
problems happen only under some circumstances whereas others are
always present.
We suggest that the SDL video/sound backend is not used for OpenTTD
in combinations with Mac OS X.
Train crashes entering same junction from block and path signals [FS#3928]
When a train has reserved a path from a path signal to a two way
block signal and the reservation passes a path signal through the
back another train can enter the reserved path (only) via that same
two way block signal.
The reason for this has to do with optimisation; to fix this issue
the signal update has to pass all path signals until it finds either
a train or a backwards facing signal. This is a very expensive task.
The (signal) setups that allow these crashes can furthermore be
considered incorrectly signalled; one extra safe waiting point for
the train entering from path signal just after the backwards facing
signal (from the path signal train) resolves the issue.
Crashes when playing music [FS#3941]
Mac OS X's QuickTime (default music driver) and Windows' MCI (win32
music driver) crash on some songs from OpenMSX. OpenTTD cannot do
anything about this. Please report these crashes to the authors of
OpenMSX so the crash causing songs can be removed or fixed.
Crashes when run in a VM using Parallels Desktop [FS#4003]
When the Windows version of OpenTTD is executed in a VM under
Parallels Desktop a privileged instruction exception may be thrown.
As OpenTTD works natively on OSX as well as natively on Windows and
these native builds both don't exhibit this behaviour this crash is
most likely due to a bug in the virtual machine, something out of
the scope of OpenTTD. Most likely this is due to Parallels Desktop
lacking support for RDTSC calls. The problem can be avoided by using
other VM-software, Wine, or running natively on OSX.
OpenTTD hangs when started on 32 bits Windows [FS#4083]
Under some circumstances OpenTTD might hang for hours on the
initialisation of the music driver. The exact circumstances are
unknown except that it is the "dmusic" music driver that has the
problem and that the "win32" music driver does not.
As a result using the "win32" music driver will work around this
issue.
As the exact circumstances are unknown, and the obvious
configuration settings related to the music driver are at their
default we are not able to detect this failure, except when Windows'
music initialisation function returns after several hours and then
there is no point in switching the music driver anymore.
The reason we do not use the "win32" music driver as default are
described in the "Long delay between switching music/song" section
of this document.
Pre- and exit signals are not dragged [FS#4378]
Unlike all other signal types, the entry- and exit signals are not
dragged but instead normal signals are placed on subsequent track
sections. This is done on purpose as this is the usually more con-
venient solution. There are little to no occasions where more than
one entry or exit signal in a row are useful. This is different
for all other signal types where several in a row can serve one
purpose or another.
Station build date is incorrect [FS#4415]
The tile query tool will show the date of the last (re)construction
at the station and not the date of the first construction. This is
due to compatability reasons with NewGRFs and the fact that it is
wrong to say that the station is built in a particular year when it
was completely destroyed/rebuilt later on.
The tile query tool can be fixed by changing the "Build date" text
to "Date at which the last (re)construction took place" but this is
deemed too specific and long for that window.
Can't change volume inside OpenTTD [FS#4416]
Some backends do not provide a means to change the volume of sound
effects or music. The mixing of music and sound is left to external
libraries/the operating system we can't handle the volume control
in OpenTTD. As a result you can't change the volume inside OpenTTD
for backends such as SDL; just use the volume control provided by
your operating system.
- 2427 Vehicle owner gets paid for whole cargo feeder share
- 1944 Road vehicles not picking empty drivethrough platform
- 1762 Strange Autoreplace behaviour
- 1495 Long vehicles might block multistop drivethrough stations
- 1473 Lost trains ignore exit signals
- 1140 [OSX] Not smooth moving map with touchpad
- 1072 Text overflows in several windows
- 119 Clipping problems with vehicles on slopes

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Airport previews"
-1 * 0 05 16 09
-1 sprites/airport_preview.png 50 8 09 140 230 0 0
-1 sprites/airport_preview.png 290 8 09 140 230 0 0
-1 sprites/airport_preview.png 530 8 09 140 230 0 0
-1 sprites/airport_preview.png 2 168 09 140 230 0 0
-1 sprites/airport_preview.png 242 168 09 140 230 0 0
-1 sprites/airport_preview.png 482 168 09 140 230 0 0
-1 sprites/airport_preview.png 2 328 09 140 230 0 0
-1 sprites/airport_preview.png 242 328 09 140 230 0 0
-1 sprites/airport_preview.png 482 328 09 140 230 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1,25 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Extra airport graphics"
-1 * 3 05 10 0F
-1 sprites/airports.png 18 8 09 31 64 -31 0
-1 sprites/airports.png 98 8 09 31 64 -31 0
-1 sprites/airports.png 178 8 09 31 64 -31 0
-1 sprites/airports.png 258 8 09 31 64 -31 0
-1 sprites/airports.png 338 8 09 31 64 -31 0
-1 sprites/airports.png 418 8 09 31 64 -31 0
-1 sprites/airports.png 498 8 09 55 64 -2 -38
-1 sprites/airports.png 578 8 09 17 18 16 -1
-1 sprites/airports.png 610 8 09 55 64 -2 -38
-1 sprites/airports.png 690 8 09 17 18 -30 1
-1 sprites/airports.png 722 8 09 55 64 -2 -38
-1 sprites/airports.png 2 88 09 55 64 -2 -38
-1 sprites/airports.png 82 88 09 31 64 -31 0
-1 sprites/airports.png 162 88 09 31 64 -31 0
-1 sprites/airports.png 242 88 09 31 64 -31 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

View File

@@ -1,18 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Aqueduct graphics by Jonathan G. Rennison"
-1 * 3 05 12 08
-1 sprites/aqueduct.png 34 8 09 33 64 -34 -10
-1 sprites/aqueduct.png 114 8 09 33 66 -37 -9
-1 sprites/aqueduct.png 194 8 09 33 64 -34 -10
-1 sprites/aqueduct.png 274 8 09 33 66 -37 -9
-1 sprites/aqueduct.png 354 8 09 33 64 -34 -5
-1 sprites/aqueduct.png 434 8 09 33 66 -37 -4
-1 sprites/aqueduct.png 514 8 09 23 33 -31 0
-1 sprites/aqueduct.png 562 8 09 23 33 0 1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,65 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Autorail graphics"
-1 * 3 05 13 37
-1 sprites/autorail.png 18 8 09 31 64 -31 7
-1 sprites/autorail.png 98 8 09 31 64 -31 -1
-1 sprites/autorail.png 178 8 09 39 64 -31 -1
-1 sprites/autorail.png 258 8 09 47 64 -31 -9
-1 sprites/autorail.png 338 8 09 31 64 -31 -5
-1 sprites/autorail.png 418 8 09 23 64 -31 7
-1 sprites/autorail.png 498 8 09 18 64 -31 4
-1 sprites/autorail.png 578 8 09 31 64 -31 -1
-1 sprites/autorail.png 658 8 09 31 64 -31 7
-1 sprites/autorail.png 2 72 09 31 64 -31 -1
-1 sprites/autorail.png 82 72 09 23 64 -31 7
-1 sprites/autorail.png 162 72 09 18 64 -31 4
-1 sprites/autorail.png 242 72 09 31 64 -31 -1
-1 sprites/autorail.png 322 72 09 39 64 -31 -1
-1 sprites/autorail.png 402 72 09 47 64 -31 -9
-1 sprites/autorail.png 482 72 09 31 64 -31 -5
-1 sprites/autorail.png 562 72 09 31 64 -31 7
-1 sprites/autorail.png 642 72 09 31 64 -31 -1
-1 sprites/autorail.png 722 72 09 47 64 -31 -9
-1 sprites/autorail.png 2 136 09 26 64 -31 4
-1 sprites/autorail.png 82 136 09 23 64 -31 4
-1 sprites/autorail.png 162 136 09 31 64 -31 -3
-1 sprites/autorail.png 242 136 09 26 64 -31 4
-1 sprites/autorail.png 322 136 09 23 64 -31 4
-1 sprites/autorail.png 402 136 09 31 64 -31 -3
-1 sprites/autorail.png 482 136 09 31 64 -31 7
-1 sprites/autorail.png 562 136 09 31 64 -31 -1
-1 sprites/autorail.png 642 136 09 15 64 -31 7
-1 sprites/autorail.png 722 136 09 31 64 -31 7
-1 sprites/autorail.png 2 184 09 39 64 -31 -1
-1 sprites/autorail.png 82 184 09 31 64 -31 -1
-1 sprites/autorail.png 162 184 09 31 64 -31 7
-1 sprites/autorail.png 242 184 09 39 64 -31 -1
-1 sprites/autorail.png 322 184 09 31 64 -31 -1
-1 sprites/autorail.png 402 184 09 31 64 -31 7
-1 sprites/autorail.png 482 184 09 31 64 -31 -1
-1 sprites/autorail.png 562 184 09 31 64 -31 -1
-1 sprites/autorail.png 642 184 09 31 64 -31 -1
-1 sprites/autorail.png 722 184 09 23 64 -31 7
-1 sprites/autorail.png 2 248 09 15 64 -31 7
-1 sprites/autorail.png 82 248 09 39 64 -31 -1
-1 sprites/autorail.png 162 248 09 47 64 -31 -9
-1 sprites/autorail.png 242 248 09 31 64 -31 7
-1 sprites/autorail.png 322 248 09 31 64 -31 -1
-1 sprites/autorail.png 402 248 09 31 64 -31 -1
-1 sprites/autorail.png 482 248 09 31 64 -31 -1
-1 sprites/autorail.png 562 248 09 23 64 -31 7
-1 sprites/autorail.png 642 248 09 15 64 -31 7
-1 sprites/autorail.png 722 248 09 39 64 -31 -1
-1 sprites/autorail.png 2 312 09 47 64 -31 -9
-1 sprites/autorail.png 82 312 09 31 64 -31 -1
-1 sprites/autorail.png 162 312 09 31 64 -31 -1
-1 sprites/autorail.png 242 312 09 23 64 -31 7
-1 sprites/autorail.png 322 312 09 31 64 -31 7
-1 sprites/autorail.png 402 312 09 31 64 -31 7

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -1,75 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Canal graphics by George"
-1 * 3 05 08 41
-1 sprites/canals.png 66 8 09 23 64 -31 0
-1 sprites/canals.png 146 8 09 39 64 -31 -8
-1 sprites/canals.png 226 8 09 23 64 -31 0
-1 sprites/canals.png 306 8 09 39 64 -31 -8
-1 sprites/canals.png 386 8 09 59 64 -31 -36
-1 sprites/canals.png 466 8 09 65 64 -31 -34
-1 sprites/canals.png 546 8 09 59 64 -31 -36
-1 sprites/canals.png 626 8 09 59 64 -31 -28
-1 sprites/canals.png 706 8 09 62 64 -1 -51
-1 sprites/canals.png 2 88 09 62 64 -61 -43
-1 sprites/canals.png 82 88 09 62 64 -61 -51
-1 sprites/canals.png 162 88 09 62 64 -1 -43
-1 sprites/canals.png 242 88 09 59 64 -31 -28
-1 sprites/canals.png 322 88 09 65 66 -33 -34
-1 sprites/canals.png 402 88 09 59 64 -31 -28
-1 sprites/canals.png 482 88 09 59 64 -31 -28
-1 sprites/canals.png 562 88 09 62 64 -1 -43
-1 sprites/canals.png 642 88 09 60 64 -61 -43
-1 sprites/canals.png 722 88 09 62 66 -61 -43
-1 sprites/canals.png 2 168 09 60 64 -1 -43
-1 sprites/canals.png 82 168 09 59 64 -31 -28
-1 sprites/canals.png 162 168 09 59 64 -31 -28
-1 sprites/canals.png 242 168 09 59 64 -31 -28
-1 sprites/canals.png 322 168 09 59 64 -31 -28
-1 sprites/canals.png 402 168 09 60 64 -1 -43
-1 sprites/canals.png 482 168 09 62 68 -61 -43
-1 sprites/canals.png 562 168 09 60 64 -61 -43
-1 sprites/canals.png 642 168 09 62 64 -1 -43
-1 sprites/canals.png 722 168 09 59 64 -31 -36
-1 sprites/canals.png 2 248 09 65 64 -31 -34
-1 sprites/canals.png 82 248 09 59 64 -31 -36
-1 sprites/canals.png 162 248 09 59 64 -31 -28
-1 sprites/canals.png 242 248 09 62 64 -1 -51
-1 sprites/canals.png 322 248 09 62 64 -61 -43
-1 sprites/canals.png 402 248 09 62 64 -61 -51
-1 sprites/canals.png 482 248 09 62 64 -1 -43
-1 sprites/canals.png 562 248 09 59 64 -31 -28
-1 sprites/canals.png 642 248 09 65 66 -33 -34
-1 sprites/canals.png 722 248 09 59 64 -31 -28
-1 sprites/canals.png 2 328 09 59 64 -31 -28
-1 sprites/canals.png 82 328 09 62 64 -1 -43
-1 sprites/canals.png 162 328 09 60 64 -61 -43
-1 sprites/canals.png 242 328 09 62 66 -61 -43
-1 sprites/canals.png 322 328 09 60 64 -1 -43
-1 sprites/canals.png 402 328 09 59 64 -31 -28
-1 sprites/canals.png 482 328 09 59 64 -31 -28
-1 sprites/canals.png 562 328 09 59 64 -31 -28
-1 sprites/canals.png 642 328 09 59 64 -31 -28
-1 sprites/canals.png 722 328 09 60 64 -1 -43
-1 sprites/canals.png 2 408 09 62 68 -61 -43
-1 sprites/canals.png 82 408 09 60 64 -61 -43
-1 sprites/canals.png 162 408 09 62 64 -1 -43
-1 sprites/canals.png 242 408 09 37 70 -31 -6
-1 sprites/canals.png 322 408 09 37 70 -31 0
-1 sprites/canals.png 402 408 09 37 70 -37 0
-1 sprites/canals.png 482 408 09 37 70 -37 -6
-1 sprites/canals.png 562 408 09 31 64 -31 0
-1 sprites/canals.png 642 408 09 31 64 -31 0
-1 sprites/canals.png 722 408 09 31 64 -31 0
-1 sprites/canals.png 2 488 09 37 64 -31 -6
-1 sprites/canals.png 82 488 09 31 64 -31 0
-1 sprites/canals.png 162 488 09 31 64 -31 0
-1 sprites/canals.png 242 488 09 31 64 -31 0
-1 sprites/canals.png 322 488 09 37 64 -31 -6
-1 sprites/canals.png 402 488 09 20 20 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -1,630 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Characters, graphics by Bilbo and Jasper Vries"
//U+20AC Euro-sign
-1 * 0 12 03 00 01 AC 20 01 01 AC 20 02 01 AC 20
-1 sprites/chars.png 30 10 01 13 8 0 -2
-1 sprites/chars.png 30 30 01 6 5 0 0
-1 sprites/chars.png 30 40 01 21 15 0 -2
//U+0152 Latin Capital Ligature OE
//U+0153 Latin Small Ligature OE
-1 * 0 12 03 00 02 52 01 01 02 52 01 02 02 52 01
-1 sprites/chars.png 50 10 01 13 12 0 -2
-1 sprites/chars.png 300 10 01 13 9 0 -2
-1 sprites/chars.png 50 30 01 5 5 0 1
-1 sprites/chars.png 70 30 01 5 5 0 1
-1 sprites/chars.png 50 40 01 21 19 0 -2
-1 sprites/chars.png 70 40 01 21 13 0 -2
//U+0160 Latin Capital Letter S with caron
//U+0161 Latin Small Letter S with caron
-1 * 0 12 03 00 02 60 01 01 02 60 01 02 02 60 01
-1 sprites/chars.png 90 10 01 13 8 0 -2
-1 sprites/chars.png 110 10 01 13 6 0 -2
-1 sprites/chars.png 90 30 01 6 3 0 0
-1 sprites/chars.png 110 30 01 6 3 0 0
-1 sprites/chars.png 90 40 01 21 9 0 -2
-1 sprites/chars.png 110 40 01 21 6 0 -2
//U+017D Latin Capital Letter Z with caron
//U+017E Latin Small Letter Z with caron
-1 * 0 12 03 00 02 7D 01 01 02 7D 01 02 02 7D 01
-1 sprites/chars.png 120 10 01 13 8 0 -2
-1 sprites/chars.png 140 10 01 13 7 0 -2
-1 sprites/chars.png 120 30 01 6 3 0 0
-1 sprites/chars.png 140 30 01 6 3 0 0
-1 sprites/chars.png 120 40 01 21 12 0 -2
-1 sprites/chars.png 140 40 01 21 7 0 -2
//U+00B0 Degree symbol
-1 * 0 12 03 00 01 B0 00 01 01 B0 00 02 01 B0 00
-1 sprites/chars.png 150 10 01 13 6 0 -2
-1 sprites/chars.png 150 30 01 6 3 0 0
-1 sprites/chars.png 150 40 01 21 7 0 -2
//U+007B Left curly bracket
//U+007C Vertical bar
//U+007C Right Curly Bracket
//U+007D Tilde
-1 * 0 12 03 00 04 7B 00 01 04 7B 00 02 04 7B 00
-1 sprites/chars.png 160 10 01 13 5 0 -2
-1 sprites/chars.png 170 10 01 13 3 0 -2
-1 sprites/chars.png 180 10 01 13 5 0 -2
-1 sprites/chars.png 190 10 01 13 7 0 -2
-1 sprites/chars.png 160 30 01 5 3 0 1
-1 sprites/chars.png 170 30 01 5 1 0 1
-1 sprites/chars.png 180 30 01 5 3 0 1
-1 sprites/chars.png 190 30 01 5 4 0 1
-1 sprites/chars.png 160 40 01 21 6 0 -2
-1 sprites/chars.png 170 40 01 21 3 0 -2
-1 sprites/chars.png 180 40 01 21 6 0 -2
-1 sprites/chars.png 190 40 01 21 12 0 -2
//U+00B7 Middle dot
-1 * 0 12 03 00 01 B7 00 01 01 B7 00 02 01 B7 00
-1 sprites/chars.png 210 10 01 13 3 0 -2
-1 sprites/chars.png 210 30 01 5 1 0 1
-1 sprites/chars.png 210 40 01 21 2 0 -2
//U+0150 Latin Capital Letter O with double acute
//U+0151 Latin Small Letter O with double acute
-1 * 0 12 03 00 02 50 01 01 02 50 01 02 02 50 01
-1 sprites/chars.png 230 10 01 13 9 0 -2
-1 sprites/chars.png 320 10 01 13 6 0 -2
-1 sprites/chars.png 230 30 01 6 4 0 0
-1 sprites/chars.png 220 30 01 6 4 0 0
-1 sprites/chars.png 230 40 01 21 13 0 -2
-1 sprites/chars.png 220 40 01 21 9 0 -2
//U+0170 Latin Capital Letter U with double acute
//U+0171 Latin Small Letter U with double acute
-1 * 0 12 03 00 02 70 01 01 02 70 01 02 02 70 01
-1 sprites/chars.png 260 10 01 13 8 0 -2
-1 sprites/chars.png 250 10 01 13 7 0 -2
-1 sprites/chars.png 260 30 01 6 4 0 0
-1 sprites/chars.png 250 30 01 6 4 0 0
-1 sprites/chars.png 260 40 01 21 14 0 -2
-1 sprites/chars.png 250 40 01 21 9 0 -2
//U+010C Latin Capital Letter C with caron
//U+010D Latin Small Letter C with caron
-1 * 0 12 03 00 02 0C 01 01 02 0C 01 02 02 0C 01
-1 sprites/chars.png 30 70 01 13 9 0 -2
-1 sprites/chars.png 50 70 01 13 6 0 -2
-1 sprites/chars.png 30 90 01 6 3 0 0
-1 sprites/chars.png 50 90 01 6 3 0 0
-1 sprites/chars.png 30 100 01 21 12 0 -2
-1 sprites/chars.png 50 100 01 21 8 0 -2
//U+010E Latin Capital Letter D with caron
//U+010F Latin Small Letter D with caron
-1 * 0 12 03 00 02 0E 01 01 02 0E 01 02 02 0E 01
-1 sprites/chars.png 70 70 01 13 8 0 -2
-1 sprites/chars.png 90 70 01 13 9 0 -2
-1 sprites/chars.png 70 90 01 6 3 0 0
-1 sprites/chars.png 90 90 01 5 5 0 1
-1 sprites/chars.png 70 100 01 21 14 0 -2
-1 sprites/chars.png 90 100 01 21 12 0 -2
//U+011A Latin Capital Letter E with caron
//U+011B Latin Small Letter E with caron
-1 * 0 12 03 00 02 1A 01 01 02 1A 01 02 02 1A 01
-1 sprites/chars.png 110 70 01 13 8 0 -2
-1 sprites/chars.png 130 70 01 13 6 0 -2
-1 sprites/chars.png 110 90 01 6 3 0 0
-1 sprites/chars.png 130 90 01 6 3 0 0
-1 sprites/chars.png 110 100 01 21 13 0 -2
-1 sprites/chars.png 130 100 01 21 8 0 -2
//U+0147 Latin Capital Letter N with caron
//U+0148 Latin Small Letter N with caron
-1 * 0 12 03 00 02 47 01 01 02 47 01 02 02 47 01
-1 sprites/chars.png 150 70 01 13 8 0 -2
-1 sprites/chars.png 170 70 01 13 6 0 -2
-1 sprites/chars.png 150 90 01 6 4 0 0
-1 sprites/chars.png 170 90 01 6 3 0 0
-1 sprites/chars.png 150 100 01 21 16 0 -2
-1 sprites/chars.png 170 100 01 21 10 0 -2
//U+0158 Latin Capital Letter R with caron
//U+0159 Latin Small Letter R with caron
-1 * 0 12 03 00 02 58 01 01 02 58 01 02 02 58 01
-1 sprites/chars.png 190 70 01 13 8 0 -2
-1 sprites/chars.png 210 70 01 13 5 0 -2
-1 sprites/chars.png 190 90 01 6 3 0 0
-1 sprites/chars.png 210 90 01 6 3 0 0
-1 sprites/chars.png 190 100 01 21 12 0 -2
-1 sprites/chars.png 210 100 01 21 6 0 -2
//U+0164 Latin Capital Letter T with caron
//U+0165 Latin Small Letter T with caron
-1 * 0 12 03 00 02 64 01 01 02 64 01 02 02 64 01
-1 sprites/chars.png 230 70 01 13 9 0 -2
-1 sprites/chars.png 250 70 01 13 8 0 -2
-1 sprites/chars.png 230 90 01 6 3 0 0
-1 sprites/chars.png 250 90 01 5 4 0 1
-1 sprites/chars.png 230 100 01 21 13 0 -2
-1 sprites/chars.png 250 100 01 21 7 0 -2
//U+016E Latin Capital Letter U with ring above
//U+016F Latin Small Letter U with ring above
-1 * 0 12 03 00 02 6E 01 01 02 6E 01 02 02 6E 01
-1 sprites/chars.png 270 70 01 13 8 0 -2
-1 sprites/chars.png 290 70 01 13 6 0 -2
-1 sprites/chars.png 270 90 01 6 3 0 0
-1 sprites/chars.png 290 90 01 6 3 0 0
-1 sprites/chars.png 270 100 01 21 14 0 -2
-1 sprites/chars.png 290 100 01 21 8 0 -2
//U+0106 Latin Capital Letter C with acute
//U+0107 Latin Small Letter C with acute
-1 * 0 12 03 00 02 06 01 01 02 06 01 02 02 06 01
-1 sprites/chars.png 310 70 01 13 9 0 -2
-1 sprites/chars.png 330 70 01 13 6 0 -2
-1 sprites/chars.png 310 90 01 6 3 0 0
-1 sprites/chars.png 330 90 01 6 3 0 0
-1 sprites/chars.png 310 100 01 21 12 0 -2
-1 sprites/chars.png 330 100 01 21 8 0 -2
//U+0110 Latin Capital Letter D with stroke
//U+0111 Latin Small Letter D with stroke
-1 * 0 12 03 00 02 10 01 01 02 10 01 02 02 10 01
-1 sprites/chars.png 350 70 01 13 9 0 -2
-1 sprites/chars.png 370 70 01 13 7 0 -2
-1 sprites/chars.png 350 90 01 5 4 0 1
-1 sprites/chars.png 370 90 01 6 4 0 0
-1 sprites/chars.png 350 100 01 21 14 0 -2
-1 sprites/chars.png 370 100 01 21 9 0 -2
//U+013D Latin Capital Letter L with caron
//U+013E Latin Small Letter L with caron
-1 * 0 12 03 00 02 3D 01 01 02 3D 01 02 02 3D 01
-1 sprites/chars.png 390 70 01 13 7 0 -2
-1 sprites/chars.png 410 70 01 13 6 0 -2
-1 sprites/chars.png 390 90 01 5 5 0 1
-1 sprites/chars.png 410 90 01 5 3 0 1
-1 sprites/chars.png 390 100 01 21 12 0 -2
-1 sprites/chars.png 410 100 01 21 7 0 -2
//U+00B4 Acute accent
-1 * 0 12 03 00 01 B4 00 01 01 B4 00 02 01 B4 00
-1 sprites/chars.png 30 130 01 13 4 0 -2
-1 sprites/chars.png 30 150 01 5 1 0 1
-1 sprites/chars.png 30 160 01 21 3 0 -2
//U+00BD Vulgar fraction one half
-1 * 0 12 03 00 01 BD 00 01 01 BD 00 02 01 BD 00
-1 sprites/chars.png 40 130 01 13 11 0 -2
-1 sprites/chars.png 40 150 01 5 9 0 1
-1 sprites/chars.png 40 160 01 21 11 0 -2
//U+00B5 Micro sign
-1 * 0 12 03 00 01 B5 00 01 01 B5 00 02 01 B5 00
-1 sprites/chars.png 60 130 01 13 6 0 -2
-1 sprites/chars.png 60 150 01 5 3 0 1
-1 sprites/chars.png 60 160 01 21 10 0 -2
//U+00AA Feminine Ordinal Indicator
-1 * 0 12 03 00 01 AA 00 01 01 AA 00 02 01 AA 00
-1 sprites/chars.png 80 130 01 13 5 0 -2
-1 sprites/chars.png 80 150 01 5 1 0 1
-1 sprites/chars.png 80 160 01 21 6 0 -2
//U+2019 RIGHT SINGLE QUOTATION MARK
-1 * 0 12 03 00 01 19 20 01 01 19 20 02 01 19 20
-1 sprites/chars.png 90 130 01 13 3 0 -2
-1 sprites/chars.png 90 150 01 5 1 0 1
-1 sprites/chars.png 90 160 01 21 4 0 -2
//U+201E DOUBLE LOW-9 QUOTATION MARK
-1 * 0 12 03 00 01 1E 20 01 01 1E 20 02 01 1E 20
-1 sprites/chars.png 100 130 01 13 5 0 -2
-1 sprites/chars.png 100 150 01 5 3 0 1
-1 sprites/chars.png 100 160 01 21 8 0 -2
//U+201C LEFT DOUBLE QUOTATION MARK
-1 * 0 12 03 00 01 1C 20 01 01 1C 20 02 01 1C 20
-1 sprites/chars.png 110 130 01 13 5 0 -2
-1 sprites/chars.png 110 150 01 5 3 0 1
-1 sprites/chars.png 110 160 01 21 8 0 -2
//U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-1 * 0 12 03 00 01 3A 20 01 01 3A 20 02 01 3A 20
-1 sprites/chars.png 760 130 01 13 5 0 -2
-1 sprites/chars.png 760 150 01 5 2 0 1
-1 sprites/chars.png 760 160 01 21 4 0 -2
//U+2013 EN DASH
-1 * 0 12 03 00 01 13 20 01 01 13 20 02 01 13 20
-1 sprites/chars.png 120 130 01 13 7 0 -2
-1 sprites/chars.png 120 150 01 5 4 0 1
-1 sprites/chars.png 120 160 01 21 9 0 -2
//U+0174 Latin Capital Letter W with circumflex
//U+0175 Latin Small Letter W with circumflex
-1 * 0 12 03 00 02 74 01 01 02 74 01 02 02 74 01
-1 sprites/chars.png 420 70 01 13 12 0 -2
-1 sprites/chars.png 440 70 01 13 10 0 -2
-1 sprites/chars.png 420 90 01 6 5 0 0
-1 sprites/chars.png 440 90 01 6 5 0 0
-1 sprites/chars.png 420 100 01 21 18 0 -2
-1 sprites/chars.png 440 100 01 21 13 0 -2
//U+0176 Latin Capital Letter Y with circumflex
//U+0177 Latin Small Letter Y with circumflex
-1 * 0 12 03 00 02 76 01 01 02 76 01 02 02 76 01
-1 sprites/chars.png 460 70 01 13 9 0 -2
-1 sprites/chars.png 480 70 01 13 7 0 -2
-1 sprites/chars.png 460 90 01 6 3 0 0
-1 sprites/chars.png 480 90 01 6 3 0 0
-1 sprites/chars.png 460 100 01 21 13 0 -2
-1 sprites/chars.png 480 100 01 21 9 0 -2
//U+0108 Latin Capital Letter C with circumflex
//U+0109 Latin Small Letter C with circumflex
-1 * 0 12 03 00 02 08 01 01 02 08 01 02 02 08 01
-1 sprites/chars.png 500 70 01 13 9 0 -2
-1 sprites/chars.png 520 70 01 13 6 0 -2
-1 sprites/chars.png 500 90 01 6 3 0 0
-1 sprites/chars.png 520 90 01 6 3 0 0
-1 sprites/chars.png 500 100 01 21 12 0 -2
-1 sprites/chars.png 520 100 01 21 8 0 -2
//U+011C Latin Capital Letter G with circumflex
//U+011D Latin Small Letter G with circumflex
-1 * 0 12 03 00 02 1C 01 01 02 1C 01 02 02 1C 01
-1 sprites/chars.png 540 70 01 13 9 0 -2
-1 sprites/chars.png 560 70 01 13 6 0 -2
-1 sprites/chars.png 540 90 01 6 3 0 0
-1 sprites/chars.png 560 90 01 6 3 0 0
-1 sprites/chars.png 540 100 01 21 13 0 -2
-1 sprites/chars.png 560 100 01 21 10 0 -2
//U+0124 Latin Capital Letter H with circumflex
//U+0125 Latin Small Letter H with circumflex
-1 * 0 12 03 00 02 24 01 01 02 24 01 02 02 24 01
-1 sprites/chars.png 580 70 01 13 8 0 -2
-1 sprites/chars.png 600 70 01 13 8 0 -2
-1 sprites/chars.png 580 90 01 6 3 0 0
-1 sprites/chars.png 600 90 01 6 3 0 0
-1 sprites/chars.png 580 100 01 21 15 0 -2
-1 sprites/chars.png 600 100 01 21 10 0 -2
//U+0134 Latin Capital Letter J with circumflex
//U+0135 Latin Small Letter J with circumflex
-1 * 0 12 03 00 02 34 01 01 02 34 01 02 02 34 01
-1 sprites/chars.png 620 70 01 13 7 0 -2
-1 sprites/chars.png 640 70 01 13 6 0 -2
-1 sprites/chars.png 620 90 01 6 3 0 0
-1 sprites/chars.png 640 90 01 6 3 0 0
-1 sprites/chars.png 620 100 01 21 8 0 -2
-1 sprites/chars.png 640 100 01 21 5 0 -2
//U+016C Latin Capital Letter U with breve
//U+016D Latin Small Letter U with breve
-1 * 0 12 03 00 02 6C 01 01 02 6C 01 02 02 6C 01
-1 sprites/chars.png 650 70 01 13 8 0 -2
-1 sprites/chars.png 670 70 01 13 6 0 -2
-1 sprites/chars.png 650 90 01 6 3 0 0
-1 sprites/chars.png 670 90 01 6 3 0 0
-1 sprites/chars.png 650 100 01 21 14 0 -2
-1 sprites/chars.png 670 100 01 21 9 0 -2
//U+0102 Latin Capital Letter A with breve
//U+0103 Latin Small Letter A with breve
-1 * 0 12 03 00 02 02 01 01 02 02 01 02 02 02 01
-1 sprites/chars.png 690 70 01 13 9 0 -2
-1 sprites/chars.png 710 70 01 13 7 0 -2
-1 sprites/chars.png 690 90 01 6 3 0 0
-1 sprites/chars.png 710 90 01 6 3 0 0
-1 sprites/chars.png 690 100 01 21 14 0 -2
-1 sprites/chars.png 710 100 01 21 8 0 -2
//U+015E Latin Capital Letter S with cedilla
//U+015F Latin Small Letter S with cedilla
-1 * 0 12 03 00 02 5E 01 01 02 5E 01 02 02 5E 01
-1 sprites/chars.png 730 70 01 13 8 0 -2
-1 sprites/chars.png 740 70 01 13 6 0 -2
-1 sprites/chars.png 730 90 01 6 3 0 1
-1 sprites/chars.png 740 90 01 6 3 0 1
-1 sprites/chars.png 730 100 01 21 9 0 -2
-1 sprites/chars.png 740 100 01 21 6 0 -2
//U+0162 Latin Capital Letter T with cedilla
//U+0163 Latin Small Letter T with cedilla
-1 * 0 12 03 00 02 62 01 01 02 62 01 02 02 62 01
-1 sprites/chars.png 750 70 01 13 9 0 -2
-1 sprites/chars.png 770 70 01 13 6 0 -2
-1 sprites/chars.png 750 90 01 6 3 0 1
-1 sprites/chars.png 770 90 01 6 2 0 1
-1 sprites/chars.png 750 100 01 21 13 0 -2
-1 sprites/chars.png 770 100 01 21 5 0 -2
//U+011E Latin Capital Letter G with breve
//U+011F Latin Small Letter G with breve
-1 * 0 12 03 00 02 1E 01 01 02 1E 01 02 02 1E 01
-1 sprites/chars.png 140 130 01 13 9 0 -2
-1 sprites/chars.png 160 130 01 13 6 0 -2
-1 sprites/chars.png 140 150 01 6 3 0 0
-1 sprites/chars.png 160 150 01 6 3 0 0
-1 sprites/chars.png 140 160 01 21 13 0 -2
-1 sprites/chars.png 160 160 01 21 10 0 -2
//U+0130 Latin Capital Letter I with dot above
//U+0131 Latin Small Letter dotless I
-1 * 0 12 03 00 02 30 01 01 02 30 01 02 02 30 01
-1 sprites/chars.png 180 130 01 13 3 0 -2
-1 sprites/chars.png 190 130 01 13 3 0 -2
-1 sprites/chars.png 180 150 01 6 1 0 0
-1 sprites/chars.png 190 150 01 5 1 0 1
-1 sprites/chars.png 180 160 01 21 7 0 -2
-1 sprites/chars.png 190 160 01 21 4 0 -2
//U+0122 Latin Capital Letter G with cedilla
//U+0123 Latin Small Letter G with cedilla
-1 * 0 12 03 00 02 22 01 01 02 22 01 02 02 22 01
-1 sprites/chars.png 200 130 01 13 9 0 -2
-1 sprites/chars.png 220 130 01 13 6 0 -2
-1 sprites/chars.png 200 150 01 6 3 0 0
-1 sprites/chars.png 220 150 01 6 3 0 1
-1 sprites/chars.png 200 160 01 21 13 0 -2
-1 sprites/chars.png 220 160 01 21 10 0 -2
//U+0136 Latin Capital Letter K with cedilla
//U+0137 Latin Small Letter K with cedilla
-1 * 0 12 03 00 02 36 01 01 02 36 01 02 02 36 01
-1 sprites/chars.png 240 130 01 13 8 0 -2
-1 sprites/chars.png 260 130 01 13 7 0 -2
-1 sprites/chars.png 240 150 01 6 3 0 1
-1 sprites/chars.png 260 150 01 6 3 0 1
-1 sprites/chars.png 240 160 01 21 14 0 -2
-1 sprites/chars.png 260 160 01 21 10 0 -2
//U+013B Latin Capital Letter L with cedilla
//U+013C Latin Small Letter L with cedilla
-1 * 0 12 03 00 02 3B 01 01 02 3B 01 02 02 3B 01
-1 sprites/chars.png 280 130 01 13 7 0 -2
-1 sprites/chars.png 300 130 01 13 4 0 -2
-1 sprites/chars.png 280 150 01 6 3 0 1
-1 sprites/chars.png 300 150 01 6 2 0 1
-1 sprites/chars.png 280 160 01 21 12 0 -2
-1 sprites/chars.png 300 160 01 21 5 0 -2
//U+0145 Latin Capital Letter N with cedilla
//U+0146 Latin Small Letter N with cedilla
-1 * 0 12 03 00 02 45 01 01 02 45 01 02 02 45 01
-1 sprites/chars.png 310 130 01 13 8 0 -2
-1 sprites/chars.png 330 130 01 13 6 0 -2
-1 sprites/chars.png 310 150 01 6 4 0 1
-1 sprites/chars.png 330 150 01 6 3 0 1
-1 sprites/chars.png 310 160 01 21 16 0 -2
-1 sprites/chars.png 330 160 01 21 10 0 -2
//U+0100 Latin Capital Letter A with macron
//U+0101 Latin Small Letter A with macron
-1 * 0 12 03 00 02 00 01 01 02 00 01 02 02 00 01
-1 sprites/chars.png 350 130 01 13 9 0 -2
-1 sprites/chars.png 370 130 01 13 7 0 -2
-1 sprites/chars.png 350 150 01 6 3 0 0
-1 sprites/chars.png 370 150 01 6 3 0 0
-1 sprites/chars.png 350 160 01 21 14 0 -2
-1 sprites/chars.png 370 160 01 21 8 0 -2
//U+0112 Latin Capital Letter E with macron
//U+0113 Latin Small Letter E with macron
-1 * 0 12 03 00 02 12 01 01 02 12 01 02 02 12 01
-1 sprites/chars.png 380 130 01 13 8 0 -2
-1 sprites/chars.png 400 130 01 13 6 0 -2
-1 sprites/chars.png 380 150 01 6 3 0 0
-1 sprites/chars.png 400 150 01 6 3 0 0
-1 sprites/chars.png 380 160 01 21 13 0 -2
-1 sprites/chars.png 400 160 01 21 8 0 -2
//U+012A Latin Capital Letter I with macron
//U+012B Latin Small Letter I with macron
-1 * 0 12 03 00 02 2A 01 01 02 2A 01 02 02 2A 01
-1 sprites/chars.png 410 130 01 13 5 0 -2
-1 sprites/chars.png 420 130 01 13 5 0 -2
-1 sprites/chars.png 410 150 01 6 3 0 0
-1 sprites/chars.png 420 150 01 6 3 0 0
-1 sprites/chars.png 410 160 01 21 7 0 -2
-1 sprites/chars.png 420 160 01 21 4 0 -2
//U+016A Latin Capital Letter U with macron
//U+016B Latin Small Letter U with macron
-1 * 0 12 03 00 02 6A 01 01 02 6A 01 02 02 6A 01
-1 sprites/chars.png 430 130 01 13 8 0 -2
-1 sprites/chars.png 450 130 01 13 6 0 -2
-1 sprites/chars.png 430 150 01 6 3 0 0
-1 sprites/chars.png 450 150 01 6 3 0 0
-1 sprites/chars.png 430 160 01 21 14 0 -2
-1 sprites/chars.png 450 160 01 21 9 0 -2
//U+0143 Latin Capital Letter N with acute
//U+0144 Latin Small Letter N with acute
-1 * 0 12 03 00 02 43 01 01 02 43 01 02 02 43 01
-1 sprites/chars.png 470 130 01 13 8 0 -2
-1 sprites/chars.png 490 130 01 13 6 0 -2
-1 sprites/chars.png 470 150 01 6 4 0 0
-1 sprites/chars.png 490 150 01 6 3 0 0
-1 sprites/chars.png 470 160 01 21 16 0 -2
-1 sprites/chars.png 490 160 01 21 10 0 -2
//U+015A Latin Capital Letter S with acute
//U+015B Latin Small Letter S with acute
-1 * 0 12 03 00 02 5A 01 01 02 5A 01 02 02 5A 01
-1 sprites/chars.png 510 130 01 13 8 0 -2
-1 sprites/chars.png 520 130 01 13 6 0 -2
-1 sprites/chars.png 510 150 01 6 3 0 0
-1 sprites/chars.png 520 150 01 6 3 0 0
-1 sprites/chars.png 510 160 01 21 9 0 -2
-1 sprites/chars.png 520 160 01 21 6 0 -2
//U+017B Latin Capital Letter Z with dot above
//U+017C Latin Small Letter Z with dot above
-1 * 0 12 03 00 02 7B 01 01 02 7B 01 02 02 7B 01
-1 sprites/chars.png 530 130 01 13 8 0 -2
-1 sprites/chars.png 550 130 01 13 7 0 -2
-1 sprites/chars.png 530 150 01 6 3 0 0
-1 sprites/chars.png 550 150 01 6 3 0 0
-1 sprites/chars.png 530 160 01 21 12 0 -2
-1 sprites/chars.png 550 160 01 21 7 0 -2
//U+0179 Latin Capital Letter Z with acute
//U+017A Latin Small Letter Z with acute
-1 * 0 12 03 00 02 79 01 01 02 79 01 02 02 79 01
-1 sprites/chars.png 770 130 01 13 8 0 -2
-1 sprites/chars.png 790 130 01 13 7 0 -2
-1 sprites/chars.png 770 150 01 6 3 0 0
-1 sprites/chars.png 790 150 01 6 3 0 0
-1 sprites/chars.png 770 160 01 21 12 0 -2
-1 sprites/chars.png 790 160 01 21 7 0 -2
//U+0139 Latin Capital Letter L with acute
//U+013A Latin Small Letter L with acute
-1 * 0 12 03 00 02 39 01 01 02 39 01 02 02 39 01
-1 sprites/chars.png 30 190 01 13 7 0 -2
-1 sprites/chars.png 50 190 01 13 4 0 -2
-1 sprites/chars.png 30 210 01 6 3 0 0
-1 sprites/chars.png 50 210 01 6 2 0 0
-1 sprites/chars.png 30 220 01 21 12 0 -2
-1 sprites/chars.png 50 220 01 21 5 0 -2
//U+0141 Latin Capital Letter L with stroke
//U+0142 Latin Small Letter L with stroke
-1 * 0 12 03 00 02 41 01 01 02 41 01 02 02 41 01
-1 sprites/chars.png 560 130 01 13 8 0 -2
-1 sprites/chars.png 580 130 01 13 5 0 -2
-1 sprites/chars.png 560 150 01 5 4 0 1
-1 sprites/chars.png 580 150 01 5 3 0 1
-1 sprites/chars.png 560 160 01 21 12 0 -2
-1 sprites/chars.png 580 160 01 21 6 0 -2
//U+0104 Latin Capital Letter A with ogonek
//U+0105 Latin Small Letter A with ogonek
-1 * 0 12 03 00 02 04 01 01 02 04 01 02 02 04 01
-1 sprites/chars.png 590 130 01 13 9 0 -2
-1 sprites/chars.png 610 130 01 13 7 0 -2
-1 sprites/chars.png 590 150 01 6 3 0 1
-1 sprites/chars.png 610 150 01 6 3 0 1
-1 sprites/chars.png 590 160 01 21 14 0 -2
-1 sprites/chars.png 610 160 01 21 8 0 -2
//U+0118 Latin Capital Letter E with ogonek
//U+0119 Latin Small Letter E with ogonek
-1 * 0 12 03 00 02 18 01 01 02 18 01 02 02 18 01
-1 sprites/chars.png 620 130 01 13 8 0 -2
-1 sprites/chars.png 640 130 01 13 6 0 -2
-1 sprites/chars.png 620 150 01 6 3 0 1
-1 sprites/chars.png 640 150 01 6 3 0 1
-1 sprites/chars.png 620 160 01 21 13 0 -2
-1 sprites/chars.png 640 160 01 21 8 0 -2
//U+012E Latin Capital Letter I with ogonek
//U+012F Latin Small Letter I with ogonek
-1 * 0 12 03 00 02 2E 01 01 02 2E 01 02 02 2E 01
-1 sprites/chars.png 650 130 01 13 4 0 -2
-1 sprites/chars.png 660 130 01 13 4 0 -2
-1 sprites/chars.png 650 150 01 6 2 0 1
-1 sprites/chars.png 660 150 01 6 2 0 1
-1 sprites/chars.png 650 160 01 21 7 0 -2
-1 sprites/chars.png 660 160 01 21 4 0 -2
//U+0172 Latin Capital Letter U with ogonek
//U+0173 Latin Small Letter U with ogonek
-1 * 0 12 03 00 02 72 01 01 02 72 01 02 02 72 01
-1 sprites/chars.png 670 130 01 13 8 0 -2
-1 sprites/chars.png 690 130 01 13 7 0 -2
-1 sprites/chars.png 670 150 01 6 3 0 1
-1 sprites/chars.png 690 150 01 6 3 0 1
-1 sprites/chars.png 670 160 01 21 14 0 -2
-1 sprites/chars.png 690 160 01 21 9 0 -2
//U+0116 Latin Capital Letter E with dot above
//U+0117 Latin Small Letter E with dot above
-1 * 0 12 03 00 02 16 01 01 02 16 01 02 02 16 01
-1 sprites/chars.png 710 130 01 13 8 0 -2
-1 sprites/chars.png 730 130 01 13 6 0 -2
-1 sprites/chars.png 710 150 01 6 3 0 0
-1 sprites/chars.png 730 150 01 6 3 0 0
-1 sprites/chars.png 710 160 01 21 13 0 -2
-1 sprites/chars.png 730 160 01 21 8 0 -2
//U+015C Latin Capital Letter S with circumflex
//U+015D Latin Small Letter S with circumflex
-1 * 0 12 03 00 02 5C 01 01 02 5C 01 02 02 5C 01
-1 sprites/chars.png 740 130 01 13 8 0 -2
-1 sprites/chars.png 750 130 01 13 6 0 -2
-1 sprites/chars.png 740 150 01 6 3 0 0
-1 sprites/chars.png 750 150 01 6 3 0 0
-1 sprites/chars.png 740 160 01 21 9 0 -2
-1 sprites/chars.png 750 160 01 21 6 0 -2
// Large font only
//U+00C6 Latin Capital letter AE
-1 * 0 12 01 02 01 C6 00
-1 sprites/chars.png 300 40 01 21 19 0 -2
//U+00E6 Latin Small Letter AE
-1 * 0 12 01 02 01 E6 00
-1 sprites/chars.png 280 40 01 21 13 0 -2
//U+00D8 Latin Capital letter O with stroke
-1 * 0 12 01 02 01 D8 00
-1 sprites/chars.png 330 40 01 21 13 0 -2
//U+00F8 Latin Small Letter O with stroke
-1 * 0 12 01 02 01 F8 00
-1 sprites/chars.png 320 40 01 21 9 0 -2
//U+00D0 Latin Capital letter Eth
-1 * 0 12 01 02 01 D0 00
-1 sprites/chars.png 350 40 01 21 14 0 -2
//U+00F0 Latin Small Letter Eth
-1 * 0 12 01 02 01 F0 00
-1 sprites/chars.png 370 40 01 21 9 0 -2
//U+00DE Latin Capital Letter Thorn
-1 * 0 12 01 02 01 DE 00
-1 sprites/chars.png 380 40 01 21 14 0 -2
//U+00FE Latin Small Letter Thorn
-1 * 0 12 01 02 01 FE 00
-1 sprites/chars.png 400 40 01 21 14 0 -2
//U+00A7 Section sign
-1 * 0 12 01 02 01 A7 00
-1 sprites/chars.png 420 40 01 21 9 0 -2
//U+00A9 Copyright sign
-1 * 0 12 01 02 01 A9 00
-1 sprites/chars.png 430 40 01 21 16 0 -2
//U+00AE Registered sign
-1 * 0 12 01 02 01 AE 00
-1 sprites/chars.png 150 40 01 21 7 0 -2
//U+00B1 Plus-minus sign
//U+00B2 Superscript two
//U+00B3 Superscript three
-1 * 0 12 01 02 03 B1 00
-1 sprites/chars.png 480 40 01 21 9 0 -2
-1 sprites/chars.png 490 40 01 21 6 0 -2
-1 sprites/chars.png 500 40 01 21 5 0 -2
//U+00D7 Multiplication sign
-1 * 0 12 01 02 01 D7 00
-1 sprites/chars.png 510 40 01 21 8 0 -2
//U+00F7 Division sign
-1 * 0 12 01 02 01 F7 00
-1 sprites/chars.png 520 40 01 21 9 0 -2

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -1,58 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Electrified rail by Michael Blunck"
-1 * 3 05 05 30
-1 sprites/elrails.png 66 8 01 16 32 -29 -2
-1 sprites/elrails.png 114 8 01 16 32 -1 -2
-1 sprites/elrails.png 162 8 01 1 32 -1 -2
-1 sprites/elrails.png 210 8 01 16 1 0 -3
-1 sprites/elrails.png 226 8 01 24 32 -29 -2
-1 sprites/elrails.png 274 8 01 9 32 -1 6
-1 sprites/elrails.png 322 8 01 9 32 -29 6
-1 sprites/elrails.png 370 8 01 24 32 -1 -2
-1 sprites/elrails.png 418 8 01 16 32 -29 -2
-1 sprites/elrails.png 466 8 01 16 32 -1 -2
-1 sprites/elrails.png 514 8 01 1 32 -1 -2
-1 sprites/elrails.png 562 8 01 16 1 0 -3
-1 sprites/elrails.png 578 8 01 24 32 -29 -2
-1 sprites/elrails.png 626 8 01 9 32 -1 6
-1 sprites/elrails.png 674 8 01 9 32 -29 6
-1 sprites/elrails.png 722 8 01 24 32 -1 -2
-1 sprites/elrails.png 2 56 01 16 32 -29 -2
-1 sprites/elrails.png 50 56 01 16 32 -1 -2
-1 sprites/elrails.png 98 56 01 1 32 -1 -2
-1 sprites/elrails.png 146 56 01 16 1 0 -3
-1 sprites/elrails.png 162 56 01 24 32 -29 -2
-1 sprites/elrails.png 210 56 01 9 32 -1 6
-1 sprites/elrails.png 258 56 01 9 32 -29 6
-1 sprites/elrails.png 306 56 01 24 32 -1 -2
-1 sprites/elrails.png 354 56 01 8 16 -29 6
-1 sprites/elrails.png 386 56 01 8 16 -1 -2
-1 sprites/elrails.png 418 56 01 8 16 -13 -2
-1 sprites/elrails.png 450 56 01 8 16 15 6
-1 sprites/elrails.png 482 56 01 16 8 -7 -14
-1 sprites/elrails.png 498 56 01 18 8 0 -17
-1 sprites/elrails.png 514 56 01 16 8 0 -14
-1 sprites/elrails.png 530 56 01 18 8 -7 -17
-1 sprites/elrails.png 546 56 01 16 2 0 -15
-1 sprites/elrails.png 562 56 01 18 2 0 -16
-1 sprites/elrails.png 578 56 01 16 8 0 -15
-1 sprites/elrails.png 594 56 01 16 8 -7 -15
-1 sprites/elrails.png 610 56 09 16 13 4 2
-1 sprites/elrails.png 642 56 09 16 20 0 2
-1 sprites/elrails.png 674 56 09 16 20 0 2
-1 sprites/elrails.png 706 56 09 16 20 0 2
-1 sprites/elrails.png 738 56 03 30 38 -3 -14
-1 sprites/elrails.png 2 104 03 44 72 -16 -8
-1 sprites/elrails.png 82 104 03 35 44 -21 -2
-1 sprites/elrails.png 146 104 03 44 72 -16 -35
-1 sprites/elrails.png 226 104 09 19 20 0 1
-1 sprites/elrails.png 258 104 03 32 32 0 0
-1 sprites/elrails.png 306 104 01 22 12 -9 -18
-1 sprites/elrails.png 338 104 01 22 12 -1 -18

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -1,164 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Fixing (alignment) bugs in the orignal graphics. By Addi."
-1 * 6 07 83 01 \7= 03 69
// Different grahpics for same wood truck
-1 * 14 0A 04 01 87 0C 01 89 0C 01 07 0E 01 09 0E
-1 sprites/fix_graphics.png 82 8 09 16 22 -6 -7
-1 sprites/fix_graphics.png 114 8 09 16 22 -14 -7
-1 sprites/fix_graphics.png 146 8 09 16 22 -6 -7
-1 sprites/fix_graphics.png 178 8 09 16 22 -14 -7
// Different grahpics for lots of trucks
-1 * 5 0A 01 28 C4 0D
-1 sprites/fix_graphics.png 226 8 01 18 8 -3 -10
-1 sprites/fix_graphics.png 242 8 09 16 20 -14 -7
-1 sprites/fix_graphics.png 274 8 01 12 28 -14 -6
-1 sprites/fix_graphics.png 322 8 09 16 20 -6 -7
-1 sprites/fix_graphics.png 354 8 01 18 8 -3 -10
-1 sprites/fix_graphics.png 370 8 09 16 20 -14 -7
-1 sprites/fix_graphics.png 402 8 01 12 28 -14 -6
-1 sprites/fix_graphics.png 450 8 09 16 20 -6 -7
-1 sprites/fix_graphics.png 482 8 01 18 8 -3 -10
-1 sprites/fix_graphics.png 498 8 09 16 20 -14 -7
-1 sprites/fix_graphics.png 530 8 01 12 28 -14 -6
-1 sprites/fix_graphics.png 578 8 09 16 20 -6 -7
-1 sprites/fix_graphics.png 610 8 01 18 8 -3 -10
-1 sprites/fix_graphics.png 626 8 09 16 20 -14 -7
-1 sprites/fix_graphics.png 658 8 01 12 28 -14 -6
-1 sprites/fix_graphics.png 706 8 09 16 20 -6 -7
-1 sprites/fix_graphics.png 738 8 01 18 8 -3 -10
-1 sprites/fix_graphics.png 754 8 09 16 22 -14 -7
-1 sprites/fix_graphics.png 2 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 50 40 09 16 22 -6 -7
-1 sprites/fix_graphics.png 82 40 01 18 8 -3 -10
-1 sprites/fix_graphics.png 98 40 09 16 22 -14 -7
-1 sprites/fix_graphics.png 130 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 178 40 09 16 22 -6 -7
-1 sprites/fix_graphics.png 210 40 01 18 8 -3 -10
-1 sprites/fix_graphics.png 226 40 09 16 22 -14 -7
-1 sprites/fix_graphics.png 258 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 306 40 09 16 22 -6 -7
-1 sprites/fix_graphics.png 338 40 01 18 8 -3 -10
-1 sprites/fix_graphics.png 354 40 09 16 22 -14 -7
-1 sprites/fix_graphics.png 386 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 434 40 09 16 22 -6 -7
-1 sprites/fix_graphics.png 466 40 01 18 8 -3 -10
-1 sprites/fix_graphics.png 482 40 09 16 20 -14 -7
-1 sprites/fix_graphics.png 514 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 562 40 09 16 20 -6 -7
-1 sprites/fix_graphics.png 594 40 01 18 8 -3 -10
-1 sprites/fix_graphics.png 610 40 09 16 20 -14 -7
-1 sprites/fix_graphics.png 642 40 01 12 28 -14 -6
-1 sprites/fix_graphics.png 690 40 09 16 20 -6 -7
// Different grahpics for same truck
-1 * 14 0A 04 01 9D 0C 01 9F 0C 01 A1 0C 01 A3 0C
-1 sprites/fix_graphics.png 738 40 09 16 22 -14 -7
-1 sprites/fix_graphics.png 770 40 09 16 22 -6 -7
-1 sprites/fix_graphics.png 2 72 09 16 22 -14 -7
-1 sprites/fix_graphics.png 34 72 09 16 22 -6 -7
// Different grahpics for same paper truck
-1 * 14 0A 04 01 5D 0D 01 5F 0D 01 61 0D 01 63 0D
-1 sprites/fix_graphics.png 82 72 09 16 22 -14 -7
-1 sprites/fix_graphics.png 114 72 09 17 22 -5 -7
-1 sprites/fix_graphics.png 146 72 09 17 22 -14 -8
-1 sprites/fix_graphics.png 178 72 09 16 22 -6 -7
// Different grahpics for same paper truck (truck #2)
-1 * 14 0A 04 01 1D 0E 01 1F 0E 01 21 0E 01 23 0E
-1 sprites/fix_graphics.png 226 72 09 16 22 -14 -7
-1 sprites/fix_graphics.png 258 72 09 16 22 -6 -7
-1 sprites/fix_graphics.png 290 72 09 16 22 -14 -7
-1 sprites/fix_graphics.png 322 72 09 16 22 -6 -7
// Misaligned monorail bridge heads
-1 * 8 0A 02 01 EA 10 02 EC 10
-1 sprites/fix_graphics.png 370 72 09 35 48 -23 -7
-1 sprites/fix_graphics.png 434 72 09 35 48 -23 -7
-1 sprites/fix_graphics.png 498 72 09 21 49 -24 3
// Improperly cut cinema
-1 * 5 0A 01 02 34 11
-1 sprites/fix_graphics.png 578 72 09 31 64 -31 0
-1 sprites/fix_graphics.png 658 72 09 47 50 -28 -20
// Misaligned undergrounds for temperate monorail
-1 * 6 07 83 01 \7! 00 06
-1 * 5 0A 01 05 4C 04
-1 sprites/fix_graphics.png 2 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 82 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 162 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 242 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 322 136 09 31 64 -31 0
// Misaligned undergrounds for arctic monorail
-1 * 6 07 83 01 \7! 01 06
-1 * 5 0A 01 05 4C 04
-1 sprites/fix_graphics.png 434 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 514 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 594 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 674 136 09 31 64 -31 0
-1 sprites/fix_graphics.png 2 184 09 31 64 -31 0
// Misaligned undergrounds for tropical/desert monorail/maglev
-1 * 6 07 83 01 \7! 02 10
-1 * 11 0A 03 05 4C 04 05 66 04 05 B8 04
-1 sprites/fix_graphics.png 114 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 194 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 274 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 354 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 434 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 514 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 594 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 674 184 09 31 64 -31 0
-1 sprites/fix_graphics.png 2 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 82 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 162 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 242 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 322 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 402 232 09 31 64 -31 0
-1 sprites/fix_graphics.png 482 232 09 31 64 -31 0
// Misaligned monorail snowed X crossing
-1 * 6 07 83 01 \7! 01 02
-1 * 5 0A 01 01 65 04
-1 sprites/fix_graphics.png 594 232 09 31 64 -31 0
// Floating tropical house
-1 * 6 07 83 01 \7! 02 02
-1 * 5 0A 01 01 FF 11
-1 sprites/fix_graphics.png 706 232 09 47 64 -31 -16
// Clipped vehicle in the original German DOS graphics
-1 * 6 07 83 01 \7! 03 02
-1 * 5 0A 01 01 5D 0C
-1 sprites/fix_graphics.png 18 296 09 16 20 -14 -7
// Graphics metadata pixel higher than actual graphics
-1 * 6 12 01 00 01 AC E2
-1 sprites/fix_graphics.png 66 296 01 10 9 0 0
// Non-toyland specific
-1 * 6 07 83 01 \7= 03 0A
// Grahpics for the tubular bridge pillars had incorrect offsets
-1 * 5 0A 01 04 05 0A
-1 sprites/fix_graphics.png 98 296 09 9 4 2 -1
-1 sprites/fix_graphics.png 114 296 09 9 4 2 -1
-1 sprites/fix_graphics.png 130 296 09 9 4 -4 0
-1 sprites/fix_graphics.png 146 296 09 9 4 -4 0
// Grahpics for the cantilever bridge pillars had incorrect offsets
-1 * 5 0A 01 04 DD 09
-1 sprites/fix_graphics.png 178 296 09 11 10 2 -3
-1 sprites/fix_graphics.png 194 296 09 12 10 2 -2
-1 sprites/fix_graphics.png 210 296 09 11 10 -10 -1
-1 sprites/fix_graphics.png 226 296 09 11 10 -10 -1
// Toyland specific
-1 * 6 07 83 01 \7! 03 0A
// Grahpics for the toyland tubular bridge pillars had incorrect offsets
-1 * 5 0A 01 04 05 0A
-1 sprites/fix_graphics.png 248 296 09 9 4 2 -1
-1 sprites/fix_graphics.png 264 296 09 9 4 2 -1
-1 sprites/fix_graphics.png 280 296 09 9 4 -4 0
-1 sprites/fix_graphics.png 296 296 09 9 4 -4 0
// Grahpics for the toyland cantilever bridge pillars had incorrect offsets
-1 * 5 0A 01 04 DD 09
-1 sprites/fix_graphics.png 328 296 09 11 10 2 -3
-1 sprites/fix_graphics.png 344 296 09 12 10 2 -2
-1 sprites/fix_graphics.png 360 296 09 11 10 -10 -1
-1 sprites/fix_graphics.png 376 296 09 11 10 -10 -1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -1,46 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Flag graphics"
-1 * 3 05 14 24
-1 sprites/flags.png 34 8 09 8 11 0 0
-1 sprites/flags.png 50 8 09 8 11 0 0
-1 sprites/flags.png 66 8 09 8 11 0 0
-1 sprites/flags.png 82 8 09 8 11 0 0
-1 sprites/flags.png 98 8 09 8 11 0 0
-1 sprites/flags.png 114 8 09 8 11 0 0
-1 sprites/flags.png 130 8 09 8 11 0 0
-1 sprites/flags.png 146 8 09 8 11 0 0
-1 sprites/flags.png 162 8 09 8 11 0 0
-1 sprites/flags.png 178 8 09 8 11 0 0
-1 sprites/flags.png 194 8 09 8 11 0 0
-1 sprites/flags.png 210 8 09 8 11 0 0
-1 sprites/flags.png 226 8 09 8 11 0 0
-1 sprites/flags.png 242 8 09 8 11 0 0
-1 sprites/flags.png 258 8 09 8 11 0 0
-1 sprites/flags.png 274 8 09 8 11 0 0
-1 sprites/flags.png 290 8 09 8 11 0 0
-1 sprites/flags.png 306 8 09 8 11 0 0
-1 sprites/flags.png 322 8 09 8 11 0 0
-1 sprites/flags.png 338 8 09 8 11 0 0
-1 sprites/flags.png 354 8 09 8 11 0 0
-1 sprites/flags.png 370 8 09 8 11 0 0
-1 sprites/flags.png 386 8 09 8 11 0 0
-1 sprites/flags.png 402 8 09 8 11 0 0
-1 sprites/flags.png 418 8 09 8 11 0 0
-1 sprites/flags.png 434 8 09 8 11 0 0
-1 sprites/flags.png 450 8 09 8 11 0 0
-1 sprites/flags.png 466 8 09 8 11 0 0
-1 sprites/flags.png 482 8 09 8 11 0 0
-1 sprites/flags.png 498 8 09 8 11 0 0
-1 sprites/flags.png 514 8 09 8 11 0 0
-1 sprites/flags.png 530 8 09 8 11 0 0
-1 sprites/flags.png 546 8 09 8 11 0 0
-1 sprites/flags.png 562 8 09 8 11 0 0
-1 sprites/flags.png 578 8 09 8 11 0 0
-1 sprites/flags.png 594 8 09 8 11 0 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,377 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Foundations. Non-halftile ones by Marcin Grzegorczyk"
-1 * 6 07 83 01 \7! 00 5B
-1 * 3 05 06 5A
-1 sprites/foundations.png 82 8 09 40 64 -31 -9
-1 sprites/foundations.png 162 8 09 40 64 -31 -9
-1 sprites/foundations.png 242 8 09 32 64 -31 -9
-1 sprites/foundations.png 322 8 09 32 64 -31 -9
-1 sprites/foundations.png 402 8 09 40 64 -31 -9
-1 sprites/foundations.png 482 8 09 40 64 -31 -9
-1 sprites/foundations.png 562 8 09 40 64 -31 -9
-1 sprites/foundations.png 642 8 09 40 64 -31 -9
-1 sprites/foundations.png 722 8 09 40 64 -31 -9
-1 sprites/foundations.png 2 72 09 32 64 -31 -9
-1 sprites/foundations.png 82 72 09 32 64 -31 -9
-1 sprites/foundations.png 162 72 09 40 64 -31 -9
-1 sprites/foundations.png 242 72 09 40 64 -31 -9
-1 sprites/foundations.png 322 72 09 32 64 -31 -9
-1 sprites/foundations.png 402 72 09 32 64 -31 -9
-1 sprites/foundations.png 482 72 09 40 64 -31 -9
-1 sprites/foundations.png 562 72 09 40 64 -31 -9
-1 sprites/foundations.png 642 72 09 32 64 -31 -9
-1 sprites/foundations.png 722 72 09 32 64 -31 -9
-1 sprites/foundations.png 2 136 09 40 64 -31 -9
-1 sprites/foundations.png 82 136 09 40 64 -31 -9
-1 sprites/foundations.png 162 136 09 32 64 -31 -9
-1 sprites/foundations.png 242 136 09 40 64 -31 -9
-1 sprites/foundations.png 322 136 09 40 64 -31 -9
-1 sprites/foundations.png 402 136 09 32 64 -31 -9
-1 sprites/foundations.png 482 136 09 32 64 -31 -9
-1 sprites/foundations.png 562 136 09 40 64 -31 -9
-1 sprites/foundations.png 642 136 09 40 64 -31 -9
-1 sprites/foundations.png 722 136 09 40 64 -31 -9
-1 sprites/foundations.png 2 200 09 40 64 -31 -9
-1 sprites/foundations.png 82 200 09 40 64 -31 -9
-1 sprites/foundations.png 162 200 09 32 64 -31 -9
-1 sprites/foundations.png 242 200 09 32 64 -31 -9
-1 sprites/foundations.png 322 200 09 40 64 -31 -9
-1 sprites/foundations.png 402 200 09 40 64 -31 -9
-1 sprites/foundations.png 482 200 09 32 64 -31 -9
-1 sprites/foundations.png 562 200 09 32 64 -31 -9
-1 sprites/foundations.png 642 200 09 40 64 -31 -9
-1 sprites/foundations.png 722 200 09 40 64 -31 -9
-1 sprites/foundations.png 2 264 09 32 64 -31 -9
-1 sprites/foundations.png 82 264 09 32 64 -31 -9
-1 sprites/foundations.png 162 264 09 40 64 -31 -9
-1 sprites/foundations.png 242 264 09 40 64 -31 -9
-1 sprites/foundations.png 322 264 09 32 64 -31 -9
-1 sprites/foundations.png 402 264 09 40 64 -31 -9
-1 sprites/foundations.png 482 264 09 40 64 -31 -9
-1 sprites/foundations.png 562 264 09 32 64 -31 -9
-1 sprites/foundations.png 642 264 09 32 64 -31 -9
-1 sprites/foundations.png 722 264 09 40 64 -31 -9
-1 sprites/foundations.png 2 328 09 40 64 -31 -9
-1 sprites/foundations.png 82 328 09 40 64 -31 -9
-1 sprites/foundations.png 162 328 09 40 64 -31 -9
-1 sprites/foundations.png 242 328 09 40 64 -31 -9
-1 sprites/foundations.png 322 328 09 32 64 -31 -9
-1 sprites/foundations.png 402 328 09 32 64 -31 -9
-1 sprites/foundations.png 482 328 09 40 64 -31 -9
-1 sprites/foundations.png 562 328 09 40 64 -31 -9
-1 sprites/foundations.png 642 328 09 32 64 -31 -9
-1 sprites/foundations.png 722 328 09 32 64 -31 -9
-1 sprites/foundations.png 2 392 09 40 64 -31 -9
-1 sprites/foundations.png 82 392 09 40 64 -31 -9
-1 sprites/foundations.png 162 392 09 32 64 -31 -9
-1 sprites/foundations.png 242 392 09 32 64 -31 -9
-1 sprites/foundations.png 322 392 09 40 64 -31 -9
-1 sprites/foundations.png 402 392 09 40 64 -31 -9
-1 sprites/foundations.png 482 392 09 32 64 -31 -9
-1 sprites/foundations.png 562 392 09 40 64 -31 -9
-1 sprites/foundations.png 642 392 09 40 64 -31 -9
-1 sprites/foundations.png 722 392 09 32 64 -31 -9
-1 sprites/foundations.png 2 456 09 32 64 -31 -9
-1 sprites/foundations.png 82 456 09 40 64 -31 -9
-1 sprites/foundations.png 162 456 09 40 64 -31 -9
-1 sprites/foundations.png 242 456 09 40 64 -31 -9
-1 sprites/foundations.png 322 456 09 40 64 -31 -9
-1 sprites/foundations.png 402 456 09 40 64 -15 -17
-1 sprites/foundations.png 482 456 09 33 64 -31 -25
-1 sprites/foundations.png 562 456 09 40 64 -47 -17
-1 sprites/foundations.png 642 456 09 33 64 -31 -9
-1 sprites/foundations.png 722 456 09 40 64 -15 -17
-1 sprites/foundations.png 2 520 09 33 64 -31 -25
-1 sprites/foundations.png 82 520 09 40 64 -47 -17
-1 sprites/foundations.png 162 520 09 33 64 -31 -9
-1 sprites/foundations.png 242 520 09 40 64 -15 -17
-1 sprites/foundations.png 322 520 09 33 64 -31 -25
-1 sprites/foundations.png 402 520 09 40 64 -47 -17
-1 sprites/foundations.png 482 520 09 33 64 -31 -9
-1 sprites/foundations.png 562 520 09 40 64 -15 -17
-1 sprites/foundations.png 642 520 09 33 64 -31 -25
-1 sprites/foundations.png 722 520 09 40 64 -47 -17
-1 sprites/foundations.png 2 584 09 33 64 -31 -9
-1 * 6 07 83 01 \7! 01 5B
-1 * 3 05 06 5A
-1 sprites/foundations.png 114 584 09 40 64 -31 -9
-1 sprites/foundations.png 194 584 09 40 64 -31 -9
-1 sprites/foundations.png 274 584 09 32 64 -31 -9
-1 sprites/foundations.png 354 584 09 32 64 -31 -9
-1 sprites/foundations.png 434 584 09 40 64 -31 -9
-1 sprites/foundations.png 514 584 09 40 64 -31 -9
-1 sprites/foundations.png 594 584 09 40 64 -31 -9
-1 sprites/foundations.png 674 584 09 40 64 -31 -9
-1 sprites/foundations.png 2 648 09 40 64 -31 -9
-1 sprites/foundations.png 82 648 09 32 64 -31 -9
-1 sprites/foundations.png 162 648 09 32 64 -31 -9
-1 sprites/foundations.png 242 648 09 40 64 -31 -9
-1 sprites/foundations.png 322 648 09 40 64 -31 -9
-1 sprites/foundations.png 402 648 09 32 64 -31 -9
-1 sprites/foundations.png 482 648 09 32 64 -31 -9
-1 sprites/foundations.png 562 648 09 40 64 -31 -9
-1 sprites/foundations.png 642 648 09 40 64 -31 -9
-1 sprites/foundations.png 722 648 09 32 64 -31 -9
-1 sprites/foundations.png 2 712 09 32 64 -31 -9
-1 sprites/foundations.png 82 712 09 40 64 -31 -9
-1 sprites/foundations.png 162 712 09 40 64 -31 -9
-1 sprites/foundations.png 242 712 09 32 64 -31 -9
-1 sprites/foundations.png 322 712 09 40 64 -31 -9
-1 sprites/foundations.png 402 712 09 40 64 -31 -9
-1 sprites/foundations.png 482 712 09 32 64 -31 -9
-1 sprites/foundations.png 562 712 09 32 64 -31 -9
-1 sprites/foundations.png 642 712 09 40 64 -31 -9
-1 sprites/foundations.png 722 712 09 40 64 -31 -9
-1 sprites/foundations.png 2 776 09 40 64 -31 -9
-1 sprites/foundations.png 82 776 09 40 64 -31 -9
-1 sprites/foundations.png 162 776 09 40 64 -31 -9
-1 sprites/foundations.png 242 776 09 32 64 -31 -9
-1 sprites/foundations.png 322 776 09 32 64 -31 -9
-1 sprites/foundations.png 402 776 09 40 64 -31 -9
-1 sprites/foundations.png 482 776 09 40 64 -31 -9
-1 sprites/foundations.png 562 776 09 32 64 -31 -9
-1 sprites/foundations.png 642 776 09 32 64 -31 -9
-1 sprites/foundations.png 722 776 09 40 64 -31 -9
-1 sprites/foundations.png 2 840 09 40 64 -31 -9
-1 sprites/foundations.png 82 840 09 32 64 -31 -9
-1 sprites/foundations.png 162 840 09 32 64 -31 -9
-1 sprites/foundations.png 242 840 09 40 64 -31 -9
-1 sprites/foundations.png 322 840 09 40 64 -31 -9
-1 sprites/foundations.png 402 840 09 32 64 -31 -9
-1 sprites/foundations.png 482 840 09 40 64 -31 -9
-1 sprites/foundations.png 562 840 09 40 64 -31 -9
-1 sprites/foundations.png 642 840 09 32 64 -31 -9
-1 sprites/foundations.png 722 840 09 32 64 -31 -9
-1 sprites/foundations.png 2 904 09 40 64 -31 -9
-1 sprites/foundations.png 82 904 09 40 64 -31 -9
-1 sprites/foundations.png 162 904 09 40 64 -31 -9
-1 sprites/foundations.png 242 904 09 40 64 -31 -9
-1 sprites/foundations.png 322 904 09 40 64 -31 -9
-1 sprites/foundations.png 402 904 09 32 64 -31 -9
-1 sprites/foundations.png 482 904 09 32 64 -31 -9
-1 sprites/foundations.png 562 904 09 40 64 -31 -9
-1 sprites/foundations.png 642 904 09 40 64 -31 -9
-1 sprites/foundations.png 722 904 09 32 64 -31 -9
-1 sprites/foundations.png 2 968 09 32 64 -31 -9
-1 sprites/foundations.png 82 968 09 40 64 -31 -9
-1 sprites/foundations.png 162 968 09 40 64 -31 -9
-1 sprites/foundations.png 242 968 09 32 64 -31 -9
-1 sprites/foundations.png 322 968 09 32 64 -31 -9
-1 sprites/foundations.png 402 968 09 40 64 -31 -9
-1 sprites/foundations.png 482 968 09 40 64 -31 -9
-1 sprites/foundations.png 562 968 09 32 64 -31 -9
-1 sprites/foundations.png 642 968 09 40 64 -31 -9
-1 sprites/foundations.png 722 968 09 40 64 -31 -9
-1 sprites/foundations.png 2 1032 09 32 64 -31 -9
-1 sprites/foundations.png 82 1032 09 32 64 -31 -9
-1 sprites/foundations.png 162 1032 09 40 64 -31 -9
-1 sprites/foundations.png 242 1032 09 40 64 -31 -9
-1 sprites/foundations.png 322 1032 09 40 64 -31 -9
-1 sprites/foundations.png 402 1032 09 40 64 -31 -9
-1 sprites/foundations.png 482 1032 09 40 64 -15 -17
-1 sprites/foundations.png 562 1032 09 33 64 -31 -25
-1 sprites/foundations.png 642 1032 09 40 64 -47 -17
-1 sprites/foundations.png 722 1032 09 33 64 -31 -9
-1 sprites/foundations.png 2 1096 09 40 64 -15 -17
-1 sprites/foundations.png 82 1096 09 33 64 -31 -25
-1 sprites/foundations.png 162 1096 09 40 64 -47 -17
-1 sprites/foundations.png 242 1096 09 33 64 -31 -9
-1 sprites/foundations.png 322 1096 09 40 64 -15 -17
-1 sprites/foundations.png 402 1096 09 33 64 -31 -25
-1 sprites/foundations.png 482 1096 09 40 64 -47 -17
-1 sprites/foundations.png 562 1096 09 33 64 -31 -9
-1 sprites/foundations.png 642 1096 09 40 64 -15 -17
-1 sprites/foundations.png 722 1096 09 33 64 -31 -25
-1 sprites/foundations.png 2 1160 09 40 64 -47 -17
-1 sprites/foundations.png 82 1160 09 33 64 -31 -9
-1 * 6 07 83 01 \7! 02 5B
-1 * 3 05 06 5A
-1 sprites/foundations.png 194 1160 09 40 64 -31 -9
-1 sprites/foundations.png 274 1160 09 40 64 -31 -9
-1 sprites/foundations.png 354 1160 09 32 64 -31 -9
-1 sprites/foundations.png 434 1160 09 32 64 -31 -9
-1 sprites/foundations.png 514 1160 09 40 64 -31 -9
-1 sprites/foundations.png 594 1160 09 40 64 -31 -9
-1 sprites/foundations.png 674 1160 09 40 64 -31 -9
-1 sprites/foundations.png 2 1224 09 40 64 -31 -9
-1 sprites/foundations.png 82 1224 09 40 64 -31 -9
-1 sprites/foundations.png 162 1224 09 32 64 -31 -9
-1 sprites/foundations.png 242 1224 09 32 64 -31 -9
-1 sprites/foundations.png 322 1224 09 40 64 -31 -9
-1 sprites/foundations.png 402 1224 09 40 64 -31 -9
-1 sprites/foundations.png 482 1224 09 32 64 -31 -9
-1 sprites/foundations.png 562 1224 09 32 64 -31 -9
-1 sprites/foundations.png 642 1224 09 40 64 -31 -9
-1 sprites/foundations.png 722 1224 09 40 64 -31 -9
-1 sprites/foundations.png 2 1288 09 32 64 -31 -9
-1 sprites/foundations.png 82 1288 09 32 64 -31 -9
-1 sprites/foundations.png 162 1288 09 40 64 -31 -9
-1 sprites/foundations.png 242 1288 09 40 64 -31 -9
-1 sprites/foundations.png 322 1288 09 32 64 -31 -9
-1 sprites/foundations.png 402 1288 09 40 64 -31 -9
-1 sprites/foundations.png 482 1288 09 40 64 -31 -9
-1 sprites/foundations.png 562 1288 09 32 64 -31 -9
-1 sprites/foundations.png 642 1288 09 32 64 -31 -9
-1 sprites/foundations.png 722 1288 09 40 64 -31 -9
-1 sprites/foundations.png 2 1352 09 40 64 -31 -9
-1 sprites/foundations.png 82 1352 09 40 64 -31 -9
-1 sprites/foundations.png 162 1352 09 40 64 -31 -9
-1 sprites/foundations.png 242 1352 09 40 64 -31 -9
-1 sprites/foundations.png 322 1352 09 32 64 -31 -9
-1 sprites/foundations.png 402 1352 09 32 64 -31 -9
-1 sprites/foundations.png 482 1352 09 40 64 -31 -9
-1 sprites/foundations.png 562 1352 09 40 64 -31 -9
-1 sprites/foundations.png 642 1352 09 32 64 -31 -9
-1 sprites/foundations.png 722 1352 09 32 64 -31 -9
-1 sprites/foundations.png 2 1416 09 40 64 -31 -9
-1 sprites/foundations.png 82 1416 09 40 64 -31 -9
-1 sprites/foundations.png 162 1416 09 32 64 -31 -9
-1 sprites/foundations.png 242 1416 09 32 64 -31 -9
-1 sprites/foundations.png 322 1416 09 40 64 -31 -9
-1 sprites/foundations.png 402 1416 09 40 64 -31 -9
-1 sprites/foundations.png 482 1416 09 32 64 -31 -9
-1 sprites/foundations.png 562 1416 09 40 64 -31 -9
-1 sprites/foundations.png 642 1416 09 40 64 -31 -9
-1 sprites/foundations.png 722 1416 09 32 64 -31 -9
-1 sprites/foundations.png 2 1480 09 32 64 -31 -9
-1 sprites/foundations.png 82 1480 09 40 64 -31 -9
-1 sprites/foundations.png 162 1480 09 40 64 -31 -9
-1 sprites/foundations.png 242 1480 09 40 64 -31 -9
-1 sprites/foundations.png 322 1480 09 40 64 -31 -9
-1 sprites/foundations.png 402 1480 09 40 64 -31 -9
-1 sprites/foundations.png 482 1480 09 32 64 -31 -9
-1 sprites/foundations.png 562 1480 09 32 64 -31 -9
-1 sprites/foundations.png 642 1480 09 40 64 -31 -9
-1 sprites/foundations.png 722 1480 09 40 64 -31 -9
-1 sprites/foundations.png 2 1544 09 32 64 -31 -9
-1 sprites/foundations.png 82 1544 09 32 64 -31 -9
-1 sprites/foundations.png 162 1544 09 40 64 -31 -9
-1 sprites/foundations.png 242 1544 09 40 64 -31 -9
-1 sprites/foundations.png 322 1544 09 32 64 -31 -9
-1 sprites/foundations.png 402 1544 09 32 64 -31 -9
-1 sprites/foundations.png 482 1544 09 40 64 -31 -9
-1 sprites/foundations.png 562 1544 09 40 64 -31 -9
-1 sprites/foundations.png 642 1544 09 32 64 -31 -9
-1 sprites/foundations.png 722 1544 09 40 64 -31 -9
-1 sprites/foundations.png 2 1608 09 40 64 -31 -9
-1 sprites/foundations.png 82 1608 09 32 64 -31 -9
-1 sprites/foundations.png 162 1608 09 32 64 -31 -9
-1 sprites/foundations.png 242 1608 09 40 64 -31 -9
-1 sprites/foundations.png 322 1608 09 40 64 -31 -9
-1 sprites/foundations.png 402 1608 09 40 64 -31 -9
-1 sprites/foundations.png 482 1608 09 40 64 -31 -9
-1 sprites/foundations.png 562 1608 09 40 64 -15 -17
-1 sprites/foundations.png 642 1608 09 33 64 -31 -25
-1 sprites/foundations.png 722 1608 09 40 64 -47 -17
-1 sprites/foundations.png 2 1672 09 33 64 -31 -9
-1 sprites/foundations.png 82 1672 09 40 64 -15 -17
-1 sprites/foundations.png 162 1672 09 33 64 -31 -25
-1 sprites/foundations.png 242 1672 09 40 64 -47 -17
-1 sprites/foundations.png 322 1672 09 33 64 -31 -9
-1 sprites/foundations.png 402 1672 09 40 64 -15 -17
-1 sprites/foundations.png 482 1672 09 33 64 -31 -25
-1 sprites/foundations.png 562 1672 09 40 64 -47 -17
-1 sprites/foundations.png 642 1672 09 33 64 -31 -9
-1 sprites/foundations.png 722 1672 09 40 64 -15 -17
-1 sprites/foundations.png 2 1736 09 33 64 -31 -25
-1 sprites/foundations.png 82 1736 09 40 64 -47 -17
-1 sprites/foundations.png 162 1736 09 33 64 -31 -9
-1 * 6 07 83 01 \7! 03 5B
-1 * 3 05 06 5A
-1 sprites/foundations.png 274 1736 09 40 64 -31 -9
-1 sprites/foundations.png 354 1736 09 40 64 -31 -9
-1 sprites/foundations.png 434 1736 09 32 64 -31 -9
-1 sprites/foundations.png 514 1736 09 32 64 -31 -9
-1 sprites/foundations.png 594 1736 09 40 64 -31 -9
-1 sprites/foundations.png 674 1736 09 40 64 -31 -9
-1 sprites/foundations.png 2 1800 09 40 64 -31 -9
-1 sprites/foundations.png 82 1800 09 40 64 -31 -9
-1 sprites/foundations.png 162 1800 09 40 64 -31 -9
-1 sprites/foundations.png 242 1800 09 32 64 -31 -9
-1 sprites/foundations.png 322 1800 09 32 64 -31 -9
-1 sprites/foundations.png 402 1800 09 40 64 -31 -9
-1 sprites/foundations.png 482 1800 09 40 64 -31 -9
-1 sprites/foundations.png 562 1800 09 32 64 -31 -9
-1 sprites/foundations.png 642 1800 09 32 64 -31 -9
-1 sprites/foundations.png 722 1800 09 40 64 -31 -9
-1 sprites/foundations.png 2 1864 09 40 64 -31 -9
-1 sprites/foundations.png 82 1864 09 32 64 -31 -9
-1 sprites/foundations.png 162 1864 09 32 64 -31 -9
-1 sprites/foundations.png 242 1864 09 40 64 -31 -9
-1 sprites/foundations.png 322 1864 09 40 64 -31 -9
-1 sprites/foundations.png 402 1864 09 32 64 -31 -9
-1 sprites/foundations.png 482 1864 09 40 64 -31 -9
-1 sprites/foundations.png 562 1864 09 40 64 -31 -9
-1 sprites/foundations.png 642 1864 09 32 64 -31 -9
-1 sprites/foundations.png 722 1864 09 32 64 -31 -9
-1 sprites/foundations.png 2 1928 09 40 64 -31 -9
-1 sprites/foundations.png 82 1928 09 40 64 -31 -9
-1 sprites/foundations.png 162 1928 09 40 64 -31 -9
-1 sprites/foundations.png 242 1928 09 40 64 -31 -9
-1 sprites/foundations.png 322 1928 09 40 64 -31 -9
-1 sprites/foundations.png 402 1928 09 32 64 -31 -9
-1 sprites/foundations.png 482 1928 09 32 64 -31 -9
-1 sprites/foundations.png 562 1928 09 40 64 -31 -9
-1 sprites/foundations.png 642 1928 09 40 64 -31 -9
-1 sprites/foundations.png 722 1928 09 32 64 -31 -9
-1 sprites/foundations.png 2 1992 09 32 64 -31 -9
-1 sprites/foundations.png 82 1992 09 40 64 -31 -9
-1 sprites/foundations.png 162 1992 09 40 64 -31 -9
-1 sprites/foundations.png 242 1992 09 32 64 -31 -9
-1 sprites/foundations.png 322 1992 09 32 64 -31 -9
-1 sprites/foundations.png 402 1992 09 40 64 -31 -9
-1 sprites/foundations.png 482 1992 09 40 64 -31 -9
-1 sprites/foundations.png 562 1992 09 32 64 -31 -9
-1 sprites/foundations.png 642 1992 09 40 64 -31 -9
-1 sprites/foundations.png 722 1992 09 40 64 -31 -9
-1 sprites/foundations.png 2 2056 09 32 64 -31 -9
-1 sprites/foundations.png 82 2056 09 32 64 -31 -9
-1 sprites/foundations.png 162 2056 09 40 64 -31 -9
-1 sprites/foundations.png 242 2056 09 40 64 -31 -9
-1 sprites/foundations.png 322 2056 09 40 64 -31 -9
-1 sprites/foundations.png 402 2056 09 40 64 -31 -9
-1 sprites/foundations.png 482 2056 09 40 64 -31 -9
-1 sprites/foundations.png 562 2056 09 32 64 -31 -9
-1 sprites/foundations.png 642 2056 09 32 64 -31 -9
-1 sprites/foundations.png 722 2056 09 40 64 -31 -9
-1 sprites/foundations.png 2 2120 09 40 64 -31 -9
-1 sprites/foundations.png 82 2120 09 32 64 -31 -9
-1 sprites/foundations.png 162 2120 09 32 64 -31 -9
-1 sprites/foundations.png 242 2120 09 40 64 -31 -9
-1 sprites/foundations.png 322 2120 09 40 64 -31 -9
-1 sprites/foundations.png 402 2120 09 32 64 -31 -9
-1 sprites/foundations.png 482 2120 09 32 64 -31 -9
-1 sprites/foundations.png 562 2120 09 40 64 -31 -9
-1 sprites/foundations.png 642 2120 09 40 64 -31 -9
-1 sprites/foundations.png 722 2120 09 32 64 -31 -9
-1 sprites/foundations.png 2 2184 09 40 64 -31 -9
-1 sprites/foundations.png 82 2184 09 40 64 -31 -9
-1 sprites/foundations.png 162 2184 09 32 64 -31 -9
-1 sprites/foundations.png 242 2184 09 32 64 -31 -9
-1 sprites/foundations.png 322 2184 09 40 64 -31 -9
-1 sprites/foundations.png 402 2184 09 40 64 -31 -9
-1 sprites/foundations.png 482 2184 09 40 64 -31 -9
-1 sprites/foundations.png 562 2184 09 40 64 -31 -9
-1 sprites/foundations.png 642 2184 09 40 64 -15 -17
-1 sprites/foundations.png 722 2184 09 33 64 -31 -25
-1 sprites/foundations.png 2 2248 09 40 64 -47 -17
-1 sprites/foundations.png 82 2248 09 33 64 -31 -9
-1 sprites/foundations.png 162 2248 09 40 64 -15 -17
-1 sprites/foundations.png 242 2248 09 33 64 -31 -25
-1 sprites/foundations.png 322 2248 09 40 64 -47 -17
-1 sprites/foundations.png 402 2248 09 33 64 -31 -9
-1 sprites/foundations.png 482 2248 09 40 64 -15 -17
-1 sprites/foundations.png 562 2248 09 33 64 -31 -25
-1 sprites/foundations.png 642 2248 09 40 64 -47 -17
-1 sprites/foundations.png 722 2248 09 33 64 -31 -9
-1 sprites/foundations.png 2 2312 09 40 64 -15 -17
-1 sprites/foundations.png 82 2312 09 33 64 -31 -25
-1 sprites/foundations.png 162 2312 09 40 64 -47 -17
-1 sprites/foundations.png 242 2312 09 33 64 -31 -9

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -1,16 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "One way road graphics"
-1 * 3 05 09 06
-1 sprites/oneway.png 34 8 01 16 24 -12 -8
-1 sprites/oneway.png 66 8 01 16 24 -12 -8
-1 sprites/oneway.png 98 8 01 16 24 -12 -8
-1 sprites/oneway.png 130 8 01 16 24 -12 -8
-1 sprites/oneway.png 162 8 01 16 24 -12 -8
-1 sprites/oneway.png 194 8 01 16 24 -12 -8

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,106 +0,0 @@
// Automatically generated by GRFCODEC. Do not modify!
// (Info version 7)
// Format: spritenum.pngfile xpos ypos compression ysize xsize xrel yrel
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
// Sources for OpenTTD's required base graphics.
// Checks whether the correct version of OpenTTD is used before
// allowing it to be used.
//
//
// -- NFO Renum 'settings' --
// Do not make nforenum warn about the fact that we use a reserved GRF ID
// @@WARNING DISABLE 101
// -- End of NFO Renum 'settings' --
//
//
// Number of sprites, it is wrong, but GRFcodec automagically gets it right.
//
0 * 4 00 00 00 00
//
// Check whether we are running OTTD or not.
//
-1 * 0 07 9D 04 \7= 01 00 00 00 01
-1 * 0 0B 03 7F FF 80 " is not for TTDPatch. Use ttdpatch(w).grf." 00
//
// Check for OTTD's version number
//
// First step... Variable A1 might not exist. If that's the case it always
// skips. As we do not want to skip out of the whole testing, we skip over
// the real version check.
-1 * 0 07 A1 04 \7= FF FF FF FF 02
// Real version check.
-1 * 0 07 A1 04 \7> \w20304 01 01 03
// If the version check is supported, the string is translateable via OpenTTD
// itself. Use it!.
-1 * 0 0B 03 7F 06 "1.1 (or trunk r20304)" 00
// Some OTTD versions before r11130 did support Action B, so use the English
// phrase there
-1 * 0 0B 03 7F FF "Requires OpenTTD version 1.1 (or trunk r20304) or better." 00
// Final fallback. No Action B support, just skip to the end of the file.
-1 * 0 07 A1 04 \7= FF FF FF FF 00
// We are a DOS paletted NewGRF, so tell OpenTTD that. Then it can actually
// do the right thing. Yay for that feature as that means no duplicate NewGRF!
-1 * 0 14
"C" "INFO"
"B" "PALS" \w1 "D"
00
00
// GRF ID, must start with FF so it gets ignored
-1 * 0 08 07 FF "OTT"
// Name of the GRF
"OpenTTD's base graphics " 00
// Description of the GRF.
"License: GNU General Public License version 2" 0D
"Marcin Grzegorczyk: non-halftile foundations" 0D
"Michael Blunck: catenary, signals" 0D
"George: canals" 0D
"David Dallaston: tram tracks" 0D
"Jonathan G. Rennison: aqueducts" 0D
"Bilbo, Jasper Vries: font" 0D
"OpenTTD developers: other graphics" 00
//
// The real data of the GRF is acquired from several subfiles.
//
#include "2ccmap.nfo"
#include "signals.nfo"
#include "elrails.nfo"
#include "foundations.nfo"
#include "canals.nfo"
#include "oneway.nfo"
#include "tramtracks.nfo"
#include "shore.nfo"
#include "sloped_tracks.nfo"
#include "airports.nfo"
#include "roadstops.nfo"
#include "aqueduct.nfo"
#include "autorail.nfo"
#include "flags.nfo"
#include "openttdgui.nfo"
#include "airport_preview.nfo"
#include "chars.nfo"
#include "overrides.nfo"
#include "fix_graphics.nfo"

View File

@@ -1,181 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
// -- NFO Renum 'settings' --
// Do not make nforenum warn about the fact that we use more sprites.
// We are the 'authority' on how many sprites may be used.
// @@WARNING DISABLE 60
// -- End of NFO Renum 'settings' --
//
-1 * 0 0C "OpenTTD GUI graphics"
-1 * 3 05 15 A0
-1 sprites/openttdgui.png 66 8 09 31 64 -31 7
-1 sprites/openttdgui.png 146 8 09 31 64 -31 7
-1 sprites/openttdgui.png 226 8 09 31 64 -31 7
-1 sprites/openttdgui.png 306 8 09 31 64 -31 7
-1 sprites/openttdgui.png 386 8 09 31 64 -31 -1
-1 sprites/openttdgui.png 466 8 09 39 64 -31 -1
-1 sprites/openttdgui.png 546 8 09 31 64 -31 -1
-1 sprites/openttdgui.png 626 8 09 23 64 -31 7
-1 sprites/openttdgui.png 706 8 09 31 64 -31 7
-1 sprites/openttdgui.png 2 72 09 23 64 -31 7
-1 sprites/openttdgui.png 82 72 09 31 64 -31 7
-1 sprites/openttdgui.png 162 72 09 39 64 -31 -1
-1 sprites/openttdgui.png 242 72 01 26 23 0 0
-1 sprites/openttdgui.png 274 72 09 26 24 0 0
-1 sprites/openttdgui.png 306 72 01 8 4 28 16
-1 sprites/openttdgui.png 322 72 01 9 4 0 1
-1 sprites/openttdgui.png 338 72 09 23 32 0 1
-1 sprites/openttdgui.png 386 72 01 8 4 -31 15
-1 sprites/openttdgui.png 402 72 01 9 4 -3 0
-1 sprites/openttdgui.png 418 72 09 23 32 -31 0
-1 sprites/openttdgui.png 466 72 01 8 4 28 16
-1 sprites/openttdgui.png 482 72 01 9 4 0 1
-1 sprites/openttdgui.png 498 72 09 23 32 0 1
-1 sprites/openttdgui.png 546 72 01 8 4 -31 15
-1 sprites/openttdgui.png 562 72 01 9 4 -3 0
-1 sprites/openttdgui.png 578 72 09 23 32 -31 0
-1 sprites/openttdgui.png 626 72 01 8 4 28 16
-1 sprites/openttdgui.png 642 72 01 9 4 0 1
-1 sprites/openttdgui.png 658 72 09 23 32 0 1
-1 sprites/openttdgui.png 706 72 01 8 4 -31 15
-1 sprites/openttdgui.png 722 72 01 9 4 -3 0
-1 sprites/openttdgui.png 738 72 09 23 32 -31 0
-1 sprites/openttdgui.png 786 72 01 8 4 28 16
-1 sprites/openttdgui.png 2 136 01 9 4 0 1
-1 sprites/openttdgui.png 18 136 09 23 32 0 1
-1 sprites/openttdgui.png 66 136 01 8 4 -31 15
-1 sprites/openttdgui.png 82 136 01 9 4 -3 0
-1 sprites/openttdgui.png 98 136 09 23 32 -31 0
-1 sprites/openttdgui.png 146 136 09 10 10 0 0
-1 sprites/openttdgui.png 162 136 01 8 8 0 0
-1 sprites/openttdgui.png 178 136 09 9 7 0 0
-1 sprites/openttdgui.png 194 136 01 7 9 0 0
-1 sprites/openttdgui.png 210 136 01 7 9 0 0
-1 sprites/openttdgui.png 226 136 01 10 10 0 0
-1 sprites/openttdgui.png 242 136 09 7 7 0 0
-1 sprites/openttdgui.png 258 136 09 4 7 1 2
-1 sprites/openttdgui.png 274 136 09 4 7 1 2
-1 sprites/openttdgui.png 290 136 09 7 4 1 1
-1 sprites/openttdgui.png 306 136 09 7 4 2 1
-1 sprites/openttdgui.png 322 136 01 8 8 1 1
-1 sprites/openttdgui.png 338 136 01 9 9 0 0
-1 sprites/openttdgui.png 354 136 01 8 7 0 0
-1 sprites/openttdgui.png 370 136 01 8 8 0 0
-1 sprites/openttdgui.png 386 136 09 13 20 0 4
-1 sprites/openttdgui.png 418 136 03 36 56 0 0
-1 sprites/openttdgui.png 482 136 01 20 20 0 0
-1 sprites/openttdgui.png 514 136 01 32 32 0 0
-1 sprites/openttdgui.png 562 136 09 16 20 0 3
-1 sprites/openttdgui.png 594 136 03 43 56 0 0
-1 sprites/openttdgui.png 658 136 01 19 20 0 1
-1 sprites/openttdgui.png 690 136 01 32 32 0 0
-1 sprites/openttdgui.png 738 136 01 20 20 0 0
-1 sprites/openttdgui.png 2 200 01 31 31 1 1
-1 sprites/openttdgui.png 50 200 09 15 20 0 3
-1 sprites/openttdgui.png 82 200 03 36 56 0 0
-1 sprites/openttdgui.png 146 200 01 20 20 0 0
-1 sprites/openttdgui.png 178 200 01 32 32 0 0
-1 sprites/openttdgui.png 226 200 01 20 20 0 0
-1 sprites/openttdgui.png 258 200 01 32 32 0 0
-1 sprites/openttdgui.png 306 200 09 11 19 0 6
-1 sprites/openttdgui.png 338 200 03 36 56 0 0
-1 sprites/openttdgui.png 402 200 01 20 20 0 0
-1 sprites/openttdgui.png 434 200 01 32 32 0 0
-1 sprites/openttdgui.png 482 200 01 20 20 0 0
-1 sprites/openttdgui.png 514 200 01 32 32 0 0
-1 sprites/openttdgui.png 562 200 09 20 20 0 0
-1 sprites/openttdgui.png 594 200 09 20 20 0 0
-1 sprites/openttdgui.png 626 200 03 32 52 0 0
-1 sprites/openttdgui.png 690 200 09 33 29 -27 -16
-1 sprites/openttdgui.png 738 200 09 39 35 -29 -29
-1 sprites/openttdgui.png 2 264 09 34 29 1 -17
-1 sprites/openttdgui.png 50 264 09 39 34 -3 -28
-1 sprites/openttdgui.png 98 264 09 13 20 0 4
-1 sprites/openttdgui.png 130 264 03 36 56 0 0
-1 sprites/openttdgui.png 194 264 09 13 20 0 4
-1 sprites/openttdgui.png 226 264 03 36 56 0 0
-1 sprites/openttdgui.png 290 264 01 18 39 -9 -9
-1 sprites/openttdgui.png 338 264 01 44 72 -16 -35
-1 sprites/openttdgui.png 418 264 01 20 20 0 0
-1 sprites/openttdgui.png 450 264 01 44 72 -16 -35
-1 sprites/openttdgui.png 530 264 09 18 18 1 1
-1 sprites/openttdgui.png 562 264 01 20 20 0 0
-1 sprites/openttdgui.png 594 264 01 32 32 0 0
-1 sprites/openttdgui.png 642 264 01 18 18 0 0
-1 sprites/openttdgui.png 674 264 01 18 18 0 0
-1 sprites/openttdgui.png 706 264 01 18 18 0 0
-1 sprites/openttdgui.png 738 264 01 18 18 0 0
-1 sprites/openttdgui.png 770 264 01 18 18 0 0
-1 sprites/openttdgui.png 2 328 01 18 18 0 0
-1 sprites/openttdgui.png 34 328 01 18 18 0 0
-1 sprites/openttdgui.png 66 328 01 18 18 0 0
-1 sprites/openttdgui.png 98 328 01 18 18 0 0
-1 sprites/openttdgui.png 130 328 01 18 18 0 0
-1 sprites/openttdgui.png 162 328 01 18 18 0 0
-1 sprites/openttdgui.png 194 328 01 18 18 0 0
-1 sprites/openttdgui.png 226 328 01 18 18 0 0
-1 sprites/openttdgui.png 258 328 09 16 16 0 0
-1 sprites/openttdgui.png 290 328 01 16 16 0 0
-1 sprites/openttdgui.png 322 328 01 16 16 0 0
-1 sprites/openttdgui.png 354 328 01 16 16 0 0
-1 sprites/openttdgui.png 386 328 09 31 35 0 0
-1 sprites/openttdgui.png 434 328 01 30 33 0 0
-1 sprites/openttdgui.png 482 328 01 33 36 0 0
-1 sprites/openttdgui.png 530 328 01 33 37 0 0
-1 sprites/openttdgui.png 578 328 09 18 18 0 0
-1 sprites/openttdgui.png 610 328 09 18 18 0 0
-1 sprites/openttdgui.png 642 328 09 18 18 0 0
-1 sprites/openttdgui.png 674 328 09 18 18 0 0
-1 sprites/openttdgui.png 706 328 09 18 18 0 0
-1 sprites/openttdgui.png 738 328 09 18 18 0 0
-1 sprites/openttdgui.png 770 328 09 18 18 0 0
-1 sprites/openttdgui.png 2 376 09 18 18 0 0
-1 sprites/openttdgui.png 34 376 09 18 18 0 0
-1 sprites/openttdgui.png 66 376 09 18 18 0 0
-1 sprites/openttdgui.png 98 376 09 18 18 0 0
-1 sprites/openttdgui.png 130 376 09 18 18 0 0
-1 sprites/openttdgui.png 162 376 09 18 18 0 0
-1 sprites/openttdgui.png 194 376 09 18 18 0 0
-1 sprites/openttdgui.png 226 376 09 18 18 0 0
-1 sprites/openttdgui.png 258 376 09 18 18 0 0
-1 sprites/openttdgui.png 290 376 09 18 18 0 0
-1 sprites/openttdgui.png 322 376 09 18 18 0 0
-1 sprites/openttdgui.png 354 376 09 18 18 0 0
-1 sprites/openttdgui.png 386 376 09 18 18 0 0
-1 sprites/openttdgui.png 418 376 01 20 20 0 0
-1 sprites/openttdgui.png 450 376 01 22 19 0 0
-1 sprites/openttdgui.png 482 376 01 20 20 0 0
-1 sprites/openttdgui.png 514 376 01 44 54 -16 -35
-1 sprites/openttdgui.png 578 376 01 7 7 3 4
-1 sprites/openttdgui.png 594 376 01 7 7 3 4
-1 sprites/openttdgui.png 610 376 01 9 10 2 3
-1 sprites/openttdgui.png 626 376 01 9 10 2 3
-1 sprites/openttdgui.png 642 376 01 7 11 2 1
-1 sprites/openttdgui.png 658 376 01 9 9 3 3
-1 sprites/openttdgui.png 674 376 09 20 20 0 0
-1 sprites/openttdgui.png 706 376 09 20 20 0 0
-1 sprites/openttdgui.png 738 376 09 32 32 0 0
-1 sprites/openttdgui.png 786 376 09 10 10 0 0
-1 sprites/openttdgui.png 2 440 09 10 10 0 0
-1 sprites/openttdgui.png 18 440 09 7 7 0 0
-1 sprites/openttdgui.png 34 440 09 13 14 4 4
-1 sprites/openttdgui.png 66 440 09 8 7 0 0
-1 sprites/openttdgui.png 82 440 09 8 7 0 0
-1 sprites/openttdgui.png 98 440 09 8 7 0 0
-1 sprites/openttdgui.png 114 440 01 8 8 0 0
-1 sprites/openttdgui.png 130 440 01 8 8 0 0
-1 sprites/openttdgui.png 146 440 01 8 8 0 0
-1 sprites/openttdgui.png 162 440 01 8 8 0 0
-1 sprites/openttdgui.png 178 440 01 10 8 0 0
-1 sprites/openttdgui.png 194 440 09 10 13 0 -2
// -- NFO Renum 'settings' --
// Undo disabling the warning
// @@WARNING ENABLE 60
// -- End of NFO Renum 'settings' --

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -1,13 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "NewGRF overrides"
-1 * 30 00 08 01 03 00 11
44 44 22 02 44 44 01 11 // UKRS addons modifies UKRS
6D 62 04 02 6D 62 04 01 // DBSetXL ECS extension modifies DBSetXL
4D 65 6f 20 4D 65 6F 17 // LV4cut modifies LV4

View File

@@ -1,18 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Road stop graphics"
-1 * 3 05 11 08
-1 sprites/roadstops.png 34 8 09 23 13 5 -11
-1 sprites/roadstops.png 66 8 09 15 13 5 -2
-1 sprites/roadstops.png 98 8 09 19 21 -20 -7
-1 sprites/roadstops.png 130 8 09 17 22 -25 -4
-1 sprites/roadstops.png 162 8 09 25 32 -5 -9
-1 sprites/roadstops.png 210 8 09 26 28 -3 -12
-1 sprites/roadstops.png 258 8 09 25 29 -24 -12
-1 sprites/roadstops.png 306 8 09 25 32 -25 -9

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,75 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
//
// -- NFO Renum 'settings' --
// Do not make nforenum warn about the fact that we use an incorrect number of shores
// @@WARNING DISABLE 60
// -- End of NFO Renum 'settings' --
//
-1 * 6 07 83 01 \7! 00 0C
-1 * 54 0C "Missing shore tile graphics for the temperate climate"
-1 * 3 05 0D 0A
-1 sprites/shore.png 82 8 09 15 64 -31 0
-1 sprites/shore.png 162 8 09 31 64 -31 -8
-1 sprites/shore.png 242 8 09 23 64 -31 0
-1 sprites/shore.png 322 8 09 47 64 -31 -16
-1 sprites/shore.png 402 8 09 31 64 -31 -8
-1 sprites/shore.png 482 8 09 39 64 -31 -8
-1 sprites/shore.png 562 8 09 31 64 -31 -8
-1 sprites/shore.png 642 8 09 31 64 -31 -8
-1 sprites/shore.png 722 8 09 32 64 -31 -1
-1 sprites/shore.png 2 72 09 31 64 -31 -8
-1 * 6 07 83 01 \7! 01 0C
-1 * 55 0C "Missing shore tile graphics for the sub-arctic climate"
-1 * 3 05 0D 0A
-1 sprites/shore.png 130 72 09 15 64 -31 0
-1 sprites/shore.png 210 72 09 31 64 -31 -8
-1 sprites/shore.png 290 72 09 23 64 -31 0
-1 sprites/shore.png 370 72 09 47 64 -31 -16
-1 sprites/shore.png 450 72 09 31 64 -31 -8
-1 sprites/shore.png 530 72 09 39 64 -31 -8
-1 sprites/shore.png 610 72 09 31 64 -31 -8
-1 sprites/shore.png 690 72 09 31 64 -31 -8
-1 sprites/shore.png 2 136 09 32 64 -31 -1
-1 sprites/shore.png 82 136 09 31 64 -31 -8
-1 * 6 07 83 01 \7! 02 0C
-1 * 57 0C "Missing shore tile graphics for the sub-tropical climate"
-1 * 3 05 0D 0A
-1 sprites/shore.png 210 136 09 15 64 -31 0
-1 sprites/shore.png 290 136 09 31 64 -31 -8
-1 sprites/shore.png 370 136 09 23 64 -31 0
-1 sprites/shore.png 450 136 09 47 64 -31 -16
-1 sprites/shore.png 530 136 09 31 64 -31 -8
-1 sprites/shore.png 610 136 09 39 64 -31 -8
-1 sprites/shore.png 690 136 09 31 64 -31 -8
-1 sprites/shore.png 2 200 09 31 64 -31 -8
-1 sprites/shore.png 82 200 09 32 64 -31 -1
-1 sprites/shore.png 162 200 09 31 64 -31 -8
-1 * 6 07 83 01 \7! 03 0C
-1 * 44 0C "Missing shore tile graphics for the toyland climate"
-1 * 3 05 0D 0A
-1 sprites/shore.png 290 200 09 15 64 -31 0
-1 sprites/shore.png 370 200 09 31 64 -31 -8
-1 sprites/shore.png 450 200 09 23 64 -31 0
-1 sprites/shore.png 530 200 09 47 64 -31 -16
-1 sprites/shore.png 610 200 09 31 64 -31 -8
-1 sprites/shore.png 690 200 09 39 64 -31 -8
-1 sprites/shore.png 2 264 09 31 64 -31 -8
-1 sprites/shore.png 82 264 09 31 64 -31 -8
-1 sprites/shore.png 162 264 09 32 64 -31 -1
-1 sprites/shore.png 242 264 09 31 64 -31 -8
//
// -- NFO Renum 'settings' --
// Reset warning about incorrect number of shores
// @@WARNING ENABLE 60
// -- End of NFO Renum 'settings' --
//

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -1,493 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Pre-signal, semaphore, and PBS graphics by Michael Blunck"
-1 * 3 05 04 F0
-1 sprites/signals.png 66 8 01 21 6 -2 -19
-1 sprites/signals.png 82 8 01 21 6 -2 -19
-1 sprites/signals.png 98 8 01 21 6 -2 -19
-1 sprites/signals.png 114 8 01 21 6 -2 -19
-1 sprites/signals.png 130 8 01 21 6 -2 -19
-1 sprites/signals.png 146 8 01 21 6 -2 -19
-1 sprites/signals.png 162 8 01 21 6 -2 -19
-1 sprites/signals.png 178 8 01 21 6 -2 -19
-1 sprites/signals.png 194 8 01 21 6 -2 -19
-1 sprites/signals.png 210 8 01 21 6 -2 -19
-1 sprites/signals.png 226 8 01 21 6 -2 -19
-1 sprites/signals.png 242 8 01 21 6 -2 -19
-1 sprites/signals.png 258 8 01 21 6 -2 -19
-1 sprites/signals.png 274 8 01 21 6 -2 -19
-1 sprites/signals.png 290 8 01 21 6 -2 -19
-1 sprites/signals.png 306 8 01 21 6 -2 -19
-1 sprites/signals.png 322 8 01 21 6 -2 -19
-1 sprites/signals.png 338 8 01 21 6 -2 -19
-1 sprites/signals.png 354 8 01 21 6 -2 -19
-1 sprites/signals.png 370 8 01 21 6 -2 -19
-1 sprites/signals.png 386 8 01 21 6 -2 -19
-1 sprites/signals.png 402 8 01 21 6 -2 -19
-1 sprites/signals.png 418 8 01 21 6 -2 -19
-1 sprites/signals.png 434 8 01 21 6 -2 -19
-1 sprites/signals.png 450 8 01 21 6 -2 -19
-1 sprites/signals.png 466 8 01 21 6 -2 -19
-1 sprites/signals.png 482 8 01 21 6 -2 -19
-1 sprites/signals.png 498 8 01 21 6 -2 -19
-1 sprites/signals.png 514 8 01 21 6 -2 -19
-1 sprites/signals.png 530 8 01 21 6 -2 -19
-1 sprites/signals.png 546 8 01 21 6 -2 -19
-1 sprites/signals.png 562 8 01 21 6 -2 -19
-1 sprites/signals.png 578 8 01 21 6 -2 -19
-1 sprites/signals.png 594 8 01 21 6 -2 -19
-1 sprites/signals.png 610 8 01 21 6 -2 -19
-1 sprites/signals.png 626 8 01 21 6 -2 -19
-1 sprites/signals.png 642 8 01 21 6 -2 -19
-1 sprites/signals.png 658 8 01 21 6 -2 -19
-1 sprites/signals.png 674 8 01 21 6 -2 -19
-1 sprites/signals.png 690 8 01 21 6 -2 -19
-1 sprites/signals.png 706 8 01 21 6 -2 -19
-1 sprites/signals.png 722 8 01 21 6 -2 -19
-1 sprites/signals.png 738 8 01 21 6 -2 -19
-1 sprites/signals.png 754 8 01 21 6 -2 -19
-1 sprites/signals.png 770 8 01 21 6 -2 -19
-1 sprites/signals.png 786 8 01 21 6 -2 -19
-1 sprites/signals.png 2 40 01 21 6 -2 -19
-1 sprites/signals.png 18 40 01 21 6 -2 -19
-1 sprites/signals.png 34 40 01 21 10 -6 -19
-1 sprites/signals.png 50 40 01 23 7 -3 -21
-1 sprites/signals.png 66 40 01 21 10 1 -19
-1 sprites/signals.png 82 40 01 21 9 1 -19
-1 sprites/signals.png 98 40 01 21 9 1 -19
-1 sprites/signals.png 114 40 01 23 6 1 -21
-1 sprites/signals.png 130 40 01 21 10 -7 -19
-1 sprites/signals.png 146 40 01 21 10 -7 -19
-1 sprites/signals.png 162 40 01 21 2 1 -19
-1 sprites/signals.png 178 40 01 24 2 1 -22
-1 sprites/signals.png 194 40 01 23 2 1 -21
-1 sprites/signals.png 210 40 01 26 2 1 -24
-1 sprites/signals.png 226 40 01 21 11 -7 -19
-1 sprites/signals.png 242 40 01 21 8 -4 -19
-1 sprites/signals.png 258 40 01 21 11 1 -19
-1 sprites/signals.png 274 40 01 21 8 1 -19
-1 sprites/signals.png 290 40 01 21 12 -6 -19
-1 sprites/signals.png 322 40 01 23 9 -3 -21
-1 sprites/signals.png 338 40 01 21 12 -1 -19
-1 sprites/signals.png 370 40 01 21 11 -1 -19
-1 sprites/signals.png 386 40 01 21 11 -1 -19
-1 sprites/signals.png 402 40 01 23 8 -1 -21
-1 sprites/signals.png 418 40 01 21 12 -7 -19
-1 sprites/signals.png 450 40 01 21 12 -7 -19
-1 sprites/signals.png 482 40 01 21 4 1 -19
-1 sprites/signals.png 498 40 01 24 4 1 -22
-1 sprites/signals.png 514 40 01 23 4 -1 -21
-1 sprites/signals.png 530 40 01 26 4 -1 -24
-1 sprites/signals.png 546 40 01 21 13 -7 -19
-1 sprites/signals.png 578 40 01 21 10 -4 -19
-1 sprites/signals.png 594 40 01 21 13 -1 -19
-1 sprites/signals.png 626 40 01 21 10 -1 -19
-1 sprites/signals.png 642 40 01 21 11 -6 -19
-1 sprites/signals.png 658 40 01 23 8 -3 -21
-1 sprites/signals.png 674 40 01 21 11 0 -19
-1 sprites/signals.png 690 40 01 21 10 0 -19
-1 sprites/signals.png 706 40 01 21 10 0 -19
-1 sprites/signals.png 722 40 01 23 7 0 -21
-1 sprites/signals.png 738 40 01 21 11 -7 -19
-1 sprites/signals.png 754 40 01 21 11 -7 -19
-1 sprites/signals.png 770 40 01 21 4 1 -19
-1 sprites/signals.png 786 40 01 24 4 1 -22
-1 sprites/signals.png 2 88 01 23 4 -1 -21
-1 sprites/signals.png 18 88 01 26 4 -1 -24
-1 sprites/signals.png 34 88 01 21 12 -7 -19
-1 sprites/signals.png 66 88 01 21 9 -4 -19
-1 sprites/signals.png 82 88 01 21 12 0 -19
-1 sprites/signals.png 114 88 01 21 9 0 -19
-1 sprites/signals.png 130 88 01 21 11 -6 -19
-1 sprites/signals.png 146 88 01 23 8 -3 -21
-1 sprites/signals.png 162 88 01 21 11 0 -19
-1 sprites/signals.png 178 88 01 21 10 0 -19
-1 sprites/signals.png 194 88 01 21 10 0 -19
-1 sprites/signals.png 210 88 01 23 7 0 -21
-1 sprites/signals.png 226 88 01 21 11 -7 -19
-1 sprites/signals.png 242 88 01 21 11 -7 -19
-1 sprites/signals.png 258 88 01 21 4 1 -19
-1 sprites/signals.png 274 88 01 24 4 1 -22
-1 sprites/signals.png 290 88 01 23 4 -1 -21
-1 sprites/signals.png 306 88 01 26 4 -1 -24
-1 sprites/signals.png 322 88 01 21 12 -7 -19
-1 sprites/signals.png 354 88 01 21 9 -4 -19
-1 sprites/signals.png 370 88 01 21 12 0 -19
-1 sprites/signals.png 402 88 01 21 9 0 -19
-1 sprites/signals.png 418 88 01 19 6 -2 -17
-1 sprites/signals.png 434 88 01 19 6 -2 -17
-1 sprites/signals.png 450 88 01 19 6 -2 -17
-1 sprites/signals.png 466 88 01 19 6 -2 -17
-1 sprites/signals.png 482 88 01 19 6 -2 -17
-1 sprites/signals.png 498 88 01 19 6 -2 -17
-1 sprites/signals.png 514 88 01 19 6 -2 -17
-1 sprites/signals.png 530 88 01 19 6 -2 -17
-1 sprites/signals.png 546 88 01 19 6 -2 -17
-1 sprites/signals.png 562 88 01 19 6 -2 -17
-1 sprites/signals.png 578 88 01 19 6 -2 -17
-1 sprites/signals.png 594 88 01 19 6 -2 -17
-1 sprites/signals.png 610 88 01 19 6 -2 -17
-1 sprites/signals.png 626 88 01 19 6 -2 -17
-1 sprites/signals.png 642 88 01 19 6 -2 -17
-1 sprites/signals.png 658 88 01 19 6 -2 -17
-1 sprites/signals.png 674 88 01 19 6 -2 -17
-1 sprites/signals.png 690 88 01 19 6 -2 -17
-1 sprites/signals.png 706 88 01 19 6 -2 -17
-1 sprites/signals.png 722 88 01 19 6 -2 -17
-1 sprites/signals.png 738 88 01 19 6 -2 -17
-1 sprites/signals.png 754 88 01 19 6 -2 -17
-1 sprites/signals.png 770 88 01 19 6 -2 -17
-1 sprites/signals.png 786 88 01 19 6 -2 -17
-1 sprites/signals.png 2 136 01 19 6 -2 -17
-1 sprites/signals.png 18 136 01 19 6 -2 -17
-1 sprites/signals.png 34 136 01 19 6 -2 -17
-1 sprites/signals.png 50 136 01 19 6 -2 -17
-1 sprites/signals.png 66 136 01 19 6 -2 -17
-1 sprites/signals.png 82 136 01 19 6 -2 -17
-1 sprites/signals.png 98 136 01 19 6 -2 -17
-1 sprites/signals.png 114 136 01 19 6 -2 -17
-1 sprites/signals.png 130 136 01 21 6 -2 -19
-1 sprites/signals.png 146 136 01 21 6 -2 -19
-1 sprites/signals.png 162 136 01 21 6 -2 -19
-1 sprites/signals.png 178 136 01 21 6 -2 -19
-1 sprites/signals.png 194 136 01 21 6 -2 -19
-1 sprites/signals.png 210 136 01 21 6 -2 -19
-1 sprites/signals.png 226 136 01 21 6 -2 -19
-1 sprites/signals.png 242 136 01 21 6 -2 -19
-1 sprites/signals.png 258 136 01 21 6 -2 -19
-1 sprites/signals.png 274 136 01 21 6 -2 -19
-1 sprites/signals.png 290 136 01 21 6 -2 -19
-1 sprites/signals.png 306 136 01 21 6 -2 -19
-1 sprites/signals.png 322 136 01 21 6 -2 -19
-1 sprites/signals.png 338 136 01 21 6 -2 -19
-1 sprites/signals.png 354 136 01 21 6 -2 -19
-1 sprites/signals.png 370 136 01 21 6 -2 -19
-1 sprites/signals.png 386 136 01 21 6 -2 -19
-1 sprites/signals.png 402 136 01 21 6 -2 -19
-1 sprites/signals.png 418 136 01 21 6 -2 -19
-1 sprites/signals.png 434 136 01 21 6 -2 -19
-1 sprites/signals.png 450 136 01 21 6 -2 -19
-1 sprites/signals.png 466 136 01 21 6 -2 -19
-1 sprites/signals.png 482 136 01 21 6 -2 -19
-1 sprites/signals.png 498 136 01 21 6 -2 -19
-1 sprites/signals.png 514 136 01 21 6 -2 -19
-1 sprites/signals.png 530 136 01 21 6 -2 -19
-1 sprites/signals.png 546 136 01 21 6 -2 -19
-1 sprites/signals.png 562 136 01 21 6 -2 -19
-1 sprites/signals.png 578 136 01 21 6 -2 -19
-1 sprites/signals.png 594 136 01 21 6 -2 -19
-1 sprites/signals.png 610 136 01 21 6 -2 -19
-1 sprites/signals.png 626 136 01 21 6 -2 -19
-1 sprites/signals.png 642 136 01 21 10 -6 -19
-1 sprites/signals.png 658 136 01 23 7 -3 -21
-1 sprites/signals.png 674 136 01 21 10 1 -19
-1 sprites/signals.png 690 136 01 21 9 1 -19
-1 sprites/signals.png 706 136 01 21 9 1 -19
-1 sprites/signals.png 722 136 01 23 6 1 -21
-1 sprites/signals.png 738 136 01 21 10 -7 -19
-1 sprites/signals.png 754 136 01 21 10 -7 -19
-1 sprites/signals.png 770 136 01 21 2 1 -19
-1 sprites/signals.png 786 136 01 24 2 1 -22
-1 sprites/signals.png 2 184 01 23 2 1 -21
-1 sprites/signals.png 18 184 01 26 2 1 -24
-1 sprites/signals.png 34 184 01 21 11 -7 -19
-1 sprites/signals.png 50 184 01 21 8 -4 -19
-1 sprites/signals.png 66 184 01 21 11 1 -19
-1 sprites/signals.png 82 184 01 21 8 1 -19
-1 sprites/signals.png 98 184 01 21 12 -6 -19
-1 sprites/signals.png 130 184 01 23 9 -3 -21
-1 sprites/signals.png 146 184 01 21 12 -1 -19
-1 sprites/signals.png 178 184 01 21 11 -1 -19
-1 sprites/signals.png 194 184 01 21 11 -1 -19
-1 sprites/signals.png 210 184 01 23 8 -1 -21
-1 sprites/signals.png 226 184 01 21 12 -7 -19
-1 sprites/signals.png 258 184 01 21 12 -7 -19
-1 sprites/signals.png 290 184 01 21 4 -1 -19
-1 sprites/signals.png 306 184 01 24 4 -1 -22
-1 sprites/signals.png 322 184 01 23 4 1 -21
-1 sprites/signals.png 338 184 01 26 4 1 -24
-1 sprites/signals.png 354 184 01 21 13 -7 -19
-1 sprites/signals.png 386 184 01 21 10 -4 -19
-1 sprites/signals.png 402 184 01 21 13 -1 -19
-1 sprites/signals.png 434 184 01 21 10 -1 -19
-1 sprites/signals.png 450 184 01 21 11 -6 -19
-1 sprites/signals.png 466 184 01 23 8 -3 -21
-1 sprites/signals.png 482 184 01 21 11 0 -19
-1 sprites/signals.png 498 184 01 21 10 0 -19
-1 sprites/signals.png 514 184 01 21 10 0 -19
-1 sprites/signals.png 530 184 01 23 7 0 -21
-1 sprites/signals.png 546 184 01 21 11 -7 -19
-1 sprites/signals.png 562 184 01 21 11 -7 -19
-1 sprites/signals.png 578 184 01 21 4 1 -19
-1 sprites/signals.png 594 184 01 24 4 1 -22
-1 sprites/signals.png 610 184 01 23 4 -1 -21
-1 sprites/signals.png 626 184 01 26 4 -1 -24
-1 sprites/signals.png 642 184 01 21 12 -7 -19
-1 sprites/signals.png 674 184 01 21 9 -4 -19
-1 sprites/signals.png 690 184 01 21 12 0 -19
-1 sprites/signals.png 722 184 01 21 9 0 -19
-1 sprites/signals.png 738 184 01 21 11 -6 -19
-1 sprites/signals.png 754 184 01 23 8 -3 -21
-1 sprites/signals.png 770 184 01 21 11 0 -19
-1 sprites/signals.png 786 184 01 21 10 0 -19
-1 sprites/signals.png 2 232 01 21 10 0 -19
-1 sprites/signals.png 18 232 01 23 7 0 -21
-1 sprites/signals.png 34 232 01 21 11 -7 -19
-1 sprites/signals.png 50 232 01 21 11 -7 -19
-1 sprites/signals.png 66 232 01 21 4 1 -19
-1 sprites/signals.png 82 232 01 24 4 1 -22
-1 sprites/signals.png 98 232 01 23 4 -1 -21
-1 sprites/signals.png 114 232 01 26 4 -1 -24
-1 sprites/signals.png 130 232 01 21 12 -7 -19
-1 sprites/signals.png 162 232 01 21 9 -4 -19
-1 sprites/signals.png 178 232 01 21 12 0 -19
-1 sprites/signals.png 210 232 01 21 9 0 -19
-1 * 6 07 85 01 \70 3B F2
-1 * 6 07 86 01 \70 04 F1
-1 * 3 05 04 F0
-1 sprites/signals.png 274 232 01 21 6 -2 -19
-1 sprites/signals.png 290 232 01 21 6 -2 -19
-1 sprites/signals.png 306 232 01 21 6 -2 -19
-1 sprites/signals.png 322 232 01 21 6 -2 -19
-1 sprites/signals.png 338 232 01 21 6 -2 -19
-1 sprites/signals.png 354 232 01 21 6 -2 -19
-1 sprites/signals.png 370 232 01 21 6 -2 -19
-1 sprites/signals.png 386 232 01 21 6 -2 -19
-1 sprites/signals.png 402 232 01 21 6 -2 -19
-1 sprites/signals.png 418 232 01 21 6 -2 -19
-1 sprites/signals.png 434 232 01 21 6 -2 -19
-1 sprites/signals.png 450 232 01 21 6 -2 -19
-1 sprites/signals.png 466 232 01 21 6 -2 -19
-1 sprites/signals.png 482 232 01 21 6 -2 -19
-1 sprites/signals.png 498 232 01 21 6 -2 -19
-1 sprites/signals.png 514 232 01 21 6 -2 -19
-1 sprites/signals.png 530 232 01 21 6 -2 -19
-1 sprites/signals.png 546 232 01 21 6 -2 -19
-1 sprites/signals.png 562 232 01 21 6 -2 -19
-1 sprites/signals.png 578 232 01 21 6 -2 -19
-1 sprites/signals.png 594 232 01 21 6 -2 -19
-1 sprites/signals.png 610 232 01 21 6 -2 -19
-1 sprites/signals.png 626 232 01 21 6 -2 -19
-1 sprites/signals.png 642 232 01 21 6 -2 -19
-1 sprites/signals.png 658 232 01 21 6 -2 -19
-1 sprites/signals.png 674 232 01 21 6 -2 -19
-1 sprites/signals.png 690 232 01 21 6 -2 -19
-1 sprites/signals.png 706 232 01 21 6 -2 -19
-1 sprites/signals.png 722 232 01 21 6 -2 -19
-1 sprites/signals.png 738 232 01 21 6 -2 -19
-1 sprites/signals.png 754 232 01 21 6 -2 -19
-1 sprites/signals.png 770 232 01 21 6 -2 -19
-1 sprites/signals.png 786 232 01 21 6 -2 -19
-1 sprites/signals.png 2 280 01 21 6 -2 -19
-1 sprites/signals.png 18 280 01 21 6 -2 -19
-1 sprites/signals.png 34 280 01 21 6 -2 -19
-1 sprites/signals.png 50 280 01 21 6 -2 -19
-1 sprites/signals.png 66 280 01 21 6 -2 -19
-1 sprites/signals.png 82 280 01 21 6 -2 -19
-1 sprites/signals.png 98 280 01 21 6 -2 -19
-1 sprites/signals.png 114 280 01 21 6 -2 -19
-1 sprites/signals.png 130 280 01 21 6 -2 -19
-1 sprites/signals.png 146 280 01 21 6 -2 -19
-1 sprites/signals.png 162 280 01 21 6 -2 -19
-1 sprites/signals.png 178 280 01 21 6 -2 -19
-1 sprites/signals.png 194 280 01 21 6 -2 -19
-1 sprites/signals.png 210 280 01 21 6 -2 -19
-1 sprites/signals.png 226 280 01 21 6 -2 -19
-1 sprites/signals.png 242 280 01 21 10 -7 -19
-1 sprites/signals.png 258 280 01 23 10 -8 -21
-1 sprites/signals.png 274 280 01 23 10 -7 -21
-1 sprites/signals.png 290 280 01 26 7 -5 -24
-1 sprites/signals.png 306 280 01 21 10 -7 -19
-1 sprites/signals.png 322 280 01 23 10 -6 -21
-1 sprites/signals.png 338 280 01 23 10 1 -21
-1 sprites/signals.png 354 280 01 26 7 2 -24
-1 sprites/signals.png 370 280 01 23 3 0 -21
-1 sprites/signals.png 386 280 01 26 3 0 -24
-1 sprites/signals.png 402 280 01 21 3 0 -19
-1 sprites/signals.png 418 280 01 24 3 0 -22
-1 sprites/signals.png 434 280 01 21 12 0 -19
-1 sprites/signals.png 466 280 01 24 9 0 -22
-1 sprites/signals.png 482 280 01 21 12 -9 -19
-1 sprites/signals.png 514 280 01 24 9 -6 -22
-1 sprites/signals.png 530 280 01 21 12 -9 -19
-1 sprites/signals.png 562 280 01 23 11 -9 -21
-1 sprites/signals.png 578 280 01 23 11 -7 -21
-1 sprites/signals.png 594 280 01 26 9 -5 -24
-1 sprites/signals.png 610 280 01 21 12 -7 -19
-1 sprites/signals.png 642 280 01 23 11 -6 -21
-1 sprites/signals.png 658 280 01 23 11 0 -21
-1 sprites/signals.png 674 280 01 26 9 0 -24
-1 sprites/signals.png 690 280 01 23 5 0 -21
-1 sprites/signals.png 706 280 01 26 5 0 -24
-1 sprites/signals.png 722 280 01 21 5 -2 -19
-1 sprites/signals.png 738 280 01 24 5 -2 -22
-1 sprites/signals.png 754 280 01 21 13 -1 -19
-1 sprites/signals.png 786 280 01 24 10 -1 -22
-1 sprites/signals.png 2 328 01 21 13 -9 -19
-1 sprites/signals.png 34 328 01 24 10 -6 -22
-1 sprites/signals.png 50 328 01 21 11 -8 -19
-1 sprites/signals.png 66 328 01 23 10 -8 -21
-1 sprites/signals.png 82 328 01 23 10 -7 -21
-1 sprites/signals.png 98 328 01 26 8 -5 -24
-1 sprites/signals.png 114 328 01 21 11 -7 -19
-1 sprites/signals.png 130 328 01 23 10 -6 -21
-1 sprites/signals.png 146 328 01 23 10 1 -21
-1 sprites/signals.png 162 328 01 26 8 1 -24
-1 sprites/signals.png 178 328 01 23 5 0 -21
-1 sprites/signals.png 194 328 01 26 5 0 -24
-1 sprites/signals.png 210 328 01 21 5 -2 -19
-1 sprites/signals.png 226 328 01 24 5 -2 -22
-1 sprites/signals.png 242 328 01 21 12 0 -19
-1 sprites/signals.png 274 328 01 24 9 0 -22
-1 sprites/signals.png 290 328 01 21 12 -9 -19
-1 sprites/signals.png 322 328 01 24 9 -6 -22
-1 sprites/signals.png 338 328 01 21 11 -8 -19
-1 sprites/signals.png 354 328 01 23 10 -8 -21
-1 sprites/signals.png 370 328 01 23 10 -7 -21
-1 sprites/signals.png 386 328 01 26 8 -5 -24
-1 sprites/signals.png 402 328 01 21 11 -7 -19
-1 sprites/signals.png 418 328 01 23 10 -6 -21
-1 sprites/signals.png 434 328 01 23 10 1 -21
-1 sprites/signals.png 450 328 01 26 8 1 -24
-1 sprites/signals.png 466 328 01 23 5 0 -21
-1 sprites/signals.png 482 328 01 26 5 0 -24
-1 sprites/signals.png 498 328 01 21 5 -2 -19
-1 sprites/signals.png 514 328 01 24 5 -2 -22
-1 sprites/signals.png 530 328 01 21 12 0 -19
-1 sprites/signals.png 562 328 01 24 9 0 -22
-1 sprites/signals.png 578 328 01 21 12 -9 -19
-1 sprites/signals.png 610 328 01 24 9 -6 -22
-1 sprites/signals.png 626 328 01 19 6 -2 -17
-1 sprites/signals.png 642 328 01 19 6 -2 -17
-1 sprites/signals.png 658 328 01 19 6 -2 -17
-1 sprites/signals.png 674 328 01 19 6 -2 -17
-1 sprites/signals.png 690 328 01 19 6 -2 -17
-1 sprites/signals.png 706 328 01 19 6 -2 -17
-1 sprites/signals.png 722 328 01 19 6 -2 -17
-1 sprites/signals.png 738 328 01 19 6 -2 -17
-1 sprites/signals.png 754 328 01 19 6 -2 -17
-1 sprites/signals.png 770 328 01 19 6 -2 -17
-1 sprites/signals.png 786 328 01 19 6 -2 -17
-1 sprites/signals.png 2 376 01 19 6 -2 -17
-1 sprites/signals.png 18 376 01 19 6 -2 -17
-1 sprites/signals.png 34 376 01 19 6 -2 -17
-1 sprites/signals.png 50 376 01 19 6 -2 -17
-1 sprites/signals.png 66 376 01 19 6 -2 -17
-1 sprites/signals.png 82 376 01 19 6 -2 -17
-1 sprites/signals.png 98 376 01 19 6 -2 -17
-1 sprites/signals.png 114 376 01 19 6 -2 -17
-1 sprites/signals.png 130 376 01 19 6 -2 -17
-1 sprites/signals.png 146 376 01 19 6 -2 -17
-1 sprites/signals.png 162 376 01 19 6 -2 -17
-1 sprites/signals.png 178 376 01 19 6 -2 -17
-1 sprites/signals.png 194 376 01 19 6 -2 -17
-1 sprites/signals.png 210 376 01 19 6 -2 -17
-1 sprites/signals.png 226 376 01 19 6 -2 -17
-1 sprites/signals.png 242 376 01 19 6 -2 -17
-1 sprites/signals.png 258 376 01 19 6 -2 -17
-1 sprites/signals.png 274 376 01 19 6 -2 -17
-1 sprites/signals.png 290 376 01 19 6 -2 -17
-1 sprites/signals.png 306 376 01 19 6 -2 -17
-1 sprites/signals.png 322 376 01 19 6 -2 -17
-1 sprites/signals.png 338 376 01 21 6 -2 -19
-1 sprites/signals.png 354 376 01 21 6 -2 -19
-1 sprites/signals.png 370 376 01 21 6 -2 -19
-1 sprites/signals.png 386 376 01 21 6 -2 -19
-1 sprites/signals.png 402 376 01 21 6 -2 -19
-1 sprites/signals.png 418 376 01 21 6 -2 -19
-1 sprites/signals.png 434 376 01 21 6 -2 -19
-1 sprites/signals.png 450 376 01 21 6 -2 -19
-1 sprites/signals.png 466 376 01 21 6 -2 -19
-1 sprites/signals.png 482 376 01 21 6 -2 -19
-1 sprites/signals.png 498 376 01 21 6 -2 -19
-1 sprites/signals.png 514 376 01 21 6 -2 -19
-1 sprites/signals.png 530 376 01 21 6 -2 -19
-1 sprites/signals.png 546 376 01 21 6 -2 -19
-1 sprites/signals.png 562 376 01 21 6 -2 -19
-1 sprites/signals.png 578 376 01 21 6 -2 -19
-1 sprites/signals.png 594 376 01 21 6 -2 -19
-1 sprites/signals.png 610 376 01 21 6 -2 -19
-1 sprites/signals.png 626 376 01 21 6 -2 -19
-1 sprites/signals.png 642 376 01 21 6 -2 -19
-1 sprites/signals.png 658 376 01 21 6 -2 -19
-1 sprites/signals.png 674 376 01 21 6 -2 -19
-1 sprites/signals.png 690 376 01 21 6 -2 -19
-1 sprites/signals.png 706 376 01 21 6 -2 -19
-1 sprites/signals.png 722 376 01 21 6 -2 -19
-1 sprites/signals.png 738 376 01 21 6 -2 -19
-1 sprites/signals.png 754 376 01 21 6 -2 -19
-1 sprites/signals.png 770 376 01 21 6 -2 -19
-1 sprites/signals.png 786 376 01 21 6 -2 -19
-1 sprites/signals.png 2 408 01 21 6 -2 -19
-1 sprites/signals.png 18 408 01 21 6 -2 -19
-1 sprites/signals.png 34 408 01 21 6 -2 -19
-1 sprites/signals.png 50 408 01 21 10 -7 -19
-1 sprites/signals.png 66 408 01 23 10 -8 -21
-1 sprites/signals.png 82 408 01 23 10 -7 -21
-1 sprites/signals.png 98 408 01 26 7 -5 -24
-1 sprites/signals.png 114 408 01 21 10 -7 -19
-1 sprites/signals.png 130 408 01 23 10 -6 -21
-1 sprites/signals.png 146 408 01 23 10 1 -21
-1 sprites/signals.png 162 408 01 26 7 2 -24
-1 sprites/signals.png 178 408 01 23 3 0 -21
-1 sprites/signals.png 194 408 01 26 3 0 -24
-1 sprites/signals.png 210 408 01 21 3 0 -19
-1 sprites/signals.png 226 408 01 24 3 0 -22
-1 sprites/signals.png 242 408 01 21 12 0 -19
-1 sprites/signals.png 274 408 01 24 9 0 -22
-1 sprites/signals.png 290 408 01 21 12 -9 -19
-1 sprites/signals.png 322 408 01 24 9 -6 -22
-1 sprites/signals.png 338 408 01 21 12 -9 -19
-1 sprites/signals.png 370 408 01 23 11 -9 -21
-1 sprites/signals.png 386 408 01 23 11 -7 -21
-1 sprites/signals.png 402 408 01 26 9 -5 -24
-1 sprites/signals.png 418 408 01 21 12 -7 -19
-1 sprites/signals.png 450 408 01 23 11 -6 -21
-1 sprites/signals.png 466 408 01 23 11 0 -21
-1 sprites/signals.png 482 408 01 26 9 0 -24
-1 sprites/signals.png 498 408 01 23 5 -1 -21
-1 sprites/signals.png 514 408 01 26 5 -1 -24
-1 sprites/signals.png 530 408 01 21 5 -1 -19
-1 sprites/signals.png 546 408 01 24 5 -1 -22
-1 sprites/signals.png 562 408 01 21 13 -1 -19
-1 sprites/signals.png 594 408 01 24 10 -1 -22
-1 sprites/signals.png 610 408 01 21 13 -9 -19
-1 sprites/signals.png 642 408 01 24 10 -6 -22
-1 sprites/signals.png 658 408 01 21 11 -8 -19
-1 sprites/signals.png 674 408 01 23 10 -8 -21
-1 sprites/signals.png 690 408 01 23 10 -7 -21
-1 sprites/signals.png 706 408 01 26 8 -5 -24
-1 sprites/signals.png 722 408 01 21 11 -7 -19
-1 sprites/signals.png 738 408 01 23 10 -6 -21
-1 sprites/signals.png 754 408 01 23 10 1 -21
-1 sprites/signals.png 770 408 01 26 8 1 -24
-1 sprites/signals.png 786 408 01 23 5 0 -21
-1 sprites/signals.png 2 456 01 26 5 0 -24
-1 sprites/signals.png 18 456 01 21 5 -2 -19
-1 sprites/signals.png 34 456 01 24 5 -2 -22
-1 sprites/signals.png 50 456 01 21 12 0 -19
-1 sprites/signals.png 82 456 01 24 9 0 -22
-1 sprites/signals.png 98 456 01 21 12 -9 -19
-1 sprites/signals.png 130 456 01 24 9 -6 -22
-1 sprites/signals.png 146 456 01 21 11 -8 -19
-1 sprites/signals.png 162 456 01 23 10 -8 -21
-1 sprites/signals.png 178 456 01 23 10 -7 -21
-1 sprites/signals.png 194 456 01 26 8 -5 -24
-1 sprites/signals.png 210 456 01 21 11 -7 -19
-1 sprites/signals.png 226 456 01 23 10 -6 -21
-1 sprites/signals.png 242 456 01 23 10 1 -21
-1 sprites/signals.png 258 456 01 26 8 1 -24
-1 sprites/signals.png 274 456 01 23 5 0 -21
-1 sprites/signals.png 290 456 01 26 5 0 -24
-1 sprites/signals.png 306 456 01 21 5 -2 -19
-1 sprites/signals.png 322 456 01 24 5 -2 -22
-1 sprites/signals.png 338 456 01 21 12 0 -19
-1 sprites/signals.png 370 456 01 24 9 0 -22
-1 sprites/signals.png 386 456 01 21 12 -9 -19
-1 sprites/signals.png 418 456 01 24 9 -6 -22

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -1,22 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Sloped tracks"
-1 * 3 05 0F 0C
-1 sprites/sloped_tracks.png 50 8 09 29 42 -19 -3
-1 sprites/sloped_tracks.png 98 8 09 13 41 -20 5
-1 sprites/sloped_tracks.png 146 8 09 14 42 -19 5
-1 sprites/sloped_tracks.png 194 8 09 29 42 -21 -3
-1 sprites/sloped_tracks.png 242 8 09 25 33 -15 -1
-1 sprites/sloped_tracks.png 290 8 09 10 33 -15 7
-1 sprites/sloped_tracks.png 338 8 09 10 34 -15 7
-1 sprites/sloped_tracks.png 386 8 09 25 34 -15 -1
-1 sprites/sloped_tracks.png 434 8 09 23 31 -13 -1
-1 sprites/sloped_tracks.png 482 8 09 10 32 -15 7
-1 sprites/sloped_tracks.png 530 8 09 10 31 -15 7
-1 sprites/sloped_tracks.png 578 8 09 23 31 -16 -1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,123 +0,0 @@
//
// $Id$
//
// This file is part of OpenTTD.
// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
//
-1 * 0 0C "Tram track graphics by PikkaBird"
-1 * 3 05 0B 71
-1 sprites/tramtracks.png 18 8 09 13 20 0 4
-1 sprites/tramtracks.png 50 8 09 13 20 0 4
-1 sprites/tramtracks.png 82 8 03 36 64 -18 -8
-1 sprites/tramtracks.png 162 8 03 36 62 -16 -8
-1 sprites/tramtracks.png 242 8 09 31 64 -31 0
-1 sprites/tramtracks.png 322 8 09 31 64 -31 0
-1 sprites/tramtracks.png 402 8 09 31 64 -31 0
-1 sprites/tramtracks.png 482 8 09 31 64 -31 0
-1 sprites/tramtracks.png 562 8 09 31 64 -31 0
-1 sprites/tramtracks.png 642 8 09 31 64 -31 0
-1 sprites/tramtracks.png 722 8 09 31 64 -31 0
-1 sprites/tramtracks.png 2 56 09 31 64 -31 0
-1 sprites/tramtracks.png 82 56 09 31 64 -31 0
-1 sprites/tramtracks.png 162 56 09 31 64 -31 0
-1 sprites/tramtracks.png 242 56 09 31 64 -31 0
-1 sprites/tramtracks.png 322 56 09 39 64 -31 -8
-1 sprites/tramtracks.png 402 56 09 23 64 -31 0
-1 sprites/tramtracks.png 482 56 09 23 64 -31 0
-1 sprites/tramtracks.png 562 56 09 39 64 -31 -8
-1 sprites/tramtracks.png 642 56 09 31 64 -31 0
-1 sprites/tramtracks.png 722 56 09 31 64 -31 0
-1 sprites/tramtracks.png 2 120 09 31 64 -31 0
-1 sprites/tramtracks.png 82 120 09 31 64 -31 0
-1 sprites/tramtracks.png 162 120 09 31 64 -31 0
-1 sprites/tramtracks.png 242 120 09 31 64 -31 0
-1 sprites/tramtracks.png 322 120 09 31 64 -31 0
-1 sprites/tramtracks.png 402 120 09 31 64 -31 0
-1 sprites/tramtracks.png 482 120 09 31 64 -31 0
-1 sprites/tramtracks.png 562 120 09 31 64 -31 0
-1 sprites/tramtracks.png 642 120 09 31 64 -31 0
-1 sprites/tramtracks.png 722 120 09 31 64 -31 0
-1 sprites/tramtracks.png 2 168 09 31 64 -31 0
-1 sprites/tramtracks.png 82 168 09 31 64 -31 0
-1 sprites/tramtracks.png 162 168 09 31 64 -31 0
-1 sprites/tramtracks.png 242 168 09 31 64 -31 0
-1 sprites/tramtracks.png 322 168 09 31 64 -31 0
-1 sprites/tramtracks.png 402 168 09 31 64 -31 0
-1 sprites/tramtracks.png 482 168 09 31 64 -31 0
-1 sprites/tramtracks.png 562 168 09 39 64 -31 -8
-1 sprites/tramtracks.png 642 168 09 23 64 -31 0
-1 sprites/tramtracks.png 722 168 09 23 64 -31 0
-1 sprites/tramtracks.png 2 232 09 39 64 -31 -8
-1 sprites/tramtracks.png 82 232 09 31 64 -31 0
-1 sprites/tramtracks.png 162 232 09 31 64 -31 0
-1 sprites/tramtracks.png 242 232 09 31 64 -31 0
-1 sprites/tramtracks.png 322 232 09 31 64 -31 0
-1 sprites/tramtracks.png 402 232 09 31 64 -31 0
-1 sprites/tramtracks.png 482 232 09 31 64 -31 0
-1 sprites/tramtracks.png 562 232 09 20 20 0 0
-1 sprites/tramtracks.png 594 232 09 31 64 -31 0
-1 sprites/tramtracks.png 674 232 09 64 62 2 -49
-1 sprites/tramtracks.png 2 312 09 31 64 -31 0
-1 sprites/tramtracks.png 82 312 09 64 62 -62 -49
-1 sprites/tramtracks.png 162 312 09 64 62 -62 -49
-1 sprites/tramtracks.png 242 312 09 64 62 2 -49
-1 sprites/tramtracks.png 322 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 402 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 482 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 562 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 642 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 722 312 09 48 64 -31 -17
-1 sprites/tramtracks.png 2 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 82 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 162 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 242 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 322 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 402 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 482 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 562 392 09 56 64 -31 -25
-1 sprites/tramtracks.png 642 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 722 392 09 48 64 -31 -17
-1 sprites/tramtracks.png 2 472 09 56 64 -31 -25
-1 sprites/tramtracks.png 82 472 09 56 64 -31 -25
-1 sprites/tramtracks.png 162 472 09 48 64 -31 -17
-1 sprites/tramtracks.png 242 472 09 48 64 -31 -17
-1 sprites/tramtracks.png 322 472 09 56 64 -31 -25
-1 sprites/tramtracks.png 402 472 09 31 64 -31 0
-1 sprites/tramtracks.png 482 472 09 31 64 -31 0
-1 sprites/tramtracks.png 562 472 09 31 64 -31 0
-1 sprites/tramtracks.png 642 472 09 31 64 -31 0
-1 sprites/tramtracks.png 722 472 09 48 64 -31 -17
-1 sprites/tramtracks.png 2 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 82 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 162 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 242 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 322 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 402 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 482 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 562 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 642 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 722 552 09 48 64 -31 -17
-1 sprites/tramtracks.png 2 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 82 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 162 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 242 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 322 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 402 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 482 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 562 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 642 616 09 56 64 -31 -25
-1 sprites/tramtracks.png 722 616 09 48 64 -31 -17
-1 sprites/tramtracks.png 2 696 09 56 64 -31 -25
-1 sprites/tramtracks.png 82 696 09 48 64 -31 -17
-1 sprites/tramtracks.png 162 696 09 56 64 -31 -25
-1 sprites/tramtracks.png 242 696 09 48 64 -31 -17
-1 sprites/tramtracks.png 322 696 09 56 64 -31 -25
-1 sprites/tramtracks.png 402 696 09 48 64 -31 -17
-1 sprites/tramtracks.png 482 696 09 31 64 -31 0
-1 sprites/tramtracks.png 562 696 09 31 64 -31 0
-1 sprites/tramtracks.png 642 696 09 39 64 -31 -8
-1 sprites/tramtracks.png 722 696 09 23 64 -31 0
-1 sprites/tramtracks.png 2 776 09 23 64 -31 0
-1 sprites/tramtracks.png 82 776 09 39 64 -31 -8

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 894 B

After

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

@@ -1,11 +1,12 @@
# $Id$
# http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html
# http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html
[Desktop Entry]
Encoding=UTF-8
Type=Application
Version=1.0
Version=1.1
Name=!!MENU_NAME!!
Icon=!!TTD!!
Comment=A clone of Transport Tycoon Deluxe
Icon=openttd
Exec=!!TTD!!
Terminal=false
Categories=!!MENU_GROUP!!
Comment=A clone of Transport Tycoon Deluxe

View File

@@ -1,15 +0,0 @@
# $Id$
# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
#
# Awk script to automatically generate a single comment line
# for a translated desktop shortcut. If it does not exist there
# is no output.
#
/##isocode/ { lang = $2; next }
/STR_DESKTOP_SHORTCUT_COMMENT/ { sub("^[^:]*:", "", $0); print "Comment[" lang "]=" $0; next}

Some files were not shown because too many files have changed in this diff Show More