Commit Graph

1727 Commits

Author SHA1 Message Date
Ignacio Etcheverry f1f8fd1b68 Adds _OS::PowerState enum 2017-09-16 12:28:23 +02:00
karroffel 308d20aba5 added JSON singleton
There was no way to access JSON functionality in scripting languages
apart from GDScript because the JSON class wasn't exposed to ClassDB.
2017-09-15 15:40:27 +02: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
Wilson E. Alvarez 0f4643a4f6 Moved class_name and return_val to initializer list 2017-09-14 12:54:37 -04: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
Rémi Verschelde ae4cd72e62 Drop unused EventQueue class
Thanks to @Marqin for the notice.
2017-09-13 20:56:23 +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
Marcelo Fernandez 83fe937362 Added a crash handler to dump the backtrace on Windows, Linux and OS X 2017-09-13 10:07:23 -03:00
Rémi Verschelde 42504ef0d4 Merge pull request #11062 from BastiaanOlij/osx_datapack
Fixed loading package from resource folder, exporting textures to bun…
2017-09-13 11:11:01 +02:00
Rémi Verschelde e73e00d369 Style: Apply clang-format to @reduz's changes
[ci skip]
2017-09-13 09:13:34 +02:00
Geequlim ae18b1f83f Expose more methods for UndoRedo 2017-09-13 12:18:51 +08:00
Dylan Enloe 8bff891f3c Adds 3 and 4 digit html shortcuts to Color
Color::html now expands 3 and 4 digit hex values into 6 and 8 digit
values by repeating each digit. This is to bring it in line with how
html handles these values

fixes #10997
2017-09-12 14:05:33 -07: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
Cradmon 15fa2194a6 Refactor core/set.h 2017-09-12 14:10:35 +01:00
Rémi Verschelde aebf4fb48c Merge pull request #11106 from hpvb/documentation-fix-poolarrays
Correct the Pool*Array documentation
2017-09-12 15:02:22 +02:00
Rémi Verschelde 26017499a5 Merge pull request #11049 from scayze/astar_get_points
Add get_points() method to AStar
2017-09-12 14:07:06 +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
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
Rémi Verschelde 8da1732013 Merge pull request #11044 from hpvb/fix-enum-as-bool
Fix using enum as bool value
2017-09-12 11:18:27 +02:00
Rémi Verschelde dbb28559db Merge pull request #11040 from hpvb/fix-enum-compare
Fix warnings comparing enums of different types
2017-09-12 11:17:28 +02:00
Rémi Verschelde 3941e01a57 Merge pull request #11041 from hpvb/fix-clang-format-error
Fix serveral recent new clang-format errors

[ci skip]
2017-09-12 11:16:36 +02:00
geequlim 20442d0a89 Add user data directory support for ProjectSettings::globalize_path 2017-09-10 16:33:54 +08:00
Hein-Pieter van Braam daa66cd5c2 Correct the Pool*Array documentation 2017-09-09 16:39:22 +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
BastiaanOlij 099546ac00 Fixed loading package from resource folder, exporting textures to bundle and added a bit of feedback for a debug compile 2017-09-08 11:39:32 +10:00
Hein-Pieter van Braam 5e18967d77 Fix serveral recent new clang-format errors 2017-09-08 00:20:16 +02:00
Juan Linietsky eedb39091a Several fixes to directional shadows, closes #10926
Added option to change directional light range mode, between optimized and stable. For Orthogonal, you might need to use optimized.
2017-09-07 18:00:47 -03:00
mrawlingst 6aa5bc2347 Change Color.to_32() to to_rgba32() and format as RGBA 2017-09-07 16:19:44 -04:00
Scayze 6872cc7b12 Add get_points method to AStar 2017-09-07 19:15:46 +02:00
Hein-Pieter van Braam 6fb86dda8a Fix using enum as bool value
This warning actually hid a bug. The value of ERR_INVALID_DATA is
actually 30, returning this as a bool returns true while false was
required.
2017-09-07 11:39:14 +02:00
Hein-Pieter van Braam 0b23a31b43 Fix warnings comparing enums of different types
This fixes a source of many compiler warnings regarding comparing the
enum VARIANT_TYPE to Variant::Type. This changes the local value to a
static const Variant::Type value rather than an unrelated enum, this
also saves us a cast.
2017-09-07 09:03:11 +02:00
Juan Linietsky c771e03ee2 -Fixed changes to default input actions not working, closes #10502
-Added Array.duplicate() method, needed to fix above
2017-09-06 18:14:04 -03:00
Ignacio Etcheverry 96b205d2ed Fixes ERR_EXPLAIN being overwritten 2017-09-06 04:43:07 +02:00
Thomas Herzog dcdde2f5a9 Merge pull request #10993 from endragor/nativescript-property-order
Provide NativeScript properties in definition order
2017-09-05 11:47:51 +02:00
Ruslan Mustakov 269203a022 Provide NativeScript properties in definition order 2017-09-05 12:45:23 +07:00
Evgeny Zuev a0bdb6e2f6 Optimize memory allocations in VariantParser::get_token 2017-09-05 11:04:33 +07:00
Evgeny Zuev cae0059d5f Add StringBuffer class 2017-09-05 11:04:11 +07:00
Rémi Verschelde efa50fbdfd Merge pull request #10975 from hpvb/remove-null-check-from-cast-to
Remove NULL check from Object::cast_to()
2017-09-05 00:14:35 +02:00
Thomas Herzog 84c33cfe6b Merge pull request #10860 from karroffel/bob-the-string-builder
added StringBuilder class
2017-09-04 23:44:23 +02:00
Hein-Pieter van Braam f8cb9f5516 Remove NULL check from Object::cast_to()
After discussing this with @reduz on IRC we agreed to remove these
checks. We now consider cast_to() to be NULL safe
2017-09-04 22:29:43 +02:00
Juan Linietsky 6d233c651b -Changed KinematicBody API yet again to make it friendlier
-Fixed get_scale functions (and added set_scale) to make it more coherent when decomposing and composing (fixes bugs in transform interpolation)
2017-09-04 07:49:42 -03: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
Ignacio Etcheverry 52a7be4eef Fixes language overridden external editors 2017-09-03 21:23:36 +02:00
Juan Linietsky ce28452109 -Fixed EditorDirDialog, which was really old and needed to use EditorFileSystem
-Fixed refactoring tools to work with imported scenes (properly move .import files)
2017-09-03 00:24:36 -03:00
Rémi Verschelde 53e7f55a89 Merge pull request #10903 from neikeq/fix-defval-order-definitely-i-promise
Fixes order of default arguments in MethodInfo
2017-09-03 01:38:30 +02:00
Ignacio Etcheverry d1e00130e9 Fixes order of default arguments in MethodInfo
This time for real
2017-09-02 20:43:40 +02:00
Poommetee Ketson 459f526119 Fix typos 'a' and 'an' 2017-09-02 21:19:06 +07: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
Ignacio Etcheverry 6209b72b07 Merge pull request #10862 from neikeq/fix-defvals-methodinfo
Fixes reversed order of default arguments in MethodInfo
2017-09-01 21:19:58 +02:00
Karroffel 95a0886f93 added StringBuilder class
When doing large string concatenations the default push_back on the
String class can slow down things quite a bit. This is because it
has to constantly reallocate the memory and copy the contents. This
StringBuilder class delays the concatenation until the size of the
resulting string is known.
2017-09-01 19:52:32 +02:00
Ignacio Etcheverry 27ca7e7313 Fixes reversed order of default arguments in MethodInfo 2017-09-01 16:33:16 +02:00
Poommetee Ketson ed606ded52 Fix files header 2017-09-01 21:07:55 +07:00
Rémi Verschelde 1e0fc4dc4e Merge pull request #10318 from endragor/ordered-hash-map
Implement OrderedHashMap
2017-09-01 13:09:30 +02:00
Hein-Pieter van Braam 2ea5d33358 Has_method is already provided by Object
c812c17633 introduces some extra gdscript bindings for signal discovery
and adds a binding for has_method() to Script objects. This method is
already provided by the ancestor Object.

