mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-12 11:10:39 +00:00
SW: Fix file loading and init sequence
git-svn-id: https://svn.eduke32.com/eduke32@8269 1a8010ca-5511-0410-912e-c29ae57300e0 # Conflicts: # source/duke3d/src/common.cpp # source/duke3d/src/game.cpp # source/sw/src/common.cpp # source/sw/src/common_game.h # source/sw/src/game.cpp # source/sw/src/jnstub.cpp
This commit is contained in:
parent
ea10e01cc3
commit
dcba445f4e
6 changed files with 271 additions and 105 deletions
|
@ -47,7 +47,6 @@ enum
|
||||||
|
|
||||||
|
|
||||||
//// EXTERN DECLS
|
//// EXTERN DECLS
|
||||||
extern struct strllist *CommandPaths, *CommandGrps;
|
|
||||||
|
|
||||||
extern const char *s_buildRev;
|
extern const char *s_buildRev;
|
||||||
extern const char *s_buildTimestamp;
|
extern const char *s_buildTimestamp;
|
||||||
|
|
|
@ -245,14 +245,13 @@ struct strllist* CommandPaths, * CommandGrps;
|
||||||
|
|
||||||
void G_ExtInit(void)
|
void G_ExtInit(void)
|
||||||
{
|
{
|
||||||
char cwd[BMAX_PATH];
|
|
||||||
|
|
||||||
#ifdef EDUKE32_OSX
|
#ifdef EDUKE32_OSX
|
||||||
char *appdir = Bgetappdir();
|
char *appdir = Bgetappdir();
|
||||||
addsearchpath(appdir);
|
addsearchpath(appdir);
|
||||||
Xfree(appdir);
|
Xfree(appdir);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
char cwd[BMAX_PATH];
|
||||||
#ifdef USE_PHYSFS
|
#ifdef USE_PHYSFS
|
||||||
strncpy(cwd, PHYSFS_getBaseDir(), ARRAY_SIZE(cwd));
|
strncpy(cwd, PHYSFS_getBaseDir(), ARRAY_SIZE(cwd));
|
||||||
cwd[ARRAY_SIZE(cwd)-1] = '\0';
|
cwd[ARRAY_SIZE(cwd)-1] = '\0';
|
||||||
|
|
|
@ -38,17 +38,6 @@ enum Games_t {
|
||||||
GAMECOUNT
|
GAMECOUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
enum instpath_t {
|
|
||||||
INSTPATH_STEAM_DUKE3D_MEGATON,
|
|
||||||
INSTPATH_STEAM_DUKE3D_3DR,
|
|
||||||
INSTPATH_GOG_DUKE3D,
|
|
||||||
INSTPATH_3DR_DUKE3D,
|
|
||||||
INSTPATH_3DR_ANTH,
|
|
||||||
INSTPATH_STEAM_NAM,
|
|
||||||
INSTPATH_STEAM_WW2GI,
|
|
||||||
NUMINSTPATHS
|
|
||||||
};
|
|
||||||
|
|
||||||
enum searchpathtypes_t {
|
enum searchpathtypes_t {
|
||||||
SEARCHPATH_REMOVE = 1<<0,
|
SEARCHPATH_REMOVE = 1<<0,
|
||||||
SEARCHPATH_NAM = 1<<1,
|
SEARCHPATH_NAM = 1<<1,
|
||||||
|
|
|
@ -2,11 +2,19 @@
|
||||||
|
|
||||||
#include "build.h"
|
#include "build.h"
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# include "windows_inc.h"
|
||||||
|
# include "winbits.h"
|
||||||
|
#elif defined __APPLE__
|
||||||
|
# include "osxbits.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
#include "common_game.h"
|
#include "common_game.h"
|
||||||
|
|
||||||
BEGIN_SW_NS
|
BEGIN_SW_NS
|
||||||
|
|
||||||
static const char *defaultgrpfilename = "sw.grp";
|
static const char *defaultgrpfilename = "SW.GRP";
|
||||||
static const char *defaultdeffilename = "sw.def";
|
static const char *defaultdeffilename = "sw.def";
|
||||||
|
|
||||||
// g_grpNamePtr can ONLY point to a malloc'd block (length BMAX_PATH)
|
// g_grpNamePtr can ONLY point to a malloc'd block (length BMAX_PATH)
|
||||||
|
@ -50,4 +58,247 @@ void SW_InitMultiPsky(void)
|
||||||
defaultsky->lognumtiles = 1;
|
defaultsky->lognumtiles = 1;
|
||||||
defaultsky->horizfrac = 8192;
|
defaultsky->horizfrac = 8192;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef EDUKE32_STANDALONE
|
||||||
|
#ifndef EDUKE32_TOUCH_DEVICES
|
||||||
|
#if defined EDUKE32_OSX || defined __linux__ || defined EDUKE32_BSD
|
||||||
|
static void SW_AddSteamPaths(const char *basepath)
|
||||||
|
{
|
||||||
|
char buf[BMAX_PATH];
|
||||||
|
|
||||||
|
// Shadow Warrior Classic Redux - Steam
|
||||||
|
static char const s_SWCR_Steam[] = "steamapps/common/Shadow Warrior Classic/gameroot";
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/%s", basepath, s_SWCR_Steam);
|
||||||
|
addsearchpath_user(buf, SEARCHPATH_REMOVE);
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/%s/addons", basepath, s_SWCR_Steam);
|
||||||
|
addsearchpath_user(buf, SEARCHPATH_REMOVE);
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/%s/classic/MUSIC", basepath, s_SWCR_Steam);
|
||||||
|
addsearchpath(buf);
|
||||||
|
|
||||||
|
// Shadow Warrior Classic (1997) - Steam
|
||||||
|
static char const s_SWC_Steam[] = "steamapps/common/Shadow Warrior Original/gameroot";
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/%s", basepath, s_SWC_Steam);
|
||||||
|
addsearchpath_user(buf, SEARCHPATH_REMOVE);
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/%s/MUSIC", basepath, s_SWC_Steam);
|
||||||
|
addsearchpath(buf);
|
||||||
|
|
||||||
|
// Shadow Warrior (Classic) - 3D Realms Anthology - Steam
|
||||||
|
#if defined EDUKE32_OSX
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/steamapps/common/Shadow Warrior DOS/Shadow Warrior.app/Contents/Resources/sw", basepath);
|
||||||
|
addsearchpath(buf);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static void SW_AddSearchPaths()
|
||||||
|
{
|
||||||
|
#ifndef EDUKE32_STANDALONE
|
||||||
|
#ifndef EDUKE32_TOUCH_DEVICES
|
||||||
|
#if defined __linux__ || defined EDUKE32_BSD
|
||||||
|
char buf[BMAX_PATH];
|
||||||
|
char *homepath = Bgethomedir();
|
||||||
|
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/.steam/steam", homepath);
|
||||||
|
SW_AddSteamPaths(buf);
|
||||||
|
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/.steam/steam/steamapps/libraryfolders.vdf", homepath);
|
||||||
|
Paths_ParseSteamKeyValuesForPaths(buf, SW_AddSteamPaths);
|
||||||
|
|
||||||
|
Xfree(homepath);
|
||||||
|
|
||||||
|
addsearchpath("/usr/share/games/jfsw");
|
||||||
|
addsearchpath("/usr/local/share/games/jfsw");
|
||||||
|
addsearchpath("/usr/share/games/voidsw");
|
||||||
|
addsearchpath("/usr/local/share/games/voidsw");
|
||||||
|
#elif defined EDUKE32_OSX
|
||||||
|
char buf[BMAX_PATH];
|
||||||
|
int32_t i;
|
||||||
|
char *applications[] = { osx_getapplicationsdir(0), osx_getapplicationsdir(1) };
|
||||||
|
char *support[] = { osx_getsupportdir(0), osx_getsupportdir(1) };
|
||||||
|
|
||||||
|
for (i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/Steam", support[i]);
|
||||||
|
SW_AddSteamPaths(buf);
|
||||||
|
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/Steam/steamapps/libraryfolders.vdf", support[i]);
|
||||||
|
Paths_ParseSteamKeyValuesForPaths(buf, SW_AddSteamPaths);
|
||||||
|
|
||||||
|
// Shadow Warrior Classic Complete - GOG.com
|
||||||
|
static char const s_SWC_GOG[] = "Shadow Warrior Complete/Shadow Warrior.app/Contents/Resources/Shadow Warrior.boxer/C swarrior_files.harddisk";
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/%s", applications[i], s_SWC_GOG);
|
||||||
|
addsearchpath_user(buf, SEARCHPATH_REMOVE);
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/%s/MUSIC", applications[i], s_SWC_GOG);
|
||||||
|
addsearchpath(buf);
|
||||||
|
|
||||||
|
// Shadow Warrior Classic Redux - GOG.com
|
||||||
|
static char const s_SWCR_GOG[] = "Shadow Warrior Classic Redux/Shadow Warrior Classic Redux.app/Contents/Resources/gameroot";
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/%s", applications[i], s_SWCR_GOG);
|
||||||
|
addsearchpath_user(buf, SEARCHPATH_REMOVE);
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/%s/music", applications[i], s_SWCR_GOG);
|
||||||
|
addsearchpath(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/JFSW", support[i]);
|
||||||
|
addsearchpath(buf);
|
||||||
|
Bsnprintf(buf, sizeof(buf), "%s/VoidSW", support[i]);
|
||||||
|
addsearchpath(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
Xfree(applications[i]);
|
||||||
|
Xfree(support[i]);
|
||||||
|
}
|
||||||
|
#elif defined (_WIN32)
|
||||||
|
char buf[BMAX_PATH] = {0};
|
||||||
|
DWORD bufsize;
|
||||||
|
|
||||||
|
// Shadow Warrior Classic Redux - Steam
|
||||||
|
bufsize = sizeof(buf);
|
||||||
|
if (Paths_ReadRegistryValue(R"(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 225160)", "InstallLocation", buf, &bufsize))
|
||||||
|
{
|
||||||
|
char * const suffix = buf + bufsize - 1;
|
||||||
|
DWORD const remaining = sizeof(buf) - bufsize;
|
||||||
|
|
||||||
|
Bstrncpy(suffix, "/gameroot", remaining);
|
||||||
|
addsearchpath_user(buf, SEARCHPATH_REMOVE);
|
||||||
|
Bstrncpy(suffix, "/gameroot/addons", remaining);
|
||||||
|
addsearchpath_user(buf, SEARCHPATH_REMOVE);
|
||||||
|
Bstrncpy(suffix, "/gameroot/classic/MUSIC", remaining);
|
||||||
|
addsearchpath(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Shadow Warrior Classic (1997) - Steam
|
||||||
|
bufsize = sizeof(buf);
|
||||||
|
if (Paths_ReadRegistryValue(R"(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 238070)", "InstallLocation", buf, &bufsize))
|
||||||
|
{
|
||||||
|
char * const suffix = buf + bufsize - 1;
|
||||||
|
DWORD const remaining = sizeof(buf) - bufsize;
|
||||||
|
|
||||||
|
Bstrncpy(suffix, "/gameroot", remaining);
|
||||||
|
addsearchpath_user(buf, SEARCHPATH_REMOVE);
|
||||||
|
Bstrncpy(suffix, "/gameroot/MUSIC", remaining);
|
||||||
|
addsearchpath(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Shadow Warrior (Classic) - 3D Realms Anthology - Steam
|
||||||
|
bufsize = sizeof(buf);
|
||||||
|
if (Paths_ReadRegistryValue(R"(SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 358400)", "InstallLocation", buf, &bufsize))
|
||||||
|
{
|
||||||
|
char * const suffix = buf + bufsize - 1;
|
||||||
|
DWORD const remaining = sizeof(buf) - bufsize;
|
||||||
|
|
||||||
|
Bstrncpy(suffix, "/Shadow Warrior", remaining);
|
||||||
|
addsearchpath(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Shadow Warrior Classic Complete - GOG.com
|
||||||
|
bufsize = sizeof(buf);
|
||||||
|
if (Paths_ReadRegistryValue("SOFTWARE\\GOG.com\\GOGSHADOWARRIOR", "PATH", buf, &bufsize))
|
||||||
|
{
|
||||||
|
addsearchpath(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Shadow Warrior - 3D Realms Anthology
|
||||||
|
bufsize = sizeof(buf);
|
||||||
|
if (Paths_ReadRegistryValue("SOFTWARE\\3DRealms\\Shadow Warrior", NULL, buf, &bufsize))
|
||||||
|
{
|
||||||
|
char * const suffix = buf + bufsize - 1;
|
||||||
|
DWORD const remaining = sizeof(buf) - bufsize;
|
||||||
|
|
||||||
|
Bstrncpy(suffix, "/Shadow Warrior", remaining);
|
||||||
|
addsearchpath(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3D Realms Anthology
|
||||||
|
bufsize = sizeof(buf);
|
||||||
|
if (Paths_ReadRegistryValue("SOFTWARE\\3DRealms\\Anthology", NULL, buf, &bufsize))
|
||||||
|
{
|
||||||
|
char * const suffix = buf + bufsize - 1;
|
||||||
|
DWORD const remaining = sizeof(buf) - bufsize;
|
||||||
|
|
||||||
|
Bstrncpy(suffix, "/Shadow Warrior", remaining);
|
||||||
|
addsearchpath(buf);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void SW_CleanupSearchPaths()
|
||||||
|
{
|
||||||
|
removesearchpaths_withuser(SEARCHPATH_REMOVE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SW_ExtInit()
|
||||||
|
{
|
||||||
|
if (!g_useCwd)
|
||||||
|
SW_AddSearchPaths();
|
||||||
|
|
||||||
|
#ifdef EDUKE32_OSX
|
||||||
|
char *appdir = Bgetappdir();
|
||||||
|
addsearchpath(appdir);
|
||||||
|
Xfree(appdir);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
char cwd[BMAX_PATH];
|
||||||
|
#ifdef USE_PHYSFS
|
||||||
|
strncpy(cwd, PHYSFS_getBaseDir(), ARRAY_SIZE(cwd));
|
||||||
|
cwd[ARRAY_SIZE(cwd)-1] = '\0';
|
||||||
|
#else
|
||||||
|
if (buildvfs_getcwd(cwd, ARRAY_SIZE(cwd)) && Bstrcmp(cwd, "/") != 0)
|
||||||
|
#endif
|
||||||
|
addsearchpath(cwd);
|
||||||
|
#if defined(_WIN32) && !defined(EDUKE32_STANDALONE)
|
||||||
|
if (buildvfs_exists("user_profiles_enabled"))
|
||||||
|
#else
|
||||||
|
if (g_useCwd == 0 && !buildvfs_exists("user_profiles_disabled"))
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
char *homedir;
|
||||||
|
int32_t asperr;
|
||||||
|
|
||||||
|
if ((homedir = Bgethomedir()))
|
||||||
|
{
|
||||||
|
Bsnprintf(cwd, ARRAY_SIZE(cwd), "%s/"
|
||||||
|
#if defined(_WIN32)
|
||||||
|
APPNAME
|
||||||
|
#elif defined(GEKKO)
|
||||||
|
"apps/" APPBASENAME
|
||||||
|
#else
|
||||||
|
".config/" APPBASENAME
|
||||||
|
#endif
|
||||||
|
,homedir);
|
||||||
|
asperr = addsearchpath(cwd);
|
||||||
|
if (asperr == -2)
|
||||||
|
{
|
||||||
|
if (buildvfs_mkdir(cwd,S_IRWXU) == 0) asperr = addsearchpath(cwd);
|
||||||
|
else asperr = -1;
|
||||||
|
}
|
||||||
|
if (asperr == 0)
|
||||||
|
buildvfs_chdir(cwd);
|
||||||
|
Xfree(homedir);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef EDUKE32_STANDALONE
|
||||||
|
if (g_grpNamePtr == NULL)
|
||||||
|
{
|
||||||
|
const char *cp = getenv("SWGRP");
|
||||||
|
if (cp)
|
||||||
|
{
|
||||||
|
clearGrpNamePtr();
|
||||||
|
g_grpNamePtr = dup_filename(cp);
|
||||||
|
initprintf("Using \"%s\" as main GRP file\n", g_grpNamePtr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
END_SW_NS
|
END_SW_NS
|
||||||
|
|
|
@ -42,6 +42,7 @@ BEGIN_SW_NS
|
||||||
//
|
//
|
||||||
//****************************************************************************
|
//****************************************************************************
|
||||||
|
|
||||||
|
#define APPNAME "VoidSW"
|
||||||
#ifndef APPBASENAME
|
#ifndef APPBASENAME
|
||||||
#define APPBASENAME "voidsw"
|
#define APPBASENAME "voidsw"
|
||||||
#endif
|
#endif
|
||||||
|
@ -131,6 +132,7 @@ BEGIN_SW_NS
|
||||||
#define MACRO9 "Hope you were paying attention."
|
#define MACRO9 "Hope you were paying attention."
|
||||||
#define MACRO10 "ITTAIIIUUU!!!"
|
#define MACRO10 "ITTAIIIUUU!!!"
|
||||||
|
|
||||||
|
extern int g_useCwd;
|
||||||
|
|
||||||
extern char *g_grpNamePtr;
|
extern char *g_grpNamePtr;
|
||||||
|
|
||||||
|
@ -141,5 +143,10 @@ void clearGrpNamePtr(void);
|
||||||
|
|
||||||
void SW_InitMultiPsky(void);
|
void SW_InitMultiPsky(void);
|
||||||
|
|
||||||
|
void SW_ExtPreInit(int32_t argc, char const * const * argv);
|
||||||
|
void SW_ExtInit(void);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
END_SW_NS
|
END_SW_NS
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -46,9 +46,7 @@ Things required to make savegames work:
|
||||||
#include "baselayer.h"
|
#include "baselayer.h"
|
||||||
#include "cache1d.h"
|
#include "cache1d.h"
|
||||||
#include "osd.h"
|
#include "osd.h"
|
||||||
#ifdef RENDERTYPEWIN
|
#include "renderlayer.h"
|
||||||
# include "winlayer.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "keys.h"
|
#include "keys.h"
|
||||||
#include "names2.h"
|
#include "names2.h"
|
||||||
|
@ -3408,92 +3406,17 @@ int32_t app_main(int32_t argc, char const * const * argv)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
{
|
|
||||||
//char *supportdir = Bgetsupportdir(TRUE);
|
|
||||||
char *appdir = Bgetappdir();
|
|
||||||
char dirpath[BMAX_PATH+1];
|
|
||||||
|
|
||||||
// the OSX app bundle, or on Windows the directory where the EXE was launched
|
|
||||||
if (appdir)
|
|
||||||
{
|
|
||||||
addsearchpath(appdir);
|
|
||||||
free(appdir);
|
|
||||||
}
|
|
||||||
|
|
||||||
// the global support files directory
|
|
||||||
#if 0 // [JM] ifdef'd out for now. !CHECKME!
|
|
||||||
if (supportdir)
|
|
||||||
{
|
|
||||||
Bsnprintf(dirpath, sizeof(dirpath), "%s/JFShadowWarrior", supportdir);
|
|
||||||
addsearchpath(dirpath);
|
|
||||||
free(supportdir);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// default behaviour is to write to the user profile directory, but
|
|
||||||
// creating a 'user_profiles_disabled' file in the current working
|
|
||||||
// directory where the game was launched makes the installation
|
|
||||||
// "portable" by writing into the working directory
|
|
||||||
#if 0 // [JM] ifdef'd out for now. !CHECKME!
|
|
||||||
if (access("user_profiles_disabled", F_OK) == 0)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
char cwd[BMAX_PATH+1];
|
|
||||||
if (getcwd(cwd, sizeof(cwd)))
|
|
||||||
{
|
|
||||||
addsearchpath(cwd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#if 0 // [JM] ifdef'd out for now. !CHECKME!
|
|
||||||
else
|
|
||||||
{
|
|
||||||
char *supportdir;
|
|
||||||
char dirpath[BMAX_PATH+1];
|
|
||||||
int asperr;
|
|
||||||
|
|
||||||
if ((supportdir = Bgetsupportdir(FALSE)))
|
|
||||||
{
|
|
||||||
Bsnprintf(dirpath, sizeof(dirpath), "%s/"
|
|
||||||
#if defined(_WIN32) || defined(__APPLE__)
|
|
||||||
"JFShadowWarrior"
|
|
||||||
#else
|
|
||||||
".jfsw"
|
|
||||||
#endif
|
|
||||||
, supportdir);
|
|
||||||
asperr = addsearchpath(dirpath);
|
|
||||||
if (asperr == -2)
|
|
||||||
{
|
|
||||||
if (Bmkdir(dirpath, S_IRWXU) == 0)
|
|
||||||
{
|
|
||||||
asperr = addsearchpath(dirpath);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
asperr = -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (asperr == 0)
|
|
||||||
{
|
|
||||||
chdir(dirpath);
|
|
||||||
}
|
|
||||||
free(supportdir);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (g_grpNamePtr == NULL)
|
|
||||||
{
|
|
||||||
const char *cp = getenv("SWGRP");
|
|
||||||
if (cp)
|
|
||||||
{
|
|
||||||
clearGrpNamePtr();
|
|
||||||
g_grpNamePtr = dup_filename(cp);
|
|
||||||
initprintf("Using \"%s\" as main GRP file\n", g_grpNamePtr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
wm_setapptitle("Shadow Warrior");
|
initprintf(APPNAME " %s\n", s_buildRev);
|
||||||
|
PrintBuildInfo();
|
||||||
|
|
||||||
|
SW_ExtInit();
|
||||||
|
|
||||||
|
i = CONFIG_ReadSetup();
|
||||||
|
|
||||||
if (enginePreInit())
|
if (enginePreInit())
|
||||||
{
|
{
|
||||||
wm_msgbox("Build Engine Initialisation Error",
|
wm_msgbox("Build Engine Initialisation Error",
|
||||||
|
@ -3501,9 +3424,7 @@ int32_t app_main(int32_t argc, char const * const * argv)
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
i = CONFIG_ReadSetup();
|
#ifdef STARTUP_SETUP_WINDOW
|
||||||
|
|
||||||
#if defined RENDERTYPEWIN || (defined RENDERTYPESDL && (defined __APPLE__ || defined HAVE_GTK2))
|
|
||||||
if (i < 0 || displaysetup || CommandSetup)
|
if (i < 0 || displaysetup || CommandSetup)
|
||||||
{
|
{
|
||||||
if (quitevent || !startwin_run())
|
if (quitevent || !startwin_run())
|
||||||
|
@ -3523,7 +3444,7 @@ int32_t app_main(int32_t argc, char const * const * argv)
|
||||||
|
|
||||||
if (SW_SHAREWARE)
|
if (SW_SHAREWARE)
|
||||||
{
|
{
|
||||||
wm_setapptitle("Shadow Warrior Shareware");
|
wm_setapptitle(APPNAME " Shareware");
|
||||||
|
|
||||||
// Zero out the maps that aren't in shareware version
|
// Zero out the maps that aren't in shareware version
|
||||||
memset(&LevelInfo[MAX_LEVELS_SW+1], 0, sizeof(LEVEL_INFO)*(MAX_LEVELS_REG-MAX_LEVELS_SW));
|
memset(&LevelInfo[MAX_LEVELS_SW+1], 0, sizeof(LEVEL_INFO)*(MAX_LEVELS_REG-MAX_LEVELS_SW));
|
||||||
|
@ -3531,7 +3452,7 @@ int32_t app_main(int32_t argc, char const * const * argv)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wm_setapptitle("Shadow Warrior");
|
wm_setapptitle(APPNAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < MAX_SW_PLAYERS; i++)
|
for (i = 0; i < MAX_SW_PLAYERS; i++)
|
||||||
|
|
Loading…
Reference in a new issue