GoodEngine/Assets
Classes of Assets
Base assets
Base assets start with a 0x10 byte header, defined by the xBaseAsset
struct:
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | long | id | |
0x08 | uint | baseType | |
0x0C | short | linkCount | Leftover from EvilEngine, unused in GoodEngine. |
0x0E | short | baseFlags |
Entity assets
Entity assets (also referred to as placeable assets) are base assets which have a 3D placement in the world. They start with a 0xF8 byte header, which is defined by the xEntAsset
struct (which extends from xBaseAsset
):
Offset | Type | Variable | Description |
---|---|---|---|
0x10 | byte | flags | |
0x11 | byte | subtype | |
0x12 | byte | pad | |
0x13 | byte | Targettable | |
0x14 | byte | Pad0 | |
0x15 | ? | moreFlags | |
0x18 | AssetID | surfaceID | |
0x20 | Vector3 | Orientation | |
0x2C | Vector3 | Pos | |
0x38 | Vector3 | Scale | |
0x50 | modelInstance | ||
0x90 | AssetID | animListID | |
0x98 | PhysicsDataStruct | ||
0x98 | float | mass | |
0x9C | float | friction | |
0xA0 | float | elasticity | |
0xA4 | float | linearDamping | |
0xA8 | float | angularDamping | |
0xAC | float | settleTimer | |
0xB0 | byte | magnetic_Charge | |
0xB1 | byte | pad1 | |
0xB2 | byte | pad2 | |
0xB3 | byte | pad3 | |
0xB4 | SoundSourcesPhysics | ||
0xB4 | SoundBankSource | SoundHit | |
0xC0 | SoundBankSource | SoundScrape | |
0xCC | SoundBankSource | SoundRoll | |
0xD8 | PhysicsData | ||
0xD8 | float | MinVelocity | |
0xDC | float | MaxVelocity | |
0xE0 | float | MinRun | |
0xE4 | float | MaxRun | |
0xE8 | float | MaxRise | |
0xEC | uint | Pad1 | |
0xF0 | uint | Pad2 | |
0xF4 | uint | Pad3 |
SoundBankSource
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | byte | streamed | |
0x01 | byte | pad1 | 0x33 |
0x02 | byte | pad2 | 0x33 |
0x03 | byte | pad3 | 0x33 |
0x04 | int | sourceString | |
0x08 | int | indices |
ModelInstanceAsset
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | AssetID | modelPrototypeID | |
0x08 | AssetID | lightKitID | |
0x10 | uint | instanceParamCount | |
0x14 | uint | renderCustomizerCount | |
0x18 | uint | instanceParams | |
0x1C | uint | renderCustomizers | |
0x20 | short | shadowType | |
0x22 | short | shadowFlags | |
0x24 | float | shadowColorOverride | |
0x28 | float | shadowMaxDepthOverride | |
0x2C | float | shadowStartDepthOverride | |
0x30 | float | shadowMinBlurOverride | |
0x34 | float | shadowMaxBlurOverride | |
0x38 | AssetID | parentID |
List of asset types
The following is a list of all asset types found across all 7 games as well as which asset types are present in each game, signified by a checkmark (✔).
Asset | Type | Asset TypeID | Ratatouille | Wall-E | Up | ToS | UFC | FGUY | Hollywood | Notes |
---|---|---|---|---|---|---|---|---|---|---|
|
Base | 0xC72962FC | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |