Commit Graph

991 Commits

Author SHA1 Message Date
Ignacio Etcheverry 18d3ba0c50 Fix getting struct elements from MonoArray (#11978)
* Fix getting struct elements from MonoArray
* Revert undesired change
2017-10-10 00:25:36 +02:00
Ignacio Etcheverry 9b6f65af82 Mono: Make use of ClassInfo's exposed API
- BindingsGenerator only generates exposed classes.
- Fix creation of managed instances of non-exposed classes.
2017-10-09 23:50:06 +02:00
Ignacio Etcheverry 0c2e882210 Adds 'exposed' field to ClassInfo
This field represents if the class is exposed to the scripting API.
The value is 'true' if the class was registered manually ('ClassDB::register_*class()'), otherwise it's false (registered on '_post_initialize').
- Added missing registration of classes that are meant to be exposed.
2017-10-09 23:49:17 +02:00
Ferenc Arn 8ddbd19777 Apply a few recent chages in Quat and Basis to their respective Mono counterparts. (#11899) 2017-10-09 14:49:53 +02:00
Thomas Herzog ea37f44ec8 Merge pull request #11950 from sheepandshepherd/gdnative_property_index
Include property index in GDNative class API
2017-10-09 13:55:36 +02:00
Rémi Verschelde 30a4882cf8 Merge pull request #11910 from hoelzl/pr-python3-mono-build
Fix Python 3 incompatibility in Mono build
2017-10-09 11:00:14 +02:00
Thomas Herzog dc6bb74c46 Merge pull request #11952 from touilleMan/fix-crash-gdnative
[GDnative] fix crash at cleanup time when singleton_gdnatives is not empty
2017-10-09 01:24:21 +02:00
Emmanuel Leblond 6363bcf209
[GDnative] fix crash at cleanup time when singleton_gdnatives is not empty 2017-10-09 00:31:25 +02:00
Ignacio Etcheverry ff28569d16 Fixed IntPtr unboxing (#11949)
- Fix boolean never reset to false
- Fix IntPtr unboxing and cleanup
2017-10-09 00:10:54 +02:00
sheepandshepherd 6f3fffecb3 Include property index in GDNative class API
Needed by properties that share set/get functions. Fixes #10329.
2017-10-08 23:57:06 +02:00
Emmanuel Leblond ce197990bc
[GDnatvie] improve wrapper code generation 2017-10-08 20:51:18 +02:00
Emmanuel Leblond d17951f57e
[GDnative] Add string_name api 2017-10-08 16:47:10 +02:00
Thomas Herzog 7a58c0f9fb Merge pull request #11923 from sheepandshepherd/gdnative_api_json_array
Store GDNative API in array instead of dictionary
2017-10-08 12:53:48 +02:00
Ignacio Etcheverry e5ff814243 Merge pull request #11924 from neikeq/b
Fix dot separated assembly names confused with file extensions
2017-10-07 22:10:02 +02:00
Ignacio Etcheverry eb920406ae Fix dot separated assembly names confused with file extensions 2017-10-07 22:00:35 +02:00
sheepandshepherd 39584f3312 Store GDNative API in array instead of dictionary 2017-10-07 20:17:12 +02:00
Ignacio Etcheverry 5a49106ff4 Merge pull request #11900 from neikeq/a
Fix assembly load hooks and sizeof wrong type
2017-10-07 20:12:25 +02:00
Matthias Hoelzl a6b48c1706 Fix Python 3 incompatibility in Mono build 2017-10-07 15:36:20 +02:00
Rémi Verschelde 84e7bbafb7 Merge pull request #11843 from hoelzl/pr-python3-build
Fix Python 3 build
2017-10-07 10:54:58 +02:00
Ignacio Etcheverry 5ab3537179 Fix sizeof wrong type 2017-10-07 04:22:26 +02:00
Ignacio Etcheverry 9eda9be3cf Fix assembly load hooks 2017-10-07 04:21:55 +02:00
Ignacio Etcheverry 195b12212d Merge pull request #11896 from neikeq/pr-issue-11892
Quote MSBuild arguments
2017-10-07 01:27:06 +02:00
Ignacio Etcheverry 14280ac44b Quote MSBuild arguments. Fixes #11892 2017-10-07 01:21:11 +02:00
Ignacio Etcheverry 85cc879382 Merge pull request #11894 from neikeq/pr-issue-11834
Mono: Make sure editor thread is attached on script reload
2017-10-07 00:47:13 +02:00
Ignacio Etcheverry fdc3de009c Mono: Make sure editor thread is attached on script reload 2017-10-07 00:43:02 +02:00
Ignacio Etcheverry 30328e7dfc Merge pull request #11849 from cart/mono_parent_fields
Mono: support exported parent class fields
2017-10-06 22:36:58 +02:00
Andreas Haas ec2a4da6d6 Merge pull request #11854 from endragor/fix-few-classdb-defs
Add NIL_IS_VARIANT usage to few definitions
2017-10-06 13:09:53 +02:00
BastiaanOlij ce74efacbb Made a few tweaks to the interface 2017-10-06 20:35:55 +11:00
Carter Anderson 19df296351 get parent class fields when updating a CSharpScript's exports
This makes the fields viewable / editable in the inspector
2017-10-05 23:50:48 -07:00
Ferenc Arn 17e89c2c66 Fix mono enabled builds (broken by 3d87b70). 2017-10-05 22:11:10 -04:00
Juan Linietsky 3d87b70f7a Added the set/get_setting function in Editor/Project settings. Renamed has() to has_setting. Fixes #11844 2017-10-05 15:34:34 -03:00
Ignacio Etcheverry 928efe06d6 Merge pull request #11845 from neikeq/music-is-overrated
- Fixed uninitialized local
- Improved msbuild search on Unix platforms
- Add C# script to csproj when attaching it to an object
2017-10-05 19:42:22 +02:00
Andreas Haas b9b9a9f86e Merge pull request #11858 from J08nY/feature/gridmap-used-cells
Add GridMap::get_used_cells. Fixes #11857.
2017-10-05 19:23:04 +02:00
J08nY 16bf0f08ed
Add GridMap::get_used_cells. Fixes #11857. 2017-10-05 15:34:34 +02:00
Ruslan Mustakov 61ddf52983 Add NIL_IS_VARIANT usage to few definitions
The missing usage flag led to GDNative API descriptions containting
arguments with "void" type.
2017-10-05 18:51:22 +07:00
Ignacio Etcheverry 1d309439cb Uninitialized local and domain finalize fixes
- Make sure to run the GC before and after finalizing the scripts domain.
2017-10-05 00:12:36 +02:00
Ignacio Etcheverry df22bbd7ed Add C# script to csproj when attaching it to an object 2017-10-05 00:10:51 +02:00
Ignacio Etcheverry b4d758e067 Add alternative search locations for msbuild 2017-10-05 00:08:38 +02:00
Matthias Hoelzl 727a381fc9 Fix Python 3 build
- Take care of the differences in handling unicode characters in
  `escape_string` (formerly in `editor/SCsub`, now in `compat.py)`.
- Conditionally include `_winreg` or `winreg` in the Mono editor
  module.
2017-10-04 23:21:32 +02:00
Thomas Herzog 454dec2f2f Merge pull request #11806 from touilleMan/gdnative-version-field
[GDnative] add api version field to godot_gdnative_api_struct
2017-10-04 11:57:53 +02:00
Emmanuel Leblond 3e29cb806c
[GDnative] add future-proof next field to godot_gdnative_api_struct (a la Vulkan) 2017-10-04 03:11:41 +02:00
Karroffel 2a4e2b5378 [GDNative] added API struct wrapper generator
Previously functions of the GDNative API were accessed by letting
the loader at load-time resolve the symbols. This causes troubles on
Windows (...sigh...), so now the GDNative API isn't exported anymore.

This means, that a library that wants to call a GDNative function
needs to access it via a struct of pointers that's passed to it at
right after the library was loaded. To make the usage easier, those
function pointers in the struct can be wrapped in actual function in
the global scope. This commit adds a generator for that wrapper code.
2017-10-03 23:26:39 +02:00
Andreas Haas a848fa6cde Merge pull request #11789 from djrm/pr_visual_improvements
Added correct initialization for script editor theme.
2017-10-03 19:56:14 +02:00
Emmanuel Leblond 0d41be3790
[GDnative] add api version field to godot_gdnative_api_struct 2017-10-03 18:08:34 +02:00
Thomas Herzog c5ab18f33e Merge pull request #11792 from touilleMan/gdnative-json-api
[GDnative] autogenerate gdnative_api_struct.h from a json
2017-10-03 14:37:04 +02:00
Nathan Lovato cc40784728 Merge pull request #11653 from bojidar-bg/doc-vscript-1
[DOCS] Document some of the VisualScript classes
2017-10-03 11:58:06 +02:00
Bojidar Marinov 10469c1962
Document some of the VisualScript classes. 2017-10-03 12:01:53 +03:00
Emmanuel Leblond cdc29926af
[GDnative] replace gdnative_api_struct.h by a json-based autogenerated system 2017-10-03 09:48:52 +02:00
Daniel J. Ramirez bb69855f1a VS now supports white themes. 2017-10-02 21:31:32 -05:00
Daniel J. Ramirez 6d874ea685 Added correct initialization for script editor theme.
Some style fixes for VS interface.
2017-10-02 18:33:42 -05:00
Ignacio Etcheverry e36fb95c50 Added mono module 2017-10-03 00:01:26 +02:00
Andreas Haas 29b44801b2 Merge pull request #11658 from BastiaanOlij/mobile_vr
Reintroduce generic mobile vr interface
2017-10-02 23:13:21 +02:00
Andreas Haas 5303efb2fa Merge pull request #11659 from AndreaCatania/prephysics
Renamed fixed_process to physics_process
2017-10-02 23:10:36 +02:00
Poommetee Ketson e8f0817eac Merge pull request #11724 from marcelofg55/visualscript_crashfix
VisualScript crashfix when returns are too few
2017-10-02 23:40:44 +07:00
Emmanuel Leblond c55b8217ab
[GDnative] Add active_library_path to init options struct 2017-10-02 13:45:47 +02:00
Emmanuel Leblond c11c951871
[GDnative] Add binding to GDNativeLibrary::get_active_library_path 2017-10-02 13:25:53 +02:00
Gilles Roudiere d10e5eabed Merge pull request #11719 from toger5/svg_color_convert_alpha
keep alpha when converting svg colors fixes #11289
2017-10-01 22:38:57 +02:00
Hein-Pieter van Braam 6c15c23889 Replace a OPCODE_BREAK with break in opcode 31
This was a mistake made in 520d84e. There are no more other looping
structures left in this function.
2017-10-01 16:51:05 +02:00
AndreaCatania 4537977d6d Renamed fixed_process to physics_process 2017-09-30 16:19:07 +02:00
Marcelo Fernandez 57ef77376f VisualScript crashfix when returns are too few 2017-09-30 11:18:50 -03:00
toger5 b3826901c7 keep alpha when converting svg colors fixes #11289 2017-09-30 14:48:41 +02:00
Juan Linietsky 0a5799fb43 Properly allow completion on variable initializer arguments, closes #9359 2017-09-29 19:43:31 -03:00
BastiaanOlij ca4f055db0 reintroduce generic mobile vr interface 2017-09-28 22:44:41 +10:00
Rémi Verschelde da144fed4c Merge pull request #11617 from groud/fix_bad_display
Fixes bad display
2017-09-27 22:15:00 +02:00
Scayze 0722df4829 Fixed wrong break statement in GDFunction::call 2017-09-27 03:23:39 +02:00
Gilles Roudiere 6f185cc9f7 Remove unecessary anchors&margins set causing bad display (sons of containers) 2017-09-27 00:38:28 +02:00
Rémi Verschelde f577efd47e Merge pull request #11424 from groud/control_node_presets
Implements set_margins_preset(...)
2017-09-26 00:11:46 +02:00
Rémi Verschelde c79fc6716e Merge pull request #11518 from hpvb/gdscript-direct-dispatch
Some more GDScript performance optimizations
2017-09-25 23:25:42 +02:00
Rémi Verschelde 78aa7b382a Merge pull request #11567 from QuLogic/scons-var-types
Add types to scons command-line options
2017-09-25 22:44:05 +02:00
Rémi Verschelde dae02a9041 Merge pull request #11580 from endragor/ios-export
Enhance iOS export
2017-09-25 22:23:49 +02:00
Juan Linietsky c5da28f24c Fixed constness of variant functions, as well as visual script sequence ports. Closes #11258 2017-09-25 17:09:27 -03:00
Elliott Sales de Andrade 3e69d19116 Use BoolVariable in platform-specific options. 2017-09-25 14:36:30 -04:00
Elliott Sales de Andrade 5be675eb03 Use BoolVariable for module options. 2017-09-25 14:36:30 -04:00
Elliott Sales de Andrade 45a9a680a3 Use BoolVariable for third-party options. 2017-09-25 14:36:30 -04:00
Elliott Sales de Andrade ffab67b8da Use BoolVariable in target/component/advanced options. 2017-09-25 14:36:02 -04:00
Ruslan Mustakov f5b3b24c22 Enhance iOS export
- The export process now builds complete .ipa on macOS, instead of just
   creating XCode project.

 - The project includes Capabilities games usually require: Game Center,
   Push Notifications, In-App Purchase.

 - Icons and launch screens can be specified in export preset.
2017-09-26 00:18:08 +07:00
Hein-Pieter van Braam 0a338a28d9 Remove several checks on DEBUG_RELEASE
These errors shouldn't be possible on a tested game. Remove the checks
on release. Shaves about 10% off of tight loops.
2017-09-25 18:29:18 +02:00
Hein-Pieter van Braam 520d84e042 Use computed goto to dispatch next opcode
On compulers that define __GNUC__ use computed goto to directly dispatch
the next instruction rather than going through another switch statement.
This saves a jump and some comparisons.

In tight loops this is is roughly 10% faster than the switch() method.
2017-09-25 18:29:13 +02:00
Elliott Sales de Andrade 00c03bdd2b Add support for OpenSSL 1.1.0.
This release hides many struct members which provides easier forward
compatibility but is a break from previous releases. A few small macros
provide compatibility between both 1.1.0 and 1.0.x.

Fixes #8624.
2017-09-24 02:11:02 -04:00
Marcelo Fernandez 46af050e93 Rename get_position => get_playback_position and seek_pos => seek on audio classes 2017-09-23 16:55:00 +02:00
Gilles Roudiere 05bb8e0c10 Remove set_area_as_parent_rect and replace it by set_anchors_and_margins_preset(PRESET_WIDE) 2017-09-22 11:39:44 +02:00
Rémi Verschelde be60689812 Merge pull request #11461 from hpvb/add-likely-macros
Implement Linux-style likely()/unlikely() macros
2017-09-22 09:15:45 +02:00
Ross Hadden 1a97d6455d Fixed a bunch of typos, including an error code. 2017-09-21 23:58:29 -04:00
Hein-Pieter van Braam 22358babda Implement Linux-style likely()/unlikely() macros
This implement branch prediction macros likely() and unlikely() like in
Linux. When using these macros please ensure that when you use them the
condition in the branch really is very, very likely or unlikely. Think
90+% of the time. Primarily useful for error checking. (And I implement
these macros for all our error checking macros now)

See this article for more information:
https://kernelnewbies.org/FAQ/LikelyUnlikely

There are more places where these macros may make sense in renderer and
physics engine. Placing them will come in another commit down the line.
2017-09-21 18:28:28 +02:00
letheed 5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Ruslan Mustakov 52cb4ec232 Do not compile Recast for Android
At least this makes Godot compile for Android until there is a better
solution.
2017-09-20 12:57:33 +07:00
Rémi Verschelde 752a116847 Merge pull request #11256 from djrm/pr_visual_improvements
Visual improvements and new look for VS
2017-09-19 23:44:09 +02:00
Hein-Pieter van Braam 833c3917b2 Allow booleanization of all types
We now allow booleanization of all types. This means that empty versions
of all types now evaluate to false. So a Vector2(0,0), Dictionary(),
etc.

This allows you to write GDScript like:
if not Dictionary():
  print("Empty dict")

Booleanization can now also no longer fail. There is no more valid flag,
this changes Variant and GDNative API.
2017-09-19 18:55:31 +02:00
Rémi Verschelde 33e1716f13 Merge pull request #11402 from hpvb/remove-gdscript-checks-on-release
Various GDScript performance tweaks
2017-09-19 15:48:14 +02:00
Rémi Verschelde ba4439c491 Merge pull request #11386 from kosz78/fix-msvc-compile-errors
Fix MSVC compilation errors
2017-09-19 14:58:19 +02:00
Konstantin Zaitsev 28dc30cd59 Change structure order for godot nim compatibility 2017-09-19 11:35:51 +07:00
Konstantin Zaitsev c386a02654 Fix MSVC compilation errors 2017-09-19 10:33:07 +07:00
Hein-Pieter van Braam 60790c8c5a Remove more GDScript runtime checks on release
As a preparation for other performance enhancements to GDScript:call()
start by removing more of the GDScript runtime checks on release.

This code has been tested with 2d/platformer, 3d/platformer,
3d/materials_test, and goltorus. No regressions were found.
2017-09-19 02:06:47 +02:00
Hein-Pieter van Braam 137f8a58a8 Move Variant::evaluate() switch to computed goto
In an effort to make GDScript a little faster replace the double
switch() with a computed goto on compilers that set __GNUC__. For
compilers that don't support computed goto it will fall back to regular
switch/case statements.

In addition disable using boolean values in a mathematical context. Now
boolean values can only be compared with other booleans. Booleans will
also no longer be coerced to integers.

This PR replaces #11308 and fixes #11291
2017-09-17 22:49:23 +02:00
Thomas Herzog 259778ce8c Merge pull request #11296 from touilleMan/gdnative-api-struct
[GDnative] pass api as struct of function pointers to loaded gdnative modules
2017-09-17 20:59:46 +02:00
Emmanuel Leblond 8d57a3f3d5
[GDnative] Use X macro to define godot_gdnative_api_struct and it instantiation 2017-09-17 18:33:08 +02:00
Emmanuel Leblond e4c9f8895e
[GDnative] create godot_gdnative_api_struct and pass it to godot_gdnative_init_options 2017-09-17 16:13:14 +02:00
Rémi Verschelde c74bab66aa Merge pull request #11274 from Rubonnek/keep-argument-names-consistent
Renamed function arguments to keep them consistent between declaration and implementation
2017-09-17 12:53:48 +02:00
Rémi Verschelde 2d4f6ef0bf Apply clang-format again to recent changes
Also add missing copyright headers.

[ci skip]
2017-09-16 19:48:45 +02:00
Marcelo Fernandez 12a7f15bdc Fix compile error on gd_native_library_editor.cpp with tools=no 2017-09-15 13:29:29 -03:00