r/ReverseEngineering • • 1d ago

Silent Hill (PS1, US v1.1) decompilation fork: 100% of code matched, nearly all data moved into C

https://github.com/astelmach20/silent-hill-decomp
3 Upvotes

3 comments sorted by

5

u/Sezzary 23h ago

***NOTICE***

Hi, decomp contributor here. Sorry, but while we welcome contributions (which you are encouraged to make via a pull request or discuss by joining the server where we collaborate instead of forking), most of this is *completely unworkable*. The "matched" final function, which has long been irrelevant to a port effort, relies on ASM hacks we agreed not to use for this particular instance, and the data migration is illegible.

I'm uncertain of the motive here so I don't want to throw shade, but much like the recent slop port, this is nothing worth celebrating. You are over-reliant on AI and I don't understand why you've spammed multiple subreddits with this, thereby spreading technical misinformation. Again, you are welcome to make contributions, but this ain't it. I will likewise post this notice on each of your posts because we've dealt with a few instances of this already. Take care and be well. :)

1

u/theswifter01 15h ago

Will fix

2

u/theswifter01 1d ago

This is a fork of shdecompilations/silent-hill-decomp (https://github.com/shdecompilations/silent-hill-decomp), which was at 99.99% matched code.

What's in the fork:

- Matched func_8009E198 (libkpad), the last unmatched USA function. Caveat: it only matches with an explicit-register u/hack (register ... asm("$n")). Upstream rejected the same approach in PR #496 and wants a clean match, so if you want a puzzle, that's the open one.

- Moved the INCLUDE_RODATA blobs and raw .data/.rodata into C across bodyprog, stream and every map overlay. Only map0_s02 anim info, one 2-byte padding word and some linker padding bytes are still raw.

- Fixed the JAP2 build and matched 6 Japanese text/inventory functions.

The matching and data migration in this fork were done with AI assistance, so it's a separate fork rather than an upstream PR, since the project only accepts human-written code.

Credit to the shdecompilations team for the years of work this builds on.