Merge pull request #1657 from John3/fixAimOffset

Correct AIPlayer aim.
This commit is contained in:
Areloch 2016-07-04 18:11:37 -05:00 committed by GitHub
commit fd7f8e5c8c
2 changed files with 25 additions and 0 deletions

View file

@ -293,6 +293,30 @@ void AIPlayer::clearAim()
mAimOffset = Point3F(0.0f, 0.0f, 0.0f);
}
/**
* Sets the correct aim for the bot to the target
*/
void AIPlayer::getMuzzleVector(U32 imageSlot,VectorF* vec)
{
MatrixF mat;
getMuzzleTransform(imageSlot,&mat);
MountedImage& image = mMountedImageList[imageSlot];
if (image.dataBlock->correctMuzzleVector)
{
disableHeadZCalc();
if (getCorrectedAim(mat, vec))
{
enableHeadZCalc();
return;
}
enableHeadZCalc();
}
mat.getColumn(1,vec);
}
/**
* Set the state of a movement trigger.
*

View file

@ -170,6 +170,7 @@ public:
void setAimLocation( const Point3F &location );
Point3F getAimLocation() const { return mAimLocation; }
void clearAim();
void AIPlayer::getMuzzleVector(U32 imageSlot,VectorF* vec);
bool checkInLos(GameBase* target = NULL, bool _useMuzzle = false, bool _checkEnabled = false);
bool checkInFoV(GameBase* target = NULL, F32 camFov = 45.0f, bool _checkEnabled = false);
F32 getTargetDistance(GameBase* target, bool _checkEnabled);