Commit Graph

5497 Commits

Author SHA1 Message Date
Miku AuahDark cd0302e23d boot.lua: Don't canonicalize content:// URI. 2025-01-16 16:53:38 +08:00
Sasha Szpakowski 1aa426c307 Merge pull request #2139 from OctoNezd/fix-ios-crash
Fix crash on iOS
2025-01-15 22:51:13 -04:00
Yan cad913bdfb Fix crash on iOS 2025-01-15 17:35:58 +03:00
Sasha Szpakowski 176a3c17d5 Merge pull request #2133 from MikuAuahDark/nativefile-sdl
Replace NativeFile to use SDL IO functions.
2025-01-13 20:59:37 -04:00
Sasha Szpakowski 5ac9b2f1c4 Add codename 2025-01-13 20:30:43 -04:00
Sasha Szpakowski add3fe3418 vulkan: only debug print that initialization failed if graphics debug mode is enabled. 2025-01-11 14:55:46 -04:00
Sasha Szpakowski 652b012b02 vulkan: improve module initialization code to exit to other backends if there's a device but it's not suitable for love.
Disallow software rendering (CPU devices) with vulkan by default. The environment variable LOVE_GRAPHICS_VULKAN_ALLOW_SOFTWARE can be set to 1 to override that behaviour.
2025-01-11 14:55:23 -04:00
Miku AuahDark 0589245387 NativeFile: Make sure default buffer size at least 4096 bytes. 2025-01-10 14:23:33 +08:00
Miku AuahDark 1789855647 NativeFile: Implement better buffered write routines. 2025-01-10 14:18:51 +08:00
Sasha Szpakowski 21c9c06d26 Fix vsync-off in conf.lua when vulkan is used 2025-01-07 20:28:28 -04:00
Miku AuahDark e95c3a2816 NativeFile: Temporarily open the file for reading to determine file size. 2025-01-05 12:15:23 +08:00
Miku AuahDark 88fb547a58 NativeFile: Implement buffering. 2025-01-05 12:00:23 +08:00
Miku AuahDark 1a61f631e4 NativeFile: Do not check if SDL_GetError() is empty string. 2025-01-05 12:00:23 +08:00
Miku AuahDark 8beb7f0e4b Do not include SDL_iostream.h in NativeFile.h. 2025-01-05 12:00:23 +08:00
Miku AuahDark 89f75f51fb Handle aliased target in love_group_projects CMake function. 2025-01-05 12:00:23 +08:00
Miku AuahDark 4029df5a13 Replace NativeFile to use SDL IO functions.
Also remove Android-specific code from it as SDL is now able to handle them.
2025-01-05 12:00:23 +08:00
Sasha Szpakowski f0a7a19ebc vulkan: fix crash on quit if no window has been created. 2025-01-04 16:19:30 -04:00
Sasha Szpakowski 8e98711096 small filesystem code cleanup 2025-01-04 15:52:52 -04:00
Sasha Szpakowski e40485dd12 No longer expose a distinct subtype for native files. 2025-01-04 15:50:52 -04:00
Miku AuahDark 3963265939 CMake: Remove SDL2->SDL3 transition leftovers.
Fixes #2132.
2025-01-02 13:52:03 +08:00
Sasha Szpakowski 44e26a12cd Fix build 2024-12-29 23:42:59 -04:00
Sasha Szpakowski ecd08a2b0f Add love.window.showFileDialog(type, callback [, settings]).
Resolves #990.

The type parameter is an enum: "openfile", "openfolder", or "savefile".

The callback parameter takes 3 args:
  files (array of full platform-dependent paths to selected files, empty if the dialog is canceled by the user),
  filtername (nil if none is set, see below),
  errorstring (nil if no error).

The optional settings parameter of showFileDialog has the following fields:
{
  title = string (optional title),
  acceptlabel = string (optional custom name for the Accept button),
  cancellabel = string (optional custom name for the Cancel button),
  defaultname = string (optional default folder/file name for the file text box),
  filters = table (filter names as keys and filter pattern strings as values).
}
2024-12-29 23:30:32 -04:00
Sasha Szpakowski aef47df40c Add love.filesystem.openNativeFile (name may change in the future) 2024-12-29 16:43:49 -04:00
Sasha Szpakowski fe23e1920b Fix some compile warnings 2024-12-29 14:09:13 -04:00
Sasha Szpakowski 8443928fe7 Merge pull request #2126 from steveRoll-git/main
Improve `"justify"` text alignment
2024-12-25 17:50:53 -04:00
Sasha Szpakowski 7076688a65 Add variant of newCursor which takes an array, for different DPI scales.
Resolves #1708.
2024-12-25 17:45:39 -04:00
Sasha Szpakowski 3d9d162dd6 Add new drop events, add drop position to file/directorydropped.
Add love.dropbegan(), love.dropmoved(x, y), and love.dropcompleted(x, y).

