diff --git a/SourceX/DiabloUI/selgame.cpp b/SourceX/DiabloUI/selgame.cpp index 8547d6a5b..fcb7fcace 100644 --- a/SourceX/DiabloUI/selgame.cpp +++ b/SourceX/DiabloUI/selgame.cpp @@ -2,7 +2,7 @@ #include "selgame.h" char selgame_Lable[32]; -char selgame_Ip[129] = "127.0.0.1"; // CONFIG +char selgame_Ip[129] = ""; char selgame_Password[16] = ""; char selgame_Description[256]; bool selgame_enteringGame; @@ -82,6 +82,7 @@ void selgame_GameSelection_Init() return; } + SRegLoadString("Phone Book", "Entry1", 0, selgame_Ip, 128); UiInitList(0, 1, selgame_GameSelection_Focus, selgame_GameSelection_Select, selgame_GameSelection_Esc, SELUDPGAME_DIALOG, size(SELUDPGAME_DIALOG)); } @@ -181,6 +182,7 @@ void selgame_Password_Select(int value) selgame_endMenu = true; if (selgame_selectedGame) { + SRegSaveString("Phone Book", "Entry1", 0, selgame_Ip); if (!SNetJoinGame(selgame_selectedGame, selgame_Ip, selgame_Password, NULL, NULL, gdwPlayerId)) { DrawDlg("Unable to establish a connection. A game of Devilution 0.1.0 was not detected at the specified IP address."); selgame_Password_Init(selgame_selectedGame); diff --git a/SourceX/storm_net.cpp b/SourceX/storm_net.cpp index c211b25d6..dbdcae2de 100644 --- a/SourceX/storm_net.cpp +++ b/SourceX/storm_net.cpp @@ -100,7 +100,10 @@ BOOL STORMAPI SNetCreateGame(const char *pszGameName, const char *pszGamePasswor ABORT(); dvlnet::buffer_t game_init_info(GameTemplateData, GameTemplateData + GameTemplateSize); dvlnet_inst->setup_gameinfo(std::move(game_init_info)); - *playerID = dvlnet_inst->create("0.0.0.0", pszGamePassword); + + char addrstr[129] = "0.0.0.0"; + SRegLoadString("dvlnet", "bindaddr", 0, addrstr, 128); + *playerID = dvlnet_inst->create(addrstr, pszGamePassword); return *playerID != -1; }