Commit graph

4512 commits

Author SHA1 Message Date
kobewi 31012fd060 Change print_line() to use any number of Variants 2021-10-07 16:28:22 +02:00
Hugo Locurcio bcf4a56c74
Replace references to VisualServer in code comments with RenderingServer
VisualServer no longer exists in the `master` branch.
2021-10-07 15:49:41 +02:00
Colin Kinloch a66e59be84 Add typedef to GDNativeInstanceBindingCallbacks 2021-10-07 11:59:18 +01:00
George Marques 13a2d03dde
Add Variant in operator for any String/StringName operands
Allow using String or StringName types as operand in any position of the
`in` operator, which is more convenient in scripting when interacting
with data in the engine (such as a Node name).
2021-10-06 22:07:32 -03:00
Brian Semrau f28c677f3d [core_bind] Add is_alive to Thread. Replace is_active with is_started.
Replacing `is_active` resolves an API discrepancy between core_bind Thread and core/os Thread.
2021-10-06 12:47:58 -04:00
Kirill Diduk 1f38b00242 #52491 Cosmetic: fix type cast and add comment with the algorithm source 2021-10-05 21:40:33 +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 a603b2d7c7
Merge pull request #47497 from briansemrau/nan-inf-tscn-parsing-bug 2021-10-05 19:57:33 +02:00
Thakee Nathees 3f3ed5d34c NaN, INF read/write bug fixed
Fix: #40589
2021-10-05 09:25:49 -04:00
Maxime Lapointe 29dc8de88b Improve error message when instantiating virtual class 2021-10-05 08:09:35 -04:00
kobewi 9e5fdbc79d Fix LUA-style assignment in Dictionary 2021-10-05 12:17:13 +02:00
Rémi Verschelde 2ac320681a
Merge pull request #53225 from aaronfranke/c-locale 2021-10-05 11:20:08 +02:00
Rémi Verschelde 3479aaa369
Merge pull request #53405 from winterpixelgames/PR-more-error-logging-release 2021-10-05 08:43:07 +02:00
Jordan Schidlowsky b78d399f91 revert 0d7409a so additional error information prints in release builds 2021-10-04 16:55:01 -06:00
Rémi Verschelde b85dfd990e
GDScript completion: Handle quote style ad-hoc to remove editor dependency
`core` and `scene` shouldn't depend on `editor`, so they can't query this style
setting in `get_argument_options`. But we can handle it after the fact in
GDScript's completion code.

Also cleans up a couple extra unused invalid includes in `core`.
2021-10-04 16:16:05 +02:00
Rémi Verschelde 463dbe5210
Merge pull request #53270 from akien-mga/charproxy-add-copy-constructor 2021-10-04 10:39:37 +02:00
Rémi Verschelde 90f8eb7aa0
Merge pull request #53059 from timothyqiu/thread-obj
Fix crash when creating thread
2021-10-02 02:15:43 +02:00
Rémi Verschelde 01cb4d92f3
Merge pull request #47442 from Shatur/fix-connect-reference-counted 2021-10-01 22:41:11 +02:00
Fabio Alessandrelli 366e374f76
Merge pull request #53290 from Faless/mp/4.x_opts_names
[Net] Rename RPC constants and annotation arguments.
2021-10-01 21:35:08 +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
bruvzg 0c0b5c84b0 Implement TextServer GDExtension interface, remove TextServer GDNative interface. 2021-10-01 15:13:29 +03:00
Eric M ad30b0a8dd Allow shortcuts to have any number of bindings. Updated UI as required. 2021-10-01 18:04:28 +10:00
Rémi Verschelde b32f84d473
Merge pull request #52850 from mashumafi/vector-bsearch 2021-10-01 07:52:51 +02:00
mashumafi 214bbfbefe Implement bsearch for Vector and Packed*Array 2021-09-30 23:57:26 +00:00
Lightning_A c63b18507d Use range iterators for Map 2021-09-30 15:09:12 -06:00
Rémi Verschelde cc57cbb73a
CharProxy: Add copy constructor
Adding the copy constructor is needed to solve a `-Wdeprecated-copy` warning
from GCC and Clang, which is raised when upgrading doctest from 2.4.4 to 2.4.6.
2021-09-30 23:06:40 +02:00
Juan Linietsky c370b4c4d0
Merge pull request #52544 from JFonS/lod_fixes
Auto LOD fixes and improvements
2021-09-30 14:49:11 -03:00
Rémi Verschelde 3a19400889
Merge pull request #48685 from bruvzg/bundle_icon_4 2021-09-30 14:55:04 +02:00
Rémi Verschelde bc0f5d3dde
Merge pull request #53251 from LATRio/53224 2021-09-30 13:42:45 +02:00
Max Hilbrunner ac7505e277
Merge pull request #53227 from Calinou/rename-getornull
Rename RID's `getornull()` to `get_or_null()`
2021-09-30 12:56:01 +02:00
LATRio 41c1cfe28e InputEventJoypadMotion::set_axis - reject invalid axis 2021-09-30 19:32:21 +09:00
Rémi Verschelde 4a9a231566
Merge pull request #53230 from nekomatata/fix-2d-bvh-overflow 2021-09-30 10:24:18 +02:00
Hugo Locurcio ba65730cbf
Rename RID's getornull() to get_or_null() 2021-09-29 23:58:02 +02:00
Rémi Verschelde 4028583e81
Merge pull request #53044 from lucypero/thread_override 2021-09-29 22:43:06 +02:00
PouleyKetchoupp d3c6395dcd Fix buffer overflow in 2D BVH
Some areas of code were missed and assumed Vector3.
2021-09-29 12:10:23 -07:00
Lucy 5fe1857496 Fix Platform Thread Override 2021-09-29 15:38:04 -03:00
Aaron Franke 1cbec15084
Add locale rename for the "C" locale 2021-09-29 11:57:53 -05:00
Rémi Verschelde 2fc31fdfca
Merge pull request #53217 from Faless/ext/fix_pointer_info 2021-09-29 17:41:58 +02:00
Haoyu Qiu 40e188f687 Fix crash when creating thread 2021-09-29 22:08:12 +08:00
Fabio Alessandrelli 0276c2e74a Fix const pointers types in docs and extension API.
The GDVIRTUAL_NATIVE_PTR did not declare the correct GDNativeConstPtr
template, resulting in "void*" being used as it's type info in both the
documentation and the extension API dump.
2021-09-29 16:04:20 +02:00
O01eg 9302b6547a
Implement override of get_message and get_plural_message 2021-09-29 14:19:14 +03:00
Anilforextra fc9767abb1 Use functions defined in the their classes. 2021-09-29 09:36:34 +05:45
Fabio Alessandrelli d18cbdf5e4
Merge pull request #52481 from Faless/net/4.x_native_peers
[Net] Extension system for network peers, webrtc.
2021-09-28 12:57:45 +02:00
fabriceci e4cfcfc424 Replace auto completion shortcut for mac 2021-09-28 11:25:11 +02:00
Rémi Verschelde ed5267f69f
Merge pull request #53053 from LATRio/callable_in_thread_start 2021-09-28 11:10:09 +02:00
Hennadii Chernyshchyk dbb37e586b
Fix inversed check inside register_singleton 2021-09-28 00:17:31 +03:00
jfons 9e1810695c Auto LOD fixes and improvements
* Fixed LODs for shadow meshes.
* Added a merging step before simplification. This helps with tesselated
  meshes that were previously left untouched. The angle difference at
  wich edges ar considered "hard" can be tweaked as an import setting.
* LODs will now start with the highest decimation possible and keep
  doubling (approximately) the number of triangles from there. This
  makes sure that very low triangle counts are included when possible.
* Given more weight to normal preservation.
* Modified MeshOptimizer to report distance-based error instead of
  including attributes in the reported metrics.
* Added attribute transference between the original mesh and the
  various LODs. Right now only normals are taken into account,
  but it could be expanded to other attributes in the future.
