Add source2 convar/concommand support #203
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Split ConCommandBase usage into ProviderConCommand/ProviderConVar and add convar/concommand support for s2 titles.
The main reason for the split, is due to massive changes in s2, which doesn't use unified object for both convars and concommands, thus making it hard to work with under singular class name. For s1 titles these are typedefed as ConCommandBase under the hood and nothing has changed really.
This pr bumps mm version to 2.1, and adds few new functions to ISmmAPI interface, as well as bumps PLAPI version to 17, and adds few new functions to IMetamodListener interface. I've tried to not do major interface changes, thus old ConCommandBase Register/Unregister methods are still available and working altho I've marked them as deprecated as they only support s1 titles, s2 titles are meant to use newer methods (and they can't easily call these old methods since ConCommandBase is nonexistant in s2 which is what these old functions expect, so there shouldn't be the case where they accidentally call to it).
This pr also supersedes this pr #135 as per discussion with the author of it.
Side note: I've also added
-Wno-sign-compare
gcc flag to build scripts of mm and s2_sample_mm as these heavily depend on it, since there are numerous of places from sourcehook to hl2sdk where these warnings are thrown, and since build systems mm is using are mainly clang (which seems to be fine with the code by default as well as msvc) this shouldn't really affect anything other than provide an out of the box compilation availability for gcc compilers.This pr resolves these issues #187, #166
If all is good this pr depends on alliedmodders/hl2sdk#154 and the same changes towards hl2sdk-dota