diff options
author | Andrew Kurushin | 2005-07-08 16:56:03 +0000 |
---|---|---|
committer | Andrew Kurushin | 2005-07-08 16:56:03 +0000 |
commit | d944bd7793d1e366bf3555cea3c11a488b9eecaf (patch) | |
tree | d60c38c67d9341749021e838fd698378ca6b71a1 /saga/scene.h | |
parent | 7e0033983fef78e6d1597fc601a700aa2aafe27e (diff) | |
download | scummvm-rg350-d944bd7793d1e366bf3555cea3c11a488b9eecaf.tar.gz scummvm-rg350-d944bd7793d1e366bf3555cea3c11a488b9eecaf.tar.bz2 scummvm-rg350-d944bd7793d1e366bf3555cea3c11a488b9eecaf.zip |
implemented per scene actors clipping
so last sequence should look much better (not perfect)
svn-id: r18516
Diffstat (limited to 'saga/scene.h')
-rw-r--r-- | saga/scene.h | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/saga/scene.h b/saga/scene.h index a67acb4fd9..7b6767f062 100644 --- a/saga/scene.h +++ b/saga/scene.h @@ -43,14 +43,10 @@ enum SceneFlags { kSceneFlagShowCursor = 2 }; -struct SCENE_BGINFO { - int bg_x; - int bg_y; - int bg_w; - int bg_h; - int bg_p; - byte *bg_buf; - size_t bg_buflen; +struct BGInfo { + Rect bounds; + byte *buffer; + size_t bufferLength; }; typedef int (SceneProc) (int, void *); @@ -232,7 +228,8 @@ class Scene { int getFlags() const { return _sceneDescription.flags; } int getScriptModuleNumber() const { return _sceneDescription.scriptModuleNumber; } bool isInDemo() { return !_inGame; } - + const Rect& getSceneClip() const { return _sceneClip; } + void getBGMaskInfo(int &width, int &height, byte *&buffer, size_t &bufferLength); int isBGMaskPresent() { return _bgMask.loaded; } int getBGMaskType(const Point &testPoint); @@ -244,7 +241,7 @@ class Scene { int getDoorState(int doorNumber); void initDoorsState(); - int getBGInfo(SCENE_BGINFO *bginfo); + void getBGInfo(BGInfo &bgInfo); int getBGPal(PALENTRY **pal); void getSlopes(int &beginSlope, int &endSlope); @@ -296,7 +293,8 @@ class Scene { SceneProc *_sceneProc; SCENE_IMAGE _bg; SCENE_IMAGE _bgMask; - + Common::Rect _sceneClip; + int _sceneDoors[SCENE_DOORS_MAX]; |