GameExecutable: Cleanup. Make some extern functions and variables static.

This commit is contained in:
zcaliptium 2016-03-31 21:58:50 +03:00
parent 3aa14342b3
commit 7972586d1d
3 changed files with 94 additions and 82 deletions

View File

@ -44,6 +44,9 @@ void CConfirmMenu::Initialize_t(void)
gm_mgConfirmNo.mg_pmgRight = &gm_mgConfirmYes; gm_mgConfirmNo.mg_pmgRight = &gm_mgConfirmYes;
gm_mgConfirmNo.mg_iCenterI = -1; gm_mgConfirmNo.mg_iCenterI = -1;
gm_mgConfirmNo.mg_bfsFontSize = BFS_LARGE; gm_mgConfirmNo.mg_bfsFontSize = BFS_LARGE;
_pConfimedYes = NULL;
_pConfimedNo = NULL;
} }
void CConfirmMenu::BeLarge(void) void CConfirmMenu::BeLarge(void)

View File

@ -28,6 +28,9 @@ public:
CMGButton gm_mgConfirmYes; CMGButton gm_mgConfirmYes;
CMGButton gm_mgConfirmNo; CMGButton gm_mgConfirmNo;
void(*_pConfimedYes)(void) = NULL;
void(*_pConfimedNo)(void) = NULL;
void Initialize_t(void); void Initialize_t(void);
// return TRUE if handled // return TRUE if handled
BOOL OnKeyDown(int iVKey); BOOL OnKeyDown(int iVKey);

View File

