Scriptable Asset: Difference between revisions
Aerosoul94 (talk | contribs) No edit summary |
Aerosoul94 (talk | contribs) No edit summary |
||
| Line 5: | Line 5: | ||
The scriptable asset is used in Ghost and Advanced Warfare. It appears to be a format used to hold some scripting information for models and the collision map. Since it is so new, there is virtually nothing known about it. | The scriptable asset is used in Ghost and Advanced Warfare. It appears to be a format used to hold some scripting information for models and the collision map. Since it is so new, there is virtually nothing known about it. | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
struct | struct unknownScriptableStruct1Internal1Internal1UnionStruct6 | ||
{ | { | ||
char * unknownString; | char * unknownString; | ||
| Line 11: | Line 11: | ||
}; | }; | ||
struct | struct unknownScriptableStruct1Internal1Internal1UnionStruct5 | ||
{ | { | ||
char unknown1[0x10]; | char unknown1[0x10]; | ||
| Line 18: | Line 18: | ||
}; | }; | ||
struct | struct unknownScriptableStruct1Internal1Internal1UnionStruct4 | ||
{ | { | ||
XModel * unknownModel; | XModel * unknownModel; | ||
| Line 24: | Line 24: | ||
}; | }; | ||
struct | struct unknownScriptableStruct1Internal1Internal1UnionStruct3 | ||
{ | { | ||
char * unknownString; | char * unknownString; | ||
| Line 30: | Line 30: | ||
}; | }; | ||
struct | struct unknownScriptableStruct1Internal1Internal1UnionStruct2 | ||
{ | { | ||
snd_alias_list_name unknownSound; | snd_alias_list_name unknownSound; | ||
| Line 36: | Line 36: | ||
}; | }; | ||
struct | struct unknownScriptableStruct1Internal1Internal1UnionStruct1 | ||
{ | { | ||
FxEffectDef * unknownFx; | FxEffectDef * unknownFx; | ||
| Line 43: | Line 43: | ||
}; | }; | ||
union | union unknownScriptableStruct1Internal1Internal1Union | ||
{ | { | ||
char (*unknown1)[6]; //If parent->type == 0xA | char (*unknown1)[6]; //If parent->type == 0xA | ||
XModel * unknownModel;//else if == 0 | XModel * unknownModel;//else if == 0 | ||
unknownScriptableStruct1Internal1Internal1UnionStruct1 * unknownStruct1; //else if == 1 | |||
unknownScriptableStruct1Internal1Internal1UnionStruct2 * unknownStruct2; //else if == 2 | |||
unknownScriptableStruct1Internal1Internal1UnionStruct3 * unknownStruct3; //else if == 3 | |||
char (*unknown2)[0xC]; //else if == 4 | char (*unknown2)[0xC]; //else if == 4 | ||
char (*unknown3)[8]; //else if == 5 | char (*unknown3)[8]; //else if == 5 | ||
unknownScriptableStruct1Internal1Internal1UnionStruct4 * unknownStruct4; //else if == 6 | |||
unknownScriptableStruct1Internal1Internal1UnionStruct5 * unknownStruct5; //else if == 7 | |||
char (*unknown4)[0x16]; //else if == 8 | char (*unknown4)[0x16]; //else if == 8 | ||
unknownScriptableStruct1Internal1Internal1UnionStruct6 * unknownStruct6; //else if == 9 | |||
}; | }; | ||
struct | struct unknownScriptableStruct1Internal1Internal1 | ||
{ | { | ||
int type; | int type; | ||
unknownScriptableStruct1Internal1Internal1Union unknownUnion; | |||
}; | }; | ||
struct | struct unknownScriptableStruct1Internal1 | ||
{ | { | ||
ScriptString unknownScriptString1; | ScriptString unknownScriptString1; | ||
ScriptString unknownScriptString2; | ScriptString unknownScriptString2; | ||
unknownScriptableStruct1Internal1Internal1 * unknownStructArray; //Count = unknownCount1; | |||
byte unknownCount1; | byte unknownCount1; | ||
char unknown[7]; | char unknown[7]; | ||
}; | }; | ||
struct | struct unknownScriptableStruct1 | ||
{ | { | ||
unknownScriptableStruct1Internal1 * unkownStructArray; //Count = unknownCount | |||
ScriptString unknownScriptString; | ScriptString unknownScriptString; | ||
unsigned short unknownCount; | unsigned short unknownCount; | ||
| Line 82: | Line 82: | ||
}; | }; | ||
struct | struct unknownScriptableStruct2Internal1 | ||
{ | { | ||
FxEffectDef * unknownFx; | FxEffectDef * unknownFx; | ||
| Line 88: | Line 88: | ||
}; | }; | ||
struct | struct unknownScriptableStruct2 | ||
{ | { | ||
ScriptString unknownScriptString; | ScriptString unknownScriptString; | ||
| Line 94: | Line 94: | ||
union { | union { | ||
snd_alias_list_name unknownSound; //if type == 0 | snd_alias_list_name unknownSound; //if type == 0 | ||
unknownScriptableSTruct2Internal1 unknownStruct; //else if == 1 | |||
}; | }; | ||
}; | }; | ||
struct | struct Scriptable | ||
{ | { | ||
const char * name; | const char * name; | ||
| Line 104: | Line 104: | ||
char * unknownString1; | char * unknownString1; | ||
char * unknownString2; | char * unknownString2; | ||
unknownScriptableStruct1 * unknownStructArray1; //count = unknownCount1 | |||
unknownScriptableStruct2 * unknownStructArray2; //count = unknownCount2 | |||
char unknown2[5]; | char unknown2[5]; | ||
byte unknownCount1; | byte unknownCount1; | ||
Revision as of 00:30, 13 November 2014
The scriptable asset is used in Ghost and Advanced Warfare. It appears to be a format used to hold some scripting information for models and the collision map. Since it is so new, there is virtually nothing known about it.
struct unknownScriptableStruct1Internal1Internal1UnionStruct6
{
char * unknownString;
char unknown[0x14];
};
struct unknownScriptableStruct1Internal1Internal1UnionStruct5
{
char unknown1[0x10];
char * unknownString;
char unknown2[4];
};
struct unknownScriptableStruct1Internal1Internal1UnionStruct4
{
XModel * unknownModel;
char unknown[8];
};
struct unknownScriptableStruct1Internal1Internal1UnionStruct3
{
char * unknownString;
char unknown[0x10];
};
struct unknownScriptableStruct1Internal1Internal1UnionStruct2
{
snd_alias_list_name unknownSound;
char unknown[4];
};
struct unknownScriptableStruct1Internal1Internal1UnionStruct1
{
FxEffectDef * unknownFx;
ScriptString unknownString;
char unknown[6];
};
union unknownScriptableStruct1Internal1Internal1Union
{
char (*unknown1)[6]; //If parent->type == 0xA
XModel * unknownModel;//else if == 0
unknownScriptableStruct1Internal1Internal1UnionStruct1 * unknownStruct1; //else if == 1
unknownScriptableStruct1Internal1Internal1UnionStruct2 * unknownStruct2; //else if == 2
unknownScriptableStruct1Internal1Internal1UnionStruct3 * unknownStruct3; //else if == 3
char (*unknown2)[0xC]; //else if == 4
char (*unknown3)[8]; //else if == 5
unknownScriptableStruct1Internal1Internal1UnionStruct4 * unknownStruct4; //else if == 6
unknownScriptableStruct1Internal1Internal1UnionStruct5 * unknownStruct5; //else if == 7
char (*unknown4)[0x16]; //else if == 8
unknownScriptableStruct1Internal1Internal1UnionStruct6 * unknownStruct6; //else if == 9
};
struct unknownScriptableStruct1Internal1Internal1
{
int type;
unknownScriptableStruct1Internal1Internal1Union unknownUnion;
};
struct unknownScriptableStruct1Internal1
{
ScriptString unknownScriptString1;
ScriptString unknownScriptString2;
unknownScriptableStruct1Internal1Internal1 * unknownStructArray; //Count = unknownCount1;
byte unknownCount1;
char unknown[7];
};
struct unknownScriptableStruct1
{
unknownScriptableStruct1Internal1 * unkownStructArray; //Count = unknownCount
ScriptString unknownScriptString;
unsigned short unknownCount;
int unknown;
};
struct unknownScriptableStruct2Internal1
{
FxEffectDef * unknownFx;
ScriptString unknownScriptString;
};
struct unknownScriptableStruct2
{
ScriptString unknownScriptString;
int type;
union {
snd_alias_list_name unknownSound; //if type == 0
unknownScriptableSTruct2Internal1 unknownStruct; //else if == 1
};
};
struct Scriptable
{
const char * name;
XModel * unknownModel1;
char * unknownString1;
char * unknownString2;
unknownScriptableStruct1 * unknownStructArray1; //count = unknownCount1
unknownScriptableStruct2 * unknownStructArray2; //count = unknownCount2
char unknown2[5];
byte unknownCount1;
char unknown1[2];
byte unknownCount2;
};