resetmap/startmap cleanup

git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@2780 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
Lee Salzman
2008-09-27 17:52:46 +00:00
parent cb22175368
commit 92b60f874b
4 changed files with 27 additions and 22 deletions
+16 -9
View File
@@ -637,12 +637,25 @@ void gamemodedesc(char *modenr, char *desc)
COMMAND(gamemodedesc, ARG_2STR);
void resetmap()
{
resetsleep();
clearminimap();
cleardynlights();
pruneundos();
clearworldsounds();
particlereset();
setvar("gamespeed", 100);
setvar("paused", 0);
setvar("fog", 180);
setvar("fogcolour", 0x8099B3);
setvar("shadowyaw", 45);
}
int suicided = -1;
void startmap(const char *name) // called just after a map load
{
resetsleep();
clearminimap();
senditemstoserver = true;
// Added by Rick
if(m_botmode) BotManager.BeginMap(name);
@@ -650,8 +663,7 @@ void startmap(const char *name) // called just after a map load
// End add by Rick
clearbounceents();
resetspawns();
if(m_flags) preparectf();
particlereset();
preparectf(!m_flags);
suicided = -1;
spawncycle = -1;
if(m_valid(gamemode) && !m_mp(gamemode)) respawnself();
@@ -660,11 +672,6 @@ void startmap(const char *name) // called just after a map load
loopv(players) if(players[i]) players[i]->frags = players[i]->flagscore = players[i]->deaths = players[i]->lifesequence = 0;
s_strcpy(clientmap, name);
if(editmode) toggleedit();
setvar("gamespeed", 100);
setvar("paused", 0);
setvar("fog", 180);
setvar("fogcolour", 0x8099B3);
setvar("shadowyaw", 45);
showscores(false);
intermission = false;
minutesremaining = -1;
+1
View File
@@ -307,6 +307,7 @@ extern void listdemos();
extern flaginfo flaginfos[2];
extern bool autoteambalance;
extern void updateworld(int curtime, int lastmillis);
extern void resetmap();
extern void startmap(const char *name);
extern void changemap(const char *name);
extern void initclient();
+6 -8
View File
@@ -273,9 +273,6 @@ void setupworld(int factor)
void empty_world(int factor, bool force) // main empty world creation routine, if passed factor -1 will enlarge old world by 1
{
if(!force && noteditmode()) return;
cleardynlights();
pruneundos();
clearworldsounds();
sqr *oldworld = world;
bool copy = false;
if(oldworld && factor<0) { factor = sfactor+1; copy = true; }
@@ -327,11 +324,7 @@ void empty_world(int factor, bool force) // main empty world creation routine
}
calclight();
if(factor>=0)
{
findplayerstart(player1, true);
startmap("");
}
if(factor>=0) resetmap();
if(oldworld)
{
delete[] oldworld;
@@ -346,6 +339,11 @@ void empty_world(int factor, bool force) // main empty world creation routine
setvar("fullbright", 1, true);
}
}
if(factor>=0)
{
findplayerstart(player1, true);
startmap("");
}
}
void mapenlarge() { empty_world(-1, false); }
+4 -5
View File
@@ -280,10 +280,7 @@ bool load_world(char *mname) // still supports all map formats that have
if(tmp.version>=4 && gzread(f, &tmp.waterlevel, sizeof(int)*16)!=sizeof(int)*16) { conoutf("\f3while reading map: header malformatted"); gzclose(f); return false; }
hdr = tmp;
loadingscreen();
preparectf(true);
cleardynlights();
pruneundos();
clearworldsounds();
resetmap();
if(hdr.version>=4)
{
endianswap(&hdr.waterlevel, sizeof(int), 1);
@@ -448,7 +445,6 @@ bool load_world(char *mname) // still supports all map formats that have
calclight();
conoutf("read map %s (%d milliseconds)", cgzname, SDL_GetTicks()-loadmillis);
conoutf("%s", hdr.maptitle);
startmap(mname);
pushscontext(IEXC_MAPCFG); // untrusted altogether
persistidents = false;
@@ -463,6 +459,9 @@ bool load_world(char *mname) // still supports all map formats that have
c2skeepalive();
preload_mapmodels();
c2skeepalive();
startmap(mname);
return true;
}