Added support for sound properties, labelled most MP1 sound properties

This commit is contained in:
parax0 2016-09-01 18:02:26 -06:00
parent 0929b20ba1
commit 2e1add84be
43 changed files with 221 additions and 106 deletions

View File

@ -56,30 +56,38 @@ void CAudioManager::LoadAssets()
}
}
SSoundInfo CAudioManager::GetSoundInfo(u32 SoundID)
{
SSoundInfo Out;
Out.SoundID = SoundID;
Out.DefineID = mpAudioLookupTable->FindSoundDefineID(SoundID);
Out.pAudioGroup = nullptr;
if (Out.DefineID != 0xFFFF)
{
auto Iter = mSfxIdMap.find(Out.DefineID);
if (Iter != mSfxIdMap.end())
Out.pAudioGroup = Iter->second;
if (mpProject->Game() >= eEchoesDemo)
Out.Name = mpSfxNameList->StringByIndex(Out.DefineID);
}
return Out;
}
void CAudioManager::LogSoundInfo(u32 SoundID)
{
u16 DefineID = mpAudioLookupTable->FindSoundDefineID(SoundID);
SSoundInfo SoundInfo = GetSoundInfo(SoundID);
if (DefineID == -1)
Log::Write("Invalid sound");
else
if (SoundInfo.DefineID != 0xFFFF)
{
auto Iter = mSfxIdMap.find(DefineID);
if (mpProject->Game() >= eEchoesDemo)
Log::Write("Sound Name: " + SoundInfo.Name);
if (Iter != mSfxIdMap.end())
{
if (mpProject->Game() >= eEchoesDemo)
{
TString SoundName = mpSfxNameList->StringByIndex(DefineID);
Log::Write("Sound Name: " + SoundName);
}
CAudioGroup *pGroup = Iter->second;
Log::Write("Sound ID: " + TString::HexString(SoundID, 4));
Log::Write("Define ID: " + TString::HexString(DefineID, 4));
Log::Write("Audio Group: " + pGroup->Entry()->Name().ToUTF8());
Log::Write("");
}
Log::Write("Sound ID: " + TString::HexString(SoundInfo.SoundID, 4));
Log::Write("Define ID: " + TString::HexString(SoundInfo.DefineID, 4));
Log::Write("Audio Group: " + SoundInfo.pAudioGroup->Entry()->Name().ToUTF8());
Log::Write("");
}
}

View File

@ -8,6 +8,14 @@
#include <algorithm>
#include <unordered_map>
struct SSoundInfo
{
CAudioGroup *pAudioGroup;
TString Name;
u32 SoundID;
u16 DefineID;
};
class CAudioManager
{
CGameProject *mpProject;
@ -20,6 +28,7 @@ class CAudioManager
public:
CAudioManager(CGameProject *pProj);
void LoadAssets();
SSoundInfo GetSoundInfo(u32 SoundID);
void LogSoundInfo(u32 SoundID);
};

View File

@ -16,7 +16,7 @@ public:
inline u16 FindSoundDefineID(u32 SoundID)
{
ASSERT(SoundID >= 0 && SoundID < mDefineIDs.size());
if (SoundID >= mDefineIDs.size()) return -1;
return mDefineIDs[SoundID];
}
};

View File

@ -86,6 +86,13 @@ void CScriptCooker::WriteProperty(IProperty *pProp, bool InSingleStruct)
break;
}
case eSoundProperty:
{
TSoundProperty *pSoundCast = static_cast<TSoundProperty*>(pProp);
mpSCLY->WriteLong(pSoundCast->Get());
break;
}
case eAssetProperty:
{
TAssetProperty *pAssetCast = static_cast<TAssetProperty*>(pProp);

View File

@ -106,6 +106,13 @@ void CScriptLoader::ReadProperty(IProperty *pProp, u32 Size, IInputStream& rSCLY
break;
}
case eSoundProperty:
{
TSoundProperty *pSoundCast = static_cast<TSoundProperty*>(pProp);
pSoundCast->Set(rSCLY.ReadLong());
break;
}
case eAssetProperty:
{
TAssetProperty *pAssetCast = static_cast<TAssetProperty*>(pProp);

View File

@ -190,6 +190,7 @@ IPropertyTemplate* CTemplateLoader::CreateProperty(u32 ID, EPropertyType Type, c
case eStringProperty: pOut = CREATE_PROP_TEMP(TStringTemplate); break;
case eVector3Property: pOut = CREATE_PROP_TEMP(TVector3Template); break;
case eColorProperty: pOut = CREATE_PROP_TEMP(TColorTemplate); break;
case eSoundProperty: pOut = CREATE_PROP_TEMP(TSoundTemplate); break;
case eAssetProperty: pOut = CREATE_PROP_TEMP(CAssetTemplate); break;
case eCharacterProperty: pOut = CREATE_PROP_TEMP(TCharacterTemplate); break;
case eMayaSplineProperty: pOut = CREATE_PROP_TEMP(TMayaSplineTemplate); break;

View File

@ -15,6 +15,7 @@ enum EPropertyType
eStringProperty,
eVector3Property,
eColorProperty,
eSoundProperty,
eAssetProperty,
eStructProperty,
eArrayProperty,

View File

@ -22,8 +22,6 @@ typedef TString TIDString;
*/
class IProperty
{
friend class CScriptLoader;
protected:
class CPropertyStruct *mpParent;
CScriptObject *mpInstance;
@ -78,7 +76,6 @@ public:
template <typename ValueType, EPropertyType TypeEnum, class ValueClass>
class TTypedProperty : public IProperty
{
friend class CScriptLoader;
ValueClass mValue;
public:
TTypedProperty(IPropertyTemplate *pTemp, CScriptObject *pInstance, CPropertyStruct *pParent)
@ -124,7 +121,7 @@ typedef TTypedProperty<CColor, eColorProperty, CColorValue>
typedef TTypedProperty<std::vector<u8>, eUnknownProperty, CUnknownValue> TUnknownProperty;
/*
* TStringProperty, TAssetProperty, and TCharacterProperty get little subclasses in order to override some virtual functions.
* TStringProperty, TSoundProperty, TAssetProperty, and TCharacterProperty get little subclasses in order to override some virtual functions.
*/
#define IMPLEMENT_PROPERTY_CTORS(ClassName, ValueType) \
ClassName(IPropertyTemplate *pTemp, CScriptObject *pInstance, CPropertyStruct *pParent) \
@ -142,6 +139,15 @@ public:
virtual bool ShouldCook() { return true; }
};
class TSoundProperty : public TTypedProperty<u32, eSoundProperty, CSoundValue>
{
public:
IMPLEMENT_PROPERTY_CTORS(TSoundProperty, u32)
IMPLEMENT_PROPERTY_CLONE(TSoundProperty)
virtual bool MatchesDefault() { return Get() == -1; }
virtual bool ShouldCook() { return MatchesDefault(); }
};
class TAssetProperty : public TTypedProperty<CAssetID, eAssetProperty, CAssetValue>
{
public:

View File

@ -229,6 +229,7 @@ TString PropEnumToPropString(EPropertyType Prop)
case eStringProperty: return "string";
case eColorProperty: return "color";
case eVector3Property: return "vector3f";
case eSoundProperty: return "sound";
case eAssetProperty: return "asset";
case eStructProperty: return "struct";
case eArrayProperty: return "array";
@ -255,6 +256,7 @@ EPropertyType PropStringToPropEnum(TString Prop)
if (Prop == "string") return eStringProperty;
if (Prop == "color") return eColorProperty;
if (Prop == "vector3f") return eVector3Property;
if (Prop == "sound") return eSoundProperty;
if (Prop == "asset") return eAssetProperty;
if (Prop == "struct") return eStructProperty;
if (Prop == "array") return eArrayProperty;

View File

@ -308,7 +308,7 @@ typedef TNumericalPropertyTemplate<float, eFloatProperty, CFloatValue>
typedef TTypedPropertyTemplate<CVector3f, eVector3Property, CVector3Value, true> TVector3Template;
typedef TTypedPropertyTemplate<CColor, eColorProperty, CColorValue, true> TColorTemplate;
// TCharacterTemplate, TStringTemplate, and TMayaSplineTemplate get their own subclasses so they can reimplement a couple functions
// TCharacterTemplate, TSoundTemplate, TStringTemplate, and TMayaSplineTemplate get their own subclasses so they can reimplement a couple functions
class TCharacterTemplate : public TTypedPropertyTemplate<CAnimationParameters, eCharacterProperty, CCharacterValue, false>
{
friend class CTemplateLoader;
@ -327,6 +327,24 @@ public:
}
};
class TSoundTemplate : public TTypedPropertyTemplate<u32, eSoundProperty, CSoundValue, false>
{
friend class CTemplateLoader;
friend class CTemplateWriter;
public:
TSoundTemplate(u32 ID, CScriptTemplate *pScript, CMasterTemplate *pMaster, CStructTemplate *pParent = 0)
: TTypedPropertyTemplate(ID, pScript, pMaster, pParent) {}
TSoundTemplate(u32 ID, const TString& rkName, ECookPreference CookPreference, CScriptTemplate *pScript, CMasterTemplate *pMaster, CStructTemplate *pParent = 0)
: TTypedPropertyTemplate(ID, rkName, CookPreference, pScript, pMaster, pParent) {}
IProperty* InstantiateProperty(CScriptObject *pInstance, CPropertyStruct *pParent)
{
return new TSoundProperty(this, pInstance, pParent, -1);
}
};
class TStringTemplate : public TTypedPropertyTemplate<TString, eStringProperty, CStringValue, false>
{
friend class CTemplateLoader;

View File

@ -342,6 +342,21 @@ public:
}
};
class CSoundValue : public TTypedPropertyValue<u32>
{
public:
CSoundValue() {}
CSoundValue(u32 SoundID) { mValue = SoundID; }
TString ToString() const { return TString::FromInt32(mValue, 0, 10); }
void FromString(const TString& rkString) { mValue = rkString.ToInt32(10); }
IPropertyValue* Clone() const
{
return new CSoundValue(mValue);
}
};
class CAssetValue : public TTypedPropertyValue<CAssetID>
{
public:

View File

@ -104,6 +104,16 @@ QWidget* CPropertyDelegate::createEditor(QWidget *pParent, const QStyleOptionVie
break;
}
case eSoundProperty:
{
WIntegralSpinBox *pSpinBox = new WIntegralSpinBox(pParent);
pSpinBox->setMinimum(-1);
pSpinBox->setMaximum(0xFFFF);
CONNECT_RELAY(pSpinBox, rkIndex, valueChanged(int))
pOut = pSpinBox;
break;
}
case eStringProperty:
{
QLineEdit *pLineEdit = new QLineEdit(pParent);
@ -237,6 +247,7 @@ void CPropertyDelegate::setEditorData(QWidget *pEditor, const QModelIndex &rkInd
}
case eLongProperty:
case eSoundProperty:
{
WIntegralSpinBox *pSpinBox = static_cast<WIntegralSpinBox*>(pEditor);
@ -406,6 +417,7 @@ void CPropertyDelegate::setModelData(QWidget *pEditor, QAbstractItemModel* /*pMo
}
case eLongProperty:
case eSoundProperty:
{
WIntegralSpinBox *pSpinBox = static_cast<WIntegralSpinBox*>(pEditor);
TLongProperty *pLong = static_cast<TLongProperty*>(pProp);

View File

@ -1,5 +1,6 @@
#include "CPropertyModel.h"
#include "Editor/UICommon.h"
#include <Core/GameProject/CGameProject.h>
#include <Core/Resource/Script/IProperty.h>
#include <Core/Resource/Script/IPropertyTemplate.h>
#include <QFont>
@ -289,6 +290,34 @@ QVariant CPropertyModel::data(const QModelIndex& rkIndex, int Role) const
case eVector3Property:
return "(" + TO_QSTRING(pProp->ToString()) + ")";
// Display the AGSC/sound name for sounds
case eSoundProperty:
{
TSoundProperty *pSound = static_cast<TSoundProperty*>(pProp);
u32 SoundID = pSound->Get();
if (SoundID == -1) return "[None]";
CGameProject *pProj = CGameProject::ActiveProject();
SSoundInfo SoundInfo = pProj->AudioManager()->GetSoundInfo(SoundID);
QString Out = QString::number(SoundID);
if (SoundInfo.DefineID == -1)
return Out + " [INVALID]";
// Always display define ID. Display sound name if we have one, otherwise display AGSC ID.
Out += " [" + TO_QSTRING( TString::HexString(SoundInfo.DefineID, 4) );
QString AudioGroupName = (SoundInfo.pAudioGroup ? TO_QSTRING(SoundInfo.pAudioGroup->Entry()->Name()) : "NO AUDIO GROUP");
QString Name = (!SoundInfo.Name.IsEmpty() ? TO_QSTRING(SoundInfo.Name) : AudioGroupName);
Out += " " + Name + "]";
// If we have a sound name and this is a tooltip, add a second line with the AGSC name
if (Role == Qt::ToolTipRole && !SoundInfo.Name.IsEmpty())
Out += "\n" + AudioGroupName;
return Out;
}
// Display character name for characters
case eCharacterProperty:
return TO_QSTRING(static_cast<TCharacterProperty*>(pProp)->Get().GetCurrentCharacterName());

View File

@ -19,9 +19,9 @@
<property ID="0x0E" name="Unknown 4" type="float"/>
<property ID="0x0F" name="Unknown 5" type="float"/>
<property ID="0x10" name="Unknown 6" type="float"/>
<property ID="0x11" name="Unknown 7" type="long"/>
<property ID="0x12" name="Unknown 8" type="long"/>
<property ID="0x13" name="Unknown 9" type="long"/>
<property ID="0x11" name="Unknown 7" type="sound"/>
<property ID="0x12" name="Unknown 8" type="sound"/>
<property ID="0x13" name="Unknown 9" type="sound"/>
<property ID="0x14" name="Unknown 10" type="float"/>
</properties>
<states/>

View File

@ -21,19 +21,19 @@
<property ID="0x10" name="Model" type="asset" extensions="CMDL"/>
<property ID="0x11" name="CSKR" type="asset" extensions="CSKR"/>
<property ID="0x12" name="Unknown 3" type="float"/>
<property ID="0x13" name="Unknown 4" type="long"/>
<property ID="0x13" name="Unknown 4" type="sound"/>
<property ID="0x14" name="Particle 2" type="asset" extensions="PART"/>
<property ID="0x15" name="Particle 3" type="asset" extensions="PART"/>
<property ID="0x16" name="Particle 4" type="asset" extensions="PART"/>
<property ID="0x17" name="Particle 5" type="asset" extensions="PART"/>
<property ID="0x18" name="Unknown 5" type="long"/>
<property ID="0x19" name="Unknown 6" type="long"/>
<property ID="0x1A" name="Unknown 7" type="long"/>
<property ID="0x18" name="Unknown 5" type="sound"/>
<property ID="0x19" name="Unknown 6" type="sound"/>
<property ID="0x1A" name="Unknown 7" type="sound"/>
<property ID="0x1B" name="Unknown 8" type="float"/>
<property ID="0x1C" name="Unknown 9" type="float"/>
<property ID="0x1D" name="Unknown 10" type="float"/>
<property ID="0x1E" name="Texture" type="asset" extensions="TXTR"/>
<property ID="0x1F" name="Unknown 11" type="long"/>
<property ID="0x1F" name="Unknown 11" type="sound"/>
<property ID="0x20" name="Particle 6" type="asset" extensions="PART"/>
</properties>
<states/>

View File

@ -19,7 +19,7 @@
<property ID="0x0E" name="Particle 4" type="asset" extensions="PART"/>
<property ID="0x0F" name="Unknown 1" type="float"/>
<property ID="0x10" name="Particle 5" type="asset" extensions="PART"/>
<property ID="0x11" name="Unknown 2" type="long"/>
<property ID="0x11" name="Unknown 2" type="sound"/>
</properties>
<states/>
<messages/>

View File

@ -19,16 +19,16 @@
<struct ID="0x0E" name="BehaveChance 1" template="Structs/BehaveChance.xml"/>
<struct ID="0x0F" name="BehaveChance 2" template="Structs/BehaveChance.xml"/>
<struct ID="0x10" name="BehaveChance 3" template="Structs/BehaveChance.xml"/>
<property ID="0x11" name="Sound ID 1" type="long"/>
<property ID="0x11" name="Sound ID 1" type="sound"/>
<property ID="0x12" name="Unknown 5" type="float"/>
<property ID="0x13" name="Sound ID 2" type="long"/>
<property ID="0x14" name="Sound ID 3" type="long"/>
<property ID="0x13" name="Sound ID 2" type="sound"/>
<property ID="0x14" name="Sound ID 3" type="sound"/>
<property ID="0x15" name="Unknown 6" type="long"/>
<property ID="0x16" name="Unknown 7" type="float"/>
<property ID="0x17" name="Unknown 8" type="long"/>
<property ID="0x18" name="Unknown 9" type="float"/>
<property ID="0x19" name="Particle" type="asset" extensions="PART"/>
<property ID="0x1A" name="Sound ID 4" type="long"/>
<property ID="0x1A" name="Sound ID 4" type="sound"/>
<property ID="0x1B" name="Unknown 10" type="float"/>
<property ID="0x1C" name="Unknown 11" type="float"/>
<property ID="0x1D" name="Unknown 12" type="long"/>

View File

@ -45,7 +45,7 @@
<property ID="0x28" name="Unknown 27" type="float"/>
<property ID="0x29" name="Unknown 28" type="float"/>
<property ID="0x2A" name="Unknown 29" type="float"/>
<property ID="0x2B" name="Sound?" type="long"/>
<property ID="0x2B" name="Sound" type="sound"/>
<property ID="0x2C" name="Unknown 30" type="bool"/>
</properties>
<states/>

View File

@ -17,11 +17,11 @@
<property ID="0x0C" name="Unknown 7" type="float"/>
<property ID="0x0D" name="Unknown 8" type="float"/>
<property ID="0x0E" name="Particle 1" type="asset" extensions="PART"/>
<property ID="0x0F" name="Sound ID 1" type="long"/>
<property ID="0x0F" name="Sound ID 1" type="sound"/>
<struct ID="0x10" name="ActorParameters 2" template="Structs/ActorParameters.xml"/>
<property ID="0x11" name="AnimationParameters" type="character"/>
<property ID="0x12" name="Particle 2" type="asset" extensions="PART"/>
<property ID="0x13" name="Sound ID 2" type="long"/>
<property ID="0x13" name="Sound ID 2" type="sound"/>
<property ID="0x14" name="Model" type="asset" extensions="CMDL"/>
<struct ID="0x15" name="DamageInfo 1" template="Structs/DamageInfo.xml"/>
<property ID="0x16" name="Unknown 9" type="float"/>
@ -36,12 +36,12 @@
<property ID="0x1F" name="Unknown 14" type="float"/>
<property ID="0x20" name="Unknown 15" type="float"/>
<property ID="0x21" name="Unknown 16" type="long"/>
<property ID="0x22" name="Sound ID 3" type="long"/>
<property ID="0x23" name="Sound ID 4" type="long"/>
<property ID="0x22" name="Sound ID 3" type="sound"/>
<property ID="0x23" name="Sound ID 4" type="sound"/>
<property ID="0x24" name="Particle 7" type="asset" extensions="PART"/>
<struct ID="0x25" name="DamageInfo 2" template="Structs/DamageInfo.xml"/>
<property ID="0x26" name="ELSC" type="asset" extensions="ELSC"/>
<property ID="0x27" name="Sound ID 5" type="long"/>
<property ID="0x27" name="Sound ID 5" type="sound"/>
<property ID="0x28" name="Unknown 17" type="bool"/>
<property ID="0x29" name="Unknown 18" type="bool"/>
</properties>

View File

@ -13,10 +13,10 @@
<struct ID="0x08" name="DamageInfo 1" template="Structs/DamageInfo.xml"/>
<property ID="0x09" name="Unknown 3" type="float"/>
<property ID="0x0A" name="Texture" type="asset" extensions="TXTR"/>
<property ID="0x0B" name="Sound ID 1" type="long"/>
<property ID="0x0B" name="Sound ID 1" type="sound"/>
<property ID="0x0C" name="Particle 1" type="asset" extensions="PART"/>
<property ID="0x0D" name="ELSC" type="asset" extensions="ELSC"/>
<property ID="0x0E" name="Sound ID 2" type="long"/>
<property ID="0x0E" name="Sound ID 2" type="sound"/>
<property ID="0x0F" name="Unknown 4" type="float"/>
<property ID="0x10" name="Unknown 5" type="float"/>
<property ID="0x11" name="Particle 2" type="asset" extensions="PART"/>

View File

@ -21,7 +21,7 @@
<property ID="0x10" name="Always FFFFFFFF 1" type="long"/>
<property ID="0x11" name="Always FFFFFFFF 2" type="long"/>
<property ID="0x12" name="Always FFFFFFFF 3" type="long"/>
<property ID="0x13" name="Unknown 5" type="long"/>
<property ID="0x13" name="Laser Sound" type="sound"/>
<property ID="0x14" name="Unknown 6" type="bool"/>
</properties>
<states/>

View File

@ -35,7 +35,7 @@
<property ID="0x1E" name="Unknown 25" type="long"/>
<property ID="0x1F" name="Unknown 26" type="long"/>
<property ID="0x20" name="Unknown 27" type="long"/>
<property ID="0x21" name="Unknown 28" type="long"/>
<property ID="0x21" name="Unknown 28" type="sound"/>
<property ID="0x22" name="Unknown 29" type="bool"/>
<property ID="0x23" name="Unknown 30" type="bool"/>
</properties>

View File

@ -13,7 +13,7 @@
<property ID="0x08" name="Unknown 3" type="long"/>
<property ID="0x09" name="WPSC 1" type="asset" extensions="WPSC"/>
<struct ID="0x0A" name="DamageInfo 1" template="Structs/DamageInfo.xml"/>
<property ID="0x0B" name="Unknown 4" type="long"/>
<property ID="0x0B" name="Unknown 4" type="sound"/>
<property ID="0x0C" name="WPSC 2" type="asset" extensions="WPSC"/>
<struct ID="0x0D" name="DamageInfo 2" template="Structs/DamageInfo.xml"/>
<property ID="0x0E" name="WPSC 3" type="asset" extensions="WPSC"/>
@ -25,16 +25,16 @@
<property ID="0x14" name="Unknown 8" type="float"/>
<property ID="0x15" name="Unknown 9" type="float"/>
<property ID="0x16" name="Unknown 10" type="float"/>
<property ID="0x17" name="Unknown 11" type="long"/>
<property ID="0x18" name="Unknown 12" type="long"/>
<property ID="0x17" name="Unknown 11" type="sound"/>
<property ID="0x18" name="Unknown 12" type="sound"/>
<property ID="0x19" name="Unknown 13" type="float"/>
<property ID="0x1A" name="Unknown 14" type="float"/>
<property ID="0x1B" name="Unknown 15" type="float"/>
<property ID="0x1C" name="Particle 2" type="asset" extensions="PART"/>
<property ID="0x1D" name="Particle 3" type="asset" extensions="PART"/>
<property ID="0x1E" name="Particle 4" type="asset" extensions="PART"/>
<property ID="0x1F" name="Unknown 16" type="long"/>
<property ID="0x20" name="Unknown 17" type="long"/>
<property ID="0x1F" name="Unknown 16" type="sound"/>
<property ID="0x20" name="Unknown 17" type="sound"/>
<property ID="0x21" name="Unknown 18" type="float"/>
<property ID="0x22" name="Unknown 19" type="float"/>
<property ID="0x23" name="Unknown 20" type="float"/>

View File

@ -15,9 +15,9 @@
<property ID="0x0A" name="Unknown 5" type="float"/>
<property ID="0x0B" name="Unknown 6" type="float"/>
<property ID="0x0C" name="Unknown 7" type="float"/>
<property ID="0x0D" name="Unknown 8" type="long"/>
<property ID="0x0E" name="Unknown 9" type="long"/>
<property ID="0x0F" name="Unknown 10" type="long"/>
<property ID="0x0D" name="Unknown 8" type="sound"/>
<property ID="0x0E" name="Unknown 9" type="sound"/>
<property ID="0x0F" name="Unknown 10" type="sound"/>
</properties>
<states/>
<messages/>

View File

@ -37,12 +37,12 @@
<property ID="0x20" name="Particle 5" type="asset" extensions="PART"/>
<property ID="0x21" name="Particle 6" type="asset" extensions="PART"/>
<property ID="0x22" name="Particle 7" type="asset" extensions="PART"/>
<property ID="0x23" name="Unknown 19" type="long"/>
<property ID="0x24" name="Unknown 20" type="long"/>
<property ID="0x25" name="Unknown 21" type="long"/>
<property ID="0x26" name="Unknown 22" type="long"/>
<property ID="0x27" name="Unknown 23" type="long"/>
<property ID="0x28" name="Unknown 24" type="long"/>
<property ID="0x23" name="Unknown 19" type="sound"/>
<property ID="0x24" name="Unknown 20" type="sound"/>
<property ID="0x25" name="Unknown 21" type="sound"/>
<property ID="0x26" name="Unknown 22" type="sound"/>
<property ID="0x27" name="Unknown 23" type="sound"/>
<property ID="0x28" name="Unknown 24" type="sound"/>
<property ID="0x29" name="Model" type="asset" extensions="CMDL"/>
<property ID="0x2A" name="Unknown 25" type="float"/>
<property ID="0x2B" name="Unknown 26" type="long"/>

View File

@ -30,12 +30,12 @@
<property ID="0x19" name="Unknown 7" type="float"/>
<property ID="0x1A" name="Unknown 8" type="float"/>
<struct ID="0x1B" name="DamageInfo 3" template="Structs/DamageInfo.xml"/>
<property ID="0x1C" name="Sound ID 1" type="long"/>
<property ID="0x1C" name="Sound ID 1" type="sound"/>
<property ID="0x1D" name="Unknown 9" type="float"/>
<property ID="0x1E" name="Unknown 10" type="float"/>
<property ID="0x1F" name="Unknown 11" type="float"/>
<property ID="0x20" name="Texture" type="asset" extensions="TXTR"/>
<property ID="0x21" name="Sound ID 2" type="long"/>
<property ID="0x21" name="Sound ID 2" type="sound"/>
<property ID="0x22" name="Particle 6" type="asset" extensions="PART"/>
<property ID="0x23" name="Unknown 12" type="bool"/>
<property ID="0x24" name="Unknown 13" type="bool"/>

View File

@ -41,7 +41,7 @@
<property ID="0x0D" name="Unknown 16" type="float"/>
<property ID="0x0E" name="Texture 1" type="asset" extensions="TXTR"/>
<property ID="0x0F" name="Unknown 17" type="long"/>
<property ID="0x10" name="Unknown 18" type="long"/>
<property ID="0x10" name="Unknown 18" type="sound"/>
<property ID="0x11" name="Particle 4" type="asset" extensions="PART"/>
<struct ID="0x12" name="PrimeStruct4 1" template="Structs/PrimeStruct4.xml"/>
<struct ID="0x13" name="PrimeStruct4 2" template="Structs/PrimeStruct4.xml"/>

View File

@ -11,7 +11,7 @@
<property ID="0x06" name="Particle 1" type="asset" extensions="PART"/>
<struct ID="0x07" name="DamageInfo" template="Structs/DamageInfo.xml"/>
<property ID="0x08" name="ELSC" type="asset" extensions="ELSC"/>
<property ID="0x09" name="Unknown 1" type="long"/>
<property ID="0x09" name="Unknown 1" type="sound"/>
<property ID="0x0A" name="Particle 2" type="asset" extensions="PART"/>
</properties>
<states/>

View File

@ -17,11 +17,11 @@
<property ID="0x0C" name="Unknown 7" type="float"/>
<property ID="0x0D" name="Unknown 8" type="float"/>
<property ID="0x0E" name="Particle 1" type="asset" extensions="PART"/>
<property ID="0x0F" name="Sound ID 1" type="long"/>
<property ID="0x0F" name="Sound ID 1" type="sound"/>
<struct ID="0x10" name="ActorParameters 2" template="Structs/ActorParameters.xml"/>
<property ID="0x11" name="AnimationParameters" type="character"/>
<property ID="0x12" name="Particle 2" type="asset" extensions="PART"/>
<property ID="0x13" name="Sound ID 2" type="long"/>
<property ID="0x13" name="Sound ID 2" type="sound"/>
<property ID="0x14" name="Grenade Model" type="asset" extensions="CMDL"/>
<struct ID="0x15" name="DamageInfo 1" template="Structs/DamageInfo.xml"/>
<property ID="0x16" name="Unknown 9" type="float"/>
@ -36,12 +36,12 @@
<property ID="0x1F" name="Unknown 14" type="float"/>
<property ID="0x20" name="Unknown 15" type="float"/>
<property ID="0x21" name="Unknown 16" type="long"/>
<property ID="0x22" name="Sound ID 3" type="long"/>
<property ID="0x23" name="Sound ID 4" type="long"/>
<property ID="0x22" name="Sound ID 3" type="sound"/>
<property ID="0x23" name="Sound ID 4" type="sound"/>
<property ID="0x24" name="Particle 7" type="asset" extensions="PART"/>
<struct ID="0x25" name="DamageInfo 2" template="Structs/DamageInfo.xml"/>
<property ID="0x26" name="ELSC" type="asset" extensions="ELSC"/>
<property ID="0x27" name="Sound ID 5" type="long"/>
<property ID="0x27" name="Sound ID 5" type="sound"/>
<property ID="0x28" name="Unknown 17" type="bool"/>
<property ID="0x29" name="Unknown 18" type="bool"/>
<property ID="0x2A" name="X-Ray Model" type="asset" extensions="CMDL"/>

View File

@ -17,7 +17,7 @@
<property ID="0x0C" name="Unknown 4" type="bool"/>
<property ID="0x0D" name="Unknown 5" type="bool"/>
<struct ID="0x0E" name="DamageInfo 2" template="Structs/DamageInfo.xml"/>
<property ID="0x0F" name="Unknown 6" type="long"/>
<property ID="0x0F" name="Unknown 6" type="sound"/>
</properties>
<states/>
<messages/>

View File

@ -48,14 +48,14 @@
<property ID="0x10" name="Unknown 17" type="color"/>
</properties>
</struct>
<property ID="0x1A" name="Sound ID 1" type="long"/>
<property ID="0x1A" name="Sound ID 1" type="sound"/>
<property ID="0x1B" name="WPSC 2" type="asset" extensions="WPSC"/>
<struct ID="0x1C" name="DamageInfo 2" template="Structs/DamageInfo.xml"/>
<struct ID="0x1D" name="RidleyStruct2 1" template="Structs/RidleyStruct2.xml"/>
<property ID="0x1E" name="WPSC 3" type="asset" extensions="WPSC"/>
<struct ID="0x1F" name="DamageInfo 3" template="Structs/DamageInfo.xml"/>
<struct ID="0x20" name="RidleyStruct2 2" template="Structs/RidleyStruct2.xml"/>
<property ID="0x21" name="Sound ID 2" type="long"/>
<property ID="0x21" name="Sound ID 2" type="sound"/>
<struct ID="0x22" name="DamageInfo 4" template="Structs/DamageInfo.xml"/>
<struct ID="0x23" name="RidleyStruct2 3" template="Structs/RidleyStruct2.xml"/>
<property ID="0x24" name="Unknown 18" type="float"/>
@ -68,7 +68,7 @@
<property ID="0x2B" name="Unknown 22" type="float"/>
<property ID="0x2C" name="ELSC" type="asset" extensions="ELSC"/>
<property ID="0x2D" name="Unknown 23" type="float"/>
<property ID="0x2E" name="Sound ID 3" type="long"/>
<property ID="0x2E" name="Sound ID 3" type="sound"/>
<struct ID="0x2F" name="DamageInfo 8" template="Structs/DamageInfo.xml"/>
</properties>
<states/>

View File

@ -24,9 +24,9 @@
<property ID="0x13" name="Unknown 15" type="float"/>
<struct ID="0x14" name="DamageInfo" template="Structs/DamageInfo.xml"/>
<property ID="0x15" name="Unknown 16" type="float"/>
<property ID="0x16" name="Unknown 17" type="long"/>
<property ID="0x17" name="Unknown 18" type="long"/>
<property ID="0x18" name="Unknown 19" type="long"/>
<property ID="0x16" name="Unknown 17" type="sound"/>
<property ID="0x17" name="Unknown 18" type="sound"/>
<property ID="0x18" name="Unknown 19" type="sound"/>
</properties>
<states/>
<messages/>

View File

@ -5,7 +5,7 @@
<property ID="0x00" name="Name" type="string"/>
<property ID="0x01" name="Position" type="vector3f"/>
<property ID="0x02" name="Rotation" type="vector3f"/>
<property ID="0x03" name="Sound ID" type="long"/>
<property ID="0x03" name="Sound ID" type="sound"/>
<property ID="0x04" name="Unknown 1" type="bool"/>
<property ID="0x05" name="Unknown 2" type="float"/>
<property ID="0x06" name="Unknown 3" type="float"/>

View File

@ -18,24 +18,24 @@
<property ID="0x0D" name="Unknown 8" type="bool"/>
<property ID="0x0E" name="WPSC 1" type="asset" extensions="WPSC"/>
<struct ID="0x0F" name="DamageInfo 1" template="Structs/DamageInfo.xml"/>
<property ID="0x10" name="Sound ID 1" type="long"/>
<property ID="0x10" name="Sound ID 1" type="sound"/>
<struct ID="0x11" name="DamageInfo 2" template="Structs/DamageInfo.xml"/>
<property ID="0x12" name="Unknown 9" type="float"/>
<property ID="0x13" name="WPSC 2" type="asset" extensions="WPSC"/>
<struct ID="0x14" name="DamageInfo 3" template="Structs/DamageInfo.xml"/>
<property ID="0x15" name="Unknown 10" type="float"/>
<property ID="0x16" name="Sound ID 2" type="long"/>
<property ID="0x16" name="Sound ID 2" type="sound"/>
<property ID="0x17" name="Unknown 11" type="float"/>
<property ID="0x18" name="Unknown 12" type="float"/>
<property ID="0x19" name="Sound ID 3" type="long"/>
<property ID="0x19" name="Sound ID 3" type="sound"/>
<property ID="0x1A" name="Unknown 13" type="float"/>
<property ID="0x1B" name="Unknown 14" type="long"/>
<property ID="0x1C" name="Unknown 15" type="float"/>
<property ID="0x1D" name="Unknown 16" type="float"/>
<property ID="0x1E" name="Unknown 17" type="float"/>
<property ID="0x1F" name="Unknown 18" type="float"/>
<property ID="0x20" name="Sound ID 4" type="long"/>
<property ID="0x21" name="Sound ID 5" type="long"/>
<property ID="0x20" name="Sound ID 4" type="sound"/>
<property ID="0x21" name="Sound ID 5" type="sound"/>
<property ID="0x22" name="Unknown 19" type="float"/>
<property ID="0x23" name="Unknown 20" type="float"/>
</properties>

View File

@ -55,9 +55,9 @@
<enum ID="0x09" name="Item" template="Enums/Item.xml"/>
<property ID="0x0A" name="Active" type="bool"/>
<property ID="0x0B" name="Unknown 5" type="float"/>
<property ID="0x0C" name="Used by SpinnerController 1" type="long"/>
<property ID="0x0D" name="Used by SpinnerController 2" type="long"/>
<property ID="0x0E" name="Used by SpinnerController 3" type="long"/>
<property ID="0x0C" name="Used by SpinnerController 1" type="sound"/>
<property ID="0x0D" name="Used by SpinnerController 2" type="sound"/>
<property ID="0x0E" name="Used by SpinnerController 3" type="sound"/>
</properties>
<states/>
<messages/>

View File

@ -23,7 +23,7 @@
<property ID="0x12" name="Phazon Weak Point 4 Model" type="asset" extensions="CMDL"/>
<property ID="0x13" name="Phazon Weak Point 5 Model" type="asset" extensions="CMDL"/>
<property ID="0x14" name="Phazon Weak Point 6 Model" type="asset" extensions="CMDL"/>
<property ID="0x15" name="Phazon Weak Point 7 Mdoel" type="asset" extensions="CMDL"/>
<property ID="0x15" name="Phazon Weak Point 7 Model" type="asset" extensions="CMDL"/>
<property ID="0x16" name="Particle 1" type="asset" extensions="PART"/>
<property ID="0x17" name="Particle 2" type="asset" extensions="PART"/>
<property ID="0x18" name="Particle 3" type="asset" extensions="PART"/>
@ -41,11 +41,11 @@
<property ID="0x24" name="Rock Weak Point Health" type="float"/>
<property ID="0x25" name="Ice Spikes Speed" type="float"/>
<property ID="0x26" name="Texture" type="asset" extensions="TXTR"/>
<property ID="0x27" name="Unknown 9" type="long"/>
<property ID="0x27" name="Unknown 9" type="sound"/>
<property ID="0x28" name="Particle 10" type="asset" extensions="PART"/>
<property ID="0x29" name="Unknown 10" type="long"/>
<property ID="0x2A" name="Unknown 11" type="long"/>
<property ID="0x2B" name="Unknown 12" type="long"/>
<property ID="0x29" name="Unknown 10" type="sound"/>
<property ID="0x2A" name="Unknown 11" type="sound"/>
<property ID="0x2B" name="Unknown 12" type="sound"/>
</properties>
<states/>
<messages/>

View File

@ -11,7 +11,7 @@
<property ID="0x06" name="Unknown 3" type="float"/>
<property ID="0x07" name="Unknown 4" type="float"/>
<property ID="0x08" name="Unknown 5" type="color"/>
<property ID="0x09" name="Sound" type="long"/>
<property ID="0x09" name="Sound" type="sound"/>
<property ID="0x0A" name="Unknown 7" type="bool"/>
</properties>
<states/>

View File

@ -39,8 +39,8 @@
<property ID="0x22" name="Unknown 22" type="float"/>
<struct ID="0x23" name="HealthInfo" template="Structs/HealthInfo.xml"/>
<struct ID="0x24" name="DamageVulnerability" template="Structs/DamageVulnerability.xml"/>
<property ID="0x25" name="Sound? 1" type="long"/>
<property ID="0x26" name="Sound? 2" type="long"/>
<property ID="0x25" name="Sound 1" type="sound"/>
<property ID="0x26" name="Sound 2" type="sound"/>
</properties>
<states/>
<messages/>

View File

@ -14,7 +14,7 @@
<property ID="0x09" name="WPSC" type="asset" extensions="WPSC"/>
<struct ID="0x0A" name="DamageInfo 2" template="Structs/DamageInfo.xml"/>
<property ID="0x0B" name="Particle" type="asset" extensions="PART"/>
<property ID="0x0C" name="Unknown 3" type="long"/>
<property ID="0x0C" name="Unknown 3" type="sound"/>
</properties>
<states/>
<messages/>

View File

@ -50,11 +50,11 @@
<property ID="0x23" name="Particle 3" type="asset" extensions="PART"/>
<property ID="0x24" name="Particle 4" type="asset" extensions="PART"/>
<property ID="0x25" name="Particle 5" type="asset" extensions="PART"/>
<property ID="0x26" name="Sound? 1" type="long"/>
<property ID="0x27" name="Sound? 2" type="long"/>
<property ID="0x28" name="Sound? 3" type="long"/>
<property ID="0x29" name="Sound? 4" type="long"/>
<property ID="0x2A" name="Sound? 5" type="long"/>
<property ID="0x26" name="Sound 1" type="sound"/>
<property ID="0x27" name="Sound 2" type="sound"/>
<property ID="0x28" name="Sound 3" type="sound"/>
<property ID="0x29" name="Sound 4" type="sound"/>
<property ID="0x2A" name="Sound 5" type="sound"/>
<property ID="0x2B" name="Unknown 40" type="float"/>
<property ID="0x2C" name="Unknown 41" type="long"/>
<property ID="0x2D" name="Unknown 42" type="float"/>

View File

@ -13,7 +13,7 @@
<property ID="0x08" name="Elevator Background Model" type="asset" extensions="CMDL"/>
<property ID="0x09" name="Elevator Background Scale" type="vector3f"/>
<property ID="0x0A" name="Upward Elevator" type="bool"/>
<property ID="0x0B" name="Sound ID" type="long"/>
<property ID="0x0B" name="Elevator Sound" type="sound"/>
<property ID="0x0C" name="Sound Volume" type="long"/>
<property ID="0x0D" name="Unknown (Sound-Related)" type="long"/>
<property ID="0x0E" name="Show Text Instead Of Cutscene" type="bool"/>

View File

@ -25,7 +25,7 @@
<property ID="0x15" name="Unknown 5" type="float"/>
<property ID="0x16" name="Unknown 6" type="float"/>
<property ID="0x17" name="Unknown 7" type="float"/>
<property ID="0x18" name="Sound ID 1" type="long"/>
<property ID="0x18" name="Death Sound" type="sound"/>
<property ID="0x19" name="AnimationParameters" type="character"/>
<property ID="0x1A" name="Active" type="bool"/>
<property ID="0x1B" name="State Machine" type="asset" extensions="AFSM"/>
@ -38,6 +38,6 @@
<property ID="0x22" name="Unknown 13" type="long"/>
<property ID="0x23" name="Unknown 14" type="vector3f"/>
<property ID="0x24" name="Particle 2" type="asset" extensions="PART"/>
<property ID="0x25" name="Sound ID 2" type="long"/>
<property ID="0x25" name="Ice Shatter Sound" type="sound"/>
</properties>
</struct>

View File

@ -22,7 +22,7 @@
<struct ID="0x12" name="DamageInfo 1" template="Structs/DamageInfo.xml"/>
<struct ID="0x13" name="PrimeStruct5" type="multi">
<properties>
<property ID="0x00" name="Unknown 14" type="asset" extensions="Unkn"/>
<property ID="0x00" name="Unknown 14" type="asset" extensions="TXTR"/>
<property ID="0x01" name="Unknown 15" type="long"/>
<property ID="0x02" name="Unknown 16" type="asset" extensions="ELSC"/>
<property ID="0x03" name="Unknown 17" type="asset" extensions="PART"/>