Skip to content

Commit 07e5464

Browse files
committed
Merge remote-tracking branch 'upstream/master' into loadout_copy_paste
2 parents 4306e31 + a1abb24 commit 07e5464

99 files changed

Lines changed: 2070 additions & 1008 deletions

File tree

Some content is hidden

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

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ option ( DEV_BUILD "Development Build. Disable this for release builds" ON )
77
option ( BUILD_PACKAGE "Prepares build for creation of a package with CPack" ON )
88
option ( ENABLE_WARNING "Always show warnings (even for release builds)" OFF )
99
option ( FATAL_WARNING "Treat warnings as errors" OFF )
10+
option ( ENABLE_CLANG_ANALYSIS "When building with clang, enable the static analyzer" OFF )
1011
set ( MSVC_WARNING_LEVEL 3 CACHE STRING "Visual Studio warning levels" )
1112
option ( FORCE_INSTALL_DATA_TO_BIN "Force installation of data to binary directory" OFF )
1213
set ( DATADIR "" CACHE STRING "Where to place datafiles" )

Makefile.am

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -432,8 +432,8 @@ openxcom_SOURCES = \
432432
src/Menu/DeleteGameState.h \
433433
src/Menu/ErrorMessageState.cpp \
434434
src/Menu/ErrorMessageState.h \
435-
src/Menu/LoadState.cpp \
436-
src/Menu/LoadState.h \
435+
src/Menu/ListLoadState.cpp \
436+
src/Menu/ListLoadState.h \
437437
src/Menu/MainMenuState.cpp \
438438
src/Menu/MainMenuState.h \
439439
src/Menu/NewBattleState.cpp \
@@ -464,10 +464,14 @@ openxcom_SOURCES = \
464464
src/Menu/AbandonGameState.h \
465465
src/Menu/PauseState.cpp \
466466
src/Menu/PauseState.h \
467-
src/Menu/SavedGameState.cpp \
468-
src/Menu/SavedGameState.h \
469-
src/Menu/SaveState.cpp \
470-
src/Menu/SaveState.h \
467+
src/Menu/ListGamesState.cpp \
468+
src/Menu/ListGamesState.h \
469+
src/Menu/ListSaveState.cpp \
470+
src/Menu/ListSaveState.h \
471+
src/Menu/LoadGameState.cpp \
472+
src/Menu/LoadGameState.h \
473+
src/Menu/SaveGameState.cpp \
474+
src/Menu/SaveGameState.h \
471475
src/Menu/IntroState.cpp \
472476
src/Menu/IntroState.h \
473477
src/Menu/StartState.cpp \
@@ -535,6 +539,10 @@ openxcom_SOURCES = \
535539
src/Ruleset/RuleUfo.h \
536540
src/Ruleset/SoldierNamePool.cpp \
537541
src/Ruleset/SoldierNamePool.h \
542+
src/Ruleset/StatString.h \
543+
src/Ruleset/StatString.cpp \
544+
src/Ruleset/StatStringCondition.h \
545+
src/Ruleset/StatStringCondition.cpp \
538546
src/Ruleset/UfoTrajectory.cpp \
539547
src/Ruleset/UfoTrajectory.h \
540548
src/Ruleset/Unit.cpp \

