Skip to content

Broken module enumeration api for 32 bit games #9277

@Naxussy

Description

@Naxussy

Compatibility Report

  • Name of the game with compatibility issues: Silent Hill 2 original, Silent Hill 3, Silent Hill 4
  • Steam AppID of the game: Not from steam

System Information

I confirm:

  • that I haven't found an existing compatibility report for this game.
  • that I have checked whether there are updates for my system available.

Symptoms

I was playing older 32 bit games, like Silent Hill 2 - 4, but when I tried to run cheat engine, I ran into some problems. Cheat Engine didn't detect the games as games. Tried with other games and when I entered the memory viewer they were all shown as game.exe+..., but on SH 4 they were generic names, like 00400000. It seems that this is a problem with wine/ proton not being able to expose the 32 bit games' module correctly. I heard that some wine and proton versions have their module enumeration apis (toolhelp32 module32first/next) fail. I tried with the newest versions and saw that it was failing, so I decided to raise an issue so that more people can enjoy using cheat engine on older 32 bit games.

I don't know if this is an issue that I should raise here or to wine. I have attached 2 pictures, one showing what the memory viewer should look like(windows) and what it actually shows on linux. Other newer games didn't have this problem in cheat engine, they were running as if they were on windows, it seems to be something with 32 bit games.

Reproduction

Run an older 32 bit game like Silent Hill 3 and open cheat engine in the same environment. When you open the process and click memory viewer you will see that the memory addresses will be stored as generic memory addresses instead of the ones like game.exe+... expected by cheat tables.

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions