Added fog to karts.

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@5139 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
hikerstk
2010-04-09 13:00:40 +00:00
parent dc21c85128
commit b58c29b697
3 changed files with 15 additions and 2 deletions

View File

@@ -139,6 +139,7 @@ void World::init()
global_player_id, init_pos);
m_karts.push_back(newkart);
newkart->setWorldKartId(m_karts.size()-1);
m_track->adjustForFog(newkart->getNode());
} // for i
resetAllKarts();

View File

@@ -814,8 +814,10 @@ void Track::loadTrackModel(World* parent, unsigned int mode_id)
// ---- Fog
if (m_use_fog)
{
/* NOTE: if LINEAR type, density does not matter, if EXP or EXP2, start and end do not matter */
irr_driver->getVideoDriver()->setFog(m_fog_color, video::EFT_FOG_LINEAR, m_fog_start, m_fog_end, m_fog_density);
/* NOTE: if LINEAR type, density does not matter, if EXP or EXP2, start
and end do not matter */
irr_driver->getVideoDriver()->setFog(m_fog_color, video::EFT_FOG_LINEAR,
m_fog_start, m_fog_end, m_fog_density);
}
createPhysicsModel(main_track_count);
@@ -827,6 +829,15 @@ void Track::loadTrackModel(World* parent, unsigned int mode_id)
m_all_nodes[i]->setMaterialFlag(video::EMF_FOG_ENABLE, true);
} // loadTrackModel
//-----------------------------------------------------------------------------
/** Changes all materials of the given scene node to use the current fog
* setting (true/false).
* \param node Scene node for which fog should be en/dis-abled.
*/
void Track::adjustForFog(scene::ISceneNode *node)
{
node->setMaterialFlag(video::EMF_FOG_ENABLE, m_use_fog);
} // adjustForFog
//-----------------------------------------------------------------------------
void Track::handleSky(const XMLNode &xml_node, const std::string &filename)
{

View File

@@ -226,6 +226,7 @@ public:
void createPhysicsModel(unsigned int main_track_count);
void update(float dt);
void reset();
void adjustForFog(scene::ISceneNode *node);
void handleExplosion(const Vec3 &pos, const PhysicalObject *mp) const;
/** Sets pointer to the aabb of this track. */
void getAABB(const Vec3 **min, const Vec3 **max) const