Commit Graph

4875 Commits

Author SHA1 Message Date
Sasha Szpakowski 6cb0287500 Add optional category bit mask to World:getFixturesInArea. 2023-10-02 12:15:26 -03:00
Sasha Szpakowski 28a898df1f Add World:rayCastAny and World:rayCastClosest.
They return hit position, normal, and ray fraction (if there is a hit), and also take an optional fixture category bitmask parameter.
2023-10-02 12:11:35 -03:00
Sasha Szpakowski c3847d5f04 Rename World:queryBoundingBox to World:queryFixturesInArea.
Matches the new World:getFixturesInArea function.
2023-10-02 11:06:15 -03:00
Sasha Szpakowski d24ccde864 World:rayCast and World:queryBoundingBox have user args passed through to the callback function.
Fixes #1194
2023-10-02 11:00:02 -03:00
Sasha Szpakowski b1609ed83b love.physics: simplify some internal bookkeeping code 2023-10-01 15:55:23 -03:00
Sasha Szpakowski dbc7d7f3ca Add love.graphics.newMesh variant to create a Mesh from existing Buffers.
This allows a Mesh to be created that doesn't have its own internal vertex buffer and purely references other vertex buffers instead.

The prototype looks like this:
mesh = love.graphics.newMesh(attributelist, drawmode)

