projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improved console rendering at 16:10 aspect ratio
[supertux.git]
/
src
/
tile.hpp
diff --git
a/src/tile.hpp
b/src/tile.hpp
index
07b57d9
..
f0668d5
100644
(file)
--- a/
src/tile.hpp
+++ b/
src/tile.hpp
@@
-26,7
+26,8
@@
#include <stdint.h>
#include "video/surface.hpp"
#include "math/rect.hpp"
#include <stdint.h>
#include "video/surface.hpp"
#include "math/rect.hpp"
-#include "lisp/lisp.hpp"
+
+namespace lisp { class Lisp; }
class DrawingContext;
class DrawingContext;
@@
-38,7
+39,7
@@
class Tile
public:
/// bitset for tile attributes
enum {
public:
/// bitset for tile attributes
enum {
- /** solid tile that is indestructable by Tux */
+ /** solid tile that is indestructable by Tux */
SOLID = 0x0001,
/** uni-directional solid tile */
UNISOLID = 0x0002,
SOLID = 0x0001,
/** uni-directional solid tile */
UNISOLID = 0x0002,
@@
-58,13
+59,15
@@
public:
/* interesting flags (the following are passed to gameobjects) */
FIRST_INTERESTING_FLAG = 0x0100,
/* interesting flags (the following are passed to gameobjects) */
FIRST_INTERESTING_FLAG = 0x0100,
-
+
/** an ice brick that makes tux sliding more than usual */
ICE = 0x0100,
/** an ice brick that makes tux sliding more than usual */
ICE = 0x0100,
- /** a water tile in which tux starts to swim */
+ /** a water tile in which tux starts to swim */
WATER = 0x0200,
/** a tile that hurts the player if he touches it */
HURTS = 0x0400,
WATER = 0x0200,
/** a tile that hurts the player if he touches it */
HURTS = 0x0400,
+ /** for lava: WATER, HURTS, FIRE */
+ FIRE = 0x0800
};
/// worldmap flags
};
/// worldmap flags
@@
-73,6
+76,7
@@
public:
WORLDMAP_SOUTH = 0x0002,
WORLDMAP_EAST = 0x0004,
WORLDMAP_WEST = 0x0008,
WORLDMAP_SOUTH = 0x0002,
WORLDMAP_EAST = 0x0004,
WORLDMAP_WEST = 0x0008,
+ WORLDMAP_DIR_MASK = 0x000f,
WORLDMAP_STOP = 0x0010,
WORLDMAP_STOP = 0x0010,
@@
-83,7
+87,7
@@
public:
WORLDMAP_CSEW = WORLDMAP_SOUTH | WORLDMAP_EAST | WORLDMAP_WEST,
WORLDMAP_CNSEW = WORLDMAP_NORTH | WORLDMAP_SOUTH | WORLDMAP_EAST | WORLDMAP_WEST
};
WORLDMAP_CSEW = WORLDMAP_SOUTH | WORLDMAP_EAST | WORLDMAP_WEST,
WORLDMAP_CNSEW = WORLDMAP_NORTH | WORLDMAP_SOUTH | WORLDMAP_EAST | WORLDMAP_WEST
};
-
+
struct ImageSpec {
ImageSpec(const std::string& newfile, const Rect& newrect)
: file(newfile), rect(newrect)
struct ImageSpec {
ImageSpec(const std::string& newfile, const Rect& newrect)
: file(newfile), rect(newrect)
@@
-99,24
+103,19
@@
private:
std::vector<ImageSpec> imagespecs;
std::vector<Surface*> images;
std::vector<ImageSpec> imagespecs;
std::vector<Surface*> images;
- std::string editor_imagefile;
- Surface* editor_image;
-
- /** tile attributes */
+ /// tile attributes
uint32_t attributes;
uint32_t attributes;
-
+
/** General purpose data attached to a tile (content of a box, type of coin)*/
int data;
/** General purpose data attached to a tile (content of a box, type of coin)*/
int data;
-
+
float anim_fps;
public:
~Tile();
float anim_fps;
public:
~Tile();
-
- /** Draw a tile on the screen */
- void draw(DrawingContext& context, const Vector& pos, int layer) const;
- Surface* get_editor_image() const;
+ /** Draw a tile on the screen */
+ void draw(DrawingContext& context, const Vector& pos, int z_pos) const;
unsigned int getID() const
{ return id; }
unsigned int getID() const
{ return id; }
@@
-129,7
+128,7
@@
public:
/// returns the width of the tile in pixels
int getWidth() const
/// returns the width of the tile in pixels
int getWidth() const
- {
+ {
if(!images.size())
return 0;
return (int) images[0]->get_width();
if(!images.size())
return 0;
return (int) images[0]->get_width();