mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
- new setting in game options: Space selects next squad, when turned on there is no need to press Shift+Space to select next squad
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@165 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+4
-1
@@ -242,7 +242,7 @@ void InitGameSettings()
|
||||
gGameSettings.fOptions[ TOPTION_TOGGLE_WIREFRAME ] = TRUE;
|
||||
gGameSettings.fOptions[ TOPTION_3D_CURSOR ] = FALSE;
|
||||
gGameSettings.fOptions[ TOPTION_CTH_CURSOR ] = TRUE;
|
||||
//Madd:
|
||||
//Madd:
|
||||
gGameSettings.fOptions[ TOPTION_GL_BURST_CURSOR ] = TRUE;
|
||||
gGameSettings.fOptions[ TOPTION_DROP_ALL ] = FALSE;
|
||||
gGameSettings.fOptions[ TOPTION_GL_HIGH_ANGLE ] = FALSE;
|
||||
@@ -250,6 +250,9 @@ void InitGameSettings()
|
||||
// JA2Gold
|
||||
gGameSettings.fOptions[ TOPTION_MERC_CASTS_LIGHT ] = TRUE;
|
||||
|
||||
//lalien
|
||||
gGameSettings.fOptions[ TOPTION_SPACE_SELECTS_NEXT_SQUAD ] = TRUE;
|
||||
|
||||
gGameSettings.ubSizeOfDisplayCover = 4;
|
||||
gGameSettings.ubSizeOfLOS = 4;
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ enum
|
||||
TOPTION_DROP_ALL,
|
||||
TOPTION_GL_HIGH_ANGLE,
|
||||
TOPTION_AIM_LEVEL_RESTRICTION,
|
||||
TOPTION_SPACE_SELECTS_NEXT_SQUAD,
|
||||
NUM_GAME_OPTIONS, //Toggle up this will be able to be Toggled by the player
|
||||
|
||||
//These options will NOT be toggable by the Player
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ INT16 zVersionLabel[256] = { L"Beta v. 0.98" };
|
||||
#else
|
||||
|
||||
//RELEASE BUILD VERSION
|
||||
INT16 zVersionLabel[256] = { L"Release v1.13.164" };
|
||||
INT16 zVersionLabel[256] = { L"Release v1.13.165" };
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
+2
-2
@@ -43,7 +43,7 @@
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libexpatMT.lib mss32.lib winmm.lib smackw32.lib fmodvc.lib"
|
||||
OutputFile="C:\games\Jagged Alliance 2 v1.13\ja2_debug_v1.13.148_2006_05_30.exe"
|
||||
OutputFile="C:\games\Jagged Alliance 2 v1.13\ja2_debug_v1.13.165_2006_06_04.exe"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
|
||||
@@ -546,7 +546,7 @@
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib fmodvc.lib"
|
||||
OutputFile="C:\Games\Jagged Alliance 2 v1.13\ja2_release_v1.13.148_2006_05_30.exe"
|
||||
OutputFile="C:\Games\Jagged Alliance 2 v1.13\ja2_release_v1.13.165_2006_06_04.exe"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
AdditionalLibraryDirectories=".\..\..\Standard Gaming Platform\"
|
||||
|
||||
@@ -506,6 +506,8 @@ void UpdateStatColor( UINT32 uiTimer, BOOLEAN fUpdate );
|
||||
|
||||
extern void UpdateItemHatches();
|
||||
|
||||
extern SOLDIERTYPE *FindNextActiveSquad( SOLDIERTYPE *pSoldier );
|
||||
|
||||
// Wraps up check for AP-s get from a different soldier for in a vehicle...
|
||||
INT8 GetUIApsToDisplay( SOLDIERTYPE *pSoldier )
|
||||
{
|
||||
@@ -5286,85 +5288,109 @@ void CheckForAndAddMercToTeamPanel( SOLDIERTYPE *pSoldier )
|
||||
UINT8 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs )
|
||||
{
|
||||
INT32 cnt;
|
||||
INT32 bFirstID;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
INT32 bFirstID;
|
||||
SOLDIERTYPE *pTeamSoldier;
|
||||
|
||||
bFirstID = GetTeamSlotFromPlayerID( pSoldier->ubID );
|
||||
|
||||
if ( bFirstID == -1 )
|
||||
{
|
||||
return( pSoldier->ubID );
|
||||
}
|
||||
bFirstID = GetTeamSlotFromPlayerID( pSoldier->ubID );
|
||||
|
||||
if ( bFirstID == -1 )
|
||||
{
|
||||
return( pSoldier->ubID );
|
||||
}
|
||||
|
||||
for ( cnt = ( bFirstID + 1 ); cnt < NUM_TEAM_SLOTS; cnt++ )
|
||||
{
|
||||
if ( gTeamPanel[ cnt ].fOccupied )
|
||||
{
|
||||
// Set Id to close
|
||||
pTeamSoldier = MercPtrs[ gTeamPanel[ cnt ].ubID ];
|
||||
if ( gTeamPanel[ cnt ].fOccupied )
|
||||
{
|
||||
// Set Id to close
|
||||
pTeamSoldier = MercPtrs[ gTeamPanel[ cnt ].ubID ];
|
||||
|
||||
if ( fOnlyRegularMercs )
|
||||
{
|
||||
if ( pTeamSoldier->bActive && ( AM_AN_EPC( pTeamSoldier ) || AM_A_ROBOT( pTeamSoldier ) ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if ( fOnlyRegularMercs )
|
||||
{
|
||||
if ( pTeamSoldier->bActive && ( AM_AN_EPC( pTeamSoldier ) || AM_A_ROBOT( pTeamSoldier ) ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ( fGoodForLessOKLife )
|
||||
{
|
||||
if ( pTeamSoldier->bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && pTeamSoldier->bAssignment < ON_DUTY && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// none found,
|
||||
// Now loop back
|
||||
for ( cnt = 0; cnt < bFirstID; cnt++ )
|
||||
{
|
||||
if ( gTeamPanel[ cnt ].fOccupied )
|
||||
{
|
||||
pTeamSoldier = MercPtrs[ gTeamPanel[ cnt ].ubID ];
|
||||
|
||||
if ( fOnlyRegularMercs )
|
||||
{
|
||||
if ( pTeamSoldier->bActive && ( AM_AN_EPC( pTeamSoldier ) || AM_A_ROBOT( pTeamSoldier ) ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ( fGoodForLessOKLife )
|
||||
{
|
||||
if ( pTeamSoldier->bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && pTeamSoldier->bAssignment < ON_DUTY && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( fGoodForLessOKLife )
|
||||
{
|
||||
if ( pTeamSoldier->bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && pTeamSoldier->bAssignment < ON_DUTY && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( ( gusSelectedSoldier != NO_SOLDIER ) && ( gGameSettings.fOptions[ TOPTION_SPACE_SELECTS_NEXT_SQUAD ] ) )
|
||||
{
|
||||
// only allow if nothing in hand and if in SM panel, the Change Squad button must be enabled
|
||||
if ( ( ( gsCurInterfacePanel != TEAM_PANEL ) || ( ButtonList[ iTEAMPanelButtons[ CHANGE_SQUAD_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
|
||||
{
|
||||
SOLDIERTYPE *pNewSoldier;
|
||||
INT32 iCurrentSquad;
|
||||
|
||||
//Select next squad
|
||||
iCurrentSquad = CurrentSquad( );
|
||||
|
||||
pNewSoldier = FindNextActiveSquad( MercPtrs[ gusSelectedSoldier ] );
|
||||
|
||||
if ( pNewSoldier->bAssignment != iCurrentSquad )
|
||||
{
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_SQUAD_ACTIVE ], ( CurrentSquad( ) + 1 ) );
|
||||
|
||||
return( pNewSoldier->ubID );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( !gGameSettings.fOptions[ TOPTION_SPACE_SELECTS_NEXT_SQUAD ] )
|
||||
{
|
||||
// none found,
|
||||
// Now loop back
|
||||
for ( cnt = 0; cnt < bFirstID; cnt++ )
|
||||
{
|
||||
if ( gTeamPanel[ cnt ].fOccupied )
|
||||
{
|
||||
pTeamSoldier = MercPtrs[ gTeamPanel[ cnt ].ubID ];
|
||||
|
||||
if ( fOnlyRegularMercs )
|
||||
{
|
||||
if ( pTeamSoldier->bActive && ( AM_AN_EPC( pTeamSoldier ) || AM_A_ROBOT( pTeamSoldier ) ) )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ( fGoodForLessOKLife )
|
||||
{
|
||||
if ( pTeamSoldier->bLife > 0 && pTeamSoldier->bActive && pTeamSoldier->bInSector && pTeamSoldier->bTeam == gbPlayerNum && pTeamSoldier->bAssignment < ON_DUTY && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( OK_CONTROLLABLE_MERC( pTeamSoldier) && OK_INTERRUPT_MERC( pTeamSoldier ) && pSoldier->bAssignment == pTeamSoldier->bAssignment )
|
||||
{
|
||||
return( (UINT8)gTeamPanel[ cnt ].ubID );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// IF we are here, keep as we always were!
|
||||
return( pSoldier->ubID );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1816,60 +1816,62 @@ void GetKeyboardInput( UINT32 *puiNewEvent )
|
||||
fShift = InputEvent.usKeyState & SHIFT_DOWN ? TRUE : FALSE;
|
||||
switch( InputEvent.usParam )
|
||||
{
|
||||
case SPACE:
|
||||
case SPACE:
|
||||
|
||||
// nothing in hand and either not in SM panel, or the matching button is enabled if we are in SM panel
|
||||
if ( !( gTacticalStatus.uiFlags & ENGAGED_IN_CONV ) &&
|
||||
( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ NEXTMERC_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
|
||||
// nothing in hand and either not in SM panel, or the matching button is enabled if we are in SM panel
|
||||
if ( !( gTacticalStatus.uiFlags & ENGAGED_IN_CONV ) &&
|
||||
( ( gsCurInterfacePanel != SM_PANEL ) || ( ButtonList[ iSMPanelButtons[ NEXTMERC_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
|
||||
{
|
||||
if ( !InKeyRingPopup( ) )
|
||||
{
|
||||
if ( !InKeyRingPopup( ) )
|
||||
if ( _KeyDown( SHIFT ) )
|
||||
{
|
||||
if ( _KeyDown( SHIFT ) )
|
||||
{
|
||||
SOLDIERTYPE *pNewSoldier;
|
||||
INT32 iCurrentSquad;
|
||||
SOLDIERTYPE *pNewSoldier;
|
||||
INT32 iCurrentSquad;
|
||||
|
||||
if ( gusSelectedSoldier != NO_SOLDIER )
|
||||
{
|
||||
// only allow if nothing in hand and if in SM panel, the Change Squad button must be enabled
|
||||
if (
|
||||
( ( gsCurInterfacePanel != TEAM_PANEL ) || ( ButtonList[ iTEAMPanelButtons[ CHANGE_SQUAD_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
|
||||
if ( gusSelectedSoldier != NO_SOLDIER )
|
||||
{
|
||||
// only allow if nothing in hand and if in SM panel, the Change Squad button must be enabled
|
||||
if (
|
||||
( ( gsCurInterfacePanel != TEAM_PANEL ) || ( ButtonList[ iTEAMPanelButtons[ CHANGE_SQUAD_BUTTON ] ]->uiFlags & BUTTON_ENABLED ) ) )
|
||||
{
|
||||
//Select next squad
|
||||
iCurrentSquad = CurrentSquad( );
|
||||
|
||||
pNewSoldier = FindNextActiveSquad( MercPtrs[ gusSelectedSoldier ] );
|
||||
|
||||
if ( pNewSoldier->bAssignment != iCurrentSquad )
|
||||
{
|
||||
//Select next squad
|
||||
iCurrentSquad = CurrentSquad( );
|
||||
HandleLocateSelectMerc( pNewSoldier->ubID, LOCATEANDSELECT_MERC );
|
||||
|
||||
pNewSoldier = FindNextActiveSquad( MercPtrs[ gusSelectedSoldier ] );
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_SQUAD_ACTIVE ], ( CurrentSquad( ) + 1 ) );
|
||||
|
||||
if ( pNewSoldier->bAssignment != iCurrentSquad )
|
||||
{
|
||||
HandleLocateSelectMerc( pNewSoldier->ubID, LOCATEANDSELECT_MERC );
|
||||
|
||||
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_SQUAD_ACTIVE ], ( CurrentSquad( ) + 1 ) );
|
||||
|
||||
// Center to guy....
|
||||
LocateSoldier( gusSelectedSoldier, SETLOCATOR );
|
||||
}
|
||||
// Center to guy....
|
||||
LocateSoldier( gusSelectedSoldier, SETLOCATOR );
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( gusSelectedSoldier != NO_SOLDIER )
|
||||
{ //Select next merc
|
||||
UINT8 bID;
|
||||
|
||||
bID = FindNextMercInTeamPanel( MercPtrs[ gusSelectedSoldier ], FALSE, FALSE );
|
||||
HandleLocateSelectMerc( bID, LOCATEANDSELECT_MERC );
|
||||
|
||||
// Center to guy....
|
||||
LocateSoldier( gusSelectedSoldier, SETLOCATOR );
|
||||
}
|
||||
}
|
||||
|
||||
*puiNewEvent = M_ON_TERRAIN;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( gusSelectedSoldier != NO_SOLDIER )
|
||||
{ //Select next merc
|
||||
UINT8 bID;
|
||||
|
||||
bID = FindNextMercInTeamPanel( MercPtrs[ gusSelectedSoldier ], FALSE, FALSE );
|
||||
|
||||
HandleLocateSelectMerc( bID, LOCATEANDSELECT_MERC );
|
||||
|
||||
// Center to guy....
|
||||
LocateSoldier( gusSelectedSoldier, SETLOCATOR );
|
||||
}
|
||||
}
|
||||
|
||||
*puiNewEvent = M_ON_TERRAIN;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case TAB:
|
||||
// nothing in hand and either not in SM panel, or the matching button is enabled if we are in SM panel
|
||||
if ( ( gpItemPointer == NULL ) &&
|
||||
|
||||
@@ -3416,6 +3416,7 @@ STR16 zOptionsToggleText[] =
|
||||
L"Enemies Drop All Items",
|
||||
L"High Angle Grenade Launching",
|
||||
L"Restrict Extra Aim Levels to Rifles",
|
||||
L"Space selects next squad",
|
||||
};
|
||||
|
||||
//This is the help text associated with the above toggles.
|
||||
@@ -3486,6 +3487,7 @@ STR16 zOptionsScreenHelpText[] =
|
||||
L"Enemies drop all items on death.",
|
||||
L"Grenade launchers fire grenades at higher angles.",
|
||||
L"Aim levels beyond 4 are restricted to rifles and sniper rifles.",
|
||||
L"When enabled |S|p|a|c|e selects next squad automatically.",
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -3220,6 +3220,8 @@ STR16 zOptionsToggleText[] =
|
||||
L"Gegner lassen alles fallen",
|
||||
L"High Angle Grenade Launching",
|
||||
L"Restrict Extra Aim Levels to Rifles",
|
||||
L"Space selects next squad",
|
||||
L"When enabled |S|p|a|c|e selects next squad automatically.",
|
||||
};
|
||||
|
||||
//This is the help text associated with the above toggles.
|
||||
|
||||
@@ -3405,6 +3405,8 @@ STR16 zOptionsToggleText[] =
|
||||
L"Enemies Drop All Items",
|
||||
L"High Angle Grenade Launching",
|
||||
L"Restrict Extra Aim Levels to Rifles",
|
||||
L"Space selects next squad",
|
||||
L"When enabled |S|p|a|c|e selects next squad automatically.",
|
||||
};
|
||||
|
||||
//This is the help text associated with the above toggles.
|
||||
|
||||
Reference in New Issue
Block a user