elishacloud / Silent-Hill-2-Enhancements

A project designed to enhance Silent Hill 2 (SH2) graphics and audio for the PC. It also includes scripts to build or modify SH2 audio files (SFX, BGM and Dialog).
http://www.enhanced.townofsilenthill.com/SH2/
zlib License
568 stars 41 forks source link

Play Testing Volunteer #175

Closed GlitchyReal closed 3 years ago

GlitchyReal commented 4 years ago

Hey, SH2EE team! I've been in and out watching your wonderful work (soft shadows!) and, while I have no real coding experience, would like to volunteer my time in play testing experimental builds. If that's something I could be useful for, please, let me know!

I have a pretty decent machine and the game is currently up-to-date with all your public builds, XInput, Audio Enhancement, FMV Enhancement, ReShade, and all the stuff on the official page. I've had no issues with the install so far.

My PC specs: [OS] Windows 10 64-bit [CPU] AMD Ryzen 5 3600 [GPU] Nvidia GeForce 1660 Ti [RAM] 32 GB DDR4 2400 [SSD] 1 TB

All I need for testing would be: 1) The issue you're looking for, the map location and, if necessary, how to trigger it 2) Save files for all game areas 3) Your permission and occasional guidance

Thanks for your time and I wish you all the best in making SH2 the best it can possibly be!

Polymega commented 4 years ago

Thanks GlitchyReal! Once we get to another big break point with the fixes I can ping you with some play testing. That can also help me out when having to do the bigger playthroughs across all binaries to check for crashes and the like.

Save files for all game areas

Here's my personal save folder: https://github.com/elishacloud/Silent-Hill-2-Enhancements/files/3665875/Folder.01.zip

Place it under \SILENT HILL 2\data\save\, making it become \SILENT HILL 2\data\save\Folder 01\. You'll be removing/replacing your Folder 01 when doing this.

If you'd like, would you want to do a full playthrough using a new Director's Cut (EU) binary? If so, please download and use this executable (make a backup of your's first): sh2pc_DC_new.zip

Simply play the game like normal, doing a full playthrough, and take notes of any times it might crash while playing normally. This is the "emoose" DC binary, which is different than the DC binary we used to provide on the install guide. The one we used to provide had noted stability issues (causing random crashes). This new one should be more stable, and a full run or two of the game would be very helpful for us with testing, to see how often (if any) this one may crash the game.

GlitchyReal commented 4 years ago

Alright, cool! I'm on it.

I did a clean, vanilla install with all the publicly available enhancements from the main page before throwing the new binary into the mix, just to doubly make sure any software issues aren't on my end.

Attempting a 100%-ish run, just for thoroughness' sake. I've made it to Brookhaven with no crashing or major problems whatsoever. I have made some newer observations, most of them negligibly minor, but I thought I'd include them anyway should they be of any importance. Fresh eyes on it and all that. I have video reference for all of these issues that I can provide if you like.

[BUGS?]

[GRAMMAR] I've also often been (quite correctly) accused of being a stickler for spelling and grammar and tried to pick apart every line of text for potential fixing. Your discretion if they are important or negligible busywork.

[MISC. OBSERVATIONS] Finally, miscellaneous thoughts that may or may not be accurate. I'm most used to the Xbox Original version and thus could be misremembering details or correctly remembering errors that are now correctly missing.

That's all I got, I plan on playing more and finishing it tomorrow. If these kinds of reports are useful, great! If it's way beyond the scope of the project or perhaps a little too nitty-gritty, that's cool too. Just trying to be helpful in the small ways I can :)

Badore90 commented 4 years ago

sh2pc_DC_new.zip Simply play the game like normal, doing a full playthrough, and take notes of any times it might crash while playing normally. This is the "emoose" DC binary, which is different than the DC binary we used to provide on the install guide. The one we used to provide had noted stability issues (causing random crashes). This new one should be more stable, and a full run or two of the game would be very helpful for us with testing, to see how often (if any) this one may crash the game.

I joined the tests. The new DC exe seems good, I've not been able to make the game to crash a single time (I played some spots when with the old DC exe the game used to crash 9 times out of 10). So far it's even more stable than the USA exe for me (some freezes happened to me with the USA one). I'm playing the DC version of the game obviously.

After the water drains after the first RPT boss encounter, I could leave the room from where I came (previously locked during the fight) and come back in the room to cause the boss music to continue. After descending the stairs, the music fades out but will fade back in if I again ascend the stairs. Weird.

This happens on all versions (og Ps2/Xbox), are we 100% sure it's a bug?? …Probable, but I'd leave it as it is ;)

Be careful about slowdowns/out of sync on FMV/in engine cut-scenes, most times the PC is the reson. I see you have a powerful PC, however to be sure you should try the problematic scenes with Re-Shade disabled (f12 or fn+f12 with some keyboards. Or just press Home and uncheck the 4 options). Check if the issue remain the same.

Polymega commented 4 years ago

Thanks you two!

I'll try and go over all your notes, so I'm going to copy + paste some things I write to save time so please don't take it the wrong way:

Minor stutter in the outside town portions. I'm supposing it's just loading, maybe just my machine?

More than likely. Try disabling ReShade by setting d3d8to9 = 0 in the d3d8.ini file. Even though your PC specs are great, ReShade can possibly act a little funny with certain graphics cards. My 7+ year old PC runs the game great (even with ReShade), but I've heard people with beefy GPUs such as the GTX 1080s have some stuttering when ReShade comes into the equation.

A single frame appears incorrectly after the initial cutscene with Angela in the cemetery where the camera is pointing towards the building on the left. Seems to be a slow adjustment of the camera before resetting behind James.

This is normal (albeit buggy) behavior and happens on all versions of the game. It's bugged me too for many years. Perhaps once we get all other things taken care of for the project we can go back and see if we can prevent that flicker.

Two minor floating textures.

We chatted about this a little before, but this is how the devs arranged multi-layered poly planes, where the top-most polys use transparent textures. They have to "float" out from the other plane a bit, otherwise the game engine would visually render them glitchy-looking. Same happens for the street markings, too. This is normal, intended behavior that I wouldn't worry about.

Animation bug: James' mouth keeps moving long past finishing his sentence, "I'd better take it anyway. I might need it." Not sure if anything can really be done.

This is normal behavior and happens on all versions of the game. As you said, lip syncing has never been great for this game. We can't do anything in regards to adjusting character animations in cutscenes, unfortunately.

Textures overlapping/jittering on brick wall/building.

This is normal (albeit buggy) behavior and happens on all versions of the game. This is an example of what happens when two overlaying polys are too close to each other, and one uses an alpha texture. This is why the devs made the polys "float" out a bit from one another (although they seemed to have forgotten to do this with some polys).

I'm going to go ahead and say we probably won't be adjusting these. There's far too many instances of this or the "floating" poly issue to realistically address them all. All our time/resources would be spent on this which would take away from more important fixes.

In the stairwells of Woodside Apartments, with the flashlight off, Jame's shadow will jump to different perspectives wildly in the corners of the upper floors.

This is normal behavior and happens on all versions of the game. The shadow logic in general isn't that great for this game.

If you examine an item in the inventory in Angela's mirror room immediately after the scene ends, the music will change into the more aggressive hallway(?) music after leaving the inventory.

After the water drains after the first RPT boss encounter, I could leave the room from where I came (previously locked during the fight) and come back in the room to cause the boss music to continue. After descending the stairs, the music fades out but will fade back in if I again ascend the stairs. Weird.

This is normal behavior and happens on all versions of the game. Worth mentioning: That YouTuber who did a comparison of a very old version of our project vs. PCSX2 did a terrible job at properly play testing both versions. "Issues" he said were unique only to our project also happen on PCSX2 (and typically all versions of the game). His video is incredibly biased, vitriol against our work, and his earlier comments to others in his video are downright mean. Be careful using his video as any sort of point-of-reference, as it's clear he has an agenda.

Stray "invisible pixels" on the transparent wiring seen immediately when James leaves Blue Creek. It looks like it's only occurring outside the original 4:3 viewing area.

This is normal behavior and happens on all versions of the game. It goes back to alpha textures on poly planes being too close to one another. Also, going back to that YouTuber, this issue absolutely affects the PCSX2 version, too.

Very difficult to trigger the text in front of Laura's wall drawings. I believe this has been addressed already.

This affects all versions of the game but we will have it fixed in the next update of our project. Bigmanjapan adjusted the collision of this wall to restore the hit detection for that text prompt.

[GRAMMAR]

Great! I'll look into these tips/suggestions! All of what you shared sounds good and reasonable. Thanks!

James does not have specularity on his eyes in most scenes still. Has this been implemented yet?

Not yet. Restored specularity is still on the to-do list.

More of a wish than a bug, would be really cool to add a reflection underneath James in the flooded Blue Creek hallways similar to the mirror room or opening bathroom. Don't know if that's possible

Unfortunately we probably can't do that. Same goes for a reflection in the well. For many of the fixes, we're at the mercy of what's already there in the code. For example: We could restore the post-processing effects because the code for them to happen/trigger is still there in the PC game. The effects were just toned way down, so we were able to restore them since the code already existed for it.

After picking up the Apartment Stairwell Key, there's a letter underneath it that seems it would be readable but I'm not sure. Is this normal behavior? With the Laura wall text being so hard to trigger, I'm being rather scrupulous with these things.

It's normal behavior and also... :) https://twitter.com/WhereAllBegins/status/1097253714191110144


The new DC exe seems good, I've not been able to make the game to crash a single time (I played some spots when with the old DC exe the game used to crash 9 times out of 10). So far it's even more stable than the USA exe for me (some freezes happened to me with the USA one).

Great!! Happy to hear it's working well so far!

This happens on all versions (og Ps2/Xbox), are we 100% sure it's a bug?? …Probable, but I'd leave it as it is ;)

I'm not sure if it's a legit bug or something the devs intended. Either way, it happens across all versions. And again: I wouldn't hold that YouTube comparison video on the web to a high standard.

Badore90 commented 4 years ago

I wouldn't hold that YouTube comparison video on the web to a high standard.

I saw that video long time ago, I checked it again recently. Yes, is not fair They should update it.

Polymega commented 4 years ago

@GlitchyReal I've implemented the text changes for next release.

elishacloud commented 4 years ago

A single frame appears incorrectly after the initial cutscene with Angela in the cemetery where the camera is pointing towards the building on the left.

It looks like the issue here is that the game resets James' position (which is supposed to be done only after the cutscene end) but does not trigger the end of the cutscene until the next frame. So for a single frame it is using the non-cutscene position for James while using the cutscene camera angle. Anyways, I added a fix to skip that frame and not draw it.

Here is the test build: d3d8.zip

Polymega commented 4 years ago

Anyways, I added a fix to skip that frame and not draw it.

Very cool!! I just tried out the cutscene but I still see that bugged frame. To be sure: This is for cutscene 0x03. I'm not sure if the glitched frame happens on the last frame of the cutscene or the first frame after the cutscene, but I believe it's the latter.

Edit: It's the frame after the cutscene. I did some quick tests and it seems the fog-of-war boundaries (plus other fog-type effects, probably) are dynamically being changed as the cutscene plays out. On cutscene end (whether it ends on its own or the player ends it prematurely), these parameters are restored back to default. But for that one frame, we see all these effects "snapping" back to their default values.

elishacloud commented 4 years ago

Very cool!! I just tried out the cutscene but I still see that bugged frame. To be sure: This is for cutscene 0x03.

Interesting. It seemed to work for me. Yes, 0x03 is the cutscene that I was testing.

It's the frame after the cutscene. I did some quick tests and it seems the fog-of-war boundaries (plus other fog-type effects, probably) are dynamically being changed as the cutscene plays out.

I think it may be both the frame before and after. This update skips both frames, the last frame in the cutscene and the first frame after the cutscene.

If you still see issues with this build please send me your log file.

Testing build: d3d8.zip

Polymega commented 4 years ago

Hmm... I still get it. Here's what it looks like for me. I slowed the game down through Cheat Engine to record this: https://youtu.be/AUY0BRh-FCE

vlcsnap-2019-10-04-10h42m19s440

Here is my log:

7724 10:37:55.866 Starting Silent Hill 2 Enhancements! v1.3.1417.0
7724 10:37:55.866 ASUSTeK COMPUTER INC. MAXIMUS V GENE Rev 1.xx (Desktop)
7724 10:37:55.866 "NVIDIA GeForce GTX 670"
7724 10:37:55.866 Windows 7 64-bit (6.1.7601) Service Pack 1
7724 10:37:55.866 "sh2pc.exe" (PID:7240)
7724 10:37:55.866 Game binary version: v1.0
7724 10:37:55.882 Running from: "C:\Program Files (x86)\KONAMI\Silent Hill 2\sh2pc.exe"
7724 10:37:55.882 Config file: "C:\Program Files (x86)\KONAMI\Silent Hill 2\d3d8.ini"
7724 10:37:55.882 Loading as dll: "d3d8.dll"
7724 10:37:55.882 Wrapper created for "d3d8.dll"
7724 10:37:55.960 Hooking the FileSystem APIs...
7724 10:37:56.039 Hooking the CreateProcess APIs...
7724 10:37:56.039 CD patch already set!
7724 10:37:56.039 Patching binary...
7724 10:37:56.039 Finding SFX file locations...
7724 10:37:57.142 Updating SFX memory address locations...
7724 10:37:57.142 Allocating memory buffer for sddata.bin file...
7724 10:37:57.142 Setting 2TB hard disk Fix...
7724 10:37:57.142 Setting PS2 Style Noise Filter...
7724 10:37:57.142 Increasing the Draw Distance...
7724 10:37:57.142 Setting Cemetery Lighting Fix...
7724 10:37:57.142 Setting Rowboat Animation Fix...
7724 10:37:57.161 Updating the Catacomb Meat Cold Rooms color...
7724 10:37:57.161 Updating Fog Parameters...
7724 10:37:57.161 Setting Piston Position Fix...
7724 10:37:57.161 Setting Hotel Room 312 Shadow Flicker Fix...
7724 10:37:57.161 Hiding Red Cross health indicator during cutscenes...
7724 10:37:57.161 Enabling PS2 Flashlight Fix...
7724 10:37:57.161 Fixing behavior of Lying Figures that are hiding under vehicles...
7724 10:37:57.161 Add fix to prevent chainsaw from spawning on first playthrough...
7724 10:37:57.161 Enabling XInput Vibration Fix...
7724 10:37:57.343 Enabling Custom Fonts...
7724 10:37:57.375 Enabling Custom Exe Strings...
7724 10:37:57.375 Enabling Main Menu title selection by language...
7724 10:37:57.375 Enabling post Processing Special FX...
7724 10:37:57.377 Loading the "Nemesis2000 Fog Fix" module...
7724 10:37:57.828 Loading the "WidescreenFixesPack and sh2proxy" module...
7724 10:37:58.077 Loading the "modupdater" module...
7724 10:37:58.137 Silent Hill 2 Enhancements module loaded!
7724 10:37:58.345 Starting D3d8to9 v1.9.2.0
7724 10:37:58.345 Redirecting 'Direct3DCreate8' to --> 'Direct3DCreate9' (220)
7724 10:37:59.236 Enabling Resolution Lock...
7724 10:37:59.833 Setting Hotel Water Fix...
7724 10:37:59.833 Setting RPT Apartment Closet Cutscene Fix...
7724 10:37:59.833 Setting RPT Hospital Elevator Animation Fix...
7724 10:37:59.833 Fixing Esc while transition is active...
7724 10:37:59.833 Setting infinite rumble window hook...
7724 10:37:59.833 Enabling Lighting Transition Fix...
7724 10:37:59.833 Enabling Load Game Fix...
7724 10:37:59.833 Enabling Blood Size Fix...
2912 10:38:03.267 Setting SingleCoreAffinity...
7724 10:38:04.805 GetDiskSpace Available disk space smaller than 2TBs: 339709800
AeroWidescreen commented 4 years ago

It seems to be working for me.

3252 09:59:08.289 Starting Silent Hill 2 Enhancements! v1.3.1417.0
3252 09:59:08.290 "Radeon RX 580 Series"
3252 09:59:08.291 Windows 10 64-bit (10.0.18362) 
3252 09:59:08.291 "sh2pc.exe" (PID:10200)
3252 09:59:08.291 Game binary version: v1.0
elishacloud commented 4 years ago

@Polymega, I can see from the log file that it's not actually skipping the frame for you. Please try this one and post the log file. This one just does extra logging: d3d8.zip

Polymega commented 4 years ago

I tried it on my laptop this time and still got it. Log file attached: d3d8.log

elishacloud commented 4 years ago

I tried it on my laptop this time and still got it.

Yes, that was just a logging build, it did not have the fix. It looks like the camera position is different for you. The update below should fix the issue.

Here is the test build: d3d8.zip

Polymega commented 4 years ago

Nice! That fixed it.

It looks like the camera position is different for you.

Yeah, I probably should've mentioned that I was ending the cutscene prematurely and at different times (different camera angles) for the testing, in case you had the camera position hard-coded for the fix.

Since you're amazing and can fix this, may I ask you to add some other cutscenes to this fix for testing? They all experience similar issues of the fog-type settings "snapping" back to their default values after cutscene ends:

0x15 (First time meeting Maria Part 1) 0x16 (First time meeting Maria Part 2) 0x4C (James entering the rowboat) 0x4D (James rowing up to Lakeview Hotel)

To anyone else: For some of the above cutscenes, the one frame environmental glitch won't happen unless you end the cutscene early.

Edit: In summary, this only seems to happen for outdoor (daytime fog) cutscenes, and only when the fog-type values change as the cutscene plays out. When the cutscene ends, we see a single frame where these values are being shifted back to their default states.

elishacloud commented 4 years ago

Nice! That fixed it.

Ok, great. No just need a name for the option and a description.

I probably should've mentioned that I was ending the cutscene prematurely and at different times (different camera angles) for the testing, in case you had the camera position hard-coded for the fix.

Oh, I did not even know the issue would happen if you ended the cutscene early. I always played out the whole scene in my testing.

Since you're amazing and can fix this, may I ask you to add some other cutscenes to this fix for testing?

I can always try. I probably will need some help finding all these locations in the game.

elishacloud commented 4 years ago

Alternatively, if you can play each of these cutscenes using the logging build and send me the logs it may have all the data I need.

Polymega commented 4 years ago

Now just need a name for the option and a description.

Integrated as part of RemoveEffectsFlicker or new as... RemoveEnvironmentFlicker? ; Removes flicker from incorrect environment settings that happen after certain cutscenes.

Oh, I did not even know the issue would happen if you ended the cutscene early. I always played out the whole scene in my testing.

Sorry!


I can always try. I probably will need some help finding all these locations in the game.

Save folder: Folder 01.zip

Load the save file "Quick Save." Walk forward a little bit to initiate 0x15 and 0x16. The following will be one long string of cutscenes in this order:

  1. FMV (technically part of 0x15)
  2. 0x15
  3. FMV (technically part of 0x15)
  4. 0x16

If a player ends any of the cutscenes above at any point, the chain of remaining cutscenes will be broken and you go back into gameplay. But both 0x15 and 0x16 experience the one frame visual glitch if you end them at any point when returning back to gameplay.



Alternatively, if you can play each of these cutscenes using the logging build and send me the logs it may have all the data I need.

Yes sir, can do:

Polymega commented 4 years ago

Actually, just for 0x16, it looks like it does this one frame environmental glitch for a frame after every camera cut as the cutscene plays out as well. I guess they change fog parameters for every cut in 0x16.

Badore90 commented 4 years ago

I managed to make the game to freeze using the new DC exe at one of the usual spots :( Btw it may be just my PC, as i said the game crashed some times with the USA exe too.

elishacloud commented 4 years ago

Ok, try this one. I tried to make it generic. A few comments:

  1. I made it skip 2 frames each time because in some locations the fog does not completely come back after just 1 frame skip. Skipping 3 frames would be better since even after 2 frames some of the fog is not 100% back. However, skipping 3 frames caused a noticeable delay so I reduced it to just 2 frames. Enough of the fog comes back after 2 frames it should be ok.
  2. Anytime these custscenes switch camera positions I skip 2 frames. I don't think 0x16 is the only cutscene with this issue. If you record other cutscenes and slow down frame-by-frame you can see that the fog is not fully restored in other cutscenes after switching camera angles.
  3. I reused the RemoveEffectsFlicker option for this but changed the description.
  4. This frame skipping only affects the 5 cutscene from this thread.

Edited: Updated the build. Here's the new build: d3d8.zip

Polymega commented 4 years ago

Thanks Elisha! I just tested the new build before your update from a few minutes ago. May I ask what changed between them? It may alter my notes on this below:

The changes looks great! I tested the five cutscenes and found only two instances where a particular camera cut could benefit from one additional frame pause. Please check out this video: https://youtu.be/HL756WOEhjg

In it, I show the extra frame from the camera cut that looks bad. Then afterwards, I splice in an extra paused frame to hide the bad frame and play it a few times to show how it'd look. (Playback is choppy for me in After Effects as the software is resource intensive for my PC.) Anyway, in the video, this is for a camera cut in 0x16 (Maria Part 2) and 0x4D (exiting rowboat).

Granted, and as you've stated, every frame pause we add risks the momentary pause being more noticeable, so it's a balance act. In the video above, the momentary fog delay in returning for 0x4D (rowboat) isn't that bad, but I think the fog delay in returning for 0x16 (Maria) is possibly bad enough to warrant the extra frame pause. Thoughts?

Lastly, in that video, after the very first cutscene of the game ends we see James' reflection model teleport into position. This happens in exactly two frames. Could a frame pause for two frames also be added for the end of cutscene 0x01?

Update: Fixed lots of typos.

elishacloud commented 4 years ago

May I ask what changed between them?

Both builds should work the same. I just rewrote the code to reduce duplication and get it ready for production. I didn't intend for you to retest it. I just posted it in case you had not started the testing yet.

I show the extra frame from the camera cut that looks bad. Then afterwards, I splice in an extra paused frame to hide the bad frame and play it a few times to show how it'd look.

Yes, what makes this worse is that the first few frames of a new scene seem to take the longest anyways. If we combine them into one frame it exacerbates the issue. But there is some time saved by not actually drawing the frame...

I think the fog delay in returning for 0x16 (Maria) is possibly bad enough to warrant the extra frame pause. Thoughts?

Sure. Let me try to make it 3 frame skipping instead of 2 and see what that looks like.

Could a frame pause for two frames also be added for the end of cutscene 0x01?

Yes. I added cutsceene 0x01.

Here is the new test build, with 3 frame skipping and cutsceene 0x01 added: d3d8.zip

Edit: What program are you using for recording and playback? I tried Fraps and Windows 10 Game bar, but both seem pretty crude and don't work well for frame-by-frame comparison.

Polymega commented 4 years ago

Thank you again.

I feel like I'm confusing myself now. As it looks like the fix is pausing/holding the bad frames we're trying to hide? Although I swear it wasn't doing that before but maybe it always has? https://youtu.be/TYlbyJfKX6U

But the Angela cemetery cutscene seems fine still, even if I end it early at different spots.

And we probably need to drop 0x01 as it doesn't seem to be behaving well with this script. If you end the cutscene early (while the in-game depth-of-field effect is still super blurry) it creates visual oddities. https://youtu.be/cZU_Guhx2DI

For the new three-frame pause, let me sleep on this and come back to play testing later as I'm a bit tired at the moment (and my eyes are getting blurry!).

What program are you using for recording and playback?

OBS! It's free and very good. It's meant for streamers but you can still record traditional videos. Go into the settings for it and you can assign hotkeys for when to start/stop recording, along with bitrates, framerates, video format, etc. (So you'd want to record at 30 FPS if playing the game in 30, obviously.)

Edit: For playback in regards to frame-by-frame analysis, I used Adobe After Effects. Although it brings my PC to a slow mess due to my computer's age/specs. Regular playback I usually use VLC Player.

elishacloud commented 4 years ago

I feel like I'm confusing myself now. As it looks like the fix is pausing/holding the bad frames we're trying to hide? Although I swear it wasn't doing that before but maybe it always has?

It is possible that the last frame in the cutscene needs to be skipped.

But the Angela cemetery cutscene seems fine still, even if I end it early at different spots.

Yes, for this one I skip the last frame in the cutscene. I can distinguish this frame because the game moves James' location one frame before ending the scene.

For the other cutscenes, I don't have a good way of telling which frame is the last frame in the cutscene. Tomorrow I will see if I can find a way to display some data (like the cutscene ID and camera position) in each frame so we can get a better idea of what is happening.

GlitchyReal commented 4 years ago

Woah, a lot's happened in the past two/three days! Great progress on the cutscene frame flicker so far.

Work was killer for me the past couple of days so I haven't finished my playthrough quite yet. I'm just starting in on the Prison after spending a few hours double-checking everything in the night version of the town. (I used to casually speedrun at sub 1:20 so subsequent playtests won't be nearly this long!) I also hope to get as many endings as possible in one run. I think, Leave, In Water, UFO, Dog, and Rebirth can all be set up before the Hotel's Room 312. Maria can be on my second, faster run.

More than likely. Try disabling ReShade by setting d3d8to9 = 0 in the d3d8.ini file. Even though your PC specs are great, ReShade can possibly act a little funny with certain graphics cards. My 7+ year old PC runs the game great (even with ReShade), but I've heard people with beefy GPUs such as the GTX 1080s have some stuttering when ReShade comes into the equation.

I thought as much. My old GT 640 ran it beautifully at an absolutely solid 30fps at 720p. Now running this 2001 game at 1080p on the GTX 1660 Ti probably isn't agreeing with it. I did disable ReShade via the F12 hotkey and that didn't solve the issue. I'll try disabling it via the .ini next play session. (I also just realized I have a new driver available for my card that may influence the results.)

We chatted about this a little before, but this is how the devs arranged multi-layered poly planes, where the top-most polys use transparent textures. They have to "float" out from the other plane a bit, otherwise the game engine would visually render them glitchy-looking. Same happens for the street markings, too. This is normal, intended behavior that I wouldn't worry about.

Ah, yes, I remember. Same issue then. No problem. These two textures just stood out to me particularly like it wasn't so I thought I'd mention it.

This is normal behavior and happens on all versions of the game.

Thanks for clarifying these things and putting up with my inexperience :P I'll remember these things for future issues of a similar nature.

Worth mentioning: That YouTuber who did a comparison of a very old version of our project vs. PCSX2 did a terrible job at properly play testing both versions.

Oh, I know. I got in a low-key heated debate with this guy over the quality of the EE version versus the PCSX2 version. I tried to keep in mind the things he had a legitimate point about and playtested it myself to replicate the issue and bring it to you guys' attention if it wasn't already, while also mostly ignoring the clear bias towards the PCSX2 version he has.

It's normal behavior and also... :) https://twitter.com/WhereAllBegins/status/1097253714191110144

Neato! Every time I play this game I learn or find just one more little thing new about it :D

The new DC exe seems good

So far, I can agree. No problems at all. I still have the Prison onwards and the 'Born from a Wish' scenario to really test. I'm not aware of any specific problem spots from earlier versions so I've been just doing everything I can think of that a normal player might try. (So, no speedrunner "hacks" like the bug room skip or whatever else people do.)

[MORE GRAMMAR] Just a handful this time but worth considering, I think. Lots of absent commas.

[MORE MISC. OBSERVATIONS] Just little things I noticed that may or may not be a bug or undesired function. Or else me just dreaming of my personal ideal version that might not even be possible, who knows? :P

Here's hoping I make it out of the Labyrinth alive. I've been playing this game since probably 2003 or so and that place still gets to me to this very day.

Keep up the excellent work, guys!

Polymega commented 4 years ago

Tomorrow I will see if I can find a way to display some data (like the cutscene ID and camera position) in each frame so we can get a better idea of what is happening.

Thank you Elisha. Sorry if I confused you (I definitely confused myself last night!) with this testing. I'll put this on standby for any revised logging functionality.


[MORE GRAMMAR]

Great catches again! I'll get to changing these. Although one thing worth discussing:

Trick or Treat! subtitles: "Hi[,] there everybody!" .... "But[,] if you're wrong!"

Grammatically, the comma after 'but' is right (and also 'hi'?), but the way the radio announcer says these lines there's no pause. He says both lines in a rapid motion. I don't think a comma is used then, if following the flow of his speech pattern?

In the Nightmare Hospital Room C2, the glass shattering sound effect plays twice in one visit and reliably once on repeated visits. Should this only play once? (I know the squealing in the basement also functions similarly to this and has been talked about before. Not sure if that was resolved.)

For the glass shatter it should already be on a loop (for all versions of the game). If you hang out in the room long enough it should repeat. I'm not 100% sure on this, but, I think you may have to kill the nurse in the room first before the glass SFX will start.

In regards to the pig squeal: We hit a brick wall with that. We learned it actually is still looping in the PC version but, after the first squeal, the audio gets turned down to almost nothing. If you listen really hard enough, you can still faintly hear the squeal looping. We're not sure what's going on with that SFX...

A small wish: Can we have an option to substitute the PC cursor (Angela's knife) with the elevator/keypad/puzzle cursor?

Haha, this is funny. Aero_ and I have been working behind the scenes to make a new cursor last month. Just like you, I think using an important key item in the game (the knife) as a mouse cursor is super-hokey and something you'd see in late 90's web design.

We went through several design iterations for a new mouse cursor. Ultimately, after working alongside and getting valuable feedback from Aero_, we settled on this cursor:

sh2pc 2019-10-05 12-39-49

Why? Because SH3 and SH4 PC also use this design as their main mouse cursor. So this will keep it consistent across all three PC games now.

I often accidentally skip observational dialogue by moving after triggering it. This is especially irksome when the first examination has unique text. Can we set a "dead-zone" of sorts, such as a time limit of half a second or so, where the dialogue will not be skipped instantly but reasonably maintains the option to resume movement if desired?

I'm not sure if that'd be possible. If anyone else on the team reading this thinks it might be, please chime in. But for the time being, assume it may not be possible to do.

There seems to be a very faint transparent red box around the red hand-drawn map markings. An issue with the transparency or the texture file itself?

Correct! The alpha channel for an image works as followed: All white = 100% opaque. All black = 100% transparent. If it's any level of gray it'll be a certain level of transparent. In the texture files, the map marking's "backgrounds" for their alpha channels aren't true black, hence that slight red box you see around them.

We won't be addressing that for the vanilla map files as they'll be fixed for our Fullscreen Image Enhancement project (upscaled images). Example of our alpha channel for some map markings.

At night, the gate leading to the alleyway where Heaven's Night backdoor says that the 'lock is broken' while hanging ajar. Perhaps the dialogue string could be swapped for the 'Nothing left for me to do here...' such as when attempting to return to Blue Creek, and disable the sound effect?

I looked into this a year or two ago. The "lock is broken" text for this particular door is being pulled from the common_msg_*.mes file. Meaning, if you change it for this door, it'll affect all other broken lock doors in the game.

As you mentioned, chances are a custom script would need to be made for this door to have it display a different message. Perhaps just pulling a different text string from a door that James would comment on saying there's no point in returning. The only catch there is the new door text would already need to exist in common_msg_*.mes or stage_town_west_msg_*.mes, as I believe not every .mes file is loaded into memory while in certain areas.

I'll look into this more soon and report back with any new info I find.

Thanks again!

elishacloud commented 4 years ago

Sorry if I confused you (I definitely confused myself last night!) with this testing. I'll put this on standby for any revised logging functionality.

Unfortunately, its going to take me a bit longer to build an overlay and show the data on screen than I initially thought. I still want to add this feature, but in the meantime I had an idea last night that I tried out this morning. I slightly changed the way it skip frames, hopefully to make it smoother. I also added James' position as a trigger to skip frames. Try the one below. It looks a lot better to me.

Test module: d3d8.zip

Polymega commented 4 years ago

@belek666 GlitchyReal has a good suggestion for an improvement to the game: Is it possible to disable the sound effect and change the text string pulled when interacting with this gate at night? This is the gate you go through to get to Heaven's Night (behind the bowling alley):

sh2pc 2019-10-05 14-36-51

This door is blocked at night to prevent the player from going in a loop during the nighttime town segment. The problem is that this door is clearly opened, so James' remarks about the lock being broken makes no sense.

Within stage_town_west_msg_*.mes there is a string of text that reads:

There's nothing more to do here. Guess I'll go back to looking for Mary.

This line is used when trying to re-enter Blue Creek Apartments, after leaving them to go into Town West.

Can we make interacting with this gate at night also use this string of text (and is it also possible to disable the "locked gate" SFX, too?).


@elishacloud This new build is really good! I've ran the cutscenes in question through their paces and it works very well. Even 0x01 looks great now! Great work!!

Notes on my play test:

elishacloud commented 4 years ago

There's still a flicker upon returning to gameplay if you cancel 0x15 or 0x16 early

Yeah, the issue here is that I need to skip the last frame of the cutscene. However, I found a way to figure out which frame is the last frame in the cutscene. This should work no matter when you end the cutsceen.

Different frame timing would be required if played in 60 FPS to alleviate/hide the flickering (most noticeable to me on 0x15 and 0x16).

I just made some changes. This update should remove the flickering on both 30 and 60 FPS. I tested this on all 6 of the cutscenes and it looks good to me. This also fixes the transition between different camera positions in all of the cutscenes.

Test module: d3d8.zip

belek666 commented 4 years ago

@belek666 GlitchyReal has a good suggestion for an improvement to the game: Is it possible to disable the sound effect and change the text string pulled when interacting with this gate at night? This is the gate you go through to get to Heaven's Night (behind the bowling alley):

sh2pc 2019-10-05 14-36-51

This door is blocked at night to prevent the player from going in a loop during the nighttime town segment. The problem is that this door is clearly opened, so James' remarks about the lock being broken makes no sense.

Within stage_town_west_msg_*.mes there is a string of text that reads:

There's nothing more to do here. Guess I'll go back to looking for Mary.

This line is used when trying to re-enter Blue Creek Apartments, after leaving them to go into Town West.

Can we make interacting with this gate at night also use this string of text (and is it also possible to disable the "locked gate" SFX, too?).

I will try :) Could you send me a save file for that place?

Polymega commented 4 years ago

@belek666

I will try :) Could you send me a save file for that place?

Thank you! Here is a save folder (make a backup of your's first): Folder 01.zip

At the bottom of the save list, the save file named Town West (0:36) will take you to this problem gate.

Also, at the bottom of this list, the save file named Town West (0:18) will take you to the Blue Creek Apartment door that contains the "There's nothing more to do here. Guess I'll go back to looking for Mary." text.


Thank you, @elishacloud! Please give me a little more time with this; I'm wanting to go through the six cutscenes a few times using different variables (resolutions, noise filter on/off, FPS, etc) and am taking my time a bit with them. I'll report back soon.

Polymega commented 4 years ago

Hi Elisha,

Thanks for being patient with me on this test. From yesterday and today, I played these six cutscenes dozens of times to get a good feel for the fix. The biggest thing I kept in mind while watching them is weighing whether a frame pause is the better solution for a particular camera cut or not.

After sleeping on it yesterday and coming back to it today, I think having the fix being applied to every camera cut may be too much. For cutscenes such as the Angela Cemetery or meeting Maria, the amount of camera cuts that happen during these scenes make the frame pauses rather noticeable. This is compounded when using the noise filter (as it creates motion all over the screen).

The biggest benefit of this fix would be to have it applied at the end of these cutscenes (whether it ends on its own or the player ends it early), when normal gameplay is returned, as that's the most noticeable environmental flicker problem for them. When done at the end, the frame pause is very subtle and a non-concern.

The exception to this would be also applying the fix to select camera cuts within certain cutscenes (the camera cuts with the worst/most noticeable environment flickers). I went through a mental checklist of all the other cutscenes in the game and I feel confident in saying these cutscenes we're addressing here-and-now are the only ones that would need any attention to them as we're doing.

My recommendations and requests for the fix:

Can the following be changed for the fix in regards to the cutscenes:

The give-and-pull for the above was deciding if an environment being adjusted during a camera cut was more or less noticeable than a frame pause.

Also, after play testing these in 60 FPS I've re-familiarized myself with the numerous issues the game has if played in this framerate. Can the word "NOTE:" be added to FPSLimit's description in the INI file? So it'd read as:

; Controls the game's overall framerate limit. *NOTE: It is recommended to keep the FPS at 30.* There are noted audio/visual issues if this value is changed.

The intent here is to further drive home the point that you really shouldn't play this game in anything other than 30 FPS.

Thank you sir

elishacloud commented 4 years ago

The biggest thing I kept in mind while watching them is weighing whether a frame pause is the better solution for a particular camera cut or not.

Yeah, that is probably because the last couple of updates skipped 4 frames everytime. However, only 1 frame skip is probably need most of the time. Only the end of cutscene 0x01 and 0x4D really need 4 frames skipped.

I think having the fix being applied to every camera cut may be too much.

Ok, no problem. That is pretty easy to change.

For cutscenes such as the Angela Cemetery or meeting Maria, the amount of camera cuts that happen during these scenes make the frame pauses rather noticeable.

Yeah, this whole cutscene probably only needs 1 frame skipped, and that is at the end.

May this fix become it's own, dedicated fix after all?

Yes, I will make this it's own fix.

Can the following be changed for the fix in regards to the cutscenes:

Yes, let me work on this. I will try and remove both the flickering and the pauses.

Can the word "NOTE:" be added to FPSLimit's description in the INI file?

Yes, I will add the note.

elishacloud commented 4 years ago

@Polymega, this build should do all the things from this comment. I think you will like this build better.

I spent a bit more time to make sure that I only skipped frames that are needed. There is a different check for each cutscene ending and for each camera position change so that I can skip the least number of frames possible in each case while still accomplishing what we want.

Note: I did all my testing on 30 FPS, since that is the one we want to support most. It is easy enough to change the number of frames we skip later, if needed.

Test build: d3d8.zip

Polymega commented 4 years ago

Hi Elisha,

Thank you! I spent my sweet time with this fix again, playing them over and over.

I think you will like this build better.

Absolutely! This is practically perfect now. You've done an incredible job! My last suggestion is to remove the frame pause from this camera cut in 0x16:

https://youtu.be/0MxnyiPhCNg

It's the final camera cut before cutscene end.

Why? Because we use an even bigger frame pause for the camera cut before this one (and in that camera cut the environment glitch is super-bad, so the frame pause is much needed there). But having a frame pause happen in two camera cuts in a row makes the pauses a little too obvious (since they happen in succession).

For the camera cut linked in the YouTube video above, I think the slight environment glitch is less noticeable than the pause--and that's only because of the bigger (and needed) pause for the camera cut right before this one.

That's all I have left for notes! Incredible work with this!

elishacloud commented 4 years ago

My last suggestion is to remove the frame pause from this camera cut in 0x16:

No problem. Try this one. It just fixes the one cutscene.

Test build: d3d8.zip

Polymega commented 4 years ago

Looks great, Elisha! Thank you!

elishacloud commented 4 years ago

Great! Will be in next update. c0cf8eb5f863de568c45964355578c4a62cd76ba

belek666 commented 4 years ago

@belek666

I will try :) Could you send me a save file for that place?

Thank you! Here is a save folder (make a backup of your's first): Folder 01.zip

At the bottom of the save list, the save file named Town West (0:36) will take you to this problem gate.

Also, at the bottom of this list, the save file named Town West (0:18) will take you to the Blue Creek Apartment door that contains the "There's nothing more to do here. Guess I'll go back to looking for Mary." text.

Thanks. Release.zip

New option: FixTownWestGateEvent = 1 I'm not sure about fix description.

Polymega commented 4 years ago

Nice work here, Belek! I tried to break the fix and... I couldn't break it. :) Well done!

I'm not sure about fix description.

Maybe?

; Changes James' commentary about the back alley Heaven's Night gate at night to properly reflect the gate's status.

GlitchyReal commented 4 years ago

Okay, okay... after a crazy IRL week, I got my playthrough done and dusted... mostly. Still gotta do Born from a Wish and, ideally, all the endings.

@Polymega

Grammatically, the comma after 'but' is right (and also 'hi'?), but the way the radio announcer says these lines there's no pause. He says both lines in a rapid motion. I don't think a comma is used then, if following the flow of his speech pattern?

Ah, whoops, you are indeed correct! There does not need to be a comma after 'but'.

I would argue there should still be one after 'Hi' as it's considered a salutation and should usually be followed by a comma before the addressees. Thinking more about it, "Hi there[,] everybody," would work better, I think, as "Hi there," is the salutation while "everybody" is the addressee. The announcer also uses similar patterns while talking that didn't bother me, soooooo. . . (I'm definitely in nit-picky territory here. I concede.)

We went through several design iterations for a new mouse cursor. Ultimately, after working alongside and getting valuable feedback from Aero_, we settled on this cursor:

Awesome, exactly what I was looking for. Glad to know I wasn't the only one that old cursor bothered!

New option: FixTownWestGateEvent = 1 I'm not sure about fix description.

@belek666 I haven't gotten a chance to test it yet, but, wow, fast turn around on that fix! Awesome work.

Okay, back to business. Got a few bugs. One of them very literal.

[BUGS]

But, like. . . What...?

[EVEN MORE GRAMMAR!]

[CRASH! :O] I actually did manage to break the game. It happened while I was running around lost exploring the Lakeview Hotel while running in and out of doors while popping into and out of the map quickly. The game froze on the map here (rather fortunate). I didn't do extensive testing, but I did try to get it to crash again and couldn't.

This occurred shortly after the sequence of leaving your items on the shelf and taking the elevator, and after I had retrieved them again.

crash 1

And, yes, this is using the newer binary @Polymega gave me at the top of this thread, not the public build.

Well [comma] then [comma] everybody [comma, comma] thanks for tuning in. See you again sometime. Bye-bye!

Polymega commented 4 years ago

I killed the Prisoner monster in the northern hallway with the handgun, as normal. However, instead of remaining an invisible entity, it dropped a Creeper/bug corpse.

This seems intentional by the devs; you'd have to go out of your way to program that... and it's something I never realized before. Cool! I still learn new things about this game and that's awesome. :)

In the bloody hallway prior to Eddie's boss fight, the fog effects look particularly square-y. Is this just how fog works and we gotta deal with it?

Unfortunately, yes. There are some areas in the game where the fog looks better/worse than other areas. Same is even true for the PS2 version.

After Eddie is killed, his gun seems to stand upright in his hand instead of lying at his side.

This is an issue that affects all versions of the game. I, too, would like to see that gun laying down on its side after the cutscene ends. Maybe one day?

The problem file is \data\chr\item\i_colt.mdl. If you can open this model file of the Colt and rotate it 90 degrees it'd fix the problem. Here I swap out the model to confirm it's the problem:

sh2pc 2019-10-14 19-49-44

I can ask for FrozenFish's help on this after shadow work is done.

After the final boss fight with both RPTs, you can exit the room from the way you came (the 3x3 red square save) and return to the room to restart the boss music before it cuts away after a second or two. This behavior doesn't happen when leaving and returning through either of the egg doors.

I cross-checked the PS2 version. What is happening here is that the ambient music for the 3x3 red square room is fading away when you enter the 2x PH boss room. So that's not the start of the boss fight music you're hearing, but instead the previous ambient track fading away, which is normal behavior.

In the Rebirth ending, there is some glowing effect happening to James' feet and Mary's corpse when hidden behind the boat.

Hmm... I didn't see anything unusual for this. Can you take a screencap of this issue?

[EVEN MORE GRAMMAR!]

Great! Thanks! I'll get these added for the next release.

I actually did manage to break the game. It happened while I was running around lost exploring the Lakeview Hotel while running in and out of doors while popping into and out of the map quickly.

If both you and Badore90 only experienced a single crash in your play tests I'm going to say it's a marked improvement from the old DC executable we told people to use. We'll still encourage people to us the NA executable (with the custom main menu fonts), but it's good to know this DC executable seems to be more stable than the other DC one.

Thanks a ton for doing this slow and thorough play test for us!

Polymega commented 4 years ago

I killed the Prisoner monster in the northern hallway with the handgun, as normal. However, instead of remaining an invisible entity, it dropped a Creeper/bug corpse.

Thinking about this more, that cockroach is the prison monster. I'm willing to bet Team Silent used the cockroach for the prison monster's weapon aim/weapon hit detection.

I'm like 90% certain that's the case. No point in making a new monster and giving it its hit detection/HP if you're never really supposed to see it.

GlitchyReal commented 4 years ago

This seems intentional by the devs; you'd have to go out of your way to program that... and it's something I never realized before. Cool! I still learn new things about this game and that's awesome. :) Thinking about this more, that cockroach is the prison monster. I'm willing to bet Team Silent used the cockroach for the prison monster's weapon aim/weapon hit detection.

I'm like 90% certain that's the case. No point in making a new monster and giving it its hit detection/HP if you're never really supposed to see it.

That makes total sense to me. And, really, even at 1080p with no noise effect, it's still hard to see since it blends in with the ground so well. And me too, every dang time I play this game, I find something new :D

This is an issue that affects all versions of the game. I, too, would like to see that gun laying down on its side after the cutscene ends. Maybe one day?

The problem file is \data\chr\item\i_colt.mdl. If you can open this model file of the Colt and rotate it 90 degrees it'd fix the problem. Here I swap out the model to confirm it's the problem:

If I may, I'll try poking it with Blender. If it's a simple 90 degree turn and a exporting it to a compatible .mdl file, I might be able to pull it off. Worth a shot.

[re: Rebirth glow issue] Hmm... I didn't see anything unusual for this. Can you take a screencap of this issue?

Ya know, I thought I did but got too caught up in spellchecking the subtitles and just enjoying the game. Here ya go :P

sh2pc 2019-10-14 17-01-33

Great! Thanks! I'll get these added for the next release. If I may make a selfish request. . . could a I get a small credit for the English translation grammar edits, even if just in the Special Thanks? I don't need it but it'd be super cool if I could :D :D :D (Though, I'd say I'm far from finished playtesting, regardless.)

If both you and Badore90 only experienced a single crash in your play tests I'm going to say it's a marked improvement from the old DC executable we told people to use.

Awesome! I'm gonna run through the game on Puzzle Normal, Hard, and Extra and get all the endings using this binary still (for grammar checks primarily). I'll also play on the corresponding combat difficulty just in case some Beginner-locked functions (like running into a wall) triggers a crash. I'll let you know if, where, and when it crashes again.

Thanks a ton for doing this slow and thorough play test for us!

You're welcome! I'm still going though. If you have other files to test, send 'em my way.

Polymega commented 4 years ago

If I may, I'll try poking it with Blender. If it's a simple 90 degree turn and a exporting it to a compatible .mdl file, I might be able to pull it off. Worth a shot.

FrozenFish has a script to export/import the models for .map files. I don't know if the same works for the game's .mdl files. I tried using available .mdl viewers found elsewhere online, but the way the data is saved is different/incompatible with these .mdl viewers.

I wish you luck in this process! I've personally hit a dead-end too many times with this type of work, myself.

Ya know, I thought I did but got too caught up in spellchecking the subtitles and just enjoying the game. Here ya go :P

Those are the metal rings on the side of the boat, and not a glow. There's two rings on each side. :)

(for grammar checks primarily)

Here's updated .mes files after applying your notes. Place in \Silent Hill 2\sh2e\etc\message\: http://www.igotaletter.com/temp/sh2pc/2019-10-14_message.zip

I didn't put a comma for Eddie's boss dialogue as he says, "Well maybe he was right," in a very rapid motion like the radio announcer in the Hospital elevator.

If I may make a selfish request. . . could a I get a small credit for the English translation grammar edits, even if just in the Special Thanks?

I was already planning on adding you in the Special Thanks part of the PC Credits video for the next update. :) But yes, I'm happy to do that. What name would you like to be credited as? I want to slightly rework the install guide sometime in the future to include a Special Thanks section there, too.

GlitchyReal commented 4 years ago

I'm using the Silent Hill 2 Model Extractor tool to get at Eddie's gun (i_colt.mld), just to see if moving it is possible. I've been able to extract it and open it as an .obj file in Blender, made the rotational changes, but I don't know how to recompile them back into a .mdl format that SH2 will recognize.

Does anyone know how to do this?

Polymega commented 4 years ago

@GlitchyReal My theory was true (read YouTube video description): https://youtu.be/O9fMbVrlWqM

Badore90 commented 4 years ago

Do you think this is a lighting bug, or should we take it as a eye-contrast-adaptation simulation??

https://www.youtube.com/watch?v=qwrfiUbhoQ8

Polymega commented 4 years ago

This is normal shadow logic/behavior with how it reacts to the flashlight. You can replicate that behavior on the PS2 and Xbox versions, too. It's a limitation or oversight with how the shadows were programmed to react/behave.

This isn't anything we're going to worry about, simply because this type of behavior is prevalent throughout the entire game and is considered "normal."