From 12ecb4550e46ffdc28248be185738a88be033afd Mon Sep 17 00:00:00 2001 From: James Haley Date: Sat, 1 Nov 2014 19:08:39 -0500 Subject: Automap accuracy fixes * Grid is not supported and gives no such message * Spot marking behavior is substantially different --- src/doom/am_map.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src/doom') diff --git a/src/doom/am_map.c b/src/doom/am_map.c index d3d504e3..ee1df195 100644 --- a/src/doom/am_map.c +++ b/src/doom/am_map.c @@ -344,7 +344,8 @@ void AM_addMark(void) { markpoints[markpointnum].x = m_x + m_w/2; markpoints[markpointnum].y = m_y + m_h/2; - markpointnum = (markpointnum + 1) % AM_NUMMARKPOINTS; + //markpointnum = (markpointnum + 1) % AM_NUMMARKPOINTS; + ++markpointnum; // haleyjd 20141101 [STRIFE]: does not wrap around } @@ -672,6 +673,8 @@ AM_Responder else plr->message = DEH_String(AMSTR_FOLLOWOFF); } + // haleyjd 20141101 [STRIFE]: grid is not supported + /* else if (key == key_map_grid) { grid = !grid; @@ -680,17 +683,26 @@ AM_Responder else plr->message = DEH_String(AMSTR_GRIDOFF); } + */ else if (key == key_map_mark) { + // haleyjd 20141101 [STRIFE]: if full, mark 10 is replaced + if(markpointnum == AM_NUMMARKPOINTS) + --markpointnum; M_snprintf(buffer, sizeof(buffer), "%s %d", - DEH_String(AMSTR_MARKEDSPOT), markpointnum); + DEH_String(AMSTR_MARKEDSPOT), markpointnum + 1); // [STRIFE]: +1 plr->message = buffer; AM_addMark(); } else if (key == key_map_clearmark) { - AM_clearMarks(); - plr->message = DEH_String(AMSTR_MARKSCLEARED); + // haleyjd 20141101 [STRIFE]: modified to only clear last mark + if(markpointnum > 0) + { + markpoints[markpointnum - 1].x = -1; + --markpointnum; + plr->message = DEH_String(AMSTR_MARKSCLEARED); + } } else { -- cgit v1.2.3