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

GDScript: Fix groups and categories been seen as members (reverted) #73870

Merged

Conversation

vnen
Copy link
Member

@vnen vnen commented Feb 24, 2023

Fix #73843

@vnen vnen added this to the 4.0 milestone Feb 24, 2023
@vnen vnen requested a review from a team as a code owner February 24, 2023 13:04
@akien-mga akien-mga merged commit 7e00cc1 into godotengine:master Feb 24, 2023
10 of 13 checks passed
@akien-mga
Copy link
Member

Thanks!

@akien-mga
Copy link
Member

akien-mga commented Feb 24, 2023

Oops, I merged by mistake before CI passed, and obviously with a hardcoded Object ID in the test it didn't pass :})

Edit: Fixed by a6baebc.

akien-mga added a commit that referenced this pull request Feb 24, 2023
@vnen vnen deleted the gdscript-dont-reference-group-properties branch February 24, 2023 13:42
Flavelius pushed a commit to Flavelius/godot that referenced this pull request Feb 24, 2023
RandomCatDude pushed a commit to RandomCatDude/godot that referenced this pull request Feb 25, 2023
@YuriSizov YuriSizov changed the title GDScript: Fix groups and categories been seen as members GDScript: Fix groups and categories been seen as members (reverted) Feb 25, 2023
JeffVenancius pushed a commit to JeffVenancius/godot that referenced this pull request Mar 3, 2023
PrecisionRender added a commit to PrecisionRender/godot that referenced this pull request Mar 5, 2023
make particle billboard take into account non-uniform scale

Correct docs for keep_scale in BaseMaterial3D

Use path instead of file name  when updating script classes

The _script_class_file_to_path contains a map of paths to classes, but
when updating the script classes for new class names, the file name is
used instead. This meant new classes weren't able to be used in exported
variables until the project is reloaded (as the
_script_class_file_to_path is initially set with the full path)

Fixes godotengine#70718

Fix shader parameter assign

-Make sure the remap is created properly if never assigned before.

Fixes godotengine#72923. Supersedes godotengine#73066.

Avoid unecessary binding of occlusion polygon vertex array

By binding this and unbinding it, the state was getting modified in other parts of the pipeline

CI: Disable debug_symbols for Linux + all sanitizers build

We're running out of disk space so builds are failing...

Add a custom icon for the `project.godot` file in the EditorFileDialog

Fix Standard Gamepad Mapping triggers

Fix property revert doesn't revert selected fields

Mark Application Icon and V-Sync Mode project settings as basic

These settings are likely to be changed at some point in most projects.

Fix ctrl+backspace crash with multicarets on the same line

Remove visual limit for damping in CPUParticles

Issue godotengine#56324 notes that you may can't set the damping property of
CPUParticles2D to anything more that 100 in the editor inspector
while you may set it to anything in code, this is considered a bug and
changed in this commit

Clarify return value for InputEvent.is_echo()

C#: Fix line position when opening file in VSCode

Remove path hard-coding in editor_build_profile

Fix Indent/Unindent without a selection not causing a redraw

Elaborate on text-to-speech requirements on Linux

Revert `Input.get_vector()` back to checking raw strength

Various classref typo fixes

Apply inspector read_only only when changed

Make `ResourceCache::get_cached_resources` thread-safe

i18n: Sync translations with Weblate

Fix crash when reparenting SoftBody3D with pinned points

Fix CCD in case of multiple supports in motion direction

For example, an axis-aligned box under the influence of gravity landing
on a horizontal triangle could previously tunnel, because only one of
the supports of the box was considered to be the candidate point that
would collide first. Now all supports are considered as candidates.

Also fix CCD always pushing the fast body into the other body, which
works well for convex shapes but not for trimesh/concave shapes.

Fix corrupt undo after making sub-resources unique

GDScript: Fix missing unsafety mark for binary op with weak variables

GDScript: Rework type check

Fix: Func with typed args error when arg is null

Make global scope enums accessible as types in GDScript

