![]() |
OpenXcom
1.0
Open-source clone of the original X-Com
|
Interactive map of the battlescape. More...
#include <Map.h>
Public Member Functions | |
| Map (Game *game, int width, int height, int x, int y, int visibleMapHeight) | |
| Creates a new map at the specified position and size. More... | |
| ~Map () | |
| Cleans up the map. More... | |
| void | init () |
| Initializes the map. | |
| void | think () |
| Handles timers. More... | |
| void | draw () |
| Draws the surface. More... | |
| void | setPalette (SDL_Color *colors, int firstcolor=0, int ncolors=256) |
| Sets the palette. More... | |
| void | mousePress (Action *action, State *state) |
| Special handling for mouse press. More... | |
| void | mouseRelease (Action *action, State *state) |
| Special handling for mouse release. More... | |
| void | mouseOver (Action *action, State *state) |
| Special handling for mouse over. More... | |
| void | keyboardPress (Action *action, State *state) |
| Special handling for key presses. More... | |
| void | keyboardRelease (Action *action, State *state) |
| Special handling for key releases. More... | |
| void | animate (bool redraw) |
| Rotates the tileframes 0-7. More... | |
| void | setSelectorPosition (int mx, int my) |
| Sets the battlescape selector position relative to mouseposition. More... | |
| void | getSelectorPosition (Position *pos) const |
| Gets the currently selected position. More... | |
| void | calculateWalkingOffset (BattleUnit *unit, Position *offset, int *shadeOffset=0) |
| Calculates the offset of a soldier, when it is walking in the middle of 2 tiles. More... | |
| void | setCursorType (CursorType type, int size=1) |
| Sets the 3D cursor type. More... | |
| CursorType | getCursorType () const |
| Gets the 3D cursor type. More... | |
| void | cacheUnits () |
| Caches units. More... | |
| void | cacheUnit (BattleUnit *unit) |
| Caches the unit. More... | |
| void | setProjectile (Projectile *projectile) |
| Sets projectile. More... | |
| Projectile * | getProjectile () const |
| Gets projectile. More... | |
| std::list< Explosion * > * | getExplosions () |
| Gets explosion set. More... | |
| Camera * | getCamera () |
| Gets the pointer to the camera. More... | |
| void | scrollMouse () |
| Mouse-scrolls the camera. More... | |
| void | scrollKey () |
| Keyboard-scrolls the camera. More... | |
| std::vector< Position > * | getWaypoints () |
| Get waypoints vector. More... | |
| void | setButtonsPressed (Uint8 button, bool pressed) |
| Set mouse-buttons' pressed state. More... | |
| void | setUnitDying (bool flag) |
| Sets the unitDying flag. More... | |
| void | refreshSelectorPosition () |
| Refreshes the battlescape selector after scrolling. More... | |
| void | setHeight (int height) |
| Special handling for updating map height. More... | |
| void | setWidth (int width) |
| Special handling for updating map width. More... | |
| int | getMessageY () const |
| Get the vertical position of the hidden movement screen. More... | |
| int | getIconHeight () const |
| Get the icon height. | |
| int | getIconWidth () const |
| Get the icon width. | |
| int | getSoundAngle (const Position &pos) const |
| Convert a map position to a sound angle. More... | |
| void | resetCameraSmoothing () |
| Reset the camera smoothing bool. | |
| void | setBlastFlash (bool flash) |
| Set whether the screen should "flash" or not. More... | |
| bool | getBlastFlash () const |
| Check if the screen is flashing this. More... | |
| void | resetObstacles () |
| Resets obstacle markers. | |
| void | enableObstacles () |
| Enables obstacle markers. | |
| void | disableObstacles () |
| Disables obstacle markers. | |
Public Member Functions inherited from OpenXcom::InteractiveSurface | |
| InteractiveSurface (int width, int height, int x=0, int y=0) | |
| Creates a new interactive surface with the specified size and position. More... | |
| virtual | ~InteractiveSurface () |
| Cleans up the interactive surface. | |
| void | setVisible (bool visible) |
| Sets the surface's visibility. More... | |
| virtual void | handle (Action *action, State *state) |
| Processes any pending events. More... | |
| virtual void | setFocus (bool focus) |
| Sets the focus of this surface. More... | |
| bool | isFocused () const |
| Gets the focus of this surface. More... | |
| virtual void | unpress (State *state) |
| Unpresses the surface. More... | |
| void | onMouseClick (ActionHandler handler, Uint8 button=SDL_BUTTON_LEFT) |
| Hooks an action handler to a mouse click on the surface. More... | |
| void | onMousePress (ActionHandler handler, Uint8 button=0) |
| Hooks an action handler to a mouse press over the surface. More... | |
| void | onMouseRelease (ActionHandler handler, Uint8 button=0) |
| Hooks an action handler to a mouse release over the surface. More... | |
| void | onMouseIn (ActionHandler handler) |
| Hooks an action handler to moving the mouse into the surface. More... | |
| void | onMouseOver (ActionHandler handler) |
| Hooks an action handler to moving the mouse over the surface. More... | |
| void | onMouseOut (ActionHandler handler) |
| Hooks an action handler to moving the mouse out of the surface. More... | |
| void | onKeyboardPress (ActionHandler handler, SDLKey key=SDLK_ANY) |
| Hooks an action handler to pressing a key when the surface is focused. More... | |
| void | onKeyboardRelease (ActionHandler handler, SDLKey key=SDLK_ANY) |
| Hooks an action handler to releasing a key when the surface is focused. More... | |
| virtual void | mouseClick (Action *action, State *state) |
| Processes a mouse click event. More... | |
| virtual void | mouseIn (Action *action, State *state) |
| Processes a mouse hover in event. More... | |
| virtual void | mouseOut (Action *action, State *state) |
| Processes a mouse hover out event. More... | |
| void | setListButton () |
| Check this surface to see if it's a textlist button. More... | |
Public Member Functions inherited from OpenXcom::Surface | |
| Surface (int width, int height, int x=0, int y=0, int bpp=8) | |
| Creates a new surface with the specified size and position. More... | |
| Surface (const Surface &other) | |
| Creates a new surface from an existing one. More... | |
| virtual | ~Surface () |
| Cleans up the surface. More... | |
| void | loadRaw (const std::vector< unsigned char > &bytes) |
| Loads a raw pixel array. More... | |
| void | loadRaw (const std::vector< char > &bytes) |
| Loads a raw pixel array. More... | |
| void | loadScr (const std::string &filename) |
| Loads an X-Com SCR graphic. More... | |
| void | loadSpk (const std::string &filename) |
| Loads an X-Com SPK graphic. More... | |
| void | loadBdy (const std::string &filename) |
| Loads a TFTD BDY graphic. More... | |
| void | loadImage (const std::string &filename) |
| Loads a general image file. More... | |
| void | clear (Uint32 color=0) |
| Clears the surface's contents eith a specified colour. More... | |
| void | offset (int off, int min=-1, int max=-1, int mul=1) |
| Offsets the surface's colors by a set amount. More... | |
| void | offsetBlock (int off, int blk=16, int mul=1) |
| Offsets the surface's colors in a color block. More... | |
| void | invert (Uint8 mid) |
| Inverts the surface's colors. More... | |
| virtual void | blit (Surface *surface) |
| Blits this surface onto another one. More... | |
| virtual void | initText (Font *, Font *, Language *) |
| Initializes the surface's various text resources. | |
| void | copy (Surface *surface) |
| Copies a portion of another surface into this one. More... | |
| void | drawRect (SDL_Rect *rect, Uint8 color) |
| Draws a filled rectangle on the surface. More... | |
| void | drawRect (Sint16 x, Sint16 y, Sint16 w, Sint16 h, Uint8 color) |
| Draws a filled rectangle on the surface. More... | |
| void | drawLine (Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint8 color) |
| Draws a line on the surface. More... | |
| void | drawCircle (Sint16 x, Sint16 y, Sint16 r, Uint8 color) |
| Draws a filled circle on the surface. More... | |
| void | drawPolygon (Sint16 *x, Sint16 *y, int n, Uint8 color) |
| Draws a filled polygon on the surface. More... | |
| void | drawTexturedPolygon (Sint16 *x, Sint16 *y, int n, Surface *texture, int dx, int dy) |
| Draws a textured polygon on the surface. More... | |
| void | drawString (Sint16 x, Sint16 y, const char *s, Uint8 color) |
| Draws a string on the surface. More... | |
| SDL_Color * | getPalette () const |
| Returns the surface's 8bpp palette. More... | |
| virtual void | setX (int x) |
| Sets the X position of the surface. More... | |
| int | getX () const |
| Returns the position of the surface in the X axis. More... | |
| virtual void | setY (int y) |
| Sets the Y position of the surface. More... | |
| int | getY () const |
| Returns the position of the surface in the Y axis. More... | |
| bool | getVisible () const |
| Gets the surface's visibility. More... | |
| void | resetCrop () |
| Resets the cropping rectangle for the surface. More... | |
| SDL_Rect * | getCrop () |
| Gets the cropping rectangle for the surface. More... | |
| void | setPixel (int x, int y, Uint8 pixel) |
| Changes the color of a pixel in the surface, relative to the top-left corner of the surface. More... | |
| void | setPixelIterative (int *x, int *y, Uint8 pixel) |
| Changes the color of a pixel in the surface and returns the next pixel position. More... | |
| Uint8 | getPixel (int x, int y) const |
| Returns the color of a specified pixel in the surface. More... | |
| Uint8 * | getRaw (int x, int y) const |
| Returns the pointer to a specified pixel in the surface. More... | |
| SDL_Surface * | getSurface () const |
| Returns the internal SDL_Surface for SDL calls. More... | |
| int | getWidth () const |
| Returns the width of the surface. More... | |
| int | getHeight () const |
| Returns the height of the surface. More... | |
| void | setHidden (bool hidden) |
| Sets the surface's special hidden flag. More... | |
| void | lock () |
| Locks the surface. More... | |
| void | unlock () |
| Unlocks the surface. More... | |
| void | blitNShade (Surface *surface, int x, int y, int shade, bool half=false, int newBaseColor=0) |
| Specific blit function to blit battlescape terrain data in different shades in a fast way. More... | |
| void | blitNShade (Surface *surface, int x, int y, int shade, GraphSubset range) |
| Specific blit function to blit battlescape terrain data in different shades in a fast way. More... | |
| void | invalidate (bool valid=true) |
| Invalidate the surface: force it to be redrawn. More... | |
| std::string | getTooltip () const |
| Gets the tooltip of the surface. More... | |
| void | setTooltip (const std::string &tooltip) |
| Sets the tooltip of the surface. More... | |
| virtual void | setColor (Uint8) |
| Sets the color of the surface. | |
| virtual void | setSecondaryColor (Uint8) |
| Sets the secondary color of the surface. | |
| virtual void | setBorderColor (Uint8) |
| Sets the border colour of the surface. | |
| virtual void | setHighContrast (bool) |
| Sets the high contrast color setting of the surface. | |
| void | setTFTDMode (bool mode) |
| Sets this button to use a colour lookup table instead of inversion for its alternate form. More... | |
| bool | isTFTDMode () const |
| checks if this is a TFTD mode surface. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from OpenXcom::InteractiveSurface | |
| bool | isButtonPressed (Uint8 button=0) const |
| Is this mouse button pressed? | |
| virtual bool | isButtonHandled (Uint8 button=0) |
| Is this mouse button event handled? | |
| void | setButtonPressed (Uint8 button, bool pressed) |
| Set a mouse button's internal state. | |
Protected Member Functions inherited from OpenXcom::Surface | |
| template<typename T > | |
| void | rawCopy (const std::vector< T > &bytes) |
| Copies raw pixels. More... | |
| void | resize (int width, int height) |
| Resizes the surface. More... | |
Interactive map of the battlescape.
| OpenXcom::Map::Map | ( | Game * | game, |
| int | width, | ||
| int | height, | ||
| int | x, | ||
| int | y, | ||
| int | visibleMapHeight | ||
| ) |
Creates a new map at the specified position and size.
Sets up a map with the specified size and position.
| game | Pointer to the core game. |
| width | Width in pixels. |
| height | Height in pixels. |
| x | X position in pixels. |
| y | Y position in pixels. |
| visibleMapHeight | Current visible map height. |
| OpenXcom::Map::~Map | ( | ) |
Cleans up the map.
Deletes the map.
| void OpenXcom::Map::animate | ( | bool | redraw | ) |
Rotates the tileframes 0-7.
Handles animating tiles.
8 Frames per animation.
| redraw | Redraw the battlescape? |
| void OpenXcom::Map::cacheUnit | ( | BattleUnit * | unit | ) |
Caches the unit.
Check if a certain unit needs to be redrawn.
| unit | Pointer to battleUnit. |
| void OpenXcom::Map::cacheUnits | ( | ) |
Caches units.
Checks all units for if they need to be redrawn.
| void OpenXcom::Map::calculateWalkingOffset | ( | BattleUnit * | unit, |
| Position * | offset, | ||
| int * | shadeOffset = 0 |
||
| ) |
Calculates the offset of a soldier, when it is walking in the middle of 2 tiles.
| unit | Pointer to BattleUnit. |
| offset | Pointer to the offset to return the calculation. |
|
virtual |
| bool OpenXcom::Map::getBlastFlash | ( | ) | const |
Check if the screen is flashing this.
Checks if the screen is still being rendered in EGA.
| Camera * OpenXcom::Map::getCamera | ( | ) |
Gets the pointer to the camera.
| CursorType OpenXcom::Map::getCursorType | ( | ) | const |
Gets the 3D cursor type.
Gets the cursor type.
| std::list< Explosion * > * OpenXcom::Map::getExplosions | ( | ) |
Gets explosion set.
Gets a list of explosion sprites on the map.
| int OpenXcom::Map::getMessageY | ( | ) | const |
Get the vertical position of the hidden movement screen.
Get the hidden movement screen's vertical position.
| Projectile * OpenXcom::Map::getProjectile | ( | ) | const |
Gets projectile.
Gets the current projectile sprite on the map.
| void OpenXcom::Map::getSelectorPosition | ( | Position * | pos | ) | const |
Gets the currently selected position.
Draws the rectangle selector.
| pos | Pointer to a position. |
| int OpenXcom::Map::getSoundAngle | ( | const Position & | pos | ) | const |
Convert a map position to a sound angle.
Returns the angle(left/right balance) of a sound effect, based off a map position.
| pos | the map position to calculate the sound angle from. |
| std::vector< Position > * OpenXcom::Map::getWaypoints | ( | ) |
Get waypoints vector.
Gets a list of waypoints on the map.
Special handling for key presses.
Handles keyboard presses on the map.
| action | Pointer to an action. |
| state | State that the action handlers belong to. |
Reimplemented from OpenXcom::InteractiveSurface.
Special handling for key releases.
Handles keyboard releases on the map.
| action | Pointer to an action. |
| state | State that the action handlers belong to. |
Reimplemented from OpenXcom::InteractiveSurface.
Special handling for mouse over.
Handles mouse over events on the map.
| action | Pointer to an action. |
| state | State that the action handlers belong to. |
Reimplemented from OpenXcom::InteractiveSurface.
Special handling for mouse press.
Handles mouse presses on the map.
| action | Pointer to an action. |
| state | State that the action handlers belong to. |
Reimplemented from OpenXcom::InteractiveSurface.
Special handling for mouse release.
Handles mouse releases on the map.
| action | Pointer to an action. |
| state | State that the action handlers belong to. |
Reimplemented from OpenXcom::InteractiveSurface.
| void OpenXcom::Map::refreshSelectorPosition | ( | ) |
Refreshes the battlescape selector after scrolling.
Updates the selector to the last-known mouse position.
| void OpenXcom::Map::scrollKey | ( | ) |
Keyboard-scrolls the camera.
Timers only work on surfaces so we have to pass this on to the camera object.
| void OpenXcom::Map::scrollMouse | ( | ) |
Mouse-scrolls the camera.
Timers only work on surfaces so we have to pass this on to the camera object.
| void OpenXcom::Map::setBlastFlash | ( | bool | flash | ) |
Set whether the screen should "flash" or not.
Set the "explosion flash" bool.
| flash | should the screen be rendered in EGA this frame? |
| void OpenXcom::Map::setButtonsPressed | ( | Uint8 | button, |
| bool | pressed | ||
| ) |
Set mouse-buttons' pressed state.
Sets mouse-buttons' pressed state.
| button | Index of the button. |
| pressed | The state of the button. |
| void OpenXcom::Map::setCursorType | ( | CursorType | type, |
| int | size = 1 |
||
| ) |
Sets the 3D cursor type.
Sets the 3D cursor to selection/aim mode.
| type | Cursor type. |
| size | Size of cursor. |
|
virtual |
Special handling for updating map height.
Special handling for setting the height of the map viewport.
| height | the new base screen height. |
Reimplemented from OpenXcom::Surface.
|
virtual |
Sets the palette.
Replaces a certain amount of colors in the surface's palette.
| colors | Pointer to the set of colors. |
| firstcolor | Offset of the first color to replace. |
| ncolors | Amount of colors to replace. |
Reimplemented from OpenXcom::Surface.
| void OpenXcom::Map::setProjectile | ( | Projectile * | projectile | ) |
| void OpenXcom::Map::setSelectorPosition | ( | int | mx, |
| int | my | ||
| ) |
Sets the battlescape selector position relative to mouseposition.
Sets the selector to a certain tile on the map.
| mx | mouse x position. |
| my | mouse y position. |
| void OpenXcom::Map::setUnitDying | ( | bool | flag | ) |
Sets the unitDying flag.
| flag | True if the unit is dying. |
|
virtual |
Special handling for updating map width.
Special handling for setting the width of the map viewport.
| width | the new base screen width. |
Reimplemented from OpenXcom::Surface.
|
virtual |
1.8.14