Ing. Petr Jindra
c4770e1605
fix of reading property list from custom nodes imported from GDExtension when inheritance between custom nodes is used
2022-03-02 18:50:00 +01:00
Hugo Locurcio
4219485a82
Always register the Smooth Trimesh Collision project setting
...
This ensures the project setting never disappears from the editor,
even if the current physics engine is GodotPhysics.
This also adds documentation for the Smooth Trimesh Collision
project setting.
2022-03-02 18:49:34 +01:00
Haoyu Qiu
d1ca29cd8c
Remove TTRC()
with empty string
...
Fixes "duplicate message definition" when extracting messages.
2022-03-02 17:02:10 +08:00
Haoyu Qiu
b00b7f9b7c
Fix UndoRedo::create_action()
invalid memory usage
2022-03-01 18:20:46 +08:00
Rémi Verschelde
feee9d0aa5
Merge pull request #58629 from groud/fix_native_extion_init_order
2022-03-01 01:33:48 +01:00
Rémi Verschelde
de9446186d
Merge pull request #58488 from lawnjelly/float_literals_casts
2022-03-01 01:32:07 +01:00
Gilles Roudière
ce512b35c1
Reorder native extension types initialization, initializing editor last
2022-02-28 16:03:26 +01:00
Aaron Franke
061ab30051
Use is_zero_approx and fix spelling in CameraMatrix invert
2022-02-26 12:19:54 -06:00
Hugo Locurcio
8e57e5dc6a
Print every file exported with PCKPacker.flush()
s verbose parameter
...
Previously, only one line per 100 files was printed.
This also refactors the print statement to use Godot methods and
make it more informative overall.
2022-02-25 02:42:58 +01:00
Bartłomiej T. Listwon
3f7f780a4c
Optimize String concatenation and copy functions
2022-02-24 09:47:15 +01:00
lawnjelly
1485924a2b
Float literals - fix main primitives to use real_t casting
...
Uses (real_t) casting to ensure appropriate calculations are done in 32 bit where real_t is compiled as 32 bit.
2022-02-24 08:15:10 +00:00
Aaron Franke
55aabb8b06
Add offset string from minutes conversion method to Time singleton
2022-02-23 22:12:02 -06:00
Rémi Verschelde
e6c11e4dfd
Merge pull request #58331 from poiati/fix-extension-registration-order-2
2022-02-22 09:07:28 +01:00
Rémi Verschelde
3000a3076b
Merge pull request #58350 from kidrigger/patch-1
2022-02-21 12:44:32 +01:00
Paulo Poiati
fe95aa2c90
Fix extension registration order.
2022-02-20 10:58:46 -03:00
Anish Bhobe
b7ff421b55
Resolving suggestions on comment formatting.
2022-02-20 14:56:58 +01:00
Rémi Verschelde
e3d89a76f7
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@94b76208bc
2022-02-20 12:20:17 +01:00
Rémi Verschelde
91a57b5b6a
Merge pull request #58329 from Powerbyte7/patch-1
2022-02-20 12:11:53 +01:00
Anish Bhobe
102d9fc1b3
Fixing iteration for extension level loading.
...
Extensions are not getting instantiating properly due to iteration calling the wrong levels for loading.
2022-02-20 11:41:39 +01:00
Powerbyte7
b8a7ea034c
[HTML5] Add Stadia controller to database
...
Add web support for the Stadia controller.
2022-02-19 23:01:41 +01:00
Rémi Verschelde
e031aa06ee
Core: Use forward declares for Vector3/Vector3i
...
Add add Vector3 operator in Vector3i.
2022-02-19 16:47:24 +01:00
Rémi Verschelde
719762d4dc
Merge pull request #58166 from Zylann/fix_binary_resource_with_doubles
...
Fix loading of binary resources with 64-bit floats
2022-02-19 08:22:42 +01:00
Rémi Verschelde
420ad25348
Merge pull request #58205 from Zylann/fix_variant_encode_with_doubles
...
Add missing flag when encode_variant writes math types with doubles
2022-02-19 08:22:05 +01:00
bruvzg
759ca45820
[Editor] Fix "en" editor translation detection.
2022-02-18 22:15:02 +02:00
Rémi Verschelde
0217d44dfd
Merge pull request #58278 from Ev1lbl0w/fix_decompress_retcode
2022-02-18 15:56:21 +01:00
Ricardo Subtil
61790a03f5
Fix decompression functions not returning errcodes
2022-02-18 13:50:25 +00:00
Rémi Verschelde
e1c303fa79
Revert "Fix extension registration order."
...
This reverts commit 94ef200bab
.
This broke extension loading.
Fixes #58273 .
2022-02-18 14:18:24 +01:00
Rémi Verschelde
b4dc2e91e6
Merge pull request #58196 from poiati/fix-extension-registration-order
2022-02-18 09:07:21 +01:00
Marc Gilleron
c69d303ba9
Add missing flag when encode_variant writes math types with doubles
2022-02-16 20:47:36 +00:00
Paulo Poiati
94ef200bab
Fix extension registration order.
2022-02-16 14:46:33 -03:00
Rémi Verschelde
51a00c2855
Merge pull request #58182 from akien-mga/style-cleanup-if-semicolons-deadcode
2022-02-16 16:55:07 +01:00
Rémi Verschelde
b8b4580448
Style: Cleanup single-line blocks, semicolons, dead code
...
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
jmb462
dcd2a92af3
Port existing _notification code to use switch statements (part 1/3)
2022-02-16 11:38:24 +01:00
Rémi Verschelde
f5b9cbaff6
Merge pull request #58176 from timothyqiu/find-nearest
2022-02-16 11:01:13 +01:00
Haoyu Qiu
3057b19daa
Make VMap::find_nearest return -1 when empty
2022-02-16 16:12:30 +08:00
Marc Gilleron
722945be61
Fix loading of binary resources with 64-bit floats
2022-02-16 00:55:13 +00:00
Hugo Locurcio
ee7cd9a3a1
Add an OS.get_processor_name()
method
...
This method can be used to get the CPU model name.
It can be used in conjunction with
`RenderingServer.get_video_adapter_name()` and
`RenderingServer.get_video_adapter_vendor()` for annotating benchmarks
and automatic graphics quality configuration.
2022-02-15 20:55:53 +01:00
Max
6aede992a9
Fixed variant decoding Segmentation Fault
2022-02-14 23:04:05 +03:00
Fabio Alessandrelli
f72bd67068
[ResourceUID] Use CryptoCore::RandomGenerator for IDs.
2022-02-14 10:45:50 +01:00
Fabio Alessandrelli
ee7b67e135
[Crypto] Implement CryptoCore::RandomGenerator.
...
As a cryptographically secure random generator.
Internally it uses mbedTLS CTR-DRBG implementation which gets re-seeded
with entropy from OS::get_entropy when needed.
CryptoCore now additionally depends on `ctr_drbg.c` and `entropy.c`
thirdparty mbedtls files.
2022-02-14 10:45:50 +01:00
Fabio Alessandrelli
6b5634b96a
[OS/Crypto] Add get_entropy to OS.
...
Implemented via `BCryptGenRandom` on Windows.
Implemented via `getentropy` syscall when available.
Implemented via `/dev/urandom` device as a fallback.
The `/dev/urandom` fallback can be disabled via the `NO_URANDOM` build
flag.
Note: The HTML5 version relies on emscripten file system urandom
device which itself uses the Crypto API when available or the plain
old not crypto-safe `Math.random()` otherwise.
Restore get_entropy.
2022-02-14 10:45:50 +01:00
Rémi Verschelde
7224389468
Merge pull request #57954 from TokageItLab/refactor-cubic-interpolate
...
Implement `cubic_interpolate()` as MathFunc for refactoring
2022-02-13 10:34:13 +01:00
Rémi Verschelde
7d0b9ec21a
Merge pull request #52742 from Geometror/improve-project-manager-file-dialog
2022-02-12 15:28:09 +01:00
Hendrik Brucker
77fb65debf
Use EditorFileDialog instead of FileDialog in the project manager
2022-02-12 12:06:51 +01:00
reduz
97feafd0ea
Fix resource reuse in binary loader
...
* Reuse was not setting the internal index.
* Supersedes #52599 , without re-reading all properties.
2022-02-12 10:57:51 +01:00
Silc 'Tokage' Renew
865da09871
Implement cubic_interpolate() as MathFunc for refactoring
2022-02-12 18:11:17 +09:00
Rémi Verschelde
daf9729b92
Merge pull request #57703 from lawnjelly/float_literals_math_funcs
2022-02-12 10:01:48 +01:00
Rémi Verschelde
7a7fabe4f6
Merge pull request #57641 from Geometror/compilation-time-improvements-1
2022-02-12 09:46:02 +01:00
Hendrik Brucker
b396fd4eef
Improve compilation speed (forward declarations/includes cleanup)
2022-02-12 02:46:22 +01:00
Rémi Verschelde
ea0337909c
Merge pull request #57972 from BimDav/fix_has_setting4
2022-02-11 15:31:12 +01:00
BimDav
d39e416c61
has_setting now correctly returns true when the setting is present due to a feature tag
2022-02-11 14:35:30 +01:00
reduz
3ad3a43063
Fix Variant Ref<> assignment.
...
-Creating from object pointer via funcptr API was missing reference initialization.
-Supersedes https://github.com/godotengine/godot-cpp/pull/662
-Fixes several crashes in GDExtension
2022-02-11 12:30:49 +01:00
lawnjelly
5298e16e80
Float literals - fix main primitives to use .f
...
Converts float literals from double format (e.g. 0.0) to float format (e.g. 0.0f) where appropriate for 32 bit calculations.
2022-02-10 18:43:19 +00:00
Yuri Sizov
107b6f299c
Reorganize inspector layout workflow for Control nodes
2022-02-10 20:29:34 +03:00
Rémi Verschelde
1bdb82c64e
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.
2022-02-10 12:30:19 +01:00
Rémi Verschelde
d22ac13bc2
Merge pull request #57715 from Faless/debugger/4.x_core_includes_and_servers
...
[Debugger] Move most profilers to ServersDebugger, fix core includes.
2022-02-09 21:57:32 +01:00
Rémi Verschelde
85610588d1
Merge pull request #57843 from Pineapple/vector2-brackets-operator-master
2022-02-09 13:25:18 +01:00
Rémi Verschelde
90162851a7
Core: Move generated VERSION_HASH
to a .cpp
file
...
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.
2022-02-09 09:20:17 +01:00
Bartłomiej T. Listwon
51cac0709e
Fix Vector2 and Vector2i coord access via operator[]
2022-02-09 09:17:17 +01:00
Rémi Verschelde
f425d403fe
Merge pull request #57066 from KoBeWi/in_the_name_of_the_custom
2022-02-08 11:15:01 +01:00
Rémi Verschelde
13d4cbb87c
Merge pull request #57788 from reduz/describe-sname-usage
2022-02-08 11:13:38 +01:00
Rémi Verschelde
dc17cce995
Merge pull request #57795 from bruvzg/gde_missing_binds
2022-02-08 11:12:44 +01:00
reduz
38232c70db
Clarify SNAME usage
...
* Explain where it should be used, with examples.
* Clarify that it should _not_ be used everywhere, only where needed.
* Supersedes #57720
This PR is the result of the discussion that happened in a contractor meeting, and it attempts to clarify the intended use for this macro for other contributors.
As a personal note, It is my view that other approaches to using SNAME (like having a global or per class table of string names) are mere overengineering without any real benefit (performance remains the same, and usage of stringnames becomes more cumbersome. Additionally, there was not any significant amount of errors in name mismatching as a result of using strings since Godot was open sourced).
2022-02-08 09:21:10 +01:00
Rémi Verschelde
0154ce2c8d
Merge pull request #43015 from Xrayez/refactor-auto-instaprop
...
Refactor auto-instantiation of `Object` properties in editor
2022-02-08 08:57:29 +01:00
bruvzg
b801742b77
[GDExtension] Add binds for missing methods, operators, and constants required for GDExtension TextServer implementation.
2022-02-08 09:49:14 +02:00
kobewi
a08fc442a0
Fix script editor errors with CustomCallables
2022-02-07 14:34:42 +01:00
Rémi Verschelde
ec00283f91
ResourceImporter: Restore default append logic for new importers
...
This was changed in #56943 to allow adding new importers from plugins that
take precedence over built-in ones, but this should be opt-in, not the default
behavior.
Fixes #57730 .
2022-02-07 09:47:16 +01:00
Rémi Verschelde
8aa4ed8b5b
Merge pull request #57729 from TechnoPorg/astar-fix-invalid-include
...
Remove a cross include from a_star.cpp
2022-02-07 00:35:42 +01:00
TechnoPorg
5108af42ad
Remove a cross include from a_star.cpp
2022-02-06 15:05:17 -07:00
Fabio Alessandrelli
6583797305
[Debugger] Move servers-related behaviours to ServersDebugger.
...
Forcing draw during debug break is now handled by ServersDebugger, and
only happens when the proper message is sent from the EditorDebugger
("servers:draw").
In a similar way, briging the window in foreground is now also handled
by ServersDebugger upon receiving "servers:foreground" which is sent by
the EditorDebugger when resuming from a break ("continue").
2022-02-06 17:36:48 +01:00
Fabio Alessandrelli
87f4bbd668
[Debugger] Move most profilers to ServersDebugger.
...
Also splits bandwidth/rpc profiler (RPCProfiler is now in
SceneDebugger).
2022-02-06 17:36:48 +01:00
Fabio Alessandrelli
789e648f4d
[Debugger] New extensible EngineProfiler class.
...
Uses GDExtension, replaces old Callable system for profilers, and is
also used internally.
2022-02-06 17:33:45 +01:00
reduz
8c7268664d
Fix integer vector mul/div operators and bindings.
...
* Vector2i and Vector3i mul/div by a float results in Vector2 and Vector3 respectively.
* Create specializations to allow proper bindings.
This fixes #44408 and supersedes #44441 and keeps the same rule of int <op> float returnig float, like with scalars.
2022-02-06 13:34:41 +01:00
Rémi Verschelde
9d1626b4d7
Merge pull request #57017 from godotengine/string-name-static-false-unclaimed
2022-02-05 20:26:34 +01:00
Rémi Verschelde
bd32dd4a48
Merge pull request #56943 from V-Sekai/override-import
...
Make add_importer and add_post_importer_plugin override existing importers.
2022-02-05 19:50:37 +01:00
Rémi Verschelde
5f42e0d0ab
Merge pull request #57646 from Faless/mp/4.x_interfaces
...
[Net] Move RPC, Node cache out of MultiplayerAPI.
2022-02-05 18:26:04 +01:00
Rémi Verschelde
eac1883791
Merge pull request #57657 from lawnjelly/err_macros_flush
...
Add fflush to error macros
2022-02-05 16:08:41 +01:00
lawnjelly
9963c4f0d3
Add fflush to error macros
...
CRASH_NOW macros would previously crash before outputting any error messages. This PR ensures calling fflush for stdout before terminating.
2022-02-05 12:31:54 +00:00
reduz
74adf0bf2e
Remove RID_Owner.get_rid_by_index
...
* Implementing this function efficiently is not really possible.
* Replaced by an option to get all RIDs into a buffer for performance.
2022-02-05 11:59:34 +01:00
Rémi Verschelde
df1724470d
Merge pull request #49775 from fire/faster-cvtt
...
Faster CVTT by lowering default quality
2022-02-05 10:28:07 +01:00
Rémi Verschelde
a0c87d4c11
Merge pull request #57620 from Haydoggo/expression-exp-fix
...
Fix Expression's parsing of positive exponent literals
2022-02-05 10:14:10 +01:00
Hayden
1305ff92f7
Make parser treat all exponent literals as float
2022-02-05 16:34:26 +13:00
Fabio Alessandrelli
3acc39095e
[Net] Fix bogus FileAccessNetwork deconstructor.
...
Now correctly erases old instances.
The code will likely need overhaul anyway to be usable.
It doesn't apply to editor runs, there's a bunch of inconsistencies on
how to clients are handled, and I don't really understand why multiple
instances are created for a single client/server.
2022-02-05 03:27:19 +01:00
Fabio Alessandrelli
347d2dfc42
[Net] Move RPC, Node cache out of MultiplayerAPI.
...
Now uses two interfaces so it can be overridden in the future, and
core no longer depends on Node.
The interfaces are implements in scene/multiplayer.
Replaces root_node with root_path.
Remove all Node references from MultiplayerAPI.
2022-02-05 02:00:23 +01:00
K. S. Ernest (iFire) Lee
419b342a9a
Faster CVTT by reducing quality.
...
Make BC6 and BC7 CVTT faster while still having better quality than DXT5.
2022-02-04 15:15:26 -08:00
Rémi Verschelde
2885befbe6
Merge pull request #55950 from Faless/mp/4.x_replication_nodes
2022-02-04 19:03:10 +01:00
Rémi Verschelde
84290fe4b1
Merge pull request #57623 from akien-mga/core-math-struct-em-all
2022-02-04 19:02:57 +01:00
lawnjelly
f8eaab5b47
BVH - Sync BVH with 3.x
...
Templated mask checks and generic NUM_TREES
Fix leaking leaves
2022-02-04 16:51:21 +00:00
Rémi Verschelde
5ddb518496
Core: Make all Variant math types structs
...
Some were declared as structs (public by default) and others as classes
(private by default) but in practice all these math types exposed as
Variants are all 100% public.
2022-02-04 16:48:24 +01:00
Rémi Verschelde
e223bad86d
Core: Move Vector2i to its own vector2i.h
header
...
Also reduce interdependencies and clean up a bit.
2022-02-04 16:32:21 +01:00
Fabio Alessandrelli
d219547c96
[Net] New replication interface, spawner and synchronizer nodes.
...
Initial implementation of the MultiplayerReplicationInterface and its
default implementation (SceneReplicationInterface).
New MultiplayerSpawner node helps dealing with instantiation of scenes
on remote peers (e.g. clients).
It supports both custom spawns via a `_spawn_custom` virtual function,
and optional auto-spawn of known scenes via a TypedArray<PackedScenes>
property.
New MultiplayerSynchornizer helps synchronizing states between the local
and remote peers, supports both sync and spawn properties and is
configured via a `SceneReplicationConfig` resource.
It can also sync via path (i.e. without being spawned by a
MultiplayerSpawner if both peers has it in tree, but will not send the
spawn state in that case, only the sync one.
2022-02-04 14:56:30 +01:00
Rémi Verschelde
5f56d385b0
Core: Move Rect2i to its own rect2i.h
header
...
And take the opportunity to improve interdependencies a bit with forward
declares where possible.
2022-02-04 14:17:30 +01:00
bruvzg
244db37508
Cleanup and move char functions to the char_utils.h
header.
2022-02-04 11:35:01 +02:00
Rémi Verschelde
b68db2f98a
Merge pull request #57571 from Haydoggo/improved-expression
2022-02-04 09:30:50 +01:00
Hayden Leete
018de19eba
Added hex and bin literal support to Expression parser
...
fixed formatting
2022-02-04 10:49:19 +13:00
Rémi Verschelde
f8f19b313d
Merge pull request #57562 from AnilBK/string-add-contains
...
String: Add contains().
2022-02-03 22:21:24 +01:00
Anilforextra
adbe948bda
String: Add contains().
2022-02-04 01:28:02 +05:45
Rémi Verschelde
7191605324
Merge pull request #57587 from bruvzg/gde_fix_ptr_and_enum_returns
...
[GDExtension] Fix registration of functions with enum or native pointer return type.
2022-02-03 20:36:59 +01:00
Rémi Verschelde
bf0253bab9
Merge pull request #56764 from madmiraal/fix-45592-2
2022-02-03 18:10:30 +01:00
bruvzg
ddd96b3059
[GDExtension] Fix registration of functions with enum or native pointer return type.
2022-02-03 16:03:23 +02:00