Alex Szpakowski
7f3538d2ba
Merge branch 'main' into 12.0-development
2022-01-05 21:10:27 -04:00
Alex Szpakowski
8e7fd10b6f
Update copyright year for 2022
2021-12-31 18:33:40 -04:00
Alex Szpakowski
21f5ba86d3
Merge branch 'master' into 12.0-development
2021-04-07 20:33:44 -03:00
Alex Szpakowski
f89aabb0bb
Update copyright year for 2021
2021-04-04 16:14:45 -03:00
Alex Szpakowski
e71f27c65d
Move Lua wrapper code for Variants out of the Variant class file.
2020-02-28 21:54:03 -04:00
Alex Szpakowski
5f9b5a21d0
Merge default into minor
...
--HG--
branch : minor
2020-01-03 22:45:36 -04:00
Alex Szpakowski
fc4847c69d
Update copyright for the new year
2020-01-03 22:40:36 -04:00
Alex Szpakowski
b001b2e1d5
Add love.event.restart(optionalvalue) as a shorthand for love.event.quit("restart", optionalvalue). If a Lua value is provided as an argument, a new love.restart field will contain the value after restarting.
...
--HG--
branch : minor
2019-12-28 22:43:39 -05:00
Alex Szpakowski
443250ffd5
Slightly improve performance of Channel:push(table).
...
--HG--
branch : minor
2019-12-28 14:06:11 -05:00
Alex Szpakowski
56e3af1744
Slightly improve performance of Channel:push(table).
2019-07-20 11:25:52 -03:00
Alex Szpakowski
b43074efa5
Add an easier std::string Variant constructor.
2019-07-20 10:59:12 -03:00
Alex Szpakowski
0752f27bdf
Update copyright year for 2019
2019-01-03 21:09:05 -04:00
Bart van Strien
e80247c191
Happy new year! ✨
2018-01-03 19:47:35 +01:00
Alex Szpakowski
bc980b0f20
Fix Channel:push and other functions that accept love objects and store them in Variants internally. Cleaned up Variant code a bit.
...
--HG--
branch : minor
2017-09-30 11:11:14 -03:00
Alex Szpakowski
b838d0de54
Simplified an internal Variant constructor to be more intuitive to use.
...
--HG--
branch : minor
2017-09-30 10:39:24 -03:00
Bart van Strien
907630b04c
Fix cycle detection
...
It used to detect duplicates, not just cycles.
--HG--
branch : minor
2017-08-30 18:57:12 +02:00
Bart van Strien
5ddc89a033
Added cycle detection to Variant
...
We accidentally enabled nested tables previously, and now it errors properly when the tables contain cycles. Before you'd get (or at least I got) a nice lua stack overflow error.
--HG--
branch : minor
2017-08-30 13:07:57 +02:00
Alex Szpakowski
43fea45f9f
Fix a memory leak when pushing love objects to threads which never load that object’s module (resolves issue #1267 ).
...
Also fix Variant assignment operator to call release() on the correct object.
--HG--
branch : minor
2017-03-12 13:20:35 -03:00
Alex Szpakowski
abb72cb813
Happy new year! 🥂
...
--HG--
branch : minor
2017-01-02 01:28:29 -04:00
Bart van Strien
c761202486
Build type information on first use (load-time), instead of using a hardcoded list
...
--HG--
branch : dynamiccore2
2016-11-13 16:38:57 +01:00
Alex Szpakowski
37520bd18b
Added Object:release. Calling it is the equivalent of removing all Lua-side references to an object and doing a full garbage collection cycle (thus deleting the object from memory if nothing else in LÖVE's code is referencing it).
...
Any attempt to call a method on the object after it has been released will result in an error. Object:release() returns true if it was successful, or false if not (if it has already been released previously).
--HG--
branch : minor
2016-10-06 21:59:01 -03:00
Alex Szpakowski
d0c0240e09
Very minor channel / variant performance improvements and cleanup.
2016-03-12 19:11:03 -04:00
Alex Szpakowski
f51bbb8462
Cleaned up some StrongRef-related code.
2016-03-01 18:57:17 -04:00
Alex Szpakowski
2dd80fcb49
Fixed a compiler warning...
2016-02-14 19:52:27 -04:00
Alex Szpakowski
7ea259e38b
Optimize constructing a Variant from a Lua table with a non-zero array size.
2016-02-14 19:24:17 -04:00
Alex Szpakowski
23fcaec89f
The Variant class is now meant to be used on the stack instead of allocated on the heap. As a result (and because of related changes), performance of Channels has roughly doubled when pushing and popping most types.
2016-02-14 16:39:32 -04:00
Alex Szpakowski
46a2e7b85c
Happy new year! 🎉
2016-01-01 00:05:06 -04:00
Alex Szpakowski
2c4e713114
Imported some of the dynamiccore branch from love-experiments:
...
- Type names for love's Lua objects are specified as an argument to luax_register_type, rather than being statically defined in an array.
- luax_register_type takes a variable number of method array arguments, for registering superclass methods without copying them into the subclass' method array.
Also removed most of the header declarations for wrapper functions.
2015-11-29 20:38:12 -04:00
Alex Szpakowski
7265f891de
Improved support for non-PVRTC compressed texture formats in .pvr files.
2015-11-28 10:33:17 -04:00
Alex Szpakowski
e979455772
love.event.quit now accepts a single (optional) argument, which is used as the program's exit status number. Resolves issue #1070 .
2015-08-25 17:12:59 -03:00
Bart van Strien
c15f4b5f26
Modify __tostring so it also shows a pointer, like lua does for tables
...
This should make it easier to identify unique objects.
Also modified internal code relying on tostring behaviour, and it should now
call its type method instead.
2015-08-01 19:55:41 +02: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
33d20620b5
The Proxy struct now stores an actual love::Object pointer (rather than void*), which makes code using Proxies a bit cleaner.
...
--HG--
branch : minor
2015-02-21 20:52:29 -04:00
Alex Szpakowski
c7b45b3505
Updated copyright for the new year
2014-12-31 19:32:43 -04: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
3120a0e650
Goodbye 2013, hello 2014!
2014-01-03 17:28:58 -04:00
Alex Szpakowski
1be8ac5be4
Removed some unused functions and fixed up some wrap_ headers
2013-09-26 00:48:48 -03:00
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
719e9253da
Fixed a compiler warning
2013-07-15 13:22:47 -03:00
Bart van Strien
98d92d3e1f
Add support for "flat" tables to Variant.
...
This means you can now use Variants (used by Channels and love.event, for instance) to send tables as long as they only contain keys and values supported by Variant, AND they are not tables themselves.
2013-07-15 11:53:24 +02:00
Alex Szpakowski
bcc85f884e
ImageData:mapPixel can now take optional x,y,w,h parameters to constrain it to a rectangle in the ImageData
2013-07-11 01:10:19 -03:00
Alex Szpakowski
35b4f03411
Fixed thread:start crashing with nil arguments
2013-07-10 17:41:54 -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
Bill Meltsner
be55579a22
Happy New Year, have an enormous diff
2012-01-09 02:41:11 -06:00
Bart van Strien
083dd11185
Switch to a custom event system, where SDL pumps into
...
To do this we needed to take ThreadVariant out of love.thread, and move it to common.
This also changes event names, instead of 1/2-letter abbreviations, full names!
2011-12-13 17:50:38 +01:00