libpsys
annotate src/pattr.h @ 6:d774738f50f6
almost finished with the reorg (2)
author | John Tsiombikas <nuclear@mutantstargoat.com> |
---|---|
date | Tue, 27 Sep 2011 07:42:54 +0300 |
parents | |
children | 9c24273f211b |
rev | line source |
---|---|
nuclear@6 | 1 #ifndef PATTR_H_ |
nuclear@6 | 2 #define PATTR_H_ |
nuclear@6 | 3 |
nuclear@6 | 4 #include "pstrack.h" |
nuclear@6 | 5 #include "rndval.h" |
nuclear@6 | 6 |
nuclear@6 | 7 struct psys_attributes { |
nuclear@6 | 8 unsigned int tex; /* OpenGL texture to use for the billboard */ |
nuclear@6 | 9 |
nuclear@6 | 10 struct psys_track3 spawn_range; /* radius of emmiter */ |
nuclear@6 | 11 struct psys_track rate; /* spawn rate particles per sec */ |
nuclear@6 | 12 struct psys_anm_rnd life; /* particle life in seconds */ |
nuclear@6 | 13 struct psys_anm_rnd size; /* base particle size */ |
nuclear@6 | 14 struct psys_anm_rnd3 dir; /* particle shoot direction */ |
nuclear@6 | 15 |
nuclear@6 | 16 struct psys_track3 grav; /* external force (usually gravity) */ |
nuclear@6 | 17 |
nuclear@6 | 18 float drag; /* I don't think this needs to animate */ |
nuclear@6 | 19 |
nuclear@6 | 20 /* limits */ |
nuclear@6 | 21 int max_particles; |
nuclear@6 | 22 }; |
nuclear@6 | 23 |
nuclear@6 | 24 void psys_texture_loader(unsigned int (*load)(const char*, void*), void (*unload)(unsigned int, void*), void *cls); |
nuclear@6 | 25 |
nuclear@6 | 26 int psys_init_attr(struct psys_attributes *attr); |
nuclear@6 | 27 void psys_destroy_attr(struct psys_attributes *attr); |
nuclear@6 | 28 |
nuclear@6 | 29 void psys_eval_attr(struct psys_attributes *attr, anm_time_t tm); |
nuclear@6 | 30 |
nuclear@6 | 31 int psys_load_attr(struct psys_attributes *attr, const char *fname); |
nuclear@6 | 32 int psys_load_attr_stream(struct psys_attributes *attr, FILE *fp); |
nuclear@6 | 33 |
nuclear@6 | 34 int psys_save_attr(struct psys_attributes *attr, const char *fname); |
nuclear@6 | 35 int psys_save_attr_stream(struct psys_attributes *attr, FILE *fp); |
nuclear@6 | 36 |
nuclear@6 | 37 #endif |