Commit graph

2043 commits

Author SHA1 Message Date
clayjohn 51ed3aef63 Vertex and attribute compression to reduce the size of the vertex format.
This allows Godot to automatically compress meshes to save a lot of bandwidth.

In general, this requires no interaction from the user and should result in
no noticable quality loss.

This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.

Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
2023-10-05 12:02:23 -06:00
Rémi Verschelde 46b8f4a859
Merge pull request #82740 from raulsntos/dotnet/compat4.2
Add C# compat members for 4.2 changes
2023-10-04 15:44:05 +02:00
Rémi Verschelde 1e544505be
Merge pull request #82691 from YuriSizov/rst-validate-with-exceptions
Validate `code` tags for class and member references
2023-10-04 15:42:42 +02:00
Raul Santos 1dbecc3ff1
Add C# compat members for 4.2 changes 2023-10-03 19:34:39 +02:00
Yuri Sizov cc0eebd9d8 Validate code tags for class and member references
This commit also adds means to manually disable warnings
in `code` tags where it's a false positive with the new
`skip-lint` attribute.

Warnings are now enabled on CI to prevent future errors.
2023-10-03 15:48:31 +02:00
Raul Santos 404fd0b2dc
Fix C# editor dialogs
- Use `EditorInterface` to open C# editor dialogs.
- Ensure C# editor dialogs are open after `EditorProgress` finishes.
2023-10-02 17:50:33 +02:00
Rémi Verschelde 6bebd9c961
Merge pull request #82664 from hackerzhuli/master
Fixed an error in `Vector3.BezierDerivative` in mono module
2023-10-02 13:17:02 +02:00
Rémi Verschelde e95b7e84a4
Merge pull request #80844 from dalexeev/fix-callable-expected-argc
Fix expected argument count for `Callable` call errors
2023-10-02 13:15:53 +02:00
朱力 bceba81b54 Fixed an error in Vector3.BezierDerivative in mono module 2023-10-02 15:00:05 +08:00
etti 3a39de4e2f Add rotate_toward and angle_difference to GDScript and C# 2023-10-01 22:19:42 +02:00
Danil Alexeev aff767ef07
Fix expected argument count for Callable call errors 2023-09-29 20:00:10 +03:00
Rémi Verschelde c7a5a284d3
Merge pull request #80260 from raulsntos/dotnet/msbuild-panel
C#: Redesign MSBuild panel
2023-09-27 09:20:19 +02:00
Raul Santos f19694a8d6
C#: Redesign MSBuild panel
- Redesign panel to look closer to the look of other Godot panels such as Output and Debugger.
- Moved list of problems and output log to separate tabs instead of using a HSplit.
- Added Tree/List layouts to the problems tab.
- Added search box to filter problems tab.
- Added `FileTree` icon, made from `FileList`. Both are used for the button that toggles the Tree/List layouts.
2023-09-27 02:53:27 +02:00
A Thousand Ships 517e9f8aef [Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-26 16:44:52 +02:00
Rémi Verschelde 4410b0b0e1
Merge pull request #67304 from wscalf/master
Allow readonly and writeonly C# properties to be accessed from GDScript
2023-09-26 16:36:33 +02:00
Raul Santos f60cff1cb2
C#: Remove compat method that is now generated 2023-09-26 16:12:10 +02:00
Rémi Verschelde 42011d8673
Merge pull request #82240 from jaros3/vector2i-gethashcode
[C#] Use `HashCode.Combine()` for basic composite types instead of xor
2023-09-26 13:45:18 +02:00
Rémi Verschelde 017541bcec
Merge pull request #80527 from raulsntos/dotnet/generate-compat-methods-from-classdb
C#: Generate and use compat methods
2023-09-26 13:44:52 +02:00
bruvzg bc6585a5a7
[RTL] Add support for image dynamic updating, padding, tooltips and size in percent. 2023-09-26 09:39:51 +03:00
Rémi Verschelde d759f91f8d
Merge pull request #81101 from 398utubzyt/dotnet/abstract-class-support
C#: Add abstract class support
2023-09-25 17:18:05 +02:00
Rémi Verschelde 1a0e653d7f
Merge pull request #78573 from dalexeev/editor-create-script-class-name
Editor: Remove unused Class Name field from Create Script dialog
2023-09-25 17:17:46 +02:00
Jaroslav Wegner f1bab5fa51 [C#] Use HashCode.Combine() for basic composite types instead of xor 2023-09-25 13:56:23 +03:00
Rémi Verschelde d65d379d22
Merge pull request #81802 from Nomad1/vs2022_mac_fix
Fixed VS 2022 Mac compatibility
2023-09-22 22:04:46 +02:00
Nomad1 a119365d4e Fixed VS 2022 Mac compatibility
Visual Studio 2022 on Mac marks the project as invalid if the project Guid is set. Easiest way to fix it is to remove outdated 'EnableGodotProjectTypeGuid' and other Guid references
2023-09-21 15:30:10 -02:30
Rémi Verschelde 5fd8506e19
Merge pull request #81847 from crazyStewie/dotnet_editor_project_fix
Implemented {project} placeholder for external dotnet editor
2023-09-20 18:55:13 +02:00
Rémi Verschelde ce0fa4c691
Merge pull request #81783 from zaevi/fix-csharp-static-method
C#: make C# static methods accessible.
2023-09-20 18:55:10 +02:00
Zae 67e1373e5a C#: make C# static methods accessible. 2023-09-20 22:49:33 +08:00
crazyStewie c01a47867b Implemented {project} placeholder for external dotnet editor
Implements the {project} placeholder, available when setting an external editor
in the project settings, via Editor > Editor Settings > Text Editor > External
for the c# external editor, under Editor > Editor Settings > Dotnet > Editor,

This allows passing the project folder as a command line argument when using a
custom external editor that isn't one of the available options.

Fixes #81845
2023-09-20 10:20:45 -03:00
Raul Santos 5f6082a96b
C#: Generate and use compat methods
- Implements `ClassDB::get_method_list_with_compatibility` to retrieve all methods from a class including compat methods.
- C# bindings generator now also generates compat methods.
- All generated C# methods now use `ClassDB::get_method_with_compatibility`.
2023-09-19 20:35:11 +02:00
Thaddeus Crews 657d81e056
C#: CS1591 from none to suggestion 2023-09-19 13:12:06 -05:00
Rémi Verschelde c78d0e2eb0
Merge pull request #81819 from Chaosus/cs_max_min_vectors
Add Vector2/3/4i.MAX and MIN (C#)
2023-09-19 09:04:05 +02:00
Rémi Verschelde 793c382fa7
Merge pull request #81703 from Repiteo/c#-binding-warnings-to-editorconfig
C# - `bindings_generator` warnings to `.editorconfig`
2023-09-18 10:38:12 +02:00
Yuri Roubinski cf3008cb05 Add Vector2/3/4i.MAX and MIN (C#) 2023-09-17 22:12:59 +03:00
Rémi Verschelde c63e0aefcf
Merge pull request #79366 from dalexeev/gds-signal-info-and-callback
Editor: Improve signal callback generation
2023-09-17 14:45:47 +02:00
Thaddeus Crews e43b63ab98
C# - bindings_generator warnings to .editorconfig 2023-09-16 11:55:04 -05:00
398utubzyt 2df37a237a C#: Abstract script class support 2023-09-15 20:35:25 -07:00
Yuri Sizov 5f1e56ff26 Merge pull request #81690 from raulsntos/dotnet/hide-hostfxr-error
C#: Hide hostfxr not found error
2023-09-15 19:48:48 +02:00
Yuri Sizov df6cd37a69 Merge pull request #81516 from YuriSizov/editor-theme-access-the-success
Fix accessing editor theme items throughout the UI
2023-09-15 19:48:14 +02:00
Yuri Sizov 8ecc0c4f47 Fix accessing editor theme items throughout the UI
This also exposes `EditorInterface::get_editor_theme`.
2023-09-15 14:51:01 +02:00
Raul Santos 394c0eb225
C#: Hide hostfxr not found error
Godot tries to find hostfxr in two locations, the method that tries
to retrieve the location printed an error when it was not found.
So when the first location fails it was printing an error, even if
the second location succeeded, and users were left confused thinking
there was something wrong with their installation.

Now the error will only be printed when stdout verbose is enabled.
Users will still get an error later if hostfxr is not found in any
of the two locations.
2023-09-15 14:12:01 +02:00
Raul Santos 5f6524ad44
C#: Check if JetBrains Rider editor path is empty 2023-09-14 01:55:51 +02:00
Danil Alexeev 26ce861910
Editor: Remove unused Class Name field from Create Script dialog 2023-09-12 12:49:56 +03:00
Danil Alexeev 4b5daf06ef
Editor: Improve signal callback generation 2023-09-11 18:45:39 +03:00
Rémi Verschelde cfd292939c
Haiku: Remove remnants of past WIP platform port
The Haiku platform port was never finalized, and moved to a separate repo in
Godot 3.2 days: https://github.com/godotengine/godot-platform-haiku

Sadly it didn't garner more interest there and is bitrotting. It was never
ported to Godot 4 so the bits of Haiku support left in Mono aren't useful.
2023-09-07 16:37:51 +02:00
Rémi Verschelde 8de6405288
UWP: Remove platform port, needs to be redone from scratch for 4.x
The UWP platform port was never ported to the Godot 4.0+ API,
and it's now accumulating bitrot as it doesn't compile, and thus
we no longer propagate platform changes in it.

So we finally remove to acknowledge this state. There's still some
interest in reviving the UWP port eventually, especially as support
for Direct3D 12 will soon be merged, but when that happens it will
be easiest to redo it from scratch.
2023-09-07 15:01:59 +02:00
Yuri Sizov d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
Rémi Verschelde 00e14f39fd
Merge pull request #81230 from SamiKalliomaki/array-dispose
Fix double unregistration on dispose of Array.
2023-09-04 09:08:35 +02:00
Rémi Verschelde 0215d53a10
Merge pull request #81229 from raulsntos/dotnet/arc-hyperbolic
C#: Expose `asinh`, `acosh` and `atanh` in Mathf
2023-09-04 09:08:12 +02:00
Sami Kalliomäki 43a6748dfd Do not call Array default constructor when not necessary.
This fixes a bug where Array would get registered twice with the
DisposablesTracker causing an exception on shutdown.

Fixes #81231
2023-09-03 11:25:23 +01:00
Rémi Verschelde 2e71e5516e
Merge pull request #80632 from Repiteo/C#-editor-docstring
C#: Dereference editor types in core documentation
2023-09-02 14:28:35 +02:00