mirror of
				https://github.com/DarkflameUniverse/DarkflameServer.git
				synced 2025-10-31 12:41:55 +00:00 
			
		
		
		
	Add initial response msg and sending
This commit is contained in:
		| @@ -602,6 +602,19 @@ void ChatPacketHandler::HandleTeamInvite(Packet* packet) { | |||||||
| 	SendTeamInvite(other, player); | 	SendTeamInvite(other, player); | ||||||
|  |  | ||||||
| 	LOG("Got team invite: %llu -> %s", playerID, invitedPlayer.GetAsString().c_str()); | 	LOG("Got team invite: %llu -> %s", playerID, invitedPlayer.GetAsString().c_str()); | ||||||
|  |  | ||||||
|  | 	bool failed = false; | ||||||
|  | 	for (const auto& ignore : other.ignoredPlayers) { | ||||||
|  | 		if (ignore.playerId == player.playerID) { | ||||||
|  | 			failed = true; | ||||||
|  | 			break; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	ChatPackets::TeamInviteInitialResponse response{}; | ||||||
|  | 	response.inviteFailedToSend = failed; | ||||||
|  | 	response.playerName = invitedPlayer.string; | ||||||
|  | 	ChatPackets::SendRoutedMsg(response, playerID, player.worldServerSysAddr); | ||||||
| } | } | ||||||
|  |  | ||||||
| void ChatPacketHandler::HandleTeamInviteResponse(Packet* packet) { | void ChatPacketHandler::HandleTeamInviteResponse(Packet* packet) { | ||||||
| @@ -615,7 +628,7 @@ void ChatPacketHandler::HandleTeamInviteResponse(Packet* packet) { | |||||||
| 	LWOOBJID leaderID = LWOOBJID_EMPTY; | 	LWOOBJID leaderID = LWOOBJID_EMPTY; | ||||||
| 	inStream.Read(leaderID); | 	inStream.Read(leaderID); | ||||||
|  |  | ||||||
| 	LOG("Accepted invite: %llu -> %llu (%d)", playerID, leaderID, declined); | 	LOG("Invite reponse received: %llu -> %llu (%d)", playerID, leaderID, declined); | ||||||
|  |  | ||||||
| 	if (declined) { | 	if (declined) { | ||||||
| 		return; | 		return; | ||||||
|   | |||||||
| @@ -132,3 +132,19 @@ bool ChatPackets::AchievementNotify::Deserialize(RakNet::BitStream& bitstream) { | |||||||
|  |  | ||||||
| 	return true; | 	return true; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | void ChatPackets::TeamInviteInitialResponse::Serialize(RakNet::BitStream& bitstream) const { | ||||||
|  | 	bitstream.Write<uint8_t>(inviteFailedToSend); | ||||||
|  | 	bitstream.Write(playerName); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void ChatPackets::SendRoutedMsg(const LUBitStream& msg, const LWOOBJID targetID, const SystemAddress& sysAddr) { | ||||||
|  | 	CBITSTREAM; | ||||||
|  | 	BitStreamUtils::WriteHeader(bitStream, eConnectionType::CHAT, MessageType::Chat::WORLD_ROUTE_PACKET); | ||||||
|  | 	bitStream.Write(targetID); | ||||||
|  |  | ||||||
|  | 	// Now write the actual packet | ||||||
|  | 	msg.WriteHeader(bitStream); | ||||||
|  | 	msg.Serialize(bitStream); | ||||||
|  | 	Game::server->Send(bitStream, sysAddr, sysAddr == UNASSIGNED_SYSTEM_ADDRESS); | ||||||
|  | } | ||||||
|   | |||||||
| @@ -46,9 +46,19 @@ namespace ChatPackets { | |||||||
| 		bool Deserialize(RakNet::BitStream& bitstream) override; | 		bool Deserialize(RakNet::BitStream& bitstream) override; | ||||||
| 	}; | 	}; | ||||||
|  |  | ||||||
|  | 	struct TeamInviteInitialResponse : public LUBitStream { | ||||||
|  | 		bool inviteFailedToSend{}; | ||||||
|  | 		LUWString playerName{}; | ||||||
|  | 		TeamInviteInitialResponse() : LUBitStream(eConnectionType::CLIENT, MessageType::Client::TEAM_INVITE_INITIAL_RESPONSE) {} | ||||||
|  |  | ||||||
|  | 		void Serialize(RakNet::BitStream& bitstream) const override; | ||||||
|  | 		// No Deserialize needed on our end | ||||||
|  | 	}; | ||||||
|  |  | ||||||
| 	void SendChatMessage(const SystemAddress& sysAddr, char chatChannel, const std::string& senderName, LWOOBJID playerObjectID, bool senderMythran, const std::u16string& message); | 	void SendChatMessage(const SystemAddress& sysAddr, char chatChannel, const std::string& senderName, LWOOBJID playerObjectID, bool senderMythran, const std::u16string& message); | ||||||
| 	void SendSystemMessage(const SystemAddress& sysAddr, const std::u16string& message, bool broadcast = false); | 	void SendSystemMessage(const SystemAddress& sysAddr, const std::u16string& message, bool broadcast = false); | ||||||
| 	void SendMessageFail(const SystemAddress& sysAddr); | 	void SendMessageFail(const SystemAddress& sysAddr); | ||||||
|  | 	void SendRoutedMsg(const LUBitStream& msg, const LWOOBJID targetID, const SystemAddress& sysAddr); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| #endif // CHATPACKETS_H | #endif // CHATPACKETS_H | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 David Markowitz
					David Markowitz