metaforce/DataSpec/DNAMP1/ScriptObjects/WorldTeleporter.cpp

49 lines
1.9 KiB
C++

#include "WorldTeleporter.hpp"
namespace DataSpec::DNAMP1 {
template <class Op>
void WorldTeleporter::Enumerate(typename Op::StreamT& s) {
IScriptObject::Enumerate<Op>(s);
Do<Op>(athena::io::PropId{"name"}, name, s);
Do<Op>(athena::io::PropId{"active"}, active, s);
Do<Op>(athena::io::PropId{"mlvl"}, mlvl, s);
Do<Op>(athena::io::PropId{"mrea"}, mrea, s);
Do<Op>(athena::io::PropId{"animationParameters"}, animationParameters, s);
Do<Op>(athena::io::PropId{"playerScale"}, playerScale, s);
Do<Op>(athena::io::PropId{"platformModel"}, platformModel, s);
Do<Op>(athena::io::PropId{"platformScale"}, platformScale, s);
Do<Op>(athena::io::PropId{"blackgroundModel"}, backgroundModel, s);
Do<Op>(athena::io::PropId{"backgroundScale"}, backgroundScale, s);
Do<Op>(athena::io::PropId{"upElevator"}, upElevator, s);
Do<Op>(athena::io::PropId{"elevatorSound"}, elevatorSound, s);
Do<Op>(athena::io::PropId{"volume"}, volume, s);
Do<Op>(athena::io::PropId{"panning"}, panning, s);
Do<Op>(athena::io::PropId{"showText"}, showText, s);
Do<Op>(athena::io::PropId{"font"}, font, s);
Do<Op>(athena::io::PropId{"strg"}, strg, s);
Do<Op>(athena::io::PropId{"fadeWhite"}, fadeWhite, s);
Do<Op>(athena::io::PropId{"charFadeInTime"}, charFadeInTime, s);
Do<Op>(athena::io::PropId{"charsPerSecond"}, charsPerSecond, s);
Do<Op>(athena::io::PropId{"showDelay"}, showDelay, s);
if (propertyCount == 26) {
Do<Op>(athena::io::PropId{"audioStream"}, audioStream, s);
Do<Op>(athena::io::PropId{"unknown13"}, unknown13, s);
Do<Op>(athena::io::PropId{"unknown14"}, unknown14, s);
Do<Op>(athena::io::PropId{"unknown15"}, unknown15, s);
Do<Op>(athena::io::PropId{"unknown16"}, unknown16, s);
} else {
unknown13 = false;
unknown14 = 0.0;
unknown15 = 0.0;
unknown16 = 0.0;
}
}
std::string_view WorldTeleporter::DNAType() { return "DNAMP1::WorldTeleporter"sv; }
AT_SPECIALIZE_DNA_YAML(WorldTeleporter)
} // namespace DataSpec::DNAMP1