Alex Szpakowski
bf432aff7c
Added basic kerning support for TrueType and BMFont fonts (resolves issue #1055.)
2015-07-02 21:07:34 -03:00
Bart van Strien
3cb777e2b7
Add basic lua 5.3 support
2015-06-16 10:25:41 +02:00
Bart van Strien
6ef6f85d0c
Restore 0-argument love.graphics.newFont/love.font.newRasterizer
...
Fix subtle bug in luax_convobj in the process, it couldn't deal with 0 arguments
before.
2015-06-07 23:10:48 +02:00
Alex Szpakowski
0f986b10aa
Cleaned up some code, the 'ry' parameter of love.graphics.rectangle now defaults to the value of 'rx' rather than defaulting to 0.
2015-05-27 17:36:27 -03:00
Alex Szpakowski
5c49898cdf
Fixed lines drawn using the 'none' line join mode having missing sections of each line segment.
2015-04-25 18:56:47 -03:00
Alex Szpakowski
2844499ef7
Added the ability to have custom vertex attributes in Meshes (resolves issue #768.)
...
Added new love.graphics.newMesh variants: newMesh(vertexformat, vertices [, drawmode, meshusage]) and newMesh(vertexformat, numvertices [, drawmode, meshusage]).
Replaced the regular love.graphics.newMesh variants with newMesh(vertices [, drawmode, meshusage]) and newMesh(numvertices [, drawmode, meshusage]). To use an image or canvas with a mesh, use Mesh:setTexture.
vertexformat is a table with the following prototype:
{
{attributename, datatype, components},
{attributename, datatype, components},
...
}
Where attributename is the name of the vertex attribute (can be the built-in names 'VertexPosition', 'VertexTexCoord', or 'VertexColor', or a custom name for use in a vertex shader), datatype is the type of values used for the attribute ('float' or 'byte'), and components is the number of components in the vertex attribute (between 1 and 4.)
The vertex format is used to determine the layout of the vertices in the mesh, for example the 'regular' newMesh variants use this vertex format:
format = {
{"VertexPosition", "float", 2},
{"VertexTexCoord", "float", 2},
{"VertexColor", "byte", 4},
}
The mesh usage parameter accepts the same constants as the spritebatch usage hint in love.graphics.newSpriteBatch - "dynamic", "static", and "stream".
Mesh:setVertex now sets *all* vertex attributes for a specific vertex in the Mesh.
Added Mesh:setVertexAttribute(vertexindex, attributeindex, attributevalue1, ...), which sets the values for a specific vertex attribute in a specific vertex in the Mesh (resolves issue #784.)
Added Mesh:getVertexFormat and Mesh:flush.
Added Mesh:setAttributeEnabled(attributename, enable) and Mesh:isAttributeEnabled(attributename), to enable or disable the use of a specific attribute when drawing the Mesh.
Added Mesh:attachAttribute(attributename, mesh), which makes the Mesh use a vertex attribute from another mesh when drawing the Mesh. This can be used to separate out vertex attributes which are updated at different rates into different meshes, and to share vertex data between multiple meshes.
Removed Mesh:setVertices, Mesh:getVertices, and Mesh:setVertexColors.
2015-04-08 22:24:17 -03:00
Alex Szpakowski
a119e6a862
Added an optional spacing argument to love.graphics.newImageFont, allowing additional spacing (positive or negative) to be applied to all glyphs rendered using that font.
2015-03-11 18:28:22 -03:00
Alex Szpakowski
4ef0d257e9
Added an optional font hinting argument to love.graphics.newFont / love.font.newRasterizer when loading TrueType fonts. Resolves issue #963 .
...
Accepted values are "normal", "light", "mono", and "none".
2015-03-07 22:05:37 -04:00
Alex Szpakowski
2f419c1c83
Replaced most cases of type bits and type name strings in love's Lua wrapper code with type id's.
...
--HG--
branch : minor
2015-03-01 18:32:41 -04:00
Alex Szpakowski
ebc68023a7
Fix many warnings about implicit integer conversions when compiling for 64 bits.
...
--HG--
branch : minor
2015-02-20 01:20:08 -04:00
Alex Szpakowski
24cb934fa6
Slightly reduced the memory usage of Fonts / Rasterizers created using the default font.
...
--HG--
branch : minor
2015-02-16 04:19:07 -04:00
Alex Szpakowski
fb79788d74
Moved more Font code out of the FreeType implementation files.
...
--HG--
branch : minor
2015-02-16 03:12:47 -04:00
Alex Szpakowski
e8286de1f3
Pulled some Font module code out of the freetype implementation files, since it's not freetype-specific.
...
--HG--
branch : minor
2015-02-16 01:47:20 -04:00
Alex Szpakowski
67aede6bc0
Merged default into minor
...
--HG--
branch : minor
2015-02-02 01:13:21 -04:00
Alex Szpakowski
665cdc4ae7
Moved the default Font logic from the graphics.lua script to the Graphics and Font module C++ code. Moved love.graphics.setNewFont from the graphics.lua script to the Graphics module Lua wrapper code. Moved the Vera.ttf data from the graphics.lua script to its own file inside the Font module.
2015-01-31 01:10:38 -04:00
Alex Szpakowski
ad1fbbf3ea
Merged default into minor
...
--HG--
branch : minor
2015-01-29 21:27:05 -04:00
Alex Szpakowski
423e35fd76
TrueType rasterizers now error properly when given an invalid size argument.
2015-01-29 20:38:12 -04:00
Alex Szpakowski
cf60cf89fc
De-namespaced a class, to make it less verbose.
2015-01-24 04:09:56 -04:00
Alex Szpakowski
a7e4148869
Merged default into minor
...
--HG--
branch : minor
2015-01-16 15:47:26 -04:00
Alex Szpakowski
c7b45b3505
Updated copyright for the new year
2014-12-31 19:32:43 -04:00
Alex Szpakowski
37fecf1bd4
Fixed the BMFont character coordinate verification code.
...
--HG--
branch : minor
2014-12-27 18:27:28 -04:00
Alex Szpakowski
8d0654a6a7
Added runtime drag-and-drop file and folder support via new love.filedropped and love.directorydropped event callback functions. filedropped has a single File object argument, and directorydropped has a single string argument containing the full path of the directory, which can be used with love.filesystem.mount.
...
--HG--
branch : minor
2014-10-18 20:30:36 -03:00
Alex Szpakowski
af0371361f
Merged default into minor
...
--HG--
branch : minor
2014-10-18 01:45:02 -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
d527307adc
Font glyphs created from ImageFonts no longer treat separator pixels as spacing (resolves issue #190.)
...
--HG--
branch : minor
2014-09-28 21:26:17 -03:00
Alex Szpakowski
4c6e688870
LÖVE will now try to guess the line height for BMFont files which are missing the 'lineHeight' attribute.
...
--HG--
branch : minor
2014-09-28 20:16:32 -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
9b1f7d7a6e
Merged default into minor
...
--HG--
branch : minor
2014-08-09 19:55:29 -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
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
aa05664d4c
Merged default into minor
...
--HG--
branch : minor
2014-07-30 01:32:10 -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
bfa3ec9369
Merged default into minor
...
--HG--
branch : minor
2014-06-05 03:02:50 -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
6dc10cfd15
Merged default into minor
...
--HG--
branch : minor
2014-04-01 20:46:31 -03:00
Alex Szpakowski
b95a02772a
Include the freetype error code in the error message when truetype font/glyph loading fails
2014-03-18 19:46:14 -03:00
Alex Szpakowski
50916825d0
Data::getSize now uses size_t instead of int
2014-03-18 03:50:00 -03:00
Alex Szpakowski
60cd1456ea
Merged default into minor
...
--HG--
branch : minor
2014-03-12 02:21:27 -03:00
Alex Szpakowski
55514720a6
Fixed some minor compiler warnings
2014-03-01 21:16:01 -04:00
Alex Szpakowski
dc35db1c7b
Fixed tab characters (‘\t’) in text to be drawn properly with love.graphics.print.
2014-01-15 23:38:39 -04:00
Alex Szpakowski
9b593780b1
Removed spaces from love.audio enum strings (resolves issue #733 )
...
--HG--
branch : minor
2014-01-15 04:41:07 -04:00
Alex Szpakowski
3120a0e650
Goodbye 2013, hello 2014!
2014-01-03 17:28:58 -04:00
Alex Szpakowski
9c747f1476
Switched to using bearing and advance metrics from the actual bitmap glyph object, removed old unused method declarations in the Filesystem class.
2014-01-01 03:52:43 -04:00
Alex Szpakowski
98b258b75f
Fixed font textures in OpenGL returning black RGB values when a shader is active (reverts changeset 69b0b4e)
2013-12-31 22:09:04 -04:00
Alex Szpakowski
90f4dea4ab
The TrueType rasterizer now properly recognizes the monochrome bitmap pixel mode for glyphs (resolves issue #818 )
2013-12-31 21:32:58 -04:00
Alex Szpakowski
f3bd944cf5
Reduced the RAM and VRAM space taken up by TrueType font glyphs by 1/2.
2013-12-31 20:15:55 -04:00