Commit Graph

2751 Commits

Author SHA1 Message Date
Alex Szpakowski 8cad9c8bf0 Only allow multiply blending when the 'premultiplied' blend alpha mode is used, since the formula only works with that anyway.
--HG--
branch : minor
2016-04-02 18:28:16 -03:00
Alex Szpakowski 1eed86426b Merge default into minor
--HG--
branch : minor
2016-04-02 18:27:33 -03:00
Alex Szpakowski 901cc362df Added 'shaderswitches' to love.graphics.getStats. 2016-04-02 18:14:52 -03:00
Bart van Strien 0aaaf6b6f0 Make hash constants static, and out-of-line hopefully fixes compilation errors with vc++.
--HG--
branch : minor
2016-04-02 19:01:38 +02:00
Bart van Strien 3a2e859acd Add love.math.hash, which supports MD5/SHA-1/SHA-2.
--HG--
branch : minor
2016-04-02 18:39:53 +02:00
Bart van Strien f76879c6b7 New audio playback API
Instead of having three states, stopped, paused and playing, now there's only
two states: paused and playing.

This means resume() is gone, as is isStopped(), and isPaused() has become
isPlaying(). stop() now pauses and rewinds, whereas pause() only pauses.
rewind() has been removed, and should either be replaced with stop() or
seek(0).

The same has been applied to the functions in the love.audio module, except they
get some extra magic:

- love.audio.pause() now returns a table/list of Source objects, which contains
  only the sources it has just paused. This means you can then later restart
  only them, instead of everything (as before).
- love.audio.play/pause/stop now have variants that take a list of Source
  objects, and it starts or stops them all at the same time, this means calling
  play(srcA, srcB) should mean srcA and srcB are much more (but possibly not
  exactly) synchronised than they were with play(srcA); play(srcB).

--HG--
branch : minor
2016-04-02 17:38:19 +02:00
Bart van Strien db8e7a7670 Merge default into minor
--HG--
branch : minor
2016-04-02 17:19:20 +02:00
Alex Szpakowski 175c3af10b Updated stb_image to 2.12. 2016-04-02 12:02:39 -03:00
Alex Szpakowski 1b1572ad85 love.filesystem.mount accepts DroppedFiles in the first parameter. You could previously pass in DroppedFile:getFilename() and it would work too, this just makes it a bit nicer. 2016-03-31 17:58:27 -03:00
Bart van Strien 8dd7cc16ab Fix end-of-stream detection for videos
Fixes hang when a video file contains frames past the end of the video stream
2016-03-29 22:43:20 +02:00
Alex Szpakowski cc1b9bc619 Moved most love.math functions out of the Math class, since they're pure functions.
--HG--
branch : minor
2016-03-28 19:46:29 -03:00
Alex Szpakowski 734789eb93 Added love.math.encode(format, data | string [, linelength]) and love.math.decode(format, data | string). Current formats are "base64" and "hex". The optional line length only applies to base64 and specifies the maximum number of characters per line in the encoded string.
Removed the variant of love.filesystem.newFileData which decoded a base64-encoded string since it's redundant.

