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:
With the new values, we would get exactly the same as the xml generated by the dll that loads the effects:
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:
With the new name in the editor:
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:
after the change, they look like this:
The SoundLoop static track should still display the same dropdown, though it is now assigned to another value in the enum.