Closed SimplyLiz closed 2 years ago
Have you tried higher accuracy in opengl? E.g.something like blending mode or accurate date?
I've tried "Accurate Date", "Hardware Deth" and Blending Unit Accuracy set to Ultra with no difference, jake still turns black.
Thanks. What about crc hack level : none vs partial vs full?
CRC None -> it's even worse. The Textures looks greenish (moldy Oo) like in DirectX. So the crc hack level seems to make it better in openGL :)
i've now tested all combinations of CRC Level / Blending accuracy (and both checkboxes accurate date / hardware depth) and jake always turns black.
8 bit textures also make no difference. Same goes for Resolution (tried native, 1x, 2x, 3x, 4x)
I've now also disable the HW Hacks (skipdraw set to 1). Still turns black.
I've prepared a savestate. Press X to leave smellovision, run forward and watch jake turn black. when you load the savestate in software mode this doesn't happen. http://workupload.com/file/wezuzcAl
I think it would help more if you create a GS dump. The devs do not necessarily have the game and savestates get invalid from time to time. So please create a gs dump.
Here you go: http://workupload.com/file/4y4qA2Pr
I've started the game, loaded the savestate, Hold Shift + F8, ran forward until jake was all black and released the button. Hope that helps!
This still happens with latest git build. Jake the dog turns black when moving the character with Direct3D11 and OpenGL hardware renderers, Direct3D9 hardware renderer turns the skin blue-green-ish and it seems to change slower than the other HW renderers. Switching to Software will not fix the issue, but not playing in hardware renderer at all will prevent it.
This issue still occurs as of 3231e7956. All versions of the game are affected: SLUS-21018, SCES-51248 and SLPM-65995. I did some investigation with SLUS-21018, and here's what I've got to share:
The visual glitch is caused by the dog gradually getting dirtier the further it travels. This is why the issue doesn't occur when the dog stands in place.
The game constantly checks the distance traveled by the dog, and once it goes over 500.0 units, the value is reset to 0, and the dog is made very slightly more dirty.
The subroutine responsible for making the dog dirtier is the one at 001f99c8
(this also handles the dog cleaning process if you go to the dog wash), while the one for checking the distance traveled is at 001f59e0
. By modifying the instructions at 001f60b0
and 001f60f8
, it is possible to alter the required distance and the amount by which the dog gets dirtier, respectively.
For example, when the distance condition is set to 1000.0, the rate at which the dog gets dirtier will be 50% of the original game. And if the instruction responsible for the incrementation is altered so that it increments by 2 rather than by 1, the dog will get dirtier in larger steps at a time. Setting it to 0 will cause the dog to never get dirty, avoiding this graphical bug altogether. Because of how useful it is, I've created this PNACH, which lets you enjoy the game with a HW renderer: patch=0,EE,001F60F8,byte,00
.
Given the above, I was able to gain control over how the dog is made dirtier, which allowed me to easily reproduce this issue with the dog standing still, which I hope will make the GS dumps I captured easier to work with and analyze.
The issue manifests itself only if a HW renderer is used while the dog gets dirtier.
A GS dump I captured with the SW renderer, where the glitch doesn't occur, can be replayed with GSdx's HW renderers and the glitch cannot be reproduced.
In the opposite case, when the dump was captured in HW mode, the glitch now will reproduce when the dump is replayed in SW mode.
I'm also including a third GS dump, captured using HW mode in 2x resolution. This has interesting effects, because you can see the textures from the ground located behind the dog, get applied to the dog itself. And once again, this dump shows the same problem if replayed in SW mode. (Update: enabling "Large Framebuffer" fixes this particular behavior)
I've also included a save state which makes it trivial to reproduce this issue. After loading the state, just move the dog a bit and that's it. Or, if you want the dog to stay in place, then just write a float greater than ~4000 to 0x20aca5b4
, 5000.0 will do. This save state has the incrementing instruction altered so that it increments by 0x100
, and the distance threshold is at around 4000, so writing 5000.0 to the memory at that address will instantly make the dog visibly dirty.
Download: https://workupload.com/file/CBTEWWG2S9M
Update: the "Preload Frame Data" hack appears to alleviate this issue somewhat, at least when you use the save state I provided, but not so much with the vanilla game.
Update: use these codes to work around this bug when using a hardware renderer:
patch=0,EE,001F60B0,short,471C
patch=0,EE,001F60B4,short,4000
patch=0,EE,001F60F8,byte,50
This will bump the distance threshold to 40000.0, and the incrementation to 80, making the dog's texture updates happen 80 times less frequently, but each update will be 80x stronger than default. Only works with "Preload Frame Data", and only for native resolution. In general, it seems that each update further deteriorates the dog's texture, thus making the updates less frequent helps a lot. I think it may be a "off-by-one" type of bug somewhere in GSdx, but that's just a wild guess, as I have no idea how any of this works. I'd say that whenever the game attempts to blend the dog's textures with a "dirt" texture, some calculation goes off, and the resulting texture gets a bit more dark than what it should be. Make the updates frequent enough, and the textures would quickly become pitch black.
Thanks for patch, debug and dumps. I'll take a look when I get a moment.
@jpovixwm Could you give me a quick explanation on how to fix this issue with the vanilla game or whatever, as I'm not really sure how to use cheats or patches in PCSX2 that much.
Is MTVU disabled?
I have it disabled, yes. As if I have it enabled it seems to hang after the main cutscenes I think.
MTVU is fixed in 1.7 but it seems to be a CLUT issue from what i hear.
Okay, but all I'm trying to do is just fix the black jake issue
GSdx32-AVX2clutoffset3.zip it's a long shot but you could give this version of GSDX a try
What will that version do?
Well, that fixes some CLUT issues, so if it's a CLUT problem, it might stop him turning black. No guarantees though
Okay, I'll try it
Nope, Jake still turns black? Any way I can fix this?
Play in SW until it's fixed or mess about with patches. It's not a clut issue.
How can I use the patches? Is it a cheat code or something?
Play in SW until it's fixed or mess about with patches. It's not a clut issue.
I'm using the NTSC-U version of the game btw
This is an issue tracker, it's not really the purview of this issue to explain how the patch system works. Go ask the forums how to use it. This is for tracking the issue and for providing debugging and other information that helps debug it not for asking how to use the emulator.
Okay, sorry. Also, there is another issue that makes Jake have a stripe on his forehead for some reason. You might also want to check this issue out too.
One more issue, when loading into the game. The book turns partly black.
Thanks I'll keep it in mind. I suspect it's all related.
Yeah, this game has a lot of graphical issues, which is a shame since this is one of my favorite games and these graphical issues are pretty annoying.
Has anyone had any progress resolving this issue?
With the latest master, if you enable Preload Frame, we're nearly there, but I think the remaining issue is because preload frame is pretty janky
Edit: Here's a higher resolution screenshot
With the latest master, if you enable Preload Frame and Texture in RT, we're nearly there, but I think the remaining issue is because preload frame is pretty janky
Edit: Here's a higher resolution screenshot
That's definite an improvement, but still not perfect, but it's good to see progress nonetheless
okay, did some messing around, and the mud and Jakes body texture are fine if you set blending accuracy to "Ultra" or "minimal".
One of the hw/sw mix blends is breaking this
If anybody wants to go ahead and try #5540 it will now work there with basic blending (which is the most ideal). Of course you still need Preload Frame to solve the random black squares and the funny colours on his head, but it looks much better, I would say that's all issues resolved now (videos need SW FMV switch, annoyingly)
Still getting this issue on v1.7.2431 build
Still getting this issue on v1.7.2431 build
You need to enable Preload Frame HW Renderer hack, and not go nuts with the upscaling (this really screws with it)
@refractionpcsx2 It worked thank you and sorry if this information was in the thread and missed.
Speaking of preload frame, shouldn’t that be added as an automatic fix in gamedb?
On Fri, Mar 11, 2022 at 1:20 PM Levan7 @.***> wrote:
@refractionpcsx2 https://github.com/refractionpcsx2 It worked thank you and sorry if this information was in the thread and missed.
— Reply to this email directly, view it on GitHub https://github.com/PCSX2/pcsx2/issues/1004#issuecomment-1065367237, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIHEONVBWCDFTPITK4D2AE3U7OFF7ANCNFSM4BVLGDCQ . You are receiving this because you commented.Message ID: @.***>
When the GS HW fixes gets added, then it will be possible for the GameDB. But a lot of games will need to be reviewed.
yes, wait for #5593 to be merged
👍
On Fri, Mar 11, 2022 at 3:26 PM refractionpcsx2 @.***> wrote:
yes, wait for #5593 https://github.com/PCSX2/pcsx2/pull/5593 to be merged
— Reply to this email directly, view it on GitHub https://github.com/PCSX2/pcsx2/issues/1004#issuecomment-1065491682, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIHEONRKJDWINTENBTHPGFLU7OT7PANCNFSM4BVLGDCQ . You are receiving this because you commented.Message ID: @.***>
No news about a fix with upscaling? Texture replacement is possible for the main character?
How to fix this?
Upscaling works, though I think some scales are still problematic, not much we can do about that, just pick another one
Ok, but this is a hardware mode issue with upscaling. The dog become darker. It's not linked with the sun effect?
Do you have errors concerning this in the console?
No? As long as you don't have manual hw fixes enabled in the GS settings, it should be dealt with.
No? As long as you don't have manual hw fixes enabled in the GS settings, it should be dealt with.
Which hw fixes do you use for this game with the last version of PCSX2?
clampModes: vuClampMode: 3 # Fixes minor SPS on characters. gsHWFixes: preloadFrameData: 1 # Fixes bad textures on Jake. halfPixelOffset: 1 # Fixes double image.
I don't have the numbers but this is my captures. Is this correct?
why are you setting it manually? the gamedb does it automatically. set everything back to global (or filled for checkboxes).
All you need to change is your internal resolution to either 3 or 5.
Because I search the best configuration .. thank you for your help
Just a quick note to say the going black in Smell-o-vision seems to be fixed with #7267
Just a quick note to say the going black in Smell-o-vision seems to be fixed with #7267
Hey, thank you, this fix is in the last main branch ? Everything is fixed?
I think so, yep!
It's possible certain upscales might still make it explode, I don't know, I didn't test that, but other than that, it should be fine!
Latest rev from today (1.3.1 - 1487)
Just start a new game and walk around for a fews seconds, Jake get's all black, a lot of texture bugs on him.
Btw, he also has a "colored stripe" on his head. This happens right from the beginning. This seems not to be related to the "getting black" issue.
Happens in both OpenGL and DirectX. (though directx has a lot more texture issues.) Doesn't happen in Software Mode though.