Difference between revisions of "SourceMod 1.0.2 Release Notes"

From AlliedModders Wiki
Jump to: navigation, search
m
(Team Fortress -> Team Fortress 2)
 
(11 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
__FORCETOC__
 
__FORCETOC__
 
'''1.0.2 IS LOCKED FOR FEATURES.  DO NOT COMMIT ANY FEATURES WITHOUT ASKING BAIL.'''
 
  
 
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]].
Line 11: Line 9:
 
*[[Image:checkmark.gif]] '''This release has no translation changes.'''
 
*[[Image:checkmark.gif]] '''This release has no translation changes.'''
 
<br />
 
<br />
 +
 
=Custom Admin Menu=
 
=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 [[Dynamic Admin Menu (SourceMod)]].
+
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 53: Line 75:
 
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.
 
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. 
  
=TODO=
+
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.
*<strike>Change menu.ini to "adminmenu_custom.txt" or something else a bit more conformant (shimming the old functionality).</strike>
 
**<strike>Perhaps remove dynamicmenu folder entirely?  It seems awkward to squirrel things in there, with adminmenu_sorting.txt applying to both.</strike>
 
**Document the changes here for beta users.
 
**Put comments in those files linking to the doc.
 
*Test and run the API feed on the site to make sure it collects the new natives.
 
*Add sections to this page for the new functionality.
 
*<strike>Update or remove signatures for {{amb|1727}}.</strike>
 
*<strike>Verify and land a fix for {{amb|1686}}.</strike>
 

Latest revision as of 19: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.

  • Checkmark.gif All old plugins and extensions will continue to work.
  • Checkmark.gif This release has new config files, but no config changes.
  • Badmark.gif Config files introduced during the beta period have been changed (see notes).
  • Badmark.gif This release has one very minor compatibility change.
  • Checkmark.gif This release has no translation changes.


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.