From 544aaea0a4ed8fbdfe96da4672a1472b098ff0ff Mon Sep 17 00:00:00 2001 From: ac_stef Date: Thu, 18 Dec 2008 00:12:29 +0000 Subject: [PATCH] moved official maps to packages/maps/official git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@4035 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- packages/maps/{ => official}/ac_arctic.cfg | 0 packages/maps/{ => official}/ac_arctic.cgz | Bin packages/maps/{ => official}/ac_complex.cfg | 0 packages/maps/{ => official}/ac_complex.cgz | Bin packages/maps/{ => official}/ac_depot.cfg | 0 packages/maps/{ => official}/ac_depot.cgz | Bin packages/maps/{ => official}/ac_desert.cfg | 0 packages/maps/{ => official}/ac_desert.cgz | Bin packages/maps/{ => official}/ac_desert2.cfg | 0 packages/maps/{ => official}/ac_desert2.cgz | Bin packages/maps/{ => official}/ac_desert3.cfg | 0 packages/maps/{ => official}/ac_desert3.cgz | Bin packages/maps/{ => official}/ac_douze.cfg | 0 packages/maps/{ => official}/ac_douze.cgz | Bin packages/maps/{ => official}/ac_elevation.cfg | 0 packages/maps/{ => official}/ac_elevation.cgz | Bin packages/maps/{ => official}/ac_gothic.cfg | 0 packages/maps/{ => official}/ac_gothic.cgz | Bin packages/maps/{ => official}/ac_keller.cfg | 0 packages/maps/{ => official}/ac_keller.cgz | Bin packages/maps/{ => official}/ac_mines.cfg | 0 packages/maps/{ => official}/ac_mines.cgz | Bin packages/maps/{ => official}/ac_power.cfg | 0 packages/maps/{ => official}/ac_power.cgz | Bin packages/maps/{ => official}/ac_scaffold.cfg | 0 packages/maps/{ => official}/ac_scaffold.cgz | Bin packages/maps/{ => official}/ac_shine.cfg | 0 packages/maps/{ => official}/ac_shine.cgz | Bin packages/maps/{ => official}/ac_snow.cfg | 0 packages/maps/{ => official}/ac_snow.cgz | Bin packages/maps/{ => official}/ac_sunset.cfg | 0 packages/maps/{ => official}/ac_sunset.cgz | Bin packages/maps/{ => official}/ac_toxic.cfg | 0 packages/maps/{ => official}/ac_toxic.cgz | Bin packages/maps/{ => official}/ac_urban.cfg | 0 packages/maps/{ => official}/ac_urban.cgz | Bin packages/maps/official/official_readme.txt | 3 +++ source/src/server.cpp | 2 +- source/src/worldio.cpp | 19 +++++++++++++----- 39 files changed, 18 insertions(+), 6 deletions(-) rename packages/maps/{ => official}/ac_arctic.cfg (100%) rename packages/maps/{ => official}/ac_arctic.cgz (100%) rename packages/maps/{ => official}/ac_complex.cfg (100%) rename packages/maps/{ => official}/ac_complex.cgz (100%) rename packages/maps/{ => official}/ac_depot.cfg (100%) rename packages/maps/{ => official}/ac_depot.cgz (100%) rename packages/maps/{ => official}/ac_desert.cfg (100%) rename packages/maps/{ => official}/ac_desert.cgz (100%) rename packages/maps/{ => official}/ac_desert2.cfg (100%) rename packages/maps/{ => official}/ac_desert2.cgz (100%) rename packages/maps/{ => official}/ac_desert3.cfg (100%) rename packages/maps/{ => official}/ac_desert3.cgz (100%) rename packages/maps/{ => official}/ac_douze.cfg (100%) rename packages/maps/{ => official}/ac_douze.cgz (100%) rename packages/maps/{ => official}/ac_elevation.cfg (100%) rename packages/maps/{ => official}/ac_elevation.cgz (100%) rename packages/maps/{ => official}/ac_gothic.cfg (100%) rename packages/maps/{ => official}/ac_gothic.cgz (100%) rename packages/maps/{ => official}/ac_keller.cfg (100%) rename packages/maps/{ => official}/ac_keller.cgz (100%) rename packages/maps/{ => official}/ac_mines.cfg (100%) rename packages/maps/{ => official}/ac_mines.cgz (100%) rename packages/maps/{ => official}/ac_power.cfg (100%) rename packages/maps/{ => official}/ac_power.cgz (100%) rename packages/maps/{ => official}/ac_scaffold.cfg (100%) rename packages/maps/{ => official}/ac_scaffold.cgz (100%) rename packages/maps/{ => official}/ac_shine.cfg (100%) rename packages/maps/{ => official}/ac_shine.cgz (100%) rename packages/maps/{ => official}/ac_snow.cfg (100%) rename packages/maps/{ => official}/ac_snow.cgz (100%) rename packages/maps/{ => official}/ac_sunset.cfg (100%) rename packages/maps/{ => official}/ac_sunset.cgz (100%) rename packages/maps/{ => official}/ac_toxic.cfg (100%) rename packages/maps/{ => official}/ac_toxic.cgz (100%) rename packages/maps/{ => official}/ac_urban.cfg (100%) rename packages/maps/{ => official}/ac_urban.cgz (100%) create mode 100644 packages/maps/official/official_readme.txt diff --git a/packages/maps/ac_arctic.cfg b/packages/maps/official/ac_arctic.cfg similarity index 100% rename from packages/maps/ac_arctic.cfg rename to packages/maps/official/ac_arctic.cfg diff --git a/packages/maps/ac_arctic.cgz b/packages/maps/official/ac_arctic.cgz similarity index 100% rename from packages/maps/ac_arctic.cgz rename to packages/maps/official/ac_arctic.cgz diff --git a/packages/maps/ac_complex.cfg b/packages/maps/official/ac_complex.cfg similarity index 100% rename from packages/maps/ac_complex.cfg rename to packages/maps/official/ac_complex.cfg diff --git a/packages/maps/ac_complex.cgz b/packages/maps/official/ac_complex.cgz similarity index 100% rename from packages/maps/ac_complex.cgz rename to packages/maps/official/ac_complex.cgz diff --git a/packages/maps/ac_depot.cfg b/packages/maps/official/ac_depot.cfg similarity index 100% rename from packages/maps/ac_depot.cfg rename to packages/maps/official/ac_depot.cfg diff --git a/packages/maps/ac_depot.cgz b/packages/maps/official/ac_depot.cgz similarity index 100% rename from packages/maps/ac_depot.cgz rename to packages/maps/official/ac_depot.cgz diff --git a/packages/maps/ac_desert.cfg b/packages/maps/official/ac_desert.cfg similarity index 100% rename from packages/maps/ac_desert.cfg rename to packages/maps/official/ac_desert.cfg diff --git a/packages/maps/ac_desert.cgz b/packages/maps/official/ac_desert.cgz similarity index 100% rename from packages/maps/ac_desert.cgz rename to packages/maps/official/ac_desert.cgz diff --git a/packages/maps/ac_desert2.cfg b/packages/maps/official/ac_desert2.cfg similarity index 100% rename from packages/maps/ac_desert2.cfg rename to packages/maps/official/ac_desert2.cfg diff --git a/packages/maps/ac_desert2.cgz b/packages/maps/official/ac_desert2.cgz similarity index 100% rename from packages/maps/ac_desert2.cgz rename to packages/maps/official/ac_desert2.cgz diff --git a/packages/maps/ac_desert3.cfg b/packages/maps/official/ac_desert3.cfg similarity index 100% rename from packages/maps/ac_desert3.cfg rename to packages/maps/official/ac_desert3.cfg diff --git a/packages/maps/ac_desert3.cgz b/packages/maps/official/ac_desert3.cgz similarity index 100% rename from packages/maps/ac_desert3.cgz rename to packages/maps/official/ac_desert3.cgz diff --git a/packages/maps/ac_douze.cfg b/packages/maps/official/ac_douze.cfg similarity index 100% rename from packages/maps/ac_douze.cfg rename to packages/maps/official/ac_douze.cfg diff --git a/packages/maps/ac_douze.cgz b/packages/maps/official/ac_douze.cgz similarity index 100% rename from packages/maps/ac_douze.cgz rename to packages/maps/official/ac_douze.cgz diff --git a/packages/maps/ac_elevation.cfg b/packages/maps/official/ac_elevation.cfg similarity index 100% rename from packages/maps/ac_elevation.cfg rename to packages/maps/official/ac_elevation.cfg diff --git a/packages/maps/ac_elevation.cgz b/packages/maps/official/ac_elevation.cgz similarity index 100% rename from packages/maps/ac_elevation.cgz rename to packages/maps/official/ac_elevation.cgz diff --git a/packages/maps/ac_gothic.cfg b/packages/maps/official/ac_gothic.cfg similarity index 100% rename from packages/maps/ac_gothic.cfg rename to packages/maps/official/ac_gothic.cfg diff --git a/packages/maps/ac_gothic.cgz b/packages/maps/official/ac_gothic.cgz similarity index 100% rename from packages/maps/ac_gothic.cgz rename to packages/maps/official/ac_gothic.cgz diff --git a/packages/maps/ac_keller.cfg b/packages/maps/official/ac_keller.cfg similarity index 100% rename from packages/maps/ac_keller.cfg rename to packages/maps/official/ac_keller.cfg diff --git a/packages/maps/ac_keller.cgz b/packages/maps/official/ac_keller.cgz similarity index 100% rename from packages/maps/ac_keller.cgz rename to packages/maps/official/ac_keller.cgz diff --git a/packages/maps/ac_mines.cfg b/packages/maps/official/ac_mines.cfg similarity index 100% rename from packages/maps/ac_mines.cfg rename to packages/maps/official/ac_mines.cfg diff --git a/packages/maps/ac_mines.cgz b/packages/maps/official/ac_mines.cgz similarity index 100% rename from packages/maps/ac_mines.cgz rename to packages/maps/official/ac_mines.cgz diff --git a/packages/maps/ac_power.cfg b/packages/maps/official/ac_power.cfg similarity index 100% rename from packages/maps/ac_power.cfg rename to packages/maps/official/ac_power.cfg diff --git a/packages/maps/ac_power.cgz b/packages/maps/official/ac_power.cgz similarity index 100% rename from packages/maps/ac_power.cgz rename to packages/maps/official/ac_power.cgz diff --git a/packages/maps/ac_scaffold.cfg b/packages/maps/official/ac_scaffold.cfg similarity index 100% rename from packages/maps/ac_scaffold.cfg rename to packages/maps/official/ac_scaffold.cfg diff --git a/packages/maps/ac_scaffold.cgz b/packages/maps/official/ac_scaffold.cgz similarity index 100% rename from packages/maps/ac_scaffold.cgz rename to packages/maps/official/ac_scaffold.cgz diff --git a/packages/maps/ac_shine.cfg b/packages/maps/official/ac_shine.cfg similarity index 100% rename from packages/maps/ac_shine.cfg rename to packages/maps/official/ac_shine.cfg diff --git a/packages/maps/ac_shine.cgz b/packages/maps/official/ac_shine.cgz similarity index 100% rename from packages/maps/ac_shine.cgz rename to packages/maps/official/ac_shine.cgz diff --git a/packages/maps/ac_snow.cfg b/packages/maps/official/ac_snow.cfg similarity index 100% rename from packages/maps/ac_snow.cfg rename to packages/maps/official/ac_snow.cfg diff --git a/packages/maps/ac_snow.cgz b/packages/maps/official/ac_snow.cgz similarity index 100% rename from packages/maps/ac_snow.cgz rename to packages/maps/official/ac_snow.cgz diff --git a/packages/maps/ac_sunset.cfg b/packages/maps/official/ac_sunset.cfg similarity index 100% rename from packages/maps/ac_sunset.cfg rename to packages/maps/official/ac_sunset.cfg diff --git a/packages/maps/ac_sunset.cgz b/packages/maps/official/ac_sunset.cgz similarity index 100% rename from packages/maps/ac_sunset.cgz rename to packages/maps/official/ac_sunset.cgz diff --git a/packages/maps/ac_toxic.cfg b/packages/maps/official/ac_toxic.cfg similarity index 100% rename from packages/maps/ac_toxic.cfg rename to packages/maps/official/ac_toxic.cfg diff --git a/packages/maps/ac_toxic.cgz b/packages/maps/official/ac_toxic.cgz similarity index 100% rename from packages/maps/ac_toxic.cgz rename to packages/maps/official/ac_toxic.cgz diff --git a/packages/maps/ac_urban.cfg b/packages/maps/official/ac_urban.cfg similarity index 100% rename from packages/maps/ac_urban.cfg rename to packages/maps/official/ac_urban.cfg diff --git a/packages/maps/ac_urban.cgz b/packages/maps/official/ac_urban.cgz similarity index 100% rename from packages/maps/ac_urban.cgz rename to packages/maps/official/ac_urban.cgz diff --git a/packages/maps/official/official_readme.txt b/packages/maps/official/official_readme.txt new file mode 100644 index 00000000..5f98f6bf --- /dev/null +++ b/packages/maps/official/official_readme.txt @@ -0,0 +1,3 @@ +Do not edit, rename or delete maps in this directory. +Do not add files to this directory. + diff --git a/source/src/server.cpp b/source/src/server.cpp index ec1d5742..1b118629 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -30,7 +30,7 @@ struct log *logger = NULL; #define valid_flag(f) (f >= 0 && f < 2) #define SERVERMAP_PATH "packages/maps/servermaps/" -#define SERVERMAP_PATH_BUILTIN "packages/maps/" +#define SERVERMAP_PATH_BUILTIN "packages/maps/official/" #define SERVERMAP_PATH_INCOMING "packages/maps/servermaps/incoming/" static const int DEATHMILLIS = 300; diff --git a/source/src/worldio.cpp b/source/src/worldio.cpp index 1a7f4a2e..1c736491 100644 --- a/source/src/worldio.cpp +++ b/source/src/worldio.cpp @@ -11,7 +11,7 @@ void backup(char *name, char *backupname) rename(findfile(name, "wb"), backupfile); } -string cgzname, bakname, pcfname, mcfname; +static string cgzname, ocgzname, bakname, pcfname, mcfname, omcfname; void setnames(char *name) { @@ -29,9 +29,11 @@ void setnames(char *name) } systemtime(); s_sprintf(cgzname)("packages/%s/%s.cgz", pakname, mapname); + s_sprintf(ocgzname)("packages/maps/official/%s.cgz", mapname); s_sprintf(bakname)("packages/%s/%s_%d.BAK", pakname, mapname, now_utc); //totalmillis); s_sprintf(pcfname)("packages/%s/package.cfg", pakname); s_sprintf(mcfname)("packages/%s/%s.cfg", pakname, mapname); + s_sprintf(omcfname)("packages/maps/official/%s.cfg", mapname); path(cgzname); path(bakname); @@ -266,9 +268,16 @@ int numspawn[3], maploaded = 0, numflagspawn[2]; bool load_world(char *mname) // still supports all map formats that have existed since the earliest cube betas! { int loadmillis = SDL_GetTicks(); + bool isofficial = true; setnames(mname); - maploaded = getfilesize(cgzname); - gzFile f = opengzfile(cgzname, "rb9"); + maploaded = getfilesize(ocgzname); + gzFile f = opengzfile(ocgzname, "rb9"); + if(!f) + { + maploaded = getfilesize(cgzname); + f = opengzfile(cgzname, "rb9"); + isofficial = false; + } if(!f) { conoutf("\f3could not read map %s", cgzname); return false; } header tmp; memset(&tmp, 0, sizeof(header)); @@ -402,14 +411,14 @@ bool load_world(char *mname) // still supports all map formats that have if(f) gzclose(f); c2skeepalive(); calclight(); - conoutf("read map %s (%d milliseconds)", cgzname, SDL_GetTicks()-loadmillis); + conoutf("read map %s (%d milliseconds)", isofficial ? ocgzname : cgzname, SDL_GetTicks()-loadmillis); conoutf("%s", hdr.maptitle); pushscontext(IEXC_MAPCFG); // untrusted altogether persistidents = false; execfile("config/default_map_settings.cfg"); execfile(pcfname); - execfile(mcfname); + execfile(isofficial ? omcfname : mcfname); persistidents = true; popscontext();