RPCS3 / rpcs3

PS3 emulator/debugger
https://rpcs3.net/
GNU General Public License v2.0
14.73k stars 1.87k forks source link

Demon Souls - Floating Debris #13568

Open BloodRaven0 opened 1 year ago

BloodRaven0 commented 1 year ago

Quick summary

When an object (crates for example) are programmed to stay demolished after reloading an area, its debris particles will stay suspended in the air without any physics.

Details

When destroying these objects for the first time, their physics work as intended. However, when loading the area again, these objects stay destroyed, but their debris particles have disabled physics. They can be passed through normally, so the bug is purely visual. I tried clearing ALL caches and disabling Reshade, the problem still persists.

This issue occurs in at least 3 places in the game: 1-3 - Before the first gate, midway up the stairs there are a bunch of crates hiding a passage. 2-1 - In the room with the dogs, where some jars block an entry to a fat official 4-2 - Adjucator boss room has destroyed floors when loading back into it, even if the boss didn't destroy them during the fight. Their debris hang in midair. There may be more occurances of this bug that I haven't noticed.

Attach a log file

Before running the game, I deleted my old log files. Then I logged into the Nexus in NG+, went to 2-1 for the first time, ran up the the jars and smashed them for the first time this playthrough, their physics worked as intended. Cast Evacuate, ported to 2-1 again, ran up to the jars, their particles were floating in midair. Took a screenshot, evacuated out and quit game. For some reason after doing so, my RPCS3.log file became 177 MB (old one was 200 kb lol), causing my notepad to crash on opening it. So I uploaded the .gz file. If needed I can upload the .log in a 3rd party site and link it here.

RPCS3.log.gz

Attach capture files for visual issues

rpcs3 2023-03-19 10-58-04 rpcs3 2023-03-21 13-03-59

System configuration

OS: Windows 10 Pro v21H2 (build 19044.1466) CPU: AMD Ryzen 5 5500 RAM: 16GB DDR4

GPU - Radeon (TM) RX 470 Graphics - Primary/Discrete VRAM - 4096 MB - GDDR5 1750 MHz Driver Version - 22.40.01.45-230210a-388153C-AMD-Software-Adrenalin-Edition AMD Windows Driver Version - 31.0.14001.45012 Direct3D API Version - 12.0 Vulkan™ API Version - 1.3.237 OpenCL™ API Version - 2.0 OpenGL® API Version - 4.6 Direct3D® Driver Version - 9.14.10.01525 Vulkan™ Driver Version - 2.0.250 OpenCL® Driver Version - 31.0.14001.45012 OpenGL® Driver Version - 23.02.221211_b5b27f1 2D Driver Version - 8.1.1.1634 2D Driver File Path - /REGISTRY/MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4d36e968-e325-11ce-bfc1-08002be10318}/0002 UI Version - 2023.0210.1918.1963

Other details

I am using a few mods, but the issue was still happening without any mods installed. I'm on the latest current version of RPCS3 (v0.0.27-14823-7e6cc-2e Alpha), but it has been happening all the way from the beginning of my playthough a month or so ago. Mod list: Disable Motion Blur (patch) Uncap Framerate (patch) Skip Intros (patch) Hi-Res Font Update with Button Glyphs Soul Value Icons Removed Armor Restrictions Royal HUD Seamless Skip Intro Logos Boletaria Embers - ReShade Restored Demon's Souls tutorial (Sections of Second Level) Fluted Touchup

shinra-electric commented 1 year ago

Having broken particles suspended in mid-air was an issue in the original game.

The Bluepoint devs talk about it in this video at 32:40

shinra-electric commented 1 year ago

Although they do mention that reloading the area, the objects should be restored. So I guess this is a valid RPCS3 issue.

BloodRaven0 commented 1 year ago

I wasn't aware of that, I actually searched around to see if any similar issues were reported before posting this, but I didn't think it could be a game bug. Can anyone confirm or deny if it happens on the PS3 under the same circumstances?

kd-11 commented 1 year ago

DeS uses havok SPU physics engine. Try enabling accurate xfloat.

BloodRaven0 commented 1 year ago

@kd-11 Thank you for the suggestion. I tried it again today with SPU Xfloat Accuracy set to "Accurate Xfloat" in the CPU settings, and the result was the same. EDIT: Tried clearing the SPU cache as well, still the same. I'm not very savvy when it comes to all the complex settings in the emulator, so if there is any other setting you suspect could be the culprit, I'd love to test it again.

kd-11 commented 1 year ago

What are the reproduction steps? Only when casting evacuate? This may have been a bug in the original version as well though I cannot test.

BloodRaven0 commented 1 year ago

@kd-11 it happens every single time when you're coming back to the zone after the first time when you initially break the objects and their physics work correctly. Evacuate has nothing to do with it.

My guess is that when a zone is loading in already broken objects it fails to simulate their physics. Since most objects get restored to their non-broken variant upon entering the zone, it's not usually a problem, but these 3 examples stay broken and therefore get bugged.

kd-11 commented 1 year ago

When I reloaded 2-1 the jar was still broken on the floor and did not resemble the screenshot at all. In fact I even tried evacuate, save and quit, dying to the dogs (intentionally I promise 😅) and every time the pieces are just on the floor as usual. I did not observe any floating. I'm using default settings + WCB.

BloodRaven0 commented 1 year ago

@kd-11 Strange. Which version of the game do you have? Maybe it's an issue with my specific setup and hardware? Also I tried the dying to the dogs as well, absolutely intentionally, still didn't fix it xD

kd-11 commented 1 year ago

I'm using the same version as you.

BloodRaven0 commented 1 year ago

@kd-11 I meant which region? I don't think the region matters, but you never know. I'm using the US version - BLUS30443

kd-11 commented 1 year ago

I meant the exact same serial (and therefore also region) BLUS30443.