Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SOMA: Cannot open drawers or kitchen cabinets in the starting room #4217

Closed
kuruczgy opened this issue Dec 13, 2024 · 3 comments
Closed

SOMA: Cannot open drawers or kitchen cabinets in the starting room #4217

kuruczgy opened this issue Dec 13, 2024 · 3 comments

Comments

@kuruczgy
Copy link

What Game
SOMA
https://store.steampowered.com/app/282140/SOMA/

Describe the bug
Cannot open drawers or kitchen cabinets in the starting room.

To Reproduce
Steps to reproduce the behavior:

  1. Start a new game. (Wait for a few minutes until the cutscenes are over and you wake up in the starting room.)
  2. Put your crosshair over a drawer or a kitchen cabinet in the room, and try to drag it by holding down the left mouse button.
  3. Observe that the hand symbol that should appear when hovering is missing, and the dragging does not work.

Expected behavior
You can open drawers and kitchen cabinet doors.

Screenshots and Video
This is how it's supposed to work: https://youtu.be/FD0h-s6NUeM?t=311

System information:

See this commit for the nix expressions for the bwrap based chroot: https://github.com/kuruczgy/nixos-aarch64-gaming/tree/a747c19f80f64ce566f315ac5c93d1b9345c13d4

Additional context

  • Is this an x86 or x86-64 game: Unknown
  • Does this reproduce on AArch64 with Radeon/Intel/Nvidia: Untested
  • Is this a Vulkan game: Unknown
@kuruczgy kuruczgy changed the title [Game]: [Short Problem Description] SOMA: Cannot open drawers or kitchen cabinets in the starting room Dec 13, 2024
@Sonicadvance1
Copy link
Member

Reproduced this. I don't recall this being a problem a couple years ago, so smells like a regression.
I'll need to tinker with it to see if I can find how they are doing their raycasting to find interactable objects to determine the cause.

@kuruczgy
Copy link
Author

I wanted to bisect this, the issue is already present in 2402, but anything before that wouldn't launch steam for me. (I also cherry-picked #4160, but no luck.)

Do you have any better idea for finding the raycasting function than static analysis (e.g. throwing it in ghidra)? Is there any tooling that could analyze the difference in dynamic behavior between a frame where a ray hit is found and one where it isn't? (E.g. if we could find a branch that differs between hit/no-hit frames that could narrow it down a lot.)

@Sonicadvance1
Copy link
Member

Fixed by #4237

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants