Devilution
Diablo devolved - magic behind the 1996 computer game
|
Go to the documentation of this file.
7 #include "../3rdParty/Storm/Source/storm.h"
35 sErr = SErrGetLastError();
36 if (sErr == STORM_ERROR_INVALID_PLAYER) {
38 }
else if (sErr == STORM_ERROR_GAME_TERMINATED) {
40 }
else if (sErr == STORM_ERROR_NOT_IN_GAME) {
51 int curTurnsInTransit;
53 new_cur_turn = cur_turn;
54 if (!SNetGetTurnsInTransit(&curTurnsInTransit)) {
65 if (!SNetSendTurn((
char *)&turn,
sizeof(turn))) {
70 new_cur_turn += turn_delta;
71 if (new_cur_turn >= 0x7FFFFFFF)
72 new_cur_turn &= 0xFFFF;
94 if (SErrGetLastError() != STORM_ERROR_NO_MESSAGES_WAITING)
120 const char *err, *err2;
121 DWORD largestMsgSize;
128 if (set_turn_upper_bit)
133 if (!SNetGetProviderCaps(&caps)) {
135 app_fatal(
"SNetGetProviderCaps:\n%s", err);
144 largestMsgSize = 512;
226 DWORD currentTickCount;
229 currentTickCount = SDL_GetTicks();
230 ticksElapsed = currentTickCount -
last_tick;
235 return ticksElapsed >= 0;
void nthread_ignore_mutex(BOOL bStart)
uintptr_t glpMsgTbl[MAX_PLRS]
void multi_msg_countdown()
DWORD nthread_send_and_recv_turn(DWORD cur_turn, int turn_delta)
DWORD gdwMsgLenTbl[MAX_PLRS]
static CCritSect sgMemCrit
void nthread_start(BOOL set_turn_upper_bit)
BYTE gbMaxPlayers
Specifies the maximum number of players in a game, where 1 represents a single player game and 4 repr...
void app_fatal(const char *pszFmt,...)
#define DEVILUTION_END_NAMESPACE
BOOL nthread_has_500ms_passed(BOOL unused)
DEVILUTION_BEGIN_NAMESPACE BYTE sgbNetUpdateRate
void nthread_terminate_game(const char *pszFcn)
int player_state[MAX_PLRS]
static SDL_Thread * sghThread
SDL_threadID glpNThreadId
void nthread_set_turn_upper_bit()
BOOLEAN sgbThreadIsRunning
BOOL nthread_recv_turns(BOOL *pfSendAsync)
DWORD defaultturnsintransit
BOOLEAN nthread_should_run
unsigned int nthread_handler(void *data)