Commit Graph

432 Commits

Author SHA1 Message Date
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 e8009bb4cb Reverted commit 14ca947 (love.math.setRandomSeed internally calling random() a few times.) The change can break existing 0.9.x games so it will be pushed back to the minor branch. 2014-09-28 15:28:14 -03:00
Alex Szpakowski aba33bf2e7 Merged default into minor
--HG--
branch : minor
2014-09-20 00:34:34 -03:00
Alex Szpakowski b75e1bdeaa Added love.window.setPosition(x, y [, displayindex]), love.window.getPosition, and optional x and y fields for t.window in love.conf and for the flags table in love.window.set/getMode (resolves issue #930.) 2014-09-19 16:19:55 -03:00
Alex Szpakowski fffbd3ecab Merged default into minor
--HG--
branch : minor
2014-09-18 02:15:20 -03:00
Alex Szpakowski 417173b43a GLSL precision qualifiers (lowp, mediump, highp) can now be used for variables in shader code on desktops without causing a compile error, although they do nothing. 2014-09-16 22:34:22 -03:00
Alex Szpakowski 604bc34106 Hopefully fixed the default filesystem identity when a game is fused to the executable in Windows. 2014-09-16 14:24:04 -03:00
Alex Szpakowski 00944c5f5d Added love.window.toPixels(x [, y]) and love.window.fromPixels(x [, y]), for easier conversion between window-space and pixel-space values when highdpi mode is enabled on a retina display in OS X (and in the iOS and Android ports of LÖVE.) 2014-09-14 15:58:37 -03:00
Bart van Strien 97cacf1b2d Merge default into minor
--HG--
branch : minor
2014-09-03 18:11:20 +02:00
Alex Szpakowski c502847802 Enable strict mode for shaders on some nvidia drivers. Should hopefully prevent some issues where nvidia GLSL compilers let things slide that should be illegal. 2014-08-31 00:51:54 -03:00
Alex Szpakowski 6f6bf6a2bb Merged default into minor
--HG--
branch : minor
2014-08-30 22:08:10 -03:00
Alex Szpakowski ab9954272a Updated the initialization code to trigger a real Lua error if love.conf has an error in it. 2014-08-28 20:39:49 -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 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 2a1e1d01d3 Merged default into minor
--HG--
branch : minor
2014-08-25 18:02:44 -03:00
Alex Szpakowski 234ee0fea6 Fixed the default error handler's background color when sRGB is enabled for the screen. 2014-08-22 17:58:07 -03:00
Alex Szpakowski 2c7ee6959e Renamed the fullscreen type "normal" to "exclusive".
--HG--
branch : minor
2014-07-30 01:38:45 -03:00
Alex Szpakowski 88211ede8f Merged default into minor
--HG--
branch : minor
2014-07-13 20:26:51 -03:00
Alex Szpakowski a658c7df76 Fixed the error screen when highdpi mode is enabled on a retina monitor in OS X (resolves issue #908) 2014-07-12 21:12:21 -03:00
Alex Szpakowski 2bfa8dbfb5 Merged default into minor
--HG--
branch : minor
2014-06-16 03:09:04 -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 bfa3ec9369 Merged default into minor
--HG--
branch : minor
2014-06-05 03:02:50 -03:00
Alex Szpakowski 4d0bbb97d8 Fixed Lua pattern matching for detecting the 'position' and 'effect' shader functions (thanks lpghatguy!) 2014-05-31 00:42:18 -03:00
Alex Szpakowski db4acdbab6 Fixed the no-game screen
--HG--
branch : minor
2014-05-29 01:18:02 -03:00
Alex Szpakowski 53b20b63a5 Merged default into minor
--HG--
branch : minor
2014-05-21 21:16:37 -03:00
Alex Szpakowski fd5b5aad65 Minor code cleanup 2014-05-21 21:14:08 -03:00
Alex Szpakowski 0372977dfa Backout changeset 6dd72101871f163ee0e644c751f80773d45f339f
The change should only be done for GLES, not desktop GL - their specifications differ on this.
2014-05-03 22:21:45 -03:00
Alex Szpakowski 5428a5d75f Backout changeset b3928e24add23da69dcd90c34985cd6a05454be0 2014-05-03 22:07:32 -03:00
Alex Szpakowski 4bc96f1bf6 Internally compose and pass an array of shader source codes to OpenGL, instead of relying on #line to make sure the line number is correct for shader error messages (resolves issue #882) 2014-05-03 21:43:20 -03:00
Bart van Strien 9972153696 Use '#line 1' instead of '#line 0' in shader sources, for compatibility with GLES (fixes #882) 2014-05-03 14:50:08 +02:00
Alex Szpakowski 1b61091aae Removed the 'wu' and 'wd' constants for love.mousepressed, added new love.wheelmoved(x, y) event callback.
+x is mousewheel-right, +y is mousewheel-up.

--HG--
branch : minor
2014-04-19 21:36:06 -03:00
Alex Szpakowski e0134a305c Merged default into minor
--HG--
branch : minor
2014-04-15 18:35:33 -03:00
Alex Szpakowski 4ea18d8bbc love.math.setRandomSeed now calls random() a couple times internally, to make similar seeds give less similar results when random() is called for the first time after setRandomSeed. 2014-04-05 18:55:05 -03:00
Alex Szpakowski 2fb39f4448 Merged default into minor
--HG--
branch : minor
2014-04-05 01:33:14 -03:00
Alex Szpakowski 9dd3f70988 Use love.filesystem.isFile instead of love.filesystem.exists when checking for main.lua and conf.lua on startup 2014-04-02 22:16:27 -03:00
Alex Szpakowski b18c35a1f2 Renamed blend modes "additive", "subtractive", and "multiplicative" to "add", "subtract", and "multiply" (resolves issue #864)
--HG--
branch : minor
2014-04-01 20:49:24 -03:00
Alex Szpakowski 6dc10cfd15 Merged default into minor
--HG--
branch : minor
2014-04-01 20:46:31 -03:00
Alex Szpakowski f65e9826d9 Disabled shader code for instancing 2014-03-29 17:51:33 -03:00
Alex Szpakowski fc77e8f9f0 Throw away the first 3 love.math.random results after seeding it (xorshift outputs less random results the first few times when the seed is very similar to a previous one) 2014-03-15 21:43:25 -03:00
Alex Szpakowski 4faddcd9aa Fixed some trivial compiler warnings 2014-03-12 17:55:19 -03:00
Alex Szpakowski caa61563cc OpenGL 2.1 is now required to use love.graphics (resolves issue #779.)
Removed love.graphics.isSupported("canvas", "shader", "npot", "subtractive", and "mipmap"), since those features are all guaranteed by the minimum system requirements.

--HG--
branch : minor
2014-03-12 02:26:32 -03:00
Alex Szpakowski ec0f428c4f Cleaned up the code for initializing love.filesystem and the source and save directories a bit 2014-03-01 20:23:04 -04:00
Alex Szpakowski ce4fdf4ac9 Added sRGB (gamma-correct) support for Images, Canvases, and the main screen.
love.graphics.newImage(path, “srgb”) creates a new Image whose texels are treated as being in the sRGB color space, so they are linearized when drawing/sampling from the image.

love.graphics.newCanvas(w, h, “srgb”) creates a new Canvas whose texels are treated as being in the sRGB color space, so drawing to the Canvas does a linear->sRGB conversion (but blends linearly), and sampling from it (drawing it or using it in a shader) converts from sRGB to linear space.

The "srgb" window flag does the same as Canvases for the main screen.
2014-02-02 18:31:41 -04:00
Alex Szpakowski 007d0d5216 Windows: create the console before modules are loaded (allows information printed during module initialization to be displayed.) 2014-01-29 16:20:05 -04:00
Alex Szpakowski c5c788e976 Added a built-in variable readable in shaders: ‘love_ScreenSize’. Its x and y components contain the width and height of the current viewport. Resolves issue #841. 2014-01-27 02:58:34 -04:00
Alex Szpakowski 73f1ce0d40 Added instancing support to Meshes via Mesh:setInstanceCount. Added a new built-in variable to vertex shaders: int love_InstanceID.
love.graphics.draw(mesh) will draw the mesh instancecount times, using hardware instancing when available. The only way to draw individual instances differently from each other is to use the love_InstanceID variable in a vertex shader.

Added love.graphics.isSupported(“instancing”). Hardware instancing is supported if true, otherwise a (slower) pseudo-instancing fallback is used internally when drawing instanced meshes.
2014-01-21 06:01:50 -04:00