This fixes the startup message:
ERROR: bind_methodfi: Class Script already has a method has_method
   At: core/class_db.cpp:1178.
2017-09-01 09:04:08 +02: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
Juan Linietsky d39e79e7ec Fix issues regarding reload of resources in imported scenes. Closes #10017 2017-08-31 18:57:44 -03:00
Rémi Verschelde f00760b22c Merge pull request #10382 from toger5/dark_icons
Light Theme
2017-08-31 11:47:18 +02:00
toger5 426c6b2c49 added to_ABGR32() to core/Color 2017-08-30 21:20:01 +02:00
Ferenc Arn 5ad8d310f2 Add a new decomposition to Basis.
This new decomposition splits the basis into a rotation-reflection matrix and a positive scaling matrix, which is required for physics calculations.
2017-08-30 09:37:18 -04:00
Ferenc Arn a0bbf5c9af Remove Basis::set_scale and Basis::set_rotation_* functions.
Those functions were added in #8277 but they did more harm than good. They're subtle, don't do what people think and requires users to understand the non-uniqueness of polar decomposition. They ended up confusing people.

Until we store additional information enough to make a unique polar decomposition, these functions shouldn't be a part of Basis.
2017-08-29 21:47:59 -04:00
Juan Linietsky 145ff58277 Fix constant reimport on broken files, closes #9930 2017-08-29 20:17:59 -03: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 ddb1ce08c3 Fixes missing default arguments in MethodInfo 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
Juan Linietsky c812c17633 Made some methods to check method/signal availability in GDScript, closes #9800 2017-08-29 14:33:27 -03:00
Wilson E. Alvarez b9d0579be9 Removed ParamDef and ParamHint structs 2017-08-29 04:28:17 -04: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
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
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 c90bfcb1c6 Re-apply clang-format to all files
Some badly formatted code has managed to pass through our CI...
2017-08-27 14:16:32 +02:00
Ignacio Etcheverry b50a937fe6 MethodBind: Adds operator== to compare by id 2017-08-26 21:41:25 +02:00
Rémi Verschelde 53c0010932 Merge pull request #10658 from henkz1/android-build
Fix Android build
2017-08-26 20:32:23 +02:00
Poommetee Ketson 4950ef7478 Fix double single quotes in `connect` error print 2017-08-27 00:46:33 +07:00
Henrik Andersson 3cd3c1da5f Fix refactored Object::cast_to in NO_SAFE_CAST branch 2017-08-26 18:59:37 +02:00
Rémi Verschelde 9f1e3903df Merge pull request #10648 from Xrayez/image-get-size
Add handy get_size() method to Image class
2017-08-26 18:37:08 +02:00
Rémi Verschelde 565600e844 Cleanup tons of obsolete commented out code
Mostly in EditorNode, dropping some obsolete editor plugins and also a
cleanup of ProjectSettings/EditorSettings.
2017-08-26 17:47:57 +02:00
Andrii Doroshenko (Xrayez) 4de96518c8 Add handy get_size() method to Image class 2017-08-26 15:01:21 +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
Hein-Pieter van Braam 4aa2c18cb4 Add a static version of Object::cast_to()
This is to prepare to replace all instances of the member version of
cast_to().
2017-08-24 23:08:24 +02:00
volzhs 62bb600b5c Show proper string with InputEvent.as_text() 2017-08-25 01:14:36 +09:00
Juan Linietsky 05a6785344 GCC fixes 2017-08-24 00:50:16 -03: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
Wilson E. Alvarez 298a6934b6 Moved member variables to initializer list 2017-08-22 11:47:50 -04:00
Juan Linietsky 8a4e05a440 Merge pull request #10520 from RandomShaper/fix-double-parsing
Fix tokenization of doubles
2017-08-22 10:02:42 -03:00
Rémi Verschelde 7f49e2a7a0 Merge pull request #10487 from marcelofg55/curscr_as_default
p_screen param from get_screen_* funcs now default to the current screen
2017-08-22 08:12:04 +02: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
Rémi Verschelde 13f879587d Merge pull request #10254 from marcelofg55/master
Added notification const NOTIFICATION_WM_ABOUT
2017-08-22 00:56:31 +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 92410df24c Merge pull request #10415 from tagcup/euler_hack
Fix incorrect workaround for pure Y (X) rotations in XYZ (YXZ) conven…
2017-08-22 00:54:39 +02: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
Pedro J. Estébanez 6759a28050 Fix tokenization of doubles
Fixes #9600.
2017-08-21 23:59:29 +02:00
Rémi Verschelde e9c43cecbf Merge pull request #10433 from djrm/pr_svg_support
SVG support
2017-08-21 23:49:07 +02:00
Marcelo Fernandez 63f847b306 p_screen param from get_screen_* funcs now default to the current screen 2017-08-21 18:28:29 -03:00
Rémi Verschelde de261ef380 Merge pull request #10484 from Sipaha/pr_mt_queue_deadlock_fix
Fix deadlock in CommandQueueMT
2017-08-21 22:55:07 +02:00
Wilson E. Alvarez 738d2ab969 Removed unnecessary assignments 2017-08-21 15:15:55 -04:00
Rémi Verschelde 4717d37bfa Merge pull request #10471 from akien-mga/args-doubledash
Third take at making command-line arguments more UNIX-like + main.cpp and help cleanup
2017-08-21 21:01:19 +02:00
Juan Linietsky 1be30f35a6 Fix binary object marshalling, closes #9472 2017-08-21 11:22:08 -03:00
Rémi Verschelde 93f1fb1c2f Fixes for new two-dash long command line arguments
- Fixes some single-dash leftovers that were missed in the previous commit
- Reorder the help output for clarity, and document missing options
- Drop obsolete options: --noop, --pack, --editor-scene, --level, --import, --import-script, --no-quit
- Improve error message on malformed arguments and do not display help on error
- Always use long form of arguments when starting a new Godot process from C++, for clarity and easy grepping
- Cleanup obsolete code here and there
2017-08-21 08:09:22 +02:00
Juan Linietsky 533014b88c simplify the way window is allowed to steal focus, no longer relying on project.godot. Closes #9459 2017-08-20 23:42:54 -03:00
Ignacio Etcheverry 32dd9a9f66 ClassDB: Provide the enum name of integer constants 2017-08-20 22:07:43 +02:00
Daniel J. Ramirez da8fecf25e Added support for SVG 2017-08-20 13:53:02 -05:00
Sipaha f6ee4cac39 Move wait_for_flush out of queue lock 2017-08-21 01:10:44 +07: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 f6c39830cb Merge pull request #10481 from neikeq/water-store-remark
Fixes Ref's GetTypeInfo missing with ptrcall disabled
2017-08-20 16:34:38 +02:00
Ignacio Etcheverry af4c4397df Fixes Ref's GetTypeInfo missing with ptrcall disabled 2017-08-20 14:28:22 +02:00
Przemysław Gołąb (n-pigeon) 6d56c73de7 Exposed Transform.interpolate_with()
Additionaly changed values names for 2D version to more descriptive ones.
2017-08-20 00:09:45 +02:00
Juan Linietsky b9dcebb37c Revert "Second take at making command-line arguments more UNIX-like + main.cpp and help cleanup" 2017-08-19 17:47:27 -03:00
Rémi Verschelde 70b0857f6c Fixes for new two-dash long command line arguments
- Fixes some single-dash leftovers that were missed in the previous commit
- Reorder the help output for clarity, and document missing options
- Drop obsolete options: --noop, --pack, --editor-scene, --level, --import, --import-script, --no-quit
- Improve error message on malformed arguments and do not display help on error
- Cleanup obsolete code here and there
2017-08-19 16:48:11 +02:00
Ignacio Etcheverry fd69604bd9 Adds editor_hint to Engine class 2017-08-19 01:03:12 +02:00
Rémi Verschelde 18a7315381 Rename localization method to `tr` again
Partial revert of #10380 based on contributor ~~bullying~~ feedback.
2017-08-18 22:38:38 +02:00
Juan Linietsky 72be8876ea Properly manage drawing of primitives when they lack an area, fixes #8930 2017-08-18 15:12:48 -03:00
Poommetee Ketson d28da86f9f GDScript Built-in: add inverse_lerp & range_lerp 2017-08-18 21:49:03 +07:00
Juan Linietsky dc62389739 -Properly check limits to objects sent (regarding to size), fixes #9034
-Changed the way objects are marshalled and sent to the debugger
-Editing debugged objects happens in the remote inspector now
2017-08-18 10:59:31 -03:00
Rémi Verschelde 1a92906b68 Merge pull request #10406 from marcelofg55/closest_power_of_2
Add closest_power_of_2 func and implement mix_rate/latency on OS X
2017-08-18 08:12:56 +02:00
Ferenc Arn 94aa4092f5 Fix incorrect workaround for pure Y (X) rotations in XYZ (YXZ) convention.
Fixes #10352.
2017-08-18 01:45:36 -04: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 ee59e627de Merge pull request #10380 from akien-mga/XL_MESSAGE
Rename `XL_MESSAGE`/`tr` to `localize`
2017-08-17 22:41:55 +02:00
Rémi Verschelde c72529baf0 Rename `XL_MESSAGE` aka `tr` to `localize`
Also renames `set_message_translation` to `set_message_localization`
for consistency.
2017-08-17 18:10:22 +02:00
Marcelo Fernandez aae29c7a0e Added notification const NOTIFICATION_WM_ABOUT 2017-08-17 11:28:45 -03:00
Rémi Verschelde a8a6082dc0 Merge pull request #8899 from toger5/BetterFlatStylebox
Better flat stylebox with rounded corners
2017-08-16 18:15:04 +02:00
TwistedTwigleg 00f6c85928 Synchronize parameter names in definition and declaration
Fixes #10244.
2017-08-16 17:22:23 +02:00
Rémi Verschelde 035d74f54a Rename cull_AABB to cull_aabb
Part of #8830.
2017-08-16 17:01:05 +02:00
Rémi Verschelde a8207b2dc7 Merge pull request #10264 from Rubonnek/use-const-reference
Use const reference where favorable
2017-08-16 16:41:35 +02:00
kubecz3k edd6dce622 Merge pull request #10334 from Faless/fix_spbuffer_utf8
Fix StreamPeer put_utf8_string not working
2017-08-15 23:06:40 +02:00
toger5 c39ac8650d Added Corner Enum 2017-08-15 19:36:34 +02:00
Andreas Haas 155402dc1b
Removing a Resource also deletes imported files. 2017-08-15 01:13:41 +02:00
Wilson E. Alvarez 21d281c4a9 Use const reference where favorable 2017-08-14 13:28:06 -04:00
Juan Linietsky b7571582ed Ability to save objects to binary format 2017-08-14 11:59:23 -03:00
Fabio Alessandrelli 74795b98da Fix StreamPeer put_utf8_string not working 2017-08-14 13:19:02 +02:00
Rémi Verschelde 0e81053de8 Merge pull request #10296 from raymoo/fixstreampeerbuffer
Fix broken stream reading in StreamPeerBuffer
2017-08-13 17:24:49 +02:00
Ruslan Mustakov 8d26748f80 Implement OrderedHashMap 2017-08-13 17:38:00 +07:00
Andreas Haas 5052cb2b91
InputEventJoypadMotion: Add missing is_pressed() method. 2017-08-12 13:04:14 +02:00
Raymoo f87100780e Fix broken stream reading in StreamPeerBuffer 2017-08-12 01:19:50 -07:00
Rémi Verschelde 5c6e41cc13 Merge pull request #10190 from tagcup/euler_yxz
Use YXZ convention for Euler angles.
2017-08-11 10:38:46 +02:00
Rémi Verschelde 7ed64327a9 Merge pull request #10163 from ISylvox/resoucre-to-resource
Core/io: Fix typo in resource_format_binary
2017-08-11 10:36:33 +02:00
Rémi Verschelde 5cb09d31d8 Merge pull request #10142 from bruvzg/3.0-osx-ime
Add IME support (macOS)
2017-08-11 10:35:10 +02:00
Rémi Verschelde 306c0471f7 Merge pull request #9987 from Rubonnek/move-members-to-initilization-list
Moved member variables from constructor to initialization list
2017-08-11 10:31:04 +02:00
Ignacio Etcheverry 78619a5866 Fixes method definitions with extra number of arguments 2017-08-10 07:17:51 +02:00
Ignacio Etcheverry b8420cda9c Removes type information from vararg method binds 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
Ignacio Etcheverry 46fdf16399 Improves method bind detection of signature types 2017-08-10 07:17:44 +02:00
bruvzg 8aa86cb9bc Implement NSTextInputClient protocol for IME 2017-08-09 19:09:33 +03:00
Ferenc Arn 53c23b0222 Use YXZ convention for Euler angles.
As discussed in issues #1479 and #9782, choosing the up axis (which is Y in Godot) as the axis of the last (or first) rotation is helpful in practical use cases.
This also aligns Godot's convention with Unity, helping with a smoother transition for people who are used to working with Unity (issue #9905).

