MFC: Fix build, still not working properly

git-svn-id: https://svn.code.sf.net/p/vbam/code/branches/bgk-link@1125 a31d4220-a93d-0410-bf67-fe4944624d44
This commit is contained in:
bgk 2012-09-09 06:53:41 +00:00
parent 7e57b3b184
commit da92526a1c
10 changed files with 79 additions and 73 deletions

View File

@ -34,7 +34,7 @@ BOOL JoybusOptions::OnInitDialog()
{ {
CDialog::OnInitDialog(); CDialog::OnInitDialog();
enable_check.SetCheck(gba_joybus_enabled ? BST_CHECKED : BST_UNCHECKED); enable_check.SetCheck(GetLinkMode() == LINK_GAMECUBE_DOLPHIN ? BST_CHECKED : BST_UNCHECKED);
hostname.EnableWindow(enable_check.GetCheck() == BST_CHECKED); hostname.EnableWindow(enable_check.GetCheck() == BST_CHECKED);
@ -57,8 +57,6 @@ void JoybusOptions::OnBnClickedOk()
return; return;
} }
gba_joybus_enabled = enable_check.GetCheck() == BST_CHECKED;
CString address; CString address;
hostname.GetWindowText(address); hostname.GetWindowText(address);
@ -72,7 +70,12 @@ void JoybusOptions::OnBnClickedOk()
} }
joybusHostAddr = new_server; joybusHostAddr = new_server;
JoyBusConnect();
if (enable_check.GetCheck() == BST_CHECKED)
{
CloseLink();
InitLink(LINK_GAMECUBE_DOLPHIN);
}
OnOK(); OnOK();
} }

View File

@ -113,7 +113,7 @@ void LinkGeneral::DoDataExchange(CDataExchange* pDX)
{ {
CDialog::DoDataExchange(pDX); CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(LinkGeneral) //{{AFX_DATA_MAP(LinkGeneral)
DDX_Radio(pDX, IDC_LINK_SINGLE, m_type); DDX_Radio(pDX, IDC_LINK_DISCONNECTED, m_type);
DDX_Control(pDX, IDC_LINKTIMEOUT, m_timeout); DDX_Control(pDX, IDC_LINKTIMEOUT, m_timeout);
//}}AFX_DATA_MAP //}}AFX_DATA_MAP
} }
@ -124,6 +124,9 @@ BEGIN_MESSAGE_MAP(LinkGeneral, CDialog)
ON_BN_CLICKED(IDC_LINK_SINGLE, OnRadio1) ON_BN_CLICKED(IDC_LINK_SINGLE, OnRadio1)
ON_BN_CLICKED(IDC_LINK_LAN, OnRadio2) ON_BN_CLICKED(IDC_LINK_LAN, OnRadio2)
//}}AFX_MSG_MAP //}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_LINK_DISCONNECTED, &LinkGeneral::OnBnClickedLinkDisconnected)
ON_BN_CLICKED(IDC_LINK_RFU, &LinkGeneral::OnBnClickedLinkRfu)
ON_BN_CLICKED(IDC_LINK_GAMECUBE, &LinkGeneral::OnBnClickedLinkGamecube)
END_MESSAGE_MAP() END_MESSAGE_MAP()
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -234,7 +237,9 @@ BOOL CMyTabCtrl::SubclassDlgItem(UINT nID, CWnd* pParent)
BOOL CMyTabCtrl::IsTabEnabled(int iTab) BOOL CMyTabCtrl::IsTabEnabled(int iTab)
{ {
if (!lanlink.active && iTab > 0) LinkGeneral *general = (LinkGeneral*)m_tabdialog[0];
if (general->m_type != LINK_CABLE_SOCKET && iTab > 0)
return false; return false;
return true; return true;
} }
@ -426,6 +431,7 @@ void CMyTabCtrl::OnSwitchTabs(void)
{ {
CRect clientRect, wndRect; CRect clientRect, wndRect;
int i; int i;
LinkGeneral *general = (LinkGeneral*)m_tabdialog[0];
GetClientRect(clientRect); GetClientRect(clientRect);
AdjustRect(FALSE, clientRect); AdjustRect(FALSE, clientRect);
@ -433,7 +439,9 @@ void CMyTabCtrl::OnSwitchTabs(void)
GetParent()->ScreenToClient(wndRect); GetParent()->ScreenToClient(wndRect);
clientRect.OffsetRect(wndRect.left, wndRect.top); clientRect.OffsetRect(wndRect.left, wndRect.top);
if(lanlink.active==0)
if (general->m_type != LINK_CABLE_SOCKET)
SetCurSel(0); SetCurSel(0);
for(i=0;i<3;i++){ for(i=0;i<3;i++){
@ -456,15 +464,13 @@ void LinkOptions::OnOk()
void LinkGeneral::OnRadio1() void LinkGeneral::OnRadio1()
{ {
m_type = 0; m_type = LINK_CABLE_IPC;
lanlink.active = 0;
GetParent()->Invalidate(); GetParent()->Invalidate();
} }
void LinkGeneral::OnRadio2() void LinkGeneral::OnRadio2()
{ {
m_type = 1; m_type = LINK_CABLE_SOCKET;
lanlink.active = 1;
GetParent()->Invalidate(); GetParent()->Invalidate();
} }
@ -474,12 +480,12 @@ BOOL LinkGeneral::OnInitDialog(){
CDialog::OnInitDialog(); CDialog::OnInitDialog();
m_type = GetLinkMode();
m_timeout.LimitText(5); m_timeout.LimitText(5);
sprintf(timeout, "%d", linktimeout); sprintf(timeout, "%d", linktimeout);
m_timeout.SetWindowText(timeout); m_timeout.SetWindowText(timeout);
m_type = lanlink.active;
UpdateData(FALSE); UpdateData(FALSE);
return TRUE; return TRUE;
@ -674,10 +680,18 @@ void LinkOptions::GetAllData(LinkGeneral *src)
src->m_timeout.GetWindowText(timeout, 5); src->m_timeout.GetWindowText(timeout, 5);
sscanf(timeout, "%d", &linktimeout); sscanf(timeout, "%d", &linktimeout);
if(src->m_type==0){ if(src->m_type == LINK_CABLE_SOCKET){
lanlink.speed = 0; lanlink.speed = 0;
} }
LinkMode oldMode = GetLinkMode();
LinkMode newMode = (LinkMode) src->m_type;
if (newMode != oldMode) {
CloseLink();
InitLink(newMode);
}
return; return;
} }
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -751,3 +765,24 @@ BOOL LinkServer::PreTranslateMessage(MSG* pMsg)
} }
#endif // NO_LINK #endif // NO_LINK
void LinkGeneral::OnBnClickedLinkDisconnected()
{
m_type = LINK_DISCONNECTED;
GetParent()->Invalidate();
}
void LinkGeneral::OnBnClickedLinkRfu()
{
m_type = LINK_RFU_IPC;
GetParent()->Invalidate();
}
void LinkGeneral::OnBnClickedLinkGamecube()
{
m_type = LINK_GAMECUBE_DOLPHIN;
GetParent()->Invalidate();
}

View File

@ -67,6 +67,10 @@ protected:
afx_msg void OnRadio2(); afx_msg void OnRadio2();
//}}AFX_MSG //}}AFX_MSG
DECLARE_MESSAGE_MAP() DECLARE_MESSAGE_MAP()
public:
afx_msg void OnBnClickedLinkDisconnected();
afx_msg void OnBnClickedLinkRfu();
afx_msg void OnBnClickedLinkGamecube();
}; };
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

View File

@ -323,10 +323,6 @@ BEGIN_MESSAGE_MAP(MainWnd, CWnd)
ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_GAMEOVERRIDES, OnUpdateOptionsEmulatorGameoverrides) ON_UPDATE_COMMAND_UI(ID_OPTIONS_EMULATOR_GAMEOVERRIDES, OnUpdateOptionsEmulatorGameoverrides)
ON_COMMAND(ID_HELP_GNUPUBLICLICENSE, OnHelpGnupubliclicense) ON_COMMAND(ID_HELP_GNUPUBLICLICENSE, OnHelpGnupubliclicense)
ON_COMMAND(ID_OPTIONS_LINK_OPTIONS, OnLinkOptions) ON_COMMAND(ID_OPTIONS_LINK_OPTIONS, OnLinkOptions)
ON_COMMAND(ID_OPTIONS_LINK_WIRELESSADAPTER, OnOptionsLinkRFU)
ON_UPDATE_COMMAND_UI(ID_OPTIONS_LINK_WIRELESSADAPTER, OnUpdateOptionsLinkRFU)
ON_COMMAND(ID_OPTIONS_LINK_ENABLE, OnOptionsLinkEnable)
ON_UPDATE_COMMAND_UI(ID_OPTIONS_LINK_ENABLE, OnUpdateOptionsLinkEnable)
ON_COMMAND(ID_OPTIONS_JOYBUS, &MainWnd::OnOptionsJoybus) ON_COMMAND(ID_OPTIONS_JOYBUS, &MainWnd::OnOptionsJoybus)
//}}AFX_MSG_MAP //}}AFX_MSG_MAP

