Commit Graph

545 Commits

Author SHA1 Message Date
Miku AuahDark dda24bb98a Fix typo
--HG--
branch : androidmic
2019-09-29 15:54:27 +08:00
Miku AuahDark 0f23b0e4a0 Initial working on mic recording support for Android.
--HG--
branch : androidmic
2019-09-29 11:47:13 +08:00
Alex Szpakowski 594b45cfb5 Clean up internal vector code. Add an (internal) vector4 struct. 2019-09-28 19:31:02 -03:00
Alex Szpakowski 2eefa859e3 Attempt to fix VS2013 compatibility. 2019-09-25 15:52:12 -03:00
Alex Szpakowski 93802a3247 Use doubles instead of lightuserdata for keys into love's internal object registry (issue #1515). 2019-09-25 15:30:22 -03:00
Alex Szpakowski e11d43507e Reorganize ImageData:set/mapPixel code so less of it is in the Lua wrapper and more of it is in the ImageData class itself. 2019-09-21 21:48:03 -03:00
Alex Szpakowski c4fac73dc4 ImageData and Images now support the rg11b10f format. 2019-09-21 14:46:45 -03:00
Alex Szpakowski cd6471304d add comments to packed pixel format enums to clarify bit order 2019-09-19 20:48:17 -03:00
Alex Szpakowski 9ab2a94037 Rename internal C++ Color struct to Color32 to help differentiate it from Colorf. 2019-09-14 23:13:40 -03:00
Alex Szpakowski 56e3af1744 Slightly improve performance of Channel:push(table). 2019-07-20 11:25:52 -03:00
Alex Szpakowski b43074efa5 Add an easier std::string Variant constructor. 2019-07-20 10:59:12 -03:00
Alex Szpakowski cb4b45dcf1 Add Data:getFFIPointer. Similar to Data:getPointer but returns a cdata pointer directly (or nil if the FFI isn't available).
It should be preferred instead of Data:getPointer because the latter uses lightuserdata which can't store more all possible memory addresses on some new arm64 architectures, when LuaJIT is used.
2019-07-20 10:47:58 -03:00
Alex Szpakowski 3938da9cc6 Fix compiler warnings about Optional field initialization order 2019-06-28 12:39:15 -03:00
Alex Szpakowski 62d6573216 Rearrange fields in the Optional struct for less wasted padding. 2019-06-25 20:08:32 -03:00
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