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.01k stars 2.15k forks source link

Diner Dash:Sizzle & Serve stuck in connecting loop - 1.11.3 #14563

Open ghost opened 3 years ago

ghost commented 3 years ago

Hi,me again.Reporting this bug because i thought it's good idea to do so

What happens?

Game stucks after both players proceed normally,no matter the host

What should happen?

Game should go fine no matter the host (I exchanged host/client position on both devices)

What are you using?

PC Android

What hardware / device and operating system?

Windows - 8.0 Honor9S - Android 8.1.0

What graphics card (GPU) or mobile phone model?

PowerVR GE8320 Intel (R) HD Graphics

What PPSSPP version (standalone/official), and did it work before?

1.11.3

Which game or games?

ULUS10264 Diner Dash:Sizzle & Serve USA

Checklist

ghost commented 3 years ago

Another game that uses GameMode lol. I noticed a pattern with small games that use it lately (between 50-100 mb).

anr2me commented 3 years ago

This game seems to try to sync their data too fast O.o less than 4ms difference on each attempt to sync (UpdateMaster & UpdateReplica) on the Host side, while other games that use GameMode usually only sync their data on every frame (ie. 16ms), fortunately we do the syncing part on ScheduledEvent (similar to JPCSP) with 10ms interval so it won't flood too much.

Host: image

Client: image

Some of those data that supposed to be synced, probably never got the chance to be synced since the data in the GameMode buffer will be overwritten by the new one. Not sure if this data supposed to be allowed to be overwritten with the new state or not on PSP, but the initial data doesn't seems to be allowed to be overwritten based on what happened on Star Wars: The Force Unleashed, where overwriting the initial data will ended causing some of the player's colors to be black instead of their actual color on the mini-map.

May be we should do a blocking HLE on UpdateMaster/UpdateReplica and sync available data first without giving the game a chance to overwrite the old data.. similar to what we did to the initial data.

hrydgard commented 3 years ago

Please stop closing all your issues.