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

Initial conversion to Godot 4 #4936

Merged
merged 42 commits into from Mar 14, 2024
Merged

Initial conversion to Godot 4 #4936

merged 42 commits into from Mar 14, 2024

Conversation

hhyyrylainen
Copy link
Member

@hhyyrylainen hhyyrylainen commented Mar 13, 2024

Brief Description of What This PR Does

Switches Thrive to use Godot 4 and gets the game basically working, but that's it. There's still a ton of work to be done before everything is again in good shape in Thrive.

Progress Checklist

Note: before starting this checklist the PR should be marked as non-draft.

  • PR author has checked that this PR works as intended and doesn't
    break existing features:
    https://wiki.revolutionarygamesstudio.com/wiki/Testing_Checklist
    (this is important as to not waste the time of Thrive team
    members reviewing this PR)
  • Initial code review passed (this and further items should not be checked by the PR author)
  • Functionality is confirmed working by another person (see above checklist link)
  • Final code review is passed and code conforms to the
    styleguide.

Before merging all CI jobs should finish on this PR without errors, if
there are automatically detected style issues they should be fixed by
the PR author. Merging must follow our
styleguide.

@hhyyrylainen hhyyrylainen added this to the Release 0.6.6 milestone Mar 13, 2024
@hhyyrylainen hhyyrylainen added this to In progress in Thrive Planning via automation Mar 13, 2024
@hhyyrylainen hhyyrylainen marked this pull request as ready for review March 14, 2024 10:00
Updated third part and test folders

Automatic asset changes
Mostly done simulation parameters

Looked through the auto-evo file changes

Updated the tutorial folder files

Handled tools folder files

Initial syntax conversion of thriveopedia, has broken method calls

Handled the steam folder files

Handle the stage starters

Initial syntax conversion of space stage files

Syntax conversion of society stage files

Mostly just basic syntax upgrade on the saving folder

Fixed native interop C# side files

Syntax upgrade on the modding folder

Upgraded benchmark files

Upgraded late multicellular folder

Initial upgrade of industrial stage

Upgrade of early multicellular files

Basic converion of awakening stage

Basic conversion of ascension files

Finished first pass of fixing up engine folder  files

First full round of converting the general folder files

First part of gui_common file upgrades

split as there's some really tricky files here to convert

Auto updated font files

Rest of GUI common initial conversion

Fixe name / deletions

Autogenerated font import settings

Part of the microbe stage files upgraded

One more group of microbe upgrade files done as a first draft

probably one more commit to fully handle all the microbe files

And the microbe systems

this is really the last thing for today

Here's the last microbe stage stuff initially converted

didn't turn out that I could resist and stop after the previous commit

Few more small leftover changes I had

Updated a bunch of various stuff to compile

some with bulk renames and partially manually
Added new caching localization wrapper (not done yet)

and added using that which should fix a ton of localization errors, also various small manual fixes for random errors

Fixed a few simple errors to get all of the errors to show up

Text replaced Xform with *, and removed some unnecessary parentheses

also from other parts of the code as that was easier to do automatically and I left the instances of removed parentheses where it didn't cause an unclear precedence warning

Added the new Godot temporary folder to gitignore

Upgrade kinematic mode code

More small fixes before a bigger bulk edit

Updated setup instructions to mention Godot 4 and some style stuff

that will need to be different in 4.0

Mostly signal fixes but various other small fixes as well

More small fixes all over, compiling image changes, and colour picker

need to verify later that the flags that used to be set on the images work correctly

Corrected most of remaining signal connections to compile

advanced CustomDropDown conversion a bit more
Fixed one more signal connection

Ported some drawing method calls, started a bit on font changes

Added translations for controller button names

fixed renamed control pressed variable

Handled the missing notifications in Godot 4

Handled Popup changes to make CustomDropDown compile

Added custom rich text fixes that don't remove the ascent font

as I have not been able to test the new inline image rendering

Switched the main website buttons container to call Popup

which might be good enough

Updated the .csproj file to be fully Godot 4 compatible
Removed assembly info that shouldn't be required with the new project format

Fixed duplicate membrane and new microbe data definition

Corrected a bunch of cases of string names in signal registrations

Fixed two more references to the old margin_* name strings

Fixed a few more shaders with SCREEN_TEXTURE errors
Did various manual copying and fixing for the thrive theme

Enabled mip-maps for the social media icons

Went through the settings to make sure all is fine and ported

Auto updated default env by Godot
and I left other automated updates like they wanted to be

Adjusted some main menu element font sizes
packaging is not converted yet

Add a bit of code to skip main menu init if quitting

doesn't seem to help but might in the future

Allow loading SharedBase in Thrive
Fixed merged code from master in StartupActions.cs

Updated string converter to match new nullability

made the simulation parameters create a serialization settings

Fixed TypeConverter attributes now not working without namespace

that is explicitly defined

Fixed PhotographablePreview.cs and a Math.Clamp error in CustomWindow

Fixed disposed callbacks to native library

Disabled harmony loading to avoid immediate crash
Made main menu also use typed arrays

Switched all instances of Cancelled to Canceled to fix window close

signals

Fixed all references to the "hide" signal to be "hidden"

Few fixes for warnings that show up in main menu
Forgot to commit this new thriveopedia file

Switched some code references to refer to old margin names in styles

as it seems it wasn't renamed there

A few more abstract related fixes

Removed usage of all abstract base classes

to be compatible with Godot 4 that doesn't work with those anymore

Removed Tween instances from scenes
Removed old font files that don't look like they'll ever be used

Started on defining new font size files and using them

Slide screen re-save

Moved one more font config to the specific folder
Fixed iron materials not referencing the right textures anymore

Fixed some other texture settings etc. import stuff

Resaved all models to fix warnings, and fixed chunk dissolve

as well as some other minor things in the scenes

Tried to re-apply particle settings to mostly make them the same

Added localization as an autoload like it should be

Re-saved all .mesh files to get them to the new format

to quieten some warnings
Fixed incorrect input names in MulticellularCamera.cs

Fixed errors when opening new game settings

Fixed xbox controller button warnings when going to options

Fixed tooltip unregistering callbacks not working

Resaved scenes with old shader_param names used

Fixed C# exceptions when starting microbe stage

Fixed life origin not being selected
Fixed screen read in Chromatic.gdshader

Fixed the updated compound cloud plane math

Don't show percentages in compound bars

Turned on mipmaps for all textures again

or at least most textures and icons

One fine looking scene change
…what they should be

Turned up default anisotropic filtering level

Set background vram compression off to get rid of artifacts

Fixed a bunch of organelle model related things

Stage starter file reformatting
Fixed some editor GUI stuff
Flagellum wanted to do this change automatically

Improved toxin particle effect back towards what it was

Turned mipmaps on for terrain textures

Added ID for toxin cloud resource
Fixed custom window title drawing

Fixed crash sometimes triggering in getting thread count

Fixed entity counts not showing in debug overlays

Feed displayer font update, theme update for window title

Fixed extra blank space in default tooltips

Fixed options menu, and some other scene fonts

Fixed some more font usages
that shouldn't be used anymore anywhere
Even more microbe HUD changes, it is now mostly complete

Made custom rich text label compile but not embed images well
CI09 and others added 15 commits March 14, 2024 13:50
Revert "Fix Thriveopedia buttons' size and cell editor bottom left buttons' size"

This reverts commit 5f87b45.

Fix Thriveopedia top bar buttons' size

Fix editor bottom left buttons' size
Revert "Fix Thriveopedia buttons' size and cell editor bottom left buttons' size"

This reverts commit 5f87b45.

Fix Thriveopedia top bar buttons' size

Fix editor bottom left buttons' size
back in titles and buttons as the problem wasn't it but the fallback font for Arabic, also updated the lato font version
called Roboto for use when a mono font is called for in the game, added its license info as well
there's still some less critical GUI places not converted
and fixed errors when too big tooltips were attemtped to be positioned
and needing to use 4.2.2 Godot at minimum to have a chance to import stuff
which was now possible thanks to being on Godot 4, and removed some blank files that had appeared at some point
to allow much easier re-use of them. Didn't convert MulticellularHUD.tscn yet to this new way.
and deleted the old font files entirely that had issues with Godot 4
@hhyyrylainen hhyyrylainen merged commit 317dce6 into master Mar 14, 2024
1 of 4 checks passed
@hhyyrylainen hhyyrylainen deleted the godot_4 branch March 14, 2024 12:17
Thrive Planning automation moved this from In progress to Done Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

2 participants