aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/video_surface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/video_surface.cpp')
-rw-r--r--engines/titanic/video_surface.cpp37
1 files changed, 32 insertions, 5 deletions
diff --git a/engines/titanic/video_surface.cpp b/engines/titanic/video_surface.cpp
index d03e2f4525..780ea2bc9e 100644
--- a/engines/titanic/video_surface.cpp
+++ b/engines/titanic/video_surface.cpp
@@ -24,19 +24,46 @@
namespace Titanic {
-CVideoSurface::CVideoSurface(CScreenManager *screenManager, Graphics::Surface *surface):
- _screenManager(screenManager), _surface(surface) {
+int CVideoSurface::_videoSurfaceCounter = 0;
+
+CVideoSurface::CVideoSurface(CScreenManager *screenManager) :
+ _screenManager(screenManager), _field2C(0),
+ _field34(0), _field38(0), _field3C(0), _field40(0),
+ _field44(4), _field48(0), _field50(1) {
+ _videoSurfaceNum = _videoSurfaceCounter++;
}
-void CVideoSurface::setSurface(CScreenManager *screenManager, Graphics::Surface *surface) {
+void CVideoSurface::setSurface(CScreenManager *screenManager, DirectDrawSurface *surface) {
_screenManager = screenManager;
_surface = surface;
}
/*------------------------------------------------------------------------*/
-OSVideoSurface::OSVideoSurface(CScreenManager *screenManager, Graphics::Surface *surface):
- CVideoSurface(screenManager, surface) {
+OSVideoSurface::OSVideoSurface(CScreenManager *screenManager, DirectDrawSurface *surface) :
+ CVideoSurface(screenManager) {
+ _surface = surface;
+}
+
+OSVideoSurface::OSVideoSurface(CScreenManager *screenManager, const CResourceKey &key, bool flag) :
+ CVideoSurface(screenManager) {
+ _surface = nullptr;
+ _field38 = flag;
+
+ if (_field38) {
+ proc8(key);
+ } else {
+ _resourceKey = key;
+ proc43();
+ }
+}
+
+void OSVideoSurface::proc8(const CResourceKey &key) {
+ warning("TODO");
+}
+
+void OSVideoSurface::proc43() {
+ warning("TODO");
}
} // End of namespace Titanic