Skip to content

Rewrite game origin icon system to be modular #39

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

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

ihatecompvir
Copy link
Collaborator

Rewrites the game origin icon system to be far more modular/dynamic and removes the reliance on a special font and a hardcoded list of game origins. Game origin icons (in .png_xbox/wii format) will now be loaded from the ARK path ui/resource/game_origins/gen automatically. The images must be named the same as a game origin, so a game origin of rb3 will try to load ui/resource/game_origins/gen/rb3.png_<platform>.

What still needs to be done before this can be merged:

  • The game-origin-rewrite branch needs to be brought up to speed as it is outdated by over a year
  • Find a good place to install hook that will free the textures and material when the song select screen disappears, so the icons aren't permanently resident in memory, and load them again when needed
  • Testing and making sure this doesn't have any memory leaks or other stability issues that would be a blocker

@ihatecompvir ihatecompvir self-assigned this May 20, 2025
@ihatecompvir ihatecompvir added the enhancement New feature or request label May 20, 2025
@DragRedSim
Copy link
Contributor

Having a peek at the decomp, the MusicLibrary class does seem to have an OnExit() function, but this is only for leaving a session and going to the home menu. OnUnload() seems a bit more promising, as it removes the song scores, sorts, and setlists. InitData() also looks promising for a load point, since that’s where it loads in the materials that the library uses.
But it might be better to look at instances of the pattern panel->HandleType() in MusicLibrary, because that seems to be the way that it pushes ahead to the difficulty selection screen. Of course, I might be way off on all this, but I hope it’s useful as some ideas of where to hook the loads and unloads.

@jnackmclain
Copy link
Contributor

jnackmclain commented May 28, 2025

Crossposting the fixed xbox milo from my pr
#42 (comment)

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

Successfully merging this pull request may close these issues.

4 participants