diff --git a/src/am_map.c b/src/am_map.c index c70fd3f3..7d5c474b 100644 --- a/src/am_map.c +++ b/src/am_map.c @@ -647,6 +647,13 @@ void AM_clearMarks(void) markpointnum = 0; } +// [Alaux] Clear just the last mark +static void AM_clearLastMark(void) +{ + if (markpointnum) + markpointnum--; +} + void AM_enableSmoothLines(void) { AM_drawFline = map_smooth_lines ? AM_drawFline_Smooth : AM_drawFline_Vanilla; @@ -925,10 +932,15 @@ boolean AM_Responder } else if (M_InputActivated(input_map_clear)) { - AM_clearMarks(); // Ty 03/27/98 - *not* externalized - plr->message = s_AMSTR_MARKSCLEARED; // ^ - } // | - else // phares + // [Alaux] Clear just the last mark + if (!markpointnum) + plr->message = s_AMSTR_MARKSCLEARED; + else { + AM_clearLastMark(); + doomprintf("Cleared spot %d", markpointnum); + } + } + else if (M_InputActivated(input_map_overlay)) { automapoverlay = !automapoverlay; diff --git a/src/m_menu.c b/src/m_menu.c index a5e6dbf6..477bcd73 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -2997,7 +2997,7 @@ setup_menu_t keys_settings6[] = // Key Binding screen strings {"SHIFT LEFT" ,S_INPUT ,m_map ,KB_X,M_Y+10*M_SPC,{0},input_map_left}, {"SHIFT RIGHT",S_INPUT ,m_map ,KB_X,M_Y+11*M_SPC,{0},input_map_right}, {"MARK PLACE" ,S_INPUT ,m_map ,KB_X,M_Y+12*M_SPC,{0},input_map_mark}, - {"CLEAR MARKS",S_INPUT ,m_map ,KB_X,M_Y+13*M_SPC,{0},input_map_clear}, + {"CLEAR LAST MARK",S_INPUT ,m_map ,KB_X,M_Y+13*M_SPC,{0},input_map_clear}, {"FULL/ZOOM" ,S_INPUT ,m_map ,KB_X,M_Y+14*M_SPC,{0},input_map_gobig}, {"GRID" ,S_INPUT ,m_map ,KB_X,M_Y+15*M_SPC,{0},input_map_grid},