Commit graph

827 commits

Author SHA1 Message Date
Hein-Pieter van Braam d44414c711 Disable -ffast-math for etc2comp
Apparently -ffast-math generates incorrect code with recent versions of
GCC and Clang. The manual page for GCC warns about this possibility.

In my tests it doesn't actually appear to be measurably slower in this
case, and this is used in a batch process so it seems safe to disable
this.

This fixes #10758 and fixes #10070
2017-08-30 11:51:24 +02:00
Ruslan Mustakov 415f7da025 Fix GDNative API generator after changes to MethodBind 2017-08-30 10:45:10 +07:00
Ruslan Mustakov bbb4ee90ce Add enums in GDNative API generator 2017-08-30 10:38:58 +07:00
Juan Linietsky 9c3bddfac2 Merge pull request #10745 from neikeq/fix-docdata-and-stuff
DocData and virtual method type hints fixes
2017-08-29 20:11:07 -03:00
Ignacio Etcheverry 8bd92a96a4 Makes built-in vararg methods actual vararg methods
- Removes hardcoded parameters from built-in vararg methods and adds METHOD_FLAG_VARARG to them.
- Makes EditorHelp display built-in vararg methods correctly.
2017-08-29 19:40:28 +02:00
Ignacio Etcheverry c16d00591b DocData and type hints fixes
- Makes vararg methods automatically use PROPERTY_USAGE_NIL_IS_VARIANT on return types
- Completely removes the ":type" suffix for method names. Virtual methods must use the MethodInfo constructors that takes Variant::Type or PropertyHint as the first parameter for the return type (with CLASS_INFO as a helper to get the PropertyInfo). Parameters must use PROPERTY_HINT_RESOURCE_TYPE and hint string.
- PROPERTY_USAGE_NIL_IS_VARIANT is no longer needed for parameters, because parameters cannot be void.
- Adds missing PROPERTY_USAGE_NIL_IS_VARIANT to virtual and built-in methods that return Variant.
2017-08-29 19:40:21 +02:00
Wilson E. Alvarez a400a65c8a Renamed 'script_changed' signal in the script editor plugin to 'edited_script_changed' 2017-08-29 10:24:10 -04:00
Juan Linietsky a2027cfa49 -Fixes to how collada generates tangents (use SurfaceTool), closes #9562
-Fix to gridmap cell size (wrong property type)
2017-08-29 08:48:39 -03:00
Juan Linietsky 8fce79aaee -Some fixes to code completion.
-Fix getter in code completion being displayed when it shouldn't
-Clean up preview generation for editors and exposed it as editor plugin
2017-08-28 00:04:24 -03:00
Rémi Verschelde 6ef7783abb Merge pull request #10662 from hoelzl/python3-v3
Make build scripts Python 3 compatible
2017-08-28 00:05:15 +02:00
Juan Linietsky d23f323cde -Moved script run to editor, removed from project
-fixed to code completion
-fix shader crash bug reported by tagcup
2017-08-27 19:04:19 -03:00
Hein-Pieter van Braam 8064fbb174 Fix a crash in gdscript callbacks
This fixes a crash running the 'goltorus' project.
2017-08-27 23:49:13 +02:00
Matthias Hoelzl b6e1e47e3a Make build scripts Python3 compatible
- The Windows, UWP, Android (on Windows) and Linux builds are
  tested with Scons 3.0 alpha using Python 3.
- OSX and iOS should hopefully work but are not tested since
  I don't have a Mac.
- Builds using SCons 2.5 and Python 2 should not be impacted.
2017-08-27 23:05:39 +02:00
Rémi Verschelde 7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
Juan Linietsky 37da8155a4 -Largely rewrote gridmap to simplify it
-Got editor working again
-Added a current-floor marker on selection
2017-08-27 16:02:00 -03:00
Rémi Verschelde bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Rémi Verschelde 3acf6857d9 nanosvg: Document in COPYRIGHT.txt and thirdparty README.md 2017-08-27 13:32:23 +02:00
Rémi Verschelde 612099e377 Merge pull request #10591 from Rubonnek/possible-null-ptr-dereference
Added/Fixed null pointer checks
2017-08-27 02:10:56 +02:00
Rémi Verschelde 3ec9e26cb4 Merge pull request #10669 from hpvb/fix-6118
Add several missing Null checks in _notification
2017-08-27 02:07:41 +02:00
Hein-Pieter van Braam 3e25cf9e05 Add two missing Null checks
These Null checks were removed in #10581 but actually changed the
logic of the functions in this case.

This fixes #10654
2017-08-26 23:40:45 +02:00
Wilson E. Alvarez 7a07895920 Added/Fixed null pointer checks 2017-08-26 16:58:47 -04:00
Hein-Pieter van Braam 9a1d9a41eb Add several missing Null checks in _notification
This fixes #6118
2017-08-26 22:50:15 +02:00
Juan Linietsky 1894157c9f -Massive clean up to gizmos
-Make sure handles are always visible (on top)
-Fixed instanced scene selection (should work properly now)
-Added interpolated camera
-Customizable gizmo colors in editor settings
2017-08-26 00:47:28 -03:00
Rémi Verschelde d9e94fa0c3 Fix i18n bug in GridMap string
Regression from 6134d87 causing build issue on clang.
2017-08-25 20:55:33 +02:00
Andreas Haas 6134d8741d Editor: Add some more translatable strings. 2017-08-25 18:49:45 +02:00
Rémi Verschelde 490aef9369 Merge pull request #10581 from hpvb/fix-gcc6+
Make cast_to a static member of Object.
2017-08-25 08:37:38 +02:00
Juan Linietsky b1c0e45b03 Implemented, The Amazing Zylann Hack (tm), fixes #10603 2017-08-25 00:34:32 -03:00
Hein-Pieter van Braam cacced7e50 Convert Object::cast_to() to the static version
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.

This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.

It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00
Andreas Haas f61e8695c9
GDScript: More reliable check if loading a template.
Prevents showing some useless parse errors in the console.
2017-08-24 22:08:23 +02:00
Rémi Verschelde 3ea0943f64 Fix mismatched signatures for GDScriptLanguage::complete_code 2017-08-24 12:44:51 +02:00
Juan Linietsky 36e0a72c77 -Code completion for enumerations
-Disabled GDNative and GDNativeScript so build compiles again
2017-08-24 00:06:56 -03:00
Juan Linietsky 3d1c031871 Changed MethodBind API to request information from methods. It's much claner now.
Also changed PropertyInfo to include informatino about class names.
2017-08-23 19:11:11 -03:00
Rémi Verschelde 35e9117521 Merge pull request #10563 from Hinsbart/vs_cancel_select
VisualScriptEditor: Remove Node when canceling PropertySelector.
2017-08-23 08:09:27 +02:00
Rémi Verschelde 1ad68c946e Merge pull request #10542 from karroffel/gdscript-match-index
support enums and nested constants in match statement
2017-08-23 08:05:52 +02:00
Rémi Verschelde bc3c9a3c2a Merge pull request #10555 from Rubonnek/removed-unnecessary-returns-and-breaks
Removed unnecessary returns and break statements

[ci skip]
2017-08-23 00:06:29 +02:00
Andreas Haas 927fb9d793
VisualScriptEditor: Remove Node when canceling PropertySelector. 2017-08-22 21:56:18 +02:00
Pedro J. Estébanez 00c9218b48 Fix crashes in SVG loading
Adding null terminators.
2017-08-22 19:39:13 +02:00
Wilson E. Alvarez baa94a3758 Removed unnecessary returns and break statements 2017-08-22 13:01:57 -04:00
Karroffel 57654d4b95 support enums and nested constants in match statement
The initial version of the pattern matcher in GDScript does not
allow matching on nested identifiers, only one identifiers available
in the current scope.

