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

[Suggestion] Heretic: Translucency Option #1250

Open
Noseey opened this issue Dec 25, 2024 · 2 comments
Open

[Suggestion] Heretic: Translucency Option #1250

Noseey opened this issue Dec 25, 2024 · 2 comments

Comments

@Noseey
Copy link

Noseey commented Dec 25, 2024

I have worked on bringing the Translucency Option from Doom over to Heretic.

Unlike Doom, the Weapon Flashes in Heretic are not stored as separate assets, but are unfortunately part of the weapon-sprite itself. I used the similarity of the idle weapon-sprite to the firing one (the only difference is typically the added flash) and did draw a idle base-frame and the translucent fire-frame on top of it, as a workaround.

Drawing the idle-frame as a basis required some predefined y-offsets, which I have stored in a separate struct in info.c. Additionally, since the transparent weapon flashes would not work with non-vanilla weapon sprites, I decided to make this optional. Items are not transparent in the current solution, as I found them hard to see and it would further bloat the options.

Here a demonstration of the translucent weapons:
https://www.youtube.com/watch?v=X20VvtRnGbY

Here the prepared solution:
master...Noseey:crispy-doom:Heretic_Translucency_Option#diff-f951adbb75384493abb51d7870e983dfb4a19588b29275b4119d047683d1b3d3L3520

Let me know if there is interest in this feature and if any further improvements can be seen. Thanks!

@fabiangreffrath
Copy link
Owner

Thank you very much for bringing this up!

Some remarks:

  • I don't like how the gauntlets (weapon 1 replacement) become translucent.
  • I don't think the "metal spheres" that weapon 7 fires becoming translucent makes any sense.
  • What exactly does the MF_MISCMISSILE flag mean?
  • The spriteoffsetenum_t is entirely rendering related. Could you please move it a bit closer to where it is actually needed, probably even into src/heretic/p_inter.c itself?

And, yes, please turn this into a PR, so we can discuss the changes further. 😉

@Noseey
Copy link
Author

Noseey commented Dec 30, 2024

And, yes, please turn this into a PR, so we can discuss the changes further. 😉

Great! I have created the PR and already addressed the first and last point you had. As for weapon 7, it is translucent because of the translucency for projectiles was also active (I selected "both"), so it is not tied to the translucency of the weapon flash itself. Regarding the flag: I added a review comment in the PR, it may be possible to remove it later on.

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

No branches or pull requests

2 participants