BytePropertySerialiser: add support for demo props.

This commit is contained in:
Guillaume Jacquemin 2021-09-22 19:16:33 +02:00
parent 10becfdc31
commit 2e1949ed5d
1 changed files with 15 additions and 8 deletions

View File

@ -29,19 +29,23 @@ auto BytePropertySerialiser::deserialise(const std::string& name, const std::str
{
auto prop = Containers::pointer<ByteProperty>();
if(!reader.readUEString(prop->enumType)) {
return nullptr;
}
if(value_length != UnsignedLong(-1)) {
if(!reader.readUEString(prop->enumType)) {
return nullptr;
}
char terminator;
if(!reader.readChar(terminator) || terminator != '\0') {
return nullptr;
char terminator;
if(!reader.readChar(terminator) || terminator != '\0') {
return nullptr;
}
}
if(!reader.readUEString(prop->enumValue)) {
return nullptr;
}
prop->valueLength = value_length;
//UnsignedInt count = 0;
//if(!reader.readUnsignedInt(count)) {
// return nullptr;
@ -67,8 +71,11 @@ auto BytePropertySerialiser::serialise(UnrealPropertyBase::ptr& prop, UnsignedLo
//bytes_written += writer.writeValueToArray<UnsignedInt>(byte_prop->value.size());
//bytes_written += writer.writeDataToArray<char>(byte_prop->value);
writer.writeUEStringToArray(byte_prop->enumType);
writer.writeValueToArray<char>('\0');
if(byte_prop->valueLength != UnsignedLong(-1)) {
writer.writeUEStringToArray(byte_prop->enumType);
writer.writeValueToArray<char>('\0');
}
bytes_written += writer.writeUEStringToArray(byte_prop->enumValue);
return true;