lua methods set_look_pitch and set_look_yaw
parent
c00c8832c6
commit
7f51b2da28
|
@ -1228,6 +1228,8 @@ Player-only: (no-op for other objects)
|
||||||
- get_look_dir(): get camera direction as a unit vector
|
- get_look_dir(): get camera direction as a unit vector
|
||||||
- get_look_pitch(): pitch in radians
|
- get_look_pitch(): pitch in radians
|
||||||
- get_look_yaw(): yaw in radians (wraps around pretty randomly as of now)
|
- get_look_yaw(): yaw in radians (wraps around pretty randomly as of now)
|
||||||
|
- set_look_pitch(radians): sets look pitch
|
||||||
|
- set_look_yaw(radians): sets look yaw
|
||||||
- set_inventory_formspec(formspec)
|
- set_inventory_formspec(formspec)
|
||||||
^ Redefine player's inventory form
|
^ Redefine player's inventory form
|
||||||
^ Should usually be called in on_joinplayer
|
^ Should usually be called in on_joinplayer
|
||||||
|
|
|
@ -1230,6 +1230,20 @@ void PlayerSAO::moveTo(v3f pos, bool continuous)
|
||||||
m_moved = true;
|
m_moved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PlayerSAO::setYaw(float yaw)
|
||||||
|
{
|
||||||
|
m_player->setYaw(yaw);
|
||||||
|
// Force change on client
|
||||||
|
m_moved = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PlayerSAO::setPitch(float pitch)
|
||||||
|
{
|
||||||
|
m_player->setPitch(pitch);
|
||||||
|
// Force change on client
|
||||||
|
m_moved = true;
|
||||||
|
}
|
||||||
|
|
||||||
int PlayerSAO::punch(v3f dir,
|
int PlayerSAO::punch(v3f dir,
|
||||||
const ToolCapabilities *toolcap,
|
const ToolCapabilities *toolcap,
|
||||||
ServerActiveObject *puncher,
|
ServerActiveObject *puncher,
|
||||||
|
|
|
@ -147,6 +147,8 @@ public:
|
||||||
void setBasePosition(const v3f &position);
|
void setBasePosition(const v3f &position);
|
||||||
void setPos(v3f pos);
|
void setPos(v3f pos);
|
||||||
void moveTo(v3f pos, bool continuous);
|
void moveTo(v3f pos, bool continuous);
|
||||||
|
void setYaw(float);
|
||||||
|
void setPitch(float);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Interaction interface
|
Interaction interface
|
||||||
|
|
|
@ -27,7 +27,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
#include "scriptapi_entity.h"
|
#include "scriptapi_entity.h"
|
||||||
#include "scriptapi_common.h"
|
#include "scriptapi_common.h"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
ObjectRef
|
ObjectRef
|
||||||
*/
|
*/
|
||||||
|
@ -582,6 +581,30 @@ int ObjectRef::l_get_look_yaw(lua_State *L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// set_look_pitch(self, radians)
|
||||||
|
int ObjectRef::l_set_look_pitch(lua_State *L)
|
||||||
|
{
|
||||||
|
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_yaw(self, radians)
|
||||||
|
int ObjectRef::l_set_look_yaw(lua_State *L)
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
// set_inventory_formspec(self, formspec)
|
// set_inventory_formspec(self, formspec)
|
||||||
int ObjectRef::l_set_inventory_formspec(lua_State *L)
|
int ObjectRef::l_set_inventory_formspec(lua_State *L)
|
||||||
{
|
{
|
||||||
|
@ -755,6 +778,8 @@ const luaL_reg ObjectRef::methods[] = {
|
||||||
luamethod(ObjectRef, get_look_dir),
|
luamethod(ObjectRef, get_look_dir),
|
||||||
luamethod(ObjectRef, get_look_pitch),
|
luamethod(ObjectRef, get_look_pitch),
|
||||||
luamethod(ObjectRef, get_look_yaw),
|
luamethod(ObjectRef, get_look_yaw),
|
||||||
|
luamethod(ObjectRef, set_look_yaw),
|
||||||
|
luamethod(ObjectRef, set_look_pitch),
|
||||||
luamethod(ObjectRef, set_inventory_formspec),
|
luamethod(ObjectRef, set_inventory_formspec),
|
||||||
luamethod(ObjectRef, get_inventory_formspec),
|
luamethod(ObjectRef, get_inventory_formspec),
|
||||||
luamethod(ObjectRef, get_player_control),
|
luamethod(ObjectRef, get_player_control),
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Minetest-c55
|
Minetest
|
||||||
Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
|
Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -169,6 +169,12 @@ private:
|
||||||
// get_look_yaw(self)
|
// get_look_yaw(self)
|
||||||
static int l_get_look_yaw(lua_State *L);
|
static int l_get_look_yaw(lua_State *L);
|
||||||
|
|
||||||
|
// set_look_pitch(self, radians)
|
||||||
|
static int l_set_look_pitch(lua_State *L);
|
||||||
|
|
||||||
|
// set_look_yaw(self, radians)
|
||||||
|
static int l_set_look_yaw(lua_State *L);
|
||||||
|
|
||||||
// set_inventory_formspec(self, formspec)
|
// set_inventory_formspec(self, formspec)
|
||||||
static int l_set_inventory_formspec(lua_State *L);
|
static int l_set_inventory_formspec(lua_State *L);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue