- Improve game_restart:
* differing screen resolutions and network settings are now honoured when changing fs_game * Fix hunk memory leak on game_restart * Move cls.state and cls.servername to clc so connection state is fully preserved over game_restart * Revert back to previous fs_game after disconnecting from a server that triggered a game_restart * Fix error dialog popping up after every game_restart if an error happened previously (reported by Ensiform) - Fixed that not all commands added by CL_Init() would be removed by CL_Shutdown()
This commit is contained in:
parent
adc143e050
commit
dee3724a13
17 changed files with 354 additions and 191 deletions
|
@ -1281,7 +1281,7 @@ static void RoQShutdown( void ) {
|
|||
}
|
||||
|
||||
if (cinTable[currentHandle].alterGameState) {
|
||||
cls.state = CA_DISCONNECTED;
|
||||
clc.state = CA_DISCONNECTED;
|
||||
// we can't just do a vstr nextmap, because
|
||||
// if we are aborting the intro cinematic with
|
||||
// a devmap command, nextmap would be valid by
|
||||
|
@ -1314,7 +1314,7 @@ e_status CIN_StopCinematic(int handle) {
|
|||
}
|
||||
|
||||
if (cinTable[currentHandle].alterGameState) {
|
||||
if ( cls.state != CA_CINEMATIC ) {
|
||||
if ( clc.state != CA_CINEMATIC ) {
|
||||
return cinTable[currentHandle].status;
|
||||
}
|
||||
}
|
||||
|
@ -1355,7 +1355,7 @@ e_status CIN_RunCinematic (int handle)
|
|||
currentHandle = handle;
|
||||
|
||||
if (cinTable[currentHandle].alterGameState) {
|
||||
if ( cls.state != CA_CINEMATIC ) {
|
||||
if ( clc.state != CA_CINEMATIC ) {
|
||||
return cinTable[currentHandle].status;
|
||||
}
|
||||
}
|
||||
|
@ -1479,7 +1479,7 @@ int CIN_PlayCinematic( const char *arg, int x, int y, int w, int h, int systemBi
|
|||
Com_DPrintf("trFMV::play(), playing %s\n", arg);
|
||||
|
||||
if (cinTable[currentHandle].alterGameState) {
|
||||
cls.state = CA_CINEMATIC;
|
||||
clc.state = CA_CINEMATIC;
|
||||
}
|
||||
|
||||
Con_Close();
|
||||
|
@ -1614,7 +1614,7 @@ void CL_PlayCinematic_f(void) {
|
|||
int bits = CIN_system;
|
||||
|
||||
Com_DPrintf("CL_PlayCinematic_f\n");
|
||||
if (cls.state == CA_CINEMATIC) {
|
||||
if (clc.state == CA_CINEMATIC) {
|
||||
SCR_StopCinematic();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue