mirror of
https://github.com/ptitSeb/Serious-Engine
synced 2025-02-22 17:30:05 +01:00
Merge pull request #75 from twolife/execv
reload ourself when selecting a Mod
This commit is contained in:
commit
a9ed0adf37
@ -1364,8 +1364,11 @@ int SubMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int
|
|||||||
|
|
||||||
void CheckModReload(void)
|
void CheckModReload(void)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM_WIN32
|
|
||||||
if (_fnmModToLoad!="") {
|
if (_fnmModToLoad!="") {
|
||||||
|
CTString strMod = _fnmModToLoad.FileName();
|
||||||
|
const char *argv[9];
|
||||||
|
int i = 0;
|
||||||
|
#ifdef PLATFORM_WIN32
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
CTString strDebug = "Debug\\";
|
CTString strDebug = "Debug\\";
|
||||||
#else
|
#else
|
||||||
@ -1373,26 +1376,34 @@ void CheckModReload(void)
|
|||||||
#endif
|
#endif
|
||||||
CTString strCommand = _fnmApplicationPath+"Bin\\"+strDebug+"SeriousSam.exe";
|
CTString strCommand = _fnmApplicationPath+"Bin\\"+strDebug+"SeriousSam.exe";
|
||||||
//+mod "+_fnmModToLoad.FileName()+"\"";
|
//+mod "+_fnmModToLoad.FileName()+"\"";
|
||||||
CTString strMod = _fnmModToLoad.FileName();
|
argv[i++] = strCommand;
|
||||||
const char *argv[7];
|
#else
|
||||||
argv[0] = strCommand;
|
argv[i++] = argv0;
|
||||||
argv[1] = "+game";
|
#endif
|
||||||
argv[2] = strMod;
|
argv[i++] = "+game";
|
||||||
argv[3] = NULL;
|
argv[i++] = strMod;
|
||||||
|
argv[i] = NULL;
|
||||||
|
if (_fnmCDPath!="") {
|
||||||
|
argv[i++] = "+cdpath";
|
||||||
|
argv[i++] = _fnmCDPath;
|
||||||
|
argv[i] = NULL;
|
||||||
|
}
|
||||||
if (_strModServerJoin!="") {
|
if (_strModServerJoin!="") {
|
||||||
argv[3] = "+connect";
|
argv[i++] = "+connect";
|
||||||
argv[4] = _strModServerJoin;
|
argv[i++] = _strModServerJoin;
|
||||||
argv[5] = "+quickjoin";
|
argv[i++] = "+quickjoin";
|
||||||
argv[6] = NULL;
|
argv[i] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef PLATFORM_WIN32
|
||||||
_execv(strCommand, argv);
|
_execv(strCommand, argv);
|
||||||
MessageBoxA(0, "Error launching the Mod!\n", "Serious Sam", MB_OK|MB_ICONERROR);
|
MessageBoxA(0, "Error launching the Mod!\n", "Serious Sam", MB_OK|MB_ICONERROR);
|
||||||
}
|
|
||||||
#else
|
#else
|
||||||
STUBBED("reload ourself?");
|
execv(argv0, (char* const*)argv);
|
||||||
|
fprintf(stderr, "Error launching Mod '%s'! execv(%s, ...)\n", strMod, argv0);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CheckTeaser(void)
|
void CheckTeaser(void)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user