mirror of
https://github.com/jmarshall23/Hellfire.git
synced 2026-08-12 07:50:53 +02:00
Initial commit.
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
/*-----------------------------------------------------------------------**
|
||||
** Diablo
|
||||
**
|
||||
** Constants and Variables
|
||||
**
|
||||
** (C)1995 Condor, Inc. All rights reserved.
|
||||
**-----------------------------------------------------------------------**
|
||||
** $Header: /Diablo/MULTI.H 2 1/23/97 12:21p Jmorin $
|
||||
**-----------------------------------------------------------------------*/
|
||||
|
||||
|
||||
//******************************************************************
|
||||
// constants
|
||||
//******************************************************************
|
||||
// for every X async messages, we send X/8 sync messages
|
||||
#define ASYNC_CYCLES_PER_SYNC 4
|
||||
|
||||
// Near house
|
||||
#define STARTX 75
|
||||
#define STARTY 68
|
||||
|
||||
#define TURN_REQUEST_DELTA_FLAG 0x80000000
|
||||
#define TURN_COUNTER_MASK 0x7fffffff
|
||||
#define TURN_COUNTER_RESET_MASK 0x0000ffff
|
||||
|
||||
|
||||
//******************************************************************
|
||||
// variables
|
||||
//******************************************************************
|
||||
extern BYTE gbMaxPlayers;
|
||||
extern BYTE gbActivePlayers;
|
||||
extern BYTE gbDropInactive;
|
||||
extern BYTE gbGameDestroyed;
|
||||
extern BYTE gbGameLoopsPerPacket;
|
||||
extern DWORD gdwTurnsInTransit;
|
||||
extern BYTE gbDeltaSender;
|
||||
extern char gszGameName[128];
|
||||
extern char gszGamePass[128];
|
||||
|
||||
|
||||
enum {
|
||||
// msg buffering off when program running in normal game mode
|
||||
BUFFER_OFF = 0,
|
||||
|
||||
// msg buffering on when program waiting for level delta info,
|
||||
// because program cannot handle any other messages besides deltas
|
||||
BUFFER_ON,
|
||||
|
||||
// processing msgs which were stored in the message buffer
|
||||
BUFFER_PROCESS
|
||||
};
|
||||
extern BYTE gbBufferMsgs;
|
||||
|
||||
|
||||
// results from receiving the last synchronous turn
|
||||
extern DWORD gdwMsgLenTbl[MAX_PLRS];
|
||||
extern LPVOID glpMsgTbl[MAX_PLRS];
|
||||
extern DWORD gdwMsgStatTbl[MAX_PLRS];
|
||||
|
||||
|
||||
//******************************************************************
|
||||
// functions
|
||||
//******************************************************************
|
||||
// multi.cpp
|
||||
BOOL NetInit(BOOL bSinglePlayer,BOOL * pfExitProgram);
|
||||
void NetClose();
|
||||
void NetReceivePackets();
|
||||
BOOL NetEndSendCycle();
|
||||
void NetDropInactive();
|
||||
void process_turn();
|
||||
|
||||
void NetSendLoPri(const BYTE * pbMsg,BYTE bLen);
|
||||
void NetSendHiPri(const BYTE * pbMsg,BYTE bLen);
|
||||
void NetSendMyselfPri(const BYTE * pbMsg,BYTE bLen);
|
||||
void NetSendMask(DWORD dwSendMask,const BYTE * pbMsg,BYTE bLen);
|
||||
|
||||
// sync.cpp
|
||||
void sync_init();
|
||||
DWORD sync_get(BYTE * pbBuf,DWORD dwMaxLen);
|
||||
DWORD sync_update(int pnum,const BYTE * pbBuf);
|
||||
|
||||
// nthread.cpp
|
||||
void nthread_init(BOOL bRequestDelta);
|
||||
void nthread_free();
|
||||
BOOL nthread_run_gameloop(BOOL bReloop);
|
||||
void nthread_perform_keepalive(BOOL bStart);
|
||||
DWORD nthread_fill_sync_queue(DWORD dwCounter,DWORD dwIncrement);
|
||||
BOOL nthread_msg_check(BOOL * pfSendAsync);
|
||||
Reference in New Issue
Block a user