103 void SetPosition(
const Vector3 &position);
104 void SetDirection(
const Vector3 &direction);
105 void SetRotation(
const Vector3 &rotation);
106 Vector3 GetPosition(
bool relative =
false);
107 void GetDirection(
Vector3 &front,
Vector3 &top,
bool global =
false);
109 void UpdateCameraFloor();
110 bool Move(
Vector3 vector,
Real speed = 1.0,
bool flip =
true);
111 bool MovePosition(
Vector3 vector,
Real speed = 1.0);
112 void Rotate(
const Vector3 &position,
Real speed = 1.0);
113 void RotateLocal(
const Vector3 &position,
Real speed = 1.0);
114 void SetStartDirection(
const Vector3 &direction);
116 void SetStartRotation(
const Vector3 &rotation);
118 void SetToStartPosition(
bool disable_current_floor);
119 void SetToStartDirection();
120 void SetToStartRotation();
121 void CheckElevator();
123 void CheckStairwell();
124 Real ClickedObject(
Camera *camera,
bool shift,
bool ctrl,
bool alt,
bool right,
Real scale,
bool center_only =
false,
bool hit_only =
false);
125 void UnclickedObject();
127 std::string GetClickedMeshName();
128 std::string GetClickedWallName();
129 int GetClickedObjectNumber();
130 int GetClickedObjectLine();
131 std::string GetClickedObjectCommand();
132 std::string GetClickedObjectCommandP();
134 void Strafe(
Real speed = 1.0);
136 void Float(
Real speed = 1.0);
138 void Look(
Real speed = 1.0);
139 void Turn(
Real speed = 1.0);
140 void Spin(
Real speed = 1.0);
141 void InterpolateMovement(
Real delta);
142 void SetGravity(
Real gravity,
bool save_value =
true,
bool camera_only =
true);
144 void EnableGravity(
bool value);
145 bool GetGravityStatus();
146 void SetFOVAngle(
Real angle);
148 void SetToDefaultFOV();
150 void SetViewMode(
int mode);
151 void EnableCollisions(
bool value);
152 bool CollisionsEnabled();
155 void SetMaxRenderDistance(
Real value);
156 Real GetMaxRenderDistance();
157 void ShowDebugShape(
bool value);
158 void MoveCharacter();
159 void ResetCollisions();
160 void GotoFloor(
int floor,
bool disable_current =
true);
161 void Binoculars(
bool value);
163 bool IsDynamicMeshVisible(
DynamicMesh *mesh,
int mesh_index);
164 void AttachModel(
Model *model);
168 bool IsModelAttached();
173 bool Attach(std::vector<Ogre::Camera*> &cameras,
bool init_state =
true);
175 void OnMove(
bool parent);
176 void OnRotate(
bool parent);
178 void SetCameraState(
const CameraState &state,
bool set_floor =
true);
179 void RevertMovement();
180 void FreelookMove(
const Vector3 &rotation);
184 void Drive(
bool left,
bool right,
bool down,
bool up,
bool key_down);
185 void Crouch(
bool value);
186 void SetOrientation(
const Quaternion &orientation);
187 void AttachToVehicle(
bool value);
188 Ogre::Camera* GetOgreCamera(
int index = 0);
225 OgreBulletCollisions::CollisionShape*
mShape;
std::string object_cmd_processed
Real cfg_walk_maxspeed_mult
std::string CurrentFloorID
Vector3 prev_accum_movement
Quaternion old_character_orientation
OgreBulletCollisions::CollisionShape * mShape
std::vector< Ogre::Camera * > Cameras
Real cfg_rotate_accelerate
Quaternion prev_orientation
OgreBulletDynamics::CharacterController * mCharacter
Vector3 desired_angle_velocity
Real cfg_walk_maxspeed_multreal
Quaternion old_camera_orientation
Ogre::Quaternion Quaternion
Vector3 desired_angle_velocity