summaryrefslogtreecommitdiff
path: root/scene/main
AgeCommit message (Collapse)Author
2021-10-04GDScript completion: Handle quote style ad-hoc to remove editor dependencyRémi Verschelde
`core` and `scene` shouldn't depend on `editor`, so they can't query this style setting in `get_argument_options`. But we can handle it after the fact in GDScript's completion code. Also cleans up a couple extra unused invalid includes in `core`.
2021-10-04Add the base scale factor to the Theme resourceYuri Sizov
2021-10-01Implement TextServer GDExtension interface, remove TextServer GDNative ↵bruvzg
interface.
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-30Rename Node's `filename` property to `scene_file_path` for clarityHugo Locurcio
2021-09-29Don't memcpy to nullptr even if length is zeroHaoyu Qiu
2021-09-21Fix focus shortcuts triggering incorrectlyEric M
2021-09-17Merge pull request #49819 from nekomatata/fix-process-mode-inheritRémi Verschelde
2021-09-16Rename Listener2D/Listener3D to AudioListener2D/AudioListener3DWilson E. Alvarez
2021-09-14Merge pull request #51237 from KoBeWi/tween_fix()Rémi Verschelde
Various fixes to Tween code
2021-09-13Merge pull request #50375 from Paulb23/code_edit_unit_testsRémi Verschelde
2021-09-13Merge pull request #49063 from Calinou/remove-16x-msaaRémi Verschelde
Remove 16× MSAA support due to driver bugs and low performance
2021-09-12Fix multiple definitions of Listener2Dkobewi
2021-09-10Clean up Viewport, remove dead code.Max Hilbrunner
2021-09-10Merge pull request #52431 from dozingpip/patch-1Max Hilbrunner
Remove dead code from Viewport::_gui_input_event
2021-09-09Merge pull request #44844 from KoBeWi/hey_listen!_but_2dJuan Linietsky
Add Listener2D
2021-09-08Multiplayer networking renames/simplificationMax Hilbrunner
Removes _networking_ prefix from some methods and members, now that multiplayer has been largely moved out of Node and SceneTree and is seperated into its own set of classes.
2021-09-07Merge pull request #52442 from Faless/mp/4.x_rpc_managerMax Hilbrunner
[Net] Move multiplayer classes to own subfolder. Split RPC from MultiplayerAPI.
2021-09-07Merge pull request #52392 from Shatur/fix-readyMax Hilbrunner
Remove extra get_script_instance check
2021-09-07[Net] Move multiplayer to core subdir, split RPCManager.Fabio Alessandrelli
Move multiplayer classes to "core/multiplayer" subdir. Move the RPCConfig and enums (TransferMode, RPCMode) to a separate file (multiplayer.h), and bind them to the global namespace. Move the RPC handling code to its own class (RPCManager). Renames "get_rpc_sender_id" to "get_remote_sender_id".
2021-09-06Fix process mode update when mode owner is set to InheritPouleyKetchoupp
Prevent the root node to be set to PROCESS_MODE_INHERIT, since it causes undefined behavior. Fix a case where the process owner node is wrongly set to the direct parent instead of the proper node. Add errors for all unhandled cases.
2021-09-06Remove dead code from Viewport::_gui_input_eventPip
2021-09-04Remove extra get_script_instance checkHennadii Chernyshchyk
Otherwise, `_ready()` will not be called on classes that define this function and doesn't have a script attached.
2021-09-02Changed Window current_screen parameter from string to intJestemStefan
2021-09-01Prevent crash on startup if no audio serverPaulb23
2021-08-31Add Listener2Dkobewi
2021-08-30[Net] Rename RPC "puppet" to "auth" (authority). Drop "master".Fabio Alessandrelli
This commit completely removes the RPC_MODE_MASTER ("master" keyword), and renames the RPC_MODE_PUPPET to RPC_MODE_AUTHORITY ("auth" keyword). This commit also renames the "Node.[get|set]_network_master" methods to "Node.[get|set]_network_authority". This commit also renames the RPC_MODE_REMOTE constant to RPC_MODE_ANY. RPC_MODE_MASTER in Godot 3.x meant that a given RPC would be callable by any puppet peer on the master, while RPC_MODE_PUPPET meant that it would be callable by the master on any puppet. Beside proving to be very confusing to the user (referring to where it could be called instead of who can call it) the RPC_MODE_MASTER is quite useless. It is almost the same as RPC_MODE_REMOTE (anyone can call) with the exception that the network master cannot. While this could be useful to check in some case, in such a function you would anyway need to check in code who is the caller via get_rpc_sender_id(), so adding the check there for those rare cases does not warrants a dedicated mode.
2021-08-29Merge pull request #30391 from KoBeWi/hiding_childrenJuan Linietsky
Add support for internal nodes
2021-08-28Merge pull request #51906 from requizm/fix/49077Michael Alexsander
Fix tooltips don't appear for PopupMenus
2021-08-28Add support for internal nodeskobewi
2021-08-27Do all audio mixing in the AudioServerEllen Poe
2021-08-27Makes FontData importable resource.bruvzg
Adds multi-channel SDF font texture generation and rendering support. Adds per-font oversampling support. Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading. Adds BMFont binary format and outline support.
2021-08-26Merge pull request #52132 from nekomatata/fix-physics-process-deltaCamille Mohr-Daurat
Fix delta passed in _physics_process
2021-08-26Fix delta passed in _physics_processPouleyKetchoupp
Regression due to typo in recent GDVIRTUAL_CALL change.
2021-08-26Merge pull request #52107 from timothyqiu/overridenJuan Linietsky
Fix misspelled "overriden"
2021-08-26Optionally scale 3D render contentBastiaan Olij
2021-08-26Fix misspelled "overriden"Haoyu Qiu
In recent GDVIRTUAL PR and SkeletonModification3DJiggle doc.
2021-08-25Remove 16× MSAA support due to driver bugs and low performanceHugo Locurcio
In the `master` branch, 16× MSAA caused the entire system to freeze on NVIDIA GPUs. This is likely caused by graphics drivers not actually implementing 16× MSAA, but combining 8× MSAA with 2× SSAA instead. On top of that, modern shader complexity makes 16× MSAA very difficult to use while keeping a good framerate. 8× MSAA is hard enough to use as it is.
2021-08-24Merge pull request #52000 from lyuma/set_editable_instanceJuan Linietsky
Make Node editable_instance methods available to GDScript
2021-08-23Make Node editable_instance methods available to GDScriptLyuma
2021-08-23Entirely removes BIND_VMETHOD in favor of GDVIRTUALreduz
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions. * Everything else converted to GDVIRTUAL * BIND_VMETHOD is gone, always use the new syntax from now on. Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-22Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz
* New syntax is type safe. * New syntax allows for type safe virtuals in native extensions. * New syntax permits extremely fast calling. Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`. These will require API rework on a separate PR as they work different than the rest of the functions. Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-22Revert "Add Node processing and physics processing cumulative (as opposed to ↵Juan Linietsky
delta) time"
2021-08-22Merge pull request #41850 from MohammadKhashashneh/cumulative-time_issue_6999Hugo Locurcio
Add Node processing and physics processing cumulative (as opposed to delta) time
2021-08-20Fix tooltip message working incorrectly in PopupMenurequizm
fix
2021-08-18[Net] MultiplayerReplicator with initial state.Fabio Alessandrelli
Move the former "spawnables" functions to a dedicated MultiplayerReplicator class. Support custom overrides in replicator. Spawn/despawn messages can now contain a state. The state can be automatically encoded/decoded by passing the desired object properties to `spawnable_config`. You can use script properties to optimize the state representation. 2 Callables can be also specified to completely override the default implementation for sending and receiving the spawn/despawn event. (9 bytes overhead, and there's room for improvement here). When using a custom implementation `spawn` and `despawn` can be called with any Object, `send_spawn`/`send_despawn` can receive any Variant as a state, and the path is not required. Two new functions, `spawn` and `despawn`, convey the implementation independent method for requesting a spawn/despawn of an Object, while `send_spawn` and `send_despawn` represent the more low-level send event for a Variant to be used by the custom implementations.
2021-08-17Add Node processing and physics processing cumulative (as opposed to delta) ↵Mohammad Khashashneh
time.
2021-08-17fix bug on window notification propagationJihyun Yu
2021-08-14Merge pull request #50147 from aaronfranke/disable-node3dRémi Verschelde
Disable Node3D when compiling without 3D and fix disable_3d option
2021-08-13Style: Cleanup code using `text_editor/completion/use_single_quotes`Rémi Verschelde