mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Fix: inventory button to change firemodes was greyed out for guns with one base fire mode, even if it had several barrel configurations
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8701 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -1090,7 +1090,8 @@ void UpdateSMPanel( )
|
||||
if ( ( ( IsGunAutofireCapable( &gpSMCurrentMerc->inv[HANDPOS] ) || IsGunBurstCapable( &gpSMCurrentMerc->inv[HANDPOS], FALSE, gpSMCurrentMerc ) ) && !Weapon[gpSMCurrentMerc->inv[HANDPOS].usItem].NoSemiAuto )
|
||||
|| IsGrenadeLauncherAttached ( &(gpSMCurrentMerc->inv[HANDPOS]) )
|
||||
|| IsWeaponAttached( &(gpSMCurrentMerc->inv[HANDPOS]), IC_GUN )
|
||||
|| IsWeaponAttached( &( gpSMCurrentMerc->inv[HANDPOS] ), IC_BLADE ) )
|
||||
|| IsWeaponAttached( &( gpSMCurrentMerc->inv[HANDPOS] ), IC_BLADE )
|
||||
|| HasSeveralBarrelConfigurations( gpSMCurrentMerc->inv[HANDPOS].usItem ) )
|
||||
{
|
||||
EnableButton( iSMPanelButtons[ BURSTMODE_BUTTON ] );
|
||||
}
|
||||
|
||||
@@ -2539,6 +2539,16 @@ UINT8 GetFittingBarrelMode( UINT16 usItem, UINT8 aBarrelMode )
|
||||
return bestfound;
|
||||
}
|
||||
|
||||
bool HasSeveralBarrelConfigurations( UINT16 usItem )
|
||||
{
|
||||
if ( ( Item[usItem].usItemClass & IC_BOBBY_GUN ) )
|
||||
{
|
||||
return (Weapon[Item[usItem].ubClassIndex].barrelconfigurations.size() > 1);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Flugente: this function calls UseGun and handles the firing of severeal shots at once
|
||||
BOOLEAN UseGunWrapper( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo )
|
||||
{
|
||||
|
||||
@@ -546,5 +546,6 @@ BOOLEAN ArtilleryStrike( UINT16 usItem, UINT8 ubOwnerID, UINT32 usStartingGridNo
|
||||
// Flugente: functions for using several barrels at once
|
||||
UINT8 GetNextBarrelMode( UINT16 usItem, UINT8 aBarrelMode );
|
||||
UINT8 GetFittingBarrelMode( UINT16 usItem, UINT8 aBarrelMode ); // return a number of barrels this gun can fire, equal or below aBarrelMode
|
||||
bool HasSeveralBarrelConfigurations( UINT16 usItem );
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user