AMX Mod X 1.76 Changes

From AlliedModders Wiki
Revision as of 15:28, 19 August 2006 by Faluco (talk | contribs) (request)
Jump to: navigation, search

AMX Mod X 1.76 will be a small feature release and contains mostly bug fixes. This changelog is brought to you by Batman and ramen.

New Plugin File Features

Per-Map Plugin Files

You can now have per-map plugin configuration files. AMX Mod X will automatically load any plugins listed in files having the following name: configs/maps/plugins-<map>.ini. Thus, de_dust specific plugins will be loaded from configs/maps/plugins-de_dust.ini.

Map-specific plugin files are parsed after the main plugins.ini is parsed, and after all secondary plugins-*.ini files are parsed in the configs folder. This means that a map-specific plugin listing inherits all settings above itself.

Disabling Plugins

A second feature was introduced to let users disable plugins per map. In any plugins-*.ini file, you may now add a "disabled" flag to a plugin name. This works like the "debug" flag. Example: gaben.amxx disabled

This will block the plugin from being loaded from any other configuration file. So if plugins-de_dust.ini has the example line above, gaben.amxx will not be loaded from any other plugins file.


Full Changelog

Core Changes

New Features

  • The compiler has been heavily optimized and will now compile plugins much faster.
  • Request am43012: You can now specify per-map plugins files. For example, you can list de_dust only plugins in configs/maps/plugins-de_dust.ini.
  • You can now specify a new "disabled" option after plugin names in plugins.ini files. This will prevent the plugin from being loaded in any config file, and is useful for disabling plugins in map-specific plugin files.
  • Request am42871: Source file name is shown in the binary logs when the plugin is in the debug mode.

Bug Fixes

  • Fixed a bug where secondary plugin files would not autoload modules.
  • Fixed a serious corruption bug in callfunc_push_intrf, callfunc_push_floatrf, and callfunc_push_str. Strings or data passed with these methods could be easily overwritten internally.
  • Fixed am41317: ExecuteForward() string parameters would be trashed on future internal string calls.
  • Fixed am41777: time.txt was not included in the installer.
  • Fixed am42213: "amx_logs" was incorrectly listed as "amx_logsdir" in core.ini.

Scripting Changes

Additions

  • Request am41585: Enhanced functionality of glb_pStringBase with global_get() and added a new return type to pev().
  • Request am41295: Added CZ model types to the CsInternalModel enumeration.
  • Request am42697: Added SQL_GetQueryString() to find the query string of a query handle.
  • Request am42810: Added callfunc_push_array() to push an array through a callfunc.
  • Request am40967: set_fail_state() now logs that the plugin is failed.
  • Request am41375: cs_set_weapon_silen() now has an additional parameter to toggle whether silencer animation is shown.
  • Added amxx_setpl_curweap() to the native exports table.

Bug Fixes

  • Fixed am42916: get_user_aiming did not work on Linux.
  • Fixed am40963: GeoIP did not strip ports from IP addresses.
  • Fixed am41483: xs.inc did not have double-include prevention.
  • Fixed am43313: plugin_log() did not actually block log messages on returning PLUGIN_HANDLED.
  • Fixed am42097: Hooking FM_ServerDeactivate did not work.
  • Fixed am42307: nvault_open() did not return -1 on failure.
  • Fixed am42383: SQL_ThreadQuery() was not working when called from plugin_end().

Plugin Changes

Additions

  • Request am41367: stats_logging.sma now logs extra weapons from CSX.

Bug Fixes

  • Fixed am42013: TFC team menu did allow for changing from blue team. Also, all plmenu plugins showed team change messages in the language of the admin.
  • Fixed am41768: statssounds.sma for TS had the wrong plugin name.
  • Fixed am41563: TFC plmenu.sma had the wrong team names.

Module Fixes

  • Fixed am41030: All stats modules could generate files that would break the file parser.
  • Fixed am41961: Fakemeta hooks for GetPlayerAuthId, GetPlayerWONId, and IsMapValid were not being reset on mapchange.
  • Fixed bug in Fakemeta where DLLFunc_RegisterEncoders would not actually make a call.