NightFright Posted February 6 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... ^^ 3 Quote Share this post Link to post
NightFright Posted February 13 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. 0 Quote Share this post Link to post
plums Posted February 13 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) 0 Quote Share this post Link to post
NightFright Posted February 13 (edited) 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 February 13 by NightFright 0 Quote Share this post Link to post
plums Posted February 13 @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. 1 Quote Share this post Link to post
NightFright Posted February 13 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. 0 Quote Share this post Link to post
fabian Posted February 13 Might be a bug in SDL2_Mixer. Does it work as intended in Woof? We use openal-soft instead of SDL2_Mixer there. 1 Quote Share this post Link to post
NightFright Posted February 13 I'll be damned. Woof plays back the Xeotroid tracks flawlessly, at least that's what my E2M1 test reveals. 0 Quote Share this post Link to post
mikeday Posted February 13 You need LOOP_START and LOOP_END tags, or alternatively LOOP_START and LOOP_LENGTH. 0 Quote Share this post Link to post
rfomin Posted February 13 (edited) 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 February 14 by rfomin 0 Quote Share this post Link to post
plums Posted February 13 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. 0 Quote Share this post Link to post
NightFright Posted February 13 (edited) 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. Edited February 13 by NightFright 0 Quote Share this post Link to post
mikeday Posted February 13 (edited) 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> Edited February 13 by mikeday 0 Quote Share this post Link to post
NightFright Posted February 13 (edited) 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 February 13 by NightFright 0 Quote Share this post Link to post
mikeday Posted February 14 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. 0 Quote Share this post Link to post
NightFright Posted February 14 (edited) 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 February 14 by NightFright 0 Quote Share this post Link to post
CacoKnight Posted February 26 7.3 doesn't save "vid_diskicon" to the config .ini. 0 Quote Share this post Link to post
Julia Nechaevskaya Posted February 26 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 🙂. 3 Quote Share this post Link to post
NightFright Posted February 26 (edited) 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. Edited February 26 by NightFright 0 Quote Share this post Link to post
Meerschweinmann Posted February 26 (edited) 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 February 26 by Meerschweinmann 0 Quote Share this post Link to post
Zaratul Posted February 28 Woof finally has native resolution feature. Its possible for Inter Doom to adapt this? Playing Heretic with all QoL and 1080P would be cool. 0 Quote Share this post Link to post
Julia Nechaevskaya Posted February 28 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. 0 Quote Share this post Link to post
Meerschweinmann Posted February 28 (edited) 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 February 28 by Meerschweinmann 0 Quote Share this post Link to post
Julia Nechaevskaya Posted March 8 Finally! I mean, good day, a massive update has arrived. Doom gets small yet important updates, but today's special guests are Heretic and Hexen. Both has been reviewed, rewritten, reassembled and released as well, and just like it was done to Doom, this is a next major versions, not compatible with previous 6.x. Barely it is possible to compose a changelogs about what has happened, but a few remarks should be made: True color render. Semi-optional, as translucency is always dynamically calculated. My subjective recommendation is still same: to get the most out of true color, enable smooth diminished lighting and disable fake contrast (in Heretic). 1x-6x rendering resolutions. FluidSynth support. Requires a soundfont file to be provided to the "fsynth_sf_path" config file variable. I highly recommend you to check out Trevor0402's SC-55 soundfont, it fits all the games just perfectly. Default settings are identical to vanilla except 2x rendering resolution. Despite the many possible improvements, this is the right thing to do. Multiplayer and demo compatible with Chocolate and Crispy source ports. Few improvements for demo playback is also here, such as demo reloading, going to next level and warping. But no "demo join", that one was a bit complicated. No "fixes" to the game mechanics. A few exceptions have been made for enabled physical features, which will never be active in the demo/multiplayer game to prevent possible desyncs. Both games have cheat code shortcuts to each other and to Doom. Typing "ID" will prevent player movement for two seconds and allow it again once the cheat code has been entered, in the same way as in CRL. Download: International Doom, version 7.4: Windows (32-bit): inter-doom-7.4-win32.zip Windows (64-bit): inter-doom-7.4-win64.zip International Heretic, version 7.0: Windows (32-bit): inter-heretic-7.0-win32.zip Windows (64-bit): inter-heretic-7.0-win64.zip International Hexen, version 7.0: Windows (32-bit): inter-hexen-7.0-win32.zip Windows (64-bit): inter-hexen-7.0-win64.zip Changelog for Doom: Spoiler Video Improved True color code for better compatibility of drawing graphical patches when PLAYPAL and COLORMAP lumps have different color indexes. (thanks @fabian). Reduced memory consumption of screen border drawing when using bordered screen sizes (thanks @rfomin). Automap Automap can be zoomed in/out by using mouse wheel (thanks @NightFright). Marks properly cleared after finishing the level (thanks @NightFright). Zooming in/out by pressing + and - interpolated again in uncapped frame rate mode. New features Added mouse look option to Control settings (thanks @Meerschweinmann). Added dedicated bind for toggling vertical mouse movement (thanks @plums). Implemented "On Death Action" feature, available in Gameplay section of Gameplay Features menu. Other improvements Y-type actions can be by confirmed by left mouse button, N-type actions can be confirmed by right mouse button. Starting game in nightmare skill, end game and quit can be confirmed by Enter key. Added proper support for wide status bar graphics with 0 horizontal offset (thanks @NightFright). Added support dedicated music tracks for the 4th episode (thanks @Horizon). Fixed possible demo desync when floating powerups modified by Dehacked (thanks @Meerschweinmann). Empty save game slots now prefilled with map name on game saving (thanks @NightFright). Improved detection for chex.deh (thanks @NightFright). Background shading now covers all game menus, blinking no longer happening while active menu and uncapped game state (thanks @NightFright). Chosen player view no longer resets to first player in multiplayer demo playback. -warp command line parameter can be used without spaces in Doom 1, i.e. -warp 23 will warp to 2nd episode and 3rd level (thanks @fabian). Monsters forget player after use of notarget cheat. Vanilla menu strings now have highlighting/fading effect. Fixed vanilla bug of blinking Tower of Babel level on intermission screen when switching to "Entering" state. Libraries update Updated SDL to version 2.30.0. Updated SDL Mixer to version 2.8.0. This version fixes FLAC music looping critical issue. Kind thanks to @fabian, @rfomin, @mikeday, @ceski and @bradharding, without you, this project simply wouldn't exist! Special thanks to @rfomin for writing a resolution-independent «Demon buffer» in Heretic for scrolling Heresiarch screen (⬇️👹) and for always lending a helping hand, no matter how deep I dug into code problems. All in all, all three games took about three extensive months of dedication and code grinding, sometimes probably too maniacal, but that's how things get done. And I would like to say extra thanks to @plums, @Meerschweinmann and @NightFright for joining me on this journey and providing a colossal amount of valuable feedback, ideas, corrections and bits of code. What else? Happy International Women's Day, I guess. 🙂 16 Quote Share this post Link to post
Meerschweinmann Posted March 8 (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 March 8 by Meerschweinmann 4 Quote Share this post Link to post
plums Posted March 8 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. 1 Quote Share this post Link to post
Auron Posted March 8 Great release, thanks for the amazing port! I'm getting a virus (trojan) warning in the inter-heretic download. =/ 0 Quote Share this post Link to post
NightFright Posted March 8 Four words: Best vanilla port ever. Peace. 5 Quote Share this post Link to post
Meerschweinmann Posted March 8 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. 1 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.