MCPcopy Create free account
hub / github.com/diasurgical/devilution / nthread_recv_turns

Function nthread_recv_turns

Source/nthread.cpp:72–106  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

70}
71
72BOOL nthread_recv_turns(BOOL *pfSendAsync)
73{
74 *pfSendAsync = FALSE;
75 sgbPacketCountdown--;
76 if (sgbPacketCountdown) {
77 last_tick += 50;
78 return TRUE;
79 }
80 sgbSyncCountdown--;
81 sgbPacketCountdown = sgbNetUpdateRate;
82 if (sgbSyncCountdown != 0) {
83
84 *pfSendAsync = TRUE;
85 last_tick += 50;
86 return TRUE;
87 }
88 if (!SNetReceiveTurns(0, MAX_PLRS, (char **)glpMsgTbl, gdwMsgLenTbl, (LPDWORD)player_state)) {
89 if (SErrGetLastError() != STORM_ERROR_NO_MESSAGES_WAITING)
90 nthread_terminate_game("SNetReceiveTurns");
91 sgbTicsOutOfSync = FALSE;
92 sgbSyncCountdown = 1;
93 sgbPacketCountdown = 1;
94 return FALSE;
95 } else {
96 if (!sgbTicsOutOfSync) {
97 sgbTicsOutOfSync = TRUE;
98 last_tick = SDL_GetTicks();
99 }
100 sgbSyncCountdown = 4;
101 multi_msg_countdown();
102 *pfSendAsync = TRUE;
103 last_tick += 50;
104 return TRUE;
105 }
106}
107
108void nthread_set_turn_upper_bit()
109{

Callers 3

msg_wait_for_turnsFunction · 0.85
nthread_handlerFunction · 0.85
multi_handle_deltaFunction · 0.85

Calls 4

SNetReceiveTurnsFunction · 0.85
SErrGetLastErrorFunction · 0.85
nthread_terminate_gameFunction · 0.85
multi_msg_countdownFunction · 0.85

Tested by

no test coverage detected