With the introduction of enums to GDScript that's a huge missing
feature. This commit makes the parser accept indexed constants and
variables to properly support enums.
2017-08-22 17:45:05 +02:00
Juan Linietsky 8ad7139631 readded ability to set loop offset in seconds, closes #9630 2017-08-22 11:47:24 -03:00
Rémi Verschelde df590fc2d3 Merge pull request #10340 from Rubonnek/remove-unnecessary-assignments
Removed unnecessary assignments
2017-08-22 00:58:12 +02:00
Juan Linietsky 2cc8309249 Merge pull request #10351 from neikeq/enums-are-for-the-weak
ClassDB: Provide the enum name of integer constants
2017-08-21 19:56:08 -03:00
Rémi Verschelde 135027a2f6 Merge pull request #10225 from Noshyaar/map
GDScript Built-in: add inverse_lerp & range_lerp
2017-08-22 00:31:46 +02:00
Wilson E. Alvarez 738d2ab969 Removed unnecessary assignments 2017-08-21 15:15:55 -04:00
Ignacio Etcheverry 32dd9a9f66 ClassDB: Provide the enum name of integer constants 2017-08-20 22:07:43 +02:00
Daniel J. Ramirez 0c18009665 Added missing icon and svgs upscaling 2017-08-20 13:53:09 -05:00
Daniel J. Ramirez da8fecf25e Added support for SVG 2017-08-20 13:53:02 -05:00
Juan Linietsky 541fdffc0a Merge pull request #10319 from neikeq/pr-engine-editor-hint
Adds Engine::is_editor_hint() method
2017-08-20 12:55:46 -03:00
Rémi Verschelde 5627047c32 Merge pull request #10455 from groud/control_margin_fixes
Some control fixes and removed other useless lines
2017-08-20 15:24:00 +02:00
Gilles Roudiere 06256cd778 Some control fixes and removed useless lines 2017-08-19 19:10:00 +02:00
Rémi Verschelde ce85179e5d Merge pull request #10446 from bojidar-bg/6583-fix-wait-node
Fix Condition + Wait nodes freezing the game
2017-08-19 18:00:20 +02:00
Emmanuel Leblond 00d552b1cd
[GDnative] Correct godot_string_chars_to_utf8_with_len function name 2017-08-19 17:08:33 +02:00
Bojidar Marinov 4a0b4417a3
Fix #6583, Condition + Wait nodes freezing the game
Make sure that only the first node after VS resume gets resumed
2017-08-19 17:54:32 +03:00
Zher Huei Lee e3e2f06324 Replacement of internal RegEx with PCRE2
The pattern and replacement matching behaviour has been changed purely
due to the nature of switching to a standards-compliant library.

One mistake in the previous behaviour was that named groups didn't have
a number. This has been corrected.

As names are actually just an alias of numbered groups,
RegExMatch::get_name_dict() is now get_names() and is a dict
referring to the group number it represents.

Duplicate names are enabled and the with the first matching instance
used.

Due the lack of a suitable equivalent in PCRE2, RegExMatch::expand() was
removed.
2017-08-19 19:29:14 +08:00
Ignacio Etcheverry 90b8a5b71e Removes editor_hint from SceneTree 2017-08-19 01:29:45 +02:00
Juan Linietsky cbcf40bd31 -Volume sliders, mute, solo and fx bypass are functional, closes #9021
-Fixed tree reselect, makes reselecting an audio bux FX work
2017-08-18 18:21:53 -03:00
Juan Linietsky b20952ebff Update script signals in real-time when script changes. Fixes #8980 2017-08-18 16:44:03 -03:00
Poommetee Ketson d28da86f9f GDScript Built-in: add inverse_lerp & range_lerp 2017-08-18 21:49:03 +07:00
Marcelo Fernandez eab850524e Add closest_power_of_2 func and implement mix_rate/latency on OS X 2017-08-17 19:51:13 -03:00
Rémi Verschelde b1ecaaa22b Merge pull request #10307 from Rubonnek/update-argument-names
Updated function argument names
2017-08-16 17:17:56 +02:00
Rémi Verschelde c1a43a09be Merge pull request #10356 from RandomShaper/fix-msvc-error
Add comment warning about include order
2017-08-16 17:11:59 +02:00
Pedro J. Estébanez ae2d449047 Revive inspector property evaluation
GDScript was restricted to parse only scripts beginning with __res://__ or __user://__ to avoid templates from being parsed. I've made that a bit less inclusive by allowing scripts with an empty path to be parsed too, which doesn't conflict and is needed for this to work.

Also I've removed the `this` variable of the generated script and made the relevant object to be the one the script instance refers to, so you can use `self` instead.

Now, with the shorter 3.0-style syntax, you can write things like: `self.position.x + 10`

Closes #9500.
2017-08-16 03:01:41 +02:00
Pedro J. Estébanez 2a26c5ce62 Comment include order to avoid errors
So as to not revive #10071, as suggested by @akien-mga.
2017-08-15 22:12:57 +02:00
Gilles Roudiere 0d35d4d53b Replace GUI anchor type by a float between 0 and 1 2017-08-13 21:20:13 +02:00
Wilson E. Alvarez 428f03cf06 Updated function argument names 2017-08-12 15:12:49 -04:00
Rémi Verschelde dbece391a8 Merge pull request #10179 from marcelofg55/master
Fix crash when running a game with the profiler enabled
2017-08-11 10:38:16 +02:00
Rémi Verschelde 8e6768c963 Merge pull request #10202 from neikeq/how-do-you-turn-this-on
Improves method bind's detecting of signarute types
2017-08-11 10:29:41 +02:00
Ignacio Etcheverry 78619a5866 Fixes method definitions with extra number of arguments 2017-08-10 07:17:51 +02:00
Ignacio Etcheverry 2f290038d6 Removes type information from method binds 2017-08-10 07:17:50 +02:00
Ignacio Etcheverry 1e74f27f8f Adds missing type information to virtual method binds 2017-08-10 07:17:50 +02:00
Thomas Herzog e93ce339dc Merge pull request #10206 from endragor/show-base-nativescript-props
Allow to edit base type NativeScript properties
2017-08-09 23:07:42 +02:00
Ruslan Mustakov 9c1afce38e Allow to edit base type NativeScript properties 2017-08-09 20:51:38 +07:00
Ruslan Mustakov 9d4887e74b Fix getting default values for NativeScript base type properties 2017-08-09 20:37:37 +07:00
Thomas Herzog 1536cc4381 Merge pull request #9633 from ducdetronquito/gdnative_string_api
[GDNative] Implement String API.
2017-08-09 04:44:22 +02:00
ducdetronquito 0b55363a82 Implemented String C API. 2017-08-08 23:42:54 +02:00
Marcelo Fernandez 077ed98c92 Fix crash when running a game with the profiler enabled 2017-08-08 18:02:45 -03:00
Juan Linietsky 8a4bce6ebd Ability to set a function as sequenced, so when called you can choose not to use sequence ports. Fixes #6346 2017-08-08 13:14:36 -03:00
Juan Linietsky 95f10c620d push variable later when created, to avoid self-referencing as a valid case, closes #6111 2017-08-08 11:44:49 -03:00
Juan Linietsky fab75bce3f Properly rename visual script functions, fixed #6076 2017-08-08 11:32:09 -03:00
Juan Linietsky c6120e77a8 Implement len() gdscript built-in function for python users, closes #1960 2017-08-07 18:38:47 -03:00
Indah Sylvia 5ae78fdf6a Makes all Godot API's methods Lower Case 2017-08-07 18:24:35 +07:00
Juan Linietsky 37adf936ab few bugs fixed thanks to explicit bool constructor and clang.
explicit bool constructor has thus now been removed, as it served it's mission!
2017-08-05 21:43:10 -03:00
Karroffel 76ce18c290 [GDNative] fixed double variant call
This bug got discovered thanks to clang!
2017-08-06 02:04:06 +02:00
Juan Linietsky cfe4b30941 renamed node path, closes #5691 2017-08-05 09:13:59 -03:00
Ruslan Mustakov d71171026f Dont call nativescript callbacks if lib is not initialized 2017-08-04 21:17:33 +07:00
Thomas Herzog 211dfa6602 Merge pull request #10072 from karroffel/gdnative-header-include-paths
[GDNative] fixed a bug with ambiguous include paths
2017-08-04 04:06:54 +02:00
Karroffel ab3b1e67c7 [GDNative] fixed a bug with ambiguous include paths
fixes #10071. The problem is that the json.h file includes the
local variant.h instead of the "absolute" core/variant.h
2017-08-04 03:26:32 +02:00
Thomas Herzog 056b5f9e56 Merge pull request #10060 from endragor/nativescript-frame
Forward frame call to GDNative libraries
2017-08-03 13:52:44 +02:00
Ruslan Mustakov aaf84129db Forward frame call to GDNative libraries 2017-08-03 14:04:04 +07:00
Karroffel c143f86968 [GDNative/NativeScript] fix -rdynamic and removed _init call
The _init call was buggy anyway and in the end shouldn't be a
thing that's called via ClassDB, it should be something that's
language specific, so we leave this out for the bindings.

In the commit 66a7763 the SCsub file for GDNative was changed to
use a cloned environment, that bricked -rdynamic which needs to be
passed down to the linker, which didn't happen with the new env.
2017-08-02 14:21:12 +02:00
Karroffel 880048377d [GDNative] better header include paths
The old include paths caused some problems on some compilers, for
example including "string.h" was ambiguous.
2017-08-02 03:50:33 +02:00
Rémi Verschelde 93c226f7a3 Merge pull request #9964 from supagu/audio_fix
Fixed AudioStreamPlaybackOGGVorbis::_mix_internal getting stuck in in…
2017-07-30 20:59:45 +02:00
Karroffel fc9f5d59b5 [NativeScript] fix signals from base class not being accessible
https://github.com/GodotNativeTools/cpp_bindings/issues/26
2017-07-30 15:04:00 +02:00
Fabian Mathews 207f596e69 Fixed AudioStreamPlaybackOGGVorbis::_mix_internal getting stuck in infinite loop causing audio to freeze 2017-07-29 18:59:51 +09:30
Ruslan Mustakov 3193460c4a Pass GDNativeLibrary pointer to library init 2017-07-28 22:43:23 +07:00
Rémi Verschelde 204ec5459b Merge pull request #9932 from djrm/vs_fixes
Do not allow multiple data connections to the same data input slot, f…
2017-07-28 11:15:56 +02:00
Daniel J. Ramirez 707bb96fa8 Do not allow multiple data connections to the same data input slot, fixes #6357.Improved curve rendering when nodes are close. 2017-07-27 16:39:53 -05:00
Karroffel 3185c9c374 [NativeScript] fixed optional _init call
In 3c53b35 a call to an "_init" function was introduced,
that however was only executed in the `_new` function,
also it *required* that such a function exists.

With this patch the "_init" function will be optionally called on
every instance creation.
2017-07-27 15:30:39 +02:00
Karroffel aae8accadd [NativeScript] fix mutex double lock
In 3c53b35 a bug got introduced where a mutex gets locked twice
instead of locked and then unlocked.
This path fixes that.
2017-07-27 14:56:47 +02:00
Karroffel 135c2112ad added an optional parameter to OS symbol lookup
When looking up a symbol from a library, previously an error was
shown when the symbol did not exist. That caused confusion when the
lookup was completely optional.
This adds a new parameter to that method so that those errors can
be handled manually if needed.
2017-07-27 11:13:21 +02:00