Commit graph

257 commits

Author SHA1 Message Date
Fabio Alessandrelli b8ddaf9c33 Refactor ScriptDebugger.
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.
2020-03-08 12:36:39 +01:00
fhuya f097defba1 Re-architecture of the Godot Android plugin. 2020-03-05 10:00:19 -08:00
clayjohn 3e299aa225 Basic fast filtering implementation 2020-02-27 22:30:34 -08:00
Hugo Locurcio b89a37269b
Improve documentation related to fixed physics processing 2020-02-27 22:23:46 +01:00
Rémi Verschelde 49fec646cb Fix compilation warnings and re-enable werror=yes on Travis
Fix -Wunused-variable, -Wunused-but-set-variable and -Wswitch warnings
raised by GCC 8 and 9.

Fix -Wunused-function, -Wunused-private-field and
-Wtautological-constant-out-of-range-compare raised by Clang.

Fix MSVC 2019 warning C4804 (unsafe use of type 'bool' in comparison
operation).

GCC -Wcpp warnings/Clang -W#warnings (`#warning`) are no longer raising
errors and will thus not abort compilation with `werror=yes`.

Treat glslang headers are system headers to avoid raising warnings.

Re-enables us to build with `werror=yes` on Linux and macOS, thus
catching warnings that would be introduced by new code.

Fixes #36132.
2020-02-18 20:51:25 +01:00
Rémi Verschelde 213a85521d doc: Sync classref with current source
Handle removal of Pool*Array types and other recent changes.
2020-02-18 14:02:02 +01:00
Rémi Verschelde 2f6ca917f7
Merge pull request #36174 from akien-mga/byebye-openghell-3
Remove obsolete GLES3 backend
2020-02-13 11:24:15 +01:00
Rémi Verschelde 386968ea97 Remove obsolete GLES3 backend
Due to the port to Vulkan and complete redesign of the rendering backend,
the `drivers/gles3` code is no longer usable in this state and is not
planned to be ported to the new architecture.

The GLES2 backend is kept (while still disabled and non-working) as it
will eventually be ported to serve as the low-end renderer for Godot 4.0.

Some GLES3 features might be selectively ported to the updated GLES2
backend if there's a need for them, and extensions we can use for that.

So long, OpenGL driver bugs!
2020-02-13 10:36:44 +01:00
Rémi Verschelde 1f39a2d3e6 Remove deprecated sync and slave networking keywords
Those keywords were deprecated for 3.1 in #22087.

Also fix token name for `TK_REMOTE`, should be "remote" like the keyword.
2020-02-13 08:59:36 +01:00
Rémi Verschelde 0e3d625737 doc: Sync classref with current source
Lots of internal API changes and some docstrings were lost in the conversion.
I manually salvaged many of them but for all the rendering-related ones, an
additional pass is needed.

Added missing enum bindings in BaseMaterial3D and VisualServer.
2020-02-12 12:37:13 +01:00
clayjohn 57e27683ba Update docs to version 4.0 2020-01-31 17:15:41 -08:00
Rémi Verschelde 2d20fc39aa doc: Drop unused 'category' property from header
We already removed it from the online docs with #35132.

Currently it can only be "Built-In Types" (Variant types) or "Core"
(everything else), which is of limited use.

We might also want to consider dropping it from `ClassDB` altogether
in Godot 4.0.
2020-01-26 16:02:39 +01:00
Rémi Verschelde 3697ea799c doc: Document all remaining ProjectSettings 2020-01-26 13:37:21 +01:00
clayjohn eb5cb5d016 Add project setting for max irradiance size 2020-01-25 13:27:13 -08:00
Hugo Locurcio 1b9b07e658
Document how to change the default gravity at runtime
Changing the default gravity at runtime isn't exactly obvious,
so it makes sense to add a code sample.
2020-01-25 16:28:28 +01:00
clayjohn 6b66957b85 Finish documenting CSG* and *probes 2020-01-23 13:54:17 +01:00
Bojidar Marinov b4770c0a27
Add settings from SceneTree in the documentation
Fixes #35439
2020-01-22 22:37:56 +02:00
Bojidar Marinov 387ee7d763
Get real default values for project settings in documentation
Also, ignore custom project settings and values for input/ entries

Fixes #34154
2020-01-22 15:57:10 +02:00
Rémi Verschelde ab97f78fa5 Revert "Enable Vsync via Compositor by default"
This reverts commit 9600fd5dde.

Add comment warning about possible implications of using this option.

Fixes #35038.
2020-01-13 09:33:27 +01:00
Rémi Verschelde 7f9bf5472c doc: Sync classref with current source 2020-01-12 14:30:21 +01:00
Hugo Locurcio 9600fd5dde
Enable Vsync via Compositor by default
This feature was added in #33414 but it was disabled by default.
Now that it got some testing, it's probably safe to enable it
by default.
2020-01-09 22:22:11 +01:00
Rémi Verschelde c64c46db1d doc: Sync classref with current source 2019-12-17 11:43:07 +01:00
Rémi Verschelde cf3a863fa9
Merge pull request #34229 from NoFr1ends/fix-home-indicator-ios
Allow to change the home indicator behaviour on iOS
2019-12-13 14:00:14 +01:00
Jonas Bernemann 4d61118f64 Add project setting to hide home indicator on iOS
On iOS devices without a physical home button iOS
shows a home indicator instead. This is often in the
way of the UI or the game.
Added a project setting to disable hidden home indicator.
The default value is to hide the home indicator
2019-12-13 11:00:18 +01:00
Rémi Verschelde 37d164e24e CharFXTransform: Drop unnecessary get_value_or()
See https://github.com/godotengine/godot/pull/23658#issuecomment-562706669
The method was implemented back when Dictionary.get(key, default) did not
exist, but now that it does we do not need a custom method in CharFXTransform.

It's a new feature in 3.2, so does not break compat with 3.1.x.
2019-12-12 07:47:08 +01:00
Rémi Verschelde 4eff13d768 doc: Markup fixes for enums and constants 2019-12-06 23:09:20 +01:00
TerminalJack e1dda5195c Added support for vertical syncing via the Windows OS compositor (DWM.) 2019-12-04 11:14:21 +01:00
Rémi Verschelde 9d4e596c69 doc: Sync classref with current source
Fix incomplete binding.
2019-11-08 16:00:01 +01:00
Hugo Locurcio 8ca0f1a71c
Remove unused editor/active project setting
This closes #33322.
2019-11-04 14:35:46 +01:00
conankzhang e72d6cf54a Add descriptions to set_initial_value and set_setting. 2019-10-30 23:39:24 -07:00
Hugo Locurcio a57c265266
Document override.cfg behavior in the ProjectSettings class 2019-10-25 21:54:38 +02:00
homer666 0c75cac7de Fix silly mistake in ProjectSettings docs 2019-10-05 05:13:15 +10:00
homer666 3ba3cd7b61 Improve ProjectSettings window docs 2019-10-04 06:09:45 +10:00
Max Hunt 2a642e1e6d Improve documentation of ProjectSettings class 2019-09-27 07:32:35 +01:00
Rémi Verschelde 28fcc5e25a
Merge pull request #32291 from Dragoncraft89/add_load_resource_flag
Add flag to control the replacement of files by ProjectSettings.load_resource_pack
2019-09-25 16:30:01 +02:00
Florian Kothmeier aae25abf30
Add flag to control the replacement of files by ProjectSettings.load_resource_pack 2019-09-25 15:29:59 +02:00
Rémi Verschelde 0bcc2c2f5f
Merge pull request #31976 from Calinou/doc-improve-shadow-atlas-sizes
Improve documentation pertaining to shadow atlas sizes
2019-09-24 11:06:05 +02:00
luz.paz 91ecd7b6a6 Fix misc. source comment typos
Found using `codespell -q 3 -S ./thirdparty,*.po -L ang,ba,cas,dof,doubleclick,fave,hist,leapyear,lod,nd,numer,ois,paket,seeked,sinc,switchs,te,uint -D ~/Projects/codespell/codespell_lib/data/dictionary.txt `
2019-09-19 14:36:52 -04:00
Hugo Locurcio 789be6596b
Improve documentation pertaining to shadow atlas sizes
This partially addresses #27650.
2019-09-04 23:32:46 +02:00
Rémi Verschelde 65d61d0360 doc: Sync classref with current source 2019-08-29 15:33:52 +02:00
Hugo Locurcio 5bd01bf637
Add a project description setting
The description is displayed as a tooltip when hovering the project
in the Project Manager. It can span multiple lines.

