View Single Post
Author Message
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 11-03-2015 , 10:44   SourceMod Development Roundup (1.7.2 - 2015/11/03)

This covers all commits to 1.7 since the release of 1.7.2.
Now that we're on a roling release cycle, I'd like to do a roundup like this semi-regularly (depending on interest and commit frequency) to replace the old release changelogs.

  • The normal set of gamedata updates for numerous games.
  • Worked around a case where client connections could desynchronize, causing authentication information to persist across players.
  • Fixed a rare crash in the TF2 extension due to a missing IsFree() check.
  • Fixed cases where IsCharAlpha/IsCharNumeric/IsCharSpace/IsCharUpper/IsCharLower could return incorrect data.
  • Fixed ConVar.*Value property setters not working correctly.
  • Fixed mouse movement values in OnPlayerRunCommand for TF2/CS:S/DoD:S/HL2:DM.
  • Change default path ID to "GAME" instead of NULL for valvefs-using filesystem natives.
  • Fixed SQL_SetCharset potentially misbehaving when used with threaded operations.
  • Improve allocation policy for datapacks to save memory.
SourcePawn Fixes (Need to recompile plugins for these)
  • Fixed an issue where some unary operators could return incorrect data.
  • Corrected oversight with view_as<>(...) where it could compile with missing parenthesis.
  • Fixed a compiler crash with invalid array initializers.
  • Fixed parameter list of DBResultSet.IsFieldNull.
New Features
  • Added support for Modular Combat.
  • Added support for setting string_t Prop_Data fields (such as "m_target") to SetEntPropString.
  • Added array support to SetEntPropString.
  • Include datapack memory allocation in handle dump.
  • Added new condition / holiday constants to
  • Added FindMap native.
  • Added GetTeamEntity native.

As always, I'd like to thank the SourceMod team and members of the community contributing changes this period - including Powerlord, FlaminSarge, Thordin, WildCard65, and PeaceMaker.

Most interesting development takes place in the development branch (1.8) and I am currently working on a roundup of that (there is a lot!) - so hold on to your hats!

As for what is coming in the future...
This is all 1.8 changes since forking off 1.7 (also everything already listed above).
There have been a lot of commits moving around SM internals to facilitate future work.
Some stuff may have been missed, some stuff may have snuck in that is in 1.7.x before 1.7.2 - future updates will be a lot easier to compile.

  • Corrected buffer sizes for player and map names in numerous base plugins.
  • Corrected numerous spelling mistakes throughout the config files and API documentation.
  • Fixed methodmap chaining using the wrong value when used as a default parameter.
  • Fixed "sm plugins refresh" not reloading changed plugins.
  • Fixed a misleading error message from "sm config".
  • Increased buffer sizes for PrintTo*All stocks.
  • Fixed FindFlagChar returning false when given custom6 flag.
  • Notify plugin listeners of SetFailState'd plugins on unload.
  • Pause dependent plugins on SetFailState.
  • Fixed an issue with asynchronous queries potentially completing after plugin unload.
  • Added support for Black Mesa.
  • Added SetClientName native.
  • Populate MaxClients before OnPluginStart is called.
  • Added support for listening to, blocking, changing, and faking ClientCommandKeyValues.
  • Introduced a datapack position tag to avoid common mishaps with SetPackPosition.
  • Added GetMapDisplayName native to assist working with workshop maps.
  • Added EmitSoundEntry native and updated AddNormalSHook with support for newer engine features.
  • Added File Transfer hooks to SDKTools.
  • Updated convar flags to match modern engines.
  • Added offset printing to datamap dumps.
  • Include date information in property dumps.
  • Changed map history storage limit to be configurable (sm_maphistory_size).
  • Added TE_SendToAllInRange native.
  • Added GetEntityRenderColor stock.
  • Updated large swathes of the API to use methodmaps.
  • Removed methodmap native binding syntax.
  • Moved the git revision to the 4th version number component.
  • Removed lots of unused gamedata.
  • Killed off the INativeInvoker extension API.
  • Enable SDK independence with MM:S enabled extensions.
  • Huge amount of refactoring moving code from Core to Logic (smaller download, faster builds).
  • Huge amount of refactoring to SourcePawn VM internals:
    • Faster, safer, easier to maintain plugin loading and unloading.
    • New error handling model with better stack traces.
    • All functions can now be used as callbacks.

Last edited by psychonic; 04-01-2016 at 08:49.
asherkin is offline