//--------------------------------------------------------------------------------
void CObjCHAR_Collision::SetSpheres_AvatarCart ( void )
//--------------------------------------------------------------------------------
{
	m_vFront.x = m_vDirection.x * CART_FRONT_LENGTH;
	m_vFront.y = m_vDirection.y * CART_FRONT_LENGTH;
	m_vFront.z = m_vDirection.z * CART_FRONT_LENGTH;

	m_vBodyFront.x = m_vCOM.x + m_vFront.x;
	m_vBodyFront.y = m_vCOM.y + m_vFront.y;
	m_vBodyFront.z = m_vCOM.z + CART_BODY_FROM_COM + m_vFront.z;

	m_vFootFront.x = m_vCurrent.x + m_vDirection.x * 10.0f;
	m_vFootFront.y = m_vCurrent.y + m_vDirection.y * 10.0f;
	m_vFootFront.z = m_vCOM.z + 30.0f; 
	
	
	m_vFoot.x = m_vCurrent.x;
	m_vFoot.y = m_vCurrent.y;
	m_vFoot.z = m_vCurrent.z;
		
    
    m_Spheres.push_back( CollisionSphere( CollisionState::CS_FOOT, m_vFoot, CART_FOOT_RADIUS ) );
	m_Spheres.push_back( CollisionSphere( CollisionState::CS_BODY_FRONT, m_vBodyFront, CART_BODY_FRONT_RADIUS ) );
	m_Spheres.push_back( CollisionSphere( CollisionState::CS_FOOT_FRONT, m_vFootFront, CART_FOOT_FRONT_RADIUS ) );
}
//--------------------------------------------------------------------------------
void CObjCHAR_Collision::SetSpheres_OtherCgear ( void )
//--------------------------------------------------------------------------------
{
	m_vFoot.x = m_vCurrent.x;
	m_vFoot.y = m_vCurrent.y;
	m_vFoot.z = m_vCurrent.z;

	m_Spheres.push_back( CollisionSphere( CollisionState::CS_FOOT, m_vFoot, AVATAR_FOOT_RADIUS ) );
}
//--------------------------------------------------------------------------------
void CObjCHAR_Collision::SetSpheres_AvatarCgear ( void )
//--------------------------------------------------------------------------------
{

	m_vFront.x = m_vDirection.x * AVATAR_FRONT_LENGTH;
	m_vFront.y = m_vDirection.y * AVATAR_FRONT_LENGTH;
	m_vFront.z = m_vDirection.z * AVATAR_FRONT_LENGTH;

	m_vBodyFront.x = m_vCOM.x + m_vFront.x;
	m_vBodyFront.y = m_vCOM.y + m_vFront.y;
	m_vBodyFront.z = (m_vCOM.z - 100.0f) + AVATAR_BODY_FROM_COM + m_vFront.z;

	m_vFootFront.x = m_vCurrent.x+m_vDirection.x * 15.0f;
	m_vFootFront.y = m_vCurrent.y+m_vDirection.y * 15.0f;
	m_vFootFront.z = (m_vCOM.z - 100.0f) + 75.0f ;

	m_vFoot.x = m_vCurrent.x;
	m_vFoot.y = m_vCurrent.y;
	m_vFoot.z = m_vCurrent.z;

	m_Spheres.push_back( CollisionSphere( CollisionState::CS_FOOT, m_vFoot, AVATAR_FOOT_RADIUS ) );
	m_Spheres.push_back( CollisionSphere( CollisionState::CS_BODY_FRONT, m_vBodyFront, AVATAR_BODY_FRONT_RADIUS ) );
	m_Spheres.push_back( CollisionSphere( CollisionState::CS_FOOT_FRONT, m_vFootFront, AVATAR_FOOT_FRONT_RADIUS ) );
}
Пример #4
0
const int SCREEN_HEIGHT = 1040;
const int SCREEN_BPP = 32;
// surfaces
SDL_Surface* screen = NULL;
// SDL event structure
SDL_Event event;
// object id's for the call list
int cubeId;
// object rotation angle
float angle = 0.0;
// object loader
ObjectLoader objectloader;
// Camera object used for this test
Camera cam;

Player player1("Tommy", CollisionSphere(Vector3d(0.0, 0.0, 0.0), 3.0), 0.2, 0.2, 0.7);


bool init(){
	// initialize SDL
	if(SDL_Init(SDL_INIT_EVERYTHING) == -1){
		return false;
	}
	// get screen
	screen = SDL_SetVideoMode(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, SDL_SWSURFACE | SDL_OPENGL);
	// check screen initialized correctly
	if(screen != NULL){
		// initialize openGL
		glClearColor(0.0, 0.0, 0.75, 1.0);
		glMatrixMode(GL_PROJECTION);
		glLoadIdentity();