This partially addresses #8167.
2019-08-28 22:34:29 +02:00
Rémi Verschelde 1349e0e585 doc: Sync classref with current source
Fix wrong hyperlinks in Control and Tree.
2019-08-22 14:49:30 +02:00
Hugo Locurcio 47c615caf3
Cap the number of warnings/errors per second rather than per frame
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.
2019-07-31 17:29:26 +02:00
Rémi Verschelde 051b5b3d15 doc: Sync classref with current source 2019-07-29 21:12:57 +02:00
Rémi Verschelde 639127de09
Merge pull request #30898 from clayjohn/max-lights-reflections
Add project setting for max lights and reflections in GLES3
2019-07-29 16:01:53 +02:00
clayjohn 1a981ef268 add project setting for max lights and reflections in gles3 2019-07-28 17:54:25 -07:00
Hugo Locurcio b1e382178c
Disable high-quality voxel cone tracing by default
This makes GIProbe significantly faster out of the box, at the cost
of worse-looking GIProbe reflections.

This closes #30727.
2019-07-21 17:39:03 +02:00
Rémi Verschelde efd55631e2 doc: Sync classref with current source 2019-07-15 20:45:30 +02:00
Rémi Verschelde 9580c2b13e TreeItem: Rename new button disable method to set_button_disabled
Follow-up to #30408.

Also sync classref with current source.
2019-07-09 09:17:42 +02:00
Rémi Verschelde a78373ddc2 doc: Remove null default values that can't be determined
Applying #30187.
2019-06-30 13:58:07 +02:00
Rémi Verschelde c6cea6e9b3 doc: Add default values to all properties
Thanks to @bojidar-bg's impressive work in #29380.
2019-06-30 13:58:07 +02:00
Hugo Locurcio f7f6115f76
Proofread and improve the whole class reference
- Document a few more properties and methods
- Add more information to many classes
- Fix lots of typos and gramar mistakes
- Use [code] tags for parameters consistently
- Use [b] and [i] tags consistently
- Put "Warning:" and "Note:" on their own line to be more visible,
  and make them always bold
- Tweak formatting in code examples to be more readable
- Use double quotes consistently
- Add more links to third-party technologies
2019-06-27 22:30:19 +02:00
Rémi Verschelde 9c7cce3c9b doc: Sync classref with current source, fix formatting issues 2019-06-16 11:22:38 +02:00
Rémi Verschelde 0e6cac8ab8
Merge pull request #29465 from bruvzg/per_pixel_transp_impr
Removes redundant "splash" setting, improves per pixel transparency documentation.
2019-06-12 12:50:17 +02:00
Rémi Verschelde c7246d8e1e makerst: Fix format of [url] links in reST
Moved some logic to make_url in an attempt to reuse it in the parser,
but it proved too complex so I ended up not using it. I kept it as a
separate method nevertheless.
2019-06-11 10:51:10 +02:00
bruvzg 54863b20e6
Removes redundant "display/window/per_pixel_transparency/splash" setting, improves per pixel transparency documentation. 2019-06-04 11:21:29 +03:00
Rémi Verschelde cfb9709c10 doc: Sync classref with current source 2019-06-01 12:34:29 +02:00
Rémi Verschelde 3a365c1fc0 doc: Sync classref with current source 2019-05-28 18:08:13 +02:00
Rémi Verschelde 996abb83e3 doc: Fix issues found by the parser 2019-05-15 13:00:45 +02:00
Hugo Locurcio 436d000066
Improve the ProjectSettings documentation 2019-04-24 13:37:14 +02:00
Rémi Verschelde ab4705a807
Merge pull request #28125 from KoBeWi/code_true_code
Consistently wrap booleans in [code]
2019-04-22 11:59:16 +02:00
Rémi Verschelde 268b520703 doc: Sync classref with current source 2019-04-19 11:21:09 +02:00
Rémi Verschelde 6af69f851a doc: Drop unused <demos> tag 2019-04-19 11:03:46 +02:00
Tomasz Chabora b0846f60c9 Consistently wrap booleans in [code] 2019-04-17 17:13:00 +02:00
Rémi Verschelde 09e94aa087 doc: Sync classref with current source 2019-04-15 14:49:41 +02:00
Rémi Verschelde 39c868171e doc: Bump version to 3.2 2019-04-01 12:33:56 +02:00
Rémi Verschelde 775e74e0d4
Merge pull request #26484 from Andrettin/Configurable-Tooltip-Offset
Make the Tooltip Position Offset Configurable
2019-03-13 20:12:22 +01:00
Rémi Verschelde c74bf2e6b1 Define android/modules globally so it appears in Project Settings
Until now people had to add it manually to project.godot to load custom modules.
2019-03-07 11:25:58 +01:00
Rémi Verschelde b0f782a0e3 Disable driver fallback to GLES2 by default
GLES2 is not designed to be a drop-in replacement for the GLES3 backend,
so the fallback mode has to be used knowingly. It *can* make sense for
simple projects which make sure to handle the differences between both
rendering backends, but most users should stick to one supported backend.

By making it opt-in, we can now use this parameter to define whether to
export ETC textures to Android and iOS when using GLES3 + Fallback.

When using GLES3 without Fallback on Android, set the proper min GLES
version in the AndroidManifest.

Also made the option boolean and renamed it for clarity and to avoid
conflict with the previous String option (which would always evaluate as
"true" otherwise).

Fixes #26569.
2019-03-05 16:36:46 +01:00
Andrettin 30c07c1ae1 Made the tooltip position offset configurable 2019-03-02 12:11:42 +01:00
Rémi Verschelde e7018e4017 ProjectSettings: fix category for per pixel transparency settings 2019-02-20 14:45:02 +01:00
Rémi Verschelde 02ffc59270 GLES2: Make Nvidia flicker workaround opt-in
It has a big impact on 2D and text rendering performance (cf. #24466)
so the solution seems worse than the bug it aims to work around.

It's now opt-in via "rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround"
for those who need it and have a simple enough game for the performance
drop not to be an issue.

Fixes #24466.
2019-01-14 19:02:07 +01:00
Rémi Verschelde a15620c83e doc: Fix wrong references found by Sphinx and new makerst.py 2019-01-07 12:15:01 +01:00
Rémi Verschelde 4629152d68 doc: Sync classref with current source 2018-12-15 01:39:02 +01:00
Rémi Verschelde 29a527fb90
Merge pull request #23799 from marcelofg55/custom_ps
Add application/config/project_settings_override option to override project settings
2018-12-14 08:58:29 +01:00
volzhs 7d387dc63f Request mic access only when is needed 2018-12-14 06:40:13 +09:00
Marcelo Fernandez 8dad3811c5 Add application/config/project_settings_override option to override project settings 2018-12-13 18:23:51 -03:00
Juan Linietsky 81c86e8047 Improved bindings and added documentation for AnimationNode, closes #20720 2018-11-25 16:57:23 -03:00
Rémi Verschelde 072aaf98e8 doc: Sync classref with current source 2018-11-13 11:06:50 +01:00
Rémi Verschelde 7a42df3626 doc: Sync with current source 2018-10-25 15:14:47 +02:00
M. Huri b46ba24e3b Repaired mistyped of 'its' on several files. 2018-10-25 07:19:21 +07:00
M. Huri 325ecd1c2b [Docs] Repaired some words on ProjectSettings 2018-10-24 20:56:06 +07:00
Kelly Thomas b150ceb62c Update class documentation xml 2018-10-07 21:57:26 +08:00
florian 73429cf9f5 Improve doc of ProjectSettings
Documentation added for:
* bool load_resource_pack(String)
* bool property_can_revert(String)
* Variant property_get_revert(String)
* Error save()
* Error save_custom(String)
2018-10-02 11:52:37 +02:00
Rémi Verschelde 83758a9004 doc: Sync classref with current source 2018-09-21 09:33:05 +02:00
Rémi Verschelde 4547e22393 doc: Sync classref with current source 2018-09-15 03:13:47 +02:00
Max Hilbrunner 2b779cd5bb
[DOCS] Project Settings: Default clear color 2018-09-13 17:21:23 +02:00
luz.paz 08bde5b2de Misc. typos
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12 21:39:17 -04:00
Kelly Thomas 29f2571662 update class docs 2018-08-31 22:35:15 +02:00
Rémi Verschelde 5267099a87 doc: Sync classref with current source 2018-08-29 22:25:11 +02:00
Hein-Pieter van Braam 08f452d1a9 Fall back to GLES2 if GLES3 is not working
This adds a static is_viable() method to all rasterizers which has to be
called before initializing the rasterizer. This allows us to check what
rasterizer to use in OS::initialize together with the GL context
initialization.

This commit also adds a new project setting
"rendering/quality/driver/driver_fallback" which allows the creator of a
project to specify whether or not fallback to GLES2 is allowed. This
setting is ignored for the editor so the editor will always open even if
the project itself cannot run. This will hopefully reduce confusion for
users downloading projects from the internet.

We also no longer crash when GLES3 is not functioning on a platform.

This fixes #15324
2018-08-26 16:40:46 +02:00
Rémi Verschelde 4ea3e4f551 doc: Sync classref with current source 2018-08-21 00:35:46 +02:00
Rémi Verschelde 391e46830f doc: Sync classref with current source
Fix various missing arguments in bindings.
2018-07-26 11:56:21 +02:00
Rémi Verschelde 9165e550f8 Style fixes for commit d5bb6faa 2018-06-13 14:42:55 +02:00
Juan Linietsky d5bb6faac7 -Make sure that ProjectSettings are properly dumped when dumping docs.
-Documented all properties of project settings

Update documentation for ProjectSettings
2018-06-11 13:41:16 -03:00
Rémi Verschelde 3fa77b3172 doc: Remove status from hardcoded version string
It has no practical use case and just generates noise for each alpha, beta, etc.
2018-02-27 13:40:49 +01:00
Rémi Verschelde 3c7a39b40c doc: Update version string in header 2018-02-19 10:46:33 +01:00
volzhs a62d8de062 Update ProjectSettings description to correct usage
Fix #16078
2018-01-26 17:17:53 +09:00
Rémi Verschelde d516aab8fa doc: Sync with current source
Also enhance RigidBody docs as per https://github.com/godotengine/godot-docs/pull/1018
and fix the version tag in all files (not really stable yet, but it makes no sense
to hardcode rc3 at this stage).
2018-01-25 08:50:56 +01:00
Rémi Verschelde e28cdc4654 doc: Update version string in XML 2018-01-13 11:43:42 +01:00
Rémi Verschelde bc75fae579 doc: Update header version for 3.0-beta 2017-11-24 09:16:52 +01:00
Rémi Verschelde 11e07d18bd doc: Sync classref with current source 2017-11-15 21:29:34 +01:00
Rémi Verschelde e7701bb2de doc: Rename "@Global Scope" to "@GlobalScope"
Spaces in filenames are evil.
2017-11-15 20:41:16 +01:00
Rémi Verschelde 967bfb0c4a doc: Remove revision.module_config from version string
It is now "3.0-alpha" instead of "3.0.alpha.custom_build{,.mono}",
limits unnecessary diffs.
2017-11-15 20:41:16 +01:00
Rémi Verschelde b1f2c31a36 doc: Sync classref with current source
Ensure that s/fixed_process/physics_process/ is handled properly.
[ci skip]
2017-10-11 23:55:04 +02:00
letheed 5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Juan Linietsky 4f929a0fdf Changed the doc class generation to individual files per class. It is also possible to save module files in module directories and the build system will
recognize them.
2017-09-12 17:45:41 -03:00