Rémi Verschelde
ed10ff65fd
Merge pull request #21245 from RandomShaper/fix-physics-canvas-xform
...
Take CanvasLayer transform into account for 2D physics
2018-08-21 21:46:04 +02:00
Rémi Verschelde
404ee1a56b
Style: Fix issues that went past CI
2018-08-21 21:28:06 +02:00
Juan Linietsky
ee07fb5ebe
Changes to ClippedCamera, RayCast,Raycast2D and 2D physics API to add ability to choose between bodies and areas when colliding.
2018-08-21 15:31:23 -03:00
Pedro J. Estébanez
4839e5f6d9
Take CanvasLayer transform into account for 2D physics
...
Fixes #18073 .
2018-08-21 20:10:15 +02:00
Rémi Verschelde
968886768b
Lift 1440 limit in rotation_degrees hint range
...
Fixes #15947 .
2018-08-16 14:36:38 +02:00
volzhs
4e9795aa99
Fix not to show configuration warning on every node has script
2018-08-15 21:35:06 +09:00
Juan Linietsky
4e55835e48
Merge pull request #18096 from aaronfranke/master
...
[Core] Split up math_2d.h
2018-08-14 18:58:32 -03:00
Juan Linietsky
ef5095720b
-Deprecate ImageTexture::load
...
-Add warning to Image::load when loading resources
-Add script binding for get_configuration_warning
2018-08-14 16:53:20 -03:00
Aaron Franke
cf136a91d6
[Core] Completely kill math_2d.h, change includes
2018-08-11 03:08:34 -05:00
Andrea Catania
c1860fe88b
Fixed process priority
2018-08-04 14:51:44 +02:00
Juan Linietsky
15db793ef2
Ensure process notification is received only if really enabled, fixes #7894
2018-07-29 21:20:41 -03:00
Ibrahn Sahir
1626ae6421
fixed uninitialised variable that was causing menu crash.
2018-07-28 18:09:47 +01:00
Hein-Pieter van Braam
0e29f7974b
Reduce unnecessary COW on Vector by make writing explicit
...
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
Guilherme Felipe
d1f5deabd8
Opens the menu with the same parent on mouse focus
2018-07-24 19:59:40 -03:00
Juan Linietsky
172f652dc0
Merge pull request #19888 from AndreaCatania/pry
...
Implemented proceses priority
2018-07-23 07:21:38 -03:00
Andrea Catania
51dfa10ac7
Implemented proceses priority
2018-07-23 12:19:38 +02:00
Juan Linietsky
336db8bcd1
-Fix tooltips in inspector, now they show as rich text.
2018-07-20 18:16:19 -03:00
Rémi Verschelde
7c9f7452f4
Style: Format code with clang-format 6.0.1
2018-07-18 16:27:03 +02:00
Max Hilbrunner
a8a318161b
Merge pull request #19015 from toger5/fixed_scrolling_with_trackpad_in_new_inspector
...
fixed scrolling in new ispector when using trackpad pan gesture
2018-07-05 00:22:06 +02:00
GagaPete
8a4dccc4ce
Fix CORS problems due to added headers on JS target
...
Before this change, missing User-Agent and Accept headers were automatically
added on all platforms. Setting the User-Agent header forces the browser to
do a CORS preflight (see 1) which fails if the HTTP endpoint is not
configured appropriate. It's not neccesary to set either header as the
browser sets them and so this commit disables that functionality on the JS
target.
1: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Simple_requests
2018-07-04 01:56:44 +02:00
Juan Linietsky
085483e885
-Fix fullscreen on Windows with a HiDPI monitor but a non-HiDPI project
...
-Replaced some viewport size calls to screen size, since viewport size should be deprecated at this point..
2018-07-03 18:53:27 -03:00
Max Hilbrunner
465edbd2bc
Merge pull request #19853 from khairul169/duplicate_bug
...
Fix duplicate method on instanced node generates duplicated children.
2018-07-03 18:48:45 +02:00
Marcelo Fernandez
deebeb2742
Add a new notification to detect crashes on native scripts
2018-07-02 16:18:58 -03:00
Juan Linietsky
2dc738ce27
-Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios
...
-Fixes to some duplication scenarios for instanced scenes
2018-07-02 15:08:35 -03:00
khairul169
8e03715a5c
Fix duplicate bug
2018-06-30 17:35:51 +07:00
Juan Linietsky
eeab3502d5
Changes to how node paths are selected from property, allowing setting a hint.
2018-06-27 20:50:25 -03:00
Marcelo Fernandez
8c1c7ff131
Add missing NULL checks for add_child_below_node
2018-06-19 22:47:34 -03:00
Guilherme Felipe
aa53c032ed
Fix regression with cursor shape
2018-06-07 15:12:59 -03:00
Juan Linietsky
b659fd6d74
Entirely new (and much improved) animation editor.
2018-06-07 12:52:00 -03:00
Fabio Alessandrelli
348725dfe0
Add option to disable automatic multiplayer poll
...
Automatic poll from SceneTree is enabled by default.
This allows for polling (and thus RPCs/RSETs) manually in other loops
(e.g. physics, thread, specific step) and for proper mutex protecion
when accessing the multiplayer API from threads (e.g. for sending larger
files in chunks).
2018-06-03 18:58:04 +02:00
Fabio Alessandrelli
1400f6fdc4
Refactor RPCMode enum and checks
2018-05-29 20:26:41 +02:00
Max Hilbrunner
4c69a495c9
Revert "RPCMode refactor, more sync modes"
2018-05-29 11:47:52 +02:00
Fabio Alessandrelli
9de4ffde61
Refactor RPCMode enum and checks
2018-05-26 10:43:43 +02:00
Webster Sheets
1198662b2b
Revert #14753 , as it is buggy and no longer necessary.
2018-05-24 16:10:25 -04:00
toger5
0e015f6023
fixed scrolling in new ispector when using trackpad pan gesture
2018-05-18 18:47:39 +02:00
Rémi Verschelde
93c4274941
Merge pull request #18928 from BastiaanOlij/fix_viewport_flags
...
Store flags so it isn't lost when viewport isn't setup yet
2018-05-16 15:11:20 +02:00
Bastiaan Olij
0fc4f22522
Store flags so it isn't lost when viewport isn't setup yet
2018-05-16 22:19:45 +10:00
Juan Linietsky
005b69cf6e
-New inspector.
...
-Changed UI resizing code, gained huge amount of speed.
-Reorganized timer sync to clean up behavior (sorry forgot commit this before)
-
2018-05-15 17:14:31 -03:00
Max Hilbrunner
e744d12e56
Merge pull request #18709 from Faless/multiplayer_docs
...
Rename multiplayer_api to multiplayer, add docs
2018-05-09 01:41:01 +02:00
Juan Linietsky
d5c3fc1522
Merge pull request #15119 from poke1024/visible-subwindows
...
More efficient subwindow handling
2018-05-08 09:49:34 -03:00
Juan Linietsky
c54ac6a15d
Merge pull request #15074 from PJB3005/17-12-26-remove_gui_focus_on_visibility_loss
...
Hiding a Control now fires NOTIFICATION_FOCUS_EXIT.
2018-05-08 09:40:44 -03:00
Fabio Alessandrelli
234914c42c
Rename multiplayer_api to just multiplayer.
...
Only the class name retain the MultiplayerAPI name
2018-05-08 10:51:04 +02:00
Geequlim
56c2463f8c
Fix double free for drag preview control in viewport
2018-05-08 13:52:38 +08:00
Juan Linietsky
7b85c9d0ea
Merge pull request #17295 from eon-s/instance-placeholder
...
Make InstancePlaceholder more flexible by allowing to instance without removing it.
2018-05-07 20:23:34 -03:00
Juan Linietsky
7b065a59fa
Merge pull request #15911 from Zephilinox/ready_signal
...
Add ready signal to Node
2018-05-07 17:56:10 -03:00
Juan Linietsky
38aaf78325
Merge pull request #18524 from BastiaanOlij/keep_3d_linear
...
Added option to viewport to keep linear color
2018-05-07 09:24:39 -03:00
Max Hilbrunner
e15305721d
Merge pull request #18454 from KidRigger/working_timer
...
Allows setting the Timer wait_time in start method.
2018-05-07 09:37:11 +02:00
Bastiaan Olij
6f7fefa489
Added option to viewport to keep linear color
2018-05-06 19:28:09 +10:00
Rémi Verschelde
b774156729
Merge pull request #18514 from neikeq/api-hash-fixes
...
API hash fixes
2018-05-03 14:36:32 +02:00
Rémi Verschelde
741637b966
Merge pull request #18451 from volzhs/node-name
...
Check invalid node name
2018-05-02 22:21:31 +02:00
volzhs
6758b6c131
Check invalid node name
2018-05-03 00:00:06 +09:00
Pedro J. Estébanez
de9d40a953
Implement universal translation of touch to mouse
...
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*)
The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers.
Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse.
*: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest.
On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction.
Plus: Improve/fix tracking of current mouse position.
** Summary of changes to settings: **
- `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse`
- New setting: `input/pointing_devices/emulate_mouse_from_touch`
2018-04-30 19:03:38 +02:00
Ignacio Etcheverry
7034d48032
Fix binding some core API methods only in tools builds
2018-04-29 19:49:26 +02:00
Anish
f714637e58
Allows setting the Timer wait_time in start method.
...
Allows shortening the two line method of Timer.set_wait_time
followed by Timer.start set wait_time as a parameter to
Timer.start. Also modifies the class documentation.
Fixes : #18107
2018-04-27 01:17:20 +05:30
Guilherme Felipe
4f05190fb0
Implement Input.set_default_cursor_shape to change the default shape
...
Closes #18043
2018-04-10 11:38:34 -03:00
Geoffrey
8362ce4769
Made print_tree_pretty() function which displays scene tree graphically
2018-04-09 15:01:37 +02:00
Juan Linietsky
e9e5aa617e
Merge pull request #17227 from Faless/multiplayer_api
...
[RFC] MultiplayerAPI refactor
2018-04-08 11:04:16 -03:00
Juan Linietsky
4ee3f3251d
Merge pull request #17382 from bojidar-bg/13971-path-array-unsaved
...
Duplicate Arrays and Dictionaries when instancing scene in editor
2018-04-08 09:39:03 -03:00
Juan Linietsky
9e7cee2ceb
Removed strange custom world2d in CanvasLayer, been there since always and not sure why.
...
Fixes #17524 , fixes #17523 .
2018-04-07 19:43:09 -03:00
Pedro J. Estébanez
259ed1d400
Improve popup menus usability
...
It seems that popups were intended to "grab" the mouse click that triggered them, but their intent was being lost. This commit does the necessary changes to let it happen and updates items that were trying to get advantage of it, because the semantics of `Control::grab_click_focus()` have changed a bit. Namely, it must be called **before** showing the modal.
This allows to popup a menu and activate an item in it in a single click-point-release cycle, instead of having to click once to open the menu and once more to pick an item.
This ability is extended even to context menus activated with the RMB (or any other mouse button, for that matter). The editor benefits from this in the context menu of the tree dock, which has been patched to opt-in for this feature.
This improves UX a bit by saving unnecessary clicks.
From now on, `PopupMenu` always grabs the click and also invalidates the first button release unless the mouse has moved (that's what `set_invalidate_click_until_motion()` was doing and now it's removed), so there is no longer the need of doing both things at every point a pop-up menu is shown.
2018-04-07 01:06:02 +02:00
Rémi Verschelde
01bb39ac3f
Merge pull request #17321 from LinkDoyle/issue_16350
...
Fix switching WindowDialog types leaves garbage buttons
2018-03-23 11:38:59 +01:00
Ruslan Mustakov
47747718d6
Fix oversampled font artifacts after resize
...
Font update after resize relies on the viewport size which was updated
after the font was already refreshed, which resulted in artifacts when
it was rendered into the actual/new viewport size.
Fixes #15173 .
2018-03-19 20:44:26 +07:00
Fabio Alessandrelli
c531262190
Merge pull request #16947 from Faless/ui_actions
...
GUI elements ui_action usage, improvements
2018-03-16 20:55:11 +01:00
Hein-Pieter van Braam
99f286e23f
Merge pull request #17264 from poke1024/fix-gesture-key-event-accepted
...
Fix gesture events being blocked
2018-03-15 23:13:04 +01:00
Bojidar Marinov
9f6c0c6eae
Duplicate Arrays and Dictionaries when instancing scene in editor
...
Also, add deep (=false) parameter to Array.duplicate and Dictionary.duplicate
Fixes #13971
2018-03-13 17:18:08 +02:00
Link
611c050469
Fix switching WindowDialog types leaves garbage buttons
...
We can distinguish between node-specific children and custom children by `child->is_owned_by_parent()`.
Fixes : #16350
2018-03-07 18:28:29 +08:00
eon-s
5e427190bc
Added create_instance
...
Allows to create an instance from an `InstancePlaceholder` without removing the placeholder.
Deprecates `replace_by_instance`.
2018-03-05 22:57:17 -03:00
Bernhard Liebl
166c2bdea7
Fix gesture events being blocked
2018-03-04 22:19:10 +01:00
Fabio Alessandrelli
5081ced57f
Use MultiplayerAPI class for high level networking
...
Remove networking related logic from Node and SceneTree.
SceneTree now simply relay all networking related stuff to
MultiplayerAPI for compatibility
2018-03-03 18:34:22 +01:00
Ranoller
979dccbd8d
FIX Windows enter/exit mouse notifications
...
Fix to this issue #17202
2018-03-03 03:42:38 +01:00
Rémi Verschelde
ce7da2c7d6
Viewport: Fix missing tooltips w/ disabled physics object picking
...
Previously this option seemed to be the sole responsible for enabling
physics processing in Viewport, while several other features like
tooltips and debugging collision hints rely on it.
All this logic is moved to internal processing (it's incorrect to let
it be affected by users disabling physics/idle processing), and disabling
physics object picking no longer affects the internal physics processing.
Fixes #17001 .
2018-03-01 16:01:10 +01:00
Hein-Pieter van Braam
d702d7b335
Fix various valgrind reported uninitialized variable uses
2018-02-28 21:55:13 +01:00
Rémi Verschelde
23ebae01dc
Refactor version macros and fix related bugs
...
The previous logic with VERSION_MKSTRING was a bit unwieldy, so there were
several places hardcoding their own variant of the version string, potentially
with bugs (e.g. forgetting the patch number when defined).
The new logic defines:
- VERSION_BRANCH, the main 'major.minor' version (e.g. 3.1)
- VERSION_NUMBER, which can be 'major.minor' or 'major.minor.patch',
depending on whether the latter is defined (e.g. 3.1.4)
- VERSION_FULL_CONFIG, which contains the version status (e.g. stable)
and the module-specific suffix (e.g. mono)
- VERSION_FULL_BUILD, same as above but with build/reference name
(e.g. official, custom_build, mageia, etc.)
Note: Slight change here, as the previous format had the build name
*before* the module-specific suffix; now it's after
- VERSION_FULL_NAME, same as before, so VERSION_FULL_BUILD prefixed
with "Godot v" for readability
Bugs fixed thanks to that:
- Export templates version matching now properly takes VERSION_PATCH
into account by relying on VERSION_FULL_CONFIG.
- ClassDB hash no longer takes the build name into account, but limits
itself to VERSION_FULL_CONFIG (build name is cosmetic, not relevant
for the API hash).
- Docs XML no longer hardcode the VERSION_STATUS, this was annoying.
- Small cleanup in Windows .rc file thanks to new macros.
2018-02-23 20:15:29 +01:00
Fabio Alessandrelli
90b9449844
Properly set input as handled when closing modal
2018-02-23 13:01:28 +01:00
luz.paz
612ab4bbc6
Fix typos with codespell
...
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
Artem Varaksa
d35e486228
Clean up some bad words from code comments
2018-02-17 16:00:39 +03:00
Zephilinox
a826fb8d8b
Add ready signal to Node
...
Closes #15889
2018-01-20 21:57:59 +00:00
Rémi Verschelde
598724c043
Remove obsolete Viewport _update_rect() code
2018-01-18 22:37:45 +01:00
Rémi Verschelde
9f479f096c
Fix typos in code and docs with codespell
...
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Juan Linietsky
a26e6c8215
Renamed tree_exited to tree_exiting. tree_exited is now used for actual out of tree notification.
...
Updated doc accordingly.
2018-01-12 08:29:24 -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
AndreaCatania
5ac441131e
Fixed crash on duplicate GIProbe baking
2018-01-11 19:50:33 +01:00
Poommetee Ketson
768fd83e61
Fix typo in new strings
2018-01-06 21:33:11 +07:00
Juan Linietsky
90d47ae23d
Force button release when window focuses out, fixes #15318 and likely many other issues.
2018-01-05 15:40:08 -03: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
Rémi Verschelde
ffd6838704
Merge pull request #15192 from volzhs/expose-quit-on-go-back
...
Bind SceneTree::set_quit_on_go_back() to gdscript
2018-01-03 12:14:16 +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
7d0212f4eb
Merge pull request #14953 from poke1024/fix-toolbar-gesture
...
Hide tooltip on gesture input
2018-01-01 18:53:11 +07:00
volzhs
c132d873b1
Bind SceneTree::set_quit_on_go_back() to gdscript
...
Fix #15189
2017-12-30 21:15:17 +09:00
Bernhard Liebl
098bcf55d0
More efficient subwindow handling
2017-12-28 11:27:43 +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
PJB3005
7f0a1c1780
Hiding a control now fires NOTIFICATION_FOCUS_EXIT.
...
It always removed the focus from the control, but this happened without firing the relevant notification.
2017-12-26 20:58:53 +01: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
4a2eef4ad8
Removed the InputEvent ID field, which was unused and can cause bugs.
2017-12-26 09:49:31 -03:00
Noshyaar
a483edbddd
Merge pull request #14899 from volzhs/render-quality-option
...
Respect HDR option
2017-12-25 08:36:46 +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
d6a88cdc41
Fix crash from move_child at saving scene
2017-12-25 01:31:13 +09: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
Bernhard Liebl
27afa8813d
Hide tooltip on gesture input
2017-12-22 19:39:23 +01: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
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
Juan Linietsky
b08735f209
Make dynamic font oversampling fully dynamic.
2017-12-19 21:58:32 -03:00
Juan Linietsky
fc103566e6
Added font oversampling support
2017-12-19 18:48:30 -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
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
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
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
Matthias Hoelzl
ced1ff63a8
Improve duplication and saving of instanced scenes
2017-12-16 17:58:17 +01:00
Rémi Verschelde
9079be9e83
Merge pull request #14484 from Zylann/fix_mouse_focus_button_release
...
Fix mouse button release not sent to gui_input if it's different from the button that gave focus
2017-12-16 13:29:44 +01:00
Bernhard Liebl
0d826717e7
Fixes oversized tooltip labels (issue 14570)
2017-12-15 19:33:00 +01: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
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
Rémi Verschelde
7d735da6aa
Merge pull request #13351 from poke1024/fix12451_2
...
Make click on arrow properly open and close property editor modals
2017-12-10 11:58:36 +01:00
Bernhard Liebl
efc3ffb816
fix certain popup close clicks with popup buttons
2017-12-10 10:55:48 +01:00
Marc Gilleron
f52da158d9
Fix mouse button release not sent to gui_input if it's different from the button that gave focus
2017-12-10 02:25:39 +01:00
volzhs
0e9d31a2e6
Fix mouse position in viewport
2017-12-10 06:15:57 +09:00
Juan Linietsky
dd892a327d
Added some clean up in camera/viewport management. Fixes #12279 , Fixes #12774
2017-12-07 12:13:20 -03:00
Rémi Verschelde
13c2ff9320
Style: Apply new clang-format 5.0 style to all files
2017-12-07 08:02:00 +01:00
Juan Linietsky
7459ade298
Do not cancel event if no need to cancel it. Fixes problem with GUI in 3D.
2017-12-04 17:36:28 -03: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
Konstantin Zaitsev
1f0e9c13a4
Fixed crash on duplicate instanced nodes ( #13432 )
2017-12-01 17:57:47 +07:00
Juan Linietsky
22415e5a31
Merge pull request #12572 from RandomShaper/onion-skinning
...
Onion skinning
2017-11-26 15:13:35 -03:00
Pedro J. Estébanez
922cf9fbb0
Fix crash on node duplication
...
That happened when an instanced scene was being duplicated while it also contained nodes added to it in the scene holding the instance.
Plus:
- Add comments about the logic behind all this.
- Move the null guard to where it can protect the most, but consider it a runtime error rather that a situation we expect.
Fixes #13282 .
2017-11-25 21:14:35 +01:00
Pedro J. Estébanez
d0e09d84f0
Implement onion skinning for the animation editor
2017-11-25 13:25:14 +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
Rémi Verschelde
2ea5ac17e8
Merge pull request #13159 from AndreaCatania/ray
...
Removed type_mask and fixed some variable name
2017-11-22 16:40:20 +01:00
Will Nations
e1c907ec73
Node.duplicate(): instanced node's descendants' properties now update
...
w/ original's runtime values.
2017-11-21 23:04:40 -06:00
AndreaCatania
d6e413bb9c
Removed type_mask and fixed some variable name
2017-11-21 22:56:40 +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
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
Rémi Verschelde
25b860ee2a
Merge pull request #13132 from Chaosus/preserve_dupsignals_flags
...
Preserve duplicate signal flags
2017-11-21 14:25:50 +01:00
Chaosus
fc74dbabd5
Preserve duplicate signal flags
2017-11-21 11:46:19 +03:00
Bernhard Liebl
80ad8afc85
Native pan and zoom for macOS
2017-11-21 09:11:39 +01:00
Pedro J. Estébanez
5a0be858f4
Let SceneTreeDock duplicate nodes via Node::duplicate()
...
Helps with #11182 .
2017-11-19 21:30:17 +01:00
Pedro J. Estébanez
7286966971
Remove out-of-logic assignment of instance's original scene
2017-11-19 21:30:17 +01:00
Pedro J. Estébanez
803b3934d6
Fix duplication of signals
...
- Partially revert 6496b53549
, adding a comment about why duplications of signals must happen as a second phase.
- Add fallback logic for connections to nodes not in the duplicated hierarchy.
- Remove redundant call to `Node::_duplicate_signals()`.
Fixes #12951 .
2017-11-19 15:07:05 +01:00
Ian
12b4e232b2
fix signals disconnecting on changing target node type
2017-11-13 17:44:58 -05:00
Chaosus
6496b53549
Duplicate signals fixes
2017-11-13 18:42:07 +03:00
letheed
482e07af7e
Unify degree members and properties
2017-11-10 12:52:07 +01:00
letheed
ab2647a0d0
Remove deprecated rotation methods
2017-11-10 09:09:30 +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
Poommetee Ketson
9cadb9e5f3
Bind unbound enums, rearrange some by value
2017-10-22 01:58:02 +07:00
Poommetee Ketson
9b634180aa
Refactor Fixed to Physics
2017-10-21 21:28:08 +07:00
Rémi Verschelde
f2f75d1f11
Merge pull request #12149 from endragor/check-input-handled
...
Check if input is handled before handling it
2017-10-20 22:47:31 +02:00
Rémi Verschelde
067fc88488
Merge pull request #12224 from NathanWarden/scene_tree_added_signal
...
Added a node_added signal to the SceneTree
2017-10-20 22:10:47 +02:00
geequlim
eeacae563c
Fix window display shrink can't set to float numbers
2017-10-20 12:52:18 +02:00
Nathan Warden
999ad9c0a8
Added a node_added signal to the SceneTree
2017-10-19 10:46:00 -05:00
Poommetee Ketson
f9f3829bd2
Fix Viewport clear mode is bool instead of int, fixes #12202
2017-10-19 18:17:11 +07:00
Ruslan Mustakov
5da02a0d9c
Check if input is handled before handling it
2017-10-16 19:13:33 +07:00
AndreaCatania
4537977d6d
Renamed fixed_process to physics_process
2017-09-30 16:19:07 +02:00
Rémi Verschelde
5567cbe6ae
Merge pull request #11545 from Paulb23/line_edit_caret_blink_resetting_issue_10764
...
Fixed caret blink and speed resetting in scenes, issue 10764
[ci skip]
2017-09-25 23:10:32 +02:00
Poommetee Ketson
0761efaf36
Merge pull request #11552 from Tetane/master
...
Add missing constant binding STRETCH_ASPECT_EXPAND in SceneTree
2017-09-25 19:20:52 +07:00
Tetane
b3f3a91e15
Add a missing constant binding in SceenTree
...
Add missing constant binding "STRETCH_ASPECT_EXPAND"
(I cannot test it because godot does not compile anymore on my pc (windows10))
2017-09-24 20:29:18 +02:00
Paulb23
8b80e97338
Fixed caret blink and speed resetting in scenes, issue 10764
2017-09-24 17:22:47 +01:00
Rémi Verschelde
a1779c9044
Merge pull request #11013 from MednauN/master
...
Fix duplication of node with script
2017-09-21 10:53:58 +02:00
Rémi Verschelde
4820dfc570
Let queue_free() work on nodes which are not in the scene tree
...
In practice such nodes could directly be free()'ed, but this little change
prevents users from leaking memory by mistake.
Closes #9074 .
2017-09-20 21:49:56 +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
Evgeny Zuev
521280ec44
Fix duplication of node with script
...
When duplicating node with script, properties of script
weren't copied sometimes.
It happened because properties were copied in arbitrary
order, and properties of the script were setted before the
"script" property itself, i.e. while script is sill NULL.
Also, DUPLICATE_SCRIPTS flag wasn't working - script was
always copied because `_duplicate` looked for
"script/script" property while it should be just "script".
Now "script" property is being set before all others,
and "script/script" changed to
`CoreStringNames::get_singleton()->_script`.
2017-09-20 10:56:31 +07:00
Maxim Sheronov
0fffa45158
Fix enums bindings
...
Add missed bindings for enums
Move some enums to class to have correct output of api.json
2017-09-13 20:57:07 +03:00
Rémi Verschelde
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
0f006994d8
Merge pull request #11007 from saltares/issue-9988
...
Renames _add_child_below_node() to add_child_below_node(). Fixes #9988 .
2017-09-12 12:04:03 +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
Bojidar Marinov
ebee9898ca
Fix duplication of nodes resulting in shared metadata
...
Fixes #9547
2017-09-11 12:34:36 +03: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
5e18967d77
Fix serveral recent new clang-format errors
2017-09-08 00:20:16 +02:00
Juan Linietsky
1eeda0f32f
Restored auto snapping of controls to pixels, fixes #10847 and probably several more issues. Made it optional in the project settings but defaults to true.
2017-09-07 11:22:07 -03:00
David Saltares
0549484c77
Renames _add_child_below_node() to add_child_below_node(). Closes #9988 .
2017-09-05 22:43:28 +01: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
Poommetee Ketson
ed606ded52
Fix files header
2017-09-01 21:07:55 +07:00
Juan Linietsky
5653477a30
Exposed new ClearMode function to Viewport clases, closes #9995
2017-08-31 11:15:10 -03:00
Juan Linietsky
4d4c1dfc1b
Do not error flood if removing default environment. Closes #9945
2017-08-31 08:56:15 -03: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
Poommetee Ketson
87917e769f
Viewport: fix 'size' binding from Rect2 to Vector2
2017-08-27 12:03:19 +07:00
Rémi Verschelde
6e7f0190ee
Merge pull request #10579 from quinnyo/rpc-sender-id
...
Method to get ID of RPC calling peer
2017-08-27 02:11:30 +02:00
Hein-Pieter van Braam
3e25cf9e05
Add two missing Null checks
...
These Null checks were removed in #10581 but actually changed the
logic of the functions in this case.
This fixes #10654
2017-08-26 23:40:45 +02:00
Rémi Verschelde
3c5ce736e6
Node: Add debug info to add_child reparenting check
...
Use it to remove buggy add_child in EditorAudioBus
2017-08-26 18:14:42 +02:00
Juan Linietsky
1894157c9f
-Massive clean up to gizmos
...
-Make sure handles are always visible (on top)
-Fixed instanced scene selection (should work properly now)
-Added interpolated camera
-Customizable gizmo colors in editor settings
2017-08-26 00:47:28 -03:00
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
Quinn Schwab
7c802837a3
add SceneTree method to get ID of rpc calling peer
2017-08-23 18:43:25 +10:00
Marcelo Fernandez
1b6c9f7076
Add missing NULL check for the new show_about() call
2017-08-22 14:21:18 -03:00
Rémi Verschelde
b3ff7ca62e
Fix build after merge of #10254
2017-08-22 01:16:33 +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
d37bd15cb9
Merge pull request #10443 from karroffel/propagate_call
...
add "propagate_call" method to Node
2017-08-21 23:21:47 +02:00
Wilson E. Alvarez
0017e21521
Fixed segfault when hovering over scene tree elements and showing tooltips.
2017-08-20 22:28:07 -04:00
Ignacio Etcheverry
32dd9a9f66
ClassDB: Provide the enum name of integer constants
2017-08-20 22:07:43 +02: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
Karroffel
390f7def39
add "propagate_call" method to Node
...
It is possible to propagate a notification down the Node tree by
using `propagate_notification`, but there was no such method for
doing the same but with method calls.
This commit adds the `propagate_call` method, which calls a method
on a node and all child nodes. An optional paramter `parent_first`
determines whether the parent node gets called before or after the
children have been visited. It defaults to false, so the parent
gets called last.
2017-08-19 15:22:37 +02:00
Juan Linietsky
bf1f83ed29
Small fix that makes overal UI (including dragging spliiters) much, much faster.
...
Flushing messages meant that for every event, UI was reaccomodating everything. This is relly slow.
Messages will have to happen sometime later, during iteration most likely.
I still can't fix the overall code editor slowness on Mesa+Radeon, I suspect it's a driver issue.
2017-08-18 23:01:27 -03:00
Ignacio Etcheverry
90b8a5b71e
Removes editor_hint from SceneTree
2017-08-19 01:29:45 +02:00
Marcelo Fernandez
aae29c7a0e
Added notification const NOTIFICATION_WM_ABOUT
2017-08-17 11:28:45 -03:00
TwistedTwigleg
00f6c85928
Synchronize parameter names in definition and declaration
...
Fixes #10244 .
2017-08-16 17:22:23 +02:00
Pedro J. Estébanez
213ad45ccf
Allow zero-padded serial naming
...
Thereby, the editor will acknowledge node namings such as _Thing003_ so that a duplicate, for instance, will be named _Thing004_, instead of _Thing4_, that was the case formerly.
Closes #7758 .
2017-08-16 03:26:47 +02:00
kubecz3k
129ebca41d
Merge pull request #9889 from groud/control_enhancements
...
Control node enhancements
2017-08-15 22:55:49 +02:00
Juan Linietsky
860816f3d3
Fix debug materials, closes #8607
2017-08-15 17:21:05 -03:00
Juan Linietsky
fdc2cdef0b
Ensure nothing is found outside modal stack, but keep logic going. Fixes #7622
2017-08-15 07:32:15 -03:00
Gilles Roudiere
0d35d4d53b
Replace GUI anchor type by a float between 0 and 1
2017-08-13 21:20:13 +02:00
Rémi Verschelde
23f6d3fa69
Merge pull request #10198 from jjay/f/stretch_aspect_expand
...
Add "expand" option for stretch aspect, no more black bars
2017-08-11 15:55:22 +02:00
Ignacio Etcheverry
78619a5866
Fixes method definitions with extra number of arguments
2017-08-10 07:17:51 +02:00
Ignacio Etcheverry
2f290038d6
Removes type information from method binds
2017-08-10 07:17:50 +02:00
Yakov Borevich
b2ca500545
Add expand stretch/ascpect - no more black bars
2017-08-09 12:26:33 +03:00
Juan Linietsky
2a6cdfaf91
-Fixed BoneAttachment delay, closes #3966
...
-Fixed skeleton crash, probably fixes other issues
2017-08-07 22:18:12 -03:00
Thomas Herzog
5ada918d9f
Merge pull request #10136 from MednauN/master
...
Add handling of touch events in _gui_input_event
2017-08-07 22:23:30 +02:00
Rémi Verschelde
3121b3a4f4
Merge pull request #10141 from ISylvox/lower_case_godot_api
...
Makes all Godot API's Methods lower_case
2017-08-07 14:59:39 +02:00
Indah Sylvia
5ae78fdf6a
Makes all Godot API's methods Lower Case
2017-08-07 18:24:35 +07:00
Rémi Verschelde
a2cedd81d4
Merge pull request #9394 from supagu/sync-rpc-fix
...
Queue RPC packet before calling method locally to ensure correct RPC …
2017-08-07 11:01:26 +02:00
Evgeny Zuev
60230675d9
Add handling of touch events in _gui_input_event
...
Fixes #10039
2017-08-07 15:14:50 +07:00
Juan Linietsky
cfe4b30941
renamed node path, closes #5691
2017-08-05 09:13:59 -03: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
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
Pedro J. Estébanez
6c1b7fd899
Fix Node::move_child() crash if moving to the end plus one
...
Fixes #9820 .
2017-07-25 05:20:30 +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
Poommetee Ketson
2777f81d29
Add object type hint for docs
2017-07-23 18:57:03 +07:00
Juan Linietsky
772485cdb3
Several changes to better run in mobile.
2017-07-22 14:08:17 -03:00
Juan Linietsky
25678b1876
-Renamed GlobalConfig to ProjectSettings, makes more sense.
...
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Poommetee Ketson
49c7620326
Add object type hint for docs
2017-07-19 02:03:34 +07: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
Juan Linietsky
5e361ba2ea
Script editor usability fixes
2017-07-15 09:35:29 -03:00
Pedro J. Estébanez
c061044d78
Fix picking list flood while mouse capture enabled
...
Fixes #9575 .
2017-07-10 17:48:57 +02:00
Juan Linietsky
e63c64e256
Clean up normalmapping, make sure tangents are imported correctly.
2017-07-03 10:45:34 -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
9e54e1f34f
Merge pull request #7947 from RandomShaper/fix-vis-notifier-2d
...
Fix VisibilityNotifier2D viewport offset issue
2017-06-28 12:25:08 +02:00
Juan Linietsky
3ce046ee0c
-Fixed SCREEN_TEXTURE and other related 2D shader parameters.
...
-Fixded BackBuffercopy object
2017-06-26 22:58:46 -03:00
Fabian Mathews
0f0e2240ba
Queue RPC packet before calling method locally to ensure correct RPC packet order
2017-06-26 19:13:54 +09:30
Juan Linietsky
0cac32910a
-Restored support for Canvas BG mode on Environment
...
-Improved ease of use of WorldEnvironment (no longer extends Spatial)
-2D editor viewport can now work in HDR!
2017-06-24 08:58:27 -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
Juan Linietsky
42b2d52c88
Properly adjust the visible editor rect and make limits respected, closes #8328
2017-06-12 16:19:12 -03:00
Juan Linietsky
4d50c7ad8c
Restored multiple viewport function, as well as view modes.
2017-06-11 15:52:03 -03:00
Juan Linietsky
612ab8fcdb
-Restored multithread capability to VisualServer
...
-Restored resource previews!
2017-06-09 00:24:18 -03:00
Juan Linietsky
5bf810b5db
-Added proper access to depth texture from shader
...
-Split Mesh into Mesh (abstrat class) and ArrayMesh, to allow to proper mesh primitives, as well as streamable meshes in the future.
2017-06-07 18:20:04 -03:00
alexholly
a3c90b0293
renamed all Rect2.pos to Rect2.position
2017-06-04 02:09:17 +02:00
Andreas Haas
9bc5348961
InputEvent: Renamed "pos" property to "position"
...
Make the naming consistent with other classes.
2017-06-03 11:26:39 +02:00
Juan Linietsky
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
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
Juan Linietsky
98a3296702
Removal of Image from Variant, converted to a Resource.
2017-05-17 07:37:45 -03:00
Fabio Alessandrelli
a5ce7a98cb
Fix bug in pause mode propagation
...
Pause mode was not correctly propagating effectively stopping
immediately when the mode was not PAUSE_MODE_INHERIT.
2017-05-06 02:37:17 +02:00
volzhs
de4267fc99
Fix auto_accept_quit option to work
...
auto_accept_quit value is set first properly with GLOBAL_DEF("application/auto_accept_quit", true) in main.cpp
after that it's reset to true in SceneTree:init() whatever value was.
2017-04-25 20:05:22 +09: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
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
Juan Linietsky
1c480698ce
-Fixed crash with splash screen on windows
...
-properly show editor without having to resize window on windows
2017-04-09 20:40:48 -03:00
Rémi Verschelde
df61dc4b2b
Add "Godot Engine contributors" copyright line
2017-04-08 00:11:42 +02:00
Rémi Verschelde
b81d5f4687
Merge pull request #8308 from RandomShaper/optimize-out-debug-n-non-tools
...
Optimize-out some debug and/or non-tools methods
2017-04-07 22:22:54 +02:00
Rémi Verschelde
12b84eb9f4
Merge pull request #8304 from RandomShaper/reset-folded-on-reset-edit-children
...
Reset display folded for an instanced scene if editable children is toggled off
2017-04-07 19:12:42 +02:00
Pedro J. Estébanez
665bf52948
Optimize-out some debug and/or non-tools methods
...
Collisions and nav debug are conditionally compiled depending on DEBUG_ENABLED
is_editor_hint() and is_node_being_edited() are compiled only with TOOLS_ENABLED
Every affected method is implemented in the header in case its macro is not present (the getters just returning false and the setters having an empty body) so the compiler can inline and finally no-op-out them as likely as possible.
is_node_being_edited() already showed a similar optimization effort and has been adapted to this change.
Furthermore, and as a consequence, -debugcol and -debugnav will not work on non-debug (strict release) builds.
This can bring a little bit of runtime performance on release and non-tooled builds (less code, so less cycles to spend and maybe more cache friendly).
2017-04-07 16:35:55 +02:00