Age | Commit message (Collapse) | Author |
|
Only Vulkan is fully implemented for now, so OpenGL isn't available
in the project manager yet.
This also makes the rendering driver checks use lowercase names
everywhere for consistency.
|
|
[macOS] Modify `create_project` function to detect and run app bundles using NSWorkspace to ensure app window is registered and activated correctly.
|
|
- Rename OpenGL to GLES3 in the source code per community feedback.
- The renderer is still exposed as "OpenGL 3" to the user.
- Hide renderer selection dropdown until OpenGL support is more mature.
- The renderer can still be changed in the Project Settings or using
the `--rendering-driver opengl` command line argument.
- Remove commented out exporter code.
- Remove some OpenGL/DisplayServer-related debugging prints.
|
|
- Use lowercase driver names for the `--rendering-driver`
command line argument.
|
|
First implementation with Linux display manager.
- Add single-threaded mode for EditorResourcePreview (needed for OpenGL).
Co-authored-by: clayjohn <claynjohn@gmail.com>
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
|
|
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
|
|
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
|
|
this commit makes godot executable to return zero exit code
once a valid script is passed via --script during --check-only
|
|
That removal was correct, but triggered a bug in our messy-as-heck main.cpp
detection logic for editor/project manager/project/command line tool...
Fixing this is for another day.
|
|
|
|
Fixes #53913.
|
|
|
|
|
|
|
|
interface.
|
|
|
|
by destroying the XRServer too early
|
|
This gives visual feedback when not starting Godot from a terminal.
This could lead to confusion when placing a Godot binary within a
project folder that has no main scene defined.
|
|
|
|
This means you can start godot with --single-window
|
|
Add driver types to GD extension initialisation levels
|
|
|
|
|
|
|
|
Make platform feature tag names lowercase
|
|
|
|
Three attack points, all after the regular calculations:
1. Prevent negative physics timestep counts. They could occur if
physics_jtter_fix is changed at runtime.
2. idle_step is not allowed to go below 1/8th of the input step.
That could happen on physics_jitter_fix changes or heavily
fluctuating performance.
3. Prevent that the idle_step modification breaks the promise
that Engine.get_physics_interpolation_fraction() is between
0 and 1 by doing more physics steps than the base system wants.
Fixes #26887
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
|
|
Feature tag names are still case-sensitive, but this makes built-in
feature tags more consistent.
- `Windows` -> `windows`
- `OSX` -> `osx`
- `LinuxBSD` -> `linuxbsd`
- `Android` -> `android`
- `iOS` -> `ios`
- `HTML5` -> `html5`
- `JavaScript` -> `javascript`
- `UWP` -> `uwp`
|
|
|
|
Allow starting the editor debugger server for the given protocol (and
optionally bound to the given ip/port combination:
godot -e --debug-server tcp://*:8080
|
|
|
|
[cppcheck] Remove some redundant assignments.
|
|
Define a default minimum window size to workaround rendering issues
|
|
Use the `keep` stretch aspect by default
|
|
The minimum window size can still be set to `Vector2(0, 0)` in a script
if needed.
This closes #37242.
|
|
Use used_in_transfer instead of used_in_compute twice.
|
|
If enabled, key/touch/joystick events will be flushed just before every idle and physics frame.
Enabling this can greatly improve the responsiveness to input, specially in devices that need to run multiple physics frames per each idle frame, because of not being powerful enough to run at the target frame rate.
This will only work for platforms using input buffering (regardless event accumulation). Currenly, only Android does so, but could be implemented for iOS in an upcoming PR.
|
|
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).
|
|
Fixes and optimizations to mobile renderer
|
|
* Only apply final actions to attachments used in the last pass.
* Fixes to draw list final action (was using continue instead of read/drop).
* Profiling regions inside draw lists now properly throw errors.
* Ability to enable gpu profile printing from project settings. (used to debug).
|
|
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.
|
|
Also remove now unused "--no-window" option, and relative OS getter and
setter.
|
|
This is a security risk (especially when hosting a game server)
and can make audio non-functional on Linux.
|
|
|
|
Implement Resource UIDs
|
|
* Most resource types now have unique identifiers.
* Applies to text, binary and imported resources.
* File formats reference both by text and UID (when available). UID always has priority.
* Resource UIDs are 64 bits for better compatibility with the engine.
* Can be represented and used textually, example `uuid://dapwmgsmnl28u`.
* A special binary cache file is used and exported, containing the mappings.
Example of how it looks:
```GDScript
[gd_scene load_steps=2 format=3 uid="uid://dw86wq31afig2"]
[ext_resource type="PackedScene" uid="uid://bt36ojelx8q6c" path="res://subscene.scn" id="1_t56hs"]
```
GDScript, shaders and other special resource files can't currently provide UIDs, but this should be doable with special keywords on the files.
This will be reserved for future PRs.
|
|
|
|
|
|
There are many issues with using multiple windows by default:
- Taking screenshots of a specific window will not capture subwindows.
This also applies when recording a video using tools such as OBS.
- Subwindows may not behave correctly when fullscreen mode is enabled,
especially if exclusive fullscreen is implemented in the future
to decrease input lag on Windows.
"Subwindows" is quite general here, and also refers to dropdown menus
(e.g. those spawned by OptionButton) and Control tooltips.
Therefore, it's safer to embed subwindows by default in projects.
Multi-window mode remains the default in the editor.
|
|
* References (which include hash tables) can be profiled with --debug-stringnames
|