Commit Graph

10770 Commits

Author SHA1 Message Date
dde235ad82 add position track normalization & post process key value for retarget 2022-07-26 18:48:08 +09:00
ba2cffc575 Merge pull request #63096 from aaronfranke/exp-template-names 2022-07-26 10:28:25 +02:00
1d9e1ac143 Merge pull request #63344 from alfredbaudisch/feature-select-node-toggle-inspector-only 2022-07-26 10:27:31 +02:00
ca7d572908 [Net] Modularize multiplayer, expose MultiplayerAPI to extensions.
- RPC configurations are now dictionaries.
- Script.get_rpc_methods renamed to Script.get_rpc_config.
- Node.rpc[_id] and Callable.rpc now return an Error.
- Refactor MultiplayerAPI to allow extension.
- New MultiplayerAPI.rpc method with Array argument (for scripts).
- Move the default MultiplayerAPI implementation to a module.
2022-07-26 09:31:12 +02:00
36ef8f29dc Implement support for loading system fonts on Linux, macOS / iOS and Windows. 2022-07-26 08:38:05 +03:00
3aa0a78f73 Fix repeatedly opening the Advanced Import Settings dialog for fonts getting an error 2022-07-26 10:28:44 +08:00
c4433c3793 When selecting Nodes in the Scene Tree, if the current EditorPlugin is "Script" and if text_editor/behavior/navigation/stay_in_script_editor_on_node_selected is true, force inspector_only in order to not switch the EditorPlugin to the Node's main plugin. 2022-07-25 17:37:03 +02:00
c7255388e1 Remove ThreadWorkPool, replace by WorkerThreadPool
The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient.
It can also be better debugged.
2022-07-25 15:39:50 +02:00
3bd74cd67b Merge pull request #63436 from Calinou/editor-debugger-require-script-instance 2022-07-25 15:18:11 +02:00
20d7171e83 Merge pull request #63432 from bruvzg/scr_zoom 2022-07-25 15:01:06 +02:00
49b0aa93e3 Merge pull request #63424 from Chaosus/shader_preprocessor_inc_fix 2022-07-25 14:56:06 +02:00
679633f505 Merge pull request #63368 from akien-mga/fix_header_guards
Code quality: Fix header guards consistency
2022-07-25 14:50:38 +02:00
829c824755 Require ScriptInstance to be valid in the editor debugger
This fixes an issue with visual scripts spamming error messages
in the editor when running the project with the remote scene tree
visible.
2022-07-25 14:29:47 +02:00
f743c6a368 Fix script editor zoom shortcuts not marking events as accepted. 2022-07-25 14:21:56 +03:00
18596f6b3d Merge pull request #63364 from nathanfranke/dep-editor 2022-07-25 11:42:30 +02:00
be3fb7a216 Fix errors when using built-ins in shaderinc 2022-07-25 12:33:04 +03:00
d995f127a7 Merge pull request #62907 from bruvzg/warn_exit_code 2022-07-25 11:30:45 +02:00
90019676b0 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
3084a48ace Merge pull request #63219 from reduz/implement-vector4-projection 2022-07-25 11:13:27 +02:00
145304cc85 Merge pull request #63416 from V-Sekai/bone-map-empty-crash
Avoid crash when when the editor_property_map is empty.
2022-07-25 08:37:26 +02:00
fb2b26eec3 Avoid crash when when the editor_property_map is empty. 2022-07-24 17:46:02 -07:00
488017f3cb improve animation player warning for imported scenes 2022-07-24 16:49:57 -05:00
5d49df8d97 Fix missing method qualifiers in script doc
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-07-24 23:00:19 +02:00
905c431191 dependency editor: set current directory to closest existing directory 2022-07-23 15:29:50 -05:00
455c06ecd4 Implement Vector4, Vector4i, Projection
Implement built-in classes Vector4, Vector4i and Projection.

* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.

These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.

**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
a5bc65bbad Merge pull request #63265 from reduz/stream-bpm-support
Implement BPM support in AudioStream files.
2022-07-23 11:21:14 +02:00
5705825d55 Fix clearing errors indication in the shader editor 2022-07-23 11:32:04 +03:00
6d992abb54 Fix some errors after shader preprocessor PR 2022-07-23 09:38:59 +03:00
d1ddee2258 Implement BPM support
Based on #62896, only implements the BPM support part.

* Implements BPM support in the AudioStreamOGG/MP3 importers.
* Can select BPM/Bar Size and total beats in a song file, as well as edit looping points.
* Looping is now BPM aware
* Added a special importer UI for configuring this.
* Added a special preview showing the audio waveform as well as the playback position in the resource picker.
* Renamed `AudioStream::instance` to `instantiate` for correctness.
2022-07-23 07:31:17 +02:00
8b5c744f95 Update export template names for Windows, Mac, and Linux 2022-07-22 18:40:59 -05:00
fe929d4787 Merge pull request #62513 from reduz/shader_preprocessor_remake 2022-07-23 00:02:33 +02:00
e5df1e65f9 Merge pull request #62581 from Guh-Feng/Color-Picker-Update 2022-07-22 23:46:27 +02:00
86a5a23351 Merge pull request #63093 from aaronfranke/export-templates-dir 2022-07-22 23:07:07 +02:00
f649678402 Clean up Shader Preprocessor
* Moved preprocessor to Shader and ShaderInclude
* Clean up RenderingServer side
* Preprocessor is separate from parser now, but it emits tokens with include location hints.
* Improved ShaderEditor validation code
* Added include file code completion
* Added notification for all files affected by a broken include.
2022-07-22 22:53:03 +02:00
7b94603baa Adding shader preprocessor support
Co-authored-by: TheOrangeDay <6472143+TheOrangeDay@users.noreply.github.com>
2022-07-22 22:51:57 +02:00
b00bb577e7 Rename directory for export templates from templates to export_templates 2022-07-22 12:35:43 -05:00
07118d7094 Fix in editor drag and dropping a Node to generic NodePath property 2022-07-22 18:32:36 +02:00
653f95282c Merge pull request #62996 from reduz/feature-build-profiles 2022-07-22 12:50:20 +02:00
6236a688b7 Implement Feature Build Profiles
This PR is a continuation of #50381 (which was implemented exactly a year ago!)

* Add a visual interface to select which classes should not be built into Godot (well, they are built if something else uses them, but if not used the optimizer will remove them out).
* Add a detection system to scan the project and figure out the actual classes used.
* Added the ability for SCons to load build profiles.

Obligatory Screen:

A simple test with a couple of nodes in the scene resulted in a 25% reduction for the final binary size

TODO:

* Script languages need to implement used class detection (left for another PR).
* Options to disable servers or server functionalities (like 2D or 3D physics, navigation, etc). Are missing, that should also greatly aid in reducing binary size.
* Options to disable some modules would be desired.
* More options to disable drivers (OpenGL, Vulkan, etc) would be desired.

In general this PR is a starting point for more contributors to improve and enhance this functionality.
2022-07-22 10:53:23 +02:00
19db9ed863 Merge pull request #63286 from RandomShaper/fix_debugger_focus 2022-07-22 00:48:06 +02:00
1b8652e86a Color Pickers Respect Settings
Updated editor_node with function that sets up color pickers throughout Godot to respect editor's settings.
2022-07-21 18:11:09 -04:00
b42bbca266 Fix node dragging not working when dock is moved 2022-07-21 23:57:52 +02:00
033001375f Fix editor re-focus on debugger break on Windows 2022-07-21 21:47:05 +02:00
f40aafeb39 Merge pull request #63244 from KoBeWi/canvas_picker 2022-07-21 16:34:16 +02:00
bd0819d4a0 Disable plugin for conversion of foreign Sprite2D to different types 2022-07-21 15:04:29 +01:00
7776b47489 Add read-only mode to AnimationEditor for foreign resources. 2022-07-21 14:46:58 +01:00
38aaaa3cf9 Fix various typos not caught by codespell
Revert upstream `core/input/gamecontrollerdb.txt`. Upstream fix: https://github.com/gabomdq/SDL_GameControllerDB/pull/600
2022-07-21 07:38:23 -04:00
dabe021f19 Fix selection list in 2D editor 2022-07-21 12:24:02 +02:00
8823eae328 Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00
a4ddb033c9 Fix FileInfo::import_valid always being set to false for TextFile in some cases 2022-07-20 23:51:29 +02:00