summaryrefslogtreecommitdiffstats
path: root/core/script_debugger_remote.h
Commit message (Collapse)AuthorAgeFilesLines
* Refactor ScriptDebugger.Fabio Alessandrelli2020-03-081-315/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | EngineDebugger is the new interface to access the debugger. It tries to be as agnostic as possible on the data that various subsystems can expose. It allows 2 types of interactions: - Profilers: A subsystem can register a profiler, assigning it a unique name. That name can be used to activate the profiler or add data to it. The registered profiler can be composed of up to 3 functions: - Toggle: called when the profiler is activated/deactivated. - Add: called whenever data is added to the debugger (via `EngineDebugger::profiler_add_frame_data`) - Tick: called every frame (during idle), receives frame times. - Captures: (Only relevant in remote debugger for now) A subsystem can register a capture, assigning it a unique name. When receiving a message, the remote debugger will check if it starts with `[prefix]:` and call the associated capture with name `prefix`. Port MultiplayerAPI, Servers, Scripts, Visual, Performance to the new profiler system. Port SceneDebugger and RemoteDebugger to the new capture system. The LocalDebugger also uses the new profiler system for scripts profiling.
* ScriptDebuggerRemote use threadsFabio Alessandrelli2020-03-081-6/+5
|
* Reimplement Mutex with C++'s <mutex>Pedro J. Estébanez2020-02-261-1/+1
| | | | | | | | | | | | | | | | Main: - It's now implemented thanks to `<mutex>`. No more platform-specific implementations. - `BinaryMutex` (non-recursive) is added, as an alternative for special cases. - Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes. - Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts. - A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this. - `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`. - Thread-safe utilities are therefore simpler now. Misc.: - `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same. - Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock). - `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
* Huge Debugger/EditorDebugger refactor.Fabio Alessandrelli2020-02-211-0/+316
|
* Implement game camera overrideErik2019-10-231-196/+0
| | | | | | | | | | | | | | | | | | | | | | 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.
* Merge pull request #31870 from JFonS/add_network_profilerFabio Alessandrelli2019-09-051-0/+9
|\ | | | | Add network profiler
| * Add network profilerjfons2019-09-051-0/+9
| |
* | Adds skip-breakpoints featureiwek72019-09-031-1/+5
|/
* Cap the number of warnings/errors per second rather than per frameHugo Locurcio2019-07-311-1/+5
| | | | | | | | | | | | This reproduces the behavior used for printing when using the remote debugger. The default limit is 100 errors and 100 warnings per second, which makes it possible to display much more GDScript warnings before overflowing. This also adds a "Too many warnings" message, so that warnings don't look like errors when overflowing anymore. This closes #21896.
* Revert accidental commitsPedro J. Estébanez2019-03-201-5/+0
| | | | | This reverts commit fb37284c027b494ed3ec21124001fcb729f42cc4. This reverts commit 4db0f51b9aa76cfc7649787fe1970af606ce8dab.
* Create live view dock [wip]Pedro J. Estébanez2019-03-201-0/+5
|
* Make allowed pid for window takeover happen immediately, fixes #21431Juan Linietsky2019-02-231-4/+0
|
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-5/+5
| | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* Fix debugger focus stealingPedro J. Estébanez2018-05-281-0/+5
| | | | At least on Windows, the authorization must be given every time, not only at startup.
* Save runtime node as scene from the remote scene tree.geequlim2018-02-221-0/+2
|
* Mono: Implement stack info for errors and exceptionsIgnacio Etcheverry2018-01-091-0/+1
|
* Merge pull request #15297 from poke1024/runner-limit-errsRémi Verschelde2018-01-071-0/+4
|\ | | | | Limit number of errors and messages sent by runner
| * Limit number of errors and messages sent by runnerBernhard Liebl2018-01-031-0/+4
| |
* | Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
|/ | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Add print_error function, akin to print_lineGeorge Marques2017-11-161-1/+1
|
* Renamed fixed_process to physics_processAndreaCatania2017-09-301-2/+2
|
* Use HTTPS URL for Godot's website in the headersRémi Verschelde2017-08-271-1/+1
|
* -Properly check limits to objects sent (regarding to size), fixes #9034Juan Linietsky2017-08-181-0/+2
| | | | | -Changed the way objects are marshalled and sent to the debugger -Editing debugged objects happens in the remote inspector now
* Add "Godot Engine contributors" copyright lineRémi Verschelde2017-04-081-0/+1
|
* A Whole New World (clang-format edition)Rémi Verschelde2017-03-051-26/+16
| | | | | | | | | | | | | | | | | | | | | | | | I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
* Welcome in 2017, dear changelog reader!Rémi Verschelde2017-01-011-1/+1
| | | | | | | | That year should bring the long-awaited OpenGL ES 3.0 compatible renderer with state-of-the-art rendering techniques tuned to work as low as middle end handheld devices - without compromising with the possibilities given for higher end desktop games of course. Great times ahead for the Godot community and the gamers that will play our games!
* Ability to reload scripts on running gameJuan Linietsky2016-06-011-0/+2
|
* Real-Time Remote Inspector supportJuan Linietsky2016-05-221-0/+3
|
* First version of ProfilerJuan Linietsky2016-05-211-0/+36
| | | | | It is now possible to profile GDScript as well as some parts of Godot internals.
* Update copyright to 2016 in headersGeorge Marques2016-01-011-1/+1
|
* -Ability to debug video memory usageJuan Linietsky2015-10-211-0/+18
| | | | -Small fix to xml saver (swapping > and <)
* error debuggerJuan Linietsky2015-08-041-0/+27
| | | | | shows the list of errors that happened during running the game, traces can be analyzed
* Live edit WORK IN PROGRESSJuan Linietsky2015-08-021-0/+4
| | | | | | | | | | 1) press the heart while the game is running 2) select a scene to live edit from the opened scenes 3) edit/add/remove nodes or resources, change their properties, etc. 4) watch changes reflected in running game, in all places this scene is edited 5) It's not perfect obviously, but the aim of it is to try to reflect your changes as best as possible in the running game.
* Updated copyright year in all headersJuan Linietsky2015-04-181-1/+1
|
* GODOT IS OPEN SOURCEJuan Linietsky2014-02-091-0/+87