Hacking The Great Quest for Wiiflow Plugins™ - A call for adventurers!

fledge68

Well-Known Member
Member
Joined
Jan 30, 2012
Messages
2,390
Trophies
2
XP
4,572
Country
United States
Hi @fledge68
thanks for the beta.

I can confirm that the multidisk support works as described. Interesting approach to solving the problem. Respect!

EDIT:
File name truncation has a negative effect. I have two versions of Zelda with the following names:

Code:
91fa13e9        The Legend of Zelda (Europe).nes
c6cf8fa2         The Legend of Zelda (U) [T-German].nes
431c39e5       Zelda II - The Adventure of Link (Europe).nes
cad61ada        Zelda II - The Adventure of Link (U) [T-German1.0_GTrans].nes

Only one game of Legend of Zelda is displayed, and two games of Zelda II.

To be clear: the game does not fall into the multi disc category. What do I have to do so that both versions are displayed?

EDIT2:
Some cover images are no longer found. Generally, all files are named according to the form "game (region) (disk n).bin". I would now expect that either no more images are found or that all of them continue to be found. However, I can see absolutely no system why the existing images are not found.


As for Scummvm, unfortunately I have bad news. Without changes in scummvm_plugin.ini nothing is found. With the romdir=sd:/apps/scummvm/scummvm.ini you specified, "No games found in sd:/sd:/apps/scummvm/scummvm.ini" is always output, regardless of the value in rompartition. Note the double "sd:".
as for scummvm:
the double sd:/ is just a weird typo that i can easily fix. its because romdir doesn't normally include the partition. so its supposed to be rompartition and romdir combined. which means to me your rompartition is always set to zero (SD) or -1 which means to use the global default which in your case is probably set to SD as well. have you tried rompartion=1 (USB). and have you looked inside your scummvm.ini to see if all the games are set to USB or SD? if they are all set to USB then your games must be on USB and your rompartition set to 1. if they are all set to SD then your games must be on SD and your rompartition set to zero. any time you change it you will need to do a reload cache.

as for losing nes or snes games from different regions i was worried that might be a problem. of course you could always just remove the () around Europe and they will show again. the title of the game will be taken from the database. but in any case i will look into an alternate way to not show multi disk covers. so what systems use multi disk files?
 

fledge68

Well-Known Member
Member
Joined
Jan 30, 2012
Messages
2,390
Trophies
2
XP
4,572
Country
United States
alternative multi disk solution - have wiiflow check the filename for the words 'disc' and 'disk'. if found don't include those. but this means disc 1 filenames should not include these words.

plus i found the problem for scummvm.
if(strcasecmp(romDir, "scummvm.ini") != 0) does not work if romDir is sd:/apps/scummvm/scummvm.ini
 
Last edited by fledge68,

fledge68

Well-Known Member
Member
Joined
Jan 30, 2012
Messages
2,390
Trophies
2
XP
4,572
Country
United States
@fledge68 , what if the game contains these words in the name itself?
right ... such as discs of tron. so my new plan is to check for 'disc' or 'disk' in the filename and if exist then and only then check for multi disks the current way which is to remove things inside () and [] and then compare current filename to previous filename. so a single game with 'disc' or 'disk' in filename will not be affected and the first game's filename of multi disks can still have 'disc' and 'disk'.
 

fledge68

Well-Known Member
Member
Joined
Jan 30, 2012
Messages
2,390
Trophies
2
XP
4,572
Country
United States
@ukigh4ie and everyone else
wfl v5.5.0 beta 5 - https://www.mediafire.com/file/ww92aax3c3njr9k/wfl5.5.0beta5.zip/file

again - please test.
backup your apps/wiiflow folder and then replace only the files in the zip.

test to make sure you can have scummvm.ini in your apps/scummvm folder. in the plugin ini you can set the romdir= to the full path -
i.e. romdir=sd:/apps/scummvm/scummvm.ini
with scummvm rompartition= needs to be where your actual games are, not where scummvm.ini is. 1 for USB or zero for SD.

test to see if multi disk games show as only one cover with and without the plugin database titles. you will need to go to those covers and then the HOME MENU to do reload cache. also you will no longer need to hide them using the categories menu.
when i looked at amiga roms for downloading they were all game title (disk1 of 2), game title (disk 2 of 2). you do not need to rename any of them. this new way should not affect different region console roms or games with disc or disk in the title not inside () or [].
 
Last edited by fledge68,
  • Like
Reactions: RunningSnakes

ukigh4ie

Well-Known Member
Member
Joined
Aug 27, 2020
Messages
148
Trophies
0
Age
24
XP
538
Country
Germany
Hi @fledge68

your code for multi disc in ListGenerator.cpp depends on the order of the game files, because PrevName can only hold one name.

I don't know how the order is determined, either bei FAT entries or by sorting it after reading the directory. But my example of the two Zelda games with 2 region files each show, that there's a problem with your algo. One is detected as "multi disc" and the other is not. I've put some debugs in wiiflow and they show that the list is not sorted. It might depend on the game the cover flow is standing on when user hits "update cache" or something else. I don't know.

I suggest a different approach. Allow file patterns in plugins ini files, that are not limited to one dot. So one could name its files like game_a.d1.iso, game_a.d2.iso etc. and the pattern selects .d1.iso only. That would also mean that even single disc games have to be name as game_b.d1.iso. What do you think?
 
Last edited by ukigh4ie,

ukigh4ie

Well-Known Member
Member
Joined
Aug 27, 2020
Messages
148
Trophies
0
Age
24
XP
538
Country
Germany

ScummVM works again and recognises the games even if romdir points to the scummvm.ini in the apps directory. The point is settled.

The multi disc function in Beta5 is the worst. Now all the ISOs (bin) of the games are suddenly displayed. These are still named of the type "game a (disk 1)(track 1).bin", "game a (disk 1)(track 2).bin", "game a (disk 2)(track 1).bin", etc. I did not intend to rename all my games either. Track 2 is the audio track.

As I wrote in the article above, I find the chosen approach too complicated and error-prone.
 

fledge68

Well-Known Member
Member
Joined
Jan 30, 2012
Messages
2,390
Trophies
2
XP
4,572
Country
United States
ScummVM works again and recognises the games even if romdir points to the scummvm.ini in the apps directory. The point is settled.

The multi disc function in Beta5 is the worst. Now all the ISOs (bin) of the games are suddenly displayed. These are still named of the type "game a (disk 1)(track 1).bin", "game a (disk 1)(track 2).bin", "game a (disk 2)(track 1).bin", etc. I did not intend to rename all my games either. Track 2 is the audio track.

As I wrote in the article above, I find the chosen approach too complicated and error-prone.
what console or computer games are separated into bins like that?
 

ukigh4ie

Well-Known Member
Member
Joined
Aug 27, 2020
Messages
148
Trophies
0
Age
24
XP
538
Country
Germany
what console or computer games are separated into bins like that?

Playstation CD dumps. They contain a CUE file together with BINs for each track on the disc.

Here are examples for the order of files leads to false results:

fullpath='usb1:/wiisxrx/isos/Grandia/Grandia (Germany) (Disc 2).bin' shortName='Grandia'
fullpath='usb1:/wiisxrx/isos/Grandia/Grandia (Germany) (Disc 1).bin' shortName='Grandia'
skip 'usb1:/wiisxrx/isos/Grandia/Grandia (Germany) (Disc 1).bin'

Adding plugins list
fullpath='sd:/roms/nes/Zelda II - The Adventure of Link (U) [T-German1.0_GTrans].nes' shortName='Zelda II - The Adventure of Link'
fullpath='sd:/roms/nes/Arkanoid (USA).nes' shortName='Arkanoid'
fullpath='sd:/roms/nes/The Legend of Zelda (U) [T-German].nes' shortName='The Legend of Zelda'
fullpath='sd:/roms/nes/The Legend of Zelda (Europe).nes' shortName='The Legend of Zelda'
skip 'sd:/roms/nes/The Legend of Zelda (Europe).nes'
fullpath='sd:/roms/nes/Zelda II - The Adventure of Link (Europe).nes' shortName='Zelda II - The Adventure of Link'
Games found: 4
 
Last edited by ukigh4ie,

ukigh4ie

Well-Known Member
Member
Joined
Aug 27, 2020
Messages
148
Trophies
0
Age
24
XP
538
Country
Germany
why don't you combine them into a single bin and cue files or an iso? or even just set the plugin filetypes to .cue?

CUE would be an option. Anyway I have more than one cue for multi disc games.

BTW The readdir method doesn't guarantee any ordering. If you want to ensure they are sorted alphabetically you'll need to do so yourself. I mean ListGenerator::GetFiles. That's why PrevName only works by chance.
 

fledge68

Well-Known Member
Member
Joined
Jan 30, 2012
Messages
2,390
Trophies
2
XP
4,572
Country
United States
CUE would be an option. Anyway I have more than one cue for multi disc games.

BTW The readdir method doesn't guarantee any ordering. If you want to ensure they are sorted alphabetically you'll need to do so yourself. I mean ListGenerator::GetFiles. That's why PrevName only works by chance.
point taken. but i don't like the idea of adding .d1 to every game that isn't multi disk.

and by the way since you know so much about coding then why don't you clone wiiflow lite, make changes, test them, and send me a pull request?
 

fledge68

