Commit graph

810 commits

Author SHA1 Message Date
FireForge
e8d1552af2 Add an inspector preview for BitMap 2022-05-02 09:16:34 +08:00
Hugo Locurcio
2bc036dad5 Add an external link editor icon
This replaces the existing "chainlink" instance icon that was
used for external links. That icon is still used for scene instancing.

The icon was designed by redlamp.

Co-authored-by: Taylor Wright <taylor@redlamp.org>
(cherry picked from commit 5626d026d8)
2022-04-27 12:30:31 +02:00
Haoyu Qiu
d088128b43 Remove duplicate editor settings definitions 2022-04-27 15:26:46 +08:00
Rémi Verschelde
ac24644464
Merge pull request #60536 from timothyqiu/class-name-icon-3.x
[3.x] Fix custom class icon when it inherits from a script
2022-04-27 08:06:02 +02:00
Rémi Verschelde
1f7a2328a3
Merge pull request #59338 from fire-forge/raycast2d-editor-3.x
[3.x] Add an editor handle for `RayCast2D.cast_to`
2022-04-27 07:57:00 +02:00
Haoyu Qiu
42448d7587 Fix custom class icon when it inherits from a script 2022-04-27 10:01:08 +08:00
Haoyu Qiu
8d9071542b Localize unnamed project name in editor window title
(cherry picked from commit 35d0878139)
2022-04-13 11:43:49 +02:00
Vitika9
8d1827cf7c Made reload current project ask for confirmation with unsaved changes
(cherry picked from commit eb81ac8fc5)
2022-03-29 00:03:53 +02:00
Fredy Huya-Kouadio
cb0b2aefc3 Android port of the Godot Editor
These set of changes focus primarily on getting the core logic and overall Godot Editor UI and functionality up and running natively on Android devices.
UI tweaks / cleanup / polish, as well configuration for Android specific functionality / restrictions will be addressed in follow-up PRs iteratively based on feedback.

Co-authored-by: thebestnom <shoval.arad@gmail.com>
2022-03-28 07:54:10 -07:00
Haoyu Qiu
b1044b9b86 Add property name style toggle to Inspector 2022-03-28 17:10:41 +08:00
Haoyu Qiu
37d4306c2e Update SceneTree debug colors when settings changed 2022-03-28 10:49:13 +08:00
FireForge
da18e44803 Add a RayCast2D.cast_to editor handle 2022-03-19 23:23:11 -05:00
FireForge
d76c9f8d92 Add a GradientTexture2D editor plugin 2022-03-18 13:18:10 -05:00
Rémi Verschelde
153a068958
Merge pull request #58634 from timothyqiu/property-i18n-3.x 2022-03-10 21:08:38 +01:00
Haoyu Qiu
2c3646b37b Add missing i18n to various strings
(cherry picked from commit 25d93200c8)
2022-03-10 19:01:52 +01:00
Haoyu Qiu
aaff2e3982 i18n: Make property paths and sections translatable
Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-03-03 15:33:46 +08:00
Hugo Locurcio
92e6c2a33d Use versioned URL for "Online Documentation" buttons in the editor
This also avoids a redirect, making the page appear to load faster.

(cherry picked from commit 958912a33f)
2022-02-19 15:49:26 +01: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
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
Hugo Locurcio
8948b36f0d
Add project setting to change scene file casing
The default behavior is unchanged (the root node name is used as-is).
2022-01-21 02:00:43 +01:00
Hugo Locurcio
856f2d0f8f
Add shortcuts for New Scene and New Inherited Scene actions
These default to Ctrl + N and Ctrl + Shift + N respectively.
2022-01-20 20:34:05 +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
zacryol
6fc587a6e5
Reword "Open Project Data Folder" as "Open User Data Folder"
Clarifies that the button opens the user:// dir
and for better consistency with certain ProjectSettings values:

"Use Hidden Project Data Directory" is named similarly, but refers to data within res://
and two values refer to user:// as "User Dir"
(Translations were not updated)

and rename enum value accordingly

(cherry picked from commit 54018e4021)
2022-01-12 17:39:31 +01:00
Rémi Verschelde
8a192cd0ab
Merge pull request #55987 from bruvzg/wt🤎3 2022-01-10 16:43:56 +01:00
Rémi Verschelde
edd9534f97
Merge pull request #53900 from ChronicallySerious/update-vcs-1 2022-01-10 12:18:57 +01:00
kobewi
ad767b2ec4
Don't edit foreign resources when restoring scene
(cherry picked from commit 363a9c674a)
2022-01-06 00:27:35 +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
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
kobewi
f899b76747 Improve save handling for built-in scripts 2021-12-04 01:28:52 +01:00
janglee
0b327eb46e VCS: Add push, pull, fetch and improved diff view to VCS UI
This commit was created by merging the commits presented in #39255 for
the GSoC 2020 VCS Improvement project

VCS: Make EditorVCSInterface store less amount of internal state

VCS: Add force push checkbox + more frequent VCS updates

Add force push checkbox in the Commit dock. Also add some missing
opportunities for checking the VCS state again on from UI inputs

VCS: Fix script contents not being updated on merge conflict

VCS: Add branch creation VCS interface calls

VCS: Add VCS remote creation and remote selection menus

VCS: Show more commit information + Fix truncated commit offsets

VCS: Make VCS less noisy + Fix diff view refreshes

