diff options
Diffstat (limited to 'src/graphics/engine')
-rw-r--r-- | src/graphics/engine/camera.cpp | 3 | ||||
-rw-r--r-- | src/graphics/engine/engine.cpp | 17 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/graphics/engine/camera.cpp b/src/graphics/engine/camera.cpp index f0c379c..fedc70a 100644 --- a/src/graphics/engine/camera.cpp +++ b/src/graphics/engine/camera.cpp @@ -593,9 +593,6 @@ void CCamera::EffectFrame(const Event &event) dist = Math::Norm((dist - 100.f) / 100.0f); force *= 1.0f-dist; -#if _TEEN - force *= 2.0f; -#endif m_effectOffset *= force; if (m_effectProgress >= 1.0f) diff --git a/src/graphics/engine/engine.cpp b/src/graphics/engine/engine.cpp index 2745068..cfb794a 100644 --- a/src/graphics/engine/engine.cpp +++ b/src/graphics/engine/engine.cpp @@ -423,9 +423,20 @@ void CEngine::FrameUpdate() bool CEngine::WriteScreenShot(const std::string& fileName, int width, int height) { - // TODO write screenshot: not very important for now - GetLogger()->Debug("CEngine::WriteSceenShot(): stub!\n"); - return true; + void *pixels = m_device->GetFrameBufferPixels(); + CImage img({width,height}); + + img.SetDataPixels(pixels); + img.flipVertically(); + + if ( img.SavePNG(fileName.c_str()) ){ + GetLogger()->Info("Save SceenShot Saved Successfully!\n"); + return true; + } + else{ + GetLogger()->Error("%s!\n",img.GetError().c_str()); + return false; + } } bool CEngine::GetPause() |