make a distinction between rock and unexplored area

This adds a pair of new glyphs: GLYPH_UNEXPLORED and GLYPH_NOTHING

GLYPH_UNEXPLORED is meant to be the glyph for areas of the map that
haven't been explored yet.

GLYPH_NOTHING is a glyph that represents that which cannot be seen,
for instance the dark part of a room when the dark_room option is
not set.  Since the symbol for stone can now be overridden to
a players choice, it no longer made sense using S_stone for the
dark areas of the room with dark_room off. This allows the same
intended result even if S_stone symbol is mapped to something visible.

GLYPH_UNEXPLORED is what areas of the map get initialized to now
instead of STONE.

This adds a pair of new symbols: S_unexplored and S_nothing.

S_nothing is meant to be left as an unseen character (space) in
order to achieve the intended effect on the display.

S_unexplored is the symbol that is mapped to GLYPH_UNEXPLORED, and
is a distinct symbol from S_stone, even if they are set to the same
character. They don't have to be set to the same character.

Hopefully there are minimal bugs, but it is a deviation from a
fairly long-standing approach so there could be some unintended
glitches that will need repair.
This commit is contained in:
nhmall
2020-02-08 00:48:03 -05:00
parent 84daf75981
commit d37fa196b2
19 changed files with 248 additions and 126 deletions

View File

