mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-11 07:11:39 +00:00
Mapster32: take initial map file name from ExtPreInit()->G_CheckCommandLine().
Instead of directly in build.c:app_main(). Previously, it was possible that an argument to an option, e.g. "WGR2" with "-game_dir WGR2", would get interpreted as the initial map to load. This in turn would attempt to execute WGR2.cfg as sequence of OSD commands -- where that file is an EDuke32 config file instead! Now: maps are passed without any options, e.g. "mapster32 [opts...] debug.map". The map file name is not added to the "additional parameters" for map testing. git-svn-id: https://svn.eduke32.com/eduke32@4121 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
94e3856b76
commit
c2797e4b11
3 changed files with 12 additions and 5 deletions
|
@ -177,6 +177,7 @@ extern void ExtEditWallData(int16_t wallnum);
|
||||||
extern void ExtEditSpriteData(int16_t spritenum);
|
extern void ExtEditSpriteData(int16_t spritenum);
|
||||||
extern const char *ExtGetSectorType(int32_t lotag);
|
extern const char *ExtGetSectorType(int32_t lotag);
|
||||||
|
|
||||||
|
extern void B_SetBoardFileName(const char *fn);
|
||||||
extern int32_t LoadBoard(const char *filename, uint32_t flags);
|
extern int32_t LoadBoard(const char *filename, uint32_t flags);
|
||||||
extern const char *SaveBoard(const char *fn, uint32_t flags);
|
extern const char *SaveBoard(const char *fn, uint32_t flags);
|
||||||
extern const char *GetSaveBoardFilename(const char *fn);
|
extern const char *GetSaveBoardFilename(const char *fn);
|
||||||
|
|
|
@ -131,6 +131,11 @@ char *testplay_addparam = 0;
|
||||||
static char boardfilename[BMAX_PATH], selectedboardfilename[BMAX_PATH];
|
static char boardfilename[BMAX_PATH], selectedboardfilename[BMAX_PATH];
|
||||||
//extern char levelname[BMAX_PATH]; // in astub.c XXX: clean up this mess!!!
|
//extern char levelname[BMAX_PATH]; // in astub.c XXX: clean up this mess!!!
|
||||||
|
|
||||||
|
void B_SetBoardFileName(const char *fn)
|
||||||
|
{
|
||||||
|
Bstrncpyz(boardfilename, fn, BMAX_PATH);
|
||||||
|
}
|
||||||
|
|
||||||
static fnlist_t fnlist;
|
static fnlist_t fnlist;
|
||||||
static CACHE1D_FIND_REC *finddirshigh=NULL, *findfileshigh=NULL;
|
static CACHE1D_FIND_REC *finddirshigh=NULL, *findfileshigh=NULL;
|
||||||
static int32_t currentlist=0;
|
static int32_t currentlist=0;
|
||||||
|
@ -523,7 +528,6 @@ int32_t app_main(int32_t argc, const char **argv)
|
||||||
backgroundidle = 1;
|
backgroundidle = 1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
boardfilename[0] = 0;
|
|
||||||
for (i=1; i<argc; i++)
|
for (i=1; i<argc; i++)
|
||||||
{
|
{
|
||||||
if (argv[i][0] == '-')
|
if (argv[i][0] == '-')
|
||||||
|
@ -553,9 +557,6 @@ int32_t app_main(int32_t argc, const char **argv)
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!boardfilename[0])
|
|
||||||
Bstrncpyz(boardfilename, argv[i], BMAX_PATH);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (boardfilename[0] == 0)
|
if (boardfilename[0] == 0)
|
||||||
|
|
|
@ -8780,7 +8780,12 @@ static void G_CheckCommandLine(int32_t argc, const char **argv)
|
||||||
k = Bstrrchr(c,'.');
|
k = Bstrrchr(c,'.');
|
||||||
if (k)
|
if (k)
|
||||||
{
|
{
|
||||||
if (!Bstrcasecmp(k,".grp") || !Bstrcasecmp(k,".zip"))
|
if (!Bstrcasecmp(k,".map"))
|
||||||
|
{
|
||||||
|
B_SetBoardFileName(argv[i++]);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (!Bstrcasecmp(k,".grp") || !Bstrcasecmp(k,".zip"))
|
||||||
{
|
{
|
||||||
COPYARG(i);
|
COPYARG(i);
|
||||||
G_AddGroup(argv[i++]);
|
G_AddGroup(argv[i++]);
|
||||||
|
|
Loading…
Reference in a new issue