diff --git a/sourcemm/changelog.txt b/sourcemm/changelog.txt index d6fc410..790d06e 100644 --- a/sourcemm/changelog.txt +++ b/sourcemm/changelog.txt @@ -1,51 +1,63 @@ 2007/??/?? 1.5.0: - - Added API for getting highest supported IServerPluginCallbacks interface version. - - The client version of the "meta" command should now work on games that use - ServerGameClients004 and beyond. - - Fixed amb277 (failed to get user message list in Kreedz Climbing). + - Added new version of SourceHook with the following changes: + - Added API for hooking functions on a virtual table to all instances. + - SH_ADD_HOOK macros now return non-zero hook IDs. Additionally, + the old hook adding/removing syntax is deprecated (but still supported). + - Added SH_REMOVE_HOOK_ID to remove hooks by ID. + - CallClasses have been deprecated. The SH_CALL macro can now take a class + instance pointer rather than a callclass pointer. + - Added API for getting highest supported IServerPluginCallbacks interface + version. 2007/05/16 1.4.1: - - The client version of the "meta" command should now work with games using the latest - Source beta (srcds0407). + - The client version of the "meta" command should now work with games using the + latest Source beta (srcds0407). - Fixed amb233 (VSP listener didn't work with Steam dedicated version). - - Fixed amb277 (failed to get user message list in Kreedz Climbing). + - Fixed amb277 (failed to get user message list in Kreedz Climbing). 2007/04/05 1.4.0: - - Added API functions for retrieving User Message info without potentially crashing. - - Added API functions for letting SourceMM plugins use Valve Server Plugin callbacks. - - Added plugin status to client version of "meta list" command. Previously, it did not - differentiate between running and paused plugins. + - Added API functions for retrieving User Message info without potentially + crashing. + - Added API functions for letting SourceMM plugins use Valve Server Plugin + callbacks. + - Added plugin status to client version of "meta list" command. Previously, it + did not differentiate between running and paused plugins. - An experimental automatic gameinfo.txt fixer is now available. - Changed version numbering to include the build number (SVN revision). - Fixed amb93 (improved mod path detection). - Fixed various rare string inconsistencies. 2006/11/29 1.3d: - - Updated Metamod:Source to recognize the latest Source Engine version (ServerGameDLL006) + - Updated Metamod:Source to recognize the latest Source Engine version + (ServerGameDLL006) 2006/09/06 1.3a: - - Fixed a building issue on Linux which caused unresolved symbol errors when trying to - load Metamod:Source on a game using an older set of engine libraries. This fix should - now allow Metamod:Source to run with The Ship on Linux. + - Fixed a building issue on Linux which caused unresolved symbol errors when + trying to load Metamod:Source on a game using an older set of engine + libraries. This fix should now allow Metamod:Source to run with The Ship on + Linux. 2006/08/16 1.3: - Added SourceHook support for functions that return references. - - Added some extra information to the "meta game" command: Description and Interface. For - example, CS:S would display "Counter-Strike: Source" and "ServerGameDLL004." + - Added some extra information to the "meta game" command: Description and + Interface. For example, CS:S would display "Counter-Strike: Source" and + "ServerGameDLL004." - Added some extra functionality to ISmmPluginManager. - - Added compiling support for MSVC 8.0 (Visual Studio 2005) and GCC 4.x - - Added another API helper function for formatting and searching for interfaces. + - Added compiling support for MSVC 8.0 (Visual Studio 2005) and GCC 4.x. + - Added another API helper function for formatting and searching for + interfaces. - Updated project files and source tree to use the latest HL2SDK. - Updated the sample plugins to be a bit cleaner and use newer API. - - Fixed bug where Metamod:Source could load the wrong GameDLL and/or load more than one - GameDLL. This issue occured in HL2 CTF, SourceForts, or any other mod that relied on - files from another mod directory. - - Fixed bug where ISmmAPI::MetaFactory() would return the wrong interface when trying to - retrieve ISmmPluginManager. - - Fixed bug where returning false in Load() after adding a Metamod event listener or - hooking a function could cause a crash instead of rejecting the plugin. - - Fixed bug where trying to load Metamod:Source a second time as a SourceMM or Valve - server plugin could cause a crash. + - Fixed bug where Metamod:Source could load the wrong GameDLL and/or load more + than one GameDLL. This issue occured in HL2 CTF, SourceForts, or any other + mod that relied on files from another mod directory. + - Fixed bug where ISmmAPI::MetaFactory() would return the wrong interface when + trying to retrieve ISmmPluginManager. + - Fixed bug where returning false in Load() after adding a Metamod event + listener or hooking a function could cause a crash instead of rejecting the + plugin. + - Fixed bug where trying to load Metamod:Source a second time as a SourceMM or + Valve server plugin could cause a crash. - Fixed a bug in FormatIface() that caused InterfaceSearch() to infinite loop. 2006/06/14 1.2.3: @@ -57,17 +69,19 @@ - Added "meta alias" command. - Added SourceHook API for manual callclasses. - Added support for the latest Source engine (ServerGameDLL005). - - Added API for printing text in a client's console with ClientConPrintf. This does the - same thing as IVEngineServer::ClientPrintf except that it allows string formatting. - - Added client version of "meta" command in order to allow clients to view version - information and a list of loaded plugins. + - Added API for printing text in a client's console with ClientConPrintf. This + does the same thing as IVEngineServer::ClientPrintf except that it allows + string formatting. + - Added client version of "meta" command in order to allow clients to view + version information and a list of loaded plugins. - Fixed a bug causing old mods on newer engines to fail loading. - Fixed issues with SourceHook's SH_CALL and reference parameters. - Fixed a bug where the mm_pluginsfile cvar was being ignored. - Fixed a memory leak when using ISmmAPI::InterfaceSearch. 2006/02/15 1.2.1: - - Fixed bug where returning newparams in a post hook would cause infinite recursion. + - Fixed bug where returning newparams in a post hook would cause infinite + recursion. - Fixed bug where "meta load" could load the same plugin multiple times. - Fixed bug where unloading a plugin could crash internal hook states. - Fixed bug where unhooking a single hook would clear the hook chain. @@ -79,8 +93,8 @@ - Added API for formatting an OS-independent path. - Added Listen Server Launcher to the graphical installer. - Fixed bug where failed plugins could crash the plugin list. - - NOTE: SourceHook changes may require plugins to be recompiled against - the new API. + - NOTE: SourceHook changes may require plugins to be recompiled against the new + API. 2005/12/06 1.1.2: - Added interface overriding/sharing examples to sample plugins. @@ -93,35 +107,38 @@ - Fixed a bug where AllPluginsLoaded() was not called after DLLInit(). 2005/10/21 1.1: - - Rewrote GameDLL loading code to be API version generic. - As such, SourceMM will now easily support new API releases without - an SDK release, such as the case with Day of Defeat:Source + - Rewrote GameDLL loading code to be API version generic. As such, SourceMM + will now easily support new API releases without an SDK release, such as the + case with Day of Defeat:Source. - Added more flexibility to plugin control by supplying an event system. - Removed dependency on libstdc++.so by supplying a small template library. - - SourceHook internal API is now interface-based, meaning that future - updates to the API will not break older plugins. This update, however, - breaks older plugins. + - SourceHook internal API is now interface-based, meaning that future updates + to the API will not break older plugins. This update, however, breaks older + plugins. - SourceHook is now re-entrant. - Added a basic automated installer (by Basic-Master). - Fixed a bug where games with changing game names would not work. - Fixed various bugs, including a cvarlist corruption bug on unloading plugins. 2005/07/07 1.00-RC2: - - Added API for dealing with ConCommandBase registration (cvars/concmds). - This is to fix the fact that Valve API provides no way to unlist a cvar/cmd. + - Added API for dealing with ConCommandBase registration (cvars/concmds). This + is to fix the fact that Valve API provides no way to unlist a cvar/cmd. - Added two new commands - "meta cmds" and "meta cvars". - - Added API calls for correctly printing to the console such that rcon - will also receive messages that a plugin prints. - This problem was mentioned on hlcoders and Valve offered no reply. + - Added API calls for correctly printing to the console such that rcon will + also receive messages that a plugin prints. This problem was mentioned on + hlcoders and Valve offered no reply. - Added event hooking and cvar samples to sample_mm. - - Added new cvar, mm_pluginsfile, which defaults to "addons/metamod/metaplugins.ini". - - Fixed a bug where multiple vtable patches on the same hook were not re-patched when removed. - This caused a crash when two hooks were declared on one function, the first was removed, and - the original function was then called. + - Added new cvar, mm_pluginsfile, which defaults to + "addons/metamod/metaplugins.ini". + - Fixed a bug where multiple vtable patches on the same hook were not + re-patched when removed. This caused a crash when two hooks were declared on + one function, the first was removed, and the original function was then + called. - Fixed "meta clear" not unloading all plugins. - Fixed Metamod:Source loading plugins with a higher current API version. - Fixed whitespace being parsed in metaplugins.ini. - - Fixed bug where SourceHook tried to patch already destroyed/unavailable memory. + - Fixed bug where SourceHook tried to patch already destroyed/unavailable + memory. - Bumped Plugin API version to 6. 2005/05/06 1.00-RC1: