From fe170aede49c51e05d77c2ec83caf8047ce6228c Mon Sep 17 00:00:00 2001
From: Allanis <allanis@saracraft.net>
Date: Sat, 9 Mar 2013 22:21:37 +0000
Subject: [PATCH] [Add] Early map is actually drawing planets quite nicely.

---
 src/map.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/src/map.c b/src/map.c
index 15e5d49..ea341a1 100644
--- a/src/map.c
+++ b/src/map.c
@@ -5,7 +5,7 @@
 #include "opengl.h"
 #include "map.h"
 
-#define MAP_WIDTH			500
+#define MAP_WIDTH			550
 #define MAP_HEIGHT		400
 
 #define BUTTON_WIDTH	60
@@ -14,31 +14,32 @@
 static int 		map_wid 	= 0;
 static double map_xpos 	= 0.;
 static double map_ypos 	= 0.;
+static int map_selected = 0;
 
 // Extern.
 extern StarSystem* systems_stack;
 extern int systems_nstack;
 
-void map_render(double bx, double by, double w, double h);
-void map_close(char* str);
+static void map_render(double bx, double by, double w, double h);
+static void map_close(char* str);
 
 // Open the map window.
 void map_open(void) {
 	if(map_wid) map_close(NULL);
 
 	// Set the position to focus on current system.
-	map_xpos = cur_system->pos.x + (MAP_WIDTH-120)/2;
-	map_ypos = cur_system->pos.y + (MAP_HEIGHT-60)/2;
+	map_xpos = cur_system->pos.x;
+	map_ypos = cur_system->pos.y;
 
 	map_wid = window_create("Star Map", -1, -1, MAP_WIDTH, MAP_HEIGHT);
 
-	window_addCust(map_wid, 20, 20, MAP_WIDTH - 120, MAP_HEIGHT - 60,
+	window_addCust(map_wid, 20, 20, MAP_WIDTH - 150, MAP_HEIGHT - 60,
 				"cstMap", 1, map_render);
 	window_addButton(map_wid, -20, 20, BUTTON_WIDTH, BUTTON_HEIGHT,
 				"btnClose", "Close", map_close);
 }
 
-void map_close(char* str) {
+static void map_close(char* str) {
 	(void)str;
 	if(map_wid) {
 		window_destroy(map_wid);
@@ -47,7 +48,7 @@ void map_close(char* str) {
 }
 
 // Render the map as a custom widget.
-void map_render(double bx, double by, double w, double h) {
+static void map_render(double bx, double by, double w, double h) {
 	int i;
 	// Background
 	COLOUR(cBlack);
@@ -59,8 +60,12 @@ void map_render(double bx, double by, double w, double h) {
 	glEnd();
 
 	COLOUR(cYellow);
-	for(i = 0; i < systems_nstack; i++)
-		gl_drawCircleInRect(systems_stack[i].pos.x, systems_stack[i].pos.y,
-					5, bx, by, w, h);
+	for(i = 0; i < systems_nstack; i++) {
+		if(i == map_selected) COLOUR(cRadar_targ);
+		else COLOUR(cYellow);
+			gl_drawCircleInRect(bx + systems_stack[i].pos.x - map_xpos + w/2,
+						by + systems_stack[i].pos.y - map_ypos + h/2,
+						5, bx, by, w, h);
+	}
 }