Compare commits

...

4 Commits

Author SHA1 Message Date
rubidium e95b880252 (svn r23798) -Release: 1.1.5 2012-01-14 14:03:10 +00:00
rubidium f6f1794651 (svn r23797) [1.1] -Prepare: 1.1.5 2012-01-13 22:06:30 +00:00
rubidium 6408092b40 (svn r23796) [1.1] -Backport from trunk r23698 2012-01-13 22:05:04 +00:00
rubidium 7faba28c31 (svn r23795) [1.1] -Backport from trunk:
- Fix: Make default timeouts for certain network states lower and configurable [FS#4955] (r23764)
- Fix: Check whether a water tile is really empty when overbuilding it with an object [FS#4956] (r23763)
- Fix: Missing locking causing crash in extreme case when being in the MP lobby [FS#4938] (r23752)
- Fix: Clear the backed up orders of a removed station as well, otherwise one could create orders to a station that was never in the original backupped orders. For example a road vehicle trying to go to a buoy [FS#4876] (r23464)
- Fix: Do not assume all industries that cut trees have tile (0,0) and wait until all tiles of an industry are completed before starting to cut trees (r23458)
2012-01-13 21:54:59 +00:00
89 changed files with 281 additions and 149 deletions
+15 -6
View File
@@ -1,3 +1,12 @@
1.1.5 (2012-01-14)
------------------------------------------------------------------------
- Fix: Make default timeouts for certain network states lower and configurable [CVE-2012-0049] [FS#4955] (r23764)
- Fix: Check whether a water tile is really empty when overbuilding it with an object [FS#4956] (r23763)
- Fix: Missing locking causing crash in extreme case when being in the MP lobby [FS#4938] (r23752)
- Fix: Clear the backed up orders of a removed station as well, otherwise one could create orders to a station that was never in the original backupped orders. For example a road vehicle trying to go to a buoy [FS#4876] (r23464)
- Fix: Do not assume all industries that cut trees have tile (0,0) and wait until all tiles of an industry are completed before starting to cut trees (r23458)
1.1.4 (2011-12-05)
------------------------------------------------------------------------
- Fix: Savegames made with the Catalan town name generator would trigger a 'savegame corrupt' exception [FS#4866] (r23418)
@@ -66,7 +75,7 @@
1.1.3-RC1 (2011-09-04)
------------------------------------------------------------------------
- Add: River graphics for the original base set (r22766)
- Fix: [NewGRF] DCxx text references via the textstack are not allowed, but caused crash [FS#4758] (r22882)
- Fix: [NewGRF] DCxx text references via the text stack are not allowed, but caused crash [FS#4758] (r22882)
- Fix: Harden memory allocation (r22881, r22880, r22875)
- Fix: Miscalculation of train curve speed limits (r22879)
- Fix: Validate image dimensions before loading [CVE-2011-3343] [FS#4747] (r22878, r22877, r22874, r22873)
@@ -868,7 +877,7 @@
- Fix: Sorting industries by production was broken for NewGRF industries (r19538)
- Fix: Vehicle details window did not resize correctly after refitting a road vehicle to a longer variant [FS#3720] (r19533)
- Fix: Prevent drawing industries disabled at the smallmap as land tiles when they are built on water (r19523)
- Fix: Tunnels, bridges and roadstops are build with only one roadtype (r19506)
- Fix: Tunnels, bridges and road stops are build with only one roadtype (r19506)
- Fix: Remove same_industry_close setting did not do what it said and caused NewGRF trouble (r19499)
- Fix: Keep number padding intact when cloning vehicle names [FS#3710] (r19498)
- Fix: [NewGRF] Bytes and words get sign-extended for temporary/persistent storage (r19497)
@@ -968,7 +977,7 @@
- Fix: Not all news data was properly freed when starting a new game [FS#3614] (r19105)
- Fix: The BeMidi driver was broken [FS#3610] (r19097)
- Fix: Crash when one of the items in the news_display group in the config file has no value (r19096)
- Fix: Crash when a baseset has an empty metadata field (r19095)
- Fix: Crash when a base set has an empty metadata field (r19095)
- Fix: Possible read/write after free when the client triggered the server to close the connection [FS#3599] (r19072)
- Fix: Remove Bidi control characters from the reordered text so they are not drawn [FS#3604] (r19067)
- Fix: [NewGRF] Settings that are part of the 'TTDPatch flags' can cause desyncs if they are changed in network games (r19066)
@@ -1654,7 +1663,7 @@
- Fix: Add an EngineOverrideManager to give the term 'compatible NewGRF' again some sense and to not crash because of trivial changes [FS#2612] (r15645)
- Fix: Closing a network connection twice in the case that sending packets starts failing while disconnecting [FS#2710] (r15644)
- Fix: Game crashes when network pools are empty, so always allocate at least one pool block [FS#2712] (r15641)
- Fix: Do not allow more than 64 road vehicles to reserve a slot at a single road stop. 255 + 1 gives trouble, but 64 is even more than the roadstop would be able to handle within the slot timeout time [FS#2707] (r15635)
- Fix: Do not allow more than 64 road vehicles to reserve a slot at a single road stop. 255 + 1 gives trouble, but 64 is even more than the road stop would be able to handle within the slot timeout time [FS#2707] (r15635)
- Fix: Kicking/banning a client from the Client list window crashed the server [FS#2705] (r15628)
- Fix: UTF8 string handling could cause buffer overruns [FS#2698] (r15626)
- Fix: When trying to reserve a self-crossing path the failed reservation was sometimes not cleared completely [FS#2701] (r15619)
@@ -2189,7 +2198,7 @@
- Fix: Do entrance-slope-check for every tile of railstations (r11999)
- Fix: Possible remote assert by setting bit 6 of p1 for CMD_REMOVE_ROAD [FS#1692] (r11998)
- Fix: Update train statusbar when stopping from zero speed [FS#1706] (r11996)
- Fix: Resize station/roadstop/dock/airport construction windows if cargo acceptance list is too long (r11993)
- Fix: Resize station/road stop/dock/airport construction windows if cargo acceptance list is too long (r11993)
- Fix: When building two rail stations close to each other (with control) so they looked like one long track trains would see them as one (r11992)
- Fix: Resize autoreplace window to fit purchase information text if it is too large (r11989)
- Fix: Build system ignored changes to table/control_codes.h which require strgen to be rebuilt (r11986)
@@ -2720,7 +2729,7 @@
- Codechange: Change the ordering of the network list, compatible servers just missing grf files are below fully compatible servers, not on the bottom (r8118)
- Fix: Return proper error value when unthreaded save fails, prevents server sending 0-sized files (r8171)
- Fix: Network client crashes when a server sends a 0-sized savegame [FS#556] (r8167)
- Fix: Several desync fixes (incorrect roadstop update of old games, autoreplace bugs) [FS#551] (r8137, r8147, r8157)
- Fix: Several desync fixes (incorrect road stop update of old games, autoreplace bugs) [FS#551] (r8137, r8147, r8157)
- Fix: Some disaster-events fixed: combat chopper shoots from right position, submarine once again moves around (r8140, r8158)
- Fix: 'out of sprite memory' warning messages due to incorrect assumption of requested memory for sprites (r8133)
- Fix: Buoys are now built and numbered 1..9 not 9..1 [FS#538] (r8123)
+2 -2
View File
@@ -59,8 +59,8 @@ set_default() {
enable_translator="0"
enable_unicode="1"
enable_console="1";
enable_assert="1"
enable_strip="0"
enable_assert="0"
enable_strip="1"
enable_universal="0"
enable_osx_g5="0"
enable_cocoa_quartz="1"
+2 -2
View File
@@ -1,6 +1,6 @@
OpenTTD's known bugs
Last updated: 2011-12-05
Release version: 1.1.4
Last updated: 2012-01-14
Release version: 1.1.5
------------------------------------------------------------------------
+6
View File
@@ -1,3 +1,9 @@
openttd (1.1.5) unstable; urgency=low
* New upstream release 1.1.5
-- Matthijs Kooijman <matthijs@stdin.nl> Sat, 14 Jan 2012 00:00:00 +0400
openttd (1.1.4) unstable; urgency=low
* New upstream release 1.1.4
+1 -1
View File
@@ -1,6 +1,6 @@
@echo off
set OPENTTD_VERSION=1.1.4
set OPENTTD_VERSION=1.1.5
set OPENSFX_VERSION=0.8.0
set NOSOUND_VERSION=0.8.0
set OPENGFX_VERSION=0.7.0
+1 -1
View File
@@ -2,7 +2,7 @@
%define binname openttd
%define srcver 1.1.4
%define srcver 1.1.5
%if %{dedicated}
Name: %{binname}-dedicated
+2 -2
View File
@@ -1,8 +1,8 @@
# Version numbers to update
!define APPV_MAJOR 1
!define APPV_MINOR 1
!define APPV_MAINT 4
!define APPV_BUILD 1
!define APPV_MAINT 5
!define APPV_BUILD 0
!define APPV_EXTRA ""
!define APPNAME "OpenTTD" ; Define application name
+2 -2
View File
@@ -102,7 +102,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -204,7 +204,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+2 -2
View File
@@ -102,7 +102,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -204,7 +204,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;WITH_ASSERT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR="OpenTTD";_SQ64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+2 -2
View File
@@ -52,7 +52,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -257,7 +257,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
+2 -2
View File
@@ -52,7 +52,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -257,7 +257,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
+2 -2
View File
@@ -53,7 +53,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -255,7 +255,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
+2 -2
View File
@@ -53,7 +53,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;WITH_ASSERT"
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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
@@ -255,7 +255,7 @@
FavorSizeOrSpeed="2"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\objs\langs;..\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;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64;WITH_ASSERT"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;WITH_ZLIB;WITH_LZO;WITH_LZMA;LZMA_API_STATIC;WITH_PNG;WITH_FREETYPE;WITH_ICU;U_STATIC_IMPLEMENTATION;ENABLE_NETWORK;ENABLE_AI;WITH_PERSONAL_DIR;PERSONAL_DIR=\&quot;OpenTTD\&quot;;_SQ64"
StringPooling="true"
ExceptionHandling="1"
RuntimeLibrary="0"
+2 -2
View File
@@ -1,6 +1,6 @@
OpenTTD readme
Last updated: 2011-12-05
Release version: 1.1.4
Last updated: 2012-01-14
Release version: 1.1.5
------------------------------------------------------------------------
+4
View File
@@ -15,6 +15,10 @@
* functions may still be available if you return an older API version
* in GetAPIVersion() in info.nut.
*
* \b 1.1.5
*
* No changes
*
* \b 1.1.4
*
* API additions:
+1 -1
View File
@@ -376,7 +376,7 @@ static bool DisasterTick_Ufo(DisasterVehicle *v)
static void DestructIndustry(Industry *i)
{
for (TileIndex tile = 0; tile != MapSize(); tile++) {
if (IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == i->index) {
if (i->TileBelongsToIndustry(tile)) {
ResetIndustryConstructionStage(tile);
MarkTileDirtyByTile(tile);
}
+10
View File
@@ -79,6 +79,16 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> {
void RecomputeProductionMultipliers();
/**
* Check if a given tile belongs to this industry.
* @param tile The tile to check.
* @return True if the tils is part of this industry.
*/
inline bool TileBelongsToIndustry(TileIndex tile) const
{
return IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == this->index;
}
/**
* Get the industry of the given tile
* @param tile the tile to get the industry from
+7 -3
View File
@@ -1065,10 +1065,14 @@ static bool SearchLumberMillTrees(TileIndex tile, void *user_data)
*/
static void ChopLumberMillTrees(Industry *i)
{
/* We only want to cut trees if all tiles are completed. */
TILE_AREA_LOOP(tile_cur, i->location) {
if (i->TileBelongsToIndustry(tile_cur)) {
if (!IsIndustryCompleted(tile_cur)) return;
}
}
TileIndex tile = i->location.tile;
if (!IsIndustryCompleted(tile)) return; // Can't proceed if not completed.
if (CircularTileSearch(&tile, 40, SearchLumberMillTrees, NULL)) { // 40x40 tiles to search.
i->produced_cargo_waiting[0] = min(0xffff, i->produced_cargo_waiting[0] + 45); // Found a tree, add according value to waiting cargo.
}
+1 -1
View File
@@ -2248,7 +2248,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Maatskappy-besi
STR_ABOUT_OPENTTD :{WHITE}Oor OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oorspronklike kopiereg {COPYRIGHT} 1995 Chris Sawyer, Alle regte voorbehou
STR_ABOUT_VERSION :{BLACK}OpenTTD uitgawe {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 Die OpenTTD span
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 Die OpenTTD span
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spaar Spel
+1 -1
View File
@@ -2286,7 +2286,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :ارض مملو
STR_ABOUT_OPENTTD :{WHITE}حول النسخة المفتوحة
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}الحقوق الاصلية {COPYRIGHT} كريس سوير 1995 , جميع الحقوق محفوظة
STR_ABOUT_VERSION :{BLACK}النسخة المفتوحة رقم {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2011 فريق النسخة المفتوحة
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}النسخة المفتوحة {COPYRIGHT}2002-2012 فريق النسخة المفتوحة
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}حفظ اللعبة
+1 -1
View File
@@ -2624,7 +2624,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Зямля на
STR_ABOUT_OPENTTD :{WHITE}Аб OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Арыгінальныя аўтарскія правы {COPYRIGHT} 1995 Chris Sawyer. Усе правы абароненыя
STR_ABOUT_VERSION :{BLACK}OpenTTD вэрсія {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 Каманда распрацоўнікаў OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 Каманда распрацоўнікаў OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Захаваць гульню
+1 -1
View File
@@ -2287,7 +2287,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :O terreno é pr
STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD...
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados
STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 A equipe do OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 A equipe do OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvar Jogo
+1 -1
View File
@@ -2279,7 +2279,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земя, пр
STR_ABOUT_OPENTTD :{WHITE}Относно OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторски права {COPYRIGHT} 1995 Крис Сойер (Chris Sawyer), Всички права са запазени
STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 The OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Запази играта
+1 -1
View File
@@ -2287,7 +2287,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :terreny propiet
STR_ABOUT_OPENTTD :{WHITE}Quant a OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Tots els drets reservats
STR_ABOUT_VERSION :{BLACK}OpenTTD versió {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 L'equip d'OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 L'equip d'OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Desa el Joc
+1 -1
View File
@@ -2383,7 +2383,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemlja u posjed
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Izvorno autorsko pravo {COPYRIGHT} 1995 Chris Sawyer, sva prava pridržana
STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 OpenTTD tim
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 OpenTTD tim
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spremi igru
+1 -1
View File
@@ -2374,7 +2374,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Půda vlastněn
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Původní copyright: {COPYRIGHT} 1995 Chris Sawyer, všechna práva vyhrazena
STR_ABOUT_VERSION :{BLACK}OpenTTD verze {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 Tým OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 Tým OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložit hru
+1 -1
View File
@@ -2286,7 +2286,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land ejet af se
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheder reserveret
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 OpenTTD teamet
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 OpenTTD teamet
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Gem spil
+1 -1
View File
@@ -2287,7 +2287,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrein in bedr
STR_ABOUT_OPENTTD :{WHITE}Over OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originele copyright {COPYRIGHT} 1995 Chris Sawyer, alle rechten voorbehouden
STR_ABOUT_VERSION :{BLACK}OpenTTD versie {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 Het OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 Het OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spel Opslaan
+3 -1
View File
@@ -1776,6 +1776,8 @@ STR_NETWORK_ERROR_SERVER_BANNED :{WHITE}You are
STR_NETWORK_ERROR_KICKED :{WHITE}You were kicked out of the game
STR_NETWORK_ERROR_CHEATER :{WHITE}Cheating is not allowed on this server
STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}You were sending too many commands to the server
STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}You took too long to enter the password
STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Your computer took too long to join
############ Leave those lines in this order!!
STR_NETWORK_ERROR_CLIENT_GENERAL :general error
@@ -2288,7 +2290,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
STR_ABOUT_OPENTTD :{WHITE}About OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 The OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
+1 -1
View File
@@ -2288,7 +2288,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Company-owned l
STR_ABOUT_OPENTTD :{WHITE}OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 The OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Save Game
+1 -1
View File
@@ -2256,7 +2256,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanie poseda
STR_ABOUT_OPENTTD :{WHITE}Pri OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Origina kopirajto {COPYRIGHT} 1995 Chris Sawyer, Ĉiuj rajtoj rezervitaj
STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 La teamo de OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 La teamo de OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Konservu Ludon
+1 -1
View File
@@ -2344,7 +2344,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ettevõtte maa
STR_ABOUT_OPENTTD :{WHITE}OpenTTD lisainfo
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Algne autorikaitse {COPYRIGHT} 1995 Chris Sawyer, kõik õigused kaitstud
STR_ABOUT_VERSION :{BLACK}OpenTTD osa {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 OpenTTD meeskond
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 OpenTTD meeskond
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvesta mäng
+1 -1
View File
@@ -2288,7 +2288,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Yhtiön omistam
STR_ABOUT_OPENTTD :{WHITE}Tietoja OpenTTD:stä
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Alkuperäiset oikeudet {COPYRIGHT} 1995 Chris Sawyer, kaikki oikeudet pidätetään
STR_ABOUT_VERSION :{BLACK}OpenTTD-versio {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 The OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Tallenna peli
+1 -1
View File
@@ -2288,7 +2288,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terrain apparte
STR_ABOUT_OPENTTD :{WHITE}A propos de OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Tous droits réservés
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 L'équipe OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 L'équipe OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sauvegarder la partie
+1 -1
View File
@@ -2188,7 +2188,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreo propieda
STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright Orixinal {COPYRIGHT} 1995 Chris Sawyer, Tódolos dereitos reservados
STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 O Equipo de OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 O Equipo de OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Grabar Partida
+1 -1
View File
@@ -2289,7 +2289,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Firmeneigenes G
STR_ABOUT_OPENTTD :{WHITE}OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Ursprüngliches Urheberrecht {COPYRIGHT} 1995 Chris Sawyer, Alle Rechte vorbehalten
STR_ABOUT_VERSION :{BLACK}OpenTTD Version {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 OpenTTD-Team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 OpenTTD-Team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spiel speichern
+1 -1
View File
@@ -2378,7 +2378,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ιδιόκτη
STR_ABOUT_OPENTTD :{WHITE}Σχετικά με το OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Αρχικά Πνευματικά Δικαιώματα {COPYRIGHT} 1995 Chris Sawyer, Όλα τα δικαιώματα διατηρούνται
STR_ABOUT_VERSION :{BLACK}OpenTTD έκδοση {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 Η ομάδα του OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 Η ομάδα του OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Αποθήκευση Παιχνιδιού
+1 -1
View File
@@ -2242,7 +2242,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :שטח בבעל
STR_ABOUT_OPENTTD :{WHITE}OpenTTD אודות
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}כל הזכויות שמורות , {COPYRIGHT}1995 כריס סויר - {NBSP}זכויות יוצרים מקוריות
STR_ABOUT_VERSION :{BLACK}{REV} גירסה , OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 The OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}שמור משחק
+1 -1
View File
@@ -2352,7 +2352,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Vállalat álta
STR_ABOUT_OPENTTD :{WHITE}Az OpenTTD-ről
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Eredeti copyright {COPYRIGHT} 1995 Chris Sawyer, Minden jog fenntartva
STR_ABOUT_VERSION :{BLACK}OpenTTD {REV} verzió
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 Az OpenTTD csapat
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 Az OpenTTD csapat
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Játék mentése
+1 -1
View File
@@ -2252,7 +2252,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land í eigu fy
STR_ABOUT_OPENTTD :{WHITE}Um OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Upphaflegur höfundarréttur {COPYRIGHT} 1995 Chris Sawyer, Öll réttindi áskilin
STR_ABOUT_VERSION :{BLACK}OpenTTD útgáfa {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 OpenTTD hópurinn
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 OpenTTD hópurinn
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Vista leik
+1 -1
View File
@@ -2283,7 +2283,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tanah milik Per
STR_ABOUT_OPENTTD :{WHITE}Tentang OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hak Cipta asli {COPYRIGHT} 1995 Chris Sawyer, Hak Cipta dilindungi
STR_ABOUT_VERSION :{BLACK}OpenTTD versi {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 Tim OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 Tim OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Simpan Permainan
+1 -1
View File
@@ -2280,7 +2280,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Talamh faoi úi
STR_ABOUT_OPENTTD :{WHITE}Maidir le OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Cóipcheart bunaidh {COPYRIGHT} 1995 Chris Sawyer, Gach ceart ar cosaint
STR_ABOUT_VERSION :{BLACK}OpenTTD leagan {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 An fhoireann OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 An fhoireann OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sábháil an Cluiche
+1 -1
View File
@@ -2301,7 +2301,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno possedu
STR_ABOUT_OPENTTD :{WHITE}Informazioni su OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright originale {COPYRIGHT} 1995 Chris Sawyer, Tutti i diritti riservati
STR_ABOUT_VERSION :{BLACK}OpenTTD versione {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 Il team OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 Il team OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salva partita
+1 -1
View File
@@ -2285,7 +2285,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :会社が所有
STR_ABOUT_OPENTTD :{WHITE}OpenTTD について
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}オリジナル版権{COPYRIGHT} 1995 Chris Sawyer、不許複製
STR_ABOUT_VERSION :{BLACK}OpenTTD バージョン {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 The OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}ゲームを保存
+1 -1
View File
@@ -2287,7 +2287,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :회사 소유
STR_ABOUT_OPENTTD :{WHITE}OpenTTD에 대해서
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
STR_ABOUT_VERSION :{BLACK}OpenTTD 버전 {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 OpenTTD 개발팀
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 OpenTTD 개발팀
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}게임 저장
+1 -1
View File
@@ -2290,7 +2290,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Uzņēmumam pie
STR_ABOUT_OPENTTD :{WHITE}Par OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Oriģināla autortiesības {COPYRIGHT} 1995 Kriss Sojers. Visas tiesības paturētas
STR_ABOUT_VERSION :{BLACK}OpenTTD versija {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 OpenTTD grupa
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 OpenTTD grupa
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Saglabāt spēli
+1 -1
View File
@@ -2357,7 +2357,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Kompanijos žem
STR_ABOUT_OPENTTD :{WHITE}Apie OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Pradinės versijos teisės priklauso {COPYRIGHT} 1995 Chris Sawyer, Visos teisės saugomos
STR_ABOUT_VERSION :{BLACK}OpenTTD versija {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 OpenTTD komanda
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 OpenTTD komanda
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Išsaugoti žaidimą
+1 -1
View File
@@ -2286,7 +2286,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Land am Firmenb
STR_ABOUT_OPENTTD :{WHITE}Iwwert OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original Copyright {COPYRIGHT} 1995 Chris Sawyer, All Rechter virbehalen
STR_ABOUT_VERSION :{BLACK}OpenTTD Versioun {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 D'OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 D'OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spill späicheren
+1 -1
View File
@@ -2250,7 +2250,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tanah dimiliki
STR_ABOUT_OPENTTD :{WHITE}Tentang OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hakcipta asal {COPYRIGHT} 1995 Chris Sawyer, Hakcipta terpelihara
STR_ABOUT_VERSION :{BLACK}OpenTTD versi {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 The OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Simpankan Permainan
+1 -1
View File
@@ -2285,7 +2285,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Firma-eid lando
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Opprinnelig opphavsbeskyttet {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheter reservert
STR_ABOUT_VERSION :{BLACK}OpenTTD versjon {REV}. Oversatt til norsk av Thor Morten Skogrand med flere.
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 OpenTTD-teamet
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 OpenTTD-teamet
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lagre spill
+1 -1
View File
@@ -2276,7 +2276,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Feltet eigast a
STR_ABOUT_OPENTTD :{WHITE}Om OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Opphaveleg opphavsbeskytta av {COPYRIGHT} 1995 Chris Sawyer, Alle rettigheiter reservert
STR_ABOUT_VERSION :{BLACK}OpenTTD versjon {REV}. Oversett til nynorsk av Thor Morten Skogrand med fleire.
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 OpenTTD-teamet
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 OpenTTD-teamet
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lagre spel
+1 -1
View File
@@ -2666,7 +2666,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Teren w posiada
STR_ABOUT_OPENTTD :{WHITE}OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Prawa Autorskie {COPYRIGHT} 1995 Chris Sawyer, Wszelkie prawa zastrzeżone
STR_ABOUT_VERSION :{BLACK}OpenTTD wersja {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 Zespół OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 Zespół OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Zapisz grę
+1 -1
View File
@@ -2288,7 +2288,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno proprie
STR_ABOUT_OPENTTD :{WHITE}Sobre o OpenTTD...
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Direitos de autor originais {COPYRIGHT} 1995 Chris Sawyer, Todos os direitos reservados
STR_ABOUT_VERSION :{BLACK}OpenTTD versão {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 A equipa do OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 A equipa do OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar Jogo
+1 -1
View File
@@ -2287,7 +2287,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Teren în propr
STR_ABOUT_OPENTTD :{WHITE}Despre OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright original {COPYRIGHT} 1995 Chris Sawyer, Toate drepturile rezervate
STR_ABOUT_VERSION :{BLACK}OpenTTD versiunea {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 Echipa OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 Echipa OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Salvează joc
+1 -1
View File
@@ -2462,7 +2462,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Земля в
STR_ABOUT_OPENTTD :{WHITE}Об OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Оригинальные авторские права {COPYRIGHT} 1995 Chris Sawyer. Все права защищены.
STR_ABOUT_VERSION :{BLACK}OpenTTD версия {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 Команда разработчиков OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 Команда разработчиков OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Сохранить игру
+1 -1
View File
@@ -2482,7 +2482,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Zemljište u po
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD-u
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Originalni kopirajt {COPYRIGHT} 1995 Chris Sawyer, Sva prava zadržana
STR_ABOUT_VERSION :{BLACK}OpenTTD verzija {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 OpenTTD tim
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 OpenTTD tim
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Sačuvaj poziciju
+1 -1
View File
@@ -2284,7 +2284,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :公司属地
STR_ABOUT_OPENTTD :{WHITE}关于 OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}原始版权由 {COPYRIGHT} 1995 Chris Sawyer 所有,保留一切权力。
STR_ABOUT_VERSION :{BLACK}OpenTTD 版本 {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 OpenTTD 团队
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 OpenTTD 团队
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}保存游戏
+1 -1
View File
@@ -2354,7 +2354,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Spoločnosťou
STR_ABOUT_OPENTTD :{WHITE}OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Pôvodný copyright: {COPYRIGHT} 1995 Chris Sawyer, všetky práva vyhradené
STR_ABOUT_VERSION :{BLACK}OpenTTD verzia {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 team OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 team OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Uložiť hru
+1 -1
View File
@@ -2439,7 +2439,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ozemlje v lasti
STR_ABOUT_OPENTTD :{WHITE}O OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Prvotne avtorske pravice {COPYRIGHT} 1995 Chris Sawyer, vse pravice pridržane
STR_ABOUT_VERSION :{BLACK}OpenTTD različica {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 ekipa OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 ekipa OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Shrani igro
+1 -1
View File
@@ -2289,7 +2289,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Terreno propied
STR_ABOUT_OPENTTD :{WHITE}Acerca de OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Copyright Original {COPYRIGHT} 1995 Chris Sawyer, Todos los derechos reservados
STR_ABOUT_VERSION :{BLACK}OpenTTD versión {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 El equipo OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 El equipo OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar Juego
+1 -1
View File
@@ -2287,7 +2287,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Mark som ägs a
STR_ABOUT_OPENTTD :{WHITE}OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Ursprunglig äganderätt {COPYRIGHT} 1995 Chris Sawyer, Alla rättigheter reserverade
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 OpenTTD-teamet
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 OpenTTD-teamet
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spara spel
+1 -1
View File
@@ -2285,7 +2285,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :公司所有土
STR_ABOUT_OPENTTD :{WHITE}關於 OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}原著作權為 {COPYRIGHT} 1995 Chris Sawyer,保留所有權利
STR_ABOUT_VERSION :{BLACK}OpenTTD 版本 {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 OpenTTD 開發小組
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 OpenTTD 開發小組
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}儲存遊戲
+1 -1
View File
@@ -2286,7 +2286,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Satın alınmı
STR_ABOUT_OPENTTD :{WHITE}OpenTTD Hakkında
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Telif hakkı {COPYRIGHT} 1995 Chris Sawyer, Her hakkı saklıdır
STR_ABOUT_VERSION :{BLACK}OpenTTD {REV} versiyonu
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 OpenTTD ekibi
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 OpenTTD ekibi
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Oyunu Kaydet
+1 -1
View File
@@ -2409,7 +2409,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Ця ділян
STR_ABOUT_OPENTTD :{WHITE}Про OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Авторське право {COPYRIGHT} 1995 Кріс Сойєр, Всі права захищені
STR_ABOUT_VERSION :{BLACK}OpenTTD версія {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 команда OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 команда OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Зберегти гру
+1 -1
View File
@@ -1550,7 +1550,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Lân fan bedriu
STR_ABOUT_OPENTTD :{WHITE}Oer OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Orizjineel copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
STR_ABOUT_VERSION :{BLACK}OpenTTD-ferzje {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 It OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 It OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Spul Opslaan
+1 -1
View File
@@ -739,7 +739,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS :Stabeyo di komp
# About OpenTTD window
STR_ABOUT_VERSION :{BLACK}OpenTTD versiono {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 La kruo OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 La kruo OpenTTD
# Save/load game/scenario
STR_SAVELOAD_DETAIL_CAPTION :{BLACK}Ludo Detali
+1 -1
View File
@@ -933,7 +933,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Компани
STR_ABOUT_OPENTTD :{WHITE}За OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Оригинален copyright {COPYRIGHT} 1995 Chris Sawyer, Сите права се задржани
STR_ABOUT_VERSION :{BLACK}OpenTTD верзија {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 OpenTTD тимот
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 OpenTTD тимот
# Save/load game/scenario
STR_SAVELOAD_LOAD_BUTTON :{BLACK}Оптоварување
+1 -1
View File
@@ -1077,7 +1077,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :زمین خری
STR_ABOUT_OPENTTD :{WHITE}OpenTTD در باره ی
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Original copyright {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
STR_ABOUT_VERSION :{BLACK}OpenTTD version {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 The OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}ذخیره ی بازی
+1 -1
View File
@@ -2067,7 +2067,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :บริษั
STR_ABOUT_OPENTTD :{WHITE}เกี่ยวกับ OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}ลิขสิทธิ์เดิม {COPYRIGHT} ค.ศ.1995 ของ Chris Sawyer, สงวนลิขสิทธิ์
STR_ABOUT_VERSION :{BLACK}OpenTTD รุ่นที่ {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}ลิขสิทธิ์ OpenTTD {COPYRIGHT}2002-2011 ของ The OpenTTD team
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}ลิขสิทธิ์ OpenTTD {COPYRIGHT}2002-2012 ของ The OpenTTD team
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}บันทึกเกม
+1 -1
View File
@@ -2287,7 +2287,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Đất công ty
STR_ABOUT_OPENTTD :{WHITE}OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Nguyên tác bản quyền {COPYRIGHT} 1995 Chris Sawyer, All rights reserved
STR_ABOUT_VERSION :{BLACK}OpenTTD phiên bản {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2011 Nhóm OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-2012 Nhóm OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Lưu Ván Chơi
+1 -1
View File
@@ -2280,7 +2280,7 @@ STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND :Tir mae cwmni b
STR_ABOUT_OPENTTD :{WHITE}Gwybodaeth am OpenTTD
STR_ABOUT_ORIGINAL_COPYRIGHT :{BLACK}Hawlfraint Wreiddiol {COPYRIGHT} 1995 Chris Sawyer, Holl cedwir pob hawl
STR_ABOUT_VERSION :{BLACK}fersiwn OpenTTD {REV}
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2011 Y tîm OpenTTD
STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-2012 Y tîm OpenTTD
# Save/load game/scenario
STR_SAVELOAD_SAVE_CAPTION :{WHITE}Cadw Gêm
+7 -9
View File
@@ -819,20 +819,18 @@ static void NetworkSend()
}
}
/* We have to do some UDP checking */
void NetworkUDPGameLoop()
/**
* We have to do some (simple) background stuff that runs normally,
* even when we are not in multiplayer. For example stuff needed
* for finding servers or downloading content.
*/
void NetworkBackgroundLoop()
{
_network_content_client.SendReceive();
TCPConnecter::CheckCallbacks();
NetworkHTTPSocketHandler::HTTPReceive();
if (_network_udp_server) {
_udp_server_socket->ReceivePackets();
_udp_master_socket->ReceivePackets();
} else {
_udp_client_socket->ReceivePackets();
if (_network_udp_broadcast > 0) _network_udp_broadcast--;
}
NetworkBackgroundUDPLoop();
}
/* The main loop called from ttd.c
+6
View File
@@ -633,6 +633,12 @@ DEF_GAME_RECEIVE_COMMAND(Client, PACKET_SERVER_ERROR)
case NETWORK_ERROR_TOO_MANY_COMMANDS:
_switch_mode_errorstr = STR_NETWORK_ERROR_TOO_MANY_COMMANDS;
break;
case NETWORK_ERROR_TIMEOUT_PASSWORD:
ShowErrorMessage(STR_NETWORK_ERROR_TIMEOUT_PASSWORD, INVALID_STRING_ID, WL_CRITICAL);
break;
case NETWORK_ERROR_TIMEOUT_COMPUTER:
ShowErrorMessage(STR_NETWORK_ERROR_TIMEOUT_COMPUTER, INVALID_STRING_ID, WL_CRITICAL);
break;
default:
_switch_mode_errorstr = STR_NETWORK_ERROR_LOSTCONNECTION;
}
+1 -1
View File
@@ -40,7 +40,7 @@ const char *NetworkChangeCompanyPassword(CompanyID company_id, const char *passw
void NetworkReboot();
void NetworkDisconnect(bool blocking = false, bool close_admins = true);
void NetworkGameLoop();
void NetworkUDPGameLoop();
void NetworkBackgroundLoop();
void ParseConnectionString(const char **company, const char **port, char *connection_string);
void NetworkStartDebugLog(NetworkAddress address);
void NetworkPopulateCompanyStats(NetworkCompanyStats *stats);
+84 -45
View File
@@ -1717,55 +1717,94 @@ void NetworkServer_Tick(bool send_frame)
_settings_client.network.bytes_per_frame_burst);
/* Check if the speed of the client is what we can expect from a client */
if (cs->status == NetworkClientSocket::STATUS_ACTIVE) {
/* 1 lag-point per day */
uint lag = NetworkCalculateLag(cs) / DAY_TICKS;
if (lag > 0) {
if (lag > 3) {
/* Client did still not report in after 4 game-day, drop him
* (that is, the 3 of above, + 1 before any lag is counted) */
IConsolePrintF(CC_ERROR, cs->last_packet + 3 * DAY_TICKS * MILLISECONDS_PER_TICK > _realtime_tick ?
/* A packet was received in the last three game days, so the client is likely lagging behind. */
"Client #%d is dropped because the client's game state is more than 4 game-days behind" :
/* No packet was received in the last three game days; sounds like a lost connection. */
"Client #%d is dropped because the client did not respond for more than 4 game-days",
cs->client_id);
cs->CloseConnection(NETWORK_RECV_STATUS_SERVER_ERROR);
uint lag = NetworkCalculateLag(cs);
switch (cs->status) {
case NetworkClientSocket::STATUS_ACTIVE:
/* 1 lag-point per day */
lag /= DAY_TICKS;
if (lag > 0) {
if (lag > 3) {
/* Client did still not report in after 4 game-day, drop him
* (that is, the 3 of above, + 1 before any lag is counted) */
IConsolePrintF(CC_ERROR, cs->last_packet + 3 * DAY_TICKS * MILLISECONDS_PER_TICK > _realtime_tick ?
/* A packet was received in the last three game days, so the client is likely lagging behind. */
"Client #%d is dropped because the client's game state is more than 4 game-days behind" :
/* No packet was received in the last three game days; sounds like a lost connection. */
"Client #%d is dropped because the client did not respond for more than 4 game-days",
cs->client_id);
cs->SendError(NETWORK_ERROR_TIMEOUT_COMPUTER);
continue;
}
/* Report once per time we detect the lag, and only when we
* received a packet in the last 2000 milliseconds. If we
* did not receive a packet, then the client is not just
* slow, but the connection is likely severed. Mentioning
* frame_freq is not useful in this case. */
if (cs->lag_test == 0 && cs->last_packet + DAY_TICKS * MILLISECONDS_PER_TICK > _realtime_tick) {
IConsolePrintF(CC_WARNING,"[%d] Client #%d is slow, try increasing [network.]frame_freq to a higher value!", _frame_counter, cs->client_id);
cs->lag_test = 1;
}
} else {
cs->lag_test = 0;
}
if (cs->last_frame_server - cs->last_token_frame >= 5 * DAY_TICKS) {
/* This is a bad client! It didn't send the right token back. */
IConsolePrintF(CC_ERROR, "Client #%d is dropped because it fails to send valid acks", cs->client_id);
cs->SendError(NETWORK_ERROR_TIMEOUT_COMPUTER);
continue;
}
break;
/* Report once per time we detect the lag, and only when we
* received a packet in the last 2000 milliseconds. If we
* did not receive a packet, then the client is not just
* slow, but the connection is likely severed. Mentioning
* frame_freq is not useful in this case. */
if (cs->lag_test == 0 && cs->last_packet + DAY_TICKS * MILLISECONDS_PER_TICK > _realtime_tick) {
IConsolePrintF(CC_WARNING,"[%d] Client #%d is slow, try increasing [network.]frame_freq to a higher value!", _frame_counter, cs->client_id);
cs->lag_test = 1;
case NetworkClientSocket::STATUS_INACTIVE:
case NetworkClientSocket::STATUS_NEWGRFS_CHECK:
case NetworkClientSocket::STATUS_AUTHORIZED:
/* NewGRF check and authorized states should be handled almost instantly.
* So give them some lee-way, likewise for the query with inactive. */
if (lag > 4 * DAY_TICKS) {
IConsolePrintF(CC_ERROR,"Client #%d is dropped because it took longer than %d ticks to start the joining process", cs->client_id, 4 * DAY_TICKS);
cs->SendError(NETWORK_ERROR_TIMEOUT_COMPUTER);
continue;
}
} else {
cs->lag_test = 0;
}
if (cs->last_frame_server - cs->last_token_frame >= 5 * DAY_TICKS) {
/* This is a bad client! It didn't send the right token back. */
IConsolePrintF(CC_ERROR, "Client #%d is dropped because it fails to send valid acks", cs->client_id);
cs->CloseConnection(NETWORK_RECV_STATUS_SERVER_ERROR);
continue;
}
} else if (cs->status == NetworkClientSocket::STATUS_PRE_ACTIVE) {
uint lag = NetworkCalculateLag(cs);
if (lag > _settings_client.network.max_join_time) {
IConsolePrintF(CC_ERROR,"Client #%d is dropped because it took longer than %d ticks for him to join", cs->client_id, _settings_client.network.max_join_time);
cs->CloseConnection(NETWORK_RECV_STATUS_SERVER_ERROR);
continue;
}
} else if (cs->status == NetworkClientSocket::STATUS_INACTIVE) {
uint lag = NetworkCalculateLag(cs);
if (lag > 4 * DAY_TICKS) {
IConsolePrintF(CC_ERROR,"Client #%d is dropped because it took longer than %d ticks to start the joining process", cs->client_id, 4 * DAY_TICKS);
cs->CloseConnection(NETWORK_RECV_STATUS_SERVER_ERROR);
continue;
}
break;
case NetworkClientSocket::STATUS_MAP:
/* Downloading the map... this is the amount of time since starting the saving. */
if (lag > _settings_client.network.max_download_time) {
IConsolePrintF(CC_ERROR,"Client #%d is dropped because it took longer than %d ticks for him to download the map", cs->client_id, _settings_client.network.max_download_time);
cs->SendError(NETWORK_ERROR_TIMEOUT_COMPUTER);
continue;
}
break;
case NetworkClientSocket::STATUS_DONE_MAP:
case NetworkClientSocket::STATUS_PRE_ACTIVE:
/* The map has been sent, so this is for loading the map and syncing up. */
if (lag > _settings_client.network.max_join_time) {
IConsolePrintF(CC_ERROR,"Client #%d is dropped because it took longer than %d ticks for him to join", cs->client_id, _settings_client.network.max_join_time);
cs->SendError(NETWORK_ERROR_TIMEOUT_COMPUTER);
continue;
}
break;
case NetworkClientSocket::STATUS_AUTH_GAME:
case NetworkClientSocket::STATUS_AUTH_COMPANY:
/* These don't block? */
if (lag > _settings_client.network.max_password_time) {
IConsolePrintF(CC_ERROR,"Client #%d is dropped because it took longer than %d to enter the password", cs->client_id, _settings_client.network.max_password_time);
cs->SendError(NETWORK_ERROR_TIMEOUT_PASSWORD);
continue;
}
break;
case NetworkClientSocket::STATUS_MAP_WAIT:
/* This is an internal state where we do not wait
* on the client to move to a different state. */
break;
case NetworkClientSocket::STATUS_END:
/* Bad server/code. */
NOT_REACHED();
}
if (cs->status >= NetworkClientSocket::STATUS_PRE_ACTIVE) {
+2
View File
@@ -119,6 +119,8 @@ enum NetworkErrorCode {
NETWORK_ERROR_CHEATER,
NETWORK_ERROR_FULL,
NETWORK_ERROR_TOO_MANY_COMMANDS,
NETWORK_ERROR_TIMEOUT_PASSWORD,
NETWORK_ERROR_TIMEOUT_COMPUTER,
};
#endif /* ENABLE_NETWORK */
+16
View File
@@ -637,4 +637,20 @@ void NetworkUDPClose()
DEBUG(net, 1, "[udp] closed listeners");
}
/** Receive the UDP packets. */
void NetworkBackgroundUDPLoop()
{
_network_udp_mutex->BeginCritical();
if (_network_udp_server) {
_udp_server_socket->ReceivePackets();
_udp_master_socket->ReceivePackets();
} else {
_udp_client_socket->ReceivePackets();
if (_network_udp_broadcast > 0) _network_udp_broadcast--;
}
_network_udp_mutex->EndCritical();
}
#endif /* ENABLE_NETWORK */
+1
View File
@@ -23,6 +23,7 @@ void NetworkUDPQueryServer(NetworkAddress address, bool manually = false);
void NetworkUDPAdvertise();
void NetworkUDPRemoveAdvertise(bool blocking);
void NetworkUDPClose();
void NetworkBackgroundUDPLoop();
#endif /* ENABLE_NETWORK */
+2 -2
View File
@@ -242,7 +242,7 @@ uint32 IndustryGetVariable(const ResolverObject *object, byte variable, byte par
/* Get random tile bits at offset param */
case 0x61:
tile = GetNearbyTile(parameter, tile, false);
return (IsTileType(tile, MP_INDUSTRY) && Industry::GetByTile(tile) == industry) ? GetIndustryRandomBits(tile) : 0;
return industry->TileBelongsToIndustry(tile) ? GetIndustryRandomBits(tile) : 0;
/* Land info of nearby tiles */
case 0x62: return GetNearbyIndustryTileInformation(parameter, tile, INVALID_INDUSTRY, false);
@@ -250,7 +250,7 @@ uint32 IndustryGetVariable(const ResolverObject *object, byte variable, byte par
/* Animation stage of nearby tiles */
case 0x63:
tile = GetNearbyTile(parameter, tile, false);
if (IsTileType(tile, MP_INDUSTRY) && Industry::GetByTile(tile) == industry) {
if (industry->TileBelongsToIndustry(tile)) {
return GetAnimationFrame(tile);
}
return 0xFFFFFFFF;
+2 -2
View File
@@ -331,7 +331,7 @@ bool StartStopIndustryTileAnimation(const Industry *ind, IndustryAnimationTrigge
bool ret = true;
uint32 random = Random();
TILE_AREA_LOOP(tile, ind->location) {
if (IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == ind->index) {
if (ind->TileBelongsToIndustry(tile)) {
if (StartStopIndustryTileAnimation(tile, iat, random)) {
SB(random, 0, 16, Random());
} else {
@@ -415,7 +415,7 @@ void TriggerIndustry(Industry *ind, IndustryTileTrigger trigger)
{
uint32 reseed_industry = 0;
TILE_AREA_LOOP(tile, ind->location) {
if (IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == ind->index) {
if (ind->TileBelongsToIndustry(tile)) {
DoTriggerIndustryTile(tile, trigger, ind, reseed_industry);
}
}
+4
View File
@@ -34,6 +34,7 @@
#include "newgrf_object.h"
#include "date_func.h"
#include "newgrf_debug.h"
#include "vehicle_func.h"
#include "table/strings.h"
#include "table/object_land.h"
@@ -221,6 +222,9 @@ CommandCost CmdBuildObject(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
/* Can't build on water owned by another company. */
Owner o = GetTileOwner(t);
if (o != OWNER_NONE && o != OWNER_WATER) cost.AddCost(CheckOwnership(o, t));
/* However, the tile has to be clear of vehicles. */
cost.AddCost(EnsureNoVehicleOnGround(t));
}
} else {
if (!allow_ground) return_cmd_error(STR_ERROR_MUST_BE_BUILT_ON_WATER);
+1 -1
View File
@@ -1268,7 +1268,7 @@ void GameLoop()
#ifdef ENABLE_NETWORK
/* Check for UDP stuff */
if (_network_available) NetworkUDPGameLoop();
if (_network_available) NetworkBackgroundLoop();
if (_networking && !IsGeneratingWorld()) {
/* Multiplayer */
+23
View File
@@ -17,6 +17,7 @@
#include "order_backup.h"
#include "vehicle_base.h"
#include "window_func.h"
#include "station_map.h"
OrderBackupPool _order_backup_pool("BackupOrder");
INSTANTIATE_POOL_METHODS(OrderBackup)
@@ -262,3 +263,25 @@ void InitializeOrderBackups()
{
_order_backup_pool.CleanPool();
}
/**
* Removes an order from all vehicles. Triggers when, say, a station is removed.
* @param type The type of the order (OT_GOTO_[STATION|DEPOT|WAYPOINT]).
* @param destination The destination. Can be a StationID, DepotID or WaypointID.
*/
/* static */ void OrderBackup::RemoveOrder(OrderType type, DestinationID destination)
{
OrderBackup *ob;
FOR_ALL_ORDER_BACKUPS(ob) {
for (Order *order = ob->orders; order != NULL; order = order->next) {
OrderType ot = order->GetType();
if (ot == OT_GOTO_DEPOT && (order->GetDepotActionType() & ODATFB_NEAREST_DEPOT) != 0) continue;
if (ot == OT_IMPLICIT || (IsHangarTile(ob->tile) && ot == OT_GOTO_DEPOT)) ot = OT_GOTO_STATION;
if (ot == type && order->GetDestination() == destination) {
/* Remove the order backup! If a station/depot gets removed, we can't/shouldn't restore those broken orders. */
delete ob;
break;
}
}
}
}
+1
View File
@@ -67,6 +67,7 @@ public:
static void ClearGroup(GroupID group);
static void ClearVehicle(const Vehicle *v);
static void RemoveOrder(OrderType type, DestinationID destination);
};
#define FOR_ALL_ORDER_BACKUPS_FROM(var, start) FOR_ALL_ITEMS_FROM(OrderBackup, order_backup_index, var, start)
+3
View File
@@ -27,6 +27,7 @@
#include "station_base.h"
#include "waypoint_base.h"
#include "company_base.h"
#include "order_backup.h"
#include "table/strings.h"
@@ -1699,6 +1700,8 @@ restart:
}
}
}
OrderBackup::RemoveOrder(type, destination);
}
/**
+3 -3
View File
@@ -79,8 +79,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,1,0,!!REVISION!!
PRODUCTVERSION 1,1,0,!!REVISION!!
FILEVERSION 1,1,5,!!REVISION!!
PRODUCTVERSION 1,1,5,!!REVISION!!
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -100,7 +100,7 @@ BEGIN
VALUE "FileDescription", "OpenTTD\0"
VALUE "FileVersion", "!!VERSION!!\0"
VALUE "InternalName", "openttd\0"
VALUE "LegalCopyright", "Copyright \xA9 OpenTTD Developers 2002-2011. All Rights Reserved.\0"
VALUE "LegalCopyright", "Copyright \xA9 OpenTTD Developers 2002-2012. All Rights Reserved.\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "openttd.exe\0"
VALUE "PrivateBuild", "\0"
+1 -1
View File
@@ -60,7 +60,7 @@ const byte _openttd_revision_modified = !!MODIFIED!!;
* final release will always have a lower version number than the released
* version, thus making comparisions on specific revisions easy.
*/
const uint32 _openttd_newgrf_version = 1 << 28 | 1 << 24 | 0 << 20 | 0 << 19 | (!!REVISION!! & ((1 << 19) - 1));
const uint32 _openttd_newgrf_version = 1 << 28 | 1 << 24 | 5 << 20 | 1 << 19 | (!!REVISION!! & ((1 << 19) - 1));
#ifdef __MORPHOS__
/**
+2
View File
@@ -155,6 +155,8 @@ struct NetworkSettings {
uint16 bytes_per_frame; ///< how many bytes may, over a long period, be received per frame?
uint16 bytes_per_frame_burst; ///< how many bytes may, over a short period, be received?
uint16 max_join_time; ///< maximum amount of time, in game ticks, a client may take to join
uint16 max_download_time; ///< maximum amount of time, in game ticks, a client may take to download the map
uint16 max_password_time; ///< maximum amount of time, in game ticks, a client may take to enter the password
bool pause_on_join; ///< pause the game when people join
uint16 server_port; ///< port the server listens on
uint16 server_admin_port; ///< port the server listens on for the admin network
+2
View File
@@ -645,6 +645,8 @@ const SettingDesc _settings[] = {
SDTC_VAR(network.bytes_per_frame, SLE_UINT16, S, NO, 8, 1, 65535, 0, STR_NULL, NULL),
SDTC_VAR(network.bytes_per_frame_burst,SLE_UINT16, S, NO, 256, 1, 65535, 0, STR_NULL, NULL),
SDTC_VAR(network.max_join_time, SLE_UINT16, S, NO, 500, 0, 32000, 0, STR_NULL, NULL),
SDTC_VAR(network.max_download_time, SLE_UINT16, S, NO, 1000, 0, 32000, 0, STR_NULL, NULL),
SDTC_VAR(network.max_password_time, SLE_UINT16, S, NO, 2000, 0, 32000, 0, STR_NULL, NULL),
SDTC_BOOL(network.pause_on_join, S, NO, true, STR_NULL, NULL),
SDTC_VAR(network.server_port, SLE_UINT16, S, NO,NETWORK_DEFAULT_PORT,0,65535,0,STR_NULL, NULL),
SDTC_VAR(network.server_admin_port, SLE_UINT16, S, NO, NETWORK_ADMIN_PORT,0,65535,0,STR_NULL, NULL),