Commit Graph

517 Commits

Author SHA1 Message Date
263aedc1ad Expose ProjectSettings.set_as_basic() to GDScript 2023-05-24 13:28:08 +02:00
5b9984b5a2 Add audio/general/text_to_speech project setting to enable/disable TTS. 2023-05-18 20:16:03 +03:00
7925670f81 Add frame delta smoothing option (4.x)
Frame deltas are currently measured by querying the OS timer each frame. This is subject to random error. Frame delta smoothing instead filters the delta read from the OS by replacing it with the refresh rate delta wherever possible.

This PR also contains code to estimate the refresh rate based on the input deltas, without reading the refresh rate from the host OS.

The delta_smooth_enabled setting can also be modified at runtime through OS::, and there is also now a command line setting to override the project setting.
2023-05-16 13:57:25 +01:00
f986b52b3c Make navigation mesh edge connections optional
Makes navigation mesh edge connections optional.
2023-05-11 18:46:34 +02:00
a6ac305f96 Rework Navigation Avoidance
Rework Navigation Avoidance.
2023-05-10 05:01:58 +02:00
f24ef75de7 Add missing shader debug documentation 2023-05-09 21:25:08 +02:00
1d87b36760 Merge pull request #76824 from Calinou/doc-export-pck-binary-resource-conversion
Document caveats related to exported project binary resource conversion
2023-05-09 19:28:46 +02:00
6bccdec7a1 Make documentation sorting use natural order 2023-05-09 17:47:52 +02:00
491a437df5 Merge pull request #76540 from reduz/redo-remote-filesystem
Redo how the remote filesystem works
2023-05-08 13:52:51 +02:00
273a6eeb66 Redo how the remote filesystem works
Instead of reading files over the network, the new version uses a local file cache and only updates files when it changes.

The original remote filesystem was created 14 years ago, when ethernet was faster than hard drives or even flash. Also, mobile devices have a very small amount of storage.
Nowadays, this is no longer the case so the approach is changed to using a persistent cache in the target device.

Co-authored-by: m4gr3d
2023-05-08 11:57:54 +02:00
febc674f48 Document caveats related to exported project binary resource conversion 2023-05-08 07:02:00 +02:00
5056c427d3 Improve RenderingServer, RenderingDevice, ShaderGlobalsOverride documentation
This brings the overall class reference completion percentage from 87% to 92%.
2023-05-06 22:40:32 +02:00
0ba6048ad3 Add support for static variables in GDScript
Which allows editable data associated with a particular class instead of
the instance. Scripts with static variables are kept in memory
indefinitely unless the `@static_unload` annotation is used or the
`static_unload()` method is called on the GDScript.

If the custom function `_static_init()` exists it will be called when
the class is loaded, after the static variables are set.
2023-04-27 09:51:44 -03:00
391eccca76 Validate code tags in documentation for potential params
Adds a check to make_rst to look for matches
between the text inside of the [code][/code] tag
and known param identifiers.
Fixes most of what was revealed.
2023-04-26 21:36:04 +02:00
4431cdd154 Remove double thes from documentation 2023-04-17 21:45:30 +02:00
6055e4424a Redo of Message Queue
* Functionality moved to a base class CallQueue, which will be used for inter-thread communication within the scene.
* MessageQueue now uses growing pages, starts from a single 4k page.
* Limit still exists, but because its not allocated by default, it can be much higher.
2023-04-12 16:31:23 +02:00
eac65fd0a8 Fill random docs 2023-04-03 16:02:29 +02:00
3596443de1 Merge pull request #74727 from AThousandShips/project_settings
Exposing more project settings for documentation
2023-03-15 15:59:10 +01:00
bd30847e59 Exposing more project settings for documentation 2023-03-15 14:25:40 +01:00
c981a305a5 Merge pull request #73144 from chutchinson/bug/openxr-init-alert-dialog
Replaced OpenXR operating system alert dialog with a warning log message
2023-03-15 14:07:05 +01:00
3de5332fcb Document editor/naming/scene_name_casing setting
Moved definitions of editor related project settings to `editor/register_editor_types.cpp` to make documentation work.
2023-03-09 21:17:49 +01:00
0b98b470cc Merge pull request #73716 from bruvzg/improve_locale_selection
Improve layout direction/locale automatic selection.
2023-03-06 10:57:56 +01:00
1e0b8d6240 Hide internal settings from the classref
Default actions are no longer internal since we want to document them.
They are still hidden from the Project Setting dialog because we hid the
whole `input/` group manually.
2023-03-02 17:52:37 +08:00
1c1524a651 Bump version to 4.1-dev
Can't stop, won't stop, they said, huh?
2023-03-01 01:44:37 +01:00
aea88270d5 Document the Max Clustered Elements project setting 2023-02-24 02:39:44 +01:00
82d7923c65 Improve layout direction/locale automatic selection. 2023-02-22 08:37:14 +02:00
b3c64675cc [macOS] Replace all Alt/Option+Letter/Number default shortcuts to avoid conflicts with special character input. 2023-02-20 22:02:47 +02:00
041f559da1 Exclude platform dependent rendering/textures/vram_compression/import_* default values from documentation. 2023-02-16 15:48:09 +02:00
ddb1876cf7 Merge pull request #73412 from timothyqiu/doc-fixes
Fix a few typos in the class reference
2023-02-16 11:02:04 +01:00
431a0f20a4 Fix a few typos in the class reference 2023-02-16 13:26:17 +08:00
10be2c343f iOS: Fix memory leak on touch input
Replace incomplete iOS gesture with touch implementation.

