Commit graph

886 commits

Author SHA1 Message Date
Ruslan Mustakov
f08bc0df7c Construct Variants from Reference properly in GDNative
Previously godot_variant_new_object constructed Variant without
accounting for the fact that the Object can be a Reference, so refcount
was not increased and References were destructed prematurely.

Also, Reference::init_ref did not propagate refcount increment to the
script instance, which led to desync of refcount info on the script
side and Godot side.
2017-09-14 19:40:36 +07:00
Jeroen
ca5abae1e7 Fix 2 typos 2017-09-14 10:31:43 +02:00
Maxim Sheronov
0fffa45158 Fix enums bindings
Add missed bindings for enums
Move some enums to class to have correct output of api.json
2017-09-13 20:57:07 +03:00
Rémi Verschelde
fe3bbaa9d0 Merge pull request #11076 from hpvb/fix-10935
Fix crash on wrong type drag into the vs editor
2017-09-13 19:28:13 +02:00
Rémi Verschelde
095ff6dda8 Merge pull request #11063 from toger5/svg_generation_optimization
optimized color conversion for svg generation
2017-09-13 19:27:21 +02:00
Rémi Verschelde
27ae3c839d Merge pull request #7908 from SaracenOne/recast
In-editor navmesh generation.
2017-09-13 19:22:29 +02:00
toger5
ee5dc05a09 optimized color conversion for svg generation 2017-09-12 23:33:51 +02:00
Juan Linietsky
4f929a0fdf Changed the doc class generation to individual files per class. It is also possible to save module files in module directories and the build system will
recognize them.
2017-09-12 17:45:41 -03:00
Daniel J. Ramirez
60f054d3ac Improved VS node coloring 2017-09-12 13:16:47 -05:00
Daniel J. Ramirez
1e8048dd45 Improved theme generation, and other fixes 2017-09-12 13:16:38 -05:00
William Taylor
8632408dbd Changed/Added descriptions in @GDScript. Added examples. Fixed return types of two … (#11146)
Doc: Improved descriptions in GDScript docs

Added examples and fixed return types of two methods.
2017-09-12 15:00:29 +02:00
Rémi Verschelde
4f51211dfb Merge pull request #11028 from mrawlingst/color-RGBA32
Change Color.to_32() to Color.to_rgba32() and lowercase other functions
2017-09-12 13:44:43 +02:00
Juan Linietsky
1c5376ae59 Many fixes to visual script, changed virtuals override for a proper selector. 2017-09-12 07:58:54 -03:00
Rémi Verschelde
aabbd00284 Merge pull request #10908 from hpvb/fix-unused-variables
Fix unused variable warnings
2017-09-12 12:55:53 +02:00
Rémi Verschelde
cf941fdc35 Merge pull request #11026 from hpvb/fix-assign-in-if
Remove assignment and declarations in if statements
2017-09-12 11:57:49 +02:00
Rémi Verschelde
2b50dc5d4f Merge pull request #11057 from hpvb/fix-various-warnings
Fix various assorted warnings
2017-09-12 11:39:47 +02:00
Poommetee Ketson
dccb37417c Implement String len() 2017-09-11 08:43:25 +07:00
bncastle
fc83821316 Fixed attempt to delete NULL pointer error
Fixed: Error cause by attemptng to delete a NULL pointer.
unregister_gdnative_types() now checks discoverer to see if it is NULL
before deleting. After selecting a godot project to edit (in Win10), the
discoverer_callback() wasn't called thus discoverer was NULL.
2017-09-10 17:39:42 -04:00
Hein-Pieter van Braam
2ec0bc4f80 Fix crash on wrong type drag into the vs editor
Don't allow drops of draggable items without a vs node type.

This fixes #10935
2017-09-09 00:34:53 +02:00
Hein-Pieter van Braam
b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Hein-Pieter van Braam
8230bf0a2f Remove assignment and declarations in if statements
After discussing with @reduz and @akien-mga it was decided that we do
not allow assignments or declarations in if statements. This PR removes
the instances of this I could find by automated means.
2017-09-08 14:59:15 +02:00
Hein-Pieter van Braam
67a706fc1b Fix various assorted warnings
Fix various warnings that don't have enough instances to merit
individual commits. Also fixes a potential bug in audio_server.cpp.
2017-09-08 14:57:48 +02:00
mrawlingst
6aa5bc2347 Change Color.to_32() to to_rgba32() and format as RGBA 2017-09-07 16:19:44 -04:00
Juan Linietsky
5f0d367fef Mono vorbis support fixed, closes #10787 2017-09-06 23:13:57 -03:00
Rémi Verschelde
6efd777fae Merge pull request #10976 from saltares/issue-907
Fixes setting visibility on GridMap, issue #907
2017-09-06 11:49:35 +02:00
David Saltares
f43a0ef327 Setting visibility on GridMap now works. Closes #907.
Basically, `GridMap` wasn't reacting to the
`NOTIFICATION_VISIBILITY_CHANGED` event. This reacts to such events and
walks over the set of `Octants` and all of their `MultiMeshInstances` to
set their visibility on the `VisualServer`.
2017-09-05 22:44:19 +01:00
Ruslan Mustakov
269203a022 Provide NativeScript properties in definition order 2017-09-05 12:45:23 +07:00
Juan Linietsky
89e090edef Fix ETC2 import for luminance/lumalpha textures, fixes #10421 2017-09-04 18:45:41 -03:00
Saracen
92e77d5ff2 Recast integration. 2017-09-04 21:41:57 +01:00
Rémi Verschelde
e979e50b7d Merge pull request #10921 from karroffel/gdnative-MERGE-EVERYTHING
[GDNative] merge of NativeScript and GDNative, new GDNative singletons
2017-09-04 21:51:07 +02:00
Rémi Verschelde
b5d2d0a9a5 Merge pull request #10939 from neikeq/fix-overridden-external-editors
Fixes language overridden external editors
2017-09-04 08:12:29 +02:00
Rémi Verschelde
7040a390ad Merge pull request #10937 from djrm/pr_fix_typo
Fix. resizeable -> resizable.
2017-09-04 07:37:59 +02:00
Ignacio Etcheverry
52a7be4eef Fixes language overridden external editors 2017-09-03 21:23:36 +02:00
Daniel J. Ramirez
d6b664f671 Fix. resizeable -> resizable.
(not actually a typo, but the rest of the API uses resizable)
2017-09-03 13:12:52 -05:00
Juan Linietsky
adde89e8b1 -Added an optimization so physics shapes are configured later, speeds up grid map loading and editing 2017-09-03 14:54:15 -03:00
Karroffel
54a9c1ee43 [GDNative] added singleton GDNativeLibraries
A GDNativeLibrary now has a field "gdnative_singleton" which can be
used to let the `godot_gdnative_singleton` procedure be executed on
Godot's startup. In future this can be used to register new
scripting languages or resource importer types.
2017-09-03 16:56:00 +02:00
Karroffel
7878329e6f merged gdnative and nativescript module 2017-09-03 15:28:43 +02:00
Poommetee Ketson
459f526119 Fix typos 'a' and 'an' 2017-09-02 21:19:06 +07:00
Hein-Pieter van Braam
7df28d1799 Fix missing pragma push
I forgot to pragma push the ignored warning in #10877 this adds the
missing ones.
2017-09-02 11:03:27 +02:00
Hein-Pieter van Braam
9c63ab99f0 Fix use of unitialized variables
The second in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-02 01:59:26 +02:00
Rémi Verschelde
dac150108a Merge pull request #10846 from hpvb/fix-sign-compare
Fix signed and unsigned comparisons
2017-09-01 21:52:55 +02:00
Rémi Verschelde
69ac4cbb37 Merge pull request #10854 from MednauN/ogg-fix
Fix crash when destroying AudioStreamPlaybackOGGVorbis
2017-09-01 21:51:48 +02:00
Rémi Verschelde
90a944e856 Merge pull request #10865 from neikeq/woah
etc: Append -std=gnu++11 to CCFLAGS instead of CXXFLAGS

[ci skip]
2017-09-01 21:25:05 +02:00
Ignacio Etcheverry
2f79c84ff5 etc: Append -std=gnu++11 to CCFLAGS instead of CXXFLAGS
This way it can override the -std flags passed to scons.
2017-09-01 18:51:50 +02:00
Juan Linietsky
8f30c52a37 Removed ontop property, added a material rendering priority system. Fixes #9935, closes #10135 2017-09-01 13:01:08 -03:00
Poommetee Ketson
ed606ded52 Fix files header 2017-09-01 21:07:55 +07:00
Evgeny Zuev
46f003c445 Fix crash when destroying AudioStreamPlaybackOGGVorbis 2017-09-01 17:49:22 +07:00
Rémi Verschelde
7c76e0c8c3 Merge pull request #10853 from leezh/pcre_html5_fix
Disabled PCRE-JIT in HTML5. Fixes #10834

[ci skip]
2017-09-01 12:46:41 +02:00
Zher Huei Lee
566c0f675a Disabled PCRE-JIT in HTML5. Fixes #10834 2017-09-01 18:33:04 +08:00
Hein-Pieter van Braam
f9467ec1ea Fix signed and unsigned comparisons
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Emmanuel Leblond
6151adfe8c
Correct GDnative's godot_string_find_last method name 2017-08-31 23:24:26 +02:00
Rémi Verschelde
6f762ad709 Merge pull request #10422 from endragor/gdnative-android
Make GDNative work on Android
2017-08-31 13:51:10 +02:00
Rémi Verschelde
0cee288c11 Merge pull request #10148 from leezh/pcre2
Replacement of internal RegEx with PCRE2
2017-08-31 11:56:19 +02:00
Rémi Verschelde
f00760b22c Merge pull request #10382 from toger5/dark_icons
Light Theme
2017-08-31 11:47:18 +02:00
toger5
aa8feff8c1 Implement color conversion for dark SVG icons 2017-08-30 21:20:02 +02:00
Ruslan Mustakov
5ccdeccb6e Make GDNative work on Android
The changes include work done to ensure that GDNative apps and Nim
integration specifically can run on Android. The changes have been
tested on our WIP game, which uses godot-nim and depends on several
third-party .so libs, and Platformer demo to ensure nothing got broken.

 - .so libraries are exported to lib/ folder in .apk, instead of assets/,
   because that's where Android expects them to be and it resolves the
   library name into "lib/<ABI>/<name>", where <ABI> is the ABI matching
   the current device. So we establish the convention that Android .so
   files in the project must be located in the folder corresponding to
   the ABI they were compiled for.

 - Godot callbacks (event handlers) are now called from the same thread
   from which Main::iteration is called. It is also what Godot now
   considers to be the main thread, because Main::setup is also called
   from there. This makes threading on Android more consistent with
   other platforms, making the code that depends on Thread::get_main_id
   more portable (GDNative has such code).

 - Sizes of GDNative API types have been fixed to work on 32-bit
   platforms.
2017-08-30 18:14:19 +07:00
Hein-Pieter van Braam
ec63438231 Remove 10778 related methods from GDNative
After #10778 master didn't build any longer with GDNative. This removes
the methods removed in that PR from the GDNative bindings for Basis
also.
2017-08-30 12:54:59 +02:00
Rémi Verschelde
fd7ad7d80a Merge pull request #10750 from Rubonnek/fix-duplicate-script-changed-signal
Renamed 'script_changed' signal in the script editor plugin to 'edited_script_changed'
2017-08-30 12:46:00 +02:00
Rémi Verschelde
e59b1212da Merge pull request #10776 from hpvb/fix-10758
Disable -ffast-math for etc2comp
2017-08-30 12:44:16 +02:00
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