summaryrefslogtreecommitdiffstats
path: root/main
Commit message (Collapse)AuthorAgeFilesLines
* Fix various typos with codespellRémi Verschelde2023-06-161-5/+5
| | | | And ignore some false positives introduced by recent versions of codespell.
* Merge pull request #78054 from bruvzg/fix_res_errorsRémi Verschelde2023-06-141-1/+24
|\ | | | | | | Fix "Resource file not found" error on editor start.
| * Fix "Resource file not found" error on editor start.bruvzg2023-06-091-1/+24
| |
* | Document known bugs with the Multi-Threaded thread model project settingHugo Locurcio2023-06-141-1/+9
| | | | | | | | | | - Add a warning on project startup when using the Multi-Threaded option. - Improve command line validation for the `--render-thread` CLI argument.
* | Disable NVIDIA's threaded optimization on WindowsÁlex Román Núñez2023-06-131-0/+1
|/
* Merge pull request #75666 from ronyeh/main.cpp-2Rémi Verschelde2023-06-021-14/+14
|\ | | | | | | Rename `iconpath` => `icon_path` & `hasicon` => `has_icon`.
| * Rename `iconpath => icon_path` & `hasicon => has_icon`.Ron B. Yeh2023-04-041-14/+14
| |
* | Fix --debug-avoidance description.smix82023-05-261-1/+1
| | | | | | | | Fixes c&p error in --debug-avoidance description.
* | Merge pull request #71352 from m4gr3d/editor_optimization_mainRémi Verschelde2023-05-241-35/+36
|\ \ | | | | | | | | | Improve startup benchmarking
| * | Improve startup benchmarkingFredia Huya-Kouadio2023-05-231-35/+36
| | | | | | | | | | | | Move the benchmarking measuring methods from `Engine` to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
* | | Allow threads to mark themselves as safe for nodesPedro J. Estébanez2023-05-241-0/+4
|/ /
* | Merge pull request #52314 from lawnjelly/four_delta_smoothRémi Verschelde2023-05-173-0/+350
|\ \ | | | | | | | | | Add frame delta smoothing option (4.x)
| * | Add frame delta smoothing option (4.x)lawnjelly2023-05-163-0/+350
| | | | | | | | | | | | | | | | | | | | | | | | Frame deltas are currently measured by querying the OS timer each frame. This is subject to random error. Frame delta smoothing instead filters the delta read from the OS by replacing it with the refresh rate delta wherever possible. This PR also contains code to estimate the refresh rate based on the input deltas, without reading the refresh rate from the host OS. The delta_smooth_enabled setting can also be modified at runtime through OS::, and there is also now a command line setting to override the project setting.
* | | Merge pull request #76446 from reduz/add-gdextension-api-compatibilityRémi Verschelde2023-05-151-0/+28
|\ \ \ | |/ / |/| | | | | Add a backwards-compatibility system for GDExtension
| * | Add a backwards-compatibility system for GDExtension methodJuan Linietsky2023-05-151-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a way to ensure that methods that were modified in the Godot API will continue working in older builds of GDExtension even if the new signature is different. ```C++ // New version (changed) ClassDB::bind_method(D_METHOD("add_sphere","radius","position"),&MyShapes::add_sphere); // Compatibility version (still available to extensions). ClassDB::bind_compatibility_method(D_METHOD("add_sphere","radius"),&MyShapes::_compat_add_sphere); ``` **Q**: If I add an extra argument and provide a default value (hence can still be called the same), do I still have to provide the compatibility version? **A**: Yes, you must still provide a compatibility method. Most language bindings use the raw method pointer to do the call and process the default parameters in the binding language, hence if the actual method signature changes it will no longer work. **Q**: If I removed a method, can I still bind a compatibility version even though the main method no longer exists? **A**: Yes, for methods that were removed or renamed, compatibility versions can still be provided. **Q**: Would it be possible to automate checking that methods were removed by mistake? **A**: Yes, as part of a future PR, the idea is to add a a command line option to Godot that can be run like : `$ godot --test-api-compatibility older_api_dump.json`, which will also be integrated to the CI runs.
* | | Fix multiple issues in WorkerThreadPoolPedro J. Estébanez2023-05-111-0/+13
| | | | | | | | | | | | | | | | | | | | | - Fix project settings being ignored. - Made usages of `native_thread_allocator` thread-safe. - Remove redundant thread-safety from `low_priority_threads_used`, `exit_threads`. - Fix deadlock due to unintended extra lock of `task_mutex`.
* | | Avoid interaction issues between resource loading threadsPedro J. Estébanez2023-05-101-2/+2
| | |
* | | Merge pull request #75901 from reduz/refactor-node-processingRémi Verschelde2023-05-101-0/+8
|\ \ \ | | | | | | | | | | | | Refactor Node Processing to allow Scene Multithreading
| * | | Refactor Node ProcessingJuan Linietsky2023-05-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 https://github.com/godotengine/godot-proposals/issues/6424. No threading or thread guards exist yet in most of the scene code other than Node. That will have to be added later.
* | | | Rework Navigation Avoidancesmix82023-05-101-0/+15
| | | | | | | | | | | | | | | | Rework Navigation Avoidance.
* | | | Merge pull request #76878 from RedworkDE/tests-fix-errorsRémi Verschelde2023-05-091-6/+6
|\ \ \ \ | | | | | | | | | | | | | | | Fix various errors when running the unit tests
| * | | | Fix various errors when running the unit testsRedworkDE2023-05-091-6/+6
| | | | | | | | | | | | | | | | | | | | Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
* | | | | Merge pull request #76490 from dsnopek/dump-gdscript-docsRémi Verschelde2023-05-091-0/+71
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | Dump API docs from inline GDScript comments using --doctool --gdscript-docs PATH
| * | | | Dump API docs from inline GDScript comments using --doctool --gdscript-docs PATHDavid Snopek2023-05-081-0/+71
| | | | |
* | | | | Merge pull request #76624 from myaaaaaaaaa/movie-statRémi Verschelde2023-05-091-4/+1
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | Print CPU and GPU usage statistics after Movie Maker is finished
| * | | | Print CPU and GPU usage statistics after Movie Maker is finishedmyaaaaaaaaa2023-05-081-4/+1
| |/ / /
* / / / Redo how the remote filesystem worksJuan Linietsky2023-05-081-13/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Instead of reading files over the network, the new version uses a local file cache and only updates files when it changes. The original remote filesystem was created 14 years ago, when ethernet was faster than hard drives or even flash. Also, mobile devices have a very small amount of storage. Nowadays, this is no longer the case so the approach is changed to using a persistent cache in the target device. Co-authored-by: m4gr3d
* | | Merge pull request #73617 from myaaaaaaaaa/quit-afterRémi Verschelde2023-04-261-3/+17
|\ \ \ | |/ / |/| | | | | Add `--quit-after <number-of-iterations>`
| * | Add --quit-after <number-of-iterations>myaaaaaaaaa2023-04-251-3/+17
| | |
* | | Fix thread IDs.Juan Linietsky2023-04-242-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | On Linux, thread IDs were not properly assigned with the current approach. The line: `std::thread new_thread(&Thread::callback, _thread_id_hash(thread.get_id()), p_settings, p_callback, p_user);` does not work because the thread ID is not assigned until the thread starts. This PR changes the behavior to use manually generated thread IDs. Additionally, if a thread is (or may have been created) outside Godot, the method `Thread::attach_external_thread` was added.
* | | Add project manager / editor initial screen settings, implement ↵bruvzg2023-04-191-0/+47
| | | | | | | | | | | | DisplayServer.get_keyboard_focus_screen method.
* | | Cache classes editor helpPedro J. Estébanez2023-04-131-0/+6
| |/ |/|
* | Merge pull request #74727 from AThousandShips/project_settingsYuri Sizov2023-03-151-12/+4
|\ \ | | | | | | Exposing more project settings for documentation
| * | Exposing more project settings for documentationNinni Pipping2023-03-151-12/+4
| | |
* | | Merge pull request #73144 from chutchinson/bug/openxr-init-alert-dialogYuri Sizov2023-03-151-0/+1
|\ \ \ | |/ / |/| | Replaced OpenXR operating system alert dialog with a warning log message
| * | Replaced operating system alert dialog with a warning log message,Chris Hutchinson2023-02-131-0/+1
| | | | | | | | | | | | | | | toggled by a project setting. Fixes #73141
* | | Prevent crashing on startup if project has scripted theme typesYuri Sizov2023-03-081-1/+16
| | | | | | | | | | | | Also avoid order of operation conflicts by moving C# binding generation hook to main.cpp
* | | Warn users when using non existing --export flag, replaced by --export-releaseRémi Verschelde2023-02-221-0/+3
| | | | | | | | | | | | See #73782.
* | | Mark Application Icon and V-Sync Mode project settings as basicHugo Locurcio2023-02-191-2/+2
| | | | | | | | | | | | These settings are likely to be changed at some point in most projects.
* | | iOS: Fix memory leak on touch inputTravis Veralrud2023-02-151-1/+0
| |/ |/| | | | | | | | | Replace incomplete iOS gesture with touch implementation. Fixes #66422.
* | Merge pull request #73033 from akien-mga/gdscript-fix-gd4-renames-buildRémi Verschelde2023-02-111-10/+24
|\ \ | | | | | | | | | Clean up ProjectConverter3To4 architecture, move renames map to separate file
| * | Clean up ProjectConverter3To4 architecture, move renames map to separate fileRémi Verschelde2023-02-101-10/+24
| |/ | | | | | | | | | | | | | | | | | | | | This allows properly limiting what features depend on the RegEx module (doing the actual conversion) and what features only require the renames data (GDScript suggestions). Also better excludes the conversion command line options when actually disabling deprecated code. Fixes #73029.
* / Allow compiling out the navigation moduleJosh Jones2023-02-091-0/+14
|/
* Fix build with `deprecated=no` not exclude ProjectConverter3To4 optionsRémi Verschelde2023-02-011-0/+6
| | | | Fixes #72520.
* Merge pull request #70377 from dsnopek/server-export-mk2Rémi Verschelde2023-01-231-6/+16
|\ | | | | | | Add "dedicated server" export mode which can strip unneeded visual resources
| * Add "dedicated server" export mode which can strip unneeded visual resourcesDavid Snopek2023-01-231-6/+16
| |
* | [TextServer] Fix ICU data loading and exporting with ↵bruvzg2023-01-231-2/+10
| | | | | | | | `internationalization/locale/include_text_server_data` setting.
* | Mark touch emulation project settings as basicHugo Locurcio2023-01-231-2/+2
| | | | | | | | | | These settings are likely to be toggled often during development, so they should be as accessible as possible.
* | Merge pull request #71663 from bruvzg/init_pos_xRémi Verschelde2023-01-221-1/+19
|\ \ | | | | | | Reorganize main and sub-window initial position properties.
| * | Reorganize main and sub-window initial position properties.bruvzg2023-01-191-1/+19
| | |