ikemen-engine / Ikemen-GO

An open-source fighting game engine that supports MUGEN resources.
https://ikemen-engine.github.io
Other
728 stars 126 forks source link

Suggestion: BGPalFX and ALLPalFX and foreground elements issue #989

Closed VinVulpis closed 1 year ago

VinVulpis commented 1 year ago

Discussed in https://github.com/ikemen-engine/Ikemen-GO/discussions/988

Originally posted by **VinVulpis** December 14, 2021 So, I use blended foreground layers in my stages to "tint" the lighting of the stage, to make things darker or brighter with a color to simulate whatever the color of the light is onto the characters. I noticed that in IkemenGo, the state controllers that change the palfx or color fo the stage, also effect the foreground. So characters that make the stage go black or another solid color, blacks out the whole screen because of my foreground. I'd suggest making it not effect the foreground by default ) like MUGEN and maybe add in a feature for doing that? At the very least, if the object's alpha/blend could be preserved, that's be good too.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= I'm dropping this back here as suggested since I was told that it WASNT fixed after my communication error was cleared up. I'll also supply the videos I posted in the discussion to better showcase the issue I'm having.

This here is in MUGEN 1.1b (Mirrored because I need to reset how OBS captures mugen) https://user-images.githubusercontent.com/66293146/218392959-323fec3c-d9fa-4c95-bae8-6d9894ce3ad5.mp4

Here is the same attack in IKEMENGO .98 (was told it's still an issue in .99) https://user-images.githubusercontent.com/66293146/218393071-d1c3f847-ca57-44d3-8fa3-0a143fe4287e.mp4 The characters get completely hidden. The issue seems to be routed in BGPALFX STCTRL. It's causing my foreground stage element (my color tinting overlay) to black out. In Mugen, BGPALFX doesn't effect any stage foreground layers as far as I'm aware.

I noticed anytime that stctrl is used, my stages have this happen, so I've avoided using it too much myself, since IKEMEN is my primary engine now. I think this clear everything up from the last thread.

K4thos commented 1 year ago

to reproduce: Boardwalk and zero.zip D,F,D,F Kick. Screen goes black.

potsmugen commented 1 year ago

In Mugen the foreground is also affected by BGPalFX. It's a big issue when there's a foreground element with a tint effect and someone inverts the stage colors. A parameter to make it not affect the foreground sounds good, but in most stages you'd want the BGPalFX to affect the foreground as well.

So with that said this bug might be something else at work. I can't test right now but I noticed that Zero is using EnvColor for that move, with an under parameter of "-1", which doesn't exist. I suppose Mugen treats that -1 as "not zero" and Ikemen treats it as "not 1" if that makes sense.

EDIT: I was thinking about it, and rather than giving that option to BGPalFX, it'd maybe be more useful to have a parameter on stage elements to make them not be affected by any PalFX.

VinVulpis commented 1 year ago

Yeah, EnvColor is used at the state of each super for the pause, that leave the foreground unaffected. It's specifically the BGPalFX that seems to hit it. I never had this issue in Mugen1.1, as shown in the videos. I do use BGPalFX for a fade, but I haven't noticed the difference quite like characters that black the BG out with it.

potsmugen commented 1 year ago

Turns out the under parameter is working properly despite being written wrong by Zero's author. So the issue here I think is that EnvColor is changing the foreground color instead of just disabling it like Mugen.

potsmugen commented 1 year ago

I was testing this a bit more and it turns out that it's not an issue with EnvColor, but actually the same issue as #1088 (the char is using both a black EnvColor and a black BGPalFX). Likewise, I think the layer 1 addalpha is being applied before the all black BGPalFX.