diff options
Diffstat (limited to 'src/connections.hh')
| -rw-r--r-- | src/connections.hh | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/connections.hh b/src/connections.hh new file mode 100644 index 0000000..0aef82b --- /dev/null +++ b/src/connections.hh @@ -0,0 +1,78 @@ +#ifndef TIBIA_CONNECTION_HH_ +#define TIBIA_CONNECTION_HH_ 1 + +#include "common.hh" +#include "crypto.hh" +#include "enums.hh" + +struct TConnection; +struct TPlayer; + +struct TKnownCreature { + KNOWNCREATURESTATE State; + uint32 CreatureID; + TKnownCreature *Next; + TConnection *Connection; +}; + +struct TConnection { + TPlayer *GetPlayer(void); + void Logout(int Delay, bool StopFight); + bool IsVisible(int x, int y, int z); + void EnterGame(void); + const char *GetIPAddress(void); + void Die(void); + KNOWNCREATURESTATE KnownCreature(uint32 CreatureID, bool UpdateFollows); + int GetSocket(void); + void EmergencyPing(void); + + // TODO(fusion): Maybe rename this later? + bool Live(void) const { + return this->State == CONNECTION_LOGIN + || this->State == CONNECTION_GAME + || this->State == CONNECTION_DEAD + || this->State == CONNECTION_LOGOUT; + } + + // DATA + // ================= + uint8 InData[2048]; + int InDataSize; + bool SigIOPending; + bool WaitingForACK; + uint8 OutData[16384]; + uint8 field5_0x4806; + uint8 field6_0x4807; + int NextToSend; + int NextToCommit; + int NextToWrite; + bool Overflow; + bool WillingToSend; + uint8 field12_0x4816; + uint8 field13_0x4817; + TConnection *NextSendingConnection; + uint32 RandomSeed; + CONNECTIONSTATE State; + pid_t PID; + int Socket; + char IPAddress[16]; + TXTEASymmetricKey SymmetricKey; + bool ConnectionIsOk; + bool ClosingIsDelayed; + uint8 field23_0x4852; + uint8 field24_0x4853; + uint32 TimeStamp; + uint32 TimeStampAction; + int TerminalType; + int TerminalVersion; + int TerminalOffsetX; + int TerminalOffsetY; + int TerminalWidth; + int TerminalHeight; + uint32 CharacterID; + char Name[31]; + uint8 field35_0x4897; + TKnownCreature KnownCreatureTable[150]; +}; + +#endif // TIBIA_CONNECTION_HH_ |
