Dolphin, the GameCube and Wii emulator - Forums

Full Version: Netplay Wii Saves Build?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6
(10-11-2016, 09:16 PM)tamix Wrote: [ -> ]Are there really rules for posting custom builds? Regardless I'm sure posting the changed files would be fine, I'd like to look at them too.

Posting a binary along with only the changed source files is not okay. (Posting changed source files without any binary is fine, though.) The forum rules don't forbid it directly, but Dolphin's license does, which in turn can lead to a violation of the forum's piracy rule. It's a bit silly in this case since everyone here has easy access to the Dolphin code so they can apply the changes if they want to, but there is a reasonable reason that this restriction is in the GPL.
I originally tried JosJuice's suggestion of HW.cpp, but either it caused a desync problem that wasn't there before, or I had some settings wrong. I ended up messing with nandpaths.cpp instead, and while it does work for saves online, you can't use the Wii remote offline. No doubt there are better ways to do this, but I wouldn't know how. I would also suggest starting from a new folder with portable.txt because there are some things that can cause a desync here that didn't seem to be a problem on 6502. Despite that suggestion, it should still be safe to import a save file before starting a game or to use your Mii file.
https://github.com/SuperDavid2/dolphin/blob/master/Source/Core/Common/NandPaths.cpp Here is the actual file I changed along with a link to the repository itself. https://github.com/SuperDavid2/dolphin
I will wait to see if it's ok to share Dolphin.exe. If I messed up the whole github thing, I will fix it when I find out what the problem is.
(10-12-2016, 06:36 AM)Super David Wrote: [ -> ]I originally tried JosJuice's suggestion of HW.cpp, but either it caused a desync problem that wasn't there before, or I had some settings wrong. I ended up messing with nandpaths.cpp instead, and while it does work for saves online, you can't use the Wii remote offline. No doubt there are better ways to do this, but I wouldn't know how. I would also suggest starting from a new folder with portable.txt because there are some things that can cause a desync here that didn't seem to be a problem on 6502. Despite that suggestion, it should still be safe to import a save file before starting a game or to use your Mii file.
https://github.com/SuperDavid2/dolphin/blob/master/Source/Core/Common/NandPaths.cpp Here is the actual file I changed along with a link to the repository itself. https://github.com/SuperDavid2/dolphin
I will wait to see if it's ok to share Dolphin.exe. If I messed up the whole github thing, I will fix it when I find out what the problem is.

I only looked at this quickly, but it looks like originally, use_dummy is set for netplay and so a temp nand folder is made and used, so JosJuice suggested to force use_dummy to false. I don't get why you switched the two cases around though (lines 42 and 46), maybe netplay somehow needs the temp folder creation part even if it doesn't use it, but you can leave line 46 the same surely, probably why offline breaks.
(10-12-2016, 06:36 AM)Super David Wrote: [ -> ]I originally tried JosJuice's suggestion of HW.cpp, but either it caused a desync problem that wasn't there before, or I had some settings wrong. I ended up messing with nandpaths.cpp instead, and while it does work for saves online, you can't use the Wii remote offline. No doubt there are better ways to do this, but I wouldn't know how. I would also suggest starting from a new folder with portable.txt because there are some things that can cause a desync here that didn't seem to be a problem on 6502. Despite that suggestion, it should still be safe to import a save file before starting a game or to use your Mii file.
https://github.com/SuperDavid2/dolphin/blob/master/Source/Core/Common/NandPaths.cpp Here is the actual file I changed along with a link to the repository itself. https://github.com/SuperDavid2/dolphin
I will wait to see if it's ok to share Dolphin.exe. If I messed up the whole github thing, I will fix it when I find out what the problem is.

The change looks a bit strange from a coding perspective, but yes, sharing a build for that change should be fine from a license perspective. You still have to comply with the forum rule about promoting unofficial builds, but that's fine if the topic author is asking for such a build.

A more direct link to the change/source would be: https://github.com/dolphin-emu/dolphin/commit/90e08621f292f628f4084c945ba6a5d6172c1167

