EvilEngine/SGRP: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
mNo edit summary
mNo edit summary
 
(One intermediate revision by one other user not shown)
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''' || amount of sound entries
| 0xC || uint8 || '''uInfoCount''' || Amount of sound entries
|-
|-
| 0xD || uint8 || '''uSetBits''' || usually 0x00
| 0xD || uint8 || '''uSetBits''' || usually 0x00
Line 52: Line 53:
| 0x13 || uint8 || '''uInfoPad0''' || usually 0x42
| 0x13 || uint8 || '''uInfoPad0''' || usually 0x42
|-
|-
| 0x14 || float32 || '''InnerRadius''' || usually 8.0
| 0x14 || float32 || '''fInnerRadius''' || usually 8.0
|-
|-
| 0x18 || float32 || '''OuterRadius''' || usually 25.0
| 0x18 || float32 || '''fOuterRadius''' || usually 25.0
|-
|-
| 0x1C || int8* || '''pszGroupName''' || Unknown AssetID
| 0x1C || int8* || '''pszGroupName''' || Unknown AssetID
|-
|-
| 0x20 || SoundEntry[amountOfSounds] || || Sound reference entries
| 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 || [[Asset ID]] || '''soundAssetID''' || [[Sound Format|SND/SNDS]]
| 0x0 || [[AssetID]] || '''uSoundNameHash''' || [[Sound Format|SND/SNDS]]
|-
|-
| 0x4 || float || '''Volume''' || usually between 0-1
| 0x4 || float || '''fVolume''' || usually between 0-1
|-
|-
| 0x8 || float || '''minPitchMult''' || usually 0
| 0x8 || float || '''fMinPitchMult''' || usually 0
|-
|-
| 0xC || float || '''maxPitchMult''' || usually 0
| 0xC || float || '''fMaxPitchMult''' || usually 0
|}
|}



Latest revision as of 06:03, 4 November 2022

SGRP
Sound Group
TypeBase
Base Type0x4A
Games usedThe SpongeBob SquarePants Movie

The Incredibles
Rise of the Underminer

Ratatouille Prototype

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