bin/data/Language/en-GB.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,7 @@ en-GB:
665665
STR_MIND_PROBE_UFOPEDIA: "The mind probe is an alien communication device which is used to take information directly from brain waves. XCom units can use this device in combat to display an alien's characteristics. Click on the mind probe and the 'use' option. Then click on an alien with the cursor."
666666
STR_PLASMA_PISTOL_UFOPEDIA: "Plasma Pistols are a lethal alien weapon based on accelerating particles from within a minute anti-gravity field."
667667
STR_PLASMA_RIFLE_UFOPEDIA: "This is a devastatingly powerful weapon based on accelerating particles from within a minute anti-gravity field."
668+
STR_HEAVY_PLASMA_UFOPEDIA: "This is a devastatingly powerful weapon based on accelerating particles from within a minute anti-gravity field."
668669
STR_BLASTER_LAUNCHER_UFOPEDIA: "This is an alien guided missile launcher which fires powerful 'blaster bombs'. When you click to fire the weapon it will generate 'way points' for the blaster bomb to follow. When you have positioned enough way points click on the special launch icon."
669670
STR_SMALL_LAUNCHER_UFOPEDIA: "A small launcher which fires stun bombs. Very useful for capturing live aliens."
670671
STR_ALIEN_GRENADE_UFOPEDIA: "This device works in the same way as a terrestrial grenade - except that it is more powerful."
@@ -898,7 +899,7 @@ en-GB:
898899
STR_UFO_HIT: "UFO HIT!"
899900
STR_UFO_CRASH_LANDS: "UFO CRASH LANDS!"
900901
STR_MINIMISE_AT_STANDOFF_RANGE_ONLY: "Minimise at Standoff Range Only"
901-
STR_UFO_RETURN_FIRE: "UFO RETURN FIRE!"
902+
STR_UFO_RETURN_FIRE: "UFO RETURNS FIRE!"
902903
STR_INTERCEPTOR_DAMAGED: ">>> INTERCEPTOR DAMAGED <<<"
903904
STR_INTERCEPTOR_DESTROYED: ">>> INTERCEPTOR DESTROYED <<<"
904905
STR_UFO_OUTRUNNING_INTERCEPTOR: "UFO OUTRUNNING INTERCEPTOR!"
@@ -1154,8 +1155,8 @@ en-GB:
11541155
STR_STRAFE_DESC: "Enables strafing, running, and independent tank turret movement when holding CTRL."
11551156
STR_BATTLEEXPLOSIONHEIGHT: "Explosion height"
11561157
STR_BATTLEEXPLOSIONHEIGHT_DESC: "Change how far height-wise explosions may spread.{NEWLINE}(Flat: 0, Round: 3)"
1157-
STR_AUTOSAVE: "Autosave mode"
1158-
STR_AUTOSAVE_DESC: "0 - Disabled. 1 - Quick save and quick load. 2 - Autosave only at 00:00. All save and load buttons are disabled. 3 - Same as previous, as well as autosave on exit of the game."
1158+
STR_AUTOSAVE: "Autosave"
1159+
STR_AUTOSAVE_DESC: "Automatically saves the game at regular intervals. Doesn't apply to Ironman Mode."
11591160
STR_ALLOWPSIONICCAPTURE: "Allow psi-capture"
11601161
STR_ALLOWPSIONICCAPTURE_DESC: "Mind-controlling all remaining aliens results in victory, and they count as live captures."
11611162
STR_ANYTIMEPSITRAINING: "Psionic training at any time"
@@ -1309,7 +1310,7 @@ en-GB:
13091310
STR_INCLUDE_PRIMESTATE_IN_SAVED_LAYOUT: "Save pre-primed grenades"
13101311
STR_INCLUDE_PRIMESTATE_IN_SAVED_LAYOUT_DESC: "Saves grenades primed during pre-battle inventory in the soldier's equipment layout."
13111312
STR_NEWSEEDONLOAD: "Save scumming"
1312-
STR_NEWSEEDONLOAD_DESC: "Loading a game will reset the random number seed, so taking the same action can yield different results. Doesn't affect Ironman Mode."
1313+
STR_NEWSEEDONLOAD_DESC: "Loading a game will reset the random number seed, so taking the same action can yield different results. Doesn't apply to Ironman Mode."
13131314
STR_CHANGEVALUEBYMOUSEWHEEL: "Change values with mouse wheel"
13141315
STR_CHANGEVALUEBYMOUSEWHEEL_DESC: "Allows you to use the mouse wheel to increase/decrease values by this amount."
13151316
STR_BATTLEHAIRBLEACH: "Enhanced soldier sprites"
@@ -1326,10 +1327,14 @@ en-GB:
13261327
STR_HALF_DISPLAY: "1/2 Display"
13271328
STR_FULL_DISPLAY: "Full Display"
13281329
STR_FPS_LIMIT: "FPS limit"
1329-
STR_FPS_LIMIT_DESC: "Limits the number of screen updates per second, 0 for no limit. Note: this will only affect software modes, as OpenGL handles this itself."
1330-
STR_NOALIENPANICMESSAGES: "Supress panic messages for aliens"
1331-
STR_NOALIENPANICMESSAGES_DESC: "Don't show panic messages for aliens unless it is visible to the player."
1330+
STR_FPS_LIMIT_DESC: "Limits the number of screen updates per second, 0 for no limit. If OpenGL rendering is enabled, the game uses Vsync instead."
1331+
STR_NOALIENPANICMESSAGES: "Supress panic messages for aliens."
1332+
STR_NOALIENPANICMESSAGES_DESC: "Don't show panic messages for aliens unless they are visible to the player."
13321333
STR_ALIENBLEEDING: "Alien bleeding"
1333-
STR_ALIENBLEEDING_DESC: "Allows fatal wounds to be inflicted on most aliens"
1334+
STR_ALIENBLEEDING_DESC: "Allows fatal wounds to be inflicted on most aliens."
13341335
STR_FIELDPROMOTIONS: "Field promotions"
13351336
STR_FIELDPROMOTIONS_DESC: "Only soldiers that were present at the mission site are eligible for promotion."
1337+
STR_IRONMAN: "IRONMAN"
1338+
STR_IRONMAN_DESC: "No manual saving. All choices are permanent."
1339+
STR_SAVE_AND_ABANDON_GAME: "SAVE AND ABANDON GAME"
1340+
STR_MOD_UNSUCCESSFUL: "Mod failed to load"

