Browse Source

Fix MSVC warnings in monster.cpp/monsterdat.cpp

pull/6844/head
obligaron 2 years ago committed by Anders Jenbo
parent
commit
d4a70a2bc5
  1. 2
      Source/monstdat.cpp
  2. 38
      Source/monster.cpp

2
Source/monstdat.cpp

@ -487,7 +487,7 @@ void LoadMonstDat()
const auto [it, inserted] = spritePathToId.emplace(assetsSuffix, spritePathToId.size()); const auto [it, inserted] = spritePathToId.emplace(assetsSuffix, spritePathToId.size());
if (inserted) if (inserted)
MonsterSpritePaths.push_back(it->first); MonsterSpritePaths.push_back(it->first);
monster.spriteId = it->second; monster.spriteId = static_cast<uint16_t>(it->second);
} }
reader.readString("soundSuffix", monster.soundSuffix); reader.readString("soundSuffix", monster.soundSuffix);
reader.readString("trnFile", monster.trnFile); reader.readString("trnFile", monster.trnFile);

38
Source/monster.cpp

@ -141,7 +141,7 @@ void InitMonster(Monster &monster, Direction rd, size_t typeIndex, Point positio
monster.position.tile = position; monster.position.tile = position;
monster.position.future = position; monster.position.future = position;
monster.position.old = position; monster.position.old = position;
monster.levelType = typeIndex; monster.levelType = static_cast<uint8_t>(typeIndex);
monster.mode = MonsterMode::Stand; monster.mode = MonsterMode::Stand;
monster.animInfo = {}; monster.animInfo = {};
monster.changeAnimationData(MonsterGraphic::Stand); monster.changeAnimationData(MonsterGraphic::Stand);
@ -231,7 +231,7 @@ bool CanPlaceMonster(Point position)
&& !IsTileOccupied(position); && !IsTileOccupied(position);
} }
void PlaceMonster(int i, size_t typeIndex, Point position) void PlaceMonster(size_t i, size_t typeIndex, Point position)
{ {
if (LevelMonsterTypes[typeIndex].type == MT_NAKRUL) { if (LevelMonsterTypes[typeIndex].type == MT_NAKRUL) {
for (size_t j = 0; j < ActiveMonsterCount; j++) { for (size_t j = 0; j < ActiveMonsterCount; j++) {
@ -247,9 +247,9 @@ void PlaceMonster(int i, size_t typeIndex, Point position)
InitMonster(monster, rd, typeIndex, position); InitMonster(monster, rd, typeIndex, position);
} }
void PlaceGroup(size_t typeIndex, unsigned num, Monster *leader = nullptr, bool leashed = false) void PlaceGroup(size_t typeIndex, size_t num, Monster *leader = nullptr, bool leashed = false)
{ {
unsigned placed = 0; uint8_t placed = 0;
for (int try1 = 0; try1 < 10; try1++) { for (int try1 = 0; try1 < 10; try1++) {
while (placed != 0) { while (placed != 0) {
@ -1122,7 +1122,7 @@ void MonsterAttackMonster(Monster &attacker, Monster &target, int hper, int mind
ApplyMonsterDamage(DamageType::Physical, target, dam); ApplyMonsterDamage(DamageType::Physical, target, dam);
if (attacker.isPlayerMinion()) { if (attacker.isPlayerMinion()) {
int playerId = attacker.getId(); size_t playerId = attacker.getId();
const Player &player = Players[playerId]; const Player &player = Players[playerId];
target.tag(player); target.tag(player);
} }
@ -1573,7 +1573,7 @@ void MonsterPetrified(Monster &monster)
Monster *AddSkeleton(Point position, Direction dir, bool inMap) Monster *AddSkeleton(Point position, Direction dir, bool inMap)
{ {
size_t typeCount = 0; int32_t typeCount = 0;
size_t skeletonIndexes[SkeletonTypes.size()]; size_t skeletonIndexes[SkeletonTypes.size()];
for (size_t i = 0; i < LevelMonsterTypeCount; i++) { for (size_t i = 0; i < LevelMonsterTypeCount; i++) {
if (IsSkel(LevelMonsterTypes[i].type)) { if (IsSkel(LevelMonsterTypes[i].type)) {
@ -2892,7 +2892,7 @@ void LachdananAi(Monster &monster)
NetSendCmdQuest(true, Quests[Q_VEIL]); NetSendCmdQuest(true, Quests[Q_VEIL]);
MonsterDeath(monster, monster.direction, true); MonsterDeath(monster, monster.direction, true);
delta_kill_monster(monster, monster.position.tile, *MyPlayer); delta_kill_monster(monster, monster.position.tile, *MyPlayer);
NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster.position.tile, monster.getId()); NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster.position.tile, static_cast<uint16_t>(monster.getId()));
} }
} }
} }
@ -3148,11 +3148,11 @@ MonsterSpritesData LoadMonsterSpritesData(const MonsterData &monsterData)
clxData.emplace_back(); clxData.emplace_back();
Cl2ToClx(reinterpret_cast<uint8_t *>(&result.data[begin]), end - begin, Cl2ToClx(reinterpret_cast<uint8_t *>(&result.data[begin]), end - begin,
PointerOrValue<uint16_t> { monsterData.width }, clxData.back()); PointerOrValue<uint16_t> { monsterData.width }, clxData.back());
result.offsets[j] = accumulatedSize; result.offsets[j] = static_cast<uint32_t>(accumulatedSize);
accumulatedSize += clxData.back().size(); accumulatedSize += clxData.back().size();
++j; ++j;
} }
result.offsets[clxData.size()] = accumulatedSize; result.offsets[clxData.size()] = static_cast<uint32_t>(accumulatedSize);
result.data = nullptr; result.data = nullptr;
result.data = std::unique_ptr<std::byte[]>(new std::byte[accumulatedSize]); result.data = std::unique_ptr<std::byte[]>(new std::byte[accumulatedSize]);
for (size_t i = 0; i < clxData.size(); ++i) { for (size_t i = 0; i < clxData.size(); ++i) {
@ -3278,7 +3278,7 @@ void InitLevelMonsters()
totalmonsters = MaxMonsters; totalmonsters = MaxMonsters;
for (size_t i = 0; i < MaxMonsters; i++) { for (size_t i = 0; i < MaxMonsters; i++) {
ActiveMonsters[i] = i; ActiveMonsters[i] = static_cast<int>(i);
} }
uniquetrans = 0; uniquetrans = 0;
@ -3474,13 +3474,13 @@ void InitAllMonsterGFX()
if (HeadlessMode) if (HeadlessMode)
return; return;
using LevelMonsterTypeIndices = StaticVector<uint8_t, 8>; using LevelMonsterTypeIndices = StaticVector<size_t, 8>;
std::vector<LevelMonsterTypeIndices> monstersBySprite(GetNumMonsterSprites()); std::vector<LevelMonsterTypeIndices> monstersBySprite(GetNumMonsterSprites());
for (size_t i = 0; i < LevelMonsterTypeCount; ++i) { for (size_t i = 0; i < LevelMonsterTypeCount; ++i) {
monstersBySprite[static_cast<size_t>(LevelMonsterTypes[i].data().spriteId)].emplace_back(i); monstersBySprite[static_cast<size_t>(LevelMonsterTypes[i].data().spriteId)].emplace_back(i);
} }
uint32_t totalUniqueBytes = 0; size_t totalUniqueBytes = 0;
uint32_t totalBytes = 0; size_t totalBytes = 0;
for (const LevelMonsterTypeIndices &monsterTypes : monstersBySprite) { for (const LevelMonsterTypeIndices &monsterTypes : monstersBySprite) {
if (monsterTypes.empty()) if (monsterTypes.empty())
continue; continue;
@ -3543,14 +3543,14 @@ void InitMonsters()
if (!setlevel) { if (!setlevel) {
if (!gbIsSpawn) if (!gbIsSpawn)
PlaceUniqueMonsters(); PlaceUniqueMonsters();
int na = 0; size_t na = 0;
for (int s = 16; s < 96; s++) { for (int s = 16; s < 96; s++) {
for (int t = 16; t < 96; t++) { for (int t = 16; t < 96; t++) {
if (!IsTileSolid({ s, t })) if (!IsTileSolid({ s, t }))
na++; na++;
} }
} }
int numplacemonsters = na / 30; size_t numplacemonsters = na / 30;
if (gbIsMultiplayer) if (gbIsMultiplayer)
numplacemonsters += numplacemonsters / 2; numplacemonsters += numplacemonsters / 2;
if (ActiveMonsterCount + numplacemonsters > MaxMonsters - 10) if (ActiveMonsterCount + numplacemonsters > MaxMonsters - 10)
@ -3657,12 +3657,12 @@ void ApplyMonsterDamage(DamageType damageType, Monster &monster, int damage)
if (monster.hitPoints >> 6 <= 0) { if (monster.hitPoints >> 6 <= 0) {
delta_kill_monster(monster, monster.position.tile, *MyPlayer); delta_kill_monster(monster, monster.position.tile, *MyPlayer);
NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster.position.tile, monster.getId()); NetSendCmdLocParam1(false, CMD_MONSTDEATH, monster.position.tile, static_cast<uint16_t>(monster.getId()));
return; return;
} }
delta_monster_hp(monster, *MyPlayer); delta_monster_hp(monster, *MyPlayer);
NetSendCmdMonDmg(false, monster.getId(), damage); NetSendCmdMonDmg(false, static_cast<uint16_t>(monster.getId()), damage);
} }
bool M_Talker(const Monster &monster) bool M_Talker(const Monster &monster)
@ -3727,7 +3727,7 @@ void M_StartHit(Monster &monster, const Player &player, int dam)
{ {
monster.tag(player); monster.tag(player);
if (IsHardHit(monster, dam)) { if (IsHardHit(monster, dam)) {
monster.enemy = player.getId(); monster.enemy = static_cast<uint8_t>(player.getId());
monster.enemyPosition = player.position.future; monster.enemyPosition = player.position.future;
monster.flags &= ~MFLAG_TARGETS_MONSTER; monster.flags &= ~MFLAG_TARGETS_MONSTER;
if (monster.mode != MonsterMode::Petrified) { if (monster.mode != MonsterMode::Petrified) {
@ -4686,7 +4686,7 @@ void Monster::setLeader(const Monster *leader)
return; return;
} }
this->leader = leader->getId(); this->leader = static_cast<uint8_t>(leader->getId());
leaderRelation = LeaderRelation::Leashed; leaderRelation = LeaderRelation::Leashed;
ai = leader->ai; ai = leader->ai;
} }

Loading…
Cancel
Save