forked from mirror/openmw-tes3mp
[General] RW functions return true on success
This commit is contained in:
parent
45c7c3a0b6
commit
7639db02f3
1 changed files with 22 additions and 12 deletions
|
@ -46,16 +46,17 @@ namespace mwmp
|
|||
|
||||
protected:
|
||||
template<class templateType>
|
||||
void RW(templateType &data, uint32_t size, bool write)
|
||||
bool RW(templateType &data, uint32_t size, bool write)
|
||||
{
|
||||
if (write)
|
||||
bs->Write(data, size);
|
||||
else
|
||||
bs->Read(data, size);
|
||||
return bs->Read(data, size);
|
||||
return true;
|
||||
}
|
||||
|
||||
template<class templateType>
|
||||
void RW(templateType &data, bool write, bool compress = 0)
|
||||
bool RW(templateType &data, bool write, bool compress = 0)
|
||||
{
|
||||
if (write)
|
||||
{
|
||||
|
@ -63,28 +64,31 @@ namespace mwmp
|
|||
bs->WriteCompressed(data);
|
||||
else
|
||||
bs->Write(data);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (compress)
|
||||
bs->ReadCompressed(data);
|
||||
return bs->ReadCompressed(data);
|
||||
else
|
||||
bs->Read(data);
|
||||
return bs->Read(data);
|
||||
}
|
||||
}
|
||||
|
||||
void RW(bool &data, bool write)
|
||||
bool RW(bool &data, bool write)
|
||||
{
|
||||
if (write)
|
||||
bs->Write(data);
|
||||
else
|
||||
bs->Read(data);
|
||||
return bs->Read(data);
|
||||
return true;
|
||||
}
|
||||
|
||||
const static uint32_t maxStrSize = 64 * 1024; // 64 KiB
|
||||
|
||||
void RW(std::string &str, bool write, bool compress = false, std::string::size_type maxSize = maxStrSize)
|
||||
bool RW(std::string &str, bool write, bool compress = false, std::string::size_type maxSize = maxStrSize)
|
||||
{
|
||||
bool res = true;
|
||||
if (write)
|
||||
{
|
||||
if (compress)
|
||||
|
@ -100,13 +104,19 @@ namespace mwmp
|
|||
{
|
||||
RakNet::RakString rstr;
|
||||
if (compress)
|
||||
rstr.DeserializeCompressed(bs);
|
||||
res = rstr.DeserializeCompressed(bs);
|
||||
else
|
||||
bs->Read(rstr);
|
||||
res = bs->Read(rstr);
|
||||
|
||||
rstr.Truncate(rstr.GetLength() > maxSize ? maxSize : rstr.GetLength());
|
||||
str = rstr.C_String();
|
||||
if (res)
|
||||
{
|
||||
rstr.Truncate(rstr.GetLength() > maxSize ? maxSize : rstr.GetLength());
|
||||
str = rstr.C_String();
|
||||
}
|
||||
else
|
||||
str = std::string();
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
protected:
|
||||
|
|
Loading…
Reference in a new issue