Internally, both XYZ and YXZ functions are kept, for potential future applications.
2017-08-09 09:05:37 -04:00
Wilson E. Alvarez 6d112a68b6 Moved member variables from constructor to initialization list 2017-08-08 21:43:19 -04:00
Juan Linietsky 90a595ac42 Set some reasonable limits for sending information to the debugger, closes #5848 2017-08-08 20:55:22 -03:00
Indah Sylvia 51f56a4282 core/io: fix typo 'resoucre' to 'resource' 2017-08-08 12:02:49 +07:00
Juan Linietsky cd9539f85d Display the Y angle properly when rotating from gizmo, partially helps #1479 2017-08-07 15:09:08 -03:00
Rémi Verschelde e12b422c90 Merge pull request #10112 from ISylvox/completely-renaming-path_db
Renames Leftover 'path_db' -->> 'node_path'

[ci skip]
2017-08-07 15:09:43 +02:00
Indah Sylvia 83691fec4e renames leftover 'path_db' to node_path 2017-08-07 20:03:58 +07:00
Indah Sylvia 5ae78fdf6a Makes all Godot API's methods Lower Case 2017-08-07 18:24:35 +07:00
Juan Linietsky 134b3edf5a Merge pull request #10123 from bojidar-bg/7695-key-kp-enter
Rename KEY_RETURN to KEY_ENTER and KEY_ENTER to KEY_KP_ENTER
2017-08-06 21:04:11 -03:00
Bojidar Marinov 7b7c7c8dc0
Rename KEY_RETURN to KEY_ENTER and KEY_ENTER to KEY_KP_ENTER
Closes #7695
2017-08-06 16:26:07 +03:00
Juan Linietsky 475e8b28b2 keep default exported script values unless overriden, closes #8127 2017-08-06 09:33:59 -03:00
Ruslan Mustakov 789815466a Fix is_class check typo in ObjectDB::cleanup 2017-08-06 16:04:35 +07:00
Ignacio Etcheverry 97e942dd42 Merge pull request #10117 from neikeq/pr-classdb-getpropidx
ClassDB: Adds get_property_index method
2017-08-06 07:26:49 +02: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
Ignacio Etcheverry aee99ab59f ClassDB: Adds get_property_index method 2017-08-06 02:04:10 +02:00
Juan Linietsky a3a7fb83e6 Made bool constructor explicit in Variant to avoid bugs, fixes #7843 2017-08-05 19:50:53 -03:00
Juan Linietsky cfe4b30941 renamed node path, closes #5691 2017-08-05 09:13:59 -03:00
Juan Linietsky 5c361485db -Added GLTF scene support (still missing animations and .glb extension)
-Fixed bugs regarding tangent generation in SurfaceTool
2017-08-02 15:43:49 -03:00
Pedro J. Estébanez 02607b3103 Use atomics for memory use tracking
Plus:
- An allocation is counted only after checking its success.
- Max usage is updated after growing reallocs as well.
- Drop unused header.
- Changed the 0xFFF.. at get_mem_available() to -1 with a comment telling it's the same, but more universal.
2017-08-01 01:50:56 +02:00
Rémi Verschelde 597ffa03b3 Merge pull request #9826 from RandomShaper/improve-atomics
Improve/add atomics
2017-07-31 23:30:07 +02:00
Rémi Verschelde 62464839ad Merge pull request #8567 from BastiaanOlij/ar_vr_server
AR/VR base classes and position tracker support
2017-07-31 13:29:18 +02:00
Rémi Verschelde 76005a8e75 Style: Apply clang-format on all files
Thus fixing some invalid changes that had still made it to the master branch.
2017-07-30 22:53:40 +02:00
Ruslan Mustakov 5804308c57 Fix passing Refs via ptrcall
There was no constructor for Ref from const pointer, so compiler decided
to construct Variant from pointer and then construct Ref from Variant
which turned it into NULL, because the Variant had null ref field.
2017-07-28 22:51:17 +07:00
Rémi Verschelde 3866829115 Merge pull request #9879 from RandomShaper/fix-mutating-settings-file
Fix mutating project.godot
2017-07-28 11:10:59 +02:00
BastiaanOlij d2ba2d0873 Adding base classes and structures for ARVR support
Added ArVrScriptInterface