Resolves #1346.
Resolves #2019.
2024-12-25 14:22:36 -04:00
Sasha Szpakowski 639580cbd1 Add opt-in support for trackpad touch events. Add touch device types.
- Add new touch device type enum ("touchscreen", "touchpad", "touchpadrelative"). Coordinates for touchscreens are window-relative DPI-scaled pixels, and coordinates for touchpads are normalized [0, 1] values.
- Add new devicetype enum and ismouse boolean params to touch callbacks.
- Add love.touch.getDeviceType(touchid), love.touch.isMouse(touchid), and optional device type filter param for love.touch.getTouches.
- Add t.trackpadtouch boolean (defaults to false) to love.conf. Trackpad touch events will not be generated unless it's enabled.

Currently the trackpadtouch setting only works on macOS.

Resolves #1633.
Resolves #2093.
2024-12-25 13:15:17 -04:00
Sasha Szpakowski aa93494f54 draw validation: clarify that a type mismatch involves MainTex 2024-12-24 18:50:11 -04:00
Sasha Szpakowski 25631ebe34 Improve execution flow when there's an error in the error handler 2024-12-24 17:13:12 -04:00
Sasha Szpakowski 3a6a36e21c Improve error message when a shader storage buffer format can't be parsed. 2024-12-23 16:46:42 -04:00
Sasha Szpakowski 3aac7da370 Improve handling of bools in shader storage buffer declarations. 2024-12-23 16:46:17 -04:00
Sasha Szpakowski a7be648368 fix copy/paste errors in Shader:getBufferFormat 2024-12-23 16:45:40 -04:00
Sasha Szpakowski a9470bb7f1 Add shared iOS/macOS xcframeworks folder to gitignore 2024-12-22 19:37:02 -04:00
Sasha Szpakowski aa79ed1ad1 Fix typo 2024-12-20 23:45:31 -04:00
Sasha Szpakowski b87aed937c vulkan: clean up framebuffers when textures they reference are deleted
Fixes corruption/crashing in some situations if a new texture's image view has the same pointer as a previously deleted texture's image view.
2024-12-20 23:37:06 -04:00
Sasha Szpakowski 1c0491c5c3 metal: hook up t.graphics.lowpower.
Resolves #2127.
2024-12-20 21:06:27 -04:00
Sasha Szpakowski da365e2ab9 Add t.graphics.lowpower = true/false love.conf option (defaults to false).
Add love.graphics.isLowPowerPreferred.

It's currently hooked up in the vulkan backend.
#2127
2024-12-20 21:02:20 -04:00
Sasha Szpakowski 285320ff75 Fix typo 2024-12-20 20:53:42 -04:00
Sasha Szpakowski b61b35d5fb move gammacorrect, renderers, and excluderenderers love.conf options to a new t.graphics table. 2024-12-20 20:40:53 -04:00
Sasha Szpakowski 8ca321b7d3 love.math.triangulate's error message when there are too few vertices includes the given vert count. 2024-12-20 12:35:51 -04:00
Sasha Szpakowski 4f514a6d0d Include zlib error code when love.data.decompress fails for zlib/gzip data. 2024-12-20 12:34:50 -04:00
Sasha Szpakowski 850e721be2 minor optimization: avoid opening a file twice when its full contents are read. 2024-12-19 18:18:41 -04:00
Sasha Szpakowski 58de1b43fb vulkan: add memory barriers for compute-writable textures. 2024-12-18 22:12:43 -04:00
Sasha Szpakowski e40e7317bb partial fix for high dpi on Windows
more work and possibly API redesigns will need to be done
2024-12-17 18:55:22 -04:00
Sasha Szpakowski b152688060 vulkan: fix rgb10a2 pixel format component order 2024-12-16 21:50:28 -04:00
Ron Tseytlin d4a2c460de Ignore last space in justified text 2024-12-16 22:50:43 +02:00
Ron Tseytlin 7e34e0ad21 Improve justified text alignment 2024-12-16 21:46:22 +02:00
Sasha Szpakowski 486cc22dbd prefer vulkan over opengl by default on windows/linux. 2024-12-10 19:44:39 -04:00
Sasha Szpakowski bd6c90b65d Fix a memory leak in TextBatch:add when the internal buffer is resized 2024-12-09 18:32:17 -04:00