Commit Graph

49 Commits

Author SHA1 Message Date
Alex Szpakowski 86d41620dd Replaced the mouse button constants ("l", "r", "m", etc.) with button numbers. 1 is the primary button, 2 is the secondary button, 3 is middle-mouse, etc. Resolves issue #1019. 2015-03-25 00:31:16 -03:00
Alex Szpakowski a29b349014 Added love.math.compress(data, format [, level]) and love.math.decompress(compresseddata) / love.math.decompress(compressedstring, format).
Renamed the love.image CompressedData type to CompressedImageData.

love.math.compress returns a love.math CompressedData object which holds the newly compressed data. Currently supported formats are "lz4" and "zlib". Note that the formats are not file formats and don't compress filesystem hierarchies.
2015-03-23 11:28:14 -03:00
Alex Szpakowski 163d059305 Moved most of the love.timer code out of the sdl implementation folder. 2015-03-20 00:55:14 -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 8277eb9abd Renamed the internal OpenGL buffer class from VertexBuffer to GLBuffer. 2015-03-03 02:21:28 -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 3830a0969c Moved the Texture and Quad Lua wrapper files out of the opengl graphics implementation folder.
--HG--
branch : minor
2015-03-01 03:51:44 -04:00
Alex Szpakowski c572b1af19 Moved the Lua wrapper code for love.event out of the sdl implementation folder.
--HG--
branch : minor
2015-03-01 02:55:50 -04:00
Alex Szpakowski 976ce8ae00 Fixed cmakelists.txt.
--HG--
branch : minor
2015-02-16 16:31:10 -04:00
Alex Szpakowski 7f9abc1e77 Added love.touch module and touch screen events. Resolves issue #825.
Note: this implementation is slightly different from the implementation in the love 0.9.x Android and iOS ports!

Added love.touchpressed(id, x, y), love.touchmoved(id, x, y, dx, dy), and love.touchreleased(id, x, y, dx, dy).

id is a unique identifier for the touch press that persists until love.touchreleased. After that it is no longer unique.
x and y are the coordinates of the touch event in pixels within the window.
dx and dy are the amount in pixels that the touch has moved since the last event.

Added love.touch.getTouchCount and love.touch.getTouch(index).

love.touch.getTouch takes an index (not the same as an id. indices are not stable and don't correspond to a unique touch press.)
It returns the id of the touch and its current x and y coordinates in pixels.

--HG--
branch : minor
2015-02-16 16:29:45 -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 d229fb1129 Merged default into minor
--HG--
branch : minor
2015-02-09 21:43:31 -04:00
Alex Szpakowski 685c77acd9 Fixed the Windows CMake build. 2015-02-02 17:28:11 -04:00
Alex Szpakowski 970704c2b7 Added Text objects via love.graphics.newText(font [, textstring]). Reworked the internal code of Font objects to use fewer individual textures and less VRAM per object, and to be compatible with OpenGL ES. Slightly improved the performance of love.graphics.print and love.graphics.printf.
Text objects are Drawable objects that represent text on the screen. They decouple text drawing from text parsing and vertex uploading, in a similar manner to SpriteBatches. They also optionally allow efficient batching of text from the same Font in different relative coordinate transformations, without having many draw calls.

Text objects currently have the following methods:

Text:set(textstring) -- replaces any existing text in the object with the new string.
Text:setf(textstring, wraplimit, alignmode) -- replaces any existing text with formatted text using the new string.

Text:getFont() -- gets the Font object used for this Text object.
Text:getWidth() -- gets the width in pixels of the most recently added text in the Text object.
Text:getHeight() -- gets the height in pixels of the most recently added text in the Text object.

Text:add(textstring, x, y, angle, sx, sy, ox, oy, kx, ky) -- adds a new string to the text object using the specified relative coordinate transformation, without replacing existing text. This behaves much like SpriteBatch:add.
Text:addf(textstring, wraplimit, alignmode, x, y, angle, sx, sy, ox, oy, kx, ky) -- adds a new formatted string to the text object using the specified relative coordinate transformation.
Text:clear() -- clears all text from the object.

--HG--
branch : minor
2015-01-23 00:47:28 -04:00
Alex Szpakowski 5b98083e01 Merged default into minor
--HG--
branch : minor
2015-01-22 02:18:56 -04:00
Alex Szpakowski e82d1dfe54 Added Lua 5.3's UTF-8 module to LÖVE. Resolves issue #951.
The module must be required before use, i.e. utf8 = require("utf8").  API documentation can be found here: http://www.lua.org/manual/5.3/manual.html#6.5

Removing the last unicode character in a string (for proper backspace support in text boxes, for example) can be done using utf8.offset, e.g. text = text:sub(1, utf8.offset(text, -1) - 1).
2015-01-21 16:52:56 -04:00
Alex Szpakowski dfdd52e499 Added support for ETC1 and PVR1 compressed textures contained in KTX, PKM, and PVR files.
Most desktop graphics drivers don't support those formats.

--HG--
branch : minor
2015-01-20 03:18:28 -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 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 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 fffbd3ecab Merged default into minor
--HG--
branch : minor
2014-09-18 02:15:20 -03:00
Bart van Strien 793ef5db01 Apply foo0's patch to disable mpg123 in cmake megasource builds (issues #931 and #404) 2014-09-15 17:43:31 +02: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 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 fcf8329369 Fixed detection of TGA and BMP images and updated stb_image to the latest version.
--HG--
branch : minor
2014-08-11 03:11:51 -03:00
Alex Szpakowski bfa3ec9369 Merged default into minor
--HG--
branch : minor
2014-06-05 03:02:50 -03:00
Alex Szpakowski 10e0d4b900 Moved the love.joystick Lua wrapper code from modules/joystick/sdl/ to modules/joystick/. 2014-06-04 16:23:39 -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 51d1f2a7a9 Added support for loading TGA and BMP images (via stb_image.) Added support for encoding ImageData to TGA.
--HG--
branch : minor
2014-05-29 13:20:10 -03:00
Alex Szpakowski eca8c17a69 Removed the DevIL backend from love.image. Replaced it with PNG and JPEG encoders/decoders via LodePNG, zlib, and libjpeg-turbo.
PNG and JPEG are now the only two supported image formats, aside from compressed DDS (DXT, etc.)

--HG--
branch : minor
2014-04-22 17:11:59 -03:00
Alex Szpakowski b5ad14ccb1 Removed platform/msvc2010/* 2014-04-11 04:15:21 -03:00
Alex Szpakowski a3afb1a9ca Refactored the ImageData decoding/encoding backends a bit 2014-03-02 03:17:47 -04:00
Alex Szpakowski 510ed6f11e Abstracted lua bindings for general Texture methods into wrap_Texture.cpp 2014-01-04 21:19:03 -04:00
Alex Szpakowski 3120a0e650 Goodbye 2013, hello 2014! 2014-01-03 17:28:58 -04:00
Alex Szpakowski aa69a695d3 Canvases can now be used in SpriteBatches, ParticleSystems, and Meshes (resolves issue #782).
Canvases and Images are now subclasses of the new Texture class.
Added setTexture and getTexture methods for Meshes, ParticleSystems, and SpriteBatches (the old set/getImage methods are deprecated but not removed.)
Canvas texture coordinates are no longer flipped.
2014-01-03 17:07:12 -04:00
rude 417964e415 Associate .love files with love executable.
Resolves issue #807.
2013-12-14 17:44:30 +01:00
rude 293f4d0d7d Set NSIS package name to "LOVE".
Otherwise, the start menu folder created by the installer is called "LÖVE",
which is a change from how it worked before.
2013-12-14 17:42:43 +01:00
rude 740347b240 Set PDB name for liblove in Visual Studio.
There was a conflict between love.exe and love.dll, causing the debugger to
fail loading symbols.
2013-12-12 15:30:47 +01:00
rude 09a02662b6 CMake: Support LuaJIT. 2013-12-10 12:34:46 +01:00
rude 72698bccee CMake: Convert line endings of text files automatically. 2013-11-27 01:21:57 +01:00
rude d6d2d79701 Turn off CPACK_NSIS_MODIFY_PATH.
Turning this on inserts a page in the installer which gives the user the
option of adding LÖVE to PATH, except it doesn't really work, even if the
user opts that it should happen.

In that case, it's better to not give the user a choice at all, and disable
the whole thing.
2013-11-27 00:51:27 +01:00
rude e43b1e9673 Build love.dll on Windows. 2013-11-21 21:57:54 +01:00
rude b4ec808aff Use umlauts in LÖVE's installer.
Regular NSIS does not support Unicode. Use the fork Unicode NSIS if you want
to create the installer.

Also update year in license.txt.
2013-11-21 20:58:58 +01:00
Alex Szpakowski 51c01ca407 Updated CMakeLists.txt 2013-11-13 00:21:10 -04:00
rude 900978baf7 Let NSIS install Win64 binaries in $PROGRAMFILES64. 2013-10-28 00:00:45 +01:00
rude cbd1e6937b Added Wuff (and WaveDecoder.cpp/h) to CMakeLists.txt. 2013-10-24 20:28:52 +02:00
Alex Szpakowski b21f8ed3af Updated CMakeLists.txt 2013-10-11 02:44:44 -03:00
rude d07f0cc71e Add CMakeLists.txt.
This currently only works on Windows with Megasource
( http://bitbucket.org/rude/megasource ).
2013-09-30 00:49:56 +02:00