Commit Graph

2569 Commits

Author SHA1 Message Date
Alex Szpakowski 3af66da51e Automatic batching: improve the consistency of performance and draw calls for the vertex buffer upload approach taken on older Windows and Linux GPUs which are only capable of GL3. 2018-12-27 23:52:54 -04:00
Alex Szpakowski 752c5b70f1 Fix font vertex generation skipping the first glyph in the string if it restarts its loop due to its texture atlas being recreated to make room for more glyphs. Resolves issue #1452. 2018-12-27 21:16:45 -04:00
Alex Szpakowski a91a0a9431 update glslang 2018-12-26 14:47:34 -04:00
Alex Szpakowski 324a290040 The code related to t.audio.mixwithsystem=true is run before the audio module is loaded. Fixes issue #1430. 2018-12-26 11:36:23 -04:00
Alex Szpakowski f504ace6cd Make sure love.window.getSafeArea is in DPI-scaled units on all platforms. 2018-12-26 10:36:41 -04:00
Alex Szpakowski d41aca836e Add love.window.getSafeArea (resolves issue #1437). Returns a rectangle (x, y, w, h) inside the window which is known to be unobstructed by a system title bar, the iPhone X notch, etc. Useful for making sure UI elements can be seen by the user.
Currently it only has a proper implementation on iOS and will return the window's full size otherwise.
2018-12-26 00:34:14 -04:00
Alex Szpakowski 1c853cbcc3 Fall back to glTexImage instead of glTexStorage on Radeon 3xxx drivers on Windows. Potentially works around a graphics driver bug which prevented text from showing up. 2018-12-25 18:33:26 -04:00
Alex Szpakowski fc17ecba0d Expose C++ love.event Message name and args fields so other code can access them. 2018-12-21 14:12:44 -04:00
Bart van Strien b2ed16cd7b Error when trying to create a queueable source with newSource (issue #1450) 2018-12-19 11:04:36 +01:00
Alex Szpakowski e2aa469170 Add love.window.get/setVSync, to allow changing the vsync setting without recreating the window. 2018-12-18 13:39:06 -04:00
Alex Szpakowski 6302602a45 Add love.math.colorToBytes and colorFromBytes, simple functions to convert between 0-1 and 0-255 (byte) colors. 2018-12-18 00:07:39 -04:00
Alex Szpakowski 5d5c2f9a96 math and data module instances are now deleted when they have no more Lua references (matches the behaviour of other modules.) Fixes the deprecation system not fully restarting when love.event.quit("restart") is called.
Resolves issue #1462.
2018-12-17 16:44:13 -04:00
Alex Szpakowski d4762b4612 Add love.window.getDisplayOrientation and a love.displayrotated callback. Resolves issue #1441.
Note that this tracks screen orientation, rather than device orientation.
2018-12-17 16:19:56 -04:00
Alex Szpakowski 43ee232897 macOS: Use a (non-persistent) map/sync approach for stream buffers, instead of glBufferSubData. This usually won't affect performance either way, but avoids some worst-case performance cliffs on my Intel GPU in my testing. 2018-12-16 15:15:32 -04:00
Alex Szpakowski dc5e43adf3 Split wrap_Graphics.lua into two files to work around VS2013's 16kB limit for raw string literals. 2018-12-13 22:34:30 -04:00
Alex Szpakowski 1896f82f5d GL3/GLES3: Work around some drivers (e.g. Intel on Windows) making pixel shaders unnecessarily expensive when MRT is not used, because love declares ~8 pixel shader outputs even when only the first is used by shader code. 2018-12-13 20:52:45 -04:00
Alex Szpakowski bcc5e77632 Simplify OpenGL 3+ stream buffer syncing code used with automatic batching. 2018-12-12 17:51:03 -04:00
Alex Szpakowski 9cdb4300de Merged in PabloMayobre/love/PabloMayobre/fix-seteffecteffect-true-and-geteffectef-1540253791471 (pull request #114)
Fix Source:setEffect and Source:getEffect.
2018-12-12 18:20:42 +00:00
Alex Szpakowski c8d2d76df7 Work around a compiler bug in old versions of VS2013 (resolves issue #1458). 2018-12-12 11:26:14 -04:00
Alex Szpakowski 2e190f4fa0 Merged in PabloMayobre/love-1/PabloMayobre/fixed-hash-functions-in-data-module-not--1543171550077 (pull request #117)
Fixed hash functions in data module

Approved-by: Bart van Strien <bart.bes+projects@gmail.com>
Approved-by: Tae Hanazono <auahdark687291@gmail.com>
2018-12-06 21:50:18 +00:00
Bart van Strien 7253118100 Make and use a vector variant of luax_convobj
Which also prevents accessing the zeroeth element of an empty vector
2018-12-03 18:19:28 +01:00
Pablo Mayobre 1670edf4ba Fix Source:setEffect working incorrectly when a fourth or more arguments are passed
--HG--
branch : PabloMayobre/fix-seteffecteffect-true-and-geteffectef-1540253791471
2018-11-30 04:01:52 +00:00
Pablo Mayobre ed68ac6b28 Fix hash functions. The length appended at the end was the modified length (taking into consideration the appended bit) instead of the original length as it should be.
--HG--
branch : PabloMayobre/fixed-hash-functions-in-data-module-not--1543171550077
2018-11-30 03:54:58 +00:00
Michael Vetter a1d6da4624 Silence compiler warning
Silence compiler warnings about methods with return value and potentially not returning anything.
This happens with gcc8 and the `-O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -std=c++11` flags passed to it by default on openSUSE.
2018-11-29 17:07:20 +01:00
Pablo Mayobre 43633d7b44 Fix typo: paddedlength -> paddedLength
--HG--
branch : PabloMayobre/fixed-hash-functions-in-data-module-not--1543171550077
2018-11-25 19:03:30 +00:00
Pablo Mayobre 7c1603537f Fixed hash functions in data module, not taking the appended 1bit into consideration when calculating padding length. Fixes #1453
--HG--
branch : PabloMayobre/fixed-hash-functions-in-data-module-not--1543171550077
2018-11-25 18:46:33 +00:00
Alex Szpakowski 5143926b38 Copy the data size of old uniforms to the new uniform when reinitializing shader uniforms after love.window.setMode.
Fixes a crash in the Data variant of Shader:send when it's called after setMode on a shader that was created before the setMode call.
2018-11-12 15:20:09 -04:00
Pablo Mayobre b53f3de4a7 Add Source:setAirAbsorption() and Source:getAirAbsorption() 2018-10-23 03:22:33 +00:00
Pablo Mayobre e840631388 Fix :setEffect("effect", true) and :getEffect("effect") when no filter is associated to the effect.
Fixes #1449

--HG--
branch : PabloMayobre/fix-seteffecteffect-true-and-geteffectef-1540253791471
2018-10-23 00:17:19 +00:00
Alex Szpakowski 535be96f03 Optimize StreamBuffer::getUsableSize to not be a virtual method. 2018-09-29 14:50:49 -03:00
Alex Szpakowski 0cf106fa6a Keep a reference to the SDL video subsystem in the mouse module, since cursors need it. Potentially resolves issue #1388. 2018-09-28 20:51:41 -03:00
Josh Grams cca5af66e8 setCanvas: rephrase confusing error message. 2018-09-21 08:32:27 -04:00
Alex Szpakowski 79679f6272 Fix an uninitialized variable causing (harmless) OpenGL errors. Resolves issue #1434. 2018-08-14 18:10:15 -03:00
Alex Szpakowski b38c61b7ce Merged in daviel/love/bodygettransform (pull request #107)
Added body:getTransform method
2018-06-09 13:36:56 +00:00
David K b8c9bc38a1 Renamed arguments in setTransform method. Merge setters in to one lamba
--HG--
branch : bodygettransform
2018-05-26 09:54:09 +02:00
David K 0d1b2bc68a Added body:setTransform method
--HG--
branch : bodygettransform
2018-05-24 20:25:55 +02:00
David K 29b7dcf21b Added body:getTransform method
--HG--
branch : bodygettransform
2018-04-29 21:05:03 +02:00
Alex Szpakowski 866df108ab Windows: attempt to make love._openConsole smarter about dealing with already being attached to a console. See issue #1394. 2018-04-07 18:59:12 -03:00
Alex Szpakowski b934f74795 Fix Fixture:getShape() causing crashes with ChainShapes (resolves issue #1392), removed dead code that's no longer valid 2018-04-07 18:37:29 -03:00
Alex Szpakowski bb228cab0c Fix love.event.quit causing crashes and other bad behaviour if a Canvas is active. Resolves issue #1395. 2018-04-07 12:43:00 -03:00
Alex Szpakowski 7b91ab915c Potentially fix depth/stencil support on older phones. 2018-04-07 11:35:20 -03:00
Bart van Strien 571503c02e Don't use deprecated isFile in love.joystick.loadGamepadMappings (fixes #1391) 2018-04-04 17:49:51 +02:00
Alex Szpakowski 93372b87a8 Fix love.graphics.clear(colortable) when no Canvas is active. 2018-04-03 20:12:41 -03:00
Alex Szpakowski 613de97b58 Fix Source:queue to show the correct argument in the error message when an invalid data parameter is passed in. 2018-04-02 16:34:48 -03:00
Alex Szpakowski cfa30167ca Fix hash map collisions when setting canvases. 2018-04-02 15:58:38 -03:00
Martin Felis 1462f4cf56 (Android) Removed declaration of log2 as it is available in newer NDK APIs 2018-03-31 22:46:12 +02:00
Alex Szpakowski 0cefb12c13 Add a variant of love.filesystem.getInfo which filters based on file type. getInfo(filename, "directory") will only return info for non-symlinked directories, for example. 2018-03-24 14:43:56 -03:00
Alex Szpakowski 3949fde802 Fix querying the default audio recording device, some Source code style cleanups. 2018-03-11 18:47:44 -03:00
Alex Szpakowski 3a2ffc5e07 Add support for header-less DEFLATE data to love.data.compress/decompress. 2018-02-24 22:28:58 -04:00
Bart van Strien f32237a524 Prevent error in File:lines if the last line does not end with a newline (resolves #1383) 2018-02-17 14:55:39 +01:00