Repository Analysis

godotengine/godot

Godot Engine – Multi-platform 2D and 3D game engine

1.6 Likely human-written View on GitHub
1.6
Adjusted Score
1.6
Raw Score
100%
Time Factor
2026-05-29
Last Push
111,349
Stars
C++
Language
4,399,528
Lines of Code
10115
Files
7731
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 33MEDIUM 66LOW 7632

Pattern Findings

7731 matches across 16 categories. Click a row to expand file-level details.

Over-Commented Block7398 hits · 6520 pts
SeverityFileLineSnippet
LOWmethods.py461 # (see the SCons documentation for more information on what it does)...
LOWmethods.py981 file.write(env.Dump(format="json"))
LOW.pre-commit-config.yaml221# This is still the "repo: local" scope, so new local hooks can be defined directly at this indentation:
LOWscu_builders.py161# "includes_per_scu" limits the number of includes in a single scu file.
LOWmisc/error_suppressions/asan.txt1# Supported suppression types are:
LOWmisc/error_suppressions/lsan.txt1# Supported suppression types are:
LOWmisc/utility/godot_gdb_pretty_print.py61
LOWdrivers/gles3/rasterizer_gles3.h41#include "drivers/gles3/environment/gi.h"
LOWdrivers/gles3/rasterizer_scene_gles3.cpp41#include "drivers/gles3/rasterizer_util_gles3.h"
LOWdrivers/gles3/rasterizer_gles3.cpp41#include "servers/display/display_server.h"
LOWdrivers/gles3/rasterizer_gles3.cpp61#define _EXT_DEBUG_TYPE_MARKER_ARB 0x8268
LOWdrivers/gles3/rasterizer_gles3.cpp81
LOWdrivers/gles3/storage/texture_storage.h41#include "servers/rendering/rendering_server_types.h"
LOWdrivers/gles3/storage/texture_storage.h61#define _EXT_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
LOWdrivers/gles3/storage/texture_storage.h81
LOWdrivers/gles3/storage/texture_storage.h101#define _EXT_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
LOWdrivers/gles3/storage/config.cpp221 max_lights_per_object = GLOBAL_GET("rendering/limits/opengl/max_lights_per_object");
LOWdrivers/pulseaudio/pulse-so_wrap.c1// This file is generated. Do not edit!
LOWdrivers/pulseaudio/pulse-so_wrap.c21#define pa_sample_format_to_string pa_sample_format_to_string_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c41#define pa_proplist_unset_many pa_proplist_unset_many_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c61#define pa_channel_map_parse pa_channel_map_parse_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c81#define pa_format_info_snprint pa_format_info_snprint_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c101#define pa_operation_ref pa_operation_ref_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c121#define pa_context_is_local pa_context_is_local_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c141#define pa_volume_snprint_verbose pa_volume_snprint_verbose_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c161#define pa_cvolume_compatible pa_cvolume_compatible_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c181#define pa_stream_ref pa_stream_ref_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c201#define pa_stream_update_timing_info pa_stream_update_timing_info_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c221#define pa_stream_get_timing_info pa_stream_get_timing_info_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c241#define pa_context_set_sink_port_by_index pa_context_set_sink_port_by_index_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c261#define pa_context_kill_client pa_context_kill_client_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c281#define pa_context_kill_source_output pa_context_kill_source_output_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c301#define pa_xmalloc0 pa_xmalloc0_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c321#define pa_threaded_mainloop_accept pa_threaded_mainloop_accept_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c341#define pa_signal_free pa_signal_free_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.c361#undef pa_bytes_per_second
LOWdrivers/pulseaudio/pulse-so_wrap.c381#undef pa_mainloop_api_once
LOWdrivers/pulseaudio/pulse-so_wrap.c401#undef pa_proplist_size
LOWdrivers/pulseaudio/pulse-so_wrap.c421#undef pa_channel_map_to_name
LOWdrivers/pulseaudio/pulse-so_wrap.c441#undef pa_format_info_get_prop_string
LOWdrivers/pulseaudio/pulse-so_wrap.c461#undef pa_context_ref
LOWdrivers/pulseaudio/pulse-so_wrap.c481#undef pa_context_rttime_new
LOWdrivers/pulseaudio/pulse-so_wrap.c501#undef pa_cvolume_channels_equal_to
LOWdrivers/pulseaudio/pulse-so_wrap.c521#undef pa_cvolume_scale
LOWdrivers/pulseaudio/pulse-so_wrap.c541#undef pa_stream_connect_playback
LOWdrivers/pulseaudio/pulse-so_wrap.c561#undef pa_stream_set_latency_update_callback
LOWdrivers/pulseaudio/pulse-so_wrap.c581#undef pa_stream_proplist_remove
LOWdrivers/pulseaudio/pulse-so_wrap.c601#undef pa_context_set_source_mute_by_name
LOWdrivers/pulseaudio/pulse-so_wrap.c621#undef pa_context_get_sink_input_info_list
LOWdrivers/pulseaudio/pulse-so_wrap.c641#undef pa_context_add_autoload
LOWdrivers/pulseaudio/pulse-so_wrap.c661#undef pa_utf8_filter
LOWdrivers/pulseaudio/pulse-so_wrap.c681#undef pa_mainloop_poll
LOWdrivers/pulseaudio/pulse-so_wrap.c701#undef pa_msleep
LOWdrivers/pulseaudio/pulse-so_wrap.h1#ifndef DYLIBLOAD_WRAPPER_PULSE
LOWdrivers/pulseaudio/pulse-so_wrap.h21#define pa_sample_spec_valid pa_sample_spec_valid_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.h41#define pa_proplist_update pa_proplist_update_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.h61#define pa_channel_position_to_pretty_string pa_channel_position_to_pretty_string_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.h81#define pa_format_info_is_pcm pa_format_info_is_pcm_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.h101#define pa_format_info_set_channels pa_format_info_set_channels_dylibloader_orig_pulse
LOWdrivers/pulseaudio/pulse-so_wrap.h121#define pa_context_set_default_sink pa_context_set_default_sink_dylibloader_orig_pulse
7338 more matches not shown…
Cross-File Repetition25 hits · 125 pts
SeverityFileLineSnippet
HIGHglsl_builders.py0functions used to generate source files during build time
HIGHgles3_builders.py0functions used to generate source files during build time
HIGHcore/core_builders.py0functions used to generate source files during build time
HIGHcore/input/input_builders.py0functions used to generate source files during build time
HIGHcore/profiling/profiling_builders.py0functions used to generate source files during build time
HIGHplatform/platform_builders.py0functions used to generate source files during build time
HIGHplatform/macos/platform_macos_builders.py0functions used to generate source files during build time
HIGHplatform/ios/platform_ios_builders.py0functions used to generate source files during build time
HIGHplatform/visionos/platform_visionos_builders.py0functions used to generate source files during build time
HIGHplatform/android/platform_android_builders.py0functions used to generate source files during build time
HIGHplatform/windows/platform_windows_builders.py0functions used to generate source files during build time
HIGHplatform/linuxbsd/platform_linuxbsd_builders.py0functions used to generate source files during build time
HIGHtests/test_builders.py0functions used to generate source files during build time
HIGHscene/theme/default_theme_builders.py0functions used to generate source files during build time
HIGHscene/theme/icons/default_theme_icons_builders.py0functions used to generate source files during build time
HIGHmain/main_builders.py0functions used to generate source files during build time
HIGHmodules/modules_builders.py0functions used to generate source files during build time
HIGHmodules/text_server_adv/text_server_adv_builders.py0functions used to generate source files during build time
HIGHeditor/editor_builders.py0functions used to generate source files during build time
HIGHeditor/template_builders.py0functions used to generate source files during build time
HIGHeditor/icons/editor_icons_builders.py0functions used to generate source files during build time
HIGHeditor/themes/editor_theme_builders.py0functions used to generate source files during build time
HIGH…ourceGenerators.Tests/CSharpSourceGeneratorVerifier.cs0is_global = true build_property.godotprojectdir = {constants.executingassemblypath}
HIGH…Godot.SourceGenerators.Tests/CSharpAnalyzerVerifier.cs0is_global = true build_property.godotprojectdir = {constants.executingassemblypath}
HIGH…/Godot.SourceGenerators.Tests/CSharpCodeFixVerifier.cs0is_global = true build_property.godotprojectdir = {constants.executingassemblypath}
AI Slop Vocabulary28 hits · 78 pts
SeverityFileLineSnippet
MEDIUMmethods.py713 # benefit from a more nuanced search.
MEDIUMdrivers/d3d12/rendering_device_driver_d3d12.cpp1283 // If the driver reports relaxed casting is, leverage its new extended resource creation API (via D3D12MA).
MEDIUMcore/io/resource_loader.cpp225// This should be robust enough to be called redundantly without issues.
MEDIUMcore/math/delaunay_3d.h223 // Scale points to the unit cube to better utilize R128 precision
MEDIUMcore/object/callable_mp.cpp42 // due to the reuse of old addresses for newer objects. Use byte-wise comparison to leverage the
MEDIUMplatform/windows/windows.h42// HACK: MSVC lacks an `include_next` equivalent, so we'll instead utilize the relative path of
MEDIUMscene/gui/range.cpp47 // Rescale values to better utilize R128's range before snapping.
MEDIUMscene/main/scene_tree_fti.cpp666 // Slow, but robust.
MEDIUMscene/2d/line_builder.cpp327 // If the width curve is not seamless, we might need to fetch the line's start points to use them for the final conne
MEDIUMmodules/noise/noise.h146 // Swap the quadrants to make edges seamless.
MEDIUMmodules/noise/noise.h218 // Scale seamless generation to third dimension.
MEDIUM…les/mono/glue/GodotSharp/GodotSharp/Core/Quaternion.cs21 /// are more efficient and robust against floating-point errors.
MEDIUMthirdparty/tinyexr/tinyexr.h1841 // TODO(syoyo): Add more robust out-of-bounds check in `rleUncompress`.
MEDIUMthirdparty/xatlas/xatlas.cpp6427 // It does indeed seem to be a little bit more robust.
MEDIUMthirdparty/spirv-cross/spirv_glsl.cpp346 // Sanity check the iteration count to be robust against a certain class of bugs where
MEDIUMthirdparty/spirv-cross/spirv_glsl.cpp12000 // Essentially, we can only remove one set of swizzles, since that's what we have control over ...
MEDIUMthirdparty/spirv-cross/spirv_glsl.cpp12259 // We can look at result type which is more robust.
MEDIUMthirdparty/spirv-cross/spirv_cross.cpp3995 // Essentially a map of block -> { variables accessed in the basic block }
MEDIUMthirdparty/icu4c/common/locmap.cpp1173 // The purpose of this function is to leverage the Windows platform name->lcid
LOWthirdparty/icu4c/common/unicode/platform.h62 * Solution: #define any defines for non @internal API here, so that they are visible in the docs. If you just set PRED
MEDIUM…arty/basis_universal/encoder/basisu_astc_hdr_6x6_enc.h75 bool m_favor_higher_compression = true; // utilize all modes
MEDIUMthirdparty/glslang/SPIRV/GlslangToSpv.cpp6205 // TODO: It would be more robust to do a full recursive verification of the types satisfying SPIR-V rules.
MEDIUM…rty/glslang/glslang/MachineIndependent/ParseHelper.cpp9685// for the parameter to the constructor (passed to this function). Essentially, it converts
LOWthirdparty/sdl/include/SDL3/SDL_main_impl.h134 #else /* platforms that use a standard main() and just call SDL_RunApp(), like iOS and 3DS */
MEDIUMthirdparty/sdl/joystick/SDL_gamepad.c1013 // We'll pick up a robust mapping in VIRTUAL_JoystickGetGamepadMapping
LOWthirdparty/linuxbsd_headers/dbus/dbus-threads.h56 * #DBusThreadFunctions. Do not just use PTHREAD_MUTEX_RECURSIVE for
MEDIUM…ty/recastnavigation/Recast/Source/RecastMeshDetail.cpp666 // seamless height values across the ply boundaries.
MEDIUMthirdparty/ufbx/ufbx.h5016 // Using this and robust linear interpolation will handle stepped tangents correctly
Self-Referential Comments20 hits · 59 pts
SeverityFileLineSnippet
MEDIUMdoc/tools/make_rst.py772 # Create the output folder recursively if it doesn't already exist.
MEDIUMdoc/classes/TLSOptions.xml11 # Create a TLS client configuration which uses our custom trusted CA chain.
MEDIUMdoc/classes/TLSOptions.xml15 # Create a TLS server configuration.
MEDIUMdoc/classes/HTTPRequest.xml15 # Create an HTTP request node and connect its completion signal.
MEDIUMdoc/classes/HTTPRequest.xml87 # Create an HTTP request node and connect its completion signal.
MEDIUMdoc/classes/Control.xml546 # The above code is equivalent to:
MEDIUMdoc/classes/ArrayMesh.xml22 # Create the Mesh.
MEDIUMdoc/classes/RenderingDevice.xml822 # Create a BLAS for a mesh.
MEDIUMdoc/classes/PackedScene.xml28 # Create the objects.
MEDIUMdoc/classes/PackedScene.xml33 # Create the object hierarchy.
MEDIUMmodules/zip/doc_classes/ZIPPacker.xml9 # Create a ZIP archive with a single file at its root.
MEDIUMthirdparty/mbedtls/include/psa/crypto_extra.h1453 * -# Initialize the operation object with one of the methods described in the
MEDIUMthirdparty/mbedtls/include/psa/crypto.h968 * -# Initialize the operation object with one of the methods described in the
MEDIUMthirdparty/mbedtls/include/psa/crypto.h1333 * -# Initialize the operation object with one of the methods described in the
MEDIUMthirdparty/mbedtls/include/psa/crypto.h1393 * -# Initialize the operation object with one of the methods described in the
MEDIUMthirdparty/mbedtls/include/psa/crypto.h1744 * -# Initialize the operation object with one of the methods described in the
MEDIUMthirdparty/mbedtls/include/psa/crypto.h1807 * -# Initialize the operation object with one of the methods described in the
MEDIUMthirdparty/mbedtls/include/psa/crypto.h2264 * -# Initialize the operation object with one of the methods described in the
MEDIUMthirdparty/mbedtls/include/psa/crypto.h2334 * -# Initialize the operation object with one of the methods described in the
MEDIUMthirdparty/vulkan/vk_mem_alloc.h1687-# Create an instance of the #VmaVulkanFunctions structure.
Slop Phrases34 hits · 56 pts
SeverityFileLineSnippet
LOWmethods.py463 # and not scons setup environment (env)... so make sure you call the right environment on it or it will fail to dete
LOWcore/os/safe_binary_mutex.h48// Also, don't forget to declare the thread_local variable on each use.
LOWplatform/linuxbsd/wayland/wayland_thread.cpp618 // NOTE: Don't forget to also bind/destroy with the respective global.
LOWplatform/linuxbsd/wayland/wayland_thread.cpp2731// NOTE: Don't forget to `memfree` the offer's state.
LOWplatform/linuxbsd/wayland/wayland_thread.cpp3119// NOTE: Don't forget to `memfree` the offer's state.
LOWtests/create_test.py99 "Don't forget to add special tags to the test case if needed, see https://docs.godotengine.org/en/latest/contrib
MEDIUMdoc/classes/FileAccess.xml159 Note how the second line can omit the enclosing quotes as it does not include the delimiter. However it [i]could[/i]
LOWscene/3d/iterate_ik_3d.h289 chain_settings = _cast_settings<ChainIK3DSetting>(); // Don't forget to sync super class settings.
LOWscene/3d/iterate_ik_3d.h294 chain_settings.clear(); // Don't forget to sync super class settings.
LOWscene/3d/spline_ik_3d.h167 chain_settings = _cast_settings<ChainIK3DSetting>(); // Don't forget to sync super class settings.
LOWscene/3d/spline_ik_3d.h172 chain_settings.clear(); // Don't forget to sync super class settings.
LOWthirdparty/miniupnpc/src/miniupnpc.c518 * passed as parameters are set. Don't forget to call FreeUPNPUrls(urls) to
MEDIUMthirdparty/freetype/include/freetype/fterrors.h78 * Here is a simple example.
MEDIUMthirdparty/freetype/include/freetype/freetype.h1385 * for demonstration purposes.
LOWthirdparty/freetype/include/freetype/internal/ftrfork.h35 /* Don't forget to increment the number if you add a new guessing rule. */
MEDIUMthirdparty/libjpeg-turbo/src/turbojpeg.h1478 * <tt>width * #tjPixelSize[pixelFormat]</tt>.) However, you can also use this
MEDIUMthirdparty/libjpeg-turbo/src/turbojpeg.h1538 * <tt>width * #tjPixelSize[pixelFormat]</tt>.) However, you can also use this
MEDIUMthirdparty/libjpeg-turbo/src/turbojpeg.h1599 * <tt>width * #tjPixelSize[pixelFormat]</tt>.) However, you can also use this
MEDIUMthirdparty/libjpeg-turbo/src/turbojpeg.h1789 * <tt>width * #tjPixelSize[pixelFormat]</tt>.) However, you can also use this
MEDIUMthirdparty/libjpeg-turbo/src/turbojpeg.h1844 * <tt>width * #tjPixelSize[pixelFormat]</tt>.) However, you can also use this
LOWthirdparty/d3d12ma/D3D12MemAlloc.h3406If you allocated a new object to be used as the custom pointer, don't forget to delete that object before freeing the al
LOWthirdparty/sdl/include/SDL3/SDL_process.h39 * Don't forget to call SDL_DestroyProcess() to clean up, whether the process
LOWthirdparty/vulkan/vk_mem_alloc.h17291// At the end, don't forget to:
LOWthirdparty/vulkan/vk_mem_alloc.h19344// At the end, don't forget to destroy it!
LOWthirdparty/vulkan/vk_mem_alloc.h19379// At the end, don't forget to destroy it!
LOWthirdparty/vulkan/vk_mem_alloc.h677 To prepare for this possibility, don't forget to add appropriate flags like
LOWthirdparty/vulkan/vk_mem_alloc.h2744don't forget to free them.
LOWthirdparty/vulkan/vk_mem_alloc.h2791don't forget to free it as well.
LOWthirdparty/vulkan/vk_mem_alloc.h17328Don't forget to destroy your buffer and allocation objects when no longer needed:
LOWthirdparty/vulkan/vk_mem_alloc.h18490If you allocated a new object to be used as the custom pointer, don't forget to delete that object before freeing the al
LOW…/jolt_physics/Jolt/Physics/Vehicle/VehicleConstraint.h44/// Note: Don't forget to register the constraint as a StepListener with the PhysicsSystem!
LOW…/jolt_physics/Jolt/Physics/Collision/PhysicsMaterial.h21/// If you inherit from this material, don't forget to create a suitable default material in sDefault
LOWthirdparty/linuxbsd_headers/pulse/utf8.h40/** Filter all invalid UTF8 characters from the specified string, returning a new fully UTF8 valid string. Don't forget
LOWthirdparty/linuxbsd_headers/pulse/utf8.h43/** Filter all invalid ASCII characters from the specified string, returning a new fully ASCII valid string. Don't forge
Unused Imports65 hits · 50 pts
SeverityFileLineSnippet
LOWmethods.py1
LOWmisc/scripts/char_range_fetch.py7
LOWmisc/scripts/unicode_ranges_fetch.py7
LOWmisc/scripts/ucaps_fetch.py7
LOWmisc/utility/color.py1
LOWmisc/utility/scons_hints.py14
LOWmisc/utility/scons_hints.py15
LOWmisc/utility/scons_hints.py16
LOWmisc/utility/scons_hints.py16
LOWmisc/utility/scons_hints.py16
LOWmisc/utility/scons_hints.py16
LOWmisc/utility/scons_hints.py16
LOWmisc/utility/scons_hints.py16
LOWmisc/utility/scons_hints.py16
LOWmisc/utility/scons_hints.py16
LOWmisc/utility/scons_hints.py17
LOWmisc/utility/scons_hints.py18
LOWmisc/utility/scons_hints.py19
LOWmisc/utility/scons_hints.py20
LOWmisc/utility/scons_hints.py20
LOWmisc/utility/scons_hints.py21
LOWmisc/utility/scons_hints.py21
LOWmisc/utility/scons_hints.py21
LOWmisc/utility/scons_hints.py21
LOWmisc/utility/scons_hints.py21
LOWmisc/utility/scons_hints.py22
LOWmisc/utility/scons_hints.py22
LOWmisc/utility/scons_hints.py22
LOWmisc/utility/scons_hints.py22
LOWmisc/utility/scons_hints.py22
LOWmisc/utility/scons_hints.py22
LOWmisc/utility/scons_hints.py22
LOWmisc/utility/scons_hints.py22
LOWmisc/utility/scons_hints.py22
LOWmisc/utility/scons_hints.py22
LOWmisc/utility/scons_hints.py22
LOWmisc/utility/scons_hints.py35
LOWmisc/utility/scons_hints.py35
LOWmisc/utility/scons_hints.py35
LOWmisc/utility/scons_hints.py36
LOWmisc/utility/scons_hints.py37
LOWmisc/utility/scons_hints.py38
LOWmisc/utility/scons_hints.py38
LOWmisc/utility/scons_hints.py38
LOWmisc/utility/scons_hints.py38
LOWmisc/utility/scons_hints.py38
LOWmisc/utility/scons_hints.py39
LOWmisc/utility/scons_hints.py39
LOWmisc/utility/scons_hints.py40
LOWmisc/utility/scons_hints.py40
LOWmisc/utility/scons_hints.py40
LOWmisc/utility/scons_hints.py40
LOWmisc/utility/scons_hints.py40
LOWmisc/utility/scons_hints.py40
LOWplatform/macos/detect.py9
LOWplatform/web/detect.py22
LOWplatform/ios/detect.py9
LOWplatform/visionos/detect.py9
LOWplatform/android/detect.py11
LOWplatform/windows/detect.py12
5 more matches not shown…
Deep Nesting47 hits · 45 pts
SeverityFileLineSnippet
LOWglsl_builders.py40
LOWmethods.py87
LOWmethods.py168
LOWmethods.py239
LOWmethods.py542
LOWmethods.py625
LOWmethods.py681
LOWmethods.py883
LOWmethods.py1003
LOWmethods.py1618
LOWmethods.py1041
LOWplatform_methods.py99
LOWplatform_methods.py307
LOWgles3_builders.py43
LOWmisc/scripts/validate_codeowners.py19
LOWmisc/scripts/validate_codeowners.py113
LOWmisc/scripts/purge_cache.py11
LOWmisc/scripts/char_range_fetch.py50
LOWmisc/scripts/validate_includes.py52
LOWcore/core_builders.py95
LOWcore/core_builders.py126
LOWcore/core_builders.py161
LOWcore/extension/make_interface_header.py27
LOWcore/extension/make_interface_header.py210
LOWcore/input/input_builders.py8
LOWplatform/macos/platform_macos_builders.py11
LOWplatform/macos/detect.py95
LOWplatform/android/detect.py132
LOWplatform/windows/detect.py23
LOWplatform/windows/detect.py299
LOWplatform/windows/detect.py665
LOWplatform/windows/detect.py343
LOWplatform/linuxbsd/detect.py96
LOWtests/python_build/validate_builders.py46
LOWdoc/tools/make_rst.py669
LOWdoc/tools/make_rst.py880
LOWdoc/tools/make_rst.py1536
LOWdoc/tools/make_rst.py1695
LOWdoc/tools/make_rst.py1720
LOWdoc/tools/make_rst.py1834
LOWdoc/tools/make_rst.py2435
LOWdoc/tools/make_rst.py2579
LOWdoc/tools/make_rst.py170
LOWdoc/tools/make_rst.py616
LOWdoc/tools/doc_status.py258
LOWeditor/editor_builders.py71
LOWeditor/template_builders.py8
Hyper-Verbose Identifiers44 hits · 41 pts
SeverityFileLineSnippet
LOWglsl_builders.py40def include_file_in_rd_header(filename: str, header_data: RDHeaderStruct, depth: int) -> RDHeaderStruct:
LOWglsl_builders.py179def build_rd_header_lines_for_raytracing_stage(lines, stage: str):
LOWglsl_builders.py258def include_file_in_raw_header(filename: str, header_data: RAWHeaderStruct, depth: int) -> None:
LOWmethods.py122def force_optimization_on_debug(self):
LOWmethods.py132def add_module_version_string(self, s):
LOWmethods.py312def convert_custom_modules_path(path):
LOWmethods.py337def module_check_dependencies(self, module):
LOWmethods.py459def detect_visual_c_compiler_version(tools_env):
LOWmethods.py613def detect_darwin_toolchain_path(env):
LOWmethods.py797def update_compiler_version_cache(value):
LOWmethods.py1510def generate_copyright_header(filename: str) -> str:
LOWmethods.py1662def get_default_include_paths(env):
LOWplatform_methods.py164def combine_libs_apple_embedded(target, source, env):
LOWplatform_methods.py175def lipo_and_copy_apple_embedded(
LOWplatform_methods.py256def generate_bundle_apple_embedded(platform, framework_dir, framework_dir_sim, use_mkv, target, source, env):
LOWscu_builders.py105def write_exception_output_file(file_count, exception_string, output_folder, output_filename_prefix, extension):
LOWmisc/scripts/unicode_ranges_fetch.py68def generate_unicode_ranges_inc() -> None:
LOWcore/extension/make_interface_header.py255def make_deprecated_comment_for_type(type):
LOWcore/input/input_builders.py8def make_default_controller_mappings(target, source, env):
LOWplatform/platform_builders.py24def register_platform_apis_builder(target, source, env):
LOWplatform/web/serve.py22class CORSRequestHandler(SimpleHTTPRequestHandler):
LOWplatform/android/platform_android_builders.py7def generate_android_binaries(target, source, env):
LOWtests/compatibility_test/run_compatibility_test.py79def has_compatibility_test_failed(errors: str) -> bool:
LOWtests/compatibility_test/run_compatibility_test.py103def process_compatibility_test(proc: subprocess.Popen[bytes], timeout: int = 5) -> str | None:
LOWdoc/tools/make_rst.py1628def make_deprecated_experimental(item: DefinitionBase, state: State) -> str:
LOWdoc/tools/doc_status.py152 def to_configured_colored_string(self):
LOWscene/theme/icons/default_theme_icons_builders.py9def make_default_theme_icons_action(target, source, env):
LOWmodules/modules_builders.py15def register_module_types_builder(target, source, env):
LOWmodules/webxr/native/webxr.externs.js453function WebGLRenderingContextBase() {};
LOWmodules/webxr/native/webxr.externs.js463function XRInputSourcesChangeEvent() {};
LOWmodules/mono/build_scripts/build_assemblies.py29def find_msbuild_standalone_windows():
LOWmodules/mono/build_scripts/build_assemblies.py38def find_msbuild_mono_windows(mono_prefix):
LOWmodules/mono/build_scripts/build_assemblies.py78def find_msbuild_tools_path_reg():
LOWmodules/mono/build_scripts/build_assemblies.py254def generate_sdk_package_versions():
LOWthirdparty/harfbuzz/src/hb-unicode.h354typedef hb_unicode_combining_class_t (*hb_unicode_combining_class_func_t) (hb_unicode_funcs_t *ufuncs,
LOWthirdparty/harfbuzz/src/hb-unicode.h372typedef hb_unicode_general_category_t (*hb_unicode_general_category_func_t) (hb_unicode_funcs_t *ufuncs,
LOWthirdparty/vulkan/vk_mem_alloc.h1542To be used with function vmaBeginDefragmentationPass().
LOWthirdparty/vulkan/vk_mem_alloc.h17243 - Use function vmaImportVulkanFunctionsFromVolk() to fill in the structure #VmaVulkanFunctions.
LOWthirdparty/vulkan/vk_mem_alloc.h17564The easiest way to copy data from a host pointer to an allocation is to use convenience function vmaCopyMemoryToAllocati
LOWthirdparty/vulkan/vk_mem_alloc.h17593Copy in the other direction - from an allocation to a host pointer can be performed the same way using function vmaCopyA
LOWthirdparty/vulkan/vk_mem_alloc.h18041 using default pools with dedicated function vmaCreateBufferWithAlignment().
LOWthirdparty/vulkan/vk_mem_alloc.h18706use special function vmaCreateBufferWithAlignment(), which takes additional parameter `minAlignment`.
LOWeditor/editor_builders.py12def doc_data_class_path_builder(target, source, env):
LOWeditor/editor_builders.py32def register_exporters_builder(target, source, env):
Verbosity Indicators20 hits · 30 pts
SeverityFileLineSnippet
LOWcore/io/resource_importer.cpp185 // Note: Some importers do not create files in the .godot folder, so we need to check if the path is empty.
LOWplatform/macos/godot_application.mm173 // Step 1: Switch focus to macOS SystemUIServer process.
LOWplatform/macos/godot_application.mm185 // Step 2: Register app as foreground process.
LOWplatform/macos/godot_application.mm192 // Step 3: Switch focus back to app window.
LOWscene/resources/curve.cpp1625 // Step 1: Tessellate curve to (almost) even length segments.
LOWscene/resources/curve.cpp1700 // Step 2: Calculate the up vectors and the whole local reference frame.
LOWscene/gui/texture_button.cpp100 // finally, we need to check if the point is inside a rectangle with a position >= 0,0 and a size <= mask_size
LOWscene/2d/line_builder.cpp363 // calculate this ourselves as we need to check if the cross product
LOWmodules/gltf/gltf_document.cpp5209 // Occlusion and/or emission textures can use Godot's UV2, so we need to check if KHR_texture_transform animates th
LOWmodules/gltf/gltf_document.cpp5415 // occlusionTexture and emissiveTexture can use Godot's UV2, so we need to check if those are animated.
LOWthirdparty/icu4c/common/uidna.cpp320 // Step 4: if the source is ASCII then proceed to step 8
LOWthirdparty/icu4c/common/uidna.cpp370 //Step 7: prepend the ACE prefix
LOWthirdparty/icu4c/common/uidna.cpp372 //Step 6: copy the contents in b2 into dest
LOWthirdparty/icu4c/common/ucnv2022.cpp430/* The purpose of this function is to get around gcc compiler warnings. */
LOWthirdparty/icu4c/common/locmap.cpp1173 // The purpose of this function is to leverage the Windows platform name->lcid
LOWthirdparty/basis_universal/encoder/basisu_frontend.cpp1950 // Step 1: Sort endpoint clusters by the base colors/intens
LOWthirdparty/basis_universal/encoder/basisu_frontend.cpp1971 // Step 2: Eliminate redundant endpoint clusters, or empty endpoint clusters
LOWthirdparty/glslang/SPIRV/SpvBuilder.cpp4057 // Step 2: Construct a matrix from that array.
LOWeditor/editor_node.cpp7339 // Do we need to check if the paths are empty?
LOWeditor/editor_node.cpp7346 // Do we need to check if the paths are empty?
Synthetic Comment Markers4 hits · 30 pts
SeverityFileLineSnippet
HIGHthirdparty/mbedtls/library/error.c186 /* Begin Auto-Generated Code. */
HIGHthirdparty/mbedtls/library/error.c528 /* End Auto-Generated Code. */
HIGHthirdparty/mbedtls/library/error.c549 /* Begin Auto-Generated Code. */
HIGHthirdparty/mbedtls/library/error.c783 /* End Auto-Generated Code. */
Decorative Section Separators8 hits · 24 pts
SeverityFileLineSnippet
MEDIUMcore/templates/cowdata.h68 // ┌────────────────────┬──┬───────────────┬──┬─────────────┬──┬───────────...
MEDIUMcore/templates/cowdata.h71 // └────────────────────┴──┴───────────────┴──┴─────────────┴──┴───────────...
MEDIUMcore/os/memory.h54// ┌─────────────────┬──┬────────────────┬──┬───────────...
MEDIUMcore/os/memory.h57// └─────────────────┴──┴────────────────┴──┴───────────...
MEDIUMcore/os/memory.h73// ┌─────────────────┬─────────┬─────────┬──────────────────┐
MEDIUMcore/os/memory.h76// └─────────────────┴─────────┴─────────┴──────────────────┘
MEDIUMthirdparty/metal-cpp/update-metal-cpp.sh31# =============================================================================
MEDIUMthirdparty/metal-cpp/update-metal-cpp.sh33# =============================================================================
Cross-Language Confusion4 hits · 22 pts
SeverityFileLineSnippet
HIGHmisc/utility/godot_gdb_pretty_print.py86 # Return nothing if ptr is null.
HIGHcore/object/make_virtuals.py13 if (_script_instance && _script_instance->has_method(_gdvirtual_##$VARNAME##_sn)) {\\
HIGHplatform/macos/detect.py188 "-fsanitize=undefined,shift,shift-exponent,integer-divide-by-zero,unreachable,vla-bound,null,return,
HIGHplatform/linuxbsd/detect.py169 "-fsanitize=undefined,shift,shift-exponent,integer-divide-by-zero,unreachable,vla-bound,null,return,
Excessive Try-Catch Wrapping13 hits · 18 pts
SeverityFileLineSnippet
LOWmethods.py1140 except Exception:
LOWplatform/macos/detect.py43 except Exception: # Give up.
LOWplatform/web/detect.py132 except Exception:
MEDIUMplatform/web/js/libs/library_godot_input.js361 GodotRuntime.print('Error reading file');
LOWplatform/windows/detect.py43 except Exception:
LOWplatform/windows/detect.py219 except Exception: # Give up.
MEDIUMplatform/windows/detect.py134def int_or_zero(i):
LOWplatform/linuxbsd/detect.py45 except Exception: # Give up.
LOWdoc/tools/make_rst.py765 except Exception as e:
MEDIUMdoc/classes/DirAccess.xml33 print("An error occurred when trying to access the path.")
MEDIUMmain/main.cpp2237 OS::get_singleton()->print("Error: Recovery mode can only be used in the editor. Aborting.\n");
LOWmodules/gltf/editor/editor_import_blend_runner.cpp78 except Exception as e:
MEDIUMmodules/mono/build_scripts/build_assemblies.py107 print("Error reading output from vswhere: " + str(e))
Redundant / Tautological Comments7 hits · 10 pts
SeverityFileLineSnippet
LOWplatform/android/detect.py87# Check if Android NDK version is installed
LOWdoc/tools/doc_status.py437# Print output table #
LOWdoc/classes/int.xml120 # Check if the first or second bit are enabled.
LOWdoc/classes/HashingContext.xml20 # Open the file to hash.
LOWdoc/classes/HashingContext.xml28 # Print the result as hex string and array.
LOWmodules/zip/doc_classes/ZIPReader.xml37 # Write file contents, creating folders automatically when needed.
LOWmodules/mono/config.py9 # Check if the platform has marked mono as supported.
Fake / Example Data10 hits · 10 pts
SeverityFileLineSnippet
LOWtests/scene/test_text_edit.cpp6463 text_edit->set_line(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed porta ex
LOWtests/scene/test_text_edit.cpp6463 text_edit->set_line(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed porta ex
LOWtests/scene/test_text_edit.cpp6671 text_edit->set_line(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed porta ex
LOWtests/scene/test_text_edit.cpp6671 text_edit->set_line(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed porta ex
LOWtests/scene/test_text_edit.cpp6737 text_edit->set_line(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed porta ex
LOWtests/scene/test_text_edit.cpp6739 text_edit->insert_line_at(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed p
LOWtests/scene/test_text_edit.cpp7499 text_edit->set_line(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed porta ex
LOWtests/scene/test_text_edit.cpp7499 text_edit->set_line(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed porta ex
LOWtests/scene/test_text_edit.cpp7549 text_edit->insert_line_at(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed po
LOWtests/scene/test_text_edit.cpp7549 text_edit->insert_line_at(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed po
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippet
LOW…dules/mono/glue/GodotSharp/GodotSharp/Core/Callable.cs189 /// Usage example:
LOWservers/rendering/multi_uma_buffer.h162/// # How to use
LOWthirdparty/icu4c/common/ucase.cpp1448# Usage:
LOWthirdparty/minizip/skipset.h20// Example usage: