Merge remote-tracking branch 'upstream/main' into more-cdclient-cleanup

This commit is contained in:
David Markowitz
2023-03-26 03:00:21 -07:00
52 changed files with 721 additions and 309 deletions

View File

@@ -35,6 +35,7 @@
#include "eMissionTaskType.h"
#include "eMissionState.h"
#include "RenderComponent.h"
#include "eTriggerEventType.h"
#include <sstream>
#include <future>
@@ -410,7 +411,7 @@ void GameMessages::SendServerDoneLoadingAllObjects(Entity* entity, const SystemA
SEND_PACKET;
}
void GameMessages::SendChatModeUpdate(const LWOOBJID& objectID, uint8_t level) {
void GameMessages::SendChatModeUpdate(const LWOOBJID& objectID, eGameMasterLevel level) {
CBITSTREAM;
CMSGHEADER;
bitStream.Write(objectID);
@@ -419,7 +420,7 @@ void GameMessages::SendChatModeUpdate(const LWOOBJID& objectID, uint8_t level) {
SEND_PACKET_BROADCAST;
}
void GameMessages::SendGMLevelBroadcast(const LWOOBJID& objectID, uint8_t level) {
void GameMessages::SendGMLevelBroadcast(const LWOOBJID& objectID, eGameMasterLevel level) {
CBITSTREAM;
CMSGHEADER;
bitStream.Write(objectID);
@@ -2814,7 +2815,7 @@ void GameMessages::HandleSetConsumableItem(RakNet::BitStream* inStream, Entity*
void GameMessages::SendPlayCinematic(LWOOBJID objectId, std::u16string pathName, const SystemAddress& sysAddr,
bool allowGhostUpdates, bool bCloseMultiInteract, bool bSendServerNotify, bool bUseControlledObjectForAudioListener,
int endBehavior, bool hidePlayerDuringCine, float leadIn, bool leavePlayerLockedWhenFinished,
eEndBehavior endBehavior, bool hidePlayerDuringCine, float leadIn, bool leavePlayerLockedWhenFinished,
bool lockPlayer, bool result, bool skipIfSamePath, float startTimeAdvance) {
CBITSTREAM;
CMSGHEADER;
@@ -2827,8 +2828,8 @@ void GameMessages::SendPlayCinematic(LWOOBJID objectId, std::u16string pathName,
bitStream.Write(bSendServerNotify);
bitStream.Write(bUseControlledObjectForAudioListener);
bitStream.Write(endBehavior != 0);
if (endBehavior != 0) bitStream.Write(endBehavior);
bitStream.Write(endBehavior != eEndBehavior::RETURN);
if (endBehavior != eEndBehavior::RETURN) bitStream.Write(endBehavior);
bitStream.Write(hidePlayerDuringCine);
@@ -6155,3 +6156,39 @@ void GameMessages::SendDeactivateBubbleBuffFromServer(LWOOBJID objectId, const S
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST;
SEND_PACKET;
}
void GameMessages::HandleZoneSummaryDismissed(RakNet::BitStream* inStream, Entity* entity) {
LWOOBJID player_id;
inStream->Read<LWOOBJID>(player_id);
auto target = EntityManager::Instance()->GetEntity(player_id);
entity->TriggerEvent(eTriggerEventType::ZONE_SUMMARY_DISMISSED, target);
};
void GameMessages::SendSetNamebillboardState(const SystemAddress& sysAddr, LWOOBJID objectId) {
CBITSTREAM;
CMSGHEADER;
bitStream.Write(objectId);
bitStream.Write(GAME_MSG::GAME_MSG_SET_NAME_BILLBOARD_STATE);
// Technically these bits would be written, however the client does not
// contain a deserialize method to actually deserialize, so we are leaving it out.
// As such this GM only turns the billboard off.
// bitStream.Write(overrideDefault);
// bitStream.Write(state);
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST
else SEND_PACKET
}
void GameMessages::SendShowBillboardInteractIcon(const SystemAddress& sysAddr, LWOOBJID objectId) {
CBITSTREAM;
CMSGHEADER;
bitStream.Write(objectId);
bitStream.Write(GAME_MSG::GAME_MSG_SHOW_BILLBOARD_INTERACT_ICON);
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST
else SEND_PACKET
}