Commit Graph

186 Commits

Author SHA1 Message Date
Yuri Roubinsky de79e10951 [3.x] Add option to filter the stack variables of GDScript debugger 2022-03-07 14:49:57 +03: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 a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Raul Santos ba3e1d6ced Skip script property in remote object property list 2021-12-02 12:37:17 +01:00
Rémi Verschelde 70b521af79
Merge pull request #53013 from Calinou/editor-debugger-bottom-panel-error-warning-highlight-3.x 2021-11-08 13:15:46 +01:00
Hugo Locurcio d831836b09
Improve appearance of the editor Debugger bottom panel menu
- Make the Debugger bottom panel menu more prominent when
  there are errors or warnings by adjusting the text color.
- Add some spacing to the right of the error/warning icon
  for better visual appearance.
2021-10-27 17:01:10 +02:00
Hugo Locurcio 1e4967968f
Color error and warning lines in the editor debugger's Errors panel
This improves readability when some errors/warnings are unfolded,
as their stack traces will keep their original colors.
2021-09-24 15:53:41 +02:00
Marcel Admiraal 7e03bd1671 Remove duplicate WARN_PRINTS macro 2021-06-18 12:57:59 +01:00
Marcel Admiraal 5a58516231 Remove duplicate ERR_PRINTS macro 2021-06-16 11:56:25 +01:00
Rémi Verschelde 140350d767
Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2021-05-05 15:02:01 +02:00
Rémi Verschelde a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
Rémi Verschelde 3d15f04668
Style: clang-format: Disable AllowShortIfStatementsOnASingleLine 2021-05-04 14:45:15 +02:00
Rémi Verschelde 6e600cb3f0
Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
Rémi Verschelde 48cc756f88
Merge pull request #37067 from zaksnet/multiple-editor-instances
Automatic remote debugger port assignment.
2021-05-01 12:57:35 +02:00
Zak c3cfb87548 Allow multiple editor instances to use different ports
Previously if more than one Godot editor was running then the debugger of one editor would not work because both editors were trying to connect on the same port.
This commit attempts to fix this by allowing the debugger to change the port at runtime in such cases.
2021-05-01 11:32:10 +02:00
Hugo Locurcio 7cb77a859a
Add a menu action to open C++ source on GitHub in the editor debugger
This helps user find back the source code where the error/warning
was emitted from.

(cherry picked from commit 5bc746e60a)
2021-04-26 12:52:15 +02:00
Ev1lbl0w bae4b0c952
Fix negative VRAM values 2021-03-09 09:51:17 +00:00
Pedro J. Estébanez 1b9a01948e Keep selected node visible after filter change
(Implemented both for the local and remote scene tree docks.)
2021-02-08 02:25:14 +01:00
Rémi Verschelde 49646383f1
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆

(cherry picked from commit b5334d14f7)
2021-01-13 16:17:06 +01:00
Rémi Verschelde c8859f0463
Fix typos with codespell
Using codespell 1.17.1.

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

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2020-09-18 14:09:51 +02:00
PouleyKetchoupp 83e376e731 Format remote printerr properly in script debugger output
Fixes #33324
2020-07-02 17:43:37 +02:00
Hugo Locurcio 0867fc2c4c Draw horizontal lines and labels in the editor performance monitors
This partially addresses
https://github.com/godotengine/godot-proposals/issues/1014.

(cherry picked from commit a593786d09)
2020-06-24 22:52:05 +02:00
PouleyKetchoupp c63c902c74 Fix dialog spam when inspecting MeshInstance from model file
Avoid load_scene for built-in resources to make sure we don't
open a scene tab and prompt for model file editing.

Load scene as regular resource instead and store the reference to keep
the dependency until the remote inspector cache is cleared.

(cherry picked from commit 01802074a0)
2020-06-10 15:30:51 +02:00
Hugo Locurcio d7f1a43d1a Use a different icon for the debugger tab with both warnings and errors
This makes it possible to see if both errors and warnings were
pushed without having to open the tab.

(cherry picked from commit 564f8ccc13)
2020-05-11 11:35:07 +02:00
Pedro J. Estébanez 5cb2cfe655 Add ability to export VRAM usage as CSV 2020-04-24 09:22:36 +02:00
Hugo Locurcio ca6ac71cdf Improve the Video RAM debugger UX
- Refresh tha tab automatically when switching to it.
- Disable the Refresh button if no project is currently being debugged.
- Scale the column widths on hiDPI displays.
- Rename the tab from "Video Mem" to "Video RAM" for consistency.

(cherry picked from commit 8f838f33b7)
2020-02-14 15:53:12 +01:00
Hugo Locurcio 74bf8b2d50 Allow saving anywhere when exporting CSV measures from the profiler
Previously, the CSV file could only be saved in `res://`. Since this is
an editor tool, it makes sense to allow saving anywhere on
the filesystem.

(cherry picked from commit 81f33df84b)
2020-02-06 13:02:08 +01:00
Hugo Locurcio 6e56d04616 Display times as milliseconds in the profiler and performance monitors
Small values are easier to read as milliseconds compared to seconds.

