Commit Graph

5380 Commits

Author SHA1 Message Date
Sasha Szpakowski 37b9d7db11 Merge branch 'main' into 12.0-development 2023-10-11 22:05:55 -03:00
Sasha Szpakowski ba693500c4 Fix love.font.newBMFontRasterizer when it's given a single file param. 2023-10-11 22:05:33 -03:00
Sasha Szpakowski 86eb6df05c vulkan: don't hold onto ImageData references after loading an image.
Reduces CPU memory usage.
2023-10-09 20:22:04 -03:00
ell f477b8085f finish graphics module + HTML image comparison
- added mostly all graphics draw tests
- added a basic set of "expected" images (generated from successful tests)
- HTML output now shows the expected vs actual generated images for each of the graphics tests applicable
2023-10-09 22:32:41 +01:00
Sasha Szpakowski 90cd0be392 Merge pull request #1980 from nikeinikei/12.0-development
vk: correctly identify boolean uniforms
2023-10-09 16:17:16 -03:00
niki 88f6bb880e remove debug code 2023-10-09 20:16:01 +02:00
Sasha Szpakowski 5dc7b7d05b remove some redundant OpenGL API calls when clearing Canvases 2023-10-09 15:13:47 -03:00
Sasha Szpakowski 8958d155ab opengl: Fix blue component of love.graphics.setColorMask 2023-10-09 15:13:03 -03:00
niki 2749209fc7 vulkan: fix crash when using wrong uniform name 2023-10-09 20:12:13 +02:00
niki 88272c6855 vulkan: correctly identify boolean uniforms 2023-10-09 20:07:32 +02:00
Sasha Szpakowski 4787d50078 opengl: fix color mask 2023-10-09 14:10:24 -03:00
Sasha Szpakowski 06569b4fed Merge pull request #1979 from nikeinikei/12.0-development
vk: fix crash caused by love.window.close()
2023-10-09 13:37:30 -03:00
Sasha Szpakowski cf26e39d1b vulkan: potential fix for compressed textures with mipmaps 2023-10-09 13:13:37 -03:00
niki 21182d1428 vulkan: fix memory leak 2023-10-09 16:04:25 +02:00
niki 51d5b48515 vulkan: fix incorrect device extension 2023-10-09 15:32:17 +02:00
niki 8f8afe3de5 vulkan: fix crash when using love.window.close() 2023-10-09 15:31:23 +02:00
Sasha Szpakowski 2789e5eabf opengl: fix clearing integer format Canvases. 2023-10-08 21:36:10 -03:00
Sasha Szpakowski b8cbb62bc3 opengl: scissor and color mask no longer affects love.graphics.clear.
This makes it more consistent with other backends.
2023-10-08 21:08:59 -03:00
ell add23a4ab0 fix mesa install 2023-10-08 21:11:07 +01:00
ell c7c8f25284 added objects module placeholders 2023-10-08 18:25:00 +01:00
Sasha Szpakowski 27c4569697 love.physics: clean up some internal collision processing code 2023-10-08 14:06:55 -03:00
ell e1948f6e57 added all graphics 'state' tests 2023-10-08 17:12:07 +01:00
Sasha Szpakowski 112a09ceb7 Shape:setDensity no longer needs Body:resetMassData unless the Body already has custom mass data.
Add Body:hasCustomMassData.
If the Body has custom mass data, attaching a Shape to it doesn't automatically reset its mass data.
2023-10-08 12:43:27 -03:00
Sasha Szpakowski 1396e26626 auto.lua: fix consistency on Windows 2023-10-08 12:32:10 -03:00
Sasha Szpakowski ff45c308f4 macOS: increase minimum supported OS from 10.9 to 10.13
The most recent macOS SDK fails to link when the deployment target is set to 10.9.
2023-10-07 17:03:40 -03:00
Sasha Szpakowski 5b4758819e nogame screen uses non-deprecated APIs 2023-10-07 15:35:00 -03:00
Sasha Szpakowski de3a0c0142 Improve error checking in love.physics.new*Shape 2023-10-07 15:33:15 -03:00
Sasha Szpakowski a1e4b649ce Fix compile errors on macOS 2023-10-07 15:33:01 -03:00
Sasha Szpakowski b8e2b1b6c5 Update Xcode project to account for removed files 2023-10-07 15:19:49 -03:00
Sasha Szpakowski ac9ae82524 love.physics: simplify Body and Shape API.
#1130

- Shapes are now directly attached to Bodies when they're created (similar to love 0.7 and older).
- Fixtures are removed.
- All methods that were in Fixtures now exist in Shapes.
- All APIs that used or returned a Fixture now do the same with a Shape.