VCS: Fix mismatched argument names in VCS helpers

VCS: Add SSH transport support for remote operations

Also, moves the editor's VCS settings registrations to
project_settings.cpp and editor_settings.cpp

VCS: Change TTR() to vformat() for branch and remote removal text

VCS: Add VCS branch icon instead of using Tree node icon

Co-authored-by: @ChronicallySerious
2021-12-01 22:52:07 +05:30
kobewi
b8af671a95
Improved some editor checkboxes
(cherry picked from commit 5dc7346ab4)
2021-11-25 22:03:59 +01:00
kobewi
969136e675
Ignore external editor for built-in scripts
(cherry picked from commit 9abb07efb4)
2021-11-15 17:22:47 +01:00
kobewi
e2fb8739df
Fix editor saving blank scenes (for real)
(cherry picked from commit 8144ac79cf)
2021-11-15 16:10:00 +01:00
Pedro J. Estébanez
4c710780d4 Implement async shader compilation plus caching for GL ES 3
Async. compilation via ubershader is currently available in the scene and particles shaders only.

Bonus:
- Use `#if defined()` syntax for not true conditionals, so they don't unnecessarily take a bit in the version flagset.
- Remove unused `ENABLE_CLIP_ALPHA` from scene shader.
- Remove unused `PARTICLES_COPY` from the particles shader.
- Remove unused uniform related code.
- Shader language/compiler: use ordered hash maps for deterministic code generation (needed for caching).
2021-11-09 12:19:12 +01:00
Pedro J. Estébanez
4dba25b3ff Add property value pinning 2021-11-08 17:42:27 +01:00
Rémi Verschelde
87c80f529f
clang-format: Enable BreakBeforeTernaryOperators
clang-format keeps breaking the way it handles break *after* ternary operators,
so I give up and go with the only style they seem to actually test.
2021-10-28 14:50:33 +02:00
Rémi Verschelde
42d385b312
clang-format: Disable alignment of operands, too unreliable
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`.
2021-10-28 13:23:38 +02:00
Max Hilbrunner
e29126914d
Save all 64 bits of get_ticks_msec() in more cases
(cherry picked from commit 5dc02eb8b0)
2021-10-26 18:23:31 +02:00
Matthew Newall
3149eabdc0
Fixed editor attempting to save a blank scene with save all scenes
(cherry picked from commit e10d0d76bc)
2021-10-15 12:51:38 +02:00
Matthew Newall
8f66e6148d
Corrected Save Scene and Save All Scenes not working when the scene's dir no longer exists
(cherry picked from commit ed2280528f)
2021-09-29 11:04:49 +02:00
Rémi Verschelde
abe0535fc0
Revert "Load assets before enabling editor plugins"
This reverts commit 55f9ae3d21.

It caused regressions #52968 and #52995.
2021-09-27 18:28:01 +02:00
TechnoPorg
55f9ae3d21
Load assets before enabling editor plugins
Moves the code for enabling plugins from NOTIFICATION_READY to after the first scan has been completed.

(cherry picked from commit 1963c63b91)
2021-09-21 17:15:00 +02:00
kobewi
fe745e2fff
Close built-in script from any scene
(cherry picked from commit 1a60509699)
2021-09-19 11:30:29 +02:00
Hugo Locurcio
2cd626185c
Capitalize properties in the remote inspector
This makes property casing consistent with the editor.

If property capitalization is disabled in the Editor Settings,
the remote inspector will also disable capitalization.

(cherry picked from commit 854f328517)
2021-09-19 11:30:21 +02:00
Vincent
ea13ff860d
implement individual mesh transform for meshlibrary items
(cherry picked from commit 70108fd850)
2021-09-14 13:41:22 +02:00
Hugo Locurcio
27e38b0f26
Improve the editor window title for better usability
- Display the scene name, then the project name, then "Godot Engine".
- Display the "modified" mark before anytihng else.

Both of these changes ensure important, project-specific elements
can always be seen in the task bar which may truncate strings due to
its low per-item width.

- Use "Unnamed Project" if the project has no name (similar to the
  Project Manager).
2021-08-22 08:59:42 +02:00
Haoyu Qiu
5f316aa216 Improve Undo/Redo menu items
* Make Undo/Redo menu items disabled when clicking it does nothing.
    * Context menu of `TextEdit`
    * Context menu of `LineEdit`
    * Editor's Scene menu
    * Script editor's Edit menu and context menu  (for Script and Text)
* Make editor undo/redo log messages translatable.
* Mark `UndoRedo`'s `has_{un,re}do()` methods as `const`.
* Expose `TextEdit`'s `has_{un,re}do()` to scripts since `{un,re}do()` are already available.
2021-08-18 00:46:51 +08:00
lawnjelly
115f4dce55 Sphere occluders (portals and general use)
Add framework for supporting geometrical occluders within rooms, and add support for sphere occluders.
Includes gizmos for editing.

They also work outside the portal system.
2021-08-17 09:02:06 +01:00
kobewi
b730ea9ad3
Don't save project on startup in headless or no-window mode
(cherry picked from commit ea2489ce93)
2021-08-13 10:20:01 +02:00
Haoyu Qiu
cdaae2abfb
Fixes crash when AnimationPlayer reset on save
(cherry picked from commit 96f077a18d)
2021-08-12 16:43:23 +02:00