diff --git a/dat/symbols b/dat/symbols index c131d6bdc..c9adbda44 100644 --- a/dat/symbols +++ b/dat/symbols @@ -251,11 +251,13 @@ start: IBMgraphics S_ndoor: \xfa # meta-z, centered dot S_vodoor: \xfe # meta-~, small centered square S_hodoor: \xfe # meta-~, small centered square + S_engroom: \xee # epsilon S_bars: \xf0 # equivalence symbol S_tree: \xf1 # plus or minus symbol S_room: \xfa # meta-z, centered dot S_corr: \xb0 # meta-0, light shading S_litcorr: \xb1 # meta-1, medium shading + S_engrcorr: \xb0 # meta-0, light shading S_fountain: \xf4 # meta-t, integral top half S_sink: \xf4 # meta-t, integral top half S_pool: \xf7 # meta-w, approx. equals @@ -287,6 +289,7 @@ start: IBMGraphics_1 S_tdwall: \xc2 # meta-B, T down S_tlwall: \xb4 # meta-4, T left S_trwall: \xc3 # meta-C, T right + S_engroom: \xee # epsilon S_vbeam: \xb3 # meta-3, vertical rule S_hbeam: \xc4 # meta-D, horizontal rule S_sw_ml: \xb3 # meta-3, vertical rule @@ -311,8 +314,10 @@ start: IBMGraphics_2 S_trwall: \xc3 # meta-C, T right S_vodoor: \xfe # meta-~, small centered square S_hodoor: \xfe # meta-~, small centered square + S_engroom: \xee # epsilon S_corr: \xb0 # meta-0, light shading S_litcorr: \xb1 # meta-1, medium shading + S_engrcorr: \xb0 # meta-0, light shading S_vbeam: \xb3 # meta-3, vertical rule S_hbeam: \xc4 # meta-D, horizontal rule S_sw_ml: \xb3 # meta-3, vertical rule @@ -348,6 +353,7 @@ start: RogueIBM S_room: \xfa # centered dot S_corr: \xb1 S_litcorr: \xb2 + S_engrcorr: \xb1 S_upstair: \xf0 # Greek Xi S_dnstair: \xf0 S_brupstair: \xf0 # Greek Xi @@ -374,8 +380,10 @@ start: RogueEpyx S_vodoor: \xce S_hodoor: \xce S_room: \xfa # centered dot + S_engroom: \xee # epsilon S_corr: \xb1 S_litcorr: \xb2 + S_engrcorr: \xb1 S_upstair: \xf0 # Greek Xi S_dnstair: \xf0 S_brupstair: \xf0 # Greek Xi @@ -452,8 +460,10 @@ start: RogueWindows S_vodoor: \xce S_hodoor: \xce S_room: \xfa # centered dot + S_engroom: \xee # epsilon S_corr: \xb1 S_litcorr: \xb2 + S_engrcorr: \xb1 S_upstair: \xf0 # Greek Xi S_dnstair: \xf0 S_brupstair: \xf0 # Greek Xi @@ -479,8 +489,10 @@ start: curses S_bars: \xfc # meta-|, not-equals sign (was '#') S_tree: \xe7 # meta-g, plus or minus sign S_room: \xfe # meta-z, centered dot + S_engroom: \xee # epsilon S_corr: \xe1 # meta-a, solid block S_litcorr: \xe1 # meta-a, solid block + S_engrcorr: \xe1 # meta-a, solid block S_ice: \xfe # meta-z, centered dot S_vodbridge: \xfe # meta-z, centered dot S_hodbridge: \xfe # meta-z, centered dot @@ -560,6 +572,7 @@ start: MACgraphics S_bars: \xf0 # equivalency symbol S_tree: \xf1 # plus-or-minus S_corr: \xb0 + S_engrcorr: \xb0 S_grave: \xef # same as open door S_pool: \xe0 finish @@ -585,6 +598,7 @@ start: Enhanced1 S_bars: U+2261 # IDENTICAL TO S_tree: U+03a8 # GREEK CAPITAL LETTER PSI S_room: U+00b7 # MIDDLE DOT + S_engroom: U+03BE # Greek Small Letter Xi S_darkroom: U+00b7 # MIDDLE DOT S_upladder: U+2264 # LESS-THAN OR EQUAL TO S_dnladder: U+2265 # GREATER-THAN OR EQUAL TO diff --git a/include/defsym.h b/include/defsym.h index e18884f55..0c3536d8b 100644 --- a/include/defsym.h +++ b/include/defsym.h @@ -113,70 +113,72 @@ PCHAR( 18, '#', S_tree, "tree", CLR(CLR_GREEN)) PCHAR( 19, '.', S_room, "floor of a room", CLR(CLR_GRAY)) PCHAR( 20, '.', S_darkroom, "dark part of a room", CLR(CLR_BLACK)) - PCHAR2(21, '#', S_corr, "dark corridor", "corridor", CLR(CLR_GRAY)) - PCHAR( 22, '#', S_litcorr, "lit corridor", CLR(CLR_GRAY)) - PCHAR2(23, '<', S_upstair, "up stairs", "staircase up", CLR(CLR_GRAY)) - PCHAR2(24, '>', S_dnstair, "down stairs", "staircase down", CLR(CLR_GRAY)) - PCHAR2(25, '<', S_upladder, "up ladder", "ladder up", CLR(CLR_BROWN)) - PCHAR2(26, '>', S_dnladder, "down ladder", "ladder down", CLR(CLR_BROWN)) - PCHAR( 27, '<', S_brupstair, "branch staircase up", CLR(CLR_YELLOW)) - PCHAR( 28, '>', S_brdnstair, "branch staircase down", CLR(CLR_YELLOW)) - PCHAR( 29, '<', S_brupladder, "branch ladder up", CLR(CLR_YELLOW)) - PCHAR( 30, '>', S_brdnladder, "branch ladder down", CLR(CLR_YELLOW)) + PCHAR( 21, '`', S_engroom, "engraved part of a room", CLR(CLR_BRIGHT_BLUE)) + PCHAR2(22, '#', S_corr, "dark corridor", "corridor", CLR(CLR_GRAY)) + PCHAR( 23, '#', S_litcorr, "lit corridor", CLR(CLR_GRAY)) + PCHAR( 24, '#', S_engrcorr, "engraved part of a corridor", CLR(CLR_BRIGHT_BLUE)) + PCHAR2(25, '<', S_upstair, "up stairs", "staircase up", CLR(CLR_GRAY)) + PCHAR2(26, '>', S_dnstair, "down stairs", "staircase down", CLR(CLR_GRAY)) + PCHAR2(27, '<', S_upladder, "up ladder", "ladder up", CLR(CLR_BROWN)) + PCHAR2(28, '>', S_dnladder, "down ladder", "ladder down", CLR(CLR_BROWN)) + PCHAR( 29, '<', S_brupstair, "branch staircase up", CLR(CLR_YELLOW)) + PCHAR( 30, '>', S_brdnstair, "branch staircase down", CLR(CLR_YELLOW)) + PCHAR( 31, '<', S_brupladder, "branch ladder up", CLR(CLR_YELLOW)) + PCHAR( 32, '>', S_brdnladder, "branch ladder down", CLR(CLR_YELLOW)) /* end cmap A */ - PCHAR( 31, '_', S_altar, "altar", CLR(CLR_GRAY)) + PCHAR( 33, '_', S_altar, "altar", CLR(CLR_GRAY)) /* start cmap B */ - PCHAR( 32, '|', S_grave, "grave", CLR(CLR_WHITE)) - PCHAR2(33, '\\', S_throne, "throne", "opulent throne", CLR(HI_GOLD)) - PCHAR( 34, '{', S_sink, "sink", CLR(CLR_WHITE)) - PCHAR( 35, '{', S_fountain, "fountain", CLR(CLR_BRIGHT_BLUE)) - PCHAR2(36, '}', S_pool, "pool", "water", CLR(CLR_BLUE)) - PCHAR( 37, '.', S_ice, "ice", CLR(CLR_CYAN)) - PCHAR( 38, '}', S_lava, "molten lava", CLR(CLR_RED)) - PCHAR( 39, '}', S_lavawall, "wall of lava", CLR(CLR_ORANGE)) - PCHAR2(40, '.', S_vodbridge, "vertical open drawbridge", + PCHAR( 34, '|', S_grave, "grave", CLR(CLR_WHITE)) + PCHAR2(35, '\\', S_throne, "throne", "opulent throne", CLR(HI_GOLD)) + PCHAR( 36, '{', S_sink, "sink", CLR(CLR_WHITE)) + PCHAR( 37, '{', S_fountain, "fountain", CLR(CLR_BRIGHT_BLUE)) + PCHAR2(38, '}', S_pool, "pool", "water", CLR(CLR_BLUE)) + PCHAR( 39, '.', S_ice, "ice", CLR(CLR_CYAN)) + PCHAR( 40, '}', S_lava, "molten lava", CLR(CLR_RED)) + PCHAR( 41, '}', S_lavawall, "wall of lava", CLR(CLR_ORANGE)) + PCHAR2(42, '.', S_vodbridge, "vertical open drawbridge", "lowered drawbridge", CLR(CLR_BROWN)) - PCHAR2(41, '.', S_hodbridge, "horizontal open drawbridge", + PCHAR2(43, '.', S_hodbridge, "horizontal open drawbridge", "lowered drawbridge", CLR(CLR_BROWN)) - PCHAR2(42, '#', S_vcdbridge, "vertical closed drawbridge", + PCHAR2(44, '#', S_vcdbridge, "vertical closed drawbridge", "raised drawbridge", CLR(CLR_BROWN)) - PCHAR2(43, '#', S_hcdbridge, "horizontal closed drawbridge", + PCHAR2(45, '#', S_hcdbridge, "horizontal closed drawbridge", "raised drawbridge", CLR(CLR_BROWN)) - PCHAR( 44, ' ', S_air, "air", CLR(CLR_CYAN)) - PCHAR( 45, '#', S_cloud, "cloud", CLR(CLR_GRAY)) - PCHAR( 46, '}', S_water, "water", CLR(CLR_BLUE)) + PCHAR( 46, ' ', S_air, "air", CLR(CLR_CYAN)) + PCHAR( 47, '#', S_cloud, "cloud", CLR(CLR_GRAY)) + PCHAR( 48, '}', S_water, "water", CLR(CLR_BLUE)) /* end dungeon characters */ /* */ /* begin traps */ /* */ - PCHAR( 47, '^', S_arrow_trap, "arrow trap", CLR(HI_METAL)) - PCHAR( 48, '^', S_dart_trap, "dart trap", CLR(HI_METAL)) - PCHAR( 49, '^', S_falling_rock_trap, "falling rock trap", CLR(CLR_GRAY)) - PCHAR( 50, '^', S_squeaky_board, "squeaky board", CLR(CLR_BROWN)) - PCHAR( 51, '^', S_bear_trap, "bear trap", CLR(HI_METAL)) - PCHAR( 52, '^', S_land_mine, "land mine", CLR(CLR_RED)) - PCHAR( 53, '^', S_rolling_boulder_trap, "rolling boulder trap", + PCHAR( 49, '^', S_arrow_trap, "arrow trap", CLR(HI_METAL)) + PCHAR( 50, '^', S_dart_trap, "dart trap", CLR(HI_METAL)) + PCHAR( 51, '^', S_falling_rock_trap, "falling rock trap", CLR(CLR_GRAY)) + PCHAR( 52, '^', S_squeaky_board, "squeaky board", CLR(CLR_BROWN)) + PCHAR( 53, '^', S_bear_trap, "bear trap", CLR(HI_METAL)) + PCHAR( 54, '^', S_land_mine, "land mine", CLR(CLR_RED)) + PCHAR( 55, '^', S_rolling_boulder_trap, "rolling boulder trap", CLR(CLR_GRAY)) - PCHAR( 54, '^', S_sleeping_gas_trap, "sleeping gas trap", CLR(HI_ZAP)) - PCHAR( 55, '^', S_rust_trap, "rust trap", CLR(CLR_BLUE)) - PCHAR( 56, '^', S_fire_trap, "fire trap", CLR(CLR_ORANGE)) - PCHAR( 57, '^', S_pit, "pit", CLR(CLR_BLACK)) - PCHAR( 58, '^', S_spiked_pit, "spiked pit", CLR(CLR_BLACK)) - PCHAR( 59, '^', S_hole, "hole", CLR(CLR_BROWN)) - PCHAR( 60, '^', S_trap_door, "trap door", CLR(CLR_BROWN)) - PCHAR( 61, '^', S_teleportation_trap, "teleportation trap", + PCHAR( 56, '^', S_sleeping_gas_trap, "sleeping gas trap", CLR(HI_ZAP)) + PCHAR( 57, '^', S_rust_trap, "rust trap", CLR(CLR_BLUE)) + PCHAR( 58, '^', S_fire_trap, "fire trap", CLR(CLR_ORANGE)) + PCHAR( 59, '^', S_pit, "pit", CLR(CLR_BLACK)) + PCHAR( 60, '^', S_spiked_pit, "spiked pit", CLR(CLR_BLACK)) + PCHAR( 61, '^', S_hole, "hole", CLR(CLR_BROWN)) + PCHAR( 62, '^', S_trap_door, "trap door", CLR(CLR_BROWN)) + PCHAR( 63, '^', S_teleportation_trap, "teleportation trap", CLR(CLR_MAGENTA)) - PCHAR( 62, '^', S_level_teleporter, "level teleporter", CLR(CLR_MAGENTA)) - PCHAR( 63, '^', S_magic_portal, "magic portal", CLR(CLR_BRIGHT_MAGENTA)) - PCHAR( 64, '"', S_web, "web", CLR(CLR_GRAY)) - PCHAR( 65, '^', S_statue_trap, "statue trap", CLR(CLR_GRAY)) - PCHAR( 66, '^', S_magic_trap, "magic trap", CLR(HI_ZAP)) - PCHAR2(67, '^', S_anti_magic_trap, "anti magic trap", "anti-magic field", + PCHAR( 64, '^', S_level_teleporter, "level teleporter", CLR(CLR_MAGENTA)) + PCHAR( 65, '^', S_magic_portal, "magic portal", CLR(CLR_BRIGHT_MAGENTA)) + PCHAR( 66, '"', S_web, "web", CLR(CLR_GRAY)) + PCHAR( 67, '^', S_statue_trap, "statue trap", CLR(CLR_GRAY)) + PCHAR( 68, '^', S_magic_trap, "magic trap", CLR(HI_ZAP)) + PCHAR2(69, '^', S_anti_magic_trap, "anti magic trap", "anti-magic field", CLR(HI_ZAP)) - PCHAR( 68, '^', S_polymorph_trap, "polymorph trap", CLR(CLR_BRIGHT_GREEN)) - PCHAR( 69, '~', S_vibrating_square, "vibrating square", CLR(CLR_MAGENTA)) - PCHAR( 70, '^', S_trapped_door, "trapped door", CLR(CLR_ORANGE)) - PCHAR( 71, '^', S_trapped_chest, "trapped chest", CLR(CLR_ORANGE)) + PCHAR( 70, '^', S_polymorph_trap, "polymorph trap", CLR(CLR_BRIGHT_GREEN)) + PCHAR( 71, '~', S_vibrating_square, "vibrating square", CLR(CLR_MAGENTA)) + PCHAR( 72, '^', S_trapped_door, "trapped door", CLR(CLR_ORANGE)) + PCHAR( 73, '^', S_trapped_chest, "trapped chest", CLR(CLR_ORANGE)) /* end traps */ /* end cmap B */ /* */ @@ -184,22 +186,22 @@ /* */ /* zap colors are changed by reset_glyphmap() to match type of beam */ /* */ - PCHAR2(72, '|', S_vbeam, "vertical beam", "", CLR(CLR_GRAY)) - PCHAR2(73, '-', S_hbeam, "horizontal beam", "", CLR(CLR_GRAY)) - PCHAR2(74, '\\', S_lslant, "left slant beam", "", CLR(CLR_GRAY)) - PCHAR2(75, '/', S_rslant, "right slant beam", "", CLR(CLR_GRAY)) + PCHAR2(74, '|', S_vbeam, "vertical beam", "", CLR(CLR_GRAY)) + PCHAR2(75, '-', S_hbeam, "horizontal beam", "", CLR(CLR_GRAY)) + PCHAR2(76, '\\', S_lslant, "left slant beam", "", CLR(CLR_GRAY)) + PCHAR2(77, '/', S_rslant, "right slant beam", "", CLR(CLR_GRAY)) /* start cmap C */ - PCHAR2(76, '*', S_digbeam, "dig beam", "", CLR(CLR_WHITE)) - PCHAR2(77, '!', S_flashbeam, "flash beam", "", CLR(CLR_WHITE)) - PCHAR2(78, ')', S_boomleft, "boom left", "", CLR(HI_WOOD)) - PCHAR2(79, '(', S_boomright, "boom right", "", CLR(HI_WOOD)) + PCHAR2(78, '*', S_digbeam, "dig beam", "", CLR(CLR_WHITE)) + PCHAR2(79, '!', S_flashbeam, "flash beam", "", CLR(CLR_WHITE)) + PCHAR2(80, ')', S_boomleft, "boom left", "", CLR(HI_WOOD)) + PCHAR2(81, '(', S_boomright, "boom right", "", CLR(HI_WOOD)) /* 4 magic shield symbols */ - PCHAR2(80, '0', S_ss1, "shield1", "", CLR(HI_ZAP)) - PCHAR2(81, '#', S_ss2, "shield2", "", CLR(HI_ZAP)) - PCHAR2(82, '@', S_ss3, "shield3", "", CLR(HI_ZAP)) - PCHAR2(83, '*', S_ss4, "shield4", "", CLR(HI_ZAP)) - PCHAR( 84, '#', S_poisoncloud, "poison cloud", CLR(CLR_BRIGHT_GREEN)) - PCHAR( 85, '?', S_goodpos, "valid position", CLR(CLR_BRIGHT_GREEN)) + PCHAR2(82, '0', S_ss1, "shield1", "", CLR(HI_ZAP)) + PCHAR2(83, '#', S_ss2, "shield2", "", CLR(HI_ZAP)) + PCHAR2(84, '@', S_ss3, "shield3", "", CLR(HI_ZAP)) + PCHAR2(85, '*', S_ss4, "shield4", "", CLR(HI_ZAP)) + PCHAR( 86, '#', S_poisoncloud, "poison cloud", CLR(CLR_BRIGHT_GREEN)) + PCHAR( 87, '?', S_goodpos, "valid position", CLR(CLR_BRIGHT_GREEN)) /* end cmap C */ /* */ /* The 8 swallow symbols. Do NOT separate. */ @@ -213,14 +215,14 @@ /* 4 5 6 */ /* 7 8 9 */ /* */ - PCHAR2(86, '/', S_sw_tl, "swallow top left", "", CLR(CLR_GREEN)) /*1*/ - PCHAR2(87, '-', S_sw_tc, "swallow top center", "", CLR(CLR_GREEN)) /*2*/ - PCHAR2(88, '\\', S_sw_tr, "swallow top right", "", CLR(CLR_GREEN)) /*3*/ - PCHAR2(89, '|', S_sw_ml, "swallow middle left", "", CLR(CLR_GREEN)) /*4*/ - PCHAR2(90, '|', S_sw_mr, "swallow middle right", "", CLR(CLR_GREEN)) /*6*/ - PCHAR2(91, '\\', S_sw_bl, "swallow bottom left", "", CLR(CLR_GREEN)) /*7*/ - PCHAR2(92, '-', S_sw_bc, "swallow bottom center", "", CLR(CLR_GREEN))/*8*/ - PCHAR2(93, '/', S_sw_br, "swallow bottom right", "", CLR(CLR_GREEN)) /*9*/ + PCHAR2(88, '/', S_sw_tl, "swallow top left", "", CLR(CLR_GREEN)) /*1*/ + PCHAR2(89, '-', S_sw_tc, "swallow top center", "", CLR(CLR_GREEN)) /*2*/ + PCHAR2(90, '\\', S_sw_tr, "swallow top right", "", CLR(CLR_GREEN)) /*3*/ + PCHAR2(91, '|', S_sw_ml, "swallow middle left", "", CLR(CLR_GREEN)) /*4*/ + PCHAR2(92, '|', S_sw_mr, "swallow middle right", "", CLR(CLR_GREEN)) /*6*/ + PCHAR2(93, '\\', S_sw_bl, "swallow bottom left", "", CLR(CLR_GREEN)) /*7*/ + PCHAR2(94, '-', S_sw_bc, "swallow bottom center", "", CLR(CLR_GREEN))/*8*/ + PCHAR2(95, '/', S_sw_br, "swallow bottom right", "", CLR(CLR_GREEN)) /*9*/ /* */ /* explosion colors are changed by reset_glyphmap() to match */ /* the type of expl. */ @@ -231,15 +233,15 @@ /* |@| */ /* \-/ */ /* */ - PCHAR2(94, '/', S_expl_tl, "explosion top left", "", CLR(CLR_ORANGE)) - PCHAR2(95, '-', S_expl_tc, "explosion top center", "", CLR(CLR_ORANGE)) - PCHAR2(96, '\\', S_expl_tr, "explosion top right", "", CLR(CLR_ORANGE)) - PCHAR2(97, '|', S_expl_ml, "explosion middle left", "", CLR(CLR_ORANGE)) - PCHAR2(98, ' ', S_expl_mc, "explosion middle center", "", CLR(CLR_ORANGE)) - PCHAR2(99, '|', S_expl_mr, "explosion middle right", "", CLR(CLR_ORANGE)) - PCHAR2(100, '\\', S_expl_bl, "explosion bottom left", "", CLR(CLR_ORANGE)) - PCHAR2(101, '-', S_expl_bc, "explosion bottom center", "", CLR(CLR_ORANGE)) - PCHAR2(102, '/', S_expl_br, "explosion bottom right", "", CLR(CLR_ORANGE)) + PCHAR2(96, '/', S_expl_tl, "explosion top left", "", CLR(CLR_ORANGE)) + PCHAR2(97, '-', S_expl_tc, "explosion top center", "", CLR(CLR_ORANGE)) + PCHAR2(98, '\\', S_expl_tr, "explosion top right", "", CLR(CLR_ORANGE)) + PCHAR2(99, '|', S_expl_ml, "explosion middle left", "", CLR(CLR_ORANGE)) + PCHAR2(100, ' ', S_expl_mc, "explosion middle center", "", CLR(CLR_ORANGE)) + PCHAR2(101, '|', S_expl_mr, "explosion middle right", "", CLR(CLR_ORANGE)) + PCHAR2(102, '\\', S_expl_bl, "explosion bottom left", "", CLR(CLR_ORANGE)) + PCHAR2(103, '-', S_expl_bc, "explosion bottom center", "", CLR(CLR_ORANGE)) + PCHAR2(104, '/', S_expl_br, "explosion bottom right", "", CLR(CLR_ORANGE)) #undef PCHAR #undef PCHAR2 #endif /* PCHAR_S_ENUM || PCHAR_PARSE || PCHAR_DRAWING || PCHAR_TILES */ diff --git a/include/display.h b/include/display.h index 1502f27de..80af8410c 100644 --- a/include/display.h +++ b/include/display.h @@ -630,6 +630,9 @@ enum glyph_offsets { #define trap_to_glyph(trap) \ cmap_to_glyph(trap_to_defsym(((int) (trap)->ttyp))) +#define engraving_to_glyph(ep) \ + cmap_to_glyph(engraving_to_defsym(ep)) + /* Not affected by hallucination. Gives a generic body for CORPSE */ /* MRKR: ...and the generic statue */ #define objnum_to_glyph(onum) ((int) (onum) + GLYPH_OBJ_OFF) diff --git a/include/engrave.h b/include/engrave.h index 380f8227a..0a5e20079 100644 --- a/include/engrave.h +++ b/include/engrave.h @@ -6,11 +6,14 @@ #ifndef ENGRAVE_H #define ENGRAVE_H +enum engraving_texts { actual_text, remembered_text, pristine_text, text_states }; + struct engr { struct engr *nxt_engr; - char *engr_txt; + char *engr_txt[text_states]; coordxy engr_x, engr_y; - unsigned engr_lth; /* for save & restore; not length of text */ + unsigned engr_szeach; /* length of text including trailing NUL */ + unsigned engr_alloc; /* for save & restore; not length of text */ long engr_time; /* moment engraving was (will be) finished */ xint8 engr_type; #define DUST 1 @@ -25,11 +28,15 @@ struct engr { * even when hero isn't (so behaves similarly * to how Elbereth did in 3.4.3) */ Bitfield(nowipeout, 1); /* this engraving will not degrade */ - /* 6 free bits */ + Bitfield(eread, 1); /* the engraving text has been read or felt */ + /* 5 free bits */ }; #define newengr(lth) \ (struct engr *) alloc((unsigned) (lth) + (unsigned) sizeof (struct engr)) #define dealloc_engr(engr) free((genericptr_t) (engr)) +#define engraving_to_defsym(ep) \ + (levl[(ep)->engr_x][(ep)->engr_y].typ == CORR ? S_engrcorr : S_engroom) + #endif /* ENGRAVE_H */ diff --git a/include/extern.h b/include/extern.h index 99ebfb42f..802b564c4 100644 --- a/include/extern.h +++ b/include/extern.h @@ -832,6 +832,9 @@ extern void del_engr(struct engr *); extern void rloc_engr(struct engr *); extern void make_grave(coordxy, coordxy, const char *); extern void disturb_grave(coordxy, coordxy); +extern void map_engraving(struct engr *, int); +extern void see_engraving(struct engr *); +extern void feel_engraving(struct engr *); /* ### exper.c ### */ diff --git a/src/cmd.c b/src/cmd.c index 70fba772b..ca6bf86d8 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -1216,12 +1216,14 @@ wiz_makemap(void) return ECMD_OK; } -/* the #wizmap command - reveal the level map and any traps on it */ +/* the #wizmap command - reveal the level map + and any traps or engravings on it */ static int wiz_map(void) { if (wizard) { struct trap *t; + struct engr *ep; long save_Hconf = HConfusion, save_Hhallu = HHallucination; HConfusion = HHallucination = 0L; @@ -1229,6 +1231,9 @@ wiz_map(void) t->tseen = 1; map_trap(t, TRUE); } + for (ep = head_engr; ep != 0; ep = ep->nxt_engr) { + map_engraving(ep, TRUE); + } do_mapping(); HConfusion = save_Hconf; HHallucination = save_Hhallu; diff --git a/src/detect.c b/src/detect.c index 4ea047240..064d739a3 100644 --- a/src/detect.c +++ b/src/detect.c @@ -1328,6 +1328,7 @@ show_map_spot(coordxy x, coordxy y) { struct rm *lev; struct trap *t; + struct engr *ep; int oldglyph; if (Confusion && rn2(7)) @@ -1359,6 +1360,8 @@ show_map_spot(coordxy x, coordxy y) if (!IS_FURNITURE(lev->typ)) { if ((t = t_at(x, y)) != 0 && t->tseen) { map_trap(t, 1); + } else if ((ep = engr_at(x,y)) != 0) { + map_engraving(ep, 1); } else if (glyph_is_trap(oldglyph) || glyph_is_object(oldglyph)) { show_glyph(x, y, oldglyph); if (gl.level.flags.hero_memory) diff --git a/src/display.c b/src/display.c index 7b91b04e2..aceb94876 100644 --- a/src/display.c +++ b/src/display.c @@ -60,7 +60,7 @@ * * map_background * map_object - * map_trap + * map_trap or map_engraving * map_invisible * unmap_object * @@ -304,6 +304,23 @@ map_trap(register struct trap *trap, register int show) show_glyph(x, y, glyph); } +/* + * map_engraving() + * + * Map the engraving and print it out if directed. + */ +void +map_engraving(struct engr *ep, register int show) +{ + coordxy x = ep->engr_x, y = ep->engr_y; + int glyph = engraving_to_glyph(ep); + + if (gl.level.flags.hero_memory) + levl[x][y].glyph = glyph; + if (show) + show_glyph(x, y, glyph); +} + /* * map_object() * @@ -392,12 +409,15 @@ void unmap_object(register coordxy x, register coordxy y) { register struct trap *trap; + struct engr *ep; if (!gl.level.flags.hero_memory) return; if ((trap = t_at(x, y)) != 0 && trap->tseen && !covers_traps(x, y)) { map_trap(trap, 0); + } else if ((ep = engr_at(x, y)) != 0 && !covers_traps(x, y)) { + map_engraving(ep, 0); } else if (levl[x][y].seenv) { struct rm *lev = &levl[x][y]; @@ -424,11 +444,14 @@ unmap_object(register coordxy x, register coordxy y) { \ register struct obj *obj; \ register struct trap *trap; \ + struct engr *ep; \ \ if ((obj = vobj_at(x, y)) && !covers_objects(x, y)) \ map_object(obj, show); \ else if ((trap = t_at(x, y)) && trap->tseen && !covers_traps(x, y)) \ map_trap(trap, show); \ + else if ((ep = engr_at(x, y)) && !covers_traps(x, y)) \ + map_engraving(ep, show); \ else \ map_background(x, y, show); \ \ diff --git a/src/engrave.c b/src/engrave.c index 6f43656f8..4605f801f 100644 --- a/src/engrave.c +++ b/src/engrave.c @@ -254,7 +254,7 @@ ceiling(coordxy x, coordxy y) struct engr * engr_at(coordxy x, coordxy y) { - register struct engr *ep = head_engr; + struct engr *ep = head_engr; while (ep) { if (x == ep->engr_x && y == ep->engr_y) @@ -277,8 +277,8 @@ sengr_at(const char *s, coordxy x, coordxy y, boolean strict) struct engr *ep = engr_at(x, y); if (ep && ep->engr_type != HEADSTONE && ep->engr_time <= gm.moves) { - if (strict ? !strcmpi(ep->engr_txt, s) - : (strstri(ep->engr_txt, s) != 0)) + if (strict ? !strcmpi(ep->engr_txt[actual_text], s) + : (strstri(ep->engr_txt[actual_text], s) != 0)) return ep; } return (struct engr *) NULL; @@ -304,10 +304,10 @@ wipe_engr_at(coordxy x, coordxy y, xint16 cnt, boolean magical) cnt = rn2(1 + 50 / (cnt + 1)) ? 0 : 1; debugpline1("actually eroding %d characters", cnt); } - wipeout_text(ep->engr_txt, (int) cnt, 0); - while (ep->engr_txt[0] == ' ') - ep->engr_txt++; - if (!ep->engr_txt[0]) + wipeout_text(ep->engr_txt[actual_text], (int) cnt, 0); + while (ep->engr_txt[actual_text][0] == ' ') + ep->engr_txt[actual_text]++; + if (!ep->engr_txt[actual_text][0]) del_engr(ep); } } @@ -322,7 +322,7 @@ read_engr_at(coordxy x, coordxy y) /* Sensing an engraving does not require sight, * nor does it necessarily imply comprehension (literacy). */ - if (ep && ep->engr_txt[0]) { + if (ep && ep->engr_txt[actual_text][0]) { switch (ep->engr_type) { case DUST: if (!Blind) { @@ -373,14 +373,16 @@ read_engr_at(coordxy x, coordxy y) /* sizeof "literal" counts terminating \0 */ - sizeof "You feel the words: \"\"."); - if ((int) strlen(ep->engr_txt) > maxelen) { - (void) strncpy(buf, ep->engr_txt, maxelen); + if ((int) strlen(ep->engr_txt[actual_text]) > maxelen) { + (void) strncpy(buf, ep->engr_txt[actual_text], maxelen); buf[maxelen] = '\0'; et = buf; } else { - et = ep->engr_txt; + et = ep->engr_txt[actual_text]; } You("%s: \"%s\".", (Blind) ? "feel the words" : "read", et); + Strcpy(ep->engr_txt[remembered_text], ep->engr_txt[actual_text]); + ep->eread = 1; if (gc.context.run > 0) nomul(0); } @@ -390,19 +392,24 @@ read_engr_at(coordxy x, coordxy y) void make_engr_at(coordxy x, coordxy y, const char *s, long e_time, xint16 e_type) { + int i; struct engr *ep; unsigned smem = Strlen(s) + 1; if ((ep = engr_at(x, y)) != 0) del_engr(ep); - ep = newengr(smem); - (void) memset((genericptr_t) ep, 0, smem + sizeof (struct engr)); + + ep = newengr(smem * 3); + (void) memset((genericptr_t) ep, 0, (smem * 3) + sizeof (struct engr)); ep->nxt_engr = head_engr; head_engr = ep; ep->engr_x = x; ep->engr_y = y; - ep->engr_txt = (char *) (ep + 1); - Strcpy(ep->engr_txt, s); + ep->engr_txt[actual_text] = (char *) (ep + 1); + ep->engr_txt[remembered_text] = ep->engr_txt[actual_text] + smem; + ep->engr_txt[pristine_text] = ep->engr_txt[remembered_text] + smem; + for(i = 0; i < text_states; ++i) + Strcpy(ep->engr_txt[i], s); if (!strcmp(s, "Elbereth")) { /* engraving "Elbereth": if done when making a level, it creates an old-style Elbereth that deters monsters when any objects are @@ -414,7 +421,9 @@ make_engr_at(coordxy x, coordxy y, const char *s, long e_time, xint16 e_type) } ep->engr_time = e_time; ep->engr_type = e_type > 0 ? e_type : rnd(N_ENGRAVE - 1); - ep->engr_lth = smem; + ep->engr_szeach = smem; + ep->engr_alloc = smem * 3; + /* we do not set ep->eread; the caller will need to if required */ } /* delete any engraving at location */ @@ -536,6 +545,8 @@ doengrave(void) boolean ptext = TRUE; /* TRUE if we must prompt for engrave text */ boolean teleengr = FALSE; /* TRUE if we move the old engraving */ boolean zapwand = FALSE; /* TRUE if we remove a wand charge */ + boolean disprefresh = FALSE; /* TRUE if the display needs a refresh */ + xint16 type = DUST; /* Type of engraving made */ xint16 oetype = 0; /* will be set to type of current engraving */ char buf[BUFSZ]; /* Buffer for final/poly engraving text */ @@ -937,17 +948,28 @@ doengrave(void) } if (teleengr) { rloc_engr(oep); + oep->eread = 0; + disprefresh = TRUE; oep = (struct engr *) 0; } if (dengr) { del_engr(oep); oep = (struct engr *) 0; + disprefresh = TRUE; } /* Something has changed the engraving here */ if (*buf) { + struct engr *tmp_ep; + make_engr_at(u.ux, u.uy, buf, gm.moves, type); - if (!Blind) - pline_The("engraving now reads: \"%s\".", buf); + tmp_ep = engr_at(u.ux, u.uy); + if (!Blind) { + if (tmp_ep != 0) { + pline_The("engraving now reads: \"%s\".", buf); + tmp_ep->eread = 1; + disprefresh = TRUE; + } + } ptext = FALSE; } if (zapwand && (otmp->spe < 0)) { @@ -965,6 +987,8 @@ doengrave(void) if (!ptext) { if (otmp && otmp->oclass == WAND_CLASS && !can_reach_floor(TRUE)) cant_reach_floor(u.ux, u.uy, FALSE, TRUE); + if (disprefresh) + newsym(u.ux, u.uy); return ECMD_TIME; } /* @@ -1004,6 +1028,7 @@ doengrave(void) : "written"); del_engr(oep); oep = (struct engr *) 0; + disprefresh = TRUE; } else { /* defer deletion until after we *know* we're engraving */ eow = TRUE; @@ -1020,7 +1045,7 @@ doengrave(void) You("will overwrite the current message."); eow = TRUE; } - } else if (oep && (int) strlen(oep->engr_txt) >= BUFSZ - 1) { + } else if (oep && (int) strlen(oep->engr_txt[actual_text]) >= BUFSZ - 1) { There("is no room to add anything else here."); return ECMD_TIME; } @@ -1107,6 +1132,7 @@ doengrave(void) if (eow) { del_engr(oep); oep = (struct engr *) 0; + disprefresh = TRUE; } Strcpy(gc.context.engraving.text, ebuf); @@ -1129,6 +1155,8 @@ doengrave(void) /* Engraving will always take at least one action via being run as an * occupation, so do not count this setup as taking time. */ + if (disprefresh) + newsym(u.ux, u.uy); return ECMD_OK; } @@ -1144,6 +1172,7 @@ engrave(void) boolean firsttime = (gc.context.engraving.actionct == 0); int rate = 10; /* # characters that can be engraved in this action */ boolean truncate = FALSE; + boolean neweng = (gc.context.engraving.actionct == 0); boolean carving = (gc.context.engraving.type == ENGRAVE || gc.context.engraving.type == HEADSTONE); @@ -1282,7 +1311,7 @@ engrave(void) buf[0] = '\0'; oep = engr_at(u.ux, u.uy); if (oep) /* add to existing engraving */ - Strcpy(buf, oep->engr_txt); + Strcpy(buf, oep->engr_txt[actual_text]); space_left = (int) (sizeof buf - strlen(buf) - 1U); if (endc - gc.context.engraving.nextc > space_left) { @@ -1305,9 +1334,15 @@ engrave(void) (void) strncat(buf, gc.context.engraving.nextc, min(space_left, endc - gc.context.engraving.nextc)); make_engr_at(u.ux, u.uy, buf, gm.moves - gm.multi, gc.context.engraving.type); + oep = engr_at(u.ux, u.uy); + if (oep) + oep->eread = 1; if (*endc) { gc.context.engraving.nextc = endc; + if (neweng) { + newsym(gc.context.engraving.pos.x, gc.context.engraving.pos.y); + } return 1; /* not yet finished this turn */ } else { /* finished engraving */ /* actions that happen after the engraving is finished go here */ @@ -1324,6 +1359,8 @@ engrave(void) gc.context.engraving.nextc = (char *) 0; gc.context.engraving.stylus = (struct obj *) 0; } + if (neweng) + newsym(gc.context.engraving.pos.x, gc.context.engraving.pos.y); return 0; } @@ -1335,7 +1372,7 @@ sanitize_engravings(void) struct engr *ep; for (ep = head_engr; ep; ep = ep->nxt_engr) { - sanitize_name(ep->engr_txt); + sanitize_name(ep->engr_txt[actual_text]); } } @@ -1347,12 +1384,13 @@ save_engravings(NHFILE *nhfp) for (ep = head_engr; ep; ep = ep2) { ep2 = ep->nxt_engr; - if (ep->engr_lth && ep->engr_txt[0] && perform_bwrite(nhfp)) { + if (ep->engr_alloc + && ep->engr_txt[actual_text][0] && perform_bwrite(nhfp)) { if (nhfp->structlevel) { - bwrite(nhfp->fd, (genericptr_t)&(ep->engr_lth), - sizeof ep->engr_lth); + bwrite(nhfp->fd, (genericptr_t)&(ep->engr_alloc), + sizeof ep->engr_alloc); bwrite(nhfp->fd, (genericptr_t)ep, - sizeof (struct engr) + ep->engr_lth); + sizeof (struct engr) + ep->engr_alloc); } } if (release_data(nhfp)) @@ -1385,7 +1423,13 @@ rest_engravings(NHFILE *nhfp) } ep->nxt_engr = head_engr; head_engr = ep; - ep->engr_txt = (char *) (ep + 1); /* Andreas Bormann */ + ep->engr_txt[actual_text] = (char *) (ep + 1); /* Andreas Bormann */ + ep->engr_txt[remembered_text] = ep->engr_txt[actual_text] + ep->engr_szeach; + ep->engr_txt[pristine_text] = ep->engr_txt[remembered_text] + ep->engr_szeach; + while (ep->engr_txt[actual_text][0] == ' ') + ep->engr_txt[actual_text]++; + while (ep->engr_txt[remembered_text][0] == ' ') + ep->engr_txt[remembered_text]++; /* mark as finished for bones levels -- no problem for * normal levels as the player must have finished engraving * to be able to move again */ @@ -1409,7 +1453,7 @@ engr_stats( *count = *size = 0L; for (ep = head_engr; ep; ep = ep->nxt_engr) { ++*count; - *size += (long) sizeof *ep + (long) ep->engr_lth; + *size += (long) sizeof *ep + (long) ep->engr_alloc; } } @@ -1451,6 +1495,7 @@ rloc_engr(struct engr *ep) ep->engr_x = tx; ep->engr_y = ty; + newsym(tx, ty); /* caller took care of the old location */ } /* Create a headstone at the given location. @@ -1493,6 +1538,23 @@ disturb_grave(coordxy x, coordxy y) } } +void +see_engraving(struct engr *ep) +{ + newsym(ep->engr_x, ep->engr_y); +} + +/* like see_engravings() but overrides vision, but + only for some types of engravings that can be felt */ +void +feel_engraving(struct engr *ep) +{ + ep->eread = 1; + map_engraving(ep, 1); + /* in case it's beneath something, redisplay the something */ + newsym(ep->engr_x, ep->engr_y); +} + static const char blind_writing[][21] = { {0x44, 0x66, 0x6d, 0x69, 0x62, 0x65, 0x22, 0x45, 0x7b, 0x71, 0x65, 0x6d, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, diff --git a/src/pager.c b/src/pager.c index 784f4d442..a2d314ece 100644 --- a/src/pager.c +++ b/src/pager.c @@ -43,6 +43,7 @@ static void domenucontrols(void); extern void port_help(void); #endif static char *setopt_cmd(char *); +static boolean add_quoted_engraving(coordxy, coordxy, char *); static const char invisexplain[] = "remembered, unseen, creature", altinvisexplain[] = "unseen creature"; /* for clairvoyance */ @@ -653,6 +654,10 @@ lookat(coordxy x, coordxy y, char *buf, char *monbuf) case S_ice: /* for hallucination; otherwise defsyms[] would be fine */ Strcpy(buf, waterbody_name(x, y)); break; + case S_engroom: + case S_engrcorr: + Strcpy(buf, "engraving"); + break; case S_stone: if (!levl[x][y].seenv) { Strcpy(buf, "unexplored"); @@ -1266,6 +1271,12 @@ do_screen_description(coord cc, boolean looked, int sym, char *out_str, : !(alt_i == S_stone || strcmp(x_str, "air") == 0 || strcmp(x_str, "land") == 0); + + if (alt_i == S_engroom || alt_i == S_engrcorr) { + article = 1; + x_str = "engraving"; + need_to_look = TRUE; + } found = add_cmap_descr(found, alt_i, glyph, article, cc, x_str, prefix, &hit_trap, firstmatch, out_str); @@ -1393,9 +1404,11 @@ do_screen_description(coord cc, boolean looked, int sym, char *out_str, if (look_buf[0] != '\0') *firstmatch = look_buf; if (*(*firstmatch)) { - Snprintf(temp_buf, sizeof temp_buf, " (%s)", *firstmatch); - (void) strncat(out_str, temp_buf, - BUFSZ - strlen(out_str) - 1); + if (strncmp(look_buf, "engraving", 9) != 0) { + Snprintf(temp_buf, sizeof temp_buf, " (%s)", *firstmatch); + (void) strncat(out_str, temp_buf, + BUFSZ - strlen(out_str) - 1); + } found = 1; /* we have something to look up */ } if (monbuf[0]) { @@ -1409,6 +1422,24 @@ do_screen_description(coord cc, boolean looked, int sym, char *out_str, return found; } +static boolean +add_quoted_engraving(coordxy x, coordxy y, char *buf) +{ + char temp_buf[BUFSZ]; + struct engr *ep = engr_at(x, y); + + if (ep) { + if (ep->eread) + Snprintf(temp_buf, sizeof temp_buf, " with remembered text: \"%s\"", + ep->engr_txt[remembered_text]); + else + Snprintf(temp_buf, sizeof temp_buf, " that you've never read"); + (void) strncat(buf, temp_buf, BUFSZ - strlen(buf) - 1); + return TRUE; + } + return FALSE; +} + /* also used by getpos hack in do_name.c */ const char what_is_an_unknown_object[] = "an unknown object"; @@ -1604,6 +1635,18 @@ do_look(int mode, coord *click_cc) /* Finally, print out our explanation. */ if (found) { + if (ans != LOOK_QUICK && ans != LOOK_ONCE + && (ans == LOOK_VERBOSE || (flags.help && !quick)) + && !clicklook + && !strncmp(firstmatch, "engraving", 9)) { + char engbuf[BUFSZ]; + + engbuf[0] = '\0'; + if (add_quoted_engraving(cc.x, cc.y, engbuf)) { + Snprintf(eos(out_str), BUFSZ - strlen(out_str) - 1, + engbuf); + } + } /* use putmixed() because there may be an encoded glyph present */ putmixed(WIN_MESSAGE, 0, out_str); #ifdef DUMPLOG diff --git a/win/share/other.txt b/win/share/other.txt index 55726672b..0aa076e03 100644 --- a/win/share/other.txt +++ b/win/share/other.txt @@ -429,7 +429,26 @@ Z = (195, 195, 195) .A.A.A.A.A.A.A.A A.A.A.A.A.A.A.A. } -# tile 21 (corridor) +# tile 21 (engraved part of a room) +{ + ................ + ................ + ...E...E........ + ....E...E....... + .........E..E... + ..........E..... + ................ + .......PP....... + .......PP....... + ................ + ................ + ................ + ................ + ................ + ................ + ................ +} +# tile 22 (corridor) { ................ ................ @@ -448,7 +467,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 22 (lit corridor) +# tile 23 (lit corridor) { ................ ................ @@ -467,7 +486,26 @@ Z = (195, 195, 195) ................ ................ } -# tile 23 (staircase up) +# tile 24 (engraved part of a corridor) +{ + ................ + ...E...E........ + ....E...E....... + .........E..E... + ..........E..... + ................ + .......PP....... + ......PPPP...... + ......PPPP...... + .......PP....... + ................ + ................ + ................ + ................ + ................ + ................ +} +# tile 25 (staircase up) { AAAAAAAAAAAAAA.A AADJJJJJJJJJDA.A @@ -486,7 +524,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 24 (staircase down) +# tile 26 (staircase down) { AAAAAAAAAAAAAA.A AADJJJJJJJJJDA.A @@ -505,7 +543,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 25 (ladder up) +# tile 27 (ladder up) { ADAAAAAAAAAAAD.A AADAAAANAAAADA.A @@ -524,7 +562,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 26 (ladder down) +# tile 28 (ladder down) { ADAAAAAAAAAAAD.A AADAAAANAAAADA.A @@ -543,7 +581,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 27 (branch staircase up) +# tile 29 (branch staircase up) { AAAAAAAAAAAAAA.A AADJJJJJJJJJDA.A @@ -562,7 +600,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 28 (branch staircase down) +# tile 30 (branch staircase down) { AAAAAAAAAAAAAA.A AADJJJJJJJJJDA.A @@ -581,7 +619,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 29 (branch ladder up) +# tile 31 (branch ladder up) { ADAAAAAAAAAAAD.A AADAAAAHAAAADA.A @@ -600,7 +638,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 30 (branch ladder down) +# tile 32 (branch ladder down) { ADAAAAAAAAAAAD.A AADAAAAHAAAADA.A @@ -619,7 +657,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAA.A AAAAAAAAAAAAAAAA } -# tile 31 (unaligned altar) +# tile 33 (unaligned altar) { ................ ................ @@ -638,7 +676,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 32 (chaotic altar) +# tile 34 (chaotic altar) { ................ ................ @@ -657,7 +695,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 33 (neutral altar) +# tile 35 (neutral altar) { ................ ................ @@ -676,7 +714,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 34 (lawful altar) +# tile 36 (lawful altar) { ................ ................ @@ -695,7 +733,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 35 (other altar) +# tile 37 (other altar) { ................ ................ @@ -714,7 +752,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 36 (grave) +# tile 38 (grave) { ................ ................ @@ -733,7 +771,7 @@ Z = (195, 195, 195) FFFFFFFFFFFFFFF. ................ } -# tile 37 (throne) +# tile 39 (throne) { ................ .....HHHHH...... @@ -752,7 +790,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 38 (sink) +# tile 40 (sink) { ................ ................ @@ -771,7 +809,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 39 (fountain) +# tile 41 (fountain) { ....E....E...... ..EEEE..EEE..... @@ -790,7 +828,7 @@ Z = (195, 195, 195) ....AAAAAAAAA... ................ } -# tile 40 (pool) +# tile 42 (pool) { ..........NNN... .EEEE....NE.EN.. @@ -809,7 +847,7 @@ Z = (195, 195, 195) .E..EE...E..EEE. EE....EEE.....EE } -# tile 41 (ice) +# tile 43 (ice) { NNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNN @@ -828,7 +866,7 @@ Z = (195, 195, 195) NNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNN } -# tile 42 (molten lava) +# tile 44 (molten lava) { DDDDDDCDDDDDDDDD DDDDDCDKDDDDDDDD @@ -847,7 +885,7 @@ Z = (195, 195, 195) DDDDKKDDDDCDDDDD DDDDDDDDDDDKDDDD } -# tile 43 (wall of lava) +# tile 45 (wall of lava) { DDDDDDCDDDDDDDDD DDDDDCHKDDCDDDDD @@ -866,7 +904,7 @@ Z = (195, 195, 195) DDDDHKDHCDCDHDDD DDDDDDDDDDDKDDDD } -# tile 44 (vertical open drawbridge) +# tile 46 (vertical open drawbridge) { EKKAKKKKKKKAKKAE EJKKKKKKKKKKKJAA @@ -885,7 +923,7 @@ Z = (195, 195, 195) EEJJJJJJJJJJJAAA EJKKKKKKKKKKKJAA } -# tile 45 (horizontal open drawbridge) +# tile 47 (horizontal open drawbridge) { EEEEEEEEEEEEEEEE JEJKJEJKJEJKJEJK @@ -904,7 +942,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAAAA AAAEAAAEAAAEAAAE } -# tile 46 (vertical closed drawbridge) +# tile 48 (vertical closed drawbridge) { ................ ..JKJ.JKJ.JKJ... @@ -923,7 +961,7 @@ Z = (195, 195, 195) ...AAA.AAA.AAA.. ................ } -# tile 47 (horizontal closed drawbridge) +# tile 49 (horizontal closed drawbridge) { ................ ..JJJJJJJJJJJ... @@ -942,7 +980,7 @@ Z = (195, 195, 195) ...AAAAAAAAAAA.. ................ } -# tile 48 (air) +# tile 50 (air) { BBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBB @@ -961,7 +999,7 @@ Z = (195, 195, 195) BBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBB } -# tile 49 (cloud) +# tile 51 (cloud) { BBBBBBBBBBBBBBBB BBBBBNNNNNNNBBBB @@ -980,7 +1018,7 @@ Z = (195, 195, 195) BBBBBBOOOOBBBBBB BBBBBBBBBBBBBBBB } -# tile 50 (water) +# tile 52 (water) { EEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEE @@ -999,7 +1037,7 @@ Z = (195, 195, 195) EEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEE } -# tile 51 (arrow trap) +# tile 53 (arrow trap) { ................ .....DDDDD...... @@ -1018,7 +1056,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 52 (dart trap) +# tile 54 (dart trap) { ................ .....DDDDD...... @@ -1037,7 +1075,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 53 (falling rock trap) +# tile 55 (falling rock trap) { ................ .....DDDDD...... @@ -1056,7 +1094,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 54 (squeaky board) +# tile 56 (squeaky board) { ................ .....DDDDD...... @@ -1075,7 +1113,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 55 (bear trap) +# tile 57 (bear trap) { ................ .....DDDDD...... @@ -1094,7 +1132,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 56 (land mine) +# tile 58 (land mine) { ................ .....DDDDD...... @@ -1113,7 +1151,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 57 (rolling boulder trap) +# tile 59 (rolling boulder trap) { ................ .....DDDDD...... @@ -1132,7 +1170,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 58 (sleeping gas trap) +# tile 60 (sleeping gas trap) { ................ .....DDDDD...... @@ -1151,7 +1189,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 59 (rust trap) +# tile 61 (rust trap) { ................ .....DDDDD...... @@ -1170,7 +1208,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 60 (fire trap) +# tile 62 (fire trap) { ................ .....DDDDD...... @@ -1189,7 +1227,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 61 (pit) +# tile 63 (pit) { AAAAAAAAAAAAAAAA A.AAAAAAAAAAAABA @@ -1208,7 +1246,7 @@ Z = (195, 195, 195) A.PPPPPPPPPPPPPA AAAAAAAAAAAAAAAA } -# tile 62 (spiked pit) +# tile 64 (spiked pit) { AAAAAAAAAAAAAAAA A.AAAAAAAAAAAABA @@ -1227,7 +1265,7 @@ Z = (195, 195, 195) A.PPPPPPPPPPPPPA AAAAAAAAAAAAAAAA } -# tile 63 (hole) +# tile 65 (hole) { ................ ......AAAA...... @@ -1246,7 +1284,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 64 (trap door) +# tile 66 (trap door) { AAAAAAAAAAAAAAAA A.AAAAAAAAAAAABA @@ -1265,7 +1303,7 @@ Z = (195, 195, 195) A.PPPPPPPPPPPPPA AAAAAAAAAAAAAAAA } -# tile 65 (teleportation trap) +# tile 67 (teleportation trap) { ................ .....DDDDD...... @@ -1284,7 +1322,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 66 (level teleporter) +# tile 68 (level teleporter) { ................ .....DDADD...... @@ -1303,7 +1341,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 67 (magic portal) +# tile 69 (magic portal) { ................ .....DDDDD...... @@ -1322,7 +1360,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 68 (web) +# tile 70 (web) { OAOA.OA...O....O .O.NNNN.NOA..OOA @@ -1341,7 +1379,7 @@ Z = (195, 195, 195) .OA............. OA.............. } -# tile 69 (statue trap) +# tile 71 (statue trap) { ................ .....DDDDD...... @@ -1360,7 +1398,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 70 (magic trap) +# tile 72 (magic trap) { ................ .....DDDDD...... @@ -1379,7 +1417,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 71 (anti-magic field) +# tile 73 (anti-magic field) { ................ ......DDDDD..... @@ -1398,7 +1436,7 @@ Z = (195, 195, 195) .....AAAAA...... ................ } -# tile 72 (polymorph trap) +# tile 74 (polymorph trap) { ................ .....DDDDD...... @@ -1417,7 +1455,7 @@ Z = (195, 195, 195) ......AAAAA..... ................ } -# tile 73 (vibrating square) +# tile 75 (vibrating square) { ................ ................ @@ -1436,7 +1474,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 74 (trapped door) +# tile 76 (trapped door) { AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA @@ -1455,7 +1493,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA } -# tile 75 (trapped chest) +# tile 77 (trapped chest) { ................ ................ @@ -1474,7 +1512,7 @@ Z = (195, 195, 195) CKKKKKKKKKKJAA.. .NAAAAAAAAAAA... } -# tile 76 (missile zap 1 0) +# tile 78 (missile zap 1 0) { .......II....... ......IIII...... @@ -1493,7 +1531,7 @@ Z = (195, 195, 195) ......IIII...... .......II....... } -# tile 77 (missile zap 1 1) +# tile 79 (missile zap 1 1) { ................ ................ @@ -1512,7 +1550,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 78 (missile zap 1 2) +# tile 80 (missile zap 1 2) { III............. IIII............ @@ -1531,7 +1569,7 @@ Z = (195, 195, 195) ............IIII .............III } -# tile 79 (missile zap 1 3) +# tile 81 (missile zap 1 3) { .............III ............IIII @@ -1550,7 +1588,7 @@ Z = (195, 195, 195) IIII............ III............. } -# tile 80 (fire zap 2 0) +# tile 82 (fire zap 2 0) { .......CC....... ......CCCC...... @@ -1569,7 +1607,7 @@ Z = (195, 195, 195) ......CCCC...... .......CC....... } -# tile 81 (fire zap 2 1) +# tile 83 (fire zap 2 1) { ................ ................ @@ -1588,7 +1626,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 82 (fire zap 2 2) +# tile 84 (fire zap 2 2) { CCC............. CCCC............ @@ -1607,7 +1645,7 @@ Z = (195, 195, 195) ............CCCC .............CCC } -# tile 83 (fire zap 2 3) +# tile 85 (fire zap 2 3) { .............CCC ............CCCC @@ -1626,7 +1664,7 @@ Z = (195, 195, 195) CCCC............ CCC............. } -# tile 84 (frost zap 3 0) +# tile 86 (frost zap 3 0) { .......NN....... ......NNNN...... @@ -1645,7 +1683,7 @@ Z = (195, 195, 195) ......NNNN...... .......NN....... } -# tile 85 (frost zap 3 1) +# tile 87 (frost zap 3 1) { ................ ................ @@ -1664,7 +1702,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 86 (frost zap 3 2) +# tile 88 (frost zap 3 2) { NNN............. NNNN............ @@ -1683,7 +1721,7 @@ Z = (195, 195, 195) ............NNNN .............NNN } -# tile 87 (frost zap 3 3) +# tile 89 (frost zap 3 3) { .............NNN ............NNNN @@ -1702,7 +1740,7 @@ Z = (195, 195, 195) NNNN............ NNN............. } -# tile 88 (sleep zap 4 0) +# tile 90 (sleep zap 4 0) { .......BB....... ......BBBB...... @@ -1721,7 +1759,7 @@ Z = (195, 195, 195) ......BBBB...... .......BB....... } -# tile 89 (sleep zap 4 1) +# tile 91 (sleep zap 4 1) { ................ ................ @@ -1740,7 +1778,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 90 (sleep zap 4 2) +# tile 92 (sleep zap 4 2) { BBB............. BBBB............ @@ -1759,7 +1797,7 @@ Z = (195, 195, 195) ............BBBB .............BBB } -# tile 91 (sleep zap 4 3) +# tile 93 (sleep zap 4 3) { .............BBB ............BBBB @@ -1778,7 +1816,7 @@ Z = (195, 195, 195) BBBB............ BBB............. } -# tile 92 (death zap 5 0) +# tile 94 (death zap 5 0) { .......AA....... ......AAAA...... @@ -1797,7 +1835,7 @@ Z = (195, 195, 195) ......AAAA...... .......AA....... } -# tile 93 (death zap 5 1) +# tile 95 (death zap 5 1) { ................ ................ @@ -1816,7 +1854,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 94 (death zap 5 2) +# tile 96 (death zap 5 2) { AAA............. AAAA............ @@ -1835,7 +1873,7 @@ Z = (195, 195, 195) ............AAAA .............AAA } -# tile 95 (death zap 5 3) +# tile 97 (death zap 5 3) { .............AAA ............AAAA @@ -1854,7 +1892,7 @@ Z = (195, 195, 195) AAAA............ AAA............. } -# tile 96 (lightning zap 6 0) +# tile 98 (lightning zap 6 0) { .......NN....... ......NNNN...... @@ -1873,7 +1911,7 @@ Z = (195, 195, 195) ......NNNN...... .......NN....... } -# tile 97 (lightning zap 6 1) +# tile 99 (lightning zap 6 1) { ................ ................ @@ -1892,7 +1930,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 98 (lightning zap 6 2) +# tile 100 (lightning zap 6 2) { NNN............. NNNN............ @@ -1911,7 +1949,7 @@ Z = (195, 195, 195) ............NNNN .............NNN } -# tile 99 (lightning zap 6 3) +# tile 101 (lightning zap 6 3) { .............NNN ............NNNN @@ -1930,7 +1968,7 @@ Z = (195, 195, 195) NNNN............ NNN............. } -# tile 100 (poison gas zap 7 0) +# tile 102 (poison gas zap 7 0) { .......FF....... ......FFFF...... @@ -1949,7 +1987,7 @@ Z = (195, 195, 195) ......FFFF...... .......FF....... } -# tile 101 (poison gas zap 7 1) +# tile 103 (poison gas zap 7 1) { ................ ................ @@ -1968,7 +2006,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 102 (poison gas zap 7 2) +# tile 104 (poison gas zap 7 2) { FFF............. FFFF............ @@ -1987,7 +2025,7 @@ Z = (195, 195, 195) ............FFFF .............FFF } -# tile 103 (poison gas zap 7 3) +# tile 105 (poison gas zap 7 3) { .............FFF ............FFFF @@ -2006,7 +2044,7 @@ Z = (195, 195, 195) FFFF............ FFF............. } -# tile 104 (acid zap 8 0) +# tile 106 (acid zap 8 0) { .......GG....... ......GGGG...... @@ -2025,7 +2063,7 @@ Z = (195, 195, 195) ......GGGG...... .......GG....... } -# tile 105 (acid zap 8 1) +# tile 107 (acid zap 8 1) { ................ ................ @@ -2044,7 +2082,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 106 (acid zap 8 2) +# tile 108 (acid zap 8 2) { GGG............. GGGG............ @@ -2063,7 +2101,7 @@ Z = (195, 195, 195) ............GGGG .............GGG } -# tile 107 (acid zap 8 3) +# tile 109 (acid zap 8 3) { .............GGG ............GGGG @@ -2082,7 +2120,7 @@ Z = (195, 195, 195) GGGG............ GGG............. } -# tile 108 (dig beam) +# tile 110 (dig beam) { ....AAAA........ ..A....AA..AA... @@ -2101,7 +2139,7 @@ Z = (195, 195, 195) ....AA....AAA... ................ } -# tile 109 (flash beam) +# tile 111 (flash beam) { ................ .....NNNNNN..... @@ -2120,7 +2158,7 @@ Z = (195, 195, 195) .....NNNNNN..... ................ } -# tile 110 (boom left) +# tile 112 (boom left) { ................ ................ @@ -2139,7 +2177,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 111 (boom right) +# tile 113 (boom right) { ................ ................ @@ -2158,7 +2196,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 112 (shield1) +# tile 114 (shield1) { ................ .....I....I..... @@ -2177,7 +2215,7 @@ Z = (195, 195, 195) .....I....I..... ................ } -# tile 113 (shield2) +# tile 115 (shield2) { ................ .CCCCCCCCCCCCCCC @@ -2196,7 +2234,7 @@ Z = (195, 195, 195) .CCCCCCCCCCCCCC. ................ } -# tile 114 (shield3) +# tile 116 (shield3) { .......HH....... .......HH....... @@ -2215,7 +2253,7 @@ Z = (195, 195, 195) .......HH....... .......HH....... } -# tile 115 (shield4) +# tile 117 (shield4) { ................ ......NNNNN..... @@ -2234,7 +2272,7 @@ Z = (195, 195, 195) .....NNNNN...... ................ } -# tile 116 (poison cloud) +# tile 118 (poison cloud) { BBBBBBBBBBBBBBBB BBBBBFFFFFFFBBBB @@ -2253,7 +2291,7 @@ Z = (195, 195, 195) BBBBBBGGGGBBBBBB BBBBBBBBBBBBBBBB } -# tile 117 (valid position) +# tile 119 (valid position) { ................ ................ @@ -2272,7 +2310,7 @@ Z = (195, 195, 195) .......FF....... ................ } -# tile 118 (swallow top left) +# tile 120 (swallow top left) { AAAAAAADDDDDDAAA AAAAADDDDDDDDDDD @@ -2291,7 +2329,7 @@ Z = (195, 195, 195) AAAADDDDDD...... AAAADDDDDD...... } -# tile 119 (swallow top center) +# tile 121 (swallow top center) { AAAAAAAAAAAAAAAA DDAAAAAAAAAAAAAA @@ -2310,7 +2348,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 120 (swallow top right) +# tile 122 (swallow top right) { AAAAAAAAAAAAAAAA AAADDDDDAAAAAAAA @@ -2329,7 +2367,7 @@ Z = (195, 195, 195) ....DDDDDDDDDDDD ....DDDDDDDDDDDA } -# tile 121 (swallow middle left) +# tile 123 (swallow middle left) { AAAADDDDDD...... AAAADDDDDDD..... @@ -2348,7 +2386,7 @@ Z = (195, 195, 195) DDDDDDD......... DDCCDDD......... } -# tile 122 (swallow middle right) +# tile 124 (swallow middle right) { ....DDDDDDDDDDDA ....DDDDDDDDDDDA @@ -2367,7 +2405,7 @@ Z = (195, 195, 195) ......DDDDDDDDAA .......DDDDDDDAA } -# tile 123 (swallow bottom left) +# tile 125 (swallow bottom left) { DDDCDDD......... DDDCDDD......... @@ -2386,7 +2424,7 @@ Z = (195, 195, 195) AAAAAAAAAAAADDDD AAAAAAAAAAAAAADD } -# tile 124 (swallow bottom center) +# tile 126 (swallow bottom center) { ................ ................ @@ -2405,7 +2443,7 @@ Z = (195, 195, 195) DDDDDDDDDDDDDDDD DDDDDDDDDDDDDDAA } -# tile 125 (swallow bottom right) +# tile 127 (swallow bottom right) { ......DDDDDDDDAA ......DDDDDDDDDA @@ -2424,7 +2462,7 @@ Z = (195, 195, 195) DDAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA } -# tile 126 (explosion dark top left) +# tile 128 (explosion dark top left) { ................ ................ @@ -2443,7 +2481,7 @@ Z = (195, 195, 195) ..AAAA..AAAA.... ..AAA..AAAAA.... } -# tile 127 (explosion dark top center) +# tile 129 (explosion dark top center) { ................ ................ @@ -2462,7 +2500,7 @@ Z = (195, 195, 195) ........A.A.APAA .PA...APAAAAAAAA } -# tile 128 (explosion dark top right) +# tile 130 (explosion dark top right) { ................ ................ @@ -2481,7 +2519,7 @@ Z = (195, 195, 195) AA.A..A.AAAA.... A.AA..A.AAAAA... } -# tile 129 (explosion dark middle left) +# tile 131 (explosion dark middle left) { ..AAA.A.AAA..... ..AAA.AAAAA.AP.. @@ -2500,7 +2538,7 @@ Z = (195, 195, 195) ..A.A...AAP...PA ....A.........PA } -# tile 130 (explosion dark middle center) +# tile 132 (explosion dark middle center) { APAAA..PPAPAAAAA .APA..A.AAAPAAA. @@ -2519,7 +2557,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAA.AA AAAAAAAAAAA.HH.. } -# tile 131 (explosion dark middle right) +# tile 133 (explosion dark middle right) { ..AAA.A.A.AAAA.. ..AAAAA.A.AAAA.. @@ -2538,7 +2576,7 @@ Z = (195, 195, 195) AAA...AAAAAAA... ....PPAAAAAAAA.. } -# tile 132 (explosion dark bottom left) +# tile 134 (explosion dark bottom left) { ....A.......A..P ....A.......AA.. @@ -2557,7 +2595,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 133 (explosion dark bottom center) +# tile 135 (explosion dark bottom center) { PPPAAAAAPAAA.A.. AAPPAAPPPPA.A... @@ -2576,7 +2614,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 134 (explosion dark bottom right) +# tile 136 (explosion dark bottom right) { ....P..AAAAAAA.. ..A..A.AA.A.AA.. @@ -2595,7 +2633,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 135 (explosion noxious top left) +# tile 137 (explosion noxious top left) { ................ ................ @@ -2614,7 +2652,7 @@ Z = (195, 195, 195) ..FFFF..FFFF.... ..FFF..FFFFF.... } -# tile 136 (explosion noxious top center) +# tile 138 (explosion noxious top center) { ................ ................ @@ -2633,7 +2671,7 @@ Z = (195, 195, 195) ........F.F.FGFF .GH...HGHHFFFFFF } -# tile 137 (explosion noxious top right) +# tile 139 (explosion noxious top right) { ................ ................ @@ -2652,7 +2690,7 @@ Z = (195, 195, 195) FF.F..F.FFFF.... F.FF..F.FFFFF... } -# tile 138 (explosion noxious middle left) +# tile 140 (explosion noxious middle left) { ..FFF.F.FFF..... ..FFF.FFFFF.FG.. @@ -2671,7 +2709,7 @@ Z = (195, 195, 195) ..F.F...FHG...GH ....F.........GH } -# tile 139 (explosion noxious middle center) +# tile 141 (explosion noxious middle center) { FGHFF..GGFGHFFFF .HGH..F.FFHGFHF. @@ -2690,7 +2728,7 @@ Z = (195, 195, 195) HHHHNHNHN.GGG.GF GGGGNHHHGGG.HH.. } -# tile 140 (explosion noxious middle right) +# tile 142 (explosion noxious middle right) { ..FFF.F.F.FFFF.. ..FFFFF.F.FFFF.. @@ -2709,7 +2747,7 @@ Z = (195, 195, 195) HFH...FFFFFFF... ....GGFFFFFFFF.. } -# tile 141 (explosion noxious bottom left) +# tile 143 (explosion noxious bottom left) { ....F.......H..G ....F.......FH.. @@ -2728,7 +2766,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 142 (explosion noxious bottom center) +# tile 144 (explosion noxious bottom center) { GGGHHHHHGHHH.H.. HHGGHHGGGGH.F... @@ -2747,7 +2785,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 143 (explosion noxious bottom right) +# tile 145 (explosion noxious bottom right) { ....G..FFFFFFF.. ..F..F.FF.F.FF.. @@ -2766,7 +2804,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 144 (explosion muddy top left) +# tile 146 (explosion muddy top left) { ................ ................ @@ -2785,7 +2823,7 @@ Z = (195, 195, 195) ..JJJJKKJJJJKKKK ..JJJKKJJJJJKKKK } -# tile 145 (explosion muddy top center) +# tile 147 (explosion muddy top center) { ................ ................ @@ -2804,7 +2842,7 @@ Z = (195, 195, 195) KKKKKKKKJKJKJCJJ KCLKKKLCLLJJJJJJ } -# tile 146 (explosion muddy top right) +# tile 148 (explosion muddy top right) { ................ ................ @@ -2823,7 +2861,7 @@ Z = (195, 195, 195) JJKJKKJKJJJJ.... JKJJKKJKJJJJJ... } -# tile 147 (explosion muddy middle left) +# tile 149 (explosion muddy middle left) { ..JJJKJKJJJKKKKK ..JJJKJJJJJKJCKK @@ -2842,7 +2880,7 @@ Z = (195, 195, 195) ..J.JKKKJLCKKKCL ....JKKKKKKKKKCL } -# tile 148 (explosion muddy middle center) +# tile 150 (explosion muddy middle center) { JCLJJKKCCJCLJJJJ KLCLKKJKJJLCJLJK @@ -2861,7 +2899,7 @@ Z = (195, 195, 195) LLLLCLCLCKCCCKCJ CCCCCLLLCCCKLLKK } -# tile 149 (explosion muddy middle right) +# tile 151 (explosion muddy middle right) { KKJJJKJKJKJJJJ.. KKJJJJJKJKJJJJ.. @@ -2880,7 +2918,7 @@ Z = (195, 195, 195) LJLKKKJJJJJJJ... KKKKCCJJJJJJJJ.. } -# tile 150 (explosion muddy bottom left) +# tile 152 (explosion muddy bottom left) { ....JKKKKKKKLKKC ....JKKKKKKKJLKK @@ -2899,7 +2937,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 151 (explosion muddy bottom center) +# tile 153 (explosion muddy bottom center) { CCCLLLLLCLLLKLKK LLCCLLCCCCLKJKKK @@ -2918,7 +2956,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 152 (explosion muddy bottom right) +# tile 154 (explosion muddy bottom right) { KKKKCKKJJJJJJJ.. KKJKKJKJJKJKJJ.. @@ -2937,7 +2975,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 153 (explosion wet top left) +# tile 155 (explosion wet top left) { ................ ................ @@ -2956,7 +2994,7 @@ Z = (195, 195, 195) ..EEEEPPEEEEPPPP ..EEEPPEEEEEPPPP } -# tile 154 (explosion wet top center) +# tile 156 (explosion wet top center) { ................ ................ @@ -2975,7 +3013,7 @@ Z = (195, 195, 195) PPPPPPPPEPEPEBEE PBNPPPNBEEEEEEEE } -# tile 155 (explosion wet top right) +# tile 157 (explosion wet top right) { ................ ................ @@ -2994,7 +3032,7 @@ Z = (195, 195, 195) EEPEPPEPEEEE.... EPEEPPEPEEEEE... } -# tile 156 (explosion wet middle left) +# tile 158 (explosion wet middle left) { ..EEEPEPEEEPPPPP ..EEEPEEEEEPEBPP @@ -3013,7 +3051,7 @@ Z = (195, 195, 195) ..E.EPPPENBPPPBE ....EPPPPPPPPPBE } -# tile 157 (explosion wet middle center) +# tile 159 (explosion wet middle center) { EBNEEPPBBEBNEEEE PNBNPPEPEEEBENEP @@ -3032,7 +3070,7 @@ Z = (195, 195, 195) EEEEEEEEEPBBBPBE BBBBEEEEBBBPNNPP } -# tile 158 (explosion wet middle right) +# tile 160 (explosion wet middle right) { PPEEEPEPEPEEEE.. PPEEEEEPEPEEEE.. @@ -3051,7 +3089,7 @@ Z = (195, 195, 195) NENPPPEEEEEEE... PPPPBBEEEEEEEE.. } -# tile 159 (explosion wet bottom left) +# tile 161 (explosion wet bottom left) { ....EPPPPPPPNPPB ....EPPPPPPPENPP @@ -3070,7 +3108,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 160 (explosion wet bottom center) +# tile 162 (explosion wet bottom center) { BBBEEEEEBEEEPEPP EEBBEEBBBBEPEPPP @@ -3089,7 +3127,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 161 (explosion wet bottom right) +# tile 163 (explosion wet bottom right) { PPPPBPPEEEEEEE.. PPEPPEPEEPEPEE.. @@ -3108,7 +3146,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 162 (explosion magical top left) +# tile 164 (explosion magical top left) { ................ ................ @@ -3127,7 +3165,7 @@ Z = (195, 195, 195) ..EEEEIIEEEEIIII ..EEEIIEEEEEIIII } -# tile 163 (explosion magical top center) +# tile 165 (explosion magical top center) { ................ ................ @@ -3146,7 +3184,7 @@ Z = (195, 195, 195) IIIIIIIIEIEIELEE ILHIIIHLHHEEEEEE } -# tile 164 (explosion magical top right) +# tile 166 (explosion magical top right) { ................ ................ @@ -3165,7 +3203,7 @@ Z = (195, 195, 195) EEIEIIEIEEEE.... EIEEIIEIEEEEE... } -# tile 165 (explosion magical middle left) +# tile 167 (explosion magical middle left) { ..EEEIEIEEEIIIII ..EEEIEEEEEIEIII @@ -3184,7 +3222,7 @@ Z = (195, 195, 195) ..E.EIIIENIIIIIN ....EIIIIIIIIIIN } -# tile 166 (explosion magical middle center) +# tile 168 (explosion magical middle center) { EINEEIIIIEINEEEE ININIIEIEENIENEI @@ -3203,7 +3241,7 @@ Z = (195, 195, 195) NNNNNNNNNIIIIIIE IIIINNNNIIIINNII } -# tile 167 (explosion magical middle right) +# tile 169 (explosion magical middle right) { IIEEEIEIEIEEEE.. IIEEEEEIEIEEEE.. @@ -3222,7 +3260,7 @@ Z = (195, 195, 195) NENIIIEEEEEEE... IIIIIIEEEEEEEE.. } -# tile 168 (explosion magical bottom left) +# tile 170 (explosion magical bottom left) { ....EIIIIIIIHIII ....EIIIIIIIEHII @@ -3241,7 +3279,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 169 (explosion magical bottom center) +# tile 171 (explosion magical bottom center) { IIINNNNNINNNINII NNIINNIIIINIEIII @@ -3260,7 +3298,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 170 (explosion magical bottom right) +# tile 172 (explosion magical bottom right) { IIIIIIIEEEEEEE.. IIEIIEIEEIEIEE.. @@ -3279,7 +3317,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 171 (explosion fiery top left) +# tile 173 (explosion fiery top left) { ................ ................ @@ -3298,7 +3336,7 @@ Z = (195, 195, 195) ..DDDDCCDDDDCCCC ..DDDCCDDDDDCCCC } -# tile 172 (explosion fiery top center) +# tile 174 (explosion fiery top center) { ................ ................ @@ -3317,7 +3355,7 @@ Z = (195, 195, 195) CCCCCCCCDCDCDLDD CLHCCCHLHHDDDDDD } -# tile 173 (explosion fiery top right) +# tile 175 (explosion fiery top right) { ................ ................ @@ -3336,7 +3374,7 @@ Z = (195, 195, 195) DDCDCCDCDDDD.... DCDDCCDCDDDDD... } -# tile 174 (explosion fiery middle left) +# tile 176 (explosion fiery middle left) { ..DDDCDCDDDCCCCC ..DDDCDDDDDCDLCC @@ -3355,7 +3393,7 @@ Z = (195, 195, 195) ..D.DCCCDHLCCCLH ....DCCCCCCCCCLH } -# tile 175 (explosion fiery middle center) +# tile 177 (explosion fiery middle center) { DLHDDCCLLDLHDDDD CHLHCCDCDDHLDHDC @@ -3374,7 +3412,7 @@ Z = (195, 195, 195) HHHHNHNHNCLLLCLD LLLLNHHHLLLCHHCC } -# tile 176 (explosion fiery middle right) +# tile 178 (explosion fiery middle right) { CCDDDCDCDCDDDD.. CCDDDDDCDCDDDD.. @@ -3393,7 +3431,7 @@ Z = (195, 195, 195) HDHCCCDDDDDDD... CCCCLLDDDDDDDD.. } -# tile 177 (explosion fiery bottom left) +# tile 179 (explosion fiery bottom left) { ....DCCCCCCCHCCL ....DCCCCCCCDHCC @@ -3412,7 +3450,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 178 (explosion fiery bottom center) +# tile 180 (explosion fiery bottom center) { LLLHHHHHLHHHCHCC HHLLHHLLLLHCDCCC @@ -3431,7 +3469,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 179 (explosion fiery bottom right) +# tile 181 (explosion fiery bottom right) { CCCCLCCDDDDDDD.. CCDCCDCDDCDCDD.. @@ -3450,7 +3488,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 180 (explosion frosty top left) +# tile 182 (explosion frosty top left) { ................ ................ @@ -3469,7 +3507,7 @@ Z = (195, 195, 195) ..EEEEPPNBEEPPPP ..EEEPPEEEEEPPPP } -# tile 181 (explosion frosty top center) +# tile 183 (explosion frosty top center) { ................ ................ @@ -3488,7 +3526,7 @@ Z = (195, 195, 195) PPPPPPPPEPEPEBEE PBNPPPNBNNEEEEEE } -# tile 182 (explosion frosty top right) +# tile 184 (explosion frosty top right) { ................ ................ @@ -3507,7 +3545,7 @@ Z = (195, 195, 195) EEPEPPEPEEEE.... EPEEPPEPEEEEE... } -# tile 183 (explosion frosty middle left) +# tile 185 (explosion frosty middle left) { ..EEEPEPEEEPPPPP ..EEEPEEEEEPEBPP @@ -3526,7 +3564,7 @@ Z = (195, 195, 195) ..E.EPPPENBPPPBN ....EPPPPPPPPPBN } -# tile 184 (explosion frosty middle center) +# tile 186 (explosion frosty middle center) { EBNEEPPBBEBNEEEE PNBNPPEPEENBENEP @@ -3545,7 +3583,7 @@ Z = (195, 195, 195) NNNNNNNNNPBBBPBE BBBBNNNNBBBPNNPP } -# tile 185 (explosion frosty middle right) +# tile 187 (explosion frosty middle right) { PPEEEPEPEPEEEE.. PPEEEEEPEPEEEE.. @@ -3564,7 +3602,7 @@ Z = (195, 195, 195) NENPPPEEEEEEE... PPPPBBEEEEEEEE.. } -# tile 186 (explosion frosty bottom left) +# tile 188 (explosion frosty bottom left) { ....EPPPPPPPNPPB ....EPPPPPPPENPP @@ -3583,7 +3621,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 187 (explosion frosty bottom center) +# tile 189 (explosion frosty bottom center) { BBBNNNNNBNNNPNPP NNBBNNBBBBNPEPPP @@ -3602,7 +3640,7 @@ Z = (195, 195, 195) ................ ................ } -# tile 188 (explosion frosty bottom right) +# tile 190 (explosion frosty bottom right) { PPPPBPPEEEEEEE.. PPEPPEPEEPEPEE.. @@ -3621,7 +3659,7 @@ Z = (195, 195, 195) ...........N.... ................ } -# tile 189 (warning 0) +# tile 191 (warning 0) { ................ ................ @@ -3640,7 +3678,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 190 (warning 1) +# tile 192 (warning 1) { ................ ................ @@ -3659,7 +3697,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 191 (warning 2) +# tile 193 (warning 2) { ................ ................ @@ -3678,7 +3716,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 192 (warning 3) +# tile 194 (warning 3) { ................ ................ @@ -3697,7 +3735,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 193 (warning 4) +# tile 195 (warning 4) { ................ ................ @@ -3716,7 +3754,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 194 (warning 5) +# tile 196 (warning 5) { ................ ................ @@ -3735,7 +3773,7 @@ Z = (195, 195, 195) .......AA....... ................ } -# tile 195 (unexplored) +# tile 197 (unexplored) { AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA @@ -3754,7 +3792,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA } -# tile 196 (nothing) +# tile 198 (nothing) { AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA @@ -3773,7 +3811,7 @@ Z = (195, 195, 195) AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA } -# tile 197 (mines walls vertical) +# tile 199 (mines walls vertical) { AJJKKKACJAAJJJAA AJKKKACLJJAJJJJA @@ -3792,7 +3830,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 198 (mines walls horizontal) +# tile 200 (mines walls horizontal) { AJAAAAAAJJAAAJAA JJJAAAJJJJJAAAAJ @@ -3811,7 +3849,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 199 (mines walls tlcorn) +# tile 201 (mines walls tlcorn) { AAAAAAKCCKKJAAAA AAAAKKCLCJKJJAAA @@ -3830,7 +3868,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 200 (mines walls trcorn) +# tile 202 (mines walls trcorn) { AAAAAAKCCKKJAAAA AAAAKKCLCJKJJAAA @@ -3849,7 +3887,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 201 (mines walls blcorn) +# tile 203 (mines walls blcorn) { AKKKAAKKKKAAJJJA AKKAAKCCCJJJAAJA @@ -3868,7 +3906,7 @@ Z = (195, 195, 195) AJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 202 (mines walls brcorn) +# tile 204 (mines walls brcorn) { AKKAAAKKAAAAJJJA AKAAKKLCKAAAAAJA @@ -3887,7 +3925,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJA AAAAAAAAAAAAAAAA } -# tile 203 (mines walls cross wall) +# tile 205 (mines walls cross wall) { AAAAAAKCCKKJAAAA AAAAKCCLCJKJJAAA @@ -3906,7 +3944,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 204 (mines walls tuwall) +# tile 206 (mines walls tuwall) { AKKAAAKKKKAAJJJA AKAAKKLCCJJJAAJA @@ -3925,7 +3963,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 205 (mines walls tdwall) +# tile 207 (mines walls tdwall) { AAAAAAKCCKKJAAAA AAAAKCCLCJKJJAAA @@ -3944,7 +3982,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 206 (mines walls tlwall) +# tile 208 (mines walls tlwall) { AKKAACKCCKKJAJJA AKACKKKLLJKJJAJA @@ -3963,7 +4001,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 207 (mines walls trwall) +# tile 209 (mines walls trwall) { AKKAACKCCKKJAJJA AKACKKCLCJKJJAJA @@ -3982,7 +4020,7 @@ Z = (195, 195, 195) AAJACKCKKJJJAJAA AAJCKKJAAAJJJJJA } -# tile 208 (gehennom walls vertical) +# tile 210 (gehennom walls vertical) { ALLDAJ11111JLLDA ADDDAJ1J11JJDDDA @@ -4001,7 +4039,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 209 (gehennom walls horizontal) +# tile 211 (gehennom walls horizontal) { AAALDDAAAAALDDAA DDDLDDAJDDDLDDAJ @@ -4020,7 +4058,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 210 (gehennom walls tlcorn) +# tile 212 (gehennom walls tlcorn) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4039,7 +4077,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 211 (gehennom walls trcorn) +# tile 213 (gehennom walls trcorn) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4058,7 +4096,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 212 (gehennom walls blcorn) +# tile 214 (gehennom walls blcorn) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4077,7 +4115,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 213 (gehennom walls brcorn) +# tile 215 (gehennom walls brcorn) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4096,7 +4134,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 214 (gehennom walls cross wall) +# tile 216 (gehennom walls cross wall) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4115,7 +4153,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 215 (gehennom walls tuwall) +# tile 217 (gehennom walls tuwall) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4134,7 +4172,7 @@ Z = (195, 195, 195) JJJJJJJJJJJJJJJJ AAAAAAAAAAAAAAAA } -# tile 216 (gehennom walls tdwall) +# tile 218 (gehennom walls tdwall) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4153,7 +4191,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 217 (gehennom walls tlwall) +# tile 219 (gehennom walls tlwall) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4172,7 +4210,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 218 (gehennom walls trwall) +# tile 220 (gehennom walls trwall) { AAALLLLDDDDDDAAA LLLLAAJJ1111DJJJ @@ -4191,7 +4229,7 @@ Z = (195, 195, 195) AJJJAJJ1111JJJJA AD11AJJ1111JD1JA } -# tile 219 (knox walls vertical) +# tile 221 (knox walls vertical) { AJJJAAACJAAAJJJA AJJJAACLJJAAJJJA @@ -4210,7 +4248,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 220 (knox walls horizontal) +# tile 222 (knox walls horizontal) { AJAAAJAAAJAAAJAA JJJAAAJAJJJAAAJA @@ -4229,7 +4267,7 @@ Z = (195, 195, 195) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 221 (knox walls tlcorn) +# tile 223 (knox walls tlcorn) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4248,7 +4286,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 222 (knox walls trcorn) +# tile 224 (knox walls trcorn) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4267,7 +4305,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 223 (knox walls blcorn) +# tile 225 (knox walls blcorn) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4286,7 +4324,7 @@ Z = (195, 195, 195) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 224 (knox walls brcorn) +# tile 226 (knox walls brcorn) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4305,7 +4343,7 @@ Z = (195, 195, 195) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 225 (knox walls cross wall) +# tile 227 (knox walls cross wall) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4324,7 +4362,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 226 (knox walls tuwall) +# tile 228 (knox walls tuwall) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4343,7 +4381,7 @@ Z = (195, 195, 195) KJJACJJAKJJACJJA AAAAAAAAAAAAAAAA } -# tile 227 (knox walls tdwall) +# tile 229 (knox walls tdwall) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4362,7 +4400,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 228 (knox walls tlwall) +# tile 230 (knox walls tlwall) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4381,7 +4419,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 229 (knox walls trwall) +# tile 231 (knox walls trwall) { AAAAAAKCJKAAAAAA AAAAKKCLKJKKAAAA @@ -4400,7 +4438,7 @@ Z = (195, 195, 195) AAJAAACKKJAAAJAA ACJJAAAAAAAACJJA } -# tile 230 (sokoban walls vertical) +# tile 232 (sokoban walls vertical) { ANNBA1EEEEE1NNBA ABBBA1E1EE11BBBA @@ -4419,7 +4457,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 231 (sokoban walls horizontal) +# tile 233 (sokoban walls horizontal) { AAANBBAAAAANBBAA BBBNBBA1BBBNBBA1 @@ -4438,7 +4476,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 232 (sokoban walls tlcorn) +# tile 234 (sokoban walls tlcorn) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4457,7 +4495,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 233 (sokoban walls trcorn) +# tile 235 (sokoban walls trcorn) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4476,7 +4514,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 234 (sokoban walls blcorn) +# tile 236 (sokoban walls blcorn) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4495,7 +4533,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 235 (sokoban walls brcorn) +# tile 237 (sokoban walls brcorn) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4514,7 +4552,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 236 (sokoban walls cross wall) +# tile 238 (sokoban walls cross wall) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4533,7 +4571,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 237 (sokoban walls tuwall) +# tile 239 (sokoban walls tuwall) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4552,7 +4590,7 @@ Z = (195, 195, 195) 1111111111111111 AAAAAAAAAAAAAAAA } -# tile 238 (sokoban walls tdwall) +# tile 240 (sokoban walls tdwall) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4571,7 +4609,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 239 (sokoban walls tlwall) +# tile 241 (sokoban walls tlwall) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111 @@ -4590,7 +4628,7 @@ Z = (195, 195, 195) A111A11EEEE1111A ABEEA11EEEE1BE1A } -# tile 240 (sokoban walls trwall) +# tile 242 (sokoban walls trwall) { AAANNNNBBBBBBAAA NNNNAA11EEEEB111