mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-09-02 19:39:12 +00:00
Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
a3fcfdfa4f |
2
Makefile
2
Makefile
@@ -268,7 +268,7 @@ ENDIAN_CHECK=endian_check$(EXE)
|
||||
STRGEN=strgen/strgen$(EXE)
|
||||
OSXAPP="OpenTTD.app"
|
||||
|
||||
REV := 0.5.1
|
||||
REV := 0.5.1-RC2
|
||||
|
||||
# define flag to use for -lrt (some OSes overwrites this later for compatibility)
|
||||
ifndef LRT
|
||||
|
@@ -3838,7 +3838,7 @@ static void AiHandleTakeover(Player *p)
|
||||
if (best_pl->player_money >> 1 >= p->bankrupt_value) {
|
||||
// Computer wants to buy it.
|
||||
old_p = _current_player;
|
||||
_current_player = best_pl->index;
|
||||
_current_player = p->index;
|
||||
DoCommand(0, old_p, 0, DC_EXEC, CMD_BUY_COMPANY);
|
||||
_current_player = old_p;
|
||||
}
|
||||
|
@@ -1,22 +1,3 @@
|
||||
0.5.1 (2007-04-20)
|
||||
------------------------------------------------------------------------
|
||||
(None)
|
||||
|
||||
0.5.1-RC3 (2007-04-17)
|
||||
------------------------------------------------------------------------
|
||||
- Feature: Add list_patches to console commands; shows all patches and values (r9565)
|
||||
- Fix: Select "Custom" in the difficulty settings gui when changing a setting [FS#733] (r9647)
|
||||
- Fix: Building rail on steep slopes ignored build_on_slopes patch setting (r9602)
|
||||
- Fix: Wrong characters in Finnish town names (r9641)
|
||||
- Fix: When checking for no vehicle on ground-tiles, do not take into account vehicles that are in the air (r9542)
|
||||
- Fix: Bankrupt AIs no longer buy over themselves (also added safeguards to prevent in future) (r9540 / r9541)
|
||||
- Fix: When company is removed, sell all shares of the and in the company (r9533)
|
||||
- Fix: Crash when 2 or more clients joined at roughly the same time (r9529)
|
||||
- Fix: Custom currency was overwritten and fix euro introduction (r9467, r9469)
|
||||
- Fix: Values of diff_custom and snow_line in .cfg were not checked properly (r9455)
|
||||
- Fix: When deleting a vehicle which has shared orders with one more vehicle and no orders, segfaulted (r9429)
|
||||
|
||||
|
||||
0.5.1-RC2 (2007-03-23)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: crashes when the chatbox would be drawn outside of the main window [FS#701] (r9420)
|
||||
@@ -1356,6 +1337,7 @@
|
||||
|
||||
0.2.1 (2004-04-04)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- Fix: copy orders crashed if you clicked on a wagon
|
||||
- Feature: 'A' hotkey now always opens autorail
|
||||
- Change: Moved autorail button
|
||||
@@ -1368,6 +1350,7 @@
|
||||
|
||||
0.2 (2004-04-03)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- Feature: autoscroll (only works to left/right)
|
||||
- Feature: train checkpoints, instead of ttdpatch's nonstop handling
|
||||
- Feature: ttdpatch compatible nonstop handling
|
||||
@@ -1428,6 +1411,7 @@
|
||||
|
||||
0.1.4 (2004-03-25)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- Feature: crash submit system on win32
|
||||
- Fix: train smoke clouds
|
||||
- Fix: train engine sounds
|
||||
@@ -1468,6 +1452,7 @@
|
||||
|
||||
0.1.3 (2004-03-18)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- Fixed message options window
|
||||
- Fixed company takeover/purchase
|
||||
- Feature: Improved mouse scroll zooming
|
||||
@@ -1491,6 +1476,7 @@
|
||||
|
||||
0.1.2 (2004-03-15)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- Mouse wheel can be used to zoom in out on win32 (ludde)
|
||||
- Implemented some support for resizing the window dynamically in win32 (ludde)
|
||||
- Fixed tunnel mouse icon for maglev and monorail
|
||||
@@ -1498,6 +1484,7 @@
|
||||
|
||||
0.1.1 (2004-03-14)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
- Preliminary presignal support
|
||||
- Added external MIDI driver for unix version (by robertnorris)
|
||||
- Added DirectMusic driver for Win32 version
|
||||
|
@@ -1402,19 +1402,6 @@ DEF_CONSOLE_CMD(ConPatch)
|
||||
return true;
|
||||
}
|
||||
|
||||
DEF_CONSOLE_CMD(ConListPatches)
|
||||
{
|
||||
if (argc == 0) {
|
||||
IConsoleHelp("List patch options. Usage: 'list_patches'");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (argc != 1) return false;
|
||||
|
||||
IConsoleListPatches();
|
||||
return true;
|
||||
}
|
||||
|
||||
DEF_CONSOLE_CMD(ConListDumpVariables)
|
||||
{
|
||||
const IConsoleVar *var;
|
||||
@@ -1495,7 +1482,6 @@ void IConsoleStdLibRegister(void)
|
||||
IConsoleCmdRegister("pwd", ConPrintWorkingDirectory);
|
||||
IConsoleCmdRegister("clear", ConClearBuffer);
|
||||
IConsoleCmdRegister("patch", ConPatch);
|
||||
IConsoleCmdRegister("list_patches", ConListPatches);
|
||||
|
||||
IConsoleAliasRegister("dir", "ls");
|
||||
IConsoleAliasRegister("del", "rm %+");
|
||||
|
13
currency.c
13
currency.c
@@ -153,17 +153,12 @@ void CheckSwitchToEuro(void)
|
||||
}
|
||||
|
||||
/**
|
||||
* Will fill _currency_specs array with
|
||||
* Called only from newgrf.c. Will fill _currency_specs array with
|
||||
* default values from origin_currency_specs
|
||||
* Called only from newgrf.c and settings.c.
|
||||
* @param preserve_custom will not reset custom currency (the latest one on the list)
|
||||
* if ever it is flagged to true. In which case, the total size of the memory to move
|
||||
* will be one currency spec less, thus preserving the custom curreny from been
|
||||
* overwritten.void ResetCurrencies(bool preserve_custom)
|
||||
*/
|
||||
void ResetCurrencies(bool preserve_custom)
|
||||
**/
|
||||
void ResetCurrencies(void)
|
||||
{
|
||||
memcpy(&_currency_specs, &origin_currency_specs, sizeof(origin_currency_specs) - (preserve_custom ? sizeof(_custom_currency) : 0));
|
||||
memcpy(&_currency_specs, &origin_currency_specs, sizeof(origin_currency_specs));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -38,7 +38,7 @@ extern CurrencySpec _currency_specs[NUM_CURRENCY];
|
||||
|
||||
uint GetMaskOfAllowedCurrencies(void);
|
||||
void CheckSwitchToEuro(void);
|
||||
void ResetCurrencies(bool preserve_custom);
|
||||
void ResetCurrencies(void);
|
||||
StringID* BuildCurrencyDropdown(void);
|
||||
byte GetNewgrfCurrencyIdConverted(byte grfcurr_id);
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
.\" Hey, EMACS: -*- nroff -*-
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.Dd April 20, 2007
|
||||
.Dd March 23, 2007
|
||||
.Dt OPENTTD 6
|
||||
.Sh NAME
|
||||
.Nm openttd
|
||||
|
62
economy.c
62
economy.c
@@ -246,41 +246,6 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player)
|
||||
{
|
||||
Town *t;
|
||||
PlayerID old = _current_player;
|
||||
|
||||
assert(old_player != new_player);
|
||||
|
||||
{
|
||||
Player *p;
|
||||
uint i;
|
||||
|
||||
/* See if the old_player had shares in other companies */
|
||||
_current_player = old_player;
|
||||
FOR_ALL_PLAYERS(p) {
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (p->share_owners[i] == old_player) {
|
||||
/* Sell his shares */
|
||||
int32 res = DoCommand(0, p->index, 0, DC_EXEC, CMD_SELL_SHARE_IN_COMPANY);
|
||||
/* Because we are in a DoCommand, we can't just execute an other one and
|
||||
* expect the money to be removed. We need to do it ourself! */
|
||||
SubtractMoneyFromPlayer(res);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Sell all the shares that people have on this company */
|
||||
p = GetPlayer(old_player);
|
||||
for (i = 0; i < 4; i++) {
|
||||
_current_player = p->share_owners[i];
|
||||
if (_current_player != PLAYER_SPECTATOR) {
|
||||
/* Sell the shares */
|
||||
int32 res = DoCommand(0, old_player, 0, DC_EXEC, CMD_SELL_SHARE_IN_COMPANY);
|
||||
/* Because we are in a DoCommand, we can't just execute an other one and
|
||||
* expect the money to be removed. We need to do it ourself! */
|
||||
SubtractMoneyFromPlayer(res);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_current_player = old_player;
|
||||
|
||||
/* Temporarily increase the player's money, to be sure that
|
||||
@@ -373,6 +338,25 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player)
|
||||
/* Change color of existing windows */
|
||||
if (new_player != PLAYER_SPECTATOR) ChangeWindowOwner(old_player, new_player);
|
||||
|
||||
{
|
||||
Player *p;
|
||||
uint i;
|
||||
|
||||
/* Check for shares */
|
||||
FOR_ALL_PLAYERS(p) {
|
||||
for (i = 0; i < 4; i++) {
|
||||
/* 'Sell' the share if this player has any */
|
||||
if (p->share_owners[i] == _current_player) {
|
||||
p->share_owners[i] = PLAYER_SPECTATOR;
|
||||
}
|
||||
}
|
||||
}
|
||||
p = GetPlayer(_current_player);
|
||||
/* Sell all the shares that people have on this company */
|
||||
for (i = 0; i < 4; i++)
|
||||
p->share_owners[i] = PLAYER_SPECTATOR;
|
||||
}
|
||||
|
||||
_current_player = old;
|
||||
|
||||
MarkWholeScreenDirty();
|
||||
@@ -1711,16 +1695,12 @@ int32 CmdSellShareInCompany(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
int32 CmdBuyCompany(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
{
|
||||
Player *p;
|
||||
PlayerID pid = (PlayerID)p1;
|
||||
|
||||
/* Disable takeovers in multiplayer games */
|
||||
if (!IsValidPlayer(pid) || _networking) return CMD_ERROR;
|
||||
|
||||
/* Do not allow players to take over themselves */
|
||||
if (pid == _current_player) return CMD_ERROR;
|
||||
if (!IsValidPlayer((PlayerID)p1) || _networking) return CMD_ERROR;
|
||||
|
||||
SET_EXPENSES_TYPE(EXPENSES_OTHER);
|
||||
p = GetPlayer(pid);
|
||||
p = GetPlayer(p1);
|
||||
|
||||
if (!p->is_ai) return CMD_ERROR;
|
||||
|
||||
|
@@ -144,10 +144,10 @@ static FT_Error GetFontByFaceName(const char *font_name, FT_Face *face)
|
||||
|
||||
|
||||
folder_error:
|
||||
registry_no_font_found:
|
||||
#if defined(UNICODE)
|
||||
free(font_namep);
|
||||
free(font_path);
|
||||
#endif
|
||||
registry_no_font_found:
|
||||
RegCloseKey(hKey);
|
||||
return err;
|
||||
}
|
||||
|
@@ -19,21 +19,20 @@ Bugs for 0.5.1
|
||||
------------------------------------------------------------------------
|
||||
URL: http://bugs.openttd.org
|
||||
|
||||
-735 Plural rule not expanded correctly when non-numeric placeholder uses
|
||||
-732 Trains are lost after autorenewal/autoreplace
|
||||
-716 Train Crash in Depot
|
||||
-677 Badspacing in news summaries
|
||||
-674 Map signs allow less nonenglish characters than english ones
|
||||
-672 Non-transparent station names' backgrounds do not resize properly upon language change
|
||||
-677 Badspacing in news summaries
|
||||
-674 Map signs allow less nonenglish characters than english ones
|
||||
-672 Non-transparent station names' backgrounds do not resize properly upon language change
|
||||
-669 Docks/Airports/RV Stations can be built without available vehicles
|
||||
-646 AI builds useless stations
|
||||
-601 Airports can't get flooded when they have planes in them
|
||||
-599 Reloaded game lost company passwords
|
||||
-594 Terraforming wipes out canals
|
||||
-601 airports can't get flooded when they have planes in them
|
||||
-599 reloaded game lost company passwords
|
||||
-594 terraforming wipes out canals
|
||||
-591 Autorenew fails under certain conditions
|
||||
-583 Fatal fault or crash during startup
|
||||
-571 Problems with vehicle purchase lists with NewGRFs
|
||||
-559 Front-/Rear-facing engines don't line up with each other
|
||||
-553 Autorenew doesn't warn when replacement isn't available
|
||||
-546 Overflows due to inflation
|
||||
-546 [0.5.0 RC3] Inflation overflow
|
||||
-540 Planes vanished when offered exclusive
|
||||
-539 Trains can cash the same cargo multiple times
|
||||
-524 OSX sometimes (not always) fails to find free disk space
|
||||
|
@@ -732,7 +732,6 @@ STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Colocar
|
||||
STR_028D_PLACE_LIGHTHOUSE :{BLACK}Colocar farol
|
||||
STR_028E_PLACE_TRANSMITTER :{BLACK}Colocar transmissor
|
||||
STR_028F_DEFINE_DESERT_AREA :{BLACK}Define área desértica.{} Pressione e segure CTRL para removê-la
|
||||
STR_CREATE_LAKE :{BLACK}Define área com água.{} Faz um canal, a menos se CTRL for pressionado ao nível do mar, neste caso inundará ao redor
|
||||
STR_0290_DELETE :{BLACK}Remover
|
||||
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Remover esta cidade completamente
|
||||
STR_0292_SAVE_SCENARIO :Salvar cenário
|
||||
|
@@ -1828,7 +1828,7 @@ STR_4011_LOAD_HEIGHTMAP :{WHITE}Заре
|
||||
STR_4800_IN_THE_WAY :{WHITE}{STRING} пречи
|
||||
STR_4801 :{WHITE}{INDUSTRY}
|
||||
STR_4802_COAL_MINE :Мина за въглища
|
||||
STR_4803_POWER_STATION :Електроцентрала
|
||||
STR_4803_POWER_STATION :
|
||||
STR_4804_SAWMILL :Дъскорезница
|
||||
STR_4805_FOREST :Гора
|
||||
STR_4806_OIL_REFINERY :Нефтена рафинерия
|
||||
|
@@ -3094,7 +3094,7 @@ STR_WORLD_GENERATION :{BLACK}Wereld m
|
||||
STR_TREE_GENERATION :{BLACK}Bos plaatsing
|
||||
STR_UNMOVABLE_GENERATION :{BLACK}Onverplaatsbare generatie
|
||||
STR_CLEARING_TILES :{BLACK}Ruig en
|
||||
STR_SETTINGUP_GAME :{BLACK}Spel aan het configureren
|
||||
STR_SETTINGUP_GAME :{BLACK}Spel aan het instellen
|
||||
STR_PREPARING_TILELOOP :{BLACK}Bezig met vlakken
|
||||
STR_PREPARING_GAME :{BLACK}Voorbereiden spel
|
||||
STR_DIFFICULTY_TO_CUSTOM :{WHITE}Deze aktie past de moeilijkheidsgraag aan naam custom
|
||||
|
@@ -991,7 +991,7 @@ STR_EURO_INTRODUCE :{BLACK}{BIGFONT
|
||||
STR_TRAIN_HAS_TOO_FEW_ORDERS :{WHITE}Trajno {COMMA} havas maltro da ordenoj enplane
|
||||
STR_TRAIN_HAS_VOID_ORDER :{WHITE}Trajno {COMMA} havas malplenan ordenon
|
||||
STR_TRAIN_HAS_DUPLICATE_ENTRY :{WHITE}Trajno {COMMA} havas duoblajn ordenojn
|
||||
STR_TRAIN_HAS_INVALID_ENTRY :{WHITE}Trajno {COMMA} havas nevalidan stacion en la ordenoj
|
||||
STR_TRAIN_HAS_INVALID_ENTRY :{WHITE}Trajnno {COMMA} havas nevalidan stacion en la ordenoj
|
||||
STR_ROADVEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}Vojveturilo {COMMA} havas maltro da ordenoj enplane
|
||||
STR_ROADVEHICLE_HAS_VOID_ORDER :{WHITE}Vojveturilo {COMMA} havas malplenan ordenon
|
||||
STR_ROADVEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}Vojveturilo {COMMA} havas duoblajn ordenojn
|
||||
@@ -1385,7 +1385,7 @@ STR_NETWORK_REFRESH_TIP :{BLACK}Refreŝi
|
||||
STR_NETWORK_COMPANY_INFO :{SILVER}KOMPANIAJ INFORMOJ
|
||||
|
||||
STR_NETWORK_COMPANY_NAME :{SILVER}Kompaninomo: {WHITE}{STRING}
|
||||
STR_NETWORK_INAUGURATION_YEAR :{SILVER}Inaŭguro: {WHITE}{NUM}
|
||||
STR_NETWORK_INAUGURATION_YEAR :{SILVER}Enaŭguro: {WHITE}{NUM}
|
||||
STR_NETWORK_VALUE :{SILVER}Kompanivaloro: {WHITE}{CURRENCY64}
|
||||
STR_NETWORK_CURRENT_BALANCE :{SILVER}Nuna monstato: {WHITE}{CURRENCY64}
|
||||
STR_NETWORK_LAST_YEARS_INCOME :{SILVER}Lastjara enspezo: {WHITE}{CURRENCY64}
|
||||
@@ -2118,7 +2118,7 @@ STR_7034_CLICK_ON_SELECTED_NEW_COLOR :{BLACK}Alklaku
|
||||
STR_7035_INCREASE_SIZE_OF_LOAN :{BLACK}Grandigu prunton
|
||||
STR_7036_REPAY_PART_OF_LOAN :{BLACK}Repagu pruntparton
|
||||
STR_7037_PRESIDENT :{WHITE}{PLAYERNAME}{}{GOLD}(Manaĝanto)
|
||||
STR_7038_INAUGURATED :{GOLD}Inaŭgurita: {WHITE}{NUM}
|
||||
STR_7038_INAUGURATED :{GOLD}Enaŭguris: {WHITE}{NUM}
|
||||
STR_7039_VEHICLES :{GOLD}Veturiloj:
|
||||
STR_TRAINS :{WHITE}{COMMA} trajno{P "" j}
|
||||
STR_ROAD_VEHICLES :{WHITE}{COMMA} vojveturilo{P "" j}
|
||||
|
@@ -690,7 +690,6 @@ STR_0206_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Mängij
|
||||
STR_0207_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Konkurendi jaama saabus esimene veovahend
|
||||
STR_0208_ACCIDENTS_DISASTERS :{YELLOW}Õnnetused / katastroofid
|
||||
STR_0209_COMPANY_INFORMATION :{YELLOW}Ettevõtte teave
|
||||
STR_NEWS_OPEN_CLOSE :{YELLOW}Ava / sulge tööstuseid
|
||||
STR_020A_ECONOMY_CHANGES :{YELLOW}Muutused majanduses
|
||||
STR_020B_ADVICE_INFORMATION_ON_PLAYER :{YELLOW}Soovitused ja teated mängija veovahendite kohta
|
||||
STR_020C_NEW_VEHICLES :{YELLOW}Uued veovahendid
|
||||
@@ -734,7 +733,7 @@ STR_022D_ARE_YOU_SURE_YOU_WANT_TO :{WHITE}Oled sa
|
||||
STR_022E_LANDSCAPE_GENERATION :{BLACK}Maastiku loomine
|
||||
STR_022F_TOWN_GENERATION :{BLACK}Linnade loomine
|
||||
STR_0230_INDUSTRY_GENERATION :{BLACK}Tööstuste loomine
|
||||
STR_0231_ROAD_CONSTRUCTION :{BLACK}Teeehitus
|
||||
STR_0231_ROAD_CONSTRUCTION :{BLACK}Teede ehitamine
|
||||
STR_0233_TOWN_GENERATION :{WHITE}Linnade loomine
|
||||
STR_0234_NEW_TOWN :{BLACK}Uus linn
|
||||
STR_0235_CONSTRUCT_NEW_TOWN :{BLACK}Ehita uus linn
|
||||
@@ -795,12 +794,12 @@ STR_0269_CONSTRUCT_STEEL_MILL :{BLACK}Ehita te
|
||||
STR_026A_CONSTRUCT_FARM :{BLACK}Raja farm
|
||||
STR_026B_CONSTRUCT_IRON_ORE_MINE :{BLACK}Ehita rauamaagikaevandus
|
||||
STR_026C_CONSTRUCT_OIL_WELLS :{BLACK}Ehita naftapuuraugud
|
||||
STR_026D_CONSTRUCT_BANK_CAN_ONLY :{BLACK}Ehita pank (saab ehitada vaid linnadesse, mille rahvastikuarv ületab 1200)
|
||||
STR_026D_CONSTRUCT_BANK_CAN_ONLY :{BLACK}Ehita pank (seda saab ehitada vaid linnadesse, mille rahvastikuarv ületab 1200)
|
||||
STR_026E_CONSTRUCT_PAPER_MILL :{BLACK}Ehita paberitehas
|
||||
STR_026F_CONSTRUCT_FOOD_PROCESSING :{BLACK}Ehita toidutööstus
|
||||
STR_0270_CONSTRUCT_PRINTING_WORKS :{BLACK}Ehita trükikoda
|
||||
STR_0271_CONSTRUCT_GOLD_MINE :{BLACK}Ehita kullakaevandus
|
||||
STR_0272_CONSTRUCT_BANK_CAN_ONLY :{BLACK}Ehita pank (saab vaid linnadesse ehitada)
|
||||
STR_0272_CONSTRUCT_BANK_CAN_ONLY :{BLACK}Ehita pank (seda saab vaid linnadesse ehitada)
|
||||
STR_0273_CONSTRUCT_LUMBER_MILL_TO :{BLACK}Ehita saeveski (vihmametsade puhustamiseks ja puidu tootmiseks)
|
||||
STR_0274_PLANT_FRUIT_PLANTATION :{BLACK}Istuta puuviljaistandus
|
||||
STR_0275_PLANT_RUBBER_PLANTATION :{BLACK}Istuta kummipuuistandus
|
||||
@@ -830,7 +829,6 @@ STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Loo maas
|
||||
STR_028D_PLACE_LIGHTHOUSE :{BLACK}Ehita tuletorn
|
||||
STR_028E_PLACE_TRANSMITTER :{BLACK}Paigalda saatjamast
|
||||
STR_028F_DEFINE_DESERT_AREA :{BLACK}Loo kõrbealad.{}Eemaldamiseks klõpsa hoides all CTRL nuppu
|
||||
STR_CREATE_LAKE :{BLACK}Määratle veealad.{}Ehita kanal. CTRL-klahvi all hoides ujutab ümbruskonna üle.
|
||||
STR_0290_DELETE :{BLACK}Kustuta
|
||||
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Hävita see linn täielikult
|
||||
STR_0292_SAVE_SCENARIO :Salvesta kaart
|
||||
@@ -2620,7 +2618,7 @@ STR_INVALID_ORDER :{RED} (Ebasobiv
|
||||
|
||||
STR_UNKNOWN_DESTINATION :tundmatu sihtpunkt
|
||||
STR_8812_EMPTY :{LTBLUE}Tühi
|
||||
STR_8813_FROM :{LTBLUE}{CARGO} jaamast {STATION}
|
||||
STR_8813_FROM :{LTBLUE}{CARGO} {STATION}'st
|
||||
STR_FROM_MULT :{LTBLUE}{CARGO} jaamast {STATION} (x{NUM})
|
||||
STR_8814_TRAIN_IS_WAITING_IN_DEPOT :{WHITE}Rong {COMMA} ootab depoos
|
||||
STR_8815_NEW_VEHICLES :{BLACK}Uus rong
|
||||
|
@@ -1887,8 +1887,8 @@ STR_4838_IMPROVED_FARMING_METHODS :{BLACK}{BIGFONT
|
||||
STR_4839_PRODUCTION_DOWN_BY_50 :{BLACK}{BIGFONT}{INDUSTRY}: tuotanto vähenee 50{NBSP}%:lla.
|
||||
STR_483A_INSECT_INFESTATION_CAUSES :{BLACK}{BIGFONT}{INDUSTRY}: hyönteisparvet aiheuttavat tuhoa!{}Tuotanto vähenee 50{NBSP}%:lla.
|
||||
STR_483B_CAN_ONLY_BE_POSITIONED :{WHITE}...voidaan asettaa vain kartan reunoille.
|
||||
STR_INDUSTRY_PROD_GOUP :{BLACK}{BIGFONT}{1:INDUSTRY} tuottaa {0:STRING} {2:COMMA}{NBSP}% entistä enemmän!
|
||||
STR_INDUSTRY_PROD_GODOWN :{BLACK}{BIGFONT}{1:INDUSTRY} tuottaa {0:STRING} {2:COMMA}{NBSP}% entistä vähemmän!
|
||||
STR_INDUSTRY_PROD_GOUP ::{BLACK}{BIGFONT}{1:INDUSTRY} tuottaa {0:STRING} {2:COMMA}{NBSP}% entistä enemmän!
|
||||
STR_INDUSTRY_PROD_GODOWN ::{BLACK}{BIGFONT}{1:INDUSTRY} tuottaa {0:STRING} {2:COMMA}{NBSP}% entistä vähemmän!
|
||||
|
||||
##id 0x5000
|
||||
STR_5000_TRAIN_IN_TUNNEL :{WHITE}Juna on tunnelissa.
|
||||
@@ -2192,7 +2192,6 @@ STR_707E_OWNED_BY_OWNED_BY :{WHITE}({COMMA}
|
||||
STR_707F_HAS_BEEN_TAKEN_OVER_BY :{BLACK}{BIGFONT}Yhtiön {COMPANY} on ottanut haltuun {COMPANY}!
|
||||
STR_7080_PROTECTED :{WHITE}Tällä yhtiöllä ei ole vielä osakkeita...
|
||||
|
||||
STR_LIVERY_DEFAULT :Normaalit tunnusvärit
|
||||
STR_LIVERY_STEAM :Höyryveturi
|
||||
STR_LIVERY_DIESEL :Dieselveturi
|
||||
STR_LIVERY_ELECTRIC :Sähköveturi
|
||||
|
@@ -2922,7 +2922,6 @@ STR_WORLD_GENERATION_CAPTION :{WHITE}Xeració
|
||||
STR_RANDOM_SEED :{BLACK}Semilla Aleatoria:
|
||||
STR_RANDOM_SEED_HELP :{BLACK}Pincha para introducir unha semilla
|
||||
STR_LAND_GENERATOR :{BLACK}Xerador de terreo:
|
||||
STR_TREE_PLACER :{BLACK}Algoritmo para árbores:
|
||||
STR_TERRAIN_TYPE :{BLACK}Tipo de terreo:
|
||||
STR_QUANTITY_OF_SEA_LAKES :{BLACK}Nivel do mar:
|
||||
STR_SMOOTHNESS :{BLACK}Suavidade:
|
||||
@@ -2943,9 +2942,7 @@ STR_GENERATION_PROGRESS :{BLACK}{NUM} /
|
||||
STR_WORLD_GENERATION :{BLACK}Xeración do mundo
|
||||
STR_SETTINGUP_GAME :{BLACK}Configurando partida
|
||||
STR_PREPARING_GAME :{BLACK}Preparando partida
|
||||
STR_DIFFICULTY_TO_CUSTOM :{WHITE}Esta acción cambiou o nivel de dificultade a Personalizado
|
||||
STR_SE_FLAT_WORLD :{WHITE}Terreo Chan
|
||||
STR_SE_RANDOM_LAND :{WHITE}Terreo aleatorio
|
||||
STR_SE_NEW_WORLD :{BLACK}Crear novo escenario
|
||||
STR_SE_CAPTION :{WHITE}Tipo de escenario
|
||||
STR_FLAT_WORLD_HEIGHT_NUM :{NUM}
|
||||
@@ -2974,9 +2971,4 @@ STR_MEASURE_AREA :{BLACK}Área: {
|
||||
STR_MEASURE_LENGTH_HEIGHTDIFF :{BLACK}Lonxitude: {NUM}{}Diferencia de altura: {NUM} m
|
||||
STR_MEASURE_AREA_HEIGHTDIFF :{BLACK}Área: {NUM} x {NUM}{}Diferencia de altura: {NUM} m
|
||||
|
||||
############ Date formatting
|
||||
STR_DATE_TINY :{STRING}-{STRING}-{NUM}
|
||||
STR_DATE_SHORT :{STRING} {NUM}
|
||||
STR_DATE_LONG :{STRING} {STRING} {NUM}
|
||||
|
||||
########
|
||||
|
3097
lang/italian.txt
3097
lang/italian.txt
File diff suppressed because it is too large
Load Diff
@@ -744,8 +744,8 @@ STR_0298_LOAD_SCENARIO :{WHITE}시나
|
||||
STR_0299_SAVE_SCENARIO :{WHITE}시나리오 저장하기
|
||||
STR_029A_PLAY_SCENARIO :{BLACK}시나리오 플레이
|
||||
STR_PLAY_HEIGHTMAP :{BLACK}DEM지형 플레이
|
||||
STR_PLAY_HEIGHTMAP_HINT :{BLACK}DEM지형을 풍경으로 하여 게임을 시작합
|
||||
STR_029B_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}이 시나리오를 종료하시겠습니까?
|
||||
STR_PLAY_HEIGHTMAP_HINT :{BLACK}DEM지형을 풍경으로 하여 게임을 시작합니다.
|
||||
STR_029C_QUIT_EDITOR :{WHITE}에디터 종료
|
||||
STR_029D_CAN_ONLY_BE_BUILT_IN_TOWNS :{WHITE}...1200명 이상의 도시에만 건설할 수 있습니다!
|
||||
STR_029E_MOVE_THE_STARTING_DATE :{BLACK}시작년도를 1년 앞당깁니다.
|
||||
|
@@ -590,7 +590,6 @@ STR_0206_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Ankomms
|
||||
STR_0207_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Ankommst av første kjøretøy på motstanders stasjon
|
||||
STR_0208_ACCIDENTS_DISASTERS :{YELLOW}Ulykker/katastrofer
|
||||
STR_0209_COMPANY_INFORMATION :{YELLOW}Firmainformasjon
|
||||
STR_NEWS_OPEN_CLOSE :{YELLOW}Åpninger / Stengninger av industrier
|
||||
STR_020A_ECONOMY_CHANGES :{YELLOW}Økonomiske endringer
|
||||
STR_020B_ADVICE_INFORMATION_ON_PLAYER :{YELLOW}Råd/informasjon om spillers kjøretøy
|
||||
STR_020C_NEW_VEHICLES :{YELLOW}Nye kjøretøy
|
||||
@@ -730,7 +729,6 @@ STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Plasser
|
||||
STR_028D_PLACE_LIGHTHOUSE :{BLACK}Plasser fyrtårn
|
||||
STR_028E_PLACE_TRANSMITTER :{BLACK}Plasser radiosender
|
||||
STR_028F_DEFINE_DESERT_AREA :{BLACK}Definer ørkenområde.{}Trykk og hold inne CTRL for å fjerne den
|
||||
STR_CREATE_LAKE :{BLACK}Definer vannområde.{}Lag en kanal, untatt hvis CTRL holdes nede på havnivå, hvor områdene vil fylles istedenfor
|
||||
STR_0290_DELETE :{BLACK}Slett
|
||||
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Slett denne byen fullstendig
|
||||
STR_0292_SAVE_SCENARIO :Lagre scenario
|
||||
@@ -1208,7 +1206,6 @@ STR_TREES_RANDOM_TYPE :{BLACK}Trær av
|
||||
STR_TREES_RANDOM_TYPE_TIP :{BLACK}Plasser trær av tilfeldig type
|
||||
|
||||
STR_CANT_BUILD_CANALS :{WHITE}Kan ikke bygge kanaler her...
|
||||
STR_BUILD_CANALS_TIP :{BLACK}Bygg kanaler.
|
||||
STR_LANDINFO_CANAL :Kanal
|
||||
|
||||
STR_CANT_BUILD_LOCKS :{WHITE}Kan ikke bygge sluser her...
|
||||
@@ -2632,9 +2629,6 @@ STR_INCOMPATIBLE_RAIL_TYPES :Inkompatible je
|
||||
STR_TRAIN_NO_POWER :{RED}Ingen strøm
|
||||
STR_TRAIN_START_NO_CATENARY :Dette sporet mangler et kjede, så toget kan ikke starte
|
||||
|
||||
STR_NEW_VEHICLE_NOW_AVAILABLE :{BLACK}{BIGFONT}Ny {STRING} nå tilgjengelig!
|
||||
STR_NEW_VEHICLE_TYPE :{BLACK}{BIGFONT}{STRING}
|
||||
STR_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}Ny {STRING} Nå tilgjengelig! - {STRING}
|
||||
|
||||
##id 0x9000
|
||||
STR_9000_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Kjøretøy i veien
|
||||
|
@@ -731,7 +731,6 @@ STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Plasser
|
||||
STR_028D_PLACE_LIGHTHOUSE :{BLACK}Plasser fyrtårn
|
||||
STR_028E_PLACE_TRANSMITTER :{BLACK}Plasser radiosendar
|
||||
STR_028F_DEFINE_DESERT_AREA :{BLACK}Definer ørkenområde.{}Trykk og held inne CTRL for å fjerne det
|
||||
STR_CREATE_LAKE :{BLACK}Definer vassområde.{}Lag ein kanal. Viss CTRL er halde nede ved havnivå, vil vatnet i staden fløyme over omgivnadene
|
||||
STR_0290_DELETE :{BLACK}Slett
|
||||
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Slett byen heilt
|
||||
STR_0292_SAVE_SCENARIO :Lagre scenario
|
||||
|
@@ -3182,7 +3182,7 @@ STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Pojemno
|
||||
STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Moc: {GOLD}+{POWER}{BLACK} Waga: {GOLD}+{WEIGHT_S}
|
||||
STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Można przebudować na: {GOLD}
|
||||
STR_PURCHASE_INFO_ALL_TYPES :Wszystkie typy towarów
|
||||
STR_PURCHASE_INFO_ALL_BUT :Wszystko oprócz {GOLD}
|
||||
STR_PURCHASE_INFO_ALL_BUT :Wszystko oprócz {GOLD}}
|
||||
|
||||
########### String for New Landscape Generator
|
||||
|
||||
@@ -3225,7 +3225,7 @@ STR_CLEARING_TILES :{BLACK}Generowa
|
||||
STR_SETTINGUP_GAME :{BLACK}Ustawianie gry
|
||||
STR_PREPARING_TILELOOP :{BLACK}Uaktywnianie pól
|
||||
STR_PREPARING_GAME :{BLACK}Przygotowywanie gry
|
||||
STR_DIFFICULTY_TO_CUSTOM :{WHITE}Zmieniono poziom trudności na "własny"
|
||||
STR_DIFFICULTY_TO_CUSTOM :{WHITE}Ta akcja zmieniła poziom trudności na "własny"
|
||||
STR_SE_FLAT_WORLD :{WHITE}Płaski świat
|
||||
STR_SE_FLAT_WORLD_TIP :{BLACK}Stwórz płaski świat
|
||||
STR_SE_RANDOM_LAND :{WHITE}Losowy teren
|
||||
|
@@ -590,7 +590,6 @@ STR_0206_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Sosirea
|
||||
STR_0207_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Sosirea primului vehicul la una din statiile competitorilor
|
||||
STR_0208_ACCIDENTS_DISASTERS :{YELLOW}Accidente/dezastre
|
||||
STR_0209_COMPANY_INFORMATION :{YELLOW}Informatii despre companie
|
||||
STR_NEWS_OPEN_CLOSE :{YELLOW}Deschidere / inchidere industrii
|
||||
STR_020A_ECONOMY_CHANGES :{YELLOW}Schimbãri economice
|
||||
STR_020B_ADVICE_INFORMATION_ON_PLAYER :{YELLOW}Sfaturi/informatii despre vehiculele tale
|
||||
STR_020C_NEW_VEHICLES :{YELLOW}Vehicule noi
|
||||
@@ -730,7 +729,6 @@ STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Plaseaza
|
||||
STR_028D_PLACE_LIGHTHOUSE :{BLACK}Plaseazã far
|
||||
STR_028E_PLACE_TRANSMITTER :{BLACK}Plaseazã transmitãtor
|
||||
STR_028F_DEFINE_DESERT_AREA :{BLACK}Defineste suprafata de desert.{}Apasã si mentine apasat CTRL pentru a o sterge
|
||||
STR_CREATE_LAKE :{BLACK}Defineste zona apei.{}Creeaza un canal, mai putin cand CTRL este apasat la nivelul marii, cand va inunda, in loc, imprejurimile
|
||||
STR_0290_DELETE :{BLACK}Sterge
|
||||
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Sterge acest oras
|
||||
STR_0292_SAVE_SCENARIO :Salveazã scenariul
|
||||
@@ -785,7 +783,7 @@ STR_WAYPOINTS_DISPLAYED2 :{SETX 12}Afisar
|
||||
STR_02D0_FULL_ANIMATION :{SETX 12}Animatie completã
|
||||
STR_02D2_FULL_DETAIL :{SETX 12}Detalii grafice complete
|
||||
STR_02D4_TRANSPARENT_BUILDINGS :{SETX 12}Peisaj transparent (X)
|
||||
STR_TRANSPARENT_SIGNS :{SETX 12}Semne statii, transparente
|
||||
STR_TRANSPARENT_SIGNS :{SETX 12}Numele statiilor transparente
|
||||
############ range ends here
|
||||
|
||||
############ range for menu starts
|
||||
@@ -934,7 +932,7 @@ STR_OPTIONS_LANG :{BLACK}Limba
|
||||
STR_OPTIONS_LANG_CBO :{BLACK}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{SKIP}{STRING}
|
||||
STR_OPTIONS_LANG_TIP :{BLACK}Alege limba în care doresti afisatã interfata
|
||||
|
||||
STR_OPTIONS_FULLSCREEN :{BLACK}Ecran intreg
|
||||
STR_OPTIONS_FULLSCREEN :{BLACK}Mod
|
||||
STR_OPTIONS_FULLSCREEN_TIP :{BLACK}Bifeaza aceasta casuta pentru a juca in modul
|
||||
|
||||
STR_OPTIONS_RES :{BLACK}Rezolutia ecranului
|
||||
@@ -1026,7 +1024,7 @@ STR_CONFIG_PATCHES_REALISTICACCEL :{LTBLUE}Permite
|
||||
STR_CONFIG_PATCHES_FORBID_90_DEG :{LTBLUE}Interzice trenurilor si navelor sa faca intoarceri de 90 de grade: {ORANGE}{STRING} {LTBLUE} (necesita NPF)
|
||||
STR_CONFIG_PATCHES_JOINSTATIONS :{LTBLUE}Uneste gãrile alãturate: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_FULLLOADANY :{LTBLUE}Pãrãseste statia când orice tip de marfã este 'full load': {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_IMPROVEDLOAD :{LTBLUE}Foloseste algoritm incarcare imbunatatit: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_IMPROVEDLOAD :{LTBLUE}Foloseste algoritmul de LOAD imbunatatit: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_GRADUAL_LOADING :{LTBLUE}Incarca vehiculele gradual: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_INFLATION :{LTBLUE}Inflatia: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_SELECTGOODS :{LTBLUE}Livreazã marfa doar in statiile unde aceasta este ceruta: {ORANGE}{STRING}
|
||||
@@ -1086,16 +1084,16 @@ STR_CONFIG_PATCHES_SERVICEATHELIPAD :{LTBLUE}Service
|
||||
STR_CONFIG_PATCHES_LINK_TERRAFORM_TOOLBAR :{LTBLUE}Conecteaza bara de instrumente pentru peisaj cu cea de constructii feroviare/auto/aeriane: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_REVERSE_SCROLLING :{LTBLUE}Cand faci scroll cu mouse-ul muta ecranul in directia opusã: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MEASURE_TOOLTIP :{LTBLUE}Arata o bara de unelte de masuratori la folosirea uneltelor de constructie: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LIVERIES :{LTBLUE}Arata uniformele companiilor: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LIVERIES :{LTBLUE}Arata unifromete companiilor: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_LIVERIES_NONE :Niciunul
|
||||
STR_CONFIG_PATCHES_LIVERIES_OWN :Propria companie
|
||||
STR_CONFIG_PATCHES_LIVERIES_ALL :Toate companiile
|
||||
STR_CONFIG_PATCHES_PREFER_TEAMCHAT :{LTBLUE}Echipa preferata pentru chat <ENTER>: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_MAX_TRAINS :{LTBLUE}Nr. max. de trenuri per jucãtor: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_TRAINS :{LTBLUE}Nr. max. de trenuri pentru un jucãtor: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_ROADVEH :{LTBLUE}Nr. max. de autovehicule pentru un jucãtor: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_AIRCRAFT :{LTBLUE}Nr. max. de aeronave pentru un jucãtor: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_SHIPS :{LTBLUE}Nr. max. de nave per jucãtor: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_MAX_SHIPS :{LTBLUE}Nr. max. de nave pentru un jucãtor: {ORANGE}{STRING}
|
||||
|
||||
STR_CONFIG_PATCHES_AI_BUILDS_TRAINS :{LTBLUE}Dezactiveazã trenurile pentru jucãtorii PC: {ORANGE}{STRING}
|
||||
STR_CONFIG_PATCHES_AI_BUILDS_ROADVEH :{LTBLUE}Dezactiveazã autovehiculele pentru jucãtorii PC: {ORANGE}{STRING}
|
||||
@@ -1208,7 +1206,6 @@ STR_TREES_RANDOM_TYPE :{BLACK}Arbori d
|
||||
STR_TREES_RANDOM_TYPE_TIP :{BLACK}Planteazã arbori din diverse specii la întâmplare
|
||||
|
||||
STR_CANT_BUILD_CANALS :{WHITE}Nu pot construi un canal aici...
|
||||
STR_BUILD_CANALS_TIP :{BLACK}Construieste canale.
|
||||
STR_LANDINFO_CANAL :Canal
|
||||
|
||||
STR_CANT_BUILD_LOCKS :{WHITE}Nu pot construi o ecluzã aici...
|
||||
@@ -2605,7 +2602,7 @@ STR_8855_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Mergi no
|
||||
STR_8856_INSERT_A_NEW_ORDER_BEFORE :{BLACK}Introdu o comandã înaintea celei selectate sau adaugã o comandã la sfârsitul listei
|
||||
STR_8857_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Forteazã trenul sã astepte la destinatia selectatã pânã la umplerea la capacitate maximã
|
||||
STR_8858_MAKE_THE_HIGHLIGHTED_ORDER :{BLACK}Forteazã trenul sã descarce marfa la destinatia selectatã
|
||||
STR_SERVICE_HINT :{BLACK}Sari peste aceastã comandã dacã nu este necesar un service
|
||||
STR_SERVICE_HINT :{BLACK}Sãri peste aceastã comandã dacã nu este necesar un service
|
||||
STR_VEHICLE_INFO_COST_WEIGHT_SPEED_POWER :{BLACK}Cost: {CURRENCY} Greutate: {WEIGHT_S}{}Vitezã: {VELOCITY} Putere: {POWER}{}Cost de rulare: {CURRENCY}/an{}Capacitate: {CARGO}
|
||||
STR_885C_BROKEN_DOWN :{RED}Defectiune
|
||||
STR_885D_AGE_RUNNING_COST_YR :{BLACK}Vechimea: {LTBLUE}{STRING}{BLACK} Cost de rulare: {LTBLUE}{CURRENCY}/an
|
||||
|
@@ -2907,7 +2907,7 @@ STR_NEWGRF_NO_FILES_INSTALLED :{BLACK}В на
|
||||
STR_NEWGRF_FILENAME :{BLACK}Имя файла: {SILVER}{STRING}
|
||||
STR_NEWGRF_GRF_ID :{BLACK}GRF ID: {SILVER}{STRING}
|
||||
STR_NEWGRF_MD5SUM :{BLACK}Сумма MD5: {SILVER}{STRING}
|
||||
STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Вы хотите сделать изменения в уже запущенной игре - это может привести к сбоям и игровым несоответствиям.{}Вы абсолютно уверены в том, что хотите сделать?
|
||||
STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Вы хотите сделать изменения в уже запущенной игре - это может привести к ошибке игры, и ее вылету.{}Вы абсолютно уверены в том, что хотите сделать?
|
||||
|
||||
|
||||
STR_NEWGRF_ADD :{BLACK}Добавить
|
||||
|
@@ -772,7 +772,6 @@ STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Ustvari
|
||||
STR_028D_PLACE_LIGHTHOUSE :{BLACK}Postavi svetilnik
|
||||
STR_028E_PLACE_TRANSMITTER :{BLACK}Postavi oddajnik
|
||||
STR_028F_DEFINE_DESERT_AREA :{BLACK}Določi območja puščave.{}Pritisni in drži CTRL za odstranitev
|
||||
STR_CREATE_LAKE :{BLACK}Določi področje vode.{}Naredi kanal, razen če je pritisnjen CTRL na morski gladini, ko bo poplavilo okolico.
|
||||
STR_0290_DELETE :{BLACK}Izbriši
|
||||
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Popolnoma izbriši mesto
|
||||
STR_0292_SAVE_SCENARIO :Shrani scenarij
|
||||
@@ -1250,7 +1249,6 @@ STR_TREES_RANDOM_TYPE :{BLACK}Drevesa
|
||||
STR_TREES_RANDOM_TYPE_TIP :{BLACK}Postavi drevesa naključne vrste
|
||||
|
||||
STR_CANT_BUILD_CANALS :{WHITE}Ni mogoče zgraditi kanalov tukaj ...
|
||||
STR_BUILD_CANALS_TIP :{BLACK}Zgradi kanale.
|
||||
STR_LANDINFO_CANAL :Kanal
|
||||
|
||||
STR_CANT_BUILD_LOCKS :{WHITE}Ni mogoče zgraditi zapornic tukaj ...
|
||||
|
@@ -1671,7 +1671,7 @@ STR_TOWN_BRIBE_THE_LOCAL_AUTHORITY :Muta de lokala
|
||||
STR_204D_INITIATE_A_SMALL_LOCAL :{WHITE}{STRING}{}{YELLOW} Starta en liten lokal reklamkampanj, för att attrahera fler passagerare och gods till dina tranporttjänster.{} Kostnad: {CURRENCY}
|
||||
STR_204E_INITIATE_A_MEDIUM_LOCAL :{WHITE}{STRING}{}{YELLOW} Starta en mellanstor lokal reklamkampanj, för att attrahera fler passagerare och gods till dina tranporttjänster.{} Kostnad: {CURRENCY}
|
||||
STR_204F_INITIATE_A_LARGE_LOCAL :{WHITE}{STRING}{}{YELLOW} Starta en stor lokal reklamkampanj, för att attrahera fler passagerare och gods till dina tranporttjänster.{} Kostnad: {CURRENCY}
|
||||
STR_2050_FUND_THE_RECONSTRUCTION :{WHITE}{STRING}{}{YELLOW} Bekosta ombyggnad av stadens vägnätverk. Orsakar ansenliga störningar för vägtrafik i upp till 6 månader.{} Kostnad: {CURRENCY}
|
||||
STR_2050_FUND_THE_RECONSTRUCTION :{WHITE}{STRING}{}{YELLOW} Bekosta ombyggnad av stadens vägnätverk. Orsakar ansenlig splittring för vägtrafik upp till 6 månader.{} Kostnad: {CURRENCY}
|
||||
STR_2051_BUILD_A_STATUE_IN_HONOR :{WHITE}{STRING}{}{YELLOW} Bygg en staty i ditt företags ära.{} Kostnad: {CURRENCY}
|
||||
STR_2052_FUND_THE_CONSTRUCTION_OF :{WHITE}{STRING}{}{YELLOW} Bekosta uppbyggnad av nya kommersiella byggnader i staden.{} Kostnad: {CURRENCY}
|
||||
STR_2053_BUY_1_YEAR_S_EXCLUSIVE :{WHITE}{STRING}{}{YELLOW} Köp 1 års exklusiv transporträttighet i staden. Stadens myndigheter kommer bara tillåta passagerare och gods till användning för ditt företags stationer.{} Kostnad: {CURRENCY}
|
||||
@@ -2630,7 +2630,7 @@ STR_TRAIN_STOPPING :{RED}Stannar
|
||||
STR_TRAIN_STOPPING_VEL :{RED}Stannar, {VELOCITY}
|
||||
STR_INCOMPATIBLE_RAIL_TYPES :Fel järnvägstyp
|
||||
STR_TRAIN_NO_POWER :{RED}Ingen Kraft
|
||||
STR_TRAIN_START_NO_CATENARY :Detta spår saknar kedjekurva, så tåget kan inte starta
|
||||
STR_TRAIN_START_NO_CATENARY :
|
||||
|
||||
STR_NEW_VEHICLE_NOW_AVAILABLE :{BLACK}{BIGFONT}Nya {STRING} är nu tillgänglig!
|
||||
STR_NEW_VEHICLE_TYPE :{BLACK}{BIGFONT}{STRING}
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -590,7 +590,6 @@ STR_0206_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Oyuncun
|
||||
STR_0207_ARRIVAL_OF_FIRST_VEHICLE :{YELLOW}Rakibin durağına ilk aracın gelişi
|
||||
STR_0208_ACCIDENTS_DISASTERS :{YELLOW}Kazalar / felaketler
|
||||
STR_0209_COMPANY_INFORMATION :{YELLOW}Şirket bilgisi
|
||||
STR_NEWS_OPEN_CLOSE :{YELLOW}Fabrika açılış/kapanışları
|
||||
STR_020A_ECONOMY_CHANGES :{YELLOW}Ekonomi değişimleri
|
||||
STR_020B_ADVICE_INFORMATION_ON_PLAYER :{YELLOW}Oyuncunun araçlarıyla ilgili ögüt / bilgi
|
||||
STR_020C_NEW_VEHICLES :{YELLOW}Yeni araçlar
|
||||
@@ -730,7 +729,6 @@ STR_028C_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Haritaya
|
||||
STR_028D_PLACE_LIGHTHOUSE :{BLACK}Deniz feneri koy
|
||||
STR_028E_PLACE_TRANSMITTER :{BLACK}Verici koy
|
||||
STR_028F_DEFINE_DESERT_AREA :{BLACK}Çöl yap, kaldırmak için CTRL'ye basılı tut
|
||||
STR_CREATE_LAKE :{BLACK}Su alanını belirle.{}Deniz seviyesinde CTRL tuşu basılı olmadığı sürece kanal yapar, basılıysa etraftakileri su altında bırakır
|
||||
STR_0290_DELETE :{BLACK}Sil
|
||||
STR_0291_DELETE_THIS_TOWN_COMPLETELY :{BLACK}Sehri tamamen sil
|
||||
STR_0292_SAVE_SCENARIO :Kaydet
|
||||
@@ -1208,7 +1206,6 @@ STR_TREES_RANDOM_TYPE :{BLACK}Rastgele
|
||||
STR_TREES_RANDOM_TYPE_TIP :{BLACK}Rastgele türde ağaçlar koy
|
||||
|
||||
STR_CANT_BUILD_CANALS :{WHITE}Buraya kanal yapılamaz...
|
||||
STR_BUILD_CANALS_TIP :{BLACK}Kanal yap.
|
||||
STR_LANDINFO_CANAL :Kanal
|
||||
|
||||
STR_CANT_BUILD_LOCKS :{WHITE}Buraya kilit yapılamaz...
|
||||
@@ -2632,10 +2629,6 @@ STR_INCOMPATIBLE_RAIL_TYPES :Uyumsuz ray tü
|
||||
STR_TRAIN_NO_POWER :{RED}Elektrik yok
|
||||
STR_TRAIN_START_NO_CATENARY :Bu rayda elektrik olmadiği için bu tren çalışamaz
|
||||
|
||||
STR_NEW_VEHICLE_NOW_AVAILABLE :{BLACK}{BIGFONT}{STRING} artık kullanılabilir!
|
||||
STR_NEW_VEHICLE_TYPE :{BLACK}{BIGFONT}{STRING}
|
||||
STR_NEW_VEHICLE_NOW_AVAILABLE_WITH_TYPE :{BLACK}{STRING} artık kullanılabilir! - {STRING}
|
||||
|
||||
##id 0x9000
|
||||
STR_9000_ROAD_VEHICLE_IN_THE_WAY :{WHITE}Yolda araba var
|
||||
STR_9001_ROAD_VEHICLES :{WHITE}{COMPANY} - {COMMA} Arabalar
|
||||
|
@@ -232,10 +232,8 @@ STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARG
|
||||
STR_0140_NEW_GAME :{BLACK}Nei Spul
|
||||
STR_0141_LOAD_GAME :{BLACK}Laad Spul
|
||||
|
||||
STR_64 :64
|
||||
STR_128 :128
|
||||
STR_256 :256
|
||||
STR_512 :512
|
||||
STR_1024 :1024
|
||||
STR_2048 :2048
|
||||
STR_0148_GAME_OPTIONS :{BLACK}Spul Opsjes
|
||||
@@ -1101,26 +1099,8 @@ STR_482B_TRANSPORTED :{YELLOW}{CARGO}
|
||||
STR_482F_COST :{BLACK}Kostet: {YELLOW}{CURRENCY}
|
||||
|
||||
##id 0x5000
|
||||
STR_5006_MUST_DEMOLISH_TUNNEL_FIRST :{WHITE}Tunnel mat earst fuorthelle wurde
|
||||
STR_5007_MUST_DEMOLISH_BRIDGE_FIRST :{WHITE}Brêge mat earst fuorthelle wurde
|
||||
STR_5008_CANNOT_START_AND_END_ON :{WHITE}Begjin en ein kin net op itselde plak wêze
|
||||
STR_500A_START_AND_END_MUST_BE_IN :{WHITE}Begjin en ein mat yn ien lijn wêze
|
||||
STR_500D :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY}
|
||||
STR_5012_WOODEN :Hout
|
||||
STR_5013_CONCRETE :Beton
|
||||
STR_5014_TUBULAR_STEEL :Buis, Stiel
|
||||
STR_5015_CAN_T_BUILD_BRIDGE_HERE :{WHITE}Kin hjir gjin brêge bouwe...
|
||||
STR_5016_CAN_T_BUILD_TUNNEL_HERE :{WHITE}Kin hjir gjin tunnel bouwe...
|
||||
STR_5017_RAILROAD_TUNNEL :Spoartunnel
|
||||
STR_501F_WOODEN_RAIL_BRIDGE :Houten spoarbrêge
|
||||
STR_5020_CONCRETE_RAIL_BRIDGE :Betonnen spoarbrêge
|
||||
|
||||
##id 0x5800
|
||||
STR_5800_OBJECT_IN_THE_WAY :{WHITE}Objekt yn it paad
|
||||
STR_5801_TRANSMITTER :Sendmast
|
||||
STR_5802_LIGHTHOUSE :Fjoertoer
|
||||
STR_5806_CAN_T_PURCHASE_THIS_LAND :{WHITE}Kin dit stikje lân net keapje...
|
||||
STR_5807_YOU_ALREADY_OWN_IT :{WHITE}...it is al fan dy!
|
||||
|
||||
|
||||
############ WARNING, using range 0x6000 for strings that are stored in the savegame
|
||||
@@ -1133,93 +1113,14 @@ STR_5807_YOU_ALREADY_OWN_IT :{WHITE}...it is
|
||||
##id 0x6800
|
||||
|
||||
############ range for difficulty levels starts
|
||||
STR_6801_EASY :{BLACK}Maklik
|
||||
STR_6802_MEDIUM :{BLACK}Gewoan
|
||||
############ range for difficulty levels ends
|
||||
|
||||
############ range for difficulty settings starts
|
||||
STR_6805_MAXIMUM_NO_COMPETITORS :{LTBLUE}Maksimum oantal tsjinstanders: {ORANGE}{COMMA}
|
||||
STR_6806_COMPETITOR_START_TIME :{LTBLUE}Tsjinstander begjint: {ORANGE}{STRING}
|
||||
STR_6807_NO_OF_TOWNS :{LTBLUE}Oantal stêden: {ORANGE}{STRING}
|
||||
STR_6808_NO_OF_INDUSTRIES :{LTBLUE}Oantal yndustrieen: {ORANGE}{STRING}
|
||||
STR_680C_CONSTRUCTION_SPEED_OF_COMPETITOR :{LTBLUE}Konstruksjesnelhyd fan tsjinstanders: {ORANGE}{STRING}
|
||||
STR_6810_COST_OF_CONSTRUCTION :{LTBLUE}Konstruksjekosten: {ORANGE}{STRING}
|
||||
STR_6811_TERRAIN_TYPE :{LTBLUE}Terreinsoart: {ORANGE}{STRING}
|
||||
STR_6813_ECONOMY :{LTBLUE}Ekonomy: {ORANGE}{STRING}
|
||||
############ range for difficulty settings ends
|
||||
|
||||
STR_26816_NONE :Gjin
|
||||
STR_6816_LOW :Leech
|
||||
STR_6817_NORMAL :Gewoan
|
||||
STR_6818_HIGH :Heech
|
||||
STR_6819 :{BLACK}{SMALLLEFTARROW}
|
||||
STR_681A :{BLACK}{SMALLRIGHTARROW}
|
||||
STR_681B_VERY_SLOW :Hiel dreech
|
||||
STR_681C_SLOW :Dreech
|
||||
STR_681D_MEDIUM :Gewoan
|
||||
STR_681E_FAST :Hurd
|
||||
STR_681F_VERY_FAST :Hiel hurd
|
||||
STR_6820_LOW :Leech
|
||||
STR_6821_MEDIUM :Gewoan
|
||||
STR_6822_HIGH :Heech
|
||||
STR_6823_NONE :Gjin
|
||||
STR_6824_REDUCED :Minder
|
||||
STR_6825_NORMAL :Gewoan
|
||||
STR_6826_X1_5 :x1.5
|
||||
STR_6827_X2 :x2
|
||||
STR_6828_X3 :x3
|
||||
STR_6829_X4 :x4
|
||||
STR_682A_VERY_FLAT :Hiel Flak
|
||||
STR_682B_FLAT :Flak
|
||||
STR_682D_MOUNTAINOUS :Bergachtich
|
||||
STR_682F_FLUCTUATING :Wikseljend
|
||||
STR_6830_IMMEDIATE :Fuortendaliks
|
||||
STR_6831_3_MONTHS_AFTER_PLAYER :3 moannen nei spyler
|
||||
STR_6832_6_MONTHS_AFTER_PLAYER :6 moannen nei spyler
|
||||
STR_6833_9_MONTHS_AFTER_PLAYER :9 moannen nei spyler
|
||||
STR_6836_OFF :Ut
|
||||
STR_6837_ON :Oan
|
||||
|
||||
##id 0x7000
|
||||
STR_7000 :
|
||||
STR_7001 :{WHITE}{COMPANY} {BLACK}{PLAYERNAME}
|
||||
STR_7002_PLAYER :(Spyler {COMMA})
|
||||
STR_7004_NEW_FACE :{BLACK}Nei Gesicht
|
||||
STR_7005_COLOR_SCHEME :{BLACK}Kleurenskema
|
||||
STR_7006_COLOR_SCHEME :{GOLD}Kleurenskema:
|
||||
STR_7007_NEW_COLOR_SCHEME :{WHITE}Nei Kleurenskema
|
||||
STR_700E_FINANCES :{WHITE}{COMPANY} Finansieen {BLACK}{PLAYERNAME}
|
||||
STR_700F_EXPENDITURE_INCOME :{WHITE}Utjeften/Ynkomsten
|
||||
STR_7010 :{WHITE}{NUM}
|
||||
STR_7011_CONSTRUCTION :{GOLD}Konstruksje
|
||||
STR_7018_TRAIN_INCOME :{GOLD}Ynkomsten Treinen
|
||||
STR_701A_AIRCRAFT_INCOME :{GOLD}Ynkomsten Fleantúgen
|
||||
STR_701B_SHIP_INCOME :{GOLD}Ynkomsten Skepen
|
||||
STR_701C_LOAN_INTEREST :{GOLD}Rinte Liening
|
||||
STR_701D_OTHER :{GOLD}Oaren
|
||||
STR_701E :{BLACK}-{CURRENCY64}
|
||||
STR_701F :{BLACK}+{CURRENCY64}
|
||||
STR_7020_TOTAL :{WHITE}Totaal:
|
||||
STR_7021 :{COMPANY}{PLAYERNAME}
|
||||
STR_7022_INCOME_GRAPH :{WHITE}Ynkomsten Grafyk
|
||||
STR_7024 :{COMMA}
|
||||
STR_7027_LOAN :{WHITE}Liening
|
||||
STR_7028 :{BLACK}{CURRENCY64}
|
||||
STR_7029_BORROW :{BLACK}Lien {SKIP}{SKIP}{SKIP}{SKIP}{CURRENCY}
|
||||
STR_702A_REPAY :{BLACK}Betelje {SKIP}{SKIP}{SKIP}{SKIP}{CURRENCY} werom
|
||||
STR_702C_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Kin net mear jild liene
|
||||
STR_702E_REQUIRED :{WHITE}...{CURRENCY} nedich
|
||||
STR_702F_CAN_T_REPAY_LOAN :{WHITE}Kin liening net werombetelje
|
||||
STR_7030_SELECT_NEW_FACE_FOR_PRESIDENT :{BLACK}Selektear nei gesicht foar de bedriuwslieder
|
||||
STR_7035_INCREASE_SIZE_OF_LOAN :{BLACK}Lien mear jild
|
||||
STR_7036_REPAY_PART_OF_LOAN :{BLACK}Betelje in diel fan de liening werom
|
||||
STR_7037_PRESIDENT :{WHITE}{PLAYERNAME}{}{GOLD}(Bedriuwslieder)
|
||||
STR_7038_INAUGURATED :{GOLD}Oprjochte: {WHITE}{NUM}
|
||||
STR_7042_NONE :{WHITE}Gjin
|
||||
STR_7044_MALE :{BLACK}Man
|
||||
STR_7045_FEMALE :{BLACK}Frou
|
||||
STR_7046_NEW_FACE :{BLACK}Nei Gesicht
|
||||
STR_704C_KEY :{BLACK}Kaai
|
||||
|
||||
|
||||
|
||||
@@ -1292,6 +1193,5 @@ SET_PERFORMANCE_DETAIL_INT :{BLACK}{NUM}
|
||||
|
||||
############ Tooltip measurment
|
||||
|
||||
############ Date formatting
|
||||
|
||||
########
|
||||
|
@@ -281,7 +281,7 @@ static byte MakeFinnishTownName(char *buf, uint32 seed, const char *last)
|
||||
if (SeedChance(0, 15, seed) >= 10) {
|
||||
strecat(buf, name_finnish_real[SeedChance(2, lengthof(name_finnish_real), seed)], last);
|
||||
} else if (SeedChance(0, 15, seed) >= 5) {
|
||||
// A two-part name by combining one of name_finnish_1 + "la"/"lä"
|
||||
// A two-part name by combining one of name_finnish_1 + "la"/"l<EFBFBD>"
|
||||
// The reason for not having the contents of name_finnish_{1,2} in the same table is
|
||||
// that the ones in name_finnish_2 are not good for this purpose.
|
||||
uint sel = SeedChance( 0, lengthof(name_finnish_1), seed);
|
||||
@@ -295,7 +295,7 @@ static byte MakeFinnishTownName(char *buf, uint32 seed, const char *last)
|
||||
{
|
||||
strecat(buf, "la", last);
|
||||
} else {
|
||||
strecat(buf, "lä", last);
|
||||
strecat(buf, "l<EFBFBD>", last);
|
||||
}
|
||||
} else {
|
||||
// A two-part name by combining one of name_finnish_{1,2} + name_finnish_3.
|
||||
|
@@ -7,7 +7,7 @@
|
||||
extern const char _openttd_revision[];
|
||||
#elif defined(WITH_REV_HACK)
|
||||
#define WITH_REV
|
||||
const char _openttd_revision[] = "0.5.1";
|
||||
const char _openttd_revision[] = "0.5.1-RC2";
|
||||
#else
|
||||
const char _openttd_revision[] = NOREV_STRING;
|
||||
#endif
|
||||
|
2
newgrf.c
2
newgrf.c
@@ -3505,7 +3505,7 @@ static void ResetNewGRFData(void)
|
||||
ResetPriceBaseMultipliers();
|
||||
|
||||
/* Reset the curencies array */
|
||||
ResetCurrencies(false);
|
||||
ResetCurrencies();
|
||||
|
||||
// Reset station classes
|
||||
ResetStationClasses();
|
||||
|
@@ -463,8 +463,6 @@ static void RemoveSharedOrderVehicleList(Vehicle *v)
|
||||
{
|
||||
WindowClass window_class;
|
||||
|
||||
assert(v->orders != NULL);
|
||||
|
||||
switch (v->type) {
|
||||
default: NOT_REACHED();
|
||||
case VEH_Train: window_class = WC_TRAINS_LIST; break;
|
||||
@@ -1163,7 +1161,7 @@ void DeleteVehicleOrders(Vehicle *v)
|
||||
|
||||
/* If we are the only one left in the Shared Order Vehicle List,
|
||||
* remove it, as we are no longer a Shared Order Vehicle */
|
||||
if (u->prev_shared == NULL && u->next_shared == NULL && u->orders != NULL) RemoveSharedOrderVehicleList(u);
|
||||
if (u->prev_shared == NULL && u->next_shared == NULL) RemoveSharedOrderVehicleList(u);
|
||||
|
||||
/* We only need to update this-one, because if there is a third
|
||||
* vehicle which shares the same order-list, nothing will change. If
|
||||
|
@@ -1,15 +1,3 @@
|
||||
openttd (0.5.1-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Fri, 20 Aprr 2007 21:45:32 +0100
|
||||
|
||||
openttd (0.5.1~rc3-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Matthijs Kooijman <m.kooijman@student.utwente.nl> Tue, 17 Aprr 2007 22:00:46 +0100
|
||||
|
||||
openttd (0.5.1~rc2-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
@@ -1,6 +1,6 @@
|
||||
!define APPNAME "OpenTTD" ; Define application name
|
||||
!define APPVERSION "0.5.1" ; Define application version
|
||||
!define INSTALLERVERSION 32 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
|
||||
!define INSTALLERVERSION 30 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
|
||||
|
||||
!define APPURLLINK "http://www.openttd.org"
|
||||
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}"
|
||||
|
@@ -84,7 +84,7 @@ BEGIN
|
||||
VALUE "Comments", "This program is licensed under the GNU General Public License.\0"
|
||||
VALUE "CompanyName", "OpenTTD Development Team\0"
|
||||
VALUE "FileDescription", "OpenTTD\0"
|
||||
VALUE "FileVersion", "0.5.1\0"
|
||||
VALUE "FileVersion", "0.5.1-RC2\0"
|
||||
VALUE "InternalName", "openttd\0"
|
||||
VALUE "LegalCopyright", "Copyright <20> OpenTTD Developers 2002-2007. All Rights Reserved.\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
|
@@ -871,8 +871,8 @@ int32 CmdPlayerCtrl(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
}
|
||||
|
||||
/* This is the joining client who wants a new company */
|
||||
if (_local_player != _network_playas && _network_playas == p->index) {
|
||||
assert(_local_player == PLAYER_SPECTATOR);
|
||||
if (_local_player != _network_playas) {
|
||||
assert(_local_player == PLAYER_SPECTATOR && _network_playas == p->index);
|
||||
SetLocalPlayer(p->index);
|
||||
MarkWholeScreenDirty();
|
||||
}
|
||||
|
31
rail_cmd.c
31
rail_cmd.c
@@ -187,7 +187,7 @@ uint GetRailFoundation(Slope tileh, TrackBits bits)
|
||||
static uint32 CheckRailSlope(Slope tileh, TrackBits rail_bits, TrackBits existing, TileIndex tile)
|
||||
{
|
||||
if (IsSteepSlope(tileh)) {
|
||||
if (_patches.build_on_slopes && existing == 0) {
|
||||
if (existing == 0) {
|
||||
TrackBits valid = TRACK_BIT_CROSS | (HASBIT(1 << SLOPE_STEEP_W | 1 << SLOPE_STEEP_E, tileh) ? TRACK_BIT_VERT : TRACK_BIT_HORZ);
|
||||
if (valid & rail_bits) return _price.terraform;
|
||||
}
|
||||
@@ -272,7 +272,7 @@ int32 CmdBuildSingleRail(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
|
||||
case MP_RAILWAY:
|
||||
if (!CheckTrackCombination(tile, trackbit, flags) ||
|
||||
!EnsureNoVehicleOnGround(tile)) {
|
||||
!EnsureNoVehicle(tile)) {
|
||||
return CMD_ERROR;
|
||||
}
|
||||
if (!IsTileOwner(tile, _current_player) ||
|
||||
@@ -307,7 +307,7 @@ int32 CmdBuildSingleRail(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
}
|
||||
#undef M
|
||||
|
||||
if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR;
|
||||
if (!EnsureNoVehicle(tile)) return CMD_ERROR;
|
||||
|
||||
if (GetRoadTileType(tile) == ROAD_TILE_NORMAL) {
|
||||
if (HasRoadWorks(tile)) return_cmd_error(STR_ROAD_WORKS_IN_PROGRESS);
|
||||
@@ -384,7 +384,7 @@ int32 CmdRemoveSingleRail(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
if (!IsLevelCrossing(tile) ||
|
||||
GetCrossingRailBits(tile) != trackbit ||
|
||||
(_current_player != OWNER_WATER && !CheckTileOwnership(tile)) ||
|
||||
!EnsureNoVehicleOnGround(tile)) {
|
||||
!EnsureNoVehicle(tile)) {
|
||||
return CMD_ERROR;
|
||||
}
|
||||
|
||||
@@ -399,7 +399,7 @@ int32 CmdRemoveSingleRail(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
|
||||
if (!IsPlainRailTile(tile) ||
|
||||
(_current_player != OWNER_WATER && !CheckTileOwnership(tile)) ||
|
||||
!EnsureNoVehicleOnGround(tile)) {
|
||||
!EnsureNoVehicle(tile)) {
|
||||
return CMD_ERROR;
|
||||
}
|
||||
|
||||
@@ -654,7 +654,7 @@ int32 CmdBuildSingleSignal(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
sigvar = HASBIT(p1, 3) ? SIG_SEMAPHORE : SIG_ELECTRIC;
|
||||
pre_signal = HASBIT(p1, 3);
|
||||
|
||||
if (!ValParamTrackOrientation(track) || !IsTileType(tile, MP_RAILWAY) || !EnsureNoVehicleOnGround(tile))
|
||||
if (!ValParamTrackOrientation(track) || !IsTileType(tile, MP_RAILWAY) || !EnsureNoVehicle(tile))
|
||||
return CMD_ERROR;
|
||||
|
||||
/* Protect against invalid signal copying */
|
||||
@@ -833,7 +833,7 @@ int32 CmdRemoveSingleSignal(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
|
||||
if (!ValParamTrackOrientation(track) ||
|
||||
!IsTileType(tile, MP_RAILWAY) ||
|
||||
!EnsureNoVehicleOnGround(tile) ||
|
||||
!EnsureNoVehicle(tile) ||
|
||||
!HasSignalOnTrack(tile, track)) {
|
||||
return CMD_ERROR;
|
||||
}
|
||||
@@ -874,23 +874,14 @@ int32 CmdRemoveSignalTrack(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
|
||||
typedef int32 DoConvertRailProc(TileIndex tile, RailType totype, bool exec);
|
||||
|
||||
/**
|
||||
* Switches the rail type.
|
||||
* Railtypes are stored on a per-tile basis, not on a per-track basis, so
|
||||
* all the tracks in the given tile will be converted.
|
||||
* @param tile The tile on which the railtype is to be convert.
|
||||
* @param totype The railtype we want to convert to
|
||||
* @param exec Switches between test and execute mode
|
||||
* @return The cost and state of the operation
|
||||
* @retval CMD_ERROR An error occured during the operation.
|
||||
*/
|
||||
static int32 DoConvertRail(TileIndex tile, RailType totype, bool exec)
|
||||
{
|
||||
if (!CheckTileOwnership(tile)) return CMD_ERROR;
|
||||
|
||||
if (GetRailType(tile) == totype) return CMD_ERROR;
|
||||
if (!EnsureNoVehicle(tile) && (!IsCompatibleRail(GetRailType(tile), totype) || IsPlainRailTile(tile))) return CMD_ERROR;
|
||||
|
||||
if (!EnsureNoVehicleOnGround(tile) && (!IsCompatibleRail(GetRailType(tile), totype) || IsPlainRailTile(tile))) return CMD_ERROR;
|
||||
// tile is already of requested type?
|
||||
if (GetRailType(tile) == totype) return CMD_ERROR;
|
||||
|
||||
// 'hidden' elrails can't be downgraded to normal rail when elrails are disabled
|
||||
if (_patches.disable_elrails && totype == RAILTYPE_RAIL && GetRailType(tile) == RAILTYPE_ELECTRIC) return CMD_ERROR;
|
||||
@@ -993,7 +984,7 @@ static int32 RemoveTrainDepot(TileIndex tile, uint32 flags)
|
||||
if (!CheckTileOwnership(tile) && _current_player != OWNER_WATER)
|
||||
return CMD_ERROR;
|
||||
|
||||
if (!EnsureNoVehicleOnGround(tile))
|
||||
if (!EnsureNoVehicle(tile))
|
||||
return CMD_ERROR;
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
OpenTTD README
|
||||
Last updated: 2007-04-20
|
||||
Release version: 0.5.1
|
||||
Last updated: 2007-03-23
|
||||
Release version: 0.5.1-RC2
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
20
road_cmd.c
20
road_cmd.c
@@ -308,7 +308,7 @@ int32 CmdBuildRoad(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
if ((existing & pieces) == pieces) {
|
||||
return_cmd_error(STR_1007_ALREADY_BUILT);
|
||||
}
|
||||
if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR;
|
||||
if (!EnsureNoVehicle(tile)) return CMD_ERROR;
|
||||
break;
|
||||
|
||||
case ROAD_TILE_CROSSING:
|
||||
@@ -352,7 +352,7 @@ int32 CmdBuildRoad(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
default: goto do_clear;
|
||||
}
|
||||
|
||||
if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR;
|
||||
if (!EnsureNoVehicle(tile)) return CMD_ERROR;
|
||||
|
||||
if (flags & DC_EXEC) {
|
||||
YapfNotifyTrackLayoutChange(tile, FIND_FIRST_BIT(GetTrackBits(tile)));
|
||||
@@ -422,21 +422,13 @@ do_clear:;
|
||||
return cost;
|
||||
}
|
||||
|
||||
/**
|
||||
* Switches the rail type on a level crossing.
|
||||
* @param tile The tile on which the railtype is to be convert.
|
||||
* @param totype The railtype we want to convert to
|
||||
* @param exec Switches between test and execute mode
|
||||
* @return The cost and state of the operation
|
||||
* @retval CMD_ERROR An error occured during the operation.
|
||||
*/
|
||||
int32 DoConvertStreetRail(TileIndex tile, RailType totype, bool exec)
|
||||
{
|
||||
// not a railroad crossing?
|
||||
if (!IsLevelCrossing(tile)) return CMD_ERROR;
|
||||
|
||||
// not owned by me?
|
||||
if (!CheckTileOwnership(tile) || !EnsureNoVehicleOnGround(tile)) return CMD_ERROR;
|
||||
if (!CheckTileOwnership(tile) || !EnsureNoVehicle(tile)) return CMD_ERROR;
|
||||
|
||||
if (GetRailTypeCrossing(tile) == totype) return CMD_ERROR;
|
||||
|
||||
@@ -449,7 +441,7 @@ int32 DoConvertStreetRail(TileIndex tile, RailType totype, bool exec)
|
||||
YapfNotifyTrackLayoutChange(tile, FIND_FIRST_BIT(GetCrossingRailBits(tile)));
|
||||
}
|
||||
|
||||
return _price.build_rail / 2;
|
||||
return _price.build_rail >> 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -581,7 +573,7 @@ int32 CmdBuildRoadDepot(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
|
||||
if (p1 > 3) return CMD_ERROR; // check direction
|
||||
|
||||
if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR;
|
||||
if (!EnsureNoVehicle(tile)) return CMD_ERROR;
|
||||
|
||||
tileh = GetTileSlope(tile, NULL);
|
||||
if (tileh != SLOPE_FLAT && (
|
||||
@@ -947,7 +939,7 @@ static void TileLoop_Road(TileIndex tile)
|
||||
if (t->road_build_months != 0 &&
|
||||
(DistanceManhattan(t->xy, tile) < 8 || grp != 0) &&
|
||||
GetRoadTileType(tile) == ROAD_TILE_NORMAL && (GetRoadBits(tile) == ROAD_X || GetRoadBits(tile) == ROAD_Y)) {
|
||||
if (GetTileSlope(tile, NULL) == SLOPE_FLAT && EnsureNoVehicleOnGround(tile) && CHANCE16(1, 20)) {
|
||||
if (GetTileSlope(tile, NULL) == SLOPE_FLAT && EnsureNoVehicle(tile) && CHANCE16(1, 20)) {
|
||||
StartRoadWorks(tile);
|
||||
|
||||
SndPlayTileFx(SND_21_JACKHAMMER, tile);
|
||||
|
49
settings.c
49
settings.c
@@ -260,13 +260,7 @@ static IniFile *ini_load(const char *filename)
|
||||
}
|
||||
} else if (group) {
|
||||
// find end of keyname
|
||||
if (*s == '\"') {
|
||||
s++;
|
||||
for (t = s; *t != '\0' && *t != '\"'; t++);
|
||||
if (*t == '\"') *t = ' ';
|
||||
} else {
|
||||
for (t = s; *t != '\0' && *t != '=' && *t != '\t' && *t != ' '; t++);
|
||||
}
|
||||
for (t = s; *t != '\0' && *t != '=' && *t != '\t' && *t != ' '; t++);
|
||||
|
||||
// it's an item in an existing group
|
||||
item = ini_item_alloc(group, s, t-s);
|
||||
@@ -354,18 +348,11 @@ static bool ini_save(const char *filename, IniFile *ini)
|
||||
assert(item->value != NULL);
|
||||
if (item->comment != NULL) fputs(item->comment, f);
|
||||
|
||||
/* protect item->name with quotes if needed */
|
||||
if (strchr(item->name, ' ') != NULL) {
|
||||
fprintf(f, "\"%s\"", item->name);
|
||||
} else {
|
||||
fprintf(f, "%s", item->name);
|
||||
}
|
||||
|
||||
/* Don't give an equal sign to list items that don't have a parameter */
|
||||
if (group->type == IGT_LIST && *item->value == '\0') {
|
||||
fprintf(f, "\n");
|
||||
fprintf(f, "%s\n", item->name);
|
||||
} else {
|
||||
fprintf(f, " = %s\n", item->value);
|
||||
fprintf(f, "%s = %s\n", item->name, item->value);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1254,12 +1241,12 @@ static const SettingDesc _gameopt_settings[] = {
|
||||
* and why not byte for example? */
|
||||
SDT_GENERAL("diff_custom", SDT_INTLIST, SL_ARR, (SLE_FILE_I16 | SLE_VAR_I32), 0, 0, GameOptions, diff, 17, 0, 0, 0, 0, NULL, STR_NULL, NULL, 0, 3),
|
||||
SDT_GENERAL("diff_custom", SDT_INTLIST, SL_ARR, (SLE_FILE_I16 | SLE_VAR_I32), 0, 0, GameOptions, diff, 18, 0, 0, 0, 0, NULL, STR_NULL, NULL, 4, SL_MAX_VERSION),
|
||||
SDT_VAR(GameOptions, diff_level,SLE_UINT8, 0, 0, 0, 0, 3, 0, STR_NULL, NULL),
|
||||
SDT_VAR(GameOptions, diff_level,SLE_UINT8, 0, 0, 9, 0, 9, 0, STR_NULL, NULL),
|
||||
SDT_OMANY(GameOptions, currency, SLE_UINT8, N, 0, 0, CUSTOM_CURRENCY_ID, "GBP|USD|EUR|YEN|ATS|BEF|CHF|CZK|DEM|DKK|ESP|FIM|FRF|GRD|HUF|ISK|ITL|NLG|NOK|PLN|ROL|RUR|SIT|SEK|YTL|SKK|BRR|custom", STR_NULL, NULL),
|
||||
SDT_OMANY(GameOptions, units, SLE_UINT8, N, 0, 1, 2, "imperial|metric|si", STR_NULL, NULL),
|
||||
SDT_OMANY(GameOptions, town_name, SLE_UINT8, 0, 0, 0, 20, "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovakish|norwegian|hungarian|austrian|romanian|czech|swiss|danish|turkish|italian|catalan", STR_NULL, NULL),
|
||||
SDT_OMANY(GameOptions, landscape, SLE_UINT8, 0, 0, 0, 3, "normal|hilly|desert|candy", STR_NULL, NULL),
|
||||
SDT_VAR(GameOptions, snow_line, SLE_UINT8, 0, 0, 7 * TILE_HEIGHT, 2 * TILE_HEIGHT, 13 * TILE_HEIGHT, 0, STR_NULL, NULL),
|
||||
SDT_VAR(GameOptions, snow_line, SLE_UINT8, 0, 0, 1, 0, 56, 0, STR_NULL, NULL),
|
||||
SDT_CONDOMANY(GameOptions,autosave, SLE_UINT8, 0, 22, N, 0, 0, 0, "", STR_NULL, NULL),
|
||||
SDT_CONDOMANY(GameOptions,autosave, SLE_UINT8,23, SL_MAX_VERSION, S, 0, 1, 4, "off|monthly|quarterly|half year|yearly", STR_NULL, NULL),
|
||||
SDT_OMANY(GameOptions, road_side, SLE_UINT8, 0, 0, 1, 1, "left|right", STR_NULL, NULL),
|
||||
@@ -1491,7 +1478,7 @@ const SettingDesc _patch_settings[] = {
|
||||
static const SettingDesc _currency_settings[] = {
|
||||
SDT_VAR(CurrencySpec, rate, SLE_UINT16, S, 0, 1, 0, 100, 0, STR_NULL, NULL),
|
||||
SDT_CHR(CurrencySpec, separator, S, 0, ".", STR_NULL, NULL),
|
||||
SDT_VAR(CurrencySpec, to_euro, SLE_INT32, S, 0, 0, 0,3000, 0, STR_NULL, NULL),
|
||||
SDT_VAR(CurrencySpec, to_euro, SLE_INT32, S, 0, 0, 0,1000, 0, STR_NULL, NULL),
|
||||
SDT_STR(CurrencySpec, prefix, SLE_STRBQ, S, 0, NULL, STR_NULL, NULL),
|
||||
SDT_STR(CurrencySpec, suffix, SLE_STRBQ, S, 0, " credits", STR_NULL, NULL),
|
||||
SDT_END()
|
||||
@@ -1663,18 +1650,14 @@ static void HandleSettingDescs(IniFile *ini, SettingDescProc *proc, SettingDescP
|
||||
#endif /* ENABLE_NETWORK */
|
||||
}
|
||||
|
||||
extern void CheckDifficultyLevels(void);
|
||||
|
||||
/** Load the values from the configuration files */
|
||||
void LoadFromConfig(void)
|
||||
{
|
||||
IniFile *ini = ini_load(_config_file);
|
||||
ResetCurrencies(false);
|
||||
HandleSettingDescs(ini, ini_load_settings, ini_load_setting_list);
|
||||
_grfconfig_newgame = GRFLoadConfig(ini, "newgrf", false);
|
||||
_grfconfig_static = GRFLoadConfig(ini, "newgrf-static", true);
|
||||
_news_display_opt = NewsDisplayLoadConfig(ini, "news_display");
|
||||
CheckDifficultyLevels();
|
||||
ini_free(ini);
|
||||
}
|
||||
|
||||
@@ -1813,26 +1796,6 @@ void IConsoleGetPatchSetting(const char *name)
|
||||
name, value, (sd->desc.flags & SGF_0ISDISABLED) ? "(0) " : "", sd->desc.min, sd->desc.max);
|
||||
}
|
||||
|
||||
void IConsoleListPatches(void)
|
||||
{
|
||||
const SettingDesc *sd;
|
||||
IConsolePrintF(_icolour_warn, "All patches with their current value:");
|
||||
|
||||
for (sd = _patch_settings; sd->save.cmd != SL_END; sd++) {
|
||||
char value[80];
|
||||
const void *ptr = GetVariableAddress((_game_mode == GM_MENU) ? &_patches_newgame : &_patches, &sd->save);
|
||||
|
||||
if (sd->desc.cmd == SDT_BOOLX) {
|
||||
snprintf(value, lengthof(value), (*(bool*)ptr == 1) ? "on" : "off");
|
||||
} else {
|
||||
snprintf(value, lengthof(value), "%d", (uint32)ReadValue(ptr, sd->save.conv));
|
||||
}
|
||||
IConsolePrintF(_icolour_def, "%s = %s", sd->desc.name, value);
|
||||
}
|
||||
|
||||
IConsolePrintF(_icolour_warn, "Use 'patch' command to change a value");
|
||||
}
|
||||
|
||||
/** Save and load handler for patches/settings
|
||||
* @param osd SettingDesc struct containing all information
|
||||
* @param object can be either NULL in which case we load global variables or
|
||||
|
@@ -71,7 +71,6 @@ extern Patches _patches_newgame;
|
||||
|
||||
bool IConsoleSetPatchSetting(const char *name, int32 value);
|
||||
void IConsoleGetPatchSetting(const char *name);
|
||||
void IConsoleListPatches(void);
|
||||
const SettingDesc *GetPatchFromName(const char *name, uint *i);
|
||||
bool SetPatchValue(uint index, const Patches *object, int32 value);
|
||||
|
||||
|
@@ -368,24 +368,6 @@ void SetDifficultyLevel(int mode, GameOptions *gm_opt)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the difficulty levels read from the configuration and
|
||||
* forces them to be correct when invalid.
|
||||
*/
|
||||
void CheckDifficultyLevels(void)
|
||||
{
|
||||
if (_opt_newgame.diff_level != 3) {
|
||||
SetDifficultyLevel(_opt_newgame.diff_level, &_opt_newgame);
|
||||
} else {
|
||||
uint i;
|
||||
for (i = 0; i < GAME_DIFFICULTY_NUM; i++) {
|
||||
int *diff = ((int*)&_opt_newgame.diff) + i;
|
||||
*diff = clamp(*diff, _game_setting_info[i].min, _game_setting_info[i].max);
|
||||
*diff -= *diff % _game_setting_info[i].step;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern void StartupEconomy(void);
|
||||
|
||||
enum {
|
||||
@@ -497,9 +479,7 @@ static void GameDifficultyWndProc(Window *w, WindowEvent *e)
|
||||
|
||||
// save value in temporary variable
|
||||
((int*)&_opt_mod_temp.diff)[btn] = val;
|
||||
RaiseWindowWidget(w, _opt_mod_temp.diff_level + 3);
|
||||
SetDifficultyLevel(3, &_opt_mod_temp); // set difficulty level to custom
|
||||
LowerWindowWidget(w, _opt_mod_temp.diff_level + 3);
|
||||
SetWindowDirty(w);
|
||||
} break;
|
||||
case 3: case 4: case 5: case 6: /* Easy / Medium / Hard / Custom */
|
||||
|
@@ -1337,14 +1337,6 @@ static int32 RemoveRailroadStation(Station *st, TileIndex tile, uint32 flags)
|
||||
return cost;
|
||||
}
|
||||
|
||||
/**
|
||||
* Switches the rail type at a railway station tile.
|
||||
* @param tile The tile on which the railtype is to be convert.
|
||||
* @param totype The railtype we want to convert to
|
||||
* @param exec Switches between test and execute mode
|
||||
* @return The cost and state of the operation
|
||||
* @retval CMD_ERROR An error occured during the operation.
|
||||
*/
|
||||
int32 DoConvertStationRail(TileIndex tile, RailType totype, bool exec)
|
||||
{
|
||||
const Station* st = GetStationByTile(tile);
|
||||
@@ -1365,7 +1357,7 @@ int32 DoConvertStationRail(TileIndex tile, RailType totype, bool exec)
|
||||
YapfNotifyTrackLayoutChange(tile, GetRailStationTrack(tile));
|
||||
}
|
||||
|
||||
return _price.build_rail / 2;
|
||||
return _price.build_rail >> 1;
|
||||
}
|
||||
|
||||
/** Heavy wizardry used to add a roadstop to a station.
|
||||
|
@@ -152,7 +152,6 @@ void UndrawTextMessage(void)
|
||||
if (x + width >= _screen.width) {
|
||||
width = _screen.width - x;
|
||||
}
|
||||
if (width <= 0 || height <= 0) return;
|
||||
|
||||
_textmessage_visible = false;
|
||||
// Put our 'shot' back to the screen
|
||||
@@ -220,8 +219,6 @@ void DrawTextMessage(void)
|
||||
if (x + width >= _screen.width) {
|
||||
width = _screen.width - x;
|
||||
}
|
||||
if (width <= 0 || height <= 0) return;
|
||||
|
||||
// Make a copy of the screen as it is before painting (for undraw)
|
||||
memcpy_pitch(
|
||||
_textmessage_backup,
|
||||
|
@@ -675,7 +675,7 @@ static int32 DoClearBridge(TileIndex tile, uint32 flags)
|
||||
|
||||
endtile = GetOtherBridgeEnd(tile);
|
||||
|
||||
if (!EnsureNoVehicleOnGround(tile) || !EnsureNoVehicleOnGround(endtile)) return CMD_ERROR;
|
||||
if (!EnsureNoVehicle(tile) || !EnsureNoVehicle(endtile)) return CMD_ERROR;
|
||||
|
||||
direction = GetBridgeRampDirection(tile);
|
||||
delta = TileOffsByDiagDir(direction);
|
||||
@@ -764,16 +764,6 @@ static int32 ClearTile_TunnelBridge(TileIndex tile, byte flags)
|
||||
return CMD_ERROR;
|
||||
}
|
||||
|
||||
/**
|
||||
* Switches the rail type for a tunnel or a bridgehead. As the railtype
|
||||
* on the bridge are determined by the one of the bridgehead, this
|
||||
* functions converts the railtype on the entire bridge.
|
||||
* @param tile The tile on which the railtype is to be convert.
|
||||
* @param totype The railtype we want to convert to
|
||||
* @param exec Switches between test and execute mode
|
||||
* @return The cost and state of the operation
|
||||
* @retval CMD_ERROR An error occured during the operation.
|
||||
*/
|
||||
int32 DoConvertTunnelBridgeRail(TileIndex tile, RailType totype, bool exec)
|
||||
{
|
||||
TileIndex endtile;
|
||||
@@ -802,7 +792,7 @@ int32 DoConvertTunnelBridgeRail(TileIndex tile, RailType totype, bool exec)
|
||||
YapfNotifyTrackLayoutChange(tile, track);
|
||||
YapfNotifyTrackLayoutChange(endtile, track);
|
||||
}
|
||||
return (length + 1) * (_price.build_rail / 2);
|
||||
return (length + 1) * (_price.build_rail >> 1);
|
||||
} else if (IsBridge(tile) &&
|
||||
IsBridgeMiddle(tile) &&
|
||||
IsTransportUnderBridge(tile) &&
|
||||
@@ -819,7 +809,7 @@ int32 DoConvertTunnelBridgeRail(TileIndex tile, RailType totype, bool exec)
|
||||
|
||||
YapfNotifyTrackLayoutChange(tile, GetRailUnderBridge(tile));
|
||||
}
|
||||
return _price.build_rail / 2;
|
||||
return _price.build_rail >> 1;
|
||||
} else if (IsBridge(tile) && IsBridgeRamp(tile) && GetBridgeTransportType(tile) == TRANSPORT_RAIL) {
|
||||
TileIndexDiff delta;
|
||||
int32 cost;
|
||||
@@ -828,8 +818,8 @@ int32 DoConvertTunnelBridgeRail(TileIndex tile, RailType totype, bool exec)
|
||||
|
||||
endtile = GetOtherBridgeEnd(tile);
|
||||
|
||||
if (!EnsureNoVehicleOnGround(tile) ||
|
||||
!EnsureNoVehicleOnGround(endtile) ||
|
||||
if (!EnsureNoVehicle(tile) ||
|
||||
!EnsureNoVehicle(endtile) ||
|
||||
FindVehicleBetween(tile, endtile, GetBridgeHeightRamp(tile), false) != NULL) {
|
||||
return_cmd_error(STR_8803_TRAIN_IN_THE_WAY);
|
||||
}
|
||||
@@ -847,14 +837,14 @@ int32 DoConvertTunnelBridgeRail(TileIndex tile, RailType totype, bool exec)
|
||||
YapfNotifyTrackLayoutChange(tile, track);
|
||||
YapfNotifyTrackLayoutChange(endtile, track);
|
||||
}
|
||||
cost = 2 * (_price.build_rail / 2);
|
||||
cost = 2 * (_price.build_rail >> 1);
|
||||
delta = TileOffsByDiagDir(GetBridgeRampDirection(tile));
|
||||
for (tile += delta; tile != endtile; tile += delta) {
|
||||
if (exec) {
|
||||
SetRailTypeOnBridge(tile, totype);
|
||||
MarkTileDirtyByTile(tile);
|
||||
}
|
||||
cost += _price.build_rail / 2;
|
||||
cost += _price.build_rail >> 1;
|
||||
}
|
||||
|
||||
return cost;
|
||||
|
Reference in New Issue
Block a user