Browse Source

multi_handle_events bin exact (#1056)

pull/93/head
qndel 7 years ago committed by Anders Jenbo
parent
commit
ec6deaec98
  1. 30
      Source/multi.cpp

30
Source/multi.cpp

@ -642,31 +642,31 @@ char multi_event_handler(int a1)
void __stdcall multi_handle_events(_SNETEVENT *pEvt)
{
int v1; // ecx
int *v2; // eax
int *v3; // eax
int LeftReason;
int *data;
switch (pEvt->eventid) {
case EVENT_TYPE_PLAYER_CREATE_GAME:
v3 = (int *)pEvt->data;
sgGameInitInfo.dwSeed = *v3;
_LOBYTE(sgGameInitInfo.bDiff) = *((_BYTE *)v3 + 4);
sgbPlayerTurnBitTbl[pEvt->playerid] = 1;
data = (int *)pEvt->data;
sgGameInitInfo.dwSeed = data[0];
sgGameInitInfo.bDiff = data[1];
sgbPlayerTurnBitTbl[pEvt->playerid] = TRUE;
break;
case EVENT_TYPE_PLAYER_LEAVE_GAME:
v1 = 0;
sgbPlayerLeftGameTbl[pEvt->playerid] = TRUE;
sgbPlayerTurnBitTbl[pEvt->playerid] = 0;
v2 = (int *)pEvt->data;
if (v2 && pEvt->databytes >= 4u)
v1 = *v2;
sgdwPlayerLeftReasonTbl[pEvt->playerid] = v1;
if (v1 == 0x40000004)
sgbPlayerTurnBitTbl[pEvt->playerid] = FALSE;
LeftReason = 0;
data = (int *)pEvt->data;
if (data && (DWORD)pEvt->databytes >= 4)
LeftReason = data[0];
sgdwPlayerLeftReasonTbl[pEvt->playerid] = LeftReason;
if (LeftReason == 0x40000004)
gbSomebodyWonGameKludge = TRUE;
sgbSendDeltaTbl[pEvt->playerid] = FALSE;
dthread_remove_player(pEvt->playerid);
if (gbDeltaSender == pEvt->playerid)
gbDeltaSender = 4;
gbDeltaSender = MAX_PLRS;
break;
case EVENT_TYPE_PLAYER_MESSAGE:
ErrorPlrMsg((char *)pEvt->data);

Loading…
Cancel
Save