forked from Mirrorlandia_minetest/minetest
Fix TouchScreenGUI ignoring server-sent pitch changes
This commit is contained in:
parent
47e557b96a
commit
04dc4a10f0
@ -2617,7 +2617,7 @@ void Game::updateCameraOrientation(CameraOrientation *cam, float dtime)
|
|||||||
#ifdef HAVE_TOUCHSCREENGUI
|
#ifdef HAVE_TOUCHSCREENGUI
|
||||||
if (g_touchscreengui) {
|
if (g_touchscreengui) {
|
||||||
cam->camera_yaw += g_touchscreengui->getYawChange();
|
cam->camera_yaw += g_touchscreengui->getYawChange();
|
||||||
cam->camera_pitch = g_touchscreengui->getPitch();
|
cam->camera_pitch += g_touchscreengui->getPitchChange();
|
||||||
} else {
|
} else {
|
||||||
#endif
|
#endif
|
||||||
v2s32 center(driver->getScreenSize().Width / 2, driver->getScreenSize().Height / 2);
|
v2s32 center(driver->getScreenSize().Width / 2, driver->getScreenSize().Height / 2);
|
||||||
|
@ -832,7 +832,7 @@ void TouchScreenGUI::translateEvent(const SEvent &event)
|
|||||||
const double d = g_settings->getFloat("touchscreen_sensitivity", 0.001f, 10.0f) * 3.0f;
|
const double d = g_settings->getFloat("touchscreen_sensitivity", 0.001f, 10.0f) * 3.0f;
|
||||||
|
|
||||||
m_camera_yaw_change -= dir_free.X * d;
|
m_camera_yaw_change -= dir_free.X * d;
|
||||||
m_camera_pitch = MYMIN(MYMAX(m_camera_pitch + (dir_free.Y * d), -180.0f), 180.0f);
|
m_camera_pitch_change += dir_free.Y * d;
|
||||||
|
|
||||||
// update shootline
|
// update shootline
|
||||||
// no need to update (X, Y) when using crosshair since the shootline is not used
|
// no need to update (X, Y) when using crosshair since the shootline is not used
|
||||||
|
@ -171,7 +171,11 @@ public:
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
double getPitch() { return m_camera_pitch; }
|
double getPitchChange() {
|
||||||
|
double res = m_camera_pitch_change;
|
||||||
|
m_camera_pitch_change = 0;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a line which describes what the player is pointing at.
|
* Returns a line which describes what the player is pointing at.
|
||||||
@ -213,7 +217,7 @@ private:
|
|||||||
|
|
||||||
// value in degree
|
// value in degree
|
||||||
double m_camera_yaw_change = 0.0;
|
double m_camera_yaw_change = 0.0;
|
||||||
double m_camera_pitch = 0.0;
|
double m_camera_pitch_change = 0.0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A line starting at the camera and pointing towards the selected object.
|
* A line starting at the camera and pointing towards the selected object.
|
||||||
|
Loading…
Reference in New Issue
Block a user