projects
/
supertux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
had more changes lying around here
[supertux.git]
/
src
/
collision_grid.h
diff --git
a/src/collision_grid.h
b/src/collision_grid.h
index
09cc87a
..
7822c31
100644
(file)
--- a/
src/collision_grid.h
+++ b/
src/collision_grid.h
@@
-6,6
+6,8
@@
using namespace SuperTux;
using namespace SuperTux;
+class CollisionGridIterator;
+
/**
* A rectangular grid to keep track of all moving game objects. It allows fast
* queries for all objects in a rectangular area.
/**
* A rectangular grid to keep track of all moving game objects. It allows fast
* queries for all objects in a rectangular area.
@@
-18,11
+20,12
@@
public:
void add_object(MovingObject* object);
void remove_object(MovingObject* object);
void add_object(MovingObject* object);
void remove_object(MovingObject* object);
- void move_object(MovingObject* object);
void check_collisions();
private:
void check_collisions();
private:
+ friend class CollisionGridIterator;
+
struct ObjectWrapper
{
MovingObject* object;
struct ObjectWrapper
{
MovingObject* object;
@@
-43,9
+46,10
@@
private:
ObjectWrapper* object_wrapper;
};
ObjectWrapper* object_wrapper;
};
- void remove_object_from_gridcell(int gridcell,
MovingObject* object
);
+ void remove_object_from_gridcell(int gridcell,
ObjectWrapper* wrapper
);
void collide_object(ObjectWrapper* wrapper);
void collide_object_object(ObjectWrapper* wrapper, ObjectWrapper* wrapper2);
void collide_object(ObjectWrapper* wrapper);
void collide_object_object(ObjectWrapper* wrapper, ObjectWrapper* wrapper2);
+ void move_object(ObjectWrapper* wrapper);
typedef std::vector<GridEntry*> GridEntries;
GridEntries grid;
typedef std::vector<GridEntry*> GridEntries;
GridEntries grid;
@@
-56,6
+60,7
@@
private:
float height;
float cell_width;
float cell_height;
float height;
float cell_width;
float cell_height;
+ int iterator_timestamp;
};
extern CollisionGrid* bla;
};
extern CollisionGrid* bla;