View File

@ -330,10 +330,6 @@ protected:
afx_msg void OnOptionsSoundHardwareacceleration(); afx_msg void OnOptionsSoundHardwareacceleration();
afx_msg void OnUpdateOptionsSoundHardwareacceleration(CCmdUI *pCmdUI); afx_msg void OnUpdateOptionsSoundHardwareacceleration(CCmdUI *pCmdUI);
afx_msg void OnLinkOptions(); afx_msg void OnLinkOptions();
afx_msg void OnOptionsLinkRFU();
afx_msg void OnUpdateOptionsLinkRFU(CCmdUI* pCmdUI);
afx_msg void OnOptionsLinkEnable();
afx_msg void OnUpdateOptionsLinkEnable(CCmdUI* pCmdUI);
afx_msg void OnOptionsJoybus(); afx_msg void OnOptionsJoybus();
afx_msg void OnOutputapiDirectsound(); afx_msg void OnOutputapiDirectsound();

View File

@ -1555,30 +1555,6 @@ void MainWnd::OnLinkOptions()
dlg.DoModal(); dlg.DoModal();
} }
void MainWnd::OnOptionsLinkRFU()
{
if(rfu_enabled) rfu_enabled = false;
else {
rfu_enabled = true;
MessageBox("Please note this is the first version\nof RFU emulation code and it's not 100% bug free.\nAlso only 2 players single computer are supported at this time.", "Warning", MB_OK);
}
}
void MainWnd::OnUpdateOptionsLinkEnable(CCmdUI* pCmdUI)
{
pCmdUI->SetCheck(gba_link_enabled);
}
void MainWnd::OnOptionsLinkEnable()
{
gba_link_enabled = !gba_link_enabled;
}
void MainWnd::OnUpdateOptionsLinkRFU(CCmdUI* pCmdUI)
{
pCmdUI->SetCheck(rfu_enabled);
}
void MainWnd::OnOptionsJoybus() void MainWnd::OnOptionsJoybus()
{ {
JoybusOptions dlg; JoybusOptions dlg;
@ -1586,10 +1562,6 @@ void MainWnd::OnOptionsJoybus()
} }
#else #else
void MainWnd::OnLinkOptions() { } void MainWnd::OnLinkOptions() { }
void MainWnd::OnOptionsLinkRFU() { }
void MainWnd::OnUpdateOptionsLinkEnable(CCmdUI*) { }
void MainWnd::OnOptionsLinkEnable() { }
void MainWnd::OnUpdateOptionsLinkRFU(CCmdUI*) { }
void MainWnd::OnOptionsJoybus() { } void MainWnd::OnOptionsJoybus() { }
#endif #endif

View File