--HG--
branch : minor
2016-03-28 19:28:40 -03:00
Alex Szpakowski 3d25416e14 Removed an unused variable. 2016-03-27 11:28:34 -03:00
Alex Szpakowski aa88383793 Fixed per-vertex colors (e.g. spritebatch colors) improperly applying gamma correction when the default shader is used and gamma correction is requested but not supported on OpenGL ES. 2016-03-26 12:01:34 -03:00
Alex Szpakowski 829cf5fd06 Fixed ImageFonts and BMFonts with colored bitmap images to proper sRGB conversions when gamma correction is enabled. 2016-03-25 20:13:49 -03:00
Alex Szpakowski 9efbe4892c Merge default into minor.
--HG--
branch : minor
2016-03-22 20:53:09 -03:00
Alex Szpakowski 090c50795a Fix love.window.setMode crashing if a Canvas is active. 2016-03-22 18:05:26 -03:00
Alex Szpakowski 8b07bad15e Fixed the build. 2016-03-20 22:36:54 -03:00
Alex Szpakowski 9ebd759851 Don't call glGetFloat every time love.graphics.getSystemLimits is called. 2016-03-20 22:00:24 -03:00
Bart van Strien bc932aecef Move spawn.h include, because android doesn't use (or have) posix_spawn 2016-03-20 22:28:14 +01:00
Bart van Strien 2af327dcf9 Make sure android includes the right headers for System.cpp too
Hopefully.
2016-03-20 10:44:36 +01:00
Alex Szpakowski 36cc48d306 Move the Timer::sleep implementation up from timer/sdl/Timer.cpp to timer/Timer.cpp, since it doesn't directly use any SDL-specific code. 2016-03-18 23:01:49 -03:00
Alex Szpakowski b983588d2e We don't need to initialize the SDL timer subsystem to use SDL_Delay, and initializing it causes SDL to create a worker thread (which it uses for SDL_AddTimer and friends, which we don't use). 2016-03-18 22:58:48 -03:00
Bart van Strien f7d226d072 Improve reaping of zombie processes on linux (resolves #1042)
Sadly, it's not a complete fix for #1042, as there seems to be no good way to
deal with system() in multithreaded applications. At least os.execute can
return values other than -1 now.
2016-03-14 17:14:49 +01:00
Bart van Strien 6533665f15 Ignore carriage returns (\r) in print and friends (issue #1114)
--HG--
branch : minor
2016-03-14 14:40:10 +01:00
Alex Szpakowski 293bc79b97 Merge default into minor
--HG--
branch : minor
2016-03-12 22:04:07 -04:00
Alex Szpakowski d0c0240e09 Very minor channel / variant performance improvements and cleanup. 2016-03-12 19:11:03 -04:00
Alex Szpakowski 140faf0cae Channel:push now returns an id value. Added Channel:hasRead(id), which returns true if the value that the id represents has already been popped, demanded, or cleared from the Channel. Resolves issue #1104.
--HG--
branch : minor
2016-03-09 22:04:14 -04:00
Bart van Strien dc7b1fb049 Remove the default source type (resolves #1082)
--HG--
branch : minor
2016-03-08 11:44:36 +01:00
Bart van Strien 34b6aa608b Merge in default
--HG--
branch : minor
2016-03-08 11:29:50 +01:00
Alex Szpakowski a0bbcce8ee The video decoding thread efficiently waits for a video to be created before doing anything, rather than sleeping for 2ms in a loop. Reduces the CPU usage of the video worker thread to ~0% when no videos are loaded. 2016-03-05 21:56:51 -04:00
Alex Szpakowski d4e701b434 SpriteBatch:add will now automatically increase the maximum size of the SpriteBatch if there's no more room.
--HG--
branch : minor
2016-03-05 12:59:00 -04:00
Alex Szpakowski 2e5f385be3 Merge default into minor
--HG--
branch : minor
2016-03-03 21:28:30 -04:00
Alex Szpakowski 7370bd56ce Improved the error message when love.graphics.newImage fails due to CompressedImageData not having all required mipmap levels (thanks Shell32!) 2016-03-03 20:36:30 -04:00
Alex Szpakowski a3ff90c94c Cleaned up the GlyphData code. 2016-03-02 22:12:32 -04:00
Alex Szpakowski f51bbb8462 Cleaned up some StrongRef-related code. 2016-03-01 18:57:17 -04:00
Alex Szpakowski 8d7481c3b2 Improved the error message given when jpeg, TGA, and BMP images fail to decode. 2016-02-28 12:41:27 -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
Bart van Strien 33341de7bc Rewrite the c module loader, adding a search path (fixes #1050)
Note: also removes the restriction that only fused games can load libraries from
their save folders.

--HG--
branch : minor
2016-02-26 15:24:01 +01:00
Bart van Strien 977ffd1154 Merge in default
--HG--
branch : minor
2016-02-26 14:52:02 +01:00
Alex Szpakowski 4ca6106d7a Cleaned up Canvas::checkCreateStencil a bit. 2016-02-24 18:36:34 -04:00
Adam M 62b642f28a Support combined depth/stencil buffers when using vendor extensions. 2016-02-24 19:42:22 +00:00
Alex Szpakowski ff91fa1327 Improved Shader:send performance by removing some temporary memory allocations. 2016-02-20 19:24:33 -04:00
Alex Szpakowski cf4b409302 Renamed some things. 2016-02-18 22:11:41 -04:00
Alex Szpakowski 20b77bd28c Changed World:update(dt) to default to Box2D's recommended 3 internal position iterations instead of 6. Added a new variant World:update(dt, velocityiterations, positioniterations) which lets you specify the number of velocity and position iterations Box2D performs when updating the world. The defaults are 8 and 3 respectively, higher numbers increase precision and reduce performance.
Resolves issue #1135.

--HG--
branch : minor
2016-02-14 20:06:16 -04:00
Alex Szpakowski 1be2e34c92 Merged default into minor.
--HG--
branch : minor
2016-02-14 19:59:34 -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 f7ee949af8 Fixed love.graphics.clear(colortable) causing crashes in GLES 2.0 when a Canvas is active (resolves issue #1127). 2016-02-14 00:26:02 -04:00
Alex Szpakowski 7ff411bb00 Merged in TannerRogalsky/love/source_relative_bug_fix (pull request #54)
Source:setRelative bug fix
2016-02-13 12:24:33 -04:00
Tanner Rogalsky 6336f2adac Use passed value when setting a Source's relative state instead of the stale, cached value.
--HG--
branch : source_relative_bug_fix
2016-02-13 10:58:03 -05:00