more misc work

This commit is contained in:
Aaron Kimbre
2025-04-11 09:12:45 -05:00
parent 8364e60799
commit 48d32f2c77
11 changed files with 90 additions and 38 deletions

View File

@@ -61,6 +61,9 @@ struct LUBitStream {
void WriteHeader(RakNet::BitStream& bitStream) const;
bool ReadHeader(RakNet::BitStream& bitStream);
void Send(const SystemAddress& sysAddr) const;
void Broadcast() const {
Send(UNASSIGNED_SYSTEM_ADDRESS);
};
virtual void Serialize(RakNet::BitStream& bitStream) const {}
virtual bool Deserialize(RakNet::BitStream& bitStream) { return true; }

View File

@@ -54,6 +54,55 @@ namespace ChatPackets {
//TODO: Implement this
return false;
}
void ChatMessage::Handle(){
}
void WorldChatMessage::Serialize(RakNet::BitStream& bitStream) const {
}
bool WorldChatMessage::Deserialize(RakNet::BitStream& inStream) {
VALIDATE_READ(inStream.Read(chatChannel));
uint16_t padding;
VALIDATE_READ(inStream.Read(padding));
uint32_t messageLength;
VALIDATE_READ(inStream.Read(messageLength));
string message_tmp;
for (uint32_t i = 0; i < messageLength; ++i) {
uint16_t character;
VALIDATE_READ(inStream.Read(character));
message_tmp.push_back(character);
}
return true;
}
void WorldChatMessage::Handle() {
}
void PrivateChatMessage::Serialize(RakNet::BitStream& bitStream) const {
}
bool PrivateChatMessage::Deserialize(RakNet::BitStream& inStream) {
}
void PrivateChatMessage::Handle() {
}
void UserChatMessage::Serialize(RakNet::BitStream& bitStream) const {
}
bool UserChatMessage::Deserialize(RakNet::BitStream& inStream) {
}
void UserChatMessage::Handle() {
}
void SendSystemMessage(const SystemAddress& sysAddr, const std::u16string& message, const bool broadcast) {
CBITSTREAM;

View File

@@ -61,6 +61,25 @@ namespace ChatPackets {
ChatMessage() : LUBitStream(eConnectionType::CHAT, MessageType::Chat::GENERAL_CHAT_MESSAGE) {};
virtual void Serialize(RakNet::BitStream& bitStream) const override;
virtual bool Deserialize(RakNet::BitStream& inStream) override;
virtual void Handle() override {};
};
struct WorldChatMessage : public ChatMessage {
virtual bool Deserialize(RakNet::BitStream& bitStream) override;
virtual void Serialize(RakNet::BitStream& bitStream) const override;
virtual void Handle() override;
};
struct PrivateChatMessage : public ChatMessage {
virtual bool Deserialize(RakNet::BitStream& inStream) override;
virtual void Serialize(RakNet::BitStream& bitStream) const override;
virtual void Handle() override;
};
struct UserChatMessage : public ChatMessage {
virtual bool Deserialize(RakNet::BitStream& inStream) override;
virtual void Serialize(RakNet::BitStream& bitStream) const override;
virtual void Handle() override;
};
// Should be in client packets since it is a client connection type, but whatever

View File

@@ -13,12 +13,6 @@ class PositionUpdate;
struct Packet;
struct ChatMessage {
uint8_t chatChannel = 0;
uint16_t unknown = 0;
std::u16string message;
};
struct ChatModerationRequest {
uint8_t chatLevel = 0;
uint8_t requestID = 0;
@@ -27,7 +21,6 @@ struct ChatModerationRequest {
};
namespace ClientPackets {
ChatMessage HandleChatMessage(Packet* packet);
PositionUpdate HandleClientPositionUpdate(Packet* packet);
ChatModerationRequest HandleChatModerationRequest(Packet* packet);
int32_t SendTop5HelpIssues(Packet* packet);

View File

@@ -183,4 +183,4 @@ void WorldPackets::SendDebugOuput(const SystemAddress& sysAddr, const std::strin
bitStream.Write<uint32_t>(data.size());
bitStream.Write(data);
SEND_PACKET;
}
}

View File

@@ -10,9 +10,6 @@ struct SystemAddress;
enum class eGameMasterLevel : uint8_t;
enum class eCharacterCreationResponse : uint8_t;
enum class eRenameResponse : uint8_t;
namespace RakNet {
class BitStream;
};
struct HTTPMonitorInfo {
uint16_t port = 80;