Commit Graph

2780 Commits

Author SHA1 Message Date
Miku AuahDark fb815edc28 Change luaL_loadbuffer chunkname with prefixes. 2021-12-12 09:23:00 +08:00
Alex Szpakowski 7e271fc53e Use SDL's rumble APIs for Joystick:setVibration, when available.
Fixes #1756
2021-12-11 11:52:42 -04:00
Alex Szpakowski ebd5f13456 Fix missing ByteData:clone and DataView:clone implementations.
Fixes #1754
2021-12-07 19:51:40 -04:00
Alex Szpakowski b54aaf65ca Fix the default error handler drawing when love.graphics is inactive.
love.graphics.isActive() is false on mobile devices when the app isn't in the foreground. On iOS there can be a few frames between when the app is backgrounded and when the OS pauses it, where it's not valid to call OpenGL functions or present the screen.
2021-12-04 11:58:00 -04:00
Alex Szpakowski b87034404e newVideo: slightly more descriptive error when given an invalid file 2021-11-24 21:15:51 -04:00
Alex Szpakowski ff12dbbd69 Merge pull request #1729 from MikuAuahDark/fix1728
Break OggDemuxer::readPage loop on EOF.
2021-11-24 21:07:04 -04:00
Alex Szpakowski d0e22fb56e Merge pull request #1739 from s-walrus/fix/font-getwrap-final-newline
Fix #1707: Font:getWrap() removing final newline charancter
2021-11-20 16:43:56 -04:00
Alex Szpakowski bd741a8c78 Fix incorrect particle offsets when Quads are used without setOffset.
Fixes #1741.
2021-11-19 21:44:04 -04:00
Alex Szpakowski 888051d01e Potential very hacky workaround for arm64 JIT allocation issues.
Try to reserve blocks of executable memory before external library code claims the address space. LuaJIT on arm64 currently has a very limited range of memory it can use for JIT code.
2021-11-12 21:58:49 -04:00
Miku AuahDark 1bb22d2e90 Set game source path when using virtual archive in Android.
This will also prevent double `love.filesystem.setSource()` call
in that case.
2021-11-05 15:22:03 +08:00
Miku AuahDark b79b99bbaa Use specialized logic when loading C modules in Android. 2021-11-02 17:54:13 +08:00
Semyon Yentsov a57d207a57 Fix bug #1707 2021-11-01 01:37:18 +03:00
Alex Szpakowski e27a71f798 Move boot.lua to src/modules/love/ with raw string literal format.
Split it up into 3 files to keep under VS2013's raw string literal character limit.
Now boot.lua doesn't need a regeneration step when it's modified.
2021-10-19 21:22:26 -03:00
Alex Szpakowski 4574805486 Make rounded rectangles more robust.
- rx and ry parameters are set to 0 if they're negative.
- automatic points calculation doesn't cause an unnecessarily large amount of points when rx or ry are greater than half the rectangle's size.
2021-10-10 22:08:56 -03:00
Alex Szpakowski 4a579bf2a7 Merge pull request #1730 from zombrodo/fix/1721-printf-wrap
Fix #1721: floor result of scaling kerning based on dpi
2021-09-24 23:01:51 -03:00
Miku AuahDark 75a3e5db01 Fix VS2013 compilation of a066e18. 2021-09-25 08:17:41 +08:00
Miku AuahDark de368ade4a Break OggDemuxer::readPage loop on EOF. 2021-09-21 22:52:50 +08:00
Miku AuahDark a066e18aa6 Register custom Lua PANIC handler that shows message box.
Some users complained that LOVE simply closes when it reaches
certain memory limit. Note that this is not a foolproof solution.
See the comments.

The real fix for this is to switch LuaJIT to GC64 mode on x64.
2021-09-15 23:22:32 +08:00
Alex Szpakowski 16ebaea390 Fix DXT1 textures which use 1 bit alpha-cutout.
Note that premultiplied alpha blending must be used with DXT1 alpha cutout textures if linear filtering is used, otherwise transparent black pixels will be blended with opaque non-black pixels resulting in dark fringes.
2021-09-05 12:55:32 -03:00
Jack Robinson bfca659e37 Fix #1721: floor result of scaling kerning based on dpi 2021-08-31 21:22:06 +12:00
Miku AuahDark 216d5ca4b2 Fix love.displayrotated passes boolean instead of string
Fixes #1722
2021-08-21 14:31:44 +08:00
Alex Szpakowski d419795a28 Expand stb_image thread-local workaround to apply to iOS devices 2021-05-30 21:12:45 -03:00
Alex Szpakowski 042b0ffe31 Fix previous workaround commit... 2021-05-30 16:06:11 -03:00
Alex Szpakowski f20c637dd6 iOS: Fix simulator build 2021-05-30 16:04:37 -03:00
Alex Szpakowski aa8ed7c8c5 Revert change that added codepoint variant of Font:getWidth.
It could break code that relied on Lua's implicit conversion from numbers to strings.
2021-05-30 15:46:21 -03:00
Alex Szpakowski e9c58c8192 Work around certain buggy Vivante GPU drivers on Android
love2d/love-android#204
2021-04-17 15:09:21 -03:00
Alex Szpakowski 977c690fa9 Fix physics meter value persisting after love.event.quit("restart").
Fixes #1685
2021-04-11 19:53:16 -03:00
Alex Szpakowski 7b6978f052 Add Font:getKerning.
Also add a variant of Font:getWidth which accepts a codepoint number.
Fixes #1403
2021-04-05 11:22:54 -03:00
Alex Szpakowski c59c85e04c Fix Text:getWidth when the Text only contains spaces
Fixes #1555
2021-04-05 10:32:01 -03:00
Alex Szpakowski f89aabb0bb Update copyright year for 2021 2021-04-04 16:14:45 -03:00
Alex Szpakowski 1e3e4faba7 Fix the wrong type of deletion used in some internal Mesh data 2021-04-04 16:02:59 -03:00
Alex Szpakowski c991f999eb Account for different DPI scales in font fallbacks.
Fixes #1675
2021-04-04 16:01:22 -03:00
Miku AuahDark 22455276f6 Implement experimental fusing method.
https://github.com/love2d/love-android/issues/201#issuecomment-772628115
2021-02-06 22:10:49 +08:00
Miku AuahDark 61580c7a0d Update src/modules/filesystem/DroppedFile.cpp
as suggested

Co-authored-by: Qais Patankar <qaisjp@gmail.com>
2021-01-01 20:48:15 +08:00
Miku AuahDark 781acf5c4d Support for >2GB DroppedFile in desktops. 2020-12-31 16:48:42 +08:00
Miku AuahDark 7524677d4c Don't use feof to check for end-of-file in DroppedFile.
Fixes #1551

Apparently `feof` is only set when `fread(..., size, count, ...) < size * count` happends,
however we actually have code that automatically adjust amount of bytes to read
(and at "eof" it really happends to be 0) so fread is never able to set the EOF flag.
2020-12-31 10:32:05 +08:00
Qais Patankar 562cc6b1cb Fix #1614: add Body:getLocalPoints 2020-12-30 04:27:48 +00:00
Alex Szpakowski 95ab4054ff Fix a freeze on Intel drivers when using mipmapped Canvases
Fixes #1585

Also disallow generateMipmaps on depth/stencil canvases because it's not really supported.
2020-12-26 16:37:37 -04:00
Alex Szpakowski 4f730e930b Potential workaround for driver bug related to canvas mipmaps 2020-12-25 16:13:29 -04:00
Miku AuahDark 9c4db00e94 Android: Fix changing orientation with t.window.fullscreen = true
Fixes love2d/love-android#196
2020-12-25 21:45:32 +08:00
Alex Szpakowski fe23c16198 Disable gamma correction on Windows + Intel HD 2/3000 / Intel HD Graphics
It's completely broken there. Closes #1592
2020-12-24 20:31:33 -04:00
Alex Szpakowski 9e460ba53e Fix explicit window position not being restored in some cases when exiting fullscreen
Fixes #1426
2020-12-24 12:29:00 -04:00
Alex Szpakowski 48a13d443b Fix validating glsl1 shaders using array textures on GLES3 2020-12-23 20:42:12 -04:00
Alex Szpakowski d357ceb191 Merge pull request #1648 from xordspar0/tegra-3-bug
Work around Ouya driver bug related to texture array support
2020-12-23 20:13:41 -04:00
Alex Szpakowski f3afdee70a Keep math.mod and string.gfind when LuaJIT 2.1 is used
Code written assuming LuaJIT 2.0 is being used might rely on them, even though they're deprecated (and removed in LuaJIT 2.1).
2020-12-23 12:58:26 -04:00
Alex Szpakowski 73c79d1b73 Merge pull request #1646 from cigumo/ios-audio-interruption-handling
adds iOS audio interruption handling and recovery
2020-12-18 22:53:02 -04:00
Miku AuahDark 81272ba5b5 Only use pinned memory on AMD GPUs.
As per in Discord, for some reason Intel driver in Linux(?) expose
pinned memory extension and causes driver crash in one test case.
2020-12-15 10:25:38 +08:00
Jordan Christiansen 0fd53e2e3d Disable GL_EXT_texture_array on OpenGL ES 2.0
The Nvidia Tegra 3 driver for Android (used by Ouya) erroneously claims
to support the desktop-oriented GL_EXT_texture_array extension. On
desktop GPUs using (non ES) OpenGL, the glTexImage3D and similar
functions are always present, and the GL_EXT_texture_array extension
simply adds support for texture arrays to those functions. On OpenGL ES
2.0, those functions do not exist, and GL_OES_texture_3D is required to
define them.

Calling glTexImage3D on the Tegra 3 causes a segfault. This change works
around the issue by manually setting GLAD_EXT_texture_array to 0 on
OpenGL ES 2.0 systems, which causes LÖVE to avoid codepaths that assume
that the 3D texture functions are available. It doesn't make sense for
any OpenGL ES 2.0 GPU to claim support for GL_EXT_texture_array.

Fixes #1647
2020-12-09 19:54:36 -06:00
cigumo 74edaf8fba adds iOS audio interruption handling and recovery 2020-12-08 23:13:52 -03:00
Alex Szpakowski e32935e0f6 Backport Canvas memory stats fix from 12.0.
Fixes #1642
2020-11-11 15:11:00 -04:00