mirror of https://github.com/AxioDL/metaforce.git
Update ScriptObject DNAs to match known values
This commit is contained in:
parent
cdf9545de4
commit
1a9ca77603
|
@ -1,5 +1,8 @@
|
|||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<MarkdownNavigatorCodeStyleSettings>
|
||||
<option name="RIGHT_MARGIN" value="72" />
|
||||
</MarkdownNavigatorCodeStyleSettings>
|
||||
<Objective-C>
|
||||
<option name="INDENT_NAMESPACE_MEMBERS" value="0" />
|
||||
<option name="INDENT_C_STRUCT_MEMBERS" value="2" />
|
||||
|
|
|
@ -12,6 +12,6 @@ struct AIJumpPoint : IScriptObject {
|
|||
Value<atVec3f> location;
|
||||
Value<atVec3f> orientation;
|
||||
Value<bool> active;
|
||||
Value<float> unknown1;
|
||||
Value<float> apex;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -9,11 +9,11 @@ struct AIKeyframe : IScriptObject {
|
|||
AT_DECL_DNA_YAML
|
||||
AT_DECL_DNAV
|
||||
String<-1> name;
|
||||
Value<atUint32> unknown1;
|
||||
Value<bool> unknown2;
|
||||
Value<float> unknown3;
|
||||
Value<bool> unknown4;
|
||||
Value<atUint32> unknown5;
|
||||
Value<float> unknown6;
|
||||
Value<atUint32> animationId;
|
||||
Value<bool> looping;
|
||||
Value<float> lifetime;
|
||||
Value<bool> active;
|
||||
Value<atUint32> fadeOut;
|
||||
Value<float> totalPlayback;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -12,10 +12,10 @@ struct ActorContraption : IScriptObject {
|
|||
Value<atVec3f> location;
|
||||
Value<atVec3f> orientation;
|
||||
Value<atVec3f> scale;
|
||||
Value<atVec3f> unknown1;
|
||||
Value<atVec3f> scanOffset;
|
||||
Value<float> unknown2;
|
||||
Value<float> unknown3;
|
||||
Value<atVec3f> collisionExtent;
|
||||
Value<atVec3f> collisionOrigin;
|
||||
Value<float> mass;
|
||||
Value<float> zMomentum;
|
||||
HealthInfo healthInfo;
|
||||
DamageVulnerability damageVulnerability;
|
||||
AnimationParameters animationParameters;
|
||||
|
|
|
@ -11,8 +11,8 @@ struct ActorRotate : IScriptObject {
|
|||
String<-1> name;
|
||||
Value<atVec3f> rotationOffset;
|
||||
Value<float> timeScale;
|
||||
Value<bool> unknown1;
|
||||
Value<bool> unknown2;
|
||||
Value<bool> updateActors;
|
||||
Value<bool> updateOnCreation;
|
||||
Value<bool> active;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -10,15 +10,15 @@ struct AreaAttributes : IScriptObject {
|
|||
AT_DECL_DNAV
|
||||
enum class EWeatherType : atUint32 { None, Snow, Rain };
|
||||
|
||||
Value<atUint32> unknown1;
|
||||
Value<atUint32> load; /* 0 causes the loader to bail and return null */
|
||||
Value<bool> skyboxEnabled;
|
||||
Value<EWeatherType> weather;
|
||||
Value<float> unknown2;
|
||||
Value<float> unknown3;
|
||||
Value<float> unknown4;
|
||||
Value<float> unknown5;
|
||||
Value<float> envFxDensity;
|
||||
Value<float> thermalHeat;
|
||||
Value<float> xrayFogDistance;
|
||||
Value<float> worldLightingLevel;
|
||||
UniqueID32 skybox;
|
||||
Value<atUint32> unknown6;
|
||||
Value<atUint32> phazonType;
|
||||
|
||||
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
|
||||
g_curSpec->flattenDependencies(skybox, pathsOut);
|
||||
|
|
|
@ -17,11 +17,11 @@ struct AtomicAlpha : IScriptObject {
|
|||
UniqueID32 wpsc;
|
||||
UniqueID32 model;
|
||||
DamageInfo damageInfo;
|
||||
Value<float> unknown1;
|
||||
Value<float> unknown2;
|
||||
Value<float> unknown3;
|
||||
Value<bool> unknown4;
|
||||
Value<bool> unknown5;
|
||||
Value<float> bombDropDelay;
|
||||
Value<float> bombReappearDelay;
|
||||
Value<float> bombReappearTime;
|
||||
Value<bool> invisible;
|
||||
Value<bool> applyBeamAttraction;
|
||||
|
||||
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
|
||||
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
|
||||
|
|
|
@ -11,11 +11,11 @@ struct BallTrigger : IScriptObject {
|
|||
String<-1> name;
|
||||
Value<atVec3f> location;
|
||||
Value<atVec3f> volume;
|
||||
Value<bool> unknown1;
|
||||
Value<float> unknown2;
|
||||
Value<float> unknown3;
|
||||
Value<float> unknown4;
|
||||
Value<atVec3f> unknown5;
|
||||
Value<bool> unknown6;
|
||||
Value<bool> active;
|
||||
Value<float> force;
|
||||
Value<float> minAngle;
|
||||
Value<float> maxDistance;
|
||||
Value<atVec3f> forceAngle;
|
||||
Value<bool> stopPlayer;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -13,15 +13,15 @@ struct Camera : IScriptObject {
|
|||
Value<atVec3f> orientation;
|
||||
Value<bool> active;
|
||||
Value<float> shotDuration;
|
||||
Value<bool> unknown3;
|
||||
Value<bool> unknown4;
|
||||
Value<bool> unknown5;
|
||||
Value<bool> unknown6;
|
||||
Value<bool> unknown7;
|
||||
Value<bool> lookAtPlayer;
|
||||
Value<bool> outOfPlayerEye;
|
||||
Value<bool> intoPlayerEye;
|
||||
Value<bool> drawPlayer;
|
||||
Value<bool> disableInput;
|
||||
Value<bool> unknown9;
|
||||
Value<bool> unknown;
|
||||
Value<bool> finishCineSkip;
|
||||
Value<float> fov;
|
||||
Value<bool> unknown11;
|
||||
Value<bool> unknown12;
|
||||
Value<bool> checkFailsafe;
|
||||
Value<bool> disableOutOfInto;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -12,9 +12,9 @@ struct CameraPitchVolume : IScriptObject {
|
|||
Value<atVec3f> location;
|
||||
Value<atVec3f> orientation;
|
||||
Value<atVec3f> volume;
|
||||
Value<bool> unknown1;
|
||||
Value<float> unknown2;
|
||||
Value<float> unknown3;
|
||||
Value<float> unknown4;
|
||||
Value<bool> active;
|
||||
Value<float> upPitch;
|
||||
Value<float> downPitch;
|
||||
Value<float> scale;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -12,7 +12,7 @@ struct CameraWaypoint : IScriptObject {
|
|||
Value<atVec3f> location;
|
||||
Value<atVec3f> orientation;
|
||||
Value<bool> active;
|
||||
Value<float> unknown2;
|
||||
Value<float> hFov;
|
||||
Value<atUint32> unknown3;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -9,9 +9,9 @@ struct Counter : IScriptObject {
|
|||
AT_DECL_DNA_YAML
|
||||
AT_DECL_DNAV
|
||||
String<-1> name;
|
||||
Value<atUint32> startValue; // needs verification
|
||||
Value<atUint32> initial;
|
||||
Value<atUint32> maxValue;
|
||||
Value<bool> unknown1;
|
||||
Value<bool> unknown2;
|
||||
Value<bool> autoReset;
|
||||
Value<bool> active;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -11,11 +11,11 @@ struct CoverPoint : IScriptObject {
|
|||
String<-1> name;
|
||||
Value<atVec3f> location;
|
||||
Value<atVec3f> orientation;
|
||||
Value<bool> unknown1;
|
||||
Value<atUint32> unknown2;
|
||||
Value<bool> unknown3;
|
||||
Value<float> unknown4;
|
||||
Value<float> unknown5;
|
||||
Value<float> unknown6;
|
||||
Value<bool> active;
|
||||
Value<atUint32> flags;
|
||||
Value<bool> crouch;
|
||||
Value<float> horizontalAngle;
|
||||
Value<float> verticleAngle;
|
||||
Value<float> coverTime;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -9,7 +9,7 @@ struct DockAreaChange : IScriptObject {
|
|||
AT_DECL_DNA_YAML
|
||||
AT_DECL_DNAV
|
||||
String<-1> name;
|
||||
Value<atUint32> unknown1;
|
||||
Value<bool> unknown2;
|
||||
Value<atUint32> dockReference;
|
||||
Value<bool> active;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -11,13 +11,13 @@ struct ElectroMagneticPulse : IScriptObject {
|
|||
String<-1> name;
|
||||
Value<atVec3f> location;
|
||||
Value<atVec3f> orientation;
|
||||
Value<bool> unknown1;
|
||||
Value<float> unknown2;
|
||||
Value<float> unknown3;
|
||||
Value<float> unknown4;
|
||||
Value<float> unknown5;
|
||||
Value<bool> active;
|
||||
Value<float> initialRadius;
|
||||
Value<float> finalRadius;
|
||||
Value<float> duration;
|
||||
Value<float> interferenceDur;
|
||||
Value<float> unknown6;
|
||||
Value<float> unknown7;
|
||||
Value<float> interferenceMag;
|
||||
Value<float> unknown8;
|
||||
UniqueID32 particle;
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@ struct EnvFxDensityController : IScriptObject {
|
|||
AT_DECL_DNA_YAML
|
||||
AT_DECL_DNAV
|
||||
String<-1> name;
|
||||
Value<bool> unknown1;
|
||||
Value<float> unknown2;
|
||||
Value<atUint32> unknown3;
|
||||
Value<bool> active;
|
||||
Value<float> density;
|
||||
Value<atUint32> maxDensityDeltaSpeed;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -15,9 +15,9 @@ struct FlickerBat : IScriptObject {
|
|||
Value<atVec3f> scale;
|
||||
PatternedInfo patternedInfo;
|
||||
ActorParameters actorParameters;
|
||||
Value<bool> unknown2;
|
||||
Value<bool> unknown3;
|
||||
Value<bool> unknown4;
|
||||
Value<bool> collider;
|
||||
Value<bool> startsHidden;
|
||||
Value<bool> enableLineOfSight;
|
||||
|
||||
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
|
||||
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
|
||||
|
|
|
@ -11,9 +11,9 @@ struct FogVolume : IScriptObject {
|
|||
String<-1> name;
|
||||
Value<atVec3f> location;
|
||||
Value<atVec3f> volume;
|
||||
Value<float> unknown1;
|
||||
Value<float> flickerSpeed;
|
||||
Value<float> unknown2;
|
||||
Value<atVec4f> unkonwn3;
|
||||
Value<bool> unknown4;
|
||||
Value<atVec4f> fogColor;
|
||||
Value<bool> active;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -14,16 +14,16 @@ struct Geemer : IScriptObject {
|
|||
Value<atVec3f> scale;
|
||||
PatternedInfo patternedInfo;
|
||||
ActorParameters actorParameters;
|
||||
Value<float> unknown1;
|
||||
Value<float> advanceWpRadius;
|
||||
Value<float> unknown2;
|
||||
Value<float> unknown3;
|
||||
Value<float> alignAngVel;
|
||||
Value<float> unknown4;
|
||||
Value<float> unknown5;
|
||||
Value<float> unknown6;
|
||||
Value<float> unknown7;
|
||||
Value<atUint32> unknown8;
|
||||
Value<atUint32> unknown9;
|
||||
Value<atUint32> unknown10;
|
||||
Value<float> playerObstructionMinDist;
|
||||
Value<float> haltDelay;
|
||||
Value<float> forwardMoveWeight;
|
||||
Value<atUint32> haltSfx;
|
||||
Value<atUint32> getUpSfx;
|
||||
Value<atUint32> crouchSfx;
|
||||
|
||||
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
|
||||
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
|
||||
|
|
|
@ -14,14 +14,14 @@ struct IceZoomer : IScriptObject {
|
|||
Value<atVec3f> scale;
|
||||
PatternedInfo patternedInfo;
|
||||
ActorParameters actorParameters;
|
||||
Value<float> unknown1;
|
||||
Value<float> advanceWpRadius;
|
||||
Value<float> unknown2;
|
||||
Value<float> unknown3;
|
||||
Value<float> alignAngleVel;
|
||||
Value<float> unknown4;
|
||||
Value<float> unknown5;
|
||||
Value<float> unknown6;
|
||||
Value<atUint32> unknown7;
|
||||
Value<atUint32> unknown8;
|
||||
Value<float> playerObstructionMinDist;
|
||||
Value<float> moveForwardWeight;
|
||||
UniqueID32 modelRes;
|
||||
UniqueID32 skinRes;
|
||||
DamageVulnerability damageVulnerabilty;
|
||||
Value<float> unknown9;
|
||||
|
||||
|
@ -37,6 +37,8 @@ struct IceZoomer : IScriptObject {
|
|||
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
|
||||
patternedInfo.depIDs(pathsOut);
|
||||
actorParameters.depIDs(pathsOut, lazyOut);
|
||||
g_curSpec->flattenDependencies(modelRes, pathsOut);
|
||||
g_curSpec->flattenDependencies(skinRes, pathsOut);
|
||||
}
|
||||
|
||||
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
|
||||
|
|
|
@ -15,11 +15,11 @@ struct MetareeAlpha : IScriptObject {
|
|||
PatternedInfo patternedInfo;
|
||||
ActorParameters actorParameters;
|
||||
DamageInfo damageInfo;
|
||||
Value<float> unknown1;
|
||||
Value<atVec3f> unknown2;
|
||||
Value<float> unknown3;
|
||||
Value<float> unknown4;
|
||||
Value<float> unknown5;
|
||||
Value<float> dropHeight;
|
||||
Value<atVec3f> offset;
|
||||
Value<float> attackSpeed;
|
||||
Value<float> delay;
|
||||
Value<float> unknown5; // Appears to be unused
|
||||
|
||||
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
|
||||
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
|
||||
|
|
|
@ -11,8 +11,8 @@ struct PlayerHint : IScriptObject {
|
|||
String<-1> name;
|
||||
Value<atVec3f> location;
|
||||
Value<atVec3f> orientation;
|
||||
Value<bool> unknown1;
|
||||
Value<bool> active;
|
||||
PlayerHintParameters playerHintParameters;
|
||||
Value<atUint32> unknown2;
|
||||
Value<atUint32> priority;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -9,11 +9,11 @@ struct PlayerStateChange : IScriptObject {
|
|||
AT_DECL_DNA_YAML
|
||||
AT_DECL_DNAV
|
||||
String<-1> name;
|
||||
Value<bool> unknown;
|
||||
Value<bool> active;
|
||||
Value<atUint32> item;
|
||||
Value<atUint32> unknown2;
|
||||
Value<atUint32> unknown3;
|
||||
Value<atUint32> unknown4;
|
||||
Value<atUint32> unknown5;
|
||||
Value<atUint32> itemCount;
|
||||
Value<atUint32> itemCapacity;
|
||||
Value<atUint32> control;
|
||||
Value<atUint32> controlCommandOption;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -11,9 +11,9 @@ struct PointOfInterest : IScriptObject {
|
|||
String<-1> name;
|
||||
Value<atVec3f> location;
|
||||
Value<atVec3f> orientation;
|
||||
Value<bool> unknown1;
|
||||
Value<bool> active;
|
||||
ScannableParameters scannableParameters;
|
||||
Value<float> unknown2;
|
||||
Value<float> pointSize;
|
||||
|
||||
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const { scannableParameters.nameIDs(pakRouter, name + "_scanp"); }
|
||||
|
||||
|
|
|
@ -11,6 +11,6 @@ struct Repulsor : IScriptObject {
|
|||
String<-1> name;
|
||||
Value<atVec3f> location;
|
||||
Value<bool> active;
|
||||
Value<float> unknown;
|
||||
Value<float> radius;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -10,7 +10,7 @@ struct Ripple : IScriptObject {
|
|||
AT_DECL_DNAV
|
||||
String<-1> name;
|
||||
Value<atVec3f> location;
|
||||
Value<bool> unknown1;
|
||||
Value<float> unknown2;
|
||||
Value<bool> active;
|
||||
Value<float> mag;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -14,11 +14,11 @@ struct SpankWeed : IScriptObject {
|
|||
Value<atVec3f> scale;
|
||||
PatternedInfo patternedInfo;
|
||||
ActorParameters actorParameters;
|
||||
Value<bool> unknown1;
|
||||
Value<float> unknown2;
|
||||
Value<float> unknown3;
|
||||
Value<float> unknown4;
|
||||
Value<float> unknown5;
|
||||
Value<bool> unused;
|
||||
Value<float> maxDetectionRange;
|
||||
Value<float> maxHearingrange;
|
||||
Value<float> maxSightRange;
|
||||
Value<float> hideTime;
|
||||
|
||||
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
|
||||
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
|
||||
|
|
|
@ -31,7 +31,7 @@ struct SpawnPoint : IScriptObject {
|
|||
Value<atUint32> combatVisor;
|
||||
Value<atUint32> boostBall;
|
||||
Value<atUint32> spiderBall;
|
||||
Value<atUint32> powerSuit; // verification needed
|
||||
Value<atUint32> powerSuit;
|
||||
Value<atUint32> gravitySuit;
|
||||
Value<atUint32> variaSuit;
|
||||
Value<atUint32> phazonSuit;
|
||||
|
|
|
@ -11,7 +11,7 @@ struct SpiderBallWaypoint : IScriptObject {
|
|||
String<-1> name;
|
||||
Value<atVec3f> location;
|
||||
Value<atVec3f> orientation;
|
||||
Value<bool> unknown1;
|
||||
Value<bool> active;
|
||||
Value<atUint32> unknown2;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -9,8 +9,8 @@ struct Switch : IScriptObject {
|
|||
AT_DECL_DNA_YAML
|
||||
AT_DECL_DNAV
|
||||
String<-1> name;
|
||||
Value<bool> unknown1;
|
||||
Value<bool> unknown2;
|
||||
Value<bool> unknown3;
|
||||
Value<bool> active;
|
||||
Value<bool> opened;
|
||||
Value<bool> closeOnOpened;
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
|
|
@ -6,26 +6,26 @@ template <class Op>
|
|||
void WorldTeleporter::Enumerate(typename Op::StreamT& s) {
|
||||
IScriptObject::Enumerate<Op>(s);
|
||||
Do<Op>({"name"}, name, s);
|
||||
Do<Op>({"unknown1"}, unknown1, s);
|
||||
Do<Op>({"active"}, active, s);
|
||||
Do<Op>({"mlvl"}, mlvl, s);
|
||||
Do<Op>({"mrea"}, mrea, s);
|
||||
Do<Op>({"animationParameters"}, animationParameters, s);
|
||||
Do<Op>({"unknown2"}, unknown2, s);
|
||||
Do<Op>({"model1"}, model1, s);
|
||||
Do<Op>({"unknown3"}, unknown3, s);
|
||||
Do<Op>({"model2"}, model2, s);
|
||||
Do<Op>({"unknown4"}, unknown4, s);
|
||||
Do<Op>({"unknown5"}, unknown5, s);
|
||||
Do<Op>({"soundID"}, soundID, s);
|
||||
Do<Op>({"unknown6"}, unknown6, s);
|
||||
Do<Op>({"unknown7"}, unknown7, s);
|
||||
Do<Op>({"unknown8"}, unknown8, s);
|
||||
Do<Op>({"playerScale"}, playerScale, s);
|
||||
Do<Op>({"platformModel"}, platformModel, s);
|
||||
Do<Op>({"platformScale"}, platformScale, s);
|
||||
Do<Op>({"blackgroundModel"}, backgroundModel, s);
|
||||
Do<Op>({"backgroundScale"}, backgroundScale, s);
|
||||
Do<Op>({"upElevator"}, upElevator, s);
|
||||
Do<Op>({"elevatorSound"}, elevatorSound, s);
|
||||
Do<Op>({"volume"}, volume, s);
|
||||
Do<Op>({"panning"}, panning, s);
|
||||
Do<Op>({"showText"}, showText, s);
|
||||
Do<Op>({"font"}, font, s);
|
||||
Do<Op>({"strg"}, strg, s);
|
||||
Do<Op>({"unknown9"}, unknown9, s);
|
||||
Do<Op>({"unknown10"}, unknown10, s);
|
||||
Do<Op>({"unknown11"}, unknown11, s);
|
||||
Do<Op>({"unknown12"}, unknown12, s);
|
||||
Do<Op>({"fadeWhite"}, fadeWhite, s);
|
||||
Do<Op>({"charFadeInTime"}, charFadeInTime, s);
|
||||
Do<Op>({"charsPerSecond"}, charFadeInTime, s);
|
||||
Do<Op>({"showDelay"}, showDelay, s);
|
||||
|
||||
if (propertyCount == 26) {
|
||||
Do<Op>({"audioStream"}, audioStream, s);
|
||||
|
|
|
@ -10,26 +10,26 @@ struct WorldTeleporter : IScriptObject {
|
|||
AT_DECL_EXPLICIT_DNA_YAML
|
||||
AT_DECL_DNAV
|
||||
String<-1> name;
|
||||
Value<bool> unknown1;
|
||||
Value<bool> active;
|
||||
UniqueID32 mlvl;
|
||||
UniqueID32 mrea;
|
||||
AnimationParameters animationParameters;
|
||||
Value<atVec3f> unknown2;
|
||||
UniqueID32 model1;
|
||||
Value<atVec3f> unknown3;
|
||||
UniqueID32 model2;
|
||||
Value<atVec3f> unknown4;
|
||||
Value<bool> unknown5;
|
||||
Value<atUint32> soundID; // needs verifcation
|
||||
Value<atUint32> unknown6;
|
||||
Value<atUint32> unknown7;
|
||||
Value<bool> unknown8;
|
||||
Value<atVec3f> playerScale;
|
||||
UniqueID32 platformModel;
|
||||
Value<atVec3f> platformScale;
|
||||
UniqueID32 backgroundModel;
|
||||
Value<atVec3f> backgroundScale;
|
||||
Value<bool> upElevator;
|
||||
Value<atUint32> elevatorSound; // needs verifcation
|
||||
Value<atUint32> volume;
|
||||
Value<atUint32> panning;
|
||||
Value<bool> showText;
|
||||
UniqueID32 font;
|
||||
UniqueID32 strg;
|
||||
Value<bool> unknown9;
|
||||
Value<float> unknown10;
|
||||
Value<float> unknown11;
|
||||
Value<float> unknown12;
|
||||
Value<bool> fadeWhite;
|
||||
Value<float> charFadeInTime;
|
||||
Value<float> charsPerSecond;
|
||||
Value<float> showDelay;
|
||||
|
||||
/* Trilogy additions (property count 26) */
|
||||
String<-1> audioStream;
|
||||
|
@ -39,12 +39,12 @@ struct WorldTeleporter : IScriptObject {
|
|||
Value<float> unknown16;
|
||||
|
||||
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
|
||||
if (model1) {
|
||||
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model1);
|
||||
if (platformModel) {
|
||||
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(platformModel);
|
||||
ent->name = name + "_model1";
|
||||
}
|
||||
if (model2) {
|
||||
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model2);
|
||||
if (backgroundModel) {
|
||||
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(backgroundModel);
|
||||
ent->name = name + "_model2";
|
||||
}
|
||||
if (strg) {
|
||||
|
@ -54,8 +54,8 @@ struct WorldTeleporter : IScriptObject {
|
|||
}
|
||||
|
||||
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
|
||||
g_curSpec->flattenDependencies(model1, pathsOut);
|
||||
g_curSpec->flattenDependencies(model2, pathsOut);
|
||||
g_curSpec->flattenDependencies(platformModel, pathsOut);
|
||||
g_curSpec->flattenDependencies(backgroundModel, pathsOut);
|
||||
g_curSpec->flattenDependencies(strg, pathsOut);
|
||||
}
|
||||
};
|
||||
|
|
2
Doxyfile
2
Doxyfile
|
@ -51,7 +51,7 @@ PROJECT_BRIEF =
|
|||
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
|
||||
# the logo to the output directory.
|
||||
|
||||
PROJECT_LOGO = /home/antidote/Projects/urde/Editor/platforms/freedesktop/128x128/apps/urde.png
|
||||
PROJECT_LOGO = ./Editor/platforms/freedesktop/128x128/apps/urde.png
|
||||
|
||||
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
|
||||
# into which the generated documentation will be written. If a relative path is
|
||||
|
|
|
@ -171,7 +171,7 @@ bool CFireFlea::CheckNearWater(const CStateManager& mgr, const zeus::CVector3f&
|
|||
mgr.BuildNearList(nearList, GetTranslation(), dir, 2.f, CMaterialFilter::skPassEverything, nullptr);
|
||||
|
||||
for (TUniqueId id : nearList) {
|
||||
if (TCastToConstPtr<CScriptWater> water = mgr.GetObjectById(id))
|
||||
if (TCastToConstPtr<CScriptWater>(mgr.GetObjectById(id)))
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,15 +10,16 @@ namespace urde::MP1 {
|
|||
|
||||
CFlickerBat::CFlickerBat(TUniqueId uid, std::string_view name, CPatterned::EFlavorType flavor, const CEntityInfo& info,
|
||||
const zeus::CTransform& xf, CModelData&& mData, const CPatternedInfo& pInfo,
|
||||
EColliderType colType, bool b1, const CActorParameters& actParms, bool b2)
|
||||
EColliderType colType, bool startsHidden, const CActorParameters& actParms,
|
||||
bool enableLineOfSight)
|
||||
: CPatterned(ECharacter::FlickerBat, uid, name, flavor, info, xf, std::move(mData), pInfo, EMovementType::Flyer,
|
||||
colType, EBodyType::Pitchable, actParms, EKnockBackVariant::Small)
|
||||
, x574_state(EFlickerBatState(b1))
|
||||
, x574_state(EFlickerBatState(startsHidden))
|
||||
, x580_24_wasInXray(false)
|
||||
, x580_25_heardShot(false)
|
||||
, x580_26_inLOS(false)
|
||||
, x580_27_enableLOSCheck(b2) {
|
||||
SetupPlayerCollision(b1);
|
||||
, x580_27_enableLOSCheck(enableLineOfSight) {
|
||||
SetupPlayerCollision(startsHidden);
|
||||
x3d8_xDamageThreshold = 0.f;
|
||||
x402_27_noXrayModel = false;
|
||||
}
|
||||
|
|
|
@ -30,5 +30,6 @@ public:
|
|||
void Think(float, CStateManager&);
|
||||
void UpdateEntity(TUniqueId, CStateManager&);
|
||||
bool IsPassive() const { return x44_25_isPassive; }
|
||||
void SetIsPassive(bool b) { x44_25_isPassive = b; }
|
||||
};
|
||||
} // namespace urde
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
|
||||
namespace urde {
|
||||
CScriptAiJumpPoint::CScriptAiJumpPoint(TUniqueId uid, std::string_view name, const CEntityInfo& info,
|
||||
zeus::CTransform& xf, bool active, float f1)
|
||||
zeus::CTransform& xf, bool active, float apex)
|
||||
: CActor(uid, active, name, info, xf, CModelData::CModelDataNull(), CMaterialList(EMaterialTypes::NoStepLogic),
|
||||
CActorParameters::None(), kInvalidUniqueId)
|
||||
, xe8_apex(f1)
|
||||
, xe8_apex(apex)
|
||||
, xec_touchBounds(xf.origin, xf.origin) {}
|
||||
|
||||
void CScriptAiJumpPoint::Accept(IVisitor& visitor) { visitor.Visit(this); }
|
||||
|
|
|
@ -12,13 +12,13 @@ const zeus::CVector3f CScriptCameraPitchVolume::skScaleFactor = zeus::CVector3f(
|
|||
|
||||
CScriptCameraPitchVolume::CScriptCameraPitchVolume(TUniqueId uid, bool active, std::string_view name,
|
||||
const CEntityInfo& info, const zeus::CVector3f& scale,
|
||||
const zeus::CTransform& xf, const zeus::CRelAngle& r1,
|
||||
const zeus::CRelAngle& r2, float maxInterpDistance)
|
||||
const zeus::CTransform& xf, const zeus::CRelAngle& upPitch,
|
||||
const zeus::CRelAngle& downPitch, float maxInterpDistance)
|
||||
: CActor(uid, active, name, info, xf, CModelData::CModelDataNull(), CMaterialList(EMaterialTypes::Trigger),
|
||||
CActorParameters::None(), kInvalidUniqueId)
|
||||
, xe8_obbox(xf, scale * skScaleFactor)
|
||||
, x124_upPitch(r1)
|
||||
, x128_downPitch(r2)
|
||||
, x124_upPitch(upPitch)
|
||||
, x128_downPitch(downPitch)
|
||||
, x12c_scale(scale * skScaleFactor)
|
||||
, x138_maxInterpDistance(maxInterpDistance) {}
|
||||
|
||||
|
|
|
@ -560,12 +560,12 @@ CEntity* ScriptLoader::LoadCounter(CStateManager& mgr, CInputStream& in, int pro
|
|||
|
||||
std::string name = mgr.HashInstanceName(in);
|
||||
|
||||
u32 w1 = in.readUint32Big();
|
||||
u32 w2 = in.readUint32Big();
|
||||
bool b1 = in.readBool();
|
||||
bool b2 = in.readBool();
|
||||
u32 initial = in.readUint32Big();
|
||||
u32 max = in.readUint32Big();
|
||||
bool autoReset = in.readBool();
|
||||
bool active = in.readBool();
|
||||
|
||||
return new CScriptCounter(mgr.AllocateUniqueId(), name, info, w1, w2, b1, b2);
|
||||
return new CScriptCounter(mgr.AllocateUniqueId(), name, info, initial, max, autoReset, active);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadEffect(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -1557,9 +1557,9 @@ CEntity* ScriptLoader::LoadFlickerBat(CStateManager& mgr, CInputStream& in, int
|
|||
|
||||
CPatternedInfo pInfo(in, pair.second);
|
||||
CActorParameters actParms = LoadActorParameters(in);
|
||||
bool b1 = in.readBool();
|
||||
bool b2 = in.readBool();
|
||||
bool b3 = in.readBool();
|
||||
bool collider = in.readBool();
|
||||
bool excludePlayer = in.readBool();
|
||||
bool enableLineOfSight = in.readBool();
|
||||
|
||||
if (g_ResFactory->GetResourceTypeById(pInfo.GetAnimationParameters().GetACSFile()) != SBIG('ANCS'))
|
||||
return nullptr;
|
||||
|
@ -1567,7 +1567,7 @@ CEntity* ScriptLoader::LoadFlickerBat(CStateManager& mgr, CInputStream& in, int
|
|||
CModelData mData(CAnimRes(pInfo.GetAnimationParameters().GetACSFile(), pInfo.GetAnimationParameters().GetCharacter(),
|
||||
scale, pInfo.GetAnimationParameters().GetInitialAnimation(), true));
|
||||
return new MP1::CFlickerBat(mgr.AllocateUniqueId(), name, flavor, info, xf, std::move(mData), pInfo,
|
||||
CPatterned::EColliderType(b1), b2, actParms, b3);
|
||||
CPatterned::EColliderType(collider), excludePlayer, actParms, enableLineOfSight);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadPathCamera(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -1631,7 +1631,7 @@ CEntity* ScriptLoader::LoadPuddleSpore(CStateManager& mgr, CInputStream& in, int
|
|||
return nullptr;
|
||||
|
||||
CModelData mData(
|
||||
CAnimRes(animParms.GetACSFile(), animParms.GetCharacter(), scale, animParms.GetInitialAnimation(), true));
|
||||
CAnimRes(animParms.GetACSFile(), animParms.GetCharacter(), scale, animParms.GetInitialAnimation(), true));
|
||||
return new MP1::CPuddleSpore(mgr.AllocateUniqueId(), name, flavor, info, xf, std::move(mData), pInfo,
|
||||
CPatterned::EColliderType(b1), w1, f1, f2, f3, f4, f5, actParms, w2, dInfo);
|
||||
}
|
||||
|
@ -1831,8 +1831,8 @@ CEntity* ScriptLoader::LoadSpecialFunction(CStateManager& mgr, CInputStream& in,
|
|||
return nullptr;
|
||||
|
||||
return new CScriptSpecialFunction(mgr.AllocateUniqueId(), head.x0_name, info, head.x10_transform, specialFunction,
|
||||
str, f1, f2, f3, f4, zeus::skZero3f, zeus::skBlack, active1,
|
||||
CDamageInfo(), w2, w3, w4, w5, w6, w7);
|
||||
str, f1, f2, f3, f4, zeus::skZero3f, zeus::skBlack, active1, CDamageInfo(), w2, w3,
|
||||
w4, w5, w6, w7);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadSpankWeed(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -1846,10 +1846,10 @@ CEntity* ScriptLoader::LoadSpankWeed(CStateManager& mgr, CInputStream& in, int p
|
|||
CPatternedInfo pInfo(in, pair.second);
|
||||
CActorParameters actParms = LoadActorParameters(in);
|
||||
in.readBool();
|
||||
float f1 = in.readFloatBig();
|
||||
float f2 = in.readFloatBig();
|
||||
float f3 = in.readFloatBig();
|
||||
float f4 = in.readFloatBig();
|
||||
float maxDetectionRange = in.readFloatBig();
|
||||
float maxHearingRange = in.readFloatBig();
|
||||
float maxSightRange = in.readFloatBig();
|
||||
float hideTime = in.readFloatBig();
|
||||
|
||||
const CAnimationParameters& animParms = pInfo.GetAnimationParameters();
|
||||
if (!animParms.GetACSFile().IsValid())
|
||||
|
@ -1858,7 +1858,7 @@ CEntity* ScriptLoader::LoadSpankWeed(CStateManager& mgr, CInputStream& in, int p
|
|||
CModelData mData(CAnimRes(animParms.GetACSFile(), animParms.GetCharacter(), aHead.x40_scale,
|
||||
animParms.GetInitialAnimation(), true));
|
||||
return new MP1::CSpankWeed(mgr.AllocateUniqueId(), aHead.x0_name, info, aHead.x10_transform, std::move(mData),
|
||||
actParms, pInfo, f1, f2, f3, f4);
|
||||
actParms, pInfo, maxDetectionRange, maxHearingRange, maxSightRange, hideTime);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadParasite(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -1915,10 +1915,11 @@ CEntity* ScriptLoader::LoadPlayerHint(CStateManager& mgr, CInputStream& in, int
|
|||
|
||||
SActorHead aHead = LoadActorHead(in, mgr);
|
||||
bool active = in.readBool();
|
||||
u32 w2 = LoadParameterFlags(in);
|
||||
u32 w1 = in.readUint32Big();
|
||||
u32 overrideFlags = LoadParameterFlags(in);
|
||||
u32 priority = in.readUint32Big();
|
||||
|
||||
return new CScriptPlayerHint(mgr.AllocateUniqueId(), aHead.x0_name, info, aHead.x10_transform, active, w1, w2);
|
||||
return new CScriptPlayerHint(mgr.AllocateUniqueId(), aHead.x0_name, info, aHead.x10_transform, active, priority,
|
||||
overrideFlags);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadRipper(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -1938,6 +1939,10 @@ CEntity* ScriptLoader::LoadPickupGenerator(CStateManager& mgr, CInputStream& in,
|
|||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadAIKeyframe(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
if (CScriptActorKeyframe* kf = static_cast<CScriptActorKeyframe*>(LoadActorKeyframe(mgr, in, propCount, info))) {
|
||||
kf->SetIsPassive(true);
|
||||
return kf;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@ -1949,10 +1954,10 @@ CEntity* ScriptLoader::LoadPointOfInterest(CStateManager& mgr, CInputStream& in,
|
|||
SActorHead aHead = LoadActorHead(in, mgr);
|
||||
bool active = in.readBool();
|
||||
CScannableParameters sParms = LoadScannableParameters(in);
|
||||
float f1 = in.readFloatBig();
|
||||
float pointSize = in.readFloatBig();
|
||||
|
||||
return new CScriptPointOfInterest(mgr.AllocateUniqueId(), aHead.x0_name, info, aHead.x10_transform, active, sParms,
|
||||
f1);
|
||||
pointSize);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadDrone(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -1979,7 +1984,7 @@ CEntity* ScriptLoader::LoadMetroid(CStateManager& mgr, CInputStream& in, int pro
|
|||
return nullptr;
|
||||
|
||||
CModelData mData(
|
||||
CAnimRes(animParms.GetACSFile(), animParms.GetCharacter(), scale, animParms.GetInitialAnimation(), true));
|
||||
CAnimRes(animParms.GetACSFile(), animParms.GetCharacter(), scale, animParms.GetInitialAnimation(), true));
|
||||
return new MP1::CMetroid(mgr.AllocateUniqueId(), name, flavor, info, xf, std::move(mData), pInfo, actParms, metData,
|
||||
kInvalidUniqueId);
|
||||
}
|
||||
|
@ -2030,7 +2035,7 @@ CEntity* ScriptLoader::LoadDebrisExtended(CStateManager& mgr, CInputStream& in,
|
|||
CScriptDebris::EOrientationType particle2Or = CScriptDebris::EOrientationType(in.readUint32Big());
|
||||
|
||||
CAssetId particle3 = in.readUint32Big();
|
||||
/*zeus::CVector3f particle3Scale =*/ zeus::CVector3f::ReadBig(in); /* Not actually used, go figure */
|
||||
/*zeus::CVector3f particle3Scale =*/zeus::CVector3f::ReadBig(in); /* Not actually used, go figure */
|
||||
CScriptDebris::EOrientationType particle3Or = CScriptDebris::EOrientationType(in.readUint32Big());
|
||||
|
||||
bool solid = in.readBool();
|
||||
|
@ -2275,8 +2280,8 @@ CEntity* ScriptLoader::LoadFishCloud(CStateManager& mgr, CInputStream& in, int p
|
|||
bool hotInThermal = in.readBool();
|
||||
|
||||
CModelData mData(CStaticRes(model, zeus::skOne3f));
|
||||
CAnimRes animRes(animParms.GetACSFile(), animParms.GetCharacter(), zeus::skOne3f,
|
||||
animParms.GetInitialAnimation(), true);
|
||||
CAnimRes animRes(animParms.GetACSFile(), animParms.GetCharacter(), zeus::skOne3f, animParms.GetInitialAnimation(),
|
||||
true);
|
||||
return new CFishCloud(mgr.AllocateUniqueId(), active, aHead.x0_name, info, aHead.x40_scale, aHead.x10_transform,
|
||||
std::move(mData), animRes, numBoids, speed, separationRadius, cohesionMagnitude,
|
||||
alignmentWeight, separationMagnitude, weaponRepelMagnitude, playerRepelMagnitude,
|
||||
|
@ -2526,15 +2531,13 @@ CEntity* ScriptLoader::LoadWallCrawlerSwarm(CStateManager& mgr, CInputStream& in
|
|||
u32 launchSfx = in.readUint32Big();
|
||||
u32 scatterSfx = in.readUint32Big();
|
||||
|
||||
return new CWallCrawlerSwarm(mgr.AllocateUniqueId(), active, aHead.x0_name, info, aHead.x40_scale,
|
||||
aHead.x10_transform, flavor,
|
||||
CAnimRes(actor, charIdx, zeus::CVector3f(1.5f), defaultAnim, true),
|
||||
launchAnim, attractAnim, part1, part2, part3, part4, crabDamage, scarabExplodeDamage,
|
||||
crabDamageCooldown, boidRadius, touchRadius, playerTouchRadius, numBoids,
|
||||
maxCreatedBoids, animPlaybackSpeed, separationRadius, cohesionMagnitude, alignmentWeight,
|
||||
separationMagnitude, moveToWaypointWeight, attractionMagnitude, attractionRadius,
|
||||
boidGenRate, maxLaunches, scarabBoxMargin, scarabScatterXYVelocity, scarabTimeToExplode,
|
||||
hInfo, dVulns, launchSfx, scatterSfx, aParams);
|
||||
return new CWallCrawlerSwarm(
|
||||
mgr.AllocateUniqueId(), active, aHead.x0_name, info, aHead.x40_scale, aHead.x10_transform, flavor,
|
||||
CAnimRes(actor, charIdx, zeus::CVector3f(1.5f), defaultAnim, true), launchAnim, attractAnim, part1, part2, part3,
|
||||
part4, crabDamage, scarabExplodeDamage, crabDamageCooldown, boidRadius, touchRadius, playerTouchRadius, numBoids,
|
||||
maxCreatedBoids, animPlaybackSpeed, separationRadius, cohesionMagnitude, alignmentWeight, separationMagnitude,
|
||||
moveToWaypointWeight, attractionMagnitude, attractionRadius, boidGenRate, maxLaunches, scarabBoxMargin,
|
||||
scarabScatterXYVelocity, scarabTimeToExplode, hInfo, dVulns, launchSfx, scatterSfx, aParams);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadAiJumpPoint(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -2543,9 +2546,9 @@ CEntity* ScriptLoader::LoadAiJumpPoint(CStateManager& mgr, CInputStream& in, int
|
|||
|
||||
SActorHead aHead = LoadActorHead(in, mgr);
|
||||
bool active = in.readBool();
|
||||
float f1 = in.readFloat();
|
||||
float apex = in.readFloat();
|
||||
|
||||
return new CScriptAiJumpPoint(mgr.AllocateUniqueId(), aHead.x0_name, info, aHead.x10_transform, active, f1);
|
||||
return new CScriptAiJumpPoint(mgr.AllocateUniqueId(), aHead.x0_name, info, aHead.x10_transform, active, apex);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadFlaahgraTentacle(CStateManager& mgr, CInputStream& in, int propCount,
|
||||
|
@ -2810,10 +2813,9 @@ CEntity* ScriptLoader::LoadRadialDamage(CStateManager& mgr, CInputStream& in, in
|
|||
float radius = in.readFloatBig();
|
||||
zeus::CTransform xf = ConvertEditorEulerToTransform4f(zeus::skZero3f, center);
|
||||
|
||||
return new CScriptSpecialFunction(mgr.AllocateUniqueId(), name, info, xf,
|
||||
CScriptSpecialFunction::ESpecialFunction::RadialDamage, "", radius, 0.f, 0.f, 0.f,
|
||||
zeus::skZero3f, zeus::skBlack, active, dInfo, -1, -1,
|
||||
CPlayerState::EItemType::Invalid, -1, -1, -1);
|
||||
return new CScriptSpecialFunction(
|
||||
mgr.AllocateUniqueId(), name, info, xf, CScriptSpecialFunction::ESpecialFunction::RadialDamage, "", radius, 0.f,
|
||||
0.f, 0.f, zeus::skZero3f, zeus::skBlack, active, dInfo, -1, -1, CPlayerState::EItemType::Invalid, -1, -1, -1);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadCameraPitchVolume(CStateManager& mgr, CInputStream& in, int propCount,
|
||||
|
@ -2823,12 +2825,12 @@ CEntity* ScriptLoader::LoadCameraPitchVolume(CStateManager& mgr, CInputStream& i
|
|||
|
||||
SScaledActorHead aHead = LoadScaledActorHead(in, mgr);
|
||||
bool active = in.readBool();
|
||||
zeus::CRelAngle f1 = zeus::CRelAngle::FromDegrees(in.readFloatBig());
|
||||
zeus::CRelAngle f2 = zeus::CRelAngle::FromDegrees(in.readFloatBig());
|
||||
float f3 = in.readFloatBig();
|
||||
zeus::CRelAngle upPitch = zeus::CRelAngle::FromDegrees(in.readFloatBig());
|
||||
zeus::CRelAngle downPitch = zeus::CRelAngle::FromDegrees(in.readFloatBig());
|
||||
float scale = in.readFloatBig();
|
||||
|
||||
return new CScriptCameraPitchVolume(mgr.AllocateUniqueId(), active, aHead.x0_name, info, aHead.x40_scale,
|
||||
aHead.x10_transform, f1, f2, f3);
|
||||
aHead.x10_transform, upPitch, downPitch, scale);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadEnvFxDensityController(CStateManager& mgr, CInputStream& in, int propCount,
|
||||
|
@ -2839,12 +2841,12 @@ CEntity* ScriptLoader::LoadEnvFxDensityController(CStateManager& mgr, CInputStre
|
|||
std::string name = mgr.HashInstanceName(in);
|
||||
bool active = in.readBool();
|
||||
float density = in.readFloatBig();
|
||||
u32 w1 = in.readUint32Big();
|
||||
u32 maxDensityDeltaSpeed = in.readUint32Big();
|
||||
|
||||
return new CScriptSpecialFunction(mgr.AllocateUniqueId(), name, info, zeus::CTransform(),
|
||||
CScriptSpecialFunction::ESpecialFunction::EnvFxDensityController, "", density, w1,
|
||||
0.f, 0.f, zeus::skZero3f, zeus::skBlack, active, CDamageInfo(), -1,
|
||||
-1, CPlayerState::EItemType::Invalid, -1, -1, -1);
|
||||
CScriptSpecialFunction::ESpecialFunction::EnvFxDensityController, "", density,
|
||||
maxDensityDeltaSpeed, 0.f, 0.f, zeus::skZero3f, zeus::skBlack, active,
|
||||
CDamageInfo(), -1, -1, CPlayerState::EItemType::Invalid, -1, -1, -1);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadMagdolite(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -2993,25 +2995,26 @@ CEntity* ScriptLoader::LoadGeemer(CStateManager& mgr, CInputStream& in, int prop
|
|||
if (pInfo.GetAnimationParameters().GetACSFile() == CAssetId())
|
||||
return nullptr;
|
||||
|
||||
float f1 = in.readFloatBig();
|
||||
float advanceWpRadius = in.readFloatBig();
|
||||
float f2 = in.readFloatBig();
|
||||
float f3 = in.readFloatBig();
|
||||
float alignAngVel = in.readFloatBig();
|
||||
float f4 = in.readFloatBig();
|
||||
float f5 = in.readFloatBig();
|
||||
float f6 = in.readFloatBig();
|
||||
float f7 = in.readFloatBig();
|
||||
u16 sId1 = in.readUint32Big() & 0xFFFF;
|
||||
u16 sId2 = in.readUint32Big() & 0xFFFF;
|
||||
u16 sId3 = in.readUint32Big() & 0xFFFF;
|
||||
float playerObstructionMinDist = in.readFloatBig();
|
||||
float haltDelay = in.readFloatBig();
|
||||
float forwardMoveWeight = in.readFloatBig();
|
||||
u16 haltSfx = in.readUint32Big() & 0xFFFF;
|
||||
u16 getUpSfx = in.readUint32Big() & 0xFFFF;
|
||||
u16 crouchSfx = in.readUint32Big() & 0xFFFF;
|
||||
|
||||
CModelData mData(CAnimRes(pInfo.GetAnimationParameters().GetACSFile(), pInfo.GetAnimationParameters().GetCharacter(),
|
||||
actHead.x40_scale, pInfo.GetAnimationParameters().GetInitialAnimation(), true));
|
||||
|
||||
return new MP1::CParasite(mgr.AllocateUniqueId(), actHead.x0_name, CPatterned::EFlavorType::Zero, info,
|
||||
actHead.x10_transform, std::move(mData), pInfo, EBodyType::WallWalker, 0.f, f1, f2, f3, f4,
|
||||
0.2f, 0.4f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.f, f7, 0.f, 0.f, f5, f6, false,
|
||||
CWallWalker::EWalkerType::Geemer, CDamageVulnerability::NormalVulnerabilty(), CDamageInfo(),
|
||||
sId1, sId2, sId3, -1, -1, 0.f, actParms);
|
||||
actHead.x10_transform, std::move(mData), pInfo, EBodyType::WallWalker, 0.f, advanceWpRadius,
|
||||
f2, alignAngVel, f4, 0.2f, 0.4f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.f, forwardMoveWeight, 0.f, 0.f,
|
||||
playerObstructionMinDist, haltDelay, false, CWallWalker::EWalkerType::Geemer,
|
||||
CDamageVulnerability::NormalVulnerabilty(), CDamageInfo(), haltSfx, getUpSfx, crouchSfx, -1,
|
||||
-1, 0.f, actParms);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadSpindleCamera(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -3051,13 +3054,12 @@ CEntity* ScriptLoader::LoadSpindleCamera(CStateManager& mgr, CInputStream& in, i
|
|||
SSpindleProperty recoverClampedAzimuthFromHintDir(in);
|
||||
recoverClampedAzimuthFromHintDir.FixupAngles();
|
||||
|
||||
return new CScriptSpindleCamera(mgr.AllocateUniqueId(), aHead.x0_name, info, aHead.x10_transform, active, flags,
|
||||
hintToCamDistMin, hintToCamDistMax, hintToCamVOffMin, hintToCamVOffMax,
|
||||
targetHintToCamDeltaAngleVel, deltaAngleScaleWithCamDist, hintToCamDist,
|
||||
distOffsetFromBallDist, hintBallToCamAzimuth, unused, maxHintBallToCamAzimuth,
|
||||
camLookRelAzimuth, lookPosZOffset, camPosZOffset, clampedAzimuthFromHintDir,
|
||||
dampingAzimuthSpeed, targetHintToCamDeltaAngleVelRange, deleteHintBallDist,
|
||||
recoverClampedAzimuthFromHintDir);
|
||||
return new CScriptSpindleCamera(
|
||||
mgr.AllocateUniqueId(), aHead.x0_name, info, aHead.x10_transform, active, flags, hintToCamDistMin,
|
||||
hintToCamDistMax, hintToCamVOffMin, hintToCamVOffMax, targetHintToCamDeltaAngleVel, deltaAngleScaleWithCamDist,
|
||||
hintToCamDist, distOffsetFromBallDist, hintBallToCamAzimuth, unused, maxHintBallToCamAzimuth, camLookRelAzimuth,
|
||||
lookPosZOffset, camPosZOffset, clampedAzimuthFromHintDir, dampingAzimuthSpeed, targetHintToCamDeltaAngleVelRange,
|
||||
deleteHintBallDist, recoverClampedAzimuthFromHintDir);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadAtomicAlpha(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -3102,8 +3104,8 @@ CEntity* ScriptLoader::LoadCameraHintTrigger(CStateManager& mgr, CInputStream& i
|
|||
zeus::CTransform xfRot = aHead.x10_transform.getRotation();
|
||||
if (xfRot == zeus::CTransform())
|
||||
return new CScriptTrigger(mgr.AllocateUniqueId(), aHead.x0_name, info, aHead.x10_transform.origin,
|
||||
zeus::CAABox(-scale, scale), CDamageInfo(), zeus::skZero3f,
|
||||
ETriggerFlags::DetectPlayer, active, deactivateOnEnter, deactivateOnExit);
|
||||
zeus::CAABox(-scale, scale), CDamageInfo(), zeus::skZero3f, ETriggerFlags::DetectPlayer,
|
||||
active, deactivateOnEnter, deactivateOnExit);
|
||||
|
||||
return new CScriptCameraHintTrigger(mgr.AllocateUniqueId(), active, aHead.x0_name, info, scale, aHead.x10_transform,
|
||||
deactivateOnEnter, deactivateOnExit);
|
||||
|
@ -3123,8 +3125,8 @@ CEntity* ScriptLoader::LoadRumbleEffect(CStateManager& mgr, CInputStream& in, in
|
|||
|
||||
return new CScriptSpecialFunction(
|
||||
mgr.AllocateUniqueId(), name, info, ConvertEditorEulerToTransform4f(zeus::skZero3f, position),
|
||||
CScriptSpecialFunction::ESpecialFunction::RumbleEffect, "", f1, w1, pFlags, 0.f, zeus::skZero3f,
|
||||
zeus::skBlack, active, {}, {}, {}, CPlayerState::EItemType::Invalid, -1, -1, -1);
|
||||
CScriptSpecialFunction::ESpecialFunction::RumbleEffect, "", f1, w1, pFlags, 0.f, zeus::skZero3f, zeus::skBlack,
|
||||
active, {}, {}, {}, CPlayerState::EItemType::Invalid, -1, -1, -1);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadAmbientAI(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -3218,9 +3220,8 @@ CEntity* ScriptLoader::LoadIceZoomer(CStateManager& mgr, CInputStream& in, int p
|
|||
CDamageVulnerability dVuln(in);
|
||||
float iceZoomerJointHP = in.readFloatBig();
|
||||
|
||||
CModelData mData(
|
||||
CAnimRes(animParms.GetACSFile(), animParms.GetCharacter(), actHead.x40_scale, animParms.GetInitialAnimation(),
|
||||
true));
|
||||
CModelData mData(CAnimRes(animParms.GetACSFile(), animParms.GetCharacter(), actHead.x40_scale,
|
||||
animParms.GetInitialAnimation(), true));
|
||||
return new MP1::CParasite(mgr.AllocateUniqueId(), actHead.x0_name, CPatterned::EFlavorType::Zero, info,
|
||||
actHead.x10_transform, std::move(mData), pInfo, EBodyType::WallWalker, 0.f, advanceWpRadius,
|
||||
f2, alignAngleVel, f4, 0.2f, 0.4f, 0.f, 0.f, 0.f, 0.f, 0.f, 1.f, moveFowardWeight, 0.f, 0.f,
|
||||
|
@ -3347,9 +3348,8 @@ CEntity* ScriptLoader::LoadThermalHeatFader(CStateManager& mgr, CInputStream& in
|
|||
bool active = in.readBool();
|
||||
float fadedLevel = in.readFloatBig();
|
||||
float initialLevel = in.readFloatBig();
|
||||
return new CScriptDistanceFog(mgr.AllocateUniqueId(), name, info, ERglFogMode::None, zeus::skBlack,
|
||||
zeus::CVector2f(), 0.f, zeus::CVector2f(), false, active, fadedLevel, initialLevel, 0.f,
|
||||
0.f);
|
||||
return new CScriptDistanceFog(mgr.AllocateUniqueId(), name, info, ERglFogMode::None, zeus::skBlack, zeus::CVector2f(),
|
||||
0.f, zeus::CVector2f(), false, active, fadedLevel, initialLevel, 0.f, 0.f);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadBurrower(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info) {
|
||||
|
@ -3411,8 +3411,8 @@ CEntity* ScriptLoader::LoadWorldLightFader(CStateManager& mgr, CInputStream& in,
|
|||
float f1 = in.readFloatBig();
|
||||
float f2 = in.readFloatBig();
|
||||
|
||||
return new CScriptDistanceFog(mgr.AllocateUniqueId(), name, info, ERglFogMode::None, zeus::skBlack,
|
||||
zeus::skZero2f, 0.f, zeus::skZero2f, false, active, 0.f, 0.f, f1, f2);
|
||||
return new CScriptDistanceFog(mgr.AllocateUniqueId(), name, info, ERglFogMode::None, zeus::skBlack, zeus::skZero2f,
|
||||
0.f, zeus::skZero2f, false, active, 0.f, 0.f, f1, f2);
|
||||
}
|
||||
|
||||
CEntity* ScriptLoader::LoadMetroidPrimeStage2(CStateManager& mgr, CInputStream& in, int propCount,
|
||||
|
|
Loading…
Reference in New Issue