From ec21450522e3c2124f3510eef5cfd88420483248 Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Thu, 26 Jun 2014 18:18:01 -0700 Subject: Low hanging fruit --- src/admin/ladmin.cpp | 2 +- src/char/char.cpp | 14 +- src/char/int_storage.cpp | 2 +- src/char/inter.cpp | 2 +- src/compat/iter_test.cpp | 5 +- src/compat/nullpo.hpp | 6 +- src/generic/array_test.cpp | 2 + src/generic/intern-pool_test.cpp | 3 + src/generic/md5_test.cpp | 3 + src/generic/oops.hpp | 3 +- src/generic/oops_test.cpp | 5 +- src/ints/cmp_test.cpp | 3 + src/ints/udl_test.cpp | 3 + src/io/cxxstdio.cpp | 2 +- src/io/cxxstdio.hpp | 82 +-- src/io/line_test.cpp | 3 + src/io/read_test.cpp | 3 + src/io/write_test.cpp | 3 + src/login/login.cpp | 6 +- src/map/atcommand.cpp | 122 ++-- src/map/battle.cpp | 114 ++-- src/map/chrif.cpp | 24 +- src/map/clif.cpp | 1178 ++++++++++++++++++------------------ src/map/clif.t.hpp | 8 +- src/map/intif.cpp | 14 +- src/map/itemdb.cpp | 6 +- src/map/magic-expr.cpp | 28 +- src/map/magic-expr.hpp | 2 +- src/map/magic-interpreter-base.cpp | 48 +- src/map/magic-interpreter-base.hpp | 2 +- src/map/magic-interpreter.hpp | 4 +- src/map/magic-stmt.cpp | 30 +- src/map/magic-stmt.hpp | 2 +- src/map/magic-v2.cpp | 2 +- src/map/magic.cpp | 4 +- src/map/map.cpp | 68 +-- src/map/map.hpp | 2 +- src/map/mob.cpp | 172 +++--- src/map/npc.cpp | 42 +- src/map/npc.hpp | 2 +- src/map/party.cpp | 62 +- src/map/path.cpp | 14 +- src/map/pc.cpp | 216 +++---- src/map/script.cpp | 58 +- src/map/skill-pools.cpp | 2 +- src/map/skill.cpp | 68 +-- src/map/storage.cpp | 20 +- src/map/trade.cpp | 20 +- src/mmo/core.cpp | 3 +- src/mmo/extract_test.cpp | 3 + src/mmo/human_time_diff_test.cpp | 3 + src/mmo/utils.cpp | 2 +- src/mmo/utils.hpp | 8 +- src/monitor/main.cpp | 5 +- src/net/ip_test.cpp | 3 + src/net/socket.cpp | 2 +- src/net/timer.cpp | 2 +- src/poison.hpp | 13 +- src/range/slice_test.cpp | 3 + src/sexpr/lexer_test.cpp | 3 + src/sexpr/parser_test.cpp | 3 + src/strings/astring.cpp | 23 - src/strings/astring.hpp | 15 - src/strings/base_test.cpp | 3 + src/strings/literal.cpp | 6 - src/strings/literal.hpp | 3 - src/strings/rstring.cpp | 2 +- src/strings/strings2_test.cpp | 3 + src/strings/strings_test.cpp | 3 + src/strings/zstring.cpp | 6 - src/strings/zstring.hpp | 3 - src/warnings.hpp | 64 +- 72 files changed, 1317 insertions(+), 1353 deletions(-) diff --git a/src/admin/ladmin.cpp b/src/admin/ladmin.cpp index 69fc074..bab5a7c 100644 --- a/src/admin/ladmin.cpp +++ b/src/admin/ladmin.cpp @@ -2865,7 +2865,7 @@ bool admin_confs(XString w1, ZString w2) if (w1 == "login_ip"_s) { struct hostent *h = gethostbyname(w2.c_str()); - if (h != NULL) + if (h != nullptr) { Iprintf("Login server IP address: %s -> %s\n"_fmt, w2, login_ip); diff --git a/src/char/char.cpp b/src/char/char.cpp index a0a92f1..3b0d43e 100644 --- a/src/char/char.cpp +++ b/src/char/char.cpp @@ -1083,7 +1083,7 @@ int set_account_reg2(AccountId acc, Slice reg) static int char_divorce(CharPair *cp) { - if (cp == NULL) + if (cp == nullptr) return 0; CharKey *ck = &cp->key; @@ -2465,7 +2465,7 @@ void parse_char(Session *s) else PRINTF("Account Logged On; Account ID: %d.\n"_fmt, account_id); - if (sd == NULL) + if (sd == nullptr) { s->session_data = make_unique(); sd = static_cast(s->session_data.get()); @@ -2833,14 +2833,14 @@ void check_connect_login_server(TimerData *, tick_t) static bool char_lan_config(XString w1, ZString w2) { - struct hostent *h = NULL; + struct hostent *h = nullptr; { if (w1 == "lan_map_ip"_s) { // Read map-server Lan IP Address h = gethostbyname(w2.c_str()); - if (h != NULL) + if (h != nullptr) { lan_map_ip = IP4Address({ static_cast(h->h_addr[0]), @@ -2894,7 +2894,7 @@ bool lan_check() static bool char_config(XString w1, ZString w2) { - struct hostent *h = NULL; + struct hostent *h = nullptr; { if (w1 == "userid"_s) @@ -2914,7 +2914,7 @@ bool char_config(XString w1, ZString w2) else if (w1 == "login_ip"_s) { h = gethostbyname(w2.c_str()); - if (h != NULL) + if (h != nullptr) { login_ip = IP4Address({ static_cast(h->h_addr[0]), @@ -2938,7 +2938,7 @@ bool char_config(XString w1, ZString w2) else if (w1 == "char_ip"_s) { h = gethostbyname(w2.c_str()); - if (h != NULL) + if (h != nullptr) { char_ip = IP4Address({ static_cast(h->h_addr[0]), diff --git a/src/char/int_storage.cpp b/src/char/int_storage.cpp index 9527806..784347b 100644 --- a/src/char/int_storage.cpp +++ b/src/char/int_storage.cpp @@ -116,7 +116,7 @@ bool extract(XString str, Storage *p) Storage *account2storage(AccountId account_id) { Storage *s = storage_db.search(account_id); - if (s == NULL) + if (s == nullptr) { s = storage_db.init(account_id); s->account_id = account_id; diff --git a/src/char/inter.cpp b/src/char/inter.cpp index 04c1146..354cba7 100644 --- a/src/char/inter.cpp +++ b/src/char/inter.cpp @@ -406,7 +406,7 @@ RecvResult mapif_parse_AccReg(Session *s) struct accreg *reg = accreg_db.search(head.account_id); - if (reg == NULL) + if (reg == nullptr) { AccountId account_id = head.account_id; reg = accreg_db.init(account_id); diff --git a/src/compat/iter_test.cpp b/src/compat/iter_test.cpp index b9bfb6a..f0e6031 100644 --- a/src/compat/iter_test.cpp +++ b/src/compat/iter_test.cpp @@ -26,6 +26,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + TEST(iterpair, strings) { IteratorPair> pair = value_range('0', ':'); @@ -144,7 +147,7 @@ TEST(iterpair, filter3) int one = 1; int two = 2; int three = 3; - std::vector vals = {0, &one, 0, &two, 0, &three, 0}; + std::vector vals = {nullptr, &one, nullptr, &two, nullptr, &three, nullptr}; int sum = 0, count = 0; for (int *i : filter_iterator(&vals)) diff --git a/src/compat/nullpo.hpp b/src/compat/nullpo.hpp index d6e39a5..5de8ab6 100644 --- a/src/compat/nullpo.hpp +++ b/src/compat/nullpo.hpp @@ -26,7 +26,8 @@ //# define BUG_FREE /// All functions print to standard error (was: standard output) -/// nullpo_ret(cond) - return 0 if given pointer is NULL +/// nullpo_retn(cond) - return nullptr if given pointer is nullptr +/// nullpo_retz(cond) - return 0 if given pointer is nullptr /// nullpo_retv(cond) - just return (function returns void) /// nullpo_retr(rv, cond) - return given value instead @@ -38,7 +39,8 @@ # define nullpo_retr(ret, t) /*t*/ # endif // BUG_FREE -# define nullpo_ret(t) nullpo_retr(0, t) +# define nullpo_retn(t) nullpo_retr(nullptr, t) +# define nullpo_retz(t) nullpo_retr(0, t) # define nullpo_retv(t) nullpo_retr(, t) # include "fwd.hpp" diff --git a/src/generic/array_test.cpp b/src/generic/array_test.cpp index 7b5ffca..a4d4d74 100644 --- a/src/generic/array_test.cpp +++ b/src/generic/array_test.cpp @@ -23,6 +23,8 @@ #include "../poison.hpp" +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + TEST(Array, simple) { GenericArray> a; diff --git a/src/generic/intern-pool_test.cpp b/src/generic/intern-pool_test.cpp index bef001f..66490be 100644 --- a/src/generic/intern-pool_test.cpp +++ b/src/generic/intern-pool_test.cpp @@ -24,6 +24,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + TEST(InternPool, whydoesthisalwaysneedasecondname) { InternPool p; diff --git a/src/generic/md5_test.cpp b/src/generic/md5_test.cpp index 047b082..b7854c9 100644 --- a/src/generic/md5_test.cpp +++ b/src/generic/md5_test.cpp @@ -25,6 +25,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + // This should be made part of the main API, // but is not yet to keep the diff small. // Edit: hack to fix the new strict comparison. diff --git a/src/generic/oops.hpp b/src/generic/oops.hpp index 231a4e4..cc0cdcd 100644 --- a/src/generic/oops.hpp +++ b/src/generic/oops.hpp @@ -30,14 +30,13 @@ class AssertionError : public std::runtime_error { - const char *_what; public: AssertionError(const char *desc, const char *expr, const char *file, size_t line, const char *function); }; # define ALLEGE(desc, expr) \ - if (expr) {} \ + if (expr) {} \ else throw AssertionError(desc, #expr, __FILE__, __LINE__, __PRETTY_FUNCTION__) #endif // TMWA_GENERIC_OOPS_HPP diff --git a/src/generic/oops_test.cpp b/src/generic/oops_test.cpp index d16db04..13f7fac 100644 --- a/src/generic/oops_test.cpp +++ b/src/generic/oops_test.cpp @@ -22,6 +22,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + TEST(oops, okay) { try @@ -45,6 +48,6 @@ TEST(oops, uhoh) catch (const AssertionError& e) { ASSERT_STREQ(strstr(e.what(), "src/generic/"), - "src/generic/oops_test.cpp:42: error: in 'virtual void oops_uhoh_Test::TestBody()', incorrectly alleged that 'the sky is falling' (1 == 0)"); + "src/generic/oops_test.cpp:45: error: in 'virtual void oops_uhoh_Test::TestBody()', incorrectly alleged that 'the sky is falling' (1 == 0)"); } } diff --git a/src/ints/cmp_test.cpp b/src/ints/cmp_test.cpp index 5767579..bcff87d 100644 --- a/src/ints/cmp_test.cpp +++ b/src/ints/cmp_test.cpp @@ -24,6 +24,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + // Google Test is *really* slow to compile this file #undef EXPECT_EQ #define EXPECT_EQ(a, b) assert(a == b) diff --git a/src/ints/udl_test.cpp b/src/ints/udl_test.cpp index acb4f76..3fe01f5 100644 --- a/src/ints/udl_test.cpp +++ b/src/ints/udl_test.cpp @@ -24,6 +24,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-variable" TEST(ints, smc) diff --git a/src/io/cxxstdio.cpp b/src/io/cxxstdio.cpp index fbfdd46..8b18701 100644 --- a/src/io/cxxstdio.cpp +++ b/src/io/cxxstdio.cpp @@ -1,5 +1,5 @@ #include "cxxstdio.hpp" -// cxxstdio.cpp - pass C++ types through scanf/printf +// cxxstdio.cpp - pass C++ types through printf // // Copyright © 2013 Ben Longbons // diff --git a/src/io/cxxstdio.hpp b/src/io/cxxstdio.hpp index c040d90..fc5829f 100644 --- a/src/io/cxxstdio.hpp +++ b/src/io/cxxstdio.hpp @@ -1,6 +1,6 @@ #ifndef TMWA_IO_CXXSTDIO_HPP #define TMWA_IO_CXXSTDIO_HPP -// cxxstdio.hpp - pass C++ types through scanf/printf +// cxxstdio.hpp - pass C++ types through printf // // Copyright © 2011-2013 Ben Longbons // @@ -31,30 +31,13 @@ namespace cxxstdio { - // other implementations of do_vprint or do_vscan are injected by ADL. + // other implementations of do_vprint are injected by ADL. inline __attribute__((format(printf, 2, 0))) int do_vprint(FILE *out, const char *fmt, va_list ap) { return vfprintf(out, fmt, ap); } - inline __attribute__((format(scanf, 2, 0))) - int do_vscan(FILE *in, const char *fmt, va_list ap) - { - return vfscanf(in, fmt, ap); - } - -# if 0 - inline __attribute__((format(scanf, 2, 0))) - int do_vscan(const char *in, const char *fmt, va_list ap) - { - return vsscanf(in, fmt, ap); - } -# else - inline - int do_vscan(const char *, const char *, va_list) = delete; -# endif - template inline __attribute__((format(printf, 2, 3))) int do_print(T&& t, const char *fmt, ...) @@ -67,19 +50,6 @@ namespace cxxstdio return rv; } - template - inline __attribute__((format(scanf, 2, 3))) - int do_scan(T&& t, const char *fmt, ...) - { - int rv; - va_list ap; - va_start(ap, fmt); - rv = do_vscan(std::forward(t), fmt, ap); - va_end(ap); - return rv; - } - - template::value>::type> typename remove_enum::type decay_for_printf(T v) { @@ -93,16 +63,8 @@ namespace cxxstdio return std::forward(v); } - template::value>::type> - T& convert_for_scanf(T& v) - { - return v; - } - inline const char *convert_for_printf(const char *) = delete; - inline - char *convert_for_scanf(char *) = delete; # if 0 template @@ -180,12 +142,6 @@ namespace cxxstdio } }; - template::value>::type> - EnumConverter convert_for_scanf(T& v) - { - return v; - } - template class PrintFormatter { @@ -201,21 +157,6 @@ namespace cxxstdio } }; - template - class ScanFormatter - { - public: - template - static - int scan(T&& t, A&&... a) - { - constexpr static - const char *scan_format = Format::scan_format().format_string(); - return do_scan(std::forward(t), scan_format, - &convert_for_scanf(*a)...); - } - }; - # define XPRINTF(out, fmt, ...) \ ({ \ struct format_impl \ @@ -226,29 +167,10 @@ namespace cxxstdio cxxstdio::PrintFormatter::print(out, ## __VA_ARGS__); \ }) -# if 0 -# define XSCANF(out, fmt, ...) \ - ({ \ - struct format_impl \ - { \ - constexpr static \ - FormatString scan_format() { return fmt; } \ - }; \ - cxxstdio::ScanFormatter::scan(out, ## __VA_ARGS__); \ - }) -# endif - # define FPRINTF(file, fmt, ...) XPRINTF(/*no_cast*/(file), fmt, ## __VA_ARGS__) -# if 0 -# define FSCANF(file, fmt, ...) XSCANF(no_cast(file), fmt, ## __VA_ARGS__) -# endif # define PRINTF(fmt, ...) FPRINTF(stdout, fmt, ## __VA_ARGS__) # define SPRINTF(str, fmt, ...) XPRINTF(base_cast(str), fmt, ## __VA_ARGS__) # define SNPRINTF(str, n, fmt, ...) XPRINTF(base_cast&>(str), fmt, ## __VA_ARGS__) -# if 0 -# define SCANF(fmt, ...) FSCANF(stdin, fmt, ## __VA_ARGS__) -# define SSCANF(str, fmt, ...) XSCANF(maybe_cast(str), fmt, ## __VA_ARGS__) -# endif # define STRPRINTF(fmt, ...) \ ({ \ diff --git a/src/io/line_test.cpp b/src/io/line_test.cpp index 6a4a55c..d6efa67 100644 --- a/src/io/line_test.cpp +++ b/src/io/line_test.cpp @@ -25,6 +25,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + static io::FD string_pipe(ZString sz) { diff --git a/src/io/read_test.cpp b/src/io/read_test.cpp index 77b2286..8cf7d7a 100644 --- a/src/io/read_test.cpp +++ b/src/io/read_test.cpp @@ -26,6 +26,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + static io::FD string_pipe(ZString sz) { diff --git a/src/io/write_test.cpp b/src/io/write_test.cpp index 970be42..ff2553a 100644 --- a/src/io/write_test.cpp +++ b/src/io/write_test.cpp @@ -30,6 +30,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + static io::FD pipew(io::FD& rfd) { diff --git a/src/login/login.cpp b/src/login/login.cpp index b86950d..4322b33 100644 --- a/src/login/login.cpp +++ b/src/login/login.cpp @@ -285,7 +285,7 @@ static GmLevel isGM(AccountId account_id) { GM_Account *p = gm_account_db.search(account_id); - if (p == NULL) + if (p == nullptr) return GmLevel(); return p->level; } @@ -3255,14 +3255,14 @@ void parse_login(Session *s) static bool login_lan_config(XString w1, ZString w2) { - struct hostent *h = NULL; + struct hostent *h = nullptr; { if (w1 == "lan_char_ip"_s) { // Read Char-Server Lan IP Address h = gethostbyname(w2.c_str()); - if (h != NULL) + if (h != nullptr) { lan_char_ip = IP4Address({ static_cast(h->h_addr[0]), diff --git a/src/map/atcommand.cpp b/src/map/atcommand.cpp index f405f14..1b857f4 100644 --- a/src/map/atcommand.cpp +++ b/src/map/atcommand.cpp @@ -214,7 +214,7 @@ AString gm_log; io::AppendFile *get_gm_log() { if (!gm_log) - return NULL; + return nullptr; struct tm ctime = TimeT::now(); @@ -334,7 +334,7 @@ void atkillmonster_sub(dumb_ptr bl, int flag) dumb_ptr md = bl->is_mob(); if (flag) - mob_damage(NULL, md, md->hp, 2); + mob_damage(nullptr, md, md->hp, 2); else mob_delete(md); } @@ -369,7 +369,7 @@ bool atcommand_config_read(ZString cfgName) continue; } AtCommandInfo *p = get_atcommandinfo_byname(w1); - if (p != NULL) + if (p != nullptr) { p->level = GmLevel::from(static_cast(atoi(w2.c_str()))); } @@ -639,7 +639,7 @@ ATCE atcommand_where(Session *s, dumb_ptr sd, extract(message, &character); dumb_ptr pl_sd = character.to__actual() ? map_nick2sd(character) : sd; - if (pl_sd != NULL && + if (pl_sd != nullptr && !((battle_config.hide_GM_session || bool(pl_sd->status.option & Option::HIDE)) && !(pc_isGM(sd).detects(pc_isGM(pl_sd))))) @@ -673,7 +673,7 @@ ATCE atcommand_goto(Session *s, dumb_ptr sd, } dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pl_sd->bl_m && pl_sd->bl_m->flag.get(MapFlag::NOWARPTO) && !(pc_isGM(sd).satisfies(GmLevel::from(static_cast(battle_config.any_warp_GM_min_level))))) @@ -1152,7 +1152,7 @@ ATCE atcommand_storage(Session *s, dumb_ptr sd, return ATCE::EXIST; } - if ((stor = account2storage2(sd->status_key.account_id)) != NULL + if ((stor = account2storage2(sd->status_key.account_id)) != nullptr && stor->storage_status == 1) { clif_displaymessage(s, "msg_table[250]"_s); @@ -1209,7 +1209,7 @@ static ATCE atcommand_die(Session *s, dumb_ptr sd, ZString) { - pc_damage(NULL, sd, sd->status.hp + 1); + pc_damage(nullptr, sd, sd->status.hp + 1); clif_displaymessage(s, "A pity! You've died."_s); return ATCE::OKAY; @@ -1225,12 +1225,12 @@ ATCE atcommand_kill(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { // you can kill only lower or same level - pc_damage(NULL, pl_sd, pl_sd->status.hp + 1); + pc_damage(nullptr, pl_sd, pl_sd->status.hp + 1); clif_displaymessage(s, "Character killed."_s); } else @@ -1334,7 +1334,7 @@ ATCE atcommand_item(Session *s, dumb_ptr sd, XString item_name; int number = 0; ItemNameId item_id; - struct item_data *item_data = NULL; + struct item_data *item_data = nullptr; int get_count, i; if (!extract(message, record<' ', 1>(&item_name, &number))) @@ -1347,9 +1347,9 @@ ATCE atcommand_item(Session *s, dumb_ptr sd, if (number <= 0) number = 1; - if ((item_data = itemdb_searchname(item_name)) != NULL) + if ((item_data = itemdb_searchname(item_name)) != nullptr) item_id = item_data->nameid; - else if (extract(item_name, &item_id) && (item_data = itemdb_exists(item_id)) != NULL) + else if (extract(item_name, &item_id) && (item_data = itemdb_exists(item_id)) != nullptr) item_id = item_data->nameid; else return ATCE::EXIST; @@ -2068,7 +2068,7 @@ ATCE atcommand_recall(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { @@ -2116,7 +2116,7 @@ ATCE atcommand_revive(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { pl_sd->status.hp = pl_sd->status.max_hp; pc_setstand(pl_sd); @@ -2146,7 +2146,7 @@ ATCE atcommand_character_stats(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { AString output; output = STRPRINTF("'%s' stats:"_fmt, pl_sd->status_key.name); @@ -2256,7 +2256,7 @@ ATCE atcommand_character_option(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { @@ -2391,7 +2391,7 @@ ATCE atcommand_character_save(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { @@ -2445,7 +2445,7 @@ ATCE atcommand_doom(Session *s, dumb_ptr sd, && pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { // you can doom only lower or same gm level - pc_damage(NULL, pl_sd, pl_sd->status.hp + 1); + pc_damage(nullptr, pl_sd, pl_sd->status.hp + 1); clif_displaymessage(pl_sd->sess, "The holy messenger has given judgement."_s); } } @@ -2469,7 +2469,7 @@ ATCE atcommand_doommap(Session *s, dumb_ptr sd, && pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { // you can doom only lower or same gm level - pc_damage(NULL, pl_sd, pl_sd->status.hp + 1); + pc_damage(nullptr, pl_sd, pl_sd->status.hp + 1); clif_displaymessage(pl_sd->sess, "The holy messenger has given judgement."_s); } } @@ -2541,7 +2541,7 @@ ATCE atcommand_character_baselevel(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { @@ -2627,7 +2627,7 @@ ATCE atcommand_character_joblevel(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { @@ -2699,7 +2699,7 @@ ATCE atcommand_kick(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) // you can kick only lower or same gm level @@ -2797,7 +2797,7 @@ ATCE atcommand_charquestskill(Session *s, dumb_ptr, if (skill_get_inf2(skill_id) & 0x01) { dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_checkskill(pl_sd, skill_id) == 0) { @@ -2887,7 +2887,7 @@ ATCE atcommand_charlostskill(Session *s, dumb_ptr, if (skill_get_inf2(skill_id) & 0x01) { dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_checkskill(pl_sd, skill_id) > 0) { @@ -2976,7 +2976,7 @@ ATCE atcommand_idsearch(Session *s, dumb_ptr, match = 0; for (ItemNameId i = wrap(0); i < wrap(-1); i = next(i)) { - if ((item = itemdb_exists(i)) != NULL + if ((item = itemdb_exists(i)) != nullptr && item->jname.contains_seq(item_name)) { match++; @@ -3000,7 +3000,7 @@ ATCE atcommand_charskreset(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { @@ -3035,7 +3035,7 @@ ATCE atcommand_charstreset(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { @@ -3071,7 +3071,7 @@ ATCE atcommand_charreset(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { @@ -3111,7 +3111,7 @@ ATCE atcommand_char_wipe(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { @@ -3191,7 +3191,7 @@ ATCE atcommand_charmodel(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (hair_style >= MIN_HAIR_STYLE && hair_style <= MAX_HAIR_STYLE && hair_color >= MIN_HAIR_COLOR && hair_color <= MAX_HAIR_COLOR && @@ -3229,7 +3229,7 @@ ATCE atcommand_charskpoint(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { new_skill_point = pl_sd->status.skill_point + point; if (point > 0 && (point > 0x7FFF || new_skill_point > 0x7FFF)) @@ -3269,7 +3269,7 @@ ATCE atcommand_charstpoint(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { new_status_point = pl_sd->status.status_point + point; if (point > 0 && (point > 0x7FFF || new_status_point > 0x7FFF)) @@ -3307,7 +3307,7 @@ ATCE atcommand_charzeny(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { new_zeny = pl_sd->status.zeny + zeny; if (zeny > 0 && (zeny > MAX_ZENY || new_zeny > MAX_ZENY)) @@ -3445,7 +3445,7 @@ static ATCE atcommand_mapinfo(Session *s, dumb_ptr sd, ZString message) { - dumb_ptr nd = NULL; + dumb_ptr nd = nullptr; MapName map_name; LString direction = ""_s; int list = 0; @@ -3618,7 +3618,7 @@ ATCE atcommand_enablenpc(Session *s, dumb_ptr, if (!extract(message, &NPCname) || !NPCname) return ATCE::USAGE; - if (npc_name2id(NPCname) != NULL) + if (npc_name2id(NPCname) != nullptr) { npc_enable(NPCname, 1); clif_displaymessage(s, "Npc Enabled."_s); @@ -3641,7 +3641,7 @@ ATCE atcommand_disablenpc(Session *s, dumb_ptr, if (!extract(message, &NPCname) || !NPCname) return ATCE::USAGE; - if (npc_name2id(NPCname) != NULL) + if (npc_name2id(NPCname) != nullptr) { npc_enable(NPCname, 0); clif_displaymessage(s, "Npc Disabled."_s); @@ -3681,15 +3681,15 @@ ATCE atcommand_chardelitem(Session *s, dumb_ptr sd, if (!asplit(message, &item_name, &number, &character) || number < 1) return ATCE::USAGE; - if ((item_data = itemdb_searchname(item_name)) != NULL) + if ((item_data = itemdb_searchname(item_name)) != nullptr) item_id = item_data->nameid; - else if (extract(item_name, &item_id) && (item_data = itemdb_exists(item_id)) != NULL) + else if (extract(item_name, &item_id) && (item_data = itemdb_exists(item_id)) != nullptr) item_id = item_data->nameid; if (item_id) { dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { @@ -3845,7 +3845,7 @@ static ATCE atcommand_character_item_list(Session *s, dumb_ptr sd, ZString message) { - struct item_data *item_data = NULL; + struct item_data *item_data = nullptr; int count, counter; CharName character; @@ -3853,7 +3853,7 @@ ATCE atcommand_character_item_list(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { @@ -3865,7 +3865,7 @@ ATCE atcommand_character_item_list(Session *s, dumb_ptr sd, if (pl_sd->status.inventory[i].nameid && (item_data = itemdb_search(pl_sd->status.inventory[i].nameid)) != - NULL) + nullptr) { counter = counter + pl_sd->status.inventory[i].amount; count++; @@ -3957,7 +3957,7 @@ ATCE atcommand_character_storage_list(Session *s, dumb_ptr sd, ZString message) { Storage *stor; - struct item_data *item_data = NULL; + struct item_data *item_data = nullptr; int count, counter; CharName character; @@ -3965,12 +3965,12 @@ ATCE atcommand_character_storage_list(Session *s, dumb_ptr sd, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { // you can look items only lower or same level - if ((stor = account2storage2(pl_sd->status_key.account_id)) != NULL) + if ((stor = account2storage2(pl_sd->status_key.account_id)) != nullptr) { counter = 0; count = 0; @@ -3978,7 +3978,7 @@ ATCE atcommand_character_storage_list(Session *s, dumb_ptr sd, { if (stor->storage_[i].nameid && (item_data = - itemdb_search(stor->storage_[i].nameid)) != NULL) + itemdb_search(stor->storage_[i].nameid)) != nullptr) { counter = counter + stor->storage_[i].amount; count++; @@ -4054,7 +4054,7 @@ ATCE atcommand_charkiller(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd == NULL) + if (pl_sd == nullptr) return ATCE::EXIST; pl_sd->special_state.killer = !pl_sd->special_state.killer; @@ -4097,7 +4097,7 @@ ATCE atcommand_charkillable(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd == NULL) + if (pl_sd == nullptr) return ATCE::EXIST; pl_sd->special_state.killable = !pl_sd->special_state.killable; @@ -4116,13 +4116,13 @@ ATCE atcommand_npcmove(Session *, dumb_ptr, { NpcName character; int x = 0, y = 0; - dumb_ptr nd = 0; + dumb_ptr nd = nullptr; if (!asplit(message, &x, &y, &character)) return ATCE::USAGE; nd = npc_name2id(character); - if (nd == NULL) + if (nd == nullptr) return ATCE::EXIST; npc_enable(character, 0); @@ -4172,7 +4172,7 @@ ATCE atcommand_chareffect(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(target); - if (pl_sd == NULL) + if (pl_sd == nullptr) return ATCE::EXIST; clif_specialeffect(pl_sd, type, 0); @@ -4206,7 +4206,7 @@ ATCE atcommand_chardropall(Session *s, dumb_ptr, if (!asplit(message, &character)) return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd == NULL) + if (pl_sd == nullptr) return ATCE::EXIST; for (IOff0 i : IOff0::iter()) { @@ -4268,7 +4268,7 @@ ATCE atcommand_charstoreall(Session *s, dumb_ptr sd, if (!asplit(message, &character)) return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd == NULL) + if (pl_sd == nullptr) return ATCE::EXIST; if (storage_storageopen(pl_sd) == 1) @@ -4451,7 +4451,7 @@ ATCE atcommand_adjgmlvl(Session *s, dumb_ptr, } dumb_ptr pl_sd = map_nick2sd(user); - if (pl_sd == NULL) + if (pl_sd == nullptr) return ATCE::EXIST; pc_set_gm_level(pl_sd->status_key.account_id, newlev); @@ -4583,7 +4583,7 @@ ATCE atcommand_set_magic(Session *s, dumb_ptr, } dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (skill_index == SkillID::ZERO) for (SkillID sk : magic_skills) @@ -4713,7 +4713,7 @@ ATCE atcommand_skillpool_info(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { SkillID pool_skills[MAX_SKILL_POOL]; int pool_skills_nr = skill_pool(pl_sd, pool_skills); @@ -4773,7 +4773,7 @@ ATCE atcommand_skillpool_focus(Session *s, dumb_ptr, } dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (skill_pool_activate(pl_sd, skill)) clif_displaymessage(s, "Activation failed."_s); @@ -4797,7 +4797,7 @@ ATCE atcommand_skillpool_unfocus(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { if (skill_pool_deactivate(pl_sd, skill)) clif_displaymessage(s, "Deactivation failed."_s); @@ -4822,7 +4822,7 @@ ATCE atcommand_skill_learn(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd != NULL) + if (pl_sd != nullptr) { set_skill(pl_sd, skill, level); clif_skillinfoblock(pl_sd); @@ -4843,7 +4843,7 @@ ATCE atcommand_ipcheck(Session *s, dumb_ptr, return ATCE::USAGE; dumb_ptr pl_sd = map_nick2sd(character); - if (pl_sd == NULL) + if (pl_sd == nullptr) { clif_displaymessage(s, "Character not found."_s); return ATCE::EXIST; @@ -4894,7 +4894,7 @@ ATCE atcommand_doomspot(Session *s, dumb_ptr sd, && pc_isGM(sd).overwhelms(pc_isGM(pl_sd))) { // you can doom only lower or same gm level - pc_damage(NULL, pl_sd, pl_sd->status.hp + 1); + pc_damage(nullptr, pl_sd, pl_sd->status.hp + 1); clif_displaymessage(pl_sd->sess, "The holy messenger has given judgement."_s); } } diff --git a/src/map/battle.cpp b/src/map/battle.cpp index a653cac..95826bb 100644 --- a/src/map/battle.cpp +++ b/src/map/battle.cpp @@ -63,7 +63,7 @@ static int battle_counttargeted(dumb_ptr bl, dumb_ptr src, ATK target_lv) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::PC) return pc_counttargeted(bl->is_player(), src, target_lv); @@ -111,7 +111,7 @@ DIR battle_get_dir(dumb_ptr bl) */ int battle_get_lv(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::MOB) return bl->is_mob()->stats[mob_stat::LV]; else if (bl->bl_type == BL::PC) @@ -127,7 +127,7 @@ int battle_get_lv(dumb_ptr bl) */ int battle_get_range(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::MOB) return get_mob_db(bl->is_mob()->mob_class).range; else if (bl->bl_type == BL::PC) @@ -189,7 +189,7 @@ int battle_get_str(dumb_ptr bl) int str = 0; eptr sc_data; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (bl->bl_type == BL::MOB) str = bl->is_mob()->stats[mob_stat::STR]; @@ -212,7 +212,7 @@ int battle_get_agi(dumb_ptr bl) int agi = 0; eptr sc_data; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (bl->bl_type == BL::MOB) agi = bl->is_mob()->stats[mob_stat::AGI]; @@ -234,7 +234,7 @@ int battle_get_vit(dumb_ptr bl) int vit = 0; eptr sc_data; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (bl->bl_type == BL::MOB) vit = bl->is_mob()->stats[mob_stat::VIT]; @@ -256,7 +256,7 @@ int battle_get_int(dumb_ptr bl) int int_ = 0; eptr sc_data; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (bl->bl_type == BL::MOB) int_ = bl->is_mob()->stats[mob_stat::INT]; @@ -278,7 +278,7 @@ int battle_get_dex(dumb_ptr bl) int dex = 0; eptr sc_data; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (bl->bl_type == BL::MOB) dex = bl->is_mob()->stats[mob_stat::DEX]; @@ -300,7 +300,7 @@ int battle_get_luk(dumb_ptr bl) int luk = 0; eptr sc_data; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (bl->bl_type == BL::MOB) luk = bl->is_mob()->stats[mob_stat::LUK]; @@ -466,7 +466,7 @@ int battle_get_atk(dumb_ptr bl) eptr sc_data; int atk = 0; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (bl->bl_type == BL::PC) atk = bl->is_player()->watk; @@ -486,7 +486,7 @@ int battle_get_atk(dumb_ptr bl) static int battle_get_atk_(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::PC) return bl->is_player()->watk_; else @@ -501,7 +501,7 @@ int battle_get_atk_(dumb_ptr bl) static int battle_get_atk2(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::PC) return bl->is_player()->watk2; else @@ -524,7 +524,7 @@ int battle_get_atk2(dumb_ptr bl) static int battle_get_atk_2(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::PC) return bl->is_player()->watk_2; else @@ -540,7 +540,7 @@ static int battle_get_matk1(dumb_ptr bl) { eptr sc_data; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (bl->bl_type == BL::MOB) { @@ -563,7 +563,7 @@ int battle_get_matk1(dumb_ptr bl) static int battle_get_matk2(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::MOB) { int matk, int_ = battle_get_int(bl); @@ -587,7 +587,7 @@ int battle_get_def(dumb_ptr bl) eptr sc_data; int def = 0; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (bl->bl_type == BL::PC) { @@ -623,7 +623,7 @@ int battle_get_mdef(dumb_ptr bl) eptr sc_data; int mdef = 0; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (bl->bl_type == BL::PC) mdef = bl->is_player()->mdef; @@ -685,7 +685,7 @@ int battle_get_mdef2(dumb_ptr bl) { int mdef2 = 0; - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::MOB) { dumb_ptr md = bl->is_mob(); @@ -883,60 +883,60 @@ eptr battle_ short *battle_get_sc_count(dumb_ptr bl) { - nullpo_retr(NULL, bl); + nullpo_retr(nullptr, bl); if (bl->bl_type == BL::MOB) return &bl->is_mob()->sc_count; else if (bl->bl_type == BL::PC) return &bl->is_player()->sc_count; - return NULL; + return nullptr; } Opt1 *battle_get_opt1(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retn(bl); if (bl->bl_type == BL::MOB) return &bl->is_mob()->opt1; else if (bl->bl_type == BL::PC) return &bl->is_player()->opt1; else if (bl->bl_type == BL::NPC) return &bl->is_npc()->opt1; - return 0; + return nullptr; } Opt2 *battle_get_opt2(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retn(bl); if (bl->bl_type == BL::MOB) return &bl->is_mob()->opt2; else if (bl->bl_type == BL::PC) return &bl->is_player()->opt2; else if (bl->bl_type == BL::NPC) return &bl->is_npc()->opt2; - return 0; + return nullptr; } Opt3 *battle_get_opt3(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retn(bl); if (bl->bl_type == BL::MOB) return &bl->is_mob()->opt3; else if (bl->bl_type == BL::PC) return &bl->is_player()->opt3; else if (bl->bl_type == BL::NPC) return &bl->is_npc()->opt3; - return 0; + return nullptr; } Option *battle_get_option(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retn(bl); if (bl->bl_type == BL::MOB) return &bl->is_mob()->option; else if (bl->bl_type == BL::PC) return &bl->is_player()->status.option; else if (bl->bl_type == BL::NPC) return &bl->is_npc()->option; - return 0; + return nullptr; } //------------------------------------------------------------------- @@ -953,17 +953,17 @@ struct battle_delay_damage_ int battle_damage(dumb_ptr bl, dumb_ptr target, int damage, int flag) { - nullpo_ret(target); //blはNULLで呼ばれることがあるので他でチェック + nullpo_retz(target); //blはNULLで呼ばれることがあるので他でチェック if (damage == 0) return 0; - if (target->bl_prev == NULL) + if (target->bl_prev == nullptr) return 0; if (bl) { - if (bl->bl_prev == NULL) + if (bl->bl_prev == nullptr) return 0; } @@ -991,7 +991,7 @@ int battle_damage(dumb_ptr bl, dumb_ptr target, int battle_heal(dumb_ptr bl, dumb_ptr target, int hp, int sp, int flag) { - nullpo_ret(target); //blはNULLで呼ばれることがあるので他でチェック + nullpo_retz(target); //blはNULLで呼ばれることがあるので他でチェック if (target->bl_type == BL::PC && pc_isdead(target->is_player())) @@ -1012,7 +1012,7 @@ int battle_heal(dumb_ptr bl, dumb_ptr target, int hp, // 攻撃停止 int battle_stopattack(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::MOB) return mob_stopattack(bl->is_mob()); else if (bl->bl_type == BL::PC) @@ -1023,7 +1023,7 @@ int battle_stopattack(dumb_ptr bl) // 移動停止 int battle_stopwalking(dumb_ptr bl, int type) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::MOB) return mob_stop_walking(bl->is_mob(), type); else if (bl->bl_type == BL::PC) @@ -1040,9 +1040,9 @@ int battle_calc_damage(dumb_ptr, dumb_ptr bl, int damage, int div_, SkillID, int, BF flag) { - dumb_ptr md = NULL; + dumb_ptr md = nullptr; - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::MOB) md = bl->is_mob(); @@ -1059,7 +1059,7 @@ int battle_calc_damage(dumb_ptr, dumb_ptr bl, damage = 3; } - if (md != NULL && md->hp > 0 && damage > 0) // 反撃などのMOBスキル判定 + if (md != nullptr && md->hp > 0 && damage > 0) // 反撃などのMOBスキル判定 mobskill_event(md, flag); return damage; @@ -1071,8 +1071,8 @@ struct Damage battle_calc_mob_weapon_attack(dumb_ptr src, SkillID skill_num, int skill_lv, int) { - dumb_ptr tsd = NULL; - dumb_ptr md = src->is_mob(), tmd = NULL; + dumb_ptr tsd = nullptr; + dumb_ptr md = src->is_mob(), tmd = nullptr; int hitrate, flee, cri = 0, atkmin, atkmax; int target_count = 1; int def1 = battle_get_def(target); @@ -1282,7 +1282,7 @@ struct Damage battle_calc_mob_weapon_attack(dumb_ptr src, damage = 0; // 完全回避の判定 - if (skill_num == SkillID::ZERO && skill_lv >= 0 && tsd != NULL + if (skill_num == SkillID::ZERO && skill_lv >= 0 && tsd != nullptr && random_::chance({battle_get_flee2(target), 1000})) { damage = 0; @@ -1292,7 +1292,7 @@ struct Damage battle_calc_mob_weapon_attack(dumb_ptr src, if (battle_config.enemy_perfect_flee) { - if (skill_num == SkillID::ZERO && skill_lv >= 0 && tmd != NULL + if (skill_num == SkillID::ZERO && skill_lv >= 0 && tmd != nullptr && random_::chance({battle_get_flee2(target), 1000})) { damage = 0; @@ -1346,8 +1346,8 @@ struct Damage battle_calc_pc_weapon_attack(dumb_ptr src, SkillID skill_num, int skill_lv, int) { - dumb_ptr sd = src->is_player(), tsd = NULL; - dumb_ptr tmd = NULL; + dumb_ptr sd = src->is_player(), tsd = nullptr; + dumb_ptr tmd = nullptr; int hitrate, flee, cri = 0, atkmin, atkmax; int dex, target_count = 1; int def1 = battle_get_def(target); @@ -1708,7 +1708,7 @@ struct Damage battle_calc_pc_weapon_attack(dumb_ptr src, } // 完全回避の判定 - if (skill_num == SkillID::ZERO && skill_lv >= 0 && tsd != NULL && div_ < 255 + if (skill_num == SkillID::ZERO && skill_lv >= 0 && tsd != nullptr && div_ < 255 && random_::chance({battle_get_flee2(target), 1000})) { damage = damage2 = 0; @@ -1719,7 +1719,7 @@ struct Damage battle_calc_pc_weapon_attack(dumb_ptr src, // 対象が完全回避をする設定がONなら if (battle_config.enemy_perfect_flee) { - if (skill_num == SkillID::ZERO && skill_lv >= 0 && tmd != NULL && div_ < 255 + if (skill_num == SkillID::ZERO && skill_lv >= 0 && tmd != nullptr && div_ < 255 && random_::chance({battle_get_flee2(target), 1000})) { damage = damage2 = 0; @@ -1809,7 +1809,7 @@ struct Damage battle_calc_magic_attack(dumb_ptr bl, int matk1, matk2, damage = 0, div_ = 1; struct Damage md {}; int normalmagic_flag = 1; - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; nullpo_retr(md, bl); nullpo_retr(md, target); @@ -1885,7 +1885,7 @@ struct Damage battle_calc_misc_attack(dumb_ptr bl, dumb_ptr target, SkillID skill_num, int skill_lv, int) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; int damage = 0, div_ = 1; struct Damage md {}; int damagefix = 1; @@ -1979,7 +1979,7 @@ struct Damage battle_calc_attack(BF attack_type, ATK battle_weapon_attack(dumb_ptr src, dumb_ptr target, tick_t tick) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; eptr t_sc_data = battle_get_sc_data(target); struct Damage wd; @@ -1989,7 +1989,7 @@ ATK battle_weapon_attack(dumb_ptr src, dumb_ptr target, if (src->bl_type == BL::PC) sd = src->is_player(); - if (src->bl_prev == NULL || target->bl_prev == NULL) + if (src->bl_prev == nullptr || target->bl_prev == nullptr) return ATK::ZERO; if (src->bl_type == BL::PC && pc_isdead(sd)) return ATK::ZERO; @@ -1998,7 +1998,7 @@ ATK battle_weapon_attack(dumb_ptr src, dumb_ptr target, return ATK::ZERO; Opt1 *opt1 = battle_get_opt1(src); - if (opt1 != NULL && bool(*opt1)) + if (opt1 != nullptr && bool(*opt1)) { battle_stopattack(src); return ATK::ZERO; @@ -2088,7 +2088,7 @@ ATK battle_weapon_attack(dumb_ptr src, dumb_ptr target, } battle_damage(src, target, (wd.damage + wd.damage2), 0); - if (target->bl_prev != NULL && + if (target->bl_prev != nullptr && (target->bl_type != BL::PC || (target->bl_type == BL::PC && !pc_isdead(target->is_player())))) @@ -2164,8 +2164,8 @@ int battle_check_target(dumb_ptr src, dumb_ptr target, PartyId s_p, t_p; dumb_ptr ss = src; - nullpo_ret(src); - nullpo_ret(target); + nullpo_retz(src); + nullpo_retz(target); if (flag & BCT_ENEMY) { // 反転フラグ @@ -2214,7 +2214,7 @@ int battle_check_target(dumb_ptr src, dumb_ptr target, } } } - if ((ss = map_id2bl(md->master_id)) == NULL) + if ((ss = map_id2bl(md->master_id)) == nullptr) return -1; } } @@ -2226,7 +2226,7 @@ int battle_check_target(dumb_ptr src, dumb_ptr target, && pc_isinvisible(target->is_player())) return -1; - if (src->bl_prev == NULL || // 死んでるならエラー + if (src->bl_prev == nullptr || // 死んでるならエラー (src->bl_type == BL::PC && pc_isdead(src->is_player()))) return -1; @@ -2275,8 +2275,8 @@ int battle_check_range(dumb_ptr src, dumb_ptr bl, struct walkpath_data wpd; int arange; - nullpo_ret(src); - nullpo_ret(bl); + nullpo_retz(src); + nullpo_retz(bl); dx = abs(bl->bl_x - src->bl_x); dy = abs(bl->bl_y - src->bl_y); diff --git a/src/map/chrif.cpp b/src/map/chrif.cpp index 55e5810..18482f6 100644 --- a/src/map/chrif.cpp +++ b/src/map/chrif.cpp @@ -257,7 +257,7 @@ int chrif_changemapserverack(Session *, const Packet_Fixed<0x2b06>& fixed) { dumb_ptr sd = map_id2sd(account_to_block(fixed.account_id)); - if (sd == NULL || sd->status_key.char_id != fixed.char_id) + if (sd == nullptr || sd->status_key.char_id != fixed.char_id) return -1; // I am fairly certain that this is not possible @@ -480,7 +480,7 @@ int chrif_char_ask_name_answer(Session *, const Packet_Fixed<0x2b0f>& fixed) CharName player_name = fixed.char_name; dumb_ptr sd = map_id2sd(account_to_block(acc)); - if (acc && sd != NULL) + if (acc && sd != nullptr) { AString output; if (fixed.error == 1) // player not found @@ -621,7 +621,7 @@ void chrif_changedgm(Session *, const Packet_Fixed<0x2b0b>& fixed) if (battle_config.etc_log) PRINTF("chrif_changedgm: account: %d, GM level 0 -> %d.\n"_fmt, acc, level); - if (sd != NULL) + if (sd != nullptr) { if (level) clif_displaymessage(sd->sess, "GM modification success."_s); @@ -646,7 +646,7 @@ void chrif_changedsex(Session *, const Packet_Fixed<0x2b0d>& fixed) sd = map_id2sd(account_to_block(acc)); if (acc) { - if (sd != NULL && sd->status.sex != sex) + if (sd != nullptr && sd->status.sex != sex) { if (sd->status.sex == SEX::MALE) sd->sex = sd->status.sex = SEX::FEMALE; @@ -670,7 +670,7 @@ void chrif_changedsex(Session *, const Packet_Fixed<0x2b0d>& fixed) } else { - if (sd != NULL) + if (sd != nullptr) { PRINTF("chrif_changedsex failed.\n"_fmt); } @@ -716,7 +716,7 @@ static int chrif_accountreg2(Session *, const Packet_Head<0x2b11>& head, const std::vector>& repeat) { dumb_ptr sd = map_id2sd(account_to_block(head.account_id)); - if (sd == NULL) + if (sd == nullptr) return 1; size_t jlim = std::min(ACCOUNT_REG2_NUM, repeat.size()); @@ -739,7 +739,7 @@ int chrif_accountreg2(Session *, const Packet_Head<0x2b11>& head, const std::vec static int chrif_divorce(CharId char_id, CharId partner_id) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; if (!char_id || !partner_id) return 0; @@ -757,7 +757,7 @@ int chrif_divorce(CharId char_id, CharId partner_id) } sd = map_nick2sd(map_charid2nick(partner_id)); - nullpo_ret(sd); + nullpo_retz(sd); if (sd->status.partner_id == char_id) sd->status.partner_id = CharId(); @@ -795,7 +795,7 @@ int chrif_accountdeletion(Session *, const Packet_Fixed<0x2b13>& fixed) sd = map_id2sd(account_to_block(acc)); if (acc) { - if (sd != NULL) + if (sd != nullptr) { sd->login_id1++; // change identify, because if player come back in char within the 5 seconds, he can change its characters clif_displaymessage(sd->sess, @@ -805,7 +805,7 @@ int chrif_accountdeletion(Session *, const Packet_Fixed<0x2b13>& fixed) } else { - if (sd != NULL) + if (sd != nullptr) PRINTF("chrif_accountdeletion failed - player not online.\n"_fmt); } @@ -827,7 +827,7 @@ int chrif_accountban(Session *, const Packet_Fixed<0x2b14>& fixed) sd = map_id2sd(account_to_block(acc)); if (acc) { - if (sd != NULL) + if (sd != nullptr) { sd->login_id1++; // change identify, because if player come back in char within the 5 seconds, he can change its characters if (fixed.ban_not_status == 0) @@ -894,7 +894,7 @@ int chrif_accountban(Session *, const Packet_Fixed<0x2b14>& fixed) } else { - if (sd != NULL) + if (sd != nullptr) PRINTF("chrif_accountban failed - player not online.\n"_fmt); } diff --git a/src/map/clif.cpp b/src/map/clif.cpp index 2ae9825..addfa59 100644 --- a/src/map/clif.cpp +++ b/src/map/clif.cpp @@ -274,7 +274,7 @@ void clif_send_sub(dumb_ptr bl, const Buffer& buf, break; } - if (sd->sess != NULL) + if (sd->sess != nullptr) { { { @@ -296,7 +296,7 @@ int clif_send(const Buffer& buf, dumb_ptr bl, SendWho type) if (type != SendWho::ALL_CLIENT) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::PC) { @@ -461,7 +461,7 @@ int clif_send(const Buffer& buf, dumb_ptr bl, SendWho type) */ int clif_authok(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); if (!sd) return 0; @@ -507,7 +507,7 @@ int clif_charselectok(BlockId id) { dumb_ptr sd; - if ((sd = map_id2sd(id)) == NULL) + if ((sd = map_id2sd(id)) == nullptr) return 1; if (!sd->sess) @@ -549,7 +549,7 @@ void clif_set009e(dumb_ptr fitem, Buffer& buf) */ int clif_dropflooritem(dumb_ptr fitem) { - nullpo_ret(fitem); + nullpo_retz(fitem); if (!fitem->item_data.nameid) return 0; @@ -567,7 +567,7 @@ int clif_dropflooritem(dumb_ptr fitem) */ int clif_clearflooritem(dumb_ptr fitem, Session *s) { - nullpo_ret(fitem); + nullpo_retz(fitem); Packet_Fixed<0x00a1> fixed_a1; fixed_a1.block_id = fitem->bl_id; @@ -591,7 +591,7 @@ int clif_clearflooritem(dumb_ptr fitem, Session *s) */ int clif_clearchar(dumb_ptr bl, BeingRemoveWhy type) { - nullpo_ret(bl); + nullpo_retz(bl); Packet_Fixed<0x0080> fixed_80; fixed_80.block_id = bl->bl_id; @@ -931,7 +931,7 @@ earray equip_points //= */ int clif_spawnpc(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); Buffer buf; clif_set0078_alt_1d9(sd, buf); @@ -949,7 +949,7 @@ int clif_spawnpc(dumb_ptr sd) if (sd->bl_m->flag.get(MapFlag::RAIN)) clif_specialeffect(sd, 161, 1); -// clif_changelook_accessories(sd, NULL); +// clif_changelook_accessories(sd, nullptr); return 0; } @@ -960,7 +960,7 @@ int clif_spawnpc(dumb_ptr sd) */ int clif_spawnnpc(dumb_ptr nd) { - nullpo_ret(nd); + nullpo_retz(nd); if (nd->npc_class == NEGATIVE_SPECIES || nd->flag & 1 || nd->npc_class == INVISIBLE_CLASS) return 0; @@ -983,7 +983,7 @@ int clif_spawnnpc(dumb_ptr nd) int clif_spawn_fake_npc_for_player(dumb_ptr sd, BlockId fake_npc_id) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; @@ -1028,7 +1028,7 @@ int clif_spawn_fake_npc_for_player(dumb_ptr sd, BlockId fake_n */ int clif_spawnmob(dumb_ptr md) { - nullpo_ret(md); + nullpo_retz(md); { Packet_Fixed<0x007c> fixed_7c; @@ -1058,7 +1058,7 @@ int clif_spawnmob(dumb_ptr md) static int clif_servertick(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x007f> fixed_7f; @@ -1074,7 +1074,7 @@ int clif_servertick(dumb_ptr sd) */ int clif_walkok(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x0087> fixed_87; @@ -1095,7 +1095,7 @@ int clif_walkok(dumb_ptr sd) */ int clif_movechar(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); Buffer buf; clif_set007b(sd, buf); @@ -1201,7 +1201,7 @@ void clif_fixpos(dumb_ptr bl) */ int clif_npcbuysell(dumb_ptr sd, BlockId id) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00c4> fixed_c4; @@ -1220,8 +1220,8 @@ int clif_buylist(dumb_ptr sd, dumb_ptr nd) struct item_data *id; int i, val; - nullpo_ret(sd); - nullpo_ret(nd); + nullpo_retz(sd); + nullpo_retz(nd); Session *s = sd->sess; std::vector> repeat_c6(nd->shop_items.size()); @@ -1245,7 +1245,7 @@ int clif_buylist(dumb_ptr sd, dumb_ptr nd) */ int clif_selllist(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; std::vector> repeat_c7; @@ -1359,7 +1359,7 @@ void clif_scriptinputstr(dumb_ptr sd, BlockId npcid) */ int clif_additem(dumb_ptr sd, IOff0 n, int amount, PickupFail fail) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00a0> fixed_a0; @@ -1373,7 +1373,7 @@ int clif_additem(dumb_ptr sd, IOff0 n, int amount, PickupFail else { if (!n.ok() || !sd->status.inventory[n].nameid - || sd->inventory_data[n] == NULL) + || sd->inventory_data[n] == nullptr) return 1; fixed_a0.ioff2 = n.shift(); @@ -1429,7 +1429,7 @@ void clif_itemlist(dumb_ptr sd) for (IOff0 i : IOff0::iter()) { if (!sd->status.inventory[i].nameid - || sd->inventory_data[i] == NULL + || sd->inventory_data[i] == nullptr || itemdb_isequip2(sd->inventory_data[i])) continue; Packet_Repeat<0x01ee> info; @@ -1473,7 +1473,7 @@ void clif_equiplist(dumb_ptr sd) for (IOff0 i : IOff0::iter()) { if (!sd->status.inventory[i].nameid - || sd->inventory_data[i] == NULL + || sd->inventory_data[i] == nullptr || !itemdb_isequip2(sd->inventory_data[i])) continue; Packet_Repeat<0x00a4> info; @@ -1508,8 +1508,8 @@ void clif_equiplist(dumb_ptr sd) */ int clif_storageitemlist(dumb_ptr sd, Storage *stor) { - nullpo_ret(sd); - nullpo_ret(stor); + nullpo_retz(sd); + nullpo_retz(stor); Session *s = sd->sess; std::vector> repeat_1f0; @@ -1520,7 +1520,7 @@ int clif_storageitemlist(dumb_ptr sd, Storage *stor) struct item_data *id; id = itemdb_search(stor->storage_[i].nameid); - nullpo_ret(id); + nullpo_retz(id); if (itemdb_isequip2(id)) continue; @@ -1550,8 +1550,8 @@ int clif_storageitemlist(dumb_ptr sd, Storage *stor) */ int clif_storageequiplist(dumb_ptr sd, Storage *stor) { - nullpo_ret(sd); - nullpo_ret(stor); + nullpo_retz(sd); + nullpo_retz(stor); Session *s = sd->sess; std::vector> repeat_a6; @@ -1562,7 +1562,7 @@ int clif_storageequiplist(dumb_ptr sd, Storage *stor) struct item_data *id; id = itemdb_search(stor->storage_[i].nameid); - nullpo_ret(id); + nullpo_retz(id); if (!itemdb_isequip2(id)) continue; Packet_Repeat<0x00a6> info; @@ -1596,7 +1596,7 @@ int clif_storageequiplist(dumb_ptr sd, Storage *stor) */ int clif_updatestatus(dumb_ptr sd, SP type) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; @@ -1809,15 +1809,15 @@ not_141: */ int clif_changelook(dumb_ptr bl, LOOK type, int val) { - return clif_changelook_towards(bl, type, val, NULL); + return clif_changelook_towards(bl, type, val, nullptr); } int clif_changelook_towards(dumb_ptr bl, LOOK type, int val, dumb_ptr dstsd) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::PC) sd = bl->is_player(); @@ -1898,7 +1898,7 @@ int clif_changelook_towards(dumb_ptr bl, LOOK type, int val, static int clif_initialstatus(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; @@ -1954,7 +1954,7 @@ int clif_initialstatus(dumb_ptr sd) */ int clif_arrowequip(dumb_ptr sd, IOff0 val) { - nullpo_ret(sd); + nullpo_retz(sd); sd->attacktarget = BlockId(); @@ -1972,7 +1972,7 @@ int clif_arrowequip(dumb_ptr sd, IOff0 val) */ int clif_arrow_fail(dumb_ptr sd, int type) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; @@ -1989,7 +1989,7 @@ int clif_arrow_fail(dumb_ptr sd, int type) */ int clif_statusupack(dumb_ptr sd, SP type, int ok, int val) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00bc> fixed_bc; @@ -2007,7 +2007,7 @@ int clif_statusupack(dumb_ptr sd, SP type, int ok, int val) */ int clif_equipitemack(dumb_ptr sd, IOff0 n, EPOS pos, int ok) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00aa> fixed_aa; @@ -2025,7 +2025,7 @@ int clif_equipitemack(dumb_ptr sd, IOff0 n, EPOS pos, int ok) */ int clif_unequipitemack(dumb_ptr sd, IOff0 n, EPOS pos, int ok) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00ac> fixed_ac; @@ -2043,7 +2043,7 @@ int clif_unequipitemack(dumb_ptr sd, IOff0 n, EPOS pos, int ok */ int clif_misceffect(dumb_ptr bl, int type) { - nullpo_ret(bl); + nullpo_retz(bl); Packet_Fixed<0x019b> fixed_19b; fixed_19b.block_id = bl->bl_id; @@ -2063,7 +2063,7 @@ int clif_changeoption(dumb_ptr bl) { eptr sc_data; - nullpo_ret(bl); + nullpo_retz(bl); Option option = *battle_get_option(bl); sc_data = battle_get_sc_data(bl); @@ -2088,7 +2088,7 @@ int clif_changeoption(dumb_ptr bl) int clif_useitemack(dumb_ptr sd, IOff0 index, int amount, int ok) { - nullpo_ret(sd); + nullpo_retz(sd); if (!ok) { @@ -2190,7 +2190,7 @@ void clif_tradeadditem(dumb_ptr sd, int clif_tradeitemok(dumb_ptr sd, IOff2 index2, int amount, int fail) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x01b1> fixed_1b1; @@ -2208,7 +2208,7 @@ int clif_tradeitemok(dumb_ptr sd, IOff2 index2, int amount, */ int clif_tradedeal_lock(dumb_ptr sd, int fail) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00ec> fixed_ec; @@ -2224,7 +2224,7 @@ int clif_tradedeal_lock(dumb_ptr sd, int fail) */ int clif_tradecancelled(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00ee> fixed_ee; @@ -2239,7 +2239,7 @@ int clif_tradecancelled(dumb_ptr sd) */ int clif_tradecompleted(dumb_ptr sd, int fail) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00f0> fixed_f0; @@ -2256,8 +2256,8 @@ int clif_tradecompleted(dumb_ptr sd, int fail) int clif_updatestorageamount(dumb_ptr sd, Storage *stor) { - nullpo_ret(sd); - nullpo_ret(stor); + nullpo_retz(sd); + nullpo_retz(stor); Session *s = sd->sess; Packet_Fixed<0x00f2> fixed_f2; @@ -2275,8 +2275,8 @@ int clif_updatestorageamount(dumb_ptr sd, int clif_storageitemadded(dumb_ptr sd, Storage *stor, SOff0 index, int amount) { - nullpo_ret(sd); - nullpo_ret(stor); + nullpo_retz(sd); + nullpo_retz(stor); Session *s = sd->sess; Packet_Fixed<0x00f4> fixed_f4; @@ -2304,7 +2304,7 @@ int clif_storageitemadded(dumb_ptr sd, Storage *stor, int clif_storageitemremoved(dumb_ptr sd, SOff0 index, int amount) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00f6> fixed_f6; @@ -2321,7 +2321,7 @@ int clif_storageitemremoved(dumb_ptr sd, SOff0 index, */ int clif_storageclose(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00f8> fixed_f8; @@ -2397,7 +2397,7 @@ void clif_getareachar_npc(dumb_ptr sd, dumb_ptr nd) */ int clif_movemob(dumb_ptr md) { - nullpo_ret(md); + nullpo_retz(md); Buffer buf; clif_mob007b(md, buf); @@ -2412,7 +2412,7 @@ int clif_movemob(dumb_ptr md) */ int clif_fixmobpos(dumb_ptr md) { - nullpo_ret(md); + nullpo_retz(md); if (md->state.state == MS::WALK) { @@ -2436,7 +2436,7 @@ int clif_fixmobpos(dumb_ptr md) */ int clif_fixpcpos(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); if (sd->walktimer) { @@ -2450,7 +2450,7 @@ int clif_fixpcpos(dumb_ptr sd) clif_set0078_main_1d8(sd, buf); clif_send(buf, sd, SendWho::AREA); } - clif_changelook_accessories(sd, NULL); + clif_changelook_accessories(sd, nullptr); return 0; } @@ -2465,8 +2465,8 @@ int clif_damage(dumb_ptr src, dumb_ptr dst, { eptr sc_data; - nullpo_ret(src); - nullpo_ret(dst); + nullpo_retz(src); + nullpo_retz(dst); sc_data = battle_get_sc_data(dst); @@ -2683,7 +2683,7 @@ void clif_mobinsight(dumb_ptr bl, dumb_ptr md) int clif_skillinfo(dumb_ptr sd, SkillID skillid, int type, int range) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; if (!sd->status.skill[skillid].lv) @@ -2755,7 +2755,7 @@ void clif_skillinfoblock(dumb_ptr sd) */ int clif_skillup(dumb_ptr sd, SkillID skill_num) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x010e> fixed_10e; @@ -2793,7 +2793,7 @@ int clif_skillcastcancel(dumb_ptr bl) int clif_skill_fail(dumb_ptr sd, SkillID skill_id, int type, int btype) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; @@ -2823,8 +2823,8 @@ int clif_skill_damage(dumb_ptr src, dumb_ptr dst, { eptr sc_data; - nullpo_ret(src); - nullpo_ret(dst); + nullpo_retz(src); + nullpo_retz(dst); sc_data = battle_get_sc_data(dst); @@ -2851,7 +2851,7 @@ int clif_skill_damage(dumb_ptr src, dumb_ptr dst, */ int clif_status_change(dumb_ptr bl, StatusChange type, int flag) { - nullpo_ret(bl); + nullpo_retz(bl); Packet_Fixed<0x0196> fixed_196; fixed_196.sc_type = type; @@ -2944,7 +2944,7 @@ void clif_wis_end(Session *s, int flag) // R 0098 .B: 0: success to send w */ int clif_party_created(dumb_ptr sd, int flag) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00fa> fixed_fa; @@ -2960,9 +2960,9 @@ int clif_party_created(dumb_ptr sd, int flag) int clif_party_info(PartyPair p, Session *s) { int i; - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; - nullpo_ret(p); + nullpo_retz(p); Packet_Head<0x00fb> head_fb; std::vector> repeat_fb; @@ -2973,7 +2973,7 @@ int clif_party_info(PartyPair p, Session *s) if (m->account_id) { Packet_Repeat<0x00fb> info; - if (sd == NULL) + if (sd == nullptr) sd = dumb_ptr(m->sd); info.account_id = m->account_id; @@ -2991,7 +2991,7 @@ int clif_party_info(PartyPair p, Session *s) return 9; } // else, send it to all the party, if they exist. - if (sd != NULL) + if (sd != nullptr) { Buffer buf = create_vpacket<0x00fb, 28, 46>(head_fb, repeat_fb); clif_send(buf, sd, SendWho::PARTY); @@ -3061,14 +3061,14 @@ void clif_party_option(PartyPair p, dumb_ptr sd, int flag) { nullpo_retv(p); - if (sd == NULL && flag == 0) + if (sd == nullptr && flag == 0) { int i; for (i = 0; i < MAX_PARTY; i++) - if ((sd = map_id2sd(account_to_block(p->member[i].account_id))) != NULL) + if ((sd = map_id2sd(account_to_block(p->member[i].account_id))) != nullptr) break; } - if (sd == NULL) + if (sd == nullptr) return; Packet_Fixed<0x0101> fixed_101; fixed_101.exp = ((flag & 0x01) ? 2 : p->exp); @@ -3102,20 +3102,20 @@ void clif_party_leaved(PartyPair p, dumb_ptr sd, if ((flag & 0xf0) == 0) { - if (sd == NULL) + if (sd == nullptr) for (i = 0; i < MAX_PARTY; i++) { sd = dumb_ptr(p->member[i].sd); - if (sd != NULL) + if (sd != nullptr) break; } - if (sd != NULL) + if (sd != nullptr) { Buffer buf = create_fpacket<0x0105, 31>(fixed_105); clif_send(buf, sd, SendWho::PARTY); } } - else if (sd != NULL) + else if (sd != nullptr) { send_fpacket<0x0105, 31>(sd->sess, fixed_105); } @@ -3136,10 +3136,10 @@ void clif_party_message(PartyPair p, AccountId account_id, XString mes) for (i = 0; i < MAX_PARTY; i++) { sd = dumb_ptr(p->member[i].sd); - if (sd != NULL) + if (sd != nullptr) break; } - if (sd != NULL) + if (sd != nullptr) { Packet_Head<0x0109> head_109; head_109.account_id = account_id; @@ -3154,7 +3154,7 @@ void clif_party_message(PartyPair p, AccountId account_id, XString mes) */ int clif_party_xy(PartyPair , dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); Packet_Fixed<0x0107> fixed_107; fixed_107.account_id = sd->status_key.account_id; @@ -3171,7 +3171,7 @@ int clif_party_xy(PartyPair , dumb_ptr sd) */ int clif_party_hp(PartyPair , dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); Packet_Fixed<0x0106> fixed_106; fixed_106.account_id = sd->status_key.account_id; @@ -3189,8 +3189,8 @@ int clif_party_hp(PartyPair , dumb_ptr sd) */ int clif_movetoattack(dumb_ptr sd, dumb_ptr bl) { - nullpo_ret(sd); - nullpo_ret(bl); + nullpo_retz(sd); + nullpo_retz(bl); Session *s = sd->sess; Packet_Fixed<0x0139> fixed_139; @@ -3210,7 +3210,7 @@ int clif_movetoattack(dumb_ptr sd, dumb_ptr bl) */ int clif_mvp_effect(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); Packet_Fixed<0x010c> fixed_10c; fixed_10c.block_id = sd->bl_id; @@ -3275,7 +3275,7 @@ void clif_sitting(Session *, dumb_ptr sd) static int clif_GM_kickack(dumb_ptr sd, AccountId id) { - nullpo_ret(sd); + nullpo_retz(sd); Session *s = sd->sess; Packet_Fixed<0x00cd> fixed_cd; @@ -3290,7 +3290,7 @@ void clif_do_quit_game(Session *s, dumb_ptr sd); int clif_GM_kick(dumb_ptr sd, dumb_ptr tsd, int type) { - nullpo_ret(tsd); + nullpo_retz(tsd); if (type) clif_GM_kickack(sd, tsd->status_key.account_id); @@ -3304,7 +3304,7 @@ int clif_GM_kick(dumb_ptr sd, dumb_ptr tsd, // displaying special effects (npcs, weather, etc) [Valaris] int clif_specialeffect(dumb_ptr bl, int type, int flag) { - nullpo_ret(bl); + nullpo_retz(bl); Packet_Fixed<0x019b> fixed_19b; fixed_19b.block_id = bl->bl_id; @@ -3401,7 +3401,7 @@ RecvResult clif_parse_WantToConnection(Session *s, dumb_ptr sd static RecvResult clif_parse_LoadEndAck(Session *s, dumb_ptr sd) { - if (sd->bl_prev != NULL) + if (sd->bl_prev != nullptr) return RecvResult::Error; Packet_Fixed<0x007d> fixed; @@ -3479,7 +3479,7 @@ RecvResult clif_parse_LoadEndAck(Session *s, dumb_ptr sd) clif_changeoption(sd); // broken equipment -// clif_changelook_accessories(sd, NULL); +// clif_changelook_accessories(sd, nullptr); map_foreachinarea(std::bind(clif_getareachar, ph::_1, sd), sd->bl_m, @@ -3613,7 +3613,7 @@ RecvResult clif_parse_GetCharNameRequest(Session *s, dumb_ptr account_id = fixed.block_id; bl = map_id2bl(account_id); - if (bl == NULL) + if (bl == nullptr) return rv; Packet_Fixed<0x0095> fixed_95; @@ -3999,7 +3999,7 @@ RecvResult clif_parse_Wis(Session *s, dumb_ptr sd) if (rv != RecvResult::Complete) return rv; - dumb_ptr dstsd = NULL; + dumb_ptr dstsd = nullptr; AString mbuf = clif_validate_chat(sd, ChatType::Whisper, repeat); if (!mbuf) @@ -4081,7 +4081,7 @@ RecvResult clif_parse_TakeItem(Session *s, dumb_ptr sd) || sd->opt1 != Opt1::ZERO) //会話禁止 return rv; - if (fitem == NULL || fitem->bl_m != sd->bl_m) + if (fitem == nullptr || fitem->bl_m != sd->bl_m) return rv; if (abs(sd->bl_x - fitem->bl_x) >= 2 @@ -4808,550 +4808,550 @@ RecvResult clif_parse_PartyMessage(Session *s, dumb_ptr sd) func_table clif_parse_func_table[0x0220] = { - {0, 10, NULL, }, // 0x0000 - {0, 0, NULL, }, // 0x0001 - {0, 0, NULL, }, // 0x0002 - {0, 0, NULL, }, // 0x0003 - {0, 0, NULL, }, // 0x0004 - {0, 0, NULL, }, // 0x0005 - {0, 0, NULL, }, // 0x0006 - {0, 0, NULL, }, // 0x0007 - {0, 0, NULL, }, // 0x0008 - {0, 0, NULL, }, // 0x0009 - {0, 0, NULL, }, // 0x000a - {0, 0, NULL, }, // 0x000b - {0, 0, NULL, }, // 0x000c - {0, 0, NULL, }, // 0x000d - {0, 0, NULL, }, // 0x000e - {0, 0, NULL, }, // 0x000f - {0, 0, NULL, }, // 0x0010 - {0, 0, NULL, }, // 0x0011 - {0, 0, NULL, }, // 0x0012 - {0, 0, NULL, }, // 0x0013 - {0, 0, NULL, }, // 0x0014 - {0, 0, NULL, }, // 0x0015 - {0, 0, NULL, }, // 0x0016 - {0, 0, NULL, }, // 0x0017 - {0, 0, NULL, }, // 0x0018 - {0, 0, NULL, }, // 0x0019 - {0, 0, NULL, }, // 0x001a - {0, 0, NULL, }, // 0x001b - {0, 0, NULL, }, // 0x001c - {0, 0, NULL, }, // 0x001d - {0, 0, NULL, }, // 0x001e - {0, 0, NULL, }, // 0x001f - {0, 0, NULL, }, // 0x0020 - {0, 0, NULL, }, // 0x0021 - {0, 0, NULL, }, // 0x0022 - {0, 0, NULL, }, // 0x0023 - {0, 0, NULL, }, // 0x0024 - {0, 0, NULL, }, // 0x0025 - {0, 0, NULL, }, // 0x0026 - {0, 0, NULL, }, // 0x0027 - {0, 0, NULL, }, // 0x0028 - {0, 0, NULL, }, // 0x0029 - {0, 0, NULL, }, // 0x002a - {0, 0, NULL, }, // 0x002b - {0, 0, NULL, }, // 0x002c - {0, 0, NULL, }, // 0x002d - {0, 0, NULL, }, // 0x002e - {0, 0, NULL, }, // 0x002f - {0, 0, NULL, }, // 0x0030 - {0, 0, NULL, }, // 0x0031 - {0, 0, NULL, }, // 0x0032 - {0, 0, NULL, }, // 0x0033 - {0, 0, NULL, }, // 0x0034 - {0, 0, NULL, }, // 0x0035 - {0, 0, NULL, }, // 0x0036 - {0, 0, NULL, }, // 0x0037 - {0, 0, NULL, }, // 0x0038 - {0, 0, NULL, }, // 0x0039 - {0, 0, NULL, }, // 0x003a - {0, 0, NULL, }, // 0x003b - {0, 0, NULL, }, // 0x003c - {0, 0, NULL, }, // 0x003d - {0, 0, NULL, }, // 0x003e - {0, 0, NULL, }, // 0x003f - {0, 0, NULL, }, // 0x0040 - {0, 0, NULL, }, // 0x0041 - {0, 0, NULL, }, // 0x0042 - {0, 0, NULL, }, // 0x0043 - {0, 0, NULL, }, // 0x0044 - {0, 0, NULL, }, // 0x0045 - {0, 0, NULL, }, // 0x0046 - {0, 0, NULL, }, // 0x0047 - {0, 0, NULL, }, // 0x0048 - {0, 0, NULL, }, // 0x0049 - {0, 0, NULL, }, // 0x004a - {0, 0, NULL, }, // 0x004b - {0, 0, NULL, }, // 0x004c - {0, 0, NULL, }, // 0x004d - {0, 0, NULL, }, // 0x004e - {0, 0, NULL, }, // 0x004f - {0, 0, NULL, }, // 0x0050 - {0, 0, NULL, }, // 0x0051 - {0, 0, NULL, }, // 0x0052 - {0, 0, NULL, }, // 0x0053 - {0, 0, NULL, }, // 0x0054 - {0, 0, NULL, }, // 0x0055 - {0, 0, NULL, }, // 0x0056 - {0, 0, NULL, }, // 0x0057 - {0, 0, NULL, }, // 0x0058 - {0, 0, NULL, }, // 0x0059 - {0, 0, NULL, }, // 0x005a - {0, 0, NULL, }, // 0x005b - {0, 0, NULL, }, // 0x005c - {0, 0, NULL, }, // 0x005d - {0, 0, NULL, }, // 0x005e - {0, 0, NULL, }, // 0x005f - {0, 0, NULL, }, // 0x0060 - {0, 0, NULL, }, // 0x0061 - {0, 0, NULL, }, // 0x0062 - {0, VAR,NULL, }, // 0x0063 - {0, 55, NULL, }, // 0x0064 - {0, 17, NULL, }, // 0x0065 - {0, 3, NULL, }, // 0x0066 - {0, 37, NULL, }, // 0x0067 - {0, 46, NULL, }, // 0x0068 - {0, VAR,NULL, }, // 0x0069 - {0, 23, NULL, }, // 0x006a - {0, VAR,NULL, }, // 0x006b - {0, 3, NULL, }, // 0x006c - {0, 108,NULL, }, // 0x006d - {0, 3, NULL, }, // 0x006e - {0, 2, NULL, }, // 0x006f - {0, 3, NULL, }, // 0x0070 - {0, 28, NULL, }, // 0x0071 + {0, 10, nullptr, }, // 0x0000 + {0, 0, nullptr, }, // 0x0001 + {0, 0, nullptr, }, // 0x0002 + {0, 0, nullptr, }, // 0x0003 + {0, 0, nullptr, }, // 0x0004 + {0, 0, nullptr, }, // 0x0005 + {0, 0, nullptr, }, // 0x0006 + {0, 0, nullptr, }, // 0x0007 + {0, 0, nullptr, }, // 0x0008 + {0, 0, nullptr, }, // 0x0009 + {0, 0, nullptr, }, // 0x000a + {0, 0, nullptr, }, // 0x000b + {0, 0, nullptr, }, // 0x000c + {0, 0, nullptr, }, // 0x000d + {0, 0, nullptr, }, // 0x000e + {0, 0, nullptr, }, // 0x000f + {0, 0, nullptr, }, // 0x0010 + {0, 0, nullptr, }, // 0x0011 + {0, 0, nullptr, }, // 0x0012 + {0, 0, nullptr, }, // 0x0013 + {0, 0, nullptr, }, // 0x0014 + {0, 0, nullptr, }, // 0x0015 + {0, 0, nullptr, }, // 0x0016 + {0, 0, nullptr, }, // 0x0017 + {0, 0, nullptr, }, // 0x0018 + {0, 0, nullptr, }, // 0x0019 + {0, 0, nullptr, }, // 0x001a + {0, 0, nullptr, }, // 0x001b + {0, 0, nullptr, }, // 0x001c + {0, 0, nullptr, }, // 0x001d + {0, 0, nullptr, }, // 0x001e + {0, 0, nullptr, }, // 0x001f + {0, 0, nullptr, }, // 0x0020 + {0, 0, nullptr, }, // 0x0021 + {0, 0, nullptr, }, // 0x0022 + {0, 0, nullptr, }, // 0x0023 + {0, 0, nullptr, }, // 0x0024 + {0, 0, nullptr, }, // 0x0025 + {0, 0, nullptr, }, // 0x0026 + {0, 0, nullptr, }, // 0x0027 + {0, 0, nullptr, }, // 0x0028 + {0, 0, nullptr, }, // 0x0029 + {0, 0, nullptr, }, // 0x002a + {0, 0, nullptr, }, // 0x002b + {0, 0, nullptr, }, // 0x002c + {0, 0, nullptr, }, // 0x002d + {0, 0, nullptr, }, // 0x002e + {0, 0, nullptr, }, // 0x002f + {0, 0, nullptr, }, // 0x0030 + {0, 0, nullptr, }, // 0x0031 + {0, 0, nullptr, }, // 0x0032 + {0, 0, nullptr, }, // 0x0033 + {0, 0, nullptr, }, // 0x0034 + {0, 0, nullptr, }, // 0x0035 + {0, 0, nullptr, }, // 0x0036 + {0, 0, nullptr, }, // 0x0037 + {0, 0, nullptr, }, // 0x0038 + {0, 0, nullptr, }, // 0x0039 + {0, 0, nullptr, }, // 0x003a + {0, 0, nullptr, }, // 0x003b + {0, 0, nullptr, }, // 0x003c + {0, 0, nullptr, }, // 0x003d + {0, 0, nullptr, }, // 0x003e + {0, 0, nullptr, }, // 0x003f + {0, 0, nullptr, }, // 0x0040 + {0, 0, nullptr, }, // 0x0041 + {0, 0, nullptr, }, // 0x0042 + {0, 0, nullptr, }, // 0x0043 + {0, 0, nullptr, }, // 0x0044 + {0, 0, nullptr, }, // 0x0045 + {0, 0, nullptr, }, // 0x0046 + {0, 0, nullptr, }, // 0x0047 + {0, 0, nullptr, }, // 0x0048 + {0, 0, nullptr, }, // 0x0049 + {0, 0, nullptr, }, // 0x004a + {0, 0, nullptr, }, // 0x004b + {0, 0, nullptr, }, // 0x004c + {0, 0, nullptr, }, // 0x004d + {0, 0, nullptr, }, // 0x004e + {0, 0, nullptr, }, // 0x004f + {0, 0, nullptr, }, // 0x0050 + {0, 0, nullptr, }, // 0x0051 + {0, 0, nullptr, }, // 0x0052 + {0, 0, nullptr, }, // 0x0053 + {0, 0, nullptr, }, // 0x0054 + {0, 0, nullptr, }, // 0x0055 + {0, 0, nullptr, }, // 0x0056 + {0, 0, nullptr, }, // 0x0057 + {0, 0, nullptr, }, // 0x0058 + {0, 0, nullptr, }, // 0x0059 + {0, 0, nullptr, }, // 0x005a + {0, 0, nullptr, }, // 0x005b + {0, 0, nullptr, }, // 0x005c + {0, 0, nullptr, }, // 0x005d + {0, 0, nullptr, }, // 0x005e + {0, 0, nullptr, }, // 0x005f + {0, 0, nullptr, }, // 0x0060 + {0, 0, nullptr, }, // 0x0061 + {0, 0, nullptr, }, // 0x0062 + {0, VAR,nullptr, }, // 0x0063 + {0, 55, nullptr, }, // 0x0064 + {0, 17, nullptr, }, // 0x0065 + {0, 3, nullptr, }, // 0x0066 + {0, 37, nullptr, }, // 0x0067 + {0, 46, nullptr, }, // 0x0068 + {0, VAR,nullptr, }, // 0x0069 + {0, 23, nullptr, }, // 0x006a + {0, VAR,nullptr, }, // 0x006b + {0, 3, nullptr, }, // 0x006c + {0, 108,nullptr, }, // 0x006d + {0, 3, nullptr, }, // 0x006e + {0, 2, nullptr, }, // 0x006f + {0, 3, nullptr, }, // 0x0070 + {0, 28, nullptr, }, // 0x0071 {0, 19, clif_parse_WantToConnection, }, // 0x0072 - {0, 11, NULL, }, // 0x0073 - {0, 3, NULL, }, // 0x0074 - {0, VAR,NULL, }, // 0x0075 - {0, 9, NULL, }, // 0x0076 - {0, 5, NULL, }, // 0x0077 - {0, 54, NULL, }, // 0x0078 - {0, 53, NULL, }, // 0x0079 - {0, 58, NULL, }, // 0x007a - {0, 60, NULL, }, // 0x007b - {0, 41, NULL, }, // 0x007c + {0, 11, nullptr, }, // 0x0073 + {0, 3, nullptr, }, // 0x0074 + {0, VAR,nullptr, }, // 0x0075 + {0, 9, nullptr, }, // 0x0076 + {0, 5, nullptr, }, // 0x0077 + {0, 54, nullptr, }, // 0x0078 + {0, 53, nullptr, }, // 0x0079 + {0, 58, nullptr, }, // 0x007a + {0, 60, nullptr, }, // 0x007b + {0, 41, nullptr, }, // 0x007c {-1, 2, clif_parse_LoadEndAck, }, // 0x007d {0, 6, clif_parse_TickSend, }, // 0x007e - {0, 6, NULL, }, // 0x007f - {0, 7, NULL, }, // 0x0080 - {0, 3, NULL, }, // 0x0081 - {0, 2, NULL, }, // 0x0082 - {0, 2, NULL, }, // 0x0083 - {0, 2, NULL, }, // 0x0084 + {0, 6, nullptr, }, // 0x007f + {0, 7, nullptr, }, // 0x0080 + {0, 3, nullptr, }, // 0x0081 + {0, 2, nullptr, }, // 0x0082 + {0, 2, nullptr, }, // 0x0083 + {0, 2, nullptr, }, // 0x0084 {-1, 5, clif_parse_WalkToXY, }, // 0x0085 Walk code limits this on it's own - {0, 16, NULL, }, // 0x0086 - {0, 12, NULL, }, // 0x0087 - {0, 10, NULL, }, // 0x0088 + {0, 16, nullptr, }, // 0x0086 + {0, 12, nullptr, }, // 0x0087 + {0, 10, nullptr, }, // 0x0088 {1000, 7, clif_parse_ActionRequest, }, // 0x0089 Special case - see below - {0, 29, NULL, }, // 0x008a - {0, 23, NULL, }, // 0x008b unknown... size 2 or 23? + {0, 29, nullptr, }, // 0x008a + {0, 23, nullptr, }, // 0x008b unknown... size 2 or 23? {300, VAR,clif_parse_GlobalMessage, }, // 0x008c - {0, VAR,NULL, }, // 0x008d - {0, VAR,NULL, }, // 0x008e - {0, 0, NULL, }, // 0x008f + {0, VAR,nullptr, }, // 0x008d + {0, VAR,nullptr, }, // 0x008e + {0, 0, nullptr, }, // 0x008f {500, 7, clif_parse_NpcClicked, }, // 0x0090 - {0, 22, NULL, }, // 0x0091 - {0, 28, NULL, }, // 0x0092 - {0, 2, NULL, }, // 0x0093 + {0, 22, nullptr, }, // 0x0091 + {0, 28, nullptr, }, // 0x0092 + {0, 2, nullptr, }, // 0x0093 {-1, 6, clif_parse_GetCharNameRequest, }, // 0x0094 - {0, 30, NULL, }, // 0x0095 + {0, 30, nullptr, }, // 0x0095 {300, VAR,clif_parse_Wis, }, // 0x0096 - {0, VAR,NULL, }, // 0x0097 - {0, 3, NULL, }, // 0x0098 - {300, VAR,NULL, }, // 0x0099 - {0, VAR,NULL, }, // 0x009a + {0, VAR,nullptr, }, // 0x0097 + {0, 3, nullptr, }, // 0x0098 + {300, VAR,nullptr, }, // 0x0099 + {0, VAR,nullptr, }, // 0x009a {-1, 5, clif_parse_ChangeDir, }, // 0x009b - {0, 9, NULL, }, // 0x009c - {0, 17, NULL, }, // 0x009d - {0, 17, NULL, }, // 0x009e + {0, 9, nullptr, }, // 0x009c + {0, 17, nullptr, }, // 0x009d + {0, 17, nullptr, }, // 0x009e {400, 6, clif_parse_TakeItem, }, // 0x009f - {0, 23, NULL, }, // 0x00a0 - {0, 6, NULL, }, // 0x00a1 + {0, 23, nullptr, }, // 0x00a0 + {0, 6, nullptr, }, // 0x00a1 {50, 6, clif_parse_DropItem, }, // 0x00a2 - {0, VAR,NULL, }, // 0x00a3 - {0, VAR,NULL, }, // 0x00a4 - {0, VAR,NULL, }, // 0x00a5 - {0, VAR,NULL, }, // 0x00a6 + {0, VAR,nullptr, }, // 0x00a3 + {0, VAR,nullptr, }, // 0x00a4 + {0, VAR,nullptr, }, // 0x00a5 + {0, VAR,nullptr, }, // 0x00a6 {0, 8, clif_parse_UseItem, }, // 0x00a7 - {0, 7, NULL, }, // 0x00a8 + {0, 7, nullptr, }, // 0x00a8 {-1, 6, clif_parse_EquipItem, }, // 0x00a9 Special case - outfit window (not implemented yet - needs to allow bursts) - {0, 7, NULL, }, // 0x00aa + {0, 7, nullptr, }, // 0x00aa {-1, 4, clif_parse_UnequipItem, }, // 0x00ab Special case - outfit window (not implemented yet - needs to allow bursts) - {0, 7, NULL, }, // 0x00ac - {0, 0, NULL, }, // 0x00ad - {0, VAR,NULL, }, // 0x00ae - {0, 6, NULL, }, // 0x00af - {0, 8, NULL, }, // 0x00b0 - {0, 8, NULL, }, // 0x00b1 + {0, 7, nullptr, }, // 0x00ac + {0, 0, nullptr, }, // 0x00ad + {0, VAR,nullptr, }, // 0x00ae + {0, 6, nullptr, }, // 0x00af + {0, 8, nullptr, }, // 0x00b0 + {0, 8, nullptr, }, // 0x00b1 {0, 3, clif_parse_Restart, }, // 0x00b2 - {0, 3, NULL, }, // 0x00b3 - {0, VAR,NULL, }, // 0x00b4 - {0, 6, NULL, }, // 0x00b5 - {0, 6, NULL, }, // 0x00b6 - {0, VAR,NULL, }, // 0x00b7 + {0, 3, nullptr, }, // 0x00b3 + {0, VAR,nullptr, }, // 0x00b4 + {0, 6, nullptr, }, // 0x00b5 + {0, 6, nullptr, }, // 0x00b6 + {0, VAR,nullptr, }, // 0x00b7 {0, 7, clif_parse_NpcSelectMenu, }, // 0x00b8 {-1, 6, clif_parse_NpcNextClicked, }, // 0x00b9 - {0, 2, NULL, }, // 0x00ba + {0, 2, nullptr, }, // 0x00ba {-1, 5, clif_parse_StatusUp, }, // 0x00bb People click this very quickly - {0, 6, NULL, }, // 0x00bc - {0, 44, NULL, }, // 0x00bd - {0, 5, NULL, }, // 0x00be + {0, 6, nullptr, }, // 0x00bc + {0, 44, nullptr, }, // 0x00bd + {0, 5, nullptr, }, // 0x00be {1000, 3, clif_parse_Emotion, }, // 0x00bf - {0, 7, NULL, }, // 0x00c0 + {0, 7, nullptr, }, // 0x00c0 {0, 2, clif_parse_HowManyConnections, }, // 0x00c1 - {0, 6, NULL, }, // 0x00c2 - {0, 8, NULL, }, // 0x00c3 - {0, 6, NULL, }, // 0x00c4 + {0, 6, nullptr, }, // 0x00c2 + {0, 8, nullptr, }, // 0x00c3 + {0, 6, nullptr, }, // 0x00c4 {0, 7, clif_parse_NpcBuySellSelected, }, // 0x00c5 - {0, VAR,NULL, }, // 0x00c6 - {0, VAR,NULL, }, // 0x00c7 + {0, VAR,nullptr, }, // 0x00c6 + {0, VAR,nullptr, }, // 0x00c7 {-1, VAR,clif_parse_NpcBuyListSend, }, // 0x00c8 {-1, VAR,clif_parse_NpcSellListSend, }, // 0x00c9 Selling multiple 1-slot items - {0, 3, NULL, }, // 0x00ca - {0, 3, NULL, }, // 0x00cb - {0, 6, NULL, }, // 0x00cc - {0, 6, NULL, }, // 0x00cd - {0, 2, NULL, }, // 0x00ce - {0, 27, NULL, }, // 0x00cf - {0, 3, NULL, }, // 0x00d0 - {0, 4, NULL, }, // 0x00d1 - {0, 4, NULL, }, // 0x00d2 - {0, 2, NULL, }, // 0x00d3 - {0, VAR,NULL, }, // 0x00d4 - {0, VAR,NULL, }, // 0x00d5 - {0, 3, NULL, }, // 0x00d6 - {0, VAR,NULL, }, // 0x00d7 - {0, 6, NULL, }, // 0x00d8 - {0, 14, NULL, }, // 0x00d9 - {0, 3, NULL, }, // 0x00da - {0, VAR,NULL, }, // 0x00db - {0, 28, NULL, }, // 0x00dc - {0, 29, NULL, }, // 0x00dd - {0, VAR,NULL, }, // 0x00de - {0, VAR,NULL, }, // 0x00df - {0, 30, NULL, }, // 0x00e0 - {0, 30, NULL, }, // 0x00e1 - {0, 26, NULL, }, // 0x00e2 - {0, 2, NULL, }, // 0x00e3 + {0, 3, nullptr, }, // 0x00ca + {0, 3, nullptr, }, // 0x00cb + {0, 6, nullptr, }, // 0x00cc + {0, 6, nullptr, }, // 0x00cd + {0, 2, nullptr, }, // 0x00ce + {0, 27, nullptr, }, // 0x00cf + {0, 3, nullptr, }, // 0x00d0 + {0, 4, nullptr, }, // 0x00d1 + {0, 4, nullptr, }, // 0x00d2 + {0, 2, nullptr, }, // 0x00d3 + {0, VAR,nullptr, }, // 0x00d4 + {0, VAR,nullptr, }, // 0x00d5 + {0, 3, nullptr, }, // 0x00d6 + {0, VAR,nullptr, }, // 0x00d7 + {0, 6, nullptr, }, // 0x00d8 + {0, 14, nullptr, }, // 0x00d9 + {0, 3, nullptr, }, // 0x00da + {0, VAR,nullptr, }, // 0x00db + {0, 28, nullptr, }, // 0x00dc + {0, 29, nullptr, }, // 0x00dd + {0, VAR,nullptr, }, // 0x00de + {0, VAR,nullptr, }, // 0x00df + {0, 30, nullptr, }, // 0x00e0 + {0, 30, nullptr, }, // 0x00e1 + {0, 26, nullptr, }, // 0x00e2 + {0, 2, nullptr, }, // 0x00e3 {2000, 6, clif_parse_TradeRequest, }, // 0x00e4 - {0, 26, NULL, }, // 0x00e5 + {0, 26, nullptr, }, // 0x00e5 {0, 3, clif_parse_TradeAck, }, // 0x00e6 - {0, 3, NULL, }, // 0x00e7 + {0, 3, nullptr, }, // 0x00e7 {0, 8, clif_parse_TradeAddItem, }, // 0x00e8 - {0, 19, NULL, }, // 0x00e9 - {0, 5, NULL, }, // 0x00ea + {0, 19, nullptr, }, // 0x00e9 + {0, 5, nullptr, }, // 0x00ea {0, 2, clif_parse_TradeOk, }, // 0x00eb - {0, 3, NULL, }, // 0x00ec + {0, 3, nullptr, }, // 0x00ec {0, 2, clif_parse_TradeCansel, }, // 0x00ed - {0, 2, NULL, }, // 0x00ee + {0, 2, nullptr, }, // 0x00ee {0, 2, clif_parse_TradeCommit, }, // 0x00ef - {0, 3, NULL, }, // 0x00f0 - {0, 2, NULL, }, // 0x00f1 - {0, 6, NULL, }, // 0x00f2 + {0, 3, nullptr, }, // 0x00f0 + {0, 2, nullptr, }, // 0x00f1 + {0, 6, nullptr, }, // 0x00f2 {-1, 8, clif_parse_MoveToKafra, }, // 0x00f3 - {0, 21, NULL, }, // 0x00f4 + {0, 21, nullptr, }, // 0x00f4 {-1, 8, clif_parse_MoveFromKafra, }, // 0x00f5 - {0, 8, NULL, }, // 0x00f6 + {0, 8, nullptr, }, // 0x00f6 {0, 2, clif_parse_CloseKafra, }, // 0x00f7 - {0, 2, NULL, }, // 0x00f8 + {0, 2, nullptr, }, // 0x00f8 {2000, 26, clif_parse_CreateParty, }, // 0x00f9 - {0, 3, NULL, }, // 0x00fa - {0, VAR,NULL, }, // 0x00fb + {0, 3, nullptr, }, // 0x00fa + {0, VAR,nullptr, }, // 0x00fb {2000, 6, clif_parse_PartyInvite, }, // 0x00fc - {0, 27, NULL, }, // 0x00fd - {0, 30, NULL, }, // 0x00fe + {0, 27, nullptr, }, // 0x00fd + {0, 30, nullptr, }, // 0x00fe {0, 10, clif_parse_ReplyPartyInvite, }, // 0x00ff {0, 2, clif_parse_LeaveParty, }, // 0x0100 - {0, 6, NULL, }, // 0x0101 + {0, 6, nullptr, }, // 0x0101 {0, 6, clif_parse_PartyChangeOption, }, // 0x0102 {0, 30, clif_parse_RemovePartyMember, }, // 0x0103 - {0, 79, NULL, }, // 0x0104 - {0, 31, NULL, }, // 0x0105 - {0, 10, NULL, }, // 0x0106 - {0, 10, NULL, }, // 0x0107 + {0, 79, nullptr, }, // 0x0104 + {0, 31, nullptr, }, // 0x0105 + {0, 10, nullptr, }, // 0x0106 + {0, 10, nullptr, }, // 0x0107 {300, VAR,clif_parse_PartyMessage, }, // 0x0108 - {0, VAR,NULL, }, // 0x0109 - {0, 4, NULL, }, // 0x010a - {0, 6, NULL, }, // 0x010b - {0, 6, NULL, }, // 0x010c - {0, 2, NULL, }, // 0x010d - {0, 11, NULL, }, // 0x010e - {0, VAR,NULL, }, // 0x010f - {0, 10, NULL, }, // 0x0110 - {0, 39, NULL, }, // 0x0111 + {0, VAR,nullptr, }, // 0x0109 + {0, 4, nullptr, }, // 0x010a + {0, 6, nullptr, }, // 0x010b + {0, 6, nullptr, }, // 0x010c + {0, 2, nullptr, }, // 0x010d + {0, 11, nullptr, }, // 0x010e + {0, VAR,nullptr, }, // 0x010f + {0, 10, nullptr, }, // 0x0110 + {0, 39, nullptr, }, // 0x0111 {-1, 4, clif_parse_SkillUp, }, // 0x0112 - {0, 10, NULL, }, // 0x0113 - {0, 31, NULL, }, // 0x0114 - {0, 35, NULL, }, // 0x0115 - {0, 10, NULL, }, // 0x0116 - {0, 18, NULL, }, // 0x0117 + {0, 10, nullptr, }, // 0x0113 + {0, 31, nullptr, }, // 0x0114 + {0, 35, nullptr, }, // 0x0115 + {0, 10, nullptr, }, // 0x0116 + {0, 18, nullptr, }, // 0x0117 {0, 2, clif_parse_StopAttack, }, // 0x0118 - {0, 13, NULL, }, // 0x0119 - {0, 15, NULL, }, // 0x011a - {0, 20, NULL, }, // 0x011b - {0, 68, NULL, }, // 0x011c - {0, 2, NULL, }, // 0x011d - {0, 3, NULL, }, // 0x011e - {0, 16, NULL, }, // 0x011f - {0, 6, NULL, }, // 0x0120 - {0, 14, NULL, }, // 0x0121 - {0, VAR,NULL, }, // 0x0122 - {0, VAR,NULL, }, // 0x0123 - {0, 21, NULL, }, // 0x0124 - {0, 8, NULL, }, // 0x0125 - {0, 8, NULL, }, // 0x0126 - {0, 8, NULL, }, // 0x0127 - {0, 8, NULL, }, // 0x0128 - {0, 8, NULL, }, // 0x0129 - {0, 2, NULL, }, // 0x012a - {0, 2, NULL, }, // 0x012b - {0, 3, NULL, }, // 0x012c - {0, 4, NULL, }, // 0x012d - {0, 2, NULL, }, // 0x012e - {0, VAR,NULL, }, // 0x012f - {0, 6, NULL, }, // 0x0130 - {0, 86, NULL, }, // 0x0131 - {0, 6, NULL, }, // 0x0132 - {0, VAR,NULL, }, // 0x0133 - {0, VAR,NULL, }, // 0x0134 - {0, 7, NULL, }, // 0x0135 - {0, VAR,NULL, }, // 0x0136 - {0, 6, NULL, }, // 0x0137 - {0, 3, NULL, }, // 0x0138 - {0, 16, NULL, }, // 0x0139 - {0, 4, NULL, }, // 0x013a - {0, 4, NULL, }, // 0x013b - {0, 4, NULL, }, // 0x013c - {0, 6, NULL, }, // 0x013d - {0, 24, NULL, }, // 0x013e - {0, 26, NULL, }, // 0x013f - {0, 22, NULL, }, // 0x0140 - {0, 14, NULL, }, // 0x0141 - {0, 6, NULL, }, // 0x0142 + {0, 13, nullptr, }, // 0x0119 + {0, 15, nullptr, }, // 0x011a + {0, 20, nullptr, }, // 0x011b + {0, 68, nullptr, }, // 0x011c + {0, 2, nullptr, }, // 0x011d + {0, 3, nullptr, }, // 0x011e + {0, 16, nullptr, }, // 0x011f + {0, 6, nullptr, }, // 0x0120 + {0, 14, nullptr, }, // 0x0121 + {0, VAR,nullptr, }, // 0x0122 + {0, VAR,nullptr, }, // 0x0123 + {0, 21, nullptr, }, // 0x0124 + {0, 8, nullptr, }, // 0x0125 + {0, 8, nullptr, }, // 0x0126 + {0, 8, nullptr, }, // 0x0127 + {0, 8, nullptr, }, // 0x0128 + {0, 8, nullptr, }, // 0x0129 + {0, 2, nullptr, }, // 0x012a + {0, 2, nullptr, }, // 0x012b + {0, 3, nullptr, }, // 0x012c + {0, 4, nullptr, }, // 0x012d + {0, 2, nullptr, }, // 0x012e + {0, VAR,nullptr, }, // 0x012f + {0, 6, nullptr, }, // 0x0130 + {0, 86, nullptr, }, // 0x0131 + {0, 6, nullptr, }, // 0x0132 + {0, VAR,nullptr, }, // 0x0133 + {0, VAR,nullptr, }, // 0x0134 + {0, 7, nullptr, }, // 0x0135 + {0, VAR,nullptr, }, // 0x0136 + {0, 6, nullptr, }, // 0x0137 + {0, 3, nullptr, }, // 0x0138 + {0, 16, nullptr, }, // 0x0139 + {0, 4, nullptr, }, // 0x013a + {0, 4, nullptr, }, // 0x013b + {0, 4, nullptr, }, // 0x013c + {0, 6, nullptr, }, // 0x013d + {0, 24, nullptr, }, // 0x013e + {0, 26, nullptr, }, // 0x013f + {0, 22, nullptr, }, // 0x0140 + {0, 14, nullptr, }, // 0x0141 + {0, 6, nullptr, }, // 0x0142 {300, 10, clif_parse_NpcAmountInput, }, // 0x0143 - {0, 23, NULL, }, // 0x0144 - {0, 19, NULL, }, // 0x0145 + {0, 23, nullptr, }, // 0x0144 + {0, 19, nullptr, }, // 0x0145 {300, 6, clif_parse_NpcCloseClicked, }, // 0x0146 - {0, 39, NULL, }, // 0x0147 - {0, 8, NULL, }, // 0x0148 - {0, 9, NULL, }, // 0x0149 - {0, 6, NULL, }, // 0x014a - {0, 27, NULL, }, // 0x014b - {0, VAR,NULL, }, // 0x014c - {0, 2, NULL, }, // 0x014d - {0, 6, NULL, }, // 0x014e - {0, 6, NULL, }, // 0x014f - {0, 110,NULL, }, // 0x0150 - {0, 6, NULL, }, // 0x0151 - {0, VAR,NULL, }, // 0x0152 - {0, VAR,NULL, }, // 0x0153 - {0, VAR,NULL, }, // 0x0154 - {0, VAR,NULL, }, // 0x0155 - {0, VAR,NULL, }, // 0x0156 - {0, 6, NULL, }, // 0x0157 - {0, VAR,NULL, }, // 0x0158 - {0, 54, NULL, }, // 0x0159 - {0, 66, NULL, }, // 0x015a - {0, 54, NULL, }, // 0x015b - {0, 90, NULL, }, // 0x015c - {0, 42, NULL, }, // 0x015d - {0, 6, NULL, }, // 0x015e - {0, 42, NULL, }, // 0x015f - {0, VAR,NULL, }, // 0x0160 - {0, VAR,NULL, }, // 0x0161 - {0, VAR,NULL, }, // 0x0162 - {0, VAR,NULL, }, // 0x0163 - {0, VAR,NULL, }, // 0x0164 - {0, 30, NULL, }, // 0x0165 - {0, VAR,NULL, }, // 0x0166 - {0, 3, NULL, }, // 0x0167 - {0, 14, NULL, }, // 0x0168 - {0, 3, NULL, }, // 0x0169 - {0, 30, NULL, }, // 0x016a - {0, 10, NULL, }, // 0x016b - {0, 43, NULL, }, // 0x016c - {0, 14, NULL, }, // 0x016d - {0, 186,NULL, }, // 0x016e - {0, 182,NULL, }, // 0x016f - {0, 14, NULL, }, // 0x0170 - {0, 30, NULL, }, // 0x0171 - {0, 10, NULL, }, // 0x0172 - {0, 3, NULL, }, // 0x0173 - {0, VAR,NULL, }, // 0x0174 - {0, 6, NULL, }, // 0x0175 - {0, 106,NULL, }, // 0x0176 - {0, VAR,NULL, }, // 0x0177 - {0, 4, NULL, }, // 0x0178 - {0, 5, NULL, }, // 0x0179 - {0, 4, NULL, }, // 0x017a - {0, VAR,NULL, }, // 0x017b - {0, 6, NULL, }, // 0x017c - {0, 7, NULL, }, // 0x017d - {0, VAR,NULL, }, // 0x017e - {0, VAR,NULL, }, // 0x017f - {0, 6, NULL, }, // 0x0180 - {0, 3, NULL, }, // 0x0181 - {0, 106,NULL, }, // 0x0182 - {0, 10, NULL, }, // 0x0183 - {0, 10, NULL, }, // 0x0184 - {0, 34, NULL, }, // 0x0185 - {0, 0, NULL, }, // 0x0186 - {0, 6, NULL, }, // 0x0187 - {0, 8, NULL, }, // 0x0188 - {0, 4, NULL, }, // 0x0189 + {0, 39, nullptr, }, // 0x0147 + {0, 8, nullptr, }, // 0x0148 + {0, 9, nullptr, }, // 0x0149 + {0, 6, nullptr, }, // 0x014a + {0, 27, nullptr, }, // 0x014b + {0, VAR,nullptr, }, // 0x014c + {0, 2, nullptr, }, // 0x014d + {0, 6, nullptr, }, // 0x014e + {0, 6, nullptr, }, // 0x014f + {0, 110,nullptr, }, // 0x0150 + {0, 6, nullptr, }, // 0x0151 + {0, VAR,nullptr, }, // 0x0152 + {0, VAR,nullptr, }, // 0x0153 + {0, VAR,nullptr, }, // 0x0154 + {0, VAR,nullptr, }, // 0x0155 + {0, VAR,nullptr, }, // 0x0156 + {0, 6, nullptr, }, // 0x0157 + {0, VAR,nullptr, }, // 0x0158 + {0, 54, nullptr, }, // 0x0159 + {0, 66, nullptr, }, // 0x015a + {0, 54, nullptr, }, // 0x015b + {0, 90, nullptr, }, // 0x015c + {0, 42, nullptr, }, // 0x015d + {0, 6, nullptr, }, // 0x015e + {0, 42, nullptr, }, // 0x015f + {0, VAR,nullptr, }, // 0x0160 + {0, VAR,nullptr, }, // 0x0161 + {0, VAR,nullptr, }, // 0x0162 + {0, VAR,nullptr, }, // 0x0163 + {0, VAR,nullptr, }, // 0x0164 + {0, 30, nullptr, }, // 0x0165 + {0, VAR,nullptr, }, // 0x0166 + {0, 3, nullptr, }, // 0x0167 + {0, 14, nullptr, }, // 0x0168 + {0, 3, nullptr, }, // 0x0169 + {0, 30, nullptr, }, // 0x016a + {0, 10, nullptr, }, // 0x016b + {0, 43, nullptr, }, // 0x016c + {0, 14, nullptr, }, // 0x016d + {0, 186,nullptr, }, // 0x016e + {0, 182,nullptr, }, // 0x016f + {0, 14, nullptr, }, // 0x0170 + {0, 30, nullptr, }, // 0x0171 + {0, 10, nullptr, }, // 0x0172 + {0, 3, nullptr, }, // 0x0173 + {0, VAR,nullptr, }, // 0x0174 + {0, 6, nullptr, }, // 0x0175 + {0, 106,nullptr, }, // 0x0176 + {0, VAR,nullptr, }, // 0x0177 + {0, 4, nullptr, }, // 0x0178 + {0, 5, nullptr, }, // 0x0179 + {0, 4, nullptr, }, // 0x017a + {0, VAR,nullptr, }, // 0x017b + {0, 6, nullptr, }, // 0x017c + {0, 7, nullptr, }, // 0x017d + {0, VAR,nullptr, }, // 0x017e + {0, VAR,nullptr, }, // 0x017f + {0, 6, nullptr, }, // 0x0180 + {0, 3, nullptr, }, // 0x0181 + {0, 106,nullptr, }, // 0x0182 + {0, 10, nullptr, }, // 0x0183 + {0, 10, nullptr, }, // 0x0184 + {0, 34, nullptr, }, // 0x0185 + {0, 0, nullptr, }, // 0x0186 + {0, 6, nullptr, }, // 0x0187 + {0, 8, nullptr, }, // 0x0188 + {0, 4, nullptr, }, // 0x0189 {0, 4, clif_parse_QuitGame, }, // 0x018a - {0, 4, NULL, }, // 0x018b - {0, 29, NULL, }, // 0x018c - {0, VAR,NULL, }, // 0x018d - {0, 10, NULL, }, // 0x018e - {0, 6, NULL, }, // 0x018f - {0, 90, NULL, }, // 0x0190 - {0, 86, NULL, }, // 0x0191 - {0, 24, NULL, }, // 0x0192 - {0, 6, NULL, }, // 0x0193 - {0, 30, NULL, }, // 0x0194 - {0, 102,NULL, }, // 0x0195 - {0, 9, NULL, }, // 0x0196 - {0, 4, NULL, }, // 0x0197 - {0, 8, NULL, }, // 0x0198 - {0, 4, NULL, }, // 0x0199 - {0, 14, NULL, }, // 0x019a - {0, 10, NULL, }, // 0x019b - {0, VAR,NULL, }, // 0x019c - {300, 6, NULL, }, // 0x019d - {0, 2, NULL, }, // 0x019e - {0, 6, NULL, }, // 0x019f - {0, 3, NULL, }, // 0x01a0 - {0, 3, NULL, }, // 0x01a1 - {0, 35, NULL, }, // 0x01a2 - {0, 5, NULL, }, // 0x01a3 - {0, 11, NULL, }, // 0x01a4 - {0, 26, NULL, }, // 0x01a5 - {0, VAR,NULL, }, // 0x01a6 - {0, 4, NULL, }, // 0x01a7 - {0, 4, NULL, }, // 0x01a8 - {0, 6, NULL, }, // 0x01a9 - {0, 10, NULL, }, // 0x01aa - {0, 12, NULL, }, // 0x01ab - {0, 6, NULL, }, // 0x01ac - {0, VAR,NULL, }, // 0x01ad - {0, 4, NULL, }, // 0x01ae - {0, 4, NULL, }, // 0x01af - {0, 11, NULL, }, // 0x01b0 - {0, 7, NULL, }, // 0x01b1 - {0, VAR,NULL, }, // 0x01b2 - {0, 67, NULL, }, // 0x01b3 - {0, 12, NULL, }, // 0x01b4 - {0, 18, NULL, }, // 0x01b5 - {0, 114,NULL, }, // 0x01b6 - {0, 6, NULL, }, // 0x01b7 - {0, 3, NULL, }, // 0x01b8 - {0, 6, NULL, }, // 0x01b9 - {0, 26, NULL, }, // 0x01ba - {0, 26, NULL, }, // 0x01bb - {0, 26, NULL, }, // 0x01bc - {0, 26, NULL, }, // 0x01bd - {0, 2, NULL, }, // 0x01be - {0, 3, NULL, }, // 0x01bf - {0, 2, NULL, }, // 0x01c0 - {0, 14, NULL, }, // 0x01c1 - {0, 10, NULL, }, // 0x01c2 - {0, VAR,NULL, }, // 0x01c3 - {0, 22, NULL, }, // 0x01c4 - {0, 22, NULL, }, // 0x01c5 - {0, 4, NULL, }, // 0x01c6 - {0, 2, NULL, }, // 0x01c7 - {0, 13, NULL, }, // 0x01c8 - {0, 97, NULL, }, // 0x01c9 - {0, 0, NULL, }, // 0x01ca - {0, 9, NULL, }, // 0x01cb - {0, 9, NULL, }, // 0x01cc - {0, 30, NULL, }, // 0x01cd - {0, 6, NULL, }, // 0x01ce - {0, 28, NULL, }, // 0x01cf - {0, 8, NULL, }, // 0x01d0 - {0, 14, NULL, }, // 0x01d1 - {0, 10, NULL, }, // 0x01d2 - {0, 35, NULL, }, // 0x01d3 - {0, 6, NULL, }, // 0x01d4 + {0, 4, nullptr, }, // 0x018b + {0, 29, nullptr, }, // 0x018c + {0, VAR,nullptr, }, // 0x018d + {0, 10, nullptr, }, // 0x018e + {0, 6, nullptr, }, // 0x018f + {0, 90, nullptr, }, // 0x0190 + {0, 86, nullptr, }, // 0x0191 + {0, 24, nullptr, }, // 0x0192 + {0, 6, nullptr, }, // 0x0193 + {0, 30, nullptr, }, // 0x0194 + {0, 102,nullptr, }, // 0x0195 + {0, 9, nullptr, }, // 0x0196 + {0, 4, nullptr, }, // 0x0197 + {0, 8, nullptr, }, // 0x0198 + {0, 4, nullptr, }, // 0x0199 + {0, 14, nullptr, }, // 0x019a + {0, 10, nullptr, }, // 0x019b + {0, VAR,nullptr, }, // 0x019c + {300, 6, nullptr, }, // 0x019d + {0, 2, nullptr, }, // 0x019e + {0, 6, nullptr, }, // 0x019f + {0, 3, nullptr, }, // 0x01a0 + {0, 3, nullptr, }, // 0x01a1 + {0, 35, nullptr, }, // 0x01a2 + {0, 5, nullptr, }, // 0x01a3 + {0, 11, nullptr, }, // 0x01a4 + {0, 26, nullptr, }, // 0x01a5 + {0, VAR,nullptr, }, // 0x01a6 + {0, 4, nullptr, }, // 0x01a7 + {0, 4, nullptr, }, // 0x01a8 + {0, 6, nullptr, }, // 0x01a9 + {0, 10, nullptr, }, // 0x01aa + {0, 12, nullptr, }, // 0x01ab + {0, 6, nullptr, }, // 0x01ac + {0, VAR,nullptr, }, // 0x01ad + {0, 4, nullptr, }, // 0x01ae + {0, 4, nullptr, }, // 0x01af + {0, 11, nullptr, }, // 0x01b0 + {0, 7, nullptr, }, // 0x01b1 + {0, VAR,nullptr, }, // 0x01b2 + {0, 67, nullptr, }, // 0x01b3 + {0, 12, nullptr, }, // 0x01b4 + {0, 18, nullptr, }, // 0x01b5 + {0, 114,nullptr, }, // 0x01b6 + {0, 6, nullptr, }, // 0x01b7 + {0, 3, nullptr, }, // 0x01b8 + {0, 6, nullptr, }, // 0x01b9 + {0, 26, nullptr, }, // 0x01ba + {0, 26, nullptr, }, // 0x01bb + {0, 26, nullptr, }, // 0x01bc + {0, 26, nullptr, }, // 0x01bd + {0, 2, nullptr, }, // 0x01be + {0, 3, nullptr, }, // 0x01bf + {0, 2, nullptr, }, // 0x01c0 + {0, 14, nullptr, }, // 0x01c1 + {0, 10, nullptr, }, // 0x01c2 + {0, VAR,nullptr, }, // 0x01c3 + {0, 22, nullptr, }, // 0x01c4 + {0, 22, nullptr, }, // 0x01c5 + {0, 4, nullptr, }, // 0x01c6 + {0, 2, nullptr, }, // 0x01c7 + {0, 13, nullptr, }, // 0x01c8 + {0, 97, nullptr, }, // 0x01c9 + {0, 0, nullptr, }, // 0x01ca + {0, 9, nullptr, }, // 0x01cb + {0, 9, nullptr, }, // 0x01cc + {0, 30, nullptr, }, // 0x01cd + {0, 6, nullptr, }, // 0x01ce + {0, 28, nullptr, }, // 0x01cf + {0, 8, nullptr, }, // 0x01d0 + {0, 14, nullptr, }, // 0x01d1 + {0, 10, nullptr, }, // 0x01d2 + {0, 35, nullptr, }, // 0x01d3 + {0, 6, nullptr, }, // 0x01d4 {300, VAR,clif_parse_NpcStringInput, }, // 0x01d5 - set to -1 - {0, 4, NULL, }, // 0x01d6 - {0, 11, NULL, }, // 0x01d7 - {0, 54, NULL, }, // 0x01d8 - {0, 53, NULL, }, // 0x01d9 - {0, 60, NULL, }, // 0x01da - {0, 2, NULL, }, // 0x01db - {0, VAR,NULL, }, // 0x01dc - {0, 47, NULL, }, // 0x01dd - {0, 33, NULL, }, // 0x01de - {0, 6, NULL, }, // 0x01df - {0, 30, NULL, }, // 0x01e0 - {0, 8, NULL, }, // 0x01e1 - {0, 34, NULL, }, // 0x01e2 - {0, 14, NULL, }, // 0x01e3 - {0, 2, NULL, }, // 0x01e4 - {0, 6, NULL, }, // 0x01e5 - {0, 26, NULL, }, // 0x01e6 - {0, 2, NULL, }, // 0x01e7 - {0, 28, NULL, }, // 0x01e8 - {0, 81, NULL, }, // 0x01e9 - {0, 6, NULL, }, // 0x01ea - {0, 10, NULL, }, // 0x01eb - {0, 26, NULL, }, // 0x01ec - {0, 2, NULL, }, // 0x01ed - {0, VAR,NULL, }, // 0x01ee - {0, VAR,NULL, }, // 0x01ef - {0, VAR,NULL, }, // 0x01f0 - {0, VAR,NULL, }, // 0x01f1 - {0, 20, NULL, }, // 0x01f2 - {0, 10, NULL, }, // 0x01f3 - {0, 32, NULL, }, // 0x01f4 - {0, 9, NULL, }, // 0x01f5 - {0, 34, NULL, }, // 0x01f6 - {0, 14, NULL, }, // 0x01f7 - {0, 2, NULL, }, // 0x01f8 - {0, 6, NULL, }, // 0x01f9 - {0, 48, NULL, }, // 0x01fa - {0, 56, NULL, }, // 0x01fb - {0, VAR,NULL, }, // 0x01fc - {0, 4, NULL, }, // 0x01fd - {0, 5, NULL, }, // 0x01fe - {0, 10, NULL, }, // 0x01ff - {0, 26, NULL, }, // 0x0200 - {0, VAR,NULL, }, // 0x0201 - {0, 26, NULL, }, // 0x0202 - {0, 10, NULL, }, // 0x0203 - {0, 18, NULL, }, // 0x0204 - {0, 26, NULL, }, // 0x0205 - {0, 11, NULL, }, // 0x0206 - {0, 34, NULL, }, // 0x0207 - {0, 14, NULL, }, // 0x0208 - {0, 36, NULL, }, // 0x0209 - {0, 10, NULL, }, // 0x020a - {0, 19, NULL, }, // 0x020b - {0, 10, NULL, }, // 0x020c - {0, VAR,NULL, }, // 0x020d - {0, 24, NULL, }, // 0x020e - {0, 0, NULL, }, // 0x020f - {0, 0, NULL, }, // 0x0210 - {0, 0, NULL, }, // 0x0211 - {0, 0, NULL, }, // 0x0212 - {0, 0, NULL, }, // 0x0213 - {0, 0, NULL, }, // 0x0214 - {0, 0, NULL, }, // 0x0215 - {0, 0, NULL, }, // 0x0216 - {0, 0, NULL, }, // 0x0217 - {0, 0, NULL, }, // 0x0218 - {0, 0, NULL, }, // 0x0219 - {0, 0, NULL, }, // 0x021a - {0, 0, NULL, }, // 0x021b - {0, 0, NULL, }, // 0x021c - {0, 0, NULL, }, // 0x021d - {0, 0, NULL, }, // 0x021e - {0, 0, NULL, }, // 0x021f + {0, 4, nullptr, }, // 0x01d6 + {0, 11, nullptr, }, // 0x01d7 + {0, 54, nullptr, }, // 0x01d8 + {0, 53, nullptr, }, // 0x01d9 + {0, 60, nullptr, }, // 0x01da + {0, 2, nullptr, }, // 0x01db + {0, VAR,nullptr, }, // 0x01dc + {0, 47, nullptr, }, // 0x01dd + {0, 33, nullptr, }, // 0x01de + {0, 6, nullptr, }, // 0x01df + {0, 30, nullptr, }, // 0x01e0 + {0, 8, nullptr, }, // 0x01e1 + {0, 34, nullptr, }, // 0x01e2 + {0, 14, nullptr, }, // 0x01e3 + {0, 2, nullptr, }, // 0x01e4 + {0, 6, nullptr, }, // 0x01e5 + {0, 26, nullptr, }, // 0x01e6 + {0, 2, nullptr, }, // 0x01e7 + {0, 28, nullptr, }, // 0x01e8 + {0, 81, nullptr, }, // 0x01e9 + {0, 6, nullptr, }, // 0x01ea + {0, 10, nullptr, }, // 0x01eb + {0, 26, nullptr, }, // 0x01ec + {0, 2, nullptr, }, // 0x01ed + {0, VAR,nullptr, }, // 0x01ee + {0, VAR,nullptr, }, // 0x01ef + {0, VAR,nullptr, }, // 0x01f0 + {0, VAR,nullptr, }, // 0x01f1 + {0, 20, nullptr, }, // 0x01f2 + {0, 10, nullptr, }, // 0x01f3 + {0, 32, nullptr, }, // 0x01f4 + {0, 9, nullptr, }, // 0x01f5 + {0, 34, nullptr, }, // 0x01f6 + {0, 14, nullptr, }, // 0x01f7 + {0, 2, nullptr, }, // 0x01f8 + {0, 6, nullptr, }, // 0x01f9 + {0, 48, nullptr, }, // 0x01fa + {0, 56, nullptr, }, // 0x01fb + {0, VAR,nullptr, }, // 0x01fc + {0, 4, nullptr, }, // 0x01fd + {0, 5, nullptr, }, // 0x01fe + {0, 10, nullptr, }, // 0x01ff + {0, 26, nullptr, }, // 0x0200 + {0, VAR,nullptr, }, // 0x0201 + {0, 26, nullptr, }, // 0x0202 + {0, 10, nullptr, }, // 0x0203 + {0, 18, nullptr, }, // 0x0204 + {0, 26, nullptr, }, // 0x0205 + {0, 11, nullptr, }, // 0x0206 + {0, 34, nullptr, }, // 0x0207 + {0, 14, nullptr, }, // 0x0208 + {0, 36, nullptr, }, // 0x0209 + {0, 10, nullptr, }, // 0x020a + {0, 19, nullptr, }, // 0x020b + {0, 10, nullptr, }, // 0x020c + {0, VAR,nullptr, }, // 0x020d + {0, 24, nullptr, }, // 0x020e + {0, 0, nullptr, }, // 0x020f + {0, 0, nullptr, }, // 0x0210 + {0, 0, nullptr, }, // 0x0211 + {0, 0, nullptr, }, // 0x0212 + {0, 0, nullptr, }, // 0x0213 + {0, 0, nullptr, }, // 0x0214 + {0, 0, nullptr, }, // 0x0215 + {0, 0, nullptr, }, // 0x0216 + {0, 0, nullptr, }, // 0x0217 + {0, 0, nullptr, }, // 0x0218 + {0, 0, nullptr, }, // 0x0219 + {0, 0, nullptr, }, // 0x021a + {0, 0, nullptr, }, // 0x021b + {0, 0, nullptr, }, // 0x021c + {0, 0, nullptr, }, // 0x021d + {0, 0, nullptr, }, // 0x021e + {0, 0, nullptr, }, // 0x021f }; // Checks for packet flooding diff --git a/src/map/clif.t.hpp b/src/map/clif.t.hpp index ba9a187..0a3737a 100644 --- a/src/map/clif.t.hpp +++ b/src/map/clif.t.hpp @@ -600,7 +600,7 @@ struct IOff0 static IOff0 from(uint16_t i) { return IOff0{i}; } static IteratorPair> iter() - { return {IOff0::from(0), IOff0::from(MAX_INVENTORY)}; }; + { return {IOff0::from(0), IOff0::from(MAX_INVENTORY)}; } friend uint16_t convert_for_printf(IOff0 i0) { return i0.index; } IOff0& operator ++() { ++index; return *this; } @@ -624,7 +624,7 @@ struct SOff0 static SOff0 from(uint16_t i) { return SOff0{i}; } static IteratorPair> iter() - { return {SOff0::from(0), SOff0::from(MAX_STORAGE)}; }; + { return {SOff0::from(0), SOff0::from(MAX_STORAGE)}; } friend uint16_t convert_for_printf(SOff0 s0) { return s0.index; } SOff0& operator ++() { ++index; return *this; } @@ -648,7 +648,7 @@ struct IOff2 static IOff2 from(uint16_t i) { return IOff2{static_cast(i + 2)}; } static IteratorPair> iter() - { return {IOff2::from(0), IOff2::from(MAX_INVENTORY)}; }; + { return {IOff2::from(0), IOff2::from(MAX_INVENTORY)}; } IOff2& operator ++() { ++index; return *this; } friend bool operator == (IOff2 l, IOff2 r) { return l.index == r.index; } @@ -672,7 +672,7 @@ struct SOff1 static SOff1 from(uint16_t i) { return SOff1{static_cast(i + 1)}; } static IteratorPair> iter() - { return {SOff1::from(0), SOff1::from(MAX_STORAGE)}; }; + { return {SOff1::from(0), SOff1::from(MAX_STORAGE)}; } SOff1& operator ++() { ++index; return *this; } friend bool operator == (SOff1 l, SOff1 r) { return l.index == r.index; } diff --git a/src/map/intif.cpp b/src/map/intif.cpp index 543ec0b..4dbd5f7 100644 --- a/src/map/intif.cpp +++ b/src/map/intif.cpp @@ -202,7 +202,7 @@ void intif_party_addmember(PartyId party_id, AccountId account_id) dumb_ptr sd; sd = map_id2sd(account_to_block(account_id)); - if (sd != NULL) + if (sd != nullptr) { Packet_Fixed<0x3022> fixed_22; fixed_22.party_id = party_id; @@ -246,7 +246,7 @@ void intif_party_changemap(dumb_ptr sd, int online) if (!char_session) return; - if (sd != NULL) + if (sd != nullptr) { Packet_Fixed<0x3025> fixed_25; fixed_25.party_id = sd->status.party_id; @@ -304,7 +304,7 @@ int intif_parse_WisMessage(Session *, const Packet_Head<0x3801>& head, AString& to); } sd = map_nick2sd(to); // Searching destination player - if (sd != NULL && sd->status_key.name == to) + if (sd != nullptr && sd->status_key.name == to) { // exactly same name (inter-server have checked the name before) { @@ -333,7 +333,7 @@ int intif_parse_WisEnd(Session *, const Packet_Fixed<0x3802>& fixed) PRINTF("intif_parse_wisend: player: %s, flag: %d\n"_fmt, name, flag); sd = map_nick2sd(name); - if (sd != NULL) + if (sd != nullptr) clif_wis_end(sd->sess, flag); return 0; @@ -366,7 +366,7 @@ static int intif_parse_AccountReg(Session *, const Packet_Head<0x3804>& head, const std::vector>& repeat) { dumb_ptr sd = map_id2sd(account_to_block(head.account_id)); - if (sd == NULL) + if (sd == nullptr) return 1; size_t jlim = std::min(ACCOUNT_REG_NUM, repeat.size()); @@ -388,7 +388,7 @@ int intif_parse_LoadStorage(Session *, const Packet_Payload<0x3810>& payload) dumb_ptr sd; sd = map_id2sd(account_to_block(payload.account_id)); - if (sd == NULL) + if (sd == nullptr) { if (battle_config.error_log) PRINTF("intif_parse_LoadStorage: user not found %d\n"_fmt, @@ -541,7 +541,7 @@ RecvResult intif_parse(Session *s, uint16_t packet_id) if (rv != RecvResult::Complete) return rv; - clif_GMmessage(NULL, mes, 0); + clif_GMmessage(nullptr, mes, 0); break; } case 0x3801: diff --git a/src/map/itemdb.cpp b/src/map/itemdb.cpp index c88a201..67b6d21 100644 --- a/src/map/itemdb.cpp +++ b/src/map/itemdb.cpp @@ -62,7 +62,7 @@ struct item_data *itemdb_searchname(XString str_) ItemName str = stringish(str_); if (XString(str) != str_) return nullptr; - struct item_data *item = NULL; + struct item_data *item = nullptr; for (auto& pair : item_db) itemdb_searchname_sub(&pair.second, str, &item); return item; @@ -222,8 +222,8 @@ bool itemdb_readdb(ZString filename) id->value_sell = id->value_buy / 2; } - id->use_script = NULL; - id->equip_script = NULL; + id->use_script = nullptr; + id->equip_script = nullptr; if (!tail_part) continue; diff --git a/src/map/magic-expr.cpp b/src/map/magic-expr.cpp index 1e5c829..d54bbee 100644 --- a/src/map/magic-expr.cpp +++ b/src/map/magic-expr.cpp @@ -302,8 +302,8 @@ int fun_add(dumb_ptr, val_t *result, Slice args) make_area(&args[0]); make_area(&args[1]); RESULTAREA = area_union(ARGAREA(0), ARGAREA(1)); - ARGAREA(0) = NULL; - ARGAREA(1) = NULL; + ARGAREA(0) = nullptr; + ARGAREA(1) = nullptr; result->ty = TYPE::AREA; } else @@ -830,7 +830,7 @@ int magic_find_item(Slice args, int index, Item *item_, int *stackable) static int fun_count_item(dumb_ptr, val_t *result, Slice args) { - dumb_ptr chr = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : NULL; + dumb_ptr chr = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : nullptr; int stackable; Item item; @@ -846,7 +846,7 @@ int fun_count_item(dumb_ptr, val_t *result, Slice args) static int fun_is_equipped(dumb_ptr, val_t *result, Slice args) { - dumb_ptr chr = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : NULL; + dumb_ptr chr = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : nullptr; int stackable; Item item; bool retval = false; @@ -935,7 +935,7 @@ int fun_npc(dumb_ptr, val_t *result, Slice args) { NpcName name = stringish(ARGSTR(0)); RESULTENTITY = npc_name2id(name); - return RESULTENTITY == NULL; + return RESULTENTITY == nullptr; } static @@ -943,7 +943,7 @@ int fun_pc(dumb_ptr, val_t *result, Slice args) { CharName name = stringish(ARGSTR(0)); RESULTENTITY = map_nick2sd(name); - return RESULTENTITY == NULL; + return RESULTENTITY == nullptr; } static @@ -1141,7 +1141,7 @@ int fun_is_exterior(dumb_ptr, val_t *result, Slice args) static int fun_contains_string(dumb_ptr, val_t *result, Slice args) { - RESULTINT = NULL != strstr(ARGSTR(0).c_str(), ARGSTR(1).c_str()); + RESULTINT = nullptr != strstr(ARGSTR(0).c_str(), ARGSTR(1).c_str()); return 0; } @@ -1150,7 +1150,7 @@ int fun_strstr(dumb_ptr, val_t *result, Slice args) { const char *offset = strstr(ARGSTR(0).c_str(), ARGSTR(1).c_str()); RESULTINT = offset - ARGSTR(0).c_str(); - return offset == NULL; + return offset == nullptr; } static @@ -1281,7 +1281,7 @@ int fun_dir_towards(dumb_ptr, val_t *result, Slice args) static int fun_extract_healer_xp(dumb_ptr, val_t *result, Slice args) { - dumb_ptr sd = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : NULL; + dumb_ptr sd = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : nullptr; if (!sd) RESULTINT = 0; @@ -1428,7 +1428,7 @@ dumb_ptr eval_area(dumb_ptr env, e_area_t& expr_) if (eval_location(env, &area->a.a_loc, &expr->a.a_loc)) { area.delete_(); - return NULL; + return nullptr; } else return area; @@ -1451,7 +1451,7 @@ dumb_ptr eval_area(dumb_ptr env, e_area_t& expr_) free_area(area->a.a_union[i]); } area.delete_(); - return NULL; + return nullptr; } area->size = area->a.a_union[0]->size + area->a.a_union[1]->size; return area; @@ -1481,7 +1481,7 @@ dumb_ptr eval_area(dumb_ptr env, e_area_t& expr_) area.delete_(); magic_clear_var(&width); magic_clear_var(&height); - return NULL; + return nullptr; } } @@ -1515,7 +1515,7 @@ dumb_ptr eval_area(dumb_ptr env, e_area_t& expr_) magic_clear_var(&width); magic_clear_var(&depth); magic_clear_var(&dir); - return NULL; + return nullptr; } } @@ -1523,7 +1523,7 @@ dumb_ptr eval_area(dumb_ptr env, e_area_t& expr_) FPRINTF(stderr, "INTERNAL ERROR: Unknown area type %d\n"_fmt, area->ty); area.delete_(); - return NULL; + return nullptr; } } diff --git a/src/map/magic-expr.hpp b/src/map/magic-expr.hpp index c5c63a5..c3e994b 100644 --- a/src/map/magic-expr.hpp +++ b/src/map/magic-expr.hpp @@ -57,7 +57,7 @@ struct fun_t /** * Retrieves a function by name * @param name The name to look up - * @return A function of that name, or NULL. + * @return A function of that name, or nullptr. */ fun_t *magic_get_fun(ZString name); diff --git a/src/map/magic-interpreter-base.cpp b/src/map/magic-interpreter-base.cpp index 2cc83b4..cf14ae0 100644 --- a/src/map/magic-interpreter-base.cpp +++ b/src/map/magic-interpreter-base.cpp @@ -85,7 +85,7 @@ void set_spell SETTER(dumb_ptr, TYPE::SPELL, v_spell) #pragma GCC diagnostic pop magic_conf_t magic_conf; /* Global magic conf */ -env_t magic_default_env = { &magic_conf, NULL }; +env_t magic_default_env = { &magic_conf, nullptr }; AString magic_find_invocation(XString spellname) { @@ -102,7 +102,7 @@ dumb_ptr magic_find_spell(XString invocation) if (it != magic_conf.spells_by_invocation.end()) return it->second; - return NULL; + return nullptr; } /* -------------------------------------------------------------------------------- */ @@ -125,7 +125,7 @@ dumb_ptr magic_find_anchor(XString name) if (it != magic_conf.anchors_by_invocation.end()) return it->second; - return NULL; + return nullptr; } /* -------------------------------------------------------------------------------- */ @@ -201,11 +201,11 @@ dumb_ptr spell_create_env(magic_conf_t *conf, dumb_ptr spell, static void free_components(dumb_ptr *component_holder) { - if (*component_holder == NULL) + if (*component_holder == nullptr) return; free_components(&(*component_holder)->next); (*component_holder).delete_(); - *component_holder = NULL; + *component_holder = nullptr; } void magic_add_component(dumb_ptr *component_holder, ItemNameId id, int count) @@ -213,10 +213,10 @@ void magic_add_component(dumb_ptr *component_holder, ItemNameId id, if (count <= 0) return; - if (*component_holder == NULL) + if (*component_holder == nullptr) { auto component = dumb_ptr::make(); - component->next = NULL; + component->next = nullptr; component->item_id = id; component->count = count; *component_holder = component; @@ -238,7 +238,7 @@ void magic_add_component(dumb_ptr *component_holder, ItemNameId id, static void copy_components(dumb_ptr *component_holder, dumb_ptr component) { - if (component == NULL) + if (component == nullptr) return; magic_add_component(component_holder, component->item_id, component->count); @@ -314,14 +314,14 @@ effect_set_t *spellguard_check_sub(spellguard_check_t *check, dumb_ptr env, int *near_miss) { - if (guard == NULL) - return NULL; + if (guard == nullptr) + return nullptr; switch (guard->ty) { case SPELLGUARD::CONDITION: if (!magic_eval_int(env, guard->s.s_condition)) - return NULL; + return nullptr; break; case SPELLGUARD::COMPONENTS: @@ -337,8 +337,8 @@ effect_set_t *spellguard_check_sub(spellguard_check_t *check, spellguard_check_t altcheck = *check; effect_set_t *retval; - altcheck.components = NULL; - altcheck.catalysts = NULL; + altcheck.components = nullptr; + altcheck.catalysts = nullptr; copy_components(&altcheck.catalysts, check->catalysts); copy_components(&altcheck.components, check->components); @@ -367,12 +367,12 @@ effect_set_t *spellguard_check_sub(spellguard_check_t *check, if (spellguard_can_satisfy(check, caster, env, near_miss)) return &guard->s.s_effect; else - return NULL; + return nullptr; default: FPRINTF(stderr, "Unexpected spellguard type %d\n"_fmt, guard->ty); - return NULL; + return nullptr; } return spellguard_check_sub(check, guard->next, caster, env, near_miss); @@ -385,8 +385,8 @@ effect_set_t *check_spellguard(dumb_ptr guard, { spellguard_check_t check; effect_set_t *retval; - check.catalysts = NULL; - check.components = NULL; + check.catalysts = nullptr; + check.components = nullptr; check.mana = 0; check.casttime = interval_t::zero(); @@ -478,7 +478,7 @@ dumb_ptr spell_clone_effect(dumb_ptr base) // since this is the only call site, it is expanded here //*retval = *base; - retval->next_invocation = NULL; + retval->next_invocation = nullptr; retval->flags = INVOCATION_FLAG::ZERO; dumb_ptr env = retval->env = clone_env(base->env); retval->spell = base->spell; @@ -491,12 +491,12 @@ dumb_ptr spell_clone_effect(dumb_ptr base) // huh? retval->current_effect = base->trigger_effect; retval->trigger_effect = base->trigger_effect; - retval->end_effect = NULL; - // retval->status_change_refs = NULL; + retval->end_effect = nullptr; + // retval->status_change_refs = nullptr; retval->bl_id = BlockId(); - retval->bl_prev = NULL; - retval->bl_next = NULL; + retval->bl_prev = nullptr; + retval->bl_next = nullptr; retval->bl_m = base->bl_m; retval->bl_x = base->bl_x; retval->bl_y = base->bl_y; @@ -517,7 +517,7 @@ void spell_bind(dumb_ptr subject, dumb_ptr invocat if (bool(invocation->flags & INVOCATION_FLAG::BOUND) || invocation->subject || invocation->next_invocation) { - int *i = NULL; + int *i = nullptr; FPRINTF(stderr, "[magic] INTERNAL ERROR: Attempt to re-bind spell invocation `%s'\n"_fmt, invocation->spell->name); @@ -545,7 +545,7 @@ int spell_unbind(dumb_ptr subject, dumb_ptr invoca *seeker = invocation_->next_invocation; invocation_->flags &= ~INVOCATION_FLAG::BOUND; - invocation_->next_invocation = NULL; + invocation_->next_invocation = nullptr; invocation_->subject = BlockId(); return 0; diff --git a/src/map/magic-interpreter-base.hpp b/src/map/magic-interpreter-base.hpp index 7d75049..d569434 100644 --- a/src/map/magic-interpreter-base.hpp +++ b/src/map/magic-interpreter-base.hpp @@ -32,7 +32,7 @@ extern magic_conf_t magic_conf; /* Global magic conf */ extern env_t magic_default_env; /* Fake default environment */ /** - * Adds a component selection to a component holder (which may initially be NULL) + * Adds a component selection to a component holder (which may initially be nullptr) */ void magic_add_component(dumb_ptr *component_holder, ItemNameId id, int count); diff --git a/src/map/magic-interpreter.hpp b/src/map/magic-interpreter.hpp index cf0991e..d8a8d9c 100644 --- a/src/map/magic-interpreter.hpp +++ b/src/map/magic-interpreter.hpp @@ -394,8 +394,8 @@ struct invocation : block_list int script_pos; /* Script position; if nonzero, resume the script we were running. */ dumb_ptr current_effect; - dumb_ptr trigger_effect; /* If non-NULL, this is used to spawn a cloned effect based on the same environment */ - dumb_ptr end_effect; /* If non-NULL, this is executed when the spell terminates naturally, e.g. when all status changes have run out or all delays are over. */ + dumb_ptr trigger_effect; /* If non-nullptr, this is used to spawn a cloned effect based on the same environment */ + dumb_ptr end_effect; /* If non-nullptr, this is executed when the spell terminates naturally, e.g. when all status changes have run out or all delays are over. */ /* Status change references: for status change updates, keep track of whom we updated where */ std::vector status_change_refv; diff --git a/src/map/magic-stmt.cpp b/src/map/magic-stmt.cpp index 2cfb43e..2fbe556 100644 --- a/src/map/magic-stmt.cpp +++ b/src/map/magic-stmt.cpp @@ -228,7 +228,7 @@ void try_to_finish_invocation(dumb_ptr invocation) { clear_stack(invocation); invocation->current_effect = invocation->end_effect; - invocation->end_effect = NULL; + invocation->end_effect = nullptr; spell_execute(invocation); } else @@ -341,7 +341,7 @@ static int op_instaheal(dumb_ptr env, Slice args) { dumb_ptr caster = (env->VAR(VAR_CASTER).ty == TYPE::ENTITY) - ? map_id2bl(wrap(static_cast(env->VAR(VAR_CASTER).v.v_int))) : NULL; + ? map_id2bl(wrap(static_cast(env->VAR(VAR_CASTER).v.v_int))) : nullptr; dumb_ptr subject = ARGENTITY(0); if (!caster) caster = subject; @@ -704,7 +704,7 @@ int op_spawn(dumb_ptr, Slice args) interval_t monster_lifetime = static_cast(ARGINT(5)); int i; - dumb_ptr owner = NULL; + dumb_ptr owner = nullptr; if (monster_attitude == MonsterAttitude::SERVANT && owner_e->bl_type == BL::PC) owner = owner_e->is_player(); @@ -847,7 +847,7 @@ int op_emote(dumb_ptr, Slice args) static int op_set_script_variable(dumb_ptr, Slice args) { - dumb_ptr c = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : NULL; + dumb_ptr c = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : nullptr; VarName varname = stringish(ARGSTR(1)); int array_index = 0; @@ -862,7 +862,7 @@ int op_set_script_variable(dumb_ptr, Slice args) static int op_set_script_str(dumb_ptr, Slice args) { - dumb_ptr c = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : NULL; + dumb_ptr c = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : nullptr; VarName varname = stringish(ARGSTR(1)); int array_index = 0; @@ -877,7 +877,7 @@ int op_set_script_str(dumb_ptr, Slice args) static int op_set_hair_colour(dumb_ptr, Slice args) { - dumb_ptr c = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : NULL; + dumb_ptr c = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : nullptr; if (!c) return 1; @@ -890,7 +890,7 @@ int op_set_hair_colour(dumb_ptr, Slice args) static int op_set_hair_style(dumb_ptr, Slice args) { - dumb_ptr c = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : NULL; + dumb_ptr c = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : nullptr; if (!c) return 1; @@ -908,10 +908,10 @@ int op_drop_item_for (dumb_ptr, Slice args) location_t *loc = &ARGLOCATION(0); int count = ARGINT(2); interval_t interval = static_cast(ARGINT(3)); - dumb_ptr c = ((args.size() > 4) && (ENTITY_TYPE(4) == BL::PC)) ? ARGPC(4) : NULL; + dumb_ptr c = ((args.size() > 4) && (ENTITY_TYPE(4) == BL::PC)) ? ARGPC(4) : nullptr; interval_t delay = (args.size() > 5) ? static_cast(ARGINT(5)) : interval_t::zero(); interval_t delaytime[3] = { delay, delay, delay }; - dumb_ptr owners[3] = { c, NULL, NULL }; + dumb_ptr owners[3] = { c, nullptr, nullptr }; GET_ARG_ITEM(1, item, stackable); @@ -929,7 +929,7 @@ int op_drop_item_for (dumb_ptr, Slice args) static int op_gain_exp(dumb_ptr, Slice args) { - dumb_ptr c = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : NULL; + dumb_ptr c = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : nullptr; if (!c) return 1; @@ -1015,7 +1015,7 @@ static dumb_ptr return_to_stack(dumb_ptr invocation_) { if (!invocation_->stack_size) - return NULL; + return nullptr; else { cont_activation_record_t *ar = @@ -1091,7 +1091,7 @@ dumb_ptr return_to_stack(dumb_ptr invocation_) FPRINTF(stderr, "[magic] INTERNAL ERROR: While executing spell `%s': stack corruption\n"_fmt, invocation_->spell->name); - return NULL; + return nullptr; } } } @@ -1108,7 +1108,7 @@ cont_activation_record_t *add_stack_entry(dumb_ptr invocation_, "[magic] Execution stack size exceeded in spell `%s'; truncating effect\n"_fmt, invocation_->spell->name); invocation_->stack_size--; - return NULL; + return nullptr; } ar->ty = ty; @@ -1417,11 +1417,11 @@ interval_t spell_run(dumb_ptr invocation_, int allow_delete) case EFFECT::ABORT: invocation_->flags |= INVOCATION_FLAG::ABORTED; - invocation_->end_effect = NULL; + invocation_->end_effect = nullptr; FALLTHROUGH; case EFFECT::END: clear_stack(invocation_); - next = NULL; + next = nullptr; break; case EFFECT::ASSIGN: diff --git a/src/map/magic-stmt.hpp b/src/map/magic-stmt.hpp index 97fdf1f..745b9b5 100644 --- a/src/map/magic-stmt.hpp +++ b/src/map/magic-stmt.hpp @@ -40,7 +40,7 @@ struct op_t /** * Retrieves an operation by name * @param name The name to look up - * @return An operation of that name, or NULL, and a function index + * @return An operation of that name, or nullptr, and a function index */ op_t *magic_get_op(ZString name); diff --git a/src/map/magic-v2.cpp b/src/map/magic-v2.cpp index ba43cb9..a287519 100644 --- a/src/map/magic-v2.cpp +++ b/src/map/magic-v2.cpp @@ -116,7 +116,7 @@ namespace magic_v2 if (it != const_defm.end()) return &it->second; - return NULL; + return nullptr; } static dumb_ptr new_effect(EFFECT ty) diff --git a/src/map/magic.cpp b/src/map/magic.cpp index 2cfa1e4..ff4a278 100644 --- a/src/map/magic.cpp +++ b/src/map/magic.cpp @@ -97,11 +97,11 @@ int magic_message(dumb_ptr caster, XString source_invocation) if (bool(spell->flags & SPELL_FLAG::NONMAGIC) || (power >= 1)) effects = spell_trigger(spell, caster, env, &near_miss); else - effects = NULL; + effects = nullptr; #ifdef DEBUG FPRINTF(stderr, "Found spell `%s', triggered = %d\n"_fmt, spell_, - effects != NULL); + effects != nullptr); #endif MAP_LOG_PC(caster, "CAST %s %s"_fmt, diff --git a/src/map/map.cpp b/src/map/map.cpp index 28d618b..97523b0 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -189,12 +189,12 @@ struct block_list bl_head; */ int map_addblock(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_prev) { if (battle_config.error_log) - PRINTF("map_addblock error : bl->bl_prev!=NULL\n"_fmt); + PRINTF("map_addblock error : bl->bl_prev!=nullptr\n"_fmt); return 0; } @@ -234,7 +234,7 @@ int map_addblock(dumb_ptr bl) */ int map_delblock(dumb_ptr bl) { - nullpo_ret(bl); + nullpo_retz(bl); // 既にblocklistから抜けている if (!bl->bl_prev) @@ -243,7 +243,7 @@ int map_delblock(dumb_ptr bl) { // prevがNULLでnextがNULLでないのは有ってはならない if (battle_config.error_log) - PRINTF("map_delblock error : bl->bl_next!=NULL\n"_fmt); + PRINTF("map_delblock error : bl->bl_next!=nullptr\n"_fmt); } return 0; } @@ -269,8 +269,8 @@ int map_delblock(dumb_ptr bl) { bl->bl_prev->bl_next = bl->bl_next; } - bl->bl_next = NULL; - bl->bl_prev = NULL; + bl->bl_next = nullptr; + bl->bl_prev = nullptr; return 0; } @@ -282,7 +282,7 @@ int map_delblock(dumb_ptr bl) int map_count_oncell(map_local *m, int x, int y) { int bx, by; - dumb_ptr bl = NULL; + dumb_ptr bl = nullptr; int count = 0; if (x < 0 || y < 0 || (x >= m->xs) || (y >= m->ys)) @@ -606,7 +606,7 @@ void map_delobject(BlockId id, BL type) assert (id < MAX_FLOORITEM); dumb_ptr obj = object[id._value]; - if (obj == NULL) + if (obj == nullptr) return; map_delobjectnofree(id, type); @@ -666,7 +666,7 @@ void map_clearflooritem_timer(TimerData *tid, tick_t, BlockId id) dumb_ptr fitem = obj->is_item(); if (!tid) fitem->cleartimer.cancel(); - clif_clearflooritem(fitem, 0); + clif_clearflooritem(fitem, nullptr); map_delobject(fitem->bl_id, BL::ITEM); } @@ -702,7 +702,7 @@ BlockId map_addflooritem_any(Item *item_data, int amount, dumb_ptr *owners, interval_t *owner_protection, interval_t lifetime, int dispersal) { - dumb_ptr fitem = NULL; + dumb_ptr fitem = nullptr; nullpo_retr(BlockId(), item_data); auto xy = map_searchrandfreecell(m, x, y, dispersal); @@ -711,7 +711,7 @@ BlockId map_addflooritem_any(Item *item_data, int amount, fitem.new_(); fitem->bl_type = BL::ITEM; - fitem->bl_prev = fitem->bl_next = NULL; + fitem->bl_prev = fitem->bl_next = nullptr; fitem->bl_m = m; fitem->bl_x = xy.first; fitem->bl_y = xy.second; @@ -789,7 +789,7 @@ BlockId map_addflooritem(Item *item_data, int amount, void map_addchariddb(CharId charid, CharName name) { struct charid2nick *p = charid_db.search(charid); - if (p == NULL) + if (p == nullptr) p = charid_db.init(charid); p->nick = name; @@ -901,7 +901,7 @@ dumb_ptr map_id2sd(BlockId id) bl=numdb_search(id_db,id); if (bl && bl->bl_type==BL::PC) return (struct map_session_data*)bl; - return NULL; + return nullptr; */ for (io::FD i : iter_fds()) { @@ -916,7 +916,7 @@ dumb_ptr map_id2sd(BlockId id) } } - return NULL; + return nullptr; } /*========================================== @@ -927,7 +927,7 @@ CharName map_charid2nick(CharId id) { struct charid2nick *p = charid_db.search(id); - if (p == NULL) + if (p == nullptr) return CharName(); if (p->req_id != 0) return CharName(); @@ -949,7 +949,7 @@ dumb_ptr map_get_session(io::FD i) return dumb_ptr(d); } - return NULL; + return nullptr; } static @@ -962,7 +962,7 @@ dumb_ptr map_get_session_forward(int start) return d; } - return NULL; + return nullptr; } static @@ -975,7 +975,7 @@ dumb_ptr map_get_session_backward(int start) return d; } - return NULL; + return nullptr; } dumb_ptr map_get_first_session(void) @@ -1001,7 +1001,7 @@ dumb_ptr map_get_prev_session(dumb_ptr d) /*========================================== * Search session data from a nick name * (without sensitive case if necessary) - * return map_session_data pointer or NULL + * return map_session_data pointer or nullptr *------------------------------------------ */ dumb_ptr map_nick2sd(CharName nick) @@ -1020,7 +1020,7 @@ dumb_ptr map_nick2sd(CharName nick) } } } - return NULL; + return nullptr; } /*========================================== @@ -1030,7 +1030,7 @@ dumb_ptr map_nick2sd(CharName nick) */ dumb_ptr map_id2bl(BlockId id) { - dumb_ptr bl = NULL; + dumb_ptr bl = nullptr; if (id < MAX_FLOORITEM) bl = object[id._value]; else @@ -1049,7 +1049,7 @@ int map_addnpc(map_local *m, dumb_ptr nd) if (!m) return -1; for (i = 0; i < m->npc_num && i < MAX_NPC_PER_MAP; i++) - if (m->npc[i] == NULL) + if (m->npc[i] == nullptr) break; if (i == MAX_NPC_PER_MAP) { @@ -1062,7 +1062,7 @@ int map_addnpc(map_local *m, dumb_ptr nd) m->npc_num++; } - nullpo_ret(nd); + nullpo_retz(nd); m->npc[i] = nd; nd->n = i; @@ -1083,7 +1083,7 @@ void map_removenpc(void) map_local *m = static_cast(mitp.second.get()); for (int i = 0; i < m->npc_num && i < MAX_NPC_PER_MAP; i++) { - if (m->npc[i] != NULL) + if (m->npc[i] != nullptr) { clif_clearchar(m->npc[i], BeingRemoveWhy::QUIT); map_delblock(m->npc[i]); @@ -1108,7 +1108,7 @@ void map_removenpc(void) map_local *map_mapname2mapid(MapName name) { map_abstract *md = maps_db.get(name); - if (md == NULL || md->gat == NULL) + if (md == nullptr || md->gat == nullptr) return nullptr; return static_cast(md); } @@ -1120,7 +1120,7 @@ map_local *map_mapname2mapid(MapName name) int map_mapname2ipport(MapName name, IP4Address *ip, int *port) { map_abstract *md = maps_db.get(name); - if (md == NULL || md->gat) + if (md == nullptr || md->gat) return -1; map_remote *mdos = static_cast(md); *ip = mdos->ip; @@ -1229,12 +1229,12 @@ void map_setcell(map_local *m, int x, int y, MapCell t) int map_setipport(MapName name, IP4Address ip, int port) { map_abstract *md = maps_db.get(name); - if (md == NULL) + if (md == nullptr) { // not exist -> add new data auto mdos = make_unique(); mdos->name_ = name; - mdos->gat = NULL; + mdos->gat = nullptr; mdos->ip = ip; mdos->port = port; maps_db.put(mdos->name_, std::move(mdos)); @@ -1397,7 +1397,7 @@ void map_close_logfile(void) "gzip", "-f", filename.c_str(), - NULL + nullptr }; char **argv = const_cast(args); @@ -1408,7 +1408,7 @@ void map_close_logfile(void) execvp("gzip", argv); _exit(1); } - wait(NULL); + wait(nullptr); } } @@ -1435,7 +1435,7 @@ void map_set_logfile(AString filename) struct timeval tv; map_logfile_name = std::move(filename); - gettimeofday(&tv, NULL); + gettimeofday(&tv, nullptr); map_start_logfile(tv.tv_sec >> LOGFILE_SECONDS_PER_CHUNK_SHIFT); @@ -1466,7 +1466,7 @@ void map_log(XString line) static bool map_config_read(ZString cfgName) { - struct hostent *h = NULL; + struct hostent *h = nullptr; io::ReadFile in(cfgName); if (!in.is_open()) @@ -1503,7 +1503,7 @@ bool map_config_read(ZString cfgName) { h = gethostbyname(w2.c_str()); IP4Address w2ip; - if (h != NULL) + if (h != nullptr) { w2ip = IP4Address({ static_cast(h->h_addr[0]), @@ -1529,7 +1529,7 @@ bool map_config_read(ZString cfgName) { h = gethostbyname(w2.c_str()); IP4Address w2ip; - if (h != NULL) + if (h != nullptr) { w2ip = IP4Address({ static_cast(h->h_addr[0]), diff --git a/src/map/map.hpp b/src/map/map.hpp index 8fc752b..aa2d97a 100644 --- a/src/map/map.hpp +++ b/src/map/map.hpp @@ -509,7 +509,7 @@ struct BlockLists struct map_abstract { MapName name_; - // gat is NULL for map_remote and non-NULL or map_local + // gat is nullptr for map_remote and non-nullptr or map_local std::unique_ptr gat; virtual ~map_abstract() {} diff --git a/src/map/mob.cpp b/src/map/mob.cpp index 01a1029..166031f 100644 --- a/src/map/mob.cpp +++ b/src/map/mob.cpp @@ -132,8 +132,8 @@ void mob_spawn_dataset(dumb_ptr md, MobName mobname, Species mob_class else md->name = mobname; - md->bl_prev = NULL; - md->bl_next = NULL; + md->bl_prev = nullptr; + md->bl_next = nullptr; md->n = 0; md->mob_class = mob_class; md->bl_id = npc_get_new_npc_id(); @@ -400,7 +400,7 @@ BlockId mob_once_spawn(dumb_ptr sd, MobName mobname, Species mob_class, int amount, NpcEvent event) { - dumb_ptr md = NULL; + dumb_ptr md = nullptr; map_local *m; int count; @@ -555,7 +555,7 @@ int mob_get_equip(Species mob_class) // mob equip [Valaris] static int mob_can_move(dumb_ptr md) { - nullpo_ret(md); + nullpo_retz(md); if (md->canmove_tick > gettick() || (bool(md->opt1) && md->opt1 != Opt1::_stone6)) @@ -593,7 +593,7 @@ int mob_walk(dumb_ptr md, tick_t tick, unsigned char data) int moveblock; int x, y, dx, dy; - nullpo_ret(md); + nullpo_retz(md); md->state.state = MS::IDLE; if (md->walkpath.path_pos >= md->walkpath.path_len @@ -688,14 +688,14 @@ int mob_walk(dumb_ptr md, tick_t tick, unsigned char data) static int mob_check_attack(dumb_ptr md) { - dumb_ptr tbl = NULL; - dumb_ptr tsd = NULL; - dumb_ptr tmd = NULL; + dumb_ptr tbl = nullptr; + dumb_ptr tsd = nullptr; + dumb_ptr tmd = nullptr; MobMode mode; int range; - nullpo_ret(md); + nullpo_retz(md); md->min_chase = 13; md->state.state = MS::IDLE; @@ -707,7 +707,7 @@ int mob_check_attack(dumb_ptr md) if (bool(md->opt1)) return 0; - if ((tbl = map_id2bl(md->target_id)) == NULL) + if ((tbl = map_id2bl(md->target_id)) == nullptr) { md->target_id = BlockId(); md->state.attackable = false; @@ -724,7 +724,7 @@ int mob_check_attack(dumb_ptr md) if (tsd) { if (pc_isdead(tsd) || tsd->invincible_timer - || pc_isinvisible(tsd) || md->bl_m != tbl->bl_m || tbl->bl_prev == NULL + || pc_isinvisible(tsd) || md->bl_m != tbl->bl_m || tbl->bl_prev == nullptr || distance(md->bl_x, md->bl_y, tbl->bl_x, tbl->bl_y) >= 13) { md->target_id = BlockId(); @@ -734,7 +734,7 @@ int mob_check_attack(dumb_ptr md) } if (tmd) { - if (md->bl_m != tbl->bl_m || tbl->bl_prev == NULL + if (md->bl_m != tbl->bl_m || tbl->bl_prev == nullptr || distance(md->bl_x, md->bl_y, tbl->bl_x, tbl->bl_y) >= 13) { md->target_id = BlockId(); @@ -790,11 +790,11 @@ void mob_ancillary_attack(dumb_ptr bl, static int mob_attack(dumb_ptr md, tick_t tick) { - dumb_ptr tbl = NULL; + dumb_ptr tbl = nullptr; - nullpo_ret(md); + nullpo_retz(md); - if ((tbl = map_id2bl(md->target_id)) == NULL) + if ((tbl = map_id2bl(md->target_id)) == nullptr) return 0; if (!mob_check_attack(md)) @@ -851,7 +851,7 @@ void mob_stopattacked(dumb_ptr sd, BlockId id) static int mob_changestate(dumb_ptr md, MS state, bool type) { - nullpo_ret(md); + nullpo_retz(md); md->timer.cancel(); md->state.state = state; @@ -926,7 +926,7 @@ void mob_timer(TimerData *, tick_t tick, BlockId id, unsigned char data) dumb_ptr md; dumb_ptr bl; bl = map_id2bl(id); - if (bl == NULL) + if (bl == nullptr) { //攻撃してきた敵がもういないのは正常のようだ return; } @@ -936,7 +936,7 @@ void mob_timer(TimerData *, tick_t tick, BlockId id, unsigned char data) md = bl->is_mob(); - if (md->bl_prev == NULL || md->state.state == MS::DEAD) + if (md->bl_prev == nullptr || md->state.state == MS::DEAD) return; MapBlockLock lock; @@ -966,7 +966,7 @@ int mob_walktoxy_sub(dumb_ptr md) { struct walkpath_data wpd; - nullpo_ret(md); + nullpo_retz(md); if (path_search(&wpd, md->bl_m, md->bl_x, md->bl_y, md->to_x, md->to_y, md->state.walk_easy)) @@ -989,7 +989,7 @@ int mob_walktoxy(dumb_ptr md, int x, int y, int easy) { struct walkpath_data wpd; - nullpo_ret(md); + nullpo_retz(md); if (md->state.state == MS::WALK && path_search(&wpd, md->bl_m, md->bl_x, md->bl_y, x, y, easy)) @@ -1030,7 +1030,7 @@ int mob_setdelayspawn(BlockId id) dumb_ptr md; dumb_ptr bl; - if ((bl = map_id2bl(id)) == NULL) + if ((bl = map_id2bl(id)) == nullptr) return -1; if (!bl || bl->bl_type == BL::NUL || bl->bl_type != BL::MOB) @@ -1089,7 +1089,7 @@ int mob_spawn(BlockId id) return -1; md->last_spawntime = tick; - if (md->bl_prev != NULL) + if (md->bl_prev != nullptr) { map_delblock(md); } @@ -1219,7 +1219,7 @@ int mob_stopattack(dumb_ptr md) */ int mob_stop_walking(dumb_ptr md, int type) { - nullpo_ret(md); + nullpo_retz(md); if (md->state.state == MS::WALK || md->state.state == MS::IDLE) { @@ -1272,8 +1272,8 @@ int mob_can_reach(dumb_ptr md, dumb_ptr bl, int range) struct walkpath_data wpd; int i; - nullpo_ret(md); - nullpo_ret(bl); + nullpo_retz(md); + nullpo_retz(bl); dx = abs(bl->bl_x - md->bl_x); dy = abs(bl->bl_y - md->bl_y); @@ -1329,8 +1329,8 @@ int mob_target(dumb_ptr md, dumb_ptr bl, int dist) eptr sc_data; MobMode mode; - nullpo_ret(md); - nullpo_ret(bl); + nullpo_retz(md); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); Option *option = battle_get_option(bl); @@ -1357,14 +1357,14 @@ int mob_target(dumb_ptr md, dumb_ptr bl, int dist) // Coercion is exerted if it is MVPMOB. if (bool(mode & MobMode::BOSS) - || (option != NULL + || (option != nullptr || race == Race::_insect || race == Race::_demon)) { if (bl->bl_type == BL::PC) { sd = bl->is_player(); - nullpo_ret(sd); + nullpo_retz(sd); if (sd->invincible_timer || pc_isinvisible(sd)) return 0; if (!bool(mode & MobMode::BOSS) && race != Race::_insect && race != Race::_demon @@ -1392,8 +1392,8 @@ static void mob_ai_sub_hard_activesearch(dumb_ptr bl, dumb_ptr smd, int *pcc) { - dumb_ptr tsd = NULL; - dumb_ptr tmd = NULL; + dumb_ptr tsd = nullptr; + dumb_ptr tmd = nullptr; MobMode mode; int dist; @@ -1544,14 +1544,14 @@ void mob_ai_sub_hard_linksearch(dumb_ptr bl, dumb_ptr md, static int mob_ai_sub_hard_slavemob(dumb_ptr md, tick_t tick) { - dumb_ptr mmd = NULL; + dumb_ptr mmd = nullptr; dumb_ptr bl; MobMode mode; int old_dist; - nullpo_ret(md); + nullpo_retz(md); - if ((bl = map_id2bl(md->master_id)) != NULL) + if ((bl = map_id2bl(md->master_id)) != nullptr) mmd = bl->is_mob(); mode = get_mob_db(md->mob_class).mode; @@ -1646,7 +1646,7 @@ int mob_ai_sub_hard_slavemob(dumb_ptr md, tick_t tick) && (!md->target_id || !md->state.attackable)) { dumb_ptr sd = map_id2sd(mmd->target_id); - if (sd != NULL && !pc_isdead(sd) && !sd->invincible_timer + if (sd != nullptr && !pc_isdead(sd) && !sd->invincible_timer && !pc_isinvisible(sd)) { @@ -1676,7 +1676,7 @@ int mob_ai_sub_hard_slavemob(dumb_ptr md, tick_t tick) static int mob_unlocktarget(dumb_ptr md, tick_t tick) { - nullpo_ret(md); + nullpo_retz(md); md->target_id = BlockId(); md->state.attackable = false; @@ -1694,7 +1694,7 @@ int mob_randomwalk(dumb_ptr md, tick_t tick) { const int retrycount = 20; - nullpo_ret(md); + nullpo_retz(md); interval_t speed = battle_get_speed(md); if (md->next_walktime < tick) @@ -1749,9 +1749,9 @@ int mob_randomwalk(dumb_ptr md, tick_t tick) static void mob_ai_sub_hard(dumb_ptr bl, tick_t tick) { - dumb_ptr md, tmd = NULL; - dumb_ptr tsd = NULL; - dumb_ptr tbl = NULL; + dumb_ptr md, tmd = nullptr; + dumb_ptr tsd = nullptr; + dumb_ptr tbl = nullptr; dumb_ptr fitem; int i, dx, dy, ret, dist; int attack_type = 0; @@ -1764,7 +1764,7 @@ void mob_ai_sub_hard(dumb_ptr bl, tick_t tick) return; md->last_thinktime = tick; - if (md->skilltimer || md->bl_prev == NULL) + if (md->skilltimer || md->bl_prev == nullptr) { // Under a skill aria and death if (tick > md->next_walktime + MIN_MOBTHINKTIME) @@ -1808,12 +1808,12 @@ void mob_ai_sub_hard(dumb_ptr bl, tick_t tick) || (bool(mode & MobMode::AGGRESSIVE) && random_::chance({25, 100})))) { dumb_ptr abl = map_id2bl(md->attacked_id); - dumb_ptr asd = NULL; + dumb_ptr asd = nullptr; if (abl) { if (abl->bl_type == BL::PC) asd = abl->is_player(); - if (asd == NULL || md->bl_m != abl->bl_m || abl->bl_prev == NULL + if (asd == nullptr || md->bl_m != abl->bl_m || abl->bl_prev == nullptr || asd->invincible_timer || pc_isinvisible(asd) || (dist = distance(md->bl_x, md->bl_y, abl->bl_x, abl->bl_y)) >= 32 @@ -1885,7 +1885,7 @@ void mob_ai_sub_hard(dumb_ptr bl, tick_t tick) tmd = tbl->is_mob(); if (tsd || tmd) { - if (tbl->bl_m != md->bl_m || tbl->bl_prev == NULL + if (tbl->bl_m != md->bl_m || tbl->bl_prev == nullptr || (dist = distance(md->bl_x, md->bl_y, tbl->bl_x, tbl->bl_y)) >= md->min_chase) @@ -1974,7 +1974,7 @@ void mob_ai_sub_hard(dumb_ptr bl, tick_t tick) } else { // ルートモンスター処理 - if (tbl == NULL || tbl->bl_type != BL::ITEM || tbl->bl_m != md->bl_m + if (tbl == nullptr || tbl->bl_type != BL::ITEM || tbl->bl_m != md->bl_m || (dist = distance(md->bl_x, md->bl_y, tbl->bl_x, tbl->bl_y)) >= md->min_chase @@ -2105,7 +2105,7 @@ void mob_ai_sub_lazy(dumb_ptr bl, tick_t tick) return; md->last_thinktime = tick; - if (md->bl_prev == NULL || md->skilltimer) + if (md->bl_prev == nullptr || md->skilltimer) { if (tick > md->next_walktime + MIN_MOBTHINKTIME * 10) md->next_walktime = tick; @@ -2254,7 +2254,7 @@ int mob_delete(dumb_ptr md) { nullpo_retr(1, md); - if (md->bl_prev == NULL) + if (md->bl_prev == nullptr) return 1; mob_changestate(md, MS::DEAD, 0); clif_clearchar(md, BeingRemoveWhy::DEAD); @@ -2268,7 +2268,7 @@ int mob_catch_delete(dumb_ptr md, BeingRemoveWhy type) { nullpo_retr(1, md); - if (md->bl_prev == NULL) + if (md->bl_prev == nullptr) return 1; mob_changestate(md, MS::DEAD, 0); clif_clearchar(md, type); @@ -2301,7 +2301,7 @@ void mob_deleteslave_sub(dumb_ptr bl, BlockId id) md = bl->is_mob(); if (md->master_id && md->master_id == id) - mob_damage(NULL, md, md->hp, 1); + mob_damage(nullptr, md, md->hp, 1); } /*========================================== @@ -2310,7 +2310,7 @@ void mob_deleteslave_sub(dumb_ptr bl, BlockId id) */ int mob_deleteslave(dumb_ptr md) { - nullpo_ret(md); + nullpo_retz(md); map_foreachinarea(std::bind(mob_deleteslave_sub, ph::_1, md->bl_id), md->bl_m, @@ -2335,12 +2335,12 @@ double damage_bonus_factor[DAMAGE_BONUS_COUNT + 1] = int mob_damage(dumb_ptr src, dumb_ptr md, int damage, int type) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; int max_hp; tick_t tick = gettick(); - dumb_ptr mvp_sd = NULL, second_sd = NULL, third_sd = NULL; + dumb_ptr mvp_sd = nullptr, second_sd = nullptr, third_sd = nullptr; - nullpo_ret(md); //srcはNULLで呼ばれる場合もあるので、他でチェック + nullpo_retz(md); //srcはNULLで呼ばれる場合もあるので、他でチェック if (src && src->bl_id == md->master_id && bool(md->mode & MobMode::TURNS_AGAINST_BAD_MASTER)) @@ -2360,7 +2360,7 @@ int mob_damage(dumb_ptr src, dumb_ptr md, int damage, mvp_sd = sd; } - if (md->bl_prev == NULL) + if (md->bl_prev == nullptr) { if (battle_config.error_log == 1) PRINTF("mob_damage : BlockError!!\n"_fmt); @@ -2369,7 +2369,7 @@ int mob_damage(dumb_ptr src, dumb_ptr md, int damage, if (md->state.state == MS::DEAD || md->hp <= 0) { - if (md->bl_prev != NULL) + if (md->bl_prev != nullptr) { mob_changestate(md, MS::DEAD, 0); // It is skill at the time of death. @@ -2395,7 +2395,7 @@ int mob_damage(dumb_ptr src, dumb_ptr md, int damage, if (!(type & 2)) { - if (sd != NULL) + if (sd != nullptr) { for (mob_data::DmgLogEntry& dle : md->dmglogv) { @@ -2430,7 +2430,7 @@ int mob_damage(dumb_ptr src, dumb_ptr md, int damage, damage); } - nullpo_ret(md2); + nullpo_retz(md2); for (mob_data::DmgLogEntry& dle : md->dmglogv) { if (dle.id == md2->master_id) @@ -2501,7 +2501,7 @@ int mob_damage(dumb_ptr src, dumb_ptr md, int damage, { dumb_ptr tmpsdi = map_id2sd(dle.id); int tmpdmg = dle.dmg; - if (tmpsdi == NULL) + if (tmpsdi == nullptr) continue; if (tmpsdi->bl_m != md->bl_m || pc_isdead(tmpsdi)) continue; @@ -2668,9 +2668,9 @@ int mob_damage(dumb_ptr src, dumb_ptr md, int damage, // SCRIPT実行 if (md->npc_event) { - if (sd == NULL) + if (sd == nullptr) { - if (mvp_sd != NULL) + if (mvp_sd != nullptr) sd = mvp_sd; else { @@ -2711,7 +2711,7 @@ int mob_heal(dumb_ptr md, int heal) { int max_hp = battle_get_max_hp(md); - nullpo_ret(md); + nullpo_retz(md); md->hp += heal; if (max_hp < md->hp) @@ -2758,9 +2758,9 @@ int mob_warp(dumb_ptr md, map_local *m, int x, int y, BeingRemoveWhy t { int i = 0, xs = 0, ys = 0, bx = x, by = y; - nullpo_ret(md); + nullpo_retz(md); - if (md->bl_prev == NULL) + if (md->bl_prev == nullptr) return 0; if (m == nullptr) @@ -2859,7 +2859,7 @@ int mob_countslave(dumb_ptr md) { int c = 0; - nullpo_ret(md); + nullpo_retz(md); map_foreachinarea(std::bind(mob_countslave_sub, ph::_1, md->bl_id, &c), md->bl_m, @@ -2878,8 +2878,8 @@ int mob_summonslave(dumb_ptr md2, int *value_, int amount, int flag) dumb_ptr md; int bx, by, count = 0, a = amount; - nullpo_ret(md2); - nullpo_ret(value_); + nullpo_retz(md2); + nullpo_retz(value_); bx = md2->bl_x; by = md2->bl_y; @@ -2922,8 +2922,8 @@ int mob_summonslave(dumb_ptr md2, int *value_, int amount, int flag) } mob_spawn_dataset(md, JAPANESE_NAME, mob_class); - md->bl_prev = NULL; - md->bl_next = NULL; + md->bl_prev = nullptr; + md->bl_next = nullptr; md->bl_m = m; md->bl_x = x; md->bl_y = y; @@ -2987,7 +2987,7 @@ int mob_counttargeted(dumb_ptr md, dumb_ptr src, { int c = 0; - nullpo_ret(md); + nullpo_retz(md); map_foreachinarea(std::bind(mob_counttargeted_sub, ph::_1, md->bl_id, &c, src, target_lv), md->bl_m, @@ -3007,19 +3007,19 @@ int mob_counttargeted(dumb_ptr md, dumb_ptr src, */ void mobskill_castend_id(TimerData *, tick_t tick, BlockId id) { - dumb_ptr md = NULL; + dumb_ptr md = nullptr; dumb_ptr bl; dumb_ptr mbl; int range; - if ((mbl = map_id2bl(id)) == NULL) //詠唱したMobがもういないというのは良くある正常処理 + if ((mbl = map_id2bl(id)) == nullptr) //詠唱したMobがもういないというのは良くある正常処理 return; - if ((md = mbl->is_mob()) == NULL) + if ((md = mbl->is_mob()) == nullptr) { PRINTF("mobskill_castend_id nullpo mbl->bl_id:%d\n"_fmt, mbl->bl_id); return; } - if (md->bl_type != BL::MOB || md->bl_prev == NULL) + if (md->bl_type != BL::MOB || md->bl_prev == nullptr) return; if (bool(md->opt1)) @@ -3028,7 +3028,7 @@ void mobskill_castend_id(TimerData *, tick_t tick, BlockId id) if (md->skillid != SkillID::NPC_EMOTION) md->last_thinktime = tick + battle_get_adelay(md); - if ((bl = map_id2bl(md->skilltarget)) == NULL || bl->bl_prev == NULL) + if ((bl = map_id2bl(md->skilltarget)) == nullptr || bl->bl_prev == nullptr) { //スキルターゲットが存在しない return; } @@ -3073,18 +3073,18 @@ void mobskill_castend_id(TimerData *, tick_t tick, BlockId id) */ void mobskill_castend_pos(TimerData *, tick_t tick, BlockId id) { - dumb_ptr md = NULL; + dumb_ptr md = nullptr; dumb_ptr bl; int range; //mobskill_castend_id同様詠唱したMobが詠唱完了時にもういないというのはありそうなのでnullpoから除外 - if ((bl = map_id2bl(id)) == NULL) + if ((bl = map_id2bl(id)) == nullptr) return; md = bl->is_mob(); nullpo_retv(md); - if (md->bl_type != BL::MOB || md->bl_prev == NULL) + if (md->bl_type != BL::MOB || md->bl_prev == nullptr) return; if (bool(md->opt1)) @@ -3115,13 +3115,13 @@ int mobskill_use_id(dumb_ptr md, dumb_ptr target, SkillID skill_id; int skill_lv; - nullpo_ret(md); + nullpo_retz(md); ms = &skill_idx; - if (target == NULL && (target = map_id2bl(md->target_id)) == NULL) + if (target == nullptr && (target = map_id2bl(md->target_id)) == nullptr) return 0; - if (target->bl_prev == NULL || md->bl_prev == NULL) + if (target->bl_prev == nullptr || md->bl_prev == nullptr) return 0; skill_id = ms->skill_id; @@ -3190,10 +3190,10 @@ int mobskill_use_pos(dumb_ptr md, struct block_list bl; int skill_lv; - nullpo_ret(md); + nullpo_retz(md); ms = &skill_idx; - if (md->bl_prev == NULL) + if (md->bl_prev == nullptr) return 0; SkillID skill_id = ms->skill_id; @@ -3257,7 +3257,7 @@ int mobskill_use(dumb_ptr md, tick_t tick, { int max_hp; - nullpo_ret(md); + nullpo_retz(md); std::vector& ms = get_mob_db(md->mob_class).skills; max_hp = battle_get_max_hp(md); @@ -3312,7 +3312,7 @@ int mobskill_use(dumb_ptr md, tick_t tick, if (skill_get_inf(msii.skill_id) & 2) { // 場所指定 - dumb_ptr bl = NULL; + dumb_ptr bl = nullptr; int x = 0, y = 0; { if (msii.target == MobSkillTarget::MST_TARGET) @@ -3334,7 +3334,7 @@ int mobskill_use(dumb_ptr md, tick_t tick, else { { - dumb_ptr bl = NULL; + dumb_ptr bl = nullptr; if (msii.target == MobSkillTarget::MST_TARGET) bl = map_id2bl(md->target_id); else @@ -3358,7 +3358,7 @@ int mobskill_use(dumb_ptr md, tick_t tick, */ int mobskill_event(dumb_ptr md, BF flag) { - nullpo_ret(md); + nullpo_retz(md); if (flag == BF::NEGATIVE_1 && mobskill_use(md, gettick(), MobSkillCondition::ANY)) diff --git a/src/map/npc.cpp b/src/map/npc.cpp index 7d2b8da..275b41d 100644 --- a/src/map/npc.cpp +++ b/src/map/npc.cpp @@ -123,7 +123,7 @@ void npc_enable_sub(dumb_ptr bl, dumb_ptr nd) int npc_enable(NpcName name, bool flag) { dumb_ptr nd = npc_name2id(name); - if (nd == NULL) + if (nd == nullptr) { PRINTF("npc_enable(%s, %s) failed.\n"_fmt, name, flag ? "true"_s : "false"_s); return 0; @@ -172,7 +172,7 @@ dumb_ptr npc_name2id(NpcName name) */ int npc_event_dequeue(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); sd->npc_id = BlockId(); @@ -195,7 +195,7 @@ int npc_delete(dumb_ptr nd) { nullpo_retr(1, nd); - if (nd->bl_prev == NULL) + if (nd->bl_prev == nullptr) return 1; clif_clearchar(nd, BeingRemoveWhy::DEAD); @@ -209,7 +209,7 @@ void npc_timer_event(NpcEvent eventname) dumb_ptr nd; // int xs,ys; - if ((ev == NULL || (nd = ev->nd) == NULL)) + if ((ev == nullptr || (nd = ev->nd) == nullptr)) { PRINTF("npc_event: event not found [%s]\n"_fmt, eventname); @@ -330,7 +330,7 @@ static void npc_timerevent(TimerData *, tick_t tick, BlockId id, interval_t data) { dumb_ptr nd = map_id2bl(id)->is_npc()->is_script(); - assert (nd != NULL); + assert (nd != nullptr); assert (nd->npc_subtype == NpcSubtype::SCRIPT); assert (nd->scr.next_event != nd->scr.timer_eventv.end()); @@ -466,15 +466,15 @@ int npc_event(dumb_ptr sd, NpcEvent eventname, dumb_ptr nd; int xs, ys; - if (sd == NULL) + if (sd == nullptr) { PRINTF("npc_event nullpo?\n"_fmt); } - if (ev == NULL && eventname.label == stringish("OnTouch"_s)) + if (ev == nullptr && eventname.label == stringish("OnTouch"_s)) return 1; - if (ev == NULL || (nd = ev->nd) == NULL) + if (ev == nullptr || (nd = ev->nd) == nullptr) { if (mob_kill) { @@ -635,11 +635,11 @@ int npc_checknear(dumb_ptr sd, BlockId id) { dumb_ptr nd; - nullpo_ret(sd); + nullpo_retz(sd); nd = map_id_is_npc(id); // this actually happens - if (nd == NULL) + if (nd == nullptr) return 1; if (nd->bl_type != BL::NPC) return 1; @@ -846,7 +846,7 @@ int npc_buylist(dumb_ptr sd, const ItemNameId& item_l_id = item_list[i].name_id; struct item_data *item_data; - if ((item_data = itemdb_exists(item_l_id)) != NULL) + if ((item_data = itemdb_exists(item_l_id)) != nullptr) { int amount = item_l_count; Item item_tmp {}; @@ -1027,7 +1027,7 @@ int npc_parse_warp(XString w1, XString, NpcName w3, XString w4) nd->bl_id = npc_get_new_npc_id(); nd->n = map_addnpc(m, nd); - nd->bl_prev = nd->bl_next = NULL; + nd->bl_prev = nd->bl_next = nullptr; nd->bl_m = m; nd->bl_x = x; nd->bl_y = y; @@ -1088,7 +1088,7 @@ bool extract(XString xs, npc_item_list *itv) goto return_true; id = itemdb_searchname(name_or_id.rstrip()); - if (id == NULL) + if (id == nullptr) return false; itv->nameid = id->nameid; goto return_true; @@ -1096,7 +1096,7 @@ bool extract(XString xs, npc_item_list *itv) return_true: if (itv->value < 0) { - if (id == NULL) + if (id == nullptr) id = itemdb_search(itv->nameid); itv->value = id->value_buy * abs(itv->value); } @@ -1145,7 +1145,7 @@ int npc_parse_shop(XString w1, XString, NpcName w3, ZString w4a) return 1; } - nd->bl_prev = nd->bl_next = NULL; + nd->bl_prev = nd->bl_next = nullptr; nd->bl_m = m; nd->bl_x = x; nd->bl_y = y; @@ -1200,7 +1200,7 @@ int npc_parse_script(XString w1, XString w2, NpcName w3, ZString w4, int xs = 0, ys = 0; // [Valaris] thanks to fov Species npc_class; MapName mapname; - std::unique_ptr script = NULL; + std::unique_ptr script = nullptr; dumb_ptr nd; int evflag = 0; @@ -1257,7 +1257,7 @@ int npc_parse_script(XString w1, XString w2, NpcName w3, ZString w4, srcbuf += '\n'; } script = parse_script(AString(srcbuf), startline, false); - if (script == NULL) + if (script == nullptr) // script parse error? return 1; } @@ -1327,7 +1327,7 @@ int npc_parse_script(XString w1, XString w2, NpcName w3, ZString w4, nd->name = w3; } - nd->bl_prev = nd->bl_next = NULL; + nd->bl_prev = nd->bl_next = nullptr; nd->bl_m = m; nd->bl_x = x; nd->bl_y = y; @@ -1452,7 +1452,7 @@ int npc_parse_function(XString, XString, XString w3, ZString, srcbuf += '\n'; } std::unique_ptr script = parse_script(AString(srcbuf), startline, false); - if (script == NULL) + if (script == nullptr) { // script parse error? return 1; @@ -1500,8 +1500,8 @@ int npc_parse_mob(XString w1, XString, MobName w3, ZString w4) { md.new_(); - md->bl_prev = NULL; - md->bl_next = NULL; + md->bl_prev = nullptr; + md->bl_next = nullptr; md->bl_m = m; md->bl_x = x; md->bl_y = y; diff --git a/src/map/npc.hpp b/src/map/npc.hpp index 2c91dbd..f8ae650 100644 --- a/src/map/npc.hpp +++ b/src/map/npc.hpp @@ -63,7 +63,7 @@ BlockId npc_get_new_npc_id(void); /** * Spawns and installs a talk-only NPC * - * \param message The message to speak. If message is NULL, the NPC will not do anything at all. + * \param message The message to speak. If message is nullptr, the NPC will not do anything at all. */ dumb_ptr npc_spawn_text(map_local *m, int x, int y, Species class_, NpcName name, AString message); diff --git a/src/map/party.cpp b/src/map/party.cpp index 24ce66a..61df355 100644 --- a/src/map/party.cpp +++ b/src/map/party.cpp @@ -96,7 +96,7 @@ PartyPair party_searchname(PartyName str) /* Process a party creation request. */ int party_create(dumb_ptr sd, PartyName name) { - nullpo_ret(sd); + nullpo_retz(sd); name = stringish(name.strip()); @@ -155,7 +155,7 @@ void party_request_info(PartyId party_id) static int party_check_member(PartyPair p) { - nullpo_ret(p); + nullpo_retz(p); for (io::FD i : iter_fds()) { @@ -177,7 +177,7 @@ int party_check_member(PartyPair p) else { // I can prove it was already zeroed - // p->member[j].sd = NULL; // 同垢別キャラだった + // p->member[j].sd = nullptr; // 同垢別キャラだった } } } @@ -217,7 +217,7 @@ int party_recv_info(const PartyPair sp) { int i; - nullpo_ret(sp); + nullpo_retz(sp); PartyPair p = party_search(sp.party_id); if (!p) @@ -234,8 +234,8 @@ int party_recv_info(const PartyPair sp) for (i = 0; i < MAX_PARTY; i++) { // sdの設定 dumb_ptr sd = map_id2sd(account_to_block(p->member[i].account_id)); - p->member[i].sd = (sd != NULL - && sd->status.party_id == p.party_id) ? sd.operator->() : NULL; + p->member[i].sd = (sd != nullptr + && sd->status.party_id == p.party_id) ? sd.operator->() : nullptr; } clif_party_info(p, nullptr); @@ -244,7 +244,7 @@ int party_recv_info(const PartyPair sp) { // 設定情報の送信 // dumb_ptr sd = map_id2sd(p->member[i].account_id); dumb_ptr sd = dumb_ptr(p->member[i].sd); - if (sd != NULL && sd->party_sended == 0) + if (sd != nullptr && sd->party_sended == 0) { clif_party_option(p, sd, 0x100); sd->party_sended = 1; @@ -262,7 +262,7 @@ int party_invite(dumb_ptr sd, AccountId account_id) int i; int full = 1; /* Indicates whether or not there's room for one more. */ - nullpo_ret(sd); + nullpo_retz(sd); if (!tsd || !p || !tsd->sess) return 0; @@ -321,7 +321,7 @@ int party_invite(dumb_ptr sd, AccountId account_id) /* Process response to party invitation. */ int party_reply_invite(dumb_ptr sd, AccountId account_id, int flag) { - nullpo_ret(sd); + nullpo_retz(sd); /* There is no pending invitation. */ if (!sd->party_invite || !sd->party_invite_account) @@ -341,7 +341,7 @@ int party_reply_invite(dumb_ptr sd, AccountId account_id, int else { /* This is the player who sent the invitation. */ - dumb_ptr tsd = NULL; + dumb_ptr tsd = nullptr; sd->party_invite = PartyId(); sd->party_invite_account = AccountId(); @@ -358,7 +358,7 @@ int party_member_added(PartyId party_id, AccountId account_id, int flag) dumb_ptr sd = map_id2sd(account_to_block(account_id)), sd2; PartyPair p = party_search(party_id); - if (sd == NULL) + if (sd == nullptr) { if (flag == 0) { @@ -382,7 +382,7 @@ int party_member_added(PartyId party_id, AccountId account_id, int flag) if (flag == 1) { // 失敗 - if (sd2 != NULL) + if (sd2 != nullptr) clif_party_inviteack(sd2, sd->status_key.name, 0); return 0; } @@ -391,7 +391,7 @@ int party_member_added(PartyId party_id, AccountId account_id, int flag) sd->party_sended = 0; sd->status.party_id = party_id; - if (sd2 != NULL) + if (sd2 != nullptr) clif_party_inviteack(sd2, sd->status_key.name, 2); // いちおう競合確認 @@ -408,7 +408,7 @@ int party_removemember(dumb_ptr sd, AccountId account_id) PartyPair p; int i; - nullpo_ret(sd); + nullpo_retz(sd); if (!(p = party_search(sd->status.party_id))) return 0; @@ -439,7 +439,7 @@ int party_leave(dumb_ptr sd) PartyPair p; int i; - nullpo_ret(sd); + nullpo_retz(sd); if (!(p = party_search(sd->status.party_id))) return 0; @@ -468,10 +468,10 @@ int party_member_leaved(PartyId party_id, AccountId account_id, CharName name) { clif_party_leaved(p, sd, account_id, name, 0x00); p->member[i].account_id = AccountId(); - p->member[i].sd = NULL; + p->member[i].sd = nullptr; } } - if (sd != NULL && sd->status.party_id == party_id) + if (sd != nullptr && sd->status.party_id == party_id) { sd->status.party_id = PartyId(); sd->party_sended = 0; @@ -489,7 +489,7 @@ int party_broken(PartyId party_id) for (i = 0; i < MAX_PARTY; i++) { - if (p->member[i].sd != NULL) + if (p->member[i].sd != nullptr) { clif_party_leaved(p, dumb_ptr(p->member[i].sd), p->member[i].account_id, p->member[i].name, @@ -507,7 +507,7 @@ int party_changeoption(dumb_ptr sd, int exp, int item) { PartyPair p; - nullpo_ret(sd); + nullpo_retz(sd); if (!sd->status.party_id || !(p = party_search(sd->status.party_id))) @@ -545,7 +545,7 @@ void party_recv_movemap(PartyId party_id, AccountId account_id, MapName mapname, for (i = 0; i < MAX_PARTY; i++) { PartyMember *m = &p->member[i]; - if (m == NULL) + if (m == nullptr) { PRINTF("party_recv_movemap nullpo?\n"_fmt); return; @@ -569,8 +569,8 @@ void party_recv_movemap(PartyId party_id, AccountId account_id, MapName mapname, for (i = 0; i < MAX_PARTY; i++) { // sd再設定 dumb_ptr sd = map_id2sd(account_to_block(p->member[i].account_id)); - p->member[i].sd = (sd != NULL - && sd->status.party_id == p.party_id) ? sd.operator->() : NULL; + p->member[i].sd = (sd != nullptr + && sd->status.party_id == p.party_id) ? sd.operator->() : nullptr; } party_send_xy_clear(p); // 座標再通知要請 @@ -583,7 +583,7 @@ int party_send_movemap(dumb_ptr sd) { PartyPair p; - nullpo_ret(sd); + nullpo_retz(sd); if (!sd->status.party_id) return 0; @@ -615,7 +615,7 @@ int party_send_logout(dumb_ptr sd) { PartyPair p; - nullpo_ret(sd); + nullpo_retz(sd); if (sd->status.party_id) intif_party_changemap(sd, 0); @@ -626,7 +626,7 @@ int party_send_logout(dumb_ptr sd) int i; for (i = 0; i < MAX_PARTY; i++) if (dumb_ptr(p->member[i].sd) == sd) - p->member[i].sd = NULL; + p->member[i].sd = nullptr; } return 0; @@ -669,7 +669,7 @@ void party_send_xyhp_timer_sub(PartyPair p) for (i = 0; i < MAX_PARTY; i++) { dumb_ptr sd = dumb_ptr(p->member[i].sd); - if (sd != NULL) + if (sd != nullptr) { // 座標通知 if (sd->party_x != sd->bl_x || sd->party_y != sd->bl_y) @@ -711,7 +711,7 @@ void party_send_xy_clear(PartyPair p) for (i = 0; i < MAX_PARTY; i++) { dumb_ptr sd = dumb_ptr(p->member[i].sd); - if (sd != NULL) + if (sd != nullptr) { sd->party_x = -1; sd->party_y = -1; @@ -741,12 +741,12 @@ int party_exp_share(PartyPair p, map_local *mapid, int base_exp, int job_exp) dumb_ptr sd; int i, c; - nullpo_ret(p); + nullpo_retz(p); for (i = c = 0; i < MAX_PARTY; i++) { sd = dumb_ptr(p->member[i].sd); - if (sd != NULL && sd->bl_m == mapid) + if (sd != nullptr && sd->bl_m == mapid) c++; } if (c == 0) @@ -754,7 +754,7 @@ int party_exp_share(PartyPair p, map_local *mapid, int base_exp, int job_exp) for (i = 0; i < MAX_PARTY; i++) { sd = dumb_ptr(p->member[i].sd); - if (sd != NULL && sd->bl_m == mapid) + if (sd != nullptr && sd->bl_m == mapid) pc_gainexp_reason(sd, base_exp / c + 1, job_exp / c + 1, PC_GAINEXP_REASON::SHARING); } @@ -786,7 +786,7 @@ void party_foreachsamemap(std::function)> func, for (i = 0; i < MAX_PARTY; i++) { PartyMember *m = &p->member[i]; - if (m->sd != NULL) + if (m->sd != nullptr) { if (sd->bl_m != m->sd->bl_m) continue; diff --git a/src/map/path.cpp b/src/map/path.cpp index fb423e7..432d9cf 100644 --- a/src/map/path.cpp +++ b/src/map/path.cpp @@ -59,7 +59,7 @@ void push_heap_path(int *heap, struct tmp_path *tp, int index) { int i, h; - if (heap == NULL || tp == NULL) + if (heap == nullptr || tp == nullptr) { PRINTF("push_heap_path nullpo\n"_fmt); return; @@ -145,7 +145,7 @@ int calc_cost(struct tmp_path *p, int x1, int y1) { int xd, yd; - nullpo_ret(p); + nullpo_retz(p); xd = x1 - p->x; if (xd < 0) @@ -166,8 +166,8 @@ int add_path(int *heap, struct tmp_path *tp, int x, int y, int dist, { int i; - nullpo_ret(heap); - nullpo_ret(tp); + nullpo_retz(heap); + nullpo_retz(tp); i = calc_index(x, y); @@ -211,7 +211,7 @@ int add_path(int *heap, struct tmp_path *tp, int x, int y, int dist, static bool can_place(struct map_local *m, int x, int y) { - nullpo_ret(m); + nullpo_retz(m); return !bool(read_gatp(m, x, y) & MapCell::UNWALKABLE); } @@ -223,7 +223,7 @@ bool can_place(struct map_local *m, int x, int y) static int can_move(struct map_local *m, int x0, int y0, int x1, int y1) { - nullpo_ret(m); + nullpo_retz(m); if (x0 - x1 < -1 || x0 - x1 > 1 || y0 - y1 < -1 || y0 - y1 > 1) return 0; @@ -250,7 +250,7 @@ int path_search(struct walkpath_data *wpd, map_local *m, int x0, int y0, int x1, int i, rp, x, y; int dx, dy; - nullpo_ret(wpd); + nullpo_retz(wpd); assert (m->gat); map_local *md = m; diff --git a/src/map/pc.cpp b/src/map/pc.cpp index d37a7ff..48afffc 100644 --- a/src/map/pc.cpp +++ b/src/map/pc.cpp @@ -281,7 +281,7 @@ GmLevel pc_isGM(dumb_ptr sd) int pc_iskiller(dumb_ptr src, dumb_ptr target) { - nullpo_ret(src); + nullpo_retz(src); if (src->bl_type != BL::PC) return 0; @@ -319,13 +319,13 @@ void pc_invincible_timer(TimerData *, tick_t, BlockId id) { dumb_ptr sd = map_id2sd(id); - assert (sd != NULL); + assert (sd != nullptr); assert (sd->bl_type == BL::PC); } int pc_setinvincibletimer(dumb_ptr sd, interval_t val) { - nullpo_ret(sd); + nullpo_retz(sd); sd->invincible_timer = Timer(gettick() + val, std::bind(pc_invincible_timer, ph::_1, ph::_2, @@ -335,7 +335,7 @@ int pc_setinvincibletimer(dumb_ptr sd, interval_t val) int pc_delinvincibletimer(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); sd->invincible_timer.cancel(); return 0; @@ -343,7 +343,7 @@ int pc_delinvincibletimer(dumb_ptr sd) int pc_setrestartvalue(dumb_ptr sd, int type) { - nullpo_ret(sd); + nullpo_retz(sd); { if (battle_config.restart_hp_rate < 50) @@ -475,7 +475,7 @@ void pc_makesavestatus(dumb_ptr sd) int pc_setnewpc(dumb_ptr sd, AccountId account_id, CharId char_id, int login_id1, uint32_t client_tick, SEX sex) { - nullpo_ret(sd); + nullpo_retz(sd); // TODO this is the primary surface sd->bl_id = account_to_block(account_id); @@ -512,7 +512,7 @@ EPOS pc_equippoint(dumb_ptr sd, IOff0 n) static int pc_setinventorydata(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); for (IOff0 i : IOff0::iter()) { @@ -525,7 +525,7 @@ int pc_setinventorydata(dumb_ptr sd) static int pc_calcweapontype(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); if (sd->weapontype1 != ItemLook::NONE && sd->weapontype2 == ItemLook::NONE) @@ -568,7 +568,7 @@ int pc_calcweapontype(dumb_ptr sd) static int pc_setequipindex(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); for (EQUIP i : EQUIPs) sd->equip_index_maybe[i] = IOff0::from(-1); @@ -620,7 +620,7 @@ int pc_isequip(dumb_ptr sd, IOff0 n) eptr sc_data; //転生や養子の場合の元の職業を算出する - nullpo_ret(sd); + nullpo_retz(sd); item = sd->inventory_data[n]; sc_data = battle_get_sc_data(sd); @@ -629,7 +629,7 @@ int pc_isequip(dumb_ptr sd, IOff0 n) if (gm_all_equipment && pc_isGM(sd).satisfies(gm_all_equipment)) return 1; - if (item == NULL) + if (item == nullptr) return 0; if (item->sex != SEX::NEUTRAL && sd->status.sex != item->sex) return 0; @@ -647,13 +647,13 @@ int pc_isequip(dumb_ptr sd, IOff0 n) int pc_authok(AccountId id, int login_id2, TimeT connect_until_time, short tmw_version, const CharKey *st_key, const CharData *st_data) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; PartyPair p; tick_t tick = gettick(); sd = map_id2sd(account_to_block(id)); - if (sd == NULL) + if (sd == nullptr) return 1; sd->login_id2 = login_id2; @@ -675,7 +675,7 @@ int pc_authok(AccountId id, int login_id2, TimeT connect_until_time, really_memzero_this(&sd->state); // 基本的な初期化 sd->state.connect_new = 1; - sd->bl_prev = sd->bl_next = NULL; + sd->bl_prev = sd->bl_next = nullptr; sd->weapontype1 = sd->weapontype2 = ItemLook::NONE; sd->speed = DEFAULT_WALK_SPEED; @@ -846,7 +846,7 @@ int pc_authfail(AccountId id) dumb_ptr sd; sd = map_id2sd(account_to_block(id)); - if (sd == NULL) + if (sd == nullptr) return 1; clif_authfail_fd(sd->sess, 0); @@ -859,7 +859,7 @@ int pc_calc_skillpoint(dumb_ptr sd) { int i, skill_points = 0; - nullpo_ret(sd); + nullpo_retz(sd); for (i = 0; i < skill_pool_skills_size; i++) { int lv = sd->status.skill[skill_pool_skills[i]].lv; @@ -878,7 +878,7 @@ int pc_checkweighticon(dumb_ptr sd) { int flag = 0; - nullpo_ret(sd); + nullpo_retz(sd); if (sd->weight * 2 >= sd->max_weight && !sd->sc_data[StatusChange::SC_FLYING_BACKPACK].timer) @@ -937,7 +937,7 @@ int pc_calcstatus(dumb_ptr sd, int first) int aspd_rate, refinedef = 0; int str, dstr, dex; - nullpo_ret(sd); + nullpo_retz(sd); interval_t b_speed = sd->speed; b_max_hp = sd->status.max_hp; @@ -973,7 +973,7 @@ int pc_calcstatus(dumb_ptr sd, int first) for (IOff0 i : IOff0::iter()) { if (!sd->status.inventory[i].nameid - || sd->inventory_data[i] == NULL) + || sd->inventory_data[i] == nullptr) continue; sd->weight += sd->inventory_data[i]->weight * @@ -1484,7 +1484,7 @@ int pc_calcstatus(dumb_ptr sd, int first) */ int pc_bonus(dumb_ptr sd, SP type, int val) { - nullpo_ret(sd); + nullpo_retz(sd); switch (type) { @@ -1749,7 +1749,7 @@ int pc_bonus(dumb_ptr sd, SP type, int val) */ int pc_bonus2(dumb_ptr sd, SP type, int type2, int val) { - nullpo_ret(sd); + nullpo_retz(sd); switch (type) { @@ -1794,7 +1794,7 @@ int pc_bonus2(dumb_ptr sd, SP type, int type2, int val) */ int pc_skill(dumb_ptr sd, SkillID id, int level, int flag) { - nullpo_ret(sd); + nullpo_retz(sd); if (level > MAX_SKILL_LEVEL) { @@ -1852,7 +1852,7 @@ int pc_inventoryblank(dumb_ptr sd) { int b = 0; - nullpo_ret(sd); + nullpo_retz(sd); for (IOff0 i : IOff0::iter()) { @@ -1869,7 +1869,7 @@ int pc_inventoryblank(dumb_ptr sd) */ int pc_payzeny(dumb_ptr sd, int zeny) { - nullpo_ret(sd); + nullpo_retz(sd); double z = sd->status.zeny; if (sd->status.zeny < zeny || z - zeny > MAX_ZENY) @@ -1886,7 +1886,7 @@ int pc_payzeny(dumb_ptr sd, int zeny) */ int pc_getzeny(dumb_ptr sd, int zeny) { - nullpo_ret(sd); + nullpo_retz(sd); double z = sd->status.zeny; if (z + zeny > MAX_ZENY) @@ -1922,7 +1922,7 @@ int pc_count_all_items(dumb_ptr player, ItemNameId item_id) { int count = 0; - nullpo_ret(player); + nullpo_retz(player); for (IOff0 i : IOff0::iter()) { @@ -1935,7 +1935,7 @@ int pc_count_all_items(dumb_ptr player, ItemNameId item_id) int pc_remove_items(dumb_ptr player, ItemNameId item_id, int count) { - nullpo_ret(player); + nullpo_retz(player); for (IOff0 i : IOff0::iter()) { @@ -2034,7 +2034,7 @@ int pc_delitem(dumb_ptr sd, IOff0 n, int amount, int type) if (!sd->status.inventory[n].nameid || amount <= 0 || sd->status.inventory[n].amount < amount - || sd->inventory_data[n] == NULL) + || sd->inventory_data[n] == nullptr) return 1; sd->status.inventory[n].amount -= amount; @@ -2044,7 +2044,7 @@ int pc_delitem(dumb_ptr sd, IOff0 n, int amount, int type) if (bool(sd->status.inventory[n].equip)) pc_unequipitem(sd, n, CalcStatus::NOW); sd->status.inventory[n] = Item{}; - sd->inventory_data[n] = NULL; + sd->inventory_data[n] = nullptr; } if (!(type & 1)) clif_delitem(sd, n, amount); @@ -2079,7 +2079,7 @@ int pc_dropitem(dumb_ptr sd, IOff0 n, int amount) return 1; map_addflooritem(&sd->status.inventory[n], amount, sd->bl_m, sd->bl_x, sd->bl_y, - NULL, NULL, NULL); + nullptr, nullptr, nullptr); pc_delitem(sd, n, amount, 0); return 0; @@ -2134,8 +2134,8 @@ int pc_takeitem(dumb_ptr sd, dumb_ptr fitem) tick_t tick = gettick(); int can_take; - nullpo_ret(sd); - nullpo_ret(fitem); + nullpo_retz(sd); + nullpo_retz(fitem); /* Sometimes the owners reported to us are buggy: */ @@ -2191,12 +2191,12 @@ int pc_isUseitem(dumb_ptr sd, IOff0 n) struct item_data *item; ItemNameId nameid; - nullpo_ret(sd); + nullpo_retz(sd); item = sd->inventory_data[n]; nameid = sd->status.inventory[n].nameid; - if (item == NULL) + if (item == nullptr) return 0; if (itemdb_type(nameid) != ItemType::USE) return 0; @@ -2252,7 +2252,7 @@ int pc_setpos(dumb_ptr sd, { MapName mapname_; - nullpo_ret(sd); + nullpo_retz(sd); if (sd->trade_partner) // 取引を中断する trade_tradecancel(sd); @@ -2325,7 +2325,7 @@ int pc_setpos(dumb_ptr sd, while (bool(read_gatp(m, x, y) & MapCell::UNWALKABLE)); } - if (sd->mapname_ && sd->bl_prev != NULL) + if (sd->mapname_ && sd->bl_prev != nullptr) { clif_clearchar(sd, clrtype); map_delblock(sd); @@ -2356,7 +2356,7 @@ int pc_randomwarp(dumb_ptr sd, BeingRemoveWhy type) { int x, y, i = 0; - nullpo_ret(sd); + nullpo_retz(sd); map_local *m = sd->bl_m; @@ -2386,7 +2386,7 @@ int pc_can_reach(dumb_ptr sd, int x, int y) { struct walkpath_data wpd; - nullpo_ret(sd); + nullpo_retz(sd); if (sd->bl_x == x && sd->bl_y == y) // 同じマス return 1; @@ -2430,7 +2430,7 @@ void pc_walk(TimerData *, tick_t tick, BlockId id, unsigned char data) int x, y, dx, dy; sd = map_id2sd(id); - if (sd == NULL) + if (sd == nullptr) return; if (sd->walkpath.path_pos >= sd->walkpath.path_len @@ -2571,7 +2571,7 @@ int pc_walktoxy_sub(dumb_ptr sd) int pc_walktoxy(dumb_ptr sd, int x, int y) { - nullpo_ret(sd); + nullpo_retz(sd); sd->to_x = x; sd->to_y = y; @@ -2599,7 +2599,7 @@ int pc_walktoxy(dumb_ptr sd, int x, int y) */ int pc_stop_walking(dumb_ptr sd, int type) { - nullpo_ret(sd); + nullpo_retz(sd); sd->walktimer.cancel(); @@ -2638,7 +2638,7 @@ int pc_movepos(dumb_ptr sd, int dst_x, int dst_y) struct walkpath_data wpd; - nullpo_ret(sd); + nullpo_retz(sd); if (path_search(&wpd, sd->bl_m, sd->bl_x, sd->bl_y, dst_x, dst_y, 0)) return 1; @@ -2702,7 +2702,7 @@ int pc_movepos(dumb_ptr sd, int dst_x, int dst_y) */ int pc_checkskill(dumb_ptr sd, SkillID skill_id) { - if (sd == NULL) + if (sd == nullptr) return 0; return sd->status.skill[skill_id].lv; @@ -2738,14 +2738,14 @@ void pc_attack_timer(TimerData *, tick_t tick, BlockId id) int dist, range; sd = map_id2sd(id); - if (sd == NULL) + if (sd == nullptr) return; - if (sd->bl_prev == NULL) + if (sd->bl_prev == nullptr) return; bl = map_id2bl(sd->attacktarget); - if (bl == NULL || bl->bl_prev == NULL) + if (bl == nullptr || bl->bl_prev == nullptr) return; if (bl->bl_type == BL::PC && pc_isdead(bl->is_player())) @@ -2761,7 +2761,7 @@ void pc_attack_timer(TimerData *, tick_t tick, BlockId id) return; Option *opt = battle_get_option(bl); - if (opt != NULL && bool(*opt & Option::REAL_ANY_HIDE)) + if (opt != nullptr && bool(*opt & Option::REAL_ANY_HIDE)) return; if (!battle_config.skill_delay_attack_enable) @@ -2841,10 +2841,10 @@ int pc_attack(dumb_ptr sd, BlockId target_id, int type) { dumb_ptr bl; - nullpo_ret(sd); + nullpo_retz(sd); bl = map_id2bl(target_id); - if (bl == NULL) + if (bl == nullptr) return 1; if (bl->bl_type == BL::NPC) @@ -2882,7 +2882,7 @@ int pc_attack(dumb_ptr sd, BlockId target_id, int type) */ int pc_stopattack(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); sd->attacktimer.cancel(); @@ -2897,7 +2897,7 @@ int pc_checkbaselevelup(dumb_ptr sd) { int next = pc_nextbaseexp(sd); - nullpo_ret(sd); + nullpo_retz(sd); if (sd->status.base_exp >= next && next > 0) { @@ -2952,7 +2952,7 @@ int pc_checkjoblevelup(dumb_ptr sd) { int next = pc_nextjobexp(sd); - nullpo_ret(sd); + nullpo_retz(sd); if (sd->status.job_exp >= next && next > 0) { @@ -2987,9 +2987,9 @@ int pc_checkjoblevelup(dumb_ptr sd) int pc_gainexp_reason(dumb_ptr sd, int base_exp, int job_exp, PC_GAINEXP_REASON reason) { - nullpo_ret(sd); + nullpo_retz(sd); - if (sd->bl_prev == NULL || pc_isdead(sd)) + if (sd->bl_prev == nullptr || pc_isdead(sd)) return 0; earray reasons //= @@ -3065,7 +3065,7 @@ int pc_gainexp_reason(dumb_ptr sd, int base_exp, int job_exp, int pc_extract_healer_exp(dumb_ptr sd, int max) { int amount; - nullpo_ret(sd); + nullpo_retz(sd); amount = sd->heal_xp; if (max < amount) @@ -3081,7 +3081,7 @@ int pc_extract_healer_exp(dumb_ptr sd, int max) */ int pc_nextbaseexp(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); if (sd->status.base_level >= MAX_LEVEL || sd->status.base_level <= 0) return 0; @@ -3109,7 +3109,7 @@ int pc_nextjobexp(dumb_ptr sd) */ int pc_nextbaseafter(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); if (sd->status.base_level >= MAX_LEVEL || sd->status.base_level <= 0) return 0; @@ -3123,7 +3123,7 @@ int pc_nextbaseafter(dumb_ptr sd) */ int pc_nextjobafter(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); if (sd->status.job_level >= MAX_LEVEL || sd->status.job_level <= 0) return 0; @@ -3157,7 +3157,7 @@ int pc_statusup(dumb_ptr sd, SP type) { int need, val = 0; - nullpo_ret(sd); + nullpo_retz(sd); if (SP::STR <= type && type <= SP::LUK) val = sd->status.attrs[sp_to_attr(type)]; @@ -3193,7 +3193,7 @@ int pc_statusup(dumb_ptr sd, SP type) */ int pc_statusup2(dumb_ptr sd, SP type, int val) { - nullpo_ret(sd); + nullpo_retz(sd); if (type < SP::STR || type > SP::LUK) { @@ -3220,7 +3220,7 @@ int pc_statusup2(dumb_ptr sd, SP type, int val) */ int pc_skillup(dumb_ptr sd, SkillID skill_num) { - nullpo_ret(sd); + nullpo_retz(sd); if (sd->status.skill[skill_num].lv && sd->status.skill_point >= sd->status.skill[skill_num].lv @@ -3247,7 +3247,7 @@ int pc_skillup(dumb_ptr sd, SkillID skill_num) */ int pc_resetlvl(dumb_ptr sd, int type) { - nullpo_ret(sd); + nullpo_retz(sd); for (SkillID i : erange(SkillID(1), MAX_SKILL)) { @@ -3336,7 +3336,7 @@ int pc_resetlvl(dumb_ptr sd, int type) int pc_resetstate(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); sd->status.status_point = stat_p[sd->status.base_level - 1]; @@ -3362,7 +3362,7 @@ int pc_resetskill(dumb_ptr sd) { int skill; - nullpo_ret(sd); + nullpo_retz(sd); sd->status.skill_point += pc_calc_skillpoint(sd); @@ -3387,7 +3387,7 @@ int pc_resetskill(dumb_ptr sd) int pc_damage(dumb_ptr src, dumb_ptr sd, int damage) { - nullpo_ret(sd); + nullpo_retz(sd); // 既に死んでいたら無効 if (pc_isdead(sd)) @@ -3564,7 +3564,7 @@ int pc_readparam(dumb_ptr sd, SP type) { int val = 0; - nullpo_ret(sd); + nullpo_retz(sd); switch (type) { @@ -3640,7 +3640,7 @@ int pc_setparam(dumb_ptr sd, SP type, int val) { int i = 0, up_level = 50; - nullpo_ret(sd); + nullpo_retz(sd); switch (type) { @@ -3759,7 +3759,7 @@ int pc_setparam(dumb_ptr sd, SP type, int val) */ int pc_heal(dumb_ptr sd, int hp, int sp) { - nullpo_ret(sd); + nullpo_retz(sd); if (pc_checkoverhp(sd)) { @@ -3780,7 +3780,7 @@ int pc_heal(dumb_ptr sd, int hp, int sp) if (sd->status.hp <= 0) { sd->status.hp = 0; - pc_damage(NULL, sd, 1); + pc_damage(nullptr, sd, 1); hp = 0; } sd->status.sp += sp; @@ -3878,7 +3878,7 @@ int pc_itemheal(dumb_ptr sd, int hp, int sp) static int pc_itemheal_effect(dumb_ptr sd, int hp, int sp) { - nullpo_ret(sd); + nullpo_retz(sd); if (pc_checkoverhp(sd)) { @@ -3908,7 +3908,7 @@ int pc_itemheal_effect(dumb_ptr sd, int hp, int sp) if (sd->status.hp <= 0) { sd->status.hp = 0; - pc_damage(NULL, sd, 1); + pc_damage(nullptr, sd, 1); hp = 0; } sd->status.sp += sp; @@ -3928,7 +3928,7 @@ int pc_itemheal_effect(dumb_ptr sd, int hp, int sp) */ int pc_percentheal(dumb_ptr sd, int hp, int sp) { - nullpo_ret(sd); + nullpo_retz(sd); if (pc_checkoverhp(sd)) { @@ -3949,7 +3949,7 @@ int pc_percentheal(dumb_ptr sd, int hp, int sp) else if (hp <= -100) { sd->status.hp = 0; - pc_damage(NULL, sd, 1); + pc_damage(nullptr, sd, 1); } else { @@ -3959,7 +3959,7 @@ int pc_percentheal(dumb_ptr sd, int hp, int sp) if (sd->status.hp <= 0) { sd->status.hp = 0; - pc_damage(NULL, sd, 1); + pc_damage(nullptr, sd, 1); hp = 0; } } @@ -4002,7 +4002,7 @@ int pc_percentheal(dumb_ptr sd, int hp, int sp) */ int pc_changelook(dumb_ptr sd, LOOK type, int val) { - nullpo_ret(sd); + nullpo_retz(sd); switch (type) { @@ -4044,7 +4044,7 @@ int pc_changelook(dumb_ptr sd, LOOK type, int val) */ int pc_setoption(dumb_ptr sd, Option type) { - nullpo_ret(sd); + nullpo_retz(sd); sd->status.option = type; clif_changeoption(sd); @@ -4059,7 +4059,7 @@ int pc_setoption(dumb_ptr sd, Option type) */ int pc_readreg(dumb_ptr sd, SIR reg) { - nullpo_ret(sd); + nullpo_retz(sd); return sd->regm.get(reg); } @@ -4115,7 +4115,7 @@ int pc_readglobalreg(dumb_ptr sd, VarName reg) { int i; - nullpo_ret(sd); + nullpo_retz(sd); assert (sd->status.global_reg_num < GLOBAL_REG_NUM); for (i = 0; i < sd->status.global_reg_num; i++) @@ -4135,7 +4135,7 @@ int pc_setglobalreg(dumb_ptr sd, VarName reg, int val) { int i; - nullpo_ret(sd); + nullpo_retz(sd); //PC_DIE_COUNTERがスクリプトなどで変更された時の処理 if (reg == stringish("PC_DIE_COUNTER"_s) && sd->die_counter != val) @@ -4188,7 +4188,7 @@ int pc_readaccountreg(dumb_ptr sd, VarName reg) { int i; - nullpo_ret(sd); + nullpo_retz(sd); assert (sd->status.account_reg_num < ACCOUNT_REG_NUM); for (i = 0; i < sd->status.account_reg_num; i++) @@ -4208,7 +4208,7 @@ int pc_setaccountreg(dumb_ptr sd, VarName reg, int val) { int i; - nullpo_ret(sd); + nullpo_retz(sd); if (val == 0) { @@ -4257,7 +4257,7 @@ int pc_readaccountreg2(dumb_ptr sd, VarName reg) { int i; - nullpo_ret(sd); + nullpo_retz(sd); for (i = 0; i < sd->status.account_reg2_num; i++) { @@ -4325,7 +4325,7 @@ static void pc_eventtimer(TimerData *, tick_t, BlockId id, NpcEvent data) { dumb_ptr sd = map_id2sd(id); - assert (sd != NULL); + assert (sd != nullptr); npc_event(sd, data, 0); } @@ -4338,7 +4338,7 @@ int pc_addeventtimer(dumb_ptr sd, interval_t tick, NpcEvent na { int i; - nullpo_ret(sd); + nullpo_retz(sd); for (i = 0; i < MAX_EVENTTIMER; i++) if (!sd->eventtimer[i]) @@ -4361,7 +4361,7 @@ int pc_addeventtimer(dumb_ptr sd, interval_t tick, NpcEvent na */ int pc_cleareventtimer(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); for (int i = 0; i < MAX_EVENTTIMER; i++) sd->eventtimer[i].cancel(); @@ -4398,7 +4398,7 @@ int pc_equipitem(dumb_ptr sd, IOff0 n, EPOS) struct item_data *id; //ソス]ソスソスソスソスソス{ソスqソスフ場合ソスフ鯉ソスソスフ職ソスニゑソスソスZソスoソスソスソスソス - nullpo_ret(sd); + nullpo_retz(sd); if (!n.ok()) { @@ -4540,7 +4540,7 @@ int pc_equipitem(dumb_ptr sd, IOff0 n, EPOS) */ int pc_unequipitem(dumb_ptr sd, IOff0 n, CalcStatus type) { - nullpo_ret(sd); + nullpo_retz(sd); // -- moonsoul (if player is berserk then cannot unequip) // @@ -4629,7 +4629,7 @@ int pc_checkitem(dumb_ptr sd) { int calc_flag = 0; - nullpo_ret(sd); + nullpo_retz(sd); IOff0 j = IOff0::from(0); for (IOff0 i : IOff0::iter()) @@ -4646,7 +4646,7 @@ int pc_checkitem(dumb_ptr sd) for (IOff0 k = j; k != IOff0::from(MAX_INVENTORY); ++k) { sd->status.inventory[k] = Item{}; - sd->inventory_data[k] = NULL; + sd->inventory_data[k] = nullptr; } for (IOff0 i : IOff0::iter()) @@ -4669,7 +4669,7 @@ int pc_checkitem(dumb_ptr sd) int pc_checkoverhp(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); if (sd->status.hp == sd->status.max_hp) return 1; @@ -4685,7 +4685,7 @@ int pc_checkoverhp(dumb_ptr sd) int pc_checkoversp(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); if (sd->status.sp == sd->status.max_sp) return 1; @@ -4722,9 +4722,9 @@ void pc_calc_pvprank_sub(dumb_ptr bl, dumb_ptr sd2 */ int pc_calc_pvprank(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); map_local *m = sd->bl_m; - nullpo_ret(m); + nullpo_retz(m); if (!(m->flag.get(MapFlag::PVP))) return 0; @@ -4743,12 +4743,12 @@ int pc_calc_pvprank(dumb_ptr sd) */ void pc_calc_pvprank_timer(TimerData *, tick_t, BlockId id) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; if (battle_config.pk_mode) // disable pvp ranking if pk_mode on [Valaris] return; sd = map_id2sd(id); - if (sd == NULL) + if (sd == nullptr) return; sd->pvp_timer.cancel(); if (pc_calc_pvprank(sd) > 0) @@ -4764,7 +4764,7 @@ void pc_calc_pvprank_timer(TimerData *, tick_t, BlockId id) static CharId pc_ismarried(dumb_ptr sd) { - if (sd == NULL) + if (sd == nullptr) return CharId(); if (sd->status.partner_id) return sd->status.partner_id; @@ -4778,7 +4778,7 @@ CharId pc_ismarried(dumb_ptr sd) */ int pc_marriage(dumb_ptr sd, dumb_ptr dstsd) { - if (sd == NULL || dstsd == NULL || sd->status.partner_id + if (sd == nullptr || dstsd == nullptr || sd->status.partner_id || dstsd->status.partner_id) return -1; sd->status.partner_id = dstsd->status_key.char_id; @@ -4792,13 +4792,13 @@ int pc_marriage(dumb_ptr sd, dumb_ptr dstsd) */ int pc_divorce(dumb_ptr sd) { - dumb_ptr p_sd = NULL; - if (sd == NULL || !pc_ismarried(sd)) + dumb_ptr p_sd = nullptr; + if (sd == nullptr || !pc_ismarried(sd)) return -1; // If both are on map server we don't need to bother the char server if ((p_sd = - map_nick2sd(map_charid2nick(sd->status.partner_id))) != NULL) + map_nick2sd(map_charid2nick(sd->status.partner_id))) != nullptr) { if (p_sd->status.partner_id != sd->status_key.char_id || sd->status.partner_id != p_sd->status_key.char_id) @@ -4828,17 +4828,17 @@ int pc_divorce(dumb_ptr sd) */ dumb_ptr pc_get_partner(dumb_ptr sd) { - dumb_ptr p_sd = NULL; - if (sd == NULL || !pc_ismarried(sd)) - return NULL; + dumb_ptr p_sd = nullptr; + if (sd == nullptr || !pc_ismarried(sd)) + return nullptr; CharName nick = map_charid2nick(sd->status.partner_id); if (!nick.to__actual()) - return NULL; + return nullptr; - if ((p_sd = map_nick2sd(nick)) == NULL) - return NULL; + if ((p_sd = map_nick2sd(nick)) == nullptr) + return nullptr; return p_sd; } @@ -4889,7 +4889,7 @@ int pc_natural_heal_hp(dumb_ptr sd) int bhp; int bonus; - nullpo_ret(sd); + nullpo_retz(sd); if (pc_checkoverhp(sd)) { @@ -4961,7 +4961,7 @@ int pc_natural_heal_sp(dumb_ptr sd) int bsp; int bonus; - nullpo_ret(sd); + nullpo_retz(sd); if (pc_checkoversp(sd)) { diff --git a/src/map/script.cpp b/src/map/script.cpp index 73ddea7..b9d90ea 100644 --- a/src/map/script.cpp +++ b/src/map/script.cpp @@ -986,7 +986,7 @@ void get_val(dumb_ptr sd, struct script_data *data) { if (data->type == ByteCode::PARAM_) { - if (sd == NULL) + if (sd == nullptr) PRINTF("get_val error param SP::%d\n"_fmt, data->u.reg.sp()); data->type = ByteCode::INT; if (sd) @@ -1001,7 +1001,7 @@ void get_val(dumb_ptr sd, struct script_data *data) if (prefix != '$') { - if (sd == NULL) + if (sd == nullptr) PRINTF("get_val error name?:%s\n"_fmt, name); } if (postfix == '$') @@ -1664,7 +1664,7 @@ void builtin_percentheal(ScriptState *st) static void builtin_input(ScriptState *st) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; script_data& scrd = AARGO2(2); ByteCode type = scrd.type; assert (type == ByteCode::VARIABLE); @@ -1741,7 +1741,7 @@ void builtin_if (ScriptState *st) static void builtin_set(ScriptState *st) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; SIR reg = AARGO2(2).u.reg; if (AARGO2(2).type == ByteCode::PARAM_) { @@ -1782,7 +1782,7 @@ void builtin_set(ScriptState *st) static void builtin_setarray(ScriptState *st) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; assert (AARGO2(2).type == ByteCode::VARIABLE); SIR reg = AARGO2(2).u.reg; ZString name = variable_names.outtern(reg.base()); @@ -1813,7 +1813,7 @@ void builtin_setarray(ScriptState *st) static void builtin_cleararray(ScriptState *st) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; assert (AARGO2(2).type == ByteCode::VARIABLE); SIR reg = AARGO2(2).u.reg; ZString name = variable_names.outtern(reg.base()); @@ -1939,7 +1939,7 @@ void builtin_countitem(ScriptState *st) { ZString name = ZString(conv_str(st, data)); struct item_data *item_data = itemdb_searchname(name); - if (item_data != NULL) + if (item_data != nullptr) nameid = item_data->nameid; } else @@ -2027,7 +2027,7 @@ void builtin_getitem(ScriptState *st) { ZString name = ZString(conv_str(st, data)); struct item_data *item_data = itemdb_searchname(name); - if (item_data != NULL) + if (item_data != nullptr) nameid = item_data->nameid; } else @@ -2045,7 +2045,7 @@ void builtin_getitem(ScriptState *st) item_tmp.nameid = nameid; if (HARGO2(5)) //アイテムを指定したIDに渡す sd = map_id2sd(wrap(conv_num(st, &AARGO2(5)))); - if (sd == NULL) //アイテムを渡す相手がいなかったらお帰り + if (sd == nullptr) //アイテムを渡す相手がいなかったらお帰り return; PickupFail flag; if ((flag = pc_additem(sd, &item_tmp, amount)) != PickupFail::OKAY) @@ -2053,7 +2053,7 @@ void builtin_getitem(ScriptState *st) clif_additem(sd, IOff0::from(0), 0, flag); map_addflooritem(&item_tmp, amount, sd->bl_m, sd->bl_x, sd->bl_y, - NULL, NULL, NULL); + nullptr, nullptr, nullptr); } } @@ -2102,7 +2102,7 @@ void builtin_makeitem(ScriptState *st) Item item_tmp {}; item_tmp.nameid = nameid; - map_addflooritem(&item_tmp, amount, m, x, y, NULL, NULL, NULL); + map_addflooritem(&item_tmp, amount, m, x, y, nullptr, nullptr, nullptr); } } @@ -2177,7 +2177,7 @@ void builtin_readparam(ScriptState *st) else sd = script_rid2sd(st); - if (sd == NULL) + if (sd == nullptr) { push_int(st->stack, ByteCode::INT, -1); return; @@ -2202,7 +2202,7 @@ void builtin_getcharid(ScriptState *st) sd = map_nick2sd(stringish(ZString(conv_str(st, &AARGO2(3))))); else sd = script_rid2sd(st); - if (sd == NULL) + if (sd == nullptr) { push_int(st->stack, ByteCode::INT, -1); return; @@ -2295,9 +2295,9 @@ void builtin_getequipid(ScriptState *st) struct item_data *item; sd = script_rid2sd(st); - if (sd == NULL) + if (sd == nullptr) { - PRINTF("getequipid: sd == NULL\n"_fmt); + PRINTF("getequipid: sd == nullptr\n"_fmt); return; } num = conv_num(st, &AARGO2(2)); @@ -3040,7 +3040,7 @@ void builtin_getareadropitem_sub_anddelete(dumb_ptr bl, ItemNameId i if (drop->item_data.nameid == item) { (*amount) += drop->item_data.amount; - clif_clearflooritem(drop, 0); + clif_clearflooritem(drop, nullptr); map_delobject(drop->bl_id, drop->bl_type); } } @@ -3200,7 +3200,7 @@ void builtin_resetstatus(ScriptState *st) static void builtin_changesex(ScriptState *st) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; sd = script_rid2sd(st); chrif_char_ask_name(AccountId(), sd->status_key.name, 5, HumanTimeDiff()); // type: 5 - changesex @@ -3215,7 +3215,7 @@ static void builtin_attachrid(ScriptState *st) { st->rid = wrap(conv_num(st, &AARGO2(2))); - push_int(st->stack, ByteCode::INT, (map_id2sd(st->rid) != NULL)); + push_int(st->stack, ByteCode::INT, (map_id2sd(st->rid) != nullptr)); } /*========================================== @@ -3236,7 +3236,7 @@ static void builtin_isloggedin(ScriptState *st) { push_int(st->stack, ByteCode::INT, - map_id2sd(wrap(conv_num(st, &AARGO2(2)))) != NULL); + map_id2sd(wrap(conv_num(st, &AARGO2(2)))) != nullptr); } static @@ -3436,7 +3436,7 @@ void builtin_marriage(ScriptState *st) dumb_ptr sd = script_rid2sd(st); dumb_ptr p_sd = map_nick2sd(partner); - if (sd == NULL || p_sd == NULL || pc_marriage(sd, p_sd) < 0) + if (sd == nullptr || p_sd == nullptr || pc_marriage(sd, p_sd) < 0) { push_int(st->stack, ByteCode::INT, 0); return; @@ -3453,7 +3453,7 @@ void builtin_divorce(ScriptState *st) sd->npc_flags.divorce = 1; - if (sd == NULL || pc_divorce(sd) < 0) + if (sd == nullptr || pc_divorce(sd) < 0) { push_int(st->stack, ByteCode::INT, 0); return; @@ -3643,7 +3643,7 @@ void builtin_misceffect(ScriptState *st) int type; BlockId id; CharName name; - dumb_ptr bl = NULL; + dumb_ptr bl = nullptr; type = conv_num(st, &AARGO2(2)); @@ -3690,7 +3690,7 @@ void builtin_specialeffect(ScriptState *st) { dumb_ptr bl = map_id2bl(st->oid); - if (bl == NULL) + if (bl == nullptr) return; clif_specialeffect(bl, @@ -3705,7 +3705,7 @@ void builtin_specialeffect2(ScriptState *st) { dumb_ptr sd = script_rid2sd(st); - if (sd == NULL) + if (sd == nullptr) return; clif_specialeffect(sd, @@ -3725,7 +3725,7 @@ void builtin_nude(ScriptState *st) { dumb_ptr sd = script_rid2sd(st); - if (sd == NULL) + if (sd == nullptr) return; for (EQUIP i : EQUIPs) @@ -3747,7 +3747,7 @@ static void builtin_unequipbyid(ScriptState *st) { dumb_ptr sd = script_rid2sd(st); - if (sd == NULL) + if (sd == nullptr) return; EQUIP slot_id = EQUIP(conv_num(st, &AARGO2(2))); @@ -3791,7 +3791,7 @@ static void builtin_npcwarp(ScriptState *st) { int x, y; - dumb_ptr nd = NULL; + dumb_ptr nd = nullptr; x = conv_num(st, &AARGO2(2)); y = conv_num(st, &AARGO2(3)); @@ -3833,7 +3833,7 @@ void builtin_message(ScriptState *st) ZString msg = ZString(conv_str(st, &AARGO2(3))); dumb_ptr pl_sd = map_nick2sd(player); - if (pl_sd == NULL) + if (pl_sd == nullptr) return; clif_displaymessage(pl_sd->sess, msg); @@ -4773,7 +4773,7 @@ int run_script_l(ScriptPointer sp, BlockId rid, BlockId oid, dumb_ptr sd = map_id2sd(rid); const ScriptBuffer *rootscript = sp.code; int i; - if (sp.code == NULL || sp.pos >> 24) + if (sp.code == nullptr || sp.pos >> 24) return -1; if (sd && !sd->npc_stackbuf.empty() && sd->npc_scriptroot == rootscript) diff --git a/src/map/skill-pools.cpp b/src/map/skill-pools.cpp index bab89a1..3e9639a 100644 --- a/src/map/skill-pools.cpp +++ b/src/map/skill-pools.cpp @@ -62,7 +62,7 @@ int skill_pool(dumb_ptr sd, SkillID *skills) int skill_pool_size(dumb_ptr sd) { - return skill_pool(sd, NULL); + return skill_pool(sd, nullptr); } int skill_pool_max(dumb_ptr sd) diff --git a/src/map/skill.cpp b/src/map/skill.cpp index ad8e2e7..e8ad878 100644 --- a/src/map/skill.cpp +++ b/src/map/skill.cpp @@ -170,16 +170,16 @@ int skill_get_castnodex(SkillID id, int lv) int skill_additional_effect(dumb_ptr src, dumb_ptr bl, SkillID skillid, int skilllv) { - dumb_ptr sd = NULL; - dumb_ptr md = NULL; + dumb_ptr sd = nullptr; + dumb_ptr md = nullptr; int luk; int sc_def_mdef, sc_def_vit, sc_def_int, sc_def_luk; int sc_def_phys_shield_spell; - nullpo_ret(src); - nullpo_ret(bl); + nullpo_retz(src); + nullpo_retz(bl); if (skilllv < 0) return 0; @@ -257,16 +257,16 @@ int skill_attack(BF attack_type, dumb_ptr src, eptr sc_data; int type, lv, damage; - nullpo_ret(src); - nullpo_ret(dsrc); - nullpo_ret(bl); + nullpo_retz(src); + nullpo_retz(dsrc); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); //何もしない判定ここから if (dsrc->bl_m != bl->bl_m) //対象が同じマップにいなければ何もしない return 0; - if (src->bl_prev == NULL || dsrc->bl_prev == NULL || bl->bl_prev == NULL) //prevよくわからない※ + if (src->bl_prev == nullptr || dsrc->bl_prev == nullptr || bl->bl_prev == nullptr) //prevよくわからない※ return 0; if (src->bl_type == BL::PC && pc_isdead(src->is_player())) //術者?がPCですでに死んでいたら何もしない return 0; @@ -305,7 +305,7 @@ int skill_attack(BF attack_type, dumb_ptr src, battle_damage(src, bl, damage, 0); /* ダメージがあるなら追加効果判定 */ - if (bl->bl_prev != NULL) + if (bl->bl_prev != nullptr) { dumb_ptr sd = bl->is_player(); if (bl->bl_type != BL::PC || !pc_isdead(sd)) @@ -403,7 +403,7 @@ int skill_castend_damage_id(dumb_ptr src, dumb_ptr bl, SkillID skillid, int skilllv, tick_t tick, BCT flag) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; nullpo_retr(1, src); nullpo_retr(1, bl); @@ -413,7 +413,7 @@ int skill_castend_damage_id(dumb_ptr src, dumb_ptr bl, if (sd && pc_isdead(sd)) return 1; - if (bl->bl_prev == NULL) + if (bl->bl_prev == nullptr) return 1; if (bl->bl_type == BL::PC && pc_isdead(bl->is_player())) return 1; @@ -498,10 +498,10 @@ int skill_castend_damage_id(dumb_ptr src, dumb_ptr bl, int skill_castend_nodamage_id(dumb_ptr src, dumb_ptr bl, SkillID skillid, int skilllv) { - dumb_ptr sd = NULL; - dumb_ptr dstsd = NULL; - dumb_ptr md = NULL; - dumb_ptr dstmd = NULL; + dumb_ptr sd = nullptr; + dumb_ptr dstsd = nullptr; + dumb_ptr md = nullptr; + dumb_ptr dstmd = nullptr; int sc_def_vit, sc_def_mdef, strip_fix; nullpo_retr(1, src); @@ -536,7 +536,7 @@ int skill_castend_nodamage_id(dumb_ptr src, dumb_ptr bl, if (strip_fix < 0) strip_fix = 0; - if (bl == NULL || bl->bl_prev == NULL) + if (bl == nullptr || bl->bl_prev == nullptr) return 1; if (sd && pc_isdead(sd)) return 1; @@ -651,7 +651,7 @@ interval_t skill_delayfix(dumb_ptr bl, interval_t interval) */ int skill_castcancel(dumb_ptr bl, int) { - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type == BL::PC) { @@ -688,7 +688,7 @@ int skill_status_change_active(dumb_ptr bl, StatusChange type) { eptr sc_data; - nullpo_ret(bl); + nullpo_retz(bl); if (bl->bl_type != BL::PC && bl->bl_type != BL::MOB) { if (battle_config.error_log) @@ -806,7 +806,7 @@ int skill_update_heal_animation(dumb_ptr sd) { const Opt2 mask = Opt2::_heal; - nullpo_ret(sd); + nullpo_retz(sd); bool wis_active = bool(sd->opt2 & mask); bool is_active = sd->quick_regeneration_hp.amount > 0; @@ -828,11 +828,11 @@ int skill_update_heal_animation(dumb_ptr sd) void skill_status_change_timer(TimerData *tid, tick_t tick, BlockId id, StatusChange type) { dumb_ptr bl; - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; eptr sc_data; //short *sc_count; //使ってない? - if ((bl = map_id2bl(id)) == NULL) + if ((bl = map_id2bl(id)) == nullptr) return; //該当IDがすでに消滅しているというのはいかにもありそうなのでスルーしてみる sc_data = battle_get_sc_data(bl); @@ -929,7 +929,7 @@ int skill_status_effect(dumb_ptr bl, StatusChange type, int val1, interval_t tick, BlockId spell_invocation) { - dumb_ptr sd = NULL; + dumb_ptr sd = nullptr; eptr sc_data; short *sc_count; Option *option; @@ -940,20 +940,20 @@ int skill_status_effect(dumb_ptr bl, StatusChange type, SP updateflag = SP::ZERO; int scdef = 0; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (not sc_data) return 0; sc_count = battle_get_sc_count(bl); - nullpo_ret(sc_count); + nullpo_retz(sc_count); option = battle_get_option(bl); - nullpo_ret(option); + nullpo_retz(option); opt1 = battle_get_opt1(bl); - nullpo_ret(opt1); + nullpo_retz(opt1); opt2 = battle_get_opt2(bl); - nullpo_ret(opt2); + nullpo_retz(opt2); opt3 = battle_get_opt3(bl); - nullpo_ret(opt3); + nullpo_retz(opt3); switch (type) { @@ -1111,20 +1111,20 @@ int skill_status_change_clear(dumb_ptr bl, int type) Opt2 *opt2; Opt3 *opt3; - nullpo_ret(bl); + nullpo_retz(bl); sc_data = battle_get_sc_data(bl); if (not sc_data) return 0; sc_count = battle_get_sc_count(bl); - nullpo_ret(sc_count); + nullpo_retz(sc_count); option = battle_get_option(bl); - nullpo_ret(option); + nullpo_retz(option); opt1 = battle_get_opt1(bl); - nullpo_ret(opt1); + nullpo_retz(opt1); opt2 = battle_get_opt2(bl); - nullpo_ret(opt2); + nullpo_retz(opt2); opt3 = battle_get_opt3(bl); - nullpo_ret(opt3); + nullpo_retz(opt3); if (*sc_count == 0) return 0; diff --git a/src/map/storage.cpp b/src/map/storage.cpp index 88db8c4..b063250 100644 --- a/src/map/storage.cpp +++ b/src/map/storage.cpp @@ -47,7 +47,7 @@ void do_final_storage(void) Storage *account2storage(AccountId account_id) { Storage *stor = storage_db.search(account_id); - if (stor == NULL) + if (stor == nullptr) { stor = storage_db.init(account_id); stor->account_id = account_id; @@ -73,13 +73,13 @@ void storage_delete(AccountId account_id) */ int storage_storageopen(dumb_ptr sd) { - nullpo_ret(sd); + nullpo_retz(sd); if (sd->state.storage_open) return 1; //Already open? Storage *stor = storage_db.search(sd->status_key.account_id); - if (stor == NULL) + if (stor == nullptr) { //Request storage. intif_request_storage(sd->status_key.account_id); return 1; @@ -177,9 +177,9 @@ int storage_storageadd(dumb_ptr sd, IOff0 index, int amount) { Storage *stor; - nullpo_ret(sd); + nullpo_retz(sd); stor = account2storage2(sd->status_key.account_id); - nullpo_ret(stor); + nullpo_retz(stor); if ((stor->storage_amount > MAX_STORAGE) || !stor->storage_status) return 0; // storage full / storage closed @@ -213,9 +213,9 @@ int storage_storageget(dumb_ptr sd, SOff0 index, int amount) Storage *stor; PickupFail flag; - nullpo_ret(sd); + nullpo_retz(sd); stor = account2storage2(sd->status_key.account_id); - nullpo_ret(stor); + nullpo_retz(stor); if (!index.ok()) return 0; @@ -242,9 +242,9 @@ int storage_storageclose(dumb_ptr sd) { Storage *stor; - nullpo_ret(sd); + nullpo_retz(sd); stor = account2storage2(sd->status_key.account_id); - nullpo_ret(stor); + nullpo_retz(stor); clif_storageclose(sd); if (stor->storage_status) @@ -274,7 +274,7 @@ int storage_storage_quit(dumb_ptr sd) { Storage *stor; - nullpo_ret(sd); + nullpo_retz(sd); stor = account2storage2(sd->status_key.account_id); if (stor) diff --git a/src/map/trade.cpp b/src/map/trade.cpp index 7a4913a..c21fd27 100644 --- a/src/map/trade.cpp +++ b/src/map/trade.cpp @@ -44,7 +44,7 @@ void trade_traderequest(dumb_ptr sd, BlockId target_id) nullpo_retv(sd); - if ((target_sd = map_id2sd(target_id)) != NULL) + if ((target_sd = map_id2sd(target_id)) != nullptr) { if (!battle_config.invite_request_check) { @@ -97,7 +97,7 @@ void trade_tradeack(dumb_ptr sd, int type) dumb_ptr target_sd; nullpo_retv(sd); - if ((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != NULL) + if ((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != nullptr) { clif_tradestart(target_sd, type); clif_tradestart(sd, type); @@ -134,7 +134,7 @@ void trade_tradeadditem(dumb_ptr sd, IOff2 index, int amount) nullpo_retv(sd); - if (((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != NULL) + if (((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != nullptr) && (sd->deal_locked < 1)) { if (!index.ok()) @@ -153,7 +153,7 @@ void trade_tradeadditem(dumb_ptr sd, IOff2 index, int amount) for (IOff0 i : IOff0::iter()) { if (!target_sd->status.inventory[i].nameid - && target_sd->inventory_data[i] == NULL) + && target_sd->inventory_data[i] == nullptr) free_++; } for (trade_i = 0; trade_i < TRADE_MAX; trade_i++) @@ -169,7 +169,7 @@ void trade_tradeadditem(dumb_ptr sd, IOff2 index, int amount) { if (target_sd->status.inventory[i].nameid == sd->status.inventory[index.unshift()].nameid - && target_sd->inventory_data[i] != NULL) + && target_sd->inventory_data[i] != nullptr) { id = target_sd->inventory_data[i]; if (id->type != ItemType::WEAPON @@ -225,7 +225,7 @@ void trade_tradeadditem(dumb_ptr sd, IOff2 index, int amount) if (target_sd->status.inventory[i].nameid == sd->status. inventory[sd->deal_item_index[trade_i].unshift()].nameid - && target_sd->inventory_data[i] != NULL) + && target_sd->inventory_data[i] != nullptr) { id = target_sd->inventory_data[i]; if (id->type != ItemType::WEAPON @@ -272,7 +272,7 @@ void trade_tradeok(dumb_ptr sd) } - if ((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != NULL) + if ((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != nullptr) { sd->deal_locked = 1; clif_tradeitemok(sd, IOff2::from(0), 0, 0); @@ -292,7 +292,7 @@ void trade_tradecancel(dumb_ptr sd) nullpo_retv(sd); - if ((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != NULL) + if ((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != nullptr) { for (trade_i = 0; trade_i < TRADE_MAX; trade_i++) { //give items back (only virtual) @@ -347,7 +347,7 @@ void trade_tradecommit(dumb_ptr sd) nullpo_retv(sd); - if ((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != NULL) + if ((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != nullptr) { MAP_LOG_PC(sd, " TRADECOMMIT WITH %d GIVE %d GET %d"_fmt, target_sd->status_key.char_id, sd->deal_zeny, @@ -451,7 +451,7 @@ void trade_verifyzeny(dumb_ptr sd) nullpo_retv(sd); - if ((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != NULL) + if ((target_sd = map_id2sd(account_to_block(sd->trade_partner))) != nullptr) { if (sd->deal_zeny > sd->status.zeny) { diff --git a/src/mmo/core.cpp b/src/mmo/core.cpp index 21aa5f7..431c0db 100644 --- a/src/mmo/core.cpp +++ b/src/mmo/core.cpp @@ -73,7 +73,7 @@ bool runflag = true; static void chld_proc(int) { - wait(NULL); + wait(nullptr); } static void sig_proc(int) @@ -122,6 +122,7 @@ int main(int argc, char **argv) // Signal to create coredumps by system when necessary (crash) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wold-style-cast" +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" compat_signal(SIGSEGV, SIG_DFL); compat_signal(SIGBUS, SIG_DFL); compat_signal(SIGTRAP, SIG_DFL); diff --git a/src/mmo/extract_test.cpp b/src/mmo/extract_test.cpp index 126cb14..18d7771 100644 --- a/src/mmo/extract_test.cpp +++ b/src/mmo/extract_test.cpp @@ -26,6 +26,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + TEST(extract, record_int) { int x, y, z; diff --git a/src/mmo/human_time_diff_test.cpp b/src/mmo/human_time_diff_test.cpp index d036537..3ace280 100644 --- a/src/mmo/human_time_diff_test.cpp +++ b/src/mmo/human_time_diff_test.cpp @@ -22,6 +22,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + // a sequence of [-+]?[0-9]+([ay]|m|[jd]|h|mn|s) TEST(humantimediff, single) diff --git a/src/mmo/utils.cpp b/src/mmo/utils.cpp index 30f60b1..2199c33 100644 --- a/src/mmo/utils.cpp +++ b/src/mmo/utils.cpp @@ -96,7 +96,7 @@ void stamp_time(timestamp_seconds_buffer& out, const TimeT *t) void stamp_time(timestamp_milliseconds_buffer& out) { struct timeval tv; - gettimeofday(&tv, NULL); + gettimeofday(&tv, nullptr); struct tm when = TimeT(tv.tv_sec); char buf[24]; strftime(buf, 20, "%Y-%m-%d %H:%M:%S", &when); diff --git a/src/mmo/utils.hpp b/src/mmo/utils.hpp index ddfbca6..f8e84fe 100644 --- a/src/mmo/utils.hpp +++ b/src/mmo/utils.hpp @@ -84,7 +84,7 @@ struct TimeT : Comparable TimeT now() { // poisoned, but this is still in header-land - return time(NULL); + return time(nullptr); } bool error() const @@ -103,12 +103,6 @@ long long convert_for_printf(TimeT t) return t.value; } -inline -long long& convert_for_scanf(TimeT& t) -{ - return t.value; -} - // 2038 problem inline __attribute__((warn_unused_result)) bool native_to_network(Little32 *net, TimeT nat) diff --git a/src/monitor/main.cpp b/src/monitor/main.cpp index f3db1b6..da03f60 100644 --- a/src/monitor/main.cpp +++ b/src/monitor/main.cpp @@ -129,7 +129,7 @@ bool read_config(ZString filename) static pid_t start_process(ZString exec) { - const char *args[2] = {exec.c_str(), NULL}; + const char *args[2] = {exec.c_str(), nullptr}; pid_t pid = fork(); if (pid == -1) { @@ -161,6 +161,7 @@ void stop_process(int sig) kill(pid_char, sig); #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wold-style-cast" +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" signal(sig, SIG_DFL); #pragma GCC diagnostic pop raise(sig); @@ -236,7 +237,7 @@ int main(int argc, char *argv[]) FPRINTF(stderr, "[%s] forked map server: %lu\n"_fmt, timestamp, static_cast(pid_map)); } - pid_t dead = wait(NULL); + pid_t dead = wait(nullptr); if (dead == -1) { perror("Failed to wait for child"); diff --git a/src/net/ip_test.cpp b/src/net/ip_test.cpp index 3c4d2ef..9058804 100644 --- a/src/net/ip_test.cpp +++ b/src/net/ip_test.cpp @@ -27,6 +27,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + #define CB(X) (std::integral_constant::value) TEST(ip4addr, cmp) { diff --git a/src/net/socket.cpp b/src/net/socket.cpp index 54f9822..6e523de 100644 --- a/src/net/socket.cpp +++ b/src/net/socket.cpp @@ -431,7 +431,7 @@ void do_sendrecv(interval_t next_ms) timeout.tv_sec = next_s.count(); timeout.tv_usec = next_us.count(); } - if (io::FD_Set::select(fd_max, &rfd, &wfd, NULL, &timeout) <= 0) + if (io::FD_Set::select(fd_max, &rfd, &wfd, nullptr, &timeout) <= 0) return; for (io::FD i : iter_fds()) { diff --git a/src/net/timer.cpp b/src/net/timer.cpp index a85b8be..64077c6 100644 --- a/src/net/timer.cpp +++ b/src/net/timer.cpp @@ -74,7 +74,7 @@ tick_t milli_clock::now(void) noexcept struct timeval tval; // BUG: This will cause strange behavior if the system clock is changed! // it should be reimplemented in terms of clock_gettime(CLOCK_MONOTONIC, ) - gettimeofday(&tval, NULL); + gettimeofday(&tval, nullptr); return gettick_cache = tick_t(std::chrono::seconds(tval.tv_sec) + std::chrono::duration_cast( std::chrono::microseconds(tval.tv_usec))); diff --git a/src/poison.hpp b/src/poison.hpp index 53694c4..2b53e15 100644 --- a/src/poison.hpp +++ b/src/poison.hpp @@ -76,13 +76,12 @@ # pragma GCC poison open_memstream # pragma GCC poison open_wmemstream -// *scanf %ms is done very carefully. -//#pragma GCC poison scanf -//#pragma GCC poison fscanf -//#pragma GCC poison sscanf -//#pragma GCC poison vscanf -//#pragma GCC poison vsscanf -//#pragma GCC poison vfscanf +# pragma GCC poison scanf +# pragma GCC poison fscanf +# pragma GCC poison sscanf +# pragma GCC poison vscanf +# pragma GCC poison vsscanf +# pragma GCC poison vfscanf # pragma GCC poison getcwd # pragma GCC poison get_current_dir_name diff --git a/src/range/slice_test.cpp b/src/range/slice_test.cpp index f59bf84..a58cc78 100644 --- a/src/range/slice_test.cpp +++ b/src/range/slice_test.cpp @@ -22,6 +22,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + TEST(slice, slice) { int init[] = {1, 2, 3, 4, 5}; diff --git a/src/sexpr/lexer_test.cpp b/src/sexpr/lexer_test.cpp index d356f49..936e92a 100644 --- a/src/sexpr/lexer_test.cpp +++ b/src/sexpr/lexer_test.cpp @@ -24,6 +24,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + static io::FD string_pipe(ZString sz) { diff --git a/src/sexpr/parser_test.cpp b/src/sexpr/parser_test.cpp index 0be333b..e37b78f 100644 --- a/src/sexpr/parser_test.cpp +++ b/src/sexpr/parser_test.cpp @@ -22,6 +22,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + static io::FD string_pipe(ZString sz) { diff --git a/src/strings/astring.cpp b/src/strings/astring.cpp index 15d172b..9811f17 100644 --- a/src/strings/astring.cpp +++ b/src/strings/astring.cpp @@ -219,27 +219,4 @@ namespace strings out = AString(buffer, buffer + len); return len; } - - AStringConverter::AStringConverter(AString& s) - : out(s), mid(nullptr) - {} - - AStringConverter::~AStringConverter() - { - if (mid) - { - out = ZString(really_construct_from_a_pointer, mid, nullptr); - free(mid); - } - } - - char **AStringConverter::operator &() - { - return ∣ - } - - AStringConverter convert_for_scanf(AString& s) - { - return AStringConverter(s); - } } // namespace strings diff --git a/src/strings/astring.hpp b/src/strings/astring.hpp index e936c4c..9e9adc2 100644 --- a/src/strings/astring.hpp +++ b/src/strings/astring.hpp @@ -76,21 +76,6 @@ namespace strings __attribute__((format(printf, 2, 0))) int do_vprint(AString& out, const char *fmt, va_list ap); - - class AStringConverter - { - AString& out; - char *mid; - public: - AStringConverter(AString& s); - // this usually gets elided, but multi dtor calls are fine anyway - AStringConverter(const AStringConverter&) = default; - AStringConverter& operator = (const AStringConverter&) = delete; - ~AStringConverter(); - char **operator &(); - }; - - AStringConverter convert_for_scanf(AString& s); } // namespace strings # include "astring.tcc" diff --git a/src/strings/base_test.cpp b/src/strings/base_test.cpp index c630b5c..cab47be 100644 --- a/src/strings/base_test.cpp +++ b/src/strings/base_test.cpp @@ -27,6 +27,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + using namespace strings; struct _test : VString<1> {}; diff --git a/src/strings/literal.cpp b/src/strings/literal.cpp index 65c00f6..506b79b 100644 --- a/src/strings/literal.cpp +++ b/src/strings/literal.cpp @@ -49,10 +49,4 @@ namespace strings { return zs.c_str(); } - - __attribute__((format(scanf, 2, 0))) - int do_vscan(LString in, const char *fmt, va_list ap) - { - return vsscanf(in.c_str(), fmt, ap); - } } // namespace strings diff --git a/src/strings/literal.hpp b/src/strings/literal.hpp index 6d84ebd..001dc46 100644 --- a/src/strings/literal.hpp +++ b/src/strings/literal.hpp @@ -62,9 +62,6 @@ namespace strings // Actually, it might now. const char *decay_for_printf(const LString& zs); - __attribute__((format(scanf, 2, 0))) - int do_vscan(LString in, const char *fmt, va_list ap); - inline LString operator "" _s(const char *s, size_t) { diff --git a/src/strings/rstring.cpp b/src/strings/rstring.cpp index 6ffe79c..c2ca64b 100644 --- a/src/strings/rstring.cpp +++ b/src/strings/rstring.cpp @@ -58,7 +58,7 @@ namespace strings { // order important for self-assign r.owned->count++; - // owned can be NULL from ctors + // owned can be nullptr from ctors // TODO do ctors *properly* (requires gcc 4.7 to stay sane) if (owned && !owned->count--) ::operator delete(owned); diff --git a/src/strings/strings2_test.cpp b/src/strings/strings2_test.cpp index 8a7ee66..23f09fd 100644 --- a/src/strings/strings2_test.cpp +++ b/src/strings/strings2_test.cpp @@ -23,6 +23,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + TEST(StringTests, traits2) { ZString print_non = "\t\e"_s; diff --git a/src/strings/strings_test.cpp b/src/strings/strings_test.cpp index b76bde5..df4c2c3 100644 --- a/src/strings/strings_test.cpp +++ b/src/strings/strings_test.cpp @@ -25,6 +25,9 @@ #include "../poison.hpp" + +#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" + template class StringTest : public ::testing::Test { diff --git a/src/strings/zstring.cpp b/src/strings/zstring.cpp index dd17e66..94535d0 100644 --- a/src/strings/zstring.cpp +++ b/src/strings/zstring.cpp @@ -74,10 +74,4 @@ namespace strings { return zs.c_str(); } - - __attribute__((format(scanf, 2, 0))) - int do_vscan(ZString in, const char *fmt, va_list ap) - { - return vsscanf(in.c_str(), fmt, ap); - } } // namespace strings diff --git a/src/strings/zstring.hpp b/src/strings/zstring.hpp index e4cd1fd..a0dda2c 100644 --- a/src/strings/zstring.hpp +++ b/src/strings/zstring.hpp @@ -59,9 +59,6 @@ namespace strings // Nope, it doesn't, since there's a template // Actually, it might now. const char *decay_for_printf(const ZString& zs); - - __attribute__((format(scanf, 2, 0))) - int do_vscan(ZString in, const char *fmt, va_list ap); } // namespace strings # include "zstring.tcc" diff --git a/src/warnings.hpp b/src/warnings.hpp index 0b2358a..6c291da 100644 --- a/src/warnings.hpp +++ b/src/warnings.hpp @@ -27,6 +27,7 @@ // GCC 4.6 (incomplete due to bugs) // GCC 4.7 (for few minor workarounds) // GCC 4.8 (zarro boogs found) +// GCC 4.9 (zarro boogs found) // clang 3.1 (may ICE later) // clang 3.2 (with a few major workarounds) @@ -112,6 +113,11 @@ # define EG48(sw) static_assert('E', sw "only for gcc 4.8+"); # define XG48(sw) static_assert('X', sw "only for gcc 4.8+"); +# define IG49(sw) static_assert('I', sw "only for gcc 4.9+"); +# define WG49(sw) static_assert('W', sw "only for gcc 4.9+"); +# define EG49(sw) static_assert('E', sw "only for gcc 4.9+"); +# define XG49(sw) static_assert('X', sw "only for gcc 4.9+"); + # define I47(sw) I(sw) # define W47(sw) W(sw) # define E47(sw) E(sw) @@ -122,6 +128,11 @@ # define E48(sw) E(sw) # define X48(sw) X(sw) +# define I49(sw) I(sw) +# define W49(sw) W(sw) +# define E49(sw) E(sw) +# define X49(sw) X(sw) + #else // warnings specific to clang @@ -181,6 +192,27 @@ # define E48(sw) static_assert('E', sw "only for gcc 4.8+ or clang"); # define X48(sw) static_assert('X', sw "only for gcc 4.8+ or clang"); # endif // __GNUC_MINOR__ +# if __GNUC_MINOR__ >= 9 +# define IG49(sw) IG(sw) +# define WG49(sw) WG(sw) +# define EG49(sw) EG(sw) +# define XG49(sw) XG(sw) + +# define I49(sw) IG(sw) +# define W49(sw) WG(sw) +# define E49(sw) EG(sw) +# define X49(sw) XG(sw) +# else +# define IG49(sw) static_assert('I', sw "only for gcc 4.9+"); +# define WG49(sw) static_assert('W', sw "only for gcc 4.9+"); +# define EG49(sw) static_assert('E', sw "only for gcc 4.9+"); +# define XG49(sw) static_assert('X', sw "only for gcc 4.9+"); + +# define I49(sw) static_assert('I', sw "only for gcc 4.9+ or clang"); +# define W49(sw) static_assert('W', sw "only for gcc 4.9+ or clang"); +# define E49(sw) static_assert('E', sw "only for gcc 4.9+ or clang"); +# define X49(sw) static_assert('X', sw "only for gcc 4.9+ or clang"); +# endif // __GNUC_MINOR__ # endif // __GNUC__ #endif // __clang__ @@ -232,7 +264,7 @@ static_assert('E', "-Wc++1y-extensions not in GCC"); #endif /// Warn about pointer casts which increase alignment -X("-Wcast-align") +E("-Wcast-align") /// Warn about casts which discard qualifiers E("-Wcast-qual") @@ -248,6 +280,9 @@ EG("-Wclobbered") /// C++ comments spanning more than one physical line E("-Wcomment") +/// Warn for conditionally-supported constructs +EG49("-Wconditionally-supported") + // A fixable difference between c++11 and c++14 #ifdef __clang__ # if __has_warning("-Wconstexpr-not-const") @@ -272,7 +307,7 @@ E("-Wconversion-null") WG("-Wcoverage-mismatch") /// -XC("-Wcovered-switch-default") +EC("-Wcovered-switch-default") /// Warn when a #warning directive is encountered WG("-Wcpp") @@ -281,6 +316,13 @@ WG("-Wcpp") /// private E("-Wctor-dtor-privacy") +/// Warn about __TIME__, __DATE__ and __TIMESTAMP__ +/// usage +EG49("-Wdate-time") + +/// Warn when deleting a pointer to incomplete type +EG49("-Wdelete-incomplete") + /// Warn about deleting polymorphic objects with non- /// virtual destructors E47("-Wdelete-non-virtual-dtor") @@ -487,7 +529,7 @@ E("-Wnon-virtual-dtor") E("-Wnonnull") /// -XC("-Wnull-conversion") +EC("-Wnull-conversion") /// Warn if a C-style cast is used in a program E("-Wold-style-cast") @@ -495,6 +537,10 @@ E("-Wold-style-cast") /// Warn about overflow in arithmetic expressions W("-Woverflow") +/// Warn if a simd directive is overridden by the +/// vectorizer cost model +EG49("-Wopenmp-simd") + /// Warn if a string is longer than the maximum /// portable length specified by the standard //X("-Woverlength-strings") @@ -523,7 +569,7 @@ E("-Wparentheses") // lots of minor extensions are used IG48("-Wpedantic") // a bit too noisy -XC("-Wpedantic") +EC("-Wpedantic") /// Warn when converting the type of pointers to /// member functions @@ -563,7 +609,7 @@ X("-Wsign-compare") /// Warn when overload promotes from unsigned to /// signed -X("-Wsign-promo") +E("-Wsign-promo") /// This switch lacks documentation WG48("-Wsizeof-pointer-memaccess") @@ -585,15 +631,15 @@ X("-Wstrict-overflow") /// Warn about enumerated switches, with no default, /// missing a case -X("-Wswitch") +I("-Wswitch") /// Warn about enumerated switches missing a /// "default:" statement -X("-Wswitch-default") +I("-Wswitch-default") /// Warn about all enumerated switches missing a /// specific case -X("-Wswitch-enum") +I("-Wswitch-enum") /// Warn when __sync_fetch_and_nand and /// __sync_nand_and_fetch built-in functions are used @@ -695,7 +741,7 @@ E("-Wwrite-strings") /// Warn when a literal '0' is used as null /// pointer -XG47("-Wzero-as-null-pointer-constant") +EG47("-Wzero-as-null-pointer-constant") // clean up after myself -- cgit v1.2.3-60-g2f50