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

Heretic: fix hitscan/missile puffs disappearing in certain areas #1138

Merged
merged 2 commits into from
Jan 19, 2024

Conversation

JNechaevsky
Copy link
Collaborator

Barely I need to make any explanations for your code. Just a few remarks, as always:

  • This is a two-in-one fix, for both hitscan puffs wasn't able to hit floor/ceiling and projectiles were disappearing on some two sided lines.
  • There are no acv action pointers in Heretic, that's the only difference in P_LatestSafeState function.
  • You may notice a small knockback when using Phoenix Rod (local rocket launcer). This is not because of splash damage (health isn't touched), this is by design in original game mechanics.
  • Testing map: We won't be visiting that MAP15 today. Instead, we will visit E1M8 of Doom 1, recreated in Heretic as E1M1. 😮 Why? It have all necessary for testing, that's the only thing I can remember. I used this place in Doom back in ... 2017th probably, and it still can serve well here: htic_puffs.zip
  • Heretic doesn't have bullets and laser. Just a spaces instead of tabs. 🙂

Before

crispy-heretic.2024-01-18.20-21-10-250.mp4

After

crispy-heretic.2024-01-18.20-19-59-462.mp4

@fabiangreffrath
Copy link
Owner

If that little recoil push back is identical before and after the patch, then everything should be alright. I think it is, it seems to be part of the attack state sequence, not of the rocket explosion sequence.

@JNechaevsky
Copy link
Collaborator Author

Must be identical indeed, as it is not affected by this fix and not caused by splash damage at all. It's just a part A_FirePhoenixPL1 function, which is called by PSP state.

@fabiangreffrath
Copy link
Owner

Yes right.

@fabiangreffrath
Copy link
Owner

Thank you!

@JNechaevsky
Copy link
Collaborator Author

Thank you for such amazing, demo-safe code! Interestingly, hitscan puffs still may disappear or extreme long lines while shooting under certain angles, like this one:

image

But such lines are not related to this fix, and it's really not worth to investigate, as it's probably heavily related to collision/blockmap/playstate handling and will require singleplayer condition. Next on this list:

  • Take care about rejection of Save Game menu entering for Raven games. Have to agree, simple "no go there" should be enough.
  • I still have to do something about normal walls in Heretic automap. They are drawing slightly incorrect after adding support for true color mode, i.e. "starts from dark, ends with darker" logics (screenshot), while it should be "starts from dark, end with bright" (screenshot) for proper line smoothing. Line fading around the corners is also gone, but it might be not that critical. No clue what to do yet, probably shade_index have to be in reversed order for drawing such lines.

@JNechaevsky JNechaevsky merged commit 61cc35e into master Jan 19, 2024
6 checks passed
@JNechaevsky JNechaevsky deleted the htic_puffs branch January 19, 2024 07:55
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.

2 participants