Commit Graph

541 Commits

Author SHA1 Message Date
lawnjelly 5162efbfe9 2D Fixed Timestep Interpolation
Adds support to canvas items and Camera2D.
2023-08-01 16:07:48 +01:00
Fredia Huya-Kouadio f3cdff46fc 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).
2023-03-20 23:29:36 -07:00
Travis Veralrud 28b11a0785 iOS: Fix memory leak on touch input
Replaces iOS gesture with touch implementation

Fixes #66422

Remove godot_view_gesture_recognizer

It's now unused.

Remove input_devices/pointing/ios/touch_delay

Unused with removal of gesture.

Remove unused methods from interface

Implementation made obsolete in prior commit

Style conformance
2023-02-15 21:38:55 -08:00
Rémi Verschelde d4da275969
Merge pull request #69367 from dogboydog/3.x_csharp_build_exit_code
3.x Exit editor with non-zero return code if --build-solutions fails
2023-01-23 17:03:50 +01:00
Rémi Verschelde 1426cd3b3a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".

Backported from #70885.
2023-01-10 15:26:54 +01:00
Rémi Verschelde 5c42b82fd5
Merge pull request #70412 from Calinou/video-driver-change-require-restart
Fix Driver Name editor setting not requiring an editor restart
2022-12-22 08:56:43 +01:00
Hugo Locurcio df301de95f
Fix Driver Name editor setting not requiring an editor restart 2022-12-21 18:59:01 +01:00
smix8 8e4f8c82c5 [3.x] Move navigation server finalize before physics server
Moves finalize_navigation_server() before physics server (and also OS in 3.x). The NavigationServer command queue can have objects from other servers like physics or visuals so it needs to be flushed before.
2022-12-20 11:16:47 +01:00
Fredia Huya-Kouadio 4110d48b63 Add boot splash for the Godot Editor 2022-12-16 09:54:50 -08:00
dogboydog 6903922ace set exit code EXIT_FAILURE when --build-solutions fails 2022-11-29 23:25:28 -05:00
Fredia Huya-Kouadio 5aab84befb Fix 'save & restart' logic for the Android Editor 2022-11-16 03:29:40 -08:00
Rémi Verschelde 92aedd5063
Merge pull request #68190 from ztc0611/3.x-ios-promotion
[3.x] Add ProMotion/High Refresh Rate Support to iOS Exports
2022-11-03 11:34:22 +01:00
Zach Coleman e538771d4f [3.x] Add ProMotion Support to iOS Exports 2022-11-02 22:14:34 -04:00
Zach Coleman 5e7b0e3a61 [3.x] Add iOS UI Options 2022-11-02 22:13:18 -04:00
Pedro J. Estébanez 5d0cd8659b Fix forwarding of CLI arguments taking an option
(cherry picked from commit 335a4099de)
2022-08-29 15:53:25 +02:00
Danil Alexeev bf33de769a Add boot splash display time setting
Implements #8867.

(cherry picked from commit dad9683d11)
2022-08-24 17:30:00 +02:00
Pedro J. Estébanez 4dd3e95377 Overhaul CLI argument forwarding to processes started by the editor 2022-08-19 11:13:56 +02:00
Jan Haller 861e155543 Fix exit code of --help and --version, and test them in CI
Corrects prior regression which caused ERROR output and exit code of 1.

(cherry picked from commit d38d76d039)
2022-07-08 14:54:16 +02:00
Jan Haller da78e92321 Command line arguments '--version' and '--help' return exit code 0 instead of 255
Allows to detect whether those commands executed successfully, which makes integration with shell scripts/CI/bindings straightforward.

(cherry picked from commit e3a8edf536)
2022-07-08 14:54:10 +02:00
Rémi Verschelde cc9dd00e1a Revert "Command line arguments '--version' and '--help' return exit code 0 instead of 255"
This reverts commit 9e165a8c2b.
See https://github.com/godotengine/godot/pull/62550#issuecomment-1172745325.
2022-07-02 00:07:14 +02:00
Jan Haller 9e165a8c2b Command line arguments '--version' and '--help' return exit code 0 instead of 255
Allows to detect whether those commands executed successfully, which makes integration with shell scripts/CI/bindings straightforward.

