Skip to content

Commit c176149

Browse files
committed
Merge remote-tracking branch 'upstream/master' into loadout_copy_paste
2 parents 0add49f + f067601 commit c176149

63 files changed

Lines changed: 621 additions & 270 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Run-Win32-Debug.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@cd bin\Win32
2+
@start Debug\OpenXcom.exe -data "..\data"

Run-Win32-Release.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@cd bin\Win32
2+
@start Release\OpenXcom.exe -data "..\data"

Run-Win64-Debug.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@cd bin\Win32
2+
@start Debug\OpenXcom.exe -data "..\data"

Run-Win64-Release.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@cd bin\Win64
2+
@start Release\OpenXcom.exe -data "..\data"

bin/data/Language/en-GB.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -835,6 +835,7 @@ en-GB:
835835
STR_AMOUNT_AT_DESTINATION: "AMOUNT AT{NEWLINE}DESTINATION"
836836
STR_ALIEN_DIES_NO_ALIEN_CONTAINMENT_FACILITY: "Alien dies as there is no alien containment facility"
837837
STR_NO_FREE_ACCOMODATION_CREW: "NO FREE ACCOMMODATION!{SMALLLINE}The destination base does not have enough space in the living quarters for the crew assigned to the craft."
838+
STR_NOT_ENOUGH_STORE_SPACE_FOR_CRAFT: "NOT ENOUGH STORE SPACE!{SMALLLINE}The destination base does not have enough store space for the equipment assigned to the craft."
838839
STR_ITEMS_ARRIVING: "Items Arriving"
839840
STR_DESTINATION_UC: "DESTINATION"
840841
STR_PISTOL: "Pistol"
@@ -1120,8 +1121,8 @@ en-GB:
11201121
STR_ADVANCED: "ADVANCED"
11211122
STR_AGGRESSIVERETALIATION: "Aggressive retaliation"
11221123
STR_AGGRESSIVERETALIATION_DESC: "UFOs will attempt to detect your bases at all times, regardless of their mission parameters."
1123-
STR_ALIENCONTAINMENTLIMITENFORCED: "Alien containment limits"
1124-
STR_ALIENCONTAINMENTLIMITENFORCED_DESC: "Live alien containment limits will be imposed."
1124+
STR_STORAGELIMITSENFORCED: "Storage limits"
1125+
STR_STORAGELIMITSENFORCED_DESC: "Live alien containment and general stores limits will be imposed at all times."
11251126
STR_CANSELLLIVEALIENS: "Live alien sale"
11261127
STR_CANSELLLIVEALIENS_DESC: "Allows the sale of live aliens, recommended when using containment limits."
11271128
STR_ALLOWAUTOSELLPRODUCTION: "Manufacture auto-sale"
@@ -1188,6 +1189,7 @@ en-GB:
11881189
STR_DEAD_ALIENS: "Dead Aliens"
11891190
STR_CONTAINMENT_EXCEEDED: "ALIEN CONTAINMENT LIMITS EXCEEDED!{SMALLLINE}Insufficient containment space at {0}. You must remove excess aliens from containment (who will then die)."
11901191
STR_MANAGE_CONTAINMENT: "Manage Alien Containment"
1192+
STR_STORAGE_EXCEEDED: "STORAGE SPACE EXCEEDED!{SMALLLINE}Insufficient storage space at {0}. You must sell off excess items."
11911193
STR_DETAILS: "DETAILS> {ALT}{0}"
11921194
STR_GO_TO_BASE: "Go to Base"
11931195
STR_DISABLEAUTOEQUIP: "Disable auto-equip"
@@ -1216,11 +1218,8 @@ en-GB:
12161218
STR_ORIGINAL: "Original"
12171219
STR_DISPLAY_MODE: "Display Mode"
12181220
STR_WINDOWED: "Windowed"
1219-
STR_WINDOWED_DESC: "The game is displayed in a window."
12201221
STR_FULLSCREEN: "Fullscreen"
1221-
STR_FULLSCREEN_DESC: "The game covers the whole screen."
12221222
STR_BORDERLESS: "Borderless"
1223-
STR_BORDERLESS_DESC: "The game is displayed in a borderless window. If the display resolution is the same as the screen, it mimics fullscreen mode."
12241223
STR_DISPLAY_LANGUAGE: "Display Language"
12251224
STR_DISPLAY_LANGUAGE_DESC: "Changes the language of the in-game text."
12261225
STR_DISPLAY_FILTER: "Display Filter"
@@ -1341,3 +1340,4 @@ en-GB:
13411340
STR_AUTO_SAVE_GEOSCAPE_SLOT: "<AUTOSAVE GEOSCAPE>"
13421341
STR_AUTO_SAVE_BATTLESCAPE_SLOT: "<AUTOSAVE BATTLESCAPE>"
13431342
STR_QUICK_SAVE_SLOT: "<QUICKSAVE>"
1343+
STR_DISPLAY_MODE_DESC: "Change how the game is displayed on your screen."

