Merged from revision: 7350

Fixes (by Buggler)
- Fixed mouse region for item stack popup in strategic screen for non-standard resolutions
- Disabled Ctrl+Click for dropping item to sector inventory in combat
- Disabled Sector Inventory Stack Popup in combat
- Removed unused Ja2Options.ini: MIN_RANGE_FOR_FULL_COWERING_TARGET_PENALTY and STAMINA_HIT (by Buggler & Sevenfm)

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7351 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2014-07-21 18:07:47 +00:00
parent f086611d21
commit d7d1cce626
6 changed files with 33 additions and 21 deletions
-3
View File
@@ -1446,9 +1446,6 @@ void LoadGameExternalOptions()
gGameExternalOptions.iQuickItem8 = iniReader.ReadInteger("Tactical Interface Settings", "QUICK_ITEM_8", 0, -100, MAXITEMS);
gGameExternalOptions.iQuickItem9 = iniReader.ReadInteger("Tactical Interface Settings", "QUICK_ITEM_9", 0, -100, MAXITEMS);
gGameExternalOptions.iQuickItem0 = iniReader.ReadInteger("Tactical Interface Settings", "QUICK_ITEM_0", 0, -100, MAXITEMS);
// New setting to change stamina
gGameExternalOptions.uStaminaHit = iniReader.ReadInteger("Tactical Interface Settings", "STAMINA_HIT", 10000);
// Alternative system for aiming - progressive method depending on marksmanship of Merc
gGameExternalOptions.bAltAimEnabled = iniReader.ReadBoolean("Tactical Interface Settings","ALT_AIMING_ENABLED",FALSE);
-2
View File
@@ -816,8 +816,6 @@ typedef struct
// for small progress bar
BOOLEAN fSmallSizeProgressbar;
// stamina multiplier (for all weapons eg knife fist gun
INT32 uStaminaHit;
//enable ext mouse key
BOOLEAN bAltAimEnabled;
BOOLEAN bAimedBurstEnabled;
@@ -1323,8 +1323,8 @@ void MapInvenPoolSlots(MOUSE_REGION * pRegion, INT32 iReason )
{
DeleteItemDescriptionBox();
}
// HEADROCK HAM 5: Sector Inventory Item Desc Box no longer accessible during combat.
// HEADROCK HAM 5: Sector Inventory Item Desc Box no longer accessible during combat.
if( !CanPlayerUseSectorInventory( &(Menptr[ gCharactersList[ bSelectedInfoChar ].usSolID ]) ) )
{
DoScreenIndependantMessageBox( New113HAMMessage[ 22 ], MSG_BOX_FLAG_OK, NULL );
@@ -1343,9 +1343,18 @@ void MapInvenPoolSlots(MOUSE_REGION * pRegion, INT32 iReason )
}
else if(fValidPointer)
{
InitSectorStackPopup( MercPtrs[gCharactersList[bSelectedInfoChar].usSolID], twItem, iCounter, (SCREEN_WIDTH - INTERFACE_WIDTH)/2, yResOffset - 10, 261, ( SCREEN_HEIGHT - PLAYER_INFO_Y ) );
fTeamPanelDirty=TRUE;
fInterfacePanelDirty = DIRTYLEVEL2;
// Sector Inventory Stack Popup no longer accessible during combat.
if( !CanPlayerUseSectorInventory( &(Menptr[ gCharactersList[ bSelectedInfoChar ].usSolID ]) ) )
{
DoScreenIndependantMessageBox( New113HAMMessage[ 22 ], MSG_BOX_FLAG_OK, NULL );
return;
}
else
{
InitSectorStackPopup( MercPtrs[gCharactersList[bSelectedInfoChar].usSolID], twItem, iCounter, xResOffset, yResOffset - 10, 261, ( SCREEN_HEIGHT - PLAYER_INFO_Y ) );
fTeamPanelDirty=TRUE;
fInterfacePanelDirty = DIRTYLEVEL2;
}
}
}
}
@@ -3689,18 +3698,18 @@ BOOLEAN CanPlayerUseSectorInventory( SOLDIERTYPE *pSelectedSoldier )
if(gGameExternalOptions.fEnableInventoryPoolQ)
return(TRUE);
#endif
INT16 sSectorX, sSectorY, sSectorZ;
INT16 sX, sY, sZ;
//Get the sector that has a battle
BOOLEAN fInCombat = GetCurrentBattleSectorXYZAndReturnTRUEIfThereIsABattle( &sSectorX, &sSectorY, &sSectorZ );
BOOLEAN fInCombat = GetCurrentBattleSectorXYZAndReturnTRUEIfThereIsABattle( &sX, &sY, &sZ );
//if there is a battle going on
if( fInCombat )
{
//if the selected map is the one with the combat
if( ( ( sSelMapX == sSectorX ) &&
( sSelMapY == sSectorY ) &&
( iCurrentMapSectorZ == sSectorZ )
//if the selected soldier is in combat sector
if( ( ( pSelectedSoldier->sSectorX == sX ) &&
( pSelectedSoldier->sSectorY == sY ) &&
( pSelectedSoldier->bSectorZ == sZ )
)
)
{
+11 -3
View File
@@ -888,6 +888,7 @@ void InvmaskRegionBtnCallBack( MOUSE_REGION *pRegion, INT32 iReason );
void TrashCanBtnCallback( MOUSE_REGION *pRegion, INT32 iReason);
extern void KeyRingItemPanelButtonCallback( MOUSE_REGION *pRegion, INT32 iReason );
extern BOOLEAN CanPlayerUseSectorInventory( SOLDIERTYPE *pSelectedSoldier );
// handle talking
void HandleSpontanousTalking( void );
@@ -9801,7 +9802,7 @@ void MAPInvClickCallback( MOUSE_REGION *pRegion, INT32 iReason )
if ( !InItemStackPopup( ) )
{
// CHRISL: Changed final parameter so that we fill the inventory screen
InitItemStackPopup( pSoldier, (UINT8)uiHandPos, 0, INV_REGION_Y, 261, ( SCREEN_HEIGHT - PLAYER_INFO_Y ) );
InitItemStackPopup( pSoldier, (UINT8)uiHandPos, xResOffset, INV_REGION_Y, 261, ( SCREEN_HEIGHT - PLAYER_INFO_Y ) );
fTeamPanelDirty=TRUE;
fInterfacePanelDirty = DIRTYLEVEL2;
}
@@ -9890,10 +9891,17 @@ void MAPBeginItemPointer( SOLDIERTYPE *pSoldier, UINT8 ubHandPos )
pSoldier->inv[ubHandPos].MoveThisObjectTo(gItemPointer, numToMove, pSoldier, ubHandPos);
//Autoplace to map sector invectory
//Autoplace to map sector inventory
if ( _KeyDown(CTRL) )
{
if( AutoPlaceObjectToWorld(pSoldier, &gItemPointer) )
// if in battle inform player they will have to do this in tactical
if( !CanPlayerUseSectorInventory( &Menptr[ gCharactersList[ bSelectedInfoChar ].usSolID ] ) )
{
// return item to original slot
PlaceObject( pSoldier, ubHandPos, &gItemPointer );
DoMapMessageBox( MSG_BOX_BASIC_STYLE, pMapInventoryErrorString[ 4 ], MAP_SCREEN, MSG_BOX_FLAG_OK, NULL );
}
else if( AutoPlaceObjectToWorld(pSoldier, &gItemPointer) )
{
//INVRenderINVPanelItem( pSoldier, uiHandPos, DIRTYLEVEL2); // redraw the empty slot
+2 -2
View File
@@ -9581,7 +9581,7 @@ BOOLEAN InitItemStackPopup( SOLDIERTYPE *pSoldier, UINT8 ubPosition, INT16 sInvX
}
// Set some globals
gsItemPopupInvX = sInvX + xResOffset;
gsItemPopupInvX = sInvX;
gsItemPopupInvY = sInvY;
gsItemPopupInvWidth = sInvWidth;
gsItemPopupInvHeight = sInvHeight;
@@ -9715,7 +9715,7 @@ BOOLEAN InitItemStackPopup( SOLDIERTYPE *pSoldier, UINT8 ubPosition, INT16 sInvX
gfInItemStackPopup = TRUE;
//Restrict mouse cursor to panel
aRect.iLeft = sInvX + xResOffset;
aRect.iLeft = sInvX + sOffSetX;
aRect.iTop = sInvY + sOffSetY;
aRect.iRight = aRect.iLeft + min(cnt,sItemWidth) * usPopupWidth;
aRect.iBottom = aRect.iTop + (INT32)(ceil((float)cnt/(float)sItemWidth)+1) * usPopupHeight;
+1 -1
View File
@@ -4218,7 +4218,7 @@ void SMInvClickCallback( MOUSE_REGION * pRegion, INT32 iReason )
inv_interface_start_x = 213;
else
inv_interface_start_x = 248;
InitItemStackPopup( gpSMCurrentMerc, (UINT8)uiHandPos, inv_interface_start_x, INV_INTERFACE_START_Y, invWidth, ( SCREEN_HEIGHT - INV_INTERFACE_START_Y ) );
InitItemStackPopup( gpSMCurrentMerc, (UINT8)uiHandPos, inv_interface_start_x + xResOffset, INV_INTERFACE_START_Y, invWidth, ( SCREEN_HEIGHT - INV_INTERFACE_START_Y ) );
}
}