Request for enhancement: dedicated map screen

Ideas for cool stuff in the future.
Post Reply
Lightman
Posts: 165
Joined: Thu Jun 07, 2012 7:55 pm

Request for enhancement: dedicated map screen

Post by Lightman »

Hello all,

TOMENet is a game unlike any other I have found, a very sophisticated strategic role playing game. The emphasis is clearly on creative problem solving and decision making. The map is symbolic and doesn't need any graphics. (If fancy 3D graphics existed, it would still be easiest to beat Morgoth in ASCII).

Also, the volunteers who run TOMENet are first rate. I am observing an encouraging increase of new players. We have visitors, many of whom struggle to make the transition onto a purely ASCII map.

My idea is simple and achievable. I would like a new 'map-only' screen in ASCII.

Here is what it will do for us:

1) The new map-only screen still displays just the map while players enter shops and view items.

2) Players can make it invisible or change the font and screen size. It works the same way as the character overview, equipment-only and the inventory screens.

3) Players can even create and share graphics fonts just for displaying the map-only screen. At the same time, they can view the map on the main screen in normal ASCII. Swords show up as little swords on the map-only screen if it uses graphics, but they show as | on the main screen still. etc. Players will quickly learn how to interpret the ASCII symbols on the main map. I am confident that these simple graphics will popularize the game further.

Technically, the new screen looks like the main screen does when it displays the map. The text from the main screen is removed. The top, bottom and left hand side can be blank instead. I hope this is a relatively small client change offering big benefits. I respect the talent of our developers and have fingers crossed that they can find time to make this a reality.

Thanks for reading my idea and I hand over to the experts for their analysis :)

Lightman
TOMENet player
Lightman
Posts: 165
Joined: Thu Jun 07, 2012 7:55 pm

This is actually quite easy

Post by Lightman »

I have been speaking to Sandman and this is actually quite fun. We have got Tomenet showing very simple graphics. Please post a reply if you are interested in messing about with graphics on Tomenet, testing it, creating graphic fonts etc. All you actually have to do in terms of code is put a new function in z-term.c and call it from Term_inkey:

Code: Select all

errr Term_update_minimap(void)
{

#ifdef WINDOWS /* Only available on windows for now */
	
	int i,j;
	int w;
	int h;

	term_win *scr_a;
	term_win *scr_b;
		
    //Find the map in memory. 
	Term_activate(ang_term[0]);
	if (screen_icky>0)
	{
		scr_a=Term->mem[0];
	}
	else
	{
		scr_a=Term->scr;
	}
	
	//Find the dimensions of the map
	w = Term->wid;
	h = Term->hgt;

	//Look for the first map screen
	for(i = 0; i < ANGBAND_TERM_MAX; i++)
	{
		if (window_flag[i] & PW_MINIMAP)
		{
		    //Found a map screen. Activate and size it correctly.
			Term_activate(ang_term[i]);
			if (Term->wid!=w || Term->hgt!=h)
			{
				Term_resize(w,h);
				Term_redraw();
			}

			//Update the map
			scr_b=Term->scr;
			term_win_copy(scr_b, scr_a, w, h);			

			//Remove text, which is in the wrong font.
			c_put_str(TERM_WHITE, "                              ", 0, 0);
			c_put_str(TERM_WHITE, "                              ", 0, 30);
			c_put_str(TERM_WHITE, "                              ", 0, 60);		
			for (j = 1; j < 22; j++)
			{
				c_put_str(TERM_WHITE, "             ", j, 0);
			}				
			c_put_str(TERM_WHITE, "                              ", ROW_DEPTH, 0);
			c_put_str(TERM_WHITE, "                              ", ROW_DEPTH, 30);
			c_put_str(TERM_WHITE, "                              ", ROW_DEPTH, 60);		
			
			//Redraw it
			memset(Term->x1, 0, h);
			memset(Term->x2, w - 1, h);
			Term_fresh();
			
			//Get out of the loop. We don't support more than one extra map screen.
			break;
		}
	}
	
	//Reactivate the main window
	Term_activate(ang_term[0]);
	return (0);
#endif
}
Last edited by Lightman on Sat Dec 20, 2014 12:39 am, edited 1 time in total.
Lightman
Posts: 165
Joined: Thu Jun 07, 2012 7:55 pm

Test client install

Post by Lightman »

Hi,

To install a test client with the very simple graphics follow this thread:

http://www.tomenet.org/phpBB3/viewtopic.php?f=6&t=682
Post Reply