projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changed drawing to playfield when changing network mode setup options
[rocksndiamonds.git]
/
src
/
init.c
diff --git
a/src/init.c
b/src/init.c
index 8fb9f80df81798f971ea07192ded0064caba7f09..dd7e5a174b822a42aefc75fa6ac5de5dcce691d1 100644
(file)
--- a/
src/init.c
+++ b/
src/init.c
@@
-5605,30
+5605,39
@@
static void InitArtworkDone()
InitGlobalAnimations();
}
InitGlobalAnimations();
}
-void InitNetworkSe
rver
()
+void InitNetworkSe
ttings
()
{
{
-#if defined(NETWORK_AVALIABLE)
- int nr_wanted;
-#endif
-
- if (setup.network_mode)
- options.network = TRUE;
+ InitNetworkInfo(options.network || setup.network_mode,
+ FALSE,
+ options.serveronly,
+ options.server_host,
+ options.server_port);
+}
- if (!options.network)
+void InitNetworkServer()
+{
+ if (!network.enabled || network.connected)
return;
return;
-#if defined(NETWORK_AVALIABLE)
- nr_wanted = Request("Choose player", REQ_PLAYER | REQ_STAY_CLOSED);
+ LimitScreenUpdates(FALSE);
- if (!ConnectToServer(options.server_host, options.server_port))
- Error(ERR_EXIT, "cannot connect to network game server");
+ if (!ConnectToServer(network.server_host, network.server_port))
+ {
+ network.enabled = FALSE;
- SendToServer_PlayerName(setup.player_name);
- SendToServer_ProtocolVersion();
+ setup.network_mode = FALSE;
+ }
+ else
+ {
+ SendToServer_PlayerName(setup.player_name);
+ SendToServer_ProtocolVersion();
+ SendToServer_NrWanted(setup.network_player_nr + 1);
- if (nr_wanted)
- SendToServer_NrWanted(nr_wanted);
-#endif
+ network.connected = TRUE;
+ }
+
+ /* short time to recognize result of network initialization */
+ Delay(1000);
}
static boolean CheckArtworkConfigForCustomElements(char *filename)
}
static boolean CheckArtworkConfigForCustomElements(char *filename)
@@
-6001,10
+6010,12
@@
void OpenAll()
if (options.execute_command)
Execute_Command(options.execute_command);
if (options.execute_command)
Execute_Command(options.execute_command);
- if (options.serveronly)
+ InitNetworkSettings();
+
+ if (network.serveronly)
{
#if defined(PLATFORM_UNIX)
{
#if defined(PLATFORM_UNIX)
- NetworkServer(
options.server_port, options.serveronly
);
+ NetworkServer(
network.server_port, TRUE
);
#else
Error(ERR_WARN, "networking only supported in Unix version");
#endif
#else
Error(ERR_WARN, "networking only supported in Unix version");
#endif
@@
-6089,6
+6100,8
@@
void OpenAll()
return;
}
return;
}
+ InitNetworkServer();
+
SetGameStatus(GAME_MODE_MAIN);
FadeSetEnterScreen();
SetGameStatus(GAME_MODE_MAIN);
FadeSetEnterScreen();
@@
-6101,8
+6114,6
@@
void OpenAll()
DrawMainMenu();
DrawMainMenu();
- InitNetworkServer();
-
#if 0
Error(ERR_DEBUG, "::: SDL_GetBasePath() == '%s'",
SDL_GetBasePath());
#if 0
Error(ERR_DEBUG, "::: SDL_GetBasePath() == '%s'",
SDL_GetBasePath());