Skip to content

v2022.01.05

Compare
Choose a tag to compare
@MishimaHaruna MishimaHaruna released this 06 Jan 00:37
· 1148 commits to stable since this release
7b77b4e

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.

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 as aMalloc(), CREATE(), aCalloc(), aStrndup(), etc) will abort completely instead of returning NULL if malloc() 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 in bAutoSpell (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 Life SU_SPIRITOFLIFE. (#3018)
  • Fixed the double cast activation chance of the skills Picky Peck SU_PICKYPECK and Bite SU_BITE. (part of #3018)

Other

  • Updated copyright headers for year 2022.