Commit Graph

92 Commits

Author SHA1 Message Date
Lynix 9206cf65b5 Lua/LuaInstance: Optimize the T& method(...) case
Instead of instancing a new T from Lua, the original userdata is now
returned
2016-10-27 11:28:34 +02:00
Lynix 5ffc5a8784 Lua/LuaClass: Don't remove instance from the Lua stack
The instance Lua entry now remains as the first index, shifting all the
parameters indexes by 1
2016-10-27 11:22:35 +02:00
Lynix b5a32d7eb2 Lua/LuaClass: Fix static methods 2016-10-25 13:14:16 +02:00
Lynix fa7d6a10b0 Lua/LuaInstance: Fix PushInstance memory corruption
Whoops
2016-10-25 13:10:12 +02:00
Lynix bf31ee289e Lua/LuaInstance: Add mutli-arg Push() 2016-10-24 14:25:02 +02:00
Lynix 46e4bb41b5 Lua/LuaClass: Fix global table 2016-10-24 13:45:42 +02:00
Lynix 55a010e0de Lua/LuaClass: Fix compilation 2016-10-21 17:39:04 +02:00
Lynix 511ded215b Lua/LuaClass: Fix compilation 2016-10-21 17:32:20 +02:00
Lynix d6b6e26d31 Lua/LuaClass: Reference the destructor only if the class has one
Allows to bind classes with deleted destructors
2016-10-21 17:24:45 +02:00
Lynix 3f7f12b625 Lua/LuaClass: Refactor Register() implementation 2016-10-21 16:50:49 +02:00
Lynix 0c6f7131a6 Lua/LuaInstance: Fix warning when using default parameters 2016-10-21 01:58:37 +02:00
Lynix 3c29bfe516 Lua/LuaInstance: Make ArgCheck and ArgError const 2016-10-20 23:44:12 +02:00
Lynix baf4cb0e16 Lua/LuaClass: Add Reset method and default constructor 2016-10-19 22:48:46 +02:00
Lynix 64785dca17 Lua/LuaInstance: Fix move constructor/operator
Former-commit-id: 172608ac5683f594243248017e3abf7f0e2066c9 [formerly d5deec47e4ab121f61ffe7aaea5aa6a7f6774c9e] [formerly 52e490fac2b7003bf64b4eac0cf7e36ce4da46e5 [formerly b64145eecf4cb5c2db1e0e2e780440af8bcb05e7]]
Former-commit-id: ad3eec1403fdec906a6495c675dee0407cb75d9b [formerly 3f76ca985a58fcf13c248d438538139e843d05f7]
Former-commit-id: 3789b4eb068b2fece669f3a5804d0015ba2e806f
2016-10-04 17:08:45 +02:00
Lynix d7b7135e27 Lua/LuaClass: Fix argument count via GetStackTop (Close #75)
Former-commit-id: 3a0e60a6e7ec7c85ff5f179cc84a468d8c0682f4 [formerly f0712658e69c7ced1fa46f8878f96776d6b36567] [formerly 3035b072473d17863c3c0f6950451ccf582c107e [formerly fe3cbf8a2cf87cf6cc3d3e8577011159bff04387]]
Former-commit-id: df8812d712d28efc2bc83258df53dcb21bbb4b2d [formerly 6d2d8773c96d406690bd5cfc19cef7d1706ff6fc]
Former-commit-id: 461fec0cc2dd99690a3de10436730514712beb73
2016-10-03 19:49:43 +02:00
Lynix e63e5754b9 Lua/LuaInstance: Improve code
Former-commit-id: a998449fae2d50541ab4c5d1c68d9dff4e7238a6 [formerly a5734fdf64bc9d8acbe1d0923d70ddc553b3a14b] [formerly 4da841f9961603fffdf6c1112610d082db361ce7 [formerly d9cea98d520bef475ea472b4b0eceb5881ee6c90]]
Former-commit-id: be40337660be3bc317c4f2def0e301ac2e0a0834 [formerly b08c4c9ca758ccdd92ad0f6fbbbd5a5f7ea70b58]
Former-commit-id: 32908cf086667a25ea718f62a240d0d44628b016
2016-09-04 19:58:22 +02:00
Lynix 303fe658cf Lua/LuaInstance: Add move constructor/operator
Former-commit-id: 8d5b28036983597b7b0fc324aa3795d25a9719b8 [formerly f4b8d4e3a69c0af27d909d9efd75b6480ab10126] [formerly f4574b549cc7645cdabb6d2aacb630090648753c [formerly 3ea26bacc97d0e3bd3ca69aabd29f243d07fb869]]
Former-commit-id: 40f99457abbf7ed6a24760c2e62e3750d7866315 [formerly 6b881febbb5a07ab25b3e5e3580f9b8717a454d7]
Former-commit-id: a5d8a7c3f8731c4dd9d3b059ebf04cd1598dacc7
2016-08-28 19:03:43 +02:00
Lynix 819b46f5fc Fix a shitload of warnings in 64 bits mode
Former-commit-id: c7792a7d5b1f85ab934da25324831b9daa3f47ff [formerly 3469974c48432be1f65808bff0ea39d9e22f5b50]
Former-commit-id: 5080815e9e1a3aebe237ff9a291b908ce0292eca
2016-06-13 21:09:55 +02:00
Lynix 3e78dd40ad Fix some GCC warnings
Former-commit-id: b3292fcfd4d029793cb70f97ab608aeb7d0579ef
2016-05-25 13:52:10 +02:00
Lynix 8700b21a96 Lua/LuaInstance: Add missing include
Former-commit-id: b2156b2c9cf515900c0e37f379104ffc6767a7e7
2016-04-25 18:33:28 +02:00
Lynix 24a8fcee01 Optimize Lua binding
Optimize binding by removing a useless extra indirection and allowing to
move replying variables


Former-commit-id: 76728df1c3ab9a38a4304ae2b9f2fc6a000e0ebb
2016-04-24 19:54:46 +02:00
Lynix 6d66063b2c Core/MemoryHelper: Improve PlacementNew interface
Make it possible to deduce type from arguments


Former-commit-id: ed25b667fcacefcc39fddcb941ea11c40e6ce22b
2016-04-24 19:48:12 +02:00
Lynix 346e9d7081 Sdk/Binding: Fix binding initialization
Former-commit-id: e9dde83bcd950bf3a8f3665f88d253ef6e71ffc2
2016-04-23 22:38:47 +02:00
Lynix ab8e851f6f Lua/LuaInstance: Fix pushing some types
Former-commit-id: eb74d0d039aa0919c81684b0abd3d2aa2d471cad
2016-04-23 22:19:08 +02:00
Lynix 7b10bbaab0 Lua/LuaInstance: Rename automatic SetField/SetGlobal to PushField/PushGlobal
Former-commit-id: add576baa5ee7c12121925b5b4fb5fc37fe85042
2016-04-23 22:18:43 +02:00
Lynix 9ea9137c21 Lua/LuaClass: Rename Set[Static]Method to Bind[Static]Method
Former-commit-id: fee2269cb12a621443715946602827cbfc5efc42
2016-04-16 18:48:27 +02:00
Lynix e447b6c928 Lua/LuaInstance: Fix defaulting floating point
Former-commit-id: 2e12b456c7e998253d58100948c9b069a00abca4
2016-04-01 18:55:17 +02:00
Lynix b331d66c70 Lua/LuaClass: Add possibility to set up a custom converter
Former-commit-id: 96cf62a16845b5cf44d5724bfd3b9e5b7672ad03
2016-03-30 18:16:05 +02:00
Lynix b6ea30f9c1 Lua/LuaClass: Add a default ToString implementation
Former-commit-id: ff6c9cf1d18d34ad8fd7b03c970eec2da5ba0947
2016-03-30 18:15:17 +02:00
Lynix 9390ce35b3 Lua/LuaInstance: Add automatic conversion of std::vector
Former-commit-id: 31b32f9c4b9ccd825f2d08ea8499211040a0b9ab
2016-03-30 18:06:18 +02:00
Lynix bf288e7f06 Lua/LuaInstance: Fix crash with invalid objects
Former-commit-id: 398ce80f268308489637c237245dae0ec40366b9
2016-03-30 18:05:28 +02:00
Lynix a8303d8d24 Lua/LuaInstance: Fix enum querying
Former-commit-id: 7fa25a981425694108767ce3a9b56b8e155476a4
2016-03-30 18:05:11 +02:00
Lynix 308b297a46 Lua/LuaInstance: Set SetTable as const
Former-commit-id: d480e243ddaf6fb6a016fde9ad9642b82e4703fe
2016-03-30 17:50:48 +02:00
Lynix dff6e855e4 Fixes compilation on GCC
Former-commit-id: 1829fa37830618bd9b14e7bfa5d935c886213589
2016-02-24 14:12:45 +01:00
Lynix d7ab29e5ef Fix and improve last PR
Former-commit-id: 16afead68e42411402dfb5a7bd957a4940b6f83a
2016-01-24 15:20:14 +01:00
GigAnon 8bfd879d87 Nz::ranged_cast
- Moved ranged_cast template function to namespace Nz in file
LuaInstance.hpp
- Added comments


Former-commit-id: 9af0a680b693208e582eb4edbe5a65f996d70a4a
2016-01-21 20:12:37 +01:00
Lynix 9d210eb2ff Lua/LuaInstance: Cleanup
Former-commit-id: 031e810caf968700d5bd8b2c51698f110c6559af
2016-01-21 13:06:44 +01:00
Lynix 14f4291c7c Lua/LuaClass: Fix arguments for methods
Former-commit-id: fc3ec0b3f47185edb74abe1eb54af8722844a6f5
2016-01-21 13:05:43 +01:00
Lynix 39f2c4eb07 Lua/LuaInstance: Resolve ambiguous overload
Former-commit-id: 581b56a8e83f67b4f44413b7c4e75071e77cf0f5
2015-12-18 13:26:08 +01:00
Lynix 163e73f5d2 Lua: Some fixes
Former-commit-id: 6db68a9c5e29a81fdd590bd11167841dda780af1
2015-12-17 14:20:33 +01:00
Lynix 52599132a7 Lua/LuaInstance: Add [Check|Set][Field|Global] helpers
Former-commit-id: 4c6cb6097a28daa9099b3f00c201e49ec850c320
2015-12-17 13:47:25 +01:00
Lynix ee2626b928 Lua: Optimize binding
Former-commit-id: 647a1731f75098b4a8b8f8785e683533931e085a
2015-12-17 13:41:13 +01:00
Lynix 4c72e27784 Lua/LuaClass: Add pointer objects support
Former-commit-id: b4cf6fb6674278ed341a27d2a8e432845531a333
2015-12-13 16:35:42 +01:00
Lynix 2c79e5f4e0 Lua/LuaInstance: Add PushInstance
Former-commit-id: 0e65124d5920a1b5ea3c644e496ae58ddee1cd8e
2015-12-13 04:40:50 +01:00
Lynix 83bd028e8f Lua/LuaClass: Add inheritance (first implementation)
Former-commit-id: 6c7f8d7dace5c857ae71958e15cc13d6a6f9ccb2
2015-12-13 03:29:57 +01:00
Lynix bfabf0cd5e Lua/LuaInstance: Add support for multi-arg conversion
Allows to convert 3 numbers to a single Vector3 argument (Yup, I'm
working on it)


Former-commit-id: 56766e8b3821c7c4aa44036306c6bcbe658554bb
2015-12-10 23:51:19 +01:00
Lynix 4a71fb2922 Lua/LuaClass: Fix parameters sent to Getter/Setter
Former-commit-id: 7ca17fab640f8fb0c5836f8c1ae6186873d645f2
2015-12-10 14:09:13 +01:00
Lynix 11abcc7da4 Lua/LuaInstance: Fix compilation under Clang/GCC
A big thank to gbdivers on this one


Former-commit-id: f96a61ef101b7c9512ada719c82b0836aed3738b
2015-12-09 16:34:50 +01:00
Lynix 688aed0160 Lua: Fix typo
Former-commit-id: 59511a3b013e2aaccf1521bfff34fca1d22d1b7c
2015-12-09 15:23:43 +01:00
Lynix d2584b7c33 Lua: Add support for default arguments
Former-commit-id: a319bcadf39b7e1633aaa23f360059a1f7449590
2015-12-09 15:11:57 +01:00