-
-
Notifications
You must be signed in to change notification settings - Fork 133
Mostly complete conversion to 4.2.2 #188
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
Open
menaechmi
wants to merge
105
commits into
db0:godot4-conversion
Choose a base branch
from
menaechmi:conversion
base: godot4-conversion
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Made some edits based on experience of following this tutorial in v3.5.1 of Godot. I was able to complete the tutorial from start to finish, and end up with a working version of the sandbox with a deck containing the two custom cards that I could draw from.
Small change to say updated for 3.5.3 rather than 3.5.1 as originally stated.
Update QUICKSTART.md
not yet 100%. see pull request for details
fix from godot-tester issue 36
From: https://github.com/github/gitignore/blob/6eeebe6f49678aacd8311ce079842c971b3ebe96/Godot.gitignore Need to add the .godot folder since it's full of cooked assets. We also now include *.import files as recommended in the docs: https://docs.godotengine.org/en/4.3/tutorials/assets_pipeline/import_process.html#files-generated
Not using any custom settings. Just the defaults. I'm doing this on Godot 4.3. Not sure if that matters.
Fix a ton of gut errors: scene\resources\resource_format_text.cpp|453| res://addons/gut/gui/RunAtCursor.tscn:4 - ext_resource, invalid UID: uid://cr6tvdv0ve6cv - using text path instead: res://addons/gut/gui/play.png scene\resources\resource_format_text.cpp|453| res://addons/gut/gui/RunAtCursor.tscn:5 - ext_resource, invalid UID: uid://6wra5rxmfsrl - using text path instead: res://addons/gut/gui/arrow.png scene\resources\resource_format_text.cpp|453| res://addons/gut/gui/GutBottomPanel.tscn:6 - ext_resource, invalid UID: uid://cr6tvdv0ve6cv - using text path instead: res://addons/gut/gui/play.png scene\resources\resource_format_text.cpp|453| res://addons/gut/gui/GutBottomPanel.tscn:7 - ext_resource, invalid UID: uid://4gyyn12um08h - using text path instead: res://addons/gut/gui/RunResults.tscn || Cannot open file 'res://addons/gut/gui/RunResults.tscn'. || Failed loading resource: res://addons/gut/gui/RunResults.tscn. Make sure resources have been imported by opening the project in the editor at least once. res://addons/gut/gut_plugin.gd|8| Attempt to call function 'create_temp_directory' in base 'null instance' on a null instance. res://addons/gut/gut.gd|1| Parse Error: Could not resolve super class path "res://addons/gut/gut_to_move.gd". res://addons/gut/gui/BottomPanelShortcuts.gd|5| Invalid access to property or key 'editor_shortcuts_path' on a base object of type 'null instance'. res://addons/gut/gui/GutBottomPanel.gd|21| Invalid call. Nonexistent function 'get_rich_text_edit' in base 'MissingNode'. res://addons/gut/gui/GutBottomPanel.gd|52| Attempt to call function 'create_temp_directory' in base 'null instance' on a null instance. res://addons/gut/gui/GutBottomPanel.gd|317| Invalid access to property or key 'run_results' on a base object of type 'Nil'. res://addons/gut/gui/GutBottomPanel.gd|99| Invalid access to property or key 'shortcut_dialog' on a base object of type 'Nil'. Checked out gut tag v9.3.0 and replaced our addons/gut/ folder with their addons/gut/ folder. When running, gut tells us it's copying our config to use as a template, but I don't think we want to delete the template because all repo devs should use it: || GUT Info: Copying [res://.gut_editor_config.json] to [user://gut_temp_directory/gut_editor_config.json] || GUT Warning: File [res://.gut_editor_config.json] has been moved to [user://gut_temp_directory/gut_editor_config.json]. || You can delete res://.gut_editor_config.json || GUT Info: Copying [res://.gut_editor_shortcuts.cfg] to [user://gut_temp_directory/gut_editor_shortcuts.cfg] || GUT Warning: File [res://.gut_editor_shortcuts.cfg] has been moved to [user://gut_temp_directory/gut_editor_shortcuts.cfg]. || You can delete res://.gut_editor_shortcuts.cfg || GUT got some new images that are not imported yet. Please restart Godot. The Gut editor panel seems to work and I can run tests (they don't all pass).
Upgrade gut to v9.3.0, include `.import` files, update .gitignore
CardTemplate's _tween is a WeakRef and not a Tween. Also resets the project.godot to the compat renderer
Thanks for doing this. If you're still working on this, why not keep it as draft? |
Not sure about manipulation_bottons, but only 29 failing remain
(Likely fixed when ScEng_common.gd was edited)
It doesn't work in the 3.x version, so it works the same amount here
This one fails in 3.x, it fails less in 4.2 now though
Fix tween logic, fix set/get
CardTemplate fix whitespace Pile change some tween awaits
Another one that doesn't work in 3.x but works in 4 now :)
delete old TODO/FIXME comments, fix a quick tween error
Also deletes the cli test scene, as it's no longer used
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm re-writing this description, because the status has changed dramatically since it was first written.
Tests
Two test currently fail:
tests/integration/test_manipulation_buttons.gd.TestManipulationButtons
fails with[VECTOR2(203.93003845214843750000, 401.15228271484375000000)] expected to equal [VECTOR2(103, -240.5)] +/- [(2, 2)]: Card focused and in correct global position at line 17
The cards don't even have manipulation buttons in this nor when I tested it in 3.x so I didn't try to fix it.
tests/integration/test_piles.gd.TestPopupView
test_popup_deck_view
fails with[true] expected to equal [false]: Cards returning from popup should respect piles card facing at line 141
It fails because cards can't be dragged in the PopupView for some reason. Fix that, and the test should pass.
Fonts/Labels
CardFront.gd
need to be fixed. (Basically all text on cards doesn't fit)CardFront.gd
and are because a node can't get_tree() to wait for a process frame when it's not in the scene tree yet. But even without those errors, the whole framework slows to a crawl when that happens and almost every tween stops working. I'm pretty sure it's related to a lack of awaits in CardFront.gd or similar - but I did not track down why a name change triggers it.Demo scenes
Basically everything works
CI
move_to
will work better, but there are times where that can't happen.Basically everything works and because it works in 4.2.2, it should work in versions all through 4.4.1 (but I haven't extensively tested it).
Everything else I would do is a major refactor, so if I continue it it will be as a separate fork.