Missing SCAN packaging fix

This commit is contained in:
Jack Andersen 2018-05-07 16:11:07 -10:00
parent 9d25d44fe8
commit 70e791babc
83 changed files with 272 additions and 173 deletions

View File

@ -293,8 +293,7 @@ bool MLVL::Cook(const hecl::ProjectPath& outPath, const hecl::ProjectPath& inPat
} }
} }
obj->gatherDependencies(depPaths); obj->gatherDependencies(depPaths, lazyPaths);
obj->gatherLazyDependencies(lazyPaths);
} }
/* Cull duplicate paths and add typed hash to list */ /* Cull duplicate paths and add typed hash to list */

View File

@ -52,11 +52,12 @@ struct Actor : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -44,11 +44,12 @@ struct ActorContraption : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -40,10 +40,11 @@ struct AmbientAI : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -28,7 +28,8 @@ struct AreaAttributes : IScriptObject
UniqueID32 skybox; UniqueID32 skybox;
Value<atUint32> unknown6; Value<atUint32> unknown6;
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(skybox, pathsOut); g_curSpec->flattenDependencies(skybox, pathsOut);
} }

View File

@ -48,12 +48,13 @@ struct AtomicAlpha : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc, pathsOut); g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -60,13 +60,14 @@ struct AtomicBeta : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(elsc, pathsOut); g_curSpec->flattenDependencies(elsc, pathsOut);
g_curSpec->flattenDependencies(wpsc, pathsOut); g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(part, pathsOut); g_curSpec->flattenDependencies(part, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -115,7 +115,8 @@ struct Babygoth : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc1, pathsOut); g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut); g_curSpec->flattenDependencies(wpsc2, pathsOut);
@ -129,7 +130,7 @@ struct Babygoth : IScriptObject
g_curSpec->flattenDependencies(texture, pathsOut); g_curSpec->flattenDependencies(texture, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut); g_curSpec->flattenDependencies(particle6, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -45,11 +45,12 @@ struct Beetle : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -77,7 +77,8 @@ struct BloodFlower : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc1, pathsOut); g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut); g_curSpec->flattenDependencies(wpsc2, pathsOut);
@ -87,7 +88,7 @@ struct BloodFlower : IScriptObject
g_curSpec->flattenDependencies(particle4, pathsOut); g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut); g_curSpec->flattenDependencies(particle5, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -62,7 +62,8 @@ struct Burrower : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc, pathsOut); g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut); g_curSpec->flattenDependencies(particle1, pathsOut);
@ -70,7 +71,7 @@ struct Burrower : IScriptObject
g_curSpec->flattenDependencies(particle3, pathsOut); g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut); g_curSpec->flattenDependencies(particle4, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -31,7 +31,8 @@ struct CameraFilterKeyframe : IScriptObject
} }
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(texture, pathsOut); g_curSpec->flattenDependencies(texture, pathsOut);
} }

View File

@ -70,13 +70,14 @@ struct ChozoGhost : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc1, pathsOut); g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut); g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -43,7 +43,8 @@ struct DamageableTrigger : IScriptObject
} }
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(patternTex1, pathsOut); g_curSpec->flattenDependencies(patternTex1, pathsOut);
g_curSpec->flattenDependencies(patternTex2, pathsOut); g_curSpec->flattenDependencies(patternTex2, pathsOut);

View File

@ -45,11 +45,12 @@ struct Debris : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -76,13 +76,14 @@ struct DebrisExtended : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut); g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut); g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut); g_curSpec->flattenDependencies(particle3, pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -38,10 +38,11 @@ struct DoorArea : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -79,7 +79,8 @@ struct Drone : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(crsc, pathsOut); g_curSpec->flattenDependencies(crsc, pathsOut);
flareDefinition1.depIDs(pathsOut); flareDefinition1.depIDs(pathsOut);
@ -88,7 +89,7 @@ struct Drone : IScriptObject
flareDefinition4.depIDs(pathsOut); flareDefinition4.depIDs(pathsOut);
flareDefinition5.depIDs(pathsOut); flareDefinition5.depIDs(pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -50,7 +50,8 @@ struct Effect : IScriptObject
} }
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(part, pathsOut); g_curSpec->flattenDependencies(part, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut); g_curSpec->flattenDependencies(elsc, pathsOut);

View File

@ -33,7 +33,8 @@ struct ElectroMagneticPulse : IScriptObject
} }
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
} }

View File

@ -114,7 +114,8 @@ struct ElitePirate : IScriptObject
animationParameters.nameANCS(pakRouter, name + "_animp"); animationParameters.nameANCS(pakRouter, name + "_animp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle1, pathsOut); g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut); g_curSpec->flattenDependencies(particle2, pathsOut);
@ -126,8 +127,8 @@ struct ElitePirate : IScriptObject
g_curSpec->flattenDependencies(particle7, pathsOut); g_curSpec->flattenDependencies(particle7, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut); g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters1.depIDs(pathsOut); actorParameters1.depIDs(pathsOut, lazyOut);
actorParameters2.depIDs(pathsOut); actorParameters2.depIDs(pathsOut, lazyOut);
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
} }

View File

@ -64,14 +64,15 @@ struct EnergyBall : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(texture, pathsOut); g_curSpec->flattenDependencies(texture, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut); g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut); g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut); g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -70,7 +70,8 @@ struct Eyeball : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc, pathsOut); g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut); g_curSpec->flattenDependencies(particle1, pathsOut);
@ -78,7 +79,7 @@ struct Eyeball : IScriptObject
g_curSpec->flattenDependencies(texture1, pathsOut); g_curSpec->flattenDependencies(texture1, pathsOut);
g_curSpec->flattenDependencies(texture2, pathsOut); g_curSpec->flattenDependencies(texture2, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -33,10 +33,11 @@ struct FireFlea : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -78,7 +78,8 @@ struct FishCloud : IScriptObject
} }
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);

View File

@ -70,15 +70,16 @@ struct Flaahgra : IScriptObject
animationParameters.nameANCS(pakRouter, name + "_animp"); animationParameters.nameANCS(pakRouter, name + "_animp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc1, pathsOut); g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut); g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(dependencyGroup, pathsOut); g_curSpec->flattenDependencies(dependencyGroup, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters1.depIDs(pathsOut); actorParameters1.depIDs(pathsOut, lazyOut);
actorParameters2.depIDs(pathsOut); actorParameters2.depIDs(pathsOut, lazyOut);
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
} }

View File

@ -30,10 +30,11 @@ struct FlaahgraTentacle : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -34,10 +34,11 @@ struct FlickerBat : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -95,7 +95,8 @@ struct FlyingPirate : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc1, pathsOut); g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut); g_curSpec->flattenDependencies(wpsc2, pathsOut);
@ -105,7 +106,7 @@ struct FlyingPirate : IScriptObject
g_curSpec->flattenDependencies(particle3, pathsOut); g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut); g_curSpec->flattenDependencies(particle4, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -40,10 +40,11 @@ struct Geemer : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -117,7 +117,8 @@ struct GunTurret : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(unknown18, pathsOut); g_curSpec->flattenDependencies(unknown18, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
@ -129,7 +130,7 @@ struct GunTurret : IScriptObject
g_curSpec->flattenDependencies(particle6, pathsOut); g_curSpec->flattenDependencies(particle6, pathsOut);
g_curSpec->flattenDependencies(particle7, pathsOut); g_curSpec->flattenDependencies(particle7, pathsOut);
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -27,7 +27,8 @@ struct HUDMemo : IScriptObject
} }
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(message, pathsOut); g_curSpec->flattenDependencies(message, pathsOut);
} }

View File

@ -44,8 +44,8 @@ struct IScriptObject : BigDNAVYaml
virtual void addCMDLRigPairs(PAKRouter<PAKBridge>&, virtual void addCMDLRigPairs(PAKRouter<PAKBridge>&,
std::unordered_map<UniqueID32, std::pair<UniqueID32, UniqueID32>>&) const {} std::unordered_map<UniqueID32, std::pair<UniqueID32, UniqueID32>>&) const {}
virtual void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {} virtual void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {}
virtual void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const {} virtual void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
virtual void gatherLazyDependencies(std::vector<hecl::ProjectPath>& pathsOut) const {} std::vector<hecl::ProjectPath>& lazyOut) const {}
virtual void gatherScans(std::vector<Scan>& scansOut) const {} virtual void gatherScans(std::vector<Scan>& scansOut) const {}
virtual zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const { return {}; } virtual zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const { return {}; }
}; };

View File

@ -111,7 +111,8 @@ struct IceSheegoth : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc1, pathsOut); g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut); g_curSpec->flattenDependencies(wpsc2, pathsOut);
@ -124,7 +125,7 @@ struct IceSheegoth : IScriptObject
g_curSpec->flattenDependencies(texture, pathsOut); g_curSpec->flattenDependencies(texture, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut); g_curSpec->flattenDependencies(particle6, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -40,10 +40,11 @@ struct IceZoomer : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -44,10 +44,11 @@ struct JellyZap : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -74,13 +74,14 @@ struct Magdolite : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(skin, pathsOut); g_curSpec->flattenDependencies(skin, pathsOut);
g_curSpec->flattenDependencies(magdoliteParameters.particle, pathsOut); g_curSpec->flattenDependencies(magdoliteParameters.particle, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -36,10 +36,11 @@ struct MetareeAlpha : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -48,10 +48,11 @@ struct MetroidAlpha : IScriptObject
animationParameters4.nameANCS(pakRouter, name + "_animp4"); animationParameters4.nameANCS(pakRouter, name + "_animp4");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
animationParameters1.depANCS(pathsOut); animationParameters1.depANCS(pathsOut);
animationParameters2.depANCS(pathsOut); animationParameters2.depANCS(pathsOut);
animationParameters3.depANCS(pathsOut); animationParameters3.depANCS(pathsOut);

View File

@ -72,7 +72,8 @@ struct MetroidBeta : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle1, pathsOut); g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut); g_curSpec->flattenDependencies(particle2, pathsOut);
@ -80,7 +81,7 @@ struct MetroidBeta : IScriptObject
g_curSpec->flattenDependencies(particle4, pathsOut); g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(swhc, pathsOut); g_curSpec->flattenDependencies(swhc, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -303,7 +303,8 @@ struct MetroidPrimeStage1 : IScriptObject
projectileInfo.nameIDs(pakRouter, name + "_projectileInfo"); projectileInfo.nameIDs(pakRouter, name + "_projectileInfo");
} }
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const void depIDs(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
primeStruct2b.depIDs(pathsOut); primeStruct2b.depIDs(pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut); g_curSpec->flattenDependencies(particle4, pathsOut);
@ -314,7 +315,7 @@ struct MetroidPrimeStage1 : IScriptObject
g_curSpec->flattenDependencies(wpsc1, pathsOut); g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut); g_curSpec->flattenDependencies(wpsc2, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
primeStruct4s[0].depIDs(pathsOut); primeStruct4s[0].depIDs(pathsOut);
primeStruct4s[1].depIDs(pathsOut); primeStruct4s[1].depIDs(pathsOut);
primeStruct4s[2].depIDs(pathsOut); primeStruct4s[2].depIDs(pathsOut);
@ -340,9 +341,10 @@ struct MetroidPrimeStage1 : IScriptObject
massivePrimeStruct.nameIDs(pakRouter, name + "_massiveStruct"); massivePrimeStruct.nameIDs(pakRouter, name + "_massiveStruct");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
massivePrimeStruct.depIDs(pathsOut); massivePrimeStruct.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -50,13 +50,14 @@ struct MetroidPrimeStage2 : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle1, pathsOut); g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut); g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut); g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -27,7 +27,8 @@ struct Midi : IScriptObject
} }
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
// Dedicated PAK for this // Dedicated PAK for this
//g_curSpec->flattenDependencies(song, pathsOut); //g_curSpec->flattenDependencies(song, pathsOut);

View File

@ -57,14 +57,15 @@ struct NewIntroBoss : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle1, pathsOut); g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut); g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(texture1, pathsOut); g_curSpec->flattenDependencies(texture1, pathsOut);
g_curSpec->flattenDependencies(texture2, pathsOut); g_curSpec->flattenDependencies(texture2, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -42,10 +42,11 @@ struct Oculus : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -134,7 +134,8 @@ struct OmegaPirate : IScriptObject
animationParameters.nameANCS(pakRouter, name + "_animp"); animationParameters.nameANCS(pakRouter, name + "_animp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath> &pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle1, pathsOut); g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut); g_curSpec->flattenDependencies(particle2, pathsOut);
@ -149,8 +150,8 @@ struct OmegaPirate : IScriptObject
g_curSpec->flattenDependencies(skin, pathsOut); g_curSpec->flattenDependencies(skin, pathsOut);
g_curSpec->flattenDependencies(rig, pathsOut); g_curSpec->flattenDependencies(rig, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters1.depIDs(pathsOut); actorParameters1.depIDs(pathsOut, lazyOut);
actorParameters2.depIDs(pathsOut); actorParameters2.depIDs(pathsOut, lazyOut);
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
} }

View File

@ -444,10 +444,10 @@ struct ActorParameters : BigDNA
} }
} }
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const void depIDs(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
// Scans aren't included as dependencies scannableParameters.depIDs(lazyOut);
//scannableParameters.depIDs(pathsOut);
g_curSpec->flattenDependencies(xrayModel, pathsOut); g_curSpec->flattenDependencies(xrayModel, pathsOut);
g_curSpec->flattenDependencies(xraySkin, pathsOut); g_curSpec->flattenDependencies(xraySkin, pathsOut);
g_curSpec->flattenDependencies(thermalModel, pathsOut); g_curSpec->flattenDependencies(thermalModel, pathsOut);

View File

@ -49,10 +49,11 @@ struct Parasite : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -38,11 +38,12 @@ struct PhazonHealingNodule : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(elsc, pathsOut); g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -54,7 +54,8 @@ struct PhazonPool : IScriptObject
} }
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle1, pathsOut); g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut); g_curSpec->flattenDependencies(particle2, pathsOut);

View File

@ -52,12 +52,13 @@ struct Pickup : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -53,12 +53,13 @@ struct Platform : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(dcln, pathsOut); g_curSpec->flattenDependencies(dcln, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -48,16 +48,13 @@ struct PlayerActor : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} animationParameters.depANCSAll(lazyOut);
void gatherLazyDependencies(std::vector<hecl::ProjectPath>& pathsOut) const
{
animationParameters.depANCSAll(pathsOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -23,9 +23,10 @@ struct PointOfInterest : IScriptObject
scannableParameters.nameIDs(pakRouter, name + "_scanp"); scannableParameters.nameIDs(pakRouter, name + "_scanp");
} }
void gatherLazyDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
scannableParameters.depIDs(pathsOut); scannableParameters.depIDs(lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -50,12 +50,13 @@ struct PuddleSpore : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(wpsc, pathsOut); g_curSpec->flattenDependencies(wpsc, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -46,11 +46,12 @@ struct PuddleToadGamma : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(dcln, pathsOut); g_curSpec->flattenDependencies(dcln, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -50,12 +50,13 @@ struct Puffer : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(texture, pathsOut); g_curSpec->flattenDependencies(texture, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -234,7 +234,8 @@ struct Ridley : IScriptObject
ridleyStruct1.nameIDs(pakRouter, name + "_ridley1"); ridleyStruct1.nameIDs(pakRouter, name + "_ridley1");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(model1, pathsOut); g_curSpec->flattenDependencies(model1, pathsOut);
@ -255,7 +256,7 @@ struct Ridley : IScriptObject
g_curSpec->flattenDependencies(wpsc4, pathsOut); g_curSpec->flattenDependencies(wpsc4, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut); g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
ridleyStruct1.depIDs(pathsOut); ridleyStruct1.depIDs(pathsOut);
} }

View File

@ -32,10 +32,11 @@ struct Ripper : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -29,7 +29,8 @@ struct ScriptBeam : IScriptObject
beamInfo.nameIDs(pakRouter, name + "_beamInfo"); beamInfo.nameIDs(pakRouter, name + "_beamInfo");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc, pathsOut); g_curSpec->flattenDependencies(wpsc, pathsOut);
beamInfo.depIDs(pathsOut); beamInfo.depIDs(pathsOut);

View File

@ -48,12 +48,13 @@ struct Seedling : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(unknown1, pathsOut); g_curSpec->flattenDependencies(unknown1, pathsOut);
g_curSpec->flattenDependencies(unknown2, pathsOut); g_curSpec->flattenDependencies(unknown2, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -49,10 +49,11 @@ struct SnakeWeedSwarm : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -70,12 +70,13 @@ struct SpacePirate : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc1, pathsOut); g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut); g_curSpec->flattenDependencies(wpsc2, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -35,10 +35,11 @@ struct SpankWeed : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -34,9 +34,10 @@ struct Steam : IScriptObject
} }
} }
void gatherLazyDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(texture, pathsOut); g_curSpec->flattenDependencies(texture, lazyOut);
} }
}; };
} }

View File

@ -178,7 +178,8 @@ struct Thardus : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
for (int i=0 ; i<14 ; ++i) for (int i=0 ; i<14 ; ++i)
g_curSpec->flattenDependencies(models[i], pathsOut); g_curSpec->flattenDependencies(models[i], pathsOut);
@ -190,7 +191,7 @@ struct Thardus : IScriptObject
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(texture, pathsOut); g_curSpec->flattenDependencies(texture, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -45,12 +45,13 @@ struct ThardusRockProjectile : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(model, pathsOut); g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(stateMachine, pathsOut); g_curSpec->flattenDependencies(stateMachine, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -34,10 +34,11 @@ struct Tryclops : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -31,7 +31,8 @@ struct VisorFlare : IScriptObject
flareDefinitions[4].nameIDs(pakRouter, name + "_flare5"); flareDefinitions[4].nameIDs(pakRouter, name + "_flare5");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
for (int i=0 ; i<5 ; ++i) for (int i=0 ; i<5 ; ++i)
flareDefinitions[i].depIDs(pathsOut); flareDefinitions[i].depIDs(pathsOut);

View File

@ -37,7 +37,8 @@ struct VisorGoo : IScriptObject
} }
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(electric, pathsOut); g_curSpec->flattenDependencies(electric, pathsOut);

View File

@ -73,12 +73,13 @@ struct WallCrawlerSwarm : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(particle1, pathsOut); g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut); g_curSpec->flattenDependencies(particle2, pathsOut);
animationParameters.depANCS(pathsOut); animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -47,12 +47,13 @@ struct Warwasp : IScriptObject
actorParameters.nameIDs(pakRouter, name + "_actp"); actorParameters.nameIDs(pakRouter, name + "_actp");
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(wpsc1, pathsOut); g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(particle, pathsOut); g_curSpec->flattenDependencies(particle, pathsOut);
patternedInfo.depIDs(pathsOut); patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut); actorParameters.depIDs(pathsOut, lazyOut);
} }
void gatherScans(std::vector<Scan>& scansOut) const void gatherScans(std::vector<Scan>& scansOut) const

View File

@ -160,7 +160,8 @@ struct Water : IScriptObject
} }
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(patternMap1, pathsOut); g_curSpec->flattenDependencies(patternMap1, pathsOut);
g_curSpec->flattenDependencies(patternMap2, pathsOut); g_curSpec->flattenDependencies(patternMap2, pathsOut);

View File

@ -60,7 +60,8 @@ struct WorldTeleporter : IScriptObject
} }
} }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{ {
g_curSpec->flattenDependencies(model1, pathsOut); g_curSpec->flattenDependencies(model1, pathsOut);
g_curSpec->flattenDependencies(model2, pathsOut); g_curSpec->flattenDependencies(model2, pathsOut);

View File

@ -49,7 +49,7 @@ static const char* LightingGLSL =
" ret += lights[i].color * clamp(angAtt, 0.0, 1.0) * att * clamp(dot(normalize(-delta), mvNormIn.xyz), 0.0, 1.0);\n" " ret += lights[i].color * clamp(angAtt, 0.0, 1.0) * att * clamp(dot(normalize(-delta), mvNormIn.xyz), 0.0, 1.0);\n"
" }\n" " }\n"
" \n" " \n"
" return clamp(ret, vec4(0.0,0.0,0.0,0.0), vec4(1.0,1.0,1.0,1.0));\n" " return ret;\n"
"}\n"; "}\n";
static const char* LightingShadowGLSL = static const char* LightingShadowGLSL =
@ -112,7 +112,7 @@ static const char* LightingShadowGLSL =
" ret += lights[i].color * clamp(angAtt, 0.0, 1.0) * att * clamp(dot(normalize(-delta), mvNormIn.xyz), 0.0, 1.0);\n" " ret += lights[i].color * clamp(angAtt, 0.0, 1.0) * att * clamp(dot(normalize(-delta), mvNormIn.xyz), 0.0, 1.0);\n"
" }\n" " }\n"
" \n" " \n"
" return clamp(ret, vec4(0.0,0.0,0.0,0.0), vec4(1.0,1.0,1.0,1.0));\n" " return ret;\n"
"}\n"; "}\n";
static const char* MainPostGLSL = static const char* MainPostGLSL =

View File

@ -48,7 +48,7 @@ static const char* LightingHLSL =
" ret += lights[i].color * saturate(angAtt) * att * saturate(dot(normalize(-delta), mvNormIn.xyz));\n" " ret += lights[i].color * saturate(angAtt) * att * saturate(dot(normalize(-delta), mvNormIn.xyz));\n"
" }\n" " }\n"
" \n" " \n"
" return saturate(ret);\n" " return ret;\n"
"}\n"; "}\n";
static const char* LightingShadowHLSL = static const char* LightingShadowHLSL =
@ -108,7 +108,7 @@ static const char* LightingShadowHLSL =
" ret += lights[i].color * saturate(angAtt) * att * saturate(dot(normalize(-delta), mvNormIn.xyz));\n" " ret += lights[i].color * saturate(angAtt) * att * saturate(dot(normalize(-delta), mvNormIn.xyz));\n"
" }\n" " }\n"
" \n" " \n"
" return saturate(ret);\n" " return ret;\n"
"}\n"; "}\n";
static const char* MainPostHLSL = static const char* MainPostHLSL =

View File

@ -48,7 +48,7 @@ static const char* LightingMetal =
" ret += lu.lights[i].color * saturate(angAtt) * att * saturate(dot(normalize(-delta), mvNormIn.xyz));\n" " ret += lu.lights[i].color * saturate(angAtt) * att * saturate(dot(normalize(-delta), mvNormIn.xyz));\n"
" }\n" " }\n"
" \n" " \n"
" return saturate(ret);\n" " return ret;\n"
"}\n"; "}\n";
static const char* LightingShadowMetal = static const char* LightingShadowMetal =
@ -109,7 +109,7 @@ static const char* LightingShadowMetal =
" ret += lu.lights[i].color * saturate(angAtt) * att * saturate(dot(normalize(-delta), mvNormIn.xyz));\n" " ret += lu.lights[i].color * saturate(angAtt) * att * saturate(dot(normalize(-delta), mvNormIn.xyz));\n"
" }\n" " }\n"
" \n" " \n"
" return saturate(ret);\n" " return ret;\n"
"}\n"; "}\n";
static const char* MainPostMetal = static const char* MainPostMetal =

View File

@ -1030,8 +1030,10 @@ float CCompoundTargetReticle::CalculateClampedScale(const zeus::CVector3f& pos,
const CGameCamera* cam = mgr.GetCameraManager()->GetCurrentCamera(mgr); const CGameCamera* cam = mgr.GetCameraManager()->GetCurrentCamera(mgr);
mgr.GetCameraManager()->GetCurrentCameraTransform(mgr); mgr.GetCameraManager()->GetCurrentCameraTransform(mgr);
zeus::CVector3f viewPos = cam->GetTransform().transposeRotate(pos - cam->GetTransform().origin); zeus::CVector3f viewPos = cam->GetTransform().transposeRotate(pos - cam->GetTransform().origin);
float unclampedX = (cam->GetPerspectiveMatrix().multiplyOneOverW(viewPos + zeus::CVector3f(scale, 0.f, 0.f)).x - viewPos = zeus::CVector3f(viewPos.x, viewPos.z, -viewPos.y);
cam->GetPerspectiveMatrix().multiplyOneOverW(viewPos).x) * 640.f; float realX = cam->GetPerspectiveMatrix().multiplyOneOverW(viewPos).x;
float offsetX = cam->GetPerspectiveMatrix().multiplyOneOverW(viewPos + zeus::CVector3f(scale, 0.f, 0.f)).x;
float unclampedX = (offsetX - realX) * 640;
return zeus::clamp(clampMin, unclampedX, clampMax) / unclampedX * scale; return zeus::clamp(clampMin, unclampedX, clampMax) / unclampedX * scale;
} }

View File

@ -2006,7 +2006,7 @@ CFrontEndUI::CFrontEndUI()
m->ResetGameState(); m->ResetGameState();
g_GameState->SetCurrentWorldId(g_ResFactory->TranslateOriginalToNew(g_DefaultWorldTag.id)); g_GameState->SetCurrentWorldId(g_ResFactory->TranslateOriginalToNew(g_DefaultWorldTag.id));
g_GameState->CurrentWorldState().SetAreaId(2); g_GameState->CurrentWorldState().SetAreaId(1);
g_GameState->GameOptions().ResetToDefaults(); g_GameState->GameOptions().ResetToDefaults();
g_GameState->WriteBackupBuf(); g_GameState->WriteBackupBuf();

View File

@ -72,8 +72,9 @@ bool CPlayerVisor::DrawScanObjectIndicators(const CStateManager& mgr) const
CGraphics::SetDepthRange(DEPTH_WORLD, DEPTH_FAR); CGraphics::SetDepthRange(DEPTH_WORLD, DEPTH_FAR);
g_Renderer->SetViewportOrtho(true, 0.f, 4096.f); g_Renderer->SetViewportOrtho(true, 0.f, 4096.f);
float vpScale = g_Viewport.xc_height / 448.f;
CGraphics::SetModelMatrix( CGraphics::SetModelMatrix(
zeus::CTransform::Scale(x48_interpWindowDims.x * 17.f, 1.f, x48_interpWindowDims.y * 17.f)); zeus::CTransform::Scale(x48_interpWindowDims.x * 17.f * vpScale, 1.f, x48_interpWindowDims.y * 17.f * vpScale));
x114_scanShield->Draw(CModelFlags(5, 0, 3, zeus::CColor::skClear)); x114_scanShield->Draw(CModelFlags(5, 0, 3, zeus::CColor::skClear));
@ -116,7 +117,7 @@ bool CPlayerVisor::DrawScanObjectIndicators(const CStateManager& mgr) const
float scale = CCompoundTargetReticle::CalculateClampedScale(scanPos, 1.f, float scale = CCompoundTargetReticle::CalculateClampedScale(scanPos, 1.f,
g_tweakTargeting->GetScanTargetClampMin(), g_tweakTargeting->GetScanTargetClampMin(),
g_tweakTargeting->GetScanTargetClampMax(), mgr); g_tweakTargeting->GetScanTargetClampMax(), mgr);
zeus::CTransform xf(zeus::CMatrix3f(scale), scanPos); zeus::CTransform xf(zeus::CMatrix3f(scale) * camMtx.basis, scanPos);
float scanRange = g_tweakPlayer->GetScanningRange(); float scanRange = g_tweakPlayer->GetScanningRange();
float farRange = g_tweakPlayer->GetScanMaxLockDistance() - scanRange; float farRange = g_tweakPlayer->GetScanMaxLockDistance() - scanRange;
@ -276,7 +277,7 @@ void CPlayerVisor::UpdateScanWindow(float dt, const CStateManager& mgr)
x30_prevState = x34_nextState; x30_prevState = x34_nextState;
x34_nextState = desiredState; x34_nextState = desiredState;
x38_windowInterpDuration = x38_windowInterpDuration =
(desiredState == EScanWindowState::Scan) ? g_tweakGui->GetScanSidesEndTime() - x3c_windowInterpTimer : 0.f; (desiredState == EScanWindowState::Idle) ? g_tweakGui->GetScanSidesEndTime() - x3c_windowInterpTimer : 0.f;
x3c_windowInterpTimer = x38_windowInterpDuration; x3c_windowInterpTimer = x38_windowInterpDuration;
if (mgr.GetPlayerState()->GetVisorTransitionFactor() == 1.f) if (mgr.GetPlayerState()->GetVisorTransitionFactor() == 1.f)
CSfxManager::SfxStart(1409, x24_visorSfxVol, 0.f, false, 0x7f, false, kInvalidAreaId); CSfxManager::SfxStart(1409, x24_visorSfxVol, 0.f, false, 0x7f, false, kInvalidAreaId);

View File

@ -64,6 +64,7 @@ CActor::CActor(TUniqueId uid, bool active, std::string_view name, const CEntityI
x64_modelData->x18_ambientColor = params.x0_lightParms.x18_noLightsAmbient; x64_modelData->x18_ambientColor = params.x0_lightParms.x18_noLightsAmbient;
x64_modelData->x14_25_sortThermal = !params.x58_27_noSortThermal; x64_modelData->x14_25_sortThermal = !params.x58_27_noSortThermal;
} }
if (params.x40_scanParms.GetScanId().IsValid()) if (params.x40_scanParms.GetScanId().IsValid())
x98_scanObjectInfo = g_SimplePool->GetObj(SObjectTag{FOURCC('SCAN'), params.x40_scanParms.GetScanId()}); x98_scanObjectInfo = g_SimplePool->GetObj(SObjectTag{FOURCC('SCAN'), params.x40_scanParms.GetScanId()});
} }

