From 11f4eed18c0fc924a4cfe3d56bf3847653092ed3 Mon Sep 17 00:00:00 2001 From: Allanis Date: Sun, 10 Mar 2013 17:16:39 +0000 Subject: [PATCH] [Fix] Hyperspace paths no longer appear if you drag them out of the map. --- src/map.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/map.c b/src/map.c index 3b14bd3..58a0ebc 100644 --- a/src/map.c +++ b/src/map.c @@ -125,7 +125,7 @@ static void map_update(void) { // Render the map as a custom widget. static void map_render(double bx, double by, double w, double h) { int i, j; - double x, y, r; + double x, y, r, tx, ty; StarSystem* sys; glColour* col; @@ -166,14 +166,20 @@ static void map_render(double bx, double by, double w, double h) { else col = &cInert; glBegin(GL_LINE_STRIP); ACOLOUR(*col, 0.); - glVertex2d(x+sys->pos.x, y+sys->pos.y); + tx = x + sys->pos.x; + ty = y + sys->pos.y; + if(!((tx < bx) || (tx > bx + w) || (ty < by) || (ty > by+h))) + glVertex2d(tx, ty); COLOUR(*col); - glVertex2d( - x+sys->pos.x+(systems_stack[sys->jumps[j]].pos.x-sys->pos.x)/2., - y+sys->pos.y+(systems_stack[sys->jumps[j]].pos.y-sys->pos.y)/2.); + tx += (systems_stack[sys->jumps[j]].pos.x - sys->pos.x)/2.; + ty += (systems_stack[sys->jumps[j]].pos.y - sys->pos.y)/2.; + if(!((tx < bx) || (tx > bx+w) || (ty < by) || (ty > by+h))) + glVertex2d(tx, ty); ACOLOUR(*col, 0.); - glVertex2d(x+systems_stack[sys->jumps[j]].pos.x, - y+systems_stack[sys->jumps[j]].pos.y); + tx += (systems_stack[sys->jumps[j]].pos.x - sys->pos.x)/2.; + ty += (systems_stack[sys->jumps[j]].pos.y - sys->pos.y)/2.; + if(!((tx < bx) || (tx > bx+w) || (ty < by) || (ty > by+h))) + glVertex2d(tx, ty); glEnd(); } glShadeModel(GL_FLAT);