hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.09k stars 2.16k forks source link

Kitchen function broken in Monster Hunter Freedom Unite for ALL git builds starting from v0.7.6-389-gd952f74 #1728

Closed solarmystic closed 11 years ago

solarmystic commented 11 years ago

UPDATE:-

After much testing and head on the wall banging I've finally narrowed down git version that caused this issue to be replicated 100% of the time without fail.

It's this massive merge pull commit that merged Atrac3 support in sceAtrac via FFMPEG into the main PPSSPP code that's the source of this problem d952f74

All git versions starting from v0.7.6-389-gd952f74 (which is the first one to have it) exhibit the problem and it is replicable 100% of the time.

The lastest git revision that does not have this specific kitchen issue after repeated and persistent testing (10 times each git revision using the same methodology outlined in problem replication section) has been narrowed down to v0.7.6-387-g9922756, which funnily enough is the last one before any form of FFMPEG support was merged into the PPSSPP code. #1662

I now have a much, much greater appreciation for the testers and devs of this fine emulator.

EDIT:- I also discovered that holding turbo prior to eating in the kitchen also causes the issue in otherwise working builds.

ORIGINAL POST:-

As per my post in the ppsspp forums:-

There is an issue with the game in the latest git version v0.7.6-483-gc4529ef. This is older issue actually but doesn't happen consistently like in the latest build.

The last working build tested without this issue at all for MHFU was the official 0.7.6 release by Henrik on the main website.

Description of the problem:-

The game gets stuck/unresponsive after you eat a Felyne prepared meal at the kitchen. Without fail. No matter the ingredient combination.

You see the felyne chefs just clapping their hands over and over again, you can't move and the game refuses to respond to any button presses. Holding down turbo does nothing.

Problem Replication:-

The steps to replicate the problem are as follows:-

  1. Load your savegame. Preferably one where you've just completed a quest.
  2. Head to your home, and then the kitchen.
  3. Eat a meal prepared by your felyne chefs.
  4. Watch game get stuck in a loop after you recieve the meal bonuses.

I've posted a video on youtube that demonstrates the issue better than words. Observe the ending of the meal in particular. The cats kept on clapping in a loop that wouldn't end.

http://www.youtube.com/watch?v=JGXIgumf9XU

unknownbrackets commented 11 years ago

Knowing which exact git build this started happening in would help significantly. To confirm, you're saying it never happened in 0.7.6, or that it happened but not with 100% reproducibility?

-[Unknown]

hrydgard commented 11 years ago

This is almost certainly the same as all the other Monster Hunter hang problems with some queue overflowing, what does the log look like when this happens?

hrydgard commented 11 years ago

https://github.com/hrydgard/ppsspp/issues/1699 https://github.com/hrydgard/ppsspp/issues/1078

solarmystic commented 11 years ago

@unknownbrackets

It almost never happens in the official 0.7.6 release on the main ppsspp webpage. I've just tested the same savegame to elicit the problem:-

In 0.7.6 official release the kitchen problem doesn't occur

In the git build (v0.7.6-483-gc4529ef) I posted above it can be reproduced with a 100% certainty. Without fail.

The main difference between both builds is that I can replicate the issue (kitchen endless loop) consistently in 0.7.6-483, while in the official 0.7.6 build, I cannot.

@hrydgard

Here's the log file for your perusal (in 7z format):-

http://www.mediafire.com/?y8sveu6ek44lnhb

hrydgard commented 11 years ago

Indeed another "Queue Full!" problem. I wonder what queue that is. A msgpipe?

Scheduling changes since 0.7.6 may have affected it.

solarmystic commented 11 years ago

@hrydgard

Here's another log file for your perusal when the problem does not rear it's ugly head, and the kitchen segment runs smoothly. Perhaps you can find out the difference between them when the issue occurs and when it doesn't. I'm not quite proficient in these matters.

http://www.mediafire.com/?29qfckxvqe86c3s

solarmystic commented 11 years ago

After much testing and head on the wall banging I've finally narrowed down git version that caused this issue to be replicated 100% of the time without fail.

It's this massive merge pull commit that merged Atrac3 support in sceAtrac via FFMPEG into the main PPSSPP code that's the source of this problem https://github.com/hrydgard/ppsspp/commit/d952f7413b700f506b93ba772fb95e1b70e3b3df

All git versions starting from v0.7.6-389-gd952f74 (which is the first one to have it) exhibit the problem and it is replicable 100% of the time.

The lastest git revision that does not have this specific kitchen issue after repeated and persistent testing (10 times each git revision) has been narrowed down to v0.7.6-387-g9922756, which funnily enough is the last one before any form of FFMPEG support was merged into the PPSSPP code. https://github.com/hrydgard/ppsspp/issues/1662

I now have a much, much greater appreciation for the testers and devs of this fine emulator.

EDIT:- I also discovered that holding turbo prior to eating in the kitchen also causes the issue in otherwise working builds.

dbz400 commented 11 years ago

@solarmystic , can you test the build from @oioiff to see if you can still reproduce this issue ?

https://docs.google.com/file/d/0B1ftGc2t9-dZVUZsUUZIYmFtRTQ/edit?usp=sharing

solarmystic commented 11 years ago

Yes I have raven. The same issue is exhibited on not just his latest build, but all of his builds. I went as far back as his first build (dated 15th March 2013).

https://docs.google.com/file/d/0B1ftGc2t9-dZcGpBT0NCb3AwT3c/edit?pli=1

Which makes me suspect the implementation of FFMPEG even more.

dbz400 commented 11 years ago

Can you try this build ? rename it from jpg to zip , extract and run it with those dll lib from oioitff build

ppssppwindows

solarmystic commented 11 years ago

Well what do you know.... the build you posted solved the issue, twice out of ten attempts.

I placed it next to the dll libs from the oioitff build (The avcodec, afvormat, avutil, swresample-0, and swscale dlls) and tried to replicate the issue. I couldn't reproduce the issue the first time. The second time issue came back. Third time it resolved itself. And the next seven times it came back.

Did you figure out what was at fault?

dbz400 commented 11 years ago

Seems to me that it is random . This build basically disable the ffmpeg code to be functional however looks like may be other code not related to ffmpeg causing problem .

solarmystic commented 11 years ago

Okay, but the fact that it does work some of the time instead of failing 100% like in the other tested builds implies that ffmpeg could be at fault. As I mentioned earlier it was the builds on orphis post the ffmpeg merge (any build after 0.7.6-389) that all have the problem all the time.

Last working build that does not display the kitchen loop issue at all and works properly 100% is still ppsspp-v0.7.6-387-g9922756-windows-x86.

Thanks for being patient with me.

solarmystic commented 11 years ago

Closing this page for now as the issue seems to have been resolved as of 0.7.6-804. Kitchen function now works as intended. Will reopen if it returns.

unknownbrackets commented 11 years ago

Really? That's weird. I'd be very interested to know which revision actually fixed it.

-[Unknown]

solarmystic commented 11 years ago

@unknownbrackets

This combined merge https://github.com/hrydgard/ppsspp/commit/1b3079142bb58bc57d05a6720ecf8193f636e185 of your audio blocking functions into the master is the one that seems to have done the trick. Git revision v0.7.6-685-g1b30791 is the first build not to exhibit the kitchen issue with repeated and persistent testing.

Thanks again @unknownbrackets

unknownbrackets commented 11 years ago

Hurray. I thought it might fix something but I was disappointed when none of my games seemed to care. Glad it helped, thanks for checking.

-[Unknown]