EvilEngine/SGRP: Difference between revisions
Content added Content deleted
No edit summary |
EnergyDrink (talk | contribs) mNo edit summary |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 4: | Line 4: | ||
{{#vardefine:type|[[Base]]}}<nowiki/> |
{{#vardefine:type|[[Base]]}}<nowiki/> |
||
{{#vardefine:basetype|0x4A}}<nowiki/> |
{{#vardefine:basetype|0x4A}}<nowiki/> |
||
{{#vardefine:games|TSSM Incredibles ROTU}}<nowiki/> |
{{#vardefine:games|TSSM Incredibles ROTU RatProto}}<nowiki/> |
||
{{#vardefine:sourcecode|}}<nowiki/> |
{{#vardefine:sourcecode|}}<nowiki/> |
||
{{#vardefine:image|}}<nowiki/> |
{{#vardefine:image|}}<nowiki/> |
||
Line 31: | Line 31: | ||
</source> |
</source> |
||
===xSndGroupHeader=== |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Type !! Variable !! Description |
! Offset !! Type !! Variable !! Description |
||
Line 36: | Line 37: | ||
| 0x8 || uint32 || '''uPlayedMask''' || Always 0 |
| 0x8 || uint32 || '''uPlayedMask''' || Always 0 |
||
|- |
|- |
||
| 0xC || uint8 || '''uInfoCount''' || |
| 0xC || uint8 || '''uInfoCount''' || Amount of sound entries |
||
|- |
|- |
||
| 0xD || uint8 || '''uSetBits''' || usually |
| 0xD || uint8 || '''uSetBits''' || usually 0x00 |
||
|- |
|- |
||
| 0xE || int8 || '''uMaxPlays''' || usually |
| 0xE || int8 || '''uMaxPlays''' || usually 0x30 |
||
|- |
|- |
||
| 0xF || uint8 || '''uPriority''' || usually |
| 0xF || uint8 || '''uPriority''' || usually 0x80 |
||
|- |
|- |
||
| 0x10 || uint8 || '''uFlags''' || usually 0x00 |
| 0x10 || uint8 || '''uFlags''' || usually 0x00 |
||
|- |
|- |
||
| 0x11 || uint8 || '''eSoundCategory''' || |
| 0x11 || uint8 || '''eSoundCategory''' || 01 - PlayGlobally |
||
|- |
|- |
||
| 0x12 || uint8 || '''ePlayRule''' || usually |
| 0x12 || uint8 || '''ePlayRule''' || usually 0x00 |
||
|- |
|- |
||
| 0x13 || uint8 || '''uInfoPad0''' || usually |
| 0x13 || uint8 || '''uInfoPad0''' || usually 0x42 |
||
|- |
|- |
||
| 0x14 || float32 || ''' |
| 0x14 || float32 || '''fInnerRadius''' || usually 8.0 |
||
|- |
|- |
||
| 0x18 || float32 || ''' |
| 0x18 || float32 || '''fOuterRadius''' || usually 25.0 |
||
|- |
|- |
||
| 0x1C || int8* || '''pszGroupName''' || |
| 0x1C || int8* || '''pszGroupName''' || Unknown AssetID |
||
|- |
|- |
||
| 0x20 || |
| 0x20 || xSndGroupInfo[uInfoCount] || || Sound reference entries |
||
|- |
|- |
||
! colspan="4" | Events |
! colspan="4" | Events |
||
Line 65: | Line 66: | ||
|} |
|} |
||
===Sound Entry=== |
|||
===xSndGroupInfo=== |
|||
<source lang=cpp> |
|||
struct xSndGroupInfo |
|||
{ |
|||
uint32 uSoundNameHash; |
|||
float32 fVolume; |
|||
float32 fMinPitchMult; |
|||
float32 fMaxPitchMult; |
|||
}; |
|||
</source> |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Type !! Variable !! Description |
! Offset !! Type !! Variable !! Description |
||
|- |
|- |
||
| 0x0 || [[ |
| 0x0 || [[AssetID]] || '''uSoundNameHash''' || [[Sound Format|SND/SNDS]] |
||
|- |
|- |
||
| 0x4 || float || ''' |
| 0x4 || float || '''fVolume''' || usually between 0-1 |
||
|- |
|- |
||
| 0x8 || float || ''' |
| 0x8 || float || '''fMinPitchMult''' || usually 0 |
||
|- |
|- |
||
| 0xC || float || ''' |
| 0xC || float || '''fMaxPitchMult''' || usually 0 |
||
|} |
|} |
||
Latest revision as of 06:03, 4 November 2022
SGRP | |
---|---|
Sound Group | |
Type | Base |
Base Type | 0x4A |
Games used | The SpongeBob SquarePants Movie The Incredibles |
Format
SGRP are base assets, so they start with their 0x8 byte header, then are followed by:
struct xSndGroupHeader : xBaseAsset
{
uint32 uPlayedMask;
uint8 uInfoCount;
uint8 uSetBits;
int8 nMaxPlays;
uint8 uPriority;
uint8 uFlags;
uint8 eSoundCategory;
uint8 ePlayRule;
uint8 uInfoPad0;
float32 fInnerRadius;
float32 fOuterRadius;
int8* pszGroupName;
};
xSndGroupHeader
Offset | Type | Variable | Description |
---|---|---|---|
0x8 | uint32 | uPlayedMask | Always 0 |
0xC | uint8 | uInfoCount | Amount of sound entries |
0xD | uint8 | uSetBits | usually 0x00 |
0xE | int8 | uMaxPlays | usually 0x30 |
0xF | uint8 | uPriority | usually 0x80 |
0x10 | uint8 | uFlags | usually 0x00 |
0x11 | uint8 | eSoundCategory | 01 - PlayGlobally |
0x12 | uint8 | ePlayRule | usually 0x00 |
0x13 | uint8 | uInfoPad0 | usually 0x42 |
0x14 | float32 | fInnerRadius | usually 8.0 |
0x18 | float32 | fOuterRadius | usually 25.0 |
0x1C | int8* | pszGroupName | Unknown AssetID |
0x20 | xSndGroupInfo[uInfoCount] | Sound reference entries | |
Events | |||
- | Event[numberOfEvents] | Events |
xSndGroupInfo
struct xSndGroupInfo
{
uint32 uSoundNameHash;
float32 fVolume;
float32 fMinPitchMult;
float32 fMaxPitchMult;
};
Offset | Type | Variable | Description |
---|---|---|---|
0x0 | AssetID | uSoundNameHash | SND/SNDS |
0x4 | float | fVolume | usually between 0-1 |
0x8 | float | fMinPitchMult | usually 0 |
0xC | float | fMaxPitchMult | usually 0 |