151 float len2 = (camera_position -
Position).Length2();
166 for (
int i=0; i<3; i++) {
172 float minor_intensity = intensity * 0.5f;
176 (*set_angles) += secondary_angles;
217 power = power *
PI/180.0f;
280 iterator.
Peek_Obj()->Compute_Rotations(camera_position,&angles);
286 for (
int i=0; i<3; i++) {
290 *shaker_angle = angles;
const Vector3 AXIS_ROTATION
CameraShakeSystemClass CameraShakerSystem
void Compute_Rotations(const Vector3 &pos, Vector3 *set_angles)
CameraShakerClass(const Vector3 &position, float radius, float duration, float power)
void Add_Camera_Shake(const Vector3 &position, float radius=50.0f, float duration=1.5f, float power=1.0f)
~CameraShakeSystemClass(void)
MultiListClass< CameraShakerClass > CameraShakerList
CameraShakeSystemClass(void)
bool IsCameraShaking(void)
void Update_Camera_Shaker(Vector3 camera_position, Vector3 *shaker_angles)
void First(GenericMultiListClass *list)
bool Add(ObjectType *obj, bool onlyonce=true)
ObjectType * Remove_Head()
ObjectType * Peek_Obj(void)
static float Sqrt(float val)
static float Clamp(float val, float min=0.0f, float max=1.0f)
static float Random_Float(void)
static float Sin(float val)
#define DEFINE_AUTO_POOL(T, BLOCKSIZE)