Daniel Rakos
01606fa212
Optimizations to the generated bindings
...
This change gets rid of the call-time method binding query, instead it queries
all method bindings up-front at initialization time so that no extra cost is
added at function call time.
In addition, also converted the "icall" code to a header-only library so one
level of unnecessary call-stack is eliminated.
Also changed binding generator to use real_t instead of double everywhere
(except at the GDNative interface where unfortunately using doubles is hard-coded
on the engine side).
All this comes at a minimal increase in binary size (for the library, as actual
native modules might not even increase in size in practice).
2019-04-10 16:51:51 +02:00
Bastiaan Olij
f0fe88bd36
Merge pull request #260 from aqnuep/basis_convention
...
Make Basis look column-major while retaining a row-major representation
2019-04-10 21:57:03 +10:00
Bastiaan Olij
65b3bcc833
Merge pull request #261 from Calinou/improve-buildsystem-2
...
Fix and improve the build system
2019-04-10 21:55:38 +10:00
Daniel Rakos
abccf9a050
Make Basis look column-major while retaining a row-major representation
...
Per https://github.com/godotengine/godot/issues/14553 :
Godot stores Basis in row-major layout for more change for efficiently
taking advantage of SIMD instructions, but in scripts Basis looks like and
is accessible in a column-major format.
This change modifies the C++ binding so that from the script's perspective
Basis does look like if it was column-major while retaining a row-major
in-memory representation. This is achieved using a set of helper template
classes which allow accessing individual columns whose components are
non-continues in memory as if it was a Vector3 type. This ensures script
interface compatibility without needing to transpose the Basis every time
it is passed over the script-engine boundary.
Also made most of the Vector2 and Vector3 class interfaces inlined in the
process for increased performance.
While unrelated (but didn't want to file a separate PR for it), this change
adds the necessary flags to have debug symbol information under MSVC.
Fixes #241 .
2019-04-08 16:28:41 +02:00
Hugo Locurcio
976a188837
Fix and improve the build system
...
- Fix automatic architecture detection
- Fix compiling with MinGW on Linux
- MinGW on Windows is still not working though
- Default to Clang on macOS
- Remove redundant `use_custom_api_file` option
- Format SConstruct using Flake8
This closes #245 .
2019-04-07 15:40:49 +02:00
Bastiaan Olij
df04c4097f
Merge pull request #259 from BastiaanOlij/update_3.1_stable
...
Synced with Godot 3.1 stable
2019-04-07 17:05:48 +10:00
Bastiaan Olij
459d3d28e4
Synced with Godot 3.1 stable
2019-04-07 17:59:53 +10:00
Bastiaan Olij
c714f99376
Merge pull request #235 from lzubiaur/fix-osx-arch
...
Set default arch to 64bits for osx platform
2019-04-07 15:48:22 +10:00
Thomas Herzog
05e5f5cd5e
Merge pull request #243 from PoignardAzur/patch-1
...
Add instructions to use submodules
2019-03-13 16:51:53 +01:00
Olivier FAURE
a76df5c7d1
Add instructions to use submodules
...
Git submodules are a little tricky to use, but are the default
way to go when adding a github project as a dependency in C++.
Add instructions on how to add godot-cpp as a dependency when
working from an existing repository.
2019-03-13 15:56:53 +01:00
Thomas Herzog
422140dd61
Merge pull request #242 from touilleMan/correct-makefile-args
...
Fix Makefile platform and bits arguments passing to scons
2019-03-10 19:33:49 +01:00
Emmanuel Leblond
0fa4ad290d
Fix Makefile platform and bits arguments passing to scons
2019-03-10 12:38:55 +01:00
Thomas Herzog
cfb4dcfad2
Merge pull request #239 from Calinou/use-markdown-license
...
Use Markdown format for the license
2019-02-25 08:41:42 +01:00
Hugo Locurcio
45a9f58f5e
Use Markdown format for the license
2019-02-24 15:57:29 +01:00
lzubiaur
e0295d7cd4
Set default arch to 64bits for osx platform
2019-02-12 08:32:26 +09:00
Thomas Herzog
2a4e82b77e
Merge pull request #229 from arimus/binding-typename-fix
...
escape 'typename' keyword, which is causing errors when generating bindings
2019-02-04 08:46:19 +01:00
David Castro
30500632b1
escape 'typename' keyword, which is causing errors when generating bindings
2019-02-03 17:55:16 -08:00
Bastiaan Olij
262d53c05e
Merge pull request #221 from bruvzg/rect2_pos
...
Renamed Rect2::pos to Rect2::position
2018-12-28 20:19:44 +11:00
bruvzg
aad175aa09
Renamed Rect2::pos to Rect2::position
2018-12-13 11:10:25 +02:00
Bastiaan Olij
342593c78d
Merge pull request #187 from Acclution/cmake
...
Added cmake build script
2018-12-04 21:58:26 +11:00
Acclution
7a22fd0a78
Updated cmake to the new nativescript 1.1
2018-12-02 22:14:26 +01:00
Bastiaan Olij
a3b936d3b6
Merge pull request #210 from bruvzg/fix_custom_subclass_tags
...
Fix tags/cast_to for custom subclasses.
2018-12-03 07:48:19 +11:00
Bastiaan Olij
607b8326a3
Merge pull request #214 from marcelofg55/scons_improv_mf
...
Improvements on SConstruct arch detection
2018-12-02 09:29:07 +11:00
Marcelo Fernandez
2500f308a9
Improvements on SConstruct arch detection
2018-11-28 14:19:50 -03:00
Bastiaan Olij
bcc39bbf4b
Merge pull request #212 from BastiaanOlij/fix_sconstruct
...
Fixing a few typos in SConstruct
2018-11-28 11:06:32 +11:00
Bastiaan Olij
d3d78df0b5
Fixing a few typos in SConstruct
2018-11-28 11:05:27 +11:00
bruvzg
0af05a45ce
Fix tags/cast_to for custom subclasses.
2018-11-28 00:08:45 +02:00
Bastiaan Olij
295950efd4
Merge pull request #208 from willnationsdev/scons
...
Replace ARGUMENTS with opts.Add/env and some cleanup
2018-11-28 08:52:38 +11:00
Bastiaan Olij
6fb835c312
Merge pull request #174 from marcelofg55/profiling_data
...
Profiling support
2018-11-28 08:50:42 +11:00
Marcelo Fernandez
209dd56cb0
Profiling support
2018-11-27 09:45:56 -03:00
Bastiaan Olij
f4476351f0
Merge pull request #207 from bruvzg/more_nulls
...
Fix NULL dereferencing in get_from_variant and cast_to
2018-11-27 09:25:47 +11:00
bruvzg
be5a012ff7
Fix NULL dereferencing in get_from_variant and cast_to
2018-11-26 08:11:31 +02:00
Will Nations
7dff130849
Replace ARGUMENTS with opts.Add/env and some cleanup
2018-11-25 23:29:30 -06:00
Bastiaan Olij
5225ab2bac
Merge pull request #206 from BastiaanOlij/add_clang_format
...
Implementing clang-format and applying it to all classes
2018-11-26 11:24:59 +11:00
Bastiaan Olij
fc20fa3fce
Implementing clang-format and applying it to all classes
2018-11-24 09:09:41 +11:00
Bastiaan Olij
0a6f5d052a
Merge pull request #205 from BastiaanOlij/advance_godot_headers
...
Hopefully last time for awhile, new godot_headers
2018-11-24 07:58:22 +11:00
Bastiaan Olij
73b661cd6c
Hopefully last time for awhile, new godot_headers
2018-11-24 07:56:19 +11:00
Bastiaan Olij
1d3dbf2c51
Merge pull request #204 from bruvzg/fix_ref_2_variant
...
Fix NULL pointer dereferencing on uninstantiated Ref<T>() conversion to Variant
2018-11-24 07:54:02 +11:00
bruvzg
c2b59773af
Fix NULL pointer dereferencing on uninstantiated Ref<T>() conversion to Variant
2018-11-22 23:41:33 +02:00
Bastiaan Olij
f10ce0a6be
Merge pull request #203 from BastiaanOlij/new_godot_headers
...
Update submodule to latest godot_headers
2018-11-22 22:24:03 +11:00
Bastiaan Olij
e7de09f1ce
Update submodule to latest godot_headers
2018-11-22 22:23:24 +11:00
Bastiaan Olij
5ce458b50a
Merge pull request #202 from BastiaanOlij/redo_190
...
Redid PR 190 for master now that nativescript 1.1 has been merged
2018-11-22 22:19:17 +11:00
Bastiaan Olij
d7982cfac3
Redid PR 190 for master now that nativescript 1.1 has been merged
2018-11-22 22:14:28 +11:00
Bastiaan Olij
8ffda12b83
Merge pull request #201 from bruvzg/ptrcall_fix_null_args
...
Fix passing NULL pointers as arguments via ptrcall
2018-11-22 21:29:44 +11:00
bruvzg
715d1dc82b
Fix passing NULL pointers as arguments via ptrcall
2018-11-19 22:40:31 +02:00
Bastiaan Olij
5f3d6bc233
Merge pull request #198 from bruvzg/fix_str_find_and_cmp
...
Add missing String::find from argument, and missing String::casecmp_to functions
2018-11-19 21:29:39 +11:00
Bastiaan Olij
cec7c2a223
Merge pull request #197 from bruvzg/fix_icall_int64_and_tagbd_reg
...
Fix ptrcall int size and TagDB registration for classes with "_" in the name.
2018-11-19 21:29:03 +11:00
Bastiaan Olij
e83fd994f8
Merge pull request #199 from BastiaanOlij/fix_xform
...
Redid kirsanium xform fix
2018-11-19 21:20:18 +11:00
Bastiaan Olij
987cca0d4d
Redid kirsanium xform fix
2018-11-19 21:16:01 +11:00
bruvzg
39445f144c
Add missing String::(r)find(n) form argument
...
Add missing String::(*)casecmp_to functions
2018-11-18 14:37:06 +02:00