diff --git a/libs/s25main/desktops/dskGameLobby.cpp b/libs/s25main/desktops/dskGameLobby.cpp index 2016d8bdb..9bda03931 100644 --- a/libs/s25main/desktops/dskGameLobby.cpp +++ b/libs/s25main/desktops/dskGameLobby.cpp @@ -421,7 +421,7 @@ void dskGameLobby::UpdatePlayerRow(const unsigned row) group->AddTextDeepening(ID_PLAYER_ROW_NATION, DrawPoint(240, cy), Extent(90, 22), tc, _(NationNames[Nation::Romans]), NormalFont, COLOR_YELLOW); - auto& portrait = Portraits[player.portraitIndex]; + const auto& portrait = Portraits[player.portraitIndex]; group->AddImageButton(ID_PLAYER_ROW_PORTRAIT, DrawPoint(335, cy), Extent(34, 22), tc, LOADER.GetImageN(portrait.resourceId, portrait.resourceIndex), _(portrait.name)); diff --git a/libs/s25main/desktops/dskGameLobby.h b/libs/s25main/desktops/dskGameLobby.h index 9a1d04818..6304ea021 100644 --- a/libs/s25main/desktops/dskGameLobby.h +++ b/libs/s25main/desktops/dskGameLobby.h @@ -41,7 +41,7 @@ class dskGameLobby final : public Desktop, public ClientInterface, public LobbyI void ChangeTeam(unsigned player, Team); void ChangeReady(unsigned player, bool ready); void ChangeNation(unsigned player, Nation); - void ChangePortrait(const unsigned player, const unsigned portraitIndex); + void ChangePortrait(unsigned player, unsigned portraitIndex); void ChangePing(unsigned playerId); void ChangeColor(unsigned player, unsigned color); diff --git a/libs/s25main/lua/LuaServerPlayer.cpp b/libs/s25main/lua/LuaServerPlayer.cpp index 2cd5c9a5d..b3cdbf84f 100644 --- a/libs/s25main/lua/LuaServerPlayer.cpp +++ b/libs/s25main/lua/LuaServerPlayer.cpp @@ -28,7 +28,8 @@ void LuaServerPlayer::Register(kaguya::State& state) .addFunction("SetColor", &LuaServerPlayer::SetColor) .addFunction("Close", &LuaServerPlayer::Close) .addFunction("SetAI", &LuaServerPlayer::SetAI) - .addFunction("SetName", &LuaServerPlayer::SetName)); + .addFunction("SetName", &LuaServerPlayer::SetName) + .addFunction("SetPortrait", &LuaServerPlayer::SetPortrait)); } void LuaServerPlayer::SetNation(lua::SafeEnum nat) diff --git a/libs/s25main/ogl/glArchivItem_Bitmap_Player.cpp b/libs/s25main/ogl/glArchivItem_Bitmap_Player.cpp index a3de54e57..6c76308d9 100644 --- a/libs/s25main/ogl/glArchivItem_Bitmap_Player.cpp +++ b/libs/s25main/ogl/glArchivItem_Bitmap_Player.cpp @@ -45,7 +45,7 @@ void glArchivItem_Bitmap_Player::drawForPlayer(const DrawPoint& dst, unsigned pl void glArchivItem_Bitmap_Player::DrawRect(Rect dstArea, Rect srcArea, unsigned color /*= COLOR_WHITE*/) { Draw(dstArea, srcArea, color, COLOR_WHITE); -}; +} void glArchivItem_Bitmap_Player::Draw(Rect dstArea, Rect srcArea, unsigned color /*= COLOR_WHITE*/, unsigned player_color /*= COLOR_WHITE*/) diff --git a/libs/s25main/ogl/glSmartBitmap.cpp b/libs/s25main/ogl/glSmartBitmap.cpp index 8ef9eb2a9..88d2876c1 100644 --- a/libs/s25main/ogl/glSmartBitmap.cpp +++ b/libs/s25main/ogl/glSmartBitmap.cpp @@ -12,6 +12,7 @@ #include "libsiedler2/PixelBufferBGRA.h" #include "s25util/colors.h" #include +#include #include namespace { @@ -333,7 +334,9 @@ void glSmartBitmap::drawPercent(DrawPoint drawPt, unsigned percent, unsigned col RTTR_Assert(percent <= 100); const float partDrawn = percent / 100.f; - Rect dstArea(drawPt.x, drawPt.y + int(floor(size_.y * (1 - partDrawn))), size_.x, int(ceil(size_.y * partDrawn))); - Rect srcArea(0, int(floor(size_.y * (1 - partDrawn))), size_.x, int(ceil(size_.y * partDrawn))); + auto startY = int(std::floor(size_.y * (1 - partDrawn))); + auto endY = int(std::ceil(size_.y * partDrawn)); + Rect dstArea(drawPt.x, drawPt.y + startY, size_.x, endY); + Rect srcArea(0, startY, size_.x, endY); drawRect(dstArea, srcArea, color, player_color); } diff --git a/tests/s25Main/lua/testLuaSettings.cpp b/tests/s25Main/lua/testLuaSettings.cpp index 399bfccbd..9c965be06 100644 --- a/tests/s25Main/lua/testLuaSettings.cpp +++ b/tests/s25Main/lua/testLuaSettings.cpp @@ -46,7 +46,10 @@ struct LuaSettingsTestsFixture : public LuaBaseFixture, public IGameLobbyControl GetJoinPlayer(playerIdx).aiInfo = aiInfo; } void SetName(unsigned playerIdx, const std::string& name) override { GetJoinPlayer(playerIdx).name = name; } - void SetPortrait(unsigned playerIdx, unsigned int portraitIndex) override { GetJoinPlayer(playerIdx).portraitIndex = portraitIndex; } + void SetPortrait(unsigned playerIdx, unsigned int portraitIndex) override + { + GetJoinPlayer(playerIdx).portraitIndex = portraitIndex; + } void SetColor(unsigned playerIdx, unsigned newColor) override { GetJoinPlayer(playerIdx).color = newColor; } void SetTeam(unsigned playerIdx, Team newTeam) override { GetJoinPlayer(playerIdx).team = newTeam; } void SetNation(unsigned playerIdx, Nation newNation) override { GetJoinPlayer(playerIdx).nation = newNation; } diff --git a/tests/s25Main/network/testGameClient.cpp b/tests/s25Main/network/testGameClient.cpp index b42d1a161..6a3a9782a 100644 --- a/tests/s25Main/network/testGameClient.cpp +++ b/tests/s25Main/network/testGameClient.cpp @@ -101,6 +101,7 @@ BOOST_DATA_TEST_CASE(ClientFollowsConnectProtocol, usesLuaScriptValues, usesLuaS MOCK_EXPECT(callbacks.CI_NextConnectState).with(ConnectState::QueryMapInfo).once(); clientMsgInterface.OnGameMessage(GameMessage_Server_Password("true")); BOOST_TEST_REQUIRE(dynamic_cast(client.GetMainPlayer().sendQueue.pop().get())); + BOOST_TEST_REQUIRE(dynamic_cast(client.GetMainPlayer().sendQueue.pop().get())); const auto msg = boost::dynamic_pointer_cast(client.GetMainPlayer().sendQueue.pop()); BOOST_TEST_REQUIRE(msg); BOOST_TEST(msg->requestInfo); diff --git a/tests/s25Main/worldFixtures/CreateEmptyWorld.cpp b/tests/s25Main/worldFixtures/CreateEmptyWorld.cpp index bff28c164..1684df663 100644 --- a/tests/s25Main/worldFixtures/CreateEmptyWorld.cpp +++ b/tests/s25Main/worldFixtures/CreateEmptyWorld.cpp @@ -39,7 +39,7 @@ bool CreateEmptyWorld::operator()(GameWorld& world) const { // Distribute player HQs evenly across map Point numPlayersPerDim; - numPlayersPerDim.x = static_cast(ceil(sqrt(numPlayers))); + numPlayersPerDim.x = static_cast(std::ceil(std::sqrt(numPlayers))); numPlayersPerDim.y = static_cast(std::ceil(float(numPlayers) / numPlayersPerDim.x)); // Distance between HQs Point playerDist = size_ / numPlayersPerDim;