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
595 stars 42 forks source link

Various environment adjustments/improvements #49

Closed Polymega closed 5 years ago

Polymega commented 6 years ago

hp37.map

This will be released with v1.0.3 of the "Enhanced Edition Essential Files" (not yet published)

This one has always bugged me as there is UV/texture stretching along the top of this room's ceiling. And the coloring at the very top of the ceiling is not solid black (may only be noticeable to you if you're using an LCD monitor). This is a problem because the ending cutscene in this room looks directly up at the sides of the ceiling:

Before:

image

This has now been fixed by editing the texture files within the hp37.map file and will be included in the next release of the Enhanced Edition Essential Files (planned to be included in release 1.0.3).

After:

image

Some other shots:

Before:

image

After:

image

Additionally, there were a few 3D assets that weren't at the correct levels compared to everything else in this room. Namely, their black levels weren't strong enough so I tweaked those as well, since I was already messing around in this file anyway:

Before:

image

After:

image

Polymega commented 6 years ago

ob01.cam Adjustment

@Bigmanjapan may I ask you to adjust another .cam file for 16:9 usage? This happens if you stand around this area and use the Search button while looking up.

image

Bigmanjapan commented 6 years ago

@Polymega

ob01.zip

Polymega commented 6 years ago

ob01.map

This will be released with v1.0.3 of the "Enhanced Edition Essential Files" (not yet published)

Okay, this will surely be a touchy one for some so I'm going to explain the changes in great detail for this.


Before I begin, I'll say if you wish to NOT use this adjustment simply remove ob01.map from the \KONAMI\Silent Hill 2\sh2e\bg\ob\ folder.


One thing I'm sure any veteran fan of this game has noticed over the decade is the poorly-seamed together Toluca Lake image at the beginning of the game:

pcsx2

image

While most of these oversights are never actually seen in-game there are a few of these problem spots that are very evident while playing:

image

So I decided to clean up this image for a more polished presentation:

Before:

pcsx2

After:

pcsx2_new

A couple things worth noting:

The Toluca Lake image you see is based off a real life location. Specifically: Derwent Water in Keswisk, England:

image

So when creating this new image I only used actual photos of Derwent Water found here: https://stock.adobe.com/images/derwent-water-from-castlehead-viewpoint/163063267 https://stock.adobe.com/images/derwent-water-from-castlehead-viewpoint/163063113 https://stock.adobe.com/images/view-from-surprise-view-near-derwentwater/108640606 https://upload.wikimedia.org/wikipedia/commons/e/eb/Derwent_Water%2C_Keswick_-_June_2009.jpg https://upload.wikimedia.org/wikipedia/commons/d/d0/Derwent_Water_Panorama%2C_Lake_District_-_June_2009.jpg

The next thing to note is the bottom of the image: You pretty much never see any of this in the game. In fact, here's a visual breakdown of what you actually see of this texture while playing; the red regions are what you'd see in-game:

pcsx2_1

...and so this is all you'd see in the new image as well:

pcsx2_new_1

Because of this, I didn't worry much about how the bottom portion looked. I honestly didn't need to design anything down there but decided to make it look consistent with the rest of the image. In summary: Don't fret over the bottom part as you'll never see it while playing.

Here are some in-game screen shots:

Before:

sh2pc 2018-09-29 00-55-38

After:

sh2pc 2018-09-29 19-27-51

Before:

sh2pc 2018-09-29 00-55-40

After:

sh2pc 2018-09-29 19-27-53

Before:

sh2pc 2018-09-29 00-55-57

After:

sh2pc 2018-09-29 19-28-12

Before:

sh2pc 2018-09-29 00-56-08

After:

sh2pc 2018-09-29 19-28-26

Before:

sh2pc 2018-09-29 00-56-37

After:

sh2pc 2018-09-29 19-29-25

After (In-game Panorama)

image


And again: If you wish to NOT use this adjustment simply remove ob01.map from the \KONAMI\Silent Hill 2\sh2e\bg\ob\ folder.

Polymega commented 6 years ago

ps97.map

@Bigmanjapan would you know what causes a portion of the wall to disappear/not render in this room? Below is a snapshot of the cutscene:

sh2pc 2018-09-30 15-52-48

If you look behind Angela the left side of the wall simply isn't there. But if we look at this room in the Level Viewer we can see that part of the wall does indeed exist:

image

Any clue what the cause of this might be?

Polymega commented 6 years ago

ap84.map

@Bigmanjapan another question: Is it possible to detect when a camera angle has switched within a cutscene and can we then initiate code (once it detects the camera change) for the remainder of the cutscene (until it ends)?

Here's what I'm trying to fix:

image

This one cannot be fixed through texture editing because the floor is composed of many UV squares, so I cannot brush a black fade effect onto the texture. Because if I make a tile black for one area, it will also be black in an incorrect area as well:

sh2pc 2018-09-30 16-27-04

I did find a solution, however. And this involves modifying addresses:

Description Address Type Original Value New Value
Fog Cover-up Front Line 00942C34 Float 8000 2500
Fog Cover-up Back Line 00942C30 Float 12000 2600

It will then look like this:

image

sh2pc-2018-09-30-15-23-41

The problem is we cannot initiate these value changes for the whole cutscene, because it will ruin the visuals for the cutscene earlier on:

https://youtu.be/ozgrLLbCTgQ

So we must initiate it once the camera has changed to this view:

https://youtu.be/Lm3oglNm5YA

^ Once the camera switches to that view we can leave these addresses active for the remainder of the cutscene. We would then release these values once the cutscene ends.

SiarMortal commented 6 years ago

