Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Julia Nechaevskaya

International Doom/Heretic/Hexen 8.0 (updated October 6, 2024)

Recommended Posts

Update:

The frequency of Github updates these days is nothing less than breathtaking. Now that I'm able to compile this, I wished there was a way to set up automated 8h intervalls for "git pull" commands. It's hard to keep up-to-date... ^^

Share this post


Link to post

Doublepost alert:
Has anyone tried to use music packs with this? I'm currently using Xeotroid's covers (excellent, btw), but at least in Doom (didn't test any other), music won't loop. I've checked the ogg files and they seem to have LOOP_START tags. It seems however these are ignored for some reason. Now I'm wondering whether this is a port issue or the files are somewhat flawed.

Share this post


Link to post
2 minutes ago, NightFright said:

Doublepost alert:
Has anyone tried to use music packs with this? I'm currently using Xeotroid's covers (excellent, btw), but at least in Doom (didn't test any other), music won't loop. I've checked the ogg files and they seem to have LOOP_START tags. It seems however these are ignored for some reason. Now I'm wondering whether this is a port issue or the files are somewhat flawed.

Can't test ATM, but

-Do they work in Crispy Doom?

-Do these ones work? https://web.archive.org/web/20230324093928/http://sc55.duke4.net/games.php#doom

(looks like the site is down so download is from archive.org, will be slow, sorry)

Share this post


Link to post

Quick check with Crispy Doom:
- Xeotroid covers have the same issue

- SC-55 music loops properly (only tested E2M1, though)

 

Also, Inter-Doom plays back SC-55 tracks properly. A quick inspection of those OGGs reveals they use a different loop method (LOOP_END), so that might be an indicator.

 

This leaves two options:

- Flawed Xeotroid looping points (dunno how to check this, though)

- Chocolate, Crispy and ID share a bug regarding this feature (not completely unlikely as they share the same sound code IIRC)

Edited by NightFright

Share this post


Link to post

@NightFright My guess is loop points that aren't done in a way that inter etc. recognizes; AFAIK there's no "standard" way of looping OGG files, just various metadata tags that may or may not be respected by whatever software is playing them.

 

I'll take a closer look in a bit.

Share this post


Link to post

Would be great. If I understand correctly, LOOP_START means you add a bit of the beginning of the track at the end and don't completely jump back to the very start. LOOP_END instead rather means that's where the track will stop playing and returns to the start.

Share this post


Link to post

Might be a bug in SDL2_Mixer. Does it work as intended in Woof? We use openal-soft instead of SDL2_Mixer there. 

Share this post


Link to post

I'll be damned. Woof plays back the Xeotroid tracks flawlessly, at least that's what my E2M1 test reveals.

Share this post


Link to post

You need LOOP_START and LOOP_END tags, or alternatively LOOP_START and LOOP_LENGTH. 

Share this post


Link to post
9 hours ago, fabian said:

Might be a bug in SDL2_Mixer. Does it work as intended in Woof? We use openal-soft instead of SDL2_Mixer there. 

 

I tested Doom1PK3.pk3 in Woof, it works, we use the looping code from Choco.

 

The Choco family of ports requires "music packs" to enable looping code, otherwise the SDL_Mixer looping code takes precedence.

 

Edited by rfomin

Share this post


Link to post

Yeah the Xeotroid versions only have a LOOP_START tag, no LOOP_END or LOOP_LENGTH. I guess some players treat the end of the file as where to loop if no other tags are present.

Share this post


Link to post

Well, I wouldn't dare to request switching ID's entire sound system just because of that. Certainly not a small undertaking.

 

Is there a tool available which allows you to add this kinda metadata without having to re-encode the entire file? In that case, I could just add the LOOP_END tags by myself (I assume for the Xeotroid tracks that would just be the very end of each file) and see if that fixes it.

 

Right now, LOOP_START is completely ignored and it plays each track entirely.

Share this post


Link to post
1 hour ago, NightFright said:

Well, I wouldn't dare to request switching ID's entire sound system just because of that. Certainly not a small undertaking.

 

Is there a tool available which allows you to add this kinda metadata without having to re-encode the entire file? In that case, I could just add the LOOP_END tags by myself (I assume for the Xeotroid tracks that would just be the very end of each file) and see if that fixes it.

 

Right now, LOOP_START is completely ignored and it plays each track entirely.

 

If you're comfortable with command-line tools, you could always use something like oggz. I can't test this at the moment but it should be something like:

 

oggz comment -c vorbis -o <new_ogg_file> <path_to_original_ogg_file> LOOP_END=<num_of_samples_in_file>

Share this post


Link to post

I think the trick is that LOOP_END must be 2 samples sooner than the actual end, right?


Then I would also need a quick way (w/o having to open each ogg in Audacity to check it out) to

- see if a file already has a LOOP_START metadata tag

- determine sample amount of a file

 

Edited by NightFright

Share this post


Link to post

For the automatic SDL_Mixer looping, LOOP_END should equal nsamples. (nsamples in this scenario is defined as sample_rate * track_duration. You don't need to multiply this number by 2 for stereo.)

 

I bet one could use a small Python script to automate calling oggz and updating the Vorbis comment with the LOOP_END tag. Might be good ChatGPT fodder. :)

 

When I get some time I'll submit a PR to SDL_Mixer to handle the case where only LOOP_START is provided. It seems pretty straightforward to implement.

Share this post


Link to post

Probably for the better. I mean, these tracks were made quite a few years ago and they obviously must have worked in ports (mainly GZDoom and Zandronum) back then. So it'd be a pity if they didn't do so now.

 

In the meantime I've already managed to adjust all relevant Xeotroid tracks. Took me roughly 1-1.5 hours in total. Luckily, some soundtracks have no or only little looping at all (Heretic, Hexen, Strife). 

 

*EDIT*
Something else:
I have the suspicion that the "Play Full Sounds" option in ID isn't working as intended. When turned on, the rocket launcher explosions still seem to be cut off. Maybe someone can confirm?

Edited by NightFright

Share this post


Link to post
3 hours ago, CacoKnight said:

7.3 doesn't save "vid_diskicon" to the config .ini.

 

Thank you, it is fixed already.

 

On 2/14/2024 at 9:09 AM, NightFright said:

I have the suspicion that the "Play Full Sounds" option in ID isn't working as intended.

 

It doesn't do anything with removed map objects, i.e. when rocket explosion is finished it's animation, it's sound is "removed" as well. This feature prevents firing sounds being breaked by "oof" sounds, but nothing more.

 

Meanwhile, both Heretic and Hexen are technically done and well polished. However, I would like to take another two weeks or so to do some final playtesting (not code grinding) to make sure nothing has been missed. In terms of features, both games becomes more conservative like Doom, both are demo and multiplayer compatible with Chocolate and Crispy Doom, resource independent, limit removing, have clean game mechanics without "fixes" and semi-optional true color support with 1x-6x resolutions. Nice menu items glowing/fading effects too 🙂.

Share this post


Link to post

Well, I can say that official Heretic/Hexen/HexenDK campaigns work fine. I've also played most of the relevant Heretic vanilla pwads and the only issue I found was the mace limit crash which was fixed. I'm diving into some Hexen pwads now, which might still take a bit.

Share this post


Link to post

I can confirm Inter-Heretic and Inter-Hexen original campaign as stable working too. Deathkings as far as i have played it till now was no problem.

Heretic pwads i had played made no problems.

And those games are looking so great in  software rendered 600p+, truecolor, brightmaps and swirling flats. It is really a fun to play and see.

Edited by Meerschweinmann

Share this post


Link to post

Woof finally has native resolution feature. Its possible for Inter Doom to adapt this? Playing Heretic with all QoL and 1080P would be cool.

Share this post


Link to post

Not really, I'm afraid, as such an approach would require serious changes to the render code, which I can barely understand. But the full range of 1x-6x is available in Heretic, where 5x is 1000p and 6x is 1200p.

Share this post


Link to post

On my 1080p 16:9 monitor i find 6x even looks a little bit better than native 1080p because of the, in this case, renderers real 2560x1200 resolution that is downscaled to the native 1920x1080 pixels.

Edited by Meerschweinmann

Share this post


Link to post
Posted (edited)

I already suspected it yesterday because i thought that International Women's Day means something to you :)

 

As you wrote on July 7, 2023 with the release of Inter-DOOM 7.0 that you would leave farther development of Inter-Heretic and Hexen, i was a bit disappointed that those two games from my youth-time will not get all those new features DOOM became.

 

But as you explained me in mid December 2023 how to compile the latest Inter-DOOM before release, because of its new triple resolution, i was happily surprised that there was an Inter-Heretic executable that worked like a charm even in its wip state.

 

And now those two missing games are back with all the features Inter-DOOM has.

And you put so much effort and love to these games that they rarely deserve.

 

You have built two more software rendered truecolor gems, that play and look like a loveletter to the Raven-games with all those details here and there.

 

Today is a very good day for those who like and love the Raven games in a faithful enhanced way.

 

But enough poetry now :)

 

What should i say, thank you for this wonderful time we all had the last months. It was really nice to follow the development, discuss and playtest your work and we will read from each other.

There is another ID-Tech1 game ;)

 

And happy international Women's day.

Edited by Meerschweinmann

Share this post


Link to post

Woohoo! These ports are a real treat for people who like the Raven games; Inter-heretic got me really interested in Heretic in general again, and I've been doing lots of "playtesting" since it was available in git. And of course International Doom is quite good too.

Share this post


Link to post

Great release, thanks for the amazing port! I'm getting a virus (trojan) warning in the inter-heretic download. =/

Share this post


Link to post
4 hours ago, Auron said:

I'm getting a virus (trojan) warning in the inter-heretic download. =/

 

It is certainly a false alarm. I've had this with a wide variety of source ports from time to time.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×