Commit Graph

5058 Commits

Author SHA1 Message Date
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
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
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 2deb6273c2 Replace defunct IRC channel in readme with subreddit link 2023-08-20 13:39:20 -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