libpsys

view src/rndval.h @ 8:a10f19674147

ha!
author John Tsiombikas <nuclear@mutantstargoat.com>
date Tue, 27 Sep 2011 21:47:27 +0300
parents 3c0a306c5f01
children
line source
1 #ifndef RNDVAL_H_
2 #define RNDVAL_H_
4 #include <vmath/vmath.h>
5 #include "pstrack.h"
7 struct psys_rnd {
8 float value, range;
9 };
11 struct psys_rnd3 {
12 vec3_t value, range;
13 };
15 struct psys_anm_rnd {
16 struct psys_track value, range;
17 };
19 struct psys_anm_rnd3 {
20 struct psys_track3 value, range;
21 };
23 #define PSYS_EVAL_CUR ANM_TIME_INVAL
25 int psys_init_anm_rnd(struct psys_anm_rnd *v);
26 void psys_destroy_anm_rnd(struct psys_anm_rnd *v);
27 int psys_init_anm_rnd3(struct psys_anm_rnd3 *v);
28 void psys_destroy_anm_rnd3(struct psys_anm_rnd3 *v);
30 void psys_set_rnd(struct psys_rnd *r, float val, float range);
31 void psys_set_rnd3(struct psys_rnd3 *r, vec3_t val, vec3_t range);
33 void psys_set_anm_rnd(struct psys_anm_rnd *r, anm_time_t tm, float val, float range);
34 void psys_set_anm_rnd3(struct psys_anm_rnd3 *r, anm_time_t tm, vec3_t val, vec3_t range);
36 float psys_eval_rnd(struct psys_rnd *r);
37 vec3_t psys_eval_rnd3(struct psys_rnd3 *r);
39 float psys_eval_anm_rnd(struct psys_anm_rnd *r, anm_time_t tm);
40 vec3_t psys_eval_anm_rnd3(struct psys_anm_rnd3 *r, anm_time_t tm);
43 #endif /* RNDVAL_H_ */