mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-16 09:21:36 +00:00
SW: Some GRP/def infrastructure.
git-svn-id: https://svn.eduke32.com/eduke32@5217 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
0fc284d5bf
commit
6b89b482b3
6 changed files with 88 additions and 28 deletions
|
@ -3,6 +3,43 @@
|
|||
|
||||
#include "common_game.h"
|
||||
|
||||
static const char *defaultgrpfilename = "sw.grp";
|
||||
static const char *defaultdeffilename = "sw.def";
|
||||
|
||||
// g_grpNamePtr can ONLY point to a malloc'd block (length BMAX_PATH)
|
||||
char *g_grpNamePtr = NULL;
|
||||
|
||||
void clearGrpNamePtr(void)
|
||||
{
|
||||
if (g_grpNamePtr != NULL)
|
||||
Bfree(g_grpNamePtr);
|
||||
// g_grpNamePtr assumed to be assigned to right after
|
||||
}
|
||||
|
||||
const char *G_DefaultGrpFile(void)
|
||||
{
|
||||
return defaultgrpfilename;
|
||||
}
|
||||
const char *G_GrpFile(void)
|
||||
{
|
||||
if (g_grpNamePtr == NULL)
|
||||
return G_DefaultGrpFile();
|
||||
else
|
||||
return g_grpNamePtr;
|
||||
}
|
||||
|
||||
const char *G_DefaultDefFile(void)
|
||||
{
|
||||
return defaultdeffilename;
|
||||
}
|
||||
const char *G_DefFile(void)
|
||||
{
|
||||
if (g_defNamePtr == NULL)
|
||||
return G_DefaultDefFile();
|
||||
else
|
||||
return g_defNamePtr;
|
||||
}
|
||||
|
||||
#define NUMPSKYMULTIS 1
|
||||
EDUKE32_STATIC_ASSERT(NUMPSKYMULTIS <= MAXPSKYMULTIS);
|
||||
EDUKE32_STATIC_ASSERT(PSKYOFF_MAX <= MAXPSKYTILES);
|
||||
|
|
|
@ -132,6 +132,12 @@ extern "C" {
|
|||
#define MACRO10 "ITTAIIIUUU!!!"
|
||||
|
||||
|
||||
extern char *g_grpNamePtr;
|
||||
|
||||
const char *G_DefaultGrpFile(void);
|
||||
const char *G_GrpFile(void);
|
||||
|
||||
void clearGrpNamePtr(void);
|
||||
|
||||
void SW_InitMultiPsky(void);
|
||||
|
||||
|
|
|
@ -89,6 +89,7 @@ Things required to make savegames work:
|
|||
#include "text.h"
|
||||
#include "music.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "common_game.h"
|
||||
|
||||
#include "crc32.h"
|
||||
|
@ -929,7 +930,6 @@ void COVERsetbrightness(int bright, unsigned char *pal)
|
|||
|
||||
static int firstnet = 0; // JBF
|
||||
int nextvoxid = 0; // JBF
|
||||
static const char *deffile = "sw.def";
|
||||
|
||||
extern int startwin_run(void);
|
||||
|
||||
|
@ -951,7 +951,7 @@ InitGame(int32_t argc, const char **argv)
|
|||
exit(1);
|
||||
}
|
||||
|
||||
//initgroupfile("sw.grp"); // JBF: moving this close to start of program to detect shareware
|
||||
//initgroupfile(G_GrpFile()); // JBF: moving this close to start of program to detect shareware
|
||||
InitSetup();
|
||||
|
||||
InitAutoNet();
|
||||
|
@ -1063,7 +1063,12 @@ InitGame(int32_t argc, const char **argv)
|
|||
if (!SW_SHAREWARE)
|
||||
LoadCustomInfoFromScript("swcustom.txt"); // Load user customisation information
|
||||
|
||||
if (!loaddefinitionsfile(deffile)) buildputs("Definitions file loaded.\n");
|
||||
if (!loaddefinitionsfile(G_DefFile())) buildputs("Definitions file loaded.\n");
|
||||
|
||||
for (i=0; i < g_defModulesNum; ++i)
|
||||
Bfree(g_defModules[i]);
|
||||
Bfree(g_defModules);
|
||||
g_defModules = NULL;
|
||||
|
||||
DemoModeMenuInit = TRUE;
|
||||
// precache as much stuff as you can
|
||||
|
@ -3446,7 +3451,6 @@ void CommandLineHelp(const char **argv)
|
|||
#endif
|
||||
}
|
||||
|
||||
char *grpfile = "sw.grp";
|
||||
int32_t app_main(int32_t argc, const char **argv)
|
||||
{
|
||||
int i;
|
||||
|
@ -3567,13 +3571,15 @@ int32_t app_main(int32_t argc, const char **argv)
|
|||
}
|
||||
|
||||
OSD_SetLogFile("sw.log");
|
||||
|
||||
if (g_grpNamePtr == NULL)
|
||||
{
|
||||
char *newgrp;
|
||||
newgrp = getenv("SWGRP");
|
||||
if (newgrp)
|
||||
const char *cp = getenv("SWGRP");
|
||||
if (cp)
|
||||
{
|
||||
grpfile = newgrp;
|
||||
buildprintf("Using alternative GRP file: %s\n", newgrp);
|
||||
clearGrpNamePtr();
|
||||
g_grpNamePtr = dup_filename(cp);
|
||||
initprintf("Using \"%s\" as main GRP file\n", g_grpNamePtr);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3598,7 +3604,7 @@ int32_t app_main(int32_t argc, const char **argv)
|
|||
}
|
||||
#endif
|
||||
|
||||
initgroupfile(grpfile);
|
||||
initgroupfile(G_GrpFile());
|
||||
if (!DetectShareware())
|
||||
{
|
||||
if (SW_SHAREWARE) buildputs("Detected shareware GRP\n");
|
||||
|
@ -4088,10 +4094,12 @@ int32_t app_main(int32_t argc, const char **argv)
|
|||
else if (Bstrncasecmp(arg, "h", 1) == 0 && !SW_SHAREWARE)
|
||||
{
|
||||
if (strlen(arg) > 1)
|
||||
{
|
||||
deffile = (arg+1);
|
||||
buildprintf("Using DEF file %s.\n", arg+1);
|
||||
}
|
||||
G_AddDef(arg+1);
|
||||
}
|
||||
else if (Bstrncasecmp(arg, "mh", 1) == 0 && !SW_SHAREWARE)
|
||||
{
|
||||
if (strlen(arg) > 1)
|
||||
G_AddDefModule(arg+1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -36,6 +36,7 @@ Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms
|
|||
#include "tags.h"
|
||||
#include "pal.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "common_game.h"
|
||||
|
||||
#define M_RED 102
|
||||
|
@ -76,7 +77,6 @@ SWBOOL bSpinBobVoxels = TRUE; // Do twizzly stuff to voxels
|
|||
SWBOOL bAutoSize = TRUE; // Autosizing on/off
|
||||
|
||||
int nextvoxid = 0;
|
||||
char *defsfilename = "sw.def";
|
||||
|
||||
// Globals used to hold current sprite type being searched for.
|
||||
short FindPicNum = 0;
|
||||
|
@ -607,7 +607,7 @@ ExtInit(void)
|
|||
void InitPalette(void);
|
||||
int i, fil;
|
||||
|
||||
initgroupfile("sw.grp");
|
||||
initgroupfile(G_GrpFile());
|
||||
if ((fil = open("setup.dat", O_BINARY | O_RDWR, S_IREAD)) != -1)
|
||||
{
|
||||
read(fil, &option[0], NUMOPTIONS);
|
||||
|
@ -655,7 +655,6 @@ int
|
|||
ExtInit(void)
|
||||
{
|
||||
int rv = 0;
|
||||
char *swgrp = "sw.grp";
|
||||
|
||||
#ifndef BUILD_DEV_VER
|
||||
char ch;
|
||||
|
@ -729,12 +728,17 @@ ExtInit(void)
|
|||
}
|
||||
}
|
||||
|
||||
if (getenv("SWGRP"))
|
||||
if (g_grpNamePtr == NULL)
|
||||
{
|
||||
swgrp = getenv("SWGRP");
|
||||
buildprintf("Using %s as main GRP file\n", swgrp);
|
||||
const char *cp = getenv("SWGRP");
|
||||
if (cp)
|
||||
{
|
||||
clearGrpNamePtr();
|
||||
g_grpNamePtr = dup_filename(cp);
|
||||
initprintf("Using \"%s\" as main GRP file\n", g_grpNamePtr);
|
||||
}
|
||||
}
|
||||
initgroupfile(swgrp);
|
||||
initgroupfile(G_GrpFile());
|
||||
/*
|
||||
if ((fil = open("setup.dat", O_BINARY | O_RDWR, S_IREAD)) != -1)
|
||||
{
|
||||
|
|
|
@ -21,9 +21,13 @@
|
|||
|
||||
#include "types.h"
|
||||
#include "build.h"
|
||||
|
||||
#include "baselayer.h"
|
||||
#include "grpscan.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "common_game.h"
|
||||
|
||||
#define TAB_CONFIG 0
|
||||
#define TAB_GAME 1
|
||||
#define TAB_MESSAGES 2
|
||||
|
@ -715,7 +719,6 @@ int startwin_idle(void *s)
|
|||
}
|
||||
|
||||
extern int32_t ScreenMode, ScreenWidth, ScreenHeight, ScreenBPP, ForceSetup, UseMouse, UseJoystick;
|
||||
extern char *grpfile; // game.c
|
||||
|
||||
int startwin_run(void)
|
||||
{
|
||||
|
@ -733,7 +736,7 @@ int startwin_run(void)
|
|||
settings.forcesetup = ForceSetup;
|
||||
settings.usemouse = UseMouse;
|
||||
settings.usejoy = UseJoystick;
|
||||
strncpy(settings.selectedgrp, grpfile, BMAX_PATH);
|
||||
Bstrncpyz(settings.selectedgrp, G_GrpFile(), BMAX_PATH);
|
||||
PopulateForm(-1);
|
||||
|
||||
gtk_main();
|
||||
|
@ -748,7 +751,7 @@ int startwin_run(void)
|
|||
ForceSetup = settings.forcesetup;
|
||||
UseMouse = settings.usemouse;
|
||||
UseJoystick = settings.usejoy;
|
||||
grpfile = settings.selectedgrp;
|
||||
g_grpNamePtr = dup_filename(settings.selectedgrp);
|
||||
}
|
||||
|
||||
return retval;
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
#include "build.h"
|
||||
#include "renderlayer.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "common_game.h"
|
||||
|
||||
#include "gamedefs.h"
|
||||
#include "config.h"
|
||||
|
||||
|
@ -600,8 +603,6 @@ int startwin_idle(void *v)
|
|||
return 0;
|
||||
}
|
||||
|
||||
extern char *grpfile; // game.c
|
||||
|
||||
int startwin_run(void)
|
||||
{
|
||||
MSG msg;
|
||||
|
@ -624,7 +625,7 @@ int startwin_run(void)
|
|||
settings.forcesetup = ForceSetup;
|
||||
settings.usemouse = UseMouse;
|
||||
settings.usejoy = UseJoystick;
|
||||
strncpy(settings.selectedgrp, grpfile, BMAX_PATH);
|
||||
Bstrncpyz(settings.selectedgrp, G_GrpFile(), BMAX_PATH);
|
||||
PopulateForm(-1);
|
||||
|
||||
while (done < 0)
|
||||
|
@ -655,7 +656,8 @@ int startwin_run(void)
|
|||
ForceSetup = settings.forcesetup;
|
||||
UseMouse = settings.usemouse;
|
||||
UseJoystick = settings.usejoy;
|
||||
grpfile = settings.selectedgrp;
|
||||
clearGrpNamePtr();
|
||||
g_grpNamePtr = dup_filename(settings.selectedgrp);
|
||||
}
|
||||
|
||||
FreeGroups();
|
||||
|
|
Loading…
Reference in a new issue