www.pudn.com > coolMEMORY.rar > AS_Camera.cpp


//----------------------------------------------------------------------------- 
// File: AS_Camera.cpp 
//----------------------------------------------------------------------------- 
 
#include "AS_Engine.h" 
 
 
// Variables: ***************************************************************** 
AS_CAMERA *_ASCamera; 
/////////////////////////////////////////////////////////////////////////////// 
 
 
// Constructor: 
/*AS_CAMERA::AS_CAMERA(void) 
{ // begin AS_CAMERA::AS_CAMERA() 
	memset(this, 0, sizeof(AS_CAMERA)); 
} // end AS_CAMERA::AS_CAMERA() */ 
 
// Set current camera translation: 
void AS_CAMERA::SetCameraTranslation(BOOL bOnlyRot) 
{ // begin AS_CAMERA::SetCameraTranslation(() 
	glLoadIdentity(); 
	if(!bOnlyRot) 
		glTranslatef(0.0f, 0.0f, fZoom); 
	glRotatef(fRot[X], 1.0f, 0.0f, 0.0f); 
	glRotatef(fRot[Y]+180.0f, 0.0f, 1.0f, 0.0f); 
  	glRotatef(fRot[Z]+180.0f, 0.0f, 0.0f, 1.0f); 
 
	if(!bOnlyRot) 
		glTranslatef(vPos.fX+vPosTemp.fX-_ASCamera->vShakePos.fX*_ASCamera->fShakePower*5, 
					 vPos.fY+vPosTemp.fY-_ASCamera->vShakePos.fY*_ASCamera->fShakePower*5, 
					 vPos.fZ+vPosTemp.fZ-_ASCamera->vShakePos.fZ*_ASCamera->fShakePower*5); 
} // end AS_CAMERA::SetCameraTranslation() 
 
void AS_CAMERA::SetStandartCamera(void) 
{ // begin AS_CAMERA::SetStandartCamera() 
	memset(this, 0, sizeof(AS_CAMERA)); 
	fZoom = -10.0f; 
	fRot[X] = -10.0f;	 
 
	// Card dimension dependent camera position: 
	fZoom = fCardDimensionCamera[cGameConfig.iCardDimension][0]; 
	vPos.fY = fCardDimensionCamera[cGameConfig.iCardDimension][1]; 
	vPos.fX = -(vPlayField[MAX].fX-vPlayField[MIN].fX)/2+2.0f; 
} // end AS_CAMERA::SetStandartCamera() 
 
void AS_CAMERA::Check(void) 
{ // begin AS_CAMERA::Check() 
} // end AS_CAMERA::Check()