summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorraymoo <uguu@installgentoo.com>2016-06-17 12:57:27 -0700
committerparamat <mat.gregory@virginmedia.com>2016-06-24 02:13:09 +0100
commitfa0bbbf96df17f0d7911274ea85e5c049c20d07b (patch)
tree90ffa15ba7e7b13ffa079d09d69bc97dfc2b2020 /src
parent04fb10914c0d03ee77dafe610f336f23c58949ab (diff)
downloadminetest-fa0bbbf96df17f0d7911274ea85e5c049c20d07b.tar.gz
minetest-fa0bbbf96df17f0d7911274ea85e5c049c20d07b.tar.bz2
minetest-fa0bbbf96df17f0d7911274ea85e5c049c20d07b.zip
Player: New get_look, set_look API
Deprecate get_look / set_look pitch / yaw
Diffstat (limited to 'src')
-rw-r--r--src/player.h16
-rw-r--r--src/script/lua_api/l_object.cpp80
-rw-r--r--src/script/lua_api/l_object.h16
3 files changed, 107 insertions, 5 deletions
diff --git a/src/player.h b/src/player.h
index 6687ca86e..e6fcf388a 100644
--- a/src/player.h
+++ b/src/player.h
@@ -188,16 +188,28 @@ public:
m_breath = breath;
}
- f32 getRadPitch()
+ // Deprecated
+ f32 getRadPitchDep()
{
return -1.0 * m_pitch * core::DEGTORAD;
}
- f32 getRadYaw()
+ // Deprecated
+ f32 getRadYawDep()
{
return (m_yaw + 90.) * core::DEGTORAD;
}
+ f32 getRadPitch()
+ {
+ return m_pitch * core::DEGTORAD;
+ }
+
+ f32 getRadYaw()
+ {
+ return m_yaw * core::DEGTORAD;
+ }
+
const char *getName() const
{
return m_name;
diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp
index 6d6614e7d..befae4253 100644
--- a/src/script/lua_api/l_object.cpp
+++ b/src/script/lua_api/l_object.cpp
@@ -1016,29 +1016,63 @@ int ObjectRef::l_get_look_dir(lua_State *L)
Player *player = getplayer(ref);
if (player == NULL) return 0;
// Do it
- float pitch = player->getRadPitch();
- float yaw = player->getRadYaw();
+ float pitch = player->getRadPitchDep();
+ float yaw = player->getRadYawDep();
v3f v(cos(pitch)*cos(yaw), sin(pitch), cos(pitch)*sin(yaw));
push_v3f(L, v);
return 1;
}
+// DEPRECATED
// get_look_pitch(self)
int ObjectRef::l_get_look_pitch(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
+
+ log_deprecated(L,
+ "Deprecated call to get_look_pitch, use get_look_vertical instead");
+
ObjectRef *ref = checkobject(L, 1);
Player *player = getplayer(ref);
if (player == NULL) return 0;
// Do it
- lua_pushnumber(L, player->getRadPitch());
+ lua_pushnumber(L, player->getRadPitchDep());
return 1;
}
+// DEPRECATED
// get_look_yaw(self)
int ObjectRef::l_get_look_yaw(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
+
+ log_deprecated(L,
+ "Deprecated call to get_look_yaw, use get_look_horizontal instead");
+
+ ObjectRef *ref = checkobject(L, 1);
+ Player *player = getplayer(ref);
+ if (player == NULL) return 0;
+ // Do it
+ lua_pushnumber(L, player->getRadYawDep());
+ return 1;
+}
+
+// get_look_pitch2(self)
+int ObjectRef::l_get_look_vertical(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ Player *player = getplayer(ref);
+ if (player == NULL) return 0;
+ // Do it
+ lua_pushnumber(L, player->getRadPitch());
+ return 1;
+}
+
+// get_look_yaw2(self)
+int ObjectRef::l_get_look_horizontal(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
Player *player = getplayer(ref);
if (player == NULL) return 0;
@@ -1047,10 +1081,41 @@ int ObjectRef::l_get_look_yaw(lua_State *L)
return 1;
}
+// set_look_vertical(self, radians)
+int ObjectRef::l_set_look_vertical(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
+ float pitch = luaL_checknumber(L, 2) * core::RADTODEG;
+ // Do it
+ co->setPitch(pitch);
+ return 1;
+}
+
+// set_look_horizontal(self, radians)
+int ObjectRef::l_set_look_horizontal(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
+ float yaw = luaL_checknumber(L, 2) * core::RADTODEG;
+ // Do it
+ co->setYaw(yaw);
+ return 1;
+}
+
+// DEPRECATED
// set_look_pitch(self, radians)
int ObjectRef::l_set_look_pitch(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
+
+ log_deprecated(L,
+ "Deprecated call to set_look_pitch, use set_look_vertical instead.");
+
ObjectRef *ref = checkobject(L, 1);
PlayerSAO* co = getplayersao(ref);
if (co == NULL) return 0;
@@ -1060,10 +1125,15 @@ int ObjectRef::l_set_look_pitch(lua_State *L)
return 1;
}
+// DEPRECATED
// set_look_yaw(self, radians)
int ObjectRef::l_set_look_yaw(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
+
+ log_deprecated(L,
+ "Deprecated call to set_look_yaw, use set_look_horizontal instead.");
+
ObjectRef *ref = checkobject(L, 1);
PlayerSAO* co = getplayersao(ref);
if (co == NULL) return 0;
@@ -1754,6 +1824,10 @@ const luaL_reg ObjectRef::methods[] = {
luamethod(ObjectRef, get_look_dir),
luamethod(ObjectRef, get_look_pitch),
luamethod(ObjectRef, get_look_yaw),
+ luamethod(ObjectRef, get_look_vertical),
+ luamethod(ObjectRef, get_look_horizontal),
+ luamethod(ObjectRef, set_look_horizontal),
+ luamethod(ObjectRef, set_look_vertical),
luamethod(ObjectRef, set_look_yaw),
luamethod(ObjectRef, set_look_pitch),
luamethod(ObjectRef, get_breath),
diff --git a/src/script/lua_api/l_object.h b/src/script/lua_api/l_object.h
index a4457cc05..a37d29535 100644
--- a/src/script/lua_api/l_object.h
+++ b/src/script/lua_api/l_object.h
@@ -189,15 +189,31 @@ private:
// get_look_dir(self)
static int l_get_look_dir(lua_State *L);
+ // DEPRECATED
// get_look_pitch(self)
static int l_get_look_pitch(lua_State *L);
+ // DEPRECATED
// get_look_yaw(self)
static int l_get_look_yaw(lua_State *L);
+ // get_look_pitch2(self)
+ static int l_get_look_vertical(lua_State *L);
+
+ // get_look_yaw2(self)
+ static int l_get_look_horizontal(lua_State *L);
+
+ // set_look_vertical(self, radians)
+ static int l_set_look_vertical(lua_State *L);
+
+ // set_look_horizontal(self, radians)
+ static int l_set_look_horizontal(lua_State *L);
+
+ // DEPRECATED
// set_look_pitch(self, radians)
static int l_set_look_pitch(lua_State *L);
+ // DEPRECATED
// set_look_yaw(self, radians)
static int l_set_look_yaw(lua_State *L);