Add functions to CoreConstant so enums can be properly deduced. Also add
the enums in release builds to make consistent with ClassDB enums and
avoid differences in script compilation between debug and release.

Increase minsize for some Project Conversion dialogs

This is more of a workaround than a fix.
The underlying issue is that `ConfirmationDialog` doesn't always update its size
if you change its text. (or it updates it AFTER it had already popped up).
`wrap_controls` doesn't help here.

Fix bufSize parameter for glGetSynciv

According to the docs:
https://registry.khronos.org/OpenGL-Refpages/es3.0/html/glGetSynciv.xhtml
Bufsize is in integers, not bytes.
The current code overflows data unto other stack variables.

[MP] Add a "synchronized" signal to MultiplayerSynchronized.

Emitted upon receiving a valid sync packet after setting the variables
state.

BVH - fix lockguards for multithread mode

Due to a lack of variable name, the BVH lock guards lifetimes previously did not cover the whole function call.

This is fixed, and the warning message for contention is removed as multithread mode seems to be desired in production in 4.x.

[macOS] Replace all `Alt/Option+Letter/Number` default shortcuts to avoid conflicts with special character input.

GDScript: Limit recursion depth for completion functions

Avoid crashing if the completion gets stuck in infinite recursion while
trying to guess the expression type.

Fix tile atlas merging crash

Fix issue with clearing screen after part has been drawn

Fix wobbly sky in stereoscopic OpenGL

Add test for const class references

fbx: Set base_dir correctly in append_from_scene

Clarify rotation degrees

Fix shortcut reset.

Remove unused joint boolean in GLTFNode

[macOS] Fix Input.warp_mouse shifted by one screen pixel.

Fix missing directories when exporting from cmd

Explicitly cast to Variant's int type in Time tests

[Linux] Process TTS callback on the main thread to avoid speech-dispatcher deadlock.

Fix incorrect Time documentation in get_datetime_dict_from_unix_time

Forbid passing multiview sampler to the custom function in shaders

Use the original canvas to calculate light positioning

Fix use-after-free for VkAttachmentReference

In the flow where VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME does not exist
VkAttachmentReference are created inside a loop and their backing buffer is referenced in the subpass object.
the VkAttachmentReference vectors are freed once the loop exists, causing the subpass to point to freed data.

Add all the VkAttachmentReference to a vector in the scope of the entire function, to ensure they are not freed until vkCreateRenderPass is called

Increase SSAO and SSIL bias to account for variance in mipmap generation

update outdated references and examples

GDScript: Fix crash when autoload script can't be found

GDScript: Avoid validated division operation to test for zero

The validated operations for integer division and modulo do not check
for division by zero. This avoids validated operation in these cases to
make sure the check is performed and avoid crashing the engine.

GDScript: Fix override signature check of script inheritance

Avoid treating the super class as a meta type for signature check, since
it is looking at the instance level for that.

Fix FileAccess last open error flag update

GDScript: Fix setting native type with script inheritance

Sometimes the inheritance tree is compiled out of order and the base
don't have yet a native type set. This is now changed to not rely on the
base script but use the native type set in the datatype, which is
already resolved by the analyzer.

Fix line folding with multiple carets

Added check for null objects in gdscript typed assign.

GDScript: Fix error message for unfound type

Add HTC Vive focus XR manifest metadata

Enable granular control of touchscreen related settings

Fix reset_state() in TileSet

Implement automatic rename for project

- Import must rename nodes/root_type="Spatial" to "Node3D":
- Resolves ownership issues with calling:
	scene->replace_by(base_node);
  when the original root type was Spatial.

Fix Polygon3DEditor parenting errors

Fix issue with default textures requiring arrays when using multiview

[Windows Export] Pass password only when using PKCS12 file, fix executable name in the error message.

Fix `SpriteFrames` data loss on 3-to-4 conversion

Ensure minimal thickness for RichTextLabel underlines

Add Output font size in Theme regeneration conditions

[Windows] Take initial flags into account when creating main window.

Add some missing EditorFileDialog methods and properties.

Fix visible_lines calculation

[Input] Use BRACKET_ instead of BRACE_ for physical keys.

[iOS] Fix Xcode project file list.

[Linux TTS] Use Callable instead of registering methods.

Document `@GDScript.is_instance_of` method

Revert "Fix visible_lines calculation"

This reverts commit ceee405.

This caused regressions, see godotengine#73736 and godotengine#73780.

Fixes godotengine#73780.

Load script for addons without cache

Since they are postponed sometimes due to transient script errors, it
needs to try again without the cache to compile the script again
instead of using the failed one.

Disable incompatible rendering methods in the project manager

The project manager can now only create projects that use a rendering
method compatible with the current platform. Rendering methods that
are disabled at build-time are also grayed out (only for OpenGL).

While it is possible in theory to create a project using Forward+
on web (thanks to the automatic fallback),
it will look different once edited on a desktop platform.

Use multiple threads to import HDR images

Remove CVTT upstream changes to packing unpacking of BC6H formats

This fixes the quality regression without impacting performance

import: Pass the correct defaults to generated collision shapes.

Solves incorrect defaults, as well as applied scale failing to apply.
The default values are removed, and they differ from collision shape defaults
These values must match the defaults defined in resource_importer_scene.cpp

Implement ConditionVariable

Fix race condition in resource loader when a load task is reused

Fix cases of resource load tasks not being awaitable

[MP] Fix replication config not updating sync/spawn props from code.

Revert Label text reshaping fix godotengine#71553 and subsequent regression fixes

Despite a lot of great work from Pedro to try to improve the Label text
reshaping logic and fix subsequent regressions, we found ourselves still
chasing more edge cases, such as godotengine#73736 (which got reverted already due
to it causing yet another regression).

In parallel, it seems like the crash scenario that godotengine#71553 was addressing
got solved differently in the master branch, so it appears like this
change is no longer necessary at all (at least not urgently), so we
decided to revert to the previous known "ok" state of Label.

- Revert godotengine#71553 "Prevent infinite cascade of re-layout after label text reshaping"
This reverts commit ed8c5cd.

- Revert godotengine#72387 "Enhance label sizing algorithm"
This reverts commit 5131b81.

- Revert godotengine#73234 "Fix blank non-autowrapping labels"
This reverts commit 3ccabee.

- Revert godotengine#73343 "Make label sizing algorithm more robust"
This reverts commit 4f7f1ef.

- Revert godotengine#73426 "Fix width determination of non-trimmed, non-wrapped labels"
This reverts commit 73b6c0b.

Add a property hint to fix crash when setting max convex hulls below 0

Generating less than 1 convex hull is not valid anyway.

Fix ownership bug on ancestor nodes when scene is reimported.

Warn users when using non existing --export flag, replaced by --export-release

See godotengine#73782.

GDScript: Fix usage of enum value as range argument

GDScript: Fix parsing unexpected break/continue in lambda

Fix WebSocketMultiplayerPeer server crash

import: Fix uv2 by avoiding premature ImporterMesh::get_mesh()

Implements create_convex_shape in ImpoterMesh.
Note: ImporterMeshInstance3D::get_mesh() is safe.
The only dangerous function with side effects is ImpoterMesh::get_mesh()

C#: Fix editor crashing without a message when .NET is not installed

Export: Default to exporting S3TC + BPTC for PC platforms

This is now required after godotengine#72031 when using HDRs.

Could have further cleanup as I think these import options may not be needed
at all anymore, and etc/etc2 support doesn't seem to make much sense.
Likewise, the hardcoded "s3tc" in `get_platform_features` could maybe be
removed. But this is material for after 4.1.

Fixes godotengine#73789.

Fix GridMap 'cell_size_changed' signal not disconnecting properly

Fixes that a GridMap node would not disconnect from the 'cell_size_changed' signal when the new selected node is another valid GridMap.