2021-09-27 17:04:56 +02:00
Haoyu Qiu b024d16bc1 Parse UTF-8 when getting path from resource UID 2021-09-27 19:10:32 +08:00
Rémi Verschelde 79e33f8b71
Merge pull request #53058 from LATRio/52191
check if 'shortcut' in InputEventShortcut is valid
2021-09-26 08:38:12 +02:00
LATRio eae7f1c1ae validate 'shortcut' in InputEventShortcut 2021-09-26 11:06:16 +09:00
Rémi Verschelde c7f67daccd
Merge pull request #52855 from Calinou/engine-editor-hint-getter-only 2021-09-25 22:09:51 +02:00
LATRio 97c68514c4 Use Callable in Thread::start 2021-09-25 22:07:13 +09:00
Rémi Verschelde 0abe464162
Merge pull request #52849 from KoBeWi/know_no_binds 2021-09-25 00:10:56 +02:00
John Wigg ccf05aeb9a
Fix Face3::get_random_point_inside()
Use correct overload of Math::random(from, to) to return floating point values within the correct range.
2021-09-24 21:41:17 +02:00
Fabio Alessandrelli 25226329be [Net] MultiplayerPeer cleanup, defaults. 2021-09-24 18:40:39 +02:00
Fabio Alessandrelli 7c81ce43ec [Net] Bind Multiplayer to GDExtension. 2021-09-24 18:40:39 +02:00
Fabio Alessandrelli 5f61b2c797 [Net] StreamPeer GDExtension. 2021-09-24 18:40:39 +02:00
Fabio Alessandrelli b9e6cc8f4f [Net] Enable PacketPeer native extensions. 2021-09-24 18:40:39 +02:00
kobewi 7bf5fc709e Remove binds from Signal.connect 2021-09-24 17:07:33 +02:00
Rémi Verschelde 32ab77ef8f
Merge pull request #52430 from AnilBK/vector2-replacements 2021-09-24 13:04:42 +02:00
Hugo Locurcio 6def32d643
Replace #pragma once by traditional include guards for consistency
`#pragma once` was used in a few files, yet we settled on using
traditional include guards instead.

The PooledList template comment was also moved to allow editors
such as Visual Studio Code to display the comment when hovering
PooledList.

`app.h` was renamed to `app_uwp.h` to be less generic for the
include guard.
2021-09-24 02:33:15 +02:00
Anilforextra cc51b045da Construct values only when necessary. 2021-09-23 22:26:07 +05:45
Fabio Alessandrelli f9ce9a8e10 [ClassDB] Unify construct/extension retrieval. 2021-09-22 18:33:29 +02:00
Fabio Alessandrelli f724bd1880 [Core] Add ClassDB functions to retrieve/construct extensions.
Calling the constructor alone is not enough if the class to be
instantiated is not a base class.

This commit adds two functions, one for retrieving the the extension
class reference, the other to construct an instance using the
constructor and the extension class reference.
2021-09-22 17:46:08 +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
Rémi Verschelde 61ce8b206e
Merge pull request #52877 from Calinou/add-print-verbose
Add `print_verbose()` built-in function to print in verbose mode only
2021-09-21 17:00:58 +02:00
Hugo Locurcio 650b1db4b8
Add print_verbose() built-in function to print in verbose mode only
This can be used as a shorthand for:

    if OS.is_stdout_verbose():
        print("...")

Unlike `print_debug()`, this works in release builds too and can
be toggled off in debug builds.
2021-09-21 15:59:49 +02:00
Eric M 28b7c1be80 Improve implementation of builtin action overrides 2021-09-21 22:25:31 +10:00
Hugo Locurcio 2560070c0a
Remove Engine.editor_hint in favor of Engine.is_editor_hint()
The `Engine.set_editor_hint()` setter method is no longer exposed
to scripting, which makes the property effectively read-only from
an user perspective.
2021-09-20 14:24:39 +02:00
Rémi Verschelde 0068247ab6
Merge pull request #52513 from Ev1lbl0w/fix_path_double_slash
Fix path with multiple slashes not being corrected on templates
2021-09-20 13:00:29 +02:00
Rémi Verschelde 89417ba75b
Merge pull request #52398 from deakcor/dev-transform 2021-09-20 08:46:51 +02:00
Vincent D aa82cb6f35 Expose get_skew for transform2d and add new constructor
Expose set_scale and set_skew for transform2d

Replacing float by real_t

Adding const parameters

Updated transform2d doc
2021-09-19 17:10:05 +02:00
George Marques 262d9397fb
Allow indexing of String values in scripting languages 2021-09-17 16:24:56 -03:00
Rémi Verschelde 220b69ab56
Merge pull request #52450 from aaronfranke/they-came-from-scale
Replace Vector3.to_diagonal_matrix with Basis.from_scale
2021-09-17 19:38:36 +02:00
George Marques 455e142d37
Allow comparing equality between builtin types and null 2021-09-17 12:33:52 -03:00
Aaron Franke bf0213470c
Replace Vector3.to_diagonal_matrix with Basis.from_scale 2021-09-17 10:30:30 -05:00
Rémi Verschelde 191c34eb0d
Merge pull request #52734 from lucypero/thread_override_master 2021-09-16 21:45:04 +02:00
Lucy e9723efd34 Allow for platform Thread implementation override 2021-09-16 11:23:29 -03:00
Rémi Verschelde 104a6191fd
Merge pull request #52739 from BastiaanOlij/gdextension_array_index 2021-09-16 15:15:02 +02:00
Rémi Verschelde 46e37545b8
Merge pull request #52740 from akien-mga/os-get_locale-language
Implement `OS::get_locale_language()` helper method
2021-09-16 14:23:06 +02:00
Bastiaan Olij 25d0e4bb5b Add GD extensions operator functions for arrays 2021-09-16 22:00:51 +10:00
Rémi Verschelde ca5c28fed4
Merge pull request #52358 from kleonc/astar_error_messages
`AStar` Add error messages
2021-09-16 13:36:13 +02:00
Rémi Verschelde 910c7dbdb7
Merge pull request #52735 from BastiaanOlij/gdextension_property_group
Add property group and subgroup registration to extensions
2021-09-16 11:02:59 +02:00
Rémi Verschelde def99c7baf
Implement OS::get_locale_language() helper method
This method extracts the 2 or 3-letter language code from `OS::get_locale()`,
making it easier for users to identify the "main" language code for users
that might have different OS locales due to different OS or region, but
should be matched to the same translation (e.g. "generic" Spanish).

Fixes #40703.
2021-09-16 09:34:58 +02:00
Juan Linietsky e2bd0a0a73
Merge pull request #52571 from timothyqiu/expose-enum
Expose enum related methods in ClassDB
2021-09-15 23:43:35 -03:00
Bastiaan Olij 12868791f2 Add property group and subgroup registration to extensions 2021-09-16 12:37:43 +10:00
ne0fhyk 69f890ff11 Provide a getter for the project data directory. 2021-09-15 12:52:03 -07:00
Aaron Franke 5d03c0e0b6
Fix String::num_real and String test cases when compiling with doubles 2021-09-15 13:41:12 -05:00
Rémi Verschelde fbef32ab46
Merge pull request #52693 from akien-mga/fixup-inputmap-macos-override
InputMap: Fixup `macos` feature tag overrides after #52291
2021-09-15 13:20:40 +02:00
Rémi Verschelde 07a58230ea
InputMap: Fixup macos feature tag overrides after #52291
Fixes #52691.
2021-09-15 11:48:54 +02:00
Jacob Edie 2b292a1a2a
--single-window is passed through project manager.
This means you can start godot with --single-window
2021-09-15 10:20:50 +02:00
Rémi Verschelde 3705ad7d8f
Merge pull request #52123 from lightspot21/fix-placement-new-warning
Silence false-positive warning for malformed placement new on GCC 11.1
2021-09-15 09:31:42 +02:00
Rémi Verschelde 0e7beb183a
Merge pull request #52562 from BastiaanOlij/gd_extensions_register_drivers
Add driver types to GD extension initialisation levels
2021-09-15 08:46:43 +02:00
Rémi Verschelde 1201ba6649
Merge pull request #52291 from Calinou/inputmap-rename-osx-macos
Rename `osx` to `macos` in input map feature tag handling
2021-09-15 08:45:46 +02:00
Hugo Locurcio 9b1986fb9c
Rename osx to macos in input map feature tag handling
This follows the general feature tag rename for 4.0.
2021-09-15 03:12:18 +02:00
PouleyKetchoupp 2ca94e51e4 Clean convex hull decomposition code
Remove unnecessary conversion between triangle data and vertex data
whenever possible.
2021-09-14 17:14:06 -07:00
Grigoris Pavlakis abef2b7194 Fix placement new on zero-sized region warning on GCC 11.1
On latest (11.1 as of this commit) GCC, the following warning is
continuously issued during build:
warning: placement new constructing an object of type
'SafeNumeric<unsigned int>' and size '4' in a region of type
'uint32_t*' {aka 'unsigned int*'} and size '0' [-Wplacement-new=]

