Commit Graph

162 Commits

Author SHA1 Message Date
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
Rémi Verschelde 4ee8ecd3ef
Merge pull request #31989 from sparkart/revert-30833-fix_inspector_clear_remote_node
Revert "Fix Clearing Inspector for Remote Node"
2019-09-05 17:38:57 +02:00
Fabio Alessandrelli 768d637a1b
Merge pull request #31870 from JFonS/add_network_profiler
Add network profiler
2019-09-05 16:34:36 +02:00
Emmanuel Barroga 2bac4e1784
Revert "Fix Clearing Inspector for Remote Node" 2019-09-05 06:58:36 -07:00
jfons 8244f535cd Add network profiler 2019-09-05 09:48:36 +02:00
Michael Alexsander Silva Dias 5f3a55acb7 Add informational messages to various editors 2019-09-04 12:37:11 -03:00
iwek7 617797c47c Adds skip-breakpoints feature 2019-09-03 20:49:09 +02:00
Rémi Verschelde 0cff5d0b30
Merge pull request #30833 from sparkart/fix_inspector_clear_remote_node
Fix Clearing Inspector for Remote Node
2019-08-23 09:13:06 +02:00
Silvano Cerza d8dae84c9a Fixed remote scene tree not collapsing 2019-07-30 15:11:13 +02:00
Emmanuel Barroga 2f2abadefe Fix Clearing Inspector for Remote Node
Resolves: #30731

When you stop debugging... if you were inspecting a remote node, partial information about the remote node remained in the inspector (e.g. name and warning).

To resolve this, called EditorNode::edit_current() instead of EditorInspector::edit(NULL), which will call all the methods required using "NULL" if the current selected object is NULL.

In EditorPath::update_path() if the selected object is NULL, it does not update the path to reflect this change, basically does nothing. To fix this, we nullify everything, before the history loop.
2019-07-25 22:10:49 -07:00
Michael Alexsander Silva Dias 7f12618fdf Fix text position in the debugger's "Monitors" tab not being an integer 2019-07-25 11:02:17 -03:00
Michael Alexsander Silva Dias a2c4e4d6ff Center text in the debugger's "Monitors" tab 2019-07-24 21:52:47 -03:00
Rémi Verschelde 21a2cd1a04
Merge pull request #23270 from silvanocerza/remote_scene_tree_filter
Implemented remote scene tree filtering
2019-07-19 15:38:07 +02:00
Rémi Verschelde 4d99408d12
Merge pull request #28884 from vnen/yield-resume-stack
Keep GDScript functions in stack while yielding
2019-07-01 16:35:26 +02:00
Rémi Verschelde 5c66771e3e
Merge pull request #29283 from qarmin/fix_some_always_same_values
Remove always true/false values
2019-06-20 21:10:10 +02:00
qarmin 072e40368e Fix always true/false values 2019-06-20 16:59:48 +02:00
Rémi Verschelde 7fa941bfd8
Merge pull request #29463 from Faless/editor/debugger_take_connection
Editor debugger now always handle connections.
2019-06-19 12:47:51 +02:00
Fabio Alessandrelli 108de5a734 Editor debugger now always handle connections.
The editor debugger used to only take the first client connection,
leaving potential new connections hanging until TCP timeout.
This caused a lock after some time when running multiple game/editor
instances, as the client will fill the write buffer, and then lock until
timeout (as the editor server would never read from that socket).

The editor now drops new connections immediately if it is already
connected to a client.
2019-06-19 11:45:45 +02:00
Hugo Locurcio 746bfc3662
Fix display of large sizes in the editor monitors
Unlike the old custom method, the `String::humanize_size()`
method works well with file sizes above 2 GB.

This also tweaks the suffixes for spacing consistency and
uses the correct acronym for exabytes (EB).

This closes #29610.
2019-06-08 22:05:57 +02:00
Hugo Locurcio b615277a07
Improve the performance monitor display
- Use dark colors when using a light theme for better visibility
- Enable antialiasing (only effective when using the GLES3 renderer)
- Make graph lines thinner but opaque
- Scale graph line widths on hiDPI displays
2019-06-03 23:30:05 +02:00
Rémi Verschelde 21ee1d2198
Merge pull request #25516 from bojidar-bg/25487-folding-remote-tree
Fix remote scene tree root folding
2019-05-29 17:51:12 +02:00
Silvano Cerza f23e1aab34 Implemented remote scene tree filtering
User can now filter the remote scene tree, like the local one is filtered, while
the game is running
2019-05-27 17:46:57 +02:00
hbina085 5f862ee186 Now able to "Copy Node Path" from Remote tab". Fixes issue 28585. 2019-05-17 00:49:37 -04:00
George Marques 9df1a2442b
Show function name in debugger stack trace
Also show script and line when the instance is gone when resuming from
yield.
2019-05-14 11:39:44 -03:00
Rémi Verschelde 23147ae2c3
Merge pull request #28101 from MunWolf/debugger_cursor
Added a marker in text_edit that tells which row is executing.
2019-04-29 18:38:38 +02:00