SourceMod Changelog ---------------------------- SourceMod 1.3.6 [2010-10-31] URL: http://wiki.alliedmods.net/SourceMod_1.3.6_Release_Notes User Changes: - Updated support for latest Left 4 Dead 1 (bug 4681). Developer Changes: - Updated TF2 custom kill defines (bug 4682). ---------------------------- SourceMod 1.3.5 [2010-10-17] URL: http://wiki.alliedmods.net/SourceMod_1.3.5_Release_Notes User Changes: - Updated support for CS:S, Garry's Mod, DoD:S, TF2, HL2DM. - Added support for Firearms: Source (bug 4537). - Added support for Fistful of Frags (bug 3883). - Added support for Alien Swarm (bug 4530). - Fixed living players hearing dead players if alltalk is disabled while deadtalk is on (bug 4533, thanks Zach Callear). - Fixed timeleft not getting reset on Game_Commencing in CS:S (bug 4557). - Fixed PlayerRunCmd being hooked when not used (bug 3990). - Fixed errors and missing effects caused by missing sprites on L4D2 (bug 4512). - Fixed 'sm plugins' public command skipping plugins in recommended listing (bug 4501). - Fixed corruption with large database.cfg files (bug 4286). Developer Changes: - Added TF2 object stocks (bug 4536). - Added TF2_MakeBleed native to TF2 ext (bug 4542). - Added support for logical entities in Synergy (bug 4534). - Updated TF2 conditions enum and defines (bug 4526). - Fixed potential crash with IMemUtils::FindPattern on Linux (bug 4554). ---------------------------- SourceMod 1.3.4 [2010-07-18] URL: http://wiki.alliedmods.net/SourceMod_1.3.4_Release_Notes User Changes: - Support for latest TF update (bug 4506). - Support for latest L4D2 update (bug 4509). Developer Changes: - Added FindFlagChar native (bug 3776). - Added GetConVarDefault native (bug 4502). - Added forward for TF's GetHoliday function (bug 4462). ---------------------------- SourceMod 1.3.3 [2010-06-23] URL: http://wiki.alliedmods.net/SourceMod_1.3.3_Release_Notes User Changes: - Added support for CS:S on Orange Box - Added gamedata for Resistance and Liberation (bug 4418). - Updated gamedata for SourceForts, Empires, Obsidian Conflict, Zombie Master. - Fixed memory corruption and leaks with some voice functionality (bug 4415). - Fixed UI bug in sm_motd (bug 4460). Developer Changes: - Added new player condition (TFCond_CritCola, bug 4447). - Fixed clientprefs deleting cookies twice in rare cases (bug 4412). - Fixed OnClientConnected forward not firing for bots (bug 4443). - Fixed sm_dump_datamaps crash (bug 4424). - Fixed switch case comparisons failing with large numbers (bug 4457). - Fixed rare crash in output hooks (bug 4422). - Fixed bug with dynamically sized arrays being sliced (bug 4428). - Fixed SendConVarValue() on TF2, DOD:S, L4D, and L4D2 (bug 4273). - Fixed TF2 natives not being marked optional (bug 4389). ---------------------------- SourceMod 1.3.2 [2010-05-02] URL: http://wiki.alliedmods.net/SourceMod_1.3.2_Release_Notes User Changes: - Support for recent TF, DoD, and L4D2 updates (bug 4356, bug 4361, bug 4371, bug 4374, bug 4375). - Fixed rare crash when replicating cvars to clients (bug 4315). - Lots of extra game support for Insurgency, ZPS, CSProMod, PVKII, and FortressForever (thanks Nicholas "psychonic" hastings). Developer Changes: - Added TF functions for stunning, conditions, regeneration, and power play (bug 4166, bug 4331). ---------------------------- SourceMod 1.3.1 [2010-02-09] URL: http://wiki.alliedmods.net/SourceMod_1.3.1_Release_Notes User Changes: - Added extended support for CSProMod (bug 4255). - Fixed client disconnect crash on many third party games (bug 4231). - Improved support for Battlegrounds 2 (bug 4146). - Improved support for Insurgency (bug 4180). - Improved support for Garry's Mod (bug 4230, bug 4268). - Improved support for Synergy (bug 4235). - Updated Day of Defeat support for 20010123 update (bug 4262). - Fixed Webternet extension not loading on Windows 2000 (bug 4234). Developer Changes: - Fixed compiler complaints when using |any| tag on array arguments (bug 4274). - Fixed GetClientCookieTime not being exported (bug 4237). - Fixed potential crash in entity handling code (bug 4249). ---------------------------- SourceMod 1.3.0 [2010-01-15] URL: http://wiki.alliedmods.net/SourceMod_1.3.0_Release_Notes Major Features: * Left 4 Dead 2 support * Non-networked entity support User Changes: - Added Left 4 Dead 2 support (bug 4075). - Added much richer voting progress feedback (bug 1997). - Improved support for various third-party games (Nicholas "psychonic" Hastings). - Added @spec target (bug 2718). - Added sm_resetcvar command (bug 3636). - Added "motd" chat trigger (bug 2694). - Updated GeoIP to OCT-2009. - Fixed rare map vote error (bug 3905). - Fixed small leak in the nominations plugin (bug 4104). - Fixed last client being excluded from some command effects (bug 3984). - Fixed crashes in plugin [|un|re]loading (bug 4034, bug 4038, bug 4044, bug 4153). - Special target "@me" is now filtered for certain statuses properly (bug 4000). - Improved non-admin to admin chat (bug 3844). - Removed "auto.*" extension folders (bug 3949). Developer Changes: - Added non-networked entity support (bug 2459). - Added improved random number generator (bug 3831). - Added GetClientCookieTime native (bug 3736). - Added AskPluginLoad2 callback (bug 3716). - Added PlayerRunCmd callback (bug 3289). - Added PointOutsideWorld native (bug 3906). - Added API for "blanket" command hooks (bug 4015). - Added ability to test for SourceMod features (bug 4021). - Added ability to change broadcast status on hooked events (bug 3886). - OnClientCommand no longer receives unconnected clients (bug 3732). - Fixed various bugs in client listening API (bug 3818). - Fixed crash in BanClient (bug 3912). - Fixed various crashes in self-removing callbacks (bug 4059). - Fixed rare HUD text crash on TF (bug 4016). - Fixed OnConfigsExecuted not running on EP1 games with large configs (bug 3828). - Fixed entity output hooks not working (bug 3988). - Gamedata folder matches are now case-insensitive (bug 3913). - Blocked plugins from hooking "sm" command (bug 4013). ---------------------------- SourceMod 1.2.4 [2009-10-03] URL: http://wiki.alliedmods.net/SourceMod_1.2.4_Release_Notes - Updated for L4D changes (bugs 4032, 4033, 4035). - Updated GeoLite Country database for GeoIP extension. - Fixed crash when block-loading more than eight plugins (bug 4034). - Fixed rare crash in hudtext code on TF (bug 4016). - Fixed crash when reloading a blocked plugin failed (bug 4038). - Fixed Huntsman not firing critical callback on TF (bug 3927). - Registering the "sm" command no longer has any effect (bug 4013). - Fixed translation bug in extension API (bug 4010). ---------------------------- SourceMod 1.2.3 [2009-08-28] URL: http://wiki.alliedmods.net/SourceMod_1.2.3_Release_Notes - Fix extension filename lookup. (bug 3975). ---------------------------- SourceMod 1.2.2 [2009-08-28] URL: http://wiki.alliedmods.net/SourceMod_1.2.2_Release_Notes - Removed auto folders. (bug 3949). - Added PointOutsideWorld native to sdktools. (bug 3906). - Added "motd" chat trigger to basetriggers. (bug 2694). - Added manual extension reloading command to root console menu. (bug 3934) - Fixed 'list' type custom menu entries overwriting admin restrictions. (bug 3783). - Added sm_resetcvar command to basecommands. (bug 3636). - Updated gamedata for DOD:S. (bug 3948). - Updated gamedata for TF2. (bug 3948). - Added new .ep2v build config for valve OB based games. (bug 3948). - Fixed incorrect escaping in clientprefs SQLite queries. (bug 3904) - Updated gamedata for Synergy. (bug 3315). - Upgraded to pcre-7.9 (bug 3923). - Switched Insurgency chat printing to SayText. (bug 3738). - Updated gamedata for Insurgency. (bug 3511). - Updated gamedata for ZM. (bug 3746). - Updated gamedata for Empires. (bug 3500). - Updated gamedata for ZPS. (bug 3877). - Updated gamedata for AoC. (bug 3891). - Fixed RemovePlayerDisguise signature for TF2. (bug 3892). ---------------------------- SourceMod 1.2.1 [2009-05-31] URL: http://wiki.alliedmods.net/SourceMod_1.2.1_Release_Notes - Updated SDKTools for latest Team Fortress update. - Added L4D handling to GuessSDKVersion() (bug 3842). - Updated Zombie Panic Source offsets (bug 3632). - Fixed crash when clientprefs saw disconnect from 64th client (bug 3821). - Fixed Plugin_Handled acting like a Stop in usermsg hooks (bug 3685). - Fixed early tv_enable causing crashes (bug 3766). - Fixed unhook event crash (bug 3814). - Fixed compiler reading uninitialized strings while processing varargs (bug 3811). - Fixed compiler choosing whether to emit stradjust.pri on dynamic arrays based on uninitialized memory (bug 3810). - Fixed Windows L4D CreateFakeClient signature (bug 3792). - Fixed sm_slap for EP1 games (bug 3768). - Fixed casting problems in TextParsers breaking TrimString for non-ASCII characters (bug 3800). - Fixed OnClientConnect rejectmsg handling, improved doc (bug 3690). - Fixed clientprefs not loading cookies for clients on late load (bug 3735). - Fixed GetCommandFlags on original engine games (bug 3759). - Fixed compiler asserting when returning a string literal (bug 3836). - Fixed compiler erroring when tagging functions for string return (bug 3837). - Fixed compiler not handling constant chained relational operators correctly (bug 3838). - Fixed revote bug and inflexibilities in RedrawClientVoteMenu (bug 3834). - Fixed auto update URL being set too late (bug 3699). - Disabled nextmap in Synergy and Dystopia (bug 3687, bug 3741). - Removed unnecessary SSE optimizations from msvc9 project files (bug 3756). - Removed short-lived tag system (bug 3751). - Removed the alive check from sm_rename. (bug 3698). - Switched FortressForever to Valve menus (bug 3819). ---------------------------- SourceMod 1.2.0 [2009-03-05] URL: http://wiki.alliedmods.net/SourceMod_1.2.0_Release_Notes Major Features: * Left 4 Dead Support * Dark Messiah Support * New and Improved Updater Changes: - Added Left 4 Dead support (bug 3414). - Added Dark Messiah game support (requires Metamod:Source 1.7.1 or higher). - Added sm_name command (bug 2150). - Added extension-level dynamic hooking to bintools (bug 2616). - Added client validation API to replace passing userids asynchronously. - Added cURL extension, available to other extensions (bug 3560). - Added parsing of custom gamedata files (bug 3644). - Added case insensitivity search to ReplaceString (bug 3639, Fyren). - Added more detail to certain player-oriented menu titles (bug 2740, Fyren). - Added sv_tags API (bug 3677). - Greatly improved admin-sql-prefetch performance for large tables (bug 3354, FLOOR_MASTER). - Exposed IServer address to extensions (bug 3545). - New gamedata organization; files are now smaller and per-game (bug 3546). - Split sound functions into a new plugin, sounds.smx. - Fixed slap and slay on Insurgency (bug 2560). - Fixed blank admins being created from invalid admin file lines (bug 3431). - Fixed basetriggers not working on Insurgency (bug 3497). - Fixed client preferences missing some clients (bug 3616). - Improved database fallback mechanism in clientprefs (bug 3564). - Improved timer handling in funcommands (bug 3498). - Improved compile.sh to take filenames (bug 3550, jonasfietz). - sm_kick now shows the kick reason when available. - Fixed MsgPostHook (ex MsgSentNotify) callbacks not firing on intercept hook (bug 3631). - Note: SourceMod now adds "sourcemod" to the sv_tags cvar. ---------------------------- SourceMod 1.1.2 [2009-02-26] URL: http://wiki.alliedmods.net/SourceMod_1.1.2_Release_Notes Changes: - Fixed critical hits being permanently disabled (bug 2674) ---------------------------- SourceMod 1.1.1 [2009-02-25] URL: http://wiki.alliedmods.net/SourceMod_1.1.1_Release_Notes Changes: - Added Age of Chivalry support (bug 3366, IceMatrix). - Added Obsidian Conflict support (bug 2699, The DOO). - Fixed compatibility issues with latest TF2 update. - Fixed crash when an event handler fired an event of the same name (bug 3468). - Fixed rare crash in the event manager on post hooks (bug 3548). - Fixed formatting error with zero precision floats (bug 3447). - Fixed various Insurgency offsets (bug 3544). - Fixed admin menu (topmenu) categories being selectable when not usable (bug 3256). - Fixed sm_sql_addgroup not working (bug 3578). - Fixed memory leak when events were hooked as EventHookMode_Post. - Fixed nextmap trigger showing wrong output with end-of-map voting disabled and sm_trigger_show set to zero (bug 3597, mr.e.unk). ---------------------------- SourceMod 1.1.0 [2008-12-28] URL: http://wiki.alliedmods.net/SourceMod_1.1.0_Release_Notes Major features: * New map management plugins. * New reserved slot type. * GameData updates are retrieved remotely * Client Preferences extension for per-client "cookies" * New incremental and independent JIT Changes: - Added new client preferences extension (API in clientprefs.inc, bug 1925). - Added new gamedata auto-update functionality (bug 2602). - Revamped and greatly expanded map management plugins and their functionality (bug 2201). - Debug mode is now always on; as there is no longer a performance loss, there is no non-debug mode. - The timeleft trigger can now handle mp_winlimit, mp_fraglimit, and mp_maxrounds (bug 2344). - Translations can now be in separate files and placed in language-unique folders. - The leading "STEAM_0:" or "STEAM_1:" in SteamIDs can now be omitted from admin files. - Added sm_revote command so clients can participate in a vote that fell off their screen (bug 2156). - Added Core API for creating stack structures (adt_stack.inc, bug 2441). - Added API for extending mapchooser (mapchooser.inc, bug 2201). - Added Core API for map transition control and history (nextmap.inc). - Added TF2 forward for overriding how critical hits are calculated. - Added SetClientInfo() native for modifying how a server sees a client's setinfo properties. - Added CreateDirectory() native (bug 3253). - Added "magic" MaxClients variable to replace slower GetMaxClients() call. - Added support for three-letter language codes (bug 3526). - Functions to control client versus client mic listening now work as described (bug 2498). - Fixed SDKTools not being reloadable, and fixed a related bug in Handle type removal (bug 2753). - Rewrote internal translation handling. Extensions now have access to an ITranslator API (bug 2535). - Rewrote internal handling of dependencies (especially relating to native providers) (bug 2466). - Added user config hooks to IGameConfigManager, for parsing user-defined sections. - Revamped SourcePawn API. Removed and deprecated many structures and functions accidentally exposed publicly. - Revamped SourcePawn structure, it is now separable from SourceMod for other projects. - Renamed basefuncommands.phrases.txt to funcommands.phrases.txt (bug 2485). - Renamed basefunvotes.phrases.txt to funvotes.phrases.txt (bug 2485). - Added IDBDriver API call for extensions to handle IDBDriver dependencies properly. - Usermessage natives now validate clients to prevent crashing. - Fixed OnConfigsExecuted not working on listen servers. - Fixed out-of-handle conditions in CreateTimer() causing crashes (bug 3381). - Fixed accessing invalid Handles causing crashes (bug 3359). - Fixed memory corruption with MySQL + FetchString (bug 3352). - Fixed ReadFileString ignoring its fourth parameter (bug 3459). - Fixed sm_sql_addadmin reading the immunity field as a password (bug 3395). - Fixed ReadFile sign-extending instead of zero-extending (bug 3449). ---------------------------- SourceMod 1.0.4 [2008-09-14] Changes: - Fixed amb1986: Format() with very long strings could crash if the input and output buffers overlapped. - Fixed amb1938: The compiler ate too many characters in preprocessor macros. - Fixed amb1935: Topmenu child names were not uncached when a category was deleted. - Fixed amb1929: Banning via the console threw a runtime error. - Fixed amb1918: Ban menu should compare userids, not client indexes - Fixed amb1916: Threaded query delay is now 50ms instead of 500ms. - Fixed amb1899: Duplicate maps in auto generated maplists. - Fixed amb1891: Basechat didn't check for blank message in private says. - Fixed amb1853: Ternary operators with string assignments could chop strings off. - Fixed amb1815: Custom admin menu wasn't escaping input. - Fixed amb1808: KickClient() is now delayed to prevent crashes, use KickClientEx for old functionality. - Fixed amb1802: Possible crash when a client disconnected. - Fixed amb1801: Improved bot detection, and fixed bots crashing if inside an OrangeBox server.cfg. - Fixed amb1780: admin-sql-threaded had a debug spew turned on. - Fixed amb1779: Crash in GetTeamName() on mods that don't support it. - Fixed amb1763: Function call status is now cleared on a new function call. - Fixed amb1749: Updated and improved DoD:S SDKTools coverage. - Fixed team native crashes in SDKTools for mods like Insurgency. - Fixed various file handle leaks. ---------------------------- SourceMod 1.0.3 [2008-06-21] Changes: - Fixed SDKTools compatibility for latest TF2 update. - Fixed amb1750: OnAutoConfigsBuffered() inserted before "exec server.cfg". - Fixed a logic bug where OnConfigsExecuted() could be executed before "exec server.cfg" finished. - Fixed a rare crash in the event manager that manifested on Zombie Panic! Source. ---------------------------- SourceMod 1.0.2 [2008-05-31] Changes: - The admin menu is now user-modifiable (the "Dynamic Admin Menu"). - Added a TF2 extension with Team Fortress functions. - Added a RegEx extension with regular expression functions. - Added functions to SDKTools for hooking entity outputs. - Added preliminary support for the DoD:S Orange Box beta. - Added a forward for map config plugins for preventing race conditions. - Added a %b format specifier for binary printing. - Added sm_dump_datamaps command (SDKTools) for enumerating datamap properties. - Added sm_dump_admcache command for debugging the admin cache. - Added amb1715 - TraceHull functions to SDKTools (complementing TraceRay). - Added amb1694 - FindCharInString() function. - Added amb1685 - GetTickInterval() function. - Added amb1620 - ActivateEntity() function to SDKTools (for Orange Box particle system). - Added amb1610 - StripQuotes() function. - Added amb1558 - Compiler now has __BINARY_PATH__ and __BINARY_FILE__ macros. - Fixed amb1686 - ReplaceString* with an empty search string crashed; it now throws an error. - Fixed amb1684 - Blank passwords required an empty but set password. - Fixed amb1595 - Extension load failures did not show a platform error message. - Fixed amb1583 - MySQL string fetch from prepared queries returned corrupted data. - Fixed amb1358 - Timeleft did not reset on TF2 restarts. - Fixed cases where the JIT was too cautious in space optimizations. - Fixed TF2/Cstrike extensions being loadable on incompatible games. - Fixed various documentation inconsistencies and typos. - Fixed internal bugs with file extension handling. Notes: There is a possible compatibility regression from amb1684. SetAdminPassword() has been modified to remove any set password when given an empty string. Previously, a blank password ("") would force an admin to use "setinfo" to set an empty password, but this functionality was deemed unuseful and unintended. Blank passwords now remove any set password. ---------------------------- SourceMod 1.0.1 [2008-05-20] Changes: - Fixed SDKTools compatibility for latest TF2 update. - Removed GivePlayerItem from TF2 (TF2 update broke functionality). - Fixed amb1688: GivePlayerItem offset was wrong for DoD:S Linux. - Fixed amb1657: Server console did not see admin version of sm_who. - Fixed amb1648: Stack corruption from GetClientEyeAngles() on Windows. - Fixed amb1646: NetFlow_Both did not work for client network statistics. - Fixed amb1601: Vote FF menu reading from sv_alltalk cvar instead of mp_friendlyfire. - Fixed amb1591: Fixed listen server crashes on mods like IOS:S which pre-add more than one bot. - Fixed amb1586: GetTeamName() could crash the server if called on load. - Fixed mapchooser's round counting for TF2. - Fixed a bug where an RTE on plugin load would throw a message referring to the plugin as "-1". - Symbols are no longer stripped on Linux. - Minor SourceMod SDK fixes. Notes: The extension interface version has been bumped. Any extensions compiled against 1.0.1 will require 1.0.1 or higher to run. Extensions against 1.0.0 will continue to run normally.