bloboland

diff src/level.h @ 4:9021a906c5d3

lots of stuff
author John Tsiombikas <nuclear@member.fsf.org>
date Tue, 18 Dec 2012 06:13:09 +0200
parents cfe68befb7cc
children
line diff
     1.1 --- a/src/level.h	Sun Dec 16 14:24:16 2012 +0200
     1.2 +++ b/src/level.h	Tue Dec 18 06:13:09 2012 +0200
     1.3 @@ -4,10 +4,17 @@
     1.4  #include <vector>
     1.5  #include "volume.h"
     1.6  
     1.7 +struct Blob {
     1.8 +	Vector3 pos;
     1.9 +	Vector3 velocity;
    1.10 +};
    1.11 +
    1.12  class Level {
    1.13  public:
    1.14  	Volume *terrain;
    1.15 -	std::vector<Vector3> blobs;
    1.16 +	std::vector<Blob> blobs;
    1.17 +
    1.18 +	Vector3 world_size;
    1.19  
    1.20  	Level();
    1.21  	~Level();
    1.22 @@ -16,6 +23,11 @@
    1.23  
    1.24  	bool load(const char *fname);
    1.25  	bool save(const char *fname) const;
    1.26 +
    1.27 +	const Vector4 &get_voxel(const Vector3 &pos) const;
    1.28 +	Vector3 calc_normal(const Vector3 &pos) const;
    1.29 +
    1.30 +	bool collision(const Vector3 &pos0, const Vector3 &pos1, Vector3 *outpos, Vector3 *outnorm) const;
    1.31  };
    1.32  
    1.33  #endif	// LEVEL_H_