Hacking WiiFlow Lite

NormalMisha

Well-Known Member
Member
Joined
May 16, 2021
Messages
119
Trophies
0
Age
35
XP
167
Country
United Kingdom
tiers are optional. tetsuo likes to use tiers to separate platforms into consoles, handhelds, arcade, computers, and Wii. there are other ways to use tiers. or you can just simply not use them at all and put all source menu buttons in one tier.

Thanks very much.

I think I used the word tier wrong. I think of WiiFlow as having 5 separate slots into which items are put: Wii, GC, HB, Nand and Plugins, and the hardcoded circular buttons at the bottom switch between these slots. That's what I meant by "tier-changing buttons". The plugin menu system determines what is put in slot 5.

I realise this is wrong. There is only 1 slot, with several ways to determine what is put in it. Hiding all 5 dedicated circular buttons gives you a pure sourcemenu setup, but I think I got crashes when I hid all buttons.
 
  • Like
Reactions: fledge68

NormalMisha

Well-Known Member
Member
Joined
May 16, 2021
Messages
119
Trophies
0
Age
35
XP
167
Country
United Kingdom
This question is for anybody:

How does WiiFlow know which channels (WADs) have been installed to an EmuNand? I deleted a WiiWare game via the X icon (WWIP - Where's Wally part 1 of 3) but it still shows in the coverflow. I guess WiiFlow maintains its own list rather than rescanning the EmuNand every time, whereas I do believe it does rescan the wbfs\games folders on every boot or reloadcache.

Also, I installed all three parts of the game - WWIP, WW2P & WW3P - but only part 1 shows in the list. These are literally 3 different WADs with 3 different title IDs.

Could it be that WiiFlow is having trouble writing to the file that maintains the channels list? Or am I wrong and WiiFlow actually rescans the EmuNand every boot to find out which channels truly exist?
 

RunningSnakes

Well-Known Member
Member
Joined
Jun 21, 2018
Messages
1,355
Trophies
1
Age
50
XP
4,851
Country
United States
Good question? Whenever i delete a WiiWare game i do not believe i have run into this issue.

First thing, how did you install the game wads?
Through WFL, GX, ShowMiiWads?

I am willing to test this but this information is critical to reproduce this issue and find a solution.
 
  • Like
Reactions: NormalMisha

Muliro

Well-Known Member
Member
Joined
Sep 4, 2019
Messages
150
Trophies
0
Age
32
XP
643
Country
Brazil
Thanks very much.

I think I used the word tier wrong. I think of WiiFlow as having 5 separate slots into which items are put: Wii, GC, HB, Nand and Plugins, and the hardcoded circular buttons at the bottom switch between these slots. That's what I meant by "tier-changing buttons". The plugin menu system determines what is put in slot 5.

I realise this is wrong. There is only 1 slot, with several ways to determine what is put in it. Hiding all 5 dedicated circular buttons gives you a pure sourcemenu setup, but I think I got crashes when I hid all buttons.
I didn't know we could hide the buttons untill some time ago, what I did was change all the images for blank .png for my theme
 

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,985
Country
United States
This question is for anybody:

How does WiiFlow know which channels (WADs) have been installed to an EmuNand? I deleted a WiiWare game via the X icon (WWIP - Where's Wally part 1 of 3) but it still shows in the coverflow. I guess WiiFlow maintains its own list rather than rescanning the EmuNand every time, whereas I do believe it does rescan the wbfs\games folders on every boot or reloadcache.

Also, I installed all three parts of the game - WWIP, WW2P & WW3P - but only part 1 shows in the list. These are literally 3 different WADs with 3 different title IDs.

Could it be that WiiFlow is having trouble writing to the file that maintains the channels list? Or am I wrong and WiiFlow actually rescans the EmuNand every boot to find out which channels truly exist?
weird issue - it sounds like wiiflow missed something when it removed the game. I would use showmiiwads on your pc to look at your emunand. see if it shows up and if you can delete it using showmiiwads.
 
  • Like
Reactions: NormalMisha

NormalMisha

Well-Known Member
Member
Joined
May 16, 2021
Messages
119
Trophies
0
Age
35
XP
167
Country
United Kingdom
Good question? Whenever i delete a WiiWare game i do not believe i have run into this issue.

First thing, how did you install the game wads?
Through WFL, GX, ShowMiiWads?

I am willing to test this but this information is critical to reproduce this issue and find a solution.
I am installing and deleting WADs using WiiFlow 5.5.3, but the emunand was created by WiiFlow 5.4.9 if that matters. I installed WWIP, played it (i.e. a save was created), then I installed WW2P and WW3P. WW2P and WW3P failed to show up in the channel list. I then deleted WWIP, which failed to disappear from the channel list. If I try to play WWIP an exception is thrown, which makes sense.

Note: The part 1 WAD is named WW i P, not WW 1 P, strangely.


weird issue - it sounds like wiiflow missed something when it removed the game. I would use showmiiwads on your pc to look at your emunand. see if it shows up and if you can delete it using showmiiwads.
I've just checked the emunand with ShowMiiWads. It shows WW2P and WW3P as installed. There is no sign of WWIP. I checked the ticket and title folders to see if there were any remnants of WWIP's folder name, and there is not.

Does WiiFlow scan the emunand at every boot?

The only strange thing for me here is that the 3 WADS all have the same Channel Name in ShowMiiWads: "Where's Wally (R)?" (registered trademark sign)
This must mean that in Wii System Menu we would see 3 identically named channels, only differentiated visually by a number 1, 2 or 3 in the channel banner, as I believe the rest of the banner would look identical. The real Wii NAND and OS must have no problem with those identical channel names I would have thought.

Could that be confusing WiiFlow?
 
Last edited by NormalMisha,

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,985
Country
United States
I am installing and deleting WADs using WiiFlow 5.5.3, but the emunand was created by WiiFlow 5.4.9 if that matters. I installed WWIP, played it (i.e. a save was created), then I installed WW2P and WW3P. WW2P and WW3P failed to show up in the channel list. I then deleted WWIP, which failed to disappear from the channel list. If I try to play WWIP an exception is thrown, which makes sense.

Note: The part 1 WAD is named WW i P, not WW 1 P, strangely.



I've just checked the emunand with ShowMiiWads. It shows WW2P and WW3P as installed. There is no sign of WWIP. I checked the ticket and title folders to see if there were any remnants of WWIP's folder name, and there is not.

Does WiiFlow scan the emunand at every boot?

The only strange thing for me here is that the 3 WADS all have the same Channel Name in ShowMiiWads: "Where's Wally (R)?" (registered trademark sign)
This must mean that in Wii System Menu we would see 3 indentically named channels, only differentiated visually by a number 1, 2 or 3 in the channel banner, as I believe the rest of the banner would look identical. The real Wii NAND and OS must have no problem with those identical channel names I would have thought.

Could that be confusing WiiFlow?
not on every boot. did you do reload cache?
 

NormalMisha

Well-Known Member
Member
Joined
May 16, 2021
Messages
119
Trophies
0
Age
35
XP
167
Country
United Kingdom
not on every boot. did you do reload cache?
Yes I did. If I delete the cache folder will it force a reload on next boot? I don't see where in the cache folder it could be 'remembering' this game.

By the way, is it possible to hide the Select Plugins button on the WiiFlow menu screen (press Wiimote Home Button) or is it hard-coded as it were? It seems like a way for kids to mess stuff up, but maybe it has no effect if SourceMenu is being used.
 

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,985
Country
United States
Yes I did. If I delete the cache folder will it force a reload on next boot? I don't see where in the cache folder it could be 'remembering' this game.

By the way, is it possible to hide the Select Plugins button on the WiiFlow menu screen (press Wiimote Home Button) or is it hard-coded as it were? It seems like a way for kids to mess stuff up, but maybe it has no effect if SourceMenu is being used.
don't delete cache folder. delete cache/lists folder.

no you can't hide that button and no it won't mess anything up. just use the source menu again if it does.
 

RunningSnakes

Well-Known Member
Member
Joined
Jun 21, 2018
Messages
1,355
Trophies
1
Age
50
XP
4,851
Country
United States
@NormalMisha

I installed Wheres Wally 1-2-3 using ShowMii Wads and all 3 show up properly and playable. I then deleted WW1 the same way you did by X delete through WFL. It deleted as expected for me, so i could not reproduce your issue. That particular EmuNAND i am using is a couple years old so i dont think there is WFL version conflict causing your issue. Maybe try uninstalling then reinstalling WW1-2-3 through ShowMiiWads and see if all games are displayed correctly through WFL and if X delete is working as it should.
 

NormalMisha

Well-Known Member
Member
Joined
May 16, 2021
Messages
119
Trophies
0
Age
35
XP
167
Country
United Kingdom
Bug report 001: If you have "Both" selected in the NAND type setting and you delete an EmuNAND game, the game does not disappear from the games list. If you try to play it you get a code dump, so it *has* been deleted. To get the games list updated the only thing that works is changing the NAND type setting to "EmuNAND", reloading the cache and then changing it back to "Both".
I thought this problem rang a bell. I noticed it a year ago. :D

don't delete cache folder. delete cache/lists folder.

no you can't hide that button and no it won't mess anything up. just use the source menu again if it does.

Thanks. That worked as expected. It seems that when we delete a game with the Channels setting set to "Both", the .db files in the list folder are not updated properly. You can actually see this visually as the WiiFlow animated logo does not display when we select ReloadCache if our Channels setting is currently Both (it doesn't when viewing the plugins coverflows either). This problem also seems to affect installing games.

Off the top of your head do you know why this might be the case?

@NormalMisha

I installed Wheres Wally 1-2-3 using ShowMii Wads and all 3 show up properly and playable. I then deleted WW1 the same way you did by X delete through WFL. It deleted as expected for me, so i could not reproduce your issue. That particular EmuNAND i am using is a couple years old so i dont think there is WFL version conflict causing your issue. Maybe try uninstalling then reinstalling WW1-2-3 through ShowMiiWads and see if all games are displayed correctly through WFL and if X delete is working as it should.

Thanks for testing that, buddy. :grog: Glad I didn't need to do it in the end.
 
Last edited by NormalMisha,
  • Like
Reactions: RunningSnakes

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,985
Country
United States
I thought this problem rang a bell. I noticed it a year ago. :D



Thanks. That worked as expected. It seems that when we delete a game with the Channels setting set to "Both", the .db files in the list folder are not updated properly. You can actually see this visually as the WiiFlow animated logo does not display when we select ReloadCache if our Channels setting is currently Both (it doesn't when viewing the plugins coverflows either). This problem also seems to affect installing games.

Off the top of your head do you know why this might be the case?



Thanks for testing that, buddy. :grog: Glad I didn't need to do it in the end.
FYI, I see the update cache (reload cache) problem when 'both' is selected i have fixed it in an upcoming release. but basically it updates the list for real nand but then clears the flag before the emu nand list.
 

NormalMisha

Well-Known Member
Member
Joined
May 16, 2021
Messages
119
Trophies
0
Age
35
XP
167
Country
United Kingdom
FYI, I see the update cache (reload cache) problem when 'both' is selected i have fixed it in an upcoming release. but basically it updates the list for real nand but then clears the flag before the emu nand list.
Nice one. I've got separate source buttons for real nand and emunand for now.

Just for your information, I have found a 'bug' whereby WiiFlow can end up writing something like this to the SOURCEFLOW section of the wiiflow.ini:

numbers=3
tiers=source_menu.ini, consoles.ini


To get that to happen, you have to have a mixture of plugins and new_
source
s in the source menu (or probably any lower tier too). E.g.:

1. Add Wii (source=wii), Gamecube (dml) and consoles.ini (new_source) to your source_menu.ini.
2. Load WiiFlow, select consoles from the source menu, then a specific console, load a game then exit back to WiiFlow.
3. The previous console coverflow should load.
4. Press B to go back up to the source menu.
5. Select Wii.
6. Exit WiiFlow.
7. Load WiiFlow and get an exception.

I think somehow this bug does not happen if, in steps 4 and 5, you press the Wii button at the bottom instead of using the source menu.

I guess it's an array OOB exception due to an attempt to match the numbers CSV to the tiers CSV.

I only wrote this because it took me a while testing to get to the bottom of the issue.
 

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,985
Country
United States
Nice one. I've got separate source buttons for real nand and emunand for now.

Just for your information, I have found a 'bug' whereby WiiFlow can end up writing something like this to the SOURCEFLOW section of the wiiflow.ini:

numbers=3
tiers=source_menu.ini, consoles.ini


To get that to happen, you have to have a mixture of plugins and new_
source
s in the source menu (or probably any lower tier too). E.g.:

1. Add Wii (source=wii), Gamecube (dml) and consoles.ini (new_source) to your source_menu.ini.
2. Load WiiFlow, select consoles from the source menu, then a specific console, load a game then exit back to WiiFlow.
3. The previous console coverflow should load.
4. Press B to go back up to the source menu.
5. Select Wii.
6. Exit WiiFlow.
7. Load WiiFlow and get an exception.

I think somehow this bug does not happen if, in steps 4 and 5, you press the Wii button at the bottom instead of using the source menu.

I guess it's an array OOB exception due to an attempt to match the numbers CSV to the tiers CSV.

I only wrote this because it took me a while testing to get to the bottom of the issue.
i don't see an error 'bug'.

numbers=3 .... is the last source button clicked so that when you return to sourceflow it knows which button to center on or for source menu which page to go to, to show the last page you were on.

tiers=source_menu.ini, consoles.ini ... keeps track of the source menu tiers so when you click on the go back button or press 'b' to go back a tier wiiflow knows what source menu tier to load.
 

Muliro

Well-Known Member
Member
Joined
Sep 4, 2019
Messages
150
Trophies
0
Age
32
XP
643
Country
Brazil
Nice one. I've got separate source buttons for real nand and emunand for now.

Just for your information, I have found a 'bug' whereby WiiFlow can end up writing something like this to the SOURCEFLOW section of the wiiflow.ini:

numbers=3
tiers=source_menu.ini, consoles.ini


To get that to happen, you have to have a mixture of plugins and new_
source
s in the source menu (or probably any lower tier too). E.g.:

1. Add Wii (source=wii), Gamecube (dml) and consoles.ini (new_source) to your source_menu.ini.
2. Load WiiFlow, select consoles from the source menu, then a specific console, load a game then exit back to WiiFlow.
3. The previous console coverflow should load.
4. Press B to go back up to the source menu.
5. Select Wii.
6. Exit WiiFlow.
7. Load WiiFlow and get an exception.

I think somehow this bug does not happen if, in steps 4 and 5, you press the Wii button at the bottom instead of using the source menu.

I guess it's an array OOB exception due to an attempt to match the numbers CSV to the tiers CSV.

I only wrote this because it took me a while testing to get to the bottom of the issue.
I was experiencing this exact same issue, always after the exception error I had the same numbers=3 in my wiiflow.ini.
I solved it with the option to always go back to source menu. Not ideal but problem solved for me
 

fledge68

Well-Known Member
OP
Member
Joined
Jan 30, 2012
Messages
2,440
Trophies
2
XP
4,985
Country
United States
I was experiencing this exact same issue, always after the exception error I had the same numbers=3 in my wiiflow.ini.
I solved it with the option to always go back to source menu. Not ideal but problem solved for me
What do you mean by option to always go back to source menu?
 

NormalMisha

Well-Known Member
Member
Joined
May 16, 2021
Messages
119
Trophies
0
Age
35
XP
167
Country
United Kingdom
i don't see an error 'bug'.

numbers=3 .... is the last source button clicked so that when you return to sourceflow it knows which button to center on or for source menu which page to go to, to show the last page you were on.

tiers=source_menu.ini, consoles.ini ... keeps track of the source menu tiers so when you click on the go back button or press 'b' to go back a tier wiiflow knows what source menu tier to load.
But if the tiers setting contains two tiers I think we should also always see two numbers in the numbers setting, due to line 115 in menu_source.cpp which adds the number 0 to the end of the sm_numbers vector whenever a sourceflow button has been selected that takes us to a new tier (source=new_source).

I think I've found where the exception is raised. It's in CMenu::_initSourceMenu():

C++:
for(u8 i = 1; i < tiers.size(); i++)
{
    trs.append(',' + tiers[i]);
    numbers.append(',' + sm_numbers[i]);
}

That expects the lists to be the same length. The remaining question is why they sometimes aren't. I have not worked that out yet but I'll have another look later. It must be something to do with having both new_sources and direct sources (e.g. dml) in the same tier, given Muliro's comments. As he says, showing the source menu on start fixes it accidentally:

C++:
/* Source Menu on start reset tiers before buid menus */
if(m_cfg.getBool("GENERAL", "source_on_start", false))
{
    m_cfg.remove(SOURCEFLOW_DOMAIN, "tiers");
    m_cfg.remove(SOURCEFLOW_DOMAIN, "numbers");
}
 
Last edited by NormalMisha,
  • Like
Reactions: Muliro

Muliro

Well-Known Member
Member
Joined
Sep 4, 2019
Messages
150
Trophies
0
Age
32
XP
643
Country
Brazil
So you have to drill back down to where you were right? Does your source_menu contain direct links to plugins or built-in sources (wii, dml etc.), or does it only contain links to other tiers, as is standard?
Yes, it contains both and it's with them that I get the exception.
If I go like, "source menu > WiiMC" I get the exception when I exit WiiMC. Also when I go: "source menu > arcade > run a game > exit plugin" I get exception too.
But if "source menu > consoles > SNES > run a game > exit plugin" I have no problems
 
  • Like
Reactions: NormalMisha

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • SylverReZ @ SylverReZ:
    @ZeroT21, The Russians are after you lol.
  • K3Nv2 @ K3Nv2:
    Send me your ip I'll remotely fix it
  • ZeroT21 @ ZeroT21:
    @K3Nv2 my head needs fixing if I believe you
  • ZeroT21 @ ZeroT21:
    it's kinda fun watching it happen tho
  • K3Nv2 @ K3Nv2:
    It needs fixing for other things but your pc I can fix
  • ZeroT21 @ ZeroT21:
    over 300+ virus/trojians/worms after scanning, what did I do to deserve this attention lol
  • ZeroT21 @ ZeroT21:
    tho I find it funny when i receive other people's pc/laptops in this state
  • ZeroT21 @ ZeroT21:
    i wont be upgrading unless I cant run the games i want anymore
  • K3Nv2 @ K3Nv2:
    Spill water on it good excuse
  • ZeroT21 @ ZeroT21:
    @K3Nv2 that's like a valid option if someone else is paying for ya
  • K3Nv2 @ K3Nv2:
    Daddy's wallet
  • K3Nv2 @ K3Nv2:
    Ngl hogwarts legacy has good pooping music
  • OctoAori20 @ OctoAori20:
    That's uh-
  • OctoAori20 @ OctoAori20:
    That's certainly a Dairy Queen sign lmao
  • K3Nv2 @ K3Nv2:
    You should see his help wanted signs
  • OctoAori20 @ OctoAori20:
    Ugh, so many sweat-dipwads in Sploon 3 Anarchy mode tonight
  • OctoAori20 @ OctoAori20:
    I didn't know this was "Make Octo never finish Fresh Season 2024 Catalog in Splatoon 3" month, good god
  • Veho @ Veho:
    What's the point of "confirming" games you know will get released. Like Nintendo "confirming" a Zelda sequel. "We can't be sure Nintendo is working on a new Zelda game, or if a new Zelda game will ever be released, until they officially confirm it."
  • Veho @ Veho:
    "There is literally no way to know if they will ever release a new Zelda game, it's wild speculation until they officially confirm it."
  • K3Nv2 @ K3Nv2:
    Black ops was the lesser shitter line in cock a poopoo tbf just a way to let people know it hasn't died or going a different route I guess
  • K3Nv2 @ K3Nv2:
    $70 DLC per 6 months is what it turned into
    K3Nv2 @ K3Nv2: https://youtu.be/R28ZSY2Sc2A?si=H5Lb6PNkzMhAHO_P