summaryrefslogtreecommitdiff
path: root/scene/main
AgeCommit message (Collapse)Author
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
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-24Opens the menu with the same parent on mouse focusGuilherme Felipe
2018-07-23Merge pull request #19888 from AndreaCatania/pryJuan Linietsky
Implemented proceses priority
2018-07-23Implemented proceses priorityAndrea Catania
2018-07-20-Fix tooltips in inspector, now they show as rich text.Juan Linietsky
2018-07-18Style: Format code with clang-format 6.0.1Rémi Verschelde
2018-07-05Merge pull request #19015 from ↵Max Hilbrunner
toger5/fixed_scrolling_with_trackpad_in_new_inspector fixed scrolling in new ispector when using trackpad pan gesture
2018-07-04Fix CORS problems due to added headers on JS targetGagaPete
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-03-Fix fullscreen on Windows with a HiDPI monitor but a non-HiDPI projectJuan Linietsky
-Replaced some viewport size calls to screen size, since viewport size should be deprecated at this point..
2018-07-03Merge pull request #19853 from khairul169/duplicate_bugMax Hilbrunner
Fix duplicate method on instanced node generates duplicated children.
2018-07-02Add a new notification to detect crashes on native scriptsMarcelo Fernandez
2018-07-02-Fixes to how hashing happened, now StringName and NodePath use default ↵Juan Linietsky
hasher, this was leading to some severe slowdown in scenarios -Fixes to some duplication scenarios for instanced scenes
2018-06-30Fix duplicate bugkhairul169
2018-06-27Changes to how node paths are selected from property, allowing setting a hint.Juan Linietsky
2018-06-19Add missing NULL checks for add_child_below_nodeMarcelo Fernandez
2018-06-07Fix regression with cursor shapeGuilherme Felipe
2018-06-07Entirely new (and much improved) animation editor.Juan Linietsky
2018-06-03Add option to disable automatic multiplayer pollFabio Alessandrelli
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-05-29Refactor RPCMode enum and checksFabio Alessandrelli
2018-05-29Revert "RPCMode refactor, more sync modes"Max Hilbrunner
2018-05-26Refactor RPCMode enum and checksFabio Alessandrelli
2018-05-24Revert #14753, as it is buggy and no longer necessary.Webster Sheets
2018-05-18fixed scrolling in new ispector when using trackpad pan gesturetoger5
2018-05-16Merge pull request #18928 from BastiaanOlij/fix_viewport_flagsRémi Verschelde
Store flags so it isn't lost when viewport isn't setup yet
2018-05-16Store flags so it isn't lost when viewport isn't setup yetBastiaan Olij
2018-05-15-New inspector.Juan Linietsky
-Changed UI resizing code, gained huge amount of speed. -Reorganized timer sync to clean up behavior (sorry forgot commit this before) -
2018-05-09Merge pull request #18709 from Faless/multiplayer_docsMax Hilbrunner
Rename multiplayer_api to multiplayer, add docs
2018-05-08Merge pull request #15119 from poke1024/visible-subwindowsJuan Linietsky
More efficient subwindow handling
2018-05-08Merge pull request #15074 from ↵Juan Linietsky
PJB3005/17-12-26-remove_gui_focus_on_visibility_loss Hiding a Control now fires NOTIFICATION_FOCUS_EXIT.
2018-05-08Rename multiplayer_api to just multiplayer.Fabio Alessandrelli
Only the class name retain the MultiplayerAPI name
2018-05-08Fix double free for drag preview control in viewportGeequlim
2018-05-07Merge pull request #17295 from eon-s/instance-placeholderJuan Linietsky
Make InstancePlaceholder more flexible by allowing to instance without removing it.
2018-05-07Merge pull request #15911 from Zephilinox/ready_signalJuan Linietsky
Add ready signal to Node
2018-05-07Merge pull request #18524 from BastiaanOlij/keep_3d_linearJuan Linietsky
Added option to viewport to keep linear color
2018-05-07Merge pull request #18454 from KidRigger/working_timerMax Hilbrunner
Allows setting the Timer wait_time in start method.
2018-05-06Added option to viewport to keep linear colorBastiaan Olij
2018-05-03Merge pull request #18514 from neikeq/api-hash-fixesRémi Verschelde
API hash fixes
2018-05-02Merge pull request #18451 from volzhs/node-nameRémi Verschelde
Check invalid node name
2018-05-03Check invalid node namevolzhs
2018-04-30Implement universal translation of touch to mousePedro J. Estébanez
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-29Fix binding some core API methods only in tools buildsIgnacio Etcheverry
2018-04-27Allows setting the Timer wait_time in start method.Anish
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-10Implement Input.set_default_cursor_shape to change the default shapeGuilherme Felipe
Closes #18043
2018-04-09Made print_tree_pretty() function which displays scene tree graphicallyGeoffrey
2018-04-08Merge pull request #17227 from Faless/multiplayer_apiJuan Linietsky
[RFC] MultiplayerAPI refactor
2018-04-08Merge pull request #17382 from bojidar-bg/13971-path-array-unsavedJuan Linietsky
Duplicate Arrays and Dictionaries when instancing scene in editor
2018-04-07Removed strange custom world2d in CanvasLayer, been there since always and ↵Juan Linietsky
not sure why. Fixes #17524, fixes #17523.
2018-04-07Improve popup menus usabilityPedro J. Estébanez
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-03-23Merge pull request #17321 from LinkDoyle/issue_16350Rémi Verschelde
Fix switching WindowDialog types leaves garbage buttons
2018-03-19Fix oversampled font artifacts after resizeRuslan Mustakov
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.