mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
Merged from revision: 7129
Updates/Improvements (by Sevenfm) 1. Quick inventory items: Press [ALT] + [1..0] for quick access to predefined items in tactical (ja2_options.ini: QUICK_ITEM_0 to QUICK_ITEM_9) Press [ALT] + [`] (tilde key left to [1]) to put item back to inventory and switch hands. The item will be put in the same slot it was taken from (unless it was stacked or game was reloaded). 2. Also a few quick hotkeys: [ALT] + [q] - switch to sling (same as [SHIFT] + [k]) [CTRL] + [q] - switch hands [SHIFT] + [q] - drop item from main hand to the ground Additional info: -some hotkeys do not work in cheat mode -only NIV -only one-handed items supported -stacked items currently not supported -remembered item slot is lost when you reload game 3. A few small fixes for dynamic tooltips and other things git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7130 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+33
-11
@@ -1792,7 +1792,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
SetBackgroundRectFilled( iBack );
|
||||
}
|
||||
|
||||
if ( ( !pSoldier->aiData.bNeutral && ( pSoldier->bSide != gbPlayerNum ) ) )
|
||||
if ( !pSoldier->aiData.bNeutral && ( pSoldier->bSide != gbPlayerNum ) )
|
||||
{
|
||||
BltVideoObjectFromIndex( FRAME_BUFFER, guiRADIO2, pSoldier->sLocatorFrame, sXPos, sYPos, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
}
|
||||
@@ -1906,8 +1906,11 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
|
||||
BOOLEAN bInCombat = gTacticalStatus.uiFlags & TURNBASED && gTacticalStatus.uiFlags & INCOMBAT;
|
||||
BOOLEAN bStealth = pSoldier->bStealthMode || pSoldier->bSoldierFlagMask & ( SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER );
|
||||
// sevenfm: for mercs use name color as cover indicator
|
||||
if( pSoldier->bTeam == OUR_TEAM && ! ( pSoldier->flags.uiStatusFlags & ( SOLDIER_VEHICLE | SOLDIER_ROBOT) ) &&
|
||||
// sevenfm: for mercs use name color as cover indicator
|
||||
// only use color when there is enemy in sector
|
||||
if( pSoldier->bTeam == OUR_TEAM &&
|
||||
(NumEnemyInSector() != 0) &&
|
||||
! ( pSoldier->flags.uiStatusFlags & ( SOLDIER_VEHICLE | SOLDIER_ROBOT) ) &&
|
||||
( ( gGameExternalOptions.ubShowCoverIndicator == 1 && ( bInCombat || bStealth ) ) ||
|
||||
( gGameExternalOptions.ubShowCoverIndicator == 2 && bStealth ) ) )
|
||||
{
|
||||
@@ -3876,8 +3879,8 @@ void PopupDoorOpenMenu( BOOLEAN fClosingDoor )
|
||||
INT32 iMenuAnchorX, iMenuAnchorY;
|
||||
CHAR16 zDisp[ 100 ];
|
||||
|
||||
iMenuAnchorX = gOpenDoorMenu.sX;
|
||||
iMenuAnchorY = gOpenDoorMenu.sY;
|
||||
//iMenuAnchorX = gOpenDoorMenu.sX;
|
||||
//iMenuAnchorY = gOpenDoorMenu.sY;
|
||||
|
||||
// Blit background!
|
||||
//BltVideoObjectFromIndex( FRAME_BUFFER, guiBUTTONBORDER, 0, iMenuAnchorX, iMenuAnchorY, VO_BLT_SRCTRANSPARENCY, NULL );
|
||||
@@ -6219,9 +6222,9 @@ void GetEnemyInfoString( SOLDIERTYPE* pSelectedSoldier, SOLDIERTYPE* pTargetSold
|
||||
else
|
||||
{ // show general name
|
||||
if( Item[pTargetSoldier->inv[HEAD1POS].usItem].gasmask )
|
||||
wcscat( NameStr, L"Mask" );
|
||||
wcscat( NameStr, TacticalStr[ GENERAL_INFO_MASK ] );
|
||||
else if( Item[pTargetSoldier->inv[HEAD1POS].usItem].nightvisionrangebonus || Item[pTargetSoldier->inv[HEAD1POS].usItem].cavevisionrangebonus )
|
||||
wcscat( NameStr, L"NVG" );
|
||||
wcscat( NameStr, TacticalStr[ GENERAL_INFO_NVG ] );
|
||||
}
|
||||
}
|
||||
if( pTargetSoldier->inv[HEAD2POS].exists() )
|
||||
@@ -6235,9 +6238,9 @@ void GetEnemyInfoString( SOLDIERTYPE* pSelectedSoldier, SOLDIERTYPE* pTargetSold
|
||||
else
|
||||
{ // show general name
|
||||
if( Item[pTargetSoldier->inv[HEAD1POS].usItem].gasmask )
|
||||
wcscat( NameStr, L"Mask" );
|
||||
wcscat( NameStr, TacticalStr[ GENERAL_INFO_MASK ] );
|
||||
else if( Item[pTargetSoldier->inv[HEAD1POS].usItem].nightvisionrangebonus || Item[pTargetSoldier->inv[HEAD1POS].usItem].cavevisionrangebonus )
|
||||
wcscat( NameStr, L"NVG" );
|
||||
wcscat( NameStr, TacticalStr[ GENERAL_INFO_NVG ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6249,7 +6252,7 @@ void GetEnemyInfoString( SOLDIERTYPE* pSelectedSoldier, SOLDIERTYPE* pTargetSold
|
||||
{
|
||||
if ( showExactInfo )
|
||||
{
|
||||
swprintf( NameStr, L"%s", ItemNames[ pTargetSoldier->inv[ HANDPOS ].usItem ] );
|
||||
swprintf( NameStr, L"%s", ShortItemNames[ pTargetSoldier->inv[ HANDPOS ].usItem ] );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -6292,7 +6295,7 @@ void GetEnemyInfoString( SOLDIERTYPE* pSelectedSoldier, SOLDIERTYPE* pTargetSold
|
||||
else
|
||||
{
|
||||
if( pTargetSoldier->inv[ HANDPOS ].usItem )
|
||||
swprintf( NameStr, L"%s", L"Item" );
|
||||
swprintf( NameStr, L"%s", TacticalStr[ GENERAL_INFO_ITEM ] );
|
||||
else
|
||||
swprintf( NameStr, L"%s", L"" );
|
||||
}
|
||||
@@ -6373,6 +6376,7 @@ void ShowAdditionalInfo( INT16 sX, INT16 sY, SOLDIERTYPE* pTargetSoldier )
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
// show awareness sign only when in stealth mode or disguised
|
||||
if( ( gusSelectedSoldier != NOBODY ) &&
|
||||
( pTargetSoldier->bTeam == ENEMY_TEAM || pTargetSoldier->bTeam == CIV_TEAM && !pTargetSoldier->aiData.bNeutral ) &&
|
||||
( MercPtrs[ gusSelectedSoldier ]->bStealthMode || MercPtrs[ gusSelectedSoldier ]->bSoldierFlagMask & ( SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER ) ) )
|
||||
{
|
||||
if( pTargetSoldier->aiData.bOppList[ MercPtrs[ gusSelectedSoldier ]->ubID ] == SEEN_CURRENTLY )
|
||||
@@ -6416,6 +6420,15 @@ void ShowEnemyHealthBar( INT16 sX, INT16 sY, SOLDIERTYPE* pSoldier )
|
||||
UINT8 ubLines = gGameExternalOptions.ubShowEnemyHealth - 1;
|
||||
INT32 iBarWidth = 24;
|
||||
INT32 iBarHeight;
|
||||
SOLDIERTYPE *pSelectedSoldier;
|
||||
|
||||
if ( gusSelectedSoldier != NOBODY )
|
||||
pSelectedSoldier = MercPtrs[ gusSelectedSoldier ];
|
||||
else
|
||||
return;
|
||||
|
||||
if ( pSelectedSoldier->aiData.bOppList[pSoldier->ubID] != SEEN_CURRENTLY )
|
||||
return;
|
||||
|
||||
// show enemy health bar
|
||||
if( gGameExternalOptions.ubShowEnemyHealth > 1 && gTacticalStatus.ubCurrentTeam == OUR_TEAM )
|
||||
@@ -6437,6 +6450,15 @@ void ShowRankIcon( INT16 sXPos, INT16 sYPos, SOLDIERTYPE* pSoldier )
|
||||
{
|
||||
INT32 iBack;
|
||||
INT16 sX, sY;
|
||||
SOLDIERTYPE *pSelectedSoldier;
|
||||
|
||||
if ( gusSelectedSoldier != NOBODY )
|
||||
pSelectedSoldier = MercPtrs[ gusSelectedSoldier ];
|
||||
else
|
||||
return;
|
||||
|
||||
if ( pSelectedSoldier->aiData.bOppList[pSoldier->ubID] != SEEN_CURRENTLY )
|
||||
return;
|
||||
|
||||
if( gGameExternalOptions.ubShowEnemyRankIcon && gTacticalStatus.ubCurrentTeam == OUR_TEAM )
|
||||
//&& (!gGameExternalOptions.fEnemyNames) && (!gGameExternalOptions.fEnemyRank))
|
||||
|
||||
Reference in New Issue
Block a user