bin/data/Language/en-US.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,7 @@ en-US:
665665
STR_MIND_PROBE_UFOPEDIA: "The mind probe is an alien communication device which is used to take information directly from brain waves. XCom units can use this device in combat to display an alien's characteristics. Click on the mind probe and the 'use' option. Then click on an alien with the cursor."
666666
STR_PLASMA_PISTOL_UFOPEDIA: "Plasma Pistols are a lethal alien weapon based on accelerating particles from within a minute anti-gravity field."
667667
STR_PLASMA_RIFLE_UFOPEDIA: "This is a devastatingly powerful weapon based on accelerating particles from within a minute anti-gravity field."
668+
STR_HEAVY_PLASMA_UFOPEDIA: "This is a devastatingly powerful weapon based on accelerating particles from within a minute anti-gravity field."
668669
STR_BLASTER_LAUNCHER_UFOPEDIA: "This is an alien guided missile launcher which fires powerful 'blaster bombs'. When you click to fire the weapon it will generate 'way points' for the blaster bomb to follow. When you have positioned enough way points click on the special launch icon."
669670
STR_SMALL_LAUNCHER_UFOPEDIA: "A small launcher which fires stun bombs. Very useful for capturing live aliens."
670671
STR_ALIEN_GRENADE_UFOPEDIA: "This device works in the same way as a terrestrial grenade - except that it is more powerful."
@@ -898,7 +899,7 @@ en-US:
898899
STR_UFO_HIT: "UFO HIT!"
899900
STR_UFO_CRASH_LANDS: "UFO CRASH LANDS!"
900901
STR_MINIMISE_AT_STANDOFF_RANGE_ONLY: "Minimize at Standoff Range Only"
901-
STR_UFO_RETURN_FIRE: "UFO RETURN FIRE!"
902+
STR_UFO_RETURN_FIRE: "UFO RETURNS FIRE!"
902903
STR_INTERCEPTOR_DAMAGED: ">>> INTERCEPTOR DAMAGED <<<"
903904
STR_INTERCEPTOR_DESTROYED: ">>> INTERCEPTOR DESTROYED <<<"
904905
STR_UFO_OUTRUNNING_INTERCEPTOR: "UFO OUTRUNNING INTERCEPTOR!"
@@ -1154,8 +1155,8 @@ en-US:
11541155
STR_STRAFE_DESC: "Enables strafing, running, and independent tank turret movement when holding CTRL."
11551156
STR_BATTLEEXPLOSIONHEIGHT: "Explosion height"
11561157
STR_BATTLEEXPLOSIONHEIGHT_DESC: "Change how far height-wise explosions may spread.{NEWLINE}(Flat: 0, Round: 3)"
1157-
STR_AUTOSAVE: "Autosave mode"
1158-
STR_AUTOSAVE_DESC: "0 - Disabled. 1 - Quick save and quick load. 2 - Autosave only at 00:00. All save and load buttons are disabled. 3 - Same as previous, as well as autosave on exit of the game."
1158+
STR_AUTOSAVE: "Autosave"
1159+
STR_AUTOSAVE_DESC: "Automatically saves the game at regular intervals. Doesn't apply to Ironman Mode."
11591160
STR_ALLOWPSIONICCAPTURE: "Allow psi-capture"
11601161
STR_ALLOWPSIONICCAPTURE_DESC: "Mind-controlling all remaining aliens results in victory, and they count as live captures."
11611162
STR_ANYTIMEPSITRAINING: "Psionic training at any time"
@@ -1309,7 +1310,7 @@ en-US:
13091310
STR_INCLUDE_PRIMESTATE_IN_SAVED_LAYOUT: "Save pre-primed grenades"
13101311
STR_INCLUDE_PRIMESTATE_IN_SAVED_LAYOUT_DESC: "Saves grenades primed during pre-battle inventory in the soldier's equipment layout."
13111312
STR_NEWSEEDONLOAD: "Save scumming"
1312-
STR_NEWSEEDONLOAD_DESC: "Loading a game will reset the random number seed, so taking the same action can yield different results. Doesn't affect Ironman Mode."
1313+
STR_NEWSEEDONLOAD_DESC: "Loading a game will reset the random number seed, so taking the same action can yield different results. Doesn't apply to Ironman Mode."
13131314
STR_CHANGEVALUEBYMOUSEWHEEL: "Change values with mouse wheel"
13141315
STR_CHANGEVALUEBYMOUSEWHEEL_DESC: "Allows you to use the mouse wheel to increase/decrease values by this amount."
13151316
STR_BATTLEHAIRBLEACH: "Enhanced soldier sprites"
@@ -1326,10 +1327,14 @@ en-US:
13261327
STR_HALF_DISPLAY: "1/2 Display"
13271328
STR_FULL_DISPLAY: "Full Display"
13281329
STR_FPS_LIMIT: "FPS limit"
1329-
STR_FPS_LIMIT_DESC: "Limits the number of screen updates per second, 0 for no limit. Note: this will only affect software modes, as OpenGL handles this itself."
1330-
STR_NOALIENPANICMESSAGES: "Supress panic messages for aliens"
1331-
STR_NOALIENPANICMESSAGES_DESC: "Don't show panic messages for aliens unless it is visible to the player."
1330+
STR_FPS_LIMIT_DESC: "Limits the number of screen updates per second, 0 for no limit. If OpenGL rendering is enabled, the game uses Vsync instead."
1331+
STR_NOALIENPANICMESSAGES: "Supress panic messages for aliens."
1332+
STR_NOALIENPANICMESSAGES_DESC: "Don't show panic messages for aliens unless they are visible to the player."
13321333
STR_ALIENBLEEDING: "Alien bleeding"
1333-
STR_ALIENBLEEDING_DESC: "Allows fatal wounds to be inflicted on most aliens"
1334+
STR_ALIENBLEEDING_DESC: "Allows fatal wounds to be inflicted on most aliens."
13341335
STR_FIELDPROMOTIONS: "Field promotions"
13351336
STR_FIELDPROMOTIONS_DESC: "Only soldiers that were present at the mission site are eligible for promotion."
1337+
STR_IRONMAN: "IRONMAN"
1338+
STR_IRONMAN_DESC: "No manual saving. All choices are permanent."
1339+
STR_SAVE_AND_ABANDON_GAME: "SAVE AND ABANDON GAME"
1340+
STR_MOD_UNSUCCESSFUL: "Mod failed to load"

