Currently amxmodx doesn't reload modules that use metamod, so MODULE_RELOAD_ON_MAP_CHANGE being defined or not doesn't make any difference.
Even though this commit currently doesn't change any behavior, amxmodx might in the future support reloading modules that use metamod, and all these modules in their current state either fail completely because of erroneous cleanup, or are untested (and most likely leak stuff).
Furthermore, these changes make it clear that these modules are in fact not being reloaded.
Modules are loaded before plugins, and can hook OnPluginsLoaded. Therefore, they should be unloaded AFTER plugins, and be able to hook OnPluginsUnloaded. This was not the case for reloadable modules.
This affects nvault module, whose OnPluginsUnloaded function wasn't being called.
* 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