(If you want to use your Dolphin fork on GitHub for other things in the future, you probably want to put this change in a separate branch, but that doesn't matter for now.)
What's the iconv.h file about, why is it a completely different file? It looks unrelated.
I really don't know what was going on with iconv.h, but I must have been having trouble with something which is why I was messing with it. Keep in mind I know virtually nothing about programming. In this thread, JosJuice did not say to force use_dummy to false, unless that is the same thing as "g_want_determinism". I fixed line 46 of nandpaths.cpp as you suggested, so everything should be working for the most part. https://github.com/SuperDavid2/dolphin/commit/89e461a1a17da02d1da4a41738c13aef7ae380bc
Hopefully at this point it will be all right for me to post the one I just built based on that fix to nandpaths.cpp. I really can't say everything works perfectly because I haven't tested it enough. I mainly tried Wii Play (with my Miis) and Sonic Riders Zero Gravity. Here is the build and just above is the link to the source code.
http://www.mediafire.com/file/q1rcjnr16iuxm24/
(10-12-2016, 10:08 AM)Super David Wrote: [ -> ]I really don't know what was going on with iconv.h, but I must have been having trouble with something which is why I was messing with it. Keep in mind I know virtually nothing about programming. In this thread, JosJuice did not say to force use_dummy to false, unless that is the same thing as "g_want_determinism". I fixed line 46 of nandpaths.cpp as you suggested, so everything should be working for the most part. https://github.com/SuperDavid2/dolphin/commit/89e461a1a17da02d1da4a41738c13aef7ae380bc
Hopefully at this point it will be all right for me to post the one I just built based on that fix to nandpaths.cpp. I really can't say everything works perfectly because I haven't tested it enough. I mainly tried Wii Play (with my Miis) and Sonic Riders Zero Gravity.
It wasn't the author of this topic who wanted the build. Does he have to make one?

The build is definitely not working like before saves were removed, most games give an error about corrupted saves and desynch right away. It's probably not as simple as telling the code to do the same as if it was offline after all. I might look into how it was in old builds, or more probably just wait until someone who actually knows anything about this decides to work on implementing netplay nand synching correctly.
I don't know what your settings are or exactly how you are testing it, but I will insist that the build does work, at least on the games I tried it on, although as I said, it's harder to get working compared to 6502. If you are able to, I would like to run a few tests with you on this build, if you have some of the same games I have.
(10-12-2016, 10:08 AM)Super David Wrote: [ -> ]In this thread, JosJuice did not say to force use_dummy to false, unless that is the same thing as "g_want_determinism".

I did say to force use_dummy to false, although I did it in other words. The parameter to Common::InitializeWiiRoot is called use_dummy, so whatever you put between the parentheses in a call to Common::InitializeWiiRoot will be used as the value of use_dummy.

(10-12-2016, 10:08 AM)Super David Wrote: [ -> ]Hopefully at this point it will be all right for me to post the one I just built based on that fix to nandpaths.cpp. I really can't say everything works perfectly because I haven't tested it enough. I mainly tried Wii Play (with my Miis) and Sonic Riders Zero Gravity.
It wasn't the author of this topic who wanted the build. Does he have to make a topic?

I don't see any problem with it. If you want to be completely sure, you should ask a moderator, but I don't think anyone will mind you posting builds in this topic that are related to re-enabling netplay saves.

I can't make any guarantees about if your changes will work well for playing Wii games, though.
(10-12-2016, 11:31 AM)Super David Wrote: [ -> ]I don't know what your settings are or exactly how you are testing it, but I will insist that the build does work, at least on the games I tried it on, although as I said, it's harder to get working compared to 6502. If you are able to, I would like to run a few tests with you on this build, if you have some of the same games I have.

Yeah, I've found the issue. For some reason there's been a new setting line added at some point in Dolphin.ini for Nand Root Path which is used even when portable.txt is there. This seems like a huge issue to me, even outside of netplay. A few months ago I copied my user folder to a new portable version of dolphin as I always do, and my games have been saving to the old nand folder since then. If I had decided to delete my old dolphin version, well rip all the saves. Needless to say, this was really messing up my netplay testing.

After fixing this, your build does seem to work well. Every issue I've found also happens on the regular recent builds, although when these issues happen it sometimes displays a "possible desynch" message only on the build with saving enabled, without any apparent desynch. The issues almost all relate to wiimote being used regardless of the user nand being used or not. I'll go into more details for the games I tested.

mario galaxy 2 : huge slowdowns during the intro where mario flies into the screen, a desynch message appears during it, and then it stabilizes, saves show up correctly and it starts running smoothly, no desynch. Wiimote pointers appear lower than they should be though, a common issue in multiple games it seems. Same thing happens in normal build apart from the desynch message. In 4.0-5809, none of those issues happen, although setting up the wiimote is a real mess. Issues probably wouldn't happen regardless of version when wiimotes are not set up, but you can't get to that point if they aren't.

mario kart wii : no issues at all, except the game froze on both sides once when loading a stage, the first time out of about 20 times. No desynch message, miis and saves load fine, wiimotes with extensions set up on multiple players with no issue.

wario ware : there's some issue with wiimote 2 being disconnected constantly, and pointer appears lower than it should, but both of these issues also happen on normal build. Desynch message does appear on first frame. Saves are fine, I have not seen an actual desynch. No issue happens regardless of version when wiimotes aren't set up.

sonic colors : regardless of build, there's a desynch message on frame ~228, wiimote 2 is constantly disconnecting, and game freezes completely during the sega or sonic team splash screens. With gamecube controllers only, no issue at all even on custom build, saves are fine.

mario tennis 64 VC : no issue at all, saves are fine, no desynch message

So I'd say wiimote netplay is still a big issue on most games, and nand synching doesn't actually cause any issue.
Pages: 1 2 3 4 5 6