@ -115,9 +115,6 @@ void winlog(const char *msg, ...);
/* Link /* Link
---------------------*/ ---------------------*/
extern bool InitLink(void);
extern void CloseLink(void);
//extern int linkid;
extern char inifile[]; extern char inifile[];
/* ------------------- */ /* ------------------- */
#ifdef _DEBUG #ifdef _DEBUG
@ -354,7 +351,7 @@ VBA::~VBA()
regInit(winBuffer); regInit(winBuffer);
JoyBusShutdown(); CloseLink();
saveSettings(); saveSettings();
@ -449,9 +446,6 @@ BOOL VBA::InitInstance()
if(p) if(p)
*p = 0; *p = 0;
if(!InitLink())
return FALSE;
bool force = false; bool force = false;
if (m_lpCmdLine[0]) if (m_lpCmdLine[0])
@ -481,6 +475,9 @@ BOOL VBA::InitInstance()
loadSettings(); loadSettings();
if(!InitLink((LinkMode) linkMode))
return FALSE;
if(!initDisplay()) { if(!initDisplay()) {
if(videoOption >= VIDEO_320x240) { if(videoOption >= VIDEO_320x240) {
regSetDwordValue("video", VIDEO_2X); regSetDwordValue("video", VIDEO_2X);
@ -1629,16 +1626,14 @@ void VBA::loadSettings()
#ifndef NO_LINK #ifndef NO_LINK
linktimeout = regQueryDwordValue("LinkTimeout", 1000); linktimeout = regQueryDwordValue("LinkTimeout", 1000);
rfu_enabled = regQueryDwordValue("RFU", false) ? true : false; linkMode = regQueryDwordValue("LinkMode", LINK_DISCONNECTED);
gba_link_enabled = regQueryDwordValue("linkEnabled", false) ? true : false;
gba_joybus_enabled = regQueryDwordValue("joybusEnabled", false) ? true : false;
buffer = regQueryStringValue("joybusHostAddr", ""); buffer = regQueryStringValue("joybusHostAddr", "");
if(!buffer.IsEmpty()) { if(!buffer.IsEmpty()) {
joybusHostAddr = std::string(buffer); joybusHostAddr = std::string(buffer);
} }
lanlink.active = regQueryDwordValue("LAN", 0) ? true : false;
#endif #endif
Sm60FPS::bSaveMoreCPU = regQueryDwordValue("saveMoreCPU", 0); Sm60FPS::bSaveMoreCPU = regQueryDwordValue("saveMoreCPU", 0);
@ -2566,9 +2561,7 @@ void VBA::saveSettings()
#ifndef NO_LINK #ifndef NO_LINK
regSetDwordValue("LinkTimeout", linktimeout); regSetDwordValue("LinkTimeout", linktimeout);
regSetDwordValue("RFU", rfu_enabled); regSetDwordValue("LinkMode", GetLinkMode());
regSetDwordValue("linkEnabled", gba_link_enabled);
regSetDwordValue("joybusEnabled", gba_joybus_enabled);
regSetStringValue("joybusHostAddr", joybusHostAddr.ToString().c_str()); regSetStringValue("joybusHostAddr", joybusHostAddr.ToString().c_str());
#endif #endif

View File

@ -203,6 +203,8 @@ class VBA : public CWinApp
CString wndClass; CString wndClass;
int linkMode;
public: public:
VBA(); VBA();
~VBA(); ~VBA();

View File

@ -122,14 +122,17 @@ BEGIN
PUSHBUTTON "Cancel",ID_CANCEL,140,180,57,15 PUSHBUTTON "Cancel",ID_CANCEL,140,180,57,15
END END
IDD_LINKTAB1 DIALOGEX 0, 0, 184, 79 IDD_LINKTAB1 DIALOGEX 0, 0, 184, 113
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE
FONT 8, "MS Sans Serif", 0, 0, 0x1 FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN BEGIN
LTEXT "Link timeout (in milliseconds)",IDC_STATIC,17,12,92,16 CONTROL "Disconnected",IDC_LINK_DISCONNECTED,"Button",BS_AUTORADIOBUTTON | WS_GROUP,15,23,152,16
CONTROL "Cable - Single Computer",IDC_LINK_SINGLE,"Button",BS_AUTORADIOBUTTON,15,39,152,16
CONTROL "Cable - Network",IDC_LINK_LAN,"Button",BS_AUTORADIOBUTTON,15,55,154,16
CONTROL "Wireless adapter",IDC_LINK_RFU,"Button",BS_AUTORADIOBUTTON,15,71,152,16
CONTROL "GameCube",IDC_LINK_GAMECUBE,"Button",BS_AUTORADIOBUTTON,15,87,152,16
LTEXT "Link timeout (in milliseconds)",IDC_STATIC,17,12,92,12
EDITTEXT IDC_LINKTIMEOUT,116,10,53,14,ES_AUTOHSCROLL | ES_NUMBER EDITTEXT IDC_LINKTIMEOUT,116,10,53,14,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Single Computer",IDC_LINK_SINGLE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,17,27,71,16
CONTROL "Network",IDC_LINK_LAN,"Button",BS_AUTORADIOBUTTON,17,43,70,16
END END
IDD_LINKTAB2 DIALOGEX 0, 0, 210, 113 IDD_LINKTAB2 DIALOGEX 0, 0, 210, 113
@ -141,7 +144,7 @@ BEGIN
CONTROL "4",IDC_LINK4P,"Button",BS_AUTORADIOBUTTON,142,16,21,13 CONTROL "4",IDC_LINK4P,"Button",BS_AUTORADIOBUTTON,142,16,21,13
CONTROL "TCP/IP",IDC_LINKTCP,"Button",BS_AUTORADIOBUTTON | WS_GROUP,54,47,42,14 CONTROL "TCP/IP",IDC_LINKTCP,"Button",BS_AUTORADIOBUTTON | WS_GROUP,54,47,42,14
CONTROL "UDP",IDC_LINKUDP,"Button",BS_AUTORADIOBUTTON | WS_DISABLED,121,47,33,14 CONTROL "UDP",IDC_LINKUDP,"Button",BS_AUTORADIOBUTTON | WS_DISABLED,121,47,33,14
PUSHBUTTON "Start!",IDC_SERVERSTART,79,89,50,17,WS_DISABLED PUSHBUTTON "Start!",IDC_SERVERSTART,79,89,50,17
LTEXT "Select number of players:",IDC_STATIC,60,7,89,10 LTEXT "Select number of players:",IDC_STATIC,60,7,89,10
LTEXT "Select protocol:",IDC_STATIC,78,33,53,11 LTEXT "Select protocol:",IDC_STATIC,78,33,53,11
CONTROL "Speed hacks",IDC_SSPEED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,76,70,57,12 CONTROL "Speed hacks",IDC_SSPEED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,76,70,57,12
@ -154,7 +157,7 @@ BEGIN
CONTROL "TCP/IP",IDC_CLINKTCP,"Button",BS_AUTORADIOBUTTON | WS_GROUP,58,20,39,12 CONTROL "TCP/IP",IDC_CLINKTCP,"Button",BS_AUTORADIOBUTTON | WS_GROUP,58,20,39,12
CONTROL "UDP",IDC_CLINKUDP,"Button",BS_AUTORADIOBUTTON | WS_DISABLED,118,20,32,12 CONTROL "UDP",IDC_CLINKUDP,"Button",BS_AUTORADIOBUTTON | WS_DISABLED,118,20,32,12
EDITTEXT IDC_SERVERIP,84,39,79,12,ES_AUTOHSCROLL | WS_GROUP EDITTEXT IDC_SERVERIP,84,39,79,12,ES_AUTOHSCROLL | WS_GROUP
PUSHBUTTON "Connect",IDC_LINKCONNECT,75,81,59,16,WS_DISABLED PUSHBUTTON "Connect",IDC_LINKCONNECT,75,81,59,16
LTEXT "Select protocol:",IDC_STATIC,78,7,53,9 LTEXT "Select protocol:",IDC_STATIC,78,7,53,9
LTEXT "Server IP address or hostname:",IDC_STATIC,7,37,62,18 LTEXT "Server IP address or hostname:",IDC_STATIC,7,37,62,18
LTEXT "Speed hacks:",IDC_STATIC,7,64,47,10 LTEXT "Speed hacks:",IDC_STATIC,7,64,47,10
@ -1245,6 +1248,7 @@ BEGIN
IDD_LINKTAB1, DIALOG IDD_LINKTAB1, DIALOG
BEGIN BEGIN
BOTTOMMARGIN, 79
END END
IDD_LINKTAB2, DIALOG IDD_LINKTAB2, DIALOG
@ -1971,8 +1975,6 @@ BEGIN
END END
POPUP "&Link" POPUP "&Link"
BEGIN BEGIN
MENUITEM "Enable GBA Linking", ID_OPTIONS_LINK_ENABLE
MENUITEM "&Wireless Adapter", ID_OPTIONS_LINK_WIRELESSADAPTER
MENUITEM "&Options...", ID_OPTIONS_LINK_OPTIONS MENUITEM "&Options...", ID_OPTIONS_LINK_OPTIONS
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Joybus Options...", ID_OPTIONS_JOYBUS MENUITEM "&Joybus Options...", ID_OPTIONS_JOYBUS

View File

@ -823,9 +823,12 @@
#define IDC_TAB1 40305 #define IDC_TAB1 40305
#define IDC_LINK_SINGLE 40306 #define IDC_LINK_SINGLE 40306
#define IDC_LINK_TIMEOUT 40307 #define IDC_LINK_TIMEOUT 40307
#define IDC_LINK_DISCONNECTED 40307
#define IDC_LINK_LAN 40308 #define IDC_LINK_LAN 40308
#define IDC_LINK2P 40309 #define IDC_LINK2P 40309
#define IDC_LINK_RFU 40309
#define IDC_LINKTCP 40310 #define IDC_LINKTCP 40310
#define IDC_LINK_GAMECUBE 40310
#define IDC_SSPEED 40311 #define IDC_SSPEED 40311
#define IDC_SERVERSTART 40312 #define IDC_SERVERSTART 40312
#define IDC_SERVERIP 40313 #define IDC_SERVERIP 40313