Sourcepawn 1.7 transitional syntax uses the syntax that will be used in Sourcemod 2.0. The old syntax is still very valid and will probably never be deprecated in the Sourcemod 1.* branch for backward compatibility (SM would be playing with fire by losing compatibility with more than (20*80 + 20*88 + 15*45=) 4035 plugins.
However if (or when) Sourcemod 1.* branch will become deprecated at a point, that's a not-foreseeable story.
If you want to be sure that your plugins work in SM 1.7+ & SM 2.0; you can use "#pragma newdecls required". Also
https://wiki.alliedmods.net/SourcePa...yntax#Examples has a small example on how to do the conversion.
EDIT :
Oops; I based myself on
Quote:
Originally Posted by BAILOPAN
I don't think we could get away with breaking old scripts. What we can do though is build really awesome new tools, and only allow transitioned code in the new tools. I don't know if we'll get there, but if we do - we'll be shipping two compilers and two VMs in SourceMod.
|
I meant Sourcemod 2.0 possible new compiler *. (of course "if" SM 2.0 ever exists)
RE-EDIT :
Quote:
Originally Posted by BAILOPAN
You don't need any directives to use the new syntax - just the 1.7 compiler. You can still use functag/funcenum though we have introduced a new syntax and deprecated the old one:
Code:
typedef AbilityFunction function void();
The old syntax isn't "hard deprecated"... we just don't use it upstream anymore. It'll probably get deprecated in 1.8 and removed in 1.9, or something.
|
Partially removed ?
__________________