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)
{
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

View File

@ -237,7 +237,7 @@ bool rebuildSearchPath( searchPathMode mode, bool force )
char tmpstr[PATH_MAX] = "\0";
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)
{
@ -364,7 +364,7 @@ bool rebuildSearchPath( searchPathMode mode, bool force )
#endif // DEBUG
// Add maps and global and multiplay mods
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/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 );
@ -398,13 +398,13 @@ bool rebuildSearchPath( searchPathMode mode, bool force )
debug(LOG_ERROR, "Can't switch to unknown mods %i", mode);
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);
}
clearOverrides();
clearOverrideMods();
current_mode = mod_override;
}
@ -419,7 +419,7 @@ bool rebuildSearchPath( searchPathMode mode, bool force )
else if (use_override_mods)
{
// override mods are already the same as current mods, so no need to do anything
clearOverrides();
clearOverrideMods();
}
return true;
}

View File

@ -47,7 +47,6 @@
#include "research.h"
#include "lib/framework/lexer_input.h"
#include "effects.h"
#include "modding.h"
extern int lev_get_lineno(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))
{
return false;

View File

@ -118,8 +118,6 @@ char * multiplay_mods[MAX_MODS] = { NULL };
char * override_mods[MAX_MODS] = { NULL };
char * override_mod_list = NULL;
bool use_override_mods = false;
char * override_map[2] = { NULL };
bool use_override_map = false;
char * loaded_mods[MAX_MODS] = { NULL };
char * mod_list = NULL;
@ -276,30 +274,7 @@ void setOverrideMods(char * modlist)
use_override_mods = true;
}
void setOverrideMap(char* map, int maxPlayers)
{
// 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)
void clearOverrideMods(void)
{
int i;
use_override_mods = false;
@ -309,13 +284,6 @@ void clearOverrides(void)
}
override_mods[0] = 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)

View File

@ -51,7 +51,5 @@ extern char * multiplay_mods[MAX_MODS];
extern char * override_mods[MAX_MODS];
extern char * override_mod_list;
extern bool use_override_mods;
extern char * override_map[2];
extern bool use_override_map;
#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 setOverrideMods(char * modlist);
void setOverrideMap(char* map, int maxPlayers);
void clearOverrides(void);
void clearOverrideMods(void);
void addLoadedMod(const char * modname);
void clearLoadedMods(void);