diff --git a/src/d_clisrv.c b/src/d_clisrv.c index aad7a291..61c59cdc 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -3539,7 +3539,7 @@ static void HandleConnect(SINT8 node) #ifdef JOININGAME if (nodewaiting[node]) { - if (newnode) + if (node && newnode) { SV_SendSaveGame(node); // send a complete game state DEBFILE("send savegame\n"); diff --git a/src/p_saveg.c b/src/p_saveg.c index f86abb5c..b33cae2f 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -3397,14 +3397,17 @@ void P_SaveNetGame(void) P_NetArchiveMisc(); // Assign the mobjnumber for pointer tracking - for (th = thinkercap.next; th != &thinkercap; th = th->next) + if (gamestate == GS_LEVEL) { - if (th->function.acp1 == (actionf_p1)P_MobjThinker) + for (th = thinkercap.next; th != &thinkercap; th = th->next) { - mobj = (mobj_t *)th; - if (mobj->type == MT_HOOP || mobj->type == MT_HOOPCOLLIDE || mobj->type == MT_HOOPCENTER) - continue; - mobj->mobjnum = i++; + if (th->function.acp1 == (actionf_p1)P_MobjThinker) + { + mobj = (mobj_t *)th; + if (mobj->type == MT_HOOP || mobj->type == MT_HOOPCOLLIDE || mobj->type == MT_HOOPCENTER) + continue; + mobj->mobjnum = i++; + } } }