diff options
-rw-r--r-- | .gitlab-ci.yml | 841 | ||||
-rw-r--r-- | doc/script_commands.txt | 43 | ||||
-rw-r--r-- | src/common/HPMDataCheck.h | 2 | ||||
-rw-r--r-- | src/map/atcommand.c | 8 | ||||
-rw-r--r-- | src/map/clif.c | 60 | ||||
-rw-r--r-- | src/map/clif.h | 3 | ||||
-rw-r--r-- | src/map/packets_struct.h | 13 | ||||
-rw-r--r-- | src/map/script.c | 50 | ||||
-rw-r--r-- | src/map/skill.c | 2 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking.Defs.inc | 6 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc | 4 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc | 1 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.Hooks.inc | 36 |
13 files changed, 866 insertions, 203 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d5599253f..e98922276 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,6 +2,7 @@ stages: - primary - secondary - platforms + - clients - extras variables: &base_vars @@ -19,10 +20,8 @@ variables: &base_vars - uname -a - ./tools/ci/retry.sh apt-get update - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES - - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok $SQLHOST - ./tools/ci/travis.sh getplugins || true - services: - - mysql:latest .branch_exceptions: &branch_exceptions only: @@ -38,276 +37,735 @@ pre_re:clang-3.9: <<: *prerequisites stage: primary image: debian:stretch + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: clang-3.9 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=clang-3.9 --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:clang-3.9: <<: *branch_exceptions <<: *prerequisites stage: primary image: debian:stretch + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: clang-3.9 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=clang-3.9 --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:clang-3.9: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:stretch + services: + - mariadb:10.1 + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-3.9 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=clang-3.9 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:clang-4.0: <<: *branch_exceptions <<: *prerequisites - stage: primary + stage: secondary image: debian:unstable + services: + - mariadb:10 variables: <<: *base_vars - INSTALL_PACKAGES: clang-4.0 mysql-client libmysqlclient-dev + INSTALL_PACKAGES: clang-4.0 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=clang-4.0 --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:clang-4.0: <<: *branch_exceptions <<: *prerequisites - stage: primary + stage: secondary image: debian:unstable + services: + - mariadb:10 variables: <<: *base_vars - INSTALL_PACKAGES: clang-4.0 mysql-client libmysqlclient-dev + INSTALL_PACKAGES: clang-4.0 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=clang-4.0 --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:clang-4.0: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-4.0 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=clang-4.0 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +pre_re:clang-5.0: + <<: *branch_exceptions + <<: *prerequisites + stage: secondary + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-5.0 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=clang-5.0 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +re:clang-5.0: + <<: *branch_exceptions + <<: *prerequisites + stage: secondary + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-5.0 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=clang-5.0 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:clang-5.0: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-5.0 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=clang-5.0 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +pre_re:clang-6.0: + <<: *branch_exceptions + <<: *prerequisites + stage: primary + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-6.0 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=clang-6.0 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +re:clang-6.0: + <<: *branch_exceptions + <<: *prerequisites + stage: primary + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-6.0 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=clang-6.0 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:clang-6.0: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-6.0 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=clang-6.0 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +pre_re:clang-7: + <<: *branch_exceptions + <<: *prerequisites + stage: secondary + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-7 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=clang-7 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +re:clang-7: + <<: *branch_exceptions + <<: *prerequisites + stage: secondary + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-7 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=clang-7 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:clang-7: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: clang-7 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=clang-7 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:gcc-4.6: <<: *branch_exceptions <<: *prerequisites stage: secondary image: debian:wheezy + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc-4.6 mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build CC=gcc-4.6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:gcc-4.6: <<: *branch_exceptions <<: *prerequisites stage: secondary image: debian:wheezy + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc-4.6 mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build CC=gcc-4.6 --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:gcc-4.6: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:wheezy + services: + - mysql:5.5 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.6 mysql-client libmysqlclient-dev + SQLHOST: mysql + script: + - ./tools/ci/travis.sh build CC=gcc-4.6 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:gcc-4.7: <<: *branch_exceptions <<: *prerequisites stage: secondary image: debian:wheezy + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc-4.7 mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:gcc-4.7: <<: *branch_exceptions <<: *prerequisites stage: secondary image: debian:wheezy + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc-4.7 mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:gcc-4.7: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:wheezy + services: + - mysql:5.5 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.7 mysql-client libmysqlclient-dev + SQLHOST: mysql + script: + - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:gcc-4.8: <<: *branch_exceptions <<: *prerequisites - stage: primary + stage: secondary image: debian:jessie + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc-4.8 mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build CC=gcc-4.8 --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:gcc-4.8: <<: *branch_exceptions <<: *prerequisites - stage: primary + stage: secondary image: debian:jessie + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc-4.8 mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build CC=gcc-4.8 --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:gcc-4.8: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:jessie + services: + - mysql:5.5 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.8 mysql-client libmysqlclient-dev + SQLHOST: mysql + script: + - ./tools/ci/travis.sh build CC=gcc-4.8 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:gcc-4.9: <<: *branch_exceptions <<: *prerequisites stage: primary image: debian:jessie + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc-4.9 mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build CC=gcc-4.9 --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:gcc-4.9: <<: *branch_exceptions <<: *prerequisites stage: primary image: debian:jessie + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc-4.9 mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build CC=gcc-4.9 --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:gcc-4.9: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:jessie + services: + - mysql:5.5 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-4.9 mysql-client libmysqlclient-dev + SQLHOST: mysql + script: + - ./tools/ci/travis.sh build CC=gcc-4.9 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:gcc-5: <<: *branch_exceptions <<: *prerequisites stage: secondary image: debian:unstable + services: + - mariadb:10 variables: <<: *base_vars - INSTALL_PACKAGES: gcc-5 mysql-client libmysqlclient-dev + INSTALL_PACKAGES: gcc-5 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-5 --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:gcc-5: <<: *branch_exceptions <<: *prerequisites stage: secondary image: debian:unstable + services: + - mariadb:10 variables: <<: *base_vars - INSTALL_PACKAGES: gcc-5 mysql-client libmysqlclient-dev + INSTALL_PACKAGES: gcc-5 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-5 --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:gcc-5: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-5 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=gcc-5 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:gcc-6: <<: *branch_exceptions <<: *prerequisites stage: primary image: debian:stretch + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:gcc-6: <<: *branch_exceptions <<: *prerequisites stage: primary image: debian:stretch + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:gcc-6: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:stretch + services: + - mariadb:10.1 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +pre_re:gcc-7: + <<: *branch_exceptions + <<: *prerequisites + stage: secondary + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-7 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=gcc-7 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +re:gcc-7: + <<: *branch_exceptions + <<: *prerequisites + stage: secondary + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-7 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=gcc-7 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:gcc-7: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-7 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=gcc-7 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +pre_re:gcc-8: + <<: *branch_exceptions + <<: *prerequisites + stage: secondary + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +re:gcc-8: + <<: *branch_exceptions + <<: *prerequisites + stage: secondary + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:gcc-8: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:unstable + services: + - mariadb:10 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:gcc-6_i386: <<: *branch_exceptions <<: *prerequisites stage: primary - image: vicamo/debian:sid-i386 + image: i386/debian:stable + services: + - mariadb:10.1 variables: <<: *base_vars - INSTALL_PACKAGES: gcc-6 mysql-client libmysqlclient-dev + INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:gcc-6_i386: <<: *branch_exceptions <<: *prerequisites stage: primary - image: vicamo/debian:sid-i386 + image: i386/debian:stable + services: + - mariadb:10.1 variables: <<: *base_vars - INSTALL_PACKAGES: gcc-6 mysql-client libmysqlclient-dev + INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:gcc-6_i386: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: i386/debian:stable + services: + - mariadb:10.1 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:gcc-6_sanitize: <<: *branch_exceptions <<: *prerequisites stage: secondary image: debian:stretch + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal --disable-manager --enable-sanitize=full - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:gcc-6_sanitize: <<: *branch_exceptions <<: *prerequisites stage: secondary image: debian:stretch + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:gcc-6_sanitize: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: debian:stretch + services: + - mariadb:10.1 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:gcc-6_i386_sanitize: <<: *branch_exceptions <<: *prerequisites stage: secondary - image: vicamo/debian:sid-i386 + image: i386/debian:stable + services: + - mariadb:10.1 variables: <<: *base_vars - INSTALL_PACKAGES: gcc-6 mysql-client libmysqlclient-dev + INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal --disable-manager --enable-sanitize=full - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:gcc-6_i386_sanitize: <<: *branch_exceptions <<: *prerequisites stage: secondary - image: vicamo/debian:sid-i386 + image: i386/debian:stable + services: + - mariadb:10.1 variables: <<: *base_vars - INSTALL_PACKAGES: gcc-6 mysql-client libmysqlclient-dev + INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +zero-2018:gcc-6_i386_sanitize: + <<: *branch_exceptions + <<: *prerequisites + stage: clients + image: i386/debian:stable + services: + - mariadb:10.1 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full --enable-packetver-zero --enable-packetver=20180511 + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:gcc-6_cov: <<: *branch_exceptions <<: *prerequisites stage: secondary image: debian:stretch + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: gcc-6 gcovr mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal CFLAGS="-coverage" LDFLAGS="-coverage" - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST - gcovr -r . --gcov-executable=gcov-6 -o gcov_pre.txt - gcovr -r . --gcov-executable=gcov-6 --html -o gcov_pre.html - cat gcov_pre.txt @@ -321,12 +779,15 @@ re:gcc-6_cov: <<: *prerequisites stage: secondary image: debian:stretch + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: gcc-6 gcovr mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot CFLAGS="-coverage" LDFLAGS="-coverage" - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST - gcovr -r . --gcov-executable=gcov-6 -o gcov_re.txt - gcovr -r . --gcov-executable=gcov-6 --html -o gcov_re.html - cat gcov_re.txt @@ -342,77 +803,100 @@ pre_re:debian-oldstable: <<: *prerequisites stage: platforms image: debian:oldstable + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:debian-oldstable: <<: *branch_exceptions <<: *prerequisites stage: platforms image: debian:oldstable + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:debian-stable: <<: *branch_exceptions <<: *prerequisites stage: platforms image: debian:stable + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:debian-stable: <<: *branch_exceptions <<: *prerequisites stage: platforms image: debian:stable + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:debian-testing: <<: *branch_exceptions <<: *prerequisites stage: platforms image: debian:testing + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:debian-testing: <<: *branch_exceptions <<: *prerequisites stage: platforms image: debian:testing + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:centos-previous: <<: *branch_exceptions stage: platforms image: centos:6 + services: + - mysql:5.5 + variables: + <<: *base_vars + SQLHOST: mysql before_script: - echo "Building $CI_BUILD_NAME" - uname -a @@ -420,20 +904,21 @@ pre_re:centos-previous: - yum install -y make mysql-devel pcre-devel git zlib-devel mysql - yum install -y centos-release-scl - yum install -y yum install devtoolset-3-toolchain - - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok $SQLHOST - ./tools/ci/travis.sh getplugins || true - services: - - mysql:latest - variables: - <<: *base_vars script: - scl enable devtoolset-3 './tools/ci/travis.sh build CFLAGS="-Wno-cast-qual" --enable-debug --enable-Werror --enable-buildbot --disable-renewal' - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:centos-previous: <<: *branch_exceptions stage: platforms image: centos:6 + services: + - mysql:5.5 + variables: + <<: *base_vars + SQLHOST: mysql before_script: - echo "Building $CI_BUILD_NAME" - uname -a @@ -441,53 +926,51 @@ re:centos-previous: - yum install -y make mysql-devel pcre-devel git zlib-devel mysql - yum install -y centos-release-scl - yum install -y yum install devtoolset-3-toolchain - - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok $SQLHOST - ./tools/ci/travis.sh getplugins || true - services: - - mysql:latest - variables: - <<: *base_vars script: - scl enable devtoolset-3 './tools/ci/travis.sh build CFLAGS="-Wno-cast-qual" --enable-debug --enable-Werror --enable-buildbot' - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:centos-current: <<: *branch_exceptions stage: platforms image: centos:7 + services: + - mariadb:5.5 before_script: - echo "Building $CI_BUILD_NAME" - uname -a - yum -y update - - yum install -y gcc make mysql-devel pcre-devel git zlib-devel mysql - - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql + - yum install -y gcc make mariadb-devel pcre-devel git zlib-devel mariadb + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok $SQLHOST - ./tools/ci/travis.sh getplugins || true - services: - - mysql:latest variables: <<: *base_vars + SQLHOST: mariadb script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:centos-current: <<: *branch_exceptions stage: platforms image: centos:7 + services: + - mariadb:5.5 before_script: - echo "Building $CI_BUILD_NAME" - uname -a - yum -y update - - yum install -y gcc make mysql-devel pcre-devel git zlib-devel mysql - - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mysql + - yum install -y gcc make mariadb-devel pcre-devel git zlib-devel mariadb + - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok $SQLHOST - ./tools/ci/travis.sh getplugins || true - services: - - mysql:latest variables: <<: *base_vars + SQLHOST: mariadb script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:ubuntu-xenial: <<: *branch_exceptions @@ -495,13 +978,14 @@ pre_re:ubuntu-xenial: stage: platforms image: ubuntu:16.04 services: - - mysql:latest + - mysql:5.7 variables: <<: *base_vars INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:ubuntu-xenial: <<: *branch_exceptions @@ -509,13 +993,44 @@ re:ubuntu-xenial: stage: platforms image: ubuntu:16.04 services: - - mysql:latest + - mysql:5.7 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev + SQLHOST: mysql + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +pre_re:ubuntu-bionic: + <<: *branch_exceptions + <<: *prerequisites + stage: platforms + image: ubuntu:18.04 + services: + - mysql:5.7 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev + SQLHOST: mysql + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +re:ubuntu-bionic: + <<: *branch_exceptions + <<: *prerequisites + stage: platforms + image: ubuntu:18.04 + services: + - mysql:5.7 variables: <<: *base_vars INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev + SQLHOST: mysql script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST # SQL servers @@ -524,204 +1039,210 @@ pre_re:mysql-5.5: <<: *prerequisites stage: platforms image: debian:jessie + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc mysql-client-5.5 libmysqlclient-dev - services: - - mysql:5.5 + SQLHOST: mysql script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:mysql-5.5: <<: *branch_exceptions <<: *prerequisites stage: platforms image: debian:jessie + services: + - mysql:5.5 variables: <<: *base_vars INSTALL_PACKAGES: gcc mysql-client-5.5 libmysqlclient-dev - services: - - mysql:5.5 + SQLHOST: mysql script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:mysql-5.6: <<: *branch_exceptions <<: *prerequisites stage: platforms - image: debian:jessie + image: debian:unstable + services: + - mysql:5.6 variables: <<: *base_vars INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev - services: - - mysql:5.6 + SQLHOST: mysql script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:mysql-5.6: <<: *branch_exceptions <<: *prerequisites stage: platforms - image: debian:jessie + image: debian:unstable + services: + - mysql:5.6 variables: <<: *base_vars INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev - services: - - mysql:5.6 + SQLHOST: mysql script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:mysql-5.7: <<: *branch_exceptions <<: *prerequisites stage: platforms image: debian:unstable + services: + - mysql:5.7 variables: <<: *base_vars INSTALL_PACKAGES: gcc mysql-client-5.7 libmysqlclient-dev - services: - - mysql:5.7 + SQLHOST: mysql script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:mysql-5.7: <<: *branch_exceptions <<: *prerequisites stage: platforms image: debian:unstable + services: + - mysql:5.7 variables: <<: *base_vars INSTALL_PACKAGES: gcc mysql-client-5.7 libmysqlclient-dev - services: - - mysql:5.7 + SQLHOST: mysql script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mysql + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:mariadb-10.0: <<: *branch_exceptions + <<: *prerequisites stage: platforms image: debian:jessie + services: + - mariadb:10.0 variables: <<: *base_vars INSTALL_PACKAGES: gcc mariadb-client-10.0 libmysqlclient-dev - before_script: - - echo "Building $CI_BUILD_NAME" - - uname -a - - ./tools/ci/retry.sh apt-get update - - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES - - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb - - ./tools/ci/travis.sh getplugins || true - services: - - mariadb:10.0 + SQLHOST: mariadb script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:mariadb-10.0: <<: *branch_exceptions + <<: *prerequisites stage: platforms image: debian:jessie + services: + - mariadb:10.0 variables: <<: *base_vars INSTALL_PACKAGES: gcc mariadb-client-10.0 libmysqlclient-dev - before_script: - - echo "Building $CI_BUILD_NAME" - - uname -a - - ./tools/ci/retry.sh apt-get update - - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES - - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb - - ./tools/ci/travis.sh getplugins || true - services: - - mariadb:10.0 + SQLHOST: mariadb script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST -pre_re:mariadb-latest: +pre_re:mariadb-10.1: <<: *branch_exceptions + <<: *prerequisites stage: platforms - image: debian:unstable + image: debian:stable + services: + - mariadb:10.1 variables: <<: *base_vars INSTALL_PACKAGES: gcc mariadb-client-10.1 libmariadbclient-dev-compat - before_script: - - echo "Building $CI_BUILD_NAME" - - uname -a - - ./tools/ci/retry.sh apt-get update - - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES - - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb - - ./tools/ci/travis.sh getplugins || true + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +re:mariadb-10.1: + <<: *branch_exceptions + <<: *prerequisites + stage: platforms + image: debian:stable + services: + - mariadb:10.1 + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mariadb-client-10.1 libmariadbclient-dev-compat + SQLHOST: mariadb + script: + - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST + +pre_re:mariadb-latest: + <<: *branch_exceptions + <<: *prerequisites + stage: platforms + image: debian:unstable services: - mariadb:latest + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:mariadb-latest: <<: *branch_exceptions + <<: *prerequisites stage: platforms image: debian:unstable - variables: - <<: *base_vars - INSTALL_PACKAGES: gcc mariadb-client-10.1 libmariadbclient-dev-compat - before_script: - - echo "Building $CI_BUILD_NAME" - - uname -a - - ./tools/ci/retry.sh apt-get update - - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES - - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok mariadb - - ./tools/ci/travis.sh getplugins || true services: - mariadb:latest + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat + SQLHOST: mariadb script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok mariadb + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST pre_re:percona: <<: *branch_exceptions + <<: *prerequisites stage: platforms - image: debian:jessie - variables: - <<: *base_vars - INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev - before_script: - - echo "Building $CI_BUILD_NAME" - - uname -a - - ./tools/ci/retry.sh apt-get update - - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES - - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok percona - - ./tools/ci/travis.sh getplugins || true + image: debian:stretch services: - percona:latest + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat + SQLHOST: percona script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok percona + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST re:percona: <<: *branch_exceptions + <<: *prerequisites stage: platforms - image: debian:jessie - variables: - <<: *base_vars - INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev - before_script: - - echo "Building $CI_BUILD_NAME" - - uname -a - - ./tools/ci/retry.sh apt-get update - - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES - - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok percona - - ./tools/ci/travis.sh getplugins || true + image: debian:stretch services: - percona:latest + variables: + <<: *base_vars + INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat + SQLHOST: percona script: - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot - - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok percona + - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST # Documentation pages: diff --git a/doc/script_commands.txt b/doc/script_commands.txt index a00756056..53d24de4d 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -6631,18 +6631,49 @@ Examples: *unitwarp(<GID>, <Mapname>, <x>, <y>) *unitattack(<GID>, <Target ID>) *unitstop(<GID>) -*unittalk(<GID>, <Text>) +*unittalk(<GID>, <Text>{, show_name{, <send_target>{, <target_id>}}}) *unitemote(<GID>, <Emote>) Okay, these commands should be fairly self explaining. For the emotions, you can look in db/constants.conf for prefixes with e_ PS: unitwarp() supports a <GID> of zero, which causes the executor of the +PS: unittalk() can receive 3 extra parameters: + show_name: + true: Shows Unit name like "UnitName : Message" (default) + false: Hides Unit name + send_target: + AREA_CHAT_WOC: sends the message to everyone in view range including the attached unit (default) + SELF: sends the message to the given unit gid only + target_id: + if send_target is set to SELF, the message will be shown by the given gid, + target_id allows changing the unit that will see the message. script to be affected. This can be used with OnTouchNPC to warp monsters: OnTouchNPC: unitwarp(0, "this", -1, -1); + // hide the npc name from the text + unittalk(getnpcid(0), "foobar", false); + + // display by npc to everyone + unittalk(getnpcid(0), "foobar", true); + + // display by npc to npc + unittalk(getnpcid(0), "foobar", true, SELF); + + // display the text by the npc to the attached player only + unittalk(getnpcid(0), "foobar", true, SELF, playerattached()); + + // display by player to everyone + unittalk(playerattached(), "foobar", true); + + // display by player to himself only + unittalk(playerattached(), "foobar", true, SELF); + + // display the text by the 1st player to the attached player only + unittalk(getcharid(CHAR_ID_ACCOUNT, "Name"), "foobar", true, SELF, playerattached()); + --------------------------------------- *disablenpc("<NPC object name>") @@ -6750,12 +6781,16 @@ A debug message also shows on the console when no events are triggered. --------------------------------------- -*npctalk("<message>"{, "<npc name>"}) +*npctalk("<message>"{, "<npc name>"{, <show_name>}}) + +show_npcname values: + true: shows npc name (default) + false: hide npc name This command will display a message to the surrounding area as if the NPC object running it was a player talking - that is, above their head and in -the chat window. The display name of the NPC will get appended in front of -the message to complete the effect. +the chat window. If show_npcname is true the name of the NPC will get appended in front of +the message, otherwise the npc name will not be shown. // This will make everyone in the area see the NPC greet the character // who just invoked it. diff --git a/src/common/HPMDataCheck.h b/src/common/HPMDataCheck.h index 2fee6007c..c004c534e 100644 --- a/src/common/HPMDataCheck.h +++ b/src/common/HPMDataCheck.h @@ -618,8 +618,10 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = { { "PACKET_ZC_GROUP_LIST_SUB", sizeof(struct PACKET_ZC_GROUP_LIST_SUB), SERVER_TYPE_MAP }, { "PACKET_ZC_MAIL_LIST", sizeof(struct PACKET_ZC_MAIL_LIST), SERVER_TYPE_MAP }, { "PACKET_ZC_MSG_COLOR", sizeof(struct PACKET_ZC_MSG_COLOR), SERVER_TYPE_MAP }, + { "PACKET_ZC_NOTIFY_CHAT", sizeof(struct PACKET_ZC_NOTIFY_CHAT), SERVER_TYPE_MAP }, { "PACKET_ZC_NOTIFY_CLAN_CHAT", sizeof(struct PACKET_ZC_NOTIFY_CLAN_CHAT), SERVER_TYPE_MAP }, { "PACKET_ZC_NOTIFY_CLAN_CONNECTINFO", sizeof(struct PACKET_ZC_NOTIFY_CLAN_CONNECTINFO), SERVER_TYPE_MAP }, + { "PACKET_ZC_NOTIFY_PLAYERCHAT", sizeof(struct PACKET_ZC_NOTIFY_PLAYERCHAT), SERVER_TYPE_MAP }, { "PACKET_ZC_NOTIFY_UNREADMAIL", sizeof(struct PACKET_ZC_NOTIFY_UNREADMAIL), SERVER_TYPE_MAP }, { "PACKET_ZC_OPEN_UI", sizeof(struct PACKET_ZC_OPEN_UI), SERVER_TYPE_MAP }, { "PACKET_ZC_PRIVATE_AIRSHIP_RESPONSE", sizeof(struct PACKET_ZC_PRIVATE_AIRSHIP_RESPONSE), SERVER_TYPE_MAP }, diff --git a/src/map/atcommand.c b/src/map/atcommand.c index ae0c776c6..a9b8fb7b0 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -6228,7 +6228,7 @@ ACMD(npctalk) snprintf(temp, sizeof(temp), "%s : %s", name, mes); if(ifcolor) clif->messagecolor(&nd->bl,color,temp); - else clif->disp_overhead(&nd->bl, temp); + else clif->disp_overhead(&nd->bl, temp, AREA_CHAT_WOC, NULL); return true; } @@ -6288,7 +6288,7 @@ ACMD(pettalk) } snprintf(temp, sizeof temp ,"%s : %s", pd->pet.name, mes); - clif->disp_overhead(&pd->bl, temp); + clif->disp_overhead(&pd->bl, temp, AREA_CHAT_WOC, NULL); return true; } @@ -7063,7 +7063,7 @@ ACMD(homtalk) } snprintf(temp, sizeof temp ,"%s : %s", sd->hd->homunculus.name, mes); - clif->disp_overhead(&sd->hd->bl, temp); + clif->disp_overhead(&sd->hd->bl, temp, AREA_CHAT_WOC, NULL); return true; } @@ -7423,7 +7423,7 @@ ACMD(me) } safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,270), sd->status.name, tempmes); // *%s %s* - clif->disp_overhead(&sd->bl, atcmd_output); + clif->disp_overhead(&sd->bl, atcmd_output, AREA_CHAT_WOC, NULL); return true; } diff --git a/src/map/clif.c b/src/map/clif.c index 820a219f6..18fb063ef 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -8965,35 +8965,60 @@ void clif_slide(struct block_list *bl, int x, int y) /// Public chat message (ZC_NOTIFY_CHAT). lordalfa/Skotlex - used by @me as well /// 008d <packet len>.W <id>.L <message>.?B -void clif_disp_overhead(struct block_list *bl, const char *mes) +void clif_disp_overhead(struct block_list *bl, const char *mes, enum send_target target, struct block_list *target_bl) { - unsigned char buf[256]; //This should be more than sufficient, the theoretical max is CHAT_SIZE + 8 (pads and extra inserted crap) + char buf[CHAT_SIZE_MAX + (int)sizeof(struct PACKET_ZC_NOTIFY_CHAT)]; + uint32 max_len = CHAT_SIZE_MAX - (int)sizeof(struct PACKET_ZC_NOTIFY_CHAT); + struct PACKET_ZC_NOTIFY_CHAT *p = (struct PACKET_ZC_NOTIFY_CHAT *)&buf; int mes_len; nullpo_retv(bl); nullpo_retv(mes); - mes_len = (int)strlen(mes)+1; //Account for \0 - if (mes_len > (int)sizeof(buf)-8) { - ShowError("clif_disp_overhead: Message too long (length %d)\n", mes_len); - mes_len = sizeof(buf)-8; //Trunk it to avoid problems. + mes_len = (int)strlen(mes) + 1; //Account for \0 + if (mes_len > max_len) { + ShowError("clif_disp_overhead: Truncated message '%s' (len=%d, max=%u).\n", mes, mes_len, max_len); + mes_len = max_len; //Trunk it to avoid problems. } + // send message to others - WBUFW(buf,0) = 0x8d; - WBUFW(buf,2) = mes_len + 8; // len of message + 8 (command+len+id) - WBUFL(buf,4) = bl->id; - safestrncpy(WBUFP(buf,8), mes, mes_len); - clif->send(buf, WBUFW(buf,2), bl, AREA_CHAT_WOC); + p->PacketType = 0x8d; + p->PacketLength = mes_len + (int)sizeof(struct PACKET_ZC_NOTIFY_CHAT); // len of message + 8 (command+len+id) + p->GID = bl->id; + safestrncpy(p->Message, mes, mes_len); + if (target == SELF && target_bl != NULL) { + clif->send(p, p->PacketLength, target_bl, SELF); + } else { + clif->send(p, p->PacketLength, bl, AREA_CHAT_WOC); - // send back message to the speaker - if (bl->type == BL_PC) { - WBUFW(buf,0) = 0x8e; - WBUFW(buf, 2) = mes_len + 4; - safestrncpy(WBUFP(buf,4), mes, mes_len); - clif->send(buf, WBUFW(buf,2), bl, SELF); + // send back message to the speaker + if (bl->type == BL_PC) + clif->notify_playerchat(bl, mes); } } +void clif_notify_playerchat(struct block_list *bl, const char *mes) +{ + char buf[CHAT_SIZE_MAX + (int)sizeof(struct PACKET_ZC_NOTIFY_PLAYERCHAT)]; + uint32 max_len = CHAT_SIZE_MAX - (int)sizeof(struct PACKET_ZC_NOTIFY_PLAYERCHAT); + struct PACKET_ZC_NOTIFY_PLAYERCHAT *p = (struct PACKET_ZC_NOTIFY_PLAYERCHAT *)&buf; + int mes_len; + + nullpo_retv(bl); + nullpo_retv(mes); + + mes_len = (int)strlen(mes) + 1; // Account for \0 + if (mes_len > max_len) { + ShowError("clif_notify_playerchat: Truncated message '%s' (len=%d, max=%u).\n", mes, mes_len, max_len); + mes_len = max_len; // Truncate to avoid problems. + } + + p->PacketType = 0x8e; + p->PacketLength = mes_len + (int)sizeof(struct PACKET_ZC_NOTIFY_PLAYERCHAT); + safestrncpy(p->Message, mes, mes_len); + clif->send(p, p->PacketLength, bl, SELF); +} + /*========================== * Minimap fix [Kevin] * Remove dot from minimap @@ -21624,6 +21649,7 @@ void clif_defaults(void) { clif->messagecolor_self = clif_messagecolor_self; clif->messagecolor = clif_messagecolor; clif->disp_overhead = clif_disp_overhead; + clif->notify_playerchat = clif_notify_playerchat; clif->msgtable_skill = clif_msgtable_skill; clif->msgtable = clif_msgtable; clif->msgtable_num = clif_msgtable_num; diff --git a/src/map/clif.h b/src/map/clif.h index 63eaeff49..1dffc2711 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -939,7 +939,8 @@ struct clif_interface { void (*broadcast2) (struct block_list *bl, const char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, enum send_target target); void (*messagecolor_self) (int fd, uint32 color, const char *msg); void (*messagecolor) (struct block_list* bl, uint32 color, const char* msg); - void (*disp_overhead) (struct block_list *bl, const char* mes); + void (*disp_overhead) (struct block_list *bl, const char *mes, enum send_target target, struct block_list *target_bl); + void (*notify_playerchat) (struct block_list *bl, const char *mes); void (*msgtable) (struct map_session_data* sd, enum clif_messages msg_id); void (*msgtable_num) (struct map_session_data *sd, enum clif_messages msg_id, int value); void (*msgtable_skill) (struct map_session_data *sd, uint16 skill_id, enum clif_messages msg_id); diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h index 665ef78cc..18e787ed5 100644 --- a/src/map/packets_struct.h +++ b/src/map/packets_struct.h @@ -1797,6 +1797,19 @@ struct packet_ZC_REFUSE_LOGIN { char block_date[20]; } __attribute__((packed)); +struct PACKET_ZC_NOTIFY_CHAT { + int16 PacketType; + int16 PacketLength; + uint32 GID; + char Message[]; +} __attribute__((packed)); + +struct PACKET_ZC_NOTIFY_PLAYERCHAT { + int16 PacketType; + int16 PacketLength; + char Message[]; +} __attribute__((packed)); + #if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute #pragma pack(pop) #endif // not NetBSD < 6 / Solaris diff --git a/src/map/script.c b/src/map/script.c index 5252c0ff0..e1d26e731 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -15567,12 +15567,13 @@ BUILDIN(message) /*========================================== * npctalk (sends message to surrounding area) - * usage: npctalk "<message>"{,"<npc name>"}; + * usage: npctalk("<message>"{, "<npc name>"{, <show_name>}}); *------------------------------------------*/ BUILDIN(npctalk) { struct npc_data* nd; const char *str = script_getstr(st,2); + bool show_name = true; if (script_hasdata(st, 3)) { nd = npc->name2id(script_getstr(st, 3)); @@ -15580,12 +15581,20 @@ BUILDIN(npctalk) nd = map->id2nd(st->oid); } + if (script_hasdata(st, 4)) { + show_name = (script_getnum(st, 4) != 0) ? true : false; + } + if (nd != NULL) { char name[NAME_LENGTH], message[256]; safestrncpy(name, nd->name, sizeof(name)); strtok(name, "#"); // discard extra name identifier if present - safesnprintf(message, sizeof(message), "%s : %s", name, str); - clif->disp_overhead(&nd->bl, message); + if (show_name) { + safesnprintf(message, sizeof(message), "%s : %s", name, str); + } else { + safesnprintf(message, sizeof(message), "%s", str); + } + clif->disp_overhead(&nd->bl, message, AREA_CHAT_WOC, NULL); } return true; @@ -20108,15 +20117,29 @@ BUILDIN(unitstop) { /// Makes the unit say the message /// -/// unittalk <unit_id>,"<message>"; +/// unittalk(<unit_id>,"<message>"{, show_name{, <send_target>{, <target_id>}}}); BUILDIN(unittalk) { int unit_id; const char* message; - struct block_list* bl; + struct block_list *bl, *target_bl = NULL; + bool show_name = true; + enum send_target target = AREA_CHAT_WOC; unit_id = script_getnum(st,2); message = script_getstr(st, 3); + if (script_hasdata(st, 4)) { + show_name = (script_getnum(st, 4) != 0) ? true : false; + } + + if (script_hasdata(st, 5)) { + target = script_getnum(st, 5); + } + + if (script_hasdata(st, 6)) { + target_bl = map->id2bl(script_getnum(st, 6)); + } + bl = map->id2bl(unit_id); if( bl != NULL ) { struct StringBuf sbuf; @@ -20125,8 +20148,17 @@ BUILDIN(unittalk) { safestrncpy(blname, clif->get_bl_name(bl), sizeof(blname)); if(bl->type == BL_NPC) strtok(blname, "#"); - StrBuf->Printf(&sbuf, "%s : %s", blname, message); - clif->disp_overhead(bl, StrBuf->Value(&sbuf)); + if (show_name) { + StrBuf->Printf(&sbuf, "%s : %s", blname, message); + } else { + StrBuf->Printf(&sbuf, "%s", message); + } + + if (bl->type == BL_PC && target == SELF && (target_bl == NULL || bl == target_bl)) { + clif->notify_playerchat(bl, StrBuf->Value(&sbuf)); + } else { + clif->disp_overhead(bl, StrBuf->Value(&sbuf), target, target_bl); + } StrBuf->Destroy(&sbuf); } @@ -24642,7 +24674,7 @@ void script_parse_builtin(void) { BUILDIN_DEF2(atcommand,"charcommand","s"), // [MouseJstr] BUILDIN_DEF(movenpc,"sii?"), // [MouseJstr] BUILDIN_DEF(message,"vs"), // [MouseJstr] - BUILDIN_DEF(npctalk,"s?"), // [Valaris] + BUILDIN_DEF(npctalk,"s??"), // [Valaris][Murilo BiO] BUILDIN_DEF(mobcount,"ss"), BUILDIN_DEF(getlook,"i"), BUILDIN_DEF(getsavepoint,"i"), @@ -24771,7 +24803,7 @@ void script_parse_builtin(void) { BUILDIN_DEF(unitwarp,"isii"), BUILDIN_DEF(unitattack,"iv?"), BUILDIN_DEF(unitstop,"i"), - BUILDIN_DEF(unittalk,"is"), + BUILDIN_DEF(unittalk,"is???"), BUILDIN_DEF(unitemote,"ii"), BUILDIN_DEF(unitskilluseid,"ivi?"), // originally by Qamera [Celest] BUILDIN_DEF(unitskillusepos,"iviii"), // [Celest] diff --git a/src/map/skill.c b/src/map/skill.c index 34c36d7f3..f437ce66c 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -7168,7 +7168,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin //NOTE: mobs don't have the sprite animation that is used when performing this skill (will cause glitches) char temp[70]; snprintf(temp, sizeof(temp), "%s : %s !!", md->name, skill->get_desc(skill_id)); - clif->disp_overhead(&md->bl,temp); + clif->disp_overhead(&md->bl, temp, AREA_CHAT_WOC, NULL); } break; diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc index e1d9af73a..cb1ce11fb 100644 --- a/src/plugins/HPMHooking/HPMHooking.Defs.inc +++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc @@ -1448,8 +1448,10 @@ typedef void (*HPMHOOK_pre_clif_messagecolor_self) (int *fd, uint32 *color, cons typedef void (*HPMHOOK_post_clif_messagecolor_self) (int fd, uint32 color, const char *msg); typedef void (*HPMHOOK_pre_clif_messagecolor) (struct block_list **bl, uint32 *color, const char **msg); typedef void (*HPMHOOK_post_clif_messagecolor) (struct block_list *bl, uint32 color, const char *msg); -typedef void (*HPMHOOK_pre_clif_disp_overhead) (struct block_list **bl, const char **mes); -typedef void (*HPMHOOK_post_clif_disp_overhead) (struct block_list *bl, const char *mes); +typedef void (*HPMHOOK_pre_clif_disp_overhead) (struct block_list **bl, const char **mes, enum send_target *target, struct block_list **target_bl); +typedef void (*HPMHOOK_post_clif_disp_overhead) (struct block_list *bl, const char *mes, enum send_target target, struct block_list *target_bl); +typedef void (*HPMHOOK_pre_clif_notify_playerchat) (struct block_list **bl, const char **mes); +typedef void (*HPMHOOK_post_clif_notify_playerchat) (struct block_list *bl, const char *mes); typedef void (*HPMHOOK_pre_clif_msgtable) (struct map_session_data **sd, enum clif_messages *msg_id); typedef void (*HPMHOOK_post_clif_msgtable) (struct map_session_data *sd, enum clif_messages msg_id); typedef void (*HPMHOOK_pre_clif_msgtable_num) (struct map_session_data **sd, enum clif_messages *msg_id, int *value); diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc index 803948d89..94e86df4d 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc @@ -1044,6 +1044,8 @@ struct { struct HPMHookPoint *HP_clif_messagecolor_post; struct HPMHookPoint *HP_clif_disp_overhead_pre; struct HPMHookPoint *HP_clif_disp_overhead_post; + struct HPMHookPoint *HP_clif_notify_playerchat_pre; + struct HPMHookPoint *HP_clif_notify_playerchat_post; struct HPMHookPoint *HP_clif_msgtable_pre; struct HPMHookPoint *HP_clif_msgtable_post; struct HPMHookPoint *HP_clif_msgtable_num_pre; @@ -7431,6 +7433,8 @@ struct { int HP_clif_messagecolor_post; int HP_clif_disp_overhead_pre; int HP_clif_disp_overhead_post; + int HP_clif_notify_playerchat_pre; + int HP_clif_notify_playerchat_post; int HP_clif_msgtable_pre; int HP_clif_msgtable_post; int HP_clif_msgtable_num_pre; diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc index 2658bef00..9135ed08d 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc @@ -545,6 +545,7 @@ struct HookingPointData HookingPoints[] = { { HP_POP(clif->messagecolor_self, HP_clif_messagecolor_self) }, { HP_POP(clif->messagecolor, HP_clif_messagecolor) }, { HP_POP(clif->disp_overhead, HP_clif_disp_overhead) }, + { HP_POP(clif->notify_playerchat, HP_clif_notify_playerchat) }, { HP_POP(clif->msgtable, HP_clif_msgtable) }, { HP_POP(clif->msgtable_num, HP_clif_msgtable_num) }, { HP_POP(clif->msgtable_skill, HP_clif_msgtable_skill) }, diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc index 497d1b646..c055c6c09 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc @@ -13570,14 +13570,14 @@ void HP_clif_messagecolor(struct block_list *bl, uint32 color, const char *msg) } return; } -void HP_clif_disp_overhead(struct block_list *bl, const char *mes) { +void HP_clif_disp_overhead(struct block_list *bl, const char *mes, enum send_target target, struct block_list *target_bl) { int hIndex = 0; if (HPMHooks.count.HP_clif_disp_overhead_pre > 0) { - void (*preHookFunc) (struct block_list **bl, const char **mes); + void (*preHookFunc) (struct block_list **bl, const char **mes, enum send_target *target, struct block_list **target_bl); *HPMforce_return = false; for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_disp_overhead_pre; hIndex++) { preHookFunc = HPMHooks.list.HP_clif_disp_overhead_pre[hIndex].func; - preHookFunc(&bl, &mes); + preHookFunc(&bl, &mes, &target, &target_bl); } if (*HPMforce_return) { *HPMforce_return = false; @@ -13585,12 +13585,38 @@ void HP_clif_disp_overhead(struct block_list *bl, const char *mes) { } } { - HPMHooks.source.clif.disp_overhead(bl, mes); + HPMHooks.source.clif.disp_overhead(bl, mes, target, target_bl); } if (HPMHooks.count.HP_clif_disp_overhead_post > 0) { - void (*postHookFunc) (struct block_list *bl, const char *mes); + void (*postHookFunc) (struct block_list *bl, const char *mes, enum send_target target, struct block_list *target_bl); for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_disp_overhead_post; hIndex++) { postHookFunc = HPMHooks.list.HP_clif_disp_overhead_post[hIndex].func; + postHookFunc(bl, mes, target, target_bl); + } + } + return; +} +void HP_clif_notify_playerchat(struct block_list *bl, const char *mes) { + int hIndex = 0; + if (HPMHooks.count.HP_clif_notify_playerchat_pre > 0) { + void (*preHookFunc) (struct block_list **bl, const char **mes); + *HPMforce_return = false; + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_notify_playerchat_pre; hIndex++) { + preHookFunc = HPMHooks.list.HP_clif_notify_playerchat_pre[hIndex].func; + preHookFunc(&bl, &mes); + } + if (*HPMforce_return) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.notify_playerchat(bl, mes); + } + if (HPMHooks.count.HP_clif_notify_playerchat_post > 0) { + void (*postHookFunc) (struct block_list *bl, const char *mes); + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_notify_playerchat_post; hIndex++) { + postHookFunc = HPMHooks.list.HP_clif_notify_playerchat_post[hIndex].func; postHookFunc(bl, mes); } } |