Commit Graph

1380 Commits

Author SHA1 Message Date
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
Thomas Herzog 7dffed485b Merge pull request #11230 from maxim-sheronov/fix_enum_bindings
Fix enums bindings
2017-09-15 08:43:35 +02:00
Thomas Herzog 5636ac526e Merge pull request #11237 from endragor/gdnative-variant-ref
Construct Variants from Reference properly in GDNative
2017-09-14 21:21:50 +02:00
Juan Linietsky 35ed1eef2a Added a menu to enable/disabled GDNative singletons in project settings 2017-09-14 15:02:51 -03:00
Wilson E. Alvarez 072e379ffe Renamed function arguments to keep them consistent between declaration and implementation 2017-09-14 13:49:15 -04:00
Daniel J. Ramirez 74d028729f Improved VisualScriptEditor 2017-09-14 12:45:42 -05:00
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
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
Karroffel a2795e9531 [NativeScript] call _init on instance creation
This also adds basic locking for the set of owners
to avoid threading problems
2017-07-27 11:12:49 +02:00
Thomas Herzog 18e23ad4dc Merge pull request #9882 from endragor/nativescript-refcount
Forward refcount changes to NativeScriptInstance
2017-07-26 21:29:26 +02:00
Rémi Verschelde 88bd18244b Merge pull request #9883 from bojidar-bg/8217-fixup-get_node-shortcut
Fix $a/b being parsed as division
2017-07-26 18:17:51 +02:00
Bojidar Marinov a5fb82c28c
Fix $a/b being parsed as division 2017-07-26 18:51:03 +03:00
Ruslan Mustakov db9dcbddbc Forward refcount changes to NativeScriptInstance
This also changes Reference::unreference() to always invoke
refcount_decremented. Previously it was not invoked until the count
reached zero due to short-circuit evalution of boolean expressions.
2017-07-26 22:36:57 +07:00
Thomas Herzog 2b99bd492b Merge pull request #9867 from endragor/nativescript-threading
Support multithreading for NativeScriptLanguage
2017-07-26 16:01:43 +02:00
Thomas Herzog 9caf9fa76f Merge pull request #9720 from endragor/stack-bottom
Add a way to retrieve stack bottom of the main thread
2017-07-26 15:30:04 +02:00
Ruslan Mustakov 7f32023a1a Support multithreading for NativeScriptLanguage
Godot may call property setters from non-main thread when an object is
loaded in the edtior. This means NativeScriptLanguage could be accessed
from different threads, but it was not designed for thread-safety.
Besides, previous behaviour made it so that godot_nativescript_init and
godot_gdnative_init could be invoked from non-main thread, while
godot_gdnative_thread is always invoked on the main thread. This may
not be expected by the binding library.

This commit defers native library initialization to the main thread and
adds godot_nativescript_thread_enter and godot_nativescript_thread_exit
callbacks to make a binding library aware of foreign threads.
2017-07-26 19:39:10 +07:00
sheepandshepherd bdf2e8c615 Fix typo in NativeScript property getter 2017-07-25 23:03:39 +02:00
Rémi Verschelde a931052c79 Merge pull request #9731 from Xrayez/gdscript-completion
Update GDScript completion names for Pool*Arrays
2017-07-25 21:05:42 +02:00
Karroffel 5319098aef fix a regression (GDScript) from e00630b
This removes `not` from the variable safe list of
keywords.
Before that this was a valid expression:
    self.!(some_arg)

The other fix is just a forgotten boolean negation.
2017-07-25 20:01:19 +02:00
Thomas Herzog 497411aa12 Merge pull request #9844 from karroffel/nativescript-double-init-fix
[NativeScript] fix double initialization in editor
2017-07-25 18:42:18 +02:00
Karroffel cdf1212bee [NativeScript] fix double initialization in editor 2017-07-25 18:18:36 +02:00
Andrii Doroshenko (Xrayez) 72436956dd Update GDScript completion names for Pool*Arrays
Notice: GDScript tokenizer used the old PoolFloatArray name.
Renamed PoolFloatArray to PoolRealArray.

Moved "project_settings.h" down one line to comply with the clang-format rules.

Fixes #9638

Closed pull request #9714 because I messed up with commits, sorry!
2017-07-25 12:14:40 +03:00
Rémi Verschelde e00630bfca Merge pull request #8217 from bojidar-bg/gdscript-fix-keyword-call
Make GDScript allow some keywords as identifiers
2017-07-25 08:18:10 +02:00
Ruslan Mustakov 3b88476130 Add a way to retrieve stack bottom of the main thread
I'm working on Nim bindings and Nim GC needs to know the stack
boundaries to check whether certain pointers are located on the stack
or in the heap. This commit adds godot_get_stack_bottom procedure
to gdnative module which returns pointer to the stack bottom of the
main thread. Later on this may be improved to return stack bottom of
the current thread.
2017-07-25 10:53:31 +07:00
Karroffel 3f1e75e89c [NativeScript] bound `new` to ClassDB 2017-07-25 00:26:37 +02:00
Karroffel 5e1abaf348 [GDNative] basic OS detection 2017-07-24 22:43:32 +02:00
Ramesh Ravone 75b66146ae
GDNative register_property 2017-07-24 22:30:07 +05:30
Thomas Herzog 008b20bd8f Merge pull request #9814 from karroffel/nativescript-doublefree
[NativeScript] forgot to uncomment userdata return
2017-07-24 17:25:57 +02:00
Karroffel 41eb8a0279 [NativeScript] forgot to uncomment userdata return 2017-07-24 16:36:26 +02:00
Thomas Herzog d0f1940534 Merge pull request #9809 from karroffel/nativescript-doublefree
[NativeScript] fix double free but on exit
2017-07-24 14:37:39 +02:00
Karroffel a1a76bbde4 [NativeScript] fix double free but on exit 2017-07-24 14:07:39 +02:00
Rémi Verschelde 374cffaa11 Merge pull request #9764 from Noshyaar/pr-fix2
Add object type hint for docs
2017-07-24 08:07:32 +02:00
Karroffel 534d62d2f4 [GDNative] new GDNative API
This adds GDNative as a separate class type.
It can be used to interface with native libraries by
using "native calls", which can be registered by modules
(and in future other GDNative libraries?).

It also reworks the currently called "GDNativeScript" into a
"NativeScript" that just makes use of the new GDNative instead
of it being the component that implements that functionality.
2017-07-24 04:23:37 +02:00
Bojidar Marinov 1936e1d2be
Make GDScript allow some keywords as identifiers
Fixes #8085
Added some comments around the use of is_token_literal, as discussed.
2017-07-23 23:34:31 +03:00
Poommetee Ketson 2777f81d29 Add object type hint for docs 2017-07-23 18:57:03 +07:00
Rémi Verschelde 38c471bef6 Merge pull request #9765 from Noshyaar/pr-clang
Clang-formatting *.cpp and *.h (some files excluded)
2017-07-23 13:16:48 +02:00
Rémi Verschelde 5fbe4c130d Merge pull request #9758 from vnen/fix-vs-return
VS: Fix return value for user-defined functions
2017-07-23 13:09:12 +02:00
Rémi Verschelde c669107626 Merge pull request #9741 from vnen/fix-vs-customnode
Fix issues with custom nodes in visual script
2017-07-23 13:06:03 +02:00
Rémi Verschelde e3aa9b5191 Merge pull request #9706 from djrm/theme_fixes
Icons can now be added inside line edits (Search icon).
2017-07-23 13:03:53 +02:00
Poommetee Ketson c7c65ca6ba Clang-formatting *.cpp and *.h (some files excluded) 2017-07-22 18:14:08 +07:00
George Marques effceee6ea
VS: Fix return value for user-defined functions 2017-07-22 01:15:55 -03:00
George Marques 19ca9e7810
Update a VS custom node when its script changes 2017-07-21 23:45:57 -03:00
Ramesh Ravone af8a40e554
gdnative bug fix in get (return null check) 2017-07-22 06:39:03 +05:30
George Marques 3fdf8663f7
Fix issues with custom nodes in visual script
- Doesn't crash anymore.
- Inputs are properly transferred.
2017-07-21 00:05:56 -03:00
Juan Linietsky 25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Daniel J. Ramirez 95f55c8f0d Icons can now be added inside line edits (Search icon).
Fixed window title bar margins.

fixed compilation error
2017-07-19 13:23:16 -05:00
Thomas Herzog 45b498c4e0 Merge pull request #9699 from RameshRavone/master
[gdnative] `Object::_get` return type and dynamic property
2017-07-19 13:07:06 +02:00
Ramesh Ravone 535290d2e7
[GDNative] dynamic properties 2017-07-19 05:41:56 +05:30
Poommetee Ketson 49c7620326 Add object type hint for docs 2017-07-19 02:03:34 +07:00
Ramesh Ravone 826c51c70e
_get return type fix 2017-07-18 21:09:46 +05:30
Juan Linietsky bbada82f80 -Reorganized all properties of project settings (Sorry, Again).
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-17 22:18:58 -03:00
Rémi Verschelde 2b8342e308 Merge pull request #9652 from djrm/theme_fixes
Improvements and fixes for the default theme.
2017-07-17 22:36:00 +02:00
Daniel J. Ramirez a3c2d9a6bd Improvements and fixes for the default theme.
Added customizable border size and window highlight.
2017-07-16 13:23:59 -05:00
Juan Linietsky 3da3a36034 Many fixes to improve GI Probe quality 2017-07-15 23:24:37 -03:00
sheepandshepherd 914a68723f Expose Dictionary::next to GDNative 2017-07-15 23:02:19 +02:00
Rémi Verschelde e64b82ebfc Some more typo fixes for "threshold"
Looks like @reduz really does not like that word.
2017-07-15 12:01:46 +02:00
ducdetronquito 074801e7a9 [#7212] Fixed missing 'Variant' return values in documentation. 2017-07-11 13:25:51 +02:00
Rémi Verschelde a5d500f023 Merge pull request #8573 from neikeq/gdfs-completed
Adds "completed" signal to GDFunctionState
2017-07-11 11:14:22 +02:00
Juan Linietsky 12a8fedfe6 Some changes to dual paraboloid envmap generation, fixes somme bleeding 2017-07-05 19:39:45 -03:00
Rémi Verschelde e54c7d5715 Merge pull request #9457 from TwistedTwigleg/Fixed_Vector3_snap
Fixed syntax inconsistency in Vector3.snap and Vector3.snapped
2017-07-03 23:43:33 +02:00
TwistedTwigleg 44ecfb028d Fixed syntax inconsistency in Vector3.snap and Vector3.snapped 2017-07-03 16:29:03 -04:00
Juan Linietsky 2a3e00c8c7 -Many fixes to VisualScript, fixed property names, etc.
-Added ability to set/get a field in GetSet, as well as assignment ops
-Added a Select node
-Fixed update bugs related to variable list and exported properties, closes #9458
2017-06-30 21:35:05 -03:00
Rémi Verschelde cb59236ce9 Disable etc2comp and tinyexr modules on non-tools build
They are not necessary in such configuration, and require C++11
and (on Android) the STL.

Fixes #9273.
2017-06-30 18:16:38 +02:00
Rémi Verschelde 72bf46649e Merge pull request #9360 from GodotExplorer/pr-external-editor-language-check
Better user experience with external text editors.
2017-06-27 08:15:54 +02:00
geequlim 6687484958 Better user expirence with external text editors.
Implements open_in_external_editor for subclasses of ScriptLanguage.
Add option 'Debug with external editor' to debug menu to control the behavoir of script opened by editor.
2017-06-27 12:55:16 +08:00
Juan Linietsky 3ce046ee0c -Fixed SCREEN_TEXTURE and other related 2D shader parameters.
-Fixded BackBuffercopy object
2017-06-26 22:58:46 -03:00
Rémi Verschelde a50fb2f729 Revert "Revert "Fixed RegEx::search missing return type hint"" 2017-06-26 22:38:11 +02:00
Juan Linietsky 340c0ba0a0 Revert "Fixed RegEx::search missing return type hint" 2017-06-26 17:36:42 -03:00
Rémi Verschelde 0db10b9992 Merge pull request #9379 from leezh/regex_bind_fix
Fixed RegEx::search missing return type hint
2017-06-26 22:33:16 +02:00
Zher Huei Lee f01ce3276e Fixed inverted group thrown off by quantifiers 2017-06-26 15:25:10 +08:00
Zher Huei Lee 382db0898e Fixes RegEx capture grabbing too much #9382
Incorrect behaviour was caused when next->test was throwing off the
results.
2017-06-26 15:16:33 +08:00
Zher Huei Lee 1e1b2d22ad Fixed RegEx::search missing return type hint 2017-06-26 05:52:56 +08:00
Rémi Verschelde 87fd71244b Merge pull request #9334 from Noshyaar/pr-genh
BuildSystem: generated files have .gen.extension
2017-06-25 11:08:36 +02:00
Rémi Verschelde 41bbf106e6 Merge pull request #9349 from volzhs/freetype-2.8
Update freetype to 2.8
2017-06-25 10:42:04 +02:00
volzhs 0f8cc0fa5b Update freetype to 2.8 2017-06-25 10:41:12 +09:00
Poommetee Ketson e3998528e0 BuildSystem: generated files have .gen.extension 2017-06-25 07:55:01 +07:00
Rémi Verschelde 9c186a754f Merge pull request #8783 from bojidar-bg/fix-range-loop-type
Fix for..in range() resulting in floats instead of ints
2017-06-24 23:39:55 +02:00
Juan Linietsky 00e5ba3143 Remove methods from code completion which are already exposed by properties, makes completion cleaner and more close to the documentation. 2017-06-23 15:10:46 -03:00
Mariano Suligoy 7fe750583e GdScript: Add signal autocompletion to emit_signal function 2017-06-23 07:51:49 -03:00
Ignacio Etcheverry 07fe7d99ea Adds completed signal to GDFunctionState 2017-06-23 02:29:23 +02:00
Bojidar Marinov 26a51c3c0b
Reimplement for..in range() so that it always results in ints
Fixes #8278, fixup of bfef8de1bc
2017-06-22 20:41:52 +03:00
Karroffel de18b8ee96 [GDNative] added GDN_EXPORT macro for libraries
Up until now there only was GDAPI which was used
for the procedures Godot exposes.
2017-06-18 01:16:10 +02:00
Rémi Verschelde c210de581e etc: Do not overestimate number of CPU threads
The *2 factor between cores and threads of most modern CPUs
is already taken into account in get_processor_count().
2017-06-17 10:51:50 +02:00
Juan Linietsky b19225bfce -Fix freezes caused by etccomp2, closes #9183
-Normalmaps are now detected and imported as RGTC, both in S3TC and ETC2, this improves their quality.
2017-06-16 21:49:37 -03:00
George Marques 7966ebe6fa
Complete changing of resource extensions
Some places were missing in e42d59f.
2017-06-16 15:42:18 -03:00
Karroffel f0cf946063 [GDNative] corrected typo for Mac library ext.
Seems like the extension is .dylib and not .dynlib.
This should make it easier to select files from the editor.
2017-06-16 15:48:05 +02:00
George Marques e42d59f01e
Rename Godot-specific resource extensions 2017-06-15 21:35:20 -03:00
Rémi Verschelde 19017a760c Merge pull request #9158 from Hinsbart/script_templates
Add ability to use custom script templates.
2017-06-14 23:11:41 +02:00
Juan Linietsky a8e845a474 Merge pull request #8548 from tagcup/etc2comp
Add ETC1/ETC2 compression support though etc2comp.
2017-06-13 19:17:13 -03:00
Andreas Haas 8361b1ce07 Add ability to use custom script templates.
Templates will be loaded from .godot/script_templates
For now they're disabled for GDNative.

Ideas for further improvements:

- Add a "Save as Template" option to the script editor, as it can normally only save to res://
- Support more placeholders / custom placeholders
2017-06-13 20:03:08 +00:00
Juan Linietsky 12b2652ecb Merge pull request #9104 from tagcup/zstd
Add zstd compression support.
2017-06-11 18:41:56 -03:00
alexholly 935f730170 renamed all Rect3.pos to Rect3.position 2017-06-09 15:54:02 +02:00
Ferenc Arn f177c15347 Add zstd compression support.
zstd has much better compression speed and ratio, and better decompression speed than currently available methods.
Also set zstd as the default compression method for Compression as well as FileAccessCompressed functions.
2017-06-08 23:48:14 -05:00
Juan Linietsky 612ab8fcdb -Restored multithread capability to VisualServer
-Restored resource previews!
2017-06-09 00:24:18 -03:00
Rémi Verschelde 01ed55987c Merge pull request #9058 from touilleMan/gdnative-clean-and-add-properties
Continue improving GDNative
2017-06-08 10:31:13 +02:00
Emmanuel Leblond 8ecdbfc417
[GDnative] API consistency + missing properties 2017-06-08 07:21:53 +02:00
Juan Linietsky 871ceeb0fe TGA support based on SaracenOne's work. 2017-06-07 19:46:36 -03:00
Rémi Verschelde f8d7670e82 Merge pull request #9038 from AlexHolly/rect2-rename-pos
renamed all Rect2.pos to Rect2.position
2017-06-05 15:52:05 +02:00
Rémi Verschelde 075c7d8133 Merge pull request #8990 from zer0problem/master
Fixed .hdr support to compile on windows
2017-06-05 15:45:53 +02:00
Rémi Verschelde d3afecf681 Merge pull request #8974 from Paulb23/script_overview
Added script overview
2017-06-05 15:42:12 +02:00
alexholly a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Andreas Haas 9bc5348961
InputEvent: Renamed "pos" property to "position"
Make the naming consistent with other classes.
2017-06-03 11:26:39 +02:00
Juan Linietsky 8a1097a224 many fixes to image loader, voxel cone tracing, etc. 2017-06-02 22:08:41 -03:00
Ferenc Arn 6a9c990da7 Add ETC1/ETC2 compression support though etc2comp.
Remove rg-etc1 code. Also updated travis to use ubuntu 14.04.

Fixes #8457.
2017-05-31 18:59:00 -05:00
Juan Linietsky a134f58fb3 rewritten PBR implementation to make it friendlier with Blender 2017-05-31 20:29:56 -03:00
sheepandshepherd 4844013827 Fix GDNative PoolVector typos 2017-05-31 23:44:20 +02:00
zer0problem cc05a90bf7 Fixed compiling on windows after .hdr support
Changed type to avoid casting.
2017-05-31 13:11:11 +02:00
sheepandshepherd 9f34bb4ebe Wrap copy constructor for some GDNative types 2017-05-31 00:03:50 +02:00
Juan Linietsky 5567e898d1 Several fixes related to PBR and Environment 2017-05-30 08:56:19 -03:00
Paulb23 a4e222ae71 Added members overview 2017-05-29 12:56:33 +01:00
Juan Linietsky bb20f230ad -Added .hdr format support
-Added default environment editor setting
-Added environment created by default in new projects
-Removed default light and ambient from spatial editor, to make the editor more PBR compliant
2017-05-28 21:48:05 -03:00
Andreas Haas 015d36d18b
GDScript: Use "is" keyword for type checking.
Replaces the `extends` keyword with `is` in the context of testing for type compatibility.
`extends` is still used for declaring class inheritance.

Example:

```gdscript
extends Node2D

func _input(ev):
	if ev is InputEventKey:
		print("yay, key event")
```
2017-05-27 10:59:59 +02:00
Juan Linietsky f89641907f -Added EXR supprot for HDR (no BC6 compression yet though)
-Improvements to texture importer
-Proper detection of S3TC compression modes, and added all modes to Image
-Fixes to non-power of 2 compressed textures, which should all be supported by GLES3
2017-05-26 22:31:32 -03:00
Juan Linietsky 7c89e00d46 Merge pull request #8590 from tagcup/s3tc_stuff
Use libsquish to decompress DXT textures.
2017-05-25 16:29:04 -03:00
Karroffel f23b56e3ec [GDNative] fixed some functions that returned references
Those errors were introduced with #8821 (6fd217d). These functions need to return reference types, otherwise setting values on those containers does not work.
2017-05-23 22:57:02 +02:00
Juan Linietsky 5b3709d309 Removal of InputEvent as built-in Variant type..
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
Rémi Verschelde 231511b2a6 Merge pull request #8631 from volzhs/editor-theme-custom
New customizable editor theme
2017-05-20 07:16:11 +02:00
Emmanuel Leblond abcb044bf3
Finish implementation of GDnative builtins bindings 2017-05-19 23:28:15 +02:00
Ferenc Arn 3c175115eb Use libsquish to decompress DXT textures. 2017-05-18 16:57:53 -05:00
Rémi Verschelde dcc44f05b7 Merge pull request #8798 from RandomShaper/gdfs-ext-check
Add extended check option to GDFunctionState::is_valid()
2017-05-18 12:51:29 +02:00
Rémi Verschelde c3baf5eb3c Fix two typos from previous commit
Also cleanup comments on variant types.
2017-05-17 18:45:56 +02:00
Pedro J. Estébanez b69d4ebff4 Add extended check option to GDFunctionState::is_valid() 2017-05-17 14:55:59 +02:00
Juan Linietsky 98a3296702 Removal of Image from Variant, converted to a Resource. 2017-05-17 07:37:45 -03:00
Karroffel 11e496d99a [GDNative] fixed a reload bug
When there was no terminate function defined in the library the exported variables would not update.
This fixes that.
2017-05-13 14:37:57 +02:00
Rémi Verschelde 88d5c943e7 Merge pull request #8696 from bojidar-bg/fix-path-autocomplete
Fix gdscript autocomplete showing only paths
2017-05-12 18:17:20 +02:00
Thomas Herzog 0f8a17b0cb Merge pull request #8720 from karroffel/gdnative-methodbind-varcall
[GDNative] added varcall and print
2017-05-11 23:53:46 +02:00
Karroffel d137e83c60 [GDNative] added varcall and print 2017-05-11 23:06:11 +02:00
Karroffel 15bce7f75f removed multiscript
removes MultiScript which was re-added in #8502 (aka 4c14700).
This feature didn't turn out to be as useful as most expected. It causes more troubles than it does good.
2017-05-11 21:23:19 +02:00
sheepandshepherd 99e07448d1 Add error printing functions to GDNative 2017-05-10 00:19:38 +02:00
Rémi Verschelde 32afcbc482 Put brave old bb10 platform to a well-deserved rest
Add some 🔥 to appease @reduz. Fixes #8692.
2017-05-08 22:22:20 +02:00
Bojidar Marinov 837a667225
Fix #8674, and rename a few things for clarity 2017-05-08 22:39:27 +03:00
toger5 304a1f5b5a Implemented scrolling factor for smooth trackpad scrolling
Working platforms platform: OSX, Windows.
Support for almost all ui elements, including project list.
2017-05-07 14:23:56 +02:00
volzhs 17e8e343fb Revert "Add new editor and default theme (WIP)"
This reverts commit f045efe007.
2017-05-03 06:19:15 +09:00
Rémi Verschelde 9a40b92b8a Merge pull request #8571 from tagcup/squish_sse
Detect SSE/SSE2 for libsquish.
2017-05-02 11:29:16 +02:00
Rémi Verschelde d4029aa51a Move other lone thirdparty files to thirdparty/misc
Also move Box2D ConvexDecomposition contrib code to
thirdparty/b2d_convexdecomp.
2017-04-28 21:19:25 +02:00
Ferenc Arn b6259661ce Detect SSE/SSE2 for libsquish. 2017-04-28 12:47:35 -05:00
Daniel J. Ramirez f045efe007 Add new editor and default theme (WIP) 2017-04-27 08:04:57 +02:00
Paulb23 c4ffe89204 Changed indent type settings 2017-04-26 12:14:03 +01:00
Rémi Verschelde cdf0fbd8e8 Merge pull request #8522 from NNesh/mus
Fix AudioPlayer bugs with OGG
2017-04-26 08:13:30 +02:00
NNesh 6cf0c62221 Fix AudioPlayer.get_pos() always returns 0 2017-04-25 17:02:45 +05:00
Ramesh Ravone 924bccdbd1
Honoring the Indent setting for gdscript 2017-04-25 06:57:49 +05:30
NNesh 0edc3d7208 Fix AudioPlayer.play() bug when music always starts from 0 pos 2017-04-25 01:57:05 +05:00
Karroffel 67886bab1e fixed a bug where saving a GDScript file crashed the editor
I changed the loop in #8502, turns out it fixed the error I was facing but introduced a new one. This fixes both
2017-04-24 19:26:32 +02:00
Rémi Verschelde 9acfb0782c Merge pull request #8444 from magyar123/pr-complete-paths
Script editor now automatically completes file paths in GDScript
2017-04-24 11:37:57 +02:00
Rémi Verschelde 68870af214 Merge pull request #8420 from magyar123/pr-script-files-as-base
Added the ability to select files as base when creating scripts
2017-04-24 11:28:36 +02:00
Rémi Verschelde d7578792ca Merge pull request #8496 from akien-mga/stdout-cleanup
Fix property warnings and hide some debug prints
2017-04-24 11:04:16 +02:00
Karroffel 885239fb09 re-added MultiScript
The very first Godot version (when it was open sourced) had "MultiScript" which lets you use multiple scripts on one object.
With the addition of mulitple new scripting languages (VisualScript, soon C# and GDNative) it can be of use to combine scripts rather than delegating (with huge maintainance cost) or creating child nodes
which could impact performance.

I used the code from 0b806ee as the base and made it work with the current master.
2017-04-24 01:49:40 +02:00
Rémi Verschelde 515f92d03b Fix property warnings and hide some debug prints
"ALL IS GOOD" was a lie.

In particular, removes verbose "path not recognized" false positive.

The actual logic is to (somewhat naively) check all ResourceFormatLoaders
and to pick the first good match, so no need to warn about the formats
that do not match the type hint.
2017-04-23 11:17:32 +02:00
Karroffel a6e75c9437 [GDNative] fixed msvc build 2017-04-20 13:15:45 +02:00
Rémi Verschelde 22b9c0207b Merge pull request #8417 from neikeq/hello-there
External editor improvements and fixes
2017-04-20 02:20:04 +02:00
Karroffel d4f4f14c68 [GDNative] explicit calling convention 2017-04-19 15:51:33 +02:00
mbalint12 71978685f9 Added autocomplete for file paths in the script editor 2017-04-18 17:22:01 +02:00
Rémi Verschelde 5237bc952d Merge pull request #8424 from Paulb23/convert_indent
Support for space indentation
2017-04-18 14:16:58 +02:00
Paulb23 c59bd79e02 Convert indent on save 2017-04-18 12:30:52 +01:00
Paulb23 84bca4e72f Added support for space indentation 2017-04-18 12:30:46 +01:00
Thomas Herzog 68d79b21c3 Merge pull request #8440 from karroffel/gdnative-new-method
[GDNative] added "new" method and fixed headers
2017-04-17 20:41:32 +02:00
Thomas Herzog a88c20f0ca Merge pull request #8439 from touilleMan/correct_gdnative_signatures
Correct gdnative signatures
2017-04-17 19:55:42 +02:00
Karroffel f4261c8868 [GDNative] added "new" method and fixed headers 2017-04-17 19:52:18 +02:00
Emmanuel Leblond e7134ce283
gdnative: Implement missing function for godot_basis. 2017-04-17 19:05:00 +02:00
Emmanuel Leblond 707eedfa85
gdnative: modify vector2&vector3 functions signature to use value passing instead of ptr. 2017-04-17 16:43:43 +02:00
Emmanuel Leblond 8400de76a7
Add godot_string_unicode_str to GDnative 2017-04-17 15:48:26 +02:00
Ignacio Etcheverry 4b8568006d External editor improvements and fixes
Notable changes:

- Now ScriptLanguages have the option to override the global external editor setting.
If `ScriptLanguage::open_in_external_editor()` returns `ERR_UNAVAILABLE` (which it does by default), then the global external editor option will be used.
- Added formatting to the external editor execution arguments. Now it's possible to write something like this: `{project} -g {file}:{line}:{col}`.
- `VisualScript::get_member_line()` now can return the line of functions (well, it returns the id of the _Function_ node of the function). I guess there is nothing else we can get a "line" from.

Fixes:

- Fixes a bug where `ScriptEditor::script_goto_method()` would not work if the script is not already open in the built-in editor.
- Fixes wrong DEFVAL for `cursor_set_column` and `cursor_set_line` in TextEdit.
- `Script::get_member_line()` now returns -1 ("found nothing") by default.
2017-04-17 01:51:30 +02:00
mbalint12 a3afec588c Added the ability to select files as base when creating scripts 2017-04-15 23:29:09 +02:00
Emmanuel Leblond 7013cd984b
Correct indentation in gdnative vector2/3 2017-04-15 01:06:42 +02:00
Emmanuel Leblond e5f7f656d6
Implement missing functions in gdnative vector2 and vector3 bindings 2017-04-15 00:29:43 +02:00
Karroffel be2ad4f155 [GDNative] made string functions more C-friendly 2017-04-11 14:58:59 +02:00
Karroffel 544940c175 [GDNative] C API and generator fixes 2017-04-11 01:45:58 +02:00
Karroffel 7919ec6d89 [GDNative] re-enabled some init options 2017-04-11 01:45:58 +02:00
Thomas Herzog 2ac0cf568d Merge pull request #8350 from karroffel/gdnative-api-reference-field
[GDNative] added is_reference filed to api.json
2017-04-10 22:30:57 +02:00
Karroffel c562cc9ea0 [GDNative] added is_reference filed to api.json 2017-04-10 21:32:20 +02:00
Karroffel cf45f3ab4b [GDNative] function to get class constructor 2017-04-10 19:56:12 +02:00
Rémi Verschelde 5598040e43 Merge pull request #8339 from karroffel/gdnative-reload-fix
[GDNative] Didn't iterate over all scripts
2017-04-10 08:53:49 +02:00
Sergey Pusnei 8589ca3903 Rename [gs]et_pos to [gs]et_position for Controls
Control set_pos -> set_position
Control set_global_pos -> set_global_position
[gs]et_mouse_pos -> [gs]et_mouse_position
[gs]et_global_mouse_pos -> [gs]et_global_mouse_position
fixes #8005
2017-04-10 08:27:34 +02:00
Karroffel 0486645c39 [GDNative] Didn't iterate over all scripts 2017-04-10 04:30:08 +02:00
Karroffel c7f8b22ba0 renamed dlscript module to gdnative 2017-04-09 21:07:53 +02:00
Rémi Verschelde 0198d2e03c Merge pull request #8329 from touilleMan/dlscript-godot_get_global_constants
GlobalConstants support in DLScript & api.json
2017-04-09 19:40:54 +02:00
Emmanuel Leblond b423529481
Change dlscript's godot_get_global_constants signature to return godot_dictionary 2017-04-09 19:04:10 +02:00
Emmanuel Leblond d48aabcec1
Add GlobalConstants entry to the dlscript's api.json generator 2017-04-09 11:47:53 +02:00
Bojidar Marinov 7cc561fe0e
Fixup #8123, seems like I forgot a few things
Should close #8315
Please test, I'm still unsure I did it correctly...
2017-04-08 19:42:37 +03:00
Emmanuel Leblond 68ae50ecc2
Add godot_get_global_constants function to dlscript 2017-04-08 17:16:58 +02:00
Rémi Verschelde fce779a4ef Merge pull request #8301 from karroffel/dlscript-refactor
[DLScript] refactoring and in-editor reloading
2017-04-08 16:49:46 +02:00
Andreas Haas fe4336f165
DLScript: Fix llvm compilation error.
`Ordered comparison between pointer and zero`
2017-04-08 12:18:20 +02:00
Karroffel 5695d9892e [DLScript] in-editor reloading 2017-04-08 01:28:14 +02:00
Rémi Verschelde df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Juan Linietsky 74808ac4d9 New particle system, mostly working, some small features missing. 2017-04-06 23:49:27 -03:00
Karroffel 8cd3f81886 [DLScript] refactored loading of libraries
I also enabled DLSCRIPT_EDITOR_FEATURES as the default.
It might not be the most usable because of the lack of a reloading functionality,
but as Zylann pointed out "It's better to see something than nothing at all"
2017-04-07 04:47:58 +02:00
Karroffel 741800f5cc [DLScript] fixed android builds now
... really.
2017-04-06 14:00:54 +02:00
Rémi Verschelde ab02206f18 Merge pull request #8280 from karroffel/dlscript-inheritance
[DLScript] inheritance fixes
2017-04-06 08:09:16 +02:00
Rémi Verschelde f5f9b220f9 Merge pull request #8276 from karroffel/dlscript-stl
[DLScript] API fixed and removed STL imports
2017-04-06 08:08:54 +02:00
curtisxk38 d35fab7382 Fix typo in Parser Error message 2017-04-05 23:11:05 -04:00
Karroffel 12514cfebc [DLScript] inheritance fixes
This properly implements script inheritance for DLScripts.
2017-04-06 03:39:06 +02:00
Karroffel 7d914a289c [DLScript] more API fixes 2017-04-06 01:49:09 +02:00
Karroffel 71a99d5517 [DLScript] removed STL imports 2017-04-06 00:22:37 +02:00
Karroffel fa7e167a92 [DLScript] fixed virtual method export 2017-04-05 17:08:23 +02:00
Karroffel c6645d6a40 [DLScript] removed unused import
This hopefully fixes android builds
2017-04-05 14:08:26 +02:00
Karroffel 6c49fe9c62 [DLScript] added variant constructor and a function to get userdata of a script
The godot_dlinstance_get_userdata() function can be used to get the DLScript userdata pointer of any object that has a DLScript attached to it.
This is particularly useful and even required for language bindings to work properly.

This also fixes non-tool builds.
2017-04-04 23:02:46 +02:00
Rémi Verschelde 46bc14e66f Merge pull request #8246 from GodotNativeTools/dlscript-module
DLScript module
2017-04-04 00:25:03 +02:00
Karroffel fd55308786 added dlscript module
This module was written by bojidar-bg and me, with the help of ClikCode and touilleMan.

This adds a module to Godot that enables the use of dynamic libraries as a source for scripts.
That also allows third party libraries to be linked to Godot more easily and without creating modules.

For a readme see https://github.com/GodotNativeTools/godot_headers/blob/master/README.md
2017-04-03 17:20:11 +02:00
Saggi Mizrahi c464609bda Add '$' to token names
It was missing from this array and would cause godot to crash or report
bad errors.

Signed-off-by: Saggi Mizrahi <saggi@mizrahi.cc>
2017-04-01 03:20:23 +03:00
Rémi Verschelde d8f32637be SCons: Add option to toggle warnings (on by default)
All the warnings are factored out of the platform-specific files and moved to
SConstruct. Will have to check that it does not introduce regressions on some
platforms/compilers.

(cherry picked from commit 31107daa1a)
2017-03-26 21:58:37 +02:00
Rémi Verschelde 495710c3d6 Merge pull request #8123 from bojidar-bg/gdscript-inline-block-indent
Make inline blocks in GDScript more (or less) pythonic
2017-03-24 22:52:09 +01:00
Rémi Verschelde 296ece2c6a Merge pull request #7985 from Faless/enet_godot_sock_squash
Update ENet to use Godot sockets.
2017-03-24 22:47:18 +01:00
Rémi Verschelde debeee56f7 Fix typos in source code using codespell
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Fabio Alessandrelli 0450e6539e ENet code cleanup and changes from review. 2017-03-24 02:30:11 +01:00
Fabio Alessandrelli 38d457170a Update ENet module to support custom ENet lib
Keep compatibility with upstream enet libraries
2017-03-24 02:30:05 +01:00
Bojidar Marinov 18ab88b3f1
Make inline blocks in GDScript more pythonic
Fixes #8001
2017-03-23 20:07:02 +02:00
Rémi Verschelde 33a2c5def0 Merge pull request #8095 from RandomShaper/fix-yield-crash
Fix random crashes when using yield()
2017-03-21 11:07:07 +01:00
Pedro J. Estébanez 0664a9ef8e Fix random crashes when using yield() 2017-03-21 02:53:06 +01:00
Rémi Verschelde 26c6c2b01a Fix linking order for builtin freetype
Before this change the libfreetype_builtin.a lib would be appended
at the very end of the linking flags, after system libs such as -lX11
or -lkernel32.
2017-03-19 15:19:31 +01:00
Rémi Verschelde 00c4782910 Merge pull request #8051 from RayKoopa/resizable_new_node_dialog
Make Create New Node dialog resizable and burninate old dialog
2017-03-18 14:52:34 +01:00
Ray Koopa c0c4ba4e94 Make Create New Node dialog resizable and burninate old dialog 2017-03-18 11:21:50 +01:00
mbalint12 edaf77abd6 Fixed typo in gdscript autocompletion.
There was a missing '!' sign, but autocompletion shows parent script members too.
2017-03-17 23:27:44 +01:00
Pedro J. Estébanez 31af5a31fb Skip asserts on non-debug builds at compiler level 2017-03-13 00:25:29 +01:00
Rémi Verschelde 6163343118 Make that Whole New World great again
Fix regression from 5dbf180 that broke Windows build.
2017-03-05 19:12:22 +01:00
Rémi Verschelde 5dbf1809c6 A Whole New World (clang-format edition)
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?

I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon

A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format

A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Rémi Verschelde e1c1d7d1d7 Add a bunch of missing Godot headers in own files 2017-03-05 15:47:28 +01:00
Rémi Verschelde 49c065d29c Refactoring: rename tools/editor/ to editor/
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.
2017-03-05 14:21:25 +01:00
Ferenc Arn 790611ef26 Added missing FIXMEs in PR #7878 2017-03-02 16:13:01 -06:00
Rémi Verschelde a1cbe8e22b Merge pull request #7878 from RebelliousX/else
Bunch of missing `else` statements and general logic
2017-02-28 23:03:10 +01:00
Saracen 5e938f0001 Inf and NaN support added to GDScript. 2017-02-28 21:52:33 +00:00
Thaer Razeq f50488a361 Various fixes detected using PVS-Studio static analyzer.
- Add FIXME tags comments to some unfixed potential bugs
- Remove some checks (always false: unsigned never < 0)
- Fix some if statements based on reviews.
- Bunch of missing `else` statements
2017-02-28 07:52:02 -06:00
Rémi Verschelde 1ec8b9fb7d Merge pull request #7851 from shlomif/fix-some-compilation-warnings
Get rid of some compilation warnings.
2017-02-26 20:22:48 +01:00
Rémi Verschelde 0f12d0a924 Merge pull request #7827 from volzhs/libwebp-0.6.0
Update libwebp to 0.6.0
2017-02-26 20:13:31 +01:00
Rémi Verschelde a78c314b0e Merge pull request #7809 from hpvb/fix-6798
Allow preload to accept a const string.
2017-02-26 20:12:36 +01:00
Shlomi Fish 0a2c387d5c Fix some compilation warnings.
Redone the commit based on the input in
https://github.com/godotengine/godot/pull/7851 . Not all warnings were
fixed but it's a start.
2017-02-21 11:59:19 +02:00
Juan Linietsky de0045cf1b -renamed globals.h to global_config.cpp (this seems to have caused a few modified files)
-.pck and .zip exporting redone, seems to be working..
2017-02-21 00:06:30 -03:00
volzhs 6de3defe72 Update libwebp to 0.6.0 2017-02-17 23:49:40 +09:00
Hein-Pieter van Braam b696beea65 Correct hash behavior for floating point numbers
This fixes HashMap where a key or part of a key is a floating point
number. To fix this the following has been done:

* HashMap now takes an extra template argument Comparator. This class
gets used to compare keys. The default Comperator now works correctly
for common types and floating point numbets.

* Variant implements ::hash_compare() now. This function implements
nan-safe comparison for all types with components that contain floating
point numbers.

* Variant now has a VariantComparator which uses Variant::hash_compare()
safely compare floating point components of variant's types.

* The hash functions for floating point numbers will now normalize NaN
values so that all floating point numbers that are NaN hash to the same
value.

C++ module writers that want to use HashMap internally in their modules
can now also safeguard against this crash by defining their on
Comperator class that safely compares their types.

GDScript users, or writers of modules that don't use HashMap internally
in their modules don't need to do anything.

This fixes #7354 and fixes #6947.
2017-02-16 18:44:29 +01:00
Hein-Pieter van Braam 3e5743ca36 Allow preload to accept a const string.
In preload() parsing this code will lookup the identifier in the local
constant database. If the identifier corresponds to a string constant
it is used as the path for preload().

Currently this does not work for global constants, only constants
declared in the same class as the preload is happening. We can implement
a full fix too. Maybe we can use this PR to discuss the possibilities.

This (partially) fixes #6798
2017-02-16 14:29:18 +01:00
Juan Linietsky da11d6d9e8 Many fixes to make exported scenes work better, still buggy. 2017-02-15 08:34:02 -03:00
Juan Linietsky d7fd86d51a -begin of export work, not done yet
-fixes to make scenes exported from godot 2.x work
2017-02-15 08:30:32 -03:00
Hein-Pieter van Braam e8611966de Remove bounds check when resuming from yield.
The code would get a pointer to the beginning of the call_args by using
operator[] at the stack Vector. This does bound checking. When there are
no call_args this bound check fails and the error mentioned in #7796
gets triggered.

This bound check is actually not necessary as call_args just gets set to
NULL and never dereferenced. This new code will just unconditionally set
the pointer to the place where the call_args are if there are any. There
is no NULL check for call_args anywhere so this is safe.

Fixes #7796
2017-02-13 21:59:05 +01:00
Hein-Pieter van Braam 411ee71b4d Rename the _MD macro to D_METHOD
This new name also makes its purpose a little clearer

This is a step towards fixing #56
2017-02-13 12:50:02 +01:00
Hein-Pieter van Braam 0f687f0ccb Remove use of _SCS from ADD_METHOD
This saves typing and is a step towards fixing #56
2017-02-13 10:37:47 +01:00
Rémi Verschelde 530de920d4 Merge pull request #7723 from lonesurvivor/gdscript-range-fix
Fix parsing bug which causes range(variable) to crash the engine
2017-02-12 23:13:08 +01:00
Juan Linietsky 6f2e16306a Several bugfixes, improving the import workflow 2017-02-06 00:38:39 -03:00
lonesurvivor c71a6c6d71 Fix parsing bug which causes range(variable) to crash the engine
problem was a segmentation fault caused by trying to access Vector constants[0] which isn't there if op->arguments.size() is not bigger than one.

- the changed OR condition didn't make sense (always true), should be AND
- changes the "constant" variable to be false per default and gets set to true when there is actually something pushed to "constants"
2017-02-04 20:57:39 +01:00
Juan Linietsky d2b2d6801f Changed OGG Vorbis type to be imported, so it's possible to specify loop 2017-02-03 08:55:29 -03:00
Juan Linietsky 96de0141cc Removed import/export system, will start new one from scratch. 2017-01-25 21:57:08 -03:00
Rémi Verschelde 5027799c13 Merge pull request #7583 from karroffel/wildcard
made _ a special token in GDScript
2017-01-23 07:55:11 +01:00
Juan Linietsky 0aa7242624 WIP new AudioServer, with buses, effects, etc. 2017-01-21 19:01:00 -03:00
karroffel c24c739da5 made _ a special token in GDScript 2017-01-20 09:26:55 +01:00
Ferenc Arn 6f4f9aa6de Overloaded basic math funcs (double and float variants). Use real_t rather than float or double in generic functions (core/math) whenever possible.
Also inlined some more math functions.
2017-01-16 13:36:33 -06:00
Rémi Verschelde bf05dab74f Merge pull request #7532 from tagcup/pcg_prng
Replace the existing PRNG (Xorshift31) with (minimal) PCG-32.
2017-01-16 20:06:54 +01:00
Rémi Verschelde 2a0ddc1e89 Style: Various fixes to play nice with clang-format 2017-01-16 08:49:52 +01:00
Rémi Verschelde f44ee891be Style: Fix statements ending with ';;' 2017-01-16 08:49:52 +01:00
Rémi Verschelde 40323407df Style: No break before list brace
clang-format does not handle that well *at all*.

For the reference, found the relevant pieces of code with:
`ag "=[ "$'\t'"]?"$'\n'"[ "$'\t'"]?{" --ignore=thirdparty`
2017-01-16 08:48:24 +01:00
Rémi Verschelde 3890256fc5 Style: Cleanups, added headers, renamed files
Made sure files in core/ and tools/ have a proper Godot license header
when written by us. Also renamed aabb.{cpp,h} and object_type_db.{cpp,h}
to rect3.{cpp,h} and class_db.{cpp,h} respectively.

Also added a proper header to core/io/base64.{c,h} after clarifying
the licensing with the original author (public domain).
2017-01-16 08:04:23 +01:00
Ferenc Arn 4c9004671a Replace the existing PRNG (Xorshift31) with (minimal) PCG (XSH-RR variant with 32-bit output, 64-bit state).
PCG is better than many alternatives by many metrics (see www.pcg-random.org) including statistical quality with good speed.
2017-01-15 19:15:16 -06:00
Juan Linietsky b400c69cd4 Oops! Audio engine has vanished :D 2017-01-15 16:07:51 -03:00
Rémi Verschelde e0faf8a51b Style: Cosmetic fixes to play nice with clang-format 2017-01-15 16:42:17 +01:00
James Mintram dab73c701a Compile error when duplicate key in dictionery literal #7034 2017-01-14 22:08:49 +01:00
Juan Linietsky 4261880c94 Merge pull request #6845 from karroffel/master
Adds pattern matching to GDScript
2017-01-14 17:08:10 -03:00
Juan Linietsky 7924f08a6a Merge pull request #4918 from jjay/f/error_on_redefine
Redefine var results in an error
2017-01-14 17:07:08 -03:00
Juan Linietsky dcb95ec147 removed duplicated functions in class hierarchy that were bound more than once
added a check to detect this case in the future
2017-01-14 11:10:42 -03:00