Commit Graph

175 Commits

Author SHA1 Message Date
Alex Szpakowski 2fb39f4448 Merged default into minor
--HG--
branch : minor
2014-04-05 01:33:14 -03:00
Alex Szpakowski 9dd3f70988 Use love.filesystem.isFile instead of love.filesystem.exists when checking for main.lua and conf.lua on startup 2014-04-02 22:16:27 -03:00
Alex Szpakowski b18c35a1f2 Renamed blend modes "additive", "subtractive", and "multiplicative" to "add", "subtract", and "multiply" (resolves issue #864)
--HG--
branch : minor
2014-04-01 20:49:24 -03:00
Alex Szpakowski 6dc10cfd15 Merged default into minor
--HG--
branch : minor
2014-04-01 20:46:31 -03:00
Alex Szpakowski fc77e8f9f0 Throw away the first 3 love.math.random results after seeding it (xorshift outputs less random results the first few times when the seed is very similar to a previous one) 2014-03-15 21:43:25 -03:00
Alex Szpakowski caa61563cc OpenGL 2.1 is now required to use love.graphics (resolves issue #779.)
Removed love.graphics.isSupported("canvas", "shader", "npot", "subtractive", and "mipmap"), since those features are all guaranteed by the minimum system requirements.

--HG--
branch : minor
2014-03-12 02:26:32 -03:00
Alex Szpakowski ec0f428c4f Cleaned up the code for initializing love.filesystem and the source and save directories a bit 2014-03-01 20:23:04 -04:00
Alex Szpakowski ce4fdf4ac9 Added sRGB (gamma-correct) support for Images, Canvases, and the main screen.
love.graphics.newImage(path, “srgb”) creates a new Image whose texels are treated as being in the sRGB color space, so they are linearized when drawing/sampling from the image.

love.graphics.newCanvas(w, h, “srgb”) creates a new Canvas whose texels are treated as being in the sRGB color space, so drawing to the Canvas does a linear->sRGB conversion (but blends linearly), and sampling from it (drawing it or using it in a shader) converts from sRGB to linear space.

The "srgb" window flag does the same as Canvases for the main screen.
2014-02-02 18:31:41 -04:00
Alex Szpakowski 007d0d5216 Windows: create the console before modules are loaded (allows information printed during module initialization to be displayed.) 2014-01-29 16:20:05 -04:00
Alex Szpakowski 81d9810ed8 Fixed t.window.highdpi in love.conf, updated the nogame screen to look slightly better on retina displays 2014-01-18 00:41:02 -04:00
Alex Szpakowski 309193895a Added opt-in support for high-dpi mode in OS X when on a retina display (resolves issue #761).
Added a ‘highdpi’ boolean flag to t.window/love.window.setMode (defaults to false.)
When the window is actually in high-dpi mode on a supported display, the graphics width and height and the mouse position are in pixels, rather than ‘window coordinates’.

Added love.window.getPixelScale. Returns the scale factor of the window from user-space points to pixels (e.g. it will be 1 normally, and 2 on a retina display in OS X with high-dpi mode enabled.)
2014-01-17 21:11:20 -04:00
Alex Szpakowski 3120a0e650 Goodbye 2013, hello 2014! 2014-01-03 17:28:58 -04:00
Alex Szpakowski eadb718ade Fused status is now set before conf.lua is loaded 2013-12-07 02:13:54 -04:00
Alex Szpakowski f997cc43c1 Fixed a crashing issue when the error handler can’t create a window 2013-12-04 17:03:34 -04:00
Bart van Strien 33bb049ee6 Don't call love.graphics functions in love.run until a window has been created, prevents segfaults when love.window and love.graphics were loaded, but there was no window 2013-12-02 21:07:43 +01:00
Alex Szpakowski 1c8abc74aa Renamed love.math.g/setRandomState and rng:g/setState to love.math.g/setRandomSeed and rng:g/setSeed.
getRandomSeed now always returns the previously set random seed instead of the current (implementation-dependent) random state.
2013-12-01 21:25:27 -04:00
Alex Szpakowski 0fb05fd84d Reorganized the nogame screen’s drawing code to marginally reduce CPU usage. Woo! 2013-11-13 04:07:29 -04:00
Bart van Strien b8a69ab2b6 At least decode file uris now 2013-11-03 20:23:31 +01:00
Alex Szpakowski 8cc5364d15 Changed the SearchOrder argument of love.filesystem.setIdentity and love.filesystem.mount to a boolean (append) instead of an enum 2013-10-30 17:05:46 -03:00
Alex Szpakowski 101c6ae90a Fixed love.window.setFullscreen to update the graphics viewport immediately instead of waiting for the next event polling 2013-10-30 14:26:34 -03:00
Bart van Strien f846ed60b2 Old merge? 2013-10-15 20:03:58 +02: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
Bart van Strien 6aa150fe8b Add t.window.icon to love.conf (resolves #668) 2013-10-04 14:36:29 +02:00
Bart van Strien 3ba22cad7b Seed love.math's random, instead of lua's in love.run (resolves #732) 2013-10-04 14:01:55 +02:00
Alex Szpakowski 6eee23c8fc Cleaned up the incompatibility warning message and fixed it to actually display on the screen (resolves issue #707) 2013-09-20 17:50:59 -03:00
Alex Szpakowski 67a807f79c The first frame's delta time no longer includes the time taken to load main.lua and call love.load, in the default love.run. 2013-09-20 03:39:40 -03:00
Alex Szpakowski b5c231e5bb The window minwidth and minheight can't be less than 1 2013-09-19 23:33:13 -03:00
Alex Szpakowski 0ce0db9e1b The minwidth and minheight window flags have default values of 0 instead of 100 (resolves issue #735).
The real minimum window width and height are still system-dependent.
2013-09-19 19:05:40 -03:00
Alex Szpakowski ffe0485173 Removed love.window.checkMode (resolves issue #653, invalidates issue #592).
Also fixed love.window.setMode to fail instead of bug out when trying to set a fullscreen mode which is too large for the monitor.
2013-09-19 18:13:52 -03:00
Alex Szpakowski 040defbbfe Renamed love.mouse.setGrab to love.mouse.setGrabbed (resolves issue #720) 2013-08-28 19:13:17 -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 ce4d895918 The error handler now makes sure the mouse is visible and ungrabbed 2013-08-17 03:44:44 -03:00
Alex Szpakowski 3fc0d0171a Fall back to an alternative visual in the nogame screen if subtractive blending isn't supported, instead of erroring 2013-08-17 00:08:22 -03:00
Alex Szpakowski ecd5330c57 Made the no-game screen resizable (thanks Robin) 2013-08-14 19:56:04 -03:00
Alex Szpakowski 76565a3e11 Renamed love.window.setCaption to love.window.setTitle (resolves issue #703) 2013-08-14 11:16:41 -03:00
Alex Szpakowski 73e9f327dc Cleaned up boot.lua a tiny bit 2013-08-08 03:19:54 -03:00
Alex Szpakowski fc3affb9b9 Removed 'release mode' and love.releaseerrhand, and added love.filesystem.isFused (resolves issue #579).
Games which are fused (either via appending the .love to the executable or with --fused) automatically have the changes which previously only applied to fused games in release mode.
2013-08-05 15:02:50 -03:00
Alex Szpakowski 140a19593b Changed the default error handlers to attempt to create a window to show the error if the window isn't created yet, instead of just quitting 2013-08-04 18:07:50 -03:00
Alex Szpakowski 7a20bbc6c4 Added an optional search order enum ("first" or "last") to love.filesystem.setIdentity and love.filesystem.mount (resolves issue #694) 2013-08-04 00:32:23 -03:00
Alex Szpakowski 2106ff2403 Added love.threaderror event callback function (re issue #673) 2013-08-03 15:10:08 -03:00
Alex Szpakowski bdb4c7eb90 Renamed t.screen to t.window in love.conf (resolves issue #637) 2013-07-20 14:49:14 -03:00
Alex Szpakowski 67353d4de7 Reduced CPU usage (and improved performance) for the nogame screen 2013-07-14 18:04:20 -03:00
rude aa1c091cc9 Add Baby Inspector no-game screen.
As always, I had great plans for the no game screen, but these great plans take
way too much time to implement. So I settled for something simpler, i.e. the
standard LSD stuff.
2013-07-14 21:49:04 +02:00
Alex Szpakowski 8084096937 Fixed the error screen sometimes not properly appearing until the next input event due to double/triple-buffering 2013-07-01 23:29:18 -03:00
Alex Szpakowski 958a25e0af Flipped the loading order of the graphics and window modules (first window, then graphics) 2013-06-21 06:02:09 -03:00
Alex Szpakowski 66b9b46846 Removed the love.joystickball event callback function 2013-06-12 06:30:00 -03:00
Alex Szpakowski 6b7eb35d8a Added love.visible(boolean visible) event callback 2013-06-11 20:15:55 -03:00
Alex Szpakowski f253a016f6 Cleaned up love.run a bit 2013-06-08 19:56:36 -03:00
Alex Szpakowski 6a76e082e4 Re-added love.graphics.getWidth/getHeight 2013-05-28 20:23:31 -03:00
Alex Szpakowski 252aa114a7 Fixed a potential error in the release errhand function 2013-05-27 16:18:38 -03:00