Commit Graph

1529 Commits

Author SHA1 Message Date
Alex Szpakowski 18569979e9 Better cleanup when the graphics and window subsystems are destroyed and restarted. 2015-01-21 18:23:16 -04:00
Alex Szpakowski e82d1dfe54 Added Lua 5.3's UTF-8 module to LÖVE. Resolves issue #951.
The module must be required before use, i.e. utf8 = require("utf8").  API documentation can be found here: http://www.lua.org/manual/5.3/manual.html#6.5

Removing the last unicode character in a string (for proper backspace support in text boxes, for example) can be done using utf8.offset, e.g. text = text:sub(1, utf8.offset(text, -1) - 1).
2015-01-21 16:52:56 -04:00
Alex Szpakowski b4f2a9417a Added new event callback love.mousemoved(x, y, xrel, yrel), where xrel and yrel are the amount of pixels moved since the last event. Added love.mouse.setRelative(bool relative) and love.mouse.isRelative. Resolves issue #470.
Enabling relative mouse mode will hide the cursor and let the system generate relative mouse move events while preventing the mouse from getting stuck at the edges of the screen (i.e. you can keep moving the mouse in one direction forever and the relative movement events will be generated accordingly.)

The reported absolute mouse position is not updated while relative mode is enabled, even while relative movement events are generated.
2015-01-15 20:22:57 -04:00
Alex Szpakowski c26315dd4d Actually a stop() in the Audio module destructor is redundant, since stop() is called by the Source pool when it's deleted (also in the destructor.) 2015-01-15 16:39:27 -04:00
Alex Szpakowski 6d3ae981ac Moved the love.audio.stop call when love is quit from love.run to the destructor of the Audio module. 2015-01-15 16:36:52 -04:00
Alex Szpakowski f1634bc6a8 The existence of the AL_EXT_MCFORMATS OpenAL extension is checked when creating 5.1 and 7.1 (6 and 8 channel) Sources. love.audio.newSource now errors if the channel count and bit-depth combination of the Source isn't supported. 2015-01-15 15:59:15 -04:00
Bart van Strien 181196fc0c Add support for 5.1 and 7.1 audio loading, still seems a bit dodgy (issue #970) 2015-01-15 10:54:27 +01:00
Alex Szpakowski 811f574ef6 Reference counting for love objects in 0.9.2 is now atomic (using SDL's atomic operation functions.) 2015-01-14 15:52:05 -04:00
Alex Szpakowski 91062a1496 Added Body/Contact/Fixture/Joint/World:isDestroyed (resolves issue #964.) 2015-01-05 00:14:41 -04:00
Alex Szpakowski be9b5b5d1a Added love.window.maximize (resolves issue #966.) 2015-01-05 00:00:46 -04:00
Alex Szpakowski 8a9a73151d Pump events when calling love.mouse.getPosition/getX/getY/setX/setY, since some of SDL's backends don't update the internal mouse state until the next PumpEvents, if SDL_WarpMouseInWindow was called previously.
Resolves issue #968.
2015-01-03 23:02:10 -04:00
Alex Szpakowski c7b45b3505 Updated copyright for the new year 2014-12-31 19:32:43 -04:00
Alex Szpakowski 60eceadc0a Added "mirroredrepeat" wrap mode. 2014-12-22 19:16:36 -04:00
Alex Szpakowski a7b27f3303 Forgot to remove a bit of code... 2014-12-11 21:23:06 -04:00
Alex Szpakowski 6eee2368be Literal strings containing Lua code can be passed into love.thread.newThread directly, similar to loadstring and love.graphics.newShader (resolves issue #622.)
Threads are still *very* heavyweight objects and should be treated as such, unlike the functions returned by loadstring.
2014-12-11 21:22:12 -04:00
Alex Szpakowski c4a1457603 Fixed Image:setMipmapFilter keeping bad state around if it errors. 2014-12-05 12:19:50 -04:00
Alex Szpakowski 5fac441a51 Added Body:getJointList. 2014-11-15 01:17:20 -04:00
Alex Szpakowski 68936e6d2f Added GearJoint:getJoints (resolves issue #922.) 2014-11-14 22:06:37 -04:00
Alex Szpakowski 78d5db6981 Fixed MotorJoint:getType. 2014-11-14 21:43:22 -04:00
Alex Szpakowski 775f816304 Added Joint:getBodies (see issue #922.) 2014-11-12 17:18:50 -04:00
Alex Szpakowski 22bbe74ed9 Allow BC6 and BC7 compressed DDS files to be loaded into Images. 2014-11-05 21:11:22 -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 1108dea696 Updated the error message when invalid UTF-8 strings are used in love.graphics.print and friends to mention UTF-8. 2014-10-06 19:34:11 -03:00
Alex Szpakowski d3e1993673 Rearranged love.window.showMessageBox' arguments so the messagebox type is the second-last argument and defaults to "info" (resolves issue #937.) 2014-09-28 15:37:56 -03:00
Alex Szpakowski e8009bb4cb Reverted commit 14ca947 (love.math.setRandomSeed internally calling random() a few times.) The change can break existing 0.9.x games so it will be pushed back to the minor branch. 2014-09-28 15:28:14 -03:00
Alex Szpakowski 808e533b02 Tweaked streaming Sources to use fewer OpenAL buffers (and increased the amount of decoded data per buffer to compensate), and removed some unnecessary #include statements. 2014-09-28 14:58:59 -03:00
Alex Szpakowski e2354acc65 Updated the love key to SDL keycode mapping to be a static array instead of a std::map. 2014-09-27 03:17:08 -03:00
Alex Szpakowski b70f72acb3 Fixed a couple potential memory leaks if love.graphics.newShader causes an error, and cleaned up some shader-related code. 2014-09-27 02:26:58 -03:00
Alex Szpakowski c6b610d116 Cleaned up some code. 2014-09-21 19:50:02 -03:00
Alex Szpakowski 7948b11082 Updated love.physics.newPolygonShape and love.physics.newChainShape to accept a table of vertices, fixed a small memory leak if newChainShape errors, fixed the vertex order of newChainShape. 2014-09-21 03:31:36 -03:00
Alex Szpakowski 7f490c4c30 Added ParticleSystem:setLinearDamping and ParticleSystem:getLinearDamping (resolves issue #803.) 2014-09-19 21:00:04 -03:00
Alex Szpakowski d4c60e077d Fixed the window position in fullscreen modes. 2014-09-19 17:24:30 -03:00
Alex Szpakowski b75e1bdeaa Added love.window.setPosition(x, y [, displayindex]), love.window.getPosition, and optional x and y fields for t.window in love.conf and for the flags table in love.window.set/getMode (resolves issue #930.) 2014-09-19 16:19:55 -03:00
Alex Szpakowski 3d7a3c2c3c Improved the error message when a misspelled filename is given to love.graphics.newShader (resolves issue #928.) 2014-09-18 22:36:22 -03:00
Alex Szpakowski c6896dfc4e Consolidated some duplicate code in SpriteBatch:add. 2014-09-18 20:29:47 -03:00
Alex Szpakowski 5dda0c08eb Slightly improved the performance of SpriteBatch:setBufferSize. 2014-09-18 18:30:56 -03:00
Alex Szpakowski 00944c5f5d Added love.window.toPixels(x [, y]) and love.window.fromPixels(x [, y]), for easier conversion between window-space and pixel-space values when highdpi mode is enabled on a retina display in OS X (and in the iOS and Android ports of LÖVE.) 2014-09-14 15:58:37 -03:00
Alex Szpakowski f972c9923f Fixed love.graphics.reset reverting the current font to nil and breaking love.graphics.print. 2014-09-11 02:42:56 -03:00
Alex Szpakowski 346aa7d839 Fixed a memory leak in Sources created from SoundData. 2014-09-04 13:33:18 -03:00
Alex Szpakowski 77bec45b4a Fixed SpriteBatch:setBufferSize. 2014-08-31 01:15:58 -03:00
Alex Szpakowski 68b2c9e851 The default filter mode is now included in the state affected by love.graphics.push("all"). 2014-08-29 01:31:16 -03:00
Alex Szpakowski 40c6821048 Removed some dead code and fixed luax_pushtype when the object argument is null. 2014-08-28 00:48:32 -03: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 1449a81bdf Removed some dead code. 2014-08-26 22:16:01 -03:00
Alex Szpakowski d6cd2e2e7e Prettied up some code. 2014-08-26 00:05:08 -03:00
Alex Szpakowski d5e5f38e2f Fixed Source:tell crashing if the Source is static. 2014-08-25 03:46:11 -03:00
Alex Szpakowski 1978fa9910 Cleaned up a bit of unused code. 2014-08-22 17:44:52 -03:00