From 53996663c46f662157beb7c9af7f904a5c5bb01e Mon Sep 17 00:00:00 2001 From: Haru Date: Tue, 23 Feb 2016 04:08:15 +0100 Subject: Corrected some warnings in Visual Studio - Changed literal 1L values used in unit64 bit-shift operations to 1ULL. - Follow-up to f606519c3b611573ade246ec82db26437bf03668 (reported by zackdreaver) Signed-off-by: Haru --- src/map/itemdb.c | 192 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 98 insertions(+), 94 deletions(-) (limited to 'src/map/itemdb.c') diff --git a/src/map/itemdb.c b/src/map/itemdb.c index daae2a943..27adc387b 100644 --- a/src/map/itemdb.c +++ b/src/map/itemdb.c @@ -354,13 +354,8 @@ const char* itemdb_typename(int type) */ void itemdb_jobid2mapid(uint64 *bclass, int job_id, bool enable) { -#define set_jobmask(bclass_idx, mapid) \ - do { \ - if (enable) \ - bclass[(bclass_idx)] |= 1L<<(mapid); \ - else \ - bclass[(bclass_idx)] &= ~(1L<<(mapid)); \ - } while (false) + uint64 mask[3] = { 0 }; + int i; nullpo_retv(bclass); @@ -368,8 +363,8 @@ void itemdb_jobid2mapid(uint64 *bclass, int job_id, bool enable) // Base Classes case JOB_NOVICE: case JOB_SUPER_NOVICE: - set_jobmask(0, MAPID_NOVICE); - set_jobmask(1, MAPID_NOVICE); + mask[0] = 1ULL << MAPID_NOVICE; + mask[1] = 1ULL << MAPID_NOVICE; break; case JOB_SWORDMAN: case JOB_MAGE: @@ -377,83 +372,91 @@ void itemdb_jobid2mapid(uint64 *bclass, int job_id, bool enable) case JOB_ACOLYTE: case JOB_MERCHANT: case JOB_THIEF: - set_jobmask(0, MAPID_NOVICE+job_id); + mask[0] = 1ULL << (MAPID_NOVICE+job_id); break; // 2-1 Classes case JOB_KNIGHT: - set_jobmask(1, MAPID_SWORDMAN); + mask[1] = 1ULL << MAPID_SWORDMAN; break; case JOB_PRIEST: - set_jobmask(1, MAPID_ACOLYTE); + mask[1] = 1ULL << MAPID_ACOLYTE; break; case JOB_WIZARD: - set_jobmask(1, MAPID_MAGE); + mask[1] = 1ULL << MAPID_MAGE; break; case JOB_BLACKSMITH: - set_jobmask(1, MAPID_MERCHANT); + mask[1] = 1ULL << MAPID_MERCHANT; break; case JOB_HUNTER: - set_jobmask(1, MAPID_ARCHER); + mask[1] = 1ULL << MAPID_ARCHER; break; case JOB_ASSASSIN: - set_jobmask(1, MAPID_THIEF); + mask[1] = 1ULL << MAPID_THIEF; break; // 2-2 Classes case JOB_CRUSADER: - set_jobmask(2, MAPID_SWORDMAN); + mask[2] = 1ULL << MAPID_SWORDMAN; break; case JOB_MONK: - set_jobmask(2, MAPID_ACOLYTE); + mask[2] = 1ULL << MAPID_ACOLYTE; break; case JOB_SAGE: - set_jobmask(2, MAPID_MAGE); + mask[2] = 1ULL << MAPID_MAGE; break; case JOB_ALCHEMIST: - set_jobmask(2, MAPID_MERCHANT); + mask[2] = 1ULL << MAPID_MERCHANT; break; case JOB_BARD: - set_jobmask(2, MAPID_ARCHER); + mask[2] = 1ULL << MAPID_ARCHER; break; case JOB_ROGUE: - set_jobmask(2, MAPID_THIEF); + mask[2] = 1ULL << MAPID_THIEF; break; // Extended Classes case JOB_TAEKWON: - set_jobmask(0, MAPID_TAEKWON); + mask[0] = 1ULL << MAPID_TAEKWON; break; case JOB_STAR_GLADIATOR: - set_jobmask(1, MAPID_TAEKWON); + mask[1] = 1ULL << MAPID_TAEKWON; break; case JOB_SOUL_LINKER: - set_jobmask(2, MAPID_TAEKWON); + mask[2] = 1ULL << MAPID_TAEKWON; break; case JOB_GUNSLINGER: - set_jobmask(0, MAPID_GUNSLINGER); - set_jobmask(1, MAPID_GUNSLINGER); + mask[0] = 1ULL << MAPID_GUNSLINGER; + mask[1] = 1ULL << MAPID_GUNSLINGER; break; case JOB_NINJA: - set_jobmask(0, MAPID_NINJA); - set_jobmask(1, MAPID_NINJA); + mask[0] = 1ULL << MAPID_NINJA; + mask[1] = 1ULL << MAPID_NINJA; break; case JOB_KAGEROU: case JOB_OBORO: - set_jobmask(1, MAPID_NINJA); + mask[1] = 1ULL << MAPID_NINJA; break; case JOB_REBELLION: - set_jobmask(1, MAPID_GUNSLINGER); + mask[1] = 1ULL << MAPID_GUNSLINGER; break; // Other Classes - case JOB_GANGSI: //Bongun/Munak - set_jobmask(0, MAPID_GANGSI); + case JOB_GANGSI: //Bongun/Munak + mask[0] = 1ULL << MAPID_GANGSI; break; case JOB_DEATH_KNIGHT: - set_jobmask(1, MAPID_GANGSI); + mask[1] = 1ULL << MAPID_GANGSI; break; case JOB_DARK_COLLECTOR: - set_jobmask(2, MAPID_GANGSI); + mask[2] = 1ULL << MAPID_GANGSI; break; } -#undef set_jobmask + + for (i = 0; i < ARRAYLENGTH(mask); i++) { + if (mask[i] == 0) + continue; + if (enable) + bclass[i] |= mask[i]; + else + bclass[i] &= ~mask[i]; + } } /** @@ -463,77 +466,78 @@ void itemdb_jobid2mapid(uint64 *bclass, int job_id, bool enable) * @param bclass Pointer to the variable containing the new format. * @param jobmask Variable containing JobMask. */ -void itemdb_jobmask2mapid(uint64 *bclass, int64 jobmask) +void itemdb_jobmask2mapid(uint64 *bclass, uint64 jobmask) { int i; nullpo_retv(bclass); bclass[0] = bclass[1] = bclass[2] = 0; //Base classes - if (jobmask & 1<