diff --git a/doc/Guidebook.mn b/doc/Guidebook.mn index 5b6cd229e..06db99247 100644 --- a/doc/Guidebook.mn +++ b/doc/Guidebook.mn @@ -1952,6 +1952,8 @@ new players if it detects some anticipated mistakes (default on). .lp "confirm " Have user confirm attacks on pets, shopkeepers, and other peaceable creatures (default on). +.lp dark_room +Show out-of-sight areas of lit rooms (default off). .lp disclose Controls what information the program reveals when the game ends. Value is a space separated list of prompting/category pairs diff --git a/doc/Guidebook.tex b/doc/Guidebook.tex index 4073ab71b..427d720a0 100644 --- a/doc/Guidebook.tex +++ b/doc/Guidebook.tex @@ -2363,6 +2363,9 @@ players if it detects some anticipated mistakes (default on). Have user confirm attacks on pets, shopkeepers, and other peaceable creatures (default on). %.lp +%.lp +\item[\ib{dark\_room}] +Show out-of-sight areas of lit rooms (default off). \item[\ib{disclose}] Controls what information the program reveals when the game ends. Value is a space separated list of prompting/category pairs diff --git a/doc/fixes35.0 b/doc/fixes35.0 index 4e81689ee..96dc67f9d 100644 --- a/doc/fixes35.0 +++ b/doc/fixes35.0 @@ -1151,6 +1151,7 @@ adopt/adapt/improve the Paranoid_Quit patch; default is paranoid_confirm:pray adopt/adapt/improve Dungeon Overview Aardvark Joe's Extended Logfile Michael Deutschmann's use_darkgray +Clive Crous' dark_room Code Cleanup and Reorganization diff --git a/include/extern.h b/include/extern.h index 971971ea8..f36f0243b 100644 --- a/include/extern.h +++ b/include/extern.h @@ -743,6 +743,7 @@ E boolean NDECL(recover_savefile); #ifdef SYSCF_FILE E void NDECL(assure_syscf_file); #endif +E int FDECL(nhclose, (int)); #ifdef HOLD_LOCKFILE_OPEN E void NDECL(really_close); #endif diff --git a/include/flag.h b/include/flag.h index 072fb4a30..734806b38 100644 --- a/include/flag.h +++ b/include/flag.h @@ -23,6 +23,7 @@ struct flag { boolean biff; /* enable checking for mail */ boolean bones; /* allow saving/loading bones */ boolean confirm; /* confirm before hitting tame monsters */ + boolean dark_room; /* show shadows in lit rooms */ boolean debug; /* in debugging mode */ #define wizard flags.debug boolean end_own; /* list all own scores */ diff --git a/include/rm.h b/include/rm.h index cfc399300..86474c9ca 100644 --- a/include/rm.h +++ b/include/rm.h @@ -128,98 +128,102 @@ #define S_bars 17 /* KMH -- iron bars */ #define S_tree 18 /* KMH */ #define S_room 19 -#define S_corr 20 -#define S_litcorr 21 -#define S_upstair 22 -#define S_dnstair 23 -#define S_upladder 24 -#define S_dnladder 25 -#define S_altar 26 -#define S_grave 27 -#define S_throne 28 -#define S_sink 29 -#define S_fountain 30 -#define S_pool 31 -#define S_ice 32 -#define S_lava 33 -#define S_vodbridge 34 -#define S_hodbridge 35 -#define S_vcdbridge 36 /* closed drawbridge, vertical wall */ -#define S_hcdbridge 37 /* closed drawbridge, horizontal wall */ -#define S_air 38 -#define S_cloud 39 -#define S_water 40 +#define S_darkroom 20 +#define S_corr 21 +#define S_litcorr 22 +#define S_upstair 23 +#define S_dnstair 24 +#define S_upladder 25 +#define S_dnladder 26 +#define S_altar 27 +#define S_grave 28 +#define S_throne 29 +#define S_sink 30 +#define S_fountain 31 +#define S_pool 32 +#define S_ice 33 +#define S_lava 34 +#define S_vodbridge 35 +#define S_hodbridge 36 +#define S_vcdbridge 37 /* closed drawbridge, vertical wall */ +#define S_hcdbridge 38 /* closed drawbridge, horizontal wall */ +#define S_air 39 +#define S_cloud 40 +#define S_water 41 /* end dungeon characters, begin traps */ -#define S_arrow_trap 41 -#define S_dart_trap 42 -#define S_falling_rock_trap 43 -#define S_squeaky_board 44 -#define S_bear_trap 45 -#define S_land_mine 46 -#define S_rolling_boulder_trap 47 -#define S_sleeping_gas_trap 48 -#define S_rust_trap 49 -#define S_fire_trap 50 -#define S_pit 51 -#define S_spiked_pit 52 -#define S_hole 53 -#define S_trap_door 54 -#define S_teleportation_trap 55 -#define S_level_teleporter 56 -#define S_magic_portal 57 -#define S_web 58 -#define S_statue_trap 59 -#define S_magic_trap 60 -#define S_anti_magic_trap 61 -#define S_polymorph_trap 62 +#define S_arrow_trap 42 +#define S_dart_trap 43 +#define S_falling_rock_trap 44 +#define S_squeaky_board 45 +#define S_bear_trap 46 +#define S_land_mine 47 +#define S_rolling_boulder_trap 48 +#define S_sleeping_gas_trap 49 +#define S_rust_trap 50 +#define S_fire_trap 51 +#define S_pit 52 +#define S_spiked_pit 53 +#define S_hole 54 +#define S_trap_door 55 +#define S_teleportation_trap 56 +#define S_level_teleporter 57 +#define S_magic_portal 58 +#define S_web 59 +#define S_statue_trap 60 +#define S_magic_trap 61 +#define S_anti_magic_trap 62 +#define S_polymorph_trap 63 /* end traps, begin special effects */ -#define S_vbeam 63 /* The 4 zap beam symbols. Do NOT separate. */ -#define S_hbeam 64 /* To change order or add, see function */ -#define S_lslant 65 /* zapdir_to_glyph() in display.c. */ -#define S_rslant 66 -#define S_digbeam 67 /* dig beam symbol */ -#define S_flashbeam 68 /* camera flash symbol */ -#define S_boomleft 69 /* thrown boomerang, open left, e.g ')' */ -#define S_boomright 70 /* thrown boomerand, open right, e.g. '(' */ -#define S_ss1 71 /* 4 magic shield glyphs */ -#define S_ss2 72 -#define S_ss3 73 -#define S_ss4 74 -#define S_poisoncloud 75 +#define S_vbeam 64 /* The 4 zap beam symbols. Do NOT separate. */ +#define S_hbeam 65 /* To change order or add, see function */ +#define S_lslant 66 /* zapdir_to_glyph() in display.c. */ +#define S_rslant 67 +#define S_digbeam 68 /* dig beam symbol */ +#define S_flashbeam 69 /* camera flash symbol */ +#define S_boomleft 70 /* thrown boomerang, open left, e.g ')' */ +#define S_boomright 71 /* thrown boomerand, open right, e.g. '(' */ +#define S_ss1 72 /* 4 magic shield glyphs */ +#define S_ss2 73 +#define S_ss3 74 +#define S_ss4 75 +#define S_poisoncloud 76 +#define S_goodpos 77 /* valid position for targeting */ /* The 8 swallow symbols. Do NOT separate. To change order or add, see */ /* the function swallow_to_glyph() in display.c. */ -#define S_sw_tl 76 /* swallow top left [1] */ -#define S_sw_tc 77 /* swallow top center [2] Order: */ -#define S_sw_tr 78 /* swallow top right [3] */ -#define S_sw_ml 79 /* swallow middle left [4] 1 2 3 */ -#define S_sw_mr 80 /* swallow middle right [6] 4 5 6 */ -#define S_sw_bl 81 /* swallow bottom left [7] 7 8 9 */ -#define S_sw_bc 82 /* swallow bottom center [8] */ -#define S_sw_br 83 /* swallow bottom right [9] */ +#define S_sw_tl 78 /* swallow top left [1] */ +#define S_sw_tc 79 /* swallow top center [2] Order: */ +#define S_sw_tr 80 /* swallow top right [3] */ +#define S_sw_ml 81 /* swallow middle left [4] 1 2 3 */ +#define S_sw_mr 82 /* swallow middle right [6] 4 5 6 */ +#define S_sw_bl 83 /* swallow bottom left [7] 7 8 9 */ +#define S_sw_bc 84 /* swallow bottom center [8] */ +#define S_sw_br 85 /* swallow bottom right [9] */ -#define S_explode1 84 /* explosion top left */ -#define S_explode2 85 /* explosion top center */ -#define S_explode3 86 /* explosion top right Ex. */ -#define S_explode4 87 /* explosion middle left */ -#define S_explode5 88 /* explosion middle center /-\ */ -#define S_explode6 89 /* explosion middle right |@| */ -#define S_explode7 90 /* explosion bottom left \-/ */ -#define S_explode8 91 /* explosion bottom center */ -#define S_explode9 92 /* explosion bottom right */ +#define S_explode1 86 /* explosion top left */ +#define S_explode2 87 /* explosion top center */ +#define S_explode3 88 /* explosion top right Ex. */ +#define S_explode4 89 /* explosion middle left */ +#define S_explode5 90 /* explosion middle center /-\ */ +#define S_explode6 91 /* explosion middle right |@| */ +#define S_explode7 92 /* explosion bottom left \-/ */ +#define S_explode8 93 /* explosion bottom center */ +#define S_explode9 94 /* explosion bottom right */ /* end effects */ -#define MAXPCHARS 93 /* maximum number of mapped characters */ -#define MAXDCHARS 41 /* maximum of mapped dungeon characters */ +#define MAXPCHARS 95 /* maximum number of mapped characters */ +#define MAXDCHARS 42 /* maximum of mapped dungeon characters */ #define MAXTCHARS 22 /* maximum of mapped trap characters */ -#define MAXECHARS 30 /* maximum of mapped effects characters */ +#define MAXECHARS 31 /* maximum of mapped effects characters */ #define MAXEXPCHARS 9 /* number of explosion characters */ +#define DARKROOMSYM (Is_rogue_level(&u.uz) ? S_stone : S_darkroom) + struct symdef { uchar sym; const char *explanation; diff --git a/src/apply.c b/src/apply.c index 10bfdfd23..40249be1f 100644 --- a/src/apply.c +++ b/src/apply.c @@ -1396,7 +1396,7 @@ display_jump_positions(state) int state; { if (state == 0) { - tmp_at(DISP_BEAM, cmap_to_glyph(S_flashbeam)); + tmp_at(DISP_BEAM, cmap_to_glyph(S_goodpos)); } else if (state == 1) { int x,y, dx, dy; for (dx = -4; dx <= 4; dx++) @@ -2605,7 +2605,7 @@ display_polearm_positions(state) int state; { if (state == 0) { - tmp_at(DISP_BEAM, cmap_to_glyph(S_flashbeam)); + tmp_at(DISP_BEAM, cmap_to_glyph(S_goodpos)); } else if (state == 1) { int x,y, dx,dy; for (dx = -4; dx <= 4; dx++) diff --git a/src/bones.c b/src/bones.c index f061316b4..d6c3b75e7 100644 --- a/src/bones.c +++ b/src/bones.c @@ -331,7 +331,7 @@ struct obj *corpse; clear_bypasses(); fd = open_bonesfile(&u.uz, &bonesid); if (fd >= 0) { - (void) close(fd); + (void) nhclose(fd); if (wizard) { if (yn("Bones file already exists. Replace it?") == 'y') { if (delete_bonesfile(&u.uz)) goto make_bones; @@ -504,7 +504,7 @@ struct obj *corpse; if (bytes_counted > freediskspace(bones)) { /* not enough room */ if (wizard) pline("Insufficient space to create bones file."); - (void) close(fd); + (void) nhclose(fd); cancel_bonesfile(); return; } @@ -551,7 +551,7 @@ getbones() ok = TRUE; if(wizard) { if(yn("Get bones?") == 'n') { - (void) close(fd); + (void) nhclose(fd); compress_bonesfile(); return(0); } @@ -595,7 +595,7 @@ getbones() resetobjs(level.buriedobjlist,TRUE); } } - (void) close(fd); + (void) nhclose(fd); sanitize_engravings(); u.uroleplay.numbones++; diff --git a/src/display.c b/src/display.c index da5c194e7..75af16442 100644 --- a/src/display.c +++ b/src/display.c @@ -764,11 +764,11 @@ newsym(x,y) * These checks and changes must be here and not in back_to_glyph(). * They are dependent on the position being out of sight. */ - else if (!lev->waslit) { + else if (!lev->waslit || (flags.dark_room && iflags.use_color)) { if (lev->glyph == cmap_to_glyph(S_litcorr) && lev->typ == CORR) show_glyph(x, y, lev->glyph = cmap_to_glyph(S_corr)); else if (lev->glyph == cmap_to_glyph(S_room) && lev->typ == ROOM) - show_glyph(x, y, lev->glyph = cmap_to_glyph(S_stone)); + show_glyph(x, y, lev->glyph = cmap_to_glyph(DARKROOMSYM)); else goto show_mem; } else { diff --git a/src/do.c b/src/do.c index acc241a90..8ba500501 100644 --- a/src/do.c +++ b/src/do.c @@ -945,7 +945,7 @@ currentlevel_rewrite() #ifdef MFLOPPY if (!savelev(fd, ledger_no(&u.uz), COUNT_SAVE)) { - (void) close(fd); + (void) nhclose(fd); delete_levelfile(ledger_no(&u.uz)); pline("NetHack is out of disk space for making levels!"); You("can save, quit, or continue playing."); @@ -1160,7 +1160,7 @@ boolean at_stairs, falling, portal; } minit(); /* ZEROCOMP */ getlev(fd, hackpid, new_ledger, FALSE); - (void) close(fd); + (void) nhclose(fd); oinit(); /* reassign level dependent obj probabilities */ } /* do this prior to level-change pline messages */ diff --git a/src/do_name.c b/src/do_name.c index b5c2bb711..1437680e7 100644 --- a/src/do_name.c +++ b/src/do_name.c @@ -238,6 +238,7 @@ const char *goal; if (glyph_is_cmap(k) && (IS_DOOR(levl[tx][ty].typ) || glyph_to_cmap(k) == S_room || + glyph_to_cmap(k) == S_darkroom || glyph_to_cmap(k) == S_corr || glyph_to_cmap(k) == S_litcorr)) { /* what the hero remembers to be at tx,ty */ diff --git a/src/drawing.c b/src/drawing.c index a08a7acc5..d78668e0a 100644 --- a/src/drawing.c +++ b/src/drawing.c @@ -156,7 +156,8 @@ const struct symdef defsyms[MAXPCHARS] = { {'#', "iron bars", C(HI_METAL)}, /* bars */ {'#', "tree", C(CLR_GREEN)}, /* tree */ {'.', "floor of a room",C(CLR_GRAY)}, /* room */ -/*20*/ {'#', "corridor", C(CLR_GRAY)}, /* dark corr */ +/*20*/ {'.', "dark part of a room",C(CLR_BLACK)}, /* dark room */ + {'#', "corridor", C(CLR_GRAY)}, /* dark corr */ {'#', "lit corridor", C(CLR_GRAY)}, /* lit corr (see mapglyph.c) */ {'<', "staircase up", C(CLR_GRAY)}, /* upstair */ {'>', "staircase down", C(CLR_GRAY)}, /* dnstair */ @@ -165,8 +166,8 @@ const struct symdef defsyms[MAXPCHARS] = { {'_', "altar", C(CLR_GRAY)}, /* altar */ {'|', "grave", C(CLR_GRAY)}, /* grave */ {'\\', "opulent throne",C(HI_GOLD)}, /* throne */ - {'#', "sink", C(CLR_GRAY)}, /* sink */ -/*30*/ {'{', "fountain", C(CLR_BLUE)}, /* fountain */ +/*30*/ {'#', "sink", C(CLR_GRAY)}, /* sink */ + {'{', "fountain", C(CLR_BLUE)}, /* fountain */ {'}', "water", C(CLR_BLUE)}, /* pool */ {'.', "ice", C(CLR_CYAN)}, /* ice */ {'}', "molten lava", C(CLR_RED)}, /* lava */ @@ -175,8 +176,8 @@ const struct symdef defsyms[MAXPCHARS] = { {'#', "raised drawbridge",C(CLR_BROWN)}, /* vcdbridge */ {'#', "raised drawbridge",C(CLR_BROWN)}, /* hcdbridge */ {' ', "air", C(CLR_CYAN)}, /* open air */ - {'#', "cloud", C(CLR_GRAY)}, /* [part of] a cloud */ -/*40*/ {'}', "water", C(CLR_BLUE)}, /* under water */ +/*40*/ {'#', "cloud", C(CLR_GRAY)}, /* [part of] a cloud */ + {'}', "water", C(CLR_BLUE)}, /* under water */ {'^', "arrow trap", C(HI_METAL)}, /* trap */ {'^', "dart trap", C(HI_METAL)}, /* trap */ {'^', "falling rock trap",C(CLR_GRAY)}, /* trap */ @@ -185,8 +186,8 @@ const struct symdef defsyms[MAXPCHARS] = { {'^', "land mine", C(CLR_RED)}, /* trap */ {'^', "rolling boulder trap", C(CLR_GRAY)}, /* trap */ {'^', "sleeping gas trap",C(HI_ZAP)}, /* trap */ - {'^', "rust trap", C(CLR_BLUE)}, /* trap */ -/*50*/ {'^', "fire trap", C(CLR_ORANGE)}, /* trap */ +/*50*/ {'^', "rust trap", C(CLR_BLUE)}, /* trap */ + {'^', "fire trap", C(CLR_ORANGE)}, /* trap */ {'^', "pit", C(CLR_BLACK)}, /* trap */ {'^', "spiked pit", C(CLR_BLACK)}, /* trap */ {'^', "hole", C(CLR_BROWN)}, /* trap */ @@ -195,8 +196,8 @@ const struct symdef defsyms[MAXPCHARS] = { {'^', "level teleporter", C(CLR_MAGENTA)}, /* trap */ {'^', "magic portal", C(CLR_BRIGHT_MAGENTA)}, /* trap */ {'"', "web", C(CLR_GRAY)}, /* web */ - {'^', "statue trap", C(CLR_GRAY)}, /* trap */ -/*60*/ {'^', "magic trap", C(HI_ZAP)}, /* trap */ +/*60*/ {'^', "statue trap", C(CLR_GRAY)}, /* trap */ + {'^', "magic trap", C(HI_ZAP)}, /* trap */ {'^', "anti-magic field", C(HI_ZAP)}, /* trap */ {'^', "polymorph trap", C(CLR_BRIGHT_GREEN)}, /* trap */ {'|', "wall", C(CLR_GRAY)}, /* vbeam */ @@ -205,29 +206,30 @@ const struct symdef defsyms[MAXPCHARS] = { {'/', "wall", C(CLR_GRAY)}, /* rslant */ {'*', "", C(CLR_WHITE)}, /* dig beam */ {'!', "", C(CLR_WHITE)}, /* camera flash beam */ - {')', "", C(HI_WOOD)}, /* boomerang open left */ -/*70*/ {'(', "", C(HI_WOOD)}, /* boomerang open right */ +/*70*/ {')', "", C(HI_WOOD)}, /* boomerang open left */ + {'(', "", C(HI_WOOD)}, /* boomerang open right */ {'0', "", C(HI_ZAP)}, /* 4 magic shield symbols */ {'#', "", C(HI_ZAP)}, {'@', "", C(HI_ZAP)}, {'*', "", C(HI_ZAP)}, {'#', "poison cloud", C(CLR_BRIGHT_GREEN)}, /* [part of] a poison cloud */ + {'?', "valid position", C(CLR_BRIGHT_GREEN)}, /* valid position for targeting */ {'/', "", C(CLR_GREEN)}, /* swallow top left */ {'-', "", C(CLR_GREEN)}, /* swallow top center */ - {'\\', "", C(CLR_GREEN)}, /* swallow top right */ +/*80*/ {'\\', "", C(CLR_GREEN)}, /* swallow top right */ {'|', "", C(CLR_GREEN)}, /* swallow middle left */ {'|', "", C(CLR_GREEN)}, /* swallow middle right */ -/*80*/ {'\\', "", C(CLR_GREEN)}, /* swallow bottom left */ + {'\\', "", C(CLR_GREEN)}, /* swallow bottom left */ {'-', "", C(CLR_GREEN)}, /* swallow bottom center*/ {'/', "", C(CLR_GREEN)}, /* swallow bottom right */ {'/', "", C(CLR_ORANGE)}, /* explosion top left */ {'-', "", C(CLR_ORANGE)}, /* explosion top center */ {'\\', "", C(CLR_ORANGE)}, /* explosion top right */ {'|', "", C(CLR_ORANGE)}, /* explosion middle left */ - {' ', "", C(CLR_ORANGE)}, /* explosion middle center*/ +/*90*/ {' ', "", C(CLR_ORANGE)}, /* explosion middle center*/ {'|', "", C(CLR_ORANGE)}, /* explosion middle right */ {'\\', "", C(CLR_ORANGE)}, /* explosion bottom left */ -/*90*/ {'-', "", C(CLR_ORANGE)}, /* explosion bottom center*/ + {'-', "", C(CLR_ORANGE)}, /* explosion bottom center*/ {'/', "", C(CLR_ORANGE)}, /* explosion bottom right */ }; @@ -647,6 +649,7 @@ struct symparse loadsyms[] = { {SYM_PCHAR, S_flashbeam, "S_flashbeam"}, {SYM_PCHAR, S_boomleft, "S_boomleft"}, {SYM_PCHAR, S_boomright, "S_boomright"}, + {SYM_PCHAR, S_goodpos, "S_goodpos"}, {SYM_PCHAR, S_ss1, "S_ss1"}, {SYM_PCHAR, S_ss2, "S_ss2"}, {SYM_PCHAR, S_ss3, "S_ss3"}, diff --git a/src/files.c b/src/files.c index f3b9eb610..b3820e361 100644 --- a/src/files.c +++ b/src/files.c @@ -641,12 +641,12 @@ really_close() lftrack.fd = -1; lftrack.oflag = 0; if (fd != -1) - (void)_close(fd); + (void)close(fd); return; } int -close(fd) +nhclose(fd) int fd; { if (lftrack.fd == fd) { @@ -655,10 +655,17 @@ int fd; lftrack.nethack_thinks_it_is_open = FALSE; return 0; } - return _close(fd); + return close(fd); +} +#else +int +nhclose(fd) +int fd; +{ + return close(fd); } #endif - + /* ---------- END LEVEL FILE HANDLING ----------- */ @@ -996,7 +1003,7 @@ restore_saved_game() if ((fd = open_savefile()) < 0) return fd; if (validate(fd, fq_save) != 0) { - (void) close(fd), fd = -1; + (void) nhclose(fd), fd = -1; (void) delete_savefile(); } return fd; @@ -1021,7 +1028,7 @@ const char* filename; get_plname_from_file(fd, tplname); result = dupstr(tplname); } - (void) close(fd); + (void) nhclose(fd); } nh_compress(SAVEF); @@ -1777,7 +1784,7 @@ const char *filename; if (unlink(lockname) < 0) HUP raw_printf("Can't unlink %s.", lockname); # ifdef NO_FILE_LINKS - (void) close(lockfd); + (void) nhclose(lockfd); # endif #endif /* UNIX || VMS */ @@ -2936,9 +2943,9 @@ const char *dir UNUSED_if_not_OS2_CODEVIEW; wait_synch(); } # endif - (void) close(fd); /* RECORD is accessible */ + (void) nhclose(fd); /* RECORD is accessible */ } else if ((fd = open(fq_record, O_CREAT|O_RDWR, FCMASK)) >= 0) { - (void) close(fd); /* RECORD newly created */ + (void) nhclose(fd); /* RECORD newly created */ # if defined(VMS) && !defined(SECURE) /* Re-protect RECORD with world:read+write+execute+delete access. */ (void) chmod(fq_record, FCMASK | 007); @@ -2978,9 +2985,9 @@ const char *dir UNUSED_if_not_OS2_CODEVIEW; raw_printf("Warning: cannot write record %s", tmp); wait_synch(); } else - (void) close(fd); + (void) nhclose(fd); } else /* open succeeded */ - (void) close(fd); + (void) nhclose(fd); #else /* MICRO || WIN32*/ # ifdef MAC @@ -3064,14 +3071,14 @@ recover_savefile() if (read(gfd, (genericptr_t) &hpid, sizeof hpid) != sizeof hpid) { raw_printf( "\nCheckpoint data incompletely written or subsequently clobbered. Recovery impossible."); - (void)close(gfd); + (void)nhclose(gfd); return FALSE; } if (read(gfd, (genericptr_t) &savelev, sizeof(savelev)) != sizeof(savelev)) { raw_printf("\nCheckpointing was not in effect for %s -- recovery impossible.\n", lock); - (void)close(gfd); + (void)nhclose(gfd); return FALSE; } if ((read(gfd, (genericptr_t) savename, sizeof savename) @@ -3085,7 +3092,7 @@ recover_savefile() (read(gfd, (genericptr_t) &tmpplbuf, pltmpsiz) != pltmpsiz)) { raw_printf("\nError reading %s -- can't recover.\n", lock); - (void)close(gfd); + (void)nhclose(gfd); return FALSE; } @@ -3101,15 +3108,15 @@ recover_savefile() sfd = create_savefile(); if (sfd < 0) { raw_printf("\nCannot recover savefile %s.\n", SAVEF); - (void)close(gfd); + (void)nhclose(gfd); return FALSE; } lfd = open_levelfile(savelev, errbuf); if (lfd < 0) { raw_printf("\n%s\n", errbuf); - (void)close(gfd); - (void)close(sfd); + (void)nhclose(gfd); + (void)nhclose(sfd); delete_savefile(); return FALSE; } @@ -3117,8 +3124,8 @@ recover_savefile() if (write(sfd, (genericptr_t) &version_data, sizeof version_data) != sizeof version_data) { raw_printf("\nError writing %s; recovery failed.", SAVEF); - (void)close(gfd); - (void)close(sfd); + (void)nhclose(gfd); + (void)nhclose(sfd); delete_savefile(); return FALSE; } @@ -3128,8 +3135,8 @@ recover_savefile() raw_printf( "\nError writing %s; recovery failed (savefile_info).\n", SAVEF); - (void)close(gfd); - (void)close(sfd); + (void)nhclose(gfd); + (void)nhclose(sfd); delete_savefile(); return FALSE; } @@ -3139,8 +3146,8 @@ recover_savefile() raw_printf( "Error writing %s; recovery failed (player name size).\n", SAVEF); - (void)close(gfd); - (void)close(sfd); + (void)nhclose(gfd); + (void)nhclose(sfd); delete_savefile(); return FALSE; } @@ -3150,28 +3157,28 @@ recover_savefile() raw_printf( "Error writing %s; recovery failed (player name).\n", SAVEF); - (void)close(gfd); - (void)close(sfd); + (void)nhclose(gfd); + (void)nhclose(sfd); delete_savefile(); return FALSE; } if (!copy_bytes(lfd, sfd)) { - (void) close(lfd); - (void) close(sfd); + (void) nhclose(lfd); + (void) nhclose(sfd); delete_savefile(); return FALSE; } - (void)close(lfd); + (void)nhclose(lfd); processed[savelev] = 1; if (!copy_bytes(gfd, sfd)) { - (void) close(lfd); - (void) close(sfd); + (void) nhclose(lfd); + (void) nhclose(sfd); delete_savefile(); return FALSE; } - (void)close(gfd); + (void)nhclose(gfd); processed[0] = 1; for (lev = 1; lev < 256; lev++) { @@ -3185,17 +3192,17 @@ recover_savefile() levc = (xchar) lev; write(sfd, (genericptr_t) &levc, sizeof(levc)); if (!copy_bytes(lfd, sfd)) { - (void) close(lfd); - (void) close(sfd); + (void) nhclose(lfd); + (void) nhclose(sfd); delete_savefile(); return FALSE; } - (void)close(lfd); + (void)nhclose(lfd); processed[lev] = 1; } } } - (void)close(sfd); + (void)nhclose(sfd); #ifdef HOLD_LOCKFILE_OPEN really_close(); diff --git a/src/mapglyph.c b/src/mapglyph.c index e44265d3a..08b6240f3 100644 --- a/src/mapglyph.c +++ b/src/mapglyph.c @@ -116,7 +116,7 @@ unsigned *ospecial; color = CLR_MAGENTA; else if (offset == S_corr || offset == S_litcorr) color = CLR_GRAY; - else if (offset >= S_room && offset <= S_water) + else if (offset >= S_room && offset <= S_water && offset != S_darkroom) color = CLR_GREEN; else color = NO_COLOR; diff --git a/src/music.c b/src/music.c index 0912d78cc..24a7b75bd 100644 --- a/src/music.c +++ b/src/music.c @@ -753,7 +753,7 @@ char *buf; break; } (void) write(fd, buf, strlen(buf)); - (void) close(fd); + (void) nhclose(fd); } } #endif /* UNIX386MUSIC */ diff --git a/src/options.c b/src/options.c index 54e0471e8..1b834e616 100644 --- a/src/options.c +++ b/src/options.c @@ -105,6 +105,7 @@ static struct Bool_Opt {"color", &iflags.wc_color, FALSE, SET_IN_GAME}, /*WC*/ # endif {"confirm",&flags.confirm, TRUE, SET_IN_GAME}, + {"dark_room", &flags.dark_room, TRUE, SET_IN_GAME}, {"eight_bit_tty", &iflags.wc_eight_bit_input, FALSE, SET_IN_GAME}, /*WC*/ #ifdef TTY_GRAPHICS {"extmenu", &iflags.extmenu, FALSE, SET_IN_GAME}, @@ -496,6 +497,35 @@ STATIC_OVL boolean FDECL(wc2_supported, (const char *)); STATIC_DCL void FDECL(remove_autopickup_exception, (struct autopickup_exception *)); STATIC_OVL int FDECL(count_ape_maps, (int *, int *)); + +void +reglyph_darkroom() +{ + xchar x,y; + for (x = 0; x < COLNO; x++) + for (y = 0; y < ROWNO; y++) { + struct rm *lev = &levl[x][y]; + if (!flags.dark_room) { + if (lev->glyph == cmap_to_glyph(S_darkroom)) + lev->glyph = lev->waslit ? cmap_to_glyph(S_room) : cmap_to_glyph(S_stone); + } else { + if (lev->glyph == cmap_to_glyph(S_room) && + lev->seenv && + lev->waslit && !cansee(x,y)) + lev->glyph = cmap_to_glyph(S_darkroom); + else if (lev->glyph == cmap_to_glyph(S_stone) && + lev->typ == ROOM && + lev->seenv && + !cansee(x,y)) + lev->glyph = cmap_to_glyph(S_darkroom); + } + } + if (flags.dark_room && iflags.use_color) + showsyms[S_darkroom]=showsyms[S_room]; + else + showsyms[S_darkroom]=showsyms[S_stone]; +} + /* check whether a user-supplied option string is a proper leading substring of a particular option name; option string might have a colon or equals sign and arbitrary value appended to it */ @@ -704,6 +734,8 @@ initoptions_finish() /* result in the player's preferred fruit [better than "\033"]. */ obj_descr[SLIME_MOLD].oc_name = "fruit"; + reglyph_darkroom(); + return; } @@ -2810,7 +2842,8 @@ goodfruit: else if ((boolopt[i].addr) == &flags.invlet_constant) { if (flags.invlet_constant) reassign(); } - else if ((boolopt[i].addr) == &flags.lit_corridor) { + else if (((boolopt[i].addr) == &flags.lit_corridor) || + ((boolopt[i].addr) == &flags.dark_room)) { /* * All corridor squares seen via night vision or * candles & lamps change. Update them by calling @@ -2820,6 +2853,7 @@ goodfruit: */ vision_recalc(2); /* shut down vision */ vision_full_recalc = 1; /* delayed recalc */ + if (iflags.use_color) need_redraw = TRUE; /* darkroom refresh */ } else if ((boolopt[i].addr) == &iflags.use_inverse || (boolopt[i].addr) == &flags.showrace || @@ -3149,8 +3183,10 @@ doset() } destroy_nhwindow(tmpwin); - if (need_redraw) + if (need_redraw) { + reglyph_darkroom(); (void) doredraw(); + } return 0; } diff --git a/src/pager.c b/src/pager.c index 4c0f69d17..280cf0a05 100644 --- a/src/pager.c +++ b/src/pager.c @@ -250,7 +250,7 @@ lookat(x, y, buf, monbuf) int tnum = what_trap(glyph_to_trap(glyph)); Strcpy(buf, defsyms[trap_to_defsym(tnum)].explanation); } else if(!glyph_is_cmap(glyph)) { - Strcpy(buf,"dark part of a room"); + Strcpy(buf,"unexplored area"); } else switch(glyph_to_cmap(glyph)) { case S_altar: Sprintf(buf, "%s %saltar", @@ -557,8 +557,8 @@ const char **firstmatch; x_str = defsyms[i].explanation; if (sym == ((looked) ? showsyms[i] : defsyms[i].sym) && *x_str) { - /* avoid "an air", "a water", or "a floor of a room" */ - int article = (i == S_room) ? 2 : /* 2=>"the" */ + /* avoid "an air", "a water", "a floor of a room", "a dark part of a room" */ + int article = ((i == S_room)||(i == S_darkroom)) ? 2 : /* 2=>"the" */ !(strcmp(x_str, "air") == 0 || /* 1=>"an" */ strcmp(x_str, "water") == 0); /* 0=>(none)*/ diff --git a/src/read.c b/src/read.c index 8c42fcfbe..a3d522072 100644 --- a/src/read.c +++ b/src/read.c @@ -886,7 +886,7 @@ display_stinking_cloud_positions(state) int state; { if (state == 0) { - tmp_at(DISP_BEAM, cmap_to_glyph(S_flashbeam)); + tmp_at(DISP_BEAM, cmap_to_glyph(S_goodpos)); } else if (state == 1) { int x,y, dx, dy; int dist = 6; diff --git a/src/restore.c b/src/restore.c index 4c4b049ce..d46adbb31 100644 --- a/src/restore.c +++ b/src/restore.c @@ -718,7 +718,7 @@ xchar ltmp; /* Remove levels and bones that may have been created. */ - (void) close(nfd); + (void) nhclose(nfd); # ifdef AMIGA clearlocks(); # else @@ -767,7 +767,7 @@ register int fd; if (!restgamestate(fd, &stuckid, &steedid)) { display_nhwindow(WIN_MESSAGE, TRUE); savelev(-1, 0, FREE_SAVE); /* discard current level */ - (void) close(fd); + (void) nhclose(fd); (void) delete_savefile(); restoring = FALSE; return(0); @@ -841,7 +841,7 @@ register int fd; get_plname_from_file(fd, plname); getlev(fd, 0, (xchar)0, FALSE); - (void) close(fd); + (void) nhclose(fd); /* Now set the restore settings to match the * settings used by the save file output routines @@ -1558,7 +1558,7 @@ register unsigned int len; } else { pline("Read %d instead of %u bytes.", rlen, len); if(restoring) { - (void) close(fd); + (void) nhclose(fd); (void) delete_savefile(); error("Error restoring old game."); } diff --git a/src/save.c b/src/save.c index 094f54042..673a37c1f 100644 --- a/src/save.c +++ b/src/save.c @@ -162,7 +162,7 @@ dosave0() nh_uncompress(fq_save); fd = open_savefile(); if (fd > 0) { - (void) close(fd); + (void) nhclose(fd); clear_nhwindow(WIN_MESSAGE); There("seems to be an old save file."); if (yn("Overwrite the old file?") == 'n') { @@ -218,7 +218,7 @@ dosave0() pline("Require %ld bytes but only have %ld.", needed, fds); } flushout(); - (void) close(fd); + (void) nhclose(fd); (void) delete_savefile(); return 0; } @@ -265,7 +265,7 @@ dosave0() ofd = open_levelfile(ltmp, whynot); if (ofd < 0) { HUP pline1(whynot); - (void) close(fd); + (void) nhclose(fd); (void) delete_savefile(); HUP Strcpy(killer.name, whynot); HUP done(TRICKED); @@ -273,7 +273,7 @@ dosave0() } minit(); /* ZEROCOMP */ getlev(ofd, hackpid, ltmp, FALSE); - (void) close(ofd); + (void) nhclose(ofd); bwrite(fd, (genericptr_t) <mp, sizeof ltmp); /* level number*/ savelev(fd, ltmp, WRITE_SAVE | FREE_SAVE); /* actual level*/ delete_levelfile(ltmp); @@ -404,7 +404,7 @@ savestateinlock() Strcpy(killer.name, whynot); done(TRICKED); } - (void) close(fd); + (void) nhclose(fd); fd = create_levelfile(0, whynot); if (fd < 0) { @@ -742,7 +742,7 @@ def_bclose(fd) bw_FILE = 0; } else #endif - (void) close(fd); + (void) nhclose(fd); return; } @@ -879,7 +879,7 @@ zerocomp_bclose(fd) int fd; { zerocomp_bufoff(fd); - (void) close(fd); + (void) nhclose(fd); return; } #endif /* ZEROCOMP */ @@ -1443,8 +1443,8 @@ char *from, *to; if (nto != nfrom) panic("Copyfile failed!"); } while (nfrom == BUFSIZ); - (void) close(fdfrom); - (void) close(fdto); + (void) nhclose(fdfrom); + (void) nhclose(fdto); # endif /* TOS */ } diff --git a/sys/share/pcmain.c b/sys/share/pcmain.c index 67ae57dba..e9b3aade0 100644 --- a/sys/share/pcmain.c +++ b/sys/share/pcmain.c @@ -405,7 +405,7 @@ char *argv[]; hackpid = 1; #endif write(fd, (genericptr_t) &hackpid, sizeof(hackpid)); - close(fd); + nhclose(fd); } #ifdef MFLOPPY level_info[0].where = ACTIVE; diff --git a/sys/share/pcsys.c b/sys/share/pcsys.c index 16d36bbb7..6aea59998 100644 --- a/sys/share/pcsys.c +++ b/sys/share/pcsys.c @@ -282,7 +282,7 @@ int start; if (sysflags.asksavedisk) { /* Don't prompt if you can find the save file */ if ((fd = open_savefile()) >= 0) { - (void) close(fd); + (void) nhclose(fd); return 1; } clear_nhwindow(WIN_MESSAGE); @@ -335,7 +335,7 @@ comspec_exists() if ((comspec = getcomspec())) if ((fd = open(comspec, O_RDONLY)) >= 0) { - (void) close(fd); + (void) nhclose(fd); return TRUE; } return FALSE; diff --git a/sys/share/pcunix.c b/sys/share/pcunix.c index 24316aac2..e5ce95e89 100644 --- a/sys/share/pcunix.c +++ b/sys/share/pcunix.c @@ -150,7 +150,7 @@ getlock() error("Cannot open %s", fq_lock); } - (void) close(fd); + (void) nhclose(fd); if(iflags.window_inited) { # ifdef SELF_RECOVER @@ -248,7 +248,7 @@ gotlock: # endif error("cannot write lock (%s)", fq_lock); } - if(close(fd) == -1) { + if(nhclose(fd) == -1) { # if defined(CHDIR) && !defined(NOCWD_ASSUMPTIONS) chdirx(orgdir, 0); # endif diff --git a/win/share/other.txt b/win/share/other.txt index 61258f290..292295085 100644 --- a/win/share/other.txt +++ b/win/share/other.txt @@ -394,7 +394,26 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 20 (corridor) +# tile 20 (dark part of a room) +{ + MAMAMAMAMAMAMAMA + AMAMAMAMAMAMAMAM + MAMAMAMAMAMAMAMA + AMAMAMAMAMAMAMAM + MAMAMAMAMAMAMAMA + AMAMAMAMAMAMAMAM + MAMAMAMAMAMAMAMA + AMAMAMAPPMAMAMAM + MAMAMAMPPAMAMAMA + AMAMAMAMAMAMAMAM + MAMAMAMAMAMAMAMA + AMAMAMAMAMAMAMAM + MAMAMAMAMAMAMAMA + AMAMAMAMAMAMAMAM + MAMAMAMAMAMAMAMA + AMAMAMAMAMAMAMAM +} +# tile 21 (corridor) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -413,7 +432,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 21 (lit corridor) +# tile 22 (lit corridor) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -432,7 +451,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 22 (staircase up) +# tile 23 (staircase up) { AAAAAAAAAAAAAAMA AADJJJJJJJJJDAMA @@ -451,7 +470,7 @@ P = (108, 145, 182) AAAAAAAAAAAAAAMA AAAAAAAAAAAAAAAA } -# tile 23 (staircase down) +# tile 24 (staircase down) { AAAAAAAAAAAAAAMA AADJJJJJJJJJDAMA @@ -470,7 +489,7 @@ P = (108, 145, 182) AAAAAAAAAAAAAAMA AAAAAAAAAAAAAAAA } -# tile 24 (ladder up) +# tile 25 (ladder up) { ADAAAAAAAAAAADMA AADAAAANAAAADAMA @@ -489,7 +508,7 @@ P = (108, 145, 182) AAAAAAAAAAAAAAMA AAAAAAAAAAAAAAAA } -# tile 25 (ladder down) +# tile 26 (ladder down) { ADAAAAAAAAAAADMA AADAAAANAAAADAMA @@ -508,7 +527,7 @@ P = (108, 145, 182) AAAAAAAAAAAAAAMA AAAAAAAAAAAAAAAA } -# tile 26 (altar) +# tile 27 (altar) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -527,7 +546,7 @@ P = (108, 145, 182) MMMAAAAAAAAAAAMM MMMMMMMMMMMMMMMM } -# tile 27 (grave) +# tile 28 (grave) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -546,7 +565,7 @@ P = (108, 145, 182) FFFFFFFFFFFFFFFM MMMMMMMMMMMMMMMM } -# tile 28 (opulent throne) +# tile 29 (opulent throne) { MMMMMMMMMMMMMMMM MMMMMHHHHHMMMMMM @@ -565,7 +584,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 29 (sink) +# tile 30 (sink) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -584,7 +603,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 30 (fountain) +# tile 31 (fountain) { MMMMEMMMMEMMMMMM MMEEEEMMEEEMMMMM @@ -603,7 +622,7 @@ P = (108, 145, 182) MMMMAAAAAAAAAMMM MMMMMMMMMMMMMMMM } -# tile 31 (water) +# tile 32 (water) { MMMMMMMMMMNNNMMM MEEEEMMMMNEMENMM @@ -622,7 +641,7 @@ P = (108, 145, 182) MEMMEEMMMEMMEEEM EEMMMMEEEMMMMMEE } -# tile 32 (ice) +# tile 33 (ice) { NNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNN @@ -641,7 +660,7 @@ P = (108, 145, 182) NNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNN } -# tile 33 (molten lava) +# tile 34 (molten lava) { DDDDDDCDDDDDDDDD DDDDDCDKDDDDDDDD @@ -660,7 +679,7 @@ P = (108, 145, 182) DDDDKKDDDDCDDDDD DDDDDDDDDDDKDDDD } -# tile 34 (lowered drawbridge) +# tile 35 (lowered drawbridge) { EKKAKKKKKKKAKKAE EJKKKKKKKKKKKJAA @@ -679,7 +698,7 @@ P = (108, 145, 182) EEJJJJJJJJJJJAAA EJKKKKKKKKKKKJAA } -# tile 35 (lowered drawbridge) +# tile 36 (lowered drawbridge) { EEEEEEEEEEEEEEEE JEJKJEJKJEJKJEJK @@ -698,7 +717,7 @@ P = (108, 145, 182) AAAAAAAAAAAAAAAA AAAEAAAEAAAEAAAE } -# tile 36 (raised drawbridge) +# tile 37 (raised drawbridge) { MMMMMMMMMMMMMMMM MMJKJMJKJMJKJMMM @@ -717,7 +736,7 @@ P = (108, 145, 182) MMMAAAMAAAMAAAMM MMMMMMMMMMMMMMMM } -# tile 37 (raised drawbridge) +# tile 38 (raised drawbridge) { MMMMMMMMMMMMMMMM MMJJJJJJJJJJJMMM @@ -736,7 +755,7 @@ P = (108, 145, 182) MMMAAAAAAAAAAAMM MMMMMMMMMMMMMMMM } -# tile 38 (air) +# tile 39 (air) { BBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBB @@ -755,7 +774,7 @@ P = (108, 145, 182) BBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBB } -# tile 39 (cloud) +# tile 40 (cloud) { BBBBBBBBBBBBBBBB BBBBBNNNNNNNBBBB @@ -774,7 +793,7 @@ P = (108, 145, 182) BBBBBBOOOOBBBBBB BBBBBBBBBBBBBBBB } -# tile 40 (water) +# tile 41 (water) { EEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEE @@ -793,7 +812,7 @@ P = (108, 145, 182) EEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEE } -# tile 41 (arrow trap) +# tile 42 (arrow trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -812,7 +831,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 42 (dart trap) +# tile 43 (dart trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -831,7 +850,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 43 (falling rock trap) +# tile 44 (falling rock trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -850,7 +869,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 44 (squeaky board) +# tile 45 (squeaky board) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -869,7 +888,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 45 (bear trap) +# tile 46 (bear trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -888,7 +907,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 46 (land mine) +# tile 47 (land mine) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -907,7 +926,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 47 (rolling boulder trap) +# tile 48 (rolling boulder trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -926,7 +945,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 48 (sleeping gas trap) +# tile 49 (sleeping gas trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -945,7 +964,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 49 (rust trap) +# tile 50 (rust trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -964,7 +983,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 50 (fire trap) +# tile 51 (fire trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -983,7 +1002,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 51 (pit) +# tile 52 (pit) { AAAAAAAAAAAAAAAA AMAAAAAAAAAAAABA @@ -1002,7 +1021,7 @@ P = (108, 145, 182) AMPPPPPPPPPPPPPA AAAAAAAAAAAAAAAA } -# tile 52 (spiked pit) +# tile 53 (spiked pit) { AAAAAAAAAAAAAAAA AMAAAAAAAAAAAABA @@ -1021,7 +1040,7 @@ P = (108, 145, 182) AMPPPPPPPPPPPPPA AAAAAAAAAAAAAAAA } -# tile 53 (hole) +# tile 54 (hole) { MMMMMMMMMMMMMMMM MMMMMMAAAAMMMMMM @@ -1040,7 +1059,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 54 (trap door) +# tile 55 (trap door) { AAAAAAAAAAAAAAAA AMAAAAAAAAAAAABA @@ -1059,7 +1078,7 @@ P = (108, 145, 182) AMPPPPPPPPPPPPPA AAAAAAAAAAAAAAAA } -# tile 55 (teleportation trap) +# tile 56 (teleportation trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -1078,7 +1097,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 56 (level teleporter) +# tile 57 (level teleporter) { MMMMMMMMMMMMMMMM MMMMMDDADDMMMMMM @@ -1097,7 +1116,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 57 (magic portal) +# tile 58 (magic portal) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -1116,7 +1135,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 58 (web) +# tile 59 (web) { OAOAMOAMMMOMMMMO MOMNNNNMNOAMMOOA @@ -1135,7 +1154,7 @@ P = (108, 145, 182) MOAMMMMMMMMMMMMM OAMMMMMMMMMMMMMM } -# tile 59 (statue trap) +# tile 60 (statue trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -1154,7 +1173,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 60 (magic trap) +# tile 61 (magic trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -1173,7 +1192,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 61 (anti-magic field) +# tile 62 (anti-magic field) { MMMMMMMMMMMMMMMM MMMMMMDDDDDMMMMM @@ -1192,7 +1211,7 @@ P = (108, 145, 182) MMMMMAAAAAMMMMMM MMMMMMMMMMMMMMMM } -# tile 62 (polymorph trap) +# tile 63 (polymorph trap) { MMMMMMMMMMMMMMMM MMMMMDDDDDMMMMMM @@ -1211,7 +1230,7 @@ P = (108, 145, 182) MMMMMMAAAAAMMMMM MMMMMMMMMMMMMMMM } -# tile 63 (wall) +# tile 64 (wall) { MMMMMMMNNMMMMMMM MMMMMMNNMMMMMMMM @@ -1230,7 +1249,7 @@ P = (108, 145, 182) MMMMMMMMMNNMMMMM MMMMMMMMNNMMMMMM } -# tile 64 (wall) +# tile 65 (wall) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1249,26 +1268,26 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 65 (wall) -{ - NNNNNMMMMMMMMMMM - MMMMNMMMMMMMMMMM - MMMMNMMMMMMMMMMM - MMMMNMMMMMMMMMMM - MMMMNMMMMMMMMMMM - MMMMNMMMMMMMMMMM - MMMMNMMMMMMMMMMM - MMMMNMMMMMMMMMMM - MMMMNNNNNNNNNMMM - MMMMMMMMMMMMNMMM - MMMMMMMMMMMMNMMM - MMMMMMMMMMMMNMMM - MMMMMMMMMMMMNMMM - MMMMMMMMMMMMNMMM - MMMMMMMMMMMMNMMM - MMMMMMMMMMMMNNNN -} # tile 66 (wall) +{ + NNNNNMMMMMMMMMMM + MMMMNMMMMMMMMMMM + MMMMNMMMMMMMMMMM + MMMMNMMMMMMMMMMM + MMMMNMMMMMMMMMMM + MMMMNMMMMMMMMMMM + MMMMNMMMMMMMMMMM + MMMMNMMMMMMMMMMM + MMMMNNNNNNNNNMMM + MMMMMMMMMMMMNMMM + MMMMMMMMMMMMNMMM + MMMMMMMMMMMMNMMM + MMMMMMMMMMMMNMMM + MMMMMMMMMMMMNMMM + MMMMMMMMMMMMNMMM + MMMMMMMMMMMMNNNN +} +# tile 67 (wall) { MMMMMMMMMMMMNNNN MMMMMMMMMMMMNMMM @@ -1287,7 +1306,7 @@ P = (108, 145, 182) MMMMNMMMMMMMMMMM NNNNNMMMMMMMMMMM } -# tile 67 (cmap 67) +# tile 68 (cmap 68) { MMMMAAAAMMMMMMMM MMAMMMMAAMMAAMMM @@ -1306,7 +1325,7 @@ P = (108, 145, 182) MMMMAAMMMMAAAMMM MMMMMMMMMMMMMMMM } -# tile 68 (cmap 68) +# tile 69 (cmap 69) { MMMMMMMMMMMMMMMM MMMMMNNNNNNMMMMM @@ -1325,7 +1344,7 @@ P = (108, 145, 182) MMMMMNNNNNNMMMMM MMMMMMMMMMMMMMMM } -# tile 69 (cmap 69) +# tile 70 (cmap 70) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1344,7 +1363,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 70 (cmap 70) +# tile 71 (cmap 71) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1363,7 +1382,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 71 (cmap 71) +# tile 72 (cmap 72) { MMMMMMMMMMMMMMMM MMMMMIMMMMIMMMMM @@ -1382,7 +1401,7 @@ P = (108, 145, 182) MMMMMIMMMMIMMMMM MMMMMMMMMMMMMMMM } -# tile 72 (cmap 72) +# tile 73 (cmap 73) { MMMMMMMMMMMMMMMM MCCCCCCCCCCCCCCC @@ -1401,7 +1420,7 @@ P = (108, 145, 182) MCCCCCCCCCCCCCCM MMMMMMMMMMMMMMMM } -# tile 73 (cmap 73) +# tile 74 (cmap 74) { MMMMMMMHHMMMMMMM MMMMMMMHHMMMMMMM @@ -1420,7 +1439,7 @@ P = (108, 145, 182) MMMMMMMHHMMMMMMM MMMMMMMHHMMMMMMM } -# tile 74 (cmap 74) +# tile 75 (cmap 75) { MMMMMMMMMMMMMMMM MMMMMMNNNNNMMMMM @@ -1439,7 +1458,7 @@ P = (108, 145, 182) MMMMMNNNNNMMMMMM MMMMMMMMMMMMMMMM } -# tile 75 (poison cloud) +# tile 76 (poison cloud) { BBBBBBBBBBBBBBBB BBBBBFFFFFFFBBBB @@ -1458,7 +1477,26 @@ P = (108, 145, 182) BBBBBBGGGGBBBBBB BBBBBBBBBBBBBBBB } -# tile 75 (cmap 75) +# tile 77 (valid position) +{ + MMMMMMMMMMMMMMMM + MMMMMMMMMMMMMMMM + MMMMMGGGGMMMMMMM + MMMMGGGGGGMMMMMM + MMMGGFFFFGGMMMMM + MMMGGFMMMGGFMMMM + MMMMFFMMMGGFMMMM + MMMMMMMMGGFFMMMM + MMMMMMMGGFFMMMMM + MMMMMMGGFFMMMMMM + MMMMMMGGFMMMMMMM + MMMMMMMFFMMMMMMM + MMMMMMGGMMMMMMMM + MMMMMMGGFMMMMMMM + MMMMMMMFFMMMMMMM + MMMMMMMMMMMMMMMM +} +# tile 78 (cmap 78) { AAAAAAADDDDDDAAA AAAAADDDDDDDDDDD @@ -1477,7 +1515,7 @@ P = (108, 145, 182) AAAADDDDDDMMMMMM AAAADDDDDDMMMMMM } -# tile 76 (cmap 76) +# tile 79 (cmap 79) { AAAAAAAAAAAAAAAA DDAAAAAAAAAAAAAA @@ -1496,7 +1534,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 77 (cmap 77) +# tile 80 (cmap 80) { AAAAAAAAAAAAAAAA AAADDDDDAAAAAAAA @@ -1515,7 +1553,7 @@ P = (108, 145, 182) MMMMDDDDDDDDDDDD MMMMDDDDDDDDDDDA } -# tile 78 (cmap 78) +# tile 81 (cmap 81) { AAAADDDDDDMMMMMM AAAADDDDDDDMMMMM @@ -1534,7 +1572,7 @@ P = (108, 145, 182) DDDDDDDMMMMMMMMM DDCCDDDMMMMMMMMM } -# tile 79 (cmap 79) +# tile 82 (cmap 82) { MMMMDDDDDDDDDDDA MMMMDDDDDDDDDDDA @@ -1553,7 +1591,7 @@ P = (108, 145, 182) MMMMMMDDDDDDDDAA MMMMMMMDDDDDDDAA } -# tile 80 (cmap 80) +# tile 83 (cmap 83) { DDDCDDDMMMMMMMMM DDDCDDDMMMMMMMMM @@ -1572,7 +1610,7 @@ P = (108, 145, 182) AAAAAAAAAAAADDDD AAAAAAAAAAAAAADD } -# tile 81 (cmap 81) +# tile 84 (cmap 84) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1591,7 +1629,7 @@ P = (108, 145, 182) DDDDDDDDDDDDDDDD DDDDDDDDDDDDDDAA } -# tile 82 (cmap 82) +# tile 85 (cmap 85) { MMMMMMDDDDDDDDAA MMMMMMDDDDDDDDDA @@ -1610,7 +1648,7 @@ P = (108, 145, 182) DDAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA } -# tile 83 (explosion dark 0) +# tile 86 (explosion dark 0) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1629,7 +1667,7 @@ P = (108, 145, 182) MMAAAAMMAAAAMMMM MMAAAMMAAAAAMMMM } -# tile 84 (explosion dark 1) +# tile 87 (explosion dark 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1648,7 +1686,7 @@ P = (108, 145, 182) MMMMMMMMAMAMAPAA MPAMMMAPAAAAAAAA } -# tile 85 (explosion dark 2) +# tile 88 (explosion dark 2) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1667,7 +1705,7 @@ P = (108, 145, 182) AAMAMMAMAAAAMMMM AMAAMMAMAAAAAMMM } -# tile 86 (explosion dark 3) +# tile 89 (explosion dark 3) { MMAAAMAMAAAMMMMM MMAAAMAAAAAMAPMM @@ -1686,7 +1724,7 @@ P = (108, 145, 182) MMAMAMMMAAPMMMPA MMMMAMMMMMMMMMPA } -# tile 87 (explosion dark 4) +# tile 90 (explosion dark 4) { APAAAMMPPAPAAAAA MAPAMMAMAAAPAAAM @@ -1705,7 +1743,7 @@ P = (108, 145, 182) AAAAAAAAAAAAAMAA AAAAAAAAAAAMHHMM } -# tile 88 (explosion dark 5) +# tile 91 (explosion dark 5) { MMAAAMAMAMAAAAMM MMAAAAAMAMAAAAMM @@ -1724,7 +1762,7 @@ P = (108, 145, 182) AAAMMMAAAAAAAMMM MMMMPPAAAAAAAAMM } -# tile 89 (explosion dark 6) +# tile 92 (explosion dark 6) { MMMMAMMMMMMMAMMP MMMMAMMMMMMMAAMM @@ -1743,7 +1781,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 90 (explosion dark 7) +# tile 93 (explosion dark 7) { PPPAAAAAPAAAMAMM AAPPAAPPPPAMAMMM @@ -1762,7 +1800,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 91 (explosion dark 8) +# tile 94 (explosion dark 8) { MMMMPMMAAAAAAAMM MMAMMAMAAMAMAAMM @@ -1781,7 +1819,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 92 (explosion noxious 0) +# tile 95 (explosion noxious 0) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1800,7 +1838,7 @@ P = (108, 145, 182) MMFFFFMMFFFFMMMM MMFFFMMFFFFFMMMM } -# tile 93 (explosion noxious 1) +# tile 96 (explosion noxious 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1819,7 +1857,7 @@ P = (108, 145, 182) MMMMMMMMFMFMFGFF MGHMMMHGHHFFFFFF } -# tile 94 (explosion noxious 2) +# tile 97 (explosion noxious 2) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1838,7 +1876,7 @@ P = (108, 145, 182) FFMFMMFMFFFFMMMM FMFFMMFMFFFFFMMM } -# tile 95 (explosion noxious 3) +# tile 98 (explosion noxious 3) { MMFFFMFMFFFMMMMM MMFFFMFFFFFMFGMM @@ -1857,7 +1895,7 @@ P = (108, 145, 182) MMFMFMMMFHGMMMGH MMMMFMMMMMMMMMGH } -# tile 96 (explosion noxious 4) +# tile 99 (explosion noxious 4) { FGHFFMMGGFGHFFFF MHGHMMFMFFHGFHFM @@ -1876,7 +1914,7 @@ P = (108, 145, 182) HHHHNHNHNMGGGMGF GGGGNHHHGGGMHHMM } -# tile 97 (explosion noxious 5) +# tile 100 (explosion noxious 5) { MMFFFMFMFMFFFFMM MMFFFFFMFMFFFFMM @@ -1895,7 +1933,7 @@ P = (108, 145, 182) HFHMMMFFFFFFFMMM MMMMGGFFFFFFFFMM } -# tile 98 (explosion noxious 6) +# tile 101 (explosion noxious 6) { MMMMFMMMMMMMHMMG MMMMFMMMMMMMFHMM @@ -1914,7 +1952,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 99 (explosion noxious 7) +# tile 102 (explosion noxious 7) { GGGHHHHHGHHHMHMM HHGGHHGGGGHMFMMM @@ -1933,7 +1971,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 100 (explosion noxious 8) +# tile 103 (explosion noxious 8) { MMMMGMMFFFFFFFMM MMFMMFMFFMFMFFMM @@ -1952,7 +1990,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 101 (explosion muddy 0) +# tile 104 (explosion muddy 0) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1971,7 +2009,7 @@ P = (108, 145, 182) MMJJJJKKJJJJKKKK MMJJJKKJJJJJKKKK } -# tile 102 (explosion muddy 1) +# tile 105 (explosion muddy 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -1990,7 +2028,7 @@ P = (108, 145, 182) KKKKKKKKJKJKJCJJ KCLKKKLCLLJJJJJJ } -# tile 103 (explosion muddy 2) +# tile 106 (explosion muddy 2) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2009,7 +2047,7 @@ P = (108, 145, 182) JJKJKKJKJJJJMMMM JKJJKKJKJJJJJMMM } -# tile 104 (explosion muddy 3) +# tile 107 (explosion muddy 3) { MMJJJKJKJJJKKKKK MMJJJKJJJJJKJCKK @@ -2028,7 +2066,7 @@ P = (108, 145, 182) MMJMJKKKJLCKKKCL MMMMJKKKKKKKKKCL } -# tile 105 (explosion muddy 4) +# tile 108 (explosion muddy 4) { JCLJJKKCCJCLJJJJ KLCLKKJKJJLCJLJK @@ -2047,7 +2085,7 @@ P = (108, 145, 182) LLLLCLCLCKCCCKCJ CCCCCLLLCCCKLLKK } -# tile 106 (explosion muddy 5) +# tile 109 (explosion muddy 5) { KKJJJKJKJKJJJJMM KKJJJJJKJKJJJJMM @@ -2066,7 +2104,7 @@ P = (108, 145, 182) LJLKKKJJJJJJJMMM KKKKCCJJJJJJJJMM } -# tile 107 (explosion muddy 6) +# tile 110 (explosion muddy 6) { MMMMJKKKKKKKLKKC MMMMJKKKKKKKJLKK @@ -2085,7 +2123,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 108 (explosion muddy 7) +# tile 111 (explosion muddy 7) { CCCLLLLLCLLLKLKK LLCCLLCCCCLKJKKK @@ -2104,7 +2142,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 109 (explosion muddy 8) +# tile 112 (explosion muddy 8) { KKKKCKKJJJJJJJMM KKJKKJKJJKJKJJMM @@ -2123,7 +2161,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 110 (explosion wet 0) +# tile 113 (explosion wet 0) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2142,7 +2180,7 @@ P = (108, 145, 182) MMEEEEPPEEEEPPPP MMEEEPPEEEEEPPPP } -# tile 111 (explosion wet 1) +# tile 114 (explosion wet 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2161,7 +2199,7 @@ P = (108, 145, 182) PPPPPPPPEPEPEBEE PBNPPPNBEEEEEEEE } -# tile 112 (explosion wet 2) +# tile 115 (explosion wet 2) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2180,7 +2218,7 @@ P = (108, 145, 182) EEPEPPEPEEEEMMMM EPEEPPEPEEEEEMMM } -# tile 113 (explosion wet 3) +# tile 116 (explosion wet 3) { MMEEEPEPEEEPPPPP MMEEEPEEEEEPEBPP @@ -2199,7 +2237,7 @@ P = (108, 145, 182) MMEMEPPPENBPPPBE MMMMEPPPPPPPPPBE } -# tile 114 (explosion wet 4) +# tile 117 (explosion wet 4) { EBNEEPPBBEBNEEEE PNBNPPEPEEEBENEP @@ -2218,7 +2256,7 @@ P = (108, 145, 182) EEEEEEEEEPBBBPBE BBBBEEEEBBBPNNPP } -# tile 115 (explosion wet 5) +# tile 118 (explosion wet 5) { PPEEEPEPEPEEEEMM PPEEEEEPEPEEEEMM @@ -2237,7 +2275,7 @@ P = (108, 145, 182) NENPPPEEEEEEEMMM PPPPBBEEEEEEEEMM } -# tile 116 (explosion wet 6) +# tile 119 (explosion wet 6) { MMMMEPPPPPPPNPPB MMMMEPPPPPPPENPP @@ -2256,7 +2294,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 117 (explosion wet 7) +# tile 120 (explosion wet 7) { BBBEEEEEBEEEPEPP EEBBEEBBBBEPEPPP @@ -2275,7 +2313,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 118 (explosion wet 8) +# tile 121 (explosion wet 8) { PPPPBPPEEEEEEEMM PPEPPEPEEPEPEEMM @@ -2294,7 +2332,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 119 (explosion magical 0) +# tile 122 (explosion magical 0) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2313,7 +2351,7 @@ P = (108, 145, 182) MMEEEEIIEEEEIIII MMEEEIIEEEEEIIII } -# tile 120 (explosion magical 1) +# tile 123 (explosion magical 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2332,7 +2370,7 @@ P = (108, 145, 182) IIIIIIIIEIEIELEE ILHIIIHLHHEEEEEE } -# tile 121 (explosion magical 2) +# tile 124 (explosion magical 2) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2351,7 +2389,7 @@ P = (108, 145, 182) EEIEIIEIEEEEMMMM EIEEIIEIEEEEEMMM } -# tile 122 (explosion magical 3) +# tile 125 (explosion magical 3) { MMEEEIEIEEEIIIII MMEEEIEEEEEIEIII @@ -2370,7 +2408,7 @@ P = (108, 145, 182) MMEMEIIIENIIIIIN MMMMEIIIIIIIIIIN } -# tile 123 (explosion magical 4) +# tile 126 (explosion magical 4) { EINEEIIIIEINEEEE ININIIEIEENIENEI @@ -2389,7 +2427,7 @@ P = (108, 145, 182) NNNNNNNNNIIIIIIE IIIINNNNIIIINNII } -# tile 124 (explosion magical 5) +# tile 127 (explosion magical 5) { IIEEEIEIEIEEEEMM IIEEEEEIEIEEEEMM @@ -2408,7 +2446,7 @@ P = (108, 145, 182) NENIIIEEEEEEEMMM IIIIIIEEEEEEEEMM } -# tile 125 (explosion magical 6) +# tile 128 (explosion magical 6) { MMMMEIIIIIIIHIII MMMMEIIIIIIIEHII @@ -2427,7 +2465,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 126 (explosion magical 7) +# tile 129 (explosion magical 7) { IIINNNNNINNNINII NNIINNIIIINIEIII @@ -2446,7 +2484,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 127 (explosion magical 8) +# tile 130 (explosion magical 8) { IIIIIIIEEEEEEEMM IIEIIEIEEIEIEEMM @@ -2465,7 +2503,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 128 (explosion fiery 0) +# tile 131 (explosion fiery 0) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2484,7 +2522,7 @@ P = (108, 145, 182) MMDDDDCCDDDDCCCC MMDDDCCDDDDDCCCC } -# tile 129 (explosion fiery 1) +# tile 132 (explosion fiery 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2503,7 +2541,7 @@ P = (108, 145, 182) CCCCCCCCDCDCDLDD CLHCCCHLHHDDDDDD } -# tile 130 (explosion fiery 2) +# tile 133 (explosion fiery 2) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2522,7 +2560,7 @@ P = (108, 145, 182) DDCDCCDCDDDDMMMM DCDDCCDCDDDDDMMM } -# tile 131 (explosion fiery 3) +# tile 134 (explosion fiery 3) { MMDDDCDCDDDCCCCC MMDDDCDDDDDCDLCC @@ -2541,7 +2579,7 @@ P = (108, 145, 182) MMDMDCCCDHLCCCLH MMMMDCCCCCCCCCLH } -# tile 132 (explosion fiery 4) +# tile 135 (explosion fiery 4) { DLHDDCCLLDLHDDDD CHLHCCDCDDHLDHDC @@ -2560,7 +2598,7 @@ P = (108, 145, 182) HHHHNHNHNCLLLCLD LLLLNHHHLLLCHHCC } -# tile 133 (explosion fiery 5) +# tile 136 (explosion fiery 5) { CCDDDCDCDCDDDDMM CCDDDDDCDCDDDDMM @@ -2579,7 +2617,7 @@ P = (108, 145, 182) HDHCCCDDDDDDDMMM CCCCLLDDDDDDDDMM } -# tile 134 (explosion fiery 6) +# tile 137 (explosion fiery 6) { MMMMDCCCCCCCHCCL MMMMDCCCCCCCDHCC @@ -2598,7 +2636,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 135 (explosion fiery 7) +# tile 138 (explosion fiery 7) { LLLHHHHHLHHHCHCC HHLLHHLLLLHCDCCC @@ -2617,7 +2655,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 136 (explosion fiery 8) +# tile 139 (explosion fiery 8) { CCCCLCCDDDDDDDMM CCDCCDCDDCDCDDMM @@ -2636,7 +2674,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 137 (explosion frosty 0) +# tile 140 (explosion frosty 0) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2655,7 +2693,7 @@ P = (108, 145, 182) MMEEEEPPNBEEPPPP MMEEEPPEEEEEPPPP } -# tile 138 (explosion frosty 1) +# tile 141 (explosion frosty 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2674,7 +2712,7 @@ P = (108, 145, 182) PPPPPPPPEPEPEBEE PBNPPPNBNNEEEEEE } -# tile 139 (explosion frosty 2) +# tile 142 (explosion frosty 2) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2693,7 +2731,7 @@ P = (108, 145, 182) EEPEPPEPEEEEMMMM EPEEPPEPEEEEEMMM } -# tile 140 (explosion frosty 3) +# tile 143 (explosion frosty 3) { MMEEEPEPEEEPPPPP MMEEEPEEEEEPEBPP @@ -2712,7 +2750,7 @@ P = (108, 145, 182) MMEMEPPPENBPPPBN MMMMEPPPPPPPPPBN } -# tile 141 (explosion frosty 4) +# tile 144 (explosion frosty 4) { EBNEEPPBBEBNEEEE PNBNPPEPEENBENEP @@ -2731,7 +2769,7 @@ P = (108, 145, 182) NNNNNNNNNPBBBPBE BBBBNNNNBBBPNNPP } -# tile 142 (explosion frosty 5) +# tile 145 (explosion frosty 5) { PPEEEPEPEPEEEEMM PPEEEEEPEPEEEEMM @@ -2750,7 +2788,7 @@ P = (108, 145, 182) NENPPPEEEEEEEMMM PPPPBBEEEEEEEEMM } -# tile 143 (explosion frosty 6) +# tile 146 (explosion frosty 6) { MMMMEPPPPPPPNPPB MMMMEPPPPPPPENPP @@ -2769,7 +2807,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 144 (explosion frosty 7) +# tile 147 (explosion frosty 7) { BBBNNNNNBNNNPNPP NNBBNNBBBBNPEPPP @@ -2788,7 +2826,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 145 (explosion frosty 8) +# tile 148 (explosion frosty 8) { PPPPBPPEEEEEEEMM PPEPPEPEEPEPEEMM @@ -2807,7 +2845,7 @@ P = (108, 145, 182) MMMMMMMMMMMNMMMM MMMMMMMMMMMMMMMM } -# tile 146 (zap 0 0) +# tile 149 (zap 0 0) { MMMMMMMIIMMMMMMM MMMMMMIIIIMMMMMM @@ -2826,7 +2864,7 @@ P = (108, 145, 182) MMMMMMIIIIMMMMMM MMMMMMMIIMMMMMMM } -# tile 147 (zap 0 1) +# tile 150 (zap 0 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2845,7 +2883,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 148 (zap 0 2) +# tile 151 (zap 0 2) { IIIMMMMMMMMMMMMM IIIIMMMMMMMMMMMM @@ -2864,7 +2902,7 @@ P = (108, 145, 182) MMMMMMMMMMMMIIII MMMMMMMMMMMMMIII } -# tile 149 (zap 0 3) +# tile 152 (zap 0 3) { MMMMMMMMMMMMMIII MMMMMMMMMMMMIIII @@ -2883,7 +2921,7 @@ P = (108, 145, 182) IIIIMMMMMMMMMMMM IIIMMMMMMMMMMMMM } -# tile 150 (zap 1 0) +# tile 153 (zap 1 0) { MMMMMMMCCMMMMMMM MMMMMMCCCCMMMMMM @@ -2902,7 +2940,7 @@ P = (108, 145, 182) MMMMMMCCCCMMMMMM MMMMMMMCCMMMMMMM } -# tile 151 (zap 1 1) +# tile 154 (zap 1 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2921,7 +2959,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 152 (zap 1 2) +# tile 155 (zap 1 2) { CCCMMMMMMMMMMMMM CCCCMMMMMMMMMMMM @@ -2940,7 +2978,7 @@ P = (108, 145, 182) MMMMMMMMMMMMCCCC MMMMMMMMMMMMMCCC } -# tile 153 (zap 1 3) +# tile 156 (zap 1 3) { MMMMMMMMMMMMMCCC MMMMMMMMMMMMCCCC @@ -2959,7 +2997,7 @@ P = (108, 145, 182) CCCCMMMMMMMMMMMM CCCMMMMMMMMMMMMM } -# tile 154 (zap 2 0) +# tile 157 (zap 2 0) { MMMMMMMNNMMMMMMM MMMMMMNNNNMMMMMM @@ -2978,7 +3016,7 @@ P = (108, 145, 182) MMMMMMNNNNMMMMMM MMMMMMMNNMMMMMMM } -# tile 155 (zap 2 1) +# tile 158 (zap 2 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -2997,7 +3035,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 156 (zap 2 2) +# tile 159 (zap 2 2) { NNNMMMMMMMMMMMMM NNNNMMMMMMMMMMMM @@ -3016,7 +3054,7 @@ P = (108, 145, 182) MMMMMMMMMMMMNNNN MMMMMMMMMMMMMNNN } -# tile 157 (zap 2 3) +# tile 160 (zap 2 3) { MMMMMMMMMMMMMNNN MMMMMMMMMMMMNNNN @@ -3035,7 +3073,7 @@ P = (108, 145, 182) NNNNMMMMMMMMMMMM NNNMMMMMMMMMMMMM } -# tile 158 (zap 3 0) +# tile 161 (zap 3 0) { MMMMMMMBBMMMMMMM MMMMMMBBBBMMMMMM @@ -3054,7 +3092,7 @@ P = (108, 145, 182) MMMMMMBBBBMMMMMM MMMMMMMBBMMMMMMM } -# tile 159 (zap 3 1) +# tile 162 (zap 3 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -3073,7 +3111,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 160 (zap 3 2) +# tile 163 (zap 3 2) { BBBMMMMMMMMMMMMM BBBBMMMMMMMMMMMM @@ -3092,7 +3130,7 @@ P = (108, 145, 182) MMMMMMMMMMMMBBBB MMMMMMMMMMMMMBBB } -# tile 161 (zap 3 3) +# tile 164 (zap 3 3) { MMMMMMMMMMMMMBBB MMMMMMMMMMMMBBBB @@ -3111,7 +3149,7 @@ P = (108, 145, 182) BBBBMMMMMMMMMMMM BBBMMMMMMMMMMMMM } -# tile 162 (zap 4 0) +# tile 165 (zap 4 0) { MMMMMMMAAMMMMMMM MMMMMMAAAAMMMMMM @@ -3130,7 +3168,7 @@ P = (108, 145, 182) MMMMMMAAAAMMMMMM MMMMMMMAAMMMMMMM } -# tile 163 (zap 4 1) +# tile 166 (zap 4 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -3149,7 +3187,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 164 (zap 4 2) +# tile 167 (zap 4 2) { AAAMMMMMMMMMMMMM AAAAMMMMMMMMMMMM @@ -3168,7 +3206,7 @@ P = (108, 145, 182) MMMMMMMMMMMMAAAA MMMMMMMMMMMMMAAA } -# tile 165 (zap 4 3) +# tile 168 (zap 4 3) { MMMMMMMMMMMMMAAA MMMMMMMMMMMMAAAA @@ -3187,7 +3225,7 @@ P = (108, 145, 182) AAAAMMMMMMMMMMMM AAAMMMMMMMMMMMMM } -# tile 166 (zap 5 0) +# tile 169 (zap 5 0) { MMMMMMMNNMMMMMMM MMMMMMNNNNMMMMMM @@ -3206,7 +3244,7 @@ P = (108, 145, 182) MMMMMMNNNNMMMMMM MMMMMMMNNMMMMMMM } -# tile 167 (zap 5 1) +# tile 170 (zap 5 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -3225,7 +3263,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 168 (zap 5 2) +# tile 171 (zap 5 2) { NNNMMMMMMMMMMMMM NNNNMMMMMMMMMMMM @@ -3244,7 +3282,7 @@ P = (108, 145, 182) MMMMMMMMMMMMNNNN MMMMMMMMMMMMMNNN } -# tile 169 (zap 5 3) +# tile 172 (zap 5 3) { MMMMMMMMMMMMMNNN MMMMMMMMMMMMNNNN @@ -3263,7 +3301,7 @@ P = (108, 145, 182) NNNNMMMMMMMMMMMM NNNMMMMMMMMMMMMM } -# tile 170 (zap 6 0) +# tile 173 (zap 6 0) { MMMMMMMFFMMMMMMM MMMMMMFFFFMMMMMM @@ -3282,7 +3320,7 @@ P = (108, 145, 182) MMMMMMFFFFMMMMMM MMMMMMMFFMMMMMMM } -# tile 171 (zap 6 1) +# tile 174 (zap 6 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -3301,7 +3339,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 172 (zap 6 2) +# tile 175 (zap 6 2) { FFFMMMMMMMMMMMMM FFFFMMMMMMMMMMMM @@ -3320,7 +3358,7 @@ P = (108, 145, 182) MMMMMMMMMMMMFFFF MMMMMMMMMMMMMFFF } -# tile 173 (zap 6 3) +# tile 176 (zap 6 3) { MMMMMMMMMMMMMFFF MMMMMMMMMMMMFFFF @@ -3339,7 +3377,7 @@ P = (108, 145, 182) FFFFMMMMMMMMMMMM FFFMMMMMMMMMMMMM } -# tile 174 (zap 7 0) +# tile 177 (zap 7 0) { MMMMMMMGGMMMMMMM MMMMMMGGGGMMMMMM @@ -3358,7 +3396,7 @@ P = (108, 145, 182) MMMMMMGGGGMMMMMM MMMMMMMGGMMMMMMM } -# tile 175 (zap 7 1) +# tile 178 (zap 7 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -3377,7 +3415,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM } -# tile 176 (zap 7 2) +# tile 179 (zap 7 2) { GGGMMMMMMMMMMMMM GGGGMMMMMMMMMMMM @@ -3396,7 +3434,7 @@ P = (108, 145, 182) MMMMMMMMMMMMGGGG MMMMMMMMMMMMMGGG } -# tile 177 (zap 7 3) +# tile 180 (zap 7 3) { MMMMMMMMMMMMMGGG MMMMMMMMMMMMGGGG @@ -3415,7 +3453,7 @@ P = (108, 145, 182) GGGGMMMMMMMMMMMM GGGMMMMMMMMMMMMM } -# tile 178 (warning 0) +# tile 181 (warning 0) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -3434,7 +3472,7 @@ P = (108, 145, 182) MMMMMMMAAMMMMMMM MMMMMMMMMMMMMMMM } -# tile 179 (warning 1) +# tile 182 (warning 1) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -3453,7 +3491,7 @@ P = (108, 145, 182) MMMMMMMAAMMMMMMM MMMMMMMMMMMMMMMM } -# tile 180 (warning 2) +# tile 183 (warning 2) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -3472,7 +3510,7 @@ P = (108, 145, 182) MMMMMMMAAMMMMMMM MMMMMMMMMMMMMMMM } -# tile 181 (warning 3) +# tile 184 (warning 3) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -3491,7 +3529,7 @@ P = (108, 145, 182) MMMMMMMAAMMMMMMM MMMMMMMMMMMMMMMM } -# tile 182 (warning 4) +# tile 185 (warning 4) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -3510,7 +3548,7 @@ P = (108, 145, 182) MMMMMMMAAMMMMMMM MMMMMMMMMMMMMMMM } -# tile 183 (warning 5) +# tile 186 (warning 5) { MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM @@ -3529,7 +3567,7 @@ P = (108, 145, 182) MMMMMMMAAMMMMMMM MMMMMMMMMMMMMMMM } -# tile 184 (sub mine walls 0) +# tile 187 (sub mine walls 0) { AJJKKKACJAAJJJAA AJKKKACLJJAJJJJA @@ -3548,7 +3586,7 @@ P = (108, 145, 182) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 185 (sub mine walls 1) +# tile 188 (sub mine walls 1) { AJAAAAAAJJAAAJAA JJJAAAJJJJJAAAAJ @@ -3567,7 +3605,7 @@ P = (108, 145, 182) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 186 (sub mine walls 2) +# tile 189 (sub mine walls 2) { AAAAAAKCCKKJAAAA AAAAKKCLCJKJJAAA @@ -3586,7 +3624,7 @@ P = (108, 145, 182) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 187 (sub mine walls 3) +# tile 190 (sub mine walls 3) { AAAAAAKCCKKJAAAA AAAAKKCLCJKJJAAA @@ -3605,7 +3643,7 @@ P = (108, 145, 182) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 188 (sub mine walls 4) +# tile 191 (sub mine walls 4) { AKKKAAKKKKAAJJJA AKKAAKCCCJJJAAJA @@ -3624,7 +3662,7 @@ P = (108, 145, 182) AJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 189 (sub mine walls 5) +# tile 192 (sub mine walls 5) { AKKAAAKKAAAAJJJA AKAAKKLCKAAAAAJA @@ -3643,7 +3681,7 @@ P = (108, 145, 182) JJJJJJJJJJJJJJJA AAAAAAAAAAAAAAAA } -# tile 190 (sub mine walls 6) +# tile 193 (sub mine walls 6) { AAAAAAKCCKKJAAAA AAAAKCCLCJKJJAAA @@ -3662,7 +3700,7 @@ P = (108, 145, 182) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 191 (sub mine walls 7) +# tile 194 (sub mine walls 7) { AKKAAAKKKKAAJJJA AKAAKKLCCJJJAAJA @@ -3681,7 +3719,7 @@ P = (108, 145, 182) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 192 (sub mine walls 8) +# tile 195 (sub mine walls 8) { AAAAAAKCCKKJAAAA AAAAKCCLCJKJJAAA @@ -3700,7 +3738,7 @@ P = (108, 145, 182) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 193 (sub mine walls 9) +# tile 196 (sub mine walls 9) { AKKAACKCCKKJAJJA AKACKKKLLJKJJAJA @@ -3719,7 +3757,7 @@ P = (108, 145, 182) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 194 (sub mine walls 10) +# tile 197 (sub mine walls 10) { AKKAACKCCKKJAJJA AKACKKCLCJKJJAJA @@ -3738,7 +3776,7 @@ P = (108, 145, 182) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 195 (sub gehennom walls 0) +# tile 198 (sub gehennom walls 0) { ALLDAJMMMMMJLLDA ADDDAJMJMMJJDDDA @@ -3757,7 +3795,7 @@ P = (108, 145, 182) AJJJAJJMMMMJJJJA ADMMAJJMMMMJDMJA } -# tile 196 (sub gehennom walls 1) +# tile 199 (sub gehennom walls 1) { AAALDDAAAAALDDAA DDDLDDAJDDDLDDAJ @@ -3776,7 +3814,7 @@ P = (108, 145, 182) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 197 (sub gehennom walls 2) +# tile 200 (sub gehennom walls 2) { AAALLLLDDDDDDAAA LLLLAAJJMMMMDJJJ @@ -3795,7 +3833,7 @@ P = (108, 145, 182) AJJJAJJMMMMJJJJA ADMMAJJMMMMJDMJA } -# tile 198 (sub gehennom walls 3) +# tile 201 (sub gehennom walls 3) { AAALLLLDDDDDDAAA LLLLAAJJMMMMDJJJ @@ -3814,7 +3852,7 @@ P = (108, 145, 182) AJJJAJJMMMMJJJJA ADMMAJJMMMMJDMJA } -# tile 199 (sub gehennom walls 4) +# tile 202 (sub gehennom walls 4) { AAALLLLDDDDDDAAA LLLLAAJJMMMMDJJJ @@ -3833,7 +3871,7 @@ P = (108, 145, 182) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 200 (sub gehennom walls 5) +# tile 203 (sub gehennom walls 5) { AAALLLLDDDDDDAAA LLLLAAJJMMMMDJJJ @@ -3852,7 +3890,7 @@ P = (108, 145, 182) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 201 (sub gehennom walls 6) +# tile 204 (sub gehennom walls 6) { AAALLLLDDDDDDAAA LLLLAAJJMMMMDJJJ @@ -3871,7 +3909,7 @@ P = (108, 145, 182) AJJJAJJMMMMJJJJA ADMMAJJMMMMJDMJA } -# tile 202 (sub gehennom walls 7) +# tile 205 (sub gehennom walls 7) { AAALLLLDDDDDDAAA LLLLAAJJMMMMDJJJ @@ -3890,7 +3928,7 @@ P = (108, 145, 182) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 203 (sub gehennom walls 8) +# tile 206 (sub gehennom walls 8) { AAALLLLDDDDDDAAA LLLLAAJJMMMMDJJJ @@ -3909,7 +3947,7 @@ P = (108, 145, 182) AJJJAJJMMMMJJJJA ADMMAJJMMMMJDMJA } -# tile 204 (sub gehennom walls 9) +# tile 207 (sub gehennom walls 9) { AAALLLLDDDDDDAAA LLLLAAJJMMMMDJJJ @@ -3928,7 +3966,7 @@ P = (108, 145, 182) AJJJAJJMMMMJJJJA ADMMAJJMMMMJDMJA } -# tile 205 (sub gehennom walls 10) +# tile 208 (sub gehennom walls 10) { AAALLLLDDDDDDAAA LLLLAAJJMMMMDJJJ @@ -3947,7 +3985,7 @@ P = (108, 145, 182) AJJJAJJMMMMJJJJA ADMMAJJMMMMJDMJA } -# tile 206 (sub knox walls 0) +# tile 209 (sub knox walls 0) { AJJJAAACJAAAJJJA AJJJAACLJJAAJJJA @@ -3966,7 +4004,7 @@ P = (108, 145, 182) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 207 (sub knox walls 1) +# tile 210 (sub knox walls 1) { AJAAAJAAAJAAAJAA JJJAAAJAJJJAAAJA @@ -3985,7 +4023,7 @@ P = (108, 145, 182) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 208 (sub knox walls 2) +# tile 211 (sub knox walls 2) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4004,7 +4042,7 @@ P = (108, 145, 182) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 209 (sub knox walls 3) +# tile 212 (sub knox walls 3) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4023,7 +4061,7 @@ P = (108, 145, 182) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 210 (sub knox walls 4) +# tile 213 (sub knox walls 4) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4042,7 +4080,7 @@ P = (108, 145, 182) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 211 (sub knox walls 5) +# tile 214 (sub knox walls 5) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4061,7 +4099,7 @@ P = (108, 145, 182) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 212 (sub knox walls 6) +# tile 215 (sub knox walls 6) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4080,7 +4118,7 @@ P = (108, 145, 182) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 213 (sub knox walls 7) +# tile 216 (sub knox walls 7) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4099,7 +4137,7 @@ P = (108, 145, 182) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 214 (sub knox walls 8) +# tile 217 (sub knox walls 8) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4118,7 +4156,7 @@ P = (108, 145, 182) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 215 (sub knox walls 9) +# tile 218 (sub knox walls 9) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4137,7 +4175,7 @@ P = (108, 145, 182) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 216 (sub knox walls 10) +# tile 219 (sub knox walls 10) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4156,7 +4194,7 @@ P = (108, 145, 182) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 217 (sub sokoban walls 0) +# tile 220 (sub sokoban walls 0) { ANNBAMEEEEEMNNBA ABBBAMEMEEMMBBBA @@ -4175,7 +4213,7 @@ P = (108, 145, 182) AMMMAMMEEEEMMMMA ABEEAMMEEEEMBEMA } -# tile 218 (sub sokoban walls 1) +# tile 221 (sub sokoban walls 1) { AAANBBAAAAANBBAA BBBNBBAMBBBNBBAM @@ -4194,7 +4232,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM AAAAAAAAAAAAAAAA } -# tile 219 (sub sokoban walls 2) +# tile 222 (sub sokoban walls 2) { AAANNNNBBBBBBAAA NNNNAAMMEEEEBMMM @@ -4213,7 +4251,7 @@ P = (108, 145, 182) AMMMAMMEEEEMMMMA ABEEAMMEEEEMBEMA } -# tile 220 (sub sokoban walls 3) +# tile 223 (sub sokoban walls 3) { AAANNNNBBBBBBAAA NNNNAAMMEEEEBMMM @@ -4232,7 +4270,7 @@ P = (108, 145, 182) AMMMAMMEEEEMMMMA ABEEAMMEEEEMBEMA } -# tile 221 (sub sokoban walls 4) +# tile 224 (sub sokoban walls 4) { AAANNNNBBBBBBAAA NNNNAAMMEEEEBMMM @@ -4251,7 +4289,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM AAAAAAAAAAAAAAAA } -# tile 222 (sub sokoban walls 5) +# tile 225 (sub sokoban walls 5) { AAANNNNBBBBBBAAA NNNNAAMMEEEEBMMM @@ -4270,7 +4308,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM AAAAAAAAAAAAAAAA } -# tile 223 (sub sokoban walls 6) +# tile 226 (sub sokoban walls 6) { AAANNNNBBBBBBAAA NNNNAAMMEEEEBMMM @@ -4289,7 +4327,7 @@ P = (108, 145, 182) AMMMAMMEEEEMMMMA ABEEAMMEEEEMBEMA } -# tile 224 (sub sokoban walls 7) +# tile 227 (sub sokoban walls 7) { AAANNNNBBBBBBAAA NNNNAAMMEEEEBMMM @@ -4308,7 +4346,7 @@ P = (108, 145, 182) MMMMMMMMMMMMMMMM AAAAAAAAAAAAAAAA } -# tile 225 (sub sokoban walls 8) +# tile 228 (sub sokoban walls 8) { AAANNNNBBBBBBAAA NNNNAAMMEEEEBMMM @@ -4327,7 +4365,7 @@ P = (108, 145, 182) AMMMAMMEEEEMMMMA ABEEAMMEEEEMBEMA } -# tile 226 (sub sokoban walls 9) +# tile 229 (sub sokoban walls 9) { AAANNNNBBBBBBAAA NNNNAAMMEEEEBMMM @@ -4346,7 +4384,7 @@ P = (108, 145, 182) AMMMAMMEEEEMMMMA ABEEAMMEEEEMBEMA } -# tile 227 (sub sokoban walls 10) +# tile 230 (sub sokoban walls 10) { AAANNNNBBBBBBAAA NNNNAAMMEEEEBMMM diff --git a/win/tty/wintty.c b/win/tty/wintty.c index 0aaf9e92d..bcf4041e0 100644 --- a/win/tty/wintty.c +++ b/win/tty/wintty.c @@ -1,4 +1,4 @@ -/* NetHack 3.5 wintty.c $NHDT-Date: 1427667623 2015/03/29 22:20:23 $ $NHDT-Branch: master $:$NHDT-Revision: 1.75 $ */ +/* NetHack 3.5 wintty.c $NHDT-Date: 1428394244 2015/04/07 08:10:44 $ $NHDT-Branch: master $:$NHDT-Revision: 1.84 $ */ /* NetHack 3.5 wintty.c $Date: 2012/01/22 06:27:09 $ $Revision: 1.66 $ */ /* Copyright (c) David Cohrs, 1991 */ /* NetHack may be freely redistributed. See license for details. */ @@ -1770,7 +1770,7 @@ struct WinDesc *cw; if (i == cw->maxrow) { #ifdef H2344_BROKEN if(cw->type == NHW_TEXT){ - tty_curs(BASE_WINDOW, 0, (int)ttyDisplay->cury+1); + tty_curs(BASE_WINDOW, 1, (int)ttyDisplay->cury+1); cl_eos(); } #endif