Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef SEALIFE_H
#define SEALIFE_H
#include "D3DEnum.h"
#define WATER_COLOR 0x00008899
#define NUM_FISH 44
#define NUM_DOLPHINS 5
#define NUM_CAMFISH 1
#define NUM_FISH1 50
#define XEXTENT (40.0f*(rnd()-rnd()))
#define YEXTENT (10.0f*(rnd()))
#define ZEXTENT (30.0f*(rnd()))
#define DOLPHINSPEED 35 //0.01f
#define FISHSPEED 40 //0.01f
#define TWEAK 0.005f
#define TWEAKFISH 0.05f
#define TURNDELTADOLPHIN .1
#define TURNDELTAFISH .1
#define PITCHCHANGE (3.1415 / 5000)
#define PITCHDELTA 1
#define PITCHCHANGEFISH (3.1415 / 500)
#define PITCHDELTAFISH 2
#define INITPITCH 0
#define DOLPHINUPDOWN(t) (-2*(float)cos(t)/6)
#define FISHWIGGLE (3.1415/8)*sin(fTimeKey*10)
#define FISHTYPE_DOLPHIN 0
#define FISHTYPE_FISH1 1
#define FISHTYPE_CAMERA 2
typedef struct t_FISH { D3DVECTOR loc; D3DVECTOR goal; D3DVECTOR dir; D3DMATRIX matrix; float angle_tweak; float turndelta; float yaw; float pitch; float pitchchange; float pitchdelta; float roll; float weight; float speed; float upDownFactor; DWORD type; } FISHSTRUCT;
//-----------------------------------------------------------------------------
// Name: class CMyD3DApplication
// Desc: Main class to run this application. Most functionality is inherited
// from the CD3DApplication base class.
//-----------------------------------------------------------------------------
class CSeaLife { // The DirectX file objects
CD3DFile* m_pDolphinGroupObject; CD3DFile* m_pDolphinObject; CD3DFile* m_pFloorObject; CD3DFile* m_pFish1Object;
// Vertex data from the file objects
D3DVERTEX* m_pDolphinVertices; D3DVERTEX* m_pDolphin1Vertices; D3DVERTEX* m_pDolphin2Vertices; D3DVERTEX* m_pDolphin3Vertices; DWORD m_dwNumDolphinVertices; D3DVERTEX* m_pFloorVertices; DWORD m_dwNumFloorVertices; D3DMATRIX m_matDolphin; D3DMATRIX m_matFloor; FISHSTRUCT m_FishState[NUM_FISH];
LPDIRECT3DDEVICE7 m_pd3dDevice; D3DEnum_DeviceInfo *m_pDeviceInfo;
public: //SeaLife();
HRESULT OneTimeSceneInit(); HRESULT InitDeviceObjects(LPDIRECT3DDEVICE7,D3DEnum_DeviceInfo*); HRESULT DeleteDeviceObjects(); HRESULT Render(LPDIRECT3DDEVICE7); HRESULT FrameMove(FLOAT); HRESULT FinalCleanup();
};
#endif // SEALIFE_H
|