//HEADER_GOES_HERE
#ifndef __NTHREAD_H__
#define __NTHREAD_H__

extern BYTE gbDeltaTurnsSec; // weak
extern DWORD gdwMsgLenTbl[4];
extern int gdwDeltaBytesSec; // weak
extern DWORD gdwTurnsInTransit; // weak
extern DWORD *glpMsgTbl[4];
extern char sgbSyncCountdown; // weak
extern int dword_679754; // weak
extern char byte_679758; // weak
extern char sgbPacketCountdown; // weak
extern char sgbThreadIsRunning; // weak
extern int gdwLargestMsgSize; // weak
extern int gdwNormalMsgSize; // weak
extern int dword_679764; // weak

void nthread_terminate_game(const char *pszFcn);
DWORD nthread_send_and_recv_turn(DWORD cur_turn, int turn_delta);
BOOL nthread_recv_turns(BOOL *pfSendAsync);
void nthread_set_turn_upper_bit();
void nthread_start(BOOL set_turn_upper_bit);
unsigned int __stdcall nthread_handler(void *dummy);
void nthread_cleanup();
void nthread_ignore_mutex(BOOL bStart);
BOOL nthread_has_500ms_passed(BOOL unused);

#endif /* __NTHREAD_H__ */
