mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 19:20:46 +00:00
Add support for the versions of Duke it out in D.C., Duke Caribbean: Life's a Beach, and Duke: Nuclear Winter packaged with Duke Nukem 3D: Megaton Edition on Steam. This allows them to be launched directly from the startup window and also adds an "-addon" command line parameter that should allow the duke3d.exe included with Megaton Edition to be replaced with a copy of EDuke32.
git-svn-id: https://svn.eduke32.com/eduke32@3654 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
bbdc035335
commit
606e7cce98
9 changed files with 210 additions and 26 deletions
|
@ -129,6 +129,7 @@ const char *G_GrpFile(void)
|
||||||
else
|
else
|
||||||
return g_grpNamePtr;
|
return g_grpNamePtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *G_DefFile(void)
|
const char *G_DefFile(void)
|
||||||
{
|
{
|
||||||
if (g_defNamePtr == NULL)
|
if (g_defNamePtr == NULL)
|
||||||
|
@ -136,6 +137,7 @@ const char *G_DefFile(void)
|
||||||
else
|
else
|
||||||
return g_defNamePtr;
|
return g_defNamePtr;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *G_ConFile(void)
|
const char *G_ConFile(void)
|
||||||
{
|
{
|
||||||
if (g_scriptNamePtr == NULL)
|
if (g_scriptNamePtr == NULL)
|
||||||
|
@ -273,6 +275,25 @@ void G_AddSearchPaths(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void G_CleanupSearchPaths(void)
|
||||||
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
char buf[BMAX_PATH];
|
||||||
|
|
||||||
|
if (G_GetInstallPath(INSTPATH_STEAM))
|
||||||
|
{
|
||||||
|
Bsprintf(buf, "%s/gameroot", G_GetInstallPath(INSTPATH_STEAM));
|
||||||
|
removesearchpath(buf);
|
||||||
|
|
||||||
|
Bsprintf(buf, "%s/gameroot/addons", G_GetInstallPath(INSTPATH_STEAM));
|
||||||
|
removesearchpath(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (G_GetInstallPath(INSTPATH_GOG))
|
||||||
|
removesearchpath(G_GetInstallPath(INSTPATH_GOG));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
//////////
|
//////////
|
||||||
|
|
||||||
struct strllist *CommandPaths, *CommandGrps;
|
struct strllist *CommandPaths, *CommandGrps;
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#define GAMEFLAG_NAM 0x00000002
|
#define GAMEFLAG_NAM 0x00000002
|
||||||
#define GAMEFLAG_NAPALM 0x00000004
|
#define GAMEFLAG_NAPALM 0x00000004
|
||||||
#define GAMEFLAG_WW2GI 0x00000008
|
#define GAMEFLAG_WW2GI 0x00000008
|
||||||
|
#define GAMEFLAG_ADDON 0x00000010
|
||||||
|
|
||||||
extern int32_t g_gameType;
|
extern int32_t g_gameType;
|
||||||
|
|
||||||
|
@ -60,6 +61,7 @@ extern void G_MultiPskyInit(void);
|
||||||
extern void G_ExtPreInit(void);
|
extern void G_ExtPreInit(void);
|
||||||
|
|
||||||
extern void G_AddSearchPaths(void);
|
extern void G_AddSearchPaths(void);
|
||||||
|
extern void G_CleanupSearchPaths(void);
|
||||||
|
|
||||||
extern const char * G_GetInstallPath(int32_t insttype);
|
extern const char * G_GetInstallPath(int32_t insttype);
|
||||||
|
|
||||||
|
|
|
@ -618,7 +618,7 @@ int32_t CONFIG_ReadSetup(void)
|
||||||
}
|
}
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
if (g_grpNamePtr == NULL)
|
if (g_grpNamePtr == NULL && g_usingAddon == 0)
|
||||||
SCRIPT_GetStringPtr(ud.config.scripthandle, "Setup","SelectedGRP",&g_grpNamePtr);
|
SCRIPT_GetStringPtr(ud.config.scripthandle, "Setup","SelectedGRP",&g_grpNamePtr);
|
||||||
|
|
||||||
if (!NAM)
|
if (!NAM)
|
||||||
|
|
|
@ -136,6 +136,8 @@ char **g_scriptModules = NULL;
|
||||||
int32_t g_scriptModulesNum = 0;
|
int32_t g_scriptModulesNum = 0;
|
||||||
char **g_defModules = NULL;
|
char **g_defModules = NULL;
|
||||||
int32_t g_defModulesNum = 0;
|
int32_t g_defModulesNum = 0;
|
||||||
|
int32_t g_dependencyCRC = 0;
|
||||||
|
int32_t g_usingAddon = 0;
|
||||||
|
|
||||||
#ifdef HAVE_CLIPSHAPE_FEATURE
|
#ifdef HAVE_CLIPSHAPE_FEATURE
|
||||||
char **g_clipMapFiles = NULL;
|
char **g_clipMapFiles = NULL;
|
||||||
|
@ -8771,6 +8773,21 @@ static void G_CheckCommandLine(int32_t argc, const char **argv)
|
||||||
G_ShowParameterHelp();
|
G_ShowParameterHelp();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
if (!Bstrcasecmp(c+1,"addon"))
|
||||||
|
{
|
||||||
|
if (argc > i+1)
|
||||||
|
{
|
||||||
|
g_usingAddon = atoi(argv[i+1]);
|
||||||
|
|
||||||
|
if (g_usingAddon > ADDON_NONE && g_usingAddon < NUMADDONS)
|
||||||
|
g_noSetup = 1;
|
||||||
|
else g_usingAddon = ADDON_NONE;
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!Bstrcasecmp(c+1,"debughelp") || !Bstrcasecmp(c+1,"-debughelp"))
|
if (!Bstrcasecmp(c+1,"debughelp") || !Bstrcasecmp(c+1,"-debughelp"))
|
||||||
{
|
{
|
||||||
G_ShowDebugHelp();
|
G_ShowDebugHelp();
|
||||||
|
@ -10102,6 +10119,46 @@ void G_MaybeAllocPlayer(int32_t pnum)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void G_LoadAddon(void)
|
||||||
|
{
|
||||||
|
struct grpfile * grp;
|
||||||
|
int32_t crc;
|
||||||
|
|
||||||
|
switch (g_usingAddon)
|
||||||
|
{
|
||||||
|
case ADDON_DUKEDC:
|
||||||
|
crc = DUKEDC_CRC;
|
||||||
|
break;
|
||||||
|
case ADDON_NWINTER:
|
||||||
|
crc = DUKENW_CRC;
|
||||||
|
break;
|
||||||
|
case ADDON_CARIBBEAN:
|
||||||
|
crc = DUKECB_CRC;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!crc) return;
|
||||||
|
|
||||||
|
grp = FindGroup(crc);
|
||||||
|
|
||||||
|
if (grp && FindGroup(DUKE15_CRC))
|
||||||
|
{
|
||||||
|
int32_t i;
|
||||||
|
|
||||||
|
clearGrpNamePtr();
|
||||||
|
g_grpNamePtr = dup_filename(FindGroup(DUKE15_CRC)->name);
|
||||||
|
|
||||||
|
G_AddGroup(grp->name);
|
||||||
|
|
||||||
|
for (i = 0; i<NUMGRPFILES; i++) if (crc == grpfiles[i].crcval) break;
|
||||||
|
if (i != NUMGRPFILES && grpfiles[i].scriptname)
|
||||||
|
{
|
||||||
|
clearScriptNamePtr();
|
||||||
|
g_scriptNamePtr = dup_filename(grpfiles[i].scriptname);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EDUKE32_STATIC_ASSERT(sizeof(actor_t)==128);
|
EDUKE32_STATIC_ASSERT(sizeof(actor_t)==128);
|
||||||
EDUKE32_STATIC_ASSERT(sizeof(DukePlayer_t)%4 == 0);
|
EDUKE32_STATIC_ASSERT(sizeof(DukePlayer_t)%4 == 0);
|
||||||
|
|
||||||
|
@ -10392,8 +10449,6 @@ int32_t app_main(int32_t argc, const char **argv)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
FreeGroups();
|
|
||||||
|
|
||||||
if (WW2GI || NAM)
|
if (WW2GI || NAM)
|
||||||
{
|
{
|
||||||
Bstrcpy(GametypeNames[0],"GruntMatch (Spawn)");
|
Bstrcpy(GametypeNames[0],"GruntMatch (Spawn)");
|
||||||
|
@ -10424,9 +10479,24 @@ int32_t app_main(int32_t argc, const char **argv)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (g_usingAddon)
|
||||||
|
G_LoadAddon();
|
||||||
|
|
||||||
{
|
{
|
||||||
const char *grpfile = G_GrpFile();
|
const char *grpfile = G_GrpFile();
|
||||||
|
|
||||||
|
if (g_dependencyCRC)
|
||||||
|
{
|
||||||
|
struct grpfile * grp = FindGroup(g_dependencyCRC);
|
||||||
|
if (grp)
|
||||||
|
{
|
||||||
|
if ((i = initgroupfile(grp->name)) == -1)
|
||||||
|
initprintf("Warning: could not find main data file \"%s\"!\n",grp->name);
|
||||||
|
else
|
||||||
|
initprintf("Using \"%s\" as main game data file.\n", grp->name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ((i = initgroupfile(grpfile)) == -1)
|
if ((i = initgroupfile(grpfile)) == -1)
|
||||||
initprintf("Warning: could not find main data file \"%s\"!\n",grpfile);
|
initprintf("Warning: could not find main data file \"%s\"!\n",grpfile);
|
||||||
else
|
else
|
||||||
|
@ -10441,19 +10511,7 @@ int32_t app_main(int32_t argc, const char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _WIN32
|
FreeGroups();
|
||||||
if (G_GetInstallPath(INSTPATH_STEAM))
|
|
||||||
{
|
|
||||||
Bsprintf(buf, "%s/gameroot", G_GetInstallPath(INSTPATH_STEAM));
|
|
||||||
removesearchpath(buf);
|
|
||||||
|
|
||||||
Bsprintf(buf, "%s/gameroot/addons", G_GetInstallPath(INSTPATH_STEAM));
|
|
||||||
removesearchpath(buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (G_GetInstallPath(INSTPATH_GOG))
|
|
||||||
removesearchpath(G_GetInstallPath(INSTPATH_GOG));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (g_modDir[0] != '/')
|
if (g_modDir[0] != '/')
|
||||||
G_LoadGroupsInDir(g_modDir);
|
G_LoadGroupsInDir(g_modDir);
|
||||||
|
@ -10499,6 +10557,8 @@ int32_t app_main(int32_t argc, const char **argv)
|
||||||
pathsearchmode = 0;
|
pathsearchmode = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
G_CleanupSearchPaths();
|
||||||
|
|
||||||
i = kopen4load("DUKESW.BIN",1); // JBF 20030810
|
i = kopen4load("DUKESW.BIN",1); // JBF 20030810
|
||||||
if (i!=-1)
|
if (i!=-1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -242,6 +242,7 @@ extern int32_t g_cameraClock;
|
||||||
extern int32_t g_cameraDistance;
|
extern int32_t g_cameraDistance;
|
||||||
#endif
|
#endif
|
||||||
extern int32_t g_crosshairSum;
|
extern int32_t g_crosshairSum;
|
||||||
|
extern int32_t g_dependencyCRC;
|
||||||
extern int32_t g_doQuickSave;
|
extern int32_t g_doQuickSave;
|
||||||
extern int32_t g_forceWeaponChoice;
|
extern int32_t g_forceWeaponChoice;
|
||||||
extern int32_t g_fakeMultiMode;
|
extern int32_t g_fakeMultiMode;
|
||||||
|
@ -249,6 +250,7 @@ extern int32_t g_levelTextTime;
|
||||||
extern int32_t g_noSetup;
|
extern int32_t g_noSetup;
|
||||||
extern int32_t g_quitDeadline;
|
extern int32_t g_quitDeadline;
|
||||||
extern int32_t g_restorePalette;
|
extern int32_t g_restorePalette;
|
||||||
|
extern int32_t g_usingAddon;
|
||||||
extern int32_t hud_glowingquotes;
|
extern int32_t hud_glowingquotes;
|
||||||
extern int32_t hud_showmapname;
|
extern int32_t hud_showmapname;
|
||||||
extern int32_t lastvisinc;
|
extern int32_t lastvisinc;
|
||||||
|
|
|
@ -33,15 +33,18 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
struct grpfile grpfiles[NUMGRPFILES] =
|
struct grpfile grpfiles[NUMGRPFILES] =
|
||||||
{
|
{
|
||||||
{ "Duke Nukem 3D", (int32_t)0xBBC9CE44, 26524524, GAMEFLAG_DUKE, NULL },
|
{ "Duke Nukem 3D", DUKE13_CRC, 26524524, GAMEFLAG_DUKE, 0, NULL, NULL },
|
||||||
{ "Duke Nukem 3D (South Korean Censored)", (int32_t)0xAA4F6A40, 26385383, GAMEFLAG_DUKE, NULL },
|
{ "Duke Nukem 3D (South Korean Censored)", DUKEKR_CRC, 26385383, GAMEFLAG_DUKE, 0, NULL, NULL },
|
||||||
{ "Duke Nukem 3D: Atomic Edition", (int32_t)0xFD3DCFF1, 44356548, GAMEFLAG_DUKE, NULL },
|
{ "Duke Nukem 3D: Atomic Edition", DUKE15_CRC, 44356548, GAMEFLAG_DUKE, 0, NULL, NULL },
|
||||||
{ "Duke Nukem 3D: Plutonium Pak", (int32_t)0xF514A6AC, 44348015, GAMEFLAG_DUKE, NULL },
|
{ "Duke Nukem 3D: Plutonium Pak", DUKEPP_CRC, 44348015, GAMEFLAG_DUKE, 0, NULL, NULL },
|
||||||
{ "Duke Nukem 3D Shareware", (int32_t)0x983AD923, 11035779, GAMEFLAG_DUKE, NULL },
|
{ "Duke Nukem 3D Shareware", DUKESW_CRC, 11035779, GAMEFLAG_DUKE, 0, NULL, NULL },
|
||||||
{ "Duke Nukem 3D Mac Shareware", (int32_t)0xC5F71561, 10444391, GAMEFLAG_DUKE, NULL },
|
{ "Duke Nukem 3D Mac Demo", DUKEMD_CRC, 10444391, GAMEFLAG_DUKE, 0, NULL, NULL },
|
||||||
{ "NAM", (int32_t)0x75C1F07B, 43448927, GAMEFLAG_NAM, NULL },
|
{ "Duke it out in D.C.", DUKEDC_CRC, 8410183 , GAMEFLAG_DUKE|GAMEFLAG_ADDON, DUKE15_CRC, NULL, NULL },
|
||||||
{ "NAPALM", (int32_t)0x3DE1589A, 44365728, GAMEFLAG_NAM|GAMEFLAG_NAPALM, NULL },
|
{ "Duke Caribbean: Life's a Beach", DUKECB_CRC, 22213819, GAMEFLAG_DUKE|GAMEFLAG_ADDON, DUKE15_CRC, NULL, NULL },
|
||||||
{ "WWII GI", (int32_t)0x907B82BF, 77939508, GAMEFLAG_WW2GI|GAMEFLAG_NAM, NULL },
|
{ "Duke: Nuclear Winter", DUKENW_CRC, 16169365, GAMEFLAG_DUKE|GAMEFLAG_ADDON, DUKE15_CRC, "nwinter.con", NULL },
|
||||||
|
{ "NAM", NAM_CRC, 43448927, GAMEFLAG_NAM, 0, NULL, NULL },
|
||||||
|
{ "NAPALM", NAPALM_CRC, 44365728, GAMEFLAG_NAM|GAMEFLAG_NAPALM, 0, NULL, NULL },
|
||||||
|
{ "WWII GI", WW2GI_CRC, 77939508, GAMEFLAG_WW2GI|GAMEFLAG_NAM, 0, NULL, NULL },
|
||||||
};
|
};
|
||||||
struct grpfile *foundgrps = NULL;
|
struct grpfile *foundgrps = NULL;
|
||||||
|
|
||||||
|
@ -101,6 +104,41 @@ static void FreeGroupsCache(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RemoveGroup(int32_t crcval)
|
||||||
|
{
|
||||||
|
struct grpfile *grp, *fg;
|
||||||
|
|
||||||
|
for (grp = foundgrps; grp; grp=grp->next)
|
||||||
|
{
|
||||||
|
if (grp->crcval == crcval)
|
||||||
|
{
|
||||||
|
if (grp == foundgrps)
|
||||||
|
foundgrps = grp->next;
|
||||||
|
else fg->next = grp->next;
|
||||||
|
|
||||||
|
Bfree((char *)grp->name);
|
||||||
|
Bfree(grp);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
fg = grp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
struct grpfile * FindGroup(int32_t crcval)
|
||||||
|
{
|
||||||
|
struct grpfile *grp;
|
||||||
|
|
||||||
|
for (grp = foundgrps; grp; grp=grp->next)
|
||||||
|
{
|
||||||
|
if (grp->crcval == crcval)
|
||||||
|
return grp;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
int32_t ScanGroups(void)
|
int32_t ScanGroups(void)
|
||||||
{
|
{
|
||||||
CACHE1D_FIND_REC *srch, *sidx;
|
CACHE1D_FIND_REC *srch, *sidx;
|
||||||
|
@ -199,6 +237,31 @@ int32_t ScanGroups(void)
|
||||||
klistfree(srch);
|
klistfree(srch);
|
||||||
FreeGroupsCache();
|
FreeGroupsCache();
|
||||||
|
|
||||||
|
for (grp = foundgrps; grp; /*grp=grp->next*/)
|
||||||
|
{
|
||||||
|
int32_t i;
|
||||||
|
|
||||||
|
for (i = 0; i<NUMGRPFILES; i++) if (grp->crcval == grpfiles[i].crcval) break;
|
||||||
|
if (i == NUMGRPFILES) continue; // unrecognised grp file
|
||||||
|
|
||||||
|
if (grpfiles[i].dependency)
|
||||||
|
{
|
||||||
|
//initprintf("found grp with dep\n");
|
||||||
|
for (grp = foundgrps; grp; grp=grp->next)
|
||||||
|
if (grp->crcval == grpfiles[i].dependency) break;
|
||||||
|
|
||||||
|
if (grp == NULL || grp->crcval != grpfiles[i].dependency) // couldn't find dependency
|
||||||
|
{
|
||||||
|
//initprintf("removing %s\n", grp->name);
|
||||||
|
RemoveGroup(grpfiles[i].crcval);
|
||||||
|
grp = foundgrps;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
grp=grp->next;
|
||||||
|
}
|
||||||
|
|
||||||
if (usedgrpcache)
|
if (usedgrpcache)
|
||||||
{
|
{
|
||||||
int32_t i = 0;
|
int32_t i = 0;
|
||||||
|
@ -227,6 +290,7 @@ int32_t ScanGroups(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void FreeGroups(void)
|
void FreeGroups(void)
|
||||||
{
|
{
|
||||||
struct grpfile *fg;
|
struct grpfile *fg;
|
||||||
|
|
|
@ -24,18 +24,43 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
#define __grpscan_h__
|
#define __grpscan_h__
|
||||||
|
|
||||||
// List of internally-known GRP files
|
// List of internally-known GRP files
|
||||||
#define NUMGRPFILES 9
|
#define NUMGRPFILES 12
|
||||||
|
|
||||||
|
#define DUKE13_CRC (int32_t)0xBBC9CE44
|
||||||
|
#define DUKEKR_CRC (int32_t)0xAA4F6A40
|
||||||
|
#define DUKE15_CRC (int32_t)0xFD3DCFF1
|
||||||
|
#define DUKEPP_CRC (int32_t)0xF514A6AC
|
||||||
|
#define DUKESW_CRC (int32_t)0x983AD923
|
||||||
|
#define DUKEMD_CRC (int32_t)0xC5F71561
|
||||||
|
#define DUKEDC_CRC (int32_t)0xA8CF80DA
|
||||||
|
#define DUKECB_CRC (int32_t)0x18F01C5B
|
||||||
|
#define DUKENW_CRC (int32_t)0xF1CAE8E4
|
||||||
|
#define NAM_CRC (int32_t)0x75C1F07B
|
||||||
|
#define NAPALM_CRC (int32_t)0x3DE1589A
|
||||||
|
#define WW2GI_CRC (int32_t)0x907B82BF
|
||||||
|
|
||||||
|
enum addon_t {
|
||||||
|
ADDON_NONE,
|
||||||
|
ADDON_DUKEDC,
|
||||||
|
ADDON_NWINTER,
|
||||||
|
ADDON_CARIBBEAN,
|
||||||
|
NUMADDONS
|
||||||
|
};
|
||||||
|
|
||||||
typedef struct grpfile {
|
typedef struct grpfile {
|
||||||
const char *name;
|
const char *name;
|
||||||
int32_t crcval;
|
int32_t crcval;
|
||||||
int32_t size;
|
int32_t size;
|
||||||
int32_t game;
|
int32_t game;
|
||||||
|
int32_t dependency;
|
||||||
|
const char *scriptname;
|
||||||
struct grpfile *next;
|
struct grpfile *next;
|
||||||
} grpfile_type;
|
} grpfile_type;
|
||||||
|
|
||||||
extern struct grpfile grpfiles[NUMGRPFILES];
|
extern struct grpfile grpfiles[NUMGRPFILES];
|
||||||
extern struct grpfile *foundgrps;
|
extern struct grpfile *foundgrps;
|
||||||
|
|
||||||
|
extern struct grpfile * FindGroup(int32_t crcval);
|
||||||
int32_t ScanGroups(void);
|
int32_t ScanGroups(void);
|
||||||
void FreeGroups(void);
|
void FreeGroups(void);
|
||||||
|
|
||||||
|
|
|
@ -932,7 +932,12 @@ int32_t startwin_run(void)
|
||||||
|
|
||||||
for (i = 0; i<NUMGRPFILES; i++) if (settings.crcval == grpfiles[i].crcval) break;
|
for (i = 0; i<NUMGRPFILES; i++) if (settings.crcval == grpfiles[i].crcval) break;
|
||||||
if (i != NUMGRPFILES)
|
if (i != NUMGRPFILES)
|
||||||
|
{
|
||||||
g_gameNamePtr = grpfiles[i].name;
|
g_gameNamePtr = grpfiles[i].name;
|
||||||
|
g_dependencyCRC = grpfiles[i].dependency;
|
||||||
|
if (grpfiles[i].scriptname && g_scriptNamePtr == NULL)
|
||||||
|
g_scriptNamePtr = dup_filename(grpfiles[i].scriptname);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
|
|
|
@ -799,7 +799,12 @@ int32_t startwin_run(void)
|
||||||
|
|
||||||
for (i = 0; i<NUMGRPFILES; i++) if (settings.crcval == grpfiles[i].crcval) break;
|
for (i = 0; i<NUMGRPFILES; i++) if (settings.crcval == grpfiles[i].crcval) break;
|
||||||
if (i != NUMGRPFILES)
|
if (i != NUMGRPFILES)
|
||||||
|
{
|
||||||
g_gameNamePtr = grpfiles[i].name;
|
g_gameNamePtr = grpfiles[i].name;
|
||||||
|
g_dependencyCRC = grpfiles[i].dependency;
|
||||||
|
if (grpfiles[i].scriptname && g_scriptNamePtr == NULL)
|
||||||
|
g_scriptNamePtr = dup_filename(grpfiles[i].scriptname);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wavedevs)
|
if (wavedevs)
|
||||||
|
|
Loading…
Reference in a new issue