Commit Graph

434 Commits

Author SHA1 Message Date
Francois Belair
90d7912fcc Actually use loaded resource cache 2023-08-30 11:37:34 +02:00
Danil Alexeev
254cb747b7 Core: Add recursion level check for Array and Dictionary hashing 2023-08-30 11:34:00 +02:00
Paweł
adb36972f5 Fix Windows StringFileInfo structure
(cherry picked from commit e15a086bb99f450fbfa223fe8896c47a860735fc)
2023-08-30 10:52:11 +02:00
Bartłomiej T. Listwon
68667d1563 Fix moving position indicator out of bounds in FileAccessMemory
(cherry picked from commit bff0c71e2e2cb9b880181cc819c4753abfe59508)
2023-08-30 10:49:44 +02:00
Yuri Rubinsky
9a1705eac2 Fix crash when calling fill method on an empty Image
(cherry picked from commit adec51cde87d29dd74efb6e5cd0167990de8d569)
2023-08-30 10:18:36 +02:00
65d4c57233 Added translate_to() method to TranslationServer, and trt() method to Object. This let's you transalte strings into specific (noon app wide) locales. 2023-08-29 22:02:31 +02:00
d977ed360e Ported: 2D Fixed Timestep Interpolation
Adds support to canvas items and Camera2D.
- lawnjelly
5162efbfe9
2023-08-27 18:48:25 +02:00
Simon Barkehanai
12eba08f8c Fix infinite loop on EOF in the command line debugger
When using the command line debugger (godot -d) on Unix systems, when
entering an EOF (ctrl+D), the debugger enters an infinite loop.

Adding a check for EOF in the debugger loop exits the debugger when EOF
is entered.

Fixes #50170.

(cherry picked from commit 4ecad8dea30859a5acbac41fe0e647c7bb6a53cc)
2023-08-27 12:14:55 +02:00
RedworkDE
f3167d1c65 Fix ProjectSettings::localize_path for Windows paths 2023-08-27 12:05:08 +02:00
puzzud
21d78d77f6 Prevent double input events on gamepad when running through steam input #79706
Co-authored-by: Eoin O'Neill <eoinoneill1991@gmail.com>
2023-08-27 11:47:35 +02:00
Marcin Nowak
4b76c7e89c Backport implement loading DDS textures at run-time 2023-08-27 11:31:12 +02:00
c80ee8d7bf Added missing Variant conversion and zero cases. 2023-08-15 10:23:41 +02:00
834cbe8cef Ported: Single Compilation Unit build.
Adds support for simple SCU build.
This speeds up compilation by compiling multiple cpp files within a single translation unit.
- lawnjelly
43e181a00a
2023-07-11 16:07:36 +02:00
be022b610f Bind RWLock, so it's accessible to scripts. 2023-07-06 21:17:13 +02:00
d3f2e0e4fe Fixed SkeletonModification3DFABRIK. 2023-06-22 09:43:55 +02:00
1a5cba555c Backported godot4 PR: Support threads in the script debugger
* This implementation adds threads on the side of the client (script debugger).
* Some functions of the debugger are optimized.
* The profile is also now thread safe using atomics.
* The editor can switch between multiple threads when debugging.
This PR adds threaded support for the script language debugger. Every thread has its own thread local data and it will connect to the debugger using multiple thread IDs.
This means that, now, the editor can receive multiple threads entering debug mode at the same time.
- reduz
PR 76582
Will be available here after it's merged:
6b176671c4
2023-06-14 14:43:55 +02:00
d4175f9676 Ported parts of : Refactor Node Processing
* Node processing works on the concept of process groups.
* A node group can be inherited, run on main thread, or a sub-thread.
* Groups can be ordered.
* Process priority is now present for physics.
This is the first steps towards implementing godotengine/godot-proposals#6424.
No threading or thread guards exist yet in most of the scene code other than Node. That will have to be added later.
- reduz
98c655ec8d
- Only got the smaller improvements, and the thread safety for Node and SceneTree. I'm planning to implement a similar system, but I have a different way of doing it in mind.
2023-06-12 21:13:26 +02:00
3afa1142b9 Merged the functionality of BSInputEventKey to InputEventKey. This new setting can make input event keys act as if they are shortcut matched. 2023-06-11 16:06:09 +02:00
3331a7ae04 Ported: Augment the InputEvent class with a CANCELED state
The `InputEvent` class currently supports the `pressed` and `released` states, which given the binary nature, is represented by a `bool` field.
This commit introduced the `CANCELED` state, which signals that an ongoing input event has been canceled.
To represent all the states, the `InputEventState` enum is added and the `InputEvent` logic is refactored accordingly.
- m4gr3d
94d6c3dcc6
2023-06-11 10:26:23 +02:00
6c9843e5cb Ported: Test, refactor and fix a bug in Basis.get_axis_angle
- fabriceci
9f1a57d48b
2023-06-11 09:45:23 +02:00
e21a020b86 Add unsafe version from asin and acos. 2023-06-11 08:45:19 +02:00
lawnjelly
22d90711da Make acos and asin safe
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.

The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-06-11 08:41:42 +02:00
53358e6825 Removed the PMath singleton. If needed it can easily be recreated as a module. 2023-06-11 08:34:57 +02:00
f058c87868 Backported from godot4: Rework Navigation Avoidance
Rework Navigation Avoidance.
- smix8
a6ac305f96
2023-06-10 20:58:49 +02:00
2e1e153bc3 Make MultiMeshInstance2DNavigationGeometryParser2D use the Geometry singleton. And by proxy clipper 1. 2023-06-07 15:25:32 +02:00
6eb37ff901 Ported clipper2 usage to clipper1 in PandemoniumNavigationMeshGenerator. Also moved them to the Geometry singleton. 2023-06-07 09:20:36 +02:00
bb753653dd Don't print an error in ThreadPoolJob's _execute, as it's probably more intuitive this way. 2023-06-05 14:17:50 +02:00
4873a3429d Don't bind _execute() method in ThreadPoolJob derived classes, as it's not needed anymore. 2023-06-05 14:15:49 +02:00
642b5b7159 Use call_deferred when emitting the completed signal, so the handlers run on the main thread. 2023-06-05 09:11:39 +02:00
6dc774cf5c Emit the completed signal automatically in ThreadPoolJob. 2023-06-05 09:08:22 +02:00
9a2a39923a Added virtual _execute to threadPoolJob. 2023-06-05 09:05:16 +02:00
e8bb085466 Renamed the Math singleton to PMath, as it causes too many issues when dealing with gdnatove / mono. It will also be eventually moved to a module, as it's only useful in some situations. 2023-06-01 17:02:16 +02:00
50fa3addad Fix handling dots in String::is_numeric(). 2023-06-01 15:41:43 +02:00
e1e51b2881 Fix the return type of PoolVector::count(). 2023-05-31 00:06:19 +02:00
59933a9e60 Added grow_by and to_rect2 helper method to Rect2i. 2023-05-30 19:33:12 +02:00
0f6fb760ad Now Basis::get_uniform_scale() returns a real_t instead of a float. 2023-05-29 16:08:59 +02:00
47e637b2b8 Mark the parameters of Basis::rotate_to_align as const ref. 2023-05-29 13:03:26 +02:00
9e326c3000 Apparently Basis::rotate_to_align had a bug. Ported the fix by lyuma from: 6dfa6fc50e 2023-05-28 07:26:04 +02:00
039f173de1 Fix error, also add linear_interpolate call for Vector4i to variant op. 2023-05-27 15:27:43 +02:00
d19e6f11e9 Fix compile error. 2023-05-27 13:58:49 +02:00
96d1c2d69c Fix small inconsistencies in Vector3/3i/4/4i apis. 2023-05-27 13:26:52 +02:00
fd1ba2e4f0 Also bind Vector3i set_all(). 2023-05-27 12:07:54 +02:00
33b0d2da34 Added set_all() to Vector3i. 2023-05-27 11:53:16 +02:00
2b24871814 Made the parameter of snap and snapped in Vector3 const reference. 2023-05-27 11:12:31 +02:00
5cb00f3622 Make the parameters of String's and PoolVector's join() const ref. 2023-05-25 22:27:34 +02:00
474e253aa1 Added 2 const qualifiers. 2023-05-25 21:54:57 +02:00
0a41054007 Fix build when ptrcall is enabled. 2023-05-23 20:41:13 +02:00
ca982ac507 Ported: Add benchmark logic
Add benchmarking measuring methods to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
- m4gr3d
Also contains some mouse pointer improvements.
2023-05-01 15:32:01 +02:00
lawnjelly
176c0adc6a MessageQueue - Fix max usage performance statistic
Fixes to keep track of the maximum usage over time, rather than current usage.
2023-05-01 12:31:43 +02:00
25e57a4268 Added erf to Math. 2023-04-22 13:00:28 +02:00
e80dfcee2e Added a Math singleton exposing math functions directly to scripts. The idea is to make the disrepancies between scripts and engine side code smaller. 2023-04-22 12:47:56 +02:00
4ab9936fc8 Added log10 to the Math class. 2023-04-22 11:00:24 +02:00
06b2437b72 Ported: [3.x] Expose more compression formats in Image
- AThousandShips
2ca86ef449
2023-04-20 23:47:57 +02:00
1263101396 Ported: Batching - Add MultiRect command
Large groups of similar rects can be processed more efficiently using the MultiRect command. Processing common to the group can be done as a one off, instead of per rect.

