Indicator glyph for good target positions

Add a new glyph, S_goodpos, to indicate valid locations
instead of reusing the camera flash beam glyph.
This commit is contained in:
Pasi Kallinen
2015-04-07 18:18:49 +03:00
parent f5b71c5b8f
commit 1c2f2af357
5 changed files with 44 additions and 22 deletions

View File

@@ -190,34 +190,35 @@
#define S_ss3 73
#define S_ss4 74
#define S_poisoncloud 75
#define S_goodpos 76 /* 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 77 /* swallow top left [1] */
#define S_sw_tc 78 /* swallow top center [2] Order: */
#define S_sw_tr 79 /* swallow top right [3] */
#define S_sw_ml 80 /* swallow middle left [4] 1 2 3 */
#define S_sw_mr 81 /* swallow middle right [6] 4 5 6 */
#define S_sw_bl 82 /* swallow bottom left [7] 7 8 9 */
#define S_sw_bc 83 /* swallow bottom center [8] */
#define S_sw_br 84 /* 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 85 /* explosion top left */
#define S_explode2 86 /* explosion top center */
#define S_explode3 87 /* explosion top right Ex. */
#define S_explode4 88 /* explosion middle left */
#define S_explode5 89 /* explosion middle center /-\ */
#define S_explode6 90 /* explosion middle right |@| */
#define S_explode7 91 /* explosion bottom left \-/ */
#define S_explode8 92 /* explosion bottom center */
#define S_explode9 93 /* explosion bottom right */
/* end effects */
#define MAXPCHARS 93 /* maximum number of mapped characters */
#define MAXPCHARS 94 /* maximum number of mapped characters */
#define MAXDCHARS 41 /* 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 */
struct symdef {

View File

@@ -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++)

View File

@@ -212,6 +212,7 @@ const struct symdef defsyms[MAXPCHARS] = {
{'@', "", 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 */
@@ -647,6 +648,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"},

View File

@@ -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;

View File

@@ -1458,6 +1458,25 @@ P = (108, 145, 182)
BBBBBBGGGGBBBBBB
BBBBBBBBBBBBBBBB
}
# tile 76 (valid position)
{
MMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM
MMMMMGGGGMMMMMMM
MMMMGGGGGGMMMMMM
MMMGGFFFFGGMMMMM
MMMGGFMMMGGFMMMM
MMMMFFMMMGGFMMMM
MMMMMMMMGGFFMMMM
MMMMMMMGGFFMMMMM
MMMMMMGGFFMMMMMM
MMMMMMGGFMMMMMMM
MMMMMMMFFMMMMMMM
MMMMMMGGMMMMMMMM
MMMMMMGGFMMMMMMM
MMMMMMMFFMMMMMMM
MMMMMMMMMMMMMMMM
}
# tile 75 (cmap 75)
{
AAAAAAADDDDDDAAA