EvilEngine/SGRP: Difference between revisions

m
no edit summary
No edit summary
mNo edit summary
 
(6 intermediate revisions by 3 users not shown)
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==
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"
! Offset !! Type !! Variable !! Description
|-
| 0x8 || intuint32 || '''uPlayedMask''' || Always 0
|-
| 0xC || byteuint8 || '''uInfoCount''' || usuallyAmount 0x00of sound entries
|-
| 0xD || byteuint8 || '''uSetBits''' || usually 0x300x00
|-
| 0xE || byteint8 || '''uMaxPlays''' || usually 0x800x30
|-
| 0xF || byteuint8 || '''uPriority''' || usually 0x000x80
|-
| 0x10 || byteuint8 || '''uFlags''' || usually 0x00. 01 - PlayGlobally
|-
| 0x11 || byteuint8 || '''eSoundCategory''' || usually 0x00. 01 - Choose Random EntryPlayGlobally
|-
| 0x12 || byteuint8 || '''ePlayRule''' || usually 0x420x00
|-
| 0x13 || byteuint8 || '''uInfoPad0''' || usually 0x000x42
|-
| 0x14 || floatfloat32 || '''InnerRadiusfInnerRadius''' || usually 8.0
|-
| 0x18 || floatfloat32 || '''OuterRadiusfOuterRadius''' || usually 25.0
|-
| 0x1C || charint8* || '''pszGroupName''' || usuallyUnknown 0AssetID
|-
| 0x20 || SoundEntryxSndGroupInfo[amountOfSoundsuInfoCount] || || Sound reference entries
|-
! colspan="4" | Events
Line 42 ⟶ 66:
|}
 
 
===Sound Entry===
===xSndGroupInfo===
<source lang=cpp>
struct xSndGroupInfo
{
uint32 uSoundNameHash;
float32 fVolume;
float32 fMinPitchMult;
float32 fMaxPitchMult;
};
</source>
 
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
| 0x0 || [[Asset IDAssetID]] || '''soundAssetIDuSoundNameHash''' || [[Sound Format|SND/SNDS]]
|-
| 0x4 || float || '''VolumefVolume''' || usually between 0-1
|-
| 0x8 || float || '''minPitchMultfMinPitchMult''' || usually 0
|-
| 0xC || float || '''maxPitchMultfMaxPitchMult''' || usually 0
|}
 
{{Assets}}
{{AutoGameNavs}}
 
[[Category:Asset]]
2,079

edits