This happens because on 98ceb60eb4 the new operator override used
was dropped and replaced with standard placement new. GCC sees the
subtraction from the pointer and complains as it thinks that the
SafeNumeric is placed outside an allocation, not knowing that the
address requested is already inside one.

After suggestions, the false positive is silenced, with no other
changes.
2021-09-15 00:07:21 +03:00
Fabio Alessandrelli c5a979eba5
Merge pull request #52613 from V-Sekai/fix_custom_sync_commands
Fix custom multiplayer sync commands
2021-09-14 21:27:12 +02:00
Rémi Verschelde 1cec7057bf
Merge pull request #52535 from e8newallm/52490-type_conversion
Added explicit type conversion to uint32_t
2021-09-14 15:36:52 +02:00
Aaron Franke 3a902c66c4
Revert some URLs from the "Replace HTTP URLs with HTTPS" PR 2021-09-13 15:18:35 -05:00
Rémi Verschelde 70ba366743
Merge pull request #50375 from Paulb23/code_edit_unit_tests 2021-09-13 21:51:20 +02:00
Rémi Verschelde 41562b9198
Merge pull request #52049 from theraot/master 2021-09-13 16:49:24 +02:00
Matthew Newall f048a9ad4e Added explicit type conversions 2021-09-13 14:26:47 +00:00
Bastiaan Olij f9849a2717 Add driver types to GD extension initialisation levels 2021-09-13 18:50:00 +10:00
SaracenOne dace12082b Fix custom multiplayer sync commands 2021-09-12 21:20:10 +01:00
Haoyu Qiu d2aef4c439 Expose enum related methods in ClassDB 2021-09-11 20:33:05 +08:00
Juan Linietsky 6679790fac
Merge pull request #52406 from ellenhp/libvorbis
Replace stb_vorbis with libvorbis
2021-09-10 16:24:59 -03:00
Max Hilbrunner 744d5829b7
Merge pull request #52229 from lawnjelly/basis_quat_warning
Improve Basis::get_quaternion error message
2021-09-10 13:21:00 +02:00
Ricardo Subtil eef0327d1e Fix path with multiple slashes not being corrected on templates 2021-09-10 11:14:40 +01:00
Ellen Poe f5d9c7b487 Replace stb_vorbis with libogg+libvorbis 2021-09-09 19:39:04 -07:00
Fabio Alessandrelli e6106edd16
Merge pull request #52408 from GiantBlargg/fix-string-cast
Fix invalid string cast
2021-09-08 15:31:25 +02:00
Max Hilbrunner 5b25457794 Multiplayer networking renames/simplification
Removes _networking_ prefix from some methods and members, now that multiplayer has been largely moved out of Node and SceneTree and is seperated into its own set of classes.
2021-09-08 12:05:54 +02:00
Max Hilbrunner f8fb2bc0b4
Merge pull request #52097 from mortarroad/master-fix-convex-hull-double-edges
Fix emitting duplicate edges for convex hulls
2021-09-07 21:50:16 +02:00
Juan Linietsky 58388f8cec
Merge pull request #47391 from Calinou/platform-feature-tags-lowercase
Make platform feature tag names lowercase
2021-09-07 16:30:50 -03:00
Max Hilbrunner 9ada29e918
Merge pull request #52289 from Calinou/remove-old-msvc-support-ifdef
Remove `#ifdefs` for handling compilation with Visual Studio < 2015
2021-09-07 21:01:44 +02:00
Max Hilbrunner acc776f7b6
Merge pull request #52442 from Faless/mp/4.x_rpc_manager
[Net] Move multiplayer classes to own subfolder. Split RPC from MultiplayerAPI.
2021-09-07 18:44:39 +02:00
Fabio Alessandrelli bf9aae09ba [Net] Move multiplayer to core subdir, split RPCManager.
Move multiplayer classes to "core/multiplayer" subdir.

Move the RPCConfig and enums (TransferMode, RPCMode) to a separate
file (multiplayer.h), and bind them to the global namespace.

Move the RPC handling code to its own class (RPCManager).

