Commit Graph

1407 Commits

Author SHA1 Message Date
Hendrik Brucker b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
Raul Santos f380a8e0ec Support signals in C# documentation 2022-02-10 16:02:31 +01:00
Rémi Verschelde ba1024f42d
Merge pull request #57822 from Calinou/ios-remove-armv7 2022-02-08 23:25:16 +01:00
Ignacio Roldán Etcheverry f05f2dd80f
Merge pull request #57076 from IgorKordiukiewicz/fix-mono-string-capitalize
String.Capitalize() in C# now matches the behaviour of String::capitalize() in C++
2022-02-08 22:16:54 +01:00
Hugo Locurcio 74fc4410f4
Remove support for ARMv7 (32-bit) on iOS
All iOS devices since the iPhone 5S support ARMv8 (64-bit).

The last iOS version supported on ARMv7 devices is 10.x, which is
too old to run Godot 4.0 projects since the minimum supported
iOS version is 11.0.
2022-02-08 22:11:29 +01:00
Andrew Jacob 8675ff0a74 Allow C# Vector2/3 slerp values to have any length 2022-02-07 22:58:43 -07:00
Rémi Verschelde 6a56314eab
Merge pull request #57748 from fabriceci/rename-script-template-variable 2022-02-07 13:22:23 +01:00
fabriceci e81ccaf270 rename jump force to jump velocity 2022-02-07 11:46:30 +01:00
Yuri Roubinsky a6e280c5de Add some more fixes to visual shader 2022-02-07 11:28:42 +03:00
Raul Santos 303f0c8626 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:43:34 +01:00
Ignacio Roldán Etcheverry 721c32ee2b
Merge pull request #57618 from Densorius/master
Fixed opening new instances of VS 2022 while a instance is already open
2022-02-04 15:05:51 +01:00
Densorius 93e2d0446f Fixed opening new instances of VS 2022 while a instance is already open 2022-02-04 10:40:43 +01:00
bruvzg 244db37508
Cleanup and move char functions to the `char_utils.h` header. 2022-02-04 11:35:01 +02:00
Densorius 9ea0508d35 Add Visual Studio 2022 support with fallback to 2019 2022-02-04 00:34:02 +01:00
Rémi Verschelde c47f059776
Merge pull request #57467 from webbuf/modules-initialize
Initialized Member Variables in /modules
2022-02-03 20:41:29 +01:00
zwebb 466661c78f initialized member variables in header 2022-02-03 11:14:42 -05:00
Marcel Admiraal 51834a4589 Be more verbose about why msbuild tools could not be found 2022-01-29 07:16:34 +00:00
Raul Santos 6ecb92a1fc
Rename C# `IsSubsequenceOfI` to `IsSubsequenceOfN` 2022-01-27 03:04:16 +01:00
Rémi Verschelde bd4d57ede2
BaseButton: Rename `pressed` property to `button_pressed`
This fixes a conflict with the `pressed` signal.

The new name is temporary and only intended to solve the conflict for upcoming
alpha builds. Discussions are still ongoing regarding the BaseButton API and
how to rename and refactor more of its properties, signals and methods to have
a clearer API in 4.0.
2022-01-23 22:15:09 +01:00
Igor Kordiukiewicz 6c3b6664b5 String.Capitalize() in C# now matches the behaviour of String::capitalize() in C++ 2022-01-23 13:24:04 +01:00
trollodel aa1102fc53 Store panels and docks singletons in their own classes 2022-01-20 20:13:26 +01:00
Ignacio Roldán Etcheverry e527687e1e
Merge pull request #55679 from raulsntos/script_reload_fix
C# scripts reload in editor fixed
2022-01-16 11:56:39 +01:00
bruvzg fff3c38af9
[macOS] Fix self-contained mode, by looking for `._sc_` and writing data to the bundle directory instead of executable directory. 2022-01-13 21:29:22 +02:00
Raul Santos e4c40efeab
Fix marshaling values of generic Godot Dictionary 2022-01-12 23:26:51 +01:00
Yuri Roubinsky 21cfcaa129 Add a GDScript template for `VisualShaderNodeCustom` 2022-01-06 12:06:33 +03:00
Rémi Verschelde fe52458154
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Rémi Verschelde 98b3ba1842
Merge pull request #53957 from fabriceci/new-template-workflow 2022-01-03 20:40:33 +01:00
fabriceci 9d5b807059 Improve editor template workflow
Co-Authored-By: jmb462 <jmb462@gmail.com>
2022-01-02 21:52:09 +01:00
luz paz a124f1effe Fix various typos
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp

Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 01:03:58 -05:00
Raul Santos 5254b28632
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 18:28:01 +01:00
Raul Santos 1fdfc379b6 Fix `KeyValuePairAt` memory leak 2021-12-23 03:15:57 +01:00
Nathan Franke 49403cbfa0
Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
Raul Santos 2deabd553f Various fixes to C# documentation 2021-12-07 12:54:24 +01:00
Ignacio Roldán Etcheverry 37302b5c24
Merge pull request #55675 from raulsntos/csharp-basis-quaternion
Rename C# `Quaternion()` -> `GetQuaternion()`
2021-12-07 12:48:55 +01:00
Aaron Franke 6eb7179f1c
Rename "items_count" property to "item_count" 2021-12-06 22:02:27 -06:00
Raul Santos 838f80ed91 Rename C# `Quaternion()` -> `GetQuaternion()`
To keep consistency with GDScript, the method `Quaternion()` is renamed
`GetQuaternion()`, and made `internal` so it's not exposed to scripting.
The documentation references are also fixed.

Also, the methods `GetQuaternion()` and `GetRotationQuaternion()` are
moved below `GetEuler()` to follow alphabetic order.
2021-12-06 20:18:40 +01:00
Ignacio Roldán Etcheverry 2f41af7d2d
Merge pull request #55655 from raulsntos/csharp-items-count
Replace deprecated `GetItemCount()` with `ItemsCount`
2021-12-06 19:54:40 +01:00
Raul Santos 4a339dc8fd
C# script reload fixed
Co-authored-by: Michael Bickel <mib@developium.net>
Co-authored-by: Germanrc <german_1995a@hotmail.com>
2021-12-06 19:45:59 +01:00
Rémi Verschelde 5baf20e638
Merge pull request #34005 from aaronfranke/minmax 2021-12-06 14:01:45 +01:00
Raul Santos 3609ca67df
Replace deprecated GetItemCount() with ItemsCount
Replace the deprecated method `GetItemCount()` with the new property
`ItemsCount`.
2021-12-06 02:17:03 +01:00
Raul Santos d5d1645e15 Bump Godot.NET.Sdk and SourceGenerators versions
Bump `Godot.NET.Sdk` to version 4.0.0-dev6.
Bump `Godot.SourceGenerators` to version 4.0.0-dev3.
Use floating version 4.0.*-* for package references in Sdk.
2021-12-05 15:56:18 +01:00
Raul Santos c52f21335c Fix Godot.SourceGenerators for generic classes
Fix invalid C# generated by source generators for generic classes and
add generic classes to the Sample project for testing.
2021-12-05 15:52:25 +01:00
Raul Santos d28be4d580 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 02:54:33 +01:00
Aaron Franke 24f57886d0
Expose max_axis_index and max_axis_index for Vector2(i)
Some cleanup with Vector3(i)'s methods so that it is consistent with Vector2, for example it returns enums internally (GDScript still gets ints).
2021-12-02 23:45:41 -06:00
Rémi Verschelde 892a5a72cd
Merge pull request #55474 from akien-mga/copy-operators-no-reference 2021-12-02 17:34:45 +01:00
Raul Santos a367378f9e Rename Vector parameters to be consistent
Renames parameters that were named differently across different
scripting languages or their documentation to use the same name
everywhere.
2021-12-01 21:14:46 +01:00
Rémi Verschelde 7da392bcc5
Don't return reference on copy assignment operators
We prefer to prevent using chained assignment (`T a = b = c = T();`) as this
can lead to confusing code and subtle bugs.

According to https://en.wikipedia.org/wiki/Assignment_operator_(C%2B%2B), C++
allows any arbitrary return type, so this is standard compliant.

This could be re-assessed if/when we have an actual need for a behavior more
akin to that of the C++ STL, for now this PR simply changes a handful of
cases which were inconsistent with the rest of the codebase (`void` return
type was already the most common case prior to this commit).
2021-11-30 16:26:29 +01:00
Aaron Franke 9851d3c5b2
Move logic for saving project features to ProjectSettings save_custom 2021-11-25 03:08:05 -06:00
Lightning_A e078f970db Rename `remove()` to `remove_at()` when removing by index 2021-11-23 18:58:57 -07:00
Yuri Roubinsky a74acca858 Expose `randfn` to global scope 2021-11-17 14:29:19 +03:00
Rémi Verschelde 471e7cbfc7
Merge pull request #54581 from aaronfranke/operator-docs 2021-11-16 14:10:09 +01:00
Rémi Verschelde 6c1bd4d227
Replace Godot docs URL with `$DOCS_URL` in XML class reference 2021-11-15 13:02:21 +01:00
Stefan Boronczyk 5059d8a46c
Fix mono build after invalid rename of `KEY_READ`
Follow-up to #51684.
2021-11-15 08:49:37 +01:00
Aaron Franke 3c0fdcc8ac
Use "enum class" for input enums 2021-11-12 15:37:54 -06:00
Hugo Locurcio a9a45ee7ee
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 17:31:54 +01:00
Silc 'Tokage' Renew 571ea72f35 fix pingpong in math 2021-11-10 14:31:56 +09:00
Rémi Verschelde 06a33e590f
Merge pull request #53819 from TokageItLab/re-implement-ping-pong
Reimplement ping-pong animation and reverse playback
2021-11-09 22:11:04 +01:00
qarmin 071829acc5 Enable mono editor build in CI 2021-11-09 11:02:04 +01:00
Aaron Franke 813466b3c8
Add documentation to operators for math types
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2021-11-04 14:44:55 -05:00
Aaron Franke 744b43b527
Fix Quaternion multiplication operator 2021-11-04 11:24:46 -05:00
Hugo Locurcio c012fbc8b2
Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03 23:06:17 +01:00
Silc 'Tokage' Renew 953a7bce7e reimplement ping-pong 2021-11-03 13:39:33 +09:00
Rémi Verschelde 0fbf53dbc5
Merge pull request #54387 from Calinou/editor-translations-increase-zlib-compression-level 2021-11-01 23:22:55 +01:00
Rémi Verschelde 16dc607f8a
Merge pull request #54307 from Calinou/add-opengl-renderer-squash
Add OpenGL renderer (squashed)
2021-10-31 18:30:38 +01:00
Raul Santos 2913c32db5 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 17:11:40 +02:00
Hugo Locurcio ce97ddbcb1
Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3
- Use lowercase driver names for the `--rendering-driver`
  command line argument.
