mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
misc fixes (by rftr):
- cleaned up warnings in Rebel Command.cpp - ARC: Draft directive is hidden if volunteer pool option is disabled - fixed dropdown menu behaviour at the RIS website git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9163 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+26
-27
@@ -263,6 +263,32 @@ void IntelBuyButtonCallback( GUI_BUTTON *btn, INT32 reason )
|
|||||||
|
|
||||||
void EnterIntelmarket()
|
void EnterIntelmarket()
|
||||||
{
|
{
|
||||||
|
std::vector<std::pair<INT16, STR16> > dropdownvector;
|
||||||
|
|
||||||
|
for ( INT16 i = 0; i < 16; ++i )
|
||||||
|
{
|
||||||
|
if ( !( LaptopSaveInfo.usMapIntelFlags & ( 1 << i ) ) )
|
||||||
|
{
|
||||||
|
swprintf( gIntelBuyMapPartNamesStr[i], szIntelWebsiteText[TEXT_INTEL_MAPREGION_1 + i] );
|
||||||
|
gIntelBuyMapPartNamesStr[i][63] = '/0';
|
||||||
|
|
||||||
|
dropdownvector.push_back( std::make_pair( i, gIntelBuyMapPartNamesStr[i] ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !dropdownvector.empty() )
|
||||||
|
{
|
||||||
|
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().SetEntries( dropdownvector );
|
||||||
|
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().SetHelpText( szIntelWebsiteText[TEXT_INTEL_DROPDOWN_HELPTEXT] );
|
||||||
|
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().Create( LAPTOP_SCREEN_UL_X, MCA_START_CONTENT_Y + 40 );
|
||||||
|
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 137, 16, 231 ) ) );
|
||||||
|
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().SetColorMarked( Get16BPPColor( FROMRGB( 137, 16, 231 ) ) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().ClearEntries();
|
||||||
|
}
|
||||||
|
|
||||||
InitDefaults_IM();
|
InitDefaults_IM();
|
||||||
|
|
||||||
BuildIntelInfoArray();
|
BuildIntelInfoArray();
|
||||||
@@ -302,33 +328,6 @@ void HandleIntelmarket()
|
|||||||
{
|
{
|
||||||
if ( fIntelRedraw )
|
if ( fIntelRedraw )
|
||||||
{
|
{
|
||||||
UINT8 count = 0;
|
|
||||||
std::vector<std::pair<INT16, STR16> > dropdownvector;
|
|
||||||
|
|
||||||
for ( INT16 i = 0; i < 16; ++i )
|
|
||||||
{
|
|
||||||
if ( !( LaptopSaveInfo.usMapIntelFlags & ( 1 << i ) ) )
|
|
||||||
{
|
|
||||||
swprintf( gIntelBuyMapPartNamesStr[i], szIntelWebsiteText[TEXT_INTEL_MAPREGION_1 + i] );
|
|
||||||
gIntelBuyMapPartNamesStr[i][63] = '/0';
|
|
||||||
|
|
||||||
dropdownvector.push_back( std::make_pair( i, gIntelBuyMapPartNamesStr[i] ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !dropdownvector.empty() )
|
|
||||||
{
|
|
||||||
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().SetEntries( dropdownvector );
|
|
||||||
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().SetHelpText( szIntelWebsiteText[TEXT_INTEL_DROPDOWN_HELPTEXT] );
|
|
||||||
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().Create( LAPTOP_SCREEN_UL_X, MCA_START_CONTENT_Y + 40 );
|
|
||||||
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 137, 16, 231 ) ) );
|
|
||||||
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().SetColorMarked( Get16BPPColor( FROMRGB( 137, 16, 231 ) ) );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
DropDownTemplate<DROPDOWN_INTEL_BUY>::getInstance().ClearEntries();
|
|
||||||
}
|
|
||||||
|
|
||||||
RenderIntelmarket();
|
RenderIntelmarket();
|
||||||
|
|
||||||
fIntelRedraw = FALSE;
|
fIntelRedraw = FALSE;
|
||||||
|
|||||||
@@ -364,7 +364,7 @@ void DeployOrReactivateAdminTeam(INT16 regionId)
|
|||||||
|
|
||||||
if (rebelCommandSaveInfo.regions[regionId].adminStatus == RAS_INACTIVE)
|
if (rebelCommandSaveInfo.regions[regionId].adminStatus == RAS_INACTIVE)
|
||||||
{
|
{
|
||||||
if (IsTownUnderCompleteControlByEnemy(regionId))
|
if (IsTownUnderCompleteControlByEnemy(static_cast<INT8>(regionId)))
|
||||||
{
|
{
|
||||||
DoLapTopMessageBox(MSG_BOX_LAPTOP_DEFAULT, szRebelCommandText[RCT_NOT_SAFE_TO_REACTIVATE_ADMIN_TEAM], LAPTOP_SCREEN, MSG_BOX_FLAG_OK, NULL);
|
DoLapTopMessageBox(MSG_BOX_LAPTOP_DEFAULT, szRebelCommandText[RCT_NOT_SAFE_TO_REACTIVATE_ADMIN_TEAM], LAPTOP_SCREEN, MSG_BOX_FLAG_OK, NULL);
|
||||||
return;
|
return;
|
||||||
@@ -622,13 +622,13 @@ void SetupAdminActionBox(const UINT8 actionIndex, const UINT16 descriptionText,
|
|||||||
y += 18;
|
y += 18;
|
||||||
btnId = CreateTextButton(szRebelCommandText[RCT_PREV_ARROW], FONT10ARIAL, FONT_MCOLOR_LTYELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, x, y, 35, 18, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, [](GUI_BUTTON* btn, INT32 reason)
|
btnId = CreateTextButton(szRebelCommandText[RCT_PREV_ARROW], FONT10ARIAL, FONT_MCOLOR_LTYELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, x, y, 35, 18, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, [](GUI_BUTTON* btn, INT32 reason)
|
||||||
{
|
{
|
||||||
ButtonHelper(btn, reason, [btn]() { adminActionChangeIndex--; if (adminActionChangeIndex < 0) adminActionChangeIndex = adminActionChangeList.size() - 1; });
|
ButtonHelper(btn, reason, [btn]() { adminActionChangeIndex--; if (adminActionChangeIndex < 0) adminActionChangeIndex = static_cast<INT8>(adminActionChangeList.size() - 1); });
|
||||||
});
|
});
|
||||||
adminActionChangeBtnIds.push_back(btnId);
|
adminActionChangeBtnIds.push_back(btnId);
|
||||||
|
|
||||||
btnId = CreateTextButton(szRebelCommandText[RCT_NEXT_ARROW], FONT10ARIAL, FONT_MCOLOR_LTYELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, x+35, y, 35, 18, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, [](GUI_BUTTON* btn, INT32 reason)
|
btnId = CreateTextButton(szRebelCommandText[RCT_NEXT_ARROW], FONT10ARIAL, FONT_MCOLOR_LTYELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, x+35, y, 35, 18, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, [](GUI_BUTTON* btn, INT32 reason)
|
||||||
{
|
{
|
||||||
ButtonHelper(btn, reason, [btn]() { adminActionChangeIndex++; if (adminActionChangeIndex >= adminActionChangeList.size()) adminActionChangeIndex = 0; });
|
ButtonHelper(btn, reason, [btn]() { adminActionChangeIndex++; if (adminActionChangeIndex >= static_cast<INT8>(adminActionChangeList.size())) adminActionChangeIndex = 0; });
|
||||||
});
|
});
|
||||||
adminActionChangeBtnIds.push_back(btnId);
|
adminActionChangeBtnIds.push_back(btnId);
|
||||||
|
|
||||||
@@ -753,7 +753,7 @@ BOOLEAN EnterWebsite()
|
|||||||
directivesList.push_back(std::make_pair(RCD_RAID_MINES, szRebelCommandDirectivesText[RCDT_RAID_MINES]));
|
directivesList.push_back(std::make_pair(RCD_RAID_MINES, szRebelCommandDirectivesText[RCDT_RAID_MINES]));
|
||||||
if (HighestPlayerProgressPercentage() >= gRebelCommandSettings.uCreateTurncoatsProgressRequirement)
|
if (HighestPlayerProgressPercentage() >= gRebelCommandSettings.uCreateTurncoatsProgressRequirement)
|
||||||
directivesList.push_back(std::make_pair(RCD_CREATE_TURNCOATS, szRebelCommandDirectivesText[RCDT_CREATE_TURNCOATS]));
|
directivesList.push_back(std::make_pair(RCD_CREATE_TURNCOATS, szRebelCommandDirectivesText[RCDT_CREATE_TURNCOATS]));
|
||||||
if (HighestPlayerProgressPercentage() >= gRebelCommandSettings.uDraftProgressRequirement)
|
if (HighestPlayerProgressPercentage() >= gRebelCommandSettings.uDraftProgressRequirement && gGameExternalOptions.fMilitiaVolunteerPool == TRUE)
|
||||||
directivesList.push_back(std::make_pair(RCD_DRAFT, szRebelCommandDirectivesText[RCDT_DRAFT]));
|
directivesList.push_back(std::make_pair(RCD_DRAFT, szRebelCommandDirectivesText[RCDT_DRAFT]));
|
||||||
|
|
||||||
REBEL_COMMAND_DROPDOWN.SetEntries(directivesList);
|
REBEL_COMMAND_DROPDOWN.SetEntries(directivesList);
|
||||||
@@ -2186,7 +2186,7 @@ void DailyUpdate()
|
|||||||
|
|
||||||
// increment supplies
|
// increment supplies
|
||||||
const UINT8 progress = CurrentPlayerProgressPercentage();
|
const UINT8 progress = CurrentPlayerProgressPercentage();
|
||||||
iIncomingSuppliesPerDay = progress * gRebelCommandSettings.fIncomeModifier + static_cast<INT32>((directive == RCD_GATHER_SUPPLIES ? rebelCommandSaveInfo.directives[RCD_GATHER_SUPPLIES].GetValue1() : 0));
|
iIncomingSuppliesPerDay = static_cast<INT32>(progress * gRebelCommandSettings.fIncomeModifier + (directive == RCD_GATHER_SUPPLIES ? rebelCommandSaveInfo.directives[RCD_GATHER_SUPPLIES].GetValue1() : 0));
|
||||||
rebelCommandSaveInfo.iSupplies += iIncomingSuppliesPerDay;
|
rebelCommandSaveInfo.iSupplies += iIncomingSuppliesPerDay;
|
||||||
|
|
||||||
// get regional bonuses
|
// get regional bonuses
|
||||||
@@ -2334,12 +2334,12 @@ void Init()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// set base values
|
// set base values
|
||||||
iIncomingSuppliesPerDay = CurrentPlayerProgressPercentage() * gRebelCommandSettings.fIncomeModifier;
|
iIncomingSuppliesPerDay = static_cast<INT32>(CurrentPlayerProgressPercentage() * gRebelCommandSettings.fIncomeModifier);
|
||||||
rebelCommandSaveInfo.iSelectedDirective = RCD_GATHER_SUPPLIES;
|
rebelCommandSaveInfo.iSelectedDirective = RCD_GATHER_SUPPLIES;
|
||||||
rebelCommandSaveInfo.iActiveDirective = RCD_GATHER_SUPPLIES;
|
rebelCommandSaveInfo.iActiveDirective = RCD_GATHER_SUPPLIES;
|
||||||
rebelCommandSaveInfo.iMilitiaStatsLevel = 0;
|
rebelCommandSaveInfo.iMilitiaStatsLevel = 0;
|
||||||
// let's be nice and give some supplies to people who enable this feature partway through a campaign so they don't start from zero
|
// let's be nice and give some supplies to people who enable this feature partway through a campaign so they don't start from zero
|
||||||
rebelCommandSaveInfo.iSupplies = GetWorldDay() * CurrentPlayerProgressPercentage() * gRebelCommandSettings.fIncomeModifier / 3;
|
rebelCommandSaveInfo.iSupplies = static_cast<INT32>(GetWorldDay() * CurrentPlayerProgressPercentage() * gRebelCommandSettings.fIncomeModifier / 3);
|
||||||
|
|
||||||
// initialise admin actions -- first one is always supply line
|
// initialise admin actions -- first one is always supply line
|
||||||
std::vector<RebelCommandAdminActions> actions;
|
std::vector<RebelCommandAdminActions> actions;
|
||||||
@@ -2635,7 +2635,7 @@ template<> void DropDownTemplate<DROPDOWN_REBEL_COMMAND_DIRECTIVE>::SetRefresh()
|
|||||||
using namespace RebelCommand;
|
using namespace RebelCommand;
|
||||||
const INT16 newDirective = REBEL_COMMAND_DROPDOWN.GetSelectedEntryKey();
|
const INT16 newDirective = REBEL_COMMAND_DROPDOWN.GetSelectedEntryKey();
|
||||||
rebelCommandSaveInfo.iSelectedDirective = newDirective;
|
rebelCommandSaveInfo.iSelectedDirective = newDirective;
|
||||||
iIncomingSuppliesPerDay = CurrentPlayerProgressPercentage() * gRebelCommandSettings.fIncomeModifier + static_cast<INT32>((newDirective == RCD_GATHER_SUPPLIES ? rebelCommandSaveInfo.directives[RCD_GATHER_SUPPLIES].GetValue1() : 0));
|
iIncomingSuppliesPerDay = static_cast<INT32>(CurrentPlayerProgressPercentage() * gRebelCommandSettings.fIncomeModifier + (newDirective == RCD_GATHER_SUPPLIES ? rebelCommandSaveInfo.directives[RCD_GATHER_SUPPLIES].GetValue1() : 0));
|
||||||
|
|
||||||
redraw = TRUE;
|
redraw = TRUE;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user