Renames "get_rpc_sender_id" to "get_remote_sender_id".
2021-09-07 11:14:30 +02:00
Gilles Roudière 4bd7700e89 Implement properties arrays in the Inspector. 2021-09-07 09:51:28 +02:00
Anilforextra a1f616dcfc Use builtin Vector2 functions for calculation of angles.
.
2021-09-07 08:30:26 +05:45
Gilles Roudière c6f6c05a52
Merge pull request #51722 from TokageItLab/implement-set-read-only-in-extended-class
Apply `set_read_only()` to child classes of `EditorProperty` elements
2021-09-05 18:58:02 +02:00
Silc 'Tokage' Renew facf8f1883 Apply set_read_only() to child classes of EditorProperty elements 2021-09-05 18:22:17 +09:00
Daniel Doran 3264ba296e fix invalid string cast 2021-09-04 21:38:07 -06:00
Bastiaan Olij f3ab094133
Merge pull request #52309 from BastiaanOlij/add_extension_index_functions
Add functions for access members by index on packed array objects
2021-09-05 11:52:43 +10:00
kleonc 71255bc2a9 AStar Add error messages 2021-09-03 00:06:23 +02:00
SaracenOne f09f12ce55 Fix _send_default_spawn_default function sending zero length
PackedByteArray when deriving from a single PackedByteArray
state variant.
2021-09-02 21:36:54 +01:00
Bastiaan Olij 23f27fbffc Add functions for access members by index on packed array objects 2021-09-02 09:41:35 +10:00
Paulb23 d186862338 Fix InputMap and display server not nulling singleton on free 2021-09-01 16:46:04 +01:00
George Marques 25ae279317
Merge pull request #52270 from KoBeWi/goodbye_polar
Remove cartesian2polar and polar2cartesian
2021-09-01 09:33:13 -03:00
George Marques cf59028972
Merge pull request #48237 from KoBeWi/they_came_from_angle
Add Vector2.from_angle() method
2021-09-01 09:32:42 -03:00
Hugo Locurcio ac7541c1b1
Merge pull request #52026 from Calinou/constiterator-fix-const
Fix ConstIterator to allow `for` range loops on Packed*Array
2021-09-01 14:25:01 +02:00
Ignacio Roldán Etcheverry cca26cc83f Fix ClassDB API type mismatch bug between --editor and player
There are two ways a class can be added to ClassDB:

- `A`: When an instance of the class is created for the first time. When
  this happends the class is not registered/exposed to scripts.
- `B`: When calling `GDREGISTER_CLASS(ClassName)` or similar. When this
  happens the class is registered/exposed to scripts.

ClassDB has an API type property to differentiate between the core
and editor APIs. Up until now the API type was determined whenever
the class is added to ClassDB (either `A` or `B`).

The problem comes when a class is instantiated (`A`) before
being registered (`B`).
If at this point the current defined API is not the same as when the
class is later registered, this will result in a mismatch between
`--editor` and non-editor apps.
This is specially bad for C# as it makes the editor player abort.

This was happening with `EditorPaths` which, while being registered
during the editor API classes registrations, it was also being
instantiated earlier when running the editor or the project manager,
via a call to `EditorPaths::create()`. This regression was introduced
in 1074017f04.

This commit fixes this simply by re-assigning the class API type when
the class is registered (`B`).
This is correct because API type describes registered/exposed classes.
It shouldn't cause any regressions as the API type should not be
accessed of classes that are not (or not yet) registered/exposed.

Code locations for reference:
- Method to add a class to ClassDB: `ClassDB::_add_class2`
- Code that adds classes to ClassDB post first initialization (`A`):
  `memnew` macros -> `Object::_postinitialize` ->
  `Object::initialize_class` -> `ClassDB::_add_class2`.
- Code adds class to ClassDB and registers/exposes it to scripts:
  `GDREGISTER_CLASS` macros -> `ClassDB::register_class<T>` ->
  `Object::initialize_class` -> `ClassDB::_add_class2`.
2021-08-31 22:35:32 +02:00
Hugo Locurcio 2daaf0fdc3
Make platform feature tag names lowercase
Feature tag names are still case-sensitive, but this makes built-in
feature tags more consistent.

