Multiplayer: Completely disabled interrupts in a COOP game, because it is still buggy. So the ALT + E workaround on the server (to give turn back to client on stuck interrupt) should not be needed anymore

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8296 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2016-09-12 18:03:19 +00:00
parent 9395fcc8a2
commit 1e51250475
3 changed files with 21 additions and 1 deletions
+5 -1
View File
@@ -148,9 +148,13 @@ extern char cServerName[30];
//OJW - 20081224
#define MAX_CONNECT_RETRIES 5
// WANNE: Completly disable interrupts in a multiplayer COOP game (see TeamTurns.cpp::StandardInterruptConditionsMet), because we still have problems in the code with AI interrupts calculated on the pure client
// This also disabled the "override turn" dialog, which would be displayed on the server by pressing ALT + E, because it should not be needed anymore
#define DISABLE_MP_INTERRUPTS_IN_COOP
// WANNE: After some MP-Tests: It seems there are still problems with enemy interupt and if this define is enabled the ALT + E (give turn to client) does not work either. So I disabled this define for now ...
// WANNE: If this define is enabled, it hopefully fixes the "enemy AI got stuck on pure client interrupt". (this "fix" was added in revision 5623)
//#define INTERRUPT_MP_DEADLOCK_FIX
#define INTERRUPT_MP_DEADLOCK_FIX
// WANNE: This features seems to work without any errors, so it is enabled :)
#define ENABLE_MP_FRIENDLY_PLAYERS_SHARE_SAME_FOV
+9
View File
@@ -1506,6 +1506,15 @@ BOOLEAN StandardInterruptConditionsMet( SOLDIERTYPE * pSoldier, UINT8 ubOpponent
INT8 bDir;
SOLDIERTYPE * pOpponent;
#ifdef DISABLE_MP_INTERRUPTS_IN_COOP
if (is_networked == TRUE && cGameType == MP_TYPE_COOP)
{
return ( FALSE );
}
#endif
if ( (gTacticalStatus.uiFlags & TURNBASED) && (gTacticalStatus.uiFlags & INCOMBAT) && !(gubSightFlags & SIGHT_INTERRUPT) )
{
return( FALSE );
+7
View File
@@ -1880,6 +1880,11 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
}
*/
//#ifdef DISABLE_MP_INTERRUPTS_IN_COOP
// WANNE: Not needed to show the override turn dialog
//#else
if ((InputEvent.usEvent == KEY_DOWN )&& ( InputEvent.usParam == 'e') )
{
if( InputEvent.usKeyState & ALT_DOWN )
@@ -1891,6 +1896,8 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
}
}
//#endif
if ((InputEvent.usEvent == KEY_DOWN )&& ( InputEvent.usParam == 'k') )
{
if( InputEvent.usKeyState & ALT_DOWN )