diff options
| author | fusion32 <marcopuzziello@gmail.com> | 2025-07-01 09:26:06 -0300 |
|---|---|---|
| committer | fusion32 <marcopuzziello@gmail.com> | 2025-07-01 09:26:39 -0300 |
| commit | 5cfe00df82a69f44187b1cd77fe3d6865cf3425f (patch) | |
| tree | 395527bb97a908035ef9d6b1eb354b591005264f /src/reader.hh | |
| parent | 6243967f1fac3af8ed3e72790cabed0f79978bdb (diff) | |
| download | game-5cfe00df82a69f44187b1cd77fe3d6865cf3425f.tar.gz game-5cfe00df82a69f44187b1cd77fe3d6865cf3425f.zip | |
`reader.cc`
Diffstat (limited to 'src/reader.hh')
| -rw-r--r-- | src/reader.hh | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/reader.hh b/src/reader.hh index 2dbf02f..7db1ca7 100644 --- a/src/reader.hh +++ b/src/reader.hh @@ -3,6 +3,12 @@ #include "common.hh" +struct TPlayerData; + +typedef void TRefreshSectorFunction(int SectorX, int SectorY, int SectorZ, + const uint8 *Data, int Size); +typedef void TSendMailsFunction(TPlayerData *PlayerData); + enum TReaderThreadOrderType: int { READER_ORDER_TERMINATE = 0, READER_ORDER_LOADSECTOR = 1, @@ -14,4 +20,45 @@ enum TReaderThreadReplyType: int { READER_REPLY_CHARACTERDATA = 1, }; +struct TReaderThreadOrder { + TReaderThreadOrderType OrderType; + int SectorX; + int SectorY; + int SectorZ; + uint32 CharacterID; +}; + +struct TReaderThreadReply { + TReaderThreadReplyType ReplyType; + int SectorX; + int SectorY; + int SectorZ; + uint8 *Data; + int Size; +}; + +void InitReaderBuffers(void); +void InsertOrder(TReaderThreadOrderType OrderType, + int SectorX, int SectorY, int SectorZ, uint32 CharacterID); +void GetOrder(TReaderThreadOrder *Order); +void TerminateReaderOrder(void); +void LoadSectorOrder(int SectorX, int SectorY, int SectorZ); +void LoadCharacterOrder(uint32 CharacterID); +void ProcessLoadSectorOrder(int SectorX, int SectorY, int SectorZ); +void ProcessLoadCharacterOrder(uint32 CharacterID); +int ReaderThreadLoop(void *Unused); + +void InsertReply(TReaderThreadReplyType ReplyType, + int SectorX, int SectorY, int SectorZ, uint8 *Data, int Size); +bool GetReply(TReaderThreadReply *Reply); +void SectorReply(int SectorX, int SectorY, int SectorZ, uint8 *Data, int Size); +void CharacterReply(uint32 CharacterID); +void ProcessSectorReply(TRefreshSectorFunction *RefreshSector, + int SectorX, int SectorY, int SectorZ, uint8 *Data, int Size); +void ProcessCharacterReply(TSendMailsFunction *SendMails, uint32 CharacterID); +void ProcessReaderThreadReplies(TRefreshSectorFunction *RefreshSector, TSendMailsFunction *SendMails); + +void InitReader(void); +void ExitReader(void); + #endif //TIBIA_READER_HH |
