Commit Graph

32 Commits

Author SHA1 Message Date
Alex Szpakowski ec9dec6b80 Replaced luax_newtype with luax_pushtype (and added luax_rawnewtype for the old functionality of luax_newtype.)
luax_pushtype keeps the object in a weak table and checks the table before creating a new userdata, so it re-uses the object's existing wrapper userdata if it can, whenever the object is pushed to Lua.

This fixes some subtle issues with love objects, where using them as keys in tables would not always work as expected (https://love2d.org/forums/viewtopic.php?f=4&t=39398&p=112388#p112415). It also decreases the amount of new Lua objects created, saving the garbage collector some work.
2013-08-29 00:40:06 -03:00
Alex Szpakowski 7403245715 Cosmetic code improvements
--HG--
branch : image-CompressedData
2013-04-07 22:58:08 -03:00
Alex Szpakowski 88d64954a4 Replaced the devil love.image module with love.image.magpie, which can decide which image library to use in a similar manner to love.sound.lullaby. Some rough edges still exist.
love.filesystem.newFileData now accepts filepaths and File objects.

--HG--
branch : image-CompressedData
2013-04-07 17:18:34 -03:00
Alex Szpakowski 5301026f3c Added support for DXT1/3/5 and BC5/7 compressed textures via love.image.CompressedData. Some internals are still iffy.
- added a new CompressedData type to love.image
- added love.image.isCompressed(file or data)
- love.graphics.newImage automatically tests for compression when loading a file
- added love.graphics.isSupported strings for DXT, BC5, and BC7

Compressed textures meant to be used on the GPU offer huge performance gains when
- loading the texture from a file
- loading the texture from RAM to VRAM
- loading mipmaps
- rendering

--HG--
branch : image-CompressedData
2013-04-04 19:09:18 -03:00
Alex Szpakowski 96161c66f6 Updated copyright text for the new year 2013-02-05 05:32:49 -04:00
Bart van Strien 7793e7f02f CRLF to LF 2012-07-04 14:40:24 +02:00
rude 81c38e22d0 Applied the new style guidelines.
Well, sort of. Lot's more to be done, but this is a start.
2012-06-28 23:52:33 +02:00
Boolsheet 73672bd674 Clean up love.image because we own the memory, not DevIL 2012-05-29 23:36:49 +02:00
Bill Meltsner be55579a22 Happy New Year, have an enormous diff 2012-01-09 02:41:11 -06:00
Bart van Strien c707a4ca45 Properly export all lua-facing functions and use those for initialization (love.cpp no longer explicitly mentions implementations) 2011-12-24 01:10:40 +01:00
Bart van Strien 0aae9684b3 Automated formatting fix 2011-11-16 11:32:41 +01:00
Bart van Strien 4fd9888a16 Merge in minor branch, now minor is our next development target 2011-05-07 14:12:41 +02:00
Bart van Strien d55941f7fa No more crashes when there is no memory for newImageData (issue #209) 2011-04-07 19:22:55 +02:00
rude 3fe9b2ff16 Reverted module selection feature. This is not really desired.
Users (or lovers) do not get to choose which implementation of
a module they would like to use.

The abstraction is for dealing with portability issues, not
for giving people the ability to choose an alternative
(inferior) backend. The best choice for any platform/situation
should at all times be the *default* for that platform/situation.
If this is not the case; it's a bug (that is easily fixed).

Any module should provide the functionality promised in the docs.
The lover (or user) should not care how, and if [s]he does, [s]he
does still not get to choose.

Also, a related note: duplication of wrapper code is something I
especially wanted to avoid when I first (or should I say ...
"eventually") formed the current architecture.

--HG--
branch : minor
2011-03-26 17:06:05 +01:00
Bill Meltsner cee7a4ccdb Removed EncodedImageData, added three new encoded image formats, and changed the way screenshots work - saving screenshots will be broken until we have some way of flipping ImageData, though
--HG--
branch : minor
2011-03-19 23:41:07 -05:00
Bart van Strien ff387790ce Move luaopen_love_image from love.image to love.image.devil
--HG--
branch : minor
2011-03-13 19:51:08 +01:00
Bill Meltsner fde708160e bringing in the new year by changing every 2010 to 2011 2011-01-15 14:40:27 -06:00
Bill Meltsner b1dac7f381 EncodedImageData was implemented really stupidly. Now it's less stupid. 2010-04-11 23:09:29 -04:00
bart@bartbes.ath.cx 736f7ab1a2 love.thread can now share full userdata 2010-02-14 17:41:11 +01:00
rude 72efaa283f Fixed crash on attempt to open non-existent file. 2010-02-03 20:48:58 +01:00
rude aa01c984b9 Updated all dates to 2010. 2010-01-31 16:54:47 +01:00
rude 87e3c4131c Finally abstracted constants properly. Changed how the event module works; wasn't really abstract before. Removed libs we're not going to use: native, signal. 2009-10-10 11:11:04 +02:00
bill@Ixion e21ce73554 now supports encoding to BMP as well as TGA, hooray 2009-09-05 14:07:05 -05:00
bill@Ixion 3655c9caae Lots changed: ImageData can now encode itself to any format you like as long as it's tga, love.filesystem can now write data to files, added EncodedImageData class. 2009-09-04 00:34:13 -05:00
rude 623e701549 Modules now reside in Lua and are treated (almost) like normal objects.
Also added a way of getting a pointer to abstract module instances internally.
2009-09-02 21:18:13 +02:00
bill@Ixion cece5fe625 readded support for screenshots - love.graphics.newScreenshot() returns ImageData that can be manipulated as one pleases 2009-09-01 03:56:00 -05:00
rude 579f9c75db Embedded nogame screen into binary and exposed version info. 2009-08-15 12:48:32 +02:00
rude dd420d68a3 Ok, project generation didn't really work out. Reverted. 2009-08-10 21:33:07 +02:00
rude ba1a75e547 Added many comments, and changed function names for wrapper functions. 2009-08-09 21:08:55 +02:00
rude 8e681b4204 It's now possible to build each module individually (as a DLL). 2009-08-04 19:57:14 +02:00
rude 0c241a14fb Added resources, and changed slightly how wrappers expose functions. 2009-07-30 00:37:43 +02:00
rude dcb3dfd83d Initial Mercurial commit. 2009-07-26 15:46:49 +02:00