DarkflameServer/dGame/dUtilities/GUID.cpp
Aaron Kimbrell cefdfc696a
fix: Implement proper Sound trigger component serialization (#1160)
* cleanup

* more cleanup and fully implement the sound trigger
and racing sound trigger

* more cleanup, and better defaults

* fixes and tested

* update initializor for guid and when to load sound guids

* make racing sound trigger it's own component

* fix type

* Remove global
move serializes

---------

Co-authored-by: David Markowitz <EmosewaMC@gmail.com>
2023-08-06 15:38:12 -05:00

26 lines
721 B
C++

#include "GUID.h"
namespace {
const std::string EMPTY_GUID = "{00000000-0000-0000-0000-000000000000}";
}
GUID::GUID(const std::string& guid) {
if(guid == EMPTY_GUID) return;
sscanf(guid.c_str(),
"{%8x-%4hx-%4hx-%2hhx%2hhx-%2hhx%2hhx%2hhx%2hhx%2hhx%2hhx}",
&this->data1, &this->data2, &this->data3,
&this->data4[0], &this->data4[1], &this->data4[2], &this->data4[3],
&this->data4[4], &this->data4[5], &this->data4[6], &this->data4[7]);
}
void GUID::Serialize(RakNet::BitStream* outBitStream) {
outBitStream->Write(GetData1());
outBitStream->Write(GetData2());
outBitStream->Write(GetData3());
for (const auto& guidSubPart : GetData4()) {
outBitStream->Write(guidSubPart);
}
}
GUID::GUID() = default;