* 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
* clang 4.0: fix ordered comparison between pointer and zero
* clang 4.0: fix taking address of packed member
Maybe someday someone will properly fix it
* clang 3.9: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior
Someday proper fix?
* Missing amx_help_display_msg_time var in amxx.cfg
* Missing vars in CS DOD TFC and TS core.ini
* Standardization to others file location comments in clcmds.ini
* Missing account flag comments + typo errors in NS users.ini
* Restmenu: Use CS_OnBuyAttempt forward to detect any buy attempt - part 1
- Removed any useless code which won't be needed anymore with forward. A lot!
* Restmenu: Use CS_OnBuyAttempt forward to detect any buy attempt - part 2
- Added the actual forward
- Because of forward passing a CSI_* constant, it's needed to refactor how is saved a blocked item. Not fully implemented everywhere because menu is going to be refactored later as well.
* Restmenu: Replace findAliasId() by cs_get_item_id()
* Restmenu: Use cvar pointers
* Restmenu: Refactor menu - part 1
Purpose:
- Convert old menus to new menus.
- Instead of having one menu with several pages, having one main menu (item types) and sub-menus (items list). More readable, more easy to naviguate and no pagination.
- Move hardcoded strings to ML
* Restmenu: Refactor menu - part 2
Purpose:
- Convert old menus to new menus.
- Instead of having one menu with several pages, having one main menu (item types) and sub-menus (items list). More readable, more easy to naviguate and no pagination.
- Move hardcoded strings to ML
- Minor visual improvements
* Restmenu: Refactor podbot stuff
- Factorized code
- Used a more direct way to set restrictions
* Restmenu: Refactor load/save config file
- Used new file natives
- Moved harcoded message header to ML
- QoL: saved restricted items will be grouped per type
- Cleaned up few things
* Restmenu: Refactor amx_restrict command
- Minor improvements on how are retrieved/handled arguments from command.
- Same as menu, it displays first classes list, then it lists associated items. No more pagination.
- Minor visual changes.
* Restmenu: Remove unused stuffs
* Restmenu: Move more harcoded messages to ML
* Restmenu: Move MAPSETTINGS define to cvar
- Don't forget me in changelog
- There is room for improvements but for now keep the same behavior
* Restmenu: Add some consistency, no code change
- Renamed some variables
- Changed functions order
- Removed extra spaces
- Fixed leading tabs
* Restmenu: Use inline formatting at various places
* Restmenu: Make command descriptions multilingual for player
* Restmenu: Refresh opened menus if the command is used to save/load/set.
Also, I've removed the renaming of "exit" item because it was misleading as it returns MENU_EXIT when it's named with "back" and handling the action wiht that doesn't make much sense.
* Restmenu: Adjust minor things (consistency, readability, safety)
* Restmenu: Show the current category when items are listed through the command
* Restmenu: Display admin activity on loading/saving
+ load: reset blocked items only if file has been loaded
+ load: ignored if no arguments
+ save: added a silly fix because of the cvars
* 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
* AdminHelp: Use semicolon everywhere
* AdminHelp: Translate amx_help description
* AdminHelp: Use the available ADMIN_ALL define in register_concmd
* AdminHelp: Bind the cvars
* AdminHelp: Replace %L by %l
* AdminHelp: Remove task only when necessary
* AdminHelp: Reorder some lines to prepare next commit
* AdminHelp: Use read_arg_int() on the first argument and clamp the value
* AdminHelp: Use read_arg_int() on the second argument and clamp the value
* AdminHelp: Rename few variables and callback
* AdminHelp: Use constants for buffers max length
* AdminHelp: Add amx_searchcmd command, and update the multilingual file
* AdminHelp: Adjust spacing a little for readability
* AdminHelp: Add amx_help_display_msg_time cvar
* AdminHelp: Add the new command in the help message (and fix missing return)
* AdminHelp: Add a check if provided entry no. goes above the total found entries
* AdminHelp: Don't show the help message for begin if all commands are already displayed
* AdminHelp: Make sure the server command use amx_help_amount_per_page value
* 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.
* Add ReHLDS API files and its dependencies
Note: This has been stolen from ReAPI AMXX module and modified/adjusted to match AMXX existing includes and to provide as less dependencies as possible as well
* Add the necessary files to get ReHLDS interface
* Split SV_DropClient into pre/post code
* Init ReHLDS API and add SV_DropClient hook
* Add Cvar_DirectSet hook and adjust code with helpers
Note: we don't need to split code here. This is pretty much the naive and straight way, but fairly enough for our case. If it happens we got a lot more hooks, we may consider to use some class to manage better the things.
* Move platform and interface stuff in their own files in public directory
* Make sure to init cvar stuff after ReHLDS
* Add ReGameDLL API files and its dependencies in cstrike module
* Init ReHLDS in cstrike module and adjust code
Note: About cs_uset_set_model(). ReHLDS API doesn't offer a way to know directly the precached models, so instead of looping through all the ressources, the models list is saved one time at map change into a hashmap.
* Init ReGameDLL and adjust code
* Fix linux compilation
* Init ReGameDLL in fakemeta module and adjust code
* Rename /reapi directory to /resdk to avoid confusion
* Retrieve gamerules pointer through InstallGameRules in fakemeta module
* Retrieve gamerules pointer through InstallGameRules in cstrike module
Note: actually gamerules is not used if regamedll is enabled, but it could be used in future natives.
* Fix a typo when ReGameDLL is not enabled
* Fix missing interface check for ReHLDS.
I'm pretty sure I was checking at the very first since I worked first on vanilla version of engine, looks like change has been lost.