EasyRPG / liblcf

Library to handle RPG Maker 2000/2003 and EasyRPG projects
https://easyrpg.org
MIT License
113 stars 52 forks source link

Support Vector<DBString> #455

Closed Ghabry closed 1 year ago

Ghabry commented 1 year ago

Maniac Patch uses this. Thanks to Jorge Pixel for figuring out how the array is structured.

Citing from the sourcecode

Vector<DBString> is Maniac Patch and is sparse:
When size is > 0xFFFFFFFF there is a gap of "0x800000000 - size"
In other cases it is as above: Size Data ... Size Data

Note that this is only implemented for Vector<DBString>, not Vector<std::string>. During runtime the vector is not sprase, so every slot consumes memory. As most of the vector is empty our DBString is much more memory friendly.


lcf2xml for testing