Commit Graph

381 Commits

Author SHA1 Message Date
Alex Szpakowski 46d8b07e41 Fix non-integer dpi scale values specified in love.graphics.newCanvas. 2019-05-27 19:20:25 -03:00
Miku AuahDark b3497f42e4 Add failsafe for love.window.getSafeArea in Android.
In case it uses older Java files, the function can safely be called without
causing Java crash.

--HG--
branch : android-safearea
2019-02-09 18:55:48 +08:00
Miku AuahDark 4a08c0f7c1 Implement love.window.getSafeArea for Android
--HG--
branch : android-safearea
2019-02-08 23:58:02 +08:00
Alex Szpakowski 3ad16a70da love.physics: move internal box2d->love object map to World instances, and clean up some physics object code. Resolves issue #1465. 2019-01-04 21:36:05 -04:00
Alex Szpakowski 0752f27bdf Update copyright year for 2019 2019-01-03 21:09:05 -04:00
Alex Szpakowski a7d0c02058 Remove some unused love.physics Body methods, and clean up a bit of code. 2019-01-03 20:36:47 -04:00
Alex Szpakowski 97883ae627 Update version to 11.3 2018-12-27 21:48:42 -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 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 ebe98a91ec Expose C++ variant data union so other C++ code can access it. 2018-12-21 14:25:43 -04: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
Tae Hanazono 4c13278784 Modify openURL to return boolean from Java side
--HG--
branch : android-fix
2018-11-03 15:19:55 +08:00
Alex Szpakowski da23448efe Update version to 11.2 2018-10-28 13:52:09 -03:00
Joel Schumacher 0499f03891 Remove extern declaration of std::vector<std::string>::emplace_back to fix compliation with MSVC 2018-10-03 20:02:10 +02:00
Alex Szpakowski e1ec98ad64 Add an ARM NEON simd implementation of matrix multiplication. 2018-09-29 14:52:11 -03:00
Bart van Strien cac369ee44 Export luax_resume for windows 2018-05-11 17:35:24 +02:00
Bart van Strien fb793944e4 Restore lua 5.2/5.3 compatibility (fixes #1408) 2018-05-03 20:04:16 +02:00
Alex Szpakowski 4546a38751 Update changelog and version 2018-04-08 11:31:10 -03:00
Bart van Strien da9716b96d Update version number and changelog 2018-03-31 12:27:02 +02:00
Alex Szpakowski 277816fc86 Update codename 2018-03-11 19:11:33 -03:00
Alex Szpakowski a361b5c330 Fix invalid base64 produced by love.data.encode when the input data has byte values greater than 252. Resolves issue #1374. 2018-02-07 22:28:33 -04:00
Alex Szpakowski d37c53584e Fixed the mipmaps flag in love.graphics.newImage; cleaned up a bit of vector code in love.math.isConvex. 2018-01-28 22:32:40 -04:00
Bart van Strien fd514d8176 Update some more copyright notices
I am so good at using search/replace I definitely didn't need a second commit
for this.
2018-01-03 19:55:02 +01:00
Bart van Strien e80247c191 Happy new year! 2018-01-03 19:47:35 +01:00
Alex Szpakowski dd59803ad3 Error when invalid setting names are used in the tables passed to love.graphics.newCanvas and newImage. See issue #1312. 2017-12-28 23:16:51 -04:00
Alex Szpakowski 7354de2059 Add (low level) functionality to allow rendering 3D Meshes.
- Add love.graphics.setDepthMode(testcomparison, enablewrites).
- Add love.graphics.setMeshCullMode.
- Add love.graphics.setFrontFaceWinding.

Depth testing and depth writes require a depth buffer to work. The mesh cull mode controls whether front/back faces of a mesh are culled. The front face winding determines whether a clockwise or counterclockwise-oriented face in a mesh is considered front facing.

--HG--
branch : minor
2017-12-09 23:34:08 -04:00
Nicola Orlando a9961b7c70 Reversed alignedMalloc return value.
posix_memalign returns false on success; using == 0 instead of != 0 reverses it, allowing alignedMalloc to return true on success and false otherwise (mimicking what happens under Windows).

--HG--
branch : Nixola/reversed-alignedmalloc-return-value-posi-1512135128149
2017-12-01 13:32:51 +00:00
Alex Szpakowski 6dea2ab714 Clamp all color arguments to [0, 1] in cases where values outside that range don't make sense (fixed-point color values & sRGB colors). Closes issue #1315.
--HG--
branch : minor
2017-11-21 19:49:52 -04:00
Alex Szpakowski 8672ff2272 Use a more efficient method of streaming automatically batched vertices on AMD Windows and Linux systems.
--HG--
branch : minor
2017-11-11 20:48:02 -04:00
Alex Szpakowski 4f8e04d391 Fix a crash on quit if a deprecated function was used.
--HG--
branch : minor
2017-10-21 22:37:51 -03:00
Bart van Strien bf1a9344eb Reduce template instantiations of std::vector<std::string>
The new StringMap code for luax_enumerror causes code to be generated for
std::vector. By using an extern template (an old feature standardised in c++11)
we can instantiate it once instead, in StringMap.cpp.

--HG--
branch : minor
2017-10-16 14:40:17 +02:00
Bart van Strien 9e4374935d Show (short) list of possible enum values when an invalid value is encountered (resolves #1318)
All enum errors have (hopefully) been changed to a luax_enumerror, which has a
fixed error message. If additionally a list of valid options is passed, it
lists that in the error message. For every enum error with few options I've
implemented this using a getConstants call.

This solution has been designed specifically to reduce the number of template
instantiations (as I've been told that was a concern). All new template code
happens in places where there already was an instantiation of the relevant
StringMap. Of course there is still std::vector<std::string>...

--HG--
branch : minor
2017-10-02 17:11:53 +02:00
Alex Szpakowski bc980b0f20 Fix Channel:push and other functions that accept love objects and store them in Variants internally. Cleaned up Variant code a bit.
--HG--
branch : minor
2017-09-30 11:11:14 -03:00
Alex Szpakowski b838d0de54 Simplified an internal Variant constructor to be more intuitive to use.
--HG--
branch : minor
2017-09-30 10:39:24 -03:00
Bart van Strien 3278ea5580 Fix compilation with lua 5.2 and 5.3
Mostly to have the lua53 "library" work with both lua 5.1 and lua 5.3.
Additionally fixes two other incompatibilities.

--HG--
branch : minor
2017-09-25 10:27:12 +02:00
Alex Szpakowski 90e86c329d Add love.data module.
- Moved love.math.compress / decompress / decode / encode / hash to love.data.
- Changed love.data.compress/decompress to take the format argument first instead of second.
- Added love.data.newDataView. Returns a read-only subsection of an existing Data object.
- Added love.data.newByteData. Mostly useful in combination with LuaJIT's FFI as it has no extra methods currently.
- Added implementations of Lua 5.3's data packing APIs: love.data.packString / packData / unpack / getPackedSize.

Resolves issue #1336.
Resolves issue #1331.

--HG--
branch : minor
2017-09-24 19:25:27 -03:00
Bart van Strien 907630b04c Fix cycle detection
It used to detect duplicates, not just cycles.

--HG--
branch : minor
2017-08-30 18:57:12 +02:00
Bart van Strien 5ddc89a033 Added cycle detection to Variant
We accidentally enabled nested tables previously, and now it errors properly when the tables contain cycles. Before you'd get (or at least I got) a nice lua stack overflow error.

--HG--
branch : minor
2017-08-30 13:07:57 +02:00
Alex Szpakowski fcd9f1526c Use different output messages for deprecated methods versus functions.
--HG--
branch : minor
2017-08-27 16:55:33 -03:00
Alex Szpakowski 0325663283 Fix build
--HG--
branch : minor
2017-08-27 13:50:47 -03:00
Alex Szpakowski de28c6e6a8 Add the ability to have formally deprecated functions.
Functions which are deprecated will print out a message and show up in a small dialog on-screen, when they're first called. Deprecation output is disabled in fused mode by default, and can be modified with love.setDeprecationOutput(enable).

--HG--
branch : minor
2017-08-27 13:46:31 -03:00
Alex Szpakowski fee157b6b9 Functions that take a boolean argument now properly type-check for it.
--HG--
branch : minor
2017-08-14 22:56:20 -03:00
Alex Szpakowski 74d9bc7faf Add traceback information to the error string generated if a thread causes a Lua error.
--HG--
branch : minor
2017-08-07 20:15:26 -03:00
Alex Szpakowski b129d49a6c Move Color.h from modules/graphics/ to common/
--HG--
branch : minor
2017-08-01 23:53:44 -03:00
Alex Szpakowski 19b4079ecc Merge default into minor
--HG--
branch : minor
2017-07-28 19:14:54 -03:00
Tiago Koji Castro Shibata 3dfe3808c6 Remove playmuted audio configuration 2017-07-18 15:15:04 -03:00
Tiago Koji Castro Shibata 4e9212b152 Add Android support to hasBackgroundMusic 2017-07-13 23:54:37 -03:00
Tiago Koji Castro Shibata 74c35358bb Move setMixMode to love.audio 2017-06-10 00:07:39 -03:00
Tiago Koji Castro Shibata 4c145e8c13 Support audio mix modes 2017-06-02 19:35:58 -03:00
Alex Szpakowski 7694edfd52 Auto-batched draws (except for love.graphics.print, for now) are affected by 3D transforms.
--HG--
branch : minor
2017-05-17 22:03:09 -03:00