nuclear@67: #ifndef RNDVAL_H_ nuclear@67: #define RNDVAL_H_ nuclear@67: nuclear@67: #include nuclear@67: #include "pstrack.h" nuclear@67: nuclear@67: struct psys_rnd { nuclear@67: float value, range; nuclear@67: }; nuclear@67: nuclear@67: struct psys_rnd3 { nuclear@67: vec3_t value, range; nuclear@67: }; nuclear@67: nuclear@67: struct psys_anm_rnd { nuclear@67: struct psys_track value, range; nuclear@67: }; nuclear@67: nuclear@67: struct psys_anm_rnd3 { nuclear@67: struct psys_track3 value, range; nuclear@67: }; nuclear@67: nuclear@67: #define PSYS_EVAL_CUR ANM_TIME_INVAL nuclear@67: nuclear@67: int psys_init_anm_rnd(struct psys_anm_rnd *v); nuclear@67: void psys_destroy_anm_rnd(struct psys_anm_rnd *v); nuclear@67: int psys_init_anm_rnd3(struct psys_anm_rnd3 *v); nuclear@67: void psys_destroy_anm_rnd3(struct psys_anm_rnd3 *v); nuclear@67: nuclear@67: void psys_set_rnd(struct psys_rnd *r, float val, float range); nuclear@67: void psys_set_rnd3(struct psys_rnd3 *r, vec3_t val, vec3_t range); nuclear@67: nuclear@67: void psys_set_anm_rnd(struct psys_anm_rnd *r, anm_time_t tm, float val, float range); nuclear@67: void psys_set_anm_rnd3(struct psys_anm_rnd3 *r, anm_time_t tm, vec3_t val, vec3_t range); nuclear@67: nuclear@67: float psys_eval_rnd(struct psys_rnd *r); nuclear@67: vec3_t psys_eval_rnd3(struct psys_rnd3 *r); nuclear@67: nuclear@67: float psys_eval_anm_rnd(struct psys_anm_rnd *r, anm_time_t tm); nuclear@67: vec3_t psys_eval_anm_rnd3(struct psys_anm_rnd3 *r, anm_time_t tm); nuclear@67: nuclear@67: nuclear@67: #endif /* RNDVAL_H_ */