Commit graph

3065 commits

Author SHA1 Message Date
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
414c60aee7 Support KEY_UP and KEY_DOWN in LineEdit 2017-12-27 17:04:07 +01:00
Noshyaar
5c636875e4
Merge pull request #14971 from mrcdk/particles_emitting
Set particles emitting to false when particles finish emitting with one-shot enabled
2017-12-27 10:45:36 +07:00
Noshyaar
e6b6683694
Merge pull request #14991 from djrm/pr_fixes
Show Options Dialog for NodePath and File in clicked button position.
2017-12-27 10:29:25 +07: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
d26b6f284f
Merge pull request #15008 from AlmightyScientist/issue-15000
Animation Tree: Prevent cycle_test from being altered by past-test.
2017-12-27 10:28:12 +07:00
Noshyaar
07d0f2e72b
Merge pull request #15046 from YeldhamDev/optionbutton_changes
Added "get_popup" method for OptionButton
2017-12-27 10:22:22 +07:00
Noshyaar
198bb5309d
Merge pull request #15049 from YeldhamDev/get_popup_const
Made MenuButton and ColorPickerButton's "get_popup" methods return constant
2017-12-27 10:20:56 +07:00
Ian
19c3f4c4c1 fix indent selection crash 2017-12-26 12:13:17 -08:00
Juan Linietsky
c2240a2a71 A promise is a promise, so added ability to load and save shaders as text files, closes #14431 2017-12-26 13:52:09 -03:00
Juan Linietsky
edd3bd8cb8 Ability to set flags via code in StreamTexture, as some users find it useful. Fixes #14526. 2017-12-26 12:50:46 -03: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
02e883713a
Merge pull request #14977 from volzhs/fix-crash-group
Fix crash & error at saving scene
2017-12-26 11:43:02 -03:00
Juan Linietsky
2b31155baa Fix sidedness check in material. Also remove SIDE built-in. 2017-12-26 11:09:52 -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
Bernhard Liebl
076a5f35fc Fix shift-key down on last line in TextEdit 2017-12-26 08:32:30 +01:00
Andreas Haas
37aab45091
Merge pull request #15040 from Noshyaar/pr2
AnimTreePlayer: fix duplicated properties
2017-12-25 17:47:29 +00:00
Michael Alexsander Silva Dias
23080c7ed7 Made MenuButton and ColorPickerButton's "get_popup" methods return constant. 2017-12-25 14:03:53 -02:00
Michael Alexsander Silva Dias
096b5a65c6 Added "get_popup" method for OptionButton and minor changes. 2017-12-25 13:49:27 -02:00
Poommetee Ketson
6c897707ca Add missing parameter names 2017-12-25 21:19:56 +07:00
Poommetee Ketson
f9c2cfbe31 AnimTreePlayer: fix duplicated properties 2017-12-25 19:26:39 +07:00
Noshyaar
256a60bc6e
Merge pull request #14826 from carlosfvieira/14371-F_key_Viewport_focus_problem
Fix spatial editor plugin issues on multi viewport view menu shortcuts (only those that are bound to keys)
2017-12-25 08:42:31 +07:00
Noshyaar
deda8974df
Merge pull request #14853 from MattUV/context-menu
Adds an option to move cursor with right click in TextEdit
2017-12-25 08:40:20 +07:00
Noshyaar
24515266a1
Merge pull request #14875 from YeldhamDev/splitcontainer_cursor
Fixed SplitContainer showing the "resize" cursor when it shouldn't
2017-12-25 08:37:52 +07:00
Noshyaar
a483edbddd
Merge pull request #14899 from volzhs/render-quality-option
Respect HDR option
2017-12-25 08:36:46 +07:00
Noshyaar
aab4434d76
Merge pull request #14801 from RayKoopa/insert_tree_item
Tree: Insert new item, fix behavior when no parent given
2017-12-25 08:35:31 +07:00
Noshyaar
1348b087e6
Merge pull request #14753 from NathanWarden/mouse_button_fix
Fixed a bug where mouse button focus breaks when using multiple buttons at once.
2017-12-25 08:33:42 +07:00
volzhs
ff68b80df7 Fix error if scene has Camera at saving scene 2017-12-25 02:43:37 +09:00
AlmightyScientist
7ace1f2494 Animation Tree: Prevent cycle_test from being altered by past-test. 2017-12-24 18:21:59 +01:00
volzhs
d6a88cdc41 Fix crash from move_child at saving scene 2017-12-25 01:31:13 +09: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
Daniel J. Ramirez
07fd5456c8 Show Options Dialog for NodePath and File in clicked button position.
Auto select newly created nodes.
2017-12-23 15:15:48 -06:00
Paulb23
a11a691b17 Fixed keyboard word selection when at the start/end of line, issue 14675 2017-12-23 14:47:04 +00:00
MrCdK
1f609b7a82 Set particles emitting to false when particles finish emitting with one-shot enabled 2017-12-23 05:23:41 +01:00
Rémi Verschelde
7d9b7f9c47
Merge pull request #14897 from BastiaanOlij/arvr_tweaks
Few small tweaks for ARVR
2017-12-23 00:59:09 +01:00
Daniel J. Ramirez
1696db8f00 Fixes 3d camera keep aspect. 2017-12-22 14:24:38 -06:00
Bernhard Liebl
27afa8813d Hide tooltip on gesture input 2017-12-22 19:39:23 +01:00
Rémi Verschelde
3068ccc8e6
Merge pull request #14913 from poke1024/tooltip-shortcut-names
Consistent display of shortcut names in tooltips
2017-12-21 22:47:50 +01:00
Juan Linietsky
7d0cabe9d3 Change skeleton processing to work on global coordinates, should help fix many import problems from Blender, GLTF2, etc. 2017-12-21 17:36:39 -03:00
poke1024
22d87f20fa Consistent display of shortcut names in tooltips 2017-12-21 20:17:30 +01:00
Bastiaan Olij
6fd51b6a1b Reserved controller ids 1 and 2 for left and right hand controllers and added new center on hmd option 2017-12-22 01:21:23 +11:00
Juan Linietsky
1fa9aac3e4 -Make capture dependent on a cell size, not subdivision.
-Fixed a bug recently introduced when releasing mouse events and calling popups
2017-12-21 11:05:55 -03:00
volzhs
0856259d19 Respect HDR option 2017-12-21 22:49:55 +09:00
carlosfvieira
49859871d9 Fix spatial editor plugin issues on multi viewport view menu shortcuts (only those that are bound to keys) - this closes #14371 and closes #12409
Fix spatial editor plugin issues on multi viewport view menu shortcuts (only those that are bound to keys) - this closes #14371 and closes #12409
2017-12-21 11:29:17 +00:00
Michael Alexsander Silva Dias
e3c1305027 Fixed wrong Project Settings direction on an error message. 2017-12-20 22:06:43 -02:00
Juan Linietsky
feef500b39 properly send mouse released event when grabbing modal focus, fixes #14854 2017-12-20 18:03:48 -03:00
Michael Alexsander Silva Dias
274b3db0d9 Fixed SplitContainer showing the "resize" cursor when it shouldn't. 2017-12-20 18:20:23 -02:00
Hein-Pieter van Braam
0db5123548 Prevent false sharing in lightbaker RNG state
The previous commit corrected the RNG behavior for the lightbaker but
also made it significantly slower on high core count systems. Due to the
vector of states being physically close together in RAM we force a cache
synchronization across all cores whenever we call for the next random
number to be generated.

This will create a temporary local copy of the RNG state before entering
the loop and then saving it back to the global state when done. This
will preserve the per-thread RNG state (and random number quality) while
significantly improving performance.

On my 16 thread box it saves 3 minutes baking the Sponza scene, bringing
performance back in line to before the various RNG fixes were
introduced, being slightly faster than the first implementation.
2017-12-20 14:37:00 +01:00
Hein-Pieter van Braam
ccbb5923ac Fix lightmapper rng
In our previous attempts to fix the lightmapper we may have
inadvertently introduced the same issue we were trying to fix. It
appears that rand() will on some platforms introduce a mutex making it
slower and on others may have a per-thread state that would need to be
initialized with srand() on each thread. This slows down the lightbaking
further.

This sets up a separate rng state for each OpenMP thread by calling
rand() only in the single-threaded part of the code. We then keep a
vector of states.

I believe this solves our problems.
2017-12-20 12:09:09 +01:00
MattUV
a55870cd81 Adds an option to move cursor with right click in TextEdit
Fixes #14832
- Added an option in the editor settings/cursor to make the cursor move with right click.
- If the option is activated (true by default), a right click will move the cursor before displaying context menu.
 - If there is a selection, a right click on it will keep it selected, a right click outside it will unselect it.
 - The option is available in textEdit via an inspector property (or via GDScript): caret_moving_by_right_click
 - The option is available in the script editor and the shader editor via the editor settings
 - The documentation has been updated with the new property, and a few other entries in TextEdit.xml.
2017-12-20 09:01:09 +01:00
Juan Linietsky
b08735f209 Make dynamic font oversampling fully dynamic. 2017-12-19 21:58:32 -03:00
Hein-Pieter van Braam
7a10d3ab78 Correct license headers in main.cpp and voxel_light_baker.cpp
Sorry for the churn
2017-12-20 01:04:30 +01:00
Hein-Pieter van Braam
9fa5a588f0 Fix lightbaker clang-format issue and add license headers 2017-12-20 01:02:03 +01:00
Hein-Pieter van Braam
ff04c07912 Lightbaker: include stdlib.h to fix CI builds 2017-12-20 00:29:27 +01:00
Juan Linietsky
808a3b9c71 Fix randomness in voxel light baker, closes #14841 2017-12-19 19:51:40 -03:00
Juan Linietsky
fc103566e6 Added font oversampling support 2017-12-19 18:48:30 -03:00
Juan Linietsky
06dd10b390 Fix raytrace lightmap bake bias 2017-12-19 17:09:05 -03:00
Juan Linietsky
5544b89750 properly plot normal when baking 2017-12-19 15:04:52 -03:00
Juan Linietsky
a714e1a4c7 Fixed bug where all file dialogs requested thumbnails even if hidden. 2017-12-19 12:57:46 -03:00
Juan Linietsky
1eb1837d0c Should no longer crash after rebaking, may be a solution to #14795
Not sure if this is the same problem, as reported, please test.
2017-12-19 09:58:02 -03:00
Ibrahn Sahir
8981924fbe fix for BitmapFont::create_from_fnt to allow loading from file in
project root directory.
2017-12-19 11:02:25 +00:00
Ray Koopa
a08c5d73a5 Add functionality to insert tree item. 2017-12-18 14:19:39 +01:00
Rémi Verschelde
abf20709af doc: Sync classref with current source 2017-12-18 08:13:58 +01:00
Juan Linietsky
e96c40f94a Added baked light support for gridmaps. 2017-12-18 00:35:20 -03:00
Dmitry Koteroff
ea14b0789b A few small Debugger->Errors tab enhancements:
1. Added "Clear" button to clear list.
2. Errors list now populated with newest items comes first, so no need to scroll everytime.
3. Added PopupMenu to errors list with ability to quickly Copy error text & details.
2017-12-18 03:40: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
Rémi Verschelde
27642868f1
Merge pull request #14786 from djrm/pr_fixes
Expose Range, ScrollBar and Slider as virtual.
2017-12-17 22:21:06 +01:00
Daniel J. Ramirez
5e2c8593f7 Expose Range, ScrollBar and Slider as virtual. 2017-12-17 15:16:20 -06:00
Stefano Bonicatti
a15721e5c9 Fix Sprite3D alpha_cut member not being initialized 2017-12-17 22:07:43 +01:00
Rémi Verschelde
1ef123c57d
Merge pull request #14748 from YeldhamDev/popupmenu_circleback
Made highlighted item in PopupMenu circle back to the beginning/end when using the keyboard
2017-12-17 20:22:50 +01:00
Rémi Verschelde
90d95c7ee1
Merge pull request #14757 from YeldhamDev/submenu_keyboard
More changes to PopupMenu's submenu keyboard handling
2017-12-17 20:22:20 +01:00
Rémi Verschelde
89a32b4977
Merge pull request #14775 from hpvb/limit-lightmapper-subdiv
Limit the lightmapper subdivide to 1024
2017-12-17 19:59:59 +01:00
Rémi Verschelde
fd022cb156
Merge pull request #14778 from YeldhamDev/lineedit_deselect_expose
Exposed LineEdit's "selection_clear" and renamed it to "deselect"
2017-12-17 19:29:59 +01:00
Rémi Verschelde
9b86703fd9
Merge pull request #14772 from poke1024/fix14539
Fix cut-copy-line breaking paste (issue 14539)
2017-12-17 19:28:16 +01:00
Michael Alexsander Silva Dias
95f93e038a Exposed LineEdit's "selection_clear" and renamed it to "deselect". 2017-12-17 15:40:44 -02:00
Hein-Pieter van Braam
c4c7fa3f5e Limit the lightmapper subdivide to 1024
Due to memory contraints in other places in Godot it is unlikely that
anything higher than 1024 will actually work. When/if we improve memory
management for vectors we can increase  this limit again
2017-12-17 18:00:00 +01:00
Bernhard Liebl
abfcce0067 Fix cut-copy-line breaking paste (issue 14539) 2017-12-17 16:24:23 +01:00
Juan Linietsky
fa8a1fc420 Fixes how transform is applied to geometry in UV unwrap 2017-12-17 12:04:54 -03:00
Rémi Verschelde
cacab4ba62
Merge pull request #14769 from akien-mga/if-0-cleanup
Cleanup some #if 0'd code
2017-12-17 15:43:11 +01:00
Rémi Verschelde
8f25a2dc11 Cleanup some #if 0'd code 2017-12-17 15:40:24 +01:00
Rémi Verschelde
8821f9b750
Merge pull request #14767 from volzhs/save-clip-contents
Fix Clip Content property is not saved
2017-12-17 15:18:30 +01:00
volzhs
ef32018d1f Fix Clip Content property is not saved 2017-12-17 23:10:59 +09: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
539fd14cf5
Merge pull request #14758 from hpvb/optimize-lightbaker-rng
Use a more naive RNG for the lightmapper
2017-12-17 14:27:51 +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
Rémi Verschelde
32bc42690c
Merge pull request #14761 from fire/gdnative-lightmapper
Fix gdnative generation for lightmapper.
2017-12-17 11:12:21 +01:00
Hein-Pieter van Braam
a402efeb72 Tweak OpenMP parameters for lightbaker
On higher threadcount systems this allows for better utilization. On my
16 thread box CPU use goes from 10 - 11 threads to a steady 15 threads
on the Sponza scene.

Baking time goes from ~10:00 to ~07:30 for me. On lower threadcount
systems I expect some improvement also but likely a little less.
2017-12-17 03:09:38 +01:00
K. S. Ernest (iFire) Lee
9948da70a0 Fix gdnative generation for lightmapper. 2017-12-16 16:56:54 -08:00
Nathan Warden
fcba654bb8 Fixed a bug where mouse button focus breaks when using multiple buttons at once. 2017-12-16 19:30:49 -05:00
Hein-Pieter van Braam
be4448bd1f Use a more naive RNG for the lightmapper
This speeds up the lightmapper by about 10% with no visible impact. A
comparison is up here:

https://tmm.cx/nextcloud/s/Log1eAXen1dJzBz

AMD Ryzen 7 1700 Eight-Core Processor
Sponza scene

pcg32
256/256/high   00:10:13
256/256/medium 00:02:50
256/256/low    00:01:11

xorshift
256/256/high   00:09:32
256/256/medium 00:02:34
256/256/low    00:01:05
2017-12-17 00:12:45 +01:00
Michael Alexsander Silva Dias
7e38db631f More changes to PopupMenu's submenu keyboard handling. 2017-12-16 20:57:26 -02:00
Juan Linietsky
1b944cb663
Revert "Fix mouse button release not sent to gui_input if it's different from the button that gave focus" 2017-12-16 19:50:32 -03:00
Rémi Verschelde
d03f35f1bc Bind TextEdit.deselect and update documentation 2017-12-16 21:08:31 +01:00
Juan Linietsky
cf84ee22a9 Added custom editor splash (including sponsor logo). 2017-12-16 16:11:13 -03:00
Juan Linietsky
c93cb30cbb restored binary compatibility, which was broken in #14406 2017-12-16 15:48:16 -03:00
Matthias Hoelzl
ced1ff63a8 Improve duplication and saving of instanced scenes 2017-12-16 17:58:17 +01:00
Michael Alexsander Silva Dias
c19cc581ec Made highlighted item in PopupMenu circle back to the beginning/end when using the keyboard. 2017-12-16 13:54:43 -02:00