Dolphin Progress Report: March and April 2014

Progressreportheader-april2014.jpg

The development cycle for Dolphin is a fairly weird and largely inconsistent process to those peering in from the outside. There are gigantic leaps with huge merges such as the tev_fixes_new merge we recently reported on, but those tend to be the exception. While it is great to have big articles on huge changes, those smaller changes are just as important for the emulator, often adding features and improving the user experience. The Dolphin Progress Report is a monthly update highlighting some of the improvements that keep the emulator moving forward.


Notable Changes


4.0-1288 - tev_combiner_fixes by neobrain

TCF is unrelated to the aforementioned tev_fixes_new but packs a punch of its own. While it was originally being looked into as a way to restore some OpenGL performance regressions on NVIDIA graphics cards, neobrain ended up uncovering a misunderstanding of hardware behavior. Upon addressing that, he noticed that the shadows in Luigi's Mansion started working!


Luigi's Mansion

Shadows never worked before, limiting the moody atmosphere of the game.

Luigi's Mansion

tev_combiner_fixes quells the issue.

Not only does this change improve performance, but it also increases accuracy even more. Fans of Luigi's Mansion can finally see how those shadows look in crisp, clear, HD quality. While these changes initially caused some minor issues, 4.0-1424 from magumagu fixed them up while keeping all the added benefits.

Fixed issue 4674


4.0-1300 - Zelda Ucode Cleanup by magumagu

While this isn't the big cleanup that will bring Zelda HLE audio quality to the level of its AX counterparts, it is an excellent first step. This cleanup more or less makes Zelda Ucode HLE synchronous like the rest of Dolphin, which fixes a lot of the crashes and audio freezes. While the annoying volume issues, audio balance problems, and many other issues are still present, this does make Super Mario Galaxy 1 and 2 both completable in HLE, while bringing The Legend of Zelda: The Wind Waker's stability up quite a bit. How well does it work? Well, the very next build we stopped enforcing LLE audio for the Zelda ucode games!

Fixed issues 1170, 1502, 2399, 5074, 5565, 6359, 6709, 6748, and 7125


4.0-1390 - Add BBA Tap to OSX by SlEiPlEs5

Everyone knows that the GameCube BBA is an awesome little add-on; emulation for it was even showcased in The Ten Years of Dolphin video. But, for a very, very long time OSX was left out from all the fun. That changes here, as SlEePlEs5 rectifies this long time omission by adding up the BBA Tap emulation for Apple's OS. Now, who's going to implement this on Android...

Finally fixed issue 647


4.0-1415 - Ability to Compute MD5 Hash by Sonicadvance1

Knowing if an ISO dump is good or not is very important, especially when you consider all that can go wrong with a bad dump. Crashes, freezes, missing textures, and missing audio can all be caused by an improperly dumped ISO. As of this change, users can now compute the MD5 for any game in Dolphin's game list. Try it yourself - it's in the info tab of the game properties window. You can find many confirmed hashes at redump.org and gametdb.com to compare your dumps against.


4.0-1474 - Consider Shifted Pixel Centers by neobrain

Any time you have a problem that lasts as long as issue 267 (initially reported in 2008!) it goes without saying that the solution is going to be convoluted. It was known to be some kind of issues with rendering the shadows, but no one knew exactly what. The first blow was dealt when magumagu noticed that it wasn't the ground texture broken, but the shadows. These shadows were meant to be initially rendered in a black rectangle at screen coordinate (0,0), but the top-left corner of that the rectangle was actually located at the coordinates (0.50007,0.50007), meaning they were getting rounded to (1,1)


Sonic Heroes

Due to an unknown behavior, this game failed to work correctly in OpenGL.

Sonic Heroes

With the quirk emulated correctly, the game is guaranteed to work just like the GameCube regardless of backend

It turns out that the border between two pixels is not at (0.5,0.5), but rather slightly shifted to (0.583,0.583) which happens to be a difference of exactly 1/12th of a pixel. That means that Dolphin was grabbing garbage from outside of the box from which the shadows were drawn. For far, far too much information on why this happens, check out the explanation by neobrain.

Fixed issues 267, 6481, and 7196


4.0-1478 - Fix Wii games on ARM JIT by SeannyM

Dolphin on Android is a quickly growing from a experimental prototype into a legitimate emulator. Thanks to both the hard work of the developers and a platform that is becoming more and more powerful, Dolphin on Android is something to keep an eye on this year. SeannyM hits ahead of the curve here by fixing the ARM JIT for Wii games, resulting in a massive speedup! ...but Wiimote controls haven't been implemented on the Android builds. Still, when controls are implemented, the games are ready and waiting.

Fixed issue 7130


Special Thanks To...

delroth, Sonicadvance1, tilka, SeannyM, magumagu, pinumbernumber, SlEiPlEs5, degasus, darkjack, shuffle2, Jezze, LPFaint99, lioncash, pfpacket, comex, Parlane, linktothepast, RachelBryk, and neobrain for a combined total of 111 commits!


Issue Tracker Gold

Dolphin is not perfect; proof lies within the 500+ active issue reports currently on the issue tracker. Most of these problems are annoying game breaking bugs or various other oversights that cause problems for users. But sometimes, there are issues so crazy that they defy all expectations. These kinds of issues occur in popular games, obscure games, or even the emulator before it loads a game!

Even when not attempting to actually break things, sometimes the emulator decides to break the game for you. In issue 7153, the absurd meets the impressive as Dolphin finds the absolute weirdest way to defeat our brave tester. Enjoy!



Got any questions or comments? Direct them to the official forum thread for this article on the Dolphin forums.

You can continue the discussion in the forum thread of this article.

Next entry

Previous entry

Similar entries