bin/data/Language/en-US.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -835,6 +835,7 @@ en-US:
835835
STR_AMOUNT_AT_DESTINATION: "AMOUNT AT{NEWLINE}DESTINATION"
836836
STR_ALIEN_DIES_NO_ALIEN_CONTAINMENT_FACILITY: "Alien dies as there is no alien containment facility"
837837
STR_NO_FREE_ACCOMODATION_CREW: "NO FREE ACCOMMODATION!{SMALLLINE}The destination base does not have enough space in the living quarters for the crew assigned to the craft."
838+
STR_NOT_ENOUGH_STORE_SPACE_FOR_CRAFT: "NOT ENOUGH STORE SPACE!{SMALLLINE}The destination base does not have enough store space for the equipment assigned to the craft."
838839
STR_ITEMS_ARRIVING: "Items Arriving"
839840
STR_DESTINATION_UC: "DESTINATION"
840841
STR_PISTOL: "Pistol"
@@ -1120,8 +1121,8 @@ en-US:
11201121
STR_ADVANCED: "ADVANCED"
11211122
STR_AGGRESSIVERETALIATION: "Aggressive retaliation"
11221123
STR_AGGRESSIVERETALIATION_DESC: "UFOs will attempt to detect your bases at all times, regardless of their mission parameters."
1123-
STR_ALIENCONTAINMENTLIMITENFORCED: "Alien containment limits"
1124-
STR_ALIENCONTAINMENTLIMITENFORCED_DESC: "Live alien containment limits will be imposed."
1124+
STR_STORAGELIMITSENFORCED: "Storage limits"
1125+
STR_STORAGELIMITSENFORCED_DESC: "Live alien containment and general stores limits will be imposed at all times."
11251126
STR_CANSELLLIVEALIENS: "Live alien sale"
11261127
STR_CANSELLLIVEALIENS_DESC: "Allows the sale of live aliens, recommended when using containment limits."
11271128
STR_ALLOWAUTOSELLPRODUCTION: "Manufacture auto-sale"
@@ -1188,6 +1189,7 @@ en-US:
11881189
STR_DEAD_ALIENS: "Dead Aliens"
11891190
STR_CONTAINMENT_EXCEEDED: "ALIEN CONTAINMENT LIMITS EXCEEDED!{SMALLLINE}Insufficient containment space at {0}. You must remove excess aliens from containment (who will then die)."
11901191
STR_MANAGE_CONTAINMENT: "Manage Alien Containment"
1192+
STR_STORAGE_EXCEEDED: "STORAGE SPACE EXCEEDED!{SMALLLINE}Insufficient storage space at {0}. You must sell off excess items."
11911193
STR_DETAILS: "DETAILS> {ALT}{0}"
11921194
STR_GO_TO_BASE: "Go to Base"
11931195
STR_DISABLEAUTOEQUIP: "Disable auto-equip"
@@ -1216,11 +1218,8 @@ en-US:
12161218
STR_ORIGINAL: "Original"
12171219
STR_DISPLAY_MODE: "Display Mode"
12181220
STR_WINDOWED: "Windowed"
1219-
STR_WINDOWED_DESC: "The game is displayed in a window."
12201221
STR_FULLSCREEN: "Fullscreen"
1221-
STR_FULLSCREEN_DESC: "The game covers the whole screen."
12221222
STR_BORDERLESS: "Borderless"
1223-
STR_BORDERLESS_DESC: "The game is displayed in a borderless window. If the display resolution is the same as the screen, it mimics fullscreen mode."
12241223
STR_DISPLAY_LANGUAGE: "Display Language"
12251224
STR_DISPLAY_LANGUAGE_DESC: "Changes the language of the in-game text."
12261225
STR_DISPLAY_FILTER: "Display Filter"
@@ -1341,3 +1340,4 @@ en-US:
13411340
STR_AUTO_SAVE_GEOSCAPE_SLOT: "<AUTOSAVE GEOSCAPE>"
13421341
STR_AUTO_SAVE_BATTLESCAPE_SLOT: "<AUTOSAVE BATTLESCAPE>"
13431342
STR_QUICK_SAVE_SLOT: "<QUICKSAVE>"
1343+
STR_DISPLAY_MODE_DESC: "Change how the game is displayed on your screen."

