1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-09-02 19:39:12 +00:00

Compare commits

..

1 Commits

Author SHA1 Message Date
rubidium
a3fcfdfa4f (svn r9423) -Release 0.5.1-RC2. 2007-03-23 22:59:57 +00:00
46 changed files with 1985 additions and 2296 deletions

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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 %+");

View File

@@ -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));
}
/**

View File

@@ -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);

View File

@@ -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

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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

View File

@@ -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 :Нефтена рафинерия

View File

@@ -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

View File

@@ -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}

View File

@@ -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

View File

@@ -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

View File

@@ -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}
########

File diff suppressed because it is too large Load Diff

View File

@@ -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년 앞당깁니다.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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}Добавить

View File

@@ -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 ...

View File

@@ -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

View File

@@ -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

View File

@@ -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
########

View File

@@ -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.

View File

@@ -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

View File

@@ -3505,7 +3505,7 @@ static void ResetNewGRFData(void)
ResetPriceBaseMultipliers();
/* Reset the curencies array */
ResetCurrencies(false);
ResetCurrencies();
// Reset station classes
ResetStationClasses();

View File

@@ -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

View File

@@ -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.

View File

@@ -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}"

View File

@@ -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"

View File

@@ -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();
}

View File

@@ -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) {

View File

@@ -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
------------------------------------------------------------------------

View File

@@ -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);

View File

@@ -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

View File

@@ -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);

View File

@@ -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 */

View File

@@ -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.

View File

@@ -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,

View File

@@ -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;