Commit Graph
100 Commits
Author SHA1 Message Date
Arkshine de85f2735e Fix compiler crash due to missing recursion message warning. 2014-08-31 14:52:24 +02:00
Vincent Herbet 1463103cd7 Merge pull request #116 from Arkshine/update-compiler-safe-fix-feature
Update compiler
2014-08-26 09:07:45 +02:00
Arkshine f30c7a63b1 Compiler: Fix linux compilation and close file handle on success in pc_opensrc. 2014-08-26 09:06:02 +02:00
Arkshine e46785a434 Compiler: Improve/fix recursion detection.
Imported from Pawn 3.2.3664 and 3.3.3875.
2014-08-26 09:05:23 +02:00
Arkshine a873066466 Compiler: Fix enum field size was not taken into account when implicitly passed to a function.
Imported from Pawn 3.3.3930.

Example:

---

enum tag
{
  member[32]
}

new var[tag];

foo(const string[], size = sizeof(string))
{
    // size returns 1 before fix, 32, after.
}

public plugin_init()
{
    foo(var[member]);
}

---
2014-08-26 09:05:22 +02:00
Arkshine f60b00ee71 Compiler: Use hash table for global name lookups.
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=4496.
2014-08-26 09:05:20 +02:00
Arkshine a876962405 Compiler: Use in-memory buffers for reading files, and handle newlines better.
Imported from https://github.com/alliedmodders/sourcemod/pull/63.
2014-08-26 09:05:18 +02:00
Arkshine c2ca5d857d Compiler: Change __line to __LINE__. 2014-08-26 09:05:17 +02:00
Arkshine 27825963f6 Compiler: Fix indentation. 2014-08-26 09:05:15 +02:00
Arkshine ca7b0ceadd Compiler: Revert "Add #warning directive."
Probably not that useful.
2014-08-26 09:05:13 +02:00
Arkshine 32b546df69 Compiler: Revert "Fix runtime error in variadic functions that return strings."
Better fix by dvander will be provided later.
2014-08-26 09:05:11 +02:00
Arkshine cea2f598b2 Compiler: Fix a regression in handling multi-dimensional arrays (introduced in 744d67b)
Fix imported from Pawn 3.3.4058.
2014-08-26 09:05:10 +02:00
Arkshine d44eb7bf8d Compiler: Update VERSION_INT.
Some people may want to check compiler version with __Pawn, and it would be a good idea to bump the version.
Since we have a special version, and to avoid to use digit which may be used by official version, I propose using letters, so: 0x30A.
This should be resonneable.
2014-08-26 09:05:08 +02:00
Arkshine e1445316aa Compiler: Fix moar. 2014-08-26 09:05:07 +02:00
Arkshine 238e3707c8 Compiler: Fix linux compilation. 2014-08-26 09:05:05 +02:00
Arkshine 16e5f54507 Compiler: Improve the reported line number accuracy on warning 203/4 (symbol never used).
Imported from Pawn 3.1.3541+.
https://code.google.com/p/pawnscript/source/detail?r=25
2014-08-26 09:05:03 +02:00
Arkshine 65c29cafa0 Compiler: Fix #elseif handling not working as expected.
Improted from Pawn 3.1.3636.

-- Example

#define VAR 1

#if VAR == 1
  // code
#elseif VAR == 2
  // code
#endif

--
Returns error(38).
2014-08-26 09:05:01 +02:00
Arkshine c4b233d094 Compiler: Improve sizeof return on array without specifiying the dimensions.
Imported from Pawn 3.1.3636.

"When making an array without specifiying the dimensions, but where the element
count at the lowest dimension is the same for all, the compiler now "counts"
this size, rather than setting the lowest dimension as "variable length".

An example for this situation is the declaration:
    new my_array[][] = { {1,0}, {2,1}, {3,1} }
No dimensions are given, but the new compiler determines that the minor
dimension is 2 (and the major dimension is 3). Previous compilers set the
minor dimension to 0 --meaning "variable"."
2014-08-26 09:05:00 +02:00
Arkshine cd189320e5 Compiler: Fix the "@" character was not allowed in macro definitions (while the documentation stated that they were).
Imported from Pawn 3.1.3599.
2014-08-26 09:04:58 +02:00
Arkshine 17114347d1 Compiler: Fix runtime error in variadic functions that return strings.
Imported from SM-AM: https://github.com/Zeex/pawn/commit/1d1244c2f04845051ef94f5455b18703b59e113f.

"This fixes a bug where returning a string from a variadic function caused
an invalid memory access error during runtime. It seems like they forgot
to update existing string return code for variadic functions."
2014-08-26 09:04:56 +02:00
Arkshine 1866afd80b Compiler: Add __line
Imported from SA-MP: https://github.com/Zeex/pawn/commit/605ae7f4d3530640f50c2d5d59668deb0db15079
This is a backport from Pawn 4.0. It sets to the current line number during compile time.
Documention for 3.x actually mention this.
2014-08-26 09:04:55 +02:00
Arkshine fcdeea683b Compiler: Add #warning directive.
Basically same as error but as warning.
Imported from SA-MP: https://github.com/Zeex/pawn/commit/1bd6be93e06ff0e56d264e633b23c7d899b034e0

Example:

  #warning don't eat egg.

Result:

  warning.sma(1) : warning 234: user warning: don't eat egg.
2014-08-26 09:04:53 +02:00
Arkshine 92255bcdc3 Compiler: Fix crash when using tagof(tagname:)
Imported from SA-MP: https://github.com/Zeex/pawn/commit/53ef10ffc787545672af4118355ba340dd6b5e7c
2014-08-26 09:04:52 +02:00
Arkshine b2442a2268 Compiler: Ignore #pragma tabsize with non-positive argument.
Imported from SA-MP: https://github.com/Zeex/pawn/commit/7f30a03f9411d2169ee9e413ceb8f5b9c07dc120.
2014-08-26 09:04:50 +02:00
Arkshine 1b3b07d4d8 Compiler: Add __BINARY_PATH__ and __BINARY_FILE__.
Imported from SM: https://hg.alliedmods.net/sourcemod-central/rev/bd38ac67afe1 and https://hg.alliedmods.net/sourcemod-central/rev/eb4c45360aaf.
2014-08-26 09:04:48 +02:00
Arkshine 95f3b0d354 Compiler: Fix return omission with else-after-return.
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=4852.
2014-08-26 09:04:47 +02:00
Arkshine 9b5c6bfff0 Compiler: Fix asserting when returning a string literal.
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=3836.
2014-08-26 09:04:45 +02:00
Arkshine 57b172072a Compiler: Fix bogus assert about name lengths.
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=4486.
2014-08-26 09:04:44 +02:00
Arkshine 3b2618f63b Compiler: Fix improper handling of constant chained relational operators.
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=3838.
2014-08-26 09:04:42 +02:00
Arkshine 4f525b9150 Compiler: Fix memory corruption when parsing natives.
Imported from SM: https://bugs.alliedmods.net/show_bug.cgi?id=5840
2014-08-26 09:04:40 +02: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
Arkshine 6978e2dc4c Compiler: Fix in recursion detection.
Original fix imported from pawn 3.1.3522.
This fixes where for some plugins you would have:

   Stack/heap size:      16384 bytes; usage is unknown, due to recursion

Now, you get:

   Stack/heap size:      16384 bytes; estimated max. usage=782 cells (3128 bytes)
2014-08-26 09:04:37 +02:00
Arkshine 520493fab1 Compiler: Add #pragma deprecated.
This is based on SM, including patch to support macros/constants (https://hg.alliedmods.net/sourcemod-central/rev/ef8dd1cddc35).
Updated also some pawn includes to use this new pragma.
2014-08-26 09:04:36 +02:00
Arkshine 09303625fb Compiler: Generate .scp files as part of the build process.
Stolen from SM (https://github.com/alliedmodders/sourcemod/pull/112).
2014-08-26 09:02:38 +02:00
Arkshine 02b6d0a288 Compiler: Increase input line length.
1023 can be achieved really fastly, e.g. with some SQL definitions.
This is the same value as SM.
2014-08-26 09:02:36 +02:00
Vincent Herbet 4d454b474c Attempt to fix build 2014-08-23 10:17:47 +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
Vincent Herbet ccf919c58c Fix typo in previous commit (r=dvander) 2014-08-21 20:57:08 +02:00
Vincent Herbet 9e0f946696 Merge pull request #124 from Arkshine/fix-sound-onbuy
Block weapon pickup sound if shield is disallowed in CS_OnBuy forward.
2014-08-19 19:27:36 +02:00
Vincent Herbet bd08cc5126 Merge pull request #126 from Arkshine/feature-find-player-engclient_print
Allow some natives to be used on connecting players (bug 6229).
2014-08-19 18:35:52 +02:00
Arkshine bf23890a34 Reverse condition for clarity and to make Nextra happy! 2014-08-19 18:25:00 +02:00
Vincent Herbet 9eedca0a98 Merge pull request #125 from Arkshine/fix-abort
Don't show blank line in abort() with AMX_ERR_NONE (bug 6233).
2014-08-19 18:15:24 +02:00
Arkshine 68aec7eec0 Use new flags in get_players/find_player instead to avoid breakage. 2014-08-19 15:39:06 +02:00
Arkshine 76811b7b84 Allow get_players() as well. 2014-08-19 10:08:25 +02:00
Vincent Herbet 38d43e8fc9 Merge pull request #122 from xPaw/lastmanhp
Add an option to disable showing last man's health (bug 5847)
2014-08-19 09:56:07 +02:00
Arkshine 9cd90838e1 Remove safety checks as it's not really necessary. 2014-08-19 09:04:09 +02:00
Arkshine e7d7de870a Block weapon pickup sound if shield is disallowed in CS_OnBuy forward. 2014-08-18 22:02:08 +02:00
Vincent Herbet bcbf454255 Merge pull request #123 from yamikaitou/master
Fix compile error
2014-08-18 14:36:49 +02:00
Arkshine 481e1528d6 Don't show blank line in abort() with AMX_ERR_NONE (bug 6233). 2014-08-17 23:33:00 +02:00
Arkshine 33c0a676fd Allow find_player() and engclient_print() (in console) to be used on connecting players (bug 6229). 2014-08-17 23:31:46 +02:00
Vincent Herbet 19f1c1a9ec Merge pull request #119 from reuben/metamod-path
Look for Metamod in ../metamod-hl1 as well since that's the name of the new git repo
2014-08-17 15:45:00 +02:00
Vincent Herbet f185eaa232 Update TRANS_SILENT Serbian translaton. 2014-08-16 17:41:27 +02:00
Vincent Herbet d49064b43e Merge pull request #113 from kiapwnz/silentswitch
Added Silent Transfer Option in Team Menu.
2014-08-16 15:13:18 +02:00
Vincent Herbet e6b8188480 Merge pull request #118 from Arkshine/zlib-update-vs-project
Update VS projects in #117.
2014-08-16 14:46:49 +02:00
Arkshine ab81658471 Update VS projects in #117. 2014-08-16 14:19:09 +02:00
Vincent Herbet 8f2aeed9da Fix missing TE_BEAMENTPOINT define. 2014-08-15 14:20:51 +02:00
Arkshine 0fed80968b Fix OSX compilation #1. 2014-08-10 22:58:38 +02:00
Arkshine 41f6932b68 Remove some SourceMod namespace. 2014-08-10 22:25:14 +02:00
Arkshine 1ae40316a8 Fix nvault issues.
This includes an original one leading to a crash at mapchange if empty key or value are saved.
2014-08-10 22:11:40 +02:00
Arkshine 3dace577fe Remove svn_version.h reference from project files. 2014-08-10 19:08:50 +02:00
Arkshine 1395b42692 Update wincsx project files. 2014-08-10 19:06:21 +02:00
Arkshine c0a132e039 Update tsx module project files. 2014-08-10 18:53:13 +02:00
Arkshine 9b6110edc6 Update tsfun module projects files. 2014-08-10 18:47:02 +02:00
Arkshine 2b64ee21b3 Update tfcx module project files. 2014-08-10 18:42:04 +02:00
Arkshine a290f7d299 Update sockets module project files. 2014-08-10 18:38:24 +02:00
Arkshine a8e6cfe5cf Update regex module project files. 2014-08-10 18:29:55 +02:00
Arkshine 9d53d48552 Update ns module project files and use AMTL. 2014-08-10 18:29:55 +02:00
Arkshine 3f6ad29f55 Update sqlite module project files and use AMTL. 2014-08-10 18:29:38 +02:00
Arkshine ab16be08f5 Update nvault module project files and use AMTL. 2014-08-10 18:29:19 +02:00
Arkshine 3ba84fb283 Update mysql module project files and use AMTL. 2014-08-10 18:29:10 +02:00
Arkshine 4f3d335ab4 Update hamsandwich module project files and use AMTL. 2014-08-10 18:28:56 +02:00
Arkshine 4f776ee56b Update geoip module project files. 2014-08-09 20:59:21 +02:00
Arkshine 40313929eb Update fun module project files. 2014-08-09 20:54:20 +02:00
Arkshine c76509fe41 Update fakemeta module project files and use AMTL. 2014-08-09 20:50:45 +02:00
Arkshine 889ad7c3eb Update engine module project files and use AMTL. 2014-08-09 20:32:10 +02:00
Arkshine d59f4cf199 Update dodx module project files. 2014-08-09 19:56:34 +02:00
Arkshine dc9c2897fd Update dodfunc module project files. 2014-08-09 19:53:37 +02:00
Arkshine b17c624c81 Update csx module project files. 2014-08-09 19:47:31 +02:00
Arkshine 9dee60934f Update cstrike module project files. 2014-08-09 19:33:04 +02:00
Arkshine bc856740f2 Update AMBuildScript and renamed the generic moduleconfig.h file to avoid conflict. 2014-08-09 18:27:55 +02:00
Arkshine c497d478ce Move out base sdk folder into public directory. 2014-08-09 17:35:08 +02:00
Vincent Herbet 17683249fd Merge pull request #111 from Arkshine/fix-array-bcomp
Fix missing backward compatibility for some Array natives.
2014-08-09 15:31:03 +02:00
Arkshine 2c146f564e Fix missing backward compatibility for some Array natives. 2014-08-09 15:22:18 +02:00
Vincent Herbet fc1732e758 Fix possible compatibility issue,
Unfortunately some plugin doesn't explicit max length, resulting a compilation error with AMXX 1.8.3 compiler.
2014-08-09 13:09:53 +02:00
Vincent Herbet 486fa99602 Trigger a build. 2014-08-08 21:26:44 +02:00
Vincent Herbet 570c9cfc6b Merge pull request #110 from Arkshine/replace-more-snprintf
Replace more snprintf by UTIL_Format.
2014-08-08 20:38:38 +02:00
Vincent Herbet 02bed88835 Merge pull request #109 from Arkshine/update-project-files
Update project files.
2014-08-08 20:38:17 +02:00
Arkshine 62eac5d91c Replace _snprintf too. 2014-08-08 13:23:38 +02:00
Arkshine b47aa6871d Replace more snprintf by UTIL_Format. 2014-08-08 12:47:15 +02:00
Arkshine eeb4ecd109 Update project files. 2014-08-08 11:27:40 +02:00
Vincent Herbet c22bb12c1e Merge pull request #108 from Nextra/inc-doc
Update include documentation (mainly amxmodx.inc)
2014-08-08 01:25:56 +02:00
Vincent Herbet a7d94a4859 Merge pull request #107 from Arkshine/Fix-array-compatibility-issue
Fix a compatibility issue with the "reserved" parameter.
2014-08-07 21:38:51 +02:00
Arkshine 72b514cdde Make sure reserved parameter is a not a negative value. 2014-08-07 21:31:53 +02:00
Arkshine aa4e60ae27 Fix a compatibility issue with the "reserved" parameter. 2014-08-07 20:40:07 +02:00
Vincent Herbet 6a24935777 Merge pull request #106 from Arkshine/fix-fallback-language
Use server language as fallback if client's "lang" key is not defined.
2014-08-07 19:42:52 +02:00
Arkshine c03271c856 Use server language as fallback if client's "lang" key is not defined. 2014-08-07 14:20:29 +02:00
Vincent Herbet 8c591bf065 Merge pull request #105 from Arkshine/kill-snprintf
Replace all snprintf with UTIL_Format.
2014-08-07 08:38:21 +02:00
Arkshine 69c46aff80 Replace all snprintf with UTIL_Format. 2014-08-07 01:42:58 +02:00
Vincent Herbet d3bc58d80b Merge pull request #101 from Arkshine/textparsers
Introduce TextParser API
2014-08-07 01:24:51 +02:00
Vincent Herbet c72d130fde Merge pull request #104 from Arkshine/add-change_level
Add change_level() native.
2014-08-07 01:24:36 +02:00