1
0
mirror of https://github.com/alliedmodders/metamod-source.git synced 2025-02-26 19:54:14 +01:00

Fixed bug where the wrong gamedll could be loaded and/or more than one gamedll could be loaded

--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40216
This commit is contained in:
Scott Ehlert 2006-06-28 18:33:00 +00:00
parent 9d750ae4e6
commit 2972849a8d
4 changed files with 16 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2006/xx/xx 1.2.4:
- Fixed bug where Metamod:Source could load the wrong GameDLL and/or load more than one
GameDLL. This issue occured in HL2 CTF, SourceForts, or any other mod that relied on
files from another mod directory.
2006/06/14 1.2.3:
- Added SourceHook API for manual recalls: RETURN_META_(VALUE_)MNEWPARAMS
- Added support for ServerGameDLL005 (latest HL2DM update)

View File

@ -314,10 +314,13 @@ SMM_API void *CreateInterface(const char *iface, int *ret)
size_t ptr_len = strlen(ptr);
if (ptr[ptr_len] == '/' || ptr[ptr_len] == '\\')
ptr[--ptr_len] = '\0';
//no need to append "bin"
if (gamebin)
{
g_SmmAPI.PathFormat(temp_path, sizeof(temp_path)-1, "%s/%s/%s", lptr, ptr, SERVER_DLL);
} else if (ptr[0] == NULL) {
g_SmmAPI.PathFormat(temp_path, sizeof(temp_path)-1, "%s/%s/%s", lptr, "bin", SERVER_DLL);
} else {
g_SmmAPI.PathFormat(temp_path, sizeof(temp_path)-1, "%s/%s/%s/%s", lptr, ptr, "bin", SERVER_DLL);
}
@ -361,6 +364,7 @@ SMM_API void *CreateInterface(const char *iface, int *ret)
pInfo->pGameDLL = NULL;
pInfo->pGameClients = (IServerGameClients *)((fn)(INTERFACEVERSION_SERVERGAMECLIENTS, NULL));
gamedll_list.push_back(pInfo);
break;
}
}
}
@ -374,7 +378,7 @@ SMM_API void *CreateInterface(const char *iface, int *ret)
if (strncmp(iface, str, len) == 0)
{
//This is the interface we want! Right now we support versions 3 and 4.
//This is the interface we want! Right now we support versions 3 through 5.
int version = atoi(&(iface[len]));
int sizeTooBig = 0; //rename this to sizeWrong in the future!
if (version < MIN_GAMEDLL_VERSION || version > MAX_GAMEDLL_VERSION)

View File

@ -34,12 +34,12 @@
* increase vers_release when bug fix releases are made
* never increase major
*/
#define SOURCEMM_VERSION "1.2.3"
#define SOURCEMM_VERSION "1.2.4"
#define SOURCEMM_DATE __DATE__
#define SM_MAJOR_VERSION 1 //never need to increase this
#define SM_VERS_API_MAJOR 1 //increase this on a breaking change
#define SM_VERS_API_MINOR 3 //increase this on a non-breaking API change
#define SM_VERS_RELEASE 3 //increase this on a bug-fix release.
#define SM_VERS_RELEASE 4 //increase this on a bug-fix release.
//We need a good CServerGameDLL version to work properly. We support these inclusively.
#define MIN_GAMEDLL_VERSION 3

View File

@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,2,3,0
PRODUCTVERSION 1,2,3,0
FILEVERSION 1,2,4,0
PRODUCTVERSION 1,2,4,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -43,12 +43,12 @@ BEGIN
BEGIN
VALUE "Comments", "Metamod: Source"
VALUE "FileDescription", "Metamod: Source"
VALUE "FileVersion", "1.2.3"
VALUE "FileVersion", "1.2.4"
VALUE "InternalName", "sourcemm"
VALUE "LegalCopyright", "Copyright (c) 2004-2006, Metamod: Source Development Team"
VALUE "OriginalFilename", "server.dll"
VALUE "ProductName", "Metamod: Source"
VALUE "ProductVersion", "1.2.3"
VALUE "ProductVersion", "1.2.4"
END
END
BLOCK "VarFileInfo"