summaryrefslogtreecommitdiff
path: root/scene/main
AgeCommit message (Collapse)Author
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-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
2021-08-13Disable Node3D when compiling without 3D and fix disable_3d optionAaron Franke
2021-08-13Merge pull request #51607 from aaronfranke/includesRémi Verschelde
Fix some unnecessary includes
2021-08-13Fix some unnecessary includesAaron Franke
2021-08-12Use the Unicode multiplication symbol where relevantHugo Locurcio
2021-08-10Merge pull request #49417 from Bhu1-V/gsoc-cmd-pltRémi Verschelde
Command Palette For Godot
2021-08-10Organize methods in Viewport and explicitly name 3D methods with 3DAaron Franke
2021-08-09Use doubles for time in many other placesAaron Franke
2021-08-09[Net] Basic extensible MultiplayerAPI spawn/despawn.Fabio Alessandrelli
`PackedScene`s can be configured to be spawnable via a new `MultiplayerAPI.spawnable_config` method. They can be configured either to be spawned automatically when coming from the server or to always require verification. Another method, `MultiplayerAPI.send_spawn` lets you request a spawn on the remote peers. When a peer receive a spawn request: - If it comes from the server and the scene is configured as `SPAWN_MODE_SERVER`: - Spawn the scene (instantiate it, add it to tree). - Emit signal `network_spawn`. - Else: - Emit signal `network_spawn_request`. In a similar way, `despawn`s are handled automatically in `SPAWN_MODE_SERVER`. In `SPAWN_MODE_SERVER`, when a new client connects it will also receive, from the server all the spawned (and not yet despawned) instances.
2021-08-09Added EditorCommandPaletteBhuvan Vemula
2021-08-03Merge pull request #51006 from foxydevloper/drag-drop-namingRémi Verschelde
Name nodes added when drag & dropping an image by `name_casing`
2021-07-29Add `auto_translate` toggle for automatic translationMichael Alexsander
2021-07-29Name nodes added from drag & drop by `name_casing`foxydevloper
2021-07-27Multiple cosmetic fixes for embedded windowsMichael Alexsander
2021-07-26Merge pull request #50899 from akien-mga/refrefRémi Verschelde
Use Ref<T> references as iterators where relevant
2021-07-26Use Ref<T> references as iterators where relevantRémi Verschelde
And const when possible.
2021-07-26Use doubles for time everywhere in Timer/SceneTreeAaron Franke
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-23Show tooltips even when paused or time_scale is 0kobewi
2021-07-22Make `MenuButton`'s `switch_on_hover` work againMichael Alexsander
2021-07-21Use the standard C `INFINITY` and `NAN` constants directlyHugo Locurcio
The `Math_INF` and `Math_NAN` defines were just aliases for those constants, so we might as well use them directly. Some portions of the code were already using `INFINITY` directly.
2021-07-20Merge pull request #38317 from verdog/get-cam-2d-4.0Rémi Verschelde
add viewport.get_camera_2d()
2021-07-20Merge pull request #50655 from JFonS/sname_optRémi Verschelde
Editor StringName and Viewport optimizations
2021-07-20Editor StringName and Viewport optimizationsJoan Fons
* Added explicit return type to the SNAME macro. * Add some extra SNAME usages. * Change some ClassDB methods to use const StringName & arguments. * Cache the Window parent in Control because it's used in is_layout_rtl(), which is called often. * Only enable internal processing for viewports that need it. * Change CanvasItem::group to be a StringName because it's only used as that.
2021-07-20Merge pull request #50605 from Calinou/tweak-shader-code-styleRémi Verschelde
Use C++11 raw literals for shader code to improve readability
2021-07-20Merge pull request #50206 from groud/undoredo_increase_args_countRémi Verschelde
Increase the number of arguments accepted by UndoRedo methods
2021-07-19Merge pull request #50566 from reduz/optimize-stringname-usageRémi Verschelde
Optimize StringName usage