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:
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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); }
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user