9d2309bfe1
Moved shapes to core.
2023-12-10 19:58:44 +01:00
053f083e17
Moved the Physics 2d server to core.
2023-12-10 19:42:57 +01:00
dbcc6e33da
Moved the physics server to core.
2023-12-10 19:36:00 +01:00
238bf1b331
Moved the RenderingServer to core.
2023-12-10 19:04:24 +01:00
049440aaf1
Moved BitMap to core.
2023-12-10 18:07:25 +01:00
3902cf1924
Moved ScneeStringNames and PropertyUtils into scene/main.
2023-12-10 18:01:51 +01:00
191e9e152e
Added quote_style argument to get_argument_options().
2023-12-10 16:02:08 +01:00
9df5649c1b
Moved CanvasItem, Control, Node2D and Spatial under scene/main.
2023-12-10 15:50:54 +01:00
7ec207ba27
Fix abs call.
2023-12-10 14:58:37 +01:00
01a5847d7f
The default log level in PLogger is now message.
2023-10-25 01:45:37 +02:00
fe717c76d8
Call the proper methods in PLogger. Also use ERR_PRINT when logging errors.
2023-10-25 01:43:37 +02:00
b4f0ef4493
Added log level support for PLogger.
2023-10-25 01:25:15 +02:00
e1f64a84ad
Added missing conversion.
2023-10-12 11:44:23 +02:00
b4692f1763
Port4ed from godot: Add binary MO translation file support. Add brotli decoder and WOFF2 support.
...
Use smaller .mo files instead of .po, if gettext is available.
Convert editor fonts to .woff2 format.
- bruvzg
fd2fba7c2c
2023-10-02 21:12:03 +02:00
7df893ab6b
Ported from godot: Add context support for editor translation
...
- timothyqiu
878cf8262a
2023-10-02 20:48:04 +02:00
风青山
f7f7c17962
BVH - fix axis getting mixed up when split leaf
...
Split preferentially on longest axis, rather than shortest axis.
2023-10-02 16:56:12 +02:00
风青山
1813300d53
BVH - fix not refitting upward from leaf nodes
...
Fix leaf node possibly not updating aabb due to wrong node id.
Additionally, when requesting a new leaf, mark `dirty` as `false` in `clear()`.
2023-10-02 16:55:52 +02:00
Danil Alexeev
2d4e9c4656
Core: Add recursion level check for VariantWriter::write()
2023-10-02 16:25:48 +02:00
5fd0326745
Added a new SubProcess class with a Uniz backend for better process control.
2023-09-10 12:19:51 +02:00
1230419fb7
Register and bind the _ScriptServer.
2023-09-10 08:25:06 +02:00
9207afc6cb
Added run, create_process and create_instance helper methods to OS. Inspired by godot4's split of execute.
2023-09-10 08:20:35 +02:00
9a2bf73280
Backported _shortcut_input() virtual from godot4.
2023-09-07 09:56:16 +02:00
b506468b53
Revert "Backport implement loading DDS textures at run-time"
...
This reverts commit 4b76c7e89c
.
Apparently it can cause issues.
2023-09-06 09:13:08 +02:00
0a9c9ca15e
Ported godot pr: [3.x] Allow exporting custom resources from/to any scripting language (GDScript, VisualScript, C#, NativeScript, PluginScript)
...
- willnationsdev
https://github.com/godotengine/godot/pull/44879
Using the rebased version from 02d1f70ee5
by Atlinx
2023-09-06 01:45:29 +02:00
62e2b1623a
Use NULLs.
2023-08-30 13:24:46 +02:00
7e270262f9
Ported: Fix binary internal cache not being filled
...
- Razoric480
d331e5c7ac
2023-08-30 13:00:53 +02:00
5d93975c8d
Ported: Fix custom res caching sub-res even if no-cache
...
-Razoric480
2ceb93bbef
2023-08-30 12:55:37 +02:00
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