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

Overhaul #95

Open
Sora-yx opened this issue Mar 29, 2024 · 1 comment
Open

Overhaul #95

Sora-yx opened this issue Mar 29, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@Sora-yx
Copy link
Contributor

Sora-yx commented Mar 29, 2024

The Manager handles a lot of stuff on startup due to all the features we added such as: first boot, vanilla transition, profile creation and migration, last game swap, etc. The more we added features, the more messy the code started to get, we had to face race condition, loader that doesn't install properly, the ComboBox game swap that doesn't add a new game when picking the game location manually etc.

All those issues happen on some arbitrary conditions which make debugging annoying and require many efforts. They got fixed (sort of) with arbitrary check, but those aren't ideal and the code is still messy. The branch Overhaul will be used to rework how the Manager handle all those situation with a rework of many features such as Game Swap, Manager and Game Profiles, ideally the code should be more flexible and handle all situation without any arbitrary check.

@Sora-yx Sora-yx added the enhancement New feature or request label Mar 29, 2024
@Sora-yx Sora-yx pinned this issue Mar 29, 2024
@ItsEasyActually
Copy link
Contributor

ItsEasyActually commented May 17, 2024

Adding on to this with some things that I'm intending on tackling for this overhaul.

  • Static Class Managers

    • The goal for these is to work like the Screen class down now after its rewrite. It will make general code management a lot easier.
    • Game Config
    • ConfigSchema
    • Config Ini
  • Base GameSettings class

    • It would be ideal to have a base GameSettings class that would be inherited by other classes, however this is risky due to already having them completely split.
  • Add in some helper classes to reduce redundant code

    • URL parsing is the first thought as every instance of it is copied code. There are likely more instances in the code base of these redundant bits of code.
  • General UI Clean up and minor enhancements

    • DPI Fixes (This is a strong maybe, need to do more research)
    • Fixing any weird or unexpected areas where stuff stretches or skews in weird ways.
  • Issue Cleanup

Will try to keep up with this comment while completing mentioned tasks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants