Skip to content
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

FF7: allow filtering of internal textures that were originally filtered. #764

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

zaphod77
Copy link
Contributor

@zaphod77 zaphod77 commented Dec 11, 2024

Summary

This restores the missing filtering from all the 3d models when using the internal textures.

Motivation

This restores a missing feature that ffnx removes. FFNX was refusing to filter any internal textures. Now it only refuses to filter the ones that aren't safe to filter, as far as I know.

I'm aware this code is ugly and needs gardening, but i've tested it extensively (checked all the minigames), and it now appears to be at the point that it manages to replicate the look of the unmodded PC version when using the original assets.

ACKs

  • I have updated the Changelog.md file
  • I did test my code on FF7
  • I did test my code on FF8 (does nothing to ff8)

Closes #754 , in my opinion.

Copy link
Owner

@julianxhokaxhiu julianxhokaxhiu left a comment

Choose a reason for hiding this comment

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

Thanks for coming up with PR. I'm not really sure what are we fixing here, if this is just your preference, or we assume that what the Steam release did is the right one. In the meantime we unpack this, please look at the comments I left which we need to work nevertheless on top.

Overall I'm not really a fan of adding flags, or better only if needed, so I'm trying to understand what are we really trying to bring up here and which would be the best way to bring it to players.

Nevertheless, thanks for working on this, looking forward to it :)

## FF7

- Core: added option to filter what the original game filtered when still using internal textures.

Copy link
Owner

Choose a reason for hiding this comment

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

Please put this section in the right order after the Next. See other PR examples.

if (current_state.texture_set && (mode == MODE_COASTER) && !(VREF(texture_set, ogl.external))) // only ff7 has coaster minigame.
{
current_state.texture_filter = false; // don't filter original coaster textures
}
Copy link
Owner

Choose a reason for hiding this comment

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

For both conditions even though we know it's only for ff7, I'd appreciate if we could add !ff8 nevertheless in the condition check. Additionally, please avoid over commenting ( stuff like // only ff7 has a submarine mode. is literally noise while looking at the code ), as well as // don't filter original ... textures,, just add notes of what it breaks in case it is set to true. No need to state the obvious :)

if (!_strnicmp(VREF(tex_header, file.pc_name), "menu/btl_win_c_", strlen("menu/btl_win_c_") - 1) && VREF(texture_set, palette_index) == 0) current_state.texture_filter = false;

// don't filter original menu textures in ff7, because it introduces glitches
if ((VREF(texture_set, ogl.external)))
Copy link
Owner

Choose a reason for hiding this comment

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

Maybe do the opposite check so you avoid having this huge empty block of nothing?

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.

[ FF7 ] Add options to filter internal textures like the other PC releases.
2 participants