Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some project settings are missing from the ProjectSettings documentation #55730

Closed
akien-mga opened this issue Dec 8, 2021 · 4 comments
Closed

Comments

@akien-mga
Copy link
Member

Godot version

4.0.dev (e53e357), also 3.x

System information

Linux, Mageia 9 x86_64

Issue description

Some project settings (defined throughout the codebase with GLOBAL_DEF or derivatives) seem to be missing from the list of properties in doc/classes/ProjectSettings.xml (and thus its in-editor and online versions: https://docs.godotengine.org/en/latest/classes/class_projectsettings.html).

This typically happens when the codepath where the project setting is defined is not triggered by running --doctool to generate the class reference: https://docs.godotengine.org/en/latest/community/contributing/updating_the_class_reference.html

Here's a list of the project settings I found defined in the codebase yet missing in the docs for the master branch:

application/config/auto_accept_quit
application/config/quit_on_go_back
application/run/main_loop_type
collada/use_ambient
debug/disable_touch
debug/shader_language/warnings/enable
debug/shader_language/warnings/treat_warnings_as_errors
debug/shader_language/warnings/ + ShaderWarning::get_name_from_code(code).to_lower()   // more than one warning
display.iOS/use_cadisplaylink
display/window/per_pixel_transparency/allowed
display/window/per_pixel_transparency/enabled
display/window/stretch/aspect
display/window/stretch/mode
display/window/stretch/shrink
display/window/subwindows/embed_subwindows
editor/export/convert_text_resources_to_binary
editor/import/reimport_missing_imported_files
editor/import/use_multiple_threads
gui/common/snap_controls_to_pixels
gui/fonts/dynamic_fonts/use_oversampling
physics/3d/active_soft_world
physics/3d/smooth_trimesh_collision
rendering/limits/buffers/canvas_polygon_buffer_size_kb
rendering/limits/buffers/canvas_polygon_index_buffer_size_kb
rendering/quality/2d/use_pixel_snap
rendering/textures/canvas_textures/default_texture_filter
rendering/textures/canvas_textures/default_texture_repeat

Steps to reproduce

rg GLOBAL_DEF | sed -e 's/.*GLOBAL_DEF.*("\([^"]*\)".*/\1/g' | sort -u > global-defs.txt
grep "member name=" doc/classes/ProjectSettings.xml | sed -e "s/[^\"]*\"\([^\"]*\)\".*/\1/g" > global-docs.txt

Cleanup extracted strings which are not what you want and diff the two files.

Minimal reproduction project

No response

@akien-mga akien-mga added this to the 4.0 milestone Dec 8, 2021
@KoBeWi KoBeWi moved this to To Assess in 4.x Priority Issues May 26, 2022
@KoBeWi KoBeWi moved this from To Assess to Todo in 4.x Priority Issues May 26, 2022
@dalexeev
Copy link
Member

editor/* project settings:

  • core/config/project_settings.cpp - ok
  • editor/editor_file_system.cpp - missing
  • editor/editor_node.cpp - missing
  • editor/export/editor_export_plugin.cpp - missing
  • editor/plugins/version_control_editor_plugin.cpp - missing
  • scene/main/node.cpp - ok
  • servers/movie_writer/movie_writer.cpp - ok

See also: godotengine/godot-proposals#4771

@KoBeWi
Copy link
Member

KoBeWi commented Aug 24, 2023

rg GLOBAL_DEF | sed -e 's/.*GLOBAL_DEF.*("\([^"]*\)".*/\1/g' | sort -u > global-defs.txt does not work anymore after #68429.

From the settings listed in the OP, only collada/use_ambient and display.iOS/use_cadisplaylink are missing. No idea where to move the latter DEF. It's very platform-specific.

@KoBeWi
Copy link
Member

KoBeWi commented Aug 24, 2023

Ok I wrote a Ruby script that finds all Project and Editor settings and also diffs them.
find_all_missing.rb.txt
Usage: ruby find_all_missing.rb > result.txt (in Godot directory)

It found 2 missing project settings (there are a few false positives, because some settings are defined in a weird way):

collada/use_ambient
display.iOS/use_cadisplaylink

And lots of missing editor settings.

@akien-mga akien-mga modified the milestones: 4.x, 4.2 Sep 16, 2023
@akien-mga
Copy link
Member Author

Fixed by #80972.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants