From 2dbacd32de27cb6b7960072e3695808740d4c4ad Mon Sep 17 00:00:00 2001 From: Flugente Date: Sun, 2 Sep 2018 15:14:01 +0000 Subject: [PATCH] The following options have been moved from the campaign the campaign start screen to JA2_Options.ini: - Maximum number of IMPs (now MAX_IMP_CHARACTERS (Default: 10)) - Enemies drop all items (now DROP_ALL (Default: FALSE)) - Merc Story Backgrounds (now BACKGROUNDS (Default: TRUE)) - Food System (now FOOD (Default: FALSE)) - Improved Interrupt System (now IMPROVED_INTERRUPT_SYSTEM (Default: TRUE)) - Inventory Manipulation Costs AP (now INVENTORY_MANIPULATION_COSTS_AP (Default: FALSE)) For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=23855&goto=354656&#msg_354656 git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8610 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- GameInitOptionsScreen.cpp | 1040 +---------------- GameSettings.cpp | 63 +- GameSettings.h | 29 +- GameVersion.cpp | 4 +- Init.cpp | 6 - Laptop/IMP Minor Trait.cpp | 2 +- Laptop/personnel.cpp | 10 +- MPScoreScreen.cpp | 2 +- Multiplayer/client.cpp | 45 +- SaveLoadGame.cpp | 10 +- Strategic/Assignments.cpp | 20 +- Strategic/Hourly Update.cpp | 2 +- Strategic/Luaglobal.cpp | 4 +- .../Map Screen Interface Map Inventory.cpp | 6 +- Strategic/mapscreen.cpp | 4 +- Tactical/Faces.cpp | 2 +- Tactical/Food.cpp | 6 +- Tactical/Interface Enhanced.cpp | 10 +- Tactical/Interface Items.cpp | 4 +- Tactical/Interface Panels.cpp | 10 +- Tactical/Interface Utils.cpp | 2 +- Tactical/Interface.cpp | 4 +- Tactical/Inventory Choosing.cpp | 8 +- Tactical/Items.cpp | 6 +- Tactical/Morale.cpp | 2 +- Tactical/Overhead.cpp | 6 +- Tactical/Points.cpp | 4 +- Tactical/Rotting Corpses.cpp | 10 +- Tactical/ShopKeeper Interface.cpp | 2 +- Tactical/Soldier Ani.cpp | 9 +- Tactical/Soldier Control.cpp | 14 +- Tactical/TeamTurns.cpp | 6 +- Tactical/Turn Based Input.cpp | 15 +- Tactical/opplist.cpp | 4 +- Utils/Animated ProgressBar.cpp | 2 +- 35 files changed, 177 insertions(+), 1196 deletions(-) diff --git a/GameInitOptionsScreen.cpp b/GameInitOptionsScreen.cpp index 0cec733b..0b2a6a78 100644 --- a/GameInitOptionsScreen.cpp +++ b/GameInitOptionsScreen.cpp @@ -146,18 +146,6 @@ #define GIO_GUN_SETTING_Y GIO_PROGRESS_SETTING_Y + CHECK_Y_OFFSET #define GIO_GUN_SETTING_WIDTH CHECK_WIDTH -#define GIO_DROPALL_SETTING_X SECOND_COLUMN_X + CHECK_X_OFFSET -#define GIO_DROPALL_SETTING_Y GIO_GUN_SETTING_Y + CHECK_Y_OFFSET + CORRECTION_Y_OFFSET -#define GIO_DROPALL_SETTING_WIDTH CHECK_WIDTH - -#define GIO_BACKGROUND_SETTING_X SECOND_COLUMN_X + CHECK_X_OFFSET -#define GIO_BACKGROUND_SETTING_Y GIO_DROPALL_SETTING_Y + CHECK_Y_OFFSET + CORRECTION_Y_OFFSET -#define GIO_BACKGROUND_SETTING_WIDTH CHECK_WIDTH - -#define GIO_FOODSYSTEM_SETTING_X SECOND_COLUMN_X + CHECK_X_OFFSET -#define GIO_FOODSYSTEM_SETTING_Y GIO_BACKGROUND_SETTING_Y + CHECK_Y_OFFSET + CORRECTION_Y_OFFSET -#define GIO_FOODSYSTEM_SETTING_WIDTH CHECK_WIDTH - /********************************* THIRD COLUMN **********************************/ @@ -181,14 +169,6 @@ #define GIO_NCTH_SETTING_Y GIO_BR_QUANTITY_SETTING_Y + CHECK_Y_OFFSET #define GIO_NCTH_SETTING_WIDTH CHECK_WIDTH -#define GIO_IIS_SETTING_X THIRD_COLUMN_X + CHECK_X_OFFSET -#define GIO_IIS_SETTING_Y GIO_NCTH_SETTING_Y + CHECK_Y_OFFSET + CORRECTION_Y_OFFSET -#define GIO_IIS_SETTING_WIDTH CHECK_WIDTH - -#define GIO_INVENTORY_AP_SETTING_X THIRD_COLUMN_X + CHECK_X_OFFSET -#define GIO_INVENTORY_AP_SETTING_Y GIO_IIS_SETTING_Y + CHECK_Y_OFFSET + CORRECTION_Y_OFFSET -#define GIO_INVENTORY_AP_SETTING_WIDTH CHECK_WIDTH - ////radio box locations //#define GIO_GAP_BN_SETTINGS 35 //#define GIO_OFFSET_TO_TEXT 36 @@ -236,12 +216,8 @@ //#define GIO_INV_SETTING_Y GIO_SQUAD_SIZE_SETTING_Y + 63 //#define GIO_INV_SETTING_WIDTH GIO_DIF_SETTING_WIDTH // -//#define GIO_DROPALL_SETTING_X GIO_INV_SETTING_X + 36 -//#define GIO_DROPALL_SETTING_Y GIO_INV_SETTING_Y + 56 -//#define GIO_DROPALL_SETTING_WIDTH GIO_DIF_SETTING_WIDTH -// -//#define GIO_GUN_SETTING_X GIO_DROPALL_SETTING_X -//#define GIO_GUN_SETTING_Y GIO_DROPALL_SETTING_Y + 67 +//#define GIO_GUN_SETTING_X GIO_INV_SETTING_X + 36 +//#define GIO_GUN_SETTING_Y GIO_INV_SETTING_Y + 56 + 67 //#define GIO_GUN_SETTING_WIDTH GIO_DIF_SETTING_WIDTH // //#define GIO_CACHES_SETTING_X GIO_GUN_SETTING_X @@ -272,7 +248,6 @@ #define JA2SP_SKILL_TRAITS "SKILL_TRAITS" #define JA2SP_INVENTORY_ATTACHMENTS "INVENTORY_ATTACHMENTS" #define JA2SP_GAME_STYLE "GAME_STYLE" -#define JA2SP_ENEMIES_DROP_ALL_ITEMS "ENEMIES_DROP_ALL_ITEMS" #define JA2SP_EXTRA_DIFFICULTY "EXTRA_DIFFICULTY" #define JA2SP_AVAILABLE_ARSENAL "AVAILABLE_ARSENAL" #define JA2SP_NUMBER_OF_TERRORISTS "NUMBER_OF_TERRORISTS" @@ -499,11 +474,6 @@ UINT32 guiRpcOptionToggles[ NUM_RPC_UB_OPTIONS ]; void BtnGIORpcRandomCallback(GUI_BUTTON *btn,INT32 reason); void BtnGIORpcAllCallback(GUI_BUTTON *btn,INT32 reason); -UINT32 guiDropAllOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; -UINT32 guiDropAllOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; -void BtnGIODropAllOffCallback(GUI_BUTTON *btn,INT32 reason); -void BtnGIODropAllOnCallback(GUI_BUTTON *btn,INT32 reason); - //checkbox to toggle Gun options UINT32 guiGunOptionTogglesImage[ NUM_GUN_OPTIONS ]; UINT32 guiGunOptionToggles[ NUM_GUN_OPTIONS ]; @@ -515,37 +485,12 @@ INT32 giGIOSquadSizeButtonImage[ 2 ]; void BtnGIOSquadSizeSelectionLeftCallback( GUI_BUTTON *btn,INT32 reason ); void BtnGIOSquadSizeSelectionRightCallback( GUI_BUTTON *btn,INT32 reason ); -// Inventory AP -UINT32 guiInventoryAPOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; -UINT32 guiInventoryAPOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; -void BtnGIOInventoryAPOffCallback(GUI_BUTTON *btn,INT32 reason); -void BtnGIOInventoryAPOnCallback(GUI_BUTTON *btn,INT32 reason); - // NCTH UINT32 guiNCTHOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; UINT32 guiNCTHOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; void BtnGIONCTHOffCallback(GUI_BUTTON *btn,INT32 reason); void BtnGIONCTHOnCallback(GUI_BUTTON *btn,INT32 reason); -// IIS -UINT32 guiImprovedInterruptOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; -UINT32 guiImprovedInterruptOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; -void BtnGIOImprovedInterruptOffCallback(GUI_BUTTON *btn,INT32 reason); -void BtnGIOImprovedInterruptOnCallback(GUI_BUTTON *btn,INT32 reason); - -// Background -UINT32 guiBackGroundOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; -UINT32 guiBackGroundOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; -void BtnGIOBackGroundOffCallback(GUI_BUTTON *btn,INT32 reason); -void BtnGIOBackGroundOnCallback(GUI_BUTTON *btn,INT32 reason); - -// Food System -UINT32 guiFoodSystemOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; -UINT32 guiFoodSystemOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; -void BtnGIOFoodSystemOffCallback(GUI_BUTTON *btn,INT32 reason); -void BtnGIOFoodSystemOnCallback(GUI_BUTTON *btn,INT32 reason); - - UINT32 guiTimedTurnToggles[ GIO_NUM_TIMED_TURN_OPTIONS ]; void BtnTimedTurnsTogglesCallback(GUI_BUTTON *btn,INT32 reason); @@ -572,14 +517,9 @@ UINT8 GetCurrentTextStyleButtonSetting(); // SANDRO - added following UINT8 GetCurrentTraitsOptionButtonSetting(); -UINT8 GetCurrentDropAllButtonSetting(); UINT8 GetCurrentTexAndJohnButtonSetting(); -UINT8 GetCurrentInventoryAPButtonSetting(); UINT8 GetCurrentNCTHButtonSetting(); -UINT8 GetCurrentIISButtonSetting(); -UINT8 GetCurrentBackGroundButtonSetting(); -UINT8 GetCurrentFoodSystemButtonSetting(); void DoneFadeOutForExitGameInitOptionScreen( void ); void DoneFadeInForExitGameInitOptionScreen( void ); @@ -659,13 +599,9 @@ UINT32 GameInitOptionsScreenInit( void ) // Game Style (Default: Sci Fi = 1) gGameOptions.ubGameStyle = (UINT8)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_GAME_STYLE, STYLE_SCIFI); - // Enemies Drop All Items (Default: Off = 0) - gGameOptions.fEnemiesDropAllItems = (BOOLEAN)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_ENEMIES_DROP_ALL_ITEMS, 0); - // Extra Difficulty (Default: Save Anytime = 0) gGameOptions.fIronManMode = (BOOLEAN)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_EXTRA_DIFFICULTY, 0); - - + // Available Arsenal (Default: Tons of Guns = 1) gGameOptions.fGunNut = (BOOLEAN)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_AVAILABLE_ARSENAL, 1); @@ -683,13 +619,7 @@ UINT32 GameInitOptionsScreenInit( void ) gGameOptions.ubSquadSize = ubSquadSize; - //Inventory AP Costs - gGameOptions.fInventoryCostsAP = FALSE; - gGameOptions.fUseNCTH = FALSE; - gGameOptions.fImprovedInterruptSystem = FALSE; - gGameOptions.fBackGround = FALSE; - gGameOptions.fFoodSystem = FALSE; gGameOptions.fAirStrikes = FALSE; gGameOptions.fTurnTimeLimit = FALSE; @@ -1069,35 +999,6 @@ BOOLEAN EnterGIOScreen() } } - /////////////////////////////////////////////////////////////////////////////////////////////////////// - // DROP ALL ON/OFF SETTING - - guiDropAllOptionTogglesImage[ GIO_BUTTON_OFF ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiDropAllOptionToggles[ GIO_BUTTON_OFF ] = CreateIconAndTextButton( guiDropAllOptionTogglesImage[ GIO_BUTTON_OFF ], gzGIOScreenText[ GIO_DROPALL_OFF_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_DROPALL_SETTING_X), (GIO_DROPALL_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIODropAllOffCallback); - - guiDropAllOptionTogglesImage[ GIO_BUTTON_ON ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiDropAllOptionToggles[ GIO_BUTTON_ON ] = CreateIconAndTextButton( guiDropAllOptionTogglesImage[ GIO_BUTTON_ON ], gzGIOScreenText[ GIO_DROPALL_ON_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_DROPALL_SETTING_X + 74), (GIO_DROPALL_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIODropAllOnCallback ); - - SpecifyButtonSoundScheme( guiDropAllOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - SpecifyButtonSoundScheme( guiDropAllOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - MSYS_SetBtnUserData(guiDropAllOptionToggles[ GIO_BUTTON_OFF ],0, 0 ); - MSYS_SetBtnUserData(guiDropAllOptionToggles[ GIO_BUTTON_ON ],0, 1 ); - - if( gGameOptions.fEnemiesDropAllItems ) - ButtonList[ guiDropAllOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags |= BUTTON_CLICKED_ON; - else - ButtonList[ guiDropAllOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; - /////////////////////////////////////////////////////////////////////////////////////////////////////// // GUN SETTING @@ -1162,36 +1063,6 @@ BOOLEAN EnterGIOScreen() } } - /////////////////////////////////////////////////////////////////////////////////////////////////////// - // INVENTORY AP COST ON/OFF SETTING - - guiInventoryAPOptionTogglesImage[ GIO_BUTTON_OFF ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ] = CreateIconAndTextButton( guiInventoryAPOptionTogglesImage[ GIO_BUTTON_OFF ], gzGIOScreenText[ GIO_DROPALL_OFF_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_INVENTORY_AP_SETTING_X), (GIO_INVENTORY_AP_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOInventoryAPOffCallback); - - guiInventoryAPOptionTogglesImage[ GIO_BUTTON_ON ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiInventoryAPOptionToggles[ GIO_BUTTON_ON ] = CreateIconAndTextButton( guiInventoryAPOptionTogglesImage[ GIO_BUTTON_ON ], gzGIOScreenText[ GIO_DROPALL_ON_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_INVENTORY_AP_SETTING_X + 74), (GIO_INVENTORY_AP_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOInventoryAPOnCallback ); - - SpecifyButtonSoundScheme( guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - SpecifyButtonSoundScheme( guiInventoryAPOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - MSYS_SetBtnUserData(guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ],0, 0 ); - MSYS_SetBtnUserData(guiInventoryAPOptionToggles[ GIO_BUTTON_ON ],0, 1 ); - - if( gGameOptions.fInventoryCostsAP ) - ButtonList[ guiInventoryAPOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags |= BUTTON_CLICKED_ON; - else - ButtonList[ guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; - - /////////////////////////////////////////////////////////////////////////////////////////////////////// // NCTH ON/OFF SETTING @@ -1220,97 +1091,7 @@ BOOLEAN EnterGIOScreen() ButtonList[ guiNCTHOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags |= BUTTON_CLICKED_ON; else ButtonList[ guiNCTHOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; - - /////////////////////////////////////////////////////////////////////////////////////////////////////// - // IMPROVED INTERRUPT SYSTEM ON/OFF SETTING - - guiImprovedInterruptOptionTogglesImage[ GIO_BUTTON_OFF ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ] = CreateIconAndTextButton( guiImprovedInterruptOptionTogglesImage[ GIO_BUTTON_OFF ], gzGIOScreenText[ GIO_DROPALL_OFF_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_IIS_SETTING_X), (GIO_IIS_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOImprovedInterruptOffCallback); - - guiImprovedInterruptOptionTogglesImage[ GIO_BUTTON_ON ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ] = CreateIconAndTextButton( guiImprovedInterruptOptionTogglesImage[ GIO_BUTTON_ON ], gzGIOScreenText[ GIO_DROPALL_ON_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_IIS_SETTING_X + 74), (GIO_IIS_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOImprovedInterruptOnCallback ); - - SpecifyButtonSoundScheme( guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - SpecifyButtonSoundScheme( guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - MSYS_SetBtnUserData(guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ],0, 0 ); - MSYS_SetBtnUserData(guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ],0, 1 ); - - if( gGameOptions.fImprovedInterruptSystem ) - ButtonList[ guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags |= BUTTON_CLICKED_ON; - else - ButtonList[ guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; - - - /////////////////////////////////////////////////////////////////////////////////////////////////////// - // BACKGROUND ON/OFF SETTING - - guiBackGroundOptionTogglesImage[ GIO_BUTTON_OFF ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiBackGroundOptionToggles[ GIO_BUTTON_OFF ] = CreateIconAndTextButton( guiBackGroundOptionTogglesImage[ GIO_BUTTON_OFF ], gzGIOScreenText[ GIO_DROPALL_OFF_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_BACKGROUND_SETTING_X), (GIO_BACKGROUND_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOBackGroundOffCallback); - - guiBackGroundOptionTogglesImage[ GIO_BUTTON_ON ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiBackGroundOptionToggles[ GIO_BUTTON_ON ] = CreateIconAndTextButton( guiBackGroundOptionTogglesImage[ GIO_BUTTON_ON ], gzGIOScreenText[ GIO_DROPALL_ON_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_BACKGROUND_SETTING_X + 74), (GIO_BACKGROUND_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOBackGroundOnCallback ); - - SpecifyButtonSoundScheme( guiBackGroundOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - SpecifyButtonSoundScheme( guiBackGroundOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - MSYS_SetBtnUserData(guiBackGroundOptionToggles[ GIO_BUTTON_OFF ],0, 0 ); - MSYS_SetBtnUserData(guiBackGroundOptionToggles[ GIO_BUTTON_ON ],0, 1 ); - - if( gGameOptions.fBackGround ) - ButtonList[ guiBackGroundOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags |= BUTTON_CLICKED_ON; - else - ButtonList[ guiBackGroundOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; - - /////////////////////////////////////////////////////////////////////////////////////////////////////// - // FOOD SYSTEM ON/OFF SETTING - - guiFoodSystemOptionTogglesImage[ GIO_BUTTON_OFF ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ] = CreateIconAndTextButton( guiFoodSystemOptionTogglesImage[ GIO_BUTTON_OFF ], gzGIOScreenText[ GIO_DROPALL_OFF_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_FOODSYSTEM_SETTING_X), (GIO_FOODSYSTEM_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOFoodSystemOffCallback); - - guiFoodSystemOptionTogglesImage[ GIO_BUTTON_ON ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiFoodSystemOptionToggles[ GIO_BUTTON_ON ] = CreateIconAndTextButton( guiFoodSystemOptionTogglesImage[ GIO_BUTTON_ON ], gzGIOScreenText[ GIO_DROPALL_ON_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_FOODSYSTEM_SETTING_X + 74), (GIO_FOODSYSTEM_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOFoodSystemOnCallback ); - - SpecifyButtonSoundScheme( guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - SpecifyButtonSoundScheme( guiFoodSystemOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - MSYS_SetBtnUserData(guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ],0, 0 ); - MSYS_SetBtnUserData(guiFoodSystemOptionToggles[ GIO_BUTTON_ON ],0, 1 ); - - if( gGameOptions.fFoodSystem ) - ButtonList[ guiFoodSystemOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags |= BUTTON_CLICKED_ON; - else - ButtonList[ guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; - - - /////////////////////////////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////////////////////////////// //Reset the exit screen @@ -1996,37 +1777,6 @@ void BtnGIORpcAllCallback(GUI_BUTTON *btn,INT32 reason) } } -void BtnGIODropAllOffCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_DROPALL_SETTING_X), (GIO_DROPALL_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiDropAllOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiDropAllOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_CLICKED_ON ); - } -} -void BtnGIODropAllOnCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_DROPALL_SETTING_X), (GIO_DROPALL_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiDropAllOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiDropAllOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_CLICKED_ON ); - } -} - void BtnGIOGunSettingReducedCallback(GUI_BUTTON *btn,INT32 reason) { if (!(btn->uiFlags & BUTTON_ENABLED)) @@ -2154,38 +1904,6 @@ void BtnGIOSquadSizeSelectionRightCallback( GUI_BUTTON *btn,INT32 reason ) } } - -void BtnGIOInventoryAPOffCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_INVENTORY_AP_SETTING_X), (GIO_INVENTORY_AP_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiInventoryAPOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_CLICKED_ON ); - } -} -void BtnGIOInventoryAPOnCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_INVENTORY_AP_SETTING_X), (GIO_INVENTORY_AP_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiInventoryAPOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_CLICKED_ON ); - } -} - void BtnGIONCTHOffCallback(GUI_BUTTON *btn,INT32 reason) { if (!(btn->uiFlags & BUTTON_ENABLED)) @@ -2217,99 +1935,6 @@ void BtnGIONCTHOnCallback(GUI_BUTTON *btn,INT32 reason) } } -void BtnGIOImprovedInterruptOffCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_IIS_SETTING_X), (GIO_IIS_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_CLICKED_ON ); - } -} -void BtnGIOImprovedInterruptOnCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_IIS_SETTING_X), (GIO_IIS_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_CLICKED_ON ); - } -} - -void BtnGIOBackGroundOffCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_BACKGROUND_SETTING_X), (GIO_BACKGROUND_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiBackGroundOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiBackGroundOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_CLICKED_ON ); - } -} -void BtnGIOBackGroundOnCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_BACKGROUND_SETTING_X), (GIO_BACKGROUND_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiBackGroundOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiBackGroundOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_CLICKED_ON ); - } -} - -void BtnGIOFoodSystemOffCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_FOODSYSTEM_SETTING_X), (GIO_FOODSYSTEM_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiFoodSystemOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_CLICKED_ON ); - } -} -void BtnGIOFoodSystemOnCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_FOODSYSTEM_SETTING_X), (GIO_FOODSYSTEM_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiFoodSystemOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_CLICKED_ON ); - } -} - BOOLEAN ExitGIOScreen() { UINT16 cnt; @@ -2392,14 +2017,7 @@ BOOLEAN ExitGIOScreen() UnloadButtonImage( giGIOInventorySettingButtonImage[0] ); UnloadButtonImage( giGIOInventorySettingButtonImage[1] ); } - - // Destroy Drop All setting buttons - for( cnt=0; cntuiFlags & BUTTON_CLICKED_ON ) - { - return( cnt ); - } - } - return( 0 ); -} - UINT8 GetCurrentGunButtonSetting() { UINT8 cnt; @@ -2819,20 +2381,6 @@ UINT8 GetCurrentTimedTurnsButtonSetting() return( 0 ); } -UINT8 GetCurrentInventoryAPButtonSetting() -{ - UINT8 cnt; - - for( cnt=0; cntuiFlags & BUTTON_CLICKED_ON ) - { - return( cnt ); - } - } - return( 0 ); -} - UINT8 GetCurrentNCTHButtonSetting() { UINT8 cnt; @@ -2847,48 +2395,6 @@ UINT8 GetCurrentNCTHButtonSetting() return( 0 ); } -UINT8 GetCurrentIISButtonSetting() -{ - UINT8 cnt; - - for( cnt=0; cntuiFlags & BUTTON_CLICKED_ON ) - { - return( cnt ); - } - } - return( 0 ); -} - -UINT8 GetCurrentBackGroundButtonSetting() -{ - UINT8 cnt; - - for( cnt=0; cntuiFlags & BUTTON_CLICKED_ON ) - { - return( cnt ); - } - } - return( 0 ); -} - -UINT8 GetCurrentFoodSystemButtonSetting() -{ - UINT8 cnt; - - for( cnt=0; cntuiFlags & BUTTON_CLICKED_ON ) - { - return( cnt ); - } - } - return( 0 ); -} - void DoneFadeOutForExitGameInitOptionScreen( void ) { // loop through and get the status of all the buttons @@ -2951,14 +2457,9 @@ void DoneFadeOutForExitGameInitOptionScreen( void ) gGameUBOptions.fTexAndJohn = GetCurrentTexAndJohnButtonSetting(); - gGameOptions.fEnemiesDropAllItems = GetCurrentDropAllButtonSetting(); gGameOptions.ubProgressSpeedOfItemsChoices = min( GIO_PROGRESS_VERY_FAST, iCurrentProgressSetting ); - gGameOptions.fInventoryCostsAP = GetCurrentInventoryAPButtonSetting(); gGameOptions.fUseNCTH = GetCurrentNCTHButtonSetting(); - gGameOptions.fImprovedInterruptSystem = GetCurrentIISButtonSetting(); - gGameOptions.fBackGround = GetCurrentBackGroundButtonSetting(); - gGameOptions.fFoodSystem = GetCurrentFoodSystemButtonSetting(); gubGIOExitScreen = INIT_SCREEN; @@ -3172,18 +2673,6 @@ void RenderGIOSmallSelectionFrame(INT16 sX, INT16 sY) #define GIO_GUN_SETTING_Y GIO_PROGRESS_SETTING_Y + CHECK_Y_OFFSET #define GIO_GUN_SETTING_WIDTH CHECK_WIDTH -#define GIO_DROPALL_SETTING_X SECOND_COLUMN_X + CHECK_X_OFFSET -#define GIO_DROPALL_SETTING_Y GIO_GUN_SETTING_Y + CHECK_Y_OFFSET + CORRECTION_Y_OFFSET -#define GIO_DROPALL_SETTING_WIDTH CHECK_WIDTH - -#define GIO_BACKGROUND_SETTING_X SECOND_COLUMN_X + CHECK_X_OFFSET -#define GIO_BACKGROUND_SETTING_Y GIO_DROPALL_SETTING_Y + CHECK_Y_OFFSET + CORRECTION_Y_OFFSET -#define GIO_BACKGROUND_SETTING_WIDTH CHECK_WIDTH - -#define GIO_FOODSYSTEM_SETTING_X SECOND_COLUMN_X + CHECK_X_OFFSET -#define GIO_FOODSYSTEM_SETTING_Y GIO_BACKGROUND_SETTING_Y + CHECK_Y_OFFSET + CORRECTION_Y_OFFSET -#define GIO_FOODSYSTEM_SETTING_WIDTH CHECK_WIDTH - /********************************* THIRD COLUMN **********************************/ @@ -3203,14 +2692,6 @@ void RenderGIOSmallSelectionFrame(INT16 sX, INT16 sY) #define GIO_BR_QUANTITY_SETTING_Y GIO_BR_QUALITY_SETTING_Y + COMBO_Y_OFFSET #define GIO_BR_QUANTITY_SETTING_WIDTH COMBO_WIDTH -#define GIO_IIS_SETTING_X THIRD_COLUMN_X + CHECK_X_OFFSET -#define GIO_IIS_SETTING_Y GIO_BR_QUANTITY_SETTING_Y + CHECK_Y_OFFSET -#define GIO_IIS_SETTING_WIDTH CHECK_WIDTH - -#define GIO_INVENTORY_AP_SETTING_X THIRD_COLUMN_X + CHECK_X_OFFSET -#define GIO_INVENTORY_AP_SETTING_Y GIO_IIS_SETTING_Y + CHECK_Y_OFFSET + CORRECTION_Y_OFFSET -#define GIO_INVENTORY_AP_SETTING_WIDTH CHECK_WIDTH - // INI File #define JA2SP_INI_FILENAME "ja2_sp.ini" @@ -3225,18 +2706,10 @@ void RenderGIOSmallSelectionFrame(INT16 sX, INT16 sY) #define JA2SP_SKILL_TRAITS "SKILL_TRAITS" #define JA2SP_INVENTORY_ATTACHMENTS "INVENTORY_ATTACHMENTS" #define JA2SP_GAME_STYLE "GAME_STYLE" -#define JA2SP_ENEMIES_DROP_ALL_ITEMS "ENEMIES_DROP_ALL_ITEMS" #define JA2SP_EXTRA_DIFFICULTY "EXTRA_DIFFICULTY" #define JA2SP_AVAILABLE_ARSENAL "AVAILABLE_ARSENAL" -//#define JA2SP_NUMBER_OF_TERRORISTS "NUMBER_OF_TERRORISTS" -//#define JA2SP_SECRET_WEAPON_CACHES "SECRET_WEAPON_CACHES" #define JA2SP_SQUAD_SIZE "SQUAD_SIZE" -//#define JA2SP_FAST_BR "FAST_BOBBY_RAY" -#define JA2SP_INVENTORY_AP "INVENTORY_USE_AP" #define JA2SP_USE_NCTH "USE_NCTH" -#define JA2SP_USE_IIS "IMPROVED_INTERRUPT_SYSTEM" -#define JA2SP_BACKGROUNDS "BACKGROUNDS" -#define JA2SP_FOODSYSTEM "FOOD_SYSTEM" DIFFICULTY_SETTINGS_VALUES zDiffSetting[MAX_DIF_LEVEL]; UINT8 MaxDifficultySettingsValues; @@ -3429,11 +2902,6 @@ UINT32 guiGameSaveToggles[ NUM_SAVE_OPTIONS ]; void BtnGIOIronManOffCallback(GUI_BUTTON *btn,INT32 reason); void BtnGIOIronManOnCallback(GUI_BUTTON *btn,INT32 reason); -UINT32 guiDropAllOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; -UINT32 guiDropAllOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; -void BtnGIODropAllOffCallback(GUI_BUTTON *btn,INT32 reason); -void BtnGIODropAllOnCallback(GUI_BUTTON *btn,INT32 reason); - //checkbox to toggle Gun options UINT32 guiGunOptionTogglesImage[ NUM_GUN_OPTIONS ]; UINT32 guiGunOptionToggles[ NUM_GUN_OPTIONS ]; @@ -3445,37 +2913,12 @@ INT32 giGIOSquadSizeButtonImage[ 2 ]; void BtnGIOSquadSizeSelectionLeftCallback( GUI_BUTTON *btn,INT32 reason ); void BtnGIOSquadSizeSelectionRightCallback( GUI_BUTTON *btn,INT32 reason ); -UINT32 guiInventoryAPOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; -UINT32 guiInventoryAPOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; -void BtnGIOInventoryAPOffCallback(GUI_BUTTON *btn,INT32 reason); -void BtnGIOInventoryAPOnCallback(GUI_BUTTON *btn,INT32 reason); - // NCTH UINT32 guiNCTHOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; UINT32 guiNCTHOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; void BtnGIONCTHOffCallback(GUI_BUTTON *btn,INT32 reason); void BtnGIONCTHOnCallback(GUI_BUTTON *btn,INT32 reason); -// IIS -UINT32 guiImprovedInterruptOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; -UINT32 guiImprovedInterruptOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; -void BtnGIOImprovedInterruptOffCallback(GUI_BUTTON *btn,INT32 reason); -void BtnGIOImprovedInterruptOnCallback(GUI_BUTTON *btn,INT32 reason); - -// Background -UINT32 guiBackGroundOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; -UINT32 guiBackGroundOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; -void BtnGIOBackGroundOffCallback(GUI_BUTTON *btn,INT32 reason); -void BtnGIOBackGroundOnCallback(GUI_BUTTON *btn,INT32 reason); - -// Food System -UINT32 guiFoodSystemOptionTogglesImage[ GIO_NUM_ONOFF_BUTTONS ]; -UINT32 guiFoodSystemOptionToggles[ GIO_NUM_ONOFF_BUTTONS ]; -void BtnGIOFoodSystemOffCallback(GUI_BUTTON *btn,INT32 reason); -void BtnGIOFoodSystemOnCallback(GUI_BUTTON *btn,INT32 reason); - - - UINT32 guiTimedTurnToggles[ GIO_NUM_TIMED_TURN_OPTIONS ]; void BtnTimedTurnsTogglesCallback(GUI_BUTTON *btn,INT32 reason); @@ -3500,12 +2943,7 @@ UINT8 GetCurrentGameSaveButtonSetting(); UINT8 GetCurrentGameStyleButtonSetting(); UINT8 GetCurrentTraitsOptionButtonSetting(); -UINT8 GetCurrentDropAllButtonSetting(); -UINT8 GetCurrentInventoryAPButtonSetting(); UINT8 GetCurrentNCTHButtonSetting(); -UINT8 GetCurrentIISButtonSetting(); -UINT8 GetCurrentBackGroundButtonSetting(); -UINT8 GetCurrentFoodSystemButtonSetting(); void DoneFadeOutForExitGameInitOptionScreen( void ); void DoneFadeInForExitGameInitOptionScreen( void ); @@ -3584,20 +3022,14 @@ UINT32 GameInitOptionsScreenInit( void ) // Game Style (Default: Sci Fi = 0) gGameOptions.ubGameStyle = (UINT8)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_GAME_STYLE, STYLE_SCIFI); - - // Enemies Drop All Items (Default: Off = 0) - gGameOptions.fEnemiesDropAllItems = (BOOLEAN)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_ENEMIES_DROP_ALL_ITEMS, 0); - + // Extra Difficulty (Default: Save Anytime = 0) gGameOptions.fIronManMode = (BOOLEAN)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_EXTRA_DIFFICULTY, 0); gGameOptions.ubIronManMode = (UINT8)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_EXTRA_DIFFICULTY, 0); // Available Arsenal (Default: Tons of Guns = 1) gGameOptions.fGunNut = (BOOLEAN)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_AVAILABLE_ARSENAL, 1); - - // Inventory manipulation costs AP (Default: Off = 0) - gGameOptions.fInventoryCostsAP = (BOOLEAN)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_INVENTORY_AP, 0); - + // Squad size (Default: 8) UINT8 ubSquadSize = (UINT8)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_SQUAD_SIZE, 8); @@ -3607,9 +3039,6 @@ UINT32 GameInitOptionsScreenInit( void ) gGameOptions.ubSquadSize = ubSquadSize; gGameOptions.fUseNCTH = (BOOLEAN)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_USE_NCTH, 0); - gGameOptions.fImprovedInterruptSystem = (BOOLEAN)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_USE_IIS, 0); - gGameOptions.fBackGround = (BOOLEAN)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_BACKGROUNDS, 0); - gGameOptions.fFoodSystem = (BOOLEAN)props.getIntProperty(JA2SP_INI_INITIAL_SECTION, JA2SP_FOODSYSTEM, 0); // Air strikes gGameOptions.fAirStrikes = FALSE; @@ -3960,38 +3389,7 @@ BOOLEAN EnterGIOScreen() } } } - - - /////////////////////////////////////////////////////////////////////////////////////////////////////// - // DROP ALL ON/OFF SETTING - - guiDropAllOptionTogglesImage[ GIO_BUTTON_OFF ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiDropAllOptionToggles[ GIO_BUTTON_OFF ] = CreateIconAndTextButton( guiDropAllOptionTogglesImage[ GIO_BUTTON_OFF ], gzGIOScreenText[ GIO_DROPALL_OFF_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_DROPALL_SETTING_X), (GIO_DROPALL_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIODropAllOffCallback); - - guiDropAllOptionTogglesImage[ GIO_BUTTON_ON ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiDropAllOptionToggles[ GIO_BUTTON_ON ] = CreateIconAndTextButton( guiDropAllOptionTogglesImage[ GIO_BUTTON_ON ], gzGIOScreenText[ GIO_DROPALL_ON_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_DROPALL_SETTING_X + 74), (GIO_DROPALL_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIODropAllOnCallback ); - - SpecifyButtonSoundScheme( guiDropAllOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - SpecifyButtonSoundScheme( guiDropAllOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - MSYS_SetBtnUserData(guiDropAllOptionToggles[ GIO_BUTTON_OFF ],0, 0 ); - MSYS_SetBtnUserData(guiDropAllOptionToggles[ GIO_BUTTON_ON ],0, 1 ); - - if( gGameOptions.fEnemiesDropAllItems ) - ButtonList[ guiDropAllOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags |= BUTTON_CLICKED_ON; - else - ButtonList[ guiDropAllOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; - - + /////////////////////////////////////////////////////////////////////////////////////////////////////// // GUN SETTING @@ -4021,37 +3419,6 @@ BOOLEAN EnterGIOScreen() else ButtonList[ guiGunOptionToggles[ GIO_REDUCED_GUNS ] ]->uiFlags |= BUTTON_CLICKED_ON; - - /////////////////////////////////////////////////////////////////////////////////////////////////////// - // INVENTORY AP COST ON/OFF SETTING - - guiInventoryAPOptionTogglesImage[ GIO_BUTTON_OFF ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ] = CreateIconAndTextButton( guiInventoryAPOptionTogglesImage[ GIO_BUTTON_OFF ], gzGIOScreenText[ GIO_DROPALL_OFF_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_INVENTORY_AP_SETTING_X), (GIO_INVENTORY_AP_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOInventoryAPOffCallback); - - guiInventoryAPOptionTogglesImage[ GIO_BUTTON_ON ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiInventoryAPOptionToggles[ GIO_BUTTON_ON ] = CreateIconAndTextButton( guiInventoryAPOptionTogglesImage[ GIO_BUTTON_ON ], gzGIOScreenText[ GIO_DROPALL_ON_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_INVENTORY_AP_SETTING_X + 74), (GIO_INVENTORY_AP_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOInventoryAPOnCallback ); - - SpecifyButtonSoundScheme( guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - SpecifyButtonSoundScheme( guiInventoryAPOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - MSYS_SetBtnUserData(guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ],0, 0 ); - MSYS_SetBtnUserData(guiInventoryAPOptionToggles[ GIO_BUTTON_ON ],0, 1 ); - - if( gGameOptions.fInventoryCostsAP ) - ButtonList[ guiInventoryAPOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags |= BUTTON_CLICKED_ON; - else - ButtonList[ guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; - - /////////////////////////////////////////////////////////////////////////////////////////////////////// // SQUAD SIZE if (iResolution > _640x480) @@ -4138,96 +3505,6 @@ BOOLEAN EnterGIOScreen() ButtonList[ guiNCTHOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; /////////////////////////////////////////////////////////////////////////////////////////////////////// - // IMPROVED INTERRUPT SYSTEM ON/OFF SETTING - - guiImprovedInterruptOptionTogglesImage[ GIO_BUTTON_OFF ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ] = CreateIconAndTextButton( guiImprovedInterruptOptionTogglesImage[ GIO_BUTTON_OFF ], gzGIOScreenText[ GIO_DROPALL_OFF_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_IIS_SETTING_X), (GIO_IIS_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOImprovedInterruptOffCallback); - - guiImprovedInterruptOptionTogglesImage[ GIO_BUTTON_ON ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ] = CreateIconAndTextButton( guiImprovedInterruptOptionTogglesImage[ GIO_BUTTON_ON ], gzGIOScreenText[ GIO_DROPALL_ON_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_IIS_SETTING_X + 74), (GIO_IIS_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOImprovedInterruptOnCallback ); - - SpecifyButtonSoundScheme( guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - SpecifyButtonSoundScheme( guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - MSYS_SetBtnUserData(guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ],0, 0 ); - MSYS_SetBtnUserData(guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ],0, 1 ); - - if( gGameOptions.fImprovedInterruptSystem ) - ButtonList[ guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags |= BUTTON_CLICKED_ON; - else - ButtonList[ guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; - - - /////////////////////////////////////////////////////////////////////////////////////////////////////// - // BACKGROUND ON/OFF SETTING - - guiBackGroundOptionTogglesImage[ GIO_BUTTON_OFF ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiBackGroundOptionToggles[ GIO_BUTTON_OFF ] = CreateIconAndTextButton( guiBackGroundOptionTogglesImage[ GIO_BUTTON_OFF ], gzGIOScreenText[ GIO_DROPALL_OFF_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_BACKGROUND_SETTING_X), (GIO_BACKGROUND_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOBackGroundOffCallback); - - guiBackGroundOptionTogglesImage[ GIO_BUTTON_ON ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiBackGroundOptionToggles[ GIO_BUTTON_ON ] = CreateIconAndTextButton( guiBackGroundOptionTogglesImage[ GIO_BUTTON_ON ], gzGIOScreenText[ GIO_DROPALL_ON_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_BACKGROUND_SETTING_X + 74), (GIO_BACKGROUND_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOBackGroundOnCallback ); - - SpecifyButtonSoundScheme( guiBackGroundOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - SpecifyButtonSoundScheme( guiBackGroundOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - MSYS_SetBtnUserData(guiBackGroundOptionToggles[ GIO_BUTTON_OFF ],0, 0 ); - MSYS_SetBtnUserData(guiBackGroundOptionToggles[ GIO_BUTTON_ON ],0, 1 ); - - if( gGameOptions.fBackGround ) - ButtonList[ guiBackGroundOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags |= BUTTON_CLICKED_ON; - else - ButtonList[ guiBackGroundOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; - - /////////////////////////////////////////////////////////////////////////////////////////////////////// - // FOOD SYSTEM ON/OFF SETTING - - guiFoodSystemOptionTogglesImage[ GIO_BUTTON_OFF ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ] = CreateIconAndTextButton( guiFoodSystemOptionTogglesImage[ GIO_BUTTON_OFF ], gzGIOScreenText[ GIO_DROPALL_OFF_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_FOODSYSTEM_SETTING_X), (GIO_FOODSYSTEM_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOFoodSystemOffCallback); - - guiFoodSystemOptionTogglesImage[ GIO_BUTTON_ON ] = UseLoadedButtonImage( guiTraitsOptionTogglesImage[ GIO_TRAITS_OLD ], -1,1,-1,3,-1 ); - guiFoodSystemOptionToggles[ GIO_BUTTON_ON ] = CreateIconAndTextButton( guiFoodSystemOptionTogglesImage[ GIO_BUTTON_ON ], gzGIOScreenText[ GIO_DROPALL_ON_TEXT ], GIO_TOGGLE_TEXT_FONT, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - GIO_TOGGLE_TEXT_COLOR, NO_SHADOW, - TEXT_CJUSTIFIED, - (GIO_FOODSYSTEM_SETTING_X + 74), (GIO_FOODSYSTEM_SETTING_Y + 10), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, - DEFAULT_MOVE_CALLBACK, BtnGIOFoodSystemOnCallback ); - - SpecifyButtonSoundScheme( guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - SpecifyButtonSoundScheme( guiFoodSystemOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_SCHEME_BIGSWITCH3 ); - MSYS_SetBtnUserData(guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ],0, 0 ); - MSYS_SetBtnUserData(guiFoodSystemOptionToggles[ GIO_BUTTON_ON ],0, 1 ); - - if( gGameOptions.fFoodSystem ) - ButtonList[ guiFoodSystemOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags |= BUTTON_CLICKED_ON; - else - ButtonList[ guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags |= BUTTON_CLICKED_ON; - - - /////////////////////////////////////////////////////////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////////////////////////////////////////////// //Reset the exit screen gubGIOExitScreen = GAME_INIT_OPTIONS_SCREEN; @@ -4880,37 +4157,6 @@ void BtnGIOIronManOnCallback(GUI_BUTTON *btn,INT32 reason) } } -void BtnGIODropAllOffCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_DROPALL_SETTING_X), (GIO_DROPALL_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiDropAllOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiDropAllOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_CLICKED_ON ); - } -} -void BtnGIODropAllOnCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_DROPALL_SETTING_X), (GIO_DROPALL_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiDropAllOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiDropAllOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_CLICKED_ON ); - } -} - void BtnGIOGunSettingReducedCallback(GUI_BUTTON *btn,INT32 reason) { if (!(btn->uiFlags & BUTTON_ENABLED)) @@ -5038,37 +4284,6 @@ void BtnGIOSquadSizeSelectionRightCallback( GUI_BUTTON *btn,INT32 reason ) } } -void BtnGIOInventoryAPOffCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_INVENTORY_AP_SETTING_X), (GIO_INVENTORY_AP_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiInventoryAPOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_CLICKED_ON ); - } -} -void BtnGIOInventoryAPOnCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_INVENTORY_AP_SETTING_X), (GIO_INVENTORY_AP_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiInventoryAPOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiInventoryAPOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_CLICKED_ON ); - } -} - void BtnGIONCTHOffCallback(GUI_BUTTON *btn,INT32 reason) { if (!(btn->uiFlags & BUTTON_ENABLED)) @@ -5100,99 +4315,6 @@ void BtnGIONCTHOnCallback(GUI_BUTTON *btn,INT32 reason) } } -void BtnGIOImprovedInterruptOffCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_IIS_SETTING_X), (GIO_IIS_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_CLICKED_ON ); - } -} -void BtnGIOImprovedInterruptOnCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_IIS_SETTING_X), (GIO_IIS_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiImprovedInterruptOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiImprovedInterruptOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_CLICKED_ON ); - } -} - -void BtnGIOBackGroundOffCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_BACKGROUND_SETTING_X), (GIO_BACKGROUND_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiBackGroundOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiBackGroundOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_CLICKED_ON ); - } -} -void BtnGIOBackGroundOnCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_BACKGROUND_SETTING_X), (GIO_BACKGROUND_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiBackGroundOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiBackGroundOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_CLICKED_ON ); - } -} - -void BtnGIOFoodSystemOffCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_FOODSYSTEM_SETTING_X), (GIO_FOODSYSTEM_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiFoodSystemOptionToggles[ GIO_BUTTON_ON ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ], BUTTON_SOUND_CLICKED_ON ); - } -} -void BtnGIOFoodSystemOnCallback(GUI_BUTTON *btn,INT32 reason) -{ - if (!(btn->uiFlags & BUTTON_ENABLED)) - return; - - if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - RestoreExternBackgroundRect( (GIO_FOODSYSTEM_SETTING_X), (GIO_FOODSYSTEM_SETTING_Y + 10), 230, 40 ); - - ButtonList[ guiFoodSystemOptionToggles[ GIO_BUTTON_OFF ] ]->uiFlags &= ~BUTTON_CLICKED_ON; - btn->uiFlags|=(BUTTON_CLICKED_ON); - - PlayButtonSound( guiFoodSystemOptionToggles[ GIO_BUTTON_ON ], BUTTON_SOUND_CLICKED_ON ); - } -} - BOOLEAN ExitGIOScreen() { UINT16 cnt; @@ -5268,14 +4390,7 @@ BOOLEAN ExitGIOScreen() UnloadButtonImage( giGIOInventorySettingButtonImage[0] ); UnloadButtonImage( giGIOInventorySettingButtonImage[1] ); } - - // Destroy Drop All setting buttons - for( cnt=0; cntuiFlags & BUTTON_CLICKED_ON ) - { - return( cnt ); - } - } - return( 0 ); -} - -UINT8 GetCurrentInventoryAPButtonSetting() -{ - UINT8 cnt; - - for( cnt=0; cntuiFlags & BUTTON_CLICKED_ON ) - { - return( cnt ); - } - } - return( 0 ); -} - UINT8 GetCurrentGunButtonSetting() { UINT8 cnt; @@ -5717,48 +4752,6 @@ UINT8 GetCurrentNCTHButtonSetting() return( 0 ); } -UINT8 GetCurrentIISButtonSetting() -{ - UINT8 cnt; - - for( cnt=0; cntuiFlags & BUTTON_CLICKED_ON ) - { - return( cnt ); - } - } - return( 0 ); -} - -UINT8 GetCurrentBackGroundButtonSetting() -{ - UINT8 cnt; - - for( cnt=0; cntuiFlags & BUTTON_CLICKED_ON ) - { - return( cnt ); - } - } - return( 0 ); -} - -UINT8 GetCurrentFoodSystemButtonSetting() -{ - UINT8 cnt; - - for( cnt=0; cntuiFlags & BUTTON_CLICKED_ON ) - { - return( cnt ); - } - } - return( 0 ); -} - void DoneFadeOutForExitGameInitOptionScreen( void ) { // loop through and get the status of all the buttons @@ -5811,17 +4804,10 @@ void DoneFadeOutForExitGameInitOptionScreen( void ) // SANDRO - added following: gGameOptions.fNewTraitSystem = GetCurrentTraitsOptionButtonSetting(); - gGameOptions.fEnemiesDropAllItems = GetCurrentDropAllButtonSetting(); gGameOptions.ubProgressSpeedOfItemsChoices = min( GIO_PROGRESS_VERY_FAST, iCurrentProgressSetting ); - gGameOptions.fInventoryCostsAP = GetCurrentInventoryAPButtonSetting(); gGameOptions.fUseNCTH = GetCurrentNCTHButtonSetting(); - gGameOptions.fImprovedInterruptSystem = GetCurrentIISButtonSetting(); - gGameOptions.fBackGround = GetCurrentBackGroundButtonSetting(); - gGameOptions.fFoodSystem = GetCurrentFoodSystemButtonSetting(); - - // gubGIOExitScreen = INIT_SCREEN; gubGIOExitScreen = INTRO_SCREEN; #ifdef JA2TESTVERSION diff --git a/GameSettings.cpp b/GameSettings.cpp index 016d064c..7dd9b2c1 100644 --- a/GameSettings.cpp +++ b/GameSettings.cpp @@ -113,7 +113,8 @@ BOOLEAN GetCDromDriveLetter( STR8 pString ); BOOLEAN IsDriveLetterACDromDrive( STR pDriveLetter ); void CDromEjectionErrorMessageBoxCallBack( UINT8 bExitValue ); - +// these wrappers have the benefit that changing the location of the variable (gameinitoptionscreen/ini/ingame options) doesn't require huge changes throughout the code +// additionally, turning off a feature (for UB, for MP...) can be done here without additional checks in the code bool UsingNewInventorySystem() { return (gGameOptions.ubInventorySystem == INVENTORY_NEW); @@ -129,6 +130,40 @@ bool UsingNewCTHSystem() return (gGameOptions.fUseNCTH == TRUE); } +BOOLEAN UsingFoodSystem() +{ + return gGameExternalOptions.fFoodSystem; +} + +BOOLEAN UsingBackGroundSystem() +{ + return gGameExternalOptions.fBackGround; +} + +BOOLEAN UsingImprovedInterruptSystem() +{ +#ifdef JA2EDITOR + return FALSE; +#endif + + // this feature is off in multiplayer + return (!is_networked && gGameExternalOptions.fImprovedInterruptSystem); +} + +BOOLEAN UsingEnemiesDropAllItemsSystem() +{ + return gGameExternalOptions.fEnemiesDropAllItems; +} + +BOOLEAN UsingInventoryCostsAPSystem() +{ +#ifdef JA2EDITOR + return FALSE; +#endif + + return ( gGameExternalOptions.fInventoryCostsAP ); +} + std::string StringToLower(std::string strToConvert) {//change each element of the string to lower case for(unsigned int i=0;iuiFlags|=(BUTTON_CLICKED_ON); // Flugente: setting determines whether we see the background page - if ( gGameOptions.fBackGround ) + if ( UsingBackGroundSystem() ) { iCurrentImpPage = IMP_BACKGROUND; diff --git a/Laptop/personnel.cpp b/Laptop/personnel.cpp index 7ec6ce52..d9122a07 100644 --- a/Laptop/personnel.cpp +++ b/Laptop/personnel.cpp @@ -1664,7 +1664,7 @@ void DisplayCharStats( INT32 iId, INT32 iSlot ) // Background // display background - if ( gGameOptions.fBackGround ) + if ( UsingBackGroundSystem() ) { UINT8 loc = 21; UINT8 regionnr = 12; @@ -7603,7 +7603,7 @@ void AssignPersonnelSkillTraitHelpText( UINT8 ubTraitNumber, BOOLEAN fExpertLeve wcscat( apStr, atStr ); } } - if( gSkillTraitValues.ubMAReducedAPsRegisteredWhenMoving != 0 && gGameOptions.fImprovedInterruptSystem ) + if( gSkillTraitValues.ubMAReducedAPsRegisteredWhenMoving != 0 && UsingImprovedInterruptSystem() ) { swprintf( atStr, gzIMPMajorTraitsHelpTextsMartialArts[27], ( gSkillTraitValues.ubMAReducedAPsRegisteredWhenMoving * (fExpertLevel ? 2 : 1)), sSpecialCharacters[0]); wcscat( apStr, atStr ); @@ -7641,7 +7641,7 @@ void AssignPersonnelSkillTraitHelpText( UINT8 ubTraitNumber, BOOLEAN fExpertLeve swprintf( atStr, gzIMPMajorTraitsHelpTextsSquadleader[2], ( gSkillTraitValues.ubSLEffectiveLevelAsStandby * (fExpertLevel ? 2 : 1))); wcscat( apStr, atStr ); } - if( gSkillTraitValues.ubSLCollectiveInterruptsBonus != 0 && gGameOptions.fImprovedInterruptSystem ) + if( gSkillTraitValues.ubSLCollectiveInterruptsBonus != 0 && UsingImprovedInterruptSystem() ) { swprintf( atStr, gzIMPMajorTraitsHelpTextsSquadleader[11], ( gSkillTraitValues.ubSLCollectiveInterruptsBonus * (fExpertLevel ? 2 : 1)), sSpecialCharacters[0]); wcscat( apStr, atStr ); @@ -8007,7 +8007,7 @@ void AssignPersonnelSkillTraitHelpText( UINT8 ubTraitNumber, BOOLEAN fExpertLeve swprintf( atStr, gzIMPMinorTraitsHelpTextsStealthy[2], gSkillTraitValues.ubSTStealthBonus, sSpecialCharacters[0]); wcscat( apStr, atStr ); } - if( gSkillTraitValues.ubSTReducedAPsRegistered != 0 && gGameOptions.fImprovedInterruptSystem ) + if( gSkillTraitValues.ubSTReducedAPsRegistered != 0 && UsingImprovedInterruptSystem() ) { swprintf( atStr, gzIMPMinorTraitsHelpTextsStealthy[4], gSkillTraitValues.ubSTReducedAPsRegistered, sSpecialCharacters[0]); wcscat( apStr, atStr ); @@ -8296,7 +8296,7 @@ void AssignPersonnelSkillTraitHelpText( UINT8 ubTraitNumber, BOOLEAN fExpertLeve } } - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) { if ( gSkillTraitValues.sSVFoodConsumption != 0 ) { diff --git a/MPScoreScreen.cpp b/MPScoreScreen.cpp index 272b98cb..33802864 100644 --- a/MPScoreScreen.cpp +++ b/MPScoreScreen.cpp @@ -655,4 +655,4 @@ void BtnMPSContinueCallback(GUI_BUTTON *btn,INT32 reason) InvalidateRegion(btn->Area.RegionTopLeftX, btn->Area.RegionTopLeftY, btn->Area.RegionBottomRightX, btn->Area.RegionBottomRightY); } -} +} diff --git a/Multiplayer/client.cpp b/Multiplayer/client.cpp index f68936fe..2d6d89f9 100644 --- a/Multiplayer/client.cpp +++ b/Multiplayer/client.cpp @@ -2572,23 +2572,10 @@ void recieveSETTINGS (RPCParameters *rpcParameters) //recive settings from serve // Disable Reinforcements gGameExternalOptions.gfAllowReinforcements = false; gGameExternalOptions.gfAllowReinforcementsOnlyInCity = false; - - // WANNE: The new improved interrupt system (IIS) does not work with multiplayer, so disable it - //gGameOptions.fImprovedInterruptSystem = false; - - // Disable Real-Time Mode - // SANDRO - huh? real-time sneak is in preferences - //gGameExternalOptions.fAllowRealTimeSneak = false; - + gGameSettings.fOptions[TOPTION_ALLOW_REAL_TIME_SNEAK] = false; gGameExternalOptions.fQuietRealTimeSneak = false; - - // WANNE: Take the settings from the ja2_options.ini - // WANNE: Enable fast loading - /*gGameExternalOptions.fDisableLaptopTransition = true; - gGameExternalOptions.fFastWWWSitesLoading = true; - gGameExternalOptions.fDisableStrategicTransition = true;*/ - + // WANNE: fix HOT DAY in night at arrival by night. // Explanation: If game starting time + first arrival delay < 07:00 (111600) -> we arrive before the sun rises or // if game starting time + first arrival delay >= 21:00 (162000) -> we arrive after the sun goes down @@ -2631,14 +2618,7 @@ void recieveSETTINGS (RPCParameters *rpcParameters) //recive settings from serve gGameOptions.ubSquadSize = 6; - //gGameOptions.fBobbyRayFastShipments = FALSE; - gGameOptions.fInventoryCostsAP = FALSE; - gGameOptions.fUseNCTH = FALSE; - gGameOptions.fImprovedInterruptSystem = FALSE; - gGameOptions.fBackGround = FALSE; - gGameOptions.fFoodSystem = FALSE; - // Server forces us to play with new Inventory, but NIV is not allowed on the client, // because of wrong resolution or other stuff @@ -2796,22 +2776,13 @@ void reapplySETTINGS() // Disable Reinforcements gGameExternalOptions.gfAllowReinforcements = false; gGameExternalOptions.gfAllowReinforcementsOnlyInCity = false; - - // WANNE: The new improved interrupt system (IIS) does not work with multiplayer, so disable it - //gGameOptions.fImprovedInterruptSystem = false; - + // Disable Real-Time Mode // SANDRO - real-time sneak is in preferences //gGameExternalOptions.fAllowRealTimeSneak = false; gGameSettings.fOptions[TOPTION_ALLOW_REAL_TIME_SNEAK] = false; gGameExternalOptions.fQuietRealTimeSneak = false; - - // WANNE: Take the settings from the ja2_options.ini - // WANNE: Enable fast loading - /*gGameExternalOptions.fDisableLaptopTransition = true; - gGameExternalOptions.fFastWWWSitesLoading = true; - gGameExternalOptions.fDisableStrategicTransition = true;*/ - + // WANNE: fix HOT DAY in night at arrival by night. // Explanation: If game starting time + first arrival delay < 07:00 (111600) -> we arrive before the sun rises or // if game starting time + first arrival delay >= 21:00 (162000) -> we arrive after the sun goes down @@ -2853,14 +2824,8 @@ void reapplySETTINGS() } gGameOptions.ubSquadSize = 6; - - //gGameOptions.fBobbyRayFastShipments = FALSE; - gGameOptions.fInventoryCostsAP = FALSE; - + gGameOptions.fUseNCTH = FALSE; - gGameOptions.fImprovedInterruptSystem = FALSE; - gGameOptions.fBackGround = FALSE; - gGameOptions.fFoodSystem = FALSE; // WANNE - MP: We have to re-initialize the correct interface if((UsingNewInventorySystem() == true) && IsNIVModeValid(true)) diff --git a/SaveLoadGame.cpp b/SaveLoadGame.cpp index e03bb5be..afd56cb6 100644 --- a/SaveLoadGame.cpp +++ b/SaveLoadGame.cpp @@ -3594,13 +3594,7 @@ BOOLEAN SaveGame( int ubSaveGameID, STR16 pGameDesc ) SaveGameHeader.sInitialGameOptions.ubSquadSize = gGameOptions.ubSquadSize; - - //SaveGameHeader.sInitialGameOptions.fBobbyRayFastShipments = gGameOptions.fBobbyRayFastShipments; - SaveGameHeader.sInitialGameOptions.fInventoryCostsAP = gGameOptions.fInventoryCostsAP; - SaveGameHeader.sInitialGameOptions.fUseNCTH = gGameOptions.fUseNCTH; - SaveGameHeader.sInitialGameOptions.fImprovedInterruptSystem = gGameOptions.fImprovedInterruptSystem; - SaveGameHeader.sInitialGameOptions.fBackGround = gGameOptions.fBackGround; // // Save the Save Game header file @@ -3615,9 +3609,7 @@ BOOLEAN SaveGame( int ubSaveGameID, STR16 pGameDesc ) ScreenMsg( FONT_MCOLOR_WHITE, MSG_ERROR, L"ERROR in SaveCurrentSectorsInformationToTempItemFile()"); goto FAILED_TO_SAVE; } - - - + //if we are saving the quick save, if( ubSaveGameID == 0 ) { diff --git a/Strategic/Assignments.cpp b/Strategic/Assignments.cpp index 4df0893c..de2cf8fc 100644 --- a/Strategic/Assignments.cpp +++ b/Strategic/Assignments.cpp @@ -1485,7 +1485,7 @@ BOOLEAN CanCharacterPatient( SOLDIERTYPE *pSoldier ) return ( TRUE ); // Flugente: stats can also be damaged - if ( !gGameOptions.fFoodSystem || ( gGameOptions.fFoodSystem && pSoldier->bFoodLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold && pSoldier->bDrinkLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold ) ) + if ( !UsingFoodSystem() || ( pSoldier->bFoodLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold && pSoldier->bDrinkLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold ) ) { if ( pSoldier->usStarveDamageHealth > 0 || pSoldier->usStarveDamageStrength > 0 ) return ( TRUE ); @@ -3134,7 +3134,7 @@ UINT16 CalculateHealingPointsForDoctor(SOLDIERTYPE *pDoctor, UINT16 *pusMaxPts, ReducePointsForFatigue( pDoctor, &usHealPts ); // Flugente: our food situation influences our effectiveness - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) ReducePointsForHunger( pDoctor, &usHealPts ); // count how much medical supplies we have @@ -3228,7 +3228,7 @@ UINT8 CalculateRepairPointsForRepairman(SOLDIERTYPE *pSoldier, UINT16 *pusMaxPts ReducePointsForFatigue( pSoldier, &usRepairPts ); // Flugente: our food situation influences our effectiveness - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) ReducePointsForHunger( pSoldier, &usRepairPts ); // figure out what shape his "equipment" is in ("coming" in JA3: Viagra - improves the "shape" your "equipment" is in) @@ -3313,7 +3313,7 @@ UINT8 CalculateCleaningPointsForRepairman(SOLDIERTYPE *pSoldier, UINT16 *pusMaxP ReducePointsForFatigue( pSoldier, &usCleaningPts ); // Flugente: our food situation influences our effectiveness - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) ReducePointsForHunger( pSoldier, &usCleaningPts ); // return current cleaning pts @@ -4047,7 +4047,7 @@ void UpdatePatientsWhoAreDoneHealing( void ) if ( IS_PATIENT(pTeamSoldier->bAssignment) && !IS_DOCTOR(pTeamSoldier->bAssignment) && (pTeamSoldier->stats.bLife == pTeamSoldier->stats.bLifeMax) && pTeamSoldier->HasDisease(TRUE, TRUE) ) { // Flugente: stats can also be damaged - if ( !gGameOptions.fFoodSystem || (gGameOptions.fFoodSystem && pTeamSoldier->bFoodLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold && pTeamSoldier->bDrinkLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold) ) + if ( !UsingFoodSystem() || ( pTeamSoldier->bFoodLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold && pTeamSoldier->bDrinkLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold) ) { if ( pTeamSoldier->usStarveDamageHealth > 0 || pTeamSoldier->usStarveDamageStrength > 0 ) fHasDamagedStat = TRUE; @@ -7068,7 +7068,7 @@ INT16 GetBonusTrainingPtsDueToInstructor( SOLDIERTYPE *pInstructor, SOLDIERTYPE ReducePointsForFatigue( pInstructor, &uiTrainingPts ); // Flugente: our food situation influences our effectiveness - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) ReducePointsForHunger( pInstructor, &uiTrainingPts ); sTrainingPts = (INT16)uiTrainingPts; @@ -7187,7 +7187,7 @@ INT16 GetSoldierTrainingPts( SOLDIERTYPE *pSoldier, INT8 bTrainStat, UINT16 *pus ReducePointsForFatigue( pSoldier, &uiTrainingPts ); // Flugente: our food situation influences our effectiveness - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) ReducePointsForHunger( pSoldier, &uiTrainingPts ); sTrainingPts = (INT16)uiTrainingPts; @@ -7311,7 +7311,7 @@ INT16 GetSoldierStudentPts( SOLDIERTYPE *pSoldier, INT8 bTrainStat, UINT16 *pusM ReducePointsForFatigue( pSoldier, &uiTrainingPts ); // Flugente: our food situation influences our effectiveness - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) ReducePointsForHunger( pSoldier, &uiTrainingPts ); sTrainingPts = (INT16)uiTrainingPts; @@ -8763,7 +8763,7 @@ INT16 GetTownTrainPtsForCharacter( SOLDIERTYPE *pTrainer, UINT16 *pusMaxPts ) ReducePointsForFatigue( pTrainer, &uiTrainingPts ); // Flugente: our food situation influences our effectiveness - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) ReducePointsForHunger( pTrainer, &uiTrainingPts ); sTotalTrainingPts = (INT16)uiTrainingPts; @@ -18578,7 +18578,7 @@ UINT8 CalcSoldierNeedForSleep( SOLDIERTYPE *pSoldier ) } // Flugente: ubNeedForSleep can now be influenced by our food situation - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) FoodNeedForSleepModifiy(pSoldier, &ubNeedForSleep); return( ubNeedForSleep ); diff --git a/Strategic/Hourly Update.cpp b/Strategic/Hourly Update.cpp index 33d46d25..a347dac9 100644 --- a/Strategic/Hourly Update.cpp +++ b/Strategic/Hourly Update.cpp @@ -87,7 +87,7 @@ CHAR16 zString[128]; HandleTownLoyalty(); // Flugente: food update - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) HourlyFoodUpdate(); // hourly update of team assignments diff --git a/Strategic/Luaglobal.cpp b/Strategic/Luaglobal.cpp index 2ee657f4..82f9401b 100644 --- a/Strategic/Luaglobal.cpp +++ b/Strategic/Luaglobal.cpp @@ -606,9 +606,7 @@ void IniGlobalGameSetting(lua_State *L) lua_pushboolean(L, gGameUBOptions.fRandomManuelText); lua_setglobal(L, "UB_RandomManuelText"); -#endif - -#ifdef JA2UB + //Old lua_pushinteger(L, BARRETT_UB); lua_setglobal(L, "itemBARRETT_UB"); diff --git a/Strategic/Map Screen Interface Map Inventory.cpp b/Strategic/Map Screen Interface Map Inventory.cpp index 18d3e58f..007dd214 100644 --- a/Strategic/Map Screen Interface Map Inventory.cpp +++ b/Strategic/Map Screen Interface Map Inventory.cpp @@ -6137,7 +6137,7 @@ void HandleItemCooldownFunctions( OBJECTTYPE* itemStack, INT32 deltaSeconds, BOO INT32 tickspassed = deltaSeconds / NUM_SEC_PER_TACTICAL_TURN;//1 tick is 5 seconds if ( tickspassed == 0 || !itemStack->exists() || - !( gGameExternalOptions.fWeaponOverheating || gGameOptions.fFoodSystem ) ) + !( gGameExternalOptions.fWeaponOverheating || UsingFoodSystem() ) ) return; @@ -6188,7 +6188,7 @@ void HandleItemCooldownFunctions( OBJECTTYPE* itemStack, INT32 deltaSeconds, BOO }//end overheating // ... if it is food and the food system is active ... - if ( gGameOptions.fFoodSystem && Item[ itemStack->usItem ].foodtype > 0 ) + if ( UsingFoodSystem() && Item[ itemStack->usItem ].foodtype > 0 ) { if ( Food[ Item[ itemStack->usItem ].foodtype ].usDecayRate > 0.0f ) // ... if the food can decay... { @@ -6210,7 +6210,7 @@ void HandleItemCooldownFunctions( OBJECTTYPE* itemStack, INT32 deltaSeconds, BOO void HandleSectorCooldownFunctions( INT16 sMapX, INT16 sMapY, INT8 sMapZ, std::vector& pWorldItem, UINT32 size, BOOLEAN fWithMinutes, BOOLEAN fUndo )//dnl ch75 271013 { // if not using overheating or food system, no point in all this - if ( !gGameExternalOptions.fWeaponOverheating && !gGameOptions.fFoodSystem ) + if ( !gGameExternalOptions.fWeaponOverheating && !UsingFoodSystem() ) return; UINT32 tickspassed = 1; diff --git a/Strategic/mapscreen.cpp b/Strategic/mapscreen.cpp index 91970eb8..4afc7a7c 100644 --- a/Strategic/mapscreen.cpp +++ b/Strategic/mapscreen.cpp @@ -2360,7 +2360,7 @@ void DrawCharStats( INT16 sCharNum ) swprintf( sString, L"%d", pSoldier->stats.bStrength + pSoldier->bExtraStrength ); // SANDRO - if damaged stat we could regain, show in red until repaired - if ( ( gGameOptions.fNewTraitSystem && ( pSoldier->ubCriticalStatDamage[DAMAGED_STAT_STRENGTH] > 0 )) || (gGameOptions.fFoodSystem && pSoldier->usStarveDamageStrength > 0) ) + if ( ( gGameOptions.fNewTraitSystem && ( pSoldier->ubCriticalStatDamage[DAMAGED_STAT_STRENGTH] > 0 )) || ( UsingFoodSystem() && pSoldier->usStarveDamageStrength > 0) ) { SetFontForeground( FONT_RED ); } @@ -9628,7 +9628,7 @@ void MAPInvClickCallback( MOUSE_REGION *pRegion, INT32 iReason ) return; } - if(gGameOptions.fInventoryCostsAP && (gTacticalStatus.uiFlags & INCOMBAT))//dnl ch66 070913 if fInventoryCostsAP is set and we are in combat then moving equipment in strategic screen is not allowed + if ( UsingInventoryCostsAPSystem() && (gTacticalStatus.uiFlags & INCOMBAT))//dnl ch66 070913 if fInventoryCostsAP is set and we are in combat then moving equipment in strategic screen is not allowed return; // make sure we're here legally diff --git a/Tactical/Faces.cpp b/Tactical/Faces.cpp index 9269ffbc..d9d85192 100644 --- a/Tactical/Faces.cpp +++ b/Tactical/Faces.cpp @@ -2169,7 +2169,7 @@ void HandleRenderFaceAdjustments( FACETYPE *pFace, BOOLEAN fDisplayBuffer, BOOLE } // Flugente: food system - symbols used if hungry or thirsty - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) { if ( MercPtrs[ pFace->ubSoldierID ]->bDrinkLevel < FoodMoraleMods[FOOD_MERC_START_SHOW_HUNGER_SYMBOL].bThreshold ) { diff --git a/Tactical/Food.cpp b/Tactical/Food.cpp index a809f387..da6eff23 100644 --- a/Tactical/Food.cpp +++ b/Tactical/Food.cpp @@ -102,7 +102,7 @@ void AddFoodpoints( INT32& arCurrentFood, INT32 aVal ) BOOLEAN DoesSoldierRefuseToEat( SOLDIERTYPE *pSoldier, OBJECTTYPE *pObj ) { - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) { // static variables to remember the last food someone was forced to eat static UINT8 lasteater = 0; @@ -854,7 +854,7 @@ void SectorFillCanteens( void ) // it would be pretty pointless to fill our canteens and then not to drink from them even though we are hungry. If there is an unlimited water source in this sector, drink from our // freshly filled canteens. Thus calling this function repeatedly will cause us to drink till we're full, and restore our canteens to full level - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) EatFromInventory( pSoldier, TRUE ); } } @@ -1129,7 +1129,7 @@ void DrinkFromWaterTap( SOLDIERTYPE* pSoldier ) if ( pSoldier->ubProfile == ROBOT || IsVehicle( pSoldier ) ) return; - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) { INT32 watertoadd = max( 0, FoodMoraleMods[FOOD_NORMAL].bThreshold - pSoldier->bDrinkLevel ); diff --git a/Tactical/Interface Enhanced.cpp b/Tactical/Interface Enhanced.cpp index ed7626e1..08c61712 100644 --- a/Tactical/Interface Enhanced.cpp +++ b/Tactical/Interface Enhanced.cpp @@ -4069,9 +4069,10 @@ void InternalInitEDBTooltipRegion( OBJECTTYPE * gpItemDescObject, UINT32 guiCurr } } - if ( gGameOptions.fFoodSystem && Item[gpItemDescObject->usItem].foodtype > 0 ) + if ( UsingFoodSystem() && Item[gpItemDescObject->usItem].foodtype > 0 ) { - if (!fDrawGenIndexes) fDrawGenIndexes = ++cnt; // new index line here? + if (!fDrawGenIndexes) + fDrawGenIndexes = ++cnt; // new index line here? ////////////////////// POISONED FOOD if ( (*gpItemDescObject)[0]->data.bTemperature != 0 ) @@ -5739,7 +5740,7 @@ void DrawAdvancedStats( OBJECTTYPE * gpItemDescObject ) } } - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) { if ( ( Item[gpItemDescObject->usItem].foodtype > 0 ) || ( fComparisonMode && Item[gpComparedItemDescObject->usItem].foodtype > 0 ) ) @@ -14027,8 +14028,9 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject ) cnt++; } } + ////////////////////// FOOD - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) { UINT32 fFoodtype = Item[gpItemDescObject->usItem].foodtype; UINT32 fComparedFoodtype = 0; diff --git a/Tactical/Interface Items.cpp b/Tactical/Interface Items.cpp index 9180ccc7..089fdaaf 100644 --- a/Tactical/Interface Items.cpp +++ b/Tactical/Interface Items.cpp @@ -4015,7 +4015,7 @@ void INVRenderItem( UINT32 uiBuffer, SOLDIERTYPE * pSoldier, OBJECTTYPE *pObjec if ( OVERHEATING_MAX_TEMPERATURE > 0 ) { // Flugente: display condition of food if it can decay - if ( gGameOptions.fFoodSystem && Item[pObject->usItem].foodtype > 0 ) + if ( UsingFoodSystem() && Item[pObject->usItem].foodtype > 0 ) { FLOAT condition = (*pObject)[0]->data.bTemperature / OVERHEATING_MAX_TEMPERATURE; @@ -7318,7 +7318,7 @@ void RenderItemDescriptionBox( ) mprintf( usX, usY, pStr ); } // Flugente: display condition of food if it can decay - else if ( gGameOptions.fFoodSystem == TRUE && Item[gpItemDescObject->usItem].foodtype > 0 ) + else if ( UsingFoodSystem() && Item[gpItemDescObject->usItem].foodtype > 0 ) { if ( OVERHEATING_MAX_TEMPERATURE > 0 ) { diff --git a/Tactical/Interface Panels.cpp b/Tactical/Interface Panels.cpp index 465d0649..3eb6d402 100644 --- a/Tactical/Interface Panels.cpp +++ b/Tactical/Interface Panels.cpp @@ -2781,7 +2781,7 @@ void RenderSMPanel( BOOLEAN *pfDirty ) FindFontRightCoordinates(SM_DEX_X, SM_DEX_Y ,SM_STATS_WIDTH ,SM_STATS_HEIGHT ,sString, BLOCKFONT2, &usX, &usY); mprintf( usX, usY , sString ); - UpdateStatColor( gpSMCurrentMerc->timeChanges.uiChangeStrengthTime, (BOOLEAN)(gpSMCurrentMerc->usValueGoneUp & STRENGTH_INCREASE ? TRUE : FALSE), (BOOLEAN)(((gGameOptions.fNewTraitSystem && (gpSMCurrentMerc->ubCriticalStatDamage[DAMAGED_STAT_STRENGTH] > 0)) || (gGameOptions.fFoodSystem && gpSMCurrentMerc->usStarveDamageStrength > 0)) ? TRUE : FALSE), gpSMCurrentMerc->bExtraStrength != 0 ); // SANDRO + UpdateStatColor( gpSMCurrentMerc->timeChanges.uiChangeStrengthTime, (BOOLEAN)(gpSMCurrentMerc->usValueGoneUp & STRENGTH_INCREASE ? TRUE : FALSE), (BOOLEAN)(((gGameOptions.fNewTraitSystem && (gpSMCurrentMerc->ubCriticalStatDamage[DAMAGED_STAT_STRENGTH] > 0)) || ( UsingFoodSystem() && gpSMCurrentMerc->usStarveDamageStrength > 0)) ? TRUE : FALSE), gpSMCurrentMerc->bExtraStrength != 0 ); // SANDRO swprintf( sString, L"%2d", gpSMCurrentMerc->stats.bStrength + gpSMCurrentMerc->bExtraStrength ); FindFontRightCoordinates(SM_STR_X, SM_STR_Y ,SM_STATS_WIDTH ,SM_STATS_HEIGHT ,sString, BLOCKFONT2, &usX, &usY); @@ -2980,14 +2980,12 @@ void RenderSMPanel( BOOLEAN *pfDirty ) { GetMoraleString( gpSMCurrentMerc, pMoraleStr ); // Flugente: food info if food system is active - if ( gGameOptions.fFoodSystem && gpSMCurrentMerc->ubProfile != ROBOT && !IsVehicle(gpSMCurrentMerc) ) + if ( UsingFoodSystem() && gpSMCurrentMerc->ubProfile != ROBOT && !IsVehicle(gpSMCurrentMerc) ) { - swprintf( pStr, TacticalStr[ MERC_VITAL_STATS_WITH_FOOD_POPUPTEXT ], gpSMCurrentMerc->stats.bLife, gpSMCurrentMerc->stats.bLifeMax, gpSMCurrentMerc->bBreath, gpSMCurrentMerc->bBreathMax, pMoraleStr, (INT32)(100*(gpSMCurrentMerc->bDrinkLevel - FOOD_MIN) / FOOD_HALF_RANGE), L"%", (INT32)(100*(gpSMCurrentMerc->bFoodLevel - FOOD_MIN) / FOOD_HALF_RANGE), L"%" ); } else { - swprintf( pStr, TacticalStr[ MERC_VITAL_STATS_POPUPTEXT ], gpSMCurrentMerc->stats.bLife, gpSMCurrentMerc->stats.bLifeMax, gpSMCurrentMerc->bBreath, gpSMCurrentMerc->bBreathMax, pMoraleStr ); } @@ -3609,7 +3607,7 @@ void SMInvClickCallback( MOUSE_REGION * pRegion, INT32 iReason ) BOOLEAN fNewItem = FALSE; static BOOLEAN fRightDown = FALSE; static BOOLEAN fLeftDown = FALSE; - BOOLEAN INV_AP_COST = gGameOptions.fInventoryCostsAP; + BOOLEAN INV_AP_COST = UsingInventoryCostsAPSystem(); uiHandPos = MSYS_GetRegionUserData( pRegion, 0 ); @@ -5514,7 +5512,7 @@ void RenderTEAMPanel( BOOLEAN fDirty ) { GetMoraleString( pSoldier, pMoraleStr ); - if ( gGameOptions.fFoodSystem && pSoldier->ubProfile != ROBOT && !IsVehicle(pSoldier) ) + if ( UsingFoodSystem() && pSoldier->ubProfile != ROBOT && !IsVehicle(pSoldier) ) { swprintf( pStr, TacticalStr[ MERC_VITAL_STATS_WITH_FOOD_POPUPTEXT ], pSoldier->stats.bLife, pSoldier->stats.bLifeMax, pSoldier->bBreath, pSoldier->bBreathMax, pMoraleStr, (INT32)(100*(pSoldier->bDrinkLevel - FOOD_MIN) / FOOD_HALF_RANGE), L"%", (INT32)(100*(pSoldier->bFoodLevel - FOOD_MIN) / FOOD_HALF_RANGE), L"%" ); } diff --git a/Tactical/Interface Utils.cpp b/Tactical/Interface Utils.cpp index fa5a9d64..2bcd9910 100644 --- a/Tactical/Interface Utils.cpp +++ b/Tactical/Interface Utils.cpp @@ -430,7 +430,7 @@ void DrawItemUIBarEx( OBJECTTYPE *pObject, UINT8 ubStatus, INT16 sXPos, INT16 sY if ( ubStatus == DRAW_ITEM_TEMPERATURE ) { // the food item bar always has full size - if ( gGameOptions.fFoodSystem == TRUE && Item[pObject->usItem].foodtype > 0 ) + if ( UsingFoodSystem() && Item[pObject->usItem].foodtype > 0 ) { sValue = 100; } diff --git a/Tactical/Interface.cpp b/Tactical/Interface.cpp index 50913626..c47061ae 100644 --- a/Tactical/Interface.cpp +++ b/Tactical/Interface.cpp @@ -6610,7 +6610,7 @@ void NCTHShowMounted( SOLDIERTYPE* pSoldier, UINT16* ptrBuf, UINT32 uiPitch, INT // Flugente: check a profile for a background flag without using SOLDIERTYPE BOOLEAN HasBackgroundFlag( UINT8 usProfile, UINT64 aFlag ) { - if ( gGameOptions.fBackGround && usProfile != NO_PROFILE ) + if ( UsingBackGroundSystem() && usProfile != NO_PROFILE ) { if ( zBackground[gMercProfiles[usProfile].usBackground].uiFlags & aFlag ) return TRUE; @@ -6621,7 +6621,7 @@ BOOLEAN HasBackgroundFlag( UINT8 usProfile, UINT64 aFlag ) INT16 GetBackgroundValue( UINT8 usProfile, UINT16 aNr ) { - if ( gGameOptions.fBackGround && usProfile != NO_PROFILE ) + if ( UsingBackGroundSystem() && usProfile != NO_PROFILE ) { return zBackground[gMercProfiles[usProfile].usBackground].value[aNr]; } diff --git a/Tactical/Inventory Choosing.cpp b/Tactical/Inventory Choosing.cpp index 19af8b4b..1359d4d2 100644 --- a/Tactical/Inventory Choosing.cpp +++ b/Tactical/Inventory Choosing.cpp @@ -2327,7 +2327,7 @@ void RandomlyChooseWhichItemsAreDroppable( SOLDIERCREATE_STRUCT *pp, INT8 bSoldi //Madd //if ( gGameSettings.fOptions[TOPTION_DROP_ALL] ) // EXTERNILIZED TO THE INI INSTEAD - SANDRO -if ( gGameOptions.fEnemiesDropAllItems ) +if ( UsingEnemiesDropAllItemsSystem() ) { ENEMYAMMODROPRATE = 100; ENEMYGRENADEDROPRATE = 100; @@ -2446,7 +2446,7 @@ else //TODO: someday maybe pp->Inv[i].fFlags &= ~ITEM_REPAIRABLE; //if ( gGameSettings.fOptions[TOPTION_DROP_ALL] ) // EXTERNILIZED TO THE INI INSTEAD - SANDRO - if ( gGameOptions.fEnemiesDropAllItems ) + if ( UsingEnemiesDropAllItemsSystem() ) { // WANNE: "Drop all" should mean "Drop all" /* @@ -2488,11 +2488,9 @@ else } //if ( gGameSettings.fOptions[TOPTION_DROP_ALL] ) // EXTERNILIZED TO THE INI INSTEAD - SANDRO - if ( gGameOptions.fEnemiesDropAllItems ) + if ( UsingEnemiesDropAllItemsSystem() ) return; - - // WANNE: Randomly choose which type of items should be dropped if (gGameExternalOptions.ubEnemiesItemDrop == 0) { diff --git a/Tactical/Items.cpp b/Tactical/Items.cpp index 8a9ee2c6..720ee898 100644 --- a/Tactical/Items.cpp +++ b/Tactical/Items.cpp @@ -1275,7 +1275,7 @@ BOOLEAN ItemIsLegal( UINT16 usItemIndex, BOOLEAN fIgnoreCoolness ) return FALSE; // silversurfer: no food items if the food system is off - if ( !gGameOptions.fFoodSystem && Item[ usItemIndex ].foodtype > 0 ) + if ( !UsingFoodSystem() && Item[ usItemIndex ].foodtype > 0 ) { // Only restrict food for now. Water can be used to replenish lost energy so it is useful even without the food system. if ( Food[Item[usItemIndex].foodtype].bFoodPoints > 0 ) @@ -3063,7 +3063,7 @@ UINT16 OBJECTTYPE::GetWeightOfObjectInStack(unsigned int index) } } // account for partially eaten food - if ( gGameOptions.fFoodSystem && Item[usItem].foodtype > 0 ) + if ( UsingFoodSystem() && Item[usItem].foodtype > 0 ) weight *= (FLOAT)((*this)[index])->data.objectStatus/100.0f; } else if ( pItem->usItemClass == IC_AMMO && gGameExternalOptions.fAmmoDynamicWeight == TRUE )//Pulmu: added weight allowance for ammo not being full @@ -15366,7 +15366,7 @@ BOOL AddToRandomListFromItem( UINT16 usItem ) if ( Item[usItem].ubCoolness <= rditemmaxcoolness ) { // if item is food, not drug or canteen, and food system is off, don't add this - if ( !gGameOptions.fFoodSystem && Item[usItem].foodtype > 0 && Item[usItem].drugtype == 0 && Item[usItem].canteen == 0 ) + if ( !UsingFoodSystem() && Item[usItem].foodtype > 0 && Item[usItem].drugtype == 0 && Item[usItem].canteen == 0 ) ; else randomitemarray[itemcnt++] = usItem; diff --git a/Tactical/Morale.cpp b/Tactical/Morale.cpp index eca9a746..03c9c11b 100644 --- a/Tactical/Morale.cpp +++ b/Tactical/Morale.cpp @@ -421,7 +421,7 @@ void RefreshSoldierMorale( SOLDIERTYPE * pSoldier ) iActualMorale = iActualMorale * pSoldier->GetMoraleModifier(); // Flugente: ubMaxMorale can now be influenced by our food situation - if ( gGameOptions.fFoodSystem ) + if ( UsingFoodSystem() ) FoodMaxMoraleModifiy(pSoldier, &ubMaxMorale); // Flugente: max morale can be lowered diff --git a/Tactical/Overhead.cpp b/Tactical/Overhead.cpp index 5ea8a491..0e5e3add 100644 --- a/Tactical/Overhead.cpp +++ b/Tactical/Overhead.cpp @@ -1867,7 +1867,7 @@ BOOLEAN ExecuteOverhead( ) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // SANDRO - hack! - resolve possible pending interrupt - if(GetSoldier(&pSoldier, gusSelectedSoldier) && gGameOptions.fImprovedInterruptSystem ) + if ( GetSoldier(&pSoldier, gusSelectedSoldier) && UsingImprovedInterruptSystem() ) { if ( pSoldier->bActive ) { @@ -2858,7 +2858,7 @@ BOOLEAN HandleAtNewGridNo( SOLDIERTYPE *pSoldier, BOOLEAN *pfKeepMoving ) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // SANDRO - if pending interrupt flag was set for movement type of interupt, resolve it here - if ( gGameOptions.fImprovedInterruptSystem ) + if ( UsingImprovedInterruptSystem() ) { if ( ResolvePendingInterrupt( pSoldier, MOVEMENT_INTERRUPT ) ) { @@ -9521,7 +9521,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( ) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // SANDRO - if pending interrupt flag was set for after-shot type of interupt, try to resolve it now - if ( gGameOptions.fImprovedInterruptSystem ) + if ( UsingImprovedInterruptSystem() ) { if ( ResolvePendingInterrupt( pSoldier, AFTERSHOT_INTERRUPT ) ) { diff --git a/Tactical/Points.cpp b/Tactical/Points.cpp index 9c79f657..1a78cb1d 100644 --- a/Tactical/Points.cpp +++ b/Tactical/Points.cpp @@ -974,7 +974,7 @@ void DeductPoints( SOLDIERTYPE *pSoldier, INT16 sAPCost, INT32 iBPCost, UINT8 ub { // Flugente: if we GAIN breath points, adjust them - if we are hungry, we get fewer points back // Flugente: ubMaxMorale can now be influenced by our food situation - if ( iBPCost < 0 && gGameOptions.fFoodSystem ) + if ( iBPCost < 0 && UsingFoodSystem() ) ReduceBPRegenForHunger(pSoldier, &iBPCost); // Flugente: backgrounds @@ -1059,7 +1059,7 @@ void DeductPoints( SOLDIERTYPE *pSoldier, INT16 sAPCost, INT32 iBPCost, UINT8 ub ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // SANDRO - Interrupt counter - if( gGameOptions.fImprovedInterruptSystem && sAPCost > 0 && ubInterruptType != DISABLED_INTERRUPT ) + if( UsingImprovedInterruptSystem() && sAPCost > 0 && ubInterruptType != DISABLED_INTERRUPT ) { UINT8 ubPointsRegistered = 0; UINT16 uCnt = 0; diff --git a/Tactical/Rotting Corpses.cpp b/Tactical/Rotting Corpses.cpp index b4a32467..4b7c71a6 100644 --- a/Tactical/Rotting Corpses.cpp +++ b/Tactical/Rotting Corpses.cpp @@ -2469,13 +2469,13 @@ void ReduceAttachmentsOnGunForNonPlayerChars(SOLDIERTYPE *pSoldier, OBJECTTYPE * //Not meant for use in OAS. Assert(UsingNewAttachmentSystem()==true); - - //OBJECTTYPE * pObj = &(pSoldier->inv[ invSlot ]); - + //If this item has any attachments, is not from a player, and is overwriteable. It's also only for guns. - if((*pObj)[0]->AttachmentListSize() > 0 && pSoldier->bTeam != gbPlayerNum && !((*pObj).fFlags & OBJECT_NO_OVERWRITE) && Item[pObj->usItem].usItemClass == IC_GUN && !gGameOptions.fEnemiesDropAllItems){ + if((*pObj)[0]->AttachmentListSize() > 0 && pSoldier->bTeam != gbPlayerNum && !((*pObj).fFlags & OBJECT_NO_OVERWRITE) && Item[pObj->usItem].usItemClass == IC_GUN && !UsingEnemiesDropAllItemsSystem() ) + { UINT8 slotCount = 0; - for(std::list::iterator iter = (*pObj)[0]->attachments.begin(); iter != (*pObj)[0]->attachments.end(); ++iter, ++slotCount){ + for(std::list::iterator iter = (*pObj)[0]->attachments.begin(); iter != (*pObj)[0]->attachments.end(); ++iter, ++slotCount) + { //A few conditions under which we will not delete this attachment if(!iter->exists()) continue; diff --git a/Tactical/ShopKeeper Interface.cpp b/Tactical/ShopKeeper Interface.cpp index 5756d58d..1bbbf75d 100644 --- a/Tactical/ShopKeeper Interface.cpp +++ b/Tactical/ShopKeeper Interface.cpp @@ -3264,7 +3264,7 @@ UINT8 ubItemsNotCounted = 0; //ja25 UB pricepercentage = max( 0, 100 + (fDealerSelling ? -1 : 1) * gpSMCurrentMerc->GetBackgroundValue( BG_PERC_PRICES_GUNS ) ); // Even without backgrounds, Flo gets a discount. Read her M.E.R.C. profile to understand why - if ( !gGameOptions.fBackGround && gpSMCurrentMerc->ubProfile == FLO ) + if ( !UsingBackGroundSystem() && gpSMCurrentMerc->ubProfile == FLO ) pricepercentage = max( 0, 100 + (fDealerSelling ? -1 : 1) * FLO_DISCOUNT_PERCENTAGE ); } else if ( Item [ usItemID ].usItemClass & (IC_MAPFILTER_MELEE|IC_MAPFILTER_KIT|IC_MAPFILTER_LBE|IC_MAPFILTER_ARMOR|IC_MAPFILTER_MISC) ) diff --git a/Tactical/Soldier Ani.cpp b/Tactical/Soldier Ani.cpp index cec24adc..28a3611d 100644 --- a/Tactical/Soldier Ani.cpp +++ b/Tactical/Soldier Ani.cpp @@ -625,11 +625,10 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier ) if ( pSoldier->usAnimState == START_COWER || pSoldier->usAnimState == START_COWER_CROUCHED || pSoldier->usAnimState == START_COWER_PRONE ) { UnSetUIBusy( pSoldier->ubID ); - } - + } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // SANDRO - if pending interrupt flag was set for after-attack type of interupt, try to resolve it now - else if ( gGameOptions.fImprovedInterruptSystem ) + else if ( UsingImprovedInterruptSystem() ) { if ( ResolvePendingInterrupt( pSoldier, AFTERACTION_INTERRUPT ) ) { @@ -2286,7 +2285,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier ) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // SANDRO - if pending interrupt flag was set for before-attack type of interupt, try to resolve it now - if ( gGameOptions.fImprovedInterruptSystem ) + if ( UsingImprovedInterruptSystem() ) { if ( ResolvePendingInterrupt( pSoldier, BEFORESHOT_INTERRUPT ) ) { @@ -3021,7 +3020,7 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier ) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // SANDRO - if pending interrupt flag was set for after-attack type of interupt, try to resolve it now - if ( gGameOptions.fImprovedInterruptSystem ) + if ( UsingImprovedInterruptSystem() ) { ResolvePendingInterrupt( pSoldier, AFTERACTION_INTERRUPT ); } diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index 4f522f5f..e4a6191e 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -5009,7 +5009,7 @@ void SOLDIERTYPE::EVENT_FireSoldierWeapon( INT32 sTargetGridNo ) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // SANDRO - hack! - an interrupt pending before shot - if ( gGameOptions.fImprovedInterruptSystem ) + if ( UsingImprovedInterruptSystem() ) { if ( ResolvePendingInterrupt( this, BEFORESHOT_INTERRUPT ) ) { @@ -14451,7 +14451,7 @@ void SOLDIERTYPE::SoldierInventoryCoolDown( void ) // handle flashlight. This is necessary in this location, as we need to do this at least once per turn this->HandleFlashLights( ); - if ( !gGameExternalOptions.fWeaponOverheating && !gGameOptions.fFoodSystem ) + if ( !gGameExternalOptions.fWeaponOverheating && !UsingFoodSystem() ) return; INT8 numStacks = (INT8)this->inv.size( ); // remember inventorysize, so we don't call size() repeatedly @@ -16811,7 +16811,7 @@ void SOLDIERTYPE::SwitchWeapons( BOOLEAN fKnife, BOOLEAN fSideArm ) // execute swap if ( handCanMove == TRUE && searchitemCanMove == TRUE ) { - if ( gGameOptions.fInventoryCostsAP ) + if ( UsingInventoryCostsAPSystem() ) { UINT16 APTotalCost = 0; @@ -17243,7 +17243,7 @@ INT8 SOLDIERTYPE::GetSoldierProfileType( UINT8 usTeam ) // Flugente: do we have a specific background flag? BOOLEAN SOLDIERTYPE::HasBackgroundFlag( UINT64 aFlag ) { - if ( gGameOptions.fBackGround && this->ubProfile != NO_PROFILE ) + if ( UsingBackGroundSystem() && this->ubProfile != NO_PROFILE ) { if ( zBackground[gMercProfiles[this->ubProfile].usBackground].uiFlags & aFlag ) return TRUE; @@ -17254,7 +17254,7 @@ BOOLEAN SOLDIERTYPE::HasBackgroundFlag( UINT64 aFlag ) INT16 SOLDIERTYPE::GetBackgroundValue( UINT16 aNr ) { - if ( gGameOptions.fBackGround && this->ubProfile != NO_PROFILE ) + if ( UsingBackGroundSystem() && this->ubProfile != NO_PROFILE ) { return zBackground[gMercProfiles[this->ubProfile].usBackground].value[aNr]; } @@ -19096,7 +19096,7 @@ void SOLDIERTYPE::PrintDiseaseDesc( CHAR16* apStr, BOOLEAN fFullDesc ) void SOLDIERTYPE::PrintFoodDesc( CHAR16* apStr, BOOLEAN fFullDesc ) { - if ( !gGameOptions.fFoodSystem ) + if ( !UsingFoodSystem() ) return; // only for living mercs with a profile @@ -22735,7 +22735,7 @@ UINT8 RegainDamagedStats( SOLDIERTYPE * pSoldier, UINT16 usAmountRegainedHundred } // Flugente: Third, heal damage from starvation if possible - if ( !gGameOptions.fFoodSystem || (gGameOptions.fFoodSystem && ubAmountRegained > 0 && pSoldier->bFoodLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold && pSoldier->bDrinkLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold) ) + if ( !UsingFoodSystem() || ( ubAmountRegained > 0 && pSoldier->bFoodLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold && pSoldier->bDrinkLevel > FoodMoraleMods[FOOD_NORMAL].bThreshold) ) { // if we have a damaged stat here if ( pSoldier->usStarveDamageHealth > 0 ) diff --git a/Tactical/TeamTurns.cpp b/Tactical/TeamTurns.cpp index 2b7a9378..3696aa06 100644 --- a/Tactical/TeamTurns.cpp +++ b/Tactical/TeamTurns.cpp @@ -1058,7 +1058,7 @@ void StartInterrupt( void ) { // SANDRO - we don't use the "hidden interrupt" feature with IIS // sevenfm: all interrupts in original interrupt system start as hidden and revealed later if soldier decides something - if ( !is_networked && pTempSoldier->bTeam != OUR_TEAM && !gGameOptions.fImprovedInterruptSystem ) + if ( !is_networked && pTempSoldier->bTeam != OUR_TEAM && !UsingImprovedInterruptSystem() ) { // we're being interrupted by the computer! // we delay displaying any interrupt message until the computer does something... @@ -2045,7 +2045,7 @@ BOOLEAN InterruptDuel( SOLDIERTYPE * pSoldier, SOLDIERTYPE * pOpponent) BOOLEAN fResult = FALSE; // sevenfm: if Ctrl+D pressed - skip all player interrupts for this turn - if( !is_networked && !gGameOptions.fImprovedInterruptSystem && pSoldier->bTeam == OUR_TEAM && gTacticalStatus.ubDisablePlayerInterrupts ) + if( !is_networked && !UsingImprovedInterruptSystem() && pSoldier->bTeam == OUR_TEAM && gTacticalStatus.ubDisablePlayerInterrupts ) return FALSE; // if opponent can't currently see us and we can see them @@ -2552,7 +2552,7 @@ void ResolveInterruptsVs( SOLDIERTYPE * pSoldier, UINT8 ubInterruptType) // add this guy to everyone's interrupt queue AddToIntList(ubIntList[ubSmallestSlot],TRUE,TRUE); // SANDRO - for IIS, reset counter if we got here - if ( gGameOptions.fImprovedInterruptSystem ) + if ( UsingImprovedInterruptSystem() ) { // reset the counter MercPtrs[ ubIntList[ubSmallestSlot] ]->aiData.ubInterruptCounter[pSoldier->ubID] = 0; diff --git a/Tactical/Turn Based Input.cpp b/Tactical/Turn Based Input.cpp index cec965dd..3f3819f5 100644 --- a/Tactical/Turn Based Input.cpp +++ b/Tactical/Turn Based Input.cpp @@ -8601,16 +8601,15 @@ void HandleTacticalStoreInvItem( void ) } // calculate needed APs - if (gGameOptions.fInventoryCostsAP) + if ( UsingInventoryCostsAPSystem() ) { APTotalCost += GetInvMovementCost(&pSoldier->inv[HANDPOS], HANDPOS, ubStoreSlot ); if( !EnoughPoints( pSoldier, APTotalCost, 0, TRUE ) ) - return; - } + return; - // move item from HANDPOS to found ubStoreSlot - if (gGameOptions.fInventoryCostsAP) + // move item from HANDPOS to found ubStoreSlot DeductPoints( pSoldier, APTotalCost, 0 ); + } pSoldier->inv[HANDPOS].MoveThisObjectTo(pSoldier->inv[ubStoreSlot], 1, pSoldier); @@ -8687,7 +8686,7 @@ void HandleTacticalTakeInvItem( INT32 iType ) pSoldier->usQuickItemId = pSoldier->inv[ubItemSlot].usItem; pSoldier->ubQuickItemSlot = ubItemSlot; - if (gGameOptions.fInventoryCostsAP) + if ( UsingInventoryCostsAPSystem() ) { APTotalCost += GetInvMovementCost(&pSoldier->inv[ubItemSlot], ubItemSlot, HANDPOS); if( !EnoughPoints( pSoldier, APTotalCost, 0, TRUE ) ) @@ -8705,7 +8704,7 @@ void HandleTacticalTakeInvItem( INT32 iType ) HandleTBSwapHands(); // move item to handpos - if (gGameOptions.fInventoryCostsAP) + if ( UsingInventoryCostsAPSystem() ) DeductPoints( pSoldier, APTotalCost, 0 ); pSoldier->inv[ubItemSlot].MoveThisObjectTo(pSoldier->inv[HANDPOS], 1, pSoldier); @@ -8753,7 +8752,7 @@ void HandleTacticalDropItem( UINT8 ubSlot ) if( pSoldier->inv[ ubSlot ].exists() ) { - if (gGameOptions.fInventoryCostsAP) + if ( UsingInventoryCostsAPSystem() ) { APTotalCost += GetInvMovementCost(&pSoldier->inv[ubSlot], ubSlot, HANDPOS); APTotalCost += GetBasicAPsToPickupItem( pSoldier ); diff --git a/Tactical/opplist.cpp b/Tactical/opplist.cpp index d9ba4bf8..cb89f333 100644 --- a/Tactical/opplist.cpp +++ b/Tactical/opplist.cpp @@ -879,7 +879,7 @@ void HandleSight(SOLDIERTYPE *pSoldier, UINT8 ubSightFlags) if ((gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT) && (ubSightFlags & SIGHT_INTERRUPT) && - (!gGameOptions.fImprovedInterruptSystem || (gGameOptions.fImprovedInterruptSystem && gGameExternalOptions.fAllowInstantInterruptsOnSight) ) ) + (!UsingImprovedInterruptSystem() || gGameExternalOptions.fAllowInstantInterruptsOnSight ) ) { ResolveInterruptsVs( pSoldier, SIGHTINTERRUPT ); } @@ -7389,7 +7389,7 @@ void NoticeUnseenAttacker( SOLDIERTYPE * pAttacker, SOLDIERTYPE * pDefender, INT } } - if ( !gGameOptions.fImprovedInterruptSystem || (gGameOptions.fImprovedInterruptSystem && gGameExternalOptions.fAllowInstantInterruptsOnSight) ) + if ( !UsingImprovedInterruptSystem() || gGameExternalOptions.fAllowInstantInterruptsOnSight ) { if ( StandardInterruptConditionsMet( pDefender, pAttacker->ubID, bOldOppList ) ) { diff --git a/Utils/Animated ProgressBar.cpp b/Utils/Animated ProgressBar.cpp index c025d473..923bb72e 100644 --- a/Utils/Animated ProgressBar.cpp +++ b/Utils/Animated ProgressBar.cpp @@ -287,7 +287,7 @@ void SetNewLoadScreenHint() // still unsure how to check for these... if ( zLoadScreenHint[cnt].usFlags & (LOADSCREEN_LORE|LOADSCREEN_WEAPON|LOADSCREEN_ITEM|LOADSCREEN_KEYBIND) ) fShow = TRUE; - else if ( zLoadScreenHint[cnt].usFlags & LOADSCREEN_FOOD && gGameOptions.fFoodSystem ) + else if ( zLoadScreenHint[cnt].usFlags & LOADSCREEN_FOOD && UsingFoodSystem() ) fShow = TRUE; else if ( zLoadScreenHint[cnt].usFlags & LOADSCREEN_ZOMBIE && gGameSettings.fOptions[TOPTION_ZOMBIES] ) fShow = TRUE;