fixed CL_NextDemo not being called after a drop error or fopen failing

This commit is contained in:
myT 2022-04-09 03:50:16 +02:00
parent 9b114e7886
commit fa1cee73e0
3 changed files with 8 additions and 3 deletions

View file

@ -25,6 +25,10 @@ chg: with r_backend GL3, depth fade with MSAA now requires GLSL 4.00 at a minimu
chg: with r_backend GL3, alpha to coverage now requires GLSL 4.00 at a minimum
fix: the nextdemo variable wasn't used to start the playback of a new demo when:
- a drop error happened during demo playback
- the engine failed to open the current demo file
fix: the Linux/FreeBSD client could crash during start-up
fix: with r_backend D3D11, the alpha channel's blend factors now match the original Q3 behavior

View file

@ -375,6 +375,7 @@ void CL_PlayDemo_f()
CL_WalkDemoExt( demoPath, &fh );
if ( fh == 0 ) {
Com_Printf( "Couldn't open demo %s\n", demoPath );
CL_NextDemo();
return;
}

View file

@ -308,10 +308,10 @@ void QDECL Com_ErrorExt( int code, int module, qbool realError, const char *fmt,
const qbool demo = CL_DemoPlaying();
CL_Disconnect( qtrue );
CL_FlushMemory(); // shuts down the VMs and starts them back up
if ( realError )
CL_ForwardUIError( code == ERR_DROP ? EXT_ERRLEV_DROP : EXT_ERRLEV_DISC, module, com_errorMessage );
else if ( demo )
if ( demo && *Cvar_VariableString("nextdemo") != '\0' )
CL_NextDemo();
else if ( realError )
CL_ForwardUIError( code == ERR_DROP ? EXT_ERRLEV_DROP : EXT_ERRLEV_DISC, module, com_errorMessage );
#endif
com_errorEntered = qfalse;
longjmp (abortframe, -1);