where attributelist is an array of tables each with the following fields, similar to Mesh:attachAttribute:
{
    buffer = vertexbuffer,
    name = "VertexPosition", -- the name this vertex attribute will use in a shader
    nameinbuffer = nil, -- the name of the attribute in the vertex buffer. Defaults to the name field.
    step = nil, -- vertex attribute step ("pervertex" or "perinstance"), defaults to "pervertex".
    startindex = nil, -- 1-based array index within the given vertex buffer where the attribute data will start being pulled from during rendering. Defaults to 1.
}
2023-09-30 20:12:43 -03:00
Sasha Szpakowski 691d910c3e Improve error message when Mesh:setVertexMap is used with an empty array. 2023-09-30 17:54:09 -03:00
Miku AuahDark 2fd2930c24 Update lua-https to love2d/lua-https@0b2346f. 2023-09-28 16:53:59 +08:00
Miku AuahDark f43c6fedeb Add physfs_platform_android.cpp as source files. 2023-09-28 15:54:36 +08:00
Sasha Szpakowski 96040b2b2a Fix list of data types in the error message when using an invalid vertex data type in the deprecated type+component count vertex format declaration. 2023-09-09 13:22:45 -03:00
Sasha Szpakowski 48e23a048d Improve text wrapping when multiple characters are combined into one glyph.
#1923
2023-09-08 22:38:17 -03:00
Sasha Szpakowski ddf88c64bd Update lua-https to latest commit (love2d/lua-https@6dbce69) 2023-08-30 21:47:26 -03:00
Sasha Szpakowski b0e3246ba8 Fix the Data object variant of File:write.
Fixes #1962
2023-08-21 16:50:28 -03:00
Sasha Szpakowski 6e80d85110 Merge branch 'main' into 12.0-development 2023-08-19 21:35:55 -03:00
Sasha Szpakowski 98663ec0db Merge pull request #1958 from nikeinikei/12.0-development
vk: maintenance
2023-08-07 21:08:51 -03:00
Miku AuahDark 8913ca2b23 Fix wrong function being registered for Joystick:getSensorData(). 2023-08-04 21:43:36 +08:00
Miku AuahDark 536e7e9f69 configure.ac: Specify CXXFLAGS instead of CPPFLAGS.
Autotools uses CPPFLAGS for C preprocessor and CXXFLAGS for C++ compile flags.
2023-08-03 17:54:46 +08:00
niki 61cafd7dd4 adjust code styling 2023-08-01 14:23:10 +02:00
niki 8096cab5bc vulkan: use vkResetDescriptorPool 2023-07-30 15:35:20 +02:00
niki 9d9e2da763 vulkan: optimize vkUpdateDescriptorSets calls 2023-07-25 21:39:28 +02:00
niki af717c8cab vulkan: fix incorrect return type 2023-07-25 16:50:39 +02:00
niki f30bf9bee0 vulkan: better api use of descriptor pools
Some implementations allow for bottomless pools,
which never run out of pool memory.
This new implementation allows for this case to happen.
2023-07-25 16:37:53 +02:00
niki e08ade86b5 vulkan: simplify shader code slightly 2023-07-25 16:26:26 +02:00
Sasha Szpakowski 7706ac7ba9 iOS: don't try to open audio recording devices for capture.
It hard-crashes inside the alcCaptureOpenDevice call with Apple's OpenAL implementation.
See #1912.
2023-07-22 18:04:12 -03:00
niki 8b4c46ccd2 Merge branch '12.0-development' of https://github.com/nikeinikei/love into 12.0-development 2023-07-18 14:56:45 +02:00
niki 3b9476b5dd vulkan: fix validation warnings
Sometimes no buffer for tex coords are given, however the shader
still expects some. We can fix this by using a default buffer, which
contains the constant tex coords (0, 0), which is then bound instead.
2023-07-18 14:56:42 +02:00
nikeinikei d88a9eead3 Merge branch 'love2d:12.0-development' into 12.0-development 2023-07-18 14:07:24 +02:00
niki ba15a2ab05 vulkan: correct usage of pNext chain for device
For systems where VK_EXT_extended_dynamic_state is not supported
it is not valid to extend VkDeviceCreateInfo with an unknown struct.
Todo: if more extensions are supported in the future this code probably
needs adjustments to correctly build a pNext chain.
2023-07-18 14:01:05 +02:00
niki 04de1ade9e vulkan: correctly deal with custom input attribs 2023-07-18 13:54:48 +02:00
niki 5254417c63 vulkan: remove unnecessary vkDeviceWaitIdle
Since we are only cleaning up objects that haven't been used in the
last 5000 frames, we do not need to wait to delete them.
2023-07-18 13:54:27 +02:00
niki 332b456131 vulkan: remove getDefaultTexture 2023-07-18 13:54:06 +02:00
niki 8b419522d7 vulkan: simplify code slightly 2023-07-18 13:53:25 +02:00
niki 37013267f7 vulkan: improve readability / maintainability 2023-07-18 13:52:26 +02:00
niki 284a385062 support more swapchain image formats 2023-07-18 13:52:13 +02:00
Sasha Szpakowski 786abdc8b7 Merge pull request #1954 from hgoschuetz/fix-ref
Fix reference to old 'macosx.mm'
2023-07-10 20:03:06 -03:00
Henry Goschütz 662c01ff9d Fix reference to old 'macosx.mm' 2023-07-10 23:37:32 +02:00
Sasha Szpakowski e582677344 Fix mouse position backward compatibility with new SDL2 versions.
Clamp the mouse coordinates to the window's dimensions.
2023-07-01 17:53:29 -03:00
Sasha Szpakowski 6563aec89d Merge pull request #1944 from MellowArpeggiation/main
Fix #1943 - Duplicate frames being skipped when decoding Theora
2023-06-18 12:56:07 -03:00
Sasha Szpakowski 5f4f0b424b love.joystick: more fixes for duplicate platform fields in gamepad mapping strings. 2023-06-18 11:54:17 -03:00
George Paton 241378e437 Revert to old packetin loop, set granulePosition after each packet read in 2023-06-18 12:39:56 +10:00
Sasha Szpakowski df7a55911d Fix love.joystick.setGamepadMapping breaking the mapping string when replacing an existing binding.
issue #1936.
2023-06-17 22:16:18 -03:00
Sasha Szpakowski f06d6c6281 Only add platform field to love.joystick.getGamepadMappingString's result if it's not there already. 2023-06-17 20:34:27 -03:00
George Paton ec0c65642b Fix #1943 duplicate frames being skipped when decoding Theora 2023-06-15 19:22:57 +10:00
Miku AuahDark d28b30736f Improve MP3 detection slightly more.
Looking too much result in increase of false-positive and vice-versa. So only look first 128 bytes of the file (after the ID3 tags). Also reject known audio file signature such as WAV, Ogg (Theora/Vorbis), and FLAC.

Fixes #1939
2023-06-06 14:36:35 +08:00
Sasha Szpakowski 8efcf27a6e Fix RTL text when fallback fonts are used.
Fixes #1937.
2023-06-03 18:08:22 -03:00
Miku AuahDark e559fd5e68 Pass pointer of PHYSFS_AndroidInit struct in Android when initializing PhysFS. 2023-06-01 15:33:04 +08:00
Miku AuahDark e9c564e989 Use new PhysfsIo class for Android AAsset wrapper. 2023-06-01 15:10:43 +08:00
Sasha Szpakowski 93c2709f7c Maybe fix build when VS2013 is used 2023-05-29 10:29:46 -03:00
Sasha Szpakowski 63f0af8971 Merge pull request #1935 from ImagicTheCat/hash-func-fix
Hash function fixes.
2023-05-29 09:47:44 -03:00
Sasha Szpakowski 5f733ef0fa Add new PhysfsIo file to xcode project 2023-05-29 09:43:44 -03:00