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
const
data to legacy (const-incorrect) functions. - Switched to using
__const
everywhere 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 here
input. - Huge number of assembly rewrites for
-O2
and 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
,@test
and@hook
instead 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
ASK
implementation (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
SetTimer
andSetTimerEx
to avoid unusedpublic
functions being compiled. <library>
tags on way more functions and variables for-r
XML 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 (
hook
andhook 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_Remove
usage directly insideforeach
loops. - Y_Less says ta for using YSI!
- Sped up
Iter_Add
for 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 -
getstringarg
etc.
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 semicolon
and#pragma option
detection. __pragma
backwards-compatibility.- Functions for RP name detection.
- Improvements to
Random
for more min/max/exclude options. - Randomisation of percentages.
HashMap_Has
.- Added
y_ctrl
library. - Added
y_ascii
library. - Added
y_percent
library. decl
keyword 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_STARTUP
for 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
, andTryPPM
for random likelihoods.- More
__emit
function inlining on the new compiler. P:F
(fatal error message) stops execution instantly.- Compiler settings for
YSI_TESTS
mode. - Stricter definition of y_debug output levels (defined, but not widely implemented).
- Explicitly re-enable
hook OnScriptInit
. - Higher
CGEN
code 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
(withftemp
wrapper) 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_LENGTH
used throughout to support rare compilers.y_sparsearray
API 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.