Skip to content

Conversation

@joeyhodge
Copy link

@joeyhodge joeyhodge commented Nov 18, 2025

I split this up into a separate PRs. See #390
for more screenshots/details. This specific PR changes the invert_alpha from a boolean 1/0 to a float value instead. To accomplish this, I updated the compiled alpha_luminance_sprite_ps_SpritePixelShader.inc and alpha_luminance_sprite_ps.fx to accept float alpha values from the UI. Finally, it handles the config/updates it if someone is using profile with boolean invert_alpha. it will change to float and save it in the profile for next time.

This fixes games such as Persona 3's UI AHUD bespoke blend, as well as fixes Professional Baseball Spirits UI from being completely missing/clamped due to the alpha restrictions, which was my main reason for opening #377

if you require access to make edits let me know and I am happy to collaborate on this to make it better coded

@joeyhodge
Copy link
Author

joeyhodge commented Nov 18, 2025

tested with latest commit that fixed mafia and it works great. can move slider for alpha in imgui to make UI more transparent and float the blend instead of being binary.
if you require access to make edits let me know and I am happy to collaborate on this to make it better coded, as I am C.S.L. (C++ as a second language). This fixes at least two games UI so far when tested and possibly more.
I cleaned up the verbosity below a0337d3

}

const auto& get_framework_intersect_state() const {
return m_intersect_state;
Copy link
Author

@joeyhodge joeyhodge Nov 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
return m_intersect_state;
return m_framework_intersect_state;

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

return m_intersect_state; exposes the general overlay hit-test results, while return m_framework_intersect_state; would expose the framework UI’s hit-test results.

OverlayComponent seems to keep two IntersectState members: m_intersect_state (general UI overlay) and m_framework_intersect_state (framework/UI overlay).

get_intersect_state() returns the general overlay’s state via m_intersect_state. If get_framework_intersect_state() also returns m_intersect_state, so both getters expose the same data and the framework-specific state is never accessible through that accessor.

Changing get_framework_intersect_state() to return m_framework_intersect_state; would let callers read the framework UI’s intersection results, which are populated separately when the framework UI is being drawn

@joeyhodge joeyhodge reopened this Nov 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant