diff --git a/industry_cmd.c b/industry_cmd.c index 48560cfbab..de36565a63 100644 --- a/industry_cmd.c +++ b/industry_cmd.c @@ -1564,7 +1564,8 @@ Industry *CreateNewIndustry(uint tile, int type) return i; } -static const byte _numof_industry_table[3][12] = { +static const byte _numof_industry_table[4][12] = { + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, {0, 2, 3, 4, 6, 7, 8, 9, 10, 10, 10}, @@ -1573,16 +1574,19 @@ static const byte _numof_industry_table[3][12] = { static void PlaceInitialIndustry(byte type, int amount) { int num = _numof_industry_table[_opt.diff.number_industries][amount]; + + if (_opt.diff.number_industries != 0) + { + assert(num > 0); - assert(num > 0); - - do { - int i = 2000; do { - if (CreateNewIndustry(TILE_MASK(Random()), type) != NULL) - break; - } while (--i != 0); - } while (--num); + int i = 2000; + do { + if (CreateNewIndustry(TILE_MASK(Random()), type) != NULL) + break; + } while (--i != 0); + } while (--num); + } } void GenerateIndustries() diff --git a/lang/english.txt b/lang/english.txt index 443294c3d9..ddc5903b14 100644 --- a/lang/english.txt +++ b/lang/english.txt @@ -1719,7 +1719,8 @@ STR_6814_TRAIN_REVERSING :{LTBLUE}Train reversing: {ORANGE}{STRING} STR_6815_DISASTERS :{LTBLUE}Disasters: {ORANGE}{STRING} STR_16816_CITY_APPROVAL :{LTBLUE}City council's attitude towards area restructuring: {ORANGE}{STRING} ############ range for difficulty settings ends - + +STR_26816_NONE :None STR_6816_LOW :Low STR_6817_NORMAL :Normal STR_6818_HIGH :High diff --git a/lang/french.txt b/lang/french.txt index 9ddea14a7b..2393f6beaa 100644 --- a/lang/french.txt +++ b/lang/french.txt @@ -346,6 +346,9 @@ STR_015E_QUIT_GAME :Abandonner la partie STR_015F_QUIT :Quitter le jeu STR_0160_ARE_YOU_SURE_YOU_WANT_TO :{YELLOW}Êtes vous sur de vouloir abandonner cette partie? STR_0161_QUIT_GAME :{WHITE}Abandonner +STR_SORT_TIP :{BLACK}Sélectionne l'ordre de tri +STR_SORT_BY_NAME :{BLACK}Nom +STR_SORT_BY_DATE :{BLACK}Date ############ range for months starts STR_0162_JAN :Jan @@ -897,6 +900,32 @@ STR_END_OF_SHARED_ORDERS :{SETX 10}- - Fin des ordres partag STR_TRAIN_IS_LOST :{WHITE}Train {COMMA16} est perdu. STR_TRAIN_IS_UNPROFITABLE :{WHITE}Train {COMMA16} a eu un profit de {CURRENCY} l'an dernier +STR_EURO_INTRODUCE :{BLACK}{BIGFONT}Union Monétaire Européenne !{}{}L'Euro est introduit en tant que monnaie unique pour les transactions dans votre pays ! + +# Start of order review system. +# DON'T ADD OR REMOVE LINES HERE +STR_TRAIN_HAS_TOO_FEW_ORDERS :{WHITE}Train {COMMA16} a trop peu d'ordres dans son itinéraire +STR_TRAIN_HAS_VOID_ORDER :{WHITE}Train {COMMA16} a un ordre vide +STR_TRAIN_HAS_DUPLICATE_ENTRY :{WHITE}Train {COMMA16} a des ordres en double +STR_TRAIN_HAS_INVALID_ENTRY :{WHITE}Train {COMMA16} a une station invalide dans ses ordres +STR_ROADVEHICLE_HAS_TOO_FEW_ORDERS :{WHITE}Véhicule {COMMA16} a trop peu d'ordres dans son itinéraire +STR_ROADVEHICLE_HAS_VOID_ORDER :{WHITE}Véhicule {COMMA16} a un ordre vide +STR_ROADVEHICLE_HAS_DUPLICATE_ENTRY :{WHITE}Véhicule {COMMA16} a des ordres en double +STR_ROADVEHICLE_HAS_INVALID_ENTRY :{WHITE}Véhicule {COMMA16} a une station invalide dans ses ordres +STR_SHIP_HAS_TOO_FEW_ORDERS :{WHITE}Navire {COMMA16} a trop peu d'ordres dans son itinéraire +STR_SHIP_HAS_VOID_ORDER :{WHITE}Navire {COMMA16} a un ordre vide +STR_SHIP_HAS_DUPLICATE_ENTRY :{WHITE}Navire {COMMA16} a des ordres en double +STR_SHIP_HAS_INVALID_ENTRY :{WHITE}Navire {COMMA16} a une station invalide dans ses ordres +STR_AIRCRAFT_HAS_TOO_FEW_ORDERS :{WHITE}Aéronef {COMMA16} a trop peu d'ordres dans son itinéraire +STR_AIRCRAFT_HAS_VOID_ORDER :{WHITE}Aéronef {COMMA16} a un ordre vide +STR_AIRCRAFT_HAS_DUPLICATE_ENTRY :{WHITE}Aéronef {COMMA16} a des ordres en double +STR_AIRCRAFT_HAS_INVALID_ENTRY :{WHITE}Aéronef {COMMA16} a une station invalide dans ses ordres +# end of order system + +STR_TRAIN_AUTORENEW_FAILED :{WHITE}Le renouvellement automatique a échoué sur Train {COMMA16} (limite d'argent) +STR_ROADVEHICLE_AUTORENEW_FAILED :{WHITE}Le renouvellement automatique a échoué sur Véhicule {COMMA16} (limite d'argent) +STR_SHIP_AUTORENEW_FAILED :{WHITE}Le renouvellement automatique a échoué sur Navire {COMMA16} (limite d'argent) +STR_AIRCRAFT_AUTORENEW_FAILED :{WHITE}Le renouvellement automatique a échoué sur Aéronef {COMMA16} (limite d'argent) STR_CONFIG_PATCHES :{BLACK}Options Avancées STR_CONFIG_PATCHES_TIP :{BLACK}Configurer les options avancées @@ -912,7 +941,6 @@ STR_CONFIG_PATCHES_REALISTICACCEL :{LTBLUE}Permettre les acc STR_CONFIG_PATCHES_JOINSTATIONS :{LTBLUE}Joindre les gares juxtaposées: {ORANGE}{STRING} STR_CONFIG_PATCHES_FULLLOADANY :{LTBLUE}Pleine cargaison par un seul type, si 'chargement complet': {ORANGE}{STRING} STR_CONFIG_PATCHES_INFLATION :{LTBLUE}Inflation: {ORANGE}{STRING} -STR_CONFIG_PATCHES_NOTRAINSERVICE :{LTBLUE}Désactiver l'entretien automatique des trains: {ORANGE}{STRING} STR_CONFIG_PATCHES_SELECTGOODS :{LTBLUE}Livrer cargaison seulement lorsqu'il y a une demande: {ORANGE}{STRING} STR_CONFIG_PATCHES_LONGBRIDGES :{LTBLUE}Permettre la construction de ponts longs: {ORANGE}{STRING} STR_CONFIG_PATCHES_GOTODEPOT :{LTBLUE}Permettre l'ordre d'aller au dépôt: {ORANGE}{STRING} @@ -933,9 +961,16 @@ STR_CONFIG_PATCHES_BUILD_IN_PAUSE :{LTBLUE}Construire pendant le mode pause: {O STR_CONFIG_PATCHES_SMALL_AIRPORTS :{LTBLUE}Toujours permettre les petits aéroports: {ORANGE}{STRING} STR_CONFIG_PATCHES_LOST_TRAIN_DAYS :{LTBLUE}Un train est perdu si aucun progrès n'est fait pendant: {ORANGE}{STRING} jours +STR_CONFIG_PATCHES_LOST_TRAIN_DAYS_DISABLED :{LTBLUE}Un train est perdu si aucun progrès n'est fait pendant: {ORANGE}désactivé +STR_CONFIG_PATCHES_ORDER_REVIEW :{LTBLUE}Vérif. des ordres des véhicules : {ORANGE}{STRING} +STR_CONFIG_PATCHES_ORDER_REVIEW_OFF :non +STR_CONFIG_PATCHES_ORDER_REVIEW_EXDEPOT :oui, sauf véhicules stoppés +STR_CONFIG_PATCHES_ORDER_REVIEW_ON :de tous les véhicules STR_CONFIG_PATCHES_WARN_INCOME_LESS :{LTBLUE}Alerte en cas de profit négatif pour un train: {ORANGE}{STRING} STR_CONFIG_PATCHES_NEVER_EXPIRE_VEHICLES :{LTBLUE}Les véhicules n'expirent jamais: {ORANGE}{STRING} -STR_CONFIG_AUTORENEW_VEHICLE :{LTBLUE}Renouvellement automatique des vieux véhicules +STR_CONFIG_PATCHES_AUTORENEW_VEHICLE :{LTBLUE}Renouveller automatiquement les véhicules quand ils sont vieux +STR_CONFIG_PATCHES_AUTORENEW_MONTHS :{LTBLUE}Auto-renouveller le véhicule {ORANGE}{STRING}{LTBLUE} mois avant/après l'âge maximum +STR_CONFIG_PATCHES_AUTORENEW_MONEY :{LTBLUE}Argent nécessaire pour le renouvellement automatique : {ORANGE}{STRING} STR_CONFIG_PATCHES_ERRMSG_DURATION :{LTBLUE}Temps d'affichage des messages d'erreur: {ORANGE}{STRING} STR_CONFIG_PATCHES_SNOWLINE_HEIGHT :{LTBLUE}Altitude d'enneigement: {ORANGE}{STRING} STR_CONFIG_PATCHES_STATION_SPREAD :{LTBLUE}Etendue maximum des stations: {ORANGE}{STRING} @@ -952,22 +987,29 @@ STR_CONFIG_PATCHES_AI_BUILDS_AIRCRAFT :{LTBLUE}D STR_CONFIG_PATCHES_AI_BUILDS_SHIPS :{LTBLUE}Désactiver les navires pour l'ordinateur: {ORANGE}{STRING} STR_CONFIG_PATCHES_SERVINT_TRAINS :{LTBLUE}Maintenance des trains tous les: {ORANGE}{STRING} jours +STR_CONFIG_PATCHES_SERVINT_TRAINS_DISABLED :{LTBLUE}Maintenance des trains tous les: {ORANGE}désactivé STR_CONFIG_PATCHES_SERVINT_ROADVEH :{LTBLUE}Maintenance des véhicules routiers tous les: {ORANGE}{STRING} jours +STR_CONFIG_PATCHES_SERVINT_ROADVEH_DISABLED :{LTBLUE}Maintenance des véhicules routiers tous les: {ORANGE}désactivé STR_CONFIG_PATCHES_SERVINT_AIRCRAFT :{LTBLUE}Maintenance des aéronefs tous les: {ORANGE}{STRING} jours +STR_CONFIG_PATCHES_SERVINT_AIRCRAFT_DISABLED :{LTBLUE}Maintenance des aéronefs tous les: {ORANGE}désactivé STR_CONFIG_PATCHES_SERVINT_SHIPS :{LTBLUE}Maintenance des navires tous les: {ORANGE}{STRING} jours +STR_CONFIG_PATCHES_SERVINT_SHIPS_DISABLED :{LTBLUE}Maintenance des navires tous les: {ORANGE}désactivé STR_CONFIG_PATCHES_COLORED_NEWS_DATE :{LTBLUE}Les journeaux en couleurs apparaissent en: {ORANGE}{STRING} STR_CONFIG_PATCHES_STARTING_DATE :{LTBLUE}Date de départ: {ORANGE}{STRING} STR_CONFIG_PATCHES_SMOOTH_ECONOMY :{LTBLUE}Permettre une économie stable (plus de petits changements) +STR_CONFIG_PATCHES_DRAG_SIGNALS_DENSITY :{LTBLUE}Espacements des signaux en mode drag & drop : {ORANGE}{STRING} case(s) STR_CONFIG_PATCHES_GUI :{BLACK}Interface STR_CONFIG_PATCHES_CONSTRUCTION :{BLACK}Construction STR_CONFIG_PATCHES_VEHICLES :{BLACK}Véhicules STR_CONFIG_PATCHES_STATIONS :{BLACK}Stations STR_CONFIG_PATCHES_ECONOMY :{BLACK}Economie +STR_CONFIG_PATCHES_AI :{BLACK}Compétiteurs STR_CONFIG_PATCHES_DISABLED :désactivé STR_CONFIG_PATCHES_INT32 :{INT32} +STR_CONFIG_PATCHES_CURRENCY :{CURRENCY} STR_CONFIG_PATCHES_QUERY_CAPT :{WHITE}Entrez une valeur @@ -980,10 +1022,7 @@ STR_CHEAT_CHANGE_PLAYER :{LTBLUE}Jouer en tant que joueur n STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Bulldozer magique (enlèvement industries et objets fixes): {ORANGE}{STRING} STR_CHEAT_CROSSINGTUNNELS :{LTBLUE}Les tunnels peuvent se croiser: {ORANGE}{STRING} - -STR_TOWNDIR_NAME :{BLACK}Nom -STR_TOWNDIR_POPULATION :{BLACK}Population -STR_TOWNDIR_SORT_TIP :{BLACK}Ordre de classement +STR_SORT_BY_POPULATION :{BLACK}Population STR_HEADING_FOR_CHECKPOINT :{LTBLUE}En route pour {CHECKPOINT} STR_HEADING_FOR_CHECKPOINT_VEL :{LTBLUE}En route pour {CHECKPOINT}, {VELOCITY} @@ -1067,11 +1106,12 @@ STR_CONSTRUCT_BUBBLE_GENERATOR_TIP :{BLACK}Construire un g STR_CONSTRUCT_TOFFEE_QUARRY_TIP :{BLACK}Construire une carrière de caramel STR_CONSTRUCT_SUGAR_MINE_TIP :{BLACK}Construire une mine de sucre -STR_INDUSTRYDIR_NAME :{BLACK}Nom -STR_INDUSTRYDIR_PRODUCTION :{BLACK}Production -STR_INDUSTRYDIR_TYPE :{BLACK}Type +STR_SORT_BY_PRODUCTION :{BLACK}Production +STR_SORT_BY_TYPE :{BLACK}Type +STR_SORT_BY_TRANSPORTED :{BLACK}Transporté STR_INDUSTRYDIR_CAPTION :{WHITE}Industries -STR_INDUSTRYDIR_ITEM :{ORANGE}{TOWN} {STRING}{BLACK} ({STRING}) +STR_INDUSTRYDIR_ITEM :{ORANGE}{TOWN} {STRING}{BLACK} ({STRING}){YELLOW} ({COMMA16}% transporté) +STR_INDUSTRYDIR_ITEM_TWO :{ORANGE}{TOWN} {STRING}{BLACK} ({STRING}/{STRING}){YELLOW} ({COMMA16}%/{COMMA16}% transporté) STR_INDUSTRYDIR_ITEM_NOPROD :{ORANGE}{TOWN} {STRING} STR_INDUSTRY_TOO_CLOSE :{WHITE}...trop proche d'une autre industrie @@ -1649,6 +1689,7 @@ STR_SV_STNAME_FOREST :{STRING} For ##id 0x6800 STR_6800_DIFFICULTY_LEVEL :{WHITE}Niveau de difficulté +STR_OPTIONS_SAVE_CHANGES :{BLACK}Sauver ############ range for difficulty levels starts STR_6801_EASY :{BLACK}Facile @@ -1675,6 +1716,7 @@ STR_6812_QUANTITY_OF_SEA_LAKES :{LTBLUE}Quantit STR_6813_ECONOMY :{LTBLUE}Economie: {ORANGE}{STRING} STR_6814_TRAIN_REVERSING :{LTBLUE}Demi-tour des trains: {ORANGE}{STRING} STR_6815_DISASTERS :{LTBLUE}Désastres: {ORANGE}{STRING} +STR_16816_CITY_APPROVAL :{LTBLUE}Attitude du conseil municipal envers la restructuration de la zone : {ORANGE}{STRING} ############ range for difficulty settings ends STR_6816_LOW :Bas @@ -1713,12 +1755,15 @@ STR_6835_AT_END_OF_LINE_ONLY :A la fin de la ligne seulement STR_6836_OFF :Désactivé STR_6837_ON :Activé STR_6838_SHOW_HI_SCORE_CHART :{BLACK}Afficher le tableau des scores +STR_6839_PERMISSIVE :Laxiste +STR_683A_TOLERANT :Tolérant +STR_683B_HOSTILE :Hostile + ##id 0x7000 STR_7000 : STR_7001 :{WHITE}{STRING}{BLACK}{STRING} -STR_7002_PLAYER_1 : (Joueur 1) -STR_7003_PLAYER_2 : (Joueur 2) +STR_7002_PLAYER :(Joueur {COMMA16}) STR_7004_NEW_FACE :{BLACK}Nouveau visage STR_7005_COLOR_SCHEME :{BLACK}Couleur STR_7006_COLOR_SCHEME :{GOLD}Couleur: @@ -1756,8 +1801,8 @@ STR_7025_OPERATING_PROFIT_GRAPH :{WHITE}Graphique du profit d'op STR_7026_BANK_BALANCE :{WHITE}Equilibre bancaire STR_7027_LOAN :{WHITE}Prêt STR_7028 :{BLACK}{CURRENCY64} -STR_7029_BORROW :{BLACK}Emprunter {SKIP}{SKIP}{SKIP}{CURRENCY} -STR_702A_REPAY :{BLACK}Rembourser {SKIP}{SKIP}{SKIP}{CURRENCY} +STR_7029_BORROW :{BLACK}Emprunter {SKIP}{SKIP}{SKIP}{SKIP}{CURRENCY} +STR_702A_REPAY :{BLACK}Rembourser {SKIP}{SKIP}{SKIP}{SKIP}{CURRENCY} STR_702B_MAXIMUM_PERMITTED_LOAN :{WHITE}...le prêt maximum est de {CURRENCY} STR_702C_CAN_T_BORROW_ANY_MORE_MONEY :{WHITE}Impossible d'emprunter plus... STR_702D_LOAN_ALREADY_REPAYED :{WHITE}...Prêt déjà remboursé diff --git a/settings_gui.c b/settings_gui.c index 60310fa932..4cc79655dd 100644 --- a/settings_gui.c +++ b/settings_gui.c @@ -443,7 +443,7 @@ static const GameSettingData _game_setting_info[] = { {0,7,1,0}, {0,3,1,STR_6830_IMMEDIATE}, {0,2,1,STR_6816_LOW}, - {0,2,1,STR_6816_LOW}, + {0,3,1,STR_26816_NONE}, {100,500,50,0}, {2,4,1,0}, {0,2,1,STR_6820_LOW}, @@ -470,9 +470,9 @@ static bool FORCEINLINE GetBitAndShift(uint32 *b) static GameOptions _opt_mod_temp; static const int16 _default_game_diff[3][GAME_DIFFICULTY_NUM] = { - {2, 2, 1, 2, 300, 2, 0, 2, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0}, - {4, 1, 1, 1, 150, 3, 1, 3, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1}, - {7, 0, 2, 1, 100, 4, 1, 3, 2, 2, 0, 2, 3, 2, 1, 1, 1, 2}, + {2, 2, 1, 3, 300, 2, 0, 2, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0}, + {4, 1, 1, 2, 150, 3, 1, 3, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1}, + {7, 0, 2, 2, 100, 4, 1, 3, 2, 2, 0, 2, 3, 2, 1, 1, 1, 2}, }; void SetDifficultyLevel(int mode, GameOptions *gm_opt)