If a wind object is *not* animated but rather moved via logic nodes (eg
a Python script), then the previous logic wouldn't allow for the in-game
wind direction to change. It's important to check if the wind object has
a coordinate interface (can it move?) instead of if it's animated (did
the artist move it?).
This fixes#334 by sorting everything before writing it out to the
localization file. Note that we need to sort each step along the way
because the nested dicts are not sorted by a call to `sorted()` - it
appears to only sort the key.
There were logic problems around exporting references to objects that
exist only in disabled pages (or default pages that are disabled because
no enabled objects are exported into the default page).
Adds the "Local Only/kIsLocalOnly" property to sound emitters. Dependent on the kPropIsLocalOnly attribute, which still needs to be added to libHSPlasma.
Exports a collider that should hopefully block only dynamic objects (kickables). Also, some formatting adjustments to the properties script to match others (this can be undone if wanted)
I don't really remember why we initially used WiX. Possibly to silently
update any existing Blender installs? Anyway, the problem is that the
VCRuntime MergeModules are deprecated, and GHA has pretty much removed
them. So, we need to use NSIS to be able to trivially run the
vc.redist.exe installer. It runs an MSI, and WiX produces MSIs, so to
keep using WiX, we'd need to write an installer-coordinator. Forget
about it. Just use NSIS.
Don't install any copies of Korman that might be lurking inside the
Blender directory. This can easily result in interesting race conditions
where we can't predict what exactly will be installed. Worse, if the
korman installed to Blender is a Windows directory junction, then CPack
will fail with an inscrutable error.