Skip to content

[All] Creature attack sounds from 2DA files should not overlap attack sounds stored in CRE files

skellytzskellytz Member Posts: 7
edited March 2016 in BG:EE Bugs (v1.3)
This is another report stemming from an extensive research I've done on soundsets. If you would like to read about it, go to: http://www.shsforums.net/topic/58583-issues-with-bg1-monster-animation-attack-sounds-bg2-bgt/

This report applies to BGEE and BG2EE.

There are a few ways to enable creature attack sounds in BGEE and BG2EE. The two most important ones are 2DA files and CRE files.

Take a look at the attached picture. This is a representation of what the soundset looks like stored in a creature (*.CRE) file.

image

Now look at this picture. This is another method for storing soundsets: a 2DA file linked to the creature animation code.

image

Both examples of soundsets above are used for BG1 regular wolves, "WOLF.CRE"; however, they have different entries.

You may have noticed that the 2DA file says "dire wolf" as if the soundset belonged to the Dire variant of wolves. This is not my mistake. It is the result of another bug which I described here: https://forums.beamdog.com/discussion/48866/all-creatures-should-use-unique-2da-soundset-codes

The game executable prioritizes the CRE soundset. If a creature has sounds assigned to the respective slots in both 2DA and CRE files, the CRE soundset takes priority for sound effect playback.

For example, "WOLF.CRE" has battle cry sound references in both files: there are "WOLFF03.WAV" and "WOLFF04.WAV" enabled in the CRE file, and "DWOLF03.WAV" and "DWOLF04.WAV" in the 2DA file. In such scenario, the executable will only allow for the in-CRE sounds to be played back when the wolf engages it's target.

There is, however, an exception to the above: attack sounds. Whenever a creature makes an attack, the game executable takes entries stored in both 2DA and CRE files into account, with the possibility of playing back both attack sounds at the same time.

Consider "WOLF.CRE" again as an example:

Proof
1. Start a new game with the Abdel pregenerated character.
2. Summon a "WOLF.CRE" with a CLUAConsole:CreateCreature("wolf").
3. Let the wolf attack you.

Observed
Whenever the wolf attacks, the player hears "WOLFF05.WAV" with a small pitch variance (from the CRE soundset). Every once in a while, the player hears "DWOLF05.WAV" overlapping "WOLFF05.WAV" (33% chance because of two additional "nosound" entries in the "ATTACK" pool of the 2DA soundset).

This is because the game executable does not disable the attack sounds referenced in the 2DA file while attack sound entries are present in the CRE file.

Expected
If there are attack sound entries present in the CRE file, the attack sounds from the 2DA file linked to the affected creature's animation code should not be simultaneously played back and overlap the former.

The soundset stored in the CRE file should take priority in all cases to allow for individual creature customization.
Post edited by skellytz on
Sign In or Register to comment.