mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-23 06:36:54 +00:00
218 lines
7.1 KiB
C++
218 lines
7.1 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// CONFIG.CPP
|
|
//
|
|
// Configuration Dialog
|
|
//=====================================================================================//
|
|
#include "vxconsole.h"
|
|
|
|
CHAR g_xboxTargetName[MAX_XBOXNAMELEN];
|
|
char g_localPath[MAX_PATH];
|
|
char g_targetPath[MAX_PATH];
|
|
BOOL g_clsOnConnect;
|
|
BOOL g_loadSymbolsOnConnect;
|
|
char g_xexTargetPath[MAX_PATH];
|
|
BOOL g_alwaysAutoConnect;
|
|
BOOL g_startMinimized;
|
|
char g_installPath[MAX_PATH];
|
|
BOOL g_captureDebugSpew_StartupState;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// ConfigDlg_LoadConfig
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
void ConfigDlg_LoadConfig()
|
|
{
|
|
// get our config
|
|
Sys_GetRegistryString( "xboxName", g_xboxTargetName, "", sizeof( g_xboxTargetName ) );
|
|
Sys_GetRegistryString( "localPath", g_localPath, "u:\\dev\\game", sizeof( g_localPath ) );
|
|
Sys_GetRegistryString( "targetPath", g_targetPath, "e:\\valve", sizeof( g_targetPath ) );
|
|
Sys_GetRegistryString( "installPath", g_installPath, "\\\\fileserver\\user\\xbox\\xbox_orange", sizeof( g_installPath ) );
|
|
Sys_GetRegistryInteger( "clearOnConnect", true, g_clsOnConnect );
|
|
Sys_GetRegistryInteger( "loadSymbolsOnConnect", false, g_loadSymbolsOnConnect );
|
|
Sys_GetRegistryInteger( "alwaysAutoConnect", false, g_alwaysAutoConnect );
|
|
Sys_GetRegistryInteger( "startMinimized", false, g_startMinimized );
|
|
Sys_GetRegistryInteger( "captureDebugSpew", true, g_captureDebugSpew_StartupState );
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// ConfigDlg_SaveConfig
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
void ConfigDlg_SaveConfig()
|
|
{
|
|
// save config
|
|
Sys_SetRegistryString( "xboxName", g_xboxTargetName );
|
|
Sys_SetRegistryString( "localPath", g_localPath );
|
|
Sys_SetRegistryString( "targetPath", g_targetPath );
|
|
Sys_SetRegistryString( "installPath", g_installPath );
|
|
Sys_SetRegistryInteger( "clearOnConnect", g_clsOnConnect );
|
|
Sys_SetRegistryInteger( "loadSymbolsOnConnect", g_loadSymbolsOnConnect );
|
|
Sys_SetRegistryInteger( "alwaysAutoConnect", g_alwaysAutoConnect );
|
|
Sys_SetRegistryInteger( "startMinimized", g_startMinimized );
|
|
Sys_SetRegistryInteger( "captureDebugSpew", g_captureDebugSpew_StartupState );
|
|
|
|
// update
|
|
SetMainWindowTitle();
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// ConfigDlg_Setup
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
void ConfigDlg_Setup( HWND hWnd )
|
|
{
|
|
SetDlgItemText( hWnd,IDC_CONFIG_XBOXNAME, g_xboxTargetName );
|
|
SetDlgItemText( hWnd,IDC_CONFIG_LOCALPATH, g_localPath );
|
|
SetDlgItemText( hWnd,IDC_CONFIG_TARGETPATH, g_targetPath );
|
|
SetDlgItemText( hWnd,IDC_CONFIG_INSTALLPATH, g_installPath );
|
|
|
|
EnableWindow( GetDlgItem( hWnd, IDC_CONFIG_PING ), strlen( g_xboxTargetName ) > 0 );
|
|
|
|
CheckDlgButton( hWnd, IDC_CONFIG_CLEARONCONNECT, g_clsOnConnect ? BST_CHECKED : BST_UNCHECKED );
|
|
CheckDlgButton( hWnd, IDC_CONFIG_ALWAYSAUTOCONNECT, g_alwaysAutoConnect ? BST_CHECKED : BST_UNCHECKED );
|
|
CheckDlgButton( hWnd, IDC_CONFIG_STARTMINIMIZED, g_startMinimized ? BST_CHECKED : BST_UNCHECKED );
|
|
CheckDlgButton( hWnd, IDC_CONFIG_CAPTUREDEBUGSPEW, g_captureDebugSpew_StartupState ? BST_CHECKED : BST_UNCHECKED );
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// ConfigDlg_Ping
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
BOOL ConfigDlg_Ping( HWND hwnd )
|
|
{
|
|
char xboxName[MAX_XBOXNAMELEN];
|
|
BOOL canConnect;
|
|
char* args[1];
|
|
|
|
xboxName[0] = '\0';
|
|
GetDlgItemText( hwnd, IDC_CONFIG_XBOXNAME, xboxName, MAX_XBOXNAMELEN );
|
|
|
|
// ignore ping to current connection
|
|
if ( !stricmp( g_xboxName, xboxName ) )
|
|
{
|
|
if ( g_connectedToXBox )
|
|
{
|
|
Sys_MessageBox( "Ping", "Already Connected To: '%s'", xboxName );
|
|
return true;
|
|
}
|
|
}
|
|
|
|
// terminate any current connection
|
|
lc_disconnect( 0, NULL );
|
|
|
|
// trial connect
|
|
args[0] = xboxName;
|
|
canConnect = lc_connect( 1, args );
|
|
|
|
if ( !canConnect )
|
|
Sys_MessageBox( "Ping FAILURE", "Could Not Connect To: %s", xboxName );
|
|
else
|
|
Sys_MessageBox( "Ping SUCCESS", "Connection Valid To: %s", g_xboxName );
|
|
|
|
if ( canConnect )
|
|
lc_disconnect( 0, NULL );
|
|
|
|
return canConnect;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// ConfigDlg_GetChanges
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
bool ConfigDlg_GetChanges( HWND hwnd )
|
|
{
|
|
char remotePath[MAX_PATH];
|
|
char localPath[MAX_PATH];
|
|
char targetPath[MAX_PATH];
|
|
char installPath[MAX_PATH];
|
|
char xboxName[MAX_XBOXNAMELEN];
|
|
char xexLocalPath[MAX_PATH];
|
|
char xexTargetPath[MAX_PATH];
|
|
|
|
xboxName[0] = '\0';
|
|
remotePath[0] = '\0';
|
|
localPath[0] = '\0';
|
|
targetPath[0] = '\0';
|
|
xexLocalPath[0] = '\0';
|
|
xexTargetPath[0] = '\0';
|
|
|
|
GetDlgItemText( hwnd, IDC_CONFIG_XBOXNAME, xboxName, MAX_XBOXNAMELEN );
|
|
GetDlgItemText( hwnd, IDC_CONFIG_LOCALPATH, localPath, MAX_PATH );
|
|
GetDlgItemText( hwnd, IDC_CONFIG_TARGETPATH, targetPath, MAX_PATH );
|
|
GetDlgItemText( hwnd, IDC_CONFIG_INSTALLPATH, installPath, MAX_PATH );
|
|
|
|
strcpy( g_localPath, localPath );
|
|
Sys_NormalizePath( g_localPath, true );
|
|
|
|
strcpy( g_targetPath, targetPath );
|
|
Sys_NormalizePath( g_targetPath, true );
|
|
|
|
strcpy( g_installPath, installPath );
|
|
Sys_NormalizePath( g_installPath, true );
|
|
|
|
strcpy( g_xboxTargetName, xboxName );
|
|
|
|
g_clsOnConnect = IsDlgButtonChecked( hwnd, IDC_CONFIG_CLEARONCONNECT );
|
|
g_loadSymbolsOnConnect = IsDlgButtonChecked( hwnd, IDC_CONFIG_LOADSYMBOLS );
|
|
g_alwaysAutoConnect = IsDlgButtonChecked( hwnd, IDC_CONFIG_ALWAYSAUTOCONNECT );
|
|
g_startMinimized = IsDlgButtonChecked( hwnd, IDC_CONFIG_STARTMINIMIZED );
|
|
g_captureDebugSpew_StartupState = IsDlgButtonChecked( hwnd, IDC_CONFIG_CAPTUREDEBUGSPEW );
|
|
|
|
// success
|
|
return ( true );
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// ConfigDlg_Proc
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
BOOL CALLBACK ConfigDlg_Proc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
|
|
{
|
|
switch ( message )
|
|
{
|
|
case WM_INITDIALOG:
|
|
ConfigDlg_Setup( hwnd );
|
|
return ( TRUE );
|
|
|
|
case WM_COMMAND:
|
|
switch ( LOWORD( wParam ) )
|
|
{
|
|
case IDC_CONFIG_PING:
|
|
ConfigDlg_Ping( hwnd );
|
|
break;
|
|
|
|
case IDC_CONFIG_XBOXNAME:
|
|
CHAR buff[MAX_XBOXNAMELEN];
|
|
GetDlgItemText( hwnd, IDC_CONFIG_XBOXNAME, buff, sizeof( buff ) );
|
|
EnableWindow( GetDlgItem( hwnd, IDC_CONFIG_PING ), strlen( buff ) > 0 );
|
|
break;
|
|
|
|
case IDC_OK:
|
|
if ( !ConfigDlg_GetChanges( hwnd ) )
|
|
break;
|
|
case IDCANCEL:
|
|
case IDC_CANCEL:
|
|
EndDialog( hwnd, wParam );
|
|
return ( TRUE );
|
|
}
|
|
break;
|
|
}
|
|
return ( FALSE );
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// ConfigDlg_Open
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
void ConfigDlg_Open( void )
|
|
{
|
|
int result;
|
|
|
|
result = DialogBox( g_hInstance, MAKEINTRESOURCE( IDD_CONFIG ), g_hDlgMain, ( DLGPROC )ConfigDlg_Proc );
|
|
if ( LOWORD( result ) != IDC_OK )
|
|
return;
|
|
|
|
ConfigDlg_SaveConfig();
|
|
}
|