Not really. It only affects loading savestates that were made on different platforms (say, Windows and Android – though I don't think that combination actually had this problem), and if there had been a problem with it, it would've shown up as completely failing to load the savestate, not desyncing.
I haven't heard about that problem before, so thanks for reporting it. I'll take a look at it later.
If you don't want the time to suddenly change between the two DTMs, then yes, that's what you should do.
Hitting the reset button on a GameCube is what I call a soft reset.
Having a way to turn the console off and on without having to make a new DTM or end the emulation is a good idea, but I don't know when it can be implemented. It will at least not be before the 5.0 release, since we're in feature freeze right now.
As far as I know, the only way to hard reset in Dolphin is to exit the game and start it again, so yes, you will have to make multiple DTMs.
When you're starting a TAS, the date and time will be set to the date and time of your computer. If you want to change the starting date and time without having to manipulate your computer's clock, you should be able to start an input recording (of just the boot, so you don't record anything that can desync) and then hex edit the time in the DTM at 0x081 (a 64-bit integer). This can be done each time you start a new DTM, so it should be possible to make a run that doesn't use the BIOS at all. Is using the BIOS to change the clock during the run required to not get an unfair advantage compared to consoles when timing the run?
I'm not aware of any way that Dolphin can make savestates automatically. In the hotkey settings, check that you haven't mapped savestates to a key you commonly use.
I don't see any reason why running the BIOS in a TAS wouldn't work. Just make sure that everyone who plays the input file has the same BIOS as the one that was used for recording. For accuracy when running the BIOS, you should use DSP LLE and Virtual XFB, but that isn't specific to TASing.
As far as I know, making Pokémon Channel work correctly doesn't actually require you to run the BIOS. If you're using Dolphin 4.0-8488 or newer, loading the proper font only requires the BIOS to be present. It's possible that the requirements on having the same BIOS version when playing the input file are more lenient for this, but I'm not sure at all.
There's not much hope that being able to sync GameCube/Wii TASes on console is possible. For all we know, the disc drive is non-deterministic, meaning you wouldn't even be able to play back input you recorded on a console. Even if that wasn't the case, Dolphin doesn't have frame perfect accuracy.
Didn't Fog update it about 3 weeks ago to say the original was not a race fix?
It was a race fix – it's just that it made another issue show up too. In that sense, I suppose it's a bit like the change this PR makes. Maybe that's enough to not consider the original change to be better than reverting it, or maybe not.
CoolKirby wrote:
And then it was added to the 5.0 release milestone? I could be misunderstanding the PR 3712 page, or what the milestone means.
Something being marked with the 5.0 milestone means that it needs to get taken care of before 5.0. While most PRs that are marked with it do get merged before 5.0, it's not guaranteed. As far as I know, the main point of milestone tags is to keep track of important issues, not to approve a specific PR. If the PR already had been approved, it could've gotten merged already.
Thank you, Fog! I look forward to fixed frame advance in the Dolphin 5.0 Release.
PR 3712 is not a proper fix, it just exchanges the frame advance problem with an older problem that's less noticeable. Whether it will be in 5.0 remains to be seen.
The newest official releases sadly seem to be broken for TASing of a few games. Namely Wind Waker consistently desyncs within mere minutes of recording even if you use optimal settings. So I wasnt able to merge my build with a recent master yet and its still based of 5371, which is relatively old now. But at least its very stable for TASing and already includes the near console accurate loading emulation.
Huh. Wonder what happened to cause that?
It's likely because some data isn't being saved to savestates. If that's the case, tracking down which version the desyncs started in should make finding the issue in the code relatively easy. There's always the possibility it's something else, though...
I haven't checked it out much yet, but it seems like an interesting fork. Contributing the improvements to master would be appreciated if you want to do it, though there are a few ones like the fake Tingle Tuner that I don't think would fit.
493: Possible with only NDS (need all five of D/P/Pt/HG/SS)
How would you get Regigigas and the three regis? You can't catch Regigigas without having the three regis, and the only way to get the regis without transferring them from RSE is having a fateful encounter Regigigas in Platinum. Do they count as event-only for this even though they are like regular legendaries in other aspects?
There are two ways to edit a game and then run it in Dolphin. The first one is to use a program like gcr, as mentioned earlier. The second is to make Dolphin treat a directory of files as a disc image. It's a bit annoying to set up, and I don't think it works with all games, but it's very practical when it works if you need to make changes to the game often. First, you need to extract the apploader, the DOL, and all the files of the file system. You then need to go to Config > Paths and set DVD Root and Apploader to where you saved the file system and apploader. Finally, launch the DOL in Dolphin to start the game.
Based on the beginning of the video, it looks like you're using Dolphin 4.0. The development builds should work better, and versions as old as 4.0 are deprecated for submitting here anyway.
Would newer versions fix desyncs? I thought that was just a settings issue. From what I’ve seen they still don’t have encoding capabalities which is sad, but I could be wrong.
I think they will help with desyncs, but I can't point to any specific improvements. It's true that having the right settings helps a lot, though.
Dolphin does have video dumping. 4.0 had some form of it, but it wasn't good enough for most cases. 4.0-3595 made audio sync with video, and 4.0-8634 fixed further dumping problems that the Windows version of Dolphin had. Starting with 4.0-3595, it can be accessed using Movie > Dump frames / Dump audio. If you're using 4.0-8634 or newer or aren't using Windows, you need to enable Graphics settings > Advanced > Frame Dumps use FFV1 if you want lossless video.
First time using Dolphin to TAS and it was fucking tragic. Don’t even know how to encode with it. Kept desyncing, and the first time I spent 2h30′ TASing without it even recording the input. While redoing it I killed 1 attack faster though so I guess that’s fine…
Based on the beginning of the video, it looks like you're using Dolphin 4.0. The development builds should work better, and versions as old as 4.0 are deprecated for submitting here anyway.
The newest development version is generally recommended, but for TASing, you may want to use 4.0-5400 to avoid a current bug that makes frame advance unpause emulation sometimes.
Personally, I'd recommend 4.0-8735 or later because of the savestate memory leak fix. The pause/unpause issue did not really crop up for me that often and I could eventually get my frame advance to work properly after a little bit.
Yeah, that's a nice fix. I'll trust you more than me on this since I haven't actually TASed using Dolphin :)
Hey, I'm trying to open the .dtm files from File Explorer (with Dolphin set to open it automatically.
If you want to do it that way, try editing the file association's arguments so that /m comes before the file's path. I remember that Windows XP had a dialog for editing file associations, but I can't find it in Windows 7... It would probably be simpler to just open the files through Dolphin.
InfiniteSheldor wrote:
I'm using 4.0.2 because it's the latest stable release.
Because 4.0.2 is so old and there have been improvements in the meantime, 4.0.2 isn't actually more stable than newer builds. The newest development version is generally recommended, but for TASing, you may want to use 4.0-5400 to avoid a current bug that makes frame advance unpause emulation sometimes.
InfiniteSheldor wrote:
The development releases require VCRUNTIME140.dll and MSVCP40.dll or something, and although I installed the right program, it doesn't register it's there :(
I'm not completely sure how trying to open a DTM file directly like you're trying to do is supposed to work, but you should be able to avoid this problem if you use File > Open in Dolphin to open the DTM file instead.
Also, it looks like you're using an old version of Dolphin. Do you have any particular reason for that?
The memory leak fix that's mentioned in the previous post has been merged and is included in 4.0-8735 and newer. Unfortunately, using 4.0-5400 or older is still necessary for avoiding the bug that makes frame advance unpause randomly.
Thanks for the answer, I mistakenly thought the audio was out of sync. A related question, I noticed a pull request relating to AVI dumping, specifically in build 4.0-8572. Does this mean that AVI dumping in Windows is fixed?
That build just included the library and include files to make the changes easier to implement. I do have a pull request up here which has the changes needed.
Actually, 4.0-8572 was the one that fixed the overwrite confirmation dialog. The point still stands, though - the video can still desync when dumping in Windows, but it'll hopefully be fixed soon.
The recent version 4.0-8490 fixed a desync problem that could happen when booting. Having to start any game before playing back a Wii movie or having to restart Dolphin before playing back a Wii movie should hopefully be unnecessary now.
I've been thinking. Does this behavior also appear when using an USB loader for wii? I recall it being mentioned before, but how does it compare to the "speed up disk transfer rate"?
Yes, USB loaders also have this behavior. I don't think the speed is identical, because Dolphin's setting isn't intended to match USB loaders, and they've never been compared as far as I know. Still, both are much faster than regular loading.
The movie will sync fine with the disc speed hack if it's enabled during playback too, but it breaks a site rule, and you should play through the whole game with it before starting the TAS to make sure that it doesn't cause any bugs.
Wii save data not working when TASing is a known issue. 4.0-6512 disabled NAND access to make avoiding desyncs easier (mainly for netplay, but it does the same for TASing), but this unfortunately also means that it isn't possible to load save data.
Older versions can boot ELF files, they just don't show up in the game list. If no game is selected in the game list and Paths > Default ISO isn't set to anything and the last thing that you booted was the ELF file, I think it will let you TAS it. It's not intuitive at all, though...