- Add new love.physics.new*Shape variants that take a Body as the first parameter.
- Deprecate the new*Shape APIs that don't take a Body.
- Deprecate love.physics.newFixture (the deprecated function now returns a Shape).
- Replace Body:getFixture and Body:getFixtures with Body:getShape and Body:getShapes (Body:getFixtures is deprecated).
- Replace World:queryFixturesInArea and World:getFixturesInArea with World:queryShapesInArea and World:getShapesInArea (queryFixturesInArea is deprecated).
- Replace Contact:getFixtures with Contact:getShapes (Contact:getFixtures is deprecated).
- Replace all love.physics callback Fixture parameters with Shape parameters.
- Deprecate ChainShape:getChildEdge.
2023-10-07 15:17:24 -03:00
ell 8f10ba907c check flag change 2023-10-06 15:58:55 +01:00
ell a620910121 add renderer alts. 2023-10-06 15:33:53 +01:00
ell 5ac5438cb4 try lovec instead 2023-10-06 15:02:12 +01:00
ell 6a0ff067c8 fixed test.filesystem.openFile 2023-10-06 14:39:43 +01:00
ell 04293d3fbd use love-test-report action
added md support to work with love-test-report, a basic action made to just dump md files into repo checks
2023-10-06 13:26:51 +01:00
ell ac5f97e656 Update main.yml 2023-10-06 10:14:44 +01:00
ell a513320a47 prevent empty <failure/> tag
dorny/test-reporter@v1 will fail to parse <failure> tags that are empty as it's expected a message both in the attr and inside
2023-10-06 10:10:08 +01:00
Labrium f06ba8b926 Merge branch 'sdf-font-hintingmode' of https://github.com/Labrium/love into sdf-font-hintingmode 2023-10-05 20:12:28 -06:00
Labrium c3814bc66f Fix glyph rendering error for empty characters 2023-10-05 20:12:14 -06:00
ell 6c29497be2 skipped format 2023-10-06 00:53:29 +01:00
ell fae3b6ff63 fix xml format 2023-10-06 00:37:35 +01:00
ell db600b7fb6 output to src 2023-10-06 00:08:39 +01:00
ell 1692f7f2e8 Test MacOS Testing workflow 2023-10-05 23:44:15 +01:00
ell e03b2db08b 0.2
- Added tests for all obj creation, transformation, window + system info graphics methods
- Added half the state methods for graphics + added placeholders for missing drawing methods
- Added TestMethod:assertNotNil() for quick nil checking
- Added time total to the end of each module summary in console log to match file output

- Removed a bunch of unessecary nil checks
- Removed :release() from test methods, collectgarbage("collect") is called between methods instead

- Renamed /output to /examples to avoid confusion

- Replaced love.filesystem.newFile with love.filesystem.openFile
- Replaced love.math.noise with love.math.perlinNoise / love.math.simplexNoise

- Fixed newGearJoint throwing an error in 12 as body needs to be dynamic not static now

- Some general cleanup, incl. better comments and time format in file output
2023-10-05 23:03:32 +01:00
Sasha Szpakowski 2702004bb2 Add Body:getFixture.
Convenience method to get the first Fixture attached to the body.
2023-10-04 20:00:44 -03:00
Sasha Szpakowski 51b439822b Add convenience functions for creating a Body+Shape+Fixture all at once.
#1130.

- Add love.physics.newCircleBody(world, bodytype, x, y, radius)
- Add love.physics.newRectangleBody(world, bodytype, x, y, w, h [, angle])
- Add love.physics.newPolygonBody(world, bodytype, coords)
- Add love.physics.newEdgeBody(world, bodytype, x1, y1, x2, y2 [, onesided])
- Add love.physics.newChainBody(world, bodytype, loop, coords)

All new functions return a Body object. The body's world position is at the center of the given coordinates, and the shape's local origin is at its center.
2023-10-04 19:56:22 -03:00
ell 08467cb4fa Update readme.md 2023-10-04 21:59:31 +01:00
ell 19df8040df 0.1
Initial commit of a basic test framework, see readme.md for more

Most modules are covered with basic unit tests, and there's an example test for a graphics draw (rectangle) and object (File) - for object tests doing more scenario based so we can check multiple things together
2023-10-04 14:43:44 +01:00
Sasha Szpakowski 03b6b9ff13 Fix return value counts... 2023-10-02 14:08:21 -03:00
Sasha Szpakowski da430d5145 World:rayCastAny and rayCastClosest also return the fixture they hit. 2023-10-02 14:05:54 -03:00