diff options
author | JK Wood <joshuakwood@gmail.com> | 2021-07-11 09:27:39 +0200 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2021-07-12 18:53:12 +0700 |
commit | e99d3b8224d24d114bd49c4123106c58d6786e25 (patch) | |
tree | 4f4bb9227fa578667395c80bcf724e97d00dbf79 /games/freeorion | |
parent | 04daf541c30dda4425778a69c9edd929c41223e4 (diff) |
games/freeorion: Fix build.
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'games/freeorion')
-rw-r--r-- | games/freeorion/freeorion.SlackBuild | 2 | ||||
-rw-r--r-- | games/freeorion/ftb.patch | 103 |
2 files changed, 105 insertions, 0 deletions
diff --git a/games/freeorion/freeorion.SlackBuild b/games/freeorion/freeorion.SlackBuild index 200c58d79991..5adf3f40cc70 100644 --- a/games/freeorion/freeorion.SlackBuild +++ b/games/freeorion/freeorion.SlackBuild @@ -74,6 +74,8 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +patch -p0 < $CWD/ftb.patch + # tell cmake to use clang export CC=/usr/bin/clang export CXX=/usr/bin/clang++ diff --git a/games/freeorion/ftb.patch b/games/freeorion/ftb.patch new file mode 100644 index 000000000000..5b888eca7650 --- /dev/null +++ b/games/freeorion/ftb.patch @@ -0,0 +1,103 @@ +--- UI/CombatReport/GraphicalSummary.cpp 2021-07-10 14:11:25.281161865 -0500 ++++ UI/CombatReport/GraphicalSummary.cpp 2021-07-10 14:11:34.010981701 -0500 +@@ -409,91 +409,6 @@ + m_y_axis_label->MoveTo(GG::Pt(-m_y_axis_label->MinUsableSize().x / 2 - AXIS_WIDTH, Height()/2 - m_y_axis_label->Height()/2)); + } + +- void DrawArrow(GG::Pt begin, GG::Pt end) { +- double head_width = 5.0; +- // A vector (math) of the arrow we wish to draw +- GG::Pt direction = end - begin; +- double length = sqrt(1.0*(Value(direction.x)*Value(direction.x) + +- Value(direction.y)*Value(direction.y))); +- if (length == 0) { +- return; +- } +- +- // The point in the main line of the arrow, +- // paraller to which the head ends +- // \. +- // \. +- // --------h--> +- // /. +- // /. +- // h is at the handle +- GG::Pt handle; +- // How much to move off the handle to get to +- // the end point of one of the head lines +- GG::X delta_x; +- GG::Y delta_y; +- +- if (direction.x != 0 && direction.y != 0) { +- // In a skewed arrow we need +- // a bit of geometry to figure out the head +- double x = Value(direction.x); +- double y = Value(direction.y); +- double normalizer = head_width / sqrt(1 + x*x / (y*y)); +- delta_x = GG::X(normalizer); +- delta_y = GG::Y(- x / y * normalizer); +- +- handle = end - GG::Pt((head_width / length) * direction.x, (head_width / length) * direction.y); +- } else if (direction.x == 0) { +- // Vertical arrow +- handle = end; +- handle.y -= boost::math::sign(Value(direction.y))*GG::Y(head_width); +- delta_x = GG::X(head_width); +- delta_y = GG::Y0; +- } else { +- //horizontal arrow +- handle = end; +- handle.x -= boost::math::sign(Value(direction.x)) * GG::X(head_width); +- delta_x = GG::X0; +- delta_y = GG::Y(head_width); +- } +- +- GG::Pt left_head = handle; +- GG::Pt right_head = handle; +- +- left_head.x += delta_x; +- left_head.y += delta_y; +- // The other line is on the opposite side of the handle +- right_head.x -= delta_x; +- right_head.y -= delta_y; +- +- GG::glColor(GG::CLR_WHITE); +- glLineWidth(2); +- glDisable(GL_TEXTURE_2D); +- +- GG::GL2DVertexBuffer verts; +- verts.reserve(6); +- verts.store(Value(begin.x), Value(begin.y)); +- verts.store(Value(end.x), Value(end.y)); +- verts.store(Value(end.x), Value(end.y)); +- verts.store(Value(left_head.x), Value(left_head.y)); +- verts.store(Value(end.x), Value(end.y)); +- verts.store(Value(right_head.x),Value(right_head.y)); +- verts.activate(); +- +- glDrawArrays(GL_LINES, 0, verts.size()); +- +- glEnable(GL_TEXTURE_2D); +- } +- +- void Render() override { +- // Draw the axes outside th3e client area +- GG::Pt begin(ClientUpperLeft().x - AXIS_WIDTH/2, ClientLowerRight().y + AXIS_HEIGHT/2); +- GG::Pt x_end(ClientLowerRight().x, begin.y); +- GG::Pt y_end(begin.x, ClientUpperLeft().y); +- DrawArrow(begin, x_end); +- DrawArrow(begin, y_end); +- } +- + void SizeMove(const GG::Pt& ul, const GG::Pt& lr) override { + GG::Wnd::SizeMove(ul, lr); + DoLayout(); +--- universe/Conditions.cpp 2021-07-10 14:11:05.049579392 -0500 ++++ universe/Conditions.cpp 2021-07-10 14:13:39.582389758 -0500 +@@ -1,5 +1,6 @@ + #include "Conditions.h" + ++#include <cfloat> + #include "../util/Logger.h" + #include "../util/Random.h" + #include "../util/i18n.h" |