Skip to content
Snippets Groups Projects
Commit 7b290660 authored by Perttu Ahola's avatar Perttu Ahola
Browse files

made screen go slightly blue when underwater

parent 71f5d4b3
No related branches found
No related tags found
No related merge requests found
......@@ -292,6 +292,15 @@ class Client : public con::PeerHandler, public InventoryManager
{
return m_access_denied_reason;
}
/*
This should only be used for calling the special drawing stuff in
ClientEnvironment
*/
ClientEnvironment * getEnv()
{
return &m_env;
}
private:
......
......@@ -1865,6 +1865,22 @@ ClientEnvEvent ClientEnvironment::getClientEvent()
return m_client_event_queue.pop_front();
}
void ClientEnvironment::drawPostFx(video::IVideoDriver* driver, v3f camera_pos)
{
/*LocalPlayer *player = getLocalPlayer();
assert(player);
v3f pos_f = player->getPosition() + v3f(0,BS*1.625,0);*/
v3f pos_f = camera_pos;
v3s16 p_nodes = floatToInt(pos_f, BS);
MapNode n = m_map->getNodeNoEx(p_nodes);
if(n.d == CONTENT_WATER || n.d == CONTENT_WATERSOURCE)
{
v2u32 ss = driver->getScreenSize();
core::rect<s32> rect(0,0, ss.X, ss.Y);
driver->draw2DRectangle(video::SColor(64, 100, 100, 200), rect);
}
}
#endif // #ifndef SERVER
......@@ -406,6 +406,9 @@ class ClientEnvironment : public Environment
// Get event from queue. CEE_NONE is returned if queue is empty.
ClientEnvEvent getClientEvent();
// Post effects
void drawPostFx(video::IVideoDriver* driver, v3f camera_pos);
private:
ClientMap *m_map;
......
......@@ -2241,6 +2241,13 @@ void the_game(
core::rect<s32>(0,0,screensize.X,screensize.Y),
NULL);
}
/*
Environment post fx
*/
{
client.getEnv()->drawPostFx(driver, camera_position);
}
/*
End scene
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment