Commit Graph

343 Commits (2a152860600033d03fd01f1dbaa04c36105380a5)

Author SHA1 Message Date
Gary Oberbrunner a6689b2132 Make all Pool*Array::operator[] as const
This is needed since that operator returns a local copy, not
an lvalue. Attempting to write to the return value of these operators
wouldn't change the array element. PoolVectors need locking when
writing, so this operator can't return a writable reference.

To update a Pool*Array, use the `set()` method which locks and unlocks
the array. For multiple writes, use the `write()` method which returns
a locked writable view, and unlocks when it goes out of scope.
2018-03-13 11:00:25 -04:00
danielytics e74b8f593e adds variadic printing function, makes String.format custom placeholder work 2018-03-07 12:21:33 +00:00
danielytics 01db553c49 adds Array::make and Dictionary::make static methods and has variadic template functions use those 2018-03-07 10:27:34 +00:00
danielytics c7b03c4132 make register_signal and auto-generated variadic funcitons use variadic templates to streamline their use 2018-03-06 21:36:20 +00:00
karroffel 2343a8a54c fix #101 2018-03-02 19:04:57 +01:00
Nickolai Korshunov a049a34f28 fixed forward decl 2018-02-24 11:13:22 +03:00
Nickolai Korshunov f1c35f24f6 NULL -> nullptr 2018-02-23 16:08:36 +03:00
Nickolai Korshunov e123650d76 Strict enums 2018-02-23 15:50:41 +03:00
Nickolai Korshunov 73a67b16b1 fixed some includes. replace cycle include with forward declaration 2018-02-23 14:56:36 +03:00
Nickolai Korshunov 7adae4673c fixed forward declarations 2018-02-23 14:39:35 +03:00
lupoDharkael 756510563b Add const qualifier to PoolArray's size() 2018-02-12 22:38:25 +01:00
Thomas Herzog d7d814f861
Merge pull request #88 from Zylann/fix_ref_return_leak
Fix Ref leak when using Godot getters
2018-01-26 10:36:58 +01:00
Marc Gilleron ac0679eb1a Fix Ref leak when using Godot getters 2018-01-25 20:55:56 +01:00
Marc Gilleron 8a89a447b2 Fix RID::is_valid() 2018-01-25 01:10:55 +01:00
Marc Gilleron 4f4bb8deff String and math fixes
- Added missing static String constructors
- Implemented String operator for math types
- Added XYZ and YXZ euler angles methods
- Fixed wrong det checks in Basis
- Fixed operator Quat in Basis
2018-01-23 00:24:23 +01:00
Marc Gilleron 3197c3dce3 Rewrite Ref<T> to behave like Godot again 2018-01-22 22:27:10 +01:00
Marc Gilleron 06c61b6535 Added RID::is_valid() and comparison operators
- is_valid() is worked around by comparing a default RID()
2018-01-20 19:37:23 +01:00
karroffel 8c053fc35f allow const getter functions 2018-01-19 11:49:28 +01:00
karroffel 2e4de7b67d Don't leak memory from Ref<>() 2018-01-19 11:40:50 +01:00
Marc Gilleron 07a36732f1 Added copy constructors to PoolArray Read and Write 2018-01-18 22:49:13 +01:00
Marc Gilleron 835233fb71 Added missing copy constructors and assign operators to PoolVectors 2018-01-17 23:58:28 +01:00
Thomas Herzog 02b9b2592a
Merge pull request #67 from Zylann/rename_aabb_position
Renamed AABB::pos --> AABB::position
2018-01-17 08:46:19 +01:00
Thomas Herzog 4eea068b1b
Merge pull request #68 from Zylann/ref_instance
Added Ref<T>::instance()
2018-01-17 08:44:24 +01:00
Thomas Herzog dc2896dc89
Merge pull request #70 from Zylann/fix_register_signal
Fix potential malloc(0)
2018-01-17 08:43:14 +01:00
Marc Gilleron e7202cef8b Fix potential malloc(0) 2018-01-17 02:00:55 +01:00
Marc Gilleron 00f089d7ed Added copy constructors and assignment operators to Array and Dictionary 2018-01-17 01:57:01 +01:00
Marc Gilleron 74e3b4ae23 Added Ref<T>::instance() 2018-01-17 01:54:02 +01:00
Marc Gilleron b9ba10a717 Renamed AABB::pos --> AABB::position 2018-01-17 01:45:48 +01:00
karroffel 7dde412e26 custom types can now be used as method parameters 2018-01-14 23:03:57 +01:00
karroffel e3b20a28a9 Added Read and Write access for PoolArrays 2018-01-11 21:26:37 +01:00
karroffel 5dac1b5887 caller-defined entry methods and string API update 2018-01-11 17:58:06 +01:00
Grosskopf 575b2f4d14 Fixed building
without this, the clang command fails
2017-12-11 16:36:03 +01:00
Bastiaan Olij d8faa4ec76 Added alloc_c_string 2017-11-25 10:22:36 +11:00
BastiaanOlij 0f773c2d72 Update bindings to use new Api extensions and rename Rect3->AABB 2017-11-23 22:50:05 +11:00
Bastiaan Olij 6452ba6e88 Implemented using api struct 2017-10-23 21:20:14 +11:00
Ramesh Ravone 3ddd85d9a2
Fixes #41 2017-10-03 20:40:36 +05:30
Ramesh Ravone 4adf3db60b
String bindings updated (at most) 2017-10-03 16:27:33 +05:30
Ramesh Ravone 10bb24cfbc
updated bindings 2017-10-03 16:07:34 +05:30
Ramesh Ravone 286d2aff03 Fix `_arg_cast`
This has been an issue from the day one,

A lot of people mentioned this on discord too
2017-10-03 08:29:08 +00:00
Maxim Sheronov 8939c663d9 Fix bindings generation for enums 2017-09-13 21:30:30 +03:00
Sergey Kurson 3acd3f8991 Replaced 'char *' with 'const char *' for consistency with C API
Also makes gcc and clang happy
2017-07-27 13:43:53 +03:00
Karroffel c27af379b8 updated to use the new NativeScript and GDNative interface 2017-07-24 17:08:52 +02:00
Thomas Herzog 2195f2e9a8 Merge pull request #20 from GodotNativeTools/static-linking
Use static linking instead of dynamic linking
2017-07-24 04:52:18 +02:00
Karroffel 4769f49cb4 Use static linking instead of dynamic linking 2017-07-23 17:53:50 +02:00
Karroffel ee4ac30b40 template magic 2017-07-23 16:28:37 +02:00
Ramesh Ravone 36561b5853
String operator_plus fix 2017-07-22 19:16:10 +05:30
Karroffel a3bcda958e implement registering const methods
fixes #6
2017-06-21 02:26:06 +02:00
Karroffel e1f3865467 Wohoo, Ref<>s are now working 2017-06-21 02:14:54 +02:00
Karroffel 38f1ee741d some Ref WIP, memory leaks and invalid returns 2017-06-21 00:42:29 +02:00
Karroffel b6ca6a2d8e fixed ArgCast again 2017-06-19 12:05:38 +02:00
Karroffel 1c5eeee512 better Variant casting 2017-06-19 02:26:54 +02:00
Karroffel ac630353cf [experimental] constructors and Ref<T> 2017-06-19 02:03:59 +02:00
Karroffel 99fceb455a updated scripting interface 2017-06-18 14:01:11 +02:00
Karroffel 51d3cecb5e updated scripting interface 2017-06-18 13:35:30 +02:00
Karroffel ebe9d9de6a updated core to new GDNative interface 2017-06-18 13:21:36 +02:00
Karroffel ad3720440e removed InputEvent and Image 2017-05-23 23:03:57 +02:00
Karroffel fad8f7c9eb made script "inheritance" less OOP 2017-05-13 13:55:04 +02:00
Karroffel cf30b0f39d rewrote binding generator in python 2017-05-12 21:53:07 +02:00
Karroffel 3969bcf078 better llvm support 2017-04-18 02:43:04 +02:00
Marc Gilleron 805ca9601f Improve build usage
- Local dependency paths are now grouped in a few vars on top of SConstruct
- Added an option to generate bindings as part of the build
2017-04-18 02:16:57 +02:00
Karroffel ac51c7b141 moved includes out of namespace 2017-04-18 00:38:09 +02:00
Karroffel 005b9aa148 String.c_string() now returns char * 2017-04-11 15:48:26 +02:00
Karroffel e16e2fe308 basic signal support and update binding generation 2017-04-11 03:04:29 +02:00
Karroffel 617057c704 support for script inheritance 2017-04-06 05:05:53 +02:00
Karroffel 5e3b01f0f1 some NodePath fixes and better handling of Object type arguments 2017-04-06 02:32:24 +02:00
Karroffel 63c2b9d474 new macros for entry points, virtual method fix 2017-04-05 17:16:47 +02:00
Karroffel 8aaef5a6a2 use pointers for objects, default arguments 2017-04-05 01:00:33 +02:00
Karroffel c40a9dce51 Added Variant constructor for Object types 2017-04-04 02:28:05 +02:00
Karroffel fe4f8b9581 added support for tool scripts 2017-03-18 19:01:11 +01:00
Karroffel cd1bec5515 added property registration 2017-03-18 16:58:03 +01:00
Karroffel 7fa7f7b9c5 added operator overload for string 2017-03-18 15:23:28 +01:00
Karroffel 80e3e74934 deleted binaries 2017-03-16 01:45:55 +01:00
Karroffel 8d63048c6d Windows compatibility 2017-03-15 23:19:58 +01:00
Karroffel bce9ac109d mistakes were made. I undid them. 2017-03-15 18:13:29 +01:00
Karroffel b098147977 using method data for wrapper methods now 2017-03-14 01:12:55 +01:00
Karroffel 575bb7f339 reworked object system a little bit 2017-03-09 03:03:21 +01:00
Karroffel c772d7f656 added Godot.hpp 2017-03-06 18:39:56 +01:00
Karroffel 632c953e42 buuunch of stuff 2017-03-06 08:49:24 +01:00
Karroffel 92e1f553ec properly implemented core types (c++ wise) 2017-03-06 03:30:46 +01:00
Karroffel a15e7b7189 I hate templates 2017-03-05 03:02:29 +01:00
Karroffel 5762c2f53f Added binding generator 2017-03-04 05:36:31 +01:00
Karroffel 8cbebc3e5d Finished core types (for now, looking at you, Image) 2017-03-04 03:04:16 +01:00
Karroffel 09332ee609 Implemented a bunch of core types. Image needs love 2017-03-03 21:04:23 +01:00
Karroffel 3b6da9ca76 Extended String interface 2017-03-03 04:35:40 +01:00
Karroffel 1d61c9df93 Added Color.h 2017-03-03 04:10:23 +01:00
Karroffel db011d8f2c Added RID.h 2017-03-03 03:48:27 +01:00
Karroffel 15515d10d4 Finished Quat.h 2017-03-03 03:39:56 +01:00
Karroffel 5d543692eb Added Basis.h and stub Quat.h 2017-03-03 03:14:34 +01:00
Karroffel 0cd08a93ec referring to other headers relatively 2017-03-03 02:32:28 +01:00
Karroffel a1cb3d197f Added Vector3.h 2017-03-03 02:30:56 +01:00
Karroffel d39e50ddce Added NodePath.h 2017-03-03 01:07:14 +01:00
Karroffel fb8fc796a4 Added Vector2.h 2017-03-03 00:47:48 +01:00
Karroffel 649bb3d0f5 Added String.h 2017-03-02 23:51:31 +01:00