@ -22,26 +22,23 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "LevelInfo.h" #include "LevelInfo.h"
#include "VarList.h" #include "VarList.h"
#define VOLUME_STEPS 50 ENGINE_API extern INDEX snd_iFormat;
extern BOOL _bMouseUsedLast;
extern CMenuGadget *_pmgLastActivatedGadget; extern CMenuGadget *_pmgLastActivatedGadget;
extern CMenuGadget *_pmgUnderCursor; extern CMenuGadget *_pmgUnderCursor;
// functions to activate when user chose 'yes/no' on confirmation static INDEX _ctAdapters = 0;
void(*_pConfimedYes)(void) = NULL; static CTString * _astrAdapterTexts = NULL;
void(*_pConfimedNo)(void) = NULL; static INDEX _ctResolutions = 0;
static CTString * _astrResolutionTexts = NULL;
static CDisplayMode *_admResolutionModes = NULL;
INDEX _ctAdapters = 0; #define VOLUME_STEPS 50
CTString * _astrAdapterTexts = NULL;
INDEX _ctResolutions = 0;
CTString * _astrResolutionTexts = NULL;
CDisplayMode *_admResolutionModes = NULL;
extern BOOL _bMouseUsedLast;
ENGINE_API extern INDEX snd_iFormat;
// make description for a given resolution // make description for a given resolution
CTString GetResolutionDescription(CDisplayMode &dm) static CTString GetResolutionDescription(CDisplayMode &dm)
{ {
CTString str; CTString str;
// if dual head // if dual head
@ -58,7 +55,7 @@ CTString GetResolutionDescription(CDisplayMode &dm)
} }
// make description for a given resolution // make description for a given resolution
void SetResolutionInList(INDEX iRes, PIX pixSizeI, PIX pixSizeJ) static void SetResolutionInList(INDEX iRes, PIX pixSizeI, PIX pixSizeJ)
{ {
ASSERT(iRes >= 0 && iRes<_ctResolutions); ASSERT(iRes >= 0 && iRes<_ctResolutions);
@ -103,25 +100,25 @@ CTFileName _fnmModSelected;
CTString _strModURLSelected; CTString _strModURLSelected;
CTString _strModServerSelected; CTString _strModServerSelected;
void ExitGame(void) static void ExitGame(void)
{ {
_bRunning = FALSE; _bRunning = FALSE;
_bQuitScreen = TRUE; _bQuitScreen = TRUE;
} }
void ExitConfirm(void) static void ExitConfirm(void)
{ {
CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu; CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu;
_pConfimedYes = &ExitGame; gmCurrent._pConfimedYes = &ExitGame;
_pConfimedNo = NULL; gmCurrent._pConfimedNo = NULL;
gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("ARE YOU SERIOUS?"); gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("ARE YOU SERIOUS?");
gmCurrent.gm_pgmParentMenu = pgmCurrentMenu; gmCurrent.gm_pgmParentMenu = pgmCurrentMenu;
gmCurrent.BeLarge(); gmCurrent.BeLarge();
ChangeToMenu(&gmCurrent); ChangeToMenu(&gmCurrent);
} }
void StopCurrentGame(void) static void StopCurrentGame(void)
{ {
_pGame->StopGame(); _pGame->StopGame();
_gmRunningGameMode = GM_NONE; _gmRunningGameMode = GM_NONE;
@ -129,25 +126,25 @@ void StopCurrentGame(void)
StartMenus(""); StartMenus("");
} }
void StopConfirm(void) static void StopConfirm(void)
{ {
CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu; CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu;
_pConfimedYes = &StopCurrentGame; gmCurrent._pConfimedYes = &StopCurrentGame;
_pConfimedNo = NULL; gmCurrent._pConfimedNo = NULL;
gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("ARE YOU SERIOUS?"); gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("ARE YOU SERIOUS?");
gmCurrent.gm_pgmParentMenu = pgmCurrentMenu; gmCurrent.gm_pgmParentMenu = pgmCurrentMenu;
gmCurrent.BeLarge(); gmCurrent.BeLarge();
ChangeToMenu(&gmCurrent); ChangeToMenu(&gmCurrent);
} }
void ModLoadYes(void) static void ModLoadYes(void)
{ {
extern CTFileName _fnmModToLoad; extern CTFileName _fnmModToLoad;
_fnmModToLoad = _fnmModSelected; _fnmModToLoad = _fnmModSelected;
} }
void ModConnect(void) static void ModConnect(void)
{ {
extern CTFileName _fnmModToLoad; extern CTFileName _fnmModToLoad;
extern CTString _strModServerJoin; extern CTString _strModServerJoin;
@ -162,6 +159,7 @@ extern void ModConnectConfirm(void)
if (_fnmModSelected == " ") { if (_fnmModSelected == " ") {
_fnmModSelected = CTString("SeriousSam"); _fnmModSelected = CTString("SeriousSam");
} }
CTFileName fnmModPath = "Mods\\" + _fnmModSelected + "\\"; CTFileName fnmModPath = "Mods\\" + _fnmModSelected + "\\";
if (!FileExists(fnmModPath + "BaseWriteInclude.lst") if (!FileExists(fnmModPath + "BaseWriteInclude.lst")
&& !FileExists(fnmModPath + "BaseWriteExclude.lst") && !FileExists(fnmModPath + "BaseWriteExclude.lst")
@ -173,8 +171,8 @@ extern void ModConnectConfirm(void)
} }
CPrintF(TRANS("Server is running a different MOD (%s).\nYou need to reload to connect.\n"), _fnmModSelected); CPrintF(TRANS("Server is running a different MOD (%s).\nYou need to reload to connect.\n"), _fnmModSelected);
_pConfimedYes = &ModConnect; gmCurrent._pConfimedYes = &ModConnect;
_pConfimedNo = NULL; gmCurrent._pConfimedNo = NULL;
gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("CHANGE THE MOD?"); gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("CHANGE THE MOD?");
gmCurrent.gm_pgmParentMenu = pgmCurrentMenu; gmCurrent.gm_pgmParentMenu = pgmCurrentMenu;
gmCurrent.BeLarge(); gmCurrent.BeLarge();
@ -186,8 +184,8 @@ void SaveConfirm(void)
CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu; CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu;
extern void OnFileSaveOK(void); extern void OnFileSaveOK(void);
_pConfimedYes = &OnFileSaveOK; gmCurrent._pConfimedYes = &OnFileSaveOK;
_pConfimedNo = NULL; gmCurrent._pConfimedNo = NULL;
gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("OVERWRITE?"); gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("OVERWRITE?");
gmCurrent.gm_pgmParentMenu = pgmCurrentMenu; gmCurrent.gm_pgmParentMenu = pgmCurrentMenu;
gmCurrent.BeLarge(); gmCurrent.BeLarge();
@ -206,8 +204,8 @@ void ModNotInstalled(void)
{ {
CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu; CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu;
_pConfimedYes = &ExitAndSpawnExplorer; gmCurrent._pConfimedYes = &ExitAndSpawnExplorer;
_pConfimedNo = NULL; gmCurrent._pConfimedNo = NULL;
gmCurrent.gm_mgConfirmLabel.mg_strText.PrintF( gmCurrent.gm_mgConfirmLabel.mg_strText.PrintF(
TRANS("You don't have MOD '%s' installed.\nDo you want to visit its web site?"), (const char*)_fnmModSelected); TRANS("You don't have MOD '%s' installed.\nDo you want to visit its web site?"), (const char*)_fnmModSelected);
gmCurrent.gm_pgmParentMenu = pgmCurrentMenu; gmCurrent.gm_pgmParentMenu = pgmCurrentMenu;
@ -220,14 +218,16 @@ extern void ModConfirm(void)
{ {
CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu; CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu;
_pConfimedYes = &ModLoadYes; gmCurrent._pConfimedYes = &ModLoadYes;
_pConfimedNo = NULL; gmCurrent._pConfimedNo = NULL;
gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("LOAD THIS MOD?"); gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("LOAD THIS MOD?");
gmCurrent.gm_pgmParentMenu = &_pGUIM->gmLoadSaveMenu; gmCurrent.gm_pgmParentMenu = &_pGUIM->gmLoadSaveMenu;
gmCurrent.BeLarge(); gmCurrent.BeLarge();
ChangeToMenu(&gmCurrent); ChangeToMenu(&gmCurrent);
} }
static void RevertVideoSettings(void);
void VideoConfirm(void) void VideoConfirm(void)
{ {
CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu; CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu;
@ -237,9 +237,8 @@ void VideoConfirm(void)
_bMouseUsedLast = FALSE; _bMouseUsedLast = FALSE;
_pmgUnderCursor = gmCurrent.gm_pmgSelectedByDefault; _pmgUnderCursor = gmCurrent.gm_pmgSelectedByDefault;
_pConfimedYes = NULL; gmCurrent._pConfimedYes = NULL;
void RevertVideoSettings(void); gmCurrent._pConfimedNo = RevertVideoSettings;
_pConfimedNo = RevertVideoSettings;
gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("KEEP THIS SETTING?"); gmCurrent.gm_mgConfirmLabel.mg_strText = TRANS("KEEP THIS SETTING?");
gmCurrent.gm_pgmParentMenu = pgmCurrentMenu; gmCurrent.gm_pgmParentMenu = pgmCurrentMenu;
@ -247,19 +246,23 @@ void VideoConfirm(void)
ChangeToMenu(&gmCurrent); ChangeToMenu(&gmCurrent);
} }
void ConfirmYes(void) static void ConfirmYes(void)
{ {
if (_pConfimedYes != NULL) { CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu;
_pConfimedYes();
if (gmCurrent._pConfimedYes != NULL) {
gmCurrent._pConfimedYes();
} }
void MenuGoToParent(void); void MenuGoToParent(void);
MenuGoToParent(); MenuGoToParent();
} }
void ConfirmNo(void) static void ConfirmNo(void)
{ {
if (_pConfimedNo != NULL) { CConfirmMenu &gmCurrent = _pGUIM->gmConfirmMenu;
_pConfimedNo();
if (gmCurrent._pConfimedNo != NULL) {
gmCurrent._pConfimedNo();
} }
void MenuGoToParent(void); void MenuGoToParent(void);
MenuGoToParent(); MenuGoToParent();
@ -288,13 +291,13 @@ void InitActionsForMainMenu() {
// ------------------------ CInGameMenu implementation // ------------------------ CInGameMenu implementation
// start load/save menus depending on type of game running // start load/save menus depending on type of game running
void QuickSaveFromMenu() static void QuickSaveFromMenu()
{ {
_pShell->SetINDEX("gam_bQuickSave", 2); // force save with reporting _pShell->SetINDEX("gam_bQuickSave", 2); // force save with reporting
StopMenus(TRUE); StopMenus(TRUE);
} }
void StopRecordingDemo(void) static void StopRecordingDemo(void)
{ {
_pNetwork->StopDemoRec(); _pNetwork->StopDemoRec();
void SetDemoStartStopRecText(void); void SetDemoStartStopRecText(void);
@ -333,19 +336,20 @@ extern void SetDemoStartStopRecText(void)
// ------------------------ CSinglePlayerMenu implementation // ------------------------ CSinglePlayerMenu implementation
void StartSinglePlayerGame_Normal(void); extern CTString sam_strTechTestLevel;
void StartTechTest(void) extern CTString sam_strTrainingLevel;
static void StartSinglePlayerGame_Normal(void);
static void StartTechTest(void)
{ {
_pGUIM->gmSinglePlayerNewMenu.gm_pgmParentMenu = &_pGUIM->gmSinglePlayerMenu; _pGUIM->gmSinglePlayerNewMenu.gm_pgmParentMenu = &_pGUIM->gmSinglePlayerMenu;
extern CTString sam_strTechTestLevel;
_pGame->gam_strCustomLevel = sam_strTechTestLevel; _pGame->gam_strCustomLevel = sam_strTechTestLevel;
StartSinglePlayerGame_Normal(); StartSinglePlayerGame_Normal();
} }
void StartTraining(void) static void StartTraining(void)
{ {
_pGUIM->gmSinglePlayerNewMenu.gm_pgmParentMenu = &_pGUIM->gmSinglePlayerMenu; _pGUIM->gmSinglePlayerNewMenu.gm_pgmParentMenu = &_pGUIM->gmSinglePlayerMenu;
extern CTString sam_strTrainingLevel;
_pGame->gam_strCustomLevel = sam_strTrainingLevel; _pGame->gam_strCustomLevel = sam_strTrainingLevel;
ChangeToMenu(&_pGUIM->gmSinglePlayerNewMenu); ChangeToMenu(&_pGUIM->gmSinglePlayerNewMenu);
} }
@ -387,42 +391,42 @@ void StartSinglePlayerGame(void)
} }
} }
void StartSinglePlayerGame_Tourist(void) static void StartSinglePlayerGame_Tourist(void)
{ {
_pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_TOURIST); _pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_TOURIST);
_pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE); _pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE);
StartSinglePlayerGame(); StartSinglePlayerGame();
} }
void StartSinglePlayerGame_Easy(void) static void StartSinglePlayerGame_Easy(void)
{ {
_pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_EASY); _pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_EASY);
_pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE); _pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE);
StartSinglePlayerGame(); StartSinglePlayerGame();
} }
void StartSinglePlayerGame_Normal(void) static void StartSinglePlayerGame_Normal(void)
{ {
_pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_NORMAL); _pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_NORMAL);
_pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE); _pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE);
StartSinglePlayerGame(); StartSinglePlayerGame();
} }
void StartSinglePlayerGame_Hard(void) static void StartSinglePlayerGame_Hard(void)
{ {
_pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_HARD); _pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_HARD);
_pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE); _pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE);
StartSinglePlayerGame(); StartSinglePlayerGame();
} }
void StartSinglePlayerGame_Serious(void) static void StartSinglePlayerGame_Serious(void)
{ {
_pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_EXTREME); _pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_EXTREME);
_pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE); _pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE);
StartSinglePlayerGame(); StartSinglePlayerGame();
} }
void StartSinglePlayerGame_Mental(void) static void StartSinglePlayerGame_Mental(void)
{ {
_pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_EXTREME + 1); _pShell->SetINDEX("gam_iStartDifficulty", CSessionProperties::GD_EXTREME + 1);
_pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE); _pShell->SetINDEX("gam_iStartMode", CSessionProperties::GM_COOPERATIVE);
@ -441,21 +445,21 @@ void InitActionsForSinglePlayerNewMenu() {
} }
// ------------------------ CPlayerProfileMenu implementation // ------------------------ CPlayerProfileMenu implementation
void ChangeCrosshair(INDEX iNew) static void ChangeCrosshair(INDEX iNew)
{ {
INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer; INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer;
CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance; CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance;
pps->ps_iCrossHairType = iNew - 1; pps->ps_iCrossHairType = iNew - 1;
} }
void ChangeWeaponSelect(INDEX iNew) static void ChangeWeaponSelect(INDEX iNew)
{ {
INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer; INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer;
CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance; CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance;
pps->ps_iWeaponAutoSelect = iNew; pps->ps_iWeaponAutoSelect = iNew;
} }
void ChangeWeaponHide(INDEX iNew) static void ChangeWeaponHide(INDEX iNew)
{ {
INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer; INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer;
CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance; CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance;
@ -466,7 +470,7 @@ void ChangeWeaponHide(INDEX iNew)
} }
} }
void Change3rdPerson(INDEX iNew) static void Change3rdPerson(INDEX iNew)
{ {
INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer; INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer;
CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance; CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance;
@ -477,7 +481,7 @@ void Change3rdPerson(INDEX iNew)
} }
} }
void ChangeQuotes(INDEX iNew) static void ChangeQuotes(INDEX iNew)
{ {
INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer; INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer;
CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance; CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance;
@ -488,7 +492,7 @@ void ChangeQuotes(INDEX iNew)
} }
} }
void ChangeAutoSave(INDEX iNew) static void ChangeAutoSave(INDEX iNew)
{ {
INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer; INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer;
CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance; CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance;
@ -499,7 +503,7 @@ void ChangeAutoSave(INDEX iNew)
} }
} }
void ChangeCompDoubleClick(INDEX iNew) static void ChangeCompDoubleClick(INDEX iNew)
{ {
INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer; INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer;
CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance; CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance;
@ -510,7 +514,7 @@ void ChangeCompDoubleClick(INDEX iNew)
} }
} }
void ChangeViewBobbing(INDEX iNew) static void ChangeViewBobbing(INDEX iNew)
{ {
INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer; INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer;
CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance; CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance;
@ -521,7 +525,7 @@ void ChangeViewBobbing(INDEX iNew)
} }
} }
void ChangeSharpTurning(INDEX iNew) static void ChangeSharpTurning(INDEX iNew)
{ {
INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer; INDEX iPlayer = *_pGUIM->gmPlayerProfile.gm_piCurrentPlayer;
CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance; CPlayerSettings *pps = (CPlayerSettings *)_pGame->gm_apcPlayers[iPlayer].pc_aubAppearance;
@ -767,7 +771,7 @@ extern void InitVideoOptionsButtons(void)
gmCurrent.gm_mgBitsPerPixelTrigger.ApplyCurrentSelection(); gmCurrent.gm_mgBitsPerPixelTrigger.ApplyCurrentSelection();
} }
void ApplyVideoOptions(void) static void ApplyVideoOptions(void)
{ {
CVideoOptionsMenu &gmCurrent = _pGUIM->gmVideoOptionsMenu; CVideoOptionsMenu &gmCurrent = _pGUIM->gmVideoOptionsMenu;
@ -810,7 +814,7 @@ void ApplyVideoOptions(void)
if (bFullScreenMode) VideoConfirm(); if (bFullScreenMode) VideoConfirm();
} }
void RevertVideoSettings(void) static void RevertVideoSettings(void)
{ {
// restore previous variables // restore previous variables
sam_bFullScreenActive = sam_old_bFullScreenActive; sam_bFullScreenActive = sam_old_bFullScreenActive;
@ -876,7 +880,7 @@ extern void RefreshSoundFormat(void)
gmCurrent.gm_mgFrequencyTrigger.ApplyCurrentSelection(); gmCurrent.gm_mgFrequencyTrigger.ApplyCurrentSelection();
} }
void ApplyAudioOptions(void) static void ApplyAudioOptions(void)
{ {
CAudioOptionsMenu &gmCurrent = _pGUIM->gmAudioOptionsMenu; CAudioOptionsMenu &gmCurrent = _pGUIM->gmAudioOptionsMenu;
@ -905,7 +909,7 @@ static void OnWaveVolumeChange(INDEX iCurPos)
_pShell->SetFLOAT("snd_fSoundVolume", iCurPos / FLOAT(VOLUME_STEPS)); _pShell->SetFLOAT("snd_fSoundVolume", iCurPos / FLOAT(VOLUME_STEPS));
} }
void WaveSliderChange(void) static void WaveSliderChange(void)
{ {
CAudioOptionsMenu &gmCurrent = _pGUIM->gmAudioOptionsMenu; CAudioOptionsMenu &gmCurrent = _pGUIM->gmAudioOptionsMenu;
@ -913,7 +917,7 @@ void WaveSliderChange(void)
gmCurrent.gm_mgWaveVolume.ApplyCurrentPosition(); gmCurrent.gm_mgWaveVolume.ApplyCurrentPosition();
} }
void FrequencyTriggerChange(INDEX iDummy) static void FrequencyTriggerChange(INDEX iDummy)
{ {
CAudioOptionsMenu &gmCurrent = _pGUIM->gmAudioOptionsMenu; CAudioOptionsMenu &gmCurrent = _pGUIM->gmAudioOptionsMenu;
@ -922,7 +926,7 @@ void FrequencyTriggerChange(INDEX iDummy)
gmCurrent.gm_mgAudioAutoTrigger.ApplyCurrentSelection(); gmCurrent.gm_mgAudioAutoTrigger.ApplyCurrentSelection();
} }
void MPEGSliderChange(void) static void MPEGSliderChange(void)
{ {
CAudioOptionsMenu &gmCurrent = _pGUIM->gmAudioOptionsMenu; CAudioOptionsMenu &gmCurrent = _pGUIM->gmAudioOptionsMenu;
@ -948,7 +952,7 @@ void InitActionsForAudioOptionsMenu()
} }
// ------------------------ CVarMenu implementation // ------------------------ CVarMenu implementation
void VarApply(void) static void VarApply(void)
{ {
CVarMenu &gmCurrent = _pGUIM->gmVarMenu; CVarMenu &gmCurrent = _pGUIM->gmVarMenu;
@ -966,7 +970,7 @@ void InitActionsForVarMenu() {
extern CMGButton mgServerColumn[7]; extern CMGButton mgServerColumn[7];
extern CMGEdit mgServerFilter[7]; extern CMGEdit mgServerFilter[7];
void SortByColumn(int i) static void SortByColumn(int i)
{ {
CServersMenu &gmCurrent = _pGUIM->gmServersMenu; CServersMenu &gmCurrent = _pGUIM->gmServersMenu;
@ -978,13 +982,13 @@ void SortByColumn(int i)
gmCurrent.gm_mgList.mg_iSort = i; gmCurrent.gm_mgList.mg_iSort = i;
} }
void SortByServer(void) { SortByColumn(0); } static void SortByServer(void) { SortByColumn(0); }
void SortByMap(void) { SortByColumn(1); } static void SortByMap(void) { SortByColumn(1); }
void SortByPing(void) { SortByColumn(2); } static void SortByPing(void) { SortByColumn(2); }
void SortByPlayers(void){ SortByColumn(3); } static void SortByPlayers(void){ SortByColumn(3); }
void SortByGame(void) { SortByColumn(4); } static void SortByGame(void) { SortByColumn(4); }
void SortByMod(void) { SortByColumn(5); } static void SortByMod(void) { SortByColumn(5); }
void SortByVer(void) { SortByColumn(6); } static void SortByVer(void) { SortByColumn(6); }
extern void RefreshServerList(void) extern void RefreshServerList(void)
{ {
@ -1039,13 +1043,15 @@ extern void UpdateNetworkLevel(INDEX iDummy)
void InitActionsForNetworkStartMenu() void InitActionsForNetworkStartMenu()
{ {
_pGUIM->gmNetworkStartMenu.gm_mgLevel.mg_pActivatedFunction = &StartSelectLevelFromNetwork; CNetworkStartMenu &gmCurrent = _pGUIM->gmNetworkStartMenu;
_pGUIM->gmNetworkStartMenu.gm_mgGameOptions.mg_pActivatedFunction = &StartGameOptionsFromNetwork;
_pGUIM->gmNetworkStartMenu.gm_mgStart.mg_pActivatedFunction = &StartSelectPlayersMenuFromNetwork; gmCurrent.gm_mgLevel.mg_pActivatedFunction = &StartSelectLevelFromNetwork;
gmCurrent.gm_mgGameOptions.mg_pActivatedFunction = &StartGameOptionsFromNetwork;
gmCurrent.gm_mgStart.mg_pActivatedFunction = &StartSelectPlayersMenuFromNetwork;
} }
// ------------------------ CSelectPlayersMenu implementation // ------------------------ CSelectPlayersMenu implementation
INDEX FindUnusedPlayer(void) static INDEX FindUnusedPlayer(void)
{ {
INDEX *ai = _pGame->gm_aiMenuLocalPlayers; INDEX *ai = _pGame->gm_aiMenuLocalPlayers;
INDEX iPlayer = 0; INDEX iPlayer = 0;
@ -1216,7 +1222,7 @@ extern void SelectPlayersApplyMenu(void)
_pGame->gm_MenuSplitScreenCfg = (enum CGame::SplitScreenCfg) gmCurrent.gm_mgSplitScreenCfg.mg_iSelected; _pGame->gm_MenuSplitScreenCfg = (enum CGame::SplitScreenCfg) gmCurrent.gm_mgSplitScreenCfg.mg_iSelected;
} }
void UpdateSelectPlayers(INDEX i) static void UpdateSelectPlayers(INDEX i)
{ {
SelectPlayersApplyMenu(); SelectPlayersApplyMenu();
SelectPlayersFillMenu(); SelectPlayersFillMenu();