Bart van Strien
5d43c9601a
Automatically deduce the type in luax_pushtype, if possible
...
--HG--
branch : dynamiccore2
2016-11-13 17:38:42 +01:00
Bart van Strien
7dd960619d
Automatically deduce the type in luax_checktype, luax_getmodule, luax_optmodule and luax_totype
...
--HG--
branch : dynamiccore2
2016-11-13 17:13:40 +01:00
Bart van Strien
c761202486
Build type information on first use (load-time), instead of using a hardcoded list
...
--HG--
branch : dynamiccore2
2016-11-13 16:38:57 +01:00
Alex Szpakowski
327682d07f
Add support for passing a table to love.mouse.isDown, love.keyboard.isDown, love.keyboard.isScancodeDown, Joystick:isDown, and Joystick:isGamepadDown.
2016-09-19 22:43:47 -03:00
Alex Szpakowski
46a2e7b85c
Happy new year! 🎉
2016-01-01 00:05:06 -04:00
Alex Szpakowski
2c4e713114
Imported some of the dynamiccore branch from love-experiments:
...
- Type names for love's Lua objects are specified as an argument to luax_register_type, rather than being statically defined in an array.
- luax_register_type takes a variable number of method array arguments, for registering superclass methods without copying them into the subclass' method array.
Also removed most of the header declarations for wrapper functions.
2015-11-29 20:38:12 -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
Bart van Strien
3cb777e2b7
Add basic lua 5.3 support
2015-06-16 10:25:41 +02: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
2f419c1c83
Replaced most cases of type bits and type name strings in love's Lua wrapper code with type id's.
...
--HG--
branch : minor
2015-03-01 18:32:41 -04: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
0d28135465
Fixed love.joystick.loadGamepadMappings to work properly if a FileData object is passed to it.
2014-11-03 16:24:28 -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
da7cd267ea
Changed luax_pushtype to retain the pushed object itself, but only if the object isn't in the Lua state already.
...
Previously, calling e.g. love.graphics.getFont() 10,000 times would retain the object 10,000 times (and release it 10,000 times when the Font object was garbage-collected in the Lua state.) Now it will only retain it once and release it once.
2014-08-09 16:04:59 -03:00
Alex Szpakowski
d52bab4221
Updated the new module changes to use more compile/link-time checking rather than runtime checking.
2014-07-21 15:12:01 -03:00
Alex Szpakowski
014b9a46e5
Updated the Lua wrapper code for modules to account for cases where the module's instance is removed from memory completely and recreated during the program's lifetime.
2014-07-21 14:52:01 -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
e4dc533bb2
Minor code cleanup
2014-05-01 14:12:21 -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