New ingame option "Show enemy movement" - show location of recently known enemy (seen/heard last turn).

Improved tooltip for formation movement: SHIFT + click to move in formation.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9372 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2022-05-01 08:24:46 +00:00
parent 6d0c4ab4ce
commit 3d1f8b1951
11 changed files with 95 additions and 10 deletions
+3
View File
@@ -341,6 +341,7 @@ BOOLEAN LoadGameSettings()
gGameSettings.fOptions[TOPTION_TOGGLE_TURN_MODE] = FALSE;
gGameSettings.fOptions[TOPTION_MERCENARY_FORMATIONS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_MERCENARY_FORMATIONS" , TRUE ); // Flugente: mercenary formations
gGameSettings.fOptions[TOPTION_SHOW_ENEMY_LOCATION] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SHOW_ENEMY_LOCATION" , FALSE); // sevenfm: show locations of known enemies
gGameSettings.fOptions[TOPTION_REPORT_MISS_MARGIN] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_REPORT_MISS_MARGIN" , FALSE ); // HEADROCK HAM 4: Shot offset report
gGameSettings.fOptions[TOPTION_USE_LOGICAL_BODYTYPES] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_USE_LOGICAL_BODYTYPES" , FALSE );
gGameSettings.fOptions[TOPTION_ALT_MAP_COLOR] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_ALT_MAP_COLOR" , FALSE ); // HEADROCK HAM 4: Strategic Map Colors
@@ -620,6 +621,7 @@ BOOLEAN SaveGameSettings()
settings << "TOPTION_ZOMBIES = " << (gGameSettings.fOptions[TOPTION_ZOMBIES] ? "TRUE" : "FALSE" ) << endl;
settings << "TOPTION_ENABLE_INVENTORY_POPUPS = " << (gGameSettings.fOptions[TOPTION_ENABLE_INVENTORY_POPUPS] ? "TRUE" : "FALSE" ) << endl; // the_bob : enable popups for picking items from sector inv
settings << "TOPTION_MERCENARY_FORMATIONS = " << (gGameSettings.fOptions[TOPTION_MERCENARY_FORMATIONS] ? "TRUE" : "FALSE" ) << endl;
settings << "TOPTION_SHOW_ENEMY_LOCATION = " << (gGameSettings.fOptions[TOPTION_SHOW_ENEMY_LOCATION] ? "TRUE" : "FALSE" ) << endl;
settings << "TOPTION_CHEAT_MODE_OPTIONS_HEADER = " << (gGameSettings.fOptions[TOPTION_CHEAT_MODE_OPTIONS_HEADER] ? "TRUE" : "FALSE" ) << endl;
settings << "TOPTION_FORCE_BOBBY_RAY_SHIPMENTS = " << (gGameSettings.fOptions[TOPTION_FORCE_BOBBY_RAY_SHIPMENTS] ? "TRUE" : "FALSE" ) << endl;
@@ -847,6 +849,7 @@ void InitGameSettings()
gGameSettings.fOptions[TOPTION_INVERT_WHEEL] = FALSE;
gGameSettings.fOptions[ TOPTION_MERCENARY_FORMATIONS ] = FALSE; // Flugente: mercenary formations
gGameSettings.fOptions[ TOPTION_SHOW_ENEMY_LOCATION ] = FALSE; // sevenfm: show locations of known enemies
// arynn: Cheat/Debug Menu
gGameSettings.fOptions[ TOPTION_CHEAT_MODE_OPTIONS_HEADER ] = FALSE;
+3
View File
@@ -101,6 +101,9 @@ enum
// Flugente: mercenary formations
TOPTION_MERCENARY_FORMATIONS,
// sevenfm: new settings
TOPTION_SHOW_ENEMY_LOCATION,
// arynn: Debug/Cheat
TOPTION_CHEAT_MODE_OPTIONS_HEADER,
TOPTION_FORCE_BOBBY_RAY_SHIPMENTS, // force all pending Bobby Ray shipments
+63
View File
@@ -4500,6 +4500,69 @@ void HandleExplosionWarningAnimations( )
}
}
}
// show known opponents
if (gGameSettings.fOptions[TOPTION_SHOW_ENEMY_LOCATION] &&
gTacticalStatus.ubCurrentTeam == gbPlayerNum &&
!gTacticalStatus.fAtLeastOneGuyOnMultiSelect &&
pSoldier->stats.bLife >= OKLIFE &&
!pSoldier->IsUnconscious() &&
IS_MERC_BODY_TYPE(pSoldier) &&
!pSoldier->IsSpotting())
{
SOLDIERTYPE *pOpponent;
INT8 bKnowledge;
INT32 sSpot;
INT8 bLevel;
// look through this man's personal & public opplists for opponents known
for (UINT32 uiLoop = 0; uiLoop < guiNumMercSlots; uiLoop++)
{
pOpponent = MercSlots[uiLoop];
// if this merc is inactive, at base, on assignment, or dead
if (!pOpponent || !ValidOpponent(pSoldier, pOpponent))
{
continue; // next merc
}
bKnowledge = Knowledge(pSoldier, pOpponent->ubID);
// if this opponent is unknown personally and publicly
if (bKnowledge == NOT_HEARD_OR_SEEN || bKnowledge > SEEN_LAST_TURN || bKnowledge < HEARD_LAST_TURN)
{
continue;
}
// obtain opponent's location and level
sSpot = KnownLocation(pSoldier, pOpponent->ubID);
bLevel = KnownLevel(pSoldier, pOpponent->ubID);
if (TileIsOutOfBounds(sSpot))
{
continue;
}
if (pOpponent->bVisible != -1)
{
continue;
}
// show location
usColor = Get16BPPColor(FROMRGB(96, 96, 96));
sRadius = (INT32)(sqrt(0.5) * (20));
if (bLevel > 0)
{
DrawTraitRadius(sSpot, bLevel, sRadius, 2, usColor);
DrawTraitRadius(sSpot, bLevel, sRadius + 4, 2, usColor);
}
else
{
DrawTraitRadius(sSpot, bLevel, sRadius, 2, usColor);
}
}
}
}
}
}
+3 -1
View File
@@ -6575,6 +6575,7 @@ STR16 zOptionsToggleText[] =
L"显示LBE(携行具)物品",
L"反转鼠标滚轮", //L"Invert mouse wheel",
L"保持佣兵间距", // when multiple mercs are selected, they will try to keep their relative distances
L"Show enemy location", // show locator on last known enemy location
L"--作弊模式选项--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER,
L"强制 Bobby Ray 送货", // force all pending Bobby Ray shipments
L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END
@@ -6692,7 +6693,8 @@ STR16 zOptionsScreenHelpText[] =
L"打开时,会直接显示该区域最后一个敌人的大致位置。",
L"打开时,在区域物品栏界面,右键点击装有物品的携行具时可直接显示包含的物品。",
L"打开时,反转鼠标滚轮方向。",
L"打开时,当选择了多个佣兵,他们在前进时会保持彼此的间距。(|C|t|r|l+|A|l|t+|G", // L"When multiple mercs are selected, they will try to keep their relative distances while moving. (|C|t|r|l+|S|h|i|f|t+|G)",
L"When ON and multiple mercs are selected, they will try to keep their relative distances while moving.\n(press |C|t|r|l+|A|l|t+|G to toggle mode or |S|h|i|f|t + click to move in formation)", //TODO.Translate
L"When ON, shows last known enemy location.", //TODO.Translate
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER",
L"强制 Bobby Ray 出货",
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END",
+3 -1
View File
@@ -6577,6 +6577,7 @@ STR16 zOptionsToggleText[] =
L"Show LBE Content", // TODO.Translate
L"Invert mouse wheel", // TODO.Translate
L"Formation Movement", // when multiple mercs are selected, they will try to keep their relative distances // TODO.Translate
L"Show enemy location", // show locator on last known enemy location
L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER,
L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments
L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END
@@ -6694,7 +6695,8 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, approximate locations of the last enemies in the sector are highlighted.", // TODO.Translate
L"When ON, show the contents of an LBE item, otherwise show the regular NAS interface.", // TODO.Translate
L"When ON, inverts mouse wheel directions.", // TODO.Translate
L"When ON and multiple mercs are selected, they will try to keep their relative distances while moving. (|C|t|r|l+|A|l|t+|G)", // TODO.Translate
L"When ON and multiple mercs are selected, they will try to keep their relative distances while moving.\n(press |C|t|r|l+|A|l|t+|G to toggle mode or |S|h|i|f|t + click to move in formation)", //TODO.Translate
L"When ON, shows last known enemy location.", //TODO.Translate
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER",
L"Force all pending Bobby Ray shipments",
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END",
+3 -1
View File
@@ -6575,6 +6575,7 @@ STR16 zOptionsToggleText[] =
L"Show LBE Content",
L"Invert Mouse Wheel",
L"Formation Movement", // when multiple mercs are selected, they will try to keep their relative distances
L"Show enemy location", // show locator on last known enemy location
L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER,
L"Force Bobby Ray Shipments", // force all pending Bobby Ray shipments
L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END
@@ -6692,7 +6693,8 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, approximate locations of the last enemies in the sector will be highlighted.",
L"When ON, will show the contents of an LBE item; otherwise, regular NAS interface will be shown.",
L"When ON, inverts mouse wheel directions.",
L"When ON and multiple mercs are selected, they will try to keep their relative distances while moving. (|C|t|r|l+|A|l|t+|G)",
L"When ON and multiple mercs are selected, they will try to keep their relative distances while moving.\n(press |C|t|r|l+|A|l|t+|G to toggle mode or |S|h|i|f|t + click to move in formation)",
L"When ON, shows last known enemy location.",
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER",
L"Force all pending Bobby Ray shipments",
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END",
+5 -3
View File
@@ -6581,9 +6581,10 @@ STR16 zOptionsToggleText[] =
L"Situer ennemi restant",
L"Afficher contenu LBE/DESC.",
L"Inverser molette/souris",
L"Déplacement tactique", // when multiple mercs are selected, they will try to keep their relative distances
L"Déplacement tactique", // when multiple mercs are selected, they will try to keep their relative distances
L"Show enemy location", // show locator on last known enemy location
L"--Options mode triche--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER,
L"Forcer envois Bobby Ray", // force all pending Bobby Ray shipments
L"Forcer envois Bobby Ray", // force all pending Bobby Ray shipments
L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END
L"--OPTIONS DE DEBUG--", // an example options screen options header (pure text)
L"Afficher déviation balle", // Screen messages showing amount and direction of shot deviation.
@@ -6698,7 +6699,8 @@ STR16 zOptionsScreenHelpText[] =
L"Si activé, la zone où se trouve le reste des ennemis dans le secteur, est mis en évidence.",
L"Si activé, montre le contenu d'un élément LBE quand la fenêtre de description est ouverte.",
L"Si activé, inverse le sens de la molette de la souris.",
L"Lorsque plusieurs mercenaires sont sélectionnés, ils vont garder leurs distances en se déplaçant. (|C|t|r|l+|A|l|t+|G)",
L"When ON and multiple mercs are selected, they will try to keep their relative distances while moving.\n(press |C|t|r|l+|A|l|t+|G to toggle mode or |S|h|i|f|t + click to move in formation)", //TODO.Translate
L"When ON, shows last known enemy location.", //TODO.Translate
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER",
L"Forcer tous les envois en attente de Bobby Ray",
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END",
+3 -1
View File
@@ -6448,6 +6448,7 @@ STR16 zOptionsToggleText[] =
L"Tascheninhalt anzeigen",
L"Mausradrichtung umkehren",
L"Bewegung in Formation", // when multiple mercs are selected, they will try to keep their relative distances
L"Show enemy location", // show locator on last known enemy location
L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER,
L"Erzwinge BR Lieferung", // force all pending Bobby Ray shipments
L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END
@@ -6565,7 +6566,8 @@ STR16 zOptionsScreenHelpText[] =
L"Wenn diese Funktion aktiviert ist, wird die ungefähre Postion der verbleibenden Feinde auf der Übersichtskarte schraffiert",
L"Wenn diese Funktion aktiviert ist, wird in der erweiterten Beschreibung von Taschen statt den Anbauteilen deren Inhalt angezeigt.",
L"Wenn diese Funktion aktiviert ist, wird die Mausradrichtung umgekehrt",
L"Wenn diese Funktion aktiviert ist und mehrere Sölnder ausgewählt sind, werden sich diese in Formation (in relativen Abständen zueinander) bewegen. (|C|t|r|l+|A|l|t+|G)",
L"When ON and multiple mercs are selected, they will try to keep their relative distances while moving.\n(press |C|t|r|l+|A|l|t+|G to toggle mode or |S|h|i|f|t + click to move in formation)", //TODO.Translate
L"When ON, shows last known enemy location.", //TODO.Translate
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER",
L"Force all pending Bobby Ray shipments",
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END",
+3 -1
View File
@@ -6560,6 +6560,7 @@ STR16 zOptionsToggleText[] =
L"Show LBE Content", // TODO.Translate
L"Invert mouse wheel", // TODO.Translate
L"Formation Movement", // when multiple mercs are selected, they will try to keep their relative distances // TODO.Translate
L"Show enemy location", // show locator on last known enemy location
L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER,
L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments
L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END
@@ -6677,7 +6678,8 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, approximate locations of the last enemies in the sector are highlighted.", // TODO.Translate
L"When ON, show the contents of an LBE item, otherwise show the regular NAS interface.", // TODO.Translate
L"When ON, inverts mouse wheel directions.", // TODO.Translate
L"When ON and multiple mercs are selected, they will try to keep their relative distances while moving. (|C|t|r|l+|A|l|t+|G)", // TODO.Translate
L"When ON and multiple mercs are selected, they will try to keep their relative distances while moving.\n(press |C|t|r|l+|A|l|t+|G to toggle mode or |S|h|i|f|t + click to move in formation)", //TODO.Translate
L"When ON, shows last known enemy location.", //TODO.Translate
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER",
L"Force all pending Bobby Ray shipments",
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END",
+3 -1
View File
@@ -6579,6 +6579,7 @@ STR16 zOptionsToggleText[] =
L"Show LBE Content", // TODO.Translate
L"Invert mouse wheel", // TODO.Translate
L"Formation Movement", // when multiple mercs are selected, they will try to keep their relative distances // TODO.Translate
L"Show enemy location", // show locator on last known enemy location
L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER,
L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments
L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END
@@ -6696,7 +6697,8 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, approximate locations of the last enemies in the sector are highlighted.", // TODO.Translate
L"When ON, show the contents of an LBE item, otherwise show the regular NAS interface.", // TODO.Translate
L"When ON, inverts mouse wheel directions.", // TODO.Translate
L"When ON and multiple mercs are selected, they will try to keep their relative distances while moving. (|C|t|r|l+|A|l|t+|G)", // TODO.Translate
L"When ON and multiple mercs are selected, they will try to keep their relative distances while moving.\n(press |C|t|r|l+|A|l|t+|G to toggle mode or |S|h|i|f|t + click to move in formation)", //TODO.Translate
L"When ON, shows last known enemy location.", //TODO.Translate
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER",
L"Wymuś wszystkie oczekiwane dostawy od Bobby Ray's.",
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END",
+3 -1
View File
@@ -6571,6 +6571,7 @@ STR16 zOptionsToggleText[] =
L"Показать содержимое разгрузки",
L"Инвертировать колесо мыши",
L"Боевой порядок", // when multiple mercs are selected, they will try to keep their relative distances
L"Показывать расположение", // show locator on last known enemy location
L"--Читерские настройки--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER,
L"Ускорить доставку Бобби Рэя", // force all pending Bobby Ray shipments
L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END
@@ -6688,7 +6689,8 @@ STR16 zOptionsScreenHelpText[] =
L"Если включено, указывается примерное\nположение последних врагов в секторе.",
L"Если включено, показывает содержимое разгрузки,\nиначе - обычный интерфейс новой системы навески.",
L"Если включено, инвертирует направление\nпрокрутки колеса мыши.",
L"Если выбрано несколько наёмников,\nони будут пытаться сохранять взаимное расположение\nи дистанцию при движении (|C|t|r|l+|A|l|t+|G).",
L"Если выбрано несколько наёмников,\nони будут пытаться сохранять взаимное расположение\nи дистанцию при движении\n(нажмите |C|t|r|l+|A|l|t+|G для переключения или |S|h|i|f|t + клик для движения).",
L"Если включено, показывает известное расположение противника\n(нажмите |S|h|i|f|t, чтобы показать источник шума).",
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER",
L"Выберите этот пункт,\nчтобы груз Бобби Рэя прибыл немедленно.",
L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END",