Rémi Verschelde
f3e1aab267
Math: Prevent division by zero in posmod
...
Fixes #43932 .
Co-authored-by: David Hoppenbrouwers <david@salt-inc.org>
(cherry picked from commit f011d8ca9ca25232fb335eead1c8eeaf5c7f2c54)
2023-03-12 15:43:52 +01:00
lawnjelly
4684c72b92
BVH - fix lockguards for multithread mode
...
Due to a lack of variable name, the BVH lock guards lifetimes previously did not cover the whole function call.
2023-03-12 14:20:02 +01:00
c356806ebf
Ported: Extract Syntax highlighting from TextEdit and add EditorSyntaxHighlighter
...
- Extacted all syntax highlighting code from text edit
- Removed enable syntax highlighting from text edit
- Added line_edited_from signal to text_edit
- Renamed get/set_syntax_highlighting to get/set_syntax_highlighter
- Added EditorSyntaxHighligher
- Paulb23
bc4cee4458
2023-02-21 01:30:59 +01:00
79842beb9a
Ported: Expose OS.read_string_from_stdin() to the scripting API
...
This can be used in scripts to read user input in a blocking manner.
This also removes the unused `block` argument, which is always `true`.
- Calinou
badcfa2523
2023-02-07 01:07:31 +01:00
d999f63cbd
Cleanups and codestyle for the godot4 containers that I added in unmodified yesterday.
2023-01-16 22:09:32 +01:00
5579d563bd
Ported: Fix for PoolArray comparison - AThousandShips
...
f26069e94d
2023-01-16 14:35:23 +01:00
heppocogne
7d4baaed2b
Fix get_path()
is not working when files are opend with open_compressed
...
And also fixed `get_absolute_path()` in the same way
(cherry picked from commit ea11ffc88c22dea2b71d7863808cd65f64f9eded)
2023-01-16 14:18:57 +01:00
b6f4b647d6
Added the rest of the new container classes from godot4. They will likely not work as-is, this will be fixed later.
2023-01-16 00:40:55 +01:00
3c461a4660
Added more getters to the new HshMap, for more backwards compatibility.
2023-01-15 23:46:53 +01:00
fd7c2153a6
Replaced the HashMap's implementation with the one Godot4. Refactored it to work as a drop in replacement. Renamed the old one to OGHashMap.
2023-01-15 22:57:13 +01:00
2cd4e4d828
Renamed Set to RBSet.
2023-01-15 19:42:08 +01:00
1b0aac6028
Renamed Map to RBMap.
2023-01-15 19:12:50 +01:00
389052c51a
Small cleanups for PooledList and PagedAllocator.
2023-01-15 18:00:34 +01:00
698c2e01f0
Backported the tight version of godot4's LocalVector as the new TightLocalVector class.
2023-01-15 17:30:08 +01:00
5972b6cc43
Removed the deprecated clamped() method from vector2. (The new method is limit_length().)
2023-01-15 14:05:45 +01:00
b240df7df6
Updated more copyright headers for 2023.
2022-12-31 21:07:05 +01:00
f70e207741
Added support for specifying a COPYRIGHT.txt file for modules.
2022-12-31 18:12:06 +01:00
3bf2b79d88
Added set_length helper method to String.
2022-12-22 21:10:04 +01:00
e756718326
Add _FORCE_INLINE_ to String's resize().
2022-12-22 20:04:50 +01:00
4fb7856b5a
Remove now superfluos check from String's operator[].
2022-12-22 20:03:28 +01:00
91c50d4bea
Never print an error message in Object::get_meta().
2022-12-22 19:58:58 +01:00
213f393293
Fix typos with codespell.
2022-12-22 19:51:25 +01:00
b8009c85f4
Ported: Add vector value linking - KoBeWi and timothyqiu
...
9499ebecee
2022-12-22 18:50:17 +01:00
51ed526179
Ported: Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@adf7ec1
- akien-mga
84d2f884f8
2022-12-22 17:50:20 +01:00
91e598aa7b
Ported: SCons: Cleanup DEBUG, _DEBUG and NDEBUG defines
...
- `_DEBUG` is MSVC specific so it didn't make much sense to define for
Android and iOS builds.
- iOS was the only platform to define `DEBUG`. We don't use it anywhere
outside thirdparty code, which we usually don't intend to debug, so it
seems better to be consistent with other platforms.
- Consistently define `NDEBUG` to disable assert behavior in both `release`
and `release_debug` targets. This used to be set for `release` for all
platforms, and `release_debug` for Android and iOS only.
- Due to the above, I removed the only use we made of `assert()` in Godot
code, which was only implemented for Unix anyway, should have been
`DEV_ENABLED`, and is in PoolAllocator which we don't actually use.
- The denoise and recast modules keep defining `NDEBUG` even for the `debug`
target as we don't want OIDN and Embree asserting all over the place.
- akien-mga
b0b759e6da
2022-12-22 17:42:54 +01:00
f42e413a51
Ported: [Web] Add PS3 gamepad mapping for FF+Linux. - Faless
...
41b880582e
2022-12-22 16:59:06 +01:00
Hugo Locurcio
fe010a1efe
Silence Input.vibrate_handheld()
warning as it's already documented
...
The warning causes messages to be spammed if you are calling this
method in a game that runs on both desktop and mobile platforms,
unless you guard all calls to `Input.vibrate_handheld()` with
`OS.has_feature("mobile") or OS.has_feature("web")`.
Since the limitation is already documented (and is obvious enough
given the method's name), the warning message is redundant.
(cherry picked from commit 4a991887bf3dd5fbb687fb379f06ac85aa4a6245)
2022-12-22 14:08:01 +01:00
lawnjelly
25c3232a77
VariantParser make readahead optional
...
It turns out some areas are independently moving / reading filepointers outside of the VariantParser, which can cause the readahead caching to get out of sync.
This PR makes the VariantParser readahead to be optional to allow for these use cases.
2022-12-22 13:52:51 +01:00
Emmanouil Papadeas
9524cb6a74
Fix InputEventAction
's is_action
method ignoring exact_match
parameter
...
(cherry picked from commit 38b51942d6d346d19dd5d4cd1073389caf0152fc)
2022-12-12 12:12:30 +01:00
a7fb068ab4
Revert "Backported: RID: Change comparison operators to use RID_Data id instead of address. This should helps making sorting more deterministic in physics and rendering. The same change was done for 4.0 in 4f16397. - akien-mga - 797321fec4
"
...
This reverts commit 185cfb3291
.
2022-12-12 11:54:51 +01:00
lawnjelly
3d1640eb70
Add readahead to VariantParser
...
Adds a readahead buffer to VariantParser, to prevent large numbers of freads for single bytes, which is inefficient.
2022-12-11 19:17:15 +01:00
lawnjelly
60b6e83948
Fix array-bounds warning in BVH
...
Provides a workaround to prevent tripping a compiler warning.
(cherry picked from commit 91d252c69795cdfc53e71c553edcff665636ea16)
2022-12-11 19:15:04 +01:00
Rafał Mikrut
5d6b2de1f3
Fix exporting big templates
...
(cherry picked from commit 86fa3ba56015b0fb6f282277b37c211fe803c6f9)
2022-11-30 19:23:35 +01:00
dzil123
15f2a58915
Fix Image::bump_map_to_normal_map incorrectly keeping mipmap flag
...
(cherry picked from commit 1fa8b3dd420301dd5c2ad99b6bead6cffe1d4995)
2022-11-30 19:21:11 +01:00
3265fb9e1d
Ported: Project Manager: Fix hacky code for project rename
...
Instantiating a new ProjectSettings is *not* the way to go.
ConfigFile works just fine to read/change a single value.
Fixes memory leaks as the instantiated ProjectSettings was never freed.
Forbid doing this to prevent such problems.
Fixes #25661 .
- akien-mga
9a340a2868
2022-11-30 19:19:02 +01:00
voidshine
840c537d89
Fix MIDI note-on events being converted to note-off events
...
Update documentation with note about MIDI velocity interpretation
(cherry picked from commit f0f72b313236b3cd8793e6fe7487094d9a04694a)
2022-11-30 19:11:21 +01:00
91c53c41c2
Ported: Fix String::word_wrap() for long words
...
- timothyqiu
51fd1c27aa
2022-11-30 14:57:35 +01:00
dzil123
37c50b6f21
PCKPacker Fix error spam
2022-11-30 14:33:46 +01:00
5aa98e8955
Added Brenzenham's line algorithm found in the TileMapEditorPlugin to Geometry, and it's binder class.
2022-11-20 02:33:40 +01:00
b7d93e4525
Added clear() helper method to Image.
2022-11-19 19:25:04 +01:00
a3f2631d59
Ported: Add double_tap attribute to InputEventScreenTouch
...
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
- m4gr3d
be4b07c3e4
2022-11-13 01:29:17 +01:00
9e43e62e3b
Ported: [iOS] Fix build with warnings=extra. - bruvzg
...
987723b386
2022-11-13 00:39:09 +01:00
Jordan Schidlowsky
91624a7561
expose additional global enums in 3.x which are available in master
2022-11-13 00:32:18 +01:00
Micky
6ca2dc959b
Rename set_indexed
& get_child
's params to be clearer
...
3.x backport of #67300 and #64463 .
2022-11-13 00:27:45 +01:00
fbc6f9cf22
Added missing semicolons.
2022-10-09 10:17:16 +02:00
6f35d04ef3
Use FALLTHROUGH macro instead on [[fallthrough]];
2022-10-09 10:14:12 +02:00
c43fda9fc8
Ported: Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@81ddc73
- akien-mga
7104647c65
2022-10-08 19:05:11 +02:00
42ff9cf8bc
Ported: Improve %f formatting for inf and nan.
...
- MarcusElg
e9cbe9517b
2022-10-08 17:53:43 +02:00
Rémi Verschelde
43de2b9ecc
Style: Ensure consistent formatting with clang-format 15
2022-10-08 16:48:59 +02:00
lawnjelly
98c32bb3e7
Improve signal already connected error message
...
The signal already connected message is improved to provide the names of the objects involved.
2022-10-08 16:34:51 +02:00
Hugo Locurcio
e315a93f87
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-10-08 16:34:07 +02:00
808f157b26
Added nissing projection * projection Variant operator.
2022-10-07 03:09:38 +02:00
89cba992ba
Now the target fps is customizable for ThreadPool when threading is not enabled.
2022-09-17 23:25:47 +02:00
099b05380e
Fix race condition.
2022-09-17 22:35:42 +02:00
48d26e9400
Fix setter parameter types for ThreadPool.
2022-09-17 22:23:29 +02:00
Micky
d31fc4c13a
Prevent HTTPRequest from polling invalid client
...
(cherry picked from commit 9e284f68ec79be745c2cb3d3a4eead3dfcca7cca)
2022-09-17 00:04:38 +02:00
dae3e671fb
Ported: Updated gamecontrollerdb.txt to latest to include new mappings for various controllers, including Xbox One, Nintendo Switch, Steam Deck, and 8BitDo
...
- cybereality
477c7f9b74
2022-09-16 23:59:11 +02:00
Haoyu Qiu
f5fab30297
Fix parsing of XML CDATA and add test cases
2022-09-16 23:50:19 +02:00
lawnjelly
2b70218bd1
Fix uninitialized data reads in Input
...
Found by Valgrind.
2022-09-16 23:35:56 +02:00
kobewi
e133069bda
Add Dictionary.find_key()
2022-09-16 23:20:06 +02:00
Marcel Admiraal
226e29cfca
Fix Geometry::get_closest_points_between_segments() returns NaN
...
Also fix Geometry::get_closest_distance_between_segments() returning
incorrect values.
2022-09-16 22:48:50 +02:00
Fredia Huya-Kouadio
a6a5b60235
Additional fixes to the Android get_current_dir()
implementation.
2022-09-16 22:45:21 +02:00
Pedro J. Estébanez
c91198b335
Add FileAccess::get_access_type()
...
(cherry picked from commit 8c6b2fbb908261d29a6692dd7a816464c28520d2)
2022-09-16 22:13:21 +02:00
dbcca5d26d
Ported: Optimize String.repeat()
...
This backports the optimization done in `master`.
- Calinou, MewPurPur
3b31ff9008
2022-09-16 22:08:51 +02:00
92bc8ed3be
Ported: Fix header guard in error_macros.h - madmiraal
...
e2dac6ecd9
2022-09-16 22:01:08 +02:00
Pedro J. Estébanez
d4555e520f
Determine ProjectSettings' resource path early
2022-09-16 21:53:28 +02:00
bruvzg
b7d732b782
Add arch flag to assembler to fix build on ARM64 macOS / iOS.
...
(cherry picked from commit b767d2e0fdf835dc181bb21c8be69a35671b60b8)
2022-09-16 21:41:56 +02:00
a9eb3a52a3
Ported: 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
-akien-mga
bda382684f
2022-09-16 21:31:55 +02:00
Marcin Nowak
a697c239b8
Backport panning strength parameters from 4.0
2022-09-16 19:44:55 +02:00
7dd2bce61b
Now ThreadPool should properly handle when use_threads changes.
2022-09-10 04:34:36 +02:00
27316923d3
Moved ThreadPool to core. Also it can change it's thread count now when it has time for it.
2022-09-10 04:16:50 +02:00
0f841bac29
Now String and CharString Types properly move the null terminator on resize and remove.
2022-08-26 15:10:56 +02:00
f9de65e101
Now get_global in Engine won't print an error if the global isn't exists, instead it will just return null.
2022-08-25 11:25:12 +02:00
4f9dd569b8
Now the Engine has methods to store globals (custom singletons). They are mostly meant for classes like EditorInterface, SpatialEditor, and plugin scripts that need a singleton for in-editor use. In essence it provides easy and side effect less access for classes that might not be present on every run. (For example gdscript recognizes normal singletons as keywords, but not these.)
2022-08-23 13:13:39 +02:00
94dfea6391
Put variables at the bottom of the Engine singleton.
2022-08-23 11:55:54 +02:00
45bec656d5
Small cleanups and fixes to StringName. Also increased it's internal table's size.
2022-08-22 01:44:53 +02:00
e2d42db711
Also renamed the files.
2022-08-19 21:24:36 +02:00
58da70524b
Ported: Add support for multiple virtual keyboard types - brianwinterpixel
...
ce24b48e50
2022-08-19 16:18:53 +02:00
59f4eb55d9
Ported: Fix mouse speed not changing fast enough
...
- Uses all accumulated movements when calculating speed
- Discards old accumulated movements
- Sets last mouse speed to zero when there is no movement
- madmiraal
3d96d7d9fb
2022-08-19 02:46:03 +02:00
88d6ef51eb
Removed additional direct script rpc mode query when sending rpcs, in order to simplify that codepath as much as possible. Also removed the remote, remotesync etc. keywords from gdscript, as now they won't work anymore. Node's rpc_config() method should be used instead of marking methods with keywords in scripts.
2022-08-19 01:19:33 +02:00
8809f2b963
Removed deprecated enum values from multiplayerPeer.
2022-08-19 00:39:05 +02:00
44948a6f7a
Removed rsets.
2022-08-18 23:04:57 +02:00
6be9bf5dfe
Cleaned up and added the skeleton modification stack implementations to the build. Also smaller fixes.
2022-08-18 15:41:28 +02:00
4c4e19223e
Added _theme_ infix to the theme helper methods in Control.
2022-08-17 20:57:16 +02:00
9757c39f05
Moved a few more core classes.
2022-08-17 17:43:49 +02:00
99e94b08c4
Moved base input related classes to core/input.
2022-08-17 17:02:24 +02:00
686663d3e4
Moved around more classes in core.
2022-08-17 16:01:01 +02:00
04feb63860
Moved Engine and projectSettings.
2022-08-17 15:35:28 +02:00
be16fe23ad
Moved the error macros.
2022-08-17 15:14:19 +02:00
220b2db443
Moved String and related classes under a string folder in core.
2022-08-17 14:19:55 +02:00
dc9cc716c7
Moved Object related classes under core/object.
2022-08-17 13:45:14 +02:00
9555ee56b9
Moved Variant related classes under a variant folder in core.
2022-08-17 13:17:12 +02:00
388b88678e
Moved container related classes in core under a new containers directory.
2022-08-17 12:53:49 +02:00
0d2fc2e9f2
Moved color to core/math.
2022-08-17 11:38:15 +02:00
73709fa1ae
Backported from Godot4: 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)
- reduz
141c375581
2022-08-17 10:42:50 +02:00
d9669b0ed0
Ported form godot4: Reformat structure string operators
...
The order of numbers is not changed except for Transform2D. All logic is done inside of their structures (and not in Variant).
-aaronfranke
554c776e08
2022-08-16 22:46:24 +02:00
3b4b25b5f8
Add working bindings for Projection's get_projection_plane.
2022-08-16 22:33:56 +02:00
9e1588160f
Now all Variant math types are structs.
2022-08-16 22:09:26 +02:00
e71e3ed897
Now Vector4, Vector4i, Projection, PoolVector4Array, PoolVector4iArray, are built in variant types. Also reordered the Variant's Type enum, renamed _RID in it to RID, fixed a few smaller issues and removed some very old compat code.
2022-08-16 21:55:56 +02:00
8c2e76840c
Removed CameraMatrix, and switched to Projection.
2022-08-16 10:26:35 +02:00