I understand that this is a very nitpicky things to nitpick, but I noticed that your take on Toluca panorama is a little more vibrant. Also, in the original, there is a distinct (albeit ugly) separation between land and an island on the left, while in your version it kinda blurs together by the trees. (not gonna lie, I would prefer if you'd just fixed obvious errors of original, instead of remaking the whole thing)

Polymega commented 6 years ago

No worries at all. If you wish to not use this adjustment simply remove ob01.map from the \KONAMI\Silent Hill 2\sh2e\bg\ob\ folder if you download v1.0.3 of the Enhanced Edition Essential Files. (Not yet published.)

MilkManEX commented 6 years ago

You can make the colors look more true to the originals by dropping vibrancy in photoshop by ~18.

46252502-62861580-c437-11e8-9926-1077ac023f0f

Bigmanjapan commented 6 years ago

@Polymega

Regarding ps97.map. The texture is loaded fully (https://youtu.be/Es5QJJ9wAlA) but there is a crotch in form of a black wall which is coloured only on one side (https://youtu.be/RPCJR0IxzHM). Probably done to hide the red tube that would be visible from that camera angle when camera shows Angela leaving the room. I might try to disable this black wall to see if that's true.

Regarding ap84.map. It surely is possible to identify the moment of the camera angle switch but the easier solution might be to find a frames counter of the cutscene. I will look into it a bit later.

Polymega commented 6 years ago

there is a crotch in form of a black wall which is coloured only on one side

Interesting. This was added in for the PC version (and maybe also the Xbox version?): https://youtu.be/nH-cbmXymdw?t=3h23m23s

Edit: It's also on the Xbox version so this is an oversight Team Silent tried to fix when they ported the game to the Xbox version: https://youtu.be/orrtK9GdThc?t=2h17m50s

The black wall also isn't textured through an image file so I can't adjust it that way, either.

Regarding ap84.map. It surely is possible to identify the moment of the camera angle switch but the easier solution might be to find a frames counter of the cutscene. I will look into it a bit later.

Thank you, sir.

Bigmanjapan commented 6 years ago

Regarding ap84.map. It surely is possible to identify the moment of the camera angle switch but the easier solution might be to find a frames counter of the cutscene. I will look into it a bit later.

Frame cutscene counter is not a unified value like it is in SH3, so I suggest using other method.

sh2pc.exe+1B7A7C4 (01F7A7C4) 4 byte — cutscene index

Angela's mirror cutscene index value is 18 (decimal).

sh2pc.exe+54E064 (0094E064) float - Angela's mirror cutscene camera X coordinate ancor point (changes with each new camera angle change)

The camera X coordinate ancor point value you would want is 59354.36328 (decimal) / 5D DA 67 47 (formatted hex). The value is not repeated throughout the cutscene, so there should be no false triggers.

Make a function that will change fog parameters when those two conditions are met (cutscene index and camera ancor point value).

Polymega commented 6 years ago

@AeroWidescreen in reference to Bigmanjapan's post directly above. Address/value information is found here. Thank you for any help with this. I don't believe the values get reset upon cutscene's end if we change them so they'd need to go back to 8,000 and 12,000 afterwards.

Polymega commented 6 years ago

ps97.map

This will be released with v1.0.3 of the "Enhanced Edition Essential Files" (not yet published)

I could paint a fake shadow-like effect on the wall that'll blend seamlessly with the black box. This may be the easiest/best solution, because either:

  1. Leave as-is (and it will look like part of the wall is missing because of the harsh line the black box makes)
  2. Remove the black-box (then you will see the red tube and piston moving where you shouldn't)
  3. Paint a black fade effect to blend the black box (see image below) and make it look like the door opening is casting light onto the back wall to the right (behind Angela)

Update: I painted the fade effect as it was the most practical method of making the harsh edge from the black box look better.

image

AeroWidescreen commented 6 years ago

@Polymega

In reference to Bigmanjapan's post directly above. Address/value information is found here. Thank you for any help with this. I don't believe the values get reset upon cutscene's end if we change them so they'd need to go back to 8,000 and 12,000 afterwards.

Sounds straightforward. I'll give it a try today.

AeroWidescreen commented 6 years ago

@Polymega Try this: https://mega.nz/#!lbw13a4Y!_YSkF4Du2FTyYLQFj8BTEuJfmpPGdK91TLcZg9c6bWA

@Bigmanjapan

The camera X coordinate ancor point value you would want is 59354.36328 (decimal) / 5D DA 67 47 (formatted hex). The value is not repeated throughout the cutscene, so there should be no false triggers.

I think you got the value wrong here. The value I had to use was 59776.9. The other value was for a different camera angle. I don't know, maybe we need both of them. I'll let Polymega be the judge of that.

Edit: Never mind, read below.

Polymega commented 6 years ago

Thanks, Aero! Some notes:

I think you got the value wrong here. The value I had to use was 59776.9.

Bigmanjapan's camera value is the correct one: It should activate at 59354.36328 whereas it's currently changing at 59776.9.

Also, the fog values are reverting back to the default numbers before the cutscene ends (when camera X decimal changes to 60165.47266).

The new fog values we use, once activated, should stay active until the cutscene ends (its index ID is no longer called). Once the cutscene index ID is gone, we then revert the fog values back to normal.

Once the cutscene index ID is gone, we then revert the fog values back to normal.

This should also cover our bases if someone presses Esc to cancel the cutscene after the new fog values were called in.

Polymega commented 6 years ago

To clarify: The screenshots I used above are just one angle that the new fog values fix. The first instance of the camera switching to show the floor abruptly ending is at 59354.36328 though. The majority of the remaining camera switches will keep showing that part of the floor until the cutscene ends. So once we activate the new fog values at 59354.36328 we just keep them active until the cutscene then ends.

AeroWidescreen commented 6 years ago

I see, my fault then. Try this: https://mega.nz/#!se40ySZL!DfHIPnSpalw2sEY-fDUjnDPRj_MF41mmKl6Cl8JQ0JY

Polymega commented 6 years ago

No worries, and that's the ticket!! Everything worked without a hitch, even when I cancelled the cutscene early after the fog values changed. Well done, Aero!

Polymega commented 6 years ago

ap72.map

@Bigmanjapan the fog parameter addresses you've found have proven to come in quite handy.

@AeroWidescreen if I may suggest another edit as well: Whenever ap72.map is loaded in (unsure of unique hex identifier) can the following occur:

Description Address Type Original Value New Value
Fog Cover-up Front Line 00942C34 Float 3000 4200

This is the area in question:

image

Here's what the changes:

Before:

sh2pc 2018-10-04 18-39-49

After:

sh2pc 2018-10-04 18-39-55

Before:

sh2pc 2018-10-04 18-40-06

After:

sh2pc 2018-10-04 18-40-13

Polymega commented 6 years ago

ap80.map

This will be released with v1.0.3 of the "Enhanced Edition Essential Files" (not yet published)

Since I happened to be messing around in this area for the Angela cutscene I noticed the top/bottom rims of the second lamp shade for both light fixtures in Room 109 weren't textured. I also fixed a texture seam on the lampshades while I was at it.

Before:

sh2pc 2018-10-04 19-44-03

After:

sh2pc 2018-10-04 19-42-33

AeroWidescreen commented 6 years ago

@AeroWidescreen if I may suggest another edit as well: Whenever ap72.map is loaded in (unsure of unique hex identifier) can the following occur:

Description Address Type Original Value New Value Fog Cover-up Front Line 00942C34 Float 3000 4200

The most I can do is change it based on the fog values, but that could easily affect other parts of the game. I need something else to identify that area; I was hoping @Bigmanjapan would have something to use, but if not then I'll check when I can.

Bigmanjapan commented 6 years ago

@AeroWidescreen

sh2pc.exe+1BB7DAC (01FB7DAC) byte — room index

The room in question is 0x28.

AeroWidescreen commented 6 years ago

@Bigmanjapan Thanks! I didn't know there was a room index too. It will definitely be useful for other improvements like the code I have for the Angela cutscene. 👍

@Polymega Download

You either have to re-enter the room, load a save with you already in the room, or toggle your flashlight from off to on again. This obviously won't be a concern when the fix is implemented.

Polymega commented 6 years ago

Great timing, Aero! I just booted up my PC to play around more with the game.

You either have to re-enter the room, load a save with you already in the room, or toggle your flashlight from off to on again. This obviously won't be a concern when the fix is implemented.

Worked like a charm. :) Wonderful work once again, sir!

Thanks! I didn't know there was a room index too.

Bigmanjapan is an absolute a wealth of knowledge with these things. :)

Oh, and a heads-up, Aero: Bigmanjapan will be looking into a possible address fix for the Observation Deck, too. The two biggest areas in the game that look noticeably different than the PS2/Xbox versions are the Eddie boss rooms and the Observation Deck.

The Eddie rooms are obviously fixed up perfect now thanks to all the amazing teamwork here, but the issue with the PC's Observation Deck is that everything beyond the brick wall is too bright (namely, the Toluca Lake image and 2D trees). I was able to darken the Toluca Lake image no problem. But the trees are an entirely different story...

If you re-import the 2D tree image with SH Texture Explorer it corrupts the edges of the alpha channel. Namely, it leaves a black, "crusty" edge all along the trees. See image examples at the bottom of this post. Even if you export the 2D tree image, don't touch anything on the file, and re-import it through SH Texture Explorer it'll still leave those black crusty edges. Simply put: You cannot touch the 2D tree file otherwise it'll corrupt the alpha edges.

I spent many hours trying to prevent this from happening but there must be some sort of special way the alpha channel is saved out on this particular image that is lost whenever the SH Texture Explorer exports out the file for editing.

Beyond that, thanks to Bigmanjapan's help, I've now confirmed that the levels (brightness/contrast) for both the Toluca Lake and 2D tree images are the same on all three platforms (PS2, Xbox, and PC). This tells us that there must be something that is changing these image levels after-the-fact that the PC version isn't currently doing.

Darkened Toluca Lake image, vanilla PC trees:

sh2pc 2018-10-11 22-16-26

Darkened Toluca Lake image, darkened trees (leaves bad alpha edges):

sh2pc 2018-10-11 22-20-28

PCSX2 image (reference):

image

Darkened Toluca Lake image, pure-white tree image (notice bad alpha edges, still):

sh2pc 2018-10-13 15-31-52

SiarMortal commented 6 years ago

are you sure that pcsx2 is completely accurate in terms of graphics?

Polymega commented 6 years ago

PCSX2 is the best method to base adjustments off of as we can do pure digital-to-digital comparisons. Meaning, we can't fully trust for accurate visual representation off of a composite/component signal from an analog source (PS2).

To answer more specifically, yes, the trees are dark on the actual PS2 console as well: https://youtu.be/nH-cbmXymdw?t=408

AeroWidescreen commented 6 years ago

@SiarMortal

are you sure that pcsx2 is completely accurate in terms of graphics?

It's a fair concern. I was going to ask the same question albeit for slightly different reasons. Hardware mode can be less visually accurate than software mode from my experience, so I was wondering how reliable these comparisons were as well.

To answer more specifically, yes, the trees are dark on the actual PS2 console as well: https://youtu.be/nH-cbmXymdw?t=408

But I guess there's nothing to worry about in this case.

@Polymega

Even if you export the 2D tree image, don't touch anything on the file, and re-import it through SH Texture Explorer it'll still leave those black crusty edges. Simply put: You cannot touch the 2D tree file otherwise it'll corrupt the alpha edges.

I'm not familiar with these textures. Which ones are you changing? Maybe I can replace them manually if you send me the dds / png.

Polymega commented 6 years ago

Something to consider with the comparisons: Besides a few noticeable area differences (Eddie rooms, observation deck, etc) the PC version looks practically identical to the PCSX2 version in most areas. Same lighting, near-identical coloring, etc. Because of that, I personally feel it's a good source for reference.

You run into these types of concerns (image example below), depending on what cables you use and how you capture it, when you try and compare a lossless, digital signal (PC/PCSX2) to a lossy, analog one (PS2). With that in mind, the most safe/consistent way to compare things like coloring and light levels would be through something like PCSX2. Other's opinions will, of course, vary.

Notice differences in color and lighting levels between them all; they're not drastic, but there are differences: image

I haven't played this game fully in software mode on PCSX2 but the times I've switched between hardware/software I never noticed anything different (besides the resolution, of course):

PCSX2 OpenGL hardware:

image

PCSX2 OpenGL software:

image

PCSX2 Direct3D 9 software:

image

I'm not familiar with these textures. Which ones are you changing? Maybe I can replace them manually if you send me the dds / png.

Sure. The main file is \SILENT HILL 2\data\bg\ob\ob01.map

If you extract the files via SH Texture Explorer it's the first one on the list: image

Here's the TGA and PSD (saved as Photoshop CC 2017) of this file, with the trees darkened. The PSD simply has a solid black layer set to 35% opacity to darken the tree layer underneath: ob01.map_tex_000.zip

According to SH Texture Explorer, the image compression type for this particular file is DXT2 and, from what I can tell, the Nvidia DDS plugin will not let you save out as DXT2? Only DXT1/3/5. I've been doing a little research on this and the DXT format you choose will have an affect on the alpha channel. I'm thinking this is cause of the issue, then.

AeroWidescreen commented 6 years ago

Hmm, I don't think Texture Explorer is entirely the cause of the problem here. Apparently DXT2 and DXT3 are interchangeable, and indeed, hex editing the DXT3 into the archive does work, but the results are no different. I believe this is a technical limitation that is also present in your PCSX2 screenshot.

The only workaround I'm aware of would be to color the edge of the texture the same color as the texture itself, which I'm willing to bet is what the developers did for the PC version. As for why Texture Explorer has so much trouble with this, my guess is that it's only using the alpha channel and subtracting everything outside of that. Maybe something wrong with its conversion process. Only my guess.

Download

tree alpha

Results

results

Hex editing the texture into the .map file should be pretty simple. Save as DXT3, no mipmaps, then overwrite the .map data starting at line 0x00000070 with the .dds data starting at line 0x00000080.

Polymega commented 6 years ago

Absolutely brilliant, Aero_.

sh2pc 2018-10-14 00-14-03

I owe you a beer. I've spent hours days fiddling with this so I'm both relieved you found the solution and also frustrated with myself. You see, funny timing in that I was playing around in HxD myself and found the exact hex range for this file about an hour before you posted.

However, I stopped using the Nvidia DDS plug-in (assuming that was the issue) and moved on to using a piece of software called Compressonator. I saved the image out as DXT3 through Compressonator (after reading up more about how DXT2/3 are essentially the same via Wikipedia) and replaced the hex region in the .map file with my newly saved DDS but got the same crusty alpha edges.

It never dawned on me to duplicate the tree layer and expand/blur it out as you did. Mostly because another article said DXT2/3 uses razor-sharp alpha edges so I didn't think I'd need to do such a thing. Jeez Louise...

Many thanks again to you Aero_; another reason you're one of my heroes. @Bigmanjapan we do not need to worry about hex darkening the observation deck anymore!

Polymega commented 6 years ago

ob01.map

This will be released with v1.0.3 of the "Enhanced Edition Essential Files" (not yet published)

Thanks to @AeroWidescreen for helping with this. Toluca Lake and the trees will have their levels lowered to be closer to the same eerie brightness as the PS2 version.

PC default:

sh2pc 2018-10-14 16-31-17

PC adjusted:

sh2pc 2018-10-14 16-30-32

PCSX2:

image

AeroWidescreen commented 6 years ago

It never dawned on me to duplicate the tree layer and expand/blur it out as you did. Mostly because another article said DXT2/3 uses razor-sharp alpha edges so I didn't think I'd need to do such a thing. Jeez Louise...

Yeah, I used to spend a lot time working with textures that have transparent backgrounds, and that (black) outline is something you always have to combat when using an alpha channel. It's a shame you have to replace the texture manually though.

Are there anymore areas you need to adjust the fog cover for? The code I have right now is a little complex, so I rather get it all working together now before I post anything for Elisha.

Polymega commented 6 years ago

Thanks again for your help with solving this riddle. I was able to apply your solutions for the 3D trees' alphas in this area as well.

Are there anymore areas you need to adjust the fog cover for?

No sir, I don't believe so and nothing comes to mind.

AeroWidescreen commented 6 years ago

@elishacloud

Cheat Table (SH2 NA v1.0): https://mega.nz/#!sHwhgYia!Ju_gFEG0tTfZbPqTnlV6Fv_izepnAAnQLXhOiPlh9BU

This is for the fog adjustment during the Angela cutscene. The goal here is to have the new fog values active only after a certain point in the cutscene by checking the camera position. When this camera condition is met, the new fog values should remain active until the cutscene is over.

00479E52 jmp 00000000

00000000 cmp dword ptr [XXXXXXXX],01
00000001 je 00000005 // jumps to cutscene call if camera conditions were already met
00000002 cmp dword ptr [0094E064],4767DA5D
00000003 jne 00000012 // jumps if camera is not facing the door
00000004 mov [XXXXXXXX], 01 // writes 01 to code cave address to indicate that camera conditions have been met

// cutscene call

00000005 call 004A02B0 // moves cutscene ID to eax
00000006 cmp eax,12
00000007 jne 00000012 // jumps if not angela mirror cutscene

// goes here if all conditions were met

00000008 mov [00942C34],451C4000 // new fog front value; 2500 flt
00000009 mov [00942C30],45228000 // new fog back value; 2600 flt; 
00000010 mov eax,[00942C34]
00000011 jmp 00479E57

// goes here if all conditions weren't met

00000012 mov [XXXXXXXX], 00 // writes 00 to code cave address to indicate that camera conditions have not been met
00000013 cmp dword ptr [00942C34],451C4000
00000014 jne 00000019 // jumps if fog front value is not 2500 flt
00000015 cmp dword ptr [00942C30],45228000
00000016 jne 00000019 // jumps if fog back value is not 2600 flt
00000017 mov [00942C34],45FA0000 // restores original fog front value; 8000 flt
00000018 mov [00942C30],463B8000 // restores original fog back value; 12000 flt
00000019 mov eax,[00942C34]
00000020 jmp 00479E57

And this part is for Blue Creek Apt Room 209.

0047BE8E jmp 00000000

00000000 cmp dword ptr [01FB7DAC], 28
00000001 jne 00000004 // jumps if not Blue Creek Apt Room 209
00000002 mov [00942C34],45834000 // new fog value; 4200 flt
00000003 jmp 0047BE98

// goes here if not room 209

00000004 mov [00942C34],453B8000 // original fog value; 3000 flt
00000005 jmp 0047BE98
Polymega commented 6 years ago

er01.map

This will be released with v1.0.3 of the "Enhanced Edition Essential Files" (not yet published)

An extension, more or less, to the Observation Deck, the bathroom's levels have been adjusted to better match that of the PS2 version.

As far as I'm aware, this concludes adjusting the biggest environment differences between the PS2 build vs. PC/Xbox (being both the Catacomb meat cold rooms, observation deck, and beginning bathroom).

PC default:

sh2pc 2018-10-16 21-39-57

PC adjusted:

sh2pc 2018-10-16 21-38-43

PCSX2:

000

PC default:

sh2pc 2018-10-16 21-40-06

PC adjusted:

sh2pc 2018-10-16 21-38-57

PCSX2:

001

PC default:

sh2pc 2018-10-16 21-40-17

PC adjusted:

sh2pc 2018-10-16 21-39-05

PCSX2:

002

PS2 console comparison:

This is not a true comparable source for levels/colors due to it being an analog source but this is just to show the bathroom is dark on the PS2 as well: https://youtu.be/nH-cbmXymdw?t=303

Polymega commented 6 years ago

ps53.map

@Bigmanjapan may I ask for your help with restoring the lights in this room? https://youtu.be/KrIwV1ZN9GU

They should always be fully glowing (no other lighting addresses should influence them).

Polymega commented 6 years ago

scu.mdl

This will be released with v1.0.3 of the "Enhanced Edition Essential Files" (not yet published)

Not an environment change but clumping it in here. The Lying Figure's texture now looks like the PS2 version. When out during the day this creature looks fine. It's when you shine your flashlight on it the creature becomes very dark. This is due to a wonky alpha channel that reacts badly to the blinn (shiny) shader applied to the creature when the flashlight is on.

temp temp

Polymega commented 6 years ago

ps45.map

This will be released with v1.0.3 of the "Enhanced Edition Essential Files" (not yet published)

Here's an adjustment of something that's always bothered me, even back in 2001 during the first time I played this game as a young'un:

James jumps through many holes in the prison. And while the holes are "holes" there's one hole that isn't; when James jumps in this hole you see a dirt-like texture at the bottom during the cutscene. So instead of jumping through a "hole," he's instead phasing through dirt.

PC default:

sh2pc 2018-10-26 19-03-01

PC adjusted:

sh2pc 2018-10-26 19-02-10

Polymega commented 6 years ago

RedCrossIcon.png

This will be released with v1.0.3 of the "Enhanced Edition Essential Files" (not yet published)

Thanks to Aero's teachings with hex editing I was able to update the low health red cross icon without it eventually crashing the game.

sh2pc-2018-11-13-21-25-05

The gif took away a lot of its coloring but here's a more detailed before/after:

redcrossicon1

Polymega commented 5 years ago

ca25/27.map

This will be released with v1.0.3 of the "Enhanced Edition Essential Files" (not yet published)

While it could be easy to locate all sorts of areas such as this throughout the whole game, I only addressed this one area because it always stood out to me the most, even 10+ years ago, and I don't want to invest the time/energy to address all other similar areas throughout the rest of the game.

In any case, the harsh, harsh line that separates the walls from the ground during the beginning trek into town has been softened to make it look more natural:

sh2pc-2018-11-17-23-46-40

SiarMortal commented 5 years ago

Man, this stuff irritate me so much in games. And I always thought that SH games are the rare cases where it's addressed. But as you showed, it's not perfect either. I personally would very much like to see this stuff fixed.

Polymega commented 5 years ago

If I was a millionaire and didn't have to do an 8-5 job I'd get much more serious fixing the "littler" things like that.

Although I feel like it's worth reiterating again to all whose following this post: With the exception of the Toluca Lake image (which was so bad it was easier to remake it from scratch) I have no intention on completely redoing the textures in this game. I never want to go the HD Collection route.

Any touch ups I'd aim to do would be small tweaks or adjustments, such as color/level correcting textures, making areas darker where they should be, blending out harsh lines, or filling in parts of a model that are missing texture information (examples of which are scattered above).

Polymega commented 5 years ago

If I was a millionaire and didn't have to do an 8-5 job I'd get much more serious fixing the "littler" things like that.

I mean that as I'd rather help the team with other goals such as fixing missing lighting effects, assisting with fixing bad geometry normals, high res fullscreen image mod, etc. Those definitely take priority.

SiarMortal commented 5 years ago

How exactly did you do it? On the other side of the tunnel there's seemingly the same wall with different ground texture. How does it work?

SiarMortal commented 5 years ago

Sorry for double post, can't figure out how to attach pictures: https://i.imgur.com/W0B10PR.jpg

Polymega commented 5 years ago

I first determined what .map files I needed to edit by exploring the area with the SH Level Viewer.

After determining the .map files, I opened them in SH Texture Explorer to confirm the wall textures were there.

I then extrapolated the texture data through HxD (hex editing software) as importing/exporting through SH Texture Explorer introduces compression and artifacting.

This wall texture is used/repeated per .map file. But the texture of the wall itself may be in different locations/positions within the texture file, so each .map texture file had to be individually adjusted.

I then grabbed the dirt floor texture from the same .map files, overlaid it on top of the wall texture, used layering masks in Photoshop, and created the dirt blend for the wall.

untitled-1

I saved the images out as .dds format, grabbed the relevant hex data from HxD, and transplanted the data back into the appropriate .map files (to avoid importing/exporting with SH Texture Explorer).

On the other side of the tunnel there's seemingly the same wall with different ground texture. https://i.imgur.com/W0B10PR.jpg

In regards to your attached image: This would be another area that could be touched up but I'm personally not worried about that spot at this time because it meets with concrete; so the harsh line is more tolerable there. I personally didn't like the harsh line when it was over dirt: The nature of dirt means it wouldn't make a straight line like that and dirt tends to stain up walls anyways. So, using what limited polygons were there, I made the best out of the situation. It's not perfect, but better.

Bigmanjapan commented 5 years ago

@Polymega

Found the black wall toggle: https://youtu.be/QuJTf7D4ESs

sh2pc.exe+4F037C (008F037C) byte Change to 0 to disable the wall, to 5 to make it render partly. You can hex edit sh2pc.exe at 0x4F037C to make the change permanent.

As far as I remember red flesh wall in the back of that piston is not visible to the player during the default gameplay (and during the cutscenes of that room), so it should be OK to annihilate part of the .map file resposible for the drawing of that piston's back wall, maybe lower half of the piston's tube too.

Polymega commented 5 years ago

Found the black wall toggle:

Man... how do you find these things?!

As far as I remember red flesh wall in the back of that piston is not visible to the player during the default gameplay

One additional concern, the actual piston (the part that moves) can also be seen during this cutscene. The piston moves on a global timer so depending on when you activate the cutscene will determine if you see it when Angela opens the door or not: https://youtu.be/nH-cbmXymdw?t=3h23m23s

What do you think? Should we still try to remove the tube or leave as-is (with the "black fade" fix)?

Bigmanjapan commented 5 years ago

piston moves on a global timer

sh2pc.exe+1983574 (01D83574) float — piston's position

When the time is right during the cutscene (when the piston is not visible to a player and when a camera angle changes (used as a condition for a function)), change the piston's position to a certain value. That will render it always traveling the same way during Angela's leaving.