Commit Graph

1096 Commits

Author SHA1 Message Date
Raul Santos 465a6569e4 C#: Use custom project setting for C# project files name
The setting is initially assigned the name of the Godot project,
but it's kept freezed to prevent issues when renaming the Godot
project.

The user can always rename the C# project and solution manually and
change the setting to the new name.

Co-authored-by: Ignacio Roldán Etcheverry <ignalfonsore@gmail.com>
(cherry picked from commit 31d09a807e)
2022-08-29 17:10:14 +02:00
Raul Santos bc8293a125 Avoid paths with invalid characters in `IsRider`
(cherry picked from commit 34c3966510)
2022-08-08 13:18:48 +02:00
Raul Santos 3ec6644096 C#: Remove unused `Transform2D.ScaleBasis` method
(cherry picked from commit a4ad1dfa51)
2022-08-03 15:01:02 +02:00
Raul Santos ef9e2c8ca8 Rename math 'phi' arguments to 'angle' in C#
(cherry picked from commit d0e586fc7e)
2022-08-01 10:38:58 +02:00
bruvzg 12e10457e1 [macOS, Mono] Fix "Wdeprecated-declarations" build error.
(cherry picked from commit 5d54c015b2)
2022-08-01 10:30:43 +02:00
Aaron Franke 4d6c609e50
[3.x] Fix Translated method in C# affecting the original transform 2022-07-30 11:54:19 -05:00
Rémi Verschelde 818f1eed31 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 14:53:37 +02:00
Rémi Verschelde 06f4a28306 Update docs links still pointing to 3.4 2022-06-29 12:03:04 +02:00
Rémi Verschelde 83fae1dfa9 Mono: Update Newtonsoft.Json to 13.0.1
See https://github.com/advisories/GHSA-5crp-9r3c-p9vr

(cherry picked from commit 870c02143b)
2022-06-24 10:12:13 +02:00
iamjsk10 1b648ddc2b Mono: Fix typo to `foreach` C# keyword
(cherry picked from commit d3a839f4b1)
2022-06-20 14:55:34 +02:00
Rémi Verschelde 4137578369 Fix typos with codespell
Using codespell 2.2-dev from current git.

Fix a couple incorrect uses of gendered pronouns.
2022-06-19 13:48:15 +02:00
Paul Joannon c43b8ccaaf Fix Lerp documentation and implement RangeLerp
(cherry picked from commit ee95a1cb28)
2022-06-16 20:47:40 +02:00
31 826415ad2f C#: Fix debugger options missing from Project Settings 2022-05-25 20:43:00 -07:00
Julian Mills 99e509a5d2 Fix blank command prompts spawning
prevent certain mono actions from displaying empty command prompts.

(cherry picked from commit d606a8eded)
2022-05-16 17:14:43 +02:00
Rémi Verschelde 9e37599f36 Core: Rename math 'phi' arguments to 'angle'
(cherry picked from commit e7a58a7eb6)
2022-05-05 15:02:46 +02:00
Haoyu Qiu d088128b43 Remove duplicate editor settings definitions 2022-04-27 15:26:46 +08:00
Igor Kordiukiewicz 6bf7e8e010 String.Capitalize() in C# now matches the behaviour of String::capitalize() in C++
(cherry picked from commit 6c3b6664b5)
2022-04-13 11:43:49 +02:00
Raul Santos 3086d7c035
Avoid modifying csproj globbing includes on remove
Check if the found globbing include already matches the given path on
removing scripts to avoid modifying users' csproj files.
2022-03-25 16:45:25 +01:00
Densorius ca432727d9
Fixed opening new instances of VS 2022 while a instance is already open
(cherry picked from commit 93e2d0446f)
2022-02-11 09:50:58 +01:00
Densorius 1afefea330
Add Visual Studio 2022 support with fallback to 2019
(cherry picked from commit 9ea0508d35)
2022-02-11 09:50:57 +01:00
Raul Santos eddb99b9be Attach mono thread before getting nativeName field
In order to access the `nativeName` constant field from a C# class, the
mono scope thread must be attached or the mono domain will be null.
2022-02-07 03:51:40 +01:00
Marcel Admiraal c25365d5ff
Be more verbose about why msbuild tools could not be found
(cherry picked from commit 51834a4589)
2022-01-31 22:54:25 +01:00
Rémi Verschelde 0c6391a425
Merge pull request #57420 from neikeq/issue-55638 2022-01-31 18:23:08 +01:00
Ignacio Roldán Etcheverry c7f716e2ea Mono/C#: Fix Android AAB export failing to load native libs
By default, when installing from Android App Bundles the native
libraries are not extracted. They are loaded directly from the APK.
See: https://stackoverflow.com/a/56551499

Passing only the file name to dlopen, without the location, makes it
search the native library in all locations, including inside the apk.
2022-01-29 21:58:57 +01:00
Raul Santos d4790455ba
Fix marshaling values of generic Godot Dictionary
(cherry picked from commit e4c40efeab)
2022-01-19 14:04:22 +01:00
Ignacio Roldán Etcheverry 3b085e2665 C#: Allow configuring Mono debugger agent with cmdline args
The command line option is the same you would pass to Mono, but it
begins with `--mono-debugger-agent=` instead of `--debugger-agent=`.

This is useful for platforms where it's difficult for the user to
configure it via environment variables, like Android.
2022-01-16 12:36:36 +01:00
Rémi Verschelde a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Rémi Verschelde b197de6f5f
Fix typos with codespell
Using codespell 2.1.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
readded
seeked
statics
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2022-01-07 00:14:54 +01:00
Raul Santos 172f66a40e
Fix `KeyValuePairAt` memory leak
(cherry picked from commit 1fdfc379b6)
2022-01-06 00:21:36 +01:00
Max Hilbrunner 717801c9cb Fix docs links in 3.x after docs reorg 2022-01-05 11:54:52 +01:00
Rémi Verschelde 1e2ef49b77
Merge pull request #56391 from raulsntos/fix-56385 2022-01-05 10:44:54 +01:00
Zae d5ad76a3c8 [3.x] [Mono] Add support for file-scoped namespace declaration. 2022-01-02 18:02:00 +08:00
Raul Santos 36cd00a84b
Init `params_buffer_size` member in GDMonoMethod 2022-01-01 02:23:40 +01:00
Raul Santos 907e709f9d Fix getting properties state when reloading C#
When reloading C# classes and keep their properties values they are
retrieved and stored in a state list.
Retrieving the properties was only getting the fields of the C# class
and not inherited fields so those properties values were lost on reload.
Now we also try to find the field in the parent classes.
2021-12-28 19:14:49 +01:00
Raul Santos cf98ff248a
Check a csproj exists before trying to edit it
When folders are moved/removed from the file system, the `.csproj`
may need to be edited to update the path of C# scripts or remove them.
If a C# solution has not been created, the `.csproj` file does not exist
and therefore there is no need to edit it.
2021-12-20 16:49:16 +01:00
Raul Santos ffbd59572e
Various fixes to C# documentation
(cherry picked from commit 2deabd553f)
2021-12-08 11:28:12 +01:00
Raul Santos 613751a742 Fix get_all_delegates method for generic classes
If the class is generic, we must get its generic type definition and use
it to retrieve the delegates.
2021-12-04 01:51:50 +01:00
Rémi Verschelde c9208704de
Merge pull request #54614 from aaronfranke/3.x-math-api 2021-11-29 12:57:25 +01:00
Aaron Franke 1d8cef8236
[3.x] Backport some APIs in math structs 2021-11-27 01:19:45 -06:00
Aaron Franke 5ec0a8df5e
[3.x] Add documentation to operators for math types 2021-11-27 01:15:43 -06:00
Marcel Admiraal 4d3690eba5 Remove unimplemented methods 2021-11-18 12:47:36 +00:00
Rémi Verschelde 3ac2999f22
Replace Godot docs URL with `$DOCS_URL` in XML class reference 2021-11-15 17:22:47 +01:00
Hugo Locurcio 4c88a82f50
Move Mono unhandled exception setting to be located within a subsection
Settings that aren't within a subsection are difficult to reach when
other settings do have a subsection.

This also adds documentation for the project setting.
2021-11-10 20:57:35 +01:00
Rémi Verschelde d0b1e3d002
Merge pull request #53942 from raulsntos/no-boxing 2021-11-08 13:15:25 +01:00
Rémi Verschelde 837f2c5f82
Merge pull request #54746 from neikeq/issue-42076
C#: Don't use ActivityThread to determine Android nativeLibraryDir
2021-11-08 10:02:48 +01:00
Ignacio Roldán Etcheverry 690bf12c4c C#: Don't use ActivityThread to determine Android nativeLibraryDir 2021-11-08 02:35:06 +01:00
Rémi Verschelde 14c366ddd7
Bump version to 3.5-beta 2021-11-05 16:10:17 +01:00
Ignacio Roldán Etcheverry e282ee0a48 C#: Fix property set call boxing value when unboxed was expected 2021-11-03 13:02:53 +01:00
Ignacio Etcheverry b775573a21 Don't box params on Native->C# calls with Variant params
Godot uses Variant parameters for calls to script methods.
Up until now we were boxing such parameters when marshalling
them for invokation, even if they were value types.

Now Godot allocates the marshalled parameters on the stack,
reducing the GC allocations resulted from boxing.
2021-11-03 13:02:53 +01:00
Raul Santos 21f68e7bdb
Ensure C# script properties are added to the end
Ensures that the `get_property_list` and `get_script_property_list`
methods push the script properties to the end of the given list, this
prevents the script property from appearing after the script variables.
2021-10-30 16:55:21 +02:00