aboutsummaryrefslogtreecommitdiff
path: root/src/connection.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/connection.hh')
-rw-r--r--src/connection.hh56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/connection.hh b/src/connection.hh
new file mode 100644
index 0000000..724ac91
--- /dev/null
+++ b/src/connection.hh
@@ -0,0 +1,56 @@
+#ifndef TIBIA_CONNECTION_HH_
+#define TIBIA_CONNECTION_HH_ 1
+
+#include "main.hh"
+#include "enums.hh"
+
+struct TConnection;
+
+struct TKnownCreature {
+ KNOWNCREATURESTATE State;
+ uint32 CreatureID;
+ TKnownCreature *Next;
+ TConnection *Connection;
+};
+
+struct TConnection {
+ 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; // TODO
+ 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_