Amulets & Armor  v1.02
Open Source Game
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Data Structures | Macros | Functions | Variables
CSYNCPCK

Synchronized Communication Packet Handling. More...

Data Structures

struct  T_syncObjectIdHistoryItem
 
struct  T_waitingSyncAction
 

Macros

#define MAX_HISTORY_PACKETS   100
 
#define MAX_OBJECT_ID_HISTORY   64
 
#define MAX_SYNC_AHEAD   3
 
#define MAX_SYNC_PLAYERS   8
 

Functions

T_void ClientSyncEnsureSend (T_void)
 
T_void ClientSyncFinish (T_void)
 
T_gameGroupID ClientSyncGetGameGroupID (T_void)
 
T_objMoveStructClientSyncGetLastGoodMove (T_void)
 
T_byte8 ClientSyncGetNumberPlayers (T_void)
 
T_void ClientSyncInit (T_void)
 
T_void ClientSyncInitPlayersHere (T_void)
 
T_void ClientSyncPacketEvaluate (T_syncronizePacket *p_sync)
 
T_void ClientSyncPacketProcess (T_syncronizePacket *p_sync)
 
T_void ClientSyncReceiveRetransmitPacket (T_packetEitherShortOrLong *p_packet)
 
T_void ClientSyncReset (T_void)
 
T_void ClientSyncSendActionAbortLevel (T_void)
 
T_void ClientSyncSendActionActivateForward (T_void)
 
T_void ClientSyncSendActionAreaSound (T_word16 sound, T_word16 radius, E_Boolean isVoicing)
 
T_void ClientSyncSendActionChangeSelf (T_bodyPartLocation location, T_word16 newPart)
 
T_void ClientSyncSendActionDropAt (T_word16 objectType, T_sword16 x, T_sword16 y, T_word16 accData)
 
T_void ClientSyncSendActionLeaveLevel (T_word16 newLevel)
 
T_void ClientSyncSendActionMeleeAttack (T_word16 damageAmount, E_effectDamageType damageType, T_word16 targetId)
 
T_void ClientSyncSendActionMissileAttack (T_word16 missileType, T_word16 target)
 
T_void ClientSyncSendActionPauseGameToggle (T_void)
 
T_void ClientSyncSendActionPickLock (T_word16 doorSector, T_word16 pickerID)
 
T_void ClientSyncSendActionPickUpItem (T_word16 itemID, E_Boolean autoStore)
 
T_void ClientSyncSendActionSteal (T_word16 objectID, T_word16 stealerID, E_Boolean notifyOwner)
 
T_void ClientSyncSendActionStolen (T_word16 objectType, T_word16 stealerID)
 
T_void ClientSyncSendActionThrowItem (T_word16 itemType, T_word16 angle, T_word16 throwSpeed, T_word16 objectAccData)
 
T_void ClientSyncSendGotoPlace (T_word16 newPlace)
 
T_void ClientSyncSendIdSelf (T_byte8 *p_name)
 
T_void ClientSyncSetGameGroupID (T_gameGroupID groupID)
 
T_void ClientSyncSetNumberPlayers (T_byte8 numPlayers)
 
T_void ClientSyncUpdate (T_void)
 

Variables

T_word16 G_statRecv = 0
 
T_word16 G_statSend = 0
 
T_byte8 G_syncAhead = 0
 
T_syncObjectIdHistoryItem G_syncObjectIdHistory [MAX_OBJECT_ID_HISTORY]
 
T_word16 G_syncObjectIdHistoryPos = 0
 

Detailed Description

Synchronized Communication Packet Handling.

When A&A was converted to the new communications system, this layer of code was added underneath the current client/server system to allow synchronized communications.

See Also
http://www.amuletsandarmor.com/AALicense.txt

Macro Definition Documentation

#define MAX_HISTORY_PACKETS   100
#define MAX_OBJECT_ID_HISTORY   64
#define MAX_SYNC_AHEAD   3
#define MAX_SYNC_PLAYERS   8

Function Documentation

T_void ClientSyncEnsureSend ( T_void  )
T_void ClientSyncFinish ( T_void  )
T_gameGroupID ClientSyncGetGameGroupID ( T_void  )
T_objMoveStruct* ClientSyncGetLastGoodMove ( T_void  )
T_byte8 ClientSyncGetNumberPlayers ( T_void  )
T_void ClientSyncInit ( T_void  )
T_void ClientSyncInitPlayersHere ( T_void  )
T_void ClientSyncPacketEvaluate ( T_syncronizePacket p_sync)

ClientSyncPacketProcess processes a full sync packet that was received from the server. This may or may not be refering to the player.

Parameters
p_sync– Syncronize packet to process
T_void ClientSyncPacketProcess ( T_syncronizePacket p_sync)
T_void ClientSyncReceiveRetransmitPacket ( T_packetEitherShortOrLong p_packet)
T_void ClientSyncReset ( T_void  )
T_void ClientSyncSendActionAbortLevel ( T_void  )
T_void ClientSyncSendActionActivateForward ( T_void  )
T_void ClientSyncSendActionAreaSound ( T_word16  sound,
T_word16  radius,
E_Boolean  isVoicing 
)
T_void ClientSyncSendActionChangeSelf ( T_bodyPartLocation  location,
T_word16  newPart 
)
T_void ClientSyncSendActionDropAt ( T_word16  objectType,
T_sword16  x,
T_sword16  y,
T_word16  accData 
)
T_void ClientSyncSendActionLeaveLevel ( T_word16  newLevel)
T_void ClientSyncSendActionMeleeAttack ( T_word16  damageAmount,
E_effectDamageType  damageType,
T_word16  targetId 
)
T_void ClientSyncSendActionMissileAttack ( T_word16  missileType,
T_word16  target 
)
T_void ClientSyncSendActionPauseGameToggle ( T_void  )
T_void ClientSyncSendActionPickLock ( T_word16  doorSector,
T_word16  pickerID 
)
T_void ClientSyncSendActionPickUpItem ( T_word16  itemID,
E_Boolean  autoStore 
)
T_void ClientSyncSendActionSteal ( T_word16  objectID,
T_word16  stealerID,
E_Boolean  notifyOwner 
)
T_void ClientSyncSendActionStolen ( T_word16  objectType,
T_word16  stealerID 
)
T_void ClientSyncSendActionThrowItem ( T_word16  itemType,
T_word16  angle,
T_word16  throwSpeed,
T_word16  objectAccData 
)
T_void ClientSyncSendGotoPlace ( T_word16  newPlace)
T_void ClientSyncSendIdSelf ( T_byte8 p_name)
T_void ClientSyncSetGameGroupID ( T_gameGroupID  groupID)
T_void ClientSyncSetNumberPlayers ( T_byte8  numPlayers)
T_void ClientSyncUpdate ( T_void  )

Variable Documentation

T_word16 G_statRecv = 0
T_word16 G_statSend = 0
T_byte8 G_syncAhead = 0
T_word16 G_syncObjectIdHistoryPos = 0