From ed05ed85c0bc44980168f730d02dfd379a2bfda9 Mon Sep 17 00:00:00 2001 From: Haru Date: Tue, 12 Jan 2016 16:56:33 +0100 Subject: Replaced 22-bit mask entry with a regular uint32 in the noviewid mapflag implementation As per ultramage's suggestion in #926 Signed-off-by: Haru --- src/common/mmo.h | 1 + src/map/atcommand.c | 2 +- src/map/map.h | 2 +- src/map/script.c | 4 ++-- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/common/mmo.h b/src/common/mmo.h index 17e6078fc..37fc63e29 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -268,6 +268,7 @@ struct item { //Equip position constants enum equip_pos { + EQP_NONE = 0x000000, EQP_HEAD_LOW = 0x000001, EQP_HEAD_MID = 0x000200, //512 EQP_HEAD_TOP = 0x000100, //256 diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 9d03dd057..e223f698c 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -3917,7 +3917,7 @@ ACMD(mapinfo) strcat(atcmd_output, msg_fd(fd,1096)); // PartyLock | if (map->list[m_id].flag.guildlock) strcat(atcmd_output, msg_fd(fd,1097)); // GuildLock | - if (map->list[m_id].flag.noviewid) + if (map->list[m_id].flag.noviewid != EQP_NONE) strcat(atcmd_output, msg_fd(fd,1079)); // NoViewID | clif->message(fd, atcmd_output); diff --git a/src/map/map.h b/src/map/map.h index 13b7880bd..ff7ca2d38 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -716,7 +716,7 @@ struct map_data { unsigned noknockback : 1; unsigned notomb : 1; unsigned nocashshop : 1; - unsigned noviewid : 22; + uint32 noviewid; ///< noviewid (bitmask - @see enum equip_pos) } flag; struct point save; struct npc_data *npc[MAX_NPC_PER_MAP]; diff --git a/src/map/script.c b/src/map/script.c index befb85304..5752c8a31 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -11808,7 +11808,7 @@ BUILDIN(setmapflag) { case MF_RESET: map->list[m].flag.reset = 1; break; case MF_NOTOMB: map->list[m].flag.notomb = 1; break; case MF_NOCASHSHOP: map->list[m].flag.nocashshop = 1; break; - case MF_NOVIEWID: map->list[m].flag.noviewid = (val <= 0) ? 0 : val; break; + case MF_NOVIEWID: map->list[m].flag.noviewid = (val <= 0) ? EQP_NONE : val; break; } } @@ -11895,7 +11895,7 @@ BUILDIN(removemapflag) { case MF_RESET: map->list[m].flag.reset = 0; break; case MF_NOTOMB: map->list[m].flag.notomb = 0; break; case MF_NOCASHSHOP: map->list[m].flag.nocashshop = 0; break; - case MF_NOVIEWID: map->list[m].flag.noviewid = 0; break; + case MF_NOVIEWID: map->list[m].flag.noviewid = EQP_NONE; break; } } -- cgit v1.2.3-60-g2f50