//********************************************************************************************************* void CDisplayerVisualActivitySequence::addWanderSteps(const CVector &pos) { //H_AUTO(R2_CDisplayerVisualActivitySequence_addWanderSteps) CDecal *decal = new CDecal; decal->setTexture(CV_WanderDecalTexture.get(), true, true); decal->setWorldMatrixForSpot(CVector2f(pos.x, pos.y), CV_WanderDecalSize.get()); _Decals.push_back(decal); }
//********************************************************************************************************* void CDisplayerVisualActivitySequence::addFootSteps(const NLMISC::CLine &line) { //H_AUTO(R2_CDisplayerVisualActivitySequence_addFootSteps) CDecal *decal = new CDecal; decal->setTexture(CV_FootStepDecalTexture.get(), false, true); CVector2f start2f(line.V0.x, line.V0.y); CVector2f end2f(line.V1.x, line.V1.y); float dist = (end2f - start2f).norm(); if (dist != 0.f) { decal->setWorldMatrixForArrow(start2f, end2f, CV_FootStepDecalWidth.get()); CMatrix uvMatrix; uvMatrix.setScale(CVector(CV_FootStepDecalUScale.get() * dist, 1.f, 1.f)); decal->setTextureMatrix(uvMatrix); } _Decals.push_back(decal); _FootSteps.push_back(line); }