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