(cherry picked from commit e3a8edf536)
2022-06-30 19:23:01 +02:00
Hugo Locurcio b853b8d065 Add a property hint for the iOS touch delay project setting
(cherry picked from commit 21da2fbbb0)
2022-06-16 10:20:52 +02:00
Hugo Locurcio bec892c010 Tweak default crash handler message in exported projects
When an exported project crashes, the crash handler message
shouldn't reference the Godot issue tracker, as not all crashes
are Godot's fault.

Reporting crashes that only occur on exported projects is still allowed,
but it should not be done by people who aren't working on the project
in question.

(cherry picked from commit c850ccb7c0)
2022-06-16 10:16:32 +02:00
Hugo Locurcio 8d813c4511 Hide the first `--print-fps` outputs after the engine has started
The first 2 or 3 prints are inaccurate since the engine has just
started at that point.

(cherry picked from commit 2d56dfb746)
2022-05-17 23:28:32 +02:00
kobewi 621cb8c52f Move Display settings higher in the list
(cherry picked from commit 739242dd04)
2022-05-16 17:14:43 +02:00
Fabio Alessandrelli 225e75daba [3.x] [Debugger] Add --debug-server CLI option.
Automatically starts the editor debug server at given <IP>:<PORT>.

E.g.:
 # Run editor and debug server listening on any interface, port 8080
godot3 -e --path proj/proj_empty --debug-server *:8080

 # Run the godot project connecting to that debug server.
godot3 --path proj/proj_empty --remote-debug 127.0.0.1:8080
2022-05-06 14:02:00 +02:00
lawnjelly df7fab51a3 Physics Interpolation - Flush transforms after physics tick
Leftover transforms from the physics tick were being flushed during idle, which was causing problems for physics interpolation.

This PR flushes the transforms at the end of the physics tick when physics interpolation is active.
2022-05-04 20:30:46 +01:00
lawnjelly ad9b2b3794 Physics Interpolation - add helper warnings
When physics interpolation is active on a node, it is essential that transforms are updated during "_physics_process()" rather than "_process()" calls, for the interpolation to give the correct result.

This PR adds optional warnings for instances, cameras and multimeshes which can flag updates being incorrectly called, and thus make these problems much easier to fix.
2022-04-26 13:56:02 +01:00
Jason Yundt 6ca73386d1 Improve autoload inheritance error message
Autoloaded scripts should always inherit from Node. When you run a
project that tries to autoload a script which doesn’t inherit from Node,
then Godot gives an error.

Before this change, the error said “Script does not inherit a Node”.
That error message is a little bit misleading. If a class inherits a
Node, then one of its superclasses has a Node. If a class inherits
_from_ Node, then one of its superclasses is Node. This change corrects
that mistake.

Fixes #59884.

(cherry picked from commit 1cc7e7ec33)
2022-04-13 11:43:49 +02:00
Rémi Verschelde ee818e1631
Merge pull request #54026 from ConteZero/primary_clipboard_linux_3.x 2022-03-14 18:52:20 +01:00
ConteZero 2ff0735329 Added primary clipboard for Linux 2022-03-14 15:28:36 +01:00
Pedro J. Estébanez 3d7821bf1f Drop mouse focus and over when gui input is globally disabled
Since some porjects may be relying on the former behavior, this is opt-in via a new project setting, disabled by default, but enabled for new projects, since it's the new standard behavior (and the only one in 4.0).
2022-03-14 11:06:26 +01:00
lawnjelly 688dc534e5 Fix get_global_transform_interpolated() with multiple ticks per frame
The previous and current transforms in the interpolation data were not being correctly updated in cases where two or more physics ticks occurred on a frame. This PR introduces a simple mechanism to ensure updates on interpolated spatials.
2022-02-25 11:22:00 +00:00
Rémi Verschelde f50c7f7415
Core: Move generated `VERSION_HASH` to a `.cpp` file
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.

(cherry picked from commit 90162851a7)
2022-02-10 13:06:56 +01:00
Rémi Verschelde 689f59dca0
Merge pull request #53463 from lawnjelly/vital_redraws
Add editor vital redraws only option
2022-02-04 21:42:49 +01:00
Rémi Verschelde 80306cc88a
EditorProperty: Fix range hint parsing with optional step
This could lead to have a step of 0 when parsing e.g. "1,10,is_greater".
2022-02-03 12:33:37 +01:00
lawnjelly a0c6d16c90 Add editor vital redraws only option
When editor continuous redraws is switched off, the editor only redraws when a redraw_request was issued by an element in the scene. This works well in most situations, but when scenes have dynamic content they will continuously issue redraw_requests.

This can be fine on high power desktops but can be an annoyance on lower power machines.

This PR splits redraw requests into high and low priority requests, defaulting to high priority. Requests due to e.g. shaders using TIME are assigned low priority.

An extra editor setting is used to record the user preference and an extra option is added to the editor spinner menu, to allow the user to select between 3 modes:

* Continuous
* Update all changes
* Update vital changes
2022-02-02 11:26:45 +00:00
Rémi Verschelde c938104a88
Merge pull request #56630 from Pineapple/replace-find-last 2022-01-18 16:36:52 +01:00
Rémi Verschelde 1ee44b2366
ImageLoader: Remove references to unsupported svgz extension
I don't see any reference to gzip/svgz supported in the nanosvg library,
and the handful of test gzip compressed svgz files I tried failed loading.

Also cleaning a couple missing includes in platform export code.
2022-01-17 10:52:32 +01:00
Rémi Verschelde a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Rémi Verschelde 8a192cd0ab
Merge pull request #55987 from bruvzg/wt🤎3 2022-01-10 16:43:56 +01:00
Bartłomiej T. Listwon 22750b1c03 Replace String::find_last with rfind where possible (backward compatible with old API) 2022-01-08 22:40:44 +01:00
Rémi Verschelde b197de6f5f
Fix typos with codespell
Using codespell 2.1.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
readded
seeked
statics
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2022-01-07 00:14:54 +01:00
Jake Young 09bc9eb101
Backport NavigationServer with RVO2 to `3.x`
Change the entire navigation system.
Remove editor prefix from nav mesh generator class. It is now used for baking
at runtime as well.
Navigation supports obstacle avoidance now with the RVO2 library.
Nav system will also automatically link all nav meshes together to form one
overall complete nav map.
2022-01-05 16:00:56 +01:00
Hugo Locurcio 20f76f2298
Print requested V-Sync mode when Print Fps is enabled
This can be used to diagnose why the printed FPS is locked to the
monitor refresh rate.
2021-12-20 21:28:06 +01:00
bruvzg 59085d5051
[Windows] Improve console handling and execute.
Always build with the GUI subsystem.
Redirect stdout and stderr output to the parent process console.
Use CreateProcessW for blocking `execute` calls with piped stdout and stderr (prevent console windows for popping up when used with the GUI subsystem build, and have more consistent behavior with non-blocking calls).
Add `open_console` argument to the `execute` to open a new console window (for both blocking and non-blocking calls).
Remove `interface/editor/hide_console_window` editor setting.
Remove `Toggle System Console` menu option.
Remove `set_console_visible` and `is_console_visible` functions.
2021-12-18 10:13:27 +02:00
Haoyu Qiu c11b1850c4 Make `--doctool` locale aware
* Adds `indent(prefix)` to `String`
* Moves the loading of tool/doc translation into
  `editor/editor_translation.{h,cpp}`
* Makes use of doc translation when generating XML class references, and
  setup the translation locale based on `-l LOCALE` CLI parameter.

The XML class reference won't be translated if `-l LOCALE` parameter is
not given, or when it's `-l en`.
2021-12-16 18:27:32 +08:00
lawnjelly 3d981b8265 Add option to use handles to RID
Adds an option to compile an alternative implementation for RIDs, which allows checks for erroneous usage patterns as well as providing leak tests.
2021-12-06 14:43:34 +00:00
Rémi Verschelde d5b22e614e
Merge pull request #55484 from pycbouh/theme-load-and-order-3.x 2021-12-02 17:20:31 +01:00
Rémi Verschelde f9bafe4ba4
Remove editor splash screen with sponsors logo
The Godot Project Leadership Committe has decided to update the sponsoring
tiers so that the Platinum Sponsorship no longer includes a logo on the
editor splash screen.

This lets us reclaim the editor splash screen space for community-related
content instead of sponsors (e.g. a different community-designed splash
screen for each stable branch?).

Also removes two Platinum Sponsors whose sponsorship has expired earlier this
year.

(cherry picked from commit c283fce698)
2021-12-01 14:18:29 +01:00