Commit Graph

775 Commits

Author SHA1 Message Date
Alex Szpakowski 5c46149afb Properly set shader dirty flags for love_ScreenSize when love.window.setMode is called. 2015-01-21 21:46:33 -04:00
Alex Szpakowski 18569979e9 Better cleanup when the graphics and window subsystems are destroyed and restarted. 2015-01-21 18:23:16 -04:00
Alex Szpakowski c7b45b3505 Updated copyright for the new year 2014-12-31 19:32:43 -04:00
Alex Szpakowski 60eceadc0a Added "mirroredrepeat" wrap mode. 2014-12-22 19:16:36 -04:00
Alex Szpakowski c4a1457603 Fixed Image:setMipmapFilter keeping bad state around if it errors. 2014-12-05 12:19:50 -04:00
Alex Szpakowski 22bbe74ed9 Allow BC6 and BC7 compressed DDS files to be loaded into Images. 2014-11-05 21:11:22 -04:00
Alex Szpakowski 1108dea696 Updated the error message when invalid UTF-8 strings are used in love.graphics.print and friends to mention UTF-8. 2014-10-06 19:34:11 -03:00
Alex Szpakowski 808e533b02 Tweaked streaming Sources to use fewer OpenAL buffers (and increased the amount of decoded data per buffer to compensate), and removed some unnecessary #include statements. 2014-09-28 14:58:59 -03:00
Alex Szpakowski b70f72acb3 Fixed a couple potential memory leaks if love.graphics.newShader causes an error, and cleaned up some shader-related code. 2014-09-27 02:26:58 -03:00
Alex Szpakowski 7f490c4c30 Added ParticleSystem:setLinearDamping and ParticleSystem:getLinearDamping (resolves issue #803.) 2014-09-19 21:00:04 -03:00
Alex Szpakowski 3d7a3c2c3c Improved the error message when a misspelled filename is given to love.graphics.newShader (resolves issue #928.) 2014-09-18 22:36:22 -03:00
Alex Szpakowski c6896dfc4e Consolidated some duplicate code in SpriteBatch:add. 2014-09-18 20:29:47 -03:00
Alex Szpakowski 5dda0c08eb Slightly improved the performance of SpriteBatch:setBufferSize. 2014-09-18 18:30:56 -03:00
Alex Szpakowski f972c9923f Fixed love.graphics.reset reverting the current font to nil and breaking love.graphics.print. 2014-09-11 02:42:56 -03:00
Alex Szpakowski 77bec45b4a Fixed SpriteBatch:setBufferSize. 2014-08-31 01:15:58 -03:00
Alex Szpakowski 68b2c9e851 The default filter mode is now included in the state affected by love.graphics.push("all"). 2014-08-29 01:31:16 -03:00
Alex Szpakowski 40c6821048 Removed some dead code and fixed luax_pushtype when the object argument is null. 2014-08-28 00:48:32 -03:00
Alex Szpakowski 1449a81bdf Removed some dead code. 2014-08-26 22:16:01 -03:00
Alex Szpakowski d6cd2e2e7e Prettied up some code. 2014-08-26 00:05:08 -03:00
Alex Szpakowski 1978fa9910 Cleaned up a bit of unused code. 2014-08-22 17:44:52 -03:00
Alex Szpakowski 8ffe610659 Added love.graphics.getStats. It returns a table with performance-related graphics statistics. Currently it contains these fields:
drawcalls: The number of internal draw calls made so far in the current frame.

canvasswitches: The number of times the active Canvas has been changed so far in the current frame.

texturememory: The approximate amount of video memory (in bytes) used by OpenGL textures created by Images, Canvases, and Fonts.

images: The number of active Image objects.

canvases: The number of active Canvas objects.

fonts: The number of active Font objects.
2014-08-21 15:01:29 -03:00
Alex Szpakowski 1798115858 Error if the coordinates given to Canvas:getPIxel are not within [0, dimensions). 2014-08-10 03:09:16 -03:00
Alex Szpakowski d5ccdc040a Cleaned up some Proxy-related code. 2014-08-09 16:18:22 -03:00
Alex Szpakowski da7cd267ea Changed luax_pushtype to retain the pushed object itself, but only if the object isn't in the Lua state already.
Previously, calling e.g. love.graphics.getFont() 10,000 times would retain the object 10,000 times (and release it 10,000 times when the Font object was garbage-collected in the Lua state.) Now it will only retain it once and release it once.
2014-08-09 16:04:59 -03:00
Alex Szpakowski 191b910f23 Fixed love.graphics.newScreenshot potentially deleting any active Canvases. 2014-08-08 18:49:11 -03:00
Alex Szpakowski d59c76a55f Reduced the number of explicit retain/release method calls on love objects. Less chance of bugs! 2014-08-07 14:53:17 -03:00
Alex Szpakowski a0fff798aa Fixed compiling with Visual Studio. 2014-08-07 01:12:48 -03:00
Alex Szpakowski afc505e183 Added stack type enums to love.graphics.push (resolves issue #906.) Current enums are "transform" and "all". "transform" is the default (for compatibility.) When love.graphics.push("all") is used, love.graphics.pop() will restore all love.graphics module state to what it was when push was called.
Updated the graphics code to use a custom matrix stack rather than OpenGL1's APIs.
2014-08-06 22:25:29 -03:00
Alex Szpakowski 809ea8691f Fixed wireframe mode not being saved and restored properly on love.window.setMode. 2014-08-04 22:02:47 -03:00
Alex Szpakowski d52bab4221 Updated the new module changes to use more compile/link-time checking rather than runtime checking. 2014-07-21 15:12:01 -03:00
Alex Szpakowski 014b9a46e5 Updated the Lua wrapper code for modules to account for cases where the module's instance is removed from memory completely and recreated during the program's lifetime. 2014-07-21 14:52:01 -03:00
Alex Szpakowski e87fbdcaaf Fixed the default line join mode to be 'miter' instead of an undefined value. 2014-07-15 15:49:01 -03:00
Alex Szpakowski a4a075dd2e Fixed crashes and instability when love.graphics.setMode is called when a vertex buffer is mapped by love. 2014-07-10 16:16:00 -03:00
Alex Szpakowski d11ccd0e69 Added love.graphics.getCanvasFormats and love.graphics.getCompressedImageFormats, and removed love.graphics.hasCanvasFormat.
The two new functions return tables containing the names of all relevant formats as keys, and boolean values indicating whether the formats are supported.
2014-07-05 16:22:52 -03:00
Alex Szpakowski 4c67a94ba3 Hopefully fixed issue #898, and cleaned up code for love.graphics.getRendererInfo. 2014-06-19 03:02:37 -03:00
Bart van Strien fb3aa060b2 Fix Texture leak in Meshes 2014-06-18 14:34:05 +02:00
Alex Szpakowski f0fa63ba47 Backported commits 145524a and 7785b4b from minor into default (Added SpriteBatch:flush, deprecated SpriteBatch:bind/unbind, SpriteBatch:flush is called implicitly when the spritebatch is drawn.) 2014-06-17 21:52:56 -03:00
Alex Szpakowski b9cd93e071 Re-added ParticleSystem:setQuads(q1, q2, ...). Active particles use the quads based on the particle's lifetime in a similar style to ParticleSystem:setColors and ParticleSystem:setSizes. 2014-06-15 18:20:05 -03:00
Alex Szpakowski 23d3cbc2e2 Renamed all cases of FSAA to the more accurately-named MSAA. The FSAA names (canvas:getFSAA, t.window.fsaa, etc.) still exist for now, for backwards-compatibility. 2014-06-13 23:28:00 -03:00
Alex Szpakowski 3792dee4b4 Backout changeset 57172a7f03452a6b07f346e850f3e1020e230f46 2014-06-05 14:59:29 -03:00
Alex Szpakowski e9e303c1e8 Changed embedded Lua scripts to be included in the love source via C++11's raw string literals instead of a generated header file. Removed auto.lua.
As a result, love can be compiled immediately after editing an embedded Lua script.

Visual Studio 2013 or newer is required for C++11 raw string literals in Windows.
2014-06-05 13:42:03 -03:00
Alex Szpakowski 79b453653a Added love.joystick.loadGamepadMappings (resolves issue #842), and Joystick:saveGamepadMapping.
The latter returns a mapping string, and the former loads a newline-separated list of mapping strings.
2014-06-04 15:50:06 -03:00
Alex Szpakowski dfa319e01a Replaced the EXCEPT_GUARD macro for converting love exceptions into Lua errors with the new luax_catchexcept function, which takes lambda function arguments. 2014-06-03 19:27:00 -03:00
Alex Szpakowski 724bdbd296 love.graphics.newImage, love.image.newImageData, etc. no longer leave Lua-owned FileData objects floating around waiting to be GC'd when called with filename arguments, resulting in less memory use on startup (resolves issue #890.)
Moved love.filesystem Lua wrapper code from src/modules/filesystem/physfs/ to src/modules/filesystem/.
2014-06-02 00:22:41 -03:00
Alex Szpakowski 6971ece4cb Fixed Mesh:setDrawRange when the Mesh has a vertex map and the first argument to setDrawRange is non-zero. Removed mesh-specific instancing code. 2014-05-30 17:52:58 -03:00
Alex Szpakowski f973c696f9 Fixed Image:refresh regenerating mipmaps multiple times if mipmap filtering is enabled on an uncompressed image 2014-05-28 01:36:09 -03:00
Alex Szpakowski a028f94ff2 Fixed love.graphics.newMesh(vertexcount, ...) trying to use glDrawArraysInstanced sometimes, fixed Mesh:getVertexMap. 2014-05-23 13:46:13 -03:00
Alex Szpakowski fd5b5aad65 Minor code cleanup 2014-05-21 21:14:08 -03:00
Alex Szpakowski cb01e3f4d1 Fixed segfault when garbage collecting Shader objects 2014-05-14 20:00:59 -03:00
Alex Szpakowski 976c26aa21 Removed an unnecessary extension dependency for support of the rg11b10f canvas format 2014-05-14 16:45:16 -03:00