v2022.01.05
MishimaHaruna
released this
06 Jan 00:37
·
1148 commits
to stable
since this release
Added
- Added the
PRAGMA_GCC7()
macro, to specify pragma instructions only active on GCC >= 7.0 (part of #3092) - Added the
GCCATTR()
macro, to declare an__attribute__
annotation only in GCC and not in Clang. (part of #3092) - Added the
GCC11ATTR()
macro, to declare an__attribute__
annotation only in GCC >= 11.0. (part of #3092) - Added
grfio_decode_filename()
to the grfio interface. (part of #3092) - Added configurable steps for the roulette system. See the serverside configuration in
conf/map/battle/roulette.conf
and the clientside patches at http://nemo.herc.ws/patches/ChangeRouletteBronzeLimit http://nemo.herc.ws/patches/ChangeRouletteGoldLimit and http://nemo.herc.ws/patches/ChangeRouletteSilverLimit for more details. (#3101) - Added support for newer 2021 packetvers/encryption keys/client messages (up to 20211229). (#3103)
- Implemented the Grade Enchanter user interface: (#3100)
- A new configuration flag
features.grader_max_used
is added to feature.conf. - The
map_log.enable
flag in logs.conf has been extended with a new value. - The grade enchanting database has been implemented in
db/{pre-re,re}/grade_db.conf
. - the
@gradeui
and@reloadgradedb
atcommands have been added. - The
opengradeui()
script command has been added. - The Grade Enchanter NPC has been added (automatically loaded in Renewal mode on packetvers that support it) in
npc/re/other/grader.txt
. - NOTE: The values in the database aren't currently official but guessed.
- NOTE: Item protection is not supporter on older clients.
- NOTE: This requires a database migration for the picklog and zenylog tables. The migration shouldn't cause a full table rebuild on recent versions of MySQL and MariaDB that allow appending new values to the end of enums.
- A new configuration flag
Changed
- Updated GitHub Actions: (#3092)
- Updated compilers (Clang 13 replaces Clang 10, the current GCC version and the current snapshot version replace respectively GCC 9 and GCC 10).
- Updated packetvers to the most recent ones.
- Updated database versions (MariaDB 10.2 is added alongside 'latest', while 10.1 and 10.5 are removed; MySQL 'latest' is added alongside 5.6 and 5.7).
- Updated configure.ac to require at least Autoconf 2.69 (the current configure file is generated by Autoconf 2.71). This only affects developers who want to regenerate their configure script. (part of #3092)
- Updated the warning flags in the configure script with new ones for recent versions of GCC and Clang. (part of #3092)
- Added annotation attributes to the functions in memmgr and strlib and some other prtinf-like functions. (part of #3092)
- Changed the memory allocation functions to never return a NULL pointer. (part of #3092)
iMalloc->malloc()
(and functions or macros that use it such asaMalloc()
,CREATE()
,aCalloc()
,aStrndup()
, etc) will abort completely instead of returning NULL ifmalloc()
fails.iMalloc->malloc()
(and functions or macros that use it) will allocate a 1-byte buffer if requested to allocate 0 bytes.
- Improved several packet generation functions, removing an unnecessary memcpy. (#3102)
Fixed
- Fixed an issue that caused the script conditional feature checks to always be true (i.e. make the setting to disable the GM management scripts ineffective). (#3096)
- Fixed
MO_CALLSPIRITS
inbAutoSpell
(such as the Greatest General card) to use the specified skill level instead of the currently learned level. (#3095) - Fixed an error when saving the homunculus exp when reaching the maximum level through
@homlevel
. (#3098, issue #3097) - Fixed various possible buffer overflows and other warnings reported by recent versions of GCC and Clang. (part of #3092)
- Fixed a memory issue caused by reloading the git/svn information on non-windows platforms where it's generated at compile time. (part of #3092)
- Fixed the SP bar not correctly updating for party and battleground team members in the 2021 clients that support it. (part of #3103)
- Fixed the weight in the expanded barter shop for 2019 and older clients. (part of #3103)
- Fixed the Doram skill Picky Peck
SU_PICKYPECK
to be affected by Spirit of LifeSU_SPIRITOFLIFE
. (#3018) - Fixed the double cast activation chance of the skills Picky Peck
SU_PICKYPECK
and BiteSU_BITE
. (part of #3018)
Other
- Updated copyright headers for year 2022.