Fixes #66422.
2023-02-15 09:45:38 +01:00
cb8e919243 Replaced operating system alert dialog with a warning log message,
toggled by a project setting.
Fixes #73141
2023-02-13 18:42:43 -05:00
42b7739321 Document unsupported features in Mobile and Compatibility rendering methods 2023-02-13 22:17:02 +01:00
cc384a8228 Add missing period for sentences in classref 2023-02-12 11:39:14 +08:00
220898a69f GDScript: Remove treat_warnings_as_errors project setting 2023-02-10 10:16:33 +03:00
13f0158e49 Merge pull request #72608 from vnen/gdscript-warning-default-error
GDScript: Add warnings that are set to error by default (take 2)
2023-02-05 16:00:26 +03:00
d1521933bb Expose and document ProjectSettings.get_global_class_list() 2023-02-04 23:22:27 +02:00
273bf7210f GDScript: Add warnings that are set to error by default
- Adds a list of default levels for all warning so they can be set
  individually.
- Add warnings set by default to error for:
  - Using `get_node()` without `@onready`.
  - Using `@onready` together with `@export`.
  - Inferring a static type with a Variant value.
  - Overriding a native engine method.
- Adjust how annotations to ignore warnings are treated so they also
  apply to method parameters.
- Clean up a bit how ignored warnings are set. There were two sets but
  only one was actually being used.
- Set all warnings to the `WARN` level for tests, so they they can be
  properly tested.
- Fix enum types in native methods signatures being set to `int`.
- Fix native enums being treated as Dictionary by mistake.
- Make name of native enum types use the class they are defined in, not
  the direct super class of the script. This ensures they are always
  equal even when coming from different sources.
- Fix error for signature mismatch that was only showing the first
  default argument as having a default. Now it shows for all.
2023-02-02 12:07:25 -03:00
afe3b94ab2 Revert "GDScript: Add warnings that are set to error by default"
This reverts commit a166833bfa.

This caused multiple regressions.
Needs to be redone with more testing before merge.

Fixes #72501.
2023-02-01 10:54:22 +01:00
e101305950 Merge pull request #72487 from vnen/gdscript-warning-default-error
GDScript: Add warnings that are set to error by default
2023-02-01 08:23:42 +01:00
6749f1f85a Merge pull request #72462 from raulsntos/docs/dotnet-renames
Fix C# examples in documentation for 4.0
2023-02-01 07:25:26 +01:00
a166833bfa GDScript: Add warnings that are set to error by default
- Adds a list of default levels for all warning so they can be set
  individually.
- Add warnings set by default to error for:
  - Using `get_node()` without `@onready`.
  - Using `@onready` together with `@export`.
  - Inferring a static type with a Variant value.
  - Overriding a native engine method.
- Adjust how annotations to ignore warnings are treated so they also
  apply to method parameters.
- Clean up a bit how ignored warnings are set. There were two sets but
  only one was actually being used.
- Set all warnings to the `WARN` level for tests, so they they can be
  properly tested.
- Fix enum types in native methods signatures being set to `int`.
- Fix native enums being treated as Dictionary by mistake.
- Make name of native enum types use the class they are defined in, not
  the direct super class of the script. This ensures they are always
  equal even when coming from different sources.
- Fix error for signature mismatch that was only showing the first
  default argument as having a default. Now it shows for all.
2023-02-01 00:05:14 -03:00
7eb8325180 Fix C# examples in documentation
- Fix documentation after C# renames.
- Add missing `partial` in C# class declarations.
- Change `delta` parameter type to `double` in C#.
- Ensure parameters match base declaration.
- Use `$` string interpolation in C#.
- Fix invalid or outdated C# code.
- Changed some examples to follow our style guide more closely.
2023-01-31 19:04:07 +01:00
0ab764e84b Add NavigationAgent Path Debug Visualization
Adds path debug visuals for NavigationAgent2D, NavigationAgent3D and NavigationServer.
2023-01-31 18:27:35 +01:00
6d9c9d30b9 Merge pull request #72206 from vnen/gdscript-allow-void-return-shorthand
GDScript: Allow void functions to return calls to other void functions
2023-01-31 15:55:35 +01:00
361f3f1721 Merge pull request #57520 from jordigcs/gd-rename-map
Add hint for identifiers renamed from 3.x to 4.0
2023-01-31 15:55:25 +01:00
a47d4d57ca GDScript: Allow void functions to return calls to other void functions 2023-01-31 11:37:30 -03:00
28f51ba547 Refactor high quality texture import
* Only two texture import modes for low/high quality now:
  * S3TC/BPTC
  * ETC2/ASTC
* Makes sense given this is the general preferred and most compatible combination in most platforms.
* Removed lossy_quality from VRAM texture compression options. It was unused everywhere.
* Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA).
* Changed MacOS export settings so required texture formats depend on the architecture selected.

This solves the following problems:

* Makes it simpler to import textures as high quality, without having to worry about the specific format used.
* As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
2023-01-30 15:53:23 +01:00
31e0ae2012 GDScript: Fix constant conversions 2023-01-29 00:01:53 +02:00
fab9926a95 Merge pull request #65137 from dalexeev/editor-naming
Rearrange `editor/naming/*` project settings
2023-01-24 22:26:03 +03:00