I am very pleased to announce that after weeks of design decisions, multiple rewrites of almost every component, and all-nighters on behalf of PM OnoTo and I, Metamod:Source 1.6.0 is now ready for public consumption as a beta.
This is the first major change to Metamod:Source in over two years. While the compatibility transition through Orange Box will be bittersweet, we're confident that the upgrade path will keep everyone happy for as long as possible.
Remember that if you wish to continue to use Metamod:Source 1.4 plugins, you should not upgrade.
To kick things off, I have ported
Stripper:Source to TF2.
Some useful docs for developers:
If you port your plugin, make sure to re-submit it to the
plugins list so people can see which plugins run on the new engine.
If you have questions, please feel free to join us in
IRC or the
Metamod:Source Forums.
Note that Stripper:Source will run under both Metamod:Source 1.4 and 1.6 -- this is a bit of black magic implemented using an intermediate "switching and replacing" DLL, and developers can read more information about that from the "Upgrading Plugins" link. This technique cannot be used to make an older plugin work on Metamod:Source 1.6.0, but it can let developers distribute one package and configuration instruction.
With this announcement, we have officially begun our SourceMod port of Orange Box. However, this process is intense -- we have to completely redo our build process, packaging, and scripts that perform automation. That's on top of actually doing the port!
Please do not, under any circumstance, make a thread or post asking when the SourceMod port will be done. You will be banned. We're putting a lot of effort into getting everything right, and nagging is not appreciated or helpful. We're working on it.
Special thanks for this release goes to PM OnoTo, who continues to improve SourceHook which Metamod:Source developers know and love!
Changelog:
Code:
- 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.
- SourceHook is now at v5.0, which is backwards incompatible with previous versions.
- Removed various unused and pointless API calls.
- Cleaned up headers for developers.
- Metamod:Source has now received a large internal rewrite to improve coding
standards and to separate internal logic from engine specifics.
- Added API for getting highest supported IServerPluginCallbacks interface
version.
- Added API for detecting the engine version.
- Added API for getting the VSP-simulation interface upon late loading.
- Added new loading API so thin-loaders can choose different plugin DLLs.
- Added OnUnlinkConCommandBase to IMetamodListner to notify when Metamod:Source
is about to remove a concommand or convar.
- The output of the "meta list" command has been reformatted in order to allow
more space for plugins' name, version, and author fields.
__________________