Commit Graph

275 Commits

Author SHA1 Message Date
Julio Felipe Angelini cdf7199c48 Added new raw values constructor to Matrix4 and Matrix4::setRawTransformation().
--HG--
branch : set-raw-transform
2016-10-26 17:45:28 -02:00
Alex Szpakowski 677a8d60b8 Use love::Vector (8 bytes) instead of love::Vertex (20 bytes) for love.math.triangulate and love.math.isConvex. 2016-08-24 18:02:27 -03:00
rude 64ee986984 Make LÖVE buildable (barely) with Megasource on Mac. 2016-07-14 16:29:45 +02:00
rude f66011de2f Return correct size from b64_decode.
The current implementation does not take into account padding (and yet it does
actually depend on padding), or skipped whitespace/gibberish characters.

The actual size can be computed by subtracting the padding and gibberish bytes,
but in this case it's easier to just return the actual number of bytes written.
2016-07-12 21:25:23 +02:00
Alex Szpakowski 9bebe9e4e8 Updated the version. 2016-05-02 18:03:57 -03:00
Alex Szpakowski ef5411e8ee Fix building for Windows XP. 2016-04-10 21:58:03 +00:00
Alex Szpakowski 2cbaa7b3ae Better fix, hopefully 2016-04-10 15:59:03 +00:00
Alex Szpakowski 08671ae48e Fix building for Windows desktop 2016-04-10 15:51:50 +00:00
T-Bone c12005b4bb Forgot one LOVE_NOMPG123. 2016-04-10 06:29:58 +02:00
T-Bone b2291fb62a Fixes to make Löve compile on Windows 10 UWP 2016-04-07 22:56:03 +02:00
Alex Szpakowski d0c0240e09 Very minor channel / variant performance improvements and cleanup. 2016-03-12 19:11:03 -04:00
Alex Szpakowski f51bbb8462 Cleaned up some StrongRef-related code. 2016-03-01 18:57:17 -04:00
Alex Szpakowski e08374fdd1 We don't need a mutex lock in Channel::retain/release... I think. 2016-02-26 18:38:39 -04:00
Alex Szpakowski cf4b409302 Renamed some things. 2016-02-18 22:11:41 -04:00
Alex Szpakowski 2dd80fcb49 Fixed a compiler warning... 2016-02-14 19:52:27 -04:00
Alex Szpakowski 5d7425b60e Reduced the size in bytes of Variant slightly by allowing the compiler to better pack its member variables together in memory. 2016-02-14 19:51:55 -04:00
Alex Szpakowski 7ea259e38b Optimize constructing a Variant from a Lua table with a non-zero array size. 2016-02-14 19:24:17 -04:00
Alex Szpakowski 23fcaec89f The Variant class is now meant to be used on the stack instead of allocated on the heap. As a result (and because of related changes), performance of Channels has roughly doubled when pushing and popping most types. 2016-02-14 16:39:32 -04:00
Alex Szpakowski ab91ff0bfe Removed LOVE_LEGENDARY_UTF8_ARGV_HACK, SDL 2.0 does it for us. 2016-01-25 22:52:32 -04:00
Alex Szpakowski 46a2e7b85c Happy new year! 🎉 2016-01-01 00:05:06 -04:00
Alex Szpakowski 2cadb30ecf Updated the version to 0.10.1. 2015-12-29 22:52:16 -04:00
Alex Szpakowski cabf6dcae2 Made type checking for love objects slightly more robust.
LÖVE should now cause an error instead of a crash when a Lua io file is passed into an argument expecting a love object.
2015-12-14 18:30:43 -04:00
Alex Szpakowski 925eebdaf0 Removed love.event.addListener/removeListener/clearListeners.
They take away too much control from the main game code, which makes it harder to implement things like gamestates without modifying library code.
2015-12-12 17:54:54 -04:00
Alex Szpakowski 3eb363059b Added love.event.addListener and removeListener.
addListener takes a function, and names of events that will trigger the function when they're processed inside love.event.poll or love.event.wait. When the given listener function is called, the name of the event as well as all of the event's arguments are passed to the function.

If addListener is called multiple times with the same function and events, it will not add the function more than once.

removeListener takes a function and removes it from all events it was previously added to.
2015-12-11 20:14:52 -04:00
Bart van Strien 22f2175bec Add initial video playback support for Ogg Theora videos (resolves issue #66.)
The basic APIs are:

video = love.graphics.newVideo("myvideo.ogv")

love.graphics.draw(video, ...) -- Video objects are Drawables.

video:play(), video:pause()

video:getDuration(), video:tell(), video:rewind(), video:seek(seconds)

video:getSource()

video:getWidth(), video:getHeight(), video:setFilter(min, mag)

More advanced APIs include video:setSource(source), video:getStream(), and videostream:setSync.

To use a custom pixel shader when drawing a Video, call the new TexelVideo(texcoords) function instead of Texel(texture, texcoords) in order to get the pixel colors of a video frame.
2015-12-08 22:41:19 -04:00
Alex Szpakowski 2c4e713114 Imported some of the dynamiccore branch from love-experiments:
- Type names for love's Lua objects are specified as an argument to luax_register_type, rather than being statically defined in an array.

- luax_register_type takes a variable number of method array arguments, for registering superclass methods without copying them into the subclass' method array.

Also removed most of the header declarations for wrapper functions.
2015-11-29 20:38:12 -04:00
Alex Szpakowski 7265f891de Improved support for non-PVRTC compressed texture formats in .pvr files. 2015-11-28 10:33:17 -04:00
rude 7a260af39f Add 0.10.0 (Super Toast) no-game screen.
This commit adds a version codename and accompanying no-game screen. It should
cause at least a few seizures, if we're lucky. (Press 'F' for fullscreen).

Colors could use some tweaks, probably ... and it would be cool if various
hypnotizing patterns appeared intermittedly in the mosiac ... but that's for
the next commit. (Only two years until next time)!
2015-11-10 23:17:48 +01:00
Alex Szpakowski d3d970b925 Renamed iOS.mm and iOS.h to ios.mm and ios.h, to match the naming conventions of other files. 2015-08-27 18:46:04 -03:00
Alex Szpakowski e979455772 love.event.quit now accepts a single (optional) argument, which is used as the program's exit status number. Resolves issue #1070. 2015-08-25 17:12:59 -03:00
Alex Szpakowski 9a1c4ad565 The iOS game list screen now also displays folders that contain main.lua. 2015-08-15 23:57:04 -03:00
Alex Szpakowski e44f20fdc6 Renamed OSX.mm/OSX.h to macosx.mm/macosx.h to match love's file naming conventions. 2015-08-15 00:41:45 -03:00
Alex Szpakowski db91a73d57 Trigger a Lua error if love.graphics.draw(canvas) is called while that canvas is the active one.
This only catches a subset of the possible accidental read-while-writing situations that can happen when using Canvases, unfortunately.
2015-08-14 22:46:29 -03:00
Alex Szpakowski 9be2581e6f Implemented love.system.vibrate on iOS. Unfortunately due to API limitations the duration argument is ignored, and it always vibrates for roughly 0.5 seconds. 2015-08-14 21:30:07 -03:00
Martin Felis f5778ed86e Added a LOVE_ANDROID define and Android-specific code that interacts with the JNI and SDL. 2015-08-13 19:38:07 -03:00
Alex Szpakowski bfef97c48a Slightly reduced the CPU usage of SpriteBatch:add, Text:add, and love.graphics.draw(ParticleSystem). 2015-08-11 18:01:24 -03:00
Alex Szpakowski 99acec83c9 Renamed some internal functions to avoid name conflicts when some third-party code is #included. 2015-08-03 20:27:46 -03:00
Bart van Strien c15f4b5f26 Modify __tostring so it also shows a pointer, like lua does for tables
This should make it easier to identify unique objects.
Also modified internal code relying on tostring behaviour, and it should now
call its type method instead.
2015-08-01 19:55:41 +02:00
Alex Szpakowski 2cce18946d Fixed objects which store Lua callback functions to avoid attempting to use dead coroutines when deleting the reference to the callback function. Should fix crashes when coroutines are mixed with those objects.
Also improved the performance of World:rayCast and World:queryBoundingBox.
2015-07-18 03:26:07 -03:00
Alex Szpakowski 1e8786879b Re-added the built-in NormalMatrix uniform 3x3 matrix variable to shaders. 2015-06-26 21:51:22 -03:00
Alex Szpakowski d8fd1413d6 Renamed the internal 'Matrix' class to 'Matrix4'. 2015-06-26 19:34:05 -03:00
Alex Szpakowski 073570b7af Fixed the return type of luax_objlen. 2015-06-16 20:57:31 -03:00
Bart van Strien 3cb777e2b7 Add basic lua 5.3 support 2015-06-16 10:25:41 +02:00
Alex Szpakowski 532c61c6c2 Implemented efficient FFI versions of SoundData methods, which are used when the LuaJIT FFI and JIT compiler are present. 2015-06-14 18:41:34 -03:00
Alex Szpakowski 59e4b1b8d6 Removed some debug prints on iOS. 2015-06-11 21:16:28 -03:00
Alex Szpakowski cf73aa0107 Added love.window.requestAttention. Bounces the dock icon in OS X and flashes the taskbar icon in Windows when called, if the program isn't in focus. 2015-06-07 19:40:46 -03:00
Bart van Strien 6ef6f85d0c Restore 0-argument love.graphics.newFont/love.font.newRasterizer
Fix subtle bug in luax_convobj in the process, it couldn't deal with 0 arguments
before.
2015-06-07 23:10:48 +02:00
Alex Szpakowski 0f986b10aa Cleaned up some code, the 'ry' parameter of love.graphics.rectangle now defaults to the value of 'rx' rather than defaulting to 0. 2015-05-27 17:36:27 -03:00
Alex Szpakowski c3fd7a25a3 Fixed some misc. compiler warnings. 2015-05-23 12:45:58 -03:00
Alex Szpakowski 811b2db466 The full executable path, rather than argv[0], is now used when determining whether the executable is fused (resolves issue #1043.) 2015-05-04 10:38:28 -03:00