Fix editor resource preview deadlocking with --headless mode

GDScript: Fix range regression

Fix custom viewports in Camera2D

Fix ShapeCast3D add and remove exception functions

Fixes that ShapeCast3D would accept any parameter object and silently return when it was not a CollisionObject3D.

More class reference fixes

Mostly typos. Also renamed the remaining "Vulkan Clustered" to "Forward+".

Fix settings not appearing for Animation Libraries in the Scene Import window

Fixing issues with SSIL artifacts

Document the Max Clustered Elements project setting

GDScript: Fix groups and categories been seen as members

Fix X11 QUOTELEFT / SECTION physical key mapping.

Fixup GDScript test using non-deterministic ids

Follow-up to godotengine#73870.

i18n: Sync translations with Weblate

Update AUTHORS and DONORS list

New contributors added to AUTHORS:
@anvilfolk, @Bromeon, @Maran23, @RedworkDE, @snailrhymer, @vonagam

Thanks to all contributors and donors for making Godot possible!

Revert "Reordering emitted signals in PopupMenu" and fix editor selection issue in the safer way.

fix typo `set_polygon` in GenericTilePolygonEditor

Core: Identity compare objects by id, not by pointers

C#: Check if a class is a singleton using the Core name

Use the name of the class in Core, rather than the C# rename, when checking if a class is registered as a singleton.

GDScript: Don't use validated call for vararg methods

Since they may have runtime type validation, we cannot use the validated
call.

Make max() and min() global functions only accept numbers

The behavior for those are not well defined for non-numeric arguments.
To avoid confusion the other types are forbidden.

Revert "GDScript: Fix groups and categories been seen as members"

This reverts commit 6f2a843.

The commit introduces a bug where it creates spurious entries for member
information.

Document VisualInstance3D offset unit

Patch `VideoStreamPlaybackTheora::set_file` to only look for header packets of one stream type

Converter: Rename 3.x Vector2 clamped to limit_length

Fix shader preprocessor include resource check

Fix wrong OS regex in project converter

GDScript: Initialize all defaults beforehand in implicit constructor

Set all the default values for typed variables before actually trying to
initialize them, including `@onready` ones.

This ensures that if validated calls are being used there will be a
value of the correct type, even if the resolution is done out of order
or deferred because of `@onready`.

GDScript: Fix wrong unsafety mark for binary operator

GDScript: Fix address type for coroutine results

Fix deadlock in cyclic resource load

GDScript: Fix conversions from native members accessed by identifier

Fix basisu mipmaps

Previously basisu was storing mip maps as an array of basisu in the internal format for Texture. The new work makes sense and it generates smaller files with one image.

This pull request fixes the basisu decompression and keep the approach of 1 image. If we need to change the format in 4.x, we can still support the old format with some limitations too. Basisu from gltfpack can only output with mipmaps.

The single image will not work for StreamedTexture. We should support both approaches for CompressedTexture we use one, and for StreamedTexture we use another.

Additional error checking for hdr images and for nullptr.

Sync tutorial paths for GI classes with online documentation changes

Fix text server GDExtension build.

Clarify when Expression `get_error_text()` is updated

Add warnings for unsupported features in mobile and gl_compatibility backends

GLTF: Delete unused skeleton_to_node

Steering on VehicleBody is in radians while interface is in degrees. Improved documentation to clear this up.

basisu: Loop over the last mipmap lod

[TextEdit / IME] Check selection before deleting to avoid unnecessary error messages.

Remove unused `ScriptLanguage` methods

Document default values for transition type and ease type.

[MP] Fix orphan StringName on close.

Use a static StringName for the registered default interface name.

Improve documentation of EditorExportPlugin

Cleanup 3-to-4 renames, prevent common words replacements

Fixes godotengine#73505.
Fixes godotengine#73996.

Add 3-to-4 renames for project settings in project.godot

In the ConfigFile format, the first subpath is the category and is not part
of the line that the regex would match.

Fixes godotengine#66125.

Update documentation for Mesh and MeshInstance3D

Add missing descriptions for Mesh's virtual methods, and
MeshInstance3D's methods relating to blend shapes. Slight tweaks to
several MeshInstance3D method descriptions.

Fix a crash in the GLB importer

Sync controller mappings DB with SDL2 community repo

Synced with mdqinc/SDL_GameControllerDB@436c7e3

Minor typo and docs URL fixes

i18n: Sync translations with Weblate

Update CHANGELOG.md for 4.0 release

We couldn't hope to complete an in-depth curated changelog for such
a massive release, so we simply link to our in-depth release notes :)

Also adds back the 3.3, 3.4, and 3.5 curated changelogs. Those were
released from the 3.x branch so theoretically do not share a common
history with 4.0 (which started development after 3.2), but in practice
users will still perceive 4.0 as the natural upgrade to 3.5.

Bump version to 4.0-stable \o/

4 years of development.
12,000 merged pull requests.
7,000 fixed issues.
1,500 individual contributors across engine and docs.

The Godot 4.0 release is by all metrics our biggest release so far.
No stone has been left unturned, all parts of the engine have been
modernized, refactored, overhauled, rewritten, redesigned.

Our work is far from done. Many areas still have significant known issues,
and will require focused work from all willing contributors to fix blocking
bugs, implement missing features, optimize for performance or compatibility,
and improve the user experience.

But Godot 4.0 marks the start of the new, modern Godot Engine, and a solid
foundation for us all to build upon. Future 4.x releases will come with a
much faster cadence, enabling us to iterate quickly on new features and
improvements to what we already provide.

To all of you who were involved in making Godot 4.0 what it is today, however
big or small your contributions were:

THANK YOU!

This was a massive undertaking, and you all participated in unique and
wonderful ways to build a free and open source game engine for everyone to
use and enjoy. You are breathtaking! <3

Bump version to 4.1-dev

Can't stop, won't stop, they said, huh?

Fix "Convert Full Project" button not translated

Also fixes a typo in the CHANGELOG.

Fix dock name lost translation after layout change

* After you click in the dock select panel
* After you load an editor layout

[Linux/X11] Check if required xkb functions exist before using it.

C#: Fix crash when errors occur before language initialization.

Fix small mistake in Window.xml

Fix small mistake in Window.xml

Fix Windows to Windows SSH remote deploy. Fix Windows `execute` exit code.

Fix GDExtensions library export when multiple architectures are set.

C#: Always show "Create C# solution" option

Prevents ending up with an empty C# menu.
The option to create the C# solution no longer disappears, to avoid confusing users.
If an user tries to use it when a C# solution already exists they are warned that it will override their sln and csproj files.

fix spotlight shadows in volumetric fog

Commit Fix for GLES3 point size not working

Stop toaster notification circle flickering when notifications are all hidden.

Fix glTF mesh importer not freeing nodes correctly on import

[TextServer] Ensure ICU data is initialised only one and cleaned only at exit.

Modify the default theme GraphNode close_h_offset

Modifies the close_h_offset to be 12 instead of 22. This better aligns the default position.

Lift restriction that resource load thread requester has to be the initiator

Automatically reparent editor message dialogs to avoid error spam.

TileSet editor was out of sync with TileMap and incorrectly overwrote old selected TileSet after an edit call with a null pointer.

Use MSAA 2D texture in multipass tonemapper

Fix TileSetEditor paiting texture_origin Vector2i

Use physical shortcuts for freelook navigation in the editor

Use 8×8 default grid size for TextureRegion and 2D polygon editors

Power-of-two grid sizes are more suited to most game assets.

Exposes the apply_floor_snap function to allow a snap to be made regardless of velocity.

[TextServer] Add mutex for FreeType face creation/deletion operations.

Safeguard Makefile commands

Check for type mismatch in PropertyTweener.from()

Add XRServer.world_origin property

improve documentation for Font and FontVariation

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>

Fix crash in resource load

Document GLTFNode and some of GLTFState

Make GDScript number highlighting stricter

[Bitmap font] Assume outline size is `1` if it's not set, but channel for outline is defined.

Don't strip whitespace when converting 3to4.

Fixes godotengine#74204.

The style guide says

> Always use one space around operators and after commas

The 3to4 conversion tool currently strips space in certain scenarios.
I've updated it to add space whenever it is generating new code.
In any case where it substitutes existing code, it leaves it as-is.

For example, connect(a,b,c) becomes `connect(a, callable(b, c))`, because the converter is adding new commads/parens.

However, `xform(Vector3(a,b,c))` becomes `Transform * Vector3(a,b,c)` because it uses the user's original Vector3 string whole. If the user originally had `xform(Vector3(a, b, c))`, then it becomes `Transform * Vector3(a, b, c)`.

Ideally we'd always preserve original formatting, but this seems quite difficult, so I tried to preserve it where we can, but air on the side of following the style guide whenever we're transforming code.

Hide internal settings from the classref

Default actions are no longer internal since we want to document them.
They are still hidden from the Project Setting dialog because we hid the
whole `input/` group manually.

Fixed minor typo in turbulence documentation

Add keycode project conversion

Add a few more rendering timestamps

Linux: Don't try to link system embree3 on unsupported archs

GDScript: Fix checking if a call is awaited in compiler

Fix randfn to prevent generating of nan values

Fix Camera2D position smoothing properties not being grouped

Discourage reusing Tweens

C#: Get singleton instances using the Core name

Notify child controls when BackBufferCopy's rect changed

Document using `String.uri_encode()` with `OS.shell_open()`

C#: Encode GodotProjectDir as Base64 to prevent issues with special characters

Add proper default texture filter and repeat modes for Canvas shaders in the OpenGL3 renderer

Error on hint_normal_roughness_texture and hint_depth_texture outside of spatial shader

Validate that C# class names are valid identifiers

Correct superclass constructors in 3to4.

Fixes godotengine#70542.

The 3to4 conversion tool was not handling superclass constructors.
We should translate the godot3 syntax:

```gdscript
func _init(a,b,c).(a,b,c):
    pass

func _init(a,b,c):
    super(a,b,c)
```

Originally, the _init conversion was intended to remove `void` return types from _init functions, as this was disallowed due to godotengine#50589.
As that was resolved by godotengine#53366, I removed that part of the conversion logic. If a void return type is present on a constructor, the converter now leaves it.

Here's a sample diff from my own project:

```diff
@@ -103,10 +105,11 @@ class Real:
 class Text:
        extends Setting

-       var choices: PoolStringArray
-       var value: String setget set_value, get_value
+       var choices: PackedStringArray
+       var value: String : get = get_value, set = set_value

-       func _init(section: String, key: String, default: String, choice_list: Array).(section, key, default) -> void:
+       func _init(section: String, key: String, default: String, choice_list: Array) -> void:
+               super(section, key, default)
                choices = choice_list

        func normalize(val):
@@ -129,9 +132,10 @@ class Text:
 class Boolean:
        extends Setting

-       var value: bool setget set_value, get_value
+       var value: bool : get = get_value, set = set_value

-       func _init(section: String, key: String, default: bool).(section, key, default) -> void:
+       func _init(section: String, key: String, default: bool) -> void:
+               super(section, key, default)
                pass
```

increased max touches to 32 for ios

C#: Ignore explicit interface implementations
krokoschlange pushed a commit to krokoschlange/godot that referenced this pull request May 25, 2023
haunted-loaf pushed a commit to haunted-loaf/godot that referenced this pull request Jun 19, 2023
…e-group-properties

GDScript: Fix groups and categories been seen as members
haunted-loaf pushed a commit to haunted-loaf/godot that referenced this pull request Jun 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Invalid call. Nonexistent function 'new' in base 'Nil'. if you use @export_group with same class name
2 participants