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.
* Fixed wrong context being reported (spamming murmur with wrong values)
when game version changes - now we rely on a pointer (confirmed to be
working)
* Restored a copyright line that I shouldn't have removed - sorry thorvald
:)
* Removed identity support since it's too much drama
* Added arrays of bytes to find when a new build of the game comes out
* Fixed plugin not unlinking in some cases
* Fixed plugin not linking in game menus
* Moved some static addresses outside functions for clarity Removed top vectors retrieval which can be problematic and aren't used at all in this game
* Fixed context support
- made the code simplier, less nested in fetch().
- strings are now ensured to be zero-terminated
- replaced calcout() call from trylock() with fetch call that can actually
fail.
- Disabled identity support since it still needs some work.
- Ensure zero termination of string from target process.
- Minimal style issues
- Re-added removed copyright line (IANAL but I don't think these are easily removed. Even with most of the source changed. So better be safe then sorry).
added avatar top vector support
added helpful arrays of bytes in case someone wants to update this plugin faster than me - if necessary, I can record a video-tutorial for this
changed the way trylock function is executed since we don't need all these checks (and important ones are checked in refreshPointers() function anyway)