Releases: pawn-lang/YSI-Includes
Releases · pawn-lang/YSI-Includes
nightly
Nightly release, always synced to the latest version on github.
v5.10.0006
Changes
- Fix some runtime issues with different BCrypt plugins.
- Fix a tag mismatch in y_timers.
- Added the ability to silence intentional warnings in tests to see accidental ones.
Thanks
Full Changelog
v5.09.0982
Changes
- Mostly a bug-fix release; now with all tests passing.
- Added y_natives to dynamically detect and use plugins at run-time.
- Added y_decorator to aid in the creation of decorators/annotations.
- Added y_const to pass
constdata to legacy (const-incorrect) functions. - Switched to using
__consteverywhere internally. - A fair amount more documentation.
Thanks
Full Changelog
v5.08.4329
Tiny fix from v5.08.4328. See that release for a full list of improvements.
v5.08.4328
Changes
- y_weapondata added for y_vehicledata-like information about ammo and guns.
- open.mp exclusive y_args library added to parse
omp-server -- args go hereinput. - Huge number of assembly rewrites for
-O2and 64-bit compatibility, plus way more readability via y_emit constants. - Bump hook limits to 4096.
- Split up y_utils in to more specific libraries, e.g. y_utils_maths and y_utils_colours.
- Completely remove the stupid
P:macros. If you want debug prints useDebug_Print. - Interned strings to reduce YSI memory usage.
- Wider use of decorators such as
@cmd,@testand@hookinstead of the old-style fake keywords. - Fixed some y_ini format warnings in open.mp.
- y_testing now groups tests together by library and can run tests for only a single library.
- Detection of more compiler settings such as string packing.
- y_ascii added for fancy console text rendering.
- Other text wrapping and parsing functions, including (finally) player/rp names.
- Fix duplicate warnings on some compiler versions.
- Huge increase in inline streamer functions to create areas, checkpoints, etc, with bound inline entry callbacks.
- y_ebc to match the lifetime of inlines to entities, for example SQL result callbacks bound to a player thus not called if they leave.
- Fixed, simplified, and tested, y_playerset.
- Decreased some internal dependencies so fewer libraries use each other, for example y_iterate no longer uses y_va or y_hooks.
- Alternate
ASKimplementation (from before open.mp had implemented dialogs). - More script and server information at startup for debugging (especially when asking for help)
- Added function pointers to
SetTimerandSetTimerExto avoid unusedpublicfunctions being compiled. <library>tags on way more functions and variables for-rXML generation.- Exposed some more internal libraries like y_cgen, y_scriptdata and y_serverdata (were perviously in y_scriptinit)
- Per-player inline commands.
- Multiple commands with the same names.
- Loads of documentation, either in .md files or pawndoc comments.
- Combined both y_hooks versions (
hookandhook function). - Countless bug fixes.
- More y_va wrapped functions, and use natives instead on open.mp.
- YSI auxiliary runtime, for dynamic memory allocation and arbitrary native calls (
Server_HasNative,Server_CallNative, etc). - More fine-grained third-party library usage to reduce unnecessary dependencies.
- Faster y_amx function lookups (mainly at startup).
- Stack and global memory reductions.
- Better packed string support in many functions.
- More default iterators for vehicle occupants.
- Detect compiler optimisation level (sometimes).
- Finally allow
Iter_Removeusage directly insideforeachloops. - Y_Less says ta for using YSI!
- Sped up
Iter_Addfor many different cases. __pawn_build.- Auto-create YSI directories when possible.
There's probably way more. It has been over a year and over 1000 commits since the last release (and the repo only has around 3000 commits...)
y_utils
New y_utils sub-libraries:
- y_utils_arrays -
memset,memcpy,Quicksort(1d, otherwise use md-sort) etc. - y_utils_colour - Interpolation, colour space conversion, nearest colour, etc.
- y_utils_conversions -
IsNumeric,HexStr, etc. - y_utils_encodings -
BernsteinHash, base-64 encoding, etc. - y_utils_files -
ftouch,ftemporary(with auto-cleanup), copying files, etc. - y_utils_ip - Player IPs, int conversions, rendering, etc.
- y_utils_maths - Comparisons, constants, sums/aggregates, etc.
- y_utils_misc - The best function in YSI!
- y_utils_names - Various RP name parsing functions.
- y_utils_random - String/point/float random generation, weighted random, ranges, etc.
- y_utils_similarity - Levenshtein and Bigram text comparisons.
- y_utils_strings - Trimming,
IsNull, unpacking, etc. - y_utils_textwrap - Wrap strings to given lengths at word (and embedded colour) boundaries.
- y_utils_varargs -
getstringargetc.
Thanks To
Vince0789
DEntis-T
zsoolt997
leHeix
mysy00
Sancky
EOussama
ohmypxl
omcho420
Who all contributed to this version.
v5.06.1932
Changes
- Better fixes.inc compatibility.
- More pawndoc compatibility.
- Updates for the 3.10.11 compiler pre-release.
- BCrypt and Streamer plugins' inline functions.
- More compiler information:
#pragma pack,#pragma codepage,#pragma semicolonand#pragma optiondetection. __pragmabackwards-compatibility.- Functions for RP name detection.
- Improvements to
Randomfor more min/max/exclude options. - Randomisation of percentages.
HashMap_Has.- Added
y_ctrllibrary. - Added
y_asciilibrary. - Added
y_percentlibrary. declkeyword from AMXModX.Bit_Toggle.- Removed y_files internal implementation for open.mp compatibility.
- Add tag checking to y_testing.
- Start moving to decorators for functions instead of custom syntax everywhere.
- Add text splitter functions.
Plus, of course, many many fixes, tweaks, and compatibility improvemets to almost every part of the code. And documentation.
v5.05.0505
Changes:
- Many bug fixes - y_groups, y_master, y_ini, y_dialog, and more. All tests now pass.
- Improved file handling via y_files - Faster copying, Windows directory creation without plugins.
- Rename a lot of functions to proper
CamelCase. ENABLE_YSI_UNSAFE_STARTUPfor faster startup in very special cases where the scripter understands the risks.- y_bitmap file loading.
- Better startup messages for debugging and assistance.
- Abstracted startup and test messages for consistency.
- Hide unused pawndoc from XML output.
- More old compiler compatibility.
- More JIT compatibility.
- Startup checks for expected scriptfiles (see https://github.com/pawn-lang/YSI)
TryPercentage,TryPermille, andTryPPMfor random likelihoods.- More
__emitfunction inlining on the new compiler. P:F(fatal error message) stops execution instantly.- Compiler settings for
YSI_TESTSmode. - Stricter definition of y_debug output levels (defined, but not widely implemented).
- Explicitly re-enable
hook OnScriptInit. - Higher
CGENcode space defaults. - Many identical strings combined to reduce AMX size (the compiler doesn't automate this).
- Optimised
_C<>and_A<>macros for common-case code generation (smaller intermediate steps).
v5.05.0403
New features:
- Fixed y_timers issues.
ftemporary(withftempwrapper) to create files with a defined lifetime.- y_inline_timers now more accurate.
- More startup information, mainly for helping newbies.
- y_master uses a new method of hiding publics when not in charge.
P:Q(varname);for debuggin.- Greater open.mp testing support.
- Add
repeat[n]to y_timers. - Multiple colour interpolation methods (varying speed/accuracy tradeoffs).
Abs()andFloatAbs().- y_inline_bcrypt.
- y_bcrypt (common API for both plugins).
- y_android (detect those using the illegal client).
- y_circular (circular buffers).
FUNCTION_LENGTHused throughout to support rare compilers.y_sparsearrayAPI improved.- Finally make some functions inline using
__emit. - Fixed a tiny issue introduced in 402.
v5.05.0402
5.05.402
YSI 5.5.301
Minor include path updates.