Difference between revisions of "SourceMod 1.0.2 Release Notes"
m |
(Team Fortress -> Team Fortress 2) |
||
(21 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__FORCETOC__ | __FORCETOC__ | ||
+ | |||
SourceMod 1.0.2 is a feature and bug-fix upgrade from 1.0.1. If you need help upgrading, see [[Upgrading SourceMod]]. | SourceMod 1.0.2 is a feature and bug-fix upgrade from 1.0.1. If you need help upgrading, see [[Upgrading SourceMod]]. | ||
*[[Image:checkmark.gif]] '''All old plugins and extensions will continue to work.''' | *[[Image:checkmark.gif]] '''All old plugins and extensions will continue to work.''' | ||
*[[Image:checkmark.gif]] '''This release has new config files, but no config changes.''' | *[[Image:checkmark.gif]] '''This release has new config files, but no config changes.''' | ||
+ | *[[Image:badmark.gif]] '''Config files introduced during the beta period have been changed (see notes).''' | ||
*[[Image:badmark.gif]] '''This release has one very minor compatibility change.''' | *[[Image:badmark.gif]] '''This release has one very minor compatibility change.''' | ||
*[[Image:checkmark.gif]] '''This release has no translation changes.''' | *[[Image:checkmark.gif]] '''This release has no translation changes.''' | ||
<br /> | <br /> | ||
+ | |||
+ | =Custom Admin Menu= | ||
+ | Also known as the "dynamic admin menu," the admin menu now has a much greater degree of customization. Server administrators can add new entries onto the menu via configuration files. For more information, see [[Custom Admin Menu (SourceMod)]]. | ||
+ | |||
+ | =TF2 Extension= | ||
+ | The TF2 extension adds scripting functionality to servers running Team Fortress 2. It also adds two new multi-targets for admin commands: | ||
+ | *@red - Everyone on the red team | ||
+ | *@blue - Everyone on the blue team | ||
+ | |||
+ | The new scripting functionality is split into [http://docs.sourcemod.net/api/index.php?fastload=file&id=49& natives] and [http://docs.sourcemod.net/api/index.php?fastload=file&id=50& stocks]. | ||
+ | |||
+ | =RegEx Extension= | ||
+ | The new regular expression extension adds scripting features for text pattern matching. You can view the new API [http://docs.sourcemod.net/api/index.php?fastload=file&id=52& here]. | ||
+ | |||
+ | =Entity Output Hooking= | ||
+ | Entity outputs are delayed inputs from one entity to another. This system allows maps to queue actions on certain entities. When a specific action happens, the queue is emptied, and all of the inputs are fired. | ||
+ | |||
+ | SourceMod now allows scripts to intercept when these events fire. This is a powerful feature that lets plugins listen for very specific events, for example, when a door opens (class CDoor, event "OnOpen"). | ||
+ | |||
+ | The API for this is [http://docs.sourcemod.net/api/index.php?fastload=file&id=51& here]. | ||
+ | |||
+ | =Map Config Helper= | ||
+ | There is a new forward, [http://docs.sourcemod.net/api/index.php?fastload=show&id=852& OnAutoConfigsBuffered], for map config plugin authors. Using [http://docs.sourcemod.net/api/index.php?fastload=show&id=582& OnConfigsExecuted] to run config files is a mistake, because config files must be guaranteed to have already loaded by that point in time, and [http://docs.sourcemod.net/api/index.php?fastload=show&id=454& ServerCommand] is delayed. | ||
+ | |||
+ | Plugins with this mistake were notified a few weeks ago, and with this release, authors should make sure they fix any conflicts. | ||
+ | |||
+ | |||
=Changes= | =Changes= | ||
*The admin menu is now user-modifiable (the "Dynamic Admin Menu"). | *The admin menu is now user-modifiable (the "Dynamic Admin Menu"). | ||
− | *Added a TF2 extension with Team Fortress functions. | + | *Added a TF2 extension with Team Fortress 2 functions. |
*Added a RegEx extension with regular expression functions. | *Added a RegEx extension with regular expression functions. | ||
*Added functions to SDKTools for hooking entity outputs. | *Added functions to SDKTools for hooking entity outputs. | ||
Line 37: | Line 66: | ||
There is a possible compatibility regression from {{amb|1684}}. 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. | There is a possible compatibility regression from {{amb|1684}}. 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. | ||
− | = | + | ==Moved Config Files== |
− | * | + | Two files were moved during the shift from beta to release. These files were introduced during the beta cycle and thus this modification is not considered a compatibility change. Nonetheless, there is a compatibility shim for this change. |
− | + | ||
− | + | *'''configs/dynamicmenu/adminmenu_grouping.txt''' is now '''configs/adminmenu_grouping.txt''' | |
− | ** | + | *'''configs/dynamicmenu/menu.ini''' is now '''configs/adminmenu_custom.txt''' |
− | + | *'''configs/dynamicmenu has been removed''' | |
− | + | ||
− | + | Temporary compatibility is as follows: If any older file exists, it is loaded instead of the new file. If an old file cannot be found, the new file is loaded instead. This compatibility shim will be removed from all branches next release. | |
− | + | ||
+ | ==DoD:S Beta Support== | ||
+ | Since DoD:S Orange Box is a beta, its SDKTools support is experimental only. It will be officially supported when DoD:S Orange Box is officially released. | ||
+ | |||
+ | ==Web Compiler== | ||
+ | The web compiler has been updated to build 1.0.2-compatible plugins. Old SourceMod installations will be able to run these plugins as long as no new functionality is used. | ||
+ | |||
+ | ==Removed TF2 Stocks== | ||
+ | More broken TF2 stocks have been removed. There are no compatibility shims for them. | ||
+ | *TF2_GivePlayerWeapon | ||
+ | *TF2_EquipPlayerClassWeapons | ||
+ | *TF2_SetPlayerClass's third parameter is now ignored | ||
+ | |||
+ | These functions may be restored in full if workarounds can be found. | ||
+ | |||
+ | |||
+ | =Support Schedule= | ||
+ | SourceMod 1.0.2 replaces SourceMod 1.0.0, and 1.0.0 is no longer supported. | ||
+ | |||
+ | SourceMod 1.0.1 will continue to be supported, however, all bug fixes will occur in the 1.0.3 branch (which includes all changes in 1.0.2). Support for 1.0.1 will stop when 1.0.3 is released. |
Latest revision as of 20:21, 31 May 2008
SourceMod 1.0.2 is a feature and bug-fix upgrade from 1.0.1. If you need help upgrading, see Upgrading SourceMod.
- All old plugins and extensions will continue to work.
- This release has new config files, but no config changes.
- Config files introduced during the beta period have been changed (see notes).
- This release has one very minor compatibility change.
- This release has no translation changes.
Contents
Custom Admin Menu
Also known as the "dynamic admin menu," the admin menu now has a much greater degree of customization. Server administrators can add new entries onto the menu via configuration files. For more information, see Custom Admin Menu (SourceMod).
TF2 Extension
The TF2 extension adds scripting functionality to servers running Team Fortress 2. It also adds two new multi-targets for admin commands:
- @red - Everyone on the red team
- @blue - Everyone on the blue team
The new scripting functionality is split into natives and stocks.
RegEx Extension
The new regular expression extension adds scripting features for text pattern matching. You can view the new API here.
Entity Output Hooking
Entity outputs are delayed inputs from one entity to another. This system allows maps to queue actions on certain entities. When a specific action happens, the queue is emptied, and all of the inputs are fired.
SourceMod now allows scripts to intercept when these events fire. This is a powerful feature that lets plugins listen for very specific events, for example, when a door opens (class CDoor, event "OnOpen").
The API for this is here.
Map Config Helper
There is a new forward, OnAutoConfigsBuffered, for map config plugin authors. Using OnConfigsExecuted to run config files is a mistake, because config files must be guaranteed to have already loaded by that point in time, and ServerCommand is delayed.
Plugins with this mistake were notified a few weeks ago, and with this release, authors should make sure they fix any conflicts.
Changes
- The admin menu is now user-modifiable (the "Dynamic Admin Menu").
- Added a TF2 extension with Team Fortress 2 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 instead.
- Fixed amb1684 - Blank passwords required an existing but empty setinfo 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
Blank Passwords
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.
Moved Config Files
Two files were moved during the shift from beta to release. These files were introduced during the beta cycle and thus this modification is not considered a compatibility change. Nonetheless, there is a compatibility shim for this change.
- configs/dynamicmenu/adminmenu_grouping.txt is now configs/adminmenu_grouping.txt
- configs/dynamicmenu/menu.ini is now configs/adminmenu_custom.txt
- configs/dynamicmenu has been removed
Temporary compatibility is as follows: If any older file exists, it is loaded instead of the new file. If an old file cannot be found, the new file is loaded instead. This compatibility shim will be removed from all branches next release.
DoD:S Beta Support
Since DoD:S Orange Box is a beta, its SDKTools support is experimental only. It will be officially supported when DoD:S Orange Box is officially released.
Web Compiler
The web compiler has been updated to build 1.0.2-compatible plugins. Old SourceMod installations will be able to run these plugins as long as no new functionality is used.
Removed TF2 Stocks
More broken TF2 stocks have been removed. There are no compatibility shims for them.
- TF2_GivePlayerWeapon
- TF2_EquipPlayerClassWeapons
- TF2_SetPlayerClass's third parameter is now ignored
These functions may be restored in full if workarounds can be found.
Support Schedule
SourceMod 1.0.2 replaces SourceMod 1.0.0, and 1.0.0 is no longer supported.
SourceMod 1.0.1 will continue to be supported, however, all bug fixes will occur in the 1.0.3 branch (which includes all changes in 1.0.2). Support for 1.0.1 will stop when 1.0.3 is released.