mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 01:07:43 +00:00
Various MREA-generation fixes
This commit is contained in:
@@ -11,7 +11,6 @@ namespace DNAMP1
|
||||
struct IScriptObject : BigYAML
|
||||
{
|
||||
DECL_YAML
|
||||
IScriptObject() {}
|
||||
atUint32 type;
|
||||
Value<atUint32> id;
|
||||
struct Connection : BigYAML
|
||||
@@ -26,9 +25,7 @@ struct IScriptObject : BigYAML
|
||||
Value<atUint32> connectionCount;
|
||||
Vector<Connection, DNA_COUNT(connectionCount)> connections;
|
||||
Value<atUint32> propertyCount;
|
||||
virtual ~IScriptObject()
|
||||
{
|
||||
}
|
||||
virtual ~IScriptObject() = default;
|
||||
|
||||
virtual void addCMDLRigPairs(PAKRouter<PAKBridge>&,
|
||||
std::unordered_map<UniqueID32, std::pair<UniqueID32, UniqueID32>>&) const {}
|
||||
|
||||
@@ -109,6 +109,19 @@ struct Oculus : IScriptObject
|
||||
__dna_writer.writeFloatBig(unknown8);
|
||||
}
|
||||
|
||||
size_t binarySize(size_t __isz) const
|
||||
{
|
||||
__isz = IScriptObject::binarySize(__isz);
|
||||
__isz += name.size() + 1;
|
||||
__isz = patternedInfo.binarySize(__isz);
|
||||
__isz = actorParameters.binarySize(__isz);
|
||||
__isz = damageVulnerabilty.binarySize(__isz);
|
||||
__isz = damageInfo.binarySize(__isz);
|
||||
if (propertyCount == 16)
|
||||
__isz += 4;
|
||||
return __isz + 64;
|
||||
}
|
||||
|
||||
void read(athena::io::YAMLDocReader& __dna_docin)
|
||||
{
|
||||
IScriptObject::read(__dna_docin);
|
||||
|
||||
@@ -344,6 +344,51 @@ struct Ridley : IScriptObject
|
||||
damageInfo9.write(__dna_writer);
|
||||
}
|
||||
|
||||
size_t binarySize(size_t __isz) const
|
||||
{
|
||||
__isz = IScriptObject::binarySize(__isz);
|
||||
__isz += name.size() + 1;
|
||||
__isz = patternedInfo.binarySize(__isz);
|
||||
__isz = actorParameters.binarySize(__isz);
|
||||
__isz = model1.binarySize(__isz);
|
||||
__isz = model2.binarySize(__isz);
|
||||
if (propertyCount == 48)
|
||||
{
|
||||
__isz = model3.binarySize(__isz);
|
||||
__isz = model4.binarySize(__isz);
|
||||
__isz = model5.binarySize(__isz);
|
||||
__isz = model6.binarySize(__isz);
|
||||
__isz = model7.binarySize(__isz);
|
||||
__isz = model8.binarySize(__isz);
|
||||
__isz = model9.binarySize(__isz);
|
||||
__isz = model10.binarySize(__isz);
|
||||
__isz = model11.binarySize(__isz);
|
||||
__isz = model12.binarySize(__isz);
|
||||
}
|
||||
__isz = particle.binarySize(__isz);
|
||||
__isz = wpsc1.binarySize(__isz);
|
||||
__isz = damageInfo1.binarySize(__isz);
|
||||
__isz = ridleyStruct1.binarySize(__isz);
|
||||
__isz = wpsc2.binarySize(__isz);
|
||||
if (propertyCount == 40)
|
||||
__isz = wpsc3.binarySize(__isz);
|
||||
__isz = damageInfo2.binarySize(__isz);
|
||||
__isz = ridleyStruct2_1.binarySize(__isz);
|
||||
__isz = wpsc4.binarySize(__isz);
|
||||
__isz = damageInfo3.binarySize(__isz);
|
||||
__isz = ridleyStruct2_2.binarySize(__isz);
|
||||
__isz = damageInfo4.binarySize(__isz);
|
||||
__isz = ridleyStruct2_3.binarySize(__isz);
|
||||
__isz = damageInfo5.binarySize(__isz);
|
||||
__isz = damageInfo6.binarySize(__isz);
|
||||
__isz = damageInfo7.binarySize(__isz);
|
||||
__isz = elsc.binarySize(__isz);
|
||||
__isz = damageInfo8.binarySize(__isz);
|
||||
if (propertyCount == 40)
|
||||
__isz = damageInfo9.binarySize(__isz);
|
||||
return __isz + 88;
|
||||
}
|
||||
|
||||
void read(athena::io::YAMLDocReader& __dna_docin)
|
||||
{
|
||||
IScriptObject::read(__dna_docin);
|
||||
|
||||
@@ -159,6 +159,25 @@ struct WorldTeleporter : IScriptObject
|
||||
__dna_writer.writeFloatBig(unknown16);
|
||||
}
|
||||
}
|
||||
|
||||
size_t binarySize(size_t __isz) const
|
||||
{
|
||||
__isz = IScriptObject::binarySize(__isz);
|
||||
__isz += name.size() + 1;
|
||||
__isz = mlvl.binarySize(__isz);
|
||||
__isz = mrea.binarySize(__isz);
|
||||
__isz = animationParameters.binarySize(__isz);
|
||||
__isz = model1.binarySize(__isz);
|
||||
__isz = model2.binarySize(__isz);
|
||||
__isz = font.binarySize(__isz);
|
||||
__isz = strg.binarySize(__isz);
|
||||
if (propertyCount == 26)
|
||||
{
|
||||
__isz += audioStream.size() + 1;
|
||||
__isz += 13;
|
||||
}
|
||||
return __isz + 64;
|
||||
}
|
||||
|
||||
void read(athena::io::YAMLDocReader& __dna_docin)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user