2021-10-30 02:05:49 +02:00
Hugo Locurcio 89cf17c96f
Use maximum zlib compression when generating editor translation headers
With comments stripped, this reduces the combined generated translation
size from 28.7 MB to 28.4 MB (-240 KB).
2021-10-29 19:07:48 +02:00
Ignacio Roldán Etcheverry 7d99ccda1d
Merge pull request #54361 from raulsntos/csharp-call-able-callable
Implement Call methods in C# Callable
2021-10-29 17:27:04 +02:00
Raul Santos 21afb63485 Implement Call methods in C# Callable
Implements Callable.Call and Callable.CallDeferred methods in C#
2021-10-28 22:49:17 +02:00
Rémi Verschelde 0ae65472e7
clang-format: Enable `BreakBeforeTernaryOperators`
clang-format keeps breaking the way it handles break *after* ternary operators,
so I give up and go with the only style they seem to actually test.
2021-10-28 15:57:41 +02:00
Rémi Verschelde 3b11e33a09
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
Rémi Verschelde 6ccc3e4d87
Merge pull request #54130 from raulsntos/csharp-exports
Keep order for C# exported members
2021-10-24 21:17:58 +02:00
Aaron Franke 474d0f58f5
Add support for the RISC-V architecture
Supports RV64GC (RISC-V 64-bit with general-purpose and compressed-instruction extensions)
2021-10-22 12:51:10 -05:00
Rémi Verschelde beb3875cdf
Merge pull request #53781 from m4gr3d/restrict_project_data_dir_config_master 2021-10-22 19:30:35 +02:00
Raul Santos c6ecc04114
Keep order for C# exported members 2021-10-22 19:25:01 +02:00
Rémi Verschelde b9a59f60c1
Mono: Fix build after #52940
Chose to pass unhandled exceptions to the toaster, we might want to reconsider
if those are already reported somewhere else (e.g. in the Mono panel).
2021-10-20 11:07:20 +02:00
Ignacio Roldán Etcheverry cad05f012d C#: Fix property set call boxing value when unboxed was expected 2021-10-19 00:33:51 +02:00
ne0fhyk b5c750fa65 Restrict the project data directory configuration 2021-10-18 14:10:38 -07:00
Rémi Verschelde 76d90bb568
Merge pull request #53943 from raulsntos/fixup-53581 2021-10-18 10:38:41 +02:00
Raul Santos bc47bacc9e Fix marshaling generic Godot.Object in C# 2021-10-18 03:07:47 +02:00
Anutrix a4b736658e Remove unused imports in .py, SCsub and SConstruct files 2021-10-18 01:50:34 +05:30
Rémi Verschelde d6aab5c1bf
SCons: Fix missing mono `.gen.cpp` sources after #53860 2021-10-16 15:53:14 +02:00
Raul Santos 035e14c69d Fix hint_string for C# enum arrays 2021-10-15 19:23:40 +02:00
Rémi Verschelde f113dc9863
Merge pull request #53627 from raulsntos/fix-list-marshal 2021-10-15 17:35:45 +02:00
Rémi Verschelde 6fb06ec47e
Merge pull request #53581 from raulsntos/mono-marshal-generics 2021-10-15 17:35:21 +02:00
Raul Santos ba4a88eaed Fix C# List<T> marshalling 2021-10-10 11:40:07 +02:00
Raul Santos 0be9664b42 Support marshaling generic Godot.Object
Allows using generic C# types in signals as long as they inherit
from `Godot.Object`.
2021-10-08 20:00:47 +02:00
Raul Santos 1f62d309d8 Support arrays of StringName, NodePath and RID in mono 2021-10-08 18:50:21 +02:00
Rémi Verschelde 862994a8ef
doc: Update links to latest documentation after content reorganization 2021-10-06 13:48:48 +02:00
Rémi Verschelde a7ba227631
Merge pull request #52711 from m4gr3d/provide_getter_for_project_data_dir_master 2021-10-05 21:02:27 +02:00
Rémi Verschelde b1c6826b9f
Merge pull request #52963 from Pineapple/WIN32_LEAN_AND_MEAN_master 2021-10-05 12:03:05 +02:00
kobewi 6397eaa27e Fix some leftover references to idle_frame 2021-10-04 20:57:31 +02:00
Fabio Alessandrelli 24a949ea11 [Net] Rename RPC constants and annotation arguments.
any -> any_peer
sync -> call_local
ordered -> unreliable_ordered

Multiplayer.RPC_MODE_ANY -> RPC_MODE_ANY_PEER
Multiplayer.TRANSFER_MODE_ORDERED -> TRANSFER_MODE_UNRELIABLE_ORDERED
2021-10-01 18:14:38 +02:00
Edward Auttonberry c86ab40389 Update C# RPC attributes to share new Any/Auth naming convention
Update attribute class references in mono cache
2021-09-28 17:43:40 -04:00
Bartłomiej T. Listwon 425ed0ffe0 Add missing WIN32_LEAN_AND_MEAN 2021-09-23 10:35:00 +02:00
Rémi Verschelde ba57252bd8
Merge pull request #52878 from AnilBK/add-get-center 2021-09-21 21:30:30 +02:00
Anilforextra 90908cd67d Add Get Center Method for Rect2/Rect2i and AABB. 2021-09-21 21:14:17 +05:45
Aaron Franke 388732bc19
Fix some minor issues in C# XML doc comments 2021-09-18 11:38:22 -05:00
Rémi Verschelde c77e1e2852
Merge pull request #52666 from magian1127/temp1 2021-09-18 15:02:02 +02:00
Magian 9932fbfb1e C#, replace the current Xform method with a * operator. 2021-09-18 20:36:15 +08:00