Difference between revisions of "MM:S API Differences"
(New page: Metamod:Source 1.6.0 makes several API changes which may affect plugins. These changes are fully documented below. =Renamed Calls= ==Transparent== The following functions have received s...) |
m |
||
Line 4: | Line 4: | ||
==Transparent== | ==Transparent== | ||
The following functions have received simple renamings, which should be transparent from the <tt>META_REGCMD</tt> and <tt>META_REGCVAR</tt> macros. | The following functions have received simple renamings, which should be transparent from the <tt>META_REGCMD</tt> and <tt>META_REGCVAR</tt> macros. | ||
− | *<tt>RegisterConCmdBase</tt> -> <tt>RegisterConCommandBase</tt> | + | *<tt>RegisterConCmdBase()</tt> -> <tt>RegisterConCommandBase()</tt> |
− | *<tt>UnregisterConCmdBase</tt> -> <tt>UnregisterConCommandBase</tt> | + | *<tt>UnregisterConCmdBase()</tt> -> <tt>UnregisterConCommandBase()</tt> |
==Breaking== | ==Breaking== | ||
The following functions have received simple renamings, however, old code will be affected. | The following functions have received simple renamings, however, old code will be affected. | ||
*<tt>pGlobals()</tt> -> <tt>GetCClobals</tt> | *<tt>pGlobals()</tt> -> <tt>GetCClobals</tt> | ||
− | *<tt>engineFactory</tt> -> <tt>GetEngineFactory</tt> | + | *<tt>engineFactory()</tt> -> <tt>GetEngineFactory()</tt> |
− | *<tt>serverFactory</tt> -> <tt>GetServerFactory</tt> | + | *<tt>serverFactory()</tt> -> <tt>GetServerFactory()</tt> |
− | *<tt>physicsFactory</tt> -> <tt>GetPhysicsFactory</tt> | + | *<tt>physicsFactory()</tt> -> <tt>GetPhysicsFactory()</tt> |
− | *<tt>fileSystemFactory</tt> -> <tt>GetFileSystemFactory</tt> | + | *<tt>fileSystemFactory()</tt> -> <tt>GetFileSystemFactory()</tt> |
For example, <tt>GET_V_IFACE_CURRENT</tt> would change from this: | For example, <tt>GET_V_IFACE_CURRENT</tt> would change from this: |
Revision as of 13:10, 9 October 2007
Metamod:Source 1.6.0 makes several API changes which may affect plugins. These changes are fully documented below.
Contents
Renamed Calls
Transparent
The following functions have received simple renamings, which should be transparent from the META_REGCMD and META_REGCVAR macros.
- RegisterConCmdBase() -> RegisterConCommandBase()
- UnregisterConCmdBase() -> UnregisterConCommandBase()
Breaking
The following functions have received simple renamings, however, old code will be affected.
- pGlobals() -> GetCClobals
- engineFactory() -> GetEngineFactory()
- serverFactory() -> GetServerFactory()
- physicsFactory() -> GetPhysicsFactory()
- fileSystemFactory() -> GetFileSystemFactory()
For example, GET_V_IFACE_CURRENT would change from this:
GET_V_IFACE_CURRENT(engineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER);
To this:
GET_V_IFACE_CURRENT(GetEngineFactory, engine, IVEngineServer, INTERFACEVERSION_VENGINESERVER);
Removed Calls
A few API calls have been completely removed.
- RemotePrintingAvailable() - Unused, no purpose.
- GetCvarBaseAccessor() - Unused, no purpose.
- SetLastMetaReturn() - Did nothing.
- GetLastMetaReturn() - Did nothing.
Changed Calls
- IPluginManager::Query() and IPluginManager::QueryHandle() now store return values using optional pointers instead of references. This change was requested by a few people.
Miscellaneous
PLAPI_VERSION has been renamed to METAMOD_PLAPI_VERSION. The version numbers for 1.1 to 1.4 can be described as:
- API Major: 1
- API Minor: 0, 1, 2, 3, 4, 5, or 6
- Plugin API: 7, 8, 9, 10, 11, or 12
- Plugin API Minimum: 7
- SourceHook Interface: 4
- SourceHook Implementation: 3 or 4
- SourceHook Version: 4.3 or 4.4
Version 1.6.0 has the following version numbers:
- API Major: 2
- API Minor: 0
- Plugin API: 14
- Plugin API Minimum: 14
- SourceHook Interface: 5
- SourceHook Implementation: 5
- SourceHook Version: 5.0
Additions
- IMetamodListener now has a new OnUnlinkConCommandBase callback.
- ISmmAPI::Format and ISmmAPI::FormatArgs are new platform-safe replacements for snprintf and vsnprintf.
- ISmmAPI::GetSourceEngineBuild() returns a constant describing the Source engine version.
- ISmmAPI::GetVSPInfo() returns information about Valve Server Plugin interface, if enabled through Metamod:Source.
SourceHook has many new changes, the greatest of which is "global hooks," which can hook a function on any number of instances of that derived class. See SourceHook Development for more information.