//-------------------------------------------------------------------------------- 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 ) ); }
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();