aboutsummaryrefslogtreecommitdiff
path: root/src/quicktune_shortcutter.h
blob: 16bcc07e89b04bf2ddffb74f888ceed06b8820fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
Minetest
Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

#ifndef QVT_SHORTCUTTER_HEADER
#define QVT_SHORTCUTTER_HEADER

#include "quicktune.h"

class QuicktuneShortcutter
{
private:
	std::vector<std::string> m_names;
	u32 m_selected_i;
	std::string m_message;
public:
	std::string getMessage()
	{
		std::string s = m_message;
		m_message = "";
		if(s != "")
			return std::string("[quicktune] ") + s;
		return "";
	}
	std::string getSelectedName()
	{
		if(m_selected_i < m_names.size())
			return m_names[m_selected_i];
		return "(nothing)";
	}
	void next()
	{
		m_names = getQuicktuneNames();
		if(m_selected_i < m_names.size()-1)
			m_selected_i++;
		else
			m_selected_i = 0;
		m_message = std::string("Selected \"")+getSelectedName()+"\"";
	}
	void prev()
	{
		m_names = getQuicktuneNames();
		if(m_selected_i > 0)
			m_selected_i--;
		else
			m_selected_i = m_names.size()-1;
		m_message = std::string("Selected \"")+getSelectedName()+"\"";
	}
	void inc()
	{
		QuicktuneValue val = getQuicktuneValue(getSelectedName());
		val.relativeAdd(0.05);
		m_message = std::string("\"")+getSelectedName()
				+"\" = "+val.getString();
		setQuicktuneValue(getSelectedName(), val);
	}
	void dec()
	{
		QuicktuneValue val = getQuicktuneValue(getSelectedName());
		val.relativeAdd(-0.05);
		m_message = std::string("\"")+getSelectedName()
				+"\" = "+val.getString();
		setQuicktuneValue(getSelectedName(), val);
	}
};

#endif

n>L); // moveto(self, pos, continuous=false) static int l_moveto(lua_State *L); // punch(self, puncher, time_from_last_punch, tool_capabilities, dir) static int l_punch(lua_State *L); // right_click(self, clicker); clicker = an another ObjectRef static int l_right_click(lua_State *L); // set_hp(self, hp) // hp = number of hitpoints (2 * number of hearts) // returns: nil static int l_set_hp(lua_State *L); // get_hp(self) // returns: number of hitpoints (2 * number of hearts) // 0 if not applicable to this type of object static int l_get_hp(lua_State *L); // get_inventory(self) static int l_get_inventory(lua_State *L); // get_wield_list(self) static int l_get_wield_list(lua_State *L); // get_wield_index(self) static int l_get_wield_index(lua_State *L); // get_wielded_item(self) static int l_get_wielded_item(lua_State *L); // set_wielded_item(self, itemstack or itemstring or table or nil) static int l_set_wielded_item(lua_State *L); // set_armor_groups(self, groups) static int l_set_armor_groups(lua_State *L); // set_animation(self, frame_range, frame_speed, frame_blend) static int l_set_animation(lua_State *L); // set_bone_position(self, std::string bone, v3f position, v3f rotation) static int l_set_bone_position(lua_State *L); // set_attach(self, parent, bone, position, rotation) static int l_set_attach(lua_State *L); // set_detach(self) static int l_set_detach(lua_State *L); // set_properties(self, properties) static int l_set_properties(lua_State *L); /* LuaEntitySAO-only */ // setvelocity(self, {x=num, y=num, z=num}) static int l_setvelocity(lua_State *L); // getvelocity(self) static int l_getvelocity(lua_State *L); // setacceleration(self, {x=num, y=num, z=num}) static int l_setacceleration(lua_State *L); // getacceleration(self) static int l_getacceleration(lua_State *L); // setyaw(self, radians) static int l_setyaw(lua_State *L); // getyaw(self) static int l_getyaw(lua_State *L); // settexturemod(self, mod) static int l_settexturemod(lua_State *L); // setsprite(self, p={x=0,y=0}, num_frames=1, framelength=0.2, // select_horiz_by_yawpitch=false) static int l_setsprite(lua_State *L); // DEPRECATED // get_entity_name(self) static int l_get_entity_name(lua_State *L); // get_luaentity(self) static int l_get_luaentity(lua_State *L); /* Player-only */ // is_player(self) static int l_is_player(lua_State *L); // get_player_name(self) static int l_get_player_name(lua_State *L); // get_look_dir(self) static int l_get_look_dir(lua_State *L); // get_look_pitch(self) static int l_get_look_pitch(lua_State *L); // get_look_yaw(self) 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) static int l_set_inventory_formspec(lua_State *L); // get_inventory_formspec(self) -> formspec static int l_get_inventory_formspec(lua_State *L); // get_player_control(self) static int l_get_player_control(lua_State *L); // get_player_control_bits(self) static int l_get_player_control_bits(lua_State *L); public: ObjectRef(ServerActiveObject *object); ~ObjectRef(); // Creates an ObjectRef and leaves it on top of stack // Not callable from Lua; all references are created on the C side. static void create(lua_State *L, ServerActiveObject *object); static void set_null(lua_State *L); static void Register(lua_State *L); }; /*****************************************************************************/ /* scriptapi internal */ /*****************************************************************************/ // Creates a new anonymous reference if cobj=NULL or id=0 void objectref_get_or_create(lua_State *L, ServerActiveObject *cobj); void objectref_get(lua_State *L, u16 id); void read_object_properties(lua_State *L, int index, ObjectProperties *prop); /*****************************************************************************/ /* Minetest interface */ /*****************************************************************************/