diff options
Diffstat (limited to 'src/View/MapView.cpp')
-rw-r--r-- | src/View/MapView.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/View/MapView.cpp b/src/View/MapView.cpp index 224cd37..2569a3c 100644 --- a/src/View/MapView.cpp +++ b/src/View/MapView.cpp @@ -19,10 +19,13 @@ #include "MapView.h" #include "TopView.h" + +#include <Instance.h> #include <Data/Level.h> #include <Data/Room.h> #include <Data/Triangle.h> #include <Gui/RenderArea.h> + #include <GL/gl.h> #include <cmath> #include <list> @@ -96,7 +99,7 @@ void MapView::click(float x, float y, unsigned int button) { void MapView::render() { glClear(GL_COLOR_BUFFER_BIT); - if(!mainView || !mainView->getLevel()) + if(!mainView || !mainView->getInstance()->getLevel()) return; float minX, maxX, minY, maxY; @@ -116,10 +119,10 @@ void MapView::render() { glScalef(scale, scale, 1); glTranslatef(-xCenter, -yCenter, 0); - const std::list<Data::Room*> &rooms = mainView->getLevel()->getRooms(); + const std::list<Data::Room*> &rooms = mainView->getInstance()->getLevel()->getRooms(); for(std::list<Data::Room*>::const_iterator room = rooms.begin(); room != rooms.end(); ++room) - TopView::renderRoom(*room); + TopView::renderRoom(*room, (*room == mainView->getInstance()->getSelectedRoom())); float mainXCenter = mainView->getXCenter(), mainYCenter = mainView->getYCenter(); float mainScale = mainView->getScale(); @@ -163,10 +166,10 @@ void MapView::getBounds(float *minX, float *maxX, float *minY, float *maxY) { if(maxY) *maxY = 0; - if(!mainView || !mainView->getLevel()) + if(!mainView || !mainView->getInstance()->getLevel()) return; - const std::list<Data::Room*> &rooms = mainView->getLevel()->getRooms(); + const std::list<Data::Room*> &rooms = mainView->getInstance()->getLevel()->getRooms(); for(std::list<Data::Room*>::const_iterator room = rooms.begin(); room != rooms.end(); ++room) { const std::list<Data::Triangle*> &triangles = (*room)->getTriangles(); |