bin/data/Ruleset/Xcom1Ruleset.rul

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1395,7 +1395,7 @@ items:
13951395
floorSprite: 0
13961396
handSprite: 0
13971397
bulletSprite: 4
1398-
fireSound: 2
1398+
fireSound: 12
13991399
compatibleAmmo:
14001400
- STR_HWP_CANNON_SHELLS
14011401
accuracySnap: 60
@@ -1624,7 +1624,7 @@ items:
16241624
floorSprite: 11
16251625
handSprite: 24
16261626
bulletSprite: 4
1627-
fireSound: 2
1627+
fireSound: 12
16281628
compatibleAmmo:
16291629
- STR_HC_AP_AMMO
16301630
- STR_HC_HE_AMMO
@@ -1694,7 +1694,7 @@ items:
16941694
floorSprite: 7
16951695
handSprite: 32
16961696
bulletSprite: 3
1697-
fireSound: 2
1697+
fireSound: 12
16981698
compatibleAmmo:
16991699
- STR_AC_AP_AMMO
17001700
- STR_AC_HE_AMMO
@@ -8174,7 +8174,7 @@ ufopaedia:
81748174
section: STR_ALIEN_ARTIFACTS
81758175
requires:
81768176
- STR_HEAVY_PLASMA
8177-
text: STR_PLASMA_RIFLE_UFOPEDIA
8177+
text: STR_HEAVY_PLASMA_UFOPEDIA
81788178
- id: STR_HEAVY_PLASMA_CLIP
81798179
type_id: 4
81808180
section: STR_ALIEN_ARTIFACTS
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Based on XcomUtil by Scott Jones and BladeFireLight
2+
# See http://ufopaedia.org/index.php?title=Statstrings
3+
# These are the default statStrings from XcomUtil.
4+
statStrings:
5+
- string: "x"
6+
psiStrength: [~, 30]
7+
- string: "P"
8+
psiStrength: [80, ~]
9+
- string: "p"
10+
psiStrength: [60, 79]
11+
- string: "K"
12+
psiSkill: [60, ~]
13+
- string: "k"
14+
psiSkill: [30, 59]
15+
- string: "b"
16+
bravery: [60, ~]
17+
- string: "c"
18+
bravery: [~, 10]
19+
- string: "w"
20+
strength: [~, 25]
21+
- string: "Snpr"
22+
firing: [60, ~]
23+
reactions: [60, ~]
24+
- string: "M"
25+
firing: [70, ~]
26+
- string: "m"
27+
firing: [60, 69]
28+
- string: "Sct"
29+
reactions: [50, ~]
30+
tu: [60, ~]
31+
- string: "R"
32+
reactions: [60, ~]
33+
- string: "r"
34+
reactions: [50, 59]

