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.