Revert the mapmod support.

Revert "Merge remote-tracking branch 'zarel/topic/mapmodloader'"

This reverts commit aed2474ae5, reversing
changes made to 8934dfd527.

Revert "Merge remote-tracking branch 'zarel/topic/mapmodloader'"

This reverts commit 460d7c005b, reversing
changes made to db46f36920.

Conflicts:

	src/main.cpp

Refs #2610, #2825.
master
cybersphinx 2011-07-18 17:52:41 +02:00
parent ca8595f25a
commit 9d7e543379
6 changed files with 8 additions and 49 deletions

View File

@ -3378,10 +3378,6 @@ bool gameLoadV(PHYSFS_file* fileHandle, unsigned int version)
if (version >= VERSION_38) if (version >= VERSION_38)
{ {
setOverrideMods(saveGameData.modList); setOverrideMods(saveGameData.modList);
if (saveGameData.sGame.map[0])
{
setOverrideMap(saveGameData.sGame.map, saveGameData.sGame.maxPlayers);
}
} }
// All savegames from version 34 or before are little endian so swap them. All // All savegames from version 34 or before are little endian so swap them. All

View File

@ -237,7 +237,7 @@ bool rebuildSearchPath( searchPathMode mode, bool force )
char tmpstr[PATH_MAX] = "\0"; char tmpstr[PATH_MAX] = "\0";
if (mode != current_mode || force || if (mode != current_mode || force ||
(use_override_mods && strcmp(override_mod_list, getModList())) || use_override_map) (use_override_mods && strcmp(override_mod_list, getModList())))
{ {
if (mode != mod_clean) if (mode != mod_clean)
{ {
@ -364,7 +364,7 @@ bool rebuildSearchPath( searchPathMode mode, bool force )
#endif // DEBUG #endif // DEBUG
// Add maps and global and multiplay mods // Add maps and global and multiplay mods
PHYSFS_addToSearchPath( curSearchPath->path, PHYSFS_APPEND ); PHYSFS_addToSearchPath( curSearchPath->path, PHYSFS_APPEND );
addSubdirs( curSearchPath->path, "maps", PHYSFS_APPEND, use_override_map?override_map:NULL, false ); addSubdirs( curSearchPath->path, "maps", PHYSFS_APPEND, NULL, false );
addSubdirs( curSearchPath->path, "mods/music", PHYSFS_APPEND, NULL, false ); addSubdirs( curSearchPath->path, "mods/music", PHYSFS_APPEND, NULL, false );
addSubdirs( curSearchPath->path, "mods/global", PHYSFS_APPEND, use_override_mods?override_mods:global_mods, true ); addSubdirs( curSearchPath->path, "mods/global", PHYSFS_APPEND, use_override_mods?override_mods:global_mods, true );
addSubdirs( curSearchPath->path, "mods", PHYSFS_APPEND, use_override_mods?override_mods:global_mods, true ); addSubdirs( curSearchPath->path, "mods", PHYSFS_APPEND, use_override_mods?override_mods:global_mods, true );
@ -398,13 +398,13 @@ bool rebuildSearchPath( searchPathMode mode, bool force )
debug(LOG_ERROR, "Can't switch to unknown mods %i", mode); debug(LOG_ERROR, "Can't switch to unknown mods %i", mode);
return false; return false;
} }
if ((use_override_mods || use_override_map) && mode != mod_clean) if (use_override_mods && mode != mod_clean)
{ {
if (use_override_mods && strcmp(getModList(),override_mod_list)) if (strcmp(getModList(),override_mod_list))
{ {
debug(LOG_POPUP, _("The required mod could not be loaded: %s\n\nWarzone will try to load the game without it."), override_mod_list); debug(LOG_POPUP, _("The required mod could not be loaded: %s\n\nWarzone will try to load the game without it."), override_mod_list);
} }
clearOverrides(); clearOverrideMods();
current_mode = mod_override; current_mode = mod_override;
} }
@ -419,7 +419,7 @@ bool rebuildSearchPath( searchPathMode mode, bool force )
else if (use_override_mods) else if (use_override_mods)
{ {
// override mods are already the same as current mods, so no need to do anything // override mods are already the same as current mods, so no need to do anything
clearOverrides(); clearOverrideMods();
} }
return true; return true;
} }

View File

@ -47,7 +47,6 @@
#include "research.h" #include "research.h"
#include "lib/framework/lexer_input.h" #include "lib/framework/lexer_input.h"
#include "effects.h" #include "effects.h"
#include "modding.h"
extern int lev_get_lineno(void); extern int lev_get_lineno(void);
extern char* lev_get_text(void); extern char* lev_get_text(void);
@ -686,7 +685,6 @@ bool levLoadData(const char* name, char *pSaveName, GAME_TYPE saveType)
} }
} }
setOverrideMap(psNewLevel->pName, psNewLevel->players);
if (!rebuildSearchPath(psNewLevel->dataDir, false)) if (!rebuildSearchPath(psNewLevel->dataDir, false))
{ {
return false; return false;

View File

@ -118,8 +118,6 @@ char * multiplay_mods[MAX_MODS] = { NULL };
char * override_mods[MAX_MODS] = { NULL }; char * override_mods[MAX_MODS] = { NULL };
char * override_mod_list = NULL; char * override_mod_list = NULL;
bool use_override_mods = false; bool use_override_mods = false;
char * override_map[2] = { NULL };
bool use_override_map = false;
char * loaded_mods[MAX_MODS] = { NULL }; char * loaded_mods[MAX_MODS] = { NULL };
char * mod_list = NULL; char * mod_list = NULL;
@ -276,30 +274,7 @@ void setOverrideMods(char * modlist)
use_override_mods = true; use_override_mods = true;
} }
void setOverrideMap(char* map, int maxPlayers) void clearOverrideMods(void)
{
// Transform "Sk-Rush-T2" into "4c-Rush.wz" so it can be matched by the map loader
override_map[0] = (char*)malloc(strlen(map)+1+7);
snprintf(override_map[0], 3, "%d", maxPlayers);
strcat(override_map[0],"c-");
if (strncmp(map, "Sk-", 3) == 0)
{
strcat(override_map[0],map+3);
}
else
{
strcat(override_map[0],map);
}
if (strncmp(override_map[0]+strlen(override_map[0])-3,"-T",2) == 0)
{
override_map[0][strlen(override_map[0])-3] = '\0';
}
strcat(override_map[0],".wz");
override_map[1] = NULL;
use_override_map = true;
}
void clearOverrides(void)
{ {
int i; int i;
use_override_mods = false; use_override_mods = false;
@ -309,13 +284,6 @@ void clearOverrides(void)
} }
override_mods[0] = NULL; override_mods[0] = NULL;
override_mod_list = NULL; override_mod_list = NULL;
if (override_map[0])
{
free(override_map[0]);
override_map[0] = NULL;
}
use_override_map = false;
} }
void addLoadedMod(const char * modname) void addLoadedMod(const char * modname)

View File

@ -51,7 +51,5 @@ extern char * multiplay_mods[MAX_MODS];
extern char * override_mods[MAX_MODS]; extern char * override_mods[MAX_MODS];
extern char * override_mod_list; extern char * override_mod_list;
extern bool use_override_mods; extern bool use_override_mods;
extern char * override_map[2];
extern bool use_override_map;
#endif // __INCLUDED_SRC_MAIN_H__ #endif // __INCLUDED_SRC_MAIN_H__

View File

@ -26,8 +26,7 @@ void removeSubdirs( const char * basedir, const char * subdir, char * checkList[
void printSearchPath( void ); void printSearchPath( void );
void setOverrideMods(char * modlist); void setOverrideMods(char * modlist);
void setOverrideMap(char* map, int maxPlayers); void clearOverrideMods(void);
void clearOverrides(void);
void addLoadedMod(const char * modname); void addLoadedMod(const char * modname);
void clearLoadedMods(void); void clearLoadedMods(void);