Commit Graph

72 Commits

Author SHA1 Message Date
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
KliPPy
2863455185 Add menu pagination callback (#420)
* Add menu pagination callback

* Update test plugin
2017-04-04 10:29:18 +02:00
KliPPy
828e74e6c3 Add RequestFrame() native (#412)
* Add RequestFrame() native

* Change underlying container from CQueue to ke::Deque

* CFrameAction: Fix PackageScript and MSVC project, wrap CFrameAction in AutoPtr
2017-02-23 12:55:53 +01:00
IgnacioDM
e502e12e07 Normalize line endings and whitespace 2016-01-16 21:15:52 -03:00
Arkshine
6190582f16 Fix missing master.games.txt reference in PackageScript 2015-12-05 18:43:33 +01:00
Arkshine
d3e5957215 Cstrike: Add cstrike_const.inc and move existing constants there 2015-11-03 10:45:44 +01:00
Arkshine
f31e0e405f Add gamerules offsets for supported mods 2015-11-02 20:10:34 +01:00
Arkshine
ed4faf7c11 Fix player not being internally disconnected in some situation + add client_disconnected forward 2015-08-14 00:08:50 +02:00
Arkshine
222b1c651b Gamedata: Add HLDM entities classes 2015-08-09 16:25:18 +02:00
Arkshine
0baa7d47b6 Gamedata: Add Opfor entites offsets 2015-08-07 20:36:55 +02:00
Arkshine
c80d6e5284 Gamedata: Add TFC entites offsets 2015-08-07 20:20:55 +02:00
Arkshine
ad63658f9e Gamedata: Add DoD entities offsets 2015-08-07 20:13:54 +02:00
Arkshine
ffb9bc92d6 Gamedata: Fix Master and PackageScript to reflect changes 2015-08-07 20:01:11 +02:00
Arkshine
672c519378 Gamedata: Move more CS classes not linked an entity to /others.games 2015-08-07 18:06:32 +02:00
Arkshine
cfd8526961 Gamedata: Move CS hostage-related classes not linked to an entity to /hostages.games 2015-08-07 18:02:54 +02:00
Arkshine
864e0b88eb Cstrike: Move all hardcoded datas to its own gamedata files 2015-07-14 19:44:01 +02:00
Arkshine
f38c726faf Gameconfig: Add game configs natives 2015-07-11 13:16:45 +02:00
Arkshine
54223e9a99 Use the new Travis-CI Container environment 2015-04-19 20:10:04 +02:00
Arkshine
32e1908859 Add submodule support in checkout-deps.sh 2015-03-14 13:23:47 +01:00
xPaw
fddebce313 Update modules paths 2015-03-13 15:23:05 +02: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
faeaf9259e Cvars: Add OnCvarChanged global forward
I really tried to use "cvar_changed" as name, but it bothered me so much to look that weird I could not keep it.
2015-01-23 19:05:31 +01:00
Arkshine
3594c11238 Update versioning 2014-12-08 01:39:10 +01:00
Arkshine
7317f1d233 Update PackageScript. 2014-08-06 09:17:48 +02:00
Arkshine
0cf5a2e12f Expose ParseFile_INI to API.
Some minor changes have been made in parser:

- Added ReadINI_ParseStart and ReadINI_ParseEnd call.
- Function returns SMCResult instead of bool. To avoid unecessary complexity and duplicating natives, this feels more appropriate to let these functions to share some SMCResult and SMCParse constants. Since properly documented, this should be ok.
- Made sure curtok is set to 0 when ptr_val is null, otherwise unexpected value would be passed into the forward.
2014-08-06 09:17:45 +02:00
Arkshine
0d59209e4c Geoip: Replace GeoIP.dat by GeoLite2-Country.mmdb. 2014-08-05 20:08:17 +02:00
Scott Ehlert
d1122b982c Ship license files with builds. 2014-08-04 14:40:01 -05:00
Vincent Herbet
30b0585447 Fix missing cellstack.inc file. 2014-08-02 18:42:18 +02:00
Arkshine
e7b7506efa Introduce API to create Stack structures 2014-08-01 23:14:44 +02:00
xPaw
f2b1d26da3 Add --no-mysql to checkout-deps.sh 2014-07-27 12:31:19 +03:00
xPaw
a6f10efd03 splitext didn't work 2014-07-27 12:11:44 +03:00
xPaw
868be37007 Remove svn_version.inc from package script 2014-07-27 11:09:15 +03:00
xPaw
1c32e7284b Fix package script copying wrong amxmodx_version file to include folder 2014-07-27 11:02:06 +03:00
Arkshine
939a724b1a Regex: Add regex_replace native. 2014-07-17 11:21:06 +02:00
David Anderson
55cb6d4b94 Remove verbose untar from checkout-deps. 2014-06-05 13:40:04 -07:00
Arkshine
bfdf734ac1 Add Travis CI 2014-06-05 19:45:03 +02:00
David Anderson
d3e8b9066c Revert "Merge pull request #29 from xPaw/travis-ci"
This reverts commit 17b8858408, reversing
changes made to 0375d6469a.
2014-06-05 10:11:38 -07:00
Vincent Herbet
4c473451c9 Merge pull request #28 from xPaw/remove-amxmod-compat
Remove amxmod compatability
2014-06-05 19:00:27 +02:00
xPaw
e3e3d8a255 🔥 Remove NS2AMX utility backwards compatibility 2014-06-05 17:18:25 +03:00
xPaw
563e4fcdf4 Update versioning script to match SourceMod changes 2014-06-05 14:37:37 +03:00
xPaw
ae9315ad48 🔥 Remove amxmod compatability
This doesn't remove anything from the engine
2014-06-05 13:48:56 +03:00
David Anderson
9b51137767 Update checkout-deps.sh. 2014-05-26 16:21:20 -07:00
Scott Ehlert
db001a6eb5 Sync changes from SourceMod's bootstrap script. 2014-05-17 16:37:12 -05:00
Scott Ehlert
f69a8e66c6 Don't copy debug files into package directory.
Debugging symbols should be present in the binaries by default now.
2014-05-17 14:57:57 -05:00
Scott Ehlert
072747b741 Add --symbol-files option to AMBuild configure. 2014-05-17 14:54:38 -05:00
Arkshine
a86ca1491f Add new string natives/stocks, make some UTF-8 safe (bug 6110, r=ds) 2014-04-30 09:33:03 +02:00
Arkshine
e81e7bee13 Fix missing DataPacks plugin test and include file in PackageScript (thanks GuskiS) 2014-04-12 20:33:55 +02:00
David Anderson
d77e4a1470 Fix package.pl. 2014-03-11 19:54:37 -07:00
David Anderson
ea051bddfb Import the package needed for rmtree(). 2014-02-12 23:30:03 -08:00
David Anderson
fb186b6fab Add a checkout-deps.sh script. 2014-02-12 20:46:19 -08:00