bin/data/Ruleset/Xcom1Ruleset.rul

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1925,7 +1925,7 @@ items:
19251925
battleType: 5
19261926
blastRadius: 5
19271927
- type: STR_HIGH_EXPLOSIVE
1928-
size: 0.25
1928+
size: 0.2
19291929
costBuy: 1500
19301930
costSell: 1200
19311931
weight: 6
@@ -9253,6 +9253,8 @@ MCDPatches:
92539253
bigWall: 4
92549254
- MCDIndex: 33
92559255
bigWall: 4
9256+
- MCDIndex: 39
9257+
LOFTS: [6,29,29,29,29,29,0,0,0,0,0,0]
92569258
- MCDIndex: 43
92579259
bigWall: 6
92589260
- MCDIndex: 44

install/win/installer.nsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@
9797
!insertmacro MUI_LANGUAGE "PortugueseBR"
9898
!insertmacro MUI_LANGUAGE "Polish"
9999
!insertmacro MUI_LANGUAGE "Romanian"
100+
!insertmacro MUI_LANGUAGE "Spanish"
100101
!insertmacro MUI_LANGUAGE "Turkish"
101102

102103
!include "installerlang.nsh" ; Language strings

install/win/installerlang.nsh

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,4 +289,41 @@ LangString LINK_Uninstall ${LANG_TURKISH} "Program Kaldır"
289289
;Warnings
290290

