diff options
Diffstat (limited to 'src')
62 files changed, 435 insertions, 342 deletions
diff --git a/src/actorspritemanager.cpp b/src/actorspritemanager.cpp index 8cdede262..9d933ad72 100644 --- a/src/actorspritemanager.cpp +++ b/src/actorspritemanager.cpp @@ -1136,8 +1136,10 @@ void ActorSpriteManager::heal(Being* target) } } // magic levels < 2 - else if (PlayerInfo::getStatEffective(340) < 2 - || PlayerInfo::getStatEffective(341) < 2) + else if (PlayerInfo::getStatEffective( + static_cast<PlayerInfo::Attribute>(340)) < 2 + || PlayerInfo::getStatEffective( + static_cast<PlayerInfo::Attribute>(341)) < 2) { if (PlayerInfo::getAttribute(PlayerInfo::MP) >= 6) { diff --git a/src/being.cpp b/src/being.cpp index 2d276a72c..6f0ac307b 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -434,7 +434,7 @@ void Being::setDestination(int dstX, int dstY) Path thisPath = mMap->findPixelPath(static_cast<int>(mPos.x), static_cast<int>(mPos.y), dest.x, dest.y, static_cast<int>(getCollisionRadius()), - static_cast<int>(getWalkMask())); + static_cast<unsigned char>(getWalkMask())); if (thisPath.empty()) { @@ -1166,7 +1166,7 @@ void Being::setDirection(uint8_t direction) { dir = DIRECTION_LEFT; } - mSpriteDirection = dir; + mSpriteDirection = static_cast<uint8_t>(dir); CompoundSprite::setSpriteDirection(dir); recalcSpritesOrder(); @@ -2648,7 +2648,7 @@ void Being::updatePercentHP() } } -int Being::genderToInt(Gender sex) +uint8_t Being::genderToInt(Gender sex) { switch (sex) { @@ -2663,7 +2663,7 @@ int Being::genderToInt(Gender sex) } } -Gender Being::intToGender(int sex) +Gender Being::intToGender(uint8_t sex) { switch (sex) { diff --git a/src/being.h b/src/being.h index f678e7f1d..1d9e1691d 100644 --- a/src/being.h +++ b/src/being.h @@ -787,9 +787,9 @@ class Being : public ActorSprite, public ConfigListener int getSpriteID(int slot); - static int genderToInt(Gender sex); + static uint8_t genderToInt(Gender sex); - static Gender intToGender(int sex); + static Gender intToGender(uint8_t sex); protected: /** diff --git a/src/configuration.cpp b/src/configuration.cpp index 684468997..defa38812 100644 --- a/src/configuration.cpp +++ b/src/configuration.cpp @@ -507,8 +507,9 @@ float Configuration::getFloatValue(const std::string &key) const else if (itdef->second->getType() == VariableData::DATA_STRING) { - defaultValue = atof((static_cast<StringData*>( - itdef->second))->getData().c_str()); + defaultValue = static_cast<float>(atof(( + static_cast<StringData*>( + itdef->second))->getData().c_str())); } else if (itdef->second->getType() == VariableData::DATA_BOOL) @@ -526,8 +527,8 @@ float Configuration::getFloatValue(const std::string &key) const else if (itdef->second->getType() == VariableData::DATA_INT) { - defaultValue = (static_cast<IntData*>( - itdef->second))->getData(); + defaultValue = static_cast<float>((static_cast<IntData*>( + itdef->second))->getData()); } } else diff --git a/src/dropshortcut.cpp b/src/dropshortcut.cpp index fc370d47f..b0202f04d 100644 --- a/src/dropshortcut.cpp +++ b/src/dropshortcut.cpp @@ -64,7 +64,8 @@ void DropShortcut::load(bool oldConfig) for (int i = 0; i < DROP_SHORTCUT_ITEMS; i++) { int itemId = cfg->getValue("drop" + toString(i), -1); - int itemColor = cfg->getValue("dropColor" + toString(i), -1); + unsigned char itemColor = static_cast<unsigned char>( + cfg->getValue("dropColor" + toString(i), -1)); if (itemId != -1) { @@ -102,7 +103,7 @@ void DropShortcut::dropFirst() return; const int itemId = getItem(0); - const int itemColor = getItemColor(0); + const unsigned char itemColor = getItemColor(0); if (itemId > 0) { diff --git a/src/dropshortcut.h b/src/dropshortcut.h index ea11f34e0..b9a8db7c7 100644 --- a/src/dropshortcut.h +++ b/src/dropshortcut.h @@ -61,7 +61,7 @@ class DropShortcut int getItem(int index) const { return mItems[index]; } - int getItemColor(int index) const + unsigned char getItemColor(int index) const { return mItemColors[index]; } /** @@ -151,9 +151,9 @@ class DropShortcut bool dropItem(int cnt = 1); int mItems[DROP_SHORTCUT_ITEMS]; - int mItemColors[DROP_SHORTCUT_ITEMS]; + unsigned char mItemColors[DROP_SHORTCUT_ITEMS]; int mItemSelected; - int mItemColorSelected; + unsigned char mItemColorSelected; int mLastDropIndex; }; diff --git a/src/graphics.cpp b/src/graphics.cpp index 0ccfd706c..43e73f236 100644 --- a/src/graphics.cpp +++ b/src/graphics.cpp @@ -266,8 +266,8 @@ bool Graphics::setVideoMode(int w, int h, int bpp, bool fs, if (!(mTarget = SDL_SetVideoMode(w, h, bpp, getSoftwareFlags()))) return false; - mRect.w = mTarget->w; - mRect.h = mTarget->h; + mRect.w = static_cast<uint16_t>(mTarget->w); + mRect.h = static_cast<uint16_t>(mTarget->h); return videoInfo(); } @@ -365,7 +365,7 @@ bool Graphics::drawImage(const Image *image, int x, int y) { if (image) { - return drawImage(image, 0, 0, x, y, + return drawImage2(image, 0, 0, x, y, image->mBounds.w, image->mBounds.h, false); } else @@ -418,8 +418,8 @@ bool Graphics::drawRescaledImage(Image *image, int srcX, int srcY, return returnValue; } -bool Graphics::drawImage(const Image *image, int srcX, int srcY, - int dstX, int dstY, int width, int height, bool) +bool Graphics::drawImage2(const Image *image, int srcX, int srcY, + int dstX, int dstY, int width, int height, bool) { // Check that preconditions for blitting are met. if (!mTarget || !image || !image->mSDLSurface) @@ -903,7 +903,7 @@ int Graphics::SDL_FakeUpperBlit(SDL_Surface *src, SDL_Rect *srcrect, if (srcx < 0) { w += srcx; - dstrect->x -= srcx; + dstrect->x -= static_cast<int16_t>(srcx); srcx = 0; } maxw = src->w - srcx; @@ -915,7 +915,7 @@ int Graphics::SDL_FakeUpperBlit(SDL_Surface *src, SDL_Rect *srcrect, if (srcy < 0) { h += srcy; - dstrect->y -= srcy; + dstrect->y -= static_cast<int16_t>(srcy); srcy = 0; } maxh = src->h - srcy; @@ -939,7 +939,7 @@ int Graphics::SDL_FakeUpperBlit(SDL_Surface *src, SDL_Rect *srcrect, if (dx > 0) { w -= dx; - dstrect->x += dx; + dstrect->x += static_cast<int16_t>(dx); srcx += dx; } dx = dstrect->x + w - clip->x - clip->w; @@ -950,7 +950,7 @@ int Graphics::SDL_FakeUpperBlit(SDL_Surface *src, SDL_Rect *srcrect, if (dy > 0) { h -= dy; - dstrect->y += dy; + dstrect->y += static_cast<int16_t>(dy); srcy += dy; } dy = dstrect->y + h - clip->y - clip->h; @@ -960,10 +960,12 @@ int Graphics::SDL_FakeUpperBlit(SDL_Surface *src, SDL_Rect *srcrect, if (w > 0 && h > 0) { - srcrect->x = srcx; - srcrect->y = srcy; - srcrect->w = dstrect->w = w; - srcrect->h = dstrect->h = h; + srcrect->x = static_cast<int16_t>(srcx); + srcrect->y = static_cast<int16_t>(srcy); + srcrect->w = static_cast<int16_t>(w); + dstrect->w = static_cast<int16_t>(w); + srcrect->h = static_cast<int16_t>(h); + dstrect->h = static_cast<int16_t>(h); return 1; // return SDL_LowerBlit(src, &sr, dst, dstrect); @@ -1000,7 +1002,8 @@ void Graphics::fillRectangle(const gcn::Rectangle& rectangle) const int bpp = mTarget->format->BytesPerPixel; uint32_t pixel = SDL_MapRGB(mTarget->format, - mColor.r, mColor.g, mColor.b); + static_cast<uint8_t>(mColor.r), static_cast<uint8_t>(mColor.g), + static_cast<uint8_t>(mColor.b)); switch (bpp) { @@ -1010,7 +1013,7 @@ void Graphics::fillRectangle(const gcn::Rectangle& rectangle) uint8_t *p = static_cast<uint8_t *>(mTarget->pixels) + y * mTarget->pitch; for (x = x1; x < x2; x++) - *(p + x) = pixel; + *(p + x) = static_cast<uint8_t>(pixel); } break; case 2: @@ -1022,8 +1025,9 @@ void Graphics::fillRectangle(const gcn::Rectangle& rectangle) { uint8_t *p = p0 + x * 2; *reinterpret_cast<uint16_t *>(p) = gcn::SDLAlpha16( - pixel, *reinterpret_cast<uint32_t *>(p), - mColor.a, mTarget->format); + static_cast<uint16_t>(pixel), + *reinterpret_cast<uint16_t *>(p), + static_cast<uint8_t>(mColor.a), mTarget->format); } } break; @@ -1042,13 +1046,13 @@ void Graphics::fillRectangle(const gcn::Rectangle& rectangle) { uint8_t *p = p0 + x * 3; #if SDL_BYTEORDER == SDL_BIG_ENDIAN - p[2] = (p[2] * ca + cb) >> 8; - p[1] = (p[1] * ca + cg) >> 8; - p[0] = (p[0] * ca + cr) >> 8; + p[2] = static_cast<uint8_t>((p[2] * ca + cb) >> 8); + p[1] = static_cast<uint8_t>((p[1] * ca + cg) >> 8); + p[0] = static_cast<uint8_t>((p[0] * ca + cr) >> 8); #else - p[0] = (p[0] * ca + cb) >> 8; - p[1] = (p[1] * ca + cg) >> 8; - p[2] = (p[2] * ca + cr) >> 8; + p[0] = static_cast<uint8_t>((p[0] * ca + cb) >> 8); + p[1] = static_cast<uint8_t>((p[1] * ca + cg) >> 8); + p[2] = static_cast<uint8_t>((p[2] * ca + cr) >> 8); #endif } } @@ -1135,13 +1139,16 @@ void Graphics::fillRectangle(const gcn::Rectangle& rectangle) else { SDL_Rect rect; - rect.x = area.x; - rect.y = area.y; - rect.w = area.width; - rect.h = area.height; + rect.x = static_cast<int16_t>(area.x); + rect.y = static_cast<int16_t>(area.y); + rect.w = static_cast<uint16_t>(area.width); + rect.h = static_cast<uint16_t>(area.height); uint32_t color = SDL_MapRGBA(mTarget->format, - mColor.r, mColor.g, mColor.b, mColor.a); + static_cast<int8_t>(mColor.r), + static_cast<int8_t>(mColor.g), + static_cast<int8_t>(mColor.b), + static_cast<int8_t>(mColor.a)); SDL_FillRect(mTarget, &rect, color); } } diff --git a/src/graphics.h b/src/graphics.h index ffa9a3c73..06461efe4 100644 --- a/src/graphics.h +++ b/src/graphics.h @@ -150,17 +150,6 @@ class Graphics : public gcn::SDLGraphics int desiredWidth, int desiredHeight, bool useColor = false); - /** - * Blits an image onto the screen. - * - * @return <code>true</code> if the image was blitted properly - * <code>false</code> otherwise. - */ - virtual bool drawImage(const Image *image, - int srcX, int srcY, - int dstX, int dstY, - int width, int height, - bool useColor); virtual void drawImagePattern(const Image *image, int x, int y, @@ -306,6 +295,19 @@ class Graphics : public gcn::SDLGraphics int mHeight; protected: + /** + * Blits an image onto the screen. + * + * @return <code>true</code> if the image was blitted properly + * <code>false</code> otherwise. + */ + virtual bool drawImage2(const Image *image, + int srcX, int srcY, + int dstX, int dstY, + int width, int height, + bool useColor); + + void setMainFlags(int w, int h, int bpp, bool fs, bool hwaccel, bool resize, bool noFrame); diff --git a/src/gui/beingpopup.cpp b/src/gui/beingpopup.cpp index 879b50245..ad019e9a6 100644 --- a/src/gui/beingpopup.cpp +++ b/src/gui/beingpopup.cpp @@ -149,7 +149,7 @@ void BeingPopup::show(int x, int y, Being *b) if (b->getPvpRank() > 0) { - label3->setCaption(strprintf(_("Pvp rank: %d"), b->getPvpRank())); + label3->setCaption(strprintf(_("Pvp rank: %u"), b->getPvpRank())); label3->adjustSize(); } else diff --git a/src/gui/changeemaildialog.cpp b/src/gui/changeemaildialog.cpp index 125266b9a..47fc27a92 100644 --- a/src/gui/changeemaildialog.cpp +++ b/src/gui/changeemaildialog.cpp @@ -130,14 +130,14 @@ void ChangeEmailDialog::action(const gcn::ActionEvent &event) { // First email address too short errorMsg << strprintf(_("The new email address needs to be at " - "least %d characters long."), min); + "least %u characters long."), min); error = 1; } else if (newFirstEmail.length() > max - 1 ) { // First email address too long errorMsg << strprintf(_("The new email address needs to be " - "less than %d characters long."), max); + "less than %u characters long."), max); error = 1; } else if (newFirstEmail != newSecondEmail) diff --git a/src/gui/changepassworddialog.cpp b/src/gui/changepassworddialog.cpp index 5f233df77..657bf8fd9 100644 --- a/src/gui/changepassworddialog.cpp +++ b/src/gui/changepassworddialog.cpp @@ -118,14 +118,14 @@ void ChangePasswordDialog::action(const gcn::ActionEvent &event) { // First password too short errorMsg << strprintf(_("The new password needs to be at least" - " %d characters long."), min); + " %u characters long."), min); error = 2; } else if (newFirstPass.length() > max - 1 ) { // First password too long errorMsg << strprintf(_("The new password needs to be less " - "than %d characters long."), max); + "than %u characters long."), max); error = 2; } else if (newFirstPass != newSecondPass) diff --git a/src/gui/charcreatedialog.cpp b/src/gui/charcreatedialog.cpp index 5611efa4c..b71b812d2 100644 --- a/src/gui/charcreatedialog.cpp +++ b/src/gui/charcreatedialog.cpp @@ -63,7 +63,7 @@ const static Being::Action actions[] = Being::STAND, Being::SIT, Being::MOVE, Being::ATTACK, Being::DEAD }; -const static int directions[] = +const static uint8_t directions[] = { Being::DOWN, Being::RIGHT, Being::UP, Being::LEFT }; @@ -282,7 +282,8 @@ void CharCreateDialog::action(const gcn::ActionEvent &event) #endif Net::getCharHandler()->newCharacter(getName(), characterSlot, - mFemale->isSelected(), mHairStyle, mHairColor, mRace, atts); + mFemale->isSelected(), mHairStyle, mHairColor, + static_cast<uint16_t>(mRace), atts); } else { @@ -543,7 +544,7 @@ void CharCreateDialog::updateRace() mRace = -100 - id; } - mPlayer->setSubtype(mRace); + mPlayer->setSubtype(static_cast<uint16_t>(mRace)); const ItemInfo &item = ItemDB::get(id); mRaceNameLabel->setCaption(item.getName()); mRaceNameLabel->adjustSize(); diff --git a/src/gui/chatwindow.cpp b/src/gui/chatwindow.cpp index 1ea40a207..fc30fbc04 100644 --- a/src/gui/chatwindow.cpp +++ b/src/gui/chatwindow.cpp @@ -961,7 +961,8 @@ void ChatWindow::processEvent(Channels channel, const DepricatedEvent &event) if (id == Net::getPlayerHandler()->getJobLocation()) { std::pair<int, int> exp - = PlayerInfo::getStatExperience(id); + = PlayerInfo::getStatExperience( + static_cast<PlayerInfo::Attribute>(id)); if (event.getInt("oldValue1") > exp.first || !event.getInt("oldValue2")) { diff --git a/src/gui/ministatuswindow.cpp b/src/gui/ministatuswindow.cpp index 54ededd41..cc374d386 100644 --- a/src/gui/ministatuswindow.cpp +++ b/src/gui/ministatuswindow.cpp @@ -297,17 +297,17 @@ void MiniStatusWindow::mouseMoved(gcn::MouseEvent &event) > PlayerInfo::getAttribute(PlayerInfo::EXP_NEEDED)) { mTextPopup->show(x + getX(), y + getY(), - event.getSource()->getId(), strprintf("%u/%u", + event.getSource()->getId(), strprintf("%d/%d", PlayerInfo::getAttribute(PlayerInfo::EXP), PlayerInfo::getAttribute(PlayerInfo::EXP_NEEDED))); } else { mTextPopup->show(x + getX(), y + getY(), - event.getSource()->getId(), strprintf("%u/%u", + event.getSource()->getId(), strprintf("%d/%d", PlayerInfo::getAttribute(PlayerInfo::EXP), PlayerInfo::getAttribute(PlayerInfo::EXP_NEEDED)), - strprintf("%s: %u", _("Need"), + strprintf("%s: %d", _("Need"), PlayerInfo::getAttribute(PlayerInfo::EXP_NEEDED) - PlayerInfo::getAttribute(PlayerInfo::EXP))); } @@ -316,14 +316,14 @@ void MiniStatusWindow::mouseMoved(gcn::MouseEvent &event) else if (event.getSource() == mHpBar) { mTextPopup->show(x + getX(), y + getY(), event.getSource()->getId(), - strprintf("%u/%u", PlayerInfo::getAttribute(PlayerInfo::HP), + strprintf("%d/%d", PlayerInfo::getAttribute(PlayerInfo::HP), PlayerInfo::getAttribute(PlayerInfo::MAX_HP))); mStatusPopup->hide(); } else if (event.getSource() == mMpBar) { mTextPopup->show(x + getX(), y + getY(), event.getSource()->getId(), - strprintf("%u/%u", PlayerInfo::getAttribute(PlayerInfo::MP), + strprintf("%d/%d", PlayerInfo::getAttribute(PlayerInfo::MP), PlayerInfo::getAttribute(PlayerInfo::MAX_MP))); mStatusPopup->hide(); } @@ -336,21 +336,21 @@ void MiniStatusWindow::mouseMoved(gcn::MouseEvent &event) { mTextPopup->show(x + getX(), y + getY(), event.getSource()->getId(), - strprintf("%u/%u", exp.first, exp.second)); + strprintf("%d/%d", exp.first, exp.second)); } else { mTextPopup->show(x + getX(), y + getY(), event.getSource()->getId(), - strprintf("%u/%u", exp.first, exp.second), - strprintf("%s: %u", _("Need"), exp.second - exp.first)); + strprintf("%d/%d", exp.first, exp.second), + strprintf("%s: %d", _("Need"), exp.second - exp.first)); } mStatusPopup->hide(); } else if (event.getSource() == mWeightBar) { mTextPopup->show(x + getX(), y + getY(), event.getSource()->getId(), - strprintf("%u/%u", PlayerInfo::getAttribute( + strprintf("%d/%d", PlayerInfo::getAttribute( PlayerInfo::TOTAL_WEIGHT), PlayerInfo::getAttribute(PlayerInfo::MAX_WEIGHT))); mStatusPopup->hide(); @@ -365,7 +365,7 @@ void MiniStatusWindow::mouseMoved(gcn::MouseEvent &event) mTextPopup->show(x + getX(), y + getY(), event.getSource()->getId(), - strprintf("%u/%u", usedSlots, maxSlots)); + strprintf("%d/%d", usedSlots, maxSlots)); } mStatusPopup->hide(); } diff --git a/src/gui/outfitwindow.cpp b/src/gui/outfitwindow.cpp index eaf511a17..277ef904a 100644 --- a/src/gui/outfitwindow.cpp +++ b/src/gui/outfitwindow.cpp @@ -142,10 +142,10 @@ void OutfitWindow::load(bool oldConfig) std::string buf; std::stringstream ss(outfit); - std::vector<int> tokens; + std::vector<unsigned char> tokens; while (ss >> buf) - tokens.push_back(atoi(buf.c_str())); + tokens.push_back(static_cast<unsigned char>(atoi(buf.c_str()))); for (int i = 0; i < static_cast<int>(tokens.size()) && i < OUTFIT_ITEM_COUNT; i++) @@ -160,7 +160,7 @@ void OutfitWindow::load(bool oldConfig) tokens.clear(); while (ss2 >> buf) - tokens.push_back(atoi(buf.c_str())); + tokens.push_back(static_cast<unsigned char>(atoi(buf.c_str()))); for (int i = 0; i < static_cast<int>(tokens.size()) && i < OUTFIT_ITEM_COUNT; i++) @@ -373,7 +373,7 @@ void OutfitWindow::mouseDragged(gcn::MouseEvent &event) return; } const int itemId = mItems[mCurrentOutfit][index]; - const int itemColor = mItemColors[mCurrentOutfit][index]; + const unsigned char itemColor = mItemColors[mCurrentOutfit][index]; if (itemId < 0) { Window::mouseDragged(event); diff --git a/src/gui/outfitwindow.h b/src/gui/outfitwindow.h index 6881bdbc6..2ce281b45 100644 --- a/src/gui/outfitwindow.h +++ b/src/gui/outfitwindow.h @@ -129,7 +129,7 @@ class OutfitWindow : public Window, gcn::ActionListener unsigned char mItemColors[OUTFITS_COUNT + 1][OUTFIT_ITEM_COUNT]; bool mItemsUnequip[OUTFITS_COUNT]; int mItemSelected; - int mItemColorSelected; + unsigned char mItemColorSelected; int mCurrentOutfit; int mAwayOutfit; diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp index c8351914f..2df651ab1 100644 --- a/src/gui/popupmenu.cpp +++ b/src/gui/popupmenu.cpp @@ -276,14 +276,15 @@ void PopupMenu::showPopup(int x, int y, std::vector<ActorSprite*> &beings) if (being && !being->getName().empty()) { mBrowserBox->addRow(strprintf("@@player_%u|%s >@@", - being->getId(), (being->getName() + static_cast<unsigned>(being->getId()), (being->getName() + being->getGenderSignWithSpace()).c_str())); } else if (actor->getType() == ActorSprite::FLOOR_ITEM) { FloorItem *floorItem = static_cast<FloorItem*>(actor); mBrowserBox->addRow(strprintf("@@flooritem_%u|%s >@@", - actor->getId(), floorItem->getName().c_str())); + static_cast<unsigned>(actor->getId()), + floorItem->getName().c_str())); } } mBrowserBox->addRow("##3---"); @@ -648,7 +649,7 @@ void PopupMenu::showChangePos(int x, int y) for (PositionsMap::const_iterator itr = map.begin(), itr_end = map.end(); itr != itr_end; ++itr) { - mBrowserBox->addRow(strprintf("@@guild-pos-%d|%s@@", + mBrowserBox->addRow(strprintf("@@guild-pos-%u|%s@@", itr->first, itr->second.c_str())); } mBrowserBox->addRow("cancel", _("Cancel")); diff --git a/src/gui/registerdialog.cpp b/src/gui/registerdialog.cpp index 895d841b6..988d4c718 100644 --- a/src/gui/registerdialog.cpp +++ b/src/gui/registerdialog.cpp @@ -184,7 +184,7 @@ void RegisterDialog::action(const gcn::ActionEvent &event) { // Name too short errorMsg = strprintf - (_("The username needs to be at least %d characters long."), + (_("The username needs to be at least %u characters long."), minUser); error = 1; } @@ -192,7 +192,7 @@ void RegisterDialog::action(const gcn::ActionEvent &event) { // Name too long errorMsg = strprintf - (_("The username needs to be less than %d characters long."), + (_("The username needs to be less than %u characters long."), maxUser); error = 1; } @@ -200,7 +200,7 @@ void RegisterDialog::action(const gcn::ActionEvent &event) { // Pass too short errorMsg = strprintf - (_("The password needs to be at least %d characters long."), + (_("The password needs to be at least %u characters long."), minPass); error = 2; } @@ -208,7 +208,7 @@ void RegisterDialog::action(const gcn::ActionEvent &event) { // Pass too long errorMsg = strprintf - (_("The password needs to be less than %d characters long."), + (_("The password needs to be less than %u characters long."), maxPass); error = 2; } diff --git a/src/gui/skilldialog.cpp b/src/gui/skilldialog.cpp index 47de3b381..aa8ea716f 100644 --- a/src/gui/skilldialog.cpp +++ b/src/gui/skilldialog.cpp @@ -561,10 +561,13 @@ void SkillInfo::setIcon(const std::string &iconPath) void SkillInfo::update() { - int baseLevel = PlayerInfo::getStatBase(id); - int effLevel = PlayerInfo::getStatEffective(id); + int baseLevel = PlayerInfo::getStatBase( + static_cast<PlayerInfo::Attribute>(id)); + int effLevel = PlayerInfo::getStatEffective( + static_cast<PlayerInfo::Attribute>(id)); - std::pair<int, int> exp = PlayerInfo::getStatExperience(id); + std::pair<int, int> exp = PlayerInfo::getStatExperience( + static_cast<PlayerInfo::Attribute>(id)); if (!modifiable && baseLevel == 0 && effLevel == 0 && exp.second == 0) { diff --git a/src/gui/statuswindow.cpp b/src/gui/statuswindow.cpp index 267bd9cfc..73d95c54b 100644 --- a/src/gui/statuswindow.cpp +++ b/src/gui/statuswindow.cpp @@ -360,11 +360,12 @@ void StatusWindow::processEvent(Channels channel A_UNUSED, { if (mJobLvlLabel) { - int lvl = PlayerInfo::getStatBase(id); + int lvl = PlayerInfo::getStatBase( + static_cast<PlayerInfo::Attribute>(id)); int oldExp = event.getInt("oldValue1"); - std::pair<int, int> exp - = PlayerInfo::getStatExperience(id); + std::pair<int, int> exp = PlayerInfo::getStatExperience( + static_cast<PlayerInfo::Attribute>(id)); if (!lvl) { @@ -378,7 +379,8 @@ void StatusWindow::processEvent(Channels channel A_UNUSED, { lvl = (exp.second - 20000) / 150; blocked = true; - PlayerInfo::setStatBase(id, lvl); + PlayerInfo::setStatBase( + static_cast<PlayerInfo::Attribute>(id), lvl); blocked = false; } } @@ -389,8 +391,10 @@ void StatusWindow::processEvent(Channels channel A_UNUSED, lvl ++; blocked = true; PlayerInfo::setStatExperience( - id, exp.first, 20000 + lvl * 150); - PlayerInfo::setStatBase(id, lvl); + static_cast<PlayerInfo::Attribute>(id), + exp.first, 20000 + lvl * 150); + PlayerInfo::setStatBase( + static_cast<PlayerInfo::Attribute>(id), lvl); blocked = false; } @@ -573,7 +577,8 @@ void StatusWindow::updateJobBar(ProgressBar *bar, bool percent) void StatusWindow::updateProgressBar(ProgressBar *bar, int id, bool percent) { - std::pair<int, int> exp = PlayerInfo::getStatExperience(id); + std::pair<int, int> exp = PlayerInfo::getStatExperience( + static_cast<PlayerInfo::Attribute>(id)); updateProgressBar(bar, exp.first, exp.second, percent); } @@ -758,8 +763,10 @@ AttrDisplay::~AttrDisplay() std::string AttrDisplay::update() { - int base = PlayerInfo::getStatBase(mId); - int bonus = PlayerInfo::getStatMod(mId); + int base = PlayerInfo::getStatBase( + static_cast<PlayerInfo::Attribute>(mId)); + int bonus = PlayerInfo::getStatMod( + static_cast<PlayerInfo::Attribute>(mId)); std::string value = toString(base + bonus); if (bonus) value += strprintf("=%d%+d", base, bonus); @@ -845,8 +852,10 @@ void ChangeDisplay::action(const gcn::ActionEvent &event) PlayerInfo::CHAR_POINTS) + 1; PlayerInfo::setAttribute(PlayerInfo::CHAR_POINTS, newpoints); - int newbase = PlayerInfo::getStatBase(mId) - 1; - PlayerInfo::setStatBase(mId, newbase); + int newbase = PlayerInfo::getStatBase( + static_cast<PlayerInfo::Attribute>(mId)) - 1; + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + mId), newbase); Net::getPlayerHandler()->decreaseAttribute(mId); } @@ -864,8 +873,10 @@ void ChangeDisplay::action(const gcn::ActionEvent &event) PlayerInfo::CHAR_POINTS) - cnt; PlayerInfo::setAttribute(PlayerInfo::CHAR_POINTS, newpoints); - int newbase = PlayerInfo::getStatBase(mId) + cnt; - PlayerInfo::setStatBase(mId, newbase); + int newbase = PlayerInfo::getStatBase( + static_cast<PlayerInfo::Attribute>(mId)) + cnt; + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + mId), newbase); for (unsigned f = 0; f < mInc->getClickCount(); f ++) { diff --git a/src/gui/unregisterdialog.cpp b/src/gui/unregisterdialog.cpp index 6887ffbb8..e2aa24321 100644 --- a/src/gui/unregisterdialog.cpp +++ b/src/gui/unregisterdialog.cpp @@ -118,7 +118,7 @@ void UnRegisterDialog::action(const gcn::ActionEvent &event) if (password.length() < min) { // Pass too short - errorMsg << strprintf(_("The password needs to be at least %d " + errorMsg << strprintf(_("The password needs to be at least %u " "characters long."), min); error = true; } @@ -126,7 +126,7 @@ void UnRegisterDialog::action(const gcn::ActionEvent &event) { // Pass too long errorMsg << strprintf(_("The password needs to be less than " - "%d characters long."), max); + "%u characters long."), max); error = true; } diff --git a/src/gui/updaterwindow.cpp b/src/gui/updaterwindow.cpp index 43185b418..154594e60 100644 --- a/src/gui/updaterwindow.cpp +++ b/src/gui/updaterwindow.cpp @@ -615,9 +615,10 @@ void UpdaterWindow::logic() mProgressBar->setProgress(mDownloadProgress); if (mUpdateFiles.size() && mUpdateIndex <= mUpdateFiles.size()) { - mProgressBar->setText(strprintf("%d/%d", mUpdateIndex - + mUpdateIndexOffset + 1, static_cast<int>(mUpdateFiles.size()) - + static_cast<int>(mTempUpdateFiles.size()) + 1)); + mProgressBar->setText(strprintf("%u/%u", mUpdateIndex + + mUpdateIndexOffset + 1, static_cast<unsigned>( + mUpdateFiles.size()) + static_cast<int>( + mTempUpdateFiles.size()) + 1)); } else { diff --git a/src/gui/widgets/dropshortcutcontainer.cpp b/src/gui/widgets/dropshortcutcontainer.cpp index d6d31871b..fca1af17f 100644 --- a/src/gui/widgets/dropshortcutcontainer.cpp +++ b/src/gui/widgets/dropshortcutcontainer.cpp @@ -185,7 +185,7 @@ void DropShortcutContainer::mouseDragged(gcn::MouseEvent &event) return; const int itemId = dropShortcut->getItem(index); - const int itemColor = dropShortcut->getItemColor(index); + const unsigned char itemColor = dropShortcut->getItemColor(index); if (itemId < 0) return; @@ -288,7 +288,7 @@ void DropShortcutContainer::mouseMoved(gcn::MouseEvent &event) return; const int itemId = dropShortcut->getItem(index); - const int itemColor = dropShortcut->getItemColor(index); + const unsigned char itemColor = dropShortcut->getItemColor(index); if (itemId < 0) return; diff --git a/src/gui/widgets/itemshortcutcontainer.cpp b/src/gui/widgets/itemshortcutcontainer.cpp index 714435d21..735cea43d 100644 --- a/src/gui/widgets/itemshortcutcontainer.cpp +++ b/src/gui/widgets/itemshortcutcontainer.cpp @@ -140,7 +140,7 @@ void ItemShortcutContainer::draw(gcn::Graphics *graphics) g->drawText(key, itemX + 2, itemY + 2, gcn::Graphics::LEFT); const int itemId = itemShortcut[mNumber]->getItem(i); - const int itemColor = itemShortcut[mNumber]->getItemColor(i); + const unsigned char itemColor = itemShortcut[mNumber]->getItemColor(i); if (itemId < 0) continue; @@ -245,7 +245,8 @@ void ItemShortcutContainer::mouseDragged(gcn::MouseEvent &event) return; const int itemId = itemShortcut[mNumber]->getItem(index); - const int itemColor = itemShortcut[mNumber]->getItemColor(index); + const unsigned char itemColor = itemShortcut[mNumber]-> + getItemColor(index); if (itemId < 0) return; @@ -365,7 +366,7 @@ void ItemShortcutContainer::mouseMoved(gcn::MouseEvent &event) return; const int itemId = itemShortcut[mNumber]->getItem(index); - const int itemColor = itemShortcut[mNumber]->getItemColor(index); + const unsigned char itemColor = itemShortcut[mNumber]->getItemColor(index); if (itemId < 0) return; diff --git a/src/gui/widgets/setupitem.cpp b/src/gui/widgets/setupitem.cpp index 7f539d79f..bbc809747 100644 --- a/src/gui/widgets/setupitem.cpp +++ b/src/gui/widgets/setupitem.cpp @@ -848,7 +848,7 @@ void SetupItemSlider2::action(const gcn::ActionEvent &event A_UNUSED) void SetupItemSlider2::updateLabel() { - int val = mSlider->getValue() - mMin; + int val = static_cast<int>(mSlider->getValue()) - mMin; if (val < 0) val = 0; else if (val >= static_cast<signed>(mValues->size())) diff --git a/src/gui/widgets/textfield.cpp b/src/gui/widgets/textfield.cpp index 8f543e3bf..3d106f9a2 100644 --- a/src/gui/widgets/textfield.cpp +++ b/src/gui/widgets/textfield.cpp @@ -174,7 +174,7 @@ void TextField::keyPressed(gcn::KeyEvent &keyEvent) if ((val >= '0' && val <= '9') || (val == '-' && !mCaretPosition)) { char buf[2]; - buf[0] = val; + buf[0] = static_cast<char>(val); buf[1] = 0; mText.insert(mCaretPosition, std::string(buf)); mCaretPosition += 1; diff --git a/src/guichan/include/guichan/sdl/sdlpixel.hpp b/src/guichan/include/guichan/sdl/sdlpixel.hpp index 23298ef37..0aaa3c5fb 100644 --- a/src/guichan/include/guichan/sdl/sdlpixel.hpp +++ b/src/guichan/include/guichan/sdl/sdlpixel.hpp @@ -1,4 +1,4 @@ -/* _______ __ __ __ ______ __ __ _______ __ __ +/* _______ __ __ __ ______ __ __ _______ __ __ * / _____/\ / /\ / /\ / /\ / ____/\ / /\ / /\ / ___ /\ / |\/ /\ * / /\____\// / // / // / // /\___\// /_// / // /\_/ / // , |/ / / * / / /__ / / // / // / // / / / ___ / // ___ / // /| ' / / @@ -68,7 +68,7 @@ namespace gcn SDL_LockSurface(surface); - Uint8 *p = static_cast<Uint8*>(surface->pixels) + Uint8 *p = static_cast<uint8_t*>(surface->pixels) + y * surface->pitch + x * bpp; unsigned int color = 0; @@ -124,33 +124,35 @@ namespace gcn SDL_LockSurface(surface); - Uint8 *p = static_cast<Uint8*>(surface->pixels) + Uint8 *p = static_cast<uint8_t*>(surface->pixels) + y * surface->pitch + x * bpp; - Uint32 pixel = SDL_MapRGB(surface->format, color.r, color.g, color.b); + Uint32 pixel = SDL_MapRGB(surface->format, + static_cast<uint8_t>(color.r), static_cast<uint8_t>(color.g), + static_cast<uint8_t>(color.b)); switch (bpp) { case 1: - *p = pixel; + *p = static_cast<uint8_t>(pixel); break; case 2: - *reinterpret_cast<Uint16*>(p) = pixel; + *reinterpret_cast<uint16_t*>(p) = static_cast<uint16_t>(pixel); break; case 3: if (SDL_BYTEORDER == SDL_BIG_ENDIAN) { - p[0] = (pixel >> 16) & 0xff; - p[1] = (pixel >> 8) & 0xff; - p[2] = pixel & 0xff; + p[0] = static_cast<uint8_t>((pixel >> 16) & 0xff); + p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff); + p[2] = static_cast<uint8_t>((pixel) & 0xff); } else { - p[0] = pixel & 0xff; - p[1] = (pixel >> 8) & 0xff; - p[2] = (pixel >> 16) & 0xff; + p[0] = static_cast<uint8_t>((pixel) & 0xff); + p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff); + p[2] = static_cast<uint8_t>((pixel >> 16) & 0xff); } break; @@ -232,54 +234,50 @@ namespace gcn SDL_LockSurface(surface); - Uint8 *p = static_cast<Uint8*>(surface->pixels) + Uint8 *p = static_cast<uint8_t*>(surface->pixels) + y * surface->pitch + x * bpp; - Uint32 pixel = SDL_MapRGB(surface->format, color.r, color.g, color.b); + Uint32 pixel = SDL_MapRGB(surface->format, static_cast<uint8_t>(color.r), + static_cast<uint8_t>(color.g), static_cast<uint8_t>(color.b)); switch (bpp) { case 1: - *p = pixel; + *p = static_cast<uint8_t>(pixel); break; case 2: - *reinterpret_cast<Uint16*>(p) = SDLAlpha16(pixel, - *reinterpret_cast<Uint32*>(p), color.a, surface->format); + *reinterpret_cast<Uint16*>(p) = SDLAlpha16( + static_cast<unsigned short>(pixel), + *reinterpret_cast<unsigned short*>(p), + static_cast<unsigned char>(color.a), surface->format); break; case 3: if (SDL_BYTEORDER == SDL_BIG_ENDIAN) { - unsigned int r = (p[0] * (255 - color.a) - + color.r * color.a) >> 8; - unsigned int g = (p[1] * (255 - color.a) - + color.g * color.a) >> 8; - unsigned int b = (p[2] * (255 - color.a) - + color.b * color.a) >> 8; - - p[2] = b; - p[1] = g; - p[0] = r; + p[2] = static_cast<uint8_t>((p[2] * (255 - color.a) + + color.b * color.a) >> 8); + p[1] = static_cast<uint8_t>((p[1] * (255 - color.a) + + color.g * color.a) >> 8); + p[0] = static_cast<uint8_t>((p[0] * (255 - color.a) + + color.r * color.a) >> 8); } else { - unsigned int r = (p[2] * (255 - color.a) - + color.r * color.a) >> 8; - unsigned int g = (p[1] * (255 - color.a) - + color.g * color.a) >> 8; - unsigned int b = (p[0] * (255 - color.a) - + color.b * color.a) >> 8; - - p[0] = b; - p[1] = g; - p[2] = r; + p[0] = static_cast<uint8_t>((p[0] * (255 - color.a) + + color.b * color.a) >> 8); + p[1] = static_cast<uint8_t>((p[1] * (255 - color.a) + + color.g * color.a) >> 8); + p[2] = static_cast<uint8_t>((p[2] * (255 - color.a) + + color.r * color.a) >> 8); } break; case 4: *reinterpret_cast<Uint32*>(p) = SDLAlpha32(pixel, - *reinterpret_cast<Uint32*>(p), color.a); + *reinterpret_cast<Uint32*>(p), + static_cast<unsigned char>(color.a)); break; default: break; diff --git a/src/guichan/sdl/sdlgraphics.cpp b/src/guichan/sdl/sdlgraphics.cpp index e50017c38..0be0bfe59 100644 --- a/src/guichan/sdl/sdlgraphics.cpp +++ b/src/guichan/sdl/sdlgraphics.cpp @@ -97,10 +97,10 @@ namespace gcn bool result = Graphics::pushClipArea(area); const ClipRectangle& carea = mClipStack.top(); - rect.x = carea.x; - rect.y = carea.y; - rect.w = carea.width; - rect.h = carea.height; + rect.x = static_cast<int16_t>(carea.x); + rect.y = static_cast<int16_t>(carea.y); + rect.w = static_cast<int16_t>(carea.width); + rect.h = static_cast<int16_t>(carea.height); SDL_SetClipRect(mTarget, &rect); @@ -116,10 +116,10 @@ namespace gcn const ClipRectangle& carea = mClipStack.top(); SDL_Rect rect; - rect.x = carea.x; - rect.y = carea.y; - rect.w = carea.width; - rect.h = carea.height; + rect.x = static_cast<int16_t>(carea.x); + rect.y = static_cast<int16_t>(carea.y); + rect.w = static_cast<int16_t>(carea.width); + rect.h = static_cast<int16_t>(carea.height); SDL_SetClipRect(mTarget, &rect); } @@ -213,21 +213,21 @@ namespace gcn + y * mTarget->pitch + x1 * bpp; uint32_t pixel = SDL_MapRGB(mTarget->format, - mColor.r, - mColor.g, - mColor.b); + static_cast<uint8_t>(mColor.r), + static_cast<uint8_t>(mColor.g), + static_cast<uint8_t>(mColor.b)); switch (bpp) { case 1: for (; x1 <= x2; ++x1) - *(p++) = pixel; + *(p++) = static_cast<uint8_t>(pixel); break; case 2: { uint16_t* q = reinterpret_cast<uint16_t*>(p); for (; x1 <= x2; ++x1) - *(q++) = pixel; + *(q++) = static_cast<uint8_t>(pixel); break; } @@ -236,9 +236,9 @@ namespace gcn { for (; x1 <= x2; ++x1) { - p[0] = (pixel >> 16) & 0xff; - p[1] = (pixel >> 8) & 0xff; - p[2] = pixel & 0xff; + p[0] = static_cast<uint8_t>((pixel >> 16) & 0xff); + p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff); + p[2] = static_cast<uint8_t>(pixel & 0xff); p += 3; } } @@ -246,9 +246,9 @@ namespace gcn { for (; x1 <= x2; ++x1) { - p[0] = pixel & 0xff; - p[1] = (pixel >> 8) & 0xff; - p[2] = (pixel >> 16) & 0xff; + p[0] = static_cast<uint8_t>(pixel & 0xff); + p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff); + p[2] = static_cast<uint8_t>((pixel >> 16) & 0xff); p += 3; } } @@ -261,12 +261,13 @@ namespace gcn { if (mAlpha) { - *q = SDLAlpha32(pixel, *q, mColor.a); + *q = SDLAlpha32(pixel, *q, + static_cast<unsigned char>(mColor.a)); q++; } else { - *(q++) = pixel; + *(q++) = static_cast<uint8_t>(pixel); } } break; @@ -325,15 +326,17 @@ namespace gcn uint8_t *p = static_cast<uint8_t*>(mTarget->pixels) + y1 * mTarget->pitch + x * bpp; - uint32_t pixel = SDL_MapRGB(mTarget->format, mColor.r, - mColor.g, mColor.b); + uint32_t pixel = SDL_MapRGB(mTarget->format, + static_cast<uint8_t>(mColor.r), + static_cast<uint8_t>(mColor.g), + static_cast<uint8_t>(mColor.b)); switch (bpp) { case 1: for (; y1 <= y2; ++y1) { - *p = pixel; + *p = static_cast<uint8_t>(pixel); p += mTarget->pitch; } break; @@ -341,7 +344,8 @@ namespace gcn case 2: for (; y1 <= y2; ++ y1) { - *reinterpret_cast<uint16_t*>(p) = pixel; + *reinterpret_cast<uint16_t*>(p) + = static_cast<uint16_t>(pixel); p += mTarget->pitch; } break; @@ -351,9 +355,9 @@ namespace gcn { for (; y1 <= y2; ++y1) { - p[0] = (pixel >> 16) & 0xff; - p[1] = (pixel >> 8) & 0xff; - p[2] = pixel & 0xff; + p[0] = static_cast<uint8_t>((pixel >> 16) & 0xff); + p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff); + p[2] = static_cast<uint8_t>(pixel & 0xff); p += mTarget->pitch; } } @@ -361,9 +365,9 @@ namespace gcn { for (; y1 <= y2; ++y1) { - p[0] = pixel & 0xff; - p[1] = (pixel >> 8) & 0xff; - p[2] = (pixel >> 16) & 0xff; + p[0] = static_cast<uint8_t>(pixel & 0xff); + p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff); + p[2] = static_cast<uint8_t>((pixel >> 16) & 0xff); p += mTarget->pitch; } } @@ -375,7 +379,8 @@ namespace gcn if (mAlpha) { *reinterpret_cast<uint32_t*>(p) = SDLAlpha32(pixel, - *reinterpret_cast<uint32_t*>(p), mColor.a); + *reinterpret_cast<uint32_t*>(p), + static_cast<unsigned char>(mColor.a)); } else { diff --git a/src/itemshortcut.cpp b/src/itemshortcut.cpp index aa78065c9..ce6aedb59 100644 --- a/src/itemshortcut.cpp +++ b/src/itemshortcut.cpp @@ -75,7 +75,7 @@ void ItemShortcut::load(bool oldConfig) for (int i = 0; i < SHORTCUT_ITEMS; i++) { int itemId = cfg->getValue(name + toString(i), -1); - int itemColor = cfg->getValue(color + toString(i), 1); + unsigned char itemColor = cfg->getValue(color + toString(i), 1); mItems[i] = itemId; mItemColors[i] = itemColor; @@ -122,7 +122,7 @@ void ItemShortcut::useItem(int index) return; int itemId = mItems[index]; - int itemColor = mItemColors[index]; + unsigned char itemColor = mItemColors[index]; if (itemId >= 0) { if (itemId < SPELL_MIN_ID) diff --git a/src/itemshortcut.h b/src/itemshortcut.h index 55c6d1165..6367ba6e8 100644 --- a/src/itemshortcut.h +++ b/src/itemshortcut.h @@ -144,7 +144,7 @@ class ItemShortcut int mItems[SHORTCUT_ITEMS]; /**< The items. */ unsigned char mItemColors[SHORTCUT_ITEMS]; /**< The item colors. */ int mItemSelected; - int mItemColorSelected; + unsigned char mItemColorSelected; int mNumber; }; diff --git a/src/localplayer.cpp b/src/localplayer.cpp index e4de6ad1e..b998a5ee2 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -1700,8 +1700,8 @@ void LocalPlayer::processEvent(Channels channel, int id = event.getInt("id"); if (id == Net::getPlayerHandler()->getJobLocation()) { - std::pair<int, int> exp - = PlayerInfo::getStatExperience(id); + std::pair<int, int> exp = PlayerInfo::getStatExperience( + static_cast<PlayerInfo::Attribute>(id)); if (event.getInt("oldValue1") > exp.first || !event.getInt("oldValue2")) { @@ -1755,7 +1755,7 @@ void LocalPlayer::move(int dX, int dY) moveTo(mX + dX, mY + dY); } -void LocalPlayer::moveToTarget(unsigned int dist) +void LocalPlayer::moveToTarget(int dist) { bool gotPos(false); Path debugPath; @@ -1764,7 +1764,7 @@ void LocalPlayer::moveToTarget(unsigned int dist) const Vector &playerPos = getPosition(); unsigned int limit(0); - if (static_cast<int>(dist) == -1) + if (dist == -1) { dist = mMoveToTargetType; if (mMoveToTargetType == 0) @@ -1810,7 +1810,7 @@ void LocalPlayer::moveToTarget(unsigned int dist) mTarget->getTileX(), mTarget->getTileY(), getWalkMask(), 0); } - if (debugPath.size() < dist) + if (debugPath.size() < static_cast<unsigned>(dist)) return; limit = static_cast<int>(debugPath.size()) - dist; gotPos = true; @@ -1936,7 +1936,7 @@ std::string LocalPlayer::getCrazyMoveTypeString() { if (mCrazyMoveType < crazyMoveTypeSize - 1) { - return strprintf(_("(%d) crazy move number %d"), + return strprintf(_("(%u) crazy move number %u"), mCrazyMoveType, mCrazyMoveType); } else if (mCrazyMoveType == crazyMoveTypeSize - 1) @@ -2057,12 +2057,12 @@ std::string LocalPlayer::getQuickDropCounterString() { if (mQuickDropCounter > 9) { - return strprintf("(%c) drop counter %d", - 'a' + mQuickDropCounter - 10, mQuickDropCounter); + return strprintf("(%c) drop counter %u", static_cast<char>( + 'a' + mQuickDropCounter - 10), mQuickDropCounter); } else { - return strprintf("(%d) drop counter %d", + return strprintf("(%u) drop counter %u", mQuickDropCounter, mQuickDropCounter); } } @@ -3255,8 +3255,10 @@ void LocalPlayer::tryMagic(std::string spell, int baseMagic, if (!chatWindow) return; - if (PlayerInfo::getStatEffective(340) >= baseMagic - && PlayerInfo::getStatEffective(342) >= schoolMagic) + if (PlayerInfo::getStatEffective(static_cast<PlayerInfo::Attribute>( + 340)) >= baseMagic + && PlayerInfo::getStatEffective(static_cast<PlayerInfo::Attribute>( + 342)) >= schoolMagic) { if (PlayerInfo::getAttribute(PlayerInfo::MP) >= mana) { diff --git a/src/localplayer.h b/src/localplayer.h index af54fa6b7..1de8fd765 100644 --- a/src/localplayer.h +++ b/src/localplayer.h @@ -309,7 +309,7 @@ class LocalPlayer : public Being, public ActorSpriteListener, void move(int dX, int dY); - void moveToTarget(unsigned int dist = -1); + void moveToTarget(int dist = -1); void moveToHome(); diff --git a/src/mumblemanager.cpp b/src/mumblemanager.cpp index 7e857a52b..424bf5c98 100644 --- a/src/mumblemanager.cpp +++ b/src/mumblemanager.cpp @@ -109,7 +109,7 @@ void MumbleManager::init() #elif defined BSD4_4 #else char memName[256]; - snprintf(memName, 256, "/MumbleLink.%d", getuid()); + snprintf(memName, 256, "/MumbleLink.%u", getuid()); int shmfd = shm_open(memName, O_RDWR, S_IRUSR | S_IWUSR); diff --git a/src/net/ea/beinghandler.cpp b/src/net/ea/beinghandler.cpp index c5d722db5..0e4fefa21 100644 --- a/src/net/ea/beinghandler.cpp +++ b/src/net/ea/beinghandler.cpp @@ -116,7 +116,8 @@ void BeingHandler::processBeingVisibleOrMove(Net::MessageIn &msg, bool visible) return; int id; - short job, speed, gender; + short job, speed; + uint8_t gender; uint16_t headTop, headMid, headBottom; uint16_t shoes, gloves; uint16_t weapon, shield; @@ -335,8 +336,8 @@ void BeingHandler::processBeingVisibleOrMove(Net::MessageIn &msg, bool visible) dstBeing->setStunMode(stunMode); dstBeing->setStatusEffectBlock(0, static_cast<uint16_t>( (statusEffects >> 16) & 0xffff)); - dstBeing->setStatusEffectBlock(16, statusEffects & 0xffff); - + dstBeing->setStatusEffectBlock(16, static_cast<uint16_t>( + statusEffects & 0xffff)); } void BeingHandler::processBeingMove2(Net::MessageIn &msg) @@ -761,7 +762,8 @@ void BeingHandler::processPlaterStatusChange(Net::MessageIn &msg) dstBeing->setStunMode(stunMode); dstBeing->setStatusEffectBlock(0, static_cast<uint16_t>( (statusEffects >> 16) & 0xffff)); - dstBeing->setStatusEffectBlock(16, statusEffects & 0xffff); + dstBeing->setStatusEffectBlock(16, static_cast<uint16_t>( + statusEffects & 0xffff)); } void BeingHandler::processBeingStatusChange(Net::MessageIn &msg) diff --git a/src/net/ea/guildhandler.cpp b/src/net/ea/guildhandler.cpp index 75fc5af56..7c2361531 100644 --- a/src/net/ea/guildhandler.cpp +++ b/src/net/ea/guildhandler.cpp @@ -251,7 +251,7 @@ void GuildHandler::processGuildMemberList(Net::MessageIn &msg) m->setOnline(online); m->setID(id); m->setCharId(charId); - m->setGender(Being::intToGender(gender)); + m->setGender(Being::intToGender(static_cast<uint8_t>(gender))); m->setLevel(level); m->setExp(exp); m->setPos(pos); diff --git a/src/net/ea/loginhandler.cpp b/src/net/ea/loginhandler.cpp index d35e5a0d5..2a7afb189 100644 --- a/src/net/ea/loginhandler.cpp +++ b/src/net/ea/loginhandler.cpp @@ -195,7 +195,7 @@ void LoginHandler::processLoginData(Net::MessageIn &msg) // msg.skip(30); // unknown // reserve bits for future usage - mToken.sex = Being::intToGender(msg.readInt8() & 3); + mToken.sex = Being::intToGender(static_cast<uint8_t>(msg.readInt8() & 3)); for (int i = 0; i < worldCount; i++) { diff --git a/src/net/ea/playerhandler.cpp b/src/net/ea/playerhandler.cpp index 4c6e894c9..130b31046 100644 --- a/src/net/ea/playerhandler.cpp +++ b/src/net/ea/playerhandler.cpp @@ -362,48 +362,60 @@ void PlayerHandler::processPlayerStatUpdate1(Net::MessageIn &msg) break; case 0x0029: - PlayerInfo::setStatBase(EA_ATK, value); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + EA_ATK), value); PlayerInfo::updateAttrs(); break; case 0x002a: - PlayerInfo::setStatMod(EA_ATK, value); + PlayerInfo::setStatMod(static_cast<PlayerInfo::Attribute>( + EA_ATK), value); PlayerInfo::updateAttrs(); break; case 0x002b: - PlayerInfo::setStatBase(EA_MATK, value); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + EA_MATK), value); break; case 0x002c: - PlayerInfo::setStatMod(EA_MATK, value); + PlayerInfo::setStatMod(static_cast<PlayerInfo::Attribute>( + EA_MATK), value); break; case 0x002d: - PlayerInfo::setStatBase(EA_DEF, value); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + EA_DEF), value); break; case 0x002e: - PlayerInfo::setStatMod(EA_DEF, value); + PlayerInfo::setStatMod(static_cast<PlayerInfo::Attribute>( + EA_DEF), value); break; case 0x002f: - PlayerInfo::setStatBase(EA_MDEF, value); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + EA_MDEF), value); break; case 0x0030: - PlayerInfo::setStatMod(EA_MDEF, value); + PlayerInfo::setStatMod(static_cast<PlayerInfo::Attribute>( + EA_MDEF), value); break; case 0x0031: - PlayerInfo::setStatBase(EA_HIT, value); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + EA_HIT), value); break; case 0x0032: - PlayerInfo::setStatBase(EA_FLEE, value); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + EA_FLEE), value); break; case 0x0033: - PlayerInfo::setStatMod(EA_FLEE, value); + PlayerInfo::setStatMod(static_cast<PlayerInfo::Attribute>( + EA_FLEE), value); break; case 0x0034: - PlayerInfo::setStatBase(EA_CRIT, value); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + EA_CRIT), value); break; case 0x0035: @@ -414,7 +426,8 @@ void PlayerHandler::processPlayerStatUpdate1(Net::MessageIn &msg) break; case 0x0037: - PlayerInfo::setStatBase(EA_JOB, value); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + EA_JOB), value); break; case 500: @@ -445,8 +458,10 @@ void PlayerHandler::processPlayerStatUpdate2(Net::MessageIn &msg) PlayerInfo::setAttribute(PlayerInfo::EXP, msg.readInt32()); break; case 0x0002: - PlayerInfo::setStatExperience(EA_JOB, msg.readInt32(), - PlayerInfo::getStatExperience(EA_JOB).second); + PlayerInfo::setStatExperience(static_cast<PlayerInfo::Attribute>( + EA_JOB), msg.readInt32(), + PlayerInfo::getStatExperience(static_cast<PlayerInfo::Attribute>( + EA_JOB)).second); break; case 0x0014: { @@ -470,8 +485,9 @@ void PlayerHandler::processPlayerStatUpdate2(Net::MessageIn &msg) PlayerInfo::setAttribute(PlayerInfo::EXP_NEEDED, msg.readInt32()); break; case 0x0017: - PlayerInfo::setStatExperience(EA_JOB, - PlayerInfo::getStatExperience(EA_JOB).first, + PlayerInfo::setStatExperience(static_cast<PlayerInfo::Attribute>( + EA_JOB), PlayerInfo::getStatExperience( + static_cast<PlayerInfo::Attribute>(EA_JOB)).first, msg.readInt32()); break; default: @@ -486,8 +502,10 @@ void PlayerHandler::processPlayerStatUpdate3(Net::MessageIn &msg) int base = msg.readInt32(); int bonus = msg.readInt32(); - PlayerInfo::setStatBase(type, base, false); - PlayerInfo::setStatMod(type, bonus); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + type), base, false); + PlayerInfo::setStatMod(static_cast<PlayerInfo::Attribute>( + type), bonus); if (type == EA_ATK || type == PlayerInfo::ATTACK_DELAY) PlayerInfo::updateAttrs(); } @@ -500,14 +518,15 @@ void PlayerHandler::processPlayerStatUpdate4(Net::MessageIn &msg) if (ok != 1) { - int oldValue = PlayerInfo::getStatBase(type); + int oldValue = PlayerInfo::getStatBase( + static_cast<PlayerInfo::Attribute>(type)); int points = PlayerInfo::getAttribute(PlayerInfo::CHAR_POINTS); points += oldValue - value; PlayerInfo::setAttribute(PlayerInfo::CHAR_POINTS, points); SERVER_NOTICE(_("Cannot raise skill!")) } - PlayerInfo::setStatBase(type, value); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(type), value); } void PlayerHandler::processPlayerStatUpdate5(Net::MessageIn &msg) @@ -515,69 +534,80 @@ void PlayerHandler::processPlayerStatUpdate5(Net::MessageIn &msg) PlayerInfo::setAttribute(PlayerInfo::CHAR_POINTS, msg.readInt16()); int val = msg.readInt8(); - PlayerInfo::setStatBase(EA_STR, val); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_STR), val); if (statusWindow) statusWindow->setPointsNeeded(EA_STR, msg.readInt8()); else msg.readInt8(); val = msg.readInt8(); - PlayerInfo::setStatBase(EA_AGI, val); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_AGI), val); if (statusWindow) statusWindow->setPointsNeeded(EA_AGI, msg.readInt8()); else msg.readInt8(); val = msg.readInt8(); - PlayerInfo::setStatBase(EA_VIT, val); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_VIT), val); if (statusWindow) statusWindow->setPointsNeeded(EA_VIT, msg.readInt8()); else msg.readInt8(); val = msg.readInt8(); - PlayerInfo::setStatBase(EA_INT, val); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_INT), val); if (statusWindow) statusWindow->setPointsNeeded(EA_INT, msg.readInt8()); else msg.readInt8(); val = msg.readInt8(); - PlayerInfo::setStatBase(EA_DEX, val); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_DEX), val); if (statusWindow) statusWindow->setPointsNeeded(EA_DEX, msg.readInt8()); else msg.readInt8(); val = msg.readInt8(); - PlayerInfo::setStatBase(EA_LUK, val); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_LUK), val); if (statusWindow) statusWindow->setPointsNeeded(EA_LUK, msg.readInt8()); else msg.readInt8(); - PlayerInfo::setStatBase(EA_ATK, msg.readInt16(), false); - PlayerInfo::setStatMod(EA_ATK, msg.readInt16()); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_ATK), + msg.readInt16(), false); + PlayerInfo::setStatMod(static_cast<PlayerInfo::Attribute>(EA_ATK), + msg.readInt16()); PlayerInfo::updateAttrs(); val = msg.readInt16(); - PlayerInfo::setStatBase(EA_MATK, val, false); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_MATK), + val, false); val = msg.readInt16(); - PlayerInfo::setStatMod(EA_MATK, val); + PlayerInfo::setStatMod(static_cast<PlayerInfo::Attribute>(EA_MATK), val); - PlayerInfo::setStatBase(EA_DEF, msg.readInt16(), false); - PlayerInfo::setStatMod(EA_DEF, msg.readInt16()); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_DEF), + msg.readInt16(), false); + PlayerInfo::setStatMod(static_cast<PlayerInfo::Attribute>(EA_DEF), + msg.readInt16()); - PlayerInfo::setStatBase(EA_MDEF, msg.readInt16(), false); - PlayerInfo::setStatMod(EA_MDEF, msg.readInt16()); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_MDEF), + msg.readInt16(), false); + PlayerInfo::setStatMod(static_cast<PlayerInfo::Attribute>(EA_MDEF), + msg.readInt16()); - PlayerInfo::setStatBase(EA_HIT, msg.readInt16()); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_HIT), + msg.readInt16()); - PlayerInfo::setStatBase(EA_FLEE, msg.readInt16(), false); - PlayerInfo::setStatMod(EA_FLEE, msg.readInt16()); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_FLEE), + msg.readInt16(), false); + PlayerInfo::setStatMod(static_cast<PlayerInfo::Attribute>(EA_FLEE), + msg.readInt16()); - PlayerInfo::setStatBase(EA_CRIT, msg.readInt16()); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>(EA_CRIT), + msg.readInt16()); msg.readInt16(); // manner } @@ -635,17 +665,18 @@ void PlayerHandler::processPlayerArrowMessage(Net::MessageIn &msg) bool PlayerHandler::canUseMagic() const { - return PlayerInfo::getStatEffective(EA_MATK) > 0; + return PlayerInfo::getStatEffective(static_cast<PlayerInfo::Attribute>( + EA_MATK)) > 0; } -int PlayerHandler::getJobLocation() const +PlayerInfo::Attribute PlayerHandler::getJobLocation() const { - return EA_JOB; + return static_cast<PlayerInfo::Attribute>(EA_JOB); } -int PlayerHandler::getAttackLocation() const +PlayerInfo::Attribute PlayerHandler::getAttackLocation() const { - return EA_ATK; + return static_cast<PlayerInfo::Attribute>(EA_ATK); } } // namespace Ea diff --git a/src/net/ea/playerhandler.h b/src/net/ea/playerhandler.h index d0402ecfc..3e9d14804 100644 --- a/src/net/ea/playerhandler.h +++ b/src/net/ea/playerhandler.h @@ -47,9 +47,9 @@ class PlayerHandler : public Net::PlayerHandler Vector getDefaultWalkSpeed() const; - int getJobLocation() const; + PlayerInfo::Attribute getJobLocation() const; - int getAttackLocation() const; + PlayerInfo::Attribute getAttackLocation() const; void processWalkResponse(Net::MessageIn &msg); diff --git a/src/net/ea/specialhandler.cpp b/src/net/ea/specialhandler.cpp index dd0284ae8..7a760c5b4 100644 --- a/src/net/ea/specialhandler.cpp +++ b/src/net/ea/specialhandler.cpp @@ -94,7 +94,8 @@ void SpecialHandler::processPlayerSkills(Net::MessageIn &msg) msg.skip(24); // 0 unused int up = msg.readInt8(); - PlayerInfo::setStatBase(skillId, level); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + skillId), level); if (skillDialog) { if (!skillDialog->updateSkill(skillId, range, up)) @@ -111,7 +112,8 @@ void SpecialHandler::processPlayerSkillUp(Net::MessageIn &msg) int range = msg.readInt16(); int up = msg.readInt8(); - PlayerInfo::setStatBase(skillId, level); + PlayerInfo::setStatBase(static_cast<PlayerInfo::Attribute>( + skillId), level); if (skillDialog) { if (!skillDialog->updateSkill(skillId, range, up)) diff --git a/src/net/messagein.cpp b/src/net/messagein.cpp index 0af0e389f..377cca6d3 100644 --- a/src/net/messagein.cpp +++ b/src/net/messagein.cpp @@ -50,7 +50,7 @@ MessageIn::MessageIn(const char *data, unsigned int length): unsigned char MessageIn::readInt8() { - unsigned char value = -1; + unsigned char value = static_cast<unsigned char>(-1); if (mPos < mLength) value = static_cast<unsigned char>(mData[mPos]); @@ -121,7 +121,7 @@ void MessageIn::readCoordinates(uint16_t &x, uint16_t &y, uint8_t &direction) temp = MAKEWORD(data[2] & 0x00f0, data[1] & 0x003f); y = static_cast<unsigned short>(temp >> 4); - serverDir = data[2] & 0x000f; + serverDir = static_cast<uint8_t>(data[2] & 0x000f); direction = fromServerDirection(serverDir); } mPos += 3; diff --git a/src/net/playerhandler.h b/src/net/playerhandler.h index 187059c02..c6a67afb2 100644 --- a/src/net/playerhandler.h +++ b/src/net/playerhandler.h @@ -25,6 +25,7 @@ #include "being.h" #include "flooritem.h" +#include "playerinfo.h" namespace Net { @@ -65,9 +66,9 @@ class PlayerHandler virtual bool canCorrectAttributes() const = 0; - virtual int getJobLocation() const = 0; + virtual PlayerInfo::Attribute getJobLocation() const = 0; - virtual int getAttackLocation() const = 0; + virtual PlayerInfo::Attribute getAttackLocation() const = 0; virtual Vector getDefaultWalkSpeed() const = 0; diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp index 855972b95..dc815bf1c 100644 --- a/src/net/tmwa/beinghandler.cpp +++ b/src/net/tmwa/beinghandler.cpp @@ -518,7 +518,8 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, int msgType) dstBeing->setStatusEffectBlock(32, msg.readInt16()); // opt3 msg.readInt8(); // karma // reserving bit for future usage - dstBeing->setGender(Being::intToGender(msg.readInt8() & 3)); + dstBeing->setGender(Being::intToGender( + static_cast<uint8_t>(msg.readInt8() & 3))); // Set these after the gender, as the sprites may be gender-specific dstBeing->setSprite(SPRITE_WEAPON, weapon, "", 1, true); @@ -647,7 +648,8 @@ void BeingHandler::processPlayerMoveUpdate(Net::MessageIn &msg, int msgType) dstBeing->setStunMode(stunMode); dstBeing->setStatusEffectBlock(0, static_cast<uint16_t>( (statusEffects >> 16) & 0xffff)); - dstBeing->setStatusEffectBlock(16, statusEffects & 0xffff); + dstBeing->setStatusEffectBlock(16, static_cast<uint16_t>( + statusEffects & 0xffff)); if (msgType == 3 && dstBeing->getType() == Being::PLAYER) dstBeing->setMoveTime(); diff --git a/src/net/tmwa/messagein.cpp b/src/net/tmwa/messagein.cpp index 698d7211c..2b65a2a3a 100644 --- a/src/net/tmwa/messagein.cpp +++ b/src/net/tmwa/messagein.cpp @@ -77,7 +77,7 @@ int MessageIn::readInt32() } mPos += 4; PacketCounters::incInBytes(4); - DEBUGLOG(strprintf("readInt32: %u", value)); + DEBUGLOG(strprintf("readInt32: %u", static_cast<unsigned>(value))); return value; } diff --git a/src/net/tmwa/messageout.cpp b/src/net/tmwa/messageout.cpp index 9e9e264eb..57cbceca3 100644 --- a/src/net/tmwa/messageout.cpp +++ b/src/net/tmwa/messageout.cpp @@ -91,7 +91,9 @@ static_cast<unsigned short>(w)) >> 8)) void MessageOut::writeCoordinates(unsigned short x, unsigned short y, unsigned char direction) { - DEBUGLOG(strprintf("writeCoordinates: %u,%u %u", x, y, direction)); + DEBUGLOG(strprintf("writeCoordinates: %u,%u %u", + static_cast<unsigned>(x), static_cast<unsigned>(y), + static_cast<unsigned>(direction))); char *data = mData + mPos; mNetwork->mOutSize += 3; mPos += 3; diff --git a/src/net/tmwa/npchandler.cpp b/src/net/tmwa/npchandler.cpp index be58f0bc5..c086cc7e4 100644 --- a/src/net/tmwa/npchandler.cpp +++ b/src/net/tmwa/npchandler.cpp @@ -302,7 +302,7 @@ void NpcHandler::processNpcCommand(Net::MessageIn &msg, int npcId) { mDialog->setAvatarDirection( Net::MessageIn::fromServerDirection( - msg.readInt32())); // direction + static_cast<uint8_t>(msg.readInt32()))); // direction } break; case 8: // set avatar action diff --git a/src/net/tmwa/partyhandler.cpp b/src/net/tmwa/partyhandler.cpp index d1429a815..74826e5cd 100644 --- a/src/net/tmwa/partyhandler.cpp +++ b/src/net/tmwa/partyhandler.cpp @@ -193,8 +193,8 @@ void PartyHandler::setShareExperience(PartyShare share) return; MessageOut outMsg(CMSG_PARTY_SETTINGS); - outMsg.writeInt16(share); - outMsg.writeInt16(mShareItems); + outMsg.writeInt16(static_cast<int16_t>(share)); + outMsg.writeInt16(static_cast<int16_t>(mShareItems)); } void PartyHandler::setShareItems(PartyShare share) @@ -203,8 +203,8 @@ void PartyHandler::setShareItems(PartyShare share) return; MessageOut outMsg(CMSG_PARTY_SETTINGS); - outMsg.writeInt16(mShareExp); - outMsg.writeInt16(share); + outMsg.writeInt16(static_cast<int16_t>(mShareExp)); + outMsg.writeInt16(static_cast<int16_t>(share)); } } // namespace TmwAthena diff --git a/src/net/tmwa/tradehandler.cpp b/src/net/tmwa/tradehandler.cpp index d4c1e1e08..f572e6cff 100644 --- a/src/net/tmwa/tradehandler.cpp +++ b/src/net/tmwa/tradehandler.cpp @@ -109,7 +109,7 @@ void TradeHandler::respond(bool accept) PlayerInfo::setTrading(false); MessageOut outMsg(CMSG_TRADE_RESPONSE); - outMsg.writeInt8(accept ? 3 : 4); + outMsg.writeInt8(static_cast<int8_t>(accept ? 3 : 4)); } void TradeHandler::addItem(Item *item, int amount) diff --git a/src/opengl1graphics.cpp b/src/opengl1graphics.cpp index 1d5273ffe..88079c2bd 100644 --- a/src/opengl1graphics.cpp +++ b/src/opengl1graphics.cpp @@ -140,9 +140,9 @@ static inline void drawRescaledQuad(Image *image, int srcX, int srcY, } -bool OpenGL1Graphics::drawImage(const Image *image, int srcX, int srcY, - int dstX, int dstY, - int width, int height, bool useColor) +bool OpenGL1Graphics::drawImage2(const Image *image, int srcX, int srcY, + int dstX, int dstY, + int width, int height, bool useColor) { if (!image) return false; @@ -198,8 +198,8 @@ bool OpenGL1Graphics::drawRescaledImage(Image *image, int srcX, int srcY, // Just draw the image normally when no resizing is necessary, if (width == desiredWidth && height == desiredHeight) { - return drawImage(image, srcX, srcY, dstX, dstY, - width, height, useColor); + return drawImage2(image, srcX, srcY, dstX, dstY, + width, height, useColor); } // When the desired image is smaller than the current one, diff --git a/src/opengl1graphics.h b/src/opengl1graphics.h index a9fc95722..5c4d7ffb7 100644 --- a/src/opengl1graphics.h +++ b/src/opengl1graphics.h @@ -44,12 +44,6 @@ class OpenGL1Graphics : public Graphics bool setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel, bool resize, bool noFrame); - bool drawImage(const Image *image, - int srcX, int srcY, - int dstX, int dstY, - int width, int height, - bool useColor); - /** * Draws a resclaled version of the image */ @@ -127,6 +121,12 @@ class OpenGL1Graphics : public Graphics static GLuint mLastImage; protected: + bool drawImage2(const Image *image, + int srcX, int srcY, + int dstX, int dstY, + int width, int height, + bool useColor); + void setTexturingAndBlending(bool enable); private: diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp index e53f4e11b..4edcb089d 100644 --- a/src/openglgraphics.cpp +++ b/src/openglgraphics.cpp @@ -206,9 +206,9 @@ static inline void drawRescaledQuad(Image *image, } -bool OpenGLGraphics::drawImage(const Image *image, int srcX, int srcY, - int dstX, int dstY, - int width, int height, bool useColor) +bool OpenGLGraphics::drawImage2(const Image *image, int srcX, int srcY, + int dstX, int dstY, + int width, int height, bool useColor) { if (!image) return false; @@ -264,8 +264,8 @@ bool OpenGLGraphics::drawRescaledImage(Image *image, int srcX, int srcY, // Just draw the image normally when no resizing is necessary, if (width == desiredWidth && height == desiredHeight) { - return drawImage(image, srcX, srcY, dstX, dstY, - width, height, useColor); + return drawImage2(image, srcX, srcY, dstX, dstY, + width, height, useColor); } // When the desired image is smaller than the current one, diff --git a/src/openglgraphics.h b/src/openglgraphics.h index 3eaf19045..f0d0078a1 100644 --- a/src/openglgraphics.h +++ b/src/openglgraphics.h @@ -47,11 +47,6 @@ class OpenGLGraphics : public Graphics bool setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel, bool resize, bool noFrame); - bool drawImage(const Image *image, - int srcX, int srcY, - int dstX, int dstY, - int width, int height, - bool useColor); /** * Draws a resclaled version of the image @@ -147,6 +142,12 @@ class OpenGLGraphics : public Graphics static GLuint mLastImage; protected: + bool drawImage2(const Image *image, + int srcX, int srcY, + int dstX, int dstY, + int width, int height, + bool useColor); + void setTexturingAndBlending(bool enable); void logString(const char *format, GLenum num); diff --git a/src/playerinfo.cpp b/src/playerinfo.cpp index eaf6e1350..d00eb217d 100644 --- a/src/playerinfo.cpp +++ b/src/playerinfo.cpp @@ -87,7 +87,7 @@ void triggerStat(int id, const std::string &changed, int old1, int old2) // --- Attributes ------------------------------------------------------------- -int getAttribute(int id) +int getAttribute(Attribute id) { IntMap::const_iterator it = mData.mAttributes.find(id); if (it != mData.mAttributes.end()) @@ -96,7 +96,7 @@ int getAttribute(int id) return 0; } -void setAttribute(int id, int value, bool notify) +void setAttribute(Attribute id, int value, bool notify) { int old = mData.mAttributes[id]; mData.mAttributes[id] = value; @@ -106,7 +106,7 @@ void setAttribute(int id, int value, bool notify) // --- Stats ------------------------------------------------------------------ -int getStatBase(int id) +int getStatBase(Attribute id) { StatMap::const_iterator it = mData.mStats.find(id); if (it != mData.mStats.end()) @@ -115,7 +115,7 @@ int getStatBase(int id) return 0; } -void setStatBase(int id, int value, bool notify) +void setStatBase(Attribute id, int value, bool notify) { int old = mData.mStats[id].base; mData.mStats[id].base = value; @@ -123,7 +123,7 @@ void setStatBase(int id, int value, bool notify) triggerStat(id, "base", old); } -int getStatMod(int id) +int getStatMod(Attribute id) { StatMap::const_iterator it = mData.mStats.find(id); if (it != mData.mStats.end()) @@ -132,7 +132,7 @@ int getStatMod(int id) return 0; } -void setStatMod(int id, int value, bool notify) +void setStatMod(Attribute id, int value, bool notify) { int old = mData.mStats[id].mod; mData.mStats[id].mod = value; @@ -140,7 +140,7 @@ void setStatMod(int id, int value, bool notify) triggerStat(id, "mod", old); } -int getStatEffective(int id) +int getStatEffective(Attribute id) { StatMap::const_iterator it = mData.mStats.find(id); if (it != mData.mStats.end()) @@ -149,7 +149,7 @@ int getStatEffective(int id) return 0; } -std::pair<int, int> getStatExperience(int id) +std::pair<int, int> getStatExperience(Attribute id) { StatMap::const_iterator it = mData.mStats.find(id); int a, b; @@ -166,7 +166,7 @@ std::pair<int, int> getStatExperience(int id) return std::pair<int, int>(a, b); } -void setStatExperience(int id, int have, int need, bool notify) +void setStatExperience(Attribute id, int have, int need, bool notify) { Stat &stat = mData.mStats[id]; @@ -294,15 +294,21 @@ void updateAttrs() int attr = Net::getPlayerHandler()->getAttackLocation(); if (attr != -1 && getStatBase(ATTACK_DELAY)) { - setStatBase(ATTACK_SPEED, getStatBase(attr) * 1000 / getStatBase( - ATTACK_DELAY), false); - setStatMod(ATTACK_SPEED, getStatMod(attr) * 1000 / getStatBase( - ATTACK_DELAY), true); + setStatBase(static_cast<PlayerInfo::Attribute>(ATTACK_SPEED), + getStatBase(static_cast<PlayerInfo::Attribute>(attr)) + * 1000 / getStatBase( + static_cast<PlayerInfo::Attribute>(ATTACK_DELAY)), false); + setStatMod(static_cast<PlayerInfo::Attribute>(ATTACK_SPEED), + getStatMod(static_cast<PlayerInfo::Attribute>(attr)) + * 1000 / getStatBase( + static_cast<PlayerInfo::Attribute>(ATTACK_DELAY)), true); } else { - setStatBase(ATTACK_SPEED, 0, false); - setStatMod(ATTACK_SPEED, 0, true); + setStatBase(static_cast<PlayerInfo::Attribute>( + ATTACK_SPEED), 0, false); + setStatMod(static_cast<PlayerInfo::Attribute>( + ATTACK_SPEED), 0, true); } } diff --git a/src/playerinfo.h b/src/playerinfo.h index 4298a45b5..36a8bb799 100644 --- a/src/playerinfo.h +++ b/src/playerinfo.h @@ -103,55 +103,56 @@ namespace PlayerInfo /** * Returns the value of the given attribute. */ - int getAttribute(int id); + int getAttribute(Attribute id); /** * Changes the value of the given attribute. */ - void setAttribute(int id, int value, bool notify = true); + void setAttribute(Attribute id, int value, bool notify = true); // --- Stats ------------------------------------------------------------------ /** * Returns the base value of the given stat. */ - int getStatBase(int id); + int getStatBase(Attribute id); /** * Changes the base value of the given stat. */ - void setStatBase(int id, int value, bool notify = true); + void setStatBase(Attribute id, int value, bool notify = true); /** * Returns the modifier for the given stat. */ - int getStatMod(int id); + int getStatMod(Attribute id); /** * Changes the modifier for the given stat. */ - void setStatMod(int id, int value, bool notify = true); + void setStatMod(Attribute id, int value, bool notify = true); /** * Returns the current effective value of the given stat. Effective is base * + mod */ - int getStatEffective(int id); + int getStatEffective(Attribute id); /** * Changes the level of the given stat. */ - void setStatLevel(int id, int value, bool notify = true); + void setStatLevel(Attribute id, int value, bool notify = true); /** * Returns the experience of the given stat. */ - std::pair<int, int> getStatExperience(int id); + std::pair<int, int> getStatExperience(Attribute id); /** * Changes the experience of the given stat. */ - void setStatExperience(int id, int have, int need, bool notify = true); + void setStatExperience(Attribute id, int have, + int need, bool notify = true); // --- Inventory / Equipment -------------------------------------------------- diff --git a/src/resources/dye.cpp b/src/resources/dye.cpp index 316dff9f3..df26ec1b7 100644 --- a/src/resources/dye.cpp +++ b/src/resources/dye.cpp @@ -54,8 +54,9 @@ DyePalette::DyePalette(const std::string &description, int8_t blockSize) for (int i = 0, colorIdx = 0; i < blockSize && colorIdx < dyePalateSize; i +=2, colorIdx ++) { - color.value[colorIdx] = (hexDecode(description[pos + i]) << 4) - + hexDecode(description[pos + i + 1]); + color.value[colorIdx] = static_cast<unsigned char>(( + hexDecode(description[pos + i]) << 4) + + hexDecode(description[pos + i + 1])); } mColors.push_back(color); pos += blockSize; diff --git a/src/resources/monsterdb.cpp b/src/resources/monsterdb.cpp index d76585fd2..427db8f19 100644 --- a/src/resources/monsterdb.cpp +++ b/src/resources/monsterdb.cpp @@ -106,7 +106,8 @@ void MonsterDB::load() else if (walkStr == "walkswim" || walkStr == "swimwalk") block = Map::BLOCKMASK_AIR; - currentInfo->setWalkMask(Map::BLOCKMASK_WALL | block); + currentInfo->setWalkMask(static_cast<unsigned char>( + Map::BLOCKMASK_WALL | block)); if (currentInfo->getMaxHP()) currentInfo->setStaticMaxHP(true); diff --git a/src/resources/openglimagehelper.cpp b/src/resources/openglimagehelper.cpp index aec68f32a..ae3b55741 100644 --- a/src/resources/openglimagehelper.cpp +++ b/src/resources/openglimagehelper.cpp @@ -125,7 +125,7 @@ Resource *OpenGLImageHelper::load(SDL_RWops *rw, Dye const &dye) Image *OpenGLImageHelper::load(SDL_Surface *tmpImage) { - return _GLload(tmpImage); + return glLoad(tmpImage); } Image *OpenGLImageHelper::createTextSurface(SDL_Surface *tmpImage, float alpha) @@ -133,7 +133,7 @@ Image *OpenGLImageHelper::createTextSurface(SDL_Surface *tmpImage, float alpha) if (!tmpImage) return nullptr; - Image *img = _GLload(tmpImage); + Image *img = glLoad(tmpImage); if (img) img->setAlpha(alpha); return img; @@ -155,7 +155,7 @@ int OpenGLImageHelper::powerOfTwo(int input) return value >= mTextureSize ? mTextureSize : value; } -Image *OpenGLImageHelper::_GLload(SDL_Surface *tmpImage) +Image *OpenGLImageHelper::glLoad(SDL_Surface *tmpImage) { if (!tmpImage) return nullptr; diff --git a/src/resources/openglimagehelper.h b/src/resources/openglimagehelper.h index b27409040..edba4cdef 100644 --- a/src/resources/openglimagehelper.h +++ b/src/resources/openglimagehelper.h @@ -112,7 +112,7 @@ class OpenGLImageHelper : public ImageHelper */ int powerOfTwo(int input); - Image *_GLload(SDL_Surface *tmpImage); + Image *glLoad(SDL_Surface *tmpImage); static int mUseOpenGL; static int mTextureSize; diff --git a/src/resources/sdlimagehelper.cpp b/src/resources/sdlimagehelper.cpp index 78094b211..5463abfeb 100644 --- a/src/resources/sdlimagehelper.cpp +++ b/src/resources/sdlimagehelper.cpp @@ -154,7 +154,8 @@ Image *SDLImageHelper::createTextSurface(SDL_Surface *tmpImage, float alpha) uint32_t c = (static_cast<uint32_t*>(tmpImage->pixels))[i]; unsigned v = (c & fmt->Amask) >> fmt->Ashift; - uint8_t a = (v << fmt->Aloss) + (v >> (8 - (fmt->Aloss << 1))); + uint8_t a = static_cast<uint8_t>((v << fmt->Aloss) + + (v >> (8 - (fmt->Aloss << 1)))); uint8_t a2 = static_cast<uint8_t>(static_cast<float>(a) * alpha); @@ -241,7 +242,8 @@ Image *SDLImageHelper::_SDLload(SDL_Surface *tmpImage) { unsigned v = ((static_cast<uint32_t*>(tmpImage->pixels))[i] & fmt->Amask) >> fmt->Ashift; - uint8_t a = (v << fmt->Aloss) + (v >> (8 - (fmt->Aloss << 1))); + uint8_t a = static_cast<uint8_t>((v << fmt->Aloss) + + (v >> (8 - (fmt->Aloss << 1)))); if (a != 255) hasAlpha = true; diff --git a/src/spellmanager.cpp b/src/spellmanager.cpp index 222004347..548fc94c1 100644 --- a/src/spellmanager.cpp +++ b/src/spellmanager.cpp @@ -138,9 +138,11 @@ void SpellManager::invoke(int spellId) if (spell->getCommandType() == TEXT_COMMAND_TEXT || (Net::getPlayerHandler()->canUseMagic() - && PlayerInfo::getStatEffective(SKILL_MAGIC) >= spell->getBaseLvl() + && PlayerInfo::getStatEffective(static_cast<PlayerInfo::Attribute>( + SKILL_MAGIC)) >= static_cast<signed>(spell->getBaseLvl()) && PlayerInfo::getStatEffective( - spell->getSchool()) >= spell->getSchoolLvl() + static_cast<PlayerInfo::Attribute>(spell->getSchool())) + >= static_cast<signed>(spell->getSchoolLvl()) && PlayerInfo::getAttribute(PlayerInfo::MP) >= spell->getMana())) { Being* target = player_node->getTarget(); @@ -336,10 +338,12 @@ void SpellManager::save() if (spell->getCommand() != "" && spell->getSymbol() != "") { serverConfig.setValue("commandShortcutFlags" + toString(i), - strprintf("%u %u %u %u %u %u", spell->getCommandType(), - spell->getTargetType(), spell->getBaseLvl(), - spell->getSchool(), spell->getSchoolLvl(), - spell->getMana())); + strprintf("%u %u %u %u %u %u", static_cast<unsigned>( + spell->getCommandType()), static_cast<unsigned>( + spell->getTargetType()), spell->getBaseLvl(), + static_cast<unsigned>(spell->getSchool()), + spell->getSchoolLvl(), static_cast<unsigned>( + spell->getMana()))); } else { diff --git a/src/textcommand.h b/src/textcommand.h index 7cab06317..3d95b06bd 100644 --- a/src/textcommand.h +++ b/src/textcommand.h @@ -109,10 +109,10 @@ class TextCommand MagicSchool getSchool() const { return mSchool; } - int getBaseLvl() const + unsigned getBaseLvl() const { return mBaseLvl; } - int getSchoolLvl() const + unsigned getSchoolLvl() const { return mSchoolLvl; } TextCommandType getCommandType() const @@ -169,8 +169,8 @@ class TextCommand unsigned int mId; int mMana; MagicSchool mSchool; - int mBaseLvl; - int mSchoolLvl; + unsigned mBaseLvl; + unsigned mSchoolLvl; TextCommandType mCommandType; Image *mImage; }; diff --git a/src/utils/base64.cpp b/src/utils/base64.cpp index cd7d59cdb..094cd6227 100644 --- a/src/utils/base64.cpp +++ b/src/utils/base64.cpp @@ -128,18 +128,18 @@ unsigned char *php3_base64_decode(const unsigned char *string, switch (i % 4) { case 0: - result[j] = ch << 2; + result[j] = static_cast<unsigned char>(ch << 2); break; case 1: - result[j++] |= ch >> 4; - result[j] = (ch & 0x0f) << 4; + result[j++] |= static_cast<unsigned char>(ch >> 4); + result[j] = static_cast<unsigned char>((ch & 0x0f) << 4); break; case 2: - result[j++] |= ch >>2; - result[j] = (ch & 0x03) << 6; + result[j++] |= static_cast<unsigned char>(ch >>2); + result[j] = static_cast<unsigned char>((ch & 0x03) << 6); break; case 3: - result[j++] |= ch; + result[j++] |= static_cast<unsigned char>(ch); break; default: break; diff --git a/src/utils/stringutils.cpp b/src/utils/stringutils.cpp index 1808ea173..d55e4e650 100644 --- a/src/utils/stringutils.cpp +++ b/src/utils/stringutils.cpp @@ -267,7 +267,7 @@ std::string extractNameFromSprite(std::string str) pos2 = pos3; } if (pos2 == std::string::npos) - pos2 = -1; + pos2 = static_cast<size_t>(-1); int size = static_cast<int>(pos1) - static_cast<int>(pos2) - 1; if (size > 0) @@ -290,7 +290,7 @@ std::string removeSpriteIndex(std::string str) pos2 = pos3; } if (pos2 == std::string::npos) - pos2 = -1; + pos2 = static_cast<size_t>(-1); int size = static_cast<int>(pos1) - static_cast<int>(pos2) - 1; if (size > 0) |