diff --git a/lib/netplay/netplay.c b/lib/netplay/netplay.c index cb93a145cad..60b43108c3c 100644 --- a/lib/netplay/netplay.c +++ b/lib/netplay/netplay.c @@ -49,6 +49,7 @@ #include "src/multijoin.h" #include "src/multiint.h" #include "src/multiplay.h" +#include "src/warzoneconfig.h" #ifdef WZ_OS_LINUX #include // Nonfatal runtime backtraces. @@ -297,6 +298,11 @@ void NET_InitPlayers() NETinitQueue(NETnetQueue(i)); } NETinitQueue(NETbroadcastQueue()); + // Now switch player color of the host to what they normally use for SP games + if ( getPlayerColour(NET_HOST_ONLY) != war_GetSPcolor()) + { + changeColour(NET_HOST_ONLY, war_GetSPcolor()); + } NetPlay.hostPlayer = NET_HOST_ONLY; // right now, host starts always at index zero NetPlay.playercount = 0; NetPlay.pMapFileHandle = NULL; diff --git a/src/multiint.c b/src/multiint.c index 080c73869b3..7d12240b14c 100644 --- a/src/multiint.c +++ b/src/multiint.c @@ -1645,7 +1645,7 @@ static BOOL changePosition(UBYTE player, UBYTE position) return false; } -static BOOL changeColour(UBYTE player, UBYTE col) +BOOL changeColour(UBYTE player, UBYTE col) { int i; @@ -3241,11 +3241,16 @@ BOOL startMultiOptions(BOOL bReenter) { teamChooserUp = -1; allowChangePosition = true; - for(i=0;i