- `Windows` -> `windows`
- `OSX` -> `osx`
- `LinuxBSD` -> `linuxbsd`
- `Android` -> `android`
- `iOS` -> `ios`
- `HTML5` -> `html5`
- `JavaScript` -> `javascript`
- `UWP` -> `uwp`
2021-08-31 20:34:44 +02:00
Hugo Locurcio fc0bfbb33b
Remove #ifdefs for handling compilation with Visual Studio < 2015
Godot 3.3 and later require Visual Studio 2017 to be compiled.
2021-08-31 20:04:17 +02:00
kobewi 3f3739ccb5 Add Vector2.from_angle() method 2021-08-31 01:53:58 +02:00
Juan Linietsky bcd73fc00a
Merge pull request #52240 from Rubonnek/rename-rel-path
Rename `String::is_rel_path` to `String::is_relative_path`
2021-08-30 20:45:45 -03:00
kobewi 017c94222e Remove cartesian2polar and polar2cartesian 2021-08-31 01:41:41 +02:00
Juan Linietsky 6dab6e4136
Revert " Improve collision generation usability in the new 3D scene import workflow." 2021-08-30 11:30:36 -03:00
Camille Mohr-Daurat b60a51f023
Merge pull request #51985 from AndreaCatania/coll
Improve collision generation usability in the new 3D scene import workflow.
2021-08-30 07:25:51 -07:00
lawnjelly d3a3b3aff3 Improve Basis::get_quaternion error message
The previous error message incorrectly suggested that any Basis could be fixed by calling get_rotation_quation() or orthonormalize(). This PR points out that only a valid rotation Basis can be fixed in this way.
2021-08-30 07:26:25 +01:00
Haoyu Qiu fd52e18d19 Try other resolved IPs if one fails to connect 2021-08-30 13:00:48 +08:00
Wilson E. Alvarez d11c1afc04
Rename String::is_rel_path to String::is_relative_path 2021-08-29 20:41:29 -04:00
Fabio Alessandrelli 64b9f30b92 [Net] Rename RPC "puppet" to "auth" (authority). Drop "master".
This commit completely removes the RPC_MODE_MASTER ("master" keyword),
and renames the RPC_MODE_PUPPET to RPC_MODE_AUTHORITY ("auth" keyword).

This commit also renames the "Node.[get|set]_network_master" methods to
"Node.[get|set]_network_authority".

This commit also renames the RPC_MODE_REMOTE constant to RPC_MODE_ANY.

RPC_MODE_MASTER in Godot 3.x meant that a given RPC would be callable by
any puppet peer on the master, while RPC_MODE_PUPPET meant that it would
be callable by the master on any puppet.

Beside proving to be very confusing to the user (referring to where it
could be called instead of who can call it) the RPC_MODE_MASTER is quite
useless. It is almost the same as RPC_MODE_REMOTE (anyone can call) with
the exception that the network master cannot. While this could be useful
to check in some case, in such a function you would anyway need to check
in code who is the caller via get_rpc_sender_id(), so adding the check
there for those rare cases does not warrants a dedicated mode.
2021-08-30 00:54:38 +02:00
Fabio Alessandrelli 838a449d64
Merge pull request #51788 from Faless/mp/4.x_replicator_sync
[Net] MultiplayerReplicator state sync.
2021-08-30 00:48:10 +02:00
Hugo Locurcio 4d08a737fb
Merge pull request #52180 from timothyqiu/config-file-prop
Quote and escape ConfigFile keys when necessary
2021-08-28 23:49:00 +02:00
Max Hilbrunner 04c64b59a1
Merge pull request #47406 from mashumafi/master-Array-insert-rc
Array::insert consistent with Pool*Array::insert
2021-08-28 21:18:39 +02:00
Max Hilbrunner 99c2329b73
Merge pull request #43522 from qarmin/divide_by_zero_in_vectori
Fix crash when dividing by 0 in Vector2/3i
2021-08-28 19:53:28 +02:00
Haoyu Qiu 597d489a20 Quote and escape ConfigFile keys when necessary 2021-08-28 18:48:45 +08:00
K. S. Ernest (iFire) Lee d04aa9a114
Merge pull request #52122 from V-Sekai/autoload_list
Use sorted map for autoloads in ProjectSettings to preserve order.
2021-08-27 14:41:40 -07:00
Max Hilbrunner 4e67e9bca6
Merge pull request #52090 from balloonpopper/bug52060
Correct null and boolean values being capitalised by the str command
2021-08-27 21:05:47 +02:00