Commit Graph

2611 Commits

Author SHA1 Message Date
Miku AuahDark 65b01fc52f Re-enable FLAC codepath using dr_flac instead of libFLAC.
--HG--
branch : flac-audio
2019-06-17 16:09:46 +08:00
Alex Szpakowski fc8ede263e Fixed BezierCurve:render to avoid adding collinear points in some situations. Resolves issue #1501. 2019-06-16 22:48:33 -03:00
Alex Szpakowski 2a534893b1 Small ImageData code cleanup. 2019-06-04 20:33:44 -03:00
Alex Szpakowski 8455ef22d5 More consistent naming for vertex and index buffers in love's code. 2019-06-04 20:29:44 -03:00
Alex Szpakowski 44fd8b4e19 Update TinyEXR 2019-06-02 11:35:52 -03:00
Alex Szpakowski 8e5b71e8e7 Improve automatic batching performance slightly on AMD gpus by removing some redundant/useless opengl calls (there is no mapped buffer to flush). 2019-06-01 15:58:42 -03:00
Alex Szpakowski ddef70e141 Potentially improve automatic batching performance slightly on nvidia/intel GPUs. 2019-06-01 15:06:19 -03:00
Alex Szpakowski 51d0733943 Apply workaround for font texture loading on Radeon 3000/4000-era graphics cards to mobile GPUs as well as desktop ones. 2019-05-30 20:36:19 -03:00
Alex Szpakowski 02fa8b0b2b Fill truetype font glyph atlases with transparent white instead of transparent black in the borders between glyphs. Fixes black fringes around text (resolves issue #1495) and reduces the appearance of flickering when text is moved at non-integer coordinates and gamma correct rendering isn't enabled (closes issue #1143). 2019-05-27 19:36:22 -03:00
Alex Szpakowski 38cb56f168 Use doubles instead of floats for the time argument in Source:seek. This probably won't affect anything meaningfully, but in theory it's more precise. 2019-05-26 14:46:52 -03:00
Alex Szpakowski 3c77edb68b Fix modplug-decoded streaming Sources when looping repeatedly, and when stop() is called on them. Resolves issue #1493. 2019-05-26 13:55:29 -03:00
Bart van Strien 7b7d03721c Prevent the currently displayed video frame from changing if the video is paused
If you'd seek while the video was paused, you'd see the next frame of the video.
2019-05-22 20:00:30 +02:00
Bart van Strien 064296a6ce Don't write intermediate frames to the backbuffer if catching up or seeking
There's no need to lock a mutex twice and copy the entire frame if we know
we'll just discard the data anyway.
2019-05-22 19:57:39 +02:00
Bart van Strien 1e8ab8ce1e Never seek video more than once when trying to catch up (issue #1472, issue #1438)
I'm not sure if this actually helps, because I haven't been able to reproduce
the issue so far, but at least this should make it less likely the decoder
thread ends up in an infinite loop.
2019-05-22 19:50:51 +02:00
Alex Szpakowski ae572f2ffe Fix love.isVersionCompatible (resolves issue #1488). 2019-05-19 18:30:45 -03:00
Alex Szpakowski 33186430af Simplify Source playback offset tracking to only store the integer sample offset, and convert to seconds when requested. 2019-05-16 19:17:19 -03:00
Bart van Strien c4b21b6efe Try probing the audio type if extension matching fails (resolves #1487)
At the moment it still only tries a single decoder if it does find a matching extension. It might be a good idea to simply always probe, but try the matching decoder first, that way you could name your mp3 .ogg.
2019-05-04 11:35:41 +02:00
Bart van Strien 4662580059 Make sure the mpg123 decoder tries to read data on creation
So it can fail if it's not actually an mp3 file

Preparation for issue #1487
2019-05-04 11:26:16 +02:00
Bart van Strien bf5e3820bd Remove unused stored extension in Decoder
As preparation for issue #1487
2019-05-04 10:44:41 +02:00
Alex Szpakowski 372a55c6ac ImageData supports more formats: r8, rg8, r16, rg16, r16f, rg16f, r32f, rg32f. Format conversion via ImageData:paste is not supported for those (yet). 2019-04-28 12:09:16 -03:00
Alex Szpakowski 8b51dc831d Work around occasional pops in streaming sources on iOS, by making the streaming source update code more like what was there in 0.10.x. 2019-04-24 20:13:07 -03:00
Alex Szpakowski 8f0686c204 Code style cleanup. 2019-04-24 00:11:18 -03:00
Alex Szpakowski 9d4cb2a949 iOS: Fix Source:play+stop+play and Source:play+seek, for streaming sources. Resolves issue #1484. 2019-04-24 00:10:22 -03:00
Alex Szpakowski 14abf2c9e8 Move source seeking from Source::playAtomic to prepareAtomic. Fixes love.audio.play(sources) for sources which had seek() called before the play call. 2019-04-23 21:30:32 -03:00
Alex Szpakowski 276bdd1dbf iOS: fix audio clicks immediately after playing a source. Resolves issue #1485. 2019-04-23 21:18:56 -03:00
Alex Szpakowski 69c47675b9 Add Decoder:clone. Resolves issue #1479. 2019-04-07 15:47:00 -03:00
Alex Szpakowski 09cd3b68c9 Explicitly disable color FBO attachments where possible for depth/stencil canvases. Potentially fixes issue #1470 2019-04-02 21:13:01 -03:00
Alex Szpakowski 0c2153e0ca Fix a potentially uninitialized value in love.graphics code. Minor cleanup. 2019-04-02 20:20:18 -03:00
Alex Szpakowski b439ff07ce Allow love.timer.sleep(0). 2019-04-02 20:12:09 -03:00
Bart van Strien 00e7d640c7 Also test source pitch is positive and clarify error (resolves #1474)
According to the OpenAL 1.1 specification AL_PITCH, values must be in the range (0.0f, any]. Though I guess any does not include infinity.
2019-03-09 15:24:02 +01:00
Bart van Strien 3d64ad0a3e Properly propagate errors when creating a DataView (fixes #1476)
The C++ code already threw an exception when creating a DataView with size 0, but the corresponding lua wrapper ignored it. Now it's correctly turned into a lua error.
2019-03-02 13:47:49 +01:00
Miku AuahDark 4a08c0f7c1 Implement love.window.getSafeArea for Android
--HG--
branch : android-safearea
2019-02-08 23:58:02 +08:00
Alex Szpakowski 76917685dd Add an optional vertex count parameter to mesh:setVertices. 2019-01-19 12:12:29 -04:00
Alex Szpakowski 74dcc41b38 Cleaned up love.graphics Image code for determining whether the image's pixel format is supported. 2019-01-16 19:30:21 -04:00
Alex Szpakowski 1bb50fccac Reduce peak memory usage when a font's glyph atlas needs to be recreated. 2019-01-16 18:21:58 -04:00
Alex Szpakowski d83117c981 Improve precision of the gammaToLinearPrecise shader function. 2019-01-15 17:29:13 -04:00
Alex Szpakowski 91d425e7e1 Fix World:getJoints to return fully resolved types for joints. 2019-01-05 10:17:11 -04: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 19890a65c3 Move named channel code to the thread module instead of having a static map. Fixes issue #1464. 2018-12-31 22:36:36 -04:00
Alex Szpakowski 364718fa46 Android: potentially work around a Qualcomm Adreno driver bug which prevented videos from being loaded into vram. 2018-12-31 21:02:02 -04:00
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