mirror of
https://github.com/Oibaf66/frodo-wii.git
synced 2024-11-13 07:05:12 +01:00
Handle network settings in the menu
This commit is contained in:
parent
fa543ac596
commit
e65ac515f7
@ -72,7 +72,7 @@ void C64::c64_ctor1(void)
|
||||
|
||||
this->virtual_keyboard = new VirtualKeyboard(real_screen, this->menu_font);
|
||||
|
||||
strncpy(this->server_hostname, "localhost",
|
||||
strncpy(this->server_hostname, "c64-network.game-host.org",
|
||||
sizeof(this->server_hostname));
|
||||
this->server_port = 46214;
|
||||
this->network_connection_type = NONE;
|
||||
@ -308,30 +308,42 @@ void C64::networking_menu(Prefs *np)
|
||||
|
||||
do
|
||||
{
|
||||
char buf[2][255];
|
||||
char buf[3][255];
|
||||
const char *network_client_messages[] = {
|
||||
"Listen for connections",/* 0 */
|
||||
buf[0], /* 1 */
|
||||
buf[1], /* 2 */
|
||||
"Connect to remote", /* 3 */
|
||||
buf[0], /* 0 */
|
||||
buf[1], /* 1 */
|
||||
buf[2], /* 2 */
|
||||
"Connect as server", /* 3 */
|
||||
"Connect as client", /* 4 */
|
||||
NULL,
|
||||
};
|
||||
|
||||
snprintf(buf[0], 255, "Remote hostname (now %s)",
|
||||
snprintf(buf[0], 255, "Set username (%s)",
|
||||
np->NetworkName);
|
||||
snprintf(buf[1], 255, "Server hostname (%s)",
|
||||
this->server_hostname);
|
||||
snprintf(buf[1], 255, "Port (now %d)",
|
||||
snprintf(buf[2], 255, "Port (%d)",
|
||||
this->server_port);
|
||||
opt = menu_select(network_client_messages, NULL);
|
||||
|
||||
if (opt == 1 || opt == 2)
|
||||
if (opt >= 0 && opt <= 2)
|
||||
{
|
||||
const char *m = this->virtual_keyboard->get_string();
|
||||
|
||||
if (m && opt == 1)
|
||||
strncpy(this->server_hostname, m,
|
||||
sizeof(this->server_hostname));
|
||||
if (m && opt == 2)
|
||||
this->server_port = atoi(m);
|
||||
if (m)
|
||||
{
|
||||
if (opt == 0)
|
||||
{
|
||||
memset(np->NetworkName, 0,
|
||||
sizeof(np->NetworkName));
|
||||
strncpy(np->NetworkName, m,
|
||||
sizeof(np->NetworkName));
|
||||
} else if (opt == 1)
|
||||
strncpy(this->server_hostname, m,
|
||||
sizeof(this->server_hostname));
|
||||
if (opt == 2)
|
||||
this->server_port = atoi(m);
|
||||
}
|
||||
}
|
||||
else if (opt == 0) {
|
||||
this->peer = new Network(this->server_hostname,
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "sysdeps.h"
|
||||
#include "Network.h"
|
||||
#include "Display.h"
|
||||
#include "Prefs.h"
|
||||
#include "menu.h"
|
||||
|
||||
#define N_SQUARES_W 16
|
||||
@ -753,7 +754,7 @@ bool Network::ConnectToBroker()
|
||||
|
||||
pi->is_master = this->is_master;
|
||||
pi->key = random() % 0xffff;
|
||||
strcpy((char*)pi->name, "Mr vobb");
|
||||
strcpy((char*)pi->name, ThePrefs.NetworkName);
|
||||
this->AddNetworkUpdate(ud);
|
||||
out = this->SendUpdate();
|
||||
this->ResetNetworkUpdate();
|
||||
|
@ -102,6 +102,8 @@ Prefs::Prefs()
|
||||
this->DisplayOption = 0;
|
||||
this->MsPerFrame = 28;
|
||||
#endif
|
||||
this->NetworkKey = random() % 0xffff;
|
||||
snprintf(this->NetworkName, 32, "Unset.%d", this->NetworkKey);
|
||||
}
|
||||
|
||||
|
||||
@ -178,6 +180,8 @@ bool Prefs::operator==(const Prefs &rhs) const
|
||||
&& this->DisplayOption == rhs.DisplayOption
|
||||
&& this->MsPerFrame == rhs.MsPerFrame
|
||||
#endif
|
||||
&& this->NetworkKey == rhs.NetworkKey
|
||||
&& strcmp(this->NetworkName, rhs.NetworkName) == 0
|
||||
);
|
||||
}
|
||||
|
||||
@ -359,6 +363,10 @@ void Prefs::Load(char *filename)
|
||||
DisplayOption = atoi(value);
|
||||
else if (!strcmp(keyword, "MsPerFrame"))
|
||||
MsPerFrame = atoi(value);
|
||||
else if (!strcmp(keyword, "NetworkKey"))
|
||||
NetworkKey = atoi(value);
|
||||
else if (!strcmp(keyword, "NetworkName"))
|
||||
strcpy(NetworkName, value);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@ -450,6 +458,8 @@ bool Prefs::Save(char *filename)
|
||||
|
||||
fprintf(file, "DisplayOption = %d\n", DisplayOption);
|
||||
fprintf(file, "MsPerFrame = %d\n", MsPerFrame);
|
||||
fprintf(file, "NetworkKey = %d\n", NetworkKey);
|
||||
fprintf(file, "NetworkName = %s\n", NetworkName);
|
||||
#endif
|
||||
fclose(file);
|
||||
ThePrefsOnDisk = *this;
|
||||
|
@ -153,6 +153,8 @@ private:
|
||||
int DisplayOption;
|
||||
uint32 MsPerFrame;
|
||||
#endif
|
||||
char NetworkName[32];
|
||||
int NetworkKey;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user