mirror of
https://github.com/1dot13/source.git
synced 2026-09-02 14:36:06 +02:00
- bugfix: Bobby Rays filter buttons (again). Now it should work
- bugfix: Hand to hand combat (knifes, claws, ...) was disabled in auto battle. This was done in revision 51 because of CTDs that always occured there. I enabled hand to hand combat and tested ~50 auto battles. No single CTD. It seems that the CTD has been fixed since revision 51. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@1788 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -3058,14 +3058,14 @@ void CalcFirstIndexForPage( STORE_INVENTORY *pInv, UINT32 uiItemClass )
|
|||||||
//Get to the first index on the page
|
//Get to the first index on the page
|
||||||
for(i=gusFirstItemIndex; i<=gusLastItemIndex; i++)
|
for(i=gusFirstItemIndex; i<=gusLastItemIndex; i++)
|
||||||
{
|
{
|
||||||
|
bCntItem = FALSE;
|
||||||
|
|
||||||
if (guiCurrentUsedFilterMode == -1)
|
if (guiCurrentUsedFilterMode == -1)
|
||||||
{
|
{
|
||||||
bCntItem = TRUE;
|
bCntItem = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
bCntItem = FALSE;
|
|
||||||
|
|
||||||
usItemIndex = pInv[ i ].usItemIndex;
|
usItemIndex = pInv[ i ].usItemIndex;
|
||||||
|
|
||||||
switch (guiCurrentUsedFilterMode)
|
switch (guiCurrentUsedFilterMode)
|
||||||
@@ -3130,6 +3130,8 @@ void CalcFirstIndexForPage( STORE_INVENTORY *pInv, UINT32 uiItemClass )
|
|||||||
//Get to the first index on the page
|
//Get to the first index on the page
|
||||||
for(i=gusFirstItemIndex; i<=gusLastItemIndex; i++)
|
for(i=gusFirstItemIndex; i<=gusLastItemIndex; i++)
|
||||||
{
|
{
|
||||||
|
bCntItem = FALSE;
|
||||||
|
|
||||||
if( Item[ pInv[ i ].usItemIndex ].usItemClass & uiItemClass )
|
if( Item[ pInv[ i ].usItemIndex ].usItemClass & uiItemClass )
|
||||||
{
|
{
|
||||||
if (uiItemClass == IC_BOBBY_GUN)
|
if (uiItemClass == IC_BOBBY_GUN)
|
||||||
@@ -3140,8 +3142,6 @@ void CalcFirstIndexForPage( STORE_INVENTORY *pInv, UINT32 uiItemClass )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
bCntItem = FALSE;
|
|
||||||
|
|
||||||
usItemIndex = LaptopSaveInfo.BobbyRayInventory[ i ].usItemIndex;
|
usItemIndex = LaptopSaveInfo.BobbyRayInventory[ i ].usItemIndex;
|
||||||
|
|
||||||
if (Weapon[ Item[usItemIndex].ubClassIndex ].ubWeaponType == guiCurrentGunFilterMode)
|
if (Weapon[ Item[usItemIndex].ubClassIndex ].ubWeaponType == guiCurrentGunFilterMode)
|
||||||
|
|||||||
+17
-14
@@ -4128,7 +4128,8 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
OBJECTTYPE *pItem;
|
OBJECTTYPE *pItem;
|
||||||
//OBJECTTYPE tempItem;
|
OBJECTTYPE tempItem;
|
||||||
|
|
||||||
PlayAutoResolveSample( (UINT8)(BULLET_IMPACT_1+PreRandom(3)), RATE_11025, 50, 1, MIDDLEPAN );
|
PlayAutoResolveSample( (UINT8)(BULLET_IMPACT_1+PreRandom(3)), RATE_11025, 50, 1, MIDDLEPAN );
|
||||||
if( !pTarget->pSoldier->bLife )
|
if( !pTarget->pSoldier->bLife )
|
||||||
{ //Soldier already dead (can't kill him again!)
|
{ //Soldier already dead (can't kill him again!)
|
||||||
@@ -4146,19 +4147,21 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
|||||||
pAttacker->pSoldier->usAttackingWeapon = pAttacker->pSoldier->inv[ pAttacker->bWeaponSlot ].usItem;
|
pAttacker->pSoldier->usAttackingWeapon = pAttacker->pSoldier->inv[ pAttacker->bWeaponSlot ].usItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
//if( pAttacker->bWeaponSlot != HANDPOS )
|
// WANNE: Does this lead to a CTD -> no I did not get any CTD, so I reenabled it
|
||||||
//{ //switch items
|
if( pAttacker->bWeaponSlot != HANDPOS )
|
||||||
// memcpy( &tempItem, &pAttacker->pSoldier->inv[ HANDPOS ], sizeof( OBJECTTYPE ) );
|
{
|
||||||
// memcpy( &pAttacker->pSoldier->inv[ HANDPOS ], &pAttacker->pSoldier->inv[ pAttacker->bWeaponSlot ], sizeof( OBJECTTYPE ) ); //CTD
|
//switch items
|
||||||
// iImpact = HTHImpact( pAttacker->pSoldier, pTarget->pSoldier, ubAccuracy, (BOOLEAN)(fKnife | fClaw) );
|
memcpy( &tempItem, &pAttacker->pSoldier->inv[ HANDPOS ], sizeof( OBJECTTYPE ) );
|
||||||
// memcpy( &pAttacker->pSoldier->inv[ pAttacker->bWeaponSlot ], &pAttacker->pSoldier->inv[ HANDPOS ], sizeof( OBJECTTYPE ) );
|
memcpy( &pAttacker->pSoldier->inv[ HANDPOS ], &pAttacker->pSoldier->inv[ pAttacker->bWeaponSlot ], sizeof( OBJECTTYPE ) ); //CTD
|
||||||
// memcpy( &pAttacker->pSoldier->inv[ HANDPOS ], &tempItem, sizeof( OBJECTTYPE ) );
|
iImpact = HTHImpact( pAttacker->pSoldier, pTarget->pSoldier, ubAccuracy, (BOOLEAN)(fKnife | fClaw) );
|
||||||
//}
|
memcpy( &pAttacker->pSoldier->inv[ pAttacker->bWeaponSlot ], &pAttacker->pSoldier->inv[ HANDPOS ], sizeof( OBJECTTYPE ) );
|
||||||
//else
|
memcpy( &pAttacker->pSoldier->inv[ HANDPOS ], &tempItem, sizeof( OBJECTTYPE ) );
|
||||||
//{
|
}
|
||||||
// iImpact = HTHImpact( pAttacker->pSoldier, pTarget->pSoldier, ubAccuracy, (BOOLEAN)(fKnife || fClaw) );
|
else
|
||||||
//}
|
{
|
||||||
iImpact = 0;
|
iImpact = HTHImpact( pAttacker->pSoldier, pTarget->pSoldier, ubAccuracy, (BOOLEAN)(fKnife || fClaw) );
|
||||||
|
}
|
||||||
|
|
||||||
iNewLife = pTarget->pSoldier->bLife - iImpact;
|
iNewLife = pTarget->pSoldier->bLife - iImpact;
|
||||||
|
|
||||||
if( pAttacker->uiFlags & CELL_MERC )
|
if( pAttacker->uiFlags & CELL_MERC )
|
||||||
|
|||||||
Reference in New Issue
Block a user