Commit Graph

41 Commits

Author SHA1 Message Date
Karol Szuster
361a6cc9e0 Introduce a JSON module (#379)
* 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
2017-09-30 20:23:12 +02:00
Karol Szuster
604ecbd31e Fix build clang 3.9+ (#458)
* 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?
2017-09-25 15:22:53 +02:00
Vincent Herbet
ab854ec035 Improve UTF-8 support in some natives (bug 6475) (#407)
* 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
2017-08-05 10:32:16 +02:00
Arkshine
23080b7455 Refactor and cleanup the AMBuildScript a bit 2016-02-12 02:05:17 +01:00
Arkshine
07f87990ef Remove use of Vendor.behavior in AMBuild scripts 2016-02-03 22:53:40 +01:00
Arkshine
85f03c4a06 Fix linux compilation with gcc-4.8 and higher. 2015-10-13 20:25:09 +02:00
Arkshine
f976861e21 Fix AMBuild and VS projects files 2015-10-02 23:22:22 +02:00
Vincent Herbet
f68a53e46a Fix mac compilation 2015-06-27 16:26:39 +02:00
Arkshine
934e0208bf Fix a clang-3.6 compilation issue 2015-06-01 20:19:10 +02:00
xPaw
fddebce313 Update modules paths 2015-03-13 15:23:05 +02:00
Arkshine
aaafe0f3f2 Compile Hashing lib as static and link to AMXX 2015-03-10 12:15:46 +01:00
Arkshine
6ac5211062 Zlib: Compile as static library 2015-03-09 23:59:11 +01:00
Arkshine
181cbae74c Use upstream AMTL as a submodule 2015-03-09 22:53:58 +01:00
HttrckCldHKS
c071f53f2c Add new hashers and new natives
Replace the only hasher called MD5 with the ones listed below.

(+) CRC32, MD5, SHA1, SHA256, SHA3 224 BIT, SHA3 256 BIT, SHA3 384 BIT,
SHA3 512 BIT, Keccak 224 BIT, Keccak 256 BIT, Keccak 384 BIT and Keccak
512 BIT.

Add the natives listed below.

(+) hash_string(const string[], hashType:type, output[], const
outputSize)
(+) hash_file(const fileName, hashType:type, output[], const outputSize)
(+) is_arkshine_a_doctor() :  Hidden native, but a sign of recompense
for him being very active since 1.8.3 version of AMX Mod X
(+) get_system_endianness() :  Checks if the system is currently Big
Endian or Little Endian.

Add the following Enum.

(+) hashType {}
(+) sysEndianness {}

Deprecate the following natives.

(-) amx_md5()
(-) amx_md5_file()

It has been tested on Windows and Linux. The sanity checks seems to be
properly working, so no worries about them.

These are useful if people are using Sockets, cURLs or MySQLs in order
to compare hashes of different files On-line for further investigation.
You are not able to check if the files are older or newer, but you can
see if the content is different (Hash Checksum mismatch).

I'm glad I did this. Thanks to
2015-02-16 14:39:45 +02:00
Arkshine
c93995a827 Fix missing libm linkage (math functions like floor, etc.) 2015-02-06 21:37:14 +01:00
Arkshine
bab760897b Attempt to fix OSX compilation 2015-01-07 19:23:23 +01:00
Vincent Herbet
7f71cfaee7 Merge pull request #165 from Arkshine/feature/add-version-lib-and-missing-rc
Update versioning system and add missing module RC file (bug 6222)
2015-01-07 18:59:51 +01:00
Arkshine
f4a3d07b0e Fix missing binary suffix 2014-12-10 15:05:47 +01:00
Arkshine
3594c11238 Update versioning 2014-12-08 01:39:10 +01:00
Arkshine
1977bf4d29 C++11: Update AMBuildScript 2014-12-06 14:33:22 +01:00
Arkshine
325a746d90 Compiler: Fix issue with multidimensional array variable release.
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=6100.
2014-08-26 09:04:39 +02:00
Vincent Herbet
204004b90e Merge pull request #112 from Arkshine/deduplicate-files
Deduplicate a number of files used by modules by moving them to the public directory
2014-08-23 10:00:13 +02:00
Reuben Morais
5d9428f014 Look for Metamod in ../metamod-hl1 as well since that's the name of the new git repo. 2014-08-16 18:16:03 -03:00
Arkshine
bc856740f2 Update AMBuildScript and renamed the generic moduleconfig.h file to avoid conflict. 2014-08-09 18:27:55 +02:00
David Anderson
6bf21c5687 Tweak build scripts so the vs build frontend will work. 2014-08-02 12:29:53 -07:00
Arkshine
d7b3b47aa4 Cstrike: Import some memory tools from SourceMod 2014-05-28 22:51:14 +02:00
Scott Ehlert
0519111528 Remove debug spew. 2014-04-20 14:56:45 -05:00
Scott Ehlert
2d4e3a6d25 Link amxxpc with static libstdc++ on Linux. 2014-04-20 14:52:50 -05:00
Arkshine
f3aee6d766 Add AMTL files 2014-05-03 13:00:21 +02:00
David Anderson
4df96b097d Add env var support to AMBuildScript. 2014-02-13 00:04:52 -08:00
Scott Ehlert
be4d91c105 Add -mmacosx-version-min=10.5 to compiler flags on OS X. 2014-02-12 19:40:05 -06:00
David Anderson
f0f319a418 Add WinCSX to AMBuild scripts.
Former-commit-id: eca50829ae
2014-02-08 21:16:41 -08:00
David Anderson
779e064a17 Add .rc files.
Former-commit-id: 3d9c34eff6
2014-02-08 20:53:01 -08:00
David Anderson
1f15fdd6cb Update versioning for AMBuild and git.
Former-commit-id: ea473061ef
2014-02-08 20:37:33 -08:00
David Anderson
a07cf853d7 Fix a cxxflag being in cflags.
Former-commit-id: 4358bad902
2014-02-08 16:27:02 -08:00
David Anderson
922b4802f1 Port AMBuild scripts to Windows.
Former-commit-id: 9af9b5f205
2014-02-08 16:09:29 -08:00
David Anderson
bd586d37e6 Add OS X support to AMBuild and 10.9 support to amxxpc.
Former-commit-id: 91779cb941
2014-02-08 15:25:57 -08:00
David Anderson
90b2860fd2 Get parity with makefile flags.
Former-commit-id: d1ee3b0780
2014-02-08 14:49:03 -08:00
David Anderson
e57845dd50 Add the PackageScript.
Former-commit-id: 8fe47f62d5
2014-02-08 13:46:34 -08:00
David Anderson
ad36859607 Port plugin building to AMBuild.
Former-commit-id: 9ac73de5b2
2014-02-08 12:42:00 -08:00
David Anderson
c4e90ce865 Initial import of AMBuild infrastructure for C++ projects.
Former-commit-id: 53baa4f8c2
2014-02-08 01:14:15 -08:00