Commit Graph

2511 Commits

Author SHA1 Message Date
Alex Szpakowski d37c53584e Fixed the mipmaps flag in love.graphics.newImage; cleaned up a bit of vector code in love.math.isConvex. 2018-01-28 22:32:40 -04:00
Alex Szpakowski a461f2d7af Improve the error message when love.filesystem.init fails. 2018-01-28 16:53:09 -04:00
Alex Szpakowski 0bc820ee0e Merged in cigumo/love (pull request #99)
Changes Filesystem::setSource mount order on Android

Simplifies the way setSource is handled on Android. It tries to mount
first and if that fails it will copy to memory and mount.

This works alongside a separate patch to GameActivity.java submitted
to the love-android-sdl2 repo, that contains the /sdcard/lovegame
fallback mechanism, and also allows to copy the game.love to the app
cache dir, which is useful for large files.
2018-01-25 02:15:29 +00:00
Alex Szpakowski a2454d74cd Fix some DPI scale calculations to work with depth-only rendering. 2018-01-21 17:35:57 -04:00
Alex Szpakowski c798cce89d Improve the error message given when love.event pumping functions are called with a Canvas active. 2018-01-14 19:25:38 -04:00
Alex Szpakowski 39201af79f Improve the error message when an invalid layer or face index is given in love.graphics.setMode. 2018-01-14 19:15:24 -04:00
Alex Szpakowski 4d5c4ef807 Fix Body:isTouching. 2018-01-14 14:40:46 -04:00
Alex Szpakowski 02e115c339 Add Body:isTouching(otherbody). See issue #1365. 2018-01-14 14:37:48 -04:00
Alex Szpakowski ac52666c6f Rename ParticleSystem:setAreaSpread to setEmissionArea, and move the functionality from setAreaSpreadAngle/setAreSpreadIsRelativeDirection into setEmissionArea. Resolves issue #1311. 2018-01-13 21:11:07 -04:00
Alex Szpakowski 2459752c06 Add support for partial Image updates via Image:replacePixels(imagedata [, sliceindex, mipmap, x, y]) with a smaller-sized ImageData.
Also updated the argument order of Canvas:newImageData to match: (sliceindex, mipmap, x, y, w, h).
2018-01-10 22:52:28 -04:00
Alex Szpakowski 22f72c7da6 Fix a crash in Image:replacePixels when a different ImageData is given than the one that created the Image. 2018-01-10 21:31:00 -04:00
Alex Szpakowski 68f561dcc7 Fix love.data.decompress when passing in a CompressedData. 2018-01-08 15:34:46 +00:00
Alex Szpakowski 6808968893 Fix an issue when calculating the number of mipmaps for a volume/3D texture. 2018-01-06 01:55:09 -04:00
Alex Szpakowski f66753fec2 Windows: redirect stdout to the parent command prompt when love.exe --version is run. 2018-01-06 00:59:09 -04:00
Alex Szpakowski 3857d09132 Don't use persistently mapped buffers on Intel Ivy Bridge GPUs on Windows. glClientWaitSync can hang with those drivers, apparently. 2018-01-06 00:42:16 -04:00
Bart van Strien fd514d8176 Update some more copyright notices
I am so good at using search/replace I definitely didn't need a second commit
for this.
2018-01-03 19:55:02 +01:00
Bart van Strien e80247c191 Happy new year! 2018-01-03 19:47:35 +01:00
Alex Szpakowski 55822489cf Fix resuming streaming sources. Resolves issue #1362. 2017-12-30 16:41:54 -04:00
Alex Szpakowski dd59803ad3 Error when invalid setting names are used in the tables passed to love.graphics.newCanvas and newImage. See issue #1312. 2017-12-28 23:16:51 -04:00
Alex Szpakowski 1f52abf619 Fix love.audio.play(staticsources) when the sources have been paused. Resolves issue #1363. 2017-12-27 12:27:12 -04:00
Alex Szpakowski 7ff428b64f Fix love.graphics.newImage(compressedimagedata, settings) to respect the mipmaps boolean flag instead of always using the compressed texture's mipmaps if it has any. 2017-12-27 11:03:32 -04:00
Alex Szpakowski e6e1a81fd6 Move Android code for rerouting print and disabling JIT compilation to inside require("love") instead of the main executable Lua state, so it works in threads. 2017-12-26 19:45:23 -04:00
Alex Szpakowski 065f4a8e9b Fix SpriteBatch:setDrawRange. 2017-12-24 22:31:58 -04:00
Alex Szpakowski f7b2598490 Remove unnecessary internal constructor arguments. 2017-12-24 22:08:57 -04:00
Alex Szpakowski a31b500b03 Simplify quad drawing code, and use glDrawElementsBaseVertex when available. 2017-12-24 22:05:10 -04:00
Alex Szpakowski 785902d8bd Fix windows build 2017-12-24 16:05:52 -04:00
Alex Szpakowski 3fb621af95 Always use a 16 bit index array for quad indices, with multiple draws when necessary. See issue #1356. 2017-12-24 15:54:03 -04:00
Alex Szpakowski 0b7cb4a353 Add variants of File:read and love.filesystem.read which take an enum to determine whether they return a FileData or string. 2017-12-22 16:32:54 -04:00
Alex Szpakowski 9fa73f8b87 Several love.data functions now take an enum ("data" or "string") to determine whether they return a Data object or a string.
Changed functions are love.data.compress, decompress, encode, decode, and pack.
2017-12-22 16:13:20 -04:00
Alex Szpakowski cdcf052a73 Update LZ4. 2017-12-17 21:52:19 -04:00
Alex Szpakowski f69affebc9 Update tinyexr. 2017-12-17 21:42:04 -04:00
Alex Szpakowski 640e8f0d2e love.filesystem.mount can accept a Data object containing zipped data.
- Add mount(Data, archivename, mountpoint [, appendtopath]). 'archivename' must be a string that has not been used with mount before.
- Add mount(FileData, mountpoint [, appendtopath]). The file path of the FileData is used as the archive name.
- Add unmount(Data).
- unmount(archivename) also works.
2017-12-16 23:09:15 -04:00
Alex Szpakowski ce46fa3ebe Remove PhysFS 2.x-specific code, it's no longer needed since we always have PhysFS 3. 2017-12-16 19:56:02 -04:00
Alex Szpakowski 70bf18182d Fix Image:getMipmapCount returning greater than 1 when a compressed texture is loaded without mipmaps in its source data but with mipmaps=true set. 2017-12-15 22:18:19 -04:00
Alex Szpakowski 1d8a3326b3 Include the physfs 3.0.1 source in love. 2017-12-15 19:41:17 -04:00
Alex Szpakowski 3a8390ceff Fix a couple bugs with love.graphics.clear. 2017-12-10 14:40:08 -04:00
Alex Szpakowski 7354de2059 Add (low level) functionality to allow rendering 3D Meshes.
- Add love.graphics.setDepthMode(testcomparison, enablewrites).
- Add love.graphics.setMeshCullMode.
- Add love.graphics.setFrontFaceWinding.

Depth testing and depth writes require a depth buffer to work. The mesh cull mode controls whether front/back faces of a mesh are culled. The front face winding determines whether a clockwise or counterclockwise-oriented face in a mesh is considered front facing.

--HG--
branch : minor
2017-12-09 23:34:08 -04:00
Alex Szpakowski 915e6c8eec Fill-mode love.graphics.circle/ellipse draws a triangle fan from the center of the ellipse, instead of from an edge.
--HG--
branch : minor
2017-12-04 19:12:06 -04:00
Alex Szpakowski e099e57052 Cleaned up some internal love.graphics code.
--HG--
branch : minor
2017-12-03 23:04:40 -04:00
Alex Szpakowski cbcb1a8606 Allow a depth/stencil canvas to be active without a color canvas.
--HG--
branch : minor
2017-12-03 19:33:48 -04:00
Alex Szpakowski fccc6fa733 Increase the love.graphics max stack depth from 64 to 128.
--HG--
branch : minor
2017-11-28 22:41:01 +00:00
Alex Szpakowski b6cb6aed47 Error if the ImageData given to love.window.setIcon is not a 32 bit RGBA format.
--HG--
branch : minor
2017-11-26 18:31:43 -04:00
Alex Szpakowski 82553d793d Clamp colors in love.graphics.newMesh. I missed this one in my previous commit.
--HG--
branch : minor
2017-11-25 10:23:29 -04:00
Alex Szpakowski 6dea2ab714 Clamp all color arguments to [0, 1] in cases where values outside that range don't make sense (fixed-point color values & sRGB colors). Closes issue #1315.
--HG--
branch : minor
2017-11-21 19:49:52 -04:00
Alex Szpakowski 1cd1a8d32e Mark SDL implementations of love.window methods with 'override'.
--HG--
branch : minor
2017-11-20 22:38:25 -04:00
Alex Szpakowski 0b9ca3e344 Fix love.window.isMaximized. Add love.window.restore and love.window.isMinimized (resolves issue #1354).
--HG--
branch : minor
2017-11-20 22:20:39 -04:00
Alex Szpakowski b8c4b07edf Clean up unused temporary Canvases after a few frames.
--HG--
branch : minor
2017-11-13 19:45:18 -04:00
Alex Szpakowski 8672ff2272 Use a more efficient method of streaming automatically batched vertices on AMD Windows and Linux systems.
--HG--
branch : minor
2017-11-11 20:48:02 -04:00
Bart van Strien 19ddc27069 Use a seekless implementation of File:lines/love.filesystem.lines
The previous algorithm would seek every time. This meant that although reading
from a filesystem would be quick (especially with disk caching), but reading
from a zip would be extremely slow.

The new version is rouhgly as fast on a filesystem, but appears not to slow
down on zips at all. Not in my tests, at least.

--HG--
branch : minor
2017-11-11 21:42:52 +01:00
Alex Szpakowski 7f88037d94 Move the implementation for Graphics::flushStreamDraws out of the opengl backend
--HG--
branch : minor
2017-10-26 21:05:15 -03:00