bruvzg
163257d51b
[GDExtension] Implement support for typed arrays.
2022-09-22 23:31:27 +03:00
lawnjelly
91d252c697
Fix array-bounds warning in BVH
...
Provides a workaround to prevent tripping a compiler warning.
2022-09-22 16:06:25 +01:00
Rémi Verschelde
d1a155e3cd
Fix various -Wmaybe-uninitialized warnings from GCC 12.2.1
...
Not sure why I didn't get those before, it may be due to upstream
changes (12.2.1 is a moving target, it's basically 12.3-dev), or simply
rebuilding Godot from scratch with different options.
2022-09-22 11:29:48 +02:00
Jummit
2175e38dfb
Fix crash when listing files in nonexistent directory
2022-09-22 09:54:19 +02:00
Rémi Verschelde
d96b7d767a
Merge pull request #66110 from Zylann/reference_get_count
...
get_reference_count()`
2022-09-22 08:26:29 +02:00
Marc Gilleron
474cee7daf
Rename and expose RefCounted::get_reference_count()
2022-09-21 21:18:54 +01:00
Rémi Verschelde
0b06f8b0bd
Merge pull request #65816 from bruvzg/proj_settings_missing_flags
...
Add missing initial window flags and window mode to the project settings.
2022-09-21 18:56:31 +02:00
Rémi Verschelde
85a46d36b5
Merge pull request #66096 from 4d49/decompose-polygon-in-convex
...
Add method bind for `Geometry2D.decompose_polygon_in_convex`
2022-09-21 13:26:08 +02:00
Rémi Verschelde
5408af1407
Style: Ensure consistent formatting with clang-format 15
...
When going from version 14 to 15 it would introduce a tiny change in
`websocket_macros.h` just before the comment re-enabling clang-format,
but this can be solved by just letting it do its work.
Bonus cosmetic change in `math_fieldwise.cpp` where clang-format isn't
used, and bump recommended versions for pre-commit hook to [13; 15].
2022-09-21 12:48:58 +02:00
Rémi Verschelde
e9ad0fd190
Merge pull request #66181 from touilleMan/extension_api_dump-correct-keyed
...
Fix is_keyed param in extension_api.json
2022-09-21 11:06:20 +02:00
Ricardo Buring
0c2055d15d
Callable: add callv method
...
This method can be called from GDExtension.
2022-09-21 08:25:48 +02:00
Mansur Isaev
623e23c625
Add method bind for Geometry2D.decompose_polygon_in_convex
2022-09-21 09:40:03 +04:00
Clay John
c8a0912f36
Merge pull request #66184 from touilleMan/gdnative_interface-fix-hash-mismatch-error-print
...
Fix hash mismatch error print in gdextension's gdnative_classdb_get_method_bind
2022-09-20 20:27:04 -07:00
Emmanuel Leblond
2ee951cef5
Fix hash mismatch error print in gdextension's gdnative_classdb_get_method_bind
2022-09-21 00:41:48 +02:00
Rémi Verschelde
160e0a45b7
Merge pull request #66117 from RedMser/json-parse-recursion
...
Add recursion depth check to `JSON.stringify/parse`
2022-09-21 00:19:32 +02:00
Emmanuel Leblond
b7c3bbc627
Fix is_keyed param in extension_api.json
2022-09-21 00:14:53 +02:00
Rémi Verschelde
ae2d9be0fe
Merge pull request #63740 from Faless/net/4.x_http_request_decompress
...
[HTTP] Implement streaming decompression.
2022-09-20 22:29:16 +02:00
Fabio Alessandrelli
273ba0794f
[IO] Add StreamPeerGZIP for streaming compression/decompression.
...
Putting data results in writing the compressed/decompressed output into
a RingBuffer.
You can retrieve the content of the RingBuffer via get_data.
Support both gzip and deflate.
2022-09-20 18:39:10 +02:00
Rémi Verschelde
d8d10c30d0
Merge pull request #60408 from KoBeWi/statically_typed_directories
...
Introduce more static methods to directory API
2022-09-20 15:36:49 +02:00
Rémi Verschelde
a23ba42f98
Merge pull request #63594 from Faless/img/4.x_loader_ext
...
[Core] Make ImageFormatLoader extensible.
2022-09-20 15:36:32 +02:00
kobewi
cad1d27a6f
Introduce more static methods to directory API
2022-09-20 14:22:45 +02:00
Rémi Verschelde
7da532275b
Merge pull request #65541 from clayjohn/renderer-setting
...
Split rendering driver project setting into renderer_name and rendering_driver
2022-09-20 09:43:59 +02:00
Fabio Alessandrelli
e8fc6bfeb5
[Core] Make ImageFormatLoader extensible.
2022-09-20 02:01:57 +02:00
Aaron Franke
50fb0220ca
Define AXIS_COUNT in all vector types
2022-09-19 17:50:35 -05:00
Aaron Franke
436dcb3286
Remove set_all methods from Vector2/3/4
2022-09-19 15:08:50 -05:00
Aaron Franke
fd8bd27657
Remove set_axis and get_axis methods from Vector2/2i/3/3i/4/4i
2022-09-19 15:08:50 -05:00
clayjohn
4a1c7de57c
Split rendering driver project setting into renderer_name and rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
2022-09-19 10:26:10 -07:00
RedMser
de3b1c3fca
Add recursion depth check to JSON stringify/parse
2022-09-19 18:22:55 +02:00
Rémi Verschelde
ec60c4ee9e
Merge pull request #65271 from KoBeWi/FirAccess 🌲
...
Replace File/Directory with FileAccess/DirAccess
2022-09-19 15:33:24 +02:00
Rémi Verschelde
4ebf7d14ac
Merge pull request #66079 from Zylann/project_settings_restart
...
Expose ProjectSettings.set_restart_if_changed(name, restart)
2022-09-19 15:33:11 +02:00
Rémi Verschelde
2d01768618
Merge pull request #66097 from Zylann/make_atlas_vec2i
...
make_atlas`
2022-09-19 15:32:28 +02:00
Rémi Verschelde
1be4f4b69f
Merge pull request #66081 from aaronfranke/math-funcs-spacing
...
Spacing changes in math_funcs.h
2022-09-19 15:31:53 +02:00
Marc Gilleron
2a8aeddc93
Expose ProjectSettings.set_restart_if_changed(name, restart)
2022-09-19 13:57:07 +01:00
kobewi
a43319b6c9
Restore numeric from String constructors
2022-09-19 14:31:16 +02:00
Marc Gilleron
700bb066e0
Use Vector2i
when returning atlas size in Geometry2D::make_atlas
2022-09-19 11:37:02 +01:00
bruvzg
d104a4cdbd
Add missing initial window flags and window mode to the project settings.
2022-09-19 12:30:10 +03:00
kobewi
9f2dc68279
Replace File/Directory with FileAccess/DirAccess
2022-09-19 11:03:31 +02:00
Aaron Franke
300fc5e39a
Spacing changes in math_funcs.h
2022-09-19 02:22:50 -05:00
kobewi
b3997191d8
Change UndoRedo to use Callables
2022-09-18 23:52:50 +02:00
Rémi Verschelde
c6e5c76536
Merge pull request #65561 from ryburnj/inconsistent-cap-scene-file-name
...
Fix inconsistent scene file name casing
2022-09-18 10:49:00 +02:00
ryburnj
9d6af9323a
Fix inconsistent scene file name casing by moving existing Name_Casing code to separate function in editor_node, and adding a call from both editor_node and scene_tree_dock.
2022-09-18 11:17:22 +10:00
Emmanuel Leblond
529afd8fbb
Remove Transfor2/3D,AABB,Basis,RID from Variant destructors given Variant::clear() considers they don't need to be destroyed
2022-09-17 23:48:50 +02:00
bruvzg
ec8084d87f
HarfBuzz: Update to version 5.2.0, add new Unicode 15 blocks and scripts.
2022-09-17 23:19:11 +03:00
MJacred
ac9786c525
Add get_distribution_name() and get_version() to OS
...
supports: LinuxBSD, Windows, macOS, iOS, Android, UWP
Co-authored-by: bruvzg
2022-09-16 11:17:36 +02:00
Rémi Verschelde
d1b2a191ab
Merge pull request #65295 from reduz/json-as-resource
2022-09-16 10:58:01 +02:00
Rémi Verschelde
a981a8061f
Merge pull request #65325 from TokageItLab/refactor-variant-for-anim
...
Move some static methods to `Animation` from `Variant` for refactoring `Animation` and `Tween`
2022-09-16 09:20:50 +02:00
Rémi Verschelde
dbd757f479
Merge pull request #65760 from Mickeon/try-vformat-var-args
...
Use variadic template in `vformat()` (allow more than 5 arguments)
2022-09-15 20:11:19 +02:00
Micky
0715250ae4
Use variadic template in vformat()
...
Allows `vformat()` to take more than 5 arguments. as well as being a general optimisation that avoids redundant empty Variant checks.
2022-09-14 23:55:34 +02:00
Silc Renew
9d47e079b7
Move some methods to Animation from Variant for refactoring
2022-09-15 04:52:43 +09:00
fabriceci
9f1a57d48b
Test, refactor and fix a bug in Basis.get_axis_angle
2022-09-14 12:05:22 +02:00
Fabio Alessandrelli
8b5bb7eeea
[OS] Expose get_stdin_string to Scripting.
...
Exposed as read_string_from_stdin so it's clear it's not retrieving a
property.
The method is kept with the block parameter, but a note is added to the
docs specifying that is not implemented on any platform (should we just
remove it?).
2022-09-13 18:37:11 +02:00
Rémi Verschelde
ff824b6f9d
Merge pull request #65509 from gotnospirit/master-os-get_datetime
...
get_datetime_* functions can return wrong values
2022-09-13 11:01:12 +02:00
Rémi Verschelde
fefa3e9419
Merge pull request #65688 from Chaosus/fix_astargrid_heuristic
2022-09-12 13:26:20 +02:00
Yuri Rubinsky
533e3669e7
Fix incorrect heuristic order in AStarGrid2D
2022-09-12 13:16:46 +03:00
SaracenOne
cc4bda8500
Add ability to flag classes as experimental or deprecated.
2022-09-11 00:11:33 +01:00
James
0aecfc9254
Fixes #65377 : get_datetime_* functions can return wrong values
2022-09-10 07:58:38 +08:00
Rémi Verschelde
24ce46e2a1
Merge pull request #64938 from YuriSizov/editor-scaled-icons
2022-09-09 16:52:32 +02:00
Haoyu Qiu
f5760ed65d
Fix parsing of XML CDATA and add test cases
2022-09-09 09:42:24 +08:00
Rémi Verschelde
69233093d7
Merge pull request #65241 from bruvzg/no_keymap_ambiguity
...
Fix key mapping changes when moving from macOS to other platform.
2022-09-08 09:24:24 +02:00
Fabio Alessandrelli
a95d792420
[Net] Rename "ssl" references to "tls" in methods and members.
2022-09-08 03:24:23 +02:00
Yuri Sizov
817d4db21f
Allow images to be imported "for editor use" and respect editor settings
2022-09-07 23:31:31 +03:00
bruvzg
6f4d233062
Fix key mapping changes when moving from macOS to other platform
...
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07 18:45:35 +02:00
Rémi Verschelde
61644f1dbe
Merge pull request #65447 from Faless/net/4.x_ssl_to_tls
...
[Net] Rename StreamPeerSSL to StreamPeerTLS.
2022-09-07 09:19:46 +02:00
Rémi Verschelde
5c5079b398
Merge pull request #65197 from Mickeon/rename-connect-one-shot
...
Rename CONNECT_ONESHOT to CONNECT_ONE_SHOT
2022-09-07 08:51:10 +02:00
Fabio Alessandrelli
528e791a5f
[Net] Rename StreamPeerSSL to StreamPeerTLS.
...
SSL has been deprectated almost 10 years ago.
2022-09-07 07:38:50 +02:00
Micky
9e284f68ec
Prevent HTTPRequest from polling invalid client
2022-09-06 20:49:49 +02:00
Micky
dd26ecdd31
Rename CONNECT_ONESHOT TO CONNECT_ONE_SHOT
...
For consistency. Every other exposed `one_shot` is spaced out like this.
2022-09-06 19:00:33 +02:00
Rémi Verschelde
5062aafc2d
Merge pull request #64417 from aaronfranke/has-space
...
Replace AABB/Rect2/Rect2i has_no_* methods with has_* methods
2022-09-06 17:00:44 +02:00
Rémi Verschelde
f40755383e
Merge pull request #65361 from Mickeon/rename-range-lerp
...
Rename `range_lerp` to `remap`
2022-09-06 17:00:37 +02:00
Micky
b6daad8d4b
Rename range_lerp
to remap
2022-09-06 07:19:20 +02:00
Andres Hernandez
9054399900
Updated gamecontrollerdb.txt to latest to include new mappings for various controllers, including Xbox One, Nintendo Switch, Steam Deck, and 8BitDo
2022-09-05 22:14:59 -07:00
Rémi Verschelde
48cfa0da70
Merge pull request #65282 from Faless/fix/4.x_arm32_detect
2022-09-05 14:11:21 +02:00
Rémi Verschelde
9f2e907bac
Merge pull request #65323 from timothyqiu/variant-wild
...
Fix crash when encoding freed object in `ConfigFile`
2022-09-05 08:27:50 +02:00
Aaron Franke
995b9f94e8
Replace Rect2(i) has_no_area with has_area
2022-09-04 23:03:36 -05:00
Aaron Franke
817ae95667
Replace AABB has_no_volume with has_volume
...
Also replace has_no_surface with has_surface
2022-09-04 23:03:36 -05:00
Aaron Franke
058ac331b0
Minor fixes to Vector4
2022-09-04 20:38:44 -05:00
Juan Linietsky
2b428daf2b
Treat JSON as resource files.
...
This makes the files ended in ".json" be treated as Godot resources.
This solves two problems:
* Avoid extensions to implement their own handling, which results in conflicts (all must use this one).
* Allow code to still work opening it as a file (since it will not be imported).
2022-09-04 14:01:41 +02:00
Haoyu Qiu
3c0759608a
Fix crash when encoding freed object in ConfigFile
2022-09-04 19:56:37 +08:00
Fabio Alessandrelli
6baf530bcb
Fix arm32 detection in Engine.
...
The `__ARM_ARCH_7A__` and `__ARM_ARCH_7S__` are not enough, since they
do not cover e.g. `__ARM_ARCH_8A__` in 32 bit mode, so instead of trying
to cover any possible ARM version that can work in 32 bit mode, we
can replace it with the `__arm__` macro which is defined for arm32 only
(arm64 uses `__aarch64__`).
2022-09-03 13:41:59 +02:00
Hugo Locurcio
f7292dbeb3
Rename or_lesser
range property hint to or_less
...
"less" should be used for quantity, rather than "lesser".
Existing scripts that use `or_lesser` in `_get_property_list()`
will need to be updated to account for this change.
2022-09-02 19:08:20 +02:00
Jonathan Nicholl
15d057c521
Add is_zero_approx
methods to Vector2
, 3
, and 4
2022-09-02 00:29:50 -04:00
Rémi Verschelde
4cca7bd977
Merge pull request #65212 from Faless/net/4.x_simplify_ext_bindings
2022-09-01 23:51:35 +02:00
Rémi Verschelde
005aac2dbe
Merge pull request #65187 from JohanAR/vector_to_size
2022-09-01 23:50:59 +02:00
Rémi Verschelde
af2e6aabaa
Merge pull request #65206 from aaronfranke/fix-projection-decode
2022-09-01 23:48:29 +02:00
Rémi Verschelde
181019cea5
Merge pull request #65135 from reduz/export-customization-plugins
2022-09-01 23:43:39 +02:00
Rémi Verschelde
3f5d5a6370
Merge pull request #64180 from aaronfranke/project-features-tools-only
2022-09-01 22:58:24 +02:00
Rémi Verschelde
10bd79cc6a
Merge pull request #64714 from Chaosus/string_remove_erase
2022-09-01 22:57:22 +02:00
Johan Aires Rastén
b7e2d45233
Replace Vector2(i) with Size2(i) for methods returning a size
2022-09-01 20:04:17 +02:00
Fabio Alessandrelli
fbbd3950c8
Simplify network GDExtension bindings using EXBIND macros.
...
Simplify StreamPeer, PacketPeer, MultiplayerPeer extension.
Simplify and update WebRTC*Extension with newly supported types.
2022-09-01 19:10:22 +02:00
Rémi Verschelde
f02134a8c0
Merge pull request #55617 from madmiraal/fix-55384
2022-09-01 18:20:01 +02:00
Aaron Franke
0eb420679c
Fix a minor bug in the Projection binary decode logic
2022-09-01 11:07:01 -05:00
Rémi Verschelde
41156a1e83
Merge pull request #63968 from KoBeWi/finding_stuff_in_a_dictionary
2022-09-01 17:38:39 +02:00
Juan Linietsky
ef17c4668a
Add support for scene/resource customization in export plugins
...
EditorExportPlugin adds a set of callbacks to allow customizing scenes, resources or subresources in all files exported:
* Can take scene files, resource files and subresources in all of them.
* Uses a cache for the converted files if nothing changes, so this work only happens if a file is modified.
* Uses hashing to differentiate export configuration caches.
* Removed the previous conversion code to binary, as this one uses existing stuff.
This API is useful in several scenarios:
* Needed by the "server" export platform to get rid of textures, meshes, audio, etc.
* Needed by text to binary converters.
* Needed by eventual optimizations such as shader precompiling on export, mesh merging and optimization, etc.
This is a draft, feedback is very welcome.
2022-09-01 11:16:00 +02:00
Rémi Verschelde
0c221f0284
Merge pull request #65124 from zhehangd/fix_basis
2022-09-01 09:36:11 +02:00
Rémi Verschelde
8812f0c896
Merge pull request #64444 from timothyqiu/action-completion
...
Fix action name completion for `Input`
2022-09-01 08:20:20 +02:00
Zhehang Ding
69fe6336f1
Basis constructor: row vectors -> column vectors
2022-08-31 21:20:25 -07:00
Rémi Verschelde
10aec9057c
Merge pull request #63411 from Calinou/improve-null-object-dictionary-print
...
Improve null and object printing to avoid confusion with arrays
2022-08-31 17:37:08 +02:00
Hugo Locurcio
291d3aaabe
Improve null and object printing to avoid confusion with arrays
...
- Use different syntax for object printing to avoid confusion with arrays.
- Print null as `<null>` to avoid confusion with a string `"null"`.
- Display `<empty>` in editor resource pickers to avoid confusion
with array-based properties.
2022-08-31 15:31:49 +02:00
Silc Renew
c139d9ef7d
Discontinued spherical_interpolate_with in Transform3D
2022-08-31 16:35:38 +09:00
Rémi Verschelde
c80ea41e3b
Merge pull request #65095 from m4gr3d/update_get_current_dir_main
...
Additional fixes to the Android `get_current_dir()` implementation.
2022-08-31 09:00:53 +02:00
Fredia Huya-Kouadio
f916dff26d
Additional fixes to the Android get_current_dir()
implementation.
2022-08-30 10:04:12 -07:00
Yuri Rubinsky
4d7c1b92e9
Implement AStarGrid2D
class with jump-point pathfinding
2022-08-30 17:29:23 +03:00
Marcel Admiraal
0046d320bb
Fix Geometry3D::get_closest_points_between_segments() returns NaN
...
Also fix:
- Geometry3D::get_closest_distance_between_segments() returning
incorrect values.
- Test for Geometry3D::get_closest_distance_between_segments() testing for
an incorrect value.
2022-08-30 12:13:11 +01:00
Danil Alexeev
d4555ef5fb
Add String.to_{camel,pascal,snake}_case
methods
2022-08-30 12:36:24 +03:00
Aaron Franke
10a56981dc
Rename String plus_file
to path_join
2022-08-29 19:38:13 -05:00
Rémi Verschelde
c7e4c802ff
Merge pull request #65031 from akien-mga/os-drop-obsolete-resource-debugging
2022-08-29 15:04:17 +02:00
Rémi Verschelde
eb56d1d1eb
Drop obsolete resource usage debug methods from OS class
...
These methods exist since the dawn of (open source) Godot and have hardly
been updated over time, so they barely work and I'm fairly sure nobody is
using them. (See #46505 for details.)
While some of the functionality they aimed to provide might be useful for
optimization work and introspection, this should likely be redesigned from
scratch with a cleaner and more modern interface (e.g. exposed via the
Performance singleton, or ResourceLoader, and a better API overall).
2022-08-29 12:57:37 +02:00
Fabio Alessandrelli
d20b32186f
[Web] Rename JavaScript platform to Web.
...
Also rename export name from "HTML5" to "Web".
2022-08-29 11:52:00 +02:00
Aaron Franke
0a87bd7b54
Only compile project features logic in editor builds
2022-08-27 21:02:35 -05:00
bruvzg
8dab4a2aa3
[Windows] Improve build environment detection, add support for Windows on ARM.
2022-08-27 16:10:53 +03:00
Silc Renew
931fb4dc11
Add linear/cubic angle interpolation to Animation interpolation type
2022-08-27 07:58:22 +09:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
...
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Rémi Verschelde
ee461b7295
Merge pull request #64925 from RandomShaper/ps_res_path
...
Determine `ProjectSettings`' resource path early
2022-08-26 23:02:51 +02:00
Pedro J. Estébanez
e08a2be436
Determine ProjectSettings' resource path early
2022-08-26 15:01:52 +02:00
Micky
59e11934d8
Rename str2var
to str_to_var
and similar
...
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.
- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`
- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
bruvzg
d91cb1d5d5
[macOS export] Simplify code signing options, add support for rcodesign tool for signing and notarization.
2022-08-26 14:23:31 +03:00
Rémi Verschelde
ce78d280b3
Merge pull request #58530 from Calinou/os-remove-dump-memory-to-file
...
Remove unimplemented `OS.dump_memory_to_file()` method
2022-08-25 20:55:30 +02:00
Rémi Verschelde
0cf0e96038
Merge pull request #64776 from YuriSizov/import-images-moar-flags
2022-08-25 16:51:26 +02:00
Marcus Elg
b21460981d
Improve string formatting for %f and %v for inf and nan
2022-08-25 07:41:21 +02:00
Rémi Verschelde
9d0b3d7aaa
Merge pull request #64844 from RandomShaper/fa_access_type
...
Add `FileAccess::get_access_type()`
2022-08-25 00:24:28 +02:00
Rémi Verschelde
d0a2a4c981
Merge pull request #64531 from madmiraal/fix-63972-2
...
Fix axis mapped to DPad buttons not releasing opposite button
2022-08-24 20:10:29 +02:00
Pedro J. Estébanez
8c6b2fbb90
Add FileAccess::get_access_type()
2022-08-24 20:06:34 +02:00
Rémi Verschelde
2961651444
Merge pull request #64691 from TokageItLab/Quaternion-editor
2022-08-24 18:36:54 +02:00
Rémi Verschelde
4698dc67b5
Merge pull request #64082 from KoBeWi/array3k
2022-08-24 16:05:59 +02:00
Silc Renew
673c649adb
Implement Quaternion Editor
2022-08-24 22:04:49 +09:00
kobewi
f7f4873ed0
Replace Array return types with TypedArray 3
2022-08-24 12:53:36 +02:00
derammo
672fa94fb8
fix arg naming in ResourceFormatLoader extension
2022-08-24 06:49:03 -04:00
Yuri Rubinsky
0626ce50cf
Merge pull request #64794 from Chaosus/projection_constructor
2022-08-24 11:19:41 +03:00
Rémi Verschelde
91e5f48ea7
Merge pull request #64009 from KoBeWi/arrayy_lmao
...
Replace Array return types with TypedArray (part 2)
2022-08-24 08:18:56 +02:00
Yuri Rubinsky
e97ece55aa
Add constructor accepting four Vector4's to Projection
2022-08-24 08:30:40 +03:00
Rémi Verschelde
08d8f884cd
Merge pull request #63728 from MarcusElg/%v
...
Add %v for formatting vectors
2022-08-24 00:42:47 +02:00
kobewi
1abdffe7a0
Replace Array return types with TypedArray 2
2022-08-23 23:21:32 +02:00
Rémi Verschelde
34aa6b06a7
Merge pull request #64721 from bruvzg/fix_prop_revet_ext
2022-08-23 21:37:52 +02:00
Marcus Elg
dbc165715b
Add %v for formatting vectors
2022-08-23 17:26:06 +02:00
JFonS
c7a7aad30d
Merge pull request #59779 from rainerdeyke/constexpr-operators
...
Made Key operators constexpr
2022-08-23 15:35:35 +02:00
bruvzg
56101080cc
[GDExtension] Fix _property_can_revert
and _property_get_revert
methods using incorrect string type.
2022-08-23 14:58:28 +03:00
Rémi Verschelde
14f8a54a33
Merge pull request #64511 from derammo/derammo_fix_has_property_default_value
2022-08-23 13:47:20 +02:00
Yuri Sizov
672e9d6868
Make ImageLoader
take bit field flags
2022-08-23 14:39:01 +03:00
Rémi Verschelde
f583b835db
Merge pull request #64690 from touilleMan/projection-members-offsets-in-gdentension-api
2022-08-23 11:06:47 +02:00
Rémi Verschelde
b9919fd87d
Merge pull request #64678 from TokageItLab/implement-ease-baker
...
Fix Quaternion Tween and add Easing baker to AnimationTrackEditor
2022-08-23 09:19:21 +02:00
Rémi Verschelde
3f3ade9e5b
Merge pull request #64732 from RandomShaper/input_is_final
...
Consolidate the fact that `Input` is meant to be final
2022-08-23 08:53:49 +02:00
Rémi Verschelde
b368985291
Merge pull request #64489 from MewPurPur/fast-string-repeat
...
Improved performance of `String.repeat()`
2022-08-23 08:52:50 +02:00
Rémi Verschelde
62c3e72b6f
Merge pull request #63959 from KoBeWi/typo_arrray
...
Replace Array return types with TypedArray (part 1)
2022-08-23 08:52:13 +02:00
Rémi Verschelde
f97f5a6146
Merge pull request #64428 from godotengine/gdextension-ignore-property-array
...
Ignore class's property array when generating extension_api.json (not…
2022-08-23 07:58:26 +02:00
VolTer
dae64e5361
Improved performance of String repeat method
2022-08-22 22:47:10 +02:00
kobewi
8be27dc59e
Replace Array return types with TypedArray
2022-08-22 22:42:36 +02:00
Rémi Verschelde
36061a1a47
Merge pull request #60515 from KoBeWi/electrostatic_jason
2022-08-22 22:27:43 +02:00
Rémi Verschelde
dac25e5c4c
Merge pull request #64571 from kleonc/string-fix-self-add-assign
2022-08-22 22:24:12 +02:00
Emmanuel Leblond
a6963320d6
Ignore fake properties in classes when generating extension_api.json
...
In extension_api.json we want to expose properties that are meant to
access a class attribute from script (i.e. `Node2D.position`).
However property system is also used in Godot to declare attributes
accessible from the node editor:
- property with '/' in their name
- property array with NIL type that represents an array
2022-08-22 22:17:03 +02:00
Rémi Verschelde
7c85c4a27e
Merge pull request #64374 from RandomShaper/inheritable_cl_args
2022-08-22 21:48:28 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property
2022-08-22 21:39:48 +02:00
Rémi Verschelde
1fbf7b1ba5
Merge pull request #64610 from reduz/startup-benchmark-support
2022-08-22 19:36:03 +02:00
Rémi Verschelde
7b4927bb5f
Merge pull request #60309 from The-O-King/oct
2022-08-22 19:29:21 +02:00
Yuri Sizov
1a24c9e14b
Make _validate_property
a multilevel method
2022-08-22 18:35:11 +03:00
Rémi Verschelde
944bfc6d00
Merge pull request #63602 from TokageItLab/cubic-interp-time
2022-08-22 17:32:47 +02:00
Pedro J. Estébanez
99edd4b43d
Consolidate the fact that Input
is meant to be final
...
This reverts #38034 and removes the `iteration()` method.
2022-08-22 14:37:25 +02:00
Silc Renew
f7dd83ce60
Fix Quaternion Tween and implement ease baker
2022-08-22 19:04:58 +09:00
Yuri Rubinsky
772b0d2818
Remove String::erase
method declaration
2022-08-22 10:30:08 +03:00
Emmanuel Leblond
dca6db76af
Add missing Projection's members offsets to gdextension_api.json
2022-08-21 12:49:28 +02:00
rafallus
da7a5653f4
Expose Basis set_orthogonal_index
method as a GridMap function
2022-08-20 21:42:20 -05:00
derammo
320fb492b0
added missing virtual to ScriptExtension
...
_has_property_default_value is a required virtual
for ScriptExtension but it was not bound, and could
therefore not be implemented
this made it impossible to implement a ScriptExtension
that runs
2022-08-20 06:29:39 -04:00
Yuri Sizov
7895a66cf2
Merge pull request #64334 from YuriSizov/core-bind-property-revert-methods
...
Make `property_*_revert` methods multilevel and expose them for scripting
2022-08-19 20:41:41 +03:00
Juan Linietsky
a3936adb29
Add Startup benchmarking support
...
This adds support for benchmarking engine startup (and editor startup if used).
The goal is to use this in the benchmarking server to track improvements and changes to engine, editor, importer and scene loading startup times.
2022-08-19 14:21:43 +02:00
Pedro J. Estébanez
e886d662ec
Overhaul CLI argument forwarding to processes started by the editor
2022-08-19 11:15:56 +02:00
Silc Renew
dded7c72c1
Make cubic_interpolate()
consider key time in animation
2022-08-19 14:48:37 +09:00
Clay John
6923076850
Merge pull request #64302 from neikeq/unreference-callback-regr-from-44691448
...
Fix instance binding unreference callback regression
2022-08-18 14:53:31 -06:00
Hugo Locurcio
e559dcb8f5
Increase the default project window size for better usability
...
The new default window size is tuned to:
- Have a 16:9 aspect ratio,
- Have both dimensions divisible by 8 to better play along with
video recording,
- Be displayable correctly in windowed mode on a 1366×768 display
(tested on Windows 10 with default settings).
This breaks compatibility with projects that didn't change the
window size from the default value (or that kept one of the values
to its default).
2022-08-18 21:22:18 +02:00
Hugo Locurcio
465c423abb
Remove unimplemented OS.dump_memory_to_file()
method
...
This method never did anything in Godot since 3.0, since its code
was commented out. The last time the method had an implementation
was in Godot 2.1.x.
2022-08-18 18:51:25 +02:00
kleonc
1324ca5eb0
Fix undefined behavior in String::operator+=(const String &)
2022-08-18 14:57:24 +02:00
Yuri Sizov
980f5f32f4
Make property_*_revert
methods multilevel and expose them for scripting
2022-08-18 00:03:53 +03:00
Marcel Admiraal
61be617571
Fix axis mapped to DPad buttons not releasing opposite button
2022-08-17 09:12:47 +01:00
kobewi
5947f688fb
Make JSON methods static
2022-08-16 14:29:38 +02:00
kobewi
cc424bcb18
Add Dictionary.find_key()
2022-08-16 13:48:59 +02:00
Haoyu Qiu
660c700f9c
Fix action name completion for Input
2022-08-15 23:28:49 +08:00
Omar El Sheikh
78881b3cc3
Octahedral Normal/Tangent Compression
...
Implementation of Octahedral normal compression into Godot 4.0
2022-08-13 08:09:32 -07:00
Ignacio Roldán Etcheverry
f45f20285c
Fix instance binding unreference callback regression
...
This was a regression from 4469144891
The callback should be called, not only be called when the refcount
reaches 0. For example, the C# callback needs to know when the
refcount reaches 1, in order to swap to a weak GC handle.
2022-08-12 08:43:53 +02:00
kleonc
100b83971f
Image
Fix rotate_90
/rotate_180
methods
2022-08-11 18:45:50 +02:00
Haoyu Qiu
9c4ad8191b
Expose clear method for packed arrays
2022-08-10 17:12:20 +08:00
Hugo Locurcio
160d10dc7b
Decrease default AudioStreamPlayer2D/3D panning strength
...
The default panning strength is now more in line with how other
engines play positional sound.
2022-08-09 18:46:52 +02:00
antonWetzel
40a1d6d100
vector4 distance_squared_to and update csharp
2022-08-09 01:59:17 +02:00
Rémi Verschelde
35f71461f9
Merge pull request #63258 from Calinou/gdextension-print-expected-config-os-arch
2022-08-08 22:30:15 +02:00
Rémi Verschelde
9b19a02f31
Merge pull request #63632 from dsnopek/fix-locale-remap-with-binary-resources-4.x
...
[4.x] Fix locale resource remapping with binary conversion on export
2022-08-08 20:03:23 +02:00
Hugo Locurcio
27a072c884
Print expected os.arch
tuple for current platform in GDExtension error
...
This also adds `Engine.get_architecture_name()` to get the name of the
CPU architecture the Godot binary was built for.
2022-08-08 19:30:34 +02:00
David Snopek
6bbc126c34
Fix locale resource remapping with binary conversion on export
2022-08-08 09:31:35 -05:00
Yuri Sizov
1362bc22bd
Add tests for empty/unnamed arguments to ClassDB, Variant, GDScript
2022-08-08 16:36:01 +03:00
Yuri Sizov
beceba85da
Add checks for empty/unnamed arguments to make_rst.py
2022-08-08 16:36:01 +03:00
Rémi Verschelde
c8cdc10902
Merge pull request #62861 from samdze/image-size-vector2i
...
Make Image.get_size() return a Vector2i instead of a Vector2
2022-08-08 12:55:07 +02:00
Rémi Verschelde
5df8eae862
Merge pull request #64014 from RedMser/keep-screen-on-singledef
2022-08-08 12:04:04 +02:00
Rémi Verschelde
f2ddd81726
Merge pull request #64045 from touilleMan/gdextension-ObjectID-in-native_structures
2022-08-07 16:17:40 +02:00
Rémi Verschelde
446fdc5b71
Merge pull request #64027 from Geometror/add-vector4-tests
2022-08-07 16:07:36 +02:00
Emmanuel Leblond
c0cedebda1
Expose ObjectID among the native structure in GDExtension
2022-08-07 12:42:51 +02:00
Hendrik Brucker
36061c5dca
Vector4/Vector4i: Add missing methods, tests and fix change of sign operator
2022-08-07 12:25:05 +02:00
Haoyu Qiu
e061b1cc3c
Use %s for bool value in vformat
2022-08-07 09:57:09 +08:00
Rémi Verschelde
e6e13c8251
Merge pull request #63361 from KoBeWi/floorf_lol
2022-08-06 22:25:27 +02:00
RedMser
c939f336d6
Only define keep_screen_on
project setting once
2022-08-06 22:10:24 +02:00
kobewi
ae3d83b17b
Restore old lerp() behavior and add lerpf()
2022-08-06 21:15:37 +02:00
Rémi Verschelde
77d3ac700d
Merge pull request #63712 from object71/fix-export-issues
2022-08-06 14:27:17 +02:00
Rémi Verschelde
dc04050cfd
Merge pull request #63698 from PrecisionRender/plane-operator-asterisk
...
Add operator `*` to `Plane`
2022-08-06 00:38:59 +02:00
Rémi Verschelde
10f9f20849
Merge pull request #63887 from qarmin/more_renames
...
Various converter enhancements and bugfixes
2022-08-06 00:21:24 +02:00
Juan Linietsky
f999f52f0a
Add a Framebuffer cache
...
Adds a FramebufferCache singletion that operates the same way as UniformSetCache.
Allows creating framebuffers on the fly (and keep them cached if re-requested) such as:
```C++
RID fb = FramebufferCache::get_singleton()->get_cache(texture1,texture2);
```
2022-08-05 13:37:29 +02:00
Rémi Verschelde
86647c9e42
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@4896d2de6b
2022-08-05 02:59:03 +02:00
Aaron Franke
88f5b0d563
Check if the axis is zero / vectors are colinear in Vector3 slerp
2022-08-04 14:32:54 -05:00
Rémi Verschelde
57aac04480
Merge pull request #63906 from Faless/fix/4.x_warnings
2022-08-04 15:16:00 +02:00
Fabio Alessandrelli
6f02183f8c
[Core] Use std type traits to check operations triviality.
2022-08-04 14:05:17 +02:00
Rémi Verschelde
c717d5c64b
Arrays: Zero new items of trivial types on resize() (bindings only)
...
This is not enabled by default in the core version for performance reasons,
as Vector/CowData are used in critical code paths where not zero'ing memory
which is going to be set later on can be important.
But for bindings / the scripting API, we make zero the new items by default
(which already happened for built types like Vector3, etc., but not for
trivial types like int, float).
Fixes #43033 .
Co-authored-by: David Hoppenbrouwers <david@salt-inc.org>
2022-08-04 13:35:37 +02:00
Fabio Alessandrelli
55845bac26
Fix some array size function definition mismatch.
2022-08-04 13:06:17 +02:00
Rafał Mikrut
3d3fce0d3c
Various converter enhancements and bugfixes
2022-08-03 22:28:51 +02:00
Hristo Stamenov
0e1f7e9f89
Removed faulty function update after get_property_list.
...
The function tried to rearrange properties but that lead to problems with duplication or deleted properties. Implemented the logic that that function did inside the get_property_list both for tool scripts and non-tool scripts.
2022-08-03 21:45:16 +03:00
Rémi Verschelde
259d7781ea
Merge pull request #63875 from hakro/fix-segment-intersects-circle
...
Bring back Geometry2D.segment_intersects_circle
2022-08-03 18:34:37 +02:00
Hakim
500766329f
Bring back Geometry2D.segment_intersects_circle
2022-08-03 17:05:21 +02:00
Rémi Verschelde
2d372d9e10
Merge pull request #56442 from PucklaMotzer09/remap_files_moved
2022-08-03 16:57:26 +02:00
PucklaMotzer09
b32b570d7a
Show dependency warning when removing remaps and fallback if translation
...
remap does not exist
2022-08-03 12:31:29 +02:00
Rémi Verschelde
39a794b1d5
Merge pull request #63266 from reduz/cleanup-array-editing
2022-08-03 11:37:55 +02:00
Rémi Verschelde
a49cf9fe90
Merge pull request #55923 from bluenote10/feature/consistent_transform_operations
...
Fix consistency of translated/scaled/rotated in Transform2D and Transform3D
2022-08-03 07:50:01 +02:00
Fabian Keller
f242f9c738
Fix consistency of translated/scaled/rotated in Transform2D and Transform3D
2022-08-02 23:38:14 +02:00
reduz
0351a0908f
Clean-up array editing
2022-08-02 23:36:02 +02:00
Rémi Verschelde
3b39f00761
Merge pull request #63834 from lawnjelly/variant_large_bucket_pool
...
Variant large bucket memory pool - for Projection
2022-08-02 22:00:53 +02:00
Rémi Verschelde
9daffa12be
Merge pull request #49058 from madmiraal/add-override-fileaccess
...
Add override keywords to FileAccess and DirAccess derived classes
2022-08-02 20:03:24 +02:00
Marcel Admiraal
c06025fa13
Add override keywords to DirAccess derived classes
2022-08-02 16:39:44 +01:00
Marcel Admiraal
cafb19e608
Add override keywords to FileAccess derived classes
2022-08-02 16:35:15 +01:00
lawnjelly
bb273bc972
Variant large bucket memory pool - for Projection
...
Add a larger bucket size pool for the new Projection Matrix.
2022-08-02 16:27:57 +01:00
Rémi Verschelde
33258d850c
Merge pull request #61315 from lawnjelly/variant_bucket_pools
...
Variant memory pools
2022-08-02 15:54:18 +02:00
Rémi Verschelde
b7346e5025
Merge pull request #53956 from bruvzg/icu_uax_31
2022-08-02 08:54:19 +02:00
bruvzg
5aa48b6ae5
[TextServer] Implement ICU/UAX 31 based is_valid_identifier
function.
2022-08-02 08:30:20 +03:00
Hugo Locurcio
6059a9b624
Improve easing inspector usability
...
- Add `positive_only` property hint to disallow using negative presets.
These values are clamped in several places in the editor already,
so this avoids displaying presets that don't work.
- Move the Zero preset at the end of the positive list to match
the custom property editor. It's also used less often than Linear,
Ease In and Ease Out.
- Rename presets to be consistent between the easing property editor
and custom property editor.
- Remove unused `inout` hint which was redundant since it was already
the default.
2022-08-01 18:40:04 +02:00
Hugo Locurcio
1b713175b2
Expose the "restart on exit" OS functionality
...
This can be used to restart a project with specific command line arguments
applied. This can work in tandem with `OS.get_cmdline_args()` to restart
with the same command line arguments as used to originally run the project.
Example use cases:
- Restart to apply an user setting change that requires a restart to work.
- Restart with a Godot command line argument to change the video driver,
audio driver, etc.
2022-08-01 14:06:13 +02:00
Rémi Verschelde
44f1e540f6
Merge pull request #63733 from akien-mga/file-get_as_text-skip-CR
...
File: Re-add support to skip CR (`\r`) in `File::get_as_text`
2022-08-01 07:54:20 +02:00
Rémi Verschelde
4d4575d386
Merge pull request #63624 from reduz/commandline-user-args
...
Add support for command-line user arguments.
2022-08-01 07:53:14 +02:00
Raul Santos
2e5cf62dee
Fix Vector4::min_axis_index
for equal components
...
The documentation says if all components are equal it must return AXIS_W but it was returning AXIS_X.
2022-08-01 04:50:17 +02:00
Juan Linietsky
0dd65378e7
Add support for command-line user arguments.
...
Implements the standard Unix double dash (--) commandline argument:
* Arguments after a double dash (--) are ignored by Godot and stored for the user.
* User can access them via `OS.get_cmdline_user_args()`
Example:
`godot.exe scene_to_run.tscn --fullscreen -- --start-level 2`
2022-08-01 00:56:59 +02:00
Rémi Verschelde
1418f97c70
File: Re-add support to skip CR (\r
) in File::get_as_text
...
This was removed in #63481 , and we confirmed that it's better like this,
but we add back the possibility to strip CR as an option, to optionally
restore the previous behavior.
For performance this is done directly in `String::parse_utf8`.
Also fixes Android `FileAccess::get_line()` as this one _should_ strip CR.
Supersedes #63717 .
2022-08-01 00:40:35 +02:00
Robin Arys
1cfe3c3f8b
Expose load_threaded_request's cachemode to GDScript
2022-07-31 14:04:11 +02:00
PrecisionRender
2adb67c3c5
Add operator*
to Plane
2022-07-30 17:48:55 -05:00
Rindbee
279e5e90f2
Fix using wrong variable when checking in ResourceSaver::save
2022-07-30 17:11:18 +08:00
Rémi Verschelde
15a02c49be
Merge pull request #61647 from KoBeWi/SaverResource
2022-07-29 22:30:51 +02:00
Rémi Verschelde
5ca09b322c
Merge pull request #63593 from TokageItLab/improve-exp-map
2022-07-29 20:27:13 +02:00
kobewi
c3606cb5f3
Swap arguments of ResourceSaver.save()
2022-07-29 19:53:09 +02:00
Rémi Verschelde
7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
...
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Juan Linietsky
d4433ae6d3
Remove Signal connect binds
...
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
kobewi
ee6fd704b5
Fix Vector4 serialization
2022-07-29 12:09:03 +02:00
Silc Renew
90dc2f961e
Make spherical_cubic_interpolate()
more stable
2022-07-29 17:39:22 +09:00
Rémi Verschelde
14d021287b
Merge pull request #63049 from Faless/mp/4.x_as_module
2022-07-28 20:46:31 +02:00
Rémi Verschelde
a5f12f9c21
Merge pull request #63532 from TokageItLab/rename-cubic-slerp
2022-07-28 10:39:33 +02:00
Rémi Verschelde
199ea349f5
Merge pull request #57698 from bluenote10/feature/rename_translated_to_translated_local
2022-07-28 10:03:07 +02:00
Rémi Verschelde
13a9d5e3c0
Merge pull request #63378 from nathanfranke/t3d-errors
...
Add equal checks to Transform3D::looking_at and Transform3D::set_look_at, fixes misleading error.
2022-07-28 09:25:25 +02:00
Rémi Verschelde
1e4b38fc5d
Merge pull request #62414 from Calinou/movie-maker-add-quit-on-end
2022-07-28 01:05:19 +02:00
pattlebass
130e715ab9
HTML5: Add support for Input.vibrate_handheld()
2022-07-27 22:54:41 +03:00
Hugo Locurcio
aaeb60eafc
Add a Movie Quit On Finish property to AnimationPlayer
...
This quits the project when an animation is done playing in the
given AnimationPlayer, but only in Movie Maker mode.
When this happens, a message is printed with the absolute path of the
AnimationPlayer node that caused the engine to quit.
This can be used to create videos that stop at a specified time
without having to write any script.
A report is now also printed to the console when the video is done
recording (as long as the engine was exited properly).
This report is unfortunately not always visible in the editor's
Output panel, as it's printed too late.
A method was also added to get the path to the output file from the
scripting API.
2022-07-27 18:50:28 +02:00
kobewi
fdf7441015
Split ceil(), floor() and round() method
2022-07-27 16:58:56 +02:00
Silc Renew
4211e68d80
rename and unify notation for spherical interpolation
2022-07-27 23:22:50 +09:00
Rémi Verschelde
cc5135959b
Merge pull request #62973 from bruvzg/sysfont_support
2022-07-27 13:38:30 +02:00
Rémi Verschelde
89527db8d3
Merge pull request #63380 from V-Sekai/fix-cubic-slerp-dot
2022-07-27 13:20:02 +02:00
Rémi Verschelde
1c57d90e85
Merge pull request #63463 from KoBeWi/Vector5
...
Add some missing Vector4 methods
2022-07-27 10:45:39 +02:00
Rémi Verschelde
3647024dc5
Merge pull request #63494 from akien-mga/color-fix-set-hsv
2022-07-27 09:25:33 +02:00
Rémi Verschelde
835da447da
Merge pull request #63481 from m4gr3d/fix_remaining_scoped_storage_regressions_main
...
Address remaining scoped storage regressions
2022-07-26 18:17:03 +02:00
Fredia Huya-Kouadio
9679c67904
Address remaining scoped storage regressions
...
- Accelerate common path used to check the storage scope for a given path
- Update the logic for the `get_as_text()` method - previous logic loads the content of a text file one byte at a time
2022-07-26 07:44:08 -07:00
Rémi Verschelde
cda723d201
Color: Fix resetting alpha when setting H/S/V separately
...
Fixes #63487 .
2022-07-26 15:43:49 +02:00
Fabio Alessandrelli
ca7d572908
[Net] Modularize multiplayer, expose MultiplayerAPI to extensions.
...
- RPC configurations are now dictionaries.
- Script.get_rpc_methods renamed to Script.get_rpc_config.
- Node.rpc[_id] and Callable.rpc now return an Error.
- Refactor MultiplayerAPI to allow extension.
- New MultiplayerAPI.rpc method with Array argument (for scripts).
- Move the default MultiplayerAPI implementation to a module.
2022-07-26 09:31:12 +02:00
bruvzg
36ef8f29dc
Implement support for loading system fonts on Linux, macOS / iOS and Windows.
2022-07-26 08:38:05 +03:00
Aaron Franke
9403173994
Allow loading override.cfg from PCK files
2022-07-25 22:34:54 -05:00
kobewi
7006f7d693
Add some missing Vector4 methods
2022-07-26 02:35:42 +02:00
Rémi Verschelde
25a7cdc97f
Merge pull request #63443 from rburing/bvh_debug_fixup
2022-07-25 23:08:06 +02:00
Nathan Franke
4b13a6dcb8
add equal checks to Transform3D::looking_at and Transform3D::set_look_at
2022-07-25 13:39:40 -05:00
Ricardo Buring
178405f7cb
Fixup BVH debugging statements
2022-07-25 18:21:53 +02:00
Silc 'Tokage' Renew
e252d4e6fe
Fix cubic_slerp
...
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
Co-authored-by: Pasi Nuutinmaki <gnssstylist@sci.fi>
2022-07-25 22:44:39 +09:00
Juan Linietsky
c7255388e1
Remove ThreadWorkPool, replace by WorkerThreadPool
...
The former needs to be allocated once per usage. The later is shared for all threads, which is more efficient.
It can also be better debugged.
2022-07-25 15:39:50 +02:00
Rémi Verschelde
90019676b0
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 11:17:40 +02:00
Rémi Verschelde
3084a48ace
Merge pull request #63219 from reduz/implement-vector4-projection
2022-07-25 11:13:27 +02:00
Rémi Verschelde
b7a47bfc09
Merge pull request #63098 from Xwdit/fix_qualifiers_script_doc
2022-07-24 23:26:30 +02:00
Xwdit
5d49df8d97
Fix missing method qualifiers in script doc
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-07-24 23:00:19 +02:00
Jcrespo
1a3d57f319
Solve discrepancy between code and class reference for Plane
...
On #43310 , class reference was automatically updated from source,
causing xml documentation to disagree with parameter naming
description on Plane.intersects_segment().
Weirdly, it also changed the parameter for Plane.is_point_over()
from point to plane, when only the first has sense (and it is
defined on math.Plane as "const Vector3 &p_point"). Manual
mistake?
* Update begin/end to from/to on Plane.intersects_segment(...)
docs description to match source
* Update Plane bindings to use points instread of plane for
is_point_over(...)
* Change Plane.is_point_over(plane) to Plane.is_point_over(point)
AND its description on docs
Fixes godotengine/godot-docs#5976
2022-07-24 18:21:25 +02:00
Fabio Alessandrelli
75f93167f7
Merge pull request #63262 from dsnopek/multiplayer-peer-custom-4.x
...
[4.x] Allow extending MultiplayerPeerExtension from GDScript
2022-07-24 01:24:22 +02:00
reduz
455c06ecd4
Implement Vector4, Vector4i, Projection
...
Implement built-in classes Vector4, Vector4i and Projection.
* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.
These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.
**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
Rémi Verschelde
d2fa9cbdfd
Merge pull request #63141 from reduz/implement-thread-runner
2022-07-22 13:25:31 +02:00
Rémi Verschelde
653f95282c
Merge pull request #62996 from reduz/feature-build-profiles
2022-07-22 12:50:20 +02:00
reduz
67a260d63f
Implement a Worker ThreadPool
...
This PR implements a worked thread pool. It uses a fixed amount of threads in a pool and allows scheduling tasks
that can be run on threads (and then waited for). It satisfies the following use cases:
* HTML5 thread count is fixed (and similar restrictions are known in consoles) so we need to reuse threads.
* Thread spawning is slow in general, so reusing threads is faster anyway.
* This implementation supports recursive waiting for tasks, making it less prone to deadlocks if threads from the pool also run tasks.
After this is approved and merged, subsequent PRs will be needed to replace the ThreadWorkPool usage by this class.
2022-07-22 11:46:48 +02:00
reduz
6236a688b7
Implement Feature Build Profiles
...
This PR is a continuation of #50381 (which was implemented exactly a year ago!)
* Add a visual interface to select which classes should not be built into Godot (well, they are built if something else uses them, but if not used the optimizer will remove them out).
* Add a detection system to scan the project and figure out the actual classes used.
* Added the ability for SCons to load build profiles.
Obligatory Screen:
A simple test with a couple of nodes in the scene resulted in a 25% reduction for the final binary size
TODO:
* Script languages need to implement used class detection (left for another PR).
* Options to disable servers or server functionalities (like 2D or 3D physics, navigation, etc). Are missing, that should also greatly aid in reducing binary size.
* Options to disable some modules would be desired.
* More options to disable drivers (OpenGL, Vulkan, etc) would be desired.
In general this PR is a starting point for more contributors to improve and enhance this functionality.
2022-07-22 10:53:23 +02:00
Rémi Verschelde
19db9ed863
Merge pull request #63286 from RandomShaper/fix_debugger_focus
2022-07-22 00:48:06 +02:00
Rémi Verschelde
9b782b7573
Merge pull request #63242 from m4gr3d/fix_slow_copy_main
...
Address slow copy performance when using the `FileAccessFilesystemJAndroid` implementation
2022-07-22 00:22:30 +02:00
Pedro J. Estébanez
033001375f
Fix editor re-focus on debugger break on Windows
2022-07-21 21:47:05 +02:00
Yuri Rubinsky
ccc56cc6d4
Rename epsilon
to tolerance
in the Plane::has_point
method
2022-07-21 20:15:15 +03:00
Fredia Huya-Kouadio
31712cc9e7
Address slow copy performance when using the FileAccessFilesystemJAndroid
implementation.
...
Read/write ops for this implementation are done through the java layer via jni, and so for good performance, it's key to avoid numerous repeated small read/write ops due the jni overhead.
The alternative is to allocate a (conversatively-sized) large buffer to reduce the number of read/write ops over the jni boundary.
2022-07-21 09:06:29 -07:00
Rémi Verschelde
d6b1dd4854
Merge pull request #63128 from cdemirer/fix-callable-comparator-error-message-argcount
2022-07-21 16:50:39 +02:00
bruvzg
8823eae328
Rename OSX to macOS and iPhoneOS to iOS.
2022-07-21 09:37:52 +03:00
David Snopek
f8137ce6c1
Allow extending MultiplayerPeerExtension from GDScript
2022-07-20 18:19:05 -05:00
Fabio Alessandrelli
ddee5f6050
Add peer visibility to MultiplayerSynchronizer.
...
MultiplayerSynchronizers can now be configured to limit their visibility
to a subset of the connected peers, if the synchronized node was spawned
by a MultiplayerSpawner (either automatically or via custom spawn) the
given node will also be despawned remotely.
The replication system doesn't have the logic to handle subspawn
directly, but it is possible to handle them appropriately by manually
updating the visibility of the parent before changing the one of the
nested spawns via the "update_visibility" function.
The visibility of each MultiplayerSynchronizer can be controlled by
adding or remove filters via "[add|remove]_visibility_filter(callable)".
To further optimize the network code, visibility filters can be configured
to be automatically updated during idle or physics frame, or set to always
require manual update (via the "update_visibility" function).
2022-07-20 19:08:35 +02:00
Rémi Verschelde
e37525896e
Merge pull request #63190 from fabriceci/fix-calculation-angular-velocity
2022-07-19 17:14:20 +02:00
Rémi Verschelde
cce330bda5
Merge pull request #63187 from RandomShaper/fix_atomic_cmp_exchange
2022-07-19 17:09:59 +02:00
Rémi Verschelde
eea14a0edc
Merge pull request #63005 from Chaosus/image_rotate
...
Implement `rotate_90/rotate_180` functions to `Image`
2022-07-19 15:21:16 +02:00
fabriceci
db7c91e0ad
Fix the calculation of the angular velocity when the rotation speed is not high.
2022-07-19 10:27:13 +02:00
Pedro J. Estébanez
02a584d8e6
Use the right memory ordering in SafeNumeric operations
2022-07-19 10:04:59 +02:00
FireForge
84431bd782
Use integer types in Image and ImageTexture methods
...
- Image.blit_rect()
- Image.blit_rect_mask()
- Image.blend_rect()
- Image.blend_rect_mask()
- Image.fill_rect()
- Image.get_used_rect()
- Image.get_rect()
- ImageTexture.set_size_override()
2022-07-18 19:43:32 -05:00
Rémi Verschelde
b70e4fc0f3
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@880abd09c9
2022-07-18 15:42:48 +02:00
cdemirer
dae5edf41c
Fix the argcount when generating error message for CallableComparator
2022-07-18 00:57:20 +03:00
Emmanouil Papadeas
38b51942d6
Fix InputEventAction
's is_action
method ignoring exact_match
parameter
2022-07-17 17:20:37 +03:00
basta
3e664b4e29
Changed bool to GdNativeBool
2022-07-16 18:09:36 +02:00
Fabian Keller
2bf9e6090c
rename translate(d) to translate(d)_local in Transform 2D/3D
2022-07-16 11:47:54 +02:00
Yuri Rubinsky
7e66903d56
Implement rotate_90/rotate_180
functions to Image
2022-07-15 11:50:42 +03:00
bruvzg
cbe3a2dcb7
Use BitField hint for the TextServer enums. Add missing parts for BitField support to the GDextension API.
2022-07-15 08:49:50 +03:00
kobewi
2f777b9a1e
Remove unused hints
2022-07-12 00:44:13 +02:00
Samuele Zolfanelli
e27c5acedd
Make Image.get_size() return a Vector2i instead of a Vector2
2022-07-09 22:05:58 +02:00
kobewi
d2900429e8
Add static methods for creating Image and ImageTexture
2022-07-08 13:40:47 +02:00
Rémi Verschelde
95ddc8cccc
Merge pull request #62808 from bruvzg/macos_file_url_handle
2022-07-07 12:57:36 +02:00
Rémi Verschelde
1e553e34fb
Merge pull request #62108 from bruvzg/font_config_v3
2022-07-07 12:22:49 +02:00
bruvzg
238ac2fdd5
[macOS] Improve file association handling, and allow URL schema handling.
2022-07-07 12:11:31 +03:00
bruvzg
0c5431644d
Allows parsing of invalid UTF-16 surrogates (can be encountered in Windows filenames) and some non-standard UTF-8 variants, makes Unicode parse errors more verbose.
2022-07-07 11:07:18 +03:00
Rémi Verschelde
e004412edd
Merge pull request #62776 from lawnjelly/remove_octree
2022-07-06 15:40:26 +02:00
Rémi Verschelde
635d447a69
Merge pull request #62713 from YuriSizov/docs-scripting-annotations
2022-07-06 15:31:19 +02:00
lawnjelly
1f69666209
Remove Octree
...
Octree is no longer used in 4.x.
2022-07-06 14:10:05 +01:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources.
2022-07-06 14:12:36 +03:00
reduz
5ac42cf576
Implement a BitField hint
...
Allows to specify the binder that an enum must be treated as a bitfield.
2022-07-05 22:13:37 +02:00
Rémi Verschelde
4e7223ce49
Merge pull request #62459 from m4gr3d/refactor_android_storage_handling_main
2022-07-05 12:44:55 +02:00
Fredia Huya-Kouadio
f9c19298ce
Add full support for Android scoped storage.
...
This was done by refactoring directory and file access handling for the Android platform so that any general filesystem access type go through the Android layer.
This allows us to validate whether the access is unrestricted, or whether it falls under scoped storage and thus act appropriately.
2022-07-05 03:00:37 -07:00
kobewi
415c7dda37
Implement XMLParser.get_current_line()
2022-07-05 01:23:04 +02:00
Rémi Verschelde
344b42703b
Merge pull request #62212 from hansemro/eraser-detect-4
...
Add inversion/eraser-end property for tablet pens
2022-07-04 21:48:19 +02:00
Hansem Ro
6dcc9d1131
[macOS, Windows, X11] Add stylus inverted/eraser support to
...
InputEventMouseMotion event
2022-07-04 10:36:53 -07:00
Yuri Sizov
a9098e6147
Add support for documenting built-in annotations
2022-07-04 20:21:39 +03:00
lawnjelly
b221eab426
Variant memory pools
...
Memory pools via PagedAllocator for Transform2D, Transform3D, Basis and AABB.
2022-07-04 12:01:46 +01:00
cdemirer
0ccde38668
Expression built-in functions can also be considered as identifiers in subscripts
2022-07-04 13:25:43 +03:00
bruvzg
329923c6ac
Use custom key structs, instead of raw hashes for the Label3D and TextMesh, to avoid potential hash collisions.
2022-07-04 09:47:49 +03:00
Rémi Verschelde
00b3822306
Input: Re-enable input accumulation by default
...
I turned it off by mistake in #38697 .
See also #62664 for details on this boolean's complex history :)
2022-07-03 12:16:16 +02:00
Rémi Verschelde
a2459c7d35
Merge pull request #61610 from TokageItLab/importer-retarget-registered-gdhumanoid
2022-07-02 00:17:21 +02:00
Rémi Verschelde
56e50f91d3
Merge pull request #62589 from KoBeWi/custom_threads
2022-07-01 13:46:50 +02:00
kobewi
7d5c943202
Handle custom Callables in Thread.start()
2022-07-01 13:11:31 +02:00
bruvzg
b767d2e0fd
Add arch flag to assembler to fix build on ARM64 macOS / iOS.
2022-07-01 12:44:23 +03:00
Rémi Verschelde
88192269a8
Merge pull request #62477 from lyuma/packedbytearray
...
Prevent out-of-bounds write in array conversion; avoid logspam on empty arrays.
2022-07-01 09:03:20 +02:00
Lyuma
33fd7c63e1
Prevent out-of-bounds write in array conversion; avoid logspam on empty arrays.
2022-06-30 18:04:33 -07:00
Rémi Verschelde
0800d475a4
Merge pull request #62540 from MinusKube/debugger-array-crash
...
Add/fix support for RID, Callable and Signal in editor properties
2022-06-30 23:04:08 +02:00
Voylin
cebdfd1bbd
Fixing Print_rich which only displays correctly in terminal
...
There was an issue that the type was not passed through correctly. These couple of lines fix this issue and make print_rich work as expected.
2022-07-01 04:34:19 +09:00
Silc Renew
dc43cfc830
implement bone renamer in importer
2022-07-01 03:55:28 +09:00
MinusKube
f67891fcd1
Add serialization for RID and Signal
2022-06-30 17:39:01 +02:00
Rémi Verschelde
c83084fccb
Errors: Fallback to fprintf
if OS
singleton doesn't exist
...
Otherwise we would crash if something prints an error before init or
after destruction of the `OS` singleton which handles printing/logging.
2022-06-30 16:00:30 +02:00
Rémi Verschelde
daa055d479
Merge pull request #61867 from Bromeon/refactor/property-info
2022-06-30 15:45:31 +02:00
Rémi Verschelde
c5ad34d6cd
Merge pull request #61096 from leogeier/expose-adding-resource-loaders-savers
2022-06-30 15:02:05 +02:00
TechnoPorg
9961881b98
Remove SceneTree dependency from LocalDebugger
...
Core classes should not have dependencies on scene classes.
2022-06-29 19:49:27 -06:00
leogeier
359f7fc51f
Exposes methods for adding and removing ResourceFormatLoaders and -Savers in the ClassDB
2022-06-29 21:38:20 +02:00
Jan Haller
60ffadd133
GDExtension: reuse code with constructor PropertyInfo(const GDNativePropertyInfo&)
2022-06-29 19:30:01 +02:00
Rémi Verschelde
b730d2ee09
Merge pull request #60675 from voylin/Add-BBCode-support-for-printing-output
...
Adding print_rich() for printing with BBCode
2022-06-28 23:35:53 +02:00
Rémi Verschelde
8cd6127cb8
Merge pull request #59167 from akien-mga/zstd-1.5.2
...
zstd: Update to upstream version 1.5.2
2022-06-28 19:13:17 +02:00
Voylin
c6291bcd8a
Adding print_rich for printing with BBCode
2022-06-29 00:41:29 +09:00
Rémi Verschelde
622b656c40
Merge pull request #53135 from briansemrau/fix-ref-leak
2022-06-28 17:26:44 +02:00
Marco F
0efa5d4cbd
Input: Make get_action_raw_strength
print error when the action doesn't exist
2022-06-28 15:58:26 +02:00
Rémi Verschelde
39ed39900e
zstd: Update to upstream version 1.5.2
...
Release notes:
- https://github.com/facebook/zstd/releases/tag/v1.5.1
- https://github.com/facebook/zstd/releases/tag/v1.5.2
2022-06-28 14:10:07 +02:00
Pedro J. Estébanez
a82352c7e3
Avoid manual memory management of certain arrays in Vulkan RD
2022-06-28 10:01:46 +02:00
Rémi Verschelde
b863c40356
Merge pull request #62468 from V-Sekai/core-const-expressions
...
Add a const call mode to Object, Variant and Script.
2022-06-28 01:08:24 +02:00
Rémi Verschelde
8fd0b4d1f8
Merge pull request #62449 from Chaosus/wrap_func
...
Add generalized version of `wrap` function
2022-06-27 23:28:37 +02:00
Rémi Verschelde
c4a426d6ec
Merge pull request #62462 from vnen/gdscript-setter-chaining
...
GDScript: Fix setter being called in chains for shared types
2022-06-27 23:25:53 +02:00
Rémi Verschelde
25baa32db0
Merge pull request #62458 from Geometror/interpolation-function-cleanup
...
Refactor Bezier interpolation functions
2022-06-27 23:25:33 +02:00
K. S. Ernest (iFire) Lee
9ddebc0c22
Add a const call mode to Object, Variant and Script.
...
For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script).
This mode ensures only const functions can be called, making it safe to use from the editor.
Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-27 13:33:06 -07:00
Rémi Verschelde
c79aad0257
Merge pull request #62396 from reduz/fix-local-vector-transitions-in-node3d
...
Fix VECTOR/LOCAL transitions in Node3D
2022-06-27 21:45:02 +02:00
Hendrik Brucker
99ce0df3b1
Refactor bezier interpolation functions
2022-06-27 19:42:43 +02:00
George Marques
511a4b761c
GDScript: Fix setter being called in chains for shared types
...
When a type is shared (i.e. passed by reference) it doesn't need to be
called in a setter chain (e.g. `a.b.c = 0`) since it will be updated in
place.
This commit adds an instruction that jumps when the value is shared so
it can be used to skip those cases and avoid redundant calls of setters.
It also solves issues when assigning to sub-properties of read-only
properties.
2022-06-27 12:09:51 -03:00
Yuri Rubinsky
2476c50a66
Add generalized version of wrap
function
2022-06-27 16:11:21 +03:00
reduz
7acf697479
Fix VECTOR/LOCAL transitions in Node3D
...
Fixes #62225 , supersedes #62227
2022-06-27 13:45:35 +02:00
Rémi Verschelde
fbc3777467
Merge pull request #62185 from reduz/export-node-pointer-path
...
Add ability to export Node pointers as NodePaths
2022-06-27 11:14:36 +02:00
reduz
b7c41f9ba1
Add ability to export Node pointers as NodePaths
...
This PR implements:
* A new hint: PROPERTY_HINT_NODE_TYPE for variant type OBJECT, which can take specific node types as hint string.
* The editor will show it as a node path, but will set it as a pointer to a node from the current scene if you select a path.
* When scene is saved, the node path is saved, then restored as a pointer.
NOTE: This is a proof of concept and this approach will most likely not work. The reason if that, if the node referenced is deleted, then when trying to edit this the node will become invalid.
Potential workarounds: Since this uses the Variant API, it should obtain the pointer from the Variant object ID. Yet, this would either only really work in GDScript or it would need to be implemented with workarounds in every language.
Alternative ways to make this work: Nodes could export an additional property with a node path (like for which_node, it could be which_node_path).
Another alternative: Path editing could happen as a hidden metadata (ignoring the pointer).
2022-06-25 15:50:15 +02:00
Rémi Verschelde
b192073001
Merge pull request #62309 from reduz/remake-resource-thread-safety
...
Remake ResourceCache thread safety code and API
2022-06-25 14:09:28 +02:00
Marcus Elg
6c1ac9f3be
Rename export_range's noslider option to no_slider
2022-06-24 10:45:34 +02:00
K. S. Ernest (iFire) Lee
42f7f0894e
Restore the openexr grayscale property.
2022-06-23 21:10:59 -07:00
Rémi Verschelde
ecf187705e
Merge pull request #62238 from V-Sekai/openexr-buffer
...
For in-engine processing allow saving openexr to a buffer.
2022-06-24 00:12:16 +02:00
Rémi Verschelde
2a0393e222
Merge pull request #60356 from piiertho/feature/add-core-types-enum-description-to-extention-api-json
...
Add core types enums description to extension api json
2022-06-23 22:52:03 +02:00
Rémi Verschelde
7e075fc482
Merge pull request #62327 from Geometror/hash-containers-fastmod-optimization
...
HashMap/HashSet optimization: fast modulo
2022-06-23 22:50:19 +02:00
Rémi Verschelde
471050e6a7
Merge pull request #62342 from reduz/methodinfo-varargs
...
Implement varargs in Methodinfo
2022-06-23 22:49:16 +02:00
Pierre-Thomas Meisels
c28936ba6d
Add core types enums description to extension api json
2022-06-23 19:19:22 +02:00
Hendrik Brucker
fddafed919
Optimize HashMap/HashSet using fastmod
2022-06-23 18:08:52 +02:00
K. S. Ernest (iFire) Lee
ce42ee790c
For in-engine processing allow saving openexr to a buffer.
2022-06-23 08:53:15 -07:00
Rémi Verschelde
1c54057933
Merge pull request #62326 from KoBeWi/userbind
2022-06-23 15:15:41 +02:00
reduz
dd8c0522a6
Implement varargs in Methodinfo
...
Variadic templates are an awful thing. Implements #62233 using them in MethodInfo so less changes are required.
2022-06-23 14:50:38 +02:00
kobewi
a6f0aba43d
Remove userdata from Thread.start()
2022-06-23 12:50:28 +02:00
reduz
3d1ab570b9
Add surface indices to TriangleMesh
...
Helps unblock #56597
2022-06-22 21:48:23 +02:00
reduz
e772b65d92
Remake resource thread safety and API
...
* Ensures thread safety when resources are destroyed.
* Simplified API by always forcing `ResourceCache::get_ref`, which needs less hacks and is fully thread safe.
* Removed RWLock for resources because its not possible to use for the new logic. Should not be a problem.
Supersedes #57533
2022-06-22 13:46:46 +02:00
Aaron Franke
8f05bd97b5
Add support for saving WebP images
2022-06-21 08:27:51 -05:00
Rémi Verschelde
40c360b870
Merge pull request #62122 from reduz/implement-movie-writer
...
Implement a Movie Maker mode
2022-06-21 14:24:14 +02:00
reduz
5786516d4d
Implement Running Godot as Movie Writer
...
* Allows running the game in "movie writer" mode.
* It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time).
* If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult.
* Implements a simple, default MJPEG writer.
This new features has two main use cases, which have high demand:
* Saving game videos in high quality and ensuring the frame rate is *completely* stable, always.
* Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this).
**Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly).
Usage:
$ godot --write-movie movie.avi [scene_file.tscn]
Missing:
* Options for configuring video writing via GLOBAL_DEF
* UI Menu for launching with this mode from the editor.
* Add to list of command line options.
* Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
2022-06-21 11:28:47 +02:00
Juan Linietsky
15837ec191
Revert "Disable VRAM compression by default for small textures in Detect 3D"
2022-06-20 15:30:19 +02:00
reduz
141c375581
Clean up Hash Functions
...
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
2022-06-20 12:54:19 +02:00
Yuri Rubinsky
747ff071cd
Merge pull request #62210 from MarcusElg/autocomplete-noslider
2022-06-19 19:30:50 +03:00
Marcus Elg
46bbbd9770
Allow autocompletion of "noslider" in export_range
2022-06-19 17:11:49 +02:00
Jan Haller
d2dba74bae
GDExtension: print error messages for different error paths during loading
2022-06-19 10:14:41 +02:00
Rémi Verschelde
d572d3d2ab
Merge pull request #62156 from madmiraal/fix-61457
...
Ensure AudioFrame variables l and r are always initialised
2022-06-17 22:38:57 +02:00
Rémi Verschelde
0daa868ab4
Merge pull request #62023 from Calinou/detect-3d-small-textures-no-vram-compress
...
Disable VRAM compression by default for small textures in Detect 3D
2022-06-17 21:07:04 +02:00
Rémi Verschelde
dd93ae63fa
Merge pull request #61991 from bruvzg/property_shortcut
...
Make enum/constant binds 64-bit.
2022-06-17 21:05:51 +02:00
Marcel Admiraal
d3f0994572
Ensure AudioFrame variables l and r are always initialised
2022-06-17 17:36:11 +01:00
bruvzg
860e24683f
Make enum/constant binds 64-bit.
2022-06-17 16:36:26 +03:00
Ellen Poe
d384d84f45
Audio: Expose 2D/3D panning strength parameters
2022-06-17 13:08:48 +02:00
gregcsokas
42e619c01e
Adding function key support from F17 to F35
...
OSX supports everything by default,
Linux is also capable of supporting every function key,
Windows as I know support only up to F24
2022-06-16 19:38:21 +02:00
Yuri Rubinsky
4be41a9a97
Remove redundand header from a_star.h
2022-06-16 17:23:08 +03:00
Yuri Rubinsky
7da2a21425
Make AStar to use 64-bit logic
2022-06-16 16:43:41 +03:00
Rémi Verschelde
1ad6fade00
Merge pull request #58669 from theraot/ASar2Dbidirectional
...
AStar2D bidirectional
2022-06-16 12:46:51 +02:00
Pedro J. Estébanez
fb86430770
Validate every source element separately Array::append_array()
2022-06-15 20:36:20 +02:00
Rémi Verschelde
cc6b2f4287
Merge pull request #61812 from Chaosus/fix_wrapf
2022-06-15 15:27:57 +02:00
Rémi Verschelde
632b933a03
Merge pull request #61934 from Geometror/hashfuncs
...
Hash function improvements
2022-06-15 07:34:43 +02:00
Hendrik Brucker
8c61470fa9
Hash function improvements
2022-06-15 00:32:10 +02:00
Rémi Verschelde
5b759ff160
Merge pull request #62030 from KoBeWi/SetName/GetName
2022-06-14 18:23:39 +02:00
kobewi
a3a029d4c6
Change set/get binding to use StringName
2022-06-14 16:27:33 +02:00
kobewi
5553e27fe8
Add vector value linking
...
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
2022-06-14 14:58:44 +02:00
Hugo Locurcio
04d5626bc0
Disable VRAM compression by default for small textures in Detect 3D
...
This is done to prevent reducing texture quality when it doesn't save
much video memory, especially for pixel art.
The size threshold can be adjusted in the project settings.
To get the previous behavior where textures detected to be used in 3D
had their compression mode always set to VRAM, set this to the lowest value
(16).
2022-06-14 13:08:20 +02:00
Haoyu Qiu
6f38c21253
Fix parameter name for String.left and String.right
2022-06-12 16:34:44 +08:00
Rémi Verschelde
d4235f51b1
Merge pull request #61949 from touilleMan/native_extension_open_library_handle_initialization_error
...
Fix NativeExtension::open_library return value when the undelying lib fails to initialize
2022-06-12 08:49:19 +02:00
Emmanuel Leblond
228ce1d2b6
Fix NativeExtension::open_library return value when the undelying lib fails to initialize
2022-06-12 00:18:08 +02:00
FireForge
4678736a39
Add suffixes to all nodes and resources
2022-06-11 09:41:05 -05:00
Yuri Rubinsky
09418afbc0
Fix wrapf
to correct wrap values with 0.1 stepping
2022-06-08 17:11:55 +03:00
xutaxkamay
bcdfa89ca5
Fix (again) loading binary resources with float=64
...
I had an error while importing my GLB file from 32-bit precision
floating point,
I guess this was forgotten while implementing 64-bit precision floating
point.
I'm not sure if there's any other left to do though.
2022-06-08 15:02:12 +02:00
Rémi Verschelde
c8ce7e34e2
i18n: Misc fixes translation strings
...
Adds some translator comments to solve some questions raised on Weblate.
2022-06-08 12:57:54 +02:00
Rémi Verschelde
5ebdfc31b2
Merge pull request #61319 from JFonS/taa_wip
...
Initial TAA implementation
2022-06-07 20:53:55 +02:00
Rémi Verschelde
e136f4741c
Merge pull request #41568 from dalexeev/config_file_empty_sect
...
Fix saving section-less keys in `ConfigFile`
2022-06-07 20:53:38 +02:00
Rémi Verschelde
d52a79ad22
Merge pull request #59786 from V-Sekai/ok_color
...
Allow picking similar colours using OKHSL.
2022-06-07 20:52:32 +02:00
sps1112
1f361b0367
Bind vararg method flag in core constants
2022-06-07 17:06:34 +02:00
Danil Alexeev
1ca227af1d
Fix saving section-less keys in ConfigFile
2022-06-07 18:05:49 +03:00
Rémi Verschelde
e24e4935ff
Merge pull request #61751 from KoBeWi/ 🐱 👤
2022-06-07 16:02:16 +02:00
Rémi Verschelde
3f8d86b076
Merge pull request #50349 from Calinou/array-add-some-every
...
Add `any()` and `all()` methods to Array
2022-06-07 15:15:22 +02:00
K. S. Ernest (iFire) Lee
1b776a6e7a
Allow picking similar colours using OKHSL.
2022-06-07 05:53:27 -07:00
kobewi
83014f8901
Add GLOBAL_DEF_INTERNAL to hide specific settings
2022-06-07 14:14:03 +02:00
jfons
ba832d83b2
Initial TAA implementation
...
Initial TAA support based on the implementation in Spartan Engine.
Motion vectors are correctly generated for camera and mesh movement, but there is no support for other things like particles or skeleton deformations.
2022-06-07 13:14:44 +02:00
Rémi Verschelde
83421cd06f
Merge pull request #59883 from KoBeWi/merge_this
2022-06-06 23:38:29 +02:00
Aaron Franke
357af68e03
Improve architectures in OS::has_feature and make them work on MSVC
2022-06-06 10:11:00 -05:00
bruvzg
b3bbf3db47
[GDExtension] Expose Variant, NodePath and StringName hash functions.
2022-06-06 12:19:56 +03:00
Rémi Verschelde
ecde7ce834
Merge pull request #61669 from fire-forge/input
...
Make Input `mouse_mode` and `use_accumulated_input` properties
2022-06-04 15:52:34 +02:00
FireForge
f16c33fff6
Make Input mouse_mode and use_accumulated_input properties
2022-06-03 14:19:38 -05:00
Raul Santos
3e53afd52c
Add array element type to get_connected_joypads
2022-06-03 20:37:46 +02:00
George Marques
887e292210
Add StringName explicitly to Variant::hash_compare
...
This makes equality comparisons to StringName more performant
2022-06-03 11:51:46 +02:00
Haoyu Qiu
83990c2161
Fix String.uri_encode
on Windows
2022-06-03 13:58:57 +08:00
Fabio Alessandrelli
70c2b4bebd
Merge pull request #60711 from nathanfranke/rpc-server
...
network - finish renaming AUTH to AUTHORITY
2022-06-02 11:07:41 +02:00
Rémi Verschelde
6cd730ea98
Merge pull request #61339 from lyuma/streampeerssl_get_stream
2022-06-02 00:27:07 +02:00
kobewi
a0915e6dee
Add Dictionary.merge()
2022-05-31 21:05:56 +02:00
Lyuma
7e28385948
Add StreamPeerSSL.get_stream() accessor.
2022-05-25 12:43:19 -07:00
Nathan Franke
f464caf214
finish renaming AUTH to AUTHORITY
2022-05-25 14:31:46 -05:00
Nathan Franke
77c8f271e7
use ERR_FAIL_INDEX when preferred
2022-05-25 13:36:45 -05:00
Hugo Locurcio
a98e31aa3a
Add any()
and all()
methods to Array
...
These can be used as faster, more convenient shorthands to
using `filter()` + `size()`.
2022-05-25 16:09:10 +02:00
Rémi Verschelde
3555b970bf
Merge pull request #61256 from reduz/callable-mp-static
...
Add callable_mp_static
2022-05-24 08:08:27 +02:00
Rémi Verschelde
9923851370
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
2022-05-23 21:32:19 +02:00
reduz
4177e5c7c7
Add callable_mp_static
...
Allows using a static (C) function as a callable.
2022-05-22 15:36:34 +02:00
reduz
45af29da80
Add a new HashSet template
...
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Hugo Locurcio
7b5bf3af19
Tweak 64-bit integer overflow message to mention that it's a signed type
2022-05-20 14:12:09 +02:00
Aaron Record
900c676b02
Use range iterators for RBSet in most cases
2022-05-19 12:09:16 +02:00
Haoyu Qiu
fc3b845c07
Add dedicated macros for property name extraction
...
* Replace case-by-case extraction with PNAME & GNAME
* Fix group handling when group hint begins with property name
* Exclude properties that are PROPERTY_USAGE_NO_EDITOR
* Extract missing ADD_ARRAY*, ADD_SUBGROUP* macros
2022-05-19 14:08:47 +08:00
George Marques
023b1d7f5a
Implement read-only arrays
...
Arrays can be set as read-only and thus cannot be modified. Assigning
the array will create an editable copy.
Similar to is already done to read-only dictionaries.
2022-05-17 14:14:42 -03:00
Rémi Verschelde
7ea8cde983
Merge pull request #61110 from rburing/project_settings_use_rbmap
2022-05-17 16:20:41 +02:00
Rémi Verschelde
35004aea48
Merge pull request #61087 from reduz/readonly-dictionary
...
Implement read-only dictionaries.
2022-05-17 15:11:48 +02:00
Ricardo Buring
9d9b50855c
ProjectSettings: use RBMap again instead of HashMap
...
This fixes corruption of project.godot and failure to load global classes.
2022-05-17 14:49:58 +02:00
Haoyu Qiu
3094e739f5
Create onready variables when dropping nodes and holding Ctrl
2022-05-17 11:51:22 +08:00
reduz
e6c443a353
Implement read-only dictionaries.
...
* Add ability to set them read only.
* If read-only, it can't be modified.
This is added in order to optionally make const dictionaries (and eventually arrays) properly read-only in GDScript.
2022-05-16 23:31:46 +02:00
Rémi Verschelde
d6edc6d18a
Merge pull request #60126 from Calinou/image-improve-error-messages
2022-05-16 15:02:49 +02:00
reduz
746dddc067
Replace most uses of Map by HashMap
...
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Hugo Locurcio
a581908ea0
Add documentation comments for internationalization C++ macros
2022-05-12 22:50:28 +02:00
Rémi Verschelde
ff30a09993
Merge pull request #60643 from clayjohn/GLES3-3D
2022-05-12 21:08:02 +02:00
clayjohn
652adcd5bf
Basic 3D rendering
2022-05-12 10:37:27 -07:00
Rémi Verschelde
f5978f4d97
Merge pull request #60972 from KoBeWi/display_port
2022-05-12 18:13:09 +02:00
kobewi
739242dd04
Move Display settings higher in the list
2022-05-12 16:38:59 +02:00
Yuri Rubinsky
a439832035
Fix signal completion in GDScript editor
2022-05-12 16:10:48 +03:00
reduz
8b7c7f5a75
Add a new HashMap implementation
...
Adds a new, cleaned up, HashMap implementation.
* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing ).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).
This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
Rémi Verschelde
2fd73bd32e
Merge pull request #60943 from bruvzg/fix_zipio
2022-05-11 16:59:31 +02:00
Rémi Verschelde
d68c355145
Merge pull request #58873 from Chaosus/power_op
...
Implement exponential operator (**) to GDScript/Expressions
2022-05-11 16:58:33 +02:00
Rémi Verschelde
0b0beae097
Merge pull request #60941 from timothyqiu/image-convert
...
Fix invalid memory usage when using `Image.convert`
2022-05-11 16:54:13 +02:00
Rémi Verschelde
b5689309f6
Merge pull request #56167 from cdemirer/constructor-toarray-fix
2022-05-11 15:47:06 +02:00
Yuri Roubinsky
dbd7a31507
Implement exponential operator (**) to GDScript/Expressions
2022-05-11 16:30:37 +03:00
bruvzg
d36c5514d3
Fix ZipIO crash when reused (and possible leaks).
2022-05-11 16:08:17 +03:00
Haoyu Qiu
34c1a2beaa
Fix invalid memory usage when using Image.convert
2022-05-11 17:39:27 +08:00
Rémi Verschelde
edf61c077c
Merge pull request #60917 from akien-mga/ci-emscripten-3.1.10
2022-05-10 15:08:32 +02:00
Rémi Verschelde
cc66d5e173
Merge pull request #60855 from timothyqiu/packed-array-find
...
Add search methods for packed arrays
2022-05-10 13:39:55 +02:00
Rémi Verschelde
b9b78fdaee
Merge pull request #55876 from bradc6/feature/AllowForAbsoluteLibraryPaths
2022-05-10 13:38:41 +02:00
Rémi Verschelde
d8935b27a9
Fix warnings found by Emscripten 3.1.10
...
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.
2022-05-10 13:03:13 +02:00
Rémi Verschelde
943b509952
Merge pull request #60886 from touilleMan/gdextension-header-duplicated-GDNativeExtensionClassGetPropertyList
...
Fix duplication of GDNativeExtensionClassGetPropertyList definition in gdnative_interface.h
2022-05-08 19:54:12 +02:00
Emmanuel Leblond
f3a8574ede
Fix duplication of GDNativeExtensionClassGetPropertyList definition in gdnative_interface.h
2022-05-08 14:41:31 +02:00
Emmanuel Leblond
2bdeed156f
Fix extension_api.json builtin_class_member_offsets member names for Color
2022-05-08 11:33:43 +02:00
Haoyu Qiu
380a53f02f
Add search methods for packed arrays
...
* count()
* find()
* rfind()
2022-05-07 20:16:11 +08:00
bruvzg
70755d873b
[GDExtension] Fix static method binds and default arguments.
2022-05-06 10:06:12 +03:00
Rémi Verschelde
f4ece7e736
Merge pull request #60609 from nathanfranke/string-quotes
2022-05-06 08:59:08 +02:00
Rémi Verschelde
f70dd61a49
Merge pull request #60811 from smix8/astar_zero_point_weight_4.x
2022-05-06 08:40:12 +02:00
Rémi Verschelde
f70085a942
Merge pull request #60802 from Calinou/profiler-idle-time-rename
2022-05-06 08:28:59 +02:00
smix8
868fe4942c
Allow AStar2D/AStar3D zero point weight
...
Allow AStar2D/AStar3D zero point weight.
Limit was set to 1 which seemed like an arbitrary value as lower values down to zero can be useful for common gameplay navigation elements like teleports.
2022-05-06 02:33:10 +02:00
kobewi
1dc7bcc83c
Cleanup metadata usage
2022-05-06 00:27:10 +02:00
Hugo Locurcio
79be2c7b75
Rename profiler "Idle Time" to "Process Time"
...
References to "idle time" are progressively being replaced by
"process time" throughout the engine to avoid confusion.
2022-05-05 20:23:47 +02:00
Nicholas Huelin
8409d92282
Fix inconsistent naming in Time
2022-05-05 16:00:37 +02:00
Rémi Verschelde
71e41eb395
Merge pull request #60597 from reduz/missing-node-resource-placeholders
2022-05-05 15:57:50 +02:00
Rémi Verschelde
ccef98441e
Merge pull request #60784 from akien-mga/faire-phi-des-anglois
2022-05-05 15:25:30 +02:00
Rémi Verschelde
e7a58a7eb6
Core: Rename math 'phi' arguments to 'angle'
2022-05-05 14:17:39 +02:00
Rémi Verschelde
30fbb8964d
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@b7d126eb71
2022-05-05 14:12:55 +02:00
Rémi Verschelde
192499c743
Merge pull request #48989 from MarioLiebisch/variant-comment-line-breaks
...
Properly increase line counter when parsing comments
2022-05-05 13:41:08 +02:00
Fabio Alessandrelli
e5137fafbe
[Net] Fix StreamPeerTCP accepted status.
2022-05-04 20:13:32 +02:00
Rémi Verschelde
84f64ddde9
Merge pull request #60723 from reduz/refactor-module-initialization
2022-05-04 19:08:43 +02:00
reduz
de0ca3b999
Refactor module initialization
...
* Changed to use the same stages as extensions.
* Makes the initialization more coherent, helping solve problems due to lack of stages.
* Makes it easier to port between module and extension.
* removed the DRIVER initialization level (no longer needed).
2022-05-04 17:34:51 +02:00
mdavisprog
f3c1232c59
Add OS::is_process_running function.
...
Adds the is_process_running function to the native OS class and exposes it to script.
This is implemented on Windows and Unix platforms. A stub is provided for other platforms that do not support this function.
Documentation is updated to reflect new API function.
2022-05-03 17:27:17 -07:00
Nathan Franke
58fcad20ef
quote strings inside arrays and dictionaries
2022-05-03 13:37:13 -05:00
reduz
0a57f964a3
Implement missing Node & Resource placeholders
...
Implemented by request of @neikeq to advance in the GDExtension version of Mono.
* If a Resource type is missing upon load, it will be remembered together with its data (Unless manually overriden).
* If a Node type is missing upon load, it will be also be remembered together with its data (unless deleted).
This feature makes working with GDExtension much easier, as it ensures that missing types no longer cause data loss.
2022-05-03 17:08:09 +02:00
Aaron Franke
fa7a7795f0
Rename Basis get_axis to get_column, remove redundant methods
2022-05-03 09:37:47 -05:00
Rémi Verschelde
931838b330
Merge pull request #60627 from aaronfranke/rename-elements
...
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
2022-05-03 14:40:01 +02:00
Rémi Verschelde
297241f368
Merge pull request #60714 from Calinou/typedef-remove-ref
...
Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
2022-05-03 14:28:18 +02:00
Rémi Verschelde
c9ce4069a3
Merge pull request #60601 from touilleMan/gdextension_get_library_path
...
Add GDNativeInterface::get_library_path to GDExtension
2022-05-03 08:13:34 +02:00
Hugo Locurcio
180e5d3028
Remove RES
and REF
typedefs in favor of spelled out Ref<>
...
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Rémi Verschelde
78193788d0
Merge pull request #59895 from akien-mga/clang-tidy
2022-05-02 17:45:13 +02:00
Rémi Verschelde
c273ddc3ee
Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
...
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.
Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.
Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
bruvzg
7b18c35ab2
Fix resource dependence renaming.
2022-05-02 16:38:09 +03:00
Haoyu Qiu
ad1a8777bd
Fix left aligned integer sign in string formatting
2022-05-01 12:42:48 +08:00
Rémi Verschelde
db29d7753b
Merge pull request #60556 from KoBeWi/D_METHOD1,D_METHOD2,D_METHOD3,D_METHOD4,D_METHOD5,D_METHOD6,D_METHOD7,D_METHOD8,D_METHOD9,D_METHOD10
2022-04-30 18:51:30 +02:00
kobewi
6f0b63f794
Change D_METHOD to variadic template
2022-04-30 17:30:33 +02:00
kobewi
7f0bc91844
Simplify Callable error text methods
2022-04-30 13:42:26 +02:00
Aaron Franke
1bf94dff3a
Rename Basis "elements" to "rows"
2022-04-29 08:02:56 -05:00
Aaron Franke
b831fb0a54
Rename Transform2D "elements" to "columns"
2022-04-29 08:02:39 -05:00
Emmanuel Leblond
80f61352fb
Add GDNativeInterface::get_library_path to GDExtension
2022-04-29 00:51:04 +02:00