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:
@@ -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();
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user