Update the WoW plugin again, clean up some of the old code that's not
necessary, and add solution by @hacst to append realm name to identity
so it's actually useful now.
Update WoW plugin, including switching to 128-bit GUIDs, which I've
naively done with a structure containing two 64-bit integers instead.
There's probably a nicer way to do this.
Due to Qt change f9a8cf99bc0, qmake will forcefully
add the bundle prefix set in Xcode to any .qmake.cache
file it encounters. This causes unnecessary noise in
Git, and extra work for developers.
Full change URL:
f9a8cf99bc
To avoid having qmake change the manual plugin's
.qmake.cache file behind our backs, we simply
add a pre-set QMAKE_TARGET_BUNDLE_PREFIX to the
.qmake.cache file. The manual plugin is not a
bundle, so the bundle prefix is not applied.
This skips the querying-and-caching step for the
bundle identifier -- because now, one is already
set.
* Update the gmod PA plugin with current memory addresses
** The state byte could not be found and thus is commented out for now.
This will result in spectators/dead people also hearing PA.
The state was not added to the context (for team context).
* Swap incorrect use of v and h variables; it’s the other way around
* Remove unused variable
Add all previous magic values we've used since at least 1.2.0.
(Though I think the MUMBLE_PLUGIN_MAGIC value for MSVS2008 x86
goes back even further!)
This also adds a new magic value for the MSVS2013 x64 ABI, and
a generic default for "unsupported" ABIs.
Unsupported in this context means platforms/ABIs that we aren't
distributing plugins for via the auto-update mechanism. Those
platforms typically only have a single plugin, which is the
"link" plugin distributed with Mumble itself.
I'm also tentatively throwing away the process of going through NameStore
looking for our characer name - all the posters on OwnedCore are doing it through
a simple pointer. I'm guessing this plugin doesn't do it that way because there was
no static pointer when it was written, but for now this seems to work.
(Also, no one has posted the updated offset for NameStorePtr yet)
Mumble 1.3.0 on Windows will be built with MSVS 2013. That means
that old plugins will no longer load into it (Mumble will crash
if we try), because of C++ ABI differences between MSVS 2010
and MSVS 2013.
To combat this, we switch our plugin magics such that no ABI
mismatches can happen: Old clients will refuse to load new plugins,
and new clients will refuse to load old plugins.
We have a precedent for doing this. See dac82c99 (MSVS 2010 switch-over).
With this change, CONFIG(static) on Windows will cause the Mumble client's
application logic to be built into a .DLL called mumble_app.dll
(based on pcgod's previous DLL changeset).
Since src/mumble will now be built as a DLL, a wrapper executable is available
in src/mumble_exe. This wrapper is currently implemented such that it will
load mumble_app.dll from the directory that it resides in.
This means that when building statically, src/mumble and src/mumble_exe will
now give us the following products:
src/mumble: mumble_app.dll
src/mumble_exe: mumble.exe
Along with the two major points above, this change also adds a Python script
to the build, 'gen-mumble_app-qt-def.py', whose job is to construct a module
definition (.def) file for mumble_app.dll. The generated module definition
lists the Qt symbols that are needed for the manual positioning plugin to work.
If we need to expose more symbols in the future (say we want to implement
more plugin kinds than the current positional audio plugins), we now have
the infrastructure in place to do that.
Updated the L4D2 Offsets. Most of them were just small shifts in
memory.
The state offset no longer appears to work however so I simply
changed it so state is derived from the hostname (which is an empty
string in menus). This may lead to a brief period during loading where
the hostname is set but the positions aren't yet, but it should only be
momentary.
* Append underline to header guard defines to match the others (except ui_)
* Add guard to header files GlobalShortcut
* Adjust mklic.pl script to add guard to licenses.h,
and add updated licenses.h.
* NULL plugins have a shortname of L"Retracted" which excludes them
from being listed as a plugin in Mumble >= 1.2.4
* NULL plugins are valid plugins that always return false on trylock
so Mumble <= 1.2.3 gets behavior close to what recent Mumble has.
* NULL css, dods, tf2 and hl2dm plugins as they have been replaced by link support in the source engine.