@@ -27,24 +27,24 @@ Y = (149, 149, 149)
Z = (195, 195, 195)
0 = (100, 100, 100)
1 = (72, 108, 108)
# tile 0 (dark part of a room)
# tile 0 (stone)
{
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
PPPPPPPPPPPPPPPP
PAPPPPPPPPPPPPPP
PPAAPPPPPPPPPPPA
PPPPPPPPPPPPPPAP
PPPPPPPPPPPPPPPP
PPPPPPPPPPPPPPPP
PPPPPPPPPPPPPPPP
PPPPPPPPPPPPPPPP
PPPPPPPPPPPPPPPP
PPPPPPPPPPPPPPPP
PPPPPPPPPPPPPPPP
PPPPPPPPPPPPPPPP
PPPPPPPPPPPPPPPP
PPPPPPPPPPPPPPPP
PPPPPPPPPPPPPPPP
PPPPPPPPPPPPPPPP
}
# tile 1 (vertical wall)
{
@@ -3599,7 +3599,45 @@ Z = (195, 195, 195)
.......AA.......
................
}
# tile 188 (sub mine walls 0)
# tile 191 (unexplored)
{
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
}
# tile 192 (nothing)
{
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
}
# tile 189 (sub mine walls 0)
{
AJJKKKACJAAJJJAA
AJKKKACLJJAJJJJA
@@ -3618,7 +3656,7 @@ Z = (195, 195, 195)
AAJACKCKKJJJAJAA
AAJCKKJAAAJJJJJA
}
# tile 189 (sub mine walls 1)
# tile 190 (sub mine walls 1)
{
AJAAAAAAJJAAAJAA
JJJAAAJJJJJAAAAJ
@@ -3637,7 +3675,7 @@ Z = (195, 195, 195)
JJJJJJJJJJJJJJJJ
AAAAAAAAAAAAAAAA
}
# tile 190 (sub mine walls 2)
# tile 191 (sub mine walls 2)
{
AAAAAAKCCKKJAAAA
AAAAKKCLCJKJJAAA
@@ -3656,7 +3694,7 @@ Z = (195, 195, 195)
AAJACKCKKJJJAJAA
AAJCKKJAAAJJJJJA
}
# tile 191 (sub mine walls 3)
# tile 192 (sub mine walls 3)
{
AAAAAAKCCKKJAAAA
AAAAKKCLCJKJJAAA
@@ -3675,7 +3713,7 @@ Z = (195, 195, 195)
AAJACKCKKJJJAJAA
AAJCKKJAAAJJJJJA
}
# tile 192 (sub mine walls 4)
# tile 193 (sub mine walls 4)
{
AKKKAAKKKKAAJJJA
AKKAAKCCCJJJAAJA
@@ -3694,7 +3732,7 @@ Z = (195, 195, 195)
AJJJJJJJJJJJJJJJ
AAAAAAAAAAAAAAAA
}
# tile 193 (sub mine walls 5)
# tile 194 (sub mine walls 5)
{
AKKAAAKKAAAAJJJA
AKAAKKLCKAAAAAJA
@@ -3713,7 +3751,7 @@ Z = (195, 195, 195)
JJJJJJJJJJJJJJJA
AAAAAAAAAAAAAAAA
}
# tile 194 (sub mine walls 6)
# tile 195 (sub mine walls 6)
{
AAAAAAKCCKKJAAAA
AAAAKCCLCJKJJAAA
@@ -3732,7 +3770,7 @@ Z = (195, 195, 195)
AAJACKCKKJJJAJAA
AAJCKKJAAAJJJJJA
}
# tile 195 (sub mine walls 7)
# tile 196 (sub mine walls 7)
{
AKKAAAKKKKAAJJJA
AKAAKKLCCJJJAAJA
@@ -3751,7 +3789,7 @@ Z = (195, 195, 195)
JJJJJJJJJJJJJJJJ
AAAAAAAAAAAAAAAA
}
# tile 196 (sub mine walls 8)
# tile 197 (sub mine walls 8)
{
AAAAAAKCCKKJAAAA
AAAAKCCLCJKJJAAA
@@ -3770,7 +3808,7 @@ Z = (195, 195, 195)
AAJACKCKKJJJAJAA
AAJCKKJAAAJJJJJA
}
# tile 197 (sub mine walls 9)
# tile 198 (sub mine walls 9)
{
AKKAACKCCKKJAJJA
AKACKKKLLJKJJAJA
@@ -3789,7 +3827,7 @@ Z = (195, 195, 195)
AAJACKCKKJJJAJAA
AAJCKKJAAAJJJJJA
}
# tile 198 (sub mine walls 10)
# tile 199 (sub mine walls 10)
{
AKKAACKCCKKJAJJA
AKACKKCLCJKJJAJA
@@ -3808,7 +3846,7 @@ Z = (195, 195, 195)
AAJACKCKKJJJAJAA
AAJCKKJAAAJJJJJA
}
# tile 199 (sub gehennom walls 0)
# tile 200 (sub gehennom walls 0)
{
ALLDAJ11111JLLDA
ADDDAJ1J11JJDDDA
@@ -3827,7 +3865,7 @@ Z = (195, 195, 195)
AJJJAJJ1111JJJJA
AD11AJJ1111JD1JA
}
# tile 200 (sub gehennom walls 1)
# tile 201 (sub gehennom walls 1)
{
AAALDDAAAAALDDAA
DDDLDDAJDDDLDDAJ
@@ -3846,7 +3884,7 @@ Z = (195, 195, 195)
JJJJJJJJJJJJJJJJ
AAAAAAAAAAAAAAAA
}
# tile 201 (sub gehennom walls 2)
# tile 202 (sub gehennom walls 2)
{
AAALLLLDDDDDDAAA
LLLLAAJJ1111DJJJ
@@ -3865,7 +3903,7 @@ Z = (195, 195, 195)
AJJJAJJ1111JJJJA
AD11AJJ1111JD1JA
}
# tile 202 (sub gehennom walls 3)
# tile 203 (sub gehennom walls 3)
{
AAALLLLDDDDDDAAA
LLLLAAJJ1111DJJJ
@@ -3884,7 +3922,7 @@ Z = (195, 195, 195)
AJJJAJJ1111JJJJA
AD11AJJ1111JD1JA
}
# tile 203 (sub gehennom walls 4)
# tile 204 (sub gehennom walls 4)
{
AAALLLLDDDDDDAAA
LLLLAAJJ1111DJJJ
@@ -3903,7 +3941,7 @@ Z = (195, 195, 195)
JJJJJJJJJJJJJJJJ
AAAAAAAAAAAAAAAA
}
# tile 204 (sub gehennom walls 5)
# tile 205 (sub gehennom walls 5)
{
AAALLLLDDDDDDAAA
LLLLAAJJ1111DJJJ
@@ -3922,7 +3960,7 @@ Z = (195, 195, 195)
JJJJJJJJJJJJJJJJ
AAAAAAAAAAAAAAAA
}
# tile 205 (sub gehennom walls 6)
# tile 206 (sub gehennom walls 6)
{
AAALLLLDDDDDDAAA
LLLLAAJJ1111DJJJ
@@ -3941,7 +3979,7 @@ Z = (195, 195, 195)
AJJJAJJ1111JJJJA
AD11AJJ1111JD1JA
}
# tile 206 (sub gehennom walls 7)
# tile 207 (sub gehennom walls 7)
{
AAALLLLDDDDDDAAA
LLLLAAJJ1111DJJJ
@@ -3960,7 +3998,7 @@ Z = (195, 195, 195)
JJJJJJJJJJJJJJJJ
AAAAAAAAAAAAAAAA
}
# tile 207 (sub gehennom walls 8)
# tile 208 (sub gehennom walls 8)
{
AAALLLLDDDDDDAAA
LLLLAAJJ1111DJJJ
@@ -3979,7 +4017,7 @@ Z = (195, 195, 195)
AJJJAJJ1111JJJJA
AD11AJJ1111JD1JA
}
# tile 208 (sub gehennom walls 9)
# tile 209 (sub gehennom walls 9)
{
AAALLLLDDDDDDAAA
LLLLAAJJ1111DJJJ
@@ -3998,7 +4036,7 @@ Z = (195, 195, 195)
AJJJAJJ1111JJJJA
AD11AJJ1111JD1JA
}
# tile 209 (sub gehennom walls 10)
# tile 210 (sub gehennom walls 10)
{
AAALLLLDDDDDDAAA
LLLLAAJJ1111DJJJ
@@ -4017,7 +4055,7 @@ Z = (195, 195, 195)
AJJJAJJ1111JJJJA
AD11AJJ1111JD1JA
}
# tile 210 (sub knox walls 0)
# tile 211 (sub knox walls 0)
{
AJJJAAACJAAAJJJA
AJJJAACLJJAAJJJA
@@ -4036,7 +4074,7 @@ Z = (195, 195, 195)
AAJAAACKKJAAAJAA
ACJJAAAAAAAACJJA
}
# tile 211 (sub knox walls 1)
# tile 212 (sub knox walls 1)
{
AJAAAJAAAJAAAJAA
JJJAAAJAJJJAAAJA
@@ -4055,7 +4093,7 @@ Z = (195, 195, 195)
KJJACJJAKJJACJJA
AAAAAAAAAAAAAAAA
}
# tile 212 (sub knox walls 2)
# tile 213 (sub knox walls 2)
{
AAAAAAKCJKAAAAAA
AAAAKKCLKJKKAAAA
@@ -4074,7 +4112,7 @@ Z = (195, 195, 195)
AAJAAACKKJAAAJAA
ACJJAAAAAAAACJJA
}
# tile 213 (sub knox walls 3)
# tile 214 (sub knox walls 3)
{
AAAAAAKCJKAAAAAA
AAAAKKCLKJKKAAAA
@@ -4093,7 +4131,7 @@ Z = (195, 195, 195)
AAJAAACKKJAAAJAA
ACJJAAAAAAAACJJA
}
# tile 214 (sub knox walls 4)
# tile 215 (sub knox walls 4)
{
AAAAAAKCJKAAAAAA
AAAAKKCLKJKKAAAA
@@ -4112,7 +4150,7 @@ Z = (195, 195, 195)
KJJACJJAKJJACJJA
AAAAAAAAAAAAAAAA
}
# tile 215 (sub knox walls 5)
# tile 216 (sub knox walls 5)
{
AAAAAAKCJKAAAAAA
AAAAKKCLKJKKAAAA
@@ -4131,7 +4169,7 @@ Z = (195, 195, 195)
KJJACJJAKJJACJJA
AAAAAAAAAAAAAAAA
}
# tile 216 (sub knox walls 6)
# tile 217 (sub knox walls 6)
{
AAAAAAKCJKAAAAAA
AAAAKKCLKJKKAAAA
@@ -4150,7 +4188,7 @@ Z = (195, 195, 195)
AAJAAACKKJAAAJAA
ACJJAAAAAAAACJJA
}
# tile 217 (sub knox walls 7)
# tile 218 (sub knox walls 7)
{
AAAAAAKCJKAAAAAA
AAAAKKCLKJKKAAAA
@@ -4169,7 +4207,7 @@ Z = (195, 195, 195)
KJJACJJAKJJACJJA
AAAAAAAAAAAAAAAA
}
# tile 218 (sub knox walls 8)
# tile 219 (sub knox walls 8)
{
AAAAAAKCJKAAAAAA
AAAAKKCLKJKKAAAA
@@ -4188,7 +4226,7 @@ Z = (195, 195, 195)
AAJAAACKKJAAAJAA
ACJJAAAAAAAACJJA
}
# tile 219 (sub knox walls 9)
# tile 220 (sub knox walls 9)
{
AAAAAAKCJKAAAAAA
AAAAKKCLKJKKAAAA
@@ -4207,7 +4245,7 @@ Z = (195, 195, 195)
AAJAAACKKJAAAJAA
ACJJAAAAAAAACJJA
}
# tile 220 (sub knox walls 10)
# tile 221 (sub knox walls 10)
{
AAAAAAKCJKAAAAAA
AAAAKKCLKJKKAAAA
@@ -4226,7 +4264,7 @@ Z = (195, 195, 195)
AAJAAACKKJAAAJAA
ACJJAAAAAAAACJJA
}
# tile 221 (sub sokoban walls 0)
# tile 222 (sub sokoban walls 0)
{
ANNBA1EEEEE1NNBA
ABBBA1E1EE11BBBA
@@ -4245,7 +4283,7 @@ Z = (195, 195, 195)
A111A11EEEE1111A
ABEEA11EEEE1BE1A
}
# tile 222 (sub sokoban walls 1)
# tile 223 (sub sokoban walls 1)
{
AAANBBAAAAANBBAA
BBBNBBA1BBBNBBA1
@@ -4264,7 +4302,7 @@ Z = (195, 195, 195)
1111111111111111
AAAAAAAAAAAAAAAA
}
# tile 223 (sub sokoban walls 2)
# tile 224 (sub sokoban walls 2)
{
AAANNNNBBBBBBAAA
NNNNAA11EEEEB111
@@ -4283,7 +4321,7 @@ Z = (195, 195, 195)
A111A11EEEE1111A
ABEEA11EEEE1BE1A
}
# tile 224 (sub sokoban walls 3)
# tile 225 (sub sokoban walls 3)
{
AAANNNNBBBBBBAAA
NNNNAA11EEEEB111
@@ -4302,7 +4340,7 @@ Z = (195, 195, 195)
A111A11EEEE1111A
ABEEA11EEEE1BE1A
}
# tile 225 (sub sokoban walls 4)
# tile 226 (sub sokoban walls 4)
{
AAANNNNBBBBBBAAA
NNNNAA11EEEEB111
@@ -4321,7 +4359,7 @@ Z = (195, 195, 195)
1111111111111111
AAAAAAAAAAAAAAAA
}
# tile 226 (sub sokoban walls 5)
# tile 227 (sub sokoban walls 5)
{
AAANNNNBBBBBBAAA
NNNNAA11EEEEB111
@@ -4340,7 +4378,7 @@ Z = (195, 195, 195)
1111111111111111
AAAAAAAAAAAAAAAA
}
# tile 227 (sub sokoban walls 6)
# tile 228 (sub sokoban walls 6)
{
AAANNNNBBBBBBAAA
NNNNAA11EEEEB111
@@ -4359,7 +4397,7 @@ Z = (195, 195, 195)
A111A11EEEE1111A
ABEEA11EEEE1BE1A
}
# tile 228 (sub sokoban walls 7)
# tile 229 (sub sokoban walls 7)
{
AAANNNNBBBBBBAAA
NNNNAA11EEEEB111
@@ -4378,7 +4416,7 @@ Z = (195, 195, 195)
1111111111111111
AAAAAAAAAAAAAAAA
}
# tile 229 (sub sokoban walls 8)
# tile 230 (sub sokoban walls 8)
{
AAANNNNBBBBBBAAA
NNNNAA11EEEEB111
@@ -4397,7 +4435,7 @@ Z = (195, 195, 195)
A111A11EEEE1111A
ABEEA11EEEE1BE1A
}
# tile 230 (sub sokoban walls 9)
# tile 231 (sub sokoban walls 9)
{
AAANNNNBBBBBBAAA
NNNNAA11EEEEB111
@@ -4416,7 +4454,7 @@ Z = (195, 195, 195)
A111A11EEEE1111A
ABEEA11EEEE1BE1A
}
# tile 231 (sub sokoban walls 10)
# tile 232 (sub sokoban walls 10)
{
AAANNNNBBBBBBAAA
NNNNAA11EEEEB111

View File

@@ -207,6 +207,24 @@ int set, entry;
}
tilenum += WARNCOUNT;
i = entry - tilenum;
if (i < 1) {
if (set == OTH_GLYPH) {
Sprintf(buf, "unexplored");
return buf;
}
}
tilenum += 1;
i = entry - tilenum;
if (i < 1) {
if (set == OTH_GLYPH) {
Sprintf(buf, "nothing");
return buf;
}
}
tilenum += 1;
for (i = 0; i < SIZE(substitutes); i++) {
j = entry - tilenum;
if (j <= substitutes[i].last_glyph - substitutes[i].first_glyph) {
@@ -361,6 +379,16 @@ init_tilemap()
tilenum++;
}
for (i = 0; i < 1; i++) {
tilemap[GLYPH_UNEXPLORED_OFF + i] = tilenum;
tilenum++;
}
for (i = 0; i < 1; i++) {
tilemap[GLYPH_NOTHING + i] = tilenum;
tilenum++;
}
#ifndef STATUES_LOOK_LIKE_MONSTERS
/* statue patch: statues still use the same glyph as in vanilla */