Commit Graph

3957 Commits

Author SHA1 Message Date
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
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
Labrium ee9e567e66 Merge branch '12.0-development' into sdf-font-hintingmode 2023-09-01 18:43:18 -06:00
Labrium 25c2a0ef72 Small tweak 2023-09-01 18:32:55 -06:00
Labrium fee3bf1a6c Fix build errors 2023-09-01 18:32:05 -06:00
Labrium 0abff326f9 Add SDF HintingMode 2023-09-01 15:33:28 -06: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
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 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
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 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 6cc188b8ba Merge pull request #1930 from pfirsich/physfs_skip_codesign
Add PHYSFS_Io StripSuffixIo to skip codesign signatures
2023-05-29 09:42:25 -03:00
Sasha Szpakowski 48326a026d Fix t.window.displayindex in love.conf.
Fixes #1934
2023-05-28 15:14:45 -03:00
Sasha Szpakowski a161207f02 update PhysFS to 3.2.0.
Fixes #1880.
2023-05-28 12:30:32 -03:00
ImagicTheCat 22e68868e1 Fix/improve SHA-384/512 hashing. 2023-05-24 16:29:23 +02:00
ImagicTheCat ade382072d Fix/improve SHA-224/256 hashing. 2023-05-24 16:10:53 +02:00
ImagicTheCat 4304132f8f Fix/improve SHA1 hashing. 2023-05-24 16:09:34 +02:00