* Fun: Replace ENTINDEX with TypeConversion for consistency
* Fun: Add a class wrapping player's data
* Fun: Make TraceLine a post forward
Reason: as it is it breaks plugins hooking TraceLine because of the original game call is being superceded and other modules can't catch it. It looks like it's this way from the very start fun module has been introduced 13 years ago before. Fakemeta module comes a little later.
* Fun: Clean up code
* Fun: Toggle PlayerPreThink forward on demand
* Fun: Toggle TraceLine forward on demand
* Fun: Add HITZONE* constants for use with set/get_user_hitzone()
* Fun: Refactor a litte the player class
* Fun: Clean up a little more
* Fun: Fix typo in set_user_hitzones from previous commit
* Allow get_players to get the players num only
* used empty brackets instead of zero
* Add get_playersnum_ex stock to amxmisc.inc
* Added missing empty brackets
* Remove brackets from get_players
* Fixed a typo in function description
* Change letters to flags in get_playersnum_ex description
* Add constants for stats functions
* Changed STATS_ to STATSX_ and added 2 more defines
* Added constants for all games
* Add csstats_const.inc and add _MAX_ constats to enum
* Change bodyhits
* Improve messages.inc and message_stocks.inc documentation
* Fix typos
* Fixed typos, added a bunch of @notes and better register_message callback function explanation
* Removed extra argument in set_msg_arg_string
* Creates => Sends
* Fixed param information
* Removed whitespace that prevented the API to generate client_disconnected information
* Fixed documentation.
* Update lang.inc
* Documentation fix
(g/s)et_user_hitzones() functions weren't generating properly in the API due to a whitespace in front of the comment blocks. @return for give item() was missing.
* Whitespace prevented API documentation from generating
* Update lang.inc
* Add JSON module
* Merge upstream changes
Fix memory leaks
* Add json include to PackageScript
* Merge upstream changes
Fix memory leaks and increase max nesting
* Fix documentation
* Use AutoPtr in managing JSON handles
* Merge upstream changes
Order of items in an array is preserved after removing an item.
* Merge upstream
* Fix crash
* Add VS projects files and fix mixed tab/spaces
* Remove erroring on "json_free"
* Add comments to "json.inc" file
* Remove overloaded operators
* Use of "override" keyword where needed
* Fix parameter's name
* Compile as static library, update AMBuildScript and link to core
* Update VS project files to include the library
* Add UTF-8 Rewind library (v1.5.1) to third_party directory
* Update ACKNOWLEDGEMENTS.txt
* Move AMXX buffer in its own function
* Move constants from string.inc to string_const.inc and update project files
* Move stocks from string.inc to string_stocks.inc and update project files
* Improve UTF-8 support in containi() and update documentation
* Improve UTF-8 support in strcmp() and update documentation
* Improve UTF-8 support in strfind() and update documentation
Worth to be noted that this native with ignorecase set was not working properly. So broken that no one reported the issue.
This adds also a safety check for "pos" parameter to not go < 0.
* Improve UTF-8 support in strncmp() and update documentation
* Improve UTF-8 support in equali() and update documentation
* Add an option to some UTF-8 Rewind functions for avoiding invalid data to be replaced
By default it replaces any invalid byte or sequence of bytes by 0xFFFD (3 bytes). It can be problematic when the input buffer is not changed (from a plugin) and that some natives need to calculate a position from the converted string. With such replacement, the position is displaced due the final string length being larger.
This compiles the library as C++, because I added some silly param with a default default value which is not supported by C.
* Improve UTF-8 support in replace_string/ex() and update documentation
* Add is_string_category() and update documentation
* Update a little testsuite plugin (and fix linux compilation)
* Add mb_strotolower/upper() and update documentation
* Add mb_ucfirst() and update documentation
* Add mb_strtotile() and update documentation
* Improve UTF-8 support in get_players() and find_player() with name/case insenstive flags set
* Fix KliPPy's complain
* elog_message
Like "log_message". Logs a message to the current server log file, however the messages sent are also sent to all plugins and can be hooked using "register_logevent".
* Update amxmodx.cpp
* Update Editor.sci
* Update UnitfrmMain.dfm
xs_vec_len_2d returns the length of a 2D vector
xs_vec_distance returns the distance between two vectors
xs_vec_distance_2d returns the distance between two 2D vectors
xs_vec_add_scaled and xs_vec_sub_scaled do two operations
in one for convenience and performance. They add/subtract a vector
scaled by a scalar to another vector. Very useful when working with
unit vectors.
* Module rewrite
- WinSock version changed from 1.1 to 2.2.
- Properly check for WinSock initialization on OnAmxxAttach/Detach.
- Now natives will not be added if we can't start up WinSock.
- socket_open() is now IP version agnostic (both IPv4 and IPv6 are
supported).
- Error reporting has been changed on socket_open(), a new parameter
called _libc_errors has been added, and, if enabled, libc errors will be
returned instead of the previous made-up errors.
- socket_close() now returns a value on success/failure.
- Added non-blocking sockets at socket_open_nb().
- Added socket_is_writable() to check if a socket is ready for write.
- Added socket_is_readable() as an alias to socket_change().
- Code rewritten to be more readable, it should be self-explaining now.
* Update docs and fix AMBuild
Updated documentation following the guidelines
* Fixs for the module
- Fixed the backwards compatibility with the return codes
- Merged socket_connect and socket_connect_nb
- Added a 5th parameter to socket_open that takes bit flags to enable
the new features (libc errors & nonblocking sockets)
- Fixed an error on socket_send2 that caused the buffet not to start
from the beginning if multiple calls were made
- Updated docs
- [docs] Prefixed error codes with SOCK_
- [docs] Added the new flags SOCK_NON_BLOCKING and SOCK_LIBC_ERRORS
- [docs] Added a new stock called SOCK_ERROR_EINPROGRESS(error) to be
used when checking if a newly created nonblocking socket is connecting
* Fixes for the docs
Fix some typos, shorten lines, document SOCK_ERROR_EINPROGRESS
* Document magic numbers
No more magic
* Revert "Document magic numbers"
This reverts commit 0f233292063400ea7fdbcd5e5d5cd6e54f8cd71c.
* More docs fixes
* Fix broken socket_send2()
* Add error checking in send2()
* Remove stock
It should not be needed because nb sockets should always be checked or
writability
* Fix some identations
* Fix return codes doc
* Fix socket_recv() regression
strncopy will stop on a null byte, that makes the function unusable to
receive binary data
* More docs typo fixes
* Rename client_disconnected to client_disconnecting
* Add client_disconnected as post forward
* Fix client not properly disconnected internally
Introduced in #264.
Edict is reset once SV_DropClient is called, so that second check would be always false.
* Reflect changes on the concerned plugins
* Revert renaming, let's add only client_remove as post forward
* Revert "Extend "read_argv" native"
This reverts commit aaa2934595.
This broke binary compatibility with either older, already compiled
plugins, or newly compiled plugins if you forgot to update .inc headers.
This happened because read_argv used to receive maxlen by value, and
after
this commit it receives it by reference. This causes read_argv either
to fail, or worse, to buffer overflow, resulting in a security vulnerability.
Newly introduced functionality for read_argv should be added with a new,
separate native.
* Add "read_argv_int" & "read_argv_float" natives