Skip to content

Port the project to Godot 4#167

Merged
qrrk merged 79 commits intomasterfrom
godot4
Oct 26, 2025
Merged

Port the project to Godot 4#167
qrrk merged 79 commits intomasterfrom
godot4

Conversation

@qrrk
Copy link
Copy Markdown
Owner

@qrrk qrrk commented Jul 19, 2024

I finally decided to bite the bullet and make a serious attempt to port Catapult to Godot 4. I already looked into it before and know that it will be a lot of work, but it will have to be done eventually.
Some things will probably have to be seriously rewritten, especially the more hacky parts related to theming and windowing.

@qrrk
Copy link
Copy Markdown
Owner Author

qrrk commented Jul 19, 2024

If anyone is curious, this is how it looks so far, after a couple of evenings of fixing.
It launches (barely, still with some errors), but many systems are completely broken.

@Ruteski

This comment was marked as spam.

@AriaMoradi

This comment was marked as off-topic.

@qrrk
Copy link
Copy Markdown
Owner Author

qrrk commented Jul 28, 2024

Must have

  • Fix any immediate blocking problems (script parsing errors, etc.).
  • Verify core functionality and fix if needed:
    • Game installation.
    • Game launching.
    • Handling of multiple game installations.
    • Mod installation and management.
    • Soundpack installation/deletion.
    • Font customization.
    • Backups.
  • Fix localizations.
  • Fix tab disabling method in Tabs.gd (or find an alternative).
  • Fix stable/experimental selection UI.
  • Fix appearance of custom icon buttons.
  • Revisit OSExecWrapper and decide what to do with it.
  • Fix invisible scroll bars.
  • Fix visual issues in themes.
  • Fix icon scaling.
  • Fix font scaling.
  • Fix any other issues with theming.
  • Playtest on Linux.

Nice to have

  • Modernize code according to changes in Godot 4 (new getter/setter syntax, typed arrays, callables, etc.).
  • Zipping and unzipping can now be done by Godot itself. There is no need to rely on external commands or exe's anymore.
  • Update game launching.

Extra ideas (can be done later)

  • Centralize duplicated JSON loading code that exists in many places.
  • Add a new theme based on Godot 4 editor theme.
  • Create a watchdog for the game process that will track if the game is running.

UPD. 25/10/25: Some more blocking issues discovered:

  • Ingame font files are not getting exported.
  • Linux: New symlinks were added to releases of several forks, causing Godot issues with file operations. Need a more robust solution.

@pierredavidbelanger
Copy link
Copy Markdown
Contributor

While trying to work on #182 , I opened the project in Godot 4 (I was not aware this project was done in v3). Wow, this seems like a huge task. Ill take a look at your godot4 branch on some spare time and see if I can help.

@qrrk qrrk changed the title [WIP] Port the project to Godot 4 Port the project to Godot 4 Oct 25, 2025
@qrrk qrrk merged commit 4681971 into master Oct 26, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Support Cataclysm: The Last Generation Opens in a blank window

6 participants