View File

@ -46,6 +46,36 @@ static CModelData MakePlayerAnimRes(CAssetId resId, const zeus::CVector3f& scale
return {CAnimRes(resId, 0, scale, 0, true), 1}; return {CAnimRes(resId, 0, scale, 0, true), 1};
} }
static uint32_t GetOrbitScreenBoxHalfExtentXScaled(int zone)
{
return g_tweakPlayer->GetOrbitScreenBoxHalfExtentX(zone) * g_Viewport.x8_width / 640;
}
static uint32_t GetOrbitScreenBoxHalfExtentYScaled(int zone)
{
return g_tweakPlayer->GetOrbitScreenBoxHalfExtentY(zone) * g_Viewport.xc_height / 448;
}
static uint32_t GetOrbitScreenBoxCenterXScaled(int zone)
{
return g_tweakPlayer->GetOrbitScreenBoxCenterX(zone) * g_Viewport.x8_width / 640;
}
static uint32_t GetOrbitScreenBoxCenterYScaled(int zone)
{
return g_tweakPlayer->GetOrbitScreenBoxCenterY(zone) * g_Viewport.xc_height / 448;
}
static uint32_t GetOrbitZoneIdealXScaled(int zone)
{
return g_tweakPlayer->GetOrbitZoneIdealX(zone) * g_Viewport.x8_width / 640;
}
static uint32_t GetOrbitZoneIdealYScaled(int zone)
{
return g_tweakPlayer->GetOrbitZoneIdealY(zone) * g_Viewport.xc_height / 448;
}
CPlayer::CPlayer(TUniqueId uid, const zeus::CTransform& xf, const zeus::CAABox& aabb, CAssetId resId, CPlayer::CPlayer(TUniqueId uid, const zeus::CTransform& xf, const zeus::CAABox& aabb, CAssetId resId,
const zeus::CVector3f& playerScale, float mass, float stepUp, float stepDown, float ballRadius, const zeus::CVector3f& playerScale, float mass, float stepUp, float stepDown, float ballRadius,
const CMaterialList& ml) const CMaterialList& ml)
@ -4465,8 +4495,8 @@ TUniqueId CPlayer::CheckEnemiesAgainstOrbitZone(const rstl::reserved_vector<TUni
TUniqueId bestId = kInvalidUniqueId; TUniqueId bestId = kInvalidUniqueId;
float vpWHalf = g_Viewport.x8_width / 2; float vpWHalf = g_Viewport.x8_width / 2;
float vpHHalf = g_Viewport.xc_height / 2; float vpHHalf = g_Viewport.xc_height / 2;
float boxLeft = (g_tweakPlayer->GetOrbitZoneIdealX(int(info)) - vpWHalf) / vpWHalf; float boxLeft = (GetOrbitZoneIdealXScaled(int(info)) - vpWHalf) / vpWHalf;
float boxTop = (g_tweakPlayer->GetOrbitZoneIdealY(int(info)) - vpHHalf) / vpHHalf; float boxTop = (GetOrbitZoneIdealYScaled(int(info)) - vpHHalf) / vpHHalf;
CFirstPersonCamera* fpCam = mgr.GetCameraManager()->GetFirstPersonCamera(); CFirstPersonCamera* fpCam = mgr.GetCameraManager()->GetFirstPersonCamera();
for (TUniqueId id : list) for (TUniqueId id : list)
@ -4580,10 +4610,8 @@ TUniqueId CPlayer::FindBestOrbitableObject(const std::vector<TUniqueId>& ids,
TUniqueId bestId = kInvalidUniqueId; TUniqueId bestId = kInvalidUniqueId;
float vpWidthHalf = g_Viewport.x8_width / 2; float vpWidthHalf = g_Viewport.x8_width / 2;
float vpHeightHalf = g_Viewport.xc_height / 2; float vpHeightHalf = g_Viewport.xc_height / 2;
float boxLeft = (g_tweakPlayer->GetOrbitZoneIdealX(int(info)) * float boxLeft = (GetOrbitZoneIdealXScaled(int(info)) - vpWidthHalf) / vpWidthHalf;
g_Viewport.x8_width / 640 - vpWidthHalf) / vpWidthHalf; float boxTop = (GetOrbitZoneIdealYScaled(int(info)) - vpHeightHalf) / vpHeightHalf;
float boxTop = (g_tweakPlayer->GetOrbitZoneIdealY(int(info)) *
g_Viewport.xc_height / 448 - vpHeightHalf) / vpHeightHalf;
CFirstPersonCamera* fpCam = mgr.GetCameraManager()->GetFirstPersonCamera(); CFirstPersonCamera* fpCam = mgr.GetCameraManager()->GetFirstPersonCamera();
@ -4803,10 +4831,10 @@ bool CPlayer::WithinOrbitScreenBox(const zeus::CVector3f& screenCoords, EPlayerZ
switch (type) switch (type)
{ {
case EPlayerZoneType::Box: case EPlayerZoneType::Box:
return std::fabs(screenCoords.x - g_tweakPlayer->GetOrbitScreenBoxCenterX(int(zone))) < return std::fabs(screenCoords.x - GetOrbitScreenBoxCenterXScaled(int(zone))) <
g_tweakPlayer->GetOrbitScreenBoxHalfExtentX(int(zone)) && GetOrbitScreenBoxHalfExtentXScaled(int(zone)) &&
std::fabs(screenCoords.y - g_tweakPlayer->GetOrbitScreenBoxCenterY(int(zone))) < std::fabs(screenCoords.y - GetOrbitScreenBoxCenterYScaled(int(zone))) <
g_tweakPlayer->GetOrbitScreenBoxHalfExtentY(int(zone)) && GetOrbitScreenBoxHalfExtentYScaled(int(zone)) &&
screenCoords.z < 1.f; screenCoords.z < 1.f;
break; break;
case EPlayerZoneType::Ellipse: case EPlayerZoneType::Ellipse:
@ -4823,12 +4851,12 @@ bool CPlayer::WithinOrbitScreenEllipse(const zeus::CVector3f& screenCoords, EPla
if (screenCoords.z >= 1.f) if (screenCoords.z >= 1.f)
return false; return false;
float heYSq = g_tweakPlayer->GetOrbitScreenBoxHalfExtentY(int(zone)); float heYSq = GetOrbitScreenBoxHalfExtentYScaled(int(zone));
heYSq *= heYSq; heYSq *= heYSq;
float heXSq = g_tweakPlayer->GetOrbitScreenBoxHalfExtentX(int(zone)); float heXSq = GetOrbitScreenBoxHalfExtentXScaled(int(zone));
heXSq *= heXSq; heXSq *= heXSq;
float tmpY = std::fabs(screenCoords.y - g_tweakPlayer->GetOrbitScreenBoxCenterY(int(zone))); float tmpY = std::fabs(screenCoords.y - GetOrbitScreenBoxCenterYScaled(int(zone)));
float tmpX = std::fabs(screenCoords.x - g_tweakPlayer->GetOrbitScreenBoxCenterX(int(zone))); float tmpX = std::fabs(screenCoords.x - GetOrbitScreenBoxCenterXScaled(int(zone)));
return tmpX * tmpX <= (1.f - tmpY * tmpY / heYSq) * heXSq; return tmpX * tmpX <= (1.f - tmpY * tmpY / heYSq) * heXSq;
} }
@ -5226,7 +5254,7 @@ CPlayer::EOrbitValidationResult CPlayer::ValidateOrbitTargetId(TUniqueId uid, CS
if (uid == kInvalidUniqueId) if (uid == kInvalidUniqueId)
return EOrbitValidationResult::InvalidTarget; return EOrbitValidationResult::InvalidTarget;
TCastToConstPtr<CActor> act = mgr.GetObjectById(x310_orbitTargetId); TCastToConstPtr<CActor> act = mgr.GetObjectById(uid);
if (!act || !act->GetIsTargetable() || !act->GetActive()) if (!act || !act->GetIsTargetable() || !act->GetActive())
return EOrbitValidationResult::InvalidTarget; return EOrbitValidationResult::InvalidTarget;

View File

@ -6,7 +6,7 @@
namespace urde namespace urde
{ {
CMaterialList MakeMaterialList() static CMaterialList MakeMaterialList()
{ {
return CMaterialList(EMaterialTypes::Scannable, EMaterialTypes::Trigger, EMaterialTypes::NonSolidDamageable, return CMaterialList(EMaterialTypes::Scannable, EMaterialTypes::Trigger, EMaterialTypes::NonSolidDamageable,
EMaterialTypes::ExcludeFromLineOfSightTest); EMaterialTypes::ExcludeFromLineOfSightTest);