Project

General

Profile

Emulator Issues #4241

SSBB Replays Don't Play Back Correctly

Added by jayork42 over 9 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

What's the problem?
Super Smash Bros. Brawl Replays consistently back back incorrectly due to a synchronization problem with Dolphin. Some replays do work however, but at the same time some don't. Seems to be a 50/50 chance.

Dolphin version with the problem (as it appears in the title bar, Ex.: "R
4779" or "R 6403M"):

R7158

(optional) Dolphin version that does not have the problem:

Operating system and version:
32-bit or 64-bit:

WinXP Pro MCE x86

Game ID (as it appears in game properties, Ex.: "GZ2P01" or "RSBE01"):

RSBE01

Build command-line (not on Windows):

Was the ISO a plain dump from disc, compressed and/or scrubbed?

Plain dump

Please provide any additional information below.

History

#1 Updated by MofoMan2000 about 9 years ago

Mario Kart Wii ghost cars have the same problem. Probably related?

#2 Updated by jayork42 about 9 years ago

Interestingly, this only happens with staff ghosts. Haven't tried it with any player-created replays from the real console, but I bet this is because Dolphin is an imperfect emulator. An imperfect emulator creates a ghost, the same emulator plays back the ghost it created properly.

#3 Updated by Billiard26 over 7 years ago

  • Issue type set to Bug

#4 Updated by JMC4789 over 6 years ago

  • Status changed from New to Accepted

Replays recorded on console may or may not work. Replays recorded in Dolphin should work in the same revision they were recorded in.

#5 Updated by school.player over 6 years ago

After a bit of testing, I was able to get replays to sync 100% consistently by enabling the DSP LLE Recompiler audio engine. This is regardless of Dual Core, Idle Skipping, or video backend settings.

tl;dr HLE audio breaks things; this bug is dubious.

#6 Updated by JMC4789 over 6 years ago

Are you talking about replays from the Wii, or replays from Dolphin?

If this is true, then there's an issue with HLE... which is something I honestly didn't think to check for replays.

#7 Updated by JMC4789 over 6 years ago

I just double checked Mario Kart Wii/Double Dash, just to make sure, and they are not fixed by using LLE.

I also can get my Brawl replays recorded on Dolphin to record/play fine on HLE as long as they are recorded in Dolphin.

The Wii replays are another story with Brawl; I don't have any from my Wii to check right now unfortunately.

#8 Updated by school.player over 6 years ago

I was talking about replays originating from a Wii being played back on Dolphin.

Well, I spoke too soon anyway. Changing the audio to LLE fixed 1 replay 100%, but the 2 others I tried didn't change at all.

#9 Updated by school.player over 6 years ago

Wow, I need to be more specific.
I was talking about RSBE01 (SSBB US version). A replay of Ice Climbers vs. Marth was fixed by LLE, but none of IC vs. G&W, IC vs. Olimar, Marth & Zelda vs. Marth and Samus, or Marth & Zelda vs. G&W & Falco were fixed. So that's only 1/5.

Also, The replays were recorded on the Wii using CFG USB Loader's cheat engine with the No Random Tripping code. I created an SD Card for Dolphin with the same GCT, then loaded GeckoOS.elf each time I wanted to view the replays. It seems to be working fine, and I don't think it's causing the glitch. From my limited testing of Dolphin's own cheat engine, the results are the same.

#10 Updated by hicia.wji0ino2i4o3dn60.8 over 6 years ago

I have tested a lot of SSBB 1v1 replays recorded in Wii.
And found that using "JITIL experimental recompiler" could prevent most replays from desync.
BUT some of them (especially replays with Olimar) still doesn't playback correctly.

Maybe, the biggest reason of desync with JITIL is random tripping.
Just for your information, when I chose "JTL recompiler", most of random trips were emulated correctly.
Of course compared with JITIL, JTL causes a lot of desync from item, edge, etc... but EXCEPT tripping.
I hope this may help you.

#11 Updated by JMC4789 about 6 years ago

Please try this build if you're still around: https://dl.dropboxusercontent.com/u/484730/DolphinMoreFPWork.7z

#12 Updated by hicia.wji0ino2i4o3dn60.8 about 6 years ago

I've tested your build, but the problem has not been solved yet.
(I attached the replays I used in my test.)

Game1(Olimar vs Wario in Final Destination):
around 7:35, Olimar tripped in Wii, but he didn't in Dolphin.
Game2(Olimar vs Zero Suite Samus in FD):
this replay play back correctly, thanks!
Game3(Olimar vs ZSS in Battle Field):
this replay does not play back correctly, but I cannot detect the exact start point of desync.

The accuracy of Replay was slightly improved, but not yet complete.
I know this problem is not so serious in playing the game, but I'll be really glad if it is solved, thank you for your time.

#13 Updated by JMC4789 about 6 years ago

I didn't expect this build to completely solve it, but it should make it so that JITIL and JIT desync the same way, rather than JIT desyncing more.

#14 Updated by hicia.wji0ino2i4o3dn60.8 about 6 years ago

I see.
Then, exactly as you say, there was no difference between the operation of JITIL and JIT.

#15 Updated by JMC4789 about 6 years ago

Okay. So magumagu fixed the extra JIT bugs that were causing replays to not synchronize. Now comes the hard part of finding what's broken causing the rest of the desyncs.

#16 Updated by JMC4789 about 6 years ago

I was messing with this and... well... I dumped 85 replays from my Wii from when I played Brawl competitively. I played a random assortment of 20 of them. While sometimes I thought it desynced from how bad I played (2008!) all of them worked.

I tripped like 15 times in one of the rounds, and that one didn't desync, so...?

Also, no one I knew played olimar, so, I had no replays of olimar. Could be that all the desyncs are centered around him.

#17 Updated by hicia.wji0ino2i4o3dn60.8 about 6 years ago

That's true.
Almost all desyncs I confirmed were caused by Olimar.

#18 Updated by JMC4789 almost 6 years ago

Can you please try: https://dl.dolphin-emu.org/prs/pr-834-dolphin-latest-x64.7z

This could be what finally fixes this in the JIT. I was unable to reproduce any desyncs with this build.

#19 Updated by hicia.wji0ino2i4o3dn60.8 almost 6 years ago

I tested some replays with Olimar, and confirmed that there are no desyncs anymore!
Really thanks for the fix, and this is very delightful for everyone in the Smash Community!

#20 Updated by JMC4789 almost 6 years ago

  • Status changed from Accepted to Fix pending

Fixed by the fmul/fmaddx changes in Pull Request 834

https://github.com/dolphin-emu/dolphin/pull/834

#21 Updated by JMC4789 almost 6 years ago

  • Status changed from Fix pending to Fixed

Also available in: Atom PDF