From c71ed93de904649a85bc166686e010fbc4cb4379 Mon Sep 17 00:00:00 2001
From: jsalmon3 <>
Date: Sat, 27 Mar 2004 21:33:28 +0000
Subject: [PATCH] Moved DrawMenuButtonArea to mainscr.c

---
 src/include/interface.h    |  2 +
 src/stratagus/mainloop.cpp | 92 --------------------------------------
 src/ui/mainscr.cpp         | 54 +++++++++++++++++++++-
 3 files changed, 55 insertions(+), 93 deletions(-)

diff --git a/src/include/interface.h b/src/include/interface.h
index 41b43d27c..2a6616c45 100644
--- a/src/include/interface.h
+++ b/src/include/interface.h
@@ -355,6 +355,8 @@ extern void DoRightButton(int tx, int ty);
 	/// Cancel the building input mode
 extern void CancelBuildingMode(void);
 
+	/// Draw menu button area
+extern void DrawMenuButtonArea(void);
 	/// Update messages
 extern void UpdateMessages(void);
 	/// Draw messages as overlay over of the map
diff --git a/src/stratagus/mainloop.cpp b/src/stratagus/mainloop.cpp
index a7b83170b..aba3f3ca9 100644
--- a/src/stratagus/mainloop.cpp
+++ b/src/stratagus/mainloop.cpp
@@ -254,98 +254,6 @@ global void DoScrollArea(enum _scroll_state_ state, int fast)
 	MustRedraw |= RedrawMinimap | RedrawCursors;
 }
 
-/**
-**  Draw menu button area.
-*/
-local void DrawMenuButtonArea(void)
-{
-	if (TheUI.MenuPanel.Graphic) {
-		VideoDrawSub(TheUI.MenuPanel.Graphic, 0, 0,
-			TheUI.MenuPanel.Graphic->Width,
-			TheUI.MenuPanel.Graphic->Height,
-			TheUI.MenuPanelX, TheUI.MenuPanelY);
-	}
-	if (!IsNetworkGame()) {
-		if (TheUI.MenuButton.X != -1) {
-			// FIXME: Transparent flag, 3rd param, has been hardcoded.
-			DrawMenuButton(TheUI.MenuButton.Button,
-				(ButtonAreaUnderCursor == ButtonAreaMenu &&
-					ButtonUnderCursor == ButtonUnderMenu ? MenuButtonActive : 0) |
-				(GameMenuButtonClicked ? MenuButtonClicked : 0), /* Transparent */ 0,
-				TheUI.MenuButton.Width, TheUI.MenuButton.Height,
-				TheUI.MenuButton.X, TheUI.MenuButton.Y,
-				TheUI.MenuButton.Font, TheUI.MenuButton.Text, NULL, NULL);
-		}
-	} else {
-		if (TheUI.NetworkMenuButton.X != -1) {
-			// FIXME: Transparent flag, 3rd param, has been hardcoded.
-			DrawMenuButton(TheUI.NetworkMenuButton.Button,
-				(ButtonAreaUnderCursor == ButtonAreaMenu &&
-					ButtonUnderCursor == ButtonUnderNetworkMenu ? MenuButtonActive : 0) |
-				(GameMenuButtonClicked ? MenuButtonClicked : 0), /* Transparent */ 0,
-				TheUI.NetworkMenuButton.Width, TheUI.NetworkMenuButton.Height,
-				TheUI.NetworkMenuButton.X, TheUI.NetworkMenuButton.Y,
-				TheUI.NetworkMenuButton.Font, TheUI.NetworkMenuButton.Text, NULL, NULL);
-		}
-		if (TheUI.NetworkDiplomacyButton.X != -1) {
-			// FIXME: Transparent flag, 3rd param, has been hardcoded.
-			DrawMenuButton(TheUI.NetworkDiplomacyButton.Button,
-				(ButtonAreaUnderCursor == ButtonAreaMenu &&
-					ButtonUnderCursor == ButtonUnderNetworkDiplomacy ? MenuButtonActive : 0) |
-				(GameDiplomacyButtonClicked ? MenuButtonClicked : 0), /* Transparent */ 0,
-				TheUI.NetworkDiplomacyButton.Width, TheUI.NetworkDiplomacyButton.Height,
-				TheUI.NetworkDiplomacyButton.X, TheUI.NetworkDiplomacyButton.Y,
-				TheUI.NetworkDiplomacyButton.Font, TheUI.NetworkDiplomacyButton.Text, NULL, NULL);
-		}
-	}
-
-#ifdef DRAW_DEBUG
-	//
-	// Draw line for frame speed.
-	//
-	{ int f;
-
-	f = 168 * (NextFrameTicks - GetTicks());
-	if (VideoSyncSpeed) {
-		f /= (100 * 1000 / CYCLES_PER_SECOND) / VideoSyncSpeed;
-	}
-	if (f < 0 || f > 168) {
-		f = 168;
-	}
-	if (f) {
-		VideoDrawHLine(ColorGreen, TheUI.MenuButtonX, TheUI.MenuButtonY, f);
-	}
-	if (168 - f) {
-		VideoDrawHLine(ColorRed, TheUI.MenuButtonX + f, TheUI.MenuButtonY, 168 - f);
-	}
-	}
-	//
-	// Draw line for network speed.
-	//
-	{
-	int i;
-	int f;
-
-	if (NetworkLag) {
-		for (i = 0; i < PlayerMax; ++i) {
-			f = 16 - (16 * (NetworkStatus[i] - GameCycle)) / (NetworkLag * 2);
-			if (f < 0 || f > 16) {
-				f = 16;
-			}
-			if (f) {
-				VideoDrawHLine(ColorRed,
-					TheUI.MenuButtonX, TheUI.MenuButtonY + 1 + i, f);
-			}
-			if (16 - f) {
-				VideoDrawHLine(ColorGreen,
-					TheUI.MenuButtonX + f, TheUI.MenuButtonY + 1 + i, 16 - f);
-			}
-		}
-	}
-	}
-#endif
-}
-
 /**
 **  Draw a map viewport.
 **
diff --git a/src/ui/mainscr.cpp b/src/ui/mainscr.cpp
index eac377f41..61b4d3008 100644
--- a/src/ui/mainscr.cpp
+++ b/src/ui/mainscr.cpp
@@ -55,6 +55,58 @@
 #include "ui.h"
 #include "map.h"
 #include "trigger.h"
+#include "network.h"
+#include "menus.h"
+
+/*----------------------------------------------------------------------------
+--  MENU BUTTON
+----------------------------------------------------------------------------*/
+
+/**
+**  Draw menu button area.
+*/
+global void DrawMenuButtonArea(void)
+{
+	if (TheUI.MenuPanel.Graphic) {
+		VideoDrawSub(TheUI.MenuPanel.Graphic, 0, 0,
+			TheUI.MenuPanel.Graphic->Width,
+			TheUI.MenuPanel.Graphic->Height,
+			TheUI.MenuPanelX, TheUI.MenuPanelY);
+	}
+	if (!IsNetworkGame()) {
+		if (TheUI.MenuButton.X != -1) {
+			// FIXME: Transparent flag, 3rd param, has been hardcoded.
+			DrawMenuButton(TheUI.MenuButton.Button,
+				(ButtonAreaUnderCursor == ButtonAreaMenu &&
+					ButtonUnderCursor == ButtonUnderMenu ? MenuButtonActive : 0) |
+				(GameMenuButtonClicked ? MenuButtonClicked : 0), /* Transparent */ 0,
+				TheUI.MenuButton.Width, TheUI.MenuButton.Height,
+				TheUI.MenuButton.X, TheUI.MenuButton.Y,
+				TheUI.MenuButton.Font, TheUI.MenuButton.Text, NULL, NULL);
+		}
+	} else {
+		if (TheUI.NetworkMenuButton.X != -1) {
+			// FIXME: Transparent flag, 3rd param, has been hardcoded.
+			DrawMenuButton(TheUI.NetworkMenuButton.Button,
+				(ButtonAreaUnderCursor == ButtonAreaMenu &&
+					ButtonUnderCursor == ButtonUnderNetworkMenu ? MenuButtonActive : 0) |
+				(GameMenuButtonClicked ? MenuButtonClicked : 0), /* Transparent */ 0,
+				TheUI.NetworkMenuButton.Width, TheUI.NetworkMenuButton.Height,
+				TheUI.NetworkMenuButton.X, TheUI.NetworkMenuButton.Y,
+				TheUI.NetworkMenuButton.Font, TheUI.NetworkMenuButton.Text, NULL, NULL);
+		}
+		if (TheUI.NetworkDiplomacyButton.X != -1) {
+			// FIXME: Transparent flag, 3rd param, has been hardcoded.
+			DrawMenuButton(TheUI.NetworkDiplomacyButton.Button,
+				(ButtonAreaUnderCursor == ButtonAreaMenu &&
+					ButtonUnderCursor == ButtonUnderNetworkDiplomacy ? MenuButtonActive : 0) |
+				(GameDiplomacyButtonClicked ? MenuButtonClicked : 0), /* Transparent */ 0,
+				TheUI.NetworkDiplomacyButton.Width, TheUI.NetworkDiplomacyButton.Height,
+				TheUI.NetworkDiplomacyButton.X, TheUI.NetworkDiplomacyButton.Y,
+				TheUI.NetworkDiplomacyButton.Font, TheUI.NetworkDiplomacyButton.Text, NULL, NULL);
+		}
+	}
+}
 
 /*----------------------------------------------------------------------------
 --  Icons
@@ -175,7 +227,7 @@ local void DrawStats(int x, int y, int modified, int original)
 **
 **  @param unit  Pointer to unit.
 */
-global void DrawUnitInfo(const Unit* unit)
+local void DrawUnitInfo(const Unit* unit)
 {
 	char buf[64];
 	const UnitType* type;