Added ARVRCamera, ARVRController and ARVROrigin helper objects
2017-07-28 10:39:15 +10: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
Rémi Verschelde 6645c7cc18 Merge pull request #9872 from bruvzg/3.0-num-enter-fix
Remove duplicate keycode constant for Numpad Enter key (3.0)
2017-07-27 08:52:52 +02:00
Pedro J. Estébanez 9aecc83cda Merge pull request #9892 from RandomShaper/fix-err-format
Fix misplaced quote in error messsage
2017-07-27 01:29:22 +02:00
Pedro J. Estébanez 748240b090 Fix misplaced quote in error messsage 2017-07-27 01:26:30 +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
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
Pedro J. Estébanez 1619aabfe1 Fix mutating project.godot
Namely:
- comment block lost on first save;
- config_version doubled as 3 and null on second save;
- format change on first save.
2017-07-26 16:13:38 +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
Rémi Verschelde 668f4f437f Merge pull request #9873 from Noshyaar/pr-prop
Fix various property not found errors
2017-07-26 15:20:15 +02:00
Poommetee Ketson 0154098531 Fix various property not found errors 2017-07-26 20:03:13 +07:00
bruvzg 7de7ca8ae4 Remove duplicate keycode constant for Numpad Enter key. 2017-07-26 14:43:02 +03:00
Marcelo Fernandez 2144093fe6 Fix cvs files freezing the editor when a double quote is not closed 2017-07-25 22:38:28 -03: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
Rémi Verschelde e4fe194fe5 Add newline after config_version and fix custom_features hint
Fixes #9818.
2017-07-25 21:02:38 +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
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
Pedro J. Estébanez 27637b9e7f Improve/add atomics
- Remove use of non-builtin overloaded `InterlockedExhangeSubtract()` for Windows. Moreover, it was wrongly being used as if it hadn't a 64-bit version instead of being overloaded.
- Implement exchange-if-greater (as a CAS loop).
2017-07-25 01:49:22 +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
George Marques f514fabf61
UWP: Fix build issue caused by atomic operations 2017-07-23 21:29:01 -03:00
Juan Linietsky cf286ed287 Requesting for dictionary keys also respects insertion order, closes #9161 2017-07-23 12:24:03 -03:00
Thomas Herzog 9e483604a5 Merge pull request #9718 from endragor/ptrcall-fixes
Use specific size for numeric types in ptrcall
2017-07-23 16:35:10 +02:00
Poommetee Ketson 2777f81d29 Add object type hint for docs 2017-07-23 18:57:03 +07:00
L. Krause aa798ebf8f Fix atomic operations in NO_THREADS builds 2017-07-22 22:06:01 +02:00
Juan Linietsky 3b2dfae5af function to add script and instance at once, as needed by neikeq 2017-07-22 16:57:56 -03:00
Juan Linietsky 0ad1a8f3d0 Script languges are uninitialized properly now. 2017-07-22 16:11:56 -03:00
Ruslan Mustakov 30176b0bb1 Use specific size for numeric types in ptrcall
The script system does not provide information about specific int
sizes, so we should establish convention to use the largest size
(64 bits). For real types double is always used.
2017-07-20 11:50:18 +07: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
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
Rémi Verschelde c5ba9d9b7c Merge pull request #9703 from Noshyaar/docs
Add object type hint for docs
2017-07-19 10:00:20 +02:00
geequlim 5a2500f580 Fix errors with global config names no more sorrys please 2017-07-19 09:25:50 +08:00
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
Rémi Verschelde e089989777 Merge pull request #9608 from RandomShaper/more-atomics
Implement more atomic ops
2017-07-18 07:48:25 +02:00
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
Pedro J. Estébanez 00d60125df Implement add & subtract atomics 2017-07-17 23:26:53 +02:00
Rémi Verschelde 8691355158 Merge pull request #9634 from vnen/gzip-compression
Add GZIP compression support
2017-07-17 22:40:47 +02:00
Juan Linietsky 4366b7c8b0 Added a simpler/faster way to bind script languages instance wrappers to Godot 2017-07-16 12:40:23 -03:00
Andreas Haas 2b7b67b7b1
Bindings: Fix Object::get_meta return type.
The method was shown as void in the docs.
2017-07-16 11:57:08 +02:00
Juan Linietsky 741145febd -Fix for multiple reflection probes causing issues.
-Fix for positional sound corruption to avoid making people deaf.
2017-07-15 18:42:06 -03:00
Juan Linietsky 2e73be99d8 Lots of work on Audio & Physics engine:
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
2017-07-15 08:32:34 -03:00
George Marques 0f765c86e5
Add GZIP compression support
- Fix a wrong call in PoolByteArray::compress
2017-07-13 14:41:10 -03:00
Poommetee Ketson fdd2a87b8f Ignore fuzzy translations 2017-07-12 21:49:22 +07:00
Pedro J. Estébanez 9a868cd846 Add atomics for 64-bit integers
The public API looks the same but with added overloads.
The implementation uses templates or overloads depending on the context
to avoid code duplication.
2017-07-11 17:17:25 +02:00
Rémi Verschelde a5bb77d523 Merge pull request #9366 from GodotExplorer/pr-ime-position-flow-cursor
IME window follow the input cursor.
2017-07-11 17:07:14 +02:00
Rémi Verschelde faae28c955 Merge pull request #9607 from Noshyaar/astar
AStar: add bool has_point(id)
2017-07-11 16:45:38 +02:00
Rémi Verschelde b708546f50 Merge pull request #9602 from ducdetronquito/master
[#7212] Fixed missing 'Variant' return values in documentation.
2017-07-11 16:44:21 +02:00
Poommetee Ketson 2c9f6312e2 AStar: add bool has_point(id) 2017-07-11 21:06:30 +07:00
Rémi Verschelde 711ebafa71 Revert "Improve reliability of memory stats" 2017-07-11 14:26:34 +02:00
Pedro J. Estébanez 6758ba0d93 Merge pull request #9014 from RandomShaper/improve-mem-stats
Improve reliability of memory stats
Memory block byte tagging
2017-07-11 14:19:45 +02:00
ducdetronquito 074801e7a9 [#7212] Fixed missing 'Variant' return values in documentation. 2017-07-11 13:25:51 +02:00
geequlim 7358766ff6 IME window follow the input cursor.
Abstruct set_ime_position to OS class.
Update ime position for LineEdit and TextEdit.
2017-07-11 18:36:20 +08:00
Poommetee Ketson 5a9eb5ef58 Include Git hash in the engine 2017-07-11 15:57:52 +07:00
Poommetee Ketson 2fd204c35e Refactor 'treshold' to 'threshold' 2017-07-08 22:24:56 +07:00
ducdetronquito 566655adc1 [#9292] Renamed Image.put_pixel() to set_pixel(). 2017-07-07 19:05:45 +02:00
Rémi Verschelde 6f63a01302 Merge pull request #8943 from RandomShaper/fix-error-handling
Implement well-defined handling of unrecoverable errors
2017-07-05 10:55:11 +02:00
Pedro J. Estébanez 779693a79b Implement byte-tagging of memory
Using a magic value for memory allocated but uninitialized and another one for memory about-to-be-released. Helps in debugging unitialized members, dangling pointerts, etc.

Disabled by default. Can be enabled for debug builds by defining `DEBUG_MEMORY_TAGGING`.
2017-07-05 10:31:13 +02:00
Pedro J. Estébanez 490a2ff0b9 Improve reliability of memory stats
The allocation count is managed atomically and where it actually should
change (for instance, not counting an allocation before its success has
been checked).

Bonus: Improve readability of the pre-pad checks.
2017-07-05 10:26:55 +02:00
Pedro J. Estébanez 211c451890 Implement well-defined handling of unrecoverable errors
Plus the addition of some convenience CRASH_* error macros.
Plus transient avoidance of the flood of warnings emitted by Clang when checking 'this' for NULL.
Plus explanation about the do-while(0) loop in some error macros.
2017-07-05 09:31:44 +02:00
Juan Linietsky 7263137dba Implemented environment arrays for skybox reflection and roughness, quality increase is enormous. 2017-07-04 23:53:08 -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
Juan Linietsky db3b05d289 Reworked translation system
-Label and Button reload translation on the fly
-Resources are loaded and reload depending on locale
2017-06-28 17:01:35 -03:00
Rémi Verschelde 6f0762ba5d Merge pull request #9195 from kubecz3k/obj-incoming-connections
Ability to get a list of signals that are targeting given object
2017-06-27 00:06:42 +02:00
Juan Linietsky 760cdbe1a3 -Added folding to property editor, persistent on objects it edits
-Some changes to tree to support this properly
2017-06-25 17:31:22 -03:00
geequlim 4b2a44054a Fix crash with String copy from with NULL string parameter 2017-06-25 21:57:06 +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 8efd835009 Merge pull request #9348 from bojidar-bg/9299-save-device-ids
Make the InputEvent device property get saved
2017-06-25 10:55:03 +02: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
dumitru-stama 9ce0538ab3 Added 'blit_rect_mask' for 3.0 too 2017-06-24 08:53:54 -07:00
Bojidar Marinov 7542896046
Make the InputEvent device property get saved
Fixes #9299
2017-06-24 16:28:19 +03: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
Ignacio Etcheverry a87c7f1328 Image: Fix wrong method DEFVAL 2017-06-23 03:51:36 +02:00
Juan Linietsky 3f2cd75c6f Fix shortcuts, make them visible again and work. 2017-06-22 19:57:59 -03: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
Pedro J. Estébanez 0b776f9a30 Add atomics for 64-bit integers 2017-06-22 05:29:58 +02:00
Karroffel 40bb90fabd fixed ptrcall cast for const Ref<T>
Some methods require a const Ref<T> argument,
the ptrcall method wrappers cast `void *` to the
apropriate types. The problem is that there is no `Ref(const T *)`
constructor, but since Ref modifies the refcount of a Reference
anyway there's no point in a const version.

The problem is that with a `const T *` constructor call, the
argument gets converted to Variant first and loses all the
reference information, resulting in a null reference as the
argument to the constructor.
2017-06-20 21:38:21 +02:00
dumitru-stama 82d8da2a48 Fixed a string class bug 2017-06-19 20:08:31 -07:00
Thomas Herzog b6b225f4c5 Merge pull request #8870 from tagcup/pathfollow
Fix PathFollow rotations.
2017-06-19 23:30:40 +02:00
Thomas Herzog 9d67be447a Merge pull request #9274 from vnen/compress-functions
Expose compression functions to GDScript
2017-06-19 22:59:24 +02:00
George Marques 5c779c574a
Add compression support for File object 2017-06-19 16:38:37 -03:00
George Marques af7d590206
Add basic compression functions to PoolBaseArray 2017-06-19 16:38:10 -03:00
d 053a4fdcd9 Added two new methods to 3.0 'blend_rect_mask' and 'fill' 2017-06-18 11:29:37 -07:00
Juan Linietsky 5c6cac4e53 Add normalmap support for drawing in all low level primitives. Only added support in Sprite so far. 2017-06-17 23:27:42 -03:00
George Marques b1537da605 Merge pull request #9231 from dumitru-stama/constimg
Fixed a bug in get_pixel not being const
2017-06-16 22:09:26 -03: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
dumitru.stama 7787700aca Fixed a bug in get_pixel not being const 2017-06-16 17:29:05 -07:00
Rémi Verschelde 3fadbe2172 Merge pull request #9201 from vnen/rename-extensions
Rename Godot-specific resource extensions
2017-06-16 13:01:10 +02:00
Marc Gilleron 4dbe0967d5 Fixed memory leaks
- PoolVector leak
- mesh_remove_surface leak
2017-06-16 02:39:16 +02:00
George Marques e42d59f01e
Rename Godot-specific resource extensions 2017-06-15 21:35:20 -03:00
Rémi Verschelde 43a84429ff doc: Sync classref with current source
Tried to salvage what I could of the Image and InputEvent changes.
2017-06-15 20:52:51 +02:00
Rémi Verschelde 4f8d9f0915 Merge pull request #9177 from tagcup/gcc5_isinf
Use inline code for isinf with gcc versions <6.
2017-06-15 20:46:10 +02:00
Jakub Grzesik 8ff5e50513 Ability to get a list of signals that are targeting object 2017-06-15 15:32:30 +02:00
Ferenc Arn cd1e14b1da Use inline code for isinf as a workaround for libstdc++ versions from gcc 5.x era.
Fixes #9166.
2017-06-14 18:30:22 -05:00
Rémi Verschelde 108d8bcfc0 Merge pull request #9157 from capnm/fix-https-request
Don't append standard ports to the request header.
2017-06-14 23:15:38 +02: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
Rémi Verschelde a91b62e4c7 Merge pull request #9175 from bd339/iss9156
Correct Image::blit_rect
2017-06-14 22:46:10 +02:00
Rémi Verschelde c769a38c07 Merge pull request #9155 from kubecz3k/check-process-type
Ability to check if we are in fixed thread, solves: #3698
2017-06-14 17:21:54 +02:00
Benjamin Dahse 075997c563 Rewrite Image::blit_rect to use the following algorithm:
1. Let r1 be the source rectangle clipped against the entire source image rectangle.
2. Let r2 be r1 offset by p_dest, clipped against the entire destination image rectangle.
3. Copy pixels from r1 to r2.
2017-06-14 15:56:58 +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
Martin Capitanio 5cabe5f0fc Don't append standard ports to the request header.
Breaks the SSL communication with some servers,
do the same that the other curl, wget, firefox & co clients do.

Fixes #9146
2017-06-13 22:58:23 +02: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
kubeczek a81b706e09 Fixed thread check, solves: #3698 2017-06-13 17:49:28 +02:00
Ferenc Arn 98261e2df2 Expose zstd and zlib compression levels as global config. 2017-06-11 20:27:07 -05:00
Juan Linietsky 12b2652ecb Merge pull request #9104 from tagcup/zstd
Add zstd compression support.
2017-06-11 18:41:56 -03:00
Zher Huei Lee 9ecdf522bd Added EditorPlugin.remove_import_plugin()
Allows addons with import extensions to clean up properly on
removal.
2017-06-11 17:18:22 +08: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
Poommetee Ketson fcaddeccbb
Fix build error, commit bee81d5 2017-06-08 12:48:59 +07:00
Rémi Verschelde b52466f793 Merge pull request #9002 from Hinsbart/key_action_match
InputEvent: Restore old behaviour for matching key events to actions.
2017-06-08 07:43:18 +02:00
Rémi Verschelde bee81d5214 Merge pull request #8981 from toger5/addedGrowFunction
implemented grow(left,top,right,bottom) function
2017-06-08 07:41:54 +02:00
Rémi Verschelde 71ada5bc2c Merge pull request #9015 from mcanders/mcanders/ParseObjectVariantFix
Fix Variant::OBJECT token parsing
2017-06-07 07:51:32 +02:00
toger5 66b308925c added grow functions to Rect2
- grow_individual
 - grow_margin
2017-06-05 01:11:00 -07:00
Carter Anderson 0a8de39bb1 Fix Variant::OBJECT token parsing 2017-06-04 21:33:09 -07: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
Rémi Verschelde 5a6d4971e1 Merge pull request #8973 from thomas-goerlich/8957_rand_range_bugfix
Fixed rand_range not returning correct random values on windows
2017-06-03 08:44:07 +02:00
Rémi Verschelde 59322d4cc4 Merge pull request #9011 from karroffel/ptrcall-nightmare-fix
fixed PowerState enum cast
2017-06-01 09:42:05 +02: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
Karroffel 6bda2876f1 fixed PowerState enum cast
Quite a while ago I made a commit (131631b) where I did a weird
thing to fix compilation with PTRCALL_ENABLED. And I couldn't
sleep because of this after all these months. So here is the
proper version.
2017-06-01 00:16:33 +02:00
Ferenc Arn a1c8896d9d Fix PathFollow rotations.
Used parallel transport to move the object along the curve. Also introduced a few more math checks useful for debugging.
2017-05-31 13:58:31 -05:00
Andreas Haas c218390864
InputEvent: Restore old behaviour for matching key events to actions.
Original code in 9100db7
2017-05-30 22:27:55 +02:00
Juan Linietsky 5567e898d1 Several fixes related to PBR and Environment 2017-05-30 08:56:19 -03:00
Thomas Görlich 2c6449c4fc Changed enum to const because enum with uint64 size does not work on VSC++ Compiler 2017-05-29 23:56:21 +02:00
Poommetee Ketson ff03d846eb NaturalSort: strings start with . treated differently 2017-05-29 09:59:02 +07: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
Rémi Verschelde 378ebffb23 Merge pull request #8936 from Hinsbart/fix_action
Fix InputEvent actions.
2017-05-27 11:29:05 +02:00
Andreas Haas 3204befd1e
Fix InputEvent actions.
The `InputEvent::is_action(pressed|released)` methods weren't implemented yet.
Also fixed a typo in `InputDefault` that prevented `Input.is_action(pressed|released)` from working.
2017-05-27 10:52:57 +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
Andreas Haas 3744d9fd55
Fix virtual methods in InputEventKey.
This fixes a lot of problems with key input in the engine.
2017-05-25 21:56:54 +02: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
Rémi Verschelde 7592c2380d Merge pull request #8898 from vnen/screentouch-struct-class
Change InputEventScreenTouch from struct to class
2017-05-25 08:40:27 +02:00
George Marques 452caf3f80
Change InputEventScreenTouch from struct to class 2017-05-24 16:06:07 -03:00
Martin Capitanio 29c5b4c7e6 Fix 2D-editor mouse wheel zoom (x11).
Fixes #8888
2017-05-24 10:02:43 +02:00
Juan Linietsky afcce9eb12 -Fix the "set_val" call deferred, it was the only one.. closes #8742
-Removed redundant bind in input_event
2017-05-23 09:06:22 -03:00
Juan Linietsky 6161e731d0 fixed crash on code that checks InputEvent 2017-05-23 08:13:11 -03:00
Rémi Verschelde ce51138b38 Merge pull request #8786 from bojidar-bg/fix-astar-weight-scale
Fix weigth scale of A* being applied to the whole estimation
2017-05-22 15:16:20 +02:00
Bojidar Marinov bd91730347
Fix weigth scale of A* being applied to the whole path and estimation
Attempt to fix #8584
2017-05-22 15:55:49 +03:00
Ferenc Arn e4eb093c62 Avoid overestimating the cost in AStar heuristics.
This is a necessary condition for finding optimal solutions.
This is achieved by simply requiring/ensuring that no weights are smaller than 1.

Fixes #8584.
2017-05-21 15:13:09 -05: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 c7650c363b Merge pull request #8829 from supagu/astar-bidirectional
Added bool to allow astar points to be connected in one direction only
2017-05-20 09:49:28 +02:00
Emmanuel Leblond abcb044bf3
Finish implementation of GDnative builtins bindings 2017-05-19 23:28:15 +02:00
Fabian Mathews 2262a59ab3 Added bool to allow astar points to be connected in one direction only 2017-05-19 20:46:45 +09:30
Ferenc Arn 3c175115eb Use libsquish to decompress DXT textures. 2017-05-18 16:57:53 -05:00
Rémi Verschelde 1f62c33141 Merge pull request #8807 from RandomShaper/mq-flush-reentrant
Make MessageQueue::flush() reentrant
2017-05-18 18:52:55 +02:00
Rémi Verschelde c2854381b3 Merge pull request #8649 from neikeq/pr-ringbuffer-find
RingBuffer: Adds find() method
2017-05-18 13:42:56 +02:00
Pedro J. Estébanez 983fd3a7bb Make MessageQueue::flush() reentrant 2017-05-18 13:02:49 +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
Juan Linietsky 98a3296702 Removal of Image from Variant, converted to a Resource. 2017-05-17 07:37:45 -03:00
Damian Day f2564ca97f Fix natural sorting order in EditorFileDialog, FileDialog and EditorFileSystemDirectory
Make EditorFileDialog, FileDialog and EditorFileSystemDirectory alphanumerical sorting more natural

Added a new method 'naturalnocasecmp_to' and comparator 'NaturalNoCaseComparator' to String.

Fixes #8712.
2017-05-12 13:02:25 +01:00
Marcelo Fernandez bba8f1db30 Fixed the IP resolver code blocking the main thread, it uses a Mutex now to lock its own thread. 2017-05-08 21:30:48 +02: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
Rémi Verschelde 18df047f0b Merge pull request #8658 from Faless/explain_out_of_mem_msg_queue_master
Better explain out of memory error in message queue
2017-05-05 23:09:30 +02:00
Rémi Verschelde e58519eb31 Merge pull request #8642 from RandomShaper/fix-pack-get-curr-dir
Fix infinite loop in DirAccessPack::get_current_dir()
2017-05-05 23:02:07 +02:00
Fabio Alessandrelli 1a7aafa90d Better explain out of memory error in message queue
Also effectively saves one unnecessary call when everything is fine.
2017-05-05 19:56:54 +02:00
Ignacio Etcheverry 803a54d93c RingBuffer: Adds find() method 2017-05-05 02:09:43 +02:00
Pedro J. Estébanez 5c0188b5c3 Fix infinite loop in DirAccessPack::get_current_dir() 2017-05-04 02:20:53 +02:00
Rémi Verschelde 7ce8342ac5 Rename project file to "project.godot"
Slimmed down variant from the reverted #8375.
The rationale behind the name change is to give Godot's project file a unique
extension (".godot") that can be registered on the OS to be associated with
the Godot binary (OS registration not implemented here).

This PR also adds the possibility to start the game or editor if launched
with the project.godot passed as argument, which paves the way for allowing
a similar behaviour on a double-click in the OS file manager (code originally
by @Hinsbart).

Closes #6915.
2017-05-01 17:50:19 +02:00
Rémi Verschelde de7eba887e Merge pull request #8572 from akien-mga/thirdparty
Moving more thirdparty stuff (minizip, some single-file external libs) to the thirdparty directory
2017-04-29 22:57:49 +02:00
Juan Linietsky 6d2f985db4 Revert "Use .godot as file extension for project files." 2017-04-29 17:56:51 +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
Rémi Verschelde c5f830d6b9 Split thirdparty smaz.c out of compressed_translation.cpp
Code comes from 150e125cba/smaz.c

With a small modification to match Godot expectations:
```
diff --git a/thirdparty/core/smaz.c b/thirdparty/core/smaz.c
index 9b1ebc2..555dfea 100644
--- a/thirdparty/core/smaz.c
+++ b/thirdparty/core/smaz.c
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 #include <string.h>

 /* Our compression codebook, used for compression */
-static char *Smaz_cb[241] = {
+static const char *Smaz_cb[241] = {
 "\002s,\266", "\003had\232\002leW", "\003on \216", "", "\001yS",
 "\002ma\255\002li\227", "\003or \260", "", "\002ll\230\003s t\277",
 "\004fromg\002mel", "", "\003its\332", "\001z\333", "\003ingF", "\001>\336",
@@ -89,7 +89,7 @@ static char *Smaz_rcb[254] = {
 "e, ", " it", "whi", " ma", "ge", "x", "e c", "men", ".com"
 };

-int smaz_compress(char *in, int inlen, char *out, int outlen) {
+int smaz_compress(const char *in, int inlen, char *out, int outlen) {
     unsigned int h1,h2,h3=0;
     int verblen = 0, _outlen = outlen;
     char verb[256], *_out = out;
@@ -167,7 +167,7 @@ out:
     return out-_out;
 }

-int smaz_decompress(char *in, int inlen, char *out, int outlen) {
+int smaz_decompress(const char *in, int inlen, char *out, int outlen) {
     unsigned char *c = (unsigned char*) in;
     char *_out = out;
     int _outlen = outlen;
@@ -192,7 +192,7 @@ int smaz_decompress(char *in, int inlen, char *out, int outlen) {
             inlen -= 2+len;
         } else {
             /* Codebook entry */
-            char *s = Smaz_rcb[*c];
+            const char *s = Smaz_rcb[*c];
             int len = strlen(s);

             if (outlen < len) return _outlen+1;
diff --git a/thirdparty/core/smaz.h b/thirdparty/core/smaz.h
index a547d89..a9d8a33 100644
--- a/thirdparty/core/smaz.h
+++ b/thirdparty/core/smaz.h
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 #ifndef _SMAZ_H
 #define _SMAZ_H

-int smaz_compress(char *in, int inlen, char *out, int outlen);
-int smaz_decompress(char *in, int inlen, char *out, int outlen);
+int smaz_compress(const char *in, int inlen, char *out, int outlen);
+int smaz_decompress(const char *in, int inlen, char *out, int outlen);

 #endif
```
2017-04-28 21:19:24 +02:00
Rémi Verschelde 2398eb6ed4 Move core thirdparty files to thirdparty/{minizip,misc} 2017-04-28 21:19:23 +02:00
Andreas Haas c530d8f43c
Fix recognition of resource extensions.
Also removes a related debug print.
2017-04-26 23:07:23 +02:00
volzhs ec1c7ce6c3 Fix wrong fallback for locale 2017-04-26 04:48:03 +09:00
Rémi Verschelde 1dc689b513 Merge pull request #8506 from iam13islucky/patch-1
[3.0] Fix bug in Image::_get_pixelb
2017-04-24 12:02:10 +02:00
Rémi Verschelde bd885ed704 Merge pull request #8469 from Melix19/patch-2
Update snake_case splitting
2017-04-24 11:38:36 +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 5ae1e172da Merge pull request #8277 from tagcup/math_checks
Added various functions basic math classes. Also enabled math checks …
2017-04-24 11:16:20 +02:00
iam13islucky 73a9a85bc9 [3.0] Fix bug in Image::_get_pixelb
Fixes issue:
 https://github.com/godotengine/godot/issues/8158
2017-04-23 22:51:35 -06:00
Marco Melorio 4677c0fbb8 Update snake_case splitting 2017-04-23 23:03:16 +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
Rémi Verschelde 99529fb80d Move VERSION_MKSTRING logic to version.h
Fixes a bug where the VERSION_PATCH define is not yet in scope if
typedefs.h is included before version.h at compilation time.

(cherry picked from commit 3b687c5474)
2017-04-20 12:14:34 +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
Marco Melorio 1ac38846e8 Fixed that playing the project opens the project manager
Fixes #8445
2017-04-18 15:46:37 +02:00
Rémi Verschelde 7088d9e30f Merge pull request #8441 from tagcup/seed_fix
Fix PRNG randomization.
2017-04-18 00:06:41 +02:00
Rémi Verschelde 474f18512a Merge pull request #8375 from Hinsbart/project_extension
Use .godot as file extension for project files.
2017-04-17 23:28:15 +02:00
Ferenc Arn ceb699f5ec Fix PRNG randomization.
PCG32 doesn't like small seeds, which leads to zero random values (prior to #7532, zero values were handled as special cases).

Use a large default seed, and also add a shift in Math::randomize.

Fixes #8423.
2017-04-17 14:05:02 -05: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
Andreas Haas c06a2db63a
Use .godot as file extension for project files.
Now project files don't have to be named "godot.cfg" anymore, they can have any name so as long as it ends with *.godot.
Also godot will automatically start the editor now if launched with a project file as an argument.
This allows for double-clicking of projects to open them :)

Code-wise this should be complete, but there's still work to do:

- Make a nice icon for godot projects.
- Work on installers/packaging -> register the extension and icon with godot.
- Update the 2.1 to 3.0 exporter.

Tested on linux and windows so far.
2017-04-16 10:19:07 +02:00
mbalint12 a3afec588c Added the ability to select files as base when creating scripts 2017-04-15 23:29:09 +02:00
Hein-Pieter van Braam 8ff6e53833 Correct Variant::hash_compare()
There was a logic error in #7815 which made
Variant.hash_compare() == Variant.hash_compare() always true.
In an attempt to short-circuit the NaN check I made an (in hindsight) obvious
error: 10 == 12 || is_nan(10) == is_nan(12)

This will be true for all inputs, except for the NaN, not-NaN case. The macro
has been updated to now generate:

(10 == 12) || (is_nan(10) && is_nan(10))

so:

(10 == 12)   || (is_nan(10)  && is_nan(12))  = false
   False  or (False and False) is False
(10 == 10)   || (is_nan(10)  && is_nan(10))  = true
   True or (False and False) is True
(Nan == 10)  || (is_nan(NaN) && is_nan(10))  = false
   False or (True and False) is False
(Nan == Nan) || (is_nan(NaN) && is_nan(NaN)) = true
   False or (True and True) is True

Which is correct for all cases.

This bug was triggered because the hash function for floating point numbers
can very easily generate collisions for the tested Vector3(). I've also added
an extra hashing step to the float hash function to make this less likely to
occur.

This fixes #8081 and probably many more random weirdness.
2017-04-14 11:31:18 +02:00
Bojidar Marinov c37840c69f
Fix a pesky bug in marshalls.cpp/encode_variant
Fixes #7556 running game from editor on LLVM builds.
2017-04-11 20:17:56 +03: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
Rémi Verschelde f29dc079dc Merge pull request #8333 from touilleMan/classdb-class_sget_property-binding
Add _ClassDB.class_[g|s]et_property to ClassDB exposed methods
2017-04-09 17:46:35 +02:00
Emmanuel Leblond 42eba57bad
Add return value in ClassDB.class_[g|s]et_property bindings 2017-04-09 14:04:01 +02:00
Emmanuel Leblond 23c310be7b
Add _ClassDB.class_[g|s]et_property to ClassDB exposed methods 2017-04-09 13:27:07 +02:00
Juan Linietsky 4286aef693 Particle system is complete. Rejoice! 2017-04-08 22:40:06 -03: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
Ferenc Arn 9a37ff1e34 Added various functions basic math classes. Also enabled math checks only for debug builds.
Added set_scale, set_rotation_euler, set_rotation_axis_angle. Addresses #2565 directly.
Added an euler angle constructor for Basis in GDScript and also exposed is_normalized for vectors and quaternions.
Various other changes mostly cosmetic in nature.
2017-04-06 13:03:56 -05:00
Rémi Verschelde 1a33d5e06f Merge pull request #8286 from Hinsbart/memleaks
Core: fix possible memory leaks.
2017-04-06 14:34:21 +02:00
Andreas Haas a2734df7ed
Core: fix possible memory leaks. 2017-04-06 13:43:13 +02:00
Rémi Verschelde 2c4e4432af Merge pull request #8214 from tagcup/bounce_reflect_slide
Made slide and reflect active verbs acting on itself in Vector2 and V…
2017-04-05 01:23:09 +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
Ferenc Arn 1a620bd5fa Made slide and reflect active verbs acting on itself in Vector2 and Vector3.
This is in alignment with other functions in vector classes.
Also added checks for normalization, fixed the sign of reflect (which now corresponds to reflection along a plane mathematically), added bounce method and updated docs.

Fixes #8201.
2017-04-03 10:02:12 -05:00
Karroffel 67f59bc2d9 increased maximum number of scripting languages 2017-04-03 16:10:26 +02:00
Rémi Verschelde 5b09dde3fe Merge pull request #8146 from supagu/astar
Added ability to change A-star cost function
2017-04-03 13:52:59 +02:00
Fabian Mathews b541402417 Added ability to change A-star cost function 2017-04-01 16:36:22 +10:30
Karroffel 2281942fb3 Added methods for opening dynamic libraries to OS 2017-03-29 23:05:15 +02:00
Ferenc Arn 97d510531a Fix polar decomposition in 2D.
When performing polar decomposition in 2D as B = R.S, where R is rotation (with determinant +1) and S is scaling, use the convention that reflections are absorbed into S through a reflection around y axis.
In 3D, this is done by using a reflection along all three axes, but since the dimensionality is even in 2D, one axis needs to be chosen.

Fixes Matrix32::get_rotation and Matrix32::get_scale (which weren't properly fixed in #7445).
2017-03-29 12:04:49 -05:00
Rémi Verschelde 5cad9147f9 Merge pull request #8133 from Hinsbart/joy_constants
Input: Refactor JOY_* constants.
2017-03-24 22:53:16 +01:00
Rémi Verschelde 60a9debb99 Merge pull request #8132 from tagcup/vector3_angle_to
Use atan2 rather than acos in Vector3.angle_to.
2017-03-24 22:52:46 +01:00
Rémi Verschelde beba97c0c3 Merge pull request #8122 from tagcup/axis_check_normalization
Explicitly documented that Transform.basis is not necessarily an orth…
2017-03-24 22:51:27 +01:00
Rémi Verschelde 98baec6880 Merge pull request #8109 from RandomShaper/warped-panning
Implement warped mouse panning for 2D & 3D editors
2017-03-24 22:50:39 +01:00
Rémi Verschelde ca3596b043 Merge pull request #8098 from bojidar-bg/configfile-get-value-suppress
Suppress error messages when using ConfigFile::get_value and a default is given
2017-03-24 22:49:50 +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
Andreas Haas 0d8f5660f6
Input: Refactor JOY_* constants.
**Breaking change**

Removed the `JOY_SNES_*` and `JOY_SEGA_*` constants. Imho there's no reason for a modern game engine to provide button aliases for decades-old hardware.
Also renamed `JOY_ANALOG_{0,1}_{X,Y}` to `JOY_ANALOG_{L,R}{X,Y}` and removed `JOY_ANALOG_2_*`.
2017-03-24 18:04:36 +01:00
Ferenc Arn 3730e0533c Use atan2 rather than acos in Vector3.angle_to.
Fixes #8111.
2017-03-24 12:03:33 -05:00
Fabio Alessandrelli 5f681d0b0f Allow non blocking UDP put_packet in C++.
- Add blocking mode option to PacketPeerUDP.
- put_packet returns ERR_UNAVAILABLE when operation would block.
- ENet module uses non-blocking UDP.
2017-03-24 02:30:11 +01:00
Ferenc Arn 6bb9b58b09 Explicitly documented that Transform.basis is not necessarily an orthogonal matrix.
Also added a check that in axis-angle rotations, axis is a normalized vector, and modified the docs accordingly.

Fixes #8113.
2017-03-23 12:27:00 -05:00
Pedro J. Estébanez f5004b78d0 Implement warped mouse panning for 2D & 3D editors
Enabled by default as in Blender, but can be disabled separately for 2D & 3D;
the core functionality is in Input so this could be reused or even exposed to scripts in the future
2017-03-22 21:36:52 +01:00
Bojidar Marinov 927d15b815
Suppress error messages when using ConfigFile::get_value and a default is given
Fixes #8097
2017-03-21 19:56:54 +02:00
Andreas Haas a69e449782
Input: bind parse_input_event()
When using get_tree().input_event(ev), the engine will JUST send the event down the SceneTree.
However, you won't get any of the benefits of the Input singleton:
- No InputMap actions will be emitted
- The internal input state won't be modified, so methods like `Input.get_mouse_pos()` or `Input.is_joy_button_pressed` won't return the expected output after sending the event.

This is fixed by using `Input.parse_input_event(ev)` instead.
I guess we'll also have to update the docs to reflect that this is the preferred method of sending custom InputEvents.
2017-03-19 09:20:44 +01:00
Karroffel 6ab3213a55 fixed ClassDB inconsistencies
fixes #7960
2017-03-13 21:17:31 +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 45438e9918 Style: prevent bogus macro formatting by clang-format
Also prevent formatting of thirdparty snippet
2017-03-05 16:29:53 +01:00
Karroffel 1531f6fe01 really fixed PTRCALL now 2017-03-05 16:20:20 +01:00
Rémi Verschelde f4fb19d11a Merge pull request #7958 from karroffel/powerstate-ptrcall-fix
Added PowerState casting operator to Variant
2017-03-05 15:48:06 +01:00
Rémi Verschelde e1c1d7d1d7 Add a bunch of missing Godot headers in own files 2017-03-05 15:47:28 +01:00