291291
LangString WARN_UFOMissing ${LANG_TURKISH} "X-COM 1 bu dizinde bulunamadı. ${GAME_NAME} için geçerli bir X-COM kurulumu zorunludur. Devam?"
292-
LangString WARN_XCUDetected ${LANG_TURKISH} "XcomUtil tespit edildi. ${GAME_NAME} XcomUtil ile uyumlu olmadığından tuhaf sorunlarla karşılabilirsiniz. Devam?"
292+
LangString WARN_XCUDetected ${LANG_TURKISH} "XcomUtil tespit edildi. ${GAME_NAME} XcomUtil ile uyumlu olmadığından tuhaf sorunlarla karşılabilirsiniz. Devam?"
293+
294+
;================SPANISH================
295+
296+
;--------------------------------
297+
;Pages
298+
299+
LangString PAGE_UfoFolder ${LANG_SPANISH} "${GAME_NAME} requiere una copia de UFO: Enemy Unknown / X-COM: UFO Defense. Puede omitir este paso si va a actualizar una instalación existente.$\n$\nEl programa de instalación copiará los archivos necesarios en la siguiente carpeta. Para copiar desde una carpeta diferente, presione en Explorar y seleccione otra carpeta. Precione en Siguiente para continuar."
300+
LangString PAGE_UfoFolder_TITLE ${LANG_SPANISH} "Selecione ubicación X-COM 1 "
301+
LangString PAGE_UfoFolder_SUBTITLE ${LANG_SPANISH} "Selecione la carpeta donde tiene X-COM 1 instalado."
302+
LangString DEST_UfoFolder ${LANG_SPANISH} "X-COM 1 carpeta"
303+
;--------------------------------
304+
;Installer Sections
305+
306+
LangString NAME_SecMain ${LANG_SPANISH} "Archivos del juego"
307+
LangString DESC_SecMain ${LANG_SPANISH} "Archivos necesarios para ejecutar ${GAME_NAME}."
308+
LangString NAME_SecPatch ${LANG_SPANISH} "Parche de datos"
309+
LangString DESC_SecPatch ${LANG_SPANISH} "Corrige los errores en los datos de X-COM 1. Recomendado para instalaciones iniciales. (requiere una conexión al Internet)"
310+
LangString NAME_SecDesktop ${LANG_SPANISH} "Atajo en el escritorio"
311+
LangString DESC_SecDesktop ${LANG_SPANISH} "Crea un acceso directo en el escritorio para jugar ${GAME_NAME}."
312+
313+
;--------------------------------
314+
;Uninstaller Descriptions
315+
LangString NAME_UnData ${LANG_SPANISH} "Borra datos de X-COM"
316+
LangString DESC_UnData ${LANG_SPANISH} "Borra todos los datos de ${GAME_NAME}, incluyendo mods y los recursos de X-COM. Recomendado para una reinstalación limpia."
317+
LangString NAME_UnUser ${LANG_SPANISH} "Borra datos de usuario"
318+
LangString DESC_UnUser ${LANG_SPANISH} "Borra todos los datos del usuario ${GAME_NAME}, incluyendo partidas guardadas, capturas de pantalla y opciones. Recomendado para una limpieza completa. "
319+
;--------------------------------
320+
;Shortcuts
321+
LangString LINK_DataFolder ${LANG_SPANISH} "Carpeta de datos"
322+
LangString LINK_Readme ${LANG_SPANISH} "Leerme"
323+
LangString LINK_UserFolder ${LANG_SPANISH} "Carpeta de usuario"
324+
LangString LINK_Uninstall ${LANG_SPANISH} "Desinstalación"
325+
326+
;--------------------------------
327+
;Warnings
328+
LangString WARN_UFOMissing ${LANG_SPANISH} "X-COM 1 no se encuentra en esta carpeta. ${GAME_NAME} requiere una instalación válida de X-COM para ejecutarse. ¿Desea continuar?"
329+
LangString WARN_XCUDetected ${LANG_SPANISH} "XcomUtil detectado. ${GAME_NAME} es incompatible con XcomUtil y puede experimentar un comportamiento extraño. ¿Desea continuar?"

src/Basescape/BaseInfoState.cpp

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -81,25 +81,25 @@ BaseInfoState::BaseInfoState(Game *game, Base *base, BasescapeState *state) : St
8181
_txtWorkshops = new Text(114, 9, 8, 113);
8282
_numWorkshops = new Text(40, 9, 126, 113);
8383
_barWorkshops = new Bar(150, 5, 166, 115);
84-
if (Options::alienContainmentLimitEnforced)
84+
if (Options::storageLimitsEnforced)
8585
{
8686
_txtContainment = new Text(114, 9, 8, 123);
8787
_numContainment = new Text(40, 9, 126, 123);
8888
_barContainment = new Bar(150, 5, 166, 125);
8989
}
90-
_txtHangars = new Text(114, 9, 8, Options::alienContainmentLimitEnforced ? 133 : 123);
91-
_numHangars = new Text(40, 9, 126, Options::alienContainmentLimitEnforced ? 133 : 123);
92-
_barHangars = new Bar(150, 5, 166, Options::alienContainmentLimitEnforced ? 135 : 125);
93-
94-
_txtDefense = new Text(114, 9, 8, Options::alienContainmentLimitEnforced ? 147 : 138);
95-
_numDefense = new Text(40, 9, 126, Options::alienContainmentLimitEnforced ? 147 : 138);
96-
_barDefense = new Bar(150, 5, 166, Options::alienContainmentLimitEnforced ? 149 : 140);
97-
_txtShortRange = new Text(114, 9, 8, Options::alienContainmentLimitEnforced ? 157 : 153);
98-
_numShortRange = new Text(40, 9, 126, Options::alienContainmentLimitEnforced ? 157 : 153);
99-
_barShortRange = new Bar(150, 5, 166, Options::alienContainmentLimitEnforced ? 159 : 155);
100-
_txtLongRange = new Text(114, 9, 8, Options::alienContainmentLimitEnforced ? 167 : 163);
101-
_numLongRange = new Text(40, 9, 126, Options::alienContainmentLimitEnforced ? 167 : 163);
102-
_barLongRange = new Bar(150, 5, 166, Options::alienContainmentLimitEnforced ? 169 : 165);
90+
_txtHangars = new Text(114, 9, 8, Options::storageLimitsEnforced ? 133 : 123);
91+
_numHangars = new Text(40, 9, 126, Options::storageLimitsEnforced ? 133 : 123);
92+
_barHangars = new Bar(150, 5, 166, Options::storageLimitsEnforced ? 135 : 125);
93+
94+
_txtDefense = new Text(114, 9, 8, Options::storageLimitsEnforced ? 147 : 138);
95+
_numDefense = new Text(40, 9, 126, Options::storageLimitsEnforced ? 147 : 138);
96+
_barDefense = new Bar(150, 5, 166, Options::storageLimitsEnforced ? 149 : 140);
97+
_txtShortRange = new Text(114, 9, 8, Options::storageLimitsEnforced ? 157 : 153);
98+
_numShortRange = new Text(40, 9, 126, Options::storageLimitsEnforced ? 157 : 153);
99+
_barShortRange = new Bar(150, 5, 166, Options::storageLimitsEnforced ? 159 : 155);
100+
_txtLongRange = new Text(114, 9, 8, Options::storageLimitsEnforced ? 167 : 163);
101+
_numLongRange = new Text(40, 9, 126, Options::storageLimitsEnforced ? 167 : 163);
102+
_barLongRange = new Bar(150, 5, 166, Options::storageLimitsEnforced ? 169 : 165);
103103

104104
// Set palette
105105
setPalette("PAL_BASESCAPE");
@@ -136,7 +136,7 @@ BaseInfoState::BaseInfoState(Game *game, Base *base, BasescapeState *state) : St
136136
add(_txtWorkshops);
137137
add(_numWorkshops);
138138
add(_barWorkshops);
139-
if (Options::alienContainmentLimitEnforced)
139+
if (Options::storageLimitsEnforced)
140140
{
141141
add(_txtContainment);
142142
add(_numContainment);
@@ -160,7 +160,7 @@ BaseInfoState::BaseInfoState(Game *game, Base *base, BasescapeState *state) : St
160160

161161
// Set up objects
162162
std::ostringstream ss;
163-
if (Options::alienContainmentLimitEnforced)
163+
if (Options::storageLimitsEnforced)
164164
{
165165
ss << "ALT";
166166
}
@@ -263,7 +263,7 @@ BaseInfoState::BaseInfoState(Game *game, Base *base, BasescapeState *state) : St
263263
_barWorkshops->setColor(Palette::blockOffset(3));
264264
_barWorkshops->setScale(0.5);
265265

266-
if (Options::alienContainmentLimitEnforced)
266+
if (Options::storageLimitsEnforced)
267267
{
268268
_txtContainment->setColor(Palette::blockOffset(13)+5);
269269
_txtContainment->setText(tr("STR_ALIEN_CONTAINMENT"));
@@ -354,11 +354,11 @@ void BaseInfoState::init()
354354
_barQuarters->setValue(_base->getUsedQuarters());
355355

356356
std::wostringstream ss5;
357-
ss5 << _base->getUsedStores() << ":" << _base->getAvailableStores();
357+
ss5 << (int)floor(_base->getUsedStores() + 0.05) << ":" << _base->getAvailableStores();
358358
_numStores->setText(ss5.str());
359359

360360
_barStores->setMax(_base->getAvailableStores());
361-
_barStores->setValue(_base->getUsedStores());
361+
_barStores->setValue((int)floor(_base->getUsedStores() + 0.05));
362362

363363
std::wostringstream ss6;
364364
ss6 << _base->getUsedLaboratories() << ":" << _base->getAvailableLaboratories();
@@ -374,7 +374,7 @@ void BaseInfoState::init()
374374
_barWorkshops->setMax(_base->getAvailableWorkshops());
375375
_barWorkshops->setValue(_base->getUsedWorkshops());
376376

377-
if (Options::alienContainmentLimitEnforced)
377+
if (Options::storageLimitsEnforced)
378378
{
379379
std::wostringstream ss72;
380380
ss72 << _base->getUsedContainment() << ":" << _base->getAvailableContainment();

0 commit comments

Comments
 (0)