Lots of work to get MP2 repacking functional
This commit is contained in:
parent
040caca896
commit
f6fd78af14
|
@ -14,16 +14,17 @@
|
|||
* Note that in public release builds, asserts are compiled out entirely, so neither log messages nor debug breaks
|
||||
* will occur.
|
||||
*
|
||||
* There are two other macros defined which can be useful for debugging, but shouldn't be used as permanent error
|
||||
* checks: BREAK_ONLY_ASSERT, which doesn't write the error to the log, and LOG_ONLY_ASSERT, which doesn't trigger
|
||||
* a debug break.
|
||||
* LOG_ONLY_ASSERT is similar to a regular assert, but doesn't trigger a debug break. It can be useful for debugging,
|
||||
* but shouldn't be used as a permanent error check.
|
||||
*/
|
||||
#define __FILE_SHORT__ strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__
|
||||
|
||||
#if _DEBUG
|
||||
#define DEBUG_BREAK __debugbreak();
|
||||
#define CONDITIONAL_BREAK(Condition) if (##Condition) DEBUG_BREAK
|
||||
#else
|
||||
#define DEBUG_BREAK {}
|
||||
#define CONDITIONAL_BREAK(Condition) {}
|
||||
#endif
|
||||
|
||||
#if !PUBLIC_RELEASE
|
||||
|
@ -41,11 +42,6 @@
|
|||
#define WRITE_FAILURE_TO_LOG(Expression) \
|
||||
Log::Write(TString(__FILE_SHORT__) + "(" + TString::FromInt32(__LINE__, 0, 10) + "): ASSERT FAILED: " + #Expression);
|
||||
|
||||
#define BREAK_ONLY_ASSERT(Expression) \
|
||||
ASSERT_CHECK_BEGIN(Expression) \
|
||||
DEBUG_BREAK \
|
||||
ASSERT_CHECK_END
|
||||
|
||||
#define LOG_ONLY_ASSERT(Expression) \
|
||||
ASSERT_CHECK_BEGIN(Expression) \
|
||||
WRITE_FAILURE_TO_LOG(Expression) \
|
||||
|
|
|
@ -199,7 +199,7 @@ namespace CompressionUtil
|
|||
return true;
|
||||
}
|
||||
|
||||
bool CompressSegmentedData(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut, bool IsZlib)
|
||||
bool CompressSegmentedData(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut, bool IsZlib, bool AllowUncompressedSegments)
|
||||
{
|
||||
u8 *pSrcEnd = pSrc + SrcLen;
|
||||
u8 *pDstStart = pDst;
|
||||
|
@ -222,7 +222,7 @@ namespace CompressionUtil
|
|||
CompressLZO(pSrc, Size, Compressed.data(), TotalOut);
|
||||
|
||||
// Verify that the compressed data is actually smaller.
|
||||
if (TotalOut >= Size)
|
||||
if (AllowUncompressedSegments && TotalOut >= Size)
|
||||
{
|
||||
// Write negative size value to destination (which signifies uncompressed)
|
||||
*pDst++ = -Size >> 8;
|
||||
|
@ -250,13 +250,13 @@ namespace CompressionUtil
|
|||
return true;
|
||||
}
|
||||
|
||||
bool CompressZlibSegmented(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut)
|
||||
bool CompressZlibSegmented(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut, bool AllowUncompressedSegments)
|
||||
{
|
||||
return CompressSegmentedData(pSrc, SrcLen, pDst, rTotalOut, true);
|
||||
return CompressSegmentedData(pSrc, SrcLen, pDst, rTotalOut, true, AllowUncompressedSegments);
|
||||
}
|
||||
|
||||
bool CompressLZOSegmented(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut)
|
||||
bool CompressLZOSegmented(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut, bool AllowUncompressedSegments)
|
||||
{
|
||||
return CompressSegmentedData(pSrc, SrcLen, pDst, rTotalOut, false);
|
||||
return CompressSegmentedData(pSrc, SrcLen, pDst, rTotalOut, false, AllowUncompressedSegments);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,9 +18,9 @@ namespace CompressionUtil
|
|||
// Compression
|
||||
bool CompressZlib(u8 *pSrc, u32 SrcLen, u8 *pDst, u32 DstLen, u32& rTotalOut);
|
||||
bool CompressLZO(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut);
|
||||
bool CompressSegmentedData(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut, bool IsZlib);
|
||||
bool CompressZlibSegmented(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut);
|
||||
bool CompressLZOSegmented(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut);
|
||||
bool CompressSegmentedData(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut, bool IsZlib, bool AllowUncompressedSegments);
|
||||
bool CompressZlibSegmented(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut, bool AllowUncompressedSegments);
|
||||
bool CompressLZOSegmented(u8 *pSrc, u32 SrcLen, u8 *pDst, u32& rTotalOut, bool AllowUncompressedSegments);
|
||||
}
|
||||
|
||||
#endif // COMPRESSIONUTIL_H
|
||||
|
|
|
@ -55,6 +55,15 @@ void CDependencyTree::AddDependency(CResource *pRes, bool AvoidDuplicates /*= tr
|
|||
AddDependency(pRes->ID(), AvoidDuplicates);
|
||||
}
|
||||
|
||||
void CDependencyTree::AddCharacterDependency(const CAnimationParameters& rkAnimParams)
|
||||
{
|
||||
// This is for formats other than MREA that use AnimationParameters (such as SCAN).
|
||||
CAnimSet *pSet = rkAnimParams.AnimSet();
|
||||
if (!pSet || rkAnimParams.CharacterIndex() == -1) return;
|
||||
CCharPropertyDependency *pChar = new CCharPropertyDependency("NULL", pSet->ID(), rkAnimParams.CharacterIndex());
|
||||
mChildren.push_back(pChar);
|
||||
}
|
||||
|
||||
// ************ CResourceDependency ************
|
||||
EDependencyNodeType CResourceDependency::Type() const
|
||||
{
|
||||
|
@ -215,6 +224,7 @@ CSetCharacterDependency* CSetCharacterDependency::BuildTree(const CAnimSet *pkOw
|
|||
|
||||
pTree->AddDependency(pkChar->IceModel);
|
||||
pTree->AddDependency(pkChar->IceSkin);
|
||||
pTree->AddDependency(pkChar->SpatialPrimitives);
|
||||
}
|
||||
|
||||
return pTree;
|
||||
|
@ -300,7 +310,8 @@ void CAreaDependencyTree::AddScriptLayer(CScriptLayer *pLayer)
|
|||
CScriptInstanceDependency *pTree = CScriptInstanceDependency::BuildTree( pLayer->InstanceByIndex(iInst) );
|
||||
ASSERT(pTree != nullptr);
|
||||
|
||||
if (pTree->NumChildren() > 0)
|
||||
// Note: MP2+ need to track all instances (not just instances with dependencies) to be able to build the layer module list
|
||||
if (pTree->NumChildren() > 0 || pLayer->Area()->Game() >= eEchoesDemo)
|
||||
mChildren.push_back(pTree);
|
||||
else
|
||||
delete pTree;
|
||||
|
|
|
@ -10,6 +10,7 @@ class CScriptLayer;
|
|||
class CScriptObject;
|
||||
class CPropertyStruct;
|
||||
class CAnimSet;
|
||||
class CAnimationParameters;
|
||||
struct SSetCharacter;
|
||||
|
||||
// Group of node classes forming a tree of cached resource dependencies.
|
||||
|
@ -39,8 +40,8 @@ public:
|
|||
virtual bool HasDependency(const CAssetID& rkID) const;
|
||||
|
||||
// Accessors
|
||||
u32 NumChildren() const { return mChildren.size(); }
|
||||
IDependencyNode* ChildByIndex(u32 Index) const { return mChildren[Index]; }
|
||||
inline u32 NumChildren() const { return mChildren.size(); }
|
||||
inline IDependencyNode* ChildByIndex(u32 Index) const { return mChildren[Index]; }
|
||||
};
|
||||
|
||||
// Basic dependency tree; this class is sufficient for most resource types.
|
||||
|
@ -59,6 +60,7 @@ public:
|
|||
void AddChild(IDependencyNode *pNode);
|
||||
void AddDependency(const CAssetID& rkID, bool AvoidDuplicates = true);
|
||||
void AddDependency(CResource *pRes, bool AvoidDuplicates = true);
|
||||
void AddCharacterDependency(const CAnimationParameters& rkAnimParams);
|
||||
|
||||
// Accessors
|
||||
inline void SetID(const CAssetID& rkID) { mRootID = rkID; }
|
||||
|
@ -183,6 +185,7 @@ public:
|
|||
|
||||
// Accessors
|
||||
inline bool IsUsedByCharacter(u32 CharIdx) const { return mCharacterIndices.find(CharIdx) != mCharacterIndices.end(); }
|
||||
inline bool IsUsedByAnyCharacter() const { return !mCharacterIndices.empty(); }
|
||||
|
||||
// Static
|
||||
static CSetAnimationDependency* BuildTree(const CAnimSet *pkOwnerSet, u32 AnimIndex);
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "CGameProject.h"
|
||||
#include "Core/Resource/Factory/CTemplateLoader.h"
|
||||
#include "Core/Resource/Script/CMasterTemplate.h"
|
||||
#include <Common/Serialization/XML.h>
|
||||
|
||||
|
@ -21,6 +22,7 @@ bool CGameProject::Load(const TWideString& rkPath)
|
|||
TString ProjPath = rkPath.ToUTF8();
|
||||
CXMLReader Reader(ProjPath);
|
||||
Serialize(Reader);
|
||||
CTemplateLoader::LoadGameTemplates(mGame);
|
||||
|
||||
mpResourceStore->LoadResourceDatabase();
|
||||
mpAudioManager->LoadAssets();
|
||||
|
|
|
@ -159,7 +159,7 @@ void CPackage::Cook()
|
|||
if (mpProject->Game() <= eEchoesDemo)
|
||||
Success = CompressionUtil::CompressZlib(ResourceData.data(), ResourceData.size(), CompressedData.data(), CompressedData.size(), CompressedSize);
|
||||
else
|
||||
Success = CompressionUtil::CompressLZOSegmented(ResourceData.data(), ResourceData.size(), CompressedData.data(), CompressedSize);
|
||||
Success = CompressionUtil::CompressLZOSegmented(ResourceData.data(), ResourceData.size(), CompressedData.data(), CompressedSize, false);
|
||||
|
||||
// Make sure that the compressed data is actually smaller, accounting for padding + uncompressed size value
|
||||
if (Success)
|
||||
|
@ -217,7 +217,7 @@ void CPackage::CompareOriginalAssetList(const std::list<CAssetID>& rkNewList)
|
|||
TWideString CookedPath = CookedPackagePath(false);
|
||||
CFileInStream Pak(CookedPath.ToUTF8().ToStdString(), IOUtil::eBigEndian);
|
||||
|
||||
if (!Pak.IsValid())
|
||||
if (!Pak.IsValid() || Pak.Size() == 0)
|
||||
{
|
||||
Log::Error("Failed to compare to original asset list; couldn't open the original pak");
|
||||
return;
|
||||
|
|
|
@ -139,6 +139,21 @@ void CCharacterUsageMap::ParseDependencyNode(IDependencyNode *pNode)
|
|||
rUsageList[UsedChar] = true;
|
||||
}
|
||||
|
||||
// Parse dependencies of the referenced resource if it's a type that can reference animsets
|
||||
else if (Type == eDNT_ResourceDependency || Type == eDNT_ScriptProperty)
|
||||
{
|
||||
CResourceDependency *pDep = static_cast<CResourceDependency*>(pNode);
|
||||
CResourceEntry *pEntry = gpResourceStore->FindEntry(pDep->ID());
|
||||
|
||||
if (pEntry)
|
||||
{
|
||||
EResType ResType = pEntry->ResourceType();
|
||||
|
||||
if (ResType == eScan)
|
||||
ParseDependencyNode(pEntry->Dependencies());
|
||||
}
|
||||
}
|
||||
|
||||
// Look for sub-dependencies of the current node
|
||||
else
|
||||
{
|
||||
|
@ -275,7 +290,7 @@ void CPackageDependencyListBuilder::EvaluateDependencyNode(CResourceEntry *pCurE
|
|||
else if (Type == eDNT_SetAnimation)
|
||||
{
|
||||
CSetAnimationDependency *pAnim = static_cast<CSetAnimationDependency*>(pNode);
|
||||
ParseChildren = mCharacterUsageMap.IsAnimationUsed(mCurrentAnimSetID, pAnim) || mIsPlayerActor; // todo - should maybe omit completely unused animations on PlayerActors?
|
||||
ParseChildren = mCharacterUsageMap.IsAnimationUsed(mCurrentAnimSetID, pAnim) || (mIsPlayerActor && pAnim->IsUsedByAnyCharacter());
|
||||
}
|
||||
|
||||
else
|
||||
|
@ -409,7 +424,10 @@ void CAreaDependencyListBuilder::AddDependency(const CAssetID& rkID, std::list<C
|
|||
|
||||
// Don't add CSNGs to the output dependency list (we parse them because we need their AGSC dependencies in the output AudioGroup set)
|
||||
if (ResType != eMidi)
|
||||
{
|
||||
rOut.push_back(rkID);
|
||||
mLayerUsedAssets.insert(rkID);
|
||||
}
|
||||
}
|
||||
|
||||
void CAreaDependencyListBuilder::EvaluateDependencyNode(CResourceEntry *pCurEntry, IDependencyNode *pNode, std::list<CAssetID>& rOut, std::set<CAssetID> *pAudioGroupsOut)
|
||||
|
@ -445,7 +463,7 @@ void CAreaDependencyListBuilder::EvaluateDependencyNode(CResourceEntry *pCurEntr
|
|||
else if (Type == eDNT_SetAnimation)
|
||||
{
|
||||
CSetAnimationDependency *pAnim = static_cast<CSetAnimationDependency*>(pNode);
|
||||
ParseChildren = mCharacterUsageMap.IsAnimationUsed(mCurrentAnimSetID, pAnim);
|
||||
ParseChildren = mCharacterUsageMap.IsAnimationUsed(mCurrentAnimSetID, pAnim) || (mIsPlayerActor && pAnim->IsUsedByAnyCharacter());
|
||||
}
|
||||
|
||||
else
|
||||
|
|
|
@ -57,6 +57,7 @@ struct SSetCharacter
|
|||
std::vector<CAssetID> EffectParticles;
|
||||
CAssetID IceModel;
|
||||
CAssetID IceSkin;
|
||||
CAssetID SpatialPrimitives;
|
||||
std::set<u32> UsedAnimationIndices;
|
||||
};
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@ CGameArea::CGameArea(CResourceEntry *pEntry /*= 0*/)
|
|||
, mOriginalWorldMeshCount(0)
|
||||
, mUsesCompression(false)
|
||||
, mpMaterialSet(nullptr)
|
||||
, mpGeneratorLayer(nullptr)
|
||||
, mpCollision(nullptr)
|
||||
{
|
||||
}
|
||||
|
@ -21,7 +20,6 @@ CGameArea::~CGameArea()
|
|||
ClearTerrain();
|
||||
|
||||
delete mpCollision;
|
||||
delete mpGeneratorLayer;
|
||||
|
||||
for (u32 iSCLY = 0; iSCLY < mScriptLayers.size(); iSCLY++)
|
||||
delete mScriptLayers[iSCLY];
|
||||
|
@ -54,8 +52,6 @@ CDependencyTree* CGameArea::BuildDependencyTree() const
|
|||
for (u32 iLayer = 0; iLayer < mScriptLayers.size(); iLayer++)
|
||||
pTree->AddScriptLayer(mScriptLayers[iLayer]);
|
||||
|
||||
pTree->AddScriptLayer(mpGeneratorLayer);
|
||||
|
||||
return pTree;
|
||||
}
|
||||
|
||||
|
@ -134,8 +130,6 @@ void CGameArea::ClearScriptLayers()
|
|||
for (auto it = mScriptLayers.begin(); it != mScriptLayers.end(); it++)
|
||||
delete *it;
|
||||
mScriptLayers.clear();
|
||||
delete mpGeneratorLayer;
|
||||
mpGeneratorLayer = nullptr;
|
||||
}
|
||||
|
||||
u32 CGameArea::TotalInstanceCount() const
|
||||
|
|
|
@ -49,7 +49,6 @@ class CGameArea : public CResource
|
|||
std::vector<CStaticModel*> mStaticWorldModels; // StaticTerrainModels is the merged terrain for faster rendering in the world editor
|
||||
// Script
|
||||
std::vector<CScriptLayer*> mScriptLayers;
|
||||
CScriptLayer *mpGeneratorLayer;
|
||||
std::unordered_map<u32, CScriptObject*> mObjectMap;
|
||||
// Collision
|
||||
CCollisionMeshGroup *mpCollision;
|
||||
|
@ -92,7 +91,6 @@ public:
|
|||
inline CCollisionMeshGroup* Collision() const { return mpCollision; }
|
||||
inline u32 NumScriptLayers() const { return mScriptLayers.size(); }
|
||||
inline CScriptLayer* ScriptLayer(u32 Index) const { return mScriptLayers[Index]; }
|
||||
inline CScriptLayer* GeneratedObjectsLayer() const { return mpGeneratorLayer; }
|
||||
inline u32 NumLightLayers() const { return mLightLayers.size(); }
|
||||
inline u32 NumLights(u32 LayerIndex) const { return (LayerIndex < mLightLayers.size() ? mLightLayers[LayerIndex].size() : 0); }
|
||||
inline CLight* Light(u32 LayerIndex, u32 LightIndex) const { return mLightLayers[LayerIndex][LightIndex]; }
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include "CResource.h"
|
||||
#include "CStringTable.h"
|
||||
#include "TResPtr.h"
|
||||
#include "Core/Resource/Animation/CAnimationParameters.h"
|
||||
#include <Common/EGame.h>
|
||||
|
||||
class CScan : public CResource
|
||||
|
@ -22,15 +23,34 @@ public:
|
|||
eResearch
|
||||
};
|
||||
|
||||
struct SScanInfoSecondaryModel
|
||||
{
|
||||
CAssetID ModelID;
|
||||
CAnimationParameters AnimParams;
|
||||
TString AttachBoneName;
|
||||
};
|
||||
|
||||
private:
|
||||
EGame mVersion;
|
||||
CAssetID mFrameID;
|
||||
// Common
|
||||
TResPtr<CStringTable> mpStringTable;
|
||||
bool mIsSlow;
|
||||
bool mIsImportant;
|
||||
ELogbookCategory mCategory;
|
||||
|
||||
// MP1
|
||||
CAssetID mFrameID;
|
||||
CAssetID mScanImageTextures[4];
|
||||
std::vector<CAssetID> mLogbookAssets;
|
||||
|
||||
// MP2/3
|
||||
bool mUseLogbookModelPostScan;
|
||||
CAssetID mPostOverrideTexture;
|
||||
float mLogbookDefaultRotX;
|
||||
float mLogbookDefaultRotZ;
|
||||
float mLogbookScale;
|
||||
CAssetID mLogbookModel;
|
||||
CAnimationParameters mLogbookAnimParams;
|
||||
CAnimationParameters mUnknownAnimParams;
|
||||
std::vector<SScanInfoSecondaryModel> mSecondaryModels;
|
||||
|
||||
public:
|
||||
CScan(CResourceEntry *pEntry = 0)
|
||||
|
@ -43,23 +63,41 @@ public:
|
|||
|
||||
CDependencyTree* BuildDependencyTree() const
|
||||
{
|
||||
// note: not handling Corruption yet
|
||||
if (Game() >= eCorruptionProto)
|
||||
Log::Warning("CScan::BuildDependencyTree not handling Corruption dependencies");
|
||||
|
||||
CDependencyTree *pTree = new CDependencyTree(ID());
|
||||
pTree->AddDependency(mFrameID);
|
||||
|
||||
if (Game() <= ePrime)
|
||||
pTree->AddDependency(mFrameID);
|
||||
|
||||
pTree->AddDependency(mpStringTable);
|
||||
|
||||
for (u32 iImg = 0; iImg < 4; iImg++)
|
||||
pTree->AddDependency(mScanImageTextures[iImg]);
|
||||
if (Game() <= ePrime)
|
||||
{
|
||||
for (u32 iImg = 0; iImg < 4; iImg++)
|
||||
pTree->AddDependency(mScanImageTextures[iImg]);
|
||||
}
|
||||
|
||||
for (u32 iLog = 0; iLog < mLogbookAssets.size(); iLog++)
|
||||
pTree->AddDependency(mLogbookAssets[iLog]);
|
||||
else if (Game() <= eEchoes)
|
||||
{
|
||||
pTree->AddDependency(mPostOverrideTexture);
|
||||
pTree->AddDependency(mLogbookModel);
|
||||
pTree->AddCharacterDependency(mLogbookAnimParams);
|
||||
pTree->AddCharacterDependency(mUnknownAnimParams);
|
||||
|
||||
for (u32 iSec = 0; iSec < mSecondaryModels.size(); iSec++)
|
||||
{
|
||||
const SScanInfoSecondaryModel& rkSecModel = mSecondaryModels[iSec];
|
||||
pTree->AddDependency(rkSecModel.ModelID);
|
||||
pTree->AddCharacterDependency(rkSecModel.AnimParams);
|
||||
}
|
||||
}
|
||||
|
||||
return pTree;
|
||||
}
|
||||
|
||||
EGame Version() const { return mVersion; }
|
||||
CStringTable* ScanText() const { return mpStringTable; }
|
||||
bool IsImportant() const { return mIsImportant; }
|
||||
bool IsSlow() const { return mIsSlow; }
|
||||
|
|
|
@ -200,10 +200,11 @@ void CAreaCooker::WritePrimeSCLY(IOutputStream& rOut)
|
|||
// SCGN
|
||||
if (mVersion == eEchoesDemo)
|
||||
{
|
||||
rOut.WriteString("SCGN", 4);
|
||||
// IMPORTANT TODO - REGENERATE SCGN LAYER
|
||||
/*rOut.WriteString("SCGN", 4);
|
||||
rOut.WriteByte(1);
|
||||
CScriptCooker::WriteLayer(mVersion, mpArea->mpGeneratorLayer, rOut);
|
||||
FinishSection(false);
|
||||
FinishSection(false);*/
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -220,9 +221,10 @@ void CAreaCooker::WriteEchoesSCLY(IOutputStream& rOut)
|
|||
}
|
||||
|
||||
// SCGN
|
||||
// IMPORTANT TODO - REGENERATE SCGN
|
||||
rOut.WriteString("SCGN", 4);
|
||||
rOut.WriteByte(0x1);
|
||||
CScriptCooker::WriteLayer(mVersion, mpArea->mpGeneratorLayer, rOut);
|
||||
//CScriptCooker::WriteLayer(mVersion, mpArea->mpGeneratorLayer, rOut);
|
||||
FinishSection(true);
|
||||
}
|
||||
|
||||
|
@ -276,7 +278,7 @@ void CAreaCooker::FinishBlock()
|
|||
|
||||
if (EnableCompression)
|
||||
{
|
||||
bool Success = CompressionUtil::CompressSegmentedData((u8*) mCompressedData.Data(), mCompressedData.Size(), CompressedBuf.data(), CompressedSize, UseZlib);
|
||||
bool Success = CompressionUtil::CompressSegmentedData((u8*) mCompressedData.Data(), mCompressedData.Size(), CompressedBuf.data(), CompressedSize, UseZlib, true);
|
||||
u32 PadBytes = (32 - (CompressedSize % 32)) & 0x1F;
|
||||
WriteCompressedData = Success && (CompressedSize + PadBytes < (u32) mCompressedData.Size());
|
||||
}
|
||||
|
|
|
@ -141,6 +141,10 @@ bool CWorldCooker::CookMLVL(CWorld *pWorld, IOutputStream& rMLVL)
|
|||
for (u32 iOff = 0; iOff < ModuleLayerOffsets.size(); iOff++)
|
||||
rMLVL.WriteLong(ModuleLayerOffsets[iOff]);
|
||||
}
|
||||
|
||||
// Internal Name
|
||||
if (Game >= eEchoesDemo)
|
||||
rMLVL.WriteString(rArea.InternalName.ToStdString());
|
||||
}
|
||||
|
||||
if (Game <= eCorruption)
|
||||
|
|
|
@ -33,7 +33,7 @@ CAnimSet* CAnimSetLoader::LoadReturnsCHAR(IInputStream& rCHAR)
|
|||
return pSet;
|
||||
}
|
||||
|
||||
void CAnimSetLoader::LoadPASDatabase(IInputStream& rPAS4, SSetCharacter *pChar)
|
||||
void CAnimSetLoader::LoadPASDatabase(IInputStream& rPAS4)
|
||||
{
|
||||
// For now, just parse the data; don't store it
|
||||
rPAS4.Seek(0x4, SEEK_CUR); // Skipping PAS4 FourCC
|
||||
|
@ -68,11 +68,7 @@ void CAnimSetLoader::LoadPASDatabase(IInputStream& rPAS4, SSetCharacter *pChar)
|
|||
}
|
||||
|
||||
for (u32 iInfo = 0; iInfo < AnimInfoCount; iInfo++)
|
||||
{
|
||||
u32 MetaAnimID = rPAS4.ReadLong();
|
||||
rPAS4.Seek(Skip, SEEK_CUR);
|
||||
pChar->UsedAnimationIndices.insert(MetaAnimID);
|
||||
}
|
||||
rPAS4.Seek(0x4 + Skip, SEEK_CUR);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -321,7 +317,7 @@ CAnimSet* CAnimSetLoader::LoadANCS(IInputStream& rANCS, CResourceEntry *pEntry)
|
|||
}
|
||||
|
||||
// PAS Database
|
||||
Loader.LoadPASDatabase(rANCS, pChar);
|
||||
Loader.LoadPASDatabase(rANCS);
|
||||
|
||||
// Particles
|
||||
u32 ParticleCount = rANCS.ReadLong();
|
||||
|
@ -394,7 +390,8 @@ CAnimSet* CAnimSetLoader::LoadANCS(IInputStream& rANCS, CResourceEntry *pEntry)
|
|||
|
||||
if (Loader.mVersion == eEchoes)
|
||||
{
|
||||
rANCS.Seek(0x5, SEEK_CUR);
|
||||
pChar->SpatialPrimitives = rANCS.ReadLong();
|
||||
rANCS.Seek(0x1, SEEK_CUR);
|
||||
u32 UnknownCount2 = rANCS.ReadLong();
|
||||
rANCS.Seek(UnknownCount2 * 0x1C, SEEK_CUR);
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ class CAnimSetLoader
|
|||
CAnimSetLoader();
|
||||
CAnimSet* LoadCorruptionCHAR(IInputStream& rCHAR);
|
||||
CAnimSet* LoadReturnsCHAR(IInputStream& rCHAR);
|
||||
void LoadPASDatabase(IInputStream& rPAS4, SSetCharacter *pChar);
|
||||
void LoadPASDatabase(IInputStream& rPAS4);
|
||||
|
||||
void LoadAnimationSet(IInputStream& rANCS);
|
||||
void ProcessPrimitives();
|
||||
|
|
|
@ -158,9 +158,8 @@ void CAreaLoader::ReadSCLYPrime()
|
|||
|
||||
if (pLayer)
|
||||
{
|
||||
mpArea->mpGeneratorLayer = pLayer;
|
||||
pLayer->SetName("Generated Objects");
|
||||
pLayer->SetActive(true);
|
||||
MergeGeneratedLayer(pLayer);
|
||||
delete pLayer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -311,6 +310,7 @@ void CAreaLoader::ReadSCLYEchoes()
|
|||
}
|
||||
|
||||
// SCGN
|
||||
// we want to regenerate the SCGN layer on cook - for now just move everything back to its original layer
|
||||
CFourCC SCGN(*mpMREA);
|
||||
if (SCGN != "SCGN")
|
||||
{
|
||||
|
@ -319,12 +319,12 @@ void CAreaLoader::ReadSCLYEchoes()
|
|||
}
|
||||
|
||||
mpMREA->Seek(0x1, SEEK_CUR); // Skipping unknown
|
||||
mpArea->mpGeneratorLayer = CScriptLoader::LoadLayer(*mpMREA, mpArea, mVersion);
|
||||
CScriptLayer *pGeneratedLayer = CScriptLoader::LoadLayer(*mpMREA, mpArea, mVersion);
|
||||
|
||||
if (mpArea->mpGeneratorLayer)
|
||||
if (pGeneratedLayer)
|
||||
{
|
||||
mpArea->mpGeneratorLayer->SetName("Generated Objects");
|
||||
mpArea->mpGeneratorLayer->SetActive(true);
|
||||
MergeGeneratedLayer(pGeneratedLayer);
|
||||
delete pGeneratedLayer;
|
||||
}
|
||||
|
||||
SetUpObjects();
|
||||
|
@ -606,19 +606,37 @@ void CAreaLoader::ReadEGMC()
|
|||
mpArea->mpPoiToWorldMap = gpResourceStore->LoadResource(EGMC, "EGMC");
|
||||
}
|
||||
|
||||
void CAreaLoader::SetUpObjects()
|
||||
void CAreaLoader::MergeGeneratedLayer(CScriptLayer *pLayer)
|
||||
{
|
||||
// Iterate over all objects
|
||||
for (u32 iLyr = 0; iLyr < mpArea->NumScriptLayers() + 1; iLyr++)
|
||||
while (pLayer->NumInstances() != 0)
|
||||
{
|
||||
CScriptLayer *pLayer;
|
||||
if (iLyr < mpArea->NumScriptLayers()) pLayer = mpArea->mScriptLayers[iLyr];
|
||||
CScriptObject *pObj = pLayer->InstanceByIndex(0);
|
||||
u32 InstanceID = pObj->InstanceID();
|
||||
|
||||
// Check if this is a duplicate of an existing instance (this only happens with DKCR GenericCreature as far as I'm aware)
|
||||
CScriptObject *pDupe = mpArea->InstanceByID(InstanceID);
|
||||
|
||||
if (pDupe)
|
||||
{
|
||||
Log::Write("Duplicate SCGN object: [" + pObj->Template()->Name() + "] " + pObj->InstanceName() + " (" + TString::HexString(pObj->InstanceID(), 8, false) + ")");
|
||||
pLayer->RemoveInstance(pObj);
|
||||
delete pObj;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
pLayer = mpArea->GeneratedObjectsLayer();
|
||||
if (!pLayer) break;
|
||||
u32 LayerIdx = (InstanceID >> 26) & 0x3F;
|
||||
pObj->SetLayer( mpArea->ScriptLayer(LayerIdx) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CAreaLoader::SetUpObjects()
|
||||
{
|
||||
// Iterate over all objects
|
||||
for (u32 iLyr = 0; iLyr < mpArea->NumScriptLayers(); iLyr++)
|
||||
{
|
||||
CScriptLayer *pLayer = mpArea->mScriptLayers[iLyr];
|
||||
|
||||
for (u32 iObj = 0; iObj < pLayer->NumInstances(); iObj++)
|
||||
{
|
||||
|
|
|
@ -78,6 +78,7 @@ class CAreaLoader
|
|||
void ReadPATH();
|
||||
void ReadPTLA();
|
||||
void ReadEGMC();
|
||||
void MergeGeneratedLayer(CScriptLayer *pLayer);
|
||||
void SetUpObjects();
|
||||
|
||||
public:
|
||||
|
|
|
@ -27,28 +27,33 @@ CAudioGroup* CAudioGroupLoader::LoadAGSC(IInputStream& rAGSC, CResourceEntry *pE
|
|||
}
|
||||
|
||||
// Read needed data from the Proj chunk
|
||||
u32 ProjStart = rAGSC.Tell();
|
||||
rAGSC.Seek(0x4, SEEK_CUR);
|
||||
u16 GroupID = rAGSC.ReadShort();
|
||||
u16 GroupType = rAGSC.ReadShort();
|
||||
rAGSC.Seek(0x14, SEEK_CUR);
|
||||
u32 SfxTableStart = rAGSC.ReadLong();
|
||||
u16 Peek = rAGSC.PeekShort();
|
||||
|
||||
if (Game == ePrime)
|
||||
pOut->mGroupID = GroupID;
|
||||
else
|
||||
ASSERT(pOut->mGroupID == GroupID);
|
||||
|
||||
if (GroupType == 1)
|
||||
if (Peek != 0xFFFF)
|
||||
{
|
||||
rAGSC.Seek(ProjStart + SfxTableStart, SEEK_SET);
|
||||
u16 NumSounds = rAGSC.ReadShort();
|
||||
rAGSC.Seek(0x2, SEEK_CUR);
|
||||
u32 ProjStart = rAGSC.Tell();
|
||||
rAGSC.Seek(0x4, SEEK_CUR);
|
||||
u16 GroupID = rAGSC.ReadShort();
|
||||
u16 GroupType = rAGSC.ReadShort();
|
||||
rAGSC.Seek(0x14, SEEK_CUR);
|
||||
u32 SfxTableStart = rAGSC.ReadLong();
|
||||
|
||||
for (u32 iSfx = 0; iSfx < NumSounds; iSfx++)
|
||||
if (Game == ePrime)
|
||||
pOut->mGroupID = GroupID;
|
||||
else
|
||||
ASSERT(pOut->mGroupID == GroupID);
|
||||
|
||||
if (GroupType == 1)
|
||||
{
|
||||
pOut->mDefineIDs.push_back( rAGSC.ReadShort() );
|
||||
rAGSC.Seek(0x8, SEEK_CUR);
|
||||
rAGSC.Seek(ProjStart + SfxTableStart, SEEK_SET);
|
||||
u16 NumSounds = rAGSC.ReadShort();
|
||||
rAGSC.Seek(0x2, SEEK_CUR);
|
||||
|
||||
for (u32 iSfx = 0; iSfx < NumSounds; iSfx++)
|
||||
{
|
||||
pOut->mDefineIDs.push_back( rAGSC.ReadShort() );
|
||||
rAGSC.Seek(0x8, SEEK_CUR);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,9 +75,10 @@ CStringList* CAudioGroupLoader::LoadSTLC(IInputStream& rSTLC, CResourceEntry *pE
|
|||
{
|
||||
CStringList *pOut = new CStringList(pEntry);
|
||||
u32 NumStrings = rSTLC.ReadLong();
|
||||
pOut->mStringList.reserve(NumStrings);
|
||||
|
||||
for (u32 iStr = 0; iStr < NumStrings; iStr++)
|
||||
pOut->mStringList[iStr] = rSTLC.ReadString();
|
||||
pOut->mStringList.push_back( rSTLC.ReadString() );
|
||||
|
||||
return pOut;
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ CScan* CScanLoader::LoadScanMP1(IInputStream& rSCAN)
|
|||
rSCAN.Seek(0x18, SEEK_CUR);
|
||||
}
|
||||
|
||||
mpScan->mVersion = ePrime;
|
||||
mpScan->SetGame(ePrime);
|
||||
return mpScan;
|
||||
}
|
||||
|
||||
|
@ -67,26 +67,29 @@ CScan* CScanLoader::LoadScanMP2(IInputStream& rSCAN)
|
|||
case 0xB:
|
||||
mpScan = new CScan(mpEntry);
|
||||
mpScan->SetGame(eEchoes);
|
||||
LoadParamsMP2(rSCAN);
|
||||
LoadParamsMP2(rSCAN, NumProperties);
|
||||
break;
|
||||
case 0x12:
|
||||
case 0x16:
|
||||
mpScan = new CScan(mpEntry);
|
||||
mpScan->SetGame(eCorruption);
|
||||
LoadParamsMP3(rSCAN);
|
||||
LoadParamsMP3(rSCAN, NumProperties);
|
||||
break;
|
||||
default:
|
||||
Log::FileError(rSCAN.GetSourceString(), rSCAN.Tell() - 2, "Invalid SNFO property count: " + TString::HexString(NumProperties));
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
mpScan->SetGame(eEchoes);
|
||||
return mpScan;
|
||||
}
|
||||
|
||||
void CScanLoader::LoadParamsMP2(IInputStream& rSCAN)
|
||||
void CScanLoader::LoadParamsMP2(IInputStream& rSCAN, u16 NumProperties)
|
||||
{
|
||||
// Function begins after the SNFO property count
|
||||
for (u32 iProp = 0; iProp < 20; iProp++)
|
||||
mpScan->mSecondaryModels.resize(9);
|
||||
|
||||
for (u32 iProp = 0; iProp < NumProperties; iProp++)
|
||||
{
|
||||
u32 PropertyID = rSCAN.ReadLong();
|
||||
u16 PropertySize = rSCAN.ReadShort();
|
||||
|
@ -103,39 +106,75 @@ void CScanLoader::LoadParamsMP2(IInputStream& rSCAN)
|
|||
break;
|
||||
|
||||
case 0x7B714814:
|
||||
mpScan->mIsImportant = (rSCAN.ReadByte() != 0);
|
||||
mpScan->mIsImportant = rSCAN.ReadBool();
|
||||
break;
|
||||
|
||||
case 0x1733B1EC:
|
||||
mpScan->mUseLogbookModelPostScan = rSCAN.ReadBool();
|
||||
break;
|
||||
|
||||
// Override texture and logbook model/animsets
|
||||
case 0x53336141:
|
||||
case 0xB7ADC418:
|
||||
case 0x15694EE1:
|
||||
case 0x58F9FE99:
|
||||
mpScan->mLogbookAssets.push_back( CAssetID(rSCAN, eEchoes) );
|
||||
mpScan->mPostOverrideTexture = CAssetID(rSCAN, mVersion);
|
||||
break;
|
||||
|
||||
case 0x3DE0BA64:
|
||||
mpScan->mLogbookDefaultRotX = rSCAN.ReadFloat();
|
||||
break;
|
||||
|
||||
case 0x2ADD6628:
|
||||
mpScan->mLogbookDefaultRotZ = rSCAN.ReadFloat();
|
||||
break;
|
||||
|
||||
case 0xD0C15066:
|
||||
mpScan->mLogbookScale = rSCAN.ReadFloat();
|
||||
break;
|
||||
|
||||
case 0xB7ADC418:
|
||||
mpScan->mLogbookModel = CAssetID(rSCAN, mVersion);
|
||||
break;
|
||||
|
||||
case 0x15694EE1:
|
||||
mpScan->mLogbookAnimParams = CAnimationParameters(rSCAN, mVersion);
|
||||
break;
|
||||
|
||||
case 0x58F9FE99:
|
||||
mpScan->mUnknownAnimParams = CAnimationParameters(rSCAN, mVersion);
|
||||
break;
|
||||
|
||||
// ScanInfoSecondaryModels
|
||||
case 0x1C5B4A3A:
|
||||
LoadScanInfoSecondaryModel( rSCAN, mpScan->mSecondaryModels[0] );
|
||||
break;
|
||||
|
||||
case 0x8728A0EE:
|
||||
LoadScanInfoSecondaryModel( rSCAN, mpScan->mSecondaryModels[1] );
|
||||
break;
|
||||
|
||||
case 0xF1CD99D3:
|
||||
LoadScanInfoSecondaryModel( rSCAN, mpScan->mSecondaryModels[2] );
|
||||
break;
|
||||
|
||||
case 0x6ABE7307:
|
||||
LoadScanInfoSecondaryModel( rSCAN, mpScan->mSecondaryModels[3] );
|
||||
break;
|
||||
|
||||
case 0x1C07EBA9:
|
||||
LoadScanInfoSecondaryModel( rSCAN, mpScan->mSecondaryModels[4] );
|
||||
break;
|
||||
|
||||
case 0x8774017D:
|
||||
LoadScanInfoSecondaryModel( rSCAN, mpScan->mSecondaryModels[5] );
|
||||
break;
|
||||
|
||||
case 0xF1913840:
|
||||
LoadScanInfoSecondaryModel( rSCAN, mpScan->mSecondaryModels[6] );
|
||||
break;
|
||||
|
||||
case 0x6AE2D294:
|
||||
LoadScanInfoSecondaryModel( rSCAN, mpScan->mSecondaryModels[7] );
|
||||
break;
|
||||
|
||||
case 0x1CE2091C:
|
||||
u16 NumSubProps = rSCAN.ReadShort();
|
||||
|
||||
for (u32 iSub = 0; iSub < NumSubProps; iSub++)
|
||||
{
|
||||
u32 SubPropertyID = rSCAN.ReadLong();
|
||||
u32 Next = rSCAN.Tell() + rSCAN.ReadShort();
|
||||
|
||||
if (SubPropertyID == 0x1F7921BC || SubPropertyID == 0xCDD202D1)
|
||||
mpScan->mLogbookAssets.push_back( CAssetID(rSCAN, eEchoes) );
|
||||
|
||||
rSCAN.Seek(Next, SEEK_SET);
|
||||
}
|
||||
LoadScanInfoSecondaryModel( rSCAN, mpScan->mSecondaryModels[8] );
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -143,15 +182,12 @@ void CScanLoader::LoadParamsMP2(IInputStream& rSCAN)
|
|||
}
|
||||
|
||||
mpScan->mCategory = CScan::eNone;
|
||||
mpScan->mVersion = eEchoes;
|
||||
}
|
||||
|
||||
void CScanLoader::LoadParamsMP3(IInputStream& rSCAN)
|
||||
void CScanLoader::LoadParamsMP3(IInputStream& rSCAN, u16 NumProperties)
|
||||
{
|
||||
// Function begins after the SNFO property count
|
||||
// Function is near-identical to the MP2 one, but when I add support
|
||||
// for the other params, there will be more differences
|
||||
for (u32 iProp = 0; iProp < 20; iProp++)
|
||||
for (u32 iProp = 0; iProp < NumProperties; iProp++)
|
||||
{
|
||||
u32 PropertyID = rSCAN.ReadLong();
|
||||
u16 PropertySize = rSCAN.ReadShort();
|
||||
|
@ -176,7 +212,35 @@ void CScanLoader::LoadParamsMP3(IInputStream& rSCAN)
|
|||
}
|
||||
|
||||
mpScan->mCategory = CScan::eNone;
|
||||
mpScan->mVersion = eCorruption;
|
||||
}
|
||||
|
||||
void CScanLoader::LoadScanInfoSecondaryModel(IInputStream& rSCAN, CScan::SScanInfoSecondaryModel& rSecondaryModel)
|
||||
{
|
||||
u16 NumProperties = rSCAN.ReadShort();
|
||||
|
||||
for (u32 iProp = 0; iProp < NumProperties; iProp++)
|
||||
{
|
||||
u32 PropertyID = rSCAN.ReadLong();
|
||||
u16 PropertySize = rSCAN.ReadShort();
|
||||
u32 Next = rSCAN.Tell() + PropertySize;
|
||||
|
||||
switch (PropertyID)
|
||||
{
|
||||
case 0x1F7921BC:
|
||||
rSecondaryModel.ModelID = CAssetID(rSCAN, mVersion);
|
||||
break;
|
||||
|
||||
case 0xCDD202D1:
|
||||
rSecondaryModel.AnimParams = CAnimationParameters(rSCAN, mVersion);
|
||||
break;
|
||||
|
||||
case 0x3EA2BED8:
|
||||
rSecondaryModel.AttachBoneName = rSCAN.ReadString();
|
||||
break;
|
||||
}
|
||||
|
||||
rSCAN.Seek(Next, SEEK_SET);
|
||||
}
|
||||
}
|
||||
|
||||
// ************ STATIC/PUBLIC ************
|
||||
|
|
|
@ -13,8 +13,9 @@ class CScanLoader
|
|||
CScanLoader();
|
||||
CScan* LoadScanMP1(IInputStream& rSCAN);
|
||||
CScan* LoadScanMP2(IInputStream& rSCAN);
|
||||
void LoadParamsMP2(IInputStream& rSCAN);
|
||||
void LoadParamsMP3(IInputStream& rSCAN);
|
||||
void LoadParamsMP2(IInputStream& rSCAN, u16 NumProperties);
|
||||
void LoadParamsMP3(IInputStream& rSCAN, u16 NumProperties);
|
||||
void LoadScanInfoSecondaryModel(IInputStream& rSCAN, CScan::SScanInfoSecondaryModel& rSecondaryModel);
|
||||
|
||||
public:
|
||||
static CScan* LoadSCAN(IInputStream& rSCAN, CResourceEntry *pEntry);
|
||||
|
|
|
@ -59,7 +59,7 @@ void CScriptLoader::ReadProperty(IProperty *pProp, u32 Size, IInputStream& rSCLY
|
|||
|
||||
u32 Check = pBitfieldCast->Get() & ~Mask;
|
||||
if (Check != 0)
|
||||
Log::FileWarning(rSCLY.GetSourceString(), rSCLY.Tell() - 4, "Bitfield property \"" + pBitfieldTemp->Name() + "\" in struct \"" + pTemp->Name() + "\" has flags set that aren't in the template: " + TString::HexString(Check));
|
||||
Log::FileWarning(rSCLY.GetSourceString(), rSCLY.Tell() - 4, "Bitfield property \"" + pBitfieldTemp->FullName() + "\" + (" + pBitfieldTemp->IDString(true) + ") has flags set that aren't in the template: " + TString::HexString(Check));
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ void CScriptLoader::ReadProperty(IProperty *pProp, u32 Size, IInputStream& rSCLY
|
|||
|
||||
// Validate
|
||||
u32 Index = pEnumTemp->EnumeratorIndex(ID);
|
||||
if (Index == -1) Log::FileError(rSCLY.GetSourceString(), rSCLY.Tell() - 4, "Enum property \"" + pEnumTemp->Name() + "\" in struct \"" + pTemp->Name() + "\" has invalid enumerator value: " + TString::HexString(ID));
|
||||
if (Index == -1) Log::FileError(rSCLY.GetSourceString(), rSCLY.Tell() - 4, "Enum property \"" + pEnumTemp->FullName() + "\" (" + pEnumTemp->IDString(true) + ") has invalid enumerator value: " + TString::HexString(ID));
|
||||
|
||||
pEnumCast->Set(ID);
|
||||
break;
|
||||
|
@ -140,7 +140,7 @@ void CScriptLoader::ReadProperty(IProperty *pProp, u32 Size, IInputStream& rSCLY
|
|||
}
|
||||
|
||||
if (!Valid)
|
||||
Log::FileWarning(rSCLY.GetSourceString(), rSCLY.Tell() - ID.Length(), "Asset property " + pTemp->IDString(true) + " in object " + pTemp->ScriptTemplate()->Name() + " has a reference to an illegal asset type: " + CookedExt);
|
||||
Log::FileWarning(rSCLY.GetSourceString(), rSCLY.Tell() - ID.Length(), "Asset property \"" + pTemp->FullName() + "\" (" + pTemp->IDString(true) + ") has a reference to an illegal asset type: " + CookedExt);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -220,7 +220,7 @@ void CScriptLoader::LoadStructMP1(IInputStream& rSCLY, CPropertyStruct *pStruct,
|
|||
TIDString IDString = pTemp->IDString(true);
|
||||
if (!IDString.IsEmpty()) IDString = " (" + IDString + ")";
|
||||
|
||||
Log::FileWarning(rSCLY.GetSourceString(), StructStart, "Struct \"" + pTemp->Name() + "\"" + IDString + " template prop count doesn't match file; template is " + TString::HexString(PropCount, 2) + ", file is " + TString::HexString(FilePropCount, 2));
|
||||
Log::FileWarning(rSCLY.GetSourceString(), StructStart, "Struct \"" + pTemp->FullName() + "\" (" + IDString + ") template prop count doesn't match file; template is " + TString::HexString(PropCount, 2) + ", file is " + TString::HexString(FilePropCount, 2));
|
||||
Version = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -105,7 +105,7 @@ IPropertyTemplate* CTemplateLoader::LoadProperty(XMLElement *pElem, CScriptTempl
|
|||
pParams = pParams->NextSiblingElement();
|
||||
}
|
||||
|
||||
// File-specific parameters
|
||||
// Asset-specific parameters
|
||||
if (Type == eAssetProperty)
|
||||
{
|
||||
TString ExtensionsAttr = pElem->Attribute("extensions");
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define CSCRIPTLAYER_H
|
||||
|
||||
#include "CScriptObject.h"
|
||||
#include "Core/Resource/CDependencyGroup.h"
|
||||
#include <Common/types.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
@ -107,9 +108,6 @@ public:
|
|||
return iLyr;
|
||||
}
|
||||
|
||||
if (mpArea->GeneratedObjectsLayer() == this)
|
||||
return mpArea->NumScriptLayers();
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
|
@ -70,11 +70,13 @@ bool CScriptObject::IsEditorProperty(IProperty *pProp)
|
|||
|
||||
void CScriptObject::SetLayer(CScriptLayer *pLayer, u32 NewLayerIndex)
|
||||
{
|
||||
ASSERT(pLayer != nullptr);
|
||||
|
||||
if (pLayer != mpLayer)
|
||||
{
|
||||
if (mpLayer) mpLayer->RemoveInstance(this);
|
||||
mpLayer = pLayer;
|
||||
if (mpLayer) mpLayer->AddInstance(this, NewLayerIndex);
|
||||
mpLayer->AddInstance(this, NewLayerIndex);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -20,20 +20,25 @@ bool IPropertyTemplate::IsInVersion(u32 Version) const
|
|||
return false;
|
||||
}
|
||||
|
||||
TString IPropertyTemplate::FullName() const
|
||||
{
|
||||
return mpParent ? mpParent->FullName() + "::" + Name() : Name();
|
||||
}
|
||||
|
||||
TIDString IPropertyTemplate::IDString(bool FullPath) const
|
||||
{
|
||||
if (mID != 0xFFFFFFFF)
|
||||
{
|
||||
TIDString out;
|
||||
TIDString Out;
|
||||
|
||||
if (mpParent && FullPath)
|
||||
{
|
||||
out = mpParent->IDString(true);
|
||||
if (!out.IsEmpty()) out += ":";
|
||||
Out = mpParent->IDString(true);
|
||||
if (!Out.IsEmpty()) Out += ":";
|
||||
}
|
||||
|
||||
out += TIDString::HexString(mID);
|
||||
return out;
|
||||
Out += TIDString::HexString(mID);
|
||||
return Out;
|
||||
}
|
||||
else return "";
|
||||
}
|
||||
|
|
|
@ -113,6 +113,7 @@ public:
|
|||
|
||||
EGame Game() const;
|
||||
bool IsInVersion(u32 Version) const;
|
||||
TString FullName() const;
|
||||
TIDString IDString(bool FullPath) const;
|
||||
bool IsDescendantOf(const CStructTemplate *pStruct) const;
|
||||
bool IsFromStructTemplate() const;
|
||||
|
|
|
@ -217,16 +217,6 @@ void CScene::SetActiveArea(CGameArea *pArea)
|
|||
}
|
||||
}
|
||||
|
||||
CScriptLayer *pGenLayer = mpArea->GeneratedObjectsLayer();
|
||||
if (pGenLayer)
|
||||
{
|
||||
for (u32 iObj = 0; iObj < pGenLayer->NumInstances(); iObj++)
|
||||
{
|
||||
CScriptObject *pObj = pGenLayer->InstanceByIndex(iObj);
|
||||
CreateScriptNode(pObj);
|
||||
}
|
||||
}
|
||||
|
||||
// Ensure script nodes have valid positions + build light lists
|
||||
for (CSceneIterator It(this, eScriptNode, true); It; ++It)
|
||||
{
|
||||
|
|
|
@ -12,6 +12,7 @@ CCreateInstanceCommand::CCreateInstanceCommand(CWorldEditor *pEditor, CScriptTem
|
|||
, mpNewInstance(nullptr)
|
||||
, mpNewNode(nullptr)
|
||||
{
|
||||
ASSERT(mLayerIndex != -1);
|
||||
}
|
||||
|
||||
void CCreateInstanceCommand::undo()
|
||||
|
@ -30,7 +31,7 @@ void CCreateInstanceCommand::redo()
|
|||
{
|
||||
mpEditor->NotifyNodeAboutToBeSpawned();
|
||||
|
||||
CScriptLayer *pLayer = (mLayerIndex == -1 ? mpArea->GeneratedObjectsLayer() : mpArea->ScriptLayer(mLayerIndex));
|
||||
CScriptLayer *pLayer = mpArea->ScriptLayer(mLayerIndex);
|
||||
CScriptObject *pNewInst = mpArea->SpawnInstance(mpTemplate, pLayer, mSpawnPosition);
|
||||
CScriptNode *pNewNode = mpScene->CreateScriptNode(pNewInst);
|
||||
pNewNode->SetPosition(mSpawnPosition);
|
||||
|
|
|
@ -45,7 +45,7 @@ void WScanPreviewPanel::SetResource(CResource *pRes)
|
|||
ui->ScanTypeLabel->setText("<b><font color=\"red\">Important</font></b>");
|
||||
else
|
||||
{
|
||||
if (pScan->Version() <= ePrime)
|
||||
if (pScan->Game() <= ePrime)
|
||||
ui->ScanTypeLabel->setText("<b><font color=\"#FF9030\">Normal</font></b>");
|
||||
else
|
||||
ui->ScanTypeLabel->setText("<b><font color=\"#A0A0FF\">Normal</font></b>");
|
||||
|
@ -81,7 +81,7 @@ void WScanPreviewPanel::SetResource(CResource *pRes)
|
|||
ui->ScanTextWidget->SetResource(pScan->ScanText());
|
||||
|
||||
// Show logbook category? (Yes on MP1, no on MP2+)
|
||||
if (pScan->Version() <= ePrime)
|
||||
if (pScan->Game() <= ePrime)
|
||||
{
|
||||
ui->CategoryInfoLabel->show();
|
||||
ui->ScanCategoryLabel->show();
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
#include "Editor/UICommon.h"
|
||||
#include <Core/Resource/Script/CScriptLayer.h>
|
||||
|
||||
CLayerModel::CLayerModel(QObject *pParent) : QAbstractListModel(pParent)
|
||||
CLayerModel::CLayerModel(QObject *pParent)
|
||||
: QAbstractListModel(pParent)
|
||||
, mpArea(nullptr)
|
||||
{
|
||||
mpArea = nullptr;
|
||||
mHasGenerateLayer = false;
|
||||
}
|
||||
|
||||
CLayerModel::~CLayerModel()
|
||||
|
@ -14,9 +14,7 @@ CLayerModel::~CLayerModel()
|
|||
|
||||
int CLayerModel::rowCount(const QModelIndex& /*parent*/) const
|
||||
{
|
||||
if (!mpArea) return 0;
|
||||
if (mHasGenerateLayer) return mpArea->NumScriptLayers() + 1;
|
||||
else return mpArea->NumScriptLayers();
|
||||
return mpArea ? mpArea->NumScriptLayers() : 0;
|
||||
}
|
||||
|
||||
QVariant CLayerModel::data(const QModelIndex &index, int role) const
|
||||
|
@ -30,7 +28,6 @@ QVariant CLayerModel::data(const QModelIndex &index, int role) const
|
|||
void CLayerModel::SetArea(CGameArea *pArea)
|
||||
{
|
||||
mpArea = pArea;
|
||||
mHasGenerateLayer = (pArea->GeneratedObjectsLayer() != nullptr);
|
||||
emit layoutChanged();
|
||||
}
|
||||
|
||||
|
@ -41,8 +38,6 @@ CScriptLayer* CLayerModel::Layer(const QModelIndex& index) const
|
|||
|
||||
if (index.row() < (int) NumLayers)
|
||||
return mpArea->ScriptLayer(index.row());
|
||||
if (mHasGenerateLayer && (index.row() == NumLayers))
|
||||
return mpArea->GeneratedObjectsLayer();
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
class CLayerModel : public QAbstractListModel
|
||||
{
|
||||
TResPtr<CGameArea> mpArea;
|
||||
bool mHasGenerateLayer;
|
||||
|
||||
public:
|
||||
explicit CLayerModel(QObject *pParent = 0);
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<property ID="0xC43360A7" type="asset" extensions="WPSC"/>
|
||||
<struct ID="0xCF90D15E" template="Structs/HealthInfo.xml"/>
|
||||
<struct ID="0x7B71AE90" template="Structs/DamageVulnerability.xml"/>
|
||||
<property ID="0x55744160" type="asset" extensions="AFSM"/>
|
||||
<property ID="0x55744160" type="asset" extensions="AFSM,FSM2"/>
|
||||
<property ID="0x8F68AC21" type="asset" extensions="PART"/>
|
||||
</properties>
|
||||
</struct>
|
||||
|
|
|
@ -23,15 +23,13 @@
|
|||
<enumerator ID="0x00" name="None"/>
|
||||
<enumerator ID="0x01" name="Snow"/>
|
||||
<enumerator ID="0x02" name="Rain"/>
|
||||
<enumerator ID="0x03" name="[Lower Torvus]"/>
|
||||
<enumerator ID="0x03" name="Bubbles"/>
|
||||
<enumerator ID="0x04" name="Dark World"/>
|
||||
<enumerator ID="0x05" name="[Aerie]"/>
|
||||
<enumerator ID="0x06" name="Electric Rain"/>
|
||||
</enumerators>
|
||||
</enum>
|
||||
<property ID="0x56263E35" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x56263E35" type="sound"/>
|
||||
<property ID="0x64E5FE9F" type="float">
|
||||
<default>1.0</default>
|
||||
</property>
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
</properties>
|
||||
</struct>
|
||||
<struct ID="0x7E397FED" template="Structs/ActorParameters.xml"/>
|
||||
<property ID="0x05439A08" type="asset" extensions="WPSC"/>
|
||||
<property ID="0x05439A08" type="asset" extensions="ELSC,WPSC"/>
|
||||
<property ID="0x2CBF989B" type="asset" extensions="WPSC"/>
|
||||
<struct ID="0x13E30E4D" template="Structs/DamageInfo.xml"/>
|
||||
<property ID="0xC271EAF5" type="asset" extensions="PART"/>
|
||||
|
@ -80,13 +80,13 @@
|
|||
<property ID="0xAC202A5D" type="float">
|
||||
<default>1.0</default>
|
||||
</property>
|
||||
<property ID="0x14038B71" type="long">
|
||||
<property ID="0x14038B71" type="sound">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x16A435CB" type="long">
|
||||
<property ID="0x16A435CB" type="sound">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x67EDEFC2" type="long">
|
||||
<property ID="0x67EDEFC2" type="sound">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8F4FB79D" type="float">
|
||||
|
|
|
@ -49,12 +49,8 @@
|
|||
<property ID="0x311B0750" type="float">
|
||||
<default>0.5</default>
|
||||
</property>
|
||||
<property ID="0x4AB24275" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xFE3E7BBF" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4AB24275" type="sound"/>
|
||||
<property ID="0xFE3E7BBF" type="sound"/>
|
||||
<property ID="0xAD4CE8F3" type="float">
|
||||
<default>0.5</default>
|
||||
</property>
|
||||
|
|
|
@ -41,15 +41,9 @@
|
|||
<property ID="0xF78947D4" type="float">
|
||||
<default>2.0</default>
|
||||
</property>
|
||||
<property ID="0x6A942A60" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x808392EC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xDF2D8017" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x6A942A60" type="sound"/>
|
||||
<property ID="0x808392EC" type="sound"/>
|
||||
<property ID="0xDF2D8017" type="sound"/>
|
||||
</properties>
|
||||
<states/>
|
||||
<messages/>
|
||||
|
|
|
@ -67,9 +67,7 @@
|
|||
<property ID="0x1E8722C7" type="float">
|
||||
<default>2.0</default>
|
||||
</property>
|
||||
<property ID="0x54151870" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x54151870" type="asset" extensions="WPSC"/>
|
||||
<struct ID="0xFFCDA1F8" template="Structs/DamageInfo.xml">
|
||||
<properties>
|
||||
<property ID="0xF2D02613">
|
||||
|
@ -77,9 +75,7 @@
|
|||
</property>
|
||||
</properties>
|
||||
</struct>
|
||||
<property ID="0x3A58089C" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x3A58089C" type="asset" extensions="WPSC"/>
|
||||
<struct ID="0x1FF047A9" template="Structs/DamageInfo.xml">
|
||||
<properties>
|
||||
<property ID="0xF2D02613">
|
||||
|
@ -147,18 +143,12 @@
|
|||
</property>
|
||||
</properties>
|
||||
</struct>
|
||||
<property ID="0x1BB16EA5" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1BB16EA5" type="sound"/>
|
||||
<property ID="0xC87D7EC7" type="float">
|
||||
<default>1.5</default>
|
||||
</property>
|
||||
<property ID="0x2ADCBB2E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x58B8EC5D" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x2ADCBB2E" type="sound"/>
|
||||
<property ID="0x58B8EC5D" type="sound"/>
|
||||
<property ID="0xEC76940C" type="long">
|
||||
<default>0</default>
|
||||
</property>
|
||||
|
@ -171,12 +161,8 @@
|
|||
<property ID="0x96FEB75D" type="float">
|
||||
<default>1.5</default>
|
||||
</property>
|
||||
<property ID="0x8F8C64A0" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE15B4F4A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8F8C64A0" type="asset" extensions="PART"/>
|
||||
<property ID="0xE15B4F4A" type="sound"/>
|
||||
<property ID="0x61E511B3" type="float">
|
||||
<default>20.0</default>
|
||||
</property>
|
||||
|
|
|
@ -78,15 +78,9 @@
|
|||
<property ID="0xDC36E745" type="float">
|
||||
<default>80.0</default>
|
||||
</property>
|
||||
<property ID="0x1BB16EA5" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x3BB37A8F" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE160B593" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1BB16EA5" type="sound"/>
|
||||
<property ID="0x3BB37A8F" type="sound"/>
|
||||
<property ID="0xE160B593" type="sound"/>
|
||||
<property ID="0xFCA76593" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
|
@ -117,9 +111,7 @@
|
|||
</property>
|
||||
</properties>
|
||||
</struct>
|
||||
<property ID="0xEAC27605" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xEAC27605" type="sound"/>
|
||||
<property ID="0xED69488F" type="float">
|
||||
<default>20.0</default>
|
||||
</property>
|
||||
|
@ -177,12 +169,8 @@
|
|||
<property ID="0x2D4706E8" type="float">
|
||||
<default>8.0</default>
|
||||
</property>
|
||||
<property ID="0x258C3E1B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xAF6AAD88" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x258C3E1B" type="sound"/>
|
||||
<property ID="0xAF6AAD88" type="sound"/>
|
||||
</properties>
|
||||
</struct>
|
||||
<struct ID="0x388E16C9" type="multi">
|
||||
|
@ -211,9 +199,7 @@
|
|||
<default>40.0</default>
|
||||
</property>
|
||||
<property ID="0xA41F75EF" type="asset" extensions="PART"/>
|
||||
<property ID="0xE6E92E73" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE6E92E73" type="sound"/>
|
||||
<property ID="0x6CB0DA5A" type="float">
|
||||
<default>50.0</default>
|
||||
</property>
|
||||
|
@ -232,12 +218,8 @@
|
|||
<property ID="0x5CA206CA" type="asset" extensions="PART"/>
|
||||
<property ID="0xEBF69CF0" type="asset" extensions="PART"/>
|
||||
<property ID="0x4AAB4E04" type="asset" extensions="PART"/>
|
||||
<property ID="0xBF3C59B6" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x78BE3B8D" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xBF3C59B6" type="sound"/>
|
||||
<property ID="0x78BE3B8D" type="sound"/>
|
||||
</properties>
|
||||
</struct>
|
||||
<property ID="0x71587B45" type="float">
|
||||
|
|
|
@ -102,12 +102,8 @@
|
|||
<property ID="0x2D4706E8" type="float">
|
||||
<default>8.0</default>
|
||||
</property>
|
||||
<property ID="0x258C3E1B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xAF6AAD88" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x258C3E1B" type="sound"/>
|
||||
<property ID="0xAF6AAD88" type="sound"/>
|
||||
</properties>
|
||||
</struct>
|
||||
<struct ID="0xE6C64015" type="multi">
|
||||
|
|
|
@ -29,12 +29,8 @@
|
|||
<property ID="0x74FA22F0" type="float">
|
||||
<default>-1.0</default>
|
||||
</property>
|
||||
<property ID="0x1F468967" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1A08AADC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1F468967" type="sound"/>
|
||||
<property ID="0x1A08AADC" type="sound"/>
|
||||
<property ID="0x6689925B" type="bool">
|
||||
<default>false</default>
|
||||
</property>
|
||||
|
@ -97,23 +93,15 @@
|
|||
<property ID="0xAC43BA34" type="asset" extensions="PART"/>
|
||||
<property ID="0x449AA4AA" type="asset" extensions="SWHC"/>
|
||||
<property ID="0x0345FA17" type="asset" extensions="SWHC"/>
|
||||
<property ID="0x2C72576B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x9E02691C" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x2C72576B" type="sound"/>
|
||||
<property ID="0x9E02691C" type="sound"/>
|
||||
<property ID="0x3433BC8B" type="asset" extensions="PART"/>
|
||||
<struct ID="0x4841182B" template="Structs/AudioPlaybackParms.xml"/>
|
||||
<property ID="0xA6C42023" type="asset" extensions="PART"/>
|
||||
<property ID="0xD3593630" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xD3593630" type="sound"/>
|
||||
<property ID="0x908B06E9" type="asset" extensions="PART"/>
|
||||
<property ID="0x494DE4A4" type="asset" extensions="PART"/>
|
||||
<property ID="0xA861649F" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xA861649F" type="sound"/>
|
||||
<struct ID="0x18402AA9" template="Structs/DamageInfo.xml"/>
|
||||
<property ID="0xE701DAEA" type="asset" extensions="PART"/>
|
||||
<property ID="0xBF62B633" type="asset" extensions="WPSC"/>
|
||||
|
|
|
@ -52,9 +52,7 @@
|
|||
</property>
|
||||
<struct ID="0x98F9A308" template="Structs/DamageInfo.xml"/>
|
||||
<property ID="0xB8432896" type="asset" extensions="WPSC"/>
|
||||
<property ID="0x49727753" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x49727753" type="sound"/>
|
||||
<property ID="0xC9FB6A85" type="bool">
|
||||
<default>false</default>
|
||||
</property>
|
||||
|
|
|
@ -66,9 +66,7 @@
|
|||
<property ID="0xC27FFA8F" type="asset" extensions="CMDL"/>
|
||||
<struct ID="0x7E397FED" template="Structs/ActorParameters.xml"/>
|
||||
<property ID="0x41DD4D40" type="asset" extensions="PART"/>
|
||||
<property ID="0x0BB3CCAE" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x0BB3CCAE" type="sound"/>
|
||||
<property ID="0x991202C3" type="long">
|
||||
<default>1</default>
|
||||
</property>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<name>Effect</name>
|
||||
<properties>
|
||||
<struct ID="0x255A4580" template="Structs/EditorProperties.xml"/>
|
||||
<property ID="0x0A479D6F" type="asset" extensions="PART,ELSC,SWHC"/>
|
||||
<property ID="0x0A479D6F" type="asset" extensions="PART,ELSC,SRSC,SPSC,SWHC"/>
|
||||
<property ID="0x3DF5A489" type="bool">
|
||||
<default>false</default>
|
||||
</property>
|
||||
|
|
|
@ -51,14 +51,10 @@
|
|||
<property ID="0x00AE9C61" type="asset" extensions="CMDL"/>
|
||||
<property ID="0xACDAE408" type="asset" extensions="CSKR"/>
|
||||
<property ID="0xAA482D8D" type="asset" extensions="PART"/>
|
||||
<property ID="0xEEAF03C4" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xEEAF03C4" type="sound"/>
|
||||
<property ID="0xAF4FAE74" type="asset" extensions="PART"/>
|
||||
<property ID="0x64A1F558" type="asset" extensions="PART"/>
|
||||
<property ID="0xBF107374" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xBF107374" type="sound"/>
|
||||
<property ID="0xB43A4CAA" type="asset" extensions="PART"/>
|
||||
<property ID="0x61C4C0EA" type="float">
|
||||
<default>8.0</default>
|
||||
|
@ -122,9 +118,7 @@
|
|||
<property ID="0xB92B481D" type="character"/>
|
||||
<property ID="0x7E6E0D38" type="character"/>
|
||||
<property ID="0xBD321538" type="asset" extensions="ELSC"/>
|
||||
<property ID="0x58A492EF" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x58A492EF" type="sound"/>
|
||||
<struct ID="0xE61748ED" template="Structs/IngPossessionData.xml"/>
|
||||
</properties>
|
||||
<states/>
|
||||
|
|
|
@ -26,9 +26,7 @@
|
|||
<property ID="0x491C2657" type="float">
|
||||
<default>0.0</default>
|
||||
</property>
|
||||
<property ID="0xE19F4608" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE19F4608" type="sound"/>
|
||||
</properties>
|
||||
</struct>
|
||||
<struct ID="0xF59F9A60" type="multi">
|
||||
|
@ -54,12 +52,8 @@
|
|||
<property ID="0x94880277" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1C3E84B6" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xA93F0198" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1C3E84B6" type="sound"/>
|
||||
<property ID="0xA93F0198" type="sound"/>
|
||||
</properties>
|
||||
</struct>
|
||||
<struct ID="0xB4BC04C4" type="multi">
|
||||
|
@ -71,9 +65,7 @@
|
|||
<default>0</default>
|
||||
</property>
|
||||
<struct ID="0x8F4787CB" template="Structs/ShockWaveInfo.xml"/>
|
||||
<property ID="0x25AF490E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x25AF490E" type="sound"/>
|
||||
</properties>
|
||||
</struct>
|
||||
<struct ID="0x8E6D20EC" type="multi">
|
||||
|
@ -107,9 +99,7 @@
|
|||
</properties>
|
||||
</struct>
|
||||
<struct ID="0x337F9524" template="Structs/DamageInfo.xml"/>
|
||||
<property ID="0x5F7C352E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x5F7C352E" type="sound"/>
|
||||
</properties>
|
||||
</struct>
|
||||
<property ID="0xA588AFD1" type="float">
|
||||
|
|
|
@ -43,9 +43,7 @@
|
|||
<struct ID="0xAF7E3033" type="multi">
|
||||
<properties>
|
||||
<property ID="0xB68C6D96" type="asset" extensions="PART"/>
|
||||
<property ID="0x1A66BED7" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1A66BED7" type="sound"/>
|
||||
<struct ID="0x553B1339" template="Structs/DamageInfo.xml">
|
||||
<properties>
|
||||
<enum ID="0x119FBD31">
|
||||
|
@ -90,9 +88,7 @@
|
|||
</properties>
|
||||
</struct>
|
||||
<struct ID="0xAB4ED456" template="Structs/ShockWaveInfo.xml"/>
|
||||
<property ID="0x985F72FD" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x985F72FD" type="sound"/>
|
||||
<struct ID="0xE843417F" template="Structs/EmperorIngStage3StructB.xml"/>
|
||||
<struct ID="0xD13BEC3F" template="Structs/EmperorIngStage3StructB.xml"/>
|
||||
<struct ID="0xC61388FF" template="Structs/EmperorIngStage3StructB.xml"/>
|
||||
|
|
|
@ -38,9 +38,7 @@
|
|||
<property ID="0x6AE6F0EB" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE4780219" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE4780219" type="sound"/>
|
||||
<property ID="0x2E603DED" type="bool">
|
||||
<default>false</default>
|
||||
</property>
|
||||
|
|
|
@ -87,9 +87,7 @@
|
|||
<property ID="0x91AE1374" type="long">
|
||||
<default>0</default>
|
||||
</property>
|
||||
<property ID="0x3DE26FC8" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x3DE26FC8" type="sound"/>
|
||||
<property ID="0xC320A050" type="bool">
|
||||
<default>true</default>
|
||||
</property>
|
||||
|
|
|
@ -81,9 +81,7 @@
|
|||
</property>
|
||||
</properties>
|
||||
</struct>
|
||||
<property ID="0xEAC27605" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xEAC27605" type="sound"/>
|
||||
<property ID="0xCA294811" type="asset" extensions="WPSC"/>
|
||||
<struct ID="0x258CFB4D" template="Structs/DamageInfo.xml">
|
||||
<properties>
|
||||
|
@ -134,12 +132,8 @@
|
|||
<property ID="0x8EE7F440" type="float">
|
||||
<default>1000.0</default>
|
||||
</property>
|
||||
<property ID="0x1BB16EA5" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x0FF5AB8F" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1BB16EA5" type="sound"/>
|
||||
<property ID="0x0FF5AB8F" type="sound"/>
|
||||
<property ID="0x87B2BC5A" type="float">
|
||||
<default>25.0</default>
|
||||
</property>
|
||||
|
@ -152,12 +146,8 @@
|
|||
<property ID="0x317212AB" type="asset" extensions="PART"/>
|
||||
<property ID="0xBC113D7B" type="asset" extensions="PART"/>
|
||||
<property ID="0x738BBBAA" type="asset" extensions="PART"/>
|
||||
<property ID="0x3BB37A8F" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE160B593" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x3BB37A8F" type="sound"/>
|
||||
<property ID="0xE160B593" type="sound"/>
|
||||
<property ID="0x966D11F3" type="float">
|
||||
<default>25.0</default>
|
||||
</property>
|
||||
|
|
|
@ -48,9 +48,7 @@
|
|||
<property ID="0xB44D4C70" type="color">
|
||||
<default>0.247059, 0.247059, 0.247059, 1.0</default>
|
||||
</property>
|
||||
<property ID="0x2D23720F" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x2D23720F" type="sound"/>
|
||||
<property ID="0xEC45879E" type="MayaSpline"/>
|
||||
<property ID="0xFA20775D" type="float">
|
||||
<default>0.75</default>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<struct ID="0x7E397FED" template="Structs/ActorParameters.xml"/>
|
||||
<property ID="0xD75426F9" type="asset" extensions="PART"/>
|
||||
<property ID="0x8985B339" type="asset" extensions="PART"/>
|
||||
<property ID="0xB258D3E8" type="asset" extensions="PART"/>
|
||||
<property ID="0xB258D3E8" type="asset" extensions="PART,ELSC"/>
|
||||
<property ID="0xB06815B3" type="asset" extensions="PART"/>
|
||||
<property ID="0xAB378A64" type="asset" extensions="PART"/>
|
||||
<property ID="0x16342C18" type="float">
|
||||
|
@ -22,12 +22,8 @@
|
|||
<property ID="0x540C1F87" type="vector3f">
|
||||
<default>0.0, 0.0, 0.0</default>
|
||||
</property>
|
||||
<property ID="0x0DB10F6B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x50E45EA8" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x0DB10F6B" type="sound"/>
|
||||
<property ID="0x50E45EA8" type="sound"/>
|
||||
<property ID="0xA9482EB1" type="asset" extensions="CMDL"/>
|
||||
<property ID="0x1917A180" type="bool">
|
||||
<default>false</default>
|
||||
|
|
|
@ -69,12 +69,8 @@
|
|||
<property ID="0xC24CF580" type="character"/>
|
||||
<property ID="0x72258FE7" type="asset" extensions="CMDL"/>
|
||||
<property ID="0xE5FBA24C" type="asset" extensions="CSKR"/>
|
||||
<property ID="0x55C51213" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x385E4738" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x55C51213" type="sound"/>
|
||||
<property ID="0x385E4738" type="sound"/>
|
||||
<property ID="0x5D8F2BEE" type="float">
|
||||
<default>4.5</default>
|
||||
</property>
|
||||
|
|
|
@ -25,9 +25,7 @@
|
|||
<property ID="0xEDB6062B" type="float">
|
||||
<default>1.0</default>
|
||||
</property>
|
||||
<property ID="0xD158734B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xD158734B" type="sound"/>
|
||||
<property ID="0x20DDB661" type="long">
|
||||
<default>127</default>
|
||||
</property>
|
||||
|
|
|
@ -99,45 +99,19 @@
|
|||
<property ID="0x45B71390" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x23316032" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xA3B39766" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x9674EFF1" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x49880C24" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xF57880EC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x99FE97F6" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xA2714856" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xD58A2FA7" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xB381355A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x00628C84" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x40533B8D" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x613CAFD8" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x20C03692" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x23316032" type="sound"/>
|
||||
<property ID="0xA3B39766" type="sound"/>
|
||||
<property ID="0x9674EFF1" type="sound"/>
|
||||
<property ID="0x49880C24" type="sound"/>
|
||||
<property ID="0xF57880EC" type="sound"/>
|
||||
<property ID="0x99FE97F6" type="sound"/>
|
||||
<property ID="0xA2714856" type="sound"/>
|
||||
<property ID="0xD58A2FA7" type="sound"/>
|
||||
<property ID="0xB381355A" type="sound"/>
|
||||
<property ID="0x00628C84" type="sound"/>
|
||||
<property ID="0x40533B8D" type="sound"/>
|
||||
<property ID="0x613CAFD8" type="sound"/>
|
||||
<property ID="0x20C03692" type="sound"/>
|
||||
<property ID="0x214E48A0" type="float">
|
||||
<default>100.0</default>
|
||||
</property>
|
||||
|
|
|
@ -23,12 +23,8 @@
|
|||
<property ID="0xBD3EFE7D" type="color">
|
||||
<default>1.0, 1.0, 1.0, 0.0</default>
|
||||
</property>
|
||||
<property ID="0xE4AEEBA4" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x5D9ED447" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE4AEEBA4" type="sound"/>
|
||||
<property ID="0x5D9ED447" type="sound"/>
|
||||
<struct ID="0xB3774750" template="Structs/PatternedInfo.xml"/>
|
||||
<struct ID="0x7E397FED" template="Structs/ActorParameters.xml"/>
|
||||
</properties>
|
||||
|
|
|
@ -54,21 +54,11 @@
|
|||
<property ID="0x8851DC01" type="asset" extensions="PART"/>
|
||||
<property ID="0x5D01100F" type="asset" extensions="PART"/>
|
||||
<property ID="0x9A56892E" type="asset" extensions="PART"/>
|
||||
<property ID="0x4CAB30A9" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8F83BE73" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xB392943A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x24ECC1E9" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4489935E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4CAB30A9" type="sound"/>
|
||||
<property ID="0x8F83BE73" type="sound"/>
|
||||
<property ID="0xB392943A" type="sound"/>
|
||||
<property ID="0x24ECC1E9" type="sound"/>
|
||||
<property ID="0x4489935E" type="sound"/>
|
||||
<property ID="0x3C2D681E" type="asset" extensions="PART"/>
|
||||
<property ID="0xD576F379" type="asset" extensions="SRSC"/>
|
||||
<property ID="0x3DA219C7" type="asset" extensions="PART"/>
|
||||
|
@ -85,21 +75,11 @@
|
|||
<property ID="0x0BD7D5A9" type="float">
|
||||
<default>1.5</default>
|
||||
</property>
|
||||
<property ID="0xE8EA5BC8" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x5650366A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xB09AF706" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x0C13C5A8" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x148B81E4" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE8EA5BC8" type="sound"/>
|
||||
<property ID="0x5650366A" type="sound"/>
|
||||
<property ID="0xB09AF706" type="sound"/>
|
||||
<property ID="0x0C13C5A8" type="sound"/>
|
||||
<property ID="0x148B81E4" type="sound"/>
|
||||
<property ID="0x5D0D2C40" type="float">
|
||||
<default>15.0</default>
|
||||
</property>
|
||||
|
@ -160,12 +140,8 @@
|
|||
<property ID="0xB57BAE86" type="float">
|
||||
<default>40.0</default>
|
||||
</property>
|
||||
<property ID="0x2025858B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x19F8FEE6" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x2025858B" type="sound"/>
|
||||
<property ID="0x19F8FEE6" type="sound"/>
|
||||
<property ID="0xDC741FBD" type="float">
|
||||
<default>70.0</default>
|
||||
</property>
|
||||
|
@ -176,9 +152,7 @@
|
|||
<default>100.0</default>
|
||||
</property>
|
||||
<property ID="0xA926F8A8" type="asset" extensions="PART"/>
|
||||
<property ID="0x4051FD1A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4051FD1A" type="sound"/>
|
||||
<struct ID="0x424A6D37" template="Structs/DamageInfo.xml">
|
||||
<properties>
|
||||
<enum ID="0x119FBD31">
|
||||
|
@ -239,12 +213,8 @@
|
|||
<property ID="0xC2320B06" type="float">
|
||||
<default>30.0</default>
|
||||
</property>
|
||||
<property ID="0x4832703B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x36B0E542" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4832703B" type="sound"/>
|
||||
<property ID="0x36B0E542" type="sound"/>
|
||||
<property ID="0x421651F6" type="float">
|
||||
<default>10.0</default>
|
||||
</property>
|
||||
|
|
|
@ -13,9 +13,7 @@
|
|||
<default>true</default>
|
||||
</property>
|
||||
<struct ID="0xE1EC7346" template="Structs/BasicSwarmProperties.xml"/>
|
||||
<property ID="0x7399ABBB" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x7399ABBB" type="sound"/>
|
||||
<property ID="0x734D923B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
|
|
|
@ -56,21 +56,11 @@
|
|||
<property ID="0x8851DC01" type="asset" extensions="PART"/>
|
||||
<property ID="0x5D01100F" type="asset" extensions="PART"/>
|
||||
<property ID="0x9A56892E" type="asset" extensions="PART"/>
|
||||
<property ID="0x4CAB30A9" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8F83BE73" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xB392943A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x24ECC1E9" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4489935E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4CAB30A9" type="sound"/>
|
||||
<property ID="0x8F83BE73" type="sound"/>
|
||||
<property ID="0xB392943A" type="sound"/>
|
||||
<property ID="0x24ECC1E9" type="sound"/>
|
||||
<property ID="0x4489935E" type="sound"/>
|
||||
<property ID="0x3C2D681E" type="asset" extensions="PART"/>
|
||||
<property ID="0xD576F379" type="asset" extensions="SRSC"/>
|
||||
<property ID="0x3DA219C7" type="asset" extensions="PART"/>
|
||||
|
@ -87,21 +77,11 @@
|
|||
<property ID="0x0BD7D5A9" type="float">
|
||||
<default>1.5</default>
|
||||
</property>
|
||||
<property ID="0xE8EA5BC8" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x5650366A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xB09AF706" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x0C13C5A8" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x148B81E4" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE8EA5BC8" type="sound"/>
|
||||
<property ID="0x5650366A" type="sound"/>
|
||||
<property ID="0xB09AF706" type="sound"/>
|
||||
<property ID="0x0C13C5A8" type="sound"/>
|
||||
<property ID="0x148B81E4" type="sound"/>
|
||||
<property ID="0x5D0D2C40" type="float">
|
||||
<default>15.0</default>
|
||||
</property>
|
||||
|
@ -162,12 +142,8 @@
|
|||
<property ID="0xB57BAE86" type="float">
|
||||
<default>40.0</default>
|
||||
</property>
|
||||
<property ID="0x2025858B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x19F8FEE6" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x2025858B" type="sound"/>
|
||||
<property ID="0x19F8FEE6" type="sound"/>
|
||||
<property ID="0xDC741FBD" type="float">
|
||||
<default>70.0</default>
|
||||
</property>
|
||||
|
@ -178,9 +154,7 @@
|
|||
<default>100.0</default>
|
||||
</property>
|
||||
<property ID="0xA926F8A8" type="asset" extensions="PART"/>
|
||||
<property ID="0x4051FD1A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4051FD1A" type="sound"/>
|
||||
<struct ID="0x424A6D37" template="Structs/DamageInfo.xml">
|
||||
<properties>
|
||||
<enum ID="0x119FBD31">
|
||||
|
@ -285,24 +259,12 @@
|
|||
<property ID="0x15534429" type="asset" extensions="PART"/>
|
||||
<property ID="0x4CCEB7AD" type="asset" extensions="PART"/>
|
||||
<property ID="0xE41CB449" type="asset" extensions="SPSC"/>
|
||||
<property ID="0x6758BF01" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8D9E014F" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE35AE4BE" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x9F7372B3" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xDD69A116" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xBF42C3EC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x6758BF01" type="sound"/>
|
||||
<property ID="0x8D9E014F" type="sound"/>
|
||||
<property ID="0xE35AE4BE" type="sound"/>
|
||||
<property ID="0x9F7372B3" type="sound"/>
|
||||
<property ID="0xDD69A116" type="sound"/>
|
||||
<property ID="0xBF42C3EC" type="sound"/>
|
||||
<struct ID="0x42ECA523" template="Structs/DamageVulnerability.xml"/>
|
||||
<property ID="0xEE69B993" type="long">
|
||||
<default>2</default>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<struct ID="0x7E397FED" template="Structs/ActorParameters.xml"/>
|
||||
<struct ID="0xD520975D" type="multi">
|
||||
<properties>
|
||||
<property ID="0x55744160" type="asset" extensions="AFSM"/>
|
||||
<property ID="0x55744160" type="asset" extensions="AFSM,FSM2"/>
|
||||
<struct ID="0xCF90D15E" template="Structs/HealthInfo.xml">
|
||||
<properties>
|
||||
<property ID="0x3A2D17E4">
|
||||
|
@ -26,21 +26,11 @@
|
|||
<property ID="0xE8A6E174" type="asset" extensions="PART"/>
|
||||
<property ID="0x1AB2B090" type="asset" extensions="PART"/>
|
||||
<property ID="0x1CCFA4BA" type="asset" extensions="PART"/>
|
||||
<property ID="0x4CAB30A9" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8F83BE73" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xB392943A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x24ECC1E9" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4489935E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4CAB30A9" type="sound"/>
|
||||
<property ID="0x8F83BE73" type="sound"/>
|
||||
<property ID="0xB392943A" type="sound"/>
|
||||
<property ID="0x24ECC1E9" type="sound"/>
|
||||
<property ID="0x4489935E" type="sound"/>
|
||||
<struct ID="0x7B71AE90" template="Structs/DamageVulnerability.xml"/>
|
||||
</properties>
|
||||
</struct>
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
</modules>
|
||||
<properties>
|
||||
<struct ID="0x255A4580" template="Structs/EditorProperties.xml"/>
|
||||
<property ID="0x55744160" type="asset" extensions="AFSM"/>
|
||||
<property ID="0x83CF6509" type="asset" extensions="SRSC"/>
|
||||
<property ID="0x55744160" type="asset" extensions="AFSM,FSM2"/>
|
||||
<property ID="0x83CF6509" type="asset" extensions="PART,SRSC"/>
|
||||
<property ID="0x7CAE2ED5" type="float">
|
||||
<default>0.5</default>
|
||||
</property>
|
||||
|
@ -65,15 +65,9 @@
|
|||
</property>
|
||||
</properties>
|
||||
</struct>
|
||||
<property ID="0x1BB16EA5" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xAF38968E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x6C101854" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1BB16EA5" type="sound"/>
|
||||
<property ID="0xAF38968E" type="sound"/>
|
||||
<property ID="0x6C101854" type="sound"/>
|
||||
<property ID="0xF0668919" type="float">
|
||||
<default>50.0</default>
|
||||
</property>
|
||||
|
|
|
@ -32,9 +32,7 @@
|
|||
<struct ID="0xF9837AB3" type="multi">
|
||||
<properties>
|
||||
<property ID="0xCC5A4918" type="asset" extensions="PART"/>
|
||||
<property ID="0x46E902E8" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x46E902E8" type="sound"/>
|
||||
<struct ID="0x5E1D1931" template="Structs/IngSpaceJumpGuardianStruct.xml"/>
|
||||
<struct ID="0x6B08E2E5" template="Structs/IngSpaceJumpGuardianStruct.xml"/>
|
||||
<struct ID="0xF223AA76" template="Structs/IngSpaceJumpGuardianStruct.xml"/>
|
||||
|
@ -46,9 +44,7 @@
|
|||
<default>5.0</default>
|
||||
</property>
|
||||
<property ID="0xA926F8A8" type="asset" extensions="PART"/>
|
||||
<property ID="0x4051FD1A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4051FD1A" type="sound"/>
|
||||
<struct ID="0x424A6D37" template="Structs/DamageInfo.xml">
|
||||
<properties>
|
||||
<enum ID="0x119FBD31">
|
||||
|
|
|
@ -123,9 +123,7 @@
|
|||
</property>
|
||||
<property ID="0x351DBC73" type="asset" extensions="PART"/>
|
||||
<property ID="0x2D72BA7B" type="asset" extensions="PART"/>
|
||||
<property ID="0x80B58324" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x80B58324" type="sound"/>
|
||||
<property ID="0xA4EF7B42" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
|
|
|
@ -114,12 +114,8 @@
|
|||
<default>1.0, 0.0, 0.0, 1.0</default>
|
||||
</property>
|
||||
<property ID="0xC3566114" type="asset" extensions="DPSC"/>
|
||||
<property ID="0x6A11338F" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xF64CA627" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x6A11338F" type="sound"/>
|
||||
<property ID="0xF64CA627" type="sound"/>
|
||||
<property ID="0x214E48A0" type="float">
|
||||
<default>50.0</default>
|
||||
</property>
|
||||
|
|
|
@ -68,12 +68,8 @@
|
|||
<property ID="0x47691396" type="float">
|
||||
<default>45.0</default>
|
||||
</property>
|
||||
<property ID="0xA4231323" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x3AAF7871" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xA4231323" type="sound"/>
|
||||
<property ID="0x3AAF7871" type="sound"/>
|
||||
</properties>
|
||||
<states/>
|
||||
<messages/>
|
||||
|
|
|
@ -90,9 +90,7 @@
|
|||
<property ID="0xB459C3E9" type="MayaSpline"/>
|
||||
<property ID="0x323E4ED0" type="MayaSpline"/>
|
||||
<property ID="0x079BC576" type="asset" extensions="PART"/>
|
||||
<property ID="0x7CB63CD3" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x7CB63CD3" type="sound"/>
|
||||
<property ID="0x0E3D3708" type="float">
|
||||
<default>50.0</default>
|
||||
</property>
|
||||
|
|
|
@ -120,21 +120,11 @@
|
|||
<property ID="0xD473158D" type="asset" extensions="PART"/>
|
||||
<property ID="0xCCA298B4" type="asset" extensions="PART"/>
|
||||
<property ID="0xB99C80D3" type="asset" extensions="PART"/>
|
||||
<property ID="0xAF38968E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x6C101854" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xB392943A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x24ECC1E9" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE160B593" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xAF38968E" type="sound"/>
|
||||
<property ID="0x6C101854" type="sound"/>
|
||||
<property ID="0xB392943A" type="sound"/>
|
||||
<property ID="0x24ECC1E9" type="sound"/>
|
||||
<property ID="0xE160B593" type="sound"/>
|
||||
<property ID="0x7569FDBA" type="float">
|
||||
<default>100.0</default>
|
||||
</property>
|
||||
|
@ -178,12 +168,8 @@
|
|||
<property ID="0xFBCDB101" type="long">
|
||||
<default>5</default>
|
||||
</property>
|
||||
<property ID="0x6758BF01" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x524A8073" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x6758BF01" type="sound"/>
|
||||
<property ID="0x524A8073" type="sound"/>
|
||||
<property ID="0x50E46527" type="float">
|
||||
<default>30.0</default>
|
||||
</property>
|
||||
|
|
|
@ -153,21 +153,11 @@
|
|||
</property>
|
||||
</properties>
|
||||
</struct>
|
||||
<property ID="0xA24376EC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x40338715" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x527A643E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x0BB3CCAE" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xF3A4AF05" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xA24376EC" type="sound"/>
|
||||
<property ID="0x40338715" type="sound"/>
|
||||
<property ID="0x527A643E" type="sound"/>
|
||||
<property ID="0x0BB3CCAE" type="sound"/>
|
||||
<property ID="0xF3A4AF05" type="sound"/>
|
||||
<property ID="0x0C4763D7" type="float">
|
||||
<default>0.0</default>
|
||||
</property>
|
||||
|
|
|
@ -48,18 +48,14 @@
|
|||
<property ID="0x40992D51" type="asset" extensions="PART"/>
|
||||
<property ID="0x1140D11D" type="asset" extensions="PART"/>
|
||||
<property ID="0xD207FF0F" type="asset" extensions="PART"/>
|
||||
<property ID="0x2C1DFA22" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x2C1DFA22" type="sound"/>
|
||||
<property ID="0x285EFBD9" type="float">
|
||||
<default>0.0</default>
|
||||
</property>
|
||||
<property ID="0x15E0C159" type="float">
|
||||
<default>100.0</default>
|
||||
</property>
|
||||
<property ID="0x30752C95" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x30752C95" type="sound"/>
|
||||
<property ID="0xBA66A16E" type="float">
|
||||
<default>0.0</default>
|
||||
</property>
|
||||
|
|
|
@ -36,21 +36,11 @@
|
|||
<struct ID="0x8E5F7E96" template="Structs/DamageInfo.xml"/>
|
||||
<property ID="0xC43360A7" type="asset" extensions="WPSC"/>
|
||||
<property ID="0xA99D3DBE" type="asset" extensions="WPSC"/>
|
||||
<property ID="0xE7234F72" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x3E2F7AFB" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x7CABD1F1" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x7EF976EB" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x035459FD" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE7234F72" type="sound"/>
|
||||
<property ID="0x3E2F7AFB" type="sound"/>
|
||||
<property ID="0x7CABD1F1" type="sound"/>
|
||||
<property ID="0x7EF976EB" type="sound"/>
|
||||
<property ID="0x035459FD" type="sound"/>
|
||||
</properties>
|
||||
<states/>
|
||||
<messages/>
|
||||
|
|
|
@ -15,15 +15,9 @@
|
|||
</property>
|
||||
<property ID="0xE08E2172" type="asset" extensions="AGSC"/>
|
||||
<property ID="0xB3E6C4E3" type="asset" extensions="AGSC"/>
|
||||
<property ID="0x508520E1" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x34C7C1CC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xB253B362" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x508520E1" type="sound"/>
|
||||
<property ID="0x34C7C1CC" type="sound"/>
|
||||
<property ID="0xB253B362" type="sound"/>
|
||||
<property ID="0x4406DC02" type="long">
|
||||
<default>0</default>
|
||||
</property>
|
||||
|
|
|
@ -66,9 +66,7 @@
|
|||
<property ID="0x42AD1392" type="float">
|
||||
<default>0.0</default>
|
||||
</property>
|
||||
<property ID="0xFE20B4F5" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xFE20B4F5" type="sound"/>
|
||||
<struct ID="0x8F4787CB" template="Structs/ShockWaveInfo.xml"/>
|
||||
</properties>
|
||||
<states/>
|
||||
|
|
|
@ -76,9 +76,7 @@
|
|||
<default>false</default>
|
||||
</property>
|
||||
<struct ID="0xDEFF74EA" template="Structs/DamageInfo.xml"/>
|
||||
<property ID="0x1F80154D" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1F80154D" type="sound"/>
|
||||
</properties>
|
||||
<states/>
|
||||
<messages/>
|
||||
|
|
|
@ -140,12 +140,8 @@
|
|||
<property ID="0x973D7CC3" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xBB3F8A7B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x601F846D" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xBB3F8A7B" type="sound"/>
|
||||
<property ID="0x601F846D" type="sound"/>
|
||||
<property ID="0x64C7990D" type="float">
|
||||
<default>20.0</default>
|
||||
</property>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<property ID="0x11CD076F" type="float">
|
||||
<default>90.0</default>
|
||||
</property>
|
||||
<property ID="0x55744160" type="asset" extensions="AFSM"/>
|
||||
<property ID="0x55744160" type="asset" extensions="AFSM,FSM2"/>
|
||||
</properties>
|
||||
</struct>
|
||||
</properties>
|
||||
|
|
|
@ -115,9 +115,7 @@
|
|||
<property ID="0x452F7876" type="float">
|
||||
<default>0.5</default>
|
||||
</property>
|
||||
<property ID="0x4FAAC896" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4FAAC896" type="sound"/>
|
||||
<property ID="0xD5869B0B" type="long">
|
||||
<default>0</default>
|
||||
</property>
|
||||
|
|
|
@ -119,12 +119,8 @@
|
|||
<default>150.0</default>
|
||||
</property>
|
||||
<property ID="0x8F06342A" type="asset" extensions="PART"/>
|
||||
<property ID="0xD8B11129" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE99E5316" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xD8B11129" type="sound"/>
|
||||
<property ID="0xE99E5316" type="sound"/>
|
||||
<struct ID="0x1440D152" template="Structs/DamageInfo.xml">
|
||||
<properties>
|
||||
<enum ID="0x119FBD31">
|
||||
|
|
|
@ -41,18 +41,10 @@
|
|||
<property ID="0x3DB583AE" type="float">
|
||||
<default>1.0</default>
|
||||
</property>
|
||||
<property ID="0xA24376EC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xD35EB69D" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xAADAABB8" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8128CE4A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xA24376EC" type="sound"/>
|
||||
<property ID="0xD35EB69D" type="sound"/>
|
||||
<property ID="0xAADAABB8" type="sound"/>
|
||||
<property ID="0x8128CE4A" type="sound"/>
|
||||
<property ID="0x66E34A08" type="asset" extensions="CMDL"/>
|
||||
<property ID="0x5F3F29E3" type="asset" extensions="CMDL"/>
|
||||
<property ID="0x63DCBBB6" type="float">
|
||||
|
@ -156,12 +148,8 @@
|
|||
<property ID="0x3D58F51F" type="float">
|
||||
<default>0.0</default>
|
||||
</property>
|
||||
<property ID="0x8C41066C" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8649FE53" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8C41066C" type="sound"/>
|
||||
<property ID="0x8649FE53" type="sound"/>
|
||||
<property ID="0x547F9400" type="float">
|
||||
<default>50.0</default>
|
||||
</property>
|
||||
|
|
|
@ -105,9 +105,7 @@
|
|||
<property ID="0xE70EF8A3" type="float">
|
||||
<default>1.0</default>
|
||||
</property>
|
||||
<property ID="0x8527B396" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8527B396" type="sound"/>
|
||||
<property ID="0x67625BEF" type="float">
|
||||
<default>3.0</default>
|
||||
</property>
|
||||
|
|
|
@ -60,15 +60,9 @@
|
|||
<property ID="0xE0CDC7E3" type="float">
|
||||
<default>0.0</default>
|
||||
</property>
|
||||
<property ID="0xCD7D996E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1026DB89" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xCDE17346" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xCD7D996E" type="sound"/>
|
||||
<property ID="0x1026DB89" type="sound"/>
|
||||
<property ID="0xCDE17346" type="sound"/>
|
||||
</properties>
|
||||
<states/>
|
||||
<messages/>
|
||||
|
|
|
@ -3,9 +3,7 @@
|
|||
<name>Sound</name>
|
||||
<properties>
|
||||
<struct ID="0x255A4580" template="Structs/EditorProperties.xml"/>
|
||||
<property ID="0x5F7C352E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x5F7C352E" type="sound"/>
|
||||
<property ID="0x214E48A0" type="float">
|
||||
<default>50.0</default>
|
||||
</property>
|
||||
|
|
|
@ -101,9 +101,7 @@
|
|||
</property>
|
||||
</properties>
|
||||
</struct>
|
||||
<property ID="0xEAC27605" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xEAC27605" type="sound"/>
|
||||
<struct ID="0xA5912430" template="Structs/DamageInfo.xml">
|
||||
<properties>
|
||||
<enum ID="0x119FBD31">
|
||||
|
@ -134,9 +132,7 @@
|
|||
<property ID="0xDC36E745" type="float">
|
||||
<default>80.0</default>
|
||||
</property>
|
||||
<property ID="0x1BB16EA5" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1BB16EA5" type="sound"/>
|
||||
<property ID="0x71587B45" type="float">
|
||||
<default>0.1</default>
|
||||
</property>
|
||||
|
@ -170,12 +166,8 @@
|
|||
<property ID="0xF19B113E" type="float">
|
||||
<default>10.0</default>
|
||||
</property>
|
||||
<property ID="0x3BB37A8F" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE160B593" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x3BB37A8F" type="sound"/>
|
||||
<property ID="0xE160B593" type="sound"/>
|
||||
<property ID="0x8708B7D3" type="float">
|
||||
<default>0.2</default>
|
||||
</property>
|
||||
|
@ -231,12 +223,8 @@
|
|||
<property ID="0x454F16B1" type="long">
|
||||
<default>2</default>
|
||||
</property>
|
||||
<property ID="0x258C3E1B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xAF6AAD88" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x258C3E1B" type="sound"/>
|
||||
<property ID="0xAF6AAD88" type="sound"/>
|
||||
</properties>
|
||||
</struct>
|
||||
</properties>
|
||||
|
|
|
@ -106,15 +106,9 @@
|
|||
<enum ID="0x3FA164BC" template="Enums/Item.xml">
|
||||
<default>0x00000000</default>
|
||||
</enum>
|
||||
<property ID="0xA4EE16BF" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x227A6411" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE926B7B4" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xA4EE16BF" type="sound"/>
|
||||
<property ID="0x227A6411" type="sound"/>
|
||||
<property ID="0xE926B7B4" type="sound"/>
|
||||
</properties>
|
||||
<states/>
|
||||
<messages/>
|
||||
|
|
|
@ -27,15 +27,9 @@
|
|||
<property ID="0xE8F0A1CE" type="bool">
|
||||
<default>true</default>
|
||||
</property>
|
||||
<property ID="0x8B66ECA2" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x52EDD16B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE88E7D41" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8B66ECA2" type="sound"/>
|
||||
<property ID="0x52EDD16B" type="sound"/>
|
||||
<property ID="0xE88E7D41" type="sound"/>
|
||||
</properties>
|
||||
<states/>
|
||||
<messages/>
|
||||
|
|
|
@ -151,27 +151,17 @@
|
|||
</property>
|
||||
</properties>
|
||||
</struct>
|
||||
<property ID="0xEA307548" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x3779BD93" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xC90DBDB4" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE7724802" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xEA307548" type="sound"/>
|
||||
<property ID="0x3779BD93" type="sound"/>
|
||||
<property ID="0xC90DBDB4" type="sound"/>
|
||||
<property ID="0xE7724802" type="sound"/>
|
||||
<property ID="0xD4A06273" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xAFC20631" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x2FF5A809" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x2FF5A809" type="sound"/>
|
||||
<struct ID="0xE61748ED" template="Structs/IngPossessionData.xml"/>
|
||||
<struct ID="0x80A8EF3B" template="Structs/DamageVulnerability.xml"/>
|
||||
<struct ID="0xA21C90EA" template="Structs/DamageVulnerability.xml"/>
|
||||
|
|
|
@ -124,9 +124,7 @@
|
|||
</property>
|
||||
</properties>
|
||||
</struct>
|
||||
<property ID="0xA61C2A66" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xA61C2A66" type="sound"/>
|
||||
<struct ID="0xE61748ED" template="Structs/IngPossessionData.xml"/>
|
||||
<struct ID="0x24E23CC5" template="Structs/DamageVulnerability.xml"/>
|
||||
</properties>
|
||||
|
|
|
@ -125,39 +125,19 @@
|
|||
<property ID="0xF5E28404" type="float">
|
||||
<default>5.0</default>
|
||||
</property>
|
||||
<property ID="0xA87D72FC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xA87D72FC" type="sound"/>
|
||||
<property ID="0x8661285E" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4123323A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4D2EC538" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xD51CA051" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x64E9152D" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x3ACD0ECC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xFEB67317" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x88A20DB0" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x95C1257F" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x2690E216" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x4123323A" type="sound"/>
|
||||
<property ID="0x4D2EC538" type="sound"/>
|
||||
<property ID="0xD51CA051" type="sound"/>
|
||||
<property ID="0x64E9152D" type="sound"/>
|
||||
<property ID="0x3ACD0ECC" type="sound"/>
|
||||
<property ID="0xFEB67317" type="sound"/>
|
||||
<property ID="0x88A20DB0" type="sound"/>
|
||||
<property ID="0x95C1257F" type="sound"/>
|
||||
<property ID="0x2690E216" type="sound"/>
|
||||
<struct ID="0x510DBA97" template="Structs/PowerBombGuardianStageProperties.xml"/>
|
||||
<struct ID="0x0B6C85F7" template="Structs/PowerBombGuardianStageProperties.xml"/>
|
||||
<struct ID="0x8B9C92E8" template="Structs/PowerBombGuardianStageProperties.xml"/>
|
||||
|
|
|
@ -32,21 +32,11 @@
|
|||
</property>
|
||||
<property ID="0x36EEE791" type="asset" extensions="PART"/>
|
||||
<property ID="0xF8B7BA26" type="asset" extensions="PART"/>
|
||||
<property ID="0x0DD66F77" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x1BC7F2FC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xDFBD90E1" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x92CAA97D" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x6028D1CC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x0DD66F77" type="sound"/>
|
||||
<property ID="0x1BC7F2FC" type="sound"/>
|
||||
<property ID="0xDFBD90E1" type="sound"/>
|
||||
<property ID="0x92CAA97D" type="sound"/>
|
||||
<property ID="0x6028D1CC" type="sound"/>
|
||||
</properties>
|
||||
<states/>
|
||||
<messages/>
|
||||
|
|
|
@ -95,9 +95,7 @@
|
|||
</properties>
|
||||
</struct>
|
||||
<property ID="0x008BECAB" type="asset" extensions="PART"/>
|
||||
<property ID="0xF3AF8417" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xF3AF8417" type="sound"/>
|
||||
<property ID="0xDADC5BC9" type="float">
|
||||
<default>2.0</default>
|
||||
</property>
|
||||
|
@ -164,9 +162,7 @@
|
|||
<property ID="0xE34DC703" type="float">
|
||||
<default>180.0</default>
|
||||
</property>
|
||||
<property ID="0x8D3BA8AE" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x8D3BA8AE" type="sound"/>
|
||||
<property ID="0xB99098D9" type="float">
|
||||
<default>5.0</default>
|
||||
</property>
|
||||
|
|
|
@ -41,12 +41,8 @@
|
|||
<property ID="0x454F16B1" type="long">
|
||||
<default>5</default>
|
||||
</property>
|
||||
<property ID="0x7F1613B7" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x7050D866" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x7F1613B7" type="sound"/>
|
||||
<property ID="0x7050D866" type="sound"/>
|
||||
<property ID="0xD4903C98" type="float">
|
||||
<default>2.0</default>
|
||||
</property>
|
||||
|
|
|
@ -149,21 +149,13 @@
|
|||
<property ID="0xD6E82200" type="asset" extensions="PART"/>
|
||||
<property ID="0x94A23BF9" type="asset" extensions="PART"/>
|
||||
<property ID="0x43A704FB" type="asset" extensions="PART"/>
|
||||
<property ID="0xBA717F19" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xBA717F19" type="sound"/>
|
||||
<property ID="0xAE7C7EFC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xEEF81E4C" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x63C96763" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xD36209BC" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xEEF81E4C" type="sound"/>
|
||||
<property ID="0x63C96763" type="sound"/>
|
||||
<property ID="0xD36209BC" type="sound"/>
|
||||
<property ID="0xE578C0DD" type="color">
|
||||
<default>1.0, 1.0, 1.0, 1.0</default>
|
||||
</property>
|
||||
|
|
|
@ -21,9 +21,7 @@
|
|||
<default>true</default>
|
||||
</property>
|
||||
<property ID="0x3133C626" type="asset" extensions="AGSC"/>
|
||||
<property ID="0xC11FDB3B" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xC11FDB3B" type="sound"/>
|
||||
<property ID="0x80C66C37" type="long">
|
||||
<default>127</default>
|
||||
</property>
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
<property ID="0x72531867" type="float">
|
||||
<default>0.1</default>
|
||||
</property>
|
||||
<property ID="0xAF85A374" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xAF85A374" type="sound"/>
|
||||
<property ID="0xC712847C" type="long">
|
||||
<default>127</default>
|
||||
</property>
|
||||
|
|
|
@ -101,9 +101,7 @@
|
|||
<property ID="0xBC01A28E" type="bool">
|
||||
<default>false</default>
|
||||
</property>
|
||||
<property ID="0x97070F80" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x97070F80" type="sound"/>
|
||||
<property ID="0xAA453357" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
|
|
|
@ -13,8 +13,6 @@
|
|||
<property ID="0x8B51E23F" type="float">
|
||||
<default>1.0</default>
|
||||
</property>
|
||||
<property ID="0x388D2E46" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x388D2E46" type="sound"/>
|
||||
</properties>
|
||||
</struct>
|
||||
|
|
|
@ -22,12 +22,13 @@
|
|||
<enum ID="0x70729364">
|
||||
<default>0x00000000</default>
|
||||
<enumerators>
|
||||
<enumerator ID="0x00" name="Equals"/>
|
||||
<enumerator ID="0x01" name="Does Not Equal"/>
|
||||
<enumerator ID="0x02" name="Is Greater Than"/>
|
||||
<enumerator ID="0x03" name="Is Less Than"/>
|
||||
<enumerator ID="0x04" name="Is Greater Than Or Equals"/>
|
||||
<enumerator ID="0x05" name="Is Less Than Or Equals"/>
|
||||
<enumerator ID="0x00" name="Equal To"/>
|
||||
<enumerator ID="0x01" name="Not Equal To"/>
|
||||
<enumerator ID="0x02" name="Greater Than"/>
|
||||
<enumerator ID="0x03" name="Less Than"/>
|
||||
<enumerator ID="0x04" name="Greater Than or Equal To"/>
|
||||
<enumerator ID="0x05" name="Less Than or Equal To"/>
|
||||
<enumerator ID="0x06" name="Unknown"/>
|
||||
</enumerators>
|
||||
</enum>
|
||||
<property ID="0x8DB9398A" type="long">
|
||||
|
|
|
@ -30,8 +30,6 @@
|
|||
</properties>
|
||||
</struct>
|
||||
<struct ID="0x337F9524" template="Structs/DamageInfo.xml"/>
|
||||
<property ID="0xF6F185D6" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xF6F185D6" type="sound"/>
|
||||
</properties>
|
||||
</struct>
|
||||
|
|
|
@ -73,9 +73,7 @@
|
|||
<property ID="0x061CBE62" type="float">
|
||||
<default>0.0</default>
|
||||
</property>
|
||||
<property ID="0x19F84380" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x19F84380" type="sound"/>
|
||||
<property ID="0xE25FB08C" type="character"/>
|
||||
<property ID="0x55744160" type="asset" extensions="AFSM"/>
|
||||
<property ID="0xC1C7E255" type="asset" extensions="FSM2"/>
|
||||
|
@ -100,15 +98,9 @@
|
|||
<default>0.0, 0.0, 0.0</default>
|
||||
</property>
|
||||
<property ID="0xA8DA9239" type="asset" extensions="PART"/>
|
||||
<property ID="0x7344D6CD" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x562CF323" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xCDD9F41C" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x7344D6CD" type="sound"/>
|
||||
<property ID="0x562CF323" type="sound"/>
|
||||
<property ID="0xCDD9F41C" type="sound"/>
|
||||
<property ID="0x87011652" type="asset" extensions="RULE"/>
|
||||
<property ID="0x4BC4C4D9" type="long">
|
||||
<default>0</default>
|
||||
|
|
|
@ -1,24 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<struct name="SafeZoneStructB" type="multi">
|
||||
<properties>
|
||||
<property ID="0xC6BFC270" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xC6BFC270" type="sound"/>
|
||||
<property ID="0xD4839A3F" type="float">
|
||||
<default>0.0</default>
|
||||
</property>
|
||||
<property ID="0xE0903825" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE5567935" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x3E854866" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xD3EC0993" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0xE0903825" type="sound"/>
|
||||
<property ID="0xE5567935" type="sound"/>
|
||||
<property ID="0x3E854866" type="sound"/>
|
||||
<property ID="0xD3EC0993" type="sound"/>
|
||||
<property ID="0xD09F83E7" type="asset" extensions="TXTR"/>
|
||||
<property ID="0xC496A6A8" type="float">
|
||||
<default>50.0</default>
|
||||
|
|
|
@ -44,9 +44,7 @@
|
|||
<property ID="0x47CDE539" type="float">
|
||||
<default>0.0</default>
|
||||
</property>
|
||||
<property ID="0x29D8744A" type="long">
|
||||
<default>-1</default>
|
||||
</property>
|
||||
<property ID="0x29D8744A" type="sound"/>
|
||||
<property ID="0x8D4F3B88" type="long">
|
||||
<default>1</default>
|
||||
</property>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue