-
Notifications
You must be signed in to change notification settings - Fork 13
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
[Hexen] Wrong music plays after finishing game early and letting demo play #363
Comments
Thank you! I have caught this before, but was absolutely sure it's a port bug, not a vanilla bug, and wasn't sure how to fix it. |
I have no idea how it works, but I have a guess of sorts.. I think vanilla Hexen initializes the level music twice, during the new game initialization, and then once the game has started. I imagine that's why Heretic and Hexen don't have the screen melt effect Doom does, or the bug would be really noticeable, since the wrong music would play during the screen wipe and stop once it's finished. Of course, I could be completely wrong. All I understand (I think) is that "Chess" plays because it's the last song defined in the SNDINFO lump and I think this piece of code in vanilla Hexen's p_setup.c has something to do with it: void InitMapMusicInfo(void)
{
int i;
for (i=0; i<99; i++)
{
strcpy(MapInfo[i].songLump, DEFAULT_SONG_LUMP);
}
MapCount = 98;
} I'm not sure what's going on, but vanilla Hexen definitely does something to reinitialize the track on level start. I started reading the Hexen source code just now lol. |
Should be fixed via JNechaevsky/international-doom@0acecef, @hfc2x please check on your side. I've also removed "chess" music calling while level loading. It's simply not relevant nowadays, most of vanilla levels loaded in about ~10 ms. on first load and in about ~3-4 ms. on re-load (save game or Have to run to day job! |
The "chess" track playing is fixed, but this added another bug: the title music doesn't play anymore when you end the game. It simply keeps playing the level music. |
That's odd, it's playing on my side. Is your scenario is still same, i.e.:
|
Correct. I do this:
I'm using FluidSynth for MIDI, by the way. I tried the most recent commit as well, but the same thing happens. |
International Doom version
International Hexen ba73803
What Operating System are you using?
Linux
What Build variant of International Doom are you using?
x64 (x86_64, win64, amd64)
Please describe your specific OS version
Manjaro Linux
Relevant hardware info
No response
Have you checked that no other similar issue already exists?
A clear and concise description of what the bug is.
Hello there.
I've just discovered a bug that I'm pretty sure exists in vanilla Hexen to some extent. If, when playing Hexen, you stop your game session early soon after starting, and you let the demo play, it will play the wrong song during the demo (the track "Chess"). Starting a new game before the first demo ends will also play the wrong song in Winnowing Hall as well.
This bug exists in vanilla DOS Hexen as well. However, trying to trigger it will cause "Chess" to play for 1 frame, after which the game corrects itself. Inter Hexen doesn't correct itself and instead keeps playing the wrong song.
Steps to reproduce the behaviour.
Explain how to reproduce
Your configuration
No response
Provide a Log
No response
The text was updated successfully, but these errors were encountered: