mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-12 11:10:39 +00:00
Windows: Add the default installation paths for the GOG.com release of Duke Nukem 3D: Atomic Edition and the Steam release of Duke Nukem 3D: Megaton Edition (if they exist) to EDuke32's search path.
git-svn-id: https://svn.eduke32.com/eduke32@3581 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
b46d4460bc
commit
bdc4f7cd68
6 changed files with 49 additions and 18 deletions
|
@ -26,3 +26,5 @@ extern void win_close(void);
|
||||||
extern void ShowErrorBox(const char *m);
|
extern void ShowErrorBox(const char *m);
|
||||||
|
|
||||||
extern LPTSTR GetWindowsErrorMsg(DWORD code);
|
extern LPTSTR GetWindowsErrorMsg(DWORD code);
|
||||||
|
|
||||||
|
extern int32_t addsearchpath_ProgramFiles(const char *p);
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include "build.h"
|
#include "build.h"
|
||||||
#include "baselayer.h"
|
#include "baselayer.h"
|
||||||
#include "osd.h"
|
#include "osd.h"
|
||||||
|
#include "cache1d.h"
|
||||||
#include "winbits.h"
|
#include "winbits.h"
|
||||||
|
|
||||||
#ifndef DEBUGGINGAIDS
|
#ifndef DEBUGGINGAIDS
|
||||||
|
@ -274,4 +275,22 @@ LPTSTR GetWindowsErrorMsg(DWORD code)
|
||||||
return lpMsgBuf;
|
return lpMsgBuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32_t addsearchpath_ProgramFiles(const char *p)
|
||||||
|
{
|
||||||
|
int32_t returncode = -1, i;
|
||||||
|
const char *ProgramFiles[2] = { Bgetenv("ProgramFiles"), Bgetenv("ProgramFiles(x86)") };
|
||||||
|
|
||||||
|
for (i = 0; i < 2; ++i)
|
||||||
|
{
|
||||||
|
if (ProgramFiles[i])
|
||||||
|
{
|
||||||
|
char *buffer = (char*)Bmalloc((strlen(ProgramFiles[i])+1+strlen(p)+1)*sizeof(char));
|
||||||
|
Bsprintf(buffer,"%s/%s",ProgramFiles[i],p);
|
||||||
|
if (addsearchpath(buffer) == 0) // if any work, return success
|
||||||
|
returncode = 0;
|
||||||
|
Bfree(buffer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return returncode;
|
||||||
|
}
|
||||||
|
|
|
@ -10244,15 +10244,7 @@ int32_t ExtInit(void)
|
||||||
int32_t i;
|
int32_t i;
|
||||||
char cwd[BMAX_PATH];
|
char cwd[BMAX_PATH];
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
|
G_AddSearchPaths();
|
||||||
addsearchpath("/usr/share/games/jfduke3d");
|
|
||||||
addsearchpath("/usr/local/share/games/jfduke3d");
|
|
||||||
addsearchpath("/usr/share/games/eduke32");
|
|
||||||
addsearchpath("/usr/local/share/games/eduke32");
|
|
||||||
#elif defined(__APPLE__)
|
|
||||||
addsearchpath("/Library/Application Support/JFDuke3D");
|
|
||||||
addsearchpath("/Library/Application Support/EDuke32");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (getcwd(cwd,BMAX_PATH))
|
if (getcwd(cwd,BMAX_PATH))
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,6 +10,10 @@
|
||||||
#include "baselayer.h"
|
#include "baselayer.h"
|
||||||
#include "names.h"
|
#include "names.h"
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
# include "winbits.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "common_game.h"
|
#include "common_game.h"
|
||||||
|
|
||||||
|
@ -195,6 +199,24 @@ void G_MultiPskyInit(void)
|
||||||
|
|
||||||
//////////
|
//////////
|
||||||
|
|
||||||
|
void G_AddSearchPaths(void)
|
||||||
|
{
|
||||||
|
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
|
||||||
|
addsearchpath("/usr/share/games/jfduke3d");
|
||||||
|
addsearchpath("/usr/local/share/games/jfduke3d");
|
||||||
|
addsearchpath("/usr/share/games/eduke32");
|
||||||
|
addsearchpath("/usr/local/share/games/eduke32");
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
addsearchpath("/Library/Application Support/JFDuke3D");
|
||||||
|
addsearchpath("/Library/Application Support/EDuke32");
|
||||||
|
#elif defined (_WIN32)
|
||||||
|
addsearchpath_ProgramFiles("GOG.com/Duke Nukem 3D");
|
||||||
|
addsearchpath_ProgramFiles("Steam/SteamApps/common/Duke Nukem 3D/gameroot");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////
|
||||||
|
|
||||||
struct strllist *CommandPaths, *CommandGrps;
|
struct strllist *CommandPaths, *CommandGrps;
|
||||||
|
|
||||||
void G_AddGroup(const char *buffer)
|
void G_AddGroup(const char *buffer)
|
||||||
|
|
|
@ -49,4 +49,8 @@ extern void clearScriptNamePtr(void);
|
||||||
|
|
||||||
extern void G_MultiPskyInit(void);
|
extern void G_MultiPskyInit(void);
|
||||||
|
|
||||||
|
//////////
|
||||||
|
|
||||||
|
extern void G_AddSearchPaths(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -10174,15 +10174,7 @@ int32_t app_main(int32_t argc, const char **argv)
|
||||||
);
|
);
|
||||||
initprintf("Compiled %s\n", __DATE__" "__TIME__);
|
initprintf("Compiled %s\n", __DATE__" "__TIME__);
|
||||||
|
|
||||||
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
|
G_AddSearchPaths();
|
||||||
addsearchpath("/usr/share/games/jfduke3d");
|
|
||||||
addsearchpath("/usr/local/share/games/jfduke3d");
|
|
||||||
addsearchpath("/usr/share/games/eduke32");
|
|
||||||
addsearchpath("/usr/local/share/games/eduke32");
|
|
||||||
#elif defined(__APPLE__)
|
|
||||||
addsearchpath("/Library/Application Support/JFDuke3D");
|
|
||||||
addsearchpath("/Library/Application Support/EDuke32");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
g_numSkills = 4;
|
g_numSkills = 4;
|
||||||
ud.multimode = 1;
|
ud.multimode = 1;
|
||||||
|
|
Loading…
Reference in a new issue