summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2021-08-14Add the possibility to initialize the classes allocated with the PagedAllocatorAndreaCatania
It uses the (`const T &&... p_args`) forward reference, to avoid copying the memory in case it's an rvalue, or pass a reference in case it's an lvalue. This is an example: ```c++ PagedAllocator<btShapeBox> box_allocator; btShapeBox* box = box_allocator.alloc( btVector3(1.0, 1.0, 1.0) ); ```
2021-08-13Style: Cleanup code using `text_editor/completion/use_single_quotes`Rémi Verschelde
2021-08-13Merge pull request #51508 from AndreaCatania/mem-placementRémi Verschelde
Refactors the memnew_placement.
2021-08-13Merge pull request #51582 from AnilBK/ustring-macro-replacementsRémi Verschelde
ustring: Replace macros with inline functions.
2021-08-13Merge pull request #51607 from aaronfranke/includesRémi Verschelde
Fix some unnecessary includes
2021-08-13Add input buffering frameworkPedro J. Estébanez
Input buffering is implicitly used by event accumulation, but this commit makes it more generic so it can be enabled for other uses. For desktop OSs it's currently not feasible given main and UI threads are the same).
2021-08-13Improve input event accumulationPedro J. Estébanez
- API has been simplified: all events now go through `parse_input_event()`. Whether they are accumulated or not depends on the `use_accumulated_input` flag. - Event accumulation is now thread-safe (it was not needed so far, but it prepares the ground for the following changes). - Touch drag events now support accumulation.
2021-08-13Refactors the memnew_placement.AndreaCatania
With this commit the macro `memnew_placement` uses the standard memory placement syntax: `new (mem) TheClass()`, and removes the outdated and not used syntax: ``` _ALWAYS_INLINE_ void *operator new(size_t p_size, void *p_pointer, size_t check, const char *p_description) { ``` Thanks to this change, the function `memnew_placement` call is compatible with any class, and can also initialize classes with non-empty constructor: ``` // This is valid, like before. memnew_placement(mem, Variant); // This works too: memnew_placement(mem, Variant(123)); ```
2021-08-13Fix some unnecessary includesAaron Franke
2021-08-13Convert ustring macros to inline functions and use them wherever possible.Anilforextra
Add new inline functions to check if a character is lowercase or uppercase. Remove unused upper case macro.
2021-08-12Resource: Remove unused `_use_builtin_script()` virtual methodRémi Verschelde
And another piece of dead code found while searching for "use_builtin".
2021-08-11Merge pull request #38992 from Dragoncraft89/masterRémi Verschelde
Error handling functions for GdScript
2021-08-11Merge pull request #47378 from aaronfranke/use-input-enumsRémi Verschelde
Use key enum instead of plain integers for input code
2021-08-11Rename `iterations_per_second` to `physics_ticks_per_second`Hugo Locurcio
This makes it clearer that this property is only about physics FPS, not rendering FPS. The `physics_fps` project setting was also renamed to `physics_ticks_per_second` for consistency.
2021-08-10Use Key enum instead of plain integersAaron Franke
2021-08-10Merge pull request #49417 from Bhu1-V/gsoc-cmd-pltRémi Verschelde
Command Palette For Godot
2021-08-10Merge pull request #51017 from vnen/extension-fixesRémi Verschelde
2021-08-10Merge pull request #50682 from aaronfranke/basis-looking-atRémi Verschelde
Move code for looking_at to Basis
2021-08-09Rename GDNative call error enum values to use GDNATIVE prefixGeorge Marques
To make sure it does not clash with other libraries.
2021-08-09Use doubles for time in many other placesAaron Franke
2021-08-09[Net] Basic extensible MultiplayerAPI spawn/despawn.Fabio Alessandrelli
`PackedScene`s can be configured to be spawnable via a new `MultiplayerAPI.spawnable_config` method. They can be configured either to be spawned automatically when coming from the server or to always require verification. Another method, `MultiplayerAPI.send_spawn` lets you request a spawn on the remote peers. When a peer receive a spawn request: - If it comes from the server and the scene is configured as `SPAWN_MODE_SERVER`: - Spawn the scene (instantiate it, add it to tree). - Emit signal `network_spawn`. - Else: - Emit signal `network_spawn_request`. In a similar way, `despawn`s are handled automatically in `SPAWN_MODE_SERVER`. In `SPAWN_MODE_SERVER`, when a new client connects it will also receive, from the server all the spawned (and not yet despawned) instances.
2021-08-09[Core] Expose ResourceLoader.get_resource_uid.Fabio Alessandrelli
2021-08-09Added EditorCommandPaletteBhuvan Vemula
2021-08-08[Text Server] Improve object (image/table) inline alignment.bruvzg
2021-08-08Merge pull request #51395 from angad-k/pseudolocalization-squashedRémi Verschelde
Add pseudolocalization to Godot. (GSoC'21)
2021-08-08add pseudolocalization to GodotAngad Kambli
2021-08-08Fix logic to allow default null thread argumentPedro J. Estébanez
2021-08-07Fix action_get_events returning booleans instead of InputKey entriesJulien Nguyen
2021-08-07Fix Transform::xform(Plane) functionslawnjelly
The Transform::xform and xform_inv are made safe for Planes when using non-uniform scaling. Optimization of calling sites to prevent loss of performance from the changes to xform(Plane).
2021-08-06Bind missing constants from PropertyHint and PropertyUsageGeorge Marques
2021-08-06OS: Fix used resource debug printsRémi Verschelde
These methods were broken by 22419082d9bedbc9dc060ea5784bb0871f8710a3 5 years ago and nobody complained, so maybe they're not so useful... But at least this should restore them to a working state.
2021-08-06Merge pull request #51234 from akien-mga/tests-file-get_csv_lineRémi Verschelde
Tests: Improve coverage for `File::get_csv_line()`
2021-08-05Improve extension systemGeorge Marques
- Fix library loading and initialization. - Add extra methods/parameters in the interface needed by extenstions. - Add Variant destructors and functions for extracting values and creating Variants from values.
2021-08-05Fix a few default parameters in bindingsGeorge Marques
They have the wrong type and cause issues with extensions.
2021-08-05Add a instance callback for extensionsGeorge Marques
This sends the Godot object instance back to the extension so they can keep a pointer for function calls. Incidentally fix argument order on instance bindings callback for free()
2021-08-05Improve extension API dumpGeorge Marques
- Fix type size information. - Validate sizes at compile time (for the current build configuration only). - Normalize type names. - Add extra information.
2021-08-05Merge pull request #51247 from pycbouh/docs-extract-theme-itemsRémi Verschelde
Add theme item descriptions to the online documentation
2021-08-05Merge pull request #48615 from Razoric480/lsp-renameRémi Verschelde
Implement LSP didSave notification and rename request
2021-08-04Add theme item descriptions to the online documentationYuri Sizov
2021-08-04Tests: Improve coverage for `File::get_csv_line()`Rémi Verschelde
Adds a few more complex edge cases which are supported. Also adds some documentation, simplifies the code a bit and forbids using double quotes as a delimiter.
2021-08-04Merge pull request #51005 from Faless/mp/4.x_channelsRémi Verschelde
[Net] Implement RPC channels in MultiplayerAPI.
2021-08-03[Headless] Add --headless switch (no rendering, no audio).Fabio Alessandrelli
Also remove now unused "--no-window" option, and relative OS getter and setter.
2021-08-03Merge pull request #50454 from Ev1lbl0w/gsoc21-dapFabio Alessandrelli
Implemented initial DAP support
2021-08-03Merge pull request #51199 from Faless/net/4.x_ip_lockRémi Verschelde
2021-08-03Merge pull request #51093 from RandomShaper/fix_thread_null_udRémi Verschelde
Fix thread start with no user data when target has no default argument
2021-08-02Merge pull request #51042 from nikitalita/fix_binary_res_load_saveK. S. Ernest (iFire) Lee
Fix binary resource loading and saving
2021-08-03[Net] Fix IP address resolution incorrectly locking the main thread.Fabio Alessandrelli
This seems to be a pretty old bug, older then originally reported (at least under certain circumstances). The IP singleton uses a resolve queue so developers can queue hostnames for resolution in a separate while keeping the main thread unlocked (address-resolution OS functions are blocking, and could block for a long time in case of network disruption). In most places though, the address resolution function was called with the mutex locked, causing other functions (querying status, queueing another hostname, ecc) to block until that resolution ended. This commit ensures that all calls to OS address resolution are done with the mutex unlocked.
2021-08-02[Marshalls] Fix Float64Array and Int64Array serialization.Fabio Alessandrelli
One was incorrectly reading the size (potentially causing out-of-buffer read), the other also potentially causing out-of-buffer write during encoding.
2021-08-02Implemented initial DAP supportEv1lbl0w
Implemented "output" event Refactored "seq" field generation Prevent debugging when editor and client are in different projects Removed unneeded references to peer on the parser Refactored way to detect project path Implemented "setBreakpoints" request Fix double events when terminating from client Refactored "stopped" event Implemented "stopped" with breakpoint event Implemented "stackTrace", "scopes" and "variables" request Report incoming number of stack dump variables Implemented proper reporting of scopes and variables from stack frames Prevent editor from grabbing focus when a DAP session is active Implemented "next" and "stepIn" requests Implemented "Source" checksum computing Switched expected errors from macros to silent guards Refactored message_id Respect client settings regarding lines/columns behavior Refactored nested DAP fields Implement reporting of "Members" and "Globals" scopes as well Fix error messages not being shown, and improved wrong path message
2021-08-01Move code for looking_at to BasisAaron Franke