Commit Graph

2000 Commits

Author SHA1 Message Date
Rémi Verschelde 6c46787749 doc: Replace some more "val" with "value" + sync 2018-01-17 10:43:23 +01:00
Rémi Verschelde 09ca100658
Revert "Fix bad color to HTML conversion. Alpha channel was added before RGB." 2018-01-16 10:22:22 +01:00
Juan Linietsky 03475ba197 Filled tutorial field in most relevent classes.
Added tutorial display in doc.
2018-01-15 18:41:13 -03:00
K. S. Ernest (iFire) Lee ef1c26a9a5 Make sure PropertyHint matches in the VisualScript editor. 2018-01-15 22:19:54 +01:00
bruvzg d0868a8f40
Fix String::itos/String::num_int64(INT64_MIN) output. 2018-01-13 22:06:08 +02:00
Paul Joannon a066f896d8 get_target_fps and set_target_fps now both use an int 2018-01-12 14:26:21 +01:00
Paul Joannon e08b6c9a9c fix set_stream_peer binding in PacketPeer 2018-01-12 14:25:05 +01:00
Rémi Verschelde e24f2c6489
Merge pull request #15611 from bojidar-bg/x-bind-more-properties
Bind many more properties to scripts
2018-01-12 09:00:20 +01:00
Juan Linietsky 2cde466ebd -Remove color operator clamping, which is unnecesary. Fixes #15184, fixes #14686.
-Refresh progress bar less often, makes baking, exporting, etc. faster.
2018-01-12 00:08:32 -03:00
Bojidar Marinov 9b8e8b2220
Bind many more properties to scripts
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
2018-01-12 00:58:14 +02:00
Juan Linietsky 9a62829759
Merge pull request #15531 from AndreaCatania/p2
Fixed crash on duplicate GIProbe baking
2018-01-11 16:44:18 -03:00
AndreaCatania 5ac441131e Fixed crash on duplicate GIProbe baking 2018-01-11 19:50:33 +01:00
Ruslan Mustakov a6157245b1 Dont print error when loading resource from cache 2018-01-11 20:46:18 +07:00
poke1024 75d69fb4ec Add shuffle() method to Array 2018-01-10 19:36:53 +01:00
Bernhard Liebl a01c33c9d0 Object class checking on bound method calls 2018-01-10 18:41:47 +01:00
robfram 19915d674c Fix bad color to HTML conversion. Alpha channel was added befor RGB. 2018-01-09 22:34:00 +01:00
Ignacio Etcheverry 5be356b72f Mono: Implement stack info for errors and exceptions 2018-01-09 17:19:03 +01:00
Todd Ross 6e932c3108 obsolete UndoRedo max_steps; no users identified 2018-01-08 10:57:07 -06:00
Rémi Verschelde 1fea0adc5c
Merge pull request #15337 from touilleMan/fix-classdb_get_method_list-without-instrospection
Fix _ClassDB::get_method_list when instrospection is disabled
2018-01-08 15:18:20 +01:00
Rémi Verschelde fe841fe827
Merge pull request #15437 from GodotExplorer/pr-fix-15424
Add null checking for paramaters in UndoRedo
2018-01-07 13:03:47 +01:00
Rémi Verschelde 0593daa826
Merge pull request #15382 from mrcdk/poolarrays_neq_fix
Fix NEQ operation for Arrays and Pool*Arrays
2018-01-07 13:01:23 +01:00
Rémi Verschelde 42ee9541fd
Merge pull request #15297 from poke1024/runner-limit-errs
Limit number of errors and messages sent by runner
2018-01-07 12:38:08 +01:00
geequlim a6e0dcdcbf Add null checking for paramaters in Undoredo 2018-01-07 18:47:55 +08:00
Juan Linietsky 50b975548d Removed PBM bitmap loader, added abiliy to importi mages as bitmap. Fixes #14828 2018-01-06 16:38:36 -03:00
Jerome67000 b5885c43eb Fix crash when using Image.resize() without calling Image.create() first 2018-01-06 13:20:45 +01:00
MrCdK b2617e72e5 Fix NEQ operation between 2 different Arrays
it was returning false if it found the same content in both arrays which isn't correct, it should return true when it finds different values
2018-01-06 04:19:48 +01:00
Juan Linietsky b1ab44aa05 Print error if a resource can't load from script, fixes #15313 2018-01-05 17:35:48 -03:00
Pedro J. Estébanez ee2c31d306 Add new window setting: always on top
Implemented for Windows and Linux.
2018-01-05 21:31:04 +01:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Emmanuel Leblond c1e2ed1d84
Fix _ClassDB::get_method_list to returns only what's available when introspection is disabled 2018-01-04 19:04:05 +01:00
Emmanuel Leblond e315c94900 Change OS::initialize signature to return Error (fix segfault on x11) 2018-01-04 15:15:55 +01:00
firefly2442 f066991aa7 found via cppcheck:
remove code that will never run
make definition and declaration names for parameters match
change floats that were being set to bool values
remove pointer that is never used
2018-01-03 21:23:48 -07:00
Rémi Verschelde 66d541c69d
Merge pull request #15280 from poke1024/ringbuffer-cow
Avoid redundant copy-on-writes in RingBuffer
2018-01-04 00:21:07 +01:00
Bernhard Liebl df84ecd043 Checks on input_buffer in PacketPeerStream 2018-01-03 21:12:58 +01:00
Juan Linietsky 474523d409
Revert "Add missing image format RGB10A2. Fixes #14964" 2018-01-03 16:43:07 -03:00
Bernhard Liebl 2909085774 Avoid redundant copy-on-writes in RingBuffer 2018-01-03 19:08:53 +01:00
Bernhard Liebl c7c764220c Limit number of errors and messages sent by runner 2018-01-03 17:23:09 +01:00
Rémi Verschelde 6b6f60defc
Merge pull request #15220 from ibrahn/variantcall-defargs-fix
fix VariantCall default parameter ordering
2018-01-03 12:50:04 +01:00
Rémi Verschelde 459ee51338
Merge pull request #15093 from poke1024/canvas-editor-select
More exact picking for canvas editor
2018-01-03 11:15:28 +01:00
Rémi Verschelde 6d812ad27f
Merge pull request #15051 from binbitten/bug-fixes
Add missing image format RGB10A2. Fixes #14964
2018-01-03 10:17:48 +01:00
Rémi Verschelde a24dd678fd
Merge pull request #15274 from GodotExplorer/debugger-fix-15238
Fix a bug for debugger
2018-01-03 08:37:24 +01:00
Rémi Verschelde 6322b0bbb7
Merge pull request #12814 from guilhermefelipecgs/add_hardware_custom_cursor
Custom hardware-accelerated mouse cursor
2018-01-03 08:35:59 +01:00
Geequlim 6c8ec5a930 Fix crash while the debugger encode a freed object. 2018-01-03 13:58:27 +08:00
Juan Linietsky 14772d2213
Merge pull request #15083 from tagcup/spatial_rot_fix
Restore the behavior of Spatial rotations recently changed in c1153f5.
2018-01-02 15:02:19 -03:00
Rémi Verschelde 4973b7a513
Merge pull request #14916 from poke1024/reduce-startup-time
Ramp up remote debugger wait time
2018-01-02 11:33:30 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Noshyaar a6328011d8
Merge pull request #14973 from poke1024/docs-word-selection
Double-click word selection for RichTextLabel (i.e. docs)
2018-01-01 18:51:35 +07:00
Noshyaar 8dcc28254c
Merge pull request #15091 from poke1024/fix-rect2-distance-to
Fix Rect2::distance_to() not returning 0
2018-01-01 18:37:46 +07:00
Ibrahn Sahir 96706168d0 fix VariantCall default parameter ordering 2017-12-31 14:58:45 +00:00
Bernhard Liebl b80bc553dd Double-click word selection for RichTextLabel (i.e. docs) 2017-12-28 17:44:22 +01:00
tagcup e9896b17a9 Restore the behavior of Spatial rotations recently changed in c1153f5.
That change was borne out of a confusion regarding the meaning of "local" in #14569.

