If newdemo_start_playback fails if random file is given set -autodemo to 0 to prevent endless loop
This commit is contained in:
parent
ac840f306b
commit
06cf80ab18
|
@ -4,6 +4,7 @@ D1X-Rebirth Changelog
|
||||||
--------
|
--------
|
||||||
main/gamecntl.c: Fixing showing options menu in demos - was still called (or rather not) by obsolete variable
|
main/gamecntl.c: Fixing showing options menu in demos - was still called (or rather not) by obsolete variable
|
||||||
main/newmenu.c, main/newmenu.h, main/automap.c, main/game.c, main/kconfig.c, arch/sdl/event.c, arch/sdl/joy.c, arch/sdl/init.c, arch/sdl/key.c, arch/sdl/mouse.c, arch/include/mouse.h: Only use one single call of timer_get_fixed_seconds() for whole SDL event loop; Abstracted grabbing mouse and mouse cursor toogle to mouse functions instead of calling SDL functions inside of non-arch code; Automatically hide mouse cursor if it's not used for more than 3 seconds; Reworked placement of mouse grabbing toggle; Do not read any mouse input if -nomouse is given
|
main/newmenu.c, main/newmenu.h, main/automap.c, main/game.c, main/kconfig.c, arch/sdl/event.c, arch/sdl/joy.c, arch/sdl/init.c, arch/sdl/key.c, arch/sdl/mouse.c, arch/include/mouse.h: Only use one single call of timer_get_fixed_seconds() for whole SDL event loop; Abstracted grabbing mouse and mouse cursor toogle to mouse functions instead of calling SDL functions inside of non-arch code; Automatically hide mouse cursor if it's not used for more than 3 seconds; Reworked placement of mouse grabbing toggle; Do not read any mouse input if -nomouse is given
|
||||||
|
main/newdemo.c: If newdemo_start_playback fails if random file is given set -autodemo to 0 to prevent endless loop
|
||||||
|
|
||||||
|
|
||||||
20100715
|
20100715
|
||||||
|
|
|
@ -3319,6 +3319,7 @@ void newdemo_start_playback(char * filename)
|
||||||
NumFiles = newdemo_count_demos();
|
NumFiles = newdemo_count_demos();
|
||||||
|
|
||||||
if ( NumFiles == 0 ) {
|
if ( NumFiles == 0 ) {
|
||||||
|
GameArg.SysAutoDemo = 0;
|
||||||
return; // No files found!
|
return; // No files found!
|
||||||
}
|
}
|
||||||
RandFileNum = d_rand() % NumFiles;
|
RandFileNum = d_rand() % NumFiles;
|
||||||
|
@ -3339,11 +3340,17 @@ void newdemo_start_playback(char * filename)
|
||||||
PHYSFS_freeList(find);
|
PHYSFS_freeList(find);
|
||||||
|
|
||||||
if (NumFiles > RandFileNum)
|
if (NumFiles > RandFileNum)
|
||||||
|
{
|
||||||
|
GameArg.SysAutoDemo = 0;
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// if in random mode, PhysFS may look for all possible files, so check if filename actually points to be a demo file...
|
// if in random mode, PhysFS may look for all possible files, so check if filename actually points to be a demo file...
|
||||||
if (strnicmp(".dem",&filename2[strlen(filename2)-4],4))
|
if (strnicmp(".dem",&filename2[strlen(filename2)-4],4))
|
||||||
|
{
|
||||||
|
GameArg.SysAutoDemo = 0;
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
infile = PHYSFSX_openReadBuffered(filename2);
|
infile = PHYSFSX_openReadBuffered(filename2);
|
||||||
|
|
Loading…
Reference in a new issue