Commit Graph

77 Commits

Author SHA1 Message Date
Bart van Strien e80247c191 Happy new year! 2018-01-03 19:47:35 +01:00
Bart van Strien 7fa8fe7572 Fix replacement when using love.joystick.setGamepadMapping (issue #1298)
The broken find code would previously cause the (duplicate) key to be appended
to the end, now it successfully replaces the previous value

--HG--
branch : minor
2017-07-28 14:49:35 +02:00
Alex Szpakowski abb72cb813 Happy new year! 🥂
--HG--
branch : minor
2017-01-02 01:28:29 -04:00
Alex Szpakowski b620f32200 Work around SDL issues in Joystick:getGamepadMapping with XInput controllers (issue #1239).
This doesn’t fix the underlying issues in SDL so there may be other aspects of love.joystick which are still affected.

--HG--
branch : minor
2016-12-10 16:14:14 -04:00
Alex Szpakowski 46a2e7b85c Happy new year! 🎉 2016-01-01 00:05:06 -04:00
Alex Szpakowski 4dbc11800e Hopefully fixed the Windows/VS2013 build. 2015-09-05 11:30:59 -03:00
Alex Szpakowski dc7cffe111 Fixed the color set by love.graphics.setColor not being restored properly when love.graphics.pop is called after love.graphics.push("all"). 2015-09-05 11:20:47 -03:00
Alex Szpakowski 0f986b10aa Cleaned up some code, the 'ry' parameter of love.graphics.rectangle now defaults to the value of 'rx' rather than defaulting to 0. 2015-05-27 17:36:27 -03:00
Alex Szpakowski cffa899e03 Explicitly mention SDL in the error message caused by SDL subsystem initialization failure. 2015-03-26 14:51:47 -03:00
Bart van Strien 715cab4f6f Fix love.joystick.setGamepadMapping suffix overwriting bug
Previously, if "leftx" was mapped before "x", the latter mapping would overwrite
the former, or in general if any mapping was a suffix of another, it needed to
be mapped first.
2015-03-15 15:53:48 +01:00
Alex Szpakowski 5932c39c86 Removed some redundant code.
--HG--
branch : minor
2015-02-21 21:54:13 -04:00
Alex Szpakowski ebc68023a7 Fix many warnings about implicit integer conversions when compiling for 64 bits.
--HG--
branch : minor
2015-02-20 01:20:08 -04:00
Alex Szpakowski c7b45b3505 Updated copyright for the new year 2014-12-31 19:32:43 -04:00
Alex Szpakowski 195d41d1d9 Ignore lines starting with "#" when parsing the mappings string given to love.joystick.loadGamepadMappings. 2014-11-03 16:34:18 -04:00
Alex Szpakowski b9271ed25a Don't throw an error if the mappings passed to love.joystick.loadGamepadMappings contain mappings for other platforms but no mappings for the currently running platform. 2014-11-03 16:19:47 -04:00
Alex Szpakowski e26abb417e Fixed indentation. 2014-08-27 01:04:58 -03:00
Alex Szpakowski 1e8c9e18c3 Fixed love.joystick.setGamepadMapping: the generated SDL controller mapping string is no longer invalid, and joystick hats are now properly converted to the SDL representation. 2014-08-27 00:58:42 -03:00
Alex Szpakowski ddb9997ead Replaced Joystick:saveGamepadMapping with love.joystick.saveGamepadMappings, which saves all gamepad mappings from both recently-used joysticks and recently-modified mappings. saveGamepadMappings returns a string of newline-separated mappings and takes an optional filename argument which writes it to a file. 2014-06-05 00:25:34 -03:00
Alex Szpakowski 10e0d4b900 Moved the love.joystick Lua wrapper code from modules/joystick/sdl/ to modules/joystick/. 2014-06-04 16:23:39 -03:00
Alex Szpakowski 4cd4d35739 Fixed some logic 2014-06-04 16:06:36 -03:00
Alex Szpakowski 42a565a0eb Fixed love.joystick.loadGamepadMappings to properly enable currently connected Joysticks as Gamepads when necessary. 2014-06-04 16:03:02 -03:00
Alex Szpakowski 79b453653a Added love.joystick.loadGamepadMappings (resolves issue #842), and Joystick:saveGamepadMapping.
The latter returns a mapping string, and the former loads a newline-separated list of mapping strings.
2014-06-04 15:50:06 -03:00
Alex Szpakowski dfa319e01a Replaced the EXCEPT_GUARD macro for converting love exceptions into Lua errors with the new luax_catchexcept function, which takes lambda function arguments. 2014-06-03 19:27:00 -03:00
Alex Szpakowski 036f6eb8cb Added an optional duration argument to Joystick:setVibration. 2014-05-10 16:52:40 -03:00
Alex Szpakowski fda005c5ff love.graphics.getScissor now has a proper C++ module method 2014-01-09 22:49:00 -04:00
Alex Szpakowski 3120a0e650 Goodbye 2013, hello 2014! 2014-01-03 17:28:58 -04:00
Alex Szpakowski 44d87212b7 Fixed Joystick:isDown to accept 1-based instead of 0-based button indices 2013-12-23 00:28:03 -04:00
Alex Szpakowski 71dd15838e Workaround for SDL_HAPTIC_INFINITY failing in Windows is no longer needed (patched in SDL as of 2 months ago) 2013-12-17 04:03:04 -04:00
Alex Szpakowski 25caa188ba Fixed Joystick:getName to be more consistent 2013-10-05 04:07:39 -03:00
Alex Szpakowski 8b7f151a4d Added joystick vibration support for most common controllers (resolves issue #159).
Added Joystick:setVibration(left, right), Joystick:getVibration, and Joystick:isVibrationSupported.
left and right are numbers between 0 and 1 which correspond to the strength of the gamepad's left and right rumble motors, if it has them.
2013-10-05 01:54:41 -03:00
Alex Szpakowski 95eedcd1be Using auto for some iterators for less dense-looking code 2013-09-30 02:35:10 -03:00
Alex Szpakowski d9cd10e29c love.joystick now scans for connected joysticks when the module is initialized instead of only relying on joystick add events 2013-09-16 02:42:50 -03:00
Alex Szpakowski 06f80d5c08 Fixed undefined behaviour when love exceptions are converted into Lua errors (resolves issue #729) 2013-09-05 23:17:29 -03:00
Alex Szpakowski 3ac0710544 Renamed Joystick:getProductGUID back to Joystick:getGUID 2013-08-30 23:50:29 -03:00
Alex Szpakowski deba2926ce Prefer the Joystick name rather than the GameController name for Joystick:getName 2013-08-29 01:39:21 -03:00
Alex Szpakowski ec9dec6b80 Replaced luax_newtype with luax_pushtype (and added luax_rawnewtype for the old functionality of luax_newtype.)
luax_pushtype keeps the object in a weak table and checks the table before creating a new userdata, so it re-uses the object's existing wrapper userdata if it can, whenever the object is pushed to Lua.

This fixes some subtle issues with love objects, where using them as keys in tables would not always work as expected (https://love2d.org/forums/viewtopic.php?f=4&t=39398&p=112388#p112415). It also decreases the amount of new Lua objects created, saving the garbage collector some work.
2013-08-29 00:40:06 -03:00
Alex Szpakowski 3f6b280d54 Joystick:getID now returns the Joystick's instance id as a second argument, if the Joystick is connected.
The Joystick gets a new unique instance id every time it's connected.
2013-08-28 05:23:02 -03:00
Alex Szpakowski 4fcf47a427 Renamed Joystick:getGUID to Joystick:getProductGUID for greater clarity 2013-08-28 04:21:08 -03:00
Alex Szpakowski 390a47099e Removed some dead/useless joystick code 2013-08-26 18:18:07 -03:00
Alex Szpakowski 6ade6225df Replaced love.joystick.getJoystick with love.joystick.getJoysticks (returns a table of all connected joysticks), and renamed Joystick:getIndex to Joystick:getConnectedIndex 2013-08-26 17:37:59 -03:00
Alex Szpakowski 75eb34379c Changed Joystick:getID to be 1-based instead of 0-based 2013-08-26 17:35:10 -03:00
Alex Szpakowski db1e8e762a Joystick:getIndex now returns nil instead of -1 if the joystick isn't connected 2013-08-26 13:27:19 -03:00
Alex Szpakowski 113ed1cfe7 Merged SDL2 changes from bartbes/love-experiments/SDL2 into default.
- Added love.system module, including clipboard functions.

- Added custom hardware cursors (love.mouse.newCursor, love.mouse.setCursor.)

- Revamped love.joystick:
-- added Joystick objects and moved love.joystick functions which operated on individual joysticks to methods on the Joystick objects.
-- Added love.joystick.getJoystick and love.joystick.getJoystickCount.
-- Added events for when joysticks are connected and disconnected.
-- Added 'Gamepad' methods to Joystick objects: Joystick:isGamepad, Joystick:getGamepadAxis, and Joystick:isGamepadDown. They're a common abstraction for xbox controller-like joystick across operating systems.

- Added monitor choosing support and "fullscreen desktop" mode to love.window.

- Moved unicode text input events to their own callback function (love.textinput), removed the key repeat functions from love.keyboard and made the second argument of love.keypressed a boolean saying whether the keypress was a repeat.

- liblove now works with love.window and love.graphics in OS X
2013-08-25 16:51:42 -03:00
Alex Szpakowski 3b3c5c3711 Removed love.joystick.getBall and love.joystick.getBallCount (issue #648) 2013-06-30 16:59:28 -03:00
Alex Szpakowski 63404f7097 Added love.graphics.getRendererInfo(infotype). Useful for creating more informative error reports and advanced debugging.
Returned string can be highly system-dependent, so don't rely on its output!

infotype can be "name", "version", "vendor", or "device"
2013-05-05 16:47:42 -03:00
Alex Szpakowski 4c616e409b Renamed ParticleSystem:count, Channel:count, and all getNum* functions to get*Count (issue #602) 2013-05-03 04:04:44 -03:00
Alex Szpakowski 4ae126ac44 Fixed some potential instability or crash issues 2013-03-03 20:23:40 -04:00
Alex Szpakowski 96161c66f6 Updated copyright text for the new year 2013-02-05 05:32:49 -04:00
Bart van Strien 7793e7f02f CRLF to LF 2012-07-04 14:40:24 +02:00
rude 81c38e22d0 Applied the new style guidelines.
Well, sort of. Lot's more to be done, but this is a start.
2012-06-28 23:52:33 +02:00