Commit Graph

861 Commits

Author SHA1 Message Date
Alex Szpakowski a9630811d8 Fixed a logic error making compressed textures with no mipmaps trigger a Lua error when they're loaded into an Image.
--HG--
branch : minor
2014-10-06 20:09:10 -03: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 8edb90a719 Added support for loading BMFont bitmap font files with love.graphics.newFont (see issue #190.) Some esoteric BMFont features are not supported.
Moved the Font module Lua wrapper code out of the freetype implementation folder.

--HG--
branch : minor
2014-09-28 16:00:40 -03:00
Alex Szpakowski 34688e929e Merged default into minor
--HG--
branch : minor
2014-09-28 15:56:04 -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 aba33bf2e7 Merged default into minor
--HG--
branch : minor
2014-09-20 00:34:34 -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 cf7342f8b7 Use C++11's in-line member initializers instead of default constructors with initializer lists, for some structs.
--HG--
branch : minor
2014-09-18 02:39:18 -03:00
Alex Szpakowski fffbd3ecab Merged default into minor
--HG--
branch : minor
2014-09-18 02:15:20 -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 d1bdc9a7e2 Images and Canvases are now drawn using GL_TRIANGLE_FAN instead of GL_QUADS, for future compatibility with GLES and core GL3+.
--HG--
branch : minor
2014-09-07 13:19:27 -03:00
Bart van Strien 97cacf1b2d Merge default into minor
--HG--
branch : minor
2014-09-03 18:11:20 +02:00
Alex Szpakowski 77bec45b4a Fixed SpriteBatch:setBufferSize. 2014-08-31 01:15:58 -03:00
Alex Szpakowski 6f6bf6a2bb Merged default into minor
--HG--
branch : minor
2014-08-30 22:08:10 -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 b59e088d6c Hopefully fixed the Windows build (see issue #921.)
--HG--
branch : minor
2014-08-27 08:17:40 -03:00
Alex Szpakowski 626701fc2b Merged default into minor
--HG--
branch : minor
2014-08-26 23:23:17 -03:00
Alex Szpakowski 1449a81bdf Removed some dead code. 2014-08-26 22:16:01 -03:00
Alex Szpakowski 3f208f1e60 Fixed love.graphics.setShader with no arguments not properly restoring the default shader.
--HG--
branch : minor
2014-08-26 09:44:07 -03:00
Alex Szpakowski 8a7481eaa3 Added optional xoffset/yoffset/width/height arguments to Image:refresh, to specify a sub-rectangle. Specifying a small sub-rectangle can improve the performance of Image:refresh.
--HG--
branch : minor
2014-08-26 09:40:24 -03:00
Alex Szpakowski 760304e023 Fixed love.graphics.print.
--HG--
branch : minor
2014-08-26 08:08:09 -03:00
Alex Szpakowski 3a51f0ad08 Changed the love.graphics internal code to always use a default shader when none is set externally, and replaced the deprecated OpenGL vertex attribute code with the equivalent generic vertex attribute functions.
This will simplify the code and make it more maintainable when OpenGL ES 2+ support is added, compared to using the deprecated VA functions on desktop GL and the generic VA functions on GLES.

--HG--
branch : minor
2014-08-26 03:24:42 -03:00
Alex Szpakowski d6cd2e2e7e Prettied up some code. 2014-08-26 00:05:08 -03:00
Alex Szpakowski 766939bdd5 Removed mipmapping restriction on non-power-of-two Images.
--HG--
branch : minor
2014-08-25 01:37:05 -03:00
Alex Szpakowski 1978fa9910 Cleaned up a bit of unused code. 2014-08-22 17:44:52 -03:00
Alex Szpakowski 71c71985d3 Merged default into minor
--HG--
branch : minor
2014-08-21 16:53:43 -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 5f6ee50541 Replaced the GLee OpenGL function loader with a modified version of GLAD (resolves issue #728.)
--HG--
branch : minor
2014-08-18 21:35:52 -03:00
Alex Szpakowski df5e48a082 Merged default into minor
--HG--
branch : minor
2014-08-13 01:50:52 -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 19bbf6d3ff Merged bartbes/love-experiments/stencil-functions into minor
--HG--
branch : minor
2014-08-09 20:18:09 -03:00
Alex Szpakowski 9b1f7d7a6e Merged default into minor
--HG--
branch : minor
2014-08-09 19:55:29 -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 0749272632 Renamed love.graphics.drawStencil to love.graphics.stencil.
--HG--
branch : stencil-functions
2014-08-08 00:56:52 -03:00
Alex Szpakowski 2b70d84611 Replaced the old stencil API with love.graphics.drawStencil(stencilfunc), love.graphics.setStencilTest(enable, invert), and love.graphics.getStencilTest.
Draw to the stencil buffer (rather than the color buffer) using love.graphics.drawStencil with a function which draws geometry. Once the stencil buffer has been drawn to, use love.graphics.setStencilTest before drawing to let drawn geometry be affected by it.

love.graphics.clear (and Canvas:clear) will clear both the color and stencil buffers by default. love.graphics.clear("stencil") will clear only the stencil buffer.

--HG--
branch : stencil-functions
2014-08-08 00:25:44 -03:00
Alex Szpakowski 53e63d48c9 Merged default into minor
--HG--
branch : minor
2014-08-07 18:10:19 -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 aa05664d4c Merged default into minor
--HG--
branch : minor
2014-07-30 01:32:10 -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