DacoTaco / priiloader

A Wii homebrew application that can prevent and fix some user level bricks
GNU General Public License v2.0
527 stars 101 forks source link

Title launcher does not list game channels #374

Closed Quadraxis-v2 closed 3 weeks ago

Quadraxis-v2 commented 1 month ago

Describe the bug The title launcher doesn't show those titles considered game channels, i.e. those that are stored inside /title/00010004/

To Reproduce

  1. Install a game channel, such as the Mario Kart Wii Channel
  2. Choose "Launch title" in Priiloader

Version 0.10

Expected behavior The list should include the game channels installed

Screenshots 0000000100000002_2024-08-29_22-33-36 0000000100000002_2024-08-29_22-44-18 0000000100000002_2024-08-29_22-45-02

DacoTaco commented 1 month ago

https://github.com/DacoTaco/priiloader/blob/master/src/priiloader/source/titles.cpp#L555

you seem to be right that these channels are indeed not listed. the code seems to indicate these are hidden channels. aren't they? i always thought they were haha i can easily list them by making also processing them in the code i linked above :)

Quadraxis-v2 commented 1 month ago

Yeah, I was looking at that code right now. Seems like an easy fix.

Edit: I don't know how ES_GetTitles() works, but you need to be aware that these channels have the same IDs as the games themselves, maybe that could be a problem in case there is only savedata and no channel. I get them directly from ISFS here: https://github.com/Quadraxis-v2/snort48-mod/blob/00b1fbe2cdbd5d9432ac34d183349b4e5d821dec/source/main.c#L99

DacoTaco commented 4 weeks ago

ES_GetTitles should work fine, as SM is just a nintendo SDK application and uses IOS/ES as well. i made a version you can install to try and see if the channels show up correctly/boot : boot.zip

Ingunar commented 4 weeks ago

00010004 naming is bad even on WiiBrew, I wanted to change it to something like *Disc-exclusive channels and Disc Games that have them` or something like that.

When we checked that Photo Channel code in the System Menu we found confirmation that read rules for 00010003 and 00010006 titles exist, but we still don't know any channels with those IDs.

00010007 is still unknown.

00010008 are the hidden ones EULA, Region Select, and SPD.

Not sure if any other should be added, to the Launch title list.

Ingunar commented 4 weeks ago

Oh yeah. These are the ones that SM can read and display:

00010000 - It can display it, but should not run. (Start is grayed out) - The only known one is Photo Channel Dummy. 00010001 00010002 00010003 - Currently none is known but will be displayed. When I tested it, it had almost the same rules as System Channels. 00010004 00010006 - Currently none is known. There is not much info about this one.

00010008 is always a hidden channel, so it is not on the list. But nothing is stopping us from adding it.

Quadraxis-v2 commented 4 weeks ago

ES_GetTitles should work fine, as SM is just a nintendo SDK application and uses IOS/ES as well. i made a version you can install to try and see if the channels show up correctly/boot : boot.zip

Yes, this works. By the way, if you take a look at the screenshots I posted, titles whose names are shorter than 8 characters get padded with "?". This stems from: https://github.com/DacoTaco/priiloader/blob/master/src/priiloader/source/titles.cpp#L531

DacoTaco commented 4 weeks ago

@Ingunar : what you mentioned is familiar with what is in priiloader. any upper title id it doesnt know will be ignored anyway :) @Quadraxis-v2 : good to hear it worked. ill have to change that code as well but by the looks of it the GetTitleName function should set the name correctly, it probably misses a \0 at the end, which i will fix once im home, but im on vacation haha :)

DacoTaco commented 3 weeks ago

@Quadraxis-v2 : do you have the .app or title id of the title that has the invalid/short name so i can investigate the issue?