Skip to content

Fixed incorrect static track types

Summary

Corrected the names of some of the static tracks types:

Value Old name New name
0 Unknown SoundFileName
1 SoundFilename SoundDistanceMin
2 SoundDistanceMin SoundDistanceMax
3 SoundDistanceMax SoundLoop
4 SoundLoop SoundVolume
5 SoundVolume FXVersion
6 FXVersion Offset

Note

Couldn't very values 5 and 7. Renamed SoundVolume to FXVersion as it's probably that value, but should be investigated further in the future. Left SoundVolume_Dup_1 as is, couldn't verify if that's correct or not, but should probably also be investigated further in the future.

Explanation

When exporting the fxb files to xml format, the same static tracks are always present under the root node in the same sequence.

If the old values were used, the following static tracks would be generated in the xml:

image

With the new values, we would get exactly the same as the xml generated by the dll that loads the effects:

image

The "Unknown" static track actually contains xml names, as indicated by the name (see example in Testing). It also makes a lot more sense that SoundDistanceMin is smaller than SoundDistanceMax and not the other way around.

For offset, the same logic applies; the same static tracks seem to always appear for PhysicObject elements, where the second last is Offset, which matches static track type 6 (and thus isn't FXVersion).

From the exported xml:

image

With the new name in the editor:

image

From effect: effect_bone_cannon_std_cast.fxb

Benefits

Correct names will make it easier for the designers to know what they are changing and how it will affect the end result. If export to/import from xml is be implemented in the future, the fields need to be correct.

Testing

Open effect_building_stonekin_hammerfall_aura.fxb and select the top node (SpecialEffect). Check the static tracks.

Before the change, they looked like this: image image

after the change, they look like this: image image

The SoundLoop static track should still display the same dropdown, though it is now assigned to another value in the enum.

Merge request reports