Affine transformations in Spatial simply correspond to affine operations of its Transform. Such operations take place in a coordinate system that is defined by the parent Spatial. When there is no parent, they correspond to operations in the global coordinate system.
This coordinate system, which is relative to the parent, has been referred to as the local coordinate system in the docs so far, but this sloppy language has apparently confused some users, making them think that the local coordinate system refers to the one whose axes are "painted" on the Spatial node itself.

To avoid such conceptual conflations and misunderstandings in the future, the parent-relative local system is now referred to as "parent-local", and the object-relative local system is called "object-local" in the docs.

This commit adds the functionality "requested" in #14569, not by changing how rotate/scale/translate works, but by adding new rotate_object_local, scale_object_local and translate_object_local functions. Also, for completeness, there is now global_scale.

This commit also updates another part of the docs regarding the rotation property of Spatial, which also leads to confusion among some users.
2017-12-27 16:40:49 -05:00
Bernhard Liebl 8505871a87 More exact picking for canvas editor 2017-12-27 20:24:58 +01:00
Bernhard Liebl 0d578fb765 Fix crash in StringBuffer::append() 2017-12-27 20:21:50 +01:00
Juan Linietsky a663dbfdd8
Merge pull request #14744 from poke1024/stringname-compare
Avoid string allocations in AlphCompare
2017-12-27 15:44:45 -03:00
Juan Linietsky 988d29bdd8 Reimport now checks source path changes and imported files and their md5, fixes #14728 2017-12-27 15:22:04 -03:00
Bernhard Liebl 41c11894f1 Fix Rect2::distance_to() not returning 0 2017-12-27 09:56:52 +01:00
Noshyaar ab444a8ca9
Merge pull request #14996 from neikeq/enums-mono
Mono: Make the bindings generator output enums
2017-12-27 10:29:00 +07:00
Noshyaar de2247b9b4
Merge pull request #15045 from poke1024/vector2-inline
Inline some very common Vector2 operations
2017-12-27 10:25:08 +07:00
Juan Linietsky c1153f5041 Change the rotate function of Spatial to be local, makes more sense. Closes #14569 2017-12-26 12:45:56 -03:00
Juan Linietsky 4a2eef4ad8 Removed the InputEvent ID field, which was unused and can cause bugs. 2017-12-26 09:49:31 -03:00
binbitten 267bad6b4c Add missing image format RGB10A2. Fixes #14964 2017-12-25 21:01:01 +01:00
Bernhard Liebl 517227943f Inline some very common Vector2 operations 2017-12-25 15:58:14 +01:00
Poommetee Ketson 6c897707ca Add missing parameter names 2017-12-25 21:19:56 +07:00
Juan Linietsky 021f3c924b -Removed OpenMP support, replaced by a custom class.
-Disabled Opus, implementation is wrong.
2017-12-24 09:32:12 -03:00
Ignacio Etcheverry 0a0a44da8d Mono: Make the bindings generator output enums
- Switch to PascalCase for constants names
2017-12-24 04:20:41 +01:00
poke1024 e6d83a766a Ramp up remote debugger wait time 2017-12-22 07:17:31 +01:00
Gilles Roudiere 71f5e17680 Fixes grow_margin not working at all 2017-12-21 23:53:31 +01:00
Juan Linietsky c9d88fd8e8 Add functions to image to load a PNG or JPG from a buffer, closes #4024 2017-12-20 17:17:12 -03:00
Rémi Verschelde f66ef74338
Merge pull request #14823 from willnationsdev/get-base-script
Add Script.get_base_script()/get_instance_base_type() to API
2017-12-20 16:39:35 +01:00
Will Nations 28561c2e7a Add Script.get_base_script/instance_base_type API 2017-12-19 09:56:59 -06:00
Juan Linietsky b3a1bf3245 Use a different strategy for path remaps, try loading from a remap file instead.
This ensures multiple PCK exports still work.
2017-12-18 11:21:49 -03:00
Rémi Verschelde e83c502939
Merge pull request #14754 from willnationsdev/dictionary-copy
Added 'duplicate' function for Dictionary in C++ and API.
2017-12-17 23:58:59 +01:00
Will Nations f19fc83546 Dictionary::copy -> ::duplicate 2017-12-17 16:07:15 -06:00
Guilherme Silva a392dbdbe3 Add implementation for custom hardware cursor 2017-12-17 13:40:29 -02:00
Rémi Verschelde ad3393743c
Merge pull request #14760 from hpvb/add-several-unlikely-macros
Add several unlikely() macros
2017-12-17 14:28:15 +01:00
Rémi Verschelde 6afb90c846
Merge pull request #14635 from poke1024/getline
Faster FileAccess::get_line()
2017-12-17 14:24:07 +01:00
Rémi Verschelde d0abcf1a58
Merge pull request #14745 from poke1024/api-hash-arg-info
Faster ClassDB::get_api_hash()
2017-12-17 14:22:48 +01:00
Hein-Pieter van Braam 9ba134b463 Add several unlikely() macros
Based off of perf-based prediction misses these seem to be the
lowest-hanging fruit for quick (albeit small) improvements. These are
based on:

* baking a complex lightmap
* running platformer 3d
* running goltorus
2017-12-17 13:10:30 +01:00
Bernhard Liebl b47ce5e5d6 Avoid string allocations in AlphCompare 2017-12-17 12:16:08 +01:00
Juan Linietsky 652c98a7be Add epic hack so vsync can be toggled in run-time from script. Fixes #14458.
Call needs to be routed via visual server to reach the proper thread.
2017-12-16 17:11:02 -03:00
poke1024 a3f1ed9af9 Faster FileAccess::get_line() 2017-12-16 16:27:21 +01:00
Bernhard Liebl b17ae020bb Faster ClassDB::get_api_hash() 2017-12-16 15:47:36 +01:00
Rémi Verschelde 6b7bed98f4
Merge pull request #14576 from poke1024/strings
Some performance tweaking of string handling
2017-12-16 13:10:30 +01:00
Ruslan Mustakov 9d6d20e67c Remove get_stack_bottom
It's not used in godot-nim any longer and there were no other uses for
it.
2017-12-16 13:10:26 +07:00
Rémi Verschelde cf7bd1a7e3
Merge pull request #14708 from Faless/get_packet_not_const_rebased
Remove "const" from PacketPeer get_packet/get_var, move windows network related stuff to drivers
2017-12-16 00:05:18 +01:00
Dmitry Koteroff 6fe415ca7f Added rsplit() for String class
Docs updated
2017-12-15 22:23:58 +03:00
Rémi Verschelde 7767d89c45
Merge pull request #14580 from Krakean/string_split_new_arg
Added third argument for String.split() function
2017-12-15 19:56:39 +01:00
Dmitry Koteroff 5302fd125b Added third argument for String.split() function (see issue #14349)
Remove negative limit, leave only positive and make it reflect behaviour like in Python
Also limit renamed to maxsplit to match Python one.
Also docs updated.

Fix indent
2017-12-15 21:51:13 +03:00
poke1024 040d4dba6b Some performance tweaking of string handling 2017-12-15 17:25:57 +01:00
Fabio Alessandrelli 92067b4714 Remove "const" from PacketPeer get_packet/get_var
They are NOT constant methods, as state by the comment message,
they fetch the last packet and then forget about it, actively
changing the state of the object.
2017-12-15 17:14:17 +01:00
Fabio Alessandrelli 206275f3e7 Fix javascript build error and improve #14604 2017-12-15 15:35:18 +01:00
Juan Linietsky 433cb6f490 fix compile issue 2017-12-15 09:04:57 -03:00
Juan Linietsky 251433847f -Added new scene conversion to binary on export (disabled by default, please test)
-This method works by directly converting text to binary, so the scene does not need to be loaded and saved
2017-12-15 08:39:26 -03:00
Rémi Verschelde 108a36f515
Merge pull request #14604 from mhilbrunner/http-defaults
HTTP cleanup & better defaults
2017-12-15 07:53:38 +01:00
Juan Linietsky 93a63a5e1a GDScript files are converted to binary on export now. 2017-12-14 15:34:47 -03:00
Rémi Verschelde fb84b49d87 Fix type mismatch in OS::set_borderless_window
Closes #14663.
2017-12-14 19:16:20 +01:00
Juan Linietsky f3ad14224e -Add lightmapper
-Fixes to unwrapper (remove degenerates), makes Thekla not crash
-Added optional cancel button in EditorProgress
-Added function to force processing of events (needed for cancel button)
2017-12-14 09:01:27 -03:00
mhilbrunner 966c054fc9 HTTP cleanup & better defaults 2017-12-14 10:59:42 +01:00
mhilbrunner a7abb459c9 HTTPClient: Add PATCH method and missing HTTP status codes 2017-12-12 10:56:18 +01:00
Rémi Verschelde 2b41afb30e Fix wrong return value in some virtual method bindings 2017-12-10 15:34:08 +01:00
Rémi Verschelde a845411454 Style: Re-apply clang-format over recent invalid additions 2017-12-10 01:27:02 +01:00
Rémi Verschelde 626eebdec4 PropertyEditor: Fix display of property doc in tooltip 2017-12-09 22:54:12 +01:00
Rémi Verschelde 41e3592041
Merge pull request #13347 from Noshyaar/hang_in_there
Rect2: add function returning same rect with positive w and h
2017-12-09 18:08:09 +01:00
Stefano Bonicatti c067cf2c6a Fixes vsync setting ignored when using a separate thread for rendering
Setting the vsync in the main thread, after the rendering thread starts
and takes the OpenGL context fails, so we need to do that before.
Also, for some reason, the main thread cannot make current the context
anymore.

Fixes #13447
2017-12-09 01:43:23 +01:00
Rémi Verschelde 13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Rémi Verschelde d5ca9e2f6f Style: Apply clang-format again on all files
Fixes issues introduced by newer clang-format versions or commits
pushed directly without using the clang-format pre-commit hook.
2017-12-07 08:02:00 +01:00
Rémi Verschelde a88543c881
Merge pull request #14003 from karroffel/dictionary-iterate-fix
fix Dictionary iteration
2017-12-07 00:22:38 +01:00
Rémi Verschelde e6f3253f7d
Merge pull request #12603 from GodotExplorer/beautify-json
Add indent and sort keys support for JSON.print
2017-12-06 23:53:05 +01:00
Rémi Verschelde c033be4528
Merge pull request #14326 from RandomShaper/fix-chmod-error
Fix Windows-to-Linux export error
2017-12-06 23:16:18 +01:00
Juan Linietsky a496dd4d38 Created internal usage flag to remove non editor properties from doc, closes #13334 2017-12-06 17:16:25 -03:00
Pedro J. Estébanez 7fb9508cfa Fix Windows-to-Linux export error
Now chmod() returns ERR_UNAVAILABLE by default, to signal the caller the problem is lack of support instead of a failed operation.
2017-12-06 20:46:38 +01:00
karroffel 2ba4edbfb7 fix Dictionary iteration 2017-12-05 20:00:44 +01:00
Unknown fd1b94e307 Improve slang, especially in user-visible parts 2017-12-05 15:41:38 +01:00
Juan Linietsky d438ac0aed -Implemented Proxy Textures (needed to solve the problem with ViewportTexture)
-Properly use hierarchy to initialize resources local to scene (solves problem of GUI in 3D)
2017-12-04 15:56:17 -03:00
Bastiaan Olij 4f9dac5bb1 Forgot to apply oversampling to Y 2017-12-03 22:32:42 +11:00
Juan Linietsky 9678231b10 Changed the dynamic library open function to allow setting the path of the library to open extra libraries. 2017-11-30 10:00:55 -03:00
Rhody Lugo a65c0939fd disable caching for targets using helper functions 2017-11-28 23:24:12 -04:00
Rhody Lugo a4a222d62d use the same cache for all branches for appveyor 2017-11-28 03:23:33 -04:00
Poommetee Ketson 5c9be411eb Rect2: add function returning same rect with positive w and h 2017-11-28 00:41:29 +07:00
Rémi Verschelde c7e53f1934 Fix javascript build after bc2e8d99 2017-11-27 08:17:28 +01:00
Rémi Verschelde af9c67db0c Allow customizing user:// path (folder in OS::get_data_path())
This allows to specify any valid folder name (including with subfolders) to use
as user:// on all platforms. The folder is constrained to the platform-specific
OS::get_data_path() (typically what `XDG_DATA_HOME` resolves to).

Fixes #13236.
2017-11-26 19:02:32 +01:00
Juan Linietsky bc2e8d99e5 Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Andreas Haas c76a9b99b0
Core: Bind InputEventGesture events. 2017-11-24 19:23:04 +01:00
Rémi Verschelde 3d0aec7a81
Merge pull request #13244 from bojidar-bg/13243-get-static-indexed
Fix a crash in get_static_property_type_indexed
2017-11-24 15:07:24 +01:00
Bojidar Marinov 0b63e84566
Fix a crash in get_static_property_type_indexed
Fixes #13243
2017-11-24 15:26:32 +02:00
dragmz b20bb8615f
reduce static memory usage
fixes #13217
2017-11-23 21:16:18 +01:00
Juan Linietsky 62d86b1588 Modified low processor sleep to 8000 and made it customizable (should be customizable for editor too) 2017-11-22 14:41:45 -03:00
Rémi Verschelde ba891a0e8b
Merge pull request #13143 from willnationsdev/list-insert-before-after-fix
Fixes List<T>::insert_before/after
2017-11-22 18:18:25 +01:00
Rémi Verschelde c07833f8b5
Merge pull request #13178 from bojidar-bg/13174-tween-fix
Make tween able to be used as before (without the need for ":...")
2017-11-22 13:20:20 +01:00
Rémi Verschelde 71f464e798 i18n: Add support for Serbin (Cyrillic) locale
[ci skip]
2017-11-22 13:19:09 +01:00
Bojidar Marinov bfe44de2b6
Make tween able to be used as before (without the need for ":...")
Fixes #13174
2017-11-22 14:13:56 +02:00
Juan Linietsky 0300522189
Merge pull request #13176 from bojidar-bg/allow-subproperty-set
Fix combatibility with older .scn files
2017-11-22 08:46:34 -03:00
Bojidar Marinov 3eb7858a3a
Fix combatibility with older .scn files 2017-11-22 13:34:43 +02:00
Rémi Verschelde 9638c9cb5d
Merge pull request #12371 from donkeybonks/color-lighten-darken
Add Color.lighten and Color.darken (like LESS.css or SASS) #2
2017-11-22 01:27:01 +01:00
Rémi Verschelde 3b7e9df255
Merge pull request #13151 from akien-mga/basis-vector3-constructor
Properly implement Basis constructor using Vector3 of Euler angles
2017-11-22 01:20:14 +01:00
Rémi Verschelde bedcbdd420
Merge pull request #13130 from endragor/gdnative-android-export
Proper GDNative export on Android
2017-11-21 23:59:01 +01:00
Rémi Verschelde 613d374bc5
Merge pull request #12284 from bojidar-bg/allow-subproperty-set
Allow for getting/setting "dotted" properties of objects
2017-11-21 22:44:14 +01:00
Rémi Verschelde a3f8dde502 Properly implement Basis constructor using Vector3 of Euler angles
Fixes #13104.
2017-11-21 20:52:07 +01:00
Bojidar Marinov 0cf9597758
Allow for getting/setting indexed properties of objects using get/set_indexed
Performance is around the same as using pure set() through GDScript.
2017-11-21 20:58:21 +02:00
Juan Linietsky 640856f4d4
Merge pull request #11895 from m4nu3lf/rendering/separate_thread
Restore rendering on a separate thread
2017-11-21 14:31:14 -03:00
Juan Linietsky 30dadb1228
Merge pull request #11933 from cxong/master
Use "Command" instead of "Meta" for macOS (#1619)
2017-11-21 14:25:09 -03:00
Will Nations 52f73a153d Fixes List<T>::insert_before/after 2017-11-21 10:51:38 -06:00
Ruslan Mustakov ebf9b80a47 Proper GDNative export on Android 2017-11-21 20:40:31 +07:00
Rémi Verschelde 6c9ee1f125
Merge pull request #13133 from endragor/resurrect-file-logging
Return and repair file logging
2017-11-21 14:25:33 +01:00
Rémi Verschelde 1c2782a7c7
Merge pull request #12590 from poke1024/bsearch
Add bsearch and bsearch_custom to Array
2017-11-21 13:14:08 +01:00
Kyle Van Berendonck 8e4336a729
Add Color.lightened and Color.darkened (like LESS.css or SASS) 2017-11-21 21:48:11 +11:00
Ruslan Mustakov d42c5646a5 Return and repair file logging
And make it configurable, too.
2017-11-21 16:43:44 +07:00
Bernhard Liebl 80ad8afc85 Native pan and zoom for macOS 2017-11-21 09:11:39 +01:00
poke1024 d6e54de502 Add bsearch and bsearch_custom to Array 2017-11-21 08:50:31 +01:00
Rémi Verschelde 71a3e71b61
Merge pull request #11783 from endragor/ios-export-frameworks
Allow exporting third-party iOS Frameworks
2017-11-20 22:56:15 +01:00
Rémi Verschelde 6065b2d177
Merge pull request #11940 from GodotExplorer/debugger
Enhanced debugger for godot 3.0
2017-11-20 22:55:49 +01:00
Ruslan Mustakov 8f0f327f02 Allow configuring iOS export
- EditorExportPlugin's _export_begin accepts all the arguments related
   to the current export (is_debug, path, flags).

 - EditorExportPlugin API is extended with methods allowing to configure
   iOS export: add_ios_framework, add_ios_plist_content,
   add_ios_linker_flags, add_ios_bundle_file.

 - iOS export template now contains Godot as a static library so that
   it can be linked with third-party Frameworks and GDNative static
   libraries.

 - Adds method to DirAccess for recursive copying of a directory.

 - Fixes iOS export to work with Xcode 9 (released recently).
2017-11-21 01:16:49 +07:00
Rémi Verschelde 450bdda97a
Merge pull request #12387 from santouits/x1111
Fix x11 boot logo position in fullscreen and in maximized
2017-11-20 15:48:08 +01:00
Rémi Verschelde 4d5b82811f
Merge pull request #13006 from hoelzl/pr-placement-delete
Add placement deletes to avoid warnings on VC++
2017-11-20 13:16:23 +01:00
Juan Linietsky d413f372be Make old scenes readable again 2017-11-20 08:25:43 -03:00
Chip Collier fd81c001fc Basis accepts Vector3 as constructor argument. 2017-11-20 09:59:42 +01:00
Rémi Verschelde 3fd23da5ee Rename the version's "revision" to "build"
That "revision" was inherited from SVN days but had been since then
used to give information about the build: "custom_build", "official",
"<some distro's build>".

It can now be overridden with the BUILD_NAME environment variable.
2017-11-20 00:51:14 +01:00
Rémi Verschelde 6947bed015 Pass engine name and version parts as proper strings
Removes the need for _MKSTR all over the place which has the drawback of
converting _MKSTR(UNKNOWN_DEFINE) to "UKNOWN_DEFINE" instead of throwing
a compilation error.
2017-11-20 00:51:14 +01:00
Rémi Verschelde ecf80fbbba
Merge pull request #12988 from akien-mga/xdg-home-paths
Add support for XDG Base Directory spec
2017-11-20 00:42:51 +01:00
Matthias Hoelzl 4c76c6892c Add placement deletes to avoid warnings on VC++
When compiling with VC++ 2017, Godot generates huge numbers of
C4291 warnings about missing placement delete.

I have not found a way to disable these warnings using compiler
options: AFAICT there is no equivalent to `-f-no-exceptions` for
VC++ (there is only /EH to change the exception-handling model,
/GX is deprecated) and adding /wd4291  to the
`disable_nonessential_warnings` list in the `SConstruct` file
or even compiling with `warnings=no` does not disable the
messages.

Placement delete is only called when placement new throws an
exception, since Godot doesn't use exceptions this change should
have no runtime effect.

Fixes #12654 (probably, difficult to say without log)
2017-11-19 21:25:18 +01:00
Rémi Verschelde 32c12a92a5 Add initial support for the XDG Base Directory spec
Spec version 0.7 from https://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html
(latest as of this commit).

Three virtual methods are added to OS for the various XDG paths we will use:
- OS::get_data_path gives XDG_DATA_HOME, or if missing:
  ~/.local/share on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_config_path gives XDG_CONFIG_HOME, or if missing:
  ~/.config on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_cache_path gives XDG_CACHE_HOME, or if missing:
  ~/.cache on X11, ~/Library/Caches on macOS and %APPDATA% on Windows

So for Windows there are no changes, for Linux we follow the full split spec
and for macOS stuff will move from ~/.godot to ~/Library/Application Support/Godot.

Support for system-wide installation of templates on Unix was removed for now,
as it's a bit hackish and I don't think anyone uses it.

user:// will still be OS::get_data_path() + "/godot/app_userdata/$name" by
default, but when using the application/config/use_shared_user_dir option
it will now use XDG_DATA_HOME/$name, e.g. ~/.local/share/MyGame.

For now everything still goes in EditorSettings::get_settings_dir(), but
this will be changed in a later commit to make use of the new splitting
where relevant.

Part of #3513.
2017-11-19 20:54:24 +01:00
m4nu3lf f9a38d2309 CommandQueueMT doesn't lock during command execution 2017-11-18 18:37:44 +00:00
Daniel J. Ramirez 59c2e8906a Improved packed scene previews. 2017-11-17 21:42:14 -06:00
Rémi Verschelde 73049d115e Rename OS::get_data_dir to OS::get_user_data_dir
Will be needed to avoid confusion with system data path (XDG_DATA_HOME)
and editor data dir in upcoming refactoring.
2017-11-17 20:55:09 +01:00
Juan Linietsky ebbe2bd572
Merge pull request #12930 from vnen/gdscrit-output-print
Make tool scripts print on the editor Output panel
2017-11-17 16:05:44 -03:00
Ferenc Arn d28763a4c1 Rename Rect3 to AABB.
Fixes #12973.
2017-11-17 11:01:41 -05:00
Geequlim fab66af7e9 Move the remote scene tree to the scene tree dock.
Ignore all script constants in the global section of the breakpoint stack.
Check property size before send to avoid too large of data be sent.
Fix crash while clear the remote objects from the debugger.
2017-11-17 12:01:54 +08:00
geequlim ccf76798d5 Send script members, contants and globals to debugger
Remove remote inspector panel
2017-11-17 09:20:32 +08:00
geequlim 475cee9c0f Abstract some method for script system 2017-11-17 09:20:32 +08:00
George Marques 1d12470a78
Add print_error function, akin to print_line 2017-11-16 21:56:57 -02:00
Rémi Verschelde 219d735eb2
Merge pull request #12932 from willnationsdev/capitalize-enhancement
Fixes a bug where capitalize didn't work with camelCase names
2017-11-17 00:28:18 +01:00
Will Nations 238d488a04 Fixed a bug where capitalize didn't work with camelCase names 2017-11-14 14:32:37 -06:00
Leon Krause acb23adad3 Fail when attempting to retrieve a non-existent singleton 2017-11-14 16:15:00 +01:00
Leon Krause 9b7b46143d Move singleton management from ProjectSettings to Engine 2017-11-14 15:15:13 +01:00
Rémi Verschelde 0dd96bccd3
Merge pull request #12867 from eska014/html5-http
Implement HTTPClient in HTML5 platform
2017-11-13 08:32:32 +01:00
Leon Krause 2970061a73 Implement HTTPClient in HTML5 platform
Limitations:

 - Subject to same-origin policy
 - No persistent connection (but simulated for compatibility)
 - No blocking mode
 - No StreamPeer access
 - No chunked responses
 - Cannot disable host verification
2017-11-13 00:58:29 +01:00
Goutte 91ca725f9b Add support for the TAU constant. Fixes #12094. 2017-11-12 13:32:35 +01:00
Rémi Verschelde ed57f0a0d4 Remove get_default_video_mode definition on OSX/iOS
It had been missed in d09160a8b6 and broke compilation
for those platforms.

Took the opportunity to run clang-format on the code base to fix some corner cases
that went through our static tests/were overlooked recently.
2017-11-09 23:36:08 +01:00
Juan Linietsky d09160a8b6 Make video mode initialization more intuitive, fixes #12022 2017-11-09 13:02:26 -03:00
Rémi Verschelde c7cd89c29f
Merge pull request #12780 from karroffel/dictionary-crash
fix dictionary constant access crash
2017-11-09 16:30:07 +01:00
Karroffel e25b6bf8da fix dictionary constant access crash 2017-11-09 16:27:27 +01:00
Bastiaan Olij 2a230d571d Increase joystick axis from 8 to 10 2017-11-08 19:56:30 +11:00
mhilbrunner d5b7df8523 Use UTF-8 for locale names. Fixes #12462. 2017-11-07 21:57:43 +01:00
Geequlim f7168bf217 Add indent and sort keys support for JSON.print 2017-11-07 11:52:45 +08:00
Rémi Verschelde 32dfdc12dc
Merge pull request #12656 from karroffel/dictionary-ordered-hashmap
make Dictionary use OrderedHashMap
2017-11-06 13:00:12 +01:00
Poommetee Ketson b6db04993f
Merge pull request #12646 from poke1024/geomdocs
Basic docs for Geometry plus two new functions
2017-11-06 09:09:08 +07:00
Karroffel c937b1f5f9 make Dictionary use OrderedHashMap 2017-11-05 15:27:28 +01:00
Bernhard Liebl 7ec32b6d09 Basic docs for Geometry plus two new functions 2017-11-05 07:56:27 +01:00
Zher Huei Lee 609cf36f8d Fixed dedent() binding did not return result 2017-11-05 09:07:06 +08:00
Karroffel 1386647cdf make ConfigFile sections ordered 2017-11-04 14:08:21 +01:00
Poommetee Ketson 9aebdd2ae8
Merge pull request #12593 from DmDerbin/master
AStar: implementation of get_point_connections
2017-11-04 16:49:29 +07:00
DmDerbin 4c79e58e3f AStar: implementation of get_point_connections 2017-11-04 11:21:03 +03:00
Karroffel 38d56c8351 make ConfigFile use OrderedHashMap 2017-11-03 14:33:19 +01:00
Juan Linietsky 79f81b77e2 -Modules can now add custom version info (added it for Mono)
-Version string takes this version info
-Ability to download templates from the interweb (listing does not work yet)
2017-11-01 23:13:27 -03:00
Zher Huei Lee 0804dd5336 Added String::dedent() to remove text indentation
This functions similarly to Python's textwrap.dedent()

It's also been applied to doc_data.cpp to remove extra whitespace while
parsing the XML.
2017-11-01 07:20:20 +08:00
Rémi Verschelde ea0e942617
Merge pull request #12035 from Chaosus/wrapfunc
Added new Wrap functions for numbers
2017-10-31 23:30:50 +01:00
Rémi Verschelde cb3f594b14
Merge pull request #11249 from m4nu3lf/bugfix/get_euler
Fix inertia tensor update & Generic6DOFJoint & Simplify Basis::get_euler()
2017-10-31 23:03:01 +01:00
N0hbdy f3fc07272c Add Colemak keybindings to editor for osx 2017-10-30 22:51:02 +01:00
Захаров Андрей e10ee8765f Added difference between function which return value or not
Now ADDFUNC with suffix R add function with return value.
It was changed because addfunc considers that the function
doesn't return a value if it returns NIL.
2017-10-30 22:46:15 +01:00
Rémi Verschelde 4889b80698
Merge pull request #12471 from mhilbrunner/autocomplete
Fix get_node() and $ autocompletion when using single quotes
2017-10-30 22:22:46 +01:00
Unknown 7683ff3e42 Fix get_node() and $ autocompletion when using single quotes 2017-10-30 21:58:32 +01:00
Rémi Verschelde 981ef0be59 Add support for non-ISO locale identifiers via renames map
Windows apparently uses "no" for Norwegian Bokmål, even though its
ISO 639-1 language code is "nb"... Closes #12479.

Also did some non-intrusive cleanup while at it.
2017-10-30 00:02:55 +01:00
Rémi Verschelde 9f4f630adf
Merge pull request #12437 from mhilbrunner/astar-setpointweightscale
AStar: Add setters for point position and scale weight, cleanup
2017-10-29 13:32:08 +01:00
Rémi Verschelde 568e905604
Merge pull request #12423 from tagcup/zstd_1.3.2
Update zstd to 1.3.2.
2017-10-27 20:28:59 +02:00
Unknown 9b4c5989ad AStar: Add setters for point position and scale weight, cleanup 2017-10-27 19:19:01 +02:00
Ferenc Arn f3436a841a Add an option to use zstd's recently introduced long range matching (off by default). 2017-10-27 12:26:13 -04:00
Rémi Verschelde b1b11ea411 Merge pull request #12422 from eska014/httpclient-api
Remove HTTPClient::send_body_text and ::send_body_data
2017-10-26 23:29:59 +02:00
Ferenc Arn 01815e9b5f Update zstd to 1.3.2. 2017-10-26 16:41:47 -04:00
Leon Krause d1102cb37d Remove HTTPClient::send_body_text and ::send_body_data
These were never implemented, the request* methods provide parameters to
send body data as part of the client's requests.
2017-10-26 22:25:35 +02:00
santouits 55fae24710 Fix x11 boot logo position in fullscreen and in maximized 2017-10-26 01:06:26 +03:00
Jerome67000 2609cc9ef4 Removes Script::get_node_type()
used before GDScript, with squirrel apparently
2017-10-25 20:11:30 +02:00
sheepandshepherd 1cd40be491 Add a function to get the full name of a locale 2017-10-25 01:13:17 -05:00
Rémi Verschelde 847c55bcb1 Merge pull request #12365 from neikeq/p
Add ScriptLanguage::supports_builtin_mode and improve ScriptCreateDialog
2017-10-24 18:59:26 +02:00
Cradmon 8da9fd5d23 Small fix in core/set.h and similar fix in core/map.h 2017-10-24 15:59:54 +01:00
Ignacio Etcheverry e218a13a64 Add ScriptLanguage::supports_builtin_mode and improve ScriptCreateDialog
- Make ScriptCreateDialog disable the built-in script checked button if the language does not support it.
- ScriptLanguage's get_template and make_template now receive the script path as class name if the the script language does not have named classes.
2017-10-24 15:48:58 +02:00
Rémi Verschelde 3c69a40caf Merge pull request #12183 from marcelofg55/err_index
Improved *_FAIL_INDEX error macros to print the index/size
2017-10-23 23:26:34 +02:00
Rémi Verschelde 4e0e513d5f Merge pull request #12341 from jagt/move-button-joy-enums
Move BUTTON and JOY constants to enums
2017-10-23 23:11:05 +02:00
jagt 4e94292573 move button/joy constants to enums 2017-10-23 13:36:50 +08:00
Robert Hernandez 794407e7b6 Fixed memory leak with AStar class 2017-10-22 18:37:02 -04:00
Juan Linietsky b4f0f59d9f Many fixes to SSAO, should be good now. 2017-10-22 13:52:48 -03:00
Marcelo Fernandez a97d7d948b Improved *_FAIL_INDEX error macros to print the index/size 2017-10-22 12:17:41 -03:00
Rémi Verschelde 99c8a8c7b1 Merge pull request #11401 from SaracenOne/snapped_drag
Added snapping to spatial drag and drop.
2017-10-22 12:06:00 +02:00
Poommetee Ketson 8265ff4c20 Bind MainLoop.notif_wm_go_back_request 2017-10-22 14:07:24 +07:00
Rémi Verschelde 50306041e5 Merge pull request #11982 from tagcup/get_quat
Added Basis::get_quat().
2017-10-21 23:51:07 +02:00
Rémi Verschelde 6361e24f29 Cleanup unnecessary debug prints 2017-10-21 20:41:07 +02:00
Patrick Yates c433d83d81 Fix InputEventJoypadMotion::action_match for 0 axis values.
Make action_match ignore the sign if axis value is 0.
This means that an axis value of 0 will match actions defined for both positive and negative values, as expected.

Fixes #12223
2017-10-21 16:06:24 +11:00
Sebastian Krzyszkowiak 110adc80d2 variant.h: Update comments with numeric enum values
Comments got desynchronized with the actual values of the enum.
To avoid anyone making some stupid mistake here, let's fix it as soon
as possible.
2017-10-20 13:18:40 +02:00
Rémi Verschelde 2229056fcc Merge pull request #12247 from endragor/fix-rotated-logger
Fix rotated logger naming and backup deletion

[ci skip]
2017-10-20 12:57:25 +02:00
Rémi Verschelde 5f912a9186 Merge pull request #12241 from eska014/vs-binds
Bind more VisualServer functions

[ci skip]
2017-10-20 12:56:13 +02:00
Ruslan Mustakov 27b537cfca Fix rotated logger naming and backup deletion 2017-10-20 10:34:46 +07:00
Leon Krause cf3919b228 Bind some VisualServer functions 2017-10-20 00:24:49 +02:00
Marcelo Fernandez d3a039cb2f Fix Color.r8/g8/b8/a8 being type float instead of type int 2017-10-19 12:36:06 -03:00
Pedro J. Estébanez d645b80e46 Fix formatting of debug log overflow
Fixes #12087.
2017-10-16 22:10:11 +02:00
Comanche_Ak 51597b6d69 Fix Alpha Border bugfix 2017-10-13 20:19:33 +03:00
Chaosus 216a8aa643 Added new wrap functions 2017-10-13 11:10:45 +03:00
Ruslan Mustakov 6106fd88d4 Remove junk output
Remove several prints that were added for engine debugging, but are
of no use to the end user, and only pollute the editor and game logs.
2017-10-13 12:40:19 +07:00
Rémi Verschelde c30ab882d7 Merge pull request #11539 from BastiaanOlij/remove_directory_scan
Removed directory scan from project load
2017-10-11 23:37:10 +02:00
Rémi Verschelde 20a32d6a2e Merge pull request #12039 from Hinsbart/expose_joy_connection
Input: expose joy_connection_changed()

[ci skip]
2017-10-11 23:01:33 +02:00
Ferenc Arn 8861cc40fa Added Basis::get_quat() and set_quat(). 2017-10-11 16:56:47 -04:00
Andreas Haas 8f1ed9aaee
Input: expose joy_connection_changed() 2017-10-11 18:55:57 +02:00
Ignacio Etcheverry 740ef3dc97 Merge pull request #11954 from neikeq/d
Added 'exposed' field to ClassInfo for registered classes
2017-10-11 13:54:34 +02:00
Andreas Haas 1d8a546a07 Merge pull request #11919 from Toizi/array_sort_ref
Array::sort/invert now return reference to Array
2017-10-10 20:31:48 +02:00
Ignacio Etcheverry 8ac43bb1de Merge pull request #11987 from endragor/define-va-copy
Define va_copy with --std=c++03 (fixes #11979)
2017-10-10 16:35:39 +02:00
BastiaanOlij e9c606fd29 Made directory scan optional 2017-10-10 23:45:54 +11:00
Ruslan Mustakov 73e86187bc Define va_copy with --std=c++03 (fixes #11979) 2017-10-10 12:09:59 +07:00
Ignacio Etcheverry 0c2e882210 Adds 'exposed' field to ClassInfo
This field represents if the class is exposed to the scripting API.
The value is 'true' if the class was registered manually ('ClassDB::register_*class()'), otherwise it's false (registered on '_post_initialize').
- Added missing registration of classes that are meant to be exposed.
2017-10-09 23:49:17 +02:00
Marius Guggenmos 2f173a67ab Array::sort, sort_custom and invert now return reference to Array to allow chaining of operations 2017-10-09 16:36:09 +02:00
Rémi Verschelde e8b9cca614 Merge pull request #11810 from marcelofg55/osx_export_improv
OS X export code improvements
2017-10-09 12:20:39 +02:00
Emmanuel Leblond 80b15fba1d
Fix trailing whitespaces in project settings header comment 2017-10-09 08:34:32 +02:00
Rémi Verschelde e5fcf0ee76 Merge pull request #11947 from eska014/fix-obj-marshalling
Fix exporting projects with custom input event actions
2017-10-09 00:04:28 +02:00
Leon Krause c05c334de7 Fix binary marshalling of Objects 2017-10-08 20:13:46 +02:00
Emmanuel Leblond d17951f57e
[GDnative] Add string_name api 2017-10-08 16:47:10 +02:00
Cong dd684eaaa0 Use "Command" instead of "Meta" for macOS (#1619) 2017-10-08 17:23:05 +10:00
Andreas Haas fd1d886cf8 Merge pull request #11853 from endragor/long-string-logging
Fix logging of long strings via RotatedFileLogger
2017-10-06 13:16:21 +02:00
Juan Linietsky d938de67ff Make sure to obey hidpi to off by default, as present in project settings. Set it to on by default for editor.
Many integrated GPUs can't really get enough performance to play games at hidpi, so this should be enabled manually.
2017-10-05 16:41:42 -03: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
Ruslan Mustakov 01ebcfe841 Fix logging of long strings via RotatedFileLogger 2017-10-05 16:16:20 +07:00
Gilles Roudiere 2e6f2ed032 Merge pull request #11812 from NathanWarden/fix_validate_ssl
Fixed a bug where ssl would force validation even though you told it not to.
2017-10-04 20:40:53 +02:00
Gilles Roudiere 5b9b158354 Merge pull request #11823 from endragor/virtual-keyboard-height
Allow to obtain virtual keyboard height
2017-10-04 18:16:28 +02:00
Ruslan Mustakov 275e537058 Allow to obtain virtual keyboard height
On mobile platforms virtual keyboards take up significant amount of
screen space and UI containing a text box may need to be adjusted
after the keyboard appears to keep the text box visible to user. This
commit adds a way to obtain virtual keyabord height so that controls
are aware of how much they need to move.
2017-10-04 17:21:05 +07:00
Juan Linietsky 3cadecf17b fixed the OS.has_feature() API, and added support for 32 and 64. 2017-10-03 17:36:14 -03:00
Nathan Warden 310a8eb902 Fixed a bug where ssl would force validation even though you told it not to. 2017-10-03 13:53:23 -05:00
Marcelo Fernandez 4b695c3bdf OS::execute can now read from stderr too when executing with a pipe 2017-10-03 15:09:04 -03:00
Hein-Pieter van Braam 2bece6bbd3 Merge pull request #11782 from eska014/persistent-userfs-test
Add OS::is_userfs_persistent, allow starting HTML5 platform in private mode
2017-10-03 12:24:11 +02:00
Andreas Haas 132ba0ed97 Merge pull request #11568 from endragor/loggers
Extract logging logic
2017-10-02 23:51:26 +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
Andreas Haas 2fbffb7cde Merge pull request #11730 from gabrielformiga/fix-small-png-texture-import
Change to Image::shrink_x2 function preventing it set a 0 width/height for mipmapped textures
2017-10-02 22:42:38 +02:00
Leon Krause 7b23665e72 Add OS::is_userfs_persistent to check user:// persistence
Allows starting HTML5 export when IndexedDB is not available.
2017-10-02 21:07:05 +02:00
Poommetee Ketson 478fd21e07 Merge pull request #11575 from marcelofg55/move_path_to_trash
FileSystemDock will now remove files/dirs to trashcan using OS::move_to_trash
2017-10-02 23:52:09 +07:00
Gabriel 40dcf4a2e7 Change to shrink_x2 function preventing it set a 0 width/height 2017-09-30 17:21:10 -03:00
AndreaCatania 4537977d6d Renamed fixed_process to physics_process 2017-09-30 16:19:07 +02:00
Hein-Pieter van Braam 350fcb6d98 Build MSVC safe_refcount in a separate compilation unit
Including windows.h in a globally included header gives all kinds of
issues. Move the MSVC implementation for safe_refcount back into a .cpp
file to prevent this from happening.
2017-09-27 00:01:02 +02:00
Marcelo Fernandez 20918587d3 FileSystemDock will now remove files/dirs to trashcan using OS::move_to_trash 2017-09-25 21:49:01 -03:00
Rémi Verschelde e9e1753c3c Merge pull request #11445 from Cradmon/refactorCoreMap
Refactor core/map.h
2017-09-25 23:53:18 +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
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 45a9a680a3 Use BoolVariable for third-party options. 2017-09-25 14:36:30 -04:00
Hein-Pieter van Braam 758accdcc2 Make variant_op jumptable const
Not doing this was a bit of an oversight
2017-09-25 18:29:44 +02:00
Hein-Pieter van Braam 158c3fbf3c Allow inlining of all parts of safe_refcount
Differences with this aren't huge but the effort is minimal, in some
workloads gain a couple of percent of performance.
2017-09-25 18:29:18 +02:00
Ruslan Mustakov 1a2311e350 Extract logging logic
Previously logging logic was scattered over OS class implementations
with plenty of duplication. Major changes in this commit:

 - Extracted logging logic into a separate Logger hierarchy. It allows
   easy configuration of logging mechanism depending on compile-time or
   run-time configuration.

 - Implemented RotatedFileLogger which is usually used with StdLogger,
   providing persistency of logs. It is often important to be able to
   obtain logs of the game even in production to be able to understand
   what happened prior to some problem. On mobile there previously was
   no way to obtain the logs aside from having the device connected to
   your machine.

 - flush() is not performed in release mode for every logged line. It
   is only performed for errors.
2017-09-25 16:19:21 +07:00
Hein-Pieter van Braam a124651280 Merge pull request #11549 from hpvb/fix-11543
Fix Dictionary set_named
2017-09-24 20:22:53 +02:00
Marcelo Fernandez 57d438eb7a Fix Variant::get_named return when p_index is invalid 2017-09-24 14:50:51 -03:00
Hein-Pieter van Braam 4d14d61bbc Fix Dictionary set_named
Reduz optimized field indexing in 3c85703 but the changes didn't apply
to dictionary so this code remained untouched. However, the logic for
validity checking was changed but not updated for the dictionary case.
2017-09-24 19:44:49 +02:00
Rémi Verschelde ebaf2d89e9 Merge pull request #11473 from hpvb/fix-11466
Implement operator != on Pool*Array types
2017-09-24 15:59:59 +02:00
Elliott Sales de Andrade a408388623 Enable building against system zstd. 2017-09-23 23:46:47 -04:00
Juan Linietsky 3c857033df Massive optimization to Variant::set_named/get_named. Should give a nice boost to GDScript. 2017-09-23 21:05:35 -03:00
m4nu3lf 3df217b1a1 Fix Basis::get_euler_xyz() 2017-09-22 20:19:11 +01:00
Hein-Pieter van Braam 7b492e6a23 Implement operator != on Pool*Array types
These types previously had equality checks but not inequality checks.
Add these too.

This fixes #11466
2017-09-22 14:40:42 +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
Juan Linietsky 423ca9bcaf Fix import order, so scenes are imported after textures.
Also fix bugs when meshes are always generated.
2017-09-20 21:04:20 -03:00
Cradmon 98f8e7df16 Refactor core/map.h to be similar to core/set.h 2017-09-20 23:57:18 +01:00
Juan Linietsky 71e4fae3a1 Merge pull request #11437 from hpvb/allow-compare-to-null
Allow equality checks between null and arbitrary types
2017-09-20 17:49:18 -03:00
Hein-Pieter van Braam 6565cf3360 Allow equality checks between null and arbitrary types
Uninitialzed values in GDScript are of type NIL so not allowing null
comparisons did end up breaking some code.

This commit reenables NULL equality checks for all types. We're going to
have to figure out how to make this fast for the compiler later.
2017-09-20 22:14:38 +02:00
Cradmon 0a1db473fb Refactor core/set.h 2017-09-20 18:52:40 +01:00
Rémi Verschelde e3617cb187 Merge pull request #11409 from MarufSarker/PR-core-math-is_nan
Verbose and Platform-specific implementation for is_nan
2017-09-20 14:29:01 +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
ABU MD. MARUF SARKER 7744bb153f verbose and platform specific implementation for is_nan 2017-09-20 08:20:08 +06:00
SaracenOne 2e22c07f42 Added snapping to spatial drag and drop. 2017-09-20 01:54:01 +01:00
Rémi Verschelde 593511b2b8 Merge pull request #10748 from Cradmon/fixCoreSet
Refactor core/set.h
2017-09-19 23:47:39 +02:00
Rémi Verschelde 27fb329c82 Merge pull request #11208 from kitsune/hex-color-shortcuts
Adds 3 and 4 digit html shortcuts to Color
2017-09-19 23:33:25 +02:00
Rémi Verschelde d58b0a5c9a Merge pull request #11388 from hpvb/fix-missing-return-fail
Be type-strict checking on equality checks
2017-09-19 19:03:25 +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 67aa409f59 Merge pull request #11405 from karroffel/new-hashmap
added OAHashMap type
2017-09-19 16:57:58 +02:00
Karroffel add040d381 added OAHashMap type 2017-09-19 16:48:53 +02:00
Hein-Pieter van Braam 85641c545b Be type-strict checking on equality checks
After a short discussion with @reduz and @karroffel we decided to make
all non number/number comparisons return type errors on comparisons.

Now bool == bool is allowed but Vector2 == Vector3 is a type error and
no longer 'not equal'. The same has been done for the != operators.

In addition I forgot to add some failures to some Object operators
meaning that there was a potential for a crasher.
2017-09-19 16:00:19 +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
Hein-Pieter van Braam d05965963d Don't call Variant::reference() unnecessarily
operator= does not need to call reference() if the new value is of the
same type as the old. This saves us zeroing the Variant, This speeds
up reuse of a Variant in a loop by roughly 50%.
2017-09-19 15:27:57 +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
Hein-Pieter van Braam 36e8bee752 Fix accidental cast to Vector3 for Vector2 iter 2017-09-19 14:18:12 +02:00
Indah Sylvia 13b630eb0c Fixed Typo: 'Seperate' to 'Separate' 2017-09-19 15:51:00 +07:00
Konstantin Zaitsev c386a02654 Fix MSVC compilation errors 2017-09-19 10:33:07 +07: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
Marcelo Fernandez 3528b1e571 Fix x11 exported executables not getting the +x flag 2017-09-17 14:40:58 -03:00
Thomas Herzog 41715c1e8f Merge pull request #11294 from karroffel/json-object
added JSON singleton
2017-09-17 16:31:27 +02:00
Rémi Verschelde a1b4e4c607 Merge pull request #11272 from Rubonnek/move-to-initializer-list
Moved class_name and return_val to initializer list
2017-09-17 12:52:46 +02:00
Rémi Verschelde 2db9973ad4 Merge pull request #11176 from bncastle/master
Implement +,-,/, * and negate operators for Color type
2017-09-17 12:43:21 +02:00
Rémi Verschelde 6dd8dd935e Merge pull request #11343 from BastiaanOlij/fix_basename
Fixed naming of pck file
2017-09-17 12:03:39 +02:00
Bastiaan Olij 913e5cabbd Fixed naming of pck file 2017-09-17 11:59:56 +10:00
Poommetee Ketson a9229d37c8 Merge pull request #11223 from GodotExplorer/pr-undoredo
Expose more methods for UndoRedo
2017-09-17 08:48:38 +07:00
bncastle 9d9cfc6f61 Implement +,-,/, * and negate operators for Color type. 2017-09-16 13:09:49 -04:00
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