EvilEngine/SGRP: Difference between revisions

m
no edit summary
No edit summary
mNo edit summary
 
(7 intermediate revisions by 4 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
|-
| 0xD0xC || byteuint8 || '''uInfoCount''' || usuallyAmount 0x00of sound entries
|-
| 0xE0xD || byteuint8 || '''uSetBits''' || usually 0x300x00
|-
| 0xF0xE || byteint8 || '''uMaxPlays''' || usually 0x800x30
|-
| 0x100xF || byteuint8 || '''uPriority''' || usually 0x000x80
|-
| 0x110x10 || byteuint8 || '''uFlags''' || usually 0x00. 01 - PlayGlobally
|-
| 0x120x11 || byteuint8 || '''eSoundCategory''' || usually 0x00. 01 - Choose Random EntryPlayGlobally
|-
| 0x130x12 || byteuint8 || '''ePlayRule''' || usually 0x420x00
|-
| 0x140x13 || floatuint8 || '''InnerRadiusuInfoPad0''' || usually 8.00x42
|-
| 0x180x14 || floatfloat32 || '''OuterRadiusfInnerRadius''' || usually 258.0
|-
| 0x1C0x18 || charfloat32 || '''pszGroupNamefOuterRadius''' || usually 25.0
|-
| 0x1C || int8* || '''pszGroupName''' || Unknown AssetID
| 0x20 || SoundEntry[amountOfSounds] || || Sound reference entries
|-
| 0x20 || SoundEntryxSndGroupInfo[amountOfSoundsuInfoCount] || || Sound reference entries
|-
! colspan="4" | Events
Line 40 ⟶ 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