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
[Silent Hill 2] Checklist of Remaining/Wishlist Fixes #9
Comments
ThirteenAG says he's going to take a look at it, so I'm guessing this should be fixed in the upcoming stable build. I'll let you know otherwise.
The issue with that idea is there are some videos you didn't change at all, so if we were to reduce the width to pillarbox them again (16:10) then those videos would get squished in the process. Alternatively, we could simply offer different downloads. One for angular_graphics' videos, and another for your edited videos. Then nothing with our scaling would have to be changed.
I feel like we shouldn't spend time on this kind of stuff when we could be working towards a proper solution instead. In this case, replacing the save screen background with an extended version, and fixing the pillarboxing of the maps. Both easier said than done of course.
I think I understand why the developers did what they did here. I believe the black overlay is used to emphasize Eddie's last bit of dialogue "Nobody will ever forgive me." while the cutscene appears to end. My solution skips the overlay entirely and goes straight into the transition, but that means the subtitles for that last bit are not visible and some of the emphasis is lost. I'll have to find another way.
You already know what idea I have to fix this, so I'll let you know how it turns out as soon as I have a chance to test it. |
True. But the only ones I didn't change were the bonus trailers for SH2 & 3 not pertaining to the game themselves. However I do see your point. But...
Good point. So long as the user's resolution is set for 16:9 then our newly edited videos should play with no black bars anywhere (after ThirteenAG adjusts things) so long as they disable FMVWidescreenEnhancementPackCompatibility. Once we get a little further along I'll update the Installation Guide to offer both video formats and the installation instructions.
I know that it may be nearly impossible to allow for different size/resolution full screen images due to complications you mentioned. That got me wondering about an alternative solution: Could you combine several of your full screen fixes into one? Basically doing what I did for the 16:9 FMVs? So you'd zoom in on the full screen images as you've done to remove the letter boxing and then stretch the images horizontally ever-so-slightly to remove the pillar boxes. While there would be some image stretching you wouldn't crop off any of the images as what's currently being done to remove the pillar boxes, if that makes sense. This may also fix the Hotel elevator button dilemma. But on that same note, there's no saying how the interactive full screen images would behave stretching them like that.
You're probably right. Team Silent were masters at this. Notice how, when you first meet Eddie in the apartment bathroom, when he says, "Honest," it's extra loud compared to his other dialog? I always loved that little detail... |
Since the grey pillar boxes' color is actually a loading zone color, it is possible to change the color manually. In my sh2pc.exe these three addresses hold RGB values for loading zone color: sh2pc.exe+542C50 (00942C50) byte = red channel Setting them to 0 would output pure black loading zone color and therefore black pillars on map and save screen. You could make a function that would store loading zone color values upon opening map / save screen and swap them with zeros to make it black. Then load the stored loading zone color values back upon closing map / save screen. It's not an elegant solution but it could work. |
I also managed to investigate an issue with James' split animation during boat cutscene. In my sh2pc.exe file this 4 byte address sh2pc.exe+4BB78C (008BB78C) holds a value of FFFFFFFF (4294967295) before the boat cutscene is triggered for the first time and it gets nullified (value is changed to 00000000) upon triggering the cutscene. It stays nulled afterwards. If you reload and manually change the value back to FFFFFFFF and then trigger the cutscene again — James animation won't be split. I guess a solution here could be making a function that would do a conditional check of sh2pc.exe+4BB78C being 00000000 and changing it to FFFFFFFF in such case. Since I don't know if that address has any impact on the gameplay somewhere else apart from that boat scene, I would make such function based on current room index or something that could make the check work only in location after Eddie's boss arena and before the actual boat sequence (pier location). Edit: or you could simply NOP the function during initial game launch but again, I don't know if that function is responsible for anything else in the game. |
Mentioning @AeroWidescreen in this discussion. @Bigmanjapan would you be able to find a way to keep the hanging meat loaded the entire time during this cutscene? https://www.youtube.com/watch?v=XY5kRFLcYO8 Also, I didn't catch it at the time, but at the 0:35 mark in the video the meat directly behind Eddie also disappears. |
Random stupid showerthought (aside of still thinking maybe this kind of stuff should go in the SH enhancement repo): there's a point where rewriting the engine starts to feel easier |
@jdkubiak what was the internal resolution in the game when you made that video? If I watch the cutscene in 1920x1080p internal resolution, then I won't observe the glitches you had. https://youtu.be/Vt6zMl8aMJM (I have one glitch on 00:09 but I don't have ones you had) Also your video is more "zoomed-in" than mine, which, I believe, is directly tied to the "meat" glitches. In SH speedrunning Discord server it was recently discovered that some camera aspects change depending on the resolution (making camera more tilted down if resolution is progressively lowered). I know how to control camera boundary boxes, trigger (switch) areas, projection, various rotations etc but I have no idea what is that dynamic parameter that is changed in accordance to resolution. Will search more. |
The internal resolution is set to 320 x 240 on mine. I believe this is the reason why. This is in reference to how the camera wasn't positioned correctly in certain areas of the game when a higher resolution was used injunction with the Widescreen Fix. Here is one video example: Edit: Yeah, I see what you mean about my cutscene being more zoomed in now. Must be directly tied to the much smaller resolution. |
This was changed in the widescreen fix to have the camera always behave the way it does in 640x480. I don't know if that's the cause of this issue though. @jdkubiak
Are you sure it's not because you have ReduceCutsceneFOV enabled? |
Ah! So many variables! Yes, that was the issue. When I disabled ReduceCutsceneFOV my camera was zoomed the same as @Bigmanjapan . More importantly, when ReduceCutsceneFOV was disabled the "meat glitch" didn't happen except for one quick instance that is seen in Bigmanjapan's video at the 0:09 mark: @AeroWidescreen is there a way to disable ReduceCutsceneFOV just for this particular cutscene whether it's enabled or not by the user? |
*I personally think that quick glitch at the 0:09 mark is acceptable to not worry about if ReduceCutsceneFOV can be disabled for the entirety of the cutscene. That particular glitch at 0:09 is so fast, and at the edge of the screen, I wouldn't consider it to have a major impact on the tone/mood of the cutscene. And if advanced fog is enabled it would be even harder to notice. |
@AeroWidescreen I see, that's interesting. Seems that 640x480 camera fix solves more issues than it creates, so no point in fixing meat glitches by reverting it back to default. I will just in case try to adjust camera angles' values via game files to fix that one gitch at 0:09. |
Do you want to mimic a consoles' pointer which is always initially centered? As far as I can tell on PC version mouse pointer's travel area is limited by 640x480 (512x480 visible area) size regardless of set resolution (pointer area gets "stretched" on screen area created by resolution). I guess it wouldn't be much of a problem to find a check that game engine has on entering 2D events (inventory, map, puzzles etc). Set mouse pointer coordinates to 256x240 each time the check is performed. sh2pc.exe+541358 (00941358) = pointer horizontal position |
That may be preferable. This fix was suggested because when both Fix2D and FullscreenImages are enabled the cursor is initially completely off screen (this is because the fullscreen images are scaled to crop the letter boxing) during the first interactible fullscreen image. You have to start moving the cursor around randomly until it comes back into view. But if the cursor was always centered by default you wouldn't have to wonder which direction the cursor is hiding off screen. Here was the original thread on scaling the fullscreen images: |
@Bigmanjapan |
@AeroWidescreen I may be completely off with my understanding of this but if you'd humor a non-programmer/-modder's thoughts: So the internal resolution of the game's camera determines how severe the meat glitch is, yes? Meaning, if I were NOT using the WSF, and had the game's resolution set to something very small like 320 x 240, a lot of the hanging meat would disappear because it would be actually be off-camera in that tiny resolution? And so the larger the resolution the more meat will show due to the increase in camera size? And the way the WSF works is that while the projection I'm seeing is 1920 x 1080 the game is "rendering" the environment under the pretense of 640 x 480? (Apologies for probably grossly minimizing this concept.) You mentioned how you adjusted this to fix prevalent camera bugs while in-game here. That fix was to alleviate "live" camera angles; ones that change on-the-fly depending on how you move James. Because the Eddie cutscene uses "pre-made" camera angles (the player can't adjust these) can you tell the WSF to temporarily change the internal resolution from 640 x 480 to something larger while this cutscene plays (by using the cutscene's unique identifier)? Then, when the cutscene ends, the WSF goes back to using 640 x 480 like before? Again, I may be totally off mark here with all of this but if any of this is remotely how the WSF works/fixes things could that be a possibility to fix the meat glitch? EDIT: This is all under the notion of a player having ReduceCutsceneFOV activated. |
I don't know a thing about how this game works, but if any the target should just be have independent interface/subtitles/dubbing language. |
Nice! If you wouldn't mind sharing the .mes file I can add this as an option to the Installation Guide at a later date. Are there additional language options for the subtitles as well in the Xbox version? (I no longer own an original Xbox to test...) Would the European Xbox releases have more language options than the North American versions? |
As far as I remember Xbox versions work just like PS2 versions when it comes to language selection. NTSC-U and NTSC-J versions of both platforms have Japanese and English language available to select in Options menu. PAL versions of both patfroms have English, French, German, Italian, Spanish. NTSC-U PC version have Japanese language "cut" and only have English available and PC PAL version have English, French, German, Italian, Spanish. The thing is, these language selection restrictions are artificial. Every region version of every platfrom has all message files in their file structure and it is possible to select any language including Japanese by bypassing language selector restriction via memory editor. There is an issue with PC build tho. Japanse message files in PC builds are "empty" and render Japanese text to "??? ??? ?????" signs. Transfering Japanese message files from an Xbox build solves this issue. One additional issue with PC build is that there is no japanese text for PC menu (which appears when you press Esc button during gameplay), since there is no such menu on console versions and PC build was never released in Japan. Someone would have to make translations for menus and find a way to inject them into game's message file structure. This video shows how easy it is to hack language selector and issues with original Japanese message files (this is done on NTSC-U version which only have English available by default): https://youtu.be/n3W73pCOZIc
In conclusion, first step would be unlocking language selector by modyfing sh2pc.exe to provide access to all languages, second step would be adding lacking Japanese texts in the game's message structure. Language selector address: sh2pc.exe+19BC006 (01DBC006) byte |
Thanks for this info! Accessibility to non-English speakers (Japanese in this case) would be very beneficial. With fans all around the world, inclusiveness would be great.
So if this can be unlocked could users simply click the < and > arrows beside the language choice to switch? (The same as adjusting other options.) Theoretically it wouldn't crash the game or anything?
I understand now. I just saw all the different language .mes files under /data/etc/message/ . Each file ends in e (English), f (French), g (German), i (Italian), and j (Japanese). |
In theory, yes. Languages should be switchable via game's own "<" and ">" buttons without any crashes. I do that in the video via memory scanner and game doesn't crash, no reason why it would crash once language selector is "unbound".
I don't know yet. I (or someone else) would have to see from what files menu polls it's text data and try to change it as an experiment.
I always thought that if there is an aura around texts in main menu, then it is an NTSC build, if there is a plain text, then it's a PAL build. Either way, my build have only English available by default, so it should be NTSC one regardless of logo in the main menu. |
I believe you are correct. But if you install the PAL version then swap out the .exe with the NTSC version you will keep the PAL menu background image but have the NTSC "fat" menu font. But the "fat" menu font is the only true menu font for this game. :) @AeroWidescreen if this can be looked in to and patched in the WSF (or patching the actual .exe? But that would require people using only the .exe provided) I can include the corrected Japanese message files (after they've been tested) as a packaged download with the .exe on the Installation Guide no-CD step. |
What about increasing FOV slightly for that cutscene? Seems to solve the issue entirely: https://youtu.be/3z_9o7atcFc It is probably possible to increase FOV even less (to stay closer to the original) than I did to solve the issue. @jdkubiak @AeroWidescreen |
Nice! How much could the FOV be decreased (to stay closer to the original) while preserving all the hanging meat? Is there a set threshold/limit? |
@AeroWidescreen @Bigmanjapan @Nisto Hi @Polymega , I saw your comment here and yesterday I've discovered something new in the HD Collection (XBOX 360), like the high res menu background and savebg pictures (all 1152* 720 px), I'd like to test them or modify but I don't know how to put the them back correctly. I'm using the Here's the link of all high res backgrounds:
@Nisto Besides I'm working on a chinese localization for SH2, although there is one now (use d3dhook to insert a new font). But I wanna do it in another way, which means only to add font textures so the other language options can be saved. Thanks to my friend and finally now we can change the japanese .mes files properly. Sorry for offtopic again. I was almost give up until I found this thread, just want to say thank you for all your hard works and giving me hope. |
This is great! @elishacloud and @AeroWidescreen have discovered breakthroughs in hopefully being able to implement HD static images in the game so these save screens should come in handy!
Yes, unfortunately, when using SH Texture Explorer, you have to resize the images. Not only that, but I believe that software also degrades the image's quality even further (beyond just the resizing). If positive results come from Elisha and Aero's research with the HD image mod, we should be able to skip using SH Texture Explorer altogether. @brunibunny has a way of saving the high res images as DDS format so we won't have to use SH Texture Explorer, either. But, I just check your Google Drive images, and it looks like you already have these particular images saved in DDS format! In summary: Hopefully in the future we'll be able to use high res images without having to reduce their size/resolution and without having to use SH Texture Explorer. :) |
@lakeviewhotel The PC version already does contain loop information in the BGM .adx/.aix files. The thing is, we wanted to convert the PS2 renditions to uncompressed WAV files, because ADX compression introduces various defects. But it doesn't natively support looped WAV files (except for complete looping, from start to end, which is controlled by the last byte), and I don't think it supports .pos files either (even if it did, all WAV "files" in the game are either concatenated together into one file, or they're part of a virtual filesystem, without companion files and whatnot). |
@lakeviewhotel Using higher res images requires memory modifications that elishacloud is working on in conjunction with sound improvements. It's been proven possible with only one issue that needs be ironed out. But these images you've extracted are really helpful, especially the save backgrounds! |
Just curious, in which case that Maria's save background with watery overlay is displayed in HD Collection? I always thought that watery overlay comes from the well with the first red tablet in the main scenario. And that a player looks at James from the back side of the tablet, just like in SH3 player looks at Heather from the back side of the halo sign. Does it make sense to use background with watery overlay in Born from a Wish if it's the main scenario thing?
Strangly enough, if you push against the wall, James will run at full speed which is 4 (float). James/Maria acceleration sh2pc.exe+1BB10A8 (01FB10A8) float |
Haha, yeah, I used this tactic back when I speed ran the game. If James' body is 45 degrees to the stair/railing he won't slow down. Although, seeing it again in action, it really does look like it was intentionally programmed this way. Only because he slows down in perfect sync with his own footsteps. |
@Polymega @AeroWidescreen @Nisto
@Bigmanjapan Wow I've never thought of this.. now I can't agree with you more. I'll think twice if I do modding again, thank you :) |
Well that's one less thing to worry about, confirmed by Masahiro Ito himself |
New issue to add? |
Nice catch on the animation glitch. I guess it happens so quick I've never noticed before. It looks like the monster's model just needs to be rotated 180 degrees while it's dormant on the ground? Maybe a value that has a negative in it instead of a positive? Or vice versa? But, I did always notice how a pool of blood forms on the Mannequin before it awakens in the PC build. I always thought that was odd... In fact, I had to Photoshop/edit out the blood for my next, upcoming demonstration trailer: Also, the specularity of the Mannequin on the PC build is much more pronounced: I always wished the specularity could be removed from the monster before obtaining the light. (Basically, tricking the game into thinking the flashlight on the mannequin dress is "off" but this trick only affects the Mannequin monster because when the light is off all monsters have their specularity removed.) I know in the PS2 build the Mannequin has specularity like this while it lays dormant but it doesn't seem near as much. I actually removed it on the upcoming video as well just for nicer presentation purposes: Would you like to make a ticket and add it to this repository? We have a lot of conversations/testing for all sorts of different things throughout the same thread(s) so it may be better to make more individual tickets to keep track of them all. |
Sure. I might try to remove the flicker on the mannequin and the blood stain while I search for animation fix. |
I don't know if it'd help you guys but I extracted my PS2 save files of SH2 to use with PCSX2. You can download them here:
Do note these save files are from the original NTSC release of the game; I don't know if these save files are compatible with later released versions. |
This blood stain is formed via three layers. sh2pc.exe+556364 (00956364) float Change them to 128. Interestin fact: blood stain Y position is calculated from mannequin Y position. If you change mannequin Y position via address in the next message, freeze the value and re-enter the room — blood stain will also be shifted on Y axis following the mannquin. |
I'm afraid it's not that simple. I found all the addresses that control it's position and it seems that the way his legs positioned are entirely different to consoles' versions. Simply rotating it won't do. sh2pc.exe+1BB15B4 (01FB15B4) float - Mannequin position X Not sure what to do about it yet. |
These three addresses control flickering on the mannequin. NOPing functions that write to them and setting the value, for example, to 1 — removes flickering but also breaks the flashlight. Maybe some manipulation with the addresses upon entering the room but before the flashlight pick up and reverting it to default after the pickup? sh2pc.exe+4A0020 (008A0020) float |
I think the largest issue with this is that the Mannequin does a complete 180 flip. Because of how drastically the creature must move to be back in the right position it's noticeable even at just one frame long. If you can get the creature rotated to the correct angle so it doesn't "flip" over upon activation I seriously think that would suffice. Because, even if the Mannequin's legs are slightly different I would bet no one would notice when it comes to life. It's the entire body flipping that is large enough on-screen to become noticeable, if that makes sense. |
The issue is that 180 flip is scripted, no matter what it's initial position is, the flip will occur. |
Well that's just both silly and frustrating... And is a downside of the Quick Save feature then. On PS2 the devs would never need to worry about that. |
It definitely helped me. I've had the game running without a hitch in PCSX2 for awhile now, but I've never got around to doing a full playthrough. I don't have to rely on YouTube videos for comparisons anymore. Thanks for this. |
@Polymega Thought you might find this interesting. With a little bit of trial and error I was able to create a custom zoom and movement for the map like I was trying to do before. I don't have any plans on implementing it, but it's cool to see that it's possible to fix the pillarboxing without having to replace the textures. Ignore the markings not being synced when zooming; I didn't feel like going through the trouble of fixing that for this video. |
😮 I don't find that interesting; I find that sexy. As you said: I know with the hopeful advent of implementing widescreen 2D images we probably won't need to completely fix the full screen map images but it's super nice knowing you found a solution as a back up. Plus, I know this is both something that's been requested of you for a long time and something you've wanted to properly fix for quite some time. So I'm sure it's a wonderful relief just for yourself to have this egg finally cracked. Your talents always amaze! |
@AeroWidescreen @Bigmanjapan PCSX2_Silent_Hill_2_Save_Files.zip Also, Aero, a neat fun fact: The "Maria" ending is also glitched when playing on PCSX2: |
Moving This Issue to Silent-Hill-2-EnhancementsEveryone, I am moving this issue to the Silent-Hill-2-Enhancements project. Some comments were not able to be moved, but they can still be referenced here. Please put all comments in the New Issue. Thanks! |
(Note: This thread was made a few days before the creation of the SH2 Enhancements Repository)
I'm doing a play through of Silent Hill 2 again for the Enhanced Audio project and I was making mental notes of the remaining "wishlist" fixes and wanted to post them for posterity purposes.
Noted areas for improvement:
Discussion thread
Discussion thread
Video Example 1 | 2 | Discussion thread
Video example | Solution
GIF example
Discussion thread
Video example | Discussion thread
Solution
Video example | Discussion posts
Video example | Solution
Discussion post
Video example | Solution
Discussion Post | Solution
Fixed!:
Game map & save screen fix: Currently, if you're on the streets of Silent Hill during the day time the pillar boxes are grey, not black. This is true for any area where the game has set the time of day to "day" (and not "night").Image example | Discussion post
There has been breakthrough discoveries in implementing high res, widescreen images for the game so this fix will be redundant if a HD image mod comes to fruition.
Game map & save screen fix: Currently, the markings on the maps and save file's floating, enlarged text are always visible and stay above the pillar boxes. They should be behind the pillar boxes.Video example
There has been breakthrough discoveries in implementing high res, widescreen images for the game so this fix will be redundant if a HD image mod comes to fruition.
Game map fix: There are no pillar boxes at all whenever James transcribes notes onto his own map. (James transcribes notes onto his own map several times throughout the game.) You can see the game environment instead where the pillar boxes should be.Video example
There has been breakthrough discoveries in implementing high res, widescreen images for the game so this fix will be redundant if a HD image mod comes to fruition.
Video example | Discussion thread
Integration of anti-aliasing (possibly done through SMAA?)Alternate solutions have been found for anti-aliasing which have been reflected in the Installation Guide.
Integration of WineD3D's fixes without having to use WineD3D (wise to do so?)It is no longer necessary to do this.
Discussion thread
The text was updated successfully, but these errors were encountered: