EvilEngine/SGRP: Difference between revisions
Content added Content deleted
No edit summary |
EnergyDrink (talk | contribs) mNo edit summary |
||
(11 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<onlyinclude> |
|||
{{AssetInfobox |
|||
{{#vardefine:typeid|SGRP}}<nowiki/> |
|||
|subtitle=Sound Group |
|||
{{#vardefine:name|Sound Group}}<nowiki/> |
|||
|type=[[Base]] |
|||
{{#vardefine:type|[[Base]]}}<nowiki/> |
|||
|objectid=0x4A |
|||
{{#vardefine:basetype|0x4A}}<nowiki/> |
|||
|games=The SpongeBob SquarePants Movie<br>The Incredibles<br>Rise of the Underminer}} |
|||
{{#vardefine:games|TSSM Incredibles ROTU RatProto}}<nowiki/> |
|||
{{#vardefine:sourcecode|}}<nowiki/> |
|||
{{#vardefine:image|}}<nowiki/> |
|||
</onlyinclude> |
|||
{{AutoAssetInfobox}} |
|||
==Format== |
==Format== |
||
SGRP are [[Base|base assets]], so they start with their 0x8 byte header, then are followed by: |
SGRP are [[Base|base assets]], so they start with their 0x8 byte header, then are followed by: |
||
<source lang=cpp> |
|||
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; |
|||
}; |
|||
</source> |
|||
===xSndGroupHeader=== |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Type !! Variable !! Description |
! Offset !! Type !! Variable !! Description |
||
|- |
|- |
||
| 0x8 || |
| 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 |
|||
⚫ | |||
|- |
|||
⚫ | |||
|- |
|- |
||
! colspan="4" | Events |
! colspan="4" | Events |
||
Line 40: | 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 || |
| 0x8 || float || '''fMinPitchMult''' || usually 0 |
||
|- |
|- |
||
| 0xC || |
| 0xC || float || '''fMaxPitchMult''' || usually 0 |
||
|} |
|} |
||
{{Assets}} |
{{Assets}} |
||
{{AutoGameNavs}} |
|||
[[Category:Asset]] |
[[Category:Asset]] |
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 |