Little Alien

New feature: Rearrange sector inventory
- Press Shift+S in tactical to rearrange sector inventory

- Tactical militia command: "Find Items" menu disabled
- Tactical militia command: orders to dying militia now not possible







git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@69 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
lalien
2006-05-13 15:29:30 +00:00
parent 0aef7a0eea
commit cebf24fb8e
10 changed files with 183 additions and 143 deletions
+1 -1
View File
@@ -67,7 +67,7 @@ enum{
MILCON_MENU_ALL_COMETOME, MILCON_MENU_ALL_COMETOME,
MILCON_MENU_ALL_GETDOWN, MILCON_MENU_ALL_GETDOWN,
MILCON_MENU_ALL_TAKE_COVER, MILCON_MENU_ALL_TAKE_COVER,
MILCON_MENU_ALL_TAKE_ITEMS, //MILCON_MENU_ALL_TAKE_ITEMS,
MILCON_MENU_CANCEL, MILCON_MENU_CANCEL,
MAX_MILCON_STRING_COUNT, MAX_MILCON_STRING_COUNT,
}; };
+139 -130
View File
@@ -938,7 +938,7 @@ void HandleShadingOfLinesForMilitiaControlMenu( void )
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_COMETOME ); UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_COMETOME );
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_GETDOWN ); UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_GETDOWN );
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_COVER ); UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_COVER );
UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_ITEMS ); //UnShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_ITEMS );
} }
else else
{ {
@@ -948,7 +948,7 @@ void HandleShadingOfLinesForMilitiaControlMenu( void )
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_COMETOME ); ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_COMETOME );
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_GETDOWN ); ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_GETDOWN );
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_COVER ); ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_COVER );
ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_ITEMS ); //ShadeStringInBox( ghMilitiaControlBox, MILCON_MENU_ALL_TAKE_ITEMS );
} }
return; return;
@@ -1159,16 +1159,19 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
{ {
case( MILCON_MENU_ATTACK ): case( MILCON_MENU_ATTACK ):
{ {
// Attack !!! if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
pTMilitiaSoldier->bOrders = SEEKENEMY;
pTMilitiaSoldier->bAttitude = AGGRESSIVE;
pTMilitiaSoldier->usUIMovementMode = RUNNING;
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
{ {
//ubVolume = CalcScreamVolume( pSoldier, 10 ); // Attack !!!
MakeNoise( pSoldier->ubID, pSoldier->sGridNo, pSoldier->bLevel, pSoldier->bOverTerrainType, ubVolume, NOISE_SCREAM);
pTMilitiaSoldier->bOrders = SEEKENEMY;
pTMilitiaSoldier->bAttitude = AGGRESSIVE;
pTMilitiaSoldier->usUIMovementMode = RUNNING;
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
{
//ubVolume = CalcScreamVolume( pSoldier, 10 );
MakeNoise( pSoldier->ubID, pSoldier->sGridNo, pSoldier->bLevel, pSoldier->bOverTerrainType, ubVolume, NOISE_SCREAM);
}
} }
// stop showing menu // stop showing menu
@@ -1183,10 +1186,13 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
case( MILCON_MENU_HOLD ): case( MILCON_MENU_HOLD ):
{ {
//Hold Position !!! if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
//ScreenMsg( FONT_WHITE, MSG_INTERFACE, L"Hold Position" ); {
pTMilitiaSoldier->bOrders = STATIONARY; //Hold Position !!!
//pTMilitiaSoldier->bAttitude = DEFENSIVE; //ScreenMsg( FONT_WHITE, MSG_INTERFACE, L"Hold Position" );
pTMilitiaSoldier->bOrders = STATIONARY;
//pTMilitiaSoldier->bAttitude = DEFENSIVE;
}
// stop showing menu // stop showing menu
fShowMilitiaControlMenu = FALSE; fShowMilitiaControlMenu = FALSE;
@@ -1200,32 +1206,34 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
case( MILCON_MENU_RETREAT ): case( MILCON_MENU_RETREAT ):
{ {
INT16 sActionGridNo; if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
pTMilitiaSoldier->bOrders = FARPATROL;
pTMilitiaSoldier->bAttitude = DEFENSIVE;
pTMilitiaSoldier->usUIMovementMode = RUNNING;
// set up next action to run away
sActionGridNo = FindSpotMaxDistFromOpponents( pTMilitiaSoldier );
pTMilitiaSoldier->usNextActionData = sActionGridNo;
if ( pTMilitiaSoldier->usNextActionData != NOWHERE )
{ {
pTMilitiaSoldier->bNextAction = AI_ACTION_RUN_AWAY; INT16 sActionGridNo;
pTMilitiaSoldier->usActionData = ANIM_STAND;
// SEND PENDING ACTION pTMilitiaSoldier->bOrders = FARPATROL;
pTMilitiaSoldier->sPendingActionData2 = sActionGridNo; pTMilitiaSoldier->bAttitude = DEFENSIVE;
pTMilitiaSoldier->ubPendingActionAnimCount = 0; pTMilitiaSoldier->usUIMovementMode = RUNNING;
// set up next action to run away
sActionGridNo = FindSpotMaxDistFromOpponents( pTMilitiaSoldier );
pTMilitiaSoldier->usNextActionData = sActionGridNo;
if ( pTMilitiaSoldier->usNextActionData != NOWHERE )
{
pTMilitiaSoldier->bNextAction = AI_ACTION_RUN_AWAY;
pTMilitiaSoldier->usActionData = ANIM_STAND;
// SEND PENDING ACTION
pTMilitiaSoldier->sPendingActionData2 = sActionGridNo;
pTMilitiaSoldier->ubPendingActionAnimCount = 0;
}
if ( pTMilitiaSoldier->sGridNo != sActionGridNo )
{
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode );
}
} }
if ( pTMilitiaSoldier->sGridNo != sActionGridNo )
{
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode );
}
// stop showing menu // stop showing menu
fShowMilitiaControlMenu = FALSE; fShowMilitiaControlMenu = FALSE;
giAssignHighLine = -1; giAssignHighLine = -1;
@@ -1238,34 +1246,36 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
case( MILCON_MENU_COMETOME ): case( MILCON_MENU_COMETOME ):
{ {
INT16 sActionGridNo, sGridNo, sAdjustedGridNo; if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
UINT8 ubDirection;
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
{ {
// OK, find an adjacent gridno.... INT16 sActionGridNo, sGridNo, sAdjustedGridNo;
sGridNo = pSoldier->sGridNo; UINT8 ubDirection;
// See if we can get there if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
sActionGridNo = FindAdjacentGridEx( pSoldier, sGridNo, &ubDirection, &sAdjustedGridNo, TRUE, FALSE );
if ( sActionGridNo != -1 )
{ {
// SEND PENDING ACTION // OK, find an adjacent gridno....
//pTMilitiaSoldier->ubPendingAction = MERC_STEAL; sGridNo = pSoldier->sGridNo;
pTMilitiaSoldier->sPendingActionData2 = pSoldier->sGridNo;
//pTMilitiaSoldier->bPendingActionData3 = ubDirection;
pTMilitiaSoldier->ubPendingActionAnimCount = 0;
pTMilitiaSoldier->usUIMovementMode = RUNNING;
// CHECK IF WE ARE AT THIS GRIDNO NOW // See if we can get there
if ( pTMilitiaSoldier->sGridNo != sActionGridNo ) sActionGridNo = FindAdjacentGridEx( pSoldier, sGridNo, &ubDirection, &sAdjustedGridNo, TRUE, FALSE );
if ( sActionGridNo != -1 )
{ {
// WALK UP TO DEST FIRST // SEND PENDING ACTION
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode ); //pTMilitiaSoldier->ubPendingAction = MERC_STEAL;
pTMilitiaSoldier->sPendingActionData2 = pSoldier->sGridNo;
//pTMilitiaSoldier->bPendingActionData3 = ubDirection;
pTMilitiaSoldier->ubPendingActionAnimCount = 0;
pTMilitiaSoldier->usUIMovementMode = RUNNING;
// CHECK IF WE ARE AT THIS GRIDNO NOW
if ( pTMilitiaSoldier->sGridNo != sActionGridNo )
{
// WALK UP TO DEST FIRST
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode );
}
} }
} }
} }
// stop showing menu // stop showing menu
fShowMilitiaControlMenu = FALSE; fShowMilitiaControlMenu = FALSE;
giAssignHighLine = -1; giAssignHighLine = -1;
@@ -1278,10 +1288,13 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
case( MILCON_MENU_GETDOWN ): case( MILCON_MENU_GETDOWN ):
{ {
//if ( SoldierCanAffordNewStance( pTeamSoldier, ANIM_PRONE ) ) if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
{ {
SendChangeSoldierStanceEvent( pTMilitiaSoldier, ANIM_PRONE ); //if ( SoldierCanAffordNewStance( pTeamSoldier, ANIM_PRONE ) )
//SendChangeSoldierStanceEvent( pTMilitiaSoldier, ANIM_CROUCH ); {
SendChangeSoldierStanceEvent( pTMilitiaSoldier, ANIM_PRONE );
//SendChangeSoldierStanceEvent( pTMilitiaSoldier, ANIM_CROUCH );
}
} }
// stop showing menu // stop showing menu
@@ -1297,25 +1310,27 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
case( MILCON_MENU_TAKE_COVER ): case( MILCON_MENU_TAKE_COVER ):
{ {
INT16 sActionGridNo; if ( (pTMilitiaSoldier->bActive) && (pTMilitiaSoldier->bInSector) && (pTMilitiaSoldier->bLife >= OKLIFE) )
INT32 iDummy;
sActionGridNo = FindBestNearbyCover(pTMilitiaSoldier,pTMilitiaSoldier->bAIMorale,&iDummy);
if ( sActionGridNo != NOWHERE )
{ {
// SEND PENDING ACTION INT16 sActionGridNo;
pTMilitiaSoldier->sPendingActionData2 = sActionGridNo; INT32 iDummy;
pTMilitiaSoldier->ubPendingActionAnimCount = 0;
pTMilitiaSoldier->usUIMovementMode = RUNNING;
// CHECK IF WE ARE AT THIS GRIDNO NOW sActionGridNo = FindBestNearbyCover(pTMilitiaSoldier,pTMilitiaSoldier->bAIMorale,&iDummy);
if ( pTMilitiaSoldier->sGridNo != sActionGridNo )
if ( sActionGridNo != NOWHERE )
{ {
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode ); // SEND PENDING ACTION
pTMilitiaSoldier->sPendingActionData2 = sActionGridNo;
pTMilitiaSoldier->ubPendingActionAnimCount = 0;
pTMilitiaSoldier->usUIMovementMode = RUNNING;
// CHECK IF WE ARE AT THIS GRIDNO NOW
if ( pTMilitiaSoldier->sGridNo != sActionGridNo )
{
SendGetNewSoldierPathEvent( pTMilitiaSoldier, sActionGridNo, pTMilitiaSoldier->usUIMovementMode );
}
} }
} }
// stop showing menu // stop showing menu
fShowMilitiaControlMenu = FALSE; fShowMilitiaControlMenu = FALSE;
giAssignHighLine = -1; giAssignHighLine = -1;
@@ -1336,7 +1351,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++) for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
{ {
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 ) if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
{ {
pTeamSoldier->bOrders = SEEKENEMY; pTeamSoldier->bOrders = SEEKENEMY;
pTeamSoldier->bAttitude = AGGRESSIVE; pTeamSoldier->bAttitude = AGGRESSIVE;
@@ -1363,7 +1378,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++) for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
{ {
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 ) if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
{ {
pTeamSoldier->bOrders = STATIONARY; pTeamSoldier->bOrders = STATIONARY;
pTeamSoldier->bAttitude = DEFENSIVE; pTeamSoldier->bAttitude = DEFENSIVE;
@@ -1390,7 +1405,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++) for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
{ {
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 ) if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
{ {
pTeamSoldier->bOrders = FARPATROL; pTeamSoldier->bOrders = FARPATROL;
pTeamSoldier->bAttitude = DEFENSIVE; pTeamSoldier->bAttitude = DEFENSIVE;
@@ -1447,7 +1462,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++) for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
{ {
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 ) if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
{ {
if ( GetSoldier( &pSoldier, gusSelectedSoldier ) ) if ( GetSoldier( &pSoldier, gusSelectedSoldier ) )
{ {
@@ -1494,7 +1509,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++) for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
{ {
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 ) if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
{ {
//if ( SoldierCanAffordNewStance( pTeamSoldier, ANIM_PRONE ) ) //if ( SoldierCanAffordNewStance( pTeamSoldier, ANIM_PRONE ) )
{ {
@@ -1550,7 +1565,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++) for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
{ {
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 ) if ( (pTeamSoldier->bActive) && (pTeamSoldier->bInSector) && (pTeamSoldier->bLife >= OKLIFE) )
{ {
// See if we can get there // See if we can get there
sActionGridNo = FindBestNearbyCover(pTeamSoldier,pTeamSoldier->bAIMorale,&iDummy); sActionGridNo = FindBestNearbyCover(pTeamSoldier,pTeamSoldier->bAIMorale,&iDummy);
@@ -1585,64 +1600,58 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
case( MILCON_MENU_ALL_TAKE_ITEMS ): //case( MILCON_MENU_ALL_TAKE_ITEMS ):
{ //{
UINT8 cnt; // UINT8 cnt;
SOLDIERTYPE *pTeamSoldier; // SOLDIERTYPE *pTeamSoldier;
//
// cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID;
cnt = gTacticalStatus.Team[ MILITIA_TEAM ].bFirstID; // for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++)
// {
// if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 )
// {
for ( pTeamSoldier = MercPtrs[ cnt ]; cnt <= gTacticalStatus.Team[ MILITIA_TEAM ].bLastID; cnt++, pTeamSoldier++) // //CREATURE_IMMOBILE = 2
{ // if ( (pTeamSoldier->bMobility != 2) && (pTeamSoldier->bActionPoints >= MinPtsToMove(pTeamSoldier)) )
if ( pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bLife > 0 ) // {
{ // //SEARCH_GENERAL_ITEMS=0
// pTeamSoldier->bAction = SearchForItems( pTeamSoldier, 0, pTeamSoldier->inv[HANDPOS].usItem );
//CREATURE_IMMOBILE = 2 // pTeamSoldier->usNextActionData = SearchForItems( pTeamSoldier, 0, pTeamSoldier->inv[HANDPOS].usItem );
if ( (pTeamSoldier->bMobility != 2) && (pTeamSoldier->bActionPoints >= MinPtsToMove(pTeamSoldier)) )
{
//SEARCH_GENERAL_ITEMS=0
pTeamSoldier->bAction = SearchForItems( pTeamSoldier, 0, pTeamSoldier->inv[HANDPOS].usItem );
pTeamSoldier->usNextActionData = SearchForItems( pTeamSoldier, 0, pTeamSoldier->inv[HANDPOS].usItem );
//if ( pTeamSoldier->usNextActionData != NOWHERE ) // //if ( pTeamSoldier->usNextActionData != NOWHERE )
{ // {
pTeamSoldier->bNextAction = AI_ACTION_PICKUP_ITEM; // pTeamSoldier->bNextAction = AI_ACTION_PICKUP_ITEM;
//pTeamSoldier->usActionData = ANIM_STAND; // //pTeamSoldier->usActionData = ANIM_STAND;
} // }
if (pTeamSoldier->bAction == AI_ACTION_PICKUP_ITEM) // if (pTeamSoldier->bAction == AI_ACTION_PICKUP_ITEM)
{ // {
// the item pool index was stored in the special data field // // the item pool index was stored in the special data field
pTeamSoldier->uiPendingActionData1 = pTeamSoldier->iNextActionSpecialData; // pTeamSoldier->uiPendingActionData1 = pTeamSoldier->iNextActionSpecialData;
} // }
// //if (pTeamSoldier->bAction != AI_ACTION_NONE)
// //{
// // return( pTeamSoldier->bAction );
// //}
// }
// }
// }
// // stop showing menu
// fShowMilitiaControlMenu = FALSE;
// giAssignHighLine = -1;
// // set dirty flag
// fTeamPanelDirty = TRUE;
// fMapScreenBottomDirty = TRUE;
//}
//break;
case( MILCON_MENU_CANCEL ):
//if (pTeamSoldier->bAction != AI_ACTION_NONE)
//{
// return( pTeamSoldier->bAction );
//}
}
}
}
// stop showing menu
fShowMilitiaControlMenu = FALSE;
giAssignHighLine = -1;
// set dirty flag
fTeamPanelDirty = TRUE;
fMapScreenBottomDirty = TRUE;
}
break;
case( MILCON_MENU_CANCEL ):
{ {
//Cancel //Cancel
//ScreenMsg( FONT_WHITE, MSG_INTERFACE, L"Cancel" ); //ScreenMsg( FONT_WHITE, MSG_INTERFACE, L"Cancel" );
@@ -1658,7 +1667,7 @@ void MilitiaControlMenuBtnCallBack( MOUSE_REGION * pRegion, INT32 iReason )
// reset list of characters // reset list of characters
ResetSelectedListForMapScreen( ); ResetSelectedListForMapScreen( );
} }
break; break;
} }
} }
+33 -2
View File
@@ -224,7 +224,7 @@ void HandleStealthChangeFromUIKeys( );
UINT8 gubCheatLevel = STARTING_CHEAT_LEVEL; UINT8 gubCheatLevel = STARTING_CHEAT_LEVEL;
extern void StackObjs( OBJECTTYPE * pSourceObj, OBJECTTYPE * pTargetObj, UINT8 ubNumberToCopy );
extern BOOLEAN CompatibleAmmoForGun( OBJECTTYPE *pTryObject, OBJECTTYPE *pTestObject ); extern BOOLEAN CompatibleAmmoForGun( OBJECTTYPE *pTryObject, OBJECTTYPE *pTestObject );
extern void DetermineWhichAssignmentMenusCanBeShown( void ); extern void DetermineWhichAssignmentMenusCanBeShown( void );
extern void DetermineWhichMilitiaControlMenusCanBeShown( void ); //lal extern void DetermineWhichMilitiaControlMenusCanBeShown( void ); //lal
@@ -3067,6 +3067,8 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
HandleStanceChangeFromUIKeys( ANIM_PRONE ); HandleStanceChangeFromUIKeys( ANIM_PRONE );
break; break;
// Make auto reload with magazines from sector inventory // Make auto reload with magazines from sector inventory
case 'R': case 'R':
if (! (gTacticalStatus.uiFlags & INCOMBAT) ) if (! (gTacticalStatus.uiFlags & INCOMBAT) )
@@ -3094,7 +3096,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
// Search for ammo in sector // Search for ammo in sector
for ( UINT32 uiLoop = 0; uiLoop < guiNumWorldItems; uiLoop++ ) for ( UINT32 uiLoop = 0; uiLoop < guiNumWorldItems; uiLoop++ )
{ {
if ( gWorldItems[ uiLoop ].fExists) //item exists if ( gWorldItems[ uiLoop ].fExists) //item exists && (gWorldItems[ uiLoop ].usFlags & WORLD_ITEM_REACHABLE)
{ {
if ( ( Item[ gWorldItems[ uiLoop ].o.usItem ].usItemClass & IC_AMMO ) ) // the item is ammo if ( ( Item[ gWorldItems[ uiLoop ].o.usItem ].usItemClass & IC_AMMO ) ) // the item is ammo
{ {
@@ -3188,6 +3190,35 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
case 'S':
if (! (gTacticalStatus.uiFlags & INCOMBAT) )
{
for ( UINT32 uiLoop = 0; uiLoop < guiNumWorldItems; uiLoop++ )
{
if ( ( gWorldItems[ uiLoop ].fExists) && (gWorldItems[ uiLoop ].usFlags & WORLD_ITEM_REACHABLE) )//item exists and is reachable
{
//find out how many items can be put in a big slot
INT8 ubSlotLimit = ItemSlotLimit( gWorldItems[ uiLoop ].o.usItem, BIGPOCK1POS );
//if we still have some space
if ( gWorldItems[ uiLoop ].o.ubNumberOfObjects < ubSlotLimit )
{
//if the next item is the same
if ( gWorldItems[ uiLoop ].o.usItem == gWorldItems[ uiLoop + 1 ].o.usItem )
{
INT8 ubObjCount = ubSlotLimit - gWorldItems[ uiLoop ].o.ubNumberOfObjects;
INT8 bPointsToMove = __min( ubObjCount, gWorldItems[ uiLoop +1 ].o.ubNumberOfObjects );
StackObjs( &(gWorldItems[ uiLoop +1 ].o), &(gWorldItems[ uiLoop ].o), bPointsToMove);
}
}
}
}
}
break;
case 's': case 's':
if( fCtrl ) if( fCtrl )
+1 -1
View File
@@ -614,7 +614,7 @@ STR16 pMilitiaControlMenuStrings[] =
L"All: Come to me", L"All: Come to me",
L"All: Get down", L"All: Get down",
L"All: Take cover", L"All: Take cover",
L"All: Find items", //L"All: Find items",
L"Cancel", // cancel this menu L"Cancel", // cancel this menu
}; };
+1 -1
View File
@@ -628,7 +628,7 @@ STR16 pMilitiaControlMenuStrings[] =
L"All: Come to me", L"All: Come to me",
L"All: Get down", L"All: Get down",
L"All: Take cover", L"All: Take cover",
L"All: Find items", //L"All: Find items",
L"Cancel", // cancel this menu L"Cancel", // cancel this menu
}; };
+1 -1
View File
@@ -620,7 +620,7 @@ STR16 pMilitiaControlMenuStrings[] =
L"All: Come to me", L"All: Come to me",
L"All: Get down", L"All: Get down",
L"All: Take cover", L"All: Take cover",
L"All: Find items", //L"All: Find items",
L"Cancel", // cancel this menu L"Cancel", // cancel this menu
}; };
+1 -1
View File
@@ -603,7 +603,7 @@ STR16 pMilitiaControlMenuStrings[] =
L"All: Come to me", L"All: Come to me",
L"All: Get down", L"All: Get down",
L"All: Take cover", L"All: Take cover",
L"All: Find items", //L"All: Find items",
L"Cancel", // cancel this menu L"Cancel", // cancel this menu
}; };
+1 -1
View File
@@ -613,7 +613,7 @@ STR16 pMilitiaControlMenuStrings[] =
L"All: Come to me", L"All: Come to me",
L"All: Get down", L"All: Get down",
L"All: Take cover", L"All: Take cover",
L"All: Find items", //L"All: Find items",
L"Cancel", // cancel this menu L"Cancel", // cancel this menu
}; };
+1 -1
View File
@@ -614,7 +614,7 @@ STR16 pMilitiaControlMenuStrings[] =
L"All: Come to me", L"All: Come to me",
L"All: Get down", L"All: Get down",
L"All: Take cover", L"All: Take cover",
L"All: Find items", //L"All: Find items",
L"Cancel", // cancel this menu L"Cancel", // cancel this menu
}; };
+1 -1
View File
@@ -620,7 +620,7 @@ STR16 pMilitiaControlMenuStrings[] =
L"All: Come to me", L"All: Come to me",
L"All: Get down", L"All: Get down",
L"All: Take cover", L"All: Take cover",
L"All: Find items", //L"All: Find items",
L"Cancel", // cancel this menu L"Cancel", // cancel this menu
}; };