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: apply brightmaps to D'Sparil teleporting frames #1135

Merged
merged 1 commit into from
Jan 9, 2024

Conversation

JNechaevsky
Copy link
Collaborator

Not very noticeable in vanilla Heretic as fighting area is pretty bright, but the missing brightmap is quite noticeable in Curse of D'Sparil. Basically, this, TELE (left) is for destination TELEFADE (right) is for source D'Sparil state:

image

Have to admit, it's pretty cool effect technically, as mobj is not immediately moving from one coord to another, but splitted to two mobjs.

Original issue: JNechaevsky/international-doom@246fd16

Copy link
Owner

@fabiangreffrath fabiangreffrath left a comment

Choose a reason for hiding this comment

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

Looks cool, thank you!

@JNechaevsky JNechaevsky merged commit 3d66f1f into master Jan 9, 2024
6 checks passed
@JNechaevsky JNechaevsky deleted the htic_telebmap branch January 9, 2024 12:31
@JNechaevsky
Copy link
Collaborator Author

Thanks! I have something else to suggest. Nothing critical, just small technical things for rare cases. Take a try to load this map: htic_map15.zip. It is a replacement for E1M1 of very well-known map we was using for benchmarking a lot. There will be two notable problems:

  • If you are using not very powerful CPU, loading and re-loading map will take few seconds, while in Doom it takes just a couple of milliseconds. I have tracked down the reason: Heretic's (or is it comes from Doom 1.2?) P_GroupLines is extremely ineffective. Simple replacement with actual Doom implementation should fix it, and I believe it is safe for demos.
  • Try to walk around and shoot using Wand. Almost immediately crash will happen, this is because of BLOCKMAP issue. Can be easily fixed by adding your implementation of blockmap recreating.

Should I take care about these?

@fabiangreffrath
Copy link
Owner

I believe it is safe for demos.

We must be absolutely sure that it is safe for demos. But since DSDA-Doom also uses the same (optimized) P_GroupLines() for both Doom and Heretic I think we can be confident that it is.

Can be easily fixed by adding your implementation of blockmap recreating.

Well, that's Lee Killough's code, I just adopted it for Crispy. Sure, if we detect a corrupted BLOCKMAP, we should attempt to fix it.

@JNechaevsky
Copy link
Collaborator Author

Thank you for clarification. I was thinking about demos in a first place and did some tests for all five episodes using DSDA's demos for Heretic, everything was fine. This is also will be useful for loading/reloading of extreme maps like that map15, on original code it takes about 6-7 seconds on my quiet nettop's Intel 11th Gen N5095. On new one it's just 300-350 milliseconds. Absolutely astronomical difference.

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