2 #ifndef WORLDSIM_WORLD_VIEWER_MINIMAP_HPP 3 #define WORLDSIM_WORLD_VIEWER_MINIMAP_HPP 15 #include <Graphics/PixelScreen/PixelScreen.hpp> 16 #include <Graphics/GUI/GUI_Interface.hpp> 39 minimap.init(world->
nX,world->
nY);
40 minimap.fill(0,0,255,255);
44 for (
int y=0;y<world->
nY;++y)
46 for (
int x=0;x<world->
nX;++x)
48 Texture * tex = world->
aWorldTile(x,y).currentTexture();
51 minimap.setPixel(x,y,tex->averageRed,tex->averageGreen,tex->averageBlue);
68 if (leftMostTile<0) {leftMostTile=0;}
69 if (leftMostTile>world->
nX) {leftMostTile=world->
nX;}
73 if (rightMostTile<0) {rightMostTile=0;}
74 if (rightMostTile>world->
nX) {rightMostTile=world->
nX;}
76 double rightMostTilePercent = rightMostTile / world->
nX;
77 double leftMostTilePercent = leftMostTile / world->
nX;
79 int minimapViewboxX2 = panelX1+(panelNX*rightMostTilePercent);
80 int minimapViewboxX1 = panelX1+(panelNX*leftMostTilePercent);
84 if (upMostTile<0) {upMostTile=0;}
85 if (upMostTile>world->
nY) {upMostTile=world->
nY;}
88 if (downMostTile<0) {downMostTile=0;}
89 if (downMostTile>world->
nY) {downMostTile=world->
nY;}
91 double upMostTilePercent = upMostTile / world->
nY;
92 double downMostTilePercent = downMostTile / world->
nY;
94 int minimapViewboxY2 = panelY1+(panelNY*upMostTilePercent);
95 int minimapViewboxY1 = panelY1+(panelNY*downMostTilePercent);
100 Renderer::placeColour4a(255,255,255,60,minimapViewboxX1,minimapViewboxY1,minimapViewboxX2,minimapViewboxY2);
108 if (_mouse->x < panelX1 || _mouse->x>panelX2 || _mouse->y < panelY1 || _mouse->y>panelY2)
114 if (_mouse->isLeftClick)
116 float xMousePos = _mouse->x - panelX1;
117 float xPercent = xMousePos / panelNX;
118 int tileX = xPercent * world->
nX;
120 float yMousePos = _mouse->y - panelY1;
121 float yPercent = yMousePos / panelNY;
122 int tileY = yPercent * world->
nY;
138 int panelSizeX = panelX2-panelX1;
139 int panelSizeY = panelY2-panelY1;
141 minimap.setPanel(panelX1,panelY1,panelX2,panelY2);
WorldViewer worldViewer
Definition: Driver.cpp:35
void render()
Definition: World_Viewer_Minimap.hpp:59
void init()
Definition: World_Viewer_Minimap.hpp:33
double centerTileX
Definition: World_Viewer.hpp:74
WorldViewer_Minimap()
Definition: World_Viewer_Minimap.hpp:28
void setCenterTile(const double _centerTileX, const double _centerTileY, const int _subTileX=LOCAL_MAP_SIZE/2, const int _subTileY=LOCAL_MAP_SIZE/2)
Definition: World_Viewer.hpp:334
ArrayS2< World_Local > aWorldTile
Definition: World.hpp:113
int nY
Definition: World.hpp:75
void eventResize()
Definition: World_Viewer_Minimap.hpp:135
int nX
Definition: World.hpp:75
double getTilesNX()
Definition: World_Viewer.hpp:1123
bool mouseEvent(Mouse *_mouse)
Definition: World_Viewer_Minimap.hpp:103
double getTilesNY()
Definition: World_Viewer.hpp:1128
World minimap menu Displays a minimap of the entire world. Allows player to see where they are in the...
Definition: World_Viewer_Minimap.hpp:19
World * world
Definition: World_Viewer_Minimap.hpp:26
double centerTileY
Definition: World_Viewer.hpp:74