Adds the new API to VisualServerCanvas, and uses the new functionality from Font, BitmapFont, DynamicFont and TileMap, via the VisualServerCanvasHelper class.

- lawnjelly

910ddd13c4
2023-04-20 23:09:37 +02:00
d6442bc57c Added Size and Point typedefs for Vector3i and Vector4i. 2023-04-16 16:16:56 +02:00
326bd9a1e9 Added HAS_TRIVIAL_CONSTRUCTOR, HAS_TRIVIAL_DESTRUCTOR, and HAS_TRIVIAL_COPY macros to typedefs to fix new clang deprecations. 2023-04-16 15:42:57 +02:00
31f61225a2 Ported: Make MessageQueue growable
* Uses simple vector resizing (po2)
* Uses pair of read and write buffers
- lawnjelly
5f1e7e6fbc
2023-04-15 12:06:16 +02:00
464b0b5e08 Ported: Add Color + alpha constructor for Color
- timothyqiu
3544cd1dad
2023-04-15 11:02:41 +02:00
8ab1998fcb Ported from godot 4: Optimize Node::add_child validation
Adding 10k nodes is almost twice as fast.
- reduz
223ce4fcb9
2023-04-10 18:10:22 +02:00
32e9927ac8 Ported from godot 4: Remove NOTIFICATION_MOVED_IN_PARENT
* This notification makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILDREN_CHANGED (and children_changed signal).
* Changed Canvas code (and similar) to use the above signal, to perform more efficiently.
This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
It is required for the changes in #75627 to be entirely effective.
- reduz
Note that I removed NOTIFICATION_MOVED_IN_PARENT, as keeping it, but making it just not work is worse in my opinion.
104392ef4e
2023-04-10 15:55:34 +02:00
d357a57ab2 Updated the logic of a few getters in String. 2023-03-22 01:42:53 +01:00
4b23c9c5c9 Renamed utf8_length() to utf8_byte_length(), and utf16_length() to utf16_byte_length() in String, as this might help to better explain why these differ from normal length(). 2023-03-20 22:34:21 +01:00
a0d33b5fcd Added utf8_length(), and utf16_length() helper methods to String. 2023-03-20 22:12:17 +01:00
26f77bbe2b Use set_length, instead of resize in String's operator +=. 2023-03-20 21:26:59 +01:00
67ebd5e52b Ported: Fix Standard Gamepad Mapping triggers.
- j8r and  akien-mga
669749fa39
2023-03-12 19:12:39 +01:00
2db3148b23 Ported: Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@436c7e3
- akien-mga
bab7f1c0a6
2023-03-12 19:02:32 +01:00
9c28f6fb7f Ported: Add PS3 controller guide button
- j8r and akien-mga
2c18066231
2023-03-12 16:59:28 +01:00
9118798036 Fix include. 2023-03-12 16:05:58 +01:00
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