Commit graph

61495 commits

Author SHA1 Message Date
David Briscoe
9cbc4026ee
doc: Clarify when to construct a StringName ahead of time
Fix docs don't give justification for manual construction.

Clarify how to apply manual StringName construction as an
optimization and that "string intern" means "work at parse time".

There are several godot-demo-projects (including 3d/platformer) that
incorrectly use StringName literals (they use & literals instead of just
passing strings), so clearly this is confusing.

AThousandShips did a disassembly test to prove it automatically converts
constant strings to StringName for annotated functions:

  func do_test(_var: StringName, _var2: String):
  pass

  func test():
  do_test("abc", "def")

Yields:

  Disassembling do_test(_var, _var2)
   0: line 2:     pass
   2: == END ==

  Disassembling test()
   0: line 5:     do_test("abc", "def")
   2: call self.do_test(const(&"abc"), const("def"))
   10: assign stack(3) = false
   12: == END ==

It also happens with built-in functions such as those of Input.
2024-02-09 12:08:12 +01:00
bruvzg
be8f60a78d [Windows] Fix windows is_path_invalid, and apply it to directory creation. 2024-02-09 10:47:07 +02:00
bruvzg
cc313a1c1c
[macOS] Allow open_shell to handle filenames without file://. 2024-02-09 08:27:55 +02:00
RedMser
d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01:00
RedMser
bf37a9bac6 Allow configuration warnings to refer to a property
This is used by the inspector so it can show a warning icon on
a specific property.
2024-02-08 23:05:20 +01:00
RedMser
1715f96434 Fix wrongly named compat binding 2024-02-08 20:05:05 +01:00
Aaron Franke
35c99bbcc1
Change AudioStreamPlayer autoplay and GLTFBufferView getters to be const 2024-02-08 13:01:50 -06:00
Raul Santos
5815d1c8c8
Improve handling of generic C# types
- Create CSharpScript for generic C# types.
  - `ScriptPathAttributeGenerator` registers the path for the generic type definition.
  - `ScriptManagerBridge` lookup uses the generic type definition that was registered by the generator.
  - Constructed generic types use a virtual `csharp://` path so they can be registered in the map and loaded as if there was a different file for each constructed type, even though they all share the same real path.
  - This allows getting the base type for a C# type that derives from a generic type.
- Shows base scripts in the _Add Node_ and _Create Resource_ dialogs even when they are generic types.
  - `get_global_class_name` implementation was moved to C# and now always returns the base type even if the script is not a global class (this behavior matches GDScript).
- Create `CSharpScript::TypeInfo` struct to hold all the type information about the C# type that corresponds to the `CSharpScript`, and use it as the parameter in `UpdateScriptClassInfo` to avoid adding more parameters.
2024-02-08 18:31:13 +01:00
A Thousand Ships
85d9c23baa
Fix duplicating/copying TileMap
Using `force_parent_owned` to prevent issues duplicating
2024-02-08 17:02:56 +01:00
George Marques
72e5f8c31e
GDScript: Enable compression on export
Besides the regular option to export GDScript as binary tokens, this
also includes a compression option on top of it. The binary format
needs to encode some information which generally makes it bigger than
the source text. This option reduces that difference by using Zstandard
compression on the buffer.
2024-02-08 11:20:07 -03:00
George Marques
b4d0a09f15
GDScript: Reintroduce binary tokenization on export
This adds back a function available in 3.x: exporting the GDScript
files in a binary form by converting the tokens recognized by the
tokenizer into a data format.

It is enabled by default on export but can be manually disabled. The
format helps with loading times since, the tokens are easily
reconstructed, and with hiding the source code, since recovering it
would require a specialized tool. Code comments are not stored in this
format.

The `--test` command can also include a `--use-binary-tokens` flag
which will run the GDScript tests with the binary format instead of the
regular source code by converting them in-memory before the test runs.
2024-02-08 11:20:05 -03:00
QuirkyLemon
a5a8f0a881 Hide private enums from documentation 2024-02-08 08:10:43 -06:00
Christian Kaiser
edcb581627 Use indeterminate progressbars for downloads (export templates & assets) 2024-02-08 11:08:11 -03:00
Rémi Verschelde
41564aaf77
Merge pull request #86999 from AThousandShips/init_note
Improve error message when a GDScript instance fails to be constructed
2024-02-08 13:49:44 +01:00
Rémi Verschelde
be2eb09f4d
Merge pull request #88097 from AThousandShips/doctool_fix
Fix missing instance type in dummy renderer
2024-02-08 13:46:03 +01:00
Rémi Verschelde
3405400951
Merge pull request #88094 from capnm/240208_thorvg_from_v0.12.4_to_0.12.5
ThorVG: update from v0.12.4 to v0.12.5
2024-02-08 13:46:00 +01:00
Rémi Verschelde
9a793d95eb
Merge pull request #87124 from rsubtil/bugfix-warn_as_err
Simplify script paths to ensure proper resource path checks
2024-02-08 13:45:57 +01:00
Rémi Verschelde
fd6f6a05bf
Merge pull request #82376 from MewPurPur/add-missing-docs
Document worker thread pool project settings and `TreeItem.uncollapse_tree()`
2024-02-08 13:45:50 +01:00
A Thousand Ships
406d7e6d37
Fix missing instance type in dummy renderer 2024-02-08 12:15:26 +01:00
Martin Capitanio
b5ec79906c ThorVG: update from v0.12.4 to v0.12.5
https://github.com/thorvg/thorvg/releases/tag/v0.12.5

    + Full Changelog:
      https://github.com/thorvg/thorvg/compare/v0.12.4...v0.12.5

Godot-related SVG bug fixes:

    + sw_engine: Improve image up-scaler quality.
      thorvg/thorvg#1960

    + renderer: Ensure canvas rendering continues
      despite invalid scene parts.
      thorvg/thorvg#1957

    + Portability: Fix compiler shadowing warning (patch)
      thorvg/thorvg#1975
