diff --git a/source/src/clientgame.cpp b/source/src/clientgame.cpp index fde739ee..90063502 100644 --- a/source/src/clientgame.cpp +++ b/source/src/clientgame.cpp @@ -678,7 +678,7 @@ void startmap(const char *name) // called just after a map load preparectf(!m_flags); suicided = -1; spawncycle = -1; - if(m_mp(gamemode)) respawnself(); + if(m_valid(gamemode) && !m_mp(gamemode)) respawnself(); else findplayerstart(player1); player1->frags = player1->flagscore = player1->deaths = player1->lifesequence = 0; loopv(players) if(players[i]) players[i]->frags = players[i]->flagscore = players[i]->deaths = players[i]->lifesequence = 0; diff --git a/source/src/server.cpp b/source/src/server.cpp index b6bbd270..82703168 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -2699,12 +2699,7 @@ void process(ENetPacket *packet, int sender, int chan) // sender may be -1 case SV_RECVMAP: { ENetPacket *mappacket = getmapserv(cl->clientnum); - if(mappacket) - { - sendpacket(cl->clientnum, 2, mappacket); - cl->state.state = CS_DEAD; // allow respawn after map download - cl->state.reset(); - } + if(mappacket) sendpacket(cl->clientnum, 2, mappacket); else sendservmsg("no map to get", cl->clientnum); break; } diff --git a/source/src/world.cpp b/source/src/world.cpp index 1f308746..8276d75e 100644 --- a/source/src/world.cpp +++ b/source/src/world.cpp @@ -166,7 +166,10 @@ void delent() conoutf("%s entity deleted", entnames[t]); ents[e].type = NOTUSED; addmsg(SV_EDITENT, "ri9", e, NOTUSED, 0, 0, 0, 0, 0, 0, 0); - if(t==LIGHT) calclight(); + switch(t) + { + case LIGHT: calclight(); break; + } } int findtype(char *what)