libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
9.85k stars 1.78k forks source link

[Feature Request] Cheevos support on Nintendo Wii #14982

Open aznlir88 opened 1 year ago

aznlir88 commented 1 year ago

As in topic, would like to ask here to implement this feature. Not sure if you are aware but it got brought up in 2017 on libretro forums: https://forums.libretro.com/t/implementation-of-retroachievements-on-retroarch-for-wii/12334

As it did not help the situation I mentioned it just recently in this topic: https://forums.libretro.com/t/core-and-feature-requests/5895/727?u=azn

hunterk mentioned that networking in wii port must get hooked up first but as I can see in wii build at least peer-to-peer networking is already available so I assume it is working this way or another, also there are plenty of networking options in wii build.

Yet, many people still wait for cheevos to be implemented in Wii retroarch port. Hopefully it will soon change.

M-Mimigo commented 1 year ago

Make it happen please!

There is still a pretty big player base on the Wii.

Nargash commented 1 year ago

This is something I'd like to see fixed as well. I wonder if it could be worth testing setting HAVE_CHEEVOS = 1 in the wii makefile and trying to compile a wii build with it. Of course it might not work at all but could be worth a shot.

Also when reading about this, I've read people try setting up cheevos in the cfg files on a wii build and that leading to a black screen. That might point to a call to a cheevos function that should be wrapped in a #ifdef HAVE_CHEEVOS check but is not.

cheese-gaming commented 10 months ago

please make this happen

Nargash commented 10 months ago

please make this happen

I had started to see if I could fix this myself but never was able to even get a Wii version to compile with HAVE_CHEEVOS enabled. I think there are some unimplemented functions in the devkitpro libogc library which may (or may not) be needed but are referenced in the code. So fixing this is probably not straightforward!

aznlir88 commented 8 months ago

Too bad :/

cheese-gaming commented 7 months ago

please make this happen

I had started to see if I could fix this myself but never was able to even get a Wii version to compile with HAVE_CHEEVOS enabled. I think there are some unimplemented functions in the devkitpro libogc library which may (or may not) be needed but are referenced in the code. So fixing this is probably not straightforward!

womp womp :/

aznlir88 commented 7 months ago

Guess nothing will happen, seems like no one cares about wii/gc platform when it comes to retroachievements.

hizzlekizzle commented 7 months ago

Defeatism doesn't make this stuff happen any sooner. The biggest issue is just that there aren't many devs who work on Wii anymore. The guy who worked on RetroArch-on-Wii moved on years ago, unfortunately, so we've had to rely on the kindness of outsiders to help with Wii-specific issues since then.

lordgilpin commented 7 months ago

Just showing up to plead a case for getting this up and running. I have no experience to help but emulation on the Wii is still the easiest way to play on a CRT.

rafaelsamenezes commented 6 months ago

Cheevos is now available in the latest nightly. Shall we close this issue @aznlir88?

aznlir88 commented 6 months ago

Cheevos is now available in the latest nightly. Shall we close this issue @aznlir88?

If finally happened?! Wow, like seriously - wow. Will not be able to test it very soon but well, if that works, I guess yes.

Btw. what systems are supported when it comes to cheevos?

rafaelsamenezes commented 6 months ago

Btw. what systems are supported when it comes to cheevos?

I am not sure. If after loading a core, the "Achievements" option appears, then it should work.

I can confirm that Snes9x is fully working, though.

aznlir88 commented 6 months ago

Let me check it in next few days,very excited to see it finally there but it is better to test if everything is fine.

cheese-gaming commented 5 months ago

Cheevos is now available in the latest nightly. Shall we close this issue @aznlir88?

oh my god, you just made my weekend!

whatnowmax commented 5 months ago

@rafaelsamenezes Amazing! Initially I had everything working, but then something changed and now the games are recognized by retroarchievements, but something goes wrong when loading the cheevos list and every game is "unknown game."

I have it working with CERTAIN nes games, to be fair, and I HAD it working with ps1 games, but now most NES games don't work and others do, none of the ps1 games I've tried do, even though they used to. I reset my config file to defaults to see if something in there messed it up. Not sure. I moved my ROMs to other devices and they all work fine. It might be something wrong with the nightly.

I will open up a separate bug report because I can't see this being retroachievements's fault since my other devices are working fine (tried miyoo mini plus, steam deck, and an xbox s and all of them have no issues loading retroarchievements for the same ps1 game files). It definitely could be something wrong with the nightly since all of my other devices are running stable. I'll reply here with my other bug report if others are having the same problem

If this post ends up getting more google presence or something I'll post the error message here too. I have to assume I'm the first one to try this out since it took me many hours, even starting with a hacked wii, and no one else has reported back:

[INFO] [Autoconf]: Classic Controller configured in port 1. [INFO] [RCHEEVOS]: WhatNowMaxTV logged in successfully [INFO] [RCHEEVOS]: Identified game: 11240 (bf7e0e90d8e8d5738c7332bc6af666da) [INFO] [RCHEEVOS]: Fetching data for game 11240 [INFO] [RCHEEVOS]: Load failed (-32): {"Success":true,"PatchData":{"ID":11240,"Title":"Castlevania: Symphony of the Night","ImageIcon":"\/Images\/085764.png","RichPresencePatch":"Lookup:Ch\r\n0=Alucard\r\n1=Richter\r\n\r\nLookup:AreaName\r\n0x189c=Bloodlines Final Stage \r\n0x187c=Entrance \r\n0x90ec=Entrance \r\n0x9504=Alchemy Laboratory \r\n0x37b8=Marble Gallery \r\n0x1a20=Outer Wall \r\n0x69ec=Outer Wall \r\n0xf160=Long Library \r\n0xa620=Underground Caverns \r\n0x6734=Underground Caverns \r\n0x5fb8=Royal Chapel \r\n0x6be4=Royal Chapel \r\n0xd660=Castle Keep \r\n0x9b84=Castle Keep \r\n0x8744=Olrox's Quarters \r\n0xc10c=Olrox's Quarters \r\n0x8704=Colosseum \r\n0x76a0=Colosseum \r\n0xdea4=Abandoned Mines \r\n0x6678=Abandoned Mines \r\n0xb6d4=Catacombs \r\n0x55d0=Catacombs \r\n0xc710=Clock Tower \r\n0x3ee0=Reverse Entrance \r\n0xcc34=Necromancy Laboratory \r\n0x5174=Necromancy Laboratory \r\n0x7354=Black Marble Gallery \r\n0x9ccc=Reverse Outer Wall \r\n0x8e3c=Reverse Outer Wall \r\n0x2b90=Forbidden Library \r\n0xced0=Reverse Clock Tower \r\n0xa214=Reverse Caverns \r\n0x5920=Reverse Caverns \r\n0x465c=Anti-Chapel \r\n0x31c8=Anti-Chapel \r\n0x2524=Reverse Keep \r\n0x6d20=Death Wing's Lair \r\n0x5f04=Death Wing's Lair \r\n0x6b70=Reverse Colosseum \r\n0xa094=Reverse Colosseum \r\n0xac24=Cave \r\n0x1ab0=Cave \r\n0x3f80=Floating Catacombs \r\n0x9dc8=Floating Catacombs \r\n0x8218=Teleport Room \r\n0xa198=Teleport Room \r\n0xe7c=Castle Center \r\n0x49c=Reverse Castle Center\r\n0x6fc0=Nightmare \r\n0x54ec=Final Fight \r\n\r\nFormat:Lv\r\nFormatType=VALUE\r\n\r\nFormat:Hr\r\nFormatType=VALUE\r\n\r\nFormat:Min\r\nFormat [INFO] [RCHEEVOS]: RetroAchievements game load failed: {"Success":true,"PatchData":{"ID":11240,"Title":"Castlevania: Symphony of the Night","ImageIcon":"\/Images\/085764.png","RichPresencePatch":"Lookup:Ch\r\n0=Alucard\r\n1=Richter\r\n\r\nLookup:AreaName\r\n0x189c=Bloodline tl;dr -- things work but achievements don't load so it kinda all doesn't work (for most games, a FEW games work).

rafaelsamenezes commented 5 months ago

@whatnowmax maybe we should double check for all cores available then. I can try PS1 this weekend. From your log, it seems that the game was successfully recognized but the wii was unable to parse the response for some reason.

I mainly play snes and snes9x seems to be always fine. Could you check it?

whatnowmax commented 5 months ago

@whatnowmax maybe we should double check for all cores available then. I can try PS1 this weekend. From your log, it seems that the game was successfully recognized but the wii was unable to parse the response for some reason.

I mainly play snes and snes9x seems to be always fine. Could you check it?

FYI I wrote up https://github.com/libretro/RetroArch/issues/16184 in case that is the correct way to do things. We can work here too, either one.

I tried the latest nightly and the ps1 core didn't even start so I'm reverting to the nightly listed in that issue number where I had my problem here (but with working games! haha).

On to your question, I'm not able to even view my SNES files within retroarch. I had the same problem with the xbox fork of retroarch and had to remove and re-place my files with a windows machine to get them to show up, but no such luck this time.

I will say that MANY nes roms work (but not all) and the one GBA rom I have works. It's definitely not a consistent issue.

aznlir88 commented 5 months ago

Downloading stable 1.17.0 now that has wii cheevos support in changelog and will how it works :).

aznlir88 commented 4 months ago

Nope, games working elsewhere are not recognized by wii retroarch. Also keep in mind you need to quit and run retroarch again to be logged.

Yet as for me it is not really working as it should yet.

fedpo2 commented 4 months ago

i had a problem where retroarch freezes when opening the archivement list of a gba game.

aznlir88 commented 4 months ago

So in general it is far from working. Guess we still need to wait.

rafaelsamenezes commented 4 months ago

i had a problem where retroarch freezes when opening the archivement list of a gba game.

Have you tried enabling threaded tasks?

fedpo2 commented 4 months ago

i had a problem where retroarch freezes when opening the archivement list of a gba game.

Have you tried enabling threaded tasks?

Thanks. After i enabled threaded tasks everything became more responsive

aznlir88 commented 4 months ago

Hmm, tried with "threaded tasks" enabled and it did not change much. Yes, retroachievements trying to recognize game and so on goes faster yet the biggest issue is still there. Games are not being recognized. One game i tried did not get recognized and retroachievements did not record me playing it but for the second one, retroarch on wii did not recognize it and was not able to show any achievements while on retroachievements it was recognized and added to recently played games.

Personally I am waiting for an update, yet glad someone is finally working on it.

rafaelsamenezes commented 4 months ago

Hmm, tried with "threaded tasks" enabled and it did not change much

The threaded tasks is just to avoid that "freeze" at start. When disabled it means that retroarch can only do one thing at the time, which means not loading a game until the download of the achievements has finished.

Games are not being recognized.

Are you sure it was not recognized? Could you check your logs? Right now, the latest issue that I identified was that the Wii is running out of memory during the download of the achievements https://github.com/libretro/RetroArch/issues/16184#issuecomment-1951493281. I managed to solve the issue on Dolphin, but still need to work a bit more to solve on the actual Wii.

aznlir88 commented 4 months ago

Are you sure it was not recognized? Could you check your logs?

Hello Rafael and thank you for rapid reply. Yes I am sure about it as this kind of information got displayed and I was not able to see list of achievements for both the game that did not appear on my recent played games on retroachievements web page and the one that did appear there. Yet I am more than happy to check the logs if you can only tell me where are the logs.

Also from previous posts I assume more people are having issues with games not being recognized.

EDIT: Rafael, my mistake. The second game was recognized, yet achievements did not load and "unknown game" was shown. What I needed to do was to wait a bit longer after initial waiting period and they loaded correctly. So basically there is waiting period after which you can press buttons and see game reacting to your actions but loading achievements takes a bit longer. Yet, some games are really not recognized.

aznlir88 commented 4 months ago

Any information when running out of memory will be fixed on wii? As for now games either work very slow even on slow systems or are unplayable at all or we get an error and reboot.