nuclear@5: #ifndef PSTRACK_H_ nuclear@5: #define PSTRACK_H_ nuclear@5: nuclear@7: #include nuclear@5: #include nuclear@5: nuclear@5: struct psys_track { nuclear@5: struct anm_track trk; nuclear@5: nuclear@5: anm_time_t cache_tm; nuclear@5: float cache_val; nuclear@5: }; nuclear@5: nuclear@5: struct psys_track3 { nuclear@5: struct anm_track x, y, z; nuclear@5: nuclear@5: anm_time_t cache_tm; nuclear@5: vec3_t cache_vec; nuclear@5: }; nuclear@5: nuclear@5: int psys_init_track(struct psys_track *track); nuclear@5: void psys_destroy_track(struct psys_track *track); nuclear@5: nuclear@5: int psys_init_track3(struct psys_track3 *track); nuclear@5: void psys_destroy_track3(struct psys_track3 *track); nuclear@5: nuclear@5: void psys_eval_track(struct psys_track *track, anm_time_t tm); nuclear@5: void psys_set_value(struct psys_track *track, anm_time_t tm, float v); nuclear@5: float psys_get_value(struct psys_track *track, anm_time_t tm); nuclear@5: float psys_get_cur_value(struct psys_track *track); nuclear@5: nuclear@5: void psys_eval_track3(struct psys_track3 *track, anm_time_t tm); nuclear@5: void psys_set_value3(struct psys_track3 *track, anm_time_t tm, vec3_t v); nuclear@5: vec3_t psys_get_value3(struct psys_track3 *track, anm_time_t tm); nuclear@5: vec3_t psys_get_cur_value3(struct psys_track3 *track); nuclear@5: nuclear@5: #endif /* PSTRACK_H_ */