nav computer tweak suggestions

Talk among developers, and propose and discuss general development planning/tackling/etc... feature in this forum.
Post Reply
burkshifter
Trader
Trader
Posts: 20
Joined: Wed Dec 24, 2008 1:28 am

nav computer tweak suggestions

Post by burkshifter »

Yeah, I'm annoyingly suggestive, but one of the things that has bothered me about the game over the past two versions has been the nav computer.

For one thing, the actual route calculator is pretty counter-intuitive.

But the bigger problem, to me, is the nav/info map. One of my favorite things to do in the game is to just cruise around and explore, but since the game is randomly generated and I've done a few hours worth of exploring, there are literally hundreds of systems on the map. It gets to the point that no matter which axis or view perspective I use, the map is so cluttered I can't tell which system I'm at or which systems are within my immediate vicinity. So here's a simple suggestion: how about an option to only view systems within a certain number of jumps? Possibly with a navigated route extending further...
Sarin
Mercenary
Mercenary
Posts: 103
Joined: Sat Mar 22, 2008 3:38 am

Re: nav computer tweak suggestions

Post by Sarin »

You now what would I do? Separate map into system, sector and whole map. Whole would show only sectors and wormholes between them, with systems at the ends of wormhole being highlited when mouse points at it. Sector map shows only the sector you're in and the systems directly connected to it.
kraehe
Merchant
Merchant
Posts: 34
Joined: Thu Dec 04, 2008 4:26 am

a bit better galaxy map

Post by kraehe »

Moin Burkshifter,
burkshifter wrote: But the bigger problem, to me, is the nav/info map. One of my favorite things to do in the game is to just cruise around and explore, but since the game is randomly generated and I've done a few hours worth of exploring, there are literally hundreds of systems on the map. It gets to the point that no matter which axis or view perspective I use, the map is so cluttered I can't tell which system I'm at or which systems are within my immediate vicinity. So here's a simple suggestion: how about an option to only view systems within a certain number of jumps? Possibly with a navigated route extending further...
you might want to test my galaxy map patch:

Code: Select all

Index: src/gfx/nav/drawgalaxy.cpp
===================================================================
--- src/gfx/nav/drawgalaxy.cpp	(revision 12508)
+++ src/gfx/nav/drawgalaxy.cpp	(working copy)
@@ -86,7 +86,7 @@
 	return 'v';
 }
 
-static void DrawNode(int type,float size,float x, float y, std::string source,navscreenoccupied * screenoccupation, bool moused, GFXColor race, bool mouseover=false, bool willclick=false) {
+static void DrawNode(int type,float size,float x, float y, std::string source,navscreenoccupied * screenoccupation, bool moused, GFXColor race, bool mouseover=false, bool willclick=false, string insector="") {
 	char color=GetSystemColor(source);
 	if (moused)
 		return;
@@ -124,16 +124,16 @@
 			race.b+=.75;
 		}
 	}
-//		race=GFXColor (1,1,1,1);
 	NavigationSystem::DrawCircle(x, y, size, race);
 	if ((!mouseover)||(willclick)) {
+		string tsector,nam;
+		Beautify (source,tsector,nam);
 		if (willclick) {
 			race=highlighted_tail_text;
-		}
-		string blah,nam;
-		Beautify (source,blah,nam);
-			
-		DrawNodeDescription (nam,x,y,1.0,1.0,0,race,screenoccupation);
+			nam = tsector+" / "+nam;
+		} 
+		if (willclick || !(insector.compare("")) || !(insector.compare(tsector)))
+			DrawNodeDescription (nam,x,y,1.0,1.0,0,race,screenoccupation);
 	}
 }
 
@@ -865,27 +865,14 @@
 		}
 
 		bool moused = false;
-		if(isPath) {
-		  isPath=true;
-		  DrawNode(insert_type, insert_size, the_x, the_y, (*systemIter).GetName(),screenoccupation,moused,pathcol);
-		  DisplayOrientationLines(the_x, the_y, the_x_flat, the_y_flat, 0);
+		DrawNode(insert_type, insert_size, the_x, the_y, (*systemIter).GetName(),screenoccupation,moused,isPath ? pathcol : col,false,false,isPath ? "" : csector);
+		DisplayOrientationLines(the_x, the_y, the_x_flat, the_y_flat, 0);
 		  
-		  if (TestIfInRangeRad(the_x, the_y, insert_size, mouse_x_current, mouse_y_current) ) {
-		    mouselist.push_back(systemdrawnode(insert_type, insert_size, the_x, the_y, (*systemIter).GetName(),systemIter.getIndex(),screenoccupation,false, pathcol));
+		if (TestIfInRangeRad(the_x, the_y, insert_size, mouse_x_current, mouse_y_current) ) {
+		    mouselist.push_back(systemdrawnode(insert_type, insert_size, the_x, the_y, (*systemIter).GetName(),systemIter.getIndex(),screenoccupation,false, isPath ? pathcol : col));
 		    moused=true;
-		  }
 		}
 		
-		if(!isPath) {
-		  DrawNode(insert_type, insert_size, the_x, the_y, (*systemIter).GetName(),screenoccupation,moused,col);
-		  DisplayOrientationLines(the_x, the_y, the_x_flat, the_y_flat, 0);
-
-		  if (TestIfInRangeRad(the_x, the_y, insert_size, mouse_x_current, mouse_y_current) ) {
-		    mouselist.push_back(systemdrawnode(insert_type, insert_size, the_x, the_y, (*systemIter).GetName(),systemIter.getIndex(),screenoccupation,false, col));
-		    moused=true;
-		  }
-		}
-
 		unsigned destsize=systemIter->GetDestinationSize();
 		if (destsize!=0) {
 			GFXBegin(GFXLINE);
This patch is doing the following: The lines, dots and circles of the galaxy map are drawn as usual, but system names are shown, only for systems in same sector or on the path, or the one where you hover the mouse. The last one has its sector name shown in addition.

ciao,Kraehe
pyramid
Expert Mercenary
Expert Mercenary
Posts: 988
Joined: Thu Jun 15, 2006 1:02 am
Location: Somewhere in the vastness of space
Contact:

Re: a bit better galaxy map

Post by pyramid »

OK. This patch is in svn.
pyramid
Expert Mercenary
Expert Mercenary
Posts: 988
Joined: Thu Jun 15, 2006 1:02 am
Location: Somewhere in the vastness of space
Contact:

Navigation Computer Interface

Post by pyramid »

I did play with the nav computer interface textures and made them a bit (not too much) transparent to give a better overall look to the game. The previous meshes were pointing to the wrong texture directory anyway.
Strangely I could not make the buttons glow when not lit. Even when supplying a glow texture. So at the end they do change intensity depending on the direction of the light source.

There was also a lot of unneeded stuff in the data/meshes/nav/default folder, mainly xmesh files and obsolete bfxms, which were moved to masters.

Hope you like the new looks.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Navigation Computer Interface

Post by klauss »

pyramid wrote:Strangely I could not make the buttons glow when not lit. Even when supplying a glow texture.
That may be an indication that the code is doing something wrong - I remember in some places meshes are drawn in odd ways (not though the usual Mesh::Draw channels), and that results in these kinds of issues.

We need an issue on the tracker perhaps
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
pyramid
Expert Mercenary
Expert Mercenary
Posts: 988
Joined: Thu Jun 15, 2006 1:02 am
Location: Somewhere in the vastness of space
Contact:

Re: Navigation Computer Interface

Post by pyramid »

Ok. It's added (Artifact 3191662).
klauss, can you please add me to the devs / maintainers of the tracker lists, as I'd like to take some items. Thanks.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Navigation Computer Interface

Post by klauss »

pyramid wrote:klauss, can you please add me to the devs / maintainers of the tracker lists, as I'd like to take some items. Thanks.
Done.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
pyramid
Expert Mercenary
Expert Mercenary
Posts: 988
Joined: Thu Jun 15, 2006 1:02 am
Location: Somewhere in the vastness of space
Contact:

Re: Navigation Computer Interface

Post by pyramid »

Great!
Post Reply