ref: 66477dc794278f615447f1b2dae1fba69a63401a
parent: 6f1356bbbff01e2055815ed527f9e9af84029674
author: James Haley <[email protected]>
date: Sat Nov 1 15:17:32 EDT 2014
Automap accuracy fixes (against proper game) * Grid is not supported and gives no such message * Spot marking is substantially different
--- a/src/strife/am_map.c
+++ b/src/strife/am_map.c
@@ -322,7 +322,8 @@
{
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
}
@@ -653,6 +654,8 @@
else
plr->message = DEH_String(AMSTR_FOLLOWOFF);
}
+ // haleyjd 20141101: [STRIFE] grid is not supported
+ /*
else if (key == key_map_grid)
{
grid = !grid;
@@ -661,17 +664,26 @@
else
plr->message = DEH_String(AMSTR_GRIDOFF);
}
+ */
else if (key == key_map_mark)
{
+ // haleyjd 20141101: [STRIFE] if full, mark 9 is replaced
+ if(markpointnum == AM_NUMMARKPOINTS)
+ --markpointnum;
M_snprintf(buffer, sizeof(buffer),
- "%s %d", DEH_String(AMSTR_MARKEDSPOT), markpointnum);
+ "%s %d", DEH_String(AMSTR_MARKEDSPOT), markpointnum + 1); // [STRIFE]
plr->message = buffer;
AM_addMark();
}
else if (key == key_map_clearmark)
{
- AM_clearMarks();
- plr->message = DEH_String(AMSTR_MARKSCLEARED);
+ // haleyjd 20141101: [STRIFE] clears last mark only
+ if(markpointnum > 0)
+ {
+ markpoints[markpointnum - 1].x = -1;
+ --markpointnum;
+ plr->message = DEH_String(AMSTR_MARKSCLEARED);
+ }
}
else
{
--- a/src/strife/d_englsh.h
+++ b/src/strife/d_englsh.h
@@ -227,7 +227,7 @@
#define AMSTR_GRIDOFF "Grid OFF"
#define AMSTR_MARKEDSPOT "Marked Spot"
-#define AMSTR_MARKSCLEARED "All Marks Cleared"
+#define AMSTR_MARKSCLEARED "Last Mark Cleared" // [STRIFE]
//
// ST_stuff.C