Replaced love.joystick.getJoystick with love.joystick.getJoysticks (returns a table of all connected joysticks), and renamed Joystick:getIndex to Joystick:getConnectedIndex

This commit is contained in:
Alex Szpakowski
2013-08-26 17:37:59 -03:00
parent 75eb34379c
commit 6ade6225df
3 changed files with 14 additions and 12 deletions
+1 -1
View File
@@ -196,7 +196,7 @@ static const luaL_Reg functions[] =
{ "isGamepadDown", w_Joystick_isGamepadDown },
// From wrap_JoystickModule.
{ "getIndex", w_getIndex },
{ "getConnectedIndex", w_getIndex },
{ "getGamepadMapping", w_getGamepadMapping },
{ 0, 0 },
};
@@ -30,17 +30,19 @@ namespace sdl
static JoystickModule *instance = 0;
int w_getJoystick(lua_State *L)
int w_getJoysticks(lua_State *L)
{
int index = luaL_checkint(L, 1) - 1;
love::joystick::Joystick *stick = instance->getJoystick(index);
int stickcount = instance->getJoystickCount();
lua_createtable(L, stickcount, 0);
if (!stick)
return luaL_error(L, "Invalid joystick index");
for (int i = 0; i < stickcount; i++)
{
love::joystick::Joystick *stick = instance->getJoystick(i);
stick->retain();
luax_newtype(L, "Joystick", JOYSTICK_JOYSTICK_T, (void *) stick);
lua_rawseti(L, -2, i + 1);
}
stick->retain();
luax_newtype(L, "Joystick", JOYSTICK_JOYSTICK_T, (void *) stick);
return 1;
}
@@ -197,8 +199,8 @@ int w_getGamepadMapping(lua_State *L)
// List of functions to wrap.
static const luaL_Reg functions[] =
{
{ "getJoystick", w_getJoystick },
{ "getIndex", w_getIndex },
{ "getJoysticks", w_getJoysticks },
// { "getIndex", w_getIndex },
{ "getJoystickCount", w_getJoystickCount },
{ "isGamepad", w_isGamepad },
{ "setGamepadMapping", w_setGamepadMapping },
@@ -32,7 +32,7 @@ namespace joystick
namespace sdl
{
int w_getJoystick(lua_State *L);
int w_getJoysticks(lua_State *L);
int w_getIndex(lua_State *L);
int w_getJoystickCount(lua_State *L);
int w_isGamepad(lua_State *L);