74 lines
2.0 KiB
C++
74 lines
2.0 KiB
C++
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Crytek Engine Source File.
|
|
// Copyright (C), Crytek Studios, 2002.
|
|
// -------------------------------------------------------------------------
|
|
// File name: bflyes.h
|
|
// Version: v1.00
|
|
// Created: 28/5/2001 by Vladimir Kajalin
|
|
// Compilers: Visual Studio.NET
|
|
// Description:
|
|
// -------------------------------------------------------------------------
|
|
// History:
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////
|
|
/*
|
|
#ifndef _BFLIES_H
|
|
#define _BFLIES_H
|
|
|
|
|
|
|
|
#define MAX_BF_COUNT 256
|
|
#define BF_RANGE 16
|
|
const int BF_RANGEx2 = BF_RANGE*2;
|
|
const int BF_CAMERA_SHIFT = BF_RANGE-1;
|
|
|
|
#define rn() ((((float)rand())/RAND_MAX)-0.5f)
|
|
#define fBFPerformanceFactor (pITimer->GetFrameTime()*40)
|
|
|
|
#define GROUND_LEVEL 0.1f
|
|
|
|
class Cry_Butterfly
|
|
{
|
|
float m_fWingPos,m_fAngle,m_fAngleDelta,m_fHigh,m_fHightDelta,m_fLifeSpeed,m_fSize;
|
|
Vec3d m_vCurWingPos;
|
|
bool m_bMoveDir;
|
|
|
|
inline void Limit(float * val, float min, float max)
|
|
{
|
|
if(*val > max) *val = max;
|
|
else if(*val < min) *val = min;
|
|
}
|
|
|
|
bool IsPointInvalid(const Vec3d & pos);
|
|
|
|
public:
|
|
Cry_Butterfly();
|
|
void Render(ITimer * pITimer, IRenderer * pIRenderer, const Vec3d & vCamPos, const bool & bEven, const Vec3d & vColor, struct_VERTEX_FORMAT_P3F_COL4UB_TEX2F * pVertBufChunk, CTerrain * pTerrain );
|
|
|
|
Vec3d m_vPos;
|
|
};
|
|
|
|
class CBFManager : public Cry3DEngineBase
|
|
{
|
|
Cry_Butterfly * m_pBFArray;
|
|
CVertexBuffer * m_pVideoBuffer;
|
|
SVertexStream m_Indixes;
|
|
int m_nTexID;
|
|
bool m_bEven;
|
|
Vec3d m_vForward;
|
|
int m_nCurrentObjectsCount;
|
|
|
|
public:
|
|
CBFManager();
|
|
void Render(CTerrain * pTerrain);
|
|
~CBFManager();
|
|
void KillBF(const Vec3d & vExploPos, const float fRadius);
|
|
void SetCount(int nCount) { m_nCurrentObjectsCount = min(nCount, MAX_BF_COUNT); }
|
|
int GetCount() { return m_nCurrentObjectsCount; }
|
|
int GetMemoryUsage() { return sizeof(Cry_Butterfly)*MAX_BF_COUNT + sizeof(ushort)*MAX_BF_COUNT; }
|
|
};
|
|
|
|
|
|
#endif
|
|
*/ |