src/Basescape/BasescapeState.cpp

Lines changed: 28 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -115,14 +115,6 @@ BasescapeState::BasescapeState(Game *game, Base *base, Globe *globe) : State(gam
115115

116116
_mini->setTexture(_game->getResourcePack()->getSurfaceSet("BASEBITS.PCK"));
117117
_mini->setBases(_game->getSavedGame()->getBases());
118-
for (size_t i = 0; i < _game->getSavedGame()->getBases()->size(); ++i)
119-
{
120-
if (_game->getSavedGame()->getBases()->at(i) == _base)
121-
{
122-
_mini->setSelectedBase(i);
123-
break;
124-
}
125-
}
126118
_mini->onMouseClick((ActionHandler)&BasescapeState::miniClick);
127119

128120
_txtFacility->setColor(Palette::blockOffset(13)+10);
@@ -193,7 +185,7 @@ BasescapeState::~BasescapeState()
193185
if (*i == _base)
194186
{
195187
exists = true;
196-
break;
188+
break;
197189
}
198190
}
199191
if (!exists)
@@ -209,29 +201,8 @@ BasescapeState::~BasescapeState()
209201
void BasescapeState::init()
210202
{
211203
State::init();
212-
if (!_game->getSavedGame()->getBases()->empty())
213-
{
214-
bool exists = false;
215-
for (std::vector<Base*>::iterator i = _game->getSavedGame()->getBases()->begin(); i != _game->getSavedGame()->getBases()->end() && !exists; ++i)
216-
{
217-
if (*i == _base)
218-
{
219-
exists = true;
220-
}
221-
}
222-
// If base was removed, select first one
223-
if (!exists)
224-
{
225-
_base = _game->getSavedGame()->getBases()->front();
226-
_mini->setSelectedBase(0);
227-
}
228-
}
229-
else
230-
{
231-
// Use a blank base for special case when player has no bases
232-
_base = new Base(_game->getRuleset());
233-
}
234204

205+
setBase(_base);
235206
_view->setBase(_base);
236207
_mini->draw();
237208
_edtBase->setText(_base->getName());
@@ -257,16 +228,36 @@ void BasescapeState::init()
257228
*/
258229
void BasescapeState::setBase(Base *base)
259230
{
260-
_base = base;
261-
for (size_t i = 0; i < _game->getSavedGame()->getBases()->size(); ++i)
231+
if (!_game->getSavedGame()->getBases()->empty())
262232
{
263-
if (_game->getSavedGame()->getBases()->at(i) == _base)
233+
// Check if base still exists
234+
bool exists = false;
235+
for (size_t i = 0; i < _game->getSavedGame()->getBases()->size(); ++i)
264236
{
265-
_mini->setSelectedBase(i);
266-
break;
237+
if (_game->getSavedGame()->getBases()->at(i) == base)
238+
{
239+
_base = base;
240+
_mini->setSelectedBase(i);
241+
_game->getSavedGame()->setSelectedBase(i);
242+
exists = true;
243+
break;
244+
}
267245
}
246+
// If base was removed, select first one
247+
if (!exists)
248+
{
249+
_base = _game->getSavedGame()->getBases()->front();
250+
_mini->setSelectedBase(0);
251+
_game->getSavedGame()->setSelectedBase(0);
252+
}
253+
}
254+
else
255+
{
256+
// Use a blank base for special case when player has no bases
257+
_base = new Base(_game->getRuleset());
258+
_mini->setSelectedBase(0);
259+
_game->getSavedGame()->setSelectedBase(0);
268260
}
269-
init();
270261
}
271262

272263
/**
@@ -497,9 +488,7 @@ void BasescapeState::miniClick(Action *)
497488
size_t base = _mini->getHoveredBase();
498489
if (base < _game->getSavedGame()->getBases()->size())
499490
{
500-
_mini->setSelectedBase(base);
501491
_base = _game->getSavedGame()->getBases()->at(base);
502-
_game->getSavedGame()->setSelectedBase(base);
503492
init();
504493
}
505494
}
@@ -532,9 +521,7 @@ void BasescapeState::handleKeyPress(Action *action)
532521
}
533522
if (base > -1 && base < _game->getSavedGame()->getBases()->size())
534523
{
535-
_mini->setSelectedBase(base);
536524
_base = _game->getSavedGame()->getBases()->at(base);
537-
_game->getSavedGame()->setSelectedBase(base);
538525
init();
539526
}
540527
}

src/Basescape/BuildFacilitiesState.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ void BuildFacilitiesState::PopulateBuildList()
120120
*/
121121
void BuildFacilitiesState::init()
122122
{
123-
State::init();
124123
_state->init();
124+
State::init();
125125
}
126126

127127
/**

src/Basescape/CraftArmorState.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ CraftArmorState::CraftArmorState(Game *game, Base *base, size_t craft) : State(g
100100
Craft *c = _base->getCrafts()->at(_craft);
101101
for (std::vector<Soldier*>::iterator i = _base->getSoldiers()->begin(); i != _base->getSoldiers()->end(); ++i)
102102
{
103-
_lstSoldiers->addRow(3, (*i)->getName().c_str(), (*i)->getCraftString(_game->getLanguage()).c_str(), tr((*i)->getArmor()->getType()).c_str());
103+
_lstSoldiers->addRow(3, (*i)->getName(true).c_str(), (*i)->getCraftString(_game->getLanguage()).c_str(), tr((*i)->getArmor()->getType()).c_str());
104104

105105
Uint8 color;
106106
if ((*i)->getCraft() == c)

src/Basescape/CraftSoldiersState.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ void CraftSoldiersState::init()
145145
int row = 0;
146146
for (std::vector<Soldier*>::iterator i = _base->getSoldiers()->begin(); i != _base->getSoldiers()->end(); ++i)
147147
{
148-
_lstSoldiers->addRow(3, (*i)->getName().c_str(), tr((*i)->getRankString()).c_str(), (*i)->getCraftString(_game->getLanguage()).c_str());
148+
_lstSoldiers->addRow(3, (*i)->getName(true, 19).c_str(), tr((*i)->getRankString()).c_str(), (*i)->getCraftString(_game->getLanguage()).c_str());
149149

150150
Uint8 color;
151151
if ((*i)->getCraft() == c)

0 commit comments

Comments
 (0)