The automap snippet allows a player to show a small map of his/her surroundings. I found it, well years ago. I probably have it on my website (www.mageslair.net) or it may even be on kyndig.com I dont know. Basically it goes a "X" number deep and determines sector type, assigns a symbol and displays a set map for that.
As for an XPM file, it should be simple to convert the output. Me, I had a way to just do it online where you convert the flags to a graphics data structure and send it to a client via another open socket. However, the maintainence of such a system was far beyond the capabilities of my small staff of immortals. We are talking a free system you know. Winston ----- Original Message ----- From: "Blue Lang" <[EMAIL PROTECTED]> To: "Chris "Winston" Litchfield" <[EMAIL PROTECTED]> Cc: <[email protected]> Sent: Sunday, February 03, 2002 12:35 AM Subject: Re: generating world maps (was Re: DISCUSSION TOPIC: RP vs HACK) > On Sat, 2 Feb 2002, Chris "Winston" Litchfield wrote: > > there is a snippet to print a world map as an XPM? got a URL? > > > Is that not the automap snippet does for you? > > > > > > ----- Original Message ----- > > From: "Blue Lang" <[EMAIL PROTECTED]> > > To: "Brian E. Ermovick" <[EMAIL PROTECTED]> > > Cc: <[email protected]> > > Sent: Saturday, February 02, 2002 2:55 PM > > Subject: generating world maps (was Re: DISCUSSION TOPIC: RP vs HACK) > > > > > > > > > > hope you don't mind me copying the list back in.. > > > > > > On Sat, 2 Feb 2002, Brian E. Ermovick wrote: > > > > > > > hey - regarding this - could you possibly show me the code that allows > > you > > > > to do that? -- I've been trying to do the exact opposite - generate a > > .xpm > > > > file from my grid to view on www. > > > > > > this should be really easy, if your wilderness is actually a grid. a > > > 10x10, 3 color xpm file looks like this: > > > > > > /* XPM */ > > > static char * test[] = { > > > "10 10 4 1", // width, height, num colors, alpha channel (?) > > > " c None", // hex color value > > > ". c #2453B7", // and glyph key pairs > > > "+ c #000000", // > > > "@ c #1EDB1E", // > > > "..........", > > > "..........", > > > ".++++++...", > > > ".+@@@@+...", > > > ".+@@@@+....", > > > ".++++++...", > > > "[EMAIL PROTECTED]", > > > "[EMAIL PROTECTED]", > > > "[EMAIL PROTECTED]", > > > "..........", // height lines of width chars > > > }; > > > > > > first, pick one color per wilderness sector type. you can use the gimp or > > > photoshop or whatever to give you the hex values. you can either just > > > write them to the top of a file, or, if you want output mapping to be > > > dynamic (if you have wilderness editing in OLC or something), you can just > > > include em in a header somewhere. > > > > > > then, pick a glyph for each wilderness sector type, corresponding to your > > > entries in merc.h, ie: > > > > > > const char *wilderness_glyphs[] = > > > { > > > "f", //field > > > "F", //forest > > > "H", //hills > > > "M", //mountain > > > "w", //water_swim > > > "W", //water_noswim > > > "A", //air > > > "D" //desert > > > }; > > > > > > etc. then just open an FH for your output file, walk your wilderness, and > > > output one char per room( wilderness_glyphs[wilderness_room->sector] ), > > > ending with a '",'. > > > > > > how that happens depends on how your wilderness is set up. > > > > > > the code i use to create my 512x512 world, after being mangled by indent, > > > looks like this: > > > > > > extern char *terrain_xpm[]; // an xpm created in the gimp with a fixed > > > // pallette > > > > > > struct world_type { > > > > > > int posx; > > > int posy; > > > int posz; // z is virtualized for flying, ie, not read from the map > > > int sector; > > > int area; // which area is linked to pos x,y,z in the world > > > > > > }; > > > > > > struct world_type world[512][512]; > > > > > > int create_world() > > > { > > > > > > int x, y; > > > > > > for (x = 0; x < 512; x++) { > > > for (y = 0; y < 512; y++) { > > > world[x][y].posx = x; > > > world[x][y].posy = y; > > > world[x][y].posz = 0; > > > world[x][y].area = 0; > > > switch (terrain_xpm[x][y]) { > > > case 'F': > > > world[x][y].sector = 2; > > > break; > > > case 'f': > > > world[x][y].sector = 3; > > > break; > > > case 'W': > > > world[x][y].sector = 4; > > > break; > > > case 'w': > > > world[x][y].sector = 5; > > > break; > > > case 'D': > > > world[x][y].sector = 6; > > > break; > > > case 'd': > > > world[x][y].sector = 7; > > > break; > > > case 'h': > > > world[x][y].sector = 8; > > > break; > > > case 'a': > > > world[x][y].sector = 9; > > > break; > > > case 'j': > > > world[x][y].sector = 1; > > > break; > > > case 'g': > > > world[x][y].sector = 1; > > > break; > > > default: > > > world[x][y].sector = 0; > > > break; > > > } > > > } > > > } > > > > > > return 0; > > > } > > > > > > pretty straightforward. don't be like me and use numbers for your sectors, > > > btw. ;) > > > > > > hope that helps, > > > > > > -- > > > Blue Lang http://www.b-side.org/~blue > > > editor, b-side.org http://www.b-side.org > > > bug generation unit, alanthia mud alanthia.org 1536 > > > integration engineer, veritas software http://www.veritas.com > > > > > > > > > -- > > > ROM mailing list > > > [email protected] > > > http://www.rom.org/cgi-bin/mailman/listinfo/rom > > > > > > > > > > > > > > -- > -- > Blue Lang http://www.b-side.org/~blue > editor, b-side.org http://www.b-side.org > bug generation unit, alanthia mud alanthia.org 1536 > integration engineer, veritas software http://www.veritas.com > > > -- > ROM mailing list > [email protected] > http://www.rom.org/cgi-bin/mailman/listinfo/rom > >

