Some games have implemented CHudMenu::SelectMenuItem to close the menu
even if an invalid slot has been selected, which causes us a problem as
we'll never get any notification from the client and we'll keep the menu
alive on our end indefinitely. For these games, pretend that every slot
is valid for selection so we're guaranteed to get a menuselect command.
We don't want to do this for every game as the common SelectMenuItem
implementation ignores invalid selections and keeps the menu open, which
is a much nicer user experience.
Fixes#1385
* Add A2S_Rules fix for CS:GO to CStrike extension.
* Dont force set the cvar. Add checks before patching.
* Remove incorrect and useless check.
* Remove checking value as it is in the signature.
* Update build script changes to AMBuild 2.1 API to fix build.
* Fix bad check and ConVarRef being resolved too early.
* Whoops. This line is kinda important. Got nuked when refactoring.
* Remove unused variable.
* Updatet gamedata.
* Switch to "Addresses" gamedata lookup
* Add linux64 gamedata
* Fix mac build
Co-authored-by: Ruben Gonzalez <drifter01620@gmail.com>
Co-authored-by: Peace-Maker <peace-maker@wcfan.de>
* Add basic Insurgency support on Windows x64
This allows SourceMod to load on x64 Insurgency. There are still a lot of variable truncation warnings that have to be dealt with.
* Fix 32bit builds
* Compile MySQL extension as well
The hack for __iob_func being removed from the core runtime, but required by the old mysql we're building against can be simplified a lot due to the `_ReturnAddress` intrinsic available since MSVC 2015.
* Don't include the offset we want to extract in the signature
Added game color config & specific settings for L4D/L4D2
Created the following keys:
"Team1Color" "75,255,75,255"
"Team2Color" "255,75,75,255"
"Team3Color" "75,75,255,255"
"Team4Color" "255,128,0,255"
"TeamUnknownColor" "255,255,255,255"
Added a specific setting for L4D/L4D2 game:
"Team2Color" "75,75,255,255"
"Team3Color" "255,75,75,255"
* Fix CSGO Update crash (11/19/2019)
We know what happened when Valve do something big.
Not tested on Linux
* Fix RoundRespawn on Windows
* Fix TerminateRound on Linux x86
* Comment out Linux x64 part of TerminateRound
Better leave blank here.
The cause of the infamous "Index error writing string table baseline"
error appears to be a timing issue between the engine's network message
processing, the stringtable encoding, and command processing when adding
stringtable entries in OnConfigsExecuted.
When the first client connects the map is re-loaded which causes a full
refresh, the game's stringtable entries are added at tick 65, the client
connection is registered at tick 66, and stringtable entries added in
OnConfigsExecuted are registered as being added in tick 67. The engine
later calls WriteBaselines with the client's signon tick, and neglects
to encode the SM added entries as it considers them from the future.
To avoid this, always pass INT_MAX as the current tick when encoding
the baseline, so all stringtable entries are included regardless of when
they were added. Tested on both Windows and Linux.
* Switch CS:GO Clantag set/get to use netprops + offset over sig+offset.
* Make sure the new functions are defined before using them...
* Fix offset name
* Fix incorrectly dereferencing.