diff --git a/Source/dthread.cpp b/Source/dthread.cpp index 2572562d9..597eea2b4 100644 --- a/Source/dthread.cpp +++ b/Source/dthread.cpp @@ -14,12 +14,12 @@ namespace devilution { struct DThreadPkt { - int pnum; + size_t pnum; _cmd_id cmd; std::unique_ptr data; uint32_t len; - DThreadPkt(int pnum, _cmd_id(cmd), std::unique_ptr data, uint32_t len) + DThreadPkt(size_t pnum, _cmd_id(cmd), std::unique_ptr data, uint32_t len) : pnum(pnum) , cmd(cmd) , data(std::move(data)) @@ -69,7 +69,7 @@ void dthread_remove_player(uint8_t pnum) }); } -void dthread_send_delta(int pnum, _cmd_id cmd, std::unique_ptr data, uint32_t len) +void dthread_send_delta(size_t pnum, _cmd_id cmd, std::unique_ptr data, uint32_t len) { if (!gbIsMultiplayer || !DthreadRunning) return; diff --git a/Source/dthread.h b/Source/dthread.h index a228dd763..473fefa4e 100644 --- a/Source/dthread.h +++ b/Source/dthread.h @@ -12,7 +12,7 @@ namespace devilution { void dthread_remove_player(uint8_t pnum); -void dthread_send_delta(int pnum, _cmd_id cmd, std::unique_ptr data, uint32_t len); +void dthread_send_delta(size_t pnum, _cmd_id cmd, std::unique_ptr data, uint32_t len); void dthread_start(); void DThreadCleanup(); diff --git a/Source/dvlnet/abstract_net.h b/Source/dvlnet/abstract_net.h index fcd498f2c..c7a217a39 100644 --- a/Source/dvlnet/abstract_net.h +++ b/Source/dvlnet/abstract_net.h @@ -25,7 +25,7 @@ class abstract_net { public: virtual int create(std::string addrstr) = 0; virtual int join(std::string addrstr) = 0; - virtual bool SNetReceiveMessage(int *sender, void **data, uint32_t *size) = 0; + virtual bool SNetReceiveMessage(size_t *sender, void **data, uint32_t *size) = 0; virtual bool SNetSendMessage(int dest, void *data, unsigned int size) = 0; virtual bool SNetReceiveTurns(char **data, size_t *size, uint32_t *status) = 0; virtual bool SNetSendTurn(char *data, unsigned int size) = 0; diff --git a/Source/dvlnet/base.cpp b/Source/dvlnet/base.cpp index 39c261c61..09e23fd77 100644 --- a/Source/dvlnet/base.cpp +++ b/Source/dvlnet/base.cpp @@ -184,7 +184,7 @@ void base::RecvLocal(packet &pkt) } } -bool base::SNetReceiveMessage(int *sender, void **data, uint32_t *size) +bool base::SNetReceiveMessage(size_t *sender, void **data, uint32_t *size) { poll(); if (message_queue.empty()) @@ -275,9 +275,9 @@ bool base::SNetReceiveTurns(char **data, size_t *size, uint32_t *status) playerState.lastTurnValue = turn.Value; turnQueue.pop_front(); - size[i] = sizeof(int32_t); status[i] |= PS_ACTIVE; status[i] |= PS_TURN_ARRIVED; + size[i] = sizeof(int32_t); data[i] = reinterpret_cast(&playerState.lastTurnValue); } @@ -303,7 +303,7 @@ bool base::SNetReceiveTurns(char **data, size_t *size, uint32_t *status) bool base::SNetSendTurn(char *data, unsigned int size) { - if (size != sizeof(int32_t)) + if (size != sizeof(uint32_t)) ABORT(); turn_t turn; diff --git a/Source/dvlnet/base.h b/Source/dvlnet/base.h index 5493738b4..28b34d5f2 100644 --- a/Source/dvlnet/base.h +++ b/Source/dvlnet/base.h @@ -19,7 +19,7 @@ public: virtual int create(std::string addrstr) = 0; virtual int join(std::string addrstr) = 0; - virtual bool SNetReceiveMessage(int *sender, void **data, uint32_t *size); + virtual bool SNetReceiveMessage(size_t *sender, void **data, uint32_t *size); virtual bool SNetSendMessage(int playerId, void *data, unsigned int size); virtual bool SNetReceiveTurns(char **data, size_t *size, uint32_t *status); virtual bool SNetSendTurn(char *data, unsigned int size); diff --git a/Source/dvlnet/cdwrap.h b/Source/dvlnet/cdwrap.h index 4d48b8ab4..093b6632d 100644 --- a/Source/dvlnet/cdwrap.h +++ b/Source/dvlnet/cdwrap.h @@ -26,7 +26,7 @@ private: public: virtual int create(std::string addrstr); virtual int join(std::string addrstr); - virtual bool SNetReceiveMessage(int *sender, void **data, uint32_t *size); + virtual bool SNetReceiveMessage(size_t *sender, void **data, uint32_t *size); virtual bool SNetSendMessage(int dest, void *data, unsigned int size); virtual bool SNetReceiveTurns(char **data, size_t *size, uint32_t *status); virtual bool SNetSendTurn(char *data, unsigned int size); @@ -95,7 +95,7 @@ void cdwrap::setup_gameinfo(buffer_t info) } template -bool cdwrap::SNetReceiveMessage(int *sender, void **data, uint32_t *size) +bool cdwrap::SNetReceiveMessage(size_t *sender, void **data, uint32_t *size) { return dvlnet_wrap->SNetReceiveMessage(sender, data, size); } diff --git a/Source/dvlnet/loopback.cpp b/Source/dvlnet/loopback.cpp index 9c4138138..59d91d390 100644 --- a/Source/dvlnet/loopback.cpp +++ b/Source/dvlnet/loopback.cpp @@ -18,7 +18,7 @@ int loopback::join(std::string /*addrstr*/) ABORT(); } -bool loopback::SNetReceiveMessage(int *sender, void **data, uint32_t *size) +bool loopback::SNetReceiveMessage(size_t *sender, void **data, uint32_t *size) { if (message_queue.empty()) return false; diff --git a/Source/dvlnet/loopback.h b/Source/dvlnet/loopback.h index 048081228..6431c8d8c 100644 --- a/Source/dvlnet/loopback.h +++ b/Source/dvlnet/loopback.h @@ -22,7 +22,7 @@ public: virtual int create(std::string addrstr); virtual int join(std::string addrstr); - virtual bool SNetReceiveMessage(int *sender, void **data, uint32_t *size); + virtual bool SNetReceiveMessage(size_t *sender, void **data, uint32_t *size); virtual bool SNetSendMessage(int dest, void *data, unsigned int size); virtual bool SNetReceiveTurns(char **data, size_t *size, uint32_t *status); virtual bool SNetSendTurn(char *data, unsigned int size); diff --git a/Source/engine/render/scrollrt.cpp b/Source/engine/render/scrollrt.cpp index 5aed6ecc8..95af241a4 100644 --- a/Source/engine/render/scrollrt.cpp +++ b/Source/engine/render/scrollrt.cpp @@ -506,7 +506,7 @@ void DrawPlayerIcons(const Surface &out, Player &player, Point position, bool in * @param nCel frame * @param nWidth width */ -void DrawPlayer(const Surface &out, int pnum, Point tilePosition, Point targetBufferPosition) +void DrawPlayer(const Surface &out, size_t pnum, Point tilePosition, Point targetBufferPosition) { if (!IsTileLit(tilePosition) && !MyPlayer->_pInfraFlag && leveltype != DTYPE_TOWN) { return; @@ -545,10 +545,10 @@ void DrawPlayer(const Surface &out, int pnum, Point tilePosition, Point targetBu return; } - if (pnum == pcursplr) + if (pnum == static_cast(pcursplr)) Cl2DrawOutline(out, 165, spriteBufferPosition.x, spriteBufferPosition.y, *sprite, nCel); - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { Cl2Draw(out, spriteBufferPosition.x, spriteBufferPosition.y, *sprite, nCel); DrawPlayerIcons(out, player, targetBufferPosition, false); return; @@ -802,7 +802,7 @@ void DrawMonsterHelper(const Surface &out, Point tilePosition, Point targetBuffe * @param tilePosition dPiece coordinates * @param targetBufferPosition Output buffer coordinates */ -void DrawPlayerHelper(const Surface &out, int p, Point tilePosition, Point targetBufferPosition) +void DrawPlayerHelper(const Surface &out, size_t p, Point tilePosition, Point targetBufferPosition) { Player &player = Players[p]; diff --git a/Source/inv.cpp b/Source/inv.cpp index bc80a4700..18539d38f 100644 --- a/Source/inv.cpp +++ b/Source/inv.cpp @@ -1944,14 +1944,11 @@ Item &GetInventoryItem(Player &player, int location) return player.SpdList[location - INVITEM_BELT_FIRST]; } -bool UseInvItem(int pnum, int cii) +bool UseInvItem(size_t pnum, int cii) { - int c; - Item *item; - Player &player = Players[pnum]; - if (player._pInvincible && player._pHitPoints == 0 && pnum == static_cast(MyPlayerId)) + if (player._pInvincible && player._pHitPoints == 0 && pnum == MyPlayerId) return true; if (pcurs != CURSOR_HAND) return true; @@ -1961,6 +1958,8 @@ bool UseInvItem(int pnum, int cii) return false; bool speedlist = false; + int c; + Item *item; if (cii <= INVITEM_INV_LAST) { c = cii - INVITEM_INV_FIRST; item = &player.InvList[c]; @@ -2050,7 +2049,7 @@ bool UseInvItem(int pnum, int cii) int idata = ItemCAnimTbl[item->_iCurs]; if (item->_iMiscId == IMISC_BOOK) PlaySFX(IS_RBOOK); - else if (pnum == static_cast(MyPlayerId)) + else if (pnum == MyPlayerId) PlaySFX(ItemInvSnds[idata]); UseItem(pnum, item->_iMiscId, item->_iSpell); diff --git a/Source/inv.h b/Source/inv.h index 338d01aff..f1bbe4236 100644 --- a/Source/inv.h +++ b/Source/inv.h @@ -227,7 +227,7 @@ bool UseScroll(spell_id spell); void UseStaffCharge(Player &player); bool UseStaff(spell_id spell); Item &GetInventoryItem(Player &player, int location); -bool UseInvItem(int pnum, int cii); +bool UseInvItem(size_t pnum, int cii); void DoTelekinesis(); int CalculateGold(Player &player); diff --git a/Source/items.cpp b/Source/items.cpp index 0cbfdcc9f..e2473b1f8 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -3837,7 +3837,7 @@ void PrintItemDur(const Item &item) PrintItemInfo(item); } -void UseItem(int pnum, item_misc_id mid, spell_id spl) +void UseItem(size_t pnum, item_misc_id mid, spell_id spl) { Player &player = Players[pnum]; @@ -3910,7 +3910,7 @@ void UseItem(int pnum, item_misc_id mid, spell_id spl) case IMISC_SCROLL: if (ControlMode == ControlTypes::KeyboardAndMouse && spelldata[spl].sTargeted) { player._pTSpell = spl; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NewCursor(CURSOR_TELEPORT); } else { ClrPlrPath(player); @@ -3920,14 +3920,14 @@ void UseItem(int pnum, item_misc_id mid, spell_id spl) player.destAction = ACTION_SPELL; player.destParam1 = cursPosition.x; player.destParam2 = cursPosition.y; - if (pnum == static_cast(MyPlayerId) && spl == SPL_NOVA) + if (pnum == MyPlayerId && spl == SPL_NOVA) NetSendCmdLoc(pnum, true, CMD_NOVA, cursPosition); } break; case IMISC_SCROLLT: if (ControlMode == ControlTypes::KeyboardAndMouse && spelldata[spl].sTargeted) { player._pTSpell = spl; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NewCursor(CURSOR_TELEPORT); } else { ClrPlrPath(player); @@ -3973,7 +3973,7 @@ void UseItem(int pnum, item_misc_id mid, spell_id spl) case IMISC_OILHARD: case IMISC_OILIMP: player._pOilType = mid; - if (pnum != static_cast(MyPlayerId)) { + if (pnum != MyPlayerId) { return; } if (sbookflag) { @@ -3992,27 +3992,27 @@ void UseItem(int pnum, item_misc_id mid, spell_id spl) break; case IMISC_RUNEF: player._pTSpell = SPL_RUNEFIRE; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NewCursor(CURSOR_TELEPORT); break; case IMISC_RUNEL: player._pTSpell = SPL_RUNELIGHT; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NewCursor(CURSOR_TELEPORT); break; case IMISC_GR_RUNEL: player._pTSpell = SPL_RUNENOVA; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NewCursor(CURSOR_TELEPORT); break; case IMISC_GR_RUNEF: player._pTSpell = SPL_RUNEIMMOLAT; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NewCursor(CURSOR_TELEPORT); break; case IMISC_RUNES: player._pTSpell = SPL_RUNESTONE; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NewCursor(CURSOR_TELEPORT); break; default: diff --git a/Source/items.h b/Source/items.h index 980715443..349f7119f 100644 --- a/Source/items.h +++ b/Source/items.h @@ -500,7 +500,7 @@ bool DoOil(Player &player, int cii); void DrawUniqueInfo(const Surface &out); void PrintItemDetails(const Item &item); void PrintItemDur(const Item &item); -void UseItem(int p, item_misc_id Mid, spell_id spl); +void UseItem(size_t pnum, item_misc_id Mid, spell_id spl); bool UseItemOpensHive(const Item &item, Point position); bool UseItemOpensCrypt(const Item &item, Point position); void SpawnSmith(int lvl); diff --git a/Source/minitext.cpp b/Source/minitext.cpp index e941d1758..64849d80c 100644 --- a/Source/minitext.cpp +++ b/Source/minitext.cpp @@ -21,7 +21,6 @@ namespace devilution { -/** Specify if the quest dialog window is being shown */ bool qtextflag; namespace { diff --git a/Source/minitext.h b/Source/minitext.h index 292a718af..024132e53 100644 --- a/Source/minitext.h +++ b/Source/minitext.h @@ -10,6 +10,7 @@ namespace devilution { +/** Specify if the quest dialog window is being shown */ extern bool qtextflag; /** diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 74a1f2761..8c1ae1ee0 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -182,7 +182,7 @@ void MoveMissilePos(Missile &missile) } } -bool MonsterMHit(int pnum, int m, int mindam, int maxdam, int dist, missile_id t, bool shift) +bool MonsterMHit(size_t pnum, int m, int mindam, int maxdam, int dist, missile_id t, bool shift) { auto &monster = Monsters[m]; @@ -237,7 +237,7 @@ bool MonsterMHit(int pnum, int m, int mindam, int maxdam, int dist, missile_id t if (resist) dam >>= 2; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) monster._mhitpoints -= dam; if ((gbIsHellfire && HasAnyOf(player._pIFlags, ItemSpecialEffect::NoHealOnMonsters)) || (!gbIsHellfire && HasAnyOf(player._pIFlags, ItemSpecialEffect::FireArrows))) @@ -262,7 +262,7 @@ bool MonsterMHit(int pnum, int m, int mindam, int maxdam, int dist, missile_id t return true; } -bool Plr2PlrMHit(int pnum, int p, int mindam, int maxdam, int dist, missile_id mtype, bool shift, bool *blocked) +bool Plr2PlrMHit(size_t pnum, int p, int mindam, int maxdam, int dist, missile_id mtype, bool shift, bool *blocked) { Player &player = Players[pnum]; auto &target = Players[p]; @@ -342,7 +342,7 @@ bool Plr2PlrMHit(int pnum, int p, int mindam, int maxdam, int dist, missile_id m dam /= 2; if (resper > 0) { dam -= (dam * resper) / 100; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdDamage(true, p, dam); target.Say(HeroSpeech::ArghClang); return true; @@ -352,7 +352,7 @@ bool Plr2PlrMHit(int pnum, int p, int mindam, int maxdam, int dist, missile_id m StartPlrBlock(p, GetDirection(target.position.tile, player.position.tile)); *blocked = true; } else { - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdDamage(true, p, dam); StartPlrHit(p, dam, false); } @@ -800,9 +800,9 @@ void GetDamageAmt(int i, int *mind, int *maxd) } } -int GetSpellLevel(int playerId, spell_id sn) +int GetSpellLevel(size_t playerId, spell_id sn) { - if (playerId != static_cast(MyPlayerId)) + if (playerId != MyPlayerId) return 1; // BUGFIX spell level will be wrong in multiplayer Player &player = Players[playerId]; @@ -888,7 +888,7 @@ bool MonsterTrapHit(int m, int mindam, int maxdam, int dist, missile_id t, bool return true; } -bool PlayerMHit(int pnum, Monster *monster, int dist, int mind, int maxd, missile_id mtype, bool shift, int earflag, bool *blocked) +bool PlayerMHit(size_t pnum, Monster *monster, int dist, int mind, int maxd, missile_id mtype, bool shift, int earflag, bool *blocked) { *blocked = false; @@ -1004,7 +1004,7 @@ bool PlayerMHit(int pnum, Monster *monster, int dist, int mind, int maxd, missil if (resper > 0) { dam -= dam * resper / 100; - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { ApplyPlrDamage(pnum, 0, 0, dam, earflag); } @@ -1014,7 +1014,7 @@ bool PlayerMHit(int pnum, Monster *monster, int dist, int mind, int maxd, missil return true; } - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { ApplyPlrDamage(pnum, 0, 0, dam, earflag); } @@ -1040,8 +1040,7 @@ void InitMissiles() if (myPlayer._pInfraFlag) { for (auto &missile : Missiles) { if (missile._mitype == MIS_INFRA) { - int src = missile._misource; - if (src == static_cast(MyPlayerId)) + if (static_cast(missile._misource) == MyPlayerId) CalcPlrItemVals(myPlayer, true); } } @@ -1052,7 +1051,7 @@ void InitMissiles() myPlayer._pSpellFlags &= ~SpellFlag::RageCooldown; for (auto &missile : Missiles) { if (missile._mitype == MIS_BLODBOIL) { - if (missile._misource == static_cast(MyPlayerId)) { + if (static_cast(missile._misource) == MyPlayerId) { int missingHP = myPlayer._pMaxHP - myPlayer._pHitPoints; CalcPlrItemVals(myPlayer, true); ApplyPlrDamage(MyPlayerId, 0, 1, missingHP + missile.var2); @@ -1121,7 +1120,7 @@ void AddReflection(Missile &missile, const AddMissileParameter & /*parameter*/) if (player.wReflections + add >= std::numeric_limits::max()) add = 0; player.wReflections += add; - if (missile._misource == static_cast(MyPlayerId)) + if (static_cast(missile._misource) == MyPlayerId) NetSendCmdParam1(true, CMD_SETREFLECT, player.wReflections); UseMana(missile._misource, SPL_REFLECT); @@ -1487,7 +1486,7 @@ void AddRing(Missile &missile, const AddMissileParameter & /*parameter*/) void AddSearch(Missile &missile, const AddMissileParameter & /*parameter*/) { - if (missile._misource == static_cast(MyPlayerId)) + if (static_cast(missile._misource) == MyPlayerId) AutoMapShowItems = true; int lvl = 2; if (missile._misource >= 0) @@ -1876,7 +1875,7 @@ void AddTown(Missile &missile, const AddMissileParameter ¶meter) other._mirange = 0; } PutMissile(missile); - if (missile._misource == static_cast(MyPlayerId) && !missile._miDelFlag && leveltype != DTYPE_TOWN) { + if (static_cast(missile._misource) == MyPlayerId && !missile._miDelFlag && leveltype != DTYPE_TOWN) { if (!setlevel) { NetSendCmdLocParam3(true, CMD_ACTIVATEPORTAL, missile.position.tile, currlevel, leveltype, 0); } else { @@ -1931,7 +1930,7 @@ void AddManashield(Missile &missile, const AddMissileParameter & /*parameter*/) return; player.pManaShield = true; - if (missile._misource == static_cast(MyPlayerId)) + if (static_cast(missile._misource) == MyPlayerId) NetSendCmd(true, CMD_SETSHIELD); if (missile._micaster == TARGET_MONSTERS) @@ -2157,14 +2156,9 @@ void AddGolem(Missile &missile, const AddMissileParameter ¶meter) { missile._miDelFlag = true; - int playerId = missile._misource; + size_t playerId = static_cast(missile._misource); - for (auto &other : Missiles) { - if (other._mitype == MIS_GOLEM && &other != &missile && other._misource == playerId) { - return; - } - } - if (Monsters[playerId].position.tile != GolemHoldingCell && playerId == static_cast(MyPlayerId)) + if (Monsters[playerId].position.tile != GolemHoldingCell && playerId == MyPlayerId) M_StartKill(playerId, playerId); UseMana(playerId, SPL_GOLEM); @@ -2216,7 +2210,7 @@ void AddHealOther(Missile &missile, const AddMissileParameter & /*parameter*/) { missile._miDelFlag = true; UseMana(missile._misource, SPL_HEALOTHER); - if (missile._misource == static_cast(MyPlayerId)) { + if (static_cast(missile._misource) == MyPlayerId) { NewCursor(CURSOR_HEALOTHER); if (ControlMode != ControlTypes::KeyboardAndMouse) TryIconCurs(); @@ -2250,7 +2244,7 @@ void AddIdentify(Missile &missile, const AddMissileParameter & /*parameter*/) { missile._miDelFlag = true; UseMana(missile._misource, SPL_IDENTIFY); - if (missile._misource == static_cast(MyPlayerId)) { + if (static_cast(missile._misource) == MyPlayerId) { if (sbookflag) sbookflag = false; if (!invflag) { @@ -2347,7 +2341,7 @@ void AddRepair(Missile &missile, const AddMissileParameter & /*parameter*/) { missile._miDelFlag = true; UseMana(missile._misource, SPL_REPAIR); - if (missile._misource == static_cast(MyPlayerId)) { + if (static_cast(missile._misource) == MyPlayerId) { if (sbookflag) sbookflag = false; if (!invflag) { @@ -2363,7 +2357,7 @@ void AddRecharge(Missile &missile, const AddMissileParameter & /*parameter*/) { missile._miDelFlag = true; UseMana(missile._misource, SPL_RECHARGE); - if (missile._misource == static_cast(MyPlayerId)) { + if (static_cast(missile._misource) == MyPlayerId) { if (sbookflag) sbookflag = false; if (!invflag) { @@ -2379,7 +2373,7 @@ void AddDisarm(Missile &missile, const AddMissileParameter & /*parameter*/) { missile._miDelFlag = true; UseMana(missile._misource, SPL_DISARM); - if (missile._misource == static_cast(MyPlayerId)) { + if (static_cast(missile._misource) == MyPlayerId) { NewCursor(CURSOR_DISARM); if (ControlMode != ControlTypes::KeyboardAndMouse) { if (pcursobj != -1) @@ -2477,7 +2471,7 @@ void AddHbolt(Missile &missile, const AddMissileParameter ¶meter) void AddResurrect(Missile &missile, const AddMissileParameter & /*parameter*/) { UseMana(missile._misource, SPL_RESURRECT); - if (missile._misource == static_cast(MyPlayerId)) { + if (static_cast(missile._misource) == MyPlayerId) { NewCursor(CURSOR_RESURRECT); if (ControlMode != ControlTypes::KeyboardAndMouse) TryIconCurs(); @@ -2496,7 +2490,7 @@ void AddTelekinesis(Missile &missile, const AddMissileParameter & /*parameter*/) { missile._miDelFlag = true; UseMana(missile._misource, SPL_TELEKINESIS); - if (missile._misource == static_cast(MyPlayerId)) + if (static_cast(missile._misource) == MyPlayerId) NewCursor(CURSOR_TELEKINESIS); } @@ -3028,7 +3022,7 @@ void MI_Search(Missile &missile) missile._miDelFlag = true; PlaySfxLoc(IS_CAST7, Players[missile._misource].position.tile); - if (missile._misource == static_cast(MyPlayerId)) + if (static_cast(missile._misource) == MyPlayerId) AutoMapShowItems = false; } @@ -3440,7 +3434,7 @@ void MI_Teleport(Missile &missile) return; } - int id = missile._misource; + size_t id = static_cast(missile._misource); Player &player = Players[id]; dPlayer[player.position.tile.x][player.position.tile.y] = 0; @@ -3455,7 +3449,7 @@ void MI_Teleport(Missile &missile) ChangeLightXY(player._plid, player.position.tile); ChangeVisionXY(player._pvid, player.position.tile); } - if (id == static_cast(MyPlayerId)) { + if (id == MyPlayerId) { ViewPosition = Point { 0, 0 } + (player.position.tile - ScrollInfo.tile); } } diff --git a/Source/missiles.h b/Source/missiles.h index 6977c0eee..62a6ff10e 100644 --- a/Source/missiles.h +++ b/Source/missiles.h @@ -138,7 +138,7 @@ extern std::list Missiles; extern bool MissilePreFlag; void GetDamageAmt(int i, int *mind, int *maxd); -int GetSpellLevel(int playerId, spell_id sn); +int GetSpellLevel(size_t playerId, spell_id sn); /** * @brief Returns the direction a vector from p1(x1, y1) to p2(x2, y2) is pointing to. @@ -161,7 +161,7 @@ int GetSpellLevel(int playerId, spell_id sn); */ Direction16 GetDirection16(Point p1, Point p2); bool MonsterTrapHit(int m, int mindam, int maxdam, int dist, missile_id t, bool shift); -bool PlayerMHit(int pnum, Monster *monster, int dist, int mind, int maxd, missile_id mtype, bool shift, int earflag, bool *blocked); +bool PlayerMHit(size_t pnum, Monster *monster, int dist, int mind, int maxd, missile_id mtype, bool shift, int earflag, bool *blocked); /** * @brief Could the missile collide with solid objects? (like walls or closed doors) diff --git a/Source/monster.cpp b/Source/monster.cpp index f36718751..824a2dc6c 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -1293,7 +1293,7 @@ void MonsterAttackMonster(int i, int mid, int hper, int mind, int maxd) } } -void CheckReflect(int mon, int pnum, int dam) +void CheckReflect(size_t mon, size_t pnum, int dam) { auto &monster = Monsters[mon]; Player &player = Players[pnum]; @@ -1311,9 +1311,9 @@ void CheckReflect(int mon, int pnum, int dam) M_StartHit(mon, pnum, mdam); } -void MonsterAttackPlayer(int i, int pnum, int hit, int minDam, int maxDam) +void MonsterAttackPlayer(size_t i, size_t pnum, int hit, int minDam, int maxDam) { - assert(i >= 0 && i < MAXMONSTERS); + assert(i < MAXMONSTERS); auto &monster = Monsters[i]; assert(monster.MType != nullptr); @@ -1361,14 +1361,14 @@ void MonsterAttackPlayer(int i, int pnum, int hit, int minDam, int maxDam) if (blkper < blk) { Direction dir = GetDirection(player.position.tile, monster.position.tile); StartPlrBlock(pnum, dir); - if (pnum == static_cast(MyPlayerId) && player.wReflections > 0) { + if (pnum == MyPlayerId && player.wReflections > 0) { int dam = GenerateRnd(((maxDam - minDam) << 6) + 1) + (minDam << 6); dam = std::max(dam + (player._pIGetHit << 6), 64); CheckReflect(i, pnum, dam); } return; } - if (monster.MType->mtype == MT_YZOMBIE && pnum == static_cast(MyPlayerId)) { + if (monster.MType->mtype == MT_YZOMBIE && pnum == MyPlayerId) { if (player._pMaxHP > 64) { if (player._pMaxHPBase > 64) { player._pMaxHP -= 64; @@ -1384,7 +1384,7 @@ void MonsterAttackPlayer(int i, int pnum, int hit, int minDam, int maxDam) } int dam = (minDam << 6) + GenerateRnd(((maxDam - minDam) << 6) + 1); dam = std::max(dam + (player._pIGetHit << 6), 64); - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { if (player.wReflections > 0) CheckReflect(i, pnum, dam); ApplyPlrDamage(pnum, 0, 0, dam); @@ -3720,7 +3720,7 @@ void InitMonsterGFX(int monst) MissileSpriteData[MFILE_FIREPLAR].LoadGFX(); } -void monster_some_crypt() +void WeakenNaKrul() { if (currlevel != 24 || UberDiabloMonsterIndex < 0 || UberDiabloMonsterIndex >= ActiveMonsterCount) return; @@ -3949,12 +3949,12 @@ void M_StartHit(int i, int dam) } } -void M_StartHit(int i, int pnum, int dam) +void M_StartHit(int i, size_t pnum, int dam) { Monster &monster = Monsters[i]; monster.mWhoHit |= 1 << pnum; - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { delta_monster_hp(i, monster._mhitpoints, *MyPlayer); NetSendCmdMonDmg(false, i, dam); } @@ -3968,21 +3968,21 @@ void M_StartHit(int i, int pnum, int dam) M_StartHit(i, dam); } -void StartMonsterDeath(int mid, int pnum, bool sendmsg) +void StartMonsterDeath(size_t mid, int pnum, bool sendmsg) { - assert(mid >= 0 && mid < MAXMONSTERS); + assert(mid < MAXMONSTERS); Monster &monster = Monsters[mid]; Direction md = pnum >= 0 ? GetDirection(monster.position.tile, Players[pnum].position.tile) : monster._mdir; MonsterDeath(mid, pnum, md, sendmsg); } -void M_StartKill(int i, int pnum) +void M_StartKill(size_t i, size_t pnum) { - assert(i >= 0 && i < MAXMONSTERS); + assert(i < MAXMONSTERS); auto &monster = Monsters[i]; - if (static_cast(MyPlayerId) == pnum) { + if (pnum == MyPlayerId) { delta_kill_monster(i, monster.position.tile, *MyPlayer); if (i != pnum) { NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster.position.tile, i); @@ -4829,13 +4829,13 @@ void TalktoMonster(Monster &monster) } } -void SpawnGolem(int i, Point position, Missile &missile) +void SpawnGolem(size_t pnum, Point position, Missile &missile) { - assert(i >= 0 && static_cast(i) < Players.size()); - Player &player = Players[i]; - auto &golem = Monsters[i]; + assert(pnum < Players.size()); + Player &player = Players[pnum]; + auto &golem = Monsters[pnum]; - dMonster[position.x][position.y] = i + 1; + dMonster[position.x][position.y] = pnum + 1; golem.position.tile = position; golem.position.future = position; golem.position.old = position; @@ -4849,7 +4849,7 @@ void SpawnGolem(int i, Point position, Missile &missile) golem._mFlags |= MFLAG_GOLEM; StartSpecialStand(golem, Direction::South); UpdateEnemy(golem); - if (i == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { NetSendCmdGolem( golem.position.tile.x, golem.position.tile.y, diff --git a/Source/monster.h b/Source/monster.h index 3130905ca..a0e43231a 100644 --- a/Source/monster.h +++ b/Source/monster.h @@ -276,7 +276,7 @@ void PrepareUniqueMonst(Monster &monster, int uniqindex, int miniontype, int bos void InitLevelMonsters(); void GetLevelMTypes(); void InitMonsterGFX(int monst); -void monster_some_crypt(); +void WeakenNaKrul(); void InitGolems(); void InitMonsters(); void SetMapMonsters(const uint16_t *dunData, Point startPosition); @@ -287,9 +287,9 @@ void M_StartStand(Monster &monster, Direction md); void M_ClearSquares(int i); void M_GetKnockback(int i); void M_StartHit(int i, int dam); -void M_StartHit(int i, int pnum, int dam); -void StartMonsterDeath(int mid, int pnum, bool sendmsg); -void M_StartKill(int i, int pnum); +void M_StartHit(int i, size_t pnum, int dam); +void StartMonsterDeath(size_t mid, int pnum, bool sendmsg); +void M_StartKill(size_t i, size_t pnum); void M_SyncStartKill(int i, Point position, int pnum); void M_UpdateLeader(int i); void DoEnding(); @@ -319,7 +319,7 @@ bool IsGoat(_monster_id mt); bool SpawnSkeleton(int ii, Point position); int PreSpawnSkeleton(); void TalktoMonster(Monster &monster); -void SpawnGolem(int i, Point position, Missile &missile); +void SpawnGolem(size_t pnum, Point position, Missile &missile); bool CanTalkToMonst(const Monster &monster); int encode_enemy(Monster &monster); void decode_enemy(Monster &monster, int enemyId); diff --git a/Source/msg.cpp b/Source/msg.cpp index 1f2ebfa07..aac82a78a 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -667,9 +667,9 @@ void DeltaOpenPortal(int pnum, Point position, uint8_t bLevel, dungeon_type bLTy sgJunk.portal[pnum].setlvl = bSetLvl ? 1 : 0; } -void CheckUpdatePlayer(int pnum) +void CheckUpdatePlayer(size_t pnum) { - if (gbIsMultiplayer && pnum == static_cast(MyPlayerId)) + if (gbIsMultiplayer && pnum == MyPlayerId) pfile_update(true); } @@ -742,7 +742,7 @@ DWORD OnWalk(const TCmd *pCmd, Player &player) return sizeof(message); } -DWORD OnAddStrength(const TCmd *pCmd, int pnum) +DWORD OnAddStrength(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); @@ -754,7 +754,7 @@ DWORD OnAddStrength(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnAddMagic(const TCmd *pCmd, int pnum) +DWORD OnAddMagic(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); @@ -766,7 +766,7 @@ DWORD OnAddMagic(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnAddDexterity(const TCmd *pCmd, int pnum) +DWORD OnAddDexterity(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); @@ -778,7 +778,7 @@ DWORD OnAddDexterity(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnAddVitality(const TCmd *pCmd, int pnum) +DWORD OnAddVitality(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); @@ -988,7 +988,7 @@ DWORD OnItemExtra(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnPutItem(const TCmd *pCmd, int pnum) +DWORD OnPutItem(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); @@ -999,7 +999,7 @@ DWORD OnPutItem(const TCmd *pCmd, int pnum) Player &player = Players[pnum]; if (player.isOnActiveLevel()) { int ii; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) ii = InvPutItem(player, position, ItemLimbo); else ii = SyncPutItem(player, position, message.wIndx, message.wCI, message.dwSeed, message.bId, message.bDur, message.bMDur, message.bCh, message.bMCh, message.wValue, message.dwBuff, message.wToHit, message.wMaxDam, message.bMinStr, message.bMinMag, message.bMinDex, message.bAC); @@ -1046,7 +1046,7 @@ DWORD OnSyncPutItem(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnRespawnItem(const TCmd *pCmd, int pnum) +DWORD OnRespawnItem(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); @@ -1055,7 +1055,7 @@ DWORD OnRespawnItem(const TCmd *pCmd, int pnum) } else if (IsPItemValid(message)) { const Point position { message.x, message.y }; Player &player = Players[pnum]; - if (player.isOnActiveLevel() && pnum != static_cast(MyPlayerId)) { + if (player.isOnActiveLevel() && pnum != MyPlayerId) { SyncPutItem(player, position, message.wIndx, message.wCI, message.dwSeed, message.bId, message.bDur, message.bMDur, message.bCh, message.bMCh, message.wValue, message.dwBuff, message.wToHit, message.wMaxDam, message.bMinStr, message.bMinMag, message.bMinDex, message.bAC); } PutItemRecord(message.dwSeed, message.wCI, message.wIndx); @@ -1430,7 +1430,7 @@ DWORD OnTargetSpellPlayer(const TCmd *pCmd, Player &player) return sizeof(message); } -DWORD OnKnockback(const TCmd *pCmd, int pnum) +DWORD OnKnockback(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); @@ -1483,13 +1483,13 @@ DWORD OnTalkXY(const TCmd *pCmd, Player &player) return sizeof(message); } -DWORD OnNewLevel(const TCmd *pCmd, int pnum) +DWORD OnNewLevel(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); if (gbBufferMsgs == 1) { SendPacket(pnum, &message, sizeof(message)); - } else if (pnum != static_cast(MyPlayerId)) { + } else if (pnum != MyPlayerId) { if (message.wParam1 < WM_FIRST || message.wParam1 > WM_LAST) return sizeof(message); @@ -1506,7 +1506,7 @@ DWORD OnNewLevel(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnWarp(const TCmd *pCmd, int pnum) +DWORD OnWarp(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); @@ -1519,14 +1519,14 @@ DWORD OnWarp(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnMonstDeath(const TCmd *pCmd, int pnum) +DWORD OnMonstDeath(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); const Point position { message.x, message.y }; if (gbBufferMsgs == 1) SendPacket(pnum, &message, sizeof(message)); - else if (pnum != static_cast(MyPlayerId) && InDungeonBounds(position) && message.wParam1 < MAXMONSTERS) { + else if (pnum != MyPlayerId && InDungeonBounds(position) && message.wParam1 < MAXMONSTERS) { Player &player = Players[pnum]; if (player.isOnActiveLevel()) M_SyncStartKill(message.wParam1, position, pnum); @@ -1536,14 +1536,14 @@ DWORD OnMonstDeath(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnKillGolem(const TCmd *pCmd, int pnum) +DWORD OnKillGolem(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); const Point position { message.x, message.y }; if (gbBufferMsgs == 1) SendPacket(pnum, &message, sizeof(message)); - else if (pnum != static_cast(MyPlayerId) && InDungeonBounds(position)) { + else if (pnum != MyPlayerId && InDungeonBounds(position)) { Player &player = Players[pnum]; if (player.isOnActiveLevel()) M_SyncStartKill(pnum, position, pnum); @@ -1553,7 +1553,7 @@ DWORD OnKillGolem(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnAwakeGolem(const TCmd *pCmd, int pnum) +DWORD OnAwakeGolem(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); const Point position { message._mx, message._my }; @@ -1563,10 +1563,10 @@ DWORD OnAwakeGolem(const TCmd *pCmd, int pnum) } else if (InDungeonBounds(position)) { if (!Players[pnum].isOnActiveLevel()) { DeltaSyncGolem(message, pnum, message._currlevel); - } else if (pnum != static_cast(MyPlayerId)) { + } else if (pnum != MyPlayerId) { // Check if this player already has an active golem for (auto &missile : Missiles) { - if (missile._mitype == MIS_GOLEM && missile._misource == pnum) { + if (missile._mitype == MIS_GOLEM && static_cast(missile._misource) == pnum) { return sizeof(message); } } @@ -1578,13 +1578,13 @@ DWORD OnAwakeGolem(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnMonstDamage(const TCmd *pCmd, int pnum) +DWORD OnMonstDamage(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); if (gbBufferMsgs == 1) { SendPacket(pnum, &message, sizeof(message)); - } else if (pnum != static_cast(MyPlayerId)) { + } else if (pnum != MyPlayerId) { Player &player = Players[pnum]; if (player.isOnActiveLevel() && message.wMon < MAXMONSTERS) { auto &monster = Monsters[message.wMon]; @@ -1601,13 +1601,13 @@ DWORD OnMonstDamage(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnPlayerDeath(const TCmd *pCmd, int pnum) +DWORD OnPlayerDeath(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); if (gbBufferMsgs == 1) SendPacket(pnum, &message, sizeof(message)); - else if (pnum != static_cast(MyPlayerId)) + else if (pnum != MyPlayerId) StartPlayerKill(pnum, message.wParam1); else CheckUpdatePlayer(pnum); @@ -1709,7 +1709,7 @@ DWORD OnBreakObject(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnChangePlayerItems(const TCmd *pCmd, int pnum) +DWORD OnChangePlayerItems(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); Player &player = Players[pnum]; @@ -1721,7 +1721,7 @@ DWORD OnChangePlayerItems(const TCmd *pCmd, int pnum) if (gbBufferMsgs == 1) { SendPacket(pnum, &message, sizeof(message)); - } else if (pnum != static_cast(MyPlayerId) && message.wIndx <= IDI_LAST) { + } else if (pnum != MyPlayerId && message.wIndx <= IDI_LAST) { CheckInvSwap(player, bodyLocation, message.wIndx, message.wCI, message.dwSeed, message.bId != 0, message.dwBuff); } @@ -1730,25 +1730,25 @@ DWORD OnChangePlayerItems(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnDeletePlayerItems(const TCmd *pCmd, int pnum) +DWORD OnDeletePlayerItems(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); if (gbBufferMsgs == 1) SendPacket(pnum, &message, sizeof(message)); - else if (pnum != static_cast(MyPlayerId) && message.bLoc < NUM_INVLOC) + else if (pnum != MyPlayerId && message.bLoc < NUM_INVLOC) inv_update_rem_item(Players[pnum], static_cast(message.bLoc)); return sizeof(message); } -DWORD OnPlayerLevel(const TCmd *pCmd, int pnum) +DWORD OnPlayerLevel(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); if (gbBufferMsgs == 1) SendPacket(pnum, &message, sizeof(message)); - else if (message.wParam1 <= MAXCHARLEVEL && pnum != static_cast(MyPlayerId)) + else if (message.wParam1 <= MAXCHARLEVEL && pnum != MyPlayerId) Players[pnum]._pLevel = static_cast(message.wParam1); return sizeof(message); @@ -1767,7 +1767,7 @@ DWORD OnDropItem(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnSpawnItem(const TCmd *pCmd, int pnum) +DWORD OnSpawnItem(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); @@ -1776,7 +1776,7 @@ DWORD OnSpawnItem(const TCmd *pCmd, int pnum) } else if (IsPItemValid(message)) { Player &player = Players[pnum]; Point position = { message.x, message.y }; - if (player.isOnActiveLevel() && pnum != static_cast(MyPlayerId)) { + if (player.isOnActiveLevel() && pnum != MyPlayerId) { SyncDropItem(position, message.wIndx, message.wCI, message.dwSeed, message.bId, message.bDur, message.bMDur, message.bCh, message.bMCh, message.wValue, message.dwBuff, message.wToHit, message.wMaxDam, message.bMinStr, message.bMinMag, message.bMinDex, message.bAC); } PutItemRecord(message.dwSeed, message.wCI, message.wIndx); @@ -1786,7 +1786,7 @@ DWORD OnSpawnItem(const TCmd *pCmd, int pnum) return sizeof(message); } -DWORD OnSendPlayerInfo(const TCmd *pCmd, int pnum) +DWORD OnSendPlayerInfo(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); @@ -1798,7 +1798,7 @@ DWORD OnSendPlayerInfo(const TCmd *pCmd, int pnum) return message.wBytes + sizeof(message); } -DWORD OnPlayerJoinLevel(const TCmd *pCmd, int pnum) +DWORD OnPlayerJoinLevel(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); const Point position { message.x, message.y }; @@ -1824,7 +1824,7 @@ DWORD OnPlayerJoinLevel(const TCmd *pCmd, int pnum) EventPlrMsg(fmt::format(fmt::runtime(_("Player '{:s}' (level {:d}) just joined the game")), player._pName, player._pLevel)); } - if (player.plractive && static_cast(MyPlayerId) != pnum) { + if (player.plractive && pnum != MyPlayerId) { player.position.tile = position; if (isSetLevel) player.setLevel(static_cast<_setlevels>(playerLevel)); @@ -1843,14 +1843,14 @@ DWORD OnPlayerJoinLevel(const TCmd *pCmd, int pnum) dFlags[player.position.tile.x][player.position.tile.y] |= DungeonFlag::DeadPlayer; } - player._pvid = AddVision(player.position.tile, player._pLightRad, pnum == static_cast(MyPlayerId)); + player._pvid = AddVision(player.position.tile, player._pLightRad, pnum == MyPlayerId); } } return sizeof(message); } -DWORD OnActivatePortal(const TCmd *pCmd, int pnum) +DWORD OnActivatePortal(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); const Point position { message.x, message.y }; @@ -1863,13 +1863,13 @@ DWORD OnActivatePortal(const TCmd *pCmd, int pnum) auto dungeonType = static_cast(message.wParam2); ActivatePortal(pnum, position, level, dungeonType, isSetLevel); - if (pnum != static_cast(MyPlayerId)) { + if (pnum != MyPlayerId) { if (leveltype == DTYPE_TOWN) { AddInTownPortal(pnum); } else if (Players[pnum].isOnActiveLevel()) { bool addPortal = true; for (auto &missile : Missiles) { - if (missile._mitype == MIS_TOWN && missile._misource == pnum) { + if (missile._mitype == MIS_TOWN && static_cast(missile._misource) == pnum) { addPortal = false; break; } @@ -1901,12 +1901,12 @@ DWORD OnDeactivatePortal(const TCmd *pCmd, int pnum) return sizeof(*pCmd); } -DWORD OnRestartTown(const TCmd *pCmd, int pnum) +DWORD OnRestartTown(const TCmd *pCmd, size_t pnum) { if (gbBufferMsgs == 1) { SendPacket(pnum, pCmd, sizeof(*pCmd)); } else { - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { MyPlayerIsDead = false; gamemenu_off(); } @@ -1916,49 +1916,49 @@ DWORD OnRestartTown(const TCmd *pCmd, int pnum) return sizeof(*pCmd); } -DWORD OnSetStrength(const TCmd *pCmd, int pnum) +DWORD OnSetStrength(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); if (gbBufferMsgs == 1) SendPacket(pnum, &message, sizeof(message)); - else if (message.wParam1 <= 750 && pnum != static_cast(MyPlayerId)) + else if (message.wParam1 <= 750 && pnum != MyPlayerId) SetPlrStr(Players[pnum], message.wParam1); return sizeof(message); } -DWORD OnSetDexterity(const TCmd *pCmd, int pnum) +DWORD OnSetDexterity(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); if (gbBufferMsgs == 1) SendPacket(pnum, &message, sizeof(message)); - else if (message.wParam1 <= 750 && pnum != static_cast(MyPlayerId)) + else if (message.wParam1 <= 750 && pnum != MyPlayerId) SetPlrDex(Players[pnum], message.wParam1); return sizeof(message); } -DWORD OnSetMagic(const TCmd *pCmd, int pnum) +DWORD OnSetMagic(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); if (gbBufferMsgs == 1) SendPacket(pnum, &message, sizeof(message)); - else if (message.wParam1 <= 750 && pnum != static_cast(MyPlayerId)) + else if (message.wParam1 <= 750 && pnum != MyPlayerId) SetPlrMag(Players[pnum], message.wParam1); return sizeof(message); } -DWORD OnSetVitality(const TCmd *pCmd, int pnum) +DWORD OnSetVitality(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); if (gbBufferMsgs == 1) SendPacket(pnum, &message, sizeof(message)); - else if (message.wParam1 <= 750 && pnum != static_cast(MyPlayerId)) + else if (message.wParam1 <= 750 && pnum != MyPlayerId) SetPlrVit(Players[pnum], message.wParam1); return sizeof(message); @@ -1982,14 +1982,14 @@ DWORD OnFriendlyMode(const TCmd *pCmd, Player &player) // NOLINT(misc-unused-par return sizeof(*pCmd); } -DWORD OnSyncQuest(const TCmd *pCmd, int pnum) +DWORD OnSyncQuest(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); if (gbBufferMsgs == 1) { SendPacket(pnum, &message, sizeof(message)); } else { - if (pnum != static_cast(MyPlayerId) && message.q < MAXQUESTS && message.qstate <= QUEST_HIVE_DONE) + if (pnum != MyPlayerId && message.q < MAXQUESTS && message.qstate <= QUEST_HIVE_DONE) SetMultiQuest(message.q, message.qstate, message.qlog != 0, message.qvar1); sgbDeltaChanged = true; } @@ -2031,14 +2031,14 @@ DWORD OnDebug(const TCmd *pCmd) return sizeof(*pCmd); } -DWORD OnNova(const TCmd *pCmd, int pnum) +DWORD OnNova(const TCmd *pCmd, size_t pnum) { const auto &message = *reinterpret_cast(pCmd); const Point position { message.x, message.y }; if (gbBufferMsgs != 1) { Player &player = Players[pnum]; - if (player.isOnActiveLevel() && pnum != static_cast(MyPlayerId) && InDungeonBounds(position)) { + if (player.isOnActiveLevel() && pnum != MyPlayerId && InDungeonBounds(position)) { ClrPlrPath(player); player._pSpell = SPL_NOVA; player._pSplType = RSPLTYPE_INVALID; @@ -2087,7 +2087,7 @@ DWORD OnNakrul(const TCmd *pCmd) } IsUberRoomOpened = true; Quests[Q_NAKRUL]._qactive = QUEST_DONE; - monster_some_crypt(); + WeakenNaKrul(); } return sizeof(*pCmd); } @@ -2174,7 +2174,7 @@ void run_delta_info() FreePackets(); } -void DeltaExportData(int pnum) +void DeltaExportData(size_t pnum) { if (sgbDeltaChanged) { for (auto &it : DeltaLevels) { @@ -2560,9 +2560,9 @@ void NetSendCmdGolem(uint8_t mx, uint8_t my, Direction dir, uint8_t menemy, int NetSendLoPri(MyPlayerId, (byte *)&cmd, sizeof(cmd)); } -void NetSendCmdLoc(int playerId, bool bHiPri, _cmd_id bCmd, Point position) +void NetSendCmdLoc(size_t playerId, bool bHiPri, _cmd_id bCmd, Point position) { - if (playerId == static_cast(MyPlayerId) && WasPlayerCmdAlreadyRequested(bCmd, position)) + if (playerId == MyPlayerId && WasPlayerCmdAlreadyRequested(bCmd, position)) return; TCmdLoc cmd; @@ -2910,7 +2910,7 @@ void delta_close_portal(int pnum) sgbDeltaChanged = true; } -uint32_t ParseCmd(int pnum, const TCmd *pCmd) +uint32_t ParseCmd(size_t pnum, const TCmd *pCmd) { sbLastCmd = pCmd->bCmd; if (sgwPackPlrOffsetTbl[pnum] != 0 && sbLastCmd != CMD_ACK_PLRINFO && sbLastCmd != CMD_SEND_PLRINFO) diff --git a/Source/msg.h b/Source/msg.h index 8a52507d7..babe873bb 100644 --- a/Source/msg.h +++ b/Source/msg.h @@ -718,7 +718,7 @@ extern int dwRecCount; void msg_send_drop_pkt(int pnum, int reason); bool msg_wait_resync(); void run_delta_info(); -void DeltaExportData(int pnum); +void DeltaExportData(size_t pnum); void DeltaSyncJunk(); void delta_init(); void delta_kill_monster(int mi, Point position, const Player &player); @@ -734,7 +734,7 @@ void DeltaLoadLevel(); void ClearLastSendPlayerCmd(); void NetSendCmd(bool bHiPri, _cmd_id bCmd); void NetSendCmdGolem(uint8_t mx, uint8_t my, Direction dir, uint8_t menemy, int hp, uint8_t cl); -void NetSendCmdLoc(int playerId, bool bHiPri, _cmd_id bCmd, Point position); +void NetSendCmdLoc(size_t playerId, bool bHiPri, _cmd_id bCmd, Point position); void NetSendCmdLocParam1(bool bHiPri, _cmd_id bCmd, Point position, uint16_t wParam1); void NetSendCmdLocParam2(bool bHiPri, _cmd_id bCmd, Point position, uint16_t wParam1, uint16_t wParam2); void NetSendCmdLocParam3(bool bHiPri, _cmd_id bCmd, Point position, uint16_t wParam1, uint16_t wParam2, uint16_t wParam3); @@ -752,6 +752,6 @@ void NetSendCmdDamage(bool bHiPri, uint8_t bPlr, uint32_t dwDam); void NetSendCmdMonDmg(bool bHiPri, uint16_t wMon, uint32_t dwDam); void NetSendCmdString(uint32_t pmask, const char *pszStr); void delta_close_portal(int pnum); -uint32_t ParseCmd(int pnum, const TCmd *pCmd); +uint32_t ParseCmd(size_t pnum, const TCmd *pCmd); } // namespace devilution diff --git a/Source/multi.cpp b/Source/multi.cpp index 82893c8f1..58ceba082 100644 --- a/Source/multi.cpp +++ b/Source/multi.cpp @@ -195,18 +195,18 @@ void MonsterSeeds() Monsters[i]._mAISeed = seed + i; } -void HandleTurnUpperBit(int pnum) +void HandleTurnUpperBit(size_t pnum) { size_t i; for (i = 0; i < Players.size(); i++) { - if ((player_state[i] & PS_CONNECTED) != 0 && i != static_cast(pnum)) + if ((player_state[i] & PS_CONNECTED) != 0 && i != pnum) break; } if (MyPlayerId == i) { sgbSendDeltaTbl[pnum] = true; - } else if (static_cast(MyPlayerId) == pnum) { + } else if (pnum == MyPlayerId) { gbDeltaSender = i; } } @@ -224,9 +224,9 @@ void ParseTurn(int pnum, uint32_t turn) } } -void PlayerLeftMsg(int pnum, bool left) +void PlayerLeftMsg(size_t pnum, bool left) { - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { return; } @@ -307,7 +307,7 @@ void BeginTimeout() CheckDropPlayer(); } -void HandleAllPackets(int pnum, const byte *data, size_t size) +void HandleAllPackets(size_t pnum, const byte *data, size_t size) { for (unsigned offset = 0; offset < size;) { int messageSize = ParseCmd(pnum, reinterpret_cast(&data[offset])); @@ -535,8 +535,8 @@ void multi_msg_countdown() { for (size_t i = 0; i < Players.size(); i++) { if ((player_state[i] & PS_TURN_ARRIVED) != 0) { - if (gdwMsgLenTbl[i] == 4) - ParseTurn(static_cast(i), *(DWORD *)glpMsgTbl[i]); + if (gdwMsgLenTbl[i] == sizeof(uint32_t)) + ParseTurn(i, *(uint32_t *)glpMsgTbl[i]); } } } @@ -596,7 +596,7 @@ void multi_process_network_packets() ClearPlayerLeftState(); ProcessTmsgs(); - int dwID = -1; + size_t dwID = std::numeric_limits::max(); TPktHdr *pkt; uint32_t dwMsgSize = 0; while (SNetReceiveMessage(&dwID, (void **)&pkt, &dwMsgSize)) { @@ -604,7 +604,7 @@ void multi_process_network_packets() ClearPlayerLeftState(); if (dwMsgSize < sizeof(TPktHdr)) continue; - if (dwID < 0 || dwID >= MAX_PLRS) + if (dwID >= MAX_PLRS) continue; if (pkt->wCheck != LoadBE32("\0\0ip")) continue; @@ -621,7 +621,7 @@ void multi_process_network_packets() } Point syncPosition = { pkt->px, pkt->py }; player.position.last = syncPosition; - if (dwID != static_cast(MyPlayerId)) { + if (dwID != MyPlayerId) { assert(gbBufferMsgs != 2); player._pHitPoints = pkt->php; player._pMaxHP = pkt->pmhp; @@ -664,9 +664,9 @@ void multi_process_network_packets() CheckPlayerInfoTimeouts(); } -void multi_send_zero_packet(int pnum, _cmd_id bCmd, const byte *data, size_t size) +void multi_send_zero_packet(size_t pnum, _cmd_id bCmd, const byte *data, size_t size) { - assert(pnum != static_cast(MyPlayerId)); + assert(pnum != MyPlayerId); assert(data != nullptr); assert(size <= 0x0ffff); @@ -786,14 +786,14 @@ bool NetInit(bool bSinglePlayer) return true; } -void recv_plrinfo(int pnum, const TCmdPlrInfoHdr &header, bool recv) +void recv_plrinfo(size_t pnum, const TCmdPlrInfoHdr &header, bool recv) { static PlayerPack PackedPlayerBuffer[MAX_PLRS]; - if (static_cast(MyPlayerId) == pnum) { + if (pnum == MyPlayerId) { return; } - assert(pnum >= 0 && pnum < MAX_PLRS); + assert(pnum < MAX_PLRS); Player &player = Players[pnum]; auto &packedPlayer = PackedPlayerBuffer[pnum]; diff --git a/Source/multi.h b/Source/multi.h index 39fabb6d3..83dbfe78c 100644 --- a/Source/multi.h +++ b/Source/multi.h @@ -66,9 +66,9 @@ void multi_net_ping(); */ bool multi_handle_delta(); void multi_process_network_packets(); -void multi_send_zero_packet(int pnum, _cmd_id bCmd, const byte *data, size_t size); +void multi_send_zero_packet(size_t pnum, _cmd_id bCmd, const byte *data, size_t size); void NetClose(); bool NetInit(bool bSinglePlayer); -void recv_plrinfo(int pnum, const TCmdPlrInfoHdr &header, bool recv); +void recv_plrinfo(size_t pnum, const TCmdPlrInfoHdr &header, bool recv); } // namespace devilution diff --git a/Source/objects.cpp b/Source/objects.cpp index 497a6e4c0..cf9ea68ca 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -2320,7 +2320,7 @@ void OperateChamberOfBoneBook(Object &questBook) InitQTextMsg(textdef); } -void OperateChest(int pnum, int i, bool sendmsg) +void OperateChest(size_t pnum, int i, bool sendmsg) { if (Objects[i]._oSelFlag == 0) { return; @@ -2371,18 +2371,18 @@ void OperateChest(int pnum, int i, bool sendmsg) AddMissile(Objects[i].position, player.position.tile, mdir, mtype, TARGET_PLAYERS, -1, 0, 0); Objects[i]._oTrapFlag = false; } - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdParam2(false, CMD_PLROPOBJ, pnum, i); } -void OperateMushroomPatch(int pnum, Object &questContainer) +void OperateMushroomPatch(size_t pnum, Object &questContainer) { if (ActiveItemCount >= MAXITEMS) { return; } if (Quests[Q_MUSHROOM]._qactive != QUEST_ACTIVE) { - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { Players[pnum].Say(HeroSpeech::ICantUseThisYet); } return; @@ -2401,14 +2401,14 @@ void OperateMushroomPatch(int pnum, Object &questContainer) Quests[Q_MUSHROOM]._qvar1 = QS_MUSHSPAWNED; } -void OperateInnSignChest(int pnum, Object &questContainer) +void OperateInnSignChest(size_t pnum, Object &questContainer) { if (ActiveItemCount >= MAXITEMS) { return; } if (Quests[Q_LTBANNER]._qvar1 != 2) { - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { Players[pnum].Say(HeroSpeech::ICantOpenThisYet); } return; @@ -2426,7 +2426,7 @@ void OperateInnSignChest(int pnum, Object &questContainer) SpawnQuestItem(IDI_BANNER, pos, 0, 0); } -void OperateSlainHero(int pnum, int i) +void OperateSlainHero(size_t pnum, int i) { if (Objects[i]._oSelFlag == 0) { return; @@ -2449,7 +2449,7 @@ void OperateSlainHero(int pnum, int i) CreateMagicWeapon(Objects[i].position, ItemType::Axe, ICURS_BATTLE_AXE, true, false); } MyPlayer->Say(HeroSpeech::RestInPeaceMyFriend); - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdParam1(false, CMD_OPERATEOBJ, i); } @@ -2481,7 +2481,7 @@ void OperateTrapLever(Object &flameLever) } } -void OperateSarc(int pnum, int i, bool sendmsg) +void OperateSarc(size_t pnum, int i, bool sendmsg) { if (Objects[i]._oSelFlag == 0) { return; @@ -2496,7 +2496,7 @@ void OperateSarc(int pnum, int i, bool sendmsg) CreateRndItem(Objects[i].position, false, sendmsg, false); if (Objects[i]._oVar1 >= 8) SpawnSkeleton(Objects[i]._oVar2, Objects[i].position); - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdParam1(false, CMD_OPERATEOBJ, i); } @@ -2693,7 +2693,7 @@ void OperateShrineWeird(Player &player) InitDiabloMsg(EMSG_SHRINE_WEIRD); } -void OperateShrineMagical(int pnum) +void OperateShrineMagical(size_t pnum) { Player &player = Players[pnum]; @@ -2827,7 +2827,7 @@ void OperateShrineCostOfWisdom(Player &player, spell_id spellId, diablo_message InitDiabloMsg(message); } -void OperateShrineCryptic(int pnum) +void OperateShrineCryptic(size_t pnum) { Player &player = Players[pnum]; @@ -2921,7 +2921,7 @@ void OperateShrineDivine(Player &player, Point spawnPosition) InitDiabloMsg(EMSG_SHRINE_DIVINE); } -void OperateShrineHoly(int pnum) +void OperateShrineHoly(size_t pnum) { Player &player = Players[pnum]; @@ -3182,7 +3182,7 @@ void OperateShrineSparkling(Player &player, Point spawnPosition) * @param pnum The player that activated the shrine * @param spawnPosition The position of the shrine, the portal will be placed on the side closest to the player */ -void OperateShrineTown(int pnum, Point spawnPosition) +void OperateShrineTown(size_t pnum, Point spawnPosition) { Player &player = Players[pnum]; @@ -3265,7 +3265,7 @@ void OperateShrineMurphys(Player &player) InitDiabloMsg(EMSG_SHRINE_MURPHYS); } -void OperateShrine(int pnum, int i, _sfx_id sType) +void OperateShrine(size_t pnum, int i, _sfx_id sType) { assert(i >= 0 && i < MAXOBJECTS); Object &shrine = Objects[i]; @@ -3394,7 +3394,7 @@ void OperateShrine(int pnum, int i, _sfx_id sType) NetSendCmdParam2(false, CMD_PLROPOBJ, pnum, i); } -void OperateSkelBook(int pnum, int i, bool sendmsg) +void OperateSkelBook(size_t pnum, int i, bool sendmsg) { if (Objects[i]._oSelFlag == 0) { return; @@ -3408,11 +3408,11 @@ void OperateSkelBook(int pnum, int i, bool sendmsg) CreateTypeItem(Objects[i].position, false, ItemType::Misc, IMISC_SCROLL, sendmsg, false); else CreateTypeItem(Objects[i].position, false, ItemType::Misc, IMISC_BOOK, sendmsg, false); - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdParam1(false, CMD_OPERATEOBJ, i); } -void OperateBookCase(int pnum, int i, bool sendmsg) +void OperateBookCase(size_t pnum, int i, bool sendmsg) { if (Objects[i]._oSelFlag == 0) { return; @@ -3436,11 +3436,11 @@ void OperateBookCase(int pnum, int i, bool sendmsg) zhar._mmode = MonsterMode::Talk; } } - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdParam1(false, CMD_OPERATEOBJ, i); } -void OperateDecap(int pnum, int i, bool sendmsg) +void OperateDecap(size_t pnum, int i, bool sendmsg) { if (Objects[i]._oSelFlag == 0) { return; @@ -3448,11 +3448,11 @@ void OperateDecap(int pnum, int i, bool sendmsg) Objects[i]._oSelFlag = 0; SetRndSeed(Objects[i]._oRndSeed); CreateRndItem(Objects[i].position, false, sendmsg, false); - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdParam1(false, CMD_OPERATEOBJ, i); } -void OperateArmorStand(int pnum, int i, bool sendmsg) +void OperateArmorStand(size_t pnum, int i, bool sendmsg) { if (Objects[i]._oSelFlag == 0) { return; @@ -3470,7 +3470,7 @@ void OperateArmorStand(int pnum, int i, bool sendmsg) } else if (currlevel >= 13) { CreateTypeItem(Objects[i].position, true, ItemType::HeavyArmor, IMISC_NONE, sendmsg, false); } - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdParam1(false, CMD_OPERATEOBJ, i); } @@ -3507,13 +3507,13 @@ void OperateCauldron(int pnum, int i, _sfx_id sType) force_redraw = 255; } -bool OperateFountains(int pnum, int i) +bool OperateFountains(size_t pnum, int i) { Player &player = Players[pnum]; bool applied = false; switch (Objects[i]._otype) { case OBJ_BLOODFTN: - if (pnum != static_cast(MyPlayerId)) + if (pnum != MyPlayerId) return false; if (player._pHitPoints < player._pMaxHP) { @@ -3529,7 +3529,7 @@ bool OperateFountains(int pnum, int i) PlaySfxLoc(LS_FOUNTAIN, Objects[i].position); break; case OBJ_PURIFYINGFTN: - if (pnum != static_cast(MyPlayerId)) + if (pnum != MyPlayerId) return false; if (player._pMana < player._pMaxMana) { @@ -3561,7 +3561,7 @@ bool OperateFountains(int pnum, int i) 0, 2 * leveltype); applied = true; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdParam1(false, CMD_OPERATEOBJ, i); break; case OBJ_TEARFTN: { @@ -3569,7 +3569,7 @@ bool OperateFountains(int pnum, int i) break; PlaySfxLoc(LS_FOUNTAIN, Objects[i].position); Objects[i]._oSelFlag = 0; - if (pnum != static_cast(MyPlayerId)) + if (pnum != MyPlayerId) return false; unsigned randomValue = (Objects[i]._oRndSeed >> 16) % 12; @@ -3598,7 +3598,7 @@ bool OperateFountains(int pnum, int i) CheckStats(player); applied = true; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdParam1(false, CMD_OPERATEOBJ, i); } break; default: @@ -3608,7 +3608,7 @@ bool OperateFountains(int pnum, int i) return applied; } -void OperateWeaponRack(int pnum, int i, bool sendmsg) +void OperateWeaponRack(size_t pnum, int i, bool sendmsg) { if (Objects[i]._oSelFlag == 0) return; @@ -3621,7 +3621,7 @@ void OperateWeaponRack(int pnum, int i, bool sendmsg) CreateTypeItem(Objects[i].position, leveltype != DTYPE_CATHEDRAL, weaponType, IMISC_NONE, sendmsg, false); - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmdParam1(false, CMD_OPERATEOBJ, i); } @@ -3658,9 +3658,9 @@ bool OperateNakrulBook(int s) return false; } -void OperateStoryBook(int pnum, int i) +void OperateStoryBook(size_t pnum, int i) { - if (Objects[i]._oSelFlag == 0 || qtextflag || pnum != static_cast(MyPlayerId)) { + if (Objects[i]._oSelFlag == 0 || qtextflag || pnum != MyPlayerId) { return; } Objects[i]._oAnimFrame = Objects[i]._oVar4; @@ -3680,13 +3680,13 @@ void OperateStoryBook(int pnum, int i) NetSendCmdParam1(false, CMD_OPERATEOBJ, i); } -void OperateLazStand(int pnum, int i) +void OperateLazStand(size_t pnum, int i) { if (ActiveItemCount >= MAXITEMS) { return; } - if (Objects[i]._oSelFlag == 0 || qtextflag || pnum != static_cast(MyPlayerId)) { + if (Objects[i]._oSelFlag == 0 || qtextflag || pnum != MyPlayerId) { return; } @@ -3801,11 +3801,11 @@ void BreakCrux(Object &crux) ObjChangeMap(crux._oVar1, crux._oVar2, crux._oVar3, crux._oVar4); } -void BreakBarrel(int pnum, Object &barrel, bool forcebreak, bool sendmsg) +void BreakBarrel(size_t pnum, Object &barrel, bool forcebreak, bool sendmsg) { if (barrel._oSelFlag == 0) return; - if (!forcebreak && pnum != static_cast(MyPlayerId)) { + if (!forcebreak && pnum != MyPlayerId) { return; } @@ -3858,7 +3858,7 @@ void BreakBarrel(int pnum, Object &barrel, bool forcebreak, bool sendmsg) if (barrel._oVar2 >= 8) SpawnSkeleton(barrel._oVar4, barrel.position); } - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { NetSendCmdParam2(false, CMD_BREAKOBJ, pnum, static_cast(barrel.GetId())); } } @@ -4789,9 +4789,9 @@ void ObjChangeMapResync(int x1, int y1, int x2, int y2) } } -void TryDisarm(int pnum, int i) +void TryDisarm(size_t pnum, int i) { - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NewCursor(CURSOR_HAND); if (!Objects[i]._oTrapFlag) { return; @@ -4822,9 +4822,9 @@ int ItemMiscIdIdx(item_misc_id imiscid) return i; } -void OperateObject(int pnum, int i, bool teleFlag) +void OperateObject(size_t pnum, int i, bool teleFlag) { - bool sendmsg = pnum == static_cast(MyPlayerId); + bool sendmsg = pnum == MyPlayerId; switch (Objects[i]._otype) { case OBJ_L1LDOOR: case OBJ_L1RDOOR: @@ -5044,33 +5044,33 @@ void DeltaSyncOpObject(int cmd, int i) } } -void SyncOpObject(int pnum, int cmd, int i) +void SyncOpObject(size_t pnum, int cmd, int i) { switch (Objects[i]._otype) { case OBJ_L1LDOOR: case OBJ_L1RDOOR: - if (pnum != static_cast(MyPlayerId)) + if (pnum != MyPlayerId) SyncOpL1Door(cmd, i); break; case OBJ_L2LDOOR: case OBJ_L2RDOOR: - if (pnum != static_cast(MyPlayerId)) + if (pnum != MyPlayerId) SyncOpL2Door(cmd, i); break; case OBJ_L3LDOOR: case OBJ_L3RDOOR: - if (pnum != static_cast(MyPlayerId)) + if (pnum != MyPlayerId) SyncOpL3Door(cmd, i); break; case OBJ_L5LDOOR: case OBJ_L5RDOOR: - if (pnum != static_cast(MyPlayerId)) + if (pnum != MyPlayerId) SyncOpL5Door(cmd, i); break; case OBJ_LEVER: case OBJ_L5LEVER: case OBJ_SWITCHSKL: - OperateLever(i, pnum == static_cast(MyPlayerId)); + OperateLever(i, pnum == MyPlayerId); break; case OBJ_CHEST1: case OBJ_CHEST2: @@ -5087,7 +5087,7 @@ void SyncOpObject(int pnum, int cmd, int i) case OBJ_BLINDBOOK: case OBJ_BLOODBOOK: case OBJ_STEELTOME: - OperateBookLever(i, pnum == static_cast(MyPlayerId)); + OperateBookLever(i, pnum == MyPlayerId); break; case OBJ_SHRINEL: case OBJ_SHRINER: diff --git a/Source/objects.h b/Source/objects.h index 7a9f808c7..205f55a10 100644 --- a/Source/objects.h +++ b/Source/objects.h @@ -304,10 +304,10 @@ void RedoPlayerVision(); void MonstCheckDoors(Monster &monster); void ObjChangeMap(int x1, int y1, int x2, int y2); void ObjChangeMapResync(int x1, int y1, int x2, int y2); -void TryDisarm(int pnum, int i); +void TryDisarm(size_t pnum, int i); int ItemMiscIdIdx(item_misc_id imiscid); -void OperateObject(int pnum, int i, bool TeleFlag); -void SyncOpObject(int pnum, int cmd, int i); +void OperateObject(size_t pnum, int i, bool TeleFlag); +void SyncOpObject(size_t pnum, int cmd, int i); void BreakObject(int pnum, Object &object); void DeltaSyncOpObject(int cmd, int i); void DeltaSyncBreakObj(Object &object); diff --git a/Source/player.cpp b/Source/player.cpp index 3392625d1..45e251c02 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -163,7 +163,7 @@ struct DirectionSettings { Displacement map; ScrollDirection scrollDir; PLR_MODE walkMode; - void (*walkModeHandler)(int, const DirectionSettings &); + void (*walkModeHandler)(size_t, const DirectionSettings &); }; /** Specifies the frame of each animation for which an action is triggered, for each player class. */ @@ -215,14 +215,14 @@ void PmChangeLightOff(Player &player) ChangeLightOffset(player._plid, { x, y }); } -void WalkUpwards(int pnum, const DirectionSettings &walkParams) +void WalkUpwards(size_t pnum, const DirectionSettings &walkParams) { Player &player = Players[pnum]; dPlayer[player.position.future.x][player.position.future.y] = -(pnum + 1); player.position.temp = { walkParams.tileAdd.deltaX, walkParams.tileAdd.deltaY }; } -void WalkDownwards(int pnum, const DirectionSettings & /*walkParams*/) +void WalkDownwards(size_t pnum, const DirectionSettings & /*walkParams*/) { Player &player = Players[pnum]; dPlayer[player.position.tile.x][player.position.tile.y] = -(pnum + 1); @@ -234,7 +234,7 @@ void WalkDownwards(int pnum, const DirectionSettings & /*walkParams*/) PmChangeLightOff(player); } -void WalkSides(int pnum, const DirectionSettings &walkParams) +void WalkSides(size_t pnum, const DirectionSettings &walkParams) { Player &player = Players[pnum]; @@ -311,7 +311,7 @@ bool PlrDirOK(const Player &player, Direction dir) return true; } -void HandleWalkMode(int pnum, Displacement vel, Direction dir) +void HandleWalkMode(size_t pnum, Displacement vel, Direction dir) { Player &player = Players[pnum]; const auto &dirModeParams = WalkSettings[static_cast(dir)]; @@ -324,7 +324,7 @@ void HandleWalkMode(int pnum, Displacement vel, Direction dir) // The player's tile position after finishing this movement action player.position.future = player.position.tile + dirModeParams.tileAdd; - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { ScrollViewPort(player, dirModeParams.scrollDir); } @@ -351,11 +351,11 @@ void StartWalkAnimation(Player &player, Direction dir, bool pmWillBeCalled) /** * @brief Start moving a player to a new tile */ -void StartWalk(int pnum, Displacement vel, Direction dir, bool pmWillBeCalled) +void StartWalk(size_t pnum, Displacement vel, Direction dir, bool pmWillBeCalled) { Player &player = Players[pnum]; - if (player._pInvincible && player._pHitPoints == 0 && pnum == static_cast(MyPlayerId)) { + if (player._pInvincible && player._pHitPoints == 0 && pnum == MyPlayerId) { SyncPlrKill(pnum, -1); return; } @@ -386,10 +386,10 @@ void ClearStateVariables(Player &player) player.position.offset2 = { 0, 0 }; } -void StartWalkStand(int pnum) +void StartWalkStand(size_t pnum) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("StartWalkStand: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("StartWalkStand: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -397,7 +397,7 @@ void StartWalkStand(int pnum) player.position.future = player.position.tile; player.position.offset = { 0, 0 }; - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { ScrollInfo.offset = { 0, 0 }; ScrollInfo._sdir = ScrollDirection::None; ViewPosition = player.position.tile; @@ -427,14 +427,14 @@ void ChangeOffset(Player &player) PmChangeLightOff(player); } -void StartAttack(int pnum, Direction d) +void StartAttack(size_t pnum, Direction d) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("StartAttack: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("StartAttack: illegal player %lu", pnum); } Player &player = Players[pnum]; - if (player._pInvincible && player._pHitPoints == 0 && pnum == static_cast(MyPlayerId)) { + if (player._pInvincible && player._pHitPoints == 0 && pnum == MyPlayerId) { SyncPlrKill(pnum, -1); return; } @@ -459,14 +459,14 @@ void StartAttack(int pnum, Direction d) SetPlayerOld(player); } -void StartRangeAttack(int pnum, Direction d, int cx, int cy) +void StartRangeAttack(size_t pnum, Direction d, int cx, int cy) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("StartRangeAttack: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("StartRangeAttack: illegal player %lu", pnum); } Player &player = Players[pnum]; - if (player._pInvincible && player._pHitPoints == 0 && pnum == static_cast(MyPlayerId)) { + if (player._pInvincible && player._pHitPoints == 0 && pnum == MyPlayerId) { SyncPlrKill(pnum, -1); return; } @@ -501,13 +501,13 @@ player_graphic GetPlayerGraphicForSpell(spell_id spellId) } } -void StartSpell(int pnum, Direction d, int cx, int cy) +void StartSpell(size_t pnum, Direction d, int cx, int cy) { - if ((DWORD)pnum >= MAX_PLRS) - app_fatal("StartSpell: illegal player %i", pnum); + if (pnum >= MAX_PLRS) + app_fatal("StartSpell: illegal player %lu", pnum); Player &player = Players[pnum]; - if (player._pInvincible && player._pHitPoints == 0 && pnum == static_cast(MyPlayerId)) { + if (player._pInvincible && player._pHitPoints == 0 && pnum == MyPlayerId) { SyncPlrKill(pnum, -1); return; } @@ -604,7 +604,7 @@ void DropHalfPlayersGold(Player &player) player._pGold /= 2; } -void InitLevelChange(int pnum) +void InitLevelChange(size_t pnum) { Player &player = Players[pnum]; Player &myPlayer = *MyPlayer; @@ -613,19 +613,19 @@ void InitLevelChange(int pnum) player.pManaShield = false; player.wReflections = 0; // share info about your manashield when another player joins the level - if (pnum != static_cast(MyPlayerId) && myPlayer.pManaShield) + if (pnum != MyPlayerId && myPlayer.pManaShield) NetSendCmd(true, CMD_SETSHIELD); // share info about your reflect charges when another player joins the level - if (pnum != static_cast(MyPlayerId)) + if (pnum != MyPlayerId) NetSendCmdParam1(true, CMD_SETREFLECT, myPlayer.wReflections); - if (pnum == static_cast(MyPlayerId) && qtextflag) { + if (pnum == MyPlayerId && qtextflag) { qtextflag = false; stream_stop(); } RemovePlrFromMap(pnum); SetPlayerOld(player); - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { dPlayer[player.position.tile.x][player.position.tile.y] = pnum + 1; } else { player._pLvlVisited[player.plrlevel] = true; @@ -635,7 +635,7 @@ void InitLevelChange(int pnum) player.destAction = ACTION_NONE; player._pLvlChanging = true; - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { player.pLvlLoad = 10; } } @@ -643,10 +643,10 @@ void InitLevelChange(int pnum) /** * @brief Continue movement towards new tile */ -bool DoWalk(int pnum, int variant) +bool DoWalk(size_t pnum, int variant) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("PM_DoWalk: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("PM_DoWalk: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -686,7 +686,7 @@ bool DoWalk(int pnum, int variant) } // Update the "camera" tile position - if (pnum == static_cast(MyPlayerId) && ScrollInfo._sdir != ScrollDirection::None) { + if (pnum == MyPlayerId && ScrollInfo._sdir != ScrollDirection::None) { ViewPosition = Point { 0, 0 } + (player.position.tile - ScrollInfo.tile); } @@ -794,17 +794,17 @@ bool DamageWeapon(Player &player, int durrnd) return false; } -bool PlrHitMonst(int pnum, int m, bool adjacentDamage = false) +bool PlrHitMonst(size_t pnum, size_t m, bool adjacentDamage = false) { int hper = 0; - if ((DWORD)m >= MAXMONSTERS) { - app_fatal("PlrHitMonst: illegal monster %i", m); + if (m >= MAXMONSTERS) { + app_fatal("PlrHitMonst: illegal monster %lu", m); } auto &monster = Monsters[m]; - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("PlrHitMonst: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("PlrHitMonst: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -902,7 +902,7 @@ bool PlrHitMonst(int pnum, int m, bool adjacentDamage = false) if (adjacentDamage) dam >>= 2; - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { if (HasAnyOf(player.pDamAcFlags, ItemSpecialEffectHf::Peril)) { dam2 += player._pIGetHit << 6; if (dam2 >= 0) { @@ -1059,10 +1059,10 @@ bool PlrHitObj(int pnum, Object &targetObject) return false; } -bool DoAttack(int pnum) +bool DoAttack(size_t pnum) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("PM_DoAttack: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("PM_DoAttack: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -1168,10 +1168,10 @@ bool DoAttack(int pnum) return false; } -bool DoRangeAttack(int pnum) +bool DoRangeAttack(size_t pnum) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("PM_DoRangeAttack: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("PM_DoRangeAttack: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -1268,10 +1268,10 @@ void DamageParryItem(Player &player) } } -bool DoBlock(int pnum) +bool DoBlock(size_t pnum) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("PM_DoBlock: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("PM_DoBlock: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -1290,9 +1290,6 @@ bool DoBlock(int pnum) void DamageArmor(Player &player) { - int a; - Item *pi; - if (&player != MyPlayer) { return; } @@ -1301,7 +1298,7 @@ void DamageArmor(Player &player) return; } - a = GenerateRnd(3); + int a = GenerateRnd(3); if (!player.InvBody[INVLOC_CHEST].isEmpty() && player.InvBody[INVLOC_HEAD].isEmpty()) { a = 1; } @@ -1309,6 +1306,7 @@ void DamageArmor(Player &player) a = 0; } + Item *pi; if (a != 0) { pi = &player.InvBody[INVLOC_CHEST]; } else { @@ -1331,10 +1329,10 @@ void DamageArmor(Player &player) CalcPlrInv(player, true); } -bool DoSpell(int pnum) +bool DoSpell(size_t pnum) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("PM_DoSpell: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("PM_DoSpell: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -1362,10 +1360,10 @@ bool DoSpell(int pnum) return false; } -bool DoGotHit(int pnum) +bool DoGotHit(size_t pnum) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("PM_DoGotHit: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("PM_DoGotHit: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -1410,10 +1408,10 @@ bool IsPlayerAdjacentToObject(Player &player, Object &object) return x <= 1 && y <= 1; } -void CheckNewPath(int pnum, bool pmWillBeCalled) +void CheckNewPath(size_t pnum, bool pmWillBeCalled) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("CheckNewPath: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("CheckNewPath: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -1466,7 +1464,7 @@ void CheckNewPath(int pnum, bool pmWillBeCalled) Direction d; if (player.walkpath[0] != WALK_NONE) { if (player._pmode == PM_STAND) { - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { if (player.destAction == ACTION_ATTACKMON || player.destAction == ACTION_ATTACKPLR) { if (player.destAction == ACTION_ATTACKMON) { x = abs(player.position.future.x - monster->position.future.x); @@ -1633,7 +1631,7 @@ void CheckNewPath(int pnum, bool pmWillBeCalled) } break; case ACTION_PICKUPITEM: - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { x = abs(player.position.tile.x - item->position.x); y = abs(player.position.tile.y - item->position.y); if (x <= 1 && y <= 1 && pcurs == CURSOR_HAND && !item->_iRequest) { @@ -1643,7 +1641,7 @@ void CheckNewPath(int pnum, bool pmWillBeCalled) } break; case ACTION_PICKUPAITEM: - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { x = abs(player.position.tile.x - item->position.x); y = abs(player.position.tile.y - item->position.y); if (x <= 1 && y <= 1 && pcurs == CURSOR_HAND) { @@ -1652,7 +1650,7 @@ void CheckNewPath(int pnum, bool pmWillBeCalled) } break; case ACTION_TALK: - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { TalkToTowner(player, player.destParam1); } break; @@ -2847,14 +2845,14 @@ void FixPlayerLocation(Player &player, Direction bDir) ChangeVisionXY(player._pvid, player.position.tile); } -void StartStand(int pnum, Direction dir) +void StartStand(size_t pnum, Direction dir) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("StartStand: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("StartStand: illegal player %lu", pnum); } Player &player = Players[pnum]; - if (player._pInvincible && player._pHitPoints == 0 && pnum == static_cast(MyPlayerId)) { + if (player._pInvincible && player._pHitPoints == 0 && pnum == MyPlayerId) { SyncPlrKill(pnum, -1); return; } @@ -2867,14 +2865,14 @@ void StartStand(int pnum, Direction dir) SetPlayerOld(player); } -void StartPlrBlock(int pnum, Direction dir) +void StartPlrBlock(size_t pnum, Direction dir) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("StartPlrBlock: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("StartPlrBlock: illegal player %lu", pnum); } Player &player = Players[pnum]; - if (player._pInvincible && player._pHitPoints == 0 && pnum == static_cast(MyPlayerId)) { + if (player._pInvincible && player._pHitPoints == 0 && pnum == MyPlayerId) { SyncPlrKill(pnum, -1); return; } @@ -2893,10 +2891,10 @@ void StartPlrBlock(int pnum, Direction dir) SetPlayerOld(player); } -void FixPlrWalkTags(int pnum) +void FixPlrWalkTags(size_t pnum) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("FixPlrWalkTags: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("FixPlrWalkTags: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -2913,7 +2911,7 @@ void FixPlrWalkTags(int pnum) } } -void RemovePlrFromMap(int pnum) +void RemovePlrFromMap(size_t pnum) { int pp = pnum + 1; int pn = -(pnum + 1); @@ -2925,14 +2923,14 @@ void RemovePlrFromMap(int pnum) } } -void StartPlrHit(int pnum, int dam, bool forcehit) +void StartPlrHit(size_t pnum, int dam, bool forcehit) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("StartPlrHit: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("StartPlrHit: illegal player %lu", pnum); } Player &player = Players[pnum]; - if (player._pInvincible && player._pHitPoints == 0 && pnum == static_cast(MyPlayerId)) { + if (player._pInvincible && player._pHitPoints == 0 && pnum == MyPlayerId) { SyncPlrKill(pnum, -1); return; } @@ -2977,10 +2975,10 @@ void StartPlrHit(int pnum, int dam, bool forcehit) __attribute__((no_sanitize("shift-base"))) #endif void -StartPlayerKill(int pnum, int earflag) +StartPlayerKill(size_t pnum, int earflag) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("StartPlayerKill: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("StartPlayerKill: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -2988,7 +2986,7 @@ StartPlayerKill(int pnum, int earflag) return; } - if (static_cast(MyPlayerId) == pnum) { + if (MyPlayerId == pnum) { NetSendCmdParam1(true, CMD_PLRDEAD, earflag); } @@ -3012,7 +3010,7 @@ StartPlayerKill(int pnum, int earflag) player._pInvincible = true; SetPlayerHitPoints(player, 0); - if (pnum != static_cast(MyPlayerId) && earflag == 0 && !diablolevel) { + if (pnum != MyPlayerId && earflag == 0 && !diablolevel) { for (auto &item : player.InvBody) { item.clear(); } @@ -3025,7 +3023,7 @@ StartPlayerKill(int pnum, int earflag) dFlags[player.position.tile.x][player.position.tile.y] |= DungeonFlag::DeadPlayer; SetPlayerOld(player); - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { drawhpflag = true; if (!player.HoldItem.isEmpty()) { @@ -3097,7 +3095,7 @@ void StripTopGold(Player &player) player._pGold = CalculateGold(player); } -void ApplyPlrDamage(int pnum, int dam, int minHP /*= 0*/, int frac /*= 0*/, int earflag /*= 0*/) +void ApplyPlrDamage(size_t pnum, int dam, int minHP /*= 0*/, int frac /*= 0*/, int earflag /*= 0*/) { Player &player = Players[pnum]; @@ -3107,7 +3105,7 @@ void ApplyPlrDamage(int pnum, int dam, int minHP /*= 0*/, int frac /*= 0*/, int if (manaShieldLevel > 0) { totalDamage += totalDamage / -player.GetManaShieldDamageReduction(); } - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) drawmanaflag = true; if (player._pMana >= totalDamage) { player._pMana -= totalDamage; @@ -3120,7 +3118,7 @@ void ApplyPlrDamage(int pnum, int dam, int minHP /*= 0*/, int frac /*= 0*/, int } player._pMana = 0; player._pManaBase = player._pMaxManaBase - player._pMaxMana; - if (pnum == static_cast(MyPlayerId)) + if (pnum == MyPlayerId) NetSendCmd(true, CMD_REMSHIELD); } } @@ -3144,7 +3142,7 @@ void ApplyPlrDamage(int pnum, int dam, int minHP /*= 0*/, int frac /*= 0*/, int } } -void SyncPlrKill(int pnum, int earflag) +void SyncPlrKill(size_t pnum, int earflag) { Player &player = Players[pnum]; @@ -3157,9 +3155,9 @@ void SyncPlrKill(int pnum, int earflag) StartPlayerKill(pnum, earflag); } -void RemovePlrMissiles(int pnum) +void RemovePlrMissiles(size_t pnum) { - if (leveltype != DTYPE_TOWN && pnum == static_cast(MyPlayerId)) { + if (leveltype != DTYPE_TOWN && pnum == MyPlayerId) { auto &golem = Monsters[MyPlayerId]; if (golem.position.tile.x != 1 || golem.position.tile.y != 0) { M_StartKill(MyPlayerId, MyPlayerId); @@ -3173,7 +3171,7 @@ void RemovePlrMissiles(int pnum) } for (auto &missile : Missiles) { - if (missile._mitype == MIS_STONE && missile._misource == pnum) { + if (missile._mitype == MIS_STONE && static_cast(missile._misource) == pnum) { Monsters[missile.var2]._mmode = static_cast(missile.var1); } } @@ -3183,12 +3181,12 @@ void RemovePlrMissiles(int pnum) __attribute__((no_sanitize("shift-base"))) #endif void -StartNewLvl(int pnum, interface_mode fom, int lvl) +StartNewLvl(size_t pnum, interface_mode fom, int lvl) { InitLevelChange(pnum); - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("StartNewLvl: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("StartNewLvl: illegal player %lu", pnum); } Player &player = Players[pnum]; Player &myPlayer = *MyPlayer; @@ -3214,7 +3212,7 @@ StartNewLvl(int pnum, interface_mode fom, int lvl) app_fatal("StartNewLvl"); } - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { player._pmode = PM_NEWLVL; player._pInvincible = true; PostMessage(fom, 0, 0); @@ -3224,11 +3222,11 @@ StartNewLvl(int pnum, interface_mode fom, int lvl) } } -void RestartTownLvl(int pnum) +void RestartTownLvl(size_t pnum) { InitLevelChange(pnum); - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("RestartTownLvl: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("RestartTownLvl: illegal player %lu", pnum); } Player &player = Players[pnum]; @@ -3242,14 +3240,14 @@ void RestartTownLvl(int pnum) CalcPlrInv(player, false); - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { player._pmode = PM_NEWLVL; player._pInvincible = true; PostMessage(WM_DIABRETOWN, 0, 0); } } -void StartWarpLvl(int pnum, int pidx) +void StartWarpLvl(size_t pnum, uint16_t pidx) { Player &player = Players[pnum]; @@ -3266,7 +3264,7 @@ void StartWarpLvl(int pnum, int pidx) } } - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { SetCurrentPortal(pidx); player._pmode = PM_NEWLVL; player._pInvincible = true; @@ -3586,7 +3584,7 @@ void SyncPlrAnim(Player &player) ScrollViewPort(player, WalkSettings[static_cast(player._pdir)].scrollDir); } -void SyncInitPlrPos(int pnum) +void SyncInitPlrPos(size_t pnum) { Player &player = Players[pnum]; @@ -3615,22 +3613,22 @@ void SyncInitPlrPos(int pnum) player.position.tile = position; dPlayer[position.x][position.y] = pnum + 1; - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { player.position.future = position; ViewPosition = position; } } -void SyncInitPlr(int pnum) +void SyncInitPlr(size_t pnum) { - if ((DWORD)pnum >= MAX_PLRS) { - app_fatal("SyncInitPlr: illegal player %i", pnum); + if (pnum >= MAX_PLRS) { + app_fatal("SyncInitPlr: illegal player %lu", pnum); } Player &player = Players[pnum]; SetPlrAnims(player); SyncInitPlrPos(pnum); - if (pnum != static_cast(MyPlayerId)) + if (pnum != MyPlayerId) player._plid = NO_LIGHT; } @@ -3845,7 +3843,7 @@ void PlayDungMsgs() } #ifdef BUILD_TESTING -bool TestPlayerDoGotHit(int pnum) +bool TestPlayerDoGotHit(size_t pnum) { return DoGotHit(pnum); } diff --git a/Source/player.h b/Source/player.h index afe427ebd..735e8a1ee 100644 --- a/Source/player.h +++ b/Source/player.h @@ -763,28 +763,28 @@ void NextPlrLevel(Player &player); #endif void AddPlrExperience(Player &player, int lvl, int exp); void AddPlrMonstExper(int lvl, int exp, char pmask); -void ApplyPlrDamage(int pnum, int dam, int minHP = 0, int frac = 0, int earflag = 0); +void ApplyPlrDamage(size_t pnum, int dam, int minHP = 0, int frac = 0, int earflag = 0); void InitPlayer(Player &player, bool FirstTime); void InitMultiView(); void PlrClrTrans(Point position); void PlrDoTrans(Point position); void SetPlayerOld(Player &player); void FixPlayerLocation(Player &player, Direction bDir); -void StartStand(int pnum, Direction dir); -void StartPlrBlock(int pnum, Direction dir); -void FixPlrWalkTags(int pnum); -void RemovePlrFromMap(int pnum); -void StartPlrHit(int pnum, int dam, bool forcehit); -void StartPlayerKill(int pnum, int earflag); +void StartStand(size_t pnum, Direction dir); +void StartPlrBlock(size_t pnum, Direction dir); +void FixPlrWalkTags(size_t pnum); +void RemovePlrFromMap(size_t pnum); +void StartPlrHit(size_t pnum, int dam, bool forcehit); +void StartPlayerKill(size_t pnum, int earflag); /** * @brief Strip the top off gold piles that are larger than MaxGold */ void StripTopGold(Player &player); -void SyncPlrKill(int pnum, int earflag); -void RemovePlrMissiles(int pnum); -void StartNewLvl(int pnum, interface_mode fom, int lvl); -void RestartTownLvl(int pnum); -void StartWarpLvl(int pnum, int pidx); +void SyncPlrKill(size_t pnum, int earflag); +void RemovePlrMissiles(size_t pnum); +void StartNewLvl(size_t pnum, interface_mode fom, int lvl); +void RestartTownLvl(size_t pnum); +void StartWarpLvl(size_t pnum, uint16_t pidx); void ProcessPlayers(); void ClrPlrPath(Player &player); bool PosOkPlayer(const Player &player, Point position); @@ -792,8 +792,8 @@ void MakePlrPath(Player &player, Point targetPosition, bool endspace); void CalcPlrStaff(Player &player); void CheckPlrSpell(bool isShiftHeld, spell_id spellID = MyPlayer->_pRSpell, spell_type spellType = MyPlayer->_pRSplType); void SyncPlrAnim(Player &player); -void SyncInitPlrPos(int pnum); -void SyncInitPlr(int pnum); +void SyncInitPlrPos(size_t pnum); +void SyncInitPlr(size_t pnum); void CheckStats(Player &player); void ModifyPlrStr(Player &player, int l); void ModifyPlrMag(Player &player, int l); diff --git a/Source/portal.cpp b/Source/portal.cpp index aac1ff4c6..d1c316537 100644 --- a/Source/portal.cpp +++ b/Source/portal.cpp @@ -19,7 +19,7 @@ Portal Portals[MAXPORTAL]; namespace { /** Current portal number (a portal array index). */ -int portalindex; +uint16_t portalindex; /** Coordinate of each players portal in town. */ Point WarpDrop[MAXPORTAL] = { @@ -124,7 +124,7 @@ void RemovePortalMissile(int id) }); } -void SetCurrentPortal(int p) +void SetCurrentPortal(uint16_t p) { portalindex = p; } @@ -152,7 +152,7 @@ void GetPortalLevel() leveltype = Portals[portalindex].ltype; } - if (portalindex == static_cast(MyPlayerId)) { + if (portalindex == MyPlayerId) { NetSendCmd(true, CMD_DEACTIVATEPORTAL); DeactivatePortal(portalindex); } @@ -165,7 +165,7 @@ void GetPortalLvlPos() } else { ViewPosition = Portals[portalindex].position; - if (portalindex != static_cast(MyPlayerId)) { + if (portalindex != MyPlayerId) { ViewPosition.x++; ViewPosition.y++; } diff --git a/Source/portal.h b/Source/portal.h index 449aaf47c..07986ec78 100644 --- a/Source/portal.h +++ b/Source/portal.h @@ -31,7 +31,7 @@ void ActivatePortal(int i, Point position, int lvl, dungeon_type lvltype, bool s void DeactivatePortal(int i); bool PortalOnLevel(int i); void RemovePortalMissile(int id); -void SetCurrentPortal(int p); +void SetCurrentPortal(uint16_t p); void GetPortalLevel(); void GetPortalLvlPos(); bool PosOkPortal(int lvl, int x, int y); diff --git a/Source/qol/autopickup.cpp b/Source/qol/autopickup.cpp index 3c810af34..b0dc03cc2 100644 --- a/Source/qol/autopickup.cpp +++ b/Source/qol/autopickup.cpp @@ -73,9 +73,9 @@ bool DoPickup(Item item) } // namespace -void AutoPickup(int pnum) +void AutoPickup(size_t pnum) { - if (pnum != static_cast(MyPlayerId)) + if (pnum != MyPlayerId) return; if (leveltype == DTYPE_TOWN && !*sgOptions.Gameplay.autoPickupInTown) return; diff --git a/Source/qol/autopickup.h b/Source/qol/autopickup.h index b00aa138c..dba8f9a01 100644 --- a/Source/qol/autopickup.h +++ b/Source/qol/autopickup.h @@ -8,6 +8,6 @@ namespace devilution { -void AutoPickup(int pnum); +void AutoPickup(size_t pnum); } // namespace devilution diff --git a/Source/spells.cpp b/Source/spells.cpp index b3279082f..65fd89f2c 100644 --- a/Source/spells.cpp +++ b/Source/spells.cpp @@ -64,7 +64,7 @@ void ClearReadiedSpell(Player &player) } } -void PlacePlayer(int pnum) +void PlacePlayer(size_t pnum) { Player &player = Players[pnum]; @@ -100,7 +100,7 @@ void PlacePlayer(int pnum) dPlayer[newPosition.x][newPosition.y] = pnum + 1; - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { ViewPosition = newPosition; } } @@ -166,11 +166,11 @@ int GetManaAmount(Player &player, spell_id sn) return ma; } -void UseMana(int id, spell_id sn) +void UseMana(size_t id, spell_id sn) { int ma; // mana cost - if (id != static_cast(MyPlayerId)) + if (id != MyPlayerId) return; Player &myPlayer = *MyPlayer; @@ -254,9 +254,9 @@ void CastSpell(int id, spell_id spl, int sx, int sy, int dx, int dy, int spllvl) } } -void DoResurrect(int pnum, uint16_t rid) +void DoResurrect(size_t pnum, size_t rid) { - if ((DWORD)pnum >= MAX_PLRS || rid >= MAX_PLRS) { + if (pnum >= MAX_PLRS || rid >= MAX_PLRS) { return; } diff --git a/Source/spells.h b/Source/spells.h index 821f4bde2..7b0894655 100644 --- a/Source/spells.h +++ b/Source/spells.h @@ -19,7 +19,7 @@ enum class SpellCheckResult : uint8_t { bool IsWallSpell(spell_id spl); bool TargetsMonster(spell_id id); int GetManaAmount(Player &player, spell_id sn); -void UseMana(int id, spell_id sn); +void UseMana(size_t id, spell_id sn); SpellCheckResult CheckSpell(int id, spell_id sn, spell_type st, bool manaonly); /** @@ -36,7 +36,7 @@ void CastSpell(int id, spell_id spl, int sx, int sy, int dx, int dy, int spllvl) * @param pnum player index * @param rid target player index */ -void DoResurrect(int pnum, uint16_t rid); +void DoResurrect(size_t pnum, size_t rid); void DoHealOther(const Player &caster, Player &target); int GetSpellBookLevel(spell_id s); int GetSpellStaffLevel(spell_id s); diff --git a/Source/storm/storm_net.cpp b/Source/storm/storm_net.cpp index fd47dea16..c582dfdc6 100644 --- a/Source/storm/storm_net.cpp +++ b/Source/storm/storm_net.cpp @@ -38,7 +38,7 @@ void SErrSetLastError(uint32_t dwErrCode) dwLastError = dwErrCode; } -bool SNetReceiveMessage(int *senderplayerid, void **data, uint32_t *databytes) +bool SNetReceiveMessage(size_t *senderplayerid, void **data, uint32_t *databytes) { #ifndef NONET std::lock_guard lg(storm_net_mutex); diff --git a/Source/storm/storm_net.hpp b/Source/storm/storm_net.hpp index 054574199..087d0222b 100644 --- a/Source/storm/storm_net.hpp +++ b/Source/storm/storm_net.hpp @@ -112,7 +112,7 @@ bool SNetJoinGame(char *gameName, char *gamePassword, int *playerid); */ bool SNetLeaveGame(int type); -bool SNetReceiveMessage(int *senderplayerid, void **data, uint32_t *databytes); +bool SNetReceiveMessage(size_t *senderplayerid, void **data, uint32_t *databytes); bool SNetReceiveTurns(int arraysize, char **arraydata, size_t *arraydatabytes, uint32_t *arrayplayerstatus); typedef void (*SEVTHANDLER)(struct _SNETEVENT *); diff --git a/Source/sync.cpp b/Source/sync.cpp index 3f34a5286..b9778108e 100644 --- a/Source/sync.cpp +++ b/Source/sync.cpp @@ -286,7 +286,7 @@ uint32_t sync_all_monsters(byte *pbBuf, uint32_t dwMaxLen) return dwMaxLen; } -uint32_t OnSyncData(const TCmd *pCmd, int pnum) +uint32_t OnSyncData(const TCmd *pCmd, size_t pnum) { const auto &header = *reinterpret_cast(pCmd); @@ -295,7 +295,7 @@ uint32_t OnSyncData(const TCmd *pCmd, int pnum) if (gbBufferMsgs == 1) { return header.wLen + sizeof(header); } - if (pnum == static_cast(MyPlayerId)) { + if (pnum == MyPlayerId) { return header.wLen + sizeof(header); } @@ -312,7 +312,7 @@ uint32_t OnSyncData(const TCmd *pCmd, int pnum) continue; if (GetLevelForMultiplayer(*MyPlayer) == level) { - SyncMonster(pnum > static_cast(MyPlayerId), monsterSyncs[i]); + SyncMonster(pnum > MyPlayerId, monsterSyncs[i]); } delta_sync_monster(monsterSyncs[i], level); diff --git a/Source/sync.h b/Source/sync.h index 692f86c73..36a421a14 100644 --- a/Source/sync.h +++ b/Source/sync.h @@ -12,7 +12,7 @@ namespace devilution { uint32_t sync_all_monsters(byte *pbBuf, uint32_t dwMaxLen); -uint32_t OnSyncData(const TCmd *pCmd, int pnum); +uint32_t OnSyncData(const TCmd *pCmd, size_t pnum); void sync_init(); } // namespace devilution diff --git a/test/player_test.cpp b/test/player_test.cpp index 2380677e7..88977310a 100644 --- a/test/player_test.cpp +++ b/test/player_test.cpp @@ -5,10 +5,10 @@ using namespace devilution; namespace devilution { -extern bool TestPlayerDoGotHit(int pnum); +extern bool TestPlayerDoGotHit(size_t pnum); } -int RunBlockTest(int frames, ItemSpecialEffect flags) +size_t RunBlockTest(int frames, ItemSpecialEffect flags) { int pnum = 0; Player &player = Players[pnum]; @@ -17,7 +17,7 @@ int RunBlockTest(int frames, ItemSpecialEffect flags) player._pIFlags = flags; StartPlrHit(pnum, 5, false); - int i = 1; + size_t i = 1; for (; i < 100; i++) { TestPlayerDoGotHit(pnum); if (player._pmode != PM_GOTHIT) @@ -42,7 +42,7 @@ constexpr int Rogue = 7; constexpr int Sorcerer = 8; struct BlockTestCase { - int expectedRecoveryFrame; + size_t expectedRecoveryFrame; int maxRecoveryFrame; ItemSpecialEffect itemFlags; };