bloboland
annotate src/level.h @ 5:2f4406cc341e
meh
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Wed, 19 Dec 2012 02:37:20 +0200 |
parents | cfe68befb7cc |
children |
rev | line source |
---|---|
nuclear@1 | 1 #ifndef LEVEL_H_ |
nuclear@1 | 2 #define LEVEL_H_ |
nuclear@1 | 3 |
nuclear@1 | 4 #include <vector> |
nuclear@1 | 5 #include "volume.h" |
nuclear@1 | 6 |
nuclear@4 | 7 struct Blob { |
nuclear@4 | 8 Vector3 pos; |
nuclear@4 | 9 Vector3 velocity; |
nuclear@4 | 10 }; |
nuclear@4 | 11 |
nuclear@1 | 12 class Level { |
nuclear@1 | 13 public: |
nuclear@1 | 14 Volume *terrain; |
nuclear@4 | 15 std::vector<Blob> blobs; |
nuclear@4 | 16 |
nuclear@4 | 17 Vector3 world_size; |
nuclear@1 | 18 |
nuclear@1 | 19 Level(); |
nuclear@1 | 20 ~Level(); |
nuclear@1 | 21 |
nuclear@1 | 22 void generate(); |
nuclear@1 | 23 |
nuclear@1 | 24 bool load(const char *fname); |
nuclear@1 | 25 bool save(const char *fname) const; |
nuclear@4 | 26 |
nuclear@4 | 27 const Vector4 &get_voxel(const Vector3 &pos) const; |
nuclear@4 | 28 Vector3 calc_normal(const Vector3 &pos) const; |
nuclear@4 | 29 |
nuclear@4 | 30 bool collision(const Vector3 &pos0, const Vector3 &pos1, Vector3 *outpos, Vector3 *outnorm) const; |
nuclear@1 | 31 }; |
nuclear@1 | 32 |
nuclear@1 | 33 #endif // LEVEL_H_ |