From 1a651243bb2c8e18baa9aac30ac52a62185074e7 Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Sun, 30 Mar 2014 23:14:12 -0700 Subject: Be stricter about most arrays --- src/map/atcommand.hpp | 2 - src/map/battle.cpp | 44 +++++------ src/map/battle.hpp | 2 +- src/map/clif.cpp | 6 +- src/map/clif.hpp | 2 - src/map/intif.cpp | 1 + src/map/intif.hpp | 2 - src/map/magic-expr-eval.hpp | 4 +- src/map/magic-expr.cpp | 174 ++++++++++++++++++++++---------------------- src/map/magic-expr.hpp | 8 +- src/map/magic-stmt.cpp | 54 +++++++------- src/map/magic-v2.cpp | 6 +- src/map/map.cpp | 31 ++++---- src/map/map.hpp | 22 +++--- src/map/mapflag.cpp | 64 ++++++++-------- src/map/mob.cpp | 30 ++++---- src/map/npc.cpp | 18 ++--- src/map/npc.hpp | 8 +- src/map/pc.cpp | 21 +++--- src/map/script.cpp | 40 +++++----- src/map/script.hpp | 4 +- src/map/skill-pools.cpp | 2 +- src/map/skill.cpp | 16 ++-- src/map/skill.hpp | 15 ++-- src/map/tmw.hpp | 2 - src/map/trade.cpp | 8 +- 26 files changed, 294 insertions(+), 292 deletions(-) (limited to 'src/map') diff --git a/src/map/atcommand.hpp b/src/map/atcommand.hpp index 16d1efc..45759a6 100644 --- a/src/map/atcommand.hpp +++ b/src/map/atcommand.hpp @@ -3,8 +3,6 @@ # include "../strings/fwd.hpp" -# include "../generic/const_array.hpp" - # include "map.hpp" bool is_atcommand(Session *s, dumb_ptr sd, diff --git a/src/map/battle.cpp b/src/map/battle.cpp index 7e563b8..49a0538 100644 --- a/src/map/battle.cpp +++ b/src/map/battle.cpp @@ -166,7 +166,7 @@ int battle_get_max_hp(dumb_ptr bl) int battle_get_str(dumb_ptr bl) { int str = 0; - eptr sc_data; + eptr sc_data; nullpo_ret(bl); sc_data = battle_get_sc_data(bl); @@ -189,7 +189,7 @@ int battle_get_str(dumb_ptr bl) int battle_get_agi(dumb_ptr bl) { int agi = 0; - eptr sc_data; + eptr sc_data; nullpo_ret(bl); sc_data = battle_get_sc_data(bl); @@ -211,7 +211,7 @@ int battle_get_agi(dumb_ptr bl) int battle_get_vit(dumb_ptr bl) { int vit = 0; - eptr sc_data; + eptr sc_data; nullpo_ret(bl); sc_data = battle_get_sc_data(bl); @@ -233,7 +233,7 @@ int battle_get_vit(dumb_ptr bl) int battle_get_int(dumb_ptr bl) { int int_ = 0; - eptr sc_data; + eptr sc_data; nullpo_ret(bl); sc_data = battle_get_sc_data(bl); @@ -255,7 +255,7 @@ int battle_get_int(dumb_ptr bl) int battle_get_dex(dumb_ptr bl) { int dex = 0; - eptr sc_data; + eptr sc_data; nullpo_ret(bl); sc_data = battle_get_sc_data(bl); @@ -277,7 +277,7 @@ int battle_get_dex(dumb_ptr bl) int battle_get_luk(dumb_ptr bl) { int luk = 0; - eptr sc_data; + eptr sc_data; nullpo_ret(bl); sc_data = battle_get_sc_data(bl); @@ -300,7 +300,7 @@ static int battle_get_flee(dumb_ptr bl) { int flee = 1; - eptr sc_data; + eptr sc_data; nullpo_retr(1, bl); sc_data = battle_get_sc_data(bl); @@ -329,7 +329,7 @@ static int battle_get_hit(dumb_ptr bl) { int hit = 1; - eptr sc_data; + eptr sc_data; nullpo_retr(1, bl); sc_data = battle_get_sc_data(bl); @@ -357,7 +357,7 @@ static int battle_get_flee2(dumb_ptr bl) { int flee2 = 1; - eptr sc_data; + eptr sc_data; nullpo_retr(1, bl); sc_data = battle_get_sc_data(bl); @@ -389,7 +389,7 @@ static int battle_get_critical(dumb_ptr bl) { int critical = 1; - eptr sc_data; + eptr sc_data; nullpo_retr(1, bl); sc_data = battle_get_sc_data(bl); @@ -415,7 +415,7 @@ int battle_get_critical(dumb_ptr bl) static int battle_get_baseatk(dumb_ptr bl) { - eptr sc_data; + eptr sc_data; int batk = 1; nullpo_retr(1, bl); @@ -442,7 +442,7 @@ int battle_get_baseatk(dumb_ptr bl) static int battle_get_atk(dumb_ptr bl) { - eptr sc_data; + eptr sc_data; int atk = 0; nullpo_ret(bl); @@ -518,7 +518,7 @@ int battle_get_atk_2(dumb_ptr bl) static int battle_get_matk1(dumb_ptr bl) { - eptr sc_data; + eptr sc_data; nullpo_ret(bl); sc_data = battle_get_sc_data(bl); if (bl->bl_type == BL::MOB) @@ -563,7 +563,7 @@ int battle_get_matk2(dumb_ptr bl) */ int battle_get_def(dumb_ptr bl) { - eptr sc_data; + eptr sc_data; int def = 0; nullpo_ret(bl); @@ -599,7 +599,7 @@ int battle_get_def(dumb_ptr bl) */ int battle_get_mdef(dumb_ptr bl) { - eptr sc_data; + eptr sc_data; int mdef = 0; nullpo_ret(bl); @@ -634,7 +634,7 @@ int battle_get_mdef(dumb_ptr bl) */ int battle_get_def2(dumb_ptr bl) { - eptr sc_data; + eptr sc_data; int def2 = 1; nullpo_retr(1, bl); @@ -715,7 +715,7 @@ interval_t battle_get_adelay(dumb_ptr bl) return bl->is_player()->aspd * 2; else { - eptr sc_data = battle_get_sc_data(bl); + eptr sc_data = battle_get_sc_data(bl); interval_t adelay = std::chrono::seconds(4); int aspd_rate = 100; if (bl->bl_type == BL::MOB) @@ -743,7 +743,7 @@ interval_t battle_get_amotion(dumb_ptr bl) return bl->is_player()->amotion; else { - eptr sc_data = battle_get_sc_data(bl); + eptr sc_data = battle_get_sc_data(bl); interval_t amotion = std::chrono::seconds(2); int aspd_rate = 100; if (bl->bl_type == BL::MOB) @@ -846,7 +846,7 @@ int battle_get_stat(SP stat_id, dumb_ptr bl) } // StatusChange系の所得 -eptr battle_get_sc_data(dumb_ptr bl) +eptr battle_get_sc_data(dumb_ptr bl) { nullpo_retr(nullptr, bl); @@ -1064,7 +1064,7 @@ struct Damage battle_calc_mob_weapon_attack(dumb_ptr src, BF flag; int ac_flag = 0; ATK dmg_lv = ATK::ZERO; - eptr sc_data, t_sc_data; + eptr sc_data, t_sc_data; nullpo_retr(wd, src); nullpo_retr(wd, target); @@ -1337,7 +1337,7 @@ struct Damage battle_calc_pc_weapon_attack(dumb_ptr src, int div_; BF flag; ATK dmg_lv = ATK::ZERO; - eptr sc_data, t_sc_data; + eptr sc_data, t_sc_data; int atkmax_ = 0, atkmin_ = 0; //二刀流用 int watk, watk_; bool da = false; @@ -1959,7 +1959,7 @@ ATK battle_weapon_attack(dumb_ptr src, dumb_ptr target, tick_t tick) { dumb_ptr sd = NULL; - eptr t_sc_data = battle_get_sc_data(target); + eptr t_sc_data = battle_get_sc_data(target); struct Damage wd; nullpo_retr(ATK::ZERO, src); diff --git a/src/map/battle.hpp b/src/map/battle.hpp index fd452e8..5c62785 100644 --- a/src/map/battle.hpp +++ b/src/map/battle.hpp @@ -78,7 +78,7 @@ Race battle_get_race(dumb_ptr bl); MobMode battle_get_mode(dumb_ptr bl); int battle_get_stat(SP stat_id, dumb_ptr bl); -eptr battle_get_sc_data(dumb_ptr bl); +eptr battle_get_sc_data(dumb_ptr bl); short *battle_get_sc_count(dumb_ptr bl); Opt1 *battle_get_opt1(dumb_ptr bl); Opt2 *battle_get_opt2(dumb_ptr bl); diff --git a/src/map/clif.cpp b/src/map/clif.cpp index a5b02cd..3290013 100644 --- a/src/map/clif.cpp +++ b/src/map/clif.cpp @@ -2021,7 +2021,7 @@ int clif_misceffect(dumb_ptr bl, int type) int clif_changeoption(dumb_ptr bl) { uint8_t buf[32]; - eptr sc_data; + eptr sc_data; nullpo_ret(bl); @@ -2435,7 +2435,7 @@ int clif_damage(dumb_ptr src, dumb_ptr dst, int div, DamageType type, int damage2) { unsigned char buf[256]; - eptr sc_data; + eptr sc_data; nullpo_ret(src); nullpo_ret(dst); @@ -2800,7 +2800,7 @@ int clif_skill_damage(dumb_ptr src, dumb_ptr dst, int div, SkillID skill_id, int skill_lv, int type) { unsigned char buf[64]; - eptr sc_data; + eptr sc_data; nullpo_ret(src); nullpo_ret(dst); diff --git a/src/map/clif.hpp b/src/map/clif.hpp index c346f7d..571f68e 100644 --- a/src/map/clif.hpp +++ b/src/map/clif.hpp @@ -7,8 +7,6 @@ # include "../strings/fwd.hpp" -# include "../generic/const_array.hpp" - # include "../mmo/ip.hpp" # include "../mmo/timer.t.hpp" diff --git a/src/map/intif.cpp b/src/map/intif.cpp index 7f7be73..b2b95fe 100644 --- a/src/map/intif.cpp +++ b/src/map/intif.cpp @@ -104,6 +104,7 @@ void intif_saveaccountreg(dumb_ptr sd) int j, p; nullpo_retv(sd); + assert (sd->status.account_reg_num < ACCOUNT_REG_NUM); WFIFOW(char_session, 0) = 0x3004; WFIFOL(char_session, 4) = sd->bl_id; diff --git a/src/map/intif.hpp b/src/map/intif.hpp index ac2740c..7028ed9 100644 --- a/src/map/intif.hpp +++ b/src/map/intif.hpp @@ -3,8 +3,6 @@ # include "../strings/fwd.hpp" -# include "../generic/const_array.hpp" - # include "map.hpp" int intif_parse(Session *); diff --git a/src/map/magic-expr-eval.hpp b/src/map/magic-expr-eval.hpp index 0783dc8..4de2f81 100644 --- a/src/map/magic-expr-eval.hpp +++ b/src/map/magic-expr-eval.hpp @@ -1,6 +1,8 @@ #ifndef TMWA_MAP_MAGIC_EXPR_EVAL_HPP #define TMWA_MAP_MAGIC_EXPR_EVAL_HPP +# include "../range/slice.hpp" + # include "../strings/zstring.hpp" # include "magic-interpreter.hpp" @@ -8,7 +10,7 @@ /* Helper definitions for dealing with functions and operations */ int magic_signature_check(ZString opname, ZString funname, ZString signature, - int args_nr, val_t *args, int line, int column); + Slice args, int line, int column); void magic_area_rect(map_local **m, int *x, int *y, int *width, int *height, area_t& area); diff --git a/src/map/magic-expr.cpp b/src/map/magic-expr.cpp index 1be1b0b..1881afc 100644 --- a/src/map/magic-expr.cpp +++ b/src/map/magic-expr.cpp @@ -261,7 +261,7 @@ void make_spell(val_t *v) } static -int fun_add(dumb_ptr, val_t *result, const_array args) +int fun_add(dumb_ptr, val_t *result, Slice args) { if (ARG_TYPE(0) == TYPE::INT && ARG_TYPE(1) == TYPE::INT) { @@ -296,21 +296,21 @@ int fun_add(dumb_ptr, val_t *result, const_array args) } static -int fun_sub(dumb_ptr, val_t *result, const_array args) +int fun_sub(dumb_ptr, val_t *result, Slice args) { RESULTINT = ARGINT(0) - ARGINT(1); return 0; } static -int fun_mul(dumb_ptr, val_t *result, const_array args) +int fun_mul(dumb_ptr, val_t *result, Slice args) { RESULTINT = ARGINT(0) * ARGINT(1); return 0; } static -int fun_div(dumb_ptr, val_t *result, const_array args) +int fun_div(dumb_ptr, val_t *result, Slice args) { if (!ARGINT(1)) return 1; /* division by zero */ @@ -319,7 +319,7 @@ int fun_div(dumb_ptr, val_t *result, const_array args) } static -int fun_mod(dumb_ptr, val_t *result, const_array args) +int fun_mod(dumb_ptr, val_t *result, Slice args) { if (!ARGINT(1)) return 1; /* division by zero */ @@ -328,35 +328,35 @@ int fun_mod(dumb_ptr, val_t *result, const_array args) } static -int fun_or(dumb_ptr, val_t *result, const_array args) +int fun_or(dumb_ptr, val_t *result, Slice args) { RESULTINT = ARGINT(0) || ARGINT(1); return 0; } static -int fun_and(dumb_ptr, val_t *result, const_array args) +int fun_and(dumb_ptr, val_t *result, Slice args) { RESULTINT = ARGINT(0) && ARGINT(1); return 0; } static -int fun_not(dumb_ptr, val_t *result, const_array args) +int fun_not(dumb_ptr, val_t *result, Slice args) { RESULTINT = !ARGINT(0); return 0; } static -int fun_neg(dumb_ptr, val_t *result, const_array args) +int fun_neg(dumb_ptr, val_t *result, Slice args) { RESULTINT = ~ARGINT(0); return 0; } static -int fun_gte(dumb_ptr, val_t *result, const_array args) +int fun_gte(dumb_ptr, val_t *result, Slice args) { if (ARG_TYPE(0) == TYPE::STRING || ARG_TYPE(1) == TYPE::STRING) { @@ -374,7 +374,7 @@ int fun_gte(dumb_ptr, val_t *result, const_array args) } static -int fun_lt(dumb_ptr env, val_t *result, const_array args) +int fun_lt(dumb_ptr env, val_t *result, Slice args) { fun_gte(env, result, args); RESULTINT = !RESULTINT; @@ -382,7 +382,7 @@ int fun_lt(dumb_ptr env, val_t *result, const_array args) } static -int fun_gt(dumb_ptr, val_t *result, const_array args) +int fun_gt(dumb_ptr, val_t *result, Slice args) { if (ARG_TYPE(0) == TYPE::STRING || ARG_TYPE(1) == TYPE::STRING) { @@ -400,7 +400,7 @@ int fun_gt(dumb_ptr, val_t *result, const_array args) } static -int fun_lte(dumb_ptr env, val_t *result, const_array args) +int fun_lte(dumb_ptr env, val_t *result, Slice args) { fun_gt(env, result, args); RESULTINT = !RESULTINT; @@ -408,7 +408,7 @@ int fun_lte(dumb_ptr env, val_t *result, const_array args) } static -int fun_eq(dumb_ptr, val_t *result, const_array args) +int fun_eq(dumb_ptr, val_t *result, Slice args) { if (ARG_TYPE(0) == TYPE::STRING || ARG_TYPE(1) == TYPE::STRING) { @@ -440,7 +440,7 @@ int fun_eq(dumb_ptr, val_t *result, const_array args) } static -int fun_ne(dumb_ptr env, val_t *result, const_array args) +int fun_ne(dumb_ptr env, val_t *result, Slice args) { fun_eq(env, result, args); RESULTINT = !RESULTINT; @@ -448,56 +448,56 @@ int fun_ne(dumb_ptr env, val_t *result, const_array args) } static -int fun_bitand(dumb_ptr, val_t *result, const_array args) +int fun_bitand(dumb_ptr, val_t *result, Slice args) { RESULTINT = ARGINT(0) & ARGINT(1); return 0; } static -int fun_bitor(dumb_ptr, val_t *result, const_array args) +int fun_bitor(dumb_ptr, val_t *result, Slice args) { RESULTINT = ARGINT(0) | ARGINT(1); return 0; } static -int fun_bitxor(dumb_ptr, val_t *result, const_array args) +int fun_bitxor(dumb_ptr, val_t *result, Slice args) { RESULTINT = ARGINT(0) ^ ARGINT(1); return 0; } static -int fun_bitshl(dumb_ptr, val_t *result, const_array args) +int fun_bitshl(dumb_ptr, val_t *result, Slice args) { RESULTINT = ARGINT(0) << ARGINT(1); return 0; } static -int fun_bitshr(dumb_ptr, val_t *result, const_array args) +int fun_bitshr(dumb_ptr, val_t *result, Slice args) { RESULTINT = ARGINT(0) >> ARGINT(1); return 0; } static -int fun_max(dumb_ptr, val_t *result, const_array args) +int fun_max(dumb_ptr, val_t *result, Slice args) { RESULTINT = max(ARGINT(0), ARGINT(1)); return 0; } static -int fun_min(dumb_ptr, val_t *result, const_array args) +int fun_min(dumb_ptr, val_t *result, Slice args) { RESULTINT = min(ARGINT(0), ARGINT(1)); return 0; } static -int fun_if_then_else(dumb_ptr, val_t *result, const_array args) +int fun_if_then_else(dumb_ptr, val_t *result, Slice args) { if (ARGINT(0)) magic_copy_var(result, &args[1]); @@ -606,7 +606,7 @@ int magic_location_in_area(map_local *m, int x, int y, dumb_ptr area) } static -int fun_is_in(dumb_ptr, val_t *result, const_array args) +int fun_is_in(dumb_ptr, val_t *result, Slice args) { RESULTINT = magic_location_in_area(ARGLOCATION(0).m, ARGLOCATION(0).x, @@ -615,7 +615,7 @@ int fun_is_in(dumb_ptr, val_t *result, const_array args) } static -int fun_skill(dumb_ptr, val_t *result, const_array args) +int fun_skill(dumb_ptr, val_t *result, Slice args) { if (ENTITY_TYPE(0) != BL::PC // don't convert to enum until after the range check @@ -633,18 +633,18 @@ int fun_skill(dumb_ptr, val_t *result, const_array args) } static -int fun_his_shroud(dumb_ptr, val_t *result, const_array args) +int fun_his_shroud(dumb_ptr, val_t *result, Slice args) { RESULTINT = (ENTITY_TYPE(0) == BL::PC && ARGPC(0)->state.shroud_active); return 0; } -#define BATTLE_GETTER(name) \ -static \ -int fun_get_##name(dumb_ptr, val_t *result, const_array args) \ -{ \ - RESULTINT = battle_get_##name(ARGENTITY(0)); \ - return 0; \ +#define BATTLE_GETTER(name) \ +static \ +int fun_get_##name(dumb_ptr, val_t *result, Slice args) \ +{ \ + RESULTINT = battle_get_##name(ARGENTITY(0)); \ + return 0; \ } BATTLE_GETTER(str) @@ -659,28 +659,28 @@ BATTLE_GETTER(mdef) BATTLE_GETTER(def) BATTLE_GETTER(max_hp) static -int fun_get_dir(dumb_ptr, val_t *result, const_array args) +int fun_get_dir(dumb_ptr, val_t *result, Slice args) { RESULTDIR = battle_get_dir(ARGENTITY(0)); return 0; } -#define MMO_GETTER(name) \ -static \ -int fun_get_##name(dumb_ptr, val_t *result, const_array args) \ -{ \ - if (ENTITY_TYPE(0) == BL::PC) \ - RESULTINT = ARGPC(0)->status.name; \ - else \ - RESULTINT = 0; \ - return 0; \ +#define MMO_GETTER(name) \ +static \ +int fun_get_##name(dumb_ptr, val_t *result, Slice args) \ +{ \ + if (ENTITY_TYPE(0) == BL::PC) \ + RESULTINT = ARGPC(0)->status.name; \ + else \ + RESULTINT = 0; \ + return 0; \ } MMO_GETTER(sp) MMO_GETTER(max_sp) static -int fun_name_of(dumb_ptr, val_t *result, const_array args) +int fun_name_of(dumb_ptr, val_t *result, Slice args) { if (ARG_TYPE(0) == TYPE::ENTITY) { @@ -702,7 +702,7 @@ int fun_name_of(dumb_ptr, val_t *result, const_array args) /* [Freeyorp] I'm putting this one in as name_of seems to have issues with summoned or spawned mobs. */ static -int fun_mob_id(dumb_ptr, val_t *result, const_array args) +int fun_mob_id(dumb_ptr, val_t *result, Slice args) { if (ENTITY_TYPE(0) != BL::MOB) return 1; @@ -727,14 +727,14 @@ void COPY_LOCATION(location_t& dest, block_list& src) } static -int fun_location(dumb_ptr, val_t *result, const_array args) +int fun_location(dumb_ptr, val_t *result, Slice args) { COPY_LOCATION(RESULTLOCATION, *(ARGENTITY(0))); return 0; } static -int fun_random(dumb_ptr, val_t *result, const_array args) +int fun_random(dumb_ptr, val_t *result, Slice args) { int delta = ARGINT(0); if (delta < 0) @@ -752,7 +752,7 @@ int fun_random(dumb_ptr, val_t *result, const_array args) } static -int fun_random_dir(dumb_ptr, val_t *result, const_array args) +int fun_random_dir(dumb_ptr, val_t *result, Slice args) { if (ARGINT(0)) RESULTDIR = random_::choice({DIR::S, DIR::SW, DIR::W, DIR::NW, DIR::N, DIR::NE, DIR::E, DIR::SE}); @@ -762,14 +762,14 @@ int fun_random_dir(dumb_ptr, val_t *result, const_array args) } static -int fun_hash_entity(dumb_ptr, val_t *result, const_array args) +int fun_hash_entity(dumb_ptr, val_t *result, Slice args) { RESULTINT = ARGENTITY(0)->bl_id; return 0; } int // ret -1: not a string, ret 1: no such item, ret 0: OK -magic_find_item(const_array args, int index, struct item *item_, int *stackable) +magic_find_item(Slice args, int index, struct item *item_, int *stackable) { struct item_data *item_data; int must_add_sequentially; @@ -801,7 +801,7 @@ magic_find_item(const_array args, int index, struct item *item_, int *sta } static -int fun_count_item(dumb_ptr, val_t *result, const_array args) +int fun_count_item(dumb_ptr, val_t *result, Slice args) { dumb_ptr chr = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : NULL; int stackable; @@ -817,7 +817,7 @@ int fun_count_item(dumb_ptr, val_t *result, const_array args) } static -int fun_is_equipped(dumb_ptr, val_t *result, const_array args) +int fun_is_equipped(dumb_ptr, val_t *result, Slice args) { dumb_ptr chr = (ENTITY_TYPE(0) == BL::PC) ? ARGPC(0) : NULL; int stackable; @@ -843,28 +843,28 @@ int fun_is_equipped(dumb_ptr, val_t *result, const_array args) } static -int fun_is_married(dumb_ptr, val_t *result, const_array args) +int fun_is_married(dumb_ptr, val_t *result, Slice args) { RESULTINT = (ENTITY_TYPE(0) == BL::PC && ARGPC(0)->status.partner_id); return 0; } static -int fun_is_dead(dumb_ptr, val_t *result, const_array args) +int fun_is_dead(dumb_ptr, val_t *result, Slice args) { RESULTINT = (ENTITY_TYPE(0) == BL::PC && pc_isdead(ARGPC(0))); return 0; } static -int fun_is_pc(dumb_ptr, val_t *result, const_array args) +int fun_is_pc(dumb_ptr, val_t *result, Slice args) { RESULTINT = (ENTITY_TYPE(0) == BL::PC); return 0; } static -int fun_partner(dumb_ptr, val_t *result, const_array args) +int fun_partner(dumb_ptr, val_t *result, Slice args) { if (ENTITY_TYPE(0) == BL::PC && ARGPC(0)->status.partner_id) { @@ -877,7 +877,7 @@ int fun_partner(dumb_ptr, val_t *result, const_array args) } static -int fun_awayfrom(dumb_ptr, val_t *result, const_array args) +int fun_awayfrom(dumb_ptr, val_t *result, Slice args) { location_t *loc = &ARGLOCATION(0); int dx = dirx[ARGDIR(1)]; @@ -896,14 +896,14 @@ int fun_awayfrom(dumb_ptr, val_t *result, const_array args) } static -int fun_failed(dumb_ptr, val_t *result, const_array args) +int fun_failed(dumb_ptr, val_t *result, Slice args) { RESULTINT = ARG_TYPE(0) == TYPE::FAIL; return 0; } static -int fun_npc(dumb_ptr, val_t *result, const_array args) +int fun_npc(dumb_ptr, val_t *result, Slice args) { NpcName name = stringish(ARGSTR(0)); RESULTENTITY = npc_name2id(name); @@ -911,7 +911,7 @@ int fun_npc(dumb_ptr, val_t *result, const_array args) } static -int fun_pc(dumb_ptr, val_t *result, const_array args) +int fun_pc(dumb_ptr, val_t *result, Slice args) { CharName name = stringish(ARGSTR(0)); RESULTENTITY = map_nick2sd(name); @@ -919,7 +919,7 @@ int fun_pc(dumb_ptr, val_t *result, const_array args) } static -int fun_distance(dumb_ptr, val_t *result, const_array args) +int fun_distance(dumb_ptr, val_t *result, Slice args) { if (ARGLOCATION(0).m != ARGLOCATION(1).m) RESULTINT = 0x7fffffff; @@ -930,7 +930,7 @@ int fun_distance(dumb_ptr, val_t *result, const_array args) } static -int fun_rdistance(dumb_ptr, val_t *result, const_array args) +int fun_rdistance(dumb_ptr, val_t *result, Slice args) { if (ARGLOCATION(0).m != ARGLOCATION(1).m) RESULTINT = 0x7fffffff; @@ -944,7 +944,7 @@ int fun_rdistance(dumb_ptr, val_t *result, const_array args) } static -int fun_anchor(dumb_ptr env, val_t *result, const_array args) +int fun_anchor(dumb_ptr env, val_t *result, Slice args) { dumb_ptr anchor = magic_find_anchor(ARGSTR(0)); @@ -964,7 +964,7 @@ int fun_anchor(dumb_ptr env, val_t *result, const_array args) } static -int fun_line_of_sight(dumb_ptr, val_t *result, const_array args) +int fun_line_of_sight(dumb_ptr, val_t *result, Slice args) { block_list e1, e2; @@ -1020,14 +1020,14 @@ void magic_random_location(location_t *dest, dumb_ptr area) } static -int fun_pick_location(dumb_ptr, val_t *result, const_array args) +int fun_pick_location(dumb_ptr, val_t *result, Slice args) { magic_random_location(&result->v.v_location, ARGAREA(0)); return 0; } static -int fun_read_script_int(dumb_ptr, val_t *result, const_array args) +int fun_read_script_int(dumb_ptr, val_t *result, Slice args) { dumb_ptr subject_p = ARGENTITY(0); VarName var_name = stringish(ARGSTR(1)); @@ -1041,7 +1041,7 @@ int fun_read_script_int(dumb_ptr, val_t *result, const_array args) } static -int fun_read_script_str(dumb_ptr, val_t *result, const_array args) +int fun_read_script_str(dumb_ptr, val_t *result, Slice args) { dumb_ptr subject_p = ARGENTITY(0); VarName var_name = stringish(ARGSTR(1)); @@ -1055,7 +1055,7 @@ int fun_read_script_str(dumb_ptr, val_t *result, const_array args) } static -int fun_rbox(dumb_ptr, val_t *result, const_array args) +int fun_rbox(dumb_ptr, val_t *result, Slice args) { location_t loc = ARGLOCATION(0); int radius = ARGINT(1); @@ -1071,7 +1071,7 @@ int fun_rbox(dumb_ptr, val_t *result, const_array args) } static -int fun_running_status_update(dumb_ptr, val_t *result, const_array args) +int fun_running_status_update(dumb_ptr, val_t *result, Slice args) { if (ENTITY_TYPE(0) != BL::PC && ENTITY_TYPE(0) != BL::MOB) return 1; @@ -1082,28 +1082,28 @@ int fun_running_status_update(dumb_ptr, val_t *result, const_array } static -int fun_status_option(dumb_ptr, val_t *result, const_array args) +int fun_status_option(dumb_ptr, val_t *result, Slice args) { RESULTINT = (bool((ARGPC(0))->status.option & static_cast