dungeon_crawler

diff prototype/src/tile.h @ 45:dfd3a413ef9e

particle system 1
author John Tsiombikas <nuclear@member.fsf.org>
date Wed, 12 Sep 2012 06:04:20 +0300
parents 862461b686f4
children f3030df27110
line diff
     1.1 --- a/prototype/src/tile.h	Thu Aug 30 06:08:22 2012 +0300
     1.2 +++ b/prototype/src/tile.h	Wed Sep 12 06:04:20 2012 +0300
     1.3 @@ -25,7 +25,10 @@
     1.4  	std::vector<Mesh*> meshes;
     1.5  	std::vector<unsigned int> mesh_side, light_side;
     1.6  	std::vector<Light*> lights;
     1.7 +	// attributes for gridcell-unique particle systems
     1.8  	std::vector<struct psys_attributes*> psattr;
     1.9 +	// global particle systems (simulated once, drawn for each tile instance).
    1.10 +	std::vector<struct psys_emitter*> psys_global;
    1.11  
    1.12  	int load_lights(const aiScene *scn);
    1.13  	int load_meshes(const aiScene *scn, const std::map<aiMesh*, aiNode*> &nmap);
    1.14 @@ -34,12 +37,16 @@
    1.15  	Tile(TileSet *tileset = 0);
    1.16  	~Tile();
    1.17  
    1.18 +	const struct psys_attributes **get_unique_psys() const;
    1.19 +	int get_unique_psys_count() const;
    1.20 +
    1.21  	bool load(const char *fname);
    1.22  
    1.23  	void update(unsigned long msec, float dt);
    1.24  
    1.25  	void draw(unsigned int drawmask) const;
    1.26  	void draw_lights(unsigned int drawmask) const;
    1.27 +	void draw_psys(unsigned int drawmask) const;
    1.28  };
    1.29  
    1.30