94 lines
3.5 KiB
C++
94 lines
3.5 KiB
C++
#include "stdafx.h"
|
|
#include "Resource.h"
|
|
#include "windowUtils.h"
|
|
#include "logger.h"
|
|
#include "L2Client.h"
|
|
#include "IL2Client.h"
|
|
#include "BotCfgDlg.h"
|
|
|
|
extern HINSTANCE g_hInst;
|
|
|
|
INT_PTR CALLBACK BotCfg_Party_DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
|
|
|
HWND BotCfgDlg_Party_Create( HWND hWndParent, BotConfig *pcfg )
|
|
{
|
|
return CreateDialogParam( g_hInst, MAKEINTRESOURCE(IDD_BOTCFG_PARTY),
|
|
hWndParent, BotCfg_Party_DlgProc, (LPARAM)pcfg );
|
|
}
|
|
|
|
void BotCfg_Party_init( HWND hDlg, BotConfig *cfg );
|
|
void BotCfg_Party_apply( HWND hDlg, BotConfig *cfg );
|
|
|
|
INT_PTR CALLBACK BotCfg_Party_DlgProc( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
|
|
{
|
|
switch( uMsg )
|
|
{
|
|
case WM_INITDIALOG:
|
|
{
|
|
BotConfig *cfg = (BotConfig *)lParam;
|
|
SetWindowLongPtrW( hDlg, GWLP_USERDATA, (LONG_PTR)cfg );
|
|
BotCfg_Party_init( hDlg, cfg );
|
|
} break;
|
|
case WM_COMMAND:
|
|
{
|
|
BotConfig *cfg = (BotConfig *)GetWindowLongPtrW( hDlg, GWLP_USERDATA );
|
|
int ctrlID = LOWORD(wParam);
|
|
switch( ctrlID )
|
|
{
|
|
case IDC_APPLY: BotCfg_Party_apply( hDlg, cfg ); break;
|
|
case IDC_LOAD: BotCfg_Party_init( hDlg, cfg ); break;
|
|
default: return FALSE; break;
|
|
}
|
|
} break;
|
|
default: return FALSE; break;
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
void BotCfg_Party_init( HWND hDlg, BotConfig *cfg )
|
|
{
|
|
// init loot combobox
|
|
HWND hwndCB = GetDlgItem( hDlg, IDC_CB_PARTY_LOOT );
|
|
ComboBox_ResetContent( hwndCB );
|
|
ComboBox_AddString( hwndCB, TEXT("Íàøåäøåìó") );
|
|
ComboBox_AddString( hwndCB, TEXT("Ñëó÷àéíî") );
|
|
ComboBox_AddString( hwndCB, TEXT("Ñëó÷àéíî, âêëþ÷àÿ ñïîéë") );
|
|
ComboBox_AddString( hwndCB, TEXT("Ïî î÷åðåäè") );
|
|
ComboBox_AddString( hwndCB, TEXT("Ïî î÷åðåäè, âêëþ÷àÿ ñïîéë") );
|
|
int loot = cfg->getValInt( "party_loot" );
|
|
ComboBox_SetCurSel( hwndCB, loot );
|
|
//
|
|
CheckDlgButton( hDlg, IDC_C_PARTY_AUTO_ACCEPT, cfg->getValInt( "party_auto_accept_enable" ) );
|
|
SetDlgItemTextA( hDlg, IDC_E_PARTY_AUTO_ACCEPT, cfg->getValStr( "party_auto_accept_names" ) );
|
|
CheckDlgButton( hDlg, IDC_C_PARTY_AUTO_INVITE, cfg->getValInt( "party_auto_invite_enable" ) );
|
|
SetDlgItemTextA( hDlg, IDC_E_PARTY_AUTO_INVITE, cfg->getValStr( "party_auto_invite_names" ) );
|
|
//
|
|
CheckDlgButton( hDlg, IDC_C_FOLLOW_ENABLE, cfg->getValInt( "follow_enable" ) );
|
|
SetDlgItemTextA( hDlg, IDC_E_FOLLOW_NAME, cfg->getValStr( "follow_name" ) );
|
|
SetDlgItemInt( hDlg, IDC_E_FOLLOW_DIST, cfg->getValInt( "follow_dist" ), TRUE );
|
|
//
|
|
CheckDlgButton( hDlg, IDC_C_PARTY_ASSIST, cfg->getValInt( "party_assist_enable" ) );
|
|
}
|
|
|
|
void BotCfg_Party_apply( HWND hDlg, BotConfig *cfg )
|
|
{
|
|
char atext[512] = {0};
|
|
// loot CB
|
|
HWND hwndCB = GetDlgItem( hDlg, IDC_CB_PARTY_LOOT );
|
|
cfg->setValInt( "party_loot", ComboBox_GetCurSel( hwndCB ) );
|
|
//
|
|
cfg->setValInt( "party_auto_accept_enable", IsDlgButtonChecked( hDlg, IDC_C_PARTY_AUTO_ACCEPT ) );
|
|
GetDlgItemTextA( hDlg, IDC_E_PARTY_AUTO_ACCEPT, atext, 255 );
|
|
cfg->setValStr( "party_auto_accept_names", atext );
|
|
cfg->setValInt( "party_auto_invite_enable", IsDlgButtonChecked( hDlg, IDC_C_PARTY_AUTO_INVITE ) );
|
|
GetDlgItemTextA( hDlg, IDC_E_PARTY_AUTO_INVITE, atext, 255 );
|
|
cfg->setValStr( "party_auto_invite_names", atext );
|
|
//
|
|
cfg->setValInt( "follow_enable", IsDlgButtonChecked( hDlg, IDC_C_FOLLOW_ENABLE ) );
|
|
GetDlgItemTextA( hDlg, IDC_E_FOLLOW_NAME, atext, 255 );
|
|
cfg->setValStr( "follow_name", atext );
|
|
cfg->setValInt( "follow_dist", GetDlgItemInt( hDlg, IDC_E_FOLLOW_DIST, NULL, TRUE ) );
|
|
//
|
|
cfg->setValInt( "party_assist_enable", IsDlgButtonChecked( hDlg, IDC_C_PARTY_ASSIST ) );
|
|
}
|