emoose / silent-hill-decomp

0.001%
6 stars 0 forks source link

Silent Hill 2 code similarities #2

Open emoose opened 1 month ago

emoose commented 1 month ago

Noticed that SH2 also includes very similar debug camera modes (self view / freecam / rotational) to the ones found in SH1 recently, as mentioned on SH2 TCRF page: https://tcrf.net/Silent_Hill_2_(PlayStation_2)#Debug_Camera

Looking at the code for that in SH2's Jul 13 2001 build (with debug symbols), vcMoveAndSetCamera seems to be the function responsible, which looks very similar to SH1's debug camera handler at 0x800401EC.

In fact one of the functions called in there vcSetRefPosAndSysRef2CamParam almost seems to match exactly with SH1's 0x800405C4 function, besides some of the coordinate constants used inside it.

Very good chance that some of the functions in SH2 might have been carried as-is from SH1, maybe with some integer math switched over to floating point, promising stuff!

E: so far I've found a bunch (~100 or so) of vc funcs that seem nearly identical between them, not really sure if much else is shared besides these though, none of the callers to these functions really seem all that similar at least.

Possible SH2 just borrowed this vc camera system stuff from SH1 while the rest of it is a completely new engine, who knows, hopefully /could/ mean other things were also borrowed too, but haven't really found much yet.

emoose commented 1 month ago

Tried comparing with BinDiff since I had some luck comparing code with different archs with that before, did find some of the similar vc funcs between them, sadly not that much else though.

Doubt SH2 might have anything else to offer for this, best bet is probably to keep looking into PS1 releases and hope one might include debug symbols - I know there is one undumped ITF "40% prototype" out there, which could have something relevant since SH seems built off that game, hopefully we'll see that show up some day.