Well-Known Member
Member
Joined
Jan 30, 2012
Messages
2,390
Trophies
2
XP
4,572
Country
United States
Will do so. But it will be the game_a.d1.iso approach. Better than nothing.
we could combine our ideas.
first search for 'disc' or 'disk' in the filename and then if found search for .d1 as well if present add that entry and do not the others
of course if 'disc' and 'disk' are not present immediately add entry
this way only multi disk games and the main first one needs to have .d1 added to it.

/* only add disc 1 of multi disc games */
const char *RomFilename = strrchr(FullPath, '/') + 1;
if((strstr(RomFilename, "disc") != NULL || strstr(RomFilename, "disk") != NULL) && strstr(RomFilename, ".d1") == NULL)
return;
 
Last edited by fledge68,

Wiimpathy

Well-Known Member
Member
Joined
Mar 3, 2010
Messages
1,009
Trophies
2
XP
2,895
Country
France
Dealing with multidisk isn't easy. One of the most common naming is indeed the '(Disk 1 of 2)'. But there are others:

Code:
AMIGA
Maniac Mansion_Disk1.adf
Maniac Mansion_Disk2.adf

APPLE2
Maniac Mansion_Side A.dsk
Maniac Mansion_Side B.dsk

C64
Maniac Mansion [Side A].d64
Maniac Mansion [Side B].d64

Dragon Ninja [Collection Disk 1].d64

ATARI ST
double_dragon_3_(disk_1).stx
double_dragon_3_(disk_2).stx

ZX
Bridge Master - Computer Tape A.tzx
Bridge Master - Computer Tape B.tzx

Bored Of The Rings - Side 1.tzx
Bored Of The Rings - Side 2.tzx

You'll note the underscore variants.

The filetypes solution is interesting. But having to rename files and even single disk doesn't seem so viable.

Searching those common patterns seems a good way though. Surely with some caveats too. ukigh4ie has already mentionned 1 big issue about alpha sort.

Please excuse me for not providing the real code but here's how I'd see it:

- Implement a more reliable alpha sorting. Perhaps with scandir() and alphasort() available since devkit R31.

- Search all multi common patterns in FullPath. 'Disc' 'Disk' 'Side' etc
* If found search 1st disk pattern 'Disc 1' 'Disk 1' 'Disk1' 'Side 1' and if found add this file to list.
* If 1st disk pattern not found, skip it.
 

ukigh4ie

Well-Known Member
Member
Joined
Aug 27, 2020
Messages
148
Trophies
0
Age
24
XP
538
Country
Germany
The filetypes solution is interesting. But having to rename files and even single disk doesn't seem so viable.

There is a PR for the filetypes variant. The change is completely transparent and one does not notice it as long as one does not change filetypes.

Meanwhile, I tend to apply extended regular expressions to filenames. This would allow you to beat all the spellings you described with one pattern.

EDIT: I'm currently testing the regex approach and preparing another PR.
 
Last edited by ukigh4ie,

PacBunny

Well-Known Member
Member
Joined
May 12, 2018
Messages
595
Trophies
0
XP
943
Country
United States
Hey Sion!! Long time no see, what a pleasure:)
Yes, HEXAECO has its pro and cons, but the Retroarch version in my pack is still my preferred choice. It was hard as hell to assemble all those cores from different RA nightly builds, and mod them to be sure they wouldn't conflict with each other, but it definitely paid off all the headaches, as everything is working good.
Hexaeco has better menu's and it's easier to use, but it's not without issues. The private folder mess is one of them, and I also found out that if you change the button mappings, with the CPS cores the 2nd player controller is not recognized anymore. The Genplus core is also struggling to run Virtua Racing at full speed, on RA it's perfect.
I couldn't avoid HEXAECO to create those private subfolders, but the benefit of passing different cfg's through the argument line, is that in case of updates I don't need to hex-edit all the cores again. With the regular RA I would still have to re-mod each core (but honestly I don't think I'll ever go again through this ordeal of updating RA).

With cannonball I had not this issue, it's playable with motion controls but it's not totally accurate. I prefer to steer with the analog stick of the Classic Controller. I still have to try with the motion plus wiimote.
As a general advice, stay away from the new Retroarch releases. They're not barely tested and full of issues!! I had better luck testing dozens nightly builds, but as I said I'll never do it again.

The old ScummVM was perfect, the latest stable build introduced many new engines (Blade Runner, Ultima 8, Ultima 6, Might & Magic among many others) but broke some other engines (I can't run some games anymore) and it sometimes randomly crashes.

I think the main problem with the Wii scene is that nobody is seriously testing the new releases any more. Even in this forum, with many active wii users, it's so rare to see someone that wants to contribute sharing its tests, apart from me, @RunningSnakes and a few others.

Finally, thanks for the Snes tweak with my theme. It's a great idea!!:yaywii:
Is your version of Retroarch better than Re Hexaeco?
 

Okko

Well-Known Member
Newcomer
Joined
Jul 17, 2021
Messages
46
Trophies
0
Age
42
XP
485
Country
France
I'm trying Heretic and Hexen but I can't say I'm enjoying the controls at all.
The games perform really good, but controls also feel very unfinished
That's too bad, I was really hoping to play them on the Wii:(

I find button mappings on the Classic Controller to have a really unpractical key displacement.
You can't turn and shoot together for example, because to turn you have to use the right stick, so your thumb can't press the shoot button (Y) anymore. Same thing if you want to run and turn simultaneously, unless you do the spider. You cannot seriously play this way. The triggers button would have been a much better solution to run and shoot.
The thing is that controls can't be remapped (I've only tried heretic but I believe it's the same with Hexen). If you try to remap, the old mappings won't be erased, so they will conflict with the new ones. Luckily they will reset to defaults each time you reboot the app.

I've tried with the Wiimote + Nunchuck combo and at first it seemed to be the perfect way to play it. But then I've noticed that there's an extremely little deadzone, so it's sometimes difficult to hit enemies that aren't directly placed in front of you. As soon as you leave the deadzone (roughly as narrow as your 1st weapon, the pole) you'll begin to turn around and give your flank to the enemy.
You can't block the visual with A either, like you do in Quake2. Instead, pressing A toggles the strafe movement for some reason.
This also makes me feel a little dizzy after a while.
Quake GX is still the best with Wiimote+Nunchuck.

Too bad it's an old (and probably abandoned) project, because it was very promising.
Anyway, being the only source ports working with Wiiflow, I'll include them in the pack

Hi guys,

I've modded the Hexen Wii port by Arikado in order to improve as much as possible the Wiimote+Nunchuk controls, and to allow the use either from USB or SD device, and to add the possibility of passing the WAD files directory as a DOL application argument, for use as a Wiiflow plugin.

See post https://gbatemp.net/threads/hexen-wii-0-5-released.250670/page-2#post-9624202 for more details.
 

Okko

Well-Known Member
Newcomer
Joined
Jul 17, 2021
Messages
46
Trophies
0
Age
42
XP
485
Country
France
Hi guys,

After Hexen, up to Heretic port now!

I've also modded the Heretic Wii port by Arikado in order to improve as much as possible the Wiimote+Nunchuk controls, and to allow the use either from USB or SD device, and to add the possibility of passing the WAD files directory as a DOL application argument, for use as a Wiiflow plugin.

See post https://gbatemp.net/threads/heretic-wii-0-5-released.249263/#post-9627031 for more details.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Skelletonike @ Skelletonike:
    3h left until work finishes, bah
  • Skelletonike @ Skelletonike:
    link doesn't work
    +2
  • Skelletonike @ Skelletonike:
    1H left, such a slow week.
  • Sonic Angel Knight @ Sonic Angel Knight:
    Okay, I had spaghetti :P
  • SylverReZ @ SylverReZ:
    Hope they made lots of spaget
  • K3N1 @ K3N1:
    Chill dog
  • SylverReZ @ SylverReZ:
    Chilli dog
  • Skelletonike @ Skelletonike:
    Damn, I'm loving the new zelda.
  • xtremegamer @ xtremegamer:
    loving the new zelda, i started a game, it was so fucking good, so i
    am waiting on my friend to get home so we can start a new one together
  • Skelletonike @ Skelletonike:
    I just dislike that they don't let me choose the voices before the game starts. Happened with botw as well, had to change to japanese and restart.
  • K3N1 @ K3N1:
    But the important question is can you choose gender
  • Skelletonike @ Skelletonike:
    Same way you can choose Gerald's gender.
  • Skelletonike @ Skelletonike:
    *Geralt, damn autocorrect.
  • Psionic Roshambo @ Psionic Roshambo:
    But can he be trans? Lol
  • K3N1 @ K3N1:
    Zelda transforms into link
  • Psionic Roshambo @ Psionic Roshambo:
    Link I'm not the princess your looking for.... *Pulls a crying game*
  • K3N1 @ K3N1:
    *skirt up* it's exactly what I always wanted
  • Skelletonike @ Skelletonike:
    Just scanned all my zelda amiibos, took a while but didn't get anything that cool, did get the lon lon ranch hylian fabrics though.
  • Skelletonike @ Skelletonike:
    It was pretty funny when I scanned wolf link and got a shit load of meat.
  • K3N1 @ K3N1:
    @Skelletonike, btw I ran that custom for mgs4 on the deck I'm amazed it got that far in game
  • K3N1 @ K3N1:
    Plug in*
    K3N1 @ K3N1: Plug in*