Fix freeorion building with newer Boost

Diff from Brad, OK Tom (maintainer)
This commit is contained in:
rsadowski 2021-05-27 04:14:22 +00:00
parent 54a95a53c7
commit f7ceda171e
2 changed files with 115 additions and 1 deletions

View File

@ -1,9 +1,10 @@
# $OpenBSD: Makefile,v 1.10 2021/02/23 19:39:22 sthen Exp $
# $OpenBSD: Makefile,v 1.11 2021/05/27 04:14:22 rsadowski Exp $
V = 0.4.10.1
COMMENT = turn-based space empire and galactic conquest computer game
DISTNAME = FreeOrion_v${V}_2020-09-25.39cfe10_Source
PKGNAME = freeorion-${V}
REVISION = 0
CATEGORIES = games
HOMEPAGE = https://www.freeorion.org/

View File

@ -0,0 +1,113 @@
$OpenBSD: patch-UI_CombatReport_GraphicalSummary_cpp,v 1.1 2021/05/27 04:14:22 rsadowski Exp $
https://github.com/freeorion/freeorion/issues/3464
From 9cc1926e8126163d3b8877c0112e11c462a96384 Mon Sep 17 00:00:00 2001
From: geoffthemedio <geoffthemedio@gmail.com>
Date: Sat, 22 May 2021 20:24:22 +0200
Subject: [PATCH] remove DrawArrow function and calls because, as far as I can
tell, nothing is visible on screen from it
Index: UI/CombatReport/GraphicalSummary.cpp
--- UI/CombatReport/GraphicalSummary.cpp.orig
+++ UI/CombatReport/GraphicalSummary.cpp
@@ -370,7 +370,6 @@ class SideBar : public GG::Wnd { (public)
AttachChild(m_dead_label);
MakeBars();
-
}
void MakeBars() {
@@ -407,91 +406,6 @@ class SideBar : public GG::Wnd { (public)
}
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 {