(cherry picked from commit f1d9dbfb08)
2020-02-06 13:02:08 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Haoyu Qiu 078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
Fabio Alessandrelli f8f5696394 Correct size for PacketPeerStream in Debugger.
We wanted 8 MiB but we were getting 16 MiB (minus 4 bytes for the
separator). We are now getting 8 MiB minus 4 bytes for encoding.
2019-12-21 16:50:29 +01:00
Hugo Locurcio 56d884ffde
Tweak error timestamp formatting to be more readable
This uses a `.` instead of `:` as the decimal separator and trims
the decimal part to 3 digits, as millisecond precision is usually
sufficient.
2019-12-02 18:55:46 +01:00
Rémi Verschelde 083d088de3
Merge pull request #33583 from qarmin/fix_overflows_unitialized
Fix some overflows and unitialized variables
2019-11-20 21:31:12 +01:00
Rafał Mikrut 99d8626f4a Fix some overflows and unitialized variables 2019-11-20 16:22:16 +01:00
PouleyKetchoupp 7e9a45842e Fixed ScriptEditorDebugger minimum size
Changed to MarginContainer to enforce debugger tabs minimum size on the parent, avoids overlapping controls with Profiler and Network Profiler tabs.

Fixes #20837
2019-11-18 09:42:28 +01:00
Rémi Verschelde 621dc7022f
Merge pull request #27742 from rxlecky/camera-replication
Game camera override
2019-11-08 10:02:18 +01:00
PouleyKetchoupp 13c88878c4 Fixed cases where labels with autowrap can overflow the editor ui
Fixes #33155
2019-11-04 10:12:36 +01:00
PouleyKetchoupp 3a26a0eaa7 Fixed remote inspector for tool scripts
Fixes #29506
2019-10-28 18:32:00 +01:00
PouleyKetchoupp 94a50839fe Fixed variables with built-in resource in remote inspector
Now loading the base resource first in ScriptEditorDebugger, the same way it's done in ScriptEditorPlugin.

Fixes #33013
2019-10-23 17:53:29 +02:00
Erik 8b0546d93b Implement game camera override
Implemented uniform API in Viewport class to override 2D and/or
3D camera.

Added buttons in 2D and 3D editor viewport toolbars that override
the running game camera transform with the editor viewport camera
transform. Implemented via remote debugger protocol and camera
override API.

Removed LiveEditFuncs function pointers from ScriptDebugger class.
Since the debugger got access to the SceneTree instance (if one
exists), there is no need to store the function pointers. The live
edit functions in SceneTree are used directly instead. Also removed
the static version of live edit functions in SceneTree for the same
reason. This reduced the SceneTree -> Debugger coupling too since
the function pointers don't need to be set from SceneTree anymore.

Moved script_debugger_remote.h/cpp from 'core/' to 'scene/debugger/'.
This is because the remote debugger is now using SceneTree directly
and 'core/' classes should not depend on 'scene/' classes.
2019-10-23 02:51:32 +01:00
lupoDharkael cc85be3aae Inspector: select self object after selecting a stack frame 2019-10-02 12:38:31 +02:00
Emmanuel Barroga ecba42e287 Fix remote-tree not displaying the node type
Fixes the remote-tree not displaying the node's type like the local-tree does.
2019-09-26 08:10:18 +02:00
Rémi Verschelde 4112d6c1b4 Show C++ error condition in script editor debugger
This was removed by @RyanStein in #21884 in the case where an error
message is provided, but this is actually useful information to have
even when there is a custom error message.

This PR makes it so that the "C++ Error" is shown whenever there is
a custom error message provided.

Also adds method name to the error item title, and re-adds the most
relevant info in the tooltip for quick error checks without expanding.

Renames C Error/Source to C++ Error/Source, since that's what it is.
And fix untranslatable entry due to misuse of TTR().

And some more cleanup for readability.

Cf. https://github.com/godotengine/godot/issues/32276#issuecomment-534119914
2019-09-25 10:49:44 +02:00
Rémi Verschelde 965e059146
Merge pull request #32258 from Calinou/improve-debugger-shortcut-ux
Improve the debugger shortcut UX
2019-09-23 14:59:44 +02:00
Rémi Verschelde a089057596
Merge pull request #32049 from codecustard/fix_remoteview_navto_inspected
Fix Remote Tree Navigate to Inspected
2019-09-23 08:13:34 +02:00
Hugo Locurcio 471a3ceb77
Improve the debugger shortcut UX
- Display the shortcut in the button tooltips by defining the shortcut
  on the buttons as well.
- Swap "Step Over" and "Step Into" in the Debug menu to match the button
  order in the Debugger bottom panel.
2019-09-22 19:19:53 +02:00
Hugo Locurcio ba566dff2e
Distinguish editor-originating messages in the editor log
This fades out messages originating from the editor to make messages
printed by the project stand out more.

This also tweaks wording in some editor messages for consistency.
2019-09-20 01:59:02 +02:00
Rémi Verschelde fc9985b770
Merge pull request #31961 from YeldhamDev/info_messages
Add informational messages to various editors
2019-09-19 20:06:44 +02:00
Emmanuel Barroga 6efbabeb9e Fix Remote Tree Navigate to Inspected
Fixes the regression of remote-tree not navigating to what is being inspected in the inspector.
2019-09-08 19:52:37 -07:00