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

Compare commits

..

1291 Commits

Author SHA1 Message Date
frosch
d510424d03 (svn r26600) -Release 1.4.1-RC2 2014-05-18 18:31:57 +00:00
frosch
491b3e3efc (svn r26599) [1.4] -Update documentation 2014-05-18 18:30:18 +00:00
rubidium
2759e32451 (svn r26597) [1.4] -Backport from trunk: language updates 2014-05-18 15:21:31 +00:00
frosch
d3c41a9d0e (svn r26596) [1.4] -Backport from trunk:
- Fix: Save/load issues on big endian machines (r26593, r26590, r26589)
- Fix: Consider multiheaded trains in station refits [FS#5995] (r26586)
- Fix: Game script could be changed in game by double clicking [FS#5974] (r26583)
2014-05-18 11:26:09 +00:00
frosch
3cd96a459b (svn r26595) [1.4] -Backport from trunk:
- Fix: Transfer stations also should have a cargo rating [FS#5989] (r26581, r26580)
- Fix: [Network] AIs would not reset certain network state information upon creation of their company [FS#6003] (r26578, r26576)
- Fix: [Network] Client of non-dedicated server was not correctly put into the first company for all state variables [FS#6001] (r26577)
2014-05-18 11:21:59 +00:00
frosch
1d18ef48a4 (svn r26561) [1.4] -Update documentation 2014-05-04 18:24:43 +00:00
rubidium
a6e95ace5c (svn r26559) [1.4] -Backport from trunk: language updates 2014-05-04 16:17:25 +00:00
frosch
c57b316570 (svn r26544) [1.4] -Backport from trunk:
- Fix: [Windows] Crash when the operating system performs the "paint" callback during window creation [FS#5994] (r26539, r26538)
- Fix: OpenBSD compilation [FS#5992] (r26523)
- Fix: prevent from ever reading huge (or negative) amounts of data in strgen (r26521)
- Fix: Severity rating of dedicated server messages during world generation (r26518)
2014-04-29 18:41:19 +00:00
frosch
b720a16a1c (svn r26543) [1.4] -Backport from trunk:
- Fix: Buffer overruns in handling of symbolic links inside tars (r26514)
- Fix: Incorrect usage of strecpy (r26505, r26485)
- Fix: Reading console input on dedicated server relied on unspecified behaviour (r26496)
2014-04-29 18:35:01 +00:00
frosch
7a0b2bff18 (svn r26542) [1.4] -Backport from trunk:
- Change: Remove demand calculation based on tiles (r26484)
- Fix: Allow single-vehicle consists to station-refit in a meaningful way (r26483)
2014-04-29 18:21:49 +00:00
frosch
34bff06d8a (svn r26541) [1.4] -Backport from trunk:
- Fix: Prevent comparing to NULL when strndup could not allocate memory (r26476)
- Fix: Potentially undefined shifts in NewGRF code (r26475)
- Fix: Make sure there is no uninitialised sprite data (r26473)
- Fix: Draw text shadow for ellipses (r26467)
- Fix: Add special handling for PALETTE_CRASH to work for non-8bpp-mapped sprites (r26463)
2014-04-29 18:18:52 +00:00
rubidium
be4eae9456 (svn r26532) [1.4] -Backport: language updates 2014-04-27 20:01:21 +00:00
frosch
f8b956bc2c (svn r26461) [1.4] -Backport from trunk:
- Fix: Avoid division by 0 when scaling flow values [FS#5970] (r26448)
- Feature: Draw links to match _settings_game.vehicle.road_side [FS#5961] (r26445)
- Change: Use pkg-config for libpng as well (r26435, r26433, r26432)
- Feature: Load button for heightmap list [FS#5953] (r26428)
2014-04-13 10:52:19 +00:00
frosch
42c7cb38fa (svn r26460) [1.4] -Backport from trunk:
- Fix: Do not crash when supplying an invalid filename without extension to cmd parameter -q (r26423)
- Fix: Some road constructions used the rail sound effect [FS#5946] (r26422)
- Fix: Goal GUI failed to shade [FS#5948] (r26420)
- Fix: Shares button state was not appropriately updated when switching setting or company [FS#5947] (r26416)
- Change: Use better distance metric for link graph [FS#5941] (r26411)
2014-04-13 10:47:39 +00:00
frosch
9d2f06c42c (svn r26439) [1.4] -Update documentation 2014-04-01 18:29:34 +00:00
frosch
0c2be35fa1 (svn r26414) [1.4] -Update: documentation 2014-03-18 19:51:54 +00:00
planetmaker
80a3b5e78f (svn r26412) [1.4] -Change: We have a new titlegame (Fleashosio) 2014-03-18 18:13:33 +00:00
frosch
8ca5334562 (svn r26405) [1.4] -Branch: Less excuses to not do stuff in trunk. 2014-03-17 19:53:30 +00:00
translators
d470955e40 (svn r26404) -Update from WebTranslator v3.0:
persian - 91 changes by rkarimabadi
2014-03-17 18:45:11 +00:00
translators
c18ccfe0de (svn r26403) -Update from WebTranslator v3.0:
belarusian - 91 changes by Wowanxm
swedish - 1 changes by spacejens
2014-03-16 18:45:15 +00:00
translators
2e7230dc2b (svn r26402) -Update from WebTranslator v3.0:
croatian - 1 changes by VoyagerOne
welsh - 8 changes by kazzie
2014-03-15 18:45:16 +00:00
translators
a7f5ff3f73 (svn r26401) -Update from WebTranslator v3.0:
catalan - 4 changes by juanjo
2014-03-14 18:45:08 +00:00
translators
7ff5066904 (svn r26400) -Update from WebTranslator v3.0:
simplified_chinese - 5 changes by siu238X
traditional_chinese - 6 changes by siu238X
polish - 30 changes by McZapkie
2014-03-13 18:45:28 +00:00
translators
2febdda8df (svn r26399) -Update from WebTranslator v3.0:
finnish - 1 changes by jpx_
ukrainian - 8 changes by Madvin
2014-03-12 18:45:14 +00:00
zuu
e73cd7e81d (svn r26398) -Codechange/fix (26396): A tab that should be a space 2014-03-11 22:08:58 +00:00
translators
e031a86d69 (svn r26397) -Update from WebTranslator v3.0:
korean - 1 changes by telk5093
2014-03-11 18:45:09 +00:00
zuu
ae23f519f7 (svn r26396) -Add: [script] AI/GS APIs to get cargo waiting from/via other station 2014-03-10 22:18:53 +00:00
translators
51501be48f (svn r26395) -Update from WebTranslator v3.0:
english_US - 9 changes by Supercheese
hebrew - 3 changes by oofnik
italian - 1 changes by lorenzodv
2014-03-09 18:45:19 +00:00
alberth
d0356725f6 (svn r26394) -Fix[FS#5939]: Don't explain "symmetric" cargodist mode when the setting does not allow it. 2014-03-08 19:38:50 +00:00
fonsinchen
5d3fcce725 (svn r26393) -Fix: Update distances between link graph nodes when station sign is moved 2014-03-06 21:19:41 +00:00
alberth
aee9444c1b (svn r26392) -Fix[FS#5933] No need to call OnFocus twice (MJP) 2014-03-05 21:21:55 +00:00
translators
7a126a20ea (svn r26391) -Update from WebTranslator v3.0:
czech - 1 changes by djst
indonesian - 1 changes by abdu354
2014-03-05 18:45:14 +00:00
translators
72f6c1b4bf (svn r26390) -Update from WebTranslator v3.0:
polish - 39 changes by Kilian
2014-03-04 18:45:10 +00:00
fonsinchen
b816e07742 (svn r26389) -Fix [FS#5885]: Select a specific font size when freetype fails to select one automatically. 2014-03-03 21:34:36 +00:00
frosch
6b61c4608f (svn r26388) -Codechange: Move resolving of Action 3 into ResolverObject constructor. 2014-03-03 20:02:31 +00:00
frosch
b935cb8415 (svn r26387) -Cleanup (r26173): No need to manually clear registers before resolving. 2014-03-03 19:32:53 +00:00
translators
363d5e8205 (svn r26386) -Update from WebTranslator v3.0:
indonesian - 2 changes by abdu354
norwegian_nynorsk - 50 changes by 2rB
gaelic - 12 changes by GunChleoc
2014-03-03 18:45:21 +00:00
translators
2b0863d2b0 (svn r26385) -Update from WebTranslator v3.0:
swedish - 6 changes by Joel_A
2014-03-01 18:45:10 +00:00
fonsinchen
d0aa98ef7d (svn r26384) -Fix [FS#5924]: Return correct values from ICU iterators in case of leading or trailing whitespace 2014-03-01 14:14:41 +00:00
translators
8e8cf213bd (svn r26383) -Update from WebTranslator v3.0:
greek - 38 changes by Evropi
2014-02-28 18:45:11 +00:00
frosch
20970da24a (svn r26382) -Fix [FS#5932] (r25372): All goal commands invalidated the goal list of company 0. 2014-02-27 21:53:14 +00:00
translators
34cd77dcf5 (svn r26381) -Update from WebTranslator v3.0:
bulgarian - 1 changes by Wold
estonian - 8 changes by KSiimson
hebrew - 20 changes by oofnik
norwegian_nynorsk - 15 changes by 2rB
brazilian_portuguese - 1 changes by leandromoh
slovak - 4 changes by Milsa
spanish - 1 changes by Welder05
2014-02-27 18:46:10 +00:00
translators
fc818d1373 (svn r26380) -Update from WebTranslator v3.0:
brazilian_portuguese - 2 changes by leandromoh
2014-02-26 18:45:15 +00:00
translators
33206425c0 (svn r26379) -Update from WebTranslator v3.0:
polish - 92 changes by McZapkie
2014-02-25 18:45:08 +00:00
frosch
2b3d87d7e6 (svn r26378) -Doc [FS#5930]: Typos. (LordAro) 2014-02-25 18:25:04 +00:00
rubidium
90892cb66f (svn r26376) -Prepare: 1.4.0-beta5 2014-02-25 09:12:24 +00:00
frosch
a9acaf7a5e (svn r26375) -Fix [FS#5929]: Station sizes > 8 were always allowed. (adf88) 2014-02-24 19:57:18 +00:00
frosch
62b22bfd2b (svn r26374) -Fix [FS#5928]: Mixed up callback mask flags in station inspect window. (adf88) 2014-02-24 19:22:22 +00:00
translators
408b5a70af (svn r26373) -Update from WebTranslator v3.0:
hebrew - 30 changes by oofnik
2014-02-24 18:45:10 +00:00
frosch
440168cfb2 (svn r26372) -Doc [FS#5927]: Typos. 2014-02-24 18:14:53 +00:00
frosch
a32d18cbb9 (svn r26371) -Fix [FS#5831]: Calling DoCommandP during the gameloop cleared pending persistent storage changes. 2014-02-23 22:03:08 +00:00
frosch
c6ce57e8a7 (svn r26370) -Doc: Desync debugging and command replaying. 2014-02-23 19:32:32 +00:00
frosch
e9f7103ad7 (svn r26369) -Fix-ish: Do not run scripts during command replay. 2014-02-23 19:32:00 +00:00
translators
5fa2a6faec (svn r26368) -Update from WebTranslator v3.0:
indonesian - 2 changes by abdu354
2014-02-23 18:45:12 +00:00
michi_cc
e15446bc58 (svn r26367) -Fix: [Win32] Use a separate event to indicate that the drawing thread has finished initialising, preventing potential deadlocks. 2014-02-23 16:08:50 +00:00
fonsinchen
d8eda06a5a (svn r26366) -Fix: Protect the windows video driver from concurrent access (frosch123) 2014-02-23 14:16:36 +00:00
fonsinchen
b4a015a4bd (svn r26365) -Fix [FS#5867]: Don't draw the cursor when its sprite isn't ready and set _screen.dst_ptr immediately when the buffer changes (frosch123) 2014-02-23 14:15:55 +00:00
rubidium
2b10ee1891 (svn r26364) -Fix [FS#5892]: writing out of the bounds of the rail type map 2014-02-22 21:12:28 +00:00
rubidium
98539bd2c3 (svn r26363) -Codechange [FS#5894]: make it clearer that drive through road stops need an Axis in CmdBuildRoadStop and the non drive through stops need a DiagDir 2014-02-22 19:52:13 +00:00
rubidium
90fef59f80 (svn r26362) -Fix [FS#5906]: reset the default window size icon size just like all the other cached icon sizes (based on patch by MJP) 2014-02-22 19:34:57 +00:00
translators
7bdd67e701 (svn r26361) -Update from WebTranslator v3.0:
catalan - 2 changes by arnau
marathi - 7 changes by rbarde
2014-02-22 18:45:11 +00:00
frosch
aaa6d0f9ae (svn r26360) -Revert (r25550) / Fix [FS#5922]: ClientSizeChanged is only called via WndProcGdi which already has the mutex. The issue which r25550 tried to fix still exists as FS#5867. 2014-02-22 14:26:07 +00:00
translators
9b9a21f044 (svn r26359) -Update from WebTranslator v3.0:
indonesian - 1 changes by abdu354
spanish - 1 changes by Welder05
tamil - 13 changes by aswn
2014-02-21 18:45:17 +00:00
translators
cbacd70aa9 (svn r26358) -Update from WebTranslator v3.0:
brazilian_portuguese - 5 changes by leandromoh
2014-02-20 18:45:08 +00:00
frosch
9479963b3b (svn r26357) -Fix [FS#5845]: Some order options do not combine with others. (3298) 2014-02-19 20:56:44 +00:00
frosch
f7ba7f34f2 (svn r26356) -Update: Baseset translations. 2014-02-19 20:42:33 +00:00
translators
1fcb3bd1f1 (svn r26355) -Update from WebTranslator v3.0:
czech - 4 changes by djst
portuguese - 1 changes by babribeiro
2014-02-19 18:45:15 +00:00
translators
ce1719e722 (svn r26354) -Update from WebTranslator v3.0:
frisian - 22 changes by Geoloep
2014-02-18 18:45:08 +00:00
frosch
ac2cd315ef (svn r26353) -Fix (r26349) [FS#5917]: Win32 and OS/2 ThreadMutex::WaitForSignal always asserted. 2014-02-18 17:58:46 +00:00
translators
3e78c4dc7b (svn r26352) -Update from WebTranslator v3.0:
afrikaans - 7 changes by R2dical
marathi - 20 changes by rbarde
turkish - 8 changes by wakeup
2014-02-17 18:45:17 +00:00
frosch
27eede06c9 (svn r26351) -Fix: Protect all VideoDriver_SDL methods with the _draw_mutex. 2014-02-16 21:57:22 +00:00
frosch
fe03ab06e5 (svn r26350) -Fix (r26349): Silly bugs are silly. 2014-02-16 21:47:00 +00:00
frosch
7ac18c0f22 (svn r26349) -Add: Optional recursive locking of mutexes. 2014-02-16 21:37:05 +00:00
translators
b2ca2e2979 (svn r26348) -Update from WebTranslator v3.0:
lithuanian - 3 changes by Stabilitronas
polish - 4 changes by wojteks86
russian - 3 changes by Lone_Wolf
swedish - 5 changes by spacejens
2014-02-16 18:45:28 +00:00
fonsinchen
cc77d40336 (svn r26347) -Fix [FS#5898]: Make sure link graph jobs can delete themselves after SLA_NULL. 2014-02-16 18:42:59 +00:00
frosch
55502341ac (svn r26346) -Fix [FS#5870]: Call Layouter::ReduceLineCache from GenerateTownName in all cases. 2014-02-16 17:45:24 +00:00
frosch
20785c79fc (svn r26345) -Cleanup (r26310): Spawning towns does not touch persistent NewGRF storage. ClearPersistentStorageChanges is a dangerous/magic function which should not be called without reason. 2014-02-16 17:42:28 +00:00
planetmaker
40f61eaf15 (svn r26344) -Change [FS#5907]: Do not flood shores of type MP_TREE needlessly (MJP) 2014-02-16 17:03:58 +00:00
fonsinchen
46590e112e (svn r26343) -Fix: Rewrite SmallStack so that it doesn't use a pool and is reentrant. 2014-02-16 16:25:18 +00:00
fonsinchen
dc0f89b7e9 (svn r26342) -Add: A mutex locker class. 2014-02-16 16:24:41 +00:00
fonsinchen
2945e76269 (svn r26341) -Fix [FS#5902]: Reroute cargo when automatic distribution is switched off. 2014-02-16 11:17:17 +00:00
translators
997b2634c5 (svn r26340) -Update from WebTranslator v3.0:
luxembourgish - 4 changes by Phreeze
polish - 1 changes by wojteks86
serbian - 11 changes by Suleiman
2014-02-15 18:45:33 +00:00
michi_cc
7d56fd5382 (svn r26339) -Revert (r26305): Accidental changes to the VS9.0 solution file disabling the x64 build. 2014-02-15 15:01:32 +00:00
fonsinchen
4055397915 (svn r26338) -Fix [FS#5908]: Don't redraw the link graph overlay if it's empty (MJP) 2014-02-15 12:19:46 +00:00
translators
4a00552a09 (svn r26337) -Update from WebTranslator v3.0:
czech - 3 changes by Eskymak
dutch - 7 changes by habell
frisian - 61 changes by Geoloep
luxembourgish - 72 changes by Phreeze
polish - 1 changes by wojteks86
portuguese - 7 changes by babribeiro
gaelic - 6 changes by GunChleoc
spanish - 3 changes by Welder05
2014-02-14 18:45:43 +00:00
translators
4c11bddb3a (svn r26336) -Update from WebTranslator v3.0:
frisian - 28 changes by Geoloep
marathi - 27 changes by rbarde
slovak - 3 changes by Milsa
2014-02-13 18:45:26 +00:00
translators
bd54155cb6 (svn r26335) -Update from WebTranslator v3.0:
croatian - 7 changes by VoyagerOne
frisian - 54 changes by Geoloep
korean - 1 changes by telk5093
spanish - 1 changes by Welder05
2014-02-12 18:45:21 +00:00
frosch
cb7544ea39 (svn r26334) -Fix: 32bit compilation. 2014-02-11 21:17:43 +00:00
frosch
858e80f3dd (svn r26333) -Fix: Compilation without static_assert. 2014-02-11 20:34:48 +00:00
translators
470bd0ce24 (svn r26332) -Update from WebTranslator v3.0:
simplified_chinese - 3 changes by siu238X
traditional_chinese - 3 changes by siu238X
frisian - 50 changes by Geoloep
korean - 11 changes by telk5093
lithuanian - 2 changes by Stabilitronas
russian - 4 changes by KorneySan, Lone_Wolf
vietnamese - 8 changes by myquartz
2014-02-11 18:45:37 +00:00
fonsinchen
e37656f2e5 (svn r26331) -Fix: some inconsistencies regarding link graph (job) IDs. 2014-02-10 20:13:07 +00:00
fonsinchen
82ece7db12 (svn r26330) -Fix: the theoretical case of rerouting cargo from one VehicleCargoList to another. 2014-02-10 18:55:03 +00:00
translators
4f24e33548 (svn r26329) -Update from WebTranslator v3.0:
catalan - 2 changes by juanjo
danish - 3 changes by Knogle
english_AU - 7 changes by mrtux
frisian - 247 changes by Geoloep
indonesian - 2 changes by UseYourIllusion
italian - 6 changes by lorenzodv
lithuanian - 2 changes by Stabilitronas
marathi - 74 changes by rbarde
norwegian_bokmal - 7 changes by cuthbert
spanish - 1 changes by Terkhen
2014-02-10 18:45:57 +00:00
frosch
03169121c2 (svn r26328) -Fix: Warnings and compilation failures. 2014-02-10 17:13:54 +00:00
fonsinchen
88787412b6 (svn r26327) -Fix [FS#5901]: Take care of next_station when reassigning from MTA_DELIVER to MTA_TRANSFER. 2014-02-09 21:10:25 +00:00
rubidium
a4941e759c (svn r26326) -Fix [FS#5871]: when autosaving the message about a save already happening could be shown, even though the code's intention was to not show it (MJP) 2014-02-09 20:37:36 +00:00
frosch
20737a3462 (svn r26325) -Fix/Cleanup (r26320): Remove non-existent string from translations. 2014-02-09 19:17:21 +00:00
translators
83a202ea46 (svn r26324) -Update from WebTranslator v3.0:
catalan - 17 changes by juanjo
english_US - 1 changes by Supercheese
finnish - 7 changes by jpx_
german - 7 changes by planetmaker
russian - 4 changes by Lone_Wolf
spanish - 7 changes by Terkhen, juanjo
2014-02-09 18:45:42 +00:00
fonsinchen
e4c7c8876b (svn r26323) -Fix: update some constants related to map size. 2014-02-09 15:00:30 +00:00
alberth
77e62f0b98 (svn r26322) -Feature: Warn the user about empty setting search results too. 2014-02-09 13:06:35 +00:00
alberth
202f21f262 (svn r26321) -Feature: Warn the user about missing setting search results due to filtering. 2014-02-09 13:05:46 +00:00
alberth
75504d24bf (svn r26320) -Add: Label for both the filter category and filter type in the advanced settings window. 2014-02-09 13:04:50 +00:00
fonsinchen
4cbab4f744 (svn r26319) -Change: Allow map sizes up to 4096x4096. 2014-02-09 12:56:36 +00:00
translators
2925a9005b (svn r26318) -Update from WebTranslator v3.0:
afrikaans - 1 changes by R2dical
catalan - 34 changes by juanjo
hebrew - 61 changes by oofnik
italian - 1 changes by lorenzodv
korean - 1 changes by telk5093
polish - 1 changes by wojteks86
gaelic - 2 changes by GunChleoc
swedish - 2 changes by spacejens
2014-02-08 18:46:35 +00:00
frosch
41b7a04a68 (svn r26317) -Fix [FS#5897]: Check whether NewGRF change vehicle capacity when they are not supposed to, and truncate cargo appropiately if they are allowed to. 2014-02-07 23:48:56 +00:00
frosch
50c6b2486b (svn r26316) -Feature [FS#5696]: Extend object variable 0x60 to also return the view. 2014-02-07 22:55:33 +00:00
translators
2e598be48f (svn r26315) -Update from WebTranslator v3.0:
danish - 7 changes by phnoggie
frisian - 3 changes by Geoloep
hebrew - 16 changes by oofnik
latvian - 19 changes by Tranzistors
2014-02-07 18:45:22 +00:00
frosch
167f232623 (svn r26314) -Fix [FS#5899]: The giant-screenshot confirmation window only triggered for rediculously big screenshots, for ludicrously big ones. 2014-02-06 22:24:02 +00:00
rubidium
9f6b8aea49 (svn r26313) -Codechange: use a set for finding unique town names instead of iterating all just created town names (MJP) 2014-02-06 21:06:59 +00:00
rubidium
c7629735a3 (svn r26312) -Codechange: iterate the nearby tiles instead of the industry list for a conflicting industry when the number of industries is really large (MJP) 2014-02-06 21:05:00 +00:00
rubidium
d05ff6e77b (svn r26311) -Codechange: use a different method for finding whether there is a nearby town when the map has thousands of towns (MJP) 2014-02-06 21:01:50 +00:00
rubidium
fcb122124b (svn r26310) -Codechange: clean up some caches during town generation to keep memory usage significantly lower (MJP) 2014-02-06 20:55:49 +00:00
rubidium
f99d380583 (svn r26309) -Codechange: instead of memsetting a byte array with zero, use a set for marking the flow area of a river 2014-02-06 20:51:01 +00:00
rubidium
30a95966ec (svn r26308) -Fix-ish: do not try to build more towns/industries than the pool can hold (MJP) 2014-02-06 20:42:09 +00:00
zuu
9603014102 (svn r26307) -Add: [nogo] Allow GS to hide story page date 2014-02-06 19:50:34 +00:00
zuu
1dbd59e6ab (svn r26306) -Add: [nogo] More story APIs: RemovePageElement, GetCompany, GetDate, SetDate 2014-02-06 19:48:19 +00:00
zuu
57a88c9de2 (svn r26305) -Add: [nogo] ScriptStoryPageElementList() - a list of all story page elements for a given page 2014-02-06 19:41:56 +00:00
zuu
14d99c6961 (svn r26304) -Fix (26303): Forgot to add new files 2014-02-06 19:36:19 +00:00
zuu
5165be2698 (svn r26303) -Add: [nogo] ScriptStoryPageList() - a list of all story pages 2014-02-06 19:25:39 +00:00
zuu
ebcc8462b7 (svn r26302) -Doc: [nogo] ScriptStory::Remove does remove both the page and its elements 2014-02-06 19:24:01 +00:00
rubidium
fa7eb6dc8c (svn r26300) -Prepare: 1.4.0-beta4 2014-02-06 19:03:15 +00:00
zuu
425197a19c (svn r26299) -Fix: [nogo] CmdRemoveStoryPage does not use the string parameter 2014-02-06 19:03:04 +00:00
zuu
0c6f22b5c1 (svn r26298) -Fix: [nogo] Invalid DoCommand return callback for method returning bool 2014-02-06 18:50:25 +00:00
translators
cf96168f6f (svn r26297) -Update from WebTranslator v3.0:
frisian - 1 changes by Rubidium
hebrew - 97 changes by oofnik
korean - 10 changes by telk5093
2014-02-06 18:45:18 +00:00
translators
8b003bd133 (svn r26296) -Update from WebTranslator v3.0:
frisian - 53 changes by Geoloep
indonesian - 3 changes by UseYourIllusion
korean - 27 changes by telk5093
marathi - 31 changes by rbarde
2014-02-05 18:45:18 +00:00
translators
58dfc54296 (svn r26295) -Update from WebTranslator v3.0:
danish - 1 changes by phnoggie
frisian - 147 changes by Geoloep
korean - 130 changes by Phryxia, telk5093
luxembourgish - 1 changes by Phreeze
2014-02-04 18:45:31 +00:00
frosch
9e5fc88499 (svn r26294) -Change: [NewGRF] Make vehicle variable 61 return 'not available' instead of zero when using it in invalid callback contexts. 2014-02-03 21:10:04 +00:00
translators
9ff5aa4b7b (svn r26293) -Update from WebTranslator v3.0:
english_AU - 1 changes by mrtux
frisian - 94 changes by Geoloep
korean - 66 changes by Phryxia
latvian - 19 changes by okama2
marathi - 42 changes by rbarde
2014-02-03 18:45:55 +00:00
translators
c633ee15d2 (svn r26292) -Update from WebTranslator v3.0:
czech - 6 changes by Eskymak
estonian - 1 changes by planetmaker
frisian - 152 changes by Geoloep
2014-02-02 18:45:33 +00:00
fonsinchen
9dc69d7f4d (svn r26291) -Fix [FS#5866, FS#5888]: Correctly identify opposite ends of bridges and tunnels when converting rails (adf88) 2014-02-02 14:54:13 +00:00
fonsinchen
dda4ffab5e (svn r26290) -Codechange: Use nicer orthogonal tile iterator constructor and simplify calculation of explosion points when clearing. 2014-02-02 14:53:52 +00:00
fonsinchen
547e521381 (svn r26289) -Codechange: Make tile areas and iterators more consistent to each other. 2014-02-02 14:53:26 +00:00
translators
1fc589bd2d (svn r26288) -Update from WebTranslator v3.0:
polish - 1 changes by wojteks86
2014-02-01 18:45:14 +00:00
translators
4fd67347bd (svn r26287) -Update from WebTranslator v3.0:
lithuanian - 1 changes by Stabilitronas
2014-01-30 18:45:10 +00:00
fonsinchen
91407b924e (svn r26286) -Fix: Thoroughly erase dead flows. 2014-01-29 19:55:29 +00:00
translators
e4a4f2c1dd (svn r26285) -Update from WebTranslator v3.0:
latvian - 3 changes by Tranzistors
2014-01-29 18:45:09 +00:00
frosch
9041473814 (svn r26284) -Fix: Comparison of NULL and char 0. (lbalbalba) 2014-01-28 20:03:12 +00:00
fonsinchen
b12bf124c7 (svn r26283) -Fix [FS#5878]: Prevent infinite recursion also in RefreshLinks. 2014-01-28 19:49:43 +00:00
translators
84b8d376b6 (svn r26282) -Update from WebTranslator v3.0:
belarusian - 1 changes by KorneySan
catalan - 1 changes by juanjo
finnish - 2 changes by jpx_
russian - 1 changes by KorneySan
2014-01-28 18:45:25 +00:00
translators
61380f51bb (svn r26281) -Update from WebTranslator v3.0:
croatian - 1 changes by VoyagerOne
danish - 1 changes by Knogle
dutch - 1 changes by habell
german - 2 changes by planetmaker
italian - 1 changes by lorenzodv
korean - 1 changes by telk5093
norwegian_bokmal - 1 changes by cuthbert
slovak - 1 changes by Milsa
spanish - 1 changes by Terkhen
2014-01-27 18:45:52 +00:00
translators
87d373e673 (svn r26280) -Update from WebTranslator v3.0:
english_US - 1 changes by Rubidium
french - 1 changes by glx
korean - 8 changes by telk5093
slovenian - 5 changes by ntadej
welsh - 1 changes by kazzie
2014-01-26 18:45:54 +00:00
frosch
5d4c4b9172 (svn r26279) -Fix [FS#5853]: [NoAI] Some RemoveRail methods required to set a valid railtype, though it was not used anyway. Remove the need to set one. 2014-01-26 14:54:34 +00:00
frosch
cce3d4fec8 (svn r26278) -Doc [FS#5817]: Transparency issues with original houses and industries. 2014-01-26 14:46:41 +00:00
frosch
f0e7f9982a (svn r26277) -Add [FS#5849]: Display speed limit also for road bridges in the TileInfo window. 2014-01-26 13:50:10 +00:00
fonsinchen
95354136be (svn r26276) -Fix [FS#5874]: Don't spawn link graph jobs for link graphs with only one node 2014-01-24 21:39:07 +00:00
frosch
932dad7c8b (svn r26275) -Fix: If NewGRF provided the same station name for different industry types, stations would end up with same name. So also consider the provided name, not only the industry type. 2014-01-23 20:23:14 +00:00
translators
278b380d10 (svn r26274) -Update from WebTranslator v3.0:
danish - 6 changes by Elyon
norwegian_nynorsk - 2 changes by skjaeve
2014-01-22 18:45:12 +00:00
rubidium
aee9abeab2 (svn r26272) -Prepare: 1.4.0-beta3 2014-01-21 19:59:13 +00:00
translators
c884665cb9 (svn r26271) -Update from WebTranslator v3.0:
norwegian_nynorsk - 8 changes by 2rB
2014-01-21 18:45:07 +00:00
frosch
f36d084db5 (svn r26270) -Fix-ish: If ScriptTown::FoundTown fails to generate a new random town name, don't bother sending a command, but fail immediately. 2014-01-20 22:34:22 +00:00
translators
efe6adba6a (svn r26269) -Update from WebTranslator v3.0:
danish - 10 changes by manframe
norwegian_nynorsk - 24 changes by 2rB
2014-01-20 18:45:11 +00:00
translators
5a41423e03 (svn r26268) -Update from WebTranslator v3.0:
danish - 50 changes by Elyon
persian - 1 changes by rey
2014-01-19 18:45:16 +00:00
fonsinchen
7e91f96b92 (svn r26267) -Fix [FS#5865]: Really fix the infinite recursion problem and always consider all branches of conditional orders as possible next stopping stations. 2014-01-19 09:27:44 +00:00
fonsinchen
b158c7d0fa (svn r26266) -Fix [FS#5860]: Update smallmap overlay if player joins different company and make sure company masks are valid 2014-01-19 09:26:56 +00:00
fonsinchen
be62387e44 (svn r26265) -Fix: Don't rebuild the link graph overlay cache twice in a row 2014-01-19 09:26:17 +00:00
translators
f373f8a9c2 (svn r26264) -Update from WebTranslator v3.0:
danish - 75 changes by Elyon
2014-01-18 18:45:12 +00:00
fonsinchen
a5152be795 (svn r26263) -Fix [FS#5865]: Don't run into infinite recursion when getting next stopping station 2014-01-16 20:50:43 +00:00
frosch
e3947c8019 (svn r26262) -Fix (r25075, r25076): Custom currency was reset on game start. 2014-01-15 21:52:22 +00:00
translators
1213e6ba71 (svn r26261) -Update from WebTranslator v3.0:
swedish - 5 changes by spacejens
2014-01-13 18:45:13 +00:00
rubidium
ef9108bd58 (svn r26260) -Codechange: add template parameters for (non) translucent and (non) animated sprites, so the least expensive variant can be chosen (MJP) 2014-01-13 18:20:23 +00:00
rubidium
eb2c2ef877 (svn r26259) -Codechange: add and maintain some general flags about sprites to prevent unneeded execution of expensive code (MJP) 2014-01-13 18:17:17 +00:00
rubidium
fdf55a1a48 (svn r26258) -Codechange: deduplicate Draw methods (MJP) 2014-01-13 18:12:33 +00:00
rubidium
f5f4f8a4b3 (svn r26257) -Codechange: replace most of the SSE macros by functions 2014-01-13 18:09:21 +00:00
rubidium
3a44e22b1a (svn r26256) -Codechange: do not load some data when it is not (often) used later on (MJP) 2014-01-13 18:06:53 +00:00
rubidium
70901e04c5 (svn r26255) -Codechange: improve performance of brightness adjustment (MJP) 2014-01-13 18:05:47 +00:00
rubidium
2f7c4f6d12 (svn r26254) -Codechange: MOVD is better in some cases than PINSRD (MJP) 2014-01-13 18:04:28 +00:00
rubidium
5b3b533697 (svn r26253) -Codechange: remove margin limitation to preserve block type (MJP) 2014-01-13 18:03:35 +00:00
rubidium
7f6e837b3a (svn r26252) -Codechange: deduplicate code for margin case (MJP) 2014-01-13 18:02:20 +00:00
rubidium
9a90bed79b (svn r26251) -Codechange: prepare Draw code for code deduplication (MJP) 2014-01-13 18:00:18 +00:00
rubidium
6e34672c6c (svn r26250) -Codechange: deduplicate darkening (e.g. shadow) code (MJP) 2014-01-13 17:58:58 +00:00
rubidium
76661f2c56 (svn r26249) -Codechange: simplify/cleanup ALPHA_BLEND macro (MJP) 2014-01-13 17:57:30 +00:00
rubidium
31c6e33878 (svn r26248) -Fix (r26223): missed compiler warning (MJP) 2014-01-13 17:55:34 +00:00
rubidium
a942619911 (svn r26247) -Fix [FS#5854, FS#5855]: Possible out of bounds reads with the sse blitters (MJP) 2014-01-13 17:54:24 +00:00
translators
54a898be33 (svn r26246) -Update from WebTranslator v3.0:
danish - 4 changes by Hatsen
2014-01-12 18:45:11 +00:00
frosch
ee5c115950 (svn r26245) -Codechange: No need for a map, if a vector suffices. 2014-01-12 18:01:50 +00:00
frosch
e9c22ef16f (svn r26244) -Feature: [NewGRF] Add StringCodes 9A 1B, 9A 1C and 9A 1D to display amounts of cargo. 2014-01-12 18:01:33 +00:00
frosch
00e7ceeca4 (svn r26243) -Cleanup: Move TTDPStringIDToOTTDStringIDMapping to newgrf.cpp, it's only used there. 2014-01-12 18:01:16 +00:00
frosch
4f419b8f84 (svn r26242) -Codechange: Use GRFFile that filled the TextRefStack to translate StringIDs from the TextRefStack, instead of passing stuff via global vars. 2014-01-12 18:00:55 +00:00
frosch
ba1779b978 (svn r26241) -Codechange: Remember the GRFFile which filled the TextRefStack in the TextRefStack. 2014-01-12 18:00:39 +00:00
frosch
73c6565cf2 (svn r26240) -Codechange: Pass the GRFFile to GetErrorMessageFromLocationCallbackResult instead of the GRFID. 2014-01-12 18:00:19 +00:00
frosch
477c15383d (svn r26239) -Fix: Check that there is space left in the string parameter array, before pushing NewGRF parameters to it. 2014-01-12 18:00:02 +00:00
frosch
5ab39cc651 (svn r26238) -Codechange: Use StringParameters::GetDataLeft to check for left space in the param array. 2014-01-12 17:59:43 +00:00
frosch
bc86bf9b12 (svn r26237) -Cleanup: Remove unused SCC_STRING_ID. 2014-01-12 17:59:27 +00:00
fonsinchen
9ad173c9cc (svn r26236) -Fix: Don't overreserve after autorefit, but do reserve mail for aircraft 2014-01-12 17:44:55 +00:00
planetmaker
8259d279d5 (svn r26235) -Fix: Decimal and digit separators were swapped for Korean language 2014-01-11 14:13:23 +00:00
translators
de5f0e9cbb (svn r26234) -Update from WebTranslator v3.0:
bulgarian - 69 changes by kokobongo
2014-01-10 18:45:09 +00:00
translators
208db963ad (svn r26233) -Update from WebTranslator v3.0:
swedish - 2 changes by spacejens
2014-01-09 18:45:09 +00:00
translators
6025a52ee9 (svn r26232) -Update from WebTranslator v3.0:
korean - 6 changes by telk5093
portuguese - 1 changes by frosch
2014-01-08 18:45:14 +00:00
rubidium
a05d548fae (svn r26230) -Prepare: 1.4.0-beta2 2014-01-07 19:39:28 +00:00
rubidium
ce72195cf3 (svn r26229) -Revert-ish: do not use libxdg in the Debian/Ubuntu packages just yet; it seems unmaintained, and might not even be kicked out in the next release of Debian 2014-01-07 19:31:46 +00:00
fonsinchen
014813141d (svn r26228) -Fix: missing variable initialization 2014-01-05 11:28:31 +00:00
zuu
1aa26b30c7 (svn r26227) -Fix: [Windows] generate.vbs didn't include SSE source files 2014-01-05 10:19:59 +00:00
zuu
998049a618 (svn r26226) -Fix (r26212): Compilation in visual studio 2008 failed 2014-01-05 10:15:57 +00:00
rubidium
4575420dcc (svn r26225) -Document: more tidbits about cpuid and PIC (Eagle_Rainbow) 2014-01-04 19:46:24 +00:00
translators
b48bb25288 (svn r26224) -Update from WebTranslator v3.0:
brazilian_portuguese - 4 changes by Tucalipe
2014-01-03 18:45:13 +00:00
planetmaker
7b20da8a0a (svn r26223) -Codechange: Silence some compile warnings about unititialized variables in the SSE blitters (MJP) 2014-01-03 18:43:10 +00:00
rubidium
115c712f4e (svn r26222) -Codechange: use SSE instructions for transparent colour "remap" in the SSE2/SSSE3 blitters as well 2014-01-03 18:03:14 +00:00
rubidium
613fb9c6ef (svn r26221) -Codechange: normalize constant names in anim-sse4 with the others (MJP) 2014-01-03 17:55:40 +00:00
rubidium
9947bdb0c4 (svn r26220) -Fix?: another attempt at getting cpuid to finally work "everywhere" 2014-01-03 15:09:55 +00:00
rubidium
e6fc55b07b (svn r26219) -Fix: cpuid code still didn't work right in some situations 2014-01-03 13:29:12 +00:00
rubidium
a325c33578 (svn r26218) -Fix: wrong #if for SSE in source.list 2014-01-03 09:26:30 +00:00
rubidium
f480c5a623 (svn r26217) -Change: blitter autoselection based on full animation state, so the non-animated optimizations can actually be used in an easy manner (based on patch by MJP) 2014-01-03 08:51:49 +00:00
rubidium
1d4565a666 (svn r26216) -Change: the blitter selection to also consider the 32bpp-sse4-anim blitter (MJP) 2014-01-03 08:31:32 +00:00
rubidium
1e1656110a (svn r26215) -Codechange: rework code so one can test if a blitter factory exists before attempting trying to instantiate an instance 2014-01-03 08:29:07 +00:00
rubidium
4c84d13454 (svn r26214) -Add: specialised animated SSE4 blitter (MJP)
With 32bpp base set about 15-20% faster in the Draw function (slower with 8bpp base set). Overall, with 32bpp base set, about 5% faster.
2014-01-02 23:52:13 +00:00
rubidium
78df732a7b (svn r26213) -Add: specialised non-animated SSE4 blitter (MJP)
With 32bpp base set about 40% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 8 and 1% of total run time
2014-01-02 23:21:07 +00:00
rubidium
71a81a8762 (svn r26212) -Add: specialised non-animated SSSE3 blitter (MJP)
With 32bpp base set about 35% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 6 and 1% of total run time
2014-01-02 23:17:01 +00:00
rubidium
fb05674cb7 (svn r26211) -Add: specialised non-animated SS2 blitter (MJP)
With 32bpp base set about 30% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 5 and 1% of total run time
2014-01-02 23:12:32 +00:00
rubidium
899c0f9cd2 (svn r26210) -Codechange: add infrastructure for not registering a blitter 2014-01-02 22:48:32 +00:00
rubidium
2618d960e3 (svn r26209) -Codechange: remove some template magic and simplify some code 2014-01-02 22:41:58 +00:00
rubidium
456dba4889 (svn r26208) -Fix (r26197): the cpuid assembly didn't work when PIC was enabled 2014-01-02 21:28:40 +00:00
rubidium
b100125866 (svn r26207) -Codechange: move the CPUID flag detection into cpu.cpp 2014-01-02 18:52:54 +00:00
frosch
7247ecf172 (svn r26206) -Fix [FS#5829]: Run everything from ini, obg, obs, obs, ... files through str_validate. 2014-01-02 17:55:57 +00:00
rubidium
3c94485ba0 (svn r26205) -Feature: SSE 4.1 sprite sorter, improving the sorting performance significantly (MJP)
For example with GCC 4.8, x86_64 Linux, Intel i5-3337U this patch improves the performance of Pile, Treham and Hamac test save games by about 10% in over-all run time at fast forward at 1920x1080 when zoomed out and when trees are not disabled.
2014-01-02 16:48:16 +00:00
rubidium
c98a94da44 (svn r26204) -Codechange: rework GfxBlitter to remove some unneeded operations when there is no sub sprite (based on patch by MJP) 2014-01-02 11:58:13 +00:00
rubidium
256a3160c4 (svn r26203) -Codechange: unduplicate GfxMainBlitter and GfxMainBlitterViewport 2014-01-02 11:47:09 +00:00
rubidium
9bf21279f8 (svn r26202) -Cleanup: since ZOOM_LEVEL_NORMAL 0 and there aren't any negative zoom levels, there is no reason to account for negative zoom levels in the zoom functions (based on patch by MJP) 2014-01-02 11:05:42 +00:00
rubidium
fb4db0b022 (svn r26201) -Fix: unscaling by a negative value is the same as scaling by a positive number 2014-01-02 11:04:37 +00:00
rubidium
868a67111b (svn r26200) -Fix (r26197): hopefully it works now 2014-01-02 09:26:21 +00:00
rubidium
298b003db1 (svn r26199) -Fix (r29197): typo in function name 2014-01-02 09:14:13 +00:00
rubidium
9ee447731a (svn r26198) -Fix (r26195): some platforms leave an .exe around... 2014-01-02 09:07:50 +00:00
rubidium
e76d294c10 (svn r26197) -Add: wrappers around cpuid 2014-01-02 08:55:32 +00:00
rubidium
52c942b177 (svn r26196) -Fix (r26195): forgot project files 2014-01-02 08:53:09 +00:00
rubidium
59ff2836d4 (svn r26195) -Codechange: move debug's ottd_rdtsc (CPU specific high precision timer) into cpu.h/cpp 2014-01-02 08:45:28 +00:00
rubidium
6b3c1aa036 (svn r26194) -Change: add SSE detection to the configure script with the possibility to disable it (based on patch by MJP) 2014-01-02 08:35:45 +00:00
translators
aad80b7536 (svn r26193) -Update from WebTranslator v3.0:
german - 1 changes by Jogio
2014-01-01 18:45:12 +00:00
rubidium
e3542b1977 (svn r26192) -Fix (r24878): off-by-one error ;) 2013-12-31 23:08:55 +00:00
rubidium
8ee152b747 (svn r26191) -Fix (r26177): typo 2013-12-31 23:07:10 +00:00
translators
0de65cbf91 (svn r26190) -Update from WebTranslator v3.0:
indonesian - 2 changes by abdu354
2013-12-31 18:45:07 +00:00
translators
2c6aa62bbf (svn r26189) -Update from WebTranslator v3.0:
indonesian - 33 changes by abdu354
korean - 5 changes by telk5093
2013-12-30 18:45:13 +00:00
fonsinchen
ecdd796a86 (svn r26188) -Codechange: Move station refitting to a separate function. 2013-12-30 14:50:45 +00:00
fonsinchen
63b43ed914 (svn r26187) -Fix: allow refitting at station if cargo has already been reserved. 2013-12-30 14:50:09 +00:00
fonsinchen
c71aa27b92 (svn r26186) -Fix: Don't check for equality of MAC_OS_X_VERSION_MAX_ALLOWED. 2013-12-30 14:46:24 +00:00
translators
cab6391ded (svn r26185) -Update from WebTranslator v3.0:
norwegian_nynorsk - 137 changes by terjesc
2013-12-29 18:45:09 +00:00
translators
a178781487 (svn r26184) -Update from WebTranslator v3.0:
welsh - 126 changes by kazzie
2013-12-28 18:45:09 +00:00
translators
28de2ec68b (svn r26183) -Update from WebTranslator v3.0:
estonian - 9 changes by KSiimson
indonesian - 4 changes by abdu354
korean - 85 changes by telk5093
2013-12-27 18:45:17 +00:00
translators
cc873704ac (svn r26182) -Update from WebTranslator v3.0:
arabic_egypt - 15 changes by abdXelrhman
2013-12-26 18:45:07 +00:00
translators
fb1a5caf9f (svn r26181) -Update from WebTranslator v3.0:
estonian - 20 changes by KSiimson
hungarian - 7 changes by IPG
korean - 1 changes by telk5093
2013-12-25 18:45:17 +00:00
frosch
3bdb4982d7 (svn r26180) -Fix: Visual effects did not work for articulated RV parts. 2013-12-25 11:37:10 +00:00
translators
40bf635a6d (svn r26179) -Update from WebTranslator v3.0:
estonian - 9 changes by KSiimson
greek - 51 changes by Evropi
korean - 2 changes by telk5093
2013-12-24 18:45:18 +00:00
rubidium
793c455e8a (svn r26177) -Update: documentation 2013-12-24 05:13:47 +00:00
translators
1154aecad6 (svn r26176) -Update from WebTranslator v3.0:
estonian - 6 changes by KSiimson
2013-12-24 05:04:18 +00:00
frosch
49852e3dac (svn r26175) -Add: Log in desync output when persistent storage is discarded. 2013-12-23 18:09:29 +00:00
frosch
eca86d1baf (svn r26174) -Codechange: Rename BaseStorageArray to BasePersistentStorageArray 2013-12-23 18:09:03 +00:00
frosch
a9e8d7a361 (svn r26173) -Change: [NewGRF] Reset the temporary storage registers for every sprite resolving. 2013-12-23 18:08:36 +00:00
frosch
3eea1befa7 (svn r26172) -Codechange: Make SpriteGroup::Resolve aware of nested calls. 2013-12-23 18:08:16 +00:00
frosch
82eb9d13df (svn r26171) -Codechange: Make TemporaryStorageArray keep track of assigned registers. Also make clearing the array 'cheaper'. 2013-12-23 18:07:57 +00:00
rubidium
00c05e79b1 (svn r26170) -Feature-ish: add the currently used fonts to the crash log 2013-12-22 17:46:27 +00:00
frosch
b02179bd8e (svn r26169) -Fix-ish [FS#5831-ish]: Unify the time a RV needs to travel through a curve. 2013-12-22 11:55:07 +00:00
frosch
b3f08fb67a (svn r26168) -Update: Baseset translations 2013-12-22 11:50:52 +00:00
frosch
62c0d42f92 (svn r26167) -Fix [FS#5834]: Certain hotkeys crashed the content GUI when the list was empty. 2013-12-20 18:29:53 +00:00
fonsinchen
ec492bfb77 (svn r26166) -Fix: Scale flows only after mapping to avoid rounding errors. 2013-12-20 14:57:44 +00:00
frosch
4818b72c75 (svn r26165) -Change [FS#5832]: Improve layout of build-airport GUI (hackalittlebit) 2013-12-18 18:23:30 +00:00
zuu
b2f2a017b1 (svn r26164) -Doc: Fix Game Script API docs on that deity can build/prospect independent of advanced setting for that 2013-12-17 20:41:51 +00:00
translators
6817e97898 (svn r26163) -Update from WebTranslator v3.0:
czech - 4 changes by retro
latvian - 6 changes by Parastais
2013-12-17 18:45:13 +00:00
translators
0727b81db9 (svn r26162) -Update from WebTranslator v3.0:
thai - 1 changes by nirakanz
2013-12-16 18:45:08 +00:00
frosch
3d53c0f7b9 (svn r26161) -Fix [FS#5830] (r22567) (r25956-ish): Backup data of altered persistent storage arrays was freed twice. 2013-12-16 18:18:58 +00:00
translators
e595720085 (svn r26160) -Update from WebTranslator v3.0:
danish - 1 changes by Hellwing
gaelic - 7 changes by GunChleoc
2013-12-14 18:45:18 +00:00
frosch
a12fa22a75 (svn r26158) -Fix: NewGRF inspect window lacked several newer variables. 2013-12-13 20:52:25 +00:00
frosch
e0d69933f6 (svn r26157) -Feature: [NewGRF] Vehicle variable 4D for determining the position within an articulated vehicle. 2013-12-13 20:21:04 +00:00
translators
07ecc26efa (svn r26156) -Update from WebTranslator v3.0:
luxembourgish - 4 changes by Phreeze
2013-12-11 18:45:11 +00:00
translators
86c0bc6b78 (svn r26154) -Update from WebTranslator v3.0:
luxembourgish - 34 changes by Phreeze
2013-12-09 18:45:08 +00:00
frosch
ab9be31562 (svn r26153) -Doc [FS#5826]: Fix copy-pasty. (krinn) 2013-12-09 18:38:07 +00:00
frosch
c69c2a243b (svn r26152) -Revert/Fix (r26118) [FS#5822]: While the condition is non-sense, the 'true' case is required for articulated parts and the 'false' case is required for savegame compatibility. 2013-12-08 21:22:03 +00:00
translators
065f8df860 (svn r26151) -Update from WebTranslator v3.0:
luxembourgish - 37 changes by Phreeze
turkish - 40 changes by wakeup
2013-12-08 18:45:14 +00:00
frosch
51f5d62fdb (svn r26150) -Revert (r26120): EnforcePrecondition alters the last-error status and is only meant for commands. 2013-12-08 18:20:14 +00:00
frosch
bf0e7c34e6 (svn r26149) -Fix [FS#5825]: [Script] Various API functions did not check whether ScrtipRoad::SetCurrentRoadType was called appropiately. 2013-12-08 15:44:09 +00:00
frosch
2e79fd9c40 (svn r26148) -Fix [FS#5824] (r25735): Script API failed for vehicles with only implicit orders. 2013-12-08 15:13:06 +00:00
frosch
f317d0146e (svn r26147) -Update: Baseset translations 2013-12-08 14:49:47 +00:00
translators
3cafd72cc4 (svn r26146) -Update from WebTranslator v3.0:
luxembourgish - 40 changes by Phreeze
turkish - 56 changes by wakeup
2013-12-07 18:45:13 +00:00
translators
ce8a45c870 (svn r26145) -Update from WebTranslator v3.0:
norwegian_bokmal - 3 changes by Trond
polish - 1 changes by p0358
2013-12-06 18:45:16 +00:00
translators
da67cfe17c (svn r26144) -Update from WebTranslator v3.0:
slovak - 1 changes by Tinix
2013-12-05 18:45:11 +00:00
translators
8f7f4ccc5e (svn r26143) -Update from WebTranslator v3.0:
danish - 15 changes by Hellwing
english_AU - 8 changes by mrtux
korean - 2 changes by telk5093
latvian - 1 changes by Parastais
luxembourgish - 6 changes by Phreeze
2013-12-04 18:45:26 +00:00
translators
5890e184bb (svn r26142) -Update from WebTranslator v3.0:
latvian - 10 changes by Parastais
turkish - 49 changes by wakeup
2013-12-03 18:45:16 +00:00
translators
1f62de41ec (svn r26141) -Update from WebTranslator v3.0:
portuguese - 1 changes by vesgo
turkish - 39 changes by wakeup
2013-12-02 18:45:19 +00:00
translators
7d632b7414 (svn r26140) -Update from WebTranslator v3.0:
turkish - 41 changes by wakeup
2013-12-01 18:45:09 +00:00
translators
a3471b4ab9 (svn r26139) -Update from WebTranslator v3.0:
latvian - 3 changes by Parastais
vietnamese - 2 changes by nglekhoi
2013-11-29 18:45:17 +00:00
rubidium
eec66b089d (svn r26138) -Fix [FS#5821] (r26105-ish): [Script] scripts could trigger the internal IsValidRoadType assertion 2013-11-29 18:06:14 +00:00
rubidium
354ec53b3c (svn r26137) -Merge: documentation updates from 1.3 branch 2013-11-29 13:15:02 +00:00
rubidium
aa8f9e28a2 (svn r26134) -Fix [FS#5820]: aircraft crashing near the map's border due to a lack of airports could trigger an assertion in most builds 2013-11-28 19:37:24 +00:00
translators
f6362ae298 (svn r26133) -Update from WebTranslator v3.0:
frisian - 1 changes by Taeke
malay - 3 changes by aarchen1795
2013-11-28 18:45:10 +00:00
rubidium
70b2093ddb (svn r26132) -Fix-ish: prevent issues due to overflowing multiplications by limiting the size of full zoom sprites to about 32kix32ki 2013-11-26 22:03:56 +00:00
translators
b0a6efc7b3 (svn r26131) -Update from WebTranslator v3.0:
simplified_chinese - 1 changes by siu238X
traditional_chinese - 1 changes by siu238X
turkish - 13 changes by wakeup
2013-11-26 18:45:17 +00:00
rubidium
d2ba772f6a (svn r26130) -Codechange: add some guards against using invalid image indices 2013-11-26 16:08:58 +00:00
rubidium
7abe85d727 (svn r26129) -Fix: remove dead code; it could be made to do what it did, but then it would be inconsistent with moving vehicles around 2013-11-26 15:30:41 +00:00
rubidium
b1bcd1adab (svn r26128) -Fix: erroneous cast 2013-11-26 15:12:54 +00:00
rubidium
f514e31978 (svn r26127) -Fix (r18186): missing break 2013-11-26 15:08:15 +00:00
rubidium
54a8e00a7e (svn r26126) -Cleanup: remove unneeded check for NULL 2013-11-26 14:52:28 +00:00
rubidium
982fcb7aab (svn r26125) -Fix: make sure the tile area's variables are always properly initialised 2013-11-26 14:47:45 +00:00
rubidium
5e3aa72855 (svn r26124) -Fix: make sure all members of the default string iterator are initialised 2013-11-26 13:42:09 +00:00
rubidium
02059ab4a7 (svn r26123) -Fix: make sure the maximum row length when making company buttons is at least 1 2013-11-26 13:27:34 +00:00
rubidium
79ccf48636 (svn r26122) -Fix-ish: remove essentially dead code; if nested_array were NULL there, it would segfault in RaiseWidget 2013-11-26 13:23:31 +00:00
rubidium
50fdf5e30c (svn r26121) -Codechange: add some asserts after dynamic casts to show they shouldn't return NULL ever 2013-11-26 13:21:25 +00:00
rubidium
945fccc706 (svn r26120) -Fix: [Script] Replace simple check with precondition check, after that simple check was documented as a precondition 2013-11-26 12:48:56 +00:00
rubidium
3b83a195ca (svn r26119) -Fix: ResolveCompanyID on an already resolved CompanyID 2013-11-26 12:46:21 +00:00
rubidium
b12205697b (svn r26118) -Fix-ish?: comparing the old Direction to the possibly new state containing a TrackDir... well comparing apples and pears. Occasionally they would be the same and occasionally not; at least without any logic behind it.
Since the occasions that the false branch was taken never resulted in a bug report, I highly doubt that removing it completely affects anything... except the visual speed of cornering in a numer of corners (<50%) and visual speed in an old style road stop.
2013-11-26 12:04:16 +00:00
rubidium
f669101560 (svn r26117) -Cleanup: unneeded NULL check 2013-11-26 10:00:15 +00:00
rubidium
04e97a0bec (svn r26116) -Codechange: validate that the number of lines in a graph is more than 0 2013-11-25 22:32:32 +00:00
rubidium
77e5b1e3b2 (svn r26115) -Fix: AfterLoadGame can throw an exception; from the old savegame load section this wouldn't be caught 2013-11-25 22:22:32 +00:00
rubidium
d2ffba07bb (svn r26114) -Fix-ish: do our best to not get bit by getenv being unsafe as hell 2013-11-25 21:50:54 +00:00
rubidium
43f76dcabb (svn r26113) -Fix: unhandled seek error, and leaking file descriptor 2013-11-25 16:42:35 +00:00
rubidium
ffb9279479 (svn r26112) -Fix: make sure a vehicle list is always initialised 2013-11-25 16:36:11 +00:00
rubidium
b53da6a6f5 (svn r26111) -Fix: theoretical case where sprite table could be overread for aqueducts that start at flat land 2013-11-25 16:26:50 +00:00
rubidium
c2ee87c1a9 (svn r26110) -Codechange: add guard for enterdir being valid in signal code 2013-11-25 16:22:29 +00:00
rubidium
00264cc708 (svn r26109) -Fix: missing initialisation 2013-11-25 14:34:09 +00:00
rubidium
defda16eb6 (svn r26108) -Codechange: some coding style (whitespace) 2013-11-25 14:30:22 +00:00
rubidium
6996b441d9 (svn r26107) -Codechange/cleanup: remove some coding bloat and simplify the driver factory instatiations 2013-11-25 14:26:46 +00:00
rubidium
a399fc667c (svn r26106) -Codechange: document fall through explicitly 2013-11-25 13:28:08 +00:00
rubidium
4b8d9aad5b (svn r26105) -Codechange: add a lot of assertions to track/road functions that might eventually lead to become indices into tables 2013-11-25 13:16:06 +00:00
rubidium
c143ca729a (svn r26104) -Fix: do not attempt to do stuff with an invalid direction, especially using it as index into a table 2013-11-25 13:13:35 +00:00
rubidium
f817b06c18 (svn r26103) -Fix: prevent odd overflows due to integer promotion 2013-11-25 13:06:33 +00:00
rubidium
e106e54f9f (svn r26102) -Fix: m_veh is not NULL by definition when IsRoadTT is true 2013-11-25 11:11:56 +00:00
rubidium
18beaac571 (svn r26101) -Fix: NULL pointer dereference when one can't allocate an order list but wants to make implicit orders 2013-11-25 11:08:21 +00:00
rubidium
573f6dcd34 (svn r26100) -Fix: possible buffer overflow in console handling of aliases 2013-11-25 10:13:59 +00:00
rubidium
2009da4f7d (svn r26099) -Codechange: make NewGRF scanner management slightly easier 2013-11-25 09:22:56 +00:00
rubidium
43edd2409e (svn r26098) -Fix: close the log file when OpenTTD was forked and finally closed 2013-11-25 09:20:35 +00:00
rubidium
ee0aa389a8 (svn r26097) -Fix: another minor memory leak (when pressing cancel in the bootstrap window) 2013-11-25 09:12:49 +00:00
rubidium
0460b78515 (svn r26093) -Fix (r26092): compilation error 2013-11-24 19:53:35 +00:00
rubidium
168fa4129d (svn r26092) -Fix [FS#5818]: prevent scripts from crashing OpenTTD when they send text with command codes to user editable texts such as sign and station names 2013-11-24 19:46:16 +00:00
rubidium
4de2871fc0 (svn r26091) -Fix (r26089): double frees... woospie 2013-11-24 16:21:19 +00:00
rubidium
c54a70cce8 (svn r26090) -Fix: leaking of file descriptor when reading strings for game texts 2013-11-24 15:25:41 +00:00
rubidium
0ac9ed0b6b (svn r26089) -Fix: a number of minor memory leaks 2013-11-24 15:21:38 +00:00
rubidium
2fc10b7e04 (svn r26088) -Fix (r26086): Windows compilation 2013-11-24 15:17:53 +00:00
rubidium
3eecd246eb (svn r26087) -Fix: file descriptor leak when finding a corrupt tar 2013-11-24 15:02:05 +00:00
rubidium
83eeba28b7 (svn r26086) -Codechange: use AutoDeleteSmallVector instead std::list for dropdowns 2013-11-24 14:46:26 +00:00
frosch
db894b0b3f (svn r26085) -Codechange: Pass ResolverObjects as reference instead of pointer since they are never NULL. 2013-11-24 14:41:19 +00:00
rubidium
45a5aba8d5 (svn r26084) -Fix: don't allow executing the palette toggling code when it's not editable 2013-11-24 14:34:33 +00:00
rubidium
58c356e935 (svn r26083) -Codechange: pass the CommandContainer for the station joiner around using a reference instead of by-value 2013-11-24 14:29:32 +00:00
rubidium
b75e60124d (svn r26082) -Fix [FS#5816] (r26077): tar files with more than one file in the root directory would not be read properly (zydeco) 2013-11-24 13:00:06 +00:00
rubidium
6fb28d8719 (svn r26081) -Fix [FS#5815]: memset with virtual functions doesn't quite work. Upon further review CompanyProperties doesn't need to be virtual in the current code base 2013-11-24 09:52:35 +00:00
rubidium
a8e8f606d8 (svn r26080) -Fix: possible out of bounds array access 2013-11-24 09:30:30 +00:00
rubidium
5e2d22da79 (svn r26077) -Codechange: handle strings like strings when scanning a tar instead of merely blobs of memory 2013-11-23 21:42:45 +00:00
rubidium
5049e938f5 (svn r26076) -Codechange: upgrade some C-style named structs to C++-style named structs 2013-11-23 21:31:00 +00:00
translators
2f51639af8 (svn r26074) -Update from WebTranslator v3.0:
afrikaans - 3 changes by mulderpf
2013-11-23 18:45:10 +00:00
rubidium
d336bf65df (svn r26073) -Cleanup: unneeded check against NULL 2013-11-23 18:13:46 +00:00
rubidium
be6b64f4e6 (svn r26072) -Cleanup: mark some unreachable default cases by NOT_REACHED() 2013-11-23 18:13:30 +00:00
rubidium
729d64d8d9 (svn r26071) -Fix: always initialise GRFFileProps 2013-11-23 18:11:22 +00:00
rubidium
1b9e32664f (svn r26070) -Fix: prevent extremely huge size for data (1+GiB) 2013-11-23 18:11:01 +00:00
rubidium
cf130ce9d8 (svn r26069) -Fix: missing break in NewGRF object handling 2013-11-23 18:10:06 +00:00
rubidium
9e216a688f (svn r26068) -Fix: unneeded NULL check 2013-11-23 18:08:48 +00:00
rubidium
c035a9531b (svn r26067) -Fix: possible NULL dereference when getting NewGRF version 2013-11-23 18:08:15 +00:00
rubidium
d18852170b (svn r26066) -Fix: possible NULL dereference when resolving industry scope 2013-11-23 18:07:11 +00:00
rubidium
c29f18f357 (svn r26065) -Fix: possible dereference of NULL for texts from game scripts 2013-11-23 18:06:27 +00:00
rubidium
d9ee35006d (svn r26064) -Fix: possible uninitialised array when loading a broken TT-ish savegame 2013-11-23 18:06:00 +00:00
rubidium
3bae1522c9 (svn r26063) -Fix (r26062): a few tabs too much 2013-11-23 13:24:31 +00:00
rubidium
3b2a92ea97 (svn r26062) -Fix: beef up checks against invalid data in highscore and language files 2013-11-23 13:18:29 +00:00
rubidium
78a316d349 (svn r26061) -Fix: negative result of ftell wasn't handled correctly in some cases 2013-11-23 13:17:45 +00:00
rubidium
29ef70c246 (svn r26060) -Fix: do not let depend overrun its buffers when paths are extremely (and unlikely) long 2013-11-23 13:16:45 +00:00
rubidium
ba1b35a0ac (svn r26059) -Fix (r20435): missed one instance causing to compare an array to NULL instead of an array's element 2013-11-23 13:16:05 +00:00
rubidium
0e9c992104 (svn r26058) -Fix: handle the return value of a number of functions better 2013-11-23 13:15:07 +00:00
rubidium
b3e93d6520 (svn r26057) -Fix: a number of possibly uninitialised variables 2013-11-23 13:12:19 +00:00
rubidium
2e54c8fdfa (svn r26056) -Fix: a number of possibly uninitialised variables 2013-11-22 21:50:43 +00:00
rubidium
bdd62a4b3e (svn r26055) -Codechange: mark switch default as really not triggerable, as technically it's dead code 2013-11-22 21:47:03 +00:00
rubidium
0eaa8fbfcd (svn r26054) -Fix: minor memory leak in strgen 2013-11-22 21:45:57 +00:00
rubidium
3362606401 (svn r26053) -Fix: possible use-after-free 2013-11-22 21:45:28 +00:00
rubidium
83a76c73c7 (svn r26052) -Fix: missing virtual destructor could cause some memory to be not freed 2013-11-22 21:44:51 +00:00
rubidium
8e27031492 (svn r26051) -Fix: out of bounds access in CmdTownCargoGoal 2013-11-22 21:44:23 +00:00
rubidium
6f21593bf6 (svn r26050) -Fix: possible, but currently untriggered, out of bounds access in strgen 2013-11-22 21:43:47 +00:00
rubidium
1b924f194f (svn r26049) -Codechange: remove some dead code as order can't be NULL there 2013-11-22 21:42:47 +00:00
rubidium
830a49692d (svn r26048) -Fix: use delete instead of free when allocated by new 2013-11-22 21:42:20 +00:00
rubidium
ed4e14dc20 (svn r26047) -Fix: possible, but very unlikely, null pointer dereference when gunziping just downloaded files 2013-11-22 21:41:49 +00:00
rubidium
fad4fa09ba (svn r26046) -Fix: handle a number of failure conditions from methods called in the network code 2013-11-22 21:41:19 +00:00
translators
b37d402b2d (svn r26045) -Update from WebTranslator v3.0:
norwegian_bokmal - 2 changes by Trond
swedish - 3 changes by abbedabb
2013-11-22 18:45:13 +00:00
translators
b568de6c49 (svn r26044) -Update from WebTranslator v3.0:
norwegian_bokmal - 4 changes by Trond
2013-11-21 18:45:08 +00:00
rubidium
1a043202d1 (svn r26043) -Fix [FS#5811]: occasional hanging when client joins 2013-11-21 18:35:31 +00:00
translators
ae7b830964 (svn r26042) -Update from WebTranslator v3.0:
japanese - 3 changes by nex259
luxembourgish - 1 changes by Phreeze
2013-11-20 18:45:12 +00:00
fonsinchen
8852d63711 (svn r26041) -Fix: make variable initialization more obvious for humans and compilers. 2013-11-19 19:43:56 +00:00
fonsinchen
29d0c68bb0 (svn r26040) -Fix: return 0 from unreached part of function to silence some compilers 2013-11-19 19:42:40 +00:00
translators
65752ec55b (svn r26039) -Update from WebTranslator v3.0:
belarusian - 139 changes by KorneySan
croatian - 1 changes by VoyagerOne
korean - 2 changes by telk5093
turkish - 15 changes by wakeup
2013-11-19 18:45:22 +00:00
frosch
78d0c37298 (svn r26038) -Fix: Doxygen syntax. 2013-11-18 20:09:09 +00:00
rubidium
5b3d3b7240 (svn r26037) -Fix (r26036): there was a reason they weren't references... 2013-11-18 19:47:43 +00:00
rubidium
a36fb735c0 (svn r26036) -Fix [FS#5809]: multi line text was handled incorrectly causing glitches 2013-11-18 19:35:06 +00:00
translators
88216aa520 (svn r26035) -Update from WebTranslator v3.0:
belarusian - 1 changes by KorneySan
catalan - 1 changes by juanjo
dutch - 1 changes by habell
french - 28 changes by glx
german - 1 changes by planetmaker
norwegian_bokmal - 7 changes by Trond
spanish - 2 changes by Terkhen
2013-11-18 18:45:49 +00:00
translators
baf0a2b3d6 (svn r26030) -Update from WebTranslator v3.0:
italian - 1 changes by lorenzodv
japanese - 3 changes by nex259
lithuanian - 1 changes by Stabilitronas
norwegian_bokmal - 14 changes by Trond, cuthbert
2013-11-17 17:27:49 +00:00
michi_cc
b0b20192a9 (svn r26029) -Fix (r26017): The internal index of a character in the layout line depends on the used layouter. 2013-11-17 17:08:20 +00:00
rubidium
8abbcd3700 (svn r26028) -Fix [FS#5773]: make the installer warning about Windows XP SP3 not trigger on the 64 bit Windows XP which isn't really Windows XP to start with 2013-11-17 16:16:55 +00:00
frosch
ec4806a82d (svn r26027) -Change [FS#5669-ish]: [NewGRF] Invalidate vehicle colour palette when leaving a station. 2013-11-17 16:02:39 +00:00
frosch
8fbd2f5cb5 (svn r26026) -Fix (r25648) [FS#5775-ish]: Invalidate vehicle colour palette again when rearranging consist, reversing, ... 2013-11-17 16:01:50 +00:00
michi_cc
2708aff853 (svn r26023) -Fix [FS#5805] (r25686): [OSX] Checking for a valid NSTextInputContext is supposed to fail on 10.4 according to docs, but somehow didn't, leading to a crash when an edit box lost focus. 2013-11-17 12:05:40 +00:00
rubidium
89a4455dbc (svn r26019) -Fix: copy-paste error in configure help 2013-11-16 22:17:02 +00:00
rubidium
4c5ccc8b94 (svn r26018) -Codechange: since there's a wrapper for ICU functions now, we can use proper coding style for names again 2013-11-16 21:05:26 +00:00
rubidium
ddc0026712 (svn r26017) -Change: allow the fallback and ICU layouter to exist in unison
-Fix [FS#5711]: crash when the ICU layouter thinks a font is corrupted
2013-11-16 20:57:54 +00:00
rubidium
6449e96f1a (svn r26016) -Codechange: prepare for some class renames 2013-11-16 20:32:55 +00:00
rubidium
b9e4697d8a (svn r26015) -Codechange: some constificaton 2013-11-16 19:59:06 +00:00
translators
16ecd533f3 (svn r26014) -Update from WebTranslator v3.0:
english_US - 1 changes by Rubidium
finnish - 1 changes by jpx_
polish - 1 changes by wojteks86
romanian - 15 changes by tonny
russian - 2 changes by Lone_Wolf
slovak - 4 changes by Milsa
swedish - 1 changes by Joel_A
2013-11-16 18:45:43 +00:00
fonsinchen
e6668f24b5 (svn r26013) -Revert (r25495) [FS#5684]: Having trains miss a platform that is just being modified is less of a problem than having trains stop twice without moving. 2013-11-16 17:52:00 +00:00
zuu
6fc653d2d7 (svn r26012) -Add: new goal type that show a story page when clicked 2013-11-16 17:41:57 +00:00
rubidium
f10d2417d8 (svn r26011) -Fix: --help text of ./configure for packages that require pkg-config 2013-11-16 13:16:38 +00:00
zuu
41b07b571d (svn r26010) -Document [FS#5662]: The AI/GS library name to use in Import, is not the name given by GetName but GetInstanceName 2013-11-16 12:33:45 +00:00
rubidium
3b9f92e14c (svn r26009) -Fix: warning about conditional expression with enumeral with non-enumeral type 2013-11-16 10:05:57 +00:00
rubidium
b934e528d9 (svn r26008) -Fix (r25975): uninitialised warning 2013-11-16 10:04:10 +00:00
rubidium
a25ecfd982 (svn r26007) -Change: make handling strings coming from game scripts slightly more lenient, i.e. less 'fatal error... must quit' 2013-11-16 09:54:22 +00:00
rubidium
d7af679fd6 (svn r26006) -Fix [FS#5804]: Game script showing vehicle on a story book, then the vehicle being removed and eventually being replaced by a non-user vehicle (most likely smoke) causing an assertion to trigger 2013-11-16 09:49:13 +00:00
rubidium
18a3a569fb (svn r26005) -Fix [FS#5478]: crash when transferring savegame from server to client 2013-11-15 22:22:01 +00:00
translators
c98c41e007 (svn r26004) -Update from WebTranslator v3.0:
romanian - 30 changes by tonny
swedish - 1 changes by Joel_A
2013-11-15 18:45:13 +00:00
michi_cc
a985f19d5a (svn r26003) -Fix [FS#5795b] (r25743): [OSX] Some hotkeys were still triggered during text input. 2013-11-14 23:04:04 +00:00
michi_cc
8f8173c3fe (svn r26002) -Fix: [OSX] If the console hotkey is a dead key, require two presses to toggle the console, allowing input of accented characters. 2013-11-14 23:03:59 +00:00
michi_cc
8ceef6ec61 (svn r26001) -Fix [FS#5795a] (r25686): [OSX] Clear any pending marked characters from an edit box losing focus. 2013-11-14 23:03:54 +00:00
zuu
a31b46ba84 (svn r26000) -Add: Optional filter parameter to the 'content state' console command, to limit the content list to only content where the name match the filter 2013-11-14 22:50:16 +00:00
zuu
9088972738 (svn r25999) -Add: When calling the 'content select' console command without args, display all selected content 2013-11-14 22:48:03 +00:00
rubidium
a0cad0c1ea (svn r25998) -Document [FS#5661]: why catchment area's are (slightly) inconsistent 2013-11-14 22:16:43 +00:00
rubidium
c40f281545 (svn r25997) -Codechange: make it slightly more clear what ports are coming from where in the debug output when listening 2013-11-14 19:31:10 +00:00
translators
079b2643de (svn r25996) -Update from WebTranslator v3.0:
norwegian_bokmal - 3 changes by Trond
romanian - 86 changes by tonny
2013-11-14 18:45:15 +00:00
frosch
e044bd8a73 (svn r25995) -Fix (r25785) [FS#5801]: [NoGo] GS failed to rename towns. (Zydeco) 2013-11-14 18:04:31 +00:00
rubidium
37633d5da1 (svn r25976) -Update: Debian package creation control files 2013-11-13 19:57:29 +00:00
rubidium
ee137a5ced (svn r25975) -Feature [FS#5385]: XDG base directory support 2013-11-13 19:32:37 +00:00
rubidium
def597fe31 (svn r25974) -Codechange: make the _personal_dir global const, since once it's set it shouldn't be changed anyhow 2013-11-13 18:57:25 +00:00
rubidium
63e0ff048e (svn r25973) -Fix [FS#5679]: comma key collided with F12 key for hotkeys; also remove '+' as that is generally not a key (the '+' on the numpad is a separate one) 2013-11-13 15:54:44 +00:00
rubidium
116adbc0e1 (svn r25972) -Fix [FS#5665]: rail laying sounds of others could be heard in multiplayer (adf88) 2013-11-12 21:48:55 +00:00
translators
5edda0149a (svn r25971) -Update from WebTranslator v3.0:
dutch - 4 changes by habell
vietnamese - 1 changes by nglekhoi
2013-11-12 18:45:15 +00:00
rubidium
52883db91b (svn r25970) -Fix [FS#5787]: [SDL] Recursive mutex locking when changing blitter 2013-11-12 18:31:12 +00:00
frosch
17eb3ee9df (svn r25969) -Add: [Script] ScriptTown::GetFundBuildingsDuration. 2013-11-12 17:57:32 +00:00
frosch
9a41aefcc4 (svn r25968) -Add: [Script] ScriptTown::TOWN_GROWTH_NONE to indicate no town growth via ScriptTown::SetGrowthRate and GetGrowthRate. 2013-11-12 17:57:12 +00:00
frosch
b1f41a0afb (svn r25967) -Add: [NoGo] GSTown::TOWN_GROWTH_NORMAL to reset a town growth rate set previously via GSTown::SetGrowthRate. 2013-11-12 17:56:35 +00:00
frosch
41184fb871 (svn r25966) -Fix: [NoGo] Properly validate the range of the growth rate passed to GSTown::SetGrowthRate, instead of masking it to 16 bit. 2013-11-12 15:15:02 +00:00
rubidium
be4355edd3 (svn r25965) -Fix [FS#5800]: the wrong vehicle would be taken in a shared order vehicle list window when the ID >= 65536, causing assertions triggering later on 2013-11-11 18:58:15 +00:00
translators
f7276876de (svn r25964) -Update from WebTranslator v3.0:
catalan - 2 changes by juanjo
2013-11-10 18:45:10 +00:00
fonsinchen
962d6d7e48 (svn r25963) -Fix [FS#5758]: Mixtures of old and new flows could create cycles. 2013-11-10 15:18:49 +00:00
michi_cc
9b68e4f864 (svn r25962) -Fix (r25951): [OSX] Do the SDK version test the proper way 'round. 2013-11-09 14:47:03 +00:00
rubidium
ca7dce1fc2 (svn r25961) -Fix [FS#5779]: [NewGRF] A powered rail type implies it is compatible as well, but some NewGRF didn't state that causing the path reservation code to bail out in some cases because there wasn't a compatible path 2013-11-09 10:45:05 +00:00
rubidium
015d2b13b2 (svn r25960) -Fix-ish: make it less likely to trigger clang's hang with -D_FORTIFY_SOURCE=2 -O1 2013-11-09 07:15:01 +00:00
rubidium
85d4f8d65c (svn r25959) -Fix: clang warnings; either because type safety was assumed, or because technically the wrong value was tested 2013-11-09 06:52:08 +00:00
rubidium
14b8f6e594 (svn r25958) -Fix: overriding method of DrawLine was not updated when parameters were added making it non-functional 2013-11-09 06:48:15 +00:00
rubidium
c04d635ddb (svn r25956) -Fix [FS#5772]: temporary persistent storage modifications, e.g. command tests or those from GUI, were not properly reset, creating the possibility of desyncs 2013-11-08 22:28:57 +00:00
rubidium
169bf3a403 (svn r25955) -Fix [FS#5723]: Train's "force proceed" status gets reset when the track on the other side of the tile has a signal (adf88) 2013-11-08 22:24:21 +00:00
rubidium
1ffcdbd515 (svn r25954) -Fix [FS#5731]: All semaphores got converted to electric signals when loading savegames from v15 to v20 (adf88) 2013-11-08 21:27:56 +00:00
rubidium
a7fd0f8f5d (svn r25953) -Fix [FS#5732]: Wrong bits used when converting signal types/variants while loading savegames older than v64 (adf88) 2013-11-08 21:25:35 +00:00
rubidium
cdd6752ead (svn r25952) -Fix [FS#5719]: do not skip numbers when skipping spaces and other sorting 'improving' characters 2013-11-08 21:15:20 +00:00
michi_cc
a41b8c851d (svn r25951) -Fix [FS#5797]: [OSX] Disable the old fullscreen sub-driver when compiling with SDK versions 10.9+. 2013-11-08 20:18:31 +00:00
michi_cc
a298a62098 (svn r25950) -Codechange: [OSX] Move some functions used by all video sub-drivers into the common source file. 2013-11-08 20:18:27 +00:00
rubidium
2df78944b9 (svn r25949) -Fix [FS#5683]: text direction forcing characters were not filtered out, but shown as ? when ICU was not used for layouting. These are included in chat and console messages to force them to be displayed right 2013-11-08 19:13:32 +00:00
fonsinchen
f6fd21e8e6 (svn r25948) -Fix [FS#5796]: Make sure LinkRefresher doesn't delete the LinkGraph DeleteStaleLinks() is examining. 2013-11-07 20:50:03 +00:00
translators
fbceb10ff5 (svn r25947) -Update from WebTranslator v3.0:
japanese - 2 changes by nex259
latvian - 26 changes by Parastais
swedish - 2 changes by Joel_A
2013-11-07 18:45:17 +00:00
frosch
0aae2fd606 (svn r25946) -Add: [NewGRF Debuggnig] Inspecting other vehicles in a chain. 2013-11-07 18:17:21 +00:00
frosch
b0c2ab4501 (svn r25945) -Codechange: Use member function of NewGRFInspectWindow to resolve FeatureIndex. 2013-11-07 18:15:32 +00:00
translators
f95fa79041 (svn r25944) -Update from WebTranslator v3.0:
latvian - 5 changes by Parastais
swedish - 2 changes by Joel_A
2013-11-06 18:45:14 +00:00
frosch
df10f7b9f9 (svn r25943) -Fix: NewGRF inspect window in RTL mode. 2013-11-06 15:10:17 +00:00
translators
cbcbcef1a0 (svn r25942) -Update from WebTranslator v3.0:
latvian - 23 changes by Parastais
2013-11-05 18:45:08 +00:00
translators
6a637f7bbb (svn r25939) -Update from WebTranslator v3.0:
japanese - 1 changes by guppy
latvian - 15 changes by Parastais
2013-11-04 18:45:15 +00:00
planetmaker
86a658ca21 (svn r25938) -Fix [FS#5798] (r25876): Don't mistake a lighthouse for a transmitter and vice versa 2013-11-04 17:59:58 +00:00
translators
673599941f (svn r25937) -Update from WebTranslator v3.0:
simplified_chinese - 3 changes by siu238X
traditional_chinese - 8 changes by siu238X
greek - 9 changes by Evropi
2013-11-03 18:45:19 +00:00
translators
103ed39d1b (svn r25936) -Update from WebTranslator v3.0:
korean - 1 changes by telk5093
2013-11-02 18:45:08 +00:00
translators
134107b19f (svn r25935) -Update from WebTranslator v3.0:
polish - 1 changes by wojteks86
2013-11-01 18:45:09 +00:00
frosch
2a16d139a2 (svn r25934) -Fix [FS#5793]: Do not access items from other pools in pool item destructors during pool cleaning. 2013-10-31 20:31:10 +00:00
translators
3a1fbc091e (svn r25933) -Update from WebTranslator v3.0:
swedish - 13 changes by Joel_A
2013-10-31 18:45:10 +00:00
translators
aa4a4911d3 (svn r25932) -Update from WebTranslator v3.0:
swedish - 33 changes by Joel_A
2013-10-30 18:45:11 +00:00
frosch
cef342d57c (svn r25931) -Fix [FS#5786-ish]: [NoGo] Preserve the relative town growth progress when changing the town growth rate. 2013-10-30 10:01:49 +00:00
translators
403168287e (svn r25930) -Update from WebTranslator v3.0:
english_US - 1 changes by Rubidium
italian - 1 changes by lorenzodv
2013-10-29 18:45:14 +00:00
frosch
56e5a80f5a (svn r25929) -Fix [FS#5733]: Position signal sprites size-aware in the signal GUI, that is: Center sprites horizontally, and align the vertical reference point at some baseline which centers the tallest sprite. 2013-10-28 13:39:18 +00:00
frosch
7351158b3c (svn r25928) -Fix [FS#5733]: Reserve enough space for two digits of signal density. (adf88) 2013-10-28 13:04:34 +00:00
frosch
eaafbb00ed (svn r25927) -Fix [FS#5733]: Consider size of signal sprites for sizing the signal GUI. (based on patch by adf88) 2013-10-28 12:59:44 +00:00
frosch
f0fbe7767d (svn r25926) -Change: capacious -> high-capacity. 2013-10-28 12:19:55 +00:00
frosch
0bc436fec9 (svn r25925) -Fix: Textfile content was clipped incorrectly and was drawn past the bottom end. (LordAro) 2013-10-28 12:15:44 +00:00
frosch
a249db1374 (svn r25924) -Fix: [Script] Documentation for ScriptTown::GetGrowthRate. 2013-10-28 11:09:02 +00:00
frosch
28f6009509 (svn r25923) -Fix: [NoGo] Documentation for GSTown::SetGrowthRate 2013-10-28 11:03:13 +00:00
frosch
12b30103b1 (svn r25922) -Codechange: Rename TOWN_IS_FUNDED to TOWN_IS_GROWING. It is not tied to funding a town. 2013-10-28 10:55:34 +00:00
frosch
7480a00ce0 (svn r25921) -Fix [FS#5763]: Goal and progress columns were out of sync for company specific goals, if there were no global goals. 2013-10-28 10:41:57 +00:00
frosch
7fbe7895ef (svn r25920) -Fix: Story page content was clipped incorrectly and was drawn past the bottom end. 2013-10-28 10:40:52 +00:00
frosch
6872e8c63c (svn r25919) -Change [FS#5734]: Preselect the current replacement in the right-side list of the autoreplace GUI, instead of selecting the first resp. previous item. 2013-10-28 10:28:24 +00:00
frosch
2b8e66e3e3 (svn r25918) -Fix: Center the edit sign window like all query windows. (Juanjo) 2013-10-28 10:05:00 +00:00
translators
e4a599424f (svn r25917) -Update from WebTranslator v3.0:
spanish - 1 changes by Terkhen
2013-10-27 17:45:08 +00:00
frosch
103b6fffbb (svn r25916) -Add: GUI sprite for the smallmap cargoflow button. (frosch, planetmaker, V453000) 2013-10-27 15:09:41 +00:00
fonsinchen
8926398f89 (svn r25915) -Fix: Unrestricted flow was counted incorrectly when invalidating flow. 2013-10-27 11:51:14 +00:00
translators
3ce2c4a5a3 (svn r25914) -Update from WebTranslator v3.0:
luxembourgish - 6 changes by Phreeze
2013-10-26 17:45:10 +00:00
michi_cc
dce0951fdc (svn r25913) -Fix: [OSX] Compilation under OSX 10.9. (zydeco) 2013-10-26 17:20:48 +00:00
fonsinchen
1237e3c48c (svn r25912) -Fix [FS#5676]: Draw 'shared' links (involving neutral stations) as dashed lines and show them in every company's link graph overlay. 2013-10-23 19:42:17 +00:00
fonsinchen
89b7afbac8 (svn r25911) -Add: Support for drawing dashed lines. 2013-10-23 19:41:20 +00:00
fonsinchen
f528d2c592 (svn r25910) -Fix: Guard against empty FlowStats in a few more places. 2013-10-23 19:04:06 +00:00
fonsinchen
b5dd83e84f (svn r25909) -Fix (r25906): That simplification was a bit too much. 2013-10-23 17:11:34 +00:00
fonsinchen
6c4e7ab51d (svn r25908) -Fix: Some documentation for constructors of LinkRefresher::Hop. 2013-10-22 19:25:29 +00:00
fonsinchen
8fc539251e (svn r25907) -Fix: missing svn properties. 2013-10-22 18:50:08 +00:00
fonsinchen
fb7ad743d2 (svn r25906) -Fix: Simplify condition logic in link refresher. 2013-10-22 18:46:58 +00:00
fonsinchen
a9f6a1eeb7 (svn r25905) -Codechange: A more robust way of detecting loops during order prediction. 2013-10-22 18:46:20 +00:00
fonsinchen
d3fa322087 (svn r25904) -Fix: add forgotten files 2013-10-22 18:45:55 +00:00
fonsinchen
6e1cc80926 (svn r25903) -Codechange: Refactor RefreshNextHopsStats into an own class LinkRefresher. 2013-10-22 18:34:10 +00:00
translators
e0f547e694 (svn r25902) -Update from WebTranslator v3.0:
croatian - 3 changes by VoyagerOne
polish - 10 changes by wojteks86
2013-10-22 17:45:18 +00:00
fonsinchen
2f9c48b859 (svn r25901) -Fix [FS#5675]: Check if any vehicles are still serving a link before deleting it. 2013-10-22 16:19:31 +00:00
fonsinchen
bd230f34f4 (svn r25900) -Change [FS#5677]: Allow restricted flows to be picked for kept cargo. 2013-10-22 16:15:59 +00:00
fonsinchen
6524849386 (svn r25899) -Change: Restrict flows if links are restricted and don't normally pick them anymore. 2013-10-22 16:13:54 +00:00
fonsinchen
29e987f3fc (svn r25898) -Codechange: Add second timestamp for 'restricted links' to all edges. 2013-10-22 16:13:28 +00:00
fonsinchen
ec2d36a4a4 (svn r25897) -Fix: Dates are int32, not uint32, and should be saved as such. 2013-10-22 16:12:08 +00:00
fonsinchen
e99965aa15 (svn r25896) -Fix: Remove unused and unimplemented declaration of RunAverages. 2013-10-22 16:11:45 +00:00
translators
02e212a7fa (svn r25895) -Update from WebTranslator v3.0:
ukrainian - 3 changes by Strategy
2013-10-21 17:45:10 +00:00
planetmaker
dc10b6c167 (svn r25894) -Change: Unify behaviour when clicking on different items in the goto dropdown list when giving orders (adf88) 2013-10-20 19:45:27 +00:00
fonsinchen
fe550c2db3 (svn r25893) -Fix: Document RandomRange and change misleading parameter name 'max' in random functions. 2013-10-20 14:48:08 +00:00
fonsinchen
9337c561b0 (svn r25892) -Fix: off-by-one error in GetVia prevented certain flows from getting picked 2013-10-20 14:27:36 +00:00
fonsinchen
54db96be43 (svn r25891) -Feature: Use smallstack to allow for multiple next hops when loading and unloading. 2013-10-20 13:47:58 +00:00
fonsinchen
dffc4d411e (svn r25890) -Codechange: define a smallstack for station IDs 2013-10-20 13:47:11 +00:00
fonsinchen
1ed478d433 (svn r25889) -Codechange: Add forgotten file. 2013-10-20 13:46:14 +00:00
fonsinchen
62c221a845 (svn r25888) -Codechange: Add a smallstack type. 2013-10-20 13:45:50 +00:00
fonsinchen
e21ae34878 (svn r25887) -Fix: Ignore NULL pointers in delete operator of PoolItem. 2013-10-20 13:35:35 +00:00
translators
a840efe7a0 (svn r25886) -Update from WebTranslator v3.0:
ukrainian - 17 changes by Strategy
2013-10-19 17:45:08 +00:00
fonsinchen
b3b460cae2 (svn r25885) -Codechange: Keep paths sorted so that the ones with flow == 0 are in the back and don't have to be iterated over so often. 2013-10-19 17:15:19 +00:00
frosch
c08259fe92 (svn r25884) -Fix: Resizing the window did not properly resize the viewport window, resulting in the link graph glitching. 2013-10-19 15:28:54 +00:00
fonsinchen
338d9861bc (svn r25883) -Fix: Limit recursion and branching in RefreshNextHopsStats more aggressively. 2013-10-19 13:17:06 +00:00
fonsinchen
8fff781ca0 (svn r25882) -Change [FS#5766]: Don't offer subsidies for auto-distributed cargo. 2013-10-19 11:17:29 +00:00
translators
79f4cd2b7a (svn r25881) -Update from WebTranslator v3.0:
turkish - 4 changes by wakeup
2013-10-18 17:45:07 +00:00
planetmaker
95b973ec6c (svn r25880) -Fix (r25875): Special rules for world generation needs be considered in one more place 2013-10-18 15:23:41 +00:00
planetmaker
70e4074a4c (svn r25879) -Change: Allow to remove unowned objects unless they have the 'unremovable' flag 2013-10-17 21:47:16 +00:00
planetmaker
ed54d39201 (svn r25878) -Feature: [NewGRF] Object property 0x18 to allow specifying the number of objects of that type being placed upon map creation 2013-10-17 21:45:40 +00:00
planetmaker
c29ec8edee (svn r25877) -Doc: A bit too much c&p in comment 2013-10-17 21:41:59 +00:00
planetmaker
8033162bb8 (svn r25876) -Codechange: Unify object placement during map creation 2013-10-17 21:41:17 +00:00
planetmaker
2ee9a2b5e7 (svn r25875) -Change: In scenario editor allow to build all objects which were available at any point in the past to support building scenarios with historic items 2013-10-17 21:37:25 +00:00
planetmaker
547b1fba45 (svn r25874) -Add: [NewGRF] NewObject property 0x10, bit 13 indicating that object amount scales with water content of map border (e.g. used for lighthouses) 2013-10-17 21:31:53 +00:00
planetmaker
88286d33ab (svn r25873) -Codechange: Add property for the amount of generated objects upon map creation to default objects 2013-10-17 21:27:08 +00:00
planetmaker
6f62458e3b (svn r25872) -Codechange: Add climate property to default objects 2013-10-17 21:26:04 +00:00
planetmaker
0bc86ff9ee (svn r25871) -Codechange: Move placement rules for lighthouses to its own function 2013-10-17 21:25:15 +00:00
planetmaker
0a481d5ea6 (svn r25870) -Codechange: Move placement rules for transmitter to its own function 2013-10-17 21:22:39 +00:00
translators
8ede002a96 (svn r25869) -Update from WebTranslator v3.0:
ukrainian - 1 changes by Strategy
2013-10-17 17:45:10 +00:00
planetmaker
f5e408fa1c (svn r25868) -Fix (r25650): Initialization of default objects swapped costs and dates 2013-10-16 19:11:34 +00:00
fonsinchen
5ab204c8a1 (svn r25867) -Fix [FS#5764]: Shift dates on link graphs when using scenario editor date tool. 2013-10-15 17:32:31 +00:00
frosch
a6fe1f2f63 (svn r25866) -Fix: Arabic 2013-10-13 20:12:11 +00:00
zuu
cef1c47f18 (svn r25865) -Codechange: Refactor detecting of depot vehicle type of a tile to a new function, GetDepotVehicleType (cirdan, LordAro) 2013-10-13 20:11:05 +00:00
frosch
12ddbb7cb1 (svn r25864) -Fix: Use the actual sprite dimensions for sizing the dropdown arrow of dropdown widgets. 2013-10-13 19:18:30 +00:00
translators
d9717c0b01 (svn r25863) -Update from WebTranslator v3.0:
arabic_egypt - 147 changes by abdXelrhman
german - 2 changes by planetmaker
japanese - 3 changes by guppy
polish - 2 changes by wojteks86
2013-10-13 17:45:46 +00:00
frosch
ca18a4abef (svn r25862) -Fix [FS#5715] (r25729): Usage of implicit unsigned wrap around. (sbr) 2013-10-13 13:49:45 +00:00
frosch
27a77d2c09 (svn r25861) -Fix [FS#5760]: Scale linkgraph legend according to text dimensions. 2013-10-13 13:44:58 +00:00
frosch
dcec8b9abd (svn r25860) -Fix [FS#5737] (r25570): When clearing font cache, also clear layout cache. (adf88) 2013-10-13 13:28:06 +00:00
planetmaker
122158b4d8 (svn r25859) -Add [FS#5784]: Hightlight active goto item in order list dropdown (adf88) 2013-10-13 11:06:58 +00:00
planetmaker
2609693fe8 (svn r25858) -Fix [FS#5783]: Goto button in order window was not always lowered when it should (adf88) 2013-10-13 11:06:05 +00:00
planetmaker
7ed5f6edf9 (svn r25857) -Codechange [FS#5783]: Add void goto type to indicate inactivity in order window (adf88) 2013-10-13 11:05:20 +00:00
planetmaker
5bf105d4f2 (svn r25856) -Codechange: Use Industry::TileBelongsToIndustry in one more place (cirdan, LordAro) 2013-10-13 11:04:20 +00:00
frosch
871519f75a (svn r25855) -Fix [FS#5788] (r25833): Obiwan messed up savegame conversion. 2013-10-13 10:51:58 +00:00
zuu
15ebb29447 (svn r25854) -Change: Display the cost to upgrade a bridge at the end of bridge that was clicked and not the other end, which could be outside of the screen in some cases (cirdan, LordAro) 2013-10-12 22:45:19 +00:00
zuu
e50478c053 (svn r25853) -Codechange: Simplify SetupFarmFieldFence by replacing the Axis and north parameter with a direction parameter and taking adventage of the new unified SetFence function (cirdan, LordAro) 2013-10-12 22:28:38 +00:00
zuu
fb5dc7762b (svn r25852) -Codechange: Merge GetFenceXX/SetFenceXX into one common GetFonce/SetFence for all directions that take an extra direction parameter (cirdan, LordAro) 2013-10-12 22:23:43 +00:00
zuu
a42f223b2b (svn r25851) -Codechange: Avoid recalculations in DrawClearLandFence (cirdan, LordAro) 2013-10-12 22:21:21 +00:00
zuu
e7c6786016 (svn r25850) -Codechange: Merge IsBadFarmFieldTile and IsValidFarmFieldTile into IsSuitableForFarmField (cirdan, LordAro) 2013-10-12 22:17:11 +00:00
zuu
dfb5663313 (svn r25849) -Codechange: Introduce IsTileFlat to not compute full slope information for situations when we only want to know if a tile is flat or not (cirdan, LordAro) 2013-10-12 22:07:58 +00:00
zuu
b35b8aa5bb (svn r25848) -Codechange: Refactor check for if a tile is not an edge tile to new IsInnerTile method (cirdan, LordAro) 2013-10-12 22:03:13 +00:00
zuu
d908897918 (svn r25847) -Fix: Comment for GetFoundationSlope was wrong (cirdan, LordAro) 2013-10-12 22:01:21 +00:00
translators
7d10302f35 (svn r25846) -Update from WebTranslator v3.0:
english_US - 4 changes by Supercheese
greek - 31 changes by Evropi
spanish - 3 changes by Terkhen
2013-10-12 17:45:37 +00:00
planetmaker
189dd2dcce (svn r25845) -Add [FS#5756]: [Admin] Send info on bankruptcy quarters also in ADMIN_PACKET_SERVER_COMPANY_INFO (zydeco) 2013-10-12 17:03:15 +00:00
frosch
69a0c91d63 (svn r25844) -Change: Increase maximum number of object instances on the map from 64k to about 16M. 2013-10-12 16:35:50 +00:00
frosch
29f5eab56c (svn r25843) -Codechange: Rename MAX_SPECLIST to NUM_STATIONSSPECS_PER_STATION. 2013-10-12 16:35:32 +00:00
frosch
1b6ceef086 (svn r25842) -Codechange: Rename MAX_STATIONS to NUM_STATIONS_PER_GRF. 2013-10-12 16:35:18 +00:00
frosch
48d22700ad (svn r25841) -Codechange: Use NUM_AIRPORTTILES_PER_GRF instead of NUM_AIRPORTTILES to properly distinguish limits per NewGRF and limits of the pool.
-Change: [NewGRF] Lower the limit of airport tile types per NewGRF from 256 to 255 to prevent usage of ID 0xFF in Action3, and thus allowing it to become an extended byte somewhen.
2013-10-12 16:34:59 +00:00
frosch
a92b698525 (svn r25840) -Codechange: Use NUM_AIRPORTS_PER_GRF instead of NUM_AIRPORTS to properly distinguish limits per NewGRF and limits of the pool. 2013-10-12 16:34:23 +00:00
frosch
cfaa9457a6 (svn r25839) -Codechange: Use NUM_HOUSES_PER_GRF instead of NUM_HOUSES to properly distinguish limits per NewGRF and limits of the pool.
-Change: [NewGRF] Lower the limit of house types per NewGRF from 256 to 255 to prevent usage of ID 0xFF in Action3, and thus allowing it to become an extended byte somewhen.
2013-10-12 16:34:04 +00:00
frosch
6a0439a789 (svn r25838) -Codechange: Rename HOUSE_MAX to NUM_HOUSES. 2013-10-12 16:33:19 +00:00
frosch
ad8b387f9e (svn r25837) -Codechange: Use NUM_INDUSTRYTILES_PER_GRF instead of NUM_INDUSTRYTILES to properly distinguish limits per NewGRF and limits of the pool.
-Change: [NewGRF] Lower the limit of industry tile types per NewGRF from 256 to 255 to prevent usage of ID 0xFF in Action3, and thus allowing it to become an extended byte somewhen.
2013-10-12 16:32:59 +00:00
frosch
a521af8cf8 (svn r25836) -Codechange: Use NUM_INDUSTRYTYPES_PER_GRF instead of NUM_INDUSTRYTYPES to properly distinguish limits per NewGRF and limits of the pool. 2013-10-12 16:32:16 +00:00
frosch
ac599625da (svn r25835) -Change: Increase the total number of object types from 256 to 64000. 2013-10-12 16:31:55 +00:00
frosch
60f483822f (svn r25834) -Codechange: Use NUM_OBJECTS_PER_GRF instead of NUM_OBJECTS to properly distinguish limits per NewGRF and limits of the pool.
-Change: [NewGRF] Lower the limit of object types per NewGRF from 256 to 255 to prevent usage of ID 0xFF in Action3, and thus allowing it to become an extended byte somewhen.
2013-10-12 16:31:31 +00:00
frosch
35d7e8bca4 (svn r25833) -Codechange: Move ObjectType from map array into pool item. 2013-10-12 16:30:42 +00:00
frosch
2080a8c16f (svn r25832) -Codechange: Reduce variety of object type test functions. 2013-10-12 16:30:22 +00:00
frosch
b1131671d4 (svn r25831) -Change: Increase the object class limit from 32 to 255. (sbr) 2013-10-12 16:30:05 +00:00
frosch
3d5a91424a (svn r25830) -Fix [FS#5742] (r25540): In BuildObjectWindow, ensure the object spec matrix is always initialized. (sbr) 2013-10-12 16:29:42 +00:00
translators
7a75010b25 (svn r25829) -Update from WebTranslator v3.0:
english_US - 2 changes by Supercheese
vietnamese - 9 changes by nglekhoi
2013-10-11 17:45:19 +00:00
planetmaker
276c41ee1d (svn r25828) -Doc [FS#5785]: Description of parameters for ShowDropDownMenu was partially swapped (3298) 2013-10-11 15:41:55 +00:00
planetmaker
f42dea680e (svn r25827) -Fix [FS#5768]: Unify capitalization of strings used in Sort-By dropdown menu 2013-10-11 15:34:04 +00:00
translators
aef25810c0 (svn r25826) -Update from WebTranslator v3.0:
simplified_chinese - 4 changes by siu238X
finnish - 2 changes by jpx_
korean - 2 changes by telk5093
2013-10-09 17:45:21 +00:00
translators
2e990f514f (svn r25825) -Update from WebTranslator v3.0:
lithuanian - 2 changes by Stabilitronas
2013-10-08 17:45:17 +00:00
translators
67bffff355 (svn r25824) -Update from WebTranslator v3.0:
croatian - 2 changes by VoyagerOne
french - 9 changes by glx
italian - 2 changes by lorenzodv
portuguese - 2 changes by vesgo
russian - 2 changes by Lone_Wolf
slovak - 2 changes by Milsa
thai - 26 changes by zetathix
2013-10-07 17:45:49 +00:00
frosch
3d99546107 (svn r25823) -Codechange [FS#5780]: Simplify if-cases in ViewportDrawStrings. (Juanjo) 2013-10-06 20:18:53 +00:00
frosch
b4609fd923 (svn r25822) -Fix [FS#5704]: Searching for a suitable font failed, if one of the fonts had no '?' glyph, and no baseset is installed. 2013-10-06 20:08:11 +00:00
frosch
1e0dd39075 (svn r25821) -Fix-ish: Sprite 0 was considered available, even if no baseset was loaded. 2013-10-06 19:40:40 +00:00
frosch
640d39c001 (svn r25820) -Codechange: More const-ness. 2013-10-06 19:38:36 +00:00
translators
2d972cb418 (svn r25819) -Update from WebTranslator v3.0:
korean - 3 changes by telk5093
norwegian_bokmal - 2 changes by cuthbert
thai - 54 changes by zetathix
2013-10-06 17:45:23 +00:00
frosch
bf0f5345ea (svn r25818) -Fix [FS#5750]: [GS] Language file scanner considered filenames starting with '.' as valid translations, resulting in languages with empty name, which causes trouble. 2013-10-06 12:13:20 +00:00
frosch
4912e3170e (svn r25817) -Fix [FS5750-ish]: Handle savegames which contain GS translations for languages with empty name more gently. 2013-10-06 12:10:33 +00:00
frosch
dfa0e61f25 (svn r25816) -Add [FS#5748]: Toggle button for wrapping lines in the textfile GUI (LordAro) 2013-10-06 11:29:14 +00:00
frosch
f26aad2e84 (svn r25815) -Fix [FS#5754]: ScriptTile::IsBuildableRectangle could report true for tiles outside of the map, if they happened to wrap around into a valid area. (Bolt) 2013-10-06 11:16:00 +00:00
frosch
3e8d498bc5 (svn r25814) -Doc: Some Town members. 2013-10-06 10:16:33 +00:00
frosch
699e6b2588 (svn r25813) -Update: Baseset translations 2013-10-06 10:14:19 +00:00
translators
e96c667017 (svn r25812) -Update from WebTranslator v3.0:
brazilian_portuguese - 4 changes by Tucalipe
2013-10-05 17:45:16 +00:00
translators
aac3e9a823 (svn r25811) -Update from WebTranslator v3.0:
spanish - 2 changes by Terkhen
2013-10-04 17:45:10 +00:00
translators
4ce75d1cc9 (svn r25810) -Update from WebTranslator v3.0:
czech - 2 changes by retro
korean - 5 changes by telk5093
portuguese - 106 changes by vesgo
2013-10-03 17:45:20 +00:00
zuu
8895ae5e0d (svn r25809) -Fix: [Script] Decoding JSON data with an empty array from Admin port failed 2013-10-03 16:47:24 +00:00
zuu
3ad1896273 (svn r25808) -Fix (r25788): [Script] INVALID_EXPENSES should be called EXPENSES_INVALID in the script API 2013-10-02 21:44:31 +00:00
translators
59afce7cfb (svn r25806) -Update from WebTranslator v3.0:
japanese - 1 changes by guppy
2013-10-02 17:45:11 +00:00
alberth
999e76d305 (svn r25805) -Fix[FS#5740]: Ensure the vehicle bar is high enough for the start/stop vehicle graphics (adf88). 2013-10-01 20:35:06 +00:00
alberth
26dbdafeed (svn r25804) -Fix[FS#5739]: Lower sprite and text at the vehicle bar if it is pressed (adf88). 2013-10-01 20:22:38 +00:00
alberth
5437a588a0 (svn r25803) -Fix[FS#5738]: Draw start/stop graphics of the vehicle bar at the right place in rtl mode (adf88). 2013-10-01 20:16:44 +00:00
translators
3efc999c00 (svn r25802) -Update from WebTranslator v3.0:
polish - 7 changes by joziowicz
2013-10-01 17:45:10 +00:00
translators
4a058e2afe (svn r25801) -Update from WebTranslator v3.0:
estonian - 4 changes by notAbot
japanese - 5 changes by guppy
slovenian - 1 changes by matej1245
2013-09-29 17:45:23 +00:00
translators
4421eb683b (svn r25800) -Update from WebTranslator v3.0:
english_AU - 5 changes by mrtux
korean - 5 changes by telk5093
2013-09-28 17:45:15 +00:00
translators
d71ad9773a (svn r25799) -Update from WebTranslator v3.0:
ukrainian - 59 changes by odisseus
2013-09-26 17:45:15 +00:00
planetmaker
e27a91c8bc (svn r25798) -Fix [FS#5765]: Consistent spelling of MightyMover vehicles 2013-09-25 19:20:15 +00:00
translators
fb85128008 (svn r25797) -Update from WebTranslator v3.0:
afrikaans - 4 changes by ewaldhorn
icelandic - 3 changes by Stimrol
2013-09-25 17:45:15 +00:00
translators
6f15492dd3 (svn r25796) -Update from WebTranslator v3.0:
croatian - 2 changes by VoyagerOne
english_US - 53 changes by Supercheese
finnish - 2 changes by jpx_
german - 2 changes by Jogio
indonesian - 2 changes by UseYourIllusion
italian - 2 changes by lorenzodv
slovak - 2 changes by Milsa
2013-09-23 17:45:58 +00:00
translators
5775198966 (svn r25795) -Update from WebTranslator v3.0:
catalan - 6 changes by juanjo
korean - 4 changes by telk5093
lithuanian - 2 changes by Stabilitronas
polish - 5 changes by lion
russian - 2 changes by Lone_Wolf
2013-09-22 17:45:44 +00:00
planetmaker
21e85c9291 (svn r25794) -Change: No point to toggle a NewGRF's palette if its author declared one. 2013-09-22 13:06:09 +00:00
planetmaker
266d9262a2 (svn r25793) -Change: Trigger update of translations for palette names 2013-09-22 13:01:18 +00:00
planetmaker
5f415fa78e (svn r25792) -Change: Clarify the relevance of the permissible palettes 2013-09-22 12:59:59 +00:00
zuu
ce5ea8900c (svn r25791) -Fix (r25788): Silence comiler warning in ScriptCompany::ChangeBankBalance 2013-09-21 19:35:49 +00:00
translators
41b914aeb0 (svn r25790) -Update from WebTranslator v3.0:
ukrainian - 11 changes by odisseus
2013-09-21 17:45:18 +00:00
zuu
ffec9b41e8 (svn r25789) -Fix (r25783): Calling GSTown.FoundTown in world gen caused world gen to terminate and start the game 2013-09-21 15:09:00 +00:00
zuu
ab69c6c2a0 (svn r25788) -Feature: [Script] Game Scripts can now charge fees and give money to companies 2013-09-21 13:07:42 +00:00
zuu
01dea4ec37 (svn r25787) -Doc: Doxygen comment was wrong 2013-09-21 10:06:23 +00:00
translators
1a9a2bcb49 (svn r25786) -Update from WebTranslator v3.0:
slovenian - 190 changes by Necrolyte
2013-09-20 17:45:09 +00:00
zuu
67ab3108d6 (svn r25785) -Feature: [Script] Allow AIs and GS to found towns. Allow GS to rename towns 2013-09-19 18:48:05 +00:00
translators
953aa839b9 (svn r25784) -Update from WebTranslator v3.0:
dutch - 5 changes by habell
ukrainian - 43 changes by odisseus
2013-09-19 17:45:15 +00:00
matthijs
f13ef50e20 (svn r25783) -Add: Keywords to the openttd.desktop.in file 2013-09-19 07:42:19 +00:00
matthijs
deb0662096 (svn r25782) -Doc: [Debian] Update copyright file. 2013-09-19 07:42:17 +00:00
matthijs
282d3778ad (svn r25781) -Doc: Add licensing section to readme.txt. 2013-09-19 07:42:15 +00:00
matthijs
e25844cdf2 (svn r25780) -Change: [DOS] Put cwsdpmi and exe2coff files in subdirectories.
- Since these are different components, distributed under a different
    license, mixing them in the same directory is confusing.
2013-09-19 07:42:13 +00:00
translators
0e7bfdfbd4 (svn r25779) -Update from WebTranslator v3.0:
luxembourgish - 3 changes by Phreeze
polish - 5 changes by wojteks86
2013-09-17 17:45:18 +00:00
translators
e7073dc635 (svn r25778) -Update from WebTranslator v3.0:
croatian - 2 changes by VoyagerOne
czech - 3 changes by retro
indonesian - 2 changes by UseYourIllusion
norwegian_bokmal - 2 changes by cuthbert
2013-09-16 17:45:26 +00:00
translators
43ecfc2715 (svn r25777) -Update from WebTranslator v3.0:
finnish - 60 changes by Tve4
german - 2 changes by Jogio
italian - 1 changes by lorenzodv
slovak - 2 changes by Milsa
vietnamese - 2 changes by nglekhoi
2013-09-15 17:45:28 +00:00
planetmaker
247feca247 (svn r25776) -Add [FS#5743]: Sticky and shade buttons for jukebox window (retro) 2013-09-15 15:56:46 +00:00
planetmaker
5cc4d240f1 (svn r25775) -Fix [FS#5746]: Some spelling corrections to Catalan town names (juanjo) 2013-09-15 15:48:38 +00:00
planetmaker
eecb4b3506 (svn r25774) -Fix [FS#5746]: Some spelling corrections to Latin American town names (juanjo) 2013-09-15 15:46:19 +00:00
translators
5e5d5b717b (svn r25773) -Update from WebTranslator v3.0:
english_US - 2 changes by Rubidium
finnish - 2 changes by jpx_
italian - 1 changes by lorenzodv
lithuanian - 2 changes by Stabilitronas
russian - 1 changes by Lone_Wolf
spanish - 2 changes by Terkhen
2013-09-14 17:45:41 +00:00
zuu
a8c9322729 (svn r25772) -Add: Additional layered main toolbar arrangement 2013-09-14 12:58:58 +00:00
zuu
f8f9e30f80 (svn r25771) -Fix (r25344): If story book content changed height due a string parameter changing length, the scrollbar was not updated 2013-09-14 12:18:36 +00:00
rubidium
7adc453473 (svn r25770) -Fix [Admin]: the frame of a command packet wasn't set for the packets that were sent via de admin interface 2013-09-14 11:34:09 +00:00
zuu
541fe1775a (svn r25769) -Fix (r25344): Drawing of broken goal references was broken 2013-09-13 21:34:32 +00:00
zuu
e2c618eaba (svn r25768) -Fix [FS#5617] (r25344): Story Book text elements that use font size modifiers (eg {BIG_FONT}) caused problem with content height calculation. Solution: switch to pixel based content height instead of computing all heights as multiples of line heights. 2013-09-13 21:01:19 +00:00
zuu
9e30dda720 (svn r25766) -Codechange: Use FONT_HEIGHT_NORMAL instead of checking the height of a dummy string in Story gui 2013-09-13 20:17:07 +00:00
translators
0746816b16 (svn r25763) -Update from WebTranslator v3.0:
russian - 1 changes by Lone_Wolf
ukrainian - 20 changes by Strategy
2013-09-13 17:45:19 +00:00
zuu
4e74a4c5cc (svn r25761) -Change: Disable story/goal buttons when there is no content to show instead of when there is zero companies 2013-09-13 12:45:25 +00:00
translators
6516afae50 (svn r25760) -Update from WebTranslator v3.0:
indonesian - 2 changes by UseYourIllusion
2013-09-12 17:45:08 +00:00
zuu
24481998fa (svn r25759) -Fix (r25369): Set the owner flag of the goal and story windows 2013-09-12 14:35:52 +00:00
translators
b8c6ac60a6 (svn r25758) -Update from WebTranslator v3.0:
catalan - 2 changes by juanjo
2013-09-11 17:45:10 +00:00
translators
4184a6239f (svn r25756) -Update from WebTranslator v3.0:
indonesian - 2 changes by UseYourIllusion
2013-09-09 17:45:12 +00:00
translators
5605942387 (svn r25755) -Update from WebTranslator v3.0:
greek - 1 changes by Evropi
hungarian - 4 changes by IPG
indonesian - 1 changes by Yoursnotmine
2013-09-07 17:45:20 +00:00
translators
a3b271a4eb (svn r25754) -Update from WebTranslator v3.0:
serbian - 18 changes by ivan_mile
2013-09-03 17:45:09 +00:00
frosch
938ae194a5 (svn r25753) -Fix [FS#5725] (r25557): If old savegames contain bridges over owned land, keep on drawing the bridges nevertheless. 2013-09-02 18:37:44 +00:00
translators
e695080caf (svn r25752) -Update from WebTranslator v3.0:
slovak - 2 changes by Milsa
2013-09-01 17:45:10 +00:00
michi_cc
f36396929a (svn r25751) -Fix (r25657): [OSX] Restore fullscreen state also when starting on 10.7+. 2013-08-31 20:17:29 +00:00
translators
137bd4576e (svn r25750) -Update from WebTranslator v3.0:
finnish - 4 changes by Tve4
2013-08-31 17:45:08 +00:00
translators
21189287c6 (svn r25749) -Update from WebTranslator v3.0:
gaelic - 3 changes by GunChleoc
2013-08-30 17:45:09 +00:00
rubidium
98bc30aa48 (svn r25748) -Fix: omitted string validations 2013-08-28 17:53:13 +00:00
translators
dc2dbb3ef6 (svn r25747) -Update from WebTranslator v3.0:
serbian - 27 changes by ivan_mile
2013-08-28 17:45:09 +00:00
translators
84c92c8dc7 (svn r25746) -Update from WebTranslator v3.0:
polish - 3 changes by wojteks86
serbian - 63 changes by ivan_mile
2013-08-26 17:45:34 +00:00
translators
22d65e4a48 (svn r25745) -Update from WebTranslator v3.0:
indonesian - 10 changes by abdu354
serbian - 30 changes by ivan_mile
2013-08-25 17:45:17 +00:00
frosch
322b2da953 (svn r25744) -Fix (r25648): [NewGRF] Also invalidate vehicle colour palette when rearranging consists. 2013-08-25 15:43:52 +00:00
michi_cc
6bbca9307d (svn r25743) -Fix [FS#5705]: [OSX] Text input into an edit box would trigger hotkeys. 2013-08-25 11:23:10 +00:00
translators
2d44c98670 (svn r25742) -Update from WebTranslator v3.0:
polish - 17 changes by voythas
2013-08-24 17:45:11 +00:00
fonsinchen
bcbaa92485 (svn r25741) -Fix: shift join dates of link graph jobs when using the date cheat 2013-08-23 18:37:45 +00:00
translators
f719b273d3 (svn r25740) -Update from WebTranslator v3.0:
turkish - 1 changes by wakeup
2013-08-23 17:45:09 +00:00
translators
abe0163ad4 (svn r25739) -Update from WebTranslator v3.0:
afrikaans - 218 changes by mulderpf
simplified_chinese - 1 changes by siu238X
traditional_chinese - 1 changes by siu238X
2013-08-21 17:45:24 +00:00
fonsinchen
95cde78e37 (svn r25738) -Feature: recursively walk all branches of conditional orders in the order prediction logic 2013-08-20 21:22:39 +00:00
fonsinchen
5e017b8000 (svn r25737) -Codechange: move inner workings of RefreshNextHopsStats into separate function 2013-08-20 21:22:37 +00:00
fonsinchen
5c0b766ed9 (svn r25736) -Codechange: move condition prediction out of GetNextStoppingOrder so that we can access both branches in calling code 2013-08-20 21:22:35 +00:00
fonsinchen
d8365c63fd (svn r25735) -Feature: allow implicit orders even if no explicit ones are given. 2013-08-20 20:05:31 +00:00
translators
ae629c028a (svn r25734) -Update from WebTranslator v3.0:
afrikaans - 21 changes by mulderpf
2013-08-19 17:45:09 +00:00
frosch
549784efcd (svn r25733) -Fix: Engine name was misaligned in purchase list for RTL. (sbr) 2013-08-18 22:19:38 +00:00
frosch
87ef3ab449 (svn r25732) -Fix: In BuildIndustryWindow in RTL mode, draw industry color icon at the right. (sbr) 2013-08-18 20:06:01 +00:00
frosch
f89375aa44 (svn r25731) -Fix [FS#5692]: Minor RTL alignment issues. (sbr) 2013-08-18 19:30:25 +00:00
translators
fe4aa47bfb (svn r25730) -Update from WebTranslator v3.0:
afrikaans - 87 changes by mulderpf
swedish - 3 changes by Joel_A
2013-08-18 17:45:18 +00:00
frosch
e3a0337951 (svn r25729) -Fix [FS#5686]: If the child widgets of a NWidgetHorizontal container do not fill the complete container, align them according to text direction. (sbr) 2013-08-18 17:04:13 +00:00
frosch
d7c43bbc20 (svn r25728) -Update: Baseset translations 2013-08-18 15:34:00 +00:00
frosch
59b7125563 (svn r25727) -Fix [FS#5686]: NWidgetMatrix used pip_pre and pip_post inconsistently and incorrectly, causing misalignment for RTL. (spotted by sbr) 2013-08-18 15:32:45 +00:00
frosch
4fc6cdfbea (svn r25726) -Fix: Right side of object class string was misaligned. (sbr) 2013-08-18 14:15:27 +00:00
translators
f154d5915a (svn r25725) -Update from WebTranslator v3.0:
afrikaans - 232 changes by mulderpf
indonesian - 31 changes by abdu354
luxembourgish - 69 changes by Phreeze
2013-08-17 17:45:26 +00:00
translators
84d43ed1c3 (svn r25724) -Update from WebTranslator v3.0:
luxembourgish - 2 changes by Phreeze
2013-08-16 17:45:08 +00:00
translators
c9c07dc9d0 (svn r25723) -Update from WebTranslator v3.0:
indonesian - 71 changes by UseYourIllusion, abdu354
lithuanian - 2 changes by Stabilitronas
luxembourgish - 68 changes by Phreeze
2013-08-15 17:45:21 +00:00
translators
50f68b62bd (svn r25722) -Update from WebTranslator v3.0:
croatian - 1 changes by VoyagerOne
indonesian - 48 changes by UseYourIllusion, Yoursnotmine
lithuanian - 2 changes by Stabilitronas
swedish - 17 changes by Joel_A
tamil - 12 changes by aswn
2013-08-14 17:46:41 +00:00
translators
a6e367d4ff (svn r25721) -Update from WebTranslator v3.0:
lithuanian - 32 changes by Stabilitronas
slovenian - 14 changes by matej1245
2013-08-13 17:45:19 +00:00
translators
d415bb2902 (svn r25720) -Update from WebTranslator v3.0:
indonesian - 64 changes by UseYourIllusion
lithuanian - 4 changes by Stabilitronas
2013-08-12 17:45:15 +00:00
translators
c48745cacc (svn r25719) -Update from WebTranslator v3.0:
korean - 23 changes by telk5093
lithuanian - 39 changes by Stabilitronas
2013-08-11 17:45:14 +00:00
fonsinchen
b98de55d22 (svn r25718) -Fix: return INVALID from GetNextStoppingStation if vehicle would have to unload everything at this same station at the next stop 2013-08-11 11:00:09 +00:00
fonsinchen
1137e250a0 (svn r25717) -Fix: check for type of order before checking for refit type 2013-08-11 10:59:47 +00:00
translators
26bcc8c77f (svn r25716) -Update from WebTranslator v3.0:
brazilian_portuguese - 3 changes by Tucalipe
spanish - 3 changes by Terkhen
2013-08-10 17:45:14 +00:00
fonsinchen
6ce4c1808b (svn r25715) -Fix: return correct value from StationCargoList::Reserve, fix some documentation and simplify StationCargoList::Load a bit 2013-08-10 14:19:58 +00:00
fonsinchen
0baa72aff9 (svn r25714) -Fix: explicitly cast some things to silence warnings on GCC 4.0 2013-08-10 12:47:24 +00:00
fonsinchen
fd16b0c65c (svn r25713) -Fix: use proper ObjC style to avoid problems if members are missing 2013-08-10 12:47:22 +00:00
fonsinchen
8222e18586 (svn r25712) -Fix: define kCGBitmapByteOrder32Host to 0 if it's missing. 2013-08-10 12:47:20 +00:00
fonsinchen
f42d60150d (svn r25711) -Fix: don't use NULL as integer 2013-08-10 12:47:18 +00:00
fonsinchen
a9fde2856c (svn r25710) -Fix: string arguments to NSNotificationCenter::addObserver and NSNotificationCenter::postNotificationName can't be const in certain versions of OSX 2013-08-10 12:47:16 +00:00
fonsinchen
7ea878b938 (svn r25709) -Fix: don't return -1 as unsigned 2013-08-10 12:47:13 +00:00
fonsinchen
438520c3f4 (svn r25708) -Fix: don't return NULL as bool 2013-08-10 12:47:11 +00:00
fonsinchen
6777059c15 (svn r25707) -Fix: apply coding style wrt if/else 2013-08-10 12:47:10 +00:00
fonsinchen
94add80602 (svn r25706) -Fix: don't pass -mmacosx-version-min to compilers that don't support it 2013-08-10 12:47:08 +00:00
rubidium
13855f0a09 (svn r25705) -Fix: a number of typos (inspired by 90c920601c84975acb694f3673e2beb08b013753) 2013-08-09 18:43:44 +00:00
rubidium
78c48ee720 (svn r25704) -Update: baseset translations 2013-08-09 18:30:33 +00:00
translators
6eb6a7372a (svn r25703) -Update from WebTranslator v3.0:
czech - 2 changes by Eskymak
2013-08-09 17:45:09 +00:00
frosch
b0a063ed77 (svn r25702) -Add: about 3000 years of savegame compatibility. 2013-08-08 19:01:02 +00:00
translators
63382ac9c5 (svn r25701) -Update from WebTranslator v3.0:
english_US - 1 changes by Rubidium
finnish - 1 changes by jpx_
italian - 1 changes by lorenzodv
norwegian_bokmal - 3 changes by cuthbert
2013-08-08 17:45:30 +00:00
translators
348d657380 (svn r25700) -Update from WebTranslator v3.0:
slovenian - 21 changes by matej1245
2013-08-07 17:45:14 +00:00
frosch
8cd7368d7a (svn r25699) -Fix-ish: Hopefully make the settings type filter dropdown less confusing. 2013-08-07 17:37:41 +00:00
frosch
fbe6b92b1d (svn r25698) -Fix [FS#5700]: Autoreplace/renew also refits free wagons. 2013-08-06 21:01:14 +00:00
translators
8f95bab001 (svn r25697) -Update from WebTranslator v3.0:
catalan - 6 changes by juanjo
simplified_chinese - 2 changes by siu238X
traditional_chinese - 2 changes by siu238X
english_AU - 2 changes by mrtux
estonian - 3 changes by KSiimson
polish - 1 changes by p0358
2013-08-06 17:45:41 +00:00
michi_cc
bd02761b55 (svn r25696) -Fix (r25651): Missing function in the non-ICU paragraph layouter. 2013-08-06 17:35:11 +00:00
frosch
2770a24f9f (svn r25695) -Fix [FS#5700] (r24882, r25648): Vehicle::MarkDirty must be called for the front engine. 2013-08-06 17:31:16 +00:00
michi_cc
4ed08dcd60 (svn r25694) -Fix (r25651): Picky GCC. 2013-08-05 20:50:55 +00:00
michi_cc
b3ecfbb67a (svn r25693) -Add: [OSX] Support the new IME functions introduced with 10.5. 2013-08-05 20:38:02 +00:00
michi_cc
d15c1c5d4a (svn r25692) -Add: Replacement of a part of the edit box text with a new string. 2013-08-05 20:37:57 +00:00
michi_cc
30867c487f (svn r25691) -Add: [OSX] Support for mouse selection in the IME composition string. 2013-08-05 20:37:53 +00:00
michi_cc
e2ec0ddb03 (svn r25690) -Change: [OSX] Position the candidate window at the caret position. 2013-08-05 20:37:48 +00:00
michi_cc
f5e4131492 (svn r25689) -Add: [OSX] Display the IME composition string ourself. 2013-08-05 20:37:44 +00:00
michi_cc
c64e297e0c (svn r25688) -Codechange: [OSX] Make our view aware of text input by IMEs. 2013-08-05 20:37:40 +00:00
michi_cc
643a294e68 (svn r25687) -Codechange: [OSX] Pass text input directly down to the text handling. 2013-08-05 20:37:37 +00:00
michi_cc
e4d48f3a3b (svn r25686) -Codechange: [OSX] Abandon IME input if the edit box lost the focus. 2013-08-05 20:37:33 +00:00
michi_cc
de097dd989 (svn r25685) -Codechange: [OSX] Use non-deprecated functions for byte swapping. 2013-08-05 20:37:29 +00:00
michi_cc
0883cf76e3 (svn r25684) -Change: [Win32] Draw the composition string ourselves if possible. 2013-08-05 20:37:25 +00:00
michi_cc
64d2fc4d1e (svn r25683) -Add: Support for a marked/selected range to the textbuf. 2013-08-05 20:37:22 +00:00
michi_cc
cbdfd31a3c (svn r25682) -Change: [Win32] Position the IME candidate window at the caret position. 2013-08-05 20:37:18 +00:00
michi_cc
da09fd3077 (svn r25681) -Change: [Win32] Position the IME composition window at the caret position. 2013-08-05 20:37:14 +00:00
michi_cc
21126aec62 (svn r25680) -Codechange: [Win32] Cancel the current IME composition when the input focus changes. 2013-08-05 20:37:11 +00:00
michi_cc
7422120014 (svn r25679) -Codechange: [Win32] Get the result string of an IME input directly without a trip through the window messaging system. 2013-08-05 20:37:06 +00:00
michi_cc
13873d2534 (svn r25678) -Codechange: Notify the video driver when an edit box lost (global) focus so it can abort any current input composition. 2013-08-05 20:37:02 +00:00
michi_cc
b96ef5c758 (svn r25677) -Codechange: [Win32] There are no 64-bit Windows versions below XP and we can safely assume it as the target platform. 2013-08-05 20:36:58 +00:00
michi_cc
765e7d349e (svn r25676) -Fix: [Win32] The ANSI code page is not UTF-8 for non-Unicode builds. 2013-08-05 20:36:55 +00:00
michi_cc
63332afcf0 (svn r25675) -Fix: [Win32] Handle DBCS characters correctly in the non-Unicode build. 2013-08-05 20:36:51 +00:00
michi_cc
e3648455aa (svn r25674) -Fix: [Win32] The console code page for non-Unicode builds is not the normal ANSI code page and definitely not UTF-8 either. 2013-08-05 20:36:47 +00:00
michi_cc
e37968aadd (svn r25673) -Fix: [Win32] Use the right code page for converting ANSI strings into UTF-8 for non-Unicode builds. And don't crap out on DBCS code pages either. 2013-08-05 20:36:43 +00:00
michi_cc
fdc436b531 (svn r25672) -Fix: [Win32] Handle Unicode characters from outside the BMP correctly. 2013-08-05 20:36:40 +00:00
michi_cc
019984a14f (svn r25671) -Codechange: Pass character and key code separately to the keyboard handler. 2013-08-05 20:36:36 +00:00
michi_cc
270d8aa639 (svn r25670) -Codechange: Pass UCS-4 characters to the edit box key handler. 2013-08-05 20:36:32 +00:00
michi_cc
1567e32d89 (svn r25669) -Codechange: Pass UCS-4 instead of UCS-2 characters to the hotkey handlers. 2013-08-05 20:36:28 +00:00
michi_cc
b911f4a452 (svn r25668) -Codechange: Pass proper Unicode UCS-4 characters instead of just UCS-2 to the window key press handlers. 2013-08-05 20:36:24 +00:00
michi_cc
923eb009e8 (svn r25667) -Fix: [Win32] Only forward key presses to the IME system if an edit box has the input focus. 2013-08-05 20:36:20 +00:00
michi_cc
8b476de3bf (svn r25666) -Feature [FS#4760]: [OSX] Pinch gesture support for zooming. (Based on patch by leecbaker) 2013-08-05 20:36:17 +00:00
michi_cc
8003da77aa (svn r25665) -Fix [FS#4689]: [OSX] Crash when unhiding the main window. 2013-08-05 20:36:13 +00:00
michi_cc
1ae357e905 (svn r25664) -Add [FS#4847]: [OSX] Bootstrap downloading of a baseset. (Matthieu) 2013-08-05 20:36:10 +00:00
michi_cc
3569a4fe5a (svn r25663) -Fix [FS#4857]: [OSX] Monospace font detection. 2013-08-05 20:36:06 +00:00
michi_cc
313cdb579e (svn r25662) -Fix: [OSX] Better rejection of unsuitable fonts during fallback auto-detection. 2013-08-05 20:36:03 +00:00
michi_cc
d5681d7f6d (svn r25661) -Fix [FS#4847]: [OSX] Rework font detection to work even if no default font sprites are present. 2013-08-05 20:35:59 +00:00
michi_cc
4ec314989d (svn r25660) -Fix: [OSX] The name's OpenTTD, not OTTD. 2013-08-05 20:35:56 +00:00
michi_cc
d23fdfa403 (svn r25659) -Fix [FS#4420]: [OSX] System mouse cursor could become visible during dragging. (Matthieu) 2013-08-05 20:35:53 +00:00
michi_cc
408c595eb8 (svn r25658) -Fix [FS#4392]: [OSX] The mouse cursor would sometimes jump near the window borders. (Matthieu) 2013-08-05 20:35:49 +00:00
michi_cc
7ba4d425c8 (svn r25657) -Fix [FS#4744]: [OSX] The new 10.7 fullscreen code can now also be compiled with older SDK versions. 2013-08-05 20:35:46 +00:00
michi_cc
2702fe88d7 (svn r25656) -Cleanup: Coding style. 2013-08-05 20:35:42 +00:00
michi_cc
6d50b10074 (svn r25655) -Fix: [OSX] Mouse cursor wasn't displayed properly after switching to fullscreen on 10.7+. (Based on patch by Maedhros) 2013-08-05 20:35:38 +00:00
michi_cc
a31be4ce11 (svn r25654) -Fix: Improve character and word deletion for CJK languages and complex scripts. 2013-08-05 20:35:35 +00:00
michi_cc
76367f6bf1 (svn r25653) -Add: Caret movement by words for CJK languages. 2013-08-05 20:35:31 +00:00
michi_cc
e7dc14b25a (svn r25652) -Fix: Improve text caret movement for complex scripts. 2013-08-05 20:35:27 +00:00
michi_cc
33f3cf3a5d (svn r25651) -Fix: Textbuf caret rendering for complex scripts (e.g. Tamil). 2013-08-05 20:35:23 +00:00
translators
9d7ec75fc0 (svn r25650) -Update from WebTranslator v3.0:
estonian - 6 changes by KSiimson
vietnamese - 21 changes by myquartz
2013-08-05 17:45:14 +00:00
translators
20c2576142 (svn r25649) -Update from WebTranslator v3.0:
estonian - 54 changes by KSiimson
2013-08-04 17:45:10 +00:00
frosch
5bda07c10c (svn r25648) -Change [FS#5669]: [NewGRF] Invalidate vehicle recolour palette during (un)loading. 2013-08-04 14:02:27 +00:00
frosch
a3efc99034 (svn r25647) -Add: If an editbox is configured to be cleared with ESC, but the editbox is already empty, unselect the editbox instead. 2013-08-03 21:26:49 +00:00
translators
c47ef21af0 (svn r25646) -Update from WebTranslator v3.0:
croatian - 2 changes by VoyagerOne
japanese - 1 changes by guppy
2013-08-03 17:45:15 +00:00
translators
aecc18daff (svn r25645) -Update from WebTranslator v3.0:
estonian - 58 changes by KSiimson
german - 3 changes by Jogio
italian - 2 changes by lorenzodv
turkish - 2 changes by wakeup
2013-08-02 17:45:35 +00:00
translators
41f5cefcec (svn r25644) -Update from WebTranslator v3.0:
catalan - 21 changes by juanjo
dutch - 2 changes by habell
estonian - 73 changes by KSiimson
polish - 2 changes by wojteks86
spanish - 12 changes by juanjo
thai - 7 changes by sf_alpha
2013-08-01 17:45:41 +00:00
planetmaker
1024fd3116 (svn r25643) -Fix (r25480): [OSX] Define version constants before they're used 2013-07-31 18:50:01 +00:00
planetmaker
b7441b3a77 (svn r25642) -Fix (r25638): Compilation with static ICU 2013-07-31 18:09:21 +00:00
translators
ef31b04ef0 (svn r25641) -Update from WebTranslator v3.0:
catalan - 2 changes by juanjo
english_US - 2 changes by Rubidium
estonian - 30 changes by KSiimson
finnish - 2 changes by jpx_
japanese - 6 changes by guppy
russian - 2 changes by Lone_Wolf
serbian - 64 changes by trgo
slovak - 2 changes by Milsa
2013-07-31 17:45:53 +00:00
alberth
24d3594723 (svn r25640) -Fix: Do not suggest a start date for the game when there will be no vehicles available at all. 2013-07-31 07:30:18 +00:00
alberth
46901b73b2 (svn r25639) -Codechange: Rename both 'STR_ERROR_NO_VEHICLES_AVAILABLE*' strings. 2013-07-31 07:25:58 +00:00
planetmaker
19d393bda1 (svn r25638) -Fix (r25470): Some icu_config are too stupid to separate two ldflags by spaces, thus only call it with one 2013-07-30 22:03:36 +00:00
fonsinchen
ca1c792144 (svn r25637) -Fix: don't keep minimal routing information if automatic distribution has been disabled 2013-07-30 19:03:56 +00:00
fonsinchen
456627e01c (svn r25636) -Fix: invalidate last_loading_station when stopping in depot 2013-07-30 18:55:52 +00:00
translators
3351214e22 (svn r25635) -Update from WebTranslator v3.0:
estonian - 231 changes by KSiimson
japanese - 2 changes by guppy
2013-07-30 17:45:17 +00:00
translators
1ee4666f66 (svn r25634) -Update from WebTranslator v3.0:
estonian - 144 changes by KSiimson
2013-07-29 17:45:15 +00:00
translators
ced1c82bbd (svn r25633) -Update from WebTranslator v3.0:
estonian - 147 changes by KSiimson
2013-07-28 17:45:12 +00:00
rubidium
184e7744c3 (svn r25630) -Fix [FS#5666]: city list sort of population and rating are reversed compared to the icon 2013-07-27 14:46:33 +00:00
rubidium
6ca7a44407 (svn r25629) -Update: baseset translations 2013-07-27 14:45:09 +00:00
translators
a02c00404d (svn r25628) -Update from WebTranslator v3.0:
faroese - 2 changes by karihj
2013-07-26 17:45:08 +00:00
translators
53b4ca9d6d (svn r25627) -Update from WebTranslator v3.0:
brazilian_portuguese - 62 changes by Tucalipe
vietnamese - 35 changes by myquartz
2013-07-25 17:45:16 +00:00
translators
ea121aa170 (svn r25626) -Update from WebTranslator v3.0:
turkish - 4 changes by wakeup
2013-07-24 17:45:08 +00:00
translators
6d150fd97f (svn r25625) -Update from WebTranslator v3.0:
polish - 15 changes by p0358
tamil - 20 changes by aswn
2013-07-21 17:45:16 +00:00
zuu
789b4e320b (svn r25624) -Fix (r25620, r25623): Silence warnings 2013-07-21 17:14:35 +00:00
zuu
4f6d19465b (svn r25623) -Fix [FS#5611] (r25296): Progress column width in goal window was not updated when a string changed while the window is open 2013-07-21 15:59:07 +00:00
zuu
7a805b621e (svn r25622) -Codechange: Improve goal_gui comments (Alberth) 2013-07-21 15:52:52 +00:00
zuu
5ea7ab1ad2 (svn r25621) -Fix (r25342): Also delete page elments when their page is removed (so that they don't reappear on a new page later on) 2013-07-21 15:21:55 +00:00
zuu
09897c5fd6 (svn r25620) -Fix (r25342): Save/load of story books were broken 2013-07-21 13:18:45 +00:00
translators
5eb8f0a0bb (svn r25619) -Update from WebTranslator v3.0:
turkish - 7 changes by wakeup
2013-07-20 17:45:09 +00:00
translators
1180f57df9 (svn r25618) -Update from WebTranslator v3.0:
polish - 3 changes by p0358
2013-07-18 17:45:09 +00:00
rubidium
fb1d479a51 (svn r25617) -Fix [FS#5655] (r25377): crash when Ctrl+clicking the start date button in timetable window without any orders 2013-07-17 18:37:13 +00:00
translators
b6a624bb92 (svn r25616) -Update from WebTranslator v3.0:
french - 3 changes by MagicBuzz
german - 1 changes by Jogio
japanese - 10 changes by guppy
korean - 1 changes by junho2813
polish - 31 changes by p0358
turkish - 6 changes by wakeup
2013-07-17 17:45:39 +00:00
translators
304bb319e5 (svn r25615) -Update from WebTranslator v3.0:
korean - 26 changes by telk5093
polish - 4 changes by p0358
turkish - 30 changes by wakeup
2013-07-16 17:45:23 +00:00
rubidium
de90a1ffb3 (svn r25614) -Fix [FS#5651]: [Script] Give a slightly less generic error when removing inexisting rail
-Fix [FS#5650]: [Script] Be more specific that a non-NewGRF station can be built when asking for a NewGRF station
2013-07-15 18:19:26 +00:00
translators
72fb509286 (svn r25613) -Update from WebTranslator v3.0:
german - 5 changes by Jogio
2013-07-15 17:45:08 +00:00
rubidium
6e12838376 (svn r25612) -Fix [FS#5648]: [AI] Don't return ERR_UNKNOWN when trying to move an order to its current location 2013-07-14 20:21:36 +00:00
michi_cc
3c300cdc37 (svn r25611) -Fix (r25608): Update project files. 2013-07-14 19:13:12 +00:00
translators
5e5e0b5029 (svn r25610) -Update from WebTranslator v3.0:
vietnamese - 37 changes by nglekhoi
2013-07-14 17:45:08 +00:00
rubidium
f178899609 (svn r25609) -Fix [FS#5216]: under certain circumstances a track type change would make the end-of-line-is-red setting ineffective 2013-07-14 09:21:46 +00:00
rubidium
740643f2b2 (svn r25608) -Codechange: make EndSegmentReasonBits available in yapf_base.hpp 2013-07-14 09:20:34 +00:00
frosch
c35591c864 (svn r25607) -Fix [FS#5649]: Various misreferences in AI and GS changelog. 2013-07-14 08:55:38 +00:00
translators
b7c1c5ccf0 (svn r25606) -Update from WebTranslator v3.0:
german - 5 changes by Jogio
japanese - 1 changes by guppy
korean - 4 changes by telk5093
2013-07-13 17:45:20 +00:00
rubidium
57a3a2b147 (svn r25605) -Fix [FS#5641]: [Script] If a NewGRF returned station type that could not be built by an AI via callback 18, an unknown error would be thrown instead of falling back to the default station 2013-07-13 15:03:42 +00:00
rubidium
e6eede841a (svn r25604) -Fix [FS#5550]: Only the front engine's date of last service was updated 2013-07-13 14:12:14 +00:00
translators
94d48eb27f (svn r25600) -Update from WebTranslator v3.0:
traditional_chinese - 8 changes by siu238X
japanese - 287 changes by guppy
russian - 1 changes by Lone_Wolf
tamil - 6 changes by ganesh
2013-07-13 10:28:31 +00:00
planetmaker
6fc2c14afe (svn r25598) -Doc: Implications of the asynchronous processing of the rcon content command on send time of ADMIN_SERVER_ADMIN_RCON and ADMIN_SERVER_ADMIN_RCON_END packets 2013-07-13 09:59:09 +00:00
rubidium
5eac3a77d2 (svn r25597) -Fix [FS#5635]: [Content] When the server closed the connection, the client would for eternity try to read a packet and never timeout making it impossible to reconnect 2013-07-13 09:26:11 +00:00
rubidium
8f89cd6dd3 (svn r25595) -Fix-ish: move the Doxygen .tag files into objs, so they are automatically ignored and removed upon mrproper/distclean. Furthermore remove the gamedocs folder too 2013-07-13 06:44:22 +00:00
rubidium
fac0bc4176 (svn r25594) -Fix-ish: some Doxygen warnings/errors for scripts 2013-07-13 06:38:54 +00:00
rubidium
e6ae8cf420 (svn r25593) -Cleanup: remove a few stale #defines 2013-07-13 06:18:16 +00:00
rubidium
81ce9ad189 (svn r25592) -Fix [FS#5644]: Changing the script difficulty level in-game would also change the settings using the default even though they were not allowed to change in-game 2013-07-12 18:54:27 +00:00
translators
11f756ac97 (svn r25591) -Update from WebTranslator v3.0:
japanese - 73 changes by guppy
2013-07-12 17:45:08 +00:00
planetmaker
bb7f08f8db (svn r25590) -Codechange: Align doxygen comments again 2013-07-12 17:15:13 +00:00
planetmaker
2e390613a6 (svn r25589) -Fix [FS#5646]: Ensure that sent and received length of json strings are the same (based on patch by Xaroth) 2013-07-12 17:11:16 +00:00
planetmaker
7686587f02 (svn r25588) -Feature [FS#5643]: PING and PONG packets for admin port (Xaroth) 2013-07-11 20:31:39 +00:00
planetmaker
4a1bf704ee (svn r25587) -Add FS#5643: Conclude rcon output sent to admin clients with an RCON_END packet (Xaroth) 2013-07-11 19:57:40 +00:00
translators
09a30ca7b5 (svn r25586) -Update from WebTranslator v3.0:
russian - 6 changes by Lone_Wolf
gaelic - 71 changes by GunChleoc
vietnamese - 3 changes by nglekhoi
2013-07-11 17:45:20 +00:00
rubidium
2d459b2fc0 (svn r25585) -Fix [FS#5320]: [Squirrel] Stack overflow did not show an error, due to the stack to throw the error already being full 2013-07-11 17:29:51 +00:00
rubidium
56a899f4bd (svn r25581) -Fix: WT3 validation 2013-07-10 17:46:54 +00:00
translators
3ed33255a2 (svn r25580) -Update from WebTranslator v3.0:
japanese - 578 changes by guppy
norwegian_bokmal - 49 changes by cuthbert
russian - 33 changes by Lone_Wolf
slovak - 13 changes by Milsa
2013-07-10 17:45:33 +00:00
rubidium
423b44e552 (svn r25579) -Fix [FS#5642] (r25577): doxygen generation failed + typo fix 2013-07-10 15:38:42 +00:00
translators
b8ba32db06 (svn r25578) -Update from WebTranslator v3.0:
czech - 6 changes by Eskymak
hungarian - 1 changes by Brumi
japanese - 262 changes by guppy
polish - 6 changes by wojteks86
portuguese - 61 changes by JayCity
brazilian_portuguese - 48 changes by Tucalipe
slovak - 2 changes by Milsa
2013-07-09 17:45:43 +00:00
rubidium
635ec0dd9f (svn r25577) -Fix-ish [FS#5638] (r20562): [Script] Documentation implied that XXList::AddItem has a default for value if it isn't filled in. 2013-07-08 19:42:39 +00:00
translators
84b0b288b3 (svn r25576) -Update from WebTranslator v3.0:
dutch - 43 changes by habell
japanese - 420 changes by guppy
2013-07-08 17:45:13 +00:00
translators
201415848d (svn r25575) -Update from WebTranslator v3.0:
traditional_chinese - 1 changes by siu238X
croatian - 2 changes by VoyagerOne
english_AU - 2 changes by mrtux
japanese - 32 changes by guppy
norwegian_bokmal - 38 changes by cuthbert
slovak - 1 changes by Milsa
tamil - 15 changes by aswn
turkish - 29 changes by emremeydan
2013-07-07 17:45:42 +00:00
frosch
0c0db5c4c7 (svn r25574) -Fix (r25570): Trouble with initialisation order of static members of Layouter and FontCache. 2013-07-07 12:07:06 +00:00
rubidium
51f0d11ee3 (svn r25573) -Change: make content list appear faster by allowing some window redraws in between 2013-07-07 10:37:16 +00:00
frosch
d0eff986be (svn r25570) -Add: cache for ParagraphLayouts. 2013-07-06 19:00:33 +00:00
frosch
4824cb7886 (svn r25569) -Codechange: Cache all Font instances in a static container. 2013-07-06 18:56:23 +00:00
frosch
72a531bc82 (svn r25568) -Fix: Non-ICU layouter started new lines with the space which triggered the linebreak. 2013-07-06 18:55:38 +00:00
frosch
3fa1b4e8c3 (svn r25567) -Codechange: Revive dead DrawStringParams as FontState. 2013-07-06 18:54:26 +00:00
translators
3c0fbaaa13 (svn r25566) -Update from WebTranslator v3.0:
catalan - 21 changes by smauleon
simplified_chinese - 11 changes by siu238X
traditional_chinese - 4 changes by siu238X
hungarian - 2 changes by IPG
japanese - 9 changes by guppy
norwegian_bokmal - 27 changes by cuthbert
polish - 1 changes by p0358
brazilian_portuguese - 2 changes by Tucalipe
slovak - 1 changes by Milsa
turkish - 63 changes by emremeydan
2013-07-06 17:45:58 +00:00
fonsinchen
b09c4043ec (svn r25565) -Codechange: Rewrite order prediction logic to introduce proper refit prediction 2013-07-06 17:01:31 +00:00
frosch
290fbd2231 (svn r25564) -Add: a simple clipping rule to decide whether a string without linebreaks is visible before computing the layouting. This skips around 2/3 of layout computations in usual-sized list-like windows. 2013-07-06 12:18:20 +00:00
rubidium
e3bb1d8c73 (svn r25563) -Fix: WT3 validation error 2013-07-05 19:35:29 +00:00
frosch
840f836704 (svn r25562) -Fix [FS#5633]: If the next order cannot be resolved, reset the current order property instead of leaving it in an intermediate state. 2013-07-05 19:09:18 +00:00
translators
c6aad246c9 (svn r25561) -Update from WebTranslator v3.0:
traditional_chinese - 118 changes by siu238X
hungarian - 5 changes by IPG
japanese - 221 changes by guppy
slovak - 2 changes by Milsa
spanish - 2 changes by Terkhen
2013-07-05 17:45:28 +00:00
rubidium
3f7fdd738b (svn r25558) -Fix [FS#5568]: [Squirrel] Infinite recursion loop in freeing data via a looping set of references 2013-07-04 20:06:27 +00:00
rubidium
1e715bfbea (svn r25557) -Fix [FS#5524]: one could build bridges over owned land of another company 2013-07-04 20:05:07 +00:00
translators
021cc15672 (svn r25556) -Update from WebTranslator v3.0:
catalan - 83 changes by smauleon
simplified_chinese - 44 changes by siu238X
traditional_chinese - 52 changes by siu238X
french - 2 changes by glx
galician - 50 changes by Michi
hungarian - 2 changes by Brumi
japanese - 936 changes by guppy
polish - 3 changes by p0358
slovak - 2 changes by Milsa
thai - 2 changes by nirakanz
2013-07-04 17:46:01 +00:00
rubidium
4c443bce5c (svn r25555) -Fix [FS#5632]: [Script] Texts from scripts were not validated before they were shown, causing an assertion to trigger 2013-07-04 16:36:47 +00:00
translators
76566fde5b (svn r25554) -Update from WebTranslator v3.0:
czech - 44 changes by Eskymak
english_US - 2 changes by Rubidium
finnish - 2 changes by jpx_
italian - 2 changes by lorenzodv
korean - 2 changes by telk5093
russian - 2 changes by Lone_Wolf
slovak - 8 changes by Milsa
2013-07-03 17:45:39 +00:00
rubidium
1efc64fa7d (svn r25553) -Fix [FS#5530]: provide a warning when no vehicles are available, and tell what to do in that case 2013-07-02 18:57:26 +00:00
translators
79ddda1b10 (svn r25552) -Update from WebTranslator v3.0:
russian - 39 changes by Lone_Wolf
slovak - 19 changes by Milsa
swedish - 1 changes by Joel_A
thai - 3 changes by nirakanz
turkish - 4 changes by emremeydan
2013-07-02 17:45:30 +00:00
frosch
e8b6d2b32d (svn r25551) -Fix (r25465): Possible reading of uninitialised memory due to undefined execution order. 2013-07-01 19:53:05 +00:00
rubidium
d9065fbfbe (svn r25550) -Fix [FS#5571]: [Windows] Race condition between two drawing threads could crash OpenTTD 2013-07-01 19:48:52 +00:00
translators
68659495b5 (svn r25549) -Update from WebTranslator v3.0:
finnish - 41 changes by jpx_
korean - 39 changes by telk5093
polish - 6 changes by p0358
slovak - 37 changes by Milsa
2013-07-01 17:45:24 +00:00
frosch
3a81868518 (svn r25548) -Fix [FS#5629] (r25537): Removed too much code and forgot some other places. 2013-07-01 17:15:30 +00:00
rubidium
7bc4845aac (svn r25547) -Fix [FS#5626]: ICU returns the width of the visual run as if the trailing space was added (in case a newline was added). This caused the width to be more than the requested width, but it would still be drawn correctly 2013-07-01 15:26:27 +00:00
rubidium
f4c9ba4981 (svn r25546) -Fix: two small memory leaks 2013-06-30 20:40:49 +00:00
translators
36bd61f303 (svn r25545) -Update from WebTranslator v3.0:
croatian - 39 changes by VoyagerOne
english_AU - 39 changes by mrtux
french - 39 changes by glx
german - 1 changes by Jogio
hungarian - 39 changes by Brumi
italian - 39 changes by lorenzodv
korean - 2 changes by telk5093
polish - 5 changes by wojteks86
thai - 42 changes by nirakanz
turkish - 113 changes by emremeydan
2013-06-30 17:46:07 +00:00
rubidium
1ff95f36bf (svn r25544) -Fix [FS#5625] (r25488, r25486): [GS] The checks and validations for setting the extra text in the town window became too stringent 2013-06-30 15:59:10 +00:00
frosch
c1bf3122ad (svn r25543) -Cleanup: Make the bridge and object picker not restore their previous size, but the previously saved size. 2013-06-30 14:39:09 +00:00
frosch
f128c61595 (svn r25542) -Fix: Do not just add 65 pixels to the width of the train vehicle list whenever it is opened, but remember the width of the train list separately from other vehicle types. 2013-06-30 14:38:45 +00:00
frosch
c640289d7f (svn r25541) -Cleanup: No need to clear a bit which is never set. 2013-06-30 14:38:20 +00:00
frosch
83a0174ef2 (svn r25540) -Fix: Unify selecting a new object class in the object GUI. (sbr) 2013-06-30 14:37:50 +00:00
frosch
d798766f2e (svn r25539) -Codechange: Setup object GUI matrix before restoring selected object, so that the matrix state can be properly set. (sbr) 2013-06-30 14:37:24 +00:00
frosch
bcb0e04bf2 (svn r25538) -Fix [FS#5567] (r25283): Use the UI index of the selected object to make it visible when re-opening the build object window. (sbr) 2013-06-30 14:37:01 +00:00
frosch
43ec0bf0c1 (svn r25537) -Codechange: Optionally make WWT_MATRIX compute the number of rows and columns from the resize step size. 2013-06-30 14:36:31 +00:00
frosch
8116aeff21 (svn r25536) -Cleanup: No need to set scrollbar capacity anywhere but in OnResize. 2013-06-30 14:36:07 +00:00
frosch
634607573f (svn r25535) -Fix [FS#5584]: Initialise scrollbars before FinishInitNested, so their capacity is set via OnResize. 2013-06-30 14:35:44 +00:00
frosch
df732f2bae (svn r25534) -Codechange: FinishInitNested calls OnResize, no need to setup scrollbar capacity before that. 2013-06-30 14:34:23 +00:00
frosch
e184b9799c (svn r25533) -Codechange: Use SetCapacityFromWidget more often. 2013-06-30 14:33:32 +00:00
frosch
5f8f71edf0 (svn r25532) -Fix: Do not make the minimal size of matrix or panel widgets depend on their number of rows, since that changes when resizing the window. 2013-06-30 14:33:15 +00:00
frosch
98fdd20f84 (svn r25531) -Codechange: Use separate function to set data of WWT_MATRIX widgets. 2013-06-30 14:32:31 +00:00
alberth
631540c400 (svn r25527) -Fix[FS#5621]: strndup should not examine strings beyond its upper limit. 2013-06-30 08:29:51 +00:00
rubidium
92f276f26d (svn r25526) -Fix: line breaking in fallback layouter was off-by-one, so sometimes strings that needed to be broken off earlier got truncated later on 2013-06-30 07:46:10 +00:00
rubidium
4fed658a63 (svn r25525) -Fix: off-by-one in fallback layout w.r.t. colour/font changes 2013-06-30 07:29:31 +00:00
rubidium
ea5d35a896 (svn r25524) -Fix [FS#5624]: fallback layouter broke on long "words" without space after a newline 2013-06-30 07:21:37 +00:00
rubidium
4fbcb73166 (svn r25523) -Fix [FS#5587]: SDL does not give an event when an application gets mouse focus while going to full screen, so manually force the mouse-is-in-window state 2013-06-29 18:21:19 +00:00
rubidium
ccf36ca71b (svn r25522) -Update: baseset descriptions 2013-06-29 17:50:59 +00:00
translators
d894a6b897 (svn r25521) -Update from WebTranslator v3.0:
english_US - 39 changes by Rubidium
german - 40 changes by Jogio, planetmaker
japanese - 48 changes by riolukid
korean - 3 changes by telk5093
spanish - 39 changes by Terkhen
tamil - 16 changes by aswn
turkish - 154 changes by emremeydan
2013-06-29 17:45:43 +00:00
rubidium
c33040e037 (svn r25520) -Fix-ish: don't pretend that trunk is still doing something 1.3-ish in the Windows executable version information 2013-06-29 16:13:41 +00:00
zuu
be4451d40f (svn r25519) -Fix [FS#5614] (r25342): Select page to update by its id and not the page id 2013-06-29 14:54:07 +00:00
rubidium
094ac8c441 (svn r25518) -Cleanup: remove old string 2013-06-29 13:20:40 +00:00
rubidium
4356510408 (svn r25517) -Fix-ish (r25515) / Feature-ish [FS#5623]: properly align the statistics as well when the infra sharing is turned on 2013-06-29 13:19:19 +00:00
rubidium
ba1e42d057 (svn r25516) -Codechange: reduce code duplication in infrastructure statistics window 2013-06-29 13:11:52 +00:00
rubidium
c27ce651c9 (svn r25515) -Feature [FS#5595]: right align the infrastructure statistics 2013-06-29 12:41:43 +00:00
rubidium
1b9f54f0b2 (svn r25514) -Update: other translations 2013-06-29 12:11:38 +00:00
rubidium
bdb62c14e2 (svn r25513) -Fix [FS#5623]: the high score's company/president name was stored with encoded string codes, causing it to cause trouble when the encoding of the string codes changes. Furthermore, check the incoming dangerous content better 2013-06-29 12:09:55 +00:00
rubidium
66b7123ed9 (svn r25512) -Fix-ish: the high score company name could not have enough space to have both the company and president name 2013-06-29 12:07:40 +00:00
rubidium
fac0b83df6 (svn r25511) -Fix-ish: add the same printable key assert to the sprite font cache as the freetype font cache 2013-06-29 12:03:44 +00:00
rubidium
dd49c84363 (svn r25510) -Fix: forgot to update some documentation 2013-06-29 09:51:03 +00:00
rubidium
096f1e37d3 (svn r25509) -Cleanup: remove old strings 2013-06-29 09:50:32 +00:00
rubidium
f9c9ff6ec3 (svn r25508) -Change: split unit localisation choice into a choice per type of unit, and move it to the advanced settings
-Feature [FS#5482]: have tractive effort in imperial (lbf) and metric (kgf) units
-Feature: have weights and volumes in imperial units (short tons, gallons)
2013-06-29 09:47:18 +00:00
rubidium
6e97b7a6e8 (svn r25507) -Cleanup: double definition 2013-06-29 08:58:25 +00:00
rubidium
5b2a5ac790 (svn r25506) -Document: a function, and name it slightly better 2013-06-28 21:11:35 +00:00
rubidium
31af0a3397 (svn r25505) -Fix [FS#5563]: use proper doxygen style link to images 2013-06-28 20:54:05 +00:00
rubidium
270257ab34 (svn r25504) -Feature [FS#5563]: allow images in the (doxygen) documentation (adf88) 2013-06-28 20:53:42 +00:00
rubidium
3831e3829d (svn r25501) -Fix: compilation error on OS X 2013-06-28 19:31:31 +00:00
frosch
934f4decba (svn r25497) -Fix (r25479): byte is not unit 2013-06-28 19:20:45 +00:00
rubidium
d3ccc7c194 (svn r25495) -Fix [FS#5553]: when addings bits to a (train) station, the train trying to stop there could overshoot the (new) stop location and not stop at all 2013-06-28 18:09:07 +00:00
translators
6e8f2f29f5 (svn r25494) -Update from WebTranslator v3.0:
catalan - 7 changes by juanjo
spanish - 5 changes by juanjo
vietnamese - 9 changes by nglekhoi
2013-06-28 17:45:19 +00:00
rubidium
0c14a586bd (svn r25493) -Codechange: support for the safer variant of ICU's getFontTable 2013-06-27 21:21:47 +00:00
michi_cc
6f359bc1f0 (svn r25492) -Doc: Missing comment. 2013-06-27 21:18:56 +00:00
rubidium
43a9cfcaa4 (svn r25491) -Fix: ofcourse... doing something with Random messes with the regression result... 2013-06-27 20:30:22 +00:00
rubidium
11e6d5c8df (svn r25490) -Fix [FS#5610]: the face of the manager differed on clients when the company was started after the clients joined 2013-06-27 20:20:13 +00:00
rubidium
868001a1e0 (svn r25489) -Fix (r25488): we want to have the begin, not the end of the decoded text as string to pass along 2013-06-27 20:07:09 +00:00
rubidium
19eca468fc (svn r25488) -Fix [FS#5613]: do not send encoded texts to names, but decode them into a plain C string and then pass them on 2013-06-27 19:57:41 +00:00
rubidium
8463335b00 (svn r25487) -Fix: do not allow control codes in names of things (signs, vehicles, towns, stations, etc), so they have a known maximum fixed size and are, by definition, the same for everyone 2013-06-27 19:56:54 +00:00
rubidium
5d37e21d04 (svn r25486) -Fix [FS#5613-ish]: missing length validation for town and president names in script APIs 2013-06-27 19:23:23 +00:00
rubidium
928df8163a (svn r25485) -Fix-ish: silence compiler warning 2013-06-27 18:33:46 +00:00
translators
b82a3460d1 (svn r25484) -Update from WebTranslator v3.0:
luxembourgish - 21 changes by Phreeze
slovak - 2 changes by Milsa
2013-06-27 17:45:14 +00:00
rubidium
6ab0545022 (svn r25483) -Fix: don't commit too much... 2013-06-27 16:25:30 +00:00
rubidium
569eaf0e11 (svn r25482) -Fix [FS#5620]: forced newlines were not properly handled 2013-06-27 16:24:19 +00:00
rubidium
bd2f4b9a24 (svn r25481) -Fix [FS#5620]: when the font size and colour change directly after eachother in a string, the latter isn't taken into account 2013-06-27 15:22:19 +00:00
michi_cc
0150ab1bb2 (svn r25480) -Codechange: [OSX] OS X SDK versions >= 10.5 always have a non-const iconv declaration. 2013-06-26 21:17:09 +00:00
frosch
7c9f0545b4 (svn r25479) -Fix (r23861): [NewGRF] When cargo NewGRF define a mulitplier to modify vehicle capacities, use the same multiplier to modify loading speed. 2013-06-26 20:38:32 +00:00
frosch
653a005d19 (svn r25478) -Fix: Clip glyphs using the actual sprite dimensions instead of the text advancement. 2013-06-26 19:35:40 +00:00
rubidium
809120bc05 (svn r25477) -Fix: truncation didn't work because the string was truncated (or rather a newline was added) too early 2013-06-26 19:10:22 +00:00
frosch
eb7962a72e (svn r25476) -Cleanup: Remove unused _max_char_size, _max_char_height, _max_char_width. 2013-06-26 18:49:53 +00:00
translators
fc5335111d (svn r25475) -Update from WebTranslator v3.0:
czech - 59 changes by Eskymak
luxembourgish - 8 changes by Phreeze
slovak - 27 changes by Milsa
thai - 4 changes by nirakanz
2013-06-26 17:45:27 +00:00
rubidium
8f9d213675 (svn r25474) -Fix [FS#5618]: OS X compilation failure 2013-06-26 15:02:16 +00:00
rubidium
3fe1e9176d (svn r25473) -Fix: uninitialised warning 2013-06-25 20:48:12 +00:00
rubidium
f980d1a43c (svn r25472) -Cleanup: remove the old methods for drawing text 2013-06-25 20:44:54 +00:00
rubidium
8bbbb1b37a (svn r25471) -Fix/Feature [FS#5481]: support for Brahmic scripts (e.g. Tamil and Thai) 2013-06-25 20:44:23 +00:00
rubidium
48c1e4f87e (svn r25470) -Feature-ish: use ICU's layout engine when that's available 2013-06-25 20:40:58 +00:00
rubidium
7b10e39bf1 (svn r25469) -Add: method for getting the font tables from freetype fonts 2013-06-25 20:39:58 +00:00
rubidium
c90dbe2018 (svn r25468) -Fix-ish: the min/max of the close box were so small the glyph wouldn't even fit between them 2013-06-25 20:39:03 +00:00
rubidium
899c4d85e4 (svn r25467) -Add: truncation support to the drawing routine 2013-06-25 20:38:29 +00:00
rubidium
4f0ef61d4e (svn r25466) -Add: drawing routine for the layout engine 2013-06-25 20:38:12 +00:00
rubidium
2446b8ea60 (svn r25465) -Codechange: add the concept of a layouting engine for text 2013-06-25 20:29:31 +00:00
frosch
bbbecceae1 (svn r25464) -Fix: Hide default size button in non-newstation rail-station picker since it is not resizeable anyway. 2013-06-25 20:22:08 +00:00
rubidium
43a37f7f28 (svn r25463) -Codechange: export more size related information from the fonts 2013-06-25 20:21:21 +00:00
rubidium
092c33be3f (svn r25462) -Codechange: make a better distinction between characters and glyphs 2013-06-25 20:20:15 +00:00
rubidium
b4106e686b (svn r25461) -Fix: MSVC compiler warning 2013-06-25 18:52:12 +00:00
translators
9bb031533d (svn r25460) -Update from WebTranslator v3.0:
czech - 4 changes by Eskymak
german - 3 changes by Jogio
luxembourgish - 2 changes by Phreeze
2013-06-25 17:45:17 +00:00
frosch
e158383118 (svn r25459) -Fix: Disable the depot-refit button in the order GUI, if the consist is not refittable. 2013-06-24 21:02:26 +00:00
frosch
58ae2d5aeb (svn r25458) -Fix-ish: Enable the autorefit-button in the order GUI in case the vehicle is not auto-refittable but already has a autorefit-order set to allow clearing the refit. 2013-06-24 21:01:05 +00:00
frosch
bfbdbe688e (svn r25457) -Fix: Do not test EF_AUTO_REFIT for the mail apartment or rotor of aircraft. 2013-06-24 20:58:25 +00:00
frosch
abb5a13f1e (svn r25456) -Fix [FS#5560]: Assertion when opening the refit GUI for a not refittable vehicle. 2013-06-24 20:57:50 +00:00
rubidium
be2b87c1cd (svn r25455) -Cleanup: make local function really local 2013-06-24 20:52:28 +00:00
rubidium
7c0f34130c (svn r25454) -Remove/Fix/Cleanup: SETX(Y) does not work at all with other than default fonts, so get rid of it 2013-06-24 18:39:19 +00:00
translators
8197a3ea2a (svn r25453) -Update from WebTranslator v3.0:
vietnamese - 1 changes by nglekhoi
2013-06-24 17:45:08 +00:00
rubidium
ed36aa0458 (svn r25452) -Codechange: let the chat messages be drawn like the console messages; drawing complete multiline strings from the bottom, instead of manually breaking the strings and drawing those 2013-06-23 20:44:18 +00:00
frosch
798f472552 (svn r25451) -Fix (r25445): Ini configuration for medium font was overwritten by front configuration of other sizes. 2013-06-23 20:08:13 +00:00
rubidium
aa3c106843 (svn r25450) -Fix: compilation without freetype 2013-06-23 18:32:02 +00:00
rubidium
ab4bd11208 (svn r25449) -Fix: WT3 validation error 2013-06-23 17:48:39 +00:00
translators
048b705360 (svn r25448) -Update from WebTranslator v3.0:
slovak - 4 changes by Milsa
2013-06-23 17:45:14 +00:00
planetmaker
8b25444300 (svn r25447) -Fix (r25437): [OSX] Compilation was broken 2013-06-23 17:14:34 +00:00
rubidium
8190d26f9e (svn r25446) -Codechange: call sprite fontcache code from freetype font cache in case a sprite must be shown 2013-06-23 15:38:51 +00:00
rubidium
8c5a7cf0ab (svn r25445) -Codechange: simplify the font loading 2013-06-23 15:37:18 +00:00
rubidium
c23eaf0790 (svn r25444) -Codechange: move sprite font code together with the other sprite font code 2013-06-23 15:36:29 +00:00
rubidium
ac4dd5d627 (svn r25443) -Codechange: move the glyph to sprite cache into the FreeTypeFontCache instance 2013-06-23 15:35:06 +00:00
rubidium
d724088a1c (svn r25442) -Codechange: move height and ascender information into the FontCache instances 2013-06-23 15:32:09 +00:00
rubidium
eb4388f4f3 (svn r25441) -Codechange: move the freetype font allocation into the FreeTypeFontCache 2013-06-23 15:29:20 +00:00
rubidium
97a42f4b4f (svn r25440) -Fix: MSVC compilation error 2013-06-23 15:27:55 +00:00
rubidium
a285743d48 (svn r25439) -Codechange: move the glyph to sprite ID mapping into the SpriteFontCache 2013-06-23 15:25:35 +00:00
rubidium
e1a2a8275b (svn r25438) -Codechange: introduce classes for the FontCache 2013-06-23 15:24:36 +00:00
rubidium
94a5fe6b92 (svn r25437) -Codechange: rework the FreeTypeSettings structure to make it better grouped 2013-06-23 15:23:22 +00:00
rubidium
13c450a66b (svn r25436) -Codechange: split the font detection code out of the font caching code 2013-06-23 15:20:23 +00:00
fonsinchen
930c19dae2 (svn r25435) -Fix: reroute cargo in vehicles if station is deleted 2013-06-23 08:29:28 +00:00
fonsinchen
3dd811e179 (svn r25434) -Fix: reroute cargo staged for unloading if a link breaks 2013-06-23 08:28:53 +00:00
translators
57e5a95b6f (svn r25433) -Update from WebTranslator v3.0:
brazilian_portuguese - 29 changes by Tucalipe
2013-06-22 17:45:08 +00:00
rubidium
e797f53c33 (svn r25432) -Fix [FS#5608]: clang compiler error; sometimes it's more strict than others 2013-06-22 07:44:59 +00:00
translators
d0fe055ae4 (svn r25431) -Update from WebTranslator v3.0:
thai - 10 changes by nirakanz
2013-06-21 17:45:09 +00:00
translators
07071c88e5 (svn r25430) -Update from WebTranslator v3.0:
latvian - 22 changes by Parastais
thai - 21 changes by nirakanz
2013-06-20 17:45:12 +00:00
frosch
6df6b16320 (svn r25429) -Fix [FS#5603] (r25140): When town creation failed, removing remnants of the construction failed on protected houses. 2013-06-19 20:03:10 +00:00
frosch
6794456249 (svn r25428) -Update: Baseset translations 2013-06-19 19:03:51 +00:00
translators
b55d8fee84 (svn r25427) -Update from WebTranslator v3.0:
simplified_chinese - 2 changes by siu238X
traditional_chinese - 2 changes by siu238X
croatian - 31 changes by VoyagerOne
french - 2 changes by glx
hungarian - 1 changes by Brumi
slovak - 44 changes by Milsa
thai - 30 changes by nirakanz
2013-06-19 17:45:36 +00:00
fonsinchen
1584c8f733 (svn r25426) -Fix: highlight the right entry in the sorting selector in station view window 2013-06-18 19:32:58 +00:00
translators
854d5e4b78 (svn r25425) -Update from WebTranslator v3.0:
simplified_chinese - 50 changes by siu238X, ww9980
traditional_chinese - 7 changes by siu238X
croatian - 32 changes by VoyagerOne
english_AU - 2 changes by mrtux
german - 9 changes by Jogio
2013-06-18 17:45:30 +00:00
fonsinchen
f0119308f6 (svn r25424) -Fix: keep old flows around in an invalidated state to continue routing cargo if necessary 2013-06-17 20:38:11 +00:00
fonsinchen
b923eb31a8 (svn r25423) -Fix: integer overflows in MCF solver 2013-06-17 20:37:31 +00:00
fonsinchen
d9985c3331 (svn r25422) -Fix: properly initialize base capacity for paths 2013-06-17 20:37:07 +00:00
translators
be3b25fd65 (svn r25421) -Update from WebTranslator v3.0:
simplified_chinese - 58 changes by siu238X
traditional_chinese - 12 changes by siu238X
galician - 6 changes by Michi
german - 3 changes by Jogio
korean - 4 changes by telk5093
thai - 54 changes by nirakanz
2013-06-17 17:45:33 +00:00
translators
a575465e03 (svn r25420) -Update from WebTranslator v3.0:
traditional_chinese - 54 changes by siu238X
estonian - 16 changes by KSiimson
galician - 34 changes by Michi
german - 2 changes by planetmaker
hungarian - 2 changes by Brumi
italian - 2 changes by lorenzodv
russian - 4 changes by Lone_Wolf
thai - 546 changes by nirakanz
turkish - 42 changes by wakeup
2013-06-16 17:45:49 +00:00
fonsinchen
c9452bbbff (svn r25419) -Fix: assign some random other source station to packets which have lost their source 2013-06-15 20:48:50 +00:00
rubidium
e06ad1dda1 (svn r25418) -Fix: WT3 validation error 2013-06-15 17:50:58 +00:00
translators
ff67cf2893 (svn r25417) -Update from WebTranslator v3.0:
english_US - 2 changes by Rubidium
spanish - 2 changes by Terkhen
thai - 3 changes by nirakanz
2013-06-15 17:45:26 +00:00
frosch
fef30983e6 (svn r25414) -Codechange: Move handling of global hotkeys to HotkeyList. 2013-06-15 15:31:22 +00:00
frosch
ee4e68bd5e (svn r25413) -Fix-ish: Suppress focussing editboxes which are not visible. 2013-06-15 15:31:04 +00:00
frosch
5cb174c6b8 (svn r25412) -Codechange: Make use of Window::OnHotkey 2013-06-15 15:30:44 +00:00
frosch
6291383823 (svn r25411) -Add: Window::OnHotkey 2013-06-15 15:30:16 +00:00
frosch
1b8b1f3f6c (svn r25410) -Codechange: Put all hotkeys of a window into a static HotkeyList member. 2013-06-15 15:28:09 +00:00
rubidium
40c2864e4d (svn r25409) -Cleanup: remove removed string 2013-06-15 15:27:51 +00:00
frosch
d9e9710cb3 (svn r25408) -Codechange: Simplify hotkeys by removing unused stuff. 2013-06-15 15:27:33 +00:00
frosch
cd0a57fba3 (svn r25407) -Codechange: Use order hotkey enum instead of function pointers. 2013-06-15 15:27:08 +00:00
frosch
59b71b5666 (svn r25406) -Cleanup: There were two hotkeys to toggle between 'unload' and 'unload if possible'. 2013-06-15 15:26:49 +00:00
rubidium
420f95a6e9 (svn r25405) -Feature-ish: differentiate between total waiting cargo count and available (not reserved) cargo count in the station list
-Change: sort based on the cargo count, not the cargo value
2013-06-15 15:26:24 +00:00
rubidium
2ef4438882 (svn r25404) -Feature: Thai 2013-06-15 15:24:20 +00:00
translators
59a9d05776 (svn r25403) -Update from WebTranslator v3.0:
thai - 1612 changes by nirakanz
2013-06-15 15:21:05 +00:00
frosch
18ae9c78bc (svn r25402) -Fix-ish: Prevent copying of BasePool and WindowDesc, since they register in static vectors. 2013-06-15 15:06:22 +00:00
frosch
bb308c5e30 (svn r25401) -Fix-ish: Add missing includes with prototypes to functions declared in the cpp file. 2013-06-15 15:05:54 +00:00
translators
e4e86620dd (svn r25400) -Update from WebTranslator v3.0:
dutch - 22 changes by habell
finnish - 2 changes by jpx_
german - 9 changes by Jogio
hungarian - 1 changes by Brumi
swedish - 3 changes by Joel_A
2013-06-14 17:45:26 +00:00
rubidium
9240ec0e3a (svn r25399) -Fix: invalid UTF8 character 2013-06-13 18:01:03 +00:00
translators
e5135f5c0f (svn r25398) -Update from WebTranslator v3.0:
dutch - 7 changes by habell
hungarian - 61 changes by Brumi
persian - 18 changes by rkarimabadi
russian - 12 changes by Lone_Wolf
ukrainian - 1 changes by Strategy
2013-06-13 17:45:28 +00:00
zuu
80d35ca284 (svn r25397) -Fix (r25342,r25352): Document API additions in the GS changelog 2013-06-12 19:31:33 +00:00
translators
b7a9a434fb (svn r25396) -Update from WebTranslator v3.0:
english_AU - 25 changes by mrtux
korean - 60 changes by telk5093
russian - 3 changes by Lone_Wolf
gaelic - 6 changes by GunChleoc
spanish - 2 changes by Terkhen
2013-06-12 17:45:28 +00:00
frosch
9cb89b3639 (svn r25395) -Fix [FS#5596]: The size of station construction windows could oscillate when resizing the window moved the mouse into the window. 2013-06-11 18:36:26 +00:00
frosch
c73219f9e5 (svn r25394) -Fix: Restrict renaming engines to the server, just like renaming towns. 2013-06-11 18:24:01 +00:00
translators
040562909b (svn r25393) -Update from WebTranslator v3.0:
dutch - 32 changes by habell
english_AU - 37 changes by mrtux
english_US - 2 changes by Rubidium
german - 2 changes by Jogio
italian - 6 changes by lorenzodv
korean - 1 changes by junho2813
russian - 6 changes by Lone_Wolf
gaelic - 28 changes by GunChleoc
swedish - 3 changes by Zuu
2013-06-11 17:45:54 +00:00
rubidium
bfdc7fe558 (svn r25392) -Fix (r25390): update regression to account for the compatability settings 2013-06-11 05:04:49 +00:00
fonsinchen
1c995a3faa (svn r25391) -Fix: make ChangeShare really aware of INT_MIN 2013-06-10 21:53:11 +00:00
fonsinchen
06d95e9123 (svn r25390) -Fix: add missing compatibility settings in afterload. 2013-06-10 21:30:31 +00:00
translators
dee02ba153 (svn r25389) -Update from WebTranslator v3.0:
english_US - 2 changes by Rubidium
finnish - 2 changes by jpx_
french - 4 changes by glx
german - 5 changes by Jogio, planetmaker
italian - 59 changes by lorenzodv
polish - 1 changes by wojteks86
spanish - 2 changes by Terkhen
2013-06-10 17:45:38 +00:00
zuu
15a0ed2782 (svn r25388) -Fix [FS#5593] (r25376): Forgot to add tooltips for the new main menu buttons 2013-06-10 17:17:59 +00:00
rubidium
b860353a66 (svn r25387) -Fix: "typos" in @file filename 2013-06-09 18:58:36 +00:00
frosch
9e7513d9e8 (svn r25386) -Fix: Use plural forms in linkgraph settings. 2013-06-09 18:51:49 +00:00
translators
a2bda93647 (svn r25385) -Update from WebTranslator v3.0:
english_US - 59 changes by Rubidium
finnish - 59 changes by jpx_
french - 18 changes by glx
german - 21 changes by Jogio, planetmaker
lithuanian - 42 changes by butkus
spanish - 59 changes by Terkhen
swedish - 39 changes by Zuu, daishan
2013-06-09 18:20:54 +00:00
zuu
78b6e79c01 (svn r25384) -Fix (25344): Correctly invalidate the story window when data changes 2013-06-09 16:18:58 +00:00
zuu
be8645e137 (svn r25383) -Fix (r25376): Remove now redundant menu entries for story book and goals 2013-06-09 15:36:31 +00:00
fonsinchen
21d0f2e883 (svn r25382) -Fix: STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT was inaccurate 2013-06-09 15:23:01 +00:00
zuu
53d2e785f5 (svn r25381) -Fix: Silent story book compiler warnings 2013-06-09 14:13:59 +00:00
zuu
dda71a15d1 (svn r25380) -Fix (r25344): Vertically center images of page elements in the available vertical space 2013-06-09 14:11:55 +00:00
fonsinchen
6166772bc5 (svn r25379) -Fix: avoid warning in FlowStatMap::FinalizeLocalConsumption 2013-06-09 14:10:33 +00:00
rubidium
9a92d55dee (svn r25378) -Cleanup: remove stale/outdated string 2013-06-09 13:56:36 +00:00
rubidium
a2af1f69af (svn r25377) -Feature: timetable spreading of vehicles by Ctrl+Click when setting a start date 2013-06-09 13:55:33 +00:00
zuu
a724a9924b (svn r25376) -Feature: Allow access to goal list and story book of other companies than your own 2013-06-09 13:37:04 +00:00
fonsinchen
f9b08b1aec (svn r25375) -Update: add fonsinchen to credits 2013-06-09 13:31:59 +00:00
zuu
ed38214794 (svn r25374) -Update: Remove stale goal translations 2013-06-09 13:31:14 +00:00
fonsinchen
4e902f2e20 (svn r25373) -Add: squirrel bindings for cargodist-specific widgets 2013-06-09 13:24:26 +00:00
zuu
eaede14b8f (svn r25372) -Add: Allow opening a goal list window specific to a company 2013-06-09 13:23:03 +00:00
rubidium
bfc8980c09 (svn r25371) -Fix: svn:eolstyle / svn:keywords 2013-06-09 13:18:37 +00:00
zuu
086aae8d04 (svn r25370) -Fix: Make the prefix for widget constants unique for the goal list window 2013-06-09 13:17:20 +00:00
zuu
8980cb427d (svn r25369) -Add: allow opening a story window specific to a company 2013-06-09 13:13:47 +00:00
fonsinchen
f373d29d62 (svn r25368) -Add: french translation for cargodist 2013-06-09 13:11:08 +00:00
fonsinchen
cdfb296783 (svn r25367) -Add: russian translation for cargodist 2013-06-09 13:10:36 +00:00
fonsinchen
2505963b65 (svn r25366) -Add: german translation for cargodist 2013-06-09 13:10:07 +00:00
fonsinchen
0fc198cb00 (svn r25365) -Feature: show cargo by next hops and final destinations in the station GUI 2013-06-09 13:08:52 +00:00
fonsinchen
b4ab43be5f (svn r25364) -Add: support for flow stats to linkgraph overlay 2013-06-09 13:07:53 +00:00
fonsinchen
0e5fa8d195 (svn r25363) -Codechange: bump the savegame version for cargodist 2013-06-09 13:06:03 +00:00
fonsinchen
741c431caa (svn r25362) -Feature: consider cargo waiting at other stations for rating at the origin station 2013-06-09 13:04:32 +00:00
fonsinchen
04e3eb6fab (svn r25361) -Feature: distribute cargo according to plan given by linkgraph 2013-06-09 13:03:48 +00:00
fonsinchen
a2ff96d682 (svn r25360) -Codechange: save and load flow stats 2013-06-09 13:03:11 +00:00
fonsinchen
5c8ff0a251 (svn r25359) -Codechange: schedule jobs when tracking capacities of links 2013-06-09 13:02:40 +00:00
fonsinchen
3d0a0e8e48 (svn r25358) -Codechange: save and load link graph jobs and the schedule 2013-06-09 13:02:05 +00:00
fonsinchen
575cabe90a (svn r25357) -Add: flow mapper for link graph 2013-06-09 13:01:23 +00:00
fonsinchen
9824d53d6a (svn r25356) -Add: Multi-Commodity-Flow solver for link graph 2013-06-09 13:00:41 +00:00
fonsinchen
6a46b5262f (svn r25355) -Add: demand handler for link graph 2013-06-09 12:59:51 +00:00
fonsinchen
c32eea02dd (svn r25354) -Add: link graph schedule and typedefs for LinkGraph and related classes 2013-06-09 12:58:37 +00:00
fonsinchen
22f56ffdd7 (svn r25353) -Add: link graph job implementation 2013-06-09 12:57:41 +00:00
zuu
33ad9774fb (svn r25352) -Feature: GameScript API for selecting a story page to view 2013-06-09 12:57:22 +00:00
fonsinchen
a49a4eec6e (svn r25351) -Add: settings for link graph 2013-06-09 12:56:35 +00:00
fonsinchen
fdf04f60e0 (svn r25350) -Add: basic definitions for link graph 2013-06-09 12:53:34 +00:00
fonsinchen
793cc5d9d6 (svn r25349) -Add: explanation of the link graph's inner workings 2013-06-09 12:52:50 +00:00
fonsinchen
4fd57501bb (svn r25348) -Add: multimap implementation with guaranteed order between equal keys 2013-06-09 12:52:11 +00:00
fonsinchen
dfad8317aa (svn r25347) -Add: function for deterministic approximate division 2013-06-09 12:50:33 +00:00
fonsinchen
db671ffb86 (svn r25346) -Codechange: Glue between stations and flow stats 2013-06-09 12:49:47 +00:00
fonsinchen
c8f068d979 (svn r25345) -Add: implementation of SharesMap and FlowStatMap 2013-06-09 12:48:42 +00:00
zuu
a2d84868e7 (svn r25344) -Feature: GUI for viewing story pages 2013-06-09 12:48:27 +00:00
zuu
e311902198 (svn r25343) -Add: method to count the number of lines required to draw a string with line warping 2013-06-09 12:21:44 +00:00
zuu
9aa1bf0264 (svn r25342) -Add: StoryPage data structures and GS API 2013-06-09 12:19:09 +00:00
rubidium
bea60988c6 (svn r25338) -Fix: missing eol-style and keywords svn properties 2013-06-09 09:25:22 +00:00
fonsinchen
16307a8a6f (svn r25337) -Fix: saving only 8 bits of 16 causes endianness problems 2013-06-08 20:47:59 +00:00
translators
ab8531ac9c (svn r25336) -Update from WebTranslator v3.0:
korean - 2 changes by telk5093
2013-06-08 17:45:51 +00:00
frosch
3ff6d19238 (svn r25335) -Change: Revisit the map menu in scenario editor: Remove linkgraph legend, add industry list. 2013-06-08 16:54:19 +00:00
frosch
d79b2b03d0 (svn r25334) -Fix: Position the linkgraph legend window automatically like most windows. 2013-06-08 16:52:33 +00:00
frosch
5bb1d01af9 (svn r25333) -Fix: Potential signedness issue. 2013-06-08 13:22:06 +00:00
zuu
a23b84fdfc (svn r25332) -Fix (25331): Committed too much 2013-06-08 13:02:28 +00:00
zuu
059eee93fc (svn r25331) -Fix (r25263): Update ScriptWindow with link graph widgets 2013-06-08 12:37:36 +00:00
fonsinchen
478fcadd21 (svn r25330) -Fix [FS#5583]: return some reserved cargo if vehicle is overloaded by station stopping acceptance for cargo scheduled to be delivered 2013-06-07 22:22:52 +00:00
fonsinchen
a1a96b2e8b (svn r25329) -Fix [FS#5582]: for refreshing next hops implicit orders are equivalent to explicit stopping orders 2013-06-07 22:12:39 +00:00
rubidium
4ed1de4683 (svn r25328) -Fix: remove zero width space from Urdu (unfinished) as well 2013-06-07 19:10:08 +00:00
rubidium
8b793e4791 (svn r25327) -Fix: remove zero width space 2013-06-07 19:05:19 +00:00
rubidium
b35b17beeb (svn r25326) -Fix [FS#5589]: check for zero width space in translations and fail upon finding them 2013-06-07 19:05:04 +00:00
translators
3283cf9373 (svn r25325) -Update from WebTranslator v3.0:
traditional_chinese - 55 changes by siu238X
persian - 120 changes by rkarimabadi
2013-06-07 17:45:12 +00:00
rubidium
12299afa31 (svn r25324) -Update: the baseset translations 2013-06-06 17:56:02 +00:00
translators
dba533b640 (svn r25323) -Update from WebTranslator v3.0:
traditional_chinese - 34 changes by siu238X
hungarian - 5 changes by Brumi
2013-06-06 17:45:14 +00:00
translators
71e26ce6db (svn r25322) -Update from WebTranslator v3.0:
german - 1 changes by Jogio
2013-06-05 17:45:08 +00:00
translators
c5f9488a26 (svn r25321) -Update from WebTranslator v3.0:
tamil - 18 changes by aswn
2013-06-04 17:45:07 +00:00
rubidium
0fbc7140c5 (svn r25320) -Fix [FS#5577]: link graph start time was not accounted for when cheating dates 2013-06-04 15:06:22 +00:00
rubidium
254c3834d0 (svn r25319) -Fix [FS#5570]: crash when train with reserved cargo vanishes 2013-06-04 15:04:59 +00:00
matthijs
0d28dc92fc (svn r25318) -Fix: [SDL, FS#5580] Keyboard input stopped working after fullscreen toggle 2013-06-04 06:36:59 +00:00
translators
61f7b50480 (svn r25317) -Update from WebTranslator v3.0:
finnish - 1 changes by jpx_
galician - 106 changes by Michi
2013-06-03 17:45:13 +00:00
translators
bf96b0330c (svn r25316) -Update from WebTranslator v3.0:
lithuanian - 34 changes by RunisLabs
macedonian - 1 changes by Ristovski
norwegian_bokmal - 26 changes by cuthbert
2013-06-02 17:45:15 +00:00
translators
2093dea58a (svn r25315) -Update from WebTranslator v3.0:
catalan - 33 changes by arnau
croatian - 4 changes by VoyagerOne
indonesian - 8 changes by Yoursnotmine
vietnamese - 19 changes by myquartz, nglekhoi
welsh - 5 changes by kazzie
2013-06-01 17:45:29 +00:00
frosch
4261b6cc82 (svn r25314) -Fix (r25313): If '0' is the broadest digit, 0 * sum(10^i, i=0..(n-1)) is not the broadest n-digit number.
-Fix [FS#5562]: Proper size-estimation for numbers with n digits.
2013-06-01 15:10:32 +00:00
frosch
ce110eed32 (svn r25313) -Fix: Do not assume '8' to be the broadest digit, but test all of them. 2013-06-01 14:33:48 +00:00
rubidium
f292a87dc4 (svn r25312) -Fix-ish: missing spaces after comma + realignment of tables; quite boring with -x -w 2013-06-01 07:44:53 +00:00
rubidium
c9f514eb4c (svn r25311) -Merge: documentation updates from 1.3 2013-05-31 20:57:19 +00:00
frosch
4b286812c3 (svn r25307) -Fix: Do not focus the editbox in the NewGRF window, if there is no editbox visible. 2013-05-31 18:47:49 +00:00
translators
7b3bd1adda (svn r25306) -Update from WebTranslator v3.0:
czech - 38 changes by LucikMucik
romanian - 22 changes by mariush
2013-05-30 17:45:17 +00:00
zuu
a58427115c (svn r25305) -Fix [FS#5561]: Game Script APIs that execute a DoCommand were returning the same result as in TestMode during world generation 2013-05-29 19:31:58 +00:00
frosch
2547523c0f (svn r25304) -Change: Move the GS goals window from the subsidies to the league menu. 2013-05-29 18:49:58 +00:00
translators
4c1e969a31 (svn r25303) -Update from WebTranslator v3.0:
korean - 5 changes by telk5093
gaelic - 9 changes by GunChleoc
swedish - 4 changes by Joel_A
turkish - 40 changes by niw3
2013-05-29 17:45:26 +00:00
frosch
812faf08b5 (svn r25302) -Fix [FS#5565]: Build railway fences next to objects, even if they are owned by the same company. 2013-05-29 17:13:53 +00:00
frosch
caa324ba89 (svn r25301) -Change: Slightly enlarge the default-windowsize button icon. 2013-05-28 20:10:41 +00:00
translators
a28cfd2d74 (svn r25300) -Update from WebTranslator v3.0:
italian - 3 changes by lorenzodv
portuguese - 8 changes by hthief
russian - 1 changes by Lone_Wolf
gaelic - 8 changes by GunChleoc
vietnamese - 7 changes by nglekhoi
2013-05-28 17:45:28 +00:00
zuu
168391ad56 (svn r25299) -Feature: Allow more concurrent goals in a game 2013-05-27 21:59:11 +00:00
translators
73c96fc66d (svn r25298) -Update from WebTranslator v3.0:
dutch - 4 changes by habell
english_AU - 3 changes by mrtux
english_US - 4 changes by Rubidium
finnish - 4 changes by jpx_
german - 3 changes by planetmaker
italian - 1 changes by lorenzodv
polish - 4 changes by nouwak
russian - 3 changes by Lone_Wolf
gaelic - 3 changes by GunChleoc
spanish - 4 changes by Terkhen
2013-05-27 17:45:55 +00:00
frosch
dd826ecbdf (svn r25297) -Fix (r25291): 32bit compilation. 2013-05-26 20:17:07 +00:00
zuu
a4cddc3e08 (svn r25296) -Feature: Goals can now have a progress text and/or be marked as completed. 2013-05-26 19:54:43 +00:00
frosch
05c472f08a (svn r25295) -Feature: Allow saving window sizes as default sizes. 2013-05-26 19:30:31 +00:00
frosch
4e4e635916 (svn r25294) -Feature: Add another button to window title bars to resize the window to its default size. 2013-05-26 19:30:07 +00:00
frosch
559b7ef35e (svn r25293) -Add: GUI sprite for default window size button. 2013-05-26 19:29:43 +00:00
frosch
ed851034f5 (svn r25292) -Feature: Save stickyness of windows when Ctrl+Clicking the sticky button. 2013-05-26 19:27:44 +00:00
frosch
23ba42b66c (svn r25291) -Add: WindowDesc ability to load and store information in a config file. 2013-05-26 19:27:22 +00:00
frosch
8157a8afd8 (svn r25290) -Add: Assign string names to notable windows. 2013-05-26 19:25:01 +00:00
frosch
8c4714ad90 (svn r25289) -Codechange: Store width of statusbar and main toolbar directly in the WindowDesc. 2013-05-26 19:24:37 +00:00
frosch
b6d76c4d4c (svn r25288) -Codechange: No need to copy the WindowDesc flags if the WindowDesc is directly accessible. 2013-05-26 19:24:11 +00:00
frosch
56e4a8c4d6 (svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window after construction. 2013-05-26 19:23:42 +00:00
translators
b10a4f151a (svn r25286) -Update from WebTranslator v3.0:
gaelic - 46 changes by GunChleoc
2013-05-26 17:45:10 +00:00
translators
a7c9c6a4e7 (svn r25285) -Update from WebTranslator v3.0:
korean - 1 changes by telk5093
2013-05-25 17:45:08 +00:00
alberth
c3a7ed5a65 (svn r25284) -Feature: When opening the object-build window, restore the object build-window to the previous state (sbr). 2013-05-24 19:13:59 +00:00
alberth
4037251c82 (svn r25283) -Add: When opening the object-build window, make the selected object visible again in the selector (sbr). 2013-05-24 19:12:45 +00:00
alberth
4bdf33a1df (svn r25282) -Add: When opening the object-build window, try to restore the last selected object (sbr). 2013-05-24 19:11:30 +00:00
alberth
ca5b64a433 (svn r25281) -Add: When opening the object-build window, make the last selected class visible in the class selector (sbr). 2013-05-24 19:08:35 +00:00
translators
5a420d8435 (svn r25280) -Update from WebTranslator v3.0:
finnish - 10 changes by jpx_
korean - 22 changes by telk5093
2013-05-24 17:45:11 +00:00
translators
fad530cf07 (svn r25279) -Update from WebTranslator v3.0:
hungarian - 26 changes by zorg
welsh - 1 changes by kazzie
2013-05-23 17:45:13 +00:00
planetmaker
1cbfb7e961 (svn r25278) -Doc: Update some small parts of the readme 2013-05-23 17:11:55 +00:00
rubidium
2a83335828 (svn r25277) -Fix: invalid command code 2013-05-22 20:35:40 +00:00
translators
de45be0cae (svn r25276) -Update from WebTranslator v3.0:
dutch - 22 changes by habell
polish - 22 changes by wojteks86
swedish - 4 changes by Joel_A
2013-05-22 17:45:18 +00:00
translators
391318ed80 (svn r25275) -Update from WebTranslator v3.0:
croatian - 2 changes by VoyagerOne
english_AU - 2 changes by mrtux
english_US - 2 changes by Rubidium
finnish - 16 changes by jpx_
german - 2 changes by planetmaker
icelandic - 1 changes by Stimrol
italian - 15 changes by lorenzodv
polish - 1 changes by wojteks86
russian - 6 changes by Lone_Wolf, perk11
gaelic - 1 changes by GunChleoc
spanish - 2 changes by Terkhen
welsh - 21 changes by kazzie
2013-05-21 17:46:12 +00:00
rubidium
2f7d9a2851 (svn r25274) -Cleanup: remove unused class instance variables 2013-05-20 20:26:56 +00:00
rubidium
992989dccb (svn r25273) -Cleanup: remove now unused string 2013-05-20 19:59:32 +00:00
rubidium
15b67dbafa (svn r25272) -Feature: show the approximate monthly supply to a station of the different cargoes (fonsinchen) 2013-05-20 19:57:38 +00:00
translators
d220c1d208 (svn r25271) -Update from WebTranslator v3.0:
english_AU - 21 changes by mrtux
french - 21 changes by glx
russian - 4 changes by perk11
spanish - 20 changes by Terkhen
2013-05-20 17:45:22 +00:00
rubidium
9aae00cc87 (svn r25270) -Fix: @file wrong for link_graph_legend_widget.h 2013-05-20 13:37:59 +00:00
michi_cc
23a5c6a8c8 (svn r25269) -Feature [FS#5552]: [Win32] Driver param for the DirectMusic driver to specify the ouput port to use. (Based on patch by gulikoza) 2013-05-20 13:35:41 +00:00
michi_cc
a959f0c23e (svn r25268) -Codechange: [Win32] Simplify resource deallocation in case initializing the DirectMusic driver fails. 2013-05-20 13:35:38 +00:00
translators
ed858c08ca (svn r25267) -Update from WebTranslator v3.0:
croatian - 20 changes by VoyagerOne
czech - 2 changes by Eskymak
english_US - 21 changes by Rubidium
faroese - 4 changes by FastNinja
finnish - 7 changes by jpx_
german - 20 changes by planetmaker
icelandic - 1 changes by Stimrol
italian - 18 changes by lorenzodv
polish - 4 changes by wojteks86
russian - 20 changes by Lone_Wolf
swedish - 21 changes by Zuu
tamil - 10 changes by aswn
vietnamese - 1 changes by nglekhoi
2013-05-19 17:46:09 +00:00
glx
f9be533f9e (svn r25266) -Fix: gcc4.6 removed -mno-cygwin option 2013-05-19 15:44:09 +00:00
rubidium
da9729634d (svn r25265) -Fix: cargos vs cargoes inconsistency 2013-05-19 14:54:52 +00:00
rubidium
ef7befdbd8 (svn r25264) -Feature: linkgraph overlay over main viewport (fonsinchen) 2013-05-19 14:49:25 +00:00
rubidium
50ae992b47 (svn r25263) -Add: legend for linkgraph overlay (fonsinchen) 2013-05-19 14:43:23 +00:00
rubidium
163dfdd34a (svn r25262) -Feature: linkgraph overlay for smallmap 2013-05-19 14:36:35 +00:00
rubidium
5bca50c466 (svn r25261) -Add: abstract implementation of linkgraph overlay for GUI (fonsinchen) 2013-05-19 14:30:40 +00:00
rubidium
be4f85766c (svn r25260) -Codechange: occasionally clear dead links and compress link graphs (fonsinchen) 2013-05-19 14:26:14 +00:00
rubidium
3947453277 (svn r25259) -Codechange: track capacities and usage of links 2013-05-19 14:22:04 +00:00
rubidium
0cc3d8df4b (svn r25258) -Codechange: save linkgraph (fonsinchen) 2013-05-19 14:17:02 +00:00
rubidium
06313e4981 (svn r25257) -Add: basic link graph (fonsinchen) 2013-05-19 14:11:20 +00:00
rubidium
b0a2818ed0 (svn r25256) -Add: small matrix type (like vector, but for matrices) (fonsinchen) 2013-05-19 14:06:26 +00:00
planetmaker
216888485e (svn r25254) -Cleanup: Remove the changed / unused strings from translations 2013-05-19 09:08:50 +00:00
planetmaker
7e4f68d275 (svn r25253) -Codechange: Rename the strings of the advertisement settings to better reflect what they do 2013-05-19 09:07:43 +00:00
planetmaker
c8dbb42b60 (svn r25252) -Change: Clarify the meaning of the server advertisement settings 2013-05-19 09:06:24 +00:00
rubidium
1a0c081c18 (svn r25251) -Fix [FS#5540]: when overbuilding a reserved track with a non-track station tile, that tile would remain reserved and eventually trigger a crash upon removal 2013-05-18 18:59:06 +00:00
planetmaker
3e163928c3 (svn r25250) -Add: Apply changed and newly added translations for base set descriptions 2013-05-18 15:30:32 +00:00
translators
8c879e25a6 (svn r25246) -Update from WebTranslator v3.0:
korean - 1 changes by telk5093
gaelic - 204 changes by GunChleoc
2013-05-16 17:45:14 +00:00
translators
93c301c901 (svn r25245) -Update from WebTranslator v3.0:
czech - 1 changes by micropro_cz
russian - 1 changes by Lone_Wolf
gaelic - 47 changes by GunChleoc
slovak - 1 changes by micropro_cz
2013-05-15 17:47:18 +00:00
translators
dde08b0240 (svn r25244) -Update from WebTranslator v3.0:
italian - 1 changes by lorenzodv
spanish - 1 changes by Terkhen
2013-05-14 17:46:07 +00:00
rubidium
0d05b8a0fb (svn r25243) -Fix [FS#5546]: "No station" error was given, even when there was a station that way occupied or not yours 2013-05-13 21:04:12 +00:00
translators
df126a24de (svn r25239) -Update from WebTranslator v3.0:
croatian - 1 changes by VoyagerOne
dutch - 1 changes by habell
english_AU - 10 changes by mrtux
english_US - 1 changes by Rubidium
german - 1 changes by planetmaker
2013-05-13 17:49:44 +00:00
alberth
1b5b4db690 (svn r25238) -Feature: Display imminent closure of an industry in its view window. 2013-05-12 19:38:30 +00:00
translators
7671ea3b43 (svn r25237) -Update from WebTranslator v3.0:
frisian - 8 changes by Flexo
welsh - 9 changes by kazzie
2013-05-12 17:45:13 +00:00
rubidium
001fdc3682 (svn r25236) -Fix [FS#5547]: crash when AI is executing a command as it is bankrupted (removed from the game)
The command is placed in a queue for processing before it is bankrupted, after that the command
is executed. This command yields a failure because the company does not exist, but then it still
needs to call the callback. This callback tries to access the AI's virtual machine without any
checks, so it starts to read a just freed pointer and segfaults.
2013-05-12 13:12:55 +00:00
rubidium
5931faeff6 (svn r25235) -Fix [FS#5543]: keep all cargo whenever cancelling reservations (fonsinchen) 2013-05-12 11:53:53 +00:00
translators
9bbc37450c (svn r25234) -Update from WebTranslator v3.0:
russian - 2 changes by perk11
2013-05-11 17:45:09 +00:00
translators
41244765b5 (svn r25233) -Update from WebTranslator v3.0:
galician - 15 changes by Michi
2013-05-10 17:45:48 +00:00
translators
8a7573f9f8 (svn r25232) -Update from WebTranslator v3.0:
german - 9 changes by Jogio
lithuanian - 1 changes by Stabilitronas
2013-05-07 17:45:13 +00:00
frosch
1e41b38b7d (svn r25231) -Fix (r25227): Also update infrastructure counts. (adf88) 2013-05-07 13:49:18 +00:00
frosch
71cfe3d474 (svn r25230) -Feature: [NewGRF] Expose sprite base of foundation and shore sprites via Action D Game Variables. 2013-05-07 12:38:43 +00:00
planetmaker
a8ba748434 (svn r25229) -Feature: [NewGRF] Variable 0x82 for canals and rivers (dike map) 2013-05-06 20:48:18 +00:00
frosch
26dd535c6b (svn r25228) -Fix: Dates have no cases. 2013-05-06 18:17:42 +00:00
frosch
d3b9a55535 (svn r25227) -Fix [FS#5541]: Give bridges owned by noone (from bankrupt companies) to the first company which replaces the bridge. Everyone could have removed/rebuild the bridge anyway. 2013-05-06 15:41:34 +00:00
frosch
266bdfaffe (svn r25226) -Fix/Change [FS#5538]: [NewGRF] Revise when vehicle running sound effects 04, 07 and 08 are played.
In depot or tunnel, or when crashed or stopped: No sound.
  Braking: Effect 08 instead of 07.
2013-05-06 15:09:21 +00:00
frosch
9dee2f5c1e (svn r25225) -Fix: [NewGRF] Play vehicle sound effect also for planes. 2013-05-06 14:57:42 +00:00
frosch
2030d1cf60 (svn r25224) -Fix [part of FS#5534]: cur_speed is only valid for the front engine, so make other engines in the consist use the speed of the front. 2013-05-06 14:08:27 +00:00
frosch
341a6f6e95 (svn r25223) -Change: [NewGRF] Unify the behaviour of Aircraft::tick_counter with other vehicle types and increment it once per tick. (instead of twice like before, or six times like in r0) 2013-05-06 13:59:11 +00:00
frosch
65855af084 (svn r25222) -Change: Unify the behaviour of Vehicle::tick_counter between RV and trains by incrementing it also for articulated RV parts. 2013-05-06 13:45:58 +00:00
frosch
b9528c3aa0 (svn r25221) -Fix: IsCompatibleTrainStationTile() is not a symmetric function. Clarify the parameters and fix the cases were they were swapped. 2013-05-06 13:05:04 +00:00
frosch
02924a1d3e (svn r25220) -Change [FS#Eddi]: Consider map border as water wrt. river/canal continuation. 2013-05-06 12:49:04 +00:00
translators
f2322974a2 (svn r25219) -Update from WebTranslator v3.0:
galician - 37 changes by Michi
gaelic - 20 changes by GunChleoc
2013-05-05 17:45:13 +00:00
rubidium
8d10337bf0 (svn r25218) -Fix: the baseset description translation script did not work with any awk other than gawk 2013-05-04 19:30:37 +00:00
translators
ff3baa1914 (svn r25217) -Update from WebTranslator v3.0:
gaelic - 23 changes by GunChleoc
2013-05-03 17:45:08 +00:00
translators
3b641c7184 (svn r25216) -Update from WebTranslator v3.0:
galician - 90 changes by Michi
icelandic - 9 changes by Stimrol
gaelic - 24 changes by GunChleoc
2013-05-02 17:45:18 +00:00
translators
f7dc4a50f4 (svn r25215) -Update from WebTranslator v3.0:
galician - 185 changes by Michi
gaelic - 1 changes by GunChleoc
vietnamese - 4 changes by nglekhoi
2013-05-01 17:45:23 +00:00
translators
414399540a (svn r25214) -Update from WebTranslator v3.0: 2013-04-30 17:49:25 +00:00
rubidium
5730e63a10 (svn r25213) -Fix [FS#5537]: clarify on which tiles IsDesertTile and IsSnowTile work, i.e. the ones without infrastructure or buildings
-Feature: introduce GetTerrainType which allows one to get that information for tiles with buildings and infrastructure as well
2013-04-30 17:16:32 +00:00
translators
5b55afb7bd (svn r25211) -Update from WebTranslator v3.0:
vietnamese - 4 changes by nglekhoi
welsh - 4 changes by kazzie
2013-04-29 17:45:59 +00:00
translators
4e99ac5f92 (svn r25210) -Update from WebTranslator v3.0:
gaelic - 6 changes by GunChleoc
2013-04-27 17:45:08 +00:00
planetmaker
7609dc7fdf (svn r25209) -Doc: Mention --without-grfcodec in the help for configure and explain its use in the readme 2013-04-26 18:39:15 +00:00
frosch
f383011f97 (svn r25208) -Update: Baseset translations 2013-04-26 17:46:09 +00:00
translators
6eba94a396 (svn r25207) -Update from WebTranslator v3.0:
english_AU - 8 changes by mrtux
galician - 300 changes by Michi
korean - 9 changes by telk5093
gaelic - 49 changes by GunChleoc
welsh - 3 changes by kazzie
2013-04-26 17:45:28 +00:00
translators
4f38b5b076 (svn r25206) -Update from WebTranslator v3.0:
belarusian - 8 changes by KorneySan
finnish - 7 changes by jpx_
russian - 1 changes by KorneySan
ukrainian - 2 changes by nsergiy
2013-04-25 17:45:26 +00:00
frosch
df63cb6cef (svn r25205) -Feature: Translations of baseset descriptions via lang files. 2013-04-24 20:30:02 +00:00
translators
f442cd7798 (svn r25202) -Update from WebTranslator v3.0:
galician - 80 changes by Michi
gaelic - 350 changes by GunChleoc
2013-04-24 17:45:14 +00:00
frosch
e586c29b31 (svn r25201) -Add: Scottish Gaelic translations for baseset descriptions (GunChleoc) 2013-04-24 16:55:43 +00:00
michi_cc
461d366f30 (svn r25200) -Fix (r24846): The level crossing sound is an ambient sound and not a new year sound. 2013-04-24 00:37:06 +00:00
rubidium
90015a6953 (svn r25199) -Fix: give Gaelic its own NewGRF language ID 2013-04-23 15:42:14 +00:00
rubidium
8a879c49b7 (svn r25198) -Feature: Gaelic (Scottish) translation 2013-04-23 14:46:17 +00:00
translators
8dca3a85ba (svn r25197) -Update from WebTranslator v3.0:
faroese - 1 changes by FastNinja
galician - 126 changes by Michi
gaelic - 506 changes by GunChleoc
2013-04-23 14:44:12 +00:00
translators
8f8a7e7ea6 (svn r25196) -Update from WebTranslator v3.0:
croatian - 2 changes by VoyagerOne
brazilian_portuguese - 9 changes by and_opttd
gaelic - 372 changes by GunChleoc
2013-04-22 17:45:22 +00:00
translators
57ed1f259f (svn r25195) -Update from WebTranslator v3.0:
luxembourgish - 19 changes by Phreeze
gaelic - 244 changes by GunChleoc
tamil - 2 changes by aswn
2013-04-21 17:45:18 +00:00
translators
006c2d5629 (svn r25194) -Update from WebTranslator v3.0:
tamil - 10 changes by aswn
2013-04-19 17:45:10 +00:00
frosch
e28659aa51 (svn r25193) -Cleanup: [strgen] Remove some ancient unused string codes. 2013-04-17 18:24:13 +00:00
frosch
bcd5038af9 (svn r25192) -Change: [strgen] Allow any number of colour codes in translations. 2013-04-17 18:22:37 +00:00
frosch
b09bf08044 (svn r25191) -Codechange/Fix: [strgen] Make -export-commands use the actual command classification from strgen_tables.h instead of using something incompletely duplicated. 2013-04-17 18:21:43 +00:00
translators
e4c3528a78 (svn r25190) -Update from WebTranslator v3.0:
gaelic - 187 changes by GunChleoc
2013-04-17 17:45:08 +00:00
translators
dd3b4c99fe (svn r25189) -Update from WebTranslator v3.0:
gaelic - 113 changes by GunChleoc
2013-04-16 17:45:08 +00:00
translators
c909421e6f (svn r25188) -Update from WebTranslator v3.0:
danish - 18 changes by Gankenstein
gaelic - 169 changes by GunChleoc
vietnamese - 2 changes by nglekhoi
2013-04-15 17:46:44 +00:00
translators
25022d5345 (svn r25187) -Update from WebTranslator v3.0:
gaelic - 77 changes by GunChleoc
2013-04-14 17:45:06 +00:00
translators
2aa0e9a80b (svn r25186) -Update from WebTranslator v3.0:
danish - 1 changes by frosch
korean - 2 changes by telk5093
2013-04-13 17:45:14 +00:00
frosch
5eddbb338b (svn r25185) -Fix [FS#5508]: Remove ambivalent functions CargoList::Empty() and Count(), and replace them with VehicleCargoList::StoredCount(), TotalCount(), StationCargoList::AvailableCount() and TotalCount(). (fonsinchen) 2013-04-13 13:42:08 +00:00
translators
8d1d521456 (svn r25178) -Update from WebTranslator v3.0:
gaelic - 14 changes by GunChleoc
2013-04-12 17:45:08 +00:00
translators
31adca0eee (svn r25177) -Update from WebTranslator v3.0:
faroese - 54 changes by FastNinja
hungarian - 2 changes by IPG
2013-04-11 17:45:12 +00:00
rubidium
ea7ab09ede (svn r25176) -Feature: Faroese translation 2013-04-10 15:28:15 +00:00
translators
6fc5587be5 (svn r25175) -Update from WebTranslator v3.0:
faroese - 243 changes by FastNinja
2013-04-10 15:26:40 +00:00
translators
27a9beda3f (svn r25171) -Update from WebTranslator v3.0:
faroese - 6 changes by FastNinja
gaelic - 106 changes by GunChleoc
2013-04-09 17:45:16 +00:00
frosch
1eb6e76d08 (svn r25167) -Fix [FS#5523] (r24832): Original train and rv acceleration did no longer respect bridge speed limits. 2013-04-08 19:55:24 +00:00
translators
016730ab10 (svn r25166) -Update from WebTranslator v3.0:
faroese - 923 changes by FastNinja
german - 2 changes by planetmaker
korean - 2 changes by telk5093
norwegian_bokmal - 3 changes by cuthbert
2013-04-08 17:45:39 +00:00
translators
3419d19a36 (svn r25164) -Update from WebTranslator v3.0:
faroese - 276 changes by FastNinja
serbian - 28 changes by ivan_mile
2013-04-07 17:45:14 +00:00
michi_cc
55ba9320f3 (svn r25157) -Feature: Determine the default font height for vector fonts according to the minimum readable height that the font provides. 2013-04-06 22:06:44 +00:00
rubidium
2b6669a7ff (svn r25156) -Fix [FS#5495, FS#5497]: if a vehicle had some cargo, and it would try to unload without actually unloading, the vehicle would just not load any cargo at the station (fonsinchen) 2013-04-06 18:57:18 +00:00
michi_cc
2d67f07975 (svn r25155) -Codechange: [Win32] Improve SHGetFolderPath emulation. 2013-04-06 18:36:49 +00:00
michi_cc
3349cb3347 (svn r25154) -Fix: [Win32] Don't store invalid paths in the search path list. 2013-04-06 18:36:45 +00:00
michi_cc
d1212e0b1a (svn r25153) -Fix [FS#5522] (r24487): [Win32] Don't statically link to SHGetFolderPath as it may not exist. 2013-04-06 18:36:41 +00:00
rubidium
aa2c1ce4b0 (svn r25152) -Fix-ish [FS#5520]: remove stray reservation from savegames affected by FS#5510 et al. upon loading 2013-04-06 18:30:45 +00:00
translators
6772aebbb6 (svn r25151) -Update from WebTranslator v3.0:
faroese - 528 changes by FastNinja
italian - 1 changes by lorenzodv
spanish - 3 changes by Terkhen
2013-04-06 17:45:17 +00:00
rubidium
7a3d549f2f (svn r25150) -Fix [FS#5514]: [Script] The was no way to differentiate between a cargo-station combination with or without rating, so introduce [AI|GS]Station::HasRating and let GetRating return -1 when there is no rating 2013-04-06 12:36:33 +00:00
rubidium
b2292122b6 (svn r25149) -Codechange: replace 'magic' 'has rating' bitcheck by descriptive function 2013-04-06 12:10:16 +00:00
rubidium
70454b8d64 (svn r25148) -Fix [FS#5517]: [Script] XXBase::Chance function did not work for large values (>65535) 2013-04-06 11:59:27 +00:00
rubidium
e5a77f94bd (svn r25147) -Fix [FS#5506]: HTML documentation about the map array had a number of small errors (Juanjo) 2013-04-05 19:35:56 +00:00
translators
b07f650ed1 (svn r25146) -Update from WebTranslator v3.0:
english_US - 10 changes by Rubidium
faroese - 387 changes by FastNinja
finnish - 3 changes by jpx_
galician - 14 changes by Michi
2013-04-05 17:45:22 +00:00
rubidium
7e12c449f1 (svn r25144) -Fix (r25143): one of the changes strings was used in the regression test, which subsequently failed 2013-04-04 20:15:51 +00:00
rubidium
9036397d93 (svn r25143) -Fix [FS#5496]: several typos/inconsistencies in English strings (Evropi, kazzie) 2013-04-04 20:08:52 +00:00
translators
2ef98e0b7d (svn r25142) -Update from WebTranslator v3.0:
esperanto - 3 changes by potwor
faroese - 300 changes by FastNinja
galician - 125 changes by Michi
indonesian - 22 changes by Yoursnotmine
2013-04-04 17:45:19 +00:00
frosch
1e9049e0bd (svn r25141) -Fix: When extra dynamite was disabled, towns would be allowed to clear bridges with trams. 2013-04-03 20:25:06 +00:00
frosch
87fae6ba57 (svn r25140) -Fix [FS#5519]: Towns are build as OWNER_TOWN, so they also need to be removed as OWNER_TOWN. 2013-04-03 20:24:10 +00:00
translators
c56c4f7b34 (svn r25139) -Update from WebTranslator v3.0:
traditional_chinese - 3 changes by Marcadana
faroese - 177 changes by FastNinja
galician - 16 changes by Michi
macedonian - 4 changes by Ristovski
2013-04-03 17:45:15 +00:00
translators
63cee3d0ef (svn r25138) -Update from WebTranslator v3.0:
simplified_chinese - 1 changes by chenwt0315
faroese - 378 changes by FastNinja
galician - 271 changes by Michi
spanish - 12 changes by lpenap
2013-04-02 17:45:19 +00:00
translators
d3faaa6543 (svn r25137) -Update from WebTranslator v3.0:
faroese - 17 changes by FastNinja
galician - 38 changes by Michi
hungarian - 1 changes by IPG
vietnamese - 6 changes by nglekhoi
2013-04-01 17:45:20 +00:00
rubidium
327615c2ce (svn r25136) -Merge: 1.3 release (documentation) updates 2013-03-31 21:14:39 +00:00
rubidium
9986691220 (svn r25132) -Fix [FS#5510, FS#5516]: station rebuilding could leave reserved tiles which caused crashes later on 2013-03-31 20:07:32 +00:00
translators
28a54208a3 (svn r25131) -Update from WebTranslator v3.0:
faroese - 73 changes by FastNinja
french - 5 changes by glx
welsh - 5 changes by kazzie
2013-03-31 18:45:13 +00:00
translators
92b8334c86 (svn r25130) -Update from WebTranslator v3.0:
galician - 21 changes by Michi
korean - 16 changes by telk5093
welsh - 34 changes by kazzie
2013-03-30 18:45:30 +00:00
michi_cc
8ce21bb1c0 (svn r25128) -Codechange: [Win32] MSVC 2010 comes with stdint.h. 2013-03-30 13:50:46 +00:00
translators
9df9da8e0c (svn r25127) -Update from WebTranslator v3.0:
galician - 294 changes by Michi
greek - 8 changes by Evropi
welsh - 65 changes by kazzie
2013-03-29 18:45:19 +00:00
translators
1fa1542eab (svn r25126) -Update from WebTranslator v3.0:
galician - 274 changes by Michi
welsh - 30 changes by kazzie
2013-03-28 18:45:12 +00:00
translators
2d209a5c30 (svn r25125) -Update from WebTranslator v3.0:
lithuanian - 9 changes by Devastator, Stabilitronas
gaelic - 1 changes by GunChleoc
welsh - 31 changes by kazzie
2013-03-27 18:45:17 +00:00
translators
4f7aedecc3 (svn r25124) -Update from WebTranslator v3.0:
simplified_chinese - 16 changes by chenwt0315
japanese - 13 changes by Aknuth
korean - 3 changes by telk5093
latvian - 4 changes by Parastais
welsh - 159 changes by kazzie
2013-03-26 18:45:28 +00:00
rubidium
bdaf082fc2 (svn r25123) -Fix: when the count for a scrollbar was 0, the inter distance was subtracted too much causing a scrollbar with a negative size 2013-03-25 20:59:59 +00:00
translators
4b3ead97c5 (svn r25122) -Update from WebTranslator v3.0:
catalan - 1 changes by arnau
2013-03-25 18:45:10 +00:00
frosch
451e2ea02b (svn r25121) -Fix: Editboxes could become too small when resizing windows. 2013-03-24 19:51:53 +00:00
translators
41ca81dc41 (svn r25120) -Update from WebTranslator v3.0:
macedonian - 1 changes by Ristovski
vietnamese - 2 changes by nglekhoi
2013-03-24 18:45:09 +00:00
frosch
79185e7a2b (svn r25119) -Codechange [FS#5512]: Improve the clipping/visiblity check before sending lines to blitter for drawing. (fonsinchen) 2013-03-24 11:54:37 +00:00
frosch
166513bbd4 (svn r25118) -Codechange: Deduplicate basic line clipping code. (fonsinchen) 2013-03-24 11:20:37 +00:00
frosch
5046922f61 (svn r25117) -Fix [FS#5511]: Silence warning. 2013-03-24 11:04:58 +00:00
translators
9370e981b9 (svn r25116) -Update from WebTranslator v3.0:
greek - 2 changes by Evropi
korean - 1 changes by telk5093
swedish - 2 changes by Joel_A
2013-03-23 18:45:19 +00:00
frosch
30f601d685 (svn r25115) -Fix (r8973) [FS#5492-ish]: [NewGRF] Acceleration of NewGRF aircraft was too fast, while acceleration of default aircraft was way too slow. I.e. choose wisely who to let write the software for your orbiter. 2013-03-22 21:27:13 +00:00
frosch
9eab26a1a1 (svn r25114) -Fix [FS#5509]: GS lang files did not work, when inside a tar. 2013-03-22 21:21:45 +00:00
translators
da68c497af (svn r25113) -Update from WebTranslator v3.0:
serbian - 18 changes by ivan_mile
2013-03-22 18:45:07 +00:00
translators
11ae4a8515 (svn r25112) -Update from WebTranslator v3.0:
english_AU - 1 changes by mrtux
serbian - 17 changes by ivan_mile
2013-03-21 18:45:13 +00:00
translators
af3678ff24 (svn r25111) -Update from WebTranslator v3.0:
belarusian - 3 changes by KorneySan
greek - 22 changes by Evropi
icelandic - 11 changes by Stimrol
2013-03-20 18:45:18 +00:00
translators
1fbabacda5 (svn r25110) -Update from WebTranslator v3.0:
croatian - 1 changes by VoyagerOne
czech - 1 changes by micropro_cz
dutch - 1 changes by habell
icelandic - 20 changes by Stimrol
macedonian - 17 changes by Ristovski
slovak - 1 changes by micropro_cz
2013-03-19 18:45:31 +00:00
translators
fe3ffb29dd (svn r25109) -Update from WebTranslator v3.0:
german - 1 changes by planetmaker
italian - 1 changes by lorenzodv
polish - 1 changes by xaxa
swedish - 3 changes by Joel_A
2013-03-18 18:45:23 +00:00
matthijs
aad9273248 (svn r25108) -Fix: Pass $LDFLAGS_BUILD to all endian_check compilations.
- In Makefile.{lang,setting}.in the flags were already passed since r24365.
2013-03-18 14:45:06 +00:00
rubidium
2661b5cfff (svn r25107) -Change: be slightly more lenient with trying to detect a subversion repository in case someone has a sparse tags checkout. In that case the .svn folder misses from the $ROOT_DIR because it is in the $ROOT_DIR/.. (i.e. tags) folder 2013-03-18 06:18:06 +00:00
zuu
c6187b5d97 (svn r25104) -Fix [FS#5507]: Allow changing GS settings in-game via the AI/GS config window. 2013-03-17 21:58:18 +00:00
translators
a78baec2ea (svn r25100) -Update from WebTranslator v3.0:
english_US - 1 changes by Rubidium
finnish - 1 changes by jpx_
russian - 1 changes by Lone_Wolf
spanish - 1 changes by Terkhen
2013-03-17 18:45:24 +00:00
frosch
cf4a2702f8 (svn r25099) -Fix [FS#5492]: Limit aircraft property 0D to 19, since the conversion result to km-ish/h needs to fit into a byte. 2013-03-17 18:31:35 +00:00
alberth
8ca173e365 (svn r25098) -Change(r25094): Change the population string for other languages as well. 2013-03-17 16:11:19 +00:00
alberth
d5307c9722 (svn r25097) -Feature[FS#5288]: Add sorting on rating for the town directory window (based on work by sbr). 2013-03-17 15:45:24 +00:00
alberth
cfa42fcdce (svn r25096) -Feature: Do descending sort order on population by default, and stabilize sort of equally populated towns. 2013-03-17 15:44:19 +00:00
alberth
d62ab47c74 (svn r25095) -Codechange: Immediately save the sort order of the town directory instead of when closing the window. 2013-03-17 15:42:50 +00:00
alberth
15ec6e26f0 (svn r25094) -Feature: Introduce dropdown for selecting the sort criterion in the town directory window (sbr) 2013-03-17 15:41:40 +00:00
frosch
b09743f3e8 (svn r25093) -Fix [FS#5486]: Clicking the statusbar crashed, when news were pending but no news were shown yet. (3298) 2013-03-17 14:41:09 +00:00
frosch
c2c50b0c50 (svn r25092) -Codechange: Deduplicate keyboard handling between console and editboxes. 2013-03-17 13:05:45 +00:00
frosch
1ddf5a0786 (svn r25091) -Codechange: Call keycodes by their name. 2013-03-17 13:05:18 +00:00
frosch
19b18d7822 (svn r25090) -Fix: Make editbox character filters also apply to pasted content from clipboard. 2013-03-17 13:04:48 +00:00
frosch
579ee7a592 (svn r25089) -Codechange: Move CharSetFilter from QueryString to Textbuf. 2013-03-17 13:04:10 +00:00
translators
9cad36865f (svn r25088) -Update from WebTranslator v3.0:
english_AU - 8 changes by mrtux
finnish - 2 changes by jpx_
serbian - 27 changes by ivan_mile
2013-03-16 18:45:20 +00:00
translators
aef0ce895a (svn r25087) -Update from WebTranslator v3.0:
danish - 3 changes by beruic
2013-03-15 18:45:07 +00:00
translators
9401dc1cce (svn r25086) -Update from WebTranslator v3.0:
swedish - 34 changes by Joel_A
2013-03-14 18:45:08 +00:00
translators
5ab4f31f00 (svn r25085) -Update from WebTranslator v3.0:
czech - 7 changes by Eskymak
english_US - 2 changes by Rubidium
polish - 2 changes by wojteks86
2013-03-13 18:45:34 +00:00
translators
3d7d131602 (svn r25084) -Update from WebTranslator v3.0:
catalan - 2 changes by arnau
korean - 2 changes by telk5093
gaelic - 2 changes by GunChleoc
2013-03-12 18:45:19 +00:00
translators
bfede23628 (svn r25083) -Update from WebTranslator v3.0:
dutch - 3 changes by habell
greek - 3 changes by Evropi
hungarian - 2 changes by oklmernok
russian - 2 changes by Lone_Wolf
slovak - 11 changes by pedrofuture
spanish - 2 changes by Terkhen
2013-03-11 18:45:38 +00:00
frosch
aa2ff3d552 (svn r25082) -Codechange [FS#5501]: Simplify some code. (adf88) 2013-03-11 18:01:23 +00:00
frosch
f800c826a8 (svn r25081) -Fix [FS#5500]: Catch exception anonymously, if the exception content is not of interest. 2013-03-11 17:45:23 +00:00
translators
553277dcd3 (svn r25080) -Update from WebTranslator v3.0:
croatian - 4 changes by VoyagerOne
german - 3 changes by planetmaker
italian - 2 changes by lorenzodv
romanian - 9 changes by mariush
gaelic - 1 changes by planetmaker
welsh - 28 changes by kazzie
2013-03-10 18:45:35 +00:00
planetmaker
2559598dbb (svn r25079) -Feature-ish: Use the new, correct plural form in the Scottish Gaelic translation, now that WT3 is updated with that knowledge 2013-03-10 11:30:12 +00:00
planetmaker
3c2d8cc28d (svn r25078) -Add: New plural form to be used by Scottish Gaelic (1,11; 2,12; 3..10, 13..19; other) 2013-03-10 11:02:11 +00:00
translators
f1c53da256 (svn r25077) -Update from WebTranslator v3.0:
belarusian - 8 changes by Wowanxm
korean - 7 changes by telk5093
latvian - 3 changes by Parastais
polish - 2 changes by wojteks86
2013-03-09 18:45:27 +00:00
planetmaker
303ebbb6e4 (svn r25076) -Add [FS#5212]: Georgian Lari and Iranian Rial as currencies 2013-03-09 16:31:56 +00:00
planetmaker
fae3cbae9f (svn r25075) -Codechange: Allow for more than 32 currencies 2013-03-09 16:24:43 +00:00
planetmaker
bd301e8475 (svn r25074) -Cleanup: Simplify currency selection code slightly 2013-03-09 16:23:22 +00:00
planetmaker
e808104b88 (svn r25073) -Doc: Improve Currencies enum description 2013-03-09 16:21:47 +00:00
planetmaker
c22bbf5293 (svn r25072) -Codechange: Don't require the custom currency to be the last defined one 2013-03-09 16:16:17 +00:00
translators
54915063f0 (svn r25071) -Update from WebTranslator v3.0:
afrikaans - 9 changes by ewaldhorn
greek - 1 changes by Evropi
indonesian - 3 changes by Yoursnotmine
japanese - 10 changes by Aknuth
tamil - 1 changes by aswn
2013-03-08 18:45:38 +00:00
translators
41de7e0195 (svn r25070) -Update from WebTranslator v3.0:
korean - 2 changes by telk5093
polish - 1 changes by wojteks86
2013-03-07 18:45:15 +00:00
translators
b9405ee808 (svn r25068) -Update from WebTranslator v3.0:
dutch - 2 changes by habell
english_US - 3 changes by Rubidium
finnish - 3 changes by jpx_
hungarian - 3 changes by oklmernok
2013-03-05 18:45:21 +00:00
planetmaker
a742ad7d36 (svn r25064) -Fix [FS#5472]: Make sizes of the station preview identical list and direction selection identical in the station build window 2013-03-04 21:23:38 +00:00
translators
9e6b3b5102 (svn r25063) -Update from WebTranslator v3.0:
afrikaans - 71 changes by ewaldhorn
belarusian - 3 changes by KorneySan
catalan - 2 changes by arnau
italian - 2 changes by lorenzodv
norwegian_bokmal - 5 changes by Tinman, bjelleklang
norwegian_nynorsk - 1 changes by bjelleklang
russian - 3 changes by KorneySan, Lone_Wolf
vietnamese - 3 changes by nglekhoi
2013-03-04 18:45:41 +00:00
translators
7c1b4ee376 (svn r25062) -Update from WebTranslator v3.0:
german - 2 changes by planetmaker
greek - 1 changes by Evropi
italian - 1 changes by lorenzodv
spanish - 2 changes by Terkhen
2013-03-03 18:45:41 +00:00
frosch
d3c0e1d340 (svn r25061) -Fix: When allocation of the sprite cache fails, try to allocate less memory and display an error message later on. 2013-03-03 13:00:06 +00:00
translators
3fe8ac8e64 (svn r25060) -Update from WebTranslator v3.0:
croatian - 1 changes by VoyagerOne
estonian - 1 changes by notAbot
french - 12 changes by OliTTD
german - 1 changes by planetmaker
greek - 29 changes by Evropi
korean - 48 changes by telk5093
lithuanian - 3 changes by Devastator
norwegian_nynorsk - 5 changes by terjesc
2013-03-02 18:45:44 +00:00
planetmaker
d49f478ea4 (svn r25059) -Fix [FS#5491]: Clarify meaning of string describing waiting cargo received from other stations 2013-03-02 16:54:09 +00:00
frosch
591cab43b9 (svn r25058) -Add: tree nodes in the refit GUI for subtype refits. 2013-03-02 12:38:40 +00:00
translators
a718e424ca (svn r25057) -Update from WebTranslator v3.0:
greek - 13 changes by Evropi
korean - 2 changes by telk5093
norwegian_nynorsk - 35 changes by terjesc
2013-03-01 18:45:23 +00:00
translators
389348a844 (svn r25056) -Update from WebTranslator v3.0:
basque - 10 changes by Thadah
indonesian - 2 changes by adjayanto
2013-02-28 18:45:12 +00:00
rubidium
5b74415631 (svn r25054) -Document: the *FLAGS_BUILD in configure 2013-02-28 06:51:45 +00:00
rubidium
c3b0bd7d58 (svn r25053) -Fix [FS#5488, FS#5484] (r25010): transfer credits were not given 2013-02-27 22:12:53 +00:00
frosch
9b06e79765 (svn r25052) -Fix [FS#5490]: Refactor Script Debug GUI to only set widget states in OnInvalidateData. 2013-02-27 21:23:19 +00:00
translators
0c582e409e (svn r25051) -Update from WebTranslator v3.0:
croatian - 2 changes by VoyagerOne
czech - 13 changes by Eskymak
korean - 1 changes by telk5093
slovak - 9 changes by keso53
2013-02-27 18:45:23 +00:00
rubidium
8808e9cfaa (svn r25050) -Fix: use the CC_BUILD compiler for preprocessing the extra GRF's source instead of a hardcoded gcc
-Fix: do not let gcc include files from the "standard C" include directories; newer gcc/libc seem to otherwise automatically include some header files at the top of the preprocessed nfo files which causes NFOrenum/GRFcodec to make invalid assumptions about the NFO version
2013-02-26 20:48:50 +00:00
translators
8bf949b956 (svn r25049) -Update from WebTranslator v3.0:
lithuanian - 13 changes by Stabilitronas
thai - 12 changes by angelix
2013-02-26 18:45:13 +00:00
translators
6f875ada14 (svn r25048) -Update from WebTranslator v3.0:
norwegian_nynorsk - 84 changes by somaen, terjesc
polish - 1 changes by wojteks86
romanian - 15 changes by mariush
gaelic - 86 changes by
2013-02-25 18:45:24 +00:00
rubidium
3aeb0402e5 (svn r25047) -Fix [FS#5483]: Dutch language had a few bogus unicode characters 2013-02-24 20:12:37 +00:00
frosch
c193a12341 (svn r25046) -Fix: Korean genders. 2013-02-24 18:56:50 +00:00
translators
c321733697 (svn r25045) -Update from WebTranslator v3.0:
catalan - 1 changes by bufalo1973
korean - 45 changes by telk5093
brazilian_portuguese - 7 changes by Tucalipe
russian - 1 changes by Lone_Wolf
gaelic - 86 changes by
2013-02-24 18:45:26 +00:00
frosch
2f3fdbf837 (svn r25044) -Change: Collapse subtypes in the refit GUI and only expand them after selecting the cargo type. 2013-02-24 16:43:45 +00:00
frosch
5cd5aca98c (svn r25043) -Change [FS#3764]: Only display subtypes in the refit GUI which are available for all selected vehicles. Also add a generic list item to refit while keeping the subtypes of individual vehicles. 2013-02-24 16:43:24 +00:00
frosch
b9aeb050e1 (svn r25042) -Codechange/Fix: Simplify accumulation of refit options; also don't compare GRF local IDs from different GRFs. 2013-02-24 16:42:30 +00:00
frosch
22bb015f3d (svn r25041) -Remove [FS#3764-ish]: ordered refit with subtypes, since the cases where it worked were corner cases rather than the general case. 2013-02-24 16:41:51 +00:00
frosch
205543f727 (svn r25040) -Add: a mode to CmdRefitVehicle to preserve the current subtype, also when refitting multiple vehicles. 2013-02-24 16:40:32 +00:00
translators
82fc3b15e7 (svn r25039) -Update from WebTranslator v3.0:
english_US - 3 changes by Rubidium
korean - 6 changes by telk5093
russian - 1 changes by Lone_Wolf
gaelic - 334 changes by GunChleoc
swedish - 2 changes by Joel_A
2013-02-23 18:45:28 +00:00
rubidium
35570156dd (svn r25038) -Fix [FS#5479]: minimise gaps feature caused removal to only happen at the signal build interval instead of the implicit interval of 1 2013-02-23 18:29:55 +00:00
rubidium
0c8b215935 (svn r25037) -Fix [FS#5480]: green path signals would be shown when building them 'under' a train, and they would keep showing green until they were passed again 2013-02-23 18:15:54 +00:00
translators
c58c86efda (svn r25036) -Update from WebTranslator v3.0:
esperanto - 29 changes by Asakha
gaelic - 198 changes by GunChleoc
swedish - 2 changes by Joel_A
thai - 1 changes by angelix
2013-02-22 18:45:16 +00:00
frosch
21608367d8 (svn r25035) -Fix: Improve english. (Joel A) 2013-02-22 17:48:44 +00:00
translators
00d8865db7 (svn r25034) -Update from WebTranslator v3.0:
croatian - 4 changes by VoyagerOne
polish - 2 changes by wojteks86
swedish - 38 changes by Joel_A
2013-02-21 18:45:18 +00:00
translators
13b3fc7e19 (svn r25033) -Update from WebTranslator v3.0:
belarusian - 4 changes by KorneySan
bulgarian - 8 changes by ivanarj
catalan - 9 changes by arnau
norwegian_bokmal - 11 changes by cuthbert
polish - 2 changes by wojteks86
tamil - 32 changes by aswn
2013-02-20 18:45:45 +00:00
rubidium
037fbbb76e (svn r25027) -Fix: missing svn properties on Gaelic 2013-02-19 19:45:26 +00:00
rubidium
56023baf4d (svn r25026) -Fix: language compile issue 2013-02-19 18:52:15 +00:00
translators
6f49b85bd1 (svn r25025) -Update from WebTranslator v3.0:
dutch - 4 changes by habell
english_AU - 9 changes by mrtux
english_US - 4 changes by Rubidium
esperanto - 13 changes by Asakha
finnish - 4 changes by jpx_
french - 4 changes by glx
german - 4 changes by planetmaker
greek - 1 changes by Evropi
hungarian - 4 changes by oklmernok
italian - 4 changes by lorenzodv
korean - 4 changes by telk5093
russian - 4 changes by Lone_Wolf
spanish - 9 changes by Terkhen
swedish - 6 changes by Joel_A
vietnamese - 4 changes by nglekhoi
2013-02-19 18:46:18 +00:00
frosch
1b10910af6 (svn r25024) -Feature: Searching of (missing) content via GrfCrawler. 2013-02-18 19:30:24 +00:00
frosch
41cc06a83c (svn r25023) -Change: Regroup buttons in content download GUI to put item-specifc stuff next to each other. 2013-02-18 19:23:09 +00:00
translators
37b0c459b4 (svn r25022) -Update from WebTranslator v3.0:
belarusian - 10 changes by KorneySan
croatian - 9 changes by VoyagerOne
dutch - 9 changes by habell
hungarian - 6 changes by oklmernok
italian - 5 changes by lorenzodv
korean - 17 changes by telk5093
polish - 5 changes by wojteks86
brazilian_portuguese - 10 changes by Tucalipe
russian - 9 changes by Lone_Wolf
swedish - 50 changes by Zuu
vietnamese - 9 changes by nglekhoi
2013-02-18 18:55:14 +00:00
rubidium
d0d4710f56 (svn r25021) -Codechange: make a lot of SmallMapWindow members protected (fonsinchen) 2013-02-17 20:55:26 +00:00
rubidium
52aeef1a79 (svn r25020) -Codechange: refactor SmallMapWindow to make adding map types easier and unduplicate some code (fonsinchen) 2013-02-17 20:51:55 +00:00
rubidium
dfdced2239 (svn r25019) -Fix: GCC doesn't seem to care if one does Class::Class::Function (thinks it is a function), whereas MSVC thinks it is the constructor 2013-02-17 20:48:52 +00:00
rubidium
6b68956969 (svn r25018) -Codechange: Move SmallMapWindow declaration to header (fonsinchen) 2013-02-17 20:38:35 +00:00
rubidium
dcf3df65d3 (svn r25017) -Fix [FS#5466]: crash after bootstrap download of 32bits base set due to referencing a deleted mutex 2013-02-17 20:37:18 +00:00
rubidium
bae033c23d (svn r25016) -Fix [FS#5476]: integer overflow in UpdateStationRating (fonsinchen) 2013-02-17 20:16:49 +00:00
rubidium
20668eeb73 (svn r25015) -Change: Tamil migrated to 'finished' status 2013-02-17 18:48:05 +00:00
translators
fd759af272 (svn r25014) -Update from WebTranslator v3.0:
catalan - 4 changes by arnau
english_AU - 12 changes by mrtux
english_US - 5 changes by Rubidium
finnish - 5 changes by jpx_
french - 5 changes by glx
german - 5 changes by planetmaker
greek - 24 changes by Evropi
irish - 14 changes by ioo5
korean - 5 changes by telk5093
norwegian_bokmal - 4 changes by terjesc
norwegian_nynorsk - 65 changes by terjesc
gaelic - 232 changes by GunChleoc
tamil - 205 changes by aswn
2013-02-17 18:46:05 +00:00
rubidium
4367224b35 (svn r25013) -Feature: show the amount of cargo that has already been reserved by full loading vehicles in the station (fonsinchen) 2013-02-17 14:59:27 +00:00
rubidium
cdb0a76958 (svn r25012) -Codechange: persistently keep 'reserved' cargo (for full-load improved loading) instead of calculating if for every cycle 2013-02-17 14:54:50 +00:00
rubidium
446d50f658 (svn r25011) -Codechange: allow vehicle transfer and profit text effects to be shown at the same time (fonsinchen) 2013-02-17 14:50:54 +00:00
rubidium
d6e2a8aa56 (svn r25010) -Codechange: Add general framework for cargo actions, i.e. loading, transfering, delivering and such, to contain this logic in a single place instead of spread around (fonsinchen) 2013-02-17 14:36:40 +00:00
rubidium
71bbc130fc (svn r25009) -Codechange: refactor bits of cargo packet (lists) to reduce duplicated code (fonsinchen) 2013-02-17 14:17:06 +00:00
rubidium
2795ed5b09 (svn r25008) -Codechange: Make CargoList::Truncate behave similarly to CargoList::MoveTo, i.e. pass the amount to truncate (fonsinchen) 2013-02-17 14:10:15 +00:00
translators
6647cb9179 (svn r25007) -Update from WebTranslator v3.0:
bulgarian - 15 changes by ivanarj
esperanto - 1 changes by Asakha
greek - 41 changes by Evropi
hungarian - 24 changes by oklmernok
icelandic - 4 changes by Stimrol
japanese - 50 changes by Aknuth
korean - 2 changes by telk5093
norwegian_nynorsk - 1 changes by skjaeve
polish - 4 changes by wojteks86
2013-02-16 18:45:45 +00:00
frosch
7e5c649844 (svn r25006) -Fix: Update script_window. 2013-02-16 16:43:05 +00:00
rubidium
5818ac77b1 (svn r25005) -Add: Scottish Gaelic 2013-02-16 12:28:45 +00:00
translators
bdf42d8355 (svn r25004) -Update from WebTranslator v3.0:
finnish - 4 changes by jpx_
german - 4 changes by planetmaker
greek - 108 changes by Evropi
italian - 4 changes by lorenzodv
japanese - 3 changes by Aknuth
korean - 4 changes by telk5093
serbian - 9 changes by ivan_mile
2013-02-15 18:45:34 +00:00
matthijs
2752dd7bbe (svn r25003) -Fix (r24993): [SDL] Keep a flag to remember if a hardware palette was requested.
- Previously, the code would query the SDL_HWPALETTE flag, which doesn't always match the requested value.
  - This would cause SDL to be restarted on every window resize event, effectively breaking resizing.
2013-02-15 11:01:45 +00:00
matthijs
afd1e49224 (svn r25002) -Doc: [SDL] Fix typo in comment. 2013-02-15 11:01:43 +00:00
rubidium
7ff6598cd2 (svn r25001) -Change: heading for 1.4 now 2013-02-14 18:58:04 +00:00
643 changed files with 44076 additions and 16392 deletions

View File

@@ -1,3 +1,7 @@
This is the license which applies to OpenTTD with the exception of some
3rd party modules. See readme.txt for details
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991

View File

@@ -97,7 +97,7 @@ EXCLUDE_PATTERNS = */3rdparty */.svn */script/api
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
IMAGE_PATH =./docs/
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
@@ -202,7 +202,7 @@ SKIP_FUNCTION_MACROS = YES
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE = openttd.tag
GENERATE_TAGFILE = objs/openttd.tag
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl

View File

@@ -90,9 +90,9 @@ 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"
ifeq ($(OS), DOS)
$(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi.txt" "$(BUNDLE_DIR)/docs/"
$(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi/cwsdpmi.txt" "$(BUNDLE_DIR)/docs/"
ifndef STRIP
$(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi.exe" "$(TTD_DIR)/"
$(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi/cwsdpmi.exe" "$(TTD_DIR)/"
endif
endif
endif

View File

@@ -144,11 +144,9 @@ mrproper:
# 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
$(Q)rm -rf $(ROOT_DIR)/docs/gamedocs
# 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

View File

@@ -229,10 +229,22 @@ $(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)
$(filter-out %sse2.o, $(filter-out %ssse3.o, $(filter-out %sse4.o, $(OBJS_CPP)))): %.o: $(SRC_DIR)/%.cpp $(DEP_MASK) $(FILE_DEP)
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$(Q)$(CXX_HOST) $(CFLAGS) $(CXXFLAGS) -c -o $@ $<
$(filter %sse2.o, $(OBJS_CPP)): %.o: $(SRC_DIR)/%.cpp $(DEP_MASK) $(FILE_DEP)
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$(Q)$(CXX_HOST) $(CFLAGS) $(CXXFLAGS) -c -msse2 -o $@ $<
$(filter %ssse3.o, $(OBJS_CPP)): %.o: $(SRC_DIR)/%.cpp $(DEP_MASK) $(FILE_DEP)
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$(Q)$(CXX_HOST) $(CFLAGS) $(CXXFLAGS) -c -mssse3 -o $@ $<
$(filter %sse4.o, $(OBJS_CPP)): %.o: $(SRC_DIR)/%.cpp $(DEP_MASK) $(FILE_DEP)
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$(Q)$(CXX_HOST) $(CFLAGS) $(CXXFLAGS) -c -msse4.1 -o $@ $<
$(OBJS_MM): %.o: $(SRC_DIR)/%.mm $(DEP_MASK) $(FILE_DEP)
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.mm=%.mm)'
$(Q)$(CC_HOST) $(CFLAGS) -c -o $@ $<

View File

@@ -6,3 +6,5 @@
* 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.3 API compatability in effect.");

8
bin/ai/compat_1.4.nut Normal file
View File

@@ -0,0 +1,8 @@
/* $Id: compat_1.3.nut 23969 2012-02-19 19:14:17Z rubidium $ */
/*
* 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

@@ -877,7 +877,7 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetName(): Wooden rail bridge
GetMaxSpeed(): 32
GetPrice(): 450
GetMaxLength(): 102
GetMaxLength(): 66
GetMinLength(): 2
Bridge 1
IsValidBridge(): true
@@ -905,14 +905,14 @@ ERROR: IsEnd() is invalid as Begin() is never called
GetName(): Steel suspension rail bridge
GetMaxSpeed(): 96
GetPrice(): 1042
GetMaxLength(): 102
GetMaxLength(): 66
GetMinLength(): 5
Bridge 5
IsValidBridge(): true
GetName(): Steel suspension rail bridge
GetMaxSpeed(): 112
GetPrice(): 1081
GetMaxLength(): 102
GetMaxLength(): 66
GetMinLength(): 5
Bridge 6
IsValidBridge(): true
@@ -1012,9 +1012,9 @@ ERROR: IsEnd() is invalid as Begin() is never called
1 => 630
0 => 450
MaxLength ListDump:
5 => 102
4 => 102
0 => 102
5 => 66
4 => 66
0 => 66
3 => 12
8 => 11
7 => 10
@@ -9118,8 +9118,8 @@ ERROR: IsEnd() is invalid as Begin() is never called
5 => 0
4 => 0
CargoRating(1) ListDump:
5 => 69
4 => 69
5 => -1
4 => -1
DistanceManhattanToTile(30000) ListDump:
5 => 106
4 => 96

View File

@@ -10,7 +10,7 @@ fallback = true
description = A music pack without actual music.
description.af_ZA = 'n Musiek stel sonder enige musiek.
description.ar_EG = مجموعة موسيقى بدون موسيقى
description.be_BY = "Пусты" набор музычнага афармлення, не змяшчаючы ніякай музыкі.
description.be_BY = "Пусты" набор музычнага афармлення, які не зьмяшчае ніякай музыкі.
description.bg_BG = Празен музикален пакет.
description.ca_ES = Un joc de música sense cap música.
description.cs_CZ = Prázná hudební sada.
@@ -21,7 +21,7 @@ description.el_GR = Ένα πάκετο μουσικής χωρίς πραγμα
description.en_AU = 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_EE = Muusikakomplekt ilma igasuguse muusikata.
description.et_EE = Muusikakogu ilma muusikata.
description.fi_FI = Musiikkipaketti, jossa ei ole musiikkia.
description.fr_FR = Un pack de musiques sans musiques.
description.gd_GB = Pacaid ciùil anns nach eil fonn sam bith.
@@ -33,11 +33,14 @@ description.is_IS = Tónlistarpakki sem er í raun án tónlistar.
description.it_IT = Un pacchetto musicale non contenente alcuna musica.
description.ja_JP = 空の音楽パック
description.ko_KR = 실제 음악이 없는 음악 목록입니다.
description.lb_LU = E Musikpack ouni aktuell Musik.
description.lt_LT = Muzikos pakas be muzikos.
description.lv_LV = Mūzikas kopa bez mūzikas
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_BR = Um pacote de músicas sem músicas.
description.pt_PT = Um conjunto de música vazio.
description.ro_RO = Un set de muzică fără muzică inclusă.
description.ru_RU = "Пустой" набор музыкального оформления, не содержащий никакой музыки.
@@ -46,8 +49,9 @@ description.sl_SI = Glasbeni paket z vključeno glasbo.
description.sr_RS = Prazan skup muzičkih numera.
description.sv_SE = Ett musikpaket utan någon musik.
description.ta_IN = இசை இல்லாத இசைத்தொகுப்பு.
description.th_TH = A music pack without actual music.
description.th_TH = ชุดเพลงประกอบแบบไม่มีเสียงเพลง
description.tr_TR = Müzik içermeyen boş bir müzik paketi.
description.uk_UA = Порожній набір музики.
description.vi_VN = Gói âm nhạc này không có nhạc nào.
description.zh_CN = 一个没有实际内容的音乐包.
description.zh_TW = 不含任何音樂的音樂集。

View File

@@ -10,7 +10,7 @@ fallback = true
description = A sound pack without any sounds.
description.af_ZA = 'n Klank stel sonder enige klanke.
description.ar_EG = مجموعة صوت بدوت اصوات مضافة
description.be_BY = "Пусты" набор гукавога афармленьня, не змяшчаючы ніякіх гукаў.
description.be_BY = "Пусты" набор гукавога афармленьня, які не зьмяшчае ніякіх гукаў.
description.bg_BG = Празен звуков пакет.
description.ca_ES = Un joc de sons sense cap so.
description.cs_CZ = Prázdná sada zvuků.
@@ -21,7 +21,8 @@ description.el_GR = Ένα πάκετο ήχων χώρις ήχους.
description.en_AU = 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_EE = Ilma häälteta helipakk.
description.et_EE = Helikogu ilma helideta.
description.eu_ES = Soinurik gabeko soinu pakete bat
description.fi_FI = Äänipaketti, jossa ei ole ääniä.
description.fr_FR = Un pack de sons sans sons.
description.gd_GB = Pacaid fhuaimean anns nach eil fuaim sam bith.
@@ -33,11 +34,13 @@ description.is_IS = Hljóðpakki án hljóðs.
description.it_IT = Un pacchetto sonoro non contenente alcun suono.
description.ja_JP = 空の効果音パック
description.ko_KR = 아무런 효과음도 없는 효과음 팩입니다.
description.lb_LU = En Soundpack mat all den Sounds.
description.lt_LT = Garsų pakas be jokių garsų.
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_BR = Um pacote de sons sem sons.
description.pt_PT = Um conjunto de sons vazio.
description.ro_RO = Un set de sunete fără nici un sunet inclus.
description.ru_RU = "Пустой" набор звукового оформления, не содержащий никаких звуков.
@@ -46,8 +49,9 @@ description.sl_SI = Zvočni paket brez zvoka.
description.sr_RS = Prazan skup zvukova.
description.sv_SE = Ett ljudpaket utan några ljud.
description.ta_IN = ஒலிகள் இல்லாத ஒலி தொகுப்பு.
description.th_TH = A sound pack without any sounds.
description.th_TH = ชุดเสียงแบบไร้เสียง
description.tr_TR = Ses içermeyen boş bir ses kümesi.
description.uk_UA = Порожній набір звуків.
description.vi_VN = Gói âm thanh này không có âm thanh nào.
description.zh_CN = 一个空的音效包.
description.zh_TW = 不含任何音效的音效集。

Binary file not shown.

Binary file not shown.

View File

@@ -11,7 +11,7 @@ palette = DOS
description = Original Transport Tycoon Deluxe DOS edition graphics.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS uitgawe grafieke.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة الدوس
description.be_BY = Арыгінальная графіка з Transport Tycoon Deluxe для DOS.
description.be_BY = Арыґінальная ґрафіка з Transport Tycoon Deluxe для DOS.
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).
@@ -34,11 +34,13 @@ description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe DOS útgá
description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione DOS.
description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (DOS)
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에디션의 그래픽입니다.
description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Grafik.
description.lt_LT = Originali Transport Tycoon Deluxe DOS leidimo grafika.
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_BR = Gráficos Originais do Transport Tycoon Deluxe, Edição 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.
@@ -48,7 +50,8 @@ description.sr_RS = Originalni skup grafika Transport Tycoon Deluxe DOS izdanja.
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan.
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் DOS பதிப்பு அசைவூட்டங்கள்.
description.th_TH = กราฟฟิกต้นตำหรับของ Transport Tycoon Deluxe DOS edition
description.tr_TR = Orijinal Transport Tycoon Deluxe DOS sürümü grafikleri.
description.tr_TR = Özgün Transport Tycoon Deluxe DOS sürümü grafikleri.
description.uk_UA = Оригінальна графіка з Transport Tycoon Deluxe DOS edition.
description.vi_VN = Đồ họa gốc từ phiên bản Transport Tycoon Deluxe trên DOS
description.zh_CN = 运输大亨DOS豪华版原版图形包.
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的圖形。
@@ -67,7 +70,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
TRGC.GRF = ed446637e034104c5559b32c18afe78d
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6
OPENTTD.GRF = c683a77e1a43aed7db29ef318b166dd9
OPENTTD.GRF = 75a93cea2ed455c2fd5dcbda39e53538
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.

View File

@@ -10,7 +10,7 @@ version = 0
description = Original Transport Tycoon Deluxe DOS edition sounds.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe DOS uitgawe klanke.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة الدوس
description.be_BY = Арыгінальны набор гукавога афармленьня з гульні Transport Tycoon Deluxe для DOS.
description.be_BY = Арыґінальны набор гукавога афармленьня з гульні Transport Tycoon Deluxe для DOS.
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).
@@ -33,11 +33,13 @@ description.is_IS = Upprunalega hljóðið úr Transport Tycoon Deluxe DOS útg
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione DOS.
description.ja_JP = Transport Tycoon Deluxe オリジナル版 効果音 (DOS)
description.ko_KR = 오리지널 트랜스포트 타이쿤 도스 에디션의 효과음입니다.
description.lb_LU = Original Transport Tycoon Deluxe DOS Editioun Sound.
description.lt_LT = Originalūs Transport Tycoon Deluxe DOS leidimo garsai.
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_BR = Sons Originais do Transport Tycoon Deluxe, Edição 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.
@@ -47,7 +49,8 @@ description.sr_RS = Originalni skup zvukova Transport Tycoon Deluxe DOS izdanja.
description.sv_SE = Originalljuden från Transport Tycoon Deluxe, DOS-utgåvan.
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் DOS பதிப்பு ஒலிகள்.
description.th_TH = เสียงต้นตำหรับของ Transport Tycoon Deluxe DOS edition
description.tr_TR = Orijinal Transport Tycoon Deluxe DOS sürümü sesleri.
description.tr_TR = Özgün Transport Tycoon Deluxe DOS sürümü sesleri.
description.uk_UA = Оригінальний набір звуків з Transport Tycoon Deluxe DOS edition.
description.vi_VN = Âm thanh gốc từ phiên bản Transport Tycoon Deluxe trên DOS
description.zh_CN = 运输大亨DOS豪华版原版音效包.
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版的音效。

View File

@@ -11,7 +11,7 @@ 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.be_BY = Арыгінальная графіка з нямецкай версіі Transport Tycoon Deluxe для DOS.
description.be_BY = Арыґінальная ґрафіка зь нямецкай версіі Transport Tycoon Deluxe для DOS.
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).
@@ -34,11 +34,13 @@ description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe DOS (þýs
description.it_IT = Grafica originale di Transport Tycoon Deluxe (tedesco), edizione DOS.
description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (DOS・ドイツ版)
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 도스 에디션(독일)의 그래픽입니다.
description.lb_LU = Original Transport Tycoon Deluxe DOS (Däitsch) Editioun Grafik.
description.lt_LT = Originali Transport Tycoon Deluxe DOS (Vokiečių) leidimo grafika.
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_BR = Gráficos Originais do Transport Tycoon Deluxe, Edição DOS alemã.
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.
@@ -48,7 +50,8 @@ description.sr_RS = Originalni skup grafika nemačkog Transport Tycoon Deluxe DO
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, DOS-utgåvan (tyska).
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் DOS (செருமன்) பதிப்பு அசைவூட்டங்கள்.
description.th_TH = กราฟฟิกต้นตำหรับของ Transport Tycoon Deluxe DOS (German) edition
description.tr_TR = Orijinal Transport Tycoon Deluxe DOS (Almanca) sürümü grafikleri.
description.tr_TR = Özgün Transport Tycoon Deluxe DOS (Almanca) sürümü grafikleri.
description.uk_UA = Оригінальна графіка з Transport Tycoon Deluxe DOS edition (німецького).
description.vi_VN = Đồ họa gốc từ phiên bản Transport Tycoon Deluxe trên DOS (tiếng Đức)
description.zh_CN = 运输大亨DOS豪华德语版原版图形包.
description.zh_TW = 原版 Transport Tycoon Deluxe DOS 版 (德國版) 的圖形。
@@ -67,7 +70,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8
TRGC.GRF = ed446637e034104c5559b32c18afe78d
TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9
TRGT.GRF = fcde1d7e8a74197d72a62695884b909e
OPENTTD.GRF = c683a77e1a43aed7db29ef318b166dd9
OPENTTD.GRF = 75a93cea2ed455c2fd5dcbda39e53538
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.

View File

@@ -11,7 +11,7 @@ palette = Windows
description = Original Transport Tycoon Deluxe Windows edition graphics.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe grafieke.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الرسومية نسخة وندوز
description.be_BY = Арыгінальная графіка з Transport Tycoon Deluxe для Windows.
description.be_BY = Арыґінальная ґрафіка з Transport Tycoon Deluxe для Windows.
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).
@@ -33,12 +33,14 @@ description.id_ID = Grafik orisinil Transport Tycoon Deluxe versi Windows.
description.is_IS = Upprunalega grafíkin úr Transport Tycoon Deluxe Windows útgáfunni.
description.it_IT = Grafica originale di Transport Tycoon Deluxe, edizione Windows.
description.ja_JP = Transport Tycoon Deluxe オリジナル版 グラフィック (Windows)
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에디션의 그래픽입니다.
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에디션의 그래픽입니다.
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Grafik.
description.lt_LT = Originali Transport Tycoon Deluxe Windows leidimo grafika.
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_BR = Gráficos Originais do Transport Tycoon, Edição 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.
@@ -48,7 +50,8 @@ description.sr_RS = Originalni skup grafika Transport Tycoon Deluxe Windows izda
description.sv_SE = Originalgrafiken från Transport Tycoon Deluxe, Windows-utgåvan.
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் விண்டோஸ் பதிப்பு அசைவூட்டங்கள்.
description.th_TH = กราฟฟิกต้ำตำหรับของ Transport Tycoon Deluxe Windows edition
description.tr_TR = Orijinal Transport Tycoon Deluxe Windows sürümü grafikleri.
description.tr_TR = Özgün Transport Tycoon Deluxe Windows sürümü grafikleri.
description.uk_UA = Оригінальна графіка з Transport Tycoon Deluxe Windows edition.
description.vi_VN = Đồ họa gốc từ phiên bản Transport Tycoon Deluxe trên Windows
description.zh_CN = 运输大亨Windows豪华版原版图形包.
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的圖形。
@@ -67,7 +70,7 @@ TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32
TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b
TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1
TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8
OPENTTD.GRF = c683a77e1a43aed7db29ef318b166dd9
OPENTTD.GRF = 75a93cea2ed455c2fd5dcbda39e53538
[origin]
default = You can find it on your Transport Tycoon Deluxe CD-ROM.

View File

@@ -10,7 +10,7 @@ version = 1
description = Original Transport Tycoon Deluxe Windows edition music.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe musiek.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الموسيقية نسخة وندوز
description.be_BY = Арыгінальны набор музычнага афармленьня з гульні Transport Tycoon Deluxe для Windows.
description.be_BY = Арыґінальны набор музычнага афармленьня з гульні Transport Tycoon Deluxe для Windows.
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).
@@ -32,12 +32,15 @@ description.id_ID = Musik pengiring orisinil Transport Tycoon Deluxe versi Windo
description.is_IS = Upprunalega tónlistin úr Transport Tycoon Deluxe Windows útgáfunni.
description.it_IT = Musica originale di Transport Tycoon Deluxe, edizione Windows.
description.ja_JP = Transport Tycoon Deluxe オリジナル版 音楽 (Windows)
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에디션의 음악입니다.
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에디션의 음악입니다.
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Music.
description.lt_LT = Originali Transport Tycoon Deluxe Windows leidimo muzika.
description.lv_LV = Oriģinālā Transport Tycoon Deluxe Windows izdevuma mūzika.
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_BR = Música Original do Transport Tycoon Deluxe, Edição 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 для Windows.
@@ -47,7 +50,8 @@ description.sr_RS = Originalni skup muzičkih numera Transport Tycoon Deluxe Win
description.sv_SE = Originalmusiken från Transport Tycoon Deluxe, Windows-utgåvan.
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் விண்டோஸ் பதிப்பு இசை.
description.th_TH = เพลงต้นตำหรับชอง Transport Tycoon Deluxe Windows edition
description.tr_TR = Orijinal Transport Tycoon Deluxe Windows sürümü müzikleri.
description.tr_TR = Özgün Transport Tycoon Deluxe Windows sürümü müzikleri.
description.uk_UA = Оригінальна музика з Transport Tycoon Deluxe Windows edition.
description.vi_VN = Nhạc gốc từ phiên bản Transport Tycoon Deluxe trên Windows
description.zh_CN = Transport Tycoon Deluxe运输大亨Windows豪华版的原版音乐包
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的音樂。

View File

@@ -10,7 +10,7 @@ version = 0
description = Original Transport Tycoon Deluxe Windows edition sounds.
description.af_ZA = Oorspronklike Transport Tycoon Deluxe Windows uitgawe klanke.
description.ar_EG = النسخة الاصلية من ترانسبورت تايكون ديلوكس الصوتية نسخة وندوز
description.be_BY = Арыгінальны набор гукавога афармленьня з гульні Transport Tycoon Deluxe для Windows.
description.be_BY = Арыґінальны набор гукавога афармленьня з гульні Transport Tycoon Deluxe для Windows.
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).
@@ -32,12 +32,14 @@ description.id_ID = Efek suara orisinil Transport Tycoon Deluxe versi Windows.
description.is_IS = Upprunalega hljóðið úr Transport Tycoon Deluxe Windows útgáfunni.
description.it_IT = Suoni originali di Transport Tycoon Deluxe, edizione Windows.
description.ja_JP = Transport Tycoon Deluxe オリジナル版 効果音 (Windows)
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에디션의 효과음입니다.
description.ko_KR = 오리지널 트랜스포트 타이쿤 디럭스 윈도 에디션의 효과음입니다.
description.lb_LU = Original Transport Tycoon Deluxe Windows Editioun Sound.
description.lt_LT = Originalūs Transport Tycoon Deluxe Windows leidimo garsai.
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_BR = Sons Originais do Transport Tycoon Deluxe, Edição 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.
@@ -47,7 +49,8 @@ description.sr_RS = Originalni skup zvukova Transport Tycoon Deluxe Windows izda
description.sv_SE = Originalljuden från Transport Tycoon Deluxe, Windows-utgåvan.
description.ta_IN = அசல் டிரான்ஸ்ஃபோர்ட் டைகூன் டீலக்ஸ் விண்டோஸ் பதிப்பு ஒலிகள்.
description.th_TH = เสียงต้นตำหรับของ Transport Tycoon Deluxe Windows edition
description.tr_TR = Orijinal Transport Tycoon Deluxe Windows sürümü sesleri.
description.tr_TR = Özgün Transport Tycoon Deluxe Windows sürümü sesleri.
description.uk_UA = Оригінальний набір звуків з Transport Tycoon Deluxe Windows edition.
description.vi_VN = Âm thanh gốc từ phiên bản Transport Tycoon Deluxe trên Windows
description.zh_CN = Transport Tycoon Deluxe Windows (运输大亨Windows豪华版)的原版音效包.
description.zh_TW = 原版 Transport Tycoon Deluxe Windows 版的音效。

View File

@@ -8,3 +8,11 @@
*/
GSLog.Info("1.2 API compatability in effect.");
GSTown._SetGrowthRate <- GSTown.SetGrowthRate;
GSTown.SetGrowthRate <- function(town_id, days_between_town_growth)
{
/* Growth rate 0 caused resetting the custom growth rate. While this was undocumented, it was used nevertheless (ofc). */
if (days_between_town_growth == 0) days_between_town_growth = GSTown.TOWN_GROWTH_NORMAL;
return GSTown._SetGrowthRate(town_id, days_between_town_growth);
}

View File

@@ -6,3 +6,13 @@
* 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/>.
*/
GSLog.Info("1.3 API compatability in effect.");
GSTown._SetGrowthRate <- GSTown.SetGrowthRate;
GSTown.SetGrowthRate <- function(town_id, days_between_town_growth)
{
/* Growth rate 0 caused resetting the custom growth rate. While this was undocumented, it was used nevertheless (ofc). */
if (days_between_town_growth == 0) days_between_town_growth = GSTown.TOWN_GROWTH_NORMAL;
return GSTown._SetGrowthRate(town_id, days_between_town_growth);
}

8
bin/game/compat_1.4.nut Normal file
View File

@@ -0,0 +1,8 @@
/* $Id: compat_1.3.nut 24469 2012-08-13 19:33:17Z yexo $ */
/*
* 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/>.
*/

File diff suppressed because it is too large Load Diff

View File

@@ -72,6 +72,7 @@ set_default() {
with_zlib="1"
with_lzma="1"
with_lzo2="1"
with_xdg_basedir="1"
with_png="1"
enable_builtin_depend="1"
with_makedepend="0"
@@ -91,6 +92,7 @@ set_default() {
with_ccache="1"
with_nforenum="1"
with_grfcodec="1"
with_sse="1"
save_params_array="
build
@@ -145,6 +147,7 @@ set_default() {
with_zlib
with_lzma
with_lzo2
with_xdg_basedir
with_png
enable_builtin_depend
with_makedepend
@@ -164,6 +167,7 @@ set_default() {
with_ccache
with_grfcodec
with_nforenum
with_sse
CC CXX CFLAGS CXXFLAGS LDFLAGS CFLAGS_BUILD CXXFLAGS_BUILD LDFLAGS_BUILD"
}
@@ -347,6 +351,13 @@ detect_params() {
--without-liblzo2) with_lzo2="0";;
--with-liblzo2=*) with_lzo2="$optarg";;
--with-xdg-basedir) with_xdg_basedir="2";;
--without-xdg-basedir) with_xdg_basedir="0";;
--with-xdg-basedir=*) with_xdg_basedir="$optarg";;
--with-libxdg-basedir) with_xdg_basedir="2";;
--without-libxdg-basedir) with_xdg_basedir="0";;
--with-libxdg-basedir=*) with_xdg_basedir="$optarg";;
--with-png) with_png="2";;
--without-png) with_png="0";;
--with-png=*) with_png="$optarg";;
@@ -438,6 +449,10 @@ detect_params() {
--with-threads) with_threads="1";;
--with-threads=*) with_threads="$optarg";;
--without-sse) with_sse="0";;
--with-sse) with_sse="1";;
--with-sse=*) with_sse="$optarg";;
CC=* | --CC=*) CC="$optarg";;
CXX=* | --CXX=*) CXX="$optarg";;
CFLAGS=* | --CFLAGS=*) CFLAGS="$optarg";;
@@ -578,6 +593,7 @@ check_params() {
check_makedepend
detect_cputype
detect_sse_capable_architecture
if [ "$enable_static" = "1" ]; then
if [ "$os" = "MINGW" ] || [ "$os" = "CYGWIN" ] || [ "$os" = "MORPHOS" ] || [ "$os" = "DOS" ]; then
@@ -818,6 +834,7 @@ check_params() {
fi
fi
detect_xdg_basedir
detect_png
detect_freetype
detect_fontconfig
@@ -1455,12 +1472,16 @@ make_cflags_and_ldflags() {
fi
if [ $enable_debug -le 2 ]; then
if basename "$cc_host" | grep "gcc" &>/dev/null; then
cc_host_is_gcc=`basename "$cc_host" | grep "gcc" &>/dev/null`
if [ -n "$cc_host_is_gcc" ]; then
# Define only when compiling with GCC. Some GLIBC versions use GNU
# extensions in a way that breaks build with at least ICC.
# This requires -O1 or more, so debug level 3 (-O0) is excluded.
CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
fi
cc_build_is_gcc=`basename "$cc_build" | grep "gcc" &>/dev/null`
if [ -n "$cc_build_is_gcc" ]; then
# Just add -O1 to the tools needed for building.
CFLAGS_BUILD="$CFLAGS_BUILD -D_FORTIFY_SOURCE=2 -O1"
fi
@@ -1480,6 +1501,9 @@ make_cflags_and_ldflags() {
if [ "$with_threads" = "0" ]; then
CFLAGS="$CFLAGS -DNO_THREADS"
fi
if [ "$with_sse" = "1" ]; then
CFLAGS="$CFLAGS -DWITH_SSE"
fi
if [ "`echo $1 | cut -c 1-3`" != "icc" ]; then
if [ "$os" = "CYGWIN" ]; then
@@ -1498,7 +1522,7 @@ make_cflags_and_ldflags() {
LDFLAGS="$LDFLAGS -Wl,--subsystem,windows"
fi
LIBS="$LIBS -lws2_32 -lwinmm -lgdi32 -ldxguid -lole32"
LIBS="$LIBS -lws2_32 -lwinmm -lgdi32 -ldxguid -lole32 -limm32"
if [ $cc_version -ge 44 ]; then
LDFLAGS_BUILD="$LDFLAGS_BUILD -static-libgcc -static-libstdc++"
@@ -1558,7 +1582,7 @@ make_cflags_and_ldflags() {
LDFLAGS="$OSX_LD_SYSROOT $LDFLAGS"
fi
if [ "$enable_universal" = "0" ] && [ $cc_version -ge 40 ]; then
if [ "$enable_universal" = "0" ] && [ $cc_version -gt 40 ]; then
# Only set the min version when not doing an universal build.
# Universal builds set the version elsewhere.
if [ "$cpu_type" = "64" ]; then
@@ -1657,6 +1681,17 @@ make_cflags_and_ldflags() {
CFLAGS="$CFLAGS -DWITH_LZO"
fi
if [ -n "$xdg_basedir_config" ]; then
CFLAGS="$CFLAGS -DWITH_XDG_BASEDIR"
CFLAGS="$CFLAGS `$xdg_basedir_config --cflags | tr '\n\r' ' '`"
if [ "$enable_static" != "0" ]; then
LIBS="$LIBS `$xdg_basedir_config --libs --static | tr '\n\r' ' '`"
else
LIBS="$LIBS `$xdg_basedir_config --libs | tr '\n\r' ' '`"
fi
fi
# 64bit machines need -D_SQ64
if [ "$cpu_type" = "64" ] && [ "$enable_universal" = "0" ]; then
CFLAGS="$CFLAGS -D_SQ64"
@@ -1665,17 +1700,18 @@ make_cflags_and_ldflags() {
if [ -n "$png_config" ]; then
CFLAGS="$CFLAGS -DWITH_PNG"
CFLAGS="$CFLAGS `$png_config --cppflags --I_opts | tr '\n\r' ' '`"
CFLAGS="$CFLAGS `$png_config --cflags | tr '\n\r' ' '`"
# The extra flags are unneeded for latest libpng-config, but some versions are so broken...
if [ "$enable_static" != "0" ]; then
if [ "$os" = "OSX" ]; then
LIBS="$LIBS `$png_config --prefix`/lib/libpng.a"
# fontconfig_config goes via pkg-config on all systems, which doesn't know --prefix
# Also, despite the reason we link to the .a file ourself (because we can't use -static), we do need to ask pkg-config about possible other deps
LIBS="$LIBS `$png_config --variable=prefix`/lib/libpng.a `$png_config --libs --static | sed s@-lpng[0-9]*@@`"
else
LIBS="$LIBS `$png_config --static --ldflags | tr '\n\r' ' '`"
LIBS="$LIBS `$png_config --libs --static | tr '\n\r' ' '`"
fi
else
LIBS="$LIBS `$png_config --ldflags | tr '\n\r' ' '`"
LIBS="$LIBS `$png_config --libs | tr '\n\r' ' '`"
fi
fi
@@ -1718,9 +1754,9 @@ make_cflags_and_ldflags() {
# Some icu-configs have the 'feature' of not adding a space where others do add the space
if [ "$static_icu" != "0" ]; then
LIBS="$LIBS `$icu_config --ldflags-searchpath` `$icu_config --ldflags-libsonly --ldflags-layout | tr '\n\r' ' ' | sed s/licu/lsicu/g`"
LIBS="$LIBS `$icu_config --ldflags-searchpath` `($icu_config --ldflags-libsonly; $icu_config --ldflags-layout) | tr '\n\r' ' ' | sed s/licu/lsicu/g`"
else
LIBS="$LIBS `$icu_config --ldflags-searchpath` `$icu_config --ldflags-libsonly --ldflags-layout | tr '\n\r' ' '`"
LIBS="$LIBS `$icu_config --ldflags-searchpath` `($icu_config --ldflags-libsonly; $icu_config --ldflags-layout) | tr '\n\r' ' '`"
fi
fi
@@ -2680,42 +2716,64 @@ detect_libtimidity() {
detect_library "$with_libtimidity" "libtimidity" "libtimidity.a" "" "timidity.h"
}
detect_lzma() {
# 0 means no, 1 is auto-detect, 2 is force
if [ "$with_lzma" = "0" ]; then
log 1 "checking liblzma... disabled"
detect_pkg_config() {
# $1 - config-param ($with_lzma value)
# $2 - package name ('liblzma')
# $3 - config name ('lzma_config', sets $lzma_config)
# $4 - minimum module version ('2.3')
lzma_config=""
# 0 means no, 1 is auto-detect, 2 is force
if [ "$1" = "0" ]; then
log 1 "checking $2... disabled"
eval "$3=\"\""
return 0
fi
if [ "$with_lzma" = "1" ] || [ "$with_lzma" = "" ] || [ "$with_lzma" = "2" ]; then
lzma_config="pkg-config liblzma"
log 2 "detecting $2"
if [ "$1" = "1" ] || [ "$1" = "" ] || [ "$1" = "2" ]; then
pkg_config_call="pkg-config $2"
else
lzma_config="$with_lzma"
pkg_config_call="$1"
fi
version=`$lzma_config --modversion 2>/dev/null`
version=`$pkg_config_call --modversion 2>/dev/null`
ret=$?
log 2 "executing $lzma_config --modversion"
check_version "$4" "$version"
version_ok=$?
log 2 "executing $pkg_config_call --modversion"
log 2 " returned $version"
log 2 " exit code $ret"
if [ -z "$version" ] || [ "$ret" != "0" ]; then
log 1 "checking liblzma... not found"
if [ -z "$version" ] || [ "$ret" != "0" ] || [ "$version_ok" != "1" ]; then
if [ -n "$version" ] && [ "$version_ok" != "1" ]; then
log 1 "checking $2... needs at least version $4, $2 NOT enabled"
else
log 1 "checking $2... not found"
fi
# It was forced, so it should be found.
if [ "$with_lzma" != "1" ]; then
log 1 "configure: error: pkg-config liblzma couldn't be found"
log 1 "configure: error: you supplied '$with_lzma', but it seems invalid"
if [ "$1" != "1" ]; then
log 1 "configure: error: pkg-config $2 couldn't be found"
log 1 "configure: error: you supplied '$1', but it seems invalid"
exit 1
fi
lzma_config=""
eval "$3=\"\""
return 0
fi
log 1 "checking liblzma... found"
eval "$3=\"$pkg_config_call\""
log 1 "checking $2... found"
}
detect_lzma() {
detect_pkg_config "$with_lzma" "liblzma" "lzma_config" "5.0"
}
detect_xdg_basedir() {
detect_pkg_config "$with_xdg_basedir" "libxdg-basedir" "xdg_basedir_config" "1.2"
}
detect_png() {
@@ -2742,33 +2800,7 @@ detect_png() {
return 0
fi
if [ "$with_png" = "1" ] || [ "$with_png" = "" ] || [ "$with_png" = "2" ]; then
png_config="libpng-config"
else
png_config="$with_png"
fi
version=`$png_config --version 2>/dev/null`
ret=$?
log 2 "executing $png_config --version"
log 2 " returned $version"
log 2 " exit code $ret"
if [ -z "$version" ] || [ "$ret" != "0" ]; then
log 1 "checking libpng... not found"
# It was forced, so it should be found.
if [ "$with_png" != "1" ]; then
log 1 "configure: error: libpng-config couldn't be found"
log 1 "configure: error: you supplied '$with_png', but it seems invalid"
exit 1
fi
png_config=""
return 0
fi
log 1 "checking libpng... found"
detect_pkg_config "$with_png" "libpng" "png_config" "1.2"
}
detect_freetype() {
@@ -2863,39 +2895,7 @@ detect_fontconfig() {
return 0
fi
if [ "$with_fontconfig" = "1" ] || [ "$with_fontconfig" = "" ] || [ "$with_fontconfig" = "2" ]; then
fontconfig_config="pkg-config fontconfig"
else
fontconfig_config="$with_fontconfig"
fi
version=`$fontconfig_config --modversion 2>/dev/null`
ret=$?
check_version '2.3' "$version"
version_ok=$?
log 2 "executing $fontconfig_config --modversion"
log 2 " returned $version"
log 2 " exit code $ret"
if [ -z "$version" ] || [ "$ret" != "0" ] || [ "$version_ok" != "1" ]; then
if [ -n "$version" ] && [ "$version_ok" != "1" ]; then
log 1 "checking libfontconfig... needs at least version 2.3.0, fontconfig NOT enabled"
else
log 1 "checking libfontconfig... not found"
fi
# It was forced, so it should be found.
if [ "$with_fontconfig" != "1" ]; then
log 1 "configure: error: fontconfig-config couldn't be found"
log 1 "configure: error: you supplied '$with_fontconfig', but it seems invalid"
exit 1
fi
fontconfig_config=""
return 0
fi
log 1 "checking libfontconfig... found"
detect_pkg_config "$with_fontconfig" "fontconfig" "fontconfig_config" "2.3"
}
detect_icu() {
@@ -3261,6 +3261,40 @@ detect_cputype() {
rm -f tmp.64bit tmp.64bit.cpp
}
detect_sse_capable_architecture() {
# 0 means no, 1 is auto-detect, 2 is force
if [ "$with_sse" = "0" ]; then
log 1 "checking SSE... disabled"
return
fi
echo "#define _SQ64 1" > tmp.sse.cpp
echo "#include <xmmintrin.h>" >> tmp.sse.cpp
echo "#include <smmintrin.h>" >> tmp.sse.cpp
echo "#include <tmmintrin.h>" >> tmp.sse.cpp
echo "int main() { return 0; }" >> tmp.sse.cpp
execute="$cxx_host -msse4.1 $CFLAGS tmp.sse.cpp -o tmp.sse 2>&1"
sse="`eval $execute 2>/dev/null`"
ret=$?
log 2 "executing $execute"
log 2 " returned $sse"
log 2 " exit code $ret"
if [ "$ret" = "0" ]; then
log 1 "detecting SSE... found"
else
# It was forced, so it should be found.
if [ "$with_sse" != "1" ]; then
log 1 "configure: error: SSE couln't be found"
log 1 "configure: error: you force enabled SSE, but it seems unavailable"
exit 1
fi
log 1 "detecting SSE... not found"
with_sse="0"
fi
rm -f tmp.sse tmp.exe tmp.sse.cpp
}
make_sed() {
T_CFLAGS="$CFLAGS"
T_CXXFLAGS="$CXXFLAGS"
@@ -3631,13 +3665,16 @@ showhelp() {
echo " --with-cocoa enables COCOA video driver (OSX ONLY)"
echo " --with-sdl[=sdl-config] enables SDL video driver support"
echo " --with-zlib[=zlib.a] enables zlib support"
echo " --with-liblzma[=liblzma.a] enables liblzma support"
echo " --with-liblzma[=\"pkg-config liblzma\"]"
echo " enables liblzma support"
echo " --with-liblzo2[=liblzo2.a] enables liblzo2 support"
echo " --with-png[=libpng-config] enables libpng support"
echo " --with-freetype[=freetype-config]"
echo " enables libfreetype support"
echo " --with-fontconfig[=pkg-config fontconfig]"
echo " --with-fontconfig[=\"pkg-config fontconfig\"]"
echo " enables fontconfig support"
echo " --with-xdg-basedir[=\"pkg-config libxdg-basedir\"]"
echo " enables XDG base directory support"
echo " --with-icu[=icu-config] enables icu (used for right-to-left support)"
echo " --static-icu try to link statically (libsicu instead of"
echo " libicu; can fail as the new name is guessed)"
@@ -3648,6 +3685,8 @@ showhelp() {
echo " --with-ccache enables ccache support"
echo " --with-distcc enables distcc support"
echo " --without-grfcodec disable usage of grfcodec and re-generation of base sets"
echo " --without-threads disable threading support"
echo " --without-sse disable SSE support (x86/x86_64 only)"
echo ""
echo "Some influential environment variables:"
echo " CC C compiler command"

1
configure vendored
View File

@@ -129,6 +129,7 @@ AWKCOMMAND='
if ($0 == "DIRECTMUSIC" && "'$with_direct_music'" == "0") { next; }
if ($0 == "LIBTIMIDITY" && "'$libtimidity'" == "" ) { next; }
if ($0 == "HAVE_THREAD" && "'$with_threads'" == "0") { next; }
if ($0 == "SSE" && "'$with_sse'" != "1") { next; }
skip += 1;

262
docs/desync.txt Normal file
View File

@@ -0,0 +1,262 @@
Some explanations about Desyncs
Last updated: 2014-02-23
------------------------------------------------------------------------
Table of contents
-----------------
1.0) Desync theory
* 1.1) OpenTTD multiplayer architecture
* 1.2) What is a Desync and how is it detected
* 1.3) Typical causes of Desyncs
2.0) What to do in case of a Desync
* 2.1) Cache debugging
* 2.2) Desync recording
3.0) Evaluating the Desync records
* 3.1) Replaying
* 3.2) Evaluation the replay
* 3.3) Comparing savegames
1.1) OpenTTD multiplayer architecture
---- --------------------------------
OpenTTD has a huge gamestate, which changes all of the time.
The savegame contains the complete gamestate at a specific point
in time. But this state changes completely each tick: Vehicles move
and trees grow.
However, most of these changes in the gamestate are deterministic:
Without a player interfering a vehicle follows its orders always
in the same way, and trees always grow the same.
In OpenTTD multiplayer synchronisation works by creating a savegame
when clients join, and then transfering that savegame to the client,
so it has the complete gamestate at a fixed point in time.
Afterwards clients only receive 'commands', that is: Stuff which is
not predictable, like
- player actions
- AI actions
- GameScript actions
- Admin Port command
- rcon commands
- ...
These commands contain the information on how to execute the command,
and when to execute it. Time is measured in 'network frames'.
Mind that network frames to not match ingame time. Network frames
also run while the game is paused, to give a defined behaviour to
stuff that is executing while the game is paused.
The deterministic part of the gamestate is run by the clients on
their own. All they get from the server is the instruction to
run the gamestate up to a certain network time, which basically
says that there are no commands scheduled in that time.
When a client (which includes the server itself) wants to execute
a command (i.e. a non-predictable action), it does this by
- calling DoCommandP resp. DoCommandPInternal
- These functions first do a local test-run of the command to
check simple preconditions. (Just to give the client an
immediate response without bothering the server and waiting for
the response.) The test-run may not actually change the
gamestate, all changes must be discarded.
- If the local test-run succeeds the command is sent to the server.
- The server inserts the command into the command queue, which
assigns a network frame to the commands, i.e. when it shall be
executed on all clients.
- Enhanced with this specific timestamp, the command is send to all
clients, which execute the command simultaneously in the same
network frame in the same order.
1.2) What is a Desync and how is it detected
---- ---------------------------------------
In the ideal case all clients have the same gamestate as the server
and run in sync. That is, vehicle movement is the same on all
clients, and commands are executed the same everywhere and
have the same results.
When a Desync happens, it means that the gamestates on the clients
(including the server) are no longer the same. Just imagine
that a vehicle picks the left line instead of the right line at
a junction on one client.
The important thing here is, that noone notices when a Desync
occurs. The desync client will continue to simulate the gamestate
and execute commands from the server. Once the gamestate differs
it will increasingly spiral out of control: If a vehicle picks a
different route, it will arrive at a different time at a station,
which will load different cargo, which causes other vehicles to
load other stuff, which causes industries to notice different
servicing, which causes industries to change production, ...
the client could run all day in a different universe.
To limit how long a Desync can remain unnoticed, the server
transfers some checksums every now and then for the gamestate.
Currently this checksum is the state of the random number
generator of the game logic. A lot of things in OpenTTD depend
on the RNG, and if the gamestate differs, it is likely that the
RNG is called at different times, and the state differs when
checked.
The clients compare this 'checksum' with the checksum of their
own gamestate at the specific network frame. If they differ,
the client disconnects with a Desync error.
The important thing here is: The detection of the Desync is
only an ultimate failure detection. It does not give any
indication on when the Desync happened. The Desync may after
all have occured long ago, and just did not affect the checksum
up to now. The checksum may have matched 10 times or more
since the Desync happend, and only now the Desync has spiraled
enough to finally affect the checksum. (There was once a desync
which was only noticed by the checksum after 20 game years.)
1.3) Typical causes of Desyncs
---- -------------------------
Desyncs can be caused by the following scenarios:
- The savegame does not describe the complete gamestate.
- Some information which affects the progression of the
gamestate is not saved in the savegame.
- Some information which affects the progression of the
gamestate is not loaded from the savegame.
This includes the case that something is not completely
reset before loading the savegame, so data from the
previous game is carried over to the new one.
- The gamestate does not behave deterministic.
- Cache mismatch: The game logic depends on some cached
values, which are not invalidated properly. This is
the usual case for NewGRF-specific Desyncs.
- Undefined behaviour: The game logic performs multiple
things in an undefined order or with an undefined
result. E.g. when sorting something with a key while
some keys are equal. Or some computation that depends
on the CPU architecture (32/64 bit, little/big endian).
- The gamestate is modified when it shall not be modified.
- The test-run of a command alters the gamestate.
- The gamestate is altered by a player or script without
using commands.
2.1) Cache debugging
---- ---------------
Desyncs which are caused by inproper cache validation can
often be found by enabling cache validation:
- Start OpenTTD with '-d desync=2'.
- This will enable validation of caches every tick.
That is, cached values are recomputed every tick and compared
to the cached value.
- Differences are logged to 'commands-out.log' in the autosave
folder.
Mind that this type of debugging can also be done in singleplayer.
2.2) Desync recording
---- ----------------
If you have a server, which happens to encounter Desyncs often,
you can enable recording of the gamestate alterations. This
will later allow the replay the gamestate and locate the Desync
cause.
There are two levels of Desync recording, which are enabled
via '-d desync=2' resp. '-d desync=3'. Both will record all
commands to a file 'commands-out.log' in the autosave folder.
If you have the savegame from the start of the server, and
this command log you can replay the whole game. (see Section 3.1)
If you do not start the server from a savegame, there will
also be a savegame created just after a map has been generated.
The savegame will be named 'dmp_cmds_*.sav' and be put into
the autosave folder.
In addition to that '-d desync=3' also creates regular savegames
at defined spots in network time. (more defined than regular
autosaves). These will be created in the autosave folder
and will also be named 'dmp_cmds_*.sav'.
These saves allow comparing the gamestate with the original
gamestate during replaying, and thus greatly help debugging.
However, they also take a lot of disk space.
3.1) Replaying
---- ---------
To replay a Desync recording, you need these files:
- The savegame from when the server was started, resp.
the automatically created savegame from when the map
was generated.
- The 'commands-out.log' file.
- Optionally the 'dmp_cmds_*.sav'.
Put these files into a safe spot. (Not your autosave folder!)
Next, prepare your OpenTTD for replaying:
- Get the same version of OpenTTD as the original server was running.
- Uncomment/enable the define 'DEBUG_DUMP_COMMANDS' in
'src/network/network_func.h'.
- Put the 'commands-out.log' into the root save folder, and rename
it to 'commands.log'.
- Run 'openttd -D -d desync=3 -g startsavegame.sav'.
This replays the server log and creates new 'commands-out.log'
and 'dmp_cmds_*.sav' in your autosave folder.
3.2) Evaluation the replay
---- ---------------------
The replaying will also compare the checksums which are part of
the 'commands-out.log' with the replayed gamestate.
If they differ, it will trigger a 'NOT_REACHED'.
If the replay succeeds without mismatch, that is the replay reproduces
the original server state:
- Repeat the replay starting from incrementally later 'dmp_cmds_*.sav'
while truncating the 'commands.log' at the beginning appropriately.
The 'dmp_cmds_*.sav' can be your own ones from the first reply, or
the ones from the original server (if you have them).
(This simulates the view of joining clients during the game.)
- If one of those replays fails, you have located the Desync between
the last dmp_cmds that reproduces the replay and the first one
that fails.
If you have the original 'dmp_cmds_*.sav', you can also compare those
savegames with your own ones from the replay. You can also comment/disable
the 'NOT_REACHED' mentioned above, to get another 'dmp_cmds_*.sav' from
the replay after the mismatch has already been detected.
See Section 3.2 on how to compare savegames.
If the saves differ you have located the Desync between the last dmp_cmds
that match and the first one that does not. The difference of the saves
may point you in the direction of what causes it.
If the replay succeeds without mismatch, and you do not have any
'dmp_cmd_*.sav' from the original server, it is a lost case.
Enable creation of the 'dmp_cmd_*.sav' on the server, and wait for the
next Desync.
Finally, you can also compare the 'commands-out.log' from the original
server with the one from the replay. They will differ in stuff like
dates, and the original log will contain the chat, but otherwise they
should match.
3.2) Comparing savegames
---- -------------------
The binary form of the savegames from the original server and from
your replay will always differ:
- The savegame contains paths to used NewGRF files.
- The gamelog will log your loading of the savegame.
- The savegame data of AIs and the Gamescript will differ.
Scripts are not run during the replay, only their recorded commands
are replayed. Their internal state will thus not change in the
replay and will differ.
To compare savegame more semantically, there exist some ugly hackish
tools at:
http://devs.openttd.org/~frosch/texts/zpipe.c
http://devs.openttd.org/~frosch/texts/printhunk.c
The first one decompresses OpenTTD savegames. The second one creates
a textual representation of an uncompressed savegame, by parsing hunks
and arrays and such. With both tools you need to be a bit careful
since they work on stdin and stdout, which may not deal well with
binary data.
If you have the textual representation of the savegames, you can
compare them with regular diff tools.

View File

@@ -640,7 +640,7 @@
<ul>
<li>m1 bits 4..0: <a href="#OwnershipInfo">owner</a> of the depot</li>
<li>m2: Depot index</li>
<li>m5 bits 3..0: exit towards:
<li>m5 bits 1..0: exit towards:
<table>
<tr>
<td><tt>0</tt>&nbsp; </td>
@@ -1593,41 +1593,14 @@
<td valign=top nowrap>&nbsp;</td>
<td>
<ul>
<li>m1 bits 6..5 : Water class (sea, canal, river or land)
<li>m1 bits 6..5 : Water class (sea, canal, river or land)</li>
<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>m5: tile type:
<table>
<tr>
<td nowrap valign=top><tt>00</tt>&nbsp; </td>
<td align=left>transmitter</td>
</tr>
<tr>
<td nowrap valign=top><tt>01</tt>&nbsp; </td>
<td align=left>lighthouse</td>
</tr>
<tr>
<td nowrap valign=top><tt>02</tt>&nbsp; </td>
<td align=left>company statue
</tr>
<tr>
<td nowrap valign=top><tt>03</tt>&nbsp; </td>
<td align=left>company-owned land</td>
</tr>
<tr>
<td nowrap valign=top><tt>04</tt><tt></tt>&nbsp; </td>
<td align=left>company headquarters</td>
</tr>
</table>
</li>
<li>m2: index into the array of objects, bits 0 to 15 (upper bits in m5)</li>
<li>m3: random bits</li>
<li>m5: index into the array of objects, bits 16 to 23 (lower bits in m2)</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
<li>m7: animation counter</li>
</ul>
</td>
</tr>

View File

@@ -115,7 +115,7 @@ the array so you can quickly see what is used and what is not.
<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</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">O</span>X <span class="free">OO</span>XX</td>
<td class="bits">XX<span class="free">OO OO</span>XX</td>
<td class="bits"><span class="free">OOOO OOOO</span></td>
</tr>
@@ -208,7 +208,7 @@ the array so you can quickly see what is used and what is not.
<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>XXX</td>
<td class="bits"><span class="free">OO</span>XX XXXX</td>
<td class="bits"><span class="free">OO</span>XX X<span class="free">O</span>XX</td>
<td class="bits">XX<span class="free">O</span>X XXXX</td>
</tr>
<tr>
@@ -311,7 +311,7 @@ the array so you can quickly see what is used and what is not.
<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>
<td class="bits">XXXX X<span class="free">O</span>XX</td>
<td class="bits">XXXX XXXX</td>
</tr>
<tr>
<td>bridge ramp</td>

30
docs/linkgraph.txt Normal file
View File

@@ -0,0 +1,30 @@
Some clarifications about the link graph
----------------------------------------
InitializeLinkGraphs joins all threads, so if the game is abandoned
with some threads still running, they're joined as soon as the next game
(possibly the title game) is started. See also InitializeGame.
The MCF (multi-commodity flow) algorithm can be quite CPU-hungry as it's
NP-hard and takes exponential time (though with a very small constant
factor) in the number of nodes.
This is why it is run in a separate thread where possible. However after
some time the thread is joined and if it hasn't finished by then the game
will hang. This problem gets worse if we are running on a platform without
threads. However, as those are usually the ones with less CPU power I
assume the contention for the CPU would make the game hard to play even
with threads or even without cargodist (autosave ...). I might be wrong,
but I won't put any work into this before someone shows me some problem.
You can configure the link graph recalculation time. A link graph
recalculation time of X days means that each link graph job has X days
to run before it is joined. The downside is that the flow stats won't be
updated before the job is finished and thus a high value means less
updates and longer times until changes in capacities are accounted for.
If you play a very large map with a complicated link graph you may want to
raise the time setting to avoid lags. The same holds for systems with slow
CPUs.
Another option to avoid excessive lags is to reduce the accuracy of link
graph calculations. Generally the accuracy is inversely correlated to the
CPU requirements of the MCF algorithm.

View File

@@ -1,6 +1,6 @@
OpenTTD's known bugs
Last updated: 2013-07-14
Release version: 1.3.2-RC2
Last updated: 2014-05-18
Release version: 1.4.1-RC2
------------------------------------------------------------------------
@@ -33,12 +33,13 @@ 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.
for this problem: Either you set the number of AI players to 0 so that
no AI is started. You find that setting at the top of the window in the
"AI / Game Scripts 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 directly in the "AI / Game Scripts Settings" dialogue via the
"Check Online Content" button.
After a while of playing, colours get corrupted
In Windows 7 the background slideshow corrupts the colour mapping of
@@ -403,3 +404,52 @@ Mouse cursor going missing with SDL [FS#4997]:
We cannot fix this problem as SDL simply does not provide the
required information in these corner cases. This is a bug in SDL
and as such there is little that we can do about it.
Inconsistent catchment areas [FS#5661]:
Due to performance decisions the catchment area for cargo accepted
by a station for delivery to houses or industries differs from the
catchment area for cargo that is delivered to stations from houses
or industries.
Conceptually they work the same, but the effect in game differs.
They work by finding the closest destination "around" the source
which is within a certain distance. This distance depends on the
type of station, e.g. road stops have a smaller catchment area than
large airports. In both cases the bounding box, the smallest
rectangle that contains all tiles of something, is searched for the
target of the cargo, and then spiraling outwards finding the closest
tile of the target.
In the case of a station with two tiles spread far apart with a house
that is within the station's bounding box, it would be possible that
the spiraling search from the house does not reach one of the station
tiles before the search ends, i.e. all tiles within that distance
are searched. So the house does not deliver cargo to the station. On
the other hand, the station will deliver cargo because the house
falls within the bounding box, and thus search area.
It is possible to make these consistent, but then cargo from a house
to a station needs to search up to 32 tiles around itself, i.e. 64
by 64 tiles, to find all possible stations it could deliver to
instead of 10 by 10 tiles (40 times more tiles). Alternatively the
search from a station could be changed to use the actual tiles, but
that would require considering checking 10 by 10 tiles for each of
the tiles of a station, instead of just once.
Trains might not stop at platforms that are currently being changed [FS#5553]:
If you add tiles to or remove tiles from a platform while a train is
approaching to stop at the same platform, that train can miss the place
where it's supposed to stop and pass the station without stopping. This
is caused by the fact that the train is considered to already have stopped
if it's beyond its assigned stopping location. We can't let the train stop
just anywhere in the station because then it would never leave the station
if you have the same station in the order list multiple times in a row or
if there is only one station in the order list (see FS#5684).
Some houses and industries are not affected by transparency [FS#5817]:
Some of the default houses and industries (f.e. the iron ore mine) are
not affected by the transparency options. This is because the graphics do
not (completely) separate the ground from the building.
This is a bug of the original graphics, and unfortunately cannot be
fixed with OpenGFX for the sake of maintaining compatibility with the
original graphics.

View File

@@ -7,7 +7,7 @@
// 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 "OpenTTD GUI graphics"
-1 * 3 05 15 \b 168 // OPENTTD_SPRITE_COUNT
-1 * 3 05 15 \b 175 // OPENTTD_SPRITE_COUNT
-1 sprites/openttdgui.png 8bpp 66 8 64 31 -31 7 normal
-1 sprites/openttdgui.png 8bpp 146 8 64 31 -31 7 normal
-1 sprites/openttdgui.png 8bpp 226 8 64 31 -31 7 normal
@@ -176,3 +176,10 @@
-1 sprites/openttdgui.png 8bpp 296 440 8 8 0 0 normal
-1 sprites/openttdgui.png 8bpp 312 440 14 10 0 0 normal
-1 sprites/openttdgui.png 8bpp 328 440 14 10 0 0 normal
-1 sprites/openttdgui.png 8bpp 348 440 8 8 0 0 normal
-1 sprites/openttdgui.png 8bpp 362 440 20 20 0 0 normal
-1 sprites/openttdgui.png 8bpp 388 440 20 20 0 0 normal
-1 sprites/openttdgui.png 8bpp 414 440 20 20 0 0 normal
-1 sprites/openttdgui.png 8bpp 440 440 20 20 0 0 normal
-1 sprites/openttdgui.png 8bpp 466 440 20 20 0 0 normal
-1 sprites/openttdgui.png 8bpp 490 440 20 20 0 0 normal

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -9,3 +9,4 @@ Exec=!!TTD!!
Terminal=false
Categories=!!MENU_GROUP!!
Comment=A clone of Transport Tycoon Deluxe
Keywords=game;simulation;transport;tycoon;deluxe;economics;multiplayer;money;train;ship;bus;truck;aircraft;cargo

View File

@@ -1,3 +1,81 @@
openttd (1.4.1~RC2-0) unstable; urgency=low
* New upstream release 1.4.1-RC2
-- OpenTTD <info@openttd.org> Sun, 18 May 2014 21:00:00 +0200
openttd (1.4.1~RC1-0) unstable; urgency=low
* New upstream release 1.4.1-RC1
-- OpenTTD <info@openttd.org> Sun, 04 May 2014 21:00:00 +0200
openttd (1.4.0-0) unstable; urgency=low
* New upstream release 1.4.0
-- OpenTTD <info@openttd.org> Tue, 01 Apr 2014 21:00:00 +0200
openttd (1.4.0~RC1-0) unstable; urgency=low
* New upstream release 1.4.0-RC1
-- OpenTTD <info@openttd.org> Tue, 17 Mar 2014 21:00:00 +0100
openttd (1.4.0~beta5-0) unstable; urgency=low
* New upstream release 1.4.0-beta5
-- OpenTTD <info@openttd.org> Tue, 25 Feb 2014 10:15:00 +0100
openttd (1.4.0~beta4-0) unstable; urgency=low
* New upstream release 1.4.0-beta4
-- OpenTTD <info@openttd.org> Thu, 06 Feb 2014 21:00:00 +0100
openttd (1.4.0~beta3-0) unstable; urgency=low
* New upstream release 1.4.0-beta3
-- OpenTTD <info@openttd.org> Tue, 21 Jan 2014 21:00:00 +0100
openttd (1.4.0~beta2-0) unstable; urgency=low
* New upstream release 1.4.0-beta2
-- OpenTTD <info@openttd.org> Tue, 07 Jan 2014 21:00:00 +0100
openttd (1.4.0~beta1-0) unstable; urgency=low
* New upstream release 1.4.0-beta1
-- OpenTTD <info@openttd.org> Tue, 24 Dec 2013 00:00:00 +0100
openttd (1.3.3-0) unstable; urgency=low
* New upstream release 1.3.3
-- OpenTTD <info@openttd.org> Fri, 29 Nov 2013 19:00:00 +0100
openttd (1.3.3~RC2-0) unstable; urgency=low
* New upstream release 1.3.3-RC2
-- OpenTTD <info@openttd.org> Sun, 24 Nov 2013 19:00:00 +0100
openttd (1.3.3~RC1-0) unstable; urgency=low
* New upstream release 1.3.3-RC1
-- OpenTTD <info@openttd.org> Sun, 17 Nov 2013 19:00:00 +0100
openttd (1.3.2-0) unstable; urgency=low
* New upstream release 1.3.2
-- OpenTTD <info@openttd.org> Sat, 27 Jul 2013 18:00:00 +0200
openttd (1.3.2~RC2-0) unstable; urgency=low
* New upstream release 1.3.2-RC2

View File

@@ -3,11 +3,10 @@ Section: games
Priority: optional
Maintainer: Matthijs Kooijman <matthijs@stdin.nl>
Uploaders: Jordi Mallach <jordi@debian.org>
DM-Upload-Allowed: yes
Build-Depends: debhelper (>= 7.0.50), libsdl-dev, zlib1g-dev, libpng-dev, libfreetype6-dev, libfontconfig-dev, libicu-dev, liblzma-dev, liblzo2-dev
Standards-Version: 3.8.4
Vcs-Browser: http://git.debian.org/?p=collab-maint/openttd.git
Vcs-Git: git://git.debian.org/collab-maint/openttd.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/openttd.git
Vcs-Git: git://anonscm.debian.org/collab-maint/openttd.git
Homepage: http://www.openttd.org/
Package: openttd

View File

@@ -1,77 +1,106 @@
This package was debianized by Matthijs Kooijman <matthijs@stdin.nl>
on Wed, 15 Sep 2004 00:24:01 +0200.
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: OpenTTD
Upstream-Contact: info@openttd.org, #openttd on irc.oftc.net
Source: http://www.openttd.org
Upstream author: Ludvig Strigeus (ludde) and many others.
Upstream homepage: http://www.openttd.org
Copyright © 2004-2009 Ludvig Strigeous and others.
Files: *
Copyright: © 2004-2012 Ludvig Strigeous and others.
License: GPL-2.0
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2.0 as
published by the Free Software Foundation;
.
This program 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 this package; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
.
On Debian systems, the complete text of the GNU General Public License
version 2 can be found in `/usr/share/common-licenses/GPL-2'.
OpenTTD License:
Files: src/3rdparty/squirrel/*
Copyright: © 2003-2009 Alberto Demichelis
License: Zlib
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2.0 as
published by the Free Software Foundation;
Files: src/3rdparty/md5/*
Copyright: © 1999, 2000, 2002 Aladdin Enterprises. All rights reserved.
License: Zlib
This program 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 this package; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
License: Zlib
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
.
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software in
a product, an acknowledgment in the product documentation would be
appreciated but is not required.
.
2. Altered source versions must be plainly marked as such, and must not
be misrepresented as being the original software.
.
3. This notice may not be removed or altered from any source
distribution.
On Debian systems, the complete text of the GNU General Public License
version 2 can be found in `/usr/share/common-licenses/GPL-2'.
Files: os/dos/exe2coff/*
Copyright: © 1998 DJ Delorie
License: GPL-2.0 with additional restrictions
This document is Copyright (C) DJ Delorie and may be distributed
verbatim, but changing it is not allowed.
.
Source code copyright DJ Delorie is distributed under the terms of the
GNU General Public Licence, with the following exceptions:
.
* Sources used to build crt0.o, gcrt0.o, libc.a, libdbg.a, and
libemu.a are distributed under the terms of the GNU Library General
Public License, rather than the GNU GPL.
.
* Any existing copyright or authorship information in any given source
file must remain intact. If you modify a source file, a notice to that
effect must be added to the authorship information in the source file.
.
* Runtime binaries, as provided by DJ in DJGPP, may be distributed
without sources ONLY if the recipient is given sufficient information
to obtain a copy of djgpp themselves. This primarily applies to
go32-v2.exe, emu387.dxe, and stubedit.exe.
.
* Runtime objects and libraries, as provided by DJ in DJGPP, when
linked into an application, may be distributed without sources ONLY
if the recipient is given sufficient information to obtain a copy of
djgpp themselves. This primarily applies to crt0.o and libc.a.
.
On Debian systems, the complete text of the GNU General Public License
version 2 can be found in `/usr/share/common-licenses/GPL-2'.
Comment:
Given only the exe2coff.c file is distributed in the source distribution (and
nothing in Debian binary distribution), it seems only the 2nd condition
applies.
This package contains an embedded version of the "Squirrel" programming
language, which is shipped under the following license:
Copyright (c) 2003-2009 Alberto Demichelis
This software is provided 'as-is', without any
express or implied warranty. In no event will the
authors be held liable for any damages arising from
the use of this software.
Permission is granted to anyone to use this software
for any purpose, including commercial applications,
and to alter it and redistribute it freely, subject
to the following restrictions:
1. The origin of this software must not be
misrepresented; you must not claim that
you wrote the original software. If you
use this software in a product, an
acknowledgment in the product
documentation would be appreciated but is
not required.
2. Altered source versions must be plainly
marked as such, and must not be
misrepresented as being the original
software.
3. This notice may not be removed or
altered from any source distribution.
This package contains an implementation of the md5 hash algorithm, which
is shipped under the following license:
Copyright (C) 1999, 2000, 2002 Aladdin Enterprises. All rights reserved.
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Files: os/dos/cwsdpmi/*
Source: http://homer.rice.edu/~sandmann/cwsdpmi/index.html
Copyright: © 1995-2000 Charles W Sandmann (sandmann@clio.rice.edu)
License: Custom binary-only license
This is release 5. The files in this binary distribution may be redistributed
under the GPL (with source) or without the source code provided:
.
* CWSDPMI.EXE or CWSDPR0.EXE are not modified in any way except via CWSPARAM.
.
* CWSDSTUB.EXE internal contents are not modified in any way except via
CWSPARAM or STUBEDIT. It may have a COFF image plus data appended to it.
.
* Notice to users that they have the right to receive the source code and/or
binary updates for CWSDPMI. Distributors should indicate a site for the
source in their documentation.
Comment:
Files are distributed as binary only, so the second option in the license
("without source code provided: ...") is applicable.

View File

@@ -1,2 +1,2 @@
?package(openttd):needs="X11" section="Games/Simulation" title="OpenTTD"\
command="/usr/share/games/openttd/openttd-wrapper" icon="/usr/share/pixmaps/openttd.32.xpm"
command="/usr/games/openttd" icon="/usr/share/pixmaps/openttd.32.xpm"

View File

@@ -4,7 +4,7 @@
# Use debhelper default for all targets (but some are overridden below).
%:
dh $@
dh --parallel $@
DEB_HOST_GNU_TYPE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
@@ -12,21 +12,29 @@ ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif
# This prevents linking uselessly to libicudata and silences a warning
# in the build process.
DEB_LDFLAGS_MAINT_APPEND="-Wl,-as-needed"
# Enable all hardening options (since openttd offers a network-listening
# service that handles untrusted data).
DEB_BUILD_MAINT_OPTIONS=hardening=+all
# Load buildflags (this uses dpkg-buildflags). Note that we don't export
# them, but instead pass them to ./configure explicitly.
include /usr/share/dpkg/buildflags.mk
# Pass custom options to configure. Since it's not autoconf but a custom
# script, some of the option names are slightly different. We also need
# to be explicit about the dependencies, in case we're not running in a
# clean build root.
override_dh_auto_configure:
./configure $(CROSS) --prefix-dir=/usr --install-dir=debian/openttd --without-allegro --with-zlib --with-sdl --with-png --with-freetype --with-fontconfig --with-icu --with-liblzo2 --with-lzma --without-iconv --disable-strip CFLAGS="$(CFLAGS) -g" LDFLAGS="$(LDFLAGS) -Wl,-as-needed"
./configure $(CROSS) --prefix-dir=/usr --install-dir=debian/openttd --without-allegro --with-zlib --with-sdl --with-png --with-freetype --with-fontconfig --with-icu --with-liblzo2 --with-lzma --without-xdg-basedir --without-iconv --disable-strip CFLAGS="$(CFLAGS) $(CPPFLAGS)" CXXFLAGS="$(CXXFLAGS) $(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CFLAGS_BUILD="$(CFLAGS) $(CPPFLAGS)" CXXFLAGS_BUILD="$(CXXFLAGS) $(CPPFLAGS)" LDFLAGS_BUILD="$(LDFLAGS)"
# Do some extra installation
override_dh_auto_install:
$(MAKE) install DO_NOT_INSTALL_CHANGELOG=1 DO_NOT_INSTALL_LICENSE=1
# Install the wrapper and make it executable
install -d debian/openttd/usr/share/games/openttd/
install -m755 debian/openttd-wrapper debian/openttd/usr/share/games/openttd/
# Don't do testing. Because the OpenTTD Makefile always does dependency
# generation (even on invalid targets), dh_auto_test thinks there is a
# "test" target, while there isn't.

View File

@@ -0,0 +1,3 @@
The files in this directory are not licensed under the same terms as the
rest of OpenTTD. Licensing details can be found in OpenTTD's readme.txt
and in this directory or subdirectories as well.

View File

@@ -0,0 +1,3 @@
The files in this directory are not licensed under the same terms as the
rest of OpenTTD. Licensing details can be found in OpenTTD's readme.txt
and in this directory or subdirectories as well.

View File

@@ -3,9 +3,9 @@
# $Id$
cd `dirname $0`
cc -o exe2coff exe2coff.c || exit
cc -o exe2coff/exe2coff exe2coff/exe2coff.c || exit
cp $1 binary.exe || exit
./exe2coff binary.exe || exit
cat cwsdstub.exe binary > binary.exe || exit
./exe2coff/exe2coff binary.exe || exit
cat cwsdpmi/cwsdstub.exe binary > binary.exe || exit
mv binary.exe $1
rm binary exe2coff
rm binary exe2coff/exe2coff

View File

@@ -1,6 +1,6 @@
@echo off
set OPENTTD_VERSION=1.3.2-RC2
set OPENTTD_VERSION=1.4.0
set OPENSFX_VERSION=0.8.0
set NOSOUND_VERSION=0.8.0
set OPENGFX_VERSION=1.2.0

View File

@@ -1,7 +1,7 @@
# Version numbers to update
!define APPV_MAJOR 1
!define APPV_MINOR 3
!define APPV_MAINT 2
!define APPV_MINOR 4
!define APPV_MAINT 1
!define APPV_BUILD 1
!define APPV_EXTRA "-RC2"
@@ -545,15 +545,22 @@ FunctionEnd
;-------------------------------------------------------------------------------
; Determine windows version, returns "win9x" if Win9x/Me/2000/XP SP2- or "winnt" for the rest on the stack
Function GetWindowsVersion
GetVersion::WindowsPlatformArchitecture
Pop $R0
IntCmp $R0 64 WinNT 0
ClearErrors
StrCpy $R0 "win9x"
${If} ${IsNT}
${If} ${IsWinXP}
${AndIf} ${AtLeastServicePack} 3
${OrIf} ${AtLeastWin2003}
StrCpy $R0 "winnt"
GoTo WinNT
${EndIf}
${EndIf}
GoTo Done
WinNT:
StrCpy $R0 "winnt"
Done:
Push $R0
FunctionEnd

View File

@@ -173,6 +173,7 @@ Function load_main_data(filename, ByRef vcxproj, ByRef filters, ByRef files)
line = "MSVC" Or _
line = "DIRECTMUSIC" Or _
line = "AI" Or _
line = "SSE" Or _
line = "HAVE_THREAD" _
) Then skip = skip + 1
deep = deep + 1

View File

@@ -102,7 +102,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -131,7 +131,7 @@
<Culture>0x0809</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -156,7 +156,7 @@
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@@ -176,7 +176,7 @@
<Culture>0x0809</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -204,7 +204,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -233,7 +233,7 @@
<Culture>0x0809</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -256,7 +256,7 @@
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@@ -280,7 +280,7 @@
<Culture>0x0809</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -296,6 +296,7 @@
<ClCompile Include="..\src\articulated_vehicles.cpp" />
<ClCompile Include="..\src\autoreplace.cpp" />
<ClCompile Include="..\src\bmp.cpp" />
<ClCompile Include="..\src\cargoaction.cpp" />
<ClCompile Include="..\src\cargomonitor.cpp" />
<ClCompile Include="..\src\cargopacket.cpp" />
<ClCompile Include="..\src\cargotype.cpp" />
@@ -303,6 +304,7 @@
<ClCompile Include="..\src\command.cpp" />
<ClCompile Include="..\src\console.cpp" />
<ClCompile Include="..\src\console_cmds.cpp" />
<ClCompile Include="..\src\cpu.cpp" />
<ClCompile Include="..\src\crashlog.cpp" />
<ClCompile Include="..\src\currency.cpp" />
<ClCompile Include="..\src\date.cpp" />
@@ -332,6 +334,13 @@
<ClCompile Include="..\src\ini.cpp" />
<ClCompile Include="..\src\ini_load.cpp" />
<ClCompile Include="..\src\landscape.cpp" />
<ClCompile Include="..\src\linkgraph\demands.cpp" />
<ClCompile Include="..\src\linkgraph\flowmapper.cpp" />
<ClCompile Include="..\src\linkgraph\linkgraph.cpp" />
<ClCompile Include="..\src\linkgraph\linkgraphjob.cpp" />
<ClCompile Include="..\src\linkgraph\linkgraphschedule.cpp" />
<ClCompile Include="..\src\linkgraph\mcf.cpp" />
<ClCompile Include="..\src\linkgraph\refresh.cpp" />
<ClCompile Include="..\src\map.cpp" />
<ClCompile Include="..\src\misc.cpp" />
<ClCompile Include="..\src\mixer.cpp" />
@@ -346,7 +355,6 @@
<ClCompile Include="..\src\network\network_udp.cpp" />
<ClCompile Include="..\src\openttd.cpp" />
<ClCompile Include="..\src\order_backup.cpp" />
<ClCompile Include="..\src\os_timer.cpp" />
<ClCompile Include="..\src\pbs.cpp" />
<ClCompile Include="..\src\progress.cpp" />
<ClCompile Include="..\src\rail.cpp" />
@@ -366,6 +374,7 @@
<ClCompile Include="..\src\string.cpp" />
<ClCompile Include="..\src\stringfilter.cpp" />
<ClCompile Include="..\src\strings.cpp" />
<ClCompile Include="..\src\story.cpp" />
<ClCompile Include="..\src\subsidy.cpp" />
<ClCompile Include="..\src\textbuf.cpp" />
<ClCompile Include="..\src\texteff.cpp" />
@@ -376,6 +385,7 @@
<ClCompile Include="..\src\vehicle.cpp" />
<ClCompile Include="..\src\vehiclelist.cpp" />
<ClCompile Include="..\src\viewport.cpp" />
<ClCompile Include="..\src\viewport_sprite_sorter_sse4.cpp" />
<ClCompile Include="..\src\waypoint.cpp" />
<ClCompile Include="..\src\widget.cpp" />
<ClCompile Include="..\src\window.cpp" />
@@ -394,6 +404,7 @@
<ClInclude Include="..\src\bmp.h" />
<ClInclude Include="..\src\bridge.h" />
<ClInclude Include="..\src\cargo_type.h" />
<ClInclude Include="..\src\cargoaction.h" />
<ClInclude Include="..\src\cargomonitor.h" />
<ClInclude Include="..\src\cargopacket.h" />
<ClInclude Include="..\src\cargotype.h" />
@@ -412,6 +423,7 @@
<ClInclude Include="..\src\console_gui.h" />
<ClInclude Include="..\src\console_internal.h" />
<ClInclude Include="..\src\console_type.h" />
<ClInclude Include="..\src\cpu.h" />
<ClInclude Include="..\src\crashlog.h" />
<ClInclude Include="..\src\currency.h" />
<ClInclude Include="..\src\date_func.h" />
@@ -471,6 +483,18 @@
<ClInclude Include="..\src\landscape.h" />
<ClInclude Include="..\src\landscape_type.h" />
<ClInclude Include="..\src\language.h" />
<ClInclude Include="..\src\linkgraph\demands.h" />
<ClInclude Include="..\src\linkgraph\flowmapper.h" />
<ClInclude Include="..\src\linkgraph\init.h" />
<ClInclude Include="..\src\linkgraph\linkgraph.h" />
<ClInclude Include="..\src\linkgraph\linkgraph_base.h" />
<ClInclude Include="..\src\linkgraph\linkgraph_gui.h" />
<ClInclude Include="..\src\linkgraph\linkgraph_type.h" />
<ClInclude Include="..\src\linkgraph\linkgraphjob.h" />
<ClInclude Include="..\src\linkgraph\linkgraphjob_base.h" />
<ClInclude Include="..\src\linkgraph\linkgraphschedule.h" />
<ClInclude Include="..\src\linkgraph\mcf.h" />
<ClInclude Include="..\src\linkgraph\refresh.h" />
<ClInclude Include="..\src\livery.h" />
<ClInclude Include="..\src\map_func.h" />
<ClInclude Include="..\src\map_type.h" />
@@ -572,7 +596,10 @@
<ClInclude Include="..\src\station_type.h" />
<ClInclude Include="..\src\statusbar_gui.h" />
<ClInclude Include="..\src\stdafx.h" />
<ClInclude Include="..\src\story_base.h" />
<ClInclude Include="..\src\story_type.h" />
<ClInclude Include="..\src\strgen\strgen.h" />
<ClInclude Include="..\src\string_base.h" />
<ClInclude Include="..\src\string_func.h" />
<ClInclude Include="..\src\string_type.h" />
<ClInclude Include="..\src\stringfilter_type.h" />
@@ -615,6 +642,7 @@
<ClInclude Include="..\src\vehicle_type.h" />
<ClInclude Include="..\src\vehiclelist.h" />
<ClInclude Include="..\src\viewport_func.h" />
<ClInclude Include="..\src\viewport_sprite_sorter.h" />
<ClInclude Include="..\src\viewport_type.h" />
<ClInclude Include="..\src\water.h" />
<ClInclude Include="..\src\waypoint_base.h" />
@@ -644,6 +672,7 @@
<ClCompile Include="..\src\core\math_func.cpp" />
<ClInclude Include="..\src\core\math_func.hpp" />
<ClInclude Include="..\src\core\mem_func.hpp" />
<ClInclude Include="..\src\core\multimap.hpp" />
<ClInclude Include="..\src\core\overflowsafe_type.hpp" />
<ClCompile Include="..\src\core\pool_func.cpp" />
<ClInclude Include="..\src\core\pool_func.hpp" />
@@ -651,6 +680,8 @@
<ClCompile Include="..\src\core\random_func.cpp" />
<ClInclude Include="..\src\core\random_func.hpp" />
<ClInclude Include="..\src\core\smallmap_type.hpp" />
<ClInclude Include="..\src\core\smallmatrix_type.hpp" />
<ClInclude Include="..\src\core\smallstack_type.hpp" />
<ClInclude Include="..\src\core\smallvec_type.hpp" />
<ClInclude Include="..\src\core\sort_func.hpp" />
<ClInclude Include="..\src\core\string_compare_type.hpp" />
@@ -676,6 +707,7 @@
<ClCompile Include="..\src\highscore_gui.cpp" />
<ClCompile Include="..\src\industry_gui.cpp" />
<ClCompile Include="..\src\intro_gui.cpp" />
<ClCompile Include="..\src\linkgraph\linkgraph_gui.cpp" />
<ClCompile Include="..\src\main_gui.cpp" />
<ClCompile Include="..\src\misc_gui.cpp" />
<ClCompile Include="..\src\music_gui.cpp" />
@@ -697,6 +729,7 @@
<ClCompile Include="..\src\smallmap_gui.cpp" />
<ClCompile Include="..\src\station_gui.cpp" />
<ClCompile Include="..\src\statusbar_gui.cpp" />
<ClCompile Include="..\src\story_gui.cpp" />
<ClCompile Include="..\src\subsidy_gui.cpp" />
<ClCompile Include="..\src\terraform_gui.cpp" />
<ClCompile Include="..\src\textfile_gui.cpp" />
@@ -735,6 +768,7 @@
<ClInclude Include="..\src\widgets\highscore_widget.h" />
<ClInclude Include="..\src\widgets\industry_widget.h" />
<ClInclude Include="..\src\widgets\intro_widget.h" />
<ClInclude Include="..\src\widgets\link_graph_legend_widget.h" />
<ClInclude Include="..\src\widgets\main_widget.h" />
<ClInclude Include="..\src\widgets\misc_widget.h" />
<ClInclude Include="..\src\widgets\music_widget.h" />
@@ -754,6 +788,7 @@
<ClInclude Include="..\src\widgets\smallmap_widget.h" />
<ClInclude Include="..\src\widgets\station_widget.h" />
<ClInclude Include="..\src\widgets\statusbar_widget.h" />
<ClInclude Include="..\src\widgets\story_widget.h" />
<ClInclude Include="..\src\widgets\subsidy_widget.h" />
<ClInclude Include="..\src\widgets\terraform_widget.h" />
<ClInclude Include="..\src\widgets\timetable_widget.h" />
@@ -809,6 +844,7 @@
<ClCompile Include="..\src\saveload\group_sl.cpp" />
<ClCompile Include="..\src\saveload\industry_sl.cpp" />
<ClCompile Include="..\src\saveload\labelmaps_sl.cpp" />
<ClCompile Include="..\src\saveload\linkgraph_sl.cpp" />
<ClCompile Include="..\src\saveload\map_sl.cpp" />
<ClCompile Include="..\src\saveload\misc_sl.cpp" />
<ClCompile Include="..\src\saveload\newgrf_sl.cpp" />
@@ -826,6 +862,7 @@
<ClCompile Include="..\src\saveload\station_sl.cpp" />
<ClCompile Include="..\src\saveload\storage_sl.cpp" />
<ClCompile Include="..\src\saveload\strings_sl.cpp" />
<ClCompile Include="..\src\saveload\story_sl.cpp" />
<ClCompile Include="..\src\saveload\subsidy_sl.cpp" />
<ClCompile Include="..\src\saveload\town_sl.cpp" />
<ClCompile Include="..\src\saveload\vehicle_sl.cpp" />
@@ -998,6 +1035,9 @@
<ClInclude Include="..\src\script\api\script_signlist.hpp" />
<ClInclude Include="..\src\script\api\script_station.hpp" />
<ClInclude Include="..\src\script\api\script_stationlist.hpp" />
<ClInclude Include="..\src\script\api\script_story_page.hpp" />
<ClInclude Include="..\src\script\api\script_storypagelist.hpp" />
<ClInclude Include="..\src\script\api\script_storypageelementlist.hpp" />
<ClInclude Include="..\src\script\api\script_subsidy.hpp" />
<ClInclude Include="..\src\script\api\script_subsidylist.hpp" />
<ClInclude Include="..\src\script\api\script_testmode.hpp" />
@@ -1059,6 +1099,9 @@
<ClCompile Include="..\src\script\api\script_signlist.cpp" />
<ClCompile Include="..\src\script\api\script_station.cpp" />
<ClCompile Include="..\src\script\api\script_stationlist.cpp" />
<ClCompile Include="..\src\script\api\script_story_page.cpp" />
<ClCompile Include="..\src\script\api\script_storypagelist.cpp" />
<ClCompile Include="..\src\script\api\script_storypageelementlist.cpp" />
<ClCompile Include="..\src\script\api\script_subsidy.cpp" />
<ClCompile Include="..\src\script\api\script_subsidylist.cpp" />
<ClCompile Include="..\src\script\api\script_testmode.cpp" />
@@ -1076,12 +1119,22 @@
<ClCompile Include="..\src\script\api\script_window.cpp" />
<ClCompile Include="..\src\blitter\32bpp_anim.cpp" />
<ClInclude Include="..\src\blitter\32bpp_anim.hpp" />
<ClCompile Include="..\src\blitter\32bpp_anim_sse4.cpp" />
<ClInclude Include="..\src\blitter\32bpp_anim_sse4.hpp" />
<ClCompile Include="..\src\blitter\32bpp_base.cpp" />
<ClInclude Include="..\src\blitter\32bpp_base.hpp" />
<ClCompile Include="..\src\blitter\32bpp_optimized.cpp" />
<ClInclude Include="..\src\blitter\32bpp_optimized.hpp" />
<ClCompile Include="..\src\blitter\32bpp_simple.cpp" />
<ClInclude Include="..\src\blitter\32bpp_simple.hpp" />
<ClInclude Include="..\src\blitter\32bpp_sse_func.hpp" />
<ClInclude Include="..\src\blitter\32bpp_sse_type.h" />
<ClCompile Include="..\src\blitter\32bpp_sse2.cpp" />
<ClInclude Include="..\src\blitter\32bpp_sse2.hpp" />
<ClCompile Include="..\src\blitter\32bpp_sse4.cpp" />
<ClInclude Include="..\src\blitter\32bpp_sse4.hpp" />
<ClCompile Include="..\src\blitter\32bpp_ssse3.cpp" />
<ClInclude Include="..\src\blitter\32bpp_ssse3.hpp" />
<ClCompile Include="..\src\blitter\8bpp_base.cpp" />
<ClInclude Include="..\src\blitter\8bpp_base.hpp" />
<ClCompile Include="..\src\blitter\8bpp_optimized.cpp" />
@@ -1203,6 +1256,7 @@
<ClCompile Include="..\src\pathfinder\yapf\yapf_rail.cpp" />
<ClCompile Include="..\src\pathfinder\yapf\yapf_road.cpp" />
<ClCompile Include="..\src\pathfinder\yapf\yapf_ship.cpp" />
<ClInclude Include="..\src\pathfinder\yapf\yapf_type.hpp" />
<ClCompile Include="..\src\video\dedicated_v.cpp" />
<ClCompile Include="..\src\video\null_v.cpp" />
<ClCompile Include="..\src\video\sdl_v.cpp" />

View File

@@ -117,6 +117,9 @@
<ClCompile Include="..\src\bmp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\cargoaction.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\cargomonitor.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -138,6 +141,9 @@
<ClCompile Include="..\src\console_cmds.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\cpu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\crashlog.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -225,6 +231,27 @@
<ClCompile Include="..\src\landscape.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\linkgraph\demands.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\linkgraph\flowmapper.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\linkgraph\linkgraph.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\linkgraph\linkgraphjob.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\linkgraph\linkgraphschedule.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\linkgraph\mcf.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\linkgraph\refresh.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\map.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -267,9 +294,6 @@
<ClCompile Include="..\src\order_backup.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\os_timer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\pbs.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -327,6 +351,9 @@
<ClCompile Include="..\src\strings.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\story.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\subsidy.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -357,6 +384,9 @@
<ClCompile Include="..\src\viewport.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\viewport_sprite_sorter_sse4.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\waypoint.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -411,6 +441,9 @@
<ClInclude Include="..\src\cargo_type.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\cargoaction.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\cargomonitor.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -465,6 +498,9 @@
<ClInclude Include="..\src\console_type.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\cpu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\crashlog.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -642,6 +678,42 @@
<ClInclude Include="..\src\language.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\demands.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\flowmapper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\init.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\linkgraph.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\linkgraph_base.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\linkgraph_gui.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\linkgraph_type.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\linkgraphjob.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\linkgraphjob_base.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\linkgraphschedule.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\mcf.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\linkgraph\refresh.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\livery.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -945,9 +1017,18 @@
<ClInclude Include="..\src\stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\story_base.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\story_type.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\strgen\strgen.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\string_base.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\string_func.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -1074,6 +1155,9 @@
<ClInclude Include="..\src\viewport_func.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\viewport_sprite_sorter.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\viewport_type.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -1161,6 +1245,9 @@
<ClInclude Include="..\src\core\mem_func.hpp">
<Filter>Core Source Code</Filter>
</ClInclude>
<ClInclude Include="..\src\core\multimap.hpp">
<Filter>Core Source Code</Filter>
</ClInclude>
<ClInclude Include="..\src\core\overflowsafe_type.hpp">
<Filter>Core Source Code</Filter>
</ClInclude>
@@ -1182,6 +1269,12 @@
<ClInclude Include="..\src\core\smallmap_type.hpp">
<Filter>Core Source Code</Filter>
</ClInclude>
<ClInclude Include="..\src\core\smallmatrix_type.hpp">
<Filter>Core Source Code</Filter>
</ClInclude>
<ClInclude Include="..\src\core\smallstack_type.hpp">
<Filter>Core Source Code</Filter>
</ClInclude>
<ClInclude Include="..\src\core\smallvec_type.hpp">
<Filter>Core Source Code</Filter>
</ClInclude>
@@ -1257,6 +1350,9 @@
<ClCompile Include="..\src\intro_gui.cpp">
<Filter>GUI Source Code</Filter>
</ClCompile>
<ClCompile Include="..\src\linkgraph\linkgraph_gui.cpp">
<Filter>GUI Source Code</Filter>
</ClCompile>
<ClCompile Include="..\src\main_gui.cpp">
<Filter>GUI Source Code</Filter>
</ClCompile>
@@ -1320,6 +1416,9 @@
<ClCompile Include="..\src\statusbar_gui.cpp">
<Filter>GUI Source Code</Filter>
</ClCompile>
<ClCompile Include="..\src\story_gui.cpp">
<Filter>GUI Source Code</Filter>
</ClCompile>
<ClCompile Include="..\src\subsidy_gui.cpp">
<Filter>GUI Source Code</Filter>
</ClCompile>
@@ -1434,6 +1533,9 @@
<ClInclude Include="..\src\widgets\intro_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
<ClInclude Include="..\src\widgets\link_graph_legend_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
<ClInclude Include="..\src\widgets\main_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
@@ -1491,6 +1593,9 @@
<ClInclude Include="..\src\widgets\statusbar_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
<ClInclude Include="..\src\widgets\story_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
<ClInclude Include="..\src\widgets\subsidy_widget.h">
<Filter>Widgets</Filter>
</ClInclude>
@@ -1656,6 +1761,9 @@
<ClCompile Include="..\src\saveload\labelmaps_sl.cpp">
<Filter>Save/Load handlers</Filter>
</ClCompile>
<ClCompile Include="..\src\saveload\linkgraph_sl.cpp">
<Filter>Save/Load handlers</Filter>
</ClCompile>
<ClCompile Include="..\src\saveload\map_sl.cpp">
<Filter>Save/Load handlers</Filter>
</ClCompile>
@@ -1707,6 +1815,9 @@
<ClCompile Include="..\src\saveload\strings_sl.cpp">
<Filter>Save/Load handlers</Filter>
</ClCompile>
<ClCompile Include="..\src\saveload\story_sl.cpp">
<Filter>Save/Load handlers</Filter>
</ClCompile>
<ClCompile Include="..\src\saveload\subsidy_sl.cpp">
<Filter>Save/Load handlers</Filter>
</ClCompile>
@@ -2223,6 +2334,15 @@
<ClInclude Include="..\src\script\api\script_stationlist.hpp">
<Filter>Script API</Filter>
</ClInclude>
<ClInclude Include="..\src\script\api\script_story_page.hpp">
<Filter>Script API</Filter>
</ClInclude>
<ClInclude Include="..\src\script\api\script_storypagelist.hpp">
<Filter>Script API</Filter>
</ClInclude>
<ClInclude Include="..\src\script\api\script_storypageelementlist.hpp">
<Filter>Script API</Filter>
</ClInclude>
<ClInclude Include="..\src\script\api\script_subsidy.hpp">
<Filter>Script API</Filter>
</ClInclude>
@@ -2406,6 +2526,15 @@
<ClCompile Include="..\src\script\api\script_stationlist.cpp">
<Filter>Script API Implementation</Filter>
</ClCompile>
<ClCompile Include="..\src\script\api\script_story_page.cpp">
<Filter>Script API Implementation</Filter>
</ClCompile>
<ClCompile Include="..\src\script\api\script_storypagelist.cpp">
<Filter>Script API Implementation</Filter>
</ClCompile>
<ClCompile Include="..\src\script\api\script_storypageelementlist.cpp">
<Filter>Script API Implementation</Filter>
</ClCompile>
<ClCompile Include="..\src\script\api\script_subsidy.cpp">
<Filter>Script API Implementation</Filter>
</ClCompile>
@@ -2457,6 +2586,12 @@
<ClInclude Include="..\src\blitter\32bpp_anim.hpp">
<Filter>Blitters</Filter>
</ClInclude>
<ClCompile Include="..\src\blitter\32bpp_anim_sse4.cpp">
<Filter>Blitters</Filter>
</ClCompile>
<ClInclude Include="..\src\blitter\32bpp_anim_sse4.hpp">
<Filter>Blitters</Filter>
</ClInclude>
<ClCompile Include="..\src\blitter\32bpp_base.cpp">
<Filter>Blitters</Filter>
</ClCompile>
@@ -2475,6 +2610,30 @@
<ClInclude Include="..\src\blitter\32bpp_simple.hpp">
<Filter>Blitters</Filter>
</ClInclude>
<ClInclude Include="..\src\blitter\32bpp_sse_func.hpp">
<Filter>Blitters</Filter>
</ClInclude>
<ClInclude Include="..\src\blitter\32bpp_sse_type.h">
<Filter>Blitters</Filter>
</ClInclude>
<ClCompile Include="..\src\blitter\32bpp_sse2.cpp">
<Filter>Blitters</Filter>
</ClCompile>
<ClInclude Include="..\src\blitter\32bpp_sse2.hpp">
<Filter>Blitters</Filter>
</ClInclude>
<ClCompile Include="..\src\blitter\32bpp_sse4.cpp">
<Filter>Blitters</Filter>
</ClCompile>
<ClInclude Include="..\src\blitter\32bpp_sse4.hpp">
<Filter>Blitters</Filter>
</ClInclude>
<ClCompile Include="..\src\blitter\32bpp_ssse3.cpp">
<Filter>Blitters</Filter>
</ClCompile>
<ClInclude Include="..\src\blitter\32bpp_ssse3.hpp">
<Filter>Blitters</Filter>
</ClInclude>
<ClCompile Include="..\src\blitter\8bpp_base.cpp">
<Filter>Blitters</Filter>
</ClCompile>
@@ -2838,6 +2997,9 @@
<ClCompile Include="..\src\pathfinder\yapf\yapf_ship.cpp">
<Filter>YAPF</Filter>
</ClCompile>
<ClInclude Include="..\src\pathfinder\yapf\yapf_type.hpp">
<Filter>YAPF</Filter>
</ClInclude>
<ClCompile Include="..\src\video\dedicated_v.cpp">
<Filter>Video</Filter>
</ClCompile>

View File

@@ -102,7 +102,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -131,7 +131,7 @@
<Culture>0x0809</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -156,7 +156,7 @@
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@@ -176,7 +176,7 @@
<Culture>0x0809</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -204,7 +204,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -233,7 +233,7 @@
<Culture>0x0809</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -256,7 +256,7 @@
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@@ -280,7 +280,7 @@
<Culture>0x0809</Culture>
</ResourceCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>winmm.lib;ws2_32.lib;imm32.lib;libpng.lib;zlibstat.lib;lzo2.lib;liblzma.lib;libfreetype2.lib;icuuc.lib;icuin.lib;icudt.lib;icule.lib;iculx.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<IgnoreSpecificDefaultLibraries>LIBCMT.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>

View File

@@ -52,7 +52,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -87,7 +87,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="1"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
@@ -156,7 +156,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
@@ -184,7 +184,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="0"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="LIBCMT.lib"
@@ -257,7 +257,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -292,7 +292,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="1"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
@@ -362,7 +362,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
@@ -392,7 +392,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="0"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="LIBCMT.lib"
@@ -454,6 +454,10 @@
RelativePath=".\..\src\bmp.cpp"
>
</File>
<File
RelativePath=".\..\src\cargoaction.cpp"
>
</File>
<File
RelativePath=".\..\src\cargomonitor.cpp"
>
@@ -482,6 +486,10 @@
RelativePath=".\..\src\console_cmds.cpp"
>
</File>
<File
RelativePath=".\..\src\cpu.cpp"
>
</File>
<File
RelativePath=".\..\src\crashlog.cpp"
>
@@ -598,6 +606,34 @@
RelativePath=".\..\src\landscape.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\demands.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\flowmapper.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraphjob.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraphschedule.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\mcf.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\refresh.cpp"
>
</File>
<File
RelativePath=".\..\src\map.cpp"
>
@@ -654,10 +690,6 @@
RelativePath=".\..\src\order_backup.cpp"
>
</File>
<File
RelativePath=".\..\src\os_timer.cpp"
>
</File>
<File
RelativePath=".\..\src\pbs.cpp"
>
@@ -734,6 +766,10 @@
RelativePath=".\..\src\strings.cpp"
>
</File>
<File
RelativePath=".\..\src\story.cpp"
>
</File>
<File
RelativePath=".\..\src\subsidy.cpp"
>
@@ -774,6 +810,10 @@
RelativePath=".\..\src\viewport.cpp"
>
</File>
<File
RelativePath=".\..\src\viewport_sprite_sorter_sse4.cpp"
>
</File>
<File
RelativePath=".\..\src\waypoint.cpp"
>
@@ -850,6 +890,10 @@
RelativePath=".\..\src\cargo_type.h"
>
</File>
<File
RelativePath=".\..\src\cargoaction.h"
>
</File>
<File
RelativePath=".\..\src\cargomonitor.h"
>
@@ -922,6 +966,10 @@
RelativePath=".\..\src\console_type.h"
>
</File>
<File
RelativePath=".\..\src\cpu.h"
>
</File>
<File
RelativePath=".\..\src\crashlog.h"
>
@@ -1158,6 +1206,54 @@
RelativePath=".\..\src\language.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\demands.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\flowmapper.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\init.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph_base.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph_gui.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph_type.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraphjob.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraphjob_base.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraphschedule.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\mcf.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\refresh.h"
>
</File>
<File
RelativePath=".\..\src\livery.h"
>
@@ -1562,10 +1658,22 @@
RelativePath=".\..\src\stdafx.h"
>
</File>
<File
RelativePath=".\..\src\story_base.h"
>
</File>
<File
RelativePath=".\..\src\story_type.h"
>
</File>
<File
RelativePath=".\..\src\strgen\strgen.h"
>
</File>
<File
RelativePath=".\..\src\string_base.h"
>
</File>
<File
RelativePath=".\..\src\string_func.h"
>
@@ -1734,6 +1842,10 @@
RelativePath=".\..\src\viewport_func.h"
>
</File>
<File
RelativePath=".\..\src\viewport_sprite_sorter.h"
>
</File>
<File
RelativePath=".\..\src\viewport_type.h"
>
@@ -1854,6 +1966,10 @@
RelativePath=".\..\src\core\mem_func.hpp"
>
</File>
<File
RelativePath=".\..\src\core\multimap.hpp"
>
</File>
<File
RelativePath=".\..\src\core\overflowsafe_type.hpp"
>
@@ -1882,6 +1998,14 @@
RelativePath=".\..\src\core\smallmap_type.hpp"
>
</File>
<File
RelativePath=".\..\src\core\smallmatrix_type.hpp"
>
</File>
<File
RelativePath=".\..\src\core\smallstack_type.hpp"
>
</File>
<File
RelativePath=".\..\src\core\smallvec_type.hpp"
>
@@ -1986,6 +2110,10 @@
RelativePath=".\..\src\intro_gui.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph_gui.cpp"
>
</File>
<File
RelativePath=".\..\src\main_gui.cpp"
>
@@ -2070,6 +2198,10 @@
RelativePath=".\..\src\statusbar_gui.cpp"
>
</File>
<File
RelativePath=".\..\src\story_gui.cpp"
>
</File>
<File
RelativePath=".\..\src\subsidy_gui.cpp"
>
@@ -2226,6 +2358,10 @@
RelativePath=".\..\src\widgets\intro_widget.h"
>
</File>
<File
RelativePath=".\..\src\widgets\link_graph_legend_widget.h"
>
</File>
<File
RelativePath=".\..\src\widgets\main_widget.h"
>
@@ -2302,6 +2438,10 @@
RelativePath=".\..\src\widgets\statusbar_widget.h"
>
</File>
<File
RelativePath=".\..\src\widgets\story_widget.h"
>
</File>
<File
RelativePath=".\..\src\widgets\subsidy_widget.h"
>
@@ -2530,6 +2670,10 @@
RelativePath=".\..\src\saveload\labelmaps_sl.cpp"
>
</File>
<File
RelativePath=".\..\src\saveload\linkgraph_sl.cpp"
>
</File>
<File
RelativePath=".\..\src\saveload\map_sl.cpp"
>
@@ -2598,6 +2742,10 @@
RelativePath=".\..\src\saveload\strings_sl.cpp"
>
</File>
<File
RelativePath=".\..\src\saveload\story_sl.cpp"
>
</File>
<File
RelativePath=".\..\src\saveload\subsidy_sl.cpp"
>
@@ -3326,6 +3474,18 @@
RelativePath=".\..\src\script\api\script_stationlist.hpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_story_page.hpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_storypagelist.hpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_storypageelementlist.hpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_subsidy.hpp"
>
@@ -3574,6 +3734,18 @@
RelativePath=".\..\src\script\api\script_stationlist.cpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_story_page.cpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_storypagelist.cpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_storypageelementlist.cpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_subsidy.cpp"
>
@@ -3646,6 +3818,14 @@
RelativePath=".\..\src\blitter\32bpp_anim.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_anim_sse4.cpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_anim_sse4.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_base.cpp"
>
@@ -3670,6 +3850,38 @@
RelativePath=".\..\src\blitter\32bpp_simple.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse_func.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse_type.h"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse2.cpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse2.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse4.cpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse4.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_ssse3.cpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_ssse3.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\8bpp_base.cpp"
>
@@ -4190,6 +4402,10 @@
RelativePath=".\..\src\pathfinder\yapf\yapf_ship.cpp"
>
</File>
<File
RelativePath=".\..\src\pathfinder\yapf\yapf_type.hpp"
>
</File>
</Filter>
<Filter
Name="Video"

View File

@@ -52,7 +52,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -87,7 +87,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="1"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
@@ -156,7 +156,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
@@ -184,7 +184,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="0"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="LIBCMT.lib"
@@ -257,7 +257,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -292,7 +292,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="1"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
@@ -362,7 +362,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
@@ -392,7 +392,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="0"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="LIBCMT.lib"

View File

@@ -53,7 +53,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -88,7 +88,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="1"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
@@ -155,7 +155,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
@@ -183,7 +183,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="0"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="LIBCMT.lib"
@@ -255,7 +255,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -290,7 +290,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="1"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
@@ -359,7 +359,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
@@ -389,7 +389,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="0"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="LIBCMT.lib"
@@ -451,6 +451,10 @@
RelativePath=".\..\src\bmp.cpp"
>
</File>
<File
RelativePath=".\..\src\cargoaction.cpp"
>
</File>
<File
RelativePath=".\..\src\cargomonitor.cpp"
>
@@ -479,6 +483,10 @@
RelativePath=".\..\src\console_cmds.cpp"
>
</File>
<File
RelativePath=".\..\src\cpu.cpp"
>
</File>
<File
RelativePath=".\..\src\crashlog.cpp"
>
@@ -595,6 +603,34 @@
RelativePath=".\..\src\landscape.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\demands.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\flowmapper.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraphjob.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraphschedule.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\mcf.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\refresh.cpp"
>
</File>
<File
RelativePath=".\..\src\map.cpp"
>
@@ -651,10 +687,6 @@
RelativePath=".\..\src\order_backup.cpp"
>
</File>
<File
RelativePath=".\..\src\os_timer.cpp"
>
</File>
<File
RelativePath=".\..\src\pbs.cpp"
>
@@ -731,6 +763,10 @@
RelativePath=".\..\src\strings.cpp"
>
</File>
<File
RelativePath=".\..\src\story.cpp"
>
</File>
<File
RelativePath=".\..\src\subsidy.cpp"
>
@@ -771,6 +807,10 @@
RelativePath=".\..\src\viewport.cpp"
>
</File>
<File
RelativePath=".\..\src\viewport_sprite_sorter_sse4.cpp"
>
</File>
<File
RelativePath=".\..\src\waypoint.cpp"
>
@@ -847,6 +887,10 @@
RelativePath=".\..\src\cargo_type.h"
>
</File>
<File
RelativePath=".\..\src\cargoaction.h"
>
</File>
<File
RelativePath=".\..\src\cargomonitor.h"
>
@@ -919,6 +963,10 @@
RelativePath=".\..\src\console_type.h"
>
</File>
<File
RelativePath=".\..\src\cpu.h"
>
</File>
<File
RelativePath=".\..\src\crashlog.h"
>
@@ -1155,6 +1203,54 @@
RelativePath=".\..\src\language.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\demands.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\flowmapper.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\init.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph_base.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph_gui.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph_type.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraphjob.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraphjob_base.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraphschedule.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\mcf.h"
>
</File>
<File
RelativePath=".\..\src\linkgraph\refresh.h"
>
</File>
<File
RelativePath=".\..\src\livery.h"
>
@@ -1559,10 +1655,22 @@
RelativePath=".\..\src\stdafx.h"
>
</File>
<File
RelativePath=".\..\src\story_base.h"
>
</File>
<File
RelativePath=".\..\src\story_type.h"
>
</File>
<File
RelativePath=".\..\src\strgen\strgen.h"
>
</File>
<File
RelativePath=".\..\src\string_base.h"
>
</File>
<File
RelativePath=".\..\src\string_func.h"
>
@@ -1731,6 +1839,10 @@
RelativePath=".\..\src\viewport_func.h"
>
</File>
<File
RelativePath=".\..\src\viewport_sprite_sorter.h"
>
</File>
<File
RelativePath=".\..\src\viewport_type.h"
>
@@ -1851,6 +1963,10 @@
RelativePath=".\..\src\core\mem_func.hpp"
>
</File>
<File
RelativePath=".\..\src\core\multimap.hpp"
>
</File>
<File
RelativePath=".\..\src\core\overflowsafe_type.hpp"
>
@@ -1879,6 +1995,14 @@
RelativePath=".\..\src\core\smallmap_type.hpp"
>
</File>
<File
RelativePath=".\..\src\core\smallmatrix_type.hpp"
>
</File>
<File
RelativePath=".\..\src\core\smallstack_type.hpp"
>
</File>
<File
RelativePath=".\..\src\core\smallvec_type.hpp"
>
@@ -1983,6 +2107,10 @@
RelativePath=".\..\src\intro_gui.cpp"
>
</File>
<File
RelativePath=".\..\src\linkgraph\linkgraph_gui.cpp"
>
</File>
<File
RelativePath=".\..\src\main_gui.cpp"
>
@@ -2067,6 +2195,10 @@
RelativePath=".\..\src\statusbar_gui.cpp"
>
</File>
<File
RelativePath=".\..\src\story_gui.cpp"
>
</File>
<File
RelativePath=".\..\src\subsidy_gui.cpp"
>
@@ -2223,6 +2355,10 @@
RelativePath=".\..\src\widgets\intro_widget.h"
>
</File>
<File
RelativePath=".\..\src\widgets\link_graph_legend_widget.h"
>
</File>
<File
RelativePath=".\..\src\widgets\main_widget.h"
>
@@ -2299,6 +2435,10 @@
RelativePath=".\..\src\widgets\statusbar_widget.h"
>
</File>
<File
RelativePath=".\..\src\widgets\story_widget.h"
>
</File>
<File
RelativePath=".\..\src\widgets\subsidy_widget.h"
>
@@ -2527,6 +2667,10 @@
RelativePath=".\..\src\saveload\labelmaps_sl.cpp"
>
</File>
<File
RelativePath=".\..\src\saveload\linkgraph_sl.cpp"
>
</File>
<File
RelativePath=".\..\src\saveload\map_sl.cpp"
>
@@ -2595,6 +2739,10 @@
RelativePath=".\..\src\saveload\strings_sl.cpp"
>
</File>
<File
RelativePath=".\..\src\saveload\story_sl.cpp"
>
</File>
<File
RelativePath=".\..\src\saveload\subsidy_sl.cpp"
>
@@ -3323,6 +3471,18 @@
RelativePath=".\..\src\script\api\script_stationlist.hpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_story_page.hpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_storypagelist.hpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_storypageelementlist.hpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_subsidy.hpp"
>
@@ -3571,6 +3731,18 @@
RelativePath=".\..\src\script\api\script_stationlist.cpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_story_page.cpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_storypagelist.cpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_storypageelementlist.cpp"
>
</File>
<File
RelativePath=".\..\src\script\api\script_subsidy.cpp"
>
@@ -3643,6 +3815,14 @@
RelativePath=".\..\src\blitter\32bpp_anim.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_anim_sse4.cpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_anim_sse4.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_base.cpp"
>
@@ -3667,6 +3847,38 @@
RelativePath=".\..\src\blitter\32bpp_simple.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse_func.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse_type.h"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse2.cpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse2.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse4.cpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_sse4.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_ssse3.cpp"
>
</File>
<File
RelativePath=".\..\src\blitter\32bpp_ssse3.hpp"
>
</File>
<File
RelativePath=".\..\src\blitter\8bpp_base.cpp"
>
@@ -4187,6 +4399,10 @@
RelativePath=".\..\src\pathfinder\yapf\yapf_ship.cpp"
>
</File>
<File
RelativePath=".\..\src\pathfinder\yapf\yapf_type.hpp"
>
</File>
</Filter>
<Filter
Name="Video"

View File

@@ -53,7 +53,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -88,7 +88,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="1"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
@@ -155,7 +155,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WIN32_ENABLE_DIRECTMUSIC_SUPPORT;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
@@ -183,7 +183,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="0"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="LIBCMT.lib"
@@ -255,7 +255,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -290,7 +290,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="1"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
@@ -359,7 +359,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\objs\langs;..\objs\settings;..\src\3rdparty\squirrel\include"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;WITH_SSE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
@@ -389,7 +389,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="winmm.lib ws2_32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
AdditionalDependencies="winmm.lib ws2_32.lib imm32.lib libpng.lib zlibstat.lib lzo2.lib liblzma.lib libfreetype2.lib icuuc.lib icuin.lib icudt.lib icule.lib iculx.lib"
LinkIncremental="0"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="LIBCMT.lib"

View File

@@ -23,7 +23,7 @@
</ImportGroup>
<PropertyGroup Label="UserMacros">
<SettingsCommandLine>
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini
</SettingsCommandLine>
</PropertyGroup>
<PropertyGroup>
@@ -42,6 +42,7 @@
<None Include="..\src\table\misc_settings.ini" />
<None Include="..\src\table\settings.ini" />
<None Include="..\src\table\win32_settings.ini" />
<None Include="..\src\table\window_settings.ini" />
</ItemGroup>
<ItemGroup>
<None Include="..\src\table\settings.h.postamble" />

View File

@@ -24,6 +24,9 @@
<None Include="..\src\table\win32_settings.ini">
<Filter>INI</Filter>
</None>
<None Include="..\src\table\window_settings.ini">
<Filter>INI</Filter>
</None>
</ItemGroup>
<ItemGroup>
<None Include="..\src\table\settings.h.postamble" />

View File

@@ -24,7 +24,7 @@
Name="VCPreBuildEventTool"
Description="Generating settings.h"
CommandLine="
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini
"
/>
<Tool
@@ -68,6 +68,10 @@
RelativePath="..\src\table\win32_settings.ini"
>
</File>
<File
RelativePath="..\src\table\window_settings.ini"
>
</File>
</Filter>
<File
RelativePath="..\src\table\settings.h.postamble"

View File

@@ -25,7 +25,7 @@
Name="VCPreBuildEventTool"
Description="Generating settings.h"
CommandLine="
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini
..\objs\settings\settings_gen.exe -o ..\objs\settings\table\settings.h -b ..\src\table\settings.h.preamble -a ..\src\table\settings.h.postamble ..\src\table\company_settings.ini ..\src\table\currency_settings.ini ..\src\table\gameopt_settings.ini ..\src\table\misc_settings.ini ..\src\table\settings.ini ..\src\table\win32_settings.ini ..\src\table\window_settings.ini
"
/>
<Tool
@@ -69,6 +69,10 @@
RelativePath="..\src\table\win32_settings.ini"
>
</File>
<File
RelativePath="..\src\table\window_settings.ini"
>
</File>
</Filter>
<File
RelativePath="..\src\table\settings.h.postamble"

View File

@@ -1,5 +1,5 @@
Last updated: 2013-07-14
Release version: 1.3.2-RC2
Last updated: 2014-05-18
Release version: 1.4.1-RC2
------------------------------------------------------------------------
@@ -26,6 +26,7 @@ Table of contents
* 8.1) Translation
* 8.2) Previewing
9.0) Troubleshooting
10.0) Licensing
X.X) Credits
@@ -35,9 +36,9 @@ OpenTTD is a transport simulation game based upon the popular game Transport
Tycoon Deluxe, written by Chris Sawyer. It attempts to mimic the original
game as closely as possible while extending it with new features.
OpenTTD is licensed under the GNU General Public License version 2.0. For
more information, see the file 'COPYING'.
OpenTTD is licensed under the GNU General Public License version 2.0,
but includes some 3rd party software under different licenses. See the
section "Licensing" below for details.
2.0) Contacting
---- ----------
@@ -281,7 +282,8 @@ your operating system:
C:\Documents and Settings\<username>\My Documents\OpenTTD (2000, XP)
C:\Users\<username>\Documents\OpenTTD (Vista, 7)
Mac OSX: ~/Documents/OpenTTD
Linux: ~/.openttd
Linux: $XDG_DATA_HOME/openttd which is usually ~/.local/share/openttd when
built with XDG base directory support, otherwise ~/.openttd
3. The shared directory
Windows: C:\Documents and Settings\All Users\Shared Documents\OpenTTD (2000, XP)
C:\Users\Public\Documents\OpenTTD (Vista, 7)
@@ -321,10 +323,13 @@ Notes:
others.
- The previous search order is also used for NewGRFs and openttd.cfg.
- If openttd.cfg is not found, then it will be created using the 2, 4, 1, 3,
5 order.
5 order. When built with XDG base directory support, openttd.cfg will be
created in $XDG_CONFIG_HOME/openttd which is usually ~/.config/openttd.
- Savegames will be relative to the config file only if there is no save/
directory in paths with higher priority than the config file path, but
autosaves and screenshots will always be relative to the config file.
Unless the configuration file is in $XDG_CONFIG_HOME/openttd, then all
other files will be saved under $XDG_DATA_HOME/openttd.
The preferred setup:
Place 3rd party files in shared directory (or in personal directory if you do
@@ -476,9 +481,9 @@ DOS:
website. Compilation is straight forward: use make, but do a './configure'
before the first build. The build binary will need cwsdpmi.exe to be in
the same directory as the openttd executable. cwsdpmi.exe can be found in
the os/dos subdirectory. If you compile with stripping turned on a binary
will be generated that does not need cwsdpmi.exe by adding the cswdstub.exe
to the created OpenTTD binary.
the os/dos/cwsdpmi subdirectory. If you compile with stripping turned on a
binary will be generated that does not need cwsdpmi.exe by adding the
cswdstub.exe to the created OpenTTD binary.
7.1) Required/optional libraries
---- ---------------------------
@@ -642,6 +647,29 @@ development section (http://www.tt-forums.net/viewforum.php?f=66) or GrfCrawler
(see section 4.2 'OpenTTD directories') and rescan the list of available NewGRFs.
Once you have all missing files, you are set to go.
10.0) Licensing
----- ---------
OpenTTD is licensed under the GNU General Public License version 2.0. For
the complete license text, see the file 'COPYING'. This license applies
to all files in this distribution, except as noted below.
The squirrel implementation in src/3rdparty/squirrel is licensed under
the Zlib license. See src/3rdparty/squirrel/COPYRIGHT for the complete
license text.
The md5 implementation in src/3rdparty/md5 is licensed under the Zlib
license. See the comments in the source files in src/3rdparty/md5 for
the complete license text.
The exe2coff implementation in os/dos/exe2coff is available under the
GPL, with a number of additional terms. See os/dos/exe2coff/copying and
os/dos/exe2coff/copying.dj for the exact licensing terms.
The CWSDPMI implementation in os/dos/cwsdpmi is distributed under a
custom binary-only license that prohibits modification. The exact
licensing terms can be found in os/dos/cwsdpmi/cwsdpmi.txt. The sources
for these files can be downloaded at its author site, at:
http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip
X.X) Credits
---- -------
@@ -694,6 +722,7 @@ Thanks to:
George - Canal graphics
Andrew Parkhouse (andythenorth) - River graphics
David Dallaston (Pikka) - Tram tracks
Fleashosio - Titlegame
All Translators - For their support to make OpenTTD a truly international game
Bug Reporters - Thanks for all bug reports
Chris Sawyer - For an amazing game!

View File

@@ -4,6 +4,7 @@ animated_tile.cpp
articulated_vehicles.cpp
autoreplace.cpp
bmp.cpp
cargoaction.cpp
cargomonitor.cpp
cargopacket.cpp
cargotype.cpp
@@ -11,6 +12,7 @@ cheat.cpp
command.cpp
console.cpp
console_cmds.cpp
cpu.cpp
crashlog.cpp
currency.cpp
date.cpp
@@ -40,6 +42,13 @@ hotkeys.cpp
ini.cpp
ini_load.cpp
landscape.cpp
linkgraph/demands.cpp
linkgraph/flowmapper.cpp
linkgraph/linkgraph.cpp
linkgraph/linkgraphjob.cpp
linkgraph/linkgraphschedule.cpp
linkgraph/mcf.cpp
linkgraph/refresh.cpp
map.cpp
misc.cpp
mixer.cpp
@@ -54,7 +63,6 @@ network/network_server.cpp
network/network_udp.cpp
openttd.cpp
order_backup.cpp
os_timer.cpp
pbs.cpp
progress.cpp
rail.cpp
@@ -76,6 +84,7 @@ strgen/strgen_base.cpp
string.cpp
stringfilter.cpp
strings.cpp
story.cpp
subsidy.cpp
textbuf.cpp
texteff.cpp
@@ -102,6 +111,9 @@ townname.cpp
vehicle.cpp
vehiclelist.cpp
viewport.cpp
#if SSE
viewport_sprite_sorter_sse4.cpp
#end
waypoint.cpp
widget.cpp
window.cpp
@@ -127,6 +139,7 @@ base_station_base.h
bmp.h
bridge.h
cargo_type.h
cargoaction.h
cargomonitor.h
cargopacket.h
cargotype.h
@@ -145,6 +158,7 @@ console_func.h
console_gui.h
console_internal.h
console_type.h
cpu.h
crashlog.h
currency.h
date_func.h
@@ -204,6 +218,18 @@ ini_type.h
landscape.h
landscape_type.h
language.h
linkgraph/demands.h
linkgraph/flowmapper.h
linkgraph/init.h
linkgraph/linkgraph.h
linkgraph/linkgraph_base.h
linkgraph/linkgraph_gui.h
linkgraph/linkgraph_type.h
linkgraph/linkgraphjob.h
linkgraph/linkgraphjob_base.h
linkgraph/linkgraphschedule.h
linkgraph/mcf.h
linkgraph/refresh.h
livery.h
map_func.h
map_type.h
@@ -305,7 +331,10 @@ station_gui.h
station_type.h
statusbar_gui.h
stdafx.h
story_base.h
story_type.h
strgen/strgen.h
string_base.h
string_func.h
string_type.h
stringfilter_type.h
@@ -348,6 +377,7 @@ vehicle_gui_base.h
vehicle_type.h
vehiclelist.h
viewport_func.h
viewport_sprite_sorter.h
viewport_type.h
water.h
waypoint_base.h
@@ -394,6 +424,7 @@ core/geometry_type.hpp
core/math_func.cpp
core/math_func.hpp
core/mem_func.hpp
core/multimap.hpp
core/overflowsafe_type.hpp
core/pool_func.cpp
core/pool_func.hpp
@@ -401,6 +432,8 @@ core/pool_type.hpp
core/random_func.cpp
core/random_func.hpp
core/smallmap_type.hpp
core/smallmatrix_type.hpp
core/smallstack_type.hpp
core/smallvec_type.hpp
core/sort_func.hpp
core/string_compare_type.hpp
@@ -428,6 +461,7 @@ group_gui.cpp
highscore_gui.cpp
industry_gui.cpp
intro_gui.cpp
linkgraph/linkgraph_gui.cpp
main_gui.cpp
misc_gui.cpp
music_gui.cpp
@@ -449,6 +483,7 @@ signs_gui.cpp
smallmap_gui.cpp
station_gui.cpp
statusbar_gui.cpp
story_gui.cpp
subsidy_gui.cpp
terraform_gui.cpp
textfile_gui.cpp
@@ -489,6 +524,7 @@ widgets/group_widget.h
widgets/highscore_widget.h
widgets/industry_widget.h
widgets/intro_widget.h
widgets/link_graph_legend_widget.h
widgets/main_widget.h
widgets/misc_widget.h
widgets/music_widget.h
@@ -508,6 +544,7 @@ widgets/sign_widget.h
widgets/smallmap_widget.h
widgets/station_widget.h
widgets/statusbar_widget.h
widgets/story_widget.h
widgets/subsidy_widget.h
widgets/terraform_widget.h
widgets/timetable_widget.h
@@ -567,6 +604,7 @@ saveload/goal_sl.cpp
saveload/group_sl.cpp
saveload/industry_sl.cpp
saveload/labelmaps_sl.cpp
saveload/linkgraph_sl.cpp
saveload/map_sl.cpp
saveload/misc_sl.cpp
saveload/newgrf_sl.cpp
@@ -584,6 +622,7 @@ saveload/signs_sl.cpp
saveload/station_sl.cpp
saveload/storage_sl.cpp
saveload/strings_sl.cpp
saveload/story_sl.cpp
saveload/subsidy_sl.cpp
saveload/town_sl.cpp
saveload/vehicle_sl.cpp
@@ -776,6 +815,9 @@ script/api/script_sign.hpp
script/api/script_signlist.hpp
script/api/script_station.hpp
script/api/script_stationlist.hpp
script/api/script_story_page.hpp
script/api/script_storypagelist.hpp
script/api/script_storypageelementlist.hpp
script/api/script_subsidy.hpp
script/api/script_subsidylist.hpp
script/api/script_testmode.hpp
@@ -839,6 +881,9 @@ script/api/script_sign.cpp
script/api/script_signlist.cpp
script/api/script_station.cpp
script/api/script_stationlist.cpp
script/api/script_story_page.cpp
script/api/script_storypagelist.cpp
script/api/script_storypageelementlist.cpp
script/api/script_subsidy.cpp
script/api/script_subsidylist.cpp
script/api/script_testmode.cpp
@@ -860,12 +905,26 @@ script/api/script_window.cpp
#else
blitter/32bpp_anim.cpp
blitter/32bpp_anim.hpp
#if SSE
blitter/32bpp_anim_sse4.cpp
blitter/32bpp_anim_sse4.hpp
#end
blitter/32bpp_base.cpp
blitter/32bpp_base.hpp
blitter/32bpp_optimized.cpp
blitter/32bpp_optimized.hpp
blitter/32bpp_simple.cpp
blitter/32bpp_simple.hpp
#if SSE
blitter/32bpp_sse_func.hpp
blitter/32bpp_sse_type.h
blitter/32bpp_sse2.cpp
blitter/32bpp_sse2.hpp
blitter/32bpp_sse4.cpp
blitter/32bpp_sse4.hpp
blitter/32bpp_ssse3.cpp
blitter/32bpp_ssse3.hpp
#end
blitter/8bpp_base.cpp
blitter/8bpp_base.hpp
blitter/8bpp_optimized.cpp
@@ -1006,6 +1065,7 @@ pathfinder/yapf/yapf_node_ship.hpp
pathfinder/yapf/yapf_rail.cpp
pathfinder/yapf/yapf_road.cpp
pathfinder/yapf/yapf_ship.cpp
pathfinder/yapf/yapf_type.hpp
# Video
video/dedicated_v.cpp

3
src/3rdparty/README.licensing vendored Normal file
View File

@@ -0,0 +1,3 @@
The files in this directory are not licensed under the same terms as the
rest of OpenTTD. Licensing details can be found in OpenTTD's readme.txt
and in this directory or subdirectories as well.

View File

@@ -30,6 +30,7 @@
#include "../hotkeys.h"
#include "ai.hpp"
#include "ai_gui.hpp"
#include "../script/api/script_log.hpp"
#include "ai_config.hpp"
#include "ai_info.hpp"
@@ -65,7 +66,7 @@ struct AIListWindow : public Window {
* @param desc The description of the window.
* @param slot The company we're changing the AI for.
*/
AIListWindow(const WindowDesc *desc, CompanyID slot) : Window(),
AIListWindow(WindowDesc *desc, CompanyID slot) : Window(desc),
slot(slot)
{
if (slot == OWNER_DEITY) {
@@ -74,9 +75,9 @@ struct AIListWindow : public Window {
this->info_list = AI::GetUniqueInfoList();
}
this->CreateNestedTree(desc);
this->CreateNestedTree();
this->vscroll = this->GetScrollbar(WID_AIL_SCROLLBAR);
this->FinishInitNested(desc); // Initializes 'this->line_height' as side effect.
this->FinishInitNested(); // Initializes 'this->line_height' as side effect.
this->vscroll->SetCount((int)this->info_list->size() + 1);
@@ -110,7 +111,7 @@ struct AIListWindow : public Window {
resize->width = 1;
resize->height = this->line_height;
size->height = GB(this->GetWidget<NWidgetCore>(widget)->widget_data, MAT_ROW_START, MAT_ROW_BITS) * this->line_height;
size->height = 5 * this->line_height;
}
}
@@ -209,9 +210,7 @@ struct AIListWindow : public Window {
virtual void OnResize()
{
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(WID_AIL_LIST);
this->vscroll->SetCapacity(nwi->current_y / this->line_height);
nwi->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
this->vscroll->SetCapacityFromWidget(this, WID_AIL_LIST);
}
/**
@@ -240,9 +239,10 @@ static const NWidgetPart _nested_ai_list_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_MAUVE),
NWidget(WWT_CAPTION, COLOUR_MAUVE, WID_AIL_CAPTION), SetDataTip(STR_AI_LIST_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_DEFSIZEBOX, COLOUR_MAUVE),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIL_LIST), SetMinimalSize(188, 112), SetFill(1, 1), SetResize(1, 1), SetDataTip(0x501, STR_AI_LIST_TOOLTIP), SetScrollbar(WID_AIL_SCROLLBAR),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIL_LIST), SetMinimalSize(188, 112), SetFill(1, 1), SetResize(1, 1), SetMatrixDataTip(1, 0, STR_AI_LIST_TOOLTIP), SetScrollbar(WID_AIL_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_AIL_SCROLLBAR),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_MAUVE, WID_AIL_INFO_BG), SetMinimalTextLines(8, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM), SetResize(1, 0),
@@ -257,8 +257,8 @@ static const NWidgetPart _nested_ai_list_widgets[] = {
};
/** Window definition for the ai list window. */
static const WindowDesc _ai_list_desc(
WDP_CENTER, 200, 234,
static WindowDesc _ai_list_desc(
WDP_CENTER, "settings_script_list", 200, 234,
WC_AI_LIST, WC_NONE,
0,
_nested_ai_list_widgets, lengthof(_nested_ai_list_widgets)
@@ -296,7 +296,7 @@ struct AISettingsWindow : public Window {
* @param desc The description of the window.
* @param slot The company we're changing the settings for.
*/
AISettingsWindow(const WindowDesc *desc, CompanyID slot) : Window(),
AISettingsWindow(WindowDesc *desc, CompanyID slot) : Window(desc),
slot(slot),
clicked_button(-1),
clicked_dropdown(false),
@@ -306,9 +306,9 @@ struct AISettingsWindow : public Window {
this->ai_config = GetConfig(slot);
this->RebuildVisibleSettings();
this->CreateNestedTree(desc);
this->CreateNestedTree();
this->vscroll = this->GetScrollbar(WID_AIS_SCROLLBAR);
this->FinishInitNested(desc, slot); // Initializes 'this->line_height' as side effect.
this->FinishInitNested(slot); // Initializes 'this->line_height' as side effect.
this->SetWidgetDisabledState(WID_AIS_RESET, _game_mode != GM_MENU && Company::IsValidID(this->slot));
@@ -349,7 +349,7 @@ struct AISettingsWindow : public Window {
resize->width = 1;
resize->height = this->line_height;
size->height = GB(this->GetWidget<NWidgetCore>(widget)->widget_data, MAT_ROW_START, MAT_ROW_BITS) * this->line_height;
size->height = 5 * this->line_height;
}
}
@@ -476,7 +476,7 @@ struct AISettingsWindow : public Window {
DropDownList *list = new DropDownList();
for (int i = config_item.min_value; i <= config_item.max_value; i++) {
list->push_back(new DropDownListCharStringItem(config_item.labels->Find(i)->second, i, false));
*list->Append() = new DropDownListCharStringItem(config_item.labels->Find(i)->second, i, false);
}
ShowDropDownListAt(this, list, old_val, -1, wi_rect, COLOUR_ORANGE, true);
@@ -559,9 +559,7 @@ struct AISettingsWindow : public Window {
virtual void OnResize()
{
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(WID_AIS_BACKGROUND);
this->vscroll->SetCapacity(nwi->current_y / this->line_height);
nwi->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
this->vscroll->SetCapacityFromWidget(this, WID_AIS_BACKGROUND);
}
virtual void OnTick()
@@ -588,9 +586,10 @@ static const NWidgetPart _nested_ai_settings_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_MAUVE),
NWidget(WWT_CAPTION, COLOUR_MAUVE, WID_AIS_CAPTION), SetDataTip(STR_AI_SETTINGS_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_DEFSIZEBOX, COLOUR_MAUVE),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIS_BACKGROUND), SetMinimalSize(188, 182), SetResize(1, 1), SetFill(1, 0), SetDataTip(0x501, STR_NULL), SetScrollbar(WID_AIS_SCROLLBAR),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIS_BACKGROUND), SetMinimalSize(188, 182), SetResize(1, 1), SetFill(1, 0), SetMatrixDataTip(1, 0, STR_NULL), SetScrollbar(WID_AIS_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_AIS_SCROLLBAR),
EndContainer(),
NWidget(NWID_HORIZONTAL),
@@ -603,8 +602,8 @@ static const NWidgetPart _nested_ai_settings_widgets[] = {
};
/** Window definition for the AI settings window. */
static const WindowDesc _ai_settings_desc(
WDP_CENTER, 500, 208,
static WindowDesc _ai_settings_desc(
WDP_CENTER, "settings_script", 500, 208,
WC_AI_SETTINGS, WC_NONE,
0,
_nested_ai_settings_widgets, lengthof(_nested_ai_settings_widgets)
@@ -674,13 +673,13 @@ static const NWidgetPart _nested_ai_config_widgets[] = {
EndContainer(),
NWidget(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_AI, STR_NULL), SetPadding(0, 5, 0, 5),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIC_LIST), SetMinimalSize(288, 112), SetFill(1, 0), SetDataTip(0x801, STR_AI_CONFIG_AILIST_TOOLTIP), SetScrollbar(WID_AIC_SCROLLBAR),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIC_LIST), SetMinimalSize(288, 112), SetFill(1, 0), SetMatrixDataTip(1, 8, STR_AI_CONFIG_AILIST_TOOLTIP), SetScrollbar(WID_AIC_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_MAUVE, WID_AIC_SCROLLBAR),
EndContainer(),
EndContainer(),
NWidget(NWID_SPACER), SetMinimalSize(0, 9),
NWidget(WWT_FRAME, COLOUR_MAUVE), SetDataTip(STR_AI_CONFIG_GAMESCRIPT, STR_NULL), SetPadding(0, 5, 4, 5),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIC_GAMELIST), SetMinimalSize(288, 14), SetFill(1, 0), SetDataTip(0x101, STR_AI_CONFIG_GAMELIST_TOOLTIP),
NWidget(WWT_MATRIX, COLOUR_MAUVE, WID_AIC_GAMELIST), SetMinimalSize(288, 14), SetFill(1, 0), SetMatrixDataTip(1, 1, STR_AI_CONFIG_GAMELIST_TOOLTIP),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(7, 0, 7),
NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_CHANGE), SetFill(1, 0), SetMinimalSize(93, 12), SetDataTip(STR_AI_CONFIG_CHANGE, STR_AI_CONFIG_CHANGE_TOOLTIP),
@@ -697,8 +696,8 @@ static const NWidgetPart _nested_ai_config_widgets[] = {
};
/** Window definition for the configure AI window. */
static const WindowDesc _ai_config_desc(
WDP_CENTER, 0, 0,
static WindowDesc _ai_config_desc(
WDP_CENTER, "settings_script_config", 0, 0,
WC_GAME_OPTIONS, WC_NONE,
0,
_nested_ai_config_widgets, lengthof(_nested_ai_config_widgets)
@@ -712,15 +711,14 @@ struct AIConfigWindow : public Window {
int line_height; ///< Height of a single AI-name line.
Scrollbar *vscroll; ///< Cache of the vertical scrollbar.
AIConfigWindow() : Window()
AIConfigWindow() : Window(&_ai_config_desc)
{
this->InitNested(&_ai_config_desc, WN_GAME_OPTIONS_AI); // Initializes 'this->line_height' as a side effect.
this->InitNested(WN_GAME_OPTIONS_AI); // Initializes 'this->line_height' as a side effect.
this->vscroll = this->GetScrollbar(WID_AIC_SCROLLBAR);
this->selected_slot = INVALID_COMPANY;
NWidgetCore *nwi = this->GetWidget<NWidgetCore>(WID_AIC_LIST);
this->vscroll->SetCapacity(nwi->current_y / this->line_height);
this->vscroll->SetCount(MAX_COMPANIES);
nwi->widget_data = (this->vscroll->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
this->OnInvalidateData(0);
}
@@ -758,9 +756,13 @@ struct AIConfigWindow : public Window {
{
switch (widget) {
case WID_AIC_GAMELIST:
this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM;
size->height = 1 * this->line_height;
break;
case WID_AIC_LIST:
this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM;
size->height = GB(this->GetWidget<NWidgetCore>(widget)->widget_data, MAT_ROW_START, MAT_ROW_BITS) * this->line_height;
size->height = 8 * this->line_height;
break;
}
}
@@ -772,7 +774,7 @@ struct AIConfigWindow : public Window {
*/
static bool IsEditable(CompanyID slot)
{
if (slot == OWNER_DEITY) return _game_mode != GM_NORMAL;
if (slot == OWNER_DEITY) return _game_mode != GM_NORMAL || Game::GetInstance() != NULL;
if (_game_mode != GM_NORMAL) {
return slot > 0 && slot <= GetGameSettings().difficulty.max_no_competitors;
@@ -851,7 +853,7 @@ struct AIConfigWindow : public Window {
case WID_AIC_GAMELIST: {
this->selected_slot = OWNER_DEITY;
this->InvalidateData();
if (click_count > 1 && this->selected_slot != INVALID_COMPANY) ShowAIListWindow((CompanyID)this->selected_slot);
if (click_count > 1 && this->selected_slot != INVALID_COMPANY && _game_mode != GM_NORMAL) ShowAIListWindow((CompanyID)this->selected_slot);
break;
}
@@ -920,7 +922,7 @@ struct AIConfigWindow : public Window {
this->SetWidgetDisabledState(WID_AIC_DECREASE, GetGameSettings().difficulty.max_no_competitors == 0);
this->SetWidgetDisabledState(WID_AIC_INCREASE, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1);
this->SetWidgetDisabledState(WID_AIC_CHANGE, this->selected_slot == INVALID_COMPANY);
this->SetWidgetDisabledState(WID_AIC_CHANGE, (this->selected_slot == OWNER_DEITY && _game_mode == GM_NORMAL) || this->selected_slot == INVALID_COMPANY);
this->SetWidgetDisabledState(WID_AIC_CONFIGURE, this->selected_slot == INVALID_COMPANY || GetConfig(this->selected_slot)->GetConfigList()->size() == 0);
this->SetWidgetDisabledState(WID_AIC_MOVE_UP, this->selected_slot == OWNER_DEITY || this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot - 1)));
this->SetWidgetDisabledState(WID_AIC_MOVE_DOWN, this->selected_slot == OWNER_DEITY || this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot + 1)));
@@ -1042,13 +1044,13 @@ struct AIDebugWindow : public Window {
* @param desc The description of the window.
* @param number The window number (actually unused).
*/
AIDebugWindow(const WindowDesc *desc, WindowNumber number) : break_editbox(MAX_BREAK_STR_STRING_LENGTH)
AIDebugWindow(WindowDesc *desc, WindowNumber number) : Window(desc), break_editbox(MAX_BREAK_STR_STRING_LENGTH)
{
this->CreateNestedTree(desc);
this->CreateNestedTree();
this->vscroll = this->GetScrollbar(WID_AID_SCROLLBAR);
this->show_break_box = _settings_client.gui.ai_developer_tools;
this->GetWidget<NWidgetStacked>(WID_AID_BREAK_STRING_WIDGETS)->SetDisplayedPlane(this->show_break_box ? 0 : SZSP_HORIZONTAL);
this->FinishInitNested(desc, number);
this->FinishInitNested(number);
if (!this->show_break_box) break_check_enabled = false;
@@ -1058,6 +1060,8 @@ struct AIDebugWindow : public Window {
this->querystrings[WID_AID_BREAK_STR_EDIT_BOX] = &this->break_editbox;
SetWidgetsDisabledState(!this->show_break_box, WID_AID_BREAK_STR_ON_OFF_BTN, WID_AID_BREAK_STR_EDIT_BOX, WID_AID_MATCH_CASE_BTN, WIDGET_LIST_END);
/* Restore the break string value from static variable */
this->break_editbox.text.Assign(this->break_string);
@@ -1303,23 +1307,6 @@ struct AIDebugWindow : public Window {
}
}
virtual EventState OnKeyPress(uint16 key, uint16 keycode)
{
EventState state = ES_NOT_HANDLED;
int num = CheckHotkeyMatch(aidebug_hotkeys, keycode, this);
if (num != -1) {
if (this->show_break_box && num == WID_AID_BREAK_STR_EDIT_BOX) {
this->SetFocusedWidget(WID_AID_BREAK_STR_EDIT_BOX);
SetFocusedWindow(this);
state = ES_HANDLED;
} else if (this->show_break_box || num < WID_AID_BREAK_STRING_WIDGETS) {
this->OnClick(Point(), num, 1);
state = ES_HANDLED;
}
}
return state;
}
virtual void OnEditboxChanged(int wid)
{
if (wid == WID_AID_BREAK_STR_EDIT_BOX) {
@@ -1397,7 +1384,7 @@ struct AIDebugWindow : public Window {
this->vscroll->SetCapacityFromWidget(this, WID_AID_LOG_PANEL);
}
static Hotkey<AIDebugWindow> aidebug_hotkeys[];
static HotkeyList hotkeys;
};
const int AIDebugWindow::top_offset = WD_FRAMERECT_TOP + 2;
@@ -1414,32 +1401,45 @@ NWidgetBase *MakeCompanyButtonRowsAIDebug(int *biggest_index)
return MakeCompanyButtonRows(biggest_index, WID_AID_COMPANY_BUTTON_START, WID_AID_COMPANY_BUTTON_END, 8, STR_AI_DEBUG_SELECT_AI_TOOLTIP);
}
Hotkey<AIDebugWindow> AIDebugWindow::aidebug_hotkeys[] = {
Hotkey<AIDebugWindow>('1', "company_1", WID_AID_COMPANY_BUTTON_START),
Hotkey<AIDebugWindow>('2', "company_2", WID_AID_COMPANY_BUTTON_START + 1),
Hotkey<AIDebugWindow>('3', "company_3", WID_AID_COMPANY_BUTTON_START + 2),
Hotkey<AIDebugWindow>('4', "company_4", WID_AID_COMPANY_BUTTON_START + 3),
Hotkey<AIDebugWindow>('5', "company_5", WID_AID_COMPANY_BUTTON_START + 4),
Hotkey<AIDebugWindow>('6', "company_6", WID_AID_COMPANY_BUTTON_START + 5),
Hotkey<AIDebugWindow>('7', "company_7", WID_AID_COMPANY_BUTTON_START + 6),
Hotkey<AIDebugWindow>('8', "company_8", WID_AID_COMPANY_BUTTON_START + 7),
Hotkey<AIDebugWindow>('9', "company_9", WID_AID_COMPANY_BUTTON_START + 8),
Hotkey<AIDebugWindow>((uint16)0, "company_10", WID_AID_COMPANY_BUTTON_START + 9),
Hotkey<AIDebugWindow>((uint16)0, "company_11", WID_AID_COMPANY_BUTTON_START + 10),
Hotkey<AIDebugWindow>((uint16)0, "company_12", WID_AID_COMPANY_BUTTON_START + 11),
Hotkey<AIDebugWindow>((uint16)0, "company_13", WID_AID_COMPANY_BUTTON_START + 12),
Hotkey<AIDebugWindow>((uint16)0, "company_14", WID_AID_COMPANY_BUTTON_START + 13),
Hotkey<AIDebugWindow>((uint16)0, "company_15", WID_AID_COMPANY_BUTTON_START + 14),
Hotkey<AIDebugWindow>('S', "settings", WID_AID_SETTINGS),
Hotkey<AIDebugWindow>('0', "game_script", WID_AID_SCRIPT_GAME),
Hotkey<AIDebugWindow>((uint16)0, "reload", WID_AID_RELOAD_TOGGLE),
Hotkey<AIDebugWindow>('B', "break_toggle", WID_AID_BREAK_STR_ON_OFF_BTN),
Hotkey<AIDebugWindow>('F', "break_string", WID_AID_BREAK_STR_EDIT_BOX),
Hotkey<AIDebugWindow>('C', "match_case", WID_AID_MATCH_CASE_BTN),
Hotkey<AIDebugWindow>(WKC_RETURN, "continue", WID_AID_CONTINUE_BTN),
HOTKEY_LIST_END(AIDebugWindow)
/**
* Handler for global hotkeys of the AIDebugWindow.
* @param hotkey Hotkey
* @return ES_HANDLED if hotkey was accepted.
*/
static EventState AIDebugGlobalHotkeys(int hotkey)
{
if (_game_mode != GM_NORMAL) return ES_NOT_HANDLED;
Window *w = ShowAIDebugWindow(INVALID_COMPANY);
if (w == NULL) return ES_NOT_HANDLED;
return w->OnHotkey(hotkey);
}
static Hotkey aidebug_hotkeys[] = {
Hotkey('1', "company_1", WID_AID_COMPANY_BUTTON_START),
Hotkey('2', "company_2", WID_AID_COMPANY_BUTTON_START + 1),
Hotkey('3', "company_3", WID_AID_COMPANY_BUTTON_START + 2),
Hotkey('4', "company_4", WID_AID_COMPANY_BUTTON_START + 3),
Hotkey('5', "company_5", WID_AID_COMPANY_BUTTON_START + 4),
Hotkey('6', "company_6", WID_AID_COMPANY_BUTTON_START + 5),
Hotkey('7', "company_7", WID_AID_COMPANY_BUTTON_START + 6),
Hotkey('8', "company_8", WID_AID_COMPANY_BUTTON_START + 7),
Hotkey('9', "company_9", WID_AID_COMPANY_BUTTON_START + 8),
Hotkey((uint16)0, "company_10", WID_AID_COMPANY_BUTTON_START + 9),
Hotkey((uint16)0, "company_11", WID_AID_COMPANY_BUTTON_START + 10),
Hotkey((uint16)0, "company_12", WID_AID_COMPANY_BUTTON_START + 11),
Hotkey((uint16)0, "company_13", WID_AID_COMPANY_BUTTON_START + 12),
Hotkey((uint16)0, "company_14", WID_AID_COMPANY_BUTTON_START + 13),
Hotkey((uint16)0, "company_15", WID_AID_COMPANY_BUTTON_START + 14),
Hotkey('S', "settings", WID_AID_SETTINGS),
Hotkey('0', "game_script", WID_AID_SCRIPT_GAME),
Hotkey((uint16)0, "reload", WID_AID_RELOAD_TOGGLE),
Hotkey('B', "break_toggle", WID_AID_BREAK_STR_ON_OFF_BTN),
Hotkey('F', "break_string", WID_AID_BREAK_STR_EDIT_BOX),
Hotkey('C', "match_case", WID_AID_MATCH_CASE_BTN),
Hotkey(WKC_RETURN, "continue", WID_AID_CONTINUE_BTN),
HOTKEY_LIST_END
};
Hotkey<AIDebugWindow> *_aidebug_hotkeys = AIDebugWindow::aidebug_hotkeys;
HotkeyList AIDebugWindow::hotkeys("aidebug", aidebug_hotkeys, AIDebugGlobalHotkeys);
/** Widgets for the AI debug window. */
static const NWidgetPart _nested_ai_debug_widgets[] = {
@@ -1447,6 +1447,7 @@ static const NWidgetPart _nested_ai_debug_widgets[] = {
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_AI_DEBUG, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_SHADEBOX, COLOUR_GREY),
NWidget(WWT_DEFSIZEBOX, COLOUR_GREY),
NWidget(WWT_STICKYBOX, COLOUR_GREY),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY, WID_AID_VIEW),
@@ -1486,11 +1487,12 @@ static const NWidgetPart _nested_ai_debug_widgets[] = {
};
/** Window definition for the AI debug window. */
static const WindowDesc _ai_debug_desc(
WDP_AUTO, 600, 450,
static WindowDesc _ai_debug_desc(
WDP_AUTO, "script_debug", 600, 450,
WC_AI_DEBUG, WC_NONE,
0,
_nested_ai_debug_widgets, lengthof(_nested_ai_debug_widgets)
_nested_ai_debug_widgets, lengthof(_nested_ai_debug_widgets),
&AIDebugWindow::hotkeys
);
/**
@@ -1511,18 +1513,6 @@ Window *ShowAIDebugWindow(CompanyID show_company)
return NULL;
}
/**
* Handler for global AI debug window hotkeys.
*/
EventState AIDebugGlobalHotkeys(uint16 key, uint16 keycode)
{
int num = CheckHotkeyMatch<AIDebugWindow>(_aidebug_hotkeys, keycode, NULL, true);
if (num == -1) return ES_NOT_HANDLED;
Window *w = ShowAIDebugWindow(INVALID_COMPANY);
if (w == NULL) return ES_NOT_HANDLED;
return w->OnKeyPress(key, keycode);
}
/**
* Reset the AI windows to their initial state.
*/

View File

@@ -23,7 +23,7 @@
*/
static bool CheckAPIVersion(const char *api_version)
{
return strcmp(api_version, "0.7") == 0 || strcmp(api_version, "1.0") == 0 || strcmp(api_version, "1.1") == 0 || strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0;
return strcmp(api_version, "0.7") == 0 || strcmp(api_version, "1.0") == 0 || strcmp(api_version, "1.1") == 0 || strcmp(api_version, "1.2") == 0 || strcmp(api_version, "1.3") == 0 || strcmp(api_version, "1.4") == 0;
}
#if defined(WIN32)

View File

@@ -99,6 +99,12 @@ static const SpriteID _aircraft_sprite[] = {
0x0EBD, 0x0EC5
};
template <>
bool IsValidImageIndex<VEH_AIRCRAFT>(uint8 image_index)
{
return image_index < lengthof(_aircraft_sprite);
}
/** Helicopter rotor animation states */
enum HelicopterRotorStates {
HRS_ROTOR_STOPPED,
@@ -160,6 +166,7 @@ SpriteID Aircraft::GetImage(Direction direction, EngineImageType image_type) con
spritenum = this->GetEngine()->original_image_index;
}
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
return direction + _aircraft_sprite[spritenum];
}
@@ -189,6 +196,7 @@ static SpriteID GetAircraftIcon(EngineID engine, EngineImageType image_type)
spritenum = e->original_image_index;
}
assert(IsValidImageIndex<VEH_AIRCRAFT>(spritenum));
return DIR_W + _aircraft_sprite[spritenum];
}
@@ -242,7 +250,7 @@ CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, const Engine *
/* Prevent building aircraft types at places which can't handle them */
if (!CanVehicleUseStation(e->index, st)) return CMD_ERROR;
/* Make sure all aircraft end up in the first tile of the hanger. */
/* Make sure all aircraft end up in the first tile of the hangar. */
tile = st->airport.GetHangarTile(st->airport.GetHangarNum(tile));
if (flags & DC_EXEC) {
@@ -271,13 +279,16 @@ CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, const Engine *
v->spritenum = avi->image_index;
v->cargo_cap = avi->passenger_capacity;
v->refit_cap = 0;
u->cargo_cap = avi->mail_capacity;
u->refit_cap = 0;
v->cargo_type = e->GetDefaultCargoType();
u->cargo_type = CT_MAIL;
v->name = NULL;
v->last_station_visited = INVALID_STATION;
v->last_loading_station = INVALID_STATION;
v->acceleration = avi->acceleration;
v->engine_type = e->index;
@@ -1021,7 +1032,7 @@ static bool HandleCrashedAircraft(Aircraft *v)
/* make aircraft crash down to the ground */
if (v->crashed_counter < 500 && st == NULL && ((v->crashed_counter % 3) == 0) ) {
int z = GetSlopePixelZ(v->x_pos, v->y_pos);
int z = GetSlopePixelZ(Clamp(v->x_pos, 0, MapMaxX() * TILE_SIZE), Clamp(v->y_pos, 0, MapMaxY() * TILE_SIZE));
v->z_pos -= 1;
if (v->z_pos == z) {
v->crashed_counter = 500;
@@ -1150,7 +1161,8 @@ TileIndex Aircraft::GetOrderStationLocation(StationID station)
void Aircraft::MarkDirty()
{
this->UpdateViewport(false, false);
this->colourmap = PAL_NONE;
this->UpdateViewport(true, false);
if (this->subtype == AIR_HELICOPTER) this->Next()->Next()->cur_image = GetRotorImage(this, EIT_ON_MAP);
}
@@ -1174,8 +1186,8 @@ static void CrashAirplane(Aircraft *v)
uint pass = v->Crash();
SetDParam(0, pass);
v->cargo.Truncate(0);
v->Next()->cargo.Truncate(0);
v->cargo.Truncate();
v->Next()->cargo.Truncate();
const Station *st = GetTargetAirportIfValid(v);
StringID newsitem;
if (st == NULL) {
@@ -1219,7 +1231,7 @@ static void MaybeCrashAirplane(Aircraft *v)
/* Crash the airplane. Remove all goods stored at the station. */
for (CargoID i = 0; i < NUM_CARGO; i++) {
st->goods[i].rating = 1;
st->goods[i].cargo.Truncate(0);
st->goods[i].cargo.Truncate();
}
CrashAirplane(v);

View File

@@ -50,7 +50,7 @@ void DrawAircraftDetails(const Aircraft *v, int left, int right, int y)
}
if (u->cargo_cap != 0) {
uint cargo_count = u->cargo.Count();
uint cargo_count = u->cargo.StoredCount();
y_offset += FONT_HEIGHT_NORMAL + 1;
if (cargo_count != 0) {

View File

@@ -20,7 +20,9 @@ static const uint MAX_TERMINALS = 8; ///< maximum number
static const uint MAX_HELIPADS = 3; ///< maximum number of helipads per airport
static const uint MAX_ELEMENTS = 255; ///< maximum number of aircraft positions at airport
static const uint NUM_AIRPORTTILES = 256; ///< total number of airport tiles
static const uint NUM_AIRPORTTILES_PER_GRF = 255; ///< Number of airport tiles per NewGRF; limited to 255 to allow extending Action3 with an extended byte later on.
static const uint NUM_AIRPORTTILES = 256; ///< Total number of airport tiles.
static const uint NEW_AIRPORTTILE_OFFSET = 74; ///< offset of first newgrf airport tile
static const uint INVALID_AIRPORTTILE = NUM_AIRPORTTILES; ///< id for an invalid airport tile
@@ -37,7 +39,8 @@ enum AirportTypes {
AT_HELISTATION = 8, ///< Heli station airport.
AT_OILRIG = 9, ///< Oilrig airport.
NEW_AIRPORT_OFFSET = 10, ///< Number of the first newgrf airport.
NUM_AIRPORTS = 128, ///< Maximal number of airports.
NUM_AIRPORTS_PER_GRF = 128, ///< Maximal number of airports per NewGRF.
NUM_AIRPORTS = 128, ///< Maximal number of airports in total.
AT_INVALID = 254, ///< Invalid airport.
AT_DUMMY = 255, ///< Dummy airport.
};

View File

@@ -27,6 +27,7 @@
#include "core/geometry_func.hpp"
#include "hotkeys.h"
#include "vehicle_func.h"
#include "gui.h"
#include "widgets/airport_widget.h"
@@ -43,7 +44,7 @@ void CcBuildAirport(const CommandCost &result, TileIndex tile, uint32 p1, uint32
{
if (result.Failed()) return;
if (_settings_client.sound.confirm) SndPlayTileFx(SND_1F_SPLAT, tile);
if (_settings_client.sound.confirm) SndPlayTileFx(SND_1F_SPLAT_OTHER, tile);
if (!_settings_client.gui.persistent_buildingtools) ResetObjectToPlace();
}
@@ -67,9 +68,9 @@ static void PlaceAirport(TileIndex tile)
struct BuildAirToolbarWindow : Window {
int last_user_action; // Last started user action.
BuildAirToolbarWindow(const WindowDesc *desc, WindowNumber window_number) : Window()
BuildAirToolbarWindow(WindowDesc *desc, WindowNumber window_number) : Window(desc)
{
this->InitNested(desc, window_number);
this->InitNested(window_number);
if (_settings_client.gui.link_terraform_toolbar) ShowTerraformToolbar(this);
this->last_user_action = WIDGET_LIST_END;
}
@@ -99,14 +100,6 @@ struct BuildAirToolbarWindow : Window {
}
virtual EventState OnKeyPress(uint16 key, uint16 keycode)
{
int num = CheckHotkeyMatch(airtoolbar_hotkeys, keycode, this);
if (num == -1) return ES_NOT_HANDLED;
this->OnClick(Point(), num, 1);
return ES_HANDLED;
}
virtual void OnPlaceObject(Point pt, TileIndex tile)
{
switch (this->last_user_action) {
@@ -142,15 +135,28 @@ struct BuildAirToolbarWindow : Window {
DeleteWindowById(WC_SELECT_STATION, 0);
}
static Hotkey<BuildAirToolbarWindow> airtoolbar_hotkeys[];
static HotkeyList hotkeys;
};
Hotkey<BuildAirToolbarWindow> BuildAirToolbarWindow::airtoolbar_hotkeys[] = {
Hotkey<BuildAirToolbarWindow>('1', "airport", WID_AT_AIRPORT),
Hotkey<BuildAirToolbarWindow>('2', "demolish", WID_AT_DEMOLISH),
HOTKEY_LIST_END(BuildAirToolbarWindow)
/**
* Handler for global hotkeys of the BuildAirToolbarWindow.
* @param hotkey Hotkey
* @return ES_HANDLED if hotkey was accepted.
*/
static EventState AirportToolbarGlobalHotkeys(int hotkey)
{
if (_game_mode != GM_NORMAL || !CanBuildVehicleInfrastructure(VEH_AIRCRAFT)) return ES_NOT_HANDLED;
Window *w = ShowBuildAirToolbar();
if (w == NULL) return ES_NOT_HANDLED;
return w->OnHotkey(hotkey);
}
static Hotkey airtoolbar_hotkeys[] = {
Hotkey('1', "airport", WID_AT_AIRPORT),
Hotkey('2', "demolish", WID_AT_DEMOLISH),
HOTKEY_LIST_END
};
Hotkey<BuildAirToolbarWindow> *_airtoolbar_hotkeys = BuildAirToolbarWindow::airtoolbar_hotkeys;
HotkeyList BuildAirToolbarWindow::hotkeys("airtoolbar", airtoolbar_hotkeys, AirportToolbarGlobalHotkeys);
static const NWidgetPart _nested_air_toolbar_widgets[] = {
NWidget(NWID_HORIZONTAL),
@@ -165,11 +171,12 @@ static const NWidgetPart _nested_air_toolbar_widgets[] = {
EndContainer(),
};
static const WindowDesc _air_toolbar_desc(
WDP_ALIGN_TOOLBAR, 0, 0,
static WindowDesc _air_toolbar_desc(
WDP_ALIGN_TOOLBAR, "toolbar_air", 0, 0,
WC_BUILD_TOOLBAR, WC_NONE,
WDF_CONSTRUCTION,
_nested_air_toolbar_widgets, lengthof(_nested_air_toolbar_widgets)
_nested_air_toolbar_widgets, lengthof(_nested_air_toolbar_widgets),
&BuildAirToolbarWindow::hotkeys
);
/**
@@ -187,16 +194,6 @@ Window *ShowBuildAirToolbar()
return AllocateWindowDescFront<BuildAirToolbarWindow>(&_air_toolbar_desc, TRANSPORT_AIR);
}
EventState AirportToolbarGlobalHotkeys(uint16 key, uint16 keycode)
{
if (!CanBuildVehicleInfrastructure(VEH_AIRCRAFT)) return ES_NOT_HANDLED;
int num = CheckHotkeyMatch<BuildAirToolbarWindow>(_airtoolbar_hotkeys, keycode, NULL, true);
if (num == -1) return ES_NOT_HANDLED;
Window *w = ShowBuildAirToolbar();
if (w == NULL) return ES_NOT_HANDLED;
return w->OnKeyPress(key, keycode);
}
class BuildAirportWindow : public PickerWindowBase {
SpriteID preview_sprite; ///< Cached airport preview sprite.
int line_height;
@@ -208,22 +205,22 @@ class BuildAirportWindow : public PickerWindowBase {
DropDownList *list = new DropDownList();
for (uint i = 0; i < AirportClass::GetClassCount(); i++) {
list->push_back(new DropDownListStringItem(AirportClass::Get((AirportClassID)i)->name, i, false));
*list->Append() = new DropDownListStringItem(AirportClass::Get((AirportClassID)i)->name, i, false);
}
return list;
}
public:
BuildAirportWindow(const WindowDesc *desc, Window *parent) : PickerWindowBase(parent)
BuildAirportWindow(WindowDesc *desc, Window *parent) : PickerWindowBase(desc, parent)
{
this->CreateNestedTree(desc);
this->CreateNestedTree();
this->vscroll = this->GetScrollbar(WID_AP_SCROLLBAR);
this->vscroll->SetCapacity(5);
this->vscroll->SetPosition(0);
this->FinishInitNested(desc, TRANSPORT_AIR);
this->FinishInitNested(TRANSPORT_AIR);
this->SetWidgetLoweredState(WID_AP_BTN_DONTHILIGHT, !_settings_client.gui.station_show_coverage);
this->SetWidgetLoweredState(WID_AP_BTN_DOHILIGHT, _settings_client.gui.station_show_coverage);
@@ -287,7 +284,7 @@ public:
}
this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM;
size->height = this->vscroll->GetCapacity() * this->line_height;
size->height = 5 * this->line_height;
break;
}
@@ -338,7 +335,7 @@ public:
if (!as->IsAvailable()) {
GfxFillRect(r.left + 1, y + 1, r.right - 1, y + this->line_height - 2, PC_BLACK, FILLRECT_CHECKER);
}
DrawString(r.left + WD_MATRIX_LEFT, r.right + WD_MATRIX_RIGHT, y + WD_MATRIX_TOP, as->name, ((int)i == _selected_airport_index) ? TC_WHITE : TC_BLACK);
DrawString(r.left + WD_MATRIX_LEFT, r.right - WD_MATRIX_RIGHT, y + WD_MATRIX_TOP, as->name, ((int)i == _selected_airport_index) ? TC_WHITE : TC_BLACK);
y += this->line_height;
}
break;
@@ -527,8 +524,9 @@ static const NWidgetPart _nested_build_airport_widgets[] = {
NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetFill(1, 0), SetPIP(2, 0, 2),
NWidget(WWT_LABEL, COLOUR_DARK_GREEN), SetDataTip(STR_STATION_BUILD_AIRPORT_CLASS_LABEL, STR_NULL), SetFill(1, 0),
NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_AP_CLASS_DROPDOWN), SetFill(1, 0), SetDataTip(STR_BLACK_STRING, STR_STATION_BUILD_AIRPORT_TOOLTIP),
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_AIRPORT_SPRITE), SetFill(1, 0),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_AP_AIRPORT_LIST), SetFill(1, 0), SetDataTip(0x501, STR_STATION_BUILD_AIRPORT_TOOLTIP), SetScrollbar(WID_AP_SCROLLBAR),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_AP_AIRPORT_LIST), SetFill(1, 0), SetMatrixDataTip(1, 5, STR_STATION_BUILD_AIRPORT_TOOLTIP), SetScrollbar(WID_AP_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_AP_SCROLLBAR),
EndContainer(),
NWidget(NWID_HORIZONTAL),
@@ -536,7 +534,6 @@ static const NWidgetPart _nested_build_airport_widgets[] = {
NWidget(WWT_LABEL, COLOUR_GREY, WID_AP_LAYOUT_NUM), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_BLACK_STRING, STR_NULL),
NWidget(WWT_PUSHARROWBTN, COLOUR_GREY, WID_AP_LAYOUT_INCREASE), SetMinimalSize(12, 0), SetDataTip(AWV_INCREASE, STR_NULL),
EndContainer(),
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_AIRPORT_SPRITE), SetFill(1, 0),
NWidget(WWT_EMPTY, COLOUR_DARK_GREEN, WID_AP_EXTRA_TEXT), SetFill(1, 0), SetMinimalSize(150, 0),
EndContainer(),
/* Bottom panel. */
@@ -556,8 +553,8 @@ static const NWidgetPart _nested_build_airport_widgets[] = {
EndContainer(),
};
static const WindowDesc _build_airport_desc(
WDP_AUTO, 0, 0,
static WindowDesc _build_airport_desc(
WDP_AUTO, "build_station_air", 0, 0,
WC_BUILD_STATION, WC_BUILD_TOOLBAR,
WDF_CONSTRUCTION,
_nested_build_airport_widgets, lengthof(_nested_build_airport_widgets)

View File

@@ -355,6 +355,7 @@ void AddArticulatedParts(Vehicle *first)
t->cargo_type = front->cargo_type; // Needed for livery selection
t->cargo_cap = 0;
}
t->refit_cap = 0;
t->SetArticulatedPart();
break;
@@ -381,6 +382,7 @@ void AddArticulatedParts(Vehicle *first)
rv->cargo_type = front->cargo_type; // Needed for livery selection
rv->cargo_cap = 0;
}
rv->refit_cap = 0;
rv->SetArticulatedPart();
break;

View File

@@ -91,27 +91,32 @@ bool CheckAutoreplaceValidity(EngineID from, EngineID to, CompanyID company)
/**
* Check the capacity of all vehicles in a chain and spread cargo if needed.
* @param v The vehicle to check.
* @pre You can only do this if the consist is not loading or unloading. It
* must not carry reserved cargo, nor cargo to be unloaded or transferred.
*/
void CheckCargoCapacity(Vehicle *v)
{
assert(v == NULL || v->First() == v);
for (Vehicle *src = v; src != NULL; src = src->Next()) {
assert(src->cargo.TotalCount() == src->cargo.ActionCount(VehicleCargoList::MTA_KEEP));
/* Do we need to more cargo away? */
if (src->cargo.Count() <= src->cargo_cap) continue;
if (src->cargo.TotalCount() <= src->cargo_cap) continue;
/* We need to move a particular amount. Try that on the other vehicles. */
uint to_spread = src->cargo.Count() - src->cargo_cap;
uint to_spread = src->cargo.TotalCount() - src->cargo_cap;
for (Vehicle *dest = v; dest != NULL && to_spread != 0; dest = dest->Next()) {
if (dest->cargo.Count() >= dest->cargo_cap || dest->cargo_type != src->cargo_type) continue;
assert(dest->cargo.TotalCount() == dest->cargo.ActionCount(VehicleCargoList::MTA_KEEP));
if (dest->cargo.TotalCount() >= dest->cargo_cap || dest->cargo_type != src->cargo_type) continue;
uint amount = min(to_spread, dest->cargo_cap - dest->cargo.Count());
src->cargo.MoveTo(&dest->cargo, amount, VehicleCargoList::MTA_UNLOAD, NULL);
uint amount = min(to_spread, dest->cargo_cap - dest->cargo.TotalCount());
src->cargo.Shift(amount, &dest->cargo);
to_spread -= amount;
}
/* Any left-overs will be thrown away, but not their feeder share. */
src->cargo.Truncate(src->cargo_cap);
if (src->cargo_cap < src->cargo.TotalCount()) src->cargo.Truncate(src->cargo.TotalCount() - src->cargo_cap);
}
}
@@ -120,21 +125,26 @@ void CheckCargoCapacity(Vehicle *v)
* @param old_veh Old vehicle that will be sold
* @param new_head Head of the completely constructed new vehicle chain
* @param part_of_chain The vehicle is part of a train
* @pre You can only do this if both consists are not loading or unloading.
* They must not carry reserved cargo, nor cargo to be unloaded or
* transferred.
*/
static void TransferCargo(Vehicle *old_veh, Vehicle *new_head, bool part_of_chain)
{
assert(!part_of_chain || new_head->IsPrimaryVehicle());
/* Loop through source parts */
for (Vehicle *src = old_veh; src != NULL; src = src->Next()) {
assert(src->cargo.TotalCount() == src->cargo.ActionCount(VehicleCargoList::MTA_KEEP));
if (!part_of_chain && src->type == VEH_TRAIN && src != old_veh && src != Train::From(old_veh)->other_multiheaded_part && !src->IsArticulatedPart()) {
/* Skip vehicles, which do not belong to old_veh */
src = src->GetLastEnginePart();
continue;
}
if (src->cargo_type >= NUM_CARGO || src->cargo.Count() == 0) continue;
if (src->cargo_type >= NUM_CARGO || src->cargo.TotalCount() == 0) continue;
/* Find free space in the new chain */
for (Vehicle *dest = new_head; dest != NULL && src->cargo.Count() > 0; dest = dest->Next()) {
for (Vehicle *dest = new_head; dest != NULL && src->cargo.TotalCount() > 0; dest = dest->Next()) {
assert(dest->cargo.TotalCount() == dest->cargo.ActionCount(VehicleCargoList::MTA_KEEP));
if (!part_of_chain && dest->type == VEH_TRAIN && dest != new_head && dest != Train::From(new_head)->other_multiheaded_part && !dest->IsArticulatedPart()) {
/* Skip vehicles, which do not belong to new_head */
dest = dest->GetLastEnginePart();
@@ -142,15 +152,15 @@ static void TransferCargo(Vehicle *old_veh, Vehicle *new_head, bool part_of_chai
}
if (dest->cargo_type != src->cargo_type) continue;
uint amount = min(src->cargo.Count(), dest->cargo_cap - dest->cargo.Count());
uint amount = min(src->cargo.TotalCount(), dest->cargo_cap - dest->cargo.TotalCount());
if (amount <= 0) continue;
src->cargo.MoveTo(&dest->cargo, amount, VehicleCargoList::MTA_UNLOAD, NULL);
src->cargo.Shift(amount, &dest->cargo);
}
}
/* Update train weight etc., the old vehicle will be sold anyway */
if (part_of_chain && new_head->type == VEH_TRAIN) Train::From(new_head)->ConsistChanged(true);
if (part_of_chain && new_head->type == VEH_TRAIN) Train::From(new_head)->ConsistChanged(CCF_LOADUNLOAD);
}
/**

View File

@@ -164,10 +164,21 @@ class ReplaceVehicleWindow : public Window {
this->engines[1].Clear();
this->sel_engine[1] = INVALID_ENGINE;
} else {
if (this->reset_sel_engine && this->sel_engine[0] != INVALID_ENGINE) {
/* Select the current replacement for sel_engine[0]. */
const Company *c = Company::Get(_local_company);
this->sel_engine[1] = EngineReplacementForCompany(c, this->sel_engine[0], this->sel_group);
}
/* Regenerate the list on the right. Note: This resets sel_engine[1] to INVALID_ENGINE, if it is no longer available. */
this->GenerateReplaceVehList(false);
this->vscroll[1]->SetCount(this->engines[1].Length());
if (this->reset_sel_engine && this->sel_engine[1] == INVALID_ENGINE && this->engines[1].Length() != 0) {
this->sel_engine[1] = this->engines[1][0];
if (this->reset_sel_engine && this->sel_engine[1] != INVALID_ENGINE) {
int position = 0;
for (EngineID *it = this->engines[1].Begin(); it != this->engines[1].End(); ++it) {
if (*it == this->sel_engine[1]) break;
++position;
}
this->vscroll[1]->ScrollTowards(position);
}
}
}
@@ -189,7 +200,7 @@ class ReplaceVehicleWindow : public Window {
}
public:
ReplaceVehicleWindow(const WindowDesc *desc, VehicleType vehicletype, GroupID id_g) : Window()
ReplaceVehicleWindow(WindowDesc *desc, VehicleType vehicletype, GroupID id_g) : Window(desc)
{
if (vehicletype == VEH_TRAIN) {
/* For rail vehicles find the most used vehicle type, which is usually
@@ -217,10 +228,10 @@ public:
this->sel_engine[0] = INVALID_ENGINE;
this->sel_engine[1] = INVALID_ENGINE;
this->CreateNestedTree(desc);
this->CreateNestedTree();
this->vscroll[0] = this->GetScrollbar(WID_RV_LEFT_SCROLLBAR);
this->vscroll[1] = this->GetScrollbar(WID_RV_RIGHT_SCROLLBAR);
this->FinishInitNested(desc, vehicletype);
this->FinishInitNested(vehicletype);
this->owner = _local_company;
this->sel_group = id_g;
@@ -509,9 +520,6 @@ public:
{
this->vscroll[0]->SetCapacityFromWidget(this, WID_RV_LEFT_MATRIX);
this->vscroll[1]->SetCapacityFromWidget(this, WID_RV_RIGHT_MATRIX);
this->GetWidget<NWidgetCore>(WID_RV_LEFT_MATRIX)->widget_data =
this->GetWidget<NWidgetCore>(WID_RV_RIGHT_MATRIX)->widget_data = (this->vscroll[0]->GetCapacity() << MAT_ROW_START) + (1 << MAT_COL_START);
}
/**
@@ -535,12 +543,13 @@ static const NWidgetPart _nested_replace_rail_vehicle_widgets[] = {
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
NWidget(WWT_CAPTION, COLOUR_GREY, WID_RV_CAPTION), SetDataTip(STR_REPLACE_VEHICLES_WHITE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_SHADEBOX, COLOUR_GREY),
NWidget(WWT_DEFSIZEBOX, COLOUR_GREY),
NWidget(WWT_STICKYBOX, COLOUR_GREY),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_LEFT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_LEFT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_LEFT_SCROLLBAR),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_LEFT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetMatrixDataTip(1, 0, STR_REPLACE_HELP_LEFT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_LEFT_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_RV_LEFT_SCROLLBAR),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_RIGHT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_RIGHT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_RIGHT_SCROLLBAR),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_RIGHT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetMatrixDataTip(1, 0, STR_REPLACE_HELP_RIGHT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_RIGHT_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_RV_RIGHT_SCROLLBAR),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
@@ -563,8 +572,8 @@ static const NWidgetPart _nested_replace_rail_vehicle_widgets[] = {
EndContainer(),
};
static const WindowDesc _replace_rail_vehicle_desc(
WDP_AUTO, 500, 140,
static WindowDesc _replace_rail_vehicle_desc(
WDP_AUTO, "replace_vehicle_train", 500, 140,
WC_REPLACE_VEHICLE, WC_NONE,
WDF_CONSTRUCTION,
_nested_replace_rail_vehicle_widgets, lengthof(_nested_replace_rail_vehicle_widgets)
@@ -575,12 +584,13 @@ static const NWidgetPart _nested_replace_vehicle_widgets[] = {
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
NWidget(WWT_CAPTION, COLOUR_GREY, WID_RV_CAPTION), SetMinimalSize(433, 14), SetDataTip(STR_REPLACE_VEHICLES_WHITE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_SHADEBOX, COLOUR_GREY),
NWidget(WWT_DEFSIZEBOX, COLOUR_GREY),
NWidget(WWT_STICKYBOX, COLOUR_GREY),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_LEFT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_LEFT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_LEFT_SCROLLBAR),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_LEFT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetMatrixDataTip(1, 0, STR_REPLACE_HELP_LEFT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_LEFT_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_RV_LEFT_SCROLLBAR),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_RIGHT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetDataTip(0x1, STR_REPLACE_HELP_RIGHT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_RIGHT_SCROLLBAR),
NWidget(WWT_MATRIX, COLOUR_GREY, WID_RV_RIGHT_MATRIX), SetMinimalSize(216, 0), SetFill(1, 1), SetMatrixDataTip(1, 0, STR_REPLACE_HELP_RIGHT_ARRAY), SetResize(1, 1), SetScrollbar(WID_RV_RIGHT_SCROLLBAR),
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_RV_RIGHT_SCROLLBAR),
EndContainer(),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
@@ -595,8 +605,8 @@ static const NWidgetPart _nested_replace_vehicle_widgets[] = {
EndContainer(),
};
static const WindowDesc _replace_vehicle_desc(
WDP_AUTO, 456, 118,
static WindowDesc _replace_vehicle_desc(
WDP_AUTO, "replace_vehicle", 456, 118,
WC_REPLACE_VEHICLE, WC_NONE,
WDF_CONSTRUCTION,
_nested_replace_vehicle_widgets, lengthof(_nested_replace_vehicle_widgets)

View File

@@ -125,7 +125,7 @@ bool BaseSet<T, Tnum_files, Tsearch_in_tars>::FillSetDetails(IniFile *ini, const
}
/* Then find the warning message when the file's missing */
item = filename == NULL ? NULL : origin->GetItem(filename, false);
item = origin->GetItem(filename, false);
if (item == NULL) item = origin->GetItem("default", false);
if (item == NULL) {
DEBUG(grf, 1, "No origin warning message specified for: %s", filename);

View File

@@ -103,7 +103,7 @@ struct BaseStation : StationPool::PoolItem<&_station_pool> {
* @param available will return false if ever the variable asked for does not exist
* @return the value stored in the corresponding variable
*/
virtual uint32 GetNewGRFVariable(const struct ResolverObject *object, byte variable, byte parameter, bool *available) const = 0;
virtual uint32 GetNewGRFVariable(const struct ResolverObject &object, byte variable, byte parameter, bool *available) const = 0;
/**
* Update the coordinated of the sign (as shown in the viewport).

View File

@@ -133,6 +133,46 @@ inline void Blitter_32bppAnim::Draw(const Blitter::BlitterParams *bp, ZoomLevel
}
break;
case BM_CRASH_REMAP:
if (src_px->a == 255) {
do {
uint m = *src_n;
if (m == 0) {
uint8 g = MakeDark(src_px->r, src_px->g, src_px->b);
*dst = ComposeColourRGBA(g, g, g, src_px->a, *dst);
*anim = 0;
} else {
uint r = remap[GB(m, 0, 8)];
*anim = r | (m & 0xFF00);
if (r != 0) *dst = this->AdjustBrightness(this->LookupColourInPalette(r), GB(m, 8, 8));
}
anim++;
dst++;
src_px++;
src_n++;
} while (--n != 0);
} else {
do {
uint m = *src_n;
if (m == 0) {
if (src_px->a != 0) {
uint8 g = MakeDark(src_px->r, src_px->g, src_px->b);
*dst = ComposeColourRGBA(g, g, g, src_px->a, *dst);
*anim = 0;
}
} else {
uint r = remap[GB(m, 0, 8)];
*anim = 0;
if (r != 0) *dst = ComposeColourPANoCheck(this->AdjustBrightness(this->LookupColourInPalette(r), GB(m, 8, 8)), src_px->a, *dst);
}
anim++;
dst++;
src_px++;
src_n++;
} while (--n != 0);
}
break;
case BM_TRANSPARENT:
/* TODO -- We make an assumption here that the remap in fact is transparency, not some colour.
* This is never a problem with the code we produce, but newgrfs can make it fail... or at least:
@@ -208,6 +248,7 @@ void Blitter_32bppAnim::Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomL
case BM_NORMAL: Draw<BM_NORMAL> (bp, zoom); return;
case BM_COLOUR_REMAP: Draw<BM_COLOUR_REMAP>(bp, zoom); return;
case BM_TRANSPARENT: Draw<BM_TRANSPARENT> (bp, zoom); return;
case BM_CRASH_REMAP: Draw<BM_CRASH_REMAP> (bp, zoom); return;
}
}
@@ -439,7 +480,7 @@ void Blitter_32bppAnim::PaletteAnimate(const Palette &palette)
}
/* Make sure the backend redraws the whole screen */
_video_driver->MakeDirty(0, 0, _screen.width, _screen.height);
VideoDriver::GetInstance()->MakeDirty(0, 0, _screen.width, _screen.height);
}
Blitter::PaletteAnimation Blitter_32bppAnim::UsePaletteAnimation()

View File

@@ -15,8 +15,8 @@
#include "32bpp_optimized.hpp"
/** The optimised 32 bpp blitter with palette animation. */
class Blitter_32bppAnim FINAL : public Blitter_32bppOptimized {
private:
class Blitter_32bppAnim : public Blitter_32bppOptimized {
protected:
uint16 *anim_buf; ///< In this buffer we keep track of the 8bpp indexes so we can do palette animation
int anim_buf_width; ///< The width of the animation buffer.
int anim_buf_height; ///< The height of the animation buffer.
@@ -56,10 +56,9 @@ public:
};
/** Factory for the 32bpp blitter with animation. */
class FBlitter_32bppAnim: public BlitterFactory<FBlitter_32bppAnim> {
class FBlitter_32bppAnim : public BlitterFactory {
public:
/* virtual */ const char *GetName() { return "32bpp-anim"; }
/* virtual */ const char *GetDescription() { return "32bpp Animation Blitter (palette animation)"; }
FBlitter_32bppAnim() : BlitterFactory("32bpp-anim", "32bpp Animation Blitter (palette animation)") {}
/* virtual */ Blitter *CreateInstance() { return new Blitter_32bppAnim(); }
};

View File

@@ -0,0 +1,399 @@
/* $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/>.
*/
/** @file 32bpp_sse4_anim.cpp Implementation of the SSE4 32 bpp blitter with animation support. */
#ifdef WITH_SSE
#include "../stdafx.h"
#include "../video/video_driver.hpp"
#include "../table/sprites.h"
#include "32bpp_anim_sse4.hpp"
#include "32bpp_sse_func.hpp"
/** Instantiation of the SSE4 32bpp blitter factory. */
static FBlitter_32bppSSE4_Anim iFBlitter_32bppSSE4_Anim;
/**
* Draws a sprite to a (screen) buffer. It is templated to allow faster operation.
*
* @tparam mode blitter mode
* @param bp further blitting parameters
* @param zoom zoom level at which we are drawing
*/
IGNORE_UNINITIALIZED_WARNING_START
template <BlitterMode mode, Blitter_32bppSSE2::ReadMode read_mode, Blitter_32bppSSE2::BlockType bt_last, bool translucent, bool animated>
inline void Blitter_32bppSSE4_Anim::Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom)
{
const byte * const remap = bp->remap;
Colour *dst_line = (Colour *) bp->dst + bp->top * bp->pitch + bp->left;
uint16 *anim_line = this->anim_buf + ((uint32 *)bp->dst - (uint32 *)_screen.dst_ptr) + bp->top * this->anim_buf_width + bp->left;
int effective_width = bp->width;
/* Find where to start reading in the source sprite. */
const Blitter_32bppSSE_Base::SpriteData * const sd = (const Blitter_32bppSSE_Base::SpriteData *) bp->sprite;
const SpriteInfo * const si = &sd->infos[zoom];
const MapValue *src_mv_line = (const MapValue *) &sd->data[si->mv_offset] + bp->skip_top * si->sprite_width;
const Colour *src_rgba_line = (const Colour *) ((const byte *) &sd->data[si->sprite_offset] + bp->skip_top * si->sprite_line_size);
if (read_mode != RM_WITH_MARGIN) {
src_rgba_line += bp->skip_left;
src_mv_line += bp->skip_left;
}
const MapValue *src_mv = src_mv_line;
/* Load these variables into register before loop. */
const __m128i a_cm = ALPHA_CONTROL_MASK;
const __m128i pack_low_cm = PACK_LOW_CONTROL_MASK;
const __m128i tr_nom_base = TRANSPARENT_NOM_BASE;
for (int y = bp->height; y != 0; y--) {
Colour *dst = dst_line;
const Colour *src = src_rgba_line + META_LENGTH;
if (mode != BM_TRANSPARENT) src_mv = src_mv_line;
uint16 *anim = anim_line;
if (read_mode == RM_WITH_MARGIN) {
assert(bt_last == BT_NONE); // or you must ensure block type is preserved
anim += src_rgba_line[0].data;
src += src_rgba_line[0].data;
dst += src_rgba_line[0].data;
if (mode != BM_TRANSPARENT) src_mv += src_rgba_line[0].data;
const int width_diff = si->sprite_width - bp->width;
effective_width = bp->width - (int) src_rgba_line[0].data;
const int delta_diff = (int) src_rgba_line[1].data - width_diff;
const int new_width = effective_width - delta_diff;
effective_width = delta_diff > 0 ? new_width : effective_width;
if (effective_width <= 0) goto next_line;
}
switch (mode) {
default:
if (!translucent) {
for (uint x = (uint) effective_width; x > 0; x--) {
if (src->a) {
if (animated) {
*anim = *(const uint16*) src_mv;
*dst = (src_mv->m >= PALETTE_ANIM_START) ? AdjustBrightneSSE(this->LookupColourInPalette(src_mv->m), src_mv->v) : src->data;
} else {
*anim = 0;
*dst = *src;
}
}
if (animated) src_mv++;
anim++;
src++;
dst++;
}
break;
}
for (uint x = (uint) effective_width/2; x != 0; x--) {
uint32 mvX2 = *((uint32 *) const_cast<MapValue *>(src_mv));
__m128i srcABCD = _mm_loadl_epi64((const __m128i*) src);
__m128i dstABCD = _mm_loadl_epi64((__m128i*) dst);
if (animated) {
/* Remap colours. */
const byte m0 = mvX2;
if (m0 >= PALETTE_ANIM_START) {
const Colour c0 = (this->LookupColourInPalette(m0).data & 0x00FFFFFF) | (src[0].data & 0xFF000000);
InsertFirstUint32(AdjustBrightneSSE(c0, (byte) (mvX2 >> 8)).data, srcABCD);
}
const byte m1 = mvX2 >> 16;
if (m1 >= PALETTE_ANIM_START) {
const Colour c1 = (this->LookupColourInPalette(m1).data & 0x00FFFFFF) | (src[1].data & 0xFF000000);
InsertSecondUint32(AdjustBrightneSSE(c1, (byte) (mvX2 >> 24)).data, srcABCD);
}
/* Update anim buffer. */
const byte a0 = src[0].a;
const byte a1 = src[1].a;
uint32 anim01 = 0;
if (a0 == 255) {
if (a1 == 255) {
*(uint32*) anim = mvX2;
goto bmno_full_opacity;
}
anim01 = (uint16) mvX2;
} else if (a0 == 0) {
if (a1 == 0) {
goto bmno_full_transparency;
} else {
if (a1 == 255) anim[1] = (uint16) (mvX2 >> 16);
goto bmno_alpha_blend;
}
}
if (a1 > 0) {
if (a1 == 255) anim01 |= mvX2 & 0xFFFF0000;
*(uint32*) anim = anim01;
} else {
anim[0] = (uint16) anim01;
}
} else {
if (src[0].a) anim[0] = 0;
if (src[1].a) anim[1] = 0;
}
/* Blend colours. */
bmno_alpha_blend:
srcABCD = AlphaBlendTwoPixels(srcABCD, dstABCD, a_cm, pack_low_cm);
bmno_full_opacity:
_mm_storel_epi64((__m128i *) dst, srcABCD);
bmno_full_transparency:
src_mv += 2;
src += 2;
anim += 2;
dst += 2;
}
if ((bt_last == BT_NONE && effective_width & 1) || bt_last == BT_ODD) {
if (src->a == 0) {
} else if (src->a == 255) {
*anim = *(const uint16*) src_mv;
*dst = (src_mv->m >= PALETTE_ANIM_START) ? AdjustBrightneSSE(LookupColourInPalette(src_mv->m), src_mv->v) : *src;
} else {
*anim = 0;
__m128i srcABCD;
__m128i dstABCD = _mm_cvtsi32_si128(dst->data);
if (src_mv->m >= PALETTE_ANIM_START) {
Colour colour = AdjustBrightneSSE(LookupColourInPalette(src_mv->m), src_mv->v);
colour.a = src->a;
srcABCD = _mm_cvtsi32_si128(colour.data);
} else {
srcABCD = _mm_cvtsi32_si128(src->data);
}
dst->data = _mm_cvtsi128_si32(AlphaBlendTwoPixels(srcABCD, dstABCD, a_cm, pack_low_cm));
}
}
break;
case BM_COLOUR_REMAP:
for (uint x = (uint) effective_width / 2; x != 0; x--) {
uint32 mvX2 = *((uint32 *) const_cast<MapValue *>(src_mv));
__m128i srcABCD = _mm_loadl_epi64((const __m128i*) src);
__m128i dstABCD = _mm_loadl_epi64((__m128i*) dst);
/* Remap colours. */
const uint m0 = (byte) mvX2;
const uint r0 = remap[m0];
const uint m1 = (byte) (mvX2 >> 16);
const uint r1 = remap[m1];
if (mvX2 & 0x00FF00FF) {
#define CMOV_REMAP(m_colour, m_colour_init, m_src, m_m) \
/* Written so the compiler uses CMOV. */ \
Colour m_colour = m_colour_init; \
{ \
const Colour srcm = (Colour) (m_src); \
const uint m = (byte) (m_m); \
const uint r = remap[m]; \
const Colour cmap = (this->LookupColourInPalette(r).data & 0x00FFFFFF) | (srcm.data & 0xFF000000); \
m_colour = r == 0 ? m_colour : cmap; \
m_colour = m != 0 ? m_colour : srcm; \
}
#ifdef _SQ64
uint64 srcs = _mm_cvtsi128_si64(srcABCD);
uint64 dsts;
if (animated) dsts = _mm_cvtsi128_si64(dstABCD);
uint64 remapped_src = 0;
CMOV_REMAP(c0, animated ? dsts : 0, srcs, mvX2);
remapped_src = c0.data;
CMOV_REMAP(c1, animated ? dsts >> 32 : 0, srcs >> 32, mvX2 >> 16);
remapped_src |= (uint64) c1.data << 32;
srcABCD = _mm_cvtsi64_si128(remapped_src);
#else
Colour remapped_src[2];
CMOV_REMAP(c0, animated ? _mm_cvtsi128_si32(dstABCD) : 0, _mm_cvtsi128_si32(srcABCD), mvX2);
remapped_src[0] = c0.data;
CMOV_REMAP(c1, animated ? dst[1] : 0, src[1], mvX2 >> 16);
remapped_src[1] = c1.data;
srcABCD = _mm_loadl_epi64((__m128i*) &remapped_src);
#endif
if ((mvX2 & 0xFF00FF00) != 0x80008000) srcABCD = AdjustBrightnessOfTwoPixels(srcABCD, mvX2);
}
/* Update anim buffer. */
if (animated) {
const byte a0 = src[0].a;
const byte a1 = src[1].a;
uint32 anim01 = mvX2 & 0xFF00FF00;
if (a0 == 255) {
anim01 |= r0;
if (a1 == 255) {
*(uint32*) anim = anim01 | (r1 << 16);
goto bmcr_full_opacity;
}
} else if (a0 == 0) {
if (a1 == 0) {
goto bmcr_full_transparency;
} else {
if (a1 == 255) {
anim[1] = r1 | (anim01 >> 16);
}
goto bmcr_alpha_blend;
}
}
if (a1 > 0) {
if (a1 == 255) anim01 |= r1 << 16;
*(uint32*) anim = anim01;
} else {
anim[0] = (uint16) anim01;
}
} else {
if (src[0].a) anim[0] = 0;
if (src[1].a) anim[1] = 0;
}
/* Blend colours. */
bmcr_alpha_blend:
srcABCD = AlphaBlendTwoPixels(srcABCD, dstABCD, a_cm, pack_low_cm);
bmcr_full_opacity:
_mm_storel_epi64((__m128i *) dst, srcABCD);
bmcr_full_transparency:
src_mv += 2;
dst += 2;
src += 2;
anim += 2;
}
if ((bt_last == BT_NONE && effective_width & 1) || bt_last == BT_ODD) {
/* In case the m-channel is zero, do not remap this pixel in any way. */
__m128i srcABCD;
if (src->a == 0) break;
if (src_mv->m) {
const uint r = remap[src_mv->m];
*anim = (animated && src->a == 255) ? r | ((uint16) src_mv->v << 8 ) : 0;
if (r != 0) {
Colour remapped_colour = AdjustBrightneSSE(this->LookupColourInPalette(r), src_mv->v);
if (src->a == 255) {
*dst = remapped_colour;
} else {
remapped_colour.a = src->a;
srcABCD = _mm_cvtsi32_si128(remapped_colour.data);
goto bmcr_alpha_blend_single;
}
}
} else {
*anim = 0;
srcABCD = _mm_cvtsi32_si128(src->data);
if (src->a < 255) {
bmcr_alpha_blend_single:
__m128i dstABCD = _mm_cvtsi32_si128(dst->data);
srcABCD = AlphaBlendTwoPixels(srcABCD, dstABCD, a_cm, pack_low_cm);
}
dst->data = _mm_cvtsi128_si32(srcABCD);
}
}
break;
case BM_TRANSPARENT:
/* Make the current colour a bit more black, so it looks like this image is transparent. */
for (uint x = (uint) bp->width / 2; x > 0; x--) {
__m128i srcABCD = _mm_loadl_epi64((const __m128i*) src);
__m128i dstABCD = _mm_loadl_epi64((__m128i*) dst);
_mm_storel_epi64((__m128i *) dst, DarkenTwoPixels(srcABCD, dstABCD, a_cm, tr_nom_base));
src += 2;
dst += 2;
anim += 2;
if (src[-2].a) anim[-2] = 0;
if (src[-1].a) anim[-1] = 0;
}
if ((bt_last == BT_NONE && bp->width & 1) || bt_last == BT_ODD) {
__m128i srcABCD = _mm_cvtsi32_si128(src->data);
__m128i dstABCD = _mm_cvtsi32_si128(dst->data);
dst->data = _mm_cvtsi128_si32(DarkenTwoPixels(srcABCD, dstABCD, a_cm, tr_nom_base));
if (src[0].a) anim[0] = 0;
}
break;
case BM_CRASH_REMAP:
for (uint x = (uint) bp->width; x > 0; x--) {
if (src_mv->m == 0) {
if (src->a != 0) {
uint8 g = MakeDark(src->r, src->g, src->b);
*dst = ComposeColourRGBA(g, g, g, src->a, *dst);
*anim = 0;
}
} else {
uint r = remap[src_mv->m];
if (r != 0) *dst = ComposeColourPANoCheck(this->AdjustBrightness(this->LookupColourInPalette(r), src_mv->v), src->a, *dst);
}
src_mv++;
dst++;
src++;
anim++;
}
break;
}
next_line:
if (mode != BM_TRANSPARENT) src_mv_line += si->sprite_width;
src_rgba_line = (const Colour*) ((const byte*) src_rgba_line + si->sprite_line_size);
dst_line += bp->pitch;
anim_line += this->anim_buf_width;
}
}
IGNORE_UNINITIALIZED_WARNING_STOP
/**
* Draws a sprite to a (screen) buffer. Calls adequate templated function.
*
* @param bp further blitting parameters
* @param mode blitter mode
* @param zoom zoom level at which we are drawing
*/
void Blitter_32bppSSE4_Anim::Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom)
{
const Blitter_32bppSSE_Base::SpriteFlags sprite_flags = ((const Blitter_32bppSSE_Base::SpriteData *) bp->sprite)->flags;
switch (mode) {
default: {
bm_normal:
if (bp->skip_left != 0 || bp->width <= MARGIN_NORMAL_THRESHOLD) {
const BlockType bt_last = (BlockType) (bp->width & 1);
if (bt_last == BT_EVEN) {
if (sprite_flags & SF_NO_ANIM) Draw<BM_NORMAL, RM_WITH_SKIP, BT_EVEN, true, false>(bp, zoom);
else Draw<BM_NORMAL, RM_WITH_SKIP, BT_EVEN, true, true>(bp, zoom);
} else {
if (sprite_flags & SF_NO_ANIM) Draw<BM_NORMAL, RM_WITH_SKIP, BT_ODD, true, false>(bp, zoom);
else Draw<BM_NORMAL, RM_WITH_SKIP, BT_ODD, true, true>(bp, zoom);
}
} else {
#ifdef _SQ64
if (sprite_flags & SF_TRANSLUCENT) {
if (sprite_flags & SF_NO_ANIM) Draw<BM_NORMAL, RM_WITH_MARGIN, BT_NONE, true, false>(bp, zoom);
else Draw<BM_NORMAL, RM_WITH_MARGIN, BT_NONE, true, true>(bp, zoom);
} else {
if (sprite_flags & SF_NO_ANIM) Draw<BM_NORMAL, RM_WITH_MARGIN, BT_NONE, false, false>(bp, zoom);
else Draw<BM_NORMAL, RM_WITH_MARGIN, BT_NONE, false, true>(bp, zoom);
}
#else
if (sprite_flags & SF_NO_ANIM) Draw<BM_NORMAL, RM_WITH_MARGIN, BT_NONE, true, false>(bp, zoom);
else Draw<BM_NORMAL, RM_WITH_MARGIN, BT_NONE, true, true>(bp, zoom);
#endif
}
break;
}
case BM_COLOUR_REMAP:
if (sprite_flags & SF_NO_REMAP) goto bm_normal;
if (bp->skip_left != 0 || bp->width <= MARGIN_REMAP_THRESHOLD) {
if (sprite_flags & SF_NO_ANIM) Draw<BM_COLOUR_REMAP, RM_WITH_SKIP, BT_NONE, true, false>(bp, zoom);
else Draw<BM_COLOUR_REMAP, RM_WITH_SKIP, BT_NONE, true, true>(bp, zoom);
} else {
if (sprite_flags & SF_NO_ANIM) Draw<BM_COLOUR_REMAP, RM_WITH_MARGIN, BT_NONE, true, false>(bp, zoom);
else Draw<BM_COLOUR_REMAP, RM_WITH_MARGIN, BT_NONE, true, true>(bp, zoom);
}
break;
case BM_TRANSPARENT: Draw<BM_TRANSPARENT, RM_NONE, BT_NONE, true, true>(bp, zoom); return;
case BM_CRASH_REMAP: Draw<BM_CRASH_REMAP, RM_NONE, BT_NONE, true, true>(bp, zoom); return;
}
}
#endif /* WITH_SSE */

View File

@@ -0,0 +1,53 @@
/* $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/>.
*/
/** @file 32bpp_sse4_anim.hpp A SSE4 32 bpp blitter with animation support. */
#ifndef BLITTER_32BPP_SSE4_ANIM_HPP
#define BLITTER_32BPP_SSE4_ANIM_HPP
#ifdef WITH_SSE
#ifndef SSE_VERSION
#define SSE_VERSION 4
#endif
#ifndef FULL_ANIMATION
#define FULL_ANIMATION 1
#endif
#include "32bpp_anim.hpp"
#include "32bpp_sse4.hpp"
#undef MARGIN_NORMAL_THRESHOLD
#define MARGIN_NORMAL_THRESHOLD 4
/** The SSE4 32 bpp blitter with palette animation. */
class Blitter_32bppSSE4_Anim FINAL : public Blitter_32bppAnim, public Blitter_32bppSSE_Base {
private:
public:
template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last, bool translucent, bool animated>
/* virtual */ void Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom);
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
/* virtual */ Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) {
return Blitter_32bppSSE_Base::Encode(sprite, allocator);
}
/* virtual */ const char *GetName() { return "32bpp-sse4-anim"; }
};
/** Factory for the SSE4 32 bpp blitter (with palette animation). */
class FBlitter_32bppSSE4_Anim: public BlitterFactory {
public:
FBlitter_32bppSSE4_Anim() : BlitterFactory("32bpp-sse4-anim", "SSE4 Blitter (palette animation)", HasCPUIDFlag(1, 2, 19)) {}
/* virtual */ Blitter *CreateInstance() { return new Blitter_32bppSSE4_Anim(); }
};
#endif /* WITH_SSE */
#endif /* BLITTER_32BPP_SSE4_ANIM_HPP */

View File

@@ -112,6 +112,19 @@ public:
return Colour(r * nom / denom, g * nom / denom, b * nom / denom);
}
/**
* Make a colour dark grey, for specialized 32bpp remapping.
* @param r red component
* @param g green component
* @param b blue component
* @return the brightness value of the new colour, now dark grey.
*/
static inline uint8 MakeDark(uint8 r, uint8 g, uint8 b)
{
/* Magic-numbers are ~66% of those used in MakeGrey() */
return ((r * 13063) + (g * 25647) + (b * 4981)) / 65536;
}
/**
* Make a colour grey - based.
* @param colour the colour to make grey.

View File

@@ -141,6 +141,40 @@ inline void Blitter_32bppOptimized::Draw(const Blitter::BlitterParams *bp, ZoomL
}
break;
case BM_CRASH_REMAP:
if (src_px->a == 255) {
do {
uint m = *src_n;
if (m == 0) {
uint8 g = MakeDark(src_px->r, src_px->g, src_px->b);
*dst = ComposeColourRGBA(g, g, g, src_px->a, *dst);
} else {
uint r = remap[GB(m, 0, 8)];
if (r != 0) *dst = this->AdjustBrightness(this->LookupColourInPalette(r), GB(m, 8, 8));
}
dst++;
src_px++;
src_n++;
} while (--n != 0);
} else {
do {
uint m = *src_n;
if (m == 0) {
if (src_px->a != 0) {
uint8 g = MakeDark(src_px->r, src_px->g, src_px->b);
*dst = ComposeColourRGBA(g, g, g, src_px->a, *dst);
}
} else {
uint r = remap[GB(m, 0, 8)];
if (r != 0) *dst = ComposeColourPANoCheck(this->AdjustBrightness(this->LookupColourInPalette(r), GB(m, 8, 8)), src_px->a, *dst);
}
dst++;
src_px++;
src_n++;
} while (--n != 0);
}
break;
case BM_TRANSPARENT:
/* TODO -- We make an assumption here that the remap in fact is transparency, not some colour.
* This is never a problem with the code we produce, but newgrfs can make it fail... or at least:
@@ -204,10 +238,11 @@ void Blitter_32bppOptimized::Draw(Blitter::BlitterParams *bp, BlitterMode mode,
case BM_NORMAL: Draw<BM_NORMAL> (bp, zoom); return;
case BM_COLOUR_REMAP: Draw<BM_COLOUR_REMAP>(bp, zoom); return;
case BM_TRANSPARENT: Draw<BM_TRANSPARENT> (bp, zoom); return;
case BM_CRASH_REMAP: Draw<BM_CRASH_REMAP> (bp, zoom); return;
}
}
Sprite *Blitter_32bppOptimized::Encode(SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
Sprite *Blitter_32bppOptimized::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
{
/* streams of pixels (a, r, g, b channels)
*

View File

@@ -24,7 +24,7 @@ public:
};
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
/* virtual */ Sprite *Encode(SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
/* virtual */ Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
/* virtual */ const char *GetName() { return "32bpp-optimized"; }
@@ -32,10 +32,9 @@ public:
};
/** Factory for the optimised 32 bpp blitter (without palette animation). */
class FBlitter_32bppOptimized: public BlitterFactory<FBlitter_32bppOptimized> {
class FBlitter_32bppOptimized : public BlitterFactory {
public:
/* virtual */ const char *GetName() { return "32bpp-optimized"; }
/* virtual */ const char *GetDescription() { return "32bpp Optimized Blitter (no palette animation)"; }
FBlitter_32bppOptimized() : BlitterFactory("32bpp-optimized", "32bpp Optimized Blitter (no palette animation)") {}
/* virtual */ Blitter *CreateInstance() { return new Blitter_32bppOptimized(); }
};

View File

@@ -45,6 +45,17 @@ void Blitter_32bppSimple::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Zoo
}
break;
case BM_CRASH_REMAP:
if (src->m == 0) {
if (src->a != 0) {
uint8 g = MakeDark(src->r, src->g, src->b);
*dst = ComposeColourRGBA(g, g, g, src->a, *dst);
}
} else {
if (bp->remap[src->m] != 0) *dst = ComposeColourPA(this->AdjustBrightness(this->LookupColourInPalette(bp->remap[src->m]), src->v), src->a, *dst);
}
break;
case BM_TRANSPARENT:
/* TODO -- We make an assumption here that the remap in fact is transparency, not some colour.
* This is never a problem with the code we produce, but newgrfs can make it fail... or at least:
@@ -92,10 +103,10 @@ void Blitter_32bppSimple::DrawColourMappingRect(void *dst, int width, int height
DEBUG(misc, 0, "32bpp blitter doesn't know how to draw this colour table ('%d')", pal);
}
Sprite *Blitter_32bppSimple::Encode(SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
Sprite *Blitter_32bppSimple::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
{
Blitter_32bppSimple::Pixel *dst;
Sprite *dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite) + sprite->height * sprite->width * sizeof(*dst));
Sprite *dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite) + (size_t)sprite->height * (size_t)sprite->width * sizeof(*dst));
dest_sprite->height = sprite->height;
dest_sprite->width = sprite->width;

View File

@@ -28,16 +28,15 @@ class Blitter_32bppSimple : public Blitter_32bppBase {
public:
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
/* virtual */ void DrawColourMappingRect(void *dst, int width, int height, PaletteID pal);
/* virtual */ Sprite *Encode(SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
/* virtual */ Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
/* virtual */ const char *GetName() { return "32bpp-simple"; }
};
/** Factory for the simple 32 bpp blitter. */
class FBlitter_32bppSimple: public BlitterFactory<FBlitter_32bppSimple> {
class FBlitter_32bppSimple : public BlitterFactory {
public:
/* virtual */ const char *GetName() { return "32bpp-simple"; }
/* virtual */ const char *GetDescription() { return "32bpp Simple Blitter (no palette animation)"; }
FBlitter_32bppSimple() : BlitterFactory("32bpp-simple", "32bpp Simple Blitter (no palette animation)") {}
/* virtual */ Blitter *CreateInstance() { return new Blitter_32bppSimple(); }
};

141
src/blitter/32bpp_sse2.cpp Normal file
View File

@@ -0,0 +1,141 @@
/* $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/>.
*/
/** @file 32bpp_sse2.cpp Implementation of the SSE2 32 bpp blitter. */
#ifdef WITH_SSE
#include "../stdafx.h"
#include "../zoom_func.h"
#include "../settings_type.h"
#include "32bpp_sse2.hpp"
#include "32bpp_sse_func.hpp"
/** Instantiation of the SSE2 32bpp blitter factory. */
static FBlitter_32bppSSE2 iFBlitter_32bppSSE2;
Sprite *Blitter_32bppSSE_Base::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
{
/* First uint32 of a line = the number of transparent pixels from the left.
* Second uint32 of a line = the number of transparent pixels from the right.
* Then all RGBA then all MV.
*/
ZoomLevel zoom_min = ZOOM_LVL_NORMAL;
ZoomLevel zoom_max = ZOOM_LVL_NORMAL;
if (sprite->type != ST_FONT) {
zoom_min = _settings_client.gui.zoom_min;
zoom_max = _settings_client.gui.zoom_max;
if (zoom_max == zoom_min) zoom_max = ZOOM_LVL_MAX;
}
/* Calculate sizes and allocate. */
SpriteData sd;
memset(&sd, 0, sizeof(sd));
uint all_sprites_size = 0;
for (ZoomLevel z = zoom_min; z <= zoom_max; z++) {
const SpriteLoader::Sprite *src_sprite = &sprite[z];
sd.infos[z].sprite_width = src_sprite->width;
sd.infos[z].sprite_offset = all_sprites_size;
sd.infos[z].sprite_line_size = sizeof(Colour) * src_sprite->width + sizeof(uint32) * META_LENGTH;
const uint rgba_size = sd.infos[z].sprite_line_size * src_sprite->height;
sd.infos[z].mv_offset = all_sprites_size + rgba_size;
const uint mv_size = sizeof(MapValue) * src_sprite->width * src_sprite->height;
all_sprites_size += rgba_size + mv_size;
}
Sprite *dst_sprite = (Sprite *) allocator(sizeof(Sprite) + sizeof(SpriteData) + all_sprites_size);
dst_sprite->height = sprite->height;
dst_sprite->width = sprite->width;
dst_sprite->x_offs = sprite->x_offs;
dst_sprite->y_offs = sprite->y_offs;
memcpy(dst_sprite->data, &sd, sizeof(SpriteData));
/* Copy colours and determine flags. */
bool has_remap = false;
bool has_anim = false;
bool has_translucency = false;
for (ZoomLevel z = zoom_min; z <= zoom_max; z++) {
const SpriteLoader::Sprite *src_sprite = &sprite[z];
const SpriteLoader::CommonPixel *src = (const SpriteLoader::CommonPixel *) src_sprite->data;
Colour *dst_rgba_line = (Colour *) &dst_sprite->data[sizeof(SpriteData) + sd.infos[z].sprite_offset];
MapValue *dst_mv = (MapValue *) &dst_sprite->data[sizeof(SpriteData) + sd.infos[z].mv_offset];
for (uint y = src_sprite->height; y != 0; y--) {
Colour *dst_rgba = dst_rgba_line + META_LENGTH;
for (uint x = src_sprite->width; x != 0; x--) {
if (src->a != 0) {
dst_rgba->a = src->a;
if (src->a != 0 && src->a != 255) has_translucency = true;
dst_mv->m = src->m;
if (src->m != 0) {
/* Do some accounting for flags. */
has_remap = true;
if (src->m >= PALETTE_ANIM_START) has_anim = true;
/* Get brightest value (or default brightness if it's a black pixel). */
const uint8 rgb_max = max(src->r, max(src->g, src->b));
dst_mv->v = (rgb_max == 0) ? Blitter_32bppBase::DEFAULT_BRIGHTNESS : rgb_max;
/* Pre-convert the mapping channel to a RGB value. */
const Colour colour = AdjustBrightneSSE(Blitter_32bppBase::LookupColourInPalette(src->m), dst_mv->v);
dst_rgba->r = colour.r;
dst_rgba->g = colour.g;
dst_rgba->b = colour.b;
} else {
dst_rgba->r = src->r;
dst_rgba->g = src->g;
dst_rgba->b = src->b;
dst_mv->v = Blitter_32bppBase::DEFAULT_BRIGHTNESS;
}
} else {
dst_rgba->data = 0;
*(uint16*) dst_mv = 0;
}
dst_rgba++;
dst_mv++;
src++;
}
/* Count the number of transparent pixels from the left. */
dst_rgba = dst_rgba_line + META_LENGTH;
uint32 nb_pix_transp = 0;
for (uint x = src_sprite->width; x != 0; x--) {
if (dst_rgba->a == 0) nb_pix_transp++;
else break;
dst_rgba++;
}
(*dst_rgba_line).data = nb_pix_transp;
Colour *nb_right = dst_rgba_line + 1;
dst_rgba_line = (Colour*) ((byte*) dst_rgba_line + sd.infos[z].sprite_line_size);
/* Count the number of transparent pixels from the right. */
dst_rgba = dst_rgba_line - 1;
nb_pix_transp = 0;
for (uint x = src_sprite->width; x != 0; x--) {
if (dst_rgba->a == 0) nb_pix_transp++;
else break;
dst_rgba--;
}
(*nb_right).data = nb_pix_transp;
}
}
/* Store sprite flags. */
sd.flags = SF_NONE;
if (has_translucency) sd.flags |= SF_TRANSLUCENT;
if (!has_remap) sd.flags |= SF_NO_REMAP;
if (!has_anim) sd.flags |= SF_NO_ANIM;
memcpy(dst_sprite->data, &sd, sizeof(SpriteData));
return dst_sprite;
}
#endif /* WITH_SSE */

104
src/blitter/32bpp_sse2.hpp Normal file
View File

@@ -0,0 +1,104 @@
/* $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/>.
*/
/** @file 32bpp_sse2.hpp SSE2 32 bpp blitter. */
#ifndef BLITTER_32BPP_SSE2_HPP
#define BLITTER_32BPP_SSE2_HPP
#ifdef WITH_SSE
#ifndef SSE_VERSION
#define SSE_VERSION 2
#endif
#ifndef FULL_ANIMATION
#define FULL_ANIMATION 0
#endif
#include "32bpp_sse_type.h"
/** Base methods for 32bpp SSE blitters. */
class Blitter_32bppSSE_Base {
public:
virtual ~Blitter_32bppSSE_Base() {}
struct MapValue {
uint8 m;
uint8 v;
};
assert_compile(sizeof(MapValue) == 2);
/** Helper for creating specialised functions for specific optimisations. */
enum ReadMode {
RM_WITH_SKIP, ///< Use normal code for skipping empty pixels.
RM_WITH_MARGIN, ///< Use cached number of empty pixels at begin and end of line to reduce work.
RM_NONE, ///< No specialisation.
};
/** Helper for creating specialised functions for the case where the sprite width is odd or even. */
enum BlockType {
BT_EVEN, ///< An even number of pixels in the width; no need for a special case for the last pixel.
BT_ODD, ///< An odd number of pixels in the width; special case for the last pixel.
BT_NONE, ///< No specialisation for either case.
};
/** Helper for using specialised functions designed to prevent whenever it's possible things like:
* - IO (reading video buffer),
* - calculations (alpha blending),
* - heavy branching (remap lookups and animation buffer handling).
*/
enum SpriteFlags {
SF_NONE = 0,
SF_TRANSLUCENT = 1 << 1, ///< The sprite has at least 1 translucent pixel.
SF_NO_REMAP = 1 << 2, ///< The sprite has no remappable colour pixel.
SF_NO_ANIM = 1 << 3, ///< The sprite has no palette animated pixel.
};
/** Data stored about a (single) sprite. */
struct SpriteInfo {
uint32 sprite_offset; ///< The offset to the sprite data.
uint32 mv_offset; ///< The offset to the map value data.
uint16 sprite_line_size; ///< The size of a single line (pitch).
uint16 sprite_width; ///< The width of the sprite.
};
struct SpriteData {
SpriteFlags flags;
SpriteInfo infos[ZOOM_LVL_COUNT];
byte data[]; ///< Data, all zoomlevels.
};
Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
};
DECLARE_ENUM_AS_BIT_SET(Blitter_32bppSSE_Base::SpriteFlags);
/** The SSE2 32 bpp blitter (without palette animation). */
class Blitter_32bppSSE2 : public Blitter_32bppSimple, public Blitter_32bppSSE_Base {
public:
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last, bool translucent>
void Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom);
/* virtual */ Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) {
return Blitter_32bppSSE_Base::Encode(sprite, allocator);
}
/* virtual */ const char *GetName() { return "32bpp-sse2"; }
};
/** Factory for the SSE2 32 bpp blitter (without palette animation). */
class FBlitter_32bppSSE2 : public BlitterFactory {
public:
FBlitter_32bppSSE2() : BlitterFactory("32bpp-sse2", "32bpp SSE2 Blitter (no palette animation)", HasCPUIDFlag(1, 3, 26)) {}
/* virtual */ Blitter *CreateInstance() { return new Blitter_32bppSSE2(); }
};
#endif /* WITH_SSE */
#endif /* BLITTER_32BPP_SSE2_HPP */

View File

@@ -0,0 +1,23 @@
/* $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/>.
*/
/** @file 32bpp_sse4.cpp Implementation of the SSE4 32 bpp blitter. */
#ifdef WITH_SSE
#include "../stdafx.h"
#include "../zoom_func.h"
#include "../settings_type.h"
#include "32bpp_sse4.hpp"
#include "32bpp_sse_func.hpp"
/** Instantiation of the SSE4 32bpp blitter factory. */
static FBlitter_32bppSSE4 iFBlitter_32bppSSE4;
#endif /* WITH_SSE */

View File

@@ -0,0 +1,44 @@
/* $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/>.
*/
/** @file 32bpp_sse4.hpp SSE4 32 bpp blitter. */
#ifndef BLITTER_32BPP_SSE4_HPP
#define BLITTER_32BPP_SSE4_HPP
#ifdef WITH_SSE
#ifndef SSE_VERSION
#define SSE_VERSION 4
#endif
#ifndef FULL_ANIMATION
#define FULL_ANIMATION 0
#endif
#include "32bpp_ssse3.hpp"
/** The SSE4 32 bpp blitter (without palette animation). */
class Blitter_32bppSSE4 : public Blitter_32bppSSSE3 {
public:
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last, bool translucent>
void Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom);
/* virtual */ const char *GetName() { return "32bpp-sse4"; }
};
/** Factory for the SSE4 32 bpp blitter (without palette animation). */
class FBlitter_32bppSSE4: public BlitterFactory {
public:
FBlitter_32bppSSE4() : BlitterFactory("32bpp-sse4", "32bpp SSE4 Blitter (no palette animation)", HasCPUIDFlag(1, 2, 19)) {}
/* virtual */ Blitter *CreateInstance() { return new Blitter_32bppSSE4(); }
};
#endif /* WITH_SSE */
#endif /* BLITTER_32BPP_SSE4_HPP */

View File

@@ -0,0 +1,455 @@
/* $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/>.
*/
/** @file 32bpp_sse_func.hpp Functions related to SSE 32 bpp blitter. */
#ifndef BLITTER_32BPP_SSE_FUNC_HPP
#define BLITTER_32BPP_SSE_FUNC_HPP
#ifdef WITH_SSE
static inline void InsertFirstUint32(const uint32 value, __m128i &into)
{
#if (SSE_VERSION >= 4)
into = _mm_insert_epi32(into, value, 0);
#else
into = _mm_insert_epi16(into, value, 0);
into = _mm_insert_epi16(into, value >> 16, 1);
#endif
}
static inline void InsertSecondUint32(const uint32 value, __m128i &into)
{
#if (SSE_VERSION >= 4)
into = _mm_insert_epi32(into, value, 1);
#else
into = _mm_insert_epi16(into, value, 2);
into = _mm_insert_epi16(into, value >> 16, 3);
#endif
}
static inline void LoadUint64(const uint64 value, __m128i &into)
{
#ifdef _SQ64
into = _mm_cvtsi64_si128(value);
#else
#if (SSE_VERSION >= 4)
into = _mm_cvtsi32_si128(value);
InsertSecondUint32(value >> 32, into);
#else
(*(um128i*) &into).m128i_u64[0] = value;
#endif
#endif
}
static inline __m128i PackUnsaturated(__m128i from, const __m128i &mask)
{
#if (SSE_VERSION == 2)
from = _mm_and_si128(from, mask); // PAND, wipe high bytes to keep low bytes when packing
return _mm_packus_epi16(from, from); // PACKUSWB, pack 2 colours (with saturation)
#else
return _mm_shuffle_epi8(from, mask);
#endif
}
static inline __m128i DistributeAlpha(const __m128i from, const __m128i &mask)
{
#if (SSE_VERSION == 2)
__m128i alphaAB = _mm_shufflelo_epi16(from, 0x3F); // PSHUFLW, put alpha1 in front of each rgb1
return _mm_shufflehi_epi16(alphaAB, 0x3F); // PSHUFHW, put alpha2 in front of each rgb2
#else
return _mm_shuffle_epi8(from, mask);
#endif
}
static inline __m128i AlphaBlendTwoPixels(__m128i src, __m128i dst, const __m128i &distribution_mask, const __m128i &pack_mask)
{
__m128i srcAB = _mm_unpacklo_epi8(src, _mm_setzero_si128()); // PUNPCKLBW, expand each uint8 into uint16
__m128i dstAB = _mm_unpacklo_epi8(dst, _mm_setzero_si128());
__m128i alphaAB = _mm_cmpgt_epi16(srcAB, _mm_setzero_si128()); // PCMPGTW, if (alpha > 0) a++;
alphaAB = _mm_srli_epi16(alphaAB, 15);
alphaAB = _mm_add_epi16(alphaAB, srcAB);
alphaAB = DistributeAlpha(alphaAB, distribution_mask);
srcAB = _mm_sub_epi16(srcAB, dstAB); // PSUBW, (r - Cr)
srcAB = _mm_mullo_epi16(srcAB, alphaAB); // PMULLW, a*(r - Cr)
srcAB = _mm_srli_epi16(srcAB, 8); // PSRLW, a*(r - Cr)/256
srcAB = _mm_add_epi16(srcAB, dstAB); // PADDW, a*(r - Cr)/256 + Cr
return PackUnsaturated(srcAB, pack_mask);
}
/* Darken 2 pixels.
* rgb = rgb * ((256/4) * 4 - (alpha/4)) / ((256/4) * 4)
*/
static inline __m128i DarkenTwoPixels(__m128i src, __m128i dst, const __m128i &distribution_mask, const __m128i &tr_nom_base)
{
__m128i srcAB = _mm_unpacklo_epi8(src, _mm_setzero_si128());
__m128i dstAB = _mm_unpacklo_epi8(dst, _mm_setzero_si128());
__m128i alphaAB = DistributeAlpha(srcAB, distribution_mask);
alphaAB = _mm_srli_epi16(alphaAB, 2); // Reduce to 64 levels of shades so the max value fits in 16 bits.
__m128i nom = _mm_sub_epi16(tr_nom_base, alphaAB);
dstAB = _mm_mullo_epi16(dstAB, nom);
dstAB = _mm_srli_epi16(dstAB, 8);
return _mm_packus_epi16(dstAB, dstAB);
}
IGNORE_UNINITIALIZED_WARNING_START
static Colour ReallyAdjustBrightness(Colour colour, uint8 brightness)
{
uint64 c16 = colour.b | (uint64) colour.g << 16 | (uint64) colour.r << 32;
c16 *= brightness;
uint64 c16_ob = c16; // Helps out of order execution.
c16 /= Blitter_32bppBase::DEFAULT_BRIGHTNESS;
c16 &= 0x01FF01FF01FFULL;
/* Sum overbright (maximum for each rgb is 508, 9 bits, -255 is changed in -256 so we just have to take the 8 lower bits into account). */
c16_ob = (((c16_ob >> (8 + 7)) & 0x0100010001ULL) * 0xFF) & c16;
const uint ob = ((uint16) c16_ob + (uint16) (c16_ob >> 16) + (uint16) (c16_ob >> 32)) / 2;
const uint32 alpha32 = colour.data & 0xFF000000;
__m128i ret;
LoadUint64(c16, ret);
if (ob != 0) {
__m128i ob128 = _mm_cvtsi32_si128(ob);
ob128 = _mm_shufflelo_epi16(ob128, 0xC0);
__m128i white = OVERBRIGHT_VALUE_MASK;
__m128i c128 = ret;
ret = _mm_subs_epu16(white, c128); // PSUBUSW, (255 - rgb)
ret = _mm_mullo_epi16(ret, ob128); // PMULLW, ob*(255 - rgb)
ret = _mm_srli_epi16(ret, 8); // PSRLW, ob*(255 - rgb)/256
ret = _mm_add_epi16(ret, c128); // PADDW, ob*(255 - rgb)/256 + rgb
}
ret = _mm_packus_epi16(ret, ret); // PACKUSWB, saturate and pack.
return alpha32 | _mm_cvtsi128_si32(ret);
}
IGNORE_UNINITIALIZED_WARNING_STOP
/** ReallyAdjustBrightness() is not called that often.
* Inlining this function implies a far jump, which has a huge latency.
*/
static inline Colour AdjustBrightneSSE(Colour colour, uint8 brightness)
{
/* Shortcut for normal brightness. */
if (brightness == Blitter_32bppBase::DEFAULT_BRIGHTNESS) return colour;
return ReallyAdjustBrightness(colour, brightness);
}
static inline __m128i AdjustBrightnessOfTwoPixels(__m128i from, uint32 brightness)
{
#if (SSE_VERSION < 3)
NOT_REACHED();
#else
/* The following dataflow differs from the one of AdjustBrightness() only for alpha.
* In order to keep alpha in colAB, insert a 1 in a unused brightness byte (a*1->a).
* OK, not a 1 but DEFAULT_BRIGHTNESS to compensate the div.
*/
brightness &= 0xFF00FF00;
brightness += Blitter_32bppBase::DEFAULT_BRIGHTNESS;
__m128i colAB = _mm_unpacklo_epi8(from, _mm_setzero_si128());
__m128i briAB = _mm_cvtsi32_si128(brightness);
briAB = _mm_shuffle_epi8(briAB, BRIGHTNESS_LOW_CONTROL_MASK); // DEFAULT_BRIGHTNESS in 0, 0x00 in 2.
colAB = _mm_mullo_epi16(colAB, briAB);
__m128i colAB_ob = _mm_srli_epi16(colAB, 8+7);
colAB = _mm_srli_epi16(colAB, 7);
/* Sum overbright.
* Maximum for each rgb is 508 => 9 bits. The highest bit tells if there is overbright.
* -255 is changed in -256 so we just have to take the 8 lower bits into account.
*/
colAB = _mm_and_si128(colAB, BRIGHTNESS_DIV_CLEANER);
colAB_ob = _mm_and_si128(colAB_ob, OVERBRIGHT_PRESENCE_MASK);
colAB_ob = _mm_mullo_epi16(colAB_ob, OVERBRIGHT_VALUE_MASK);
colAB_ob = _mm_and_si128(colAB_ob, colAB);
__m128i obAB = _mm_hadd_epi16(_mm_hadd_epi16(colAB_ob, _mm_setzero_si128()), _mm_setzero_si128());
obAB = _mm_srli_epi16(obAB, 1); // Reduce overbright strength.
obAB = _mm_shuffle_epi8(obAB, OVERBRIGHT_CONTROL_MASK);
__m128i retAB = OVERBRIGHT_VALUE_MASK; // ob_mask is equal to white.
retAB = _mm_subs_epu16(retAB, colAB); // (255 - rgb)
retAB = _mm_mullo_epi16(retAB, obAB); // ob*(255 - rgb)
retAB = _mm_srli_epi16(retAB, 8); // ob*(255 - rgb)/256
retAB = _mm_add_epi16(retAB, colAB); // ob*(255 - rgb)/256 + rgb
return _mm_packus_epi16(retAB, retAB);
#endif
}
#if FULL_ANIMATION == 0
/**
* Draws a sprite to a (screen) buffer. It is templated to allow faster operation.
*
* @tparam mode blitter mode
* @param bp further blitting parameters
* @param zoom zoom level at which we are drawing
*/
IGNORE_UNINITIALIZED_WARNING_START
template <BlitterMode mode, Blitter_32bppSSE2::ReadMode read_mode, Blitter_32bppSSE2::BlockType bt_last, bool translucent>
#if (SSE_VERSION == 2)
inline void Blitter_32bppSSE2::Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom)
#elif (SSE_VERSION == 3)
inline void Blitter_32bppSSSE3::Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom)
#elif (SSE_VERSION == 4)
inline void Blitter_32bppSSE4::Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom)
#endif
{
const byte * const remap = bp->remap;
Colour *dst_line = (Colour *) bp->dst + bp->top * bp->pitch + bp->left;
int effective_width = bp->width;
/* Find where to start reading in the source sprite. */
const SpriteData * const sd = (const SpriteData *) bp->sprite;
const SpriteInfo * const si = &sd->infos[zoom];
const MapValue *src_mv_line = (const MapValue *) &sd->data[si->mv_offset] + bp->skip_top * si->sprite_width;
const Colour *src_rgba_line = (const Colour *) ((const byte *) &sd->data[si->sprite_offset] + bp->skip_top * si->sprite_line_size);
if (read_mode != RM_WITH_MARGIN) {
src_rgba_line += bp->skip_left;
src_mv_line += bp->skip_left;
}
const MapValue *src_mv = src_mv_line;
/* Load these variables into register before loop. */
#if (SSE_VERSION == 2)
const __m128i clear_hi = CLEAR_HIGH_BYTE_MASK;
#define ALPHA_BLEND_PARAM_1 clear_hi
#define ALPHA_BLEND_PARAM_2 clear_hi
#define DARKEN_PARAM_1 tr_nom_base
#define DARKEN_PARAM_2 tr_nom_base
#else
const __m128i a_cm = ALPHA_CONTROL_MASK;
const __m128i pack_low_cm = PACK_LOW_CONTROL_MASK;
#define ALPHA_BLEND_PARAM_1 a_cm
#define ALPHA_BLEND_PARAM_2 pack_low_cm
#define DARKEN_PARAM_1 a_cm
#define DARKEN_PARAM_2 tr_nom_base
#endif
const __m128i tr_nom_base = TRANSPARENT_NOM_BASE;
for (int y = bp->height; y != 0; y--) {
Colour *dst = dst_line;
const Colour *src = src_rgba_line + META_LENGTH;
if (mode == BM_COLOUR_REMAP || mode == BM_CRASH_REMAP) src_mv = src_mv_line;
if (read_mode == RM_WITH_MARGIN) {
assert(bt_last == BT_NONE); // or you must ensure block type is preserved
src += src_rgba_line[0].data;
dst += src_rgba_line[0].data;
if (mode == BM_COLOUR_REMAP || mode == BM_CRASH_REMAP) src_mv += src_rgba_line[0].data;
const int width_diff = si->sprite_width - bp->width;
effective_width = bp->width - (int) src_rgba_line[0].data;
const int delta_diff = (int) src_rgba_line[1].data - width_diff;
const int new_width = effective_width - delta_diff;
effective_width = delta_diff > 0 ? new_width : effective_width;
if (effective_width <= 0) goto next_line;
}
switch (mode) {
default:
if (!translucent) {
for (uint x = (uint) effective_width; x > 0; x--) {
if (src->a) *dst = *src;
src++;
dst++;
}
break;
}
for (uint x = (uint) effective_width / 2; x > 0; x--) {
__m128i srcABCD = _mm_loadl_epi64((const __m128i*) src);
__m128i dstABCD = _mm_loadl_epi64((__m128i*) dst);
_mm_storel_epi64((__m128i*) dst, AlphaBlendTwoPixels(srcABCD, dstABCD, ALPHA_BLEND_PARAM_1, ALPHA_BLEND_PARAM_2));
src += 2;
dst += 2;
}
if ((bt_last == BT_NONE && effective_width & 1) || bt_last == BT_ODD) {
__m128i srcABCD = _mm_cvtsi32_si128(src->data);
__m128i dstABCD = _mm_cvtsi32_si128(dst->data);
dst->data = _mm_cvtsi128_si32(AlphaBlendTwoPixels(srcABCD, dstABCD, ALPHA_BLEND_PARAM_1, ALPHA_BLEND_PARAM_2));
}
break;
case BM_COLOUR_REMAP:
#if (SSE_VERSION >= 3)
for (uint x = (uint) effective_width / 2; x > 0; x--) {
__m128i srcABCD = _mm_loadl_epi64((const __m128i*) src);
__m128i dstABCD = _mm_loadl_epi64((__m128i*) dst);
uint32 mvX2 = *((uint32 *) const_cast<MapValue *>(src_mv));
/* Remap colours. */
if (mvX2 & 0x00FF00FF) {
#define CMOV_REMAP(m_colour, m_colour_init, m_src, m_m) \
/* Written so the compiler uses CMOV. */ \
Colour m_colour = m_colour_init; \
{ \
const Colour srcm = (Colour) (m_src); \
const uint m = (byte) (m_m); \
const uint r = remap[m]; \
const Colour cmap = (this->LookupColourInPalette(r).data & 0x00FFFFFF) | (srcm.data & 0xFF000000); \
m_colour = r == 0 ? m_colour : cmap; \
m_colour = m != 0 ? m_colour : srcm; \
}
#ifdef _SQ64
uint64 srcs = _mm_cvtsi128_si64(srcABCD);
uint64 remapped_src = 0;
CMOV_REMAP(c0, 0, srcs, mvX2);
remapped_src = c0.data;
CMOV_REMAP(c1, 0, srcs >> 32, mvX2 >> 16);
remapped_src |= (uint64) c1.data << 32;
srcABCD = _mm_cvtsi64_si128(remapped_src);
#else
Colour remapped_src[2];
CMOV_REMAP(c0, 0, _mm_cvtsi128_si32(srcABCD), mvX2);
remapped_src[0] = c0.data;
CMOV_REMAP(c1, 0, src[1], mvX2 >> 16);
remapped_src[1] = c1.data;
srcABCD = _mm_loadl_epi64((__m128i*) &remapped_src);
#endif
if ((mvX2 & 0xFF00FF00) != 0x80008000) srcABCD = AdjustBrightnessOfTwoPixels(srcABCD, mvX2);
}
/* Blend colours. */
_mm_storel_epi64((__m128i *) dst, AlphaBlendTwoPixels(srcABCD, dstABCD, ALPHA_BLEND_PARAM_1, ALPHA_BLEND_PARAM_2));
dst += 2;
src += 2;
src_mv += 2;
}
if ((bt_last == BT_NONE && effective_width & 1) || bt_last == BT_ODD) {
#else
for (uint x = (uint) effective_width; x > 0; x--) {
#endif
/* In case the m-channel is zero, do not remap this pixel in any way. */
__m128i srcABCD;
if (src_mv->m) {
const uint r = remap[src_mv->m];
if (r != 0) {
Colour remapped_colour = AdjustBrightneSSE(this->LookupColourInPalette(r), src_mv->v);
if (src->a == 255) {
*dst = remapped_colour;
} else {
remapped_colour.a = src->a;
srcABCD = _mm_cvtsi32_si128(remapped_colour.data);
goto bmcr_alpha_blend_single;
}
}
} else {
srcABCD = _mm_cvtsi32_si128(src->data);
if (src->a < 255) {
bmcr_alpha_blend_single:
__m128i dstABCD = _mm_cvtsi32_si128(dst->data);
srcABCD = AlphaBlendTwoPixels(srcABCD, dstABCD, ALPHA_BLEND_PARAM_1, ALPHA_BLEND_PARAM_2);
}
dst->data = _mm_cvtsi128_si32(srcABCD);
}
#if (SSE_VERSION == 2)
src_mv++;
dst++;
src++;
#endif
}
break;
case BM_TRANSPARENT:
/* Make the current colour a bit more black, so it looks like this image is transparent. */
for (uint x = (uint) bp->width / 2; x > 0; x--) {
__m128i srcABCD = _mm_loadl_epi64((const __m128i*) src);
__m128i dstABCD = _mm_loadl_epi64((__m128i*) dst);
_mm_storel_epi64((__m128i *) dst, DarkenTwoPixels(srcABCD, dstABCD, DARKEN_PARAM_1, DARKEN_PARAM_2));
src += 2;
dst += 2;
}
if ((bt_last == BT_NONE && bp->width & 1) || bt_last == BT_ODD) {
__m128i srcABCD = _mm_cvtsi32_si128(src->data);
__m128i dstABCD = _mm_cvtsi32_si128(dst->data);
dst->data = _mm_cvtsi128_si32(DarkenTwoPixels(srcABCD, dstABCD, DARKEN_PARAM_1, DARKEN_PARAM_2));
}
break;
case BM_CRASH_REMAP:
for (uint x = (uint) bp->width; x > 0; x--) {
if (src_mv->m == 0) {
if (src->a != 0) {
uint8 g = MakeDark(src->r, src->g, src->b);
*dst = ComposeColourRGBA(g, g, g, src->a, *dst);
}
} else {
uint r = remap[src_mv->m];
if (r != 0) *dst = ComposeColourPANoCheck(this->AdjustBrightness(this->LookupColourInPalette(r), src_mv->v), src->a, *dst);
}
src_mv++;
dst++;
src++;
}
break;
}
next_line:
if (mode == BM_COLOUR_REMAP || mode == BM_CRASH_REMAP) src_mv_line += si->sprite_width;
src_rgba_line = (const Colour*) ((const byte*) src_rgba_line + si->sprite_line_size);
dst_line += bp->pitch;
}
}
IGNORE_UNINITIALIZED_WARNING_STOP
/**
* Draws a sprite to a (screen) buffer. Calls adequate templated function.
*
* @param bp further blitting parameters
* @param mode blitter mode
* @param zoom zoom level at which we are drawing
*/
#if (SSE_VERSION == 2)
void Blitter_32bppSSE2::Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom)
#elif (SSE_VERSION == 3)
void Blitter_32bppSSSE3::Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom)
#elif (SSE_VERSION == 4)
void Blitter_32bppSSE4::Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom)
#endif
{
switch (mode) {
default: {
if (bp->skip_left != 0 || bp->width <= MARGIN_NORMAL_THRESHOLD) {
bm_normal:
const BlockType bt_last = (BlockType) (bp->width & 1);
switch (bt_last) {
default: Draw<BM_NORMAL, RM_WITH_SKIP, BT_EVEN, true>(bp, zoom); return;
case BT_ODD: Draw<BM_NORMAL, RM_WITH_SKIP, BT_ODD, true>(bp, zoom); return;
}
} else {
if (((const Blitter_32bppSSE_Base::SpriteData *) bp->sprite)->flags & SF_TRANSLUCENT) {
Draw<BM_NORMAL, RM_WITH_MARGIN, BT_NONE, true>(bp, zoom);
} else {
Draw<BM_NORMAL, RM_WITH_MARGIN, BT_NONE, false>(bp, zoom);
}
return;
}
break;
}
case BM_COLOUR_REMAP:
if (((const Blitter_32bppSSE_Base::SpriteData *) bp->sprite)->flags & SF_NO_REMAP) goto bm_normal;
if (bp->skip_left != 0 || bp->width <= MARGIN_REMAP_THRESHOLD) {
Draw<BM_COLOUR_REMAP, RM_WITH_SKIP, BT_NONE, true>(bp, zoom); return;
} else {
Draw<BM_COLOUR_REMAP, RM_WITH_MARGIN, BT_NONE, true>(bp, zoom); return;
}
case BM_TRANSPARENT: Draw<BM_TRANSPARENT, RM_NONE, BT_NONE, true>(bp, zoom); return;
case BM_CRASH_REMAP: Draw<BM_CRASH_REMAP, RM_NONE, BT_NONE, true>(bp, zoom); return;
}
}
#endif /* FULL_ANIMATION */
#endif /* WITH_SSE */
#endif /* BLITTER_32BPP_SSE_FUNC_HPP */

View File

@@ -0,0 +1,56 @@
/* $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/>.
*/
/** @file 32bpp_sse_type.hpp Types related to SSE 32 bpp blitter. */
#ifndef BLITTER_32BPP_SSE_TYPE_HPP
#define BLITTER_32BPP_SSE_TYPE_HPP
#ifdef WITH_SSE
#include "32bpp_simple.hpp"
#if (SSE_VERSION == 2)
#include <emmintrin.h>
#elif (SSE_VERSION == 3)
#include <tmmintrin.h>
#elif (SSE_VERSION == 4)
#include <smmintrin.h>
#endif
#define META_LENGTH 2 ///< Number of uint32 inserted before each line of pixels in a sprite.
#define MARGIN_NORMAL_THRESHOLD (zoom == ZOOM_LVL_OUT_32X ? 8 : 4) ///< Minimum width to use margins with BM_NORMAL.
#define MARGIN_REMAP_THRESHOLD 4 ///< Minimum width to use margins with BM_COLOUR_REMAP.
#ifdef _MSC_VER
#define ALIGN(n) __declspec(align(n))
#else
#define ALIGN(n) __attribute__ ((aligned (n)))
#endif
typedef union ALIGN(16) um128i {
__m128i m128i;
uint8 m128i_u8[16];
uint16 m128i_u16[8];
uint32 m128i_u32[4];
uint64 m128i_u64[2];
} um128i;
#define CLEAR_HIGH_BYTE_MASK _mm_setr_epi8(-1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0)
#define ALPHA_CONTROL_MASK _mm_setr_epi8( 6, 7, 6, 7, 6, 7, -1, -1, 14, 15, 14, 15, 14, 15, -1, -1)
#define PACK_LOW_CONTROL_MASK _mm_setr_epi8( 0, 2, 4, -1, 8, 10, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1)
#define PACK_HIGH_CONTROL_MASK _mm_setr_epi8(-1, -1, -1, -1, -1, -1, -1, -1, 0, 2, 4, -1, 8, 10, 12, -1)
#define BRIGHTNESS_LOW_CONTROL_MASK _mm_setr_epi8( 1, 2, 1, 2, 1, 2, 0, 2, 3, 2, 3, 2, 3, 2, 0, 2)
#define BRIGHTNESS_DIV_CLEANER _mm_setr_epi8(-1, 1, -1, 1, -1, 1, -1, 0, -1, 1, -1, 1, -1, 1, -1, 0)
#define OVERBRIGHT_PRESENCE_MASK _mm_setr_epi8( 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0)
#define OVERBRIGHT_VALUE_MASK _mm_setr_epi8(-1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0)
#define OVERBRIGHT_CONTROL_MASK _mm_setr_epi8( 0, 1, 0, 1, 0, 1, 7, 7, 2, 3, 2, 3, 2, 3, 7, 7)
#define TRANSPARENT_NOM_BASE _mm_setr_epi16(256, 256, 256, 256, 256, 256, 256, 256)
#endif /* WITH_SSE */
#endif /* BLITTER_32BPP_SSE_TYPE_HPP */

View File

@@ -0,0 +1,23 @@
/* $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/>.
*/
/** @file 32bpp_ssse3.cpp Implementation of the SSSE3 32 bpp blitter. */
#ifdef WITH_SSE
#include "../stdafx.h"
#include "../zoom_func.h"
#include "../settings_type.h"
#include "32bpp_ssse3.hpp"
#include "32bpp_sse_func.hpp"
/** Instantiation of the SSSE3 32bpp blitter factory. */
static FBlitter_32bppSSSE3 iFBlitter_32bppSSSE3;
#endif /* WITH_SSE */

View File

@@ -0,0 +1,44 @@
/* $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/>.
*/
/** @file 32bpp_ssse3.hpp SSSE3 32 bpp blitter. */
#ifndef BLITTER_32BPP_SSSE3_HPP
#define BLITTER_32BPP_SSSE3_HPP
#ifdef WITH_SSE
#ifndef SSE_VERSION
#define SSE_VERSION 3
#endif
#ifndef FULL_ANIMATION
#define FULL_ANIMATION 0
#endif
#include "32bpp_sse2.hpp"
/** The SSSE3 32 bpp blitter (without palette animation). */
class Blitter_32bppSSSE3 : public Blitter_32bppSSE2 {
public:
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
template <BlitterMode mode, Blitter_32bppSSE_Base::ReadMode read_mode, Blitter_32bppSSE_Base::BlockType bt_last, bool translucent>
void Draw(const Blitter::BlitterParams *bp, ZoomLevel zoom);
/* virtual */ const char *GetName() { return "32bpp-ssse3"; }
};
/** Factory for the SSSE3 32 bpp blitter (without palette animation). */
class FBlitter_32bppSSSE3: public BlitterFactory {
public:
FBlitter_32bppSSSE3() : BlitterFactory("32bpp-ssse3", "32bpp SSSE3 Blitter (no palette animation)", HasCPUIDFlag(1, 2, 9)) {}
/* virtual */ Blitter *CreateInstance() { return new Blitter_32bppSSSE3(); }
};
#endif /* WITH_SSE */
#endif /* BLITTER_32BPP_SSSE3_HPP */

View File

@@ -83,7 +83,8 @@ void Blitter_8bppOptimized::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Z
width -= pixels;
switch (mode) {
case BM_COLOUR_REMAP: {
case BM_COLOUR_REMAP:
case BM_CRASH_REMAP: {
const uint8 *remap = bp->remap;
do {
uint m = remap[*src];
@@ -112,7 +113,7 @@ void Blitter_8bppOptimized::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Z
}
}
Sprite *Blitter_8bppOptimized::Encode(SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
Sprite *Blitter_8bppOptimized::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
{
/* Make memory for all zoom-levels */
uint memory = sizeof(SpriteData);

View File

@@ -25,16 +25,15 @@ public:
};
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
/* virtual */ Sprite *Encode(SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
/* virtual */ Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
/* virtual */ const char *GetName() { return "8bpp-optimized"; }
};
/** Factory for the 8bpp blitter optimised for speed. */
class FBlitter_8bppOptimized: public BlitterFactory<FBlitter_8bppOptimized> {
class FBlitter_8bppOptimized : public BlitterFactory {
public:
/* virtual */ const char *GetName() { return "8bpp-optimized"; }
/* virtual */ const char *GetDescription() { return "8bpp Optimized Blitter (compression + all-ZoomLevel cache)"; }
FBlitter_8bppOptimized() : BlitterFactory("8bpp-optimized", "8bpp Optimized Blitter (compression + all-ZoomLevel cache)") {}
/* virtual */ Blitter *CreateInstance() { return new Blitter_8bppOptimized(); }
};

View File

@@ -37,6 +37,7 @@ void Blitter_8bppSimple::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Zoom
switch (mode) {
case BM_COLOUR_REMAP:
case BM_CRASH_REMAP:
colour = bp->remap[*src];
break;
@@ -55,10 +56,10 @@ void Blitter_8bppSimple::Draw(Blitter::BlitterParams *bp, BlitterMode mode, Zoom
}
}
Sprite *Blitter_8bppSimple::Encode(SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
Sprite *Blitter_8bppSimple::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
{
Sprite *dest_sprite;
dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite) + sprite->height * sprite->width);
dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite) + (size_t)sprite->height * (size_t)sprite->width);
dest_sprite->height = sprite->height;
dest_sprite->width = sprite->width;

View File

@@ -19,16 +19,15 @@
class Blitter_8bppSimple FINAL : public Blitter_8bppBase {
public:
/* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
/* virtual */ Sprite *Encode(SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
/* virtual */ Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator);
/* virtual */ const char *GetName() { return "8bpp-simple"; }
};
/** Factory for the most trivial 8bpp blitter. */
class FBlitter_8bppSimple: public BlitterFactory<FBlitter_8bppSimple> {
class FBlitter_8bppSimple : public BlitterFactory {
public:
/* virtual */ const char *GetName() { return "8bpp-simple"; }
/* virtual */ const char *GetDescription() { return "8bpp Simple Blitter (relative slow, but never wrong)"; }
FBlitter_8bppSimple() : BlitterFactory("8bpp-simple", "8bpp Simple Blitter (relative slow, but never wrong)") {}
/* virtual */ Blitter *CreateInstance() { return new Blitter_8bppSimple(); }
};

View File

@@ -13,7 +13,7 @@
#include "base.hpp"
#include "../core/math_func.hpp"
void Blitter::DrawLine(void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width)
void Blitter::DrawLine(void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width, int dash)
{
int dy;
int dx;
@@ -59,6 +59,9 @@ void Blitter::DrawLine(void *video, int x, int y, int x2, int y2, int screen_wid
}
}
int gap = dash;
if (dash == 0) dash = 1;
int dash_count = 0;
if (dx > dy) {
int y_low = y;
int y_high = y;
@@ -76,7 +79,7 @@ void Blitter::DrawLine(void *video, int x, int y, int x2, int y2, int screen_wid
x2 += stepx;
while (x != x2) {
if (x >= 0 && x < screen_width) {
if (dash_count < dash && x >= 0 && x < screen_width) {
for (int y = y_low; y != y_high; y += stepy) {
if (y >= 0 && y < screen_height) this->SetPixel(video, x, y, colour);
}
@@ -92,6 +95,7 @@ void Blitter::DrawLine(void *video, int x, int y, int x2, int y2, int screen_wid
x += stepx;
frac_low += dy;
frac_high += dy;
if (++dash_count >= dash + gap) dash_count = 0;
}
} else {
int x_low = x;
@@ -110,7 +114,7 @@ void Blitter::DrawLine(void *video, int x, int y, int x2, int y2, int screen_wid
y2 += stepy;
while (y != y2) {
if (y >= 0 && y < screen_height) {
if (dash_count < dash && y >= 0 && y < screen_height) {
for (int x = x_low; x != x_high; x += stepx) {
if (x >= 0 && x < screen_width) this->SetPixel(video, x, y, colour);
}
@@ -126,6 +130,7 @@ void Blitter::DrawLine(void *video, int x, int y, int x2, int y2, int screen_wid
y += stepy;
frac_low += dx;
frac_high += dx;
if (++dash_count >= dash + gap) dash_count = 0;
}
}
}

View File

@@ -20,6 +20,7 @@ enum BlitterMode {
BM_NORMAL, ///< Perform the simple blitting.
BM_COLOUR_REMAP, ///< Perform a colour remapping.
BM_TRANSPARENT, ///< Perform transparency colour remapping.
BM_CRASH_REMAP, ///< Perform a crash remapping.
};
/**
@@ -77,7 +78,7 @@ public:
/**
* Convert a sprite from the loader to our own format.
*/
virtual Sprite *Encode(SpriteLoader::Sprite *sprite, AllocatorProc *allocator) = 0;
virtual Sprite *Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator) = 0;
/**
* Move the destination pointer the requested amount x and y, keeping in mind
@@ -118,8 +119,9 @@ public:
* @param screen_height The height of the screen you are drawing in (to avoid buffer-overflows).
* @param colour A 8bpp mapping colour.
* @param width Line width.
* @param dash Length of dashes for dashed lines. 0 means solid line.
*/
virtual void DrawLine(void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width);
virtual void DrawLine(void *video, int x, int y, int x2, int y2, int screen_width, int screen_height, uint8 colour, int width, int dash = 0);
/**
* Copy from a buffer to the screen.

View File

@@ -25,11 +25,12 @@ bool QZ_CanDisplay8bpp();
/**
* The base factory, keeping track of all blitters.
*/
class BlitterFactoryBase {
class BlitterFactory {
private:
const char *name; ///< The name of the blitter factory.
const char *name; ///< The name of the blitter factory.
const char *description; ///< The description of the blitter.
typedef std::map<const char *, BlitterFactoryBase *, StringCompare> Blitters; ///< Map of blitter factories.
typedef std::map<const char *, BlitterFactory *, StringCompare> Blitters; ///< Map of blitter factories.
/**
* Get the map with currently known blitters.
@@ -53,32 +54,38 @@ private:
protected:
/**
* Register a blitter internally, based on his name.
* @param name the name of the blitter.
* @note an assert() will be trigger if 2 blitters with the same name try to register.
* Construct the blitter, and register it.
* @param name The name of the blitter.
* @param description A longer description for the blitter.
* @param usable Whether the blitter is usable (on the current computer). For example for disabling SSE blitters when the CPU can't handle them.
* @pre name != NULL.
* @pre description != NULL.
* @pre There is no blitter registered with this name.
*/
void RegisterBlitter(const char *name)
BlitterFactory(const char *name, const char *description, bool usable = true) :
name(strdup(name)), description(strdup(description))
{
/* Don't register nameless Blitters */
if (name == NULL) return;
this->name = strdup(name);
std::pair<Blitters::iterator, bool> P = GetBlitters().insert(Blitters::value_type(name, this));
assert(P.second);
if (usable) {
/*
* Only add when the blitter is usable. Do not bail out or
* do more special things since the blitters are always
* instantiated upon start anyhow and freed upon shutdown.
*/
std::pair<Blitters::iterator, bool> P = GetBlitters().insert(Blitters::value_type(this->name, this));
assert(P.second);
} else {
DEBUG(driver, 1, "Not registering blitter %s as it is not usable", name);
}
}
public:
BlitterFactoryBase() :
name(NULL)
{}
virtual ~BlitterFactoryBase()
virtual ~BlitterFactory()
{
if (this->name == NULL) return;
GetBlitters().erase(this->name);
if (GetBlitters().empty()) delete &GetBlitters();
free(this->name);
free(this->description);
}
/**
@@ -87,6 +94,24 @@ public:
* @post Sets the blitter so GetCurrentBlitter() returns it too.
*/
static Blitter *SelectBlitter(const char *name)
{
BlitterFactory *b = GetBlitterFactory(name);
if (b == NULL) return NULL;
Blitter *newb = b->CreateInstance();
delete *GetActiveBlitter();
*GetActiveBlitter() = newb;
DEBUG(driver, 1, "Successfully %s blitter '%s'", StrEmpty(name) ? "probed" : "loaded", newb->GetName());
return newb;
}
/**
* Get the blitter factory with the given name.
* @param name the blitter factory to select.
* @return The blitter factory, or NULL when there isn't one with the wanted name.
*/
static BlitterFactory *GetBlitterFactory(const char *name)
{
#if defined(DEDICATED)
const char *default_blitter = "null";
@@ -108,14 +133,9 @@ public:
Blitters::iterator it = GetBlitters().begin();
for (; it != GetBlitters().end(); it++) {
BlitterFactoryBase *b = (*it).second;
BlitterFactory *b = (*it).second;
if (strcasecmp(bname, b->name) == 0) {
Blitter *newb = b->CreateInstance();
delete *GetActiveBlitter();
*GetActiveBlitter() = newb;
DEBUG(driver, 1, "Successfully %s blitter '%s'", StrEmpty(name) ? "probed" : "loaded", bname);
return newb;
return b;
}
}
return NULL;
@@ -140,7 +160,7 @@ public:
p += seprintf(p, last, "List of blitters:\n");
Blitters::iterator it = GetBlitters().begin();
for (; it != GetBlitters().end(); it++) {
BlitterFactoryBase *b = (*it).second;
BlitterFactory *b = (*it).second;
p += seprintf(p, last, "%18s: %s\n", b->name, b->GetDescription());
}
p += seprintf(p, last, "\n");
@@ -148,10 +168,21 @@ public:
return p;
}
/**
* Get the long, human readable, name for the Blitter-class.
*/
const char *GetName() const
{
return this->name;
}
/**
* Get a nice description of the blitter-class.
*/
virtual const char *GetDescription() = 0;
const char *GetDescription() const
{
return this->description;
}
/**
* Create an instance of this Blitter-class.
@@ -159,20 +190,6 @@ public:
virtual Blitter *CreateInstance() = 0;
};
/**
* A template factory, so ->GetName() works correctly. This because else some compiler will complain.
*/
template <class T>
class BlitterFactory: public BlitterFactoryBase {
public:
BlitterFactory() { this->RegisterBlitter(((T *)this)->GetName()); }
/**
* Get the long, human readable, name for the Blitter-class.
*/
const char *GetName();
};
extern char *_ini_blitter;
extern bool _blitter_autodetected;

View File

@@ -15,7 +15,7 @@
/** Instantiation of the null blitter factory. */
static FBlitter_Null iFBlitter_Null;
Sprite *Blitter_Null::Encode(SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
Sprite *Blitter_Null::Encode(const SpriteLoader::Sprite *sprite, AllocatorProc *allocator)
{
Sprite *dest_sprite;
dest_sprite = (Sprite *)allocator(sizeof(*dest_sprite));

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