Beispiel #1
0
//fills the asteroid model
void FillAsteroidModel(void)
{
   TEXTURE tex = CreateTexture(TEXTURE_PRE "asteroid.bmp");
   if(!tex)
      ast_warn("Failed to load texture: " TEXTURE_PRE "asteroid.bmp" "\nThe asteroids will look dumb, but you can still play.\n");

   g_asteroid_model = MakeAsteroid(tex);
}
Beispiel #2
0
bool CBody::LoadGFX()
{
	if (CGamePlay::UserAbortedLoad())
	{
		CLog::Log(LOG_INFO,"Loading of body aborted by user.");
		return false;
	}
	CGamePlay::UpdateSplash(name);
	GLUquadricObj *quadric=NULL;
	quadric=gluNewQuadric();
	if (quadric==NULL)
	{
		CLog::Log(LOG_ERROR,"Unable to load body - unable to create an OpenGL quadric.");
		return false;
	}
	gluQuadricNormals(quadric,GLU_SMOOTH);
	gluQuadricOrientation(quadric,GLU_OUTSIDE);
	gluQuadricDrawStyle(quadric,GLU_FILL);
	gluQuadricTexture(quadric,GL_TRUE);
	objects[0]=glGenLists(1);
	if (objects[0]==0)
	{
		CLog::Log(LOG_ERROR,"Unable to load body - unable to create an OpenGL display list.");
		gluDeleteQuadric(quadric);
		return false;
	}
	if (!LoadTextures())
	{
		CLog::Log(LOG_ERROR,"Failed to load body textures.");
		gluDeleteQuadric(quadric);
		FreeGFX();
		return false;
	}
	glNewList(objects[0],GL_COMPILE);
	{
		glPushAttrib(GL_ENABLE_BIT | GL_LIGHTING_BIT);
		CVideoBase::EnableMultisample();
		if (type==star) MakeStar(quadric);
		if (type==planetoid) MakePlanetoid(quadric);
		if (type==rings) MakeRings();
		if (type==asteroid) MakeAsteroid();
		CVideoBase::DisableMultisample();
		glPopAttrib();
	}
	glEndList();
	gluDeleteQuadric(quadric);
	quadric=NULL;
	return true;
}