Mercurial > hg > batmud > maputils
changeset 40:e5a1b2d410f6
Kakke
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 11 Dec 2006 17:01:15 +0000 |
parents | fa68caaf3c94 |
children | 7d91562486b4 |
files | maps/laenor.loc maps/laenor.raw maps/lucentium.loc maps/roth.loc mkloc.c |
diffstat | 5 files changed, 85 insertions(+), 57 deletions(-) [+] |
line wrap: on
line diff
--- a/maps/laenor.loc Mon Dec 11 13:51:20 2006 +0000 +++ b/maps/laenor.loc Mon Dec 11 17:01:15 2006 +0000 @@ -1,4 +1,4 @@ -268 348 1 FERRY DOCK/HARBOR (go se) +268 348 1+ FERRY DOCK/HARBOR (go se) 585 85 0 Urvile tree 575 86 1 Revelstone 581 87 0 Seance's
--- a/maps/laenor.raw Mon Dec 11 13:51:20 2006 +0000 +++ b/maps/laenor.raw Mon Dec 11 17:01:15 2006 +0000 @@ -346,7 +346,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSSSzzz.........|......fffffffff..f.fffhhhHHHHHHHHHHHHH^HHHHrrrHHHHHHH^^H^^^^H^^^^^^HHHHHHHHHHHHHHHhyyyyyyyyyyyyyyrrrryyryyyyyyyyy..yyyyyryyyyyyy/yyyyyyyyyyyyyy..fff?ffff.zSSSSSSS~~~~~~~~~~~~~~~~~~~~~~~SSSSSSSSSSSSSSzz..................zzzSSSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSzzz.........f.|.....ffffffff.......ffhhhHHHHHHHHHHHHH^HHHHHHrrHHHHHHHHHHHHHHH^^^HHHHHHHHHHHHHHhhyyyyyyyyyyyyyyyrryyyyyryyyyyyyy...yyyyyryyyyyy/yyyyfffyyyyyyyyy.fffffffffzzSSSSSSS~~~~~~~~~~~~~~~~~~~~SSSSSSSSSSSSSSzzz.....................zzzSSSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSSSSSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSSz.........ffff|......ffffff.......ffhhhhHHH^HHHH^hHhHHHHHHHHHrHHHHhHHHHHHHHHHHHHHHHHHHHHHHHHHrryyyyrrryyyrryrrrryyyyyrryyyyy..yy..yyyyyryyyyy/yyyyyfff.yyyyyyyyyyfffffff..zzSSSSSSSS~~~~~~~~~~~~~~~~SSSSSSSzSSSSSSSzz.........................zzSSSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~S?ScSSSSSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSSz........fffff|.......ff..ff...fffffhhhhHhH^HHHHHhHHH^HHHhHHHHrHHHhHHHHHHHHHHHHHHHHHHHHhHHHHHhrrryyryrrrrrrrryyyyyyyyryyyyyF...y...yyyrryyyy+yyyyyyy...yyyyyyyyyyyffffff...zzzzzSSSSS~~~~~~~~~~~~~~SSSSSzzzSSSSSSzzz...........................zzzSSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSScSSSSSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSSz........fffff|.......ff..ff...fffffhhhhHhH^HHHHHhHHH^HHHhHHHHrHHHhHHHHHHHHHHHHHHHHHHHHhHHHHHhrrryyryrrrrrrrryyyyyyyyryyyyyF...y...yyyrryyyy+yyyyyyy...yyyyyyyyyyyffffff...zzzzzSSSSS~~~~~~~~~~~~~~SSSSSzzzSSSSSSzzz...........................zzzSSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SzccRzzzSSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSSz.........ffff|fff....ff..ff..fffffffhhhHhHH^HHHHhHHHHHHHHHHHHrrHHHHHHH^^hHHHHHHhHHHHH^H^HHHHhhyrrrryyyryyyryyyyyyyyrryyyyyy..yyy..yyyryyyyy|yyyFFyyyyFyyyyyyyyyyyyffffff......zSSSSSSSS~~~~~~~~SSSSSSSzz.zrzzzzzz...............................zzzSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSzccR..zzSSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSSzz........fffff|fff..f.....fffffffffffhhhHhHHH^HHHHHHHHHH^HHHHHHrHHHHHHHHH^^HHHHHHhhHHHH^HHHHHhhyyyyyyyyyyyyyyyyyyyyyryyyyyyyyyyyyyyyyyryyyyy|yyyFFFyy.yyy.yyy.yyyyyyyffffff....zzSSSSSSSSSSSSSSSSSSSSSSz..r...................fff..................zzSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSSc.R...zzzSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~SSSz.........ffff.|.fffff.....ffffffffffffhhhHHHHH^^HhHHHHHHHHHHHHHrHHHHHHHHHHH^^^^HHHHHH^HHHHHHHhhyyyyyyyyyyyyyyyyyyyyrryyyyyyyyyyyyyyyyyryyyyy|yyyFFyy...yy.yyy.yyyyyyyyffffff....zzzzSSSSSSSSSSSSSSSSSzzz..r..................fffff..................zzSSSS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/maps/lucentium.loc Mon Dec 11 13:51:20 2006 +0000 +++ b/maps/lucentium.loc Mon Dec 11 17:01:15 2006 +0000 @@ -1,49 +1,51 @@ +64 156 0+ Valley of the Kings + 398 22 0 UNK #0 397 49 0 UNK #1 -225 52 0 UNK #2 +225 52 0 Lost Pyramid 412 57 0 UNK #3 -264 66 0 UNK #4 +264 66 0 Obelisk 393 79 0 UNK #5 427 87 0 UNK #6 -220 96 0 UNK #7 +220 96 0 Amphitheatre 411 98 0 UNK #8 -536 98 0 UNK #9 -114 106 0 UNK #10 +536 98 0 Jondalar +114 106 0 Oasis 385 107 0 UNK #11 -256 109 0 UNK #12 -100 122 0 UNK #13 -362 124 0 UNK #14 -296 134 0 UNK #15 -336 138 0 UNK #16 -245 144 0 UNK #17 -413 145 0 UNK #18 -657 147 0 UNK #19 -343 148 0 UNK #20 -393 156 0 UNK #21 -447 156 0 UNK #22 -235 159 0 UNK #23 -437 159 0 UNK #24 -481 164 0 UNK #25 -405 179 0 UNK #26 -358 195 0 UNK #27 -394 202 0 UNK #28 -132 203 0 UNK #29 -244 203 0 UNK #30 -413 212 0 UNK #31 -432 213 0 UNK #32 -263 218 0 UNK #33 -242 235 0 UNK #34 -374 243 0 UNK #35 -401 256 0 UNK #36 -50 258 0 UNK #37 -317 262 0 UNK #38 -145 263 0 UNK #39 +256 109 0 SHRINE Lizardman +100 122 0 Nifty's +362 124 0 Stagira +296 134 0 Astacia +336 138 0 SHRINE Satyr +245 144 0 SHRINE Catfolk +413 145 0 Public Gardens +657 147 0 Trilloch tower/Assassin quest +343 148 0 Anthill +393 156 0 GUILD Monks +447 156 0 Paladin Stronghold +235 159 0 Catfolk tree +437 159 0 GUILD Alchemists +481 164 0 Shipwreck +405 179 0 Beastlands +358 195 0 Clouds above Lor +394 202 0 SHRINE Thrikhren +132 203 0 Fraggle +244 203 1 Duzelton +413 212 1 Whirlpool +432 213 0 Land of Overworld +263 218 1 Moaning Desert +242 235 0 SHRINE Titan +374 243 0 Marble-sanded beach +401 256 0 Door to the past +50 258 0 Akira/Kara-Tur +317 262 0 SHRINE Cromagnon +145 263 0 Mirror Mine 333 286 0 UNK #40 -121 299 0 UNK #41 -127 299 0 UNK #42 -124 302 0 UNK #43 -197 313 0 UNK #44 -267 352 0 UNK #45 -148 382 0 UNK #46 -590 406 0 UNK #47 -543 464 0 UNK #48 +121 299 1 LQ43 Ice Tower +127 299 0 LQ43 Fire Tower +124 302 0 LQ43 Wind Tower +197 313 1 Pyran +267 352 1 GUILD Mage (acid) +148 382 0 Brotherhood of Sorcery +590 406 0 GUILD Mage (elec) +543 464 0 SHRINE Merfolk
--- a/maps/roth.loc Mon Dec 11 13:51:20 2006 +0000 +++ b/maps/roth.loc Mon Dec 11 17:01:15 2006 +0000 @@ -20,12 +20,13 @@ 361 189 0 Stonehenge 106 204 0 SHRINE Wolfman 324 223 0 Mirkhold -373 247 0 GUILD Barbarian +373 247 0 GUILD Barbarians 260 248 0 UNK #23 240 249 0 SHRINE Valar 388 253 0 Caverns of Chaos 221 258 0 Smurville -251 258 0 GUILD Nun +251 258 0 GUILD Nuns +261 258 3+ Nun maze (nw) 234 264 0 UNK #28 330 267 0 SHRINE Gnome 343 276 0 UNK #30
--- a/mkloc.c Mon Dec 11 13:51:20 2006 +0000 +++ b/mkloc.c Mon Dec 11 17:01:15 2006 +0000 @@ -19,9 +19,14 @@ DIR_DOWN }; +enum { + LOCF_NONE = 0, + LOCF_MARK, +}; + typedef struct { DINT x, y, ox, oy; - DINT dir; + DINT dir, flags; DCHAR * desc; } locinfo_t; @@ -118,7 +123,7 @@ DINT numLocations = 0; locinfo_t **locations = NULL; -DBOOL addLocation(DINT x, DINT y, DINT dir, DCHAR *desc) +DBOOL addLocation(DINT x, DINT y, DINT dir, DCHAR *desc, DINT flags) { locinfo_t *tmp; @@ -130,6 +135,7 @@ tmp->y = tmp->oy = y; tmp->dir = dir; tmp->desc = mydup(desc); + tmp->flags = flags; /* Add new location */ numLocations++; @@ -191,9 +197,8 @@ /* Read location info */ if (locFile) { FILE *inFile; - int tx, ty, td; size_t i, linePos, lineNum; - DCHAR inLine[NMAX+1], ts[NMAX+1]; + DCHAR inLine[NMAX+1]; THMSG(2, "Reading location info '%s'\n", locFile); @@ -217,6 +222,9 @@ if (inLine[linePos] != 0) { if (th_isdigit(inLine[linePos])) { + DINT tx, ty, td, tf; + DCHAR ts[NMAX+1]; + /* Get X */ for (i = 0; i < NMAX && th_isdigit(inLine[linePos]); linePos++,i++) ts[i] = inLine[linePos]; @@ -252,14 +260,19 @@ ts[i] = inLine[linePos]; ts[i] = 0; - if (!th_isspace(inLine[linePos])) { - THERR("Expected whitespace after direction on line #%d in '%s'\n", + td = atoi(ts); + + /* Get flags */ + tf = LOCF_NONE; + switch (inLine[linePos++]) { + case '+': tf = LOCF_MARK; break; + case ' ': case 9: break; + default: + THERR("Expected flag or whitespace after direction on line #%d in '%s'\n", lineNum, locFile); exit(3); } - td = atoi(ts); - th_findnext(inLine, &linePos); /* Get name */ @@ -270,7 +283,7 @@ } /* Add location */ - addLocation(tx, ty, td, &(inLine[linePos])); + addLocation(tx, ty, td, &(inLine[linePos]), tf); } else if (inLine[linePos] != '#') { THERR("Invalid line #%d in '%s'\n", @@ -297,7 +310,7 @@ DCHAR tmps[512]; snprintf(tmps, sizeof(tmps), "UNK #%d", cloc); - addLocation(x, y, DIR_NONE, tmps); + addLocation(x, y, DIR_NONE, tmps, LOCF_NONE); cloc++; } } @@ -379,8 +392,20 @@ for (y = 0; y < worldMap->h; y++) { for (x = 0; x < worldMap->w; x++) { - n = searchLocation(x, y, FALSE); - if (n >= 0) { + n = searchLocation(x, y, TRUE); + if ((n = searchLocation(x, y, TRUE)) >= 0) { + switch (locations[n]->flags) { + case LOCF_MARK: + fputc('?', outFile); + break; + + case LOCF_NONE: + default: + fputc(d[(worldMap->w * y) + x], outFile); + break; + } + } else + if ((n = searchLocation(x, y, FALSE)) >= 0) { fputc(0xff, outFile); fprintf(outFile, locations[n]->desc); fputc(0xfe, outFile);