Skip to content

Commit

Permalink
WINTERMUTE: Avoid including BaseGame in BaseViewport.
Browse files Browse the repository at this point in the history
  • Loading branch information
somaen committed Apr 18, 2013
1 parent a8f4f20 commit 7ee7573
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 4 deletions.
8 changes: 8 additions & 0 deletions engines/wintermute/base/base_engine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -98,4 +98,12 @@ BaseSoundMgr *BaseEngine::getSoundMgr() {
}
}

BaseRenderer *BaseEngine::getRenderer() {
if (instance()._gameRef) {
return _gameRef->_renderer;
} else {
return nullptr;
}
}

} // end of namespace Wintermute
2 changes: 2 additions & 0 deletions engines/wintermute/base/base_engine.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class BaseFileManager;
class BaseRegistry;
class BaseGame;
class BaseSoundMgr;
class BaseRenderer;
class SystemClassRegistry;
class BaseEngine : public Common::Singleton<Wintermute::BaseEngine> {
void init(Common::Language lang);
Expand All @@ -62,6 +63,7 @@ class BaseEngine : public Common::Singleton<Wintermute::BaseEngine> {
BaseGame *getGameRef() { return _gameRef; }
BaseFileManager *getFileManager() { return _fileManager; }
BaseSoundMgr *getSoundMgr();
BaseRenderer *getRenderer();
static void LOG(bool res, const char *fmt, ...);
const char *getGameId() { return _gameId.c_str(); }
};
Expand Down
9 changes: 5 additions & 4 deletions engines/wintermute/base/base_viewport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@
* Copyright (c) 2011 Jan Nedoma
*/

#include "engines/wintermute/base/base_game.h"
#include "engines/wintermute/platform_osystem.h"
#include "engines/wintermute/base/base_viewport.h"
#include "engines/wintermute/base/base_engine.h"
#include "engines/wintermute/base/base_persistence_manager.h"
#include "engines/wintermute/platform_osystem.h"
#include "engines/wintermute/base/gfx/base_renderer.h"

namespace Wintermute {
Expand Down Expand Up @@ -68,8 +69,8 @@ bool BaseViewport::setRect(int left, int top, int right, int bottom, bool noChec
if (!noCheck) {
left = MAX(left, 0);
top = MAX(top, 0);
right = MIN(right, _gameRef->_renderer->getWidth());
bottom = MIN(bottom, _gameRef->_renderer->getHeight());
right = MIN(right, BaseEngine::instance().getRenderer()->getWidth());
bottom = MIN(bottom, BaseEngine::instance().getRenderer()->getHeight());
}

BasePlatform::setRect(&_rect, left, top, right, bottom);
Expand Down
2 changes: 2 additions & 0 deletions engines/wintermute/base/base_viewport.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@


#include "engines/wintermute/base/base.h"
#include "engines/wintermute/math/rect32.h"
#include "engines/wintermute/persistent.h"

namespace Wintermute {
class BaseObject;
Expand Down

0 comments on commit 7ee7573

Please sign in to comment.