2024-02-08 11:24:46 +01:00
Rémi Verschelde
a0106607e8
Merge pull request #88089 from bruvzg/fix_bmp_kern
[TextServer] Fix bitmap font kerning override.
2024-02-08 10:54:20 +01:00
Rémi Verschelde
312eb20b3e
Merge pull request #88076 from paulloz/dotnet/fix-out-of-sync-notice-with-external-editors
Fix C# "out of sync" notice with external editors
2024-02-08 10:54:16 +01:00
Rémi Verschelde
50491db048
Merge pull request #88071 from Calinou/gdscript-nodepath-autocomplete-fix-identifiers
Fix NodePath autocompletion to ensure paths are quoted when required
2024-02-08 10:54:12 +01:00
Rémi Verschelde
af645c4977
Merge pull request #88063 from Faless/web/editor_server_refactor
[Web] Refactor Editor web server.
2024-02-08 10:54:08 +01:00
Rémi Verschelde
e10a99f262
Merge pull request #88040 from Calinou/doc-projectsettings-initial-position
Document initial position project settings not affecting run from editor
2024-02-08 10:54:03 +01:00
Rémi Verschelde
f8020d1364
Merge pull request #88026 from Calinou/editor-default-enable-add-type-hints
Enable Add Type Hints editor setting by default
2024-02-08 10:53:58 +01:00
Rémi Verschelde
0aa8fa3c05
Merge pull request #88011 from Chubercik/vulkan-1.3.275.0
vulkan: Update all components to Vulkan SDK 1.3.275.0
2024-02-08 10:53:53 +01:00
Rémi Verschelde
763d5cb7a4
Merge pull request #87934 from aaronfranke/fix-gltf-bad-mesh-export
Fix GLTF exporting invalid meshes and attempting to export gizmo meshes
2024-02-08 10:53:48 +01:00
Rémi Verschelde
eaef76a06f
Merge pull request #87768 from DevPoodle/rasterization-state
Add descriptions to the remaining properties of RDPipelineRasterizationState
2024-02-08 10:53:45 +01:00
Rémi Verschelde
9484a3776b
Merge pull request #87583 from milkiq/master
Modify display and documentation of attenuation for Light3D
2024-02-08 10:53:40 +01:00
Rémi Verschelde
11964fb569
Merge pull request #87464 from bruvzg/pck_section
[Linux] Add support for PCK embedding section with non GNU-ld linkers.
2024-02-08 10:53:36 +01:00
Rémi Verschelde
261952a4c7
Merge pull request #87378 from smix8/navmesh_bordersize
Add NavigationMesh `border_size` property for tile baking
2024-02-08 10:53:30 +01:00
Rémi Verschelde
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +01:00
Rémi Verschelde
35cfbdd840
Merge pull request #84532 from Chaosus/gds_fix_autocompletion
Fix autocompletion for enum members in the core classes
2024-02-08 10:53:16 +01:00
Rémi Verschelde
163c00eb4d
Merge pull request #81655 from nlupugla/editor-interface-can-popup-dialogs
Expose `SceneTreeDialog` and `PropertySelector` via `EditorInterface`
2024-02-08 10:53:13 +01:00
Rémi Verschelde
0ebda8e0f4
Merge pull request #65753 from KoBeWi/run_1000000_instances
Add a dialog to customize run instances
2024-02-08 10:53:06 +01:00
Rémi Verschelde
b98c2f23da
Merge pull request #48364 from Calinou/add-vsync-editor-setting
Add a V-Sync editor setting
2024-02-08 10:52:59 +01:00
bruvzg
04c0e4446f
[TextServer] Fix bitmap font kerning override. 2024-02-08 08:32:45 +02:00
Paul Joannon
9d283063a0
Fix C# "out of sync" notice with external editors
Change what triggers our re-evaluation of the last valid build datetime stored internally.
Move that datetime in `BuildManager`.
2024-02-07 21:26:32 +01:00
Fabio Alessandrelli
fdf6fa82c3 [Web] Move polling thread to EditorHTTPServer 2024-02-07 20:40:12 +01:00
Hugo Locurcio
1238b60b22
Fix NodePath autocompletion to ensure paths are quoted when required
Every component of the path is now checked to be a valid identifier,
so that node names that start with a digit always require the full
path to be quoted.
2024-02-07 19:26:55 +01:00
Yuri Rubinsky
1d75480082 Fix autocompletion for enum members in the core classes 2024-02-07 20:42:06 +03:00
Hugo Locurcio
d3df15f823
Document initial position project settings not affecting run from editor 2024-02-07 18:25:25 +01:00
Fabio Alessandrelli
222214c05f [Web] Move EditorHTTPServer implementation to cpp. 2024-02-07 14:25:56 +01:00
passivestar
2c0d0c1473 Fix LineEdit behavior for deleting all the way to the left/right 2024-02-07 16:29:32 +04:00
Rémi Verschelde
36e943b6b2
Merge pull request #88053 from akien-mga/thorvg-reenable-thread-support
thorvg: Re-enable thread support, made opt-in upstream
2024-02-07 12:26:12 +01:00
Rémi Verschelde
2e32b93165
thorvg: Re-enable thread support, made opt-in upstream
Fixes #87788.
Fixes #87962.
2024-02-07 12:11:13 +01:00
Rémi Verschelde
7223c5b54a
Fix various typos with codespell
Using 2.2.7.dev115+g0eb441d6.

Had to add `cancelled` to the ignore list, as it's a Wayland signal which
we're handling in our code, so we don't want codespell to fix that "typo".

Also includes the typo fix from #87927.

Co-authored-by: Divyanshu Shekhar <61140213+divshekhar@users.noreply.github.com>
2024-02-07 11:09:34 +01:00
Rémi Verschelde
08eaeff640
Merge pull request #88050 from bruvzg/sec_state
[macOS] Enabled secure restorable state.
2024-02-07 11:07:09 +01:00
Rémi Verschelde
f5b238f111
Merge pull request #88048 from raulsntos/dotnet/fix-88022
C#: Fix crash when reloading scripts
2024-02-07 11:06:46 +01:00