-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some blending doesn't look good #2053
Comments
I still question what we are doing with the palettes. Can you add the BAMs in your screenshots to the issue so it's easier to investigate? The reason my first suspicion is palette related, is because prior to ea4c25f we used to get a similar bad look for projectiles. See 21c16d0 for additional context. |
If it's not a palette issue, then my next guess would be using a different blend mode as you suggest. Projectiles use a two bits to determine which mode to use so we may need to follow that same logic: Lines 73 to 76 in 8c6fd7a
the corresponding blend modes from the comments should be one we have defined here: Lines 48 to 54 in 8c6fd7a
I'm not sure that I actually implemented them all on the backend tho. |
I doubt a bit these two are from projectiles — one is clearly a casting glow (so VVC/BAM in fx_casting_glow). |
I know they aren't projectiles, I'm speculating that they ought to behave in a similar fashion in regards to blending. I'm also pointing out that we used to do things incorrectly with projectiles with their palettes/blending and perhaps we were doing the same type of thing here. In general, I'm skeptical of the type of palette manipulation I removed in 21c16d0 and I doubt it was the only place we were doing it. since those have a white instead of black background, |
They're transparent (green), I guess the white is from screenshoting (and the second one is actually CONJUCG.BAM). |
No, these need special blending. It's the only way to achieve a gradient blend in the original engine and it's clear from the screenshot that there is no gradient. It should be easy to test. If it's a VVC, just force we do have this hack that might need to be tweaked/resolved, but maybe that hack is actually what makes this work with BAMs with a regular color key such as these: gemrb/gemrb/plugins/SDLVideo/SDLVideo.cpp Lines 350 to 356 in 8b5d2c4
|
Maybe it's not relevant, since IWD2 doesn't seem to use VVCs, but I do see that the |
That resref is unset in all games I have, so I'd sooner rule the mask as unused. Why reserve space for one if you don't actually provide any files for it? And why would you need it if it was constructed at runtime. |
If it were used by anything hardcoded there would still likely be a BAM with the alpha information. Finding it might be a pain since it would be invisible in NI, but I would have suspected a similar name to the BAM its an alpha for. I don't disagree that it's likely unused, features get axed or have alternatives developed without cleaning up the garbage all the time. But it also wasn't uncommon in that era to embed data files within binaries for speed. Don't we already deal with instances of that? For now it doesn't matter. The obvious first thing to try is the blending. I see that |
Let's also figure out which |
It's for actual shadows, a special case like the transparency index before it. Off the top of my head it's important for avatar animations and inventory items. |
Bug description
While fixing and looking at #2050 more closely, I found that our blending doesn't look as good as in the originals, maybe not the same blend mode? For the character animations it's the
AA_BLEND
flag at play, the spell is probably analogue.Steps to reproduce
Expected behavior
See below.
Screenshots
GemRB
Native
GemRB version (check as many as you know apply)
Video Driver (check as many as you know apply)
OPENGL_BACKEND
enabledOPENGL_BACKEND
enabledThe text was updated successfully, but these errors were encountered: