Option SHOW_SKILLS_IN_HIRING_PAGE removed and made to be enabled automatically.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9331 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Shadooow
2022-03-18 22:05:29 +00:00
parent 374b125ffc
commit c3bb1c0da5
4 changed files with 129 additions and 125 deletions
-3
View File
@@ -1067,9 +1067,6 @@ void LoadGameExternalOptions()
gGameExternalOptions.fEnableRecruitableJA1Natives = iniReader.ReadBoolean("Recruitment Settings", "RECRUITABLE_JA1_NATIVES", TRUE); gGameExternalOptions.fEnableRecruitableJA1Natives = iniReader.ReadBoolean("Recruitment Settings", "RECRUITABLE_JA1_NATIVES", TRUE);
gGameExternalOptions.usMERCBankruptWarning = iniReader.ReadInteger("Recruitment Settings", "MERC_BANKRUPT_WARNING", 5000, 5000, 50000 ); gGameExternalOptions.usMERCBankruptWarning = iniReader.ReadInteger("Recruitment Settings", "MERC_BANKRUPT_WARNING", 5000, 5000, 50000 );
// Buggler: setting to show/hide skills/traits in AIM & MERC hiring page
gGameExternalOptions.fShowSkillsInHirePage = iniReader.ReadBoolean("Recruitment Settings", "SHOW_SKILLS_IN_HIRING_PAGE", FALSE);
gGameExternalOptions.ubMercRandomStats = iniReader.ReadInteger("Recruitment Settings", "MERCS_RANDOM_STATS", 0, 0, 4); gGameExternalOptions.ubMercRandomStats = iniReader.ReadInteger("Recruitment Settings", "MERCS_RANDOM_STATS", 0, 0, 4);
gGameExternalOptions.fMercRandomGearKits = iniReader.ReadBoolean("Recruitment Settings", "MERCS_RANDOM_GEAR_KITS", FALSE); //Jenilee gGameExternalOptions.fMercRandomGearKits = iniReader.ReadBoolean("Recruitment Settings", "MERCS_RANDOM_GEAR_KITS", FALSE); //Jenilee
gGameExternalOptions.fMercRandomBellDistribution = iniReader.ReadBoolean("Recruitment Settings", "MERCS_RANDOM_BELL_DISTRIBUTION", TRUE); gGameExternalOptions.fMercRandomBellDistribution = iniReader.ReadBoolean("Recruitment Settings", "MERCS_RANDOM_BELL_DISTRIBUTION", TRUE);
-2
View File
@@ -1414,8 +1414,6 @@ typedef struct
UINT8 ubChanceTonyAvailable; // silversurfer/SANDRO UINT8 ubChanceTonyAvailable; // silversurfer/SANDRO
BOOLEAN fShowSkillsInHirePage;
UINT8 ubMercRandomStats; UINT8 ubMercRandomStats;
BOOLEAN fMercRandomBellDistribution; BOOLEAN fMercRandomBellDistribution;
+72 -61
View File
@@ -5459,79 +5459,77 @@ void DisplayAimMemberClickOnFaceHelpText()
DrawTextToScreen( AimMemberText[3], AIM_FI_RIGHT_CLICK_TEXT_X, AIM_FI_LEFT_CLICK_TEXT_Y+AIM_FI_CLICK_DESC_TEXT_Y_OFFSET, AIM_FI_CLICK_TEXT_WIDTH, AIM_FI_HELP_FONT, AIM_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED ); DrawTextToScreen( AimMemberText[3], AIM_FI_RIGHT_CLICK_TEXT_X, AIM_FI_LEFT_CLICK_TEXT_Y+AIM_FI_CLICK_DESC_TEXT_Y_OFFSET, AIM_FI_CLICK_TEXT_WIDTH, AIM_FI_HELP_FONT, AIM_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED );
// Buggler: skills/traits tooltip on merc portrait // Buggler: skills/traits tooltip on merc portrait
if( gGameExternalOptions.fShowSkillsInHirePage == TRUE )
// clear string value
swprintf( sString, L"");
if (gGameOptions.fNewTraitSystem) // SANDRO - old/new traits check
{ {
// clear string value UINT8 ubTempSkillArray[30];
swprintf( sString, L""); INT8 bNumSkillTraits = 0;
if (gGameOptions.fNewTraitSystem) // SANDRO - old/new traits check // lets rearrange our skills to a temp array
// we also get the number of lines (skills) to be displayed
for ( UINT8 ubCnt = 1; ubCnt < NUM_SKILLTRAITS_NT; ubCnt++ )
{ {
UINT8 ubTempSkillArray[30]; if ( ProfileHasSkillTrait( gbCurrentSoldier, ubCnt ) == 2 )
INT8 bNumSkillTraits = 0;
// lets rearrange our skills to a temp array
// we also get the number of lines (skills) to be displayed
for ( UINT8 ubCnt = 1; ubCnt < NUM_SKILLTRAITS_NT; ubCnt++ )
{ {
if ( ProfileHasSkillTrait( gbCurrentSoldier, ubCnt ) == 2 ) ubTempSkillArray[bNumSkillTraits] = (ubCnt + NEWTRAIT_MERCSKILL_EXPERTOFFSET);
{ bNumSkillTraits++;
ubTempSkillArray[bNumSkillTraits] = (ubCnt + NEWTRAIT_MERCSKILL_EXPERTOFFSET);
bNumSkillTraits++;
}
else if ( ProfileHasSkillTrait( gbCurrentSoldier, ubCnt ) == 1 )
{
ubTempSkillArray[bNumSkillTraits] = ubCnt;
bNumSkillTraits++;
}
} }
else if ( ProfileHasSkillTrait( gbCurrentSoldier, ubCnt ) == 1 )
if ( bNumSkillTraits == 0 )
{ {
swprintf( sString, L"%s", pPersonnelScreenStrings[ PRSNL_TXT_NOSKILLS ] ); ubTempSkillArray[bNumSkillTraits] = ubCnt;
bNumSkillTraits++;
}
}
if ( bNumSkillTraits == 0 )
{
swprintf( sString, L"%s", pPersonnelScreenStrings[ PRSNL_TXT_NOSKILLS ] );
}
else
{
for ( UINT8 ubCnt = 0; ubCnt < bNumSkillTraits; ubCnt++ )
{
swprintf( sTemp, L"%s\n", gzMercSkillTextNew[ ubTempSkillArray[ubCnt] ] );
wcscat( sString, sTemp );
}
}
}
else
{
INT8 bSkill1 = 0, bSkill2 = 0;
bSkill1 = gMercProfiles[ gbCurrentSoldier ].bSkillTraits[0];
bSkill2 = gMercProfiles[ gbCurrentSoldier ].bSkillTraits[1];
if ( bSkill1 == 0 && bSkill2 == 0 )
{
swprintf( sString, L"%s", pPersonnelScreenStrings[ PRSNL_TXT_NOSKILLS ] );
}
else
{
//if the 2 skills are the same, add the '(expert)' at the end
if( bSkill1 == bSkill2 )
{
swprintf( sString, L"%s %s", gzMercSkillText[bSkill1], gzMercSkillText[EXPERT] );
} }
else else
{ {
for ( UINT8 ubCnt = 0; ubCnt < bNumSkillTraits; ubCnt++ ) //Display the first skill
if( bSkill1 != 0 )
{ {
swprintf( sTemp, L"%s\n", gzMercSkillTextNew[ ubTempSkillArray[ubCnt] ] ); swprintf( sString, L"%s\n", gzMercSkillText[bSkill1] );
}
if( bSkill2 != 0 )
{
swprintf( sTemp, L"%s", gzMercSkillText[bSkill2] );
wcscat( sString, sTemp ); wcscat( sString, sTemp );
} }
} }
} }
else
{
INT8 bSkill1 = 0, bSkill2 = 0;
bSkill1 = gMercProfiles[ gbCurrentSoldier ].bSkillTraits[0];
bSkill2 = gMercProfiles[ gbCurrentSoldier ].bSkillTraits[1];
if ( bSkill1 == 0 && bSkill2 == 0 )
{
swprintf( sString, L"%s", pPersonnelScreenStrings[ PRSNL_TXT_NOSKILLS ] );
}
else
{
//if the 2 skills are the same, add the '(expert)' at the end
if( bSkill1 == bSkill2 )
{
swprintf( sString, L"%s %s", gzMercSkillText[bSkill1], gzMercSkillText[EXPERT] );
}
else
{
//Display the first skill
if( bSkill1 != 0 )
{
swprintf( sString, L"%s\n", gzMercSkillText[bSkill1] );
}
if( bSkill2 != 0 )
{
swprintf( sTemp, L"%s", gzMercSkillText[bSkill2] );
wcscat( sString, sTemp );
}
}
}
}
SetRegionFastHelpText( &gSelectedFaceRegion, sString );
} }
SetRegionFastHelpText( &gSelectedFaceRegion, sString );
} }
void CreateWeaponBoxMouseRegions() void CreateWeaponBoxMouseRegions()
@@ -5640,16 +5638,29 @@ void EnableWeaponKitSelectionButtons()
{ {
if ( !(gMercProfiles[gbCurrentSoldier].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) || gGameExternalOptions.fGearKitsAlwaysAvailable ) if ( !(gMercProfiles[gbCurrentSoldier].ubMiscFlags & PROFILE_MISC_FLAG_ALREADY_USED_ITEMS) || gGameExternalOptions.fGearKitsAlwaysAvailable )
{ {
bool bShow;
INT16 usItem;
for(int i=0; i<NUM_MERCSTARTINGGEAR_KITS; ++i) for(int i=0; i<NUM_MERCSTARTINGGEAR_KITS; ++i)
{ {
bShow = false;
for(int j=INV_START_POS; j<NUM_INV_SLOTS; ++j) for(int j=INV_START_POS; j<NUM_INV_SLOTS; ++j)
{ {
if(gMercProfileGear[gbCurrentSoldier][i].inv[j] != NONE) usItem = gMercProfileGear[gbCurrentSoldier][i].inv[j];
if(usItem != NONE)
{ {
ShowButton( giWeaponboxSelectionButton[i] ); bShow = true;
break; if (gGameExternalOptions.fDisease) break;
else if (Item[usItem].usItemClass & IC_DISEASE)
{
bShow = false;
break;
}
} }
} }
if (bShow)
{
ShowButton(giWeaponboxSelectionButton[i]);
}
} }
} }
} }
+56 -58
View File
@@ -851,79 +851,77 @@ void DisplayMercMemberClickOnFaceHelpText( UINT8 ubMercID )
CHAR16 sString[ 128 ], sTemp[ 20 ]; CHAR16 sString[ 128 ], sTemp[ 20 ];
// Buggler: skills/traits tooltip on merc portrait // Buggler: skills/traits tooltip on merc portrait
if( gGameExternalOptions.fShowSkillsInHirePage == TRUE )
// clear string value
swprintf( sString, L"");
if (gGameOptions.fNewTraitSystem) // SANDRO - old/new traits check
{ {
// clear string value UINT8 ubTempSkillArray[30];
swprintf( sString, L""); INT8 bNumSkillTraits = 0;
if (gGameOptions.fNewTraitSystem) // SANDRO - old/new traits check // lets rearrange our skills to a temp array
// we also get the number of lines (skills) to be displayed
for ( UINT8 ubCnt = 1; ubCnt < NUM_SKILLTRAITS_NT; ubCnt++ )
{ {
UINT8 ubTempSkillArray[30]; if ( ProfileHasSkillTrait( ubMercID, ubCnt ) == 2 )
INT8 bNumSkillTraits = 0;
// lets rearrange our skills to a temp array
// we also get the number of lines (skills) to be displayed
for ( UINT8 ubCnt = 1; ubCnt < NUM_SKILLTRAITS_NT; ubCnt++ )
{ {
if ( ProfileHasSkillTrait( ubMercID, ubCnt ) == 2 ) ubTempSkillArray[bNumSkillTraits] = (ubCnt + NEWTRAIT_MERCSKILL_EXPERTOFFSET);
{ bNumSkillTraits++;
ubTempSkillArray[bNumSkillTraits] = (ubCnt + NEWTRAIT_MERCSKILL_EXPERTOFFSET);
bNumSkillTraits++;
}
else if ( ProfileHasSkillTrait( ubMercID, ubCnt ) == 1 )
{
ubTempSkillArray[bNumSkillTraits] = ubCnt;
bNumSkillTraits++;
}
} }
else if ( ProfileHasSkillTrait( ubMercID, ubCnt ) == 1 )
if ( bNumSkillTraits == 0 )
{ {
swprintf( sString, L"%s", pPersonnelScreenStrings[ PRSNL_TXT_NOSKILLS ] ); ubTempSkillArray[bNumSkillTraits] = ubCnt;
bNumSkillTraits++;
}
}
if ( bNumSkillTraits == 0 )
{
swprintf( sString, L"%s", pPersonnelScreenStrings[ PRSNL_TXT_NOSKILLS ] );
}
else
{
for ( UINT8 ubCnt = 0; ubCnt < bNumSkillTraits; ubCnt++ )
{
swprintf( sTemp, L"%s\n", gzMercSkillTextNew[ ubTempSkillArray[ubCnt] ] );
wcscat( sString, sTemp );
}
}
}
else
{
INT8 bSkill1 = 0, bSkill2 = 0;
bSkill1 = gMercProfiles[ ubMercID ].bSkillTraits[0];
bSkill2 = gMercProfiles[ ubMercID ].bSkillTraits[1];
if ( bSkill1 == 0 && bSkill2 == 0 )
{
swprintf( sString, L"%s", pPersonnelScreenStrings[ PRSNL_TXT_NOSKILLS ] );
}
else
{
//if the 2 skills are the same, add the '(expert)' at the end
if( bSkill1 == bSkill2 )
{
swprintf( sString, L"%s %s", gzMercSkillText[bSkill1], gzMercSkillText[EXPERT] );
} }
else else
{ {
for ( UINT8 ubCnt = 0; ubCnt < bNumSkillTraits; ubCnt++ ) //Display the first skill
if( bSkill1 != 0 )
{ {
swprintf( sTemp, L"%s\n", gzMercSkillTextNew[ ubTempSkillArray[ubCnt] ] ); swprintf( sString, L"%s\n", gzMercSkillText[bSkill1] );
}
if( bSkill2 != 0 )
{
swprintf( sTemp, L"%s", gzMercSkillText[bSkill2] );
wcscat( sString, sTemp ); wcscat( sString, sTemp );
} }
} }
} }
else
{
INT8 bSkill1 = 0, bSkill2 = 0;
bSkill1 = gMercProfiles[ ubMercID ].bSkillTraits[0];
bSkill2 = gMercProfiles[ ubMercID ].bSkillTraits[1];
if ( bSkill1 == 0 && bSkill2 == 0 )
{
swprintf( sString, L"%s", pPersonnelScreenStrings[ PRSNL_TXT_NOSKILLS ] );
}
else
{
//if the 2 skills are the same, add the '(expert)' at the end
if( bSkill1 == bSkill2 )
{
swprintf( sString, L"%s %s", gzMercSkillText[bSkill1], gzMercSkillText[EXPERT] );
}
else
{
//Display the first skill
if( bSkill1 != 0 )
{
swprintf( sString, L"%s\n", gzMercSkillText[bSkill1] );
}
if( bSkill2 != 0 )
{
swprintf( sTemp, L"%s", gzMercSkillText[bSkill2] );
wcscat( sString, sTemp );
}
}
}
}
SetRegionFastHelpText( &gMercSelectedFaceRegion, sString );
} }
SetRegionFastHelpText( &gMercSelectedFaceRegion, sString );
} }
void LoadAndDisplayMercBio( UINT8